platform/core/uifw/dali-core.git
20 hours agoDALi Version 2.4.23 14/325714/1 devel/master dali_2.4.23
Richard Huang [Fri, 13 Jun 2025 09:47:23 +0000 (10:47 +0100)]
DALi Version 2.4.23

Change-Id: Ia3f7478349fde121d136ba47bb8c0c9ab9635d2f

4 days agoAllow multiple cache renderers(as RenderContainer) 04/324304/5
jmm [Thu, 15 May 2025 07:50:48 +0000 (16:50 +0900)]
Allow multiple cache renderers(as RenderContainer)

Change-Id: Ic8495c768c0308fb2cb955dfc9690f7d15de0578
Signed-off-by: jmm <j0064423.lee@samsung.com>
7 days agoDALi Version 2.4.22 87/325287/1 dali_2.4.22
David Steele [Fri, 6 Jun 2025 11:21:32 +0000 (12:21 +0100)]
DALi Version 2.4.22

Change-Id: I0eb89309994c8d9c85c6cf91674a6de18f5b3ba7

2 weeks agoDALi Version 2.4.21 18/325018/1 dali_2.4.21
Richard Huang [Fri, 30 May 2025 09:47:47 +0000 (10:47 +0100)]
DALi Version 2.4.21

Change-Id: I505a8fc036ef058e2c05cdf418fe92c106c8fbd2

2 weeks agoAdd Actor::Ignored to optimize invisible actors in render thread 18/322118/13
Seungho Baek [Thu, 3 Apr 2025 12:57:14 +0000 (21:57 +0900)]
Add Actor::Ignored to optimize invisible actors in render thread

Change-Id: I042e90b711e9af80298c7f01213a2aed723d5216
Signed-off-by: Seungho Baek <sbsh.baek@samsung.com>
3 weeks agoMerge "DALi Version 2.4.20" into devel/master
David Steele [Fri, 23 May 2025 11:33:19 +0000 (11:33 +0000)]
Merge "DALi Version 2.4.20" into devel/master

3 weeks agoDALi Version 2.4.20 19/324719/1 dali_2.4.20
Adeel Kazmi [Fri, 23 May 2025 11:30:52 +0000 (12:30 +0100)]
DALi Version 2.4.20

Change-Id: Ie8f5a92039a2b0eeaec15c76c3a726241b1749f7

3 weeks agoMerge "[GestureDetector] NeedGesturePropagation is a value that is set after the...
joogab yun [Fri, 23 May 2025 00:27:06 +0000 (00:27 +0000)]
Merge "[GestureDetector] NeedGesturePropagation is a value that is set after the event is received, so it must be initialized when the gesture starts." into devel/master

3 weeks ago[GestureDetector] NeedGesturePropagation is a value that is set after the event is... 27/324627/3
joogab.yun [Thu, 22 May 2025 01:06:58 +0000 (10:06 +0900)]
[GestureDetector] NeedGesturePropagation is a value that is set after the event is received, so it must be initialized when the gesture starts.

Change-Id: I9c2bbc749895503103a7c5920b785a8720bf1d68

4 weeks agoDALi Version 2.4.19 21/324421/1 dali_2.4.19
David Steele [Fri, 16 May 2025 13:29:49 +0000 (14:29 +0100)]
DALi Version 2.4.19

Change-Id: Idebdc62bea5a5ec9e680224d864dfffb3096d4b3

4 weeks agoMake basic Dot / Length / Normalize consider w parameter 34/324234/5
Eunki, Hong [Wed, 14 May 2025 09:27:06 +0000 (18:27 +0900)]
Make basic Dot / Length / Normalize consider w parameter

Let we make Dot / Length / LengthSquared / Normalize consider w components.

If we need to calculate only xyz components due to the performance,
let we use Dot3 / Length3 / LengthSquared3 / Normalize3 instead.

Note : I also think that Vector4 type need to consider alpha value.
For example, color's opacity changeness should be detected by condition.
So just keep them use Length() instead Lenght3()

Change-Id: I731b3711f07e994f7fff48fb3a467c69301798b3
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
4 weeks agoMerge "Apply sorted render item only if required" into devel/master
Eunki Hong [Wed, 14 May 2025 05:02:31 +0000 (05:02 +0000)]
Merge "Apply sorted render item only if required" into devel/master

4 weeks agoMinor optimization for matrix operations 35/324135/7
Eunki, Hong [Tue, 13 May 2025 08:22:15 +0000 (17:22 +0900)]
Minor optimization for matrix operations

1. Make GetScale() more faster, to get the length without create Vector3
2. Add new API GetScaleXY() for dirty rect calculation
3. Optimize bound sphere calculation logic

