platform/core/uifw/dali-adaptor.git
8 days agoPrint error logs before execute callback 90/316590/1
Eunki Hong [Sat, 14 Dec 2024 05:59:55 +0000 (14:59 +0900)]
Print error logs before execute callback

Since we throw assert at callback if FD_ERROR occured,
we should print error logs before execute callback.

Change-Id: I8f498b020e0f9da505b6ca8847c953b0d2e7d280
Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
8 days agoFix build break with TV profile with Vulkan Build 83/316583/1
Adeel Kazmi [Fri, 13 Dec 2024 18:48:48 +0000 (18:48 +0000)]
Fix build break with TV profile with Vulkan Build

Change-Id: I39eaa488ce6d65faf8a0aeb8c23fd03965346599

8 days agoMerge "Separate out EGL & VULKAN functionality in different files" into devel/master
Adeel Kazmi [Fri, 13 Dec 2024 18:32:20 +0000 (18:32 +0000)]
Merge "Separate out EGL & VULKAN functionality in different files" into devel/master

8 days agoSeparate out EGL & VULKAN functionality in different files 09/316209/8
Adeel Kazmi [Wed, 11 Dec 2024 15:18:42 +0000 (15:18 +0000)]
Separate out EGL & VULKAN functionality in different files

Change-Id: I52911ebd15e2e9be0b0f4d1fbc6df020041150ce

8 days agoSwapchain improvement 71/316571/9
Adam Bialogonski [Fri, 13 Dec 2024 12:34:31 +0000 (12:34 +0000)]
Swapchain improvement

In some cases, usually during startup, we acquire a swapchain image but never consume it because there is no render pass started. This leaves acquire image semaphores in the signaled state and breaks synchronization when same image is about to be acquire frames later (depends on driver, it may be ignored or it may lead to deadlock).

Since we assume that only one render pass starts for each surface we acquire the image only when such render pass starts (so we have something to render). This also removes "default" AcquireNextFramebuffer() function in the controller which assumes we have a single window only.

The infinite acquire timeout has been replaced with arbitrary 1000000000 value which makes sure we won't get into the deadlock state (vkAcquireNextImageKHR() will return timeout error) but should be enough to acquire next image.

