[PATCH vkd3d 5/6] vkd3d: Enable descriptor indexing if available.
Conor McCarthy
cmccarthy at codeweavers.com
Wed May 26 03:10:54 CDT 2021
Signed-off-by: Conor McCarthy <cmccarthy at codeweavers.com>
---
libs/vkd3d/device.c | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/libs/vkd3d/device.c b/libs/vkd3d/device.c
index a4c8bca8..88221406 100644
--- a/libs/vkd3d/device.c
+++ b/libs/vkd3d/device.c
@@ -1423,7 +1423,17 @@ static HRESULT vkd3d_init_device_caps(struct d3d12_device *device,
vulkan_info->EXT_shader_demote_to_helper_invocation = false;
if (!physical_device_info->texel_buffer_alignment_features.texelBufferAlignment)
vulkan_info->EXT_texel_buffer_alignment = false;
- vulkan_info->EXT_descriptor_indexing = false;
+ descriptor_indexing = &physical_device_info->descriptor_indexing_features;
+ if (!descriptor_indexing->descriptorBindingPartiallyBound
+ || !descriptor_indexing->descriptorBindingVariableDescriptorCount
+ || !physical_device_info->descriptor_indexing_features.shaderSampledImageArrayNonUniformIndexing
+ || !physical_device_info->descriptor_indexing_features.shaderUniformTexelBufferArrayDynamicIndexing
+ || !physical_device_info->descriptor_indexing_features.shaderUniformTexelBufferArrayNonUniformIndexing
+ || !physical_device_info->descriptor_indexing_features.shaderStorageImageArrayNonUniformIndexing
+ || !physical_device_info->descriptor_indexing_features.shaderStorageTexelBufferArrayDynamicIndexing
+ || !physical_device_info->descriptor_indexing_features.shaderStorageTexelBufferArrayNonUniformIndexing
+ || !physical_device_info->descriptor_indexing_features.shaderUniformBufferArrayNonUniformIndexing)
+ vulkan_info->EXT_descriptor_indexing = false;
vulkan_info->texel_buffer_alignment_properties = physical_device_info->texel_buffer_alignment_properties;
@@ -1461,7 +1471,6 @@ static HRESULT vkd3d_init_device_caps(struct d3d12_device *device,
/* Disable unused Vulkan features. */
features->shaderTessellationAndGeometryPointSize = VK_FALSE;
- descriptor_indexing = &physical_device_info->descriptor_indexing_features;
if (descriptor_indexing)
{
descriptor_indexing->shaderInputAttachmentArrayDynamicIndexing = VK_FALSE;
--
2.31.1
More information about the wine-devel
mailing list