platform/core/uifw/dali-core.git
23 months ago[Tizen] Print backtrace when an exception occurs accepted/tizen/unified/20220505.024852 submit/tizen/20220503.090411
Taehyub Kim [Tue, 3 May 2022 08:09:27 +0000 (17:09 +0900)]
[Tizen] Print backtrace when an exception occurs

This reverts commit 4d9016824ba367c5a224e303494be5eecc00cf10.

23 months ago[Tizen] Not execute the remove callback
Taehyub Kim [Tue, 3 May 2022 08:09:13 +0000 (17:09 +0900)]
[Tizen] Not execute the remove callback

This reverts commit 924db8256c1a1971053ae921cbee11370a587196.

23 months agoMerge branch 'devel/master' into tizen
Taehyub Kim [Tue, 3 May 2022 08:08:54 +0000 (17:08 +0900)]
Merge branch 'devel/master' into tizen

Change-Id: Ibb68ab138f893b33dad8011c2d4bbd3f49d14162

23 months agoRevert "[Tizen] Not execute the remove callback"
Taehyub Kim [Tue, 3 May 2022 08:08:37 +0000 (17:08 +0900)]
Revert "[Tizen] Not execute the remove callback"

This reverts commit 300650e4973cd617dbf7e08e297e12bd7078a0e9.

23 months agoRevert "[Tizen] Print backtrace when an exception occurs"
Taehyub Kim [Tue, 3 May 2022 08:08:21 +0000 (17:08 +0900)]
Revert "[Tizen] Print backtrace when an exception occurs"

This reverts commit fc0f36cc2f9a308161d26120e8d2da38e2bb5f1f.

23 months agoMerge "DALi Version 2.1.20" into devel/master
Adeel Kazmi [Fri, 29 Apr 2022 12:23:01 +0000 (12:23 +0000)]
Merge "DALi Version 2.1.20" into devel/master

23 months agoMerge "Simplifying UniformMap updating" into devel/master
David Steele [Fri, 29 Apr 2022 11:13:33 +0000 (11:13 +0000)]
Merge "Simplifying UniformMap updating" into devel/master

23 months agoDALi Version 2.1.20 99/274499/1 dali_2.1.20
Adam Bialogonski [Fri, 29 Apr 2022 09:52:34 +0000 (10:52 +0100)]
DALi Version 2.1.20

Change-Id: I1c92a82a41be6d385c7ab307b24edc04b25b730e

23 months agoFix memory leak of visual renderer 12/274412/1
Eunki, Hong [Thu, 28 Apr 2022 01:54:47 +0000 (10:54 +0900)]
Fix memory leak of visual renderer

SceneGraph::Renderer didn't remove the memory of
ANimatableVisualProperties.

This patch make AnimatableVIsualProperties as OwnerPointer
so SceneGraph::Renderer will delete it's memory well.

Change-Id: I85f0c40af0fc594b86bd0b9f93f13c24e93b9f8e
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
23 months ago[Tizen] Print backtrace when an exception occurs accepted/tizen/unified/20220429.003421 submit/tizen/20220426.044425 submit/tizen/20220426.051358 submit/tizen/20220427.060039
Daekwang Ryu [Tue, 26 Apr 2022 01:44:22 +0000 (10:44 +0900)]
[Tizen] Print backtrace when an exception occurs

This reverts commit 14676776439633d75fb8912f343f411d6de5a61a.

Change-Id: I2f3aac87040ae117b2c3e8a7de2c3ae2726f35a4

23 months ago[Tizen] Not execute the remove callback
Daekwang Ryu [Tue, 26 Apr 2022 01:44:06 +0000 (10:44 +0900)]
[Tizen] Not execute the remove callback

This reverts commit bff3fdc6aae849fb4ed5b3e2b6eb52ae70912a58.

Change-Id: Iec715ee4d05d574442d7133c5bf6513b0cd3ad8d

23 months agoMerge branch 'devel/master' into tizen
Daekwang Ryu [Tue, 26 Apr 2022 01:43:53 +0000 (10:43 +0900)]
Merge branch 'devel/master' into tizen

Change-Id: I2c00f932b5279f2a71840c842da6d1bc73fcf5b2

23 months agoRevert "[Tizen] Not execute the remove callback"
Daekwang Ryu [Tue, 26 Apr 2022 01:43:29 +0000 (10:43 +0900)]
Revert "[Tizen] Not execute the remove callback"

This reverts commit b3fa6fd4b2e1cd1ef58b2f0cd966d4a29fe31f01.

23 months agoRevert "[Tizen] Relayout only if the actor is on Scene"
Daekwang Ryu [Tue, 26 Apr 2022 01:42:57 +0000 (10:42 +0900)]
Revert "[Tizen] Relayout only if the actor is on Scene"

This reverts commit 5a557529859e267b142cecc05b6b02f0f8d649c2.

23 months agoRevert "[Tizen] Print backtrace when an exception occurs"
Daekwang Ryu [Tue, 26 Apr 2022 01:42:55 +0000 (10:42 +0900)]
Revert "[Tizen] Print backtrace when an exception occurs"