Change-Id: Ifde5a2f0a1e3056c9443eff3be5bf8bc13561631
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
4 weeks agoApply sorted render item only if required 13/324113/2
Eunki, Hong [Tue, 13 May 2025 06:34:52 +0000 (15:34 +0900)]
Apply sorted render item only if required

Change-Id: I5c08b2f34bb4bf0d2d92392fe1066a5058908641
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
4 weeks agoSort RenderItems only if we need 65/323965/3
Eunki Hong [Fri, 9 May 2025 15:24:19 +0000 (00:24 +0900)]
Sort RenderItems only if we need

Change-Id: I9ac9fde63a8a473d1d7999603874fd5ebdda43f1
Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
4 weeks agoLet we don't touch RenderItemKey or RendererKey during sort RenderItems 47/323947/4
Eunki, Hong [Fri, 9 May 2025 11:00:30 +0000 (20:00 +0900)]
Let we don't touch RenderItemKey or RendererKey during sort RenderItems

Until now, we try to ask RenderItem->mDepthIndex at comparitor.

Let we make some other way to compair the depth index for the UI layer case.

Change-Id: Ib2e15b85b2e76cd1953bb03b0cf800b0cc65596d
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
5 weeks agoMake requested property basis resetter capacity as zero 39/323939/2
Eunki, Hong [Fri, 9 May 2025 09:32:45 +0000 (18:32 +0900)]
Make requested property basis resetter capacity as zero

Since clear & rehash is heavyer than swap(), let we call it if we use
temperal copy, and use it.

Change-Id: I28cfd928c55d6ca10a165c26ebf4ded824da8df8
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
5 weeks agoMerge "DALi Version 2.4.18" into devel/master
Adeel Kazmi [Fri, 9 May 2025 09:37:28 +0000 (09:37 +0000)]
Merge "DALi Version 2.4.18" into devel/master

5 weeks agoDALi Version 2.4.18 15/323915/1 dali_2.4.18
Adeel Kazmi [Fri, 9 May 2025 06:31:16 +0000 (07:31 +0100)]
DALi Version 2.4.18

Change-Id: I513ddd6a07ffb4d7c240e89df025b951e12de48d

5 weeks agoMake HashUtil function as inline 42/323842/5
Eunki, Hong [Thu, 8 May 2025 03:19:25 +0000 (12:19 +0900)]
Make HashUtil function as inline

Let we make hashutil functions as inline instead of cpp.

Seperate it as cpp if we prepare to implement as NEON.

Change-Id: I6c6c8eae8e3b7d0407bceef5b675c5410b33768f
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
5 weeks agoChange SpringData::GetDuration function from static to member method. 59/323859/4
Seungho Baek [Thu, 8 May 2025 07:02:13 +0000 (16:02 +0900)]
Change SpringData::GetDuration function from static to member method.

Change-Id: I3ede8ee6aad1e58bea11d789cd1cc57d84b9f51f
Signed-off-by: Seungho Baek <sbsh.baek@samsung.com>
5 weeks agoMerge "Make VertexBufferUpdateCallback mark as changed" into devel/master
Eunki Hong [Wed, 7 May 2025 13:32:46 +0000 (13:32 +0000)]
Merge "Make VertexBufferUpdateCallback mark as changed" into devel/master

5 weeks agoMerge "Skip PreRenderScene and ClearScene if it is not initialized" into devel/master
Eunki Hong [Wed, 7 May 2025 05:18:38 +0000 (05:18 +0000)]
Merge "Skip PreRenderScene and ClearScene if it is not initialized" into devel/master

5 weeks agoSkip PreRenderScene and ClearScene if it is not initialized 33/323733/1
Eunki, Hong [Wed, 7 May 2025 02:06:27 +0000 (11:06 +0900)]
Skip PreRenderScene and ClearScene if it is not initialized

Change-Id: Ice54353a8f7441525ca5e7ba717a9ed021781f96
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
5 weeks ago(VisualRenderer) Forcibly ignore shared UBO if we call RegisterVisualTransformUniform() 26/323726/2
Eunki, Hong [Wed, 7 May 2025 00:32:34 +0000 (09:32 +0900)]
(VisualRenderer) Forcibly ignore shared UBO if we call RegisterVisualTransformUniform()

Since the change of Pipeline give overhead for real world applications,
let we just forcibly ignore shared UBO if we don't use default visual UBO cases.

Change-Id: I1edec4752c54d55f91b61f6a12c8ccebf860e32f
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
5 weeks agoPrint logs when scene initialize and uninitialized + print log if render target is... 41/323641/2
Eunki Hong [Fri, 2 May 2025 06:51:09 +0000 (15:51 +0900)]
Print logs when scene initialize and uninitialized + print log if render target is nullptr

