From 16fd796f04ff42e5a220c04ff861ae3cfd58a3b3 Mon Sep 17 00:00:00 2001 From: Mike Schuchardt Date: Fri, 19 Dec 2025 09:35:53 -0800 Subject: [PATCH] build: Update to header 1.4.337 --- CMakeLists.txt | 2 +- include/vulkan/utility/vk_dispatch_table.h | 10 -- include/vulkan/utility/vk_format_utils.h | 115 +++++++++++++- include/vulkan/utility/vk_safe_struct.hpp | 114 ++++++++------ include/vulkan/utility/vk_struct_helper.hpp | 6 +- include/vulkan/vk_enum_string_helper.h | 111 ++++++++----- scripts/known_good.json | 2 +- src/vulkan/vk_safe_struct_ext.cpp | 149 ++++++++++++++++++ src/vulkan/vk_safe_struct_utils.cpp | 40 +++-- src/vulkan/vk_safe_struct_vendor.cpp | 163 -------------------- 10 files changed, 415 insertions(+), 297 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 150b380..09b1ff7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,7 +6,7 @@ cmake_minimum_required(VERSION 3.22.1) # The VERSION field is generated with the "--generated-version" flag in the generate_source.py script -project(VUL VERSION 1.4.336 LANGUAGES CXX) +project(VUL VERSION 1.4.337 LANGUAGES CXX) set_property(GLOBAL PROPERTY USE_FOLDERS ON) # Remove when min is 3.26, see CMP0143 diff --git a/include/vulkan/utility/vk_dispatch_table.h b/include/vulkan/utility/vk_dispatch_table.h index c88c247..dfe5802 100644 --- a/include/vulkan/utility/vk_dispatch_table.h +++ b/include/vulkan/utility/vk_dispatch_table.h @@ -825,11 +825,6 @@ typedef struct VkuDeviceDispatchTable_ { PFN_vkDestroyIndirectExecutionSetEXT DestroyIndirectExecutionSetEXT; PFN_vkUpdateIndirectExecutionSetPipelineEXT UpdateIndirectExecutionSetPipelineEXT; PFN_vkUpdateIndirectExecutionSetShaderEXT UpdateIndirectExecutionSetShaderEXT; -#ifdef VK_USE_PLATFORM_OHOS - PFN_vkGetSwapchainGrallocUsageOHOS GetSwapchainGrallocUsageOHOS; - PFN_vkAcquireImageOHOS AcquireImageOHOS; - PFN_vkQueueSignalReleaseImageOHOS QueueSignalReleaseImageOHOS; -#endif // VK_USE_PLATFORM_OHOS #ifdef VK_USE_PLATFORM_METAL_EXT PFN_vkGetMemoryMetalHandleEXT GetMemoryMetalHandleEXT; PFN_vkGetMemoryMetalHandlePropertiesEXT GetMemoryMetalHandlePropertiesEXT; @@ -1518,11 +1513,6 @@ static inline void vkuInitDeviceDispatchTable(VkDevice device, VkuDeviceDispatch table->DestroyIndirectExecutionSetEXT = (PFN_vkDestroyIndirectExecutionSetEXT)gdpa(device, "vkDestroyIndirectExecutionSetEXT"); table->UpdateIndirectExecutionSetPipelineEXT = (PFN_vkUpdateIndirectExecutionSetPipelineEXT)gdpa(device, "vkUpdateIndirectExecutionSetPipelineEXT"); table->UpdateIndirectExecutionSetShaderEXT = (PFN_vkUpdateIndirectExecutionSetShaderEXT)gdpa(device, "vkUpdateIndirectExecutionSetShaderEXT"); -#ifdef VK_USE_PLATFORM_OHOS - table->GetSwapchainGrallocUsageOHOS = (PFN_vkGetSwapchainGrallocUsageOHOS)gdpa(device, "vkGetSwapchainGrallocUsageOHOS"); - table->AcquireImageOHOS = (PFN_vkAcquireImageOHOS)gdpa(device, "vkAcquireImageOHOS"); - table->QueueSignalReleaseImageOHOS = (PFN_vkQueueSignalReleaseImageOHOS)gdpa(device, "vkQueueSignalReleaseImageOHOS"); -#endif // VK_USE_PLATFORM_OHOS #ifdef VK_USE_PLATFORM_METAL_EXT table->GetMemoryMetalHandleEXT = (PFN_vkGetMemoryMetalHandleEXT)gdpa(device, "vkGetMemoryMetalHandleEXT"); table->GetMemoryMetalHandlePropertiesEXT = (PFN_vkGetMemoryMetalHandlePropertiesEXT)gdpa(device, "vkGetMemoryMetalHandlePropertiesEXT"); diff --git a/include/vulkan/utility/vk_format_utils.h b/include/vulkan/utility/vk_format_utils.h index afde3f2..f8e5542 100644 --- a/include/vulkan/utility/vk_format_utils.h +++ b/include/vulkan/utility/vk_format_utils.h @@ -93,11 +93,21 @@ enum VKU_FORMAT_COMPATIBILITY_CLASS { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_10X8, VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_12X10, VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_12X12, + VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_3X3X3, + VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_4X3X3, VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_4X4, + VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_4X4X3, + VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_4X4X4, VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_5X4, + VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_5X4X4, VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_5X5, + VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_5X5X4, + VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_5X5X5, VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_6X5, + VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_6X5X5, VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_6X6, + VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_6X6X5, + VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_6X6X6, VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_8X5, VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_8X6, VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_8X8, @@ -359,7 +369,7 @@ struct VKU_FORMAT_INFO { uint32_t component_count; struct VKU_FORMAT_COMPONENT_INFO components[VKU_FORMAT_MAX_COMPONENTS]; }; -const struct VKU_FORMAT_INFO vku_formats[265] = { +const struct VKU_FORMAT_INFO vku_formats[295] = { { VKU_FORMAT_COMPATIBILITY_CLASS_NONE, 0, 0, {0, 0, 0}, 0, {} }, { VKU_FORMAT_COMPATIBILITY_CLASS_8BIT, 1, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, 4}, {VKU_FORMAT_COMPONENT_TYPE_G, 4}} }, { VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, 4}, {VKU_FORMAT_COMPONENT_TYPE_G, 4}, {VKU_FORMAT_COMPONENT_TYPE_B, 4}, {VKU_FORMAT_COMPONENT_TYPE_A, 4}} }, @@ -601,6 +611,36 @@ const struct VKU_FORMAT_INFO vku_formats[265] = { { VKU_FORMAT_COMPATIBILITY_CLASS_16BIT_3PLANE_422, 6, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_G, 16}, {VKU_FORMAT_COMPONENT_TYPE_B, 16}, {VKU_FORMAT_COMPONENT_TYPE_R, 16}} }, { VKU_FORMAT_COMPATIBILITY_CLASS_16BIT_2PLANE_422, 6, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_G, 16}, {VKU_FORMAT_COMPONENT_TYPE_B, 16}, {VKU_FORMAT_COMPONENT_TYPE_R, 16}} }, { VKU_FORMAT_COMPATIBILITY_CLASS_16BIT_3PLANE_444, 6, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_G, 16}, {VKU_FORMAT_COMPONENT_TYPE_B, 16}, {VKU_FORMAT_COMPONENT_TYPE_R, 16}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_3X3X3, 16, 27, {3, 3, 3}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_3X3X3, 16, 27, {3, 3, 3}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_3X3X3, 16, 27, {3, 3, 3}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_4X3X3, 16, 36, {4, 3, 3}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_4X3X3, 16, 36, {4, 3, 3}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_4X3X3, 16, 36, {4, 3, 3}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_4X4X3, 16, 48, {4, 4, 3}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_4X4X3, 16, 48, {4, 4, 3}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_4X4X3, 16, 48, {4, 4, 3}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_4X4X4, 16, 64, {4, 4, 4}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_4X4X4, 16, 64, {4, 4, 4}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_4X4X4, 16, 64, {4, 4, 4}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_5X4X4, 16, 80, {5, 4, 4}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_5X4X4, 16, 80, {5, 4, 4}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_5X4X4, 16, 80, {5, 4, 4}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_5X5X4, 16, 100, {5, 5, 4}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_5X5X4, 16, 100, {5, 5, 4}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_5X5X4, 16, 100, {5, 5, 4}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_5X5X5, 16, 125, {5, 5, 5}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_5X5X5, 16, 125, {5, 5, 5}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_5X5X5, 16, 125, {5, 5, 5}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_6X5X5, 16, 150, {6, 5, 5}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_6X5X5, 16, 150, {6, 5, 5}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_6X5X5, 16, 150, {6, 5, 5}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_6X6X5, 16, 180, {6, 6, 5}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_6X6X5, 16, 180, {6, 6, 5}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_6X6X5, 16, 180, {6, 6, 5}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_6X6X6, 16, 216, {6, 6, 6}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_6X6X6, 16, 216, {6, 6, 6}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_6X6X6, 16, 216, {6, 6, 6}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, { VKU_FORMAT_COMPATIBILITY_CLASS_8BIT_2PLANE_444, 3, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_R, 8}} }, { VKU_FORMAT_COMPATIBILITY_CLASS_10BIT_2PLANE_444, 6, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_G, 10}, {VKU_FORMAT_COMPONENT_TYPE_B, 10}, {VKU_FORMAT_COMPONENT_TYPE_R, 10}} }, { VKU_FORMAT_COMPATIBILITY_CLASS_12BIT_2PLANE_444, 6, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_G, 12}, {VKU_FORMAT_COMPONENT_TYPE_B, 12}, {VKU_FORMAT_COMPONENT_TYPE_R, 12}} }, @@ -631,12 +671,13 @@ static inline struct VKU_FORMAT_INFO vkuGetFormatInfo(VkFormat format) { else if (VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG <= format && format <= VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG ) { return vku_formats[format - VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG + 185]; } else if (VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK <= format && format <= VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK ) { return vku_formats[format - VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK + 193]; } else if (VK_FORMAT_G8B8G8R8_422_UNORM <= format && format <= VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM ) { return vku_formats[format - VK_FORMAT_G8B8G8R8_422_UNORM + 207]; } - else if (VK_FORMAT_G8_B8R8_2PLANE_444_UNORM <= format && format <= VK_FORMAT_G16_B16R16_2PLANE_444_UNORM ) { return vku_formats[format - VK_FORMAT_G8_B8R8_2PLANE_444_UNORM + 241]; } - else if (VK_FORMAT_A4R4G4B4_UNORM_PACK16 <= format && format <= VK_FORMAT_A4B4G4R4_UNORM_PACK16 ) { return vku_formats[format - VK_FORMAT_A4R4G4B4_UNORM_PACK16 + 245]; } - else if (VK_FORMAT_R8_BOOL_ARM <= format && format <= VK_FORMAT_R8_BOOL_ARM ) { return vku_formats[format - VK_FORMAT_R8_BOOL_ARM + 247]; } - else if (VK_FORMAT_R16G16_SFIXED5_NV <= format && format <= VK_FORMAT_R16G16_SFIXED5_NV ) { return vku_formats[format - VK_FORMAT_R16G16_SFIXED5_NV + 248]; } - else if (VK_FORMAT_A1B5G5R5_UNORM_PACK16 <= format && format <= VK_FORMAT_A8_UNORM ) { return vku_formats[format - VK_FORMAT_A1B5G5R5_UNORM_PACK16 + 249]; } - else if (VK_FORMAT_R10X6_UINT_PACK16_ARM <= format && format <= VK_FORMAT_G14X2_B14X2R14X2_2PLANE_422_UNORM_3PACK16_ARM ) { return vku_formats[format - VK_FORMAT_R10X6_UINT_PACK16_ARM + 251]; } + else if (VK_FORMAT_ASTC_3x3x3_UNORM_BLOCK_EXT <= format && format <= VK_FORMAT_ASTC_6x6x6_SFLOAT_BLOCK_EXT ) { return vku_formats[format - VK_FORMAT_ASTC_3x3x3_UNORM_BLOCK_EXT + 241]; } + else if (VK_FORMAT_G8_B8R8_2PLANE_444_UNORM <= format && format <= VK_FORMAT_G16_B16R16_2PLANE_444_UNORM ) { return vku_formats[format - VK_FORMAT_G8_B8R8_2PLANE_444_UNORM + 271]; } + else if (VK_FORMAT_A4R4G4B4_UNORM_PACK16 <= format && format <= VK_FORMAT_A4B4G4R4_UNORM_PACK16 ) { return vku_formats[format - VK_FORMAT_A4R4G4B4_UNORM_PACK16 + 275]; } + else if (VK_FORMAT_R8_BOOL_ARM <= format && format <= VK_FORMAT_R8_BOOL_ARM ) { return vku_formats[format - VK_FORMAT_R8_BOOL_ARM + 277]; } + else if (VK_FORMAT_R16G16_SFIXED5_NV <= format && format <= VK_FORMAT_R16G16_SFIXED5_NV ) { return vku_formats[format - VK_FORMAT_R16G16_SFIXED5_NV + 278]; } + else if (VK_FORMAT_A1B5G5R5_UNORM_PACK16 <= format && format <= VK_FORMAT_A8_UNORM ) { return vku_formats[format - VK_FORMAT_A1B5G5R5_UNORM_PACK16 + 279]; } + else if (VK_FORMAT_R10X6_UINT_PACK16_ARM <= format && format <= VK_FORMAT_G14X2_B14X2R14X2_2PLANE_422_UNORM_3PACK16_ARM ) { return vku_formats[format - VK_FORMAT_R10X6_UINT_PACK16_ARM + 281]; } // Default case - return VK_FORMAT_UNDEFINED else { return vku_formats[0]; @@ -792,6 +833,16 @@ bool vkuFormatIsSFLOAT(VkFormat format) { case VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK: case VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK: case VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK: + case VK_FORMAT_ASTC_3x3x3_SFLOAT_BLOCK_EXT: + case VK_FORMAT_ASTC_4x3x3_SFLOAT_BLOCK_EXT: + case VK_FORMAT_ASTC_4x4x3_SFLOAT_BLOCK_EXT: + case VK_FORMAT_ASTC_4x4x4_SFLOAT_BLOCK_EXT: + case VK_FORMAT_ASTC_5x4x4_SFLOAT_BLOCK_EXT: + case VK_FORMAT_ASTC_5x5x4_SFLOAT_BLOCK_EXT: + case VK_FORMAT_ASTC_5x5x5_SFLOAT_BLOCK_EXT: + case VK_FORMAT_ASTC_6x5x5_SFLOAT_BLOCK_EXT: + case VK_FORMAT_ASTC_6x6x5_SFLOAT_BLOCK_EXT: + case VK_FORMAT_ASTC_6x6x6_SFLOAT_BLOCK_EXT: return true; default: return false; @@ -890,6 +941,16 @@ bool vkuFormatIsSRGB(VkFormat format) { case VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG: case VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG: case VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG: + case VK_FORMAT_ASTC_3x3x3_SRGB_BLOCK_EXT: + case VK_FORMAT_ASTC_4x3x3_SRGB_BLOCK_EXT: + case VK_FORMAT_ASTC_4x4x3_SRGB_BLOCK_EXT: + case VK_FORMAT_ASTC_4x4x4_SRGB_BLOCK_EXT: + case VK_FORMAT_ASTC_5x4x4_SRGB_BLOCK_EXT: + case VK_FORMAT_ASTC_5x5x4_SRGB_BLOCK_EXT: + case VK_FORMAT_ASTC_5x5x5_SRGB_BLOCK_EXT: + case VK_FORMAT_ASTC_6x5x5_SRGB_BLOCK_EXT: + case VK_FORMAT_ASTC_6x6x5_SRGB_BLOCK_EXT: + case VK_FORMAT_ASTC_6x6x6_SRGB_BLOCK_EXT: return true; default: return false; @@ -1062,6 +1123,16 @@ bool vkuFormatIsUNORM(VkFormat format) { case VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG: case VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG: case VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG: + case VK_FORMAT_ASTC_3x3x3_UNORM_BLOCK_EXT: + case VK_FORMAT_ASTC_4x3x3_UNORM_BLOCK_EXT: + case VK_FORMAT_ASTC_4x4x3_UNORM_BLOCK_EXT: + case VK_FORMAT_ASTC_4x4x4_UNORM_BLOCK_EXT: + case VK_FORMAT_ASTC_5x4x4_UNORM_BLOCK_EXT: + case VK_FORMAT_ASTC_5x5x4_UNORM_BLOCK_EXT: + case VK_FORMAT_ASTC_5x5x5_UNORM_BLOCK_EXT: + case VK_FORMAT_ASTC_6x5x5_UNORM_BLOCK_EXT: + case VK_FORMAT_ASTC_6x6x5_UNORM_BLOCK_EXT: + case VK_FORMAT_ASTC_6x6x6_UNORM_BLOCK_EXT: case VK_FORMAT_G8_B8R8_2PLANE_444_UNORM: case VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16: case VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16: @@ -1118,11 +1189,21 @@ bool vkuFormatIsCompressed_ASTC_HDR(VkFormat format) { case VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK: case VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK: case VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK: + case VK_FORMAT_ASTC_3x3x3_SFLOAT_BLOCK_EXT: + case VK_FORMAT_ASTC_4x3x3_SFLOAT_BLOCK_EXT: case VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK: + case VK_FORMAT_ASTC_4x4x3_SFLOAT_BLOCK_EXT: + case VK_FORMAT_ASTC_4x4x4_SFLOAT_BLOCK_EXT: case VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK: + case VK_FORMAT_ASTC_5x4x4_SFLOAT_BLOCK_EXT: case VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK: + case VK_FORMAT_ASTC_5x5x4_SFLOAT_BLOCK_EXT: + case VK_FORMAT_ASTC_5x5x5_SFLOAT_BLOCK_EXT: case VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK: + case VK_FORMAT_ASTC_6x5x5_SFLOAT_BLOCK_EXT: case VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK: + case VK_FORMAT_ASTC_6x6x5_SFLOAT_BLOCK_EXT: + case VK_FORMAT_ASTC_6x6x6_SFLOAT_BLOCK_EXT: case VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK: case VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK: case VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK: @@ -1147,16 +1228,36 @@ bool vkuFormatIsCompressed_ASTC_LDR(VkFormat format) { case VK_FORMAT_ASTC_12x10_UNORM_BLOCK: case VK_FORMAT_ASTC_12x12_SRGB_BLOCK: case VK_FORMAT_ASTC_12x12_UNORM_BLOCK: + case VK_FORMAT_ASTC_3x3x3_SRGB_BLOCK_EXT: + case VK_FORMAT_ASTC_3x3x3_UNORM_BLOCK_EXT: + case VK_FORMAT_ASTC_4x3x3_SRGB_BLOCK_EXT: + case VK_FORMAT_ASTC_4x3x3_UNORM_BLOCK_EXT: case VK_FORMAT_ASTC_4x4_SRGB_BLOCK: case VK_FORMAT_ASTC_4x4_UNORM_BLOCK: + case VK_FORMAT_ASTC_4x4x3_SRGB_BLOCK_EXT: + case VK_FORMAT_ASTC_4x4x3_UNORM_BLOCK_EXT: + case VK_FORMAT_ASTC_4x4x4_SRGB_BLOCK_EXT: + case VK_FORMAT_ASTC_4x4x4_UNORM_BLOCK_EXT: case VK_FORMAT_ASTC_5x4_SRGB_BLOCK: case VK_FORMAT_ASTC_5x4_UNORM_BLOCK: + case VK_FORMAT_ASTC_5x4x4_SRGB_BLOCK_EXT: + case VK_FORMAT_ASTC_5x4x4_UNORM_BLOCK_EXT: case VK_FORMAT_ASTC_5x5_SRGB_BLOCK: case VK_FORMAT_ASTC_5x5_UNORM_BLOCK: + case VK_FORMAT_ASTC_5x5x4_SRGB_BLOCK_EXT: + case VK_FORMAT_ASTC_5x5x4_UNORM_BLOCK_EXT: + case VK_FORMAT_ASTC_5x5x5_SRGB_BLOCK_EXT: + case VK_FORMAT_ASTC_5x5x5_UNORM_BLOCK_EXT: case VK_FORMAT_ASTC_6x5_SRGB_BLOCK: case VK_FORMAT_ASTC_6x5_UNORM_BLOCK: + case VK_FORMAT_ASTC_6x5x5_SRGB_BLOCK_EXT: + case VK_FORMAT_ASTC_6x5x5_UNORM_BLOCK_EXT: case VK_FORMAT_ASTC_6x6_SRGB_BLOCK: case VK_FORMAT_ASTC_6x6_UNORM_BLOCK: + case VK_FORMAT_ASTC_6x6x5_SRGB_BLOCK_EXT: + case VK_FORMAT_ASTC_6x6x5_UNORM_BLOCK_EXT: + case VK_FORMAT_ASTC_6x6x6_SRGB_BLOCK_EXT: + case VK_FORMAT_ASTC_6x6x6_UNORM_BLOCK_EXT: case VK_FORMAT_ASTC_8x5_SRGB_BLOCK: case VK_FORMAT_ASTC_8x5_UNORM_BLOCK: case VK_FORMAT_ASTC_8x6_SRGB_BLOCK: diff --git a/include/vulkan/utility/vk_safe_struct.hpp b/include/vulkan/utility/vk_safe_struct.hpp index 062ce22..7a8e179 100644 --- a/include/vulkan/utility/vk_safe_struct.hpp +++ b/include/vulkan/utility/vk_safe_struct.hpp @@ -14837,6 +14837,28 @@ struct safe_VkPhysicalDeviceCustomBorderColorFeaturesEXT { return reinterpret_cast(this); } }; +struct safe_VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT { + VkStructureType sType; + void* pNext{}; + VkBool32 textureCompressionASTC_3D; + + safe_VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT(const VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT( + const safe_VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT& copy_src); + safe_VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT& operator=( + const safe_VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT& copy_src); + safe_VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT(); + ~safe_VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT(); + void initialize(const VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT* ptr() { + return reinterpret_cast(this); + } + VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT const* ptr() const { + return reinterpret_cast(this); + } +}; struct safe_VkPhysicalDevicePresentBarrierFeaturesNV { VkStructureType sType; void* pNext{}; @@ -22374,57 +22396,6 @@ struct safe_VkSurfaceCreateInfoOHOS { VkSurfaceCreateInfoOHOS* ptr() { return reinterpret_cast(this); } VkSurfaceCreateInfoOHOS const* ptr() const { return reinterpret_cast(this); } }; -struct safe_VkNativeBufferOHOS { - VkStructureType sType; - const void* pNext{}; - struct OHBufferHandle* handle{}; - - safe_VkNativeBufferOHOS(const VkNativeBufferOHOS* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkNativeBufferOHOS(const safe_VkNativeBufferOHOS& copy_src); - safe_VkNativeBufferOHOS& operator=(const safe_VkNativeBufferOHOS& copy_src); - safe_VkNativeBufferOHOS(); - ~safe_VkNativeBufferOHOS(); - void initialize(const VkNativeBufferOHOS* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkNativeBufferOHOS* copy_src, PNextCopyState* copy_state = {}); - VkNativeBufferOHOS* ptr() { return reinterpret_cast(this); } - VkNativeBufferOHOS const* ptr() const { return reinterpret_cast(this); } -}; -struct safe_VkSwapchainImageCreateInfoOHOS { - VkStructureType sType; - const void* pNext{}; - VkSwapchainImageUsageFlagsOHOS usage; - - safe_VkSwapchainImageCreateInfoOHOS(const VkSwapchainImageCreateInfoOHOS* in_struct, PNextCopyState* copy_state = {}, - bool copy_pnext = true); - safe_VkSwapchainImageCreateInfoOHOS(const safe_VkSwapchainImageCreateInfoOHOS& copy_src); - safe_VkSwapchainImageCreateInfoOHOS& operator=(const safe_VkSwapchainImageCreateInfoOHOS& copy_src); - safe_VkSwapchainImageCreateInfoOHOS(); - ~safe_VkSwapchainImageCreateInfoOHOS(); - void initialize(const VkSwapchainImageCreateInfoOHOS* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkSwapchainImageCreateInfoOHOS* copy_src, PNextCopyState* copy_state = {}); - VkSwapchainImageCreateInfoOHOS* ptr() { return reinterpret_cast(this); } - VkSwapchainImageCreateInfoOHOS const* ptr() const { return reinterpret_cast(this); } -}; -struct safe_VkPhysicalDevicePresentationPropertiesOHOS { - VkStructureType sType; - void* pNext{}; - VkBool32 sharedImage; - - safe_VkPhysicalDevicePresentationPropertiesOHOS(const VkPhysicalDevicePresentationPropertiesOHOS* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPhysicalDevicePresentationPropertiesOHOS(const safe_VkPhysicalDevicePresentationPropertiesOHOS& copy_src); - safe_VkPhysicalDevicePresentationPropertiesOHOS& operator=(const safe_VkPhysicalDevicePresentationPropertiesOHOS& copy_src); - safe_VkPhysicalDevicePresentationPropertiesOHOS(); - ~safe_VkPhysicalDevicePresentationPropertiesOHOS(); - void initialize(const VkPhysicalDevicePresentationPropertiesOHOS* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDevicePresentationPropertiesOHOS* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDevicePresentationPropertiesOHOS* ptr() { - return reinterpret_cast(this); - } - VkPhysicalDevicePresentationPropertiesOHOS const* ptr() const { - return reinterpret_cast(this); - } -}; #endif // VK_USE_PLATFORM_OHOS struct safe_VkPhysicalDeviceHdrVividFeaturesHUAWEI { VkStructureType sType; @@ -23006,6 +22977,47 @@ struct safe_VkPhysicalDeviceDataGraphModelFeaturesQCOM { return reinterpret_cast(this); } }; +struct safe_VkPhysicalDeviceShaderLongVectorFeaturesEXT { + VkStructureType sType; + void* pNext{}; + VkBool32 longVector; + + safe_VkPhysicalDeviceShaderLongVectorFeaturesEXT(const VkPhysicalDeviceShaderLongVectorFeaturesEXT* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceShaderLongVectorFeaturesEXT(const safe_VkPhysicalDeviceShaderLongVectorFeaturesEXT& copy_src); + safe_VkPhysicalDeviceShaderLongVectorFeaturesEXT& operator=(const safe_VkPhysicalDeviceShaderLongVectorFeaturesEXT& copy_src); + safe_VkPhysicalDeviceShaderLongVectorFeaturesEXT(); + ~safe_VkPhysicalDeviceShaderLongVectorFeaturesEXT(); + void initialize(const VkPhysicalDeviceShaderLongVectorFeaturesEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceShaderLongVectorFeaturesEXT* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceShaderLongVectorFeaturesEXT* ptr() { + return reinterpret_cast(this); + } + VkPhysicalDeviceShaderLongVectorFeaturesEXT const* ptr() const { + return reinterpret_cast(this); + } +}; +struct safe_VkPhysicalDeviceShaderLongVectorPropertiesEXT { + VkStructureType sType; + void* pNext{}; + uint32_t maxVectorComponents; + + safe_VkPhysicalDeviceShaderLongVectorPropertiesEXT(const VkPhysicalDeviceShaderLongVectorPropertiesEXT* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceShaderLongVectorPropertiesEXT(const safe_VkPhysicalDeviceShaderLongVectorPropertiesEXT& copy_src); + safe_VkPhysicalDeviceShaderLongVectorPropertiesEXT& operator=( + const safe_VkPhysicalDeviceShaderLongVectorPropertiesEXT& copy_src); + safe_VkPhysicalDeviceShaderLongVectorPropertiesEXT(); + ~safe_VkPhysicalDeviceShaderLongVectorPropertiesEXT(); + void initialize(const VkPhysicalDeviceShaderLongVectorPropertiesEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceShaderLongVectorPropertiesEXT* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceShaderLongVectorPropertiesEXT* ptr() { + return reinterpret_cast(this); + } + VkPhysicalDeviceShaderLongVectorPropertiesEXT const* ptr() const { + return reinterpret_cast(this); + } +}; struct safe_VkPhysicalDevicePipelineCacheIncrementalModeFeaturesSEC { VkStructureType sType; void* pNext{}; diff --git a/include/vulkan/utility/vk_struct_helper.hpp b/include/vulkan/utility/vk_struct_helper.hpp index 7569e18..ec09143 100644 --- a/include/vulkan/utility/vk_struct_helper.hpp +++ b/include/vulkan/utility/vk_struct_helper.hpp @@ -781,6 +781,7 @@ template <> inline VkStructureType GetSType inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT; } template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT; } template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT; } +template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_3D_FEATURES_EXT; } template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV; } template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_BARRIER_NV; } template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_BARRIER_CREATE_INFO_NV; } @@ -1163,9 +1164,6 @@ template <> inline VkStructureType GetSType inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLAMP_CONTROL_CREATE_INFO_EXT; } #ifdef VK_USE_PLATFORM_OHOS template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_SURFACE_CREATE_INFO_OHOS; } -template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_NATIVE_BUFFER_OHOS; } -template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_SWAPCHAIN_IMAGE_CREATE_INFO_OHOS; } -template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENTATION_PROPERTIES_OHOS; } #endif // VK_USE_PLATFORM_OHOS template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HDR_VIVID_FEATURES_HUAWEI; } template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_HDR_VIVID_DYNAMIC_METADATA_HUAWEI; } @@ -1199,6 +1197,8 @@ template <> inline VkStructureType GetSType() { ret template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_CUSTOM_RESOLVE_CREATE_INFO_EXT; } template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_BUILTIN_MODEL_CREATE_INFO_QCOM; } template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DATA_GRAPH_MODEL_FEATURES_QCOM; } +template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_LONG_VECTOR_FEATURES_EXT; } +template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_LONG_VECTOR_PROPERTIES_EXT; } template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CACHE_INCREMENTAL_MODE_FEATURES_SEC; } template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_UNIFORM_BUFFER_UNSIZED_ARRAY_FEATURES_EXT; } template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_COMPUTE_OCCUPANCY_PRIORITY_PARAMETERS_NV; } diff --git a/include/vulkan/vk_enum_string_helper.h b/include/vulkan/vk_enum_string_helper.h index 5d0095c..704b946 100644 --- a/include/vulkan/vk_enum_string_helper.h +++ b/include/vulkan/vk_enum_string_helper.h @@ -1372,6 +1372,8 @@ static inline const char* string_VkStructureType(VkStructureType input_value) { return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_3D_FEATURES_EXT: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_3D_FEATURES_EXT"; case VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV: @@ -2324,12 +2326,6 @@ static inline const char* string_VkStructureType(VkStructureType input_value) { return "VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_INLINE_SESSION_PARAMETERS_INFO_KHR"; case VK_STRUCTURE_TYPE_SURFACE_CREATE_INFO_OHOS: return "VK_STRUCTURE_TYPE_SURFACE_CREATE_INFO_OHOS"; - case VK_STRUCTURE_TYPE_NATIVE_BUFFER_OHOS: - return "VK_STRUCTURE_TYPE_NATIVE_BUFFER_OHOS"; - case VK_STRUCTURE_TYPE_SWAPCHAIN_IMAGE_CREATE_INFO_OHOS: - return "VK_STRUCTURE_TYPE_SWAPCHAIN_IMAGE_CREATE_INFO_OHOS"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENTATION_PROPERTIES_OHOS: - return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENTATION_PROPERTIES_OHOS"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HDR_VIVID_FEATURES_HUAWEI: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HDR_VIVID_FEATURES_HUAWEI"; case VK_STRUCTURE_TYPE_HDR_VIVID_DYNAMIC_METADATA_HUAWEI: @@ -2412,6 +2408,10 @@ static inline const char* string_VkStructureType(VkStructureType input_value) { return "VK_STRUCTURE_TYPE_RENDERING_END_INFO_KHR"; case VK_STRUCTURE_TYPE_RESOLVE_IMAGE_MODE_INFO_KHR: return "VK_STRUCTURE_TYPE_RESOLVE_IMAGE_MODE_INFO_KHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_LONG_VECTOR_FEATURES_EXT: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_LONG_VECTOR_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_LONG_VECTOR_PROPERTIES_EXT: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_LONG_VECTOR_PROPERTIES_EXT"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CACHE_INCREMENTAL_MODE_FEATURES_SEC: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CACHE_INCREMENTAL_MODE_FEATURES_SEC"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_UNIFORM_BUFFER_UNSIZED_ARRAY_FEATURES_EXT: @@ -3164,6 +3164,66 @@ static inline const char* string_VkFormat(VkFormat input_value) { return "VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG"; case VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG: return "VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG"; + case VK_FORMAT_ASTC_3x3x3_UNORM_BLOCK_EXT: + return "VK_FORMAT_ASTC_3x3x3_UNORM_BLOCK_EXT"; + case VK_FORMAT_ASTC_3x3x3_SRGB_BLOCK_EXT: + return "VK_FORMAT_ASTC_3x3x3_SRGB_BLOCK_EXT"; + case VK_FORMAT_ASTC_3x3x3_SFLOAT_BLOCK_EXT: + return "VK_FORMAT_ASTC_3x3x3_SFLOAT_BLOCK_EXT"; + case VK_FORMAT_ASTC_4x3x3_UNORM_BLOCK_EXT: + return "VK_FORMAT_ASTC_4x3x3_UNORM_BLOCK_EXT"; + case VK_FORMAT_ASTC_4x3x3_SRGB_BLOCK_EXT: + return "VK_FORMAT_ASTC_4x3x3_SRGB_BLOCK_EXT"; + case VK_FORMAT_ASTC_4x3x3_SFLOAT_BLOCK_EXT: + return "VK_FORMAT_ASTC_4x3x3_SFLOAT_BLOCK_EXT"; + case VK_FORMAT_ASTC_4x4x3_UNORM_BLOCK_EXT: + return "VK_FORMAT_ASTC_4x4x3_UNORM_BLOCK_EXT"; + case VK_FORMAT_ASTC_4x4x3_SRGB_BLOCK_EXT: + return "VK_FORMAT_ASTC_4x4x3_SRGB_BLOCK_EXT"; + case VK_FORMAT_ASTC_4x4x3_SFLOAT_BLOCK_EXT: + return "VK_FORMAT_ASTC_4x4x3_SFLOAT_BLOCK_EXT"; + case VK_FORMAT_ASTC_4x4x4_UNORM_BLOCK_EXT: + return "VK_FORMAT_ASTC_4x4x4_UNORM_BLOCK_EXT"; + case VK_FORMAT_ASTC_4x4x4_SRGB_BLOCK_EXT: + return "VK_FORMAT_ASTC_4x4x4_SRGB_BLOCK_EXT"; + case VK_FORMAT_ASTC_4x4x4_SFLOAT_BLOCK_EXT: + return "VK_FORMAT_ASTC_4x4x4_SFLOAT_BLOCK_EXT"; + case VK_FORMAT_ASTC_5x4x4_UNORM_BLOCK_EXT: + return "VK_FORMAT_ASTC_5x4x4_UNORM_BLOCK_EXT"; + case VK_FORMAT_ASTC_5x4x4_SRGB_BLOCK_EXT: + return "VK_FORMAT_ASTC_5x4x4_SRGB_BLOCK_EXT"; + case VK_FORMAT_ASTC_5x4x4_SFLOAT_BLOCK_EXT: + return "VK_FORMAT_ASTC_5x4x4_SFLOAT_BLOCK_EXT"; + case VK_FORMAT_ASTC_5x5x4_UNORM_BLOCK_EXT: + return "VK_FORMAT_ASTC_5x5x4_UNORM_BLOCK_EXT"; + case VK_FORMAT_ASTC_5x5x4_SRGB_BLOCK_EXT: + return "VK_FORMAT_ASTC_5x5x4_SRGB_BLOCK_EXT"; + case VK_FORMAT_ASTC_5x5x4_SFLOAT_BLOCK_EXT: + return "VK_FORMAT_ASTC_5x5x4_SFLOAT_BLOCK_EXT"; + case VK_FORMAT_ASTC_5x5x5_UNORM_BLOCK_EXT: + return "VK_FORMAT_ASTC_5x5x5_UNORM_BLOCK_EXT"; + case VK_FORMAT_ASTC_5x5x5_SRGB_BLOCK_EXT: + return "VK_FORMAT_ASTC_5x5x5_SRGB_BLOCK_EXT"; + case VK_FORMAT_ASTC_5x5x5_SFLOAT_BLOCK_EXT: + return "VK_FORMAT_ASTC_5x5x5_SFLOAT_BLOCK_EXT"; + case VK_FORMAT_ASTC_6x5x5_UNORM_BLOCK_EXT: + return "VK_FORMAT_ASTC_6x5x5_UNORM_BLOCK_EXT"; + case VK_FORMAT_ASTC_6x5x5_SRGB_BLOCK_EXT: + return "VK_FORMAT_ASTC_6x5x5_SRGB_BLOCK_EXT"; + case VK_FORMAT_ASTC_6x5x5_SFLOAT_BLOCK_EXT: + return "VK_FORMAT_ASTC_6x5x5_SFLOAT_BLOCK_EXT"; + case VK_FORMAT_ASTC_6x6x5_UNORM_BLOCK_EXT: + return "VK_FORMAT_ASTC_6x6x5_UNORM_BLOCK_EXT"; + case VK_FORMAT_ASTC_6x6x5_SRGB_BLOCK_EXT: + return "VK_FORMAT_ASTC_6x6x5_SRGB_BLOCK_EXT"; + case VK_FORMAT_ASTC_6x6x5_SFLOAT_BLOCK_EXT: + return "VK_FORMAT_ASTC_6x6x5_SFLOAT_BLOCK_EXT"; + case VK_FORMAT_ASTC_6x6x6_UNORM_BLOCK_EXT: + return "VK_FORMAT_ASTC_6x6x6_UNORM_BLOCK_EXT"; + case VK_FORMAT_ASTC_6x6x6_SRGB_BLOCK_EXT: + return "VK_FORMAT_ASTC_6x6x6_SRGB_BLOCK_EXT"; + case VK_FORMAT_ASTC_6x6x6_SFLOAT_BLOCK_EXT: + return "VK_FORMAT_ASTC_6x6x6_SFLOAT_BLOCK_EXT"; case VK_FORMAT_R8_BOOL_ARM: return "VK_FORMAT_R8_BOOL_ARM"; case VK_FORMAT_R16G16_SFIXED5_NV: @@ -11194,33 +11254,6 @@ static inline std::string string_VkIndirectCommandsLayoutUsageFlagsEXT(VkIndirec return ret; } #endif // __cplusplus -#ifdef VK_USE_PLATFORM_OHOS -static inline const char* string_VkSwapchainImageUsageFlagBitsOHOS(VkSwapchainImageUsageFlagBitsOHOS input_value) { - switch (input_value) { - case VK_SWAPCHAIN_IMAGE_USAGE_SHARED_BIT_OHOS: - return "VK_SWAPCHAIN_IMAGE_USAGE_SHARED_BIT_OHOS"; - default: - return "Unhandled VkSwapchainImageUsageFlagBitsOHOS"; - } -} - -#ifdef __cplusplus -static inline std::string string_VkSwapchainImageUsageFlagsOHOS(VkSwapchainImageUsageFlagsOHOS input_value) { - std::string ret; - int index = 0; - while(input_value) { - if (input_value & 1) { - if( !ret.empty()) ret.append("|"); - ret.append(string_VkSwapchainImageUsageFlagBitsOHOS(static_cast(1U << index))); - } - ++index; - input_value >>= 1; - } - if (ret.empty()) ret.append("VkSwapchainImageUsageFlagsOHOS(0)"); - return ret; -} -#endif // __cplusplus -#endif // VK_USE_PLATFORM_OHOS static inline const char* string_VkAccelerationStructureCreateFlagBitsKHR(VkAccelerationStructureCreateFlagBitsKHR input_value) { switch (input_value) { case VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR: @@ -12741,6 +12774,8 @@ static inline const char* string_VkStructureName(VkStructureType input_value) { return "VkPhysicalDeviceCustomBorderColorPropertiesEXT"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT: return "VkPhysicalDeviceCustomBorderColorFeaturesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_3D_FEATURES_EXT: + return "VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV: return "VkPhysicalDevicePresentBarrierFeaturesNV"; case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_BARRIER_NV: @@ -13484,12 +13519,6 @@ static inline const char* string_VkStructureName(VkStructureType input_value) { #ifdef VK_USE_PLATFORM_OHOS case VK_STRUCTURE_TYPE_SURFACE_CREATE_INFO_OHOS: return "VkSurfaceCreateInfoOHOS"; - case VK_STRUCTURE_TYPE_NATIVE_BUFFER_OHOS: - return "VkNativeBufferOHOS"; - case VK_STRUCTURE_TYPE_SWAPCHAIN_IMAGE_CREATE_INFO_OHOS: - return "VkSwapchainImageCreateInfoOHOS"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENTATION_PROPERTIES_OHOS: - return "VkPhysicalDevicePresentationPropertiesOHOS"; #endif // VK_USE_PLATFORM_OHOS case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HDR_VIVID_FEATURES_HUAWEI: return "VkPhysicalDeviceHdrVividFeaturesHUAWEI"; @@ -13551,6 +13580,10 @@ static inline const char* string_VkStructureName(VkStructureType input_value) { return "VkDataGraphPipelineBuiltinModelCreateInfoQCOM"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DATA_GRAPH_MODEL_FEATURES_QCOM: return "VkPhysicalDeviceDataGraphModelFeaturesQCOM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_LONG_VECTOR_FEATURES_EXT: + return "VkPhysicalDeviceShaderLongVectorFeaturesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_LONG_VECTOR_PROPERTIES_EXT: + return "VkPhysicalDeviceShaderLongVectorPropertiesEXT"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CACHE_INCREMENTAL_MODE_FEATURES_SEC: return "VkPhysicalDevicePipelineCacheIncrementalModeFeaturesSEC"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_UNIFORM_BUFFER_UNSIZED_ARRAY_FEATURES_EXT: diff --git a/scripts/known_good.json b/scripts/known_good.json index 404b1e0..82fb385 100644 --- a/scripts/known_good.json +++ b/scripts/known_good.json @@ -7,7 +7,7 @@ "sub_dir": "Vulkan-Headers", "build_dir": "Vulkan-Headers/build", "install_dir": "Vulkan-Headers/build/install", - "commit": "v1.4.336" + "commit": "v1.4.337" }, { "name": "googletest", diff --git a/src/vulkan/vk_safe_struct_ext.cpp b/src/vulkan/vk_safe_struct_ext.cpp index 7fa0441..77e5bc4 100644 --- a/src/vulkan/vk_safe_struct_ext.cpp +++ b/src/vulkan/vk_safe_struct_ext.cpp @@ -7117,6 +7117,59 @@ void safe_VkPhysicalDeviceCustomBorderColorFeaturesEXT::initialize( customBorderColorWithoutFormat = copy_src->customBorderColorWithoutFormat; pNext = SafePnextCopy(copy_src->pNext); } + +safe_VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT::safe_VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT( + const VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), textureCompressionASTC_3D(in_struct->textureCompressionASTC_3D) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT::safe_VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_3D_FEATURES_EXT), + pNext(nullptr), + textureCompressionASTC_3D() {} + +safe_VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT::safe_VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT( + const safe_VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT& copy_src) { + sType = copy_src.sType; + textureCompressionASTC_3D = copy_src.textureCompressionASTC_3D; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT& safe_VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT::operator=( + const safe_VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + textureCompressionASTC_3D = copy_src.textureCompressionASTC_3D; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT::~safe_VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT::initialize( + const VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + textureCompressionASTC_3D = in_struct->textureCompressionASTC_3D; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT::initialize( + const safe_VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + textureCompressionASTC_3D = copy_src->textureCompressionASTC_3D; + pNext = SafePnextCopy(copy_src->pNext); +} #ifdef VK_USE_PLATFORM_METAL_EXT safe_VkExportMetalObjectCreateInfoEXT::safe_VkExportMetalObjectCreateInfoEXT(const VkExportMetalObjectCreateInfoEXT* in_struct, @@ -16577,6 +16630,102 @@ void safe_VkCustomResolveCreateInfoEXT::initialize(const safe_VkCustomResolveCre } } +safe_VkPhysicalDeviceShaderLongVectorFeaturesEXT::safe_VkPhysicalDeviceShaderLongVectorFeaturesEXT( + const VkPhysicalDeviceShaderLongVectorFeaturesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), longVector(in_struct->longVector) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceShaderLongVectorFeaturesEXT::safe_VkPhysicalDeviceShaderLongVectorFeaturesEXT() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_LONG_VECTOR_FEATURES_EXT), pNext(nullptr), longVector() {} + +safe_VkPhysicalDeviceShaderLongVectorFeaturesEXT::safe_VkPhysicalDeviceShaderLongVectorFeaturesEXT( + const safe_VkPhysicalDeviceShaderLongVectorFeaturesEXT& copy_src) { + sType = copy_src.sType; + longVector = copy_src.longVector; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceShaderLongVectorFeaturesEXT& safe_VkPhysicalDeviceShaderLongVectorFeaturesEXT::operator=( + const safe_VkPhysicalDeviceShaderLongVectorFeaturesEXT& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + longVector = copy_src.longVector; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceShaderLongVectorFeaturesEXT::~safe_VkPhysicalDeviceShaderLongVectorFeaturesEXT() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceShaderLongVectorFeaturesEXT::initialize(const VkPhysicalDeviceShaderLongVectorFeaturesEXT* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + longVector = in_struct->longVector; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceShaderLongVectorFeaturesEXT::initialize(const safe_VkPhysicalDeviceShaderLongVectorFeaturesEXT* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + longVector = copy_src->longVector; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceShaderLongVectorPropertiesEXT::safe_VkPhysicalDeviceShaderLongVectorPropertiesEXT( + const VkPhysicalDeviceShaderLongVectorPropertiesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), maxVectorComponents(in_struct->maxVectorComponents) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceShaderLongVectorPropertiesEXT::safe_VkPhysicalDeviceShaderLongVectorPropertiesEXT() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_LONG_VECTOR_PROPERTIES_EXT), pNext(nullptr), maxVectorComponents() {} + +safe_VkPhysicalDeviceShaderLongVectorPropertiesEXT::safe_VkPhysicalDeviceShaderLongVectorPropertiesEXT( + const safe_VkPhysicalDeviceShaderLongVectorPropertiesEXT& copy_src) { + sType = copy_src.sType; + maxVectorComponents = copy_src.maxVectorComponents; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceShaderLongVectorPropertiesEXT& safe_VkPhysicalDeviceShaderLongVectorPropertiesEXT::operator=( + const safe_VkPhysicalDeviceShaderLongVectorPropertiesEXT& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + maxVectorComponents = copy_src.maxVectorComponents; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceShaderLongVectorPropertiesEXT::~safe_VkPhysicalDeviceShaderLongVectorPropertiesEXT() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceShaderLongVectorPropertiesEXT::initialize(const VkPhysicalDeviceShaderLongVectorPropertiesEXT* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + maxVectorComponents = in_struct->maxVectorComponents; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceShaderLongVectorPropertiesEXT::initialize( + const safe_VkPhysicalDeviceShaderLongVectorPropertiesEXT* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + maxVectorComponents = copy_src->maxVectorComponents; + pNext = SafePnextCopy(copy_src->pNext); +} + safe_VkPhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT::safe_VkPhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT( const VkPhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) diff --git a/src/vulkan/vk_safe_struct_utils.cpp b/src/vulkan/vk_safe_struct_utils.cpp index 2258d10..784ab6f 100644 --- a/src/vulkan/vk_safe_struct_utils.cpp +++ b/src/vulkan/vk_safe_struct_utils.cpp @@ -1464,6 +1464,9 @@ void *SafePnextCopy(const void *pNext, PNextCopyState* copy_state) { case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT: safe_pNext = new safe_VkPhysicalDeviceCustomBorderColorFeaturesEXT(reinterpret_cast(pNext), copy_state, false); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_3D_FEATURES_EXT: + safe_pNext = new safe_VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT(reinterpret_cast(pNext), copy_state, false); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV: safe_pNext = new safe_VkPhysicalDevicePresentBarrierFeaturesNV(reinterpret_cast(pNext), copy_state, false); break; @@ -2227,17 +2230,6 @@ void *SafePnextCopy(const void *pNext, PNextCopyState* copy_state) { case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLAMP_CONTROL_CREATE_INFO_EXT: safe_pNext = new safe_VkPipelineViewportDepthClampControlCreateInfoEXT(reinterpret_cast(pNext), copy_state, false); break; -#ifdef VK_USE_PLATFORM_OHOS - case VK_STRUCTURE_TYPE_NATIVE_BUFFER_OHOS: - safe_pNext = new safe_VkNativeBufferOHOS(reinterpret_cast(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_SWAPCHAIN_IMAGE_CREATE_INFO_OHOS: - safe_pNext = new safe_VkSwapchainImageCreateInfoOHOS(reinterpret_cast(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENTATION_PROPERTIES_OHOS: - safe_pNext = new safe_VkPhysicalDevicePresentationPropertiesOHOS(reinterpret_cast(pNext), copy_state, false); - break; -#endif // VK_USE_PLATFORM_OHOS case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HDR_VIVID_FEATURES_HUAWEI: safe_pNext = new safe_VkPhysicalDeviceHdrVividFeaturesHUAWEI(reinterpret_cast(pNext), copy_state, false); break; @@ -2308,6 +2300,12 @@ void *SafePnextCopy(const void *pNext, PNextCopyState* copy_state) { case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DATA_GRAPH_MODEL_FEATURES_QCOM: safe_pNext = new safe_VkPhysicalDeviceDataGraphModelFeaturesQCOM(reinterpret_cast(pNext), copy_state, false); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_LONG_VECTOR_FEATURES_EXT: + safe_pNext = new safe_VkPhysicalDeviceShaderLongVectorFeaturesEXT(reinterpret_cast(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_LONG_VECTOR_PROPERTIES_EXT: + safe_pNext = new safe_VkPhysicalDeviceShaderLongVectorPropertiesEXT(reinterpret_cast(pNext), copy_state, false); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CACHE_INCREMENTAL_MODE_FEATURES_SEC: safe_pNext = new safe_VkPhysicalDevicePipelineCacheIncrementalModeFeaturesSEC(reinterpret_cast(pNext), copy_state, false); break; @@ -3797,6 +3795,9 @@ void FreePnextChain(const void *pNext) { case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT: delete reinterpret_cast(header); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_3D_FEATURES_EXT: + delete reinterpret_cast(header); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV: delete reinterpret_cast(header); break; @@ -4560,17 +4561,6 @@ void FreePnextChain(const void *pNext) { case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLAMP_CONTROL_CREATE_INFO_EXT: delete reinterpret_cast(header); break; -#ifdef VK_USE_PLATFORM_OHOS - case VK_STRUCTURE_TYPE_NATIVE_BUFFER_OHOS: - delete reinterpret_cast(header); - break; - case VK_STRUCTURE_TYPE_SWAPCHAIN_IMAGE_CREATE_INFO_OHOS: - delete reinterpret_cast(header); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENTATION_PROPERTIES_OHOS: - delete reinterpret_cast(header); - break; -#endif // VK_USE_PLATFORM_OHOS case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HDR_VIVID_FEATURES_HUAWEI: delete reinterpret_cast(header); break; @@ -4641,6 +4631,12 @@ void FreePnextChain(const void *pNext) { case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DATA_GRAPH_MODEL_FEATURES_QCOM: delete reinterpret_cast(header); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_LONG_VECTOR_FEATURES_EXT: + delete reinterpret_cast(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_LONG_VECTOR_PROPERTIES_EXT: + delete reinterpret_cast(header); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CACHE_INCREMENTAL_MODE_FEATURES_SEC: delete reinterpret_cast(header); break; diff --git a/src/vulkan/vk_safe_struct_vendor.cpp b/src/vulkan/vk_safe_struct_vendor.cpp index b08abc8..f8a8e40 100644 --- a/src/vulkan/vk_safe_struct_vendor.cpp +++ b/src/vulkan/vk_safe_struct_vendor.cpp @@ -21743,169 +21743,6 @@ void safe_VkSurfaceCreateInfoOHOS::initialize(const safe_VkSurfaceCreateInfoOHOS window = new OHNativeWindow(*copy_src->window); } } - -safe_VkNativeBufferOHOS::safe_VkNativeBufferOHOS(const VkNativeBufferOHOS* in_struct, [[maybe_unused]] PNextCopyState* copy_state, - bool copy_pnext) - : sType(in_struct->sType), handle(nullptr) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } - if (in_struct->handle) { - handle = new OHBufferHandle(*in_struct->handle); - } -} - -safe_VkNativeBufferOHOS::safe_VkNativeBufferOHOS() : sType(VK_STRUCTURE_TYPE_NATIVE_BUFFER_OHOS), pNext(nullptr), handle(nullptr) {} - -safe_VkNativeBufferOHOS::safe_VkNativeBufferOHOS(const safe_VkNativeBufferOHOS& copy_src) { - sType = copy_src.sType; - handle = nullptr; - pNext = SafePnextCopy(copy_src.pNext); - - if (copy_src.handle) { - handle = new OHBufferHandle(*copy_src.handle); - } -} - -safe_VkNativeBufferOHOS& safe_VkNativeBufferOHOS::operator=(const safe_VkNativeBufferOHOS& copy_src) { - if (©_src == this) return *this; - - if (handle) delete handle; - FreePnextChain(pNext); - - sType = copy_src.sType; - handle = nullptr; - pNext = SafePnextCopy(copy_src.pNext); - - if (copy_src.handle) { - handle = new OHBufferHandle(*copy_src.handle); - } - - return *this; -} - -safe_VkNativeBufferOHOS::~safe_VkNativeBufferOHOS() { - if (handle) delete handle; - FreePnextChain(pNext); -} - -void safe_VkNativeBufferOHOS::initialize(const VkNativeBufferOHOS* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { - if (handle) delete handle; - FreePnextChain(pNext); - sType = in_struct->sType; - handle = nullptr; - pNext = SafePnextCopy(in_struct->pNext, copy_state); - - if (in_struct->handle) { - handle = new OHBufferHandle(*in_struct->handle); - } -} - -void safe_VkNativeBufferOHOS::initialize(const safe_VkNativeBufferOHOS* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - handle = nullptr; - pNext = SafePnextCopy(copy_src->pNext); - - if (copy_src->handle) { - handle = new OHBufferHandle(*copy_src->handle); - } -} - -safe_VkSwapchainImageCreateInfoOHOS::safe_VkSwapchainImageCreateInfoOHOS(const VkSwapchainImageCreateInfoOHOS* in_struct, - [[maybe_unused]] PNextCopyState* copy_state, - bool copy_pnext) - : sType(in_struct->sType), usage(in_struct->usage) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkSwapchainImageCreateInfoOHOS::safe_VkSwapchainImageCreateInfoOHOS() - : sType(VK_STRUCTURE_TYPE_SWAPCHAIN_IMAGE_CREATE_INFO_OHOS), pNext(nullptr), usage() {} - -safe_VkSwapchainImageCreateInfoOHOS::safe_VkSwapchainImageCreateInfoOHOS(const safe_VkSwapchainImageCreateInfoOHOS& copy_src) { - sType = copy_src.sType; - usage = copy_src.usage; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkSwapchainImageCreateInfoOHOS& safe_VkSwapchainImageCreateInfoOHOS::operator=( - const safe_VkSwapchainImageCreateInfoOHOS& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - usage = copy_src.usage; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkSwapchainImageCreateInfoOHOS::~safe_VkSwapchainImageCreateInfoOHOS() { FreePnextChain(pNext); } - -void safe_VkSwapchainImageCreateInfoOHOS::initialize(const VkSwapchainImageCreateInfoOHOS* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - usage = in_struct->usage; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkSwapchainImageCreateInfoOHOS::initialize(const safe_VkSwapchainImageCreateInfoOHOS* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - usage = copy_src->usage; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkPhysicalDevicePresentationPropertiesOHOS::safe_VkPhysicalDevicePresentationPropertiesOHOS( - const VkPhysicalDevicePresentationPropertiesOHOS* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), sharedImage(in_struct->sharedImage) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPhysicalDevicePresentationPropertiesOHOS::safe_VkPhysicalDevicePresentationPropertiesOHOS() - : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENTATION_PROPERTIES_OHOS), pNext(nullptr), sharedImage() {} - -safe_VkPhysicalDevicePresentationPropertiesOHOS::safe_VkPhysicalDevicePresentationPropertiesOHOS( - const safe_VkPhysicalDevicePresentationPropertiesOHOS& copy_src) { - sType = copy_src.sType; - sharedImage = copy_src.sharedImage; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPhysicalDevicePresentationPropertiesOHOS& safe_VkPhysicalDevicePresentationPropertiesOHOS::operator=( - const safe_VkPhysicalDevicePresentationPropertiesOHOS& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - sharedImage = copy_src.sharedImage; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPhysicalDevicePresentationPropertiesOHOS::~safe_VkPhysicalDevicePresentationPropertiesOHOS() { FreePnextChain(pNext); } - -void safe_VkPhysicalDevicePresentationPropertiesOHOS::initialize(const VkPhysicalDevicePresentationPropertiesOHOS* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - sharedImage = in_struct->sharedImage; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPhysicalDevicePresentationPropertiesOHOS::initialize(const safe_VkPhysicalDevicePresentationPropertiesOHOS* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - sharedImage = copy_src->sharedImage; - pNext = SafePnextCopy(copy_src->pNext); -} #endif // VK_USE_PLATFORM_OHOS safe_VkPhysicalDeviceHdrVividFeaturesHUAWEI::safe_VkPhysicalDeviceHdrVividFeaturesHUAWEI(