platform/core/uifw/dali-core.git
17 months agobug fixed mMinimumTouchEventsAfterStart to mMinimumTouchEvents 00/293000/1
joogab.yun [Thu, 18 May 2023 02:23:04 +0000 (11:23 +0900)]
bug fixed mMinimumTouchEventsAfterStart to mMinimumTouchEvents

Change-Id: I62e4d181e8bf847e57b84757f2ec3083c4c4061d

17 months agoMerge "Fix pipeline hash" into devel/master
Eunki Hong [Sat, 13 May 2023 02:33:42 +0000 (02:33 +0000)]
Merge "Fix pipeline hash" into devel/master

17 months agoAdded VertexBufferUpdateCallback 61/290561/8
Adam Bialogonski [Tue, 28 Mar 2023 20:52:18 +0000 (21:52 +0100)]
Added VertexBufferUpdateCallback

Added the callback invoked when the vertex buffer needs to be updated.
The callback passes pointer and maximum size that should be written.

The callback returns number of valid elements to draw.

In case there are more than 1 vertex buffers attached, the render geometry iterates and looks for lowest number of elements to render (so we won't go out of boundaries of any of attached buffers).

The update of VertexBuffer through the callback takes place on the update/render thread and it's up to the user to ensure explicit synchronization. Event side DALi objects must not be accessed (most likely, that will fail) so alternative way of
passing data should be added by developers.

Change-Id: I4db7812cf6d6579c8cd05bcc5c25d966f6ae1aad

17 months agoAdded GpuBuffer::WritePolicy 81/290281/10
Adam Bialogonski [Thu, 20 Apr 2023 10:31:36 +0000 (11:31 +0100)]
Added GpuBuffer::WritePolicy

The write policy tells the GpuBuffer what to do with the Graphics::Buffer object
during updating buffer content. It's possible to:

- RETAIN the content
- DISCARD the content

Both options have performance implications. Retaining the content may cause blocking the access to the buffer by the GPU driver in case the buffer is currently in use by the GPU. Frequent buffer updates may cause a massive performance hit. This policy allows writing a partial updates into the buffer.

Discarding the content means orphaning an underlying memory and allocating new buffer storage so it can be accessed immediately while GPU may be finishing work with the old content. The downside of it is no partial updates are possible. Area of buffer which isn't updated stays undefined. This policy is made for frequent updates (every frame).

Change-Id: Ic0e80d7b23208a455129c16fb3e23a4020791b50

17 months agoMerge "Fix invalidated PipelineCacheL2 pointer problem" into devel/master
Eunki Hong [Fri, 12 May 2023 10:50:46 +0000 (10:50 +0000)]
Merge "Fix invalidated PipelineCacheL2 pointer problem" into devel/master

17 months agoDALi Version 2.2.26 58/292758/1 dali_2.2.26
Richard Huang [Fri, 12 May 2023 09:47:33 +0000 (10:47 +0100)]
DALi Version 2.2.26

Change-Id: Ic6839a0e903864c58cc8a9489f8533304a997652

17 months agoFix pipeline hash 81/292481/3
Heeyong Song [Tue, 9 May 2023 01:03:33 +0000 (10:03 +0900)]
Fix pipeline hash

The hash of L0 cache needs to check information that L0 cache has

Change-Id: I17f3cb44b35965e547a3bfc09435afec705e543b

17 months agoFix invalidated PipelineCacheL2 pointer problem 32/292732/6
Eunki, Hong [Fri, 12 May 2023 04:15:13 +0000 (13:15 +0900)]
Fix invalidated PipelineCacheL2 pointer problem

Let we keep std::list<PipelineCacheL2>::iterator instead of PipelineCacheL2*.

So, the pointer of pipeline what render-renderer has should be valid even
if cache container size changed.

And also, for safe issue, let we keep the pipeline container as std::list.

Change-Id: I5a0572f040ff3304876bdb2483af85ff26fbccbb
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
17 months agoMerge "Fix culling issue with scale" into devel/master
Seungho BAEK [Thu, 11 May 2023 06:29:59 +0000 (06:29 +0000)]
Merge "Fix culling issue with scale" into devel/master

17 months agoFix culling issue with scale 53/292653/3
seungho baek [Thu, 11 May 2023 01:07:41 +0000 (10:07 +0900)]
Fix culling issue with scale

Change-Id: Ibd07450e6fdd39d15cd5e90b8c8c0994cde3d589
Signed-off-by: seungho baek <sbsh.baek@samsung.com>
17 months agoSupport Animation Blend for AnimateBetween 46/292046/14
seungho baek [Wed, 26 Apr 2023 13:01:15 +0000 (22:01 +0900)]
Support Animation Blend for AnimateBetween

Change-Id: Ifa53a54742239d8c2913499de2e29757bf8e9f72
Signed-off-by: seungho baek <sbsh.baek@samsung.com>
17 months agoMerge "Reduce Bezier Curve AlphaFunction's tolerance" into devel/master
Eunki Hong [Wed, 10 May 2023 02:51:12 +0000 (02:51 +0000)]
Merge "Reduce Bezier Curve AlphaFunction's tolerance" into devel/master

17 months agoMerge "Remove old pipeline caches" into devel/master
Heeyong Song [Wed, 10 May 2023 01:15:56 +0000 (01:15 +0000)]
Merge "Remove old pipeline caches" into devel/master

17 months agoReduce Bezier Curve AlphaFunction's tolerance 43/292543/1
Eunki, Hong [Wed, 10 May 2023 00:07:31 +0000 (09:07 +0900)]
Reduce Bezier Curve AlphaFunction's tolerance

Previously, we use the tolerance of T value as 0.001f.
That mean, In 4K system, the error range of result can be ~2 pixels.

Let we squeeze the tolerance so reduce the numeric error.

Change-Id: I7d08de0bce8f2bac3441cb8a0bd4e5b55a31b989
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
17 months agoAdd Touch source type for gesture 03/292503/1
joogab.yun [Tue, 9 May 2023 06:37:02 +0000 (15:37 +0900)]
Add Touch source type for gesture

Change-Id: Ib3782eb3e7125e045b469b314641de4cec7901c6

17 months agoRemove old pipeline caches 55/292455/1
Heeyong Song [Mon, 8 May 2023 05:59:15 +0000 (14:59 +0900)]
Remove old pipeline caches

Change-Id: I17290e72f05cecedfce82dc665217c38a99a8470

17 months agoDALi Version 2.2.25 94/292394/1 dali_2.2.25
Adam Bialogonski [Fri, 5 May 2023 10:20:25 +0000 (11:20 +0100)]
DALi Version 2.2.25

Change-Id: I7eba404c528d7f70ee2ddc6e4107320bad6f334b

18 months agoMerge "Set KeyFrame's frame value" into devel/master
Eunki Hong [Tue, 2 May 2023 08:03:38 +0000 (08:03 +0000)]
Merge "Set KeyFrame's frame value" into devel/master

18 months agoDALi Version 2.2.24 79/292179/1 dali_2.2.24
Richard Huang [Fri, 28 Apr 2023 10:07:55 +0000 (11:07 +0100)]
DALi Version 2.2.24

Change-Id: Id9259813c74a3d5654b2cf34cb37710f9739f150

18 months agoSet KeyFrame's frame value 66/292066/2
Eunki, Hong [Thu, 27 Apr 2023 02:37:18 +0000 (11:37 +0900)]
Set KeyFrame's frame value

Let we make the API to change the value of specific KeyFrame data

Change-Id: Iecd9cb3b9118083dfa6d4ab812bf31dac4e1d38a
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
18 months agoAdd SetTapRecognizerTime 71/291871/9
joogab.yun [Mon, 24 Apr 2023 09:13:38 +0000 (18:13 +0900)]
Add SetTapRecognizerTime

This is the time from touch down to touch up to recognize a tap gesture.

If set to 300ms, a touch up after a touch down must occur within 300ms to be recognized as a tap gesture.

Change-Id: I1b7be723938a32f4009232553671bda17503c782

18 months agoMerge "Added element_count for sampler uniform arrays." into devel/master
David Steele [Fri, 21 Apr 2023 09:18:23 +0000 (09:18 +0000)]
Merge "Added element_count for sampler uniform arrays." into devel/master

18 months agoDALi Version 2.2.23 12/291712/1 dali_2.2.23
Adeel Kazmi [Thu, 20 Apr 2023 13:08:00 +0000 (14:08 +0100)]
DALi Version 2.2.23

Change-Id: I59908a09c58024c9869a183e25deb3f7b59c44df

18 months agoAdded element_count for sampler uniform arrays. 39/291639/2
David Steele [Wed, 19 Apr 2023 16:22:19 +0000 (17:22 +0100)]
Added element_count for sampler uniform arrays.

Graphics interface didn't differentiate between non-array uniforms
and uniform array elements. Added element_count to show that.

(Used mainly in graphics backend implementation).

Change-Id: I7f3d9eead85dc029e93337c88bb38de1ce3e2fa5

18 months agoMerge "Add Post Constraint that works after transform" into devel/master
David Steele [Wed, 19 Apr 2023 13:00:39 +0000 (13:00 +0000)]
Merge "Add Post Constraint that works after transform" into devel/master

18 months agoAdd Post Constraint that works after transform 74/291574/6
seungho baek [Tue, 18 Apr 2023 11:05:14 +0000 (20:05 +0900)]
Add Post Constraint that works after transform

Change-Id: I90a7b2d731623691915ed5c01500ac6928d25112
Signed-off-by: seungho baek <sbsh.baek@samsung.com>
18 months agoVertexBuffer instancing 55/291355/5
David Steele [Thu, 13 Apr 2023 19:02:27 +0000 (20:02 +0100)]
VertexBuffer instancing

Added a SetDivisor() API to Vertex buffer.
This will enable instancing on that buffer - when this is
drawn, it will use DrawArraysInstanced or DrawElementsInstanced,
with all the attributes in this vertex buffer having the same
input rate.

Currently, only an input rate of 1 is supported - this will be changed
in a future patch.

Requires an update to dali-adaptor too.

Change-Id: I5c7461cc3e2cb72c6257d3093afa95116a6dc6c1

18 months agoVertexBuffer can now be created from Property::Map by initializer list 53/290953/4
David Steele [Wed, 5 Apr 2023 11:00:21 +0000 (12:00 +0100)]
VertexBuffer can now be created from Property::Map by initializer list

VertexBuffer constructor takes a vertex format as it's argument, which
is a PropertyMap of key value pairs. Previously, it assumes that the
value is a property type enumeration cast to an INTEGER type.

However, if the Property::Map is instantiated using initializer lists,
e.g.

  Property::Map format { {"aPosition", Property::VECTOR2},
                         {"aColor", Property::VECTOR4}};
  VertexBuffer vertexBuffer(format);

then the enum is promoted to a Property::Value of that type, so the
vertex buffer doesn't see INTEGER type and asserts.

Modified the VertexBuffer constructor to utilize the value type
if it's not an INTEGER.

Change-Id: I85bc1d08603c31726eb06d786f44f0ca27a62ce9
Signed-off-by: David Steele <david.steele@samsung.com>
18 months agoDALi Version 2.2.22 96/291396/1 dali_2.2.22
Adam Bialogonski [Fri, 14 Apr 2023 09:25:04 +0000 (10:25 +0100)]
DALi Version 2.2.22

Change-Id: I88d096d7ebf9c28448f670ed869b1eab5e484e72

18 months agoAdd some performace trace logs 21/291221/1
Heeyong Song [Wed, 12 Apr 2023 05:18:50 +0000 (14:18 +0900)]
Add some performace trace logs

Change-Id: Ib99c88e4420d0c6bc200de4c65f75e2294f30a36

18 months agoCheck validation of texture when we send Updated 73/291173/1
Eunki, Hong [Tue, 11 Apr 2023 06:06:53 +0000 (15:06 +0900)]
Check validation of texture when we send Updated

Change-Id: I743ea27f57e5c3c524171b8379293cb0dde3cb49
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
18 months agoDALi Version 2.2.21 29/291029/1 dali_2.2.21
David Steele [Thu, 6 Apr 2023 13:47:40 +0000 (14:47 +0100)]
DALi Version 2.2.21

Change-Id: I0926ca205247155a1d87f72e3d5fadc501618311

18 months agoMerge "LookAt API for actor" into devel/master
Eunki Hong [Wed, 5 Apr 2023 05:50:17 +0000 (05:50 +0000)]
Merge "LookAt API for actor" into devel/master

18 months agoAdd trace log for touch, wheel and gesture 09/290909/2
joogab.yun [Wed, 5 Apr 2023 02:20:53 +0000 (11:20 +0900)]
Add trace log for touch, wheel and gesture

Change-Id: Iaf3a78103d123d4c81a9668497663cc14947ed44

18 months agoLookAt API for actor 32/290532/7
Eunki, Hong [Tue, 28 Mar 2023 08:04:39 +0000 (17:04 +0900)]
LookAt API for actor

Make LookAt API for common Actor.
Note, this isn't follow target position. Just calculate Quaternion
and apply instancely.

Change-Id: I0fb107f954034fb5aa410cc607122b4e61988e9b
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
19 months agoMinor code cleans for render task 83/290683/3
Eunki Hong [Thu, 30 Mar 2023 16:59:07 +0000 (01:59 +0900)]
Minor code cleans for render task

1. Ensure the overlayTask removal
2. Now SceneGraph::Camera is node. We can reduce useless duplicated codes.
3. mActive false if object destroyed when scene on

Change-Id: I392acf79a22b5a1b68f382126e751575914529e8
Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
19 months agoMerge "DALi Version 2.2.20" into devel/master
Adeel Kazmi [Fri, 31 Mar 2023 13:02:42 +0000 (13:02 +0000)]
Merge "DALi Version 2.2.20" into devel/master

19 months agoDALi Version 2.2.20 32/290732/1 dali_2.2.20
Adam Bialogonski [Fri, 31 Mar 2023 09:19:25 +0000 (10:19 +0100)]
DALi Version 2.2.20

Change-Id: I80512f4cd985e2724d13f6728a2f4550f076d4ab

19 months agoMerge "The hover event now starts in the STARTED state when a new actor is encountere...
joogab yun [Fri, 31 Mar 2023 07:01:18 +0000 (07:01 +0000)]
Merge "The hover event now starts in the STARTED state when a new actor is encountered." into devel/master

19 months agoThe hover event now starts in the STARTED state when a new actor is encountered. 86/290486/16
joogab.yun [Mon, 27 Mar 2023 09:56:08 +0000 (18:56 +0900)]
The hover event now starts in the STARTED state when a new actor is encountered.

When hover event is registered, only motion comes. You can't know that the hover has started on that actor.
So, when the hover starts on the new actor, set it to STARTED state.

Change-Id: If25595536bce2279529847056ed962c515632165

19 months agoAdd missing noexcept tag 80/290680/1
Eunki, Hong [Thu, 30 Mar 2023 13:31:41 +0000 (22:31 +0900)]
Add missing noexcept tag

Make Dali::Vector also make as noexcept. Now we can use
std::vector use move operator for Dali::Vector.

Change-Id: Ic60897ba0b7c6ca7c60377bfc254e207333c8069
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
19 months agoMove visual renderer updateArea calculation code 18/290518/1
Eunki, Hong [Tue, 28 Mar 2023 04:02:18 +0000 (13:02 +0900)]
Move visual renderer updateArea calculation code

scene-graph-renderer.cpp already have a lots of jobs to do.
To reduce complexity of code readability, move calculation ownership
into AnimatableVisualProoperties

+

Make UpdateArea calculate more exact size

Change-Id: I5814f45ad457e5c10caae307e647b49d306ea0d9
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
19 months agoFix svace issue (initialize render task list membervalue) 11/290511/1
Eunki, Hong [Tue, 28 Mar 2023 01:55:53 +0000 (10:55 +0900)]
Fix svace issue (initialize render task list membervalue)

Change-Id: I42efa0ad0ddad615fb6a963473b445442c61e885
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
19 months agoMerge "Add initialize resetter to reduce AnimatableProperty life" into devel/master
David Steele [Mon, 27 Mar 2023 14:42:01 +0000 (14:42 +0000)]
Merge "Add initialize resetter to reduce AnimatableProperty life" into devel/master

19 months agoMark as do not skip rendering if SceneGraphRenderer dirty 57/290457/3
Eunki Hong [Sun, 26 Mar 2023 07:08:30 +0000 (16:08 +0900)]
Mark as do not skip rendering if SceneGraphRenderer dirty

Previously, when we change textureset into renderer,
RenderTaskProcessor didn't process, and mark as "SkipRendering".

To avoid this bug, mark rendererUpdated if mDirtyFlag true,
so let we make mImpl->renderingRequired as true.

Change-Id: Ibace1fbddb7ba46f3cefca6d3e475ce34d414123
Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
19 months agoMerge "Add updated texture list to RenderManager" into devel/master
Heeyong Song [Mon, 27 Mar 2023 00:20:29 +0000 (00:20 +0000)]
Merge "Add updated texture list to RenderManager" into devel/master

19 months agoMerge "DALi Version 2.2.19" into devel/master
David Steele [Fri, 24 Mar 2023 11:27:17 +0000 (11:27 +0000)]
Merge "DALi Version 2.2.19" into devel/master

19 months agoDALi Version 2.2.19 27/290427/1 dali_2.2.19
Adeel Kazmi [Fri, 24 Mar 2023 10:54:18 +0000 (10:54 +0000)]
DALi Version 2.2.19

Change-Id: I911589996cbf0911bceff903ad7aaa42d5d59dba

19 months agoAdd updated texture list to RenderManager 09/289909/3
Heeyong Song [Wed, 15 Mar 2023 09:00:54 +0000 (18:00 +0900)]
Add updated texture list to RenderManager

Then we don't need to iterate all textures in PostRender

Change-Id: I4dbe227941505da4d1f38c4a7745f090797f86f1

19 months agoAdd some more noexcept tag (devel-api, internal) 27/289927/3
Eunki Hong [Wed, 15 Mar 2023 16:50:30 +0000 (01:50 +0900)]
Add some more noexcept tag (devel-api, internal)

Change-Id: I01b0fc6080da4aa91dc3dd50fc2650ab7f18d45d
Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
19 months agoAdd initialize resetter to reduce AnimatableProperty life 90/289690/13
Eunki, Hong [Mon, 13 Mar 2023 12:41:11 +0000 (21:41 +0900)]
Add initialize resetter to reduce AnimatableProperty life

To ensure each PropertyOwner's animatable properties lifecycle,
send BakeResetter message when they are created.

And also, to reduce the number of resetter, make RendererResetter.
Now we can control all VisualRenderer properties by single resetter.

Change-Id: I36b97c90bb5a843803e7bfa2441d90a7aee4cb28
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
19 months agoMerge "Make sure that global variables are initialized lazily." into devel/master
David Steele [Wed, 22 Mar 2023 15:22:00 +0000 (15:22 +0000)]
Merge "Make sure that global variables are initialized lazily." into devel/master

19 months agoMake sure that global variables are initialized lazily. 56/290156/1
huayong.xu [Tue, 21 Mar 2023 03:11:43 +0000 (11:11 +0800)]
Make sure that global variables are initialized lazily.

Change-Id: Ieaa1becb79f59ef6ec9109d3d6d09fd1c38efad1

19 months agoSend PixelData instead of raw buffer 76/290076/7
Eunki, Hong [Mon, 20 Mar 2023 05:11:50 +0000 (14:11 +0900)]
Send PixelData instead of raw buffer

Since we cannot control the Flush timming of texture,
just send referenced PixelData object and
control it's lifecycle at GraphicsController side.

+

We don't need to release PixelData as public.
Make it as integration-api area.

Change-Id: Icc9589d2c412f0cac7b5a632fbaaa1146dbd6d78
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
19 months agoMerge "DALi Version 2.2.18" into devel/master
Adeel Kazmi [Fri, 17 Mar 2023 12:49:22 +0000 (12:49 +0000)]
Merge "DALi Version 2.2.18" into devel/master

19 months agoDALi Version 2.2.18 37/290037/1 dali_2.2.18
David Steele [Fri, 17 Mar 2023 12:43:26 +0000 (12:43 +0000)]
DALi Version 2.2.18

Change-Id: Ie9e24ca49e79833eed833c9ce0ba803051a1fe76

19 months agoMerge "Fix a heap-buffer-overflow issue." into devel/master
dongsug song [Fri, 17 Mar 2023 05:35:01 +0000 (05:35 +0000)]
Merge "Fix a heap-buffer-overflow issue." into devel/master

19 months agoMerge "Add BuildPickingRay to devel api" into devel/master
David Steele [Thu, 16 Mar 2023 17:47:29 +0000 (17:47 +0000)]
Merge "Add BuildPickingRay to devel api" into devel/master

19 months agoMerge "Remove uniform hash" into devel/master
Heeyong Song [Wed, 15 Mar 2023 00:37:16 +0000 (00:37 +0000)]
Merge "Remove uniform hash" into devel/master

19 months agoMerge "Reuse latest pipeline if possible" into devel/master
Eunki Hong [Tue, 14 Mar 2023 16:08:48 +0000 (16:08 +0000)]
Merge "Reuse latest pipeline if possible" into devel/master

19 months agoReuse latest pipeline if possible 71/289371/9
Eunki Hong [Mon, 6 Mar 2023 18:54:48 +0000 (03:54 +0900)]
Reuse latest pipeline if possible

Search pipeline cache is quite heay operation.
So if we can re-use pipeline, It will be helpful
if we use equal shader continously.

It will give power for 3D layer who did depth test, so
rendering order is determined by shader, texture and geometry.

Change-Id: I3bf9abab125b6adebad5ecc6bb04463d7e3db972
Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
19 months agoMake relayout temperal vector as member. 50/289750/2
Eunki, Hong [Tue, 14 Mar 2023 06:37:38 +0000 (15:37 +0900)]
Make relayout temperal vector as member.

To avoid multiple times of size reversing,
Let we just keep static vector in relayout controller member value.

RequestRelayout API called very frequency. So it can reduce update time minor

Change-Id: Ifea9029831eb7e9fb63ea94fbe051cc39ffcbc00
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
19 months agoRemove uniform hash 37/289537/4
Heeyong Song [Thu, 9 Mar 2023 08:27:27 +0000 (17:27 +0900)]
Remove uniform hash

Use BakerResetter instead of hash

Change-Id: I48cf6b8b4446c3e66e8329bfb1a90d2ab1052fbd

19 months agoFix a heap-buffer-overflow issue. 26/289326/5
huayong.xu [Tue, 14 Mar 2023 06:06:54 +0000 (14:06 +0800)]
Fix a heap-buffer-overflow issue.

Change-Id: I1699b29fcf2b0b5badc8a8e5eebc745527683b78

19 months agoCalculate VisualRenderer coefficient only if updated. 02/289702/3
Eunki Hong [Mon, 13 Mar 2023 17:41:06 +0000 (02:41 +0900)]
Calculate VisualRenderer coefficient only if updated.

Calculate UpdateArea need to be calculated for each RenderItems.

Since we were check the each properties changeness by Hash function,
The PreRender time was increased.

This patch make we change the coefficient only if the
AnimatableProperty was changed.

Change-Id: I9d86ab21de9f361cac652314b328d0ba5c6ab3d5
Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
19 months agoMerge "Ensure BaseHandle class move noexcept (core public-api)" into devel/master
Eunki Hong [Mon, 13 Mar 2023 16:16:37 +0000 (16:16 +0000)]
Merge "Ensure BaseHandle class move noexcept (core public-api)" into devel/master

19 months agoDALi Version 2.2.17 17/289617/1 dali_2.2.17
Adeel Kazmi [Fri, 10 Mar 2023 10:29:29 +0000 (10:29 +0000)]
DALi Version 2.2.17

Change-Id: I45e1c2db3e4d997f4d9922a74d186fdb90eb2fe3

19 months agoEnsure BaseHandle class move noexcept (core public-api) 62/289562/1
Eunki Hong [Thu, 9 Mar 2023 17:13:37 +0000 (02:13 +0900)]
Ensure BaseHandle class move noexcept (core public-api)

Change-Id: I3fab491948f51ffcc2905c3340452d585d23553a
Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
19 months agoGet world scale more faster 38/289438/2
Eunki, Hong [Tue, 7 Mar 2023 18:53:10 +0000 (03:53 +0900)]
Get world scale more faster

Change-Id: Ifb580a830a4798d72da7537cedce83d577ae60d6
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
19 months agoSkip duplicated vertex binding 88/289288/5
Eunki Hong [Sun, 5 Mar 2023 14:42:00 +0000 (23:42 +0900)]
Skip duplicated vertex binding

Let we skip some useless commands for vertex attributes binding.
If latest rendered geometry is same as previous, we don't need to
re-bind vertex attributes.

For hueristic way, Most of Visuals, like image and text, are used
simplest QUAD geometry. So for real world app are use only 1 geometry.
We can reduce for this case's rendering time.

Change-Id: I3643bdb728964365f42284dec3ff0ab77819f42b
Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
19 months agoAdd BuildPickingRay to devel api 70/289370/1
David Steele [Mon, 6 Mar 2023 18:54:41 +0000 (18:54 +0000)]
Add BuildPickingRay to devel api

Change-Id: I93874e9b546c9f56f90a0cf11e8c4dbc3b7e7b6a

20 months agoDALi Version 2.2.16 63/289263/1 dali_2.2.16
Adam Bialogonski [Fri, 3 Mar 2023 10:25:28 +0000 (10:25 +0000)]
DALi Version 2.2.16

Change-Id: I43a4f13e1f54891c3c47b4bb36cc0bd5e153f44e

20 months agoMerge "Make mTargetSizeDirtyFlag true when Animation changes Actor's Size" into devel...
Seungho BAEK [Mon, 27 Feb 2023 23:08:32 +0000 (23:08 +0000)]
Merge "Make mTargetSizeDirtyFlag true when Animation changes Actor's Size" into devel/master

20 months agoSort Animator only if required. 38/289038/7
Eunki, Hong [Mon, 27 Feb 2023 13:09:34 +0000 (22:09 +0900)]
Sort Animator only if required.

Previously, we sort mConnectorTargetValues every Play() API.
Even if we don't need to sort it.

Now, make we sort that container only if last inserted value is bigger than
latest thing, and reset the flag if we sort.

Change-Id: Ia2ba07df3db5a2a0d6d89b0ef2854c5fc655fb2a
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
20 months agoMake bigger memory block access first 65/288965/5
Eunki, Hong [Mon, 27 Feb 2023 05:00:40 +0000 (14:00 +0900)]
Make bigger memory block access first

Previous fixed memory pool system append bigger block
at end of linked list.
So If we need to find some various objects, It will be founded
at end of list for 50% probability.

This patch make we keep larger block first (instead of header).
So, It will be found object earler.

Change-Id: Ifc1b4fca450d2e7af6e9b32b56d90952e2856540
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
20 months agoMake mTargetSizeDirtyFlag true when Animation changes Actor's Size 22/289022/3
seungho baek [Mon, 27 Feb 2023 09:25:14 +0000 (18:25 +0900)]
Make mTargetSizeDirtyFlag true when Animation changes Actor's Size

Change-Id: Ied85413cd3bf8f8fc7d19c831e35f700e225c9f4
Signed-off-by: seungho baek <sbsh.baek@samsung.com>
20 months agoAllow to load uint32_t indices for geometry 39/288539/12
Eunki Hong [Sat, 18 Feb 2023 11:06:24 +0000 (20:06 +0900)]
Allow to load uint32_t indices for geometry

Dali's default indices use uint16_t. But if heavy 3D model who need more than
65536 indexes loaded, It will break index.

This patch make Scene3D can allow to use uint32_t type indeces load
and generete Geometry by it.

Change-Id: I020b27642760e6262fb5137a74e59b8da803e859
Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
20 months agoMerge "Use OrderedSet so remove useless iteration for some singletone" into devel...
David Steele [Fri, 24 Feb 2023 12:38:49 +0000 (12:38 +0000)]
Merge "Use OrderedSet so remove useless iteration for some singletone" into devel/master

20 months agoMerge "DALi Version 2.2.15" into devel/master
David Steele [Fri, 24 Feb 2023 12:31:00 +0000 (12:31 +0000)]
Merge "DALi Version 2.2.15" into devel/master

20 months agoDALi Version 2.2.15 21/288921/1 dali_2.2.15
Richard Huang [Fri, 24 Feb 2023 12:24:06 +0000 (12:24 +0000)]
DALi Version 2.2.15

Change-Id: Ia5c783d19b104900d2dcbfbb280227e0d4d8b31e

20 months agoUse OrderedSet so remove useless iteration for some singletone 76/285976/30
Eunki, Hong [Fri, 23 Dec 2022 08:25:24 +0000 (17:25 +0900)]
Use OrderedSet so remove useless iteration for some singletone

There was some unneccesary iteration
s.t. render-manager / animation-playlist
/ property-notification-manager / relayout-controller
hold the same object's, and remove it.

We don't need to check "Whole" objects what we hold now. So we make them use
hashed set data structure, so we can find & erase the object without iterate.

Note : OrderedSet is slow when we iterate. So, we don't make
update-manager items as OwnerSet because they iterate whole things every frame.

TODO : There was some case that duplicated called of EraseObject.
We might need to remove them.

Change-Id: I703edb0c7e1f7e01c434a3020edffeab63a861f2
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
20 months agoMove message queue instead of copy 33/288733/3
Eunki, Hong [Wed, 22 Feb 2023 06:55:52 +0000 (15:55 +0900)]
Move message queue instead of copy

Minor optimzation for message queue

Change-Id: I214367f6c7a4cce33ce4b128119476bbaf912344
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
20 months agoMerge "Fix surface deletion order issue" into devel/master
Heeyong Song [Thu, 23 Feb 2023 23:47:51 +0000 (23:47 +0000)]
Merge "Fix surface deletion order issue" into devel/master

20 months agoFix surface deletion order issue 49/288749/2
Heeyong Song [Wed, 22 Feb 2023 08:37:31 +0000 (17:37 +0900)]
Fix surface deletion order issue

Change-Id: I1fb3a2934ed6a36553421f002d6cc7821abc45dc

20 months agoDisable property notification when the object is deleted 05/288605/2
Heeyong Song [Mon, 20 Feb 2023 08:10:26 +0000 (17:10 +0900)]
Disable property notification when the object is deleted

Change-Id: Ief68d6cb246e75f9f9870f5285dc827b53ad2916

20 months agoMultiply only for Transform Matrix + NEON comment clean up 36/288536/8
Eunki Hong [Sat, 18 Feb 2023 07:05:50 +0000 (16:05 +0900)]
Multiply only for Transform Matrix + NEON comment clean up

If 4x4 matrix form as Transform, we can optimize matrix multiply function.
It will be reduce the time of Transform Update time.

Below are some test result.
1. VLD1.F32 each time is more faster than VLDM.
2. Transpose lhs -> multply -> transpose tmp is slower than current logic
3. "+r"(temp) at Output Operand is slower than "r"(temp) Intput Oprerand with "%r0"(why?)
 --> But when we make current Multiply with Output Operand as Input Operand, it makes slow down. (why?)

Change-Id: Ibc5e1c252ec200d356e649ed6448cd45b3a5d980
Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
20 months agoMake new CameraActor creation API for 3D apps 91/288491/4
Eunki, Hong [Fri, 17 Feb 2023 06:38:05 +0000 (15:38 +0900)]
Make new CameraActor creation API for 3D apps

Default CameraActor's behavior is not helpful for formal 3D app side.
For example, 3D app don't care about "scene", but CameraActor::New()
change some properties by engine side automaticaly.

To make 3D app developer use CameraActor easly, make new API that fit
good to 3D cases.

Change-Id: Iaf2a792b0fd98cd31d2c655da61918133e211ff0
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
20 months agoMerge changes I8783ad29,I2c860a84 into devel/master
Adeel Kazmi [Fri, 17 Feb 2023 17:56:14 +0000 (17:56 +0000)]
Merge changes I8783ad29,I2c860a84 into devel/master

* changes:
  Reducing message spam for baked properties
  AnimatableProperty Set/Bake now resets properly.

20 months agoDALi Version 2.2.14 17/288517/1 dali_2.2.14
David Steele [Fri, 17 Feb 2023 13:51:35 +0000 (13:51 +0000)]
DALi Version 2.2.14

Change-Id: I6fb3bfa9c42d075c90dceef9b65c9b1636197e4a

20 months agoReducing message spam for baked properties 08/288208/4
David Steele [Mon, 13 Feb 2023 23:07:01 +0000 (23:07 +0000)]
Reducing message spam for baked properties

Adding custom message to bake property and create
resetter in update side.

Switched resetters to use std::list for faster erasure.

Change-Id: I8783ad293458f97cce45ebe00b6ef47ac3aed8fb

20 months agoAnimatableProperty Set/Bake now resets properly. 76/287876/6
David Steele [Wed, 8 Feb 2023 14:46:36 +0000 (14:46 +0000)]
AnimatableProperty Set/Bake now resets properly.

If animatable properties are Set/Baked from event side, then the
dirty flag is never cleared. This is due to not having any
PropertyResetter or NodeResetter working.

It's not an issue for TransformProperties, as they have their own
reset system.

Added a BakerResetter to run the ResetToBaseValue() method for 1 or 2
frames, then will auto-age and die.

Changed all the messaging for baking/setting animatable properties to
also create and send the BakerResetter.

Currently, update doesn't run again even if there are new property
resetters outstanding. (Fine for constraint resetters, maybe not so
fine for new BakerResetters?)

To avoid cyclic dependencies, have also split the messages out into
their own headers (which should also help reduce compile time)

Added a test case to exercise Object internals for coverage - there
are some lowkey bugs in here. [Normally, we use derived methods to
link event side properties to scene-graph properties, here, we're
using untested code to access component scene-graph properties. If we
don't first generate the "parent" property, then the wrong type is
used to generate the component properties]. We could potentially
delete some of this code!!!

Signed-off-by: David Steele <david.steele@samsung.com>
Change-Id: I2c860a8416e71666fceb8d0b0d072c5c735655ad

20 months agoFix matrix multiply with quaternion bug in ARM 29/288329/3
Eunki, Hong [Wed, 15 Feb 2023 07:34:37 +0000 (16:34 +0900)]
Fix matrix multiply with quaternion bug in ARM

There was some bug when we try to use MatrixUtils::Multiply at
ARM devices. We fix it.

Change-Id: I976e03573cbafacbd30fce2b6e2ae73c89b50e83
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
20 months agoMerge "Make sure that global variables are initialized lazily." into devel/master
David Steele [Mon, 13 Feb 2023 09:35:50 +0000 (09:35 +0000)]
Merge "Make sure that global variables are initialized lazily." into devel/master

20 months agoMerge "Optimize some matrix multiply for projection matrix + Orthographic reflection...
Eunki Hong [Mon, 13 Feb 2023 05:26:55 +0000 (05:26 +0000)]
Merge "Optimize some matrix multiply for projection matrix + Orthographic reflection" into devel/master

20 months agoMerge "Use Vector4 for the update area" into devel/master
Heeyong Song [Mon, 13 Feb 2023 00:24:39 +0000 (00:24 +0000)]
Merge "Use Vector4 for the update area" into devel/master

20 months agoMerge "Added rotation support to frame-callback" into devel/master
David Steele [Fri, 10 Feb 2023 16:18:38 +0000 (16:18 +0000)]
Merge "Added rotation support to frame-callback" into devel/master

20 months agoDALi Version 2.2.13 31/288131/1 dali_2.2.13
Adeel Kazmi [Fri, 10 Feb 2023 14:15:21 +0000 (14:15 +0000)]
DALi Version 2.2.13

Change-Id: I0f16ecea1504ac30e40304cbe05ab16169d3c2a0

20 months agoOptimize some matrix multiply for projection matrix + Orthographic reflection 66/287766/8
Eunki Hong [Sat, 4 Feb 2023 04:08:53 +0000 (13:08 +0900)]
Optimize some matrix multiply for projection matrix + Orthographic reflection

Let we use MatrixUtils::MultiplyProjectionMatrix for some internal API.

And also, make Orthographic camera can use reflection plane.

TODO : We should make MultiplyProjectionMatrix funtion as NEON.

Change-Id: Ifeff525ed96dc5ebdf280f794973ecbb8f4eb7ab
Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
20 months agoMake sure that global variables are initialized lazily. 55/285155/3
huayong.xu [Wed, 7 Dec 2022 02:30:56 +0000 (10:30 +0800)]
Make sure that global variables are initialized lazily.

Global variables are initialized before main function or
when dali-core so is loaded firstly.
This would lengthen time of loading dali in some cases.
This patch is to make the variables be initialized lazily.

Change-Id: I2a8e27619d52ca60e28484bb4c5a8e74f1d20c27

20 months agoFix svace issue (uint32_t to long) 21/287821/2
Eunki, Hong [Tue, 7 Feb 2023 02:05:12 +0000 (11:05 +0900)]
Fix svace issue (uint32_t to long)

To convert unsigned value into signed value safely,
we should convert as unsigned type with same size as signed type,
and after done, convert into signed type.

Change-Id: I1ee541cff8851adf0e5512ccf0d7a6e00a865690
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>