Update Vulkan headers
authorAlexander Galazin <alexander.galazin@arm.com>
Sat, 4 Jul 2020 10:21:58 +0000 (12:21 +0200)
committerAlexander Galazin <alexander.galazin@arm.com>
Sat, 4 Jul 2020 10:22:02 +0000 (12:22 +0200)
Components: Vulkan

Change-Id: Ie919aa4569a396524aac48dc39c94ac64382a5ae

23 files changed:
external/vulkancts/framework/vulkan/vkBasicTypes.inl
external/vulkancts/framework/vulkan/vkGetStructureTypeImpl.inl
external/vulkancts/framework/vulkan/vkHandleType.inl
external/vulkancts/framework/vulkan/vkObjTypeImpl.inl
external/vulkancts/framework/vulkan/vkStrUtil.inl
external/vulkancts/framework/vulkan/vkStrUtilImpl.inl
external/vulkancts/framework/vulkan/vkStructTypes.inl
external/vulkancts/framework/vulkan/vkTypeUtil.inl
external/vulkancts/framework/vulkan/vkVulkan_c.inl
external/vulkancts/scripts/src/vulkan_android.h
external/vulkancts/scripts/src/vulkan_beta.h
external/vulkancts/scripts/src/vulkan_core.h
external/vulkancts/scripts/src/vulkan_fuchsia.h
external/vulkancts/scripts/src/vulkan_ggp.h
external/vulkancts/scripts/src/vulkan_ios.h
external/vulkancts/scripts/src/vulkan_macos.h
external/vulkancts/scripts/src/vulkan_metal.h
external/vulkancts/scripts/src/vulkan_vi.h
external/vulkancts/scripts/src/vulkan_wayland.h
external/vulkancts/scripts/src/vulkan_win32.h
external/vulkancts/scripts/src/vulkan_xcb.h
external/vulkancts/scripts/src/vulkan_xlib.h
external/vulkancts/scripts/src/vulkan_xlib_xrandr.h

index 36920fe..394ce15 100644 (file)
@@ -25,6 +25,8 @@
 #define VK_FALSE                                                       (static_cast<vk::VkBool32>              (0))
 #define VK_API_MAX_FRAMEWORK_VERSION           VK_API_VERSION_1_2
 
+VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkBuffer,                                                      HANDLE_TYPE_BUFFER);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkImage,                                                       HANDLE_TYPE_IMAGE);
 VK_DEFINE_HANDLE                                       (VkInstance,                                            HANDLE_TYPE_INSTANCE);
 VK_DEFINE_HANDLE                                       (VkPhysicalDevice,                                      HANDLE_TYPE_PHYSICAL_DEVICE);
 VK_DEFINE_HANDLE                                       (VkDevice,                                                      HANDLE_TYPE_DEVICE);
@@ -33,8 +35,6 @@ VK_DEFINE_NON_DISPATCHABLE_HANDLE     (VkSemaphore,                                           HANDLE_TYPE_SEMAPHORE);
 VK_DEFINE_HANDLE                                       (VkCommandBuffer,                                       HANDLE_TYPE_COMMAND_BUFFER);
 VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkFence,                                                       HANDLE_TYPE_FENCE);
 VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkDeviceMemory,                                        HANDLE_TYPE_DEVICE_MEMORY);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkBuffer,                                                      HANDLE_TYPE_BUFFER);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkImage,                                                       HANDLE_TYPE_IMAGE);
 VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkEvent,                                                       HANDLE_TYPE_EVENT);
 VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkQueryPool,                                           HANDLE_TYPE_QUERY_POOL);
 VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkBufferView,                                          HANDLE_TYPE_BUFFER_VIEW);
@@ -42,12 +42,12 @@ VK_DEFINE_NON_DISPATCHABLE_HANDLE   (VkImageView,                                           HANDLE_TYPE_IMAGE_VIEW);
 VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkShaderModule,                                        HANDLE_TYPE_SHADER_MODULE);
 VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkPipelineCache,                                       HANDLE_TYPE_PIPELINE_CACHE);
 VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkPipelineLayout,                                      HANDLE_TYPE_PIPELINE_LAYOUT);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkRenderPass,                                          HANDLE_TYPE_RENDER_PASS);
 VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkPipeline,                                            HANDLE_TYPE_PIPELINE);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkRenderPass,                                          HANDLE_TYPE_RENDER_PASS);
 VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkDescriptorSetLayout,                         HANDLE_TYPE_DESCRIPTOR_SET_LAYOUT);
 VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkSampler,                                                     HANDLE_TYPE_SAMPLER);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkDescriptorPool,                                      HANDLE_TYPE_DESCRIPTOR_POOL);
 VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkDescriptorSet,                                       HANDLE_TYPE_DESCRIPTOR_SET);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkDescriptorPool,                                      HANDLE_TYPE_DESCRIPTOR_POOL);
 VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkFramebuffer,                                         HANDLE_TYPE_FRAMEBUFFER);
 VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkCommandPool,                                         HANDLE_TYPE_COMMAND_POOL);
 VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkSamplerYcbcrConversion,                      HANDLE_TYPE_SAMPLER_YCBCR_CONVERSION);
@@ -68,12 +68,6 @@ VK_DEFINE_NON_DISPATCHABLE_HANDLE    (VkAccelerationStructureNV,                     HANDLE_TYPE_ACCE
 VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkSamplerYcbcrConversionKHR,           HANDLE_TYPE_SAMPLER_YCBCR_CONVERSION);
 VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkDescriptorUpdateTemplateKHR,         HANDLE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE);
 
-enum VkPipelineCacheHeaderVersion
-{
-       VK_PIPELINE_CACHE_HEADER_VERSION_ONE            = 1,
-       VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM       = 0x7FFFFFFF,
-};
-
 enum VkResult
 {
        VK_SUCCESS                                                                                              = 0,
@@ -565,6 +559,7 @@ enum VkStructureType
        VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV                                                      = 1000300001,
        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_DIRECTFB_SURFACE_CREATE_INFO_EXT                                                                      = 1000346000,
        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,
@@ -684,6 +679,100 @@ enum VkStructureType
        VK_STRUCTURE_TYPE_MAX_ENUM                                                                                                                      = 0x7FFFFFFF,
 };
 
+enum VkImageLayout
+{
+       VK_IMAGE_LAYOUT_UNDEFINED                                                                               = 0,
+       VK_IMAGE_LAYOUT_GENERAL                                                                                 = 1,
+       VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL                                                = 2,
+       VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL                                = 3,
+       VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL                                 = 4,
+       VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL                                                = 5,
+       VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL                                                    = 6,
+       VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL                                                    = 7,
+       VK_IMAGE_LAYOUT_PREINITIALIZED                                                                  = 8,
+       VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL              = 1000117000,
+       VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL              = 1000117001,
+       VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL                                                = 1000241000,
+       VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL                                                 = 1000241001,
+       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_SHARED_PRESENT_KHR                                                              = 1000111000,
+       VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV                                                 = 1000164003,
+       VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT                                = 1000218000,
+       VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR  = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,
+       VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR  = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,
+       VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR                                    = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
+       VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR                                             = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
+       VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR                                  = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL,
+       VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR                                   = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL,
+       VK_IMAGE_LAYOUT_MAX_ENUM                                                                                = 0x7FFFFFFF,
+};
+
+enum VkObjectType
+{
+       VK_OBJECT_TYPE_UNKNOWN                                                  = 0,
+       VK_OBJECT_TYPE_INSTANCE                                                 = 1,
+       VK_OBJECT_TYPE_PHYSICAL_DEVICE                                  = 2,
+       VK_OBJECT_TYPE_DEVICE                                                   = 3,
+       VK_OBJECT_TYPE_QUEUE                                                    = 4,
+       VK_OBJECT_TYPE_SEMAPHORE                                                = 5,
+       VK_OBJECT_TYPE_COMMAND_BUFFER                                   = 6,
+       VK_OBJECT_TYPE_FENCE                                                    = 7,
+       VK_OBJECT_TYPE_DEVICE_MEMORY                                    = 8,
+       VK_OBJECT_TYPE_BUFFER                                                   = 9,
+       VK_OBJECT_TYPE_IMAGE                                                    = 10,
+       VK_OBJECT_TYPE_EVENT                                                    = 11,
+       VK_OBJECT_TYPE_QUERY_POOL                                               = 12,
+       VK_OBJECT_TYPE_BUFFER_VIEW                                              = 13,
+       VK_OBJECT_TYPE_IMAGE_VIEW                                               = 14,
+       VK_OBJECT_TYPE_SHADER_MODULE                                    = 15,
+       VK_OBJECT_TYPE_PIPELINE_CACHE                                   = 16,
+       VK_OBJECT_TYPE_PIPELINE_LAYOUT                                  = 17,
+       VK_OBJECT_TYPE_RENDER_PASS                                              = 18,
+       VK_OBJECT_TYPE_PIPELINE                                                 = 19,
+       VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT                    = 20,
+       VK_OBJECT_TYPE_SAMPLER                                                  = 21,
+       VK_OBJECT_TYPE_DESCRIPTOR_POOL                                  = 22,
+       VK_OBJECT_TYPE_DESCRIPTOR_SET                                   = 23,
+       VK_OBJECT_TYPE_FRAMEBUFFER                                              = 24,
+       VK_OBJECT_TYPE_COMMAND_POOL                                             = 25,
+       VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION                 = 1000156000,
+       VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE               = 1000085000,
+       VK_OBJECT_TYPE_SURFACE_KHR                                              = 1000000000,
+       VK_OBJECT_TYPE_SWAPCHAIN_KHR                                    = 1000001000,
+       VK_OBJECT_TYPE_DISPLAY_KHR                                              = 1000002000,
+       VK_OBJECT_TYPE_DISPLAY_MODE_KHR                                 = 1000002001,
+       VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT                = 1000011000,
+       VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT                = 1000128000,
+       VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR               = 1000165000,
+       VK_OBJECT_TYPE_VALIDATION_CACHE_EXT                             = 1000160000,
+       VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL  = 1000210000,
+       VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR                   = 1000268000,
+       VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV              = 1000277000,
+       VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT                    = 1000295000,
+       VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR   = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,
+       VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR             = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,
+       VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV                = VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR,
+       VK_OBJECT_TYPE_MAX_ENUM                                                 = 0x7FFFFFFF,
+};
+
+enum VkVendorId
+{
+       VK_VENDOR_ID_VIV                = 0x10001,
+       VK_VENDOR_ID_VSI                = 0x10002,
+       VK_VENDOR_ID_KAZAN              = 0x10003,
+       VK_VENDOR_ID_CODEPLAY   = 0x10004,
+       VK_VENDOR_ID_MESA               = 0x10005,
+       VK_VENDOR_ID_MAX_ENUM   = 0x7FFFFFFF,
+};
+
+enum VkPipelineCacheHeaderVersion
+{
+       VK_PIPELINE_CACHE_HEADER_VERSION_ONE            = 1,
+       VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM       = 0x7FFFFFFF,
+};
+
 enum VkSystemAllocationScope
 {
        VK_SYSTEM_ALLOCATION_SCOPE_COMMAND      = 0,
@@ -982,6 +1071,14 @@ enum VkFormat
        VK_FORMAT_MAX_ENUM                                                                                      = 0x7FFFFFFF,
 };
 
+enum VkImageTiling
+{
+       VK_IMAGE_TILING_OPTIMAL                                 = 0,
+       VK_IMAGE_TILING_LINEAR                                  = 1,
+       VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT = 1000158000,
+       VK_IMAGE_TILING_MAX_ENUM                                = 0x7FFFFFFF,
+};
+
 enum VkImageType
 {
        VK_IMAGE_TYPE_1D                = 0,
@@ -991,14 +1088,6 @@ enum VkImageType
        VK_IMAGE_TYPE_MAX_ENUM  = 0x7FFFFFFF,
 };
 
-enum VkImageTiling
-{
-       VK_IMAGE_TILING_OPTIMAL                                 = 0,
-       VK_IMAGE_TILING_LINEAR                                  = 1,
-       VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT = 1000158000,
-       VK_IMAGE_TILING_MAX_ENUM                                = 0x7FFFFFFF,
-};
-
 enum VkPhysicalDeviceType
 {
        VK_PHYSICAL_DEVICE_TYPE_OTHER                   = 0,
@@ -1032,49 +1121,6 @@ enum VkSharingMode
        VK_SHARING_MODE_MAX_ENUM        = 0x7FFFFFFF,
 };
 
-enum VkImageLayout
-{
-       VK_IMAGE_LAYOUT_UNDEFINED                                                                               = 0,
-       VK_IMAGE_LAYOUT_GENERAL                                                                                 = 1,
-       VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL                                                = 2,
-       VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL                                = 3,
-       VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL                                 = 4,
-       VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL                                                = 5,
-       VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL                                                    = 6,
-       VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL                                                    = 7,
-       VK_IMAGE_LAYOUT_PREINITIALIZED                                                                  = 8,
-       VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL              = 1000117000,
-       VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL              = 1000117001,
-       VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL                                                = 1000241000,
-       VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL                                                 = 1000241001,
-       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_SHARED_PRESENT_KHR                                                              = 1000111000,
-       VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV                                                 = 1000164003,
-       VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT                                = 1000218000,
-       VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR  = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,
-       VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR  = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,
-       VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR                                    = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
-       VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR                                             = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
-       VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR                                  = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL,
-       VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR                                   = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL,
-       VK_IMAGE_LAYOUT_MAX_ENUM                                                                                = 0x7FFFFFFF,
-};
-
-enum VkImageViewType
-{
-       VK_IMAGE_VIEW_TYPE_1D                   = 0,
-       VK_IMAGE_VIEW_TYPE_2D                   = 1,
-       VK_IMAGE_VIEW_TYPE_3D                   = 2,
-       VK_IMAGE_VIEW_TYPE_CUBE                 = 3,
-       VK_IMAGE_VIEW_TYPE_1D_ARRAY             = 4,
-       VK_IMAGE_VIEW_TYPE_2D_ARRAY             = 5,
-       VK_IMAGE_VIEW_TYPE_CUBE_ARRAY   = 6,
-       VK_IMAGE_VIEW_TYPE_LAST,
-       VK_IMAGE_VIEW_TYPE_MAX_ENUM             = 0x7FFFFFFF,
-};
-
 enum VkComponentSwizzle
 {
        VK_COMPONENT_SWIZZLE_IDENTITY   = 0,
@@ -1088,96 +1134,17 @@ enum VkComponentSwizzle
        VK_COMPONENT_SWIZZLE_MAX_ENUM   = 0x7FFFFFFF,
 };
 
-enum VkVertexInputRate
-{
-       VK_VERTEX_INPUT_RATE_VERTEX             = 0,
-       VK_VERTEX_INPUT_RATE_INSTANCE   = 1,
-       VK_VERTEX_INPUT_RATE_LAST,
-       VK_VERTEX_INPUT_RATE_MAX_ENUM   = 0x7FFFFFFF,
-};
-
-enum VkPrimitiveTopology
-{
-       VK_PRIMITIVE_TOPOLOGY_POINT_LIST                                        = 0,
-       VK_PRIMITIVE_TOPOLOGY_LINE_LIST                                         = 1,
-       VK_PRIMITIVE_TOPOLOGY_LINE_STRIP                                        = 2,
-       VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST                                     = 3,
-       VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP                            = 4,
-       VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN                                      = 5,
-       VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY          = 6,
-       VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY         = 7,
-       VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY      = 8,
-       VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY     = 9,
-       VK_PRIMITIVE_TOPOLOGY_PATCH_LIST                                        = 10,
-       VK_PRIMITIVE_TOPOLOGY_LAST,
-       VK_PRIMITIVE_TOPOLOGY_MAX_ENUM                                          = 0x7FFFFFFF,
-};
-
-enum VkPolygonMode
-{
-       VK_POLYGON_MODE_FILL                            = 0,
-       VK_POLYGON_MODE_LINE                            = 1,
-       VK_POLYGON_MODE_POINT                           = 2,
-       VK_POLYGON_MODE_FILL_RECTANGLE_NV       = 1000153000,
-       VK_POLYGON_MODE_MAX_ENUM                        = 0x7FFFFFFF,
-};
-
-enum VkFrontFace
-{
-       VK_FRONT_FACE_COUNTER_CLOCKWISE = 0,
-       VK_FRONT_FACE_CLOCKWISE                 = 1,
-       VK_FRONT_FACE_LAST,
-       VK_FRONT_FACE_MAX_ENUM                  = 0x7FFFFFFF,
-};
-
-enum VkCompareOp
-{
-       VK_COMPARE_OP_NEVER                             = 0,
-       VK_COMPARE_OP_LESS                              = 1,
-       VK_COMPARE_OP_EQUAL                             = 2,
-       VK_COMPARE_OP_LESS_OR_EQUAL             = 3,
-       VK_COMPARE_OP_GREATER                   = 4,
-       VK_COMPARE_OP_NOT_EQUAL                 = 5,
-       VK_COMPARE_OP_GREATER_OR_EQUAL  = 6,
-       VK_COMPARE_OP_ALWAYS                    = 7,
-       VK_COMPARE_OP_LAST,
-       VK_COMPARE_OP_MAX_ENUM                  = 0x7FFFFFFF,
-};
-
-enum VkStencilOp
-{
-       VK_STENCIL_OP_KEEP                                      = 0,
-       VK_STENCIL_OP_ZERO                                      = 1,
-       VK_STENCIL_OP_REPLACE                           = 2,
-       VK_STENCIL_OP_INCREMENT_AND_CLAMP       = 3,
-       VK_STENCIL_OP_DECREMENT_AND_CLAMP       = 4,
-       VK_STENCIL_OP_INVERT                            = 5,
-       VK_STENCIL_OP_INCREMENT_AND_WRAP        = 6,
-       VK_STENCIL_OP_DECREMENT_AND_WRAP        = 7,
-       VK_STENCIL_OP_LAST,
-       VK_STENCIL_OP_MAX_ENUM                          = 0x7FFFFFFF,
-};
-
-enum VkLogicOp
+enum VkImageViewType
 {
-       VK_LOGIC_OP_CLEAR                       = 0,
-       VK_LOGIC_OP_AND                         = 1,
-       VK_LOGIC_OP_AND_REVERSE         = 2,
-       VK_LOGIC_OP_COPY                        = 3,
-       VK_LOGIC_OP_AND_INVERTED        = 4,
-       VK_LOGIC_OP_NO_OP                       = 5,
-       VK_LOGIC_OP_XOR                         = 6,
-       VK_LOGIC_OP_OR                          = 7,
-       VK_LOGIC_OP_NOR                         = 8,
-       VK_LOGIC_OP_EQUIVALENT          = 9,
-       VK_LOGIC_OP_INVERT                      = 10,
-       VK_LOGIC_OP_OR_REVERSE          = 11,
-       VK_LOGIC_OP_COPY_INVERTED       = 12,
-       VK_LOGIC_OP_OR_INVERTED         = 13,
-       VK_LOGIC_OP_NAND                        = 14,
-       VK_LOGIC_OP_SET                         = 15,
-       VK_LOGIC_OP_LAST,
-       VK_LOGIC_OP_MAX_ENUM            = 0x7FFFFFFF,
+       VK_IMAGE_VIEW_TYPE_1D                   = 0,
+       VK_IMAGE_VIEW_TYPE_2D                   = 1,
+       VK_IMAGE_VIEW_TYPE_3D                   = 2,
+       VK_IMAGE_VIEW_TYPE_CUBE                 = 3,
+       VK_IMAGE_VIEW_TYPE_1D_ARRAY             = 4,
+       VK_IMAGE_VIEW_TYPE_2D_ARRAY             = 5,
+       VK_IMAGE_VIEW_TYPE_CUBE_ARRAY   = 6,
+       VK_IMAGE_VIEW_TYPE_LAST,
+       VK_IMAGE_VIEW_TYPE_MAX_ENUM             = 0x7FFFFFFF,
 };
 
 enum VkBlendFactor
@@ -1261,6 +1228,20 @@ enum VkBlendOp
        VK_BLEND_OP_MAX_ENUM                            = 0x7FFFFFFF,
 };
 
+enum VkCompareOp
+{
+       VK_COMPARE_OP_NEVER                             = 0,
+       VK_COMPARE_OP_LESS                              = 1,
+       VK_COMPARE_OP_EQUAL                             = 2,
+       VK_COMPARE_OP_LESS_OR_EQUAL             = 3,
+       VK_COMPARE_OP_GREATER                   = 4,
+       VK_COMPARE_OP_NOT_EQUAL                 = 5,
+       VK_COMPARE_OP_GREATER_OR_EQUAL  = 6,
+       VK_COMPARE_OP_ALWAYS                    = 7,
+       VK_COMPARE_OP_LAST,
+       VK_COMPARE_OP_MAX_ENUM                  = 0x7FFFFFFF,
+};
+
 enum VkDynamicState
 {
        VK_DYNAMIC_STATE_VIEWPORT                                                       = 0,
@@ -1294,6 +1275,97 @@ enum VkDynamicState
        VK_DYNAMIC_STATE_MAX_ENUM                                                       = 0x7FFFFFFF,
 };
 
+enum VkFrontFace
+{
+       VK_FRONT_FACE_COUNTER_CLOCKWISE = 0,
+       VK_FRONT_FACE_CLOCKWISE                 = 1,
+       VK_FRONT_FACE_LAST,
+       VK_FRONT_FACE_MAX_ENUM                  = 0x7FFFFFFF,
+};
+
+enum VkVertexInputRate
+{
+       VK_VERTEX_INPUT_RATE_VERTEX             = 0,
+       VK_VERTEX_INPUT_RATE_INSTANCE   = 1,
+       VK_VERTEX_INPUT_RATE_LAST,
+       VK_VERTEX_INPUT_RATE_MAX_ENUM   = 0x7FFFFFFF,
+};
+
+enum VkPrimitiveTopology
+{
+       VK_PRIMITIVE_TOPOLOGY_POINT_LIST                                        = 0,
+       VK_PRIMITIVE_TOPOLOGY_LINE_LIST                                         = 1,
+       VK_PRIMITIVE_TOPOLOGY_LINE_STRIP                                        = 2,
+       VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST                                     = 3,
+       VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP                            = 4,
+       VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN                                      = 5,
+       VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY          = 6,
+       VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY         = 7,
+       VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY      = 8,
+       VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY     = 9,
+       VK_PRIMITIVE_TOPOLOGY_PATCH_LIST                                        = 10,
+       VK_PRIMITIVE_TOPOLOGY_LAST,
+       VK_PRIMITIVE_TOPOLOGY_MAX_ENUM                                          = 0x7FFFFFFF,
+};
+
+enum VkPolygonMode
+{
+       VK_POLYGON_MODE_FILL                            = 0,
+       VK_POLYGON_MODE_LINE                            = 1,
+       VK_POLYGON_MODE_POINT                           = 2,
+       VK_POLYGON_MODE_FILL_RECTANGLE_NV       = 1000153000,
+       VK_POLYGON_MODE_MAX_ENUM                        = 0x7FFFFFFF,
+};
+
+enum VkStencilOp
+{
+       VK_STENCIL_OP_KEEP                                      = 0,
+       VK_STENCIL_OP_ZERO                                      = 1,
+       VK_STENCIL_OP_REPLACE                           = 2,
+       VK_STENCIL_OP_INCREMENT_AND_CLAMP       = 3,
+       VK_STENCIL_OP_DECREMENT_AND_CLAMP       = 4,
+       VK_STENCIL_OP_INVERT                            = 5,
+       VK_STENCIL_OP_INCREMENT_AND_WRAP        = 6,
+       VK_STENCIL_OP_DECREMENT_AND_WRAP        = 7,
+       VK_STENCIL_OP_LAST,
+       VK_STENCIL_OP_MAX_ENUM                          = 0x7FFFFFFF,
+};
+
+enum VkLogicOp
+{
+       VK_LOGIC_OP_CLEAR                       = 0,
+       VK_LOGIC_OP_AND                         = 1,
+       VK_LOGIC_OP_AND_REVERSE         = 2,
+       VK_LOGIC_OP_COPY                        = 3,
+       VK_LOGIC_OP_AND_INVERTED        = 4,
+       VK_LOGIC_OP_NO_OP                       = 5,
+       VK_LOGIC_OP_XOR                         = 6,
+       VK_LOGIC_OP_OR                          = 7,
+       VK_LOGIC_OP_NOR                         = 8,
+       VK_LOGIC_OP_EQUIVALENT          = 9,
+       VK_LOGIC_OP_INVERT                      = 10,
+       VK_LOGIC_OP_OR_REVERSE          = 11,
+       VK_LOGIC_OP_COPY_INVERTED       = 12,
+       VK_LOGIC_OP_OR_INVERTED         = 13,
+       VK_LOGIC_OP_NAND                        = 14,
+       VK_LOGIC_OP_SET                         = 15,
+       VK_LOGIC_OP_LAST,
+       VK_LOGIC_OP_MAX_ENUM            = 0x7FFFFFFF,
+};
+
+enum VkBorderColor
+{
+       VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0,
+       VK_BORDER_COLOR_INT_TRANSPARENT_BLACK   = 1,
+       VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK              = 2,
+       VK_BORDER_COLOR_INT_OPAQUE_BLACK                = 3,
+       VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE              = 4,
+       VK_BORDER_COLOR_INT_OPAQUE_WHITE                = 5,
+       VK_BORDER_COLOR_FLOAT_CUSTOM_EXT                = 1000287003,
+       VK_BORDER_COLOR_INT_CUSTOM_EXT                  = 1000287004,
+       VK_BORDER_COLOR_MAX_ENUM                                = 0x7FFFFFFF,
+};
+
 enum VkFilter
 {
        VK_FILTER_NEAREST       = 0,
@@ -1303,14 +1375,6 @@ enum VkFilter
        VK_FILTER_MAX_ENUM      = 0x7FFFFFFF,
 };
 
-enum VkSamplerMipmapMode
-{
-       VK_SAMPLER_MIPMAP_MODE_NEAREST  = 0,
-       VK_SAMPLER_MIPMAP_MODE_LINEAR   = 1,
-       VK_SAMPLER_MIPMAP_MODE_LAST,
-       VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF,
-};
-
 enum VkSamplerAddressMode
 {
        VK_SAMPLER_ADDRESS_MODE_REPEAT                                          = 0,
@@ -1323,17 +1387,12 @@ enum VkSamplerAddressMode
        VK_SAMPLER_ADDRESS_MODE_MAX_ENUM                                        = 0x7FFFFFFF,
 };
 
-enum VkBorderColor
+enum VkSamplerMipmapMode
 {
-       VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0,
-       VK_BORDER_COLOR_INT_TRANSPARENT_BLACK   = 1,
-       VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK              = 2,
-       VK_BORDER_COLOR_INT_OPAQUE_BLACK                = 3,
-       VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE              = 4,
-       VK_BORDER_COLOR_INT_OPAQUE_WHITE                = 5,
-       VK_BORDER_COLOR_FLOAT_CUSTOM_EXT                = 1000287003,
-       VK_BORDER_COLOR_INT_CUSTOM_EXT                  = 1000287004,
-       VK_BORDER_COLOR_MAX_ENUM                                = 0x7FFFFFFF,
+       VK_SAMPLER_MIPMAP_MODE_NEAREST  = 0,
+       VK_SAMPLER_MIPMAP_MODE_LINEAR   = 1,
+       VK_SAMPLER_MIPMAP_MODE_LAST,
+       VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF,
 };
 
 enum VkDescriptorType
@@ -1399,72 +1458,14 @@ enum VkIndexType
        VK_INDEX_TYPE_MAX_ENUM  = 0x7FFFFFFF,
 };
 
-enum VkSubpassContents
-{
-       VK_SUBPASS_CONTENTS_INLINE                                              = 0,
-       VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS   = 1,
-       VK_SUBPASS_CONTENTS_LAST,
-       VK_SUBPASS_CONTENTS_MAX_ENUM                                    = 0x7FFFFFFF,
-};
-
-enum VkObjectType
-{
-       VK_OBJECT_TYPE_UNKNOWN                                                  = 0,
-       VK_OBJECT_TYPE_INSTANCE                                                 = 1,
-       VK_OBJECT_TYPE_PHYSICAL_DEVICE                                  = 2,
-       VK_OBJECT_TYPE_DEVICE                                                   = 3,
-       VK_OBJECT_TYPE_QUEUE                                                    = 4,
-       VK_OBJECT_TYPE_SEMAPHORE                                                = 5,
-       VK_OBJECT_TYPE_COMMAND_BUFFER                                   = 6,
-       VK_OBJECT_TYPE_FENCE                                                    = 7,
-       VK_OBJECT_TYPE_DEVICE_MEMORY                                    = 8,
-       VK_OBJECT_TYPE_BUFFER                                                   = 9,
-       VK_OBJECT_TYPE_IMAGE                                                    = 10,
-       VK_OBJECT_TYPE_EVENT                                                    = 11,
-       VK_OBJECT_TYPE_QUERY_POOL                                               = 12,
-       VK_OBJECT_TYPE_BUFFER_VIEW                                              = 13,
-       VK_OBJECT_TYPE_IMAGE_VIEW                                               = 14,
-       VK_OBJECT_TYPE_SHADER_MODULE                                    = 15,
-       VK_OBJECT_TYPE_PIPELINE_CACHE                                   = 16,
-       VK_OBJECT_TYPE_PIPELINE_LAYOUT                                  = 17,
-       VK_OBJECT_TYPE_RENDER_PASS                                              = 18,
-       VK_OBJECT_TYPE_PIPELINE                                                 = 19,
-       VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT                    = 20,
-       VK_OBJECT_TYPE_SAMPLER                                                  = 21,
-       VK_OBJECT_TYPE_DESCRIPTOR_POOL                                  = 22,
-       VK_OBJECT_TYPE_DESCRIPTOR_SET                                   = 23,
-       VK_OBJECT_TYPE_FRAMEBUFFER                                              = 24,
-       VK_OBJECT_TYPE_COMMAND_POOL                                             = 25,
-       VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION                 = 1000156000,
-       VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE               = 1000085000,
-       VK_OBJECT_TYPE_SURFACE_KHR                                              = 1000000000,
-       VK_OBJECT_TYPE_SWAPCHAIN_KHR                                    = 1000001000,
-       VK_OBJECT_TYPE_DISPLAY_KHR                                              = 1000002000,
-       VK_OBJECT_TYPE_DISPLAY_MODE_KHR                                 = 1000002001,
-       VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT                = 1000011000,
-       VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT                = 1000128000,
-       VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR               = 1000165000,
-       VK_OBJECT_TYPE_VALIDATION_CACHE_EXT                             = 1000160000,
-       VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL  = 1000210000,
-       VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR                   = 1000268000,
-       VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV              = 1000277000,
-       VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT                    = 1000295000,
-       VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR   = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,
-       VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR             = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,
-       VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV                = VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR,
-       VK_OBJECT_TYPE_MAX_ENUM                                                 = 0x7FFFFFFF,
-};
-
-enum VkVendorId
-{
-       VK_VENDOR_ID_VIV                = 0x10001,
-       VK_VENDOR_ID_VSI                = 0x10002,
-       VK_VENDOR_ID_KAZAN              = 0x10003,
-       VK_VENDOR_ID_CODEPLAY   = 0x10004,
-       VK_VENDOR_ID_MESA               = 0x10005,
-       VK_VENDOR_ID_MAX_ENUM   = 0x7FFFFFFF,
-};
-
+enum VkSubpassContents
+{
+       VK_SUBPASS_CONTENTS_INLINE                                              = 0,
+       VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS   = 1,
+       VK_SUBPASS_CONTENTS_LAST,
+       VK_SUBPASS_CONTENTS_MAX_ENUM                                    = 0x7FFFFFFF,
+};
+
 enum VkPointClippingBehavior
 {
        VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES                              = 0,
@@ -2111,6 +2112,62 @@ typedef VkCopyAccelerationStructureModeKHR VkCopyAccelerationStructureModeNV;
 
 typedef VkAccelerationStructureMemoryRequirementsTypeKHR VkAccelerationStructureMemoryRequirementsTypeNV;
 
+enum VkAccessFlagBits
+{
+       VK_ACCESS_INDIRECT_COMMAND_READ_BIT                                     = 0x00000001,
+       VK_ACCESS_INDEX_READ_BIT                                                        = 0x00000002,
+       VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT                                     = 0x00000004,
+       VK_ACCESS_UNIFORM_READ_BIT                                                      = 0x00000008,
+       VK_ACCESS_INPUT_ATTACHMENT_READ_BIT                                     = 0x00000010,
+       VK_ACCESS_SHADER_READ_BIT                                                       = 0x00000020,
+       VK_ACCESS_SHADER_WRITE_BIT                                                      = 0x00000040,
+       VK_ACCESS_COLOR_ATTACHMENT_READ_BIT                                     = 0x00000080,
+       VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT                            = 0x00000100,
+       VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT                     = 0x00000200,
+       VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT            = 0x00000400,
+       VK_ACCESS_TRANSFER_READ_BIT                                                     = 0x00000800,
+       VK_ACCESS_TRANSFER_WRITE_BIT                                            = 0x00001000,
+       VK_ACCESS_HOST_READ_BIT                                                         = 0x00002000,
+       VK_ACCESS_HOST_WRITE_BIT                                                        = 0x00004000,
+       VK_ACCESS_MEMORY_READ_BIT                                                       = 0x00008000,
+       VK_ACCESS_MEMORY_WRITE_BIT                                                      = 0x00010000,
+       VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT                      = 0x02000000,
+       VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT       = 0x04000000,
+       VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT      = 0x08000000,
+       VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT            = 0x00100000,
+       VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT     = 0x00080000,
+       VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR           = 0x00200000,
+       VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR          = 0x00400000,
+       VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV                        = 0x00800000,
+       VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT                     = 0x01000000,
+       VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV                        = 0x00020000,
+       VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV                       = 0x00040000,
+       VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV            = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR,
+       VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV           = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,
+       VK_ACCESS_FLAG_BITS_MAX_ENUM                                            = 0x7FFFFFFF,
+};
+typedef deUint32 VkAccessFlags;
+
+enum VkImageAspectFlagBits
+{
+       VK_IMAGE_ASPECT_COLOR_BIT                               = 0x00000001,
+       VK_IMAGE_ASPECT_DEPTH_BIT                               = 0x00000002,
+       VK_IMAGE_ASPECT_STENCIL_BIT                             = 0x00000004,
+       VK_IMAGE_ASPECT_METADATA_BIT                    = 0x00000008,
+       VK_IMAGE_ASPECT_PLANE_0_BIT                             = 0x00000010,
+       VK_IMAGE_ASPECT_PLANE_1_BIT                             = 0x00000020,
+       VK_IMAGE_ASPECT_PLANE_2_BIT                             = 0x00000040,
+       VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT  = 0x00000080,
+       VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT  = 0x00000100,
+       VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT  = 0x00000200,
+       VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT  = 0x00000400,
+       VK_IMAGE_ASPECT_PLANE_0_BIT_KHR                 = VK_IMAGE_ASPECT_PLANE_0_BIT,
+       VK_IMAGE_ASPECT_PLANE_1_BIT_KHR                 = VK_IMAGE_ASPECT_PLANE_1_BIT,
+       VK_IMAGE_ASPECT_PLANE_2_BIT_KHR                 = VK_IMAGE_ASPECT_PLANE_2_BIT,
+       VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM              = 0x7FFFFFFF,
+};
+typedef deUint32 VkImageAspectFlags;
+
 enum VkFormatFeatureFlagBits
 {
        VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT                                                                                                                                     = 0x00000001,
@@ -2154,22 +2211,6 @@ enum VkFormatFeatureFlagBits
 };
 typedef deUint32 VkFormatFeatureFlags;
 
-enum VkImageUsageFlagBits
-{
-       VK_IMAGE_USAGE_TRANSFER_SRC_BIT                         = 0x00000001,
-       VK_IMAGE_USAGE_TRANSFER_DST_BIT                         = 0x00000002,
-       VK_IMAGE_USAGE_SAMPLED_BIT                                      = 0x00000004,
-       VK_IMAGE_USAGE_STORAGE_BIT                                      = 0x00000008,
-       VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT                     = 0x00000010,
-       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_SHADING_RATE_IMAGE_BIT_NV        = 0x00000100,
-       VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT     = 0x00000200,
-       VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM                       = 0x7FFFFFFF,
-};
-typedef deUint32 VkImageUsageFlags;
-
 enum VkImageCreateFlagBits
 {
        VK_IMAGE_CREATE_SPARSE_BINDING_BIT                                                      = 0x00000001,
@@ -2210,16 +2251,30 @@ enum VkSampleCountFlagBits
 };
 typedef deUint32 VkSampleCountFlags;
 
-enum VkQueueFlagBits
+enum VkImageUsageFlagBits
 {
-       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_IMAGE_USAGE_TRANSFER_SRC_BIT                         = 0x00000001,
+       VK_IMAGE_USAGE_TRANSFER_DST_BIT                         = 0x00000002,
+       VK_IMAGE_USAGE_SAMPLED_BIT                                      = 0x00000004,
+       VK_IMAGE_USAGE_STORAGE_BIT                                      = 0x00000008,
+       VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT                     = 0x00000010,
+       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_SHADING_RATE_IMAGE_BIT_NV        = 0x00000100,
+       VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT     = 0x00000200,
+       VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM                       = 0x7FFFFFFF,
 };
-typedef deUint32 VkQueueFlags;
+typedef deUint32 VkImageUsageFlags;
+
+enum VkMemoryHeapFlagBits
+{
+       VK_MEMORY_HEAP_DEVICE_LOCAL_BIT                 = 0x00000001,
+       VK_MEMORY_HEAP_MULTI_INSTANCE_BIT               = 0x00000002,
+       VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR   = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT,
+       VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM               = 0x7FFFFFFF,
+};
+typedef deUint32 VkMemoryHeapFlags;
 
 enum VkMemoryPropertyFlagBits
 {
@@ -2235,14 +2290,16 @@ enum VkMemoryPropertyFlagBits
 };
 typedef deUint32 VkMemoryPropertyFlags;
 
-enum VkMemoryHeapFlagBits
+enum VkQueueFlagBits
 {
-       VK_MEMORY_HEAP_DEVICE_LOCAL_BIT                 = 0x00000001,
-       VK_MEMORY_HEAP_MULTI_INSTANCE_BIT               = 0x00000002,
-       VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR   = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT,
-       VK_MEMORY_HEAP_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_FLAG_BITS_MAX_ENUM     = 0x7FFFFFFF,
 };
-typedef deUint32 VkMemoryHeapFlags;
+typedef deUint32 VkQueueFlags;
 
 enum VkDeviceQueueCreateFlagBits
 {
@@ -2285,25 +2342,12 @@ enum VkPipelineStageFlagBits
 };
 typedef deUint32 VkPipelineStageFlags;
 
-enum VkImageAspectFlagBits
+enum VkSparseMemoryBindFlagBits
 {
-       VK_IMAGE_ASPECT_COLOR_BIT                               = 0x00000001,
-       VK_IMAGE_ASPECT_DEPTH_BIT                               = 0x00000002,
-       VK_IMAGE_ASPECT_STENCIL_BIT                             = 0x00000004,
-       VK_IMAGE_ASPECT_METADATA_BIT                    = 0x00000008,
-       VK_IMAGE_ASPECT_PLANE_0_BIT                             = 0x00000010,
-       VK_IMAGE_ASPECT_PLANE_1_BIT                             = 0x00000020,
-       VK_IMAGE_ASPECT_PLANE_2_BIT                             = 0x00000040,
-       VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT  = 0x00000080,
-       VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT  = 0x00000100,
-       VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT  = 0x00000200,
-       VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT  = 0x00000400,
-       VK_IMAGE_ASPECT_PLANE_0_BIT_KHR                 = VK_IMAGE_ASPECT_PLANE_0_BIT,
-       VK_IMAGE_ASPECT_PLANE_1_BIT_KHR                 = VK_IMAGE_ASPECT_PLANE_1_BIT,
-       VK_IMAGE_ASPECT_PLANE_2_BIT_KHR                 = VK_IMAGE_ASPECT_PLANE_2_BIT,
-       VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM              = 0x7FFFFFFF,
+       VK_SPARSE_MEMORY_BIND_METADATA_BIT                      = 0x00000001,
+       VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM        = 0x7FFFFFFF,
 };
-typedef deUint32 VkImageAspectFlags;
+typedef deUint32 VkSparseMemoryBindFlags;
 
 enum VkSparseImageFormatFlagBits
 {
@@ -2314,13 +2358,6 @@ enum VkSparseImageFormatFlagBits
 };
 typedef deUint32 VkSparseImageFormatFlags;
 
-enum VkSparseMemoryBindFlagBits
-{
-       VK_SPARSE_MEMORY_BIND_METADATA_BIT                      = 0x00000001,
-       VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM        = 0x7FFFFFFF,
-};
-typedef deUint32 VkSparseMemoryBindFlags;
-
 enum VkFenceCreateFlagBits
 {
        VK_FENCE_CREATE_SIGNALED_BIT            = 0x00000001,
@@ -2412,6 +2449,16 @@ enum VkPipelineCacheCreateFlagBits
 };
 typedef deUint32 VkPipelineCacheCreateFlags;
 
+enum VkColorComponentFlagBits
+{
+       VK_COLOR_COMPONENT_R_BIT                                = 0x00000001,
+       VK_COLOR_COMPONENT_G_BIT                                = 0x00000002,
+       VK_COLOR_COMPONENT_B_BIT                                = 0x00000004,
+       VK_COLOR_COMPONENT_A_BIT                                = 0x00000008,
+       VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM   = 0x7FFFFFFF,
+};
+typedef deUint32 VkColorComponentFlags;
+
 enum VkPipelineCreateFlagBits
 {
        VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT                                                     = 0x00000001,
@@ -2485,16 +2532,6 @@ enum VkCullModeFlagBits
 };
 typedef deUint32 VkCullModeFlags;
 
-enum VkColorComponentFlagBits
-{
-       VK_COLOR_COMPONENT_R_BIT                                = 0x00000001,
-       VK_COLOR_COMPONENT_G_BIT                                = 0x00000002,
-       VK_COLOR_COMPONENT_B_BIT                                = 0x00000004,
-       VK_COLOR_COMPONENT_A_BIT                                = 0x00000008,
-       VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM   = 0x7FFFFFFF,
-};
-typedef deUint32 VkColorComponentFlags;
-
 enum VkSamplerCreateFlagBits
 {
        VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT                                            = 0x00000001,
@@ -2503,6 +2540,15 @@ enum VkSamplerCreateFlagBits
 };
 typedef deUint32 VkSamplerCreateFlags;
 
+enum VkDescriptorPoolCreateFlagBits
+{
+       VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT       = 0x00000001,
+       VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT         = 0x00000002,
+       VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT     = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT,
+       VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM            = 0x7FFFFFFF,
+};
+typedef deUint32 VkDescriptorPoolCreateFlags;
+
 enum VkDescriptorSetLayoutCreateFlagBits
 {
        VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT              = 0x00000002,
@@ -2512,14 +2558,23 @@ enum VkDescriptorSetLayoutCreateFlagBits
 };
 typedef deUint32 VkDescriptorSetLayoutCreateFlags;
 
-enum VkDescriptorPoolCreateFlagBits
+enum VkAttachmentDescriptionFlagBits
 {
-       VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT       = 0x00000001,
-       VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT         = 0x00000002,
-       VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT     = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT,
-       VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM            = 0x7FFFFFFF,
+       VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT                 = 0x00000001,
+       VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM    = 0x7FFFFFFF,
 };
-typedef deUint32 VkDescriptorPoolCreateFlags;
+typedef deUint32 VkAttachmentDescriptionFlags;
+
+enum VkDependencyFlagBits
+{
+       VK_DEPENDENCY_BY_REGION_BIT                     = 0x00000001,
+       VK_DEPENDENCY_DEVICE_GROUP_BIT          = 0x00000004,
+       VK_DEPENDENCY_VIEW_LOCAL_BIT            = 0x00000002,
+       VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR        = VK_DEPENDENCY_VIEW_LOCAL_BIT,
+       VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR      = VK_DEPENDENCY_DEVICE_GROUP_BIT,
+       VK_DEPENDENCY_FLAG_BITS_MAX_ENUM        = 0x7FFFFFFF,
+};
+typedef deUint32 VkDependencyFlags;
 
 enum VkFramebufferCreateFlagBits
 {
@@ -2536,13 +2591,6 @@ enum VkRenderPassCreateFlagBits
 };
 typedef deUint32 VkRenderPassCreateFlags;
 
-enum VkAttachmentDescriptionFlagBits
-{
-       VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT                 = 0x00000001,
-       VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM    = 0x7FFFFFFF,
-};
-typedef deUint32 VkAttachmentDescriptionFlags;
-
 enum VkSubpassDescriptionFlagBits
 {
        VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX              = 0x00000001,
@@ -2553,53 +2601,6 @@ enum VkSubpassDescriptionFlagBits
 };
 typedef deUint32 VkSubpassDescriptionFlags;
 
-enum VkAccessFlagBits
-{
-       VK_ACCESS_INDIRECT_COMMAND_READ_BIT                                     = 0x00000001,
-       VK_ACCESS_INDEX_READ_BIT                                                        = 0x00000002,
-       VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT                                     = 0x00000004,
-       VK_ACCESS_UNIFORM_READ_BIT                                                      = 0x00000008,
-       VK_ACCESS_INPUT_ATTACHMENT_READ_BIT                                     = 0x00000010,
-       VK_ACCESS_SHADER_READ_BIT                                                       = 0x00000020,
-       VK_ACCESS_SHADER_WRITE_BIT                                                      = 0x00000040,
-       VK_ACCESS_COLOR_ATTACHMENT_READ_BIT                                     = 0x00000080,
-       VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT                            = 0x00000100,
-       VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT                     = 0x00000200,
-       VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT            = 0x00000400,
-       VK_ACCESS_TRANSFER_READ_BIT                                                     = 0x00000800,
-       VK_ACCESS_TRANSFER_WRITE_BIT                                            = 0x00001000,
-       VK_ACCESS_HOST_READ_BIT                                                         = 0x00002000,
-       VK_ACCESS_HOST_WRITE_BIT                                                        = 0x00004000,
-       VK_ACCESS_MEMORY_READ_BIT                                                       = 0x00008000,
-       VK_ACCESS_MEMORY_WRITE_BIT                                                      = 0x00010000,
-       VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT                      = 0x02000000,
-       VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT       = 0x04000000,
-       VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT      = 0x08000000,
-       VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT            = 0x00100000,
-       VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT     = 0x00080000,
-       VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR           = 0x00200000,
-       VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR          = 0x00400000,
-       VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV                        = 0x00800000,
-       VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT                     = 0x01000000,
-       VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV                        = 0x00020000,
-       VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV                       = 0x00040000,
-       VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV            = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR,
-       VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV           = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,
-       VK_ACCESS_FLAG_BITS_MAX_ENUM                                            = 0x7FFFFFFF,
-};
-typedef deUint32 VkAccessFlags;
-
-enum VkDependencyFlagBits
-{
-       VK_DEPENDENCY_BY_REGION_BIT                     = 0x00000001,
-       VK_DEPENDENCY_DEVICE_GROUP_BIT          = 0x00000004,
-       VK_DEPENDENCY_VIEW_LOCAL_BIT            = 0x00000002,
-       VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR        = VK_DEPENDENCY_VIEW_LOCAL_BIT,
-       VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR      = VK_DEPENDENCY_DEVICE_GROUP_BIT,
-       VK_DEPENDENCY_FLAG_BITS_MAX_ENUM        = 0x7FFFFFFF,
-};
-typedef deUint32 VkDependencyFlags;
-
 enum VkCommandPoolCreateFlagBits
 {
        VK_COMMAND_POOL_CREATE_TRANSIENT_BIT                    = 0x00000001,
@@ -3408,7 +3409,7 @@ VK_DEFINE_PLATFORM_TYPE(CAMetalLayer,                             void*);
 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION 1
 #define VK_KHR_ANDROID_SURFACE_SPEC_VERSION 6
 #define VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_SPEC_VERSION 3
-#define VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION 2
+#define VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION 3
 #define VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION 1
 #define VK_KHR_RAY_TRACING_SPEC_VERSION 8
 #define VK_FUCHSIA_IMAGEPIPE_SURFACE_SPEC_VERSION 1
index 9c6549b..8e2e482 100644 (file)
@@ -1,6 +1,21 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  */
+template<> VkStructureType getStructureType<VkBufferMemoryBarrier> (void)
+{
+       return VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER;
+}
+
+template<> VkStructureType getStructureType<VkImageMemoryBarrier> (void)
+{
+       return VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER;
+}
+
+template<> VkStructureType getStructureType<VkMemoryBarrier> (void)
+{
+       return VK_STRUCTURE_TYPE_MEMORY_BARRIER;
+}
+
 template<> VkStructureType getStructureType<VkApplicationInfo> (void)
 {
        return VK_STRUCTURE_TYPE_APPLICATION_INFO;
@@ -26,14 +41,14 @@ template<> VkStructureType getStructureType<VkSubmitInfo> (void)
        return VK_STRUCTURE_TYPE_SUBMIT_INFO;
 }
 
-template<> VkStructureType getStructureType<VkMemoryAllocateInfo> (void)
+template<> VkStructureType getStructureType<VkMappedMemoryRange> (void)
 {
-       return VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO;
+       return VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE;
 }
 
-template<> VkStructureType getStructureType<VkMappedMemoryRange> (void)
+template<> VkStructureType getStructureType<VkMemoryAllocateInfo> (void)
 {
-       return VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE;
+       return VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO;
 }
 
 template<> VkStructureType getStructureType<VkBindSparseInfo> (void)
@@ -96,6 +111,11 @@ template<> VkStructureType getStructureType<VkPipelineShaderStageCreateInfo> (vo
        return VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO;
 }
 
+template<> VkStructureType getStructureType<VkComputePipelineCreateInfo> (void)
+{
+       return VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO;
+}
+
 template<> VkStructureType getStructureType<VkPipelineVertexInputStateCreateInfo> (void)
 {
        return VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO;
@@ -146,11 +166,6 @@ template<> VkStructureType getStructureType<VkGraphicsPipelineCreateInfo> (void)
        return VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO;
 }
 
-template<> VkStructureType getStructureType<VkComputePipelineCreateInfo> (void)
-{
-       return VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO;
-}
-
 template<> VkStructureType getStructureType<VkPipelineLayoutCreateInfo> (void)
 {
        return VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO;
@@ -161,9 +176,9 @@ template<> VkStructureType getStructureType<VkSamplerCreateInfo> (void)
        return VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO;
 }
 
-template<> VkStructureType getStructureType<VkDescriptorSetLayoutCreateInfo> (void)
+template<> VkStructureType getStructureType<VkCopyDescriptorSet> (void)
 {
-       return VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
+       return VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET;
 }
 
 template<> VkStructureType getStructureType<VkDescriptorPoolCreateInfo> (void)
@@ -176,14 +191,14 @@ template<> VkStructureType getStructureType<VkDescriptorSetAllocateInfo> (void)
        return VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO;
 }
 
-template<> VkStructureType getStructureType<VkWriteDescriptorSet> (void)
+template<> VkStructureType getStructureType<VkDescriptorSetLayoutCreateInfo> (void)
 {
-       return VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET;
+       return VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
 }
 
-template<> VkStructureType getStructureType<VkCopyDescriptorSet> (void)
+template<> VkStructureType getStructureType<VkWriteDescriptorSet> (void)
 {
-       return VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET;
+       return VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET;
 }
 
 template<> VkStructureType getStructureType<VkFramebufferCreateInfo> (void)
@@ -216,21 +231,6 @@ template<> VkStructureType getStructureType<VkCommandBufferBeginInfo> (void)
        return VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO;
 }
 
-template<> VkStructureType getStructureType<VkMemoryBarrier> (void)
-{
-       return VK_STRUCTURE_TYPE_MEMORY_BARRIER;
-}
-
-template<> VkStructureType getStructureType<VkBufferMemoryBarrier> (void)
-{
-       return VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER;
-}
-
-template<> VkStructureType getStructureType<VkImageMemoryBarrier> (void)
-{
-       return VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER;
-}
-
 template<> VkStructureType getStructureType<VkRenderPassBeginInfo> (void)
 {
        return VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO;
@@ -1246,14 +1246,14 @@ template<> VkStructureType getStructureType<VkDebugUtilsMessengerCallbackDataEXT
        return VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT;
 }
 
-template<> VkStructureType getStructureType<VkDebugUtilsObjectTagInfoEXT> (void)
+template<> VkStructureType getStructureType<VkDebugUtilsMessengerCreateInfoEXT> (void)
 {
-       return VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT;
+       return VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT;
 }
 
-template<> VkStructureType getStructureType<VkDebugUtilsMessengerCreateInfoEXT> (void)
+template<> VkStructureType getStructureType<VkDebugUtilsObjectTagInfoEXT> (void)
 {
-       return VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT;
+       return VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT;
 }
 
 template<> VkStructureType getStructureType<VkPhysicalDeviceInlineUniformBlockFeaturesEXT> (void)
index b29c0c6..2233537 100644 (file)
@@ -3,7 +3,9 @@
  */
 enum HandleType
 {
-       HANDLE_TYPE_INSTANCE                                                    = 0,
+       HANDLE_TYPE_BUFFER                                                              = 0,
+       HANDLE_TYPE_IMAGE,
+       HANDLE_TYPE_INSTANCE,
        HANDLE_TYPE_PHYSICAL_DEVICE,
        HANDLE_TYPE_DEVICE,
        HANDLE_TYPE_QUEUE,
@@ -11,8 +13,6 @@ enum HandleType
        HANDLE_TYPE_COMMAND_BUFFER,
        HANDLE_TYPE_FENCE,
        HANDLE_TYPE_DEVICE_MEMORY,
-       HANDLE_TYPE_BUFFER,
-       HANDLE_TYPE_IMAGE,
        HANDLE_TYPE_EVENT,
        HANDLE_TYPE_QUERY_POOL,
        HANDLE_TYPE_BUFFER_VIEW,
@@ -20,12 +20,12 @@ enum HandleType
        HANDLE_TYPE_SHADER_MODULE,
        HANDLE_TYPE_PIPELINE_CACHE,
        HANDLE_TYPE_PIPELINE_LAYOUT,
-       HANDLE_TYPE_RENDER_PASS,
        HANDLE_TYPE_PIPELINE,
+       HANDLE_TYPE_RENDER_PASS,
        HANDLE_TYPE_DESCRIPTOR_SET_LAYOUT,
        HANDLE_TYPE_SAMPLER,
-       HANDLE_TYPE_DESCRIPTOR_POOL,
        HANDLE_TYPE_DESCRIPTOR_SET,
+       HANDLE_TYPE_DESCRIPTOR_POOL,
        HANDLE_TYPE_FRAMEBUFFER,
        HANDLE_TYPE_COMMAND_POOL,
        HANDLE_TYPE_SAMPLER_YCBCR_CONVERSION,
index 18435cc..a771db1 100644 (file)
@@ -4,6 +4,8 @@
 namespace vk
 {
 template<typename T> VkObjectType getObjectType        (void);
+template<> inline VkObjectType getObjectType<VkBuffer>                                                 (void) { return VK_OBJECT_TYPE_BUFFER;                                                  }
+template<> inline VkObjectType getObjectType<VkImage>                                                  (void) { return VK_OBJECT_TYPE_IMAGE;                                                   }
 template<> inline VkObjectType getObjectType<VkInstance>                                               (void) { return VK_OBJECT_TYPE_INSTANCE;                                                }
 template<> inline VkObjectType getObjectType<VkPhysicalDevice>                                 (void) { return VK_OBJECT_TYPE_PHYSICAL_DEVICE;                                 }
 template<> inline VkObjectType getObjectType<VkDevice>                                                 (void) { return VK_OBJECT_TYPE_DEVICE;                                                  }
@@ -12,8 +14,6 @@ template<> inline VkObjectType        getObjectType<VkSemaphore>                                              (void) { return V
 template<> inline VkObjectType getObjectType<VkCommandBuffer>                                  (void) { return VK_OBJECT_TYPE_COMMAND_BUFFER;                                  }
 template<> inline VkObjectType getObjectType<VkFence>                                                  (void) { return VK_OBJECT_TYPE_FENCE;                                                   }
 template<> inline VkObjectType getObjectType<VkDeviceMemory>                                   (void) { return VK_OBJECT_TYPE_DEVICE_MEMORY;                                   }
-template<> inline VkObjectType getObjectType<VkBuffer>                                                 (void) { return VK_OBJECT_TYPE_BUFFER;                                                  }
-template<> inline VkObjectType getObjectType<VkImage>                                                  (void) { return VK_OBJECT_TYPE_IMAGE;                                                   }
 template<> inline VkObjectType getObjectType<VkEvent>                                                  (void) { return VK_OBJECT_TYPE_EVENT;                                                   }
 template<> inline VkObjectType getObjectType<VkQueryPool>                                              (void) { return VK_OBJECT_TYPE_QUERY_POOL;                                              }
 template<> inline VkObjectType getObjectType<VkBufferView>                                             (void) { return VK_OBJECT_TYPE_BUFFER_VIEW;                                             }
@@ -21,12 +21,12 @@ template<> inline VkObjectType      getObjectType<VkImageView>                                              (void) { return V
 template<> inline VkObjectType getObjectType<VkShaderModule>                                   (void) { return VK_OBJECT_TYPE_SHADER_MODULE;                                   }
 template<> inline VkObjectType getObjectType<VkPipelineCache>                                  (void) { return VK_OBJECT_TYPE_PIPELINE_CACHE;                                  }
 template<> inline VkObjectType getObjectType<VkPipelineLayout>                                 (void) { return VK_OBJECT_TYPE_PIPELINE_LAYOUT;                                 }
-template<> inline VkObjectType getObjectType<VkRenderPass>                                             (void) { return VK_OBJECT_TYPE_RENDER_PASS;                                             }
 template<> inline VkObjectType getObjectType<VkPipeline>                                               (void) { return VK_OBJECT_TYPE_PIPELINE;                                                }
+template<> inline VkObjectType getObjectType<VkRenderPass>                                             (void) { return VK_OBJECT_TYPE_RENDER_PASS;                                             }
 template<> inline VkObjectType getObjectType<VkDescriptorSetLayout>                    (void) { return VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT;                   }
 template<> inline VkObjectType getObjectType<VkSampler>                                                (void) { return VK_OBJECT_TYPE_SAMPLER;                                                 }
-template<> inline VkObjectType getObjectType<VkDescriptorPool>                                 (void) { return VK_OBJECT_TYPE_DESCRIPTOR_POOL;                                 }
 template<> inline VkObjectType getObjectType<VkDescriptorSet>                                  (void) { return VK_OBJECT_TYPE_DESCRIPTOR_SET;                                  }
+template<> inline VkObjectType getObjectType<VkDescriptorPool>                                 (void) { return VK_OBJECT_TYPE_DESCRIPTOR_POOL;                                 }
 template<> inline VkObjectType getObjectType<VkFramebuffer>                                    (void) { return VK_OBJECT_TYPE_FRAMEBUFFER;                                             }
 template<> inline VkObjectType getObjectType<VkCommandPool>                                    (void) { return VK_OBJECT_TYPE_COMMAND_POOL;                                    }
 template<> inline VkObjectType getObjectType<VkSamplerYcbcrConversion>                 (void) { return VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION;                }
index 621c3c2..f18f45f 100644 (file)
@@ -1,34 +1,36 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  */
-const char*    getPipelineCacheHeaderVersionName                                               (VkPipelineCacheHeaderVersion value);
 const char*    getResultName                                                                                   (VkResult value);
 const char*    getStructureTypeName                                                                    (VkStructureType value);
+const char*    getImageLayoutName                                                                              (VkImageLayout value);
+const char*    getObjectTypeName                                                                               (VkObjectType value);
+const char*    getVendorIdName                                                                                 (VkVendorId value);
+const char*    getPipelineCacheHeaderVersionName                                               (VkPipelineCacheHeaderVersion value);
 const char*    getSystemAllocationScopeName                                                    (VkSystemAllocationScope value);
 const char*    getInternalAllocationTypeName                                                   (VkInternalAllocationType value);
 const char*    getFormatName                                                                                   (VkFormat value);
-const char*    getImageTypeName                                                                                (VkImageType value);
 const char*    getImageTilingName                                                                              (VkImageTiling value);
+const char*    getImageTypeName                                                                                (VkImageType value);
 const char*    getPhysicalDeviceTypeName                                                               (VkPhysicalDeviceType value);
 const char*    getQueryTypeName                                                                                (VkQueryType value);
 const char*    getSharingModeName                                                                              (VkSharingMode value);
-const char*    getImageLayoutName                                                                              (VkImageLayout value);
-const char*    getImageViewTypeName                                                                    (VkImageViewType value);
 const char*    getComponentSwizzleName                                                                 (VkComponentSwizzle value);
+const char*    getImageViewTypeName                                                                    (VkImageViewType value);
+const char*    getBlendFactorName                                                                              (VkBlendFactor value);
+const char*    getBlendOpName                                                                                  (VkBlendOp value);
+const char*    getCompareOpName                                                                                (VkCompareOp value);
+const char*    getDynamicStateName                                                                             (VkDynamicState value);
+const char*    getFrontFaceName                                                                                (VkFrontFace value);
 const char*    getVertexInputRateName                                                                  (VkVertexInputRate value);
 const char*    getPrimitiveTopologyName                                                                (VkPrimitiveTopology value);
 const char*    getPolygonModeName                                                                              (VkPolygonMode value);
-const char*    getFrontFaceName                                                                                (VkFrontFace value);
-const char*    getCompareOpName                                                                                (VkCompareOp value);
 const char*    getStencilOpName                                                                                (VkStencilOp value);
 const char*    getLogicOpName                                                                                  (VkLogicOp value);
-const char*    getBlendFactorName                                                                              (VkBlendFactor value);
-const char*    getBlendOpName                                                                                  (VkBlendOp value);
-const char*    getDynamicStateName                                                                             (VkDynamicState value);
+const char*    getBorderColorName                                                                              (VkBorderColor value);
 const char*    getFilterName                                                                                   (VkFilter value);
-const char*    getSamplerMipmapModeName                                                                (VkSamplerMipmapMode value);
 const char*    getSamplerAddressModeName                                                               (VkSamplerAddressMode value);
-const char*    getBorderColorName                                                                              (VkBorderColor value);
+const char*    getSamplerMipmapModeName                                                                (VkSamplerMipmapMode value);
 const char*    getDescriptorTypeName                                                                   (VkDescriptorType value);
 const char*    getAttachmentLoadOpName                                                                 (VkAttachmentLoadOp value);
 const char*    getAttachmentStoreOpName                                                                (VkAttachmentStoreOp value);
@@ -36,8 +38,6 @@ const char*   getPipelineBindPointName                                                                (VkPipelineBindPoint value);
 const char*    getCommandBufferLevelName                                                               (VkCommandBufferLevel value);
 const char*    getIndexTypeName                                                                                (VkIndexType value);
 const char*    getSubpassContentsName                                                                  (VkSubpassContents value);
-const char*    getObjectTypeName                                                                               (VkObjectType value);
-const char*    getVendorIdName                                                                                 (VkVendorId value);
 const char*    getPointClippingBehaviorName                                                    (VkPointClippingBehavior value);
 const char*    getTessellationDomainOriginName                                                 (VkTessellationDomainOrigin value);
 const char*    getSamplerYcbcrModelConversionName                                              (VkSamplerYcbcrModelConversion value);
@@ -92,34 +92,36 @@ const char* getIndirectCommandsTokenTypeNVName                                              (VkIndirectCommandsTokenType
 const char*    getAccelerationStructureBuildTypeKHRName                                (VkAccelerationStructureBuildTypeKHR value);
 const char*    getFullScreenExclusiveEXTName                                                   (VkFullScreenExclusiveEXT value);
 
-inline tcu::Format::Enum<VkPipelineCacheHeaderVersion>                                         getPipelineCacheHeaderVersionStr                                                (VkPipelineCacheHeaderVersion value)                                            { return tcu::Format::Enum<VkPipelineCacheHeaderVersion>(getPipelineCacheHeaderVersionName, value);                                                                                     }
 inline tcu::Format::Enum<VkResult>                                                                                     getResultStr                                                                                    (VkResult value)                                                                                        { return tcu::Format::Enum<VkResult>(getResultName, value);                                                                                                                                                                     }
 inline tcu::Format::Enum<VkStructureType>                                                                      getStructureTypeStr                                                                             (VkStructureType value)                                                                         { return tcu::Format::Enum<VkStructureType>(getStructureTypeName, value);                                                                                                                                       }
+inline tcu::Format::Enum<VkImageLayout>                                                                                getImageLayoutStr                                                                               (VkImageLayout value)                                                                           { return tcu::Format::Enum<VkImageLayout>(getImageLayoutName, value);                                                                                                                                           }
+inline tcu::Format::Enum<VkObjectType>                                                                         getObjectTypeStr                                                                                (VkObjectType value)                                                                            { return tcu::Format::Enum<VkObjectType>(getObjectTypeName, value);                                                                                                                                                     }
+inline tcu::Format::Enum<VkVendorId>                                                                           getVendorIdStr                                                                                  (VkVendorId value)                                                                                      { return tcu::Format::Enum<VkVendorId>(getVendorIdName, value);                                                                                                                                                         }
+inline tcu::Format::Enum<VkPipelineCacheHeaderVersion>                                         getPipelineCacheHeaderVersionStr                                                (VkPipelineCacheHeaderVersion value)                                            { return tcu::Format::Enum<VkPipelineCacheHeaderVersion>(getPipelineCacheHeaderVersionName, value);                                                                                     }
 inline tcu::Format::Enum<VkSystemAllocationScope>                                                      getSystemAllocationScopeStr                                                             (VkSystemAllocationScope value)                                                         { return tcu::Format::Enum<VkSystemAllocationScope>(getSystemAllocationScopeName, value);                                                                                                       }
 inline tcu::Format::Enum<VkInternalAllocationType>                                                     getInternalAllocationTypeStr                                                    (VkInternalAllocationType value)                                                        { return tcu::Format::Enum<VkInternalAllocationType>(getInternalAllocationTypeName, value);                                                                                                     }
 inline tcu::Format::Enum<VkFormat>                                                                                     getFormatStr                                                                                    (VkFormat value)                                                                                        { return tcu::Format::Enum<VkFormat>(getFormatName, value);                                                                                                                                                                     }
-inline tcu::Format::Enum<VkImageType>                                                                          getImageTypeStr                                                                                 (VkImageType value)                                                                                     { return tcu::Format::Enum<VkImageType>(getImageTypeName, value);                                                                                                                                                       }
 inline tcu::Format::Enum<VkImageTiling>                                                                                getImageTilingStr                                                                               (VkImageTiling value)                                                                           { return tcu::Format::Enum<VkImageTiling>(getImageTilingName, value);                                                                                                                                           }
+inline tcu::Format::Enum<VkImageType>                                                                          getImageTypeStr                                                                                 (VkImageType value)                                                                                     { return tcu::Format::Enum<VkImageType>(getImageTypeName, value);                                                                                                                                                       }
 inline tcu::Format::Enum<VkPhysicalDeviceType>                                                         getPhysicalDeviceTypeStr                                                                (VkPhysicalDeviceType value)                                                            { return tcu::Format::Enum<VkPhysicalDeviceType>(getPhysicalDeviceTypeName, value);                                                                                                                     }
 inline tcu::Format::Enum<VkQueryType>                                                                          getQueryTypeStr                                                                                 (VkQueryType value)                                                                                     { return tcu::Format::Enum<VkQueryType>(getQueryTypeName, value);                                                                                                                                                       }
 inline tcu::Format::Enum<VkSharingMode>                                                                                getSharingModeStr                                                                               (VkSharingMode value)                                                                           { return tcu::Format::Enum<VkSharingMode>(getSharingModeName, value);                                                                                                                                           }
-inline tcu::Format::Enum<VkImageLayout>                                                                                getImageLayoutStr                                                                               (VkImageLayout value)                                                                           { return tcu::Format::Enum<VkImageLayout>(getImageLayoutName, value);                                                                                                                                           }
-inline tcu::Format::Enum<VkImageViewType>                                                                      getImageViewTypeStr                                                                             (VkImageViewType value)                                                                         { return tcu::Format::Enum<VkImageViewType>(getImageViewTypeName, value);                                                                                                                                       }
 inline tcu::Format::Enum<VkComponentSwizzle>                                                           getComponentSwizzleStr                                                                  (VkComponentSwizzle value)                                                                      { return tcu::Format::Enum<VkComponentSwizzle>(getComponentSwizzleName, value);                                                                                                                         }
+inline tcu::Format::Enum<VkImageViewType>                                                                      getImageViewTypeStr                                                                             (VkImageViewType value)                                                                         { return tcu::Format::Enum<VkImageViewType>(getImageViewTypeName, value);                                                                                                                                       }
+inline tcu::Format::Enum<VkBlendFactor>                                                                                getBlendFactorStr                                                                               (VkBlendFactor value)                                                                           { return tcu::Format::Enum<VkBlendFactor>(getBlendFactorName, value);                                                                                                                                           }
+inline tcu::Format::Enum<VkBlendOp>                                                                                    getBlendOpStr                                                                                   (VkBlendOp value)                                                                                       { return tcu::Format::Enum<VkBlendOp>(getBlendOpName, value);                                                                                                                                                           }
+inline tcu::Format::Enum<VkCompareOp>                                                                          getCompareOpStr                                                                                 (VkCompareOp value)                                                                                     { return tcu::Format::Enum<VkCompareOp>(getCompareOpName, value);                                                                                                                                                       }
+inline tcu::Format::Enum<VkDynamicState>                                                                       getDynamicStateStr                                                                              (VkDynamicState value)                                                                          { return tcu::Format::Enum<VkDynamicState>(getDynamicStateName, value);                                                                                                                                         }
+inline tcu::Format::Enum<VkFrontFace>                                                                          getFrontFaceStr                                                                                 (VkFrontFace value)                                                                                     { return tcu::Format::Enum<VkFrontFace>(getFrontFaceName, value);                                                                                                                                                       }
 inline tcu::Format::Enum<VkVertexInputRate>                                                                    getVertexInputRateStr                                                                   (VkVertexInputRate value)                                                                       { return tcu::Format::Enum<VkVertexInputRate>(getVertexInputRateName, value);                                                                                                                           }
 inline tcu::Format::Enum<VkPrimitiveTopology>                                                          getPrimitiveTopologyStr                                                                 (VkPrimitiveTopology value)                                                                     { return tcu::Format::Enum<VkPrimitiveTopology>(getPrimitiveTopologyName, value);                                                                                                                       }
 inline tcu::Format::Enum<VkPolygonMode>                                                                                getPolygonModeStr                                                                               (VkPolygonMode value)                                                                           { return tcu::Format::Enum<VkPolygonMode>(getPolygonModeName, value);                                                                                                                                           }
-inline tcu::Format::Enum<VkFrontFace>                                                                          getFrontFaceStr                                                                                 (VkFrontFace value)                                                                                     { return tcu::Format::Enum<VkFrontFace>(getFrontFaceName, value);                                                                                                                                                       }
-inline tcu::Format::Enum<VkCompareOp>                                                                          getCompareOpStr                                                                                 (VkCompareOp value)                                                                                     { return tcu::Format::Enum<VkCompareOp>(getCompareOpName, value);                                                                                                                                                       }
 inline tcu::Format::Enum<VkStencilOp>                                                                          getStencilOpStr                                                                                 (VkStencilOp value)                                                                                     { return tcu::Format::Enum<VkStencilOp>(getStencilOpName, value);                                                                                                                                                       }
 inline tcu::Format::Enum<VkLogicOp>                                                                                    getLogicOpStr                                                                                   (VkLogicOp value)                                                                                       { return tcu::Format::Enum<VkLogicOp>(getLogicOpName, value);                                                                                                                                                           }
-inline tcu::Format::Enum<VkBlendFactor>                                                                                getBlendFactorStr                                                                               (VkBlendFactor value)                                                                           { return tcu::Format::Enum<VkBlendFactor>(getBlendFactorName, value);                                                                                                                                           }
-inline tcu::Format::Enum<VkBlendOp>                                                                                    getBlendOpStr                                                                                   (VkBlendOp value)                                                                                       { return tcu::Format::Enum<VkBlendOp>(getBlendOpName, value);                                                                                                                                                           }
-inline tcu::Format::Enum<VkDynamicState>                                                                       getDynamicStateStr                                                                              (VkDynamicState value)                                                                          { return tcu::Format::Enum<VkDynamicState>(getDynamicStateName, value);                                                                                                                                         }
+inline tcu::Format::Enum<VkBorderColor>                                                                                getBorderColorStr                                                                               (VkBorderColor value)                                                                           { return tcu::Format::Enum<VkBorderColor>(getBorderColorName, value);                                                                                                                                           }
 inline tcu::Format::Enum<VkFilter>                                                                                     getFilterStr                                                                                    (VkFilter value)                                                                                        { return tcu::Format::Enum<VkFilter>(getFilterName, value);                                                                                                                                                                     }
-inline tcu::Format::Enum<VkSamplerMipmapMode>                                                          getSamplerMipmapModeStr                                                                 (VkSamplerMipmapMode value)                                                                     { return tcu::Format::Enum<VkSamplerMipmapMode>(getSamplerMipmapModeName, value);                                                                                                                       }
 inline tcu::Format::Enum<VkSamplerAddressMode>                                                         getSamplerAddressModeStr                                                                (VkSamplerAddressMode value)                                                            { return tcu::Format::Enum<VkSamplerAddressMode>(getSamplerAddressModeName, value);                                                                                                                     }
-inline tcu::Format::Enum<VkBorderColor>                                                                                getBorderColorStr                                                                               (VkBorderColor value)                                                                           { return tcu::Format::Enum<VkBorderColor>(getBorderColorName, value);                                                                                                                                           }
+inline tcu::Format::Enum<VkSamplerMipmapMode>                                                          getSamplerMipmapModeStr                                                                 (VkSamplerMipmapMode value)                                                                     { return tcu::Format::Enum<VkSamplerMipmapMode>(getSamplerMipmapModeName, value);                                                                                                                       }
 inline tcu::Format::Enum<VkDescriptorType>                                                                     getDescriptorTypeStr                                                                    (VkDescriptorType value)                                                                        { return tcu::Format::Enum<VkDescriptorType>(getDescriptorTypeName, value);                                                                                                                                     }
 inline tcu::Format::Enum<VkAttachmentLoadOp>                                                           getAttachmentLoadOpStr                                                                  (VkAttachmentLoadOp value)                                                                      { return tcu::Format::Enum<VkAttachmentLoadOp>(getAttachmentLoadOpName, value);                                                                                                                         }
 inline tcu::Format::Enum<VkAttachmentStoreOp>                                                          getAttachmentStoreOpStr                                                                 (VkAttachmentStoreOp value)                                                                     { return tcu::Format::Enum<VkAttachmentStoreOp>(getAttachmentStoreOpName, value);                                                                                                                       }
@@ -127,8 +129,6 @@ inline tcu::Format::Enum<VkPipelineBindPoint>                                                               getPipelineBindPointStr
 inline tcu::Format::Enum<VkCommandBufferLevel>                                                         getCommandBufferLevelStr                                                                (VkCommandBufferLevel value)                                                            { return tcu::Format::Enum<VkCommandBufferLevel>(getCommandBufferLevelName, value);                                                                                                                     }
 inline tcu::Format::Enum<VkIndexType>                                                                          getIndexTypeStr                                                                                 (VkIndexType value)                                                                                     { return tcu::Format::Enum<VkIndexType>(getIndexTypeName, value);                                                                                                                                                       }
 inline tcu::Format::Enum<VkSubpassContents>                                                                    getSubpassContentsStr                                                                   (VkSubpassContents value)                                                                       { return tcu::Format::Enum<VkSubpassContents>(getSubpassContentsName, value);                                                                                                                           }
-inline tcu::Format::Enum<VkObjectType>                                                                         getObjectTypeStr                                                                                (VkObjectType value)                                                                            { return tcu::Format::Enum<VkObjectType>(getObjectTypeName, value);                                                                                                                                                     }
-inline tcu::Format::Enum<VkVendorId>                                                                           getVendorIdStr                                                                                  (VkVendorId value)                                                                                      { return tcu::Format::Enum<VkVendorId>(getVendorIdName, value);                                                                                                                                                         }
 inline tcu::Format::Enum<VkPointClippingBehavior>                                                      getPointClippingBehaviorStr                                                             (VkPointClippingBehavior value)                                                         { return tcu::Format::Enum<VkPointClippingBehavior>(getPointClippingBehaviorName, value);                                                                                                       }
 inline tcu::Format::Enum<VkTessellationDomainOrigin>                                           getTessellationDomainOriginStr                                                  (VkTessellationDomainOrigin value)                                                      { return tcu::Format::Enum<VkTessellationDomainOrigin>(getTessellationDomainOriginName, value);                                                                                         }
 inline tcu::Format::Enum<VkSamplerYcbcrModelConversion>                                                getSamplerYcbcrModelConversionStr                                               (VkSamplerYcbcrModelConversion value)                                           { return tcu::Format::Enum<VkSamplerYcbcrModelConversion>(getSamplerYcbcrModelConversionName, value);                                                                           }
@@ -183,34 +183,36 @@ inline tcu::Format::Enum<VkIndirectCommandsTokenTypeNV>                                           getIndirectCommands
 inline tcu::Format::Enum<VkAccelerationStructureBuildTypeKHR>                          getAccelerationStructureBuildTypeKHRStr                                 (VkAccelerationStructureBuildTypeKHR value)                                     { return tcu::Format::Enum<VkAccelerationStructureBuildTypeKHR>(getAccelerationStructureBuildTypeKHRName, value);                                                       }
 inline tcu::Format::Enum<VkFullScreenExclusiveEXT>                                                     getFullScreenExclusiveEXTStr                                                    (VkFullScreenExclusiveEXT value)                                                        { return tcu::Format::Enum<VkFullScreenExclusiveEXT>(getFullScreenExclusiveEXTName, value);                                                                                                     }
 
-inline std::ostream&   operator<<      (std::ostream& s, VkPipelineCacheHeaderVersion value)                                           { return s << getPipelineCacheHeaderVersionStr(value);                                          }
 inline std::ostream&   operator<<      (std::ostream& s, VkResult value)                                                                                       { return s << getResultStr(value);                                                                                      }
 inline std::ostream&   operator<<      (std::ostream& s, VkStructureType value)                                                                        { return s << getStructureTypeStr(value);                                                                       }
+inline std::ostream&   operator<<      (std::ostream& s, VkImageLayout value)                                                                          { return s << getImageLayoutStr(value);                                                                         }
+inline std::ostream&   operator<<      (std::ostream& s, VkObjectType value)                                                                           { return s << getObjectTypeStr(value);                                                                          }
+inline std::ostream&   operator<<      (std::ostream& s, VkVendorId value)                                                                                     { return s << getVendorIdStr(value);                                                                            }
+inline std::ostream&   operator<<      (std::ostream& s, VkPipelineCacheHeaderVersion value)                                           { return s << getPipelineCacheHeaderVersionStr(value);                                          }
 inline std::ostream&   operator<<      (std::ostream& s, VkSystemAllocationScope value)                                                        { return s << getSystemAllocationScopeStr(value);                                                       }
 inline std::ostream&   operator<<      (std::ostream& s, VkInternalAllocationType value)                                                       { return s << getInternalAllocationTypeStr(value);                                                      }
 inline std::ostream&   operator<<      (std::ostream& s, VkFormat value)                                                                                       { return s << getFormatStr(value);                                                                                      }
-inline std::ostream&   operator<<      (std::ostream& s, VkImageType value)                                                                            { return s << getImageTypeStr(value);                                                                           }
 inline std::ostream&   operator<<      (std::ostream& s, VkImageTiling value)                                                                          { return s << getImageTilingStr(value);                                                                         }
+inline std::ostream&   operator<<      (std::ostream& s, VkImageType value)                                                                            { return s << getImageTypeStr(value);                                                                           }
 inline std::ostream&   operator<<      (std::ostream& s, VkPhysicalDeviceType value)                                                           { return s << getPhysicalDeviceTypeStr(value);                                                          }
 inline std::ostream&   operator<<      (std::ostream& s, VkQueryType value)                                                                            { return s << getQueryTypeStr(value);                                                                           }
 inline std::ostream&   operator<<      (std::ostream& s, VkSharingMode value)                                                                          { return s << getSharingModeStr(value);                                                                         }
-inline std::ostream&   operator<<      (std::ostream& s, VkImageLayout value)                                                                          { return s << getImageLayoutStr(value);                                                                         }
-inline std::ostream&   operator<<      (std::ostream& s, VkImageViewType value)                                                                        { return s << getImageViewTypeStr(value);                                                                       }
 inline std::ostream&   operator<<      (std::ostream& s, VkComponentSwizzle value)                                                                     { return s << getComponentSwizzleStr(value);                                                            }
+inline std::ostream&   operator<<      (std::ostream& s, VkImageViewType value)                                                                        { return s << getImageViewTypeStr(value);                                                                       }
+inline std::ostream&   operator<<      (std::ostream& s, VkBlendFactor value)                                                                          { return s << getBlendFactorStr(value);                                                                         }
+inline std::ostream&   operator<<      (std::ostream& s, VkBlendOp value)                                                                                      { return s << getBlendOpStr(value);                                                                                     }
+inline std::ostream&   operator<<      (std::ostream& s, VkCompareOp value)                                                                            { return s << getCompareOpStr(value);                                                                           }
+inline std::ostream&   operator<<      (std::ostream& s, VkDynamicState value)                                                                         { return s << getDynamicStateStr(value);                                                                        }
+inline std::ostream&   operator<<      (std::ostream& s, VkFrontFace value)                                                                            { return s << getFrontFaceStr(value);                                                                           }
 inline std::ostream&   operator<<      (std::ostream& s, VkVertexInputRate value)                                                                      { return s << getVertexInputRateStr(value);                                                                     }
 inline std::ostream&   operator<<      (std::ostream& s, VkPrimitiveTopology value)                                                            { return s << getPrimitiveTopologyStr(value);                                                           }
 inline std::ostream&   operator<<      (std::ostream& s, VkPolygonMode value)                                                                          { return s << getPolygonModeStr(value);                                                                         }
-inline std::ostream&   operator<<      (std::ostream& s, VkFrontFace value)                                                                            { return s << getFrontFaceStr(value);                                                                           }
-inline std::ostream&   operator<<      (std::ostream& s, VkCompareOp value)                                                                            { return s << getCompareOpStr(value);                                                                           }
 inline std::ostream&   operator<<      (std::ostream& s, VkStencilOp value)                                                                            { return s << getStencilOpStr(value);                                                                           }
 inline std::ostream&   operator<<      (std::ostream& s, VkLogicOp value)                                                                                      { return s << getLogicOpStr(value);                                                                                     }
-inline std::ostream&   operator<<      (std::ostream& s, VkBlendFactor value)                                                                          { return s << getBlendFactorStr(value);                                                                         }
-inline std::ostream&   operator<<      (std::ostream& s, VkBlendOp value)                                                                                      { return s << getBlendOpStr(value);                                                                                     }
-inline std::ostream&   operator<<      (std::ostream& s, VkDynamicState value)                                                                         { return s << getDynamicStateStr(value);                                                                        }
+inline std::ostream&   operator<<      (std::ostream& s, VkBorderColor value)                                                                          { return s << getBorderColorStr(value);                                                                         }
 inline std::ostream&   operator<<      (std::ostream& s, VkFilter value)                                                                                       { return s << getFilterStr(value);                                                                                      }
-inline std::ostream&   operator<<      (std::ostream& s, VkSamplerMipmapMode value)                                                            { return s << getSamplerMipmapModeStr(value);                                                           }
 inline std::ostream&   operator<<      (std::ostream& s, VkSamplerAddressMode value)                                                           { return s << getSamplerAddressModeStr(value);                                                          }
-inline std::ostream&   operator<<      (std::ostream& s, VkBorderColor value)                                                                          { return s << getBorderColorStr(value);                                                                         }
+inline std::ostream&   operator<<      (std::ostream& s, VkSamplerMipmapMode value)                                                            { return s << getSamplerMipmapModeStr(value);                                                           }
 inline std::ostream&   operator<<      (std::ostream& s, VkDescriptorType value)                                                                       { return s << getDescriptorTypeStr(value);                                                                      }
 inline std::ostream&   operator<<      (std::ostream& s, VkAttachmentLoadOp value)                                                                     { return s << getAttachmentLoadOpStr(value);                                                            }
 inline std::ostream&   operator<<      (std::ostream& s, VkAttachmentStoreOp value)                                                            { return s << getAttachmentStoreOpStr(value);                                                           }
@@ -218,8 +220,6 @@ inline std::ostream&        operator<<      (std::ostream& s, VkPipelineBindPoint value)
 inline std::ostream&   operator<<      (std::ostream& s, VkCommandBufferLevel value)                                                           { return s << getCommandBufferLevelStr(value);                                                          }
 inline std::ostream&   operator<<      (std::ostream& s, VkIndexType value)                                                                            { return s << getIndexTypeStr(value);                                                                           }
 inline std::ostream&   operator<<      (std::ostream& s, VkSubpassContents value)                                                                      { return s << getSubpassContentsStr(value);                                                                     }
-inline std::ostream&   operator<<      (std::ostream& s, VkObjectType value)                                                                           { return s << getObjectTypeStr(value);                                                                          }
-inline std::ostream&   operator<<      (std::ostream& s, VkVendorId value)                                                                                     { return s << getVendorIdStr(value);                                                                            }
 inline std::ostream&   operator<<      (std::ostream& s, VkPointClippingBehavior value)                                                        { return s << getPointClippingBehaviorStr(value);                                                       }
 inline std::ostream&   operator<<      (std::ostream& s, VkTessellationDomainOrigin value)                                                     { return s << getTessellationDomainOriginStr(value);                                            }
 inline std::ostream&   operator<<      (std::ostream& s, VkSamplerYcbcrModelConversion value)                                          { return s << getSamplerYcbcrModelConversionStr(value);                                         }
@@ -274,18 +274,19 @@ inline std::ostream&      operator<<      (std::ostream& s, VkIndirectCommandsTokenTypeNV
 inline std::ostream&   operator<<      (std::ostream& s, VkAccelerationStructureBuildTypeKHR value)                            { return s << getAccelerationStructureBuildTypeKHRStr(value);                           }
 inline std::ostream&   operator<<      (std::ostream& s, VkFullScreenExclusiveEXT value)                                                       { return s << getFullScreenExclusiveEXTStr(value);                                                      }
 
+tcu::Format::Bitfield<32>      getAccessFlagsStr                                                                                       (VkAccessFlags value);
+tcu::Format::Bitfield<32>      getImageAspectFlagsStr                                                                          (VkImageAspectFlags value);
 tcu::Format::Bitfield<32>      getFormatFeatureFlagsStr                                                                        (VkFormatFeatureFlags value);
-tcu::Format::Bitfield<32>      getImageUsageFlagsStr                                                                           (VkImageUsageFlags value);
 tcu::Format::Bitfield<32>      getImageCreateFlagsStr                                                                          (VkImageCreateFlags value);
 tcu::Format::Bitfield<32>      getSampleCountFlagsStr                                                                          (VkSampleCountFlags value);
-tcu::Format::Bitfield<32>      getQueueFlagsStr                                                                                        (VkQueueFlags value);
-tcu::Format::Bitfield<32>      getMemoryPropertyFlagsStr                                                                       (VkMemoryPropertyFlags value);
+tcu::Format::Bitfield<32>      getImageUsageFlagsStr                                                                           (VkImageUsageFlags value);
 tcu::Format::Bitfield<32>      getMemoryHeapFlagsStr                                                                           (VkMemoryHeapFlags value);
+tcu::Format::Bitfield<32>      getMemoryPropertyFlagsStr                                                                       (VkMemoryPropertyFlags value);
+tcu::Format::Bitfield<32>      getQueueFlagsStr                                                                                        (VkQueueFlags value);
 tcu::Format::Bitfield<32>      getDeviceQueueCreateFlagsStr                                                            (VkDeviceQueueCreateFlags value);
 tcu::Format::Bitfield<32>      getPipelineStageFlagsStr                                                                        (VkPipelineStageFlags value);
-tcu::Format::Bitfield<32>      getImageAspectFlagsStr                                                                          (VkImageAspectFlags value);
-tcu::Format::Bitfield<32>      getSparseImageFormatFlagsStr                                                            (VkSparseImageFormatFlags value);
 tcu::Format::Bitfield<32>      getSparseMemoryBindFlagsStr                                                                     (VkSparseMemoryBindFlags value);
+tcu::Format::Bitfield<32>      getSparseImageFormatFlagsStr                                                            (VkSparseImageFormatFlags value);
 tcu::Format::Bitfield<32>      getFenceCreateFlagsStr                                                                          (VkFenceCreateFlags value);
 tcu::Format::Bitfield<32>      getQueryPipelineStatisticFlagsStr                                                       (VkQueryPipelineStatisticFlags value);
 tcu::Format::Bitfield<32>      getQueryResultFlagsStr                                                                          (VkQueryResultFlags value);
@@ -294,20 +295,19 @@ tcu::Format::Bitfield<32> getBufferUsageFlagsStr                                                                          (VkBufferUsageFlags va
 tcu::Format::Bitfield<32>      getImageViewCreateFlagsStr                                                                      (VkImageViewCreateFlags value);
 tcu::Format::Bitfield<32>      getShaderModuleCreateFlagsStr                                                           (VkShaderModuleCreateFlags value);
 tcu::Format::Bitfield<32>      getPipelineCacheCreateFlagsStr                                                          (VkPipelineCacheCreateFlags value);
+tcu::Format::Bitfield<32>      getColorComponentFlagsStr                                                                       (VkColorComponentFlags value);
 tcu::Format::Bitfield<32>      getPipelineCreateFlagsStr                                                                       (VkPipelineCreateFlags value);
 tcu::Format::Bitfield<32>      getPipelineShaderStageCreateFlagsStr                                            (VkPipelineShaderStageCreateFlags value);
 tcu::Format::Bitfield<32>      getShaderStageFlagsStr                                                                          (VkShaderStageFlags value);
 tcu::Format::Bitfield<32>      getCullModeFlagsStr                                                                                     (VkCullModeFlags value);
-tcu::Format::Bitfield<32>      getColorComponentFlagsStr                                                                       (VkColorComponentFlags value);
 tcu::Format::Bitfield<32>      getSamplerCreateFlagsStr                                                                        (VkSamplerCreateFlags value);
-tcu::Format::Bitfield<32>      getDescriptorSetLayoutCreateFlagsStr                                            (VkDescriptorSetLayoutCreateFlags value);
 tcu::Format::Bitfield<32>      getDescriptorPoolCreateFlagsStr                                                         (VkDescriptorPoolCreateFlags value);
+tcu::Format::Bitfield<32>      getDescriptorSetLayoutCreateFlagsStr                                            (VkDescriptorSetLayoutCreateFlags value);
+tcu::Format::Bitfield<32>      getAttachmentDescriptionFlagsStr                                                        (VkAttachmentDescriptionFlags value);
+tcu::Format::Bitfield<32>      getDependencyFlagsStr                                                                           (VkDependencyFlags value);
 tcu::Format::Bitfield<32>      getFramebufferCreateFlagsStr                                                            (VkFramebufferCreateFlags value);
 tcu::Format::Bitfield<32>      getRenderPassCreateFlagsStr                                                                     (VkRenderPassCreateFlags value);
-tcu::Format::Bitfield<32>      getAttachmentDescriptionFlagsStr                                                        (VkAttachmentDescriptionFlags value);
 tcu::Format::Bitfield<32>      getSubpassDescriptionFlagsStr                                                           (VkSubpassDescriptionFlags value);
-tcu::Format::Bitfield<32>      getAccessFlagsStr                                                                                       (VkAccessFlags value);
-tcu::Format::Bitfield<32>      getDependencyFlagsStr                                                                           (VkDependencyFlags value);
 tcu::Format::Bitfield<32>      getCommandPoolCreateFlagsStr                                                            (VkCommandPoolCreateFlags value);
 tcu::Format::Bitfield<32>      getCommandPoolResetFlagsStr                                                                     (VkCommandPoolResetFlags value);
 tcu::Format::Bitfield<32>      getCommandBufferUsageFlagsStr                                                           (VkCommandBufferUsageFlags value);
@@ -400,38 +400,50 @@ tcu::Format::Bitfield<32> getXcbSurfaceCreateFlagsKHRStr                                                          (VkXcbSurfaceCre
 tcu::Format::Bitfield<32>      getXlibSurfaceCreateFlagsKHRStr                                                         (VkXlibSurfaceCreateFlagsKHR value);
 tcu::Format::Bitfield<32>      getBuildAccelerationStructureFlagsNVStr                                         (VkBuildAccelerationStructureFlagsNV value);
 
-std::ostream&  operator<<      (std::ostream& s, const VkApplicationInfo& value);
-std::ostream&  operator<<      (std::ostream& s, const VkInstanceCreateInfo& value);
+std::ostream&  operator<<      (std::ostream& s, const VkExtent2D& value);
+std::ostream&  operator<<      (std::ostream& s, const VkExtent3D& value);
+std::ostream&  operator<<      (std::ostream& s, const VkOffset2D& value);
+std::ostream&  operator<<      (std::ostream& s, const VkOffset3D& value);
+std::ostream&  operator<<      (std::ostream& s, const VkRect2D& value);
+std::ostream&  operator<<      (std::ostream& s, const VkBaseInStructure& value);
+std::ostream&  operator<<      (std::ostream& s, const VkBaseOutStructure& value);
+std::ostream&  operator<<      (std::ostream& s, const VkBufferMemoryBarrier& value);
+std::ostream&  operator<<      (std::ostream& s, const VkDispatchIndirectCommand& value);
+std::ostream&  operator<<      (std::ostream& s, const VkDrawIndexedIndirectCommand& value);
+std::ostream&  operator<<      (std::ostream& s, const VkDrawIndirectCommand& value);
+std::ostream&  operator<<      (std::ostream& s, const VkImageSubresourceRange& value);
+std::ostream&  operator<<      (std::ostream& s, const VkImageMemoryBarrier& value);
+std::ostream&  operator<<      (std::ostream& s, const VkMemoryBarrier& value);
 std::ostream&  operator<<      (std::ostream& s, const VkAllocationCallbacks& value);
-std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceFeatures& value);
+std::ostream&  operator<<      (std::ostream& s, const VkApplicationInfo& value);
 std::ostream&  operator<<      (std::ostream& s, const VkFormatProperties& value);
-std::ostream&  operator<<      (std::ostream& s, const VkExtent3D& value);
 std::ostream&  operator<<      (std::ostream& s, const VkImageFormatProperties& value);
+std::ostream&  operator<<      (std::ostream& s, const VkInstanceCreateInfo& value);
+std::ostream&  operator<<      (std::ostream& s, const VkMemoryHeap& value);
+std::ostream&  operator<<      (std::ostream& s, const VkMemoryType& value);
+std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceFeatures& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceLimits& value);
+std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceMemoryProperties& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceSparseProperties& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceProperties& value);
 std::ostream&  operator<<      (std::ostream& s, const VkQueueFamilyProperties& value);
-std::ostream&  operator<<      (std::ostream& s, const VkMemoryType& value);
-std::ostream&  operator<<      (std::ostream& s, const VkMemoryHeap& value);
-std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceMemoryProperties& value);
 std::ostream&  operator<<      (std::ostream& s, const VkDeviceQueueCreateInfo& value);
 std::ostream&  operator<<      (std::ostream& s, const VkDeviceCreateInfo& value);
 std::ostream&  operator<<      (std::ostream& s, const VkExtensionProperties& value);
 std::ostream&  operator<<      (std::ostream& s, const VkLayerProperties& value);
 std::ostream&  operator<<      (std::ostream& s, const VkSubmitInfo& value);
-std::ostream&  operator<<      (std::ostream& s, const VkMemoryAllocateInfo& value);
 std::ostream&  operator<<      (std::ostream& s, const VkMappedMemoryRange& value);
+std::ostream&  operator<<      (std::ostream& s, const VkMemoryAllocateInfo& value);
 std::ostream&  operator<<      (std::ostream& s, const VkMemoryRequirements& value);
-std::ostream&  operator<<      (std::ostream& s, const VkSparseImageFormatProperties& value);
-std::ostream&  operator<<      (std::ostream& s, const VkSparseImageMemoryRequirements& value);
 std::ostream&  operator<<      (std::ostream& s, const VkSparseMemoryBind& value);
 std::ostream&  operator<<      (std::ostream& s, const VkSparseBufferMemoryBindInfo& value);
 std::ostream&  operator<<      (std::ostream& s, const VkSparseImageOpaqueMemoryBindInfo& value);
 std::ostream&  operator<<      (std::ostream& s, const VkImageSubresource& value);
-std::ostream&  operator<<      (std::ostream& s, const VkOffset3D& value);
 std::ostream&  operator<<      (std::ostream& s, const VkSparseImageMemoryBind& value);
 std::ostream&  operator<<      (std::ostream& s, const VkSparseImageMemoryBindInfo& value);
 std::ostream&  operator<<      (std::ostream& s, const VkBindSparseInfo& value);
+std::ostream&  operator<<      (std::ostream& s, const VkSparseImageFormatProperties& value);
+std::ostream&  operator<<      (std::ostream& s, const VkSparseImageMemoryRequirements& value);
 std::ostream&  operator<<      (std::ostream& s, const VkFenceCreateInfo& value);
 std::ostream&  operator<<      (std::ostream& s, const VkSemaphoreCreateInfo& value);
 std::ostream&  operator<<      (std::ostream& s, const VkEventCreateInfo& value);
@@ -441,22 +453,19 @@ std::ostream&     operator<<      (std::ostream& s, const VkBufferViewCreateInfo& value);
 std::ostream&  operator<<      (std::ostream& s, const VkImageCreateInfo& value);
 std::ostream&  operator<<      (std::ostream& s, const VkSubresourceLayout& value);
 std::ostream&  operator<<      (std::ostream& s, const VkComponentMapping& value);
-std::ostream&  operator<<      (std::ostream& s, const VkImageSubresourceRange& value);
 std::ostream&  operator<<      (std::ostream& s, const VkImageViewCreateInfo& value);
 std::ostream&  operator<<      (std::ostream& s, const VkShaderModuleCreateInfo& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPipelineCacheCreateInfo& value);
 std::ostream&  operator<<      (std::ostream& s, const VkSpecializationMapEntry& value);
 std::ostream&  operator<<      (std::ostream& s, const VkSpecializationInfo& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPipelineShaderStageCreateInfo& value);
+std::ostream&  operator<<      (std::ostream& s, const VkComputePipelineCreateInfo& value);
 std::ostream&  operator<<      (std::ostream& s, const VkVertexInputBindingDescription& value);
 std::ostream&  operator<<      (std::ostream& s, const VkVertexInputAttributeDescription& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPipelineVertexInputStateCreateInfo& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPipelineInputAssemblyStateCreateInfo& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPipelineTessellationStateCreateInfo& value);
 std::ostream&  operator<<      (std::ostream& s, const VkViewport& value);
-std::ostream&  operator<<      (std::ostream& s, const VkOffset2D& value);
-std::ostream&  operator<<      (std::ostream& s, const VkExtent2D& value);
-std::ostream&  operator<<      (std::ostream& s, const VkRect2D& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPipelineViewportStateCreateInfo& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPipelineRasterizationStateCreateInfo& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPipelineMultisampleStateCreateInfo& value);
@@ -466,22 +475,21 @@ std::ostream&     operator<<      (std::ostream& s, const VkPipelineColorBlendAttachmentS
 std::ostream&  operator<<      (std::ostream& s, const VkPipelineColorBlendStateCreateInfo& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPipelineDynamicStateCreateInfo& value);
 std::ostream&  operator<<      (std::ostream& s, const VkGraphicsPipelineCreateInfo& value);
-std::ostream&  operator<<      (std::ostream& s, const VkComputePipelineCreateInfo& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPushConstantRange& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPipelineLayoutCreateInfo& value);
 std::ostream&  operator<<      (std::ostream& s, const VkSamplerCreateInfo& value);
-std::ostream&  operator<<      (std::ostream& s, const VkDescriptorSetLayoutBinding& value);
-std::ostream&  operator<<      (std::ostream& s, const VkDescriptorSetLayoutCreateInfo& value);
+std::ostream&  operator<<      (std::ostream& s, const VkCopyDescriptorSet& value);
+std::ostream&  operator<<      (std::ostream& s, const VkDescriptorBufferInfo& value);
+std::ostream&  operator<<      (std::ostream& s, const VkDescriptorImageInfo& value);
 std::ostream&  operator<<      (std::ostream& s, const VkDescriptorPoolSize& value);
 std::ostream&  operator<<      (std::ostream& s, const VkDescriptorPoolCreateInfo& value);
 std::ostream&  operator<<      (std::ostream& s, const VkDescriptorSetAllocateInfo& value);
-std::ostream&  operator<<      (std::ostream& s, const VkDescriptorImageInfo& value);
-std::ostream&  operator<<      (std::ostream& s, const VkDescriptorBufferInfo& value);
+std::ostream&  operator<<      (std::ostream& s, const VkDescriptorSetLayoutBinding& value);
+std::ostream&  operator<<      (std::ostream& s, const VkDescriptorSetLayoutCreateInfo& value);
 std::ostream&  operator<<      (std::ostream& s, const VkWriteDescriptorSet& value);
-std::ostream&  operator<<      (std::ostream& s, const VkCopyDescriptorSet& value);
-std::ostream&  operator<<      (std::ostream& s, const VkFramebufferCreateInfo& value);
 std::ostream&  operator<<      (std::ostream& s, const VkAttachmentDescription& value);
 std::ostream&  operator<<      (std::ostream& s, const VkAttachmentReference& value);
+std::ostream&  operator<<      (std::ostream& s, const VkFramebufferCreateInfo& value);
 std::ostream&  operator<<      (std::ostream& s, const VkSubpassDescription& value);
 std::ostream&  operator<<      (std::ostream& s, const VkSubpassDependency& value);
 std::ostream&  operator<<      (std::ostream& s, const VkRenderPassCreateInfo& value);
@@ -491,24 +499,16 @@ std::ostream&     operator<<      (std::ostream& s, const VkCommandBufferInheritanceInfo&
 std::ostream&  operator<<      (std::ostream& s, const VkCommandBufferBeginInfo& value);
 std::ostream&  operator<<      (std::ostream& s, const VkBufferCopy& value);
 std::ostream&  operator<<      (std::ostream& s, const VkImageSubresourceLayers& value);
-std::ostream&  operator<<      (std::ostream& s, const VkImageCopy& value);
-std::ostream&  operator<<      (std::ostream& s, const VkImageBlit& value);
 std::ostream&  operator<<      (std::ostream& s, const VkBufferImageCopy& value);
 std::ostream&  operator<<      (std::ostream& s, const VkClearColorValue& value);
 std::ostream&  operator<<      (std::ostream& s, const VkClearDepthStencilValue& value);
 std::ostream&  operator<<      (std::ostream& s, const VkClearValue& value);
 std::ostream&  operator<<      (std::ostream& s, const VkClearAttachment& value);
 std::ostream&  operator<<      (std::ostream& s, const VkClearRect& value);
+std::ostream&  operator<<      (std::ostream& s, const VkImageBlit& value);
+std::ostream&  operator<<      (std::ostream& s, const VkImageCopy& value);
 std::ostream&  operator<<      (std::ostream& s, const VkImageResolve& value);
-std::ostream&  operator<<      (std::ostream& s, const VkMemoryBarrier& value);
-std::ostream&  operator<<      (std::ostream& s, const VkBufferMemoryBarrier& value);
-std::ostream&  operator<<      (std::ostream& s, const VkImageMemoryBarrier& value);
 std::ostream&  operator<<      (std::ostream& s, const VkRenderPassBeginInfo& value);
-std::ostream&  operator<<      (std::ostream& s, const VkDispatchIndirectCommand& value);
-std::ostream&  operator<<      (std::ostream& s, const VkDrawIndexedIndirectCommand& value);
-std::ostream&  operator<<      (std::ostream& s, const VkDrawIndirectCommand& value);
-std::ostream&  operator<<      (std::ostream& s, const VkBaseOutStructure& value);
-std::ostream&  operator<<      (std::ostream& s, const VkBaseInStructure& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceSubgroupProperties& value);
 std::ostream&  operator<<      (std::ostream& s, const VkBindBufferMemoryInfo& value);
 std::ostream&  operator<<      (std::ostream& s, const VkBindImageMemoryInfo& value);
@@ -638,12 +638,12 @@ std::ostream&     operator<<      (std::ostream& s, const VkAcquireNextImageInfoKHR& valu
 std::ostream&  operator<<      (std::ostream& s, const VkDeviceGroupPresentCapabilitiesKHR& value);
 std::ostream&  operator<<      (std::ostream& s, const VkDeviceGroupPresentInfoKHR& value);
 std::ostream&  operator<<      (std::ostream& s, const VkDeviceGroupSwapchainCreateInfoKHR& value);
-std::ostream&  operator<<      (std::ostream& s, const VkDisplayPropertiesKHR& value);
 std::ostream&  operator<<      (std::ostream& s, const VkDisplayModeParametersKHR& value);
-std::ostream&  operator<<      (std::ostream& s, const VkDisplayModePropertiesKHR& value);
 std::ostream&  operator<<      (std::ostream& s, const VkDisplayModeCreateInfoKHR& value);
+std::ostream&  operator<<      (std::ostream& s, const VkDisplayModePropertiesKHR& value);
 std::ostream&  operator<<      (std::ostream& s, const VkDisplayPlaneCapabilitiesKHR& value);
 std::ostream&  operator<<      (std::ostream& s, const VkDisplayPlanePropertiesKHR& value);
+std::ostream&  operator<<      (std::ostream& s, const VkDisplayPropertiesKHR& value);
 std::ostream&  operator<<      (std::ostream& s, const VkDisplaySurfaceCreateInfoKHR& value);
 std::ostream&  operator<<      (std::ostream& s, const VkDisplayPresentInfoKHR& value);
 std::ostream&  operator<<      (std::ostream& s, const VkImportMemoryFdInfoKHR& value);
@@ -735,8 +735,8 @@ std::ostream&       operator<<      (std::ostream& s, const VkHdrMetadataEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkDebugUtilsLabelEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkDebugUtilsObjectNameInfoEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkDebugUtilsMessengerCallbackDataEXT& value);
-std::ostream&  operator<<      (std::ostream& s, const VkDebugUtilsObjectTagInfoEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkDebugUtilsMessengerCreateInfoEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkDebugUtilsObjectTagInfoEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceInlineUniformBlockFeaturesEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceInlineUniformBlockPropertiesEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkWriteDescriptorSetInlineUniformBlockEXT& value);
index b2fe1ff..9832e7c 100644 (file)
@@ -1,6 +1,8 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  */
+template<> const char* getTypeName<VkBuffer>                                                   (void) { return "VkBuffer";                                                     }
+template<> const char* getTypeName<VkImage>                                                    (void) { return "VkImage";                                                      }
 template<> const char* getTypeName<VkInstance>                                                 (void) { return "VkInstance";                                           }
 template<> const char* getTypeName<VkPhysicalDevice>                                   (void) { return "VkPhysicalDevice";                                     }
 template<> const char* getTypeName<VkDevice>                                                   (void) { return "VkDevice";                                                     }
@@ -9,8 +11,6 @@ template<> const char* getTypeName<VkSemaphore>                                                (void) { return "VkSemaphor
 template<> const char* getTypeName<VkCommandBuffer>                                    (void) { return "VkCommandBuffer";                                      }
 template<> const char* getTypeName<VkFence>                                                    (void) { return "VkFence";                                                      }
 template<> const char* getTypeName<VkDeviceMemory>                                             (void) { return "VkDeviceMemory";                                       }
-template<> const char* getTypeName<VkBuffer>                                                   (void) { return "VkBuffer";                                                     }
-template<> const char* getTypeName<VkImage>                                                    (void) { return "VkImage";                                                      }
 template<> const char* getTypeName<VkEvent>                                                    (void) { return "VkEvent";                                                      }
 template<> const char* getTypeName<VkQueryPool>                                                (void) { return "VkQueryPool";                                          }
 template<> const char* getTypeName<VkBufferView>                                               (void) { return "VkBufferView";                                         }
@@ -18,12 +18,12 @@ template<> const char*      getTypeName<VkImageView>                                                (void) { return "VkImageVie
 template<> const char* getTypeName<VkShaderModule>                                             (void) { return "VkShaderModule";                                       }
 template<> const char* getTypeName<VkPipelineCache>                                    (void) { return "VkPipelineCache";                                      }
 template<> const char* getTypeName<VkPipelineLayout>                                   (void) { return "VkPipelineLayout";                                     }
-template<> const char* getTypeName<VkRenderPass>                                               (void) { return "VkRenderPass";                                         }
 template<> const char* getTypeName<VkPipeline>                                                 (void) { return "VkPipeline";                                           }
+template<> const char* getTypeName<VkRenderPass>                                               (void) { return "VkRenderPass";                                         }
 template<> const char* getTypeName<VkDescriptorSetLayout>                              (void) { return "VkDescriptorSetLayout";                        }
 template<> const char* getTypeName<VkSampler>                                                  (void) { return "VkSampler";                                            }
-template<> const char* getTypeName<VkDescriptorPool>                                   (void) { return "VkDescriptorPool";                                     }
 template<> const char* getTypeName<VkDescriptorSet>                                    (void) { return "VkDescriptorSet";                                      }
+template<> const char* getTypeName<VkDescriptorPool>                                   (void) { return "VkDescriptorPool";                                     }
 template<> const char* getTypeName<VkFramebuffer>                                              (void) { return "VkFramebuffer";                                        }
 template<> const char* getTypeName<VkCommandPool>                                              (void) { return "VkCommandPool";                                        }
 template<> const char* getTypeName<VkSamplerYcbcrConversion>                   (void) { return "VkSamplerYcbcrConversion";                     }
@@ -69,16 +69,6 @@ std::ostream& operator<< (std::ostream& s, GgpStreamDescriptor                       v) { return s <
 std::ostream& operator<< (std::ostream& s, CAMetalLayer                                        v) { return s << tcu::toHex(v.internal); }
 }
 
-const char* getPipelineCacheHeaderVersionName (VkPipelineCacheHeaderVersion value)
-{
-       switch (value)
-       {
-               case VK_PIPELINE_CACHE_HEADER_VERSION_ONE:              return "VK_PIPELINE_CACHE_HEADER_VERSION_ONE";
-               case VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM: return "VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM";
-               default:                                                                                return DE_NULL;
-       }
-}
-
 const char* getResultName (VkResult value)
 {
        switch (value)
@@ -570,11 +560,113 @@ const char* getStructureTypeName (VkStructureType value)
                case VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV:                                                return "VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV";
                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_DIRECTFB_SURFACE_CREATE_INFO_EXT:                                                                return "VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT";
                case VK_STRUCTURE_TYPE_MAX_ENUM:                                                                                                                return "VK_STRUCTURE_TYPE_MAX_ENUM";
                default:                                                                                                                                                                return DE_NULL;
        }
 }
 
+const char* getImageLayoutName (VkImageLayout value)
+{
+       switch (value)
+       {
+               case VK_IMAGE_LAYOUT_UNDEFINED:                                                                         return "VK_IMAGE_LAYOUT_UNDEFINED";
+               case VK_IMAGE_LAYOUT_GENERAL:                                                                           return "VK_IMAGE_LAYOUT_GENERAL";
+               case VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL:                                          return "VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL";
+               case VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL:                          return "VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL";
+               case VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL:                           return "VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL";
+               case VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL:                                          return "VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL";
+               case VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL:                                                      return "VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL";
+               case VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL:                                                      return "VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL";
+               case VK_IMAGE_LAYOUT_PREINITIALIZED:                                                            return "VK_IMAGE_LAYOUT_PREINITIALIZED";
+               case VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL:        return "VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL";
+               case VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL:        return "VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL";
+               case VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL:                                          return "VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL";
+               case VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL:                                           return "VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL";
+               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_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";
+               case VK_IMAGE_LAYOUT_MAX_ENUM:                                                                          return "VK_IMAGE_LAYOUT_MAX_ENUM";
+               default:                                                                                                                        return DE_NULL;
+       }
+}
+
+const char* getObjectTypeName (VkObjectType value)
+{
+       switch (value)
+       {
+               case VK_OBJECT_TYPE_UNKNOWN:                                                    return "VK_OBJECT_TYPE_UNKNOWN";
+               case VK_OBJECT_TYPE_INSTANCE:                                                   return "VK_OBJECT_TYPE_INSTANCE";
+               case VK_OBJECT_TYPE_PHYSICAL_DEVICE:                                    return "VK_OBJECT_TYPE_PHYSICAL_DEVICE";
+               case VK_OBJECT_TYPE_DEVICE:                                                             return "VK_OBJECT_TYPE_DEVICE";
+               case VK_OBJECT_TYPE_QUEUE:                                                              return "VK_OBJECT_TYPE_QUEUE";
+               case VK_OBJECT_TYPE_SEMAPHORE:                                                  return "VK_OBJECT_TYPE_SEMAPHORE";
+               case VK_OBJECT_TYPE_COMMAND_BUFFER:                                             return "VK_OBJECT_TYPE_COMMAND_BUFFER";
+               case VK_OBJECT_TYPE_FENCE:                                                              return "VK_OBJECT_TYPE_FENCE";
+               case VK_OBJECT_TYPE_DEVICE_MEMORY:                                              return "VK_OBJECT_TYPE_DEVICE_MEMORY";
+               case VK_OBJECT_TYPE_BUFFER:                                                             return "VK_OBJECT_TYPE_BUFFER";
+               case VK_OBJECT_TYPE_IMAGE:                                                              return "VK_OBJECT_TYPE_IMAGE";
+               case VK_OBJECT_TYPE_EVENT:                                                              return "VK_OBJECT_TYPE_EVENT";
+               case VK_OBJECT_TYPE_QUERY_POOL:                                                 return "VK_OBJECT_TYPE_QUERY_POOL";
+               case VK_OBJECT_TYPE_BUFFER_VIEW:                                                return "VK_OBJECT_TYPE_BUFFER_VIEW";
+               case VK_OBJECT_TYPE_IMAGE_VIEW:                                                 return "VK_OBJECT_TYPE_IMAGE_VIEW";
+               case VK_OBJECT_TYPE_SHADER_MODULE:                                              return "VK_OBJECT_TYPE_SHADER_MODULE";
+               case VK_OBJECT_TYPE_PIPELINE_CACHE:                                             return "VK_OBJECT_TYPE_PIPELINE_CACHE";
+               case VK_OBJECT_TYPE_PIPELINE_LAYOUT:                                    return "VK_OBJECT_TYPE_PIPELINE_LAYOUT";
+               case VK_OBJECT_TYPE_RENDER_PASS:                                                return "VK_OBJECT_TYPE_RENDER_PASS";
+               case VK_OBJECT_TYPE_PIPELINE:                                                   return "VK_OBJECT_TYPE_PIPELINE";
+               case VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT:                              return "VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT";
+               case VK_OBJECT_TYPE_SAMPLER:                                                    return "VK_OBJECT_TYPE_SAMPLER";
+               case VK_OBJECT_TYPE_DESCRIPTOR_POOL:                                    return "VK_OBJECT_TYPE_DESCRIPTOR_POOL";
+               case VK_OBJECT_TYPE_DESCRIPTOR_SET:                                             return "VK_OBJECT_TYPE_DESCRIPTOR_SET";
+               case VK_OBJECT_TYPE_FRAMEBUFFER:                                                return "VK_OBJECT_TYPE_FRAMEBUFFER";
+               case VK_OBJECT_TYPE_COMMAND_POOL:                                               return "VK_OBJECT_TYPE_COMMAND_POOL";
+               case VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION:                   return "VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION";
+               case VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE:                 return "VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE";
+               case VK_OBJECT_TYPE_SURFACE_KHR:                                                return "VK_OBJECT_TYPE_SURFACE_KHR";
+               case VK_OBJECT_TYPE_SWAPCHAIN_KHR:                                              return "VK_OBJECT_TYPE_SWAPCHAIN_KHR";
+               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_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";
+               case VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL:    return "VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL";
+               case VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR:                             return "VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR";
+               case VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV:                return "VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV";
+               case VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT:                              return "VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT";
+               case VK_OBJECT_TYPE_MAX_ENUM:                                                   return "VK_OBJECT_TYPE_MAX_ENUM";
+               default:                                                                                                return DE_NULL;
+       }
+}
+
+const char* getVendorIdName (VkVendorId value)
+{
+       switch (value)
+       {
+               case VK_VENDOR_ID_VIV:          return "VK_VENDOR_ID_VIV";
+               case VK_VENDOR_ID_VSI:          return "VK_VENDOR_ID_VSI";
+               case VK_VENDOR_ID_KAZAN:        return "VK_VENDOR_ID_KAZAN";
+               case VK_VENDOR_ID_CODEPLAY:     return "VK_VENDOR_ID_CODEPLAY";
+               case VK_VENDOR_ID_MESA:         return "VK_VENDOR_ID_MESA";
+               case VK_VENDOR_ID_MAX_ENUM:     return "VK_VENDOR_ID_MAX_ENUM";
+               default:                                        return DE_NULL;
+       }
+}
+
+const char* getPipelineCacheHeaderVersionName (VkPipelineCacheHeaderVersion value)
+{
+       switch (value)
+       {
+               case VK_PIPELINE_CACHE_HEADER_VERSION_ONE:              return "VK_PIPELINE_CACHE_HEADER_VERSION_ONE";
+               case VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM: return "VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM";
+               default:                                                                                return DE_NULL;
+       }
+}
+
 const char* getSystemAllocationScopeName (VkSystemAllocationScope value)
 {
        switch (value)
@@ -849,18 +941,6 @@ const char* getFormatName (VkFormat value)
        }
 }
 
-const char* getImageTypeName (VkImageType value)
-{
-       switch (value)
-       {
-               case VK_IMAGE_TYPE_1D:                  return "VK_IMAGE_TYPE_1D";
-               case VK_IMAGE_TYPE_2D:                  return "VK_IMAGE_TYPE_2D";
-               case VK_IMAGE_TYPE_3D:                  return "VK_IMAGE_TYPE_3D";
-               case VK_IMAGE_TYPE_MAX_ENUM:    return "VK_IMAGE_TYPE_MAX_ENUM";
-               default:                                                return DE_NULL;
-       }
-}
-
 const char* getImageTilingName (VkImageTiling value)
 {
        switch (value)
@@ -873,6 +953,18 @@ const char* getImageTilingName (VkImageTiling value)
        }
 }
 
+const char* getImageTypeName (VkImageType value)
+{
+       switch (value)
+       {
+               case VK_IMAGE_TYPE_1D:                  return "VK_IMAGE_TYPE_1D";
+               case VK_IMAGE_TYPE_2D:                  return "VK_IMAGE_TYPE_2D";
+               case VK_IMAGE_TYPE_3D:                  return "VK_IMAGE_TYPE_3D";
+               case VK_IMAGE_TYPE_MAX_ENUM:    return "VK_IMAGE_TYPE_MAX_ENUM";
+               default:                                                return DE_NULL;
+       }
+}
+
 const char* getPhysicalDeviceTypeName (VkPhysicalDeviceType value)
 {
        switch (value)
@@ -915,50 +1007,6 @@ const char* getSharingModeName (VkSharingMode value)
        }
 }
 
-const char* getImageLayoutName (VkImageLayout value)
-{
-       switch (value)
-       {
-               case VK_IMAGE_LAYOUT_UNDEFINED:                                                                         return "VK_IMAGE_LAYOUT_UNDEFINED";
-               case VK_IMAGE_LAYOUT_GENERAL:                                                                           return "VK_IMAGE_LAYOUT_GENERAL";
-               case VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL:                                          return "VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL";
-               case VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL:                          return "VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL";
-               case VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL:                           return "VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL";
-               case VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL:                                          return "VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL";
-               case VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL:                                                      return "VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL";
-               case VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL:                                                      return "VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL";
-               case VK_IMAGE_LAYOUT_PREINITIALIZED:                                                            return "VK_IMAGE_LAYOUT_PREINITIALIZED";
-               case VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL:        return "VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL";
-               case VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL:        return "VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL";
-               case VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL:                                          return "VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL";
-               case VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL:                                           return "VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL";
-               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_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";
-               case VK_IMAGE_LAYOUT_MAX_ENUM:                                                                          return "VK_IMAGE_LAYOUT_MAX_ENUM";
-               default:                                                                                                                        return DE_NULL;
-       }
-}
-
-const char* getImageViewTypeName (VkImageViewType value)
-{
-       switch (value)
-       {
-               case VK_IMAGE_VIEW_TYPE_1D:                     return "VK_IMAGE_VIEW_TYPE_1D";
-               case VK_IMAGE_VIEW_TYPE_2D:                     return "VK_IMAGE_VIEW_TYPE_2D";
-               case VK_IMAGE_VIEW_TYPE_3D:                     return "VK_IMAGE_VIEW_TYPE_3D";
-               case VK_IMAGE_VIEW_TYPE_CUBE:           return "VK_IMAGE_VIEW_TYPE_CUBE";
-               case VK_IMAGE_VIEW_TYPE_1D_ARRAY:       return "VK_IMAGE_VIEW_TYPE_1D_ARRAY";
-               case VK_IMAGE_VIEW_TYPE_2D_ARRAY:       return "VK_IMAGE_VIEW_TYPE_2D_ARRAY";
-               case VK_IMAGE_VIEW_TYPE_CUBE_ARRAY:     return "VK_IMAGE_VIEW_TYPE_CUBE_ARRAY";
-               case VK_IMAGE_VIEW_TYPE_MAX_ENUM:       return "VK_IMAGE_VIEW_TYPE_MAX_ENUM";
-               default:                                                        return DE_NULL;
-       }
-}
-
 const char* getComponentSwizzleName (VkComponentSwizzle value)
 {
        switch (value)
@@ -975,149 +1023,51 @@ const char* getComponentSwizzleName (VkComponentSwizzle value)
        }
 }
 
-const char* getVertexInputRateName (VkVertexInputRate value)
+const char* getImageViewTypeName (VkImageViewType value)
 {
        switch (value)
        {
-               case VK_VERTEX_INPUT_RATE_VERTEX:       return "VK_VERTEX_INPUT_RATE_VERTEX";
-               case VK_VERTEX_INPUT_RATE_INSTANCE:     return "VK_VERTEX_INPUT_RATE_INSTANCE";
-               case VK_VERTEX_INPUT_RATE_MAX_ENUM:     return "VK_VERTEX_INPUT_RATE_MAX_ENUM";
+               case VK_IMAGE_VIEW_TYPE_1D:                     return "VK_IMAGE_VIEW_TYPE_1D";
+               case VK_IMAGE_VIEW_TYPE_2D:                     return "VK_IMAGE_VIEW_TYPE_2D";
+               case VK_IMAGE_VIEW_TYPE_3D:                     return "VK_IMAGE_VIEW_TYPE_3D";
+               case VK_IMAGE_VIEW_TYPE_CUBE:           return "VK_IMAGE_VIEW_TYPE_CUBE";
+               case VK_IMAGE_VIEW_TYPE_1D_ARRAY:       return "VK_IMAGE_VIEW_TYPE_1D_ARRAY";
+               case VK_IMAGE_VIEW_TYPE_2D_ARRAY:       return "VK_IMAGE_VIEW_TYPE_2D_ARRAY";
+               case VK_IMAGE_VIEW_TYPE_CUBE_ARRAY:     return "VK_IMAGE_VIEW_TYPE_CUBE_ARRAY";
+               case VK_IMAGE_VIEW_TYPE_MAX_ENUM:       return "VK_IMAGE_VIEW_TYPE_MAX_ENUM";
                default:                                                        return DE_NULL;
        }
 }
 
-const char* getPrimitiveTopologyName (VkPrimitiveTopology value)
-{
-       switch (value)
-       {
-               case VK_PRIMITIVE_TOPOLOGY_POINT_LIST:                                          return "VK_PRIMITIVE_TOPOLOGY_POINT_LIST";
-               case VK_PRIMITIVE_TOPOLOGY_LINE_LIST:                                           return "VK_PRIMITIVE_TOPOLOGY_LINE_LIST";
-               case VK_PRIMITIVE_TOPOLOGY_LINE_STRIP:                                          return "VK_PRIMITIVE_TOPOLOGY_LINE_STRIP";
-               case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST:                                       return "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST";
-               case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP:                                      return "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP";
-               case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN:                                        return "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN";
-               case VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY:            return "VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY";
-               case VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY:           return "VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY";
-               case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY:        return "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY";
-               case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY:       return "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY";
-               case VK_PRIMITIVE_TOPOLOGY_PATCH_LIST:                                          return "VK_PRIMITIVE_TOPOLOGY_PATCH_LIST";
-               case VK_PRIMITIVE_TOPOLOGY_MAX_ENUM:                                            return "VK_PRIMITIVE_TOPOLOGY_MAX_ENUM";
-               default:                                                                                                        return DE_NULL;
-       }
-}
-
-const char* getPolygonModeName (VkPolygonMode value)
+const char* getBlendFactorName (VkBlendFactor value)
 {
        switch (value)
        {
-               case VK_POLYGON_MODE_FILL:                              return "VK_POLYGON_MODE_FILL";
-               case VK_POLYGON_MODE_LINE:                              return "VK_POLYGON_MODE_LINE";
-               case VK_POLYGON_MODE_POINT:                             return "VK_POLYGON_MODE_POINT";
-               case VK_POLYGON_MODE_FILL_RECTANGLE_NV: return "VK_POLYGON_MODE_FILL_RECTANGLE_NV";
-               case VK_POLYGON_MODE_MAX_ENUM:                  return "VK_POLYGON_MODE_MAX_ENUM";
-               default:                                                                return DE_NULL;
+               case VK_BLEND_FACTOR_ZERO:                                              return "VK_BLEND_FACTOR_ZERO";
+               case VK_BLEND_FACTOR_ONE:                                               return "VK_BLEND_FACTOR_ONE";
+               case VK_BLEND_FACTOR_SRC_COLOR:                                 return "VK_BLEND_FACTOR_SRC_COLOR";
+               case VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR:               return "VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR";
+               case VK_BLEND_FACTOR_DST_COLOR:                                 return "VK_BLEND_FACTOR_DST_COLOR";
+               case VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR:               return "VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR";
+               case VK_BLEND_FACTOR_SRC_ALPHA:                                 return "VK_BLEND_FACTOR_SRC_ALPHA";
+               case VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA:               return "VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA";
+               case VK_BLEND_FACTOR_DST_ALPHA:                                 return "VK_BLEND_FACTOR_DST_ALPHA";
+               case VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA:               return "VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA";
+               case VK_BLEND_FACTOR_CONSTANT_COLOR:                    return "VK_BLEND_FACTOR_CONSTANT_COLOR";
+               case VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR:  return "VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR";
+               case VK_BLEND_FACTOR_CONSTANT_ALPHA:                    return "VK_BLEND_FACTOR_CONSTANT_ALPHA";
+               case VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA:  return "VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA";
+               case VK_BLEND_FACTOR_SRC_ALPHA_SATURATE:                return "VK_BLEND_FACTOR_SRC_ALPHA_SATURATE";
+               case VK_BLEND_FACTOR_SRC1_COLOR:                                return "VK_BLEND_FACTOR_SRC1_COLOR";
+               case VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR:              return "VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR";
+               case VK_BLEND_FACTOR_SRC1_ALPHA:                                return "VK_BLEND_FACTOR_SRC1_ALPHA";
+               case VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA:              return "VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA";
+               case VK_BLEND_FACTOR_MAX_ENUM:                                  return "VK_BLEND_FACTOR_MAX_ENUM";
+               default:                                                                                return DE_NULL;
        }
 }
 
-const char* getFrontFaceName (VkFrontFace value)
-{
-       switch (value)
-       {
-               case VK_FRONT_FACE_COUNTER_CLOCKWISE:   return "VK_FRONT_FACE_COUNTER_CLOCKWISE";
-               case VK_FRONT_FACE_CLOCKWISE:                   return "VK_FRONT_FACE_CLOCKWISE";
-               case VK_FRONT_FACE_MAX_ENUM:                    return "VK_FRONT_FACE_MAX_ENUM";
-               default:                                                                return DE_NULL;
-       }
-}
-
-const char* getCompareOpName (VkCompareOp value)
-{
-       switch (value)
-       {
-               case VK_COMPARE_OP_NEVER:                               return "VK_COMPARE_OP_NEVER";
-               case VK_COMPARE_OP_LESS:                                return "VK_COMPARE_OP_LESS";
-               case VK_COMPARE_OP_EQUAL:                               return "VK_COMPARE_OP_EQUAL";
-               case VK_COMPARE_OP_LESS_OR_EQUAL:               return "VK_COMPARE_OP_LESS_OR_EQUAL";
-               case VK_COMPARE_OP_GREATER:                             return "VK_COMPARE_OP_GREATER";
-               case VK_COMPARE_OP_NOT_EQUAL:                   return "VK_COMPARE_OP_NOT_EQUAL";
-               case VK_COMPARE_OP_GREATER_OR_EQUAL:    return "VK_COMPARE_OP_GREATER_OR_EQUAL";
-               case VK_COMPARE_OP_ALWAYS:                              return "VK_COMPARE_OP_ALWAYS";
-               case VK_COMPARE_OP_MAX_ENUM:                    return "VK_COMPARE_OP_MAX_ENUM";
-               default:                                                                return DE_NULL;
-       }
-}
-
-const char* getStencilOpName (VkStencilOp value)
-{
-       switch (value)
-       {
-               case VK_STENCIL_OP_KEEP:                                return "VK_STENCIL_OP_KEEP";
-               case VK_STENCIL_OP_ZERO:                                return "VK_STENCIL_OP_ZERO";
-               case VK_STENCIL_OP_REPLACE:                             return "VK_STENCIL_OP_REPLACE";
-               case VK_STENCIL_OP_INCREMENT_AND_CLAMP: return "VK_STENCIL_OP_INCREMENT_AND_CLAMP";
-               case VK_STENCIL_OP_DECREMENT_AND_CLAMP: return "VK_STENCIL_OP_DECREMENT_AND_CLAMP";
-               case VK_STENCIL_OP_INVERT:                              return "VK_STENCIL_OP_INVERT";
-               case VK_STENCIL_OP_INCREMENT_AND_WRAP:  return "VK_STENCIL_OP_INCREMENT_AND_WRAP";
-               case VK_STENCIL_OP_DECREMENT_AND_WRAP:  return "VK_STENCIL_OP_DECREMENT_AND_WRAP";
-               case VK_STENCIL_OP_MAX_ENUM:                    return "VK_STENCIL_OP_MAX_ENUM";
-               default:                                                                return DE_NULL;
-       }
-}
-
-const char* getLogicOpName (VkLogicOp value)
-{
-       switch (value)
-       {
-               case VK_LOGIC_OP_CLEAR:                 return "VK_LOGIC_OP_CLEAR";
-               case VK_LOGIC_OP_AND:                   return "VK_LOGIC_OP_AND";
-               case VK_LOGIC_OP_AND_REVERSE:   return "VK_LOGIC_OP_AND_REVERSE";
-               case VK_LOGIC_OP_COPY:                  return "VK_LOGIC_OP_COPY";
-               case VK_LOGIC_OP_AND_INVERTED:  return "VK_LOGIC_OP_AND_INVERTED";
-               case VK_LOGIC_OP_NO_OP:                 return "VK_LOGIC_OP_NO_OP";
-               case VK_LOGIC_OP_XOR:                   return "VK_LOGIC_OP_XOR";
-               case VK_LOGIC_OP_OR:                    return "VK_LOGIC_OP_OR";
-               case VK_LOGIC_OP_NOR:                   return "VK_LOGIC_OP_NOR";
-               case VK_LOGIC_OP_EQUIVALENT:    return "VK_LOGIC_OP_EQUIVALENT";
-               case VK_LOGIC_OP_INVERT:                return "VK_LOGIC_OP_INVERT";
-               case VK_LOGIC_OP_OR_REVERSE:    return "VK_LOGIC_OP_OR_REVERSE";
-               case VK_LOGIC_OP_COPY_INVERTED: return "VK_LOGIC_OP_COPY_INVERTED";
-               case VK_LOGIC_OP_OR_INVERTED:   return "VK_LOGIC_OP_OR_INVERTED";
-               case VK_LOGIC_OP_NAND:                  return "VK_LOGIC_OP_NAND";
-               case VK_LOGIC_OP_SET:                   return "VK_LOGIC_OP_SET";
-               case VK_LOGIC_OP_MAX_ENUM:              return "VK_LOGIC_OP_MAX_ENUM";
-               default:                                                return DE_NULL;
-       }
-}
-
-const char* getBlendFactorName (VkBlendFactor value)
-{
-       switch (value)
-       {
-               case VK_BLEND_FACTOR_ZERO:                                              return "VK_BLEND_FACTOR_ZERO";
-               case VK_BLEND_FACTOR_ONE:                                               return "VK_BLEND_FACTOR_ONE";
-               case VK_BLEND_FACTOR_SRC_COLOR:                                 return "VK_BLEND_FACTOR_SRC_COLOR";
-               case VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR:               return "VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR";
-               case VK_BLEND_FACTOR_DST_COLOR:                                 return "VK_BLEND_FACTOR_DST_COLOR";
-               case VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR:               return "VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR";
-               case VK_BLEND_FACTOR_SRC_ALPHA:                                 return "VK_BLEND_FACTOR_SRC_ALPHA";
-               case VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA:               return "VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA";
-               case VK_BLEND_FACTOR_DST_ALPHA:                                 return "VK_BLEND_FACTOR_DST_ALPHA";
-               case VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA:               return "VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA";
-               case VK_BLEND_FACTOR_CONSTANT_COLOR:                    return "VK_BLEND_FACTOR_CONSTANT_COLOR";
-               case VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR:  return "VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR";
-               case VK_BLEND_FACTOR_CONSTANT_ALPHA:                    return "VK_BLEND_FACTOR_CONSTANT_ALPHA";
-               case VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA:  return "VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA";
-               case VK_BLEND_FACTOR_SRC_ALPHA_SATURATE:                return "VK_BLEND_FACTOR_SRC_ALPHA_SATURATE";
-               case VK_BLEND_FACTOR_SRC1_COLOR:                                return "VK_BLEND_FACTOR_SRC1_COLOR";
-               case VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR:              return "VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR";
-               case VK_BLEND_FACTOR_SRC1_ALPHA:                                return "VK_BLEND_FACTOR_SRC1_ALPHA";
-               case VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA:              return "VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA";
-               case VK_BLEND_FACTOR_MAX_ENUM:                                  return "VK_BLEND_FACTOR_MAX_ENUM";
-               default:                                                                                return DE_NULL;
-       }
-}
-
-const char* getBlendOpName (VkBlendOp value)
+const char* getBlendOpName (VkBlendOp value)
 {
        switch (value)
        {
@@ -1177,6 +1127,23 @@ const char* getBlendOpName (VkBlendOp value)
        }
 }
 
+const char* getCompareOpName (VkCompareOp value)
+{
+       switch (value)
+       {
+               case VK_COMPARE_OP_NEVER:                               return "VK_COMPARE_OP_NEVER";
+               case VK_COMPARE_OP_LESS:                                return "VK_COMPARE_OP_LESS";
+               case VK_COMPARE_OP_EQUAL:                               return "VK_COMPARE_OP_EQUAL";
+               case VK_COMPARE_OP_LESS_OR_EQUAL:               return "VK_COMPARE_OP_LESS_OR_EQUAL";
+               case VK_COMPARE_OP_GREATER:                             return "VK_COMPARE_OP_GREATER";
+               case VK_COMPARE_OP_NOT_EQUAL:                   return "VK_COMPARE_OP_NOT_EQUAL";
+               case VK_COMPARE_OP_GREATER_OR_EQUAL:    return "VK_COMPARE_OP_GREATER_OR_EQUAL";
+               case VK_COMPARE_OP_ALWAYS:                              return "VK_COMPARE_OP_ALWAYS";
+               case VK_COMPARE_OP_MAX_ENUM:                    return "VK_COMPARE_OP_MAX_ENUM";
+               default:                                                                return DE_NULL;
+       }
+}
+
 const char* getDynamicStateName (VkDynamicState value)
 {
        switch (value)
@@ -1214,40 +1181,100 @@ const char* getDynamicStateName (VkDynamicState value)
        }
 }
 
-const char* getFilterName (VkFilter value)
+const char* getFrontFaceName (VkFrontFace value)
 {
        switch (value)
        {
-               case VK_FILTER_NEAREST:         return "VK_FILTER_NEAREST";
-               case VK_FILTER_LINEAR:          return "VK_FILTER_LINEAR";
-               case VK_FILTER_CUBIC_IMG:       return "VK_FILTER_CUBIC_IMG";
-               case VK_FILTER_MAX_ENUM:        return "VK_FILTER_MAX_ENUM";
-               default:                                        return DE_NULL;
+               case VK_FRONT_FACE_COUNTER_CLOCKWISE:   return "VK_FRONT_FACE_COUNTER_CLOCKWISE";
+               case VK_FRONT_FACE_CLOCKWISE:                   return "VK_FRONT_FACE_CLOCKWISE";
+               case VK_FRONT_FACE_MAX_ENUM:                    return "VK_FRONT_FACE_MAX_ENUM";
+               default:                                                                return DE_NULL;
        }
 }
 
-const char* getSamplerMipmapModeName (VkSamplerMipmapMode value)
+const char* getVertexInputRateName (VkVertexInputRate value)
 {
        switch (value)
        {
-               case VK_SAMPLER_MIPMAP_MODE_NEAREST:    return "VK_SAMPLER_MIPMAP_MODE_NEAREST";
-               case VK_SAMPLER_MIPMAP_MODE_LINEAR:             return "VK_SAMPLER_MIPMAP_MODE_LINEAR";
-               case VK_SAMPLER_MIPMAP_MODE_MAX_ENUM:   return "VK_SAMPLER_MIPMAP_MODE_MAX_ENUM";
+               case VK_VERTEX_INPUT_RATE_VERTEX:       return "VK_VERTEX_INPUT_RATE_VERTEX";
+               case VK_VERTEX_INPUT_RATE_INSTANCE:     return "VK_VERTEX_INPUT_RATE_INSTANCE";
+               case VK_VERTEX_INPUT_RATE_MAX_ENUM:     return "VK_VERTEX_INPUT_RATE_MAX_ENUM";
+               default:                                                        return DE_NULL;
+       }
+}
+
+const char* getPrimitiveTopologyName (VkPrimitiveTopology value)
+{
+       switch (value)
+       {
+               case VK_PRIMITIVE_TOPOLOGY_POINT_LIST:                                          return "VK_PRIMITIVE_TOPOLOGY_POINT_LIST";
+               case VK_PRIMITIVE_TOPOLOGY_LINE_LIST:                                           return "VK_PRIMITIVE_TOPOLOGY_LINE_LIST";
+               case VK_PRIMITIVE_TOPOLOGY_LINE_STRIP:                                          return "VK_PRIMITIVE_TOPOLOGY_LINE_STRIP";
+               case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST:                                       return "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST";
+               case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP:                                      return "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP";
+               case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN:                                        return "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN";
+               case VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY:            return "VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY";
+               case VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY:           return "VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY";
+               case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY:        return "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY";
+               case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY:       return "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY";
+               case VK_PRIMITIVE_TOPOLOGY_PATCH_LIST:                                          return "VK_PRIMITIVE_TOPOLOGY_PATCH_LIST";
+               case VK_PRIMITIVE_TOPOLOGY_MAX_ENUM:                                            return "VK_PRIMITIVE_TOPOLOGY_MAX_ENUM";
+               default:                                                                                                        return DE_NULL;
+       }
+}
+
+const char* getPolygonModeName (VkPolygonMode value)
+{
+       switch (value)
+       {
+               case VK_POLYGON_MODE_FILL:                              return "VK_POLYGON_MODE_FILL";
+               case VK_POLYGON_MODE_LINE:                              return "VK_POLYGON_MODE_LINE";
+               case VK_POLYGON_MODE_POINT:                             return "VK_POLYGON_MODE_POINT";
+               case VK_POLYGON_MODE_FILL_RECTANGLE_NV: return "VK_POLYGON_MODE_FILL_RECTANGLE_NV";
+               case VK_POLYGON_MODE_MAX_ENUM:                  return "VK_POLYGON_MODE_MAX_ENUM";
                default:                                                                return DE_NULL;
        }
 }
 
-const char* getSamplerAddressModeName (VkSamplerAddressMode value)
+const char* getStencilOpName (VkStencilOp value)
 {
        switch (value)
        {
-               case VK_SAMPLER_ADDRESS_MODE_REPEAT:                            return "VK_SAMPLER_ADDRESS_MODE_REPEAT";
-               case VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT:           return "VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT";
-               case VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE:                     return "VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE";
-               case VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER:           return "VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER";
-               case VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE:      return "VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE";
-               case VK_SAMPLER_ADDRESS_MODE_MAX_ENUM:                          return "VK_SAMPLER_ADDRESS_MODE_MAX_ENUM";
-               default:                                                                                        return DE_NULL;
+               case VK_STENCIL_OP_KEEP:                                return "VK_STENCIL_OP_KEEP";
+               case VK_STENCIL_OP_ZERO:                                return "VK_STENCIL_OP_ZERO";
+               case VK_STENCIL_OP_REPLACE:                             return "VK_STENCIL_OP_REPLACE";
+               case VK_STENCIL_OP_INCREMENT_AND_CLAMP: return "VK_STENCIL_OP_INCREMENT_AND_CLAMP";
+               case VK_STENCIL_OP_DECREMENT_AND_CLAMP: return "VK_STENCIL_OP_DECREMENT_AND_CLAMP";
+               case VK_STENCIL_OP_INVERT:                              return "VK_STENCIL_OP_INVERT";
+               case VK_STENCIL_OP_INCREMENT_AND_WRAP:  return "VK_STENCIL_OP_INCREMENT_AND_WRAP";
+               case VK_STENCIL_OP_DECREMENT_AND_WRAP:  return "VK_STENCIL_OP_DECREMENT_AND_WRAP";
+               case VK_STENCIL_OP_MAX_ENUM:                    return "VK_STENCIL_OP_MAX_ENUM";
+               default:                                                                return DE_NULL;
+       }
+}
+
+const char* getLogicOpName (VkLogicOp value)
+{
+       switch (value)
+       {
+               case VK_LOGIC_OP_CLEAR:                 return "VK_LOGIC_OP_CLEAR";
+               case VK_LOGIC_OP_AND:                   return "VK_LOGIC_OP_AND";
+               case VK_LOGIC_OP_AND_REVERSE:   return "VK_LOGIC_OP_AND_REVERSE";
+               case VK_LOGIC_OP_COPY:                  return "VK_LOGIC_OP_COPY";
+               case VK_LOGIC_OP_AND_INVERTED:  return "VK_LOGIC_OP_AND_INVERTED";
+               case VK_LOGIC_OP_NO_OP:                 return "VK_LOGIC_OP_NO_OP";
+               case VK_LOGIC_OP_XOR:                   return "VK_LOGIC_OP_XOR";
+               case VK_LOGIC_OP_OR:                    return "VK_LOGIC_OP_OR";
+               case VK_LOGIC_OP_NOR:                   return "VK_LOGIC_OP_NOR";
+               case VK_LOGIC_OP_EQUIVALENT:    return "VK_LOGIC_OP_EQUIVALENT";
+               case VK_LOGIC_OP_INVERT:                return "VK_LOGIC_OP_INVERT";
+               case VK_LOGIC_OP_OR_REVERSE:    return "VK_LOGIC_OP_OR_REVERSE";
+               case VK_LOGIC_OP_COPY_INVERTED: return "VK_LOGIC_OP_COPY_INVERTED";
+               case VK_LOGIC_OP_OR_INVERTED:   return "VK_LOGIC_OP_OR_INVERTED";
+               case VK_LOGIC_OP_NAND:                  return "VK_LOGIC_OP_NAND";
+               case VK_LOGIC_OP_SET:                   return "VK_LOGIC_OP_SET";
+               case VK_LOGIC_OP_MAX_ENUM:              return "VK_LOGIC_OP_MAX_ENUM";
+               default:                                                return DE_NULL;
        }
 }
 
@@ -1268,6 +1295,43 @@ const char* getBorderColorName (VkBorderColor value)
        }
 }
 
+const char* getFilterName (VkFilter value)
+{
+       switch (value)
+       {
+               case VK_FILTER_NEAREST:         return "VK_FILTER_NEAREST";
+               case VK_FILTER_LINEAR:          return "VK_FILTER_LINEAR";
+               case VK_FILTER_CUBIC_IMG:       return "VK_FILTER_CUBIC_IMG";
+               case VK_FILTER_MAX_ENUM:        return "VK_FILTER_MAX_ENUM";
+               default:                                        return DE_NULL;
+       }
+}
+
+const char* getSamplerAddressModeName (VkSamplerAddressMode value)
+{
+       switch (value)
+       {
+               case VK_SAMPLER_ADDRESS_MODE_REPEAT:                            return "VK_SAMPLER_ADDRESS_MODE_REPEAT";
+               case VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT:           return "VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT";
+               case VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE:                     return "VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE";
+               case VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER:           return "VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER";
+               case VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE:      return "VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE";
+               case VK_SAMPLER_ADDRESS_MODE_MAX_ENUM:                          return "VK_SAMPLER_ADDRESS_MODE_MAX_ENUM";
+               default:                                                                                        return DE_NULL;
+       }
+}
+
+const char* getSamplerMipmapModeName (VkSamplerMipmapMode value)
+{
+       switch (value)
+       {
+               case VK_SAMPLER_MIPMAP_MODE_NEAREST:    return "VK_SAMPLER_MIPMAP_MODE_NEAREST";
+               case VK_SAMPLER_MIPMAP_MODE_LINEAR:             return "VK_SAMPLER_MIPMAP_MODE_LINEAR";
+               case VK_SAMPLER_MIPMAP_MODE_MAX_ENUM:   return "VK_SAMPLER_MIPMAP_MODE_MAX_ENUM";
+               default:                                                                return DE_NULL;
+       }
+}
+
 const char* getDescriptorTypeName (VkDescriptorType value)
 {
        switch (value)
@@ -1361,70 +1425,7 @@ const char* getSubpassContentsName (VkSubpassContents value)
        }
 }
 
-const char* getObjectTypeName (VkObjectType value)
-{
-       switch (value)
-       {
-               case VK_OBJECT_TYPE_UNKNOWN:                                                    return "VK_OBJECT_TYPE_UNKNOWN";
-               case VK_OBJECT_TYPE_INSTANCE:                                                   return "VK_OBJECT_TYPE_INSTANCE";
-               case VK_OBJECT_TYPE_PHYSICAL_DEVICE:                                    return "VK_OBJECT_TYPE_PHYSICAL_DEVICE";
-               case VK_OBJECT_TYPE_DEVICE:                                                             return "VK_OBJECT_TYPE_DEVICE";
-               case VK_OBJECT_TYPE_QUEUE:                                                              return "VK_OBJECT_TYPE_QUEUE";
-               case VK_OBJECT_TYPE_SEMAPHORE:                                                  return "VK_OBJECT_TYPE_SEMAPHORE";
-               case VK_OBJECT_TYPE_COMMAND_BUFFER:                                             return "VK_OBJECT_TYPE_COMMAND_BUFFER";
-               case VK_OBJECT_TYPE_FENCE:                                                              return "VK_OBJECT_TYPE_FENCE";
-               case VK_OBJECT_TYPE_DEVICE_MEMORY:                                              return "VK_OBJECT_TYPE_DEVICE_MEMORY";
-               case VK_OBJECT_TYPE_BUFFER:                                                             return "VK_OBJECT_TYPE_BUFFER";
-               case VK_OBJECT_TYPE_IMAGE:                                                              return "VK_OBJECT_TYPE_IMAGE";
-               case VK_OBJECT_TYPE_EVENT:                                                              return "VK_OBJECT_TYPE_EVENT";
-               case VK_OBJECT_TYPE_QUERY_POOL:                                                 return "VK_OBJECT_TYPE_QUERY_POOL";
-               case VK_OBJECT_TYPE_BUFFER_VIEW:                                                return "VK_OBJECT_TYPE_BUFFER_VIEW";
-               case VK_OBJECT_TYPE_IMAGE_VIEW:                                                 return "VK_OBJECT_TYPE_IMAGE_VIEW";
-               case VK_OBJECT_TYPE_SHADER_MODULE:                                              return "VK_OBJECT_TYPE_SHADER_MODULE";
-               case VK_OBJECT_TYPE_PIPELINE_CACHE:                                             return "VK_OBJECT_TYPE_PIPELINE_CACHE";
-               case VK_OBJECT_TYPE_PIPELINE_LAYOUT:                                    return "VK_OBJECT_TYPE_PIPELINE_LAYOUT";
-               case VK_OBJECT_TYPE_RENDER_PASS:                                                return "VK_OBJECT_TYPE_RENDER_PASS";
-               case VK_OBJECT_TYPE_PIPELINE:                                                   return "VK_OBJECT_TYPE_PIPELINE";
-               case VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT:                              return "VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT";
-               case VK_OBJECT_TYPE_SAMPLER:                                                    return "VK_OBJECT_TYPE_SAMPLER";
-               case VK_OBJECT_TYPE_DESCRIPTOR_POOL:                                    return "VK_OBJECT_TYPE_DESCRIPTOR_POOL";
-               case VK_OBJECT_TYPE_DESCRIPTOR_SET:                                             return "VK_OBJECT_TYPE_DESCRIPTOR_SET";
-               case VK_OBJECT_TYPE_FRAMEBUFFER:                                                return "VK_OBJECT_TYPE_FRAMEBUFFER";
-               case VK_OBJECT_TYPE_COMMAND_POOL:                                               return "VK_OBJECT_TYPE_COMMAND_POOL";
-               case VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION:                   return "VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION";
-               case VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE:                 return "VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE";
-               case VK_OBJECT_TYPE_SURFACE_KHR:                                                return "VK_OBJECT_TYPE_SURFACE_KHR";
-               case VK_OBJECT_TYPE_SWAPCHAIN_KHR:                                              return "VK_OBJECT_TYPE_SWAPCHAIN_KHR";
-               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_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";
-               case VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL:    return "VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL";
-               case VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR:                             return "VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR";
-               case VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV:                return "VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV";
-               case VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT:                              return "VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT";
-               case VK_OBJECT_TYPE_MAX_ENUM:                                                   return "VK_OBJECT_TYPE_MAX_ENUM";
-               default:                                                                                                return DE_NULL;
-       }
-}
-
-const char* getVendorIdName (VkVendorId value)
-{
-       switch (value)
-       {
-               case VK_VENDOR_ID_VIV:          return "VK_VENDOR_ID_VIV";
-               case VK_VENDOR_ID_VSI:          return "VK_VENDOR_ID_VSI";
-               case VK_VENDOR_ID_KAZAN:        return "VK_VENDOR_ID_KAZAN";
-               case VK_VENDOR_ID_CODEPLAY:     return "VK_VENDOR_ID_CODEPLAY";
-               case VK_VENDOR_ID_MESA:         return "VK_VENDOR_ID_MESA";
-               case VK_VENDOR_ID_MAX_ENUM:     return "VK_VENDOR_ID_MAX_ENUM";
-               default:                                        return DE_NULL;
-       }
-}
-
-const char* getPointClippingBehaviorName (VkPointClippingBehavior value)
+const char* getPointClippingBehaviorName (VkPointClippingBehavior value)
 {
        switch (value)
        {
@@ -2151,6 +2152,68 @@ const char* getFullScreenExclusiveEXTName (VkFullScreenExclusiveEXT value)
        }
 }
 
+tcu::Format::Bitfield<32> getAccessFlagsStr (VkAccessFlags value)
+{
+       static const tcu::Format::BitDesc s_desc[] =
+       {
+               tcu::Format::BitDesc(VK_ACCESS_INDIRECT_COMMAND_READ_BIT,                                       "VK_ACCESS_INDIRECT_COMMAND_READ_BIT"),
+               tcu::Format::BitDesc(VK_ACCESS_INDEX_READ_BIT,                                                          "VK_ACCESS_INDEX_READ_BIT"),
+               tcu::Format::BitDesc(VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT,                                       "VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT"),
+               tcu::Format::BitDesc(VK_ACCESS_UNIFORM_READ_BIT,                                                        "VK_ACCESS_UNIFORM_READ_BIT"),
+               tcu::Format::BitDesc(VK_ACCESS_INPUT_ATTACHMENT_READ_BIT,                                       "VK_ACCESS_INPUT_ATTACHMENT_READ_BIT"),
+               tcu::Format::BitDesc(VK_ACCESS_SHADER_READ_BIT,                                                         "VK_ACCESS_SHADER_READ_BIT"),
+               tcu::Format::BitDesc(VK_ACCESS_SHADER_WRITE_BIT,                                                        "VK_ACCESS_SHADER_WRITE_BIT"),
+               tcu::Format::BitDesc(VK_ACCESS_COLOR_ATTACHMENT_READ_BIT,                                       "VK_ACCESS_COLOR_ATTACHMENT_READ_BIT"),
+               tcu::Format::BitDesc(VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT,                                      "VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT"),
+               tcu::Format::BitDesc(VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT,                       "VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT"),
+               tcu::Format::BitDesc(VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT,                      "VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT"),
+               tcu::Format::BitDesc(VK_ACCESS_TRANSFER_READ_BIT,                                                       "VK_ACCESS_TRANSFER_READ_BIT"),
+               tcu::Format::BitDesc(VK_ACCESS_TRANSFER_WRITE_BIT,                                                      "VK_ACCESS_TRANSFER_WRITE_BIT"),
+               tcu::Format::BitDesc(VK_ACCESS_HOST_READ_BIT,                                                           "VK_ACCESS_HOST_READ_BIT"),
+               tcu::Format::BitDesc(VK_ACCESS_HOST_WRITE_BIT,                                                          "VK_ACCESS_HOST_WRITE_BIT"),
+               tcu::Format::BitDesc(VK_ACCESS_MEMORY_READ_BIT,                                                         "VK_ACCESS_MEMORY_READ_BIT"),
+               tcu::Format::BitDesc(VK_ACCESS_MEMORY_WRITE_BIT,                                                        "VK_ACCESS_MEMORY_WRITE_BIT"),
+               tcu::Format::BitDesc(VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT,                        "VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT"),
+               tcu::Format::BitDesc(VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT,         "VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT"),
+               tcu::Format::BitDesc(VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT,        "VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT"),
+               tcu::Format::BitDesc(VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT,                      "VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT"),
+               tcu::Format::BitDesc(VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT,       "VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT"),
+               tcu::Format::BitDesc(VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR,                     "VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR"),
+               tcu::Format::BitDesc(VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,            "VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR"),
+               tcu::Format::BitDesc(VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV,                          "VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV"),
+               tcu::Format::BitDesc(VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT,                       "VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT"),
+               tcu::Format::BitDesc(VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV,                          "VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV"),
+               tcu::Format::BitDesc(VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV,                         "VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV"),
+               tcu::Format::BitDesc(VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV,                      "VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV"),
+               tcu::Format::BitDesc(VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV,                     "VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV"),
+               tcu::Format::BitDesc(VK_ACCESS_FLAG_BITS_MAX_ENUM,                                                      "VK_ACCESS_FLAG_BITS_MAX_ENUM"),
+       };
+       return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
+}
+
+tcu::Format::Bitfield<32> getImageAspectFlagsStr (VkImageAspectFlags value)
+{
+       static const tcu::Format::BitDesc s_desc[] =
+       {
+               tcu::Format::BitDesc(VK_IMAGE_ASPECT_COLOR_BIT,                                 "VK_IMAGE_ASPECT_COLOR_BIT"),
+               tcu::Format::BitDesc(VK_IMAGE_ASPECT_DEPTH_BIT,                                 "VK_IMAGE_ASPECT_DEPTH_BIT"),
+               tcu::Format::BitDesc(VK_IMAGE_ASPECT_STENCIL_BIT,                               "VK_IMAGE_ASPECT_STENCIL_BIT"),
+               tcu::Format::BitDesc(VK_IMAGE_ASPECT_METADATA_BIT,                              "VK_IMAGE_ASPECT_METADATA_BIT"),
+               tcu::Format::BitDesc(VK_IMAGE_ASPECT_PLANE_0_BIT,                               "VK_IMAGE_ASPECT_PLANE_0_BIT"),
+               tcu::Format::BitDesc(VK_IMAGE_ASPECT_PLANE_1_BIT,                               "VK_IMAGE_ASPECT_PLANE_1_BIT"),
+               tcu::Format::BitDesc(VK_IMAGE_ASPECT_PLANE_2_BIT,                               "VK_IMAGE_ASPECT_PLANE_2_BIT"),
+               tcu::Format::BitDesc(VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT,    "VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT,    "VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT,    "VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT,    "VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_ASPECT_PLANE_0_BIT_KHR,                   "VK_IMAGE_ASPECT_PLANE_0_BIT_KHR"),
+               tcu::Format::BitDesc(VK_IMAGE_ASPECT_PLANE_1_BIT_KHR,                   "VK_IMAGE_ASPECT_PLANE_1_BIT_KHR"),
+               tcu::Format::BitDesc(VK_IMAGE_ASPECT_PLANE_2_BIT_KHR,                   "VK_IMAGE_ASPECT_PLANE_2_BIT_KHR"),
+               tcu::Format::BitDesc(VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM,                "VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM"),
+       };
+       return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
+}
+
 tcu::Format::Bitfield<32> getFormatFeatureFlagsStr (VkFormatFeatureFlags value)
 {
        static const tcu::Format::BitDesc s_desc[] =
@@ -2197,25 +2260,6 @@ tcu::Format::Bitfield<32> getFormatFeatureFlagsStr (VkFormatFeatureFlags value)
        return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
 }
 
-tcu::Format::Bitfield<32> getImageUsageFlagsStr (VkImageUsageFlags value)
-{
-       static const tcu::Format::BitDesc s_desc[] =
-       {
-               tcu::Format::BitDesc(VK_IMAGE_USAGE_TRANSFER_SRC_BIT,                           "VK_IMAGE_USAGE_TRANSFER_SRC_BIT"),
-               tcu::Format::BitDesc(VK_IMAGE_USAGE_TRANSFER_DST_BIT,                           "VK_IMAGE_USAGE_TRANSFER_DST_BIT"),
-               tcu::Format::BitDesc(VK_IMAGE_USAGE_SAMPLED_BIT,                                        "VK_IMAGE_USAGE_SAMPLED_BIT"),
-               tcu::Format::BitDesc(VK_IMAGE_USAGE_STORAGE_BIT,                                        "VK_IMAGE_USAGE_STORAGE_BIT"),
-               tcu::Format::BitDesc(VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT,                       "VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT"),
-               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_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_FLAG_BITS_MAX_ENUM,                         "VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM"),
-       };
-       return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
-}
-
 tcu::Format::Bitfield<32> getImageCreateFlagsStr (VkImageCreateFlags value)
 {
        static const tcu::Format::BitDesc s_desc[] =
@@ -2262,16 +2306,33 @@ tcu::Format::Bitfield<32> getSampleCountFlagsStr (VkSampleCountFlags value)
        return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
 }
 
-tcu::Format::Bitfield<32> getQueueFlagsStr (VkQueueFlags value)
+tcu::Format::Bitfield<32> getImageUsageFlagsStr (VkImageUsageFlags value)
 {
        static const tcu::Format::BitDesc s_desc[] =
        {
-               tcu::Format::BitDesc(VK_QUEUE_GRAPHICS_BIT,                     "VK_QUEUE_GRAPHICS_BIT"),
-               tcu::Format::BitDesc(VK_QUEUE_COMPUTE_BIT,                      "VK_QUEUE_COMPUTE_BIT"),
-               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_FLAG_BITS_MAX_ENUM,       "VK_QUEUE_FLAG_BITS_MAX_ENUM"),
+               tcu::Format::BitDesc(VK_IMAGE_USAGE_TRANSFER_SRC_BIT,                           "VK_IMAGE_USAGE_TRANSFER_SRC_BIT"),
+               tcu::Format::BitDesc(VK_IMAGE_USAGE_TRANSFER_DST_BIT,                           "VK_IMAGE_USAGE_TRANSFER_DST_BIT"),
+               tcu::Format::BitDesc(VK_IMAGE_USAGE_SAMPLED_BIT,                                        "VK_IMAGE_USAGE_SAMPLED_BIT"),
+               tcu::Format::BitDesc(VK_IMAGE_USAGE_STORAGE_BIT,                                        "VK_IMAGE_USAGE_STORAGE_BIT"),
+               tcu::Format::BitDesc(VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT,                       "VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT"),
+               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_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_FLAG_BITS_MAX_ENUM,                         "VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM"),
+       };
+       return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
+}
+
+tcu::Format::Bitfield<32> getMemoryHeapFlagsStr (VkMemoryHeapFlags value)
+{
+       static const tcu::Format::BitDesc s_desc[] =
+       {
+               tcu::Format::BitDesc(VK_MEMORY_HEAP_DEVICE_LOCAL_BIT,           "VK_MEMORY_HEAP_DEVICE_LOCAL_BIT"),
+               tcu::Format::BitDesc(VK_MEMORY_HEAP_MULTI_INSTANCE_BIT,         "VK_MEMORY_HEAP_MULTI_INSTANCE_BIT"),
+               tcu::Format::BitDesc(VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR,     "VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR"),
+               tcu::Format::BitDesc(VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM,         "VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM"),
        };
        return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
 }
@@ -2293,14 +2354,16 @@ tcu::Format::Bitfield<32> getMemoryPropertyFlagsStr (VkMemoryPropertyFlags value
        return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
 }
 
-tcu::Format::Bitfield<32> getMemoryHeapFlagsStr (VkMemoryHeapFlags value)
+tcu::Format::Bitfield<32> getQueueFlagsStr (VkQueueFlags value)
 {
        static const tcu::Format::BitDesc s_desc[] =
        {
-               tcu::Format::BitDesc(VK_MEMORY_HEAP_DEVICE_LOCAL_BIT,           "VK_MEMORY_HEAP_DEVICE_LOCAL_BIT"),
-               tcu::Format::BitDesc(VK_MEMORY_HEAP_MULTI_INSTANCE_BIT,         "VK_MEMORY_HEAP_MULTI_INSTANCE_BIT"),
-               tcu::Format::BitDesc(VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR,     "VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR"),
-               tcu::Format::BitDesc(VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM,         "VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM"),
+               tcu::Format::BitDesc(VK_QUEUE_GRAPHICS_BIT,                     "VK_QUEUE_GRAPHICS_BIT"),
+               tcu::Format::BitDesc(VK_QUEUE_COMPUTE_BIT,                      "VK_QUEUE_COMPUTE_BIT"),
+               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_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));
 }
@@ -2352,25 +2415,12 @@ tcu::Format::Bitfield<32> getPipelineStageFlagsStr (VkPipelineStageFlags value)
        return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
 }
 
-tcu::Format::Bitfield<32> getImageAspectFlagsStr (VkImageAspectFlags value)
+tcu::Format::Bitfield<32> getSparseMemoryBindFlagsStr (VkSparseMemoryBindFlags value)
 {
        static const tcu::Format::BitDesc s_desc[] =
        {
-               tcu::Format::BitDesc(VK_IMAGE_ASPECT_COLOR_BIT,                                 "VK_IMAGE_ASPECT_COLOR_BIT"),
-               tcu::Format::BitDesc(VK_IMAGE_ASPECT_DEPTH_BIT,                                 "VK_IMAGE_ASPECT_DEPTH_BIT"),
-               tcu::Format::BitDesc(VK_IMAGE_ASPECT_STENCIL_BIT,                               "VK_IMAGE_ASPECT_STENCIL_BIT"),
-               tcu::Format::BitDesc(VK_IMAGE_ASPECT_METADATA_BIT,                              "VK_IMAGE_ASPECT_METADATA_BIT"),
-               tcu::Format::BitDesc(VK_IMAGE_ASPECT_PLANE_0_BIT,                               "VK_IMAGE_ASPECT_PLANE_0_BIT"),
-               tcu::Format::BitDesc(VK_IMAGE_ASPECT_PLANE_1_BIT,                               "VK_IMAGE_ASPECT_PLANE_1_BIT"),
-               tcu::Format::BitDesc(VK_IMAGE_ASPECT_PLANE_2_BIT,                               "VK_IMAGE_ASPECT_PLANE_2_BIT"),
-               tcu::Format::BitDesc(VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT,    "VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT"),
-               tcu::Format::BitDesc(VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT,    "VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT"),
-               tcu::Format::BitDesc(VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT,    "VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT"),
-               tcu::Format::BitDesc(VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT,    "VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT"),
-               tcu::Format::BitDesc(VK_IMAGE_ASPECT_PLANE_0_BIT_KHR,                   "VK_IMAGE_ASPECT_PLANE_0_BIT_KHR"),
-               tcu::Format::BitDesc(VK_IMAGE_ASPECT_PLANE_1_BIT_KHR,                   "VK_IMAGE_ASPECT_PLANE_1_BIT_KHR"),
-               tcu::Format::BitDesc(VK_IMAGE_ASPECT_PLANE_2_BIT_KHR,                   "VK_IMAGE_ASPECT_PLANE_2_BIT_KHR"),
-               tcu::Format::BitDesc(VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM,                "VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM"),
+               tcu::Format::BitDesc(VK_SPARSE_MEMORY_BIND_METADATA_BIT,                "VK_SPARSE_MEMORY_BIND_METADATA_BIT"),
+               tcu::Format::BitDesc(VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM,  "VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM"),
        };
        return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
 }
@@ -2387,16 +2437,6 @@ tcu::Format::Bitfield<32> getSparseImageFormatFlagsStr (VkSparseImageFormatFlags
        return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
 }
 
-tcu::Format::Bitfield<32> getSparseMemoryBindFlagsStr (VkSparseMemoryBindFlags value)
-{
-       static const tcu::Format::BitDesc s_desc[] =
-       {
-               tcu::Format::BitDesc(VK_SPARSE_MEMORY_BIND_METADATA_BIT,                "VK_SPARSE_MEMORY_BIND_METADATA_BIT"),
-               tcu::Format::BitDesc(VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM,  "VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM"),
-       };
-       return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
-}
-
 tcu::Format::Bitfield<32> getFenceCreateFlagsStr (VkFenceCreateFlags value)
 {
        static const tcu::Format::BitDesc s_desc[] =
@@ -2512,6 +2552,19 @@ tcu::Format::Bitfield<32> getPipelineCacheCreateFlagsStr (VkPipelineCacheCreateF
        return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
 }
 
+tcu::Format::Bitfield<32> getColorComponentFlagsStr (VkColorComponentFlags value)
+{
+       static const tcu::Format::BitDesc s_desc[] =
+       {
+               tcu::Format::BitDesc(VK_COLOR_COMPONENT_R_BIT,                          "VK_COLOR_COMPONENT_R_BIT"),
+               tcu::Format::BitDesc(VK_COLOR_COMPONENT_G_BIT,                          "VK_COLOR_COMPONENT_G_BIT"),
+               tcu::Format::BitDesc(VK_COLOR_COMPONENT_B_BIT,                          "VK_COLOR_COMPONENT_B_BIT"),
+               tcu::Format::BitDesc(VK_COLOR_COMPONENT_A_BIT,                          "VK_COLOR_COMPONENT_A_BIT"),
+               tcu::Format::BitDesc(VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM,     "VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM"),
+       };
+       return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
+}
+
 tcu::Format::Bitfield<32> getPipelineCreateFlagsStr (VkPipelineCreateFlags value)
 {
        static const tcu::Format::BitDesc s_desc[] =
@@ -2597,26 +2650,25 @@ tcu::Format::Bitfield<32> getCullModeFlagsStr (VkCullModeFlags value)
        return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
 }
 
-tcu::Format::Bitfield<32> getColorComponentFlagsStr (VkColorComponentFlags value)
+tcu::Format::Bitfield<32> getSamplerCreateFlagsStr (VkSamplerCreateFlags value)
 {
        static const tcu::Format::BitDesc s_desc[] =
        {
-               tcu::Format::BitDesc(VK_COLOR_COMPONENT_R_BIT,                          "VK_COLOR_COMPONENT_R_BIT"),
-               tcu::Format::BitDesc(VK_COLOR_COMPONENT_G_BIT,                          "VK_COLOR_COMPONENT_G_BIT"),
-               tcu::Format::BitDesc(VK_COLOR_COMPONENT_B_BIT,                          "VK_COLOR_COMPONENT_B_BIT"),
-               tcu::Format::BitDesc(VK_COLOR_COMPONENT_A_BIT,                          "VK_COLOR_COMPONENT_A_BIT"),
-               tcu::Format::BitDesc(VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM,     "VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM"),
+               tcu::Format::BitDesc(VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT,                                                      "VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT"),
+               tcu::Format::BitDesc(VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT,        "VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT"),
+               tcu::Format::BitDesc(VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM,                                                      "VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM"),
        };
        return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
 }
 
-tcu::Format::Bitfield<32> getSamplerCreateFlagsStr (VkSamplerCreateFlags value)
+tcu::Format::Bitfield<32> getDescriptorPoolCreateFlagsStr (VkDescriptorPoolCreateFlags value)
 {
        static const tcu::Format::BitDesc s_desc[] =
        {
-               tcu::Format::BitDesc(VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT,                                                      "VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT"),
-               tcu::Format::BitDesc(VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT,        "VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT"),
-               tcu::Format::BitDesc(VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM,                                                      "VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM"),
+               tcu::Format::BitDesc(VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT,         "VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT"),
+               tcu::Format::BitDesc(VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT,           "VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT"),
+               tcu::Format::BitDesc(VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT,       "VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT"),
+               tcu::Format::BitDesc(VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM,                      "VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM"),
        };
        return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
 }
@@ -2633,45 +2685,47 @@ tcu::Format::Bitfield<32> getDescriptorSetLayoutCreateFlagsStr (VkDescriptorSetL
        return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
 }
 
-tcu::Format::Bitfield<32> getDescriptorPoolCreateFlagsStr (VkDescriptorPoolCreateFlags value)
+tcu::Format::Bitfield<32> getAttachmentDescriptionFlagsStr (VkAttachmentDescriptionFlags value)
 {
        static const tcu::Format::BitDesc s_desc[] =
        {
-               tcu::Format::BitDesc(VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT,         "VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT"),
-               tcu::Format::BitDesc(VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT,           "VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT"),
-               tcu::Format::BitDesc(VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT,       "VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT"),
-               tcu::Format::BitDesc(VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM,                      "VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM"),
+               tcu::Format::BitDesc(VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT,           "VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT"),
+               tcu::Format::BitDesc(VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM,      "VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM"),
        };
        return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
 }
 
-tcu::Format::Bitfield<32> getFramebufferCreateFlagsStr (VkFramebufferCreateFlags value)
+tcu::Format::Bitfield<32> getDependencyFlagsStr (VkDependencyFlags value)
 {
        static const tcu::Format::BitDesc s_desc[] =
        {
-               tcu::Format::BitDesc(VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT,               "VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT"),
-               tcu::Format::BitDesc(VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR,   "VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR"),
-               tcu::Format::BitDesc(VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM,  "VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM"),
+               tcu::Format::BitDesc(VK_DEPENDENCY_BY_REGION_BIT,                       "VK_DEPENDENCY_BY_REGION_BIT"),
+               tcu::Format::BitDesc(VK_DEPENDENCY_DEVICE_GROUP_BIT,            "VK_DEPENDENCY_DEVICE_GROUP_BIT"),
+               tcu::Format::BitDesc(VK_DEPENDENCY_VIEW_LOCAL_BIT,                      "VK_DEPENDENCY_VIEW_LOCAL_BIT"),
+               tcu::Format::BitDesc(VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR,          "VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR"),
+               tcu::Format::BitDesc(VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR,        "VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR"),
+               tcu::Format::BitDesc(VK_DEPENDENCY_FLAG_BITS_MAX_ENUM,          "VK_DEPENDENCY_FLAG_BITS_MAX_ENUM"),
        };
        return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
 }
 
-tcu::Format::Bitfield<32> getRenderPassCreateFlagsStr (VkRenderPassCreateFlags value)
+tcu::Format::Bitfield<32> getFramebufferCreateFlagsStr (VkFramebufferCreateFlags value)
 {
        static const tcu::Format::BitDesc s_desc[] =
        {
-               tcu::Format::BitDesc(VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM,  "VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM"),
-               tcu::Format::BitDesc(VK_RENDER_PASS_CREATE_FLAG_BITS_MAX_ENUM,  "VK_RENDER_PASS_CREATE_FLAG_BITS_MAX_ENUM"),
+               tcu::Format::BitDesc(VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT,               "VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT"),
+               tcu::Format::BitDesc(VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR,   "VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR"),
+               tcu::Format::BitDesc(VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM,  "VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM"),
        };
        return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
 }
 
-tcu::Format::Bitfield<32> getAttachmentDescriptionFlagsStr (VkAttachmentDescriptionFlags value)
+tcu::Format::Bitfield<32> getRenderPassCreateFlagsStr (VkRenderPassCreateFlags value)
 {
        static const tcu::Format::BitDesc s_desc[] =
        {
-               tcu::Format::BitDesc(VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT,           "VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT"),
-               tcu::Format::BitDesc(VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM,      "VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM"),
+               tcu::Format::BitDesc(VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM,  "VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM"),
+               tcu::Format::BitDesc(VK_RENDER_PASS_CREATE_FLAG_BITS_MAX_ENUM,  "VK_RENDER_PASS_CREATE_FLAG_BITS_MAX_ENUM"),
        };
        return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
 }
@@ -2689,59 +2743,6 @@ tcu::Format::Bitfield<32> getSubpassDescriptionFlagsStr (VkSubpassDescriptionFla
        return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
 }
 
-tcu::Format::Bitfield<32> getAccessFlagsStr (VkAccessFlags value)
-{
-       static const tcu::Format::BitDesc s_desc[] =
-       {
-               tcu::Format::BitDesc(VK_ACCESS_INDIRECT_COMMAND_READ_BIT,                                       "VK_ACCESS_INDIRECT_COMMAND_READ_BIT"),
-               tcu::Format::BitDesc(VK_ACCESS_INDEX_READ_BIT,                                                          "VK_ACCESS_INDEX_READ_BIT"),
-               tcu::Format::BitDesc(VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT,                                       "VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT"),
-               tcu::Format::BitDesc(VK_ACCESS_UNIFORM_READ_BIT,                                                        "VK_ACCESS_UNIFORM_READ_BIT"),
-               tcu::Format::BitDesc(VK_ACCESS_INPUT_ATTACHMENT_READ_BIT,                                       "VK_ACCESS_INPUT_ATTACHMENT_READ_BIT"),
-               tcu::Format::BitDesc(VK_ACCESS_SHADER_READ_BIT,                                                         "VK_ACCESS_SHADER_READ_BIT"),
-               tcu::Format::BitDesc(VK_ACCESS_SHADER_WRITE_BIT,                                                        "VK_ACCESS_SHADER_WRITE_BIT"),
-               tcu::Format::BitDesc(VK_ACCESS_COLOR_ATTACHMENT_READ_BIT,                                       "VK_ACCESS_COLOR_ATTACHMENT_READ_BIT"),
-               tcu::Format::BitDesc(VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT,                                      "VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT"),
-               tcu::Format::BitDesc(VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT,                       "VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT"),
-               tcu::Format::BitDesc(VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT,                      "VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT"),
-               tcu::Format::BitDesc(VK_ACCESS_TRANSFER_READ_BIT,                                                       "VK_ACCESS_TRANSFER_READ_BIT"),
-               tcu::Format::BitDesc(VK_ACCESS_TRANSFER_WRITE_BIT,                                                      "VK_ACCESS_TRANSFER_WRITE_BIT"),
-               tcu::Format::BitDesc(VK_ACCESS_HOST_READ_BIT,                                                           "VK_ACCESS_HOST_READ_BIT"),
-               tcu::Format::BitDesc(VK_ACCESS_HOST_WRITE_BIT,                                                          "VK_ACCESS_HOST_WRITE_BIT"),
-               tcu::Format::BitDesc(VK_ACCESS_MEMORY_READ_BIT,                                                         "VK_ACCESS_MEMORY_READ_BIT"),
-               tcu::Format::BitDesc(VK_ACCESS_MEMORY_WRITE_BIT,                                                        "VK_ACCESS_MEMORY_WRITE_BIT"),
-               tcu::Format::BitDesc(VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT,                        "VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT"),
-               tcu::Format::BitDesc(VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT,         "VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT"),
-               tcu::Format::BitDesc(VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT,        "VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT"),
-               tcu::Format::BitDesc(VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT,                      "VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT"),
-               tcu::Format::BitDesc(VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT,       "VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT"),
-               tcu::Format::BitDesc(VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR,                     "VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR"),
-               tcu::Format::BitDesc(VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,            "VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR"),
-               tcu::Format::BitDesc(VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV,                          "VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV"),
-               tcu::Format::BitDesc(VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT,                       "VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT"),
-               tcu::Format::BitDesc(VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV,                          "VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV"),
-               tcu::Format::BitDesc(VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV,                         "VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV"),
-               tcu::Format::BitDesc(VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV,                      "VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV"),
-               tcu::Format::BitDesc(VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV,                     "VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV"),
-               tcu::Format::BitDesc(VK_ACCESS_FLAG_BITS_MAX_ENUM,                                                      "VK_ACCESS_FLAG_BITS_MAX_ENUM"),
-       };
-       return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
-}
-
-tcu::Format::Bitfield<32> getDependencyFlagsStr (VkDependencyFlags value)
-{
-       static const tcu::Format::BitDesc s_desc[] =
-       {
-               tcu::Format::BitDesc(VK_DEPENDENCY_BY_REGION_BIT,                       "VK_DEPENDENCY_BY_REGION_BIT"),
-               tcu::Format::BitDesc(VK_DEPENDENCY_DEVICE_GROUP_BIT,            "VK_DEPENDENCY_DEVICE_GROUP_BIT"),
-               tcu::Format::BitDesc(VK_DEPENDENCY_VIEW_LOCAL_BIT,                      "VK_DEPENDENCY_VIEW_LOCAL_BIT"),
-               tcu::Format::BitDesc(VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR,          "VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR"),
-               tcu::Format::BitDesc(VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR,        "VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR"),
-               tcu::Format::BitDesc(VK_DEPENDENCY_FLAG_BITS_MAX_ENUM,          "VK_DEPENDENCY_FLAG_BITS_MAX_ENUM"),
-       };
-       return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
-}
-
 tcu::Format::Bitfield<32> getCommandPoolCreateFlagsStr (VkCommandPoolCreateFlags value)
 {
        static const tcu::Format::BitDesc s_desc[] =
@@ -3587,6 +3588,173 @@ tcu::Format::Bitfield<32> getBuildAccelerationStructureFlagsNVStr (VkBuildAccele
        return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
 }
 
+std::ostream& operator<< (std::ostream& s, const VkExtent2D& value)
+{
+       s << "VkExtent2D = {\n";
+       s << "\twidth = " << value.width << '\n';
+       s << "\theight = " << value.height << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkExtent3D& value)
+{
+       s << "VkExtent3D = {\n";
+       s << "\twidth = " << value.width << '\n';
+       s << "\theight = " << value.height << '\n';
+       s << "\tdepth = " << value.depth << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkOffset2D& value)
+{
+       s << "VkOffset2D = {\n";
+       s << "\tx = " << value.x << '\n';
+       s << "\ty = " << value.y << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkOffset3D& value)
+{
+       s << "VkOffset3D = {\n";
+       s << "\tx = " << value.x << '\n';
+       s << "\ty = " << value.y << '\n';
+       s << "\tz = " << value.z << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkRect2D& value)
+{
+       s << "VkRect2D = {\n";
+       s << "\toffset = " << value.offset << '\n';
+       s << "\textent = " << value.extent << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkBaseInStructure& value)
+{
+       s << "VkBaseInStructure = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkBaseOutStructure& value)
+{
+       s << "VkBaseOutStructure = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkBufferMemoryBarrier& value)
+{
+       s << "VkBufferMemoryBarrier = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tsrcAccessMask = " << getAccessFlagsStr(value.srcAccessMask) << '\n';
+       s << "\tdstAccessMask = " << getAccessFlagsStr(value.dstAccessMask) << '\n';
+       s << "\tsrcQueueFamilyIndex = " << value.srcQueueFamilyIndex << '\n';
+       s << "\tdstQueueFamilyIndex = " << value.dstQueueFamilyIndex << '\n';
+       s << "\tbuffer = " << value.buffer << '\n';
+       s << "\toffset = " << value.offset << '\n';
+       s << "\tsize = " << value.size << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkDispatchIndirectCommand& value)
+{
+       s << "VkDispatchIndirectCommand = {\n";
+       s << "\tx = " << value.x << '\n';
+       s << "\ty = " << value.y << '\n';
+       s << "\tz = " << value.z << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkDrawIndexedIndirectCommand& value)
+{
+       s << "VkDrawIndexedIndirectCommand = {\n";
+       s << "\tindexCount = " << value.indexCount << '\n';
+       s << "\tinstanceCount = " << value.instanceCount << '\n';
+       s << "\tfirstIndex = " << value.firstIndex << '\n';
+       s << "\tvertexOffset = " << value.vertexOffset << '\n';
+       s << "\tfirstInstance = " << value.firstInstance << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkDrawIndirectCommand& value)
+{
+       s << "VkDrawIndirectCommand = {\n";
+       s << "\tvertexCount = " << value.vertexCount << '\n';
+       s << "\tinstanceCount = " << value.instanceCount << '\n';
+       s << "\tfirstVertex = " << value.firstVertex << '\n';
+       s << "\tfirstInstance = " << value.firstInstance << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkImageSubresourceRange& value)
+{
+       s << "VkImageSubresourceRange = {\n";
+       s << "\taspectMask = " << getImageAspectFlagsStr(value.aspectMask) << '\n';
+       s << "\tbaseMipLevel = " << value.baseMipLevel << '\n';
+       s << "\tlevelCount = " << value.levelCount << '\n';
+       s << "\tbaseArrayLayer = " << value.baseArrayLayer << '\n';
+       s << "\tlayerCount = " << value.layerCount << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkImageMemoryBarrier& value)
+{
+       s << "VkImageMemoryBarrier = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tsrcAccessMask = " << getAccessFlagsStr(value.srcAccessMask) << '\n';
+       s << "\tdstAccessMask = " << getAccessFlagsStr(value.dstAccessMask) << '\n';
+       s << "\toldLayout = " << value.oldLayout << '\n';
+       s << "\tnewLayout = " << value.newLayout << '\n';
+       s << "\tsrcQueueFamilyIndex = " << value.srcQueueFamilyIndex << '\n';
+       s << "\tdstQueueFamilyIndex = " << value.dstQueueFamilyIndex << '\n';
+       s << "\timage = " << value.image << '\n';
+       s << "\tsubresourceRange = " << value.subresourceRange << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkMemoryBarrier& value)
+{
+       s << "VkMemoryBarrier = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tsrcAccessMask = " << getAccessFlagsStr(value.srcAccessMask) << '\n';
+       s << "\tdstAccessMask = " << getAccessFlagsStr(value.dstAccessMask) << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkAllocationCallbacks& value)
+{
+       s << "VkAllocationCallbacks = {\n";
+       s << "\tpUserData = " << value.pUserData << '\n';
+       s << "\tpfnAllocation = " << value.pfnAllocation << '\n';
+       s << "\tpfnReallocation = " << value.pfnReallocation << '\n';
+       s << "\tpfnFree = " << value.pfnFree << '\n';
+       s << "\tpfnInternalAllocation = " << value.pfnInternalAllocation << '\n';
+       s << "\tpfnInternalFree = " << value.pfnInternalFree << '\n';
+       s << '}';
+       return s;
+}
+
 std::ostream& operator<< (std::ostream& s, const VkApplicationInfo& value)
 {
        s << "VkApplicationInfo = {\n";
@@ -3601,6 +3769,28 @@ std::ostream& operator<< (std::ostream& s, const VkApplicationInfo& value)
        return s;
 }
 
+std::ostream& operator<< (std::ostream& s, const VkFormatProperties& value)
+{
+       s << "VkFormatProperties = {\n";
+       s << "\tlinearTilingFeatures = " << getFormatFeatureFlagsStr(value.linearTilingFeatures) << '\n';
+       s << "\toptimalTilingFeatures = " << getFormatFeatureFlagsStr(value.optimalTilingFeatures) << '\n';
+       s << "\tbufferFeatures = " << getFormatFeatureFlagsStr(value.bufferFeatures) << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkImageFormatProperties& value)
+{
+       s << "VkImageFormatProperties = {\n";
+       s << "\tmaxExtent = " << value.maxExtent << '\n';
+       s << "\tmaxMipLevels = " << value.maxMipLevels << '\n';
+       s << "\tmaxArrayLayers = " << value.maxArrayLayers << '\n';
+       s << "\tsampleCounts = " << getSampleCountFlagsStr(value.sampleCounts) << '\n';
+       s << "\tmaxResourceSize = " << value.maxResourceSize << '\n';
+       s << '}';
+       return s;
+}
+
 std::ostream& operator<< (std::ostream& s, const VkInstanceCreateInfo& value)
 {
        s << "VkInstanceCreateInfo = {\n";
@@ -3616,15 +3806,20 @@ std::ostream& operator<< (std::ostream& s, const VkInstanceCreateInfo& value)
        return s;
 }
 
-std::ostream& operator<< (std::ostream& s, const VkAllocationCallbacks& value)
+std::ostream& operator<< (std::ostream& s, const VkMemoryHeap& value)
 {
-       s << "VkAllocationCallbacks = {\n";
-       s << "\tpUserData = " << value.pUserData << '\n';
-       s << "\tpfnAllocation = " << value.pfnAllocation << '\n';
-       s << "\tpfnReallocation = " << value.pfnReallocation << '\n';
-       s << "\tpfnFree = " << value.pfnFree << '\n';
-       s << "\tpfnInternalAllocation = " << value.pfnInternalAllocation << '\n';
-       s << "\tpfnInternalFree = " << value.pfnInternalFree << '\n';
+       s << "VkMemoryHeap = {\n";
+       s << "\tsize = " << value.size << '\n';
+       s << "\tflags = " << getMemoryHeapFlagsStr(value.flags) << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkMemoryType& value)
+{
+       s << "VkMemoryType = {\n";
+       s << "\tpropertyFlags = " << getMemoryPropertyFlagsStr(value.propertyFlags) << '\n';
+       s << "\theapIndex = " << value.heapIndex << '\n';
        s << '}';
        return s;
 }
@@ -3667,58 +3862,26 @@ std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFeatures& value
        s << "\tshaderStorageImageWriteWithoutFormat = " << value.shaderStorageImageWriteWithoutFormat << '\n';
        s << "\tshaderUniformBufferArrayDynamicIndexing = " << value.shaderUniformBufferArrayDynamicIndexing << '\n';
        s << "\tshaderSampledImageArrayDynamicIndexing = " << value.shaderSampledImageArrayDynamicIndexing << '\n';
-       s << "\tshaderStorageBufferArrayDynamicIndexing = " << value.shaderStorageBufferArrayDynamicIndexing << '\n';
-       s << "\tshaderStorageImageArrayDynamicIndexing = " << value.shaderStorageImageArrayDynamicIndexing << '\n';
-       s << "\tshaderClipDistance = " << value.shaderClipDistance << '\n';
-       s << "\tshaderCullDistance = " << value.shaderCullDistance << '\n';
-       s << "\tshaderFloat64 = " << value.shaderFloat64 << '\n';
-       s << "\tshaderInt64 = " << value.shaderInt64 << '\n';
-       s << "\tshaderInt16 = " << value.shaderInt16 << '\n';
-       s << "\tshaderResourceResidency = " << value.shaderResourceResidency << '\n';
-       s << "\tshaderResourceMinLod = " << value.shaderResourceMinLod << '\n';
-       s << "\tsparseBinding = " << value.sparseBinding << '\n';
-       s << "\tsparseResidencyBuffer = " << value.sparseResidencyBuffer << '\n';
-       s << "\tsparseResidencyImage2D = " << value.sparseResidencyImage2D << '\n';
-       s << "\tsparseResidencyImage3D = " << value.sparseResidencyImage3D << '\n';
-       s << "\tsparseResidency2Samples = " << value.sparseResidency2Samples << '\n';
-       s << "\tsparseResidency4Samples = " << value.sparseResidency4Samples << '\n';
-       s << "\tsparseResidency8Samples = " << value.sparseResidency8Samples << '\n';
-       s << "\tsparseResidency16Samples = " << value.sparseResidency16Samples << '\n';
-       s << "\tsparseResidencyAliased = " << value.sparseResidencyAliased << '\n';
-       s << "\tvariableMultisampleRate = " << value.variableMultisampleRate << '\n';
-       s << "\tinheritedQueries = " << value.inheritedQueries << '\n';
-       s << '}';
-       return s;
-}
-
-std::ostream& operator<< (std::ostream& s, const VkFormatProperties& value)
-{
-       s << "VkFormatProperties = {\n";
-       s << "\tlinearTilingFeatures = " << getFormatFeatureFlagsStr(value.linearTilingFeatures) << '\n';
-       s << "\toptimalTilingFeatures = " << getFormatFeatureFlagsStr(value.optimalTilingFeatures) << '\n';
-       s << "\tbufferFeatures = " << getFormatFeatureFlagsStr(value.bufferFeatures) << '\n';
-       s << '}';
-       return s;
-}
-
-std::ostream& operator<< (std::ostream& s, const VkExtent3D& value)
-{
-       s << "VkExtent3D = {\n";
-       s << "\twidth = " << value.width << '\n';
-       s << "\theight = " << value.height << '\n';
-       s << "\tdepth = " << value.depth << '\n';
-       s << '}';
-       return s;
-}
-
-std::ostream& operator<< (std::ostream& s, const VkImageFormatProperties& value)
-{
-       s << "VkImageFormatProperties = {\n";
-       s << "\tmaxExtent = " << value.maxExtent << '\n';
-       s << "\tmaxMipLevels = " << value.maxMipLevels << '\n';
-       s << "\tmaxArrayLayers = " << value.maxArrayLayers << '\n';
-       s << "\tsampleCounts = " << getSampleCountFlagsStr(value.sampleCounts) << '\n';
-       s << "\tmaxResourceSize = " << value.maxResourceSize << '\n';
+       s << "\tshaderStorageBufferArrayDynamicIndexing = " << value.shaderStorageBufferArrayDynamicIndexing << '\n';
+       s << "\tshaderStorageImageArrayDynamicIndexing = " << value.shaderStorageImageArrayDynamicIndexing << '\n';
+       s << "\tshaderClipDistance = " << value.shaderClipDistance << '\n';
+       s << "\tshaderCullDistance = " << value.shaderCullDistance << '\n';
+       s << "\tshaderFloat64 = " << value.shaderFloat64 << '\n';
+       s << "\tshaderInt64 = " << value.shaderInt64 << '\n';
+       s << "\tshaderInt16 = " << value.shaderInt16 << '\n';
+       s << "\tshaderResourceResidency = " << value.shaderResourceResidency << '\n';
+       s << "\tshaderResourceMinLod = " << value.shaderResourceMinLod << '\n';
+       s << "\tsparseBinding = " << value.sparseBinding << '\n';
+       s << "\tsparseResidencyBuffer = " << value.sparseResidencyBuffer << '\n';
+       s << "\tsparseResidencyImage2D = " << value.sparseResidencyImage2D << '\n';
+       s << "\tsparseResidencyImage3D = " << value.sparseResidencyImage3D << '\n';
+       s << "\tsparseResidency2Samples = " << value.sparseResidency2Samples << '\n';
+       s << "\tsparseResidency4Samples = " << value.sparseResidency4Samples << '\n';
+       s << "\tsparseResidency8Samples = " << value.sparseResidency8Samples << '\n';
+       s << "\tsparseResidency16Samples = " << value.sparseResidency16Samples << '\n';
+       s << "\tsparseResidencyAliased = " << value.sparseResidencyAliased << '\n';
+       s << "\tvariableMultisampleRate = " << value.variableMultisampleRate << '\n';
+       s << "\tinheritedQueries = " << value.inheritedQueries << '\n';
        s << '}';
        return s;
 }
@@ -3836,6 +3999,17 @@ std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceLimits& value)
        return s;
 }
 
+std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMemoryProperties& value)
+{
+       s << "VkPhysicalDeviceMemoryProperties = {\n";
+       s << "\tmemoryTypeCount = " << value.memoryTypeCount << '\n';
+       s << "\tmemoryTypes = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.memoryTypes), DE_ARRAY_BEGIN(value.memoryTypes) + value.memoryTypeCount) << '\n';
+       s << "\tmemoryHeapCount = " << value.memoryHeapCount << '\n';
+       s << "\tmemoryHeaps = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.memoryHeaps), DE_ARRAY_BEGIN(value.memoryHeaps) + value.memoryHeapCount) << '\n';
+       s << '}';
+       return s;
+}
+
 std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSparseProperties& value)
 {
        s << "VkPhysicalDeviceSparseProperties = {\n";
@@ -3875,35 +4049,6 @@ std::ostream& operator<< (std::ostream& s, const VkQueueFamilyProperties& value)
        return s;
 }
 
-std::ostream& operator<< (std::ostream& s, const VkMemoryType& value)
-{
-       s << "VkMemoryType = {\n";
-       s << "\tpropertyFlags = " << getMemoryPropertyFlagsStr(value.propertyFlags) << '\n';
-       s << "\theapIndex = " << value.heapIndex << '\n';
-       s << '}';
-       return s;
-}
-
-std::ostream& operator<< (std::ostream& s, const VkMemoryHeap& value)
-{
-       s << "VkMemoryHeap = {\n";
-       s << "\tsize = " << value.size << '\n';
-       s << "\tflags = " << getMemoryHeapFlagsStr(value.flags) << '\n';
-       s << '}';
-       return s;
-}
-
-std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMemoryProperties& value)
-{
-       s << "VkPhysicalDeviceMemoryProperties = {\n";
-       s << "\tmemoryTypeCount = " << value.memoryTypeCount << '\n';
-       s << "\tmemoryTypes = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.memoryTypes), DE_ARRAY_BEGIN(value.memoryTypes) + value.memoryTypeCount) << '\n';
-       s << "\tmemoryHeapCount = " << value.memoryHeapCount << '\n';
-       s << "\tmemoryHeaps = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.memoryHeaps), DE_ARRAY_BEGIN(value.memoryHeaps) + value.memoryHeapCount) << '\n';
-       s << '}';
-       return s;
-}
-
 std::ostream& operator<< (std::ostream& s, const VkDeviceQueueCreateInfo& value)
 {
        s << "VkDeviceQueueCreateInfo = {\n";
@@ -3970,25 +4115,25 @@ std::ostream& operator<< (std::ostream& s, const VkSubmitInfo& value)
        return s;
 }
 
-std::ostream& operator<< (std::ostream& s, const VkMemoryAllocateInfo& value)
+std::ostream& operator<< (std::ostream& s, const VkMappedMemoryRange& value)
 {
-       s << "VkMemoryAllocateInfo = {\n";
+       s << "VkMappedMemoryRange = {\n";
        s << "\tsType = " << value.sType << '\n';
        s << "\tpNext = " << value.pNext << '\n';
-       s << "\tallocationSize = " << value.allocationSize << '\n';
-       s << "\tmemoryTypeIndex = " << value.memoryTypeIndex << '\n';
+       s << "\tmemory = " << value.memory << '\n';
+       s << "\toffset = " << value.offset << '\n';
+       s << "\tsize = " << value.size << '\n';
        s << '}';
        return s;
 }
 
-std::ostream& operator<< (std::ostream& s, const VkMappedMemoryRange& value)
+std::ostream& operator<< (std::ostream& s, const VkMemoryAllocateInfo& value)
 {
-       s << "VkMappedMemoryRange = {\n";
+       s << "VkMemoryAllocateInfo = {\n";
        s << "\tsType = " << value.sType << '\n';
        s << "\tpNext = " << value.pNext << '\n';
-       s << "\tmemory = " << value.memory << '\n';
-       s << "\toffset = " << value.offset << '\n';
-       s << "\tsize = " << value.size << '\n';
+       s << "\tallocationSize = " << value.allocationSize << '\n';
+       s << "\tmemoryTypeIndex = " << value.memoryTypeIndex << '\n';
        s << '}';
        return s;
 }
@@ -4003,28 +4148,6 @@ std::ostream& operator<< (std::ostream& s, const VkMemoryRequirements& value)
        return s;
 }
 
-std::ostream& operator<< (std::ostream& s, const VkSparseImageFormatProperties& value)
-{
-       s << "VkSparseImageFormatProperties = {\n";
-       s << "\taspectMask = " << getImageAspectFlagsStr(value.aspectMask) << '\n';
-       s << "\timageGranularity = " << value.imageGranularity << '\n';
-       s << "\tflags = " << getSparseImageFormatFlagsStr(value.flags) << '\n';
-       s << '}';
-       return s;
-}
-
-std::ostream& operator<< (std::ostream& s, const VkSparseImageMemoryRequirements& value)
-{
-       s << "VkSparseImageMemoryRequirements = {\n";
-       s << "\tformatProperties = " << value.formatProperties << '\n';
-       s << "\timageMipTailFirstLod = " << value.imageMipTailFirstLod << '\n';
-       s << "\timageMipTailSize = " << value.imageMipTailSize << '\n';
-       s << "\timageMipTailOffset = " << value.imageMipTailOffset << '\n';
-       s << "\timageMipTailStride = " << value.imageMipTailStride << '\n';
-       s << '}';
-       return s;
-}
-
 std::ostream& operator<< (std::ostream& s, const VkSparseMemoryBind& value)
 {
        s << "VkSparseMemoryBind = {\n";
@@ -4067,16 +4190,6 @@ std::ostream& operator<< (std::ostream& s, const VkImageSubresource& value)
        return s;
 }
 
-std::ostream& operator<< (std::ostream& s, const VkOffset3D& value)
-{
-       s << "VkOffset3D = {\n";
-       s << "\tx = " << value.x << '\n';
-       s << "\ty = " << value.y << '\n';
-       s << "\tz = " << value.z << '\n';
-       s << '}';
-       return s;
-}
-
 std::ostream& operator<< (std::ostream& s, const VkSparseImageMemoryBind& value)
 {
        s << "VkSparseImageMemoryBind = {\n";
@@ -4119,6 +4232,28 @@ std::ostream& operator<< (std::ostream& s, const VkBindSparseInfo& value)
        return s;
 }
 
+std::ostream& operator<< (std::ostream& s, const VkSparseImageFormatProperties& value)
+{
+       s << "VkSparseImageFormatProperties = {\n";
+       s << "\taspectMask = " << getImageAspectFlagsStr(value.aspectMask) << '\n';
+       s << "\timageGranularity = " << value.imageGranularity << '\n';
+       s << "\tflags = " << getSparseImageFormatFlagsStr(value.flags) << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkSparseImageMemoryRequirements& value)
+{
+       s << "VkSparseImageMemoryRequirements = {\n";
+       s << "\tformatProperties = " << value.formatProperties << '\n';
+       s << "\timageMipTailFirstLod = " << value.imageMipTailFirstLod << '\n';
+       s << "\timageMipTailSize = " << value.imageMipTailSize << '\n';
+       s << "\timageMipTailOffset = " << value.imageMipTailOffset << '\n';
+       s << "\timageMipTailStride = " << value.imageMipTailStride << '\n';
+       s << '}';
+       return s;
+}
+
 std::ostream& operator<< (std::ostream& s, const VkFenceCreateInfo& value)
 {
        s << "VkFenceCreateInfo = {\n";
@@ -4236,18 +4371,6 @@ std::ostream& operator<< (std::ostream& s, const VkComponentMapping& value)
        return s;
 }
 
-std::ostream& operator<< (std::ostream& s, const VkImageSubresourceRange& value)
-{
-       s << "VkImageSubresourceRange = {\n";
-       s << "\taspectMask = " << getImageAspectFlagsStr(value.aspectMask) << '\n';
-       s << "\tbaseMipLevel = " << value.baseMipLevel << '\n';
-       s << "\tlevelCount = " << value.levelCount << '\n';
-       s << "\tbaseArrayLayer = " << value.baseArrayLayer << '\n';
-       s << "\tlayerCount = " << value.layerCount << '\n';
-       s << '}';
-       return s;
-}
-
 std::ostream& operator<< (std::ostream& s, const VkImageViewCreateInfo& value)
 {
        s << "VkImageViewCreateInfo = {\n";
@@ -4322,6 +4445,20 @@ std::ostream& operator<< (std::ostream& s, const VkPipelineShaderStageCreateInfo
        return s;
 }
 
+std::ostream& operator<< (std::ostream& s, const VkComputePipelineCreateInfo& value)
+{
+       s << "VkComputePipelineCreateInfo = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tflags = " << getPipelineCreateFlagsStr(value.flags) << '\n';
+       s << "\tstage = " << value.stage << '\n';
+       s << "\tlayout = " << value.layout << '\n';
+       s << "\tbasePipelineHandle = " << value.basePipelineHandle << '\n';
+       s << "\tbasePipelineIndex = " << value.basePipelineIndex << '\n';
+       s << '}';
+       return s;
+}
+
 std::ostream& operator<< (std::ostream& s, const VkVertexInputBindingDescription& value)
 {
        s << "VkVertexInputBindingDescription = {\n";
@@ -4393,33 +4530,6 @@ std::ostream& operator<< (std::ostream& s, const VkViewport& value)
        return s;
 }
 
-std::ostream& operator<< (std::ostream& s, const VkOffset2D& value)
-{
-       s << "VkOffset2D = {\n";
-       s << "\tx = " << value.x << '\n';
-       s << "\ty = " << value.y << '\n';
-       s << '}';
-       return s;
-}
-
-std::ostream& operator<< (std::ostream& s, const VkExtent2D& value)
-{
-       s << "VkExtent2D = {\n";
-       s << "\twidth = " << value.width << '\n';
-       s << "\theight = " << value.height << '\n';
-       s << '}';
-       return s;
-}
-
-std::ostream& operator<< (std::ostream& s, const VkRect2D& value)
-{
-       s << "VkRect2D = {\n";
-       s << "\toffset = " << value.offset << '\n';
-       s << "\textent = " << value.extent << '\n';
-       s << '}';
-       return s;
-}
-
 std::ostream& operator<< (std::ostream& s, const VkPipelineViewportStateCreateInfo& value)
 {
        s << "VkPipelineViewportStateCreateInfo = {\n";
@@ -4571,20 +4681,6 @@ std::ostream& operator<< (std::ostream& s, const VkGraphicsPipelineCreateInfo& v
        return s;
 }
 
-std::ostream& operator<< (std::ostream& s, const VkComputePipelineCreateInfo& value)
-{
-       s << "VkComputePipelineCreateInfo = {\n";
-       s << "\tsType = " << value.sType << '\n';
-       s << "\tpNext = " << value.pNext << '\n';
-       s << "\tflags = " << getPipelineCreateFlagsStr(value.flags) << '\n';
-       s << "\tstage = " << value.stage << '\n';
-       s << "\tlayout = " << value.layout << '\n';
-       s << "\tbasePipelineHandle = " << value.basePipelineHandle << '\n';
-       s << "\tbasePipelineIndex = " << value.basePipelineIndex << '\n';
-       s << '}';
-       return s;
-}
-
 std::ostream& operator<< (std::ostream& s, const VkPushConstantRange& value)
 {
        s << "VkPushConstantRange = {\n";
@@ -4634,26 +4730,38 @@ std::ostream& operator<< (std::ostream& s, const VkSamplerCreateInfo& value)
        return s;
 }
 
-std::ostream& operator<< (std::ostream& s, const VkDescriptorSetLayoutBinding& value)
+std::ostream& operator<< (std::ostream& s, const VkCopyDescriptorSet& value)
 {
-       s << "VkDescriptorSetLayoutBinding = {\n";
-       s << "\tbinding = " << value.binding << '\n';
-       s << "\tdescriptorType = " << value.descriptorType << '\n';
+       s << "VkCopyDescriptorSet = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tsrcSet = " << value.srcSet << '\n';
+       s << "\tsrcBinding = " << value.srcBinding << '\n';
+       s << "\tsrcArrayElement = " << value.srcArrayElement << '\n';
+       s << "\tdstSet = " << value.dstSet << '\n';
+       s << "\tdstBinding = " << value.dstBinding << '\n';
+       s << "\tdstArrayElement = " << value.dstArrayElement << '\n';
        s << "\tdescriptorCount = " << value.descriptorCount << '\n';
-       s << "\tstageFlags = " << getShaderStageFlagsStr(value.stageFlags) << '\n';
-       s << "\tpImmutableSamplers = " << value.pImmutableSamplers << '\n';
        s << '}';
        return s;
 }
 
-std::ostream& operator<< (std::ostream& s, const VkDescriptorSetLayoutCreateInfo& value)
+std::ostream& operator<< (std::ostream& s, const VkDescriptorBufferInfo& value)
 {
-       s << "VkDescriptorSetLayoutCreateInfo = {\n";
-       s << "\tsType = " << value.sType << '\n';
-       s << "\tpNext = " << value.pNext << '\n';
-       s << "\tflags = " << getDescriptorSetLayoutCreateFlagsStr(value.flags) << '\n';
-       s << "\tbindingCount = " << value.bindingCount << '\n';
-       s << "\tpBindings = " << value.pBindings << '\n';
+       s << "VkDescriptorBufferInfo = {\n";
+       s << "\tbuffer = " << value.buffer << '\n';
+       s << "\toffset = " << value.offset << '\n';
+       s << "\trange = " << value.range << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkDescriptorImageInfo& value)
+{
+       s << "VkDescriptorImageInfo = {\n";
+       s << "\tsampler = " << value.sampler << '\n';
+       s << "\timageView = " << value.imageView << '\n';
+       s << "\timageLayout = " << value.imageLayout << '\n';
        s << '}';
        return s;
 }
@@ -4692,22 +4800,26 @@ std::ostream& operator<< (std::ostream& s, const VkDescriptorSetAllocateInfo& va
        return s;
 }
 
-std::ostream& operator<< (std::ostream& s, const VkDescriptorImageInfo& value)
+std::ostream& operator<< (std::ostream& s, const VkDescriptorSetLayoutBinding& value)
 {
-       s << "VkDescriptorImageInfo = {\n";
-       s << "\tsampler = " << value.sampler << '\n';
-       s << "\timageView = " << value.imageView << '\n';
-       s << "\timageLayout = " << value.imageLayout << '\n';
+       s << "VkDescriptorSetLayoutBinding = {\n";
+       s << "\tbinding = " << value.binding << '\n';
+       s << "\tdescriptorType = " << value.descriptorType << '\n';
+       s << "\tdescriptorCount = " << value.descriptorCount << '\n';
+       s << "\tstageFlags = " << getShaderStageFlagsStr(value.stageFlags) << '\n';
+       s << "\tpImmutableSamplers = " << value.pImmutableSamplers << '\n';
        s << '}';
        return s;
 }
 
-std::ostream& operator<< (std::ostream& s, const VkDescriptorBufferInfo& value)
+std::ostream& operator<< (std::ostream& s, const VkDescriptorSetLayoutCreateInfo& value)
 {
-       s << "VkDescriptorBufferInfo = {\n";
-       s << "\tbuffer = " << value.buffer << '\n';
-       s << "\toffset = " << value.offset << '\n';
-       s << "\trange = " << value.range << '\n';
+       s << "VkDescriptorSetLayoutCreateInfo = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tflags = " << getDescriptorSetLayoutCreateFlagsStr(value.flags) << '\n';
+       s << "\tbindingCount = " << value.bindingCount << '\n';
+       s << "\tpBindings = " << value.pBindings << '\n';
        s << '}';
        return s;
 }
@@ -4729,38 +4841,6 @@ std::ostream& operator<< (std::ostream& s, const VkWriteDescriptorSet& value)
        return s;
 }
 
-std::ostream& operator<< (std::ostream& s, const VkCopyDescriptorSet& value)
-{
-       s << "VkCopyDescriptorSet = {\n";
-       s << "\tsType = " << value.sType << '\n';
-       s << "\tpNext = " << value.pNext << '\n';
-       s << "\tsrcSet = " << value.srcSet << '\n';
-       s << "\tsrcBinding = " << value.srcBinding << '\n';
-       s << "\tsrcArrayElement = " << value.srcArrayElement << '\n';
-       s << "\tdstSet = " << value.dstSet << '\n';
-       s << "\tdstBinding = " << value.dstBinding << '\n';
-       s << "\tdstArrayElement = " << value.dstArrayElement << '\n';
-       s << "\tdescriptorCount = " << value.descriptorCount << '\n';
-       s << '}';
-       return s;
-}
-
-std::ostream& operator<< (std::ostream& s, const VkFramebufferCreateInfo& value)
-{
-       s << "VkFramebufferCreateInfo = {\n";
-       s << "\tsType = " << value.sType << '\n';
-       s << "\tpNext = " << value.pNext << '\n';
-       s << "\tflags = " << getFramebufferCreateFlagsStr(value.flags) << '\n';
-       s << "\trenderPass = " << value.renderPass << '\n';
-       s << "\tattachmentCount = " << value.attachmentCount << '\n';
-       s << "\tpAttachments = " << value.pAttachments << '\n';
-       s << "\twidth = " << value.width << '\n';
-       s << "\theight = " << value.height << '\n';
-       s << "\tlayers = " << value.layers << '\n';
-       s << '}';
-       return s;
-}
-
 std::ostream& operator<< (std::ostream& s, const VkAttachmentDescription& value)
 {
        s << "VkAttachmentDescription = {\n";
@@ -4786,6 +4866,22 @@ std::ostream& operator<< (std::ostream& s, const VkAttachmentReference& value)
        return s;
 }
 
+std::ostream& operator<< (std::ostream& s, const VkFramebufferCreateInfo& value)
+{
+       s << "VkFramebufferCreateInfo = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tflags = " << getFramebufferCreateFlagsStr(value.flags) << '\n';
+       s << "\trenderPass = " << value.renderPass << '\n';
+       s << "\tattachmentCount = " << value.attachmentCount << '\n';
+       s << "\tpAttachments = " << value.pAttachments << '\n';
+       s << "\twidth = " << value.width << '\n';
+       s << "\theight = " << value.height << '\n';
+       s << "\tlayers = " << value.layers << '\n';
+       s << '}';
+       return s;
+}
+
 std::ostream& operator<< (std::ostream& s, const VkSubpassDescription& value)
 {
        s << "VkSubpassDescription = {\n";
@@ -4903,29 +4999,6 @@ std::ostream& operator<< (std::ostream& s, const VkImageSubresourceLayers& value
        return s;
 }
 
-std::ostream& operator<< (std::ostream& s, const VkImageCopy& value)
-{
-       s << "VkImageCopy = {\n";
-       s << "\tsrcSubresource = " << value.srcSubresource << '\n';
-       s << "\tsrcOffset = " << value.srcOffset << '\n';
-       s << "\tdstSubresource = " << value.dstSubresource << '\n';
-       s << "\tdstOffset = " << value.dstOffset << '\n';
-       s << "\textent = " << value.extent << '\n';
-       s << '}';
-       return s;
-}
-
-std::ostream& operator<< (std::ostream& s, const VkImageBlit& value)
-{
-       s << "VkImageBlit = {\n";
-       s << "\tsrcSubresource = " << value.srcSubresource << '\n';
-       s << "\tsrcOffsets = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.srcOffsets), DE_ARRAY_END(value.srcOffsets)) << '\n';
-       s << "\tdstSubresource = " << value.dstSubresource << '\n';
-       s << "\tdstOffsets = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.dstOffsets), DE_ARRAY_END(value.dstOffsets)) << '\n';
-       s << '}';
-       return s;
-}
-
 std::ostream& operator<< (std::ostream& s, const VkBufferImageCopy& value)
 {
        s << "VkBufferImageCopy = {\n";
@@ -4987,58 +5060,37 @@ std::ostream& operator<< (std::ostream& s, const VkClearRect& value)
        return s;
 }
 
-std::ostream& operator<< (std::ostream& s, const VkImageResolve& value)
+std::ostream& operator<< (std::ostream& s, const VkImageBlit& value)
 {
-       s << "VkImageResolve = {\n";
+       s << "VkImageBlit = {\n";
        s << "\tsrcSubresource = " << value.srcSubresource << '\n';
-       s << "\tsrcOffset = " << value.srcOffset << '\n';
+       s << "\tsrcOffsets = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.srcOffsets), DE_ARRAY_END(value.srcOffsets)) << '\n';
        s << "\tdstSubresource = " << value.dstSubresource << '\n';
-       s << "\tdstOffset = " << value.dstOffset << '\n';
-       s << "\textent = " << value.extent << '\n';
-       s << '}';
-       return s;
-}
-
-std::ostream& operator<< (std::ostream& s, const VkMemoryBarrier& value)
-{
-       s << "VkMemoryBarrier = {\n";
-       s << "\tsType = " << value.sType << '\n';
-       s << "\tpNext = " << value.pNext << '\n';
-       s << "\tsrcAccessMask = " << getAccessFlagsStr(value.srcAccessMask) << '\n';
-       s << "\tdstAccessMask = " << getAccessFlagsStr(value.dstAccessMask) << '\n';
+       s << "\tdstOffsets = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.dstOffsets), DE_ARRAY_END(value.dstOffsets)) << '\n';
        s << '}';
        return s;
 }
 
-std::ostream& operator<< (std::ostream& s, const VkBufferMemoryBarrier& value)
+std::ostream& operator<< (std::ostream& s, const VkImageCopy& value)
 {
-       s << "VkBufferMemoryBarrier = {\n";
-       s << "\tsType = " << value.sType << '\n';
-       s << "\tpNext = " << value.pNext << '\n';
-       s << "\tsrcAccessMask = " << getAccessFlagsStr(value.srcAccessMask) << '\n';
-       s << "\tdstAccessMask = " << getAccessFlagsStr(value.dstAccessMask) << '\n';
-       s << "\tsrcQueueFamilyIndex = " << value.srcQueueFamilyIndex << '\n';
-       s << "\tdstQueueFamilyIndex = " << value.dstQueueFamilyIndex << '\n';
-       s << "\tbuffer = " << value.buffer << '\n';
-       s << "\toffset = " << value.offset << '\n';
-       s << "\tsize = " << value.size << '\n';
+       s << "VkImageCopy = {\n";
+       s << "\tsrcSubresource = " << value.srcSubresource << '\n';
+       s << "\tsrcOffset = " << value.srcOffset << '\n';
+       s << "\tdstSubresource = " << value.dstSubresource << '\n';
+       s << "\tdstOffset = " << value.dstOffset << '\n';
+       s << "\textent = " << value.extent << '\n';
        s << '}';
        return s;
 }
 
-std::ostream& operator<< (std::ostream& s, const VkImageMemoryBarrier& value)
+std::ostream& operator<< (std::ostream& s, const VkImageResolve& value)
 {
-       s << "VkImageMemoryBarrier = {\n";
-       s << "\tsType = " << value.sType << '\n';
-       s << "\tpNext = " << value.pNext << '\n';
-       s << "\tsrcAccessMask = " << getAccessFlagsStr(value.srcAccessMask) << '\n';
-       s << "\tdstAccessMask = " << getAccessFlagsStr(value.dstAccessMask) << '\n';
-       s << "\toldLayout = " << value.oldLayout << '\n';
-       s << "\tnewLayout = " << value.newLayout << '\n';
-       s << "\tsrcQueueFamilyIndex = " << value.srcQueueFamilyIndex << '\n';
-       s << "\tdstQueueFamilyIndex = " << value.dstQueueFamilyIndex << '\n';
-       s << "\timage = " << value.image << '\n';
-       s << "\tsubresourceRange = " << value.subresourceRange << '\n';
+       s << "VkImageResolve = {\n";
+       s << "\tsrcSubresource = " << value.srcSubresource << '\n';
+       s << "\tsrcOffset = " << value.srcOffset << '\n';
+       s << "\tdstSubresource = " << value.dstSubresource << '\n';
+       s << "\tdstOffset = " << value.dstOffset << '\n';
+       s << "\textent = " << value.extent << '\n';
        s << '}';
        return s;
 }
@@ -5057,57 +5109,6 @@ std::ostream& operator<< (std::ostream& s, const VkRenderPassBeginInfo& value)
        return s;
 }
 
-std::ostream& operator<< (std::ostream& s, const VkDispatchIndirectCommand& value)
-{
-       s << "VkDispatchIndirectCommand = {\n";
-       s << "\tx = " << value.x << '\n';
-       s << "\ty = " << value.y << '\n';
-       s << "\tz = " << value.z << '\n';
-       s << '}';
-       return s;
-}
-
-std::ostream& operator<< (std::ostream& s, const VkDrawIndexedIndirectCommand& value)
-{
-       s << "VkDrawIndexedIndirectCommand = {\n";
-       s << "\tindexCount = " << value.indexCount << '\n';
-       s << "\tinstanceCount = " << value.instanceCount << '\n';
-       s << "\tfirstIndex = " << value.firstIndex << '\n';
-       s << "\tvertexOffset = " << value.vertexOffset << '\n';
-       s << "\tfirstInstance = " << value.firstInstance << '\n';
-       s << '}';
-       return s;
-}
-
-std::ostream& operator<< (std::ostream& s, const VkDrawIndirectCommand& value)
-{
-       s << "VkDrawIndirectCommand = {\n";
-       s << "\tvertexCount = " << value.vertexCount << '\n';
-       s << "\tinstanceCount = " << value.instanceCount << '\n';
-       s << "\tfirstVertex = " << value.firstVertex << '\n';
-       s << "\tfirstInstance = " << value.firstInstance << '\n';
-       s << '}';
-       return s;
-}
-
-std::ostream& operator<< (std::ostream& s, const VkBaseOutStructure& value)
-{
-       s << "VkBaseOutStructure = {\n";
-       s << "\tsType = " << value.sType << '\n';
-       s << "\tpNext = " << value.pNext << '\n';
-       s << '}';
-       return s;
-}
-
-std::ostream& operator<< (std::ostream& s, const VkBaseInStructure& value)
-{
-       s << "VkBaseInStructure = {\n";
-       s << "\tsType = " << value.sType << '\n';
-       s << "\tpNext = " << value.pNext << '\n';
-       s << '}';
-       return s;
-}
-
 std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSubgroupProperties& value)
 {
        s << "VkPhysicalDeviceSubgroupProperties = {\n";
@@ -6759,20 +6760,6 @@ std::ostream& operator<< (std::ostream& s, const VkDeviceGroupSwapchainCreateInf
        return s;
 }
 
-std::ostream& operator<< (std::ostream& s, const VkDisplayPropertiesKHR& value)
-{
-       s << "VkDisplayPropertiesKHR = {\n";
-       s << "\tdisplay = " << value.display << '\n';
-       s << "\tdisplayName = " << getCharPtrStr(value.displayName) << '\n';
-       s << "\tphysicalDimensions = " << value.physicalDimensions << '\n';
-       s << "\tphysicalResolution = " << value.physicalResolution << '\n';
-       s << "\tsupportedTransforms = " << getSurfaceTransformFlagsKHRStr(value.supportedTransforms) << '\n';
-       s << "\tplaneReorderPossible = " << value.planeReorderPossible << '\n';
-       s << "\tpersistentContent = " << value.persistentContent << '\n';
-       s << '}';
-       return s;
-}
-
 std::ostream& operator<< (std::ostream& s, const VkDisplayModeParametersKHR& value)
 {
        s << "VkDisplayModeParametersKHR = {\n";
@@ -6782,21 +6769,21 @@ std::ostream& operator<< (std::ostream& s, const VkDisplayModeParametersKHR& val
        return s;
 }
 
-std::ostream& operator<< (std::ostream& s, const VkDisplayModePropertiesKHR& value)
+std::ostream& operator<< (std::ostream& s, const VkDisplayModeCreateInfoKHR& value)
 {
-       s << "VkDisplayModePropertiesKHR = {\n";
-       s << "\tdisplayMode = " << value.displayMode << '\n';
+       s << "VkDisplayModeCreateInfoKHR = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tflags = " << getDisplayModeCreateFlagsKHRStr(value.flags) << '\n';
        s << "\tparameters = " << value.parameters << '\n';
        s << '}';
        return s;
 }
 
-std::ostream& operator<< (std::ostream& s, const VkDisplayModeCreateInfoKHR& value)
+std::ostream& operator<< (std::ostream& s, const VkDisplayModePropertiesKHR& value)
 {
-       s << "VkDisplayModeCreateInfoKHR = {\n";
-       s << "\tsType = " << value.sType << '\n';
-       s << "\tpNext = " << value.pNext << '\n';
-       s << "\tflags = " << getDisplayModeCreateFlagsKHRStr(value.flags) << '\n';
+       s << "VkDisplayModePropertiesKHR = {\n";
+       s << "\tdisplayMode = " << value.displayMode << '\n';
        s << "\tparameters = " << value.parameters << '\n';
        s << '}';
        return s;
@@ -6827,6 +6814,20 @@ std::ostream& operator<< (std::ostream& s, const VkDisplayPlanePropertiesKHR& va
        return s;
 }
 
+std::ostream& operator<< (std::ostream& s, const VkDisplayPropertiesKHR& value)
+{
+       s << "VkDisplayPropertiesKHR = {\n";
+       s << "\tdisplay = " << value.display << '\n';
+       s << "\tdisplayName = " << getCharPtrStr(value.displayName) << '\n';
+       s << "\tphysicalDimensions = " << value.physicalDimensions << '\n';
+       s << "\tphysicalResolution = " << value.physicalResolution << '\n';
+       s << "\tsupportedTransforms = " << getSurfaceTransformFlagsKHRStr(value.supportedTransforms) << '\n';
+       s << "\tplaneReorderPossible = " << value.planeReorderPossible << '\n';
+       s << "\tpersistentContent = " << value.persistentContent << '\n';
+       s << '}';
+       return s;
+}
+
 std::ostream& operator<< (std::ostream& s, const VkDisplaySurfaceCreateInfoKHR& value)
 {
        s << "VkDisplaySurfaceCreateInfoKHR = {\n";
@@ -7864,20 +7865,6 @@ std::ostream& operator<< (std::ostream& s, const VkDebugUtilsMessengerCallbackDa
        return s;
 }
 
-std::ostream& operator<< (std::ostream& s, const VkDebugUtilsObjectTagInfoEXT& value)
-{
-       s << "VkDebugUtilsObjectTagInfoEXT = {\n";
-       s << "\tsType = " << value.sType << '\n';
-       s << "\tpNext = " << value.pNext << '\n';
-       s << "\tobjectType = " << value.objectType << '\n';
-       s << "\tobjectHandle = " << value.objectHandle << '\n';
-       s << "\ttagName = " << value.tagName << '\n';
-       s << "\ttagSize = " << value.tagSize << '\n';
-       s << "\tpTag = " << value.pTag << '\n';
-       s << '}';
-       return s;
-}
-
 std::ostream& operator<< (std::ostream& s, const VkDebugUtilsMessengerCreateInfoEXT& value)
 {
        s << "VkDebugUtilsMessengerCreateInfoEXT = {\n";
@@ -7892,6 +7879,20 @@ std::ostream& operator<< (std::ostream& s, const VkDebugUtilsMessengerCreateInfo
        return s;
 }
 
+std::ostream& operator<< (std::ostream& s, const VkDebugUtilsObjectTagInfoEXT& value)
+{
+       s << "VkDebugUtilsObjectTagInfoEXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tobjectType = " << value.objectType << '\n';
+       s << "\tobjectHandle = " << value.objectHandle << '\n';
+       s << "\ttagName = " << value.tagName << '\n';
+       s << "\ttagSize = " << value.tagSize << '\n';
+       s << "\tpTag = " << value.pTag << '\n';
+       s << '}';
+       return s;
+}
+
 std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceInlineUniformBlockFeaturesEXT& value)
 {
        s << "VkPhysicalDeviceInlineUniformBlockFeaturesEXT = {\n";
index 391d13f..68ff0da 100644 (file)
@@ -1,6 +1,128 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  */
+struct VkExtent2D
+{
+       deUint32        width;
+       deUint32        height;
+};
+
+struct VkExtent3D
+{
+       deUint32        width;
+       deUint32        height;
+       deUint32        depth;
+};
+
+struct VkOffset2D
+{
+       deInt32 x;
+       deInt32 y;
+};
+
+struct VkOffset3D
+{
+       deInt32 x;
+       deInt32 y;
+       deInt32 z;
+};
+
+struct VkRect2D
+{
+       VkOffset2D      offset;
+       VkExtent2D      extent;
+};
+
+struct VkBaseInStructure
+{
+       VkStructureType                                 sType;
+       const struct VkBaseInStructure* pNext;
+};
+
+struct VkBaseOutStructure
+{
+       VkStructureType                         sType;
+       struct VkBaseOutStructure*      pNext;
+};
+
+struct VkBufferMemoryBarrier
+{
+       VkStructureType sType;
+       const void*             pNext;
+       VkAccessFlags   srcAccessMask;
+       VkAccessFlags   dstAccessMask;
+       deUint32                srcQueueFamilyIndex;
+       deUint32                dstQueueFamilyIndex;
+       VkBuffer                buffer;
+       VkDeviceSize    offset;
+       VkDeviceSize    size;
+};
+
+struct VkDispatchIndirectCommand
+{
+       deUint32        x;
+       deUint32        y;
+       deUint32        z;
+};
+
+struct VkDrawIndexedIndirectCommand
+{
+       deUint32        indexCount;
+       deUint32        instanceCount;
+       deUint32        firstIndex;
+       deInt32         vertexOffset;
+       deUint32        firstInstance;
+};
+
+struct VkDrawIndirectCommand
+{
+       deUint32        vertexCount;
+       deUint32        instanceCount;
+       deUint32        firstVertex;
+       deUint32        firstInstance;
+};
+
+struct VkImageSubresourceRange
+{
+       VkImageAspectFlags      aspectMask;
+       deUint32                        baseMipLevel;
+       deUint32                        levelCount;
+       deUint32                        baseArrayLayer;
+       deUint32                        layerCount;
+};
+
+struct VkImageMemoryBarrier
+{
+       VkStructureType                 sType;
+       const void*                             pNext;
+       VkAccessFlags                   srcAccessMask;
+       VkAccessFlags                   dstAccessMask;
+       VkImageLayout                   oldLayout;
+       VkImageLayout                   newLayout;
+       deUint32                                srcQueueFamilyIndex;
+       deUint32                                dstQueueFamilyIndex;
+       VkImage                                 image;
+       VkImageSubresourceRange subresourceRange;
+};
+
+struct VkMemoryBarrier
+{
+       VkStructureType sType;
+       const void*             pNext;
+       VkAccessFlags   srcAccessMask;
+       VkAccessFlags   dstAccessMask;
+};
+
+struct VkAllocationCallbacks
+{
+       void*                                                                   pUserData;
+       PFN_vkAllocationFunction                                pfnAllocation;
+       PFN_vkReallocationFunction                              pfnReallocation;
+       PFN_vkFreeFunction                                              pfnFree;
+       PFN_vkInternalAllocationNotification    pfnInternalAllocation;
+       PFN_vkInternalFreeNotification                  pfnInternalFree;
+};
+
 struct VkApplicationInfo
 {
        VkStructureType sType;
@@ -12,6 +134,22 @@ struct VkApplicationInfo
        deUint32                apiVersion;
 };
 
+struct VkFormatProperties
+{
+       VkFormatFeatureFlags    linearTilingFeatures;
+       VkFormatFeatureFlags    optimalTilingFeatures;
+       VkFormatFeatureFlags    bufferFeatures;
+};
+
+struct VkImageFormatProperties
+{
+       VkExtent3D                      maxExtent;
+       deUint32                        maxMipLevels;
+       deUint32                        maxArrayLayers;
+       VkSampleCountFlags      sampleCounts;
+       VkDeviceSize            maxResourceSize;
+};
+
 struct VkInstanceCreateInfo
 {
        VkStructureType                         sType;
@@ -24,14 +162,16 @@ struct VkInstanceCreateInfo
        const char* const*                      ppEnabledExtensionNames;
 };
 
-struct VkAllocationCallbacks
+struct VkMemoryHeap
 {
-       void*                                                                   pUserData;
-       PFN_vkAllocationFunction                                pfnAllocation;
-       PFN_vkReallocationFunction                              pfnReallocation;
-       PFN_vkFreeFunction                                              pfnFree;
-       PFN_vkInternalAllocationNotification    pfnInternalAllocation;
-       PFN_vkInternalFreeNotification                  pfnInternalFree;
+       VkDeviceSize            size;
+       VkMemoryHeapFlags       flags;
+};
+
+struct VkMemoryType
+{
+       VkMemoryPropertyFlags   propertyFlags;
+       deUint32                                heapIndex;
 };
 
 struct VkPhysicalDeviceFeatures
@@ -93,29 +233,6 @@ struct VkPhysicalDeviceFeatures
        VkBool32        inheritedQueries;
 };
 
-struct VkFormatProperties
-{
-       VkFormatFeatureFlags    linearTilingFeatures;
-       VkFormatFeatureFlags    optimalTilingFeatures;
-       VkFormatFeatureFlags    bufferFeatures;
-};
-
-struct VkExtent3D
-{
-       deUint32        width;
-       deUint32        height;
-       deUint32        depth;
-};
-
-struct VkImageFormatProperties
-{
-       VkExtent3D                      maxExtent;
-       deUint32                        maxMipLevels;
-       deUint32                        maxArrayLayers;
-       VkSampleCountFlags      sampleCounts;
-       VkDeviceSize            maxResourceSize;
-};
-
 struct VkPhysicalDeviceLimits
 {
        deUint32                        maxImageDimension1D;
@@ -226,6 +343,14 @@ struct VkPhysicalDeviceLimits
        VkDeviceSize            nonCoherentAtomSize;
 };
 
+struct VkPhysicalDeviceMemoryProperties
+{
+       deUint32                memoryTypeCount;
+       VkMemoryType    memoryTypes[VK_MAX_MEMORY_TYPES];
+       deUint32                memoryHeapCount;
+       VkMemoryHeap    memoryHeaps[VK_MAX_MEMORY_HEAPS];
+};
+
 struct VkPhysicalDeviceSparseProperties
 {
        VkBool32        residencyStandard2DBlockShape;
@@ -256,26 +381,6 @@ struct VkQueueFamilyProperties
        VkExtent3D              minImageTransferGranularity;
 };
 
-struct VkMemoryType
-{
-       VkMemoryPropertyFlags   propertyFlags;
-       deUint32                                heapIndex;
-};
-
-struct VkMemoryHeap
-{
-       VkDeviceSize            size;
-       VkMemoryHeapFlags       flags;
-};
-
-struct VkPhysicalDeviceMemoryProperties
-{
-       deUint32                memoryTypeCount;
-       VkMemoryType    memoryTypes[VK_MAX_MEMORY_TYPES];
-       deUint32                memoryHeapCount;
-       VkMemoryHeap    memoryHeaps[VK_MAX_MEMORY_HEAPS];
-};
-
 struct VkDeviceQueueCreateInfo
 {
        VkStructureType                         sType;
@@ -327,21 +432,21 @@ struct VkSubmitInfo
        const VkSemaphore*                      pSignalSemaphores;
 };
 
-struct VkMemoryAllocateInfo
+struct VkMappedMemoryRange
 {
        VkStructureType sType;
        const void*             pNext;
-       VkDeviceSize    allocationSize;
-       deUint32                memoryTypeIndex;
+       VkDeviceMemory  memory;
+       VkDeviceSize    offset;
+       VkDeviceSize    size;
 };
 
-struct VkMappedMemoryRange
+struct VkMemoryAllocateInfo
 {
        VkStructureType sType;
        const void*             pNext;
-       VkDeviceMemory  memory;
-       VkDeviceSize    offset;
-       VkDeviceSize    size;
+       VkDeviceSize    allocationSize;
+       deUint32                memoryTypeIndex;
 };
 
 struct VkMemoryRequirements
@@ -351,22 +456,6 @@ struct VkMemoryRequirements
        deUint32                memoryTypeBits;
 };
 
-struct VkSparseImageFormatProperties
-{
-       VkImageAspectFlags                      aspectMask;
-       VkExtent3D                                      imageGranularity;
-       VkSparseImageFormatFlags        flags;
-};
-
-struct VkSparseImageMemoryRequirements
-{
-       VkSparseImageFormatProperties   formatProperties;
-       deUint32                                                imageMipTailFirstLod;
-       VkDeviceSize                                    imageMipTailSize;
-       VkDeviceSize                                    imageMipTailOffset;
-       VkDeviceSize                                    imageMipTailStride;
-};
-
 struct VkSparseMemoryBind
 {
        VkDeviceSize                    resourceOffset;
@@ -397,13 +486,6 @@ struct VkImageSubresource
        deUint32                        arrayLayer;
 };
 
-struct VkOffset3D
-{
-       deInt32 x;
-       deInt32 y;
-       deInt32 z;
-};
-
 struct VkSparseImageMemoryBind
 {
        VkImageSubresource              subresource;
@@ -437,6 +519,22 @@ struct VkBindSparseInfo
        const VkSemaphore*                                                      pSignalSemaphores;
 };
 
+struct VkSparseImageFormatProperties
+{
+       VkImageAspectFlags                      aspectMask;
+       VkExtent3D                                      imageGranularity;
+       VkSparseImageFormatFlags        flags;
+};
+
+struct VkSparseImageMemoryRequirements
+{
+       VkSparseImageFormatProperties   formatProperties;
+       deUint32                                                imageMipTailFirstLod;
+       VkDeviceSize                                    imageMipTailSize;
+       VkDeviceSize                                    imageMipTailOffset;
+       VkDeviceSize                                    imageMipTailStride;
+};
+
 struct VkFenceCreateInfo
 {
        VkStructureType         sType;
@@ -527,15 +625,6 @@ struct VkComponentMapping
        VkComponentSwizzle      a;
 };
 
-struct VkImageSubresourceRange
-{
-       VkImageAspectFlags      aspectMask;
-       deUint32                        baseMipLevel;
-       deUint32                        levelCount;
-       deUint32                        baseArrayLayer;
-       deUint32                        layerCount;
-};
-
 struct VkImageViewCreateInfo
 {
        VkStructureType                 sType;
@@ -592,6 +681,17 @@ struct VkPipelineShaderStageCreateInfo
        const VkSpecializationInfo*                     pSpecializationInfo;
 };
 
+struct VkComputePipelineCreateInfo
+{
+       VkStructureType                                 sType;
+       const void*                                             pNext;
+       VkPipelineCreateFlags                   flags;
+       VkPipelineShaderStageCreateInfo stage;
+       VkPipelineLayout                                layout;
+       VkPipeline                                              basePipelineHandle;
+       deInt32                                                 basePipelineIndex;
+};
+
 struct VkVertexInputBindingDescription
 {
        deUint32                        binding;
@@ -645,24 +745,6 @@ struct VkViewport
        float   maxDepth;
 };
 
-struct VkOffset2D
-{
-       deInt32 x;
-       deInt32 y;
-};
-
-struct VkExtent2D
-{
-       deUint32        width;
-       deUint32        height;
-};
-
-struct VkRect2D
-{
-       VkOffset2D      offset;
-       VkExtent2D      extent;
-};
-
 struct VkPipelineViewportStateCreateInfo
 {
        VkStructureType                                         sType;
@@ -778,24 +860,13 @@ struct VkGraphicsPipelineCreateInfo
        const VkPipelineRasterizationStateCreateInfo*   pRasterizationState;
        const VkPipelineMultisampleStateCreateInfo*             pMultisampleState;
        const VkPipelineDepthStencilStateCreateInfo*    pDepthStencilState;
-       const VkPipelineColorBlendStateCreateInfo*              pColorBlendState;
-       const VkPipelineDynamicStateCreateInfo*                 pDynamicState;
-       VkPipelineLayout                                                                layout;
-       VkRenderPass                                                                    renderPass;
-       deUint32                                                                                subpass;
-       VkPipeline                                                                              basePipelineHandle;
-       deInt32                                                                                 basePipelineIndex;
-};
-
-struct VkComputePipelineCreateInfo
-{
-       VkStructureType                                 sType;
-       const void*                                             pNext;
-       VkPipelineCreateFlags                   flags;
-       VkPipelineShaderStageCreateInfo stage;
-       VkPipelineLayout                                layout;
-       VkPipeline                                              basePipelineHandle;
-       deInt32                                                 basePipelineIndex;
+       const VkPipelineColorBlendStateCreateInfo*              pColorBlendState;
+       const VkPipelineDynamicStateCreateInfo*                 pDynamicState;
+       VkPipelineLayout                                                                layout;
+       VkRenderPass                                                                    renderPass;
+       deUint32                                                                                subpass;
+       VkPipeline                                                                              basePipelineHandle;
+       deInt32                                                                                 basePipelineIndex;
 };
 
 struct VkPushConstantRange
@@ -838,22 +909,31 @@ struct VkSamplerCreateInfo
        VkBool32                                unnormalizedCoordinates;
 };
 
-struct VkDescriptorSetLayoutBinding
+struct VkCopyDescriptorSet
 {
-       deUint32                        binding;
-       VkDescriptorType        descriptorType;
-       deUint32                        descriptorCount;
-       VkShaderStageFlags      stageFlags;
-       const VkSampler*        pImmutableSamplers;
+       VkStructureType sType;
+       const void*             pNext;
+       VkDescriptorSet srcSet;
+       deUint32                srcBinding;
+       deUint32                srcArrayElement;
+       VkDescriptorSet dstSet;
+       deUint32                dstBinding;
+       deUint32                dstArrayElement;
+       deUint32                descriptorCount;
 };
 
-struct VkDescriptorSetLayoutCreateInfo
+struct VkDescriptorBufferInfo
 {
-       VkStructureType                                         sType;
-       const void*                                                     pNext;
-       VkDescriptorSetLayoutCreateFlags        flags;
-       deUint32                                                        bindingCount;
-       const VkDescriptorSetLayoutBinding*     pBindings;
+       VkBuffer                buffer;
+       VkDeviceSize    offset;
+       VkDeviceSize    range;
+};
+
+struct VkDescriptorImageInfo
+{
+       VkSampler               sampler;
+       VkImageView             imageView;
+       VkImageLayout   imageLayout;
 };
 
 struct VkDescriptorPoolSize
@@ -881,18 +961,22 @@ struct VkDescriptorSetAllocateInfo
        const VkDescriptorSetLayout*    pSetLayouts;
 };
 
-struct VkDescriptorImageInfo
+struct VkDescriptorSetLayoutBinding
 {
-       VkSampler               sampler;
-       VkImageView             imageView;
-       VkImageLayout   imageLayout;
+       deUint32                        binding;
+       VkDescriptorType        descriptorType;
+       deUint32                        descriptorCount;
+       VkShaderStageFlags      stageFlags;
+       const VkSampler*        pImmutableSamplers;
 };
 
-struct VkDescriptorBufferInfo
+struct VkDescriptorSetLayoutCreateInfo
 {
-       VkBuffer                buffer;
-       VkDeviceSize    offset;
-       VkDeviceSize    range;
+       VkStructureType                                         sType;
+       const void*                                                     pNext;
+       VkDescriptorSetLayoutCreateFlags        flags;
+       deUint32                                                        bindingCount;
+       const VkDescriptorSetLayoutBinding*     pBindings;
 };
 
 struct VkWriteDescriptorSet
@@ -909,32 +993,6 @@ struct VkWriteDescriptorSet
        const VkBufferView*                             pTexelBufferView;
 };
 
-struct VkCopyDescriptorSet
-{
-       VkStructureType sType;
-       const void*             pNext;
-       VkDescriptorSet srcSet;
-       deUint32                srcBinding;
-       deUint32                srcArrayElement;
-       VkDescriptorSet dstSet;
-       deUint32                dstBinding;
-       deUint32                dstArrayElement;
-       deUint32                descriptorCount;
-};
-
-struct VkFramebufferCreateInfo
-{
-       VkStructureType                         sType;
-       const void*                                     pNext;
-       VkFramebufferCreateFlags        flags;
-       VkRenderPass                            renderPass;
-       deUint32                                        attachmentCount;
-       const VkImageView*                      pAttachments;
-       deUint32                                        width;
-       deUint32                                        height;
-       deUint32                                        layers;
-};
-
 struct VkAttachmentDescription
 {
        VkAttachmentDescriptionFlags    flags;
@@ -954,6 +1012,19 @@ struct VkAttachmentReference
        VkImageLayout   layout;
 };
 
+struct VkFramebufferCreateInfo
+{
+       VkStructureType                         sType;
+       const void*                                     pNext;
+       VkFramebufferCreateFlags        flags;
+       VkRenderPass                            renderPass;
+       deUint32                                        attachmentCount;
+       const VkImageView*                      pAttachments;
+       deUint32                                        width;
+       deUint32                                        height;
+       deUint32                                        layers;
+};
+
 struct VkSubpassDescription
 {
        VkSubpassDescriptionFlags               flags;
@@ -1044,23 +1115,6 @@ struct VkImageSubresourceLayers
        deUint32                        layerCount;
 };
 
-struct VkImageCopy
-{
-       VkImageSubresourceLayers        srcSubresource;
-       VkOffset3D                                      srcOffset;
-       VkImageSubresourceLayers        dstSubresource;
-       VkOffset3D                                      dstOffset;
-       VkExtent3D                                      extent;
-};
-
-struct VkImageBlit
-{
-       VkImageSubresourceLayers        srcSubresource;
-       VkOffset3D                                      srcOffsets[2];
-       VkImageSubresourceLayers        dstSubresource;
-       VkOffset3D                                      dstOffsets[2];
-};
-
 struct VkBufferImageCopy
 {
        VkDeviceSize                            bufferOffset;
@@ -1104,48 +1158,30 @@ struct VkClearRect
        deUint32        layerCount;
 };
 
-struct VkImageResolve
+struct VkImageBlit
 {
        VkImageSubresourceLayers        srcSubresource;
-       VkOffset3D                                      srcOffset;
+       VkOffset3D                                      srcOffsets[2];
        VkImageSubresourceLayers        dstSubresource;
-       VkOffset3D                                      dstOffset;
-       VkExtent3D                                      extent;
-};
-
-struct VkMemoryBarrier
-{
-       VkStructureType sType;
-       const void*             pNext;
-       VkAccessFlags   srcAccessMask;
-       VkAccessFlags   dstAccessMask;
+       VkOffset3D                                      dstOffsets[2];
 };
 
-struct VkBufferMemoryBarrier
+struct VkImageCopy
 {
-       VkStructureType sType;
-       const void*             pNext;
-       VkAccessFlags   srcAccessMask;
-       VkAccessFlags   dstAccessMask;
-       deUint32                srcQueueFamilyIndex;
-       deUint32                dstQueueFamilyIndex;
-       VkBuffer                buffer;
-       VkDeviceSize    offset;
-       VkDeviceSize    size;
+       VkImageSubresourceLayers        srcSubresource;
+       VkOffset3D                                      srcOffset;
+       VkImageSubresourceLayers        dstSubresource;
+       VkOffset3D                                      dstOffset;
+       VkExtent3D                                      extent;
 };
 
-struct VkImageMemoryBarrier
+struct VkImageResolve
 {
-       VkStructureType                 sType;
-       const void*                             pNext;
-       VkAccessFlags                   srcAccessMask;
-       VkAccessFlags                   dstAccessMask;
-       VkImageLayout                   oldLayout;
-       VkImageLayout                   newLayout;
-       deUint32                                srcQueueFamilyIndex;
-       deUint32                                dstQueueFamilyIndex;
-       VkImage                                 image;
-       VkImageSubresourceRange subresourceRange;
+       VkImageSubresourceLayers        srcSubresource;
+       VkOffset3D                                      srcOffset;
+       VkImageSubresourceLayers        dstSubresource;
+       VkOffset3D                                      dstOffset;
+       VkExtent3D                                      extent;
 };
 
 struct VkRenderPassBeginInfo
@@ -1159,42 +1195,6 @@ struct VkRenderPassBeginInfo
        const VkClearValue*     pClearValues;
 };
 
-struct VkDispatchIndirectCommand
-{
-       deUint32        x;
-       deUint32        y;
-       deUint32        z;
-};
-
-struct VkDrawIndexedIndirectCommand
-{
-       deUint32        indexCount;
-       deUint32        instanceCount;
-       deUint32        firstIndex;
-       deInt32         vertexOffset;
-       deUint32        firstInstance;
-};
-
-struct VkDrawIndirectCommand
-{
-       deUint32        vertexCount;
-       deUint32        instanceCount;
-       deUint32        firstVertex;
-       deUint32        firstInstance;
-};
-
-struct VkBaseOutStructure
-{
-       VkStructureType                         sType;
-       struct VkBaseOutStructure*      pNext;
-};
-
-struct VkBaseInStructure
-{
-       VkStructureType                                 sType;
-       const struct VkBaseInStructure* pNext;
-};
-
 struct VkPhysicalDeviceSubgroupProperties
 {
        VkStructureType                 sType;
@@ -2459,29 +2459,12 @@ struct VkDeviceGroupSwapchainCreateInfoKHR
        VkDeviceGroupPresentModeFlagsKHR        modes;
 };
 
-struct VkDisplayPropertiesKHR
-{
-       VkDisplayKHR                            display;
-       const char*                                     displayName;
-       VkExtent2D                                      physicalDimensions;
-       VkExtent2D                                      physicalResolution;
-       VkSurfaceTransformFlagsKHR      supportedTransforms;
-       VkBool32                                        planeReorderPossible;
-       VkBool32                                        persistentContent;
-};
-
 struct VkDisplayModeParametersKHR
 {
        VkExtent2D      visibleRegion;
        deUint32        refreshRate;
 };
 
-struct VkDisplayModePropertiesKHR
-{
-       VkDisplayModeKHR                        displayMode;
-       VkDisplayModeParametersKHR      parameters;
-};
-
 struct VkDisplayModeCreateInfoKHR
 {
        VkStructureType                         sType;
@@ -2490,6 +2473,12 @@ struct VkDisplayModeCreateInfoKHR
        VkDisplayModeParametersKHR      parameters;
 };
 
+struct VkDisplayModePropertiesKHR
+{
+       VkDisplayModeKHR                        displayMode;
+       VkDisplayModeParametersKHR      parameters;
+};
+
 struct VkDisplayPlaneCapabilitiesKHR
 {
        VkDisplayPlaneAlphaFlagsKHR     supportedAlpha;
@@ -2509,6 +2498,17 @@ struct VkDisplayPlanePropertiesKHR
        deUint32                currentStackIndex;
 };
 
+struct VkDisplayPropertiesKHR
+{
+       VkDisplayKHR                            display;
+       const char*                                     displayName;
+       VkExtent2D                                      physicalDimensions;
+       VkExtent2D                                      physicalResolution;
+       VkSurfaceTransformFlagsKHR      supportedTransforms;
+       VkBool32                                        planeReorderPossible;
+       VkBool32                                        persistentContent;
+};
+
 struct VkDisplaySurfaceCreateInfoKHR
 {
        VkStructureType                                 sType;
@@ -3273,17 +3273,6 @@ struct VkDebugUtilsMessengerCallbackDataEXT
        const VkDebugUtilsObjectNameInfoEXT*            pObjects;
 };
 
-struct VkDebugUtilsObjectTagInfoEXT
-{
-       VkStructureType sType;
-       const void*             pNext;
-       VkObjectType    objectType;
-       deUint64                objectHandle;
-       deUint64                tagName;
-       deUintptr               tagSize;
-       const void*             pTag;
-};
-
 struct VkDebugUtilsMessengerCreateInfoEXT
 {
        VkStructureType                                                 sType;
@@ -3295,6 +3284,17 @@ struct VkDebugUtilsMessengerCreateInfoEXT
        void*                                                                   pUserData;
 };
 
+struct VkDebugUtilsObjectTagInfoEXT
+{
+       VkStructureType sType;
+       const void*             pNext;
+       VkObjectType    objectType;
+       deUint64                objectHandle;
+       deUint64                tagName;
+       deUintptr               tagSize;
+       const void*             pTag;
+};
+
 struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT
 {
        VkStructureType sType;
index 968da90..97bd36f 100644 (file)
@@ -2,15 +2,11 @@
  * be lost! Modify the generating script instead.
  */
 
-inline VkAllocationCallbacks makeAllocationCallbacks (void* pUserData, PFN_vkAllocationFunction pfnAllocation, PFN_vkReallocationFunction pfnReallocation, PFN_vkFreeFunction pfnFree, PFN_vkInternalAllocationNotification pfnInternalAllocation, PFN_vkInternalFreeNotification pfnInternalFree)
+inline VkExtent2D makeExtent2D (deUint32 width, deUint32 height)
 {
-       VkAllocationCallbacks res;
-       res.pUserData                           = pUserData;
-       res.pfnAllocation                       = pfnAllocation;
-       res.pfnReallocation                     = pfnReallocation;
-       res.pfnFree                                     = pfnFree;
-       res.pfnInternalAllocation       = pfnInternalAllocation;
-       res.pfnInternalFree                     = pfnInternalFree;
+       VkExtent2D res;
+       res.width       = width;
+       res.height      = height;
        return res;
 }
 
@@ -23,6 +19,76 @@ inline VkExtent3D makeExtent3D (deUint32 width, deUint32 height, deUint32 depth)
        return res;
 }
 
+inline VkOffset2D makeOffset2D (deInt32 x, deInt32 y)
+{
+       VkOffset2D res;
+       res.x   = x;
+       res.y   = y;
+       return res;
+}
+
+inline VkOffset3D makeOffset3D (deInt32 x, deInt32 y, deInt32 z)
+{
+       VkOffset3D res;
+       res.x   = x;
+       res.y   = y;
+       res.z   = z;
+       return res;
+}
+
+inline VkDispatchIndirectCommand makeDispatchIndirectCommand (deUint32 x, deUint32 y, deUint32 z)
+{
+       VkDispatchIndirectCommand res;
+       res.x   = x;
+       res.y   = y;
+       res.z   = z;
+       return res;
+}
+
+inline VkDrawIndexedIndirectCommand makeDrawIndexedIndirectCommand (deUint32 indexCount, deUint32 instanceCount, deUint32 firstIndex, deInt32 vertexOffset, deUint32 firstInstance)
+{
+       VkDrawIndexedIndirectCommand res;
+       res.indexCount          = indexCount;
+       res.instanceCount       = instanceCount;
+       res.firstIndex          = firstIndex;
+       res.vertexOffset        = vertexOffset;
+       res.firstInstance       = firstInstance;
+       return res;
+}
+
+inline VkDrawIndirectCommand makeDrawIndirectCommand (deUint32 vertexCount, deUint32 instanceCount, deUint32 firstVertex, deUint32 firstInstance)
+{
+       VkDrawIndirectCommand res;
+       res.vertexCount         = vertexCount;
+       res.instanceCount       = instanceCount;
+       res.firstVertex         = firstVertex;
+       res.firstInstance       = firstInstance;
+       return res;
+}
+
+inline VkImageSubresourceRange makeImageSubresourceRange (VkImageAspectFlags aspectMask, deUint32 baseMipLevel, deUint32 levelCount, deUint32 baseArrayLayer, deUint32 layerCount)
+{
+       VkImageSubresourceRange res;
+       res.aspectMask          = aspectMask;
+       res.baseMipLevel        = baseMipLevel;
+       res.levelCount          = levelCount;
+       res.baseArrayLayer      = baseArrayLayer;
+       res.layerCount          = layerCount;
+       return res;
+}
+
+inline VkAllocationCallbacks makeAllocationCallbacks (void* pUserData, PFN_vkAllocationFunction pfnAllocation, PFN_vkReallocationFunction pfnReallocation, PFN_vkFreeFunction pfnFree, PFN_vkInternalAllocationNotification pfnInternalAllocation, PFN_vkInternalFreeNotification pfnInternalFree)
+{
+       VkAllocationCallbacks res;
+       res.pUserData                           = pUserData;
+       res.pfnAllocation                       = pfnAllocation;
+       res.pfnReallocation                     = pfnReallocation;
+       res.pfnFree                                     = pfnFree;
+       res.pfnInternalAllocation       = pfnInternalAllocation;
+       res.pfnInternalFree                     = pfnInternalFree;
+       return res;
+}
+
 inline VkMemoryRequirements makeMemoryRequirements (VkDeviceSize size, VkDeviceSize alignment, deUint32 memoryTypeBits)
 {
        VkMemoryRequirements res;
@@ -70,15 +136,6 @@ inline VkImageSubresource makeImageSubresource (VkImageAspectFlags aspectMask, d
        return res;
 }
 
-inline VkOffset3D makeOffset3D (deInt32 x, deInt32 y, deInt32 z)
-{
-       VkOffset3D res;
-       res.x   = x;
-       res.y   = y;
-       res.z   = z;
-       return res;
-}
-
 inline VkSparseImageMemoryBindInfo makeSparseImageMemoryBindInfo (VkImage image, deUint32 bindCount, const VkSparseImageMemoryBind* pBinds)
 {
        VkSparseImageMemoryBindInfo res;
@@ -109,17 +166,6 @@ inline VkComponentMapping makeComponentMapping (VkComponentSwizzle r, VkComponen
        return res;
 }
 
-inline VkImageSubresourceRange makeImageSubresourceRange (VkImageAspectFlags aspectMask, deUint32 baseMipLevel, deUint32 levelCount, deUint32 baseArrayLayer, deUint32 layerCount)
-{
-       VkImageSubresourceRange res;
-       res.aspectMask          = aspectMask;
-       res.baseMipLevel        = baseMipLevel;
-       res.levelCount          = levelCount;
-       res.baseArrayLayer      = baseArrayLayer;
-       res.layerCount          = layerCount;
-       return res;
-}
-
 inline VkSpecializationMapEntry makeSpecializationMapEntry (deUint32 constantID, deUint32 offset, deUintptr size)
 {
        VkSpecializationMapEntry res;
@@ -170,22 +216,6 @@ inline VkViewport makeViewport (float x, float y, float width, float height, flo
        return res;
 }
 
-inline VkOffset2D makeOffset2D (deInt32 x, deInt32 y)
-{
-       VkOffset2D res;
-       res.x   = x;
-       res.y   = y;
-       return res;
-}
-
-inline VkExtent2D makeExtent2D (deUint32 width, deUint32 height)
-{
-       VkExtent2D res;
-       res.width       = width;
-       res.height      = height;
-       return res;
-}
-
 inline VkStencilOpState makeStencilOpState (VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp, deUint32 compareMask, deUint32 writeMask, deUint32 reference)
 {
        VkStencilOpState res;
@@ -222,22 +252,12 @@ inline VkPushConstantRange makePushConstantRange (VkShaderStageFlags stageFlags,
        return res;
 }
 
-inline VkDescriptorSetLayoutBinding makeDescriptorSetLayoutBinding (deUint32 binding, VkDescriptorType descriptorType, deUint32 descriptorCount, VkShaderStageFlags stageFlags, const VkSampler* pImmutableSamplers)
-{
-       VkDescriptorSetLayoutBinding res;
-       res.binding                             = binding;
-       res.descriptorType              = descriptorType;
-       res.descriptorCount             = descriptorCount;
-       res.stageFlags                  = stageFlags;
-       res.pImmutableSamplers  = pImmutableSamplers;
-       return res;
-}
-
-inline VkDescriptorPoolSize makeDescriptorPoolSize (VkDescriptorType type, deUint32 descriptorCount)
+inline VkDescriptorBufferInfo makeDescriptorBufferInfo (VkBuffer buffer, VkDeviceSize offset, VkDeviceSize range)
 {
-       VkDescriptorPoolSize res;
-       res.type                        = type;
-       res.descriptorCount     = descriptorCount;
+       VkDescriptorBufferInfo res;
+       res.buffer      = buffer;
+       res.offset      = offset;
+       res.range       = range;
        return res;
 }
 
@@ -250,12 +270,22 @@ inline VkDescriptorImageInfo makeDescriptorImageInfo (VkSampler sampler, VkImage
        return res;
 }
 
-inline VkDescriptorBufferInfo makeDescriptorBufferInfo (VkBuffer buffer, VkDeviceSize offset, VkDeviceSize range)
+inline VkDescriptorPoolSize makeDescriptorPoolSize (VkDescriptorType type, deUint32 descriptorCount)
 {
-       VkDescriptorBufferInfo res;
-       res.buffer      = buffer;
-       res.offset      = offset;
-       res.range       = range;
+       VkDescriptorPoolSize res;
+       res.type                        = type;
+       res.descriptorCount     = descriptorCount;
+       return res;
+}
+
+inline VkDescriptorSetLayoutBinding makeDescriptorSetLayoutBinding (deUint32 binding, VkDescriptorType descriptorType, deUint32 descriptorCount, VkShaderStageFlags stageFlags, const VkSampler* pImmutableSamplers)
+{
+       VkDescriptorSetLayoutBinding res;
+       res.binding                             = binding;
+       res.descriptorType              = descriptorType;
+       res.descriptorCount             = descriptorCount;
+       res.stageFlags                  = stageFlags;
+       res.pImmutableSamplers  = pImmutableSamplers;
        return res;
 }
 
@@ -338,36 +368,6 @@ inline VkClearDepthStencilValue makeClearDepthStencilValue (float depth, deUint3
        return res;
 }
 
-inline VkDispatchIndirectCommand makeDispatchIndirectCommand (deUint32 x, deUint32 y, deUint32 z)
-{
-       VkDispatchIndirectCommand res;
-       res.x   = x;
-       res.y   = y;
-       res.z   = z;
-       return res;
-}
-
-inline VkDrawIndexedIndirectCommand makeDrawIndexedIndirectCommand (deUint32 indexCount, deUint32 instanceCount, deUint32 firstIndex, deInt32 vertexOffset, deUint32 firstInstance)
-{
-       VkDrawIndexedIndirectCommand res;
-       res.indexCount          = indexCount;
-       res.instanceCount       = instanceCount;
-       res.firstIndex          = firstIndex;
-       res.vertexOffset        = vertexOffset;
-       res.firstInstance       = firstInstance;
-       return res;
-}
-
-inline VkDrawIndirectCommand makeDrawIndirectCommand (deUint32 vertexCount, deUint32 instanceCount, deUint32 firstVertex, deUint32 firstInstance)
-{
-       VkDrawIndirectCommand res;
-       res.vertexCount         = vertexCount;
-       res.instanceCount       = instanceCount;
-       res.firstVertex         = firstVertex;
-       res.firstInstance       = firstInstance;
-       return res;
-}
-
 inline VkInputAttachmentAspectReference makeInputAttachmentAspectReference (deUint32 subpass, deUint32 inputAttachmentIndex, VkImageAspectFlags aspectMask)
 {
        VkInputAttachmentAspectReference res;
index 779e05f..f971b01 100644 (file)
@@ -7,17 +7,7 @@
 /*
 ** Copyright (c) 2015-2020 The Khronos Group Inc.
 **
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
+** SPDX-License-Identifier: Apache-2.0
 */
 
 /*
@@ -34,8 +24,20 @@ extern "C" {
 
 #define VK_VERSION_1_0 1
 
+
+#define VK_DEFINE_HANDLE(object) typedef struct object##_T* object;
+
+
+#if !defined(VK_DEFINE_NON_DISPATCHABLE_HANDLE)
+#if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__)
+        #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
+
 #define VK_MAKE_VERSION(major, minor, patch) \
-    (((major) << 22) | ((minor) << 12) | (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
@@ -43,34 +45,25 @@ extern "C" {
 // 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_VERSION_MAJOR(version) ((deUint32)(version) >> 22)
-#define VK_VERSION_MINOR(version) (((deUint32)(version) >> 12) & 0x3ff)
-#define VK_VERSION_PATCH(version) ((deUint32)(version) & 0xfff)
 // Version of this file
-#define VK_HEADER_VERSION 141
+#define VK_HEADER_VERSION 146
 
 // Complete version of this file
 #define VK_HEADER_VERSION_COMPLETE VK_MAKE_VERSION(1, 2, VK_HEADER_VERSION)
 
+#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_NULL_HANDLE 0
 
-
-#define VK_DEFINE_HANDLE(object) typedef struct object##_T* object;
-
-
-#if !defined(VK_DEFINE_NON_DISPATCHABLE_HANDLE)
-#if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__)
-        #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
-
-typedef deUint32 VkFlags;
 typedef deUint32 VkBool32;
+typedef deUint64 VkDeviceAddress;
 typedef deUint64 VkDeviceSize;
+typedef deUint32 VkFlags;
 typedef deUint32 VkSampleMask;
+VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer)
+VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage)
 VK_DEFINE_HANDLE(VkInstance)
 VK_DEFINE_HANDLE(VkPhysicalDevice)
 VK_DEFINE_HANDLE(VkDevice)
@@ -79,8 +72,6 @@ VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphore)
 VK_DEFINE_HANDLE(VkCommandBuffer)
 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFence)
 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeviceMemory)
-VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer)
-VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage)
 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkEvent)
 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkQueryPool)
 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferView)
@@ -88,35 +79,30 @@ VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImageView)
 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderModule)
 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache)
 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineLayout)
-VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass)
 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipeline)
+VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass)
 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout)
 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSampler)
-VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool)
 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSet)
+VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool)
 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer)
 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool)
-#define VK_LOD_CLAMP_NONE                 1000.0f
-#define VK_REMAINING_MIP_LEVELS           (~0U)
-#define VK_REMAINING_ARRAY_LAYERS         (~0U)
-#define VK_WHOLE_SIZE                     (~0ULL)
 #define VK_ATTACHMENT_UNUSED              (~0U)
-#define VK_TRUE                           1
 #define VK_FALSE                          0
+#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_MAX_PHYSICAL_DEVICE_NAME_SIZE  256
-#define VK_UUID_SIZE                      16
+#define VK_TRUE                           1
+#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
 
-typedef enum VkPipelineCacheHeaderVersion {
-    VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1,
-    VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF
-} VkPipelineCacheHeaderVersion;
-
 typedef enum VkResult {
     VK_SUCCESS = 0,
     VK_NOT_READY = 1,
@@ -606,6 +592,7 @@ typedef enum VkStructureType {
     VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV = 1000300001,
     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_DIRECTFB_SURFACE_CREATE_INFO_EXT = 1000346000,
     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,
@@ -725,6 +712,96 @@ typedef enum VkStructureType {
     VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF
 } VkStructureType;
 
+typedef enum VkImageLayout {
+    VK_IMAGE_LAYOUT_UNDEFINED = 0,
+    VK_IMAGE_LAYOUT_GENERAL = 1,
+    VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2,
+    VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3,
+    VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4,
+    VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5,
+    VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6,
+    VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7,
+    VK_IMAGE_LAYOUT_PREINITIALIZED = 8,
+    VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL = 1000117000,
+    VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL = 1000117001,
+    VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL = 1000241000,
+    VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL = 1000241001,
+    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_SHARED_PRESENT_KHR = 1000111000,
+    VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = 1000164003,
+    VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000,
+    VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,
+    VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,
+    VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
+    VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
+    VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL,
+    VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL,
+    VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF
+} VkImageLayout;
+
+typedef enum VkObjectType {
+    VK_OBJECT_TYPE_UNKNOWN = 0,
+    VK_OBJECT_TYPE_INSTANCE = 1,
+    VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2,
+    VK_OBJECT_TYPE_DEVICE = 3,
+    VK_OBJECT_TYPE_QUEUE = 4,
+    VK_OBJECT_TYPE_SEMAPHORE = 5,
+    VK_OBJECT_TYPE_COMMAND_BUFFER = 6,
+    VK_OBJECT_TYPE_FENCE = 7,
+    VK_OBJECT_TYPE_DEVICE_MEMORY = 8,
+    VK_OBJECT_TYPE_BUFFER = 9,
+    VK_OBJECT_TYPE_IMAGE = 10,
+    VK_OBJECT_TYPE_EVENT = 11,
+    VK_OBJECT_TYPE_QUERY_POOL = 12,
+    VK_OBJECT_TYPE_BUFFER_VIEW = 13,
+    VK_OBJECT_TYPE_IMAGE_VIEW = 14,
+    VK_OBJECT_TYPE_SHADER_MODULE = 15,
+    VK_OBJECT_TYPE_PIPELINE_CACHE = 16,
+    VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17,
+    VK_OBJECT_TYPE_RENDER_PASS = 18,
+    VK_OBJECT_TYPE_PIPELINE = 19,
+    VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20,
+    VK_OBJECT_TYPE_SAMPLER = 21,
+    VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22,
+    VK_OBJECT_TYPE_DESCRIPTOR_SET = 23,
+    VK_OBJECT_TYPE_FRAMEBUFFER = 24,
+    VK_OBJECT_TYPE_COMMAND_POOL = 25,
+    VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION = 1000156000,
+    VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE = 1000085000,
+    VK_OBJECT_TYPE_SURFACE_KHR = 1000000000,
+    VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000,
+    VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000,
+    VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001,
+    VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000,
+    VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000,
+    VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR = 1000165000,
+    VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000,
+    VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL = 1000210000,
+    VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR = 1000268000,
+    VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV = 1000277000,
+    VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = 1000295000,
+    VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,
+    VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,
+    VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV = VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR,
+    VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF
+} VkObjectType;
+
+typedef enum VkVendorId {
+    VK_VENDOR_ID_VIV = 0x10001,
+    VK_VENDOR_ID_VSI = 0x10002,
+    VK_VENDOR_ID_KAZAN = 0x10003,
+    VK_VENDOR_ID_CODEPLAY = 0x10004,
+    VK_VENDOR_ID_MESA = 0x10005,
+    VK_VENDOR_ID_MAX_ENUM = 0x7FFFFFFF
+} VkVendorId;
+
+typedef enum VkPipelineCacheHeaderVersion {
+    VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1,
+    VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF
+} VkPipelineCacheHeaderVersion;
+
 typedef enum VkSystemAllocationScope {
     VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0,
     VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1,
@@ -1018,13 +1095,6 @@ typedef enum VkFormat {
     VK_FORMAT_MAX_ENUM = 0x7FFFFFFF
 } VkFormat;
 
-typedef enum VkImageType {
-    VK_IMAGE_TYPE_1D = 0,
-    VK_IMAGE_TYPE_2D = 1,
-    VK_IMAGE_TYPE_3D = 2,
-    VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF
-} VkImageType;
-
 typedef enum VkImageTiling {
     VK_IMAGE_TILING_OPTIMAL = 0,
     VK_IMAGE_TILING_LINEAR = 1,
@@ -1032,6 +1102,13 @@ typedef enum VkImageTiling {
     VK_IMAGE_TILING_MAX_ENUM = 0x7FFFFFFF
 } VkImageTiling;
 
+typedef enum VkImageType {
+    VK_IMAGE_TYPE_1D = 0,
+    VK_IMAGE_TYPE_2D = 1,
+    VK_IMAGE_TYPE_3D = 2,
+    VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF
+} VkImageType;
+
 typedef enum VkPhysicalDeviceType {
     VK_PHYSICAL_DEVICE_TYPE_OTHER = 0,
     VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1,
@@ -1060,34 +1137,16 @@ typedef enum VkSharingMode {
     VK_SHARING_MODE_MAX_ENUM = 0x7FFFFFFF
 } VkSharingMode;
 
-typedef enum VkImageLayout {
-    VK_IMAGE_LAYOUT_UNDEFINED = 0,
-    VK_IMAGE_LAYOUT_GENERAL = 1,
-    VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2,
-    VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3,
-    VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4,
-    VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5,
-    VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6,
-    VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7,
-    VK_IMAGE_LAYOUT_PREINITIALIZED = 8,
-    VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL = 1000117000,
-    VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL = 1000117001,
-    VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL = 1000241000,
-    VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL = 1000241001,
-    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_SHARED_PRESENT_KHR = 1000111000,
-    VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = 1000164003,
-    VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000,
-    VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,
-    VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,
-    VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
-    VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
-    VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL,
-    VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL,
-    VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF
-} VkImageLayout;
+typedef enum VkComponentSwizzle {
+    VK_COMPONENT_SWIZZLE_IDENTITY = 0,
+    VK_COMPONENT_SWIZZLE_ZERO = 1,
+    VK_COMPONENT_SWIZZLE_ONE = 2,
+    VK_COMPONENT_SWIZZLE_R = 3,
+    VK_COMPONENT_SWIZZLE_G = 4,
+    VK_COMPONENT_SWIZZLE_B = 5,
+    VK_COMPONENT_SWIZZLE_A = 6,
+    VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF
+} VkComponentSwizzle;
 
 typedef enum VkImageViewType {
     VK_IMAGE_VIEW_TYPE_1D = 0,
@@ -1100,118 +1159,28 @@ typedef enum VkImageViewType {
     VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7FFFFFFF
 } VkImageViewType;
 
-typedef enum VkComponentSwizzle {
-    VK_COMPONENT_SWIZZLE_IDENTITY = 0,
-    VK_COMPONENT_SWIZZLE_ZERO = 1,
-    VK_COMPONENT_SWIZZLE_ONE = 2,
-    VK_COMPONENT_SWIZZLE_R = 3,
-    VK_COMPONENT_SWIZZLE_G = 4,
-    VK_COMPONENT_SWIZZLE_B = 5,
-    VK_COMPONENT_SWIZZLE_A = 6,
-    VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF
-} VkComponentSwizzle;
-
-typedef enum VkVertexInputRate {
-    VK_VERTEX_INPUT_RATE_VERTEX = 0,
-    VK_VERTEX_INPUT_RATE_INSTANCE = 1,
-    VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF
-} VkVertexInputRate;
-
-typedef enum VkPrimitiveTopology {
-    VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0,
-    VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1,
-    VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2,
-    VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3,
-    VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4,
-    VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5,
-    VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6,
-    VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7,
-    VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8,
-    VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9,
-    VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10,
-    VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7FFFFFFF
-} VkPrimitiveTopology;
-
-typedef enum VkPolygonMode {
-    VK_POLYGON_MODE_FILL = 0,
-    VK_POLYGON_MODE_LINE = 1,
-    VK_POLYGON_MODE_POINT = 2,
-    VK_POLYGON_MODE_FILL_RECTANGLE_NV = 1000153000,
-    VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF
-} VkPolygonMode;
-
-typedef enum VkFrontFace {
-    VK_FRONT_FACE_COUNTER_CLOCKWISE = 0,
-    VK_FRONT_FACE_CLOCKWISE = 1,
-    VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF
-} VkFrontFace;
-
-typedef enum VkCompareOp {
-    VK_COMPARE_OP_NEVER = 0,
-    VK_COMPARE_OP_LESS = 1,
-    VK_COMPARE_OP_EQUAL = 2,
-    VK_COMPARE_OP_LESS_OR_EQUAL = 3,
-    VK_COMPARE_OP_GREATER = 4,
-    VK_COMPARE_OP_NOT_EQUAL = 5,
-    VK_COMPARE_OP_GREATER_OR_EQUAL = 6,
-    VK_COMPARE_OP_ALWAYS = 7,
-    VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF
-} VkCompareOp;
-
-typedef enum VkStencilOp {
-    VK_STENCIL_OP_KEEP = 0,
-    VK_STENCIL_OP_ZERO = 1,
-    VK_STENCIL_OP_REPLACE = 2,
-    VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3,
-    VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4,
-    VK_STENCIL_OP_INVERT = 5,
-    VK_STENCIL_OP_INCREMENT_AND_WRAP = 6,
-    VK_STENCIL_OP_DECREMENT_AND_WRAP = 7,
-    VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF
-} VkStencilOp;
-
-typedef enum VkLogicOp {
-    VK_LOGIC_OP_CLEAR = 0,
-    VK_LOGIC_OP_AND = 1,
-    VK_LOGIC_OP_AND_REVERSE = 2,
-    VK_LOGIC_OP_COPY = 3,
-    VK_LOGIC_OP_AND_INVERTED = 4,
-    VK_LOGIC_OP_NO_OP = 5,
-    VK_LOGIC_OP_XOR = 6,
-    VK_LOGIC_OP_OR = 7,
-    VK_LOGIC_OP_NOR = 8,
-    VK_LOGIC_OP_EQUIVALENT = 9,
-    VK_LOGIC_OP_INVERT = 10,
-    VK_LOGIC_OP_OR_REVERSE = 11,
-    VK_LOGIC_OP_COPY_INVERTED = 12,
-    VK_LOGIC_OP_OR_INVERTED = 13,
-    VK_LOGIC_OP_NAND = 14,
-    VK_LOGIC_OP_SET = 15,
-    VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF
-} VkLogicOp;
-
-typedef enum VkBlendFactor {
-    VK_BLEND_FACTOR_ZERO = 0,
-    VK_BLEND_FACTOR_ONE = 1,
-    VK_BLEND_FACTOR_SRC_COLOR = 2,
-    VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3,
-    VK_BLEND_FACTOR_DST_COLOR = 4,
-    VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5,
-    VK_BLEND_FACTOR_SRC_ALPHA = 6,
-    VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7,
-    VK_BLEND_FACTOR_DST_ALPHA = 8,
-    VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9,
-    VK_BLEND_FACTOR_CONSTANT_COLOR = 10,
-    VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11,
-    VK_BLEND_FACTOR_CONSTANT_ALPHA = 12,
-    VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13,
-    VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14,
-    VK_BLEND_FACTOR_SRC1_COLOR = 15,
-    VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16,
-    VK_BLEND_FACTOR_SRC1_ALPHA = 17,
-    VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18,
-    VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF
-} VkBlendFactor;
+typedef enum VkBlendFactor {
+    VK_BLEND_FACTOR_ZERO = 0,
+    VK_BLEND_FACTOR_ONE = 1,
+    VK_BLEND_FACTOR_SRC_COLOR = 2,
+    VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3,
+    VK_BLEND_FACTOR_DST_COLOR = 4,
+    VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5,
+    VK_BLEND_FACTOR_SRC_ALPHA = 6,
+    VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7,
+    VK_BLEND_FACTOR_DST_ALPHA = 8,
+    VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9,
+    VK_BLEND_FACTOR_CONSTANT_COLOR = 10,
+    VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11,
+    VK_BLEND_FACTOR_CONSTANT_ALPHA = 12,
+    VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13,
+    VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14,
+    VK_BLEND_FACTOR_SRC1_COLOR = 15,
+    VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16,
+    VK_BLEND_FACTOR_SRC1_ALPHA = 17,
+    VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18,
+    VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF
+} VkBlendFactor;
 
 typedef enum VkBlendOp {
     VK_BLEND_OP_ADD = 0,
@@ -1268,6 +1237,18 @@ typedef enum VkBlendOp {
     VK_BLEND_OP_MAX_ENUM = 0x7FFFFFFF
 } VkBlendOp;
 
+typedef enum VkCompareOp {
+    VK_COMPARE_OP_NEVER = 0,
+    VK_COMPARE_OP_LESS = 1,
+    VK_COMPARE_OP_EQUAL = 2,
+    VK_COMPARE_OP_LESS_OR_EQUAL = 3,
+    VK_COMPARE_OP_GREATER = 4,
+    VK_COMPARE_OP_NOT_EQUAL = 5,
+    VK_COMPARE_OP_GREATER_OR_EQUAL = 6,
+    VK_COMPARE_OP_ALWAYS = 7,
+    VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF
+} VkCompareOp;
+
 typedef enum VkDynamicState {
     VK_DYNAMIC_STATE_VIEWPORT = 0,
     VK_DYNAMIC_STATE_SCISSOR = 1,
@@ -1300,6 +1281,85 @@ typedef enum VkDynamicState {
     VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF
 } VkDynamicState;
 
+typedef enum VkFrontFace {
+    VK_FRONT_FACE_COUNTER_CLOCKWISE = 0,
+    VK_FRONT_FACE_CLOCKWISE = 1,
+    VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF
+} VkFrontFace;
+
+typedef enum VkVertexInputRate {
+    VK_VERTEX_INPUT_RATE_VERTEX = 0,
+    VK_VERTEX_INPUT_RATE_INSTANCE = 1,
+    VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF
+} VkVertexInputRate;
+
+typedef enum VkPrimitiveTopology {
+    VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0,
+    VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1,
+    VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2,
+    VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3,
+    VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4,
+    VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5,
+    VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6,
+    VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7,
+    VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8,
+    VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9,
+    VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10,
+    VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7FFFFFFF
+} VkPrimitiveTopology;
+
+typedef enum VkPolygonMode {
+    VK_POLYGON_MODE_FILL = 0,
+    VK_POLYGON_MODE_LINE = 1,
+    VK_POLYGON_MODE_POINT = 2,
+    VK_POLYGON_MODE_FILL_RECTANGLE_NV = 1000153000,
+    VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF
+} VkPolygonMode;
+
+typedef enum VkStencilOp {
+    VK_STENCIL_OP_KEEP = 0,
+    VK_STENCIL_OP_ZERO = 1,
+    VK_STENCIL_OP_REPLACE = 2,
+    VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3,
+    VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4,
+    VK_STENCIL_OP_INVERT = 5,
+    VK_STENCIL_OP_INCREMENT_AND_WRAP = 6,
+    VK_STENCIL_OP_DECREMENT_AND_WRAP = 7,
+    VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF
+} VkStencilOp;
+
+typedef enum VkLogicOp {
+    VK_LOGIC_OP_CLEAR = 0,
+    VK_LOGIC_OP_AND = 1,
+    VK_LOGIC_OP_AND_REVERSE = 2,
+    VK_LOGIC_OP_COPY = 3,
+    VK_LOGIC_OP_AND_INVERTED = 4,
+    VK_LOGIC_OP_NO_OP = 5,
+    VK_LOGIC_OP_XOR = 6,
+    VK_LOGIC_OP_OR = 7,
+    VK_LOGIC_OP_NOR = 8,
+    VK_LOGIC_OP_EQUIVALENT = 9,
+    VK_LOGIC_OP_INVERT = 10,
+    VK_LOGIC_OP_OR_REVERSE = 11,
+    VK_LOGIC_OP_COPY_INVERTED = 12,
+    VK_LOGIC_OP_OR_INVERTED = 13,
+    VK_LOGIC_OP_NAND = 14,
+    VK_LOGIC_OP_SET = 15,
+    VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF
+} VkLogicOp;
+
+typedef enum VkBorderColor {
+    VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0,
+    VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1,
+    VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2,
+    VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3,
+    VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4,
+    VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5,
+    VK_BORDER_COLOR_FLOAT_CUSTOM_EXT = 1000287003,
+    VK_BORDER_COLOR_INT_CUSTOM_EXT = 1000287004,
+    VK_BORDER_COLOR_MAX_ENUM = 0x7FFFFFFF
+} VkBorderColor;
+
 typedef enum VkFilter {
     VK_FILTER_NEAREST = 0,
     VK_FILTER_LINEAR = 1,
@@ -1308,12 +1368,6 @@ typedef enum VkFilter {
     VK_FILTER_MAX_ENUM = 0x7FFFFFFF
 } VkFilter;
 
-typedef enum VkSamplerMipmapMode {
-    VK_SAMPLER_MIPMAP_MODE_NEAREST = 0,
-    VK_SAMPLER_MIPMAP_MODE_LINEAR = 1,
-    VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF
-} VkSamplerMipmapMode;
-
 typedef enum VkSamplerAddressMode {
     VK_SAMPLER_ADDRESS_MODE_REPEAT = 0,
     VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1,
@@ -1324,17 +1378,11 @@ typedef enum VkSamplerAddressMode {
     VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = 0x7FFFFFFF
 } VkSamplerAddressMode;
 
-typedef enum VkBorderColor {
-    VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0,
-    VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1,
-    VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2,
-    VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3,
-    VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4,
-    VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5,
-    VK_BORDER_COLOR_FLOAT_CUSTOM_EXT = 1000287003,
-    VK_BORDER_COLOR_INT_CUSTOM_EXT = 1000287004,
-    VK_BORDER_COLOR_MAX_ENUM = 0x7FFFFFFF
-} VkBorderColor;
+typedef enum VkSamplerMipmapMode {
+    VK_SAMPLER_MIPMAP_MODE_NEAREST = 0,
+    VK_SAMPLER_MIPMAP_MODE_LINEAR = 1,
+    VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF
+} VkSamplerMipmapMode;
 
 typedef enum VkDescriptorType {
     VK_DESCRIPTOR_TYPE_SAMPLER = 0,
@@ -1397,62 +1445,59 @@ typedef enum VkSubpassContents {
     VK_SUBPASS_CONTENTS_MAX_ENUM = 0x7FFFFFFF
 } VkSubpassContents;
 
-typedef enum VkObjectType {
-    VK_OBJECT_TYPE_UNKNOWN = 0,
-    VK_OBJECT_TYPE_INSTANCE = 1,
-    VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2,
-    VK_OBJECT_TYPE_DEVICE = 3,
-    VK_OBJECT_TYPE_QUEUE = 4,
-    VK_OBJECT_TYPE_SEMAPHORE = 5,
-    VK_OBJECT_TYPE_COMMAND_BUFFER = 6,
-    VK_OBJECT_TYPE_FENCE = 7,
-    VK_OBJECT_TYPE_DEVICE_MEMORY = 8,
-    VK_OBJECT_TYPE_BUFFER = 9,
-    VK_OBJECT_TYPE_IMAGE = 10,
-    VK_OBJECT_TYPE_EVENT = 11,
-    VK_OBJECT_TYPE_QUERY_POOL = 12,
-    VK_OBJECT_TYPE_BUFFER_VIEW = 13,
-    VK_OBJECT_TYPE_IMAGE_VIEW = 14,
-    VK_OBJECT_TYPE_SHADER_MODULE = 15,
-    VK_OBJECT_TYPE_PIPELINE_CACHE = 16,
-    VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17,
-    VK_OBJECT_TYPE_RENDER_PASS = 18,
-    VK_OBJECT_TYPE_PIPELINE = 19,
-    VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20,
-    VK_OBJECT_TYPE_SAMPLER = 21,
-    VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22,
-    VK_OBJECT_TYPE_DESCRIPTOR_SET = 23,
-    VK_OBJECT_TYPE_FRAMEBUFFER = 24,
-    VK_OBJECT_TYPE_COMMAND_POOL = 25,
-    VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION = 1000156000,
-    VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE = 1000085000,
-    VK_OBJECT_TYPE_SURFACE_KHR = 1000000000,
-    VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000,
-    VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000,
-    VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001,
-    VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000,
-    VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000,
-    VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR = 1000165000,
-    VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000,
-    VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL = 1000210000,
-    VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR = 1000268000,
-    VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV = 1000277000,
-    VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = 1000295000,
-    VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,
-    VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,
-    VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV = VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR,
-    VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF
-} VkObjectType;
+typedef enum VkAccessFlagBits {
+    VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001,
+    VK_ACCESS_INDEX_READ_BIT = 0x00000002,
+    VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004,
+    VK_ACCESS_UNIFORM_READ_BIT = 0x00000008,
+    VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 0x00000010,
+    VK_ACCESS_SHADER_READ_BIT = 0x00000020,
+    VK_ACCESS_SHADER_WRITE_BIT = 0x00000040,
+    VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 0x00000080,
+    VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100,
+    VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200,
+    VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400,
+    VK_ACCESS_TRANSFER_READ_BIT = 0x00000800,
+    VK_ACCESS_TRANSFER_WRITE_BIT = 0x00001000,
+    VK_ACCESS_HOST_READ_BIT = 0x00002000,
+    VK_ACCESS_HOST_WRITE_BIT = 0x00004000,
+    VK_ACCESS_MEMORY_READ_BIT = 0x00008000,
+    VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000,
+    VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000,
+    VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000,
+    VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000,
+    VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000,
+    VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000,
+    VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000,
+    VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000,
+    VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000,
+    VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000,
+    VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000,
+    VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000,
+    VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR,
+    VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,
+    VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
+} VkAccessFlagBits;
+typedef VkFlags VkAccessFlags;
 
-typedef enum VkVendorId {
-    VK_VENDOR_ID_VIV = 0x10001,
-    VK_VENDOR_ID_VSI = 0x10002,
-    VK_VENDOR_ID_KAZAN = 0x10003,
-    VK_VENDOR_ID_CODEPLAY = 0x10004,
-    VK_VENDOR_ID_MESA = 0x10005,
-    VK_VENDOR_ID_MAX_ENUM = 0x7FFFFFFF
-} VkVendorId;
-typedef VkFlags VkInstanceCreateFlags;
+typedef enum VkImageAspectFlagBits {
+    VK_IMAGE_ASPECT_COLOR_BIT = 0x00000001,
+    VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002,
+    VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004,
+    VK_IMAGE_ASPECT_METADATA_BIT = 0x00000008,
+    VK_IMAGE_ASPECT_PLANE_0_BIT = 0x00000010,
+    VK_IMAGE_ASPECT_PLANE_1_BIT = 0x00000020,
+    VK_IMAGE_ASPECT_PLANE_2_BIT = 0x00000040,
+    VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 0x00000080,
+    VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 0x00000100,
+    VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 0x00000200,
+    VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = 0x00000400,
+    VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = VK_IMAGE_ASPECT_PLANE_0_BIT,
+    VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = VK_IMAGE_ASPECT_PLANE_1_BIT,
+    VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = VK_IMAGE_ASPECT_PLANE_2_BIT,
+    VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
+} VkImageAspectFlagBits;
+typedef VkFlags VkImageAspectFlags;
 
 typedef enum VkFormatFeatureFlagBits {
     VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 0x00000001,
@@ -1496,21 +1541,6 @@ typedef enum VkFormatFeatureFlagBits {
 } VkFormatFeatureFlagBits;
 typedef VkFlags VkFormatFeatureFlags;
 
-typedef enum VkImageUsageFlagBits {
-    VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 0x00000001,
-    VK_IMAGE_USAGE_TRANSFER_DST_BIT = 0x00000002,
-    VK_IMAGE_USAGE_SAMPLED_BIT = 0x00000004,
-    VK_IMAGE_USAGE_STORAGE_BIT = 0x00000008,
-    VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000010,
-    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_SHADING_RATE_IMAGE_BIT_NV = 0x00000100,
-    VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x00000200,
-    VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
-} VkImageUsageFlagBits;
-typedef VkFlags VkImageUsageFlags;
-
 typedef enum VkImageCreateFlagBits {
     VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 0x00000001,
     VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
@@ -1549,15 +1579,29 @@ typedef enum VkSampleCountFlagBits {
 } VkSampleCountFlagBits;
 typedef VkFlags VkSampleCountFlags;
 
-typedef 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
-} VkQueueFlagBits;
-typedef VkFlags VkQueueFlags;
+typedef enum VkImageUsageFlagBits {
+    VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 0x00000001,
+    VK_IMAGE_USAGE_TRANSFER_DST_BIT = 0x00000002,
+    VK_IMAGE_USAGE_SAMPLED_BIT = 0x00000004,
+    VK_IMAGE_USAGE_STORAGE_BIT = 0x00000008,
+    VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000010,
+    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_SHADING_RATE_IMAGE_BIT_NV = 0x00000100,
+    VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x00000200,
+    VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
+} VkImageUsageFlagBits;
+typedef VkFlags VkImageUsageFlags;
+typedef VkFlags VkInstanceCreateFlags;
+
+typedef enum VkMemoryHeapFlagBits {
+    VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0x00000001,
+    VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = 0x00000002,
+    VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT,
+    VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
+} VkMemoryHeapFlagBits;
+typedef VkFlags VkMemoryHeapFlags;
 
 typedef enum VkMemoryPropertyFlagBits {
     VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 0x00000001,
@@ -1572,13 +1616,15 @@ typedef enum VkMemoryPropertyFlagBits {
 } VkMemoryPropertyFlagBits;
 typedef VkFlags VkMemoryPropertyFlags;
 
-typedef enum VkMemoryHeapFlagBits {
-    VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0x00000001,
-    VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = 0x00000002,
-    VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT,
-    VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
-} VkMemoryHeapFlagBits;
-typedef VkFlags VkMemoryHeapFlags;
+typedef 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
+} VkQueueFlagBits;
+typedef VkFlags VkQueueFlags;
 typedef VkFlags VkDeviceCreateFlags;
 
 typedef enum VkDeviceQueueCreateFlagBits {
@@ -1621,24 +1667,11 @@ typedef enum VkPipelineStageFlagBits {
 typedef VkFlags VkPipelineStageFlags;
 typedef VkFlags VkMemoryMapFlags;
 
-typedef enum VkImageAspectFlagBits {
-    VK_IMAGE_ASPECT_COLOR_BIT = 0x00000001,
-    VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002,
-    VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004,
-    VK_IMAGE_ASPECT_METADATA_BIT = 0x00000008,
-    VK_IMAGE_ASPECT_PLANE_0_BIT = 0x00000010,
-    VK_IMAGE_ASPECT_PLANE_1_BIT = 0x00000020,
-    VK_IMAGE_ASPECT_PLANE_2_BIT = 0x00000040,
-    VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 0x00000080,
-    VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 0x00000100,
-    VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 0x00000200,
-    VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = 0x00000400,
-    VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = VK_IMAGE_ASPECT_PLANE_0_BIT,
-    VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = VK_IMAGE_ASPECT_PLANE_1_BIT,
-    VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = VK_IMAGE_ASPECT_PLANE_2_BIT,
-    VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
-} VkImageAspectFlagBits;
-typedef VkFlags VkImageAspectFlags;
+typedef enum VkSparseMemoryBindFlagBits {
+    VK_SPARSE_MEMORY_BIND_METADATA_BIT = 0x00000001,
+    VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
+} VkSparseMemoryBindFlagBits;
+typedef VkFlags VkSparseMemoryBindFlags;
 
 typedef enum VkSparseImageFormatFlagBits {
     VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 0x00000001,
@@ -1648,12 +1681,6 @@ typedef enum VkSparseImageFormatFlagBits {
 } VkSparseImageFormatFlagBits;
 typedef VkFlags VkSparseImageFormatFlags;
 
-typedef enum VkSparseMemoryBindFlagBits {
-    VK_SPARSE_MEMORY_BIND_METADATA_BIT = 0x00000001,
-    VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
-} VkSparseMemoryBindFlagBits;
-typedef VkFlags VkSparseMemoryBindFlags;
-
 typedef enum VkFenceCreateFlagBits {
     VK_FENCE_CREATE_SIGNALED_BIT = 0x00000001,
     VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
@@ -1661,7 +1688,6 @@ typedef enum VkFenceCreateFlagBits {
 typedef VkFlags VkFenceCreateFlags;
 typedef VkFlags VkSemaphoreCreateFlags;
 typedef VkFlags VkEventCreateFlags;
-typedef VkFlags VkQueryPoolCreateFlags;
 
 typedef enum VkQueryPipelineStatisticFlagBits {
     VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 0x00000001,
@@ -1678,6 +1704,7 @@ typedef enum VkQueryPipelineStatisticFlagBits {
     VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
 } VkQueryPipelineStatisticFlagBits;
 typedef VkFlags VkQueryPipelineStatisticFlags;
+typedef VkFlags VkQueryPoolCreateFlags;
 
 typedef enum VkQueryResultFlagBits {
     VK_QUERY_RESULT_64_BIT = 0x00000001,
@@ -1741,6 +1768,15 @@ typedef enum VkPipelineCacheCreateFlagBits {
 } VkPipelineCacheCreateFlagBits;
 typedef VkFlags VkPipelineCacheCreateFlags;
 
+typedef enum VkColorComponentFlagBits {
+    VK_COLOR_COMPONENT_R_BIT = 0x00000001,
+    VK_COLOR_COMPONENT_G_BIT = 0x00000002,
+    VK_COLOR_COMPONENT_B_BIT = 0x00000004,
+    VK_COLOR_COMPONENT_A_BIT = 0x00000008,
+    VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
+} VkColorComponentFlagBits;
+typedef VkFlags VkColorComponentFlags;
+
 typedef enum VkPipelineCreateFlagBits {
     VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0x00000001,
     VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 0x00000002,
@@ -1799,11 +1835,6 @@ typedef enum VkShaderStageFlagBits {
     VK_SHADER_STAGE_CALLABLE_BIT_NV = VK_SHADER_STAGE_CALLABLE_BIT_KHR,
     VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
 } VkShaderStageFlagBits;
-typedef VkFlags VkPipelineVertexInputStateCreateFlags;
-typedef VkFlags VkPipelineInputAssemblyStateCreateFlags;
-typedef VkFlags VkPipelineTessellationStateCreateFlags;
-typedef VkFlags VkPipelineViewportStateCreateFlags;
-typedef VkFlags VkPipelineRasterizationStateCreateFlags;
 
 typedef enum VkCullModeFlagBits {
     VK_CULL_MODE_NONE = 0,
@@ -1813,18 +1844,14 @@ typedef enum VkCullModeFlagBits {
     VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
 } VkCullModeFlagBits;
 typedef VkFlags VkCullModeFlags;
+typedef VkFlags VkPipelineVertexInputStateCreateFlags;
+typedef VkFlags VkPipelineInputAssemblyStateCreateFlags;
+typedef VkFlags VkPipelineTessellationStateCreateFlags;
+typedef VkFlags VkPipelineViewportStateCreateFlags;
+typedef VkFlags VkPipelineRasterizationStateCreateFlags;
 typedef VkFlags VkPipelineMultisampleStateCreateFlags;
 typedef VkFlags VkPipelineDepthStencilStateCreateFlags;
 typedef VkFlags VkPipelineColorBlendStateCreateFlags;
-
-typedef enum VkColorComponentFlagBits {
-    VK_COLOR_COMPONENT_R_BIT = 0x00000001,
-    VK_COLOR_COMPONENT_G_BIT = 0x00000002,
-    VK_COLOR_COMPONENT_B_BIT = 0x00000004,
-    VK_COLOR_COMPONENT_A_BIT = 0x00000008,
-    VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
-} VkColorComponentFlagBits;
-typedef VkFlags VkColorComponentFlags;
 typedef VkFlags VkPipelineDynamicStateCreateFlags;
 typedef VkFlags VkPipelineLayoutCreateFlags;
 typedef VkFlags VkShaderStageFlags;
@@ -1836,14 +1863,6 @@ typedef enum VkSamplerCreateFlagBits {
 } VkSamplerCreateFlagBits;
 typedef VkFlags VkSamplerCreateFlags;
 
-typedef enum VkDescriptorSetLayoutCreateFlagBits {
-    VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT = 0x00000002,
-    VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = 0x00000001,
-    VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT,
-    VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
-} VkDescriptorSetLayoutCreateFlagBits;
-typedef VkFlags VkDescriptorSetLayoutCreateFlags;
-
 typedef enum VkDescriptorPoolCreateFlagBits {
     VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001,
     VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT = 0x00000002,
@@ -1853,6 +1872,30 @@ typedef enum VkDescriptorPoolCreateFlagBits {
 typedef VkFlags VkDescriptorPoolCreateFlags;
 typedef VkFlags VkDescriptorPoolResetFlags;
 
+typedef enum VkDescriptorSetLayoutCreateFlagBits {
+    VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT = 0x00000002,
+    VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = 0x00000001,
+    VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT,
+    VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
+} VkDescriptorSetLayoutCreateFlagBits;
+typedef VkFlags VkDescriptorSetLayoutCreateFlags;
+
+typedef enum VkAttachmentDescriptionFlagBits {
+    VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001,
+    VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
+} VkAttachmentDescriptionFlagBits;
+typedef VkFlags VkAttachmentDescriptionFlags;
+
+typedef enum VkDependencyFlagBits {
+    VK_DEPENDENCY_BY_REGION_BIT = 0x00000001,
+    VK_DEPENDENCY_DEVICE_GROUP_BIT = 0x00000004,
+    VK_DEPENDENCY_VIEW_LOCAL_BIT = 0x00000002,
+    VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR = VK_DEPENDENCY_VIEW_LOCAL_BIT,
+    VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR = VK_DEPENDENCY_DEVICE_GROUP_BIT,
+    VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
+} VkDependencyFlagBits;
+typedef VkFlags VkDependencyFlags;
+
 typedef enum VkFramebufferCreateFlagBits {
     VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT = 0x00000001,
     VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR = VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT,
@@ -1866,12 +1909,6 @@ typedef enum VkRenderPassCreateFlagBits {
 } VkRenderPassCreateFlagBits;
 typedef VkFlags VkRenderPassCreateFlags;
 
-typedef enum VkAttachmentDescriptionFlagBits {
-    VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001,
-    VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
-} VkAttachmentDescriptionFlagBits;
-typedef VkFlags VkAttachmentDescriptionFlags;
-
 typedef enum VkSubpassDescriptionFlagBits {
     VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX = 0x00000001,
     VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 0x00000002,
@@ -1881,51 +1918,6 @@ typedef enum VkSubpassDescriptionFlagBits {
 } VkSubpassDescriptionFlagBits;
 typedef VkFlags VkSubpassDescriptionFlags;
 
-typedef enum VkAccessFlagBits {
-    VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001,
-    VK_ACCESS_INDEX_READ_BIT = 0x00000002,
-    VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004,
-    VK_ACCESS_UNIFORM_READ_BIT = 0x00000008,
-    VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 0x00000010,
-    VK_ACCESS_SHADER_READ_BIT = 0x00000020,
-    VK_ACCESS_SHADER_WRITE_BIT = 0x00000040,
-    VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 0x00000080,
-    VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100,
-    VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200,
-    VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400,
-    VK_ACCESS_TRANSFER_READ_BIT = 0x00000800,
-    VK_ACCESS_TRANSFER_WRITE_BIT = 0x00001000,
-    VK_ACCESS_HOST_READ_BIT = 0x00002000,
-    VK_ACCESS_HOST_WRITE_BIT = 0x00004000,
-    VK_ACCESS_MEMORY_READ_BIT = 0x00008000,
-    VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000,
-    VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000,
-    VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000,
-    VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000,
-    VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000,
-    VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000,
-    VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000,
-    VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000,
-    VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000,
-    VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000,
-    VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000,
-    VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000,
-    VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR,
-    VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,
-    VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
-} VkAccessFlagBits;
-typedef VkFlags VkAccessFlags;
-
-typedef enum VkDependencyFlagBits {
-    VK_DEPENDENCY_BY_REGION_BIT = 0x00000001,
-    VK_DEPENDENCY_DEVICE_GROUP_BIT = 0x00000004,
-    VK_DEPENDENCY_VIEW_LOCAL_BIT = 0x00000002,
-    VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR = VK_DEPENDENCY_VIEW_LOCAL_BIT,
-    VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR = VK_DEPENDENCY_DEVICE_GROUP_BIT,
-    VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
-} VkDependencyFlagBits;
-typedef VkFlags VkDependencyFlags;
-
 typedef enum VkCommandPoolCreateFlagBits {
     VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 0x00000001,
     VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002,
@@ -1954,40 +1946,117 @@ typedef enum VkQueryControlFlagBits {
 } VkQueryControlFlagBits;
 typedef VkFlags VkQueryControlFlags;
 
-typedef enum VkCommandBufferResetFlagBits {
-    VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
-    VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
-} VkCommandBufferResetFlagBits;
-typedef VkFlags VkCommandBufferResetFlags;
+typedef enum VkCommandBufferResetFlagBits {
+    VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
+    VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
+} VkCommandBufferResetFlagBits;
+typedef VkFlags VkCommandBufferResetFlags;
+
+typedef enum VkStencilFaceFlagBits {
+    VK_STENCIL_FACE_FRONT_BIT = 0x00000001,
+    VK_STENCIL_FACE_BACK_BIT = 0x00000002,
+    VK_STENCIL_FACE_FRONT_AND_BACK = 0x00000003,
+    VK_STENCIL_FRONT_AND_BACK = VK_STENCIL_FACE_FRONT_AND_BACK,
+    VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
+} VkStencilFaceFlagBits;
+typedef VkFlags VkStencilFaceFlags;
+typedef struct VkExtent2D {
+    deUint32    width;
+    deUint32    height;
+} VkExtent2D;
+
+typedef struct VkExtent3D {
+    deUint32    width;
+    deUint32    height;
+    deUint32    depth;
+} VkExtent3D;
+
+typedef struct VkOffset2D {
+    deInt32    x;
+    deInt32    y;
+} VkOffset2D;
+
+typedef struct VkOffset3D {
+    deInt32    x;
+    deInt32    y;
+    deInt32    z;
+} VkOffset3D;
+
+typedef struct VkRect2D {
+    VkOffset2D    offset;
+    VkExtent2D    extent;
+} VkRect2D;
+
+typedef struct VkBaseInStructure {
+    VkStructureType                    sType;
+    const struct VkBaseInStructure*    pNext;
+} VkBaseInStructure;
+
+typedef struct VkBaseOutStructure {
+    VkStructureType               sType;
+    struct VkBaseOutStructure*    pNext;
+} VkBaseOutStructure;
+
+typedef struct VkBufferMemoryBarrier {
+    VkStructureType    sType;
+    const void*        pNext;
+    VkAccessFlags      srcAccessMask;
+    VkAccessFlags      dstAccessMask;
+    deUint32           srcQueueFamilyIndex;
+    deUint32           dstQueueFamilyIndex;
+    VkBuffer           buffer;
+    VkDeviceSize       offset;
+    VkDeviceSize       size;
+} VkBufferMemoryBarrier;
+
+typedef struct VkDispatchIndirectCommand {
+    deUint32    x;
+    deUint32    y;
+    deUint32    z;
+} VkDispatchIndirectCommand;
+
+typedef struct VkDrawIndexedIndirectCommand {
+    deUint32    indexCount;
+    deUint32    instanceCount;
+    deUint32    firstIndex;
+    deInt32     vertexOffset;
+    deUint32    firstInstance;
+} VkDrawIndexedIndirectCommand;
+
+typedef struct VkDrawIndirectCommand {
+    deUint32    vertexCount;
+    deUint32    instanceCount;
+    deUint32    firstVertex;
+    deUint32    firstInstance;
+} VkDrawIndirectCommand;
+
+typedef struct VkImageSubresourceRange {
+    VkImageAspectFlags    aspectMask;
+    deUint32              baseMipLevel;
+    deUint32              levelCount;
+    deUint32              baseArrayLayer;
+    deUint32              layerCount;
+} VkImageSubresourceRange;
 
-typedef enum VkStencilFaceFlagBits {
-    VK_STENCIL_FACE_FRONT_BIT = 0x00000001,
-    VK_STENCIL_FACE_BACK_BIT = 0x00000002,
-    VK_STENCIL_FACE_FRONT_AND_BACK = 0x00000003,
-    VK_STENCIL_FRONT_AND_BACK = VK_STENCIL_FACE_FRONT_AND_BACK,
-    VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
-} VkStencilFaceFlagBits;
-typedef VkFlags VkStencilFaceFlags;
-typedef struct VkApplicationInfo {
+typedef struct VkImageMemoryBarrier {
+    VkStructureType            sType;
+    const void*                pNext;
+    VkAccessFlags              srcAccessMask;
+    VkAccessFlags              dstAccessMask;
+    VkImageLayout              oldLayout;
+    VkImageLayout              newLayout;
+    deUint32                   srcQueueFamilyIndex;
+    deUint32                   dstQueueFamilyIndex;
+    VkImage                    image;
+    VkImageSubresourceRange    subresourceRange;
+} VkImageMemoryBarrier;
+
+typedef struct VkMemoryBarrier {
     VkStructureType    sType;
     const void*        pNext;
-    const char*        pApplicationName;
-    deUint32           applicationVersion;
-    const char*        pEngineName;
-    deUint32           engineVersion;
-    deUint32           apiVersion;
-} VkApplicationInfo;
-
-typedef struct VkInstanceCreateInfo {
-    VkStructureType             sType;
-    const void*                 pNext;
-    VkInstanceCreateFlags       flags;
-    const VkApplicationInfo*    pApplicationInfo;
-    deUint32                    enabledLayerCount;
-    const char* const*          ppEnabledLayerNames;
-    deUint32                    enabledExtensionCount;
-    const char* const*          ppEnabledExtensionNames;
-} VkInstanceCreateInfo;
+    VkAccessFlags      srcAccessMask;
+    VkAccessFlags      dstAccessMask;
+} VkMemoryBarrier;
 
 typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
     void*                                       pUserData,
@@ -1995,13 +2064,6 @@ typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
     deUintptr                                      alignment,
     VkSystemAllocationScope                     allocationScope);
 
-typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
-    void*                                       pUserData,
-    void*                                       pOriginal,
-    deUintptr                                      size,
-    deUintptr                                      alignment,
-    VkSystemAllocationScope                     allocationScope);
-
 typedef void (VKAPI_PTR *PFN_vkFreeFunction)(
     void*                                       pUserData,
     void*                                       pMemory);
@@ -2018,6 +2080,14 @@ typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(
     VkInternalAllocationType                    allocationType,
     VkSystemAllocationScope                     allocationScope);
 
+typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
+    void*                                       pUserData,
+    void*                                       pOriginal,
+    deUintptr                                      size,
+    deUintptr                                      alignment,
+    VkSystemAllocationScope                     allocationScope);
+
+typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
 typedef struct VkAllocationCallbacks {
     void*                                   pUserData;
     PFN_vkAllocationFunction                pfnAllocation;
@@ -2027,6 +2097,51 @@ typedef struct VkAllocationCallbacks {
     PFN_vkInternalFreeNotification          pfnInternalFree;
 } VkAllocationCallbacks;
 
+typedef struct VkApplicationInfo {
+    VkStructureType    sType;
+    const void*        pNext;
+    const char*        pApplicationName;
+    deUint32           applicationVersion;
+    const char*        pEngineName;
+    deUint32           engineVersion;
+    deUint32           apiVersion;
+} VkApplicationInfo;
+
+typedef struct VkFormatProperties {
+    VkFormatFeatureFlags    linearTilingFeatures;
+    VkFormatFeatureFlags    optimalTilingFeatures;
+    VkFormatFeatureFlags    bufferFeatures;
+} VkFormatProperties;
+
+typedef struct VkImageFormatProperties {
+    VkExtent3D            maxExtent;
+    deUint32              maxMipLevels;
+    deUint32              maxArrayLayers;
+    VkSampleCountFlags    sampleCounts;
+    VkDeviceSize          maxResourceSize;
+} VkImageFormatProperties;
+
+typedef struct VkInstanceCreateInfo {
+    VkStructureType             sType;
+    const void*                 pNext;
+    VkInstanceCreateFlags       flags;
+    const VkApplicationInfo*    pApplicationInfo;
+    deUint32                    enabledLayerCount;
+    const char* const*          ppEnabledLayerNames;
+    deUint32                    enabledExtensionCount;
+    const char* const*          ppEnabledExtensionNames;
+} VkInstanceCreateInfo;
+
+typedef struct VkMemoryHeap {
+    VkDeviceSize         size;
+    VkMemoryHeapFlags    flags;
+} VkMemoryHeap;
+
+typedef struct VkMemoryType {
+    VkMemoryPropertyFlags    propertyFlags;
+    deUint32                 heapIndex;
+} VkMemoryType;
+
 typedef struct VkPhysicalDeviceFeatures {
     VkBool32    robustBufferAccess;
     VkBool32    fullDrawIndexUint32;
@@ -2085,26 +2200,6 @@ typedef struct VkPhysicalDeviceFeatures {
     VkBool32    inheritedQueries;
 } VkPhysicalDeviceFeatures;
 
-typedef struct VkFormatProperties {
-    VkFormatFeatureFlags    linearTilingFeatures;
-    VkFormatFeatureFlags    optimalTilingFeatures;
-    VkFormatFeatureFlags    bufferFeatures;
-} VkFormatProperties;
-
-typedef struct VkExtent3D {
-    deUint32    width;
-    deUint32    height;
-    deUint32    depth;
-} VkExtent3D;
-
-typedef struct VkImageFormatProperties {
-    VkExtent3D            maxExtent;
-    deUint32              maxMipLevels;
-    deUint32              maxArrayLayers;
-    VkSampleCountFlags    sampleCounts;
-    VkDeviceSize          maxResourceSize;
-} VkImageFormatProperties;
-
 typedef struct VkPhysicalDeviceLimits {
     deUint32              maxImageDimension1D;
     deUint32              maxImageDimension2D;
@@ -2214,6 +2309,13 @@ typedef struct VkPhysicalDeviceLimits {
     VkDeviceSize          nonCoherentAtomSize;
 } VkPhysicalDeviceLimits;
 
+typedef struct VkPhysicalDeviceMemoryProperties {
+    deUint32        memoryTypeCount;
+    VkMemoryType    memoryTypes[VK_MAX_MEMORY_TYPES];
+    deUint32        memoryHeapCount;
+    VkMemoryHeap    memoryHeaps[VK_MAX_MEMORY_HEAPS];
+} VkPhysicalDeviceMemoryProperties;
+
 typedef struct VkPhysicalDeviceSparseProperties {
     VkBool32    residencyStandard2DBlockShape;
     VkBool32    residencyStandard2DMultisampleBlockShape;
@@ -2241,24 +2343,6 @@ typedef struct VkQueueFamilyProperties {
     VkExtent3D      minImageTransferGranularity;
 } VkQueueFamilyProperties;
 
-typedef struct VkMemoryType {
-    VkMemoryPropertyFlags    propertyFlags;
-    deUint32                 heapIndex;
-} VkMemoryType;
-
-typedef struct VkMemoryHeap {
-    VkDeviceSize         size;
-    VkMemoryHeapFlags    flags;
-} VkMemoryHeap;
-
-typedef struct VkPhysicalDeviceMemoryProperties {
-    deUint32        memoryTypeCount;
-    VkMemoryType    memoryTypes[VK_MAX_MEMORY_TYPES];
-    deUint32        memoryHeapCount;
-    VkMemoryHeap    memoryHeaps[VK_MAX_MEMORY_HEAPS];
-} VkPhysicalDeviceMemoryProperties;
-
-typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
 typedef struct VkDeviceQueueCreateInfo {
     VkStructureType             sType;
     const void*                 pNext;
@@ -2305,13 +2389,6 @@ typedef struct VkSubmitInfo {
     const VkSemaphore*             pSignalSemaphores;
 } VkSubmitInfo;
 
-typedef struct VkMemoryAllocateInfo {
-    VkStructureType    sType;
-    const void*        pNext;
-    VkDeviceSize       allocationSize;
-    deUint32           memoryTypeIndex;
-} VkMemoryAllocateInfo;
-
 typedef struct VkMappedMemoryRange {
     VkStructureType    sType;
     const void*        pNext;
@@ -2320,26 +2397,19 @@ typedef struct VkMappedMemoryRange {
     VkDeviceSize       size;
 } VkMappedMemoryRange;
 
+typedef struct VkMemoryAllocateInfo {
+    VkStructureType    sType;
+    const void*        pNext;
+    VkDeviceSize       allocationSize;
+    deUint32           memoryTypeIndex;
+} VkMemoryAllocateInfo;
+
 typedef struct VkMemoryRequirements {
     VkDeviceSize    size;
     VkDeviceSize    alignment;
     deUint32        memoryTypeBits;
 } VkMemoryRequirements;
 
-typedef struct VkSparseImageFormatProperties {
-    VkImageAspectFlags          aspectMask;
-    VkExtent3D                  imageGranularity;
-    VkSparseImageFormatFlags    flags;
-} VkSparseImageFormatProperties;
-
-typedef struct VkSparseImageMemoryRequirements {
-    VkSparseImageFormatProperties    formatProperties;
-    deUint32                         imageMipTailFirstLod;
-    VkDeviceSize                     imageMipTailSize;
-    VkDeviceSize                     imageMipTailOffset;
-    VkDeviceSize                     imageMipTailStride;
-} VkSparseImageMemoryRequirements;
-
 typedef struct VkSparseMemoryBind {
     VkDeviceSize               resourceOffset;
     VkDeviceSize               size;
@@ -2366,12 +2436,6 @@ typedef struct VkImageSubresource {
     deUint32              arrayLayer;
 } VkImageSubresource;
 
-typedef struct VkOffset3D {
-    deInt32    x;
-    deInt32    y;
-    deInt32    z;
-} VkOffset3D;
-
 typedef struct VkSparseImageMemoryBind {
     VkImageSubresource         subresource;
     VkOffset3D                 offset;
@@ -2402,6 +2466,20 @@ typedef struct VkBindSparseInfo {
     const VkSemaphore*                          pSignalSemaphores;
 } VkBindSparseInfo;
 
+typedef struct VkSparseImageFormatProperties {
+    VkImageAspectFlags          aspectMask;
+    VkExtent3D                  imageGranularity;
+    VkSparseImageFormatFlags    flags;
+} VkSparseImageFormatProperties;
+
+typedef struct VkSparseImageMemoryRequirements {
+    VkSparseImageFormatProperties    formatProperties;
+    deUint32                         imageMipTailFirstLod;
+    VkDeviceSize                     imageMipTailSize;
+    VkDeviceSize                     imageMipTailOffset;
+    VkDeviceSize                     imageMipTailStride;
+} VkSparseImageMemoryRequirements;
+
 typedef struct VkFenceCreateInfo {
     VkStructureType       sType;
     const void*           pNext;
@@ -2483,14 +2561,6 @@ typedef struct VkComponentMapping {
     VkComponentSwizzle    a;
 } VkComponentMapping;
 
-typedef struct VkImageSubresourceRange {
-    VkImageAspectFlags    aspectMask;
-    deUint32              baseMipLevel;
-    deUint32              levelCount;
-    deUint32              baseArrayLayer;
-    deUint32              layerCount;
-} VkImageSubresourceRange;
-
 typedef struct VkImageViewCreateInfo {
     VkStructureType            sType;
     const void*                pNext;
@@ -2541,6 +2611,16 @@ typedef struct VkPipelineShaderStageCreateInfo {
     const VkSpecializationInfo*         pSpecializationInfo;
 } VkPipelineShaderStageCreateInfo;
 
+typedef struct VkComputePipelineCreateInfo {
+    VkStructureType                    sType;
+    const void*                        pNext;
+    VkPipelineCreateFlags              flags;
+    VkPipelineShaderStageCreateInfo    stage;
+    VkPipelineLayout                   layout;
+    VkPipeline                         basePipelineHandle;
+    deInt32                            basePipelineIndex;
+} VkComputePipelineCreateInfo;
+
 typedef struct VkVertexInputBindingDescription {
     deUint32             binding;
     deUint32             stride;
@@ -2588,21 +2668,6 @@ typedef struct VkViewport {
     float    maxDepth;
 } VkViewport;
 
-typedef struct VkOffset2D {
-    deInt32    x;
-    deInt32    y;
-} VkOffset2D;
-
-typedef struct VkExtent2D {
-    deUint32    width;
-    deUint32    height;
-} VkExtent2D;
-
-typedef struct VkRect2D {
-    VkOffset2D    offset;
-    VkExtent2D    extent;
-} VkRect2D;
-
 typedef struct VkPipelineViewportStateCreateInfo {
     VkStructureType                       sType;
     const void*                           pNext;
@@ -2712,21 +2777,11 @@ typedef struct VkGraphicsPipelineCreateInfo {
     const VkPipelineColorBlendStateCreateInfo*       pColorBlendState;
     const VkPipelineDynamicStateCreateInfo*          pDynamicState;
     VkPipelineLayout                                 layout;
-    VkRenderPass                                     renderPass;
-    deUint32                                         subpass;
-    VkPipeline                                       basePipelineHandle;
-    deInt32                                          basePipelineIndex;
-} VkGraphicsPipelineCreateInfo;
-
-typedef struct VkComputePipelineCreateInfo {
-    VkStructureType                    sType;
-    const void*                        pNext;
-    VkPipelineCreateFlags              flags;
-    VkPipelineShaderStageCreateInfo    stage;
-    VkPipelineLayout                   layout;
-    VkPipeline                         basePipelineHandle;
-    deInt32                            basePipelineIndex;
-} VkComputePipelineCreateInfo;
+    VkRenderPass                                     renderPass;
+    deUint32                                         subpass;
+    VkPipeline                                       basePipelineHandle;
+    deInt32                                          basePipelineIndex;
+} VkGraphicsPipelineCreateInfo;
 
 typedef struct VkPushConstantRange {
     VkShaderStageFlags    stageFlags;
@@ -2765,21 +2820,29 @@ typedef struct VkSamplerCreateInfo {
     VkBool32                unnormalizedCoordinates;
 } VkSamplerCreateInfo;
 
-typedef struct VkDescriptorSetLayoutBinding {
-    deUint32              binding;
-    VkDescriptorType      descriptorType;
-    deUint32              descriptorCount;
-    VkShaderStageFlags    stageFlags;
-    const VkSampler*      pImmutableSamplers;
-} VkDescriptorSetLayoutBinding;
+typedef struct VkCopyDescriptorSet {
+    VkStructureType    sType;
+    const void*        pNext;
+    VkDescriptorSet    srcSet;
+    deUint32           srcBinding;
+    deUint32           srcArrayElement;
+    VkDescriptorSet    dstSet;
+    deUint32           dstBinding;
+    deUint32           dstArrayElement;
+    deUint32           descriptorCount;
+} VkCopyDescriptorSet;
 
-typedef struct VkDescriptorSetLayoutCreateInfo {
-    VkStructureType                        sType;
-    const void*                            pNext;
-    VkDescriptorSetLayoutCreateFlags       flags;
-    deUint32                               bindingCount;
-    const VkDescriptorSetLayoutBinding*    pBindings;
-} VkDescriptorSetLayoutCreateInfo;
+typedef struct VkDescriptorBufferInfo {
+    VkBuffer        buffer;
+    VkDeviceSize    offset;
+    VkDeviceSize    range;
+} VkDescriptorBufferInfo;
+
+typedef struct VkDescriptorImageInfo {
+    VkSampler        sampler;
+    VkImageView      imageView;
+    VkImageLayout    imageLayout;
+} VkDescriptorImageInfo;
 
 typedef struct VkDescriptorPoolSize {
     VkDescriptorType    type;
@@ -2803,17 +2866,21 @@ typedef struct VkDescriptorSetAllocateInfo {
     const VkDescriptorSetLayout*    pSetLayouts;
 } VkDescriptorSetAllocateInfo;
 
-typedef struct VkDescriptorImageInfo {
-    VkSampler        sampler;
-    VkImageView      imageView;
-    VkImageLayout    imageLayout;
-} VkDescriptorImageInfo;
+typedef struct VkDescriptorSetLayoutBinding {
+    deUint32              binding;
+    VkDescriptorType      descriptorType;
+    deUint32              descriptorCount;
+    VkShaderStageFlags    stageFlags;
+    const VkSampler*      pImmutableSamplers;
+} VkDescriptorSetLayoutBinding;
 
-typedef struct VkDescriptorBufferInfo {
-    VkBuffer        buffer;
-    VkDeviceSize    offset;
-    VkDeviceSize    range;
-} VkDescriptorBufferInfo;
+typedef struct VkDescriptorSetLayoutCreateInfo {
+    VkStructureType                        sType;
+    const void*                            pNext;
+    VkDescriptorSetLayoutCreateFlags       flags;
+    deUint32                               bindingCount;
+    const VkDescriptorSetLayoutBinding*    pBindings;
+} VkDescriptorSetLayoutCreateInfo;
 
 typedef struct VkWriteDescriptorSet {
     VkStructureType                  sType;
@@ -2828,30 +2895,6 @@ typedef struct VkWriteDescriptorSet {
     const VkBufferView*              pTexelBufferView;
 } VkWriteDescriptorSet;
 
-typedef struct VkCopyDescriptorSet {
-    VkStructureType    sType;
-    const void*        pNext;
-    VkDescriptorSet    srcSet;
-    deUint32           srcBinding;
-    deUint32           srcArrayElement;
-    VkDescriptorSet    dstSet;
-    deUint32           dstBinding;
-    deUint32           dstArrayElement;
-    deUint32           descriptorCount;
-} VkCopyDescriptorSet;
-
-typedef struct VkFramebufferCreateInfo {
-    VkStructureType             sType;
-    const void*                 pNext;
-    VkFramebufferCreateFlags    flags;
-    VkRenderPass                renderPass;
-    deUint32                    attachmentCount;
-    const VkImageView*          pAttachments;
-    deUint32                    width;
-    deUint32                    height;
-    deUint32                    layers;
-} VkFramebufferCreateInfo;
-
 typedef struct VkAttachmentDescription {
     VkAttachmentDescriptionFlags    flags;
     VkFormat                        format;
@@ -2869,6 +2912,18 @@ typedef struct VkAttachmentReference {
     VkImageLayout    layout;
 } VkAttachmentReference;
 
+typedef struct VkFramebufferCreateInfo {
+    VkStructureType             sType;
+    const void*                 pNext;
+    VkFramebufferCreateFlags    flags;
+    VkRenderPass                renderPass;
+    deUint32                    attachmentCount;
+    const VkImageView*          pAttachments;
+    deUint32                    width;
+    deUint32                    height;
+    deUint32                    layers;
+} VkFramebufferCreateInfo;
+
 typedef struct VkSubpassDescription {
     VkSubpassDescriptionFlags       flags;
     VkPipelineBindPoint             pipelineBindPoint;
@@ -2950,21 +3005,6 @@ typedef struct VkImageSubresourceLayers {
     deUint32              layerCount;
 } VkImageSubresourceLayers;
 
-typedef struct VkImageCopy {
-    VkImageSubresourceLayers    srcSubresource;
-    VkOffset3D                  srcOffset;
-    VkImageSubresourceLayers    dstSubresource;
-    VkOffset3D                  dstOffset;
-    VkExtent3D                  extent;
-} VkImageCopy;
-
-typedef struct VkImageBlit {
-    VkImageSubresourceLayers    srcSubresource;
-    VkOffset3D                  srcOffsets[2];
-    VkImageSubresourceLayers    dstSubresource;
-    VkOffset3D                  dstOffsets[2];
-} VkImageBlit;
-
 typedef struct VkBufferImageCopy {
     VkDeviceSize                bufferOffset;
     deUint32                    bufferRowLength;
@@ -3002,6 +3042,21 @@ typedef struct VkClearRect {
     deUint32    layerCount;
 } VkClearRect;
 
+typedef struct VkImageBlit {
+    VkImageSubresourceLayers    srcSubresource;
+    VkOffset3D                  srcOffsets[2];
+    VkImageSubresourceLayers    dstSubresource;
+    VkOffset3D                  dstOffsets[2];
+} VkImageBlit;
+
+typedef struct VkImageCopy {
+    VkImageSubresourceLayers    srcSubresource;
+    VkOffset3D                  srcOffset;
+    VkImageSubresourceLayers    dstSubresource;
+    VkOffset3D                  dstOffset;
+    VkExtent3D                  extent;
+} VkImageCopy;
+
 typedef struct VkImageResolve {
     VkImageSubresourceLayers    srcSubresource;
     VkOffset3D                  srcOffset;
@@ -3010,38 +3065,6 @@ typedef struct VkImageResolve {
     VkExtent3D                  extent;
 } VkImageResolve;
 
-typedef struct VkMemoryBarrier {
-    VkStructureType    sType;
-    const void*        pNext;
-    VkAccessFlags      srcAccessMask;
-    VkAccessFlags      dstAccessMask;
-} VkMemoryBarrier;
-
-typedef struct VkBufferMemoryBarrier {
-    VkStructureType    sType;
-    const void*        pNext;
-    VkAccessFlags      srcAccessMask;
-    VkAccessFlags      dstAccessMask;
-    deUint32           srcQueueFamilyIndex;
-    deUint32           dstQueueFamilyIndex;
-    VkBuffer           buffer;
-    VkDeviceSize       offset;
-    VkDeviceSize       size;
-} VkBufferMemoryBarrier;
-
-typedef struct VkImageMemoryBarrier {
-    VkStructureType            sType;
-    const void*                pNext;
-    VkAccessFlags              srcAccessMask;
-    VkAccessFlags              dstAccessMask;
-    VkImageLayout              oldLayout;
-    VkImageLayout              newLayout;
-    deUint32                   srcQueueFamilyIndex;
-    deUint32                   dstQueueFamilyIndex;
-    VkImage                    image;
-    VkImageSubresourceRange    subresourceRange;
-} VkImageMemoryBarrier;
-
 typedef struct VkRenderPassBeginInfo {
     VkStructureType        sType;
     const void*            pNext;
@@ -3052,37 +3075,6 @@ typedef struct VkRenderPassBeginInfo {
     const VkClearValue*    pClearValues;
 } VkRenderPassBeginInfo;
 
-typedef struct VkDispatchIndirectCommand {
-    deUint32    x;
-    deUint32    y;
-    deUint32    z;
-} VkDispatchIndirectCommand;
-
-typedef struct VkDrawIndexedIndirectCommand {
-    deUint32    indexCount;
-    deUint32    instanceCount;
-    deUint32    firstIndex;
-    deInt32     vertexOffset;
-    deUint32    firstInstance;
-} VkDrawIndexedIndirectCommand;
-
-typedef struct VkDrawIndirectCommand {
-    deUint32    vertexCount;
-    deUint32    instanceCount;
-    deUint32    firstVertex;
-    deUint32    firstInstance;
-} VkDrawIndirectCommand;
-
-typedef struct VkBaseOutStructure {
-    VkStructureType               sType;
-    struct VkBaseOutStructure*    pNext;
-} VkBaseOutStructure;
-
-typedef struct VkBaseInStructure {
-    VkStructureType                    sType;
-    const struct VkBaseInStructure*    pNext;
-} VkBaseInStructure;
-
 typedef VkResult (VKAPI_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance);
 typedef void (VKAPI_PTR *PFN_vkDestroyInstance)(VkInstance instance, const VkAllocationCallbacks* pAllocator);
 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDevices)(VkInstance instance, deUint32* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices);
@@ -4359,8 +4351,6 @@ typedef struct VkMemoryRequirements2 {
     VkMemoryRequirements    memoryRequirements;
 } VkMemoryRequirements2;
 
-typedef VkMemoryRequirements2 VkMemoryRequirements2KHR;
-
 typedef struct VkSparseImageMemoryRequirements2 {
     VkStructureType                    sType;
     void*                              pNext;
@@ -4888,7 +4878,6 @@ VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupport(
 // 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
 
-typedef deUint64 VkDeviceAddress;
 #define VK_MAX_DRIVER_NAME_SIZE           256
 #define VK_MAX_DRIVER_INFO_SIZE           256
 
@@ -5684,8 +5673,8 @@ typedef enum VkCompositeAlphaFlagBitsKHR {
     VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 0x00000008,
     VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
 } VkCompositeAlphaFlagBitsKHR;
-typedef VkFlags VkSurfaceTransformFlagsKHR;
 typedef VkFlags VkCompositeAlphaFlagsKHR;
+typedef VkFlags VkSurfaceTransformFlagsKHR;
 typedef struct VkSurfaceCapabilitiesKHR {
     deUint32                         minImageCount;
     deUint32                         maxImageCount;
@@ -5905,6 +5894,7 @@ VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR)
 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR)
 #define VK_KHR_DISPLAY_SPEC_VERSION       23
 #define VK_KHR_DISPLAY_EXTENSION_NAME     "VK_KHR_display"
+typedef VkFlags VkDisplayModeCreateFlagsKHR;
 
 typedef enum VkDisplayPlaneAlphaFlagBitsKHR {
     VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
@@ -5914,28 +5904,12 @@ typedef enum VkDisplayPlaneAlphaFlagBitsKHR {
     VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
 } VkDisplayPlaneAlphaFlagBitsKHR;
 typedef VkFlags VkDisplayPlaneAlphaFlagsKHR;
-typedef VkFlags VkDisplayModeCreateFlagsKHR;
 typedef VkFlags VkDisplaySurfaceCreateFlagsKHR;
-typedef struct VkDisplayPropertiesKHR {
-    VkDisplayKHR                  display;
-    const char*                   displayName;
-    VkExtent2D                    physicalDimensions;
-    VkExtent2D                    physicalResolution;
-    VkSurfaceTransformFlagsKHR    supportedTransforms;
-    VkBool32                      planeReorderPossible;
-    VkBool32                      persistentContent;
-} VkDisplayPropertiesKHR;
-
 typedef struct VkDisplayModeParametersKHR {
     VkExtent2D    visibleRegion;
     deUint32      refreshRate;
 } VkDisplayModeParametersKHR;
 
-typedef struct VkDisplayModePropertiesKHR {
-    VkDisplayModeKHR              displayMode;
-    VkDisplayModeParametersKHR    parameters;
-} VkDisplayModePropertiesKHR;
-
 typedef struct VkDisplayModeCreateInfoKHR {
     VkStructureType                sType;
     const void*                    pNext;
@@ -5943,6 +5917,11 @@ typedef struct VkDisplayModeCreateInfoKHR {
     VkDisplayModeParametersKHR     parameters;
 } VkDisplayModeCreateInfoKHR;
 
+typedef struct VkDisplayModePropertiesKHR {
+    VkDisplayModeKHR              displayMode;
+    VkDisplayModeParametersKHR    parameters;
+} VkDisplayModePropertiesKHR;
+
 typedef struct VkDisplayPlaneCapabilitiesKHR {
     VkDisplayPlaneAlphaFlagsKHR    supportedAlpha;
     VkOffset2D                     minSrcPosition;
@@ -5960,6 +5939,16 @@ typedef struct VkDisplayPlanePropertiesKHR {
     deUint32        currentStackIndex;
 } VkDisplayPlanePropertiesKHR;
 
+typedef struct VkDisplayPropertiesKHR {
+    VkDisplayKHR                  display;
+    const char*                   displayName;
+    VkExtent2D                    physicalDimensions;
+    VkExtent2D                    physicalResolution;
+    VkSurfaceTransformFlagsKHR    supportedTransforms;
+    VkBool32                      planeReorderPossible;
+    VkBool32                      persistentContent;
+} VkDisplayPropertiesKHR;
+
 typedef struct VkDisplaySurfaceCreateInfoKHR {
     VkStructureType                   sType;
     const void*                       pNext;
@@ -6922,6 +6911,8 @@ typedef VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2KHR;
 
 typedef VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2KHR;
 
+typedef VkMemoryRequirements2 VkMemoryRequirements2KHR;
+
 typedef VkSparseImageMemoryRequirements2 VkSparseImageMemoryRequirements2KHR;
 
 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2KHR)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
@@ -8380,8 +8371,8 @@ typedef enum VkDebugUtilsMessageTypeFlagBitsEXT {
     VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
 } VkDebugUtilsMessageTypeFlagBitsEXT;
 typedef VkFlags VkDebugUtilsMessageTypeFlagsEXT;
-typedef VkFlags VkDebugUtilsMessengerCreateFlagsEXT;
 typedef VkFlags VkDebugUtilsMessageSeverityFlagsEXT;
+typedef VkFlags VkDebugUtilsMessengerCreateFlagsEXT;
 typedef struct VkDebugUtilsLabelEXT {
     VkStructureType    sType;
     const void*        pNext;
@@ -8418,16 +8409,6 @@ typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)(
     const VkDebugUtilsMessengerCallbackDataEXT*      pCallbackData,
     void*                                            pUserData);
 
-typedef struct VkDebugUtilsObjectTagInfoEXT {
-    VkStructureType    sType;
-    const void*        pNext;
-    VkObjectType       objectType;
-    deUint64           objectHandle;
-    deUint64           tagName;
-    deUintptr             tagSize;
-    const void*        pTag;
-} VkDebugUtilsObjectTagInfoEXT;
-
 typedef struct VkDebugUtilsMessengerCreateInfoEXT {
     VkStructureType                         sType;
     const void*                             pNext;
@@ -8438,6 +8419,16 @@ typedef struct VkDebugUtilsMessengerCreateInfoEXT {
     void*                                   pUserData;
 } VkDebugUtilsMessengerCreateInfoEXT;
 
+typedef struct VkDebugUtilsObjectTagInfoEXT {
+    VkStructureType    sType;
+    const void*        pNext;
+    VkObjectType       objectType;
+    deUint64           objectHandle;
+    deUint64           tagName;
+    deUintptr             tagSize;
+    const void*        pTag;
+} VkDebugUtilsObjectTagInfoEXT;
+
 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectNameEXT)(VkDevice device, const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectTagEXT)(VkDevice device, const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
 typedef void (VKAPI_PTR *PFN_vkQueueBeginDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
@@ -10919,7 +10910,6 @@ typedef struct VkDeviceDiagnosticsConfigCreateInfoNV {
 #define VK_QCOM_render_pass_store_ops_EXTENSION_NAME "VK_QCOM_render_pass_store_ops"
 
 
-
 #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"
index 4f27750..50ef85f 100644 (file)
@@ -4,17 +4,7 @@
 /*
 ** Copyright (c) 2015-2020 The Khronos Group Inc.
 **
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
+** SPDX-License-Identifier: Apache-2.0
 */
 
 /*
index 7380e39..2904234 100644 (file)
@@ -4,17 +4,7 @@
 /*
 ** Copyright (c) 2015-2020 The Khronos Group Inc.
 **
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
+** SPDX-License-Identifier: Apache-2.0
 */
 
 /*
@@ -31,7 +21,7 @@ extern "C" {
 
 #define VK_KHR_deferred_host_operations 1
 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeferredOperationKHR)
-#define VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION 2
+#define VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION 3
 #define VK_KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME "VK_KHR_deferred_host_operations"
 typedef struct VkDeferredOperationInfoKHR {
     VkStructureType           sType;
@@ -307,7 +297,7 @@ typedef struct VkCopyAccelerationStructureInfoKHR {
 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureKHR)(VkDevice                                           device, const VkAccelerationStructureCreateInfoKHR*        pCreateInfo, const VkAllocationCallbacks*       pAllocator, VkAccelerationStructureKHR*                        pAccelerationStructure);
 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureMemoryRequirementsKHR)(VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoKHR* pInfo, VkMemoryRequirements2* pMemoryRequirements);
 typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructureKHR)(VkCommandBuffer                                    commandBuffer, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildOffsetInfoKHR* const* ppOffsetInfos);
-typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructureIndirectKHR)(VkCommandBuffer                                    commandBuffer, const VkAccelerationStructureBuildGeometryInfoKHR* pInfo, VkBuffer                                           indirectBuffer, VkDeviceSize                                       indirectOffset, uint32_t                                           indirectStride);
+typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructureIndirectKHR)(VkCommandBuffer                  commandBuffer, const VkAccelerationStructureBuildGeometryInfoKHR* pInfo, VkBuffer                                           indirectBuffer, VkDeviceSize                                       indirectOffset, uint32_t                                           indirectStride);
 typedef VkResult (VKAPI_PTR *PFN_vkBuildAccelerationStructureKHR)(VkDevice                                           device, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildOffsetInfoKHR* const* ppOffsetInfos);
 typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureKHR)(VkDevice device, const VkCopyAccelerationStructureInfoKHR* pInfo);
 typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureToMemoryKHR)(VkDevice device, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
index 0e1fe5c..3ab5c2f 100644 (file)
@@ -4,17 +4,7 @@
 /*
 ** Copyright (c) 2015-2020 The Khronos Group Inc.
 **
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
+** SPDX-License-Identifier: Apache-2.0
 */
 
 /*
@@ -31,8 +21,20 @@ extern "C" {
 
 #define VK_VERSION_1_0 1
 #include "vk_platform.h"
+
+#define VK_DEFINE_HANDLE(object) typedef struct object##_T* object;
+
+
+#if !defined(VK_DEFINE_NON_DISPATCHABLE_HANDLE)
+#if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__)
+        #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
+
 #define VK_MAKE_VERSION(major, minor, patch) \
-    (((major) << 22) | ((minor) << 12) | (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
@@ -40,34 +42,25 @@ extern "C" {
 // 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_VERSION_MAJOR(version) ((uint32_t)(version) >> 22)
-#define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3ff)
-#define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xfff)
 // Version of this file
-#define VK_HEADER_VERSION 141
+#define VK_HEADER_VERSION 146
 
 // Complete version of this file
 #define VK_HEADER_VERSION_COMPLETE VK_MAKE_VERSION(1, 2, VK_HEADER_VERSION)
 
+#define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22)
+#define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3ff)
+#define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xfff)
 
 #define VK_NULL_HANDLE 0
 
-
-#define VK_DEFINE_HANDLE(object) typedef struct object##_T* object;
-
-
-#if !defined(VK_DEFINE_NON_DISPATCHABLE_HANDLE)
-#if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__)
-        #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
-
-typedef uint32_t VkFlags;
 typedef uint32_t VkBool32;
+typedef uint64_t VkDeviceAddress;
 typedef uint64_t VkDeviceSize;
+typedef uint32_t VkFlags;
 typedef uint32_t VkSampleMask;
+VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer)
+VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage)
 VK_DEFINE_HANDLE(VkInstance)
 VK_DEFINE_HANDLE(VkPhysicalDevice)
 VK_DEFINE_HANDLE(VkDevice)
@@ -76,8 +69,6 @@ VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphore)
 VK_DEFINE_HANDLE(VkCommandBuffer)
 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFence)
 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeviceMemory)
-VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer)
-VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage)
 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkEvent)
 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkQueryPool)
 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferView)
@@ -85,35 +76,30 @@ VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImageView)
 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderModule)
 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache)
 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineLayout)
-VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass)
 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipeline)
+VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass)
 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout)
 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSampler)
-VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool)
 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSet)
+VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool)
 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer)
 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool)
-#define VK_LOD_CLAMP_NONE                 1000.0f
-#define VK_REMAINING_MIP_LEVELS           (~0U)
-#define VK_REMAINING_ARRAY_LAYERS         (~0U)
-#define VK_WHOLE_SIZE                     (~0ULL)
 #define VK_ATTACHMENT_UNUSED              (~0U)
-#define VK_TRUE                           1
 #define VK_FALSE                          0
+#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_MAX_PHYSICAL_DEVICE_NAME_SIZE  256
-#define VK_UUID_SIZE                      16
+#define VK_TRUE                           1
+#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
 
-typedef enum VkPipelineCacheHeaderVersion {
-    VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1,
-    VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF
-} VkPipelineCacheHeaderVersion;
-
 typedef enum VkResult {
     VK_SUCCESS = 0,
     VK_NOT_READY = 1,
@@ -603,6 +589,7 @@ typedef enum VkStructureType {
     VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV = 1000300001,
     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_DIRECTFB_SURFACE_CREATE_INFO_EXT = 1000346000,
     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,
@@ -722,6 +709,96 @@ typedef enum VkStructureType {
     VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF
 } VkStructureType;
 
+typedef enum VkImageLayout {
+    VK_IMAGE_LAYOUT_UNDEFINED = 0,
+    VK_IMAGE_LAYOUT_GENERAL = 1,
+    VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2,
+    VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3,
+    VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4,
+    VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5,
+    VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6,
+    VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7,
+    VK_IMAGE_LAYOUT_PREINITIALIZED = 8,
+    VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL = 1000117000,
+    VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL = 1000117001,
+    VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL = 1000241000,
+    VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL = 1000241001,
+    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_SHARED_PRESENT_KHR = 1000111000,
+    VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = 1000164003,
+    VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000,
+    VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,
+    VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,
+    VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
+    VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
+    VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL,
+    VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL,
+    VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF
+} VkImageLayout;
+
+typedef enum VkObjectType {
+    VK_OBJECT_TYPE_UNKNOWN = 0,
+    VK_OBJECT_TYPE_INSTANCE = 1,
+    VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2,
+    VK_OBJECT_TYPE_DEVICE = 3,
+    VK_OBJECT_TYPE_QUEUE = 4,
+    VK_OBJECT_TYPE_SEMAPHORE = 5,
+    VK_OBJECT_TYPE_COMMAND_BUFFER = 6,
+    VK_OBJECT_TYPE_FENCE = 7,
+    VK_OBJECT_TYPE_DEVICE_MEMORY = 8,
+    VK_OBJECT_TYPE_BUFFER = 9,
+    VK_OBJECT_TYPE_IMAGE = 10,
+    VK_OBJECT_TYPE_EVENT = 11,
+    VK_OBJECT_TYPE_QUERY_POOL = 12,
+    VK_OBJECT_TYPE_BUFFER_VIEW = 13,
+    VK_OBJECT_TYPE_IMAGE_VIEW = 14,
+    VK_OBJECT_TYPE_SHADER_MODULE = 15,
+    VK_OBJECT_TYPE_PIPELINE_CACHE = 16,
+    VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17,
+    VK_OBJECT_TYPE_RENDER_PASS = 18,
+    VK_OBJECT_TYPE_PIPELINE = 19,
+    VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20,
+    VK_OBJECT_TYPE_SAMPLER = 21,
+    VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22,
+    VK_OBJECT_TYPE_DESCRIPTOR_SET = 23,
+    VK_OBJECT_TYPE_FRAMEBUFFER = 24,
+    VK_OBJECT_TYPE_COMMAND_POOL = 25,
+    VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION = 1000156000,
+    VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE = 1000085000,
+    VK_OBJECT_TYPE_SURFACE_KHR = 1000000000,
+    VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000,
+    VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000,
+    VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001,
+    VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000,
+    VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000,
+    VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR = 1000165000,
+    VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000,
+    VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL = 1000210000,
+    VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR = 1000268000,
+    VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV = 1000277000,
+    VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = 1000295000,
+    VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,
+    VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,
+    VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV = VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR,
+    VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF
+} VkObjectType;
+
+typedef enum VkVendorId {
+    VK_VENDOR_ID_VIV = 0x10001,
+    VK_VENDOR_ID_VSI = 0x10002,
+    VK_VENDOR_ID_KAZAN = 0x10003,
+    VK_VENDOR_ID_CODEPLAY = 0x10004,
+    VK_VENDOR_ID_MESA = 0x10005,
+    VK_VENDOR_ID_MAX_ENUM = 0x7FFFFFFF
+} VkVendorId;
+
+typedef enum VkPipelineCacheHeaderVersion {
+    VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1,
+    VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF
+} VkPipelineCacheHeaderVersion;
+
 typedef enum VkSystemAllocationScope {
     VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0,
     VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1,
@@ -1015,13 +1092,6 @@ typedef enum VkFormat {
     VK_FORMAT_MAX_ENUM = 0x7FFFFFFF
 } VkFormat;
 
-typedef enum VkImageType {
-    VK_IMAGE_TYPE_1D = 0,
-    VK_IMAGE_TYPE_2D = 1,
-    VK_IMAGE_TYPE_3D = 2,
-    VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF
-} VkImageType;
-
 typedef enum VkImageTiling {
     VK_IMAGE_TILING_OPTIMAL = 0,
     VK_IMAGE_TILING_LINEAR = 1,
@@ -1029,6 +1099,13 @@ typedef enum VkImageTiling {
     VK_IMAGE_TILING_MAX_ENUM = 0x7FFFFFFF
 } VkImageTiling;
 
+typedef enum VkImageType {
+    VK_IMAGE_TYPE_1D = 0,
+    VK_IMAGE_TYPE_2D = 1,
+    VK_IMAGE_TYPE_3D = 2,
+    VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF
+} VkImageType;
+
 typedef enum VkPhysicalDeviceType {
     VK_PHYSICAL_DEVICE_TYPE_OTHER = 0,
     VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1,
@@ -1057,34 +1134,16 @@ typedef enum VkSharingMode {
     VK_SHARING_MODE_MAX_ENUM = 0x7FFFFFFF
 } VkSharingMode;
 
-typedef enum VkImageLayout {
-    VK_IMAGE_LAYOUT_UNDEFINED = 0,
-    VK_IMAGE_LAYOUT_GENERAL = 1,
-    VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2,
-    VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3,
-    VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4,
-    VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5,
-    VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6,
-    VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7,
-    VK_IMAGE_LAYOUT_PREINITIALIZED = 8,
-    VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL = 1000117000,
-    VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL = 1000117001,
-    VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL = 1000241000,
-    VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL = 1000241001,
-    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_SHARED_PRESENT_KHR = 1000111000,
-    VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = 1000164003,
-    VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000,
-    VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,
-    VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,
-    VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
-    VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
-    VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL,
-    VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL,
-    VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF
-} VkImageLayout;
+typedef enum VkComponentSwizzle {
+    VK_COMPONENT_SWIZZLE_IDENTITY = 0,
+    VK_COMPONENT_SWIZZLE_ZERO = 1,
+    VK_COMPONENT_SWIZZLE_ONE = 2,
+    VK_COMPONENT_SWIZZLE_R = 3,
+    VK_COMPONENT_SWIZZLE_G = 4,
+    VK_COMPONENT_SWIZZLE_B = 5,
+    VK_COMPONENT_SWIZZLE_A = 6,
+    VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF
+} VkComponentSwizzle;
 
 typedef enum VkImageViewType {
     VK_IMAGE_VIEW_TYPE_1D = 0,
@@ -1097,118 +1156,28 @@ typedef enum VkImageViewType {
     VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7FFFFFFF
 } VkImageViewType;
 
-typedef enum VkComponentSwizzle {
-    VK_COMPONENT_SWIZZLE_IDENTITY = 0,
-    VK_COMPONENT_SWIZZLE_ZERO = 1,
-    VK_COMPONENT_SWIZZLE_ONE = 2,
-    VK_COMPONENT_SWIZZLE_R = 3,
-    VK_COMPONENT_SWIZZLE_G = 4,
-    VK_COMPONENT_SWIZZLE_B = 5,
-    VK_COMPONENT_SWIZZLE_A = 6,
-    VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF
-} VkComponentSwizzle;
-
-typedef enum VkVertexInputRate {
-    VK_VERTEX_INPUT_RATE_VERTEX = 0,
-    VK_VERTEX_INPUT_RATE_INSTANCE = 1,
-    VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF
-} VkVertexInputRate;
-
-typedef enum VkPrimitiveTopology {
-    VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0,
-    VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1,
-    VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2,
-    VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3,
-    VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4,
-    VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5,
-    VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6,
-    VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7,
-    VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8,
-    VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9,
-    VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10,
-    VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7FFFFFFF
-} VkPrimitiveTopology;
-
-typedef enum VkPolygonMode {
-    VK_POLYGON_MODE_FILL = 0,
-    VK_POLYGON_MODE_LINE = 1,
-    VK_POLYGON_MODE_POINT = 2,
-    VK_POLYGON_MODE_FILL_RECTANGLE_NV = 1000153000,
-    VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF
-} VkPolygonMode;
-
-typedef enum VkFrontFace {
-    VK_FRONT_FACE_COUNTER_CLOCKWISE = 0,
-    VK_FRONT_FACE_CLOCKWISE = 1,
-    VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF
-} VkFrontFace;
-
-typedef enum VkCompareOp {
-    VK_COMPARE_OP_NEVER = 0,
-    VK_COMPARE_OP_LESS = 1,
-    VK_COMPARE_OP_EQUAL = 2,
-    VK_COMPARE_OP_LESS_OR_EQUAL = 3,
-    VK_COMPARE_OP_GREATER = 4,
-    VK_COMPARE_OP_NOT_EQUAL = 5,
-    VK_COMPARE_OP_GREATER_OR_EQUAL = 6,
-    VK_COMPARE_OP_ALWAYS = 7,
-    VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF
-} VkCompareOp;
-
-typedef enum VkStencilOp {
-    VK_STENCIL_OP_KEEP = 0,
-    VK_STENCIL_OP_ZERO = 1,
-    VK_STENCIL_OP_REPLACE = 2,
-    VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3,
-    VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4,
-    VK_STENCIL_OP_INVERT = 5,
-    VK_STENCIL_OP_INCREMENT_AND_WRAP = 6,
-    VK_STENCIL_OP_DECREMENT_AND_WRAP = 7,
-    VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF
-} VkStencilOp;
-
-typedef enum VkLogicOp {
-    VK_LOGIC_OP_CLEAR = 0,
-    VK_LOGIC_OP_AND = 1,
-    VK_LOGIC_OP_AND_REVERSE = 2,
-    VK_LOGIC_OP_COPY = 3,
-    VK_LOGIC_OP_AND_INVERTED = 4,
-    VK_LOGIC_OP_NO_OP = 5,
-    VK_LOGIC_OP_XOR = 6,
-    VK_LOGIC_OP_OR = 7,
-    VK_LOGIC_OP_NOR = 8,
-    VK_LOGIC_OP_EQUIVALENT = 9,
-    VK_LOGIC_OP_INVERT = 10,
-    VK_LOGIC_OP_OR_REVERSE = 11,
-    VK_LOGIC_OP_COPY_INVERTED = 12,
-    VK_LOGIC_OP_OR_INVERTED = 13,
-    VK_LOGIC_OP_NAND = 14,
-    VK_LOGIC_OP_SET = 15,
-    VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF
-} VkLogicOp;
-
-typedef enum VkBlendFactor {
-    VK_BLEND_FACTOR_ZERO = 0,
-    VK_BLEND_FACTOR_ONE = 1,
-    VK_BLEND_FACTOR_SRC_COLOR = 2,
-    VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3,
-    VK_BLEND_FACTOR_DST_COLOR = 4,
-    VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5,
-    VK_BLEND_FACTOR_SRC_ALPHA = 6,
-    VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7,
-    VK_BLEND_FACTOR_DST_ALPHA = 8,
-    VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9,
-    VK_BLEND_FACTOR_CONSTANT_COLOR = 10,
-    VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11,
-    VK_BLEND_FACTOR_CONSTANT_ALPHA = 12,
-    VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13,
-    VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14,
-    VK_BLEND_FACTOR_SRC1_COLOR = 15,
-    VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16,
-    VK_BLEND_FACTOR_SRC1_ALPHA = 17,
-    VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18,
-    VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF
-} VkBlendFactor;
+typedef enum VkBlendFactor {
+    VK_BLEND_FACTOR_ZERO = 0,
+    VK_BLEND_FACTOR_ONE = 1,
+    VK_BLEND_FACTOR_SRC_COLOR = 2,
+    VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3,
+    VK_BLEND_FACTOR_DST_COLOR = 4,
+    VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5,
+    VK_BLEND_FACTOR_SRC_ALPHA = 6,
+    VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7,
+    VK_BLEND_FACTOR_DST_ALPHA = 8,
+    VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9,
+    VK_BLEND_FACTOR_CONSTANT_COLOR = 10,
+    VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11,
+    VK_BLEND_FACTOR_CONSTANT_ALPHA = 12,
+    VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13,
+    VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14,
+    VK_BLEND_FACTOR_SRC1_COLOR = 15,
+    VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16,
+    VK_BLEND_FACTOR_SRC1_ALPHA = 17,
+    VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18,
+    VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF
+} VkBlendFactor;
 
 typedef enum VkBlendOp {
     VK_BLEND_OP_ADD = 0,
@@ -1265,6 +1234,18 @@ typedef enum VkBlendOp {
     VK_BLEND_OP_MAX_ENUM = 0x7FFFFFFF
 } VkBlendOp;
 
+typedef enum VkCompareOp {
+    VK_COMPARE_OP_NEVER = 0,
+    VK_COMPARE_OP_LESS = 1,
+    VK_COMPARE_OP_EQUAL = 2,
+    VK_COMPARE_OP_LESS_OR_EQUAL = 3,
+    VK_COMPARE_OP_GREATER = 4,
+    VK_COMPARE_OP_NOT_EQUAL = 5,
+    VK_COMPARE_OP_GREATER_OR_EQUAL = 6,
+    VK_COMPARE_OP_ALWAYS = 7,
+    VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF
+} VkCompareOp;
+
 typedef enum VkDynamicState {
     VK_DYNAMIC_STATE_VIEWPORT = 0,
     VK_DYNAMIC_STATE_SCISSOR = 1,
@@ -1297,6 +1278,85 @@ typedef enum VkDynamicState {
     VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF
 } VkDynamicState;
 
+typedef enum VkFrontFace {
+    VK_FRONT_FACE_COUNTER_CLOCKWISE = 0,
+    VK_FRONT_FACE_CLOCKWISE = 1,
+    VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF
+} VkFrontFace;
+
+typedef enum VkVertexInputRate {
+    VK_VERTEX_INPUT_RATE_VERTEX = 0,
+    VK_VERTEX_INPUT_RATE_INSTANCE = 1,
+    VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF
+} VkVertexInputRate;
+
+typedef enum VkPrimitiveTopology {
+    VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0,
+    VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1,
+    VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2,
+    VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3,
+    VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4,
+    VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5,
+    VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6,
+    VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7,
+    VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8,
+    VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9,
+    VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10,
+    VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7FFFFFFF
+} VkPrimitiveTopology;
+
+typedef enum VkPolygonMode {
+    VK_POLYGON_MODE_FILL = 0,
+    VK_POLYGON_MODE_LINE = 1,
+    VK_POLYGON_MODE_POINT = 2,
+    VK_POLYGON_MODE_FILL_RECTANGLE_NV = 1000153000,
+    VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF
+} VkPolygonMode;
+
+typedef enum VkStencilOp {
+    VK_STENCIL_OP_KEEP = 0,
+    VK_STENCIL_OP_ZERO = 1,
+    VK_STENCIL_OP_REPLACE = 2,
+    VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3,
+    VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4,
+    VK_STENCIL_OP_INVERT = 5,
+    VK_STENCIL_OP_INCREMENT_AND_WRAP = 6,
+    VK_STENCIL_OP_DECREMENT_AND_WRAP = 7,
+    VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF
+} VkStencilOp;
+
+typedef enum VkLogicOp {
+    VK_LOGIC_OP_CLEAR = 0,
+    VK_LOGIC_OP_AND = 1,
+    VK_LOGIC_OP_AND_REVERSE = 2,
+    VK_LOGIC_OP_COPY = 3,
+    VK_LOGIC_OP_AND_INVERTED = 4,
+    VK_LOGIC_OP_NO_OP = 5,
+    VK_LOGIC_OP_XOR = 6,
+    VK_LOGIC_OP_OR = 7,
+    VK_LOGIC_OP_NOR = 8,
+    VK_LOGIC_OP_EQUIVALENT = 9,
+    VK_LOGIC_OP_INVERT = 10,
+    VK_LOGIC_OP_OR_REVERSE = 11,
+    VK_LOGIC_OP_COPY_INVERTED = 12,
+    VK_LOGIC_OP_OR_INVERTED = 13,
+    VK_LOGIC_OP_NAND = 14,
+    VK_LOGIC_OP_SET = 15,
+    VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF
+} VkLogicOp;
+
+typedef enum VkBorderColor {
+    VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0,
+    VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1,
+    VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2,
+    VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3,
+    VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4,
+    VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5,
+    VK_BORDER_COLOR_FLOAT_CUSTOM_EXT = 1000287003,
+    VK_BORDER_COLOR_INT_CUSTOM_EXT = 1000287004,
+    VK_BORDER_COLOR_MAX_ENUM = 0x7FFFFFFF
+} VkBorderColor;
+
 typedef enum VkFilter {
     VK_FILTER_NEAREST = 0,
     VK_FILTER_LINEAR = 1,
@@ -1305,12 +1365,6 @@ typedef enum VkFilter {
     VK_FILTER_MAX_ENUM = 0x7FFFFFFF
 } VkFilter;
 
-typedef enum VkSamplerMipmapMode {
-    VK_SAMPLER_MIPMAP_MODE_NEAREST = 0,
-    VK_SAMPLER_MIPMAP_MODE_LINEAR = 1,
-    VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF
-} VkSamplerMipmapMode;
-
 typedef enum VkSamplerAddressMode {
     VK_SAMPLER_ADDRESS_MODE_REPEAT = 0,
     VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1,
@@ -1321,17 +1375,11 @@ typedef enum VkSamplerAddressMode {
     VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = 0x7FFFFFFF
 } VkSamplerAddressMode;
 
-typedef enum VkBorderColor {
-    VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0,
-    VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1,
-    VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2,
-    VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3,
-    VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4,
-    VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5,
-    VK_BORDER_COLOR_FLOAT_CUSTOM_EXT = 1000287003,
-    VK_BORDER_COLOR_INT_CUSTOM_EXT = 1000287004,
-    VK_BORDER_COLOR_MAX_ENUM = 0x7FFFFFFF
-} VkBorderColor;
+typedef enum VkSamplerMipmapMode {
+    VK_SAMPLER_MIPMAP_MODE_NEAREST = 0,
+    VK_SAMPLER_MIPMAP_MODE_LINEAR = 1,
+    VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF
+} VkSamplerMipmapMode;
 
 typedef enum VkDescriptorType {
     VK_DESCRIPTOR_TYPE_SAMPLER = 0,
@@ -1394,62 +1442,59 @@ typedef enum VkSubpassContents {
     VK_SUBPASS_CONTENTS_MAX_ENUM = 0x7FFFFFFF
 } VkSubpassContents;
 
-typedef enum VkObjectType {
-    VK_OBJECT_TYPE_UNKNOWN = 0,
-    VK_OBJECT_TYPE_INSTANCE = 1,
-    VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2,
-    VK_OBJECT_TYPE_DEVICE = 3,
-    VK_OBJECT_TYPE_QUEUE = 4,
-    VK_OBJECT_TYPE_SEMAPHORE = 5,
-    VK_OBJECT_TYPE_COMMAND_BUFFER = 6,
-    VK_OBJECT_TYPE_FENCE = 7,
-    VK_OBJECT_TYPE_DEVICE_MEMORY = 8,
-    VK_OBJECT_TYPE_BUFFER = 9,
-    VK_OBJECT_TYPE_IMAGE = 10,
-    VK_OBJECT_TYPE_EVENT = 11,
-    VK_OBJECT_TYPE_QUERY_POOL = 12,
-    VK_OBJECT_TYPE_BUFFER_VIEW = 13,
-    VK_OBJECT_TYPE_IMAGE_VIEW = 14,
-    VK_OBJECT_TYPE_SHADER_MODULE = 15,
-    VK_OBJECT_TYPE_PIPELINE_CACHE = 16,
-    VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17,
-    VK_OBJECT_TYPE_RENDER_PASS = 18,
-    VK_OBJECT_TYPE_PIPELINE = 19,
-    VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20,
-    VK_OBJECT_TYPE_SAMPLER = 21,
-    VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22,
-    VK_OBJECT_TYPE_DESCRIPTOR_SET = 23,
-    VK_OBJECT_TYPE_FRAMEBUFFER = 24,
-    VK_OBJECT_TYPE_COMMAND_POOL = 25,
-    VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION = 1000156000,
-    VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE = 1000085000,
-    VK_OBJECT_TYPE_SURFACE_KHR = 1000000000,
-    VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000,
-    VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000,
-    VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001,
-    VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000,
-    VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000,
-    VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR = 1000165000,
-    VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000,
-    VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL = 1000210000,
-    VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR = 1000268000,
-    VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV = 1000277000,
-    VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = 1000295000,
-    VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,
-    VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,
-    VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV = VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR,
-    VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF
-} VkObjectType;
+typedef enum VkAccessFlagBits {
+    VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001,
+    VK_ACCESS_INDEX_READ_BIT = 0x00000002,
+    VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004,
+    VK_ACCESS_UNIFORM_READ_BIT = 0x00000008,
+    VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 0x00000010,
+    VK_ACCESS_SHADER_READ_BIT = 0x00000020,
+    VK_ACCESS_SHADER_WRITE_BIT = 0x00000040,
+    VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 0x00000080,
+    VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100,
+    VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200,
+    VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400,
+    VK_ACCESS_TRANSFER_READ_BIT = 0x00000800,
+    VK_ACCESS_TRANSFER_WRITE_BIT = 0x00001000,
+    VK_ACCESS_HOST_READ_BIT = 0x00002000,
+    VK_ACCESS_HOST_WRITE_BIT = 0x00004000,
+    VK_ACCESS_MEMORY_READ_BIT = 0x00008000,
+    VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000,
+    VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000,
+    VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000,
+    VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000,
+    VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000,
+    VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000,
+    VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000,
+    VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000,
+    VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000,
+    VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000,
+    VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000,
+    VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000,
+    VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR,
+    VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,
+    VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
+} VkAccessFlagBits;
+typedef VkFlags VkAccessFlags;
 
-typedef enum VkVendorId {
-    VK_VENDOR_ID_VIV = 0x10001,
-    VK_VENDOR_ID_VSI = 0x10002,
-    VK_VENDOR_ID_KAZAN = 0x10003,
-    VK_VENDOR_ID_CODEPLAY = 0x10004,
-    VK_VENDOR_ID_MESA = 0x10005,
-    VK_VENDOR_ID_MAX_ENUM = 0x7FFFFFFF
-} VkVendorId;
-typedef VkFlags VkInstanceCreateFlags;
+typedef enum VkImageAspectFlagBits {
+    VK_IMAGE_ASPECT_COLOR_BIT = 0x00000001,
+    VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002,
+    VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004,
+    VK_IMAGE_ASPECT_METADATA_BIT = 0x00000008,
+    VK_IMAGE_ASPECT_PLANE_0_BIT = 0x00000010,
+    VK_IMAGE_ASPECT_PLANE_1_BIT = 0x00000020,
+    VK_IMAGE_ASPECT_PLANE_2_BIT = 0x00000040,
+    VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 0x00000080,
+    VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 0x00000100,
+    VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 0x00000200,
+    VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = 0x00000400,
+    VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = VK_IMAGE_ASPECT_PLANE_0_BIT,
+    VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = VK_IMAGE_ASPECT_PLANE_1_BIT,
+    VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = VK_IMAGE_ASPECT_PLANE_2_BIT,
+    VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
+} VkImageAspectFlagBits;
+typedef VkFlags VkImageAspectFlags;
 
 typedef enum VkFormatFeatureFlagBits {
     VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 0x00000001,
@@ -1493,21 +1538,6 @@ typedef enum VkFormatFeatureFlagBits {
 } VkFormatFeatureFlagBits;
 typedef VkFlags VkFormatFeatureFlags;
 
-typedef enum VkImageUsageFlagBits {
-    VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 0x00000001,
-    VK_IMAGE_USAGE_TRANSFER_DST_BIT = 0x00000002,
-    VK_IMAGE_USAGE_SAMPLED_BIT = 0x00000004,
-    VK_IMAGE_USAGE_STORAGE_BIT = 0x00000008,
-    VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000010,
-    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_SHADING_RATE_IMAGE_BIT_NV = 0x00000100,
-    VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x00000200,
-    VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
-} VkImageUsageFlagBits;
-typedef VkFlags VkImageUsageFlags;
-
 typedef enum VkImageCreateFlagBits {
     VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 0x00000001,
     VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
@@ -1546,15 +1576,29 @@ typedef enum VkSampleCountFlagBits {
 } VkSampleCountFlagBits;
 typedef VkFlags VkSampleCountFlags;
 
-typedef 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
-} VkQueueFlagBits;
-typedef VkFlags VkQueueFlags;
+typedef enum VkImageUsageFlagBits {
+    VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 0x00000001,
+    VK_IMAGE_USAGE_TRANSFER_DST_BIT = 0x00000002,
+    VK_IMAGE_USAGE_SAMPLED_BIT = 0x00000004,
+    VK_IMAGE_USAGE_STORAGE_BIT = 0x00000008,
+    VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000010,
+    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_SHADING_RATE_IMAGE_BIT_NV = 0x00000100,
+    VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x00000200,
+    VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
+} VkImageUsageFlagBits;
+typedef VkFlags VkImageUsageFlags;
+typedef VkFlags VkInstanceCreateFlags;
+
+typedef enum VkMemoryHeapFlagBits {
+    VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0x00000001,
+    VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = 0x00000002,
+    VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT,
+    VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
+} VkMemoryHeapFlagBits;
+typedef VkFlags VkMemoryHeapFlags;
 
 typedef enum VkMemoryPropertyFlagBits {
     VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 0x00000001,
@@ -1569,13 +1613,15 @@ typedef enum VkMemoryPropertyFlagBits {
 } VkMemoryPropertyFlagBits;
 typedef VkFlags VkMemoryPropertyFlags;
 
-typedef enum VkMemoryHeapFlagBits {
-    VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0x00000001,
-    VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = 0x00000002,
-    VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT,
-    VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
-} VkMemoryHeapFlagBits;
-typedef VkFlags VkMemoryHeapFlags;
+typedef 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
+} VkQueueFlagBits;
+typedef VkFlags VkQueueFlags;
 typedef VkFlags VkDeviceCreateFlags;
 
 typedef enum VkDeviceQueueCreateFlagBits {
@@ -1618,24 +1664,11 @@ typedef enum VkPipelineStageFlagBits {
 typedef VkFlags VkPipelineStageFlags;
 typedef VkFlags VkMemoryMapFlags;
 
-typedef enum VkImageAspectFlagBits {
-    VK_IMAGE_ASPECT_COLOR_BIT = 0x00000001,
-    VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002,
-    VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004,
-    VK_IMAGE_ASPECT_METADATA_BIT = 0x00000008,
-    VK_IMAGE_ASPECT_PLANE_0_BIT = 0x00000010,
-    VK_IMAGE_ASPECT_PLANE_1_BIT = 0x00000020,
-    VK_IMAGE_ASPECT_PLANE_2_BIT = 0x00000040,
-    VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 0x00000080,
-    VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 0x00000100,
-    VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 0x00000200,
-    VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = 0x00000400,
-    VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = VK_IMAGE_ASPECT_PLANE_0_BIT,
-    VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = VK_IMAGE_ASPECT_PLANE_1_BIT,
-    VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = VK_IMAGE_ASPECT_PLANE_2_BIT,
-    VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
-} VkImageAspectFlagBits;
-typedef VkFlags VkImageAspectFlags;
+typedef enum VkSparseMemoryBindFlagBits {
+    VK_SPARSE_MEMORY_BIND_METADATA_BIT = 0x00000001,
+    VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
+} VkSparseMemoryBindFlagBits;
+typedef VkFlags VkSparseMemoryBindFlags;
 
 typedef enum VkSparseImageFormatFlagBits {
     VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 0x00000001,
@@ -1645,12 +1678,6 @@ typedef enum VkSparseImageFormatFlagBits {
 } VkSparseImageFormatFlagBits;
 typedef VkFlags VkSparseImageFormatFlags;
 
-typedef enum VkSparseMemoryBindFlagBits {
-    VK_SPARSE_MEMORY_BIND_METADATA_BIT = 0x00000001,
-    VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
-} VkSparseMemoryBindFlagBits;
-typedef VkFlags VkSparseMemoryBindFlags;
-
 typedef enum VkFenceCreateFlagBits {
     VK_FENCE_CREATE_SIGNALED_BIT = 0x00000001,
     VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
@@ -1658,7 +1685,6 @@ typedef enum VkFenceCreateFlagBits {
 typedef VkFlags VkFenceCreateFlags;
 typedef VkFlags VkSemaphoreCreateFlags;
 typedef VkFlags VkEventCreateFlags;
-typedef VkFlags VkQueryPoolCreateFlags;
 
 typedef enum VkQueryPipelineStatisticFlagBits {
     VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 0x00000001,
@@ -1675,6 +1701,7 @@ typedef enum VkQueryPipelineStatisticFlagBits {
     VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
 } VkQueryPipelineStatisticFlagBits;
 typedef VkFlags VkQueryPipelineStatisticFlags;
+typedef VkFlags VkQueryPoolCreateFlags;
 
 typedef enum VkQueryResultFlagBits {
     VK_QUERY_RESULT_64_BIT = 0x00000001,
@@ -1738,6 +1765,15 @@ typedef enum VkPipelineCacheCreateFlagBits {
 } VkPipelineCacheCreateFlagBits;
 typedef VkFlags VkPipelineCacheCreateFlags;
 
+typedef enum VkColorComponentFlagBits {
+    VK_COLOR_COMPONENT_R_BIT = 0x00000001,
+    VK_COLOR_COMPONENT_G_BIT = 0x00000002,
+    VK_COLOR_COMPONENT_B_BIT = 0x00000004,
+    VK_COLOR_COMPONENT_A_BIT = 0x00000008,
+    VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
+} VkColorComponentFlagBits;
+typedef VkFlags VkColorComponentFlags;
+
 typedef enum VkPipelineCreateFlagBits {
     VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0x00000001,
     VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 0x00000002,
@@ -1796,11 +1832,6 @@ typedef enum VkShaderStageFlagBits {
     VK_SHADER_STAGE_CALLABLE_BIT_NV = VK_SHADER_STAGE_CALLABLE_BIT_KHR,
     VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
 } VkShaderStageFlagBits;
-typedef VkFlags VkPipelineVertexInputStateCreateFlags;
-typedef VkFlags VkPipelineInputAssemblyStateCreateFlags;
-typedef VkFlags VkPipelineTessellationStateCreateFlags;
-typedef VkFlags VkPipelineViewportStateCreateFlags;
-typedef VkFlags VkPipelineRasterizationStateCreateFlags;
 
 typedef enum VkCullModeFlagBits {
     VK_CULL_MODE_NONE = 0,
@@ -1810,18 +1841,14 @@ typedef enum VkCullModeFlagBits {
     VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
 } VkCullModeFlagBits;
 typedef VkFlags VkCullModeFlags;
+typedef VkFlags VkPipelineVertexInputStateCreateFlags;
+typedef VkFlags VkPipelineInputAssemblyStateCreateFlags;
+typedef VkFlags VkPipelineTessellationStateCreateFlags;
+typedef VkFlags VkPipelineViewportStateCreateFlags;
+typedef VkFlags VkPipelineRasterizationStateCreateFlags;
 typedef VkFlags VkPipelineMultisampleStateCreateFlags;
 typedef VkFlags VkPipelineDepthStencilStateCreateFlags;
 typedef VkFlags VkPipelineColorBlendStateCreateFlags;
-
-typedef enum VkColorComponentFlagBits {
-    VK_COLOR_COMPONENT_R_BIT = 0x00000001,
-    VK_COLOR_COMPONENT_G_BIT = 0x00000002,
-    VK_COLOR_COMPONENT_B_BIT = 0x00000004,
-    VK_COLOR_COMPONENT_A_BIT = 0x00000008,
-    VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
-} VkColorComponentFlagBits;
-typedef VkFlags VkColorComponentFlags;
 typedef VkFlags VkPipelineDynamicStateCreateFlags;
 typedef VkFlags VkPipelineLayoutCreateFlags;
 typedef VkFlags VkShaderStageFlags;
@@ -1833,14 +1860,6 @@ typedef enum VkSamplerCreateFlagBits {
 } VkSamplerCreateFlagBits;
 typedef VkFlags VkSamplerCreateFlags;
 
-typedef enum VkDescriptorSetLayoutCreateFlagBits {
-    VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT = 0x00000002,
-    VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = 0x00000001,
-    VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT,
-    VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
-} VkDescriptorSetLayoutCreateFlagBits;
-typedef VkFlags VkDescriptorSetLayoutCreateFlags;
-
 typedef enum VkDescriptorPoolCreateFlagBits {
     VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001,
     VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT = 0x00000002,
@@ -1850,6 +1869,30 @@ typedef enum VkDescriptorPoolCreateFlagBits {
 typedef VkFlags VkDescriptorPoolCreateFlags;
 typedef VkFlags VkDescriptorPoolResetFlags;
 
+typedef enum VkDescriptorSetLayoutCreateFlagBits {
+    VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT = 0x00000002,
+    VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = 0x00000001,
+    VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT,
+    VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
+} VkDescriptorSetLayoutCreateFlagBits;
+typedef VkFlags VkDescriptorSetLayoutCreateFlags;
+
+typedef enum VkAttachmentDescriptionFlagBits {
+    VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001,
+    VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
+} VkAttachmentDescriptionFlagBits;
+typedef VkFlags VkAttachmentDescriptionFlags;
+
+typedef enum VkDependencyFlagBits {
+    VK_DEPENDENCY_BY_REGION_BIT = 0x00000001,
+    VK_DEPENDENCY_DEVICE_GROUP_BIT = 0x00000004,
+    VK_DEPENDENCY_VIEW_LOCAL_BIT = 0x00000002,
+    VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR = VK_DEPENDENCY_VIEW_LOCAL_BIT,
+    VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR = VK_DEPENDENCY_DEVICE_GROUP_BIT,
+    VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
+} VkDependencyFlagBits;
+typedef VkFlags VkDependencyFlags;
+
 typedef enum VkFramebufferCreateFlagBits {
     VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT = 0x00000001,
     VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR = VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT,
@@ -1863,12 +1906,6 @@ typedef enum VkRenderPassCreateFlagBits {
 } VkRenderPassCreateFlagBits;
 typedef VkFlags VkRenderPassCreateFlags;
 
-typedef enum VkAttachmentDescriptionFlagBits {
-    VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001,
-    VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
-} VkAttachmentDescriptionFlagBits;
-typedef VkFlags VkAttachmentDescriptionFlags;
-
 typedef enum VkSubpassDescriptionFlagBits {
     VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX = 0x00000001,
     VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 0x00000002,
@@ -1878,51 +1915,6 @@ typedef enum VkSubpassDescriptionFlagBits {
 } VkSubpassDescriptionFlagBits;
 typedef VkFlags VkSubpassDescriptionFlags;
 
-typedef enum VkAccessFlagBits {
-    VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001,
-    VK_ACCESS_INDEX_READ_BIT = 0x00000002,
-    VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004,
-    VK_ACCESS_UNIFORM_READ_BIT = 0x00000008,
-    VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 0x00000010,
-    VK_ACCESS_SHADER_READ_BIT = 0x00000020,
-    VK_ACCESS_SHADER_WRITE_BIT = 0x00000040,
-    VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 0x00000080,
-    VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100,
-    VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200,
-    VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400,
-    VK_ACCESS_TRANSFER_READ_BIT = 0x00000800,
-    VK_ACCESS_TRANSFER_WRITE_BIT = 0x00001000,
-    VK_ACCESS_HOST_READ_BIT = 0x00002000,
-    VK_ACCESS_HOST_WRITE_BIT = 0x00004000,
-    VK_ACCESS_MEMORY_READ_BIT = 0x00008000,
-    VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000,
-    VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000,
-    VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000,
-    VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000,
-    VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000,
-    VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000,
-    VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000,
-    VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000,
-    VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000,
-    VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000,
-    VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000,
-    VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000,
-    VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR,
-    VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,
-    VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
-} VkAccessFlagBits;
-typedef VkFlags VkAccessFlags;
-
-typedef enum VkDependencyFlagBits {
-    VK_DEPENDENCY_BY_REGION_BIT = 0x00000001,
-    VK_DEPENDENCY_DEVICE_GROUP_BIT = 0x00000004,
-    VK_DEPENDENCY_VIEW_LOCAL_BIT = 0x00000002,
-    VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR = VK_DEPENDENCY_VIEW_LOCAL_BIT,
-    VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR = VK_DEPENDENCY_DEVICE_GROUP_BIT,
-    VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
-} VkDependencyFlagBits;
-typedef VkFlags VkDependencyFlags;
-
 typedef enum VkCommandPoolCreateFlagBits {
     VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 0x00000001,
     VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002,
@@ -1951,40 +1943,117 @@ typedef enum VkQueryControlFlagBits {
 } VkQueryControlFlagBits;
 typedef VkFlags VkQueryControlFlags;
 
-typedef enum VkCommandBufferResetFlagBits {
-    VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
-    VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
-} VkCommandBufferResetFlagBits;
-typedef VkFlags VkCommandBufferResetFlags;
+typedef enum VkCommandBufferResetFlagBits {
+    VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
+    VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
+} VkCommandBufferResetFlagBits;
+typedef VkFlags VkCommandBufferResetFlags;
+
+typedef enum VkStencilFaceFlagBits {
+    VK_STENCIL_FACE_FRONT_BIT = 0x00000001,
+    VK_STENCIL_FACE_BACK_BIT = 0x00000002,
+    VK_STENCIL_FACE_FRONT_AND_BACK = 0x00000003,
+    VK_STENCIL_FRONT_AND_BACK = VK_STENCIL_FACE_FRONT_AND_BACK,
+    VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
+} VkStencilFaceFlagBits;
+typedef VkFlags VkStencilFaceFlags;
+typedef struct VkExtent2D {
+    uint32_t    width;
+    uint32_t    height;
+} VkExtent2D;
+
+typedef struct VkExtent3D {
+    uint32_t    width;
+    uint32_t    height;
+    uint32_t    depth;
+} VkExtent3D;
+
+typedef struct VkOffset2D {
+    int32_t    x;
+    int32_t    y;
+} VkOffset2D;
+
+typedef struct VkOffset3D {
+    int32_t    x;
+    int32_t    y;
+    int32_t    z;
+} VkOffset3D;
+
+typedef struct VkRect2D {
+    VkOffset2D    offset;
+    VkExtent2D    extent;
+} VkRect2D;
+
+typedef struct VkBaseInStructure {
+    VkStructureType                    sType;
+    const struct VkBaseInStructure*    pNext;
+} VkBaseInStructure;
+
+typedef struct VkBaseOutStructure {
+    VkStructureType               sType;
+    struct VkBaseOutStructure*    pNext;
+} VkBaseOutStructure;
+
+typedef struct VkBufferMemoryBarrier {
+    VkStructureType    sType;
+    const void*        pNext;
+    VkAccessFlags      srcAccessMask;
+    VkAccessFlags      dstAccessMask;
+    uint32_t           srcQueueFamilyIndex;
+    uint32_t           dstQueueFamilyIndex;
+    VkBuffer           buffer;
+    VkDeviceSize       offset;
+    VkDeviceSize       size;
+} VkBufferMemoryBarrier;
+
+typedef struct VkDispatchIndirectCommand {
+    uint32_t    x;
+    uint32_t    y;
+    uint32_t    z;
+} VkDispatchIndirectCommand;
+
+typedef struct VkDrawIndexedIndirectCommand {
+    uint32_t    indexCount;
+    uint32_t    instanceCount;
+    uint32_t    firstIndex;
+    int32_t     vertexOffset;
+    uint32_t    firstInstance;
+} VkDrawIndexedIndirectCommand;
+
+typedef struct VkDrawIndirectCommand {
+    uint32_t    vertexCount;
+    uint32_t    instanceCount;
+    uint32_t    firstVertex;
+    uint32_t    firstInstance;
+} VkDrawIndirectCommand;
+
+typedef struct VkImageSubresourceRange {
+    VkImageAspectFlags    aspectMask;
+    uint32_t              baseMipLevel;
+    uint32_t              levelCount;
+    uint32_t              baseArrayLayer;
+    uint32_t              layerCount;
+} VkImageSubresourceRange;
 
-typedef enum VkStencilFaceFlagBits {
-    VK_STENCIL_FACE_FRONT_BIT = 0x00000001,
-    VK_STENCIL_FACE_BACK_BIT = 0x00000002,
-    VK_STENCIL_FACE_FRONT_AND_BACK = 0x00000003,
-    VK_STENCIL_FRONT_AND_BACK = VK_STENCIL_FACE_FRONT_AND_BACK,
-    VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
-} VkStencilFaceFlagBits;
-typedef VkFlags VkStencilFaceFlags;
-typedef struct VkApplicationInfo {
+typedef struct VkImageMemoryBarrier {
+    VkStructureType            sType;
+    const void*                pNext;
+    VkAccessFlags              srcAccessMask;
+    VkAccessFlags              dstAccessMask;
+    VkImageLayout              oldLayout;
+    VkImageLayout              newLayout;
+    uint32_t                   srcQueueFamilyIndex;
+    uint32_t                   dstQueueFamilyIndex;
+    VkImage                    image;
+    VkImageSubresourceRange    subresourceRange;
+} VkImageMemoryBarrier;
+
+typedef struct VkMemoryBarrier {
     VkStructureType    sType;
     const void*        pNext;
-    const char*        pApplicationName;
-    uint32_t           applicationVersion;
-    const char*        pEngineName;
-    uint32_t           engineVersion;
-    uint32_t           apiVersion;
-} VkApplicationInfo;
-
-typedef struct VkInstanceCreateInfo {
-    VkStructureType             sType;
-    const void*                 pNext;
-    VkInstanceCreateFlags       flags;
-    const VkApplicationInfo*    pApplicationInfo;
-    uint32_t                    enabledLayerCount;
-    const char* const*          ppEnabledLayerNames;
-    uint32_t                    enabledExtensionCount;
-    const char* const*          ppEnabledExtensionNames;
-} VkInstanceCreateInfo;
+    VkAccessFlags      srcAccessMask;
+    VkAccessFlags      dstAccessMask;
+} VkMemoryBarrier;
 
 typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
     void*                                       pUserData,
@@ -1992,13 +2061,6 @@ typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
     size_t                                      alignment,
     VkSystemAllocationScope                     allocationScope);
 
-typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
-    void*                                       pUserData,
-    void*                                       pOriginal,
-    size_t                                      size,
-    size_t                                      alignment,
-    VkSystemAllocationScope                     allocationScope);
-
 typedef void (VKAPI_PTR *PFN_vkFreeFunction)(
     void*                                       pUserData,
     void*                                       pMemory);
@@ -2015,6 +2077,14 @@ typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(
     VkInternalAllocationType                    allocationType,
     VkSystemAllocationScope                     allocationScope);
 
+typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
+    void*                                       pUserData,
+    void*                                       pOriginal,
+    size_t                                      size,
+    size_t                                      alignment,
+    VkSystemAllocationScope                     allocationScope);
+
+typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
 typedef struct VkAllocationCallbacks {
     void*                                   pUserData;
     PFN_vkAllocationFunction                pfnAllocation;
@@ -2024,6 +2094,51 @@ typedef struct VkAllocationCallbacks {
     PFN_vkInternalFreeNotification          pfnInternalFree;
 } VkAllocationCallbacks;
 
+typedef struct VkApplicationInfo {
+    VkStructureType    sType;
+    const void*        pNext;
+    const char*        pApplicationName;
+    uint32_t           applicationVersion;
+    const char*        pEngineName;
+    uint32_t           engineVersion;
+    uint32_t           apiVersion;
+} VkApplicationInfo;
+
+typedef struct VkFormatProperties {
+    VkFormatFeatureFlags    linearTilingFeatures;
+    VkFormatFeatureFlags    optimalTilingFeatures;
+    VkFormatFeatureFlags    bufferFeatures;
+} VkFormatProperties;
+
+typedef struct VkImageFormatProperties {
+    VkExtent3D            maxExtent;
+    uint32_t              maxMipLevels;
+    uint32_t              maxArrayLayers;
+    VkSampleCountFlags    sampleCounts;
+    VkDeviceSize          maxResourceSize;
+} VkImageFormatProperties;
+
+typedef struct VkInstanceCreateInfo {
+    VkStructureType             sType;
+    const void*                 pNext;
+    VkInstanceCreateFlags       flags;
+    const VkApplicationInfo*    pApplicationInfo;
+    uint32_t                    enabledLayerCount;
+    const char* const*          ppEnabledLayerNames;
+    uint32_t                    enabledExtensionCount;
+    const char* const*          ppEnabledExtensionNames;
+} VkInstanceCreateInfo;
+
+typedef struct VkMemoryHeap {
+    VkDeviceSize         size;
+    VkMemoryHeapFlags    flags;
+} VkMemoryHeap;
+
+typedef struct VkMemoryType {
+    VkMemoryPropertyFlags    propertyFlags;
+    uint32_t                 heapIndex;
+} VkMemoryType;
+
 typedef struct VkPhysicalDeviceFeatures {
     VkBool32    robustBufferAccess;
     VkBool32    fullDrawIndexUint32;
@@ -2082,26 +2197,6 @@ typedef struct VkPhysicalDeviceFeatures {
     VkBool32    inheritedQueries;
 } VkPhysicalDeviceFeatures;
 
-typedef struct VkFormatProperties {
-    VkFormatFeatureFlags    linearTilingFeatures;
-    VkFormatFeatureFlags    optimalTilingFeatures;
-    VkFormatFeatureFlags    bufferFeatures;
-} VkFormatProperties;
-
-typedef struct VkExtent3D {
-    uint32_t    width;
-    uint32_t    height;
-    uint32_t    depth;
-} VkExtent3D;
-
-typedef struct VkImageFormatProperties {
-    VkExtent3D            maxExtent;
-    uint32_t              maxMipLevels;
-    uint32_t              maxArrayLayers;
-    VkSampleCountFlags    sampleCounts;
-    VkDeviceSize          maxResourceSize;
-} VkImageFormatProperties;
-
 typedef struct VkPhysicalDeviceLimits {
     uint32_t              maxImageDimension1D;
     uint32_t              maxImageDimension2D;
@@ -2211,6 +2306,13 @@ typedef struct VkPhysicalDeviceLimits {
     VkDeviceSize          nonCoherentAtomSize;
 } VkPhysicalDeviceLimits;
 
+typedef struct VkPhysicalDeviceMemoryProperties {
+    uint32_t        memoryTypeCount;
+    VkMemoryType    memoryTypes[VK_MAX_MEMORY_TYPES];
+    uint32_t        memoryHeapCount;
+    VkMemoryHeap    memoryHeaps[VK_MAX_MEMORY_HEAPS];
+} VkPhysicalDeviceMemoryProperties;
+
 typedef struct VkPhysicalDeviceSparseProperties {
     VkBool32    residencyStandard2DBlockShape;
     VkBool32    residencyStandard2DMultisampleBlockShape;
@@ -2238,24 +2340,6 @@ typedef struct VkQueueFamilyProperties {
     VkExtent3D      minImageTransferGranularity;
 } VkQueueFamilyProperties;
 
-typedef struct VkMemoryType {
-    VkMemoryPropertyFlags    propertyFlags;
-    uint32_t                 heapIndex;
-} VkMemoryType;
-
-typedef struct VkMemoryHeap {
-    VkDeviceSize         size;
-    VkMemoryHeapFlags    flags;
-} VkMemoryHeap;
-
-typedef struct VkPhysicalDeviceMemoryProperties {
-    uint32_t        memoryTypeCount;
-    VkMemoryType    memoryTypes[VK_MAX_MEMORY_TYPES];
-    uint32_t        memoryHeapCount;
-    VkMemoryHeap    memoryHeaps[VK_MAX_MEMORY_HEAPS];
-} VkPhysicalDeviceMemoryProperties;
-
-typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
 typedef struct VkDeviceQueueCreateInfo {
     VkStructureType             sType;
     const void*                 pNext;
@@ -2302,13 +2386,6 @@ typedef struct VkSubmitInfo {
     const VkSemaphore*             pSignalSemaphores;
 } VkSubmitInfo;
 
-typedef struct VkMemoryAllocateInfo {
-    VkStructureType    sType;
-    const void*        pNext;
-    VkDeviceSize       allocationSize;
-    uint32_t           memoryTypeIndex;
-} VkMemoryAllocateInfo;
-
 typedef struct VkMappedMemoryRange {
     VkStructureType    sType;
     const void*        pNext;
@@ -2317,26 +2394,19 @@ typedef struct VkMappedMemoryRange {
     VkDeviceSize       size;
 } VkMappedMemoryRange;
 
+typedef struct VkMemoryAllocateInfo {
+    VkStructureType    sType;
+    const void*        pNext;
+    VkDeviceSize       allocationSize;
+    uint32_t           memoryTypeIndex;
+} VkMemoryAllocateInfo;
+
 typedef struct VkMemoryRequirements {
     VkDeviceSize    size;
     VkDeviceSize    alignment;
     uint32_t        memoryTypeBits;
 } VkMemoryRequirements;
 
-typedef struct VkSparseImageFormatProperties {
-    VkImageAspectFlags          aspectMask;
-    VkExtent3D                  imageGranularity;
-    VkSparseImageFormatFlags    flags;
-} VkSparseImageFormatProperties;
-
-typedef struct VkSparseImageMemoryRequirements {
-    VkSparseImageFormatProperties    formatProperties;
-    uint32_t                         imageMipTailFirstLod;
-    VkDeviceSize                     imageMipTailSize;
-    VkDeviceSize                     imageMipTailOffset;
-    VkDeviceSize                     imageMipTailStride;
-} VkSparseImageMemoryRequirements;
-
 typedef struct VkSparseMemoryBind {
     VkDeviceSize               resourceOffset;
     VkDeviceSize               size;
@@ -2363,12 +2433,6 @@ typedef struct VkImageSubresource {
     uint32_t              arrayLayer;
 } VkImageSubresource;
 
-typedef struct VkOffset3D {
-    int32_t    x;
-    int32_t    y;
-    int32_t    z;
-} VkOffset3D;
-
 typedef struct VkSparseImageMemoryBind {
     VkImageSubresource         subresource;
     VkOffset3D                 offset;
@@ -2399,6 +2463,20 @@ typedef struct VkBindSparseInfo {
     const VkSemaphore*                          pSignalSemaphores;
 } VkBindSparseInfo;
 
+typedef struct VkSparseImageFormatProperties {
+    VkImageAspectFlags          aspectMask;
+    VkExtent3D                  imageGranularity;
+    VkSparseImageFormatFlags    flags;
+} VkSparseImageFormatProperties;
+
+typedef struct VkSparseImageMemoryRequirements {
+    VkSparseImageFormatProperties    formatProperties;
+    uint32_t                         imageMipTailFirstLod;
+    VkDeviceSize                     imageMipTailSize;
+    VkDeviceSize                     imageMipTailOffset;
+    VkDeviceSize                     imageMipTailStride;
+} VkSparseImageMemoryRequirements;
+
 typedef struct VkFenceCreateInfo {
     VkStructureType       sType;
     const void*           pNext;
@@ -2480,14 +2558,6 @@ typedef struct VkComponentMapping {
     VkComponentSwizzle    a;
 } VkComponentMapping;
 
-typedef struct VkImageSubresourceRange {
-    VkImageAspectFlags    aspectMask;
-    uint32_t              baseMipLevel;
-    uint32_t              levelCount;
-    uint32_t              baseArrayLayer;
-    uint32_t              layerCount;
-} VkImageSubresourceRange;
-
 typedef struct VkImageViewCreateInfo {
     VkStructureType            sType;
     const void*                pNext;
@@ -2538,6 +2608,16 @@ typedef struct VkPipelineShaderStageCreateInfo {
     const VkSpecializationInfo*         pSpecializationInfo;
 } VkPipelineShaderStageCreateInfo;
 
+typedef struct VkComputePipelineCreateInfo {
+    VkStructureType                    sType;
+    const void*                        pNext;
+    VkPipelineCreateFlags              flags;
+    VkPipelineShaderStageCreateInfo    stage;
+    VkPipelineLayout                   layout;
+    VkPipeline                         basePipelineHandle;
+    int32_t                            basePipelineIndex;
+} VkComputePipelineCreateInfo;
+
 typedef struct VkVertexInputBindingDescription {
     uint32_t             binding;
     uint32_t             stride;
@@ -2585,21 +2665,6 @@ typedef struct VkViewport {
     float    maxDepth;
 } VkViewport;
 
-typedef struct VkOffset2D {
-    int32_t    x;
-    int32_t    y;
-} VkOffset2D;
-
-typedef struct VkExtent2D {
-    uint32_t    width;
-    uint32_t    height;
-} VkExtent2D;
-
-typedef struct VkRect2D {
-    VkOffset2D    offset;
-    VkExtent2D    extent;
-} VkRect2D;
-
 typedef struct VkPipelineViewportStateCreateInfo {
     VkStructureType                       sType;
     const void*                           pNext;
@@ -2709,21 +2774,11 @@ typedef struct VkGraphicsPipelineCreateInfo {
     const VkPipelineColorBlendStateCreateInfo*       pColorBlendState;
     const VkPipelineDynamicStateCreateInfo*          pDynamicState;
     VkPipelineLayout                                 layout;
-    VkRenderPass                                     renderPass;
-    uint32_t                                         subpass;
-    VkPipeline                                       basePipelineHandle;
-    int32_t                                          basePipelineIndex;
-} VkGraphicsPipelineCreateInfo;
-
-typedef struct VkComputePipelineCreateInfo {
-    VkStructureType                    sType;
-    const void*                        pNext;
-    VkPipelineCreateFlags              flags;
-    VkPipelineShaderStageCreateInfo    stage;
-    VkPipelineLayout                   layout;
-    VkPipeline                         basePipelineHandle;
-    int32_t                            basePipelineIndex;
-} VkComputePipelineCreateInfo;
+    VkRenderPass                                     renderPass;
+    uint32_t                                         subpass;
+    VkPipeline                                       basePipelineHandle;
+    int32_t                                          basePipelineIndex;
+} VkGraphicsPipelineCreateInfo;
 
 typedef struct VkPushConstantRange {
     VkShaderStageFlags    stageFlags;
@@ -2762,21 +2817,29 @@ typedef struct VkSamplerCreateInfo {
     VkBool32                unnormalizedCoordinates;
 } VkSamplerCreateInfo;
 
-typedef struct VkDescriptorSetLayoutBinding {
-    uint32_t              binding;
-    VkDescriptorType      descriptorType;
-    uint32_t              descriptorCount;
-    VkShaderStageFlags    stageFlags;
-    const VkSampler*      pImmutableSamplers;
-} VkDescriptorSetLayoutBinding;
+typedef struct VkCopyDescriptorSet {
+    VkStructureType    sType;
+    const void*        pNext;
+    VkDescriptorSet    srcSet;
+    uint32_t           srcBinding;
+    uint32_t           srcArrayElement;
+    VkDescriptorSet    dstSet;
+    uint32_t           dstBinding;
+    uint32_t           dstArrayElement;
+    uint32_t           descriptorCount;
+} VkCopyDescriptorSet;
 
-typedef struct VkDescriptorSetLayoutCreateInfo {
-    VkStructureType                        sType;
-    const void*                            pNext;
-    VkDescriptorSetLayoutCreateFlags       flags;
-    uint32_t                               bindingCount;
-    const VkDescriptorSetLayoutBinding*    pBindings;
-} VkDescriptorSetLayoutCreateInfo;
+typedef struct VkDescriptorBufferInfo {
+    VkBuffer        buffer;
+    VkDeviceSize    offset;
+    VkDeviceSize    range;
+} VkDescriptorBufferInfo;
+
+typedef struct VkDescriptorImageInfo {
+    VkSampler        sampler;
+    VkImageView      imageView;
+    VkImageLayout    imageLayout;
+} VkDescriptorImageInfo;
 
 typedef struct VkDescriptorPoolSize {
     VkDescriptorType    type;
@@ -2800,17 +2863,21 @@ typedef struct VkDescriptorSetAllocateInfo {
     const VkDescriptorSetLayout*    pSetLayouts;
 } VkDescriptorSetAllocateInfo;
 
-typedef struct VkDescriptorImageInfo {
-    VkSampler        sampler;
-    VkImageView      imageView;
-    VkImageLayout    imageLayout;
-} VkDescriptorImageInfo;
+typedef struct VkDescriptorSetLayoutBinding {
+    uint32_t              binding;
+    VkDescriptorType      descriptorType;
+    uint32_t              descriptorCount;
+    VkShaderStageFlags    stageFlags;
+    const VkSampler*      pImmutableSamplers;
+} VkDescriptorSetLayoutBinding;
 
-typedef struct VkDescriptorBufferInfo {
-    VkBuffer        buffer;
-    VkDeviceSize    offset;
-    VkDeviceSize    range;
-} VkDescriptorBufferInfo;
+typedef struct VkDescriptorSetLayoutCreateInfo {
+    VkStructureType                        sType;
+    const void*                            pNext;
+    VkDescriptorSetLayoutCreateFlags       flags;
+    uint32_t                               bindingCount;
+    const VkDescriptorSetLayoutBinding*    pBindings;
+} VkDescriptorSetLayoutCreateInfo;
 
 typedef struct VkWriteDescriptorSet {
     VkStructureType                  sType;
@@ -2825,30 +2892,6 @@ typedef struct VkWriteDescriptorSet {
     const VkBufferView*              pTexelBufferView;
 } VkWriteDescriptorSet;
 
-typedef struct VkCopyDescriptorSet {
-    VkStructureType    sType;
-    const void*        pNext;
-    VkDescriptorSet    srcSet;
-    uint32_t           srcBinding;
-    uint32_t           srcArrayElement;
-    VkDescriptorSet    dstSet;
-    uint32_t           dstBinding;
-    uint32_t           dstArrayElement;
-    uint32_t           descriptorCount;
-} VkCopyDescriptorSet;
-
-typedef struct VkFramebufferCreateInfo {
-    VkStructureType             sType;
-    const void*                 pNext;
-    VkFramebufferCreateFlags    flags;
-    VkRenderPass                renderPass;
-    uint32_t                    attachmentCount;
-    const VkImageView*          pAttachments;
-    uint32_t                    width;
-    uint32_t                    height;
-    uint32_t                    layers;
-} VkFramebufferCreateInfo;
-
 typedef struct VkAttachmentDescription {
     VkAttachmentDescriptionFlags    flags;
     VkFormat                        format;
@@ -2866,6 +2909,18 @@ typedef struct VkAttachmentReference {
     VkImageLayout    layout;
 } VkAttachmentReference;
 
+typedef struct VkFramebufferCreateInfo {
+    VkStructureType             sType;
+    const void*                 pNext;
+    VkFramebufferCreateFlags    flags;
+    VkRenderPass                renderPass;
+    uint32_t                    attachmentCount;
+    const VkImageView*          pAttachments;
+    uint32_t                    width;
+    uint32_t                    height;
+    uint32_t                    layers;
+} VkFramebufferCreateInfo;
+
 typedef struct VkSubpassDescription {
     VkSubpassDescriptionFlags       flags;
     VkPipelineBindPoint             pipelineBindPoint;
@@ -2947,21 +3002,6 @@ typedef struct VkImageSubresourceLayers {
     uint32_t              layerCount;
 } VkImageSubresourceLayers;
 
-typedef struct VkImageCopy {
-    VkImageSubresourceLayers    srcSubresource;
-    VkOffset3D                  srcOffset;
-    VkImageSubresourceLayers    dstSubresource;
-    VkOffset3D                  dstOffset;
-    VkExtent3D                  extent;
-} VkImageCopy;
-
-typedef struct VkImageBlit {
-    VkImageSubresourceLayers    srcSubresource;
-    VkOffset3D                  srcOffsets[2];
-    VkImageSubresourceLayers    dstSubresource;
-    VkOffset3D                  dstOffsets[2];
-} VkImageBlit;
-
 typedef struct VkBufferImageCopy {
     VkDeviceSize                bufferOffset;
     uint32_t                    bufferRowLength;
@@ -2999,6 +3039,21 @@ typedef struct VkClearRect {
     uint32_t    layerCount;
 } VkClearRect;
 
+typedef struct VkImageBlit {
+    VkImageSubresourceLayers    srcSubresource;
+    VkOffset3D                  srcOffsets[2];
+    VkImageSubresourceLayers    dstSubresource;
+    VkOffset3D                  dstOffsets[2];
+} VkImageBlit;
+
+typedef struct VkImageCopy {
+    VkImageSubresourceLayers    srcSubresource;
+    VkOffset3D                  srcOffset;
+    VkImageSubresourceLayers    dstSubresource;
+    VkOffset3D                  dstOffset;
+    VkExtent3D                  extent;
+} VkImageCopy;
+
 typedef struct VkImageResolve {
     VkImageSubresourceLayers    srcSubresource;
     VkOffset3D                  srcOffset;
@@ -3007,38 +3062,6 @@ typedef struct VkImageResolve {
     VkExtent3D                  extent;
 } VkImageResolve;
 
-typedef struct VkMemoryBarrier {
-    VkStructureType    sType;
-    const void*        pNext;
-    VkAccessFlags      srcAccessMask;
-    VkAccessFlags      dstAccessMask;
-} VkMemoryBarrier;
-
-typedef struct VkBufferMemoryBarrier {
-    VkStructureType    sType;
-    const void*        pNext;
-    VkAccessFlags      srcAccessMask;
-    VkAccessFlags      dstAccessMask;
-    uint32_t           srcQueueFamilyIndex;
-    uint32_t           dstQueueFamilyIndex;
-    VkBuffer           buffer;
-    VkDeviceSize       offset;
-    VkDeviceSize       size;
-} VkBufferMemoryBarrier;
-
-typedef struct VkImageMemoryBarrier {
-    VkStructureType            sType;
-    const void*                pNext;
-    VkAccessFlags              srcAccessMask;
-    VkAccessFlags              dstAccessMask;
-    VkImageLayout              oldLayout;
-    VkImageLayout              newLayout;
-    uint32_t                   srcQueueFamilyIndex;
-    uint32_t                   dstQueueFamilyIndex;
-    VkImage                    image;
-    VkImageSubresourceRange    subresourceRange;
-} VkImageMemoryBarrier;
-
 typedef struct VkRenderPassBeginInfo {
     VkStructureType        sType;
     const void*            pNext;
@@ -3049,37 +3072,6 @@ typedef struct VkRenderPassBeginInfo {
     const VkClearValue*    pClearValues;
 } VkRenderPassBeginInfo;
 
-typedef struct VkDispatchIndirectCommand {
-    uint32_t    x;
-    uint32_t    y;
-    uint32_t    z;
-} VkDispatchIndirectCommand;
-
-typedef struct VkDrawIndexedIndirectCommand {
-    uint32_t    indexCount;
-    uint32_t    instanceCount;
-    uint32_t    firstIndex;
-    int32_t     vertexOffset;
-    uint32_t    firstInstance;
-} VkDrawIndexedIndirectCommand;
-
-typedef struct VkDrawIndirectCommand {
-    uint32_t    vertexCount;
-    uint32_t    instanceCount;
-    uint32_t    firstVertex;
-    uint32_t    firstInstance;
-} VkDrawIndirectCommand;
-
-typedef struct VkBaseOutStructure {
-    VkStructureType               sType;
-    struct VkBaseOutStructure*    pNext;
-} VkBaseOutStructure;
-
-typedef struct VkBaseInStructure {
-    VkStructureType                    sType;
-    const struct VkBaseInStructure*    pNext;
-} VkBaseInStructure;
-
 typedef VkResult (VKAPI_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance);
 typedef void (VKAPI_PTR *PFN_vkDestroyInstance)(VkInstance instance, const VkAllocationCallbacks* pAllocator);
 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDevices)(VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices);
@@ -4356,8 +4348,6 @@ typedef struct VkMemoryRequirements2 {
     VkMemoryRequirements    memoryRequirements;
 } VkMemoryRequirements2;
 
-typedef VkMemoryRequirements2 VkMemoryRequirements2KHR;
-
 typedef struct VkSparseImageMemoryRequirements2 {
     VkStructureType                    sType;
     void*                              pNext;
@@ -4885,7 +4875,6 @@ VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupport(
 // 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
 
-typedef uint64_t VkDeviceAddress;
 #define VK_MAX_DRIVER_NAME_SIZE           256
 #define VK_MAX_DRIVER_INFO_SIZE           256
 
@@ -5681,8 +5670,8 @@ typedef enum VkCompositeAlphaFlagBitsKHR {
     VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 0x00000008,
     VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
 } VkCompositeAlphaFlagBitsKHR;
-typedef VkFlags VkSurfaceTransformFlagsKHR;
 typedef VkFlags VkCompositeAlphaFlagsKHR;
+typedef VkFlags VkSurfaceTransformFlagsKHR;
 typedef struct VkSurfaceCapabilitiesKHR {
     uint32_t                         minImageCount;
     uint32_t                         maxImageCount;
@@ -5902,6 +5891,7 @@ VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR)
 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR)
 #define VK_KHR_DISPLAY_SPEC_VERSION       23
 #define VK_KHR_DISPLAY_EXTENSION_NAME     "VK_KHR_display"
+typedef VkFlags VkDisplayModeCreateFlagsKHR;
 
 typedef enum VkDisplayPlaneAlphaFlagBitsKHR {
     VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
@@ -5911,28 +5901,12 @@ typedef enum VkDisplayPlaneAlphaFlagBitsKHR {
     VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
 } VkDisplayPlaneAlphaFlagBitsKHR;
 typedef VkFlags VkDisplayPlaneAlphaFlagsKHR;
-typedef VkFlags VkDisplayModeCreateFlagsKHR;
 typedef VkFlags VkDisplaySurfaceCreateFlagsKHR;
-typedef struct VkDisplayPropertiesKHR {
-    VkDisplayKHR                  display;
-    const char*                   displayName;
-    VkExtent2D                    physicalDimensions;
-    VkExtent2D                    physicalResolution;
-    VkSurfaceTransformFlagsKHR    supportedTransforms;
-    VkBool32                      planeReorderPossible;
-    VkBool32                      persistentContent;
-} VkDisplayPropertiesKHR;
-
 typedef struct VkDisplayModeParametersKHR {
     VkExtent2D    visibleRegion;
     uint32_t      refreshRate;
 } VkDisplayModeParametersKHR;
 
-typedef struct VkDisplayModePropertiesKHR {
-    VkDisplayModeKHR              displayMode;
-    VkDisplayModeParametersKHR    parameters;
-} VkDisplayModePropertiesKHR;
-
 typedef struct VkDisplayModeCreateInfoKHR {
     VkStructureType                sType;
     const void*                    pNext;
@@ -5940,6 +5914,11 @@ typedef struct VkDisplayModeCreateInfoKHR {
     VkDisplayModeParametersKHR     parameters;
 } VkDisplayModeCreateInfoKHR;
 
+typedef struct VkDisplayModePropertiesKHR {
+    VkDisplayModeKHR              displayMode;
+    VkDisplayModeParametersKHR    parameters;
+} VkDisplayModePropertiesKHR;
+
 typedef struct VkDisplayPlaneCapabilitiesKHR {
     VkDisplayPlaneAlphaFlagsKHR    supportedAlpha;
     VkOffset2D                     minSrcPosition;
@@ -5957,6 +5936,16 @@ typedef struct VkDisplayPlanePropertiesKHR {
     uint32_t        currentStackIndex;
 } VkDisplayPlanePropertiesKHR;
 
+typedef struct VkDisplayPropertiesKHR {
+    VkDisplayKHR                  display;
+    const char*                   displayName;
+    VkExtent2D                    physicalDimensions;
+    VkExtent2D                    physicalResolution;
+    VkSurfaceTransformFlagsKHR    supportedTransforms;
+    VkBool32                      planeReorderPossible;
+    VkBool32                      persistentContent;
+} VkDisplayPropertiesKHR;
+
 typedef struct VkDisplaySurfaceCreateInfoKHR {
     VkStructureType                   sType;
     const void*                       pNext;
@@ -6919,6 +6908,8 @@ typedef VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2KHR;
 
 typedef VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2KHR;
 
+typedef VkMemoryRequirements2 VkMemoryRequirements2KHR;
+
 typedef VkSparseImageMemoryRequirements2 VkSparseImageMemoryRequirements2KHR;
 
 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2KHR)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
@@ -8377,8 +8368,8 @@ typedef enum VkDebugUtilsMessageTypeFlagBitsEXT {
     VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
 } VkDebugUtilsMessageTypeFlagBitsEXT;
 typedef VkFlags VkDebugUtilsMessageTypeFlagsEXT;
-typedef VkFlags VkDebugUtilsMessengerCreateFlagsEXT;
 typedef VkFlags VkDebugUtilsMessageSeverityFlagsEXT;
+typedef VkFlags VkDebugUtilsMessengerCreateFlagsEXT;
 typedef struct VkDebugUtilsLabelEXT {
     VkStructureType    sType;
     const void*        pNext;
@@ -8415,16 +8406,6 @@ typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)(
     const VkDebugUtilsMessengerCallbackDataEXT*      pCallbackData,
     void*                                            pUserData);
 
-typedef struct VkDebugUtilsObjectTagInfoEXT {
-    VkStructureType    sType;
-    const void*        pNext;
-    VkObjectType       objectType;
-    uint64_t           objectHandle;
-    uint64_t           tagName;
-    size_t             tagSize;
-    const void*        pTag;
-} VkDebugUtilsObjectTagInfoEXT;
-
 typedef struct VkDebugUtilsMessengerCreateInfoEXT {
     VkStructureType                         sType;
     const void*                             pNext;
@@ -8435,6 +8416,16 @@ typedef struct VkDebugUtilsMessengerCreateInfoEXT {
     void*                                   pUserData;
 } VkDebugUtilsMessengerCreateInfoEXT;
 
+typedef struct VkDebugUtilsObjectTagInfoEXT {
+    VkStructureType    sType;
+    const void*        pNext;
+    VkObjectType       objectType;
+    uint64_t           objectHandle;
+    uint64_t           tagName;
+    size_t             tagSize;
+    const void*        pTag;
+} VkDebugUtilsObjectTagInfoEXT;
+
 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectNameEXT)(VkDevice device, const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectTagEXT)(VkDevice device, const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
 typedef void (VKAPI_PTR *PFN_vkQueueBeginDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
@@ -10916,7 +10907,6 @@ typedef struct VkDeviceDiagnosticsConfigCreateInfoNV {
 #define VK_QCOM_render_pass_store_ops_EXTENSION_NAME "VK_QCOM_render_pass_store_ops"
 
 
-
 #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"
index e979014..03e27cb 100644 (file)
@@ -4,17 +4,7 @@
 /*
 ** Copyright (c) 2015-2020 The Khronos Group Inc.
 **
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
+** SPDX-License-Identifier: Apache-2.0
 */
 
 /*
index 09b337e..273c880 100644 (file)
@@ -4,17 +4,7 @@
 /*
 ** Copyright (c) 2015-2020 The Khronos Group Inc.
 **
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
+** SPDX-License-Identifier: Apache-2.0
 */
 
 /*
index 9f81999..651945c 100644 (file)
@@ -4,17 +4,7 @@
 /*
 ** Copyright (c) 2015-2020 The Khronos Group Inc.
 **
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
+** SPDX-License-Identifier: Apache-2.0
 */
 
 /*
index 8c96847..3208b72 100644 (file)
@@ -4,17 +4,7 @@
 /*
 ** Copyright (c) 2015-2020 The Khronos Group Inc.
 **
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
+** SPDX-License-Identifier: Apache-2.0
 */
 
 /*
index c85d243..99f097d 100644 (file)
@@ -4,17 +4,7 @@
 /*
 ** Copyright (c) 2015-2020 The Khronos Group Inc.
 **
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
+** SPDX-License-Identifier: Apache-2.0
 */
 
 /*
index ee877d9..2e62d7d 100644 (file)
@@ -4,17 +4,7 @@
 /*
 ** Copyright (c) 2015-2020 The Khronos Group Inc.
 **
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
+** SPDX-License-Identifier: Apache-2.0
 */
 
 /*
index 5278c18..f7b307e 100644 (file)
@@ -4,17 +4,7 @@
 /*
 ** Copyright (c) 2015-2020 The Khronos Group Inc.
 **
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
+** SPDX-License-Identifier: Apache-2.0
 */
 
 /*
index 4408d26..4b561ea 100644 (file)
@@ -4,17 +4,7 @@
 /*
 ** Copyright (c) 2015-2020 The Khronos Group Inc.
 **
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
+** SPDX-License-Identifier: Apache-2.0
 */
 
 /*
index 43d1407..c5441b2 100644 (file)
@@ -4,17 +4,7 @@
 /*
 ** Copyright (c) 2015-2020 The Khronos Group Inc.
 **
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
+** SPDX-License-Identifier: Apache-2.0
 */
 
 /*
index 7beada9..c54628a 100644 (file)
@@ -4,17 +4,7 @@
 /*
 ** Copyright (c) 2015-2020 The Khronos Group Inc.
 **
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
+** SPDX-License-Identifier: Apache-2.0
 */
 
 /*
index 8e9e150..436432f 100644 (file)
@@ -4,17 +4,7 @@
 /*
 ** Copyright (c) 2015-2020 The Khronos Group Inc.
 **
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
+** SPDX-License-Identifier: Apache-2.0
 */
 
 /*