This reverts commit 148c1248ededd97dc0cdf49d75d59e7ed83db267.

23 months agoSimplifying UniformMap updating 86/261286/14
David Steele [Mon, 12 Jul 2021 18:18:25 +0000 (19:18 +0100)]
Simplifying UniformMap updating

Removed scene-graph ConnectionChangePropagator - now only need to know
if shader is attached to renderer, and that is already done through a
different mechanism.

Changed CollectedUniformMap into it's own struct. Now has a change
counter that increments any time the map is altered.

Instead of having lots of flags indicating if uniform maps have
changed, UniformMap now updates it's change counter whenever a
property is registered with the PropertyOwner (e.g. Node, Renderer or
Shader).

During Update, SceneGraph::Renderer collects the uniform maps into one
only if the renderer is added to a RenderList, i.e. if it's going to
be rendered. At this point, the change counter is updated.
Nothing is done if the renderer is not visible.

During Render, the Render::Renderer checks if the node uniform map
change counter or the renderer data provider's uniform map change
counter are different, if so, then it knows it needs to update the
uniform locations for newly registered properties.

Change-Id: I0ff861a7e97736dae059d94f54618195d0471343

23 months agoCalculate hash by Dali::Vector<std::uint8_t> 21/274221/1
Eunki, Hong [Mon, 25 Apr 2022 03:36:10 +0000 (12:36 +0900)]
Calculate hash by Dali::Vector<std::uint8_t>

Change-Id: Ic5b640856c8e1f5710d3c0eb961612428e893990
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
23 months ago[Tizen] Print backtrace when an exception occurs 17/274217/1
Heeyong Song [Wed, 8 Dec 2021 07:33:01 +0000 (16:33 +0900)]
[Tizen] Print backtrace when an exception occurs

Change-Id: I7857019045fbc7e837b3978bdf36d59c771f6f90

23 months agoMerge "DALi Version 2.1.19" into devel/master
David Steele [Fri, 22 Apr 2022 13:10:21 +0000 (13:10 +0000)]
Merge "DALi Version 2.1.19" into devel/master

23 months agoDALi Version 2.1.19 84/274184/1 dali_2.1.19
Adeel Kazmi [Fri, 22 Apr 2022 12:54:08 +0000 (13:54 +0100)]
DALi Version 2.1.19

Change-Id: I9be4ce8eef03b28d4e208cd648e1210446967801

23 months agoMerge "Relayout only if the actor is on Scene" into devel/master
Heeyong Song [Fri, 22 Apr 2022 00:30:20 +0000 (00:30 +0000)]
Merge "Relayout only if the actor is on Scene" into devel/master

23 months ago[Tizen] Relayout only if the actor is on Scene accepted/tizen/unified/20220422.021256 submit/tizen/20220421.104403
Jaehyun Cho [Thu, 21 Apr 2022 09:16:33 +0000 (18:16 +0900)]
[Tizen] Relayout only if the actor is on Scene

This reverts commit 38e24a9add7c7ccc1082946534ec1f6c2ad8a31d.

23 months agoMerge branch 'devel/master' into tizen
Jaehyun Cho [Thu, 21 Apr 2022 09:16:07 +0000 (18:16 +0900)]
Merge branch 'devel/master' into tizen

Change-Id: I370df81194fe62eb3b41d5ba4bb32c2cb98f7010

23 months agoRevert "[Tizen] Relayout only if the actor is on Scene"
Jaehyun Cho [Thu, 21 Apr 2022 09:15:45 +0000 (18:15 +0900)]
Revert "[Tizen] Relayout only if the actor is on Scene"

This reverts commit 63cb396de8cce7f12def4c9d1259f23d70d37b22.

23 months ago[Tizen] Relayout only if the actor is on Scene 90/274090/1
Heeyong Song [Tue, 19 Apr 2022 05:17:54 +0000 (14:17 +0900)]
[Tizen] Relayout only if the actor is on Scene

We're already checking whether the actor is on scene in RelayoutController::Relayout() before it is added to the mRelayoutStack.
But there is a case that the actor is removed from the scene in the previous OnRelayout.
So check whether the actor is on scene again.

Change-Id: Ia2b64e7f39f24d67b65b9689c720a7ef359d54fd

23 months agoLock uniform buffer only 1 times per each render + minor fixup of uniforms 81/272981/20
Eunki, Hong [Tue, 29 Mar 2022 06:09:08 +0000 (15:09 +0900)]
Lock uniform buffer only 1 times per each render + minor fixup of uniforms

1. Don't lock-unlock Graphics::Memory for each properties.
This patch lock stand-alone uniform buffer map and unlock only few times during rendering.
(We called this API as ReadyToLockUniformBuffer and UnlockUniformBuffer)

It will reduce Renderer::Render time near 6%

2. Don't convert from std::string_vew to std::string
when we get uniform map info from shader

3. Make BufferPropertiesFlags as input of UniformBuffer Constructor

