platform/core/uifw/dali-core.git
2 years agoDALi Version 2.1.35 38/279638/1 dali_2.1.35
Adeel Kazmi [Fri, 12 Aug 2022 11:22:46 +0000 (12:22 +0100)]
DALi Version 2.1.35

Change-Id: I47794cf71c5826ed8a3da25b1c29555ae75df5d5

2 years agoDALi Version 2.1.34 24/279324/1 dali_2.1.34
David Steele [Fri, 5 Aug 2022 11:50:59 +0000 (12:50 +0100)]
DALi Version 2.1.34

Change-Id: I2417f70f60cfcaa1e36c37b48ffd1991db18bf1f

2 years agoAdd operator for Matirx3 * Vector3 19/278819/5
Eunki, Hong [Tue, 26 Jul 2022 10:21:40 +0000 (19:21 +0900)]
Add operator for Matirx3 * Vector3

We might need to multiply for some non-transition matrix.

Change-Id: I5a8aa02ce8c1e68b623aea07d9e7540f7074368f
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoDALi Version 2.1.33 17/279017/1 dali_2.1.33
Richard Huang [Fri, 29 Jul 2022 11:11:57 +0000 (12:11 +0100)]
DALi Version 2.1.33

Change-Id: Id601d3c3c857d1c0fab7a14ca8c0cc79716b012d

2 years agoMerge "Remove std::vector dependency for dali-signal.h" into devel/master
Eunki Hong [Thu, 28 Jul 2022 03:15:33 +0000 (03:15 +0000)]
Merge "Remove std::vector dependency for dali-signal.h" into devel/master

2 years agoAdd new header files to dali-core.h 11/278811/1
Heeyong Song [Tue, 26 Jul 2022 09:01:06 +0000 (18:01 +0900)]
Add new header files to dali-core.h

Change-Id: Ib2e30ca1d715265b9b6f6727f18901a3717a266a

2 years ago(Partial Update) Change UPDATE_SIZE_HINT to UPDATE_AREA_HINT 73/278673/2
Heeyong Song [Mon, 25 Jul 2022 03:07:45 +0000 (12:07 +0900)]
(Partial Update) Change UPDATE_SIZE_HINT to UPDATE_AREA_HINT

Change the property name and the type to Vector4 to support offset also

Change-Id: I589855950cf158d833506a782d0983da9d0e97cc

2 years agoRemove std::vector dependency for dali-signal.h 68/278768/3
Eunki, Hong [Tue, 26 Jul 2022 03:12:34 +0000 (12:12 +0900)]
Remove std::vector dependency for dali-signal.h

Change-Id: Ie76bfbb60cfdc2039adc83c14877bb7dd99645ab
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoMerge "Reduced the cyclomatic complexity of several functions" into devel/master
Adeel Kazmi [Fri, 22 Jul 2022 17:59:51 +0000 (17:59 +0000)]
Merge "Reduced the cyclomatic complexity of several functions" into devel/master

2 years agoReduced the cyclomatic complexity of several functions 56/278456/8
Adeel Kazmi [Thu, 21 Jul 2022 14:40:32 +0000 (15:40 +0100)]
Reduced the cyclomatic complexity of several functions

Change-Id: Iafbf6a58d9b152ad2c0a69db3f51fffefb6bcd93

2 years agoMerge "DALi Version 2.1.32" into devel/master
Adeel Kazmi [Fri, 22 Jul 2022 13:30:31 +0000 (13:30 +0000)]
Merge "DALi Version 2.1.32" into devel/master

2 years agoUpload PixelData's sub image to Texture 35/277735/12
Eunki, Hong [Tue, 12 Jul 2022 13:46:45 +0000 (22:46 +0900)]
Upload PixelData's sub image to Texture

Add API to upload subimage of inputed PixelData.
It will be useful when we want to make multiple tiling textures
with one single big PixelData.

Change-Id: Ia07ddc96cdaf7006239a21a307dbb0995c755bb4
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoDALi Version 2.1.32 10/278610/1 dali_2.1.32
Adam Bialogonski [Fri, 22 Jul 2022 09:27:05 +0000 (10:27 +0100)]
DALi Version 2.1.32

