From 53f196b8e0b9e1054b09eae6973b5f9ddc14a591 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iv=C3=A1n=20Briano?= Date: Tue, 2 Apr 2024 16:57:16 -0700 Subject: [PATCH] vulkan/properties: handle LayeredApiPropertiesListKHR Reviewed-by: Mike Blumenkrantz Part-of: --- .../util/vk_physical_device_properties_gen.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/vulkan/util/vk_physical_device_properties_gen.py b/src/vulkan/util/vk_physical_device_properties_gen.py index 48234e82ad4..30ed3b083ec 100644 --- a/src/vulkan/util/vk_physical_device_properties_gen.py +++ b/src/vulkan/util/vk_physical_device_properties_gen.py @@ -67,6 +67,7 @@ RENAMED_PROPERTIES = { SPECIALIZED_PROPERTY_STRUCTS = [ "HostImageCopyPropertiesEXT", + "LayeredApiPropertiesListKHR", ] # Properties not extending VkPhysicalDeviceProperties2 in the XML, @@ -222,6 +223,20 @@ vk_common_GetPhysicalDeviceProperties2(VkPhysicalDevice physicalDevice, break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_PROPERTIES_LIST_KHR: { + VkPhysicalDeviceLayeredApiPropertiesListKHR *properties = (void *)ext; + if (properties->pLayeredApis) { + uint32_t written_api_count = MIN2(properties->layeredApiCount, + pdevice->properties.layeredApiCount); + memcpy(properties->pLayeredApis, pdevice->properties.pLayeredApis, + sizeof(VkPhysicalDeviceLayeredApiPropertiesKHR) * written_api_count); + properties->layeredApiCount = written_api_count; + } else { + properties->layeredApiCount = pdevice->properties.layeredApiCount; + } + break; + } + default: break; }