ogl_beamforming

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

vulkan.h (164470B)


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