Change-Id: I61f651aa70431fb0f0095609077ec92a4ef52698
Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
6 weeks agoDALi Version 2.4.17 50/323650/1 dali_2.4.17
Richard Huang [Fri, 2 May 2025 09:59:12 +0000 (10:59 +0100)]
DALi Version 2.4.17

Change-Id: I13f6ace58b099267022c503b00a4dd4e728baaf4

6 weeks agoMake VertexBufferUpdateCallback mark as changed 30/323630/3
Eunki Hong [Thu, 1 May 2025 09:53:39 +0000 (18:53 +0900)]
Make VertexBufferUpdateCallback mark as changed

Let we mark vertex buffer data was changed by some callback.

TODO : Need to fix GeometryBufferChanged callback invoked every frame.

Change-Id: Ib74e13bf87408a62ba6665320d4b33cf1cf60d82
Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
6 weeks agoMerge "Removed unnecessary fomat file as it breaks some clang builds" into devel...
Adeel Kazmi [Thu, 1 May 2025 12:46:43 +0000 (12:46 +0000)]
Merge "Removed unnecessary fomat file as it breaks some clang builds" into devel/master

6 weeks agoRemoved unnecessary fomat file as it breaks some clang builds 19/323619/1
Adeel Kazmi [Wed, 30 Apr 2025 22:49:32 +0000 (23:49 +0100)]
Removed unnecessary fomat file as it breaks some clang builds

Change-Id: I40467afda7d07731947b9c456560444af2da8686

6 weeks agoMerge "Reset uniform blocks flags at post render time" into devel/master
Eunki Hong [Wed, 30 Apr 2025 14:22:23 +0000 (14:22 +0000)]
Merge "Reset uniform blocks flags at post render time" into devel/master

6 weeks agoAlphaFunction for spring animation 19/323019/14
Seungho Baek [Tue, 22 Apr 2025 05:15:09 +0000 (14:15 +0900)]
AlphaFunction for spring animation

Change-Id: Ie25f268977c6b5e87ad57e5cae2279adbbba36c5
Signed-off-by: Seungho Baek <sbsh.baek@samsung.com>
6 weeks agoReset uniform blocks flags at post render time 74/323574/1
Eunki, Hong [Wed, 30 Apr 2025 07:17:14 +0000 (16:17 +0900)]
Reset uniform blocks flags at post render time

Change-Id: Ia16f4eeb8f5eb6c28fbd172a9eb20a47aaa9ad37
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
6 weeks agoMerge "The tap gesture is not continuous. Since it is a gesture that occurs when...
joogab yun [Wed, 30 Apr 2025 04:49:52 +0000 (04:49 +0000)]
Merge "The tap gesture is not continuous. Since it is a gesture that occurs when up, CancelProcessing is not needed." into devel/master

6 weeks agoMerge "Change OffscreenRenderableType change by Register, instead of Set" into devel...
Eunki Hong [Tue, 29 Apr 2025 11:50:32 +0000 (11:50 +0000)]
Merge "Change OffscreenRenderableType change by Register, instead of Set" into devel/master

6 weeks agoThe tap gesture is not continuous. Since it is a gesture that occurs when up, CancelP... 95/323495/1
joogab.yun [Tue, 29 Apr 2025 08:53:10 +0000 (17:53 +0900)]
The tap gesture is not continuous. Since it is a gesture that occurs when up, CancelProcessing is not needed.

Change-Id: I6b16405f5b884999dabc5fc430fb93902bec8680

6 weeks agoChange OffscreenRenderableType change by Register, instead of Set 49/323249/3
Eunki Hong [Thu, 24 Apr 2025 14:56:47 +0000 (23:56 +0900)]
Change OffscreenRenderableType change by Register, instead of Set

We have multiple objects to try to change the custom-actor's OffscreenRenderableType.
Let we count the number of type called by bitfield, and check the enum by the counts.

Change-Id: I95049c17007a878a21316df73476cbe5841a1138
Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
6 weeks agoCalculate align size at UniformBuffer, not external 28/323228/2
Eunki, Hong [Thu, 24 Apr 2025 08:55:22 +0000 (17:55 +0900)]
Calculate align size at UniformBuffer, not external

We don't need to give alignment ownership of memory offset to outsize.

Let we open the size freely, and calculate offset internally.

Change-Id: I7cd0ef88f15e716a75b7caff74830e35e3da076f
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
7 weeks agoMerge "Make multiple renderer share the list of uboView + Recycle uboView" into devel...
David Steele [Fri, 25 Apr 2025 12:44:53 +0000 (12:44 +0000)]
Merge "Make multiple renderer share the list of uboView + Recycle uboView" into devel/master

7 weeks agoDALi Version 2.4.16 17/323317/1 dali_2.4.16
David Steele [Fri, 25 Apr 2025 10:33:20 +0000 (11:33 +0100)]
DALi Version 2.4.16