Change-Id: I50055a24c1aad59e2a29b8c50485254b71ea5b73
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
23 months agoMerge "Fix to do not update state of render task in case of uploadOnly" into devel...
Seungho BAEK [Thu, 21 Apr 2022 05:13:54 +0000 (05:13 +0000)]
Merge "Fix to do not update state of render task in case of uploadOnly" into devel/master

23 months agoFix to do not update state of render task in case of uploadOnly 30/273930/3
seungho [Mon, 18 Apr 2022 07:06:21 +0000 (16:06 +0900)]
Fix to do not update state of render task in case of uploadOnly

 - And removed unused uploadOnly parameter in the render-manager

Change-Id: I18e1e403cedf58d6e7c5c510bda123ef8b4fe149
Signed-off-by: seungho <sbsh.baek@samsung.com>
23 months agoMerge branch 'devel/master' into tizen submit/tizen/20220420.085640
Jaehyun Cho [Wed, 20 Apr 2022 07:10:04 +0000 (16:10 +0900)]
Merge branch 'devel/master' into tizen

Change-Id: I494c84dbdfbcb8790776d33e3d1a7c6246b6dc83

23 months agoRevert "[Tizen] Revert "If CapturesAllTouchAfterStart() is true, it should be hit...
Jaehyun Cho [Wed, 20 Apr 2022 07:09:40 +0000 (16:09 +0900)]
Revert "[Tizen] Revert "If CapturesAllTouchAfterStart() is true, it should be hit only after touchdown.""

This reverts commit 6b643f87928bd5afececac7901b39ca05d62ed4b.

23 months agoRelayout only if the actor is on Scene 66/273966/1
Heeyong Song [Tue, 19 Apr 2022 05:17:54 +0000 (14:17 +0900)]
Relayout only if the actor is on Scene

We're already checking whether the actor is on scene in RelayoutController::Relayout() before it is added to the mRelayoutStack.
But there is a case that the actor is removed from the scene in the previous OnRelayout.
So check whether the actor is on scene again.

Change-Id: Ia2b64e7f39f24d67b65b9689c720a7ef359d54fd

23 months agoMerge "Add CHROMINANCE pixel format" into devel/master
Heeyong Song [Tue, 19 Apr 2022 03:15:59 +0000 (03:15 +0000)]
Merge "Add CHROMINANCE pixel format" into devel/master

2 years agoDALi Version 2.1.18 40/273840/1 dali_2.1.18
Richard Huang [Thu, 14 Apr 2022 10:34:49 +0000 (11:34 +0100)]
DALi Version 2.1.18

Change-Id: I044099ba626788b31036834921d153a2fa0fa6eb

2 years agoAdd CHROMINANCE pixel format 35/273835/1
Heeyong Song [Thu, 14 Apr 2022 09:24:14 +0000 (18:24 +0900)]
Add CHROMINANCE pixel format

Change-Id: I6c66da9db49874c7273e2580964423dc23c36e90

2 years agoMerge "Changed handling of uniforms of arrays of structs" into devel/master
David Steele [Mon, 11 Apr 2022 14:20:06 +0000 (14:20 +0000)]
Merge "Changed handling of uniforms of arrays of structs" into devel/master

2 years agoChanged handling of uniforms of arrays of structs 18/273618/1
David Steele [Fri, 8 Apr 2022 16:02:56 +0000 (17:02 +0100)]
Changed handling of uniforms of arrays of structs

A) For uniforms of the form "basename[index].element", the array index handling
didn't work.

In GL (on Ubuntu) the shader reflection for such uniforms provides
individual locations for each element of the array/struct;

B) For uniforms of the form "basename[index]", where basename is a basic
type (float/vecN, etc), the GL shader reflection produces only 1 location
for the basename, and provides the element count.

Mapping properties to such uniforms is done by having a Property per
element. For the first case, no index/array handling is needed.
For the second case, each property needs to match to the basename without
the array subscript, and also store it's array index.

Modified property setup to remove array index for properties of the first type.

Modified uniform lookup to handle the different hashes appropriately.

Modified test graphics to ensure the uniform reflection can be set up in the
same way as GL provides.

Change-Id: I4be92f3e6933ff1b9b4a7d48e97f5629930c0b4c
Signed-off-by: David Steele <david.steele@samsung.com>
2 years agoMerge "Added New() function creating Renderer with RenderCallback" into devel/master
Adeel Kazmi [Fri, 8 Apr 2022 14:00:42 +0000 (14:00 +0000)]
Merge "Added New() function creating Renderer with RenderCallback" into devel/master

2 years agoDALi Version 2.1.17 02/273602/1 dali_2.1.17
David Steele [Fri, 8 Apr 2022 11:54:36 +0000 (12:54 +0100)]
DALi Version 2.1.17

Change-Id: I30ecdbddcd58603a6b1a4c2adf13b7311cbd3b0f

2 years agoAdded New() function creating Renderer with RenderCallback 89/272689/5
Adam Bialogonski [Tue, 22 Mar 2022 15:05:49 +0000 (15:05 +0000)]
Added New() function creating Renderer with RenderCallback

