platform/core/uifw/dali-adaptor.git
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 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 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

7 weeks agoDALi Version 2.3.48 02/319802/1 dali_2.3.48
David Steele [Fri, 1 Nov 2024 11:17:27 +0000 (11:17 +0000)]
DALi Version 2.3.48

Change-Id: I8ba192ee716dfccf52671769f0ccf86d7182ee11

7 weeks agoReturn PixelBuffer::IsAlphaPreMultiplied() true if pixel format don't have alpha. 70/318070/12
Eunki, Hong [Tue, 24 Sep 2024 07:56:01 +0000 (16:56 +0900)]
Return PixelBuffer::IsAlphaPreMultiplied() true if pixel format don't have alpha.

Let we make pixelbuffer is premultiplied if it doesn't have alpha channel
after request MultiplyColorByAlpha().

It will increase speed of rendering near 2% if we render RGB <-> RGBA format image repeatly.

See : https://confluence.sec.samsung.net/pages/viewpage.action?pageId=925598862

Change-Id: I0bd74a848c4692bcd195d2c429efddd41596be2a
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
7 weeks agoConsider that strdup failed case 55/319755/1
Eunki, Hong [Thu, 31 Oct 2024 10:33:09 +0000 (19:33 +0900)]
Consider that strdup failed case

Let we print some log and ignore shader parsing when strdup failed, due to
memory limits.

Change-Id: I05ee29197a7208973d72654da69376492c03a628
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
7 weeks agoMerge "(AddOnManager) Add more error check for addon manager" into devel/master
Eunki Hong [Thu, 31 Oct 2024 04:25:48 +0000 (04:25 +0000)]
Merge "(AddOnManager) Add more error check for addon manager" into devel/master

7 weeks agoMerge "Added matrix row stride to reflection" into devel/master
David Steele [Wed, 30 Oct 2024 16:57:10 +0000 (16:57 +0000)]
Merge "Added matrix row stride to reflection" into devel/master

7 weeks agoMerge "Cached depth/stencil state in command buffer" into devel/master
David Steele [Wed, 30 Oct 2024 16:49:31 +0000 (16:49 +0000)]
Merge "Cached depth/stencil state in command buffer" into devel/master

7 weeks agoMerge "Make Capture Timer Start at Processor stage." into devel/master
Eunki Hong [Wed, 30 Oct 2024 07:11:56 +0000 (07:11 +0000)]
Merge "Make Capture Timer Start at Processor stage." into devel/master

7 weeks ago(AddOnManager) Add more error check for addon manager 37/319637/2
Eunki, Hong [Tue, 29 Oct 2024 07:03:43 +0000 (16:03 +0900)]
(AddOnManager) Add more error check for addon manager

Change-Id: I9f8cc34a15210465b5d3ab0c285d66c7a2f3dec6
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
7 weeks agoMerge "Skip SwitchBridge when dbus client is not ready." into devel/master
kim hosang [Tue, 29 Oct 2024 01:50:41 +0000 (01:50 +0000)]
Merge "Skip SwitchBridge when dbus client is not ready." into devel/master

8 weeks agoMerge changes Ib3e93f24,I2ea1ba1a,Icf43e46b into devel/master
Adeel Kazmi [Fri, 25 Oct 2024 13:30:12 +0000 (13:30 +0000)]
Merge changes Ib3e93f24,I2ea1ba1a,Icf43e46b into devel/master

* changes:
  Sending preprocessed code when fishing for samplers
  Shader parser supports duplicated uniform blocks
  ShaderParser changes

8 weeks agoDALi Version 2.3.47 53/319553/1 dali_2.3.47
Adeel Kazmi [Fri, 25 Oct 2024 10:45:54 +0000 (11:45 +0100)]
DALi Version 2.3.47

Change-Id: I6e1160785d4e5c1ee440b99a7f68f475e604d199

8 weeks agoAdded matrix row stride to reflection 98/319398/4
David Steele [Tue, 22 Oct 2024 13:48:48 +0000 (14:48 +0100)]
Added matrix row stride to reflection

The shader reflection needs to specify the row stride
for matrix3 types. This ensures that when mat3 is in
a uniform block that the padding is taken into account
when writing.

Rowstride is number of bytes that a row takes in memory.

