platform/core/uifw/dali-adaptor.git
34 hours agoFix coverity issue : Convert uint32_t to float first, then minus operate 35/319235/1
Eunki, Hong [Thu, 6 Feb 2025 05:59:42 +0000 (14:59 +0900)]
Fix coverity issue : Convert uint32_t to float first, then minus operate

Since it is possible that widthIn is zero, we should consider
the code with negavie cases.

Change-Id: I0c71d6336b2b415bc2af731ff738e79ac5fef9db
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
3 days agoMerge "Fix memory leak for depth and stencil buffer in Vulkan backend" into devel...
Adeel Kazmi [Tue, 4 Feb 2025 15:40:02 +0000 (15:40 +0000)]
Merge "Fix memory leak for depth and stencil buffer in Vulkan backend" into devel/master

4 days agoThe range of touch coordinates is [0:width - 1] and [0:height - 1] 14/319014/6
joogab.yun [Mon, 3 Feb 2025 06:46:48 +0000 (15:46 +0900)]
The range of touch coordinates is [0:width - 1] and [0:height - 1]

So, modify coordinate calculation when rotating.

Change-Id: I1ce7788a098104e1a729e2c78a7cf3fb49b7e31a

4 days agoMerge "Do not copy same UBODescriptor and TextureBinding at GLES::Context + Remove...
Eunki Hong [Mon, 3 Feb 2025 04:55:57 +0000 (04:55 +0000)]
Merge "Do not copy same UBODescriptor and TextureBinding at GLES::Context + Remove unused function : BindSamplers" into devel/master

7 days agoMerge "Fixed coverage build" into devel/master
David Steele [Fri, 31 Jan 2025 13:36:32 +0000 (13:36 +0000)]
Merge "Fixed coverage build" into devel/master

7 days agoDALi Version 2.4.4 20/318920/1 dali_2.4.4
David Steele [Fri, 31 Jan 2025 12:31:36 +0000 (12:31 +0000)]
DALi Version 2.4.4

Change-Id: I734fddaea896fa0f5cbf1c8d7723ed6a230ed748

7 days agoFixed coverage build 18/318918/1
David Steele [Fri, 31 Jan 2025 11:57:23 +0000 (11:57 +0000)]
Fixed coverage build

Change-Id: Ib458a5d1f748e4787ef616ed41ef963ca7fa35ff

7 days agoFix memory leak for depth and stencil buffer in Vulkan backend 17/318917/1
Richard Huang [Fri, 31 Jan 2025 11:36:08 +0000 (11:36 +0000)]
Fix memory leak for depth and stencil buffer in Vulkan backend

Change-Id: Iba74096c4ff2e1213a293a5fffcd8ee9b96ab7dd

11 days agoDynamic Graphics Backend 15/317915/16
Adeel Kazmi [Thu, 9 Jan 2025 18:35:30 +0000 (18:35 +0000)]
Dynamic Graphics Backend

Change-Id: I013ff62b54f2e8badee2c10e91b40d178b6f213c

12 days agoDo not copy same UBODescriptor and TextureBinding at GLES::Context + Remove unused... 56/318556/8
Eunki, Hong [Mon, 20 Jan 2025 10:25:13 +0000 (19:25 +0900)]
Do not copy same UBODescriptor and TextureBinding at GLES::Context + Remove unused function : BindSamplers

Some struct call std::fill_n internally when we call resize - for example : UniformBufferBindingDescriptor
But, we really don't need to use initialized value.

Let we make the container as Dali::Vector, so can skip useless initialize value.

Moreover, let we remove unused function, BindSamplers.

Change-Id: I66f2fa7e83fea89dfac1c5d20e003745991d4edc
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 weeks agoMerge changes I05449137,Ie4334fb8,I12dad280,Iaf63b42f into devel/master
David Steele [Fri, 24 Jan 2025 14:19:14 +0000 (14:19 +0000)]
Merge changes I05449137,Ie4334fb8,I12dad280,Iaf63b42f into devel/master