Change-Id: I6f82838ed654342723cf043e43e8d7caba4125f7

2 years agoMerge "Level up Dali::Internal::FreeList as Dali::FreeList" into devel/master
Eunki Hong [Tue, 5 Apr 2022 16:34:13 +0000 (16:34 +0000)]
Merge "Level up Dali::Internal::FreeList as Dali::FreeList" into devel/master

2 years agoMerge "Use update object size in CalculateActorScreenPosition" into devel/master
Heeyong Song [Tue, 5 Apr 2022 11:19:43 +0000 (11:19 +0000)]
Merge "Use update object size in CalculateActorScreenPosition" into devel/master

2 years agoMerge "Hit-test can hit more than 32 depth clipping actor." into devel/master
Adeel Kazmi [Tue, 5 Apr 2022 06:58:07 +0000 (06:58 +0000)]
Merge "Hit-test can hit more than 32 depth clipping actor." into devel/master

2 years agoLevel up Dali::Internal::FreeList as Dali::FreeList 82/271082/14
Eunki, Hong [Tue, 15 Feb 2022 06:48:17 +0000 (15:48 +0900)]
Level up Dali::Internal::FreeList as Dali::FreeList

Open devel Dali::Internal::FreeList as Dali::FreeList
so we can use this container in another packages i.e. dali-toolkit's texture-manager

Change-Id: I719e960ce1ecf8b61a980e49cba976fe1ab57200
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoMerge "Fixing culling for magnifier use case" into devel/master
Adeel Kazmi [Mon, 4 Apr 2022 17:31:36 +0000 (17:31 +0000)]
Merge "Fixing culling for magnifier use case" into devel/master

2 years agoFixing culling for magnifier use case 68/272368/6
David Steele [Mon, 14 Mar 2022 17:17:52 +0000 (17:17 +0000)]
Fixing culling for magnifier use case

Should use the camera's canvas size, not the viewport.

Added canvas size to left/right/top/bottom clipping distance
in camera for perspective projection

Fixed bug that would always force using perspective projection
Fixed bug with modifying scene object directly in event thread.

Top and Bottom clipping plane values for perspective have been
made consistent with values for Ortho projection; however, this
currently forces top to be +ve and bottom to be -ve when set
using just size. Test cases are inconsistent in this regard; when
set via l/r/t/b/n/f API, top and bottom are -ve and +ve respectively.
  Have used fabsf when re-calculating bounding box dimensions to
allow for this inconsistency.

Change-Id: I95e80e4c09f17a3240cccf16df23f09e8d9ad9cf

2 years agoUse update object size in CalculateActorScreenPosition 27/273327/1
Heeyong Song [Thu, 24 Mar 2022 06:56:08 +0000 (15:56 +0900)]
Use update object size in CalculateActorScreenPosition

Change-Id: I475166706a0eb4defd1761ce56d185da7fe753a1

2 years agoHit-test can hit more than 32 depth clipping actor. 76/272976/4
Eunki, Hong [Tue, 29 Mar 2022 02:54:24 +0000 (11:54 +0900)]
Hit-test can hit more than 32 depth clipping actor.

When clipping mode is CLIP_TO_BOUNDING_BOX, the limitation of
clipping depth doesn't exist. We can clipping near 2^15-depth.
But current clipping algorithm only allow 31-depth of clipping.

This patch make that we don't use depthmask in hit-test algorithm
When clipping mode is enabled, and current actor hit test failed,
just skip all children's hit test.

Note : CLIP_CHILDREN is kind of rendering method, So when clipping mode is
CLIP_CHILDREN, we can't detect how it "really" clipped.
This is physically limitation, so just ignore it.

Change-Id: I83524d6f96ccbb59d7b2802f1630c7e338b251a0
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoDALi Version 2.1.16 68/273268/1 dali_2.1.16
Adam Bialogonski [Fri, 1 Apr 2022 11:51:18 +0000 (12:51 +0100)]
DALi Version 2.1.16

Change-Id: If043023658a6a6f59d220166a67cd5363d866faf

2 years ago[Tizen] Revert "If CapturesAllTouchAfterStart() is true, it should be hit only after... 83/273083/1 accepted/tizen/unified/20220331.153112 submit/tizen/20220331.001247
joogab.yun [Wed, 30 Mar 2022 09:28:12 +0000 (18:28 +0900)]
[Tizen] Revert "If CapturesAllTouchAfterStart() is true, it should be hit only after touchdown."

This reverts commit 3b0fba86dfcad3ae5841679e1c1790db563d7301.

Change-Id: I91350d5f72b826bc7b6fad4920b89079e4fc7d53

2 years agoRevert "If CapturesAllTouchAfterStart() is true, it should be hit only after touchdown." 77/273077/1
joogab.yun [Wed, 30 Mar 2022 09:28:12 +0000 (18:28 +0900)]
Revert "If CapturesAllTouchAfterStart() is true, it should be hit only after touchdown."

This reverts commit 3b0fba86dfcad3ae5841679e1c1790db563d7301.

Change-Id: I91350d5f72b826bc7b6fad4920b89079e4fc7d53

