From 4e74c2a438e69341395aefe3f111b920db791038 Mon Sep 17 00:00:00 2001 From: Sascha Willems Date: Mon, 2 Oct 2023 07:20:07 +0200 Subject: [PATCH] Updated headers to 1.3.266 Adds support for: - VK_ANDROID_external_format_resolve --- Vulkan-Headers | 2 +- VulkanDeviceInfoExtensions.cpp | 22 ++++++++++++++++++++++ VulkanDeviceInfoExtensions.h | 4 +++- 3 files changed, 26 insertions(+), 2 deletions(-) diff --git a/Vulkan-Headers b/Vulkan-Headers index fff6d14..7e69138 160000 --- a/Vulkan-Headers +++ b/Vulkan-Headers @@ -1 +1 @@ -Subproject commit fff6d143cc4dccb5959db63c85c7b01406e0d333 +Subproject commit 7e691380166fb1cd9b193ac9db896bc23a4ea9ad diff --git a/VulkanDeviceInfoExtensions.cpp b/VulkanDeviceInfoExtensions.cpp index 7cbf5d1..9a586e5 100644 --- a/VulkanDeviceInfoExtensions.cpp +++ b/VulkanDeviceInfoExtensions.cpp @@ -81,6 +81,17 @@ void VulkanDeviceInfoExtensions::readPhysicalProperties_AMDX() { pushProperty2(extension, "executionGraphDispatchAddressAlignment", QVariant(extProps.executionGraphDispatchAddressAlignment)); } } +void VulkanDeviceInfoExtensions::readPhysicalProperties_ANDROID() { + if (extensionSupported("VK_ANDROID_external_format_resolve")) { + const char* extension("VK_ANDROID_external_format_resolve"); + VkPhysicalDeviceExternalFormatResolvePropertiesANDROID extProps { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_PROPERTIES_ANDROID }; + VkPhysicalDeviceProperties2 deviceProps2(initDeviceProperties2(&extProps)); + vulkanContext.vkGetPhysicalDeviceProperties2KHR(device, &deviceProps2); + pushProperty2(extension, "nullColorAttachmentWithExternalFormatResolve", QVariant(bool(extProps.nullColorAttachmentWithExternalFormatResolve))); + pushProperty2(extension, "externalFormatResolveChromaOffsetX", QVariant(extProps.externalFormatResolveChromaOffsetX)); + pushProperty2(extension, "externalFormatResolveChromaOffsetY", QVariant(extProps.externalFormatResolveChromaOffsetY)); + } +} void VulkanDeviceInfoExtensions::readPhysicalProperties_ARM() { if (extensionSupported("VK_ARM_shader_core_properties")) { const char* extension("VK_ARM_shader_core_properties"); @@ -919,6 +930,7 @@ void VulkanDeviceInfoExtensions::readPhysicalProperties_QCOM() { void VulkanDeviceInfoExtensions::readExtendedProperties() { readPhysicalProperties_AMD(); readPhysicalProperties_AMDX(); + readPhysicalProperties_ANDROID(); readPhysicalProperties_ARM(); readPhysicalProperties_EXT(); readPhysicalProperties_HUAWEI(); @@ -965,6 +977,15 @@ void VulkanDeviceInfoExtensions::readPhysicalFeatures_AMDX() { pushFeature2(extension, "shaderEnqueue", extFeatures.shaderEnqueue); } } +void VulkanDeviceInfoExtensions::readPhysicalFeatures_ANDROID() { + if (extensionSupported("VK_ANDROID_external_format_resolve")) { + const char* extension("VK_ANDROID_external_format_resolve"); + VkPhysicalDeviceExternalFormatResolveFeaturesANDROID extFeatures { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_FEATURES_ANDROID }; + VkPhysicalDeviceFeatures2 deviceFeatures2(initDeviceFeatures2(&extFeatures)); + vulkanContext.vkGetPhysicalDeviceFeatures2KHR(device, &deviceFeatures2); + pushFeature2(extension, "externalFormatResolve", extFeatures.externalFormatResolve); + } +} void VulkanDeviceInfoExtensions::readPhysicalFeatures_ARM() { if (extensionSupported("VK_ARM_rasterization_order_attachment_access")) { const char* extension("VK_ARM_rasterization_order_attachment_access"); @@ -2309,6 +2330,7 @@ void VulkanDeviceInfoExtensions::readPhysicalFeatures_VALVE() { void VulkanDeviceInfoExtensions::readExtendedFeatures() { readPhysicalFeatures_AMD(); readPhysicalFeatures_AMDX(); + readPhysicalFeatures_ANDROID(); readPhysicalFeatures_ARM(); readPhysicalFeatures_EXT(); readPhysicalFeatures_HUAWEI(); diff --git a/VulkanDeviceInfoExtensions.h b/VulkanDeviceInfoExtensions.h index f85126a..1c25c45 100644 --- a/VulkanDeviceInfoExtensions.h +++ b/VulkanDeviceInfoExtensions.h @@ -72,6 +72,8 @@ class VulkanDeviceInfoExtensions void readPhysicalProperties_AMD(); void readPhysicalFeatures_AMDX(); void readPhysicalProperties_AMDX(); + void readPhysicalFeatures_ANDROID(); + void readPhysicalProperties_ANDROID(); void readPhysicalFeatures_ARM(); void readPhysicalProperties_ARM(); void readPhysicalFeatures_EXT(); @@ -92,7 +94,7 @@ class VulkanDeviceInfoExtensions void readPhysicalFeatures_VALVE(); public: - const uint32_t vkHeaderVersion = 264; + const uint32_t vkHeaderVersion = 266; std::vector features2; std::vector properties2; std::vector extensions;