The assert that used to crash the demos happens only on return of error code (timeout and not_ready aren't errors).

Change-Id: Idd872c8fcde80ecb1f5c71fd587564e210ea3a9d

9 days agoMerge "DALi Version 2.3.54" into devel/master
David Steele [Fri, 13 Dec 2024 09:52:46 +0000 (09:52 +0000)]
Merge "DALi Version 2.3.54" into devel/master

9 days agoDALi Version 2.3.54 41/316541/1 dali_2.3.54
Adam Bialogonski [Fri, 13 Dec 2024 08:09:13 +0000 (08:09 +0000)]
DALi Version 2.3.54

Change-Id: Ibf7dfa0476a13efdd9d3841674e0ab7099fa08ca

9 days agoMerge "Add debug log if eventfd trigger, or triggered" into devel/master
Eunki Hong [Fri, 13 Dec 2024 02:12:34 +0000 (02:12 +0000)]
Merge "Add debug log if eventfd trigger, or triggered" into devel/master

9 days agoMerge "Let TV profile print debug level logs as INFO level also" into devel/master
Eunki Hong [Fri, 13 Dec 2024 02:12:28 +0000 (02:12 +0000)]
Merge "Let TV profile print debug level logs as INFO level also" into devel/master

9 days agoMerge "Print log for application and tizen frameworks" into devel/master
Eunki Hong [Fri, 13 Dec 2024 02:12:22 +0000 (02:12 +0000)]
Merge "Print log for application and tizen frameworks" into devel/master

9 days agoMerge "Fix build error for tbm_dummy_display() getter" into devel/master
Eunki Hong [Thu, 12 Dec 2024 12:19:13 +0000 (12:19 +0000)]
Merge "Fix build error for tbm_dummy_display() getter" into devel/master

10 days agoMerge "Moved program resource hints to Controller" into devel/master
Adeel Kazmi [Thu, 12 Dec 2024 10:23:51 +0000 (10:23 +0000)]
Merge "Moved program resource hints to Controller" into devel/master

10 days agoFix build error for tbm_dummy_display() getter 03/316303/1
Eunki, Hong [Thu, 12 Dec 2024 10:07:52 +0000 (19:07 +0900)]
Fix build error for tbm_dummy_display() getter

Change-Id: Ief713838b516be4ff0fda18a9ab8297973b52d33
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
10 days agoAdd debug log if eventfd trigger, or triggered 89/316289/1
Eunki, Hong [Thu, 12 Dec 2024 09:06:03 +0000 (18:06 +0900)]
Add debug log if eventfd trigger, or triggered

Change-Id: If2933b1bbae34b30cabac2e9849b9bbcf12c2bf5
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
10 days agoLet TV profile print debug level logs as INFO level also 80/316280/1
Eunki, Hong [Thu, 12 Dec 2024 08:23:35 +0000 (17:23 +0900)]
Let TV profile print debug level logs as INFO level also

Change-Id: I46750e96ade246bf9c080ae9986cfb8e8cd52f1e
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
10 days agoPrint log for application and tizen frameworks 21/316221/4
Eunki, Hong [Thu, 12 Dec 2024 01:55:57 +0000 (10:55 +0900)]
Print log for application and tizen frameworks

Change-Id: I9835e2b5d2d6e67dd5becd15d517fcd3eefcef72
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
11 days agoBlock some codes by macro what tizen_8.0 not supported 12/315912/2
Eunki, Hong [Fri, 6 Dec 2024 05:19:17 +0000 (14:19 +0900)]
Block some codes by macro what tizen_8.0 not supported

Let we make dali codes compiled by tizen_8.0 repo

Change-Id: I93527b0dada9fbe11f74a37f62d9c6325d925964
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
11 days agoMoved program resource hints to Controller 32/316132/1
David Steele [Tue, 10 Dec 2024 14:33:11 +0000 (14:33 +0000)]
Moved program resource hints to Controller

Moved the program resource binding hints from CommandBuffer::Begin()
info struct to Egl/Vulkan Controller::SetResourceBindingHints().

This is now per scene, rather than per command buffer, as we want to
split up the scene into offscreen cmd buffers & onscreen cmd buffer.

At the moment, this is used in Vulkan to allocate descriptor pools.

Change-Id: I61bdc4840a800b52863bd676a1244b290192ccc8
Signed-off-by: David Steele <david.steele@samsung.com>
12 days agoMerge "Remove null-terminate character as size of shader code" into devel/master
Eunki Hong [Tue, 10 Dec 2024 05:46:08 +0000 (05:46 +0000)]
Merge "Remove null-terminate character as size of shader code" into devel/master

12 days agoMerge "Make NativeDisplay keep as global static value" into devel/master
Eunki Hong [Tue, 10 Dec 2024 05:45:56 +0000 (05:45 +0000)]
Merge "Make NativeDisplay keep as global static value" into devel/master

13 days agoEnsure to destroy eglSyncObject at the same context of creation 30/315730/7
Eunki, Hong [Wed, 4 Dec 2024 07:22:08 +0000 (16:22 +0900)]
Ensure to destroy eglSyncObject at the same context of creation

To make ensure the eglSyncObject destroy at the same context of write,
let we collect discarded objects per each GLES::Context, and release them
when the context be current, after PostRender().

Furthermore, Let we destroy the sync objects before
content be destroyed.

And also, let we make TextureDependency use SyncObjectId
instead of AgingSyncObject* directly.
So, we don't need to notify context invalidated to
TextureDependency class. If some sync object deleted due to
context destruction, SyncObjectId will return nullptr from
SyncPool. So we only need to notify pool only.

Change-Id: I8fed7d3fecad7f9e11d4db686ae2271106f588d3
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
13 days agoRemove null-terminate character as size of shader code 06/315806/2
Eunki, Hong [Thu, 5 Dec 2024 00:35:47 +0000 (09:35 +0900)]
Remove null-terminate character as size of shader code

Follow by glShaderSource spec, we should not include null-terminate
character as size value.

Change-Id: I6773cd5f9c65c456c9aa44bafb3bedf44769386d
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
13 days agoMake NativeDisplay keep as global static value 01/315801/3
Eunki, Hong [Wed, 4 Dec 2024 23:56:57 +0000 (08:56 +0900)]
Make NativeDisplay keep as global static value

Let we keep native display as static variable.
So it will return same pointer even if we Terminate & Restart
OffscreenWindow

More detail, Follow by eglSpec, eglGetDipslay() creates new EGLDisplay per each input paramater,
and never be deleted until process terminated. But we can re-create DisplayConnecter multiple times
when we are using OffscreenApplication.

So, we need to keep dummy NativeDisplay pointer to avoid creating multiple EGLDisplay creation leak.

Change-Id: I5d5ff5638c3da0d9a3c94a22b27e35d07b09bb45
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 weeks agoDALi Version 2.3.53 47/315947/1 dali_2.3.53
Richard Huang [Fri, 6 Dec 2024 11:48:20 +0000 (11:48 +0000)]
DALi Version 2.3.53

Change-Id: I8b0cace5af57938d0f488d0072e94e2e488fd3d8

2 weeks agoMerge "DALi dynamic depth-stencil states for API 1.2" into devel/master
Adeel Kazmi [Thu, 5 Dec 2024 11:17:31 +0000 (11:17 +0000)]
Merge "DALi dynamic depth-stencil states for API 1.2" into devel/master

2 weeks agoDALi dynamic depth-stencil states for API 1.2 11/315611/5
Adam Bialogonski [Tue, 3 Dec 2024 13:28:56 +0000 (13:28 +0000)]
DALi dynamic depth-stencil states for API 1.2

Change-Id: Ibbf5459bd8e529d95f0f2a944a5ee485a0d334b7

2 weeks agoMake sure Emit* is only enabled for ActorAccessible 16/315716/2
Youngsun Suh [Wed, 4 Dec 2024 08:03:21 +0000 (17:03 +0900)]
Make sure Emit* is only enabled for ActorAccessible

Change-Id: Ia6b3525f9a93aa1d7e4a5361890ee7e62ea1bb11

2 weeks agoMerge "Do not append \0 if we already add \0" into devel/master
Eunki Hong [Wed, 4 Dec 2024 06:06:20 +0000 (06:06 +0000)]
Merge "Do not append \0 if we already add \0" into devel/master

2 weeks agoDo not append \0 if we already add \0 87/315687/1
Eunki, Hong [Wed, 4 Dec 2024 05:01:46 +0000 (14:01 +0900)]
Do not append \0 if we already add \0

Tizen emulator driver don't support string with end by \0\0.
Let we avoid this case.

Change-Id: Ie5285c3917ba6ef71dcb108f7c2d29f1b18e4d62
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 weeks agoFree sync object immediately if current context is same as created context 37/315637/1
Eunki, Hong [Wed, 4 Dec 2024 02:46:50 +0000 (11:46 +0900)]
Free sync object immediately if current context is same as created context

Until now, we usually destroy sync object at surfaceless context
at the end of rendering.

But it might have some context switching overhead occured for some driver.

To avoid it, let we try to free sync object if read context is
same as write context, and it is already synced.

Change-Id: Ibec3cb40379ad341ff757362ee6cb529806153a3
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 weeks agoKeep rendered buffer in framebuffer 97/315397/2
Seungho Baek [Fri, 15 Nov 2024 06:55:04 +0000 (15:55 +0900)]
Keep rendered buffer in framebuffer

Change-Id: I20d7bdb2541a41eae1a440e25ad96c88e216923d
Signed-off-by: Seungho Baek <sbsh.baek@samsung.com>
3 weeks agoAdd function & environment option to choose graphics backend 25/315325/1
Adeel Kazmi [Wed, 16 Oct 2024 21:21:44 +0000 (22:21 +0100)]
Add function & environment option to choose graphics backend

Change-Id: If40ae6f65fcc52a4e08f06dfecfd60413ca40421

3 weeks agoDALi Version 2.3.52 69/321269/1 dali_2.3.52
David Steele [Fri, 29 Nov 2024 14:14:18 +0000 (14:14 +0000)]
DALi Version 2.3.52

Change-Id: I67da105affdfa18d29602a975b9c5e8981a361c3

3 weeks agoFix gcc-14 compile error : gles-texture-dependency-checker.h 90/321190/1
Eunki Hong [Thu, 28 Nov 2024 12:49:03 +0000 (21:49 +0900)]
Fix gcc-14 compile error : gles-texture-dependency-checker.h

Change-Id: Ifd57c3ded4b5deed50be63bb5d0265d005c4bff0
Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
3 weeks agoMerge "Add KeyEventMonitorSignal" into devel/master
joogab yun [Wed, 27 Nov 2024 04:25:44 +0000 (04:25 +0000)]
Merge "Add KeyEventMonitorSignal" into devel/master

3 weeks agoAdd KeyEventMonitorSignal 68/320968/4
joogab.yun [Tue, 26 Nov 2024 06:34:02 +0000 (15:34 +0900)]
Add KeyEventMonitorSignal

Change-Id: If898a915deeb74a827ea868d3eca91ddc57144a3

3 weeks agoMerge "Fix eldbus methods creating MessagePtr to deallocate Eldbus_Message" into...
Jaehyun Cho [Tue, 26 Nov 2024 03:38:53 +0000 (03:38 +0000)]
Merge "Fix eldbus methods creating MessagePtr to deallocate Eldbus_Message" into devel/master

3 weeks ago[Tizen] Fix memory leak of A11y 26/312826/2
Hosang Kim [Fri, 14 Jun 2024 07:38:05 +0000 (16:38 +0900)]
[Tizen] Fix memory leak of A11y

Fix issue where StringStorage is not cleared when A11y is forced down

Change-Id: Ic999a473850ee1c0f1f60e4343b4ca37e81fbcb5

3 weeks agoMerge "Use Dali::Integration::TimeChecker feature instead duplicate macro (phase...
Eunki Hong [Tue, 26 Nov 2024 01:18:44 +0000 (01:18 +0000)]
Merge "Use Dali::Integration::TimeChecker feature instead duplicate macro (phase 2)" into devel/master

3 weeks agoMerge "Use Dali::Integration::TimeChecker feature instead duplicate macro (phase...
Eunki Hong [Tue, 26 Nov 2024 01:18:04 +0000 (01:18 +0000)]
Merge "Use Dali::Integration::TimeChecker feature instead duplicate macro (phase 1)" into devel/master

3 weeks agoMerge changes I5068bdac,I45974dc1 into devel/master
Eunki Hong [Tue, 26 Nov 2024 01:17:55 +0000 (01:17 +0000)]
Merge changes I5068bdac,I45974dc1 into devel/master

* changes:
  Let we add self-depenedency check for native texture
  Print log for extension and sync case + Use OrderedSet for EglSyncObject

3 weeks agoMerge "Print some logs for initialize UpdateRenderThread + Revert TV profile trace...
Eunki Hong [Mon, 25 Nov 2024 14:43:34 +0000 (14:43 +0000)]
Merge "Print some logs for initialize UpdateRenderThread + Revert TV profile trace block" into devel/master

3 weeks agoMerge "(CanvasRenderer) Let we use CanvasRenderer use queue size 2 as default + Cance...
Eunki Hong [Mon, 25 Nov 2024 14:43:08 +0000 (14:43 +0000)]
Merge "(CanvasRenderer) Let we use CanvasRenderer use queue size 2 as default + Cancel old buffer if dequeue failed" into devel/master

3 weeks agoMerge "Fix ecore_device_class_get(address out of buffer)" into devel/master
Jeongmin Lee [Mon, 25 Nov 2024 12:10:15 +0000 (12:10 +0000)]
Merge "Fix ecore_device_class_get(address out of buffer)" into devel/master

3 weeks agoUse Dali::Integration::TimeChecker feature instead duplicate macro (phase 2) 09/320909/2
Eunki, Hong [Mon, 25 Nov 2024 11:02:57 +0000 (20:02 +0900)]
Use Dali::Integration::TimeChecker feature instead duplicate macro (phase 2)

Let we use Dali::Integration::TimeChecker feature for ecore wl2

Change-Id: Id10a8fc627be9ab23c06b3ff7042a2e759f0b6ee
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
3 weeks agoLet we add self-depenedency check for native texture 56/320356/10
Eunki, Hong [Thu, 14 Nov 2024 01:59:53 +0000 (10:59 +0900)]
Let we add self-depenedency check for native texture

Since GPU don't assume that NativeImage read done after eglSwapBuffer,
We should add syncFence manually, and check whether previous tbm render done.

But synce eglCreateSync spend a lots of time, we should create only 1 time per
each frame.

TODO : We don't need to client-wait for non-acquried case. But it need to open
new API for NativeImageInterface. So let we implement it later.

Change-Id: I5068bdac203850b241d330e01f23abb312b1da16
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
3 weeks agoPrint log for extension and sync case + Use OrderedSet for EglSyncObject 26/320326/10
Eunki, Hong [Wed, 13 Nov 2024 07:42:44 +0000 (16:42 +0900)]
Print log for extension and sync case + Use OrderedSet for EglSyncObject

Let we also check extension API using duration check if environment enabled.

+

Do not spend time to erase SyncObject finding.
It will spend time without no reason.

Change-Id: I45974dc12031298959619bc5bda96b39264de11b
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
3 weeks agoUse Dali::Integration::TimeChecker feature instead duplicate macro (phase 1) 30/320730/2
Eunki Hong [Thu, 21 Nov 2024 11:35:33 +0000 (20:35 +0900)]
Use Dali::Integration::TimeChecker feature instead duplicate macro (phase 1)

Let we use Dali::Integration::TimeChecker feature for gles

Change-Id: I13f6f7f9015e38a4df9dc29333c91e459935449d
Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
3 weeks agoPrint some logs for initialize UpdateRenderThread + Revert TV profile trace block 59/320759/3
Eunki Hong [Fri, 22 Nov 2024 04:36:12 +0000 (13:36 +0900)]
Print some logs for initialize UpdateRenderThread + Revert TV profile trace block

Change-Id: Ic6f3f82598afd9d4690a48e040f5592c6ce113ff
Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
3 weeks ago(CanvasRenderer) Let we use CanvasRenderer use queue size 2 as default + Cancel old... 42/320642/3
Eunki, Hong [Wed, 20 Nov 2024 05:38:27 +0000 (14:38 +0900)]
(CanvasRenderer) Let we use CanvasRenderer use queue size 2 as default + Cancel old buffer if dequeue failed

Since we don't have good timing to free-release remained buffer,
let we just use tbm_surface_queue_h has 2

+

Let we ignore latest queued image if dequeue failed.
In this case, we can ensure that success queued buffer is always
latest buffer now.

Change-Id: I8e49b6d56fc3b6b60cdae9647b998c7baea52dec
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
3 weeks agoFix ecore_device_class_get(address out of buffer) 60/320660/9
jmm [Wed, 20 Nov 2024 11:15:07 +0000 (20:15 +0900)]
Fix ecore_device_class_get(address out of buffer)

Change-Id: I135ae8d0e01e38ba0657382f0040d755dab463ba

4 weeks agoMerge "DALi Version 2.3.51" into devel/master
David Steele [Fri, 22 Nov 2024 16:04:37 +0000 (16:04 +0000)]
Merge "DALi Version 2.3.51" into devel/master

4 weeks agoDALi Version 2.3.51 09/320809/1 dali_2.3.51
Adeel Kazmi [Fri, 22 Nov 2024 16:03:04 +0000 (16:03 +0000)]
DALi Version 2.3.51

Change-Id: Ic03990fe054b43633bb70df3aa61f8f3c1826921

4 weeks agoMerge "Shader Parser and SPIRV generator changes" into devel/master
Adeel Kazmi [Fri, 22 Nov 2024 11:51:21 +0000 (11:51 +0000)]
Merge "Shader Parser and SPIRV generator changes" into devel/master

4 weeks agoFix eldbus methods creating MessagePtr to deallocate Eldbus_Message 67/320767/1
Jaehyun Cho [Thu, 21 Nov 2024 06:25:02 +0000 (15:25 +0900)]
Fix eldbus methods creating MessagePtr to deallocate Eldbus_Message

When MessagePtr is created, Eldbus_Message is also created internally.
Therefore, when MessagePtr is destructed, the Eldbus_Message should be
deallocated as well to prevent memory leak.

So some methods creating MessagePtr are fixed to call
eldbus_message_unref for Eldbus_Message when MessagePtr is destructed.

To avoid double deallocation by calling eldbus_message_unref twice,
eldbus_connection_send_impl is fixed to release its MessagePtr argument.

Change-Id: I7f21a0f62ca54d1838e0742cad6331d4668e0aba

4 weeks agoMerge "Skip GPU that doesn't support Vulkan 1.3 or above" into devel/master
David Steele [Thu, 21 Nov 2024 16:24:16 +0000 (16:24 +0000)]
Merge "Skip GPU that doesn't support Vulkan 1.3 or above" into devel/master

4 weeks agoMerge "Ensured clear color vector is the right size" into devel/master
David Steele [Thu, 21 Nov 2024 16:22:50 +0000 (16:22 +0000)]
Merge "Ensured clear color vector is the right size" into devel/master

4 weeks agoSkip GPU that doesn't support Vulkan 1.3 or above 42/320742/3
Richard Huang [Thu, 21 Nov 2024 14:32:00 +0000 (14:32 +0000)]
Skip GPU that doesn't support Vulkan 1.3 or above

Change-Id: I61964212e086c848160be3e477444a36ca42a808

4 weeks agoMake ShaderPreCompiler as DALI_ADAPTOR_API 81/320681/3
Eunki Hong [Thu, 21 Nov 2024 01:17:46 +0000 (10:17 +0900)]
Make ShaderPreCompiler as DALI_ADAPTOR_API

ShaderPreCompiler defined at dali-adaptor now.
Let we make matched keyword.

Change-Id: Ied0be58321f69da459e80f87a8dd0052e8ffd14b
Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
4 weeks agoMerge "Merged descriptor sets for shared UBOs" into devel/master
David Steele [Wed, 20 Nov 2024 17:15:02 +0000 (17:15 +0000)]
Merge "Merged descriptor sets for shared UBOs" into devel/master

4 weeks agoMerge "Vulkan Tizen Build" into devel/master
Adeel Kazmi [Wed, 20 Nov 2024 16:02:15 +0000 (16:02 +0000)]
Merge "Vulkan Tizen Build" into devel/master

4 weeks agoVulkan Tizen Build 17/318817/12
Adeel Kazmi [Thu, 10 Oct 2024 16:05:22 +0000 (17:05 +0100)]
Vulkan Tizen Build

Change-Id: Ia119b4914d1f958a6e9ab726dd96934f7f3bb93d

4 weeks agoShader Parser and SPIRV generator changes 26/320626/3
Adam Bialogonski [Tue, 19 Nov 2024 15:35:12 +0000 (15:35 +0000)]
Shader Parser and SPIRV generator changes

- Assigning locations to in/out between stages when type is larger than 4 floats (mat2, mat3, mat4)
Example:

Vertex shader:
out (location=0) highp mat3 vMatrix;
out (location=3) highp float vNumber; // Location must be 3 not 1!

Fragment shader:
in (location=0) highp mat3 vMatrix;
in (location=3) highp float vNumber; // Location must be 3 not 1!

This patch doesn't deal with arrays and doesn't deal with input attributes in
vertex shader. It only resolves problem of default PBR shader.

- SPIRVGenerator::Generate() sates 'valid' flag correctly now (false on error)

Change-Id: I19ee9ac639baf30ef988a43c06ad6295f042c424

4 weeks ago(ShaderParser) Fix coverity issue : don't copy std::string 32/320632/1
Eunki, Hong [Wed, 20 Nov 2024 02:26:44 +0000 (11:26 +0900)]
(ShaderParser) Fix coverity issue : don't copy std::string

Change-Id: Ib5784503a1a6520f5bce43659ce91728e0dc784c
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
4 weeks agoLet we get ArrayElementStride by GL_UNIFORM_ARRAY_STRIDE 44/320544/8
Eunki, Hong [Mon, 18 Nov 2024 07:57:49 +0000 (16:57 +0900)]
Let we get ArrayElementStride by GL_UNIFORM_ARRAY_STRIDE

Since GL_UNIFORM_BLOCK_DATA_SIZE is implement-dependent value,
we'd better use more belief result from GetActiveUniformsiv with GL_UNIFORM_ARRAY_STRIDE

Change-Id: I1838babf21d8819a797f6b0f010c734dc71b9b5e
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
4 weeks ago(ShaderParser) Fix compile error for #extension 12/320512/4
Eunki, Hong [Mon, 18 Nov 2024 02:27:39 +0000 (11:27 +0900)]
(ShaderParser) Fix compile error for #extension

There was compile error when #extension used before som other codes.

To avoid this kind of issue,
let we collect all extension prefix codes, and then define it after
version directly.

Relative logs :

  623.248 E/DALI    (P  854, T 6612): gles-graphics-shader.cpp: Compile(120) > Code: #version 320 es
  623.248 E/DALI    (P  854, T 6612): #ifdef GL_KHR_blend_equation_advanced
  623.248 E/DALI    (P  854, T 6612): #extension GL_KHR_blend_equation_advanced : enable
  623.248 E/DALI    (P  854, T 6612): #endif
  623.248 E/DALI    (P  854, T 6612): #if defined(GL_KHR_blend_equation_advanced) || __VERSION__>=320
  623.248 E/DALI    (P  854, T 6612):   layout(blend_support_all_equations) out;
  623.248 E/DALI    (P  854, T 6612): #endif
  623.248 E/DALI    (P  854, T 6612): //@name image-visual-shader.frag
  623.248 E/DALI    (P  854, T 6612): #define TEXTURE texture
  623.248 E/DALI    (P  854, T 6612): #define TEXTURE_CUBE texture
  623.248 E/DALI    (P  854, T 6612): #define TEXTURE_LOD textureLod
  623.248 E/DALI    (P  854, T 6612): #define TEXTURE_CUBE_LOD textureLod
  623.248 E/DALI    (P  854, T 6612): #define textureCube texture
  623.248 E/DALI    (P  854, T 6612): #define texture2D texture
  623.248 E/DALI    (P  854, T 6612): #define texture2DLod textureLod
  623.248 E/DALI    (P  854, T 6612): #define textureCubeLod textureLod
  623.248 E/DALI    (P  854, T 6612):
  623.248 E/DALI    (P  854, T 6612): //@version 100
  623.248 E/DALI    (P  854, T 6612): #extension GL_OES_EGL_image_external_essl3:require
  623.248 E/DALI    (P  854, T 6612):
  623.248 E/DALI    (P  854, T 6612): in mediump vec2 vTexCoord;
  623.248 E/DALI    (P  854, T 6612): #if defined(IS_REQUIRED_DEBUG_VISUAL_SHADER) || defined(IS_REQUIRED_ROUNDED_CORNER) || defined(IS_REQUIRED_BORDERLINE)
  623.248 E/DALI    (P  854, T 6612): in highp vec2 vPosition;
  623.248 E/DALI    (P  854, T 6612): flat in highp vec2 vRectSize;
  623.248 E/DALI    (P  854, T 6612): flat in highp vec2 vOptRectSize;
  623.248 E/DALI    (P  854, T 6612): flat in highp float vAliasMargin;
  623.248 E/DALI    (P  854, T 6612): #ifdef IS_REQUIRED_ROUNDED_CORNER
  623.248 E/DALI    (P  854, T 6612): flat in highp vec4 vCornerRadius;
  623.248 E/DALI    (P  854, T 6612): #endif
  623.248 E/DALI    (P  854, T 6612): #endif
  623.248 E/DALI    (P  854, T 6612): #ifdef IS_REQUIRED_DEBUG_VISUAL_SH
  623.248 E/DALI    (P  854, T 6612): gles-graphics-shader.cpp: Compile(121) > glCompileShader() failed:
  623.248 E/DALI    (P  854, T 6612): 0:19: P0001: Extension directive must occur before any non-preprocessor tokens

Change-Id: Iac53008ae6d76acaee266f14db0526b54b0c4abd
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
4 weeks ago(ShaderParser) Optimize TokenizeLine function 97/320497/5
Eunki Hong [Sun, 17 Nov 2024 15:55:56 +0000 (00:55 +0900)]
(ShaderParser) Optimize TokenizeLine function

1. regex is slow. Let we tokenize without regex.
2. Let we use std::string_view for GetToken() instead of string-creation.

After this patch, preprocess color-visual shader spend time reduced 95%
8.000 ms --> 0.372 ms (release mode)

Change-Id: I0c447b240e6d8315888cb1c611472c406af94822
Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
4 weeks agoMerge changes I179cfcd6,I6c702db7,I6994521e,I424c7a02 into devel/master
Eunki Hong [Tue, 19 Nov 2024 01:41:51 +0000 (01:41 +0000)]
Merge changes I179cfcd6,I6c702db7,I6994521e,I424c7a02 into devel/master

* changes:
  Print some log after preprocess finished
  Fix pre-compile works well after Preprocess.
  Make preprocessed shader include null-terminate keyword
  (ShaderPaser) Make flat qualifier define write ordering

4 weeks agoMerge "Fix the memory leak of input panel wayland resource." into devel/master
Wonsik Jung [Mon, 18 Nov 2024 04:49:54 +0000 (04:49 +0000)]
Merge "Fix the memory leak of input panel wayland resource." into devel/master

4 weeks agoFix the memory leak of input panel wayland resource. 07/320507/1
Wonsik Jung [Mon, 18 Nov 2024 02:28:34 +0000 (11:28 +0900)]
Fix the memory leak of input panel wayland resource.

Fix the memory leak of wayland resource when input panel is used.
It is for tizen wayland backend.

Change-Id: I7e9bfc18e41dbf2dba9a6fa0a6b73b3ce30960e4

4 weeks agoPrint some log after preprocess finished 94/320494/2
Eunki Hong [Sun, 17 Nov 2024 13:03:17 +0000 (22:03 +0900)]
Print some log after preprocess finished

Let we print that preprocess finished to check the duration of preprocess

Change-Id: I179cfcd6094008565985c0c03011e8550890a17e
Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
4 weeks agoFix pre-compile works well after Preprocess. 89/320489/3
Eunki Hong [Sat, 16 Nov 2024 04:48:58 +0000 (13:48 +0900)]
Fix pre-compile works well after Preprocess.

Since we don't insert the version of shader for pre-compile case,
Preprocess result of precompiled shader is not avalid.

To fix this issue, we should attach the version of shader.
For now, most of shaders in dali-toolkit use 100 version.
So let we use it forcibly.

TODO : We need to consider that Open ShaderData API,
to avoid duplicate implementation.
For now, just keep these duplicated logic.

Change-Id: I6c702db72289f28655c5b6c349565d3cc5db71c4
Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
4 weeks agoMake preprocessed shader include null-terminate keyword 88/320488/5
Eunki Hong [Sat, 16 Nov 2024 04:18:33 +0000 (13:18 +0900)]
Make preprocessed shader include null-terminate keyword

It will fix some kind of glCompileShader failed case.

ERROR: DALI: gles-graphics-shader.cpp: Compile(121) > glCompileShader() failed:
0:16(9): error: syntax error, unexpected NEW_IDENTIFIER

Change-Id: I6994521e29bb564bb457a4ab96791f8d55ba777b
Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
4 weeks ago(ShaderPaser) Make flat qualifier define write ordering 87/320487/5
Eunki Hong [Sat, 16 Nov 2024 04:12:26 +0000 (13:12 +0900)]
(ShaderPaser) Make flat qualifier define write ordering

Since flat keyword should be exist earlier than in / out keyword,
let we change the parsing method, and ensure
FLAT keyword works well.

Appendix:

Flat keyword spec for gles : https://docs.nvidia.com/drive/drive-os-5.2.0.0L/drive-os/DRIVE_OS_Linux_SDK_Development_Guide/baggage/GLSL_ES_Specification_3.20.withchanges.pdf
SPIRV don't use flat keyword at vertex shader (reddit search result) : https://www.reddit.com/r/vulkan/comments/yizy4i/whats_the_best_way_to_pass_an_index_from_a_vertex/?rdt=64516

Change-Id: I424c7a02618fa0e8bcb97d6f4d1d0e17391035b8
Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
5 weeks agoMerge "Fix the leak of wayland resource." into devel/master
Wonsik Jung [Fri, 15 Nov 2024 09:49:25 +0000 (09:49 +0000)]
Merge "Fix the leak of wayland resource." into devel/master

5 weeks agoMerge "DALi Version 2.3.50" into devel/master
Adeel Kazmi [Fri, 15 Nov 2024 08:12:51 +0000 (08:12 +0000)]
Merge "DALi Version 2.3.50" into devel/master

5 weeks agoFix the leak of wayland resource. 54/320454/1
Wonsik Jung [Fri, 15 Nov 2024 07:44:55 +0000 (16:44 +0900)]
Fix the leak of wayland resource.

Fix the leak of wayland resource in tizen backend.
The related wayland resource is tizen_display_policy, tizen_policy and wl_registry.
It should be free before wl_event_queue is free.

Change-Id: I20bd835169154457c7f00f3d85bf4d7635fb639d

5 weeks agoDALi Version 2.3.50 41/320441/1 dali_2.3.50
Adam Bialogonski [Fri, 15 Nov 2024 07:18:49 +0000 (07:18 +0000)]
DALi Version 2.3.50

Change-Id: I9b404d4c5b883dedb6499ac173ff6e8a3fc1c9de

5 weeks agoFix compile error with thorvg by gcc-14 99/320399/1
Eunki Hong [Thu, 14 Nov 2024 14:06:49 +0000 (23:06 +0900)]
Fix compile error with thorvg by gcc-14

Change-Id: Id319e7223147d51798e1a4f19752a8a4f363a7e9
Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
5 weeks agoMerge "[AT-SPI] Add offset to GetNodeInfo API." into devel/master
kim hosang [Thu, 14 Nov 2024 03:46:27 +0000 (03:46 +0000)]
Merge "[AT-SPI] Add offset to GetNodeInfo API." into devel/master

5 weeks agoMerge "Delete sync object at DiscardResource()" into devel/master
Adeel Kazmi [Wed, 13 Nov 2024 17:33:29 +0000 (17:33 +0000)]
Merge "Delete sync object at DiscardResource()" into devel/master

5 weeks agoEnsured clear color vector is the right size 99/320299/3
David Steele [Tue, 12 Nov 2024 11:20:01 +0000 (11:20 +0000)]
Ensured clear color vector is the right size

Change-Id: I461cebeb34b1c8ea04fef2febbd8d35b8c3b05d6

5 weeks agoMerged descriptor sets for shared UBOs 49/319849/4
David Steele [Mon, 4 Nov 2024 17:30:22 +0000 (17:30 +0000)]
Merged descriptor sets for shared UBOs

If a uniform block is shared between shader stages, then
the descriptor set should have the StageFlags set to
both stage bits. There should only be 1 such descriptor set
in the descriptor set binding.

Change-Id: I505492bbdf5a410a43ed8d133df0d5bc5df2cb19
Signed-off-by: David Steele <david.steele@samsung.com>
5 weeks agoShaderParser: Removed single line comments in tokenizer 69/319969/4
David Steele [Wed, 13 Nov 2024 12:40:28 +0000 (12:40 +0000)]
ShaderParser: Removed single line comments in tokenizer

Change-Id: I6b2bb9e8bf479eeb177781aec20ef885695a71c9

5 weeks ago[AT-SPI] Add offset to GetNodeInfo API. 35/320335/1
Hosang Kim [Wed, 13 Nov 2024 10:55:16 +0000 (19:55 +0900)]
[AT-SPI] Add offset to GetNodeInfo API.

The offset is added to every GetExtents() result.
So add offset to GetExtents() result in GetNodeInfo.

Change-Id: Ifa903d8af8d8bfdcd2a191a99b556e1c2d290594

5 weeks agoDelete sync object at DiscardResource() 25/320325/1
Eunki, Hong [Wed, 13 Nov 2024 07:02:43 +0000 (16:02 +0900)]
Delete sync object at DiscardResource()

Since we don't queueing Resource of sync object,
we should call delete for Discard cases.

Change-Id: I6a5a905b7cd6142c3dc59ef399374c8552d88904
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
5 weeks agoAdvanced blending prefix for GLES shaders 54/320254/3
Adam Bialogonski [Tue, 12 Nov 2024 14:08:29 +0000 (14:08 +0000)]
Advanced blending prefix for GLES shaders

- Prefix is being added now when parsing GLES shaders
- Added shader prefix strings to ShaderParserInfo - prefixes are added
  after setting the #version.

Change-Id: If25ec5232054a713a6c8965c37a6091710689aa6

5 weeks agoMerge "Associate DefaultLabel with actor" into devel/master
Youngsun Suh [Mon, 11 Nov 2024 23:44:24 +0000 (23:44 +0000)]
Merge "Associate DefaultLabel with actor" into devel/master

5 weeks ago(Capture) Allow to re-start capture during finished signal 06/320206/1
Eunki, Hong [Mon, 11 Nov 2024 01:40:35 +0000 (10:40 +0900)]
(Capture) Allow to re-start capture during finished signal

Some user wants to re-start capture inside of
CaptureFinishedSignal.

We already reset whole resources of source items at Start() API.
So it could be allowed to re-start the capture.

Change-Id: I64863dca2221c36c58453b420c01a1ea301b4eae
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
5 weeks agoAssociate DefaultLabel with actor 53/319153/2
Youngsun Suh [Wed, 16 Oct 2024 07:44:42 +0000 (16:44 +0900)]
Associate DefaultLabel with actor

Change-Id: I9239f6ecf4ad619df83aa19c0dc0027a89e8b8b0

6 weeks agoApplying native image to GLES shader 98/320098/5
Adam Bialogonski [Fri, 8 Nov 2024 14:58:09 +0000 (14:58 +0000)]
Applying native image to GLES shader

- Embedding extension string outside legacy-prefix block in modern shader
- Keeping current behaviour for legacy shaders
- Extension string depends on GLSL version returned by GL not on #version

Change-Id: I5db0a2d8688ec9614d80848df72fdc9e9fef2708

6 weeks agoDALi Version 2.3.49 64/320164/1 dali_2.3.49
Richard Huang [Fri, 8 Nov 2024 10:27:17 +0000 (10:27 +0000)]
DALi Version 2.3.49

Change-Id: Ib8af59835a9315df83bfeb1b4ff7b82e057056a6

6 weeks ago(AddOn Manager) dlclose for addon manage failed cases 79/320079/1
Eunki, Hong [Thu, 7 Nov 2024 11:00:25 +0000 (20:00 +0900)]
(AddOn Manager) dlclose for addon manage failed cases

Let we ensure to close dynamic library handles if we don't control.

Change-Id: Id574130236124f2ab909727a54470c43c21b5185
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
6 weeks agoAdd KeyboardEventReceivedSignal to InputMethodContext 31/320031/2
Bowon Ryu [Thu, 7 Nov 2024 02:22:55 +0000 (11:22 +0900)]
Add KeyboardEventReceivedSignal to InputMethodContext

KeyboardEventReceivedSignal is the same as EventReceivedSignal.
The EventReceivedSignal combines different kinds of events triggered by the IMF into a single signal, which it then emits.
These events often happen during text entry through S/W keyboard and Applications depend on this signal to perform various actions.
There exists a situation where further emissions take place inside the emitted signal.
Unfortunately, these events are already exposed publicly and cannot be segregated separately.
As a workaround, we keep the original signal intact but separate signals meant exclusively for usage within dali.

Change-Id: Iac119603ef98cd147aff98606076e00aa9b73da0
Signed-off-by: Bowon Ryu <bowon.ryu@samsung.com>
6 weeks agoMerge "Add for thorvg build guide at Ubuntu" into devel/master
Eunki Hong [Wed, 6 Nov 2024 02:41:22 +0000 (02:41 +0000)]
Merge "Add for thorvg build guide at Ubuntu" into devel/master

6 weeks agoAdd for thorvg build guide at Ubuntu 61/319961/2
Eunki Hong [Tue, 5 Nov 2024 13:11:17 +0000 (22:11 +0900)]
Add for thorvg build guide at Ubuntu

Let we add some guideline to build & install thorvg at Ubuntu.

Also, check the version of thorvg to prepare API changeness

Change-Id: I093d9803fa41021e515d75bc94e24683747b8292
Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
6 weeks ago(Addon Manager) Add dlclose & show error logs instead of asserting 60/319960/3
Adeel Kazmi [Tue, 5 Nov 2024 12:07:11 +0000 (12:07 +0000)]
(Addon Manager) Add dlclose & show error logs instead of asserting

Change-Id: I151a341cb65a27b716eb4e97cc9d3fe92330dd4e

6 weeks agoMerge "Shader parser changes" into devel/master
David Steele [Mon, 4 Nov 2024 10:13:29 +0000 (10:13 +0000)]
Merge "Shader parser changes" into devel/master

7 weeks agoShader parser changes 71/319771/3
Adam Bialogonski [Thu, 31 Oct 2024 21:04:04 +0000 (21:04 +0000)]
Shader parser changes

- GLSL dialect is verified with simple shader compilation
- if compilation fails we fall back to basic 300 es
- Parser has now 100, 300, 310 and 320 versions separated
- Version of GLSL is pulled from the GraphicsInterface (and cache)

Change-Id: I41875180db18dab511a3b7780910cf98b6d739c6

7 weeks agoMerge "DALi Version 2.3.48" into devel/master
David Steele [Fri, 1 Nov 2024 11:25:23 +0000 (11:25 +0000)]
Merge "DALi Version 2.3.48" into devel/master