2 years agoMerge branch 'devel/master' into tizen accepted/tizen/unified/20220330.003544 submit/tizen/20220329.054434
Shinwoo Kim [Tue, 29 Mar 2022 01:25:37 +0000 (10:25 +0900)]
Merge branch 'devel/master' into tizen

2 years agoFix hit-test bug when overlay2D child is not overlayed 58/272958/1
Eunki, Hong [Mon, 28 Mar 2022 10:44:34 +0000 (19:44 +0900)]
Fix hit-test bug when overlay2D child is not overlayed

Let's image some case like below scene tree.
root --- A (overlay2D)  --- A1 (normal)
      |- B (normal)

When A1 and B is overlaped, B will be drawn under the A1. (Because A is overlay)
But, in hit-test-algorithm, overlay2D information doesn't propagated.

This patch make hit-test can propagate overlay2D property,
so the hit test result return reasonable as what we can see.

Change-Id: I123d3bbc2c6ba27df3f10829ebaf16b80eb0f987
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoMerge "TTrace enable always in tizen" into devel/master
Eunki Hong [Mon, 28 Mar 2022 10:35:16 +0000 (10:35 +0000)]
Merge "TTrace enable always in tizen" into devel/master

2 years agoMerge "If CapturesAllTouchAfterStart() is true, it should be hit only after touchdown...
joogab yun [Mon, 28 Mar 2022 05:45:12 +0000 (05:45 +0000)]
Merge "If CapturesAllTouchAfterStart() is true, it should be hit only after touchdown. So, If the touch moves after another actor has been touched so that the current actor is hit, it should behave as if it didn't hit." into devel/master

2 years agoTTrace enable always in tizen 45/272745/4
Eunki, Hong [Wed, 23 Mar 2022 13:32:49 +0000 (22:32 +0900)]
TTrace enable always in tizen

Make ttrace enable always in tizen. Other platform keep current policy

Change-Id: I500fe9b95f7d8bf079f89975bf2346f1f7472ae8
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoDALi Version 2.1.15 47/272847/1 dali_2.1.15
Adeel Kazmi [Fri, 25 Mar 2022 10:56:48 +0000 (10:56 +0000)]
DALi Version 2.1.15

Change-Id: I98023d937a38affaa836fed830c12aeeddda9b59

2 years agoIf CapturesAllTouchAfterStart() is true, it should be hit only after touchdown. 03/272403/3
joogab.yun [Wed, 16 Mar 2022 02:19:22 +0000 (11:19 +0900)]
If CapturesAllTouchAfterStart() is true, it should be hit only after touchdown.
So, If the touch moves after another actor has been touched so that the current actor is hit, it should behave as if it didn't hit.

Change-Id: I609607ea19a5cf5f6b07b5065132f491122f7a6b

2 years agoMerge "Remove element of Property::Map by the specified key." into devel/master
Adeel Kazmi [Tue, 22 Mar 2022 15:17:47 +0000 (15:17 +0000)]
Merge "Remove element of Property::Map by the specified key." into devel/master

2 years agoRemove element of Property::Map by the specified key. 28/272428/4
huayong.xu [Thu, 17 Mar 2022 06:05:21 +0000 (14:05 +0800)]
Remove element of Property::Map by the specified key.

Change-Id: Ife048e33a54edb6b6cebfe79b464707c0a361a45

2 years agoMerge branch 'devel/master' into tizen accepted/tizen/unified/20220323.062857 submit/tizen/20220322.091532
Bowon Ryu [Tue, 22 Mar 2022 05:52:32 +0000 (14:52 +0900)]
Merge branch 'devel/master' into tizen

2 years agoDirectRendering: 76/270676/20
Adam Bialogonski [Mon, 14 Mar 2022 16:46:44 +0000 (16:46 +0000)]
DirectRendering:

- Added RenderCallback for native rendering
- Added new Graphics API command - DrawNative()
- Added DrawableActor

Change-Id: If286d6eddf0836c63227c870eb13e8bab252fda7

2 years agoDALi Version 2.1.14 41/272541/1 dali_2.1.14
Richard Huang [Fri, 18 Mar 2022 11:23:08 +0000 (11:23 +0000)]
DALi Version 2.1.14

Change-Id: Ifc21ce4863a0b29e278f50410facba6158caa4a4

2 years agoMerge "Add UserInteractionEnabled property on actor for controlling user interaction...
SangHyeon Lee [Thu, 17 Mar 2022 10:46:02 +0000 (10:46 +0000)]
Merge "Add UserInteractionEnabled property on actor for controlling user interaction." into devel/master

2 years agoMerge branch 'devel/master' into tizen accepted/tizen/unified/20220316.182728 submit/tizen/20220315.080726 submit/tizen/20220316.001540 submit/tizen/20220316.051915
dongsug.song [Tue, 15 Mar 2022 11:24:54 +0000 (20:24 +0900)]
Merge branch 'devel/master' into tizen

Change-Id: I99f7799ba6b938a1ffb294f8793e9048b2157a56

