Update Vulkan Headers
authorAlexander Galazin <alexander.galazin@arm.com>
Tue, 13 Apr 2021 09:55:34 +0000 (12:55 +0300)
committerAlexander Galazin <Alexander.Galazin@arm.com>
Wed, 14 Apr 2021 09:13:27 +0000 (09:13 +0000)
Components: Vulkan

Change-Id: I489a247c5d32a19dd48768654ab1ef76cce3687c

26 files changed:
external/vulkancts/framework/vulkan/vkBasicTypes.inl
external/vulkancts/framework/vulkan/vkConcreteDeviceInterface.inl
external/vulkancts/framework/vulkan/vkDefs.hpp
external/vulkancts/framework/vulkan/vkDeviceDriverImpl.inl
external/vulkancts/framework/vulkan/vkDeviceFeatures.inl
external/vulkancts/framework/vulkan/vkDeviceFeaturesForContextDecl.inl
external/vulkancts/framework/vulkan/vkDeviceFeaturesForContextDefs.inl
external/vulkancts/framework/vulkan/vkDeviceFeaturesForDefaultDeviceDefs.inl
external/vulkancts/framework/vulkan/vkDeviceFunctionPointers.inl
external/vulkancts/framework/vulkan/vkExtensionFunctions.inl
external/vulkancts/framework/vulkan/vkFunctionPointerTypes.inl
external/vulkancts/framework/vulkan/vkGetStructureTypeImpl.inl
external/vulkancts/framework/vulkan/vkInitDeviceFunctionPointers.inl
external/vulkancts/framework/vulkan/vkKnownDriverIds.inl
external/vulkancts/framework/vulkan/vkNullDriverImpl.inl
external/vulkancts/framework/vulkan/vkPrograms.cpp
external/vulkancts/framework/vulkan/vkStrUtil.inl
external/vulkancts/framework/vulkan/vkStrUtilImpl.inl
external/vulkancts/framework/vulkan/vkStructTypes.inl
external/vulkancts/framework/vulkan/vkVirtualDeviceInterface.inl
external/vulkancts/framework/vulkan/vkVulkan_c.inl
external/vulkancts/modules/vulkan/api/vktApiDriverPropertiesTests.cpp
external/vulkancts/modules/vulkan/vktTestCase.cpp
external/vulkancts/scripts/gen_framework_c.py
external/vulkancts/scripts/src/vulkan_core.h
framework/common/tcuTestHierarchyUtil.cpp

index d3668d6..5b5ddfe 100644 (file)
@@ -1,19 +1,19 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  */
-#define VK_API_VERSION_1_0                                     (static_cast<deUint32>                  (VK_MAKE_VERSION(1, 0, 0)))
-#define VK_API_VERSION_1_1                                     (static_cast<deUint32>                  (VK_MAKE_VERSION(1, 1, 0)))
-#define VK_API_VERSION_1_2                                     (static_cast<deUint32>                  (VK_MAKE_VERSION(1, 2, 0)))
-#define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE       (static_cast<size_t>                    (256))
-#define VK_MAX_EXTENSION_NAME_SIZE                     (static_cast<size_t>                    (256))
-#define VK_MAX_DRIVER_NAME_SIZE                                (static_cast<size_t>                    (256))
-#define VK_MAX_DRIVER_INFO_SIZE                                (static_cast<size_t>                    (256))
-#define VK_UUID_SIZE                                           (static_cast<size_t>                    (16))
-#define VK_LUID_SIZE                                           (static_cast<size_t>                    (8))
-#define VK_MAX_MEMORY_TYPES                                    (static_cast<size_t>                    (32))
-#define VK_MAX_MEMORY_HEAPS                                    (static_cast<size_t>                    (16))
-#define VK_MAX_DESCRIPTION_SIZE                                (static_cast<size_t>                    (256))
-#define VK_MAX_DEVICE_GROUP_SIZE                       (static_cast<size_t>                    (32))
+#define VK_API_VERSION_1_0                                     (static_cast<deUint32>                  (VK_MAKE_API_VERSION(0, 1, 0, 0)))
+#define VK_API_VERSION_1_1                                     (static_cast<deUint32>                  (VK_MAKE_API_VERSION(0, 1, 1, 0)))
+#define VK_API_VERSION_1_2                                     (static_cast<deUint32>                  (VK_MAKE_API_VERSION(0, 1, 2, 0)))
+#define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE       (static_cast<size_t>                    (256U))
+#define VK_MAX_EXTENSION_NAME_SIZE                     (static_cast<size_t>                    (256U))
+#define VK_MAX_DRIVER_NAME_SIZE                                (static_cast<size_t>                    (256U))
+#define VK_MAX_DRIVER_INFO_SIZE                                (static_cast<size_t>                    (256U))
+#define VK_UUID_SIZE                                           (static_cast<size_t>                    (16U))
+#define VK_LUID_SIZE                                           (static_cast<size_t>                    (8U))
+#define VK_MAX_MEMORY_TYPES                                    (static_cast<size_t>                    (32U))
+#define VK_MAX_MEMORY_HEAPS                                    (static_cast<size_t>                    (16U))
+#define VK_MAX_DESCRIPTION_SIZE                                (static_cast<size_t>                    (256U))
+#define VK_MAX_DEVICE_GROUP_SIZE                       (static_cast<size_t>                    (32U))
 #define VK_ATTACHMENT_UNUSED                           (static_cast<deUint32>                  ((~0U)))
 #define VK_SUBPASS_EXTERNAL                                    (static_cast<deUint32>                  ((~0U)))
 #define VK_QUEUE_FAMILY_IGNORED                                (static_cast<deUint32>                  ((~0U)))
@@ -21,8 +21,8 @@
 #define VK_REMAINING_MIP_LEVELS                                (static_cast<deUint32>                  ((~0U)))
 #define VK_REMAINING_ARRAY_LAYERS                      (static_cast<deUint32>                  ((~0U)))
 #define VK_WHOLE_SIZE                                          (static_cast<vk::VkDeviceSize>  ((~0ULL)))
-#define VK_TRUE                                                                (static_cast<vk::VkBool32>              (1))
-#define VK_FALSE                                                       (static_cast<vk::VkBool32>              (0))
+#define VK_TRUE                                                                (static_cast<vk::VkBool32>              (1U))
+#define VK_FALSE                                                       (static_cast<vk::VkBool32>              (0U))
 #define VK_API_MAX_FRAMEWORK_VERSION           VK_API_VERSION_1_2
 
 VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkBuffer,                                                      HANDLE_TYPE_BUFFER);
@@ -304,6 +304,25 @@ enum VkStructureType
        VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT                                                                     = 1000022000,
        VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT                                                                      = 1000022001,
        VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT                                                                          = 1000022002,
+       VK_STRUCTURE_TYPE_VIDEO_PROFILE_KHR                                                                                                     = 1000023000,
+       VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR                                                                                        = 1000023001,
+       VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_KHR                                                                            = 1000023002,
+       VK_STRUCTURE_TYPE_VIDEO_GET_MEMORY_PROPERTIES_KHR                                                                       = 1000023003,
+       VK_STRUCTURE_TYPE_VIDEO_BIND_MEMORY_KHR                                                                                         = 1000023004,
+       VK_STRUCTURE_TYPE_VIDEO_SESSION_CREATE_INFO_KHR                                                                         = 1000023005,
+       VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR                                                      = 1000023006,
+       VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR                                                      = 1000023007,
+       VK_STRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHR                                                                           = 1000023008,
+       VK_STRUCTURE_TYPE_VIDEO_END_CODING_INFO_KHR                                                                                     = 1000023009,
+       VK_STRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHR                                                                         = 1000023010,
+       VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_KHR                                                                                      = 1000023011,
+       VK_STRUCTURE_TYPE_VIDEO_QUEUE_FAMILY_PROPERTIES_2_KHR                                                           = 1000023012,
+       VK_STRUCTURE_TYPE_VIDEO_PROFILES_KHR                                                                                            = 1000023013,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR                                                         = 1000023014,
+       VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR                                                                           = 1000023015,
+       VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR                                                                                         = 1000024000,
+       VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR                                                                                         = 1000299000,
+       VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR                                                            = 1000299001,
        VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV                                                     = 1000026000,
        VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV                                            = 1000026001,
        VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV                                          = 1000026002,
@@ -312,6 +331,23 @@ enum VkStructureType
        VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT                           = 1000028002,
        VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX                                                                            = 1000030000,
        VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX                                                                     = 1000030001,
+       VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT                                                            = 1000038000,
+       VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_EXT                                                     = 1000038001,
+       VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT                          = 1000038002,
+       VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT                                     = 1000038003,
+       VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT                                                          = 1000038004,
+       VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT                                                           = 1000038005,
+       VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_EXT                                                                      = 1000038006,
+       VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_EXT                                         = 1000038007,
+       VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_EXT                                                                         = 1000038008,
+       VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_EXT                                                            = 1000040000,
+       VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_CREATE_INFO_EXT                                                     = 1000040001,
+       VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_EXT                                                            = 1000040002,
+       VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_MVC_EXT                                                                                     = 1000040003,
+       VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_EXT                                                                         = 1000040004,
+       VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT                          = 1000040005,
+       VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT                                     = 1000040006,
+       VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT                                                           = 1000040007,
        VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD                                                      = 1000041000,
        VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP                                                     = 1000049000,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV                                      = 1000050000,
@@ -467,6 +503,13 @@ enum VkStructureType
        VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD                                                     = 1000183000,
        VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT                                                                         = 1000184000,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD                                            = 1000185000,
+       VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_EXT                                                            = 1000187000,
+       VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_CREATE_INFO_EXT                                                     = 1000187001,
+       VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT                          = 1000187002,
+       VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT                                     = 1000187003,
+       VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_EXT                                                                         = 1000187004,
+       VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_EXT                                                            = 1000187005,
+       VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_EXT                                                           = 1000187006,
        VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD                                          = 1000189000,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT                       = 1000190000,
        VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT                           = 1000190001,
@@ -551,6 +594,8 @@ enum VkStructureType
        VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV                                                                            = 1000277005,
        VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV                                        = 1000277006,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV                         = 1000277007,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV                        = 1000278000,
+       VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV                           = 1000278001,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT                           = 1000281000,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT                         = 1000281001,
        VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM            = 1000282000,
@@ -584,6 +629,7 @@ enum VkStructureType
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV                     = 1000326000,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV                       = 1000326001,
        VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV                      = 1000326002,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT                        = 1000330000,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT                           = 1000332000,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT                         = 1000332001,
        VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM                                                                      = 1000333000,
@@ -604,12 +650,17 @@ enum VkStructureType
        VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT                                                                      = 1000346000,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE                        = 1000351000,
        VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE                                                     = 1000351002,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT                       = 1000352000,
+       VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT                                                        = 1000352001,
+       VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT                                                      = 1000352002,
        VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA                                                      = 1000364000,
        VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA                                                       = 1000364001,
        VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA                                                         = 1000364002,
        VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA                                           = 1000365000,
        VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA                                                      = 1000365001,
        VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX                                                                        = 1000378000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT                                       = 1000381000,
+       VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT                                                          = 1000381001,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES                                                     = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES                                        = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
        VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT                                                                          = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
@@ -745,6 +796,12 @@ enum VkImageLayout
        VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL                                              = 1000241002,
        VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL                                               = 1000241003,
        VK_IMAGE_LAYOUT_PRESENT_SRC_KHR                                                                 = 1000001002,
+       VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR                                                    = 1000024000,
+       VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR                                                    = 1000024001,
+       VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR                                                    = 1000024002,
+       VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR                                                    = 1000299000,
+       VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR                                                    = 1000299001,
+       VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR                                                    = 1000299002,
        VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR                                                              = 1000111000,
        VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV                                                 = 1000164003,
        VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT                                = 1000218000,
@@ -795,6 +852,8 @@ enum VkObjectType
        VK_OBJECT_TYPE_DISPLAY_KHR                                              = 1000002000,
        VK_OBJECT_TYPE_DISPLAY_MODE_KHR                                 = 1000002001,
        VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT                = 1000011000,
+       VK_OBJECT_TYPE_VIDEO_SESSION_KHR                                = 1000023000,
+       VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR             = 1000023001,
        VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT                = 1000128000,
        VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR               = 1000150000,
        VK_OBJECT_TYPE_VALIDATION_CACHE_EXT                             = 1000160000,
@@ -1086,6 +1145,10 @@ enum VkFormat
        VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT                                           = 1000066011,
        VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT                                           = 1000066012,
        VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT                                           = 1000066013,
+       VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT                                          = 1000330000,
+       VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT         = 1000330001,
+       VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT         = 1000330002,
+       VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT                                       = 1000330003,
        VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT                                                     = 1000340000,
        VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT                                                     = 1000340001,
        VK_FORMAT_G8B8G8R8_422_UNORM_KHR                                                        = VK_FORMAT_G8B8G8R8_422_UNORM,
@@ -1158,6 +1221,8 @@ enum VkQueryType
        VK_QUERY_TYPE_OCCLUSION                                                                         = 0,
        VK_QUERY_TYPE_PIPELINE_STATISTICS                                                       = 1,
        VK_QUERY_TYPE_TIMESTAMP                                                                         = 2,
+       VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR                                            = 1000023000,
+       VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR           = 1000299000,
        VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT                                     = 1000028004,
        VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR                                                     = 1000116000,
        VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR         = 1000150000,
@@ -1328,6 +1393,8 @@ enum VkDynamicState
        VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT                   = 1000267009,
        VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT                                = 1000267010,
        VK_DYNAMIC_STATE_STENCIL_OP_EXT                                                 = 1000267011,
+       VK_DYNAMIC_STATE_VERTEX_INPUT_EXT                                               = 1000352000,
+       VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT                                 = 1000381000,
        VK_DYNAMIC_STATE_MAX_ENUM                                                               = 0x7FFFFFFF,
 };
 
@@ -1604,6 +1671,7 @@ enum VkDriverId
        VK_DRIVER_ID_BROADCOM_PROPRIETARY                       = 12,
        VK_DRIVER_ID_MESA_LLVMPIPE                                      = 13,
        VK_DRIVER_ID_MOLTENVK                                           = 14,
+       VK_DRIVER_ID_COREAVI_PROPRIETARY                        = 15,
        VK_DRIVER_ID_AMD_PROPRIETARY_KHR                        = VK_DRIVER_ID_AMD_PROPRIETARY,
        VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR                        = VK_DRIVER_ID_AMD_OPEN_SOURCE,
        VK_DRIVER_ID_MESA_RADV_KHR                                      = VK_DRIVER_ID_MESA_RADV,
@@ -2325,6 +2393,10 @@ enum VkFormatFeatureFlagBits
        VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT                                                                                                            = 0x00800000,
        VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT                                                                                                       = 0x00010000,
        VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG                                                                                            = 0x00002000,
+       VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR                                                                                                           = 0x02000000,
+       VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR                                                                                                                      = 0x04000000,
+       VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR                                                                                                            = 0x08000000,
+       VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR                                                                                                                      = 0x10000000,
        VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR                                                                          = 0x20000000,
        VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT                                                                                                          = 0x01000000,
        VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR                                                                                      = 0x40000000,
@@ -2393,6 +2465,12 @@ enum VkImageUsageFlagBits
        VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT                             = 0x00000020,
        VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT                                 = 0x00000040,
        VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT                                             = 0x00000080,
+       VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR                                 = 0x00000400,
+       VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR                                 = 0x00000800,
+       VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR                                 = 0x00001000,
+       VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR                                 = 0x00002000,
+       VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR                                 = 0x00004000,
+       VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR                                 = 0x00008000,
        VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV                                = 0x00000100,
        VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT                             = 0x00000200,
        VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV,
@@ -2425,12 +2503,14 @@ typedef deUint32 VkMemoryPropertyFlags;
 
 enum VkQueueFlagBits
 {
-       VK_QUEUE_GRAPHICS_BIT           = 0x00000001,
-       VK_QUEUE_COMPUTE_BIT            = 0x00000002,
-       VK_QUEUE_TRANSFER_BIT           = 0x00000004,
-       VK_QUEUE_SPARSE_BINDING_BIT     = 0x00000008,
-       VK_QUEUE_PROTECTED_BIT          = 0x00000010,
-       VK_QUEUE_FLAG_BITS_MAX_ENUM     = 0x7FFFFFFF,
+       VK_QUEUE_GRAPHICS_BIT                   = 0x00000001,
+       VK_QUEUE_COMPUTE_BIT                    = 0x00000002,
+       VK_QUEUE_TRANSFER_BIT                   = 0x00000004,
+       VK_QUEUE_SPARSE_BINDING_BIT             = 0x00000008,
+       VK_QUEUE_PROTECTED_BIT                  = 0x00000010,
+       VK_QUEUE_VIDEO_DECODE_BIT_KHR   = 0x00000020,
+       VK_QUEUE_VIDEO_ENCODE_BIT_KHR   = 0x00000040,
+       VK_QUEUE_FLAG_BITS_MAX_ENUM             = 0x7FFFFFFF,
 };
 typedef deUint32 VkQueueFlags;
 
@@ -2530,6 +2610,7 @@ enum VkQueryResultFlagBits
        VK_QUERY_RESULT_WAIT_BIT                                = 0x00000002,
        VK_QUERY_RESULT_WITH_AVAILABILITY_BIT   = 0x00000004,
        VK_QUERY_RESULT_PARTIAL_BIT                             = 0x00000008,
+       VK_QUERY_RESULT_WITH_STATUS_BIT_KHR             = 0x00000010,
        VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM              = 0x7FFFFFFF,
 };
 typedef deUint32 VkQueryResultFlags;
@@ -2559,6 +2640,10 @@ enum VkBufferUsageFlagBits
        VK_BUFFER_USAGE_VERTEX_BUFFER_BIT                                                                               = 0x00000080,
        VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT                                                                             = 0x00000100,
        VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT                                                               = 0x00020000,
+       VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR                                                                = 0x00002000,
+       VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR                                                                = 0x00004000,
+       VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR                                                                = 0x00008000,
+       VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR                                                                = 0x00010000,
        VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT                                               = 0x00000800,
        VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT                               = 0x00001000,
        VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT                                                   = 0x00000200,
@@ -3388,6 +3473,8 @@ static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR
 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR                                               = 0x1000000000ULL;
 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR                            = 0x2000000000ULL;
 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR                 = 0x4000000000ULL;
+static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR                                              = 0x04000000ULL;
+static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR                                              = 0x08000000ULL;
 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT                                        = 0x01000000ULL;
 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT                             = 0x00040000ULL;
 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV                                 = 0x00020000ULL;
@@ -3425,6 +3512,10 @@ static const VkAccessFlagBits2KHR VK_ACCESS_2_MEMORY_WRITE_BIT_KHR                                                       = 0x000
 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR                                      = 0x100000000ULL;
 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR                                      = 0x200000000ULL;
 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR                                     = 0x400000000ULL;
+static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR                                                = 0x800000000ULL;
+static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR                                       = 0x1000000000ULL;
+static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR                                                = 0x2000000000ULL;
+static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR                                       = 0x4000000000ULL;
 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT                         = 0x02000000ULL;
 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT          = 0x04000000ULL;
 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT         = 0x08000000ULL;
@@ -3487,7 +3578,7 @@ VK_DEFINE_PLATFORM_TYPE(CAMetalLayer,                             void*);
 #define VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION 2
 #define VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION 1
 #define VK_KHR_16BIT_STORAGE_SPEC_VERSION 1
-#define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 1
+#define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 2
 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION 1
 #define VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION 1
 #define VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME "VK_KHR_create_renderpass2"
@@ -3655,8 +3746,9 @@ VK_DEFINE_PLATFORM_TYPE(CAMetalLayer,                             void*);
 #define VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION 1
 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION 1
 #define VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION 3
+#define VK_NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION 1
 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION 1
-#define VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION 1
+#define VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION 2
 #define VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION 2
 #define VK_EXT_ROBUSTNESS_2_SPEC_VERSION 1
 #define VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION 12
@@ -3666,12 +3758,15 @@ VK_DEFINE_PLATFORM_TYPE(CAMetalLayer,                           void*);
 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION 1
 #define VK_QCOM_render_pass_store_ops_EXTENSION_NAME "VK_QCOM_render_pass_store_ops"
 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION 1
+#define VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION 1
 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION 1
 #define VK_QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION 0
 #define VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION 1
 #define VK_EXT_4444_FORMATS_SPEC_VERSION 1
 #define VK_NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION 1
 #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION 1
+#define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION 2
+#define VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION 1
 #define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 11
 #define VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION 1
 #define VK_KHR_RAY_QUERY_SPEC_VERSION 1
index 5ed33e2..5f420c4 100644 (file)
@@ -295,6 +295,8 @@ virtual void                                destroyPrivateDataSlotEXT                                               (VkDevice device, VkPrivateDataSl
 virtual VkResult                       setPrivateDataEXT                                                               (VkDevice device, VkObjectType objectType, deUint64 objectHandle, VkPrivateDataSlotEXT privateDataSlot, deUint64 data) const;
 virtual void                           getPrivateDataEXT                                                               (VkDevice device, VkObjectType objectType, deUint64 objectHandle, VkPrivateDataSlotEXT privateDataSlot, deUint64* pData) const;
 virtual void                           cmdSetFragmentShadingRateEnumNV                                 (VkCommandBuffer commandBuffer, VkFragmentShadingRateNV shadingRate, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]) const;
+virtual void                           cmdSetVertexInputEXT                                                    (VkCommandBuffer commandBuffer, deUint32 vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, deUint32 vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions) const;
+virtual void                           cmdSetColorWriteEnableEXT                                               (VkCommandBuffer commandBuffer, deUint32 attachmentCount, const VkBool32* pColorWriteEnables) const;
 virtual VkResult                       createAccelerationStructureKHR                                  (VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure) const;
 virtual void                           destroyAccelerationStructureKHR                                 (VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator) const;
 virtual void                           cmdBuildAccelerationStructuresKHR                               (VkCommandBuffer commandBuffer, deUint32 infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos) const;
index abd131c..22dd256 100644 (file)
@@ -49,12 +49,15 @@ struct NAME {                                                                                       \
 };                                                                                                             \
 } // pt
 
-#define VK_MAKE_VERSION(MAJOR, MINOR, PATCH)   (((deUint32)(MAJOR) << 22u) | ((deUint32)(MINOR) << 12u) | (deUint32)(PATCH))
+#define VK_MAKE_API_VERSION(VARIANT, MAJOR, MINOR, PATCH)      \
+                                                                                               ((((deUint32)(VARIANT)) << 29) | (((deUint32)(MAJOR)) << 22) | (((deUint32)(MINOR)) << 12) | ((deUint32)(PATCH)))
+#define VK_MAKE_VERSION(MAJOR, MINOR, PATCH)   VK_MAKE_API_VERSION(0, MAJOR, MINOR, PATCH)
 #define VK_BIT(NUM)                                                            (1u<<(deUint32)(NUM))
 
-#define VK_VERSION_MAJOR(version)                              ((deUint32)(version) >> 22)
-#define VK_VERSION_MINOR(version)                              (((deUint32)(version) >> 12) & 0x3ff)
-#define VK_VERSION_PATCH(version)                              ((deUint32)(version) & 0xfff)
+#define VK_API_VERSION_VARIANT(version)                        ((deUint32)(version) >> 29)
+#define VK_API_VERSION_MAJOR(version)                  (((deUint32)(version) >> 22) & 0x7FU)
+#define VK_API_VERSION_MINOR(version)                  (((deUint32)(version) >> 12) & 0x3FFU)
+#define VK_API_VERSION_PATCH(version)                  ((deUint32)(version) & 0xFFFU)
 
 #define VK_CHECK(EXPR)                                                 vk::checkResult((EXPR), #EXPR, __FILE__, __LINE__)
 #define VK_CHECK_MSG(EXPR, MSG)                                        vk::checkResult((EXPR), MSG, __FILE__, __LINE__)
index 340a4b6..4ec6f39 100644 (file)
@@ -1472,6 +1472,16 @@ void DeviceDriver::cmdSetFragmentShadingRateEnumNV (VkCommandBuffer commandBuffe
        m_vk.cmdSetFragmentShadingRateEnumNV(commandBuffer, shadingRate, combinerOps);
 }
 