Change-Id: I4389984828fbe097cfa7ffcb9c7f10b1ca189c76

2 years ago(Partial Update) Fix renderer opacity issue 47/278547/1
Heeyong Song [Fri, 22 Jul 2022 01:43:19 +0000 (10:43 +0900)]
(Partial Update) Fix renderer opacity issue

It was not detected when the renderer opacity is changed from the translucent value to another translucent value

Change-Id: If8448e03c0b106e5820c854e8878039ee93d9dc6

2 years agoReduced the cyclomatic complexity of DecoratedVisualRenderer::SetDefaultProperty 50/278450/1
Adeel Kazmi [Wed, 20 Jul 2022 13:41:57 +0000 (14:41 +0100)]
Reduced the cyclomatic complexity of DecoratedVisualRenderer::SetDefaultProperty

Change-Id: I620c95d62b1f42a1ae50b19753fc11a3e8d000d2

2 years agoMerge "Change dali-scene-loader to dali-scene3d" into devel/master
Seungho BAEK [Mon, 18 Jul 2022 11:09:07 +0000 (11:09 +0000)]
Merge "Change dali-scene-loader to dali-scene3d" into devel/master

2 years agoMerge "Fix an issue where TapGesture Events are not being received." into devel/master
joogab yun [Mon, 18 Jul 2022 06:06:25 +0000 (06:06 +0000)]
Merge "Fix an issue where TapGesture Events are not being received." into devel/master

2 years agoChange dali-scene-loader to dali-scene3d 51/277851/2
seungho [Thu, 14 Jul 2022 06:10:11 +0000 (15:10 +0900)]
Change dali-scene-loader to dali-scene3d

Change-Id: I9215482e82be1093c7cd838c5463b2b2e3ab9e09
Signed-off-by: seungho <sbsh.baek@samsung.com>
2 years agoDALi Version 2.1.31 68/277968/1 dali_2.1.31
Richard Huang [Fri, 15 Jul 2022 12:16:22 +0000 (13:16 +0100)]
DALi Version 2.1.31

Change-Id: Ic09a53977da5c19a49ebc0be6b87e4262573a337

2 years agoFix an issue where TapGesture Events are not being received. 23/277923/2
joogab.yun [Fri, 15 Jul 2022 05:01:19 +0000 (14:01 +0900)]
Fix an issue where TapGesture Events are not being received.

If MaximumTapsRequired is greater than 1, TapEvent may not be received when mMaximumAllowedTime is checked in touch-up.

So, move the mMaximumAllowedTime check code to Touchdown.

And in touch-up, the time between previous touch-down and touch-up is checked.

Change-Id: Iec05c9c902fda5c04a8ddde54bec1d887224d5fe

2 years agoProperty::Value operator== for the same type. 75/277575/7
Eunki, Hong [Fri, 8 Jul 2022 09:05:35 +0000 (18:05 +0900)]
Property::Value operator== for the same type.

Implement equal operator for the Property::Value.
It can be compare only for the same type.

NOTE : Property::Array and Property::Map don't support equal operator.
We always return false in that case.

Change-Id: Id474dbf403355b2f5d2375004694cfc18d3c8614
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoMerge "Fix an issue where TapGesture Events are not being received." into devel/master
joogab yun [Mon, 11 Jul 2022 05:23:28 +0000 (05:23 +0000)]
Merge "Fix an issue where TapGesture Events are not being received." into devel/master

2 years agoAdd ALLOW_ONLY_OWN_TOUCH property. 32/276632/12
joogab.yun [Wed, 22 Jun 2022 07:52:58 +0000 (16:52 +0900)]
Add ALLOW_ONLY_OWN_TOUCH property.

It only receive for touch events that started from itself.
So if it's not a touch started  by myself, actor doesn't receive a touch event.

Change-Id: I58151d7072a4f1dbae1a015e6b3fc0b298745773

2 years agoDALi Version 2.1.30 47/277547/1 dali_2.1.30
Adeel Kazmi [Fri, 8 Jul 2022 05:47:39 +0000 (06:47 +0100)]
DALi Version 2.1.30

Change-Id: I61ee6970d3b31b7c511b82a4497d4183e2fc86e2