* changes:
  Change render target semaphore handling
  Inverting framebuffer viewport for Vulkan
  Implementing framebuffer in vulkan backend
  Allowing arbitrary dumping of multi-frame command buffers

2 weeks agoDALi Version 2.4.3 14/318814/1 dali_2.4.3
Richard Huang [Fri, 24 Jan 2025 10:47:31 +0000 (10:47 +0000)]
DALi Version 2.4.3

Change-Id: Ic2044196624e2cdba2ee02949d4fda02c93db600

2 weeks agoChange render target semaphore handling 72/317772/11
David Steele [Fri, 20 Dec 2024 17:40:17 +0000 (17:40 +0000)]
Change render target semaphore handling

Fixed bug with dependency graph adding same dependency more than once to render target

Changed queue submission to handle vector of wait stage masks
(as a render task may depend on more than one offscreen to finish rendering)

Changed render task dependence so that only the "earliest" dependent needs to
wait for offscreen - (2nd dependant Submit can't wait on already signalled sema, apparently!)
Fixes a lot of lockups in demos.

Changed swapchain Submit() to pass in any offscreen dependencies.
  Swapchain submit adds own dependence on acquireNextImageSemaphore.

Test harness:
  Some tests skip initial "SendNotification" call. This means that scene-setup done by the test harness is ignored until the next frame.
  Changed the TestApplication InitilizeCore method to ensure that the messages are processed after setup.
  (So it doesn't matter if the test doesn't first call app.SendNotification()).

Change-Id: I05449137fa14ce1b00d3ecd152f4d0cf2409228d

2 weeks agoInverting framebuffer viewport for Vulkan 76/317676/8
David Steele [Mon, 6 Jan 2025 18:26:08 +0000 (18:26 +0000)]
Inverting framebuffer viewport for Vulkan

Change-Id: Ie4334fb8c5894d9ec080c82b7203f335cff4cc7b

2 weeks agoImplementing framebuffer in vulkan backend 62/315762/14
David Steele [Thu, 12 Dec 2024 11:36:59 +0000 (11:36 +0000)]
Implementing framebuffer in vulkan backend

High level:
----------
Added render pass constructors for fbo.

Added offscreen texture dependency graph.

FBO command submission requires texture dependencies to ensure that
syncing semaphores are correctly setup.

Added submission semaphore to RenderTarget

Detail
------
vulkan-command-buffer.h/.cpp
  - Added mRenderTarget member which is stored when Begin() cmd is issued on this buffer.
  - Added call to check texture dependencies when BindTextures() cmd is issued.
  - Added call to add texture dependencies when BeginRenderPass() cmd is issued.
  - Replaced GetLastSwapchain with GetRenderTarget() (More generic)

vulkan-framebuffer.h/.cpp
  - Added render pass generation

vulkan-framebuffer-attachment.h
  - Added AttachmentDescription to constructor/New

vulkan-framebuffer-impl.h/cpp
  - Add AddRenderPass() method
  - Changed Attachment constructor to copy AttachmentDescription if not null, or use "Clear"/"Store"
    for load / store ops, respectively.

vulkan-graphics-controller.h/cpp
  - Changed FrameStart() to reset texture dependency graph
  - Changed SubmitCommandBuffers() to submit for all render targets (not just swapchain)
  - Changed PresentRenderTarget() to only present swapchain target
  - Changed CreateRenderTarget() to add render target to dependency checker
  - Added CreateFramebuffer() implementation
  - Added texture dependency methods
    - AddTextureDependencies() goes thru each attachment of a render target and adds it to the
        dependency checker
    - CheckTextureDependencies() goes through each bound texture to determine if it needs to wait
        on a render target submission
    - RemoveRenderTarget() - removes render target from dependency graph

vulkan-render-pass-impl.h/cpp
  - Added new New factory fn to pass in CreateInfo
  - Separated out sub-pass dependency generation - different setup for offscreen/swapchain.
  - Storing attachment handles in CreateInfo

vulkan-render-target.h/.cpp
  - Added mSubmitSemaphore. This is used when Submitting offscreen command buffers to the graphics
    queue to handle synchronization between render targets - the submission can wait on dependent
    targets to finish drawing to offscreens.
  - Added Submit() method to submit for either offscreen / swapchain.

vulkan-swapchain-impl.h/.cpp
  - Changed to use Queue::Submit method

vulkan-texture.h
  - Addition of CreateImageView() which ensures the image is allocated, and creates
    separate image view using existing parameters.

vulkan-queue.h/cpp
  - Moved Submit() function from Device class to Queue as method.

Change-Id: I12dad2805e4a25f431878e0c3bf07bead1943694
Signed-off-by: David Steele <david.steele@samsung.com>
2 weeks agoAllowing arbitrary dumping of multi-frame command buffers 66/316566/11
David Steele [Fri, 13 Dec 2024 10:03:22 +0000 (10:03 +0000)]
Allowing arbitrary dumping of multi-frame command buffers

Updated to pass out the render target information at the end of
the json.

Change-Id: Iaf63b42f89ab014c99a8635a1288b4a9ea9c9f23

2 weeks ago[AT-SPI] Fix deputy finding logic in GetNavigableAtPoint to include root 87/318387/2
Youngsun Suh [Fri, 16 Aug 2024 04:44:58 +0000 (13:44 +0900)]
[AT-SPI] Fix deputy finding logic in GetNavigableAtPoint to include root

Change-Id: I42fb2eed656443c1e6ebf68f8ff9570968fce631

2 weeks agoMerge "[AT-SPI] Fix GetNavigableAtPoint when the embedded widget has no accessibile...
Seoyeon Kim [Wed, 22 Jan 2025 05:34:06 +0000 (05:34 +0000)]
Merge "[AT-SPI] Fix GetNavigableAtPoint when the embedded widget has no accessibile object" into devel/master

2 weeks agoMerge "Fill empty UniformBufferBindingDescriptor only required" into devel/master
David Steele [Tue, 21 Jan 2025 11:12:35 +0000 (11:12 +0000)]
Merge "Fill empty UniformBufferBindingDescriptor only required" into devel/master

2 weeks agoMerge "[AT-SPI] Do not subtract extentOffset if it's a sub window of Widget" into...
Seoyeon Kim [Tue, 21 Jan 2025 09:45:36 +0000 (09:45 +0000)]
Merge "[AT-SPI] Do not subtract extentOffset if it's a sub window of Widget" into devel/master

2 weeks ago[AT-SPI] Fix GetNavigableAtPoint when the embedded widget has no accessibile object 85/318385/2
Youngsun Suh [Fri, 16 Aug 2024 04:00:30 +0000 (13:00 +0900)]
[AT-SPI] Fix GetNavigableAtPoint when the embedded widget has no accessibile object

Change-Id: I690114db34985912c996b9e9a8b2c8196011bc3e

2 weeks agoMerge "[AT-SPI] Implement missing DeputyAccessible feature" into devel/master
Seoyeon Kim [Tue, 21 Jan 2025 09:35:43 +0000 (09:35 +0000)]
Merge "[AT-SPI] Implement missing DeputyAccessible feature" into devel/master

2 weeks agoMerge "Fix potential memory leak in bidirectional support." into devel/master
Chihun Jeong [Tue, 21 Jan 2025 02:07:09 +0000 (02:07 +0000)]
Merge "Fix potential memory leak in bidirectional support." into devel/master

2 weeks agoMerge "Fix Unicode Byte Order Mark was misinterpreted as arabic character." into...
Chihun Jeong [Tue, 21 Jan 2025 02:07:04 +0000 (02:07 +0000)]
Merge "Fix Unicode Byte Order Mark was misinterpreted as arabic character." into devel/master

2 weeks ago[AT-SPI] Implement missing DeputyAccessible feature 84/318384/3
Artur Świgoń [Thu, 1 Aug 2024 14:29:40 +0000 (16:29 +0200)]
[AT-SPI] Implement missing DeputyAccessible feature

This feature helps determine the result of a recursive GetNavigableAtPoint
operation. The recursion is done by the at-spi2-core library.

Change-Id: I86ca04cc1e20496703635cb5fd8293f84c677be2

2 weeks agoMerge "[AT-SPI] Check if child is visible in scrollable parent" into devel/master
Seoyeon Kim [Tue, 21 Jan 2025 00:55:37 +0000 (00:55 +0000)]
Merge "[AT-SPI] Check if child is visible in scrollable parent" into devel/master

2 weeks agoFill empty UniformBufferBindingDescriptor only required 53/318453/2
Eunki, Hong [Fri, 17 Jan 2025 04:40:15 +0000 (13:40 +0900)]
Fill empty UniformBufferBindingDescriptor only required

Until now, we try to reset 64 * 32 byte whenever we bind uniform buffers.
But usually we don't fully use 64 bindings for uniforms.

And also, NULL_DESCRIPTOTR could be replaced as memset(0), what we already doing
for standalone uniform buffer bindings.

To reduce those useless std::fill_n and memset,
let we call memset for binding only if we cannot assume the data will
be comes

Change-Id: I39ce8655da2f0aae96451f5d0c5025b98b25995a
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 weeks ago[AT-SPI] Do not subtract extentOffset if it's a sub window of Widget 89/318389/4
Youngsun Suh [Mon, 2 Dec 2024 09:12:03 +0000 (18:12 +0900)]
[AT-SPI] Do not subtract extentOffset if it's a sub window of Widget

Change-Id: Ic377579fc9b45510b37e1612baf9b7925308f584

3 weeks agoFix potential memory leak in bidirectional support. 86/318386/4
ANZ1217 [Thu, 16 Jan 2025 07:46:57 +0000 (16:46 +0900)]
Fix potential memory leak in bidirectional support.

the leak occurs when DestroyInfo() called more than once with same index.

Change-Id: I103d0e74963b104a76e9a22695b992df3d9ae752

3 weeks agoFix Unicode Byte Order Mark was misinterpreted as arabic character. 01/318501/3
ANZ1217 [Fri, 17 Jan 2025 08:59:14 +0000 (17:59 +0900)]
Fix Unicode Byte Order Mark was misinterpreted as arabic character.

/ufeff is Unicode BOM character.

Change-Id: I0cdcb738c7cefe259125bf481fc4cbb10baf8ec3

3 weeks agoDALi Version 2.4.2 59/318459/1 dali_2.4.2
Adeel Kazmi [Fri, 17 Jan 2025 06:42:32 +0000 (06:42 +0000)]
DALi Version 2.4.2

Change-Id: I9e3ae62f63668027fa043dd210c8da112c0bfe8f

3 weeks ago[AT-SPI] Check if child is visible in scrollable parent 24/318124/4
Hosang Kim [Wed, 29 May 2024 06:09:26 +0000 (15:09 +0900)]
[AT-SPI] Check if child is visible in scrollable parent

 Fix an issue where GetNeighbor function would incorrectly find
the next item in a gridview, even if child item was not actually visible.
 In a grid view, the next item may be located to the right of
the current item, even if it is not visible on the screen due to scrolling.
 Add IsChildVisibleInScroll to checking the next item is actually visible or not.
 This change improves the user experience by ensuring that the highlight function
always finds the correct next item, even in grid views.

Change-Id: Id9cbe3f97d29e7a8d5458a6b60e6d7f9ab0f27a6

3 weeks agoFix moving a reference with std::move in LRUCacheContainer 73/318373/1
ANZ1217 [Thu, 16 Jan 2025 06:47:33 +0000 (15:47 +0900)]
Fix moving a reference with std::move in LRUCacheContainer

Change-Id: I2ffe44ab4d75bc64fc7903a303d60ed00e4f3db5

3 weeks agoMerge "Prepare NativeTexture only once per each frames" into devel/master
Eunki Hong [Wed, 15 Jan 2025 01:21:35 +0000 (01:21 +0000)]
Merge "Prepare NativeTexture only once per each frames" into devel/master

3 weeks agoMerge "Add AutoRotation, LetterBox" into devel/master
joogab yun [Wed, 15 Jan 2025 00:33:42 +0000 (00:33 +0000)]
Merge "Add AutoRotation, LetterBox" into devel/master

3 weeks agoPrepare NativeTexture only once per each frames 33/318233/1
Eunki, Hong [Tue, 14 Jan 2025 10:49:28 +0000 (19:49 +0900)]
Prepare NativeTexture only once per each frames

Let we make ensure that GLES::Texture::Prepare() called
only 1 times per each frames.

It will guard to update native texture target multiple times
so EGLImage confused.

Change-Id: Ia243e378a0305e94df3ec444cdbdf22e25dfed7e
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
3 weeks agoMerge "Fix coverity: Division by zero" into devel/master
Eunki Hong [Tue, 14 Jan 2025 07:38:31 +0000 (07:38 +0000)]
Merge "Fix coverity: Division by zero" into devel/master

3 weeks agoFix coverity: Division by zero 84/318184/3
jmm [Tue, 14 Jan 2025 04:47:33 +0000 (13:47 +0900)]
Fix coverity: Division by zero

Change-Id: I4d59433bdce554f3625a58f326c63aa859f5c1ef

3 weeks agoFix coverity : Do not call move to const & and & type 76/318176/1
Eunki, Hong [Tue, 14 Jan 2025 03:16:54 +0000 (12:16 +0900)]
Fix coverity : Do not call move to const & and & type

Change-Id: I4b2ee2f1cd50d0976a4d508e4d3c63ec815171be
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
3 weeks agoFix coverity : need to call bundle_free what we created by bundle_decode 73/318173/1
Eunki, Hong [Tue, 14 Jan 2025 03:06:28 +0000 (12:06 +0900)]
Fix coverity : need to call bundle_free what we created by bundle_decode

Change-Id: I2435bfcaa468a1e51605ebb9e38f717a212ccee4
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
3 weeks agoAdd forceChildSearch a11y attribute to enable searching for out-of-bounds child 22/318122/2
Youngsun Suh [Fri, 24 May 2024 05:56:17 +0000 (14:56 +0900)]
Add forceChildSearch a11y attribute to enable searching for out-of-bounds child

Change-Id: Iaa66022ec2edecfd9600f11f3af78f0e68c58cb1

3 weeks agoMerge "Fix font client coverity issue" into devel/master
Bowon Ryu [Mon, 13 Jan 2025 07:29:14 +0000 (07:29 +0000)]
Merge "Fix font client coverity issue" into devel/master

3 weeks agoFix font client coverity issue 80/318080/1
Bowon Ryu [Mon, 13 Jan 2025 05:22:38 +0000 (14:22 +0900)]
Fix font client coverity issue

Remove unique_lock unlock to prevent double unlocking.

Change-Id: I3a692321b8b10e2fc477075e204e3dfaadf2d9f4
Signed-off-by: Bowon Ryu <bowon.ryu@samsung.com>
3 weeks agoAdd AutoRotation, LetterBox 00/317900/3
joogab.yun [Thu, 9 Jan 2025 07:42:04 +0000 (16:42 +0900)]
Add AutoRotation, LetterBox

Change-Id: If8b6a28a0249133f42dc28c3575c44f35097960c

4 weeks agoDALi Version 2.4.1 37/318037/1 dali_2.4.1
David Steele [Fri, 10 Jan 2025 15:08:59 +0000 (15:08 +0000)]
DALi Version 2.4.1

Change-Id: Ibadcdb5dc654a303f7135bf3d987bea6b186f436

4 weeks agoUpdate emoji variation sequences to Version 16.0 55/317755/2
ANZ1217 [Tue, 7 Jan 2025 08:41:24 +0000 (17:41 +0900)]
Update emoji variation sequences to Version 16.0

Change-Id: I86f91ac9fb539187e148580232cc25bab8f2c459

4 weeks agoPrint infomation if we create eglSurface from Native if need 92/317492/2
Eunki Hong [Thu, 2 Jan 2025 15:01:56 +0000 (00:01 +0900)]
Print infomation if we create eglSurface from Native if need

Change-Id: I8c45c8e228b8ba9afdf3e4606a012309081db8a4
Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
5 weeks agoa11y refactor: Remove mKnownObjects 99/316999/3
Youngsun Suh [Mon, 23 Dec 2024 02:20:05 +0000 (11:20 +0900)]
a11y refactor: Remove mKnownObjects

mKnownObjects is redundant as we already store accessbles in a map in bridge-impl.
Removig the data and update the path calculation logic.wq

Change-Id: I40899257ab293f2afe0bcdf9c3a7791dbc4e88bc

5 weeks agoDo not call RequestUpdateOnce, instead Deiconify 24/317324/1
Eunki, Hong [Mon, 30 Dec 2024 11:14:10 +0000 (20:14 +0900)]
Do not call RequestUpdateOnce, instead Deiconify

We can only assume that Deiconify signal can assume that window is valid.
Other API is just kind of request to window server, so we could not send
rendering forcibly.

Change-Id: I6d6b9348d4661efb241cb6aa24209346d908f5de
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
6 weeks agoSkip Rendering if native texture not prepared 19/317119/1
Eunki Hong [Tue, 24 Dec 2024 11:27:50 +0000 (20:27 +0900)]
Skip Rendering if native texture not prepared

We should not render the program if texture was not prepared.
Also, if CreateResource failed, mEglImageExtensions might be nullptr.
So we need to make a nullptr check if CreateResource failed, and try to
call other API, like PrepareTexture().

Change-Id: Ic22ba6500faec496f94e6cc2f0cfdcd502bf3999
Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
6 weeks agoMerge "Add DumpTree api" into devel/master
Youngsun Suh [Mon, 23 Dec 2024 00:23:29 +0000 (00:23 +0000)]
Merge "Add DumpTree api" into devel/master

7 weeks agoMerge "DALi Version 2.4.0" into devel/master
David Steele [Fri, 20 Dec 2024 15:49:36 +0000 (15:49 +0000)]
Merge "DALi Version 2.4.0" into devel/master

7 weeks agoDALi Version 2.4.0 69/316969/1 dali_2.4.0
Adeel Kazmi [Fri, 20 Dec 2024 11:36:49 +0000 (11:36 +0000)]
DALi Version 2.4.0

Change-Id: I9a8de8ca55a3702fae786ddbe1f1d947db8c20d6

7 weeks agoSupport CURLOPT_MAXREDIRS as environment + Print downloaded buffer if image load... 27/316827/3
Eunki, Hong [Wed, 18 Dec 2024 08:38:12 +0000 (17:38 +0900)]
Support CURLOPT_MAXREDIRS as environment + Print downloaded buffer if image load failed

Let we add environment value to control CURLOPT_MAXREDIRS.
Sometimes the redirection count 5 might too small to some applications.
Let we allow to them use more deep depth.

+

Sometimes, we failed to get valid image buffer from given url.

To check whether that url download real-image or not,
let we print prefix of buffers.

Change-Id: I5053ff539da684357d0c5e73d7d57c36423aa976
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
7 weeks agoFixed both the GLES & VK builds for LibUV-X11 & GLIB profiles 61/316861/1
Adeel Kazmi [Wed, 18 Dec 2024 17:26:41 +0000 (17:26 +0000)]
Fixed both the GLES & VK builds for LibUV-X11 & GLIB profiles

Change-Id: I5bab5c28a90f4c34aff9f143d758403ea07ec99c

7 weeks agoMerge "Allow Capture files to be built for Vulkan too" into devel/master
Adeel Kazmi [Wed, 18 Dec 2024 15:40:19 +0000 (15:40 +0000)]
Merge "Allow Capture files to be built for Vulkan too" into devel/master

7 weeks agoMerge changes Ia50a8092,Ieb8d5c62 into devel/master
Eunki Hong [Wed, 18 Dec 2024 00:41:43 +0000 (00:41 +0000)]
Merge changes Ia50a8092,Ieb8d5c62 into devel/master

* changes:
  Call glFlush after create sync
  (TV only) Create NativeTexture sync after eglSwapBuffer

7 weeks agoAllow Capture files to be built for Vulkan too 30/316730/1
Adeel Kazmi [Tue, 17 Dec 2024 15:21:57 +0000 (15:21 +0000)]
Allow Capture files to be built for Vulkan too

- Added a check when creating Capture to only work with the GLES backend for now
- Only reason Capture taken out was because of NativeImage which is compiled in for
  Vulkan, just not implemented yet.

Change-Id: Id471d44030ae9115e194deecd4ab6cf17f5eda08

7 weeks ago(GlWindowRenderThread) Cast to void* so that it works on Ubuntu 74/316674/1
Adeel Kazmi [Mon, 16 Dec 2024 12:07:37 +0000 (12:07 +0000)]
(GlWindowRenderThread) Cast to void* so that it works on Ubuntu

Change-Id: I07833987c8962aa035e9b4fc0a19db6ae7701dae

7 weeks agoCall glFlush after create sync 29/316629/2
Eunki, Hong [Mon, 16 Dec 2024 07:53:33 +0000 (16:53 +0900)]
Call glFlush after create sync

It was mendentary job after call glFlush, or similar job between
create sync, and wait.

Let we call glFlush directly after create sync object.

Change-Id: Ia50a80929b6e6d33bfc299993f6513074460cfe1
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
7 weeks ago(TV only) Create NativeTexture sync after eglSwapBuffer 57/316357/7
Eunki, Hong [Fri, 13 Dec 2024 03:21:23 +0000 (12:21 +0900)]
(TV only) Create NativeTexture sync after eglSwapBuffer

Since eglCreateSyncKHR try to allocate full buffer scene at GPU side,
it will increase GPU memory.

It might not a common sense but, let we make eglCreateSyncKHR called
after eglSwapBuffer or glFlush called.

Additionary, let we call glFlush after create sync object.
Since we cannot assume that eglSwapBuffer will be called after now.

Note : This logic only be used for TV profile.
Is it required for common platform?

Change-Id: Ieb8d5c62e9e86fc95c3cc79310e26bcaeea2eb25
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
7 weeks ago(Tizen Wayland) Further separate out vulkan & gles implementation 50/316650/1
Adeel Kazmi [Mon, 16 Dec 2024 08:36:15 +0000 (08:36 +0000)]
(Tizen Wayland) Further separate out vulkan & gles implementation

Change-Id: I100ad6e06fd62fc4a210d0ce5a13c29b326bab21

7 weeks agoMerge "Remove unused Pre-Tizen5 Options" into devel/master
Adeel Kazmi [Mon, 16 Dec 2024 09:15:05 +0000 (09:15 +0000)]
Merge "Remove unused Pre-Tizen5 Options" into devel/master

7 weeks agoAdd DumpTree api 43/316243/3
Youngsun Suh [Mon, 11 Nov 2024 01:30:42 +0000 (10:30 +0900)]
Add DumpTree api

Change-Id: I997178022d5ad97a632aed580fb01704ca1665d8

7 weeks 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>
7 weeks agoRemove unused Pre-Tizen5 Options 84/316584/2
Adeel Kazmi [Fri, 13 Dec 2024 20:01:54 +0000 (20:01 +0000)]
Remove unused Pre-Tizen5 Options

Change-Id: I36f3d81fb3177a4a57da21766695a24bac8c9d27

7 weeks 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

7 weeks 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 weeks 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 weeks 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

8 weeks 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

8 weeks 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

8 weeks 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

8 weeks 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

8 weeks 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

8 weeks 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

8 weeks 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

8 weeks 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>
8 weeks 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>
8 weeks 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>
8 weeks 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>
8 weeks 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>
8 weeks 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>
8 weeks 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

8 weeks 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

8 weeks 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>
8 weeks 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>
8 weeks 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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>
2 months 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

2 months 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

2 months 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>
2 months 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