+void DeviceDriver::cmdSetVertexInputEXT (VkCommandBuffer commandBuffer, deUint32 vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, deUint32 vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions) const
+{
+       m_vk.cmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions);
+}
+
+void DeviceDriver::cmdSetColorWriteEnableEXT (VkCommandBuffer commandBuffer, deUint32 attachmentCount, const VkBool32* pColorWriteEnables) const
+{
+       m_vk.cmdSetColorWriteEnableEXT(commandBuffer, attachmentCount, pColorWriteEnables);
+}
+
 VkResult DeviceDriver::createAccelerationStructureKHR (VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure) const
 {
        return m_vk.createAccelerationStructureKHR(device, pCreateInfo, pAllocator, pAccelerationStructure);
index 3973ec7..b3c93f1 100644 (file)
@@ -14,6 +14,7 @@ namespace vk
 #define VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_KHR_buffer_device_address"
 #define VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_EXT_buffer_device_address"
 #define DECL_AMD_COHERENT_MEMORY_EXTENSION_NAME "not_existent_feature"
+#define VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME "VK_EXT_color_write_enable"
 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME "VK_NV_compute_shader_derivatives"
 #define VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME "VK_EXT_conditional_rendering"
 #define VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_NV_cooperative_matrix"
@@ -38,6 +39,7 @@ namespace vk
 #define VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME "VK_KHR_imageless_framebuffer"
 #define VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_image_robustness"
 #define VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_EXT_index_type_uint8"
+#define VK_NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME "VK_NV_inherited_viewport_scissor"
 #define VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME "VK_EXT_inline_uniform_block"
 #define VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME "VK_EXT_line_rasterization"
 #define VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME "VK_EXT_memory_priority"
@@ -79,8 +81,10 @@ namespace vk
 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME "VK_KHR_uniform_buffer_standard_layout"
 #define VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME "VK_KHR_variable_pointers"
 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_EXT_vertex_attribute_divisor"
+#define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_vertex_input_dynamic_state"
 #define VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME "VK_KHR_vulkan_memory_model"
 #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME "VK_KHR_workgroup_memory_explicit_layout"
+#define DECL_EXT_YCBCR_2_PLANE_444_FORMATS_EXTENSION_NAME "not_existent_feature"
 #define VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME "VK_EXT_ycbcr_image_arrays"
 #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME "VK_KHR_zero_initialize_workgroup_memory"
 
@@ -239,6 +243,7 @@ template<> void initFeatureFromBlob<VkPhysicalDeviceIndexTypeUint8FeaturesEXT>(V
 template<> void initFeatureFromBlob<VkPhysicalDeviceExtendedDynamicStateFeaturesEXT>(VkPhysicalDeviceExtendedDynamicStateFeaturesEXT&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT>(VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV>(VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV&, const AllFeaturesBlobs&) {}
+template<> void initFeatureFromBlob<VkPhysicalDeviceInheritedViewportScissorFeaturesNV>(VkPhysicalDeviceInheritedViewportScissorFeaturesNV&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT>(VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceDeviceMemoryReportFeaturesEXT>(VkPhysicalDeviceDeviceMemoryReportFeaturesEXT&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceRobustness2FeaturesEXT>(VkPhysicalDeviceRobustness2FeaturesEXT&, const AllFeaturesBlobs&) {}
@@ -247,92 +252,99 @@ template<> void initFeatureFromBlob<VkPhysicalDevicePrivateDataFeaturesEXT>(VkPh
 template<> void initFeatureFromBlob<VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT>(VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceDiagnosticsConfigFeaturesNV>(VkPhysicalDeviceDiagnosticsConfigFeaturesNV&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV>(VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV&, const AllFeaturesBlobs&) {}
+template<> void initFeatureFromBlob<VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT>(VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceFragmentDensityMap2FeaturesEXT>(VkPhysicalDeviceFragmentDensityMap2FeaturesEXT&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceImageRobustnessFeaturesEXT>(VkPhysicalDeviceImageRobustnessFeaturesEXT&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDevice4444FormatsFeaturesEXT>(VkPhysicalDevice4444FormatsFeaturesEXT&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE>(VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE&, const AllFeaturesBlobs&) {}
+template<> void initFeatureFromBlob<VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT>(VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT&, const AllFeaturesBlobs&) {}
+template<> void initFeatureFromBlob<VkPhysicalDeviceColorWriteEnableFeaturesEXT>(VkPhysicalDeviceColorWriteEnableFeaturesEXT&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceAccelerationStructureFeaturesKHR>(VkPhysicalDeviceAccelerationStructureFeaturesKHR&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceRayTracingPipelineFeaturesKHR>(VkPhysicalDeviceRayTracingPipelineFeaturesKHR&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceRayQueryFeaturesKHR>(VkPhysicalDeviceRayQueryFeaturesKHR&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDevicePortabilitySubsetFeaturesKHR>(VkPhysicalDevicePortabilitySubsetFeaturesKHR&, const AllFeaturesBlobs&) {}
 
 
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevice16BitStorageFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES, VK_KHR_16BIT_STORAGE_EXTENSION_NAME, VK_KHR_16BIT_STORAGE_SPEC_VERSION, 78}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevice4444FormatsFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT, VK_EXT_4444_FORMATS_EXTENSION_NAME, VK_EXT_4444_FORMATS_SPEC_VERSION, 77}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevice8BitStorageFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES, VK_KHR_8BIT_STORAGE_EXTENSION_NAME, VK_KHR_8BIT_STORAGE_SPEC_VERSION, 76}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceAccelerationStructureFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR, VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME, VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION, 75}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceASTCDecodeFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT, VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME, VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION, 74}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT, VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME, VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION, 73}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceBufferDeviceAddressFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES, VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME, VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION, 72}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceBufferDeviceAddressFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT, VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME, VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION, 71}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCoherentMemoryFeaturesAMD>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD, DECL_AMD_COHERENT_MEMORY_EXTENSION_NAME, 0, 70}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceComputeShaderDerivativesFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV, VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME, VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION, 69}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceConditionalRenderingFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT, VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME, VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION, 68}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCooperativeMatrixFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV, VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME, VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION, 67}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCornerSampledImageFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV, VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME, VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION, 66}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCoverageReductionModeFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV, VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME, VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION, 65}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCustomBorderColorFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT, VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME, VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION, 64}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV, VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME, VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION, 63}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDepthClipEnableFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT, VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME, VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION, 62}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDescriptorIndexingFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES, VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME, VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION, 61}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV, VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME, VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION, 60}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDeviceMemoryReportFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT, VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME, VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION, 59}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDiagnosticsConfigFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV, DECL_NV_DIAGNOSTICS_CONFIG_EXTENSION_NAME, 0, 58}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceExclusiveScissorFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV, VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME, VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION, 57}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceExtendedDynamicStateFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT, VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME, VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION, 56}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentDensityMapFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT, VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION, 55}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentDensityMap2FeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT, VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION, 54}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV, VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME, VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION, 53}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT, VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME, VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION, 52}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentShadingRateFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR, VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME, VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION, 51}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION, 50}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceHostQueryResetFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES, VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME, VK_EXT_HOST_QUERY_RESET_SPEC_VERSION, 49}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceImagelessFramebufferFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES, VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME, VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION, 48}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceImageRobustnessFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT, VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME, VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION, 47}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceIndexTypeUint8FeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT, VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME, VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION, 46}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceInlineUniformBlockFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT, VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME, VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION, 45}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceLineRasterizationFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT, VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME, VK_EXT_LINE_RASTERIZATION_SPEC_VERSION, 44}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMemoryPriorityFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT, VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME, VK_EXT_MEMORY_PRIORITY_SPEC_VERSION, 43}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMeshShaderFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV, VK_NV_MESH_SHADER_EXTENSION_NAME, VK_NV_MESH_SHADER_SPEC_VERSION, 42}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMultiviewFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES, VK_KHR_MULTIVIEW_EXTENSION_NAME, VK_KHR_MULTIVIEW_SPEC_VERSION, 41}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE, VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME, VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION, 40}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePerformanceQueryFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR, VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME, VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION, 39}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT, VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME, VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION, 38}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR, VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME, VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION, 37}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePortabilitySubsetFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR, VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME, VK_KHR_PORTABILITY_SUBSET_SPEC_VERSION, 36}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePrivateDataFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT, VK_EXT_PRIVATE_DATA_EXTENSION_NAME, VK_EXT_PRIVATE_DATA_SPEC_VERSION, 35}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceProtectedMemoryFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES, DECL_PROTECTED_MEMORY_EXTENSION_NAME, 0, 34}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceRayQueryFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR, VK_KHR_RAY_QUERY_EXTENSION_NAME, VK_KHR_RAY_QUERY_SPEC_VERSION, 33}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceRayTracingPipelineFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR, VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME, VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION, 32}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV, VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME, VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION, 31}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceRobustness2FeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT, VK_EXT_ROBUSTNESS_2_EXTENSION_NAME, VK_EXT_ROBUSTNESS_2_SPEC_VERSION, 30}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceSamplerYcbcrConversionFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES, VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME, VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION, 29}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceScalarBlockLayoutFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES, VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME, VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION, 28}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES, VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME, VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION, 27}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderAtomicFloatFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT, VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME, VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION, 26}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderAtomicInt64Features>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES, VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME, VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION, 25}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderClockFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR, VK_KHR_SHADER_CLOCK_EXTENSION_NAME, VK_KHR_SHADER_CLOCK_SPEC_VERSION, 24}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT, VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME, VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION, 23}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderDrawParametersFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES, VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME, VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION, 22}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderFloat16Int8Features>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES, VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME, VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION, 21}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT, VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME, VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION, 20}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderImageFootprintFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV, VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME, VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION, 19}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL, VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME, VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION, 18}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderSMBuiltinsFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV, VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME, VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION, 17}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES, VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME, VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION, 16}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR, VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME, VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION, 15}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShadingRateImageFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV, VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME, VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION, 14}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceSubgroupSizeControlFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT, VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME, VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION, 13}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceSynchronization2FeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR, VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME, VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION, 12}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT, VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME, VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION, 11}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT, VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME, VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION, 10}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceTimelineSemaphoreFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES, VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME, VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION, 9}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceTransformFeedbackFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT, VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME, VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION, 8}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceUniformBufferStandardLayoutFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES, VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME, VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION, 7}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceVariablePointersFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES, VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME, VK_KHR_VARIABLE_POINTERS_SPEC_VERSION, 6}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT, VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME, VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION, 5}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceVulkanMemoryModelFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES, VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME, VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION, 4}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR, VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME, VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION, 3}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevice16BitStorageFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES, VK_KHR_16BIT_STORAGE_EXTENSION_NAME, VK_KHR_16BIT_STORAGE_SPEC_VERSION, 82}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevice4444FormatsFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT, VK_EXT_4444_FORMATS_EXTENSION_NAME, VK_EXT_4444_FORMATS_SPEC_VERSION, 81}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevice8BitStorageFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES, VK_KHR_8BIT_STORAGE_EXTENSION_NAME, VK_KHR_8BIT_STORAGE_SPEC_VERSION, 80}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceAccelerationStructureFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR, VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME, VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION, 79}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceASTCDecodeFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT, VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME, VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION, 78}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT, VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME, VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION, 77}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceBufferDeviceAddressFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES, VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME, VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION, 76}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceBufferDeviceAddressFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT, VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME, VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION, 75}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCoherentMemoryFeaturesAMD>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD, DECL_AMD_COHERENT_MEMORY_EXTENSION_NAME, 0, 74}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceColorWriteEnableFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT, VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME, VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION, 73}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceComputeShaderDerivativesFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV, VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME, VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION, 72}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceConditionalRenderingFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT, VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME, VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION, 71}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCooperativeMatrixFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV, VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME, VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION, 70}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCornerSampledImageFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV, VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME, VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION, 69}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCoverageReductionModeFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV, VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME, VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION, 68}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCustomBorderColorFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT, VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME, VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION, 67}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV, VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME, VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION, 66}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDepthClipEnableFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT, VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME, VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION, 65}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDescriptorIndexingFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES, VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME, VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION, 64}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV, VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME, VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION, 63}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDeviceMemoryReportFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT, VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME, VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION, 62}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDiagnosticsConfigFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV, DECL_NV_DIAGNOSTICS_CONFIG_EXTENSION_NAME, 0, 61}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceExclusiveScissorFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV, VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME, VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION, 60}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceExtendedDynamicStateFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT, VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME, VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION, 59}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentDensityMapFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT, VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION, 58}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentDensityMap2FeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT, VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION, 57}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV, VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME, VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION, 56}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT, VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME, VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION, 55}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentShadingRateFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR, VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME, VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION, 54}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION, 53}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceHostQueryResetFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES, VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME, VK_EXT_HOST_QUERY_RESET_SPEC_VERSION, 52}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceImagelessFramebufferFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES, VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME, VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION, 51}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceImageRobustnessFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT, VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME, VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION, 50}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceIndexTypeUint8FeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT, VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME, VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION, 49}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceInheritedViewportScissorFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV, VK_NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME, VK_NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION, 48}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceInlineUniformBlockFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT, VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME, VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION, 47}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceLineRasterizationFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT, VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME, VK_EXT_LINE_RASTERIZATION_SPEC_VERSION, 46}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMemoryPriorityFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT, VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME, VK_EXT_MEMORY_PRIORITY_SPEC_VERSION, 45}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMeshShaderFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV, VK_NV_MESH_SHADER_EXTENSION_NAME, VK_NV_MESH_SHADER_SPEC_VERSION, 44}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMultiviewFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES, VK_KHR_MULTIVIEW_EXTENSION_NAME, VK_KHR_MULTIVIEW_SPEC_VERSION, 43}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE, VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME, VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION, 42}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePerformanceQueryFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR, VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME, VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION, 41}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT, VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME, VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION, 40}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR, VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME, VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION, 39}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePortabilitySubsetFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR, VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME, VK_KHR_PORTABILITY_SUBSET_SPEC_VERSION, 38}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePrivateDataFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT, VK_EXT_PRIVATE_DATA_EXTENSION_NAME, VK_EXT_PRIVATE_DATA_SPEC_VERSION, 37}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceProtectedMemoryFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES, DECL_PROTECTED_MEMORY_EXTENSION_NAME, 0, 36}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceRayQueryFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR, VK_KHR_RAY_QUERY_EXTENSION_NAME, VK_KHR_RAY_QUERY_SPEC_VERSION, 35}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceRayTracingPipelineFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR, VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME, VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION, 34}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV, VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME, VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION, 33}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceRobustness2FeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT, VK_EXT_ROBUSTNESS_2_EXTENSION_NAME, VK_EXT_ROBUSTNESS_2_SPEC_VERSION, 32}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceSamplerYcbcrConversionFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES, VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME, VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION, 31}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceScalarBlockLayoutFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES, VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME, VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION, 30}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES, VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME, VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION, 29}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderAtomicFloatFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT, VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME, VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION, 28}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderAtomicInt64Features>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES, VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME, VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION, 27}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderClockFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR, VK_KHR_SHADER_CLOCK_EXTENSION_NAME, VK_KHR_SHADER_CLOCK_SPEC_VERSION, 26}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT, VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME, VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION, 25}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderDrawParametersFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES, VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME, VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION, 24}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderFloat16Int8Features>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES, VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME, VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION, 23}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT, VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME, VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION, 22}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderImageFootprintFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV, VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME, VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION, 21}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL, VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME, VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION, 20}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderSMBuiltinsFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV, VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME, VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION, 19}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES, VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME, VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION, 18}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR, VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME, VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION, 17}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShadingRateImageFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV, VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME, VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION, 16}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceSubgroupSizeControlFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT, VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME, VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION, 15}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceSynchronization2FeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR, VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME, VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION, 14}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT, VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME, VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION, 13}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT, VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME, VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION, 12}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceTimelineSemaphoreFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES, VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME, VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION, 11}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceTransformFeedbackFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT, VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME, VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION, 10}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceUniformBufferStandardLayoutFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES, VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME, VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION, 9}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceVariablePointersFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES, VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME, VK_KHR_VARIABLE_POINTERS_SPEC_VERSION, 8}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT, VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME, VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION, 7}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT, VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME, VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION, 6}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceVulkanMemoryModelFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES, VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME, VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION, 5}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR, VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME, VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION, 4}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT, DECL_EXT_YCBCR_2_PLANE_444_FORMATS_EXTENSION_NAME, 0, 3}; }
 template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceYcbcrImageArraysFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT, VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME, VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION, 2}; }
 template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR, VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME, VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION, 1}; }
 
@@ -348,6 +360,7 @@ static const FeatureStructCreationData featureStructCreationArray[] =
        { createFeatureStructWrapper<VkPhysicalDeviceBufferDeviceAddressFeatures>, VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME, VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceBufferDeviceAddressFeaturesEXT>, VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME, VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceCoherentMemoryFeaturesAMD>, DECL_AMD_COHERENT_MEMORY_EXTENSION_NAME, 0 },
+       { createFeatureStructWrapper<VkPhysicalDeviceColorWriteEnableFeaturesEXT>, VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME, VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceComputeShaderDerivativesFeaturesNV>, VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME, VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceConditionalRenderingFeaturesEXT>, VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME, VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceCooperativeMatrixFeaturesNV>, VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME, VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION },
@@ -372,6 +385,7 @@ static const FeatureStructCreationData featureStructCreationArray[] =
        { createFeatureStructWrapper<VkPhysicalDeviceImagelessFramebufferFeatures>, VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME, VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceImageRobustnessFeaturesEXT>, VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME, VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceIndexTypeUint8FeaturesEXT>, VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME, VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION },
+       { createFeatureStructWrapper<VkPhysicalDeviceInheritedViewportScissorFeaturesNV>, VK_NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME, VK_NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceInlineUniformBlockFeaturesEXT>, VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME, VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceLineRasterizationFeaturesEXT>, VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME, VK_EXT_LINE_RASTERIZATION_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceMemoryPriorityFeaturesEXT>, VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME, VK_EXT_MEMORY_PRIORITY_SPEC_VERSION },
@@ -413,8 +427,10 @@ static const FeatureStructCreationData featureStructCreationArray[] =
        { createFeatureStructWrapper<VkPhysicalDeviceUniformBufferStandardLayoutFeatures>, VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME, VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceVariablePointersFeatures>, VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME, VK_KHR_VARIABLE_POINTERS_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT>, VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME, VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION },
+       { createFeatureStructWrapper<VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT>, VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME, VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceVulkanMemoryModelFeatures>, VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME, VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR>, VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME, VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION },
+       { createFeatureStructWrapper<VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT>, DECL_EXT_YCBCR_2_PLANE_444_FORMATS_EXTENSION_NAME, 0 },
        { createFeatureStructWrapper<VkPhysicalDeviceYcbcrImageArraysFeaturesEXT>, VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME, VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR>, VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME, VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION },
 };
index d8492ba..ef98a52 100644 (file)
@@ -10,6 +10,7 @@ const vk::VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT&                  getBlendOperation
 const vk::VkPhysicalDeviceBufferDeviceAddressFeatures&                                 getBufferDeviceAddressFeatures                                  (void) const;
 const vk::VkPhysicalDeviceBufferDeviceAddressFeaturesEXT&                              getBufferDeviceAddressFeaturesEXT                               (void) const;
 const vk::VkPhysicalDeviceCoherentMemoryFeaturesAMD&                                   getCoherentMemoryFeaturesAMD                                    (void) const;
+const vk::VkPhysicalDeviceColorWriteEnableFeaturesEXT&                                 getColorWriteEnableFeaturesEXT                                  (void) const;
 const vk::VkPhysicalDeviceComputeShaderDerivativesFeaturesNV&                  getComputeShaderDerivativesFeatures                             (void) const;
 const vk::VkPhysicalDeviceConditionalRenderingFeaturesEXT&                             getConditionalRenderingFeaturesEXT                              (void) const;
 const vk::VkPhysicalDeviceCooperativeMatrixFeaturesNV&                                 getCooperativeMatrixFeatures                                    (void) const;
@@ -34,6 +35,7 @@ const vk::VkPhysicalDeviceHostQueryResetFeatures&                                             getHostQueryResetFeatures
 const vk::VkPhysicalDeviceImagelessFramebufferFeatures&                                        getImagelessFramebufferFeatures                                 (void) const;
 const vk::VkPhysicalDeviceImageRobustnessFeaturesEXT&                                  getImageRobustnessFeaturesEXT                                   (void) const;
 const vk::VkPhysicalDeviceIndexTypeUint8FeaturesEXT&                                   getIndexTypeUint8FeaturesEXT                                    (void) const;
+const vk::VkPhysicalDeviceInheritedViewportScissorFeaturesNV&                  getInheritedViewportScissorFeatures                             (void) const;
 const vk::VkPhysicalDeviceInlineUniformBlockFeaturesEXT&                               getInlineUniformBlockFeaturesEXT                                (void) const;
 const vk::VkPhysicalDeviceLineRasterizationFeaturesEXT&                                        getLineRasterizationFeaturesEXT                                 (void) const;
 const vk::VkPhysicalDeviceMemoryPriorityFeaturesEXT&                                   getMemoryPriorityFeaturesEXT                                    (void) const;
@@ -75,7 +77,9 @@ const vk::VkPhysicalDeviceTransformFeedbackFeaturesEXT&                                       getTransformFeedback
 const vk::VkPhysicalDeviceUniformBufferStandardLayoutFeatures&                 getUniformBufferStandardLayoutFeatures                  (void) const;
 const vk::VkPhysicalDeviceVariablePointersFeatures&                                            getVariablePointersFeatures                                             (void) const;
 const vk::VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT&                   getVertexAttributeDivisorFeaturesEXT                    (void) const;
+const vk::VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT&                  getVertexInputDynamicStateFeaturesEXT                   (void) const;
 const vk::VkPhysicalDeviceVulkanMemoryModelFeatures&                                   getVulkanMemoryModelFeatures                                    (void) const;
 const vk::VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR&            getWorkgroupMemoryExplicitLayoutFeatures                (void) const;
+const vk::VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT&                            getYcbcr2Plane444FormatsFeaturesEXT                             (void) const;
 const vk::VkPhysicalDeviceYcbcrImageArraysFeaturesEXT&                                 getYcbcrImageArraysFeaturesEXT                                  (void) const;
 const vk::VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR&            getZeroInitializeWorkgroupMemoryFeatures                (void) const;
index fe49ef6..c0e5895 100644 (file)
@@ -10,6 +10,7 @@ const vk::VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT&                  Context::getBlend
 const vk::VkPhysicalDeviceBufferDeviceAddressFeatures&                                 Context::getBufferDeviceAddressFeatures                                 (void) const { return m_device->getBufferDeviceAddressFeatures();                               }
 const vk::VkPhysicalDeviceBufferDeviceAddressFeaturesEXT&                              Context::getBufferDeviceAddressFeaturesEXT                              (void) const { return m_device->getBufferDeviceAddressFeaturesEXT();                    }
 const vk::VkPhysicalDeviceCoherentMemoryFeaturesAMD&                                   Context::getCoherentMemoryFeaturesAMD                                   (void) const { return m_device->getCoherentMemoryFeaturesAMD();                                 }
