Eunki, Hong [Fri, 21 Mar 2025 06:15:03 +0000 (15:15 +0900)]
Fix UNSAFE DirectRendering flush EndRenderPass well
Since Context::ResetGLESState() reset current renderpass and render target info,
it might not worsk well for EndRenderPass stage.
Change-Id: If3223d784fa865565c457986acdfc1fdb40b92fb
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Eunki Hong [Thu, 20 Mar 2025 21:21:38 +0000 (21:21 +0000)]
Merge "Make move operation as noexcept" into devel/master
Eunki Hong [Thu, 20 Mar 2025 21:18:58 +0000 (21:18 +0000)]
Merge "Fix ISOLATE DirectRenderingGlView didn't show texture" into devel/master
Eunki, Hong [Thu, 20 Mar 2025 11:18:57 +0000 (20:18 +0900)]
Revert "Add appname and path to Dumptree"
This reverts commit
928399d10fbc0f1bc32248a6ab907f7b8a8ff9f8.
Change-Id: I3f395482ef9bdd09dfa45ad18473c31322c82713
Eunki, Hong [Thu, 20 Mar 2025 08:35:32 +0000 (17:35 +0900)]
Fix ISOLATE DirectRenderingGlView didn't show texture
We didn't use native renderer's context even we use ISOLATE mode.
It just breakdown normal dali pipeline codes and textures
Change-Id: I8d3c2f7e9f88a186a8f24c6beaccc4d1a42a21ed
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
kim hosang [Thu, 20 Mar 2025 05:57:08 +0000 (05:57 +0000)]
Merge "Add appname and path to Dumptree" into devel/master
Eunki, Hong [Mon, 17 Mar 2025 07:24:50 +0000 (16:24 +0900)]
Make move operation as noexcept
It will sightly improve the performance when we use std::vector<>
Change-Id: I2b2e3f34165ff37e52afd7b58aeb299c75c0116d
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Eunki Hong [Wed, 26 Feb 2025 15:32:06 +0000 (00:32 +0900)]
(Automated Tests) Remove build error for gcc-14 : std::find_if return value nodiscard
Since std::find_if return value has no discard option for latest compiler,
automated-tests compile failed due to [-Werror=unused-result]
Change-Id: I35c0b59d0ebf2a53b6f816f0cac9d622fe1a70ae
Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
David Steele [Fri, 14 Mar 2025 11:48:13 +0000 (11:48 +0000)]
DALi Version 2.4.10
Change-Id: If697ba8485e66d389a95f7c07074104f065a2caf
Eunki, Hong [Wed, 12 Mar 2025 02:05:03 +0000 (11:05 +0900)]
Error check when jpeg loader return negative size
it is possible that tjPlaneWidth return -1 if it might invalid.
Let we check for tjPlaneSizeYUV, tjPlaneWidth and tjPlaneHeight return
negative value case, so we can avoid unsigned integer overflow error.
Change-Id: I11f2d0b7eec3797a923c18db4d952578ad7767aa
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Eunki Hong [Tue, 11 Mar 2025 07:55:24 +0000 (07:55 +0000)]
Merge "Let we make multiple native render surface has seperated display" into devel/master
Eunki, Hong [Fri, 7 Mar 2025 06:49:38 +0000 (15:49 +0900)]
Let we make multiple native render surface has seperated display
Until now, we make native render surface use single unique dummy buffer.
But if we try to use multiple displays at the same time,
it might use same EGLDisplay, so might have invalid dummy display.
To guard this case, let we keep dummy display staci for it.
Change-Id: If3fdcc9fb4d64a7bb8067452b61fbc18138e3205
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Eunki, Hong [Tue, 11 Mar 2025 03:25:26 +0000 (12:25 +0900)]
(Vulkan) Block mAllocator tag setter
Change-Id: I5ac8073a38fb38657709929a054b528bb04f6085
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Hosang Kim [Mon, 10 Mar 2025 10:34:45 +0000 (19:34 +0900)]
Add appname and path to Dumptree
Add appname and path keys for making a11y objects.
Change-Id: I51fd77edfe06740f5c4759500d5ba0e6cceacafa
Taehyub Kim [Mon, 10 Mar 2025 06:02:30 +0000 (15:02 +0900)]
Fix rotation calculation logic for multi window
Change-Id: I7608c89416033968053b51324e2b0bfef20513bd
Wonsik Jung [Fri, 7 Mar 2025 11:08:35 +0000 (11:08 +0000)]
Merge "Fix issue of the converted geometry for DnD." into devel/master
Adeel Kazmi [Fri, 7 Mar 2025 10:35:18 +0000 (10:35 +0000)]
Merge "DALi Version 2.4.9" into devel/master
Adeel Kazmi [Fri, 7 Mar 2025 10:29:32 +0000 (10:29 +0000)]
DALi Version 2.4.9
Change-Id: I8fd70e99c820a104b9ab74c1ef28df1b8be9b882
Wonsik Jung [Fri, 7 Mar 2025 06:43:09 +0000 (15:43 +0900)]
Fix issue of the converted geometry for DnD.
Fix issue of the converted geometry for DnD when screen rotation works.
Change-Id: I408c977413db6768f364f4cc4f05b46a854cfaee
Eunki Hong [Thu, 6 Mar 2025 14:42:41 +0000 (23:42 +0900)]
Fix mis-implements after change inputStride to inputStrideByte
Some API who call image-operator directly, didn't change the
stride value's as byte scale instead pixel scale.
Let we find all mis-implements points, and change the values name as
strideBytes, instead of width simply
Change-Id: Ib6cccef79bf6f1d3366ee91ef3c812bc0f272880
Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
Bowon Ryu [Fri, 3 Jan 2025 02:25:12 +0000 (11:25 +0900)]
Add ICU class to text abstaction
Dali ICU class dynamically loads icu.so via ICUPLugin of dali-extension.
* ICUPlugin is an abstract interface, used by dali-adaptor to access icu plugin.
Change-Id: I1f2b9c702ee000a13e733cc5c232b7c66d256149
Signed-off-by: Bowon Ryu <bowon.ryu@samsung.com>
David Steele [Wed, 5 Mar 2025 10:46:02 +0000 (10:46 +0000)]
Merge "Set correct VMA allocation flag based on the memory usage of the image" into devel/master
Eunki, Hong [Tue, 4 Mar 2025 08:36:13 +0000 (17:36 +0900)]
Fix coverity issue : Vulkan::SurfaceImpl leak
Change-Id: I18a4ffb39da57715eee4dd6d5ef238a79a8b2801
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Richard Huang [Tue, 4 Mar 2025 11:17:04 +0000 (11:17 +0000)]
Set correct VMA allocation flag based on the memory usage of the image
Change-Id: I1fa3ce0dce4f300167a945ed68422b17e6fdbeca
Eunki, Hong [Tue, 4 Mar 2025 11:04:43 +0000 (20:04 +0900)]
(GLES::Buffer) Skip recycled buffer initialize multiple times
It is possible that single buffer be recycled used multiple times.
If then, AddBuffer() called multiple time.
Until now, buffer only use single flags, so if buffer recycled 2 times, logic
will be broken.
To avoid this case, let we use recycled counter, and allow to recycle multiple times in a loop
Change-Id: Iac11b2fd2eaf658dabf3ee6f72dcf8ac2759842d
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Eunki, Hong [Tue, 4 Mar 2025 08:23:40 +0000 (17:23 +0900)]
Catch std::length_error exception at oss.str()
Since we could call PrintSystemError API at destructor,
we should not throw exception whenever we could.
It might be false-positive usually.
But also, we need to ignore the future of false-positive coverity alarm.
Change-Id: I9e316d26e713cf65774d10d99e70de6f0bc7de09
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Richard Huang [Mon, 3 Mar 2025 13:01:06 +0000 (13:01 +0000)]
Fix null termination issue for VMA
Change-Id: Ib31c79fc068168b8a48e2cd6ec1b21f508eb80a3
Adeel Kazmi [Fri, 28 Feb 2025 14:48:09 +0000 (14:48 +0000)]
Merge "Fix SVACE errors in VMA" into devel/master
Richard Huang [Fri, 28 Feb 2025 12:44:40 +0000 (12:44 +0000)]
Fix SVACE errors in VMA
Change-Id: Ie6498d1c5278ac2aa055c7cd9aeafd77b13e8464
Richard Huang [Fri, 28 Feb 2025 12:44:28 +0000 (12:44 +0000)]
DALi Version 2.4.8
Change-Id: Id6919fddfba7f7c8fe30a9b9bd0ad6a25f728ffd
Richard Huang [Mon, 3 Feb 2025 16:20:59 +0000 (16:20 +0000)]
Vulkan Memory Allocator integration
Change-Id: I93d318adf3c67dc32c808d553a322122fa549063
Eunki Hong [Wed, 26 Feb 2025 22:59:01 +0000 (22:59 +0000)]
Merge "Make PixelBuffer Stride return byte size, instead of pixel" into devel/master
David Steele [Fri, 21 Feb 2025 19:33:51 +0000 (19:33 +0000)]
Re-factoring vk discard queues.
Changed Resource, so now we have ResourceWithDeleter
and ResourceWithoutDeleter, but ResourceBase can be used
as common type with calls to GetAllocationCallbacks and
InvokeDeleter.
(Note, only Program/Pipeline objects currently inherit
from ResourceWithoutDeleter, as these are proxy objects
into a cache)
Means that the DiscardQueue is simplified so it only
deals with ResourceBase objects. (Don't have to do
specialization magic depending on resource type).
Change-Id: If8538fa9bbdae9fb6f5b3aeb183c25b9523c673b
Eunki Hong [Wed, 26 Feb 2025 10:33:58 +0000 (10:33 +0000)]
Merge "Fix rarely crash if NativeImage discarded after draw occured" into devel/master
Eunki, Hong [Wed, 26 Feb 2025 07:36:50 +0000 (16:36 +0900)]
Fix rarely crash if NativeImage discarded after draw occured
It is possible s.t. DiscardNativeImage called before EndRenderPass called.
Until now, we remove the container directly. If this case,
the count of native texture dependency might be zero, so EndRenderPass logic
might be skipped!
To avoid this case, let we don't touch the contianer itself, and just mark
it as synced.
Change-Id: I3171493c0d72ccd58b7bdcacac47876ea32ed1d9
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Eunki, Hong [Mon, 24 Feb 2025 13:55:45 +0000 (22:55 +0900)]
Reset vertex buffer cache at the end of flush
We only check the internal value of VertexBufferBindingDescriptor.
But if the size of mImpl->mCurrentVertexBufferBindings changed, or cleared,
the vertex buffer's pointer might be same as previos old items.
In this case, we might miss vertex attribute, or VAO relative actions.
To avoid this case, let we clear current binded vertex
whenever if the size of mImpl->mCurrentVertexBufferBindings changed.
Change-Id: I8a4081d9ead39ea9927572876e1a6fe50bef376e
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Eunki, Hong [Mon, 24 Feb 2025 08:38:47 +0000 (17:38 +0900)]
Do not call glInvalidateFramebuffer only TV profile
Since TV graphic driver might have some issue, it print
some useless gles_error logs when we call glInvalidateFramebuffer.
This log show only for TV case. So let we just ignore them, so reduce GPU
overhead.
Change-Id: If3f10acdc345dfc5c20b7a156dc92d4a2d341e2a
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
David Steele [Mon, 24 Feb 2025 10:59:05 +0000 (10:59 +0000)]
Merge changes I724e5d3a,Ie01f9465 into devel/master
* changes:
N buffering vulkan resource discard queues
Ensured that swapchain Present is only called when needed
Eunki Hong [Fri, 24 Jan 2025 10:20:22 +0000 (19:20 +0900)]
Make PixelBuffer Stride return byte size, instead of pixel
Some cases doesn't have stride byte as multiply of BytesPerPixel().
But until now, PixelBuffer and PixelData only support Stride as pixels count
(It looks since GL_UNPACK_ROW_LENGTH is pixel scale, not a bytes.)
For example, If we have 2 width image with RGB888 format, stride byte
should be 8 byte, which is not a multiply of 3 byte.
To support those cases, let we set stride value as bytes scale.
TODO : For now, we convert from RGB to RGBA at graphics-texture side.
Couldn't we support RGB format at GL standard?
Change-Id: Ide30895239b64a9e1fdfae6c607dec512994c8b3
Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
Bowon Ryu [Mon, 24 Feb 2025 04:18:34 +0000 (04:18 +0000)]
Merge "Add early return condition when there is no fontconfig handle" into devel/master
David Steele [Fri, 21 Feb 2025 15:21:19 +0000 (15:21 +0000)]
Merge "Changed command buffer static default initializer" into devel/master
David Steele [Fri, 21 Feb 2025 11:25:00 +0000 (11:25 +0000)]
DALi Version 2.4.7
Change-Id: Iac39adf3e326a38aefdf0ba522cb3f7b721e6cfd
David Steele [Thu, 20 Feb 2025 18:34:38 +0000 (18:34 +0000)]
N buffering vulkan resource discard queues
As we now have multiple command buffers per frame, it is important
to only discard resources for old frames; we run the GC every time
Submit is called.
So, we need a discard q per buffer index; which may be 0,1 or 0,1,2
depending on platform.
Added a vector of queues that gets automatically allocated as needed.
Change-Id: I724e5d3ae3c5b15f99ab2821ef1c75944b9e24cb
Signed-off-by: David Steele <david.steele@samsung.com>
David Steele [Thu, 13 Feb 2025 12:19:17 +0000 (12:19 +0000)]
Ensured that swapchain Present is only called when needed
Changed assert's to DALI_ASSERT_ALWAYS;
Added extra logging.
Change-Id: Ie01f9465c7ee9b1898d2e1a8d7741472f4d192ef
Signed-off-by: David Steele <david.steele@samsung.com>
David Steele [Thu, 20 Feb 2025 16:57:55 +0000 (16:57 +0000)]
Merge "Ensured swapchain/surface cleanup on device destruction" into devel/master
David Steele [Thu, 20 Feb 2025 11:34:36 +0000 (11:34 +0000)]
Merge "(NativeImageSource) Return nullptr if NativeImageSource::New() failed" into devel/master
sunghyun kim [Thu, 20 Feb 2025 08:09:59 +0000 (08:09 +0000)]
Merge "Load the shader using glProgramBinary" into devel/master
Bowon Ryu [Thu, 20 Feb 2025 06:14:24 +0000 (06:14 +0000)]
Merge "Fix fontclient coverity issue" into devel/master
Bowon Ryu [Thu, 20 Feb 2025 06:13:13 +0000 (15:13 +0900)]
Add early return condition when there is no fontconfig handle
Change-Id: I4270e9d08185dc5e4c0016bb6b9d5d46f43cbcb5
Signed-off-by: Bowon Ryu <bowon.ryu@samsung.com>
Bowon Ryu [Thu, 20 Feb 2025 05:35:31 +0000 (05:35 +0000)]
Merge "Separate FontConfig handle" into devel/master
Bowon Ryu [Thu, 20 Feb 2025 03:19:31 +0000 (12:19 +0900)]
Fix fontclient coverity issue
Change-Id: Ib2c0bfb1f863c49f978a0836e305e9cedddc3824
Signed-off-by: Bowon Ryu <bowon.ryu@samsung.com>
Eunki, Hong [Mon, 17 Feb 2025 07:06:27 +0000 (16:06 +0900)]
(NativeImageSource) Return nullptr if NativeImageSource::New() failed
For vulkan backend case, NativeImageSource's mImpl return nullptr.
But NativeImageSource object itself is not empty, we can call
NativeImageSource API freely, and got crash.
To avoid these kind of issue, let we return nullptr if NativeImageSource
creation failed. (Similar with NativeImageSourceQueue)
Change-Id: I5113a01bf8183a35a3bcfebcca5b4673db753e49
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Bowon Ryu [Wed, 19 Feb 2025 11:06:54 +0000 (20:06 +0900)]
Separate FontConfig handle
This patch changes FontClient to create and use a handle to FontConfig.
Previously we always used FontConfig globally.
There was no problem because DALi had already recognized and developed this internally.
However, since FontConfig is a library open to the system,
FontConfig may be used by other libs that dali does not know about in the same process,
which may cause Thread safe problems.
Change-Id: Ie603016f08376f9c5ca389069b6c8da7a345d7a2
Signed-off-by: Bowon Ryu <bowon.ryu@samsung.com>
Eunki Hong [Thu, 20 Feb 2025 00:40:46 +0000 (00:40 +0000)]
Merge "(Vulkan::Reflection) Append uniform blocks only 1 times per each programs + Clean up some logic" into devel/master
Eunki Hong [Thu, 20 Feb 2025 00:40:34 +0000 (00:40 +0000)]
Merge "(Vulkan) Fix minor coverity issues" into devel/master
David Steele [Wed, 19 Feb 2025 14:38:57 +0000 (14:38 +0000)]
Ensured swapchain/surface cleanup on device destruction
VulkanDevice should take ownership of vulkan surface / swapchain pair.
For the moment; have ensured that these are properly disposed of
in the VulkanDevice destructor.
[Could change SurfaceSwapchainPair to use UniquePtr instead of raw ptr,
using Destroy() as deallocator fn, then less work!]
Change-Id: Ibd996cd46d8b06bda201fe87f932153f4096e203
Signed-off-by: David Steele <david.steele@samsung.com>
David Steele [Wed, 19 Feb 2025 12:36:38 +0000 (12:36 +0000)]
Merge "Fixing swapchain for use with triple buffering" into devel/master
Bowon Ryu [Wed, 19 Feb 2025 07:10:55 +0000 (07:10 +0000)]
Merge "Add locale api to text abstraction" into devel/master
Eunki, Hong [Wed, 19 Feb 2025 05:37:37 +0000 (14:37 +0900)]
(Vulkan) Fix minor coverity issues
1. Non-initalized structs (spriv.h, command-buffer.h)
2. Make mMemory nullptr if allocation failed. (image-impl, buffer-impl)
3. Avoid nullptr copy, or negative length string for some case (texture, shader-impl)
Change-Id: Ib2b99af36d430e4159ef7eb7619b040a08f3c688
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Eunki, Hong [Tue, 18 Feb 2025 07:49:19 +0000 (16:49 +0900)]
(Vulkan::Reflection) Append uniform blocks only 1 times per each programs + Clean up some logic
Since we create relfections per each shader at vulkan side,
there was some problem if we try to use same uniform block at both
vertex and fragment shader.
Since current spriv don't know the uniform block's name,
let we just seperate it by binding of layout.
+
Their might be issue if VertexShader code have sampler2D (e.g. Scene3D blendshape)
It is code side bug, and we don't need to append sampler informations
whenever we call BuildReflection().
To make ensure code clean, let we clear mUniformBlocks and mUniformOpaques
at the begin of BuildReflection(), and sort + unique each of them.
TODO : Shouldn't we need to consider multi-set case?
Change-Id: Icece552a1dff9f144be580e93e7f3d65d401cf6a
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Bowon Ryu [Wed, 19 Feb 2025 02:28:46 +0000 (11:28 +0900)]
Add locale api to text abstraction
Prevents the setlocale system call from being called repeatedly.
Change-Id: Ibd00d7e0f8145a4a6aa305a3ba4997c351acbd18
Signed-off-by: Bowon Ryu <bowon.ryu@samsung.com>
sunghyun kim [Fri, 18 Oct 2024 07:39:33 +0000 (16:39 +0900)]
Load the shader using glProgramBinary
If there is a saved shader, load the shader using glProbramBinary
Change-Id: I5db0118d5bcc2f45537172d8b5039afe1c5fc309
David Steele [Mon, 17 Feb 2025 16:12:00 +0000 (16:12 +0000)]
Fixing swapchain for use with triple buffering
Some platforms are using triple buffering, but the
SwapchainBuffers only allocate 2. Changed to ensure that
the buffer count matches at least the minimum number of
images returned on swapchain creation.
Fixed coverity error in CreateSwapchainForSurface /
ReplaceSwapchainForSurface.
Change-Id: I6292daec0bf6e568f6818751ef1994c5ce87b24b
Signed-off-by: David Steele <david.steele@samsung.com>
Eunki Hong [Tue, 18 Feb 2025 02:05:23 +0000 (02:05 +0000)]
Merge "(Webp) Do not load file again if we know size and frame count" into devel/master
Eunki Hong [Mon, 17 Feb 2025 04:41:36 +0000 (04:41 +0000)]
Merge "Collect strerror_r relative error log printing logs" into devel/master
Adeel Kazmi [Fri, 14 Feb 2025 12:43:32 +0000 (12:43 +0000)]
Merge "DALi Version 2.4.6" into devel/master
Adeel Kazmi [Fri, 14 Feb 2025 12:34:18 +0000 (12:34 +0000)]
DALi Version 2.4.6
Change-Id: Idafa6b6b3ec9f545e8351df04313664f2c3a8bd5
Eunki Hong [Mon, 3 Feb 2025 07:14:00 +0000 (16:14 +0900)]
Collect strerror_r relative error log printing logs
Let we collect all cases to file description error cases.
Until now, we use strerror_r return type value to print error logs.
But it will not works at XSI base kernel.
And also, strerror_r need a lots of parameters so the line of codes increased
wherever we want to print errno value.
So we can control both GNU and XSI case,
and easly check the error occured point.
Change-Id: Ice950acacf7cefc1e3dc3c1427342b91cfa66b5b
Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
Eunki, Hong [Fri, 14 Feb 2025 07:19:53 +0000 (16:19 +0900)]
(Webp) Do not load file again if we know size and frame count
For single webp case, we release the buffer data after load finished.
But user can request the GetImageSize() and GetImageCount().
In this case, we re-load the webp buffer again, and
fail to release the buffers until loader desturcted.
Change-Id: I04817b9e8c589937b36f821e7653b0257c54e067
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Chihun Jeong [Fri, 14 Feb 2025 06:51:58 +0000 (06:51 +0000)]
Merge "Fontconfig: Replace FcInitReinitialize with FcInitLoadConfigAndFonts" into devel/master
Eunki, Hong [Thu, 13 Feb 2025 08:02:28 +0000 (17:02 +0900)]
Fix build error when we use tizen_9.0 repo
Let we add new macro OVER_TIZEN_VERSION_10, and use it for latest APIs
Change-Id: I9d4cbaa523ca5b50eba99441fa45f57580a0dab8
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
ANZ1217 [Wed, 12 Feb 2025 05:33:17 +0000 (14:33 +0900)]
Fontconfig: Replace FcInitReinitialize with FcInitLoadConfigAndFonts
FcInitReinitialize() causes global font cache and config reload.
which may lead to race conditions and crashes.
Replaced it with FcInitLoadConfigAndFonts() to safely reload config within the current process without affecting others.
Change-Id: Ic5c911f399de141310e99711ae72db64c9dad3cd
David Steele [Wed, 12 Feb 2025 14:12:33 +0000 (14:12 +0000)]
Changed command buffer static default initializer
Change-Id: I21e31265e1f6d9604762057c0f7385cd02f0fa60
David Steele [Wed, 12 Feb 2025 16:53:36 +0000 (16:53 +0000)]
Merge "Changing swapchain acquisition at frame start" into devel/master
David Steele [Wed, 12 Feb 2025 16:53:23 +0000 (16:53 +0000)]
Merge "Fixing coverity errors" into devel/master
David Steele [Wed, 12 Feb 2025 16:53:08 +0000 (16:53 +0000)]
Merge "[Vulkan] Reduced queue submissions" into devel/master
David Steele [Wed, 12 Feb 2025 16:52:51 +0000 (16:52 +0000)]
Merge "Removing DeviceWaitIdle from Vk::SwapBuffers" into devel/master
David Steele [Thu, 6 Feb 2025 18:11:37 +0000 (18:11 +0000)]
Changing swapchain acquisition at frame start
Need to ensure that we don't create end of frame fence if we're not
going to render anything.
But, we do want to have same pipelines for fbos and scene; so we need
to sync swapchain _before_ drawing to fbos.
Ensured that Swapchain owns it's external images.
Change-Id: I4cc64607ad964362cb793f435324110027b45740
Eunki Hong [Tue, 11 Feb 2025 14:39:31 +0000 (23:39 +0900)]
Fix compile error after add -Werror flag added
ADD_COMPILE_OPTIONS(-Werror) option added after dynamic graphics backend applied.
Since we never make compile error for build warnings until now, it breakdown
compile error when we build Release mode.
To fix this issue, let we just keep -Wall option, and just fix
build warnings, for more stable codes.
And, for ~SwapchainBuffer(), let we don't throw exception
at destructor. Instead, just print log and skip assert.
Change-Id: I47cfd17d09ec26d346898421262e81f4baf03775
Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
Bowon Ryu [Tue, 11 Feb 2025 01:05:06 +0000 (01:05 +0000)]
Merge "Add FullScreenMode to InputMethodContext" into devel/master
Bowon Ryu [Mon, 10 Feb 2025 08:05:56 +0000 (08:05 +0000)]
Merge "Add Combining Diacritical Marks to text script" into devel/master
Bowon Ryu [Fri, 7 Feb 2025 06:24:59 +0000 (15:24 +0900)]
Add Combining Diacritical Marks to text script
Combining Diacritical Marks is an inherited script.
This is not used alone; it basically follows the previous script.
On the dali side, this is handled as a COMMON script.
Change-Id: Ib373ada7e46caccf025660e9bbc3aa2acc4e12f5
Signed-off-by: Bowon Ryu <bowon.ryu@samsung.com>
David Steele [Thu, 6 Feb 2025 16:10:51 +0000 (16:10 +0000)]
Fixing coverity errors
Change-Id: I84d9de999dc95efc0e2e740ba406aa4507ac0bbf
David Steele [Thu, 30 Jan 2025 18:40:32 +0000 (18:40 +0000)]
[Vulkan] Reduced queue submissions
Rather than individually queueing each command buffer, instead
rolled up all cmd buffers (for framebuffers) into a single submission.
(Still require separate queue submission for scene, as swapchain
cmd buffer is the final submission, and generates end of frame
fence)
(Also fixed EGL debug build for target)
Change-Id: Iac4fc1333437bfe3933ae4bbe3e7ae33364a0192
Signed-off-by: David Steele <david.steele@samsung.com>
David Steele [Fri, 24 Jan 2025 11:49:08 +0000 (11:49 +0000)]
Removing DeviceWaitIdle from Vk::SwapBuffers
Rather than a hard wait each frame, should instead
leverage the exising end of frame fence that's owned
by the swapchain buffer.
Moved the AcquireNextImage functions out of BeginRenderPass, and
into the VulkanGraphicsController::FrameStart method; this will
now wait on the current buffer's end of frame fence before trying
to get the next image (for this buffer index).
SwapBuffers() now just increases the buffer index modulo the buffer
count (aka the number of swapchain images that are available for this
device).
Changed CommandBuffer to contain up to BufferCount() Impls; the relevant
impl is selected for each command by getting the current buffer index
from the device.
Changed DescriptorPool implementation to use the current buffer index
rather than trying to manage it's own pool index. This was quite broken!
It now grows the poolList to match the buffer index, which will never
go past the BufferCount. (usually 2 or 3).
Change-Id: I994046805bfb38285063e87f8409e856f14b3459
Richard Huang [Fri, 7 Feb 2025 10:39:31 +0000 (10:39 +0000)]
DALi Version 2.4.5
Change-Id: I0f41c1bd2f75c12674dae76624018e0256fd5cc4
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>
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
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
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
David Steele [Fri, 31 Jan 2025 13:36:32 +0000 (13:36 +0000)]
Merge "Fixed coverage build" into devel/master
David Steele [Fri, 31 Jan 2025 12:31:36 +0000 (12:31 +0000)]
DALi Version 2.4.4
Change-Id: I734fddaea896fa0f5cbf1c8d7723ed6a230ed748
David Steele [Fri, 31 Jan 2025 11:57:23 +0000 (11:57 +0000)]
Fixed coverage build
Change-Id: Ib458a5d1f748e4787ef616ed41ef963ca7fa35ff
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
Adeel Kazmi [Thu, 9 Jan 2025 18:35:30 +0000 (18:35 +0000)]
Dynamic Graphics Backend
Change-Id: I013ff62b54f2e8badee2c10e91b40d178b6f213c
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>
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
Richard Huang [Fri, 24 Jan 2025 10:47:31 +0000 (10:47 +0000)]
DALi Version 2.4.3
Change-Id: Ic2044196624e2cdba2ee02949d4fda02c93db600
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
David Steele [Mon, 6 Jan 2025 18:26:08 +0000 (18:26 +0000)]
Inverting framebuffer viewport for Vulkan
Change-Id: Ie4334fb8c5894d9ec080c82b7203f335cff4cc7b