From aa78f098f21e73f087d2d79962b5c257c1706134 Mon Sep 17 00:00:00 2001 From: Faith Ekstrand Date: Mon, 30 Jan 2023 20:11:50 -0600 Subject: [PATCH] nvk: Advertise descriptor array indexing This isn't as dynamic as it looks. It still requires the index to be uniform, it just lets it be not a constant. Given how our descriptor sets work, this is all handled trivially already. Part-of: --- src/nouveau/vulkan/nvk_physical_device.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/nouveau/vulkan/nvk_physical_device.c b/src/nouveau/vulkan/nvk_physical_device.c index 7825031a7c1..ce775858177 100644 --- a/src/nouveau/vulkan/nvk_physical_device.c +++ b/src/nouveau/vulkan/nvk_physical_device.c @@ -34,6 +34,10 @@ nvk_GetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice, /* More features */ .shaderStorageImageExtendedFormats = true, .shaderStorageImageWriteWithoutFormat = true, + .shaderUniformBufferArrayDynamicIndexing = true, + .shaderSampledImageArrayDynamicIndexing = true, + .shaderStorageBufferArrayDynamicIndexing = true, + .shaderStorageImageArrayDynamicIndexing = true, }; VkPhysicalDeviceVulkan11Features core_1_1 = { @@ -44,6 +48,9 @@ nvk_GetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice, VkPhysicalDeviceVulkan12Features core_1_2 = { .sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES, /* Vulkan 1.2 features */ + .shaderInputAttachmentArrayDynamicIndexing = true, + .shaderUniformTexelBufferArrayDynamicIndexing = true, + .shaderStorageTexelBufferArrayDynamicIndexing = true, }; VkPhysicalDeviceVulkan13Features core_1_3 = {