Change-Id: I837190b868dfdcd71c8577c4bf1025ed489eba42

7 weeks agoMake multiple renderer share the list of uboView + Recycle uboView 35/322935/6
Eunki, Hong [Fri, 18 Apr 2025 06:16:30 +0000 (15:16 +0900)]
Make multiple renderer share the list of uboView + Recycle uboView

Let we reduce the allocation of ubo view list

Also, make we recycle same pointer of temperal uboView,
so we can reduce reallocate memory from pool.

Change-Id: Idb28c6227350a36ebc7c4e537fd90e385bb903f9
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
7 weeks agoMerge "Added FILE_CACHE_SUPPORT hint for shader" into devel/master
sunghyun kim [Wed, 23 Apr 2025 04:17:54 +0000 (04:17 +0000)]
Merge "Added FILE_CACHE_SUPPORT hint for shader" into devel/master

7 weeks agoMerge "Make new range for AnimatableProperty registration without uniform mapping...
David Steele [Tue, 22 Apr 2025 17:32:02 +0000 (17:32 +0000)]
Merge "Make new range for AnimatableProperty registration without uniform mapping" into devel/master

7 weeks agoAdded FILE_CACHE_SUPPORT hint for shader 49/322649/9
sunghyun kim [Mon, 14 Apr 2025 04:25:00 +0000 (13:25 +0900)]
Added FILE_CACHE_SUPPORT hint for shader

Previously, all custom Shaders supported file caching, which was not the intended behavior.
therefore, we added a flag to distinguish between internally generated code and externally generated code.
if you want to enable File Caching for externally generated shader code, you can do so using this hint.
(however, the validity of the shader must be verified by the app itself.)

Change-Id: I5e0cb0c6f4177da8159c50e2e27a0833b2c6e54f

8 weeks agoEnsure to call program.GetUniform() only 1 times even if we found failed. 69/322869/3
Eunki, Hong [Thu, 17 Apr 2025 05:58:46 +0000 (14:58 +0900)]
Ensure to call program.GetUniform() only 1 times even if we found failed.

Until now, UniformIndexMap state mark as initialized = false if given unform
not found at shader.

In this case, we always try to re-search about given uniform name, which is useless.

To avoid this case, let we make the uniform found result as enum,
and so we can ensure that program.GetUniform only 1 time.

Change-Id: I23a180980f556e3f05302622453258f87742344d
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
8 weeks agoMake new range for AnimatableProperty registration without uniform mapping 02/322802/3
Eunki, Hong [Wed, 16 Apr 2025 04:20:52 +0000 (13:20 +0900)]
Make new range for AnimatableProperty registration without uniform mapping

Change-Id: I8039aceafea494e4eb514915bd05a7aaea77a35d
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
8 weeks agoMerge "DALi Version 2.4.15" into devel/master
David Steele [Thu, 17 Apr 2025 07:54:06 +0000 (07:54 +0000)]
Merge "DALi Version 2.4.15" into devel/master

8 weeks agoDALi Version 2.4.15 80/322880/1 dali_2.4.15
Richard Huang [Thu, 17 Apr 2025 07:44:54 +0000 (08:44 +0100)]
DALi Version 2.4.15

Change-Id: Idec53ed89316aa8ac9af6e55b6da1909ac63fca3

8 weeks agoAdd RenderInputCallback worldColor value 45/322845/1
Eunki, Hong [Wed, 16 Apr 2025 10:02:45 +0000 (19:02 +0900)]
Add RenderInputCallback worldColor value

Let we include world color infomation of actor,
so native draw callback use the color infomation

Change-Id: Iccd1057e35fcbc925091fefbeee50ea65bb57ba0
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
8 weeks agoFix typo error (2) 20/322820/1
Eunki, Hong [Wed, 16 Apr 2025 07:11:02 +0000 (16:11 +0900)]
Fix typo error (2)