2 years agoAdd a Hit-Test result events. 75/270975/20
joogab.yun [Sat, 12 Feb 2022 06:25:35 +0000 (15:25 +0900)]
Add a Hit-Test result events.

In the case of TouchEvent or Gesture, there is no way to propagate the event to the view below that is not related.

So, before sending an touch event, send an hitTestResult event to the view in the hit-test process to ask whether it will be hit or not.
If it returns false, it means that it will not be hit, and the hit-test continues to the next view.

Change-Id: I5b8681f569f5c3b89acc3fb23c1eada3d49b1c7b

2 years agoDALi Version 2.1.13 45/272245/1 dali_2.1.13
David Steele [Fri, 11 Mar 2022 15:21:46 +0000 (15:21 +0000)]
DALi Version 2.1.13

Change-Id: I69b796cffa8be10d5e5fa21226d19e1f7535f436

2 years agoRemoved old context test cases 57/272057/3
David Steele [Mon, 7 Mar 2022 11:32:39 +0000 (11:32 +0000)]
Removed old context test cases

Synced with toolkit tests

Change-Id: I67f21c445cb9b17972e8994bee558d0bd0836e58

2 years agoMerge branch 'devel/master' into tizen accepted/tizen/unified/20220311.112104 submit/tizen/20220311.015202
dongsug.song [Fri, 11 Mar 2022 00:26:53 +0000 (09:26 +0900)]
Merge branch 'devel/master' into tizen

Change-Id: I8acdcd16aaf3caa04bd9aff85e883bd694620ccd

2 years agoAdded VisualRenderer (for visual default properties) 83/271183/6
David Steele [Tue, 15 Feb 2022 10:01:35 +0000 (10:01 +0000)]
Added VisualRenderer (for visual default properties)

Rather than have registered properties for each visual,
embedded them in a specific type of VisualRenderer.

Added UniformMappings to ensure that they can be used as
uniforms. (Properties don't have to have the same name
as the uniform, but it's probably advisable. However, we
have some very specific hardcoded mapping for actor "size"
-> uniform "uSize" in render-renderer...), so it's less
confusing having property "transformSize"->uniform "size".

Changed types to ensure they match the actual uniform types
in the shaders.

Reduces creation time for each visual, as much more is done
at compilation time.

Change-Id: I386504fabf82f8e57f1138e3814897604b094061
Signed-off-by: David Steele <david.steele@samsung.com>
2 years agoMerge branch 'devel/master' into tizen submit/tizen/20220310.080704
jykeon [Tue, 8 Mar 2022 05:59:09 +0000 (14:59 +0900)]
Merge branch 'devel/master' into tizen

Change-Id: Ib9190ec8d1aba1afd3db69201bff7bb0efedbac6

2 years agoRevert "[Tizen] Make Dali::InstrusivePtr able to compare with nullptr"
jykeon [Tue, 8 Mar 2022 05:58:43 +0000 (14:58 +0900)]
Revert "[Tizen] Make Dali::InstrusivePtr able to compare with nullptr"

This reverts commit 7f65f68f7fc73f55c6e88809a344a930e8574bcf.

2 years agoAdd UserInteractionEnabled property on actor for controlling user interaction. 15/271115/11
EverLEEst(SangHyeon Lee) [Tue, 15 Feb 2022 11:33:43 +0000 (20:33 +0900)]
Add UserInteractionEnabled property on actor for controlling user interaction.

actor can be disabled touch event by setting SetSensitive(false),
and also can be disabled keyboard event by setting
SetKeyboardFocusable(false),
and touch focus on SetTouchFocusable(false).

but we do not provide universal user interaction controls to disable
actor events and behavior, so this property is neceesary.

regardless of value on Sensitive or Focusable,
UserInteractionEnable has high priority over the negative action.

Change-Id: Ia339cc4c94e2fa36f80cb8672aa16d7a664c858c

2 years agoMake Dali::InstrusivePtr able to compare with nullptr 07/271907/4
Eunki, Hong [Thu, 3 Mar 2022 05:39:28 +0000 (14:39 +0900)]
Make Dali::InstrusivePtr able to compare with nullptr

After explicit operation bool() patch, Dali::InstrusivePtr == nullptr make compile error.
This patch fix that situation, so keep codes legacy

Change-Id: I6fbdee55203a1a0e9b5d3a90125497957dddeced
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoDALi Version 2.1.12 85/271985/1 dali_2.1.12
Adeel Kazmi [Fri, 4 Mar 2022 10:00:36 +0000 (10:00 +0000)]
DALi Version 2.1.12

Change-Id: I37214142c68799c7c0f2ecea4a7ef26694c6273a

2 years ago[Tizen] Make Dali::InstrusivePtr able to compare with nullptr 23/271923/1
Eunki, Hong [Thu, 3 Mar 2022 05:39:28 +0000 (14:39 +0900)]
[Tizen] Make Dali::InstrusivePtr able to compare with nullptr

After explicit operation bool() patch, Dali::InstrusivePtr == nullptr make compile error.
This patch fix that situation, so keep codes legacy