2 years agoFix an issue where TapGesture Events are not being received. 85/277385/4
joogab.yun [Tue, 5 Jul 2022 05:29:22 +0000 (14:29 +0900)]
Fix an issue where TapGesture Events are not being received.

If multiple Tap GestureDetectors are registered, you may not receive gesture events depending on the setting of MaximumTapsRequired.

example)
TapGestureDetector detector1 = TapGestureDetector::New();
detector1.SetMaximumTapsRequired(1u);
detector1.Attach(actor1);

TapGestureDetector detector2 = TapGestureDetector::New();
detector2.SetMaximumTapsRequired(2u);
detector2.Attach(actor2);

When actor1 is tapped multiple times, I expect to receive a gesture event on every tap because MaximumTapsRequired is 1u, but I don't get the event every tap.

It is because the MaximumTapsRequred of detector2 is set to 2u, the MaximumTaps of the tap-gesture-recognizer is set to 2u.

So, if there is a double tap, the tap event is not delivered to detector1 because it exceeds the MaximumTaps of detector1.

For this reason, the check of MaximumTapsRequired is modified to be checked by each detector.

Change-Id: I297debdf7ff680affafc763d4af3db323f80a095

2 years agoDirectRendering with DrawableView support and list of used resources 11/276111/8
Adam Bialogonski [Wed, 6 Jul 2022 10:40:40 +0000 (11:40 +0100)]
DirectRendering with DrawableView support and list of used resources

- Added GLESNativeInfo inner struct (in NativeDrawInfo) to extract shared context
- The native draw can use list of textures and buffers that the callback will use
- The used resources are being passed into the callback so it can access DALi objects

Change-Id: I6b162c0741d95ab3698185d05e2a78f4b0ab02f7

2 years agoMerge "DALi Version 2.1.29" into devel/master
David Steele [Fri, 1 Jul 2022 11:12:12 +0000 (11:12 +0000)]
Merge "DALi Version 2.1.29" into devel/master

2 years agoDALi Version 2.1.29 89/277189/1 dali_2.1.29
David Steele [Fri, 1 Jul 2022 11:06:54 +0000 (12:06 +0100)]
DALi Version 2.1.29

Change-Id: Icb5bea910e30730302e73906f873469afb3146f4

2 years agoAdd InterceptKeyEvent 83/276883/4
joogab.yun [Mon, 27 Jun 2022 09:18:20 +0000 (18:18 +0900)]
Add InterceptKeyEvent

Intercepts KeyEvents in the window before dispatching KeyEvents to the control.
If a KeyEvent is consumed, no KeyEvent is delivered to the control.

Change-Id: If6ee2b2fb03d936a7840b4c984129a31bb8b948d

2 years agoAdd GetPixelFormat to Texture 89/276889/1
Heeyong Song [Mon, 27 Jun 2022 09:32:09 +0000 (18:32 +0900)]
Add GetPixelFormat to Texture

Change-Id: Ib9cf0b03f409c909e7c7187d8ea19661296d36d5

2 years agoMerge "DALi Version 2.1.28" into devel/master
David Steele [Fri, 24 Jun 2022 13:26:05 +0000 (13:26 +0000)]
Merge "DALi Version 2.1.28" into devel/master

2 years agoDALi Version 2.1.28 88/276788/1 dali_2.1.28
Adeel Kazmi [Fri, 24 Jun 2022 13:08:24 +0000 (14:08 +0100)]
DALi Version 2.1.28

Change-Id: I7cea4233901b6d16f8edba3eb3be48317ae49e23

2 years agoAdd default logs in key event processor 84/276484/2
Heeyong Song [Fri, 17 Jun 2022 07:11:11 +0000 (16:11 +0900)]
Add default logs in key event processor

Change-Id: I3b8352cb57afe5b6de381f6285d7020786df0578

2 years agoEnable ENABLE_BACKTRACE 79/276479/4
Heeyong Song [Fri, 17 Jun 2022 06:22:36 +0000 (15:22 +0900)]
Enable ENABLE_BACKTRACE

Change-Id: Ib992346a029132000b2558b41a934c2b6115b647

2 years agoFixed SVACE error in pan-gesture-processor.cpp 53/276553/1
Adeel Kazmi [Mon, 20 Jun 2022 09:58:06 +0000 (10:58 +0100)]
Fixed SVACE error in pan-gesture-processor.cpp