Sorry :(

Change-Id: I88c1b22aef6c58a0f6617617699f3197c3eeea02
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
8 weeks agoFix typo error 86/322786/2
Eunki, Hong [Wed, 16 Apr 2025 01:59:28 +0000 (10:59 +0900)]
Fix typo error

Change-Id: I262c32601df7eb2c993f0ec54bb3171d082404da
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 months agoMake UBOV2::AlignSize() API as inline 32/322632/3
Eunki, Hong [Mon, 14 Apr 2025 01:17:10 +0000 (10:17 +0900)]
Make UBOV2::AlignSize() API as inline

Since we don't change mAlighment ever, we can mark it as const,
and move calculate Aligned size as inline function.

Change-Id: I7aeab753325aff16dca19ab53d13e9cb9f94d975
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 months agoMerge "Use UniformBufferView memory pool" into devel/master
Eunki Hong [Fri, 11 Apr 2025 12:39:37 +0000 (12:39 +0000)]
Merge "Use UniformBufferView memory pool" into devel/master

2 months agoMerge "DALi Version 2.4.14" into devel/master
David Steele [Fri, 11 Apr 2025 08:54:25 +0000 (08:54 +0000)]
Merge "DALi Version 2.4.14" into devel/master

2 months agoDALi Version 2.4.14 91/322591/1 dali_2.4.14
Adeel Kazmi [Fri, 11 Apr 2025 07:27:02 +0000 (08:27 +0100)]
DALi Version 2.4.14

Change-Id: I0e18651e8ae0d091c711b3b9fba8bf9fd67aa8f7

2 months agoUse UniformBufferView memory pool 86/322586/1
Eunki, Hong [Fri, 11 Apr 2025 06:14:08 +0000 (15:14 +0900)]
Use UniformBufferView memory pool

Per each Renderer::Render time, we create UniformBufferView the number of uniform blocks,
and destroy at that time.

Since we create & destroy UboView very frequency every frame, we'd better
keep this memory as pool system.

Moreover, let we remove some useless values and operations relative with
UBO View.

Let we make UboView.Write's offset parameter is relative of
View itself's offset, instead of UboBuffer's offset.

It will reduce useless offset getter calling

Change-Id: I583728ec1bd4cf0a1a34f6002a647f4f15a32e12
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 months agoDestroy renderer's node index map if node detached 52/322452/2
Eunki, Hong [Wed, 9 Apr 2025 07:36:25 +0000 (16:36 +0900)]
Destroy renderer's node index map if node detached

It will reduce the time of Renderer with single, or multiple Node connected case.

It was useless iterate when renderer with single node (==usual cases) connected
and detached.

Instead, let we just destroy whole container, and re-generate at next render loop.

Change-Id: Ied6dd91b97ce4f693e5a004acfdec11b59bc3f80
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 months agoMake HashUtil implements as cpp, So reduce duplicated implmenets 07/322207/14
Eunki Hong [Sun, 6 Apr 2025 05:05:43 +0000 (14:05 +0900)]
Make HashUtil implements as cpp, So reduce duplicated implmenets

Let we make basement of hash calculate optimization

+

Include below patchset, due to line coverage
https://review.tizen.org/gerrit/c/platform/core/uifw/dali-core/+/322289

Change-Id: I8b4679b737f5adfa0c09932af17f02d61bdea8a4
Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
2 months agoMerge "Use swap for some cases instead move assign." into devel/master
David Steele [Wed, 9 Apr 2025 09:21:23 +0000 (09:21 +0000)]
Merge "Use swap for some cases instead move assign." into devel/master

2 months agoUse swap for some cases instead move assign. 49/322449/1
Eunki, Hong [Wed, 9 Apr 2025 07:18:52 +0000 (16:18 +0900)]
Use swap for some cases instead move assign.

Since library don't make sure that moved std::vector container is cleared.

To make ensure, let we use std::vector::swap() instead move assign with clear.

Change-Id: I88742bc6cea8f32f15db6e733278f103467792e6
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 months agoPrint some critical warning message as error to print at release mode 62/322162/5
Eunki, Hong [Fri, 4 Apr 2025 04:10:40 +0000 (13:10 +0900)]
Print some critical warning message as error to print at release mode

Since DALI_LOG_WARNING didn't print any logs at release mode,
several critical errors didn't print any infomations.

To make ensure those are real error, let we change the
log level as 'ERROR' and allow to print at release mode binary.

Change-Id: Ib74c21979799a53d4288d87feb849360fd3f9072
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 months agoMerge "Fix svace - Assert if RenderItem.mNode is nullptr + Print log if sceneobject...
Eunki Hong [Wed, 9 Apr 2025 05:17:33 +0000 (05:17 +0000)]
Merge "Fix svace - Assert if RenderItem.mNode is nullptr + Print log if sceneobject is nullptr" into devel/master

2 months agoMerge "GeometryTouchEvent :InterceptTouchEvents are propagated in a parent-child...
joogab yun [Wed, 9 Apr 2025 04:23:25 +0000 (04:23 +0000)]
Merge "GeometryTouchEvent :InterceptTouchEvents are propagated in a parent-child relationship." into devel/master

2 months agoGeometryTouchEvent :InterceptTouchEvents are propagated in a parent-child relationship. 68/322368/4
joogab.yun [Tue, 8 Apr 2025 04:54:41 +0000 (13:54 +0900)]
GeometryTouchEvent :InterceptTouchEvents are propagated in a parent-child relationship.

Change-Id: Iffe7d8d5aca362ce9fee7e0fed4eac28d87c15cf

2 months agoFix svace - Assert if RenderItem.mNode is nullptr + Print log if sceneobject is nullptr 25/322425/1
Eunki, Hong [Wed, 9 Apr 2025 00:52:55 +0000 (09:52 +0900)]
Fix svace - Assert if RenderItem.mNode is nullptr + Print log if sceneobject is nullptr

Change-Id: Ib85427f2605a6685e4a0c37142195ab82361c399
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 months agoMerge "Give range of tags for constraints" into devel/master
Eunki Hong [Tue, 8 Apr 2025 22:40:46 +0000 (22:40 +0000)]
Merge "Give range of tags for constraints" into devel/master

2 months agoMerge "Adding UniformBlock for shared uniforms" into devel/master
Eunki Hong [Tue, 8 Apr 2025 22:39:19 +0000 (22:39 +0000)]
Merge "Adding UniformBlock for shared uniforms" into devel/master

2 months agoAdd Rendered flag for PreRender the Scene 93/321993/6
Eunki, Hong [Wed, 2 Apr 2025 02:07:31 +0000 (11:07 +0900)]
Add Rendered flag for PreRender the Scene

Let we make some interface whether given scene rendered previous frame or not.

Until now, we only had "current" scene has render instruction to scene or not.
But also, we should clear the scene if "previous" scene had render instruction
but not now.

Since it could not be known by single boolean value, we make another class
to communicate the PreRender result.

By this infomation, we should determine whether we should call
ClearScene() or not even if fullSwap keyword not applied.

Furthermore, Let we make PreRender(Scene) API name as PreRenderScene,
pairwise with RenderScene().

Change-Id: Iab820942aff1d136cef1ab111901dc99c7ccdcf7
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 months agoMerge "(Animation) Allow to print debugging logs for release mode" into devel/master
Eunki Hong [Tue, 8 Apr 2025 04:54:32 +0000 (04:54 +0000)]
Merge "(Animation) Allow to print debugging logs for release mode" into devel/master

2 months agoAdding UniformBlock for shared uniforms 46/315546/39
David Steele [Mon, 26 Jun 2023 08:46:13 +0000 (09:46 +0100)]
Adding UniformBlock for shared uniforms

Let we make UniformBlock class and connect it to Shader.

The UniformBlock who have same name with at shader, will ignore
the value of Actor - Renderer - Shader propert chain. And will use
UniformBlock itself's value.

All renderer who has same shader with connected uniform block, will have
same uniform values at rendering time.

It will reduce the number of UniformWrite call at render thread.

Note : Since Uniform have dependency with Program, we should clear
cached Program at program-controller whenerver we try to connect uniform blocks
to shader.

TODO : We should notify to Graphics::Program s.t. given uniform block is shared.

The binding value of shared uniform block
 - glUniformBlockBinding(~~, ~~, binding);

should not call BindBufferRange in future, match as

 - glBindBufferRange(~~, binding, ~~~~);

Cherry-pick of patchset : https://archive.tizen.org/gerrit/c/platform/core/uifw/dali-core/+/294788

Change-Id: I9b0dab139a7064bb8889db9693e4f84ad74185ad

2 months agoGive range of tags for constraints 10/321910/7
Eunki, Hong [Tue, 1 Apr 2025 02:27:58 +0000 (11:27 +0900)]
Give range of tags for constraints

Let we give constraint tag's range for custom and internal.

The tags what we can control as public is only for custom ranges,
and make internal constraint didn't removed.

Change-Id: I0ab45d4ed258cdcd30f4c98a61b0a0251cf4c692
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 months agoDALi Version 2.4.13 01/322301/1 dali_2.4.13
David Steele [Mon, 7 Apr 2025 10:38:38 +0000 (11:38 +0100)]
DALi Version 2.4.13

Change-Id: I7d7acdc14f56d7866bc3d4274e8d6c27caafa7a2

2 months ago(Animation) Allow to print debugging logs for release mode 52/322152/4
Eunki, Hong [Fri, 4 Apr 2025 02:28:46 +0000 (11:28 +0900)]
(Animation) Allow to print debugging logs for release mode

Let we print animation relative logs if
- trace enabled
- DALI_TRACE_PERFORMANCE_MARKER enabled
- DALI_LOG_DEBUG_INFO printable

Change-Id: I1619b265bda50e6a98a45eddbb14b954ee023237
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 months agoMerge "(dali_env) Check if vulkan is installed when outputting setenv" into devel...
Adeel Kazmi [Thu, 3 Apr 2025 15:56:22 +0000 (15:56 +0000)]
Merge "(dali_env) Check if vulkan is installed when outputting setenv" into devel/master

2 months agoMerge "Hit Test for OffScreenRendering" into devel/master
Seungho BAEK [Thu, 3 Apr 2025 06:19:05 +0000 (06:19 +0000)]
Merge "Hit Test for OffScreenRendering" into devel/master

2 months agoHit Test for OffScreenRendering 90/321890/12
Seungho Baek [Mon, 31 Mar 2025 12:02:16 +0000 (21:02 +0900)]
Hit Test for OffScreenRendering

Change-Id: I32c7c00def338a804cf118436a2de13b11b8f4cc
Signed-off-by: Seungho Baek <sbsh.baek@samsung.com>
2 months ago(UnsafeDirectRendering) Reset geometry cache after direct native draw 14/321914/1
Eunki, Hong [Tue, 1 Apr 2025 03:52:16 +0000 (12:52 +0900)]
(UnsafeDirectRendering) Reset geometry cache after direct native draw

Change-Id: If8d398b12a0ea477794defff703c6b81f4e86cd5
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 months ago(dali_env) Check if vulkan is installed when outputting setenv 26/321826/1
Adeel Kazmi [Fri, 28 Mar 2025 18:05:50 +0000 (18:05 +0000)]
(dali_env) Check if vulkan is installed when outputting setenv

Change-Id: I374cc14ffe3dd09d313411a70ca7e10a18e78313

2 months agoRemove error message when we set/get AnimatableProperty 25/321825/2
Eunki Hong [Fri, 28 Mar 2025 14:48:11 +0000 (23:48 +0900)]
Remove error message when we set/get AnimatableProperty

We only need to call setFunc/getFunc only if it exist.
Until now, it check as error if sefFunc/getFunc not exist.

Change-Id: I534e9dd2f7b76e9a50db1935931eea99cc1b70ca
Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
2 months agoMerge "DALi Version 2.4.12" into devel/master
Adeel Kazmi [Fri, 28 Mar 2025 12:13:52 +0000 (12:13 +0000)]
Merge "DALi Version 2.4.12" into devel/master

2 months agoDALi Version 2.4.12 10/321810/1 dali_2.4.12
Adeel Kazmi [Fri, 28 Mar 2025 11:46:52 +0000 (11:46 +0000)]
DALi Version 2.4.12

Change-Id: I188963c11f5fbc4624282a535801da9238696313

2 months agoAllow animatable property getter and setter functions 93/320793/9
jmm [Fri, 7 Mar 2025 08:35:12 +0000 (17:35 +0900)]
Allow animatable property getter and setter functions

Change-Id: I2b314566bb1ecfffad9533bee61d085289604788
Signed-off-by: jmm <j0064423.lee@samsung.com>
2 months ago(Constraint) Bake constraint property only if value changed 25/321625/1
Eunki, Hong [Wed, 26 Mar 2025 02:10:57 +0000 (11:10 +0900)]
(Constraint) Bake constraint property only if value changed

Change-Id: I8aa0bd9b0a5f2f41f0466f8bba278ac978327946
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 months agoSet RendererAdded value at UpdateStatus 39/321539/1
Eunki, Hong [Mon, 24 Mar 2025 04:39:26 +0000 (13:39 +0900)]
Set RendererAdded value at UpdateStatus

Change-Id: Ia6dd039946ed952585beb8be54b908201acde0de
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 months agoEnsure to SceneObject initialized 32/321532/2
Eunki, Hong [Mon, 24 Mar 2025 10:30:59 +0000 (19:30 +0900)]
Ensure to SceneObject initialized

Change-Id: Ia8a6a842840def7a758adaf45f0957e0a6a171de
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 months agoMerge "(HitTest) Use l-value or raw pointer of Internal::Actor, instead IntrusivePtr...
Eunki Hong [Tue, 25 Mar 2025 01:22:37 +0000 (01:22 +0000)]
Merge "(HitTest) Use l-value or raw pointer of Internal::Actor, instead IntrusivePtr" into devel/master

2 months agoMerge changes I0c29d9e4,Iee4f76dc,Id6ea7306 into devel/master
David Steele [Mon, 24 Mar 2025 15:01:54 +0000 (15:01 +0000)]
Merge changes I0c29d9e4,Iee4f76dc,Id6ea7306 into devel/master

* changes:
  Core::PreRender returns true if something is renderable to scene
  Adding clear color to scene-graph Scene
  Debugging render scene

2 months ago(HitTest) Use l-value or raw pointer of Internal::Actor, instead IntrusivePtr 02/321502/2
Eunki, Hong [Mon, 24 Mar 2025 07:55:30 +0000 (16:55 +0900)]
(HitTest) Use l-value or raw pointer of Internal::Actor, instead IntrusivePtr

Since std::atomic is expensive, we need to touch him less times if we can.

Hit test logic only works internally. So we could remove IntrusivePtr usage.

The only problem is HitTestResult callback case.
But for now, it used less usage, so we can ignore this cases.

Change-Id: Iaff07402401ecde339629068f52406dd1105a00d
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 months agoInvert Y when the camera renders on Framebuffer and y invert is true. 94/321494/1
Seungho Baek [Mon, 24 Mar 2025 05:44:53 +0000 (14:44 +0900)]
Invert Y when the camera renders on Framebuffer and y invert is true.

 - When scene is drawn on window (with viewport), DALi draws scene on window directly so picking ray and result is always fit.
 - When scene is drawn on FBO, DALi cannot know how the result is drawn by app, so picking ray is always on space that has (0, -1, 0) as UP.

Change-Id: I441356c5b128711ca864a9cd2d51e166f297d245
Signed-off-by: Seungho Baek <sbsh.baek@samsung.com>
2 months agoMerge "Hit Test Fix for layered Hit test" into devel/master
Seungho BAEK [Mon, 24 Mar 2025 05:23:04 +0000 (05:23 +0000)]
Merge "Hit Test Fix for layered Hit test" into devel/master

2 months agoCore::PreRender returns true if something is renderable to scene 76/321476/1
David Steele [Fri, 21 Mar 2025 17:36:03 +0000 (17:36 +0000)]
Core::PreRender returns true if something is renderable to scene

Change-Id: I0c29d9e4ed1034b622e130d347a157f1e3f6633b

2 months agoMerge "(DirectRendering) Send rotated clippingBox so we can call glScissor without...
Eunki Hong [Fri, 21 Mar 2025 11:33:10 +0000 (11:33 +0000)]
Merge "(DirectRendering) Send rotated clippingBox so we can call glScissor without convert" into devel/master

2 months agoAdding clear color to scene-graph Scene 39/321239/4
David Steele [Mon, 17 Mar 2025 18:58:03 +0000 (18:58 +0000)]
Adding clear color to scene-graph Scene

Change-Id: Iee4f76dcb41feab4d0bce7d8bc2bc4cbbe7bcc58

2 months agoDebugging render scene 38/321238/3
David Steele [Tue, 11 Mar 2025 18:36:18 +0000 (18:36 +0000)]
Debugging render scene

Added more debug to RenderScene under LOG_RENDER_MANAGER tag

Change-Id: Id6ea7306dc166a438abe8033b7015e1f057a16e8

2 months agoMerge "DALi Version 2.4.11" into devel/master
David Steele [Fri, 21 Mar 2025 10:50:21 +0000 (10:50 +0000)]
Merge "DALi Version 2.4.11" into devel/master

2 months agoDALi Version 2.4.11 59/321459/1 dali_2.4.11
Richard Huang [Fri, 21 Mar 2025 10:46:34 +0000 (10:46 +0000)]
DALi Version 2.4.11

Change-Id: Ia6e5fabdfc964527bc5517822530c07345eb4136

2 months ago(DirectRendering) Send rotated clippingBox so we can call glScissor without convert 43/321443/3
Eunki, Hong [Fri, 21 Mar 2025 08:12:08 +0000 (17:12 +0900)]
(DirectRendering) Send rotated clippingBox so we can call glScissor without convert

Let we make RenderCallbackInput's clippingBox is screen coordinates.

It will make that we don't consider window surface rotated or not.

Change-Id: I9d7e0c89682a4de12fad6bb57d322b3eaafb5d3c
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 months agoSupport UpdateAreaExtents for Renderer 77/321077/7
Eunki, Hong [Thu, 13 Mar 2025 11:01:01 +0000 (20:01 +0900)]
Support UpdateAreaExtents for Renderer

Add property for extents the dirty rect calculated range for the renderer.

Change-Id: Ibdfe6ea2a90906d01d29c93b0e632d5e631249d4
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 months agoHit Test Fix for layered Hit test 45/317745/46
Seungho Baek [Tue, 7 Jan 2025 07:19:35 +0000 (16:19 +0900)]
Hit Test Fix for layered Hit test

Change-Id: Id2611e20a20259dcfbd341fa37b3029cd326e3cc
Signed-off-by: Seungho Baek <sbsh.baek@samsung.com>
2 months ago(Animation) Calculate AutoReverse looping mode progress at Animation time, not Animator. 78/321178/2
Eunki, Hong [Mon, 17 Mar 2025 02:26:19 +0000 (11:26 +0900)]
(Animation) Calculate AutoReverse looping mode progress at Animation time, not Animator.

Until now, we control the looping mode's progress at Animator side.
It make some mis-implements when we add newly animators.

AnimateTo(A)
SetLoopingMode(AUTO_REVERSE) ///< A become auto-reversed..
AnimateTo(B)                 ///< B is not auto-reversed!!

Since LoopingMode is Animation's property, we should apply newly added animators.

But actually, Animation know all informations, so I think Animation could control
the calculation logics.

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