+const vk::VkPhysicalDeviceColorWriteEnableFeaturesEXT&                                 Context::getColorWriteEnableFeaturesEXT                                 (void) const { return m_device->getColorWriteEnableFeaturesEXT();                               }
 const vk::VkPhysicalDeviceComputeShaderDerivativesFeaturesNV&                  Context::getComputeShaderDerivativesFeatures                    (void) const { return m_device->getComputeShaderDerivativesFeatures();                  }
 const vk::VkPhysicalDeviceConditionalRenderingFeaturesEXT&                             Context::getConditionalRenderingFeaturesEXT                             (void) const { return m_device->getConditionalRenderingFeaturesEXT();                   }
 const vk::VkPhysicalDeviceCooperativeMatrixFeaturesNV&                                 Context::getCooperativeMatrixFeatures                                   (void) const { return m_device->getCooperativeMatrixFeatures();                                 }
@@ -34,6 +35,7 @@ const vk::VkPhysicalDeviceHostQueryResetFeatures&                                             Context::getHostQueryRese
 const vk::VkPhysicalDeviceImagelessFramebufferFeatures&                                        Context::getImagelessFramebufferFeatures                                (void) const { return m_device->getImagelessFramebufferFeatures();                              }
 const vk::VkPhysicalDeviceImageRobustnessFeaturesEXT&                                  Context::getImageRobustnessFeaturesEXT                                  (void) const { return m_device->getImageRobustnessFeaturesEXT();                                }
 const vk::VkPhysicalDeviceIndexTypeUint8FeaturesEXT&                                   Context::getIndexTypeUint8FeaturesEXT                                   (void) const { return m_device->getIndexTypeUint8FeaturesEXT();                                 }
+const vk::VkPhysicalDeviceInheritedViewportScissorFeaturesNV&                  Context::getInheritedViewportScissorFeatures                    (void) const { return m_device->getInheritedViewportScissorFeatures();                  }
 const vk::VkPhysicalDeviceInlineUniformBlockFeaturesEXT&                               Context::getInlineUniformBlockFeaturesEXT                               (void) const { return m_device->getInlineUniformBlockFeaturesEXT();                             }
 const vk::VkPhysicalDeviceLineRasterizationFeaturesEXT&                                        Context::getLineRasterizationFeaturesEXT                                (void) const { return m_device->getLineRasterizationFeaturesEXT();                              }
 const vk::VkPhysicalDeviceMemoryPriorityFeaturesEXT&                                   Context::getMemoryPriorityFeaturesEXT                                   (void) const { return m_device->getMemoryPriorityFeaturesEXT();                                 }
@@ -75,7 +77,9 @@ const vk::VkPhysicalDeviceTransformFeedbackFeaturesEXT&                                       Context::getTransfor
 const vk::VkPhysicalDeviceUniformBufferStandardLayoutFeatures&                 Context::getUniformBufferStandardLayoutFeatures                 (void) const { return m_device->getUniformBufferStandardLayoutFeatures();               }
 const vk::VkPhysicalDeviceVariablePointersFeatures&                                            Context::getVariablePointersFeatures                                    (void) const { return m_device->getVariablePointersFeatures();                                  }
 const vk::VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT&                   Context::getVertexAttributeDivisorFeaturesEXT                   (void) const { return m_device->getVertexAttributeDivisorFeaturesEXT();                 }
+const vk::VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT&                  Context::getVertexInputDynamicStateFeaturesEXT                  (void) const { return m_device->getVertexInputDynamicStateFeaturesEXT();                }
 const vk::VkPhysicalDeviceVulkanMemoryModelFeatures&                                   Context::getVulkanMemoryModelFeatures                                   (void) const { return m_device->getVulkanMemoryModelFeatures();                                 }
 const vk::VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR&            Context::getWorkgroupMemoryExplicitLayoutFeatures               (void) const { return m_device->getWorkgroupMemoryExplicitLayoutFeatures();             }
+const vk::VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT&                            Context::getYcbcr2Plane444FormatsFeaturesEXT                    (void) const { return m_device->getYcbcr2Plane444FormatsFeaturesEXT();                  }
 const vk::VkPhysicalDeviceYcbcrImageArraysFeaturesEXT&                                 Context::getYcbcrImageArraysFeaturesEXT                                 (void) const { return m_device->getYcbcrImageArraysFeaturesEXT();                               }
 const vk::VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR&            Context::getZeroInitializeWorkgroupMemoryFeatures               (void) const { return m_device->getZeroInitializeWorkgroupMemoryFeatures();             }
index f544c32..5bba9e3 100644 (file)
@@ -10,6 +10,7 @@ const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT&                      getBlendOperationAdva
 const VkPhysicalDeviceBufferDeviceAddressFeatures&                                     getBufferDeviceAddressFeatures                                  (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceBufferDeviceAddressFeatures>();                                   }
 const VkPhysicalDeviceBufferDeviceAddressFeaturesEXT&                          getBufferDeviceAddressFeaturesEXT                               (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceBufferDeviceAddressFeaturesEXT>();                                }
 const VkPhysicalDeviceCoherentMemoryFeaturesAMD&                                       getCoherentMemoryFeaturesAMD                                    (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceCoherentMemoryFeaturesAMD>();                                             }
+const VkPhysicalDeviceColorWriteEnableFeaturesEXT&                                     getColorWriteEnableFeaturesEXT                                  (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceColorWriteEnableFeaturesEXT>();                                   }
 const VkPhysicalDeviceComputeShaderDerivativesFeaturesNV&                      getComputeShaderDerivativesFeatures                             (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceComputeShaderDerivativesFeaturesNV>();                    }
 const VkPhysicalDeviceConditionalRenderingFeaturesEXT&                         getConditionalRenderingFeaturesEXT                              (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceConditionalRenderingFeaturesEXT>();                               }
 const VkPhysicalDeviceCooperativeMatrixFeaturesNV&                                     getCooperativeMatrixFeatures                                    (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceCooperativeMatrixFeaturesNV>();                                   }
@@ -34,6 +35,7 @@ const VkPhysicalDeviceHostQueryResetFeatures&                                         getHostQueryResetFeatures
 const VkPhysicalDeviceImagelessFramebufferFeatures&                                    getImagelessFramebufferFeatures                                 (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceImagelessFramebufferFeatures>();                                  }
 const VkPhysicalDeviceImageRobustnessFeaturesEXT&                                      getImageRobustnessFeaturesEXT                                   (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceImageRobustnessFeaturesEXT>();                                    }
 const VkPhysicalDeviceIndexTypeUint8FeaturesEXT&                                       getIndexTypeUint8FeaturesEXT                                    (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceIndexTypeUint8FeaturesEXT>();                                             }
+const VkPhysicalDeviceInheritedViewportScissorFeaturesNV&                      getInheritedViewportScissorFeatures                             (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceInheritedViewportScissorFeaturesNV>();                    }
 const VkPhysicalDeviceInlineUniformBlockFeaturesEXT&                           getInlineUniformBlockFeaturesEXT                                (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceInlineUniformBlockFeaturesEXT>();                                 }
 const VkPhysicalDeviceLineRasterizationFeaturesEXT&                                    getLineRasterizationFeaturesEXT                                 (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceLineRasterizationFeaturesEXT>();                                  }
 const VkPhysicalDeviceMemoryPriorityFeaturesEXT&                                       getMemoryPriorityFeaturesEXT                                    (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceMemoryPriorityFeaturesEXT>();                                             }
@@ -75,7 +77,9 @@ const VkPhysicalDeviceTransformFeedbackFeaturesEXT&                                   getTransformFeedbackFeat
 const VkPhysicalDeviceUniformBufferStandardLayoutFeatures&                     getUniformBufferStandardLayoutFeatures                  (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceUniformBufferStandardLayoutFeatures>();                   }
 const VkPhysicalDeviceVariablePointersFeatures&                                                getVariablePointersFeatures                                             (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceVariablePointersFeatures>();                                              }
 const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT&                       getVertexAttributeDivisorFeaturesEXT                    (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT>();                             }
+const VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT&                      getVertexInputDynamicStateFeaturesEXT                   (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT>();                    }
 const VkPhysicalDeviceVulkanMemoryModelFeatures&                                       getVulkanMemoryModelFeatures                                    (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceVulkanMemoryModelFeatures>();                                             }
 const VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR&                getWorkgroupMemoryExplicitLayoutFeatures                (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR>();              }
+const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT&                                getYcbcr2Plane444FormatsFeaturesEXT                             (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT>();                              }
 const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT&                                     getYcbcrImageArraysFeaturesEXT                                  (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceYcbcrImageArraysFeaturesEXT>();                                   }
 const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR&                getZeroInitializeWorkgroupMemoryFeatures                (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR>();              }
index ab0e970..2492a5f 100644 (file)
@@ -295,6 +295,8 @@ DestroyPrivateDataSlotEXTFunc                                               destroyPrivateDataSlotEXT;
 SetPrivateDataEXTFunc                                                          setPrivateDataEXT;
 GetPrivateDataEXTFunc                                                          getPrivateDataEXT;
 CmdSetFragmentShadingRateEnumNVFunc                                    cmdSetFragmentShadingRateEnumNV;
+CmdSetVertexInputEXTFunc                                                       cmdSetVertexInputEXT;
+CmdSetColorWriteEnableEXTFunc                                          cmdSetColorWriteEnableEXT;
 CreateAccelerationStructureKHRFunc                                     createAccelerationStructureKHR;
 DestroyAccelerationStructureKHRFunc                                    destroyAccelerationStructureKHR;
 CmdBuildAccelerationStructuresKHRFunc                          cmdBuildAccelerationStructuresKHR;