Change-Id: I6fbdee55203a1a0e9b5d3a90125497957dddeced
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years ago[Tizen] Not execute the remove callback accepted/tizen/unified/20220307.232851 submit/tizen/20220304.074108
Hosang Kim [Thu, 3 Mar 2022 05:37:49 +0000 (14:37 +0900)]
[Tizen] Not execute the remove callback

This reverts commit 3c690e990412acf2174e85467bf8f60b89ed649a.

2 years agoMerge branch 'devel/master' into tizen
Hosang Kim [Thu, 3 Mar 2022 05:37:37 +0000 (14:37 +0900)]
Merge branch 'devel/master' into tizen

2 years agoRevert "[Tizen] Not execute the remove callback"
Hosang Kim [Thu, 3 Mar 2022 05:37:33 +0000 (14:37 +0900)]
Revert "[Tizen] Not execute the remove callback"

This reverts commit a2e9ce7ec4971860c6e41853873eae7455bd999a.

2 years agoDALi Version 2.1.11 29/271729/1 dali_2.1.11
Adam Bialogonski [Fri, 25 Feb 2022 11:46:54 +0000 (11:46 +0000)]
DALi Version 2.1.11

Change-Id: I949fdf526b1c5bd2c16d18751e2014389ca664a1

2 years agoMerge "Implement some more speed-up : Reserve TextureBindings + don't copy geometry...
David Steele [Wed, 23 Feb 2022 17:13:12 +0000 (17:13 +0000)]
Merge "Implement some more speed-up : Reserve TextureBindings + don't copy geometry" into devel/master

2 years agoMerge "Dali::CalculateHash support to hashing raw-buffer" into devel/master
David Steele [Wed, 23 Feb 2022 17:00:35 +0000 (17:00 +0000)]
Merge "Dali::CalculateHash support to hashing raw-buffer" into devel/master

2 years agoAdd Internal::IndexedMap 84/270484/36
Eunki, Hong [Thu, 3 Feb 2022 07:20:06 +0000 (16:20 +0900)]
Add Internal::IndexedMap

Make IndexedMap that key can be std::uint32_t and Internal::ConstString
IndexedMap can only do Register + Get.
We can check unique registration by this API.

IndexedMap use iterator as std::vector<std::pair<KeyType, ElementType>>::iterator.

Get API return iterator that key contained.
If found failed, return End() iterator.

Internally, we make it sorted key-index-element container.
It can search key by binary search. and less element copy action.
(ConstString can be convert const char* == size_t which can comparable)

Time complexity is O(|Element count|) for Register and
O(log|Element count|) for Get

Change some std::vector container as IndexedConstStringMap and IndexedIntegerMap
at type-info and type-register.

type-info is very important area of DALi engine.
So I append some define blocks when we meet some strange problems in future.
It will be remove when this patch is safe enough.

Change-Id: I7ad2e1a4776a4acedb4632053419b4fdcfa043bb
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoDali::CalculateHash support to hashing raw-buffer 44/271344/5
Eunki, Hong [Fri, 18 Feb 2022 05:57:35 +0000 (14:57 +0900)]
Dali::CalculateHash support to hashing raw-buffer

Current Dali::CalculateHash input std::string, but internally
convert as const char * string.
In this case, hashing calculation didn'w works well
when std::string contain \0 character middle of string.

This patch make one more API s.t. allow std::vector<std::uint8_t>
as input so we can specific the length of data what we want to hash.

It will be used in dali-toolkit texture-cache-manager in soon.

Change-Id: I5ceaeb0cbf1140729d1f0f68930c8cbcd8a18594
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoImplement some more speed-up : Reserve TextureBindings + don't copy geometry 33/271533/3
Eunki, Hong [Tue, 22 Feb 2022 12:39:36 +0000 (21:39 +0900)]
Implement some more speed-up : Reserve TextureBindings + don't copy geometry

Make some GraphicsCommand API's input as const vector<>&

These will not copy the internal values. and also we can assume that
inputed data didn't change in that API

+

We reserve textureBinding's capacity as the Count of textures.
Most of texture have graphics object, and it will fitin that
reserved memory area.
This patch reduce unuseful re-allocation internal std::vector.

Change-Id: Ic9eee1ae2fe171431cf20a58c47af344edc977ef
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoIgnore insert/erase function during PreRender's itemsDirtyRects 12/271512/2
Eunki, Hong [Tue, 22 Feb 2022 08:19:22 +0000 (17:19 +0900)]
Ignore insert/erase function during PreRender's itemsDirtyRects

Previous code just insert and erase when the renderer hold dirtyRect
more than 3.
Each insert & erase operation in std::vector cost O(N). and it is expensive.

This patch reduce the insert & erase operation when renderer hold dirtyRect
more than 3. We can do tge same job by just moving data linearly.

(This patch is follow up 250728)

Change-Id: I230f32f07c72c3a4f15c6bb7f6a42bd61ce87d1d
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoAvoid temporary vector creation during Relayout 09/271509/1
Eunki, Hong [Tue, 22 Feb 2022 07:56:56 +0000 (16:56 +0900)]
Avoid temporary vector creation during Relayout

