vkd3d/device: Require VK_KHR_zero_initialize_workgroup_memory when appropriate.

That extension (and the corresponding feature) must be enabled when
the Initializer operand is used for workgroup variables.
This commit is contained in:
Giovanni Mascellani
2025-02-21 14:55:24 +01:00
committed by Henri Verbeet
parent e746a4c12f
commit 8297ea9aa6
Notes: Henri Verbeet 2025-02-26 16:18:05 +01:00
Approved-by: Giovanni Mascellani (@giomasce)
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1390
5 changed files with 24 additions and 0 deletions

View File

@@ -249,6 +249,10 @@ enum vkd3d_shader_compile_option_feature_flags
* QUAD bits set.
* - supportedStages include COMPUTE and FRAGMENT. \since 1.12 */
VKD3D_SHADER_COMPILE_OPTION_FEATURE_WAVE_OPS = 0x00000004,
/** The SPIR-V target environment supports zero-initializing workgroup
* memory. This corresponds to the "shaderZeroInitializeWorkgroupMemory"
* Vulkan feature. \since 1.16 */
VKD3D_SHADER_COMPILE_OPTION_FEATURE_ZERO_INITIALIZE_WORKGROUP_MEMORY = 0x00000008,
VKD3D_FORCE_32_BIT_ENUM(VKD3D_SHADER_COMPILE_OPTION_FEATURE_FLAGS),
};