Eunki, Hong [Mon, 25 Nov 2024 11:02:57 +0000 (20:02 +0900)]
Use Dali::Integration::TimeChecker feature instead duplicate macro (phase 2)
Let we use Dali::Integration::TimeChecker feature for ecore wl2
Change-Id: Id10a8fc627be9ab23c06b3ff7042a2e759f0b6ee
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
David Steele [Fri, 22 Nov 2024 16:04:37 +0000 (16:04 +0000)]
Merge "DALi Version 2.3.51" into devel/master
Adeel Kazmi [Fri, 22 Nov 2024 16:03:04 +0000 (16:03 +0000)]
DALi Version 2.3.51
Change-Id: Ic03990fe054b43633bb70df3aa61f8f3c1826921
Adeel Kazmi [Fri, 22 Nov 2024 11:51:21 +0000 (11:51 +0000)]
Merge "Shader Parser and SPIRV generator changes" into devel/master
David Steele [Thu, 21 Nov 2024 16:24:16 +0000 (16:24 +0000)]
Merge "Skip GPU that doesn't support Vulkan 1.3 or above" into devel/master
David Steele [Thu, 21 Nov 2024 16:22:50 +0000 (16:22 +0000)]
Merge "Ensured clear color vector is the right size" into devel/master
Richard Huang [Thu, 21 Nov 2024 14:32:00 +0000 (14:32 +0000)]
Skip GPU that doesn't support Vulkan 1.3 or above
Change-Id: I61964212e086c848160be3e477444a36ca42a808
Eunki Hong [Thu, 21 Nov 2024 01:17:46 +0000 (10:17 +0900)]
Make ShaderPreCompiler as DALI_ADAPTOR_API
ShaderPreCompiler defined at dali-adaptor now.
Let we make matched keyword.
Change-Id: Ied0be58321f69da459e80f87a8dd0052e8ffd14b
Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
David Steele [Wed, 20 Nov 2024 17:15:02 +0000 (17:15 +0000)]
Merge "Merged descriptor sets for shared UBOs" into devel/master
Adeel Kazmi [Wed, 20 Nov 2024 16:02:15 +0000 (16:02 +0000)]
Merge "Vulkan Tizen Build" into devel/master
Adeel Kazmi [Thu, 10 Oct 2024 16:05:22 +0000 (17:05 +0100)]
Vulkan Tizen Build
Change-Id: Ia119b4914d1f958a6e9ab726dd96934f7f3bb93d
Adam Bialogonski [Tue, 19 Nov 2024 15:35:12 +0000 (15:35 +0000)]
Shader Parser and SPIRV generator changes
- Assigning locations to in/out between stages when type is larger than 4 floats (mat2, mat3, mat4)
Example:
Vertex shader:
out (location=0) highp mat3 vMatrix;
out (location=3) highp float vNumber; // Location must be 3 not 1!
Fragment shader:
in (location=0) highp mat3 vMatrix;
in (location=3) highp float vNumber; // Location must be 3 not 1!
This patch doesn't deal with arrays and doesn't deal with input attributes in
vertex shader. It only resolves problem of default PBR shader.
- SPIRVGenerator::Generate() sates 'valid' flag correctly now (false on error)
Change-Id: I19ee9ac639baf30ef988a43c06ad6295f042c424
Eunki, Hong [Wed, 20 Nov 2024 02:26:44 +0000 (11:26 +0900)]
(ShaderParser) Fix coverity issue : don't copy std::string
Change-Id: Ib5784503a1a6520f5bce43659ce91728e0dc784c
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Eunki, Hong [Mon, 18 Nov 2024 07:57:49 +0000 (16:57 +0900)]
Let we get ArrayElementStride by GL_UNIFORM_ARRAY_STRIDE
Since GL_UNIFORM_BLOCK_DATA_SIZE is implement-dependent value,
we'd better use more belief result from GetActiveUniformsiv with GL_UNIFORM_ARRAY_STRIDE
Change-Id: I1838babf21d8819a797f6b0f010c734dc71b9b5e
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Eunki, Hong [Mon, 18 Nov 2024 02:27:39 +0000 (11:27 +0900)]
(ShaderParser) Fix compile error for #extension
There was compile error when #extension used before som other codes.
To avoid this kind of issue,
let we collect all extension prefix codes, and then define it after
version directly.
Relative logs :
623.248 E/DALI (P 854, T 6612): gles-graphics-shader.cpp: Compile(120) > Code: #version 320 es
623.248 E/DALI (P 854, T 6612): #ifdef GL_KHR_blend_equation_advanced
623.248 E/DALI (P 854, T 6612): #extension GL_KHR_blend_equation_advanced : enable
623.248 E/DALI (P 854, T 6612): #endif
623.248 E/DALI (P 854, T 6612): #if defined(GL_KHR_blend_equation_advanced) || __VERSION__>=320
623.248 E/DALI (P 854, T 6612): layout(blend_support_all_equations) out;
623.248 E/DALI (P 854, T 6612): #endif
623.248 E/DALI (P 854, T 6612): //@name image-visual-shader.frag
623.248 E/DALI (P 854, T 6612): #define TEXTURE texture
623.248 E/DALI (P 854, T 6612): #define TEXTURE_CUBE texture
623.248 E/DALI (P 854, T 6612): #define TEXTURE_LOD textureLod
623.248 E/DALI (P 854, T 6612): #define TEXTURE_CUBE_LOD textureLod
623.248 E/DALI (P 854, T 6612): #define textureCube texture
623.248 E/DALI (P 854, T 6612): #define texture2D texture
623.248 E/DALI (P 854, T 6612): #define texture2DLod textureLod
623.248 E/DALI (P 854, T 6612): #define textureCubeLod textureLod
623.248 E/DALI (P 854, T 6612):
623.248 E/DALI (P 854, T 6612): //@version 100
623.248 E/DALI (P 854, T 6612): #extension GL_OES_EGL_image_external_essl3:require
623.248 E/DALI (P 854, T 6612):
623.248 E/DALI (P 854, T 6612): in mediump vec2 vTexCoord;
623.248 E/DALI (P 854, T 6612): #if defined(IS_REQUIRED_DEBUG_VISUAL_SHADER) || defined(IS_REQUIRED_ROUNDED_CORNER) || defined(IS_REQUIRED_BORDERLINE)
623.248 E/DALI (P 854, T 6612): in highp vec2 vPosition;
623.248 E/DALI (P 854, T 6612): flat in highp vec2 vRectSize;
623.248 E/DALI (P 854, T 6612): flat in highp vec2 vOptRectSize;
623.248 E/DALI (P 854, T 6612): flat in highp float vAliasMargin;
623.248 E/DALI (P 854, T 6612): #ifdef IS_REQUIRED_ROUNDED_CORNER
623.248 E/DALI (P 854, T 6612): flat in highp vec4 vCornerRadius;
623.248 E/DALI (P 854, T 6612): #endif
623.248 E/DALI (P 854, T 6612): #endif
623.248 E/DALI (P 854, T 6612): #ifdef IS_REQUIRED_DEBUG_VISUAL_SH
623.248 E/DALI (P 854, T 6612): gles-graphics-shader.cpp: Compile(121) > glCompileShader() failed:
623.248 E/DALI (P 854, T 6612): 0:19: P0001: Extension directive must occur before any non-preprocessor tokens
Change-Id: Iac53008ae6d76acaee266f14db0526b54b0c4abd
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Eunki Hong [Sun, 17 Nov 2024 15:55:56 +0000 (00:55 +0900)]
(ShaderParser) Optimize TokenizeLine function
1. regex is slow. Let we tokenize without regex.
2. Let we use std::string_view for GetToken() instead of string-creation.
After this patch, preprocess color-visual shader spend time reduced 95%
8.000 ms --> 0.372 ms (release mode)
Change-Id: I0c447b240e6d8315888cb1c611472c406af94822
Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
Eunki Hong [Tue, 19 Nov 2024 01:41:51 +0000 (01:41 +0000)]
Merge changes I179cfcd6,I6c702db7,I6994521e,I424c7a02 into devel/master
* changes:
Print some log after preprocess finished
Fix pre-compile works well after Preprocess.
Make preprocessed shader include null-terminate keyword
(ShaderPaser) Make flat qualifier define write ordering
Wonsik Jung [Mon, 18 Nov 2024 04:49:54 +0000 (04:49 +0000)]
Merge "Fix the memory leak of input panel wayland resource." into devel/master
Wonsik Jung [Mon, 18 Nov 2024 02:28:34 +0000 (11:28 +0900)]
Fix the memory leak of input panel wayland resource.
Fix the memory leak of wayland resource when input panel is used.
It is for tizen wayland backend.
Change-Id: I7e9bfc18e41dbf2dba9a6fa0a6b73b3ce30960e4
Eunki Hong [Sun, 17 Nov 2024 13:03:17 +0000 (22:03 +0900)]
Print some log after preprocess finished
Let we print that preprocess finished to check the duration of preprocess
Change-Id: I179cfcd6094008565985c0c03011e8550890a17e
Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
Eunki Hong [Sat, 16 Nov 2024 04:48:58 +0000 (13:48 +0900)]
Fix pre-compile works well after Preprocess.
Since we don't insert the version of shader for pre-compile case,
Preprocess result of precompiled shader is not avalid.
To fix this issue, we should attach the version of shader.
For now, most of shaders in dali-toolkit use 100 version.
So let we use it forcibly.
TODO : We need to consider that Open ShaderData API,
to avoid duplicate implementation.
For now, just keep these duplicated logic.
Change-Id: I6c702db72289f28655c5b6c349565d3cc5db71c4
Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
Eunki Hong [Sat, 16 Nov 2024 04:18:33 +0000 (13:18 +0900)]
Make preprocessed shader include null-terminate keyword
It will fix some kind of glCompileShader failed case.
ERROR: DALI: gles-graphics-shader.cpp: Compile(121) > glCompileShader() failed:
0:16(9): error: syntax error, unexpected NEW_IDENTIFIER
Change-Id: I6994521e29bb564bb457a4ab96791f8d55ba777b
Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
Eunki Hong [Sat, 16 Nov 2024 04:12:26 +0000 (13:12 +0900)]
(ShaderPaser) Make flat qualifier define write ordering
Since flat keyword should be exist earlier than in / out keyword,
let we change the parsing method, and ensure
FLAT keyword works well.
Appendix:
Flat keyword spec for gles : https://docs.nvidia.com/drive/drive-os-5.2.0.0L/drive-os/DRIVE_OS_Linux_SDK_Development_Guide/baggage/GLSL_ES_Specification_3.20.withchanges.pdf
SPIRV don't use flat keyword at vertex shader (reddit search result) : https://www.reddit.com/r/vulkan/comments/yizy4i/whats_the_best_way_to_pass_an_index_from_a_vertex/?rdt=64516
Change-Id: I424c7a02618fa0e8bcb97d6f4d1d0e17391035b8
Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
Wonsik Jung [Fri, 15 Nov 2024 09:49:25 +0000 (09:49 +0000)]
Merge "Fix the leak of wayland resource." into devel/master
Adeel Kazmi [Fri, 15 Nov 2024 08:12:51 +0000 (08:12 +0000)]
Merge "DALi Version 2.3.50" into devel/master
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
Adam Bialogonski [Fri, 15 Nov 2024 07:18:49 +0000 (07:18 +0000)]
DALi Version 2.3.50
Change-Id: I9b404d4c5b883dedb6499ac173ff6e8a3fc1c9de
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>
kim hosang [Thu, 14 Nov 2024 03:46:27 +0000 (03:46 +0000)]
Merge "[AT-SPI] Add offset to GetNodeInfo API." 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
David Steele [Tue, 12 Nov 2024 11:20:01 +0000 (11:20 +0000)]
Ensured clear color vector is the right size
Change-Id: I461cebeb34b1c8ea04fef2febbd8d35b8c3b05d6
David Steele [Mon, 4 Nov 2024 17:30:22 +0000 (17:30 +0000)]
Merged descriptor sets for shared UBOs
If a uniform block is shared between shader stages, then
the descriptor set should have the StageFlags set to
both stage bits. There should only be 1 such descriptor set
in the descriptor set binding.
Change-Id: I505492bbdf5a410a43ed8d133df0d5bc5df2cb19
Signed-off-by: David Steele <david.steele@samsung.com>
David Steele [Wed, 13 Nov 2024 12:40:28 +0000 (12:40 +0000)]
ShaderParser: Removed single line comments in tokenizer
Change-Id: I6b2bb9e8bf479eeb177781aec20ef885695a71c9
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
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>
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
Youngsun Suh [Mon, 11 Nov 2024 23:44:24 +0000 (23:44 +0000)]
Merge "Associate DefaultLabel with actor" into devel/master
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>
Youngsun Suh [Wed, 16 Oct 2024 07:44:42 +0000 (16:44 +0900)]
Associate DefaultLabel with actor
Change-Id: I9239f6ecf4ad619df83aa19c0dc0027a89e8b8b0
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
Richard Huang [Fri, 8 Nov 2024 10:27:17 +0000 (10:27 +0000)]
DALi Version 2.3.49
Change-Id: Ib8af59835a9315df83bfeb1b4ff7b82e057056a6
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>
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>
Eunki Hong [Wed, 6 Nov 2024 02:41:22 +0000 (02:41 +0000)]
Merge "Add for thorvg build guide at Ubuntu" into devel/master
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>
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
David Steele [Mon, 4 Nov 2024 10:13:29 +0000 (10:13 +0000)]
Merge "Shader parser changes" into devel/master
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
David Steele [Fri, 1 Nov 2024 11:25:23 +0000 (11:25 +0000)]
Merge "DALi Version 2.3.48" into devel/master
David Steele [Fri, 1 Nov 2024 11:17:27 +0000 (11:17 +0000)]
DALi Version 2.3.48
Change-Id: I8ba192ee716dfccf52671769f0ccf86d7182ee11
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>
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>
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
David Steele [Wed, 30 Oct 2024 16:57:10 +0000 (16:57 +0000)]
Merge "Added matrix row stride to reflection" 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
Eunki Hong [Wed, 30 Oct 2024 07:11:56 +0000 (07:11 +0000)]
Merge "Make Capture Timer Start at Processor stage." into devel/master
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>
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
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
Adeel Kazmi [Fri, 25 Oct 2024 10:45:54 +0000 (11:45 +0100)]
DALi Version 2.3.47
Change-Id: I6e1160785d4e5c1ee440b99a7f68f475e604d199
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>
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
Adam Bialogonski [Thu, 24 Oct 2024 10:09:22 +0000 (11:09 +0100)]
Sending preprocessed code when fishing for samplers
Change-Id: Ib3e93f244860308549791e1b5d1bc8c8a6f24464
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
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
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
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
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>
David Steele [Tue, 15 Oct 2024 16:45:58 +0000 (17:45 +0100)]
Cached depth/stencil state in command buffer
Change-Id: I1bcfbea332ed381ba1850e6618d03bf0f36e87e9
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>
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.
Adam Bialogonski [Fri, 18 Oct 2024 06:44:19 +0000 (07:44 +0100)]
DALi Version 2.3.46
Change-Id: I3fa01da7ffb853d74bcb428271166247aee542fe
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
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
David Steele [Wed, 16 Oct 2024 15:19:37 +0000 (15:19 +0000)]
Merge "Adding depth buffer to swapchain" into devel/master
Youngsun Suh [Tue, 15 Oct 2024 01:58:28 +0000 (10:58 +0900)]
Prevent crash when a11y bridge is disabled
Change-Id: Iba2bd83d2623ead9e907cd1a6d0ffe4f9e4548db
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
Youngsun Suh [Tue, 15 Oct 2024 07:16:40 +0000 (16:16 +0900)]
Fix crash on destroying static bridge obj
Change-Id: I3f7ab0fcf280dca3ddae9a7c553c82885d2a1299
Richard Huang [Fri, 11 Oct 2024 09:43:15 +0000 (10:43 +0100)]
DALi Version 2.3.45
Change-Id: I87b1e7df8b32d9518c30f317deb7ddef00ca979e
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
Taehyub Kim [Thu, 10 Oct 2024 09:26:37 +0000 (09:26 +0000)]
Merge "Fix wrong variable name for window target" into devel/master
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
Adeel Kazmi [Thu, 10 Oct 2024 08:42:40 +0000 (08:42 +0000)]
Merge "Changed vulkan startup order" into devel/master
Taehyub Kim [Thu, 10 Oct 2024 06:47:09 +0000 (15:47 +0900)]
Fix wrong variable name for window target
Change-Id: I54a74ef5effb473b83e7175041234335ab578876
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>
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>
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
David Steele [Fri, 4 Oct 2024 08:53:15 +0000 (09:53 +0100)]
DALi Version 2.3.44
Change-Id: I495122c5270aac65be7c0ce7b254f612f5f40278
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
dongsug song [Wed, 2 Oct 2024 11:31:17 +0000 (11:31 +0000)]
Merge "Add WebAuthDisplayQR, Response and MediaPermission" into devel/master
David Steele [Mon, 30 Sep 2024 15:27:39 +0000 (16:27 +0100)]
Changed vulkan-fence to use unique_ptr
Change-Id: I16ce7eff8ed73ab3395c1521d516a9edb3449b8f
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
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
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>
Youngsun Suh [Mon, 30 Sep 2024 02:23:12 +0000 (02:23 +0000)]
Merge "Prevent revisiting nodes in GetMatches*" into devel/master
Youngsun Suh [Fri, 27 Sep 2024 08:20:19 +0000 (17:20 +0900)]
Prevent revisiting nodes in GetMatches*
Change-Id: I55c93244b1c4e1804c7e00baaca4fcf44d404718
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
dongsug.song [Thu, 5 Sep 2024 12:23:00 +0000 (21:23 +0900)]
Add WebAuthDisplayQR, Response and MediaPermission
Change-Id: Ia034489abd004c0080d772e84e0c797f5b30e985
Adeel Kazmi [Fri, 27 Sep 2024 05:52:46 +0000 (06:52 +0100)]
DALi Version 2.3.43
Change-Id: I56fa73fb16275720c3717e6c30b5dd692720e3b3
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