Change-Id: Ia4b8d58e4dcffd1f4da85a0a5a4c8fd077693532

2 years agoFix logical bug on Pan MotionEventAge 14/276514/1
Eunki, Hong [Mon, 20 Jun 2022 01:23:51 +0000 (10:23 +0900)]
Fix logical bug on Pan MotionEventAge

Fix incorrect operation direction of age check-up.

Change-Id: Ia76f9cdda639c0417da1002906e63a02f97d1b67
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoMerge "DALi Version 2.1.27" into devel/master
David Steele [Fri, 17 Jun 2022 10:40:03 +0000 (10:40 +0000)]
Merge "DALi Version 2.1.27" into devel/master

2 years agoDALi Version 2.1.27 95/276495/1 dali_2.1.27
David Steele [Fri, 17 Jun 2022 10:27:55 +0000 (11:27 +0100)]
DALi Version 2.1.27

Change-Id: I079653c71810ddbf0469601c0e2f594c23fb630a

2 years agoDiscard some motion during pan gesture 78/276378/7
Eunki, Hong [Wed, 15 Jun 2022 12:57:34 +0000 (21:57 +0900)]
Discard some motion during pan gesture

When event spend so long time, a lot of events are queued.

Ecore cannot skip these event, so we make some heuristic
threshold of discard motion events on pan gesture.

We can setup this value by PanGestuerDetector's member vaule.
The name is "MaximumMotionEventAge".
the time scale is millisecond.

Default age is UINT_MAX ms (~= 49 days)
That mean, we will not discard every motion events.
(Ecore event callback also use uint32_t type in ms.)

Change-Id: Ib721e81d690327dcbc6c6c58383b33c7d5560922
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoMake mScene nullptr when the Actor is disconnected from Scene recursively 46/276246/2
Heeyong Song [Mon, 13 Jun 2022 09:27:58 +0000 (18:27 +0900)]
Make mScene nullptr when the Actor is disconnected from Scene recursively

Change-Id: I2ef30d3ba471d87baae32d082e91426990d46463

2 years agoDALi Version 2.1.26 72/276172/1 dali_2.1.26
Adam Bialogonski [Fri, 10 Jun 2022 08:53:22 +0000 (09:53 +0100)]
DALi Version 2.1.26

Change-Id: Ie428ca744a9fbb266251cb3cdc36eafa3022214b

2 years agoMinor optimize during iterate of uniform map 79/275879/1
Eunki, Hong [Fri, 3 Jun 2022 12:30:57 +0000 (21:30 +0900)]
Minor optimize during iterate of uniform map

Dali::Vector.End() operation is heavy.
We don't need to calculate this value every iteration. So just precalculate
the end-of-iterate. It will increase performance.

Change-Id: I475d01367348943f0f4b12a6aeb870c413db0dfc
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoDALi Version 2.1.25 69/275769/1 dali_2.1.25
Richard Huang [Wed, 1 Jun 2022 10:14:51 +0000 (11:14 +0100)]
DALi Version 2.1.25

Change-Id: Ia40d6c528558b1c2b7223acf67240ef63e43a91a

2 years agoMerge "DALi Version 2.1.24" into devel/master
Adeel Kazmi [Fri, 27 May 2022 12:19:14 +0000 (12:19 +0000)]
Merge "DALi Version 2.1.24" into devel/master

2 years agoDALi Version 2.1.24 36/275636/1 dali_2.1.24
Adeel Kazmi [Fri, 27 May 2022 12:00:48 +0000 (13:00 +0100)]
DALi Version 2.1.24

Change-Id: I8fe305f73b9987fd87366d06cb3c9225d3375231

2 years agoRevrert "Enable assert alwayd in Dali::Vector" 87/275587/3
Eunki, Hong [Thu, 26 May 2022 16:46:38 +0000 (01:46 +0900)]
Revrert "Enable assert alwayd in Dali::Vector"

Due to the DALI_ASSERT_ALWAYS, Dali::Vector try to check
the range of index every times.
It might make some performance reducing.

