From 191d2b37de8e9e817314f3aaa2b20174c0fdbe4d Mon Sep 17 00:00:00 2001 From: Faith Ekstrand Date: Wed, 11 Jun 2025 14:30:56 -0400 Subject: [PATCH] vulkan: Add a common implementation of GetPhysicalDeviceDescriptorSizeKHR Reviewed-by: Samuel Pitoiset Part-of: --- src/vulkan/runtime/vk_physical_device.c | 30 +++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/src/vulkan/runtime/vk_physical_device.c b/src/vulkan/runtime/vk_physical_device.c index 83f358e112c..28349eb700f 100644 --- a/src/vulkan/runtime/vk_physical_device.c +++ b/src/vulkan/runtime/vk_physical_device.c @@ -325,3 +325,33 @@ vk_common_GetPhysicalDeviceToolProperties(VkPhysicalDevice physicalDevice, return vk_outarray_status(&out); } + +VKAPI_ATTR VkDeviceSize VKAPI_CALL +vk_common_GetPhysicalDeviceDescriptorSizeEXT(VkPhysicalDevice physicalDevice, + VkDescriptorType descriptorType) +{ + VK_FROM_HANDLE(vk_physical_device, pdevice, physicalDevice); + + switch (descriptorType) { + case VK_DESCRIPTOR_TYPE_SAMPLER: + return pdevice->properties.samplerDescriptorSize; + + case VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE: + case VK_DESCRIPTOR_TYPE_STORAGE_IMAGE: + case VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER: + case VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER: + case VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT: + case VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM: + case VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM: + return pdevice->properties.imageDescriptorSize; + + case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER: + case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER: + case VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR: + case VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV: + return pdevice->properties.bufferDescriptorSize; + + default: + UNREACHABLE("Invalid descriptor type in GetPhysicalDeviceDescriptorSizeEXT"); + } +}