ogl_beamforming

Ultrasound Beamforming Implemented with OpenGL
git clone anongit@rnpnr.xyz:ogl_beamforming.git
Log | Files | Refs | Feed | Submodules | README | LICENSE

vulkan.h (163787B)


      1 /* See LICENSE for license details. */
      2 /* NOTE(rnp): mininum subset of the vulkan headers so that we don't
      3  * have to deal with them using names that we typedef / #define
      4  */
      5 
      6 #define VK_MAKE_API_VERSION(variant, major, minor, patch) \
      7     ((((uint32_t)(variant)) << 29U) | \
      8      (((uint32_t)(major))   << 22U) | \
      9      (((uint32_t)(minor))   << 12U) | \
     10      ((uint32_t)(patch)))
     11 
     12 #define VK_MAX_DESCRIPTION_SIZE           256U
     13 #define VK_MAX_EXTENSION_NAME_SIZE        256U
     14 #define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE  256U
     15 #define VK_UUID_SIZE                      16U
     16 #define VK_LUID_SIZE                      8U
     17 #define VK_MAX_MEMORY_TYPES               32U
     18 #define VK_MAX_MEMORY_HEAPS               16U
     19 
     20 #define VK_SUBPASS_EXTERNAL               (~0U)
     21 
     22 // NOTE: keeps type safety over void *
     23 #define VK_HANDLE(kind) struct kind##_T; typedef struct kind##_T *kind;
     24 
     25 typedef uint32_t VkBool32;
     26 typedef uint32_t VkFlags;
     27 typedef uint64_t VkFlags64;
     28 typedef uint32_t VkSampleMask;
     29 typedef uint64_t VkDeviceAddress;
     30 typedef uint64_t VkDeviceSize;
     31 VK_HANDLE(VkBuffer);
     32 VK_HANDLE(VkBufferView);
     33 VK_HANDLE(VkCommandBuffer);
     34 VK_HANDLE(VkCommandPool);
     35 VK_HANDLE(VkDescriptorPool);
     36 VK_HANDLE(VkDescriptorSet);
     37 VK_HANDLE(VkDescriptorSetLayout);
     38 VK_HANDLE(VkDevice);
     39 VK_HANDLE(VkDeviceMemory);
     40 VK_HANDLE(VkFence);
     41 VK_HANDLE(VkFramebuffer);
     42 VK_HANDLE(VkImage);
     43 VK_HANDLE(VkImageView);
     44 VK_HANDLE(VkInstance);
     45 VK_HANDLE(VkPhysicalDevice);
     46 VK_HANDLE(VkPipeline);
     47 VK_HANDLE(VkPipelineCache);
     48 VK_HANDLE(VkPipelineLayout);
     49 VK_HANDLE(VkQueryPool);
     50 VK_HANDLE(VkQueue);
     51 VK_HANDLE(VkRenderPass);
     52 VK_HANDLE(VkSampler);
     53 VK_HANDLE(VkSemaphore);
     54 VK_HANDLE(VkShaderModule);
     55 VK_HANDLE(VkSurfaceKHR);
     56 VK_HANDLE(VkSwapchainKHR);
     57 
     58 typedef enum {
     59 	VK_SUCCESS               = 0,
     60 	VK_TIMEOUT               = 2,
     61 	VK_SUBOPTIMAL_KHR        = 1000001003,
     62 	VK_ERROR_OUT_OF_DATE_KHR = -1000001004,
     63 	VK_RESULT_MAX_ENUM       = 0x7FFFFFFF
     64 } VkResult;
     65 
     66 typedef enum {
     67 	VK_STRUCTURE_TYPE_APPLICATION_INFO                                                 = 0,
     68 	VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO                                             = 1,
     69 	VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO                                         = 2,
     70 	VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO                                               = 3,
     71 	VK_STRUCTURE_TYPE_SUBMIT_INFO                                                      = 4,
     72 	VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO                                             = 5,
     73 	VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE                                              = 6,
     74 	VK_STRUCTURE_TYPE_FENCE_CREATE_INFO                                                = 8,
     75 	VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO                                            = 9,
     76 	VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO                                           = 11,
     77 	VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO                                               = 12,
     78 	VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO                                                = 14,
     79 	VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO                                           = 15,
     80 	VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO                                        = 16,
     81 	VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO                                = 18,
     82 	VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO                          = 19,
     83 	VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO                        = 20,
     84 	VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO                              = 22,
     85 	VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO                         = 23,
     86 	VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO                           = 24,
     87 	VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO                         = 25,
     88 	VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO                           = 26,
     89 	VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO                               = 27,
     90 	VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO                                    = 28,
     91 	VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO                                     = 29,
     92 	VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO                                      = 30,
     93 	VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO                                = 32,
     94 	VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO                                      = 33,
     95 	VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO                                     = 34,
     96 	VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET                                             = 35,
     97 	VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO                                          = 37,
     98 	VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO                                         = 39,
     99 	VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO                                     = 40,
    100 	VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO                                        = 42,
    101 	VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO                                           = 43,
    102 	VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES                              = 49,
    103 	VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES                            = 50,
    104 	VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES                              = 51,
    105 	VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES                            = 52,
    106 	VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES                              = 53,
    107 	VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR                                        = 1000001000,
    108 	VK_STRUCTURE_TYPE_PRESENT_INFO_KHR                                                 = 1000001001,
    109 	VK_STRUCTURE_TYPE_RENDERING_INFO                                                   = 1000044000,
    110 	VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO                                        = 1000044001,
    111 	VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO                                   = 1000044002,
    112 	VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2                                       = 1000059000,
    113 	VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2                                     = 1000059001,
    114 	VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2                                              = 1000059002,
    115 	VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2                              = 1000059006,
    116 	VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO                                       = 1000060000,
    117 	VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO                                = 1000072001,
    118 	VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO                                      = 1000072002,
    119 	VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR                                 = 1000073003,
    120 	VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR                                           = 1000074002,
    121 	VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO                                     = 1000077000,
    122 	VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR                              = 1000078003,
    123 	VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR                                        = 1000079001,
    124 	VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO                                   = 1000127001,
    125 	VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT                                 = 1000128000,
    126 	VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO                                       = 1000207002,
    127 	VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO                                   = 1000207003,
    128 	VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO                                              = 1000207004,
    129 	VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO                                            = 1000207005,
    130 	VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO                                       = 1000244001,
    131 	VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT                                          = 1000247000,
    132 	VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2                                          = 1000314001,
    133 	VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2                                           = 1000314002,
    134 	VK_STRUCTURE_TYPE_DEPENDENCY_INFO                                                  = 1000314003,
    135 	VK_STRUCTURE_TYPE_SUBMIT_INFO_2                                                    = 1000314004,
    136 	VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO                                            = 1000314005,
    137 	VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO                                       = 1000314006,
    138 	VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2                                               = 1000337000,
    139 	VK_STRUCTURE_TYPE_BUFFER_COPY_2                                                    = 1000337006,
    140 	VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3                                              = 1000360000,
    141 	VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_KHR                  = 1000506000,
    142 	VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_KHR                                = 1000506001,
    143 	VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_RELAXED_EXTENDED_INSTRUCTION_FEATURES_KHR = 1000558000,
    144 	VK_STRUCTURE_TYPE_MAX_ENUM                                                         = 0x7FFFFFFF,
    145 } VkStructureType;
    146 
    147 typedef enum {
    148 	VK_OBJECT_TYPE_UNKNOWN                         = 0,
    149 	VK_OBJECT_TYPE_INSTANCE                        = 1,
    150 	VK_OBJECT_TYPE_PHYSICAL_DEVICE                 = 2,
    151 	VK_OBJECT_TYPE_DEVICE                          = 3,
    152 	VK_OBJECT_TYPE_QUEUE                           = 4,
    153 	VK_OBJECT_TYPE_SEMAPHORE                       = 5,
    154 	VK_OBJECT_TYPE_COMMAND_BUFFER                  = 6,
    155 	VK_OBJECT_TYPE_FENCE                           = 7,
    156 	VK_OBJECT_TYPE_DEVICE_MEMORY                   = 8,
    157 	VK_OBJECT_TYPE_BUFFER                          = 9,
    158 	VK_OBJECT_TYPE_IMAGE                           = 10,
    159 	VK_OBJECT_TYPE_EVENT                           = 11,
    160 	VK_OBJECT_TYPE_QUERY_POOL                      = 12,
    161 	VK_OBJECT_TYPE_BUFFER_VIEW                     = 13,
    162 	VK_OBJECT_TYPE_IMAGE_VIEW                      = 14,
    163 	VK_OBJECT_TYPE_SHADER_MODULE                   = 15,
    164 	VK_OBJECT_TYPE_PIPELINE_CACHE                  = 16,
    165 	VK_OBJECT_TYPE_PIPELINE_LAYOUT                 = 17,
    166 	VK_OBJECT_TYPE_RENDER_PASS                     = 18,
    167 	VK_OBJECT_TYPE_PIPELINE                        = 19,
    168 	VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT           = 20,
    169 	VK_OBJECT_TYPE_SAMPLER                         = 21,
    170 	VK_OBJECT_TYPE_DESCRIPTOR_POOL                 = 22,
    171 	VK_OBJECT_TYPE_DESCRIPTOR_SET                  = 23,
    172 	VK_OBJECT_TYPE_FRAMEBUFFER                     = 24,
    173 	VK_OBJECT_TYPE_COMMAND_POOL                    = 25,
    174 	VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE      = 1000085000,
    175 	VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION        = 1000156000,
    176 	VK_OBJECT_TYPE_PRIVATE_DATA_SLOT               = 1000295000,
    177 	VK_OBJECT_TYPE_SURFACE_KHR                     = 1000000000,
    178 	VK_OBJECT_TYPE_SWAPCHAIN_KHR                   = 1000001000,
    179 	VK_OBJECT_TYPE_DISPLAY_KHR                     = 1000002000,
    180 	VK_OBJECT_TYPE_DISPLAY_MODE_KHR                = 1000002001,
    181 	VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT       = 1000011000,
    182 	VK_OBJECT_TYPE_VIDEO_SESSION_KHR               = 1000023000,
    183 	VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR    = 1000023001,
    184 	VK_OBJECT_TYPE_CU_MODULE_NVX                   = 1000029000,
    185 	VK_OBJECT_TYPE_CU_FUNCTION_NVX                 = 1000029001,
    186 	VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT       = 1000128000,
    187 	VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR      = 1000150000,
    188 	VK_OBJECT_TYPE_VALIDATION_CACHE_EXT            = 1000160000,
    189 	VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV       = 1000165000,
    190 	VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL = 1000210000,
    191 	VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR          = 1000268000,
    192 	VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV     = 1000277000,
    193 	VK_OBJECT_TYPE_CUDA_MODULE_NV                  = 1000307000,
    194 	VK_OBJECT_TYPE_CUDA_FUNCTION_NV                = 1000307001,
    195 	VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA       = 1000366000,
    196 	VK_OBJECT_TYPE_MICROMAP_EXT                    = 1000396000,
    197 	VK_OBJECT_TYPE_TENSOR_ARM                      = 1000460000,
    198 	VK_OBJECT_TYPE_TENSOR_VIEW_ARM                 = 1000460001,
    199 	VK_OBJECT_TYPE_OPTICAL_FLOW_SESSION_NV         = 1000464000,
    200 	VK_OBJECT_TYPE_SHADER_EXT                      = 1000482000,
    201 	VK_OBJECT_TYPE_PIPELINE_BINARY_KHR             = 1000483000,
    202 	VK_OBJECT_TYPE_DATA_GRAPH_PIPELINE_SESSION_ARM = 1000507000,
    203 	VK_OBJECT_TYPE_EXTERNAL_COMPUTE_QUEUE_NV       = 1000556000,
    204 	VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_EXT    = 1000572000,
    205 	VK_OBJECT_TYPE_INDIRECT_EXECUTION_SET_EXT      = 1000572001,
    206 	VK_OBJECT_TYPE_MAX_ENUM                        = 0x7FFFFFFF
    207 } VkObjectType;
    208 
    209 typedef enum {
    210 	VK_PHYSICAL_DEVICE_TYPE_OTHER          = 0,
    211 	VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1,
    212 	VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU   = 2,
    213 	VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU    = 3,
    214 	VK_PHYSICAL_DEVICE_TYPE_CPU            = 4,
    215 	VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM       = 0x7FFFFFFF
    216 } VkPhysicalDeviceType;
    217 
    218 typedef enum {
    219 	VK_QUERY_TYPE_OCCLUSION                                                      = 0,
    220 	VK_QUERY_TYPE_PIPELINE_STATISTICS                                            = 1,
    221 	VK_QUERY_TYPE_TIMESTAMP                                                      = 2,
    222 	VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR                                         = 1000023000,
    223 	VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT                                  = 1000028004,
    224 	VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR                                          = 1000116000,
    225 	VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR                      = 1000150000,
    226 	VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR                  = 1000150001,
    227 	VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV                       = 1000165000,
    228 	VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL                                        = 1000210000,
    229 	VK_QUERY_TYPE_VIDEO_ENCODE_FEEDBACK_KHR                                      = 1000299000,
    230 	VK_QUERY_TYPE_MESH_PRIMITIVES_GENERATED_EXT                                  = 1000328000,
    231 	VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT                                       = 1000382000,
    232 	VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_BOTTOM_LEVEL_POINTERS_KHR = 1000386000,
    233 	VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SIZE_KHR                                = 1000386001,
    234 	VK_QUERY_TYPE_MICROMAP_SERIALIZATION_SIZE_EXT                                = 1000396000,
    235 	VK_QUERY_TYPE_MICROMAP_COMPACTED_SIZE_EXT                                    = 1000396001,
    236 	VK_QUERY_TYPE_MAX_ENUM                                                       = 0x7FFFFFFF
    237 } VkQueryType;
    238 
    239 typedef enum {
    240 	VK_SYSTEM_ALLOCATION_SCOPE_COMMAND  = 0,
    241 	VK_SYSTEM_ALLOCATION_SCOPE_OBJECT   = 1,
    242 	VK_SYSTEM_ALLOCATION_SCOPE_CACHE    = 2,
    243 	VK_SYSTEM_ALLOCATION_SCOPE_DEVICE   = 3,
    244 	VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4,
    245 	VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = 0x7FFFFFFF
    246 } VkSystemAllocationScope;
    247 
    248 typedef enum {
    249 	VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0,
    250 	VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM   = 0x7FFFFFFF
    251 } VkInternalAllocationType;
    252 
    253 typedef enum {
    254 	VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR = 0x00000001,
    255 	VK_INSTANCE_CREATE_FLAG_BITS_MAX_ENUM            = 0x7FFFFFFF
    256 } VkInstanceCreateFlagBits;
    257 typedef VkFlags VkInstanceCreateFlags;
    258 
    259 typedef enum {
    260 	VK_QUEUE_GRAPHICS_BIT         = 0x00000001,
    261 	VK_QUEUE_COMPUTE_BIT          = 0x00000002,
    262 	VK_QUEUE_TRANSFER_BIT         = 0x00000004,
    263 	VK_QUEUE_SPARSE_BINDING_BIT   = 0x00000008,
    264 	VK_QUEUE_PROTECTED_BIT        = 0x00000010,
    265 	VK_QUEUE_VIDEO_DECODE_BIT_KHR = 0x00000020,
    266 	VK_QUEUE_VIDEO_ENCODE_BIT_KHR = 0x00000040,
    267 	VK_QUEUE_OPTICAL_FLOW_BIT_NV  = 0x00000100,
    268 	VK_QUEUE_FLAG_BITS_MAX_ENUM   = 0x7FFFFFFF
    269 } VkQueueFlagBits;
    270 typedef VkFlags VkQueueFlags;
    271 
    272 typedef enum {
    273 	VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT      = 0x00000001,
    274 	VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
    275 } VkDeviceQueueCreateFlagBits;
    276 typedef VkFlags VkDeviceQueueCreateFlags;
    277 
    278 typedef enum {
    279 	VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT                          = 0x00000001,
    280 	VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT                        = 0x00000002,
    281 	VK_PIPELINE_STAGE_VERTEX_INPUT_BIT                         = 0x00000004,
    282 	VK_PIPELINE_STAGE_VERTEX_SHADER_BIT                        = 0x00000008,
    283 	VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT          = 0x00000010,
    284 	VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT       = 0x00000020,
    285 	VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT                      = 0x00000040,
    286 	VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT                      = 0x00000080,
    287 	VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT                 = 0x00000100,
    288 	VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT                  = 0x00000200,
    289 	VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT              = 0x00000400,
    290 	VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT                       = 0x00000800,
    291 	VK_PIPELINE_STAGE_TRANSFER_BIT                             = 0x00001000,
    292 	VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT                       = 0x00002000,
    293 	VK_PIPELINE_STAGE_HOST_BIT                                 = 0x00004000,
    294 	VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT                         = 0x00008000,
    295 	VK_PIPELINE_STAGE_ALL_COMMANDS_BIT                         = 0x00010000,
    296 	VK_PIPELINE_STAGE_NONE                                     = 0,
    297 	VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT               = 0x01000000,
    298 	VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT            = 0x00040000,
    299 	VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR     = 0x02000000,
    300 	VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR               = 0x00200000,
    301 	VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT         = 0x00800000,
    302 	VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000,
    303 	VK_PIPELINE_STAGE_TASK_SHADER_BIT_EXT                      = 0x00080000,
    304 	VK_PIPELINE_STAGE_MESH_SHADER_BIT_EXT                      = 0x00100000,
    305 	VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_EXT               = 0x00020000,
    306 	VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM                       = 0x7FFFFFFF
    307 } VkPipelineStageFlagBits;
    308 typedef VkFlags VkPipelineStageFlags;
    309 
    310 typedef enum {
    311 	VK_PIPELINE_STAGE_2_NONE                                     = 0ULL,
    312 	VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT                          = 0x00000001ULL,
    313 	VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT                        = 0x00000002ULL,
    314 	VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT                         = 0x00000004ULL,
    315 	VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT                        = 0x00000008ULL,
    316 	VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT          = 0x00000010ULL,
    317 	VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT       = 0x00000020ULL,
    318 	VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT                      = 0x00000040ULL,
    319 	VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT                      = 0x00000080ULL,
    320 	VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT                 = 0x00000100ULL,
    321 	VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT                  = 0x00000200ULL,
    322 	VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT              = 0x00000400ULL,
    323 	VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT                       = 0x00000800ULL,
    324 	VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT                         = 0x00001000ULL,
    325 	VK_PIPELINE_STAGE_2_TRANSFER_BIT                             = 0x00001000ULL,
    326 	VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT                       = 0x00002000ULL,
    327 	VK_PIPELINE_STAGE_2_HOST_BIT                                 = 0x00004000ULL,
    328 	VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT                         = 0x00008000ULL,
    329 	VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT                         = 0x00010000ULL,
    330 	VK_PIPELINE_STAGE_2_COPY_BIT                                 = 0x100000000ULL,
    331 	VK_PIPELINE_STAGE_2_RESOLVE_BIT                              = 0x200000000ULL,
    332 	VK_PIPELINE_STAGE_2_BLIT_BIT                                 = 0x400000000ULL,
    333 	VK_PIPELINE_STAGE_2_CLEAR_BIT                                = 0x800000000ULL,
    334 	VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT                          = 0x1000000000ULL,
    335 	VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT               = 0x2000000000ULL,
    336 	VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT            = 0x4000000000ULL,
    337 	VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR                     = 0x04000000ULL,
    338 	VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR                     = 0x08000000ULL,
    339 	VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT               = 0x01000000ULL,
    340 	VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT            = 0x00040000ULL,
    341 	VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV                = 0x00020000ULL,
    342 	VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_EXT               = 0x00020000ULL,
    343 	VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000ULL,
    344 	VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV                = 0x00400000ULL,
    345 	VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR     = 0x02000000ULL,
    346 	VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR               = 0x00200000ULL,
    347 	VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV                = 0x00200000ULL,
    348 	VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV      = 0x02000000ULL,
    349 	VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT         = 0x00800000ULL,
    350 	VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV                       = 0x00080000ULL,
    351 	VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV                       = 0x00100000ULL,
    352 	VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT                      = 0x00080000ULL,
    353 	VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT                      = 0x00100000ULL,
    354 	VK_PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI                = 0x8000000000ULL,
    355 	VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI               = 0x10000000000ULL,
    356 	VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR      = 0x10000000ULL,
    357 	VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT                   = 0x40000000ULL,
    358 	VK_PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI        = 0x20000000000ULL,
    359 	VK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV                      = 0x20000000ULL,
    360 	VK_PIPELINE_STAGE_2_CONVERT_COOPERATIVE_VECTOR_MATRIX_BIT_NV = 0x100000000000ULL,
    361 	VK_PIPELINE_STAGE_2_DATA_GRAPH_BIT_ARM                       = 0x40000000000ULL,
    362 	VK_PIPELINE_STAGE_2_COPY_INDIRECT_BIT_KHR                    = 0x400000000000ULL,
    363 	VK_PIPELINE_STAGE_2_MEMORY_DECOMPRESSION_BIT_EXT             = 0x200000000000ULL,
    364 } VkPipelineStageFlagBits2;
    365 typedef VkFlags64 VkPipelineStageFlags2;
    366 
    367 typedef enum {
    368 	VK_ACCESS_2_NONE                                          = 0ULL,
    369 	VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT                     = 0x00000001ULL,
    370 	VK_ACCESS_2_INDEX_READ_BIT                                = 0x00000002ULL,
    371 	VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT                     = 0x00000004ULL,
    372 	VK_ACCESS_2_UNIFORM_READ_BIT                              = 0x00000008ULL,
    373 	VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT                     = 0x00000010ULL,
    374 	VK_ACCESS_2_SHADER_READ_BIT                               = 0x00000020ULL,
    375 	VK_ACCESS_2_SHADER_WRITE_BIT                              = 0x00000040ULL,
    376 	VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT                     = 0x00000080ULL,
    377 	VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT                    = 0x00000100ULL,
    378 	VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT             = 0x00000200ULL,
    379 	VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT            = 0x00000400ULL,
    380 	VK_ACCESS_2_TRANSFER_READ_BIT                             = 0x00000800ULL,
    381 	VK_ACCESS_2_TRANSFER_WRITE_BIT                            = 0x00001000ULL,
    382 	VK_ACCESS_2_HOST_READ_BIT                                 = 0x00002000ULL,
    383 	VK_ACCESS_2_HOST_WRITE_BIT                                = 0x00004000ULL,
    384 	VK_ACCESS_2_MEMORY_READ_BIT                               = 0x00008000ULL,
    385 	VK_ACCESS_2_MEMORY_WRITE_BIT                              = 0x00010000ULL,
    386 	VK_ACCESS_2_SHADER_SAMPLED_READ_BIT                       = 0x100000000ULL,
    387 	VK_ACCESS_2_SHADER_STORAGE_READ_BIT                       = 0x200000000ULL,
    388 	VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT                      = 0x400000000ULL,
    389 	VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR                     = 0x800000000ULL,
    390 	VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR                    = 0x1000000000ULL,
    391 	VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR                     = 0x2000000000ULL,
    392 	VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR                    = 0x4000000000ULL,
    393 	VK_ACCESS_2_SHADER_TILE_ATTACHMENT_READ_BIT_QCOM          = 0x8000000000000ULL,
    394 	VK_ACCESS_2_SHADER_TILE_ATTACHMENT_WRITE_BIT_QCOM         = 0x10000000000000ULL,
    395 	VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT              = 0x02000000ULL,
    396 	VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT       = 0x04000000ULL,
    397 	VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT      = 0x08000000ULL,
    398 	VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT            = 0x00100000ULL,
    399 	VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV                = 0x00020000ULL,
    400 	VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV               = 0x00040000ULL,
    401 	VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_EXT               = 0x00020000ULL,
    402 	VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_EXT              = 0x00040000ULL,
    403 	VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000ULL,
    404 	VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV                = 0x00800000ULL,
    405 	VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR           = 0x00200000ULL,
    406 	VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR          = 0x00400000ULL,
    407 	VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV            = 0x00200000ULL,
    408 	VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV           = 0x00400000ULL,
    409 	VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT             = 0x01000000ULL,
    410 	VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT     = 0x00080000ULL,
    411 	VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT                = 0x20000000000ULL,
    412 	VK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI               = 0x8000000000ULL,
    413 	VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR             = 0x10000000000ULL,
    414 	VK_ACCESS_2_MICROMAP_READ_BIT_EXT                         = 0x100000000000ULL,
    415 	VK_ACCESS_2_MICROMAP_WRITE_BIT_EXT                        = 0x200000000000ULL,
    416 	VK_ACCESS_2_OPTICAL_FLOW_READ_BIT_NV                      = 0x40000000000ULL,
    417 	VK_ACCESS_2_OPTICAL_FLOW_WRITE_BIT_NV                     = 0x80000000000ULL,
    418 	VK_ACCESS_2_DATA_GRAPH_READ_BIT_ARM                       = 0x800000000000ULL,
    419 	VK_ACCESS_2_DATA_GRAPH_WRITE_BIT_ARM                      = 0x1000000000000ULL,
    420 	VK_ACCESS_2_MEMORY_DECOMPRESSION_READ_BIT_EXT             = 0x80000000000000ULL,
    421 	VK_ACCESS_2_MEMORY_DECOMPRESSION_WRITE_BIT_EXT            = 0x100000000000000ULL,
    422 } VkAccessFlagBits2;
    423 typedef VkFlags64 VkAccessFlags2;
    424 
    425 typedef VkFlags VkDeviceCreateFlags;
    426 
    427 typedef enum {
    428 	VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES       = 0,
    429 	VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY = 1,
    430 	VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM              = 0x7FFFFFFF
    431 } VkPointClippingBehavior;
    432 
    433 typedef enum {
    434 	VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT                                                           = 0x00000001,
    435 	VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT                                                           = 0x00000002,
    436 	VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT                                                    = 0x00000004,
    437 	VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT                                                    = 0x00000008,
    438 	VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT                                                    = 0x00000010,
    439 	VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT                                             = 0x00000020,
    440 	VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT                                                           = 0x00000040,
    441 	VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT                                                        = 0x00000080,
    442 	VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT                                                  = 0x00000100,
    443 	VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT                                                = 0x00000200,
    444 	VK_FORMAT_FEATURE_BLIT_SRC_BIT                                                                = 0x00000400,
    445 	VK_FORMAT_FEATURE_BLIT_DST_BIT                                                                = 0x00000800,
    446 	VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT                                             = 0x00001000,
    447 	VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT                                          = 0x00002000,
    448 	VK_FORMAT_FEATURE_TRANSFER_SRC_BIT                                                            = 0x00004000,
    449 	VK_FORMAT_FEATURE_TRANSFER_DST_BIT                                                            = 0x00008000,
    450 	VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT                                             = 0x00010000,
    451 	VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT                                                 = 0x00020000,
    452 	VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT                            = 0x00040000,
    453 	VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT           = 0x00080000,
    454 	VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT           = 0x00100000,
    455 	VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000,
    456 	VK_FORMAT_FEATURE_DISJOINT_BIT                                                                = 0x00400000,
    457 	VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT                                                  = 0x00800000,
    458 	VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT                                                = 0x01000000,
    459 	VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR                                                 = 0x02000000,
    460 	VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR                                                    = 0x04000000,
    461 	VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR                                                    = 0x10000000,
    462 	VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR                                = 0x20000000,
    463 	VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR                                    = 0x40000000,
    464 	VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM                                                          = 0x7FFFFFFF
    465 } VkFormatFeatureFlagBits;
    466 typedef VkFlags VkFormatFeatureFlags;
    467 
    468 
    469 typedef enum {
    470 	VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT                                                           = (1ULL <<  0),
    471 	VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT                                                           = (1ULL <<  1),
    472 	VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT                                                    = (1ULL <<  2),
    473 	VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT                                                    = (1ULL <<  3),
    474 	VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT                                                    = (1ULL <<  4),
    475 	VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT                                             = (1ULL <<  5),
    476 	VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT                                                           = (1ULL <<  6),
    477 	VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT                                                        = (1ULL <<  7),
    478 	VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT                                                  = (1ULL <<  8),
    479 	VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT                                                = (1ULL <<  9),
    480 	VK_FORMAT_FEATURE_2_BLIT_SRC_BIT                                                                = (1ULL << 10),
    481 	VK_FORMAT_FEATURE_2_BLIT_DST_BIT                                                                = (1ULL << 11),
    482 	VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT                                             = (1ULL << 12),
    483 	VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT                                              = (1ULL << 13),
    484 	VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT                                                            = (1ULL << 14),
    485 	VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT                                                            = (1ULL << 15),
    486 	VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT                                             = (1ULL << 16),
    487 	VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT                                                 = (1ULL << 17),
    488 	VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT                            = (1ULL << 18),
    489 	VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT           = (1ULL << 19),
    490 	VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT           = (1ULL << 20),
    491 	VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = (1ULL << 21),
    492 	VK_FORMAT_FEATURE_2_DISJOINT_BIT                                                                = (1ULL << 22),
    493 	VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT                                                  = (1ULL << 23),
    494 	VK_FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT                                                = (1ULL << 24),
    495 	VK_FORMAT_FEATURE_2_VIDEO_DECODE_OUTPUT_BIT_KHR                                                 = (1ULL << 25),
    496 	VK_FORMAT_FEATURE_2_VIDEO_DECODE_DPB_BIT_KHR                                                    = (1ULL << 26),
    497 	VK_FORMAT_FEATURE_2_VIDEO_ENCODE_INPUT_BIT_KHR                                                  = (1ULL << 27),
    498 	VK_FORMAT_FEATURE_2_VIDEO_ENCODE_DPB_BIT_KHR                                                    = (1ULL << 28),
    499 	VK_FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR                                = (1ULL << 29),
    500 	VK_FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR                                    = (1ULL << 30),
    501 	VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT                                             = (1ULL << 31),
    502 	VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT                                            = (1ULL << 32),
    503 	VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT                                          = (1ULL << 33),
    504 	VK_FORMAT_FEATURE_2_WEIGHT_IMAGE_BIT_QCOM                                                       = (1ULL << 34),
    505 	VK_FORMAT_FEATURE_2_WEIGHT_SAMPLED_IMAGE_BIT_QCOM                                               = (1ULL << 35),
    506 	VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM                                                     = (1ULL << 36),
    507 	VK_FORMAT_FEATURE_2_BOX_FILTER_SAMPLED_BIT_QCOM                                                 = (1ULL << 37),
    508 	VK_FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV                                              = (1ULL << 38),
    509 	VK_FORMAT_FEATURE_2_TENSOR_SHADER_BIT_ARM                                                       = (1ULL << 39),
    510 	VK_FORMAT_FEATURE_2_OPTICAL_FLOW_IMAGE_BIT_NV                                                   = (1ULL << 40),
    511 	VK_FORMAT_FEATURE_2_OPTICAL_FLOW_VECTOR_BIT_NV                                                  = (1ULL << 41),
    512 	VK_FORMAT_FEATURE_2_OPTICAL_FLOW_COST_BIT_NV                                                    = (1ULL << 42),
    513 	VK_FORMAT_FEATURE_2_TENSOR_IMAGE_ALIASING_BIT_ARM                                               = (1ULL << 43),
    514 
    515 	VK_FORMAT_FEATURE_2_HOST_IMAGE_TRANSFER_BIT                                                     = (1ULL << 46),
    516 
    517 	VK_FORMAT_FEATURE_2_TENSOR_DATA_GRAPH_BIT_ARM                                                   = (1ULL << 48),
    518 	VK_FORMAT_FEATURE_2_VIDEO_ENCODE_QUANTIZATION_DELTA_MAP_BIT_KHR                                 = (1ULL << 49),
    519 	VK_FORMAT_FEATURE_2_VIDEO_ENCODE_EMPHASIS_MAP_BIT_KHR                                           = (1ULL << 50),
    520 	VK_FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_RADIUS_BUFFER_BIT_NV                                 = (1ULL << 51),
    521 	VK_FORMAT_FEATURE_2_DEPTH_COPY_ON_COMPUTE_QUEUE_BIT_KHR                                         = (1ULL << 52),
    522 	VK_FORMAT_FEATURE_2_DEPTH_COPY_ON_TRANSFER_QUEUE_BIT_KHR                                        = (1ULL << 53),
    523 	VK_FORMAT_FEATURE_2_STENCIL_COPY_ON_COMPUTE_QUEUE_BIT_KHR                                       = (1ULL << 54),
    524 	VK_FORMAT_FEATURE_2_STENCIL_COPY_ON_TRANSFER_QUEUE_BIT_KHR                                      = (1ULL << 55),
    525 
    526 	VK_FORMAT_FEATURE_2_COPY_IMAGE_INDIRECT_DST_BIT_KHR                                             = (1ULL << 59),
    527 } VkFormatFeatureFlagBits2;
    528 typedef VkFlags64 VkFormatFeatureFlags2;
    529 
    530 typedef enum {
    531 	VK_IMAGE_CREATE_SPARSE_BINDING_BIT                            = 0x00000001,
    532 	VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT                          = 0x00000002,
    533 	VK_IMAGE_CREATE_SPARSE_ALIASED_BIT                            = 0x00000004,
    534 	VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT                            = 0x00000008,
    535 	VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT                           = 0x00000010,
    536 	VK_IMAGE_CREATE_ALIAS_BIT                                     = 0x00000400,
    537 	VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT               = 0x00000040,
    538 	VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT                       = 0x00000020,
    539 	VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT               = 0x00000080,
    540 	VK_IMAGE_CREATE_EXTENDED_USAGE_BIT                            = 0x00000100,
    541 	VK_IMAGE_CREATE_PROTECTED_BIT                                 = 0x00000800,
    542 	VK_IMAGE_CREATE_DISJOINT_BIT                                  = 0x00000200,
    543 	VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV                         = 0x00002000,
    544 	VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT     = 0x00001000,
    545 	VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT                            = 0x00004000,
    546 	VK_IMAGE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT      = 0x00010000,
    547 	VK_IMAGE_CREATE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_BIT_EXT = 0x00040000,
    548 	VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT                    = 0x00020000,
    549 	VK_IMAGE_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR             = 0x00100000,
    550 	VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_EXT           = 0x00008000,
    551 	VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM                            = 0x7FFFFFFF
    552 } VkImageCreateFlagBits;
    553 typedef VkFlags VkImageCreateFlags;
    554 
    555 typedef enum {
    556 	VK_SAMPLE_COUNT_1_BIT              = 0x00000001,
    557 	VK_SAMPLE_COUNT_2_BIT              = 0x00000002,
    558 	VK_SAMPLE_COUNT_4_BIT              = 0x00000004,
    559 	VK_SAMPLE_COUNT_8_BIT              = 0x00000008,
    560 	VK_SAMPLE_COUNT_16_BIT             = 0x00000010,
    561 	VK_SAMPLE_COUNT_32_BIT             = 0x00000020,
    562 	VK_SAMPLE_COUNT_64_BIT             = 0x00000040,
    563 	VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
    564 } VkSampleCountFlagBits;
    565 typedef VkFlags VkSampleCountFlags;
    566 
    567 typedef enum {
    568 	VK_IMAGE_USAGE_TRANSFER_SRC_BIT                            = 0x00000001,
    569 	VK_IMAGE_USAGE_TRANSFER_DST_BIT                            = 0x00000002,
    570 	VK_IMAGE_USAGE_SAMPLED_BIT                                 = 0x00000004,
    571 	VK_IMAGE_USAGE_STORAGE_BIT                                 = 0x00000008,
    572 	VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT                        = 0x00000010,
    573 	VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT                = 0x00000020,
    574 	VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT                    = 0x00000040,
    575 	VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT                        = 0x00000080,
    576 	VK_IMAGE_USAGE_HOST_TRANSFER_BIT                           = 0x00400000,
    577 	VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR                    = 0x00000400,
    578 	VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR                    = 0x00000800,
    579 	VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR                    = 0x00001000,
    580 	VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT                = 0x00000200,
    581 	VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR    = 0x00000100,
    582 	VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR                    = 0x00002000,
    583 	VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR                    = 0x00004000,
    584 	VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR                    = 0x00008000,
    585 	VK_IMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT            = 0x00080000,
    586 	VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI                  = 0x00040000,
    587 	VK_IMAGE_USAGE_SAMPLE_WEIGHT_BIT_QCOM                      = 0x00100000,
    588 	VK_IMAGE_USAGE_SAMPLE_BLOCK_MATCH_BIT_QCOM                 = 0x00200000,
    589 	VK_IMAGE_USAGE_TILE_MEMORY_QCOM                            = 0x08000000,
    590 	VK_IMAGE_USAGE_VIDEO_ENCODE_QUANTIZATION_DELTA_MAP_BIT_KHR = 0x02000000,
    591 	VK_IMAGE_USAGE_VIDEO_ENCODE_EMPHASIS_MAP_BIT_KHR           = 0x04000000,
    592 	VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV                   = VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
    593 	VK_IMAGE_USAGE_HOST_TRANSFER_BIT_EXT                       = VK_IMAGE_USAGE_HOST_TRANSFER_BIT,
    594 	VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM                          = 0x7FFFFFFF
    595 } VkImageUsageFlagBits;
    596 typedef VkFlags VkImageUsageFlags;
    597 
    598 typedef enum {
    599 	VK_COMPONENT_SWIZZLE_IDENTITY = 0,
    600 	VK_COMPONENT_SWIZZLE_ZERO     = 1,
    601 	VK_COMPONENT_SWIZZLE_ONE      = 2,
    602 	VK_COMPONENT_SWIZZLE_R        = 3,
    603 	VK_COMPONENT_SWIZZLE_G        = 4,
    604 	VK_COMPONENT_SWIZZLE_B        = 5,
    605 	VK_COMPONENT_SWIZZLE_A        = 6,
    606 	VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF
    607 } VkComponentSwizzle;
    608 
    609 typedef enum {
    610 	VK_IMAGE_VIEW_TYPE_1D         = 0,
    611 	VK_IMAGE_VIEW_TYPE_2D         = 1,
    612 	VK_IMAGE_VIEW_TYPE_3D         = 2,
    613 	VK_IMAGE_VIEW_TYPE_CUBE       = 3,
    614 	VK_IMAGE_VIEW_TYPE_1D_ARRAY   = 4,
    615 	VK_IMAGE_VIEW_TYPE_2D_ARRAY   = 5,
    616 	VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6,
    617 	VK_IMAGE_VIEW_TYPE_MAX_ENUM   = 0x7FFFFFFF
    618 } VkImageViewType;
    619 
    620 typedef enum VkIndexType {
    621 	VK_INDEX_TYPE_UINT16   = 0,
    622 	VK_INDEX_TYPE_UINT32   = 1,
    623 	VK_INDEX_TYPE_UINT8    = 1000265000,
    624 	VK_INDEX_TYPE_NONE_KHR = 1000165000,
    625 	VK_INDEX_TYPE_MAX_ENUM = 0x7FFFFFFF
    626 } VkIndexType;
    627 
    628 typedef enum {
    629 	VK_BLEND_FACTOR_ZERO                     = 0,
    630 	VK_BLEND_FACTOR_ONE                      = 1,
    631 	VK_BLEND_FACTOR_SRC_COLOR                = 2,
    632 	VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR      = 3,
    633 	VK_BLEND_FACTOR_DST_COLOR                = 4,
    634 	VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR      = 5,
    635 	VK_BLEND_FACTOR_SRC_ALPHA                = 6,
    636 	VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA      = 7,
    637 	VK_BLEND_FACTOR_DST_ALPHA                = 8,
    638 	VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA      = 9,
    639 	VK_BLEND_FACTOR_CONSTANT_COLOR           = 10,
    640 	VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11,
    641 	VK_BLEND_FACTOR_CONSTANT_ALPHA           = 12,
    642 	VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13,
    643 	VK_BLEND_FACTOR_SRC_ALPHA_SATURATE       = 14,
    644 	VK_BLEND_FACTOR_SRC1_COLOR               = 15,
    645 	VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR     = 16,
    646 	VK_BLEND_FACTOR_SRC1_ALPHA               = 17,
    647 	VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA     = 18,
    648 	VK_BLEND_FACTOR_MAX_ENUM                 = 0x7FFFFFFF
    649 } VkBlendFactor;
    650 
    651 typedef enum {
    652 	VK_BLEND_OP_ADD                    = 0,
    653 	VK_BLEND_OP_SUBTRACT               = 1,
    654 	VK_BLEND_OP_REVERSE_SUBTRACT       = 2,
    655 	VK_BLEND_OP_MIN                    = 3,
    656 	VK_BLEND_OP_MAX                    = 4,
    657 	VK_BLEND_OP_ZERO_EXT               = 1000148000,
    658 	VK_BLEND_OP_SRC_EXT                = 1000148001,
    659 	VK_BLEND_OP_DST_EXT                = 1000148002,
    660 	VK_BLEND_OP_SRC_OVER_EXT           = 1000148003,
    661 	VK_BLEND_OP_DST_OVER_EXT           = 1000148004,
    662 	VK_BLEND_OP_SRC_IN_EXT             = 1000148005,
    663 	VK_BLEND_OP_DST_IN_EXT             = 1000148006,
    664 	VK_BLEND_OP_SRC_OUT_EXT            = 1000148007,
    665 	VK_BLEND_OP_DST_OUT_EXT            = 1000148008,
    666 	VK_BLEND_OP_SRC_ATOP_EXT           = 1000148009,
    667 	VK_BLEND_OP_DST_ATOP_EXT           = 1000148010,
    668 	VK_BLEND_OP_XOR_EXT                = 1000148011,
    669 	VK_BLEND_OP_MULTIPLY_EXT           = 1000148012,
    670 	VK_BLEND_OP_SCREEN_EXT             = 1000148013,
    671 	VK_BLEND_OP_OVERLAY_EXT            = 1000148014,
    672 	VK_BLEND_OP_DARKEN_EXT             = 1000148015,
    673 	VK_BLEND_OP_LIGHTEN_EXT            = 1000148016,
    674 	VK_BLEND_OP_COLORDODGE_EXT         = 1000148017,
    675 	VK_BLEND_OP_COLORBURN_EXT          = 1000148018,
    676 	VK_BLEND_OP_HARDLIGHT_EXT          = 1000148019,
    677 	VK_BLEND_OP_SOFTLIGHT_EXT          = 1000148020,
    678 	VK_BLEND_OP_DIFFERENCE_EXT         = 1000148021,
    679 	VK_BLEND_OP_EXCLUSION_EXT          = 1000148022,
    680 	VK_BLEND_OP_INVERT_EXT             = 1000148023,
    681 	VK_BLEND_OP_INVERT_RGB_EXT         = 1000148024,
    682 	VK_BLEND_OP_LINEARDODGE_EXT        = 1000148025,
    683 	VK_BLEND_OP_LINEARBURN_EXT         = 1000148026,
    684 	VK_BLEND_OP_VIVIDLIGHT_EXT         = 1000148027,
    685 	VK_BLEND_OP_LINEARLIGHT_EXT        = 1000148028,
    686 	VK_BLEND_OP_PINLIGHT_EXT           = 1000148029,
    687 	VK_BLEND_OP_HARDMIX_EXT            = 1000148030,
    688 	VK_BLEND_OP_HSL_HUE_EXT            = 1000148031,
    689 	VK_BLEND_OP_HSL_SATURATION_EXT     = 1000148032,
    690 	VK_BLEND_OP_HSL_COLOR_EXT          = 1000148033,
    691 	VK_BLEND_OP_HSL_LUMINOSITY_EXT     = 1000148034,
    692 	VK_BLEND_OP_PLUS_EXT               = 1000148035,
    693 	VK_BLEND_OP_PLUS_CLAMPED_EXT       = 1000148036,
    694 	VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT = 1000148037,
    695 	VK_BLEND_OP_PLUS_DARKER_EXT        = 1000148038,
    696 	VK_BLEND_OP_MINUS_EXT              = 1000148039,
    697 	VK_BLEND_OP_MINUS_CLAMPED_EXT      = 1000148040,
    698 	VK_BLEND_OP_CONTRAST_EXT           = 1000148041,
    699 	VK_BLEND_OP_INVERT_OVG_EXT         = 1000148042,
    700 	VK_BLEND_OP_RED_EXT                = 1000148043,
    701 	VK_BLEND_OP_GREEN_EXT              = 1000148044,
    702 	VK_BLEND_OP_BLUE_EXT               = 1000148045,
    703 	VK_BLEND_OP_MAX_ENUM               = 0x7FFFFFFF
    704 } VkBlendOp;
    705 
    706 typedef enum {
    707 	VK_QUERY_POOL_CREATE_RESET_BIT_KHR      = 0x00000001,
    708 	VK_QUERY_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
    709 } VkQueryPoolCreateFlagBits;
    710 typedef VkFlags VkQueryPoolCreateFlags;
    711 
    712 typedef VkFlags VkSemaphoreCreateFlags;
    713 
    714 typedef enum {
    715 	VK_SEMAPHORE_WAIT_ANY_BIT            = 0x00000001,
    716 	VK_SEMAPHORE_WAIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
    717 } VkSemaphoreWaitFlagBits;
    718 typedef VkFlags VkSemaphoreWaitFlags;
    719 
    720 typedef enum {
    721 	VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT     = 0x00000001,
    722 	VK_IMAGE_VIEW_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000004,
    723 	VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT    = 0x00000002,
    724 	VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM                       = 0x7FFFFFFF
    725 } VkImageViewCreateFlagBits;
    726 typedef VkFlags VkImageViewCreateFlags;
    727 typedef VkFlags VkShaderModuleCreateFlags;
    728 
    729 typedef enum {
    730 	VK_COLOR_COMPONENT_R_BIT              = 0x00000001,
    731 	VK_COLOR_COMPONENT_G_BIT              = 0x00000002,
    732 	VK_COLOR_COMPONENT_B_BIT              = 0x00000004,
    733 	VK_COLOR_COMPONENT_A_BIT              = 0x00000008,
    734 	VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
    735 } VkColorComponentFlagBits;
    736 typedef VkFlags VkColorComponentFlags;
    737 
    738 typedef enum {
    739 	VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT                    = 0x00000001,
    740 	VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT                  = 0x00000002,
    741 	VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT                  = 0x00000004,
    742 	VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT                = 0x00000008,
    743 	VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT                 = 0x00000010,
    744 	VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT                       = 0x00000020,
    745 	VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT                        = 0x00000040,
    746 	VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT                = 0x00000080,
    747 	VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT        = 0x00000100,
    748 	VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 0x00000200,
    749 	VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT                 = 0x00000400,
    750 	VK_QUERY_PIPELINE_STATISTIC_TASK_SHADER_INVOCATIONS_BIT_EXT                = 0x00000800,
    751 	VK_QUERY_PIPELINE_STATISTIC_MESH_SHADER_INVOCATIONS_BIT_EXT                = 0x00001000,
    752 	VK_QUERY_PIPELINE_STATISTIC_CLUSTER_CULLING_SHADER_INVOCATIONS_BIT_HUAWEI  = 0x00002000,
    753 	VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM                             = 0x7FFFFFFF
    754 } VkQueryPipelineStatisticFlagBits;
    755 typedef VkFlags VkQueryPipelineStatisticFlags;
    756 
    757 typedef enum {
    758 	VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT                               = 0x00000001,
    759 	VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT                                  = 0x00000002,
    760 	VK_PIPELINE_CREATE_DERIVATIVE_BIT                                         = 0x00000004,
    761 	VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT                       = 0x00000008,
    762 	VK_PIPELINE_CREATE_DISPATCH_BASE_BIT                                      = 0x00000010,
    763 	VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT                  = 0x00000100,
    764 	VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT                            = 0x00000200,
    765 	VK_PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT                                = 0x08000000,
    766 	VK_PIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT                              = 0x40000000,
    767 	VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR            = 0x00004000,
    768 	VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR        = 0x00008000,
    769 	VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR               = 0x00010000,
    770 	VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR       = 0x00020000,
    771 	VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR                     = 0x00001000,
    772 	VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR                         = 0x00002000,
    773 	VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR = 0x00080000,
    774 	VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV                                   = 0x00000020,
    775 	VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT      = 0x00400000,
    776 	VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR     = 0x00200000,
    777 	VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR                             = 0x00000040,
    778 	VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR               = 0x00000080,
    779 	VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV                               = 0x00040000,
    780 	VK_PIPELINE_CREATE_LIBRARY_BIT_KHR                                        = 0x00000800,
    781 	VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT                              = 0x20000000,
    782 	VK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT             = 0x00800000,
    783 	VK_PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT                         = 0x00000400,
    784 	VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV                        = 0x00100000,
    785 	VK_PIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT                 = 0x02000000,
    786 	VK_PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT         = 0x04000000,
    787 	VK_PIPELINE_CREATE_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT                   = 0x01000000,
    788 	VK_PIPELINE_CREATE_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV               = 0x10000000,
    789 	VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM                                     = 0x7FFFFFFF
    790 } VkPipelineCreateFlagBits;
    791 typedef VkFlags VkPipelineCreateFlags;
    792 
    793 typedef enum {
    794 	VK_ACCESS_INDIRECT_COMMAND_READ_BIT                     = 0x00000001,
    795 	VK_ACCESS_INDEX_READ_BIT                                = 0x00000002,
    796 	VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT                     = 0x00000004,
    797 	VK_ACCESS_UNIFORM_READ_BIT                              = 0x00000008,
    798 	VK_ACCESS_INPUT_ATTACHMENT_READ_BIT                     = 0x00000010,
    799 	VK_ACCESS_SHADER_READ_BIT                               = 0x00000020,
    800 	VK_ACCESS_SHADER_WRITE_BIT                              = 0x00000040,
    801 	VK_ACCESS_COLOR_ATTACHMENT_READ_BIT                     = 0x00000080,
    802 	VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT                    = 0x00000100,
    803 	VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT             = 0x00000200,
    804 	VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT            = 0x00000400,
    805 	VK_ACCESS_TRANSFER_READ_BIT                             = 0x00000800,
    806 	VK_ACCESS_TRANSFER_WRITE_BIT                            = 0x00001000,
    807 	VK_ACCESS_HOST_READ_BIT                                 = 0x00002000,
    808 	VK_ACCESS_HOST_WRITE_BIT                                = 0x00004000,
    809 	VK_ACCESS_MEMORY_READ_BIT                               = 0x00008000,
    810 	VK_ACCESS_MEMORY_WRITE_BIT                              = 0x00010000,
    811 	VK_ACCESS_NONE                                          = 0,
    812 	VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT              = 0x02000000,
    813 	VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT       = 0x04000000,
    814 	VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT      = 0x08000000,
    815 	VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT            = 0x00100000,
    816 	VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT     = 0x00080000,
    817 	VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR           = 0x00200000,
    818 	VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR          = 0x00400000,
    819 	VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT             = 0x01000000,
    820 	VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000,
    821 	VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_EXT               = 0x00020000,
    822 	VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_EXT              = 0x00040000,
    823 	VK_ACCESS_FLAG_BITS_MAX_ENUM                            = 0x7FFFFFFF
    824 } VkAccessFlagBits;
    825 typedef VkFlags VkAccessFlags;
    826 
    827 typedef enum {
    828 	VK_IMAGE_ASPECT_COLOR_BIT              = 0x00000001,
    829 	VK_IMAGE_ASPECT_DEPTH_BIT              = 0x00000002,
    830 	VK_IMAGE_ASPECT_STENCIL_BIT            = 0x00000004,
    831 	VK_IMAGE_ASPECT_METADATA_BIT           = 0x00000008,
    832 	VK_IMAGE_ASPECT_PLANE_0_BIT            = 0x00000010,
    833 	VK_IMAGE_ASPECT_PLANE_1_BIT            = 0x00000020,
    834 	VK_IMAGE_ASPECT_PLANE_2_BIT            = 0x00000040,
    835 	VK_IMAGE_ASPECT_NONE                   = 0,
    836 	VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 0x00000080,
    837 	VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 0x00000100,
    838 	VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 0x00000200,
    839 	VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = 0x00000400,
    840 	VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM     = 0x7FFFFFFF
    841 } VkImageAspectFlagBits;
    842 typedef VkFlags VkImageAspectFlags;
    843 
    844 typedef enum {
    845 	VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 0x00000001,
    846 	VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR                   = 0x00000002,
    847 	VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR              = 0x00000004,
    848 	VK_SWAPCHAIN_CREATE_DEFERRED_MEMORY_ALLOCATION_BIT_EXT  = 0x00000008,
    849 	VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR              = 0x7FFFFFFF
    850 } VkSwapchainCreateFlagBitsKHR;
    851 typedef VkFlags VkSwapchainCreateFlagsKHR;
    852 
    853 typedef enum {
    854 	VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR          = 0x00000001,
    855 	VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR  = 0x00000002,
    856 	VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 0x00000004,
    857 	VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR         = 0x00000008,
    858 	VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR  = 0x7FFFFFFF
    859 } VkCompositeAlphaFlagBitsKHR;
    860 typedef VkFlags VkCompositeAlphaFlagsKHR;
    861 typedef VkFlags VkSurfaceTransformFlagsKHR;
    862 
    863 typedef enum {
    864 	VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR                     = 0x00000001,
    865 	VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR                    = 0x00000002,
    866 	VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR                   = 0x00000004,
    867 	VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR                   = 0x00000008,
    868 	VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR            = 0x00000010,
    869 	VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR  = 0x00000020,
    870 	VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 0x00000040,
    871 	VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 0x00000080,
    872 	VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR                      = 0x00000100,
    873 	VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR               = 0x7FFFFFFF
    874 } VkSurfaceTransformFlagBitsKHR;
    875 
    876 typedef enum {
    877 	VK_PRESENT_MODE_IMMEDIATE_KHR                 = 0,
    878 	VK_PRESENT_MODE_MAILBOX_KHR                   = 1,
    879 	VK_PRESENT_MODE_FIFO_KHR                      = 2,
    880 	VK_PRESENT_MODE_FIFO_RELAXED_KHR              = 3,
    881 	VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR     = 1000111000,
    882 	VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = 1000111001,
    883 	VK_PRESENT_MODE_FIFO_LATEST_READY_EXT         = 1000361000,
    884 	VK_PRESENT_MODE_MAX_ENUM_KHR                  = 0x7FFFFFFF
    885 } VkPresentModeKHR;
    886 
    887 typedef enum {
    888 	VK_FORMAT_UNDEFINED                                      = 0,
    889 	VK_FORMAT_R4G4_UNORM_PACK8                               = 1,
    890 	VK_FORMAT_R4G4B4A4_UNORM_PACK16                          = 2,
    891 	VK_FORMAT_B4G4R4A4_UNORM_PACK16                          = 3,
    892 	VK_FORMAT_R5G6B5_UNORM_PACK16                            = 4,
    893 	VK_FORMAT_B5G6R5_UNORM_PACK16                            = 5,
    894 	VK_FORMAT_R5G5B5A1_UNORM_PACK16                          = 6,
    895 	VK_FORMAT_B5G5R5A1_UNORM_PACK16                          = 7,
    896 	VK_FORMAT_A1R5G5B5_UNORM_PACK16                          = 8,
    897 	VK_FORMAT_R8_UNORM                                       = 9,
    898 	VK_FORMAT_R8_SNORM                                       = 10,
    899 	VK_FORMAT_R8_USCALED                                     = 11,
    900 	VK_FORMAT_R8_SSCALED                                     = 12,
    901 	VK_FORMAT_R8_UINT                                        = 13,
    902 	VK_FORMAT_R8_SINT                                        = 14,
    903 	VK_FORMAT_R8_SRGB                                        = 15,
    904 	VK_FORMAT_R8G8_UNORM                                     = 16,
    905 	VK_FORMAT_R8G8_SNORM                                     = 17,
    906 	VK_FORMAT_R8G8_USCALED                                   = 18,
    907 	VK_FORMAT_R8G8_SSCALED                                   = 19,
    908 	VK_FORMAT_R8G8_UINT                                      = 20,
    909 	VK_FORMAT_R8G8_SINT                                      = 21,
    910 	VK_FORMAT_R8G8_SRGB                                      = 22,
    911 	VK_FORMAT_R8G8B8_UNORM                                   = 23,
    912 	VK_FORMAT_R8G8B8_SNORM                                   = 24,
    913 	VK_FORMAT_R8G8B8_USCALED                                 = 25,
    914 	VK_FORMAT_R8G8B8_SSCALED                                 = 26,
    915 	VK_FORMAT_R8G8B8_UINT                                    = 27,
    916 	VK_FORMAT_R8G8B8_SINT                                    = 28,
    917 	VK_FORMAT_R8G8B8_SRGB                                    = 29,
    918 	VK_FORMAT_B8G8R8_UNORM                                   = 30,
    919 	VK_FORMAT_B8G8R8_SNORM                                   = 31,
    920 	VK_FORMAT_B8G8R8_USCALED                                 = 32,
    921 	VK_FORMAT_B8G8R8_SSCALED                                 = 33,
    922 	VK_FORMAT_B8G8R8_UINT                                    = 34,
    923 	VK_FORMAT_B8G8R8_SINT                                    = 35,
    924 	VK_FORMAT_B8G8R8_SRGB                                    = 36,
    925 	VK_FORMAT_R8G8B8A8_UNORM                                 = 37,
    926 	VK_FORMAT_R8G8B8A8_SNORM                                 = 38,
    927 	VK_FORMAT_R8G8B8A8_USCALED                               = 39,
    928 	VK_FORMAT_R8G8B8A8_SSCALED                               = 40,
    929 	VK_FORMAT_R8G8B8A8_UINT                                  = 41,
    930 	VK_FORMAT_R8G8B8A8_SINT                                  = 42,
    931 	VK_FORMAT_R8G8B8A8_SRGB                                  = 43,
    932 	VK_FORMAT_B8G8R8A8_UNORM                                 = 44,
    933 	VK_FORMAT_B8G8R8A8_SNORM                                 = 45,
    934 	VK_FORMAT_B8G8R8A8_USCALED                               = 46,
    935 	VK_FORMAT_B8G8R8A8_SSCALED                               = 47,
    936 	VK_FORMAT_B8G8R8A8_UINT                                  = 48,
    937 	VK_FORMAT_B8G8R8A8_SINT                                  = 49,
    938 	VK_FORMAT_B8G8R8A8_SRGB                                  = 50,
    939 	VK_FORMAT_A8B8G8R8_UNORM_PACK32                          = 51,
    940 	VK_FORMAT_A8B8G8R8_SNORM_PACK32                          = 52,
    941 	VK_FORMAT_A8B8G8R8_USCALED_PACK32                        = 53,
    942 	VK_FORMAT_A8B8G8R8_SSCALED_PACK32                        = 54,
    943 	VK_FORMAT_A8B8G8R8_UINT_PACK32                           = 55,
    944 	VK_FORMAT_A8B8G8R8_SINT_PACK32                           = 56,
    945 	VK_FORMAT_A8B8G8R8_SRGB_PACK32                           = 57,
    946 	VK_FORMAT_A2R10G10B10_UNORM_PACK32                       = 58,
    947 	VK_FORMAT_A2R10G10B10_SNORM_PACK32                       = 59,
    948 	VK_FORMAT_A2R10G10B10_USCALED_PACK32                     = 60,
    949 	VK_FORMAT_A2R10G10B10_SSCALED_PACK32                     = 61,
    950 	VK_FORMAT_A2R10G10B10_UINT_PACK32                        = 62,
    951 	VK_FORMAT_A2R10G10B10_SINT_PACK32                        = 63,
    952 	VK_FORMAT_A2B10G10R10_UNORM_PACK32                       = 64,
    953 	VK_FORMAT_A2B10G10R10_SNORM_PACK32                       = 65,
    954 	VK_FORMAT_A2B10G10R10_USCALED_PACK32                     = 66,
    955 	VK_FORMAT_A2B10G10R10_SSCALED_PACK32                     = 67,
    956 	VK_FORMAT_A2B10G10R10_UINT_PACK32                        = 68,
    957 	VK_FORMAT_A2B10G10R10_SINT_PACK32                        = 69,
    958 	VK_FORMAT_R16_UNORM                                      = 70,
    959 	VK_FORMAT_R16_SNORM                                      = 71,
    960 	VK_FORMAT_R16_USCALED                                    = 72,
    961 	VK_FORMAT_R16_SSCALED                                    = 73,
    962 	VK_FORMAT_R16_UINT                                       = 74,
    963 	VK_FORMAT_R16_SINT                                       = 75,
    964 	VK_FORMAT_R16_SFLOAT                                     = 76,
    965 	VK_FORMAT_R16G16_UNORM                                   = 77,
    966 	VK_FORMAT_R16G16_SNORM                                   = 78,
    967 	VK_FORMAT_R16G16_USCALED                                 = 79,
    968 	VK_FORMAT_R16G16_SSCALED                                 = 80,
    969 	VK_FORMAT_R16G16_UINT                                    = 81,
    970 	VK_FORMAT_R16G16_SINT                                    = 82,
    971 	VK_FORMAT_R16G16_SFLOAT                                  = 83,
    972 	VK_FORMAT_R16G16B16_UNORM                                = 84,
    973 	VK_FORMAT_R16G16B16_SNORM                                = 85,
    974 	VK_FORMAT_R16G16B16_USCALED                              = 86,
    975 	VK_FORMAT_R16G16B16_SSCALED                              = 87,
    976 	VK_FORMAT_R16G16B16_UINT                                 = 88,
    977 	VK_FORMAT_R16G16B16_SINT                                 = 89,
    978 	VK_FORMAT_R16G16B16_SFLOAT                               = 90,
    979 	VK_FORMAT_R16G16B16A16_UNORM                             = 91,
    980 	VK_FORMAT_R16G16B16A16_SNORM                             = 92,
    981 	VK_FORMAT_R16G16B16A16_USCALED                           = 93,
    982 	VK_FORMAT_R16G16B16A16_SSCALED                           = 94,
    983 	VK_FORMAT_R16G16B16A16_UINT                              = 95,
    984 	VK_FORMAT_R16G16B16A16_SINT                              = 96,
    985 	VK_FORMAT_R16G16B16A16_SFLOAT                            = 97,
    986 	VK_FORMAT_R32_UINT                                       = 98,
    987 	VK_FORMAT_R32_SINT                                       = 99,
    988 	VK_FORMAT_R32_SFLOAT                                     = 100,
    989 	VK_FORMAT_R32G32_UINT                                    = 101,
    990 	VK_FORMAT_R32G32_SINT                                    = 102,
    991 	VK_FORMAT_R32G32_SFLOAT                                  = 103,
    992 	VK_FORMAT_R32G32B32_UINT                                 = 104,
    993 	VK_FORMAT_R32G32B32_SINT                                 = 105,
    994 	VK_FORMAT_R32G32B32_SFLOAT                               = 106,
    995 	VK_FORMAT_R32G32B32A32_UINT                              = 107,
    996 	VK_FORMAT_R32G32B32A32_SINT                              = 108,
    997 	VK_FORMAT_R32G32B32A32_SFLOAT                            = 109,
    998 	VK_FORMAT_R64_UINT                                       = 110,
    999 	VK_FORMAT_R64_SINT                                       = 111,
   1000 	VK_FORMAT_R64_SFLOAT                                     = 112,
   1001 	VK_FORMAT_R64G64_UINT                                    = 113,
   1002 	VK_FORMAT_R64G64_SINT                                    = 114,
   1003 	VK_FORMAT_R64G64_SFLOAT                                  = 115,
   1004 	VK_FORMAT_R64G64B64_UINT                                 = 116,
   1005 	VK_FORMAT_R64G64B64_SINT                                 = 117,
   1006 	VK_FORMAT_R64G64B64_SFLOAT                               = 118,
   1007 	VK_FORMAT_R64G64B64A64_UINT                              = 119,
   1008 	VK_FORMAT_R64G64B64A64_SINT                              = 120,
   1009 	VK_FORMAT_R64G64B64A64_SFLOAT                            = 121,
   1010 	VK_FORMAT_B10G11R11_UFLOAT_PACK32                        = 122,
   1011 	VK_FORMAT_E5B9G9R9_UFLOAT_PACK32                         = 123,
   1012 	VK_FORMAT_D16_UNORM                                      = 124,
   1013 	VK_FORMAT_X8_D24_UNORM_PACK32                            = 125,
   1014 	VK_FORMAT_D32_SFLOAT                                     = 126,
   1015 	VK_FORMAT_S8_UINT                                        = 127,
   1016 	VK_FORMAT_D16_UNORM_S8_UINT                              = 128,
   1017 	VK_FORMAT_D24_UNORM_S8_UINT                              = 129,
   1018 	VK_FORMAT_D32_SFLOAT_S8_UINT                             = 130,
   1019 	VK_FORMAT_BC1_RGB_UNORM_BLOCK                            = 131,
   1020 	VK_FORMAT_BC1_RGB_SRGB_BLOCK                             = 132,
   1021 	VK_FORMAT_BC1_RGBA_UNORM_BLOCK                           = 133,
   1022 	VK_FORMAT_BC1_RGBA_SRGB_BLOCK                            = 134,
   1023 	VK_FORMAT_BC2_UNORM_BLOCK                                = 135,
   1024 	VK_FORMAT_BC2_SRGB_BLOCK                                 = 136,
   1025 	VK_FORMAT_BC3_UNORM_BLOCK                                = 137,
   1026 	VK_FORMAT_BC3_SRGB_BLOCK                                 = 138,
   1027 	VK_FORMAT_BC4_UNORM_BLOCK                                = 139,
   1028 	VK_FORMAT_BC4_SNORM_BLOCK                                = 140,
   1029 	VK_FORMAT_BC5_UNORM_BLOCK                                = 141,
   1030 	VK_FORMAT_BC5_SNORM_BLOCK                                = 142,
   1031 	VK_FORMAT_BC6H_UFLOAT_BLOCK                              = 143,
   1032 	VK_FORMAT_BC6H_SFLOAT_BLOCK                              = 144,
   1033 	VK_FORMAT_BC7_UNORM_BLOCK                                = 145,
   1034 	VK_FORMAT_BC7_SRGB_BLOCK                                 = 146,
   1035 	VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK                        = 147,
   1036 	VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK                         = 148,
   1037 	VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK                      = 149,
   1038 	VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK                       = 150,
   1039 	VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK                      = 151,
   1040 	VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK                       = 152,
   1041 	VK_FORMAT_EAC_R11_UNORM_BLOCK                            = 153,
   1042 	VK_FORMAT_EAC_R11_SNORM_BLOCK                            = 154,
   1043 	VK_FORMAT_EAC_R11G11_UNORM_BLOCK                         = 155,
   1044 	VK_FORMAT_EAC_R11G11_SNORM_BLOCK                         = 156,
   1045 	VK_FORMAT_ASTC_4x4_UNORM_BLOCK                           = 157,
   1046 	VK_FORMAT_ASTC_4x4_SRGB_BLOCK                            = 158,
   1047 	VK_FORMAT_ASTC_5x4_UNORM_BLOCK                           = 159,
   1048 	VK_FORMAT_ASTC_5x4_SRGB_BLOCK                            = 160,
   1049 	VK_FORMAT_ASTC_5x5_UNORM_BLOCK                           = 161,
   1050 	VK_FORMAT_ASTC_5x5_SRGB_BLOCK                            = 162,
   1051 	VK_FORMAT_ASTC_6x5_UNORM_BLOCK                           = 163,
   1052 	VK_FORMAT_ASTC_6x5_SRGB_BLOCK                            = 164,
   1053 	VK_FORMAT_ASTC_6x6_UNORM_BLOCK                           = 165,
   1054 	VK_FORMAT_ASTC_6x6_SRGB_BLOCK                            = 166,
   1055 	VK_FORMAT_ASTC_8x5_UNORM_BLOCK                           = 167,
   1056 	VK_FORMAT_ASTC_8x5_SRGB_BLOCK                            = 168,
   1057 	VK_FORMAT_ASTC_8x6_UNORM_BLOCK                           = 169,
   1058 	VK_FORMAT_ASTC_8x6_SRGB_BLOCK                            = 170,
   1059 	VK_FORMAT_ASTC_8x8_UNORM_BLOCK                           = 171,
   1060 	VK_FORMAT_ASTC_8x8_SRGB_BLOCK                            = 172,
   1061 	VK_FORMAT_ASTC_10x5_UNORM_BLOCK                          = 173,
   1062 	VK_FORMAT_ASTC_10x5_SRGB_BLOCK                           = 174,
   1063 	VK_FORMAT_ASTC_10x6_UNORM_BLOCK                          = 175,
   1064 	VK_FORMAT_ASTC_10x6_SRGB_BLOCK                           = 176,
   1065 	VK_FORMAT_ASTC_10x8_UNORM_BLOCK                          = 177,
   1066 	VK_FORMAT_ASTC_10x8_SRGB_BLOCK                           = 178,
   1067 	VK_FORMAT_ASTC_10x10_UNORM_BLOCK                         = 179,
   1068 	VK_FORMAT_ASTC_10x10_SRGB_BLOCK                          = 180,
   1069 	VK_FORMAT_ASTC_12x10_UNORM_BLOCK                         = 181,
   1070 	VK_FORMAT_ASTC_12x10_SRGB_BLOCK                          = 182,
   1071 	VK_FORMAT_ASTC_12x12_UNORM_BLOCK                         = 183,
   1072 	VK_FORMAT_ASTC_12x12_SRGB_BLOCK                          = 184,
   1073 	VK_FORMAT_G8B8G8R8_422_UNORM                             = 1000156000,
   1074 	VK_FORMAT_B8G8R8G8_422_UNORM                             = 1000156001,
   1075 	VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM                      = 1000156002,
   1076 	VK_FORMAT_G8_B8R8_2PLANE_420_UNORM                       = 1000156003,
   1077 	VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM                      = 1000156004,
   1078 	VK_FORMAT_G8_B8R8_2PLANE_422_UNORM                       = 1000156005,
   1079 	VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM                      = 1000156006,
   1080 	VK_FORMAT_R10X6_UNORM_PACK16                             = 1000156007,
   1081 	VK_FORMAT_R10X6G10X6_UNORM_2PACK16                       = 1000156008,
   1082 	VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16             = 1000156009,
   1083 	VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16         = 1000156010,
   1084 	VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16         = 1000156011,
   1085 	VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16     = 1000156012,
   1086 	VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16      = 1000156013,
   1087 	VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16     = 1000156014,
   1088 	VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16      = 1000156015,
   1089 	VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16     = 1000156016,
   1090 	VK_FORMAT_R12X4_UNORM_PACK16                             = 1000156017,
   1091 	VK_FORMAT_R12X4G12X4_UNORM_2PACK16                       = 1000156018,
   1092 	VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16             = 1000156019,
   1093 	VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16         = 1000156020,
   1094 	VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16         = 1000156021,
   1095 	VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16     = 1000156022,
   1096 	VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16      = 1000156023,
   1097 	VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16     = 1000156024,
   1098 	VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16      = 1000156025,
   1099 	VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16     = 1000156026,
   1100 	VK_FORMAT_G16B16G16R16_422_UNORM                         = 1000156027,
   1101 	VK_FORMAT_B16G16R16G16_422_UNORM                         = 1000156028,
   1102 	VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM                   = 1000156029,
   1103 	VK_FORMAT_G16_B16R16_2PLANE_420_UNORM                    = 1000156030,
   1104 	VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM                   = 1000156031,
   1105 	VK_FORMAT_G16_B16R16_2PLANE_422_UNORM                    = 1000156032,
   1106 	VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM                   = 1000156033,
   1107 	VK_FORMAT_G8_B8R8_2PLANE_444_UNORM                       = 1000330000,
   1108 	VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16      = 1000330001,
   1109 	VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16      = 1000330002,
   1110 	VK_FORMAT_G16_B16R16_2PLANE_444_UNORM                    = 1000330003,
   1111 	VK_FORMAT_A4R4G4B4_UNORM_PACK16                          = 1000340000,
   1112 	VK_FORMAT_A4B4G4R4_UNORM_PACK16                          = 1000340001,
   1113 	VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK                          = 1000066000,
   1114 	VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK                          = 1000066001,
   1115 	VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK                          = 1000066002,
   1116 	VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK                          = 1000066003,
   1117 	VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK                          = 1000066004,
   1118 	VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK                          = 1000066005,
   1119 	VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK                          = 1000066006,
   1120 	VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK                          = 1000066007,
   1121 	VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK                         = 1000066008,
   1122 	VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK                         = 1000066009,
   1123 	VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK                         = 1000066010,
   1124 	VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK                        = 1000066011,
   1125 	VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK                        = 1000066012,
   1126 	VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK                        = 1000066013,
   1127 	VK_FORMAT_A1B5G5R5_UNORM_PACK16                          = 1000470000,
   1128 	VK_FORMAT_A8_UNORM                                       = 1000470001,
   1129 	VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG                    = 1000054000,
   1130 	VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG                    = 1000054001,
   1131 	VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG                    = 1000054002,
   1132 	VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG                    = 1000054003,
   1133 	VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG                     = 1000054004,
   1134 	VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG                     = 1000054005,
   1135 	VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG                     = 1000054006,
   1136 	VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG                     = 1000054007,
   1137 	VK_FORMAT_R16G16_SFIXED5_NV                              = 1000464000,
   1138 	VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT                      = VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK,
   1139 	VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT                      = VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK,
   1140 	VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT                      = VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK,
   1141 	VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT                      = VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK,
   1142 	VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT                      = VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK,
   1143 	VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT                      = VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK,
   1144 	VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT                      = VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK,
   1145 	VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT                      = VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK,
   1146 	VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT                     = VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK,
   1147 	VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT                     = VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK,
   1148 	VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT                     = VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK,
   1149 	VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT                    = VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK,
   1150 	VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT                    = VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK,
   1151 	VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT                    = VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK,
   1152 	VK_FORMAT_G8B8G8R8_422_UNORM_KHR                         = VK_FORMAT_G8B8G8R8_422_UNORM,
   1153 	VK_FORMAT_B8G8R8G8_422_UNORM_KHR                         = VK_FORMAT_B8G8R8G8_422_UNORM,
   1154 	VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR                  = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM,
   1155 	VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR                   = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM,
   1156 	VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR                  = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM,
   1157 	VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR                   = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM,
   1158 	VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR                  = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM,
   1159 	VK_FORMAT_R10X6_UNORM_PACK16_KHR                         = VK_FORMAT_R10X6_UNORM_PACK16,
   1160 	VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR                   = VK_FORMAT_R10X6G10X6_UNORM_2PACK16,
   1161 	VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR         = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16,
   1162 	VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR     = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16,
   1163 	VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR     = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16,
   1164 	VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16,
   1165 	VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR  = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16,
   1166 	VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16,
   1167 	VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR  = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16,
   1168 	VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16,
   1169 	VK_FORMAT_R12X4_UNORM_PACK16_KHR                         = VK_FORMAT_R12X4_UNORM_PACK16,
   1170 	VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR                   = VK_FORMAT_R12X4G12X4_UNORM_2PACK16,
   1171 	VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR         = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16,
   1172 	VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR     = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16,
   1173 	VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR     = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16,
   1174 	VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16,
   1175 	VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR  = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16,
   1176 	VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16,
   1177 	VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR  = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16,
   1178 	VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16,
   1179 	VK_FORMAT_G16B16G16R16_422_UNORM_KHR                     = VK_FORMAT_G16B16G16R16_422_UNORM,
   1180 	VK_FORMAT_B16G16R16G16_422_UNORM_KHR                     = VK_FORMAT_B16G16R16G16_422_UNORM,
   1181 	VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR               = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM,
   1182 	VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR                = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM,
   1183 	VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR               = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM,
   1184 	VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR                = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM,
   1185 	VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR               = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM,
   1186 	VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT                   = VK_FORMAT_G8_B8R8_2PLANE_444_UNORM,
   1187 	VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT  = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16,
   1188 	VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT  = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16,
   1189 	VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT                = VK_FORMAT_G16_B16R16_2PLANE_444_UNORM,
   1190 	VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT                      = VK_FORMAT_A4R4G4B4_UNORM_PACK16,
   1191 	VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT                      = VK_FORMAT_A4B4G4R4_UNORM_PACK16,
   1192 	VK_FORMAT_A1B5G5R5_UNORM_PACK16_KHR                      = VK_FORMAT_A1B5G5R5_UNORM_PACK16,
   1193 	VK_FORMAT_A8_UNORM_KHR                                   = VK_FORMAT_A8_UNORM,
   1194 	VK_FORMAT_MAX_ENUM                                       = 0x7FFFFFFF
   1195 } VkFormat;
   1196 
   1197 typedef enum {
   1198 	VK_IMAGE_TILING_OPTIMAL                 = 0,
   1199 	VK_IMAGE_TILING_LINEAR                  = 1,
   1200 	VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT = 1000158000,
   1201 	VK_IMAGE_TILING_MAX_ENUM                = 0x7FFFFFFF
   1202 } VkImageTiling;
   1203 
   1204 typedef enum {
   1205 	VK_IMAGE_TYPE_1D       = 0,
   1206 	VK_IMAGE_TYPE_2D       = 1,
   1207 	VK_IMAGE_TYPE_3D       = 2,
   1208 	VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF
   1209 } VkImageType;
   1210 
   1211 typedef enum {
   1212 	VK_COLOR_SPACE_SRGB_NONLINEAR_KHR          = 0,
   1213 	VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT    = 1000104001,
   1214 	VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT    = 1000104002,
   1215 	VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT       = 1000104003,
   1216 	VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT        = 1000104004,
   1217 	VK_COLOR_SPACE_BT709_LINEAR_EXT            = 1000104005,
   1218 	VK_COLOR_SPACE_BT709_NONLINEAR_EXT         = 1000104006,
   1219 	VK_COLOR_SPACE_BT2020_LINEAR_EXT           = 1000104007,
   1220 	VK_COLOR_SPACE_HDR10_ST2084_EXT            = 1000104008,
   1221 	// VK_COLOR_SPACE_DOLBYVISION_EXT is deprecated, but no reason was given in the API XML
   1222 	VK_COLOR_SPACE_DOLBYVISION_EXT             = 1000104009,
   1223 	VK_COLOR_SPACE_HDR10_HLG_EXT               = 1000104010,
   1224 	VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT         = 1000104011,
   1225 	VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT      = 1000104012,
   1226 	VK_COLOR_SPACE_PASS_THROUGH_EXT            = 1000104013,
   1227 	VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT = 1000104014,
   1228 	VK_COLOR_SPACE_DISPLAY_NATIVE_AMD          = 1000213000,
   1229 	VK_COLOR_SPACE_MAX_ENUM_KHR                = 0x7FFFFFFF
   1230 } VkColorSpaceKHR;
   1231 
   1232 typedef enum {
   1233 	VK_SHARING_MODE_EXCLUSIVE  = 0,
   1234 	VK_SHARING_MODE_CONCURRENT = 1,
   1235 	VK_SHARING_MODE_MAX_ENUM   = 0x7FFFFFFF
   1236 } VkSharingMode;
   1237 
   1238 typedef enum {
   1239 	VK_QUERY_RESULT_64_BIT                = 0x00000001,
   1240 	VK_QUERY_RESULT_WAIT_BIT              = 0x00000002,
   1241 	VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004,
   1242 	VK_QUERY_RESULT_PARTIAL_BIT           = 0x00000008,
   1243 	VK_QUERY_RESULT_WITH_STATUS_BIT_KHR   = 0x00000010,
   1244 	VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM    = 0x7FFFFFFF
   1245 } VkQueryResultFlagBits;
   1246 typedef VkFlags VkQueryResultFlags;
   1247 
   1248 typedef enum {
   1249 	VK_BUFFER_CREATE_SPARSE_BINDING_BIT                       = 0x00000001,
   1250 	VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT                     = 0x00000002,
   1251 	VK_BUFFER_CREATE_SPARSE_ALIASED_BIT                       = 0x00000004,
   1252 	VK_BUFFER_CREATE_PROTECTED_BIT                            = 0x00000008,
   1253 	VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT        = 0x00000010,
   1254 	VK_BUFFER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000020,
   1255 	VK_BUFFER_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR        = 0x00000040,
   1256 	VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM                       = 0x7FFFFFFF
   1257 } VkBufferCreateFlagBits;
   1258 typedef VkFlags VkBufferCreateFlags;
   1259 
   1260 typedef enum {
   1261 	VK_BUFFER_USAGE_TRANSFER_SRC_BIT                                     = 0x00000001,
   1262 	VK_BUFFER_USAGE_TRANSFER_DST_BIT                                     = 0x00000002,
   1263 	VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT                             = 0x00000004,
   1264 	VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT                             = 0x00000008,
   1265 	VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT                                   = 0x00000010,
   1266 	VK_BUFFER_USAGE_STORAGE_BUFFER_BIT                                   = 0x00000020,
   1267 	VK_BUFFER_USAGE_INDEX_BUFFER_BIT                                     = 0x00000040,
   1268 	VK_BUFFER_USAGE_VERTEX_BUFFER_BIT                                    = 0x00000080,
   1269 	VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT                                  = 0x00000100,
   1270 	VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT                            = 0x00020000,
   1271 	VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR                             = 0x00002000,
   1272 	VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR                             = 0x00004000,
   1273 	VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT                    = 0x00000800,
   1274 	VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT            = 0x00001000,
   1275 	VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT                        = 0x00000200,
   1276 	VK_BUFFER_USAGE_EXECUTION_GRAPH_SCRATCH_BIT_AMDX                     = 0x02000000,
   1277 	VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR = 0x00080000,
   1278 	VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR               = 0x00100000,
   1279 	VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR                         = 0x00000400,
   1280 	VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR                             = 0x00008000,
   1281 	VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR                             = 0x00010000,
   1282 	VK_BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT                    = 0x00200000,
   1283 	VK_BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT                   = 0x00400000,
   1284 	VK_BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT           = 0x04000000,
   1285 	VK_BUFFER_USAGE_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT               = 0x00800000,
   1286 	VK_BUFFER_USAGE_MICROMAP_STORAGE_BIT_EXT                             = 0x01000000,
   1287 	VK_BUFFER_USAGE_TILE_MEMORY_BIT_QCOM                                 = 0x08000000,
   1288 	VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM                                   = 0x7FFFFFFF
   1289 } VkBufferUsageFlagBits;
   1290 typedef VkFlags VkBufferUsageFlags;
   1291 typedef VkFlags VkBufferViewCreateFlags;
   1292 
   1293 typedef enum {
   1294 	VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT = 0x00000001,
   1295 	VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT      = 0x00000002,
   1296 	VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM              = 0x7FFFFFFF
   1297 } VkPipelineShaderStageCreateFlagBits;
   1298 typedef VkFlags VkPipelineShaderStageCreateFlags;
   1299 
   1300 typedef enum {
   1301 	VK_SHADER_STAGE_VERTEX_BIT                  = 0x00000001,
   1302 	VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT    = 0x00000002,
   1303 	VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 0x00000004,
   1304 	VK_SHADER_STAGE_GEOMETRY_BIT                = 0x00000008,
   1305 	VK_SHADER_STAGE_FRAGMENT_BIT                = 0x00000010,
   1306 	VK_SHADER_STAGE_COMPUTE_BIT                 = 0x00000020,
   1307 	VK_SHADER_STAGE_ALL_GRAPHICS                = 0x0000001F,
   1308 	VK_SHADER_STAGE_ALL                         = 0x7FFFFFFF,
   1309 	VK_SHADER_STAGE_RAYGEN_BIT_KHR              = 0x00000100,
   1310 	VK_SHADER_STAGE_ANY_HIT_BIT_KHR             = 0x00000200,
   1311 	VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR         = 0x00000400,
   1312 	VK_SHADER_STAGE_MISS_BIT_KHR                = 0x00000800,
   1313 	VK_SHADER_STAGE_INTERSECTION_BIT_KHR        = 0x00001000,
   1314 	VK_SHADER_STAGE_CALLABLE_BIT_KHR            = 0x00002000,
   1315 	VK_SHADER_STAGE_TASK_BIT_EXT                = 0x00000040,
   1316 	VK_SHADER_STAGE_MESH_BIT_EXT                = 0x00000080,
   1317 	VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI  = 0x00004000,
   1318 	VK_SHADER_STAGE_CLUSTER_CULLING_BIT_HUAWEI  = 0x00080000,
   1319 	VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM          = 0x7FFFFFFF
   1320 } VkShaderStageFlagBits;
   1321 typedef VkFlags VkShaderStageFlags;
   1322 
   1323 typedef enum {
   1324 	VK_COMPARE_OP_NEVER            = 0,
   1325 	VK_COMPARE_OP_LESS             = 1,
   1326 	VK_COMPARE_OP_EQUAL            = 2,
   1327 	VK_COMPARE_OP_LESS_OR_EQUAL    = 3,
   1328 	VK_COMPARE_OP_GREATER          = 4,
   1329 	VK_COMPARE_OP_NOT_EQUAL        = 5,
   1330 	VK_COMPARE_OP_GREATER_OR_EQUAL = 6,
   1331 	VK_COMPARE_OP_ALWAYS           = 7,
   1332 	VK_COMPARE_OP_MAX_ENUM         = 0x7FFFFFFF
   1333 } VkCompareOp;
   1334 
   1335 typedef enum {
   1336 	VK_DYNAMIC_STATE_VIEWPORT                                = 0,
   1337 	VK_DYNAMIC_STATE_SCISSOR                                 = 1,
   1338 	VK_DYNAMIC_STATE_LINE_WIDTH                              = 2,
   1339 	VK_DYNAMIC_STATE_DEPTH_BIAS                              = 3,
   1340 	VK_DYNAMIC_STATE_BLEND_CONSTANTS                         = 4,
   1341 	VK_DYNAMIC_STATE_DEPTH_BOUNDS                            = 5,
   1342 	VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK                    = 6,
   1343 	VK_DYNAMIC_STATE_STENCIL_WRITE_MASK                      = 7,
   1344 	VK_DYNAMIC_STATE_STENCIL_REFERENCE                       = 8,
   1345 	VK_DYNAMIC_STATE_CULL_MODE                               = 1000267000,
   1346 	VK_DYNAMIC_STATE_FRONT_FACE                              = 1000267001,
   1347 	VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY                      = 1000267002,
   1348 	VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT                     = 1000267003,
   1349 	VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT                      = 1000267004,
   1350 	VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE             = 1000267005,
   1351 	VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE                       = 1000267006,
   1352 	VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE                      = 1000267007,
   1353 	VK_DYNAMIC_STATE_DEPTH_COMPARE_OP                        = 1000267008,
   1354 	VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE                = 1000267009,
   1355 	VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE                     = 1000267010,
   1356 	VK_DYNAMIC_STATE_STENCIL_OP                              = 1000267011,
   1357 	VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE               = 1000377001,
   1358 	VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE                       = 1000377002,
   1359 	VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE                = 1000377004,
   1360 	VK_DYNAMIC_STATE_LINE_STIPPLE                            = 1000259000,
   1361 	VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV                   = 1000087000,
   1362 	VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT                   = 1000099000,
   1363 	VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT            = 1000099001,
   1364 	VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT              = 1000099002,
   1365 	VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT                    = 1000143000,
   1366 	VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR     = 1000347000,
   1367 	VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV        = 1000164004,
   1368 	VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV         = 1000164006,
   1369 	VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV             = 1000205000,
   1370 	VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV                    = 1000205001,
   1371 	VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR               = 1000226000,
   1372 	VK_DYNAMIC_STATE_VERTEX_INPUT_EXT                        = 1000352000,
   1373 	VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT                = 1000377000,
   1374 	VK_DYNAMIC_STATE_LOGIC_OP_EXT                            = 1000377003,
   1375 	VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT                  = 1000381000,
   1376 	VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT                  = 1000455003,
   1377 	VK_DYNAMIC_STATE_POLYGON_MODE_EXT                        = 1000455004,
   1378 	VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT               = 1000455005,
   1379 	VK_DYNAMIC_STATE_SAMPLE_MASK_EXT                         = 1000455006,
   1380 	VK_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT            = 1000455007,
   1381 	VK_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT                 = 1000455008,
   1382 	VK_DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT                     = 1000455009,
   1383 	VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT                  = 1000455010,
   1384 	VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT                = 1000455011,
   1385 	VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT                    = 1000455012,
   1386 	VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT          = 1000455002,
   1387 	VK_DYNAMIC_STATE_RASTERIZATION_STREAM_EXT                = 1000455013,
   1388 	VK_DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT     = 1000455014,
   1389 	VK_DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT = 1000455015,
   1390 	VK_DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT                   = 1000455016,
   1391 	VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT             = 1000455017,
   1392 	VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT                = 1000455018,
   1393 	VK_DYNAMIC_STATE_PROVOKING_VERTEX_MODE_EXT               = 1000455019,
   1394 	VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT             = 1000455020,
   1395 	VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT                 = 1000455021,
   1396 	VK_DYNAMIC_STATE_DEPTH_CLIP_NEGATIVE_ONE_TO_ONE_EXT      = 1000455022,
   1397 	VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV            = 1000455023,
   1398 	VK_DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV                     = 1000455024,
   1399 	VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV             = 1000455025,
   1400 	VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_LOCATION_NV           = 1000455026,
   1401 	VK_DYNAMIC_STATE_COVERAGE_MODULATION_MODE_NV             = 1000455027,
   1402 	VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_ENABLE_NV     = 1000455028,
   1403 	VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_NV            = 1000455029,
   1404 	VK_DYNAMIC_STATE_SHADING_RATE_IMAGE_ENABLE_NV            = 1000455030,
   1405 	VK_DYNAMIC_STATE_REPRESENTATIVE_FRAGMENT_TEST_ENABLE_NV  = 1000455031,
   1406 	VK_DYNAMIC_STATE_COVERAGE_REDUCTION_MODE_NV              = 1000455032,
   1407 	VK_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT     = 1000524000,
   1408 	VK_DYNAMIC_STATE_DEPTH_CLAMP_RANGE_EXT                   = 1000582000,
   1409 	VK_DYNAMIC_STATE_MAX_ENUM                                = 0x7FFFFFFF
   1410 } VkDynamicState;
   1411 
   1412 typedef enum VkFrontFace {
   1413 	VK_FRONT_FACE_COUNTER_CLOCKWISE = 0,
   1414 	VK_FRONT_FACE_CLOCKWISE         = 1,
   1415 	VK_FRONT_FACE_MAX_ENUM          = 0x7FFFFFFF
   1416 } VkFrontFace;
   1417 
   1418 typedef enum {
   1419 	VK_VERTEX_INPUT_RATE_VERTEX   = 0,
   1420 	VK_VERTEX_INPUT_RATE_INSTANCE = 1,
   1421 	VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF
   1422 } VkVertexInputRate;
   1423 
   1424 typedef enum {
   1425 	VK_PRIMITIVE_TOPOLOGY_POINT_LIST                    = 0,
   1426 	VK_PRIMITIVE_TOPOLOGY_LINE_LIST                     = 1,
   1427 	VK_PRIMITIVE_TOPOLOGY_LINE_STRIP                    = 2,
   1428 	VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST                 = 3,
   1429 	VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP                = 4,
   1430 	VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN                  = 5,
   1431 	VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY      = 6,
   1432 	VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY     = 7,
   1433 	VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY  = 8,
   1434 	VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9,
   1435 	VK_PRIMITIVE_TOPOLOGY_PATCH_LIST                    = 10,
   1436 	VK_PRIMITIVE_TOPOLOGY_MAX_ENUM                      = 0x7FFFFFFF
   1437 } VkPrimitiveTopology;
   1438 
   1439 typedef enum {
   1440 	VK_POLYGON_MODE_FILL              = 0,
   1441 	VK_POLYGON_MODE_LINE              = 1,
   1442 	VK_POLYGON_MODE_POINT             = 2,
   1443 	VK_POLYGON_MODE_FILL_RECTANGLE_NV = 1000153000,
   1444 	VK_POLYGON_MODE_MAX_ENUM          = 0x7FFFFFFF
   1445 } VkPolygonMode;
   1446 
   1447 typedef enum {
   1448 	VK_STENCIL_OP_KEEP                = 0,
   1449 	VK_STENCIL_OP_ZERO                = 1,
   1450 	VK_STENCIL_OP_REPLACE             = 2,
   1451 	VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3,
   1452 	VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4,
   1453 	VK_STENCIL_OP_INVERT              = 5,
   1454 	VK_STENCIL_OP_INCREMENT_AND_WRAP  = 6,
   1455 	VK_STENCIL_OP_DECREMENT_AND_WRAP  = 7,
   1456 	VK_STENCIL_OP_MAX_ENUM            = 0x7FFFFFFF
   1457 } VkStencilOp;
   1458 
   1459 typedef enum VkLogicOp {
   1460 	VK_LOGIC_OP_CLEAR         = 0,
   1461 	VK_LOGIC_OP_AND           = 1,
   1462 	VK_LOGIC_OP_AND_REVERSE   = 2,
   1463 	VK_LOGIC_OP_COPY          = 3,
   1464 	VK_LOGIC_OP_AND_INVERTED  = 4,
   1465 	VK_LOGIC_OP_NO_OP         = 5,
   1466 	VK_LOGIC_OP_XOR           = 6,
   1467 	VK_LOGIC_OP_OR            = 7,
   1468 	VK_LOGIC_OP_NOR           = 8,
   1469 	VK_LOGIC_OP_EQUIVALENT    = 9,
   1470 	VK_LOGIC_OP_INVERT        = 10,
   1471 	VK_LOGIC_OP_OR_REVERSE    = 11,
   1472 	VK_LOGIC_OP_COPY_INVERTED = 12,
   1473 	VK_LOGIC_OP_OR_INVERTED   = 13,
   1474 	VK_LOGIC_OP_NAND          = 14,
   1475 	VK_LOGIC_OP_SET           = 15,
   1476 	VK_LOGIC_OP_MAX_ENUM      = 0x7FFFFFFF
   1477 } VkLogicOp;
   1478 
   1479 typedef enum {
   1480 	VK_CULL_MODE_NONE               = 0,
   1481 	VK_CULL_MODE_FRONT_BIT          = 0x00000001,
   1482 	VK_CULL_MODE_BACK_BIT           = 0x00000002,
   1483 	VK_CULL_MODE_FRONT_AND_BACK     = 0x00000003,
   1484 	VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
   1485 } VkCullModeFlagBits;
   1486 typedef VkFlags VkCullModeFlags;
   1487 
   1488 typedef enum {
   1489 	VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT   = 0x00000001,
   1490 	VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT = 0x00000002,
   1491 	VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_FLAG_BITS_MAX_ENUM                                    = 0x7FFFFFFF
   1492 } VkPipelineDepthStencilStateCreateFlagBits;
   1493 typedef VkFlags VkPipelineDepthStencilStateCreateFlags;
   1494 
   1495 
   1496 typedef enum {
   1497 	VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT = 0x00000001,
   1498 	VK_PIPELINE_COLOR_BLEND_STATE_CREATE_FLAG_BITS_MAX_ENUM                            = 0x7FFFFFFF
   1499 } VkPipelineColorBlendStateCreateFlagBits;
   1500 typedef VkFlags VkPipelineColorBlendStateCreateFlags;
   1501 typedef VkFlags VkPipelineDynamicStateCreateFlags;
   1502 
   1503 typedef enum {
   1504 	VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT = 0x00000002,
   1505 	VK_PIPELINE_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM       = 0x7FFFFFFF
   1506 } VkPipelineLayoutCreateFlagBits;
   1507 typedef VkFlags VkPipelineLayoutCreateFlags;
   1508 
   1509 typedef VkFlags VkPipelineDynamicStateCreateFlags;
   1510 typedef VkFlags VkPipelineVertexInputStateCreateFlags;
   1511 typedef VkFlags VkPipelineInputAssemblyStateCreateFlags;
   1512 typedef VkFlags VkPipelineTessellationStateCreateFlags;
   1513 typedef VkFlags VkPipelineViewportStateCreateFlags;
   1514 typedef VkFlags VkPipelineRasterizationStateCreateFlags;
   1515 typedef VkFlags VkPipelineMultisampleStateCreateFlags;
   1516 
   1517 typedef enum {
   1518 	VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT           = 0x00000001,
   1519 	VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT             = 0x00000002,
   1520 	VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXT                 = 0x00000004,
   1521 	VK_DESCRIPTOR_POOL_CREATE_ALLOW_OVERALLOCATION_SETS_BIT_NV  = 0x00000008,
   1522 	VK_DESCRIPTOR_POOL_CREATE_ALLOW_OVERALLOCATION_POOLS_BIT_NV = 0x00000010,
   1523 	VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM                = 0x7FFFFFFF
   1524 } VkDescriptorPoolCreateFlagBits;
   1525 typedef VkFlags VkDescriptorPoolCreateFlags;
   1526 
   1527 typedef enum {
   1528 	VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT                 = 0x00000001,
   1529 	VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT          = 0x00000002,
   1530 	VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT              = 0x00000004,
   1531 	VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT           = 0x00000010,
   1532 	VK_DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT = 0x00000020,
   1533 	VK_DESCRIPTOR_SET_LAYOUT_CREATE_PER_STAGE_BIT_NV                    = 0x00000040,
   1534 	VK_DESCRIPTOR_SET_LAYOUT_CREATE_INDIRECT_BINDABLE_BIT_NV            = 0x00000080,
   1535 	VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM                  = 0x7FFFFFFF
   1536 } VkDescriptorSetLayoutCreateFlagBits;
   1537 typedef VkFlags VkDescriptorSetLayoutCreateFlags;
   1538 
   1539 typedef enum {
   1540 	VK_DESCRIPTOR_TYPE_SAMPLER                               = 0,
   1541 	VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER                = 1,
   1542 	VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE                         = 2,
   1543 	VK_DESCRIPTOR_TYPE_STORAGE_IMAGE                         = 3,
   1544 	VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER                  = 4,
   1545 	VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER                  = 5,
   1546 	VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER                        = 6,
   1547 	VK_DESCRIPTOR_TYPE_STORAGE_BUFFER                        = 7,
   1548 	VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC                = 8,
   1549 	VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC                = 9,
   1550 	VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT                      = 10,
   1551 	VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK                  = 1000138000,
   1552 	VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR            = 1000150000,
   1553 	VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV             = 1000165000,
   1554 	VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM              = 1000440000,
   1555 	VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM                = 1000440001,
   1556 	VK_DESCRIPTOR_TYPE_TENSOR_ARM                            = 1000460000,
   1557 	VK_DESCRIPTOR_TYPE_MUTABLE_EXT                           = 1000351000,
   1558 	VK_DESCRIPTOR_TYPE_PARTITIONED_ACCELERATION_STRUCTURE_NV = 1000570000,
   1559 	VK_DESCRIPTOR_TYPE_MAX_ENUM                              = 0x7FFFFFFF
   1560 } VkDescriptorType;
   1561 
   1562 typedef enum {
   1563 	VK_ATTACHMENT_LOAD_OP_LOAD      = 0,
   1564 	VK_ATTACHMENT_LOAD_OP_CLEAR     = 1,
   1565 	VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2,
   1566 	VK_ATTACHMENT_LOAD_OP_NONE      = 1000400000,
   1567 	VK_ATTACHMENT_LOAD_OP_MAX_ENUM  = 0x7FFFFFFF
   1568 } VkAttachmentLoadOp;
   1569 
   1570 typedef enum {
   1571 	VK_ATTACHMENT_STORE_OP_STORE     = 0,
   1572 	VK_ATTACHMENT_STORE_OP_DONT_CARE = 1,
   1573 	VK_ATTACHMENT_STORE_OP_NONE      = 1000301000,
   1574 	VK_ATTACHMENT_STORE_OP_MAX_ENUM  = 0x7FFFFFFF
   1575 } VkAttachmentStoreOp;
   1576 
   1577 typedef enum {
   1578 	VK_PIPELINE_BIND_POINT_GRAPHICS               = 0,
   1579 	VK_PIPELINE_BIND_POINT_COMPUTE                = 1,
   1580 	VK_PIPELINE_BIND_POINT_EXECUTION_GRAPH_AMDX   = 1000134000,
   1581 	VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR        = 1000165000,
   1582 	VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI = 1000369003,
   1583 	VK_PIPELINE_BIND_POINT_MAX_ENUM               = 0x7FFFFFFF
   1584 } VkPipelineBindPoint;
   1585 
   1586 typedef enum {
   1587 	VK_COMMAND_BUFFER_LEVEL_PRIMARY   = 0,
   1588 	VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1,
   1589 	VK_COMMAND_BUFFER_LEVEL_MAX_ENUM  = 0x7FFFFFFF
   1590 } VkCommandBufferLevel;
   1591 
   1592 typedef enum {
   1593 	VK_IMAGE_LAYOUT_UNDEFINED                                    = 0,
   1594 	VK_IMAGE_LAYOUT_GENERAL                                      = 1,
   1595 	VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL                     = 2,
   1596 	VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL             = 3,
   1597 	VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL              = 4,
   1598 	VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL                     = 5,
   1599 	VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL                         = 6,
   1600 	VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL                         = 7,
   1601 	VK_IMAGE_LAYOUT_PREINITIALIZED                               = 8,
   1602 	VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL   = 1000117000,
   1603 	VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL   = 1000117001,
   1604 	VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL                     = 1000241000,
   1605 	VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL                      = 1000241001,
   1606 	VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL                   = 1000241002,
   1607 	VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL                    = 1000241003,
   1608 	VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL                            = 1000314000,
   1609 	VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL                           = 1000314001,
   1610 	VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ                         = 1000232000,
   1611 	VK_IMAGE_LAYOUT_PRESENT_SRC_KHR                              = 1000001002,
   1612 	VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR                         = 1000024000,
   1613 	VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR                         = 1000024001,
   1614 	VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR                         = 1000024002,
   1615 	VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR                           = 1000111000,
   1616 	VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT             = 1000218000,
   1617 	VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003,
   1618 	VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR                         = 1000299000,
   1619 	VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR                         = 1000299001,
   1620 	VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR                         = 1000299002,
   1621 	VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT         = 1000339000,
   1622 	VK_IMAGE_LAYOUT_VIDEO_ENCODE_QUANTIZATION_MAP_KHR            = 1000553000,
   1623 	VK_IMAGE_LAYOUT_MAX_ENUM                                     = 0x7FFFFFFF
   1624 } VkImageLayout;
   1625 
   1626 typedef enum {
   1627 	VK_DEPENDENCY_BY_REGION_BIT                                          = 0x00000001,
   1628 	VK_DEPENDENCY_DEVICE_GROUP_BIT                                       = 0x00000004,
   1629 	VK_DEPENDENCY_VIEW_LOCAL_BIT                                         = 0x00000002,
   1630 	VK_DEPENDENCY_FEEDBACK_LOOP_BIT_EXT                                  = 0x00000008,
   1631 	VK_DEPENDENCY_QUEUE_FAMILY_OWNERSHIP_TRANSFER_USE_ALL_STAGES_BIT_KHR = 0x00000020,
   1632 	VK_DEPENDENCY_FLAG_BITS_MAX_ENUM                                     = 0x7FFFFFFF
   1633 } VkDependencyFlagBits;
   1634 typedef VkFlags VkDependencyFlags;
   1635 
   1636 typedef enum {
   1637 	VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT      = 0x00000001,
   1638 	VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
   1639 } VkFramebufferCreateFlagBits;
   1640 typedef VkFlags VkFramebufferCreateFlags;
   1641 
   1642 typedef enum {
   1643 	VK_COMMAND_POOL_CREATE_TRANSIENT_BIT            = 0x00000001,
   1644 	VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002,
   1645 	VK_COMMAND_POOL_CREATE_PROTECTED_BIT            = 0x00000004,
   1646 	VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM       = 0x7FFFFFFF
   1647 } VkCommandPoolCreateFlagBits;
   1648 typedef VkFlags VkCommandPoolCreateFlags;
   1649 
   1650 typedef enum {
   1651 	VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT      = 0x00000001,
   1652 	VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 0x00000002,
   1653 	VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT     = 0x00000004,
   1654 	VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM       = 0x7FFFFFFF
   1655 } VkCommandBufferUsageFlagBits;
   1656 typedef VkFlags VkCommandBufferUsageFlags;
   1657 
   1658 typedef enum {
   1659 	VK_QUERY_CONTROL_PRECISE_BIT        = 0x00000001,
   1660 	VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
   1661 } VkQueryControlFlagBits;
   1662 typedef VkFlags VkQueryControlFlags;
   1663 
   1664 typedef enum {
   1665 	VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
   1666 	VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM    = 0x7FFFFFFF
   1667 } VkCommandBufferResetFlagBits;
   1668 typedef VkFlags VkCommandBufferResetFlags;
   1669 
   1670 typedef enum {
   1671 	VK_MEMORY_HEAP_DEVICE_LOCAL_BIT     = 0x00000001,
   1672 	VK_MEMORY_HEAP_MULTI_INSTANCE_BIT   = 0x00000002,
   1673 	VK_MEMORY_HEAP_TILE_MEMORY_BIT_QCOM = 0x00000008,
   1674 	VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM   = 0x7FFFFFFF
   1675 } VkMemoryHeapFlagBits;
   1676 typedef VkFlags VkMemoryHeapFlags;
   1677 
   1678 typedef enum {
   1679 	VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT        = 0x00000001,
   1680 	VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT        = 0x00000002,
   1681 	VK_MEMORY_PROPERTY_HOST_COHERENT_BIT       = 0x00000004,
   1682 	VK_MEMORY_PROPERTY_HOST_CACHED_BIT         = 0x00000008,
   1683 	VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT    = 0x00000010,
   1684 	VK_MEMORY_PROPERTY_PROTECTED_BIT           = 0x00000020,
   1685 	VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD = 0x00000040,
   1686 	VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD = 0x00000080,
   1687 	VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV     = 0x00000100,
   1688 	VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM      = 0x7FFFFFFF
   1689 } VkMemoryPropertyFlagBits;
   1690 typedef VkFlags VkMemoryPropertyFlags;
   1691 
   1692 typedef enum {
   1693 	VK_MEMORY_MAP_PLACED_BIT_EXT     = 0x00000001,
   1694 	VK_MEMORY_MAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
   1695 } VkMemoryMapFlagBits;
   1696 typedef VkFlags VkMemoryMapFlags;
   1697 
   1698 typedef enum {
   1699 	VK_SUBGROUP_FEATURE_BASIC_BIT            = 0x00000001,
   1700 	VK_SUBGROUP_FEATURE_VOTE_BIT             = 0x00000002,
   1701 	VK_SUBGROUP_FEATURE_ARITHMETIC_BIT       = 0x00000004,
   1702 	VK_SUBGROUP_FEATURE_BALLOT_BIT           = 0x00000008,
   1703 	VK_SUBGROUP_FEATURE_SHUFFLE_BIT          = 0x00000010,
   1704 	VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = 0x00000020,
   1705 	VK_SUBGROUP_FEATURE_CLUSTERED_BIT        = 0x00000040,
   1706 	VK_SUBGROUP_FEATURE_QUAD_BIT             = 0x00000080,
   1707 	VK_SUBGROUP_FEATURE_ROTATE_BIT           = 0x00000200,
   1708 	VK_SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT = 0x00000400,
   1709 	VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV   = 0x00000100,
   1710 	VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM   = 0x7FFFFFFF
   1711 } VkSubgroupFeatureFlagBits;
   1712 typedef VkFlags VkSubgroupFeatureFlags;
   1713 
   1714 typedef enum {
   1715 	VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT                   = 0x00000001,
   1716 	VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT                = 0x00000002,
   1717 	VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000004,
   1718 	VK_MEMORY_ALLOCATE_ZERO_INITIALIZE_BIT_EXT           = 0x00000008,
   1719 	VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM                = 0x7FFFFFFF
   1720 } VkMemoryAllocateFlagBits;
   1721 typedef VkFlags VkMemoryAllocateFlags;
   1722 
   1723 typedef enum {
   1724 	VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT                       = 0x00000001,
   1725 	VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT                    = 0x00000002,
   1726 	VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT                = 0x00000004,
   1727 	VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT                   = 0x00000008,
   1728 	VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT               = 0x00000010,
   1729 	VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT                      = 0x00000020,
   1730 	VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT                  = 0x00000040,
   1731 	VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT                     = 0x00000200,
   1732 	VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID = 0x00000400,
   1733 	VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT             = 0x00000080,
   1734 	VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT  = 0x00000100,
   1735 	VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA              = 0x00000800,
   1736 	VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV                 = 0x00001000,
   1737 	VK_EXTERNAL_MEMORY_HANDLE_TYPE_SCREEN_BUFFER_BIT_QNX               = 0x00004000,
   1738 	VK_EXTERNAL_MEMORY_HANDLE_TYPE_MTLBUFFER_BIT_EXT                   = 0x00010000,
   1739 	VK_EXTERNAL_MEMORY_HANDLE_TYPE_MTLTEXTURE_BIT_EXT                  = 0x00020000,
   1740 	VK_EXTERNAL_MEMORY_HANDLE_TYPE_MTLHEAP_BIT_EXT                     = 0x00040000,
   1741 	VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM                  = 0x7FFFFFFF,
   1742 } VkExternalMemoryHandleTypeFlagBits;
   1743 typedef VkFlags VkExternalMemoryHandleTypeFlags;
   1744 
   1745 typedef enum {
   1746 	VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT            = 0x00000001,
   1747 	VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT         = 0x00000002,
   1748 	VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT     = 0x00000004,
   1749 	VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT          = 0x00000008,
   1750 	VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT              = 0x00000010,
   1751 	VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA = 0x00000080,
   1752 	VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM       = 0x7FFFFFFF,
   1753 } VkExternalSemaphoreHandleTypeFlagBits;
   1754 typedef VkFlags VkExternalSemaphoreHandleTypeFlags;
   1755 
   1756 typedef enum {
   1757 	VK_SEMAPHORE_TYPE_BINARY   = 0,
   1758 	VK_SEMAPHORE_TYPE_TIMELINE = 1,
   1759 	VK_SEMAPHORE_TYPE_MAX_ENUM = 0x7FFFFFFF
   1760 } VkSemaphoreType;
   1761 
   1762 typedef enum {
   1763 	VK_RESOLVE_MODE_NONE                                   = 0,
   1764 	VK_RESOLVE_MODE_SAMPLE_ZERO_BIT                        = 0x00000001,
   1765 	VK_RESOLVE_MODE_AVERAGE_BIT                            = 0x00000002,
   1766 	VK_RESOLVE_MODE_MIN_BIT                                = 0x00000004,
   1767 	VK_RESOLVE_MODE_MAX_BIT                                = 0x00000008,
   1768 	VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_BIT_ANDROID = 0x00000010,
   1769 	VK_RESOLVE_MODE_CUSTOM_BIT_EXT                         = 0x00000020,
   1770 	VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM                     = 0x7FFFFFFF
   1771 } VkResolveModeFlagBits;
   1772 typedef VkFlags VkResolveModeFlags;
   1773 
   1774 typedef enum {
   1775 	VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT       = 0x00000001,
   1776 	VK_RENDERING_SUSPENDING_BIT                               = 0x00000002,
   1777 	VK_RENDERING_RESUMING_BIT                                 = 0x00000004,
   1778 	VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT              = 0x00000008,
   1779 	VK_RENDERING_CONTENTS_INLINE_BIT_KHR                      = 0x00000010,
   1780 	VK_RENDERING_PER_LAYER_FRAGMENT_DENSITY_BIT_VALVE         = 0x00000020,
   1781 	VK_RENDERING_FRAGMENT_REGION_BIT_EXT                      = 0x00000040,
   1782 	VK_RENDERING_CUSTOM_RESOLVE_BIT_EXT                       = 0x00000080,
   1783 	VK_RENDERING_LOCAL_READ_CONCURRENT_ACCESS_CONTROL_BIT_KHR = 0x00000100,
   1784 	VK_RENDERING_FLAG_BITS_MAX_ENUM                           = 0x7FFFFFFF
   1785 } VkRenderingFlagBits;
   1786 typedef VkFlags VkRenderingFlags;
   1787 
   1788 typedef enum {
   1789 	VK_SUBMIT_PROTECTED_BIT      = 0x00000001,
   1790 	VK_SUBMIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
   1791 } VkSubmitFlagBits;
   1792 typedef VkFlags VkSubmitFlags;
   1793 
   1794 typedef struct {
   1795 	uint32_t width;
   1796 	uint32_t height;
   1797 } VkExtent2D;
   1798 
   1799 typedef struct {
   1800 	uint32_t width;
   1801 	uint32_t height;
   1802 	uint32_t depth;
   1803 } VkExtent3D;
   1804 
   1805 typedef struct {
   1806 	int32_t x;
   1807 	int32_t y;
   1808 } VkOffset2D;
   1809 
   1810 typedef struct {
   1811 	VkOffset2D offset;
   1812 	VkExtent2D extent;
   1813 } VkRect2D;
   1814 
   1815 typedef struct {
   1816 	float x;
   1817 	float y;
   1818 	float width;
   1819 	float height;
   1820 	float minDepth;
   1821 	float maxDepth;
   1822 } VkViewport;
   1823 
   1824 typedef struct {
   1825 	char     extensionName[VK_MAX_EXTENSION_NAME_SIZE];
   1826 	uint32_t specVersion;
   1827 } VkExtensionProperties;
   1828 
   1829 typedef struct {
   1830 	char     layerName[VK_MAX_EXTENSION_NAME_SIZE];
   1831 	uint32_t specVersion;
   1832 	uint32_t implementationVersion;
   1833 	char     description[VK_MAX_DESCRIPTION_SIZE];
   1834 } VkLayerProperties;
   1835 
   1836 typedef struct {
   1837 	VkStructureType sType;
   1838 	const void *    pNext;
   1839 	const char *    pApplicationName;
   1840 	uint32_t        applicationVersion;
   1841 	const char *    pEngineName;
   1842 	uint32_t        engineVersion;
   1843 	uint32_t        apiVersion;
   1844 } VkApplicationInfo;
   1845 
   1846 typedef struct {
   1847 	VkFormatFeatureFlags linearTilingFeatures;
   1848 	VkFormatFeatureFlags optimalTilingFeatures;
   1849 	VkFormatFeatureFlags bufferFeatures;
   1850 } VkFormatProperties;
   1851 
   1852 typedef struct {
   1853 	VkStructureType    sType;
   1854 	void *             pNext;
   1855 	VkFormatProperties formatProperties;
   1856 } VkFormatProperties2;
   1857 
   1858 typedef struct {
   1859 	VkStructureType       sType;
   1860 	void *                pNext;
   1861 	VkFormatFeatureFlags2 linearTilingFeatures;
   1862 	VkFormatFeatureFlags2 optimalTilingFeatures;
   1863 	VkFormatFeatureFlags2 bufferFeatures;
   1864 } VkFormatProperties3;
   1865 
   1866 typedef struct {
   1867 	VkStructureType           sType;
   1868 	const void *              pNext;
   1869 	VkInstanceCreateFlags     flags;
   1870 	const VkApplicationInfo * pApplicationInfo;
   1871 	uint32_t                  enabledLayerCount;
   1872 	const char * const *      ppEnabledLayerNames;
   1873 	uint32_t                  enabledExtensionCount;
   1874 	const char * const *      ppEnabledExtensionNames;
   1875 } VkInstanceCreateInfo;
   1876 
   1877 typedef struct {
   1878 	uint32_t           maxImageDimension1D;
   1879 	uint32_t           maxImageDimension2D;
   1880 	uint32_t           maxImageDimension3D;
   1881 	uint32_t           maxImageDimensionCube;
   1882 	uint32_t           maxImageArrayLayers;
   1883 	uint32_t           maxTexelBufferElements;
   1884 	uint32_t           maxUniformBufferRange;
   1885 	uint32_t           maxStorageBufferRange;
   1886 	uint32_t           maxPushConstantsSize;
   1887 	uint32_t           maxMemoryAllocationCount;
   1888 	uint32_t           maxSamplerAllocationCount;
   1889 	VkDeviceSize       bufferImageGranularity;
   1890 	VkDeviceSize       sparseAddressSpaceSize;
   1891 	uint32_t           maxBoundDescriptorSets;
   1892 	uint32_t           maxPerStageDescriptorSamplers;
   1893 	uint32_t           maxPerStageDescriptorUniformBuffers;
   1894 	uint32_t           maxPerStageDescriptorStorageBuffers;
   1895 	uint32_t           maxPerStageDescriptorSampledImages;
   1896 	uint32_t           maxPerStageDescriptorStorageImages;
   1897 	uint32_t           maxPerStageDescriptorInputAttachments;
   1898 	uint32_t           maxPerStageResources;
   1899 	uint32_t           maxDescriptorSetSamplers;
   1900 	uint32_t           maxDescriptorSetUniformBuffers;
   1901 	uint32_t           maxDescriptorSetUniformBuffersDynamic;
   1902 	uint32_t           maxDescriptorSetStorageBuffers;
   1903 	uint32_t           maxDescriptorSetStorageBuffersDynamic;
   1904 	uint32_t           maxDescriptorSetSampledImages;
   1905 	uint32_t           maxDescriptorSetStorageImages;
   1906 	uint32_t           maxDescriptorSetInputAttachments;
   1907 	uint32_t           maxVertexInputAttributes;
   1908 	uint32_t           maxVertexInputBindings;
   1909 	uint32_t           maxVertexInputAttributeOffset;
   1910 	uint32_t           maxVertexInputBindingStride;
   1911 	uint32_t           maxVertexOutputComponents;
   1912 	uint32_t           maxTessellationGenerationLevel;
   1913 	uint32_t           maxTessellationPatchSize;
   1914 	uint32_t           maxTessellationControlPerVertexInputComponents;
   1915 	uint32_t           maxTessellationControlPerVertexOutputComponents;
   1916 	uint32_t           maxTessellationControlPerPatchOutputComponents;
   1917 	uint32_t           maxTessellationControlTotalOutputComponents;
   1918 	uint32_t           maxTessellationEvaluationInputComponents;
   1919 	uint32_t           maxTessellationEvaluationOutputComponents;
   1920 	uint32_t           maxGeometryShaderInvocations;
   1921 	uint32_t           maxGeometryInputComponents;
   1922 	uint32_t           maxGeometryOutputComponents;
   1923 	uint32_t           maxGeometryOutputVertices;
   1924 	uint32_t           maxGeometryTotalOutputComponents;
   1925 	uint32_t           maxFragmentInputComponents;
   1926 	uint32_t           maxFragmentOutputAttachments;
   1927 	uint32_t           maxFragmentDualSrcAttachments;
   1928 	uint32_t           maxFragmentCombinedOutputResources;
   1929 	uint32_t           maxComputeSharedMemorySize;
   1930 	uint32_t           maxComputeWorkGroupCount[3];
   1931 	uint32_t           maxComputeWorkGroupInvocations;
   1932 	uint32_t           maxComputeWorkGroupSize[3];
   1933 	uint32_t           subPixelPrecisionBits;
   1934 	uint32_t           subTexelPrecisionBits;
   1935 	uint32_t           mipmapPrecisionBits;
   1936 	uint32_t           maxDrawIndexedIndexValue;
   1937 	uint32_t           maxDrawIndirectCount;
   1938 	float              maxSamplerLodBias;
   1939 	float              maxSamplerAnisotropy;
   1940 	uint32_t           maxViewports;
   1941 	uint32_t           maxViewportDimensions[2];
   1942 	float              viewportBoundsRange[2];
   1943 	uint32_t           viewportSubPixelBits;
   1944 	size_t             minMemoryMapAlignment;
   1945 	VkDeviceSize       minTexelBufferOffsetAlignment;
   1946 	VkDeviceSize       minUniformBufferOffsetAlignment;
   1947 	VkDeviceSize       minStorageBufferOffsetAlignment;
   1948 	int32_t            minTexelOffset;
   1949 	uint32_t           maxTexelOffset;
   1950 	int32_t            minTexelGatherOffset;
   1951 	uint32_t           maxTexelGatherOffset;
   1952 	float              minInterpolationOffset;
   1953 	float              maxInterpolationOffset;
   1954 	uint32_t           subPixelInterpolationOffsetBits;
   1955 	uint32_t           maxFramebufferWidth;
   1956 	uint32_t           maxFramebufferHeight;
   1957 	uint32_t           maxFramebufferLayers;
   1958 	VkSampleCountFlags framebufferColorSampleCounts;
   1959 	VkSampleCountFlags framebufferDepthSampleCounts;
   1960 	VkSampleCountFlags framebufferStencilSampleCounts;
   1961 	VkSampleCountFlags framebufferNoAttachmentsSampleCounts;
   1962 	uint32_t           maxColorAttachments;
   1963 	VkSampleCountFlags sampledImageColorSampleCounts;
   1964 	VkSampleCountFlags sampledImageIntegerSampleCounts;
   1965 	VkSampleCountFlags sampledImageDepthSampleCounts;
   1966 	VkSampleCountFlags sampledImageStencilSampleCounts;
   1967 	VkSampleCountFlags storageImageSampleCounts;
   1968 	uint32_t           maxSampleMaskWords;
   1969 	VkBool32           timestampComputeAndGraphics;
   1970 	float              timestampPeriod;
   1971 	uint32_t           maxClipDistances;
   1972 	uint32_t           maxCullDistances;
   1973 	uint32_t           maxCombinedClipAndCullDistances;
   1974 	uint32_t           discreteQueuePriorities;
   1975 	float              pointSizeRange[2];
   1976 	float              lineWidthRange[2];
   1977 	float              pointSizeGranularity;
   1978 	float              lineWidthGranularity;
   1979 	VkBool32           strictLines;
   1980 	VkBool32           standardSampleLocations;
   1981 	VkDeviceSize       optimalBufferCopyOffsetAlignment;
   1982 	VkDeviceSize       optimalBufferCopyRowPitchAlignment;
   1983 	VkDeviceSize       nonCoherentAtomSize;
   1984 } VkPhysicalDeviceLimits;
   1985 
   1986 typedef struct {
   1987 	VkBool32 residencyStandard2DBlockShape;
   1988 	VkBool32 residencyStandard2DMultisampleBlockShape;
   1989 	VkBool32 residencyStandard3DBlockShape;
   1990 	VkBool32 residencyAlignedMipSize;
   1991 	VkBool32 residencyNonResidentStrict;
   1992 } VkPhysicalDeviceSparseProperties;
   1993 
   1994 typedef struct {
   1995 	VkDeviceSize      size;
   1996 	VkMemoryHeapFlags flags;
   1997 } VkMemoryHeap;
   1998 
   1999 typedef struct {
   2000 	VkMemoryPropertyFlags propertyFlags;
   2001 	uint32_t              heapIndex;
   2002 } VkMemoryType;
   2003 
   2004 typedef struct {
   2005 	uint32_t     memoryTypeCount;
   2006 	VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES];
   2007 	uint32_t     memoryHeapCount;
   2008 	VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS];
   2009 } VkPhysicalDeviceMemoryProperties;
   2010 
   2011 typedef struct {
   2012 	VkStructureType                  sType;
   2013 	void *                           pNext;
   2014 	VkPhysicalDeviceMemoryProperties memoryProperties;
   2015 } VkPhysicalDeviceMemoryProperties2;
   2016 
   2017 typedef struct {
   2018 	VkStructureType         sType;
   2019 	void *                  pNext;
   2020 	uint8_t                 deviceUUID[VK_UUID_SIZE];
   2021 	uint8_t                 driverUUID[VK_UUID_SIZE];
   2022 	uint8_t                 deviceLUID[VK_LUID_SIZE];
   2023 	uint32_t                deviceNodeMask;
   2024 	VkBool32                deviceLUIDValid;
   2025 	uint32_t                subgroupSize;
   2026 	VkShaderStageFlags      subgroupSupportedStages;
   2027 	VkSubgroupFeatureFlags  subgroupSupportedOperations;
   2028 	VkBool32                subgroupQuadOperationsInAllStages;
   2029 	VkPointClippingBehavior pointClippingBehavior;
   2030 	uint32_t                maxMultiviewViewCount;
   2031 	uint32_t                maxMultiviewInstanceIndex;
   2032 	VkBool32                protectedNoFault;
   2033 	uint32_t                maxPerSetDescriptors;
   2034 	VkDeviceSize            maxMemoryAllocationSize;
   2035 } VkPhysicalDeviceVulkan11Properties;
   2036 
   2037 typedef struct {
   2038 	uint32_t                         apiVersion;
   2039 	uint32_t                         driverVersion;
   2040 	uint32_t                         vendorID;
   2041 	uint32_t                         deviceID;
   2042 	VkPhysicalDeviceType             deviceType;
   2043 	char                             deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
   2044 	uint8_t                          pipelineCacheUUID[VK_UUID_SIZE];
   2045 	VkPhysicalDeviceLimits           limits;
   2046 	VkPhysicalDeviceSparseProperties sparseProperties;
   2047 } VkPhysicalDeviceProperties;
   2048 
   2049 typedef struct {
   2050     VkStructureType            sType;
   2051     void *                     pNext;
   2052     VkPhysicalDeviceProperties properties;
   2053 } VkPhysicalDeviceProperties2;
   2054 
   2055 typedef struct {
   2056 	VkBool32 robustBufferAccess;
   2057 	VkBool32 fullDrawIndexUint32;
   2058 	VkBool32 imageCubeArray;
   2059 	VkBool32 independentBlend;
   2060 	VkBool32 geometryShader;
   2061 	VkBool32 tessellationShader;
   2062 	VkBool32 sampleRateShading;
   2063 	VkBool32 dualSrcBlend;
   2064 	VkBool32 logicOp;
   2065 	VkBool32 multiDrawIndirect;
   2066 	VkBool32 drawIndirectFirstInstance;
   2067 	VkBool32 depthClamp;
   2068 	VkBool32 depthBiasClamp;
   2069 	VkBool32 fillModeNonSolid;
   2070 	VkBool32 depthBounds;
   2071 	VkBool32 wideLines;
   2072 	VkBool32 largePoints;
   2073 	VkBool32 alphaToOne;
   2074 	VkBool32 multiViewport;
   2075 	VkBool32 samplerAnisotropy;
   2076 	VkBool32 textureCompressionETC2;
   2077 	VkBool32 textureCompressionASTC_LDR;
   2078 	VkBool32 textureCompressionBC;
   2079 	VkBool32 occlusionQueryPrecise;
   2080 	VkBool32 pipelineStatisticsQuery;
   2081 	VkBool32 vertexPipelineStoresAndAtomics;
   2082 	VkBool32 fragmentStoresAndAtomics;
   2083 	VkBool32 shaderTessellationAndGeometryPointSize;
   2084 	VkBool32 shaderImageGatherExtended;
   2085 	VkBool32 shaderStorageImageExtendedFormats;
   2086 	VkBool32 shaderStorageImageMultisample;
   2087 	VkBool32 shaderStorageImageReadWithoutFormat;
   2088 	VkBool32 shaderStorageImageWriteWithoutFormat;
   2089 	VkBool32 shaderUniformBufferArrayDynamicIndexing;
   2090 	VkBool32 shaderSampledImageArrayDynamicIndexing;
   2091 	VkBool32 shaderStorageBufferArrayDynamicIndexing;
   2092 	VkBool32 shaderStorageImageArrayDynamicIndexing;
   2093 	VkBool32 shaderClipDistance;
   2094 	VkBool32 shaderCullDistance;
   2095 	VkBool32 shaderFloat64;
   2096 	VkBool32 shaderInt64;
   2097 	VkBool32 shaderInt16;
   2098 	VkBool32 shaderResourceResidency;
   2099 	VkBool32 shaderResourceMinLod;
   2100 	VkBool32 sparseBinding;
   2101 	VkBool32 sparseResidencyBuffer;
   2102 	VkBool32 sparseResidencyImage2D;
   2103 	VkBool32 sparseResidencyImage3D;
   2104 	VkBool32 sparseResidency2Samples;
   2105 	VkBool32 sparseResidency4Samples;
   2106 	VkBool32 sparseResidency8Samples;
   2107 	VkBool32 sparseResidency16Samples;
   2108 	VkBool32 sparseResidencyAliased;
   2109 	VkBool32 variableMultisampleRate;
   2110 	VkBool32 inheritedQueries;
   2111 } VkPhysicalDeviceFeatures;
   2112 
   2113 typedef struct {
   2114 	VkStructureType sType;
   2115 	void *          pNext;
   2116 	VkBool32        storageBuffer16BitAccess;
   2117 	VkBool32        uniformAndStorageBuffer16BitAccess;
   2118 	VkBool32        storagePushConstant16;
   2119 	VkBool32        storageInputOutput16;
   2120 	VkBool32        multiview;
   2121 	VkBool32        multiviewGeometryShader;
   2122 	VkBool32        multiviewTessellationShader;
   2123 	VkBool32        variablePointersStorageBuffer;
   2124 	VkBool32        variablePointers;
   2125 	VkBool32        protectedMemory;
   2126 	VkBool32        samplerYcbcrConversion;
   2127 	VkBool32        shaderDrawParameters;
   2128 } VkPhysicalDeviceVulkan11Features;
   2129 
   2130 typedef struct {
   2131 	VkStructureType sType;
   2132 	void *          pNext;
   2133 	VkBool32        samplerMirrorClampToEdge;
   2134 	VkBool32        drawIndirectCount;
   2135 	VkBool32        storageBuffer8BitAccess;
   2136 	VkBool32        uniformAndStorageBuffer8BitAccess;
   2137 	VkBool32        storagePushConstant8;
   2138 	VkBool32        shaderBufferInt64Atomics;
   2139 	VkBool32        shaderSharedInt64Atomics;
   2140 	VkBool32        shaderFloat16;
   2141 	VkBool32        shaderInt8;
   2142 	VkBool32        descriptorIndexing;
   2143 	VkBool32        shaderInputAttachmentArrayDynamicIndexing;
   2144 	VkBool32        shaderUniformTexelBufferArrayDynamicIndexing;
   2145 	VkBool32        shaderStorageTexelBufferArrayDynamicIndexing;
   2146 	VkBool32        shaderUniformBufferArrayNonUniformIndexing;
   2147 	VkBool32        shaderSampledImageArrayNonUniformIndexing;
   2148 	VkBool32        shaderStorageBufferArrayNonUniformIndexing;
   2149 	VkBool32        shaderStorageImageArrayNonUniformIndexing;
   2150 	VkBool32        shaderInputAttachmentArrayNonUniformIndexing;
   2151 	VkBool32        shaderUniformTexelBufferArrayNonUniformIndexing;
   2152 	VkBool32        shaderStorageTexelBufferArrayNonUniformIndexing;
   2153 	VkBool32        descriptorBindingUniformBufferUpdateAfterBind;
   2154 	VkBool32        descriptorBindingSampledImageUpdateAfterBind;
   2155 	VkBool32        descriptorBindingStorageImageUpdateAfterBind;
   2156 	VkBool32        descriptorBindingStorageBufferUpdateAfterBind;
   2157 	VkBool32        descriptorBindingUniformTexelBufferUpdateAfterBind;
   2158 	VkBool32        descriptorBindingStorageTexelBufferUpdateAfterBind;
   2159 	VkBool32        descriptorBindingUpdateUnusedWhilePending;
   2160 	VkBool32        descriptorBindingPartiallyBound;
   2161 	VkBool32        descriptorBindingVariableDescriptorCount;
   2162 	VkBool32        runtimeDescriptorArray;
   2163 	VkBool32        samplerFilterMinmax;
   2164 	VkBool32        scalarBlockLayout;
   2165 	VkBool32        imagelessFramebuffer;
   2166 	VkBool32        uniformBufferStandardLayout;
   2167 	VkBool32        shaderSubgroupExtendedTypes;
   2168 	VkBool32        separateDepthStencilLayouts;
   2169 	VkBool32        hostQueryReset;
   2170 	VkBool32        timelineSemaphore;
   2171 	VkBool32        bufferDeviceAddress;
   2172 	VkBool32        bufferDeviceAddressCaptureReplay;
   2173 	VkBool32        bufferDeviceAddressMultiDevice;
   2174 	VkBool32        vulkanMemoryModel;
   2175 	VkBool32        vulkanMemoryModelDeviceScope;
   2176 	VkBool32        vulkanMemoryModelAvailabilityVisibilityChains;
   2177 	VkBool32        shaderOutputViewportIndex;
   2178 	VkBool32        shaderOutputLayer;
   2179 	VkBool32        subgroupBroadcastDynamicId;
   2180 } VkPhysicalDeviceVulkan12Features;
   2181 
   2182 typedef struct {
   2183 	VkStructureType sType;
   2184 	void *          pNext;
   2185 	VkBool32        robustImageAccess;
   2186 	VkBool32        inlineUniformBlock;
   2187 	VkBool32        descriptorBindingInlineUniformBlockUpdateAfterBind;
   2188 	VkBool32        pipelineCreationCacheControl;
   2189 	VkBool32        privateData;
   2190 	VkBool32        shaderDemoteToHelperInvocation;
   2191 	VkBool32        shaderTerminateInvocation;
   2192 	VkBool32        subgroupSizeControl;
   2193 	VkBool32        computeFullSubgroups;
   2194 	VkBool32        synchronization2;
   2195 	VkBool32        textureCompressionASTC_HDR;
   2196 	VkBool32        shaderZeroInitializeWorkgroupMemory;
   2197 	VkBool32        dynamicRendering;
   2198 	VkBool32        shaderIntegerDotProduct;
   2199 	VkBool32        maintenance4;
   2200 } VkPhysicalDeviceVulkan13Features;
   2201 
   2202 typedef struct {
   2203 	VkStructureType sType;
   2204 	void *          pNext;
   2205 	VkBool32        shaderRelaxedExtendedInstruction;
   2206 } VkPhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR;
   2207 
   2208 typedef struct {
   2209 	VkStructureType          sType;
   2210 	void *                   pNext;
   2211 	VkPhysicalDeviceFeatures features;
   2212 } VkPhysicalDeviceFeatures2;
   2213 
   2214 typedef struct {
   2215 	VkQueueFlags queueFlags;
   2216 	uint32_t     queueCount;
   2217 	uint32_t     timestampValidBits;
   2218 	VkExtent3D   minImageTransferGranularity;
   2219 } VkQueueFamilyProperties;
   2220 
   2221 typedef struct {
   2222 	VkStructureType          sType;
   2223 	const void *             pNext;
   2224 	VkDeviceQueueCreateFlags flags;
   2225 	uint32_t                 queueFamilyIndex;
   2226 	uint32_t                 queueCount;
   2227 	const float *            pQueuePriorities;
   2228 } VkDeviceQueueCreateInfo;
   2229 
   2230 typedef struct {
   2231 	VkStructureType                  sType;
   2232 	const void *                     pNext;
   2233 	VkDeviceCreateFlags              flags;
   2234 	uint32_t                         queueCreateInfoCount;
   2235 	const VkDeviceQueueCreateInfo *  pQueueCreateInfos;
   2236 	uint32_t                         enabledLayerCount;   // enabledLayerCount is deprecated
   2237 	const char * const *             ppEnabledLayerNames; // ppEnabledLayerNames is deprecated
   2238 	uint32_t                         enabledExtensionCount;
   2239 	const char * const *             ppEnabledExtensionNames;
   2240 	const VkPhysicalDeviceFeatures * pEnabledFeatures;
   2241 } VkDeviceCreateInfo;
   2242 
   2243 typedef struct {
   2244 	VkStructureType               sType;
   2245 	const void*                   pNext;
   2246 	VkSwapchainCreateFlagsKHR     flags;
   2247 	VkSurfaceKHR                  surface;
   2248 	uint32_t                      minImageCount;
   2249 	VkFormat                      imageFormat;
   2250 	VkColorSpaceKHR               imageColorSpace;
   2251 	VkExtent2D                    imageExtent;
   2252 	uint32_t                      imageArrayLayers;
   2253 	VkImageUsageFlags             imageUsage;
   2254 	VkSharingMode                 imageSharingMode;
   2255 	uint32_t                      queueFamilyIndexCount;
   2256 	const uint32_t *              pQueueFamilyIndices;
   2257 	VkSurfaceTransformFlagBitsKHR preTransform;
   2258 	VkCompositeAlphaFlagBitsKHR   compositeAlpha;
   2259 	VkPresentModeKHR              presentMode;
   2260 	VkBool32                      clipped;
   2261 	VkSwapchainKHR                oldSwapchain;
   2262 } VkSwapchainCreateInfoKHR;
   2263 
   2264 typedef struct {
   2265 	VkStructureType        sType;
   2266 	const void *           pNext;
   2267 	uint32_t               waitSemaphoreCount;
   2268 	const VkSemaphore *    pWaitSemaphores;
   2269 	uint32_t               swapchainCount;
   2270 	const VkSwapchainKHR * pSwapchains;
   2271 	const uint32_t *       pImageIndices;
   2272 	VkResult *             pResults;
   2273 } VkPresentInfoKHR;
   2274 
   2275 typedef struct {
   2276 	uint32_t                      minImageCount;
   2277 	uint32_t                      maxImageCount;
   2278 	VkExtent2D                    currentExtent;
   2279 	VkExtent2D                    minImageExtent;
   2280 	VkExtent2D                    maxImageExtent;
   2281 	uint32_t                      maxImageArrayLayers;
   2282 	VkSurfaceTransformFlagsKHR    supportedTransforms;
   2283 	VkSurfaceTransformFlagBitsKHR currentTransform;
   2284 	VkCompositeAlphaFlagsKHR      supportedCompositeAlpha;
   2285 	VkImageUsageFlags             supportedUsageFlags;
   2286 } VkSurfaceCapabilitiesKHR;
   2287 
   2288 typedef struct {
   2289 	VkFormat        format;
   2290 	VkColorSpaceKHR colorSpace;
   2291 } VkSurfaceFormatKHR;
   2292 
   2293 typedef struct {
   2294 	VkStructureType               sType;
   2295 	const void *                  pNext;
   2296 	VkQueryPoolCreateFlags        flags;
   2297 	VkQueryType                   queryType;
   2298 	uint32_t                      queryCount;
   2299 	VkQueryPipelineStatisticFlags pipelineStatistics;
   2300 } VkQueryPoolCreateInfo;
   2301 
   2302 typedef struct {
   2303 	VkStructureType        sType;
   2304 	const void *           pNext;
   2305 	VkSemaphoreCreateFlags flags;
   2306 } VkSemaphoreCreateInfo;
   2307 
   2308 typedef struct {
   2309 	VkStructureType sType;
   2310 	const void *    pNext;
   2311 	VkSemaphoreType semaphoreType;
   2312 	uint64_t        initialValue;
   2313 } VkSemaphoreTypeCreateInfo;
   2314 
   2315 typedef struct {
   2316 	VkStructureType  sType;
   2317 	const void *     pNext;
   2318 	uint32_t         waitSemaphoreValueCount;
   2319 	const uint64_t * pWaitSemaphoreValues;
   2320 	uint32_t         signalSemaphoreValueCount;
   2321 	const uint64_t * pSignalSemaphoreValues;
   2322 } VkTimelineSemaphoreSubmitInfo;
   2323 
   2324 typedef struct {
   2325 	VkStructureType      sType;
   2326 	const void *         pNext;
   2327 	VkSemaphoreWaitFlags flags;
   2328 	uint32_t             semaphoreCount;
   2329 	const VkSemaphore *  pSemaphores;
   2330 	const uint64_t *     pValues;
   2331 } VkSemaphoreWaitInfo;
   2332 
   2333 typedef struct {
   2334 	VkStructureType sType;
   2335 	const void *    pNext;
   2336 	VkSemaphore     semaphore;
   2337 	uint64_t        value;
   2338 } VkSemaphoreSignalInfo;
   2339 
   2340 typedef struct {
   2341 	VkStructureType       sType;
   2342 	const void *          pNext;
   2343 	VkSemaphore           semaphore;
   2344 	uint64_t              value;
   2345 	VkPipelineStageFlags2 stageMask;
   2346 	uint32_t              deviceIndex;
   2347 } VkSemaphoreSubmitInfo;
   2348 
   2349 typedef struct {
   2350 	VkStructureType                    sType;
   2351 	const void *                       pNext;
   2352 	VkExternalSemaphoreHandleTypeFlags handleTypes;
   2353 } VkExportSemaphoreCreateInfo;
   2354 
   2355 typedef struct {
   2356 	VkStructureType                       sType;
   2357 	const void *                          pNext;
   2358 	VkSemaphore                           semaphore;
   2359 	VkExternalSemaphoreHandleTypeFlagBits handleType;
   2360 } VkSemaphoreGetWin32HandleInfoKHR;
   2361 
   2362 typedef struct {
   2363 	VkStructureType                       sType;
   2364 	const void *                          pNext;
   2365 	VkSemaphore                           semaphore;
   2366 	VkExternalSemaphoreHandleTypeFlagBits handleType;
   2367 } VkSemaphoreGetFdInfoKHR;
   2368 
   2369 typedef struct {
   2370 	VkImageAspectFlags aspectMask;
   2371 	uint32_t           baseMipLevel;
   2372 	uint32_t           levelCount;
   2373 	uint32_t           baseArrayLayer;
   2374 	uint32_t           layerCount;
   2375 } VkImageSubresourceRange;
   2376 
   2377 typedef struct {
   2378 	VkStructureType       sType;
   2379 	const void *          pNext;
   2380 	VkPipelineStageFlags2 srcStageMask;
   2381 	VkAccessFlags2        srcAccessMask;
   2382 	VkPipelineStageFlags2 dstStageMask;
   2383 	VkAccessFlags2        dstAccessMask;
   2384 } VkMemoryBarrier2;
   2385 
   2386 typedef struct {
   2387 	VkStructureType       sType;
   2388 	const void *          pNext;
   2389 	VkPipelineStageFlags2 srcStageMask;
   2390 	VkAccessFlags2        srcAccessMask;
   2391 	VkPipelineStageFlags2 dstStageMask;
   2392 	VkAccessFlags2        dstAccessMask;
   2393 	uint32_t              srcQueueFamilyIndex;
   2394 	uint32_t              dstQueueFamilyIndex;
   2395 	VkBuffer              buffer;
   2396 	VkDeviceSize          offset;
   2397 	VkDeviceSize          size;
   2398 } VkBufferMemoryBarrier2;
   2399 
   2400 typedef struct {
   2401 	VkStructureType         sType;
   2402 	const void *            pNext;
   2403 	VkPipelineStageFlags2   srcStageMask;
   2404 	VkAccessFlags2          srcAccessMask;
   2405 	VkPipelineStageFlags2   dstStageMask;
   2406 	VkAccessFlags2          dstAccessMask;
   2407 	VkImageLayout           oldLayout;
   2408 	VkImageLayout           newLayout;
   2409 	uint32_t                srcQueueFamilyIndex;
   2410 	uint32_t                dstQueueFamilyIndex;
   2411 	VkImage                 image;
   2412 	VkImageSubresourceRange subresourceRange;
   2413 } VkImageMemoryBarrier2;
   2414 
   2415 typedef struct {
   2416 	VkStructureType                sType;
   2417 	const void *                   pNext;
   2418 	VkDependencyFlags              dependencyFlags;
   2419 	uint32_t                       memoryBarrierCount;
   2420 	const VkMemoryBarrier2 *       pMemoryBarriers;
   2421 	uint32_t                       bufferMemoryBarrierCount;
   2422 	const VkBufferMemoryBarrier2 * pBufferMemoryBarriers;
   2423 	uint32_t                       imageMemoryBarrierCount;
   2424 	const VkImageMemoryBarrier2 *  pImageMemoryBarriers;
   2425 } VkDependencyInfo;
   2426 
   2427 
   2428 typedef struct {
   2429 	VkComponentSwizzle r;
   2430 	VkComponentSwizzle g;
   2431 	VkComponentSwizzle b;
   2432 	VkComponentSwizzle a;
   2433 } VkComponentMapping;
   2434 
   2435 typedef struct {
   2436 	VkStructureType         sType;
   2437 	const void *            pNext;
   2438 	VkImageViewCreateFlags  flags;
   2439 	VkImage                 image;
   2440 	VkImageViewType         viewType;
   2441 	VkFormat                format;
   2442 	VkComponentMapping      components;
   2443 	VkImageSubresourceRange subresourceRange;
   2444 } VkImageViewCreateInfo;
   2445 
   2446 typedef struct {
   2447 	VkStructureType     sType;
   2448 	const void *        pNext;
   2449 	VkBufferCreateFlags flags;
   2450 	VkDeviceSize        size;
   2451 	VkBufferUsageFlags  usage;
   2452 	VkSharingMode       sharingMode;
   2453 	uint32_t            queueFamilyIndexCount;
   2454 	const uint32_t *    pQueueFamilyIndices;
   2455 } VkBufferCreateInfo;
   2456 
   2457 typedef struct {
   2458 	VkStructureType       sType;
   2459 	const void *          pNext;
   2460 	VkImageCreateFlags    flags;
   2461 	VkImageType           imageType;
   2462 	VkFormat              format;
   2463 	VkExtent3D            extent;
   2464 	uint32_t              mipLevels;
   2465 	uint32_t              arrayLayers;
   2466 	VkSampleCountFlagBits samples;
   2467 	VkImageTiling         tiling;
   2468 	VkImageUsageFlags     usage;
   2469 	VkSharingMode         sharingMode;
   2470 	uint32_t              queueFamilyIndexCount;
   2471 	const uint32_t *      pQueueFamilyIndices;
   2472 	VkImageLayout         initialLayout;
   2473 } VkImageCreateInfo;
   2474 
   2475 typedef struct {
   2476 	VkStructureType           sType;
   2477 	const void *              pNext;
   2478 	VkShaderModuleCreateFlags flags;
   2479 	size_t                    codeSize;
   2480 	const uint32_t *          pCode;
   2481 } VkShaderModuleCreateInfo;
   2482 
   2483 typedef struct {
   2484 	uint32_t constantID;
   2485 	uint32_t offset;
   2486 	size_t   size;
   2487 } VkSpecializationMapEntry;
   2488 
   2489 typedef struct {
   2490 	uint32_t                         mapEntryCount;
   2491 	const VkSpecializationMapEntry * pMapEntries;
   2492 	size_t                           dataSize;
   2493 	const void *                     pData;
   2494 } VkSpecializationInfo;
   2495 
   2496 typedef struct {
   2497 	VkStructureType                  sType;
   2498 	const void *                     pNext;
   2499 	VkPipelineShaderStageCreateFlags flags;
   2500 	VkShaderStageFlagBits            stage;
   2501 	VkShaderModule                   module;
   2502 	const char *                     pName;
   2503 	const VkSpecializationInfo *     pSpecializationInfo;
   2504 } VkPipelineShaderStageCreateInfo;
   2505 
   2506 typedef struct {
   2507 	VkStructureType                 sType;
   2508 	const void *                    pNext;
   2509 	VkPipelineCreateFlags           flags;
   2510 	VkPipelineShaderStageCreateInfo stage;
   2511 	VkPipelineLayout                layout;
   2512 	VkPipeline                      basePipelineHandle;
   2513 	int32_t                         basePipelineIndex;
   2514 } VkComputePipelineCreateInfo;
   2515 
   2516 typedef struct {
   2517 	VkStencilOp failOp;
   2518 	VkStencilOp passOp;
   2519 	VkStencilOp depthFailOp;
   2520 	VkCompareOp compareOp;
   2521 	uint32_t    compareMask;
   2522 	uint32_t    writeMask;
   2523 	uint32_t    reference;
   2524 } VkStencilOpState;
   2525 
   2526 typedef struct {
   2527 	VkStructureType                        sType;
   2528 	const void *                           pNext;
   2529 	VkPipelineDepthStencilStateCreateFlags flags;
   2530 	VkBool32                               depthTestEnable;
   2531 	VkBool32                               depthWriteEnable;
   2532 	VkCompareOp                            depthCompareOp;
   2533 	VkBool32                               depthBoundsTestEnable;
   2534 	VkBool32                               stencilTestEnable;
   2535 	VkStencilOpState                       front;
   2536 	VkStencilOpState                       back;
   2537 	float                                  minDepthBounds;
   2538 	float                                  maxDepthBounds;
   2539 } VkPipelineDepthStencilStateCreateInfo;
   2540 
   2541 typedef struct {
   2542 	VkBool32              blendEnable;
   2543 	VkBlendFactor         srcColorBlendFactor;
   2544 	VkBlendFactor         dstColorBlendFactor;
   2545 	VkBlendOp             colorBlendOp;
   2546 	VkBlendFactor         srcAlphaBlendFactor;
   2547 	VkBlendFactor         dstAlphaBlendFactor;
   2548 	VkBlendOp             alphaBlendOp;
   2549 	VkColorComponentFlags colorWriteMask;
   2550 } VkPipelineColorBlendAttachmentState;
   2551 
   2552 typedef struct {
   2553 	VkStructureType                             sType;
   2554 	const void *                                pNext;
   2555 	VkPipelineColorBlendStateCreateFlags        flags;
   2556 	VkBool32                                    logicOpEnable;
   2557 	VkLogicOp                                   logicOp;
   2558 	uint32_t                                    attachmentCount;
   2559 	const VkPipelineColorBlendAttachmentState * pAttachments;
   2560 	float                                       blendConstants[4];
   2561 } VkPipelineColorBlendStateCreateInfo;
   2562 
   2563 typedef struct {
   2564 	VkStructureType                   sType;
   2565 	const void *                      pNext;
   2566 	VkPipelineDynamicStateCreateFlags flags;
   2567 	uint32_t                          dynamicStateCount;
   2568 	const VkDynamicState *            pDynamicStates;
   2569 } VkPipelineDynamicStateCreateInfo;
   2570 
   2571 typedef struct {
   2572 	uint32_t          binding;
   2573 	uint32_t          stride;
   2574 	VkVertexInputRate inputRate;
   2575 } VkVertexInputBindingDescription;
   2576 
   2577 typedef struct {
   2578 	uint32_t location;
   2579 	uint32_t binding;
   2580 	VkFormat format;
   2581 	uint32_t offset;
   2582 } VkVertexInputAttributeDescription;
   2583 
   2584 typedef struct {
   2585 	VkStructureType                           sType;
   2586 	const void *                              pNext;
   2587 	VkPipelineVertexInputStateCreateFlags     flags;
   2588 	uint32_t                                  vertexBindingDescriptionCount;
   2589 	const VkVertexInputBindingDescription *   pVertexBindingDescriptions;
   2590 	uint32_t                                  vertexAttributeDescriptionCount;
   2591 	const VkVertexInputAttributeDescription * pVertexAttributeDescriptions;
   2592 } VkPipelineVertexInputStateCreateInfo;
   2593 
   2594 typedef struct {
   2595 	VkStructureType                         sType;
   2596 	const void *                            pNext;
   2597 	VkPipelineInputAssemblyStateCreateFlags flags;
   2598 	VkPrimitiveTopology                     topology;
   2599 	VkBool32                                primitiveRestartEnable;
   2600 } VkPipelineInputAssemblyStateCreateInfo;
   2601 
   2602 typedef struct {
   2603     VkStructureType                        sType;
   2604     const void *                           pNext;
   2605     VkPipelineTessellationStateCreateFlags flags;
   2606     uint32_t                               patchControlPoints;
   2607 } VkPipelineTessellationStateCreateInfo;
   2608 
   2609 typedef struct VkPipelineViewportStateCreateInfo {
   2610 	VkStructureType                    sType;
   2611 	const void *                       pNext;
   2612 	VkPipelineViewportStateCreateFlags flags;
   2613 	uint32_t                           viewportCount;
   2614 	const VkViewport *                 pViewports;
   2615 	uint32_t                           scissorCount;
   2616 	const VkRect2D *                   pScissors;
   2617 } VkPipelineViewportStateCreateInfo;
   2618 
   2619 typedef struct {
   2620 	VkStructureType                         sType;
   2621 	const void *                            pNext;
   2622 	VkPipelineRasterizationStateCreateFlags flags;
   2623 	VkBool32                                depthClampEnable;
   2624 	VkBool32                                rasterizerDiscardEnable;
   2625 	VkPolygonMode                           polygonMode;
   2626 	VkCullModeFlags                         cullMode;
   2627 	VkFrontFace                             frontFace;
   2628 	VkBool32                                depthBiasEnable;
   2629 	float                                   depthBiasConstantFactor;
   2630 	float                                   depthBiasClamp;
   2631 	float                                   depthBiasSlopeFactor;
   2632 	float                                   lineWidth;
   2633 } VkPipelineRasterizationStateCreateInfo;
   2634 
   2635 typedef struct {
   2636 	VkStructureType                       sType;
   2637 	const void *                          pNext;
   2638 	VkPipelineMultisampleStateCreateFlags flags;
   2639 	VkSampleCountFlagBits                 rasterizationSamples;
   2640 	VkBool32                              sampleShadingEnable;
   2641 	float                                 minSampleShading;
   2642 	const VkSampleMask *                  pSampleMask;
   2643 	VkBool32                              alphaToCoverageEnable;
   2644 	VkBool32                              alphaToOneEnable;
   2645 } VkPipelineMultisampleStateCreateInfo;
   2646 
   2647 typedef struct {
   2648 	VkShaderStageFlags stageFlags;
   2649 	uint32_t           offset;
   2650 	uint32_t           size;
   2651 } VkPushConstantRange;
   2652 
   2653 typedef struct {
   2654 	VkStructureType               sType;
   2655 	const void *                  pNext;
   2656 	VkPipelineLayoutCreateFlags   flags;
   2657 	uint32_t                      setLayoutCount;
   2658 	const VkDescriptorSetLayout * pSetLayouts;
   2659 	uint32_t                      pushConstantRangeCount;
   2660 	const VkPushConstantRange *   pPushConstantRanges;
   2661 } VkPipelineLayoutCreateInfo;
   2662 
   2663 typedef union {
   2664 	float    float32[4];
   2665 	int32_t  int32[4];
   2666 	uint32_t uint32[4];
   2667 } VkClearColorValue;
   2668 
   2669 typedef struct {
   2670 	float    depth;
   2671 	uint32_t stencil;
   2672 } VkClearDepthStencilValue;
   2673 
   2674 typedef union {
   2675 	VkClearColorValue        color;
   2676 	VkClearDepthStencilValue depthStencil;
   2677 } VkClearValue;
   2678 
   2679 typedef struct {
   2680 	VkStructureType       sType;
   2681 	const void *          pNext;
   2682 	VkImageView           imageView;
   2683 	VkImageLayout         imageLayout;
   2684 	VkResolveModeFlagBits resolveMode;
   2685 	VkImageView           resolveImageView;
   2686 	VkImageLayout         resolveImageLayout;
   2687 	VkAttachmentLoadOp    loadOp;
   2688 	VkAttachmentStoreOp   storeOp;
   2689 	VkClearValue          clearValue;
   2690 } VkRenderingAttachmentInfo;
   2691 
   2692 typedef struct {
   2693 	VkStructureType                   sType;
   2694 	const void *                      pNext;
   2695 	VkRenderingFlags                  flags;
   2696 	VkRect2D                          renderArea;
   2697 	uint32_t                          layerCount;
   2698 	uint32_t                          viewMask;
   2699 	uint32_t                          colorAttachmentCount;
   2700 	const VkRenderingAttachmentInfo * pColorAttachments;
   2701 	const VkRenderingAttachmentInfo * pDepthAttachment;
   2702 	const VkRenderingAttachmentInfo * pStencilAttachment;
   2703 } VkRenderingInfo;
   2704 
   2705 typedef struct {
   2706 	VkStructureType  sType;
   2707 	const void *     pNext;
   2708 	uint32_t         viewMask;
   2709 	uint32_t         colorAttachmentCount;
   2710 	const VkFormat * pColorAttachmentFormats;
   2711 	VkFormat         depthAttachmentFormat;
   2712 	VkFormat         stencilAttachmentFormat;
   2713 } VkPipelineRenderingCreateInfo;
   2714 
   2715 typedef struct {
   2716 	VkStructureType          sType;
   2717 	const void *             pNext;
   2718 	VkCommandPoolCreateFlags flags;
   2719 	uint32_t                 queueFamilyIndex;
   2720 } VkCommandPoolCreateInfo;
   2721 
   2722 typedef struct {
   2723 	VkStructureType      sType;
   2724 	const void *         pNext;
   2725 	VkCommandPool        commandPool;
   2726 	VkCommandBufferLevel level;
   2727 	uint32_t             commandBufferCount;
   2728 } VkCommandBufferAllocateInfo;
   2729 
   2730 typedef struct {
   2731 	VkStructureType               sType;
   2732 	const void *                  pNext;
   2733 	VkRenderPass                  renderPass;
   2734 	uint32_t                      subpass;
   2735 	VkFramebuffer                 framebuffer;
   2736 	VkBool32                      occlusionQueryEnable;
   2737 	VkQueryControlFlags           queryFlags;
   2738 	VkQueryPipelineStatisticFlags pipelineStatistics;
   2739 } VkCommandBufferInheritanceInfo;
   2740 
   2741 typedef struct {
   2742 	VkStructureType                        sType;
   2743 	const void *                           pNext;
   2744 	VkCommandBufferUsageFlags              flags;
   2745 	const VkCommandBufferInheritanceInfo * pInheritanceInfo;
   2746 } VkCommandBufferBeginInfo;
   2747 
   2748 typedef struct {
   2749 	VkStructureType sType;
   2750 	const void *    pNext;
   2751 	VkCommandBuffer commandBuffer;
   2752 	uint32_t        deviceMask;
   2753 } VkCommandBufferSubmitInfo;
   2754 
   2755 typedef struct {
   2756 	VkStructureType                   sType;
   2757 	const void *                      pNext;
   2758 	VkSubmitFlags                     flags;
   2759 	uint32_t                          waitSemaphoreInfoCount;
   2760 	const VkSemaphoreSubmitInfo *     pWaitSemaphoreInfos;
   2761 	uint32_t                          commandBufferInfoCount;
   2762 	const VkCommandBufferSubmitInfo * pCommandBufferInfos;
   2763 	uint32_t                          signalSemaphoreInfoCount;
   2764 	const VkSemaphoreSubmitInfo *     pSignalSemaphoreInfos;
   2765 } VkSubmitInfo2;
   2766 
   2767 typedef struct {
   2768 	VkStructureType sType;
   2769 	const void *    pNext;
   2770 	VkDeviceSize    srcOffset;
   2771 	VkDeviceSize    dstOffset;
   2772 	VkDeviceSize    size;
   2773 } VkBufferCopy2;
   2774 
   2775 typedef struct {
   2776 	VkStructureType       sType;
   2777 	const void *          pNext;
   2778 	VkBuffer              srcBuffer;
   2779 	VkBuffer              dstBuffer;
   2780 	uint32_t              regionCount;
   2781 	const VkBufferCopy2 * pRegions;
   2782 } VkCopyBufferInfo2;
   2783 
   2784 typedef struct {
   2785 	VkStructureType                                sType;
   2786 	const void *                                   pNext;
   2787 	VkPipelineCreateFlags                          flags;
   2788 	uint32_t                                       stageCount;
   2789 	const VkPipelineShaderStageCreateInfo *        pStages;
   2790 	const VkPipelineVertexInputStateCreateInfo *   pVertexInputState;
   2791 	const VkPipelineInputAssemblyStateCreateInfo * pInputAssemblyState;
   2792 	const VkPipelineTessellationStateCreateInfo *  pTessellationState;
   2793 	const VkPipelineViewportStateCreateInfo *      pViewportState;
   2794 	const VkPipelineRasterizationStateCreateInfo * pRasterizationState;
   2795 	const VkPipelineMultisampleStateCreateInfo *   pMultisampleState;
   2796 	const VkPipelineDepthStencilStateCreateInfo *  pDepthStencilState;
   2797 	const VkPipelineColorBlendStateCreateInfo *    pColorBlendState;
   2798 	const VkPipelineDynamicStateCreateInfo *       pDynamicState;
   2799 	VkPipelineLayout                               layout;
   2800 	VkRenderPass                                   renderPass;
   2801 	uint32_t                                       subpass;
   2802 	VkPipeline                                     basePipelineHandle;
   2803 	int32_t                                        basePipelineIndex;
   2804 } VkGraphicsPipelineCreateInfo;
   2805 
   2806 typedef void *vkAllocationFunction(void *pUserData, size_t size, size_t alignment,
   2807                                    VkSystemAllocationScope allocationScope);
   2808 
   2809 typedef void vkFreeFunction(void *pUserData, void *pMemory);
   2810 
   2811 typedef void vkInternalAllocationNotification(void *pUserData, size_t size,
   2812                                               VkInternalAllocationType allocationType,
   2813                                               VkSystemAllocationScope  allocationScope);
   2814 
   2815 typedef void vkInternalFreeNotification(void *pUserData, size_t size,
   2816                                         VkInternalAllocationType allocationType,
   2817                                         VkSystemAllocationScope  allocationScope);
   2818 
   2819 typedef void *vkReallocationFunction(void *pUserData, void *pOriginal, size_t size, size_t alignment,
   2820                                      VkSystemAllocationScope allocationScope);
   2821 
   2822 typedef struct {
   2823 	void *                             UserData;
   2824 	vkAllocationFunction *             Allocation;
   2825 	vkReallocationFunction *           Reallocation;
   2826 	vkFreeFunction *                   Free;
   2827 	vkInternalAllocationNotification * InternalAllocation;
   2828 	vkInternalFreeNotification *       InternalFree;
   2829 } VkAllocationCallbacks;
   2830 
   2831 typedef struct {
   2832 	VkStructureType sType;
   2833 	const void *    pNext;
   2834 	VkDeviceMemory  memory;
   2835 	VkDeviceSize    offset;
   2836 	VkDeviceSize    size;
   2837 } VkMappedMemoryRange;
   2838 
   2839 typedef struct {
   2840 	VkStructureType sType;
   2841 	const void *    pNext;
   2842 	VkBuffer        buffer;
   2843 } VkBufferDeviceAddressInfo;
   2844 
   2845 typedef struct {
   2846 	VkStructureType sType;
   2847 	const void *    pNext;
   2848 	VkDeviceSize    allocationSize;
   2849 	uint32_t        memoryTypeIndex;
   2850 } VkMemoryAllocateInfo;
   2851 
   2852 typedef struct {
   2853 	VkDeviceSize size;
   2854 	VkDeviceSize alignment;
   2855 	uint32_t     memoryTypeBits;
   2856 } VkMemoryRequirements;
   2857 
   2858 typedef struct {
   2859 	VkStructureType sType;
   2860 	const void *    pNext;
   2861 	VkImage         image;
   2862 	VkBuffer        buffer;
   2863 } VkMemoryDedicatedAllocateInfo;
   2864 
   2865 typedef struct {
   2866 	VkStructureType       sType;
   2867 	const void *          pNext;
   2868 	VkMemoryAllocateFlags flags;
   2869 	uint32_t              deviceMask;
   2870 } VkMemoryAllocateFlagsInfo;
   2871 
   2872 typedef struct {
   2873 	VkStructureType                 sType;
   2874 	const void *                    pNext;
   2875 	VkExternalMemoryHandleTypeFlags handleTypes;
   2876 } VkExportMemoryAllocateInfo;
   2877 
   2878 typedef struct {
   2879 	VkStructureType                 sType;
   2880 	const void *                    pNext;
   2881 	VkExternalMemoryHandleTypeFlags handleTypes;
   2882 } VkExternalMemoryImageCreateInfo;
   2883 
   2884 typedef struct {
   2885 	VkStructureType                    sType;
   2886 	const void *                       pNext;
   2887 	VkDeviceMemory                     memory;
   2888 	VkExternalMemoryHandleTypeFlagBits handleType;
   2889 } VkMemoryGetWin32HandleInfoKHR;
   2890 
   2891 typedef struct {
   2892 	VkStructureType                    sType;
   2893 	const void *                       pNext;
   2894 	VkDeviceMemory                     memory;
   2895 	VkExternalMemoryHandleTypeFlagBits handleType;
   2896 } VkMemoryGetFdInfoKHR;
   2897 
   2898 typedef struct {
   2899 	VkDescriptorType type;
   2900 	uint32_t         descriptorCount;
   2901 } VkDescriptorPoolSize;
   2902 
   2903 typedef struct {
   2904 	VkStructureType              sType;
   2905 	const void *                 pNext;
   2906 	VkDescriptorPoolCreateFlags  flags;
   2907 	uint32_t                     maxSets;
   2908 	uint32_t                     poolSizeCount;
   2909 	const VkDescriptorPoolSize * pPoolSizes;
   2910 } VkDescriptorPoolCreateInfo;
   2911 
   2912 typedef struct {
   2913 	uint32_t           binding;
   2914 	VkDescriptorType   descriptorType;
   2915 	uint32_t           descriptorCount;
   2916 	VkShaderStageFlags stageFlags;
   2917 	const VkSampler *  pImmutableSamplers;
   2918 } VkDescriptorSetLayoutBinding;
   2919 
   2920 typedef struct {
   2921 	VkStructureType                      sType;
   2922 	const void *                         pNext;
   2923 	VkDescriptorSetLayoutCreateFlags     flags;
   2924 	uint32_t                             bindingCount;
   2925 	const VkDescriptorSetLayoutBinding * pBindings;
   2926 } VkDescriptorSetLayoutCreateInfo;
   2927 
   2928 typedef struct {
   2929 	VkStructureType               sType;
   2930 	const void *                  pNext;
   2931 	VkDescriptorPool              descriptorPool;
   2932 	uint32_t                      descriptorSetCount;
   2933 	const VkDescriptorSetLayout * pSetLayouts;
   2934 } VkDescriptorSetAllocateInfo;
   2935 
   2936 typedef struct {
   2937 	VkStructureType sType;
   2938 	const void *    pNext;
   2939 	VkDescriptorSet srcSet;
   2940 	uint32_t        srcBinding;
   2941 	uint32_t        srcArrayElement;
   2942 	VkDescriptorSet dstSet;
   2943 	uint32_t        dstBinding;
   2944 	uint32_t        dstArrayElement;
   2945 	uint32_t        descriptorCount;
   2946 } VkCopyDescriptorSet;
   2947 
   2948 typedef struct {
   2949 	VkBuffer     buffer;
   2950 	VkDeviceSize offset;
   2951 	VkDeviceSize range;
   2952 } VkDescriptorBufferInfo;
   2953 
   2954 typedef struct {
   2955 	VkSampler     sampler;
   2956 	VkImageView   imageView;
   2957 	VkImageLayout imageLayout;
   2958 } VkDescriptorImageInfo;
   2959 
   2960 typedef struct {
   2961 	VkStructureType                sType;
   2962 	const void *                   pNext;
   2963 	VkDescriptorSet                dstSet;
   2964 	uint32_t                       dstBinding;
   2965 	uint32_t                       dstArrayElement;
   2966 	uint32_t                       descriptorCount;
   2967 	VkDescriptorType               descriptorType;
   2968 	const VkDescriptorImageInfo *  pImageInfo;
   2969 	const VkDescriptorBufferInfo * pBufferInfo;
   2970 	const VkBufferView *           pTexelBufferView;
   2971 } VkWriteDescriptorSet;
   2972 
   2973 typedef enum {
   2974 	VK_COMPONENT_TYPE_FLOAT16_KHR     = 0,
   2975 	VK_COMPONENT_TYPE_FLOAT32_KHR     = 1,
   2976 	VK_COMPONENT_TYPE_FLOAT64_KHR     = 2,
   2977 	VK_COMPONENT_TYPE_SINT8_KHR       = 3,
   2978 	VK_COMPONENT_TYPE_SINT16_KHR      = 4,
   2979 	VK_COMPONENT_TYPE_SINT32_KHR      = 5,
   2980 	VK_COMPONENT_TYPE_SINT64_KHR      = 6,
   2981 	VK_COMPONENT_TYPE_UINT8_KHR       = 7,
   2982 	VK_COMPONENT_TYPE_UINT16_KHR      = 8,
   2983 	VK_COMPONENT_TYPE_UINT32_KHR      = 9,
   2984 	VK_COMPONENT_TYPE_UINT64_KHR      = 10,
   2985 	VK_COMPONENT_TYPE_BFLOAT16_KHR    = 1000141000,
   2986 	VK_COMPONENT_TYPE_SINT8_PACKED_NV = 1000491000,
   2987 	VK_COMPONENT_TYPE_UINT8_PACKED_NV = 1000491001,
   2988 	VK_COMPONENT_TYPE_FLOAT8_E4M3_EXT = 1000491002,
   2989 	VK_COMPONENT_TYPE_FLOAT8_E5M2_EXT = 1000491003,
   2990 	VK_COMPONENT_TYPE_MAX_ENUM_KHR    = 0x7FFFFFFF
   2991 } VkComponentTypeKHR;
   2992 
   2993 typedef enum {
   2994 	VK_SCOPE_DEVICE_KHR       = 1,
   2995 	VK_SCOPE_WORKGROUP_KHR    = 2,
   2996 	VK_SCOPE_SUBGROUP_KHR     = 3,
   2997 	VK_SCOPE_QUEUE_FAMILY_KHR = 5,
   2998 	VK_SCOPE_MAX_ENUM_KHR     = 0x7FFFFFFF
   2999 } VkScopeKHR;
   3000 
   3001 typedef struct {
   3002 	VkStructureType    sType;
   3003 	void *             pNext;
   3004 	uint32_t           MSize;
   3005 	uint32_t           NSize;
   3006 	uint32_t           KSize;
   3007 	VkComponentTypeKHR AType;
   3008 	VkComponentTypeKHR BType;
   3009 	VkComponentTypeKHR CType;
   3010 	VkComponentTypeKHR ResultType;
   3011 	VkBool32           saturatingAccumulation;
   3012 	VkScopeKHR         scope;
   3013 } VkCooperativeMatrixPropertiesKHR;
   3014 
   3015 typedef struct {
   3016 	VkStructureType sType;
   3017 	void *          pNext;
   3018 	VkBool32        cooperativeMatrix;
   3019 	VkBool32        cooperativeMatrixRobustBufferAccess;
   3020 } VkPhysicalDeviceCooperativeMatrixFeaturesKHR;
   3021 
   3022 typedef enum {
   3023 	VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT                      = 0,
   3024 	VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT = 1,
   3025 	VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT                    = 2,
   3026 	VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT                      = 3,
   3027 	VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT        = 4,
   3028 	VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT                          = 0x7FFFFFFF
   3029 } VkValidationFeatureEnableEXT;
   3030 
   3031 typedef enum {
   3032 	VK_VALIDATION_FEATURE_DISABLE_ALL_EXT                     = 0,
   3033 	VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT                 = 1,
   3034 	VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT           = 2,
   3035 	VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT          = 3,
   3036 	VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT        = 4,
   3037 	VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT             = 5,
   3038 	VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT          = 6,
   3039 	VK_VALIDATION_FEATURE_DISABLE_SHADER_VALIDATION_CACHE_EXT = 7,
   3040 	VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT                = 0x7FFFFFFF
   3041 } VkValidationFeatureDisableEXT;
   3042 
   3043 typedef struct {
   3044 	VkStructureType                       sType;
   3045 	const void *                          pNext;
   3046 	uint32_t                              enabledValidationFeatureCount;
   3047 	const VkValidationFeatureEnableEXT *  pEnabledValidationFeatures;
   3048 	uint32_t                              disabledValidationFeatureCount;
   3049 	const VkValidationFeatureDisableEXT * pDisabledValidationFeatures;
   3050 } VkValidationFeaturesEXT;
   3051 
   3052 typedef struct {
   3053 	VkStructureType sType;
   3054 	const void *    pNext;
   3055 	VkObjectType    objectType;
   3056 	uint64_t        objectHandle;
   3057 	const char *    pObjectName;
   3058 } VkDebugUtilsObjectNameInfoEXT;
   3059 
   3060 /* X(name, ret, params) */
   3061 #define VkLoaderProcedureList \
   3062 	X(vkGetInstanceProcAddr, void *, (VkInstance instance, const char *pName)) \
   3063 
   3064 /* X(name, ret, params) */
   3065 #define VkBaseProcedureList \
   3066 	X(vkCreateInstance,                       VkResult, (const VkInstanceCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkInstance *pInstance)) \
   3067 	X(vkEnumerateInstanceExtensionProperties, VkResult, (const char *pLayerName, uint32_t *pPropertyCount, VkExtensionProperties *pProperties)) \
   3068 	X(vkEnumerateInstanceLayerProperties,     VkResult, (uint32_t *pPropertyCount, VkLayerProperties *pProperties)) \
   3069 
   3070 /* X(name, ret, params) */
   3071 #define VkInstanceProcedureList \
   3072 	X(vkCreateDevice,                           VkResult, (VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDevice *pDevice)) \
   3073 	X(vkEnumerateDeviceExtensionProperties,     VkResult, (VkPhysicalDevice physicalDevice, const char *pLayerName, uint32_t *pPropertyCount, VkExtensionProperties *pProperties)) \
   3074 	X(vkEnumeratePhysicalDevices,               VkResult, (VkInstance instance, uint32_t *pPhysicalDeviceCount, VkPhysicalDevice *pPhysicalDevices)) \
   3075 	X(vkGetDeviceProcAddr,                      void *,   (VkDevice device, const char *pName)) \
   3076 	X(vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR, VkResult, (VkPhysicalDevice physicalDevice, uint32_t *pPropertyCount, VkCooperativeMatrixPropertiesKHR *pProperties)) \
   3077 	X(vkGetPhysicalDeviceFeatures2,             void,     (VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2 *pFeatures)) \
   3078 	X(vkGetPhysicalDeviceFormatProperties2,     void,     (VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2 *pFormatProperties)) \
   3079 	X(vkGetPhysicalDeviceMemoryProperties2,     void,     (VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2 *pMemoryProperties)) \
   3080 	X(vkGetPhysicalDeviceProperties2,           void,     (VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2 *pProperties)) \
   3081 	X(vkGetPhysicalDeviceQueueFamilyProperties, void,     (VkPhysicalDevice physicalDevice, uint32_t *pQueueFamilyPropertyCount, VkQueueFamilyProperties *pQueueFamilyProperties)) \
   3082 
   3083 /* X(name, ret, params) */
   3084 #define VkDeviceProcedureList \
   3085 	X(vkAllocateCommandBuffers,        VkResult, (VkDevice device, const VkCommandBufferAllocateInfo *pAllocateInfo, VkCommandBuffer *pCommandBuffers)) \
   3086 	X(vkAllocateDescriptorSets,        VkResult, (VkDevice device, const VkDescriptorSetAllocateInfo *pAllocateInfo, VkDescriptorSet *pDescriptorSets)) \
   3087 	X(vkAllocateMemory,                VkResult, (VkDevice device, const VkMemoryAllocateInfo *pAllocateInfo, const VkAllocationCallbacks *pAllocator, VkDeviceMemory *pMemory)) \
   3088 	X(vkBindBufferMemory,              VkResult, (VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset)) \
   3089 	X(vkBindImageMemory,               VkResult, (VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset)) \
   3090 	X(vkCreateBuffer,                  VkResult, (VkDevice device, const VkBufferCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkBuffer *pBuffer)) \
   3091 	X(vkCreateCommandPool,             VkResult, (VkDevice device, const VkCommandPoolCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkCommandPool *pCommandPool)) \
   3092 	X(vkCreateComputePipelines,        VkResult, (VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo *pCreateInfos, const VkAllocationCallbacks *pAllocator, VkPipeline *pPipelines)) \
   3093 	X(vkCreateDescriptorPool,          VkResult, (VkDevice device, const VkDescriptorPoolCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDescriptorPool *pDescriptorPool)) \
   3094 	X(vkCreateDescriptorSetLayout,     VkResult, (VkDevice device, const VkDescriptorSetLayoutCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDescriptorSetLayout *pSetLayout)) \
   3095 	X(vkCreateGraphicsPipelines,       VkResult, (VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo *pCreateInfos, const VkAllocationCallbacks *pAllocator, VkPipeline *pPipelines)) \
   3096 	X(vkCreateImage,                   VkResult, (VkDevice device, const VkImageCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkImage *pImage)) \
   3097 	X(vkCreateImageView,               VkResult, (VkDevice device, const VkImageViewCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkImageView *pView)) \
   3098 	X(vkCreatePipelineLayout,          VkResult, (VkDevice device, const VkPipelineLayoutCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkPipelineLayout *pPipelineLayout)) \
   3099 	X(vkCreateQueryPool,               VkResult, (VkDevice device, const VkQueryPoolCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkQueryPool *pQueryPool)) \
   3100 	X(vkCreateSemaphore,               VkResult, (VkDevice device, const VkSemaphoreCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSemaphore *pSemaphore)) \
   3101 	X(vkCreateShaderModule,            VkResult, (VkDevice device, const VkShaderModuleCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkShaderModule *pShaderModule)) \
   3102 	X(vkDestroyBuffer,                 void,     (VkDevice device, VkBuffer buffer, const VkAllocationCallbacks *pAllocator)) \
   3103 	X(vkDestroyImage,                  void,     (VkDevice device, VkImage image, const VkAllocationCallbacks *pAllocator)) \
   3104 	X(vkDestroyImageView,              void,     (VkDevice device, VkImageView imageView, const VkAllocationCallbacks *pAllocator)) \
   3105 	X(vkDestroyPipeline,               void,     (VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks *pAllocator)) \
   3106 	X(vkDestroyPipelineLayout,         void,     (VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks *pAllocator)) \
   3107 	X(vkDestroyShaderModule,           void,     (VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks *pAllocator)) \
   3108 	X(vkFlushMappedMemoryRanges,       VkResult, (VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange *pMemoryRanges)) \
   3109 	X(vkFreeMemory,                    void,     (VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks *pAllocator)) \
   3110 	X(vkGetBufferDeviceAddress,        VkDeviceAddress, (VkDevice device, const VkBufferDeviceAddressInfo *pInfo)) \
   3111 	X(vkGetBufferMemoryRequirements,   void,     (VkDevice device, VkBuffer buffer, VkMemoryRequirements *pMemoryRequirements)) \
   3112 	X(vkGetDeviceQueue,                void,     (VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue *pQueue)) \
   3113 	X(vkGetImageMemoryRequirements,    void,     (VkDevice device, VkImage image, VkMemoryRequirements *pMemoryRequirements)) \
   3114 	X(vkGetMemoryFdKHR,                VkResult, (VkDevice device, const VkMemoryGetFdInfoKHR *pGetFdInfo, int *pFd)) \
   3115 	X(vkGetMemoryWin32HandleKHR,       VkResult, (VkDevice device, const VkMemoryGetWin32HandleInfoKHR *pGetWin32HandleInfo, void **pHandle)) \
   3116 	X(vkGetQueryPoolResults,           VkResult, (VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void *pData, VkDeviceSize stride, VkQueryResultFlags flags)) \
   3117 	X(vkGetSemaphoreFdKHR,             VkResult, (VkDevice device, const VkSemaphoreGetFdInfoKHR *pGetFdInfo, int *pFd)) \
   3118 	X(vkGetSemaphoreWin32HandleKHR,    VkResult, (VkDevice device, const VkSemaphoreGetWin32HandleInfoKHR *pGetWin32HandleInfo, void **pHandle)) \
   3119 	X(vkInvalidateMappedMemoryRanges,  VkResult, (VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange *pMemoryRanges)) \
   3120 	X(vkMapMemory,                     VkResult, (VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void **ppData)) \
   3121 	X(vkSetDebugUtilsObjectNameEXT,    VkResult, (VkDevice device, const VkDebugUtilsObjectNameInfoEXT *pNameInfo)) \
   3122 	X(vkSignalSemaphore,               VkResult, (VkDevice device, const VkSemaphoreSignalInfo *pSignalInfo)) \
   3123 	X(vkUnmapMemory,                   void,     (VkDevice device, VkDeviceMemory memory)) \
   3124 	X(vkUpdateDescriptorSets,          void,     (VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet *pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet *pDescriptorCopies)) \
   3125 	X(vkWaitSemaphores,                VkResult, (VkDevice device, const VkSemaphoreWaitInfo *pWaitInfo, uint64_t timeout)) \
   3126 	X(vkBeginCommandBuffer,            VkResult, (VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo *pBeginInfo)) \
   3127 	X(vkCmdBeginRendering,             void,     (VkCommandBuffer commandBuffer, const VkRenderingInfo *pRenderingInfo)) \
   3128 	X(vkCmdBindDescriptorSets,         void,     (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet *pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t *pDynamicOffsets)) \
   3129 	X(vkCmdBindIndexBuffer2,           void,     (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkDeviceSize size, VkIndexType indexType)) \
   3130 	X(vkCmdBindPipeline,               void,     (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline)) \
   3131 	X(vkCmdCopyBuffer2,                void,     (VkCommandBuffer commandBuffer, const VkCopyBufferInfo2 *pCopyBufferInfo)) \
   3132 	X(vkCmdDispatch,                   void,     (VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ)) \
   3133 	X(vkCmdDrawIndexed,                void,     (VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance)) \
   3134 	X(vkCmdEndRendering,               void,     (VkCommandBuffer commandBuffer)) \
   3135 	X(vkCmdPipelineBarrier2,           void,     (VkCommandBuffer commandBuffer, const VkDependencyInfo *pDependencyInfo)) \
   3136 	X(vkCmdPushConstants,              void,     (VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void *pValues)) \
   3137 	X(vkCmdResetQueryPool,             void,     (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount)) \
   3138 	X(vkCmdSetScissor,                 void,     (VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D *pScissors)) \
   3139 	X(vkCmdSetViewport,                void,     (VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport *pViewports)) \
   3140 	X(vkCmdWriteTimestamp2,            void,     (VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query)) \
   3141 	X(vkEndCommandBuffer,              VkResult, (VkCommandBuffer commandBuffer)) \
   3142 	X(vkQueueSubmit2,                  VkResult, (VkQueue queue, uint32_t submitCount, const VkSubmitInfo2 *pSubmits, VkFence fence)) \
   3143 
   3144 
   3145 #define X(name, ret, params) typedef ret name##_fn params;
   3146 VkLoaderProcedureList
   3147 VkBaseProcedureList
   3148 VkDeviceProcedureList
   3149 VkInstanceProcedureList
   3150 #undef X
   3151 #define X(name, ...) global name##_fn *name;
   3152 VkLoaderProcedureList
   3153 VkBaseProcedureList
   3154 VkDeviceProcedureList
   3155 VkInstanceProcedureList
   3156 #undef X