Change-Id: I2fdcf435bda147f9ea102c3106cb44f0772a4899
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoMerge "DALi Version 2.1.23" into devel/master
Adeel Kazmi [Fri, 20 May 2022 12:26:26 +0000 (12:26 +0000)]
Merge "DALi Version 2.1.23" into devel/master

2 years agoDALi Version 2.1.23 10/275310/1 dali_2.1.23
Adam Bialogonski [Fri, 20 May 2022 10:16:21 +0000 (11:16 +0100)]
DALi Version 2.1.23

Change-Id: Ie34538906bedaf4a85e012130fe9c11a0ca78fb0

2 years agoFix when shader changeness not applied issue 63/275163/9
Eunki, Hong [Tue, 17 May 2022 11:52:00 +0000 (20:52 +0900)]
Fix when shader changeness not applied issue

If RenderList was reused, SG::Renderer::UpdateUniformMap didn't called.

So Render::Renderer will render with not-updated uniform-map
(But uniform map change counter is updated.)

This patch make sure that renderer's uniformMap changeness in Prepare time.
So it will be applied well before render call.

Change-Id: I06618e99f38fecd19d263afd7eaff2c30f241cc3
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoMerge "base-signal connect and disconnect in O(1)" into devel/master
Eunki Hong [Wed, 18 May 2022 09:09:12 +0000 (09:09 +0000)]
Merge "base-signal connect and disconnect in O(1)" into devel/master

2 years agoMinor optimize during build uniform index maps 77/275077/6
Eunki, Hong [Mon, 16 May 2022 09:43:39 +0000 (18:43 +0900)]
Minor optimize during build uniform index maps

If node don't have any uniform properies,
we don't need to create about that node's index map.
Because that mean, this node will use only for renderItem's uniform.

Change-Id: Ife3bd0fc35293945786e52755ddaed49d31ae177
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoKeyframe->GetValue works on O(log n) 01/275101/3
Eunki, Hong [Mon, 16 May 2022 17:00:41 +0000 (02:00 +0900)]
Keyframe->GetValue works on O(log n)

Previous code iterate whole key-frame to get interpolated progress value.
This patch make this job in O(log n).

So we can run animation faster even it have near 500 key-frames.

Change-Id: I14ee07db7aa75142aaaf323af7cfde9522d3851d
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agobase-signal connect and disconnect in O(1) 17/274617/13
Eunki, Hong [Tue, 3 May 2022 14:24:22 +0000 (23:24 +0900)]
base-signal connect and disconnect in O(1)

Make base-signal control the connection in O(1)
by std::unordered_map and std::list<>::iterator.
and make connection-tracker control the connection in O(1)
by std::unordered_map

std::unordered_map can found duplicated value fast
and std::list<>::iterator can access & remove value fast.
And also, std::list can keep ordered by inputed time.

TODO : Remove the dependency of std::vector header in dali-signal.h
is quite big process. Will be done in other patch

Change-Id: I940d33c46b1470973219c7a9fb10ac89dd70f1ff
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoMerge "Apply Visual's transform + borderline properties for partial update" into...
David Steele [Fri, 13 May 2022 15:10:41 +0000 (15:10 +0000)]
Merge "Apply Visual's transform + borderline properties for partial update" into devel/master

2 years agoDALi Version 2.1.22 18/275018/1 dali_2.1.22
Richard Huang [Fri, 13 May 2022 11:01:03 +0000 (12:01 +0100)]
DALi Version 2.1.22

Change-Id: I4f1ac3a9a654f2b1469d6d8a1f189e646df30ebc

2 years agoApply Visual's transform + borderline properties for partial update 82/274182/21
Eunki, Hong [Fri, 22 Apr 2022 10:02:47 +0000 (19:02 +0900)]
Apply Visual's transform + borderline properties for partial update

Previously, PartialUpdate cannot know the vertex positions
after transform the visual.
But now, we can use VisualRender's animatable properties.

This patch re-calculate the partial update size
so we can consider Visual Transform.

And more, We make DecoratedVisualRenderer so we can use
CornerRadius + etc as default property
and also can re-calculate update size consider with BorderlineWidth or BlurRadius

Change-Id: I99962f7cda3fb51defc439cf5f1517278aa0daa4
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoDelete Renderers before Shaders 30/274930/1
Heeyong Song [Thu, 12 May 2022 07:16:07 +0000 (16:16 +0900)]
Delete Renderers before Shaders