index 99328bf..8f2ceda 100644 (file)
@@ -785,6 +785,10 @@ void getInstanceExtensionFunctions (deUint32 apiVersion, ::std::string extName,
        {
                return;
        }
+       if (extName == "VK_NV_inherited_viewport_scissor")
+       {
+               return;
+       }
        if (extName == "VK_EXT_texel_buffer_alignment")
        {
                return;
@@ -825,6 +829,10 @@ void getInstanceExtensionFunctions (deUint32 apiVersion, ::std::string extName,
        {
                return;
        }
+       if (extName == "VK_EXT_ycbcr_2plane_444_formats")
+       {
+               return;
+       }
        if (extName == "VK_EXT_fragment_density_map2")
        {
                return;
@@ -851,6 +859,14 @@ void getInstanceExtensionFunctions (deUint32 apiVersion, ::std::string extName,
        {
                return;
        }
+       if (extName == "VK_EXT_vertex_input_dynamic_state")
+       {
+               return;
+       }
+       if (extName == "VK_EXT_color_write_enable")
+       {
+               return;
+       }
        if (extName == "VK_KHR_acceleration_structure")
        {
                return;
@@ -1881,6 +1897,10 @@ void getDeviceExtensionFunctions (deUint32 apiVersion, ::std::string extName, ::
                functions.push_back("vkDestroyIndirectCommandsLayoutNV");
                return;
        }
+       if (extName == "VK_NV_inherited_viewport_scissor")
+       {
+               return;
+       }
        if (extName == "VK_EXT_texel_buffer_alignment")
        {
                return;
@@ -1926,6 +1946,10 @@ void getDeviceExtensionFunctions (deUint32 apiVersion, ::std::string extName, ::
                functions.push_back("vkCmdSetFragmentShadingRateEnumNV");
                return;
        }
+       if (extName == "VK_EXT_ycbcr_2plane_444_formats")
+       {
+               return;
+       }
        if (extName == "VK_EXT_fragment_density_map2")
        {
                return;
@@ -1950,6 +1974,16 @@ void getDeviceExtensionFunctions (deUint32 apiVersion, ::std::string extName, ::
        {
                return;
        }
+       if (extName == "VK_EXT_vertex_input_dynamic_state")
+       {
+               functions.push_back("vkCmdSetVertexInputEXT");
+               return;
+       }
+       if (extName == "VK_EXT_color_write_enable")
+       {
+               functions.push_back("vkCmdSetColorWriteEnableEXT");
+               return;
+       }
        if (extName == "VK_KHR_acceleration_structure")
        {
                functions.push_back("vkCreateAccelerationStructureKHR");
@@ -2192,6 +2226,8 @@ void getDeviceExtensionFunctions (deUint32 apiVersion, ::std::string extName, ::
        "VK_NV_device_generated_commands",
        "VK_EXT_private_data",
        "VK_NV_fragment_shading_rate_enums",
+       "VK_EXT_vertex_input_dynamic_state",
+       "VK_EXT_color_write_enable",
        "VK_KHR_acceleration_structure",
        "VK_KHR_ray_tracing_pipeline",
        "VK_ANDROID_external_memory_android_hardware_buffer",
index b23be1a..fcdf1b0 100644 (file)
@@ -401,6 +401,8 @@ typedef VKAPI_ATTR void                                     (VKAPI_CALL* GetPrivateDataEXTFunc)                                                                                                     (VkD
 typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdSetFragmentShadingRateEnumNVFunc)                                                                       (VkCommandBuffer commandBuffer, VkFragmentShadingRateNV shadingRate, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
 typedef VKAPI_ATTR VkResult                            (VKAPI_CALL* AcquireWinrtDisplayNVFunc)                                                                                         (VkPhysicalDevice physicalDevice, VkDisplayKHR display);
 typedef VKAPI_ATTR VkResult                            (VKAPI_CALL* GetWinrtDisplayNVFunc)                                                                                                     (VkPhysicalDevice physicalDevice, deUint32 deviceRelativeId, VkDisplayKHR* pDisplay);
+typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdSetVertexInputEXTFunc)                                                                                          (VkCommandBuffer commandBuffer, deUint32 vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, deUint32 vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions);
+typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdSetColorWriteEnableEXTFunc)                                                                                     (VkCommandBuffer commandBuffer, deUint32 attachmentCount, const VkBool32* pColorWriteEnables);
 typedef VKAPI_ATTR VkResult                            (VKAPI_CALL* CreateAccelerationStructureKHRFunc)                                                                        (VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure);
 typedef VKAPI_ATTR void                                        (VKAPI_CALL* DestroyAccelerationStructureKHRFunc)                                                                       (VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator);
 typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdBuildAccelerationStructuresKHRFunc)                                                                     (VkCommandBuffer commandBuffer, deUint32 infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
index 2edb6d4..8847138 100644 (file)
@@ -1976,6 +1976,16 @@ template<> VkStructureType getStructureType<VkGeneratedCommandsMemoryRequirement
        return VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV;
 }
 
+template<> VkStructureType getStructureType<VkPhysicalDeviceInheritedViewportScissorFeaturesNV> (void)
+{
+       return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV;
+}
+
+template<> VkStructureType getStructureType<VkCommandBufferInheritanceViewportScissorInfoNV> (void)
+{
+       return VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV;
+}
+
 template<> VkStructureType getStructureType<VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT> (void)
 {
        return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT;
@@ -2081,6 +2091,11 @@ template<> VkStructureType getStructureType<VkPipelineFragmentShadingRateEnumSta
        return VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV;
 }
 
+template<> VkStructureType getStructureType<VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT> (void)
+{
+       return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT;
+}
+
 template<> VkStructureType getStructureType<VkPhysicalDeviceFragmentDensityMap2FeaturesEXT> (void)
 {
        return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT;
@@ -2116,6 +2131,31 @@ template<> VkStructureType getStructureType<VkMutableDescriptorTypeCreateInfoVAL
        return VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE;
 }
 
+template<> VkStructureType getStructureType<VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT> (void)
+{
+       return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT;
+}
+
+template<> VkStructureType getStructureType<VkVertexInputBindingDescription2EXT> (void)
+{
+       return VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT;
+}
+
+template<> VkStructureType getStructureType<VkVertexInputAttributeDescription2EXT> (void)
+{
+       return VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT;
+}
+
+template<> VkStructureType getStructureType<VkPhysicalDeviceColorWriteEnableFeaturesEXT> (void)
+{
+       return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT;
+}
+
+template<> VkStructureType getStructureType<VkPipelineColorWriteCreateInfoEXT> (void)
+{
+       return VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT;
+}
+
 template<> VkStructureType getStructureType<VkAccelerationStructureGeometryTrianglesDataKHR> (void)
 {
        return VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR;
index 64c1e82..c9c31b9 100644 (file)
@@ -351,6 +351,8 @@ m_vk.destroyPrivateDataSlotEXT                                                      = (DestroyPrivateDataSlotEXTFunc)                                               GET_
 m_vk.setPrivateDataEXT                                                                 = (SetPrivateDataEXTFunc)                                                               GET_PROC_ADDR("vkSetPrivateDataEXT");
 m_vk.getPrivateDataEXT                                                                 = (GetPrivateDataEXTFunc)                                                               GET_PROC_ADDR("vkGetPrivateDataEXT");
 m_vk.cmdSetFragmentShadingRateEnumNV                                   = (CmdSetFragmentShadingRateEnumNVFunc)                                 GET_PROC_ADDR("vkCmdSetFragmentShadingRateEnumNV");
+m_vk.cmdSetVertexInputEXT                                                              = (CmdSetVertexInputEXTFunc)                                                    GET_PROC_ADDR("vkCmdSetVertexInputEXT");
+m_vk.cmdSetColorWriteEnableEXT                                                 = (CmdSetColorWriteEnableEXTFunc)                                               GET_PROC_ADDR("vkCmdSetColorWriteEnableEXT");
 m_vk.createAccelerationStructureKHR                                            = (CreateAccelerationStructureKHRFunc)                                  GET_PROC_ADDR("vkCreateAccelerationStructureKHR");
 m_vk.destroyAccelerationStructureKHR                                   = (DestroyAccelerationStructureKHRFunc)                                 GET_PROC_ADDR("vkDestroyAccelerationStructureKHR");
 m_vk.cmdBuildAccelerationStructuresKHR                                 = (CmdBuildAccelerationStructuresKHRFunc)                               GET_PROC_ADDR("vkCmdBuildAccelerationStructuresKHR");
index 8864702..6ba473f 100644 (file)
@@ -21,6 +21,7 @@ static const struct
        {"VK_DRIVER_ID_BROADCOM_PROPRIETARY", 12},
        {"VK_DRIVER_ID_MESA_LLVMPIPE", 13},
        {"VK_DRIVER_ID_MOLTENVK", 14},
+       {"VK_DRIVER_ID_COREAVI_PROPRIETARY", 15},
        {"VK_DRIVER_ID_AMD_PROPRIETARY_KHR", 1},        // VK_DRIVER_ID_AMD_PROPRIETARY
        {"VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR", 2},        // VK_DRIVER_ID_AMD_OPEN_SOURCE
        {"VK_DRIVER_ID_MESA_RADV_KHR", 3},      // VK_DRIVER_ID_MESA_RADV
index f994a7e..e3c2234 100644 (file)
@@ -2627,6 +2627,22 @@ VKAPI_ATTR VkResult VKAPI_CALL getWinrtDisplayNV (VkPhysicalDevice physicalDevic
        return VK_SUCCESS;
 }
 
+VKAPI_ATTR void VKAPI_CALL cmdSetVertexInputEXT (VkCommandBuffer commandBuffer, deUint32 vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, deUint32 vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions)
+{
+       DE_UNREF(commandBuffer);
+       DE_UNREF(vertexBindingDescriptionCount);
+       DE_UNREF(pVertexBindingDescriptions);
+       DE_UNREF(vertexAttributeDescriptionCount);
+       DE_UNREF(pVertexAttributeDescriptions);
+}
+
+VKAPI_ATTR void VKAPI_CALL cmdSetColorWriteEnableEXT (VkCommandBuffer commandBuffer, deUint32 attachmentCount, const VkBool32* pColorWriteEnables)
+{
+       DE_UNREF(commandBuffer);
+       DE_UNREF(attachmentCount);
+       DE_UNREF(pColorWriteEnables);
+}
+
 VKAPI_ATTR void VKAPI_CALL cmdBuildAccelerationStructuresKHR (VkCommandBuffer commandBuffer, deUint32 infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos)
 {
        DE_UNREF(commandBuffer);
@@ -3395,6 +3411,8 @@ static const tcu::StaticFunctionLibrary::Entry s_deviceFunctions[] =
        VK_NULL_FUNC_ENTRY(vkSetPrivateDataEXT,                                                                 setPrivateDataEXT),
        VK_NULL_FUNC_ENTRY(vkGetPrivateDataEXT,                                                                 getPrivateDataEXT),
        VK_NULL_FUNC_ENTRY(vkCmdSetFragmentShadingRateEnumNV,                                   cmdSetFragmentShadingRateEnumNV),
+       VK_NULL_FUNC_ENTRY(vkCmdSetVertexInputEXT,                                                              cmdSetVertexInputEXT),
+       VK_NULL_FUNC_ENTRY(vkCmdSetColorWriteEnableEXT,                                                 cmdSetColorWriteEnableEXT),
        VK_NULL_FUNC_ENTRY(vkCreateAccelerationStructureKHR,                                    createAccelerationStructureKHR),
        VK_NULL_FUNC_ENTRY(vkDestroyAccelerationStructureKHR,                                   destroyAccelerationStructureKHR),
        VK_NULL_FUNC_ENTRY(vkCmdBuildAccelerationStructuresKHR,                                 cmdBuildAccelerationStructuresKHR),
index c051820..2e41282 100644 (file)
@@ -754,7 +754,7 @@ vk::SpirvVersion getMaxSpirvVersionForVulkan (const deUint32 vulkanVersion)
 {
        vk::SpirvVersion        result                  = vk::SPIRV_VERSION_LAST;
 
-       deUint32 vulkanVersionMajorMinor = VK_MAKE_VERSION(VK_VERSION_MAJOR(vulkanVersion), VK_VERSION_MINOR(vulkanVersion), 0);
+       deUint32 vulkanVersionMajorMinor = VK_MAKE_VERSION(VK_API_VERSION_MAJOR(vulkanVersion), VK_API_VERSION_MINOR(vulkanVersion), 0);
        if (vulkanVersionMajorMinor == VK_API_VERSION_1_0)
                result = vk::SPIRV_VERSION_1_0;
        else if (vulkanVersionMajorMinor == VK_API_VERSION_1_1)
index 6ab2d7c..03d94ad 100644 (file)
@@ -926,6 +926,8 @@ std::ostream&       operator<<      (std::ostream& s, const VkIndirectCommandsLayoutTokenNV
 std::ostream&  operator<<      (std::ostream& s, const VkIndirectCommandsLayoutCreateInfoNV& value);
 std::ostream&  operator<<      (std::ostream& s, const VkGeneratedCommandsInfoNV& value);
 std::ostream&  operator<<      (std::ostream& s, const VkGeneratedCommandsMemoryRequirementsInfoNV& value);
+std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceInheritedViewportScissorFeaturesNV& value);
+std::ostream&  operator<<      (std::ostream& s, const VkCommandBufferInheritanceViewportScissorInfoNV& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkRenderPassTransformBeginInfoQCOM& value);
@@ -947,6 +949,7 @@ std::ostream&       operator<<      (std::ostream& s, const VkDeviceDiagnosticsConfigCreate
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPipelineFragmentShadingRateEnumStateCreateInfoNV& value);
+std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceFragmentDensityMap2FeaturesEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceFragmentDensityMap2PropertiesEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkCopyCommandTransformInfoQCOM& value);
@@ -955,6 +958,11 @@ std::ostream&      operator<<      (std::ostream& s, const VkPhysicalDevice4444FormatsFeat
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE& value);
 std::ostream&  operator<<      (std::ostream& s, const VkMutableDescriptorTypeListVALVE& value);
 std::ostream&  operator<<      (std::ostream& s, const VkMutableDescriptorTypeCreateInfoVALVE& value);
+std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkVertexInputBindingDescription2EXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkVertexInputAttributeDescription2EXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceColorWriteEnableFeaturesEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkPipelineColorWriteCreateInfoEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkDeviceOrHostAddressKHR& value);
 std::ostream&  operator<<      (std::ostream& s, const VkDeviceOrHostAddressConstKHR& value);
 std::ostream&  operator<<      (std::ostream& s, const VkAccelerationStructureBuildRangeInfoKHR& value);
index 9e4f885..f9f1cbf 100644 (file)
@@ -305,6 +305,25 @@ const char* getStructureTypeName (VkStructureType value)
                case VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT:                                                               return "VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT";
                case VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT:                                                                return "VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT";
                case VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT:                                                                    return "VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT";
+               case VK_STRUCTURE_TYPE_VIDEO_PROFILE_KHR:                                                                                               return "VK_STRUCTURE_TYPE_VIDEO_PROFILE_KHR";
+               case VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR:                                                                                  return "VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR";
+               case VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_KHR:                                                                              return "VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_KHR";
+               case VK_STRUCTURE_TYPE_VIDEO_GET_MEMORY_PROPERTIES_KHR:                                                                 return "VK_STRUCTURE_TYPE_VIDEO_GET_MEMORY_PROPERTIES_KHR";
+               case VK_STRUCTURE_TYPE_VIDEO_BIND_MEMORY_KHR:                                                                                   return "VK_STRUCTURE_TYPE_VIDEO_BIND_MEMORY_KHR";
+               case VK_STRUCTURE_TYPE_VIDEO_SESSION_CREATE_INFO_KHR:                                                                   return "VK_STRUCTURE_TYPE_VIDEO_SESSION_CREATE_INFO_KHR";
+               case VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR:                                                return "VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR";
+               case VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR:                                                return "VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR";
+               case VK_STRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHR:                                                                             return "VK_STRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHR";
+               case VK_STRUCTURE_TYPE_VIDEO_END_CODING_INFO_KHR:                                                                               return "VK_STRUCTURE_TYPE_VIDEO_END_CODING_INFO_KHR";
+               case VK_STRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHR:                                                                   return "VK_STRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHR";
+               case VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_KHR:                                                                                return "VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_KHR";
+               case VK_STRUCTURE_TYPE_VIDEO_QUEUE_FAMILY_PROPERTIES_2_KHR:                                                             return "VK_STRUCTURE_TYPE_VIDEO_QUEUE_FAMILY_PROPERTIES_2_KHR";
+               case VK_STRUCTURE_TYPE_VIDEO_PROFILES_KHR:                                                                                              return "VK_STRUCTURE_TYPE_VIDEO_PROFILES_KHR";
+               case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR:                                                   return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR";
+               case VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR:                                                                             return "VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR";
+               case VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR:                                                                                   return "VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR";
+               case VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR:                                                                                   return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR";
+               case VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR:                                                              return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR";
                case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV:                                               return "VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV";
                case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV:                                              return "VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV";
                case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV:                                    return "VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV";
@@ -313,6 +332,23 @@ const char* getStructureTypeName (VkStructureType value)
                case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT:                             return "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT";
                case VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX:                                                                              return "VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX";
                case VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX:                                                               return "VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX";
+               case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT:                                                              return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT";
+               case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_EXT:                                               return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_EXT";
+               case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT:                    return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT";
+               case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT:                               return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT";
+               case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT:                                                    return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT";
+               case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT:                                                             return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT";
+               case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_EXT:                                                                return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_EXT";
+               case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_EXT:                                   return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_EXT";
+               case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_EXT:                                                                   return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_EXT";
+               case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_EXT:                                                              return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_EXT";
+               case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_CREATE_INFO_EXT:                                               return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_CREATE_INFO_EXT";
+               case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_EXT:                                                              return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_EXT";
+               case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_MVC_EXT:                                                                               return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_MVC_EXT";
+               case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_EXT:                                                                   return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_EXT";
+               case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT:                    return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT";
+               case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT:                               return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT";
+               case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT:                                                             return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT";
                case VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD:                                                return "VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD";
                case VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP:                                               return "VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV:                                return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV";
@@ -468,6 +504,13 @@ const char* getStructureTypeName (VkStructureType value)
                case VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD:                                               return "VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD";
                case VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT:                                                                   return "VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD:                                              return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD";
+               case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_EXT:                                                              return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_EXT";
+               case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_CREATE_INFO_EXT:                                               return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_CREATE_INFO_EXT";
+               case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT:                    return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT";
+               case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT:                               return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT";
+               case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_EXT:                                                                   return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_EXT";
+               case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_EXT:                                                              return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_EXT";
+               case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_EXT:                                                             return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_EXT";
                case VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD:                                    return "VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT:                 return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT";
                case VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT:                             return "VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT";
@@ -552,6 +595,8 @@ const char* getStructureTypeName (VkStructureType value)
                case VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV:                                                                              return "VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV";
                case VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV:                                  return "VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV:                   return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV";
+               case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV:                  return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV";
+               case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV:                             return "VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT:                             return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT:                   return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT";
                case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM:              return "VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM";
@@ -585,6 +630,7 @@ const char* getStructureTypeName (VkStructureType value)
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV:               return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV:                 return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV";
                case VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV:                return "VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV";
+               case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT:                  return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT:                             return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT:                   return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT";
                case VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM:                                                                return "VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM";
@@ -605,12 +651,17 @@ const char* getStructureTypeName (VkStructureType value)
                case VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT:                                                                return "VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE:                  return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE";
                case VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE:                                               return "VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE";
+               case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT:                 return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT";
+               case VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT:                                                  return "VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT";
+               case VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT:                                                return "VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT";
                case VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA:                                                return "VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA";
                case VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA:                                                 return "VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA";
                case VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA:                                                   return "VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA";
                case VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA:                                             return "VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA";
                case VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA:                                                return "VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA";
                case VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX:                                                                  return "VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX";
+               case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT:                                 return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT";
+               case VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT:                                                    return "VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT";
                case VK_STRUCTURE_TYPE_MAX_ENUM:                                                                                                                return "VK_STRUCTURE_TYPE_MAX_ENUM";
                default:                                                                                                                                                                return DE_NULL;
        }
@@ -636,6 +687,12 @@ const char* getImageLayoutName (VkImageLayout value)
                case VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL:                                        return "VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL";
                case VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL:                                         return "VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL";
                case VK_IMAGE_LAYOUT_PRESENT_SRC_KHR:                                                           return "VK_IMAGE_LAYOUT_PRESENT_SRC_KHR";
+               case VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR:                                                      return "VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR";
+               case VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR:                                                      return "VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR";
+               case VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR:                                                      return "VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR";
+               case VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR:                                                      return "VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR";
+               case VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR:                                                      return "VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR";
+               case VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR:                                                      return "VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR";
                case VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR:                                                        return "VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR";
                case VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV:                                           return "VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV";
                case VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT:                          return "VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT";
@@ -683,6 +740,8 @@ const char* getObjectTypeName (VkObjectType value)
                case VK_OBJECT_TYPE_DISPLAY_KHR:                                                return "VK_OBJECT_TYPE_DISPLAY_KHR";
                case VK_OBJECT_TYPE_DISPLAY_MODE_KHR:                                   return "VK_OBJECT_TYPE_DISPLAY_MODE_KHR";
                case VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT:                  return "VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT";
+               case VK_OBJECT_TYPE_VIDEO_SESSION_KHR:                                  return "VK_OBJECT_TYPE_VIDEO_SESSION_KHR";
+               case VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR:               return "VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR";
                case VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT:                  return "VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT";
                case VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR:                 return "VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR";
                case VK_OBJECT_TYPE_VALIDATION_CACHE_EXT:                               return "VK_OBJECT_TYPE_VALIDATION_CACHE_EXT";
@@ -749,251 +808,255 @@ const char* getFormatName (VkFormat value)
 {
        switch (value)
        {
-               case VK_FORMAT_UNDEFINED:                                                                       return "VK_FORMAT_UNDEFINED";
-               case VK_FORMAT_R4G4_UNORM_PACK8:                                                        return "VK_FORMAT_R4G4_UNORM_PACK8";
-               case VK_FORMAT_R4G4B4A4_UNORM_PACK16:                                           return "VK_FORMAT_R4G4B4A4_UNORM_PACK16";
-               case VK_FORMAT_B4G4R4A4_UNORM_PACK16:                                           return "VK_FORMAT_B4G4R4A4_UNORM_PACK16";
-               case VK_FORMAT_R5G6B5_UNORM_PACK16:                                                     return "VK_FORMAT_R5G6B5_UNORM_PACK16";
-               case VK_FORMAT_B5G6R5_UNORM_PACK16:                                                     return "VK_FORMAT_B5G6R5_UNORM_PACK16";
-               case VK_FORMAT_R5G5B5A1_UNORM_PACK16:                                           return "VK_FORMAT_R5G5B5A1_UNORM_PACK16";
-               case VK_FORMAT_B5G5R5A1_UNORM_PACK16:                                           return "VK_FORMAT_B5G5R5A1_UNORM_PACK16";
-               case VK_FORMAT_A1R5G5B5_UNORM_PACK16:                                           return "VK_FORMAT_A1R5G5B5_UNORM_PACK16";
-               case VK_FORMAT_R8_UNORM:                                                                        return "VK_FORMAT_R8_UNORM";
-               case VK_FORMAT_R8_SNORM:                                                                        return "VK_FORMAT_R8_SNORM";
-               case VK_FORMAT_R8_USCALED:                                                                      return "VK_FORMAT_R8_USCALED";
-               case VK_FORMAT_R8_SSCALED:                                                                      return "VK_FORMAT_R8_SSCALED";
-               case VK_FORMAT_R8_UINT:                                                                         return "VK_FORMAT_R8_UINT";
-               case VK_FORMAT_R8_SINT:                                                                         return "VK_FORMAT_R8_SINT";
-               case VK_FORMAT_R8_SRGB:                                                                         return "VK_FORMAT_R8_SRGB";
-               case VK_FORMAT_R8G8_UNORM:                                                                      return "VK_FORMAT_R8G8_UNORM";
-               case VK_FORMAT_R8G8_SNORM:                                                                      return "VK_FORMAT_R8G8_SNORM";
-               case VK_FORMAT_R8G8_USCALED:                                                            return "VK_FORMAT_R8G8_USCALED";
-               case VK_FORMAT_R8G8_SSCALED:                                                            return "VK_FORMAT_R8G8_SSCALED";
-               case VK_FORMAT_R8G8_UINT:                                                                       return "VK_FORMAT_R8G8_UINT";
-               case VK_FORMAT_R8G8_SINT:                                                                       return "VK_FORMAT_R8G8_SINT";
-               case VK_FORMAT_R8G8_SRGB:                                                                       return "VK_FORMAT_R8G8_SRGB";
-               case VK_FORMAT_R8G8B8_UNORM:                                                            return "VK_FORMAT_R8G8B8_UNORM";
-               case VK_FORMAT_R8G8B8_SNORM:                                                            return "VK_FORMAT_R8G8B8_SNORM";
-               case VK_FORMAT_R8G8B8_USCALED:                                                          return "VK_FORMAT_R8G8B8_USCALED";
-               case VK_FORMAT_R8G8B8_SSCALED:                                                          return "VK_FORMAT_R8G8B8_SSCALED";
-               case VK_FORMAT_R8G8B8_UINT:                                                                     return "VK_FORMAT_R8G8B8_UINT";
-               case VK_FORMAT_R8G8B8_SINT:                                                                     return "VK_FORMAT_R8G8B8_SINT";
-               case VK_FORMAT_R8G8B8_SRGB:                                                                     return "VK_FORMAT_R8G8B8_SRGB";
-               case VK_FORMAT_B8G8R8_UNORM:                                                            return "VK_FORMAT_B8G8R8_UNORM";
-               case VK_FORMAT_B8G8R8_SNORM:                                                            return "VK_FORMAT_B8G8R8_SNORM";
-               case VK_FORMAT_B8G8R8_USCALED:                                                          return "VK_FORMAT_B8G8R8_USCALED";
-               case VK_FORMAT_B8G8R8_SSCALED:                                                          return "VK_FORMAT_B8G8R8_SSCALED";
-               case VK_FORMAT_B8G8R8_UINT:                                                                     return "VK_FORMAT_B8G8R8_UINT";
-               case VK_FORMAT_B8G8R8_SINT:                                                                     return "VK_FORMAT_B8G8R8_SINT";
-               case VK_FORMAT_B8G8R8_SRGB:                                                                     return "VK_FORMAT_B8G8R8_SRGB";
-               case VK_FORMAT_R8G8B8A8_UNORM:                                                          return "VK_FORMAT_R8G8B8A8_UNORM";
-               case VK_FORMAT_R8G8B8A8_SNORM:                                                          return "VK_FORMAT_R8G8B8A8_SNORM";
-               case VK_FORMAT_R8G8B8A8_USCALED:                                                        return "VK_FORMAT_R8G8B8A8_USCALED";
-               case VK_FORMAT_R8G8B8A8_SSCALED:                                                        return "VK_FORMAT_R8G8B8A8_SSCALED";
-               case VK_FORMAT_R8G8B8A8_UINT:                                                           return "VK_FORMAT_R8G8B8A8_UINT";
-               case VK_FORMAT_R8G8B8A8_SINT:                                                           return "VK_FORMAT_R8G8B8A8_SINT";
-               case VK_FORMAT_R8G8B8A8_SRGB:                                                           return "VK_FORMAT_R8G8B8A8_SRGB";
-               case VK_FORMAT_B8G8R8A8_UNORM:                                                          return "VK_FORMAT_B8G8R8A8_UNORM";
-               case VK_FORMAT_B8G8R8A8_SNORM:                                                          return "VK_FORMAT_B8G8R8A8_SNORM";
-               case VK_FORMAT_B8G8R8A8_USCALED:                                                        return "VK_FORMAT_B8G8R8A8_USCALED";
-               case VK_FORMAT_B8G8R8A8_SSCALED:                                                        return "VK_FORMAT_B8G8R8A8_SSCALED";
-               case VK_FORMAT_B8G8R8A8_UINT:                                                           return "VK_FORMAT_B8G8R8A8_UINT";
-               case VK_FORMAT_B8G8R8A8_SINT:                                                           return "VK_FORMAT_B8G8R8A8_SINT";
-               case VK_FORMAT_B8G8R8A8_SRGB:                                                           return "VK_FORMAT_B8G8R8A8_SRGB";
-               case VK_FORMAT_A8B8G8R8_UNORM_PACK32:                                           return "VK_FORMAT_A8B8G8R8_UNORM_PACK32";
-               case VK_FORMAT_A8B8G8R8_SNORM_PACK32:                                           return "VK_FORMAT_A8B8G8R8_SNORM_PACK32";
-               case VK_FORMAT_A8B8G8R8_USCALED_PACK32:                                         return "VK_FORMAT_A8B8G8R8_USCALED_PACK32";
-               case VK_FORMAT_A8B8G8R8_SSCALED_PACK32:                                         return "VK_FORMAT_A8B8G8R8_SSCALED_PACK32";
-               case VK_FORMAT_A8B8G8R8_UINT_PACK32:                                            return "VK_FORMAT_A8B8G8R8_UINT_PACK32";
-               case VK_FORMAT_A8B8G8R8_SINT_PACK32:                                            return "VK_FORMAT_A8B8G8R8_SINT_PACK32";
-               case VK_FORMAT_A8B8G8R8_SRGB_PACK32:                                            return "VK_FORMAT_A8B8G8R8_SRGB_PACK32";
-               case VK_FORMAT_A2R10G10B10_UNORM_PACK32:                                        return "VK_FORMAT_A2R10G10B10_UNORM_PACK32";
-               case VK_FORMAT_A2R10G10B10_SNORM_PACK32:                                        return "VK_FORMAT_A2R10G10B10_SNORM_PACK32";
-               case VK_FORMAT_A2R10G10B10_USCALED_PACK32:                                      return "VK_FORMAT_A2R10G10B10_USCALED_PACK32";
-               case VK_FORMAT_A2R10G10B10_SSCALED_PACK32:                                      return "VK_FORMAT_A2R10G10B10_SSCALED_PACK32";
-               case VK_FORMAT_A2R10G10B10_UINT_PACK32:                                         return "VK_FORMAT_A2R10G10B10_UINT_PACK32";
-               case VK_FORMAT_A2R10G10B10_SINT_PACK32:                                         return "VK_FORMAT_A2R10G10B10_SINT_PACK32";
-               case VK_FORMAT_A2B10G10R10_UNORM_PACK32:                                        return "VK_FORMAT_A2B10G10R10_UNORM_PACK32";
-               case VK_FORMAT_A2B10G10R10_SNORM_PACK32:                                        return "VK_FORMAT_A2B10G10R10_SNORM_PACK32";
-               case VK_FORMAT_A2B10G10R10_USCALED_PACK32:                                      return "VK_FORMAT_A2B10G10R10_USCALED_PACK32";
-               case VK_FORMAT_A2B10G10R10_SSCALED_PACK32:                                      return "VK_FORMAT_A2B10G10R10_SSCALED_PACK32";
-               case VK_FORMAT_A2B10G10R10_UINT_PACK32:                                         return "VK_FORMAT_A2B10G10R10_UINT_PACK32";
-               case VK_FORMAT_A2B10G10R10_SINT_PACK32:                                         return "VK_FORMAT_A2B10G10R10_SINT_PACK32";
-               case VK_FORMAT_R16_UNORM:                                                                       return "VK_FORMAT_R16_UNORM";
-               case VK_FORMAT_R16_SNORM:                                                                       return "VK_FORMAT_R16_SNORM";
-               case VK_FORMAT_R16_USCALED:                                                                     return "VK_FORMAT_R16_USCALED";
-               case VK_FORMAT_R16_SSCALED:                                                                     return "VK_FORMAT_R16_SSCALED";
-               case VK_FORMAT_R16_UINT:                                                                        return "VK_FORMAT_R16_UINT";
-               case VK_FORMAT_R16_SINT:                                                                        return "VK_FORMAT_R16_SINT";
-               case VK_FORMAT_R16_SFLOAT:                                                                      return "VK_FORMAT_R16_SFLOAT";
-               case VK_FORMAT_R16G16_UNORM:                                                            return "VK_FORMAT_R16G16_UNORM";
-               case VK_FORMAT_R16G16_SNORM:                                                            return "VK_FORMAT_R16G16_SNORM";
-               case VK_FORMAT_R16G16_USCALED:                                                          return "VK_FORMAT_R16G16_USCALED";
-               case VK_FORMAT_R16G16_SSCALED:                                                          return "VK_FORMAT_R16G16_SSCALED";
-               case VK_FORMAT_R16G16_UINT:                                                                     return "VK_FORMAT_R16G16_UINT";
-               case VK_FORMAT_R16G16_SINT:                                                                     return "VK_FORMAT_R16G16_SINT";
-               case VK_FORMAT_R16G16_SFLOAT:                                                           return "VK_FORMAT_R16G16_SFLOAT";
-               case VK_FORMAT_R16G16B16_UNORM:                                                         return "VK_FORMAT_R16G16B16_UNORM";
-               case VK_FORMAT_R16G16B16_SNORM:                                                         return "VK_FORMAT_R16G16B16_SNORM";
-               case VK_FORMAT_R16G16B16_USCALED:                                                       return "VK_FORMAT_R16G16B16_USCALED";
-               case VK_FORMAT_R16G16B16_SSCALED:                                                       return "VK_FORMAT_R16G16B16_SSCALED";
-               case VK_FORMAT_R16G16B16_UINT:                                                          return "VK_FORMAT_R16G16B16_UINT";
-               case VK_FORMAT_R16G16B16_SINT:                                                          return "VK_FORMAT_R16G16B16_SINT";
-               case VK_FORMAT_R16G16B16_SFLOAT:                                                        return "VK_FORMAT_R16G16B16_SFLOAT";
-               case VK_FORMAT_R16G16B16A16_UNORM:                                                      return "VK_FORMAT_R16G16B16A16_UNORM";
-               case VK_FORMAT_R16G16B16A16_SNORM:                                                      return "VK_FORMAT_R16G16B16A16_SNORM";
-               case VK_FORMAT_R16G16B16A16_USCALED:                                            return "VK_FORMAT_R16G16B16A16_USCALED";
-               case VK_FORMAT_R16G16B16A16_SSCALED:                                            return "VK_FORMAT_R16G16B16A16_SSCALED";
-               case VK_FORMAT_R16G16B16A16_UINT:                                                       return "VK_FORMAT_R16G16B16A16_UINT";
-               case VK_FORMAT_R16G16B16A16_SINT:                                                       return "VK_FORMAT_R16G16B16A16_SINT";
-               case VK_FORMAT_R16G16B16A16_SFLOAT:                                                     return "VK_FORMAT_R16G16B16A16_SFLOAT";
-               case VK_FORMAT_R32_UINT:                                                                        return "VK_FORMAT_R32_UINT";
-               case VK_FORMAT_R32_SINT:                                                                        return "VK_FORMAT_R32_SINT";
-               case VK_FORMAT_R32_SFLOAT:                                                                      return "VK_FORMAT_R32_SFLOAT";
-               case VK_FORMAT_R32G32_UINT:                                                                     return "VK_FORMAT_R32G32_UINT";
-               case VK_FORMAT_R32G32_SINT:                                                                     return "VK_FORMAT_R32G32_SINT";
-               case VK_FORMAT_R32G32_SFLOAT:                                                           return "VK_FORMAT_R32G32_SFLOAT";
-               case VK_FORMAT_R32G32B32_UINT:                                                          return "VK_FORMAT_R32G32B32_UINT";
-               case VK_FORMAT_R32G32B32_SINT:                                                          return "VK_FORMAT_R32G32B32_SINT";
-               case VK_FORMAT_R32G32B32_SFLOAT:                                                        return "VK_FORMAT_R32G32B32_SFLOAT";
-               case VK_FORMAT_R32G32B32A32_UINT:                                                       return "VK_FORMAT_R32G32B32A32_UINT";
-               case VK_FORMAT_R32G32B32A32_SINT:                                                       return "VK_FORMAT_R32G32B32A32_SINT";
-               case VK_FORMAT_R32G32B32A32_SFLOAT:                                                     return "VK_FORMAT_R32G32B32A32_SFLOAT";
-               case VK_FORMAT_R64_UINT:                                                                        return "VK_FORMAT_R64_UINT";
-               case VK_FORMAT_R64_SINT:                                                                        return "VK_FORMAT_R64_SINT";
-               case VK_FORMAT_R64_SFLOAT:                                                                      return "VK_FORMAT_R64_SFLOAT";
-               case VK_FORMAT_R64G64_UINT:                                                                     return "VK_FORMAT_R64G64_UINT";
-               case VK_FORMAT_R64G64_SINT:                                                                     return "VK_FORMAT_R64G64_SINT";
-               case VK_FORMAT_R64G64_SFLOAT:                                                           return "VK_FORMAT_R64G64_SFLOAT";
-               case VK_FORMAT_R64G64B64_UINT:                                                          return "VK_FORMAT_R64G64B64_UINT";
-               case VK_FORMAT_R64G64B64_SINT:                                                          return "VK_FORMAT_R64G64B64_SINT";
-               case VK_FORMAT_R64G64B64_SFLOAT:                                                        return "VK_FORMAT_R64G64B64_SFLOAT";
-               case VK_FORMAT_R64G64B64A64_UINT:                                                       return "VK_FORMAT_R64G64B64A64_UINT";
-               case VK_FORMAT_R64G64B64A64_SINT:                                                       return "VK_FORMAT_R64G64B64A64_SINT";
-               case VK_FORMAT_R64G64B64A64_SFLOAT:                                                     return "VK_FORMAT_R64G64B64A64_SFLOAT";
-               case VK_FORMAT_B10G11R11_UFLOAT_PACK32:                                         return "VK_FORMAT_B10G11R11_UFLOAT_PACK32";
-               case VK_FORMAT_E5B9G9R9_UFLOAT_PACK32:                                          return "VK_FORMAT_E5B9G9R9_UFLOAT_PACK32";
-               case VK_FORMAT_D16_UNORM:                                                                       return "VK_FORMAT_D16_UNORM";
-               case VK_FORMAT_X8_D24_UNORM_PACK32:                                                     return "VK_FORMAT_X8_D24_UNORM_PACK32";
-               case VK_FORMAT_D32_SFLOAT:                                                                      return "VK_FORMAT_D32_SFLOAT";
-               case VK_FORMAT_S8_UINT:                                                                         return "VK_FORMAT_S8_UINT";
-               case VK_FORMAT_D16_UNORM_S8_UINT:                                                       return "VK_FORMAT_D16_UNORM_S8_UINT";
-               case VK_FORMAT_D24_UNORM_S8_UINT:                                                       return "VK_FORMAT_D24_UNORM_S8_UINT";
-               case VK_FORMAT_D32_SFLOAT_S8_UINT:                                                      return "VK_FORMAT_D32_SFLOAT_S8_UINT";
-               case VK_FORMAT_BC1_RGB_UNORM_BLOCK:                                                     return "VK_FORMAT_BC1_RGB_UNORM_BLOCK";
-               case VK_FORMAT_BC1_RGB_SRGB_BLOCK:                                                      return "VK_FORMAT_BC1_RGB_SRGB_BLOCK";
-               case VK_FORMAT_BC1_RGBA_UNORM_BLOCK:                                            return "VK_FORMAT_BC1_RGBA_UNORM_BLOCK";
-               case VK_FORMAT_BC1_RGBA_SRGB_BLOCK:                                                     return "VK_FORMAT_BC1_RGBA_SRGB_BLOCK";
-               case VK_FORMAT_BC2_UNORM_BLOCK:                                                         return "VK_FORMAT_BC2_UNORM_BLOCK";
-               case VK_FORMAT_BC2_SRGB_BLOCK:                                                          return "VK_FORMAT_BC2_SRGB_BLOCK";
-               case VK_FORMAT_BC3_UNORM_BLOCK:                                                         return "VK_FORMAT_BC3_UNORM_BLOCK";
-               case VK_FORMAT_BC3_SRGB_BLOCK:                                                          return "VK_FORMAT_BC3_SRGB_BLOCK";
-               case VK_FORMAT_BC4_UNORM_BLOCK:                                                         return "VK_FORMAT_BC4_UNORM_BLOCK";
-               case VK_FORMAT_BC4_SNORM_BLOCK:                                                         return "VK_FORMAT_BC4_SNORM_BLOCK";
-               case VK_FORMAT_BC5_UNORM_BLOCK:                                                         return "VK_FORMAT_BC5_UNORM_BLOCK";
-               case VK_FORMAT_BC5_SNORM_BLOCK:                                                         return "VK_FORMAT_BC5_SNORM_BLOCK";
-               case VK_FORMAT_BC6H_UFLOAT_BLOCK:                                                       return "VK_FORMAT_BC6H_UFLOAT_BLOCK";
-               case VK_FORMAT_BC6H_SFLOAT_BLOCK:                                                       return "VK_FORMAT_BC6H_SFLOAT_BLOCK";
-               case VK_FORMAT_BC7_UNORM_BLOCK:                                                         return "VK_FORMAT_BC7_UNORM_BLOCK";
-               case VK_FORMAT_BC7_SRGB_BLOCK:                                                          return "VK_FORMAT_BC7_SRGB_BLOCK";
-               case VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK:                                         return "VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK";
-               case VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK:                                          return "VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK";
-               case VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK:                                       return "VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK";
-               case VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK:                                        return "VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK";
-               case VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK:                                       return "VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK";
-               case VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK:                                        return "VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK";
-               case VK_FORMAT_EAC_R11_UNORM_BLOCK:                                                     return "VK_FORMAT_EAC_R11_UNORM_BLOCK";
-               case VK_FORMAT_EAC_R11_SNORM_BLOCK:                                                     return "VK_FORMAT_EAC_R11_SNORM_BLOCK";
-               case VK_FORMAT_EAC_R11G11_UNORM_BLOCK:                                          return "VK_FORMAT_EAC_R11G11_UNORM_BLOCK";
-               case VK_FORMAT_EAC_R11G11_SNORM_BLOCK:                                          return "VK_FORMAT_EAC_R11G11_SNORM_BLOCK";
-               case VK_FORMAT_ASTC_4x4_UNORM_BLOCK:                                            return "VK_FORMAT_ASTC_4x4_UNORM_BLOCK";
-               case VK_FORMAT_ASTC_4x4_SRGB_BLOCK:                                                     return "VK_FORMAT_ASTC_4x4_SRGB_BLOCK";
-               case VK_FORMAT_ASTC_5x4_UNORM_BLOCK:                                            return "VK_FORMAT_ASTC_5x4_UNORM_BLOCK";
-               case VK_FORMAT_ASTC_5x4_SRGB_BLOCK:                                                     return "VK_FORMAT_ASTC_5x4_SRGB_BLOCK";
-               case VK_FORMAT_ASTC_5x5_UNORM_BLOCK:                                            return "VK_FORMAT_ASTC_5x5_UNORM_BLOCK";
-               case VK_FORMAT_ASTC_5x5_SRGB_BLOCK:                                                     return "VK_FORMAT_ASTC_5x5_SRGB_BLOCK";
-               case VK_FORMAT_ASTC_6x5_UNORM_BLOCK:                                            return "VK_FORMAT_ASTC_6x5_UNORM_BLOCK";
-               case VK_FORMAT_ASTC_6x5_SRGB_BLOCK:                                                     return "VK_FORMAT_ASTC_6x5_SRGB_BLOCK";
-               case VK_FORMAT_ASTC_6x6_UNORM_BLOCK:                                            return "VK_FORMAT_ASTC_6x6_UNORM_BLOCK";
-               case VK_FORMAT_ASTC_6x6_SRGB_BLOCK:                                                     return "VK_FORMAT_ASTC_6x6_SRGB_BLOCK";
-               case VK_FORMAT_ASTC_8x5_UNORM_BLOCK:                                            return "VK_FORMAT_ASTC_8x5_UNORM_BLOCK";
-               case VK_FORMAT_ASTC_8x5_SRGB_BLOCK:                                                     return "VK_FORMAT_ASTC_8x5_SRGB_BLOCK";
-               case VK_FORMAT_ASTC_8x6_UNORM_BLOCK:                                            return "VK_FORMAT_ASTC_8x6_UNORM_BLOCK";
-               case VK_FORMAT_ASTC_8x6_SRGB_BLOCK:                                                     return "VK_FORMAT_ASTC_8x6_SRGB_BLOCK";
-               case VK_FORMAT_ASTC_8x8_UNORM_BLOCK:                                            return "VK_FORMAT_ASTC_8x8_UNORM_BLOCK";
-               case VK_FORMAT_ASTC_8x8_SRGB_BLOCK:                                                     return "VK_FORMAT_ASTC_8x8_SRGB_BLOCK";
-               case VK_FORMAT_ASTC_10x5_UNORM_BLOCK:                                           return "VK_FORMAT_ASTC_10x5_UNORM_BLOCK";
-               case VK_FORMAT_ASTC_10x5_SRGB_BLOCK:                                            return "VK_FORMAT_ASTC_10x5_SRGB_BLOCK";
-               case VK_FORMAT_ASTC_10x6_UNORM_BLOCK:                                           return "VK_FORMAT_ASTC_10x6_UNORM_BLOCK";
-               case VK_FORMAT_ASTC_10x6_SRGB_BLOCK:                                            return "VK_FORMAT_ASTC_10x6_SRGB_BLOCK";
-               case VK_FORMAT_ASTC_10x8_UNORM_BLOCK:                                           return "VK_FORMAT_ASTC_10x8_UNORM_BLOCK";
-               case VK_FORMAT_ASTC_10x8_SRGB_BLOCK:                                            return "VK_FORMAT_ASTC_10x8_SRGB_BLOCK";
-               case VK_FORMAT_ASTC_10x10_UNORM_BLOCK:                                          return "VK_FORMAT_ASTC_10x10_UNORM_BLOCK";
-               case VK_FORMAT_ASTC_10x10_SRGB_BLOCK:                                           return "VK_FORMAT_ASTC_10x10_SRGB_BLOCK";
-               case VK_FORMAT_ASTC_12x10_UNORM_BLOCK:                                          return "VK_FORMAT_ASTC_12x10_UNORM_BLOCK";
-               case VK_FORMAT_ASTC_12x10_SRGB_BLOCK:                                           return "VK_FORMAT_ASTC_12x10_SRGB_BLOCK";
-               case VK_FORMAT_ASTC_12x12_UNORM_BLOCK:                                          return "VK_FORMAT_ASTC_12x12_UNORM_BLOCK";
-               case VK_FORMAT_ASTC_12x12_SRGB_BLOCK:                                           return "VK_FORMAT_ASTC_12x12_SRGB_BLOCK";
-               case VK_FORMAT_G8B8G8R8_422_UNORM:                                                      return "VK_FORMAT_G8B8G8R8_422_UNORM";
-               case VK_FORMAT_B8G8R8G8_422_UNORM:                                                      return "VK_FORMAT_B8G8R8G8_422_UNORM";
-               case VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM:                                       return "VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM";
-               case VK_FORMAT_G8_B8R8_2PLANE_420_UNORM:                                        return "VK_FORMAT_G8_B8R8_2PLANE_420_UNORM";
-               case VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM:                                       return "VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM";
-               case VK_FORMAT_G8_B8R8_2PLANE_422_UNORM:                                        return "VK_FORMAT_G8_B8R8_2PLANE_422_UNORM";
-               case VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM:                                       return "VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM";
-               case VK_FORMAT_R10X6_UNORM_PACK16:                                                      return "VK_FORMAT_R10X6_UNORM_PACK16";
-               case VK_FORMAT_R10X6G10X6_UNORM_2PACK16:                                        return "VK_FORMAT_R10X6G10X6_UNORM_2PACK16";
-               case VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16:                      return "VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16";
-               case VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16:          return "VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16";
-               case VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16:          return "VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16";
-               case VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16:      return "VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16";
-               case VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16:       return "VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16";
-               case VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16:      return "VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16";
-               case VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16:       return "VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16";
-               case VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16:      return "VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16";
-               case VK_FORMAT_R12X4_UNORM_PACK16:                                                      return "VK_FORMAT_R12X4_UNORM_PACK16";
-               case VK_FORMAT_R12X4G12X4_UNORM_2PACK16:                                        return "VK_FORMAT_R12X4G12X4_UNORM_2PACK16";
-               case VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16:                      return "VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16";
-               case VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16:          return "VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16";
-               case VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16:          return "VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16";
-               case VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16:      return "VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16";
-               case VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16:       return "VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16";
-               case VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16:      return "VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16";
-               case VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16:       return "VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16";
-               case VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16:      return "VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16";
-               case VK_FORMAT_G16B16G16R16_422_UNORM:                                          return "VK_FORMAT_G16B16G16R16_422_UNORM";
-               case VK_FORMAT_B16G16R16G16_422_UNORM:                                          return "VK_FORMAT_B16G16R16G16_422_UNORM";
-               case VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM:                            return "VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM";
-               case VK_FORMAT_G16_B16R16_2PLANE_420_UNORM:                                     return "VK_FORMAT_G16_B16R16_2PLANE_420_UNORM";
-               case VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM:                            return "VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM";
-               case VK_FORMAT_G16_B16R16_2PLANE_422_UNORM:                                     return "VK_FORMAT_G16_B16R16_2PLANE_422_UNORM";
-               case VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM:                            return "VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM";
-               case VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG:                                     return "VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG";
-               case VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG:                                     return "VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG";
-               case VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG:                                     return "VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG";
-               case VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG:                                     return "VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG";
-               case VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG:                                      return "VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG";
-               case VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG:                                      return "VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG";
-               case VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG:                                      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_4x4_SFLOAT_BLOCK_EXT:                                       return "VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT";
-               case VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT:                                       return "VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT";
-               case VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT:                                       return "VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT";
-               case VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT:                                       return "VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT";
-               case VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT:                                       return "VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT";
-               case VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT:                                       return "VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT";
-               case VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT:                                       return "VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT";
-               case VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT:                                       return "VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT";
-               case VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT:                                      return "VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT";
-               case VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT:                                      return "VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT";
-               case VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT:                                      return "VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT";
-               case VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT:                                     return "VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT";
-               case VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT:                                     return "VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT";
-               case VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT:                                     return "VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT";
-               case VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT:                                       return "VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT";
-               case VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT:                                       return "VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT";
-               case VK_FORMAT_MAX_ENUM:                                                                        return "VK_FORMAT_MAX_ENUM";
-               default:                                                                                                        return DE_NULL;
+               case VK_FORMAT_UNDEFINED:                                                                               return "VK_FORMAT_UNDEFINED";
+               case VK_FORMAT_R4G4_UNORM_PACK8:                                                                return "VK_FORMAT_R4G4_UNORM_PACK8";
+               case VK_FORMAT_R4G4B4A4_UNORM_PACK16:                                                   return "VK_FORMAT_R4G4B4A4_UNORM_PACK16";
+               case VK_FORMAT_B4G4R4A4_UNORM_PACK16:                                                   return "VK_FORMAT_B4G4R4A4_UNORM_PACK16";
+               case VK_FORMAT_R5G6B5_UNORM_PACK16:                                                             return "VK_FORMAT_R5G6B5_UNORM_PACK16";
+               case VK_FORMAT_B5G6R5_UNORM_PACK16:                                                             return "VK_FORMAT_B5G6R5_UNORM_PACK16";
+               case VK_FORMAT_R5G5B5A1_UNORM_PACK16:                                                   return "VK_FORMAT_R5G5B5A1_UNORM_PACK16";
+               case VK_FORMAT_B5G5R5A1_UNORM_PACK16:                                                   return "VK_FORMAT_B5G5R5A1_UNORM_PACK16";
+               case VK_FORMAT_A1R5G5B5_UNORM_PACK16:                                                   return "VK_FORMAT_A1R5G5B5_UNORM_PACK16";
+               case VK_FORMAT_R8_UNORM:                                                                                return "VK_FORMAT_R8_UNORM";
+               case VK_FORMAT_R8_SNORM:                                                                                return "VK_FORMAT_R8_SNORM";
+               case VK_FORMAT_R8_USCALED:                                                                              return "VK_FORMAT_R8_USCALED";
+               case VK_FORMAT_R8_SSCALED:                                                                              return "VK_FORMAT_R8_SSCALED";
+               case VK_FORMAT_R8_UINT:                                                                                 return "VK_FORMAT_R8_UINT";
+               case VK_FORMAT_R8_SINT:                                                                                 return "VK_FORMAT_R8_SINT";
+               case VK_FORMAT_R8_SRGB:                                                                                 return "VK_FORMAT_R8_SRGB";
+               case VK_FORMAT_R8G8_UNORM:                                                                              return "VK_FORMAT_R8G8_UNORM";
+               case VK_FORMAT_R8G8_SNORM:                                                                              return "VK_FORMAT_R8G8_SNORM";
+               case VK_FORMAT_R8G8_USCALED:                                                                    return "VK_FORMAT_R8G8_USCALED";
+               case VK_FORMAT_R8G8_SSCALED:                                                                    return "VK_FORMAT_R8G8_SSCALED";
+               case VK_FORMAT_R8G8_UINT:                                                                               return "VK_FORMAT_R8G8_UINT";
+               case VK_FORMAT_R8G8_SINT:                                                                               return "VK_FORMAT_R8G8_SINT";
+               case VK_FORMAT_R8G8_SRGB:                                                                               return "VK_FORMAT_R8G8_SRGB";
+               case VK_FORMAT_R8G8B8_UNORM:                                                                    return "VK_FORMAT_R8G8B8_UNORM";
+               case VK_FORMAT_R8G8B8_SNORM:                                                                    return "VK_FORMAT_R8G8B8_SNORM";
+               case VK_FORMAT_R8G8B8_USCALED:                                                                  return "VK_FORMAT_R8G8B8_USCALED";
+               case VK_FORMAT_R8G8B8_SSCALED:                                                                  return "VK_FORMAT_R8G8B8_SSCALED";
+               case VK_FORMAT_R8G8B8_UINT:                                                                             return "VK_FORMAT_R8G8B8_UINT";
+               case VK_FORMAT_R8G8B8_SINT:                                                                             return "VK_FORMAT_R8G8B8_SINT";
+               case VK_FORMAT_R8G8B8_SRGB:                                                                             return "VK_FORMAT_R8G8B8_SRGB";
+               case VK_FORMAT_B8G8R8_UNORM:                                                                    return "VK_FORMAT_B8G8R8_UNORM";
+               case VK_FORMAT_B8G8R8_SNORM:                                                                    return "VK_FORMAT_B8G8R8_SNORM";
+               case VK_FORMAT_B8G8R8_USCALED:                                                                  return "VK_FORMAT_B8G8R8_USCALED";
+               case VK_FORMAT_B8G8R8_SSCALED:                                                                  return "VK_FORMAT_B8G8R8_SSCALED";
+               case VK_FORMAT_B8G8R8_UINT:                                                                             return "VK_FORMAT_B8G8R8_UINT";
+               case VK_FORMAT_B8G8R8_SINT:                                                                             return "VK_FORMAT_B8G8R8_SINT";
+               case VK_FORMAT_B8G8R8_SRGB:                                                                             return "VK_FORMAT_B8G8R8_SRGB";
+               case VK_FORMAT_R8G8B8A8_UNORM:                                                                  return "VK_FORMAT_R8G8B8A8_UNORM";
+               case VK_FORMAT_R8G8B8A8_SNORM:                                                                  return "VK_FORMAT_R8G8B8A8_SNORM";
+               case VK_FORMAT_R8G8B8A8_USCALED:                                                                return "VK_FORMAT_R8G8B8A8_USCALED";
+               case VK_FORMAT_R8G8B8A8_SSCALED:                                                                return "VK_FORMAT_R8G8B8A8_SSCALED";
+               case VK_FORMAT_R8G8B8A8_UINT:                                                                   return "VK_FORMAT_R8G8B8A8_UINT";
+               case VK_FORMAT_R8G8B8A8_SINT:                                                                   return "VK_FORMAT_R8G8B8A8_SINT";
+               case VK_FORMAT_R8G8B8A8_SRGB:                                                                   return "VK_FORMAT_R8G8B8A8_SRGB";
+               case VK_FORMAT_B8G8R8A8_UNORM:                                                                  return "VK_FORMAT_B8G8R8A8_UNORM";
+               case VK_FORMAT_B8G8R8A8_SNORM:                                                                  return "VK_FORMAT_B8G8R8A8_SNORM";
+               case VK_FORMAT_B8G8R8A8_USCALED:                                                                return "VK_FORMAT_B8G8R8A8_USCALED";
+               case VK_FORMAT_B8G8R8A8_SSCALED:                                                                return "VK_FORMAT_B8G8R8A8_SSCALED";
+               case VK_FORMAT_B8G8R8A8_UINT:                                                                   return "VK_FORMAT_B8G8R8A8_UINT";
+               case VK_FORMAT_B8G8R8A8_SINT:                                                                   return "VK_FORMAT_B8G8R8A8_SINT";
+               case VK_FORMAT_B8G8R8A8_SRGB:                                                                   return "VK_FORMAT_B8G8R8A8_SRGB";
+               case VK_FORMAT_A8B8G8R8_UNORM_PACK32:                                                   return "VK_FORMAT_A8B8G8R8_UNORM_PACK32";
+               case VK_FORMAT_A8B8G8R8_SNORM_PACK32:                                                   return "VK_FORMAT_A8B8G8R8_SNORM_PACK32";
+               case VK_FORMAT_A8B8G8R8_USCALED_PACK32:                                                 return "VK_FORMAT_A8B8G8R8_USCALED_PACK32";
+               case VK_FORMAT_A8B8G8R8_SSCALED_PACK32:                                                 return "VK_FORMAT_A8B8G8R8_SSCALED_PACK32";
+               case VK_FORMAT_A8B8G8R8_UINT_PACK32:                                                    return "VK_FORMAT_A8B8G8R8_UINT_PACK32";
+               case VK_FORMAT_A8B8G8R8_SINT_PACK32:                                                    return "VK_FORMAT_A8B8G8R8_SINT_PACK32";
+               case VK_FORMAT_A8B8G8R8_SRGB_PACK32:                                                    return "VK_FORMAT_A8B8G8R8_SRGB_PACK32";
+               case VK_FORMAT_A2R10G10B10_UNORM_PACK32:                                                return "VK_FORMAT_A2R10G10B10_UNORM_PACK32";
+               case VK_FORMAT_A2R10G10B10_SNORM_PACK32:                                                return "VK_FORMAT_A2R10G10B10_SNORM_PACK32";
+               case VK_FORMAT_A2R10G10B10_USCALED_PACK32:                                              return "VK_FORMAT_A2R10G10B10_USCALED_PACK32";
+               case VK_FORMAT_A2R10G10B10_SSCALED_PACK32:                                              return "VK_FORMAT_A2R10G10B10_SSCALED_PACK32";
+               case VK_FORMAT_A2R10G10B10_UINT_PACK32:                                                 return "VK_FORMAT_A2R10G10B10_UINT_PACK32";
+               case VK_FORMAT_A2R10G10B10_SINT_PACK32:                                                 return "VK_FORMAT_A2R10G10B10_SINT_PACK32";
+               case VK_FORMAT_A2B10G10R10_UNORM_PACK32:                                                return "VK_FORMAT_A2B10G10R10_UNORM_PACK32";
+               case VK_FORMAT_A2B10G10R10_SNORM_PACK32:                                                return "VK_FORMAT_A2B10G10R10_SNORM_PACK32";
+               case VK_FORMAT_A2B10G10R10_USCALED_PACK32:                                              return "VK_FORMAT_A2B10G10R10_USCALED_PACK32";
+               case VK_FORMAT_A2B10G10R10_SSCALED_PACK32:                                              return "VK_FORMAT_A2B10G10R10_SSCALED_PACK32";
+               case VK_FORMAT_A2B10G10R10_UINT_PACK32:                                                 return "VK_FORMAT_A2B10G10R10_UINT_PACK32";
+               case VK_FORMAT_A2B10G10R10_SINT_PACK32:                                                 return "VK_FORMAT_A2B10G10R10_SINT_PACK32";
+               case VK_FORMAT_R16_UNORM:                                                                               return "VK_FORMAT_R16_UNORM";
+               case VK_FORMAT_R16_SNORM:                                                                               return "VK_FORMAT_R16_SNORM";
+               case VK_FORMAT_R16_USCALED:                                                                             return "VK_FORMAT_R16_USCALED";
+               case VK_FORMAT_R16_SSCALED:                                                                             return "VK_FORMAT_R16_SSCALED";
+               case VK_FORMAT_R16_UINT:                                                                                return "VK_FORMAT_R16_UINT";
+               case VK_FORMAT_R16_SINT:                                                                                return "VK_FORMAT_R16_SINT";
+               case VK_FORMAT_R16_SFLOAT:                                                                              return "VK_FORMAT_R16_SFLOAT";
+               case VK_FORMAT_R16G16_UNORM:                                                                    return "VK_FORMAT_R16G16_UNORM";
+               case VK_FORMAT_R16G16_SNORM:                                                                    return "VK_FORMAT_R16G16_SNORM";
+               case VK_FORMAT_R16G16_USCALED:                                                                  return "VK_FORMAT_R16G16_USCALED";
+               case VK_FORMAT_R16G16_SSCALED:                                                                  return "VK_FORMAT_R16G16_SSCALED";
+               case VK_FORMAT_R16G16_UINT:                                                                             return "VK_FORMAT_R16G16_UINT";
+               case VK_FORMAT_R16G16_SINT:                                                                             return "VK_FORMAT_R16G16_SINT";
+               case VK_FORMAT_R16G16_SFLOAT:                                                                   return "VK_FORMAT_R16G16_SFLOAT";
+               case VK_FORMAT_R16G16B16_UNORM:                                                                 return "VK_FORMAT_R16G16B16_UNORM";
+               case VK_FORMAT_R16G16B16_SNORM:                                                                 return "VK_FORMAT_R16G16B16_SNORM";
+               case VK_FORMAT_R16G16B16_USCALED:                                                               return "VK_FORMAT_R16G16B16_USCALED";
+               case VK_FORMAT_R16G16B16_SSCALED:                                                               return "VK_FORMAT_R16G16B16_SSCALED";
+               case VK_FORMAT_R16G16B16_UINT:                                                                  return "VK_FORMAT_R16G16B16_UINT";
+               case VK_FORMAT_R16G16B16_SINT:                                                                  return "VK_FORMAT_R16G16B16_SINT";
+               case VK_FORMAT_R16G16B16_SFLOAT:                                                                return "VK_FORMAT_R16G16B16_SFLOAT";
+               case VK_FORMAT_R16G16B16A16_UNORM:                                                              return "VK_FORMAT_R16G16B16A16_UNORM";
+               case VK_FORMAT_R16G16B16A16_SNORM:                                                              return "VK_FORMAT_R16G16B16A16_SNORM";
+               case VK_FORMAT_R16G16B16A16_USCALED:                                                    return "VK_FORMAT_R16G16B16A16_USCALED";
+               case VK_FORMAT_R16G16B16A16_SSCALED:                                                    return "VK_FORMAT_R16G16B16A16_SSCALED";
+               case VK_FORMAT_R16G16B16A16_UINT:                                                               return "VK_FORMAT_R16G16B16A16_UINT";
+               case VK_FORMAT_R16G16B16A16_SINT:                                                               return "VK_FORMAT_R16G16B16A16_SINT";
+               case VK_FORMAT_R16G16B16A16_SFLOAT:                                                             return "VK_FORMAT_R16G16B16A16_SFLOAT";
+               case VK_FORMAT_R32_UINT:                                                                                return "VK_FORMAT_R32_UINT";
+               case VK_FORMAT_R32_SINT:                                                                                return "VK_FORMAT_R32_SINT";
+               case VK_FORMAT_R32_SFLOAT:                                                                              return "VK_FORMAT_R32_SFLOAT";
+               case VK_FORMAT_R32G32_UINT:                                                                             return "VK_FORMAT_R32G32_UINT";
+               case VK_FORMAT_R32G32_SINT:                                                                             return "VK_FORMAT_R32G32_SINT";
+               case VK_FORMAT_R32G32_SFLOAT:                                                                   return "VK_FORMAT_R32G32_SFLOAT";
+               case VK_FORMAT_R32G32B32_UINT:                                                                  return "VK_FORMAT_R32G32B32_UINT";
+               case VK_FORMAT_R32G32B32_SINT:                                                                  return "VK_FORMAT_R32G32B32_SINT";
+               case VK_FORMAT_R32G32B32_SFLOAT:                                                                return "VK_FORMAT_R32G32B32_SFLOAT";
+               case VK_FORMAT_R32G32B32A32_UINT:                                                               return "VK_FORMAT_R32G32B32A32_UINT";
+               case VK_FORMAT_R32G32B32A32_SINT:                                                               return "VK_FORMAT_R32G32B32A32_SINT";
+               case VK_FORMAT_R32G32B32A32_SFLOAT:                                                             return "VK_FORMAT_R32G32B32A32_SFLOAT";
+               case VK_FORMAT_R64_UINT:                                                                                return "VK_FORMAT_R64_UINT";
+               case VK_FORMAT_R64_SINT:                                                                                return "VK_FORMAT_R64_SINT";
+               case VK_FORMAT_R64_SFLOAT:                                                                              return "VK_FORMAT_R64_SFLOAT";
+               case VK_FORMAT_R64G64_UINT:                                                                             return "VK_FORMAT_R64G64_UINT";
+               case VK_FORMAT_R64G64_SINT:                                                                             return "VK_FORMAT_R64G64_SINT";
+               case VK_FORMAT_R64G64_SFLOAT:                                                                   return "VK_FORMAT_R64G64_SFLOAT";
+               case VK_FORMAT_R64G64B64_UINT:                                                                  return "VK_FORMAT_R64G64B64_UINT";
+               case VK_FORMAT_R64G64B64_SINT:                                                                  return "VK_FORMAT_R64G64B64_SINT";
+               case VK_FORMAT_R64G64B64_SFLOAT:                                                                return "VK_FORMAT_R64G64B64_SFLOAT";
+               case VK_FORMAT_R64G64B64A64_UINT:                                                               return "VK_FORMAT_R64G64B64A64_UINT";
+               case VK_FORMAT_R64G64B64A64_SINT:                                                               return "VK_FORMAT_R64G64B64A64_SINT";
+               case VK_FORMAT_R64G64B64A64_SFLOAT:                                                             return "VK_FORMAT_R64G64B64A64_SFLOAT";
+               case VK_FORMAT_B10G11R11_UFLOAT_PACK32:                                                 return "VK_FORMAT_B10G11R11_UFLOAT_PACK32";
+               case VK_FORMAT_E5B9G9R9_UFLOAT_PACK32:                                                  return "VK_FORMAT_E5B9G9R9_UFLOAT_PACK32";
+               case VK_FORMAT_D16_UNORM:                                                                               return "VK_FORMAT_D16_UNORM";
+               case VK_FORMAT_X8_D24_UNORM_PACK32:                                                             return "VK_FORMAT_X8_D24_UNORM_PACK32";
+               case VK_FORMAT_D32_SFLOAT:                                                                              return "VK_FORMAT_D32_SFLOAT";
+               case VK_FORMAT_S8_UINT:                                                                                 return "VK_FORMAT_S8_UINT";
+               case VK_FORMAT_D16_UNORM_S8_UINT:                                                               return "VK_FORMAT_D16_UNORM_S8_UINT";
+               case VK_FORMAT_D24_UNORM_S8_UINT:                                                               return "VK_FORMAT_D24_UNORM_S8_UINT";
+               case VK_FORMAT_D32_SFLOAT_S8_UINT:                                                              return "VK_FORMAT_D32_SFLOAT_S8_UINT";
+               case VK_FORMAT_BC1_RGB_UNORM_BLOCK:                                                             return "VK_FORMAT_BC1_RGB_UNORM_BLOCK";
+               case VK_FORMAT_BC1_RGB_SRGB_BLOCK:                                                              return "VK_FORMAT_BC1_RGB_SRGB_BLOCK";
+               case VK_FORMAT_BC1_RGBA_UNORM_BLOCK:                                                    return "VK_FORMAT_BC1_RGBA_UNORM_BLOCK";
+               case VK_FORMAT_BC1_RGBA_SRGB_BLOCK:                                                             return "VK_FORMAT_BC1_RGBA_SRGB_BLOCK";
+               case VK_FORMAT_BC2_UNORM_BLOCK:                                                                 return "VK_FORMAT_BC2_UNORM_BLOCK";
+               case VK_FORMAT_BC2_SRGB_BLOCK:                                                                  return "VK_FORMAT_BC2_SRGB_BLOCK";
+               case VK_FORMAT_BC3_UNORM_BLOCK:                                                                 return "VK_FORMAT_BC3_UNORM_BLOCK";
+               case VK_FORMAT_BC3_SRGB_BLOCK:                                                                  return "VK_FORMAT_BC3_SRGB_BLOCK";
+               case VK_FORMAT_BC4_UNORM_BLOCK:                                                                 return "VK_FORMAT_BC4_UNORM_BLOCK";
+               case VK_FORMAT_BC4_SNORM_BLOCK:                                                                 return "VK_FORMAT_BC4_SNORM_BLOCK";
+               case VK_FORMAT_BC5_UNORM_BLOCK:                                                                 return "VK_FORMAT_BC5_UNORM_BLOCK";
+               case VK_FORMAT_BC5_SNORM_BLOCK:                                                                 return "VK_FORMAT_BC5_SNORM_BLOCK";
+               case VK_FORMAT_BC6H_UFLOAT_BLOCK:                                                               return "VK_FORMAT_BC6H_UFLOAT_BLOCK";
+               case VK_FORMAT_BC6H_SFLOAT_BLOCK:                                                               return "VK_FORMAT_BC6H_SFLOAT_BLOCK";
+               case VK_FORMAT_BC7_UNORM_BLOCK:                                                                 return "VK_FORMAT_BC7_UNORM_BLOCK";
+               case VK_FORMAT_BC7_SRGB_BLOCK:                                                                  return "VK_FORMAT_BC7_SRGB_BLOCK";
+               case VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK:                                                 return "VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK";
+               case VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK:                                                  return "VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK";
+               case VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK:                                               return "VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK";
+               case VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK:                                                return "VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK";
+               case VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK:                                               return "VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK";
+               case VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK:                                                return "VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK";
+               case VK_FORMAT_EAC_R11_UNORM_BLOCK:                                                             return "VK_FORMAT_EAC_R11_UNORM_BLOCK";
+               case VK_FORMAT_EAC_R11_SNORM_BLOCK:                                                             return "VK_FORMAT_EAC_R11_SNORM_BLOCK";
+               case VK_FORMAT_EAC_R11G11_UNORM_BLOCK:                                                  return "VK_FORMAT_EAC_R11G11_UNORM_BLOCK";
+               case VK_FORMAT_EAC_R11G11_SNORM_BLOCK:                                                  return "VK_FORMAT_EAC_R11G11_SNORM_BLOCK";
+               case VK_FORMAT_ASTC_4x4_UNORM_BLOCK:                                                    return "VK_FORMAT_ASTC_4x4_UNORM_BLOCK";
+               case VK_FORMAT_ASTC_4x4_SRGB_BLOCK:                                                             return "VK_FORMAT_ASTC_4x4_SRGB_BLOCK";
+               case VK_FORMAT_ASTC_5x4_UNORM_BLOCK:                                                    return "VK_FORMAT_ASTC_5x4_UNORM_BLOCK";
+               case VK_FORMAT_ASTC_5x4_SRGB_BLOCK:                                                             return "VK_FORMAT_ASTC_5x4_SRGB_BLOCK";
+               case VK_FORMAT_ASTC_5x5_UNORM_BLOCK:                                                    return "VK_FORMAT_ASTC_5x5_UNORM_BLOCK";
+               case VK_FORMAT_ASTC_5x5_SRGB_BLOCK:                                                             return "VK_FORMAT_ASTC_5x5_SRGB_BLOCK";
+               case VK_FORMAT_ASTC_6x5_UNORM_BLOCK:                                                    return "VK_FORMAT_ASTC_6x5_UNORM_BLOCK";
+               case VK_FORMAT_ASTC_6x5_SRGB_BLOCK:                                                             return "VK_FORMAT_ASTC_6x5_SRGB_BLOCK";
+               case VK_FORMAT_ASTC_6x6_UNORM_BLOCK:                                                    return "VK_FORMAT_ASTC_6x6_UNORM_BLOCK";
+               case VK_FORMAT_ASTC_6x6_SRGB_BLOCK:                                                             return "VK_FORMAT_ASTC_6x6_SRGB_BLOCK";
+               case VK_FORMAT_ASTC_8x5_UNORM_BLOCK:                                                    return "VK_FORMAT_ASTC_8x5_UNORM_BLOCK";
+               case VK_FORMAT_ASTC_8x5_SRGB_BLOCK:                                                             return "VK_FORMAT_ASTC_8x5_SRGB_BLOCK";
+               case VK_FORMAT_ASTC_8x6_UNORM_BLOCK:                                                    return "VK_FORMAT_ASTC_8x6_UNORM_BLOCK";
+               case VK_FORMAT_ASTC_8x6_SRGB_BLOCK:                                                             return "VK_FORMAT_ASTC_8x6_SRGB_BLOCK";
+               case VK_FORMAT_ASTC_8x8_UNORM_BLOCK:                                                    return "VK_FORMAT_ASTC_8x8_UNORM_BLOCK";
+               case VK_FORMAT_ASTC_8x8_SRGB_BLOCK:                                                             return "VK_FORMAT_ASTC_8x8_SRGB_BLOCK";
+               case VK_FORMAT_ASTC_10x5_UNORM_BLOCK:                                                   return "VK_FORMAT_ASTC_10x5_UNORM_BLOCK";
+               case VK_FORMAT_ASTC_10x5_SRGB_BLOCK:                                                    return "VK_FORMAT_ASTC_10x5_SRGB_BLOCK";
+               case VK_FORMAT_ASTC_10x6_UNORM_BLOCK:                                                   return "VK_FORMAT_ASTC_10x6_UNORM_BLOCK";
+               case VK_FORMAT_ASTC_10x6_SRGB_BLOCK:                                                    return "VK_FORMAT_ASTC_10x6_SRGB_BLOCK";
+               case VK_FORMAT_ASTC_10x8_UNORM_BLOCK:                                                   return "VK_FORMAT_ASTC_10x8_UNORM_BLOCK";
+               case VK_FORMAT_ASTC_10x8_SRGB_BLOCK:                                                    return "VK_FORMAT_ASTC_10x8_SRGB_BLOCK";
+               case VK_FORMAT_ASTC_10x10_UNORM_BLOCK:                                                  return "VK_FORMAT_ASTC_10x10_UNORM_BLOCK";
+               case VK_FORMAT_ASTC_10x10_SRGB_BLOCK:                                                   return "VK_FORMAT_ASTC_10x10_SRGB_BLOCK";
+               case VK_FORMAT_ASTC_12x10_UNORM_BLOCK:                                                  return "VK_FORMAT_ASTC_12x10_UNORM_BLOCK";
+               case VK_FORMAT_ASTC_12x10_SRGB_BLOCK:                                                   return "VK_FORMAT_ASTC_12x10_SRGB_BLOCK";
+               case VK_FORMAT_ASTC_12x12_UNORM_BLOCK:                                                  return "VK_FORMAT_ASTC_12x12_UNORM_BLOCK";
+               case VK_FORMAT_ASTC_12x12_SRGB_BLOCK:                                                   return "VK_FORMAT_ASTC_12x12_SRGB_BLOCK";
+               case VK_FORMAT_G8B8G8R8_422_UNORM:                                                              return "VK_FORMAT_G8B8G8R8_422_UNORM";
+               case VK_FORMAT_B8G8R8G8_422_UNORM:                                                              return "VK_FORMAT_B8G8R8G8_422_UNORM";
+               case VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM:                                               return "VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM";
+               case VK_FORMAT_G8_B8R8_2PLANE_420_UNORM:                                                return "VK_FORMAT_G8_B8R8_2PLANE_420_UNORM";
+               case VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM:                                               return "VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM";
+               case VK_FORMAT_G8_B8R8_2PLANE_422_UNORM:                                                return "VK_FORMAT_G8_B8R8_2PLANE_422_UNORM";
+               case VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM:                                               return "VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM";
+               case VK_FORMAT_R10X6_UNORM_PACK16:                                                              return "VK_FORMAT_R10X6_UNORM_PACK16";
+               case VK_FORMAT_R10X6G10X6_UNORM_2PACK16:                                                return "VK_FORMAT_R10X6G10X6_UNORM_2PACK16";
+               case VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16:                              return "VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16";
+               case VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16:                  return "VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16";
+               case VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16:                  return "VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16";
+               case VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16:              return "VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16";
+               case VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16:               return "VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16";
+               case VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16:              return "VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16";
+               case VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16:               return "VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16";
+               case VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16:              return "VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16";
+               case VK_FORMAT_R12X4_UNORM_PACK16:                                                              return "VK_FORMAT_R12X4_UNORM_PACK16";
+               case VK_FORMAT_R12X4G12X4_UNORM_2PACK16:                                                return "VK_FORMAT_R12X4G12X4_UNORM_2PACK16";
+               case VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16:                              return "VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16";
+               case VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16:                  return "VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16";
+               case VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16:                  return "VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16";
+               case VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16:              return "VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16";
+               case VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16:               return "VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16";
+               case VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16:              return "VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16";
+               case VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16:               return "VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16";
+               case VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16:              return "VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16";
+               case VK_FORMAT_G16B16G16R16_422_UNORM:                                                  return "VK_FORMAT_G16B16G16R16_422_UNORM";
+               case VK_FORMAT_B16G16R16G16_422_UNORM:                                                  return "VK_FORMAT_B16G16R16G16_422_UNORM";
+               case VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM:                                    return "VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM";
+               case VK_FORMAT_G16_B16R16_2PLANE_420_UNORM:                                             return "VK_FORMAT_G16_B16R16_2PLANE_420_UNORM";
+               case VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM:                                    return "VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM";
+               case VK_FORMAT_G16_B16R16_2PLANE_422_UNORM:                                             return "VK_FORMAT_G16_B16R16_2PLANE_422_UNORM";
+               case VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM:                                    return "VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM";
+               case VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG:                                             return "VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG";
+               case VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG:                                             return "VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG";
+               case VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG:                                             return "VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG";
+               case VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG:                                             return "VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG";
+               case VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG:                                              return "VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG";
+               case VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG:                                              return "VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG";
+               case VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG:                                              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_4x4_SFLOAT_BLOCK_EXT:                                               return "VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT";
+               case VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT:                                               return "VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT";
+               case VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT:                                               return "VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT";
+               case VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT:                                               return "VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT";
+               case VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT:                                               return "VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT";
+               case VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT:                                               return "VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT";
+               case VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT:                                               return "VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT";
+               case VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT:                                               return "VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT";
+               case VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT:                                              return "VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT";
+               case VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT:                                              return "VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT";
+               case VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT:                                              return "VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT";
+               case VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT:                                             return "VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT";
+               case VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT:                                             return "VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT";
+               case VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT:                                             return "VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT";
+               case VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT:                                    return "VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT";
+               case VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT:   return "VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT";
+               case VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT:   return "VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT";
+               case VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT:                                 return "VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT";
+               case VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT:                                               return "VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT";
+               case VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT:                                               return "VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT";
+               case VK_FORMAT_MAX_ENUM:                                                                                return "VK_FORMAT_MAX_ENUM";
+               default:                                                                                                                return DE_NULL;
        }
 }
 
@@ -1042,6 +1105,8 @@ const char* getQueryTypeName (VkQueryType value)
                case VK_QUERY_TYPE_OCCLUSION:                                                                           return "VK_QUERY_TYPE_OCCLUSION";
                case VK_QUERY_TYPE_PIPELINE_STATISTICS:                                                         return "VK_QUERY_TYPE_PIPELINE_STATISTICS";
                case VK_QUERY_TYPE_TIMESTAMP:                                                                           return "VK_QUERY_TYPE_TIMESTAMP";
+               case VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR:                                                      return "VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR";
+               case VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR:                     return "VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR";
                case VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT:                                       return "VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT";
                case VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR:                                                       return "VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR";
                case VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR:           return "VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR";
@@ -1235,6 +1300,8 @@ const char* getDynamicStateName (VkDynamicState value)
                case VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT:                     return "VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT";
                case VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT:                          return "VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT";
                case VK_DYNAMIC_STATE_STENCIL_OP_EXT:                                           return "VK_DYNAMIC_STATE_STENCIL_OP_EXT";
+               case VK_DYNAMIC_STATE_VERTEX_INPUT_EXT:                                         return "VK_DYNAMIC_STATE_VERTEX_INPUT_EXT";
+               case VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT:                           return "VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT";
                case VK_DYNAMIC_STATE_MAX_ENUM:                                                         return "VK_DYNAMIC_STATE_MAX_ENUM";
                default:                                                                                                        return DE_NULL;
        }
@@ -1573,6 +1640,7 @@ const char* getDriverIdName (VkDriverId value)
                case VK_DRIVER_ID_BROADCOM_PROPRIETARY:                 return "VK_DRIVER_ID_BROADCOM_PROPRIETARY";
                case VK_DRIVER_ID_MESA_LLVMPIPE:                                return "VK_DRIVER_ID_MESA_LLVMPIPE";
                case VK_DRIVER_ID_MOLTENVK:                                             return "VK_DRIVER_ID_MOLTENVK";
+               case VK_DRIVER_ID_COREAVI_PROPRIETARY:                  return "VK_DRIVER_ID_COREAVI_PROPRIETARY";
                case VK_DRIVER_ID_MAX_ENUM:                                             return "VK_DRIVER_ID_MAX_ENUM";
                default:                                                                                return DE_NULL;
        }
@@ -2404,6 +2472,10 @@ tcu::Format::Bitfield<32> getFormatFeatureFlagsStr (VkFormatFeatureFlags value)
                tcu::Format::BitDesc(VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT,                                                                                                              "VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT"),
                tcu::Format::BitDesc(VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT,                                                                                                 "VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT"),
                tcu::Format::BitDesc(VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG,                                                                                              "VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG"),
+               tcu::Format::BitDesc(VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR,                                                                                                             "VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR"),
+               tcu::Format::BitDesc(VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR,                                                                                                                "VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR"),
+               tcu::Format::BitDesc(VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR,                                                                                                              "VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR"),
+               tcu::Format::BitDesc(VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR,                                                                                                                "VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR"),
                tcu::Format::BitDesc(VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR,                                                                    "VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR"),
                tcu::Format::BitDesc(VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT,                                                                                                    "VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT"),
                tcu::Format::BitDesc(VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,                                                                                "VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR"),
@@ -2481,6 +2553,12 @@ tcu::Format::Bitfield<32> getImageUsageFlagsStr (VkImageUsageFlags value)
                tcu::Format::BitDesc(VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT,                               "VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT"),
                tcu::Format::BitDesc(VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT,                                   "VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT"),
                tcu::Format::BitDesc(VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT,                                               "VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT"),
+               tcu::Format::BitDesc(VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR,                                   "VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR"),
+               tcu::Format::BitDesc(VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR,                                   "VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR"),
+               tcu::Format::BitDesc(VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR,                                   "VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR"),
+               tcu::Format::BitDesc(VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR,                                   "VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR"),
+               tcu::Format::BitDesc(VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR,                                   "VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR"),
+               tcu::Format::BitDesc(VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR,                                   "VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR"),
                tcu::Format::BitDesc(VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV,                                  "VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV"),
                tcu::Format::BitDesc(VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT,                               "VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT"),
                tcu::Format::BitDesc(VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,   "VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR"),
@@ -2527,6 +2605,8 @@ tcu::Format::Bitfield<32> getQueueFlagsStr (VkQueueFlags value)
                tcu::Format::BitDesc(VK_QUEUE_TRANSFER_BIT,                     "VK_QUEUE_TRANSFER_BIT"),
                tcu::Format::BitDesc(VK_QUEUE_SPARSE_BINDING_BIT,       "VK_QUEUE_SPARSE_BINDING_BIT"),
                tcu::Format::BitDesc(VK_QUEUE_PROTECTED_BIT,            "VK_QUEUE_PROTECTED_BIT"),
+               tcu::Format::BitDesc(VK_QUEUE_VIDEO_DECODE_BIT_KHR,     "VK_QUEUE_VIDEO_DECODE_BIT_KHR"),
+               tcu::Format::BitDesc(VK_QUEUE_VIDEO_ENCODE_BIT_KHR,     "VK_QUEUE_VIDEO_ENCODE_BIT_KHR"),
                tcu::Format::BitDesc(VK_QUEUE_FLAG_BITS_MAX_ENUM,       "VK_QUEUE_FLAG_BITS_MAX_ENUM"),
        };
        return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
@@ -2651,6 +2731,7 @@ tcu::Format::Bitfield<32> getQueryResultFlagsStr (VkQueryResultFlags value)
                tcu::Format::BitDesc(VK_QUERY_RESULT_WAIT_BIT,                          "VK_QUERY_RESULT_WAIT_BIT"),
                tcu::Format::BitDesc(VK_QUERY_RESULT_WITH_AVAILABILITY_BIT,     "VK_QUERY_RESULT_WITH_AVAILABILITY_BIT"),
                tcu::Format::BitDesc(VK_QUERY_RESULT_PARTIAL_BIT,                       "VK_QUERY_RESULT_PARTIAL_BIT"),
+               tcu::Format::BitDesc(VK_QUERY_RESULT_WITH_STATUS_BIT_KHR,       "VK_QUERY_RESULT_WITH_STATUS_BIT_KHR"),
                tcu::Format::BitDesc(VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM,        "VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM"),
        };
        return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
@@ -2686,6 +2767,10 @@ tcu::Format::Bitfield<32> getBufferUsageFlagsStr (VkBufferUsageFlags value)
                tcu::Format::BitDesc(VK_BUFFER_USAGE_VERTEX_BUFFER_BIT,                                                                         "VK_BUFFER_USAGE_VERTEX_BUFFER_BIT"),
                tcu::Format::BitDesc(VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT,                                                                       "VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT"),
                tcu::Format::BitDesc(VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,                                                         "VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT"),
+               tcu::Format::BitDesc(VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR,                                                          "VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR"),
+               tcu::Format::BitDesc(VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR,                                                          "VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR"),
+               tcu::Format::BitDesc(VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR,                                                          "VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR"),
+               tcu::Format::BitDesc(VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR,                                                          "VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR"),
                tcu::Format::BitDesc(VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT,                                         "VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT"),
                tcu::Format::BitDesc(VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT,                         "VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT"),
                tcu::Format::BitDesc(VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT,                                                     "VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT"),
@@ -10081,6 +10166,28 @@ std::ostream& operator<< (std::ostream& s, const VkGeneratedCommandsMemoryRequir
        return s;
 }
 
+std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceInheritedViewportScissorFeaturesNV& value)
+{
+       s << "VkPhysicalDeviceInheritedViewportScissorFeaturesNV = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tinheritedViewportScissor2D = " << value.inheritedViewportScissor2D << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkCommandBufferInheritanceViewportScissorInfoNV& value)
+{
+       s << "VkCommandBufferInheritanceViewportScissorInfoNV = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tviewportScissor2D = " << value.viewportScissor2D << '\n';
+       s << "\tviewportDepthCount = " << value.viewportDepthCount << '\n';
+       s << "\tpViewportDepths = " << value.pViewportDepths << '\n';
+       s << '}';
+       return s;
+}
+
 std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT& value)
 {
        s << "VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT = {\n";
@@ -10312,6 +10419,16 @@ std::ostream& operator<< (std::ostream& s, const VkPipelineFragmentShadingRateEn
        return s;
 }
 
+std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT& value)
+{
+       s << "VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tycbcr2plane444Formats = " << value.ycbcr2plane444Formats << '\n';
+       s << '}';
+       return s;
+}
+
 std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentDensityMap2FeaturesEXT& value)
 {
        s << "VkPhysicalDeviceFragmentDensityMap2FeaturesEXT = {\n";
@@ -10396,6 +10513,63 @@ std::ostream& operator<< (std::ostream& s, const VkMutableDescriptorTypeCreateIn
        return s;
 }
 
+std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT& value)
+{
+       s << "VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tvertexInputDynamicState = " << value.vertexInputDynamicState << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkVertexInputBindingDescription2EXT& value)
+{
+       s << "VkVertexInputBindingDescription2EXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tbinding = " << value.binding << '\n';
+       s << "\tstride = " << value.stride << '\n';
+       s << "\tinputRate = " << value.inputRate << '\n';
+       s << "\tdivisor = " << value.divisor << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkVertexInputAttributeDescription2EXT& value)
+{
+       s << "VkVertexInputAttributeDescription2EXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tlocation = " << value.location << '\n';
+       s << "\tbinding = " << value.binding << '\n';
+       s << "\tformat = " << value.format << '\n';
+       s << "\toffset = " << value.offset << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceColorWriteEnableFeaturesEXT& value)
+{
+       s << "VkPhysicalDeviceColorWriteEnableFeaturesEXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tcolorWriteEnable = " << value.colorWriteEnable << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkPipelineColorWriteCreateInfoEXT& value)
+{
+       s << "VkPipelineColorWriteCreateInfoEXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tattachmentCount = " << value.attachmentCount << '\n';
+       s << "\tpColorWriteEnables = " << value.pColorWriteEnables << '\n';
+       s << '}';
+       return s;
+}
+
 std::ostream& operator<< (std::ostream& s, const VkDeviceOrHostAddressKHR& value)
 {
        s << "VkDeviceOrHostAddressKHR = {\n";
index aa6322f..282f546 100644 (file)
@@ -4781,6 +4781,22 @@ struct VkGeneratedCommandsMemoryRequirementsInfoNV
        deUint32                                        maxSequencesCount;
 };
 
+struct VkPhysicalDeviceInheritedViewportScissorFeaturesNV
+{
+       VkStructureType sType;
+       void*                   pNext;
+       VkBool32                inheritedViewportScissor2D;
+};
+
+struct VkCommandBufferInheritanceViewportScissorInfoNV
+{
+       VkStructureType         sType;
+       const void*                     pNext;
+       VkBool32                        viewportScissor2D;
+       deUint32                        viewportDepthCount;
+       const VkViewport*       pViewportDepths;
+};
+
 struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT
 {
        VkStructureType sType;
@@ -4949,6 +4965,13 @@ struct VkPipelineFragmentShadingRateEnumStateCreateInfoNV
        VkFragmentShadingRateCombinerOpKHR      combinerOps[2];
 };
 
+struct VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT
+{
+       VkStructureType sType;
+       void*                   pNext;
+       VkBool32                ycbcr2plane444Formats;
+};
+
 struct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT
 {
        VkStructureType sType;
@@ -5009,6 +5032,48 @@ struct VkMutableDescriptorTypeCreateInfoVALVE
        const VkMutableDescriptorTypeListVALVE* pMutableDescriptorTypeLists;
 };
 
+struct VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT
+{
+       VkStructureType sType;
+       void*                   pNext;
+       VkBool32                vertexInputDynamicState;
+};
+
+struct VkVertexInputBindingDescription2EXT
+{
+       VkStructureType         sType;
+       void*                           pNext;
+       deUint32                        binding;
+       deUint32                        stride;
+       VkVertexInputRate       inputRate;
+       deUint32                        divisor;
+};
+
+struct VkVertexInputAttributeDescription2EXT
+{
+       VkStructureType sType;
+       void*                   pNext;
+       deUint32                location;
+       deUint32                binding;
+       VkFormat                format;
+       deUint32                offset;
+};
+
+struct VkPhysicalDeviceColorWriteEnableFeaturesEXT
+{
+       VkStructureType sType;
+       void*                   pNext;
+       VkBool32                colorWriteEnable;
+};
+
+struct VkPipelineColorWriteCreateInfoEXT
+{
+       VkStructureType sType;
+       const void*             pNext;
+       deUint32                attachmentCount;
+       const VkBool32* pColorWriteEnables;
+};
+
 union VkDeviceOrHostAddressKHR
 {
        VkDeviceAddress deviceAddress;
index 44a09c2..fcde82c 100644 (file)
@@ -295,6 +295,8 @@ virtual void                                destroyPrivateDataSlotEXT                                               (VkDevice device, VkPrivateDataSl
 virtual VkResult                       setPrivateDataEXT                                                               (VkDevice device, VkObjectType objectType, deUint64 objectHandle, VkPrivateDataSlotEXT privateDataSlot, deUint64 data) const = 0;
 virtual void                           getPrivateDataEXT                                                               (VkDevice device, VkObjectType objectType, deUint64 objectHandle, VkPrivateDataSlotEXT privateDataSlot, deUint64* pData) const = 0;
 virtual void                           cmdSetFragmentShadingRateEnumNV                                 (VkCommandBuffer commandBuffer, VkFragmentShadingRateNV shadingRate, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]) const = 0;
+virtual void                           cmdSetVertexInputEXT                                                    (VkCommandBuffer commandBuffer, deUint32 vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, deUint32 vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions) const = 0;
+virtual void                           cmdSetColorWriteEnableEXT                                               (VkCommandBuffer commandBuffer, deUint32 attachmentCount, const VkBool32* pColorWriteEnables) const = 0;
 virtual VkResult                       createAccelerationStructureKHR                                  (VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure) const = 0;
 virtual void                           destroyAccelerationStructureKHR                                 (VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator) const = 0;
 virtual void                           cmdBuildAccelerationStructuresKHR                               (VkCommandBuffer commandBuffer, deUint32 infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos) const = 0;
index 4a44491..f9dc9ca 100644 (file)
@@ -39,19 +39,10 @@ extern "C" {
 
 #ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE
     #if (VK_USE_64_BIT_PTR_DEFINES==1)
-        #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object;
-    #else
-        #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef deUint64 object;
-    #endif
-#endif
-
-
-#ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE
-    #if (VK_USE_64_BIT_PTR_DEFINES==1)
         #if __cplusplus >= 201103L
             #define VK_NULL_HANDLE nullptr
         #else
-            #define VK_NULL_HANDLE ((void*)0)
+            #define VK_NULL_HANDLE 0
         #endif
     #else
         #define VK_NULL_HANDLE 0ULL
@@ -61,24 +52,47 @@ extern "C" {
     #define VK_NULL_HANDLE 0
 #endif
 
+
+#ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE
+    #if (VK_USE_64_BIT_PTR_DEFINES==1)
+        #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object;
+    #else
+        #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef deUint64 object;
+    #endif
+#endif
+
+// DEPRECATED: This define is deprecated. VK_MAKE_API_VERSION should be used instead.
 #define VK_MAKE_VERSION(major, minor, patch) \
     ((((deUint32)(major)) << 22) | (((deUint32)(minor)) << 12) | ((deUint32)(patch)))
 
 // DEPRECATED: This define has been removed. Specific version defines (e.g. VK_API_VERSION_1_0), or the VK_MAKE_VERSION macro, should be used instead.
 //#define VK_API_VERSION VK_MAKE_VERSION(1, 0, 0) // Patch version should always be set to 0
 
+#define VK_MAKE_API_VERSION(variant, major, minor, patch) \
+    ((((deUint32)(variant)) << 29) | (((deUint32)(major)) << 22) | (((deUint32)(minor)) << 12) | ((deUint32)(patch)))
+
 // Vulkan 1.0 version number
-#define VK_API_VERSION_1_0 VK_MAKE_VERSION(1, 0, 0)// Patch version should always be set to 0
+#define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0
 
 // Version of this file
-#define VK_HEADER_VERSION 174
+#define VK_HEADER_VERSION 175
 
 // Complete version of this file
-#define VK_HEADER_VERSION_COMPLETE VK_MAKE_VERSION(1, 2, VK_HEADER_VERSION)
+#define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 2, VK_HEADER_VERSION)
 
+// DEPRECATED: This define is deprecated. VK_API_VERSION_MAJOR should be used instead.
 #define VK_VERSION_MAJOR(version) ((deUint32)(version) >> 22)
+
+// DEPRECATED: This define is deprecated. VK_API_VERSION_MINOR should be used instead.
 #define VK_VERSION_MINOR(version) (((deUint32)(version) >> 12) & 0x3FFU)
+
+// DEPRECATED: This define is deprecated. VK_API_VERSION_PATCH should be used instead.
 #define VK_VERSION_PATCH(version) ((deUint32)(version) & 0xFFFU)
+
+#define VK_API_VERSION_VARIANT(version) ((deUint32)(version) >> 29)
+#define VK_API_VERSION_MAJOR(version) (((deUint32)(version) >> 22) & 0x7FU)
+#define VK_API_VERSION_MINOR(version) (((deUint32)(version) >> 12) & 0x3FFU)
+#define VK_API_VERSION_PATCH(version) ((deUint32)(version) & 0xFFFU)
 typedef deUint32 VkBool32;
 typedef deUint64 VkDeviceAddress;
 typedef deUint64 VkDeviceSize;
@@ -110,20 +124,20 @@ VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool)
 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer)
 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool)
 #define VK_ATTACHMENT_UNUSED              (~0U)
-#define VK_FALSE                          0
+#define VK_FALSE                          0U
 #define VK_LOD_CLAMP_NONE                 1000.0F
 #define VK_QUEUE_FAMILY_IGNORED           (~0U)
 #define VK_REMAINING_ARRAY_LAYERS         (~0U)
 #define VK_REMAINING_MIP_LEVELS           (~0U)
 #define VK_SUBPASS_EXTERNAL               (~0U)
-#define VK_TRUE                           1
+#define VK_TRUE                           1U
 #define VK_WHOLE_SIZE                     (~0ULL)
-#define VK_MAX_MEMORY_TYPES               32
-#define VK_MAX_MEMORY_HEAPS               16
-#define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE  256
-#define VK_UUID_SIZE                      16
-#define VK_MAX_EXTENSION_NAME_SIZE        256
-#define VK_MAX_DESCRIPTION_SIZE           256
+#define VK_MAX_MEMORY_TYPES               32U
+#define VK_MAX_MEMORY_HEAPS               16U
+#define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE  256U
+#define VK_UUID_SIZE                      16U
+#define VK_MAX_EXTENSION_NAME_SIZE        256U
+#define VK_MAX_DESCRIPTION_SIZE           256U
 
 typedef enum VkResult {
     VK_SUCCESS = 0,
@@ -359,6 +373,63 @@ typedef enum VkStructureType {
     VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT = 1000022000,
     VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT = 1000022001,
     VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT = 1000022002,
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_PROFILE_KHR = 1000023000,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR = 1000023001,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_KHR = 1000023002,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_GET_MEMORY_PROPERTIES_KHR = 1000023003,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_BIND_MEMORY_KHR = 1000023004,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_SESSION_CREATE_INFO_KHR = 1000023005,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000023006,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR = 1000023007,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHR = 1000023008,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_END_CODING_INFO_KHR = 1000023009,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHR = 1000023010,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_KHR = 1000023011,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_QUEUE_FAMILY_PROPERTIES_2_KHR = 1000023012,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_PROFILES_KHR = 1000023013,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR = 1000023014,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR = 1000023015,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR = 1000024000,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR = 1000299000,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR = 1000299001,
+#endif
     VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000,
     VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001,
     VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV = 1000026002,
@@ -367,6 +438,57 @@ typedef enum VkStructureType {
     VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT = 1000028002,
     VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX = 1000030000,
     VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX = 1000030001,
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT = 1000038000,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_EXT = 1000038001,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000038002,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT = 1000038003,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT = 1000038004,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT = 1000038005,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_EXT = 1000038006,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_EXT = 1000038007,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_EXT = 1000038008,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_EXT = 1000040000,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_CREATE_INFO_EXT = 1000040001,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_EXT = 1000040002,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_MVC_EXT = 1000040003,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_EXT = 1000040004,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000040005,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT = 1000040006,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT = 1000040007,
+#endif
     VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000,
     VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP = 1000049000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV = 1000050000,
@@ -526,6 +648,27 @@ typedef enum VkStructureType {
     VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD = 1000183000,
     VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT = 1000184000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD = 1000185000,
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_EXT = 1000187000,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_CREATE_INFO_EXT = 1000187001,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000187002,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT = 1000187003,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_EXT = 1000187004,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_EXT = 1000187005,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_EXT = 1000187006,
+#endif
     VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD = 1000189000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT = 1000190000,
     VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT = 1000190001,
@@ -610,6 +753,8 @@ typedef enum VkStructureType {
     VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV = 1000277005,
     VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV = 1000277006,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV = 1000277007,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV = 1000278000,
+    VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV = 1000278001,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT = 1000281000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT = 1000281001,
     VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM = 1000282000,
@@ -643,6 +788,7 @@ typedef enum VkStructureType {
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV = 1000326000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV = 1000326001,
     VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV = 1000326002,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT = 1000330000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT = 1000332000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT = 1000332001,
     VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM = 1000333000,
@@ -663,12 +809,17 @@ typedef enum VkStructureType {
     VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT = 1000346000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE = 1000351000,
     VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE = 1000351002,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT = 1000352000,
+    VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT = 1000352001,
+    VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT = 1000352002,
     VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364000,
     VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA = 1000364001,
     VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364002,
     VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365000,
     VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365001,
     VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX = 1000378000,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT = 1000381000,
+    VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT = 1000381001,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
     VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
@@ -803,6 +954,24 @@ typedef enum VkImageLayout {
     VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL = 1000241002,
     VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL = 1000241003,
     VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002,
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR = 1000024000,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR = 1000024001,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR = 1000024002,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR = 1000299000,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR = 1000299001,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR = 1000299002,
+#endif
     VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR = 1000111000,
     VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = 1000164003,
     VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000,
@@ -852,6 +1021,12 @@ typedef enum VkObjectType {
     VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000,
     VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001,
     VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000,
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_OBJECT_TYPE_VIDEO_SESSION_KHR = 1000023000,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR = 1000023001,
+#endif
     VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000,
     VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000,
     VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000,
@@ -1136,6 +1311,10 @@ typedef enum VkFormat {
     VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT = 1000066011,
     VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT = 1000066012,
     VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT = 1000066013,
+    VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT = 1000330000,
+    VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT = 1000330001,
+    VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT = 1000330002,
+    VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT = 1000330003,
     VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT = 1000340000,
     VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT = 1000340001,
     VK_FORMAT_G8B8G8R8_422_UNORM_KHR = VK_FORMAT_G8B8G8R8_422_UNORM,
@@ -1202,6 +1381,12 @@ typedef enum VkQueryType {
     VK_QUERY_TYPE_OCCLUSION = 0,
     VK_QUERY_TYPE_PIPELINE_STATISTICS = 1,
     VK_QUERY_TYPE_TIMESTAMP = 2,
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR = 1000023000,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR = 1000299000,
+#endif
     VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT = 1000028004,
     VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR = 1000116000,
     VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR = 1000150000,
@@ -1360,6 +1545,8 @@ typedef enum VkDynamicState {
     VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT = 1000267009,
     VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT = 1000267010,
     VK_DYNAMIC_STATE_STENCIL_OP_EXT = 1000267011,
+    VK_DYNAMIC_STATE_VERTEX_INPUT_EXT = 1000352000,
+    VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT = 1000381000,
     VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF
 } VkDynamicState;
 
@@ -1609,6 +1796,18 @@ typedef enum VkFormatFeatureFlagBits {
     VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT = 0x00800000,
     VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000,
     VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = 0x00002000,
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x02000000,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR = 0x04000000,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000,
+#endif
     VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000,
     VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000,
     VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000,
@@ -1674,6 +1873,24 @@ typedef enum VkImageUsageFlagBits {
     VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000020,
     VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000040,
     VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0x00000080,
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00000400,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00000800,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR = 0x00001000,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00002000,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00004000,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR = 0x00008000,
+#endif
     VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = 0x00000100,
     VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x00000200,
     VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV,
@@ -1709,6 +1926,12 @@ typedef enum VkQueueFlagBits {
     VK_QUEUE_TRANSFER_BIT = 0x00000004,
     VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008,
     VK_QUEUE_PROTECTED_BIT = 0x00000010,
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_QUEUE_VIDEO_DECODE_BIT_KHR = 0x00000020,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_QUEUE_VIDEO_ENCODE_BIT_KHR = 0x00000040,
+#endif
     VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
 } VkQueueFlagBits;
 typedef VkFlags VkQueueFlags;
@@ -1805,6 +2028,9 @@ typedef enum VkQueryResultFlagBits {
     VK_QUERY_RESULT_WAIT_BIT = 0x00000002,
     VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004,
     VK_QUERY_RESULT_PARTIAL_BIT = 0x00000008,
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_QUERY_RESULT_WITH_STATUS_BIT_KHR = 0x00000010,
+#endif
     VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
 } VkQueryResultFlagBits;
 typedef VkFlags VkQueryResultFlags;
@@ -1832,6 +2058,18 @@ typedef enum VkBufferUsageFlagBits {
     VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 0x00000080,
     VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 0x00000100,
     VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT = 0x00020000,
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00002000,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00004000,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00008000,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00010000,
+#endif
     VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0x00000800,
     VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000,
     VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200,
@@ -4114,12 +4352,12 @@ VKAPI_ATTR void VKAPI_CALL vkCmdExecuteCommands(
 
 #define VK_VERSION_1_1 1
 // Vulkan 1.1 version number
-#define VK_API_VERSION_1_1 VK_MAKE_VERSION(1, 1, 0)// Patch version should always be set to 0
+#define VK_API_VERSION_1_1 VK_MAKE_API_VERSION(0, 1, 1, 0)// Patch version should always be set to 0
 
 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion)
 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate)
-#define VK_MAX_DEVICE_GROUP_SIZE          32
-#define VK_LUID_SIZE                      8
+#define VK_MAX_DEVICE_GROUP_SIZE          32U
+#define VK_LUID_SIZE                      8U
 #define VK_QUEUE_FAMILY_EXTERNAL          (~1U)
 
 typedef enum VkPointClippingBehavior {
@@ -4978,10 +5216,10 @@ VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupport(
 
 #define VK_VERSION_1_2 1
 // Vulkan 1.2 version number
-#define VK_API_VERSION_1_2 VK_MAKE_VERSION(1, 2, 0)// Patch version should always be set to 0
+#define VK_API_VERSION_1_2 VK_MAKE_API_VERSION(0, 1, 2, 0)// Patch version should always be set to 0
 
-#define VK_MAX_DRIVER_NAME_SIZE           256
-#define VK_MAX_DRIVER_INFO_SIZE           256
+#define VK_MAX_DRIVER_NAME_SIZE           256U
+#define VK_MAX_DRIVER_INFO_SIZE           256U
 
 typedef enum VkDriverId {
     VK_DRIVER_ID_AMD_PROPRIETARY = 1,
@@ -4998,6 +5236,7 @@ typedef enum VkDriverId {
     VK_DRIVER_ID_BROADCOM_PROPRIETARY = 12,
     VK_DRIVER_ID_MESA_LLVMPIPE = 13,
     VK_DRIVER_ID_MOLTENVK = 14,
+    VK_DRIVER_ID_COREAVI_PROPRIETARY = 15,
     VK_DRIVER_ID_AMD_PROPRIETARY_KHR = VK_DRIVER_ID_AMD_PROPRIETARY,
     VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = VK_DRIVER_ID_AMD_OPEN_SOURCE,
     VK_DRIVER_ID_MESA_RADV_KHR = VK_DRIVER_ID_MESA_RADV,
@@ -6514,7 +6753,7 @@ typedef VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeature
 
 
 #define VK_KHR_incremental_present 1
-#define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 1
+#define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 2
 #define VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME "VK_KHR_incremental_present"
 typedef struct VkRectLayerKHR {
     VkOffset2D    offset;
@@ -7611,6 +7850,12 @@ static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR = 0x8
 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR = 0x1000000000ULL;
 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR = 0x2000000000ULL;
 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR = 0x4000000000ULL;
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR = 0x04000000ULL;
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR = 0x08000000ULL;
+#endif
 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000ULL;
 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000ULL;
 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV = 0x00020000ULL;
@@ -7650,6 +7895,18 @@ static const VkAccessFlagBits2KHR VK_ACCESS_2_MEMORY_WRITE_BIT_KHR = 0x00010000U
 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR = 0x100000000ULL;
 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR = 0x200000000ULL;
 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR = 0x400000000ULL;
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR = 0x800000000ULL;
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR = 0x1000000000ULL;
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR = 0x2000000000ULL;
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR = 0x4000000000ULL;
+#endif
 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000ULL;
 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000ULL;
 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000ULL;
@@ -11389,6 +11646,25 @@ VKAPI_ATTR void VKAPI_CALL vkDestroyIndirectCommandsLayoutNV(
 #endif
 
 
+#define VK_NV_inherited_viewport_scissor 1
+#define VK_NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION 1
+#define VK_NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME "VK_NV_inherited_viewport_scissor"
+typedef struct VkPhysicalDeviceInheritedViewportScissorFeaturesNV {
+    VkStructureType    sType;
+    void*              pNext;
+    VkBool32           inheritedViewportScissor2D;
+} VkPhysicalDeviceInheritedViewportScissorFeaturesNV;
+
+typedef struct VkCommandBufferInheritanceViewportScissorInfoNV {
+    VkStructureType      sType;
+    const void*          pNext;
+    VkBool32             viewportScissor2D;
+    deUint32             viewportDepthCount;
+    const VkViewport*    pViewportDepths;
+} VkCommandBufferInheritanceViewportScissorInfoNV;
+
+
+
 #define VK_EXT_texel_buffer_alignment 1
 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION 1
 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME "VK_EXT_texel_buffer_alignment"
@@ -11410,7 +11686,7 @@ typedef struct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT {
 
 
 #define VK_QCOM_render_pass_transform 1
-#define VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION 1
+#define VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION 2
 #define VK_QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME "VK_QCOM_render_pass_transform"
 typedef struct VkRenderPassTransformBeginInfoQCOM {
     VkStructureType                  sType;
@@ -11680,6 +11956,17 @@ VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateEnumNV(
 #endif
 
 
+#define VK_EXT_ycbcr_2plane_444_formats 1
+#define VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION 1
+#define VK_EXT_YCBCR_2PLANE_444_FORMATS_EXTENSION_NAME "VK_EXT_ycbcr_2plane_444_formats"
+typedef struct VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT {
+    VkStructureType    sType;
+    void*              pNext;
+    VkBool32           ycbcr2plane444Formats;
+} VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT;
+
+
+
 #define VK_EXT_fragment_density_map2 1
 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION 1
 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME "VK_EXT_fragment_density_map2"
@@ -11775,6 +12062,71 @@ typedef struct VkMutableDescriptorTypeCreateInfoVALVE {
 
 
 
+#define VK_EXT_vertex_input_dynamic_state 1
+#define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION 2
+#define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_vertex_input_dynamic_state"
+typedef struct VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT {
+    VkStructureType    sType;
+    void*              pNext;
+    VkBool32           vertexInputDynamicState;
+} VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT;
+
+typedef struct VkVertexInputBindingDescription2EXT {
+    VkStructureType      sType;
+    void*                pNext;
+    deUint32             binding;
+    deUint32             stride;
+    VkVertexInputRate    inputRate;
+    deUint32             divisor;
+} VkVertexInputBindingDescription2EXT;
+
+typedef struct VkVertexInputAttributeDescription2EXT {
+    VkStructureType    sType;
+    void*              pNext;
+    deUint32           location;
+    deUint32           binding;
+    VkFormat           format;
+    deUint32           offset;
+} VkVertexInputAttributeDescription2EXT;
+
+typedef void (VKAPI_PTR *PFN_vkCmdSetVertexInputEXT)(VkCommandBuffer commandBuffer, deUint32 vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, deUint32 vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions);
+
+#ifndef VK_NO_PROTOTYPES
+VKAPI_ATTR void VKAPI_CALL vkCmdSetVertexInputEXT(
+    VkCommandBuffer                             commandBuffer,
+    deUint32                                    vertexBindingDescriptionCount,
+    const VkVertexInputBindingDescription2EXT*  pVertexBindingDescriptions,
+    deUint32                                    vertexAttributeDescriptionCount,
+    const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions);
+#endif
+
+
+#define VK_EXT_color_write_enable 1
+#define VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION 1
+#define VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME "VK_EXT_color_write_enable"
+typedef struct VkPhysicalDeviceColorWriteEnableFeaturesEXT {
+    VkStructureType    sType;
+    void*              pNext;
+    VkBool32           colorWriteEnable;
+} VkPhysicalDeviceColorWriteEnableFeaturesEXT;
+
+typedef struct VkPipelineColorWriteCreateInfoEXT {
+    VkStructureType    sType;
+    const void*        pNext;
+    deUint32           attachmentCount;
+    const VkBool32*    pColorWriteEnables;
+} VkPipelineColorWriteCreateInfoEXT;
+
+typedef void                                    (VKAPI_PTR *PFN_vkCmdSetColorWriteEnableEXT)(VkCommandBuffer       commandBuffer, deUint32                                attachmentCount, const VkBool32*   pColorWriteEnables);
+
+#ifndef VK_NO_PROTOTYPES
+VKAPI_ATTR void                                    VKAPI_CALL vkCmdSetColorWriteEnableEXT(
+    VkCommandBuffer                             commandBuffer,
+    deUint32                                    attachmentCount,
+    const VkBool32*                             pColorWriteEnables);
+#endif
+
+
 #define VK_KHR_acceleration_structure 1
 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR)
 #define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 11
index 7f93c05..8a3cdef 100644 (file)
@@ -135,8 +135,8 @@ void testInfoZeroTerminated (const VkPhysicalDeviceDriverPropertiesKHR& deviceDr
 
 void testVersion (const VkPhysicalDeviceDriverPropertiesKHR& deviceDriverProperties, deUint32 usedApiVersion)
 {
-       const deUint32 apiMajorVersion = VK_VERSION_MAJOR(usedApiVersion);
-       const deUint32 apiMinorVersion = VK_VERSION_MINOR(usedApiVersion);
+       const deUint32 apiMajorVersion = VK_API_VERSION_MAJOR(usedApiVersion);
+       const deUint32 apiMinorVersion = VK_API_VERSION_MINOR(usedApiVersion);
 
        if (deviceDriverProperties.conformanceVersion.major < apiMajorVersion ||
                (deviceDriverProperties.conformanceVersion.major == apiMajorVersion &&
index fe847d7..5dc91d8 100644 (file)
@@ -367,7 +367,7 @@ namespace
 
 deUint32 sanitizeApiVersion(deUint32 v)
 {
-       return VK_MAKE_VERSION( VK_VERSION_MAJOR(v), VK_VERSION_MINOR(v), 0 );
+       return VK_MAKE_VERSION(VK_API_VERSION_MAJOR(v), VK_API_VERSION_MINOR(v), 0 );
 }
 
 de::MovePtr<vk::DebugReportRecorder> createDebugReportRecorder (const vk::PlatformInterface& vkp, const vk::InstanceInterface& vki, vk::VkInstance instance, bool printValidationErrors)
index f1c3099..630f5dd 100644 (file)
@@ -59,6 +59,10 @@ def writeVulkanCHeader (src, filename):
        def gen ():
                dst = src.replace('#include "vk_platform.h"','')
 
+               # Amber is compiled using C++11 but under MSVC __cplusplus macro
+               # is incorrectly recognized and this triggers invalid definition
+               dst = dst.replace('VK_NULL_HANDLE ((void*)0)','VK_NULL_HANDLE 0')
+
                for old_type, new_type in TYPE_SUBSTITUTIONS:
                        dst = dst.replace(old_type, new_type)
                yield dst
index 2d57e1e..1f4c6cf 100644 (file)
@@ -36,15 +36,6 @@ extern "C" {
 
 #ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE
     #if (VK_USE_64_BIT_PTR_DEFINES==1)
-        #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object;
-    #else
-        #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t object;
-    #endif
-#endif
-
-
-#ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE
-    #if (VK_USE_64_BIT_PTR_DEFINES==1)
         #if __cplusplus >= 201103L
             #define VK_NULL_HANDLE nullptr
         #else
@@ -58,24 +49,47 @@ extern "C" {
     #define VK_NULL_HANDLE 0
 #endif
 
+
+#ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE
+    #if (VK_USE_64_BIT_PTR_DEFINES==1)
+        #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object;
+    #else
+        #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t object;
+    #endif
+#endif
+
+// DEPRECATED: This define is deprecated. VK_MAKE_API_VERSION should be used instead.
 #define VK_MAKE_VERSION(major, minor, patch) \
     ((((uint32_t)(major)) << 22) | (((uint32_t)(minor)) << 12) | ((uint32_t)(patch)))
 
 // DEPRECATED: This define has been removed. Specific version defines (e.g. VK_API_VERSION_1_0), or the VK_MAKE_VERSION macro, should be used instead.
 //#define VK_API_VERSION VK_MAKE_VERSION(1, 0, 0) // Patch version should always be set to 0
 
+#define VK_MAKE_API_VERSION(variant, major, minor, patch) \
+    ((((uint32_t)(variant)) << 29) | (((uint32_t)(major)) << 22) | (((uint32_t)(minor)) << 12) | ((uint32_t)(patch)))
+
 // Vulkan 1.0 version number
-#define VK_API_VERSION_1_0 VK_MAKE_VERSION(1, 0, 0)// Patch version should always be set to 0
+#define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0
 
 // Version of this file
-#define VK_HEADER_VERSION 174
+#define VK_HEADER_VERSION 175
 
 // Complete version of this file
-#define VK_HEADER_VERSION_COMPLETE VK_MAKE_VERSION(1, 2, VK_HEADER_VERSION)
+#define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 2, VK_HEADER_VERSION)
 
+// DEPRECATED: This define is deprecated. VK_API_VERSION_MAJOR should be used instead.
 #define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22)
+
+// DEPRECATED: This define is deprecated. VK_API_VERSION_MINOR should be used instead.
 #define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3FFU)
+
+// DEPRECATED: This define is deprecated. VK_API_VERSION_PATCH should be used instead.
 #define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU)
+
+#define VK_API_VERSION_VARIANT(version) ((uint32_t)(version) >> 29)
+#define VK_API_VERSION_MAJOR(version) (((uint32_t)(version) >> 22) & 0x7FU)
+#define VK_API_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3FFU)
+#define VK_API_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU)
 typedef uint32_t VkBool32;
 typedef uint64_t VkDeviceAddress;
 typedef uint64_t VkDeviceSize;
@@ -107,20 +121,20 @@ VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool)
 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer)
 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool)
 #define VK_ATTACHMENT_UNUSED              (~0U)
-#define VK_FALSE                          0
+#define VK_FALSE                          0U
 #define VK_LOD_CLAMP_NONE                 1000.0F
 #define VK_QUEUE_FAMILY_IGNORED           (~0U)
 #define VK_REMAINING_ARRAY_LAYERS         (~0U)
 #define VK_REMAINING_MIP_LEVELS           (~0U)
 #define VK_SUBPASS_EXTERNAL               (~0U)
-#define VK_TRUE                           1
+#define VK_TRUE                           1U
 #define VK_WHOLE_SIZE                     (~0ULL)
-#define VK_MAX_MEMORY_TYPES               32
-#define VK_MAX_MEMORY_HEAPS               16
-#define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE  256
-#define VK_UUID_SIZE                      16
-#define VK_MAX_EXTENSION_NAME_SIZE        256
-#define VK_MAX_DESCRIPTION_SIZE           256
+#define VK_MAX_MEMORY_TYPES               32U
+#define VK_MAX_MEMORY_HEAPS               16U
+#define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE  256U
+#define VK_UUID_SIZE                      16U
+#define VK_MAX_EXTENSION_NAME_SIZE        256U
+#define VK_MAX_DESCRIPTION_SIZE           256U
 
 typedef enum VkResult {
     VK_SUCCESS = 0,
@@ -356,6 +370,63 @@ typedef enum VkStructureType {
     VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT = 1000022000,
     VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT = 1000022001,
     VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT = 1000022002,
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_PROFILE_KHR = 1000023000,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR = 1000023001,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_KHR = 1000023002,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_GET_MEMORY_PROPERTIES_KHR = 1000023003,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_BIND_MEMORY_KHR = 1000023004,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_SESSION_CREATE_INFO_KHR = 1000023005,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000023006,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR = 1000023007,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHR = 1000023008,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_END_CODING_INFO_KHR = 1000023009,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHR = 1000023010,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_KHR = 1000023011,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_QUEUE_FAMILY_PROPERTIES_2_KHR = 1000023012,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_PROFILES_KHR = 1000023013,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR = 1000023014,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR = 1000023015,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR = 1000024000,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR = 1000299000,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR = 1000299001,
+#endif
     VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000,
     VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001,
     VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV = 1000026002,
@@ -364,6 +435,57 @@ typedef enum VkStructureType {
     VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT = 1000028002,
     VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX = 1000030000,
     VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX = 1000030001,
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT = 1000038000,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_EXT = 1000038001,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000038002,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT = 1000038003,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT = 1000038004,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT = 1000038005,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_EXT = 1000038006,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_EXT = 1000038007,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_EXT = 1000038008,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_EXT = 1000040000,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_CREATE_INFO_EXT = 1000040001,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_EXT = 1000040002,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_MVC_EXT = 1000040003,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_EXT = 1000040004,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000040005,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT = 1000040006,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT = 1000040007,
+#endif
     VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000,
     VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP = 1000049000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV = 1000050000,
@@ -523,6 +645,27 @@ typedef enum VkStructureType {
     VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD = 1000183000,
     VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT = 1000184000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD = 1000185000,
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_EXT = 1000187000,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_CREATE_INFO_EXT = 1000187001,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000187002,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT = 1000187003,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_EXT = 1000187004,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_EXT = 1000187005,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_EXT = 1000187006,
+#endif
     VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD = 1000189000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT = 1000190000,
     VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT = 1000190001,
@@ -607,6 +750,8 @@ typedef enum VkStructureType {
     VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV = 1000277005,
     VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV = 1000277006,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV = 1000277007,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV = 1000278000,
+    VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV = 1000278001,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT = 1000281000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT = 1000281001,
     VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM = 1000282000,
@@ -640,6 +785,7 @@ typedef enum VkStructureType {
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV = 1000326000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV = 1000326001,
     VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV = 1000326002,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT = 1000330000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT = 1000332000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT = 1000332001,
     VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM = 1000333000,
@@ -660,12 +806,17 @@ typedef enum VkStructureType {
     VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT = 1000346000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE = 1000351000,
     VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE = 1000351002,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT = 1000352000,
+    VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT = 1000352001,
+    VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT = 1000352002,
     VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364000,
     VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA = 1000364001,
     VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364002,
     VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365000,
     VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365001,
     VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX = 1000378000,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT = 1000381000,
+    VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT = 1000381001,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
     VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
@@ -800,6 +951,24 @@ typedef enum VkImageLayout {
     VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL = 1000241002,
     VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL = 1000241003,
     VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002,
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR = 1000024000,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR = 1000024001,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR = 1000024002,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR = 1000299000,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR = 1000299001,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR = 1000299002,
+#endif
     VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR = 1000111000,
     VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = 1000164003,
     VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000,
@@ -849,6 +1018,12 @@ typedef enum VkObjectType {
     VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000,
     VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001,
     VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000,
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_OBJECT_TYPE_VIDEO_SESSION_KHR = 1000023000,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR = 1000023001,
+#endif
     VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000,
     VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000,
     VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000,
@@ -1133,6 +1308,10 @@ typedef enum VkFormat {
     VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT = 1000066011,
     VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT = 1000066012,
     VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT = 1000066013,
+    VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT = 1000330000,
+    VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT = 1000330001,
+    VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT = 1000330002,
+    VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT = 1000330003,
     VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT = 1000340000,
     VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT = 1000340001,
     VK_FORMAT_G8B8G8R8_422_UNORM_KHR = VK_FORMAT_G8B8G8R8_422_UNORM,
@@ -1199,6 +1378,12 @@ typedef enum VkQueryType {
     VK_QUERY_TYPE_OCCLUSION = 0,
     VK_QUERY_TYPE_PIPELINE_STATISTICS = 1,
     VK_QUERY_TYPE_TIMESTAMP = 2,
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR = 1000023000,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR = 1000299000,
+#endif
     VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT = 1000028004,
     VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR = 1000116000,
     VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR = 1000150000,
@@ -1357,6 +1542,8 @@ typedef enum VkDynamicState {
     VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT = 1000267009,
     VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT = 1000267010,
     VK_DYNAMIC_STATE_STENCIL_OP_EXT = 1000267011,
+    VK_DYNAMIC_STATE_VERTEX_INPUT_EXT = 1000352000,
+    VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT = 1000381000,
     VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF
 } VkDynamicState;
 
@@ -1606,6 +1793,18 @@ typedef enum VkFormatFeatureFlagBits {
     VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT = 0x00800000,
     VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000,
     VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = 0x00002000,
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x02000000,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR = 0x04000000,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000,
+#endif
     VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000,
     VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000,
     VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000,
@@ -1671,6 +1870,24 @@ typedef enum VkImageUsageFlagBits {
     VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000020,
     VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000040,
     VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0x00000080,
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00000400,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00000800,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR = 0x00001000,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00002000,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00004000,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR = 0x00008000,
+#endif
     VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = 0x00000100,
     VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x00000200,
     VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV,
@@ -1706,6 +1923,12 @@ typedef enum VkQueueFlagBits {
     VK_QUEUE_TRANSFER_BIT = 0x00000004,
     VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008,
     VK_QUEUE_PROTECTED_BIT = 0x00000010,
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_QUEUE_VIDEO_DECODE_BIT_KHR = 0x00000020,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_QUEUE_VIDEO_ENCODE_BIT_KHR = 0x00000040,
+#endif
     VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
 } VkQueueFlagBits;
 typedef VkFlags VkQueueFlags;
@@ -1802,6 +2025,9 @@ typedef enum VkQueryResultFlagBits {
     VK_QUERY_RESULT_WAIT_BIT = 0x00000002,
     VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004,
     VK_QUERY_RESULT_PARTIAL_BIT = 0x00000008,
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_QUERY_RESULT_WITH_STATUS_BIT_KHR = 0x00000010,
+#endif
     VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
 } VkQueryResultFlagBits;
 typedef VkFlags VkQueryResultFlags;
@@ -1829,6 +2055,18 @@ typedef enum VkBufferUsageFlagBits {
     VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 0x00000080,
     VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 0x00000100,
     VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT = 0x00020000,
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00002000,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00004000,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00008000,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00010000,
+#endif
     VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0x00000800,
     VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000,
     VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200,
@@ -4111,12 +4349,12 @@ VKAPI_ATTR void VKAPI_CALL vkCmdExecuteCommands(
 
 #define VK_VERSION_1_1 1
 // Vulkan 1.1 version number
-#define VK_API_VERSION_1_1 VK_MAKE_VERSION(1, 1, 0)// Patch version should always be set to 0
+#define VK_API_VERSION_1_1 VK_MAKE_API_VERSION(0, 1, 1, 0)// Patch version should always be set to 0
 
 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion)
 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate)
-#define VK_MAX_DEVICE_GROUP_SIZE          32
-#define VK_LUID_SIZE                      8
+#define VK_MAX_DEVICE_GROUP_SIZE          32U
+#define VK_LUID_SIZE                      8U
 #define VK_QUEUE_FAMILY_EXTERNAL          (~1U)
 
 typedef enum VkPointClippingBehavior {
@@ -4975,10 +5213,10 @@ VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupport(
 
 #define VK_VERSION_1_2 1
 // Vulkan 1.2 version number
-#define VK_API_VERSION_1_2 VK_MAKE_VERSION(1, 2, 0)// Patch version should always be set to 0
+#define VK_API_VERSION_1_2 VK_MAKE_API_VERSION(0, 1, 2, 0)// Patch version should always be set to 0
 
-#define VK_MAX_DRIVER_NAME_SIZE           256
-#define VK_MAX_DRIVER_INFO_SIZE           256
+#define VK_MAX_DRIVER_NAME_SIZE           256U
+#define VK_MAX_DRIVER_INFO_SIZE           256U
 
 typedef enum VkDriverId {
     VK_DRIVER_ID_AMD_PROPRIETARY = 1,
@@ -4995,6 +5233,7 @@ typedef enum VkDriverId {
     VK_DRIVER_ID_BROADCOM_PROPRIETARY = 12,
     VK_DRIVER_ID_MESA_LLVMPIPE = 13,
     VK_DRIVER_ID_MOLTENVK = 14,
+    VK_DRIVER_ID_COREAVI_PROPRIETARY = 15,
     VK_DRIVER_ID_AMD_PROPRIETARY_KHR = VK_DRIVER_ID_AMD_PROPRIETARY,
     VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = VK_DRIVER_ID_AMD_OPEN_SOURCE,
     VK_DRIVER_ID_MESA_RADV_KHR = VK_DRIVER_ID_MESA_RADV,
@@ -6511,7 +6750,7 @@ typedef VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeature
 
 
 #define VK_KHR_incremental_present 1
-#define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 1
+#define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 2
 #define VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME "VK_KHR_incremental_present"
 typedef struct VkRectLayerKHR {
     VkOffset2D    offset;
@@ -7608,6 +7847,12 @@ static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR = 0x8
 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR = 0x1000000000ULL;
 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR = 0x2000000000ULL;
 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR = 0x4000000000ULL;
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR = 0x04000000ULL;
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR = 0x08000000ULL;
+#endif
 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000ULL;
 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000ULL;
 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV = 0x00020000ULL;
@@ -7647,6 +7892,18 @@ static const VkAccessFlagBits2KHR VK_ACCESS_2_MEMORY_WRITE_BIT_KHR = 0x00010000U
 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR = 0x100000000ULL;
 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR = 0x200000000ULL;
 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR = 0x400000000ULL;
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR = 0x800000000ULL;
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR = 0x1000000000ULL;
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR = 0x2000000000ULL;
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR = 0x4000000000ULL;
+#endif
 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000ULL;
 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000ULL;
 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000ULL;
@@ -11386,6 +11643,25 @@ VKAPI_ATTR void VKAPI_CALL vkDestroyIndirectCommandsLayoutNV(
 #endif
 
 
+#define VK_NV_inherited_viewport_scissor 1
+#define VK_NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION 1
+#define VK_NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME "VK_NV_inherited_viewport_scissor"
+typedef struct VkPhysicalDeviceInheritedViewportScissorFeaturesNV {
+    VkStructureType    sType;
+    void*              pNext;
+    VkBool32           inheritedViewportScissor2D;
+} VkPhysicalDeviceInheritedViewportScissorFeaturesNV;
+
+typedef struct VkCommandBufferInheritanceViewportScissorInfoNV {
+    VkStructureType      sType;
+    const void*          pNext;
+    VkBool32             viewportScissor2D;
+    uint32_t             viewportDepthCount;
+    const VkViewport*    pViewportDepths;
+} VkCommandBufferInheritanceViewportScissorInfoNV;
+
+
+
 #define VK_EXT_texel_buffer_alignment 1
 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION 1
 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME "VK_EXT_texel_buffer_alignment"
@@ -11407,7 +11683,7 @@ typedef struct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT {
 
 
 #define VK_QCOM_render_pass_transform 1
-#define VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION 1
+#define VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION 2
 #define VK_QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME "VK_QCOM_render_pass_transform"
 typedef struct VkRenderPassTransformBeginInfoQCOM {
     VkStructureType                  sType;
@@ -11677,6 +11953,17 @@ VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateEnumNV(
 #endif
 
 
+#define VK_EXT_ycbcr_2plane_444_formats 1
+#define VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION 1
+#define VK_EXT_YCBCR_2PLANE_444_FORMATS_EXTENSION_NAME "VK_EXT_ycbcr_2plane_444_formats"
+typedef struct VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT {
+    VkStructureType    sType;
+    void*              pNext;
+    VkBool32           ycbcr2plane444Formats;
+} VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT;
+
+
+
 #define VK_EXT_fragment_density_map2 1
 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION 1
 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME "VK_EXT_fragment_density_map2"
@@ -11772,6 +12059,71 @@ typedef struct VkMutableDescriptorTypeCreateInfoVALVE {
 
 
 
+#define VK_EXT_vertex_input_dynamic_state 1
+#define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION 2
+#define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_vertex_input_dynamic_state"
+typedef struct VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT {
+    VkStructureType    sType;
+    void*              pNext;
+    VkBool32           vertexInputDynamicState;
+} VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT;
+
+typedef struct VkVertexInputBindingDescription2EXT {
+    VkStructureType      sType;
+    void*                pNext;
+    uint32_t             binding;
+    uint32_t             stride;
+    VkVertexInputRate    inputRate;
+    uint32_t             divisor;
+} VkVertexInputBindingDescription2EXT;
+
+typedef struct VkVertexInputAttributeDescription2EXT {
+    VkStructureType    sType;
+    void*              pNext;
+    uint32_t           location;
+    uint32_t           binding;
+    VkFormat           format;
+    uint32_t           offset;
+} VkVertexInputAttributeDescription2EXT;
+
+typedef void (VKAPI_PTR *PFN_vkCmdSetVertexInputEXT)(VkCommandBuffer commandBuffer, uint32_t vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, uint32_t vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions);
+
+#ifndef VK_NO_PROTOTYPES
+VKAPI_ATTR void VKAPI_CALL vkCmdSetVertexInputEXT(
+    VkCommandBuffer                             commandBuffer,
+    uint32_t                                    vertexBindingDescriptionCount,
+    const VkVertexInputBindingDescription2EXT*  pVertexBindingDescriptions,
+    uint32_t                                    vertexAttributeDescriptionCount,
+    const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions);
+#endif
+
+
+#define VK_EXT_color_write_enable 1
+#define VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION 1
+#define VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME "VK_EXT_color_write_enable"
+typedef struct VkPhysicalDeviceColorWriteEnableFeaturesEXT {
+    VkStructureType    sType;
+    void*              pNext;
+    VkBool32           colorWriteEnable;
+} VkPhysicalDeviceColorWriteEnableFeaturesEXT;
+
+typedef struct VkPipelineColorWriteCreateInfoEXT {
+    VkStructureType    sType;
+    const void*        pNext;
+    uint32_t           attachmentCount;
+    const VkBool32*    pColorWriteEnables;
+} VkPipelineColorWriteCreateInfoEXT;
+
+typedef void                                    (VKAPI_PTR *PFN_vkCmdSetColorWriteEnableEXT)(VkCommandBuffer       commandBuffer, uint32_t                                attachmentCount, const VkBool32*   pColorWriteEnables);
+
+#ifndef VK_NO_PROTOTYPES
+VKAPI_ATTR void                                    VKAPI_CALL vkCmdSetColorWriteEnableEXT(
+    VkCommandBuffer                             commandBuffer,
+    uint32_t                                    attachmentCount,
+    const VkBool32*                             pColorWriteEnables);
+#endif
+
+
 #define VK_KHR_acceleration_structure 1
 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR)
 #define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 11
index eaa391c..f52d6aa 100644 (file)
@@ -207,7 +207,7 @@ void writeTxtCaselistsToFiles (TestPackageRoot& root, TestContext& testCtx, cons
                {
                        iter.next();
                }
-               catch (const tcu::NotSupportedError& e)
+               catch (const tcu::NotSupportedError&)
                {
                        return;
                }