platform/core/uifw/dali-core.git
21 months agoConvert Renderer ptrs to 32 bit keys 69/284269/10
David Steele [Fri, 21 Oct 2022 11:10:35 +0000 (12:10 +0100)]
Convert Renderer ptrs to 32 bit keys

Change-Id: I9ac5971cd768da552c188909771a12b437e11435

21 months agoChanged DiscardQueue to templated class 68/284268/9
David Steele [Thu, 10 Nov 2022 12:02:43 +0000 (12:02 +0000)]
Changed DiscardQueue to templated class

Instead of having 1 discard queue for everything,
switched it out to a templated type that can work
on std containers.

Change-Id: Ie26d8c7ddece01ae8feeebfd27de9e73d9a9c9c4
Signed-off-by: David Steele <david.steele@samsung.com>
21 months agoAdd Overlay Layer in scene 75/286475/11
seungho baek [Mon, 9 Jan 2023 01:23:21 +0000 (10:23 +0900)]
Add Overlay Layer in scene

Change-Id: I65447d7ace9e13f528f244234e139e3e9682291b
Signed-off-by: seungho baek <sbsh.baek@samsung.com>
22 months agoMerge "DALi Version 2.2.9" into devel/master
Adeel Kazmi [Fri, 13 Jan 2023 10:00:34 +0000 (10:00 +0000)]
Merge "DALi Version 2.2.9" into devel/master

22 months agoDALi Version 2.2.9 27/286827/1 dali_2.2.9
Adeel Kazmi [Fri, 13 Jan 2023 09:55:55 +0000 (09:55 +0000)]
DALi Version 2.2.9

Change-Id: I26fdccbff49e99f2ea8bf4839407db436a7afc2d

22 months agoMake assertion when SetParent is not called on the main thread 77/286077/4
Heeyong Song [Tue, 27 Dec 2022 07:06:52 +0000 (16:06 +0900)]
Make assertion when SetParent is not called on the main thread

Change-Id: Ia224a99b7760f2ab2ec6e19700faa2e84091ce1a

22 months agoRemoving shader uniform map observers 56/286556/2
David Steele [Mon, 9 Jan 2023 15:34:49 +0000 (15:34 +0000)]
Removing shader uniform map observers

Many renderers use few shaders. Currently, there is an observer list
in Shader's uniform map to inform Renderer to update it's collective
uniform map when it's updated.