Change-Id: Ide7629bd1615acafb0d451c46375b57ff5718cb0
Signed-off-by: David Steele <david.steele@samsung.com>
8 weeks agoSkip SwitchBridge when dbus client is not ready. 28/319528/2
Hosang Kim [Fri, 25 Oct 2024 04:59:22 +0000 (13:59 +0900)]
Skip SwitchBridge when dbus client is not ready.

If DBusClient is not ready, don't remove initialize timer.

Change-Id: I24cf2993f80770ae137359e4c50454874235a8cd

8 weeks agoSending preprocessed code when fishing for samplers 98/319498/2
Adam Bialogonski [Thu, 24 Oct 2024 10:09:22 +0000 (11:09 +0100)]
Sending preprocessed code when fishing for samplers

Change-Id: Ib3e93f244860308549791e1b5d1bc8c8a6f24464

8 weeks agoShader parser supports duplicated uniform blocks 97/319497/1
Adam Bialogonski [Thu, 24 Oct 2024 09:54:53 +0000 (10:54 +0100)]
Shader parser supports duplicated uniform blocks

GLSL may redefine the same uniform block across multiple shader stages.
The GLSL for Vulkan needs to consider it and assign binding points correctly
to those blocks, otherwise the data won't be shared. GLES3 does that implicitly.

Change-Id: I2ea1ba1afd3fd4fb7578e53549535a317121c855

8 weeks agoShaderParser changes 07/319407/3
Adam Bialogonski [Tue, 22 Oct 2024 17:32:36 +0000 (18:32 +0100)]
ShaderParser changes

- Support for textureCube() and textureLod() calls
- Old GLSL2 semantics can be used in modern shader same as gl_FragColor
- TEXTURE_CUBE, TEXTURE_LOD, TEXTURE_CUBE_LOD macros added

Change-Id: Icf43e46b5302d0f3ef284f38bbdb7ba73c39e432

8 weeks agoMerge "Avoid print eglSwapBuffer trace logs for TV profile" into devel/master
Eunki Hong [Thu, 24 Oct 2024 04:35:13 +0000 (04:35 +0000)]
Merge "Avoid print eglSwapBuffer trace logs for TV profile" into devel/master

2 months ago(AddOn Manager) New API to load addons/libraries rather than via an ENV variable 09/319409/2
Adeel Kazmi [Tue, 22 Oct 2024 18:10:11 +0000 (19:10 +0100)]
(AddOn Manager) New API to load addons/libraries rather than via an ENV variable

Change-Id: I8cdf8ff46f78991214990dc26537209b4e40001d

