Conor McCarthy : vkd3d: Include descriptor indexing in the shader extensions if the device supports it.

Alexandre Julliard julliard at winehq.org
Mon Aug 2 16:42:59 CDT 2021


Module: vkd3d
Branch: master
Commit: 6fe884a02cfe245a4b01c3fbbd0a6df4c23c81e2
URL:    https://source.winehq.org/git/vkd3d.git/?a=commit;h=6fe884a02cfe245a4b01c3fbbd0a6df4c23c81e2

Author: Conor McCarthy <cmccarthy at codeweavers.com>
Date:   Fri Jul 30 14:03:17 2021 +1000

vkd3d: Include descriptor indexing in the shader extensions if the device supports it.

Signed-off-by: Conor McCarthy <cmccarthy at codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 libs/vkd3d/device.c        | 4 ++++
 libs/vkd3d/vkd3d_private.h | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/libs/vkd3d/device.c b/libs/vkd3d/device.c
index be0bf2f..0fadb52 100644
--- a/libs/vkd3d/device.c
+++ b/libs/vkd3d/device.c
@@ -1457,6 +1457,10 @@ static HRESULT vkd3d_init_device_caps(struct d3d12_device *device,
         vulkan_info->shader_extensions[0] = VKD3D_SHADER_SPIRV_EXTENSION_EXT_DEMOTE_TO_HELPER_INVOCATION;
     }
 
+    if (vulkan_info->EXT_descriptor_indexing)
+        vulkan_info->shader_extensions[vulkan_info->shader_extension_count++]
+                = VKD3D_SHADER_SPIRV_EXTENSION_EXT_DESCRIPTOR_INDEXING;
+
     /* Disable unused Vulkan features. */
     features->shaderTessellationAndGeometryPointSize = VK_FALSE;
 
diff --git a/libs/vkd3d/vkd3d_private.h b/libs/vkd3d/vkd3d_private.h
index 76a07c3..70e3248 100644
--- a/libs/vkd3d/vkd3d_private.h
+++ b/libs/vkd3d/vkd3d_private.h
@@ -51,7 +51,7 @@
 
 #define VKD3D_MAX_COMPATIBLE_FORMAT_COUNT 6u
 #define VKD3D_MAX_QUEUE_FAMILY_COUNT      3u
-#define VKD3D_MAX_SHADER_EXTENSIONS       1u
+#define VKD3D_MAX_SHADER_EXTENSIONS       2u
 #define VKD3D_MAX_SHADER_STAGES           5u
 #define VKD3D_MAX_VK_SYNC_OBJECTS         4u
 #define VKD3D_MAX_DESCRIPTOR_SETS         2u




More information about the wine-cvs mailing list