In practice, shader uniforms are rare (Especially in visuals, with the
exception of PrimitiveVisual, which isn't really used much), so we
are paying the price (an array of observers) for something un-necessary.

Instead, we can change Renderer to store the last known change counter
for it's attached shader. If the shader's uniform map changes, then we
can detect this during PrepareRender, prior to rendering, by testing
the change counter.

We can therefore fully remove the uniform map observer list, improving
memory consumption and speeding up renderer creation time.

Change-Id: I96b9b5c4f7b21fda9593dc1f89f580e7ceb4513c
Signed-off-by: David Steele <david.steele@samsung.com>
22 months agoMerge "DALi Version 2.2.8" into devel/master
David Steele [Fri, 6 Jan 2023 13:19:06 +0000 (13:19 +0000)]
Merge "DALi Version 2.2.8" into devel/master

22 months agoDALi Version 2.2.8 57/286457/1 dali_2.2.8
Adam Bialogonski [Fri, 6 Jan 2023 10:49:36 +0000 (10:49 +0000)]
DALi Version 2.2.8

Change-Id: I8f1f479086ce058957a17e90c2beb1740e7de60c

22 months agoMerge "Reduce Render::Renderer size" into devel/master
Heeyong Song [Fri, 6 Jan 2023 02:22:48 +0000 (02:22 +0000)]
Merge "Reduce Render::Renderer size" into devel/master

22 months agoMerge "Remove object pointer from SceneGraph::PropertyNotification" into devel/master
Heeyong Song [Fri, 6 Jan 2023 02:22:09 +0000 (02:22 +0000)]
Merge "Remove object pointer from SceneGraph::PropertyNotification" into devel/master

22 months agoMerge "Fix the screen rotation issue" into devel/master
Wonsik Jung [Thu, 5 Jan 2023 05:06:37 +0000 (05:06 +0000)]
Merge "Fix the screen rotation issue" into devel/master

22 months agoFix the screen rotation issue 63/286263/2
Wonsik Jung [Tue, 3 Jan 2023 03:09:13 +0000 (12:09 +0900)]
Fix the screen rotation issue

Fix the screen rotation issue in FHub Device.
When glViewport/glScissor is set, the screen rotation should be considered.

Change-Id: I660545a3b3b0fa8e5464dfb613a3d983be2e04b7

22 months agoMerge "Fix to do not use GetCurrentSize in actor-sizer" into devel/master
Seungho BAEK [Wed, 4 Jan 2023 02:07:50 +0000 (02:07 +0000)]
Merge "Fix to do not use GetCurrentSize in actor-sizer" into devel/master

22 months agoMerge "Move VisualRenderer properties definition in SceneGraph side." into devel...
Eunki Hong [Mon, 2 Jan 2023 18:50:54 +0000 (18:50 +0000)]
Merge "Move VisualRenderer properties definition in SceneGraph side." into devel/master

22 months agoTrace use scope macro instead of begin-end 73/286173/1
Eunki Hong [Thu, 29 Dec 2022 15:45:29 +0000 (00:45 +0900)]
Trace use scope macro instead of begin-end

Since we don't need to follow functions usecase,
use trace scope macro instead of begin-end.

Change-Id: I958cb1d97089cafeac507613068b1c574c3ebb0e
Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
22 months agoReduce Render::Renderer size 94/286094/1
Heeyong Song [Wed, 28 Dec 2022 01:01:13 +0000 (10:01 +0900)]
Reduce Render::Renderer size

Allocate RenderCallbackInput when needed

Change-Id: I376a2dede159457b1887ce28d2dfa5126b30f4a7

22 months agoRemove object pointer from SceneGraph::PropertyNotification 62/286062/1
Heeyong Song [Tue, 27 Dec 2022 03:27:56 +0000 (12:27 +0900)]
Remove object pointer from SceneGraph::PropertyNotification

Change-Id: I4cc0912d36e7ff3c39e6b48fecc030432947137f

22 months agoDALi Version 2.2.7 85/285985/1 dali_2.2.7
Adeel Kazmi [Fri, 23 Dec 2022 11:34:37 +0000 (11:34 +0000)]
DALi Version 2.2.7

Change-Id: I11776a8dc1e60dd4ee63a8aded537e56231a2791

22 months agoFix to do not use GetCurrentSize in actor-sizer 66/285966/4
seungho baek [Fri, 23 Dec 2022 07:40:31 +0000 (16:40 +0900)]
Fix to do not use GetCurrentSize in actor-sizer

Change-Id: I75c0502a33dcb67e90092b1a8a92e9cf9f6bbe37
Signed-off-by: seungho baek <sbsh.baek@samsung.com>
22 months agoMove VisualRenderer properties definition in SceneGraph side. 61/285961/2
Eunki, Hong [Fri, 23 Dec 2022 06:37:18 +0000 (15:37 +0900)]
Move VisualRenderer properties definition in SceneGraph side.

Move definition of VisualRenderer used properties SceneGraph::VisualRenderer::~~~.

Now sizeof(SceneGraph::Renderer) reduced from 328 --> 272

Change-Id: Ia943c6c09f8b7185ebbb4b5138ad02d1828634ce
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
22 months agoDo not block during process message queue 61/285861/4
Eunki Hong [Wed, 21 Dec 2022 12:03:26 +0000 (21:03 +0900)]
Do not block during process message queue

We don't need to block update thread during
whole message Process works.

Follow as NotificationManager::ProcessMessages()

Change-Id: I04549bcd91f426d5c98dc159a01f0ec7be950f5f
Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
22 months agoRemove annoying logs when we use astc image file 38/285938/1
Eunki, Hong [Thu, 22 Dec 2022 11:57:25 +0000 (20:57 +0900)]
Remove annoying logs when we use astc image file

We don't use bpp value when we don't use sub pixeldata.
Move that code into what it used.

Change-Id: I771318ec96e0da9ba0ce565d0a8cca52a47ed2f6
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
22 months agoAdd trace log to NotificationManager::ProcessMessages 56/285856/1
Heeyong Song [Wed, 21 Dec 2022 09:13:50 +0000 (18:13 +0900)]
Add trace log to NotificationManager::ProcessMessages

Change-Id: I8a7d3080087ef29448e3ac4b9ce333ce93e08e99

22 months agoAdd Renderer::BlendMode::USE_ACTOR_OPACITY 03/285403/10
seungho baek [Mon, 12 Dec 2022 08:00:52 +0000 (17:00 +0900)]
Add Renderer::BlendMode::USE_ACTOR_OPACITY

 - This option make the renderer opaque only when its Actor::Color is opaque.

Change-Id: I931b54bd42d83aa8460a9e6ee932f3511cf19401
Signed-off-by: seungho baek <sbsh.baek@samsung.com>
22 months agoMerge "Reduce GetCurrentSize call time" into devel/master
Eunki Hong [Mon, 19 Dec 2022 19:10:10 +0000 (19:10 +0000)]
Merge "Reduce GetCurrentSize call time" into devel/master

22 months agoMerge "Sync UTC harness" into devel/master
David Steele [Mon, 19 Dec 2022 18:55:26 +0000 (18:55 +0000)]
Merge "Sync UTC harness" into devel/master

22 months agoReduce GetCurrentSize call time 38/285738/2
Eunki, Hong [Mon, 19 Dec 2022 06:59:13 +0000 (15:59 +0900)]
Reduce GetCurrentSize call time

Call mOwner.GetCurrentSize() only if we use it

Change-Id: I1a22b4d86ad97856a14aa367f1b3d4b62b7e31bf
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
22 months agoFix transform matrix in case child actor didn't inherit some of its parent's transforms. 74/285174/7
seungho baek [Wed, 7 Dec 2022 07:28:03 +0000 (16:28 +0900)]
Fix transform matrix in case child actor didn't inherit some of its parent's transforms.

Change-Id: Ib711eae4ca1a33872927a54e04c8228aabc1d256
Signed-off-by: seungho baek <sbsh.baek@samsung.com>
22 months agoAdd trace log to FrameCallbackProcessor::Update 16/285716/2
Heeyong Song [Mon, 19 Dec 2022 01:59:45 +0000 (10:59 +0900)]
Add trace log to FrameCallbackProcessor::Update

Change-Id: I68f66b12400082d477518d6376c37ed53f144b4a

22 months agoChange DebugPriority name and Debug priority 11/285611/4
Heeyong Song [Thu, 15 Dec 2022 09:09:41 +0000 (18:09 +0900)]
Change DebugPriority name and Debug priority

Change-Id: I01dc0b22802a66b51d4ad3fb338b270c7d810142

22 months agoMerge "DALi Version 2.2.6" into devel/master
Adeel Kazmi [Fri, 16 Dec 2022 12:35:23 +0000 (12:35 +0000)]
Merge "DALi Version 2.2.6" into devel/master

22 months agoDALi Version 2.2.6 88/285688/1 dali_2.2.6
David Steele [Fri, 16 Dec 2022 12:12:38 +0000 (12:12 +0000)]
DALi Version 2.2.6

Change-Id: Ic92bbd0dbf8c066f667173312a1a9b68dd78e954

22 months agoMerge "Added memory pool logging" into devel/master
Adeel Kazmi [Fri, 16 Dec 2022 11:45:52 +0000 (11:45 +0000)]
Merge "Added memory pool logging" into devel/master

22 months agoAdded memory pool logging 98/285298/5
David Steele [Thu, 22 Sep 2022 10:04:26 +0000 (11:04 +0100)]
Added memory pool logging

Added methods to fetch the current capacity of memory pools
Added a method to Core to dump the capacities to the log output
(This is triggered by setting DALI_MEMORY_POOL_INTERVAL to a non-zero
value)

Added logging to PixelData to log individual allocations (By setting
DALI_LOG_PIXEL_DATA_SIZE to "1" or higher and enabling debug).

Added method to PixelData to log total allocation (By setting
DALI_OBJECT_PROFILER_INTERVAL to a non-zero value and enabling debug).

Change-Id: I45220005a652ca978ea552dd93564bedad784ba7

22 months agoMerge "Reducing Node struct size" into devel/master
David Steele [Fri, 16 Dec 2022 11:03:15 +0000 (11:03 +0000)]
Merge "Reducing Node struct size" into devel/master

23 months agoReducing Node struct size 26/285626/3
David Steele [Thu, 15 Dec 2022 10:50:11 +0000 (10:50 +0000)]
Reducing Node struct size

Removed ptr to transform manager data from templated
transform manager properties - replaced with compile
time offset to the data, so the ptr can be computed
quickly.

Added macros to make the template code simpler.

Change-Id: I3b94bcf3cf886b7477fc540d377efd6df605c94d

23 months ago(Partial Update) Remove unnecessary data 07/285607/1
Heeyong Song [Thu, 15 Dec 2022 08:15:21 +0000 (17:15 +0900)]
(Partial Update) Remove unnecessary data

Change-Id: I2132b9cff9e04a377784e81e5482e49d2f16fe15

23 months ago(Partial Update) Fix the issue when we have several RenderTasks 75/285575/2
Heeyong Song [Tue, 13 Dec 2022 06:00:32 +0000 (15:00 +0900)]
(Partial Update) Fix the issue when we have several RenderTasks

They may render on the off-screen buffer or the camera position may be moved.
Do not break the damaged rect calculation in the cases

Change-Id: Ie36922355bf979c5961bb9e7c12cde44a5644116

23 months agoSync UTC harness 73/285373/1
Eunki, Hong [Fri, 9 Dec 2022 14:10:28 +0000 (23:10 +0900)]
Sync UTC harness

Change-Id: I55204fa777d47c342bef9fb80eab887d4fd9bd0e
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
23 months agoMerge "DALi Version 2.2.5" into devel/master
Adeel Kazmi [Fri, 9 Dec 2022 11:24:29 +0000 (11:24 +0000)]
Merge "DALi Version 2.2.5" into devel/master

23 months agoDALi Version 2.2.5 58/285358/1 dali_2.2.5
Richard Huang [Fri, 9 Dec 2022 11:13:57 +0000 (11:13 +0000)]
DALi Version 2.2.5

Change-Id: I8d363182fdc3d6e028e3484aac0aae775e36e81a

23 months agoFix partial update issues 61/284761/7
Heeyong Song [Fri, 25 Nov 2022 06:36:00 +0000 (15:36 +0900)]
Fix partial update issues

Try to reuse RenderItems of the default root layer

Handle below cases for partial update
- One actor has multiple renderers
- One renderer is used by multiple actors
- Update uniform hash every frame

Change-Id: Iac12c5e00f9eb3fc507bbd4d15560f39f13b3061

23 months agoRefactoring node partial update cache 66/285066/3
David Steele [Mon, 5 Dec 2022 17:48:45 +0000 (17:48 +0000)]
Refactoring node partial update cache

Removing a level of inheritance, moving struct to node
Removed 1 buffer's worth of data, keep only last frame's data.
Instead, compute hash of node data and store that.

Cleaned up other data-provider structs and headers

Change-Id: I7b1033f37d0f22349f9c9cf0488feab28d63036b

23 months agoDALi Version 2.2.4 05/285005/1 dali_2.2.4
Adam Bialogonski [Fri, 2 Dec 2022 10:24:02 +0000 (10:24 +0000)]
DALi Version 2.2.4

Change-Id: I1266608b9f75391a447681fa3c0ca46c062d6644

23 months agoMerge "Minor coverity issue fixes" into devel/master
Eunki Hong [Thu, 1 Dec 2022 11:14:01 +0000 (11:14 +0000)]
Merge "Minor coverity issue fixes" into devel/master

23 months agoAdd MultiSampling FrameBuffer implement. 13/284213/8
Eunki, Hong [Fri, 11 Nov 2022 13:39:21 +0000 (22:39 +0900)]
Add MultiSampling FrameBuffer implement.

Let we allow to call FramebufferTexture2DMultisample if possible.

Change-Id: I4874ad78dfe1e468b5571ba4bc0112e7f710f492
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
23 months agoMinor coverity issue fixes 10/282610/17
Eunki, Hong [Thu, 6 Oct 2022 10:49:02 +0000 (19:49 +0900)]
Minor coverity issue fixes

Fix some minor coverity issues that might has meanful

1. Implement missing move operation.
2. Remove float equal checks by ==, != operator.
3. Remove useless std::move.
4. Resolve type missed operator (use enum BufferState as bool)
5. Remove virtual operation in Constructor/Destructor.
6. Use referenced iterator so we don't copy value.
7. Remove cyclic header include (a.k.a render-task-list-impl.h -> render-task-impl.h -> render-task-list-impl.h)

Change-Id: If01bd4df71f0bc661a9fda10e668204cd35301ad
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
23 months agoDALi Version 2.2.3 67/284767/1 dali_2.2.3
Richard Huang [Fri, 25 Nov 2022 11:06:29 +0000 (11:06 +0000)]
DALi Version 2.2.3

Change-Id: Iad5fe97118bf4b4bd6bcd54ce04b7f867d3b9d9e

23 months agoDALi Version 2.2.2 45/284545/1 dali_2.2.2
David Steele [Fri, 18 Nov 2022 11:49:38 +0000 (11:49 +0000)]
DALi Version 2.2.2

Change-Id: If912d17446af50ed6a3a33bebf093baa5260e841

23 months agoMerge "Deprecate Plane Distance setter + Implement OrthographicSize + Animatable...
Eunki Hong [Wed, 16 Nov 2022 08:09:03 +0000 (08:09 +0000)]
Merge "Deprecate Plane Distance setter + Implement OrthographicSize + Animatable AspectRatio" into devel/master

23 months agoMerge "Fix typo error" into devel/master
Eunki Hong [Wed, 16 Nov 2022 04:00:39 +0000 (04:00 +0000)]
Merge "Fix typo error" into devel/master

2 years agoDeprecate Plane Distance setter + Implement OrthographicSize + Animatable AspectRatio 15/283315/14
Eunki, Hong [Mon, 24 Oct 2022 06:04:28 +0000 (15:04 +0900)]
Deprecate Plane Distance setter + Implement OrthographicSize + Animatable AspectRatio

Deprecate API s.t Left/Right/Top/Bottom value setter directly.
Instead of these things, let we use OrthographicSize.
It will make that each plane distnaces symmetric so that center of camera.

Due to we can disconnect dependency of plane distance parameters,
now we can make AspectRatio animatable.

Change-Id: I7e18af1871d1efc805c11e2f6b7f12d0ee47d47a
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoFix typo error 03/284303/1
Eunki, Hong [Tue, 15 Nov 2022 06:52:20 +0000 (15:52 +0900)]
Fix typo error

Maybe is this typo error?

Change-Id: I450bd5ec74252f0c59616110aeb3f9b55b05d0e9
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years ago(DR) Fix texture binding 87/278987/4
Heeyong Song [Fri, 29 Jul 2022 02:35:32 +0000 (11:35 +0900)]
(DR) Fix texture binding

Change-Id: Idc56257d5864962facd7dc33628b24167ff0598b

2 years agoEnable Trace Filter with 0/1 37/284237/2
Heeyong Song [Mon, 14 Nov 2022 06:14:29 +0000 (15:14 +0900)]
Enable Trace Filter with 0/1

Change-Id: Ibe5ac416fff314fbb4a54b648df60763e5233533

2 years agoMerge "Fix SVACE issue" into devel/master
Heeyong Song [Mon, 14 Nov 2022 05:37:22 +0000 (05:37 +0000)]
Merge "Fix SVACE issue" into devel/master

2 years agoDALi Version 2.2.1 94/284194/1 dali_2.2.1
Adeel Kazmi [Fri, 11 Nov 2022 10:49:20 +0000 (10:49 +0000)]
DALi Version 2.2.1

Change-Id: I9bec9033b89991221cd7c9b1689cbed3c8009a4a

2 years agoFix SVACE issue 61/283361/2
Heeyong Song [Tue, 25 Oct 2022 06:16:14 +0000 (15:16 +0900)]
Fix SVACE issue

SIGNED_TO_BIGGER_UNSIGNED

Change-Id: Ieccc224f0cd0533ee51386b3a65aee2ede324ef7

2 years agoFix Rendering order issue when 3D layer render translucent 78/284078/6
Eunki, Hong [Wed, 9 Nov 2022 08:35:15 +0000 (17:35 +0900)]
Fix Rendering order issue when 3D layer render translucent

Sort rendering-order by Euclidean distance for special case.

Previously, we only check ModelView's translation z-value.
But if we use perspective projectoin camera, the distance might not
be fit as human sense.

Now, when layer is 3D and camera is perspective projection mode,
let we use zValue as Euclidean distance.

It cannot resolve translucent object's rendering order issue
perfectly. But can resolve some case.

Change-Id: Ie33cc5cfd338ff001b18885026a4daf779227b0e
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoFix Svace issue for 64bit 81/283881/1
Eunki, Hong [Fri, 4 Nov 2022 14:43:25 +0000 (23:43 +0900)]
Fix Svace issue for 64bit

Solve some convert from size_t to uint32_t case.

Change-Id: I486feb48eab38201aaae3bf9f2aadc0414789a5d
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoDALi Version 2.2.0 64/283864/1 dali_2.2.0
Adam Bialogonski [Fri, 4 Nov 2022 10:35:25 +0000 (10:35 +0000)]
DALi Version 2.2.0

Change-Id: I91b03ffe20cde7084717ca91a43f37c2c50320fe

2 years agoMerge "Add input source type and source data about Gesture. This is similar to MouseB...
joogab yun [Tue, 1 Nov 2022 00:36:42 +0000 (00:36 +0000)]
Merge "Add input source type and source data about Gesture. This is similar to MouseButton in TouchEvent." into devel/master

2 years agoAdd input source type and source data about Gesture. 68/283368/19
joogab.yun [Tue, 25 Oct 2022 08:21:50 +0000 (17:21 +0900)]
Add input source type and source data about Gesture.
This is similar to MouseButton in TouchEvent.

Now, you can see from which input the gesture was made.

Change-Id: Id1289e1482b21e756ebd5a549b7d8e9d1b1e19b7

2 years agoMerge "DALi Version 2.1.46" into devel/master
David Steele [Fri, 28 Oct 2022 10:27:24 +0000 (10:27 +0000)]
Merge "DALi Version 2.1.46" into devel/master

2 years agoDALi Version 2.1.46 47/283547/1 dali_2.1.46
Richard Huang [Fri, 28 Oct 2022 10:25:08 +0000 (11:25 +0100)]
DALi Version 2.1.46

Change-Id: Iea538285d3d930a4c440db70b8b02b94e5c6558e

2 years agoMerge "Fix race-condition when window is resized or rotated." into devel/master
Wonsik Jung [Fri, 28 Oct 2022 01:00:04 +0000 (01:00 +0000)]
Merge "Fix race-condition when window is resized or rotated." into devel/master

2 years agoMerge "Seperate some matrix operations to MatrixUtils" into devel/master
David Steele [Thu, 27 Oct 2022 13:28:59 +0000 (13:28 +0000)]
Merge "Seperate some matrix operations to MatrixUtils" into devel/master

2 years agoEnsure GlAbstraction is not copyable 86/283386/1
Adeel Kazmi [Tue, 25 Oct 2022 14:07:14 +0000 (15:07 +0100)]
Ensure GlAbstraction is not copyable

Change-Id: I95f40a776255ebfbba57d9761b3660dd3984b918

2 years agoFix race-condition when window is resized or rotated. 70/281870/9
Wonsik Jung [Thu, 22 Sep 2022 21:45:00 +0000 (06:45 +0900)]
Fix race-condition when window is resized or rotated.

Internal dali window module has some variables and flags.
They are set by both main thread and render thread.
It has the effect of race condition when window is resized or rotated serval times.
This patch is to fix them.

Change-Id: I63ecc4a5d711569323a8f055e3b46ae878126235

2 years agoSeperate some matrix operations to MatrixUtils 51/283151/18
Eunki, Hong [Wed, 19 Oct 2022 05:33:36 +0000 (14:33 +0900)]
Seperate some matrix operations to MatrixUtils

Move some static Matrix / Matrix3 operations into specific file.
Previous logic doesn't support multiply-asign operations.

 A = A * B; (valid. Because A operator=({result-of-(A*B)}))
 A *= B; (invalid)

To resolve this issue, we plan to implement another operator *= for Matrix.

To seperate codes more clean + If we plan to make some util API about Matrix
(something like Internal::MatrixUtils::MultiplyProjectionMatrix)
Make another file for matrix utils internal.

TODO : Internal::MatrixUtils::MultiplyProjectionMatrix use NEON.
TODO : Make projection matrix use MatrixUtils after camera refator finished

Change-Id: I4333c52c93fb24f618ed509fe101a83e4a9f36c1
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoDALi Version 2.1.45 82/283282/1 dali_2.1.45
David Steele [Fri, 21 Oct 2022 10:47:16 +0000 (11:47 +0100)]
DALi Version 2.1.45

Change-Id: If04c629888d288e6c513666d8623e75c99a785f2

2 years agoAdd trace logs to check performance 24/283124/2
Heeyong Song [Tue, 18 Oct 2022 09:43:48 +0000 (18:43 +0900)]
Add trace logs to check performance

Change-Id: I441a332afb89b8527c34eeadc1e3c7b332caa789

2 years agoMake SceneGraph::Camera as Node + FieldOfView animatable 59/282859/12
Eunki, Hong [Wed, 12 Oct 2022 10:53:39 +0000 (19:53 +0900)]
Make SceneGraph::Camera as Node + FieldOfView animatable

Previously, SceneGraph::Camera was not a SceneGraph::Node.
If we try to animate property of Camera, then
we use some PropertyBase s.t. PropertyOwner(==Node) doesn't owned.

To fix this logical unmatched issue, we make SceneGraph::Camera
as sub-class of SceneGraph::Node.

Moreover, We make Camera's FieldOfView Animatable.

After this patch merged, we try to refactor Camera's properties
and make them animatable.

Change-Id: I184f75b51a2152aea52879adc1e783cea7d190a0
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years ago(Partial Update) Continue to calculate damaged rects even though there is a 3D transf... 45/283045/3
Heeyong Song [Fri, 14 Oct 2022 01:53:57 +0000 (10:53 +0900)]
(Partial Update) Continue to calculate damaged rects even though there is a 3D transformed item

Change-Id: I58136911893f488664ecff2f2ef616593efb8658

2 years agoMerge "DALi Version 2.1.44" into devel/master
David Steele [Fri, 14 Oct 2022 12:03:01 +0000 (12:03 +0000)]
Merge "DALi Version 2.1.44" into devel/master

2 years agoDALi Version 2.1.44 96/282996/1 dali_2.1.44
Adam Bialogonski [Fri, 14 Oct 2022 09:25:17 +0000 (10:25 +0100)]
DALi Version 2.1.44

Change-Id: I83a0c308589df00e76ecaf79420eaf18356168d5

2 years agoMake template class Dali::IntPair 75/282675/13
Eunki, Hong [Sat, 8 Oct 2022 07:32:02 +0000 (16:32 +0900)]
Make template class Dali::IntPair

Make integer pair case so we can use
integer based pair struct.

Dali::Uint16Pair already used for a long time.
But now, we need Dali::Int32Pair to use signed case.

uint-16-pair.h is used on third party app, we cannot
remove this file yet.
So, Let we define Uint16Pair in that class.

Change-Id: I24055b8f70c3948a51a0147786725f192ade8990
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoMerge "Make Dali::Any move operator + Resolve memory leak." into devel/master
David Steele [Wed, 12 Oct 2022 15:17:41 +0000 (15:17 +0000)]
Merge "Make Dali::Any move operator + Resolve memory leak." into devel/master

2 years agoMerge "Matrix operator*" into devel/master
David Steele [Wed, 12 Oct 2022 14:56:30 +0000 (14:56 +0000)]
Merge "Matrix operator*" into devel/master

2 years agoMerge "Create ProjectionDirection property at CameraActor" into devel/master
David Steele [Wed, 12 Oct 2022 14:53:15 +0000 (14:53 +0000)]
Merge "Create ProjectionDirection property at CameraActor" into devel/master

2 years agoCreate ProjectionDirection property at CameraActor 70/282370/12
Eunki, Hong [Fri, 30 Sep 2022 07:19:58 +0000 (16:19 +0900)]
Create ProjectionDirection property at CameraActor

Add new property "ProjectionDirection" on CameraActor.
It determine whether current FieldOfView value base on
Vertical or Horizontal.
Default is Vertical.

Change-Id: I237f557af4bc03315ce5d6d6eeb25913e4fe7de4
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoMatrix operator* 43/282643/3
Eunki, Hong [Fri, 7 Oct 2022 07:31:09 +0000 (16:31 +0900)]
Matrix operator*

Matrix::Multiply(result, lhs, rhs) do as result = rhs * lhs;
It might makes some strange scense to future of Dali developer.

Let we make operator* so nobody feel confuse about the order of
multiply operation

Change-Id: I5adf0c8a8f29fa1c0774aa1e23ff0c3050e66af4
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoMake Dali::Any move operator + Resolve memory leak. 83/282583/5
Eunki, Hong [Thu, 6 Oct 2022 07:41:21 +0000 (16:41 +0900)]
Make Dali::Any move operator + Resolve memory leak.

Coverity minor issue fixed.
+
Resolve some memory leak.

Due to Dali::Any copy assign operator doesn't call
previous object's destructor, there can be memory leak.
(For example : Property::Map delete some values in destructor.)

Change-Id: Ifa29dd78b4f3689ed0ff00d9b8bcfe8ad9e167d6
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agonoexcept move for BaseHandle/InstrusivePtr/Math 34/282634/4
Eunki, Hong [Fri, 7 Oct 2022 04:48:47 +0000 (13:48 +0900)]
noexcept move for BaseHandle/InstrusivePtr/Math

It can be optimize when we use std::vector<> or
std::is_nothrow_move_constructible<>::value is true or
std::is_nothrow_move_assignable<>::value is true.

Change-Id: I5a8866b928d40d7e26a68486c5aef764bc68a9af
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoDALi Version 2.1.43 55/282655/1 dali_2.1.43
Adeel Kazmi [Fri, 7 Oct 2022 11:23:05 +0000 (12:23 +0100)]
DALi Version 2.1.43

Change-Id: I22ae8cbcf6dac4108aae288986964370d1d3fed3

2 years agoUse map instead of hashmap in signal cache 64/282564/3
Eunki, Hong [Thu, 6 Oct 2022 04:15:06 +0000 (13:15 +0900)]
Use map instead of hashmap in signal cache

std::unordered_map is heavy than std::map for small case.
Let make the signal more lightweight.

Change-Id: I7868b44831fa095b8cdd0f963c6ac66ac741e6a7
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoFix Window Rotation issue 90/282390/10
seungho [Fri, 30 Sep 2022 10:30:47 +0000 (19:30 +0900)]
Fix Window Rotation issue

 - Viewport was incorrectly computed when viewport is not fullscreen and window is rotated.
 - Scissor rect was incorrectly computed when viewport is not fullscreen and window is rotated.

Change-Id: I44c64a2216f6364d2d29e0bcdd38c5e0cbc7467c
Signed-off-by: seungho <sbsh.baek@samsung.com>
2 years agoMerge "Calculrate screen position with RenderTask" into devel/master
Adeel Kazmi [Mon, 3 Oct 2022 16:53:55 +0000 (16:53 +0000)]
Merge "Calculrate screen position with RenderTask" into devel/master

2 years agoDALi Version 2.1.42 78/282378/1 dali_2.1.42
Richard Huang [Fri, 30 Sep 2022 10:28:13 +0000 (11:28 +0100)]
DALi Version 2.1.42

Change-Id: I0f7ebbd5a33d3949c60995deb4af56c02ef20b25

2 years agoCalculrate screen position with RenderTask 13/280813/16
Eunki, Hong [Mon, 5 Sep 2022 10:14:39 +0000 (19:14 +0900)]
Calculrate screen position with RenderTask

Previous ScreenPosition / ScreenExtents consider
only the scene's default camera.
Now we make a new API that consider Custom camera's
View/Projection matrix.

Calculate screen position & extents is quite heavy
operation. So we need to seperate it for
simple 2D layer or 3D layer.

So, we add mLayer3DParentsCount value in actor.
It will be generated when actor is scene on,
or some layer's behaviour changed during on scene.

Change-Id: I7a6162bea84965f70800a6e7cbf2332e9933e20d
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoMerge "Optimize transform level propagate" into devel/master
David Steele [Tue, 27 Sep 2022 16:56:42 +0000 (16:56 +0000)]
Merge "Optimize transform level propagate" into devel/master

2 years agoMerge "Submit a empty command buffer when rendering is skipped to flush" into devel...
Heeyong Song [Tue, 27 Sep 2022 03:49:54 +0000 (03:49 +0000)]
Merge "Submit a empty command buffer when rendering is skipped to flush" into devel/master

2 years agoMerge "Moved event side actor world calculation" into devel/master
David Steele [Mon, 26 Sep 2022 10:45:00 +0000 (10:45 +0000)]
Merge "Moved event side actor world calculation" into devel/master

2 years agoSubmit a empty command buffer when rendering is skipped to flush 85/281985/1
Heeyong Song [Mon, 26 Sep 2022 02:24:37 +0000 (11:24 +0900)]
Submit a empty command buffer when rendering is skipped to flush

Change-Id: Id0be7a139f6b990a8c17212102a0619aaeb8ea80

2 years agoDALi Version 2.1.41 54/281954/1 dali_2.1.41
David Steele [Fri, 23 Sep 2022 10:56:24 +0000 (11:56 +0100)]
DALi Version 2.1.41

Change-Id: Ib771ee6b62ff43b1d08feefc0f66918e0512eb9f

2 years agoMoved event side actor world calculation 66/281866/1
David Steele [Thu, 22 Sep 2022 15:10:47 +0000 (16:10 +0100)]
Moved event side actor world calculation

Transition effects used event side calculation of world
transform and color. These are more useful in devel core
than internally in toolkit.

Change-Id: I1a86cee588e3c7beecf5ba1665b1464c5e54939f
Signed-off-by: David Steele <david.steele@samsung.com>
2 years agoOptimize transform level propagate 14/281814/1
Eunki, Hong [Thu, 22 Sep 2022 05:45:25 +0000 (14:45 +0900)]
Optimize transform level propagate

We can assume that if mIds[mParent[i]] < i,
then parent's mOrderedCompoents data validated.
So, if we can, we can use this valid parent value.

Change-Id: I464008a53d61258fcff846e07f92aee0a9d5cb8d
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoFix transform sceneId order issue 74/281674/3
Eunki, Hong [Tue, 20 Sep 2022 11:13:27 +0000 (20:13 +0900)]
Fix transform sceneId order issue

When mIds[mPanret[i]] is bigger then i,
mOrderedCOmponents[~~].sceneId become garbage.

To fix this issue, let we store sceneId first,
and propargate sceneId later.

Note : sceneId become the lastest parent's sceneId.
So, it always valid.

Change-Id: I27c6e51cda0ae696bf1ff5179ddb735f3e24aa65
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoSubmit command buffer when rendering is skipped 30/281430/1
Heeyong Song [Mon, 19 Sep 2022 02:56:45 +0000 (11:56 +0900)]
Submit command buffer when rendering is skipped

Change-Id: I4b9be39763b82d96982454e9bad356a38aceb600