2 months agoMake Capture Timer Start at Processor stage. 82/319382/2
Seungho Baek [Mon, 21 Oct 2024 09:45:15 +0000 (18:45 +0900)]
Make Capture Timer Start at Processor stage.

 - If there is many works after Capture is requested, then it can emit false negative.
 - This patch is Cheery-picked patch from tizen patch,
   (https://review.tizen.org/gerrit/#/c/platform/core/uifw/dali-adaptor/+/319312/)

Change-Id: I424b1da8f57dfcbe94ee781e48d404c6b881b581
Signed-off-by: Seungho Baek <sbsh.baek@samsung.com>
2 months agoCached depth/stencil state in command buffer 31/319131/4
David Steele [Tue, 15 Oct 2024 16:45:58 +0000 (17:45 +0100)]
Cached depth/stencil state in command buffer

Change-Id: I1bcfbea332ed381ba1850e6618d03bf0f36e87e9

2 months agoAvoid print eglSwapBuffer trace logs for TV profile 73/319273/1
Eunki Hong [Sun, 20 Oct 2024 23:21:10 +0000 (08:21 +0900)]
Avoid print eglSwapBuffer trace logs for TV profile

Change-Id: Iacbc19bbdbded188cd6241edefb17f697c3b928c
Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
2 months agoMerge changes I82d8d719,I7ac1df5a into devel/master
Adeel Kazmi [Fri, 18 Oct 2024 13:26:13 +0000 (13:26 +0000)]
Merge changes I82d8d719,I7ac1df5a into devel/master

* changes:
  Fixes to GLES3 shader processing pipeline
  Bug fixes and improvements.

2 months agoDALi Version 2.3.46 42/319242/1 dali_2.3.46
Adam Bialogonski [Fri, 18 Oct 2024 06:44:19 +0000 (07:44 +0100)]
DALi Version 2.3.46

Change-Id: I3fa01da7ffb853d74bcb428271166247aee542fe

2 months agoFixes to GLES3 shader processing pipeline 18/319218/1
Adam Bialogonski [Thu, 17 Oct 2024 15:07:45 +0000 (16:07 +0100)]
Fixes to GLES3 shader processing pipeline

- Reflection assigns binding points implicitly
- GLES shader doesn't mix up @version and legacy #version

Change-Id: I82d8d719773263e4e567e606b5644aaf6b7e9132

2 months agoBug fixes and improvements. 16/318816/3
Adam Bialogonski [Tue, 8 Oct 2024 15:56:51 +0000 (16:56 +0100)]
Bug fixes and improvements.

- [Vulkan] fixed memory corruption when binding textures
- [Vulkan] fixed memory corruption when binding UBOs
- [Vulkan/GLES] Added API for obtaining device limitations
- [Vulkan/GLES] Added 'flat' keyword support to the parser

Change-Id: I7ac1df5abad042901eaefe41c1fdb0b19d835ac2

2 months agoMerge "Adding depth buffer to swapchain" into devel/master
David Steele [Wed, 16 Oct 2024 15:19:37 +0000 (15:19 +0000)]
Merge "Adding depth buffer to swapchain" into devel/master

2 months agoPrevent crash when a11y bridge is disabled 99/319099/3
Youngsun Suh [Tue, 15 Oct 2024 01:58:28 +0000 (10:58 +0900)]
Prevent crash when a11y bridge is disabled

Change-Id: Iba2bd83d2623ead9e907cd1a6d0ffe4f9e4548db

2 months agoAdding depth buffer to swapchain 32/318532/10
David Steele [Tue, 1 Oct 2024 09:50:51 +0000 (10:50 +0100)]
Adding depth buffer to swapchain

Changed stencil funcs in graphics-api to better match
the api calls required in both GLES and VUlkan. (Rolled
SetStencilFunc and SetStencilOp into a single SetStencilState).

Added depth buffer creation to swapchain. This should invalidate
all pipelines, as the render pass will change, but we don't have
a pipeline cache yet...

Ensured pipeline counts color attachments of render pass when
setting up blending

Changed clip space matrix to not invert Z.

Change-Id: I5a461b86a8decb7148089b722bef4d226a1c1051

2 months agoFix crash on destroying static bridge obj 97/319097/1
Youngsun Suh [Tue, 15 Oct 2024 07:16:40 +0000 (16:16 +0900)]
Fix crash on destroying static bridge obj

Change-Id: I3f7ab0fcf280dca3ddae9a7c553c82885d2a1299

2 months agoDALi Version 2.3.45 68/318968/1 dali_2.3.45
Richard Huang [Fri, 11 Oct 2024 09:43:15 +0000 (10:43 +0100)]
DALi Version 2.3.45

Change-Id: I87b1e7df8b32d9518c30f317deb7ddef00ca979e

2 months agoMerge "(RenderSurface/Graphics) Added Resize method to manage different GLES & Vulkan...
Adeel Kazmi [Thu, 10 Oct 2024 10:58:06 +0000 (10:58 +0000)]
Merge "(RenderSurface/Graphics) Added Resize method to manage different GLES & Vulkan behaviour" into devel/master

2 months agoMerge "Fix wrong variable name for window target" into devel/master
Taehyub Kim [Thu, 10 Oct 2024 09:26:37 +0000 (09:26 +0000)]
Merge "Fix wrong variable name for window target" into devel/master

2 months ago(RenderSurface/Graphics) Added Resize method to manage different GLES & Vulkan behaviour 37/318837/3
Adeel Kazmi [Wed, 9 Oct 2024 21:24:56 +0000 (22:24 +0100)]
(RenderSurface/Graphics) Added Resize method to manage different GLES & Vulkan behaviour

Change-Id: I08d44294d303a487cc0d2306910d080f5582fb91

2 months agoMerge "Changed vulkan startup order" into devel/master
Adeel Kazmi [Thu, 10 Oct 2024 08:42:40 +0000 (08:42 +0000)]
Merge "Changed vulkan startup order" into devel/master

2 months agoFix wrong variable name for window target 66/318866/1
Taehyub Kim [Thu, 10 Oct 2024 06:47:09 +0000 (15:47 +0900)]
Fix wrong variable name for window target

Change-Id: I54a74ef5effb473b83e7175041234335ab578876

2 months agoEnsure we don't touch shutdowned EglGraphicsController 79/318579/7
Eunki, Hong [Wed, 2 Oct 2024 11:13:00 +0000 (20:13 +0900)]
Ensure we don't touch shutdowned EglGraphicsController

Let we make IsShuttingDown() API as static,
so we can ask it without raw pointer of graphics controller.

Most of API in GLES::Resource hold the eglController as l-value.
So if someone try to get graphics controller after shutting down,
it might make some crash.

To avoid these kind of issue, let we ensure to call DiscardResource
only if graphics controller is not in shutting down.

TODO : native image should be called DiscardResource() even if it is shutting
downed. How can we ensure it?

Change-Id: I87ec5d96d8c12c054f00db346564f7bae8d5d3bb
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 months agoChanged vulkan startup order 35/318835/1
David Steele [Wed, 9 Oct 2024 17:23:26 +0000 (18:23 +0100)]
Changed vulkan startup order

Instead of creating a physical device, then creating a surface
and asserting if that device can't support the surface,
creates the vulkan surface, and checks against each device to see
if that surface can be presented.

Change-Id: I25c22c6068b2e91f3f7e49cd509c52adcf7cef12
Signed-off-by: David Steele <david.steele@samsung.com>
2 months ago(Build) Remove EGL/GLES library check if Vulkan is enabled 27/318727/2
Adeel Kazmi [Mon, 7 Oct 2024 11:28:52 +0000 (12:28 +0100)]
(Build) Remove EGL/GLES library check if Vulkan is enabled

Change-Id: Id4a3e108b0b4ac76d5336159bcbfa121ee1a55c5

2 months agoDALi Version 2.3.44 40/318640/1 dali_2.3.44
David Steele [Fri, 4 Oct 2024 08:53:15 +0000 (09:53 +0100)]
DALi Version 2.3.44

Change-Id: I495122c5270aac65be7c0ce7b254f612f5f40278

2 months agoMerge changes I16ce7eff,Ic103c573,I651ed4d0 into devel/master
David Steele [Wed, 2 Oct 2024 13:13:54 +0000 (13:13 +0000)]
Merge changes I16ce7eff,Ic103c573,I651ed4d0 into devel/master

* changes:
  Changed vulkan-fence to use unique_ptr
  Vulkan render pass uses ref counted handle
  Vulkan resource lifecycle management

2 months agoMerge "Add WebAuthDisplayQR, Response and MediaPermission" into devel/master
dongsug song [Wed, 2 Oct 2024 11:31:17 +0000 (11:31 +0000)]
Merge "Add WebAuthDisplayQR, Response and MediaPermission" into devel/master

2 months agoChanged vulkan-fence to use unique_ptr 03/318503/2
David Steele [Mon, 30 Sep 2024 15:27:39 +0000 (16:27 +0100)]
Changed vulkan-fence to use unique_ptr

Change-Id: I16ce7eff8ed73ab3395c1521d516a9edb3449b8f

2 months agoVulkan render pass uses ref counted handle 07/318307/4
David Steele [Thu, 26 Sep 2024 18:06:21 +0000 (19:06 +0100)]
Vulkan render pass uses ref counted handle

As we are now sharing render pass between framebuffers
of a swapchain, using a ref-counted handle will ensure
that we can clean this up safely.

Change-Id: Ic103c57314c39c2141883d688175664c8d30939d

2 months agoVulkan resource lifecycle management 68/316868/7
David Steele [Wed, 28 Aug 2024 16:18:56 +0000 (17:18 +0100)]
Vulkan resource lifecycle management

For Vulkan implementation of graphics resources:
  Added discard queue, that's cleaned down during Flush().

Added ResourceWithDeleter as a secondary interface on top of ResourceBase, to allow
Program/Pipeline to inherit solely from ResourceBase, and not have to utilize the
same resource deleters that the main graphics objects require.

Removed VkResource inheritance completely from Impl classes.
Kept VkResource as VkSharedResource, as we may still use this on RenderPassImpl

All Impl classes now have a public Destroy method which is called from their
destructor, but may also be called earlier if needed. Note, CommandBuffers should
not be deleted directly, but instead returned to the command pool for re-use.

Implemented owned containers for some Impl objects using
std::unique_ptr. Framebuffer owns it's attachments, Swapchain owns
it's framebuffers.

Change-Id: I651ed4d041cd2fb3e7698304eeede66625031945

2 months agoMake ShaderPrecompiler move shader list + Store shader prefix list as string instead... 36/318236/4
Eunki, Hong [Thu, 26 Sep 2024 01:49:46 +0000 (10:49 +0900)]
Make ShaderPrecompiler move shader list + Store shader prefix list as string instead string_view

Until now, Precompiler hold only string_view.
It mean, the lifecycle of shader code is not depend on that object.

To make sure that we could control the lifecycle of source code string,
let we keep it as std::string, instead of std::string_view.

And also, make we use std::move instead of copy them.
It will make less performance overhead.

Change-Id: I2b5949b5a408865b5879448630c65a6d3682ecee
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 months agoMerge "Prevent revisiting nodes in GetMatches*" into devel/master
Youngsun Suh [Mon, 30 Sep 2024 02:23:12 +0000 (02:23 +0000)]
Merge "Prevent revisiting nodes in GetMatches*" into devel/master

2 months agoPrevent revisiting nodes in GetMatches* 79/318379/4
Youngsun Suh [Fri, 27 Sep 2024 08:20:19 +0000 (17:20 +0900)]
Prevent revisiting nodes in GetMatches*

Change-Id: I55c93244b1c4e1804c7e00baaca4fcf44d404718

2 months agoMerge "Added an option to select the web engine type in the WebView constructor"...
dongsug song [Fri, 27 Sep 2024 09:10:59 +0000 (09:10 +0000)]
Merge "Added an option to select the web engine type in the WebView constructor" into devel/master

2 months agoAdd WebAuthDisplayQR, Response and MediaPermission 91/318391/1
dongsug.song [Thu, 5 Sep 2024 12:23:00 +0000 (21:23 +0900)]
Add WebAuthDisplayQR, Response and MediaPermission

Change-Id: Ia034489abd004c0080d772e84e0c797f5b30e985

2 months agoDALi Version 2.3.43 43/318343/1 dali_2.3.43
Adeel Kazmi [Fri, 27 Sep 2024 05:52:46 +0000 (06:52 +0100)]
DALi Version 2.3.43

Change-Id: I56fa73fb16275720c3717e6c30b5dd692720e3b3

2 months agoAdded an option to select the web engine type in the WebView constructor 39/318339/2
dongsug.song [Thu, 19 Sep 2024 07:08:39 +0000 (16:08 +0900)]
Added an option to select the web engine type in the WebView constructor

- Previously, the web engine was fixed and selected for all DALi/NUI APPs in dali.sh, but now it can be chosen in the constructor.

Change-Id: I481e5ee48553c29141ecf3ef78ce7cd30f743267

2 months agoMerge changes Id84cca07,Ia7f4771e,I6c53e369,I99d8d3a1 into devel/master
David Steele [Thu, 26 Sep 2024 10:26:30 +0000 (10:26 +0000)]
Merge changes Id84cca07,Ia7f4771e,I6c53e369,I99d8d3a1 into devel/master

* changes:
  Vulkan rendering tweaks
  Remove swapchain renderpass duping
  Fixing up Vulkan validation errors
  Updating and binding descriptor sets

2 months agoMerge "Keep offset of removal prefix of shader code, and use it at cache comparision...
Eunki Hong [Thu, 26 Sep 2024 01:04:44 +0000 (01:04 +0000)]
Merge "Keep offset of removal prefix of shader code, and use it at cache comparision" into devel/master

2 months agoMerge "Make Precompile shader make same prefix with general shader of toolkit" into...
Eunki Hong [Thu, 26 Sep 2024 01:04:36 +0000 (01:04 +0000)]
Merge "Make Precompile shader make same prefix with general shader of toolkit" into devel/master

2 months agoVulkan rendering tweaks 73/317873/6
David Steele [Thu, 19 Sep 2024 17:59:12 +0000 (18:59 +0100)]
Vulkan rendering tweaks

Adds a clip space transform matrix to convert from GL clip space to
Vulkan clip space.

Ensures we can get the current framebuffer during recording cmd
buffers from the render target.

Ensure that the color write mask is set to write RGBA bits

DALi is now rendering using Vulkan! (Still a way to go, though)

Change-Id: Id84cca07dbd61a0cf6fdff6672cd410cf365d956

2 months agoRemove swapchain renderpass duping 20/317220/5
David Steele [Thu, 5 Sep 2024 17:37:15 +0000 (18:37 +0100)]
Remove swapchain renderpass duping

Change the swapchain framebuffer creation to utilize only
1 render pass.

Change-Id: Ia7f4771ee420997b7bc070e6b7685084ecd38acd

2 months agoFixing up Vulkan validation errors 70/317870/4
David Steele [Thu, 19 Sep 2024 09:56:27 +0000 (10:56 +0100)]
Fixing up Vulkan validation errors

Changed BindVertexBuffers to use single instance
 (To work around GLES impl using 0)

Changed command submission to use PipelineStage: eFragmentShader

Added DeviceWaitIdle() to SwapBuffers() (now called from PostRender)
Ensured SwapBuffers() is called to change swapchain index.

Change-Id: I6c53e369c60969fb920d097bece73dea4b7da0f1

2 months agoUpdating and binding descriptor sets 73/317773/5
David Steele [Mon, 16 Sep 2024 17:45:01 +0000 (18:45 +0100)]
Updating and binding descriptor sets

Binding uniform buffer and sampler descriptor sets
prior to draw command.

Necessitates looking up the binding points for the samplers
from the reflection, as the Graphics API defines it as
texture unit in GLES (No such thing in Vk)

Also transitioned the image layouts to shader read only after
direct memory copy.

Change-Id: I99d8d3a1592a70c75d740f9d24ac242093141528

2 months agoKeep offset of removal prefix of shader code, and use it at cache comparision 20/318220/1
Eunki Hong [Wed, 25 Sep 2024 16:53:31 +0000 (01:53 +0900)]
Keep offset of removal prefix of shader code, and use it at cache comparision

Since source code after ShaderImpl::StripLegacyCodeIfNeeded might be changed,
shader code comparision not works well.

To fix this issue, let we store the offset of code what we removed,
and compare with inputed shader code, only after that offset.

Change-Id: I699125fa2c471473e85ad6104b200d609fdd92e4
Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
2 months agoFix crash at terminate case when we use precompile option 05/318205/1
Eunki, Hong [Wed, 25 Sep 2024 11:30:41 +0000 (20:30 +0900)]
Fix crash at terminate case when we use precompile option

Let we clear pre compiled programs before shutdown graphics.

Change-Id: I58f7a0dee07853cb9bb8992e80eb696e7511367b
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 months agoMake Precompile shader make same prefix with general shader of toolkit 91/318191/2
Eunki, Hong [Wed, 25 Sep 2024 10:18:34 +0000 (19:18 +0900)]
Make Precompile shader make same prefix with general shader of toolkit

Let we make pre compiled shader also use GenerateTaggedShaderPrefix()

Change-Id: I85299cb212a3130ed6c37a37bf866fe20dab8ea5
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 months agoSupport Lanczos algorithm for RGB888 35/318135/3
jmm [Wed, 25 Sep 2024 02:23:03 +0000 (11:23 +0900)]
Support Lanczos algorithm for RGB888

Change-Id: I498ddcf33643ed69c26ef8795249f8f7c02ae6c0

2 months agoMerge "Support SamplingMode::LANCZOS and SamplingMode::BOX_THEN_LANCZOS" into devel...
Eunki Hong [Wed, 25 Sep 2024 04:17:34 +0000 (04:17 +0000)]
Merge "Support SamplingMode::LANCZOS and SamplingMode::BOX_THEN_LANCZOS" into devel/master

2 months agoMerge "Modify API name and the description of window APIs." into devel/master
Wonsik Jung [Wed, 25 Sep 2024 02:45:50 +0000 (02:45 +0000)]
Merge "Modify API name and the description of window APIs." into devel/master

2 months agoMerge "Remove WindowAccessible on accessible detroyed" into devel/master
Youngsun Suh [Wed, 25 Sep 2024 01:52:47 +0000 (01:52 +0000)]
Merge "Remove WindowAccessible on accessible detroyed" into devel/master

2 months agoModify API name and the description of window APIs. 18/318118/4
Wonsik Jung [Wed, 25 Sep 2024 00:24:02 +0000 (09:24 +0900)]
Modify API name and the description of window APIs.

Modify API name as Bottom mode and the description fo window API AlwaysOnTop and fix the white space.

Change-Id: Idf1773519d4b1df220b5a32438cecdbd5a6128d1

2 months agoSupport SamplingMode::LANCZOS and SamplingMode::BOX_THEN_LANCZOS 93/317993/3
Eunki, Hong [Mon, 23 Sep 2024 07:27:27 +0000 (16:27 +0900)]
Support SamplingMode::LANCZOS and SamplingMode::BOX_THEN_LANCZOS

TODO : LanczosSample support only for 1BPP and 4BPP.
Until support it with various pixel format, just use LinearSample instead.

Change-Id: I7c42859987964397fa7dfd2d2ee565e16cd61832
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 months agoSupports to change the window layer to the bottom 68/317868/3
Wonsik Jung [Thu, 19 Sep 2024 13:02:19 +0000 (22:02 +0900)]
Supports to change the window layer to the bottom

Supports to change the window layer to the bottom.
It is only efffected with same notification layer.

Change-Id: Ib336a9d9b725b076045a225316900ab193711686

2 months agoAdd "KP_ENTER" to DALI Key enum. 47/318047/1
ANZ1217 [Tue, 24 Sep 2024 04:24:19 +0000 (13:24 +0900)]
Add "KP_ENTER" to DALI Key enum.

KP_ENTER is "Enter" key on Numeric Keypad.
keyname: KP_ENTER
keycode: 104

Change-Id: I517102603ea3c79cf6138d0cab57a616a9b8e89f

2 months agoFix desired deimension mismatch issue 59/317759/3
Eunki Hong [Sun, 15 Sep 2024 02:54:07 +0000 (11:54 +0900)]
Fix desired deimension mismatch issue

Change-Id: I3a3b8bdf037f27ae166b8552ed2e89ed05959751
Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
3 months agoDALi Version 2.3.42 01/317901/1 dali_2.3.42
Richard Huang [Fri, 20 Sep 2024 09:47:25 +0000 (10:47 +0100)]
DALi Version 2.3.42

Change-Id: Ie2af0bef886509e9648e1c6b2587662baa58f82c

3 months agoMerge "Add the window behind blur." into devel/master
Wonsik Jung [Thu, 19 Sep 2024 01:37:03 +0000 (01:37 +0000)]
Merge "Add the window behind blur." into devel/master

3 months agoFixed current index of the pool 51/317751/2
Adam Bialogonski [Fri, 13 Sep 2024 12:42:18 +0000 (13:42 +0100)]
Fixed current index of the pool

Change-Id: Id490c3261ecec7a9ac21a761cfdb9d295465f415

3 months agoAdded descriptor sets allocation 60/317560/3
Adam Bialogonski [Wed, 11 Sep 2024 16:05:03 +0000 (17:05 +0100)]
Added descriptor sets allocation

Change-Id: I763677d68a092cb70b7716064daa6c6bdd4db95b

3 months agoAdding render pass to secondary command buffer 43/317643/3
David Steele [Thu, 12 Sep 2024 18:22:12 +0000 (19:22 +0100)]
Adding render pass to secondary command buffer

Need to retrieve the actual render pass from the current
framebuffer, so the begin info needs the render target.

Change-Id: I17c65e6b010177091fa0bc2233b0e44455df2569

3 months agoAdding command buffer implementations 09/317309/7
David Steele [Fri, 6 Sep 2024 17:33:09 +0000 (18:33 +0100)]
Adding command buffer implementations

Implementations or binding buffers and textures,
drawing, setting stencil & viewport.

Note, we require further changes to implement texture
binding, as this requires the sampler descriptor sets
for the assoc program.

Changed default buffer memory type to be host coherent - this
ensures that the validation layers don't complain on flush,
but may slow down the system. Consider using staging buffers
to transfer memory to GPU.

Change-Id: I50d56f886dca80a65ba03f9f8b3261b1cca75236

3 months agoMerge "DALi Version 2.3.41" into devel/master
David Steele [Fri, 13 Sep 2024 11:02:23 +0000 (11:02 +0000)]
Merge "DALi Version 2.3.41" into devel/master

3 months agoMerge "Optimize EmitStateChanged to reduce dbus call" into devel/master
Youngsun Suh [Fri, 13 Sep 2024 06:47:07 +0000 (06:47 +0000)]
Merge "Optimize EmitStateChanged to reduce dbus call" into devel/master

3 months agoDALi Version 2.3.41 10/317710/1 dali_2.3.41
Adam Bialogonski [Fri, 13 Sep 2024 06:42:47 +0000 (07:42 +0100)]
DALi Version 2.3.41

Change-Id: Ic8fb63befcce8f20c8348677691d22acf5c57c2c