We use temp std::vector stack during NegotiateDimensions.
This patch make we use always same global static value as stack.
So we can avoid create / destroy it every frame.

(This patch is follow up 248736)

Change-Id: I1fa059693d0559b00afbad32dd646e103aba53f7
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years ago[Tizen] Not execute the remove callback accepted/tizen/unified/20220223.132707 submit/tizen/20220222.071330
joogab.yun [Tue, 22 Feb 2022 05:17:41 +0000 (14:17 +0900)]
[Tizen] Not execute the remove callback

This reverts commit 8e457cd26e7fdd41c8a6a9483226755c3e49b503.

Change-Id: Ib0c764153076ea3918db6ff60f2c41dcc60b376e

2 years agoMerge branch 'devel/master' into tizen
joogab.yun [Tue, 22 Feb 2022 05:17:31 +0000 (14:17 +0900)]
Merge branch 'devel/master' into tizen

Change-Id: Icbe53d117677a4c2d4e47939bb3fb9362b2e589e

2 years agoRevert "[Tizen] Not execute the remove callback"
joogab.yun [Tue, 22 Feb 2022 05:17:17 +0000 (14:17 +0900)]
Revert "[Tizen] Not execute the remove callback"

This reverts commit 8a70172996a59e3d50af5bcc62d818b98598e300.

2 years agoMerge "DALi Version 2.1.10" into devel/master
Adeel Kazmi [Fri, 18 Feb 2022 11:13:24 +0000 (11:13 +0000)]
Merge "DALi Version 2.1.10" into devel/master

2 years agoDALi Version 2.1.10 66/271366/1 dali_2.1.10
Richard Huang [Fri, 18 Feb 2022 11:01:05 +0000 (11:01 +0000)]
DALi Version 2.1.10

Change-Id: I255826e810ab53dc5f41a77c1e2416bfbaf4a517

2 years agoMerge "(Partial Update) Set the updated flag when the Renderer is added/removed"...
Heeyong Song [Fri, 18 Feb 2022 01:56:11 +0000 (01:56 +0000)]
Merge "(Partial Update) Set the updated flag when the Renderer is added/removed" into devel/master

2 years agoAdd EmitWheelEventGeneratedSignal for custom wheel event 62/270162/12
joogab.yun [Thu, 27 Jan 2022 01:11:37 +0000 (10:11 +0900)]
Add EmitWheelEventGeneratedSignal for custom wheel event

For custom wheel events,
we first send the event to the focus manager by WheelEventGeneratedSignal.

Previously, RotaryEvents(CustomWheel type) could always be received only by window.
Now, User can receive Rotary Events in focused View as well.
It is also possible to propagate events to the parent view.

If there is no focused View, the window will receive the event.

This only applies to Rotary Event(CustomWheel type).

Change-Id: I13e2c9b725ee5a65c7408df2f4293c7b61c56035

2 years ago(Partial Update) Set the updated flag when the Renderer is added/removed 72/271172/1
Heeyong Song [Tue, 15 Feb 2022 10:23:23 +0000 (19:23 +0900)]
(Partial Update) Set the updated flag when the Renderer is added/removed

Change-Id: I586777f0bda8dde74ee04d461b54e7165e74b35c

2 years ago[Tizen] Not execute the remove callback accepted/tizen/unified/20220217.153353 submit/tizen/20220216.084409
Woochanlee [Wed, 16 Feb 2022 06:22:13 +0000 (15:22 +0900)]
[Tizen] Not execute the remove callback

This reverts commit 63a02032b00033cacc6834507c594f43322e8c7b.

2 years agoMerge branch 'devel/master' into tizen
Woochanlee [Wed, 16 Feb 2022 06:21:40 +0000 (15:21 +0900)]
Merge branch 'devel/master' into tizen

2 years agoRevert "[Tizen] Not execute the remove callback"
Woochanlee [Wed, 16 Feb 2022 06:21:26 +0000 (15:21 +0900)]
Revert "[Tizen] Not execute the remove callback"

This reverts commit 187dc40447c6095e257f76730c78c7f62fb7d1ca.

2 years agoMerge "Add stride to PixelData" into devel/master
Heeyong Song [Wed, 16 Feb 2022 05:26:45 +0000 (05:26 +0000)]
Merge "Add stride to PixelData" into devel/master

2 years agoAdded prefix matching to test case execution 44/271044/1
David Steele [Mon, 14 Feb 2022 16:29:32 +0000 (16:29 +0000)]
Added prefix matching to test case execution

Change-Id: I5a836aca4c788a347b383a0b3d23771e22ff8f2b

2 years agoMerge "If MaximumTapsRequired is 1, it is not waiting for a multi-tap, so a Tap gestu...
joogab yun [Sat, 12 Feb 2022 00:22:42 +0000 (00:22 +0000)]
Merge "If MaximumTapsRequired is 1, it is not waiting for a multi-tap, so a Tap gesture send a single tap." into devel/master