Change-Id: Ib7744acb7f4bed8032c50f7a388f74027afb55b2

2 years agoRemove duplicated scene object deletion from VisualRenderer 28/274928/1
Heeyong Song [Thu, 12 May 2022 07:13:59 +0000 (16:13 +0900)]
Remove duplicated scene object deletion from VisualRenderer

Change-Id: I50ef48dd8d5253360f2bc0b564ad6e84395f329a

2 years agoMerge "Add API to UpdateProxy" into devel/master
Heeyong Song [Mon, 9 May 2022 00:59:19 +0000 (00:59 +0000)]
Merge "Add API to UpdateProxy" into devel/master

2 years agoDALi Version 2.1.21 11/274711/1 dali_2.1.21
David Steele [Fri, 6 May 2022 11:37:06 +0000 (12:37 +0100)]
DALi Version 2.1.21

Change-Id: I87bb688c0b7635d23bc6f0d85237ba14549dfb34

2 years agoAdd API to UpdateProxy 53/274253/3
Heeyong Song [Mon, 25 Apr 2022 09:39:06 +0000 (18:39 +0900)]
Add API to UpdateProxy

Change-Id: Icd9ef2011a6381ccad62a9f3edea750e392500ae

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

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

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

Change-Id: I1c92a82a41be6d385c7ab307b24edc04b25b730e

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

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

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

Change-Id: I85f0c40af0fc594b86bd0b9f93f13c24e93b9f8e
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoSimplifying UniformMap updating 86/261286/14
David Steele [Mon, 12 Jul 2021 18:18:25 +0000 (19:18 +0100)]
Simplifying UniformMap updating

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

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

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

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

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

Change-Id: I0ff861a7e97736dae059d94f54618195d0471343

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

Change-Id: Ic5b640856c8e1f5710d3c0eb961612428e893990
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoMerge "DALi Version 2.1.19" into devel/master
David Steele [Fri, 22 Apr 2022 13:10:21 +0000 (13:10 +0000)]
Merge "DALi Version 2.1.19" into devel/master

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

Change-Id: I9be4ce8eef03b28d4e208cd648e1210446967801

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

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

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

It will reduce Renderer::Render time near 6%

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

3. Make BufferPropertiesFlags as input of UniformBuffer Constructor

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

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

 - And removed unused uploadOnly parameter in the render-manager

Change-Id: I18e1e403cedf58d6e7c5c510bda123ef8b4fe149
Signed-off-by: seungho <sbsh.baek@samsung.com>
2 years agoRelayout only if the actor is on Scene 66/273966/1
Heeyong Song [Tue, 19 Apr 2022 05:17:54 +0000 (14:17 +0900)]
Relayout only if the actor is on Scene

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

Change-Id: Ia2b64e7f39f24d67b65b9689c720a7ef359d54fd

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

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

Change-Id: I044099ba626788b31036834921d153a2fa0fa6eb

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

Change-Id: I6c66da9db49874c7273e2580964423dc23c36e90

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

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

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

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

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

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

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

Modified uniform lookup to handle the different hashes appropriately.

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

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

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

Change-Id: I30ecdbddcd58603a6b1a4c2adf13b7311cbd3b0f

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

Change-Id: I6f82838ed654342723cf043e43e8d7caba4125f7

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

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

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

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

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

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

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

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

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

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

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

Change-Id: I95e80e4c09f17a3240cccf16df23f09e8d9ad9cf

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

Change-Id: I475166706a0eb4defd1761ce56d185da7fe753a1

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

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

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

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

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

Change-Id: If043023658a6a6f59d220166a67cd5363d866faf

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

This reverts commit 3b0fba86dfcad3ae5841679e1c1790db563d7301.

Change-Id: I91350d5f72b826bc7b6fad4920b89079e4fc7d53

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

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

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

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

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

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

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

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

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

Change-Id: I98023d937a38affaa836fed830c12aeeddda9b59

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

Change-Id: I609607ea19a5cf5f6b07b5065132f491122f7a6b

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

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

Change-Id: Ife048e33a54edb6b6cebfe79b464707c0a361a45