camera_cnn

Unnamed repository; edit this file 'description' to name the repository.
git clone anongit@rnpnr.xyz:camera_cnn.git
Log | Files | Refs | Feed | LICENSE

vulkan.h (104445B)


      1 /* See LICENSE for license details. */
      2 /* NOTE(rnp): mininum subset of the vulkan headers so that we don't
      3  * have to deal with them using names that we typedef / #define
      4  */
      5 
      6 #define VK_MAKE_API_VERSION(variant, major, minor, patch) \
      7     ((((uint32_t)(variant)) << 29U) | \
      8      (((uint32_t)(major))   << 22U) | \
      9      (((uint32_t)(minor))   << 12U) | \
     10      ((uint32_t)(patch)))
     11 
     12 #define VK_MAX_DESCRIPTION_SIZE           256U
     13 #define VK_MAX_EXTENSION_NAME_SIZE        256U
     14 #define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE  256U
     15 #define VK_UUID_SIZE                      16U
     16 
     17 #define VK_SUBPASS_EXTERNAL               (~0U)
     18 
     19 typedef uint32_t VkBool32;
     20 typedef uint32_t VkFlags;
     21 typedef uint32_t VkSampleMask;
     22 typedef uint64_t VkDeviceSize;
     23 typedef void *   VkCommandBuffer;
     24 typedef void *   VkCommandPool;
     25 typedef void *   VkDescriptorSetLayout;
     26 typedef void *   VkDevice;
     27 typedef void *   VkFence;
     28 typedef void *   VkFramebuffer;
     29 typedef void *   VkImage;
     30 typedef void *   VkImageView;
     31 typedef void *   VkInstance;
     32 typedef void *   VkPhysicalDevice;
     33 typedef void *   VkPipeline;
     34 typedef void *   VkPipelineCache;
     35 typedef void *   VkPipelineLayout;
     36 typedef void *   VkQueue;
     37 typedef void *   VkRenderPass;
     38 typedef void *   VkSemaphore;
     39 typedef void *   VkShaderModule;
     40 typedef void *   VkSurfaceKHR;
     41 typedef void *   VkSwapchainKHR;
     42 
     43 typedef enum {
     44 	VK_SUCCESS               = 0,
     45 	VK_SUBOPTIMAL_KHR        = 1000001003,
     46 	VK_ERROR_OUT_OF_DATE_KHR = -1000001004,
     47 	VK_RESULT_MAX_ENUM       = 0x7FFFFFFF
     48 } VkResult;
     49 
     50 typedef enum {
     51 	VK_STRUCTURE_TYPE_APPLICATION_INFO                          = 0,
     52 	VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO                      = 1,
     53 	VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO                  = 2,
     54 	VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO                        = 3,
     55 	VK_STRUCTURE_TYPE_SUBMIT_INFO                               = 4,
     56 	VK_STRUCTURE_TYPE_FENCE_CREATE_INFO                         = 8,
     57 	VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO                     = 9,
     58 	VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO                    = 15,
     59 	VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO                 = 16,
     60 	VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO         = 18,
     61 	VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO   = 19,
     62 	VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO = 20,
     63 	VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO       = 22,
     64 	VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO  = 23,
     65 	VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO    = 24,
     66 	VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO    = 26,
     67 	VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO        = 27,
     68 	VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO             = 28,
     69 	VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO              = 29,
     70 	VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO               = 30,
     71 	VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO                   = 37,
     72 	VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO                   = 38,
     73 	VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO                  = 39,
     74 	VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO              = 40,
     75 	VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO                 = 42,
     76 	VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO                    = 43,
     77 	VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR                 = 1000001000,
     78 	VK_STRUCTURE_TYPE_PRESENT_INFO_KHR                          = 1000001001,
     79 	VK_STRUCTURE_TYPE_MAX_ENUM                                  = 0x7FFFFFFF,
     80 } VkStructureType;
     81 
     82 typedef enum {
     83 	VK_PHYSICAL_DEVICE_TYPE_OTHER          = 0,
     84 	VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1,
     85 	VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU   = 2,
     86 	VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU    = 3,
     87 	VK_PHYSICAL_DEVICE_TYPE_CPU            = 4,
     88 	VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM       = 0x7FFFFFFF
     89 } VkPhysicalDeviceType;
     90 
     91 typedef enum {
     92 	VK_SYSTEM_ALLOCATION_SCOPE_COMMAND  = 0,
     93 	VK_SYSTEM_ALLOCATION_SCOPE_OBJECT   = 1,
     94 	VK_SYSTEM_ALLOCATION_SCOPE_CACHE    = 2,
     95 	VK_SYSTEM_ALLOCATION_SCOPE_DEVICE   = 3,
     96 	VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4,
     97 	VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = 0x7FFFFFFF
     98 } VkSystemAllocationScope;
     99 
    100 typedef enum {
    101 	VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0,
    102 	VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM   = 0x7FFFFFFF
    103 } VkInternalAllocationType;
    104 
    105 typedef enum {
    106 	VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR = 0x00000001,
    107 	VK_INSTANCE_CREATE_FLAG_BITS_MAX_ENUM            = 0x7FFFFFFF
    108 } VkInstanceCreateFlagBits;
    109 typedef VkFlags VkInstanceCreateFlags;
    110 
    111 typedef enum {
    112 	VK_QUEUE_GRAPHICS_BIT         = 0x00000001,
    113 	VK_QUEUE_COMPUTE_BIT          = 0x00000002,
    114 	VK_QUEUE_TRANSFER_BIT         = 0x00000004,
    115 	VK_QUEUE_SPARSE_BINDING_BIT   = 0x00000008,
    116 	VK_QUEUE_PROTECTED_BIT        = 0x00000010,
    117 	VK_QUEUE_VIDEO_DECODE_BIT_KHR = 0x00000020,
    118 	VK_QUEUE_VIDEO_ENCODE_BIT_KHR = 0x00000040,
    119 	VK_QUEUE_OPTICAL_FLOW_BIT_NV  = 0x00000100,
    120 	VK_QUEUE_FLAG_BITS_MAX_ENUM   = 0x7FFFFFFF
    121 } VkQueueFlagBits;
    122 typedef VkFlags VkQueueFlags;
    123 
    124 typedef enum {
    125 	VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT      = 0x00000001,
    126 	VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
    127 } VkDeviceQueueCreateFlagBits;
    128 typedef VkFlags VkDeviceQueueCreateFlags;
    129 
    130 typedef enum VkPipelineStageFlagBits {
    131 	VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT                          = 0x00000001,
    132 	VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT                        = 0x00000002,
    133 	VK_PIPELINE_STAGE_VERTEX_INPUT_BIT                         = 0x00000004,
    134 	VK_PIPELINE_STAGE_VERTEX_SHADER_BIT                        = 0x00000008,
    135 	VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT          = 0x00000010,
    136 	VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT       = 0x00000020,
    137 	VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT                      = 0x00000040,
    138 	VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT                      = 0x00000080,
    139 	VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT                 = 0x00000100,
    140 	VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT                  = 0x00000200,
    141 	VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT              = 0x00000400,
    142 	VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT                       = 0x00000800,
    143 	VK_PIPELINE_STAGE_TRANSFER_BIT                             = 0x00001000,
    144 	VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT                       = 0x00002000,
    145 	VK_PIPELINE_STAGE_HOST_BIT                                 = 0x00004000,
    146 	VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT                         = 0x00008000,
    147 	VK_PIPELINE_STAGE_ALL_COMMANDS_BIT                         = 0x00010000,
    148 	VK_PIPELINE_STAGE_NONE                                     = 0,
    149 	VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT               = 0x01000000,
    150 	VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT            = 0x00040000,
    151 	VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR     = 0x02000000,
    152 	VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR               = 0x00200000,
    153 	VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT         = 0x00800000,
    154 	VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000,
    155 	VK_PIPELINE_STAGE_TASK_SHADER_BIT_EXT                      = 0x00080000,
    156 	VK_PIPELINE_STAGE_MESH_SHADER_BIT_EXT                      = 0x00100000,
    157 	VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_EXT               = 0x00020000,
    158 	VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM                       = 0x7FFFFFFF
    159 } VkPipelineStageFlagBits;
    160 typedef VkFlags VkPipelineStageFlags;
    161 
    162 typedef VkFlags VkDeviceCreateFlags;
    163 
    164 typedef enum {
    165 	VK_SAMPLE_COUNT_1_BIT              = 0x00000001,
    166 	VK_SAMPLE_COUNT_2_BIT              = 0x00000002,
    167 	VK_SAMPLE_COUNT_4_BIT              = 0x00000004,
    168 	VK_SAMPLE_COUNT_8_BIT              = 0x00000008,
    169 	VK_SAMPLE_COUNT_16_BIT             = 0x00000010,
    170 	VK_SAMPLE_COUNT_32_BIT             = 0x00000020,
    171 	VK_SAMPLE_COUNT_64_BIT             = 0x00000040,
    172 	VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
    173 } VkSampleCountFlagBits;
    174 typedef VkFlags VkSampleCountFlags;
    175 
    176 typedef enum {
    177 	VK_IMAGE_USAGE_TRANSFER_SRC_BIT                            = 0x00000001,
    178 	VK_IMAGE_USAGE_TRANSFER_DST_BIT                            = 0x00000002,
    179 	VK_IMAGE_USAGE_SAMPLED_BIT                                 = 0x00000004,
    180 	VK_IMAGE_USAGE_STORAGE_BIT                                 = 0x00000008,
    181 	VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT                        = 0x00000010,
    182 	VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT                = 0x00000020,
    183 	VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT                    = 0x00000040,
    184 	VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT                        = 0x00000080,
    185 	VK_IMAGE_USAGE_HOST_TRANSFER_BIT                           = 0x00400000,
    186 	VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR                    = 0x00000400,
    187 	VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR                    = 0x00000800,
    188 	VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR                    = 0x00001000,
    189 	VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT                = 0x00000200,
    190 	VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR    = 0x00000100,
    191 	VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR                    = 0x00002000,
    192 	VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR                    = 0x00004000,
    193 	VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR                    = 0x00008000,
    194 	VK_IMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT            = 0x00080000,
    195 	VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI                  = 0x00040000,
    196 	VK_IMAGE_USAGE_SAMPLE_WEIGHT_BIT_QCOM                      = 0x00100000,
    197 	VK_IMAGE_USAGE_SAMPLE_BLOCK_MATCH_BIT_QCOM                 = 0x00200000,
    198 	VK_IMAGE_USAGE_TILE_MEMORY_QCOM                            = 0x08000000,
    199 	VK_IMAGE_USAGE_VIDEO_ENCODE_QUANTIZATION_DELTA_MAP_BIT_KHR = 0x02000000,
    200 	VK_IMAGE_USAGE_VIDEO_ENCODE_EMPHASIS_MAP_BIT_KHR           = 0x04000000,
    201 	VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV                   = VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
    202 	VK_IMAGE_USAGE_HOST_TRANSFER_BIT_EXT                       = VK_IMAGE_USAGE_HOST_TRANSFER_BIT,
    203 	VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM                          = 0x7FFFFFFF
    204 } VkImageUsageFlagBits;
    205 typedef VkFlags VkImageUsageFlags;
    206 
    207 typedef enum {
    208 	VK_COMPONENT_SWIZZLE_IDENTITY = 0,
    209 	VK_COMPONENT_SWIZZLE_ZERO     = 1,
    210 	VK_COMPONENT_SWIZZLE_ONE      = 2,
    211 	VK_COMPONENT_SWIZZLE_R        = 3,
    212 	VK_COMPONENT_SWIZZLE_G        = 4,
    213 	VK_COMPONENT_SWIZZLE_B        = 5,
    214 	VK_COMPONENT_SWIZZLE_A        = 6,
    215 	VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF
    216 } VkComponentSwizzle;
    217 
    218 typedef enum {
    219 	VK_IMAGE_VIEW_TYPE_1D         = 0,
    220 	VK_IMAGE_VIEW_TYPE_2D         = 1,
    221 	VK_IMAGE_VIEW_TYPE_3D         = 2,
    222 	VK_IMAGE_VIEW_TYPE_CUBE       = 3,
    223 	VK_IMAGE_VIEW_TYPE_1D_ARRAY   = 4,
    224 	VK_IMAGE_VIEW_TYPE_2D_ARRAY   = 5,
    225 	VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6,
    226 	VK_IMAGE_VIEW_TYPE_MAX_ENUM   = 0x7FFFFFFF
    227 } VkImageViewType;
    228 
    229 typedef enum {
    230 	VK_BLEND_FACTOR_ZERO                     = 0,
    231 	VK_BLEND_FACTOR_ONE                      = 1,
    232 	VK_BLEND_FACTOR_SRC_COLOR                = 2,
    233 	VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR      = 3,
    234 	VK_BLEND_FACTOR_DST_COLOR                = 4,
    235 	VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR      = 5,
    236 	VK_BLEND_FACTOR_SRC_ALPHA                = 6,
    237 	VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA      = 7,
    238 	VK_BLEND_FACTOR_DST_ALPHA                = 8,
    239 	VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA      = 9,
    240 	VK_BLEND_FACTOR_CONSTANT_COLOR           = 10,
    241 	VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11,
    242 	VK_BLEND_FACTOR_CONSTANT_ALPHA           = 12,
    243 	VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13,
    244 	VK_BLEND_FACTOR_SRC_ALPHA_SATURATE       = 14,
    245 	VK_BLEND_FACTOR_SRC1_COLOR               = 15,
    246 	VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR     = 16,
    247 	VK_BLEND_FACTOR_SRC1_ALPHA               = 17,
    248 	VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA     = 18,
    249 	VK_BLEND_FACTOR_MAX_ENUM                 = 0x7FFFFFFF
    250 } VkBlendFactor;
    251 
    252 typedef enum {
    253 	VK_BLEND_OP_ADD                    = 0,
    254 	VK_BLEND_OP_SUBTRACT               = 1,
    255 	VK_BLEND_OP_REVERSE_SUBTRACT       = 2,
    256 	VK_BLEND_OP_MIN                    = 3,
    257 	VK_BLEND_OP_MAX                    = 4,
    258 	VK_BLEND_OP_ZERO_EXT               = 1000148000,
    259 	VK_BLEND_OP_SRC_EXT                = 1000148001,
    260 	VK_BLEND_OP_DST_EXT                = 1000148002,
    261 	VK_BLEND_OP_SRC_OVER_EXT           = 1000148003,
    262 	VK_BLEND_OP_DST_OVER_EXT           = 1000148004,
    263 	VK_BLEND_OP_SRC_IN_EXT             = 1000148005,
    264 	VK_BLEND_OP_DST_IN_EXT             = 1000148006,
    265 	VK_BLEND_OP_SRC_OUT_EXT            = 1000148007,
    266 	VK_BLEND_OP_DST_OUT_EXT            = 1000148008,
    267 	VK_BLEND_OP_SRC_ATOP_EXT           = 1000148009,
    268 	VK_BLEND_OP_DST_ATOP_EXT           = 1000148010,
    269 	VK_BLEND_OP_XOR_EXT                = 1000148011,
    270 	VK_BLEND_OP_MULTIPLY_EXT           = 1000148012,
    271 	VK_BLEND_OP_SCREEN_EXT             = 1000148013,
    272 	VK_BLEND_OP_OVERLAY_EXT            = 1000148014,
    273 	VK_BLEND_OP_DARKEN_EXT             = 1000148015,
    274 	VK_BLEND_OP_LIGHTEN_EXT            = 1000148016,
    275 	VK_BLEND_OP_COLORDODGE_EXT         = 1000148017,
    276 	VK_BLEND_OP_COLORBURN_EXT          = 1000148018,
    277 	VK_BLEND_OP_HARDLIGHT_EXT          = 1000148019,
    278 	VK_BLEND_OP_SOFTLIGHT_EXT          = 1000148020,
    279 	VK_BLEND_OP_DIFFERENCE_EXT         = 1000148021,
    280 	VK_BLEND_OP_EXCLUSION_EXT          = 1000148022,
    281 	VK_BLEND_OP_INVERT_EXT             = 1000148023,
    282 	VK_BLEND_OP_INVERT_RGB_EXT         = 1000148024,
    283 	VK_BLEND_OP_LINEARDODGE_EXT        = 1000148025,
    284 	VK_BLEND_OP_LINEARBURN_EXT         = 1000148026,
    285 	VK_BLEND_OP_VIVIDLIGHT_EXT         = 1000148027,
    286 	VK_BLEND_OP_LINEARLIGHT_EXT        = 1000148028,
    287 	VK_BLEND_OP_PINLIGHT_EXT           = 1000148029,
    288 	VK_BLEND_OP_HARDMIX_EXT            = 1000148030,
    289 	VK_BLEND_OP_HSL_HUE_EXT            = 1000148031,
    290 	VK_BLEND_OP_HSL_SATURATION_EXT     = 1000148032,
    291 	VK_BLEND_OP_HSL_COLOR_EXT          = 1000148033,
    292 	VK_BLEND_OP_HSL_LUMINOSITY_EXT     = 1000148034,
    293 	VK_BLEND_OP_PLUS_EXT               = 1000148035,
    294 	VK_BLEND_OP_PLUS_CLAMPED_EXT       = 1000148036,
    295 	VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT = 1000148037,
    296 	VK_BLEND_OP_PLUS_DARKER_EXT        = 1000148038,
    297 	VK_BLEND_OP_MINUS_EXT              = 1000148039,
    298 	VK_BLEND_OP_MINUS_CLAMPED_EXT      = 1000148040,
    299 	VK_BLEND_OP_CONTRAST_EXT           = 1000148041,
    300 	VK_BLEND_OP_INVERT_OVG_EXT         = 1000148042,
    301 	VK_BLEND_OP_RED_EXT                = 1000148043,
    302 	VK_BLEND_OP_GREEN_EXT              = 1000148044,
    303 	VK_BLEND_OP_BLUE_EXT               = 1000148045,
    304 	VK_BLEND_OP_MAX_ENUM               = 0x7FFFFFFF
    305 } VkBlendOp;
    306 
    307 typedef enum {
    308 	VK_FENCE_CREATE_SIGNALED_BIT       = 0x00000001,
    309 	VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
    310 } VkFenceCreateFlagBits;
    311 typedef VkFlags VkFenceCreateFlags;
    312 typedef VkFlags VkSemaphoreCreateFlags;
    313 
    314 typedef enum {
    315 	VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT     = 0x00000001,
    316 	VK_IMAGE_VIEW_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000004,
    317 	VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT    = 0x00000002,
    318 	VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM                       = 0x7FFFFFFF
    319 } VkImageViewCreateFlagBits;
    320 typedef VkFlags VkImageViewCreateFlags;
    321 typedef VkFlags VkShaderModuleCreateFlags;
    322 
    323 typedef enum {
    324 	VK_COLOR_COMPONENT_R_BIT              = 0x00000001,
    325 	VK_COLOR_COMPONENT_G_BIT              = 0x00000002,
    326 	VK_COLOR_COMPONENT_B_BIT              = 0x00000004,
    327 	VK_COLOR_COMPONENT_A_BIT              = 0x00000008,
    328 	VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
    329 } VkColorComponentFlagBits;
    330 typedef VkFlags VkColorComponentFlags;
    331 
    332 typedef enum {
    333 	VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT                    = 0x00000001,
    334 	VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT                  = 0x00000002,
    335 	VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT                  = 0x00000004,
    336 	VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT                = 0x00000008,
    337 	VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT                 = 0x00000010,
    338 	VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT                       = 0x00000020,
    339 	VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT                        = 0x00000040,
    340 	VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT                = 0x00000080,
    341 	VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT        = 0x00000100,
    342 	VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 0x00000200,
    343 	VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT                 = 0x00000400,
    344 	VK_QUERY_PIPELINE_STATISTIC_TASK_SHADER_INVOCATIONS_BIT_EXT                = 0x00000800,
    345 	VK_QUERY_PIPELINE_STATISTIC_MESH_SHADER_INVOCATIONS_BIT_EXT                = 0x00001000,
    346 	VK_QUERY_PIPELINE_STATISTIC_CLUSTER_CULLING_SHADER_INVOCATIONS_BIT_HUAWEI  = 0x00002000,
    347 	VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM                             = 0x7FFFFFFF
    348 } VkQueryPipelineStatisticFlagBits;
    349 typedef VkFlags VkQueryPipelineStatisticFlags;
    350 
    351 typedef enum {
    352 	VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT                               = 0x00000001,
    353 	VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT                                  = 0x00000002,
    354 	VK_PIPELINE_CREATE_DERIVATIVE_BIT                                         = 0x00000004,
    355 	VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT                       = 0x00000008,
    356 	VK_PIPELINE_CREATE_DISPATCH_BASE_BIT                                      = 0x00000010,
    357 	VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT                  = 0x00000100,
    358 	VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT                            = 0x00000200,
    359 	VK_PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT                                = 0x08000000,
    360 	VK_PIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT                              = 0x40000000,
    361 	VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR            = 0x00004000,
    362 	VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR        = 0x00008000,
    363 	VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR               = 0x00010000,
    364 	VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR       = 0x00020000,
    365 	VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR                     = 0x00001000,
    366 	VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR                         = 0x00002000,
    367 	VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR = 0x00080000,
    368 	VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV                                   = 0x00000020,
    369 	VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT      = 0x00400000,
    370 	VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR     = 0x00200000,
    371 	VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR                             = 0x00000040,
    372 	VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR               = 0x00000080,
    373 	VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV                               = 0x00040000,
    374 	VK_PIPELINE_CREATE_LIBRARY_BIT_KHR                                        = 0x00000800,
    375 	VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT                              = 0x20000000,
    376 	VK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT             = 0x00800000,
    377 	VK_PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT                         = 0x00000400,
    378 	VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV                        = 0x00100000,
    379 	VK_PIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT                 = 0x02000000,
    380 	VK_PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT         = 0x04000000,
    381 	VK_PIPELINE_CREATE_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT                   = 0x01000000,
    382 	VK_PIPELINE_CREATE_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV               = 0x10000000,
    383 	VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM                                     = 0x7FFFFFFF
    384 } VkPipelineCreateFlagBits;
    385 typedef VkFlags VkPipelineCreateFlags;
    386 
    387 typedef enum {
    388 	VK_ACCESS_INDIRECT_COMMAND_READ_BIT                     = 0x00000001,
    389 	VK_ACCESS_INDEX_READ_BIT                                = 0x00000002,
    390 	VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT                     = 0x00000004,
    391 	VK_ACCESS_UNIFORM_READ_BIT                              = 0x00000008,
    392 	VK_ACCESS_INPUT_ATTACHMENT_READ_BIT                     = 0x00000010,
    393 	VK_ACCESS_SHADER_READ_BIT                               = 0x00000020,
    394 	VK_ACCESS_SHADER_WRITE_BIT                              = 0x00000040,
    395 	VK_ACCESS_COLOR_ATTACHMENT_READ_BIT                     = 0x00000080,
    396 	VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT                    = 0x00000100,
    397 	VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT             = 0x00000200,
    398 	VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT            = 0x00000400,
    399 	VK_ACCESS_TRANSFER_READ_BIT                             = 0x00000800,
    400 	VK_ACCESS_TRANSFER_WRITE_BIT                            = 0x00001000,
    401 	VK_ACCESS_HOST_READ_BIT                                 = 0x00002000,
    402 	VK_ACCESS_HOST_WRITE_BIT                                = 0x00004000,
    403 	VK_ACCESS_MEMORY_READ_BIT                               = 0x00008000,
    404 	VK_ACCESS_MEMORY_WRITE_BIT                              = 0x00010000,
    405 	VK_ACCESS_NONE                                          = 0,
    406 	VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT              = 0x02000000,
    407 	VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT       = 0x04000000,
    408 	VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT      = 0x08000000,
    409 	VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT            = 0x00100000,
    410 	VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT     = 0x00080000,
    411 	VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR           = 0x00200000,
    412 	VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR          = 0x00400000,
    413 	VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT             = 0x01000000,
    414 	VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000,
    415 	VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_EXT               = 0x00020000,
    416 	VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_EXT              = 0x00040000,
    417 	VK_ACCESS_FLAG_BITS_MAX_ENUM                            = 0x7FFFFFFF
    418 } VkAccessFlagBits;
    419 typedef VkFlags VkAccessFlags;
    420 
    421 typedef enum {
    422 	VK_IMAGE_ASPECT_COLOR_BIT              = 0x00000001,
    423 	VK_IMAGE_ASPECT_DEPTH_BIT              = 0x00000002,
    424 	VK_IMAGE_ASPECT_STENCIL_BIT            = 0x00000004,
    425 	VK_IMAGE_ASPECT_METADATA_BIT           = 0x00000008,
    426 	VK_IMAGE_ASPECT_PLANE_0_BIT            = 0x00000010,
    427 	VK_IMAGE_ASPECT_PLANE_1_BIT            = 0x00000020,
    428 	VK_IMAGE_ASPECT_PLANE_2_BIT            = 0x00000040,
    429 	VK_IMAGE_ASPECT_NONE                   = 0,
    430 	VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 0x00000080,
    431 	VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 0x00000100,
    432 	VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 0x00000200,
    433 	VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = 0x00000400,
    434 	VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM     = 0x7FFFFFFF
    435 } VkImageAspectFlagBits;
    436 typedef VkFlags VkImageAspectFlags;
    437 
    438 typedef enum {
    439 	VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 0x00000001,
    440 	VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR                   = 0x00000002,
    441 	VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR              = 0x00000004,
    442 	VK_SWAPCHAIN_CREATE_DEFERRED_MEMORY_ALLOCATION_BIT_EXT  = 0x00000008,
    443 	VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR              = 0x7FFFFFFF
    444 } VkSwapchainCreateFlagBitsKHR;
    445 typedef VkFlags VkSwapchainCreateFlagsKHR;
    446 
    447 typedef enum {
    448 	VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR          = 0x00000001,
    449 	VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR  = 0x00000002,
    450 	VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 0x00000004,
    451 	VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR         = 0x00000008,
    452 	VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR  = 0x7FFFFFFF
    453 } VkCompositeAlphaFlagBitsKHR;
    454 typedef VkFlags VkCompositeAlphaFlagsKHR;
    455 typedef VkFlags VkSurfaceTransformFlagsKHR;
    456 
    457 typedef enum {
    458 	VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR                     = 0x00000001,
    459 	VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR                    = 0x00000002,
    460 	VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR                   = 0x00000004,
    461 	VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR                   = 0x00000008,
    462 	VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR            = 0x00000010,
    463 	VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR  = 0x00000020,
    464 	VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 0x00000040,
    465 	VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 0x00000080,
    466 	VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR                      = 0x00000100,
    467 	VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR               = 0x7FFFFFFF
    468 } VkSurfaceTransformFlagBitsKHR;
    469 
    470 typedef enum {
    471 	VK_PRESENT_MODE_IMMEDIATE_KHR                 = 0,
    472 	VK_PRESENT_MODE_MAILBOX_KHR                   = 1,
    473 	VK_PRESENT_MODE_FIFO_KHR                      = 2,
    474 	VK_PRESENT_MODE_FIFO_RELAXED_KHR              = 3,
    475 	VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR     = 1000111000,
    476 	VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = 1000111001,
    477 	VK_PRESENT_MODE_FIFO_LATEST_READY_EXT         = 1000361000,
    478 	VK_PRESENT_MODE_MAX_ENUM_KHR                  = 0x7FFFFFFF
    479 } VkPresentModeKHR;
    480 
    481 typedef enum {
    482 	VK_FORMAT_UNDEFINED                                      = 0,
    483 	VK_FORMAT_R4G4_UNORM_PACK8                               = 1,
    484 	VK_FORMAT_R4G4B4A4_UNORM_PACK16                          = 2,
    485 	VK_FORMAT_B4G4R4A4_UNORM_PACK16                          = 3,
    486 	VK_FORMAT_R5G6B5_UNORM_PACK16                            = 4,
    487 	VK_FORMAT_B5G6R5_UNORM_PACK16                            = 5,
    488 	VK_FORMAT_R5G5B5A1_UNORM_PACK16                          = 6,
    489 	VK_FORMAT_B5G5R5A1_UNORM_PACK16                          = 7,
    490 	VK_FORMAT_A1R5G5B5_UNORM_PACK16                          = 8,
    491 	VK_FORMAT_R8_UNORM                                       = 9,
    492 	VK_FORMAT_R8_SNORM                                       = 10,
    493 	VK_FORMAT_R8_USCALED                                     = 11,
    494 	VK_FORMAT_R8_SSCALED                                     = 12,
    495 	VK_FORMAT_R8_UINT                                        = 13,
    496 	VK_FORMAT_R8_SINT                                        = 14,
    497 	VK_FORMAT_R8_SRGB                                        = 15,
    498 	VK_FORMAT_R8G8_UNORM                                     = 16,
    499 	VK_FORMAT_R8G8_SNORM                                     = 17,
    500 	VK_FORMAT_R8G8_USCALED                                   = 18,
    501 	VK_FORMAT_R8G8_SSCALED                                   = 19,
    502 	VK_FORMAT_R8G8_UINT                                      = 20,
    503 	VK_FORMAT_R8G8_SINT                                      = 21,
    504 	VK_FORMAT_R8G8_SRGB                                      = 22,
    505 	VK_FORMAT_R8G8B8_UNORM                                   = 23,
    506 	VK_FORMAT_R8G8B8_SNORM                                   = 24,
    507 	VK_FORMAT_R8G8B8_USCALED                                 = 25,
    508 	VK_FORMAT_R8G8B8_SSCALED                                 = 26,
    509 	VK_FORMAT_R8G8B8_UINT                                    = 27,
    510 	VK_FORMAT_R8G8B8_SINT                                    = 28,
    511 	VK_FORMAT_R8G8B8_SRGB                                    = 29,
    512 	VK_FORMAT_B8G8R8_UNORM                                   = 30,
    513 	VK_FORMAT_B8G8R8_SNORM                                   = 31,
    514 	VK_FORMAT_B8G8R8_USCALED                                 = 32,
    515 	VK_FORMAT_B8G8R8_SSCALED                                 = 33,
    516 	VK_FORMAT_B8G8R8_UINT                                    = 34,
    517 	VK_FORMAT_B8G8R8_SINT                                    = 35,
    518 	VK_FORMAT_B8G8R8_SRGB                                    = 36,
    519 	VK_FORMAT_R8G8B8A8_UNORM                                 = 37,
    520 	VK_FORMAT_R8G8B8A8_SNORM                                 = 38,
    521 	VK_FORMAT_R8G8B8A8_USCALED                               = 39,
    522 	VK_FORMAT_R8G8B8A8_SSCALED                               = 40,
    523 	VK_FORMAT_R8G8B8A8_UINT                                  = 41,
    524 	VK_FORMAT_R8G8B8A8_SINT                                  = 42,
    525 	VK_FORMAT_R8G8B8A8_SRGB                                  = 43,
    526 	VK_FORMAT_B8G8R8A8_UNORM                                 = 44,
    527 	VK_FORMAT_B8G8R8A8_SNORM                                 = 45,
    528 	VK_FORMAT_B8G8R8A8_USCALED                               = 46,
    529 	VK_FORMAT_B8G8R8A8_SSCALED                               = 47,
    530 	VK_FORMAT_B8G8R8A8_UINT                                  = 48,
    531 	VK_FORMAT_B8G8R8A8_SINT                                  = 49,
    532 	VK_FORMAT_B8G8R8A8_SRGB                                  = 50,
    533 	VK_FORMAT_A8B8G8R8_UNORM_PACK32                          = 51,
    534 	VK_FORMAT_A8B8G8R8_SNORM_PACK32                          = 52,
    535 	VK_FORMAT_A8B8G8R8_USCALED_PACK32                        = 53,
    536 	VK_FORMAT_A8B8G8R8_SSCALED_PACK32                        = 54,
    537 	VK_FORMAT_A8B8G8R8_UINT_PACK32                           = 55,
    538 	VK_FORMAT_A8B8G8R8_SINT_PACK32                           = 56,
    539 	VK_FORMAT_A8B8G8R8_SRGB_PACK32                           = 57,
    540 	VK_FORMAT_A2R10G10B10_UNORM_PACK32                       = 58,
    541 	VK_FORMAT_A2R10G10B10_SNORM_PACK32                       = 59,
    542 	VK_FORMAT_A2R10G10B10_USCALED_PACK32                     = 60,
    543 	VK_FORMAT_A2R10G10B10_SSCALED_PACK32                     = 61,
    544 	VK_FORMAT_A2R10G10B10_UINT_PACK32                        = 62,
    545 	VK_FORMAT_A2R10G10B10_SINT_PACK32                        = 63,
    546 	VK_FORMAT_A2B10G10R10_UNORM_PACK32                       = 64,
    547 	VK_FORMAT_A2B10G10R10_SNORM_PACK32                       = 65,
    548 	VK_FORMAT_A2B10G10R10_USCALED_PACK32                     = 66,
    549 	VK_FORMAT_A2B10G10R10_SSCALED_PACK32                     = 67,
    550 	VK_FORMAT_A2B10G10R10_UINT_PACK32                        = 68,
    551 	VK_FORMAT_A2B10G10R10_SINT_PACK32                        = 69,
    552 	VK_FORMAT_R16_UNORM                                      = 70,
    553 	VK_FORMAT_R16_SNORM                                      = 71,
    554 	VK_FORMAT_R16_USCALED                                    = 72,
    555 	VK_FORMAT_R16_SSCALED                                    = 73,
    556 	VK_FORMAT_R16_UINT                                       = 74,
    557 	VK_FORMAT_R16_SINT                                       = 75,
    558 	VK_FORMAT_R16_SFLOAT                                     = 76,
    559 	VK_FORMAT_R16G16_UNORM                                   = 77,
    560 	VK_FORMAT_R16G16_SNORM                                   = 78,
    561 	VK_FORMAT_R16G16_USCALED                                 = 79,
    562 	VK_FORMAT_R16G16_SSCALED                                 = 80,
    563 	VK_FORMAT_R16G16_UINT                                    = 81,
    564 	VK_FORMAT_R16G16_SINT                                    = 82,
    565 	VK_FORMAT_R16G16_SFLOAT                                  = 83,
    566 	VK_FORMAT_R16G16B16_UNORM                                = 84,
    567 	VK_FORMAT_R16G16B16_SNORM                                = 85,
    568 	VK_FORMAT_R16G16B16_USCALED                              = 86,
    569 	VK_FORMAT_R16G16B16_SSCALED                              = 87,
    570 	VK_FORMAT_R16G16B16_UINT                                 = 88,
    571 	VK_FORMAT_R16G16B16_SINT                                 = 89,
    572 	VK_FORMAT_R16G16B16_SFLOAT                               = 90,
    573 	VK_FORMAT_R16G16B16A16_UNORM                             = 91,
    574 	VK_FORMAT_R16G16B16A16_SNORM                             = 92,
    575 	VK_FORMAT_R16G16B16A16_USCALED                           = 93,
    576 	VK_FORMAT_R16G16B16A16_SSCALED                           = 94,
    577 	VK_FORMAT_R16G16B16A16_UINT                              = 95,
    578 	VK_FORMAT_R16G16B16A16_SINT                              = 96,
    579 	VK_FORMAT_R16G16B16A16_SFLOAT                            = 97,
    580 	VK_FORMAT_R32_UINT                                       = 98,
    581 	VK_FORMAT_R32_SINT                                       = 99,
    582 	VK_FORMAT_R32_SFLOAT                                     = 100,
    583 	VK_FORMAT_R32G32_UINT                                    = 101,
    584 	VK_FORMAT_R32G32_SINT                                    = 102,
    585 	VK_FORMAT_R32G32_SFLOAT                                  = 103,
    586 	VK_FORMAT_R32G32B32_UINT                                 = 104,
    587 	VK_FORMAT_R32G32B32_SINT                                 = 105,
    588 	VK_FORMAT_R32G32B32_SFLOAT                               = 106,
    589 	VK_FORMAT_R32G32B32A32_UINT                              = 107,
    590 	VK_FORMAT_R32G32B32A32_SINT                              = 108,
    591 	VK_FORMAT_R32G32B32A32_SFLOAT                            = 109,
    592 	VK_FORMAT_R64_UINT                                       = 110,
    593 	VK_FORMAT_R64_SINT                                       = 111,
    594 	VK_FORMAT_R64_SFLOAT                                     = 112,
    595 	VK_FORMAT_R64G64_UINT                                    = 113,
    596 	VK_FORMAT_R64G64_SINT                                    = 114,
    597 	VK_FORMAT_R64G64_SFLOAT                                  = 115,
    598 	VK_FORMAT_R64G64B64_UINT                                 = 116,
    599 	VK_FORMAT_R64G64B64_SINT                                 = 117,
    600 	VK_FORMAT_R64G64B64_SFLOAT                               = 118,
    601 	VK_FORMAT_R64G64B64A64_UINT                              = 119,
    602 	VK_FORMAT_R64G64B64A64_SINT                              = 120,
    603 	VK_FORMAT_R64G64B64A64_SFLOAT                            = 121,
    604 	VK_FORMAT_B10G11R11_UFLOAT_PACK32                        = 122,
    605 	VK_FORMAT_E5B9G9R9_UFLOAT_PACK32                         = 123,
    606 	VK_FORMAT_D16_UNORM                                      = 124,
    607 	VK_FORMAT_X8_D24_UNORM_PACK32                            = 125,
    608 	VK_FORMAT_D32_SFLOAT                                     = 126,
    609 	VK_FORMAT_S8_UINT                                        = 127,
    610 	VK_FORMAT_D16_UNORM_S8_UINT                              = 128,
    611 	VK_FORMAT_D24_UNORM_S8_UINT                              = 129,
    612 	VK_FORMAT_D32_SFLOAT_S8_UINT                             = 130,
    613 	VK_FORMAT_BC1_RGB_UNORM_BLOCK                            = 131,
    614 	VK_FORMAT_BC1_RGB_SRGB_BLOCK                             = 132,
    615 	VK_FORMAT_BC1_RGBA_UNORM_BLOCK                           = 133,
    616 	VK_FORMAT_BC1_RGBA_SRGB_BLOCK                            = 134,
    617 	VK_FORMAT_BC2_UNORM_BLOCK                                = 135,
    618 	VK_FORMAT_BC2_SRGB_BLOCK                                 = 136,
    619 	VK_FORMAT_BC3_UNORM_BLOCK                                = 137,
    620 	VK_FORMAT_BC3_SRGB_BLOCK                                 = 138,
    621 	VK_FORMAT_BC4_UNORM_BLOCK                                = 139,
    622 	VK_FORMAT_BC4_SNORM_BLOCK                                = 140,
    623 	VK_FORMAT_BC5_UNORM_BLOCK                                = 141,
    624 	VK_FORMAT_BC5_SNORM_BLOCK                                = 142,
    625 	VK_FORMAT_BC6H_UFLOAT_BLOCK                              = 143,
    626 	VK_FORMAT_BC6H_SFLOAT_BLOCK                              = 144,
    627 	VK_FORMAT_BC7_UNORM_BLOCK                                = 145,
    628 	VK_FORMAT_BC7_SRGB_BLOCK                                 = 146,
    629 	VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK                        = 147,
    630 	VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK                         = 148,
    631 	VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK                      = 149,
    632 	VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK                       = 150,
    633 	VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK                      = 151,
    634 	VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK                       = 152,
    635 	VK_FORMAT_EAC_R11_UNORM_BLOCK                            = 153,
    636 	VK_FORMAT_EAC_R11_SNORM_BLOCK                            = 154,
    637 	VK_FORMAT_EAC_R11G11_UNORM_BLOCK                         = 155,
    638 	VK_FORMAT_EAC_R11G11_SNORM_BLOCK                         = 156,
    639 	VK_FORMAT_ASTC_4x4_UNORM_BLOCK                           = 157,
    640 	VK_FORMAT_ASTC_4x4_SRGB_BLOCK                            = 158,
    641 	VK_FORMAT_ASTC_5x4_UNORM_BLOCK                           = 159,
    642 	VK_FORMAT_ASTC_5x4_SRGB_BLOCK                            = 160,
    643 	VK_FORMAT_ASTC_5x5_UNORM_BLOCK                           = 161,
    644 	VK_FORMAT_ASTC_5x5_SRGB_BLOCK                            = 162,
    645 	VK_FORMAT_ASTC_6x5_UNORM_BLOCK                           = 163,
    646 	VK_FORMAT_ASTC_6x5_SRGB_BLOCK                            = 164,
    647 	VK_FORMAT_ASTC_6x6_UNORM_BLOCK                           = 165,
    648 	VK_FORMAT_ASTC_6x6_SRGB_BLOCK                            = 166,
    649 	VK_FORMAT_ASTC_8x5_UNORM_BLOCK                           = 167,
    650 	VK_FORMAT_ASTC_8x5_SRGB_BLOCK                            = 168,
    651 	VK_FORMAT_ASTC_8x6_UNORM_BLOCK                           = 169,
    652 	VK_FORMAT_ASTC_8x6_SRGB_BLOCK                            = 170,
    653 	VK_FORMAT_ASTC_8x8_UNORM_BLOCK                           = 171,
    654 	VK_FORMAT_ASTC_8x8_SRGB_BLOCK                            = 172,
    655 	VK_FORMAT_ASTC_10x5_UNORM_BLOCK                          = 173,
    656 	VK_FORMAT_ASTC_10x5_SRGB_BLOCK                           = 174,
    657 	VK_FORMAT_ASTC_10x6_UNORM_BLOCK                          = 175,
    658 	VK_FORMAT_ASTC_10x6_SRGB_BLOCK                           = 176,
    659 	VK_FORMAT_ASTC_10x8_UNORM_BLOCK                          = 177,
    660 	VK_FORMAT_ASTC_10x8_SRGB_BLOCK                           = 178,
    661 	VK_FORMAT_ASTC_10x10_UNORM_BLOCK                         = 179,
    662 	VK_FORMAT_ASTC_10x10_SRGB_BLOCK                          = 180,
    663 	VK_FORMAT_ASTC_12x10_UNORM_BLOCK                         = 181,
    664 	VK_FORMAT_ASTC_12x10_SRGB_BLOCK                          = 182,
    665 	VK_FORMAT_ASTC_12x12_UNORM_BLOCK                         = 183,
    666 	VK_FORMAT_ASTC_12x12_SRGB_BLOCK                          = 184,
    667 	VK_FORMAT_G8B8G8R8_422_UNORM                             = 1000156000,
    668 	VK_FORMAT_B8G8R8G8_422_UNORM                             = 1000156001,
    669 	VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM                      = 1000156002,
    670 	VK_FORMAT_G8_B8R8_2PLANE_420_UNORM                       = 1000156003,
    671 	VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM                      = 1000156004,
    672 	VK_FORMAT_G8_B8R8_2PLANE_422_UNORM                       = 1000156005,
    673 	VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM                      = 1000156006,
    674 	VK_FORMAT_R10X6_UNORM_PACK16                             = 1000156007,
    675 	VK_FORMAT_R10X6G10X6_UNORM_2PACK16                       = 1000156008,
    676 	VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16             = 1000156009,
    677 	VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16         = 1000156010,
    678 	VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16         = 1000156011,
    679 	VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16     = 1000156012,
    680 	VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16      = 1000156013,
    681 	VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16     = 1000156014,
    682 	VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16      = 1000156015,
    683 	VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16     = 1000156016,
    684 	VK_FORMAT_R12X4_UNORM_PACK16                             = 1000156017,
    685 	VK_FORMAT_R12X4G12X4_UNORM_2PACK16                       = 1000156018,
    686 	VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16             = 1000156019,
    687 	VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16         = 1000156020,
    688 	VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16         = 1000156021,
    689 	VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16     = 1000156022,
    690 	VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16      = 1000156023,
    691 	VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16     = 1000156024,
    692 	VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16      = 1000156025,
    693 	VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16     = 1000156026,
    694 	VK_FORMAT_G16B16G16R16_422_UNORM                         = 1000156027,
    695 	VK_FORMAT_B16G16R16G16_422_UNORM                         = 1000156028,
    696 	VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM                   = 1000156029,
    697 	VK_FORMAT_G16_B16R16_2PLANE_420_UNORM                    = 1000156030,
    698 	VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM                   = 1000156031,
    699 	VK_FORMAT_G16_B16R16_2PLANE_422_UNORM                    = 1000156032,
    700 	VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM                   = 1000156033,
    701 	VK_FORMAT_G8_B8R8_2PLANE_444_UNORM                       = 1000330000,
    702 	VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16      = 1000330001,
    703 	VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16      = 1000330002,
    704 	VK_FORMAT_G16_B16R16_2PLANE_444_UNORM                    = 1000330003,
    705 	VK_FORMAT_A4R4G4B4_UNORM_PACK16                          = 1000340000,
    706 	VK_FORMAT_A4B4G4R4_UNORM_PACK16                          = 1000340001,
    707 	VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK                          = 1000066000,
    708 	VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK                          = 1000066001,
    709 	VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK                          = 1000066002,
    710 	VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK                          = 1000066003,
    711 	VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK                          = 1000066004,
    712 	VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK                          = 1000066005,
    713 	VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK                          = 1000066006,
    714 	VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK                          = 1000066007,
    715 	VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK                         = 1000066008,
    716 	VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK                         = 1000066009,
    717 	VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK                         = 1000066010,
    718 	VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK                        = 1000066011,
    719 	VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK                        = 1000066012,
    720 	VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK                        = 1000066013,
    721 	VK_FORMAT_A1B5G5R5_UNORM_PACK16                          = 1000470000,
    722 	VK_FORMAT_A8_UNORM                                       = 1000470001,
    723 	VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG                    = 1000054000,
    724 	VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG                    = 1000054001,
    725 	VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG                    = 1000054002,
    726 	VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG                    = 1000054003,
    727 	VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG                     = 1000054004,
    728 	VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG                     = 1000054005,
    729 	VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG                     = 1000054006,
    730 	VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG                     = 1000054007,
    731 	VK_FORMAT_R16G16_SFIXED5_NV                              = 1000464000,
    732 	VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT                      = VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK,
    733 	VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT                      = VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK,
    734 	VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT                      = VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK,
    735 	VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT                      = VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK,
    736 	VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT                      = VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK,
    737 	VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT                      = VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK,
    738 	VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT                      = VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK,
    739 	VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT                      = VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK,
    740 	VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT                     = VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK,
    741 	VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT                     = VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK,
    742 	VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT                     = VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK,
    743 	VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT                    = VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK,
    744 	VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT                    = VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK,
    745 	VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT                    = VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK,
    746 	VK_FORMAT_G8B8G8R8_422_UNORM_KHR                         = VK_FORMAT_G8B8G8R8_422_UNORM,
    747 	VK_FORMAT_B8G8R8G8_422_UNORM_KHR                         = VK_FORMAT_B8G8R8G8_422_UNORM,
    748 	VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR                  = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM,
    749 	VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR                   = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM,
    750 	VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR                  = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM,
    751 	VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR                   = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM,
    752 	VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR                  = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM,
    753 	VK_FORMAT_R10X6_UNORM_PACK16_KHR                         = VK_FORMAT_R10X6_UNORM_PACK16,
    754 	VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR                   = VK_FORMAT_R10X6G10X6_UNORM_2PACK16,
    755 	VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR         = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16,
    756 	VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR     = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16,
    757 	VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR     = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16,
    758 	VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16,
    759 	VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR  = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16,
    760 	VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16,
    761 	VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR  = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16,
    762 	VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16,
    763 	VK_FORMAT_R12X4_UNORM_PACK16_KHR                         = VK_FORMAT_R12X4_UNORM_PACK16,
    764 	VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR                   = VK_FORMAT_R12X4G12X4_UNORM_2PACK16,
    765 	VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR         = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16,
    766 	VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR     = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16,
    767 	VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR     = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16,
    768 	VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16,
    769 	VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR  = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16,
    770 	VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16,
    771 	VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR  = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16,
    772 	VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16,
    773 	VK_FORMAT_G16B16G16R16_422_UNORM_KHR                     = VK_FORMAT_G16B16G16R16_422_UNORM,
    774 	VK_FORMAT_B16G16R16G16_422_UNORM_KHR                     = VK_FORMAT_B16G16R16G16_422_UNORM,
    775 	VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR               = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM,
    776 	VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR                = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM,
    777 	VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR               = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM,
    778 	VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR                = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM,
    779 	VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR               = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM,
    780 	VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT                   = VK_FORMAT_G8_B8R8_2PLANE_444_UNORM,
    781 	VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT  = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16,
    782 	VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT  = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16,
    783 	VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT                = VK_FORMAT_G16_B16R16_2PLANE_444_UNORM,
    784 	VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT                      = VK_FORMAT_A4R4G4B4_UNORM_PACK16,
    785 	VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT                      = VK_FORMAT_A4B4G4R4_UNORM_PACK16,
    786 	VK_FORMAT_A1B5G5R5_UNORM_PACK16_KHR                      = VK_FORMAT_A1B5G5R5_UNORM_PACK16,
    787 	VK_FORMAT_A8_UNORM_KHR                                   = VK_FORMAT_A8_UNORM,
    788 	VK_FORMAT_MAX_ENUM                                       = 0x7FFFFFFF
    789 } VkFormat;
    790 
    791 typedef enum {
    792 	VK_COLOR_SPACE_SRGB_NONLINEAR_KHR          = 0,
    793 	VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT    = 1000104001,
    794 	VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT    = 1000104002,
    795 	VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT       = 1000104003,
    796 	VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT        = 1000104004,
    797 	VK_COLOR_SPACE_BT709_LINEAR_EXT            = 1000104005,
    798 	VK_COLOR_SPACE_BT709_NONLINEAR_EXT         = 1000104006,
    799 	VK_COLOR_SPACE_BT2020_LINEAR_EXT           = 1000104007,
    800 	VK_COLOR_SPACE_HDR10_ST2084_EXT            = 1000104008,
    801 	// VK_COLOR_SPACE_DOLBYVISION_EXT is deprecated, but no reason was given in the API XML
    802 	VK_COLOR_SPACE_DOLBYVISION_EXT             = 1000104009,
    803 	VK_COLOR_SPACE_HDR10_HLG_EXT               = 1000104010,
    804 	VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT         = 1000104011,
    805 	VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT      = 1000104012,
    806 	VK_COLOR_SPACE_PASS_THROUGH_EXT            = 1000104013,
    807 	VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT = 1000104014,
    808 	VK_COLOR_SPACE_DISPLAY_NATIVE_AMD          = 1000213000,
    809 	VK_COLOR_SPACE_MAX_ENUM_KHR                = 0x7FFFFFFF
    810 } VkColorSpaceKHR;
    811 
    812 typedef enum {
    813 	VK_SHARING_MODE_EXCLUSIVE  = 0,
    814 	VK_SHARING_MODE_CONCURRENT = 1,
    815 	VK_SHARING_MODE_MAX_ENUM   = 0x7FFFFFFF
    816 } VkSharingMode;
    817 
    818 typedef enum {
    819 	VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT = 0x00000001,
    820 	VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT      = 0x00000002,
    821 	VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM              = 0x7FFFFFFF
    822 } VkPipelineShaderStageCreateFlagBits;
    823 typedef VkFlags VkPipelineShaderStageCreateFlags;
    824 
    825 typedef enum {
    826 	VK_SHADER_STAGE_VERTEX_BIT                  = 0x00000001,
    827 	VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT    = 0x00000002,
    828 	VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 0x00000004,
    829 	VK_SHADER_STAGE_GEOMETRY_BIT                = 0x00000008,
    830 	VK_SHADER_STAGE_FRAGMENT_BIT                = 0x00000010,
    831 	VK_SHADER_STAGE_COMPUTE_BIT                 = 0x00000020,
    832 	VK_SHADER_STAGE_ALL_GRAPHICS                = 0x0000001F,
    833 	VK_SHADER_STAGE_ALL                         = 0x7FFFFFFF,
    834 	VK_SHADER_STAGE_RAYGEN_BIT_KHR              = 0x00000100,
    835 	VK_SHADER_STAGE_ANY_HIT_BIT_KHR             = 0x00000200,
    836 	VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR         = 0x00000400,
    837 	VK_SHADER_STAGE_MISS_BIT_KHR                = 0x00000800,
    838 	VK_SHADER_STAGE_INTERSECTION_BIT_KHR        = 0x00001000,
    839 	VK_SHADER_STAGE_CALLABLE_BIT_KHR            = 0x00002000,
    840 	VK_SHADER_STAGE_TASK_BIT_EXT                = 0x00000040,
    841 	VK_SHADER_STAGE_MESH_BIT_EXT                = 0x00000080,
    842 	VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI  = 0x00004000,
    843 	VK_SHADER_STAGE_CLUSTER_CULLING_BIT_HUAWEI  = 0x00080000,
    844 	VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM          = 0x7FFFFFFF
    845 } VkShaderStageFlagBits;
    846 typedef VkFlags VkShaderStageFlags;
    847 
    848 typedef enum {
    849 	VK_COMPARE_OP_NEVER            = 0,
    850 	VK_COMPARE_OP_LESS             = 1,
    851 	VK_COMPARE_OP_EQUAL            = 2,
    852 	VK_COMPARE_OP_LESS_OR_EQUAL    = 3,
    853 	VK_COMPARE_OP_GREATER          = 4,
    854 	VK_COMPARE_OP_NOT_EQUAL        = 5,
    855 	VK_COMPARE_OP_GREATER_OR_EQUAL = 6,
    856 	VK_COMPARE_OP_ALWAYS           = 7,
    857 	VK_COMPARE_OP_MAX_ENUM         = 0x7FFFFFFF
    858 } VkCompareOp;
    859 
    860 typedef enum {
    861 	VK_DYNAMIC_STATE_VIEWPORT                                = 0,
    862 	VK_DYNAMIC_STATE_SCISSOR                                 = 1,
    863 	VK_DYNAMIC_STATE_LINE_WIDTH                              = 2,
    864 	VK_DYNAMIC_STATE_DEPTH_BIAS                              = 3,
    865 	VK_DYNAMIC_STATE_BLEND_CONSTANTS                         = 4,
    866 	VK_DYNAMIC_STATE_DEPTH_BOUNDS                            = 5,
    867 	VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK                    = 6,
    868 	VK_DYNAMIC_STATE_STENCIL_WRITE_MASK                      = 7,
    869 	VK_DYNAMIC_STATE_STENCIL_REFERENCE                       = 8,
    870 	VK_DYNAMIC_STATE_CULL_MODE                               = 1000267000,
    871 	VK_DYNAMIC_STATE_FRONT_FACE                              = 1000267001,
    872 	VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY                      = 1000267002,
    873 	VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT                     = 1000267003,
    874 	VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT                      = 1000267004,
    875 	VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE             = 1000267005,
    876 	VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE                       = 1000267006,
    877 	VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE                      = 1000267007,
    878 	VK_DYNAMIC_STATE_DEPTH_COMPARE_OP                        = 1000267008,
    879 	VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE                = 1000267009,
    880 	VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE                     = 1000267010,
    881 	VK_DYNAMIC_STATE_STENCIL_OP                              = 1000267011,
    882 	VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE               = 1000377001,
    883 	VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE                       = 1000377002,
    884 	VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE                = 1000377004,
    885 	VK_DYNAMIC_STATE_LINE_STIPPLE                            = 1000259000,
    886 	VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV                   = 1000087000,
    887 	VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT                   = 1000099000,
    888 	VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT            = 1000099001,
    889 	VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT              = 1000099002,
    890 	VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT                    = 1000143000,
    891 	VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR     = 1000347000,
    892 	VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV        = 1000164004,
    893 	VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV         = 1000164006,
    894 	VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV             = 1000205000,
    895 	VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV                    = 1000205001,
    896 	VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR               = 1000226000,
    897 	VK_DYNAMIC_STATE_VERTEX_INPUT_EXT                        = 1000352000,
    898 	VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT                = 1000377000,
    899 	VK_DYNAMIC_STATE_LOGIC_OP_EXT                            = 1000377003,
    900 	VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT                  = 1000381000,
    901 	VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT                  = 1000455003,
    902 	VK_DYNAMIC_STATE_POLYGON_MODE_EXT                        = 1000455004,
    903 	VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT               = 1000455005,
    904 	VK_DYNAMIC_STATE_SAMPLE_MASK_EXT                         = 1000455006,
    905 	VK_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT            = 1000455007,
    906 	VK_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT                 = 1000455008,
    907 	VK_DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT                     = 1000455009,
    908 	VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT                  = 1000455010,
    909 	VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT                = 1000455011,
    910 	VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT                    = 1000455012,
    911 	VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT          = 1000455002,
    912 	VK_DYNAMIC_STATE_RASTERIZATION_STREAM_EXT                = 1000455013,
    913 	VK_DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT     = 1000455014,
    914 	VK_DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT = 1000455015,
    915 	VK_DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT                   = 1000455016,
    916 	VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT             = 1000455017,
    917 	VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT                = 1000455018,
    918 	VK_DYNAMIC_STATE_PROVOKING_VERTEX_MODE_EXT               = 1000455019,
    919 	VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT             = 1000455020,
    920 	VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT                 = 1000455021,
    921 	VK_DYNAMIC_STATE_DEPTH_CLIP_NEGATIVE_ONE_TO_ONE_EXT      = 1000455022,
    922 	VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV            = 1000455023,
    923 	VK_DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV                     = 1000455024,
    924 	VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV             = 1000455025,
    925 	VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_LOCATION_NV           = 1000455026,
    926 	VK_DYNAMIC_STATE_COVERAGE_MODULATION_MODE_NV             = 1000455027,
    927 	VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_ENABLE_NV     = 1000455028,
    928 	VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_NV            = 1000455029,
    929 	VK_DYNAMIC_STATE_SHADING_RATE_IMAGE_ENABLE_NV            = 1000455030,
    930 	VK_DYNAMIC_STATE_REPRESENTATIVE_FRAGMENT_TEST_ENABLE_NV  = 1000455031,
    931 	VK_DYNAMIC_STATE_COVERAGE_REDUCTION_MODE_NV              = 1000455032,
    932 	VK_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT     = 1000524000,
    933 	VK_DYNAMIC_STATE_DEPTH_CLAMP_RANGE_EXT                   = 1000582000,
    934 	VK_DYNAMIC_STATE_MAX_ENUM                                = 0x7FFFFFFF
    935 } VkDynamicState;
    936 
    937 typedef enum VkFrontFace {
    938 	VK_FRONT_FACE_COUNTER_CLOCKWISE = 0,
    939 	VK_FRONT_FACE_CLOCKWISE         = 1,
    940 	VK_FRONT_FACE_MAX_ENUM          = 0x7FFFFFFF
    941 } VkFrontFace;
    942 
    943 typedef enum {
    944 	VK_VERTEX_INPUT_RATE_VERTEX   = 0,
    945 	VK_VERTEX_INPUT_RATE_INSTANCE = 1,
    946 	VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF
    947 } VkVertexInputRate;
    948 
    949 typedef enum {
    950 	VK_PRIMITIVE_TOPOLOGY_POINT_LIST                    = 0,
    951 	VK_PRIMITIVE_TOPOLOGY_LINE_LIST                     = 1,
    952 	VK_PRIMITIVE_TOPOLOGY_LINE_STRIP                    = 2,
    953 	VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST                 = 3,
    954 	VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP                = 4,
    955 	VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN                  = 5,
    956 	VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY      = 6,
    957 	VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY     = 7,
    958 	VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY  = 8,
    959 	VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9,
    960 	VK_PRIMITIVE_TOPOLOGY_PATCH_LIST                    = 10,
    961 	VK_PRIMITIVE_TOPOLOGY_MAX_ENUM                      = 0x7FFFFFFF
    962 } VkPrimitiveTopology;
    963 
    964 typedef enum {
    965 	VK_POLYGON_MODE_FILL              = 0,
    966 	VK_POLYGON_MODE_LINE              = 1,
    967 	VK_POLYGON_MODE_POINT             = 2,
    968 	VK_POLYGON_MODE_FILL_RECTANGLE_NV = 1000153000,
    969 	VK_POLYGON_MODE_MAX_ENUM          = 0x7FFFFFFF
    970 } VkPolygonMode;
    971 
    972 typedef enum {
    973 	VK_STENCIL_OP_KEEP                = 0,
    974 	VK_STENCIL_OP_ZERO                = 1,
    975 	VK_STENCIL_OP_REPLACE             = 2,
    976 	VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3,
    977 	VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4,
    978 	VK_STENCIL_OP_INVERT              = 5,
    979 	VK_STENCIL_OP_INCREMENT_AND_WRAP  = 6,
    980 	VK_STENCIL_OP_DECREMENT_AND_WRAP  = 7,
    981 	VK_STENCIL_OP_MAX_ENUM            = 0x7FFFFFFF
    982 } VkStencilOp;
    983 
    984 typedef enum VkLogicOp {
    985 	VK_LOGIC_OP_CLEAR         = 0,
    986 	VK_LOGIC_OP_AND           = 1,
    987 	VK_LOGIC_OP_AND_REVERSE   = 2,
    988 	VK_LOGIC_OP_COPY          = 3,
    989 	VK_LOGIC_OP_AND_INVERTED  = 4,
    990 	VK_LOGIC_OP_NO_OP         = 5,
    991 	VK_LOGIC_OP_XOR           = 6,
    992 	VK_LOGIC_OP_OR            = 7,
    993 	VK_LOGIC_OP_NOR           = 8,
    994 	VK_LOGIC_OP_EQUIVALENT    = 9,
    995 	VK_LOGIC_OP_INVERT        = 10,
    996 	VK_LOGIC_OP_OR_REVERSE    = 11,
    997 	VK_LOGIC_OP_COPY_INVERTED = 12,
    998 	VK_LOGIC_OP_OR_INVERTED   = 13,
    999 	VK_LOGIC_OP_NAND          = 14,
   1000 	VK_LOGIC_OP_SET           = 15,
   1001 	VK_LOGIC_OP_MAX_ENUM      = 0x7FFFFFFF
   1002 } VkLogicOp;
   1003 
   1004 typedef enum {
   1005 	VK_CULL_MODE_NONE               = 0,
   1006 	VK_CULL_MODE_FRONT_BIT          = 0x00000001,
   1007 	VK_CULL_MODE_BACK_BIT           = 0x00000002,
   1008 	VK_CULL_MODE_FRONT_AND_BACK     = 0x00000003,
   1009 	VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
   1010 } VkCullModeFlagBits;
   1011 typedef VkFlags VkCullModeFlags;
   1012 
   1013 typedef enum {
   1014 	VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT   = 0x00000001,
   1015 	VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT = 0x00000002,
   1016 	VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_FLAG_BITS_MAX_ENUM                                    = 0x7FFFFFFF
   1017 } VkPipelineDepthStencilStateCreateFlagBits;
   1018 typedef VkFlags VkPipelineDepthStencilStateCreateFlags;
   1019 
   1020 
   1021 typedef enum {
   1022 	VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT = 0x00000001,
   1023 	VK_PIPELINE_COLOR_BLEND_STATE_CREATE_FLAG_BITS_MAX_ENUM                            = 0x7FFFFFFF
   1024 } VkPipelineColorBlendStateCreateFlagBits;
   1025 typedef VkFlags VkPipelineColorBlendStateCreateFlags;
   1026 typedef VkFlags VkPipelineDynamicStateCreateFlags;
   1027 
   1028 typedef enum {
   1029 	VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT = 0x00000002,
   1030 	VK_PIPELINE_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM       = 0x7FFFFFFF
   1031 } VkPipelineLayoutCreateFlagBits;
   1032 typedef VkFlags VkPipelineLayoutCreateFlags;
   1033 
   1034 typedef VkFlags VkPipelineDynamicStateCreateFlags;
   1035 typedef VkFlags VkPipelineVertexInputStateCreateFlags;
   1036 typedef VkFlags VkPipelineInputAssemblyStateCreateFlags;
   1037 typedef VkFlags VkPipelineTessellationStateCreateFlags;
   1038 typedef VkFlags VkPipelineViewportStateCreateFlags;
   1039 typedef VkFlags VkPipelineRasterizationStateCreateFlags;
   1040 typedef VkFlags VkPipelineMultisampleStateCreateFlags;
   1041 
   1042 typedef enum {
   1043 	VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT      = 0x00000001,
   1044 	VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
   1045 } VkAttachmentDescriptionFlagBits;
   1046 typedef VkFlags VkAttachmentDescriptionFlags;
   1047 
   1048 typedef enum {
   1049 	VK_ATTACHMENT_LOAD_OP_LOAD      = 0,
   1050 	VK_ATTACHMENT_LOAD_OP_CLEAR     = 1,
   1051 	VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2,
   1052 	VK_ATTACHMENT_LOAD_OP_NONE      = 1000400000,
   1053 	VK_ATTACHMENT_LOAD_OP_MAX_ENUM  = 0x7FFFFFFF
   1054 } VkAttachmentLoadOp;
   1055 
   1056 typedef enum {
   1057 	VK_ATTACHMENT_STORE_OP_STORE     = 0,
   1058 	VK_ATTACHMENT_STORE_OP_DONT_CARE = 1,
   1059 	VK_ATTACHMENT_STORE_OP_NONE      = 1000301000,
   1060 	VK_ATTACHMENT_STORE_OP_MAX_ENUM  = 0x7FFFFFFF
   1061 } VkAttachmentStoreOp;
   1062 
   1063 typedef enum {
   1064 	VK_PIPELINE_BIND_POINT_GRAPHICS               = 0,
   1065 	VK_PIPELINE_BIND_POINT_COMPUTE                = 1,
   1066 	VK_PIPELINE_BIND_POINT_EXECUTION_GRAPH_AMDX   = 1000134000,
   1067 	VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR        = 1000165000,
   1068 	VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI = 1000369003,
   1069 	VK_PIPELINE_BIND_POINT_MAX_ENUM               = 0x7FFFFFFF
   1070 } VkPipelineBindPoint;
   1071 
   1072 typedef enum {
   1073 	VK_COMMAND_BUFFER_LEVEL_PRIMARY   = 0,
   1074 	VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1,
   1075 	VK_COMMAND_BUFFER_LEVEL_MAX_ENUM  = 0x7FFFFFFF
   1076 } VkCommandBufferLevel;
   1077 
   1078 typedef enum {
   1079 	VK_SUBPASS_CONTENTS_INLINE                                   = 0,
   1080 	VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS                = 1,
   1081 	VK_SUBPASS_CONTENTS_INLINE_AND_SECONDARY_COMMAND_BUFFERS_KHR = 1000451000,
   1082 	VK_SUBPASS_CONTENTS_MAX_ENUM                                 = 0x7FFFFFFF
   1083 } VkSubpassContents;
   1084 
   1085 typedef enum {
   1086 	VK_IMAGE_LAYOUT_UNDEFINED                                    = 0,
   1087 	VK_IMAGE_LAYOUT_GENERAL                                      = 1,
   1088 	VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL                     = 2,
   1089 	VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL             = 3,
   1090 	VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL              = 4,
   1091 	VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL                     = 5,
   1092 	VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL                         = 6,
   1093 	VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL                         = 7,
   1094 	VK_IMAGE_LAYOUT_PREINITIALIZED                               = 8,
   1095 	VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL   = 1000117000,
   1096 	VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL   = 1000117001,
   1097 	VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL                     = 1000241000,
   1098 	VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL                      = 1000241001,
   1099 	VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL                   = 1000241002,
   1100 	VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL                    = 1000241003,
   1101 	VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL                            = 1000314000,
   1102 	VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL                           = 1000314001,
   1103 	VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ                         = 1000232000,
   1104 	VK_IMAGE_LAYOUT_PRESENT_SRC_KHR                              = 1000001002,
   1105 	VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR                         = 1000024000,
   1106 	VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR                         = 1000024001,
   1107 	VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR                         = 1000024002,
   1108 	VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR                           = 1000111000,
   1109 	VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT             = 1000218000,
   1110 	VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003,
   1111 	VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR                         = 1000299000,
   1112 	VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR                         = 1000299001,
   1113 	VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR                         = 1000299002,
   1114 	VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT         = 1000339000,
   1115 	VK_IMAGE_LAYOUT_VIDEO_ENCODE_QUANTIZATION_MAP_KHR            = 1000553000,
   1116 	VK_IMAGE_LAYOUT_MAX_ENUM                                     = 0x7FFFFFFF
   1117 } VkImageLayout;
   1118 
   1119 typedef enum {
   1120 	VK_DEPENDENCY_BY_REGION_BIT                                          = 0x00000001,
   1121 	VK_DEPENDENCY_DEVICE_GROUP_BIT                                       = 0x00000004,
   1122 	VK_DEPENDENCY_VIEW_LOCAL_BIT                                         = 0x00000002,
   1123 	VK_DEPENDENCY_FEEDBACK_LOOP_BIT_EXT                                  = 0x00000008,
   1124 	VK_DEPENDENCY_QUEUE_FAMILY_OWNERSHIP_TRANSFER_USE_ALL_STAGES_BIT_KHR = 0x00000020,
   1125 	VK_DEPENDENCY_FLAG_BITS_MAX_ENUM                                     = 0x7FFFFFFF
   1126 } VkDependencyFlagBits;
   1127 typedef VkFlags VkDependencyFlags;
   1128 
   1129 typedef enum {
   1130 	VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT      = 0x00000001,
   1131 	VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
   1132 } VkFramebufferCreateFlagBits;
   1133 typedef VkFlags VkFramebufferCreateFlags;
   1134 
   1135 typedef enum {
   1136 	VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM = 0x00000002,
   1137 	VK_RENDER_PASS_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
   1138 } VkRenderPassCreateFlagBits;
   1139 typedef VkFlags VkRenderPassCreateFlags;
   1140 
   1141 typedef enum {
   1142 	VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX                           = 0x00000001,
   1143 	VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX                      = 0x00000002,
   1144 	VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM                              = 0x00000004,
   1145 	VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM                               = 0x00000008,
   1146 	VK_SUBPASS_DESCRIPTION_TILE_SHADING_APRON_BIT_QCOM                           = 0x00000100,
   1147 	VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_EXT   = 0x00000010,
   1148 	VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT   = 0x00000020,
   1149 	VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT = 0x00000040,
   1150 	VK_SUBPASS_DESCRIPTION_ENABLE_LEGACY_DITHERING_BIT_EXT                       = 0x00000080,
   1151 	VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM                                    = 0x7FFFFFFF
   1152 } VkSubpassDescriptionFlagBits;
   1153 typedef VkFlags VkSubpassDescriptionFlags;
   1154 
   1155 typedef enum {
   1156 	VK_COMMAND_POOL_CREATE_TRANSIENT_BIT            = 0x00000001,
   1157 	VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002,
   1158 	VK_COMMAND_POOL_CREATE_PROTECTED_BIT            = 0x00000004,
   1159 	VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM       = 0x7FFFFFFF
   1160 } VkCommandPoolCreateFlagBits;
   1161 typedef VkFlags VkCommandPoolCreateFlags;
   1162 
   1163 typedef enum {
   1164 	VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT      = 0x00000001,
   1165 	VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 0x00000002,
   1166 	VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT     = 0x00000004,
   1167 	VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM       = 0x7FFFFFFF
   1168 } VkCommandBufferUsageFlagBits;
   1169 typedef VkFlags VkCommandBufferUsageFlags;
   1170 
   1171 typedef enum {
   1172 	VK_QUERY_CONTROL_PRECISE_BIT        = 0x00000001,
   1173 	VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
   1174 } VkQueryControlFlagBits;
   1175 typedef VkFlags VkQueryControlFlags;
   1176 
   1177 typedef enum {
   1178 	VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
   1179 	VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM    = 0x7FFFFFFF
   1180 } VkCommandBufferResetFlagBits;
   1181 typedef VkFlags VkCommandBufferResetFlags;
   1182 
   1183 typedef struct {
   1184 	uint32_t width;
   1185 	uint32_t height;
   1186 } VkExtent2D;
   1187 
   1188 typedef struct {
   1189 	uint32_t width;
   1190 	uint32_t height;
   1191 	uint32_t depth;
   1192 } VkExtent3D;
   1193 
   1194 typedef struct {
   1195 	int32_t x;
   1196 	int32_t y;
   1197 } VkOffset2D;
   1198 
   1199 typedef struct {
   1200 	VkOffset2D offset;
   1201 	VkExtent2D extent;
   1202 } VkRect2D;
   1203 
   1204 typedef struct {
   1205 	float x;
   1206 	float y;
   1207 	float width;
   1208 	float height;
   1209 	float minDepth;
   1210 	float maxDepth;
   1211 } VkViewport;
   1212 
   1213 typedef struct {
   1214 	char     extensionName[VK_MAX_EXTENSION_NAME_SIZE];
   1215 	uint32_t specVersion;
   1216 } VkExtensionProperties;
   1217 
   1218 typedef struct {
   1219 	char     layerName[VK_MAX_EXTENSION_NAME_SIZE];
   1220 	uint32_t specVersion;
   1221 	uint32_t implementationVersion;
   1222 	char     description[VK_MAX_DESCRIPTION_SIZE];
   1223 } VkLayerProperties;
   1224 
   1225 typedef struct {
   1226 	VkStructureType             sType;
   1227 	const void                 *pNext;
   1228 	uint32_t                    waitSemaphoreCount;
   1229 	const VkSemaphore          *pWaitSemaphores;
   1230 	const VkPipelineStageFlags *pWaitDstStageMask;
   1231 	uint32_t                    commandBufferCount;
   1232 	const VkCommandBuffer      *pCommandBuffers;
   1233 	uint32_t                    signalSemaphoreCount;
   1234 	const VkSemaphore          *pSignalSemaphores;
   1235 } VkSubmitInfo;
   1236 
   1237 typedef struct {
   1238 	VkStructureType sType;
   1239 	const void*     pNext;
   1240 	const char*     pApplicationName;
   1241 	uint32_t        applicationVersion;
   1242 	const char*     pEngineName;
   1243 	uint32_t        engineVersion;
   1244 	uint32_t        apiVersion;
   1245 } VkApplicationInfo;
   1246 
   1247 typedef struct {
   1248 	VkStructureType          sType;
   1249 	const void*              pNext;
   1250 	VkInstanceCreateFlags    flags;
   1251 	const VkApplicationInfo* pApplicationInfo;
   1252 	uint32_t                 enabledLayerCount;
   1253 	const char* const*       ppEnabledLayerNames;
   1254 	uint32_t                 enabledExtensionCount;
   1255 	const char* const*       ppEnabledExtensionNames;
   1256 } VkInstanceCreateInfo;
   1257 
   1258 typedef struct {
   1259 	uint32_t           maxImageDimension1D;
   1260 	uint32_t           maxImageDimension2D;
   1261 	uint32_t           maxImageDimension3D;
   1262 	uint32_t           maxImageDimensionCube;
   1263 	uint32_t           maxImageArrayLayers;
   1264 	uint32_t           maxTexelBufferElements;
   1265 	uint32_t           maxUniformBufferRange;
   1266 	uint32_t           maxStorageBufferRange;
   1267 	uint32_t           maxPushConstantsSize;
   1268 	uint32_t           maxMemoryAllocationCount;
   1269 	uint32_t           maxSamplerAllocationCount;
   1270 	VkDeviceSize       bufferImageGranularity;
   1271 	VkDeviceSize       sparseAddressSpaceSize;
   1272 	uint32_t           maxBoundDescriptorSets;
   1273 	uint32_t           maxPerStageDescriptorSamplers;
   1274 	uint32_t           maxPerStageDescriptorUniformBuffers;
   1275 	uint32_t           maxPerStageDescriptorStorageBuffers;
   1276 	uint32_t           maxPerStageDescriptorSampledImages;
   1277 	uint32_t           maxPerStageDescriptorStorageImages;
   1278 	uint32_t           maxPerStageDescriptorInputAttachments;
   1279 	uint32_t           maxPerStageResources;
   1280 	uint32_t           maxDescriptorSetSamplers;
   1281 	uint32_t           maxDescriptorSetUniformBuffers;
   1282 	uint32_t           maxDescriptorSetUniformBuffersDynamic;
   1283 	uint32_t           maxDescriptorSetStorageBuffers;
   1284 	uint32_t           maxDescriptorSetStorageBuffersDynamic;
   1285 	uint32_t           maxDescriptorSetSampledImages;
   1286 	uint32_t           maxDescriptorSetStorageImages;
   1287 	uint32_t           maxDescriptorSetInputAttachments;
   1288 	uint32_t           maxVertexInputAttributes;
   1289 	uint32_t           maxVertexInputBindings;
   1290 	uint32_t           maxVertexInputAttributeOffset;
   1291 	uint32_t           maxVertexInputBindingStride;
   1292 	uint32_t           maxVertexOutputComponents;
   1293 	uint32_t           maxTessellationGenerationLevel;
   1294 	uint32_t           maxTessellationPatchSize;
   1295 	uint32_t           maxTessellationControlPerVertexInputComponents;
   1296 	uint32_t           maxTessellationControlPerVertexOutputComponents;
   1297 	uint32_t           maxTessellationControlPerPatchOutputComponents;
   1298 	uint32_t           maxTessellationControlTotalOutputComponents;
   1299 	uint32_t           maxTessellationEvaluationInputComponents;
   1300 	uint32_t           maxTessellationEvaluationOutputComponents;
   1301 	uint32_t           maxGeometryShaderInvocations;
   1302 	uint32_t           maxGeometryInputComponents;
   1303 	uint32_t           maxGeometryOutputComponents;
   1304 	uint32_t           maxGeometryOutputVertices;
   1305 	uint32_t           maxGeometryTotalOutputComponents;
   1306 	uint32_t           maxFragmentInputComponents;
   1307 	uint32_t           maxFragmentOutputAttachments;
   1308 	uint32_t           maxFragmentDualSrcAttachments;
   1309 	uint32_t           maxFragmentCombinedOutputResources;
   1310 	uint32_t           maxComputeSharedMemorySize;
   1311 	uint32_t           maxComputeWorkGroupCount[3];
   1312 	uint32_t           maxComputeWorkGroupInvocations;
   1313 	uint32_t           maxComputeWorkGroupSize[3];
   1314 	uint32_t           subPixelPrecisionBits;
   1315 	uint32_t           subTexelPrecisionBits;
   1316 	uint32_t           mipmapPrecisionBits;
   1317 	uint32_t           maxDrawIndexedIndexValue;
   1318 	uint32_t           maxDrawIndirectCount;
   1319 	float              maxSamplerLodBias;
   1320 	float              maxSamplerAnisotropy;
   1321 	uint32_t           maxViewports;
   1322 	uint32_t           maxViewportDimensions[2];
   1323 	float              viewportBoundsRange[2];
   1324 	uint32_t           viewportSubPixelBits;
   1325 	size_t             minMemoryMapAlignment;
   1326 	VkDeviceSize       minTexelBufferOffsetAlignment;
   1327 	VkDeviceSize       minUniformBufferOffsetAlignment;
   1328 	VkDeviceSize       minStorageBufferOffsetAlignment;
   1329 	int32_t            minTexelOffset;
   1330 	uint32_t           maxTexelOffset;
   1331 	int32_t            minTexelGatherOffset;
   1332 	uint32_t           maxTexelGatherOffset;
   1333 	float              minInterpolationOffset;
   1334 	float              maxInterpolationOffset;
   1335 	uint32_t           subPixelInterpolationOffsetBits;
   1336 	uint32_t           maxFramebufferWidth;
   1337 	uint32_t           maxFramebufferHeight;
   1338 	uint32_t           maxFramebufferLayers;
   1339 	VkSampleCountFlags framebufferColorSampleCounts;
   1340 	VkSampleCountFlags framebufferDepthSampleCounts;
   1341 	VkSampleCountFlags framebufferStencilSampleCounts;
   1342 	VkSampleCountFlags framebufferNoAttachmentsSampleCounts;
   1343 	uint32_t           maxColorAttachments;
   1344 	VkSampleCountFlags sampledImageColorSampleCounts;
   1345 	VkSampleCountFlags sampledImageIntegerSampleCounts;
   1346 	VkSampleCountFlags sampledImageDepthSampleCounts;
   1347 	VkSampleCountFlags sampledImageStencilSampleCounts;
   1348 	VkSampleCountFlags storageImageSampleCounts;
   1349 	uint32_t           maxSampleMaskWords;
   1350 	VkBool32           timestampComputeAndGraphics;
   1351 	float              timestampPeriod;
   1352 	uint32_t           maxClipDistances;
   1353 	uint32_t           maxCullDistances;
   1354 	uint32_t           maxCombinedClipAndCullDistances;
   1355 	uint32_t           discreteQueuePriorities;
   1356 	float              pointSizeRange[2];
   1357 	float              lineWidthRange[2];
   1358 	float              pointSizeGranularity;
   1359 	float              lineWidthGranularity;
   1360 	VkBool32           strictLines;
   1361 	VkBool32           standardSampleLocations;
   1362 	VkDeviceSize       optimalBufferCopyOffsetAlignment;
   1363 	VkDeviceSize       optimalBufferCopyRowPitchAlignment;
   1364 	VkDeviceSize       nonCoherentAtomSize;
   1365 } VkPhysicalDeviceLimits;
   1366 
   1367 typedef struct {
   1368 	VkBool32 residencyStandard2DBlockShape;
   1369 	VkBool32 residencyStandard2DMultisampleBlockShape;
   1370 	VkBool32 residencyStandard3DBlockShape;
   1371 	VkBool32 residencyAlignedMipSize;
   1372 	VkBool32 residencyNonResidentStrict;
   1373 } VkPhysicalDeviceSparseProperties;
   1374 
   1375 typedef struct {
   1376 	uint32_t                         apiVersion;
   1377 	uint32_t                         driverVersion;
   1378 	uint32_t                         vendorID;
   1379 	uint32_t                         deviceID;
   1380 	VkPhysicalDeviceType             deviceType;
   1381 	char                             deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
   1382 	uint8_t                          pipelineCacheUUID[VK_UUID_SIZE];
   1383 	VkPhysicalDeviceLimits           limits;
   1384 	VkPhysicalDeviceSparseProperties sparseProperties;
   1385 } VkPhysicalDeviceProperties;
   1386 
   1387 typedef struct {
   1388 	VkBool32 robustBufferAccess;
   1389 	VkBool32 fullDrawIndexUint32;
   1390 	VkBool32 imageCubeArray;
   1391 	VkBool32 independentBlend;
   1392 	VkBool32 geometryShader;
   1393 	VkBool32 tessellationShader;
   1394 	VkBool32 sampleRateShading;
   1395 	VkBool32 dualSrcBlend;
   1396 	VkBool32 logicOp;
   1397 	VkBool32 multiDrawIndirect;
   1398 	VkBool32 drawIndirectFirstInstance;
   1399 	VkBool32 depthClamp;
   1400 	VkBool32 depthBiasClamp;
   1401 	VkBool32 fillModeNonSolid;
   1402 	VkBool32 depthBounds;
   1403 	VkBool32 wideLines;
   1404 	VkBool32 largePoints;
   1405 	VkBool32 alphaToOne;
   1406 	VkBool32 multiViewport;
   1407 	VkBool32 samplerAnisotropy;
   1408 	VkBool32 textureCompressionETC2;
   1409 	VkBool32 textureCompressionASTC_LDR;
   1410 	VkBool32 textureCompressionBC;
   1411 	VkBool32 occlusionQueryPrecise;
   1412 	VkBool32 pipelineStatisticsQuery;
   1413 	VkBool32 vertexPipelineStoresAndAtomics;
   1414 	VkBool32 fragmentStoresAndAtomics;
   1415 	VkBool32 shaderTessellationAndGeometryPointSize;
   1416 	VkBool32 shaderImageGatherExtended;
   1417 	VkBool32 shaderStorageImageExtendedFormats;
   1418 	VkBool32 shaderStorageImageMultisample;
   1419 	VkBool32 shaderStorageImageReadWithoutFormat;
   1420 	VkBool32 shaderStorageImageWriteWithoutFormat;
   1421 	VkBool32 shaderUniformBufferArrayDynamicIndexing;
   1422 	VkBool32 shaderSampledImageArrayDynamicIndexing;
   1423 	VkBool32 shaderStorageBufferArrayDynamicIndexing;
   1424 	VkBool32 shaderStorageImageArrayDynamicIndexing;
   1425 	VkBool32 shaderClipDistance;
   1426 	VkBool32 shaderCullDistance;
   1427 	VkBool32 shaderFloat64;
   1428 	VkBool32 shaderInt64;
   1429 	VkBool32 shaderInt16;
   1430 	VkBool32 shaderResourceResidency;
   1431 	VkBool32 shaderResourceMinLod;
   1432 	VkBool32 sparseBinding;
   1433 	VkBool32 sparseResidencyBuffer;
   1434 	VkBool32 sparseResidencyImage2D;
   1435 	VkBool32 sparseResidencyImage3D;
   1436 	VkBool32 sparseResidency2Samples;
   1437 	VkBool32 sparseResidency4Samples;
   1438 	VkBool32 sparseResidency8Samples;
   1439 	VkBool32 sparseResidency16Samples;
   1440 	VkBool32 sparseResidencyAliased;
   1441 	VkBool32 variableMultisampleRate;
   1442 	VkBool32 inheritedQueries;
   1443 } VkPhysicalDeviceFeatures;
   1444 
   1445 typedef struct {
   1446 	VkQueueFlags queueFlags;
   1447 	uint32_t     queueCount;
   1448 	uint32_t     timestampValidBits;
   1449 	VkExtent3D   minImageTransferGranularity;
   1450 } VkQueueFamilyProperties;
   1451 
   1452 typedef struct {
   1453 	VkStructureType          sType;
   1454 	const void*              pNext;
   1455 	VkDeviceQueueCreateFlags flags;
   1456 	uint32_t                 queueFamilyIndex;
   1457 	uint32_t                 queueCount;
   1458 	const float*             pQueuePriorities;
   1459 } VkDeviceQueueCreateInfo;
   1460 
   1461 typedef struct {
   1462 	VkStructureType                 sType;
   1463 	const void*                     pNext;
   1464 	VkDeviceCreateFlags             flags;
   1465 	uint32_t                        queueCreateInfoCount;
   1466 	const VkDeviceQueueCreateInfo*  pQueueCreateInfos;
   1467 	uint32_t                        enabledLayerCount;   // enabledLayerCount is deprecated
   1468 	const char* const*              ppEnabledLayerNames; // ppEnabledLayerNames is deprecated
   1469 	uint32_t                        enabledExtensionCount;
   1470 	const char* const*              ppEnabledExtensionNames;
   1471 	const VkPhysicalDeviceFeatures* pEnabledFeatures;
   1472 } VkDeviceCreateInfo;
   1473 
   1474 typedef struct {
   1475 	VkStructureType               sType;
   1476 	const void*                   pNext;
   1477 	VkSwapchainCreateFlagsKHR     flags;
   1478 	VkSurfaceKHR                  surface;
   1479 	uint32_t                      minImageCount;
   1480 	VkFormat                      imageFormat;
   1481 	VkColorSpaceKHR               imageColorSpace;
   1482 	VkExtent2D                    imageExtent;
   1483 	uint32_t                      imageArrayLayers;
   1484 	VkImageUsageFlags             imageUsage;
   1485 	VkSharingMode                 imageSharingMode;
   1486 	uint32_t                      queueFamilyIndexCount;
   1487 	const uint32_t*               pQueueFamilyIndices;
   1488 	VkSurfaceTransformFlagBitsKHR preTransform;
   1489 	VkCompositeAlphaFlagBitsKHR   compositeAlpha;
   1490 	VkPresentModeKHR              presentMode;
   1491 	VkBool32                      clipped;
   1492 	VkSwapchainKHR                oldSwapchain;
   1493 } VkSwapchainCreateInfoKHR;
   1494 
   1495 typedef struct {
   1496 	VkStructureType       sType;
   1497 	const void           *pNext;
   1498 	uint32_t              waitSemaphoreCount;
   1499 	const VkSemaphore    *pWaitSemaphores;
   1500 	uint32_t              swapchainCount;
   1501 	const VkSwapchainKHR *pSwapchains;
   1502 	const uint32_t       *pImageIndices;
   1503 	VkResult             *pResults;
   1504 } VkPresentInfoKHR;
   1505 
   1506 typedef struct {
   1507 	uint32_t                      minImageCount;
   1508 	uint32_t                      maxImageCount;
   1509 	VkExtent2D                    currentExtent;
   1510 	VkExtent2D                    minImageExtent;
   1511 	VkExtent2D                    maxImageExtent;
   1512 	uint32_t                      maxImageArrayLayers;
   1513 	VkSurfaceTransformFlagsKHR    supportedTransforms;
   1514 	VkSurfaceTransformFlagBitsKHR currentTransform;
   1515 	VkCompositeAlphaFlagsKHR      supportedCompositeAlpha;
   1516 	VkImageUsageFlags             supportedUsageFlags;
   1517 } VkSurfaceCapabilitiesKHR;
   1518 
   1519 typedef struct {
   1520 	VkFormat        format;
   1521 	VkColorSpaceKHR colorSpace;
   1522 } VkSurfaceFormatKHR;
   1523 
   1524 
   1525 typedef struct {
   1526 	VkStructureType     sType;
   1527 	const void         *pNext;
   1528 	VkFenceCreateFlags  flags;
   1529 } VkFenceCreateInfo;
   1530 
   1531 typedef struct {
   1532 	VkStructureType         sType;
   1533 	const void             *pNext;
   1534 	VkSemaphoreCreateFlags  flags;
   1535 } VkSemaphoreCreateInfo;
   1536 
   1537 typedef struct {
   1538 	VkComponentSwizzle r;
   1539 	VkComponentSwizzle g;
   1540 	VkComponentSwizzle b;
   1541 	VkComponentSwizzle a;
   1542 } VkComponentMapping;
   1543 
   1544 typedef struct {
   1545 	VkImageAspectFlags aspectMask;
   1546 	uint32_t           baseMipLevel;
   1547 	uint32_t           levelCount;
   1548 	uint32_t           baseArrayLayer;
   1549 	uint32_t           layerCount;
   1550 } VkImageSubresourceRange;
   1551 
   1552 typedef struct {
   1553 	VkStructureType          sType;
   1554 	const void              *pNext;
   1555 	VkImageViewCreateFlags   flags;
   1556 	VkImage                  image;
   1557 	VkImageViewType          viewType;
   1558 	VkFormat                 format;
   1559 	VkComponentMapping       components;
   1560 	VkImageSubresourceRange  subresourceRange;
   1561 } VkImageViewCreateInfo;
   1562 
   1563 typedef struct {
   1564 	VkStructureType            sType;
   1565 	const void                *pNext;
   1566 	VkShaderModuleCreateFlags  flags;
   1567 	size_t                     codeSize;
   1568 	const uint32_t            *pCode;
   1569 } VkShaderModuleCreateInfo;
   1570 
   1571 typedef struct {
   1572 	uint32_t constantID;
   1573 	uint32_t offset;
   1574 	size_t   size;
   1575 } VkSpecializationMapEntry;
   1576 
   1577 typedef struct {
   1578 	uint32_t                        mapEntryCount;
   1579 	const VkSpecializationMapEntry *pMapEntries;
   1580 	size_t                          dataSize;
   1581 	const void                     *pData;
   1582 } VkSpecializationInfo;
   1583 
   1584 typedef struct {
   1585 	VkStructureType                   sType;
   1586 	const void                       *pNext;
   1587 	VkPipelineShaderStageCreateFlags  flags;
   1588 	VkShaderStageFlagBits             stage;
   1589 	VkShaderModule                    module;
   1590 	const char                       *pName;
   1591 	const VkSpecializationInfo       *pSpecializationInfo;
   1592 } VkPipelineShaderStageCreateInfo;
   1593 
   1594 typedef struct {
   1595 	VkStructureType                  sType;
   1596 	const void                      *pNext;
   1597 	VkPipelineCreateFlags            flags;
   1598 	VkPipelineShaderStageCreateInfo  stage;
   1599 	VkPipelineLayout                 layout;
   1600 	VkPipeline                       basePipelineHandle;
   1601 	int32_t                          basePipelineIndex;
   1602 } VkComputePipelineCreateInfo;
   1603 
   1604 typedef struct {
   1605 	VkStencilOp failOp;
   1606 	VkStencilOp passOp;
   1607 	VkStencilOp depthFailOp;
   1608 	VkCompareOp compareOp;
   1609 	uint32_t    compareMask;
   1610 	uint32_t    writeMask;
   1611 	uint32_t    reference;
   1612 } VkStencilOpState;
   1613 
   1614 typedef struct {
   1615 	VkStructureType                         sType;
   1616 	const void                             *pNext;
   1617 	VkPipelineDepthStencilStateCreateFlags  flags;
   1618 	VkBool32                                depthTestEnable;
   1619 	VkBool32                                depthWriteEnable;
   1620 	VkCompareOp                             depthCompareOp;
   1621 	VkBool32                                depthBoundsTestEnable;
   1622 	VkBool32                                stencilTestEnable;
   1623 	VkStencilOpState                        front;
   1624 	VkStencilOpState                        back;
   1625 	float                                   minDepthBounds;
   1626 	float                                   maxDepthBounds;
   1627 } VkPipelineDepthStencilStateCreateInfo;
   1628 
   1629 typedef struct {
   1630 	VkBool32              blendEnable;
   1631 	VkBlendFactor         srcColorBlendFactor;
   1632 	VkBlendFactor         dstColorBlendFactor;
   1633 	VkBlendOp             colorBlendOp;
   1634 	VkBlendFactor         srcAlphaBlendFactor;
   1635 	VkBlendFactor         dstAlphaBlendFactor;
   1636 	VkBlendOp             alphaBlendOp;
   1637 	VkColorComponentFlags colorWriteMask;
   1638 } VkPipelineColorBlendAttachmentState;
   1639 
   1640 typedef struct {
   1641 	VkStructureType                            sType;
   1642 	const void                                *pNext;
   1643 	VkPipelineColorBlendStateCreateFlags       flags;
   1644 	VkBool32                                   logicOpEnable;
   1645 	VkLogicOp                                  logicOp;
   1646 	uint32_t                                   attachmentCount;
   1647 	const VkPipelineColorBlendAttachmentState *pAttachments;
   1648 	float                                      blendConstants[4];
   1649 } VkPipelineColorBlendStateCreateInfo;
   1650 
   1651 typedef struct {
   1652 	VkStructureType                    sType;
   1653 	const void                        *pNext;
   1654 	VkPipelineDynamicStateCreateFlags  flags;
   1655 	uint32_t                           dynamicStateCount;
   1656 	const VkDynamicState              *pDynamicStates;
   1657 } VkPipelineDynamicStateCreateInfo;
   1658 
   1659 typedef struct {
   1660 	uint32_t          binding;
   1661 	uint32_t          stride;
   1662 	VkVertexInputRate inputRate;
   1663 } VkVertexInputBindingDescription;
   1664 
   1665 typedef struct {
   1666 	uint32_t location;
   1667 	uint32_t binding;
   1668 	VkFormat format;
   1669 	uint32_t offset;
   1670 } VkVertexInputAttributeDescription;
   1671 
   1672 typedef struct {
   1673 	VkStructureType                          sType;
   1674 	const void                              *pNext;
   1675 	VkPipelineVertexInputStateCreateFlags    flags;
   1676 	uint32_t                                 vertexBindingDescriptionCount;
   1677 	const VkVertexInputBindingDescription   *pVertexBindingDescriptions;
   1678 	uint32_t                                 vertexAttributeDescriptionCount;
   1679 	const VkVertexInputAttributeDescription *pVertexAttributeDescriptions;
   1680 } VkPipelineVertexInputStateCreateInfo;
   1681 
   1682 typedef struct {
   1683 	VkStructureType                          sType;
   1684 	const void                              *pNext;
   1685 	VkPipelineInputAssemblyStateCreateFlags  flags;
   1686 	VkPrimitiveTopology                      topology;
   1687 	VkBool32                                 primitiveRestartEnable;
   1688 } VkPipelineInputAssemblyStateCreateInfo;
   1689 
   1690 typedef struct {
   1691     VkStructureType                         sType;
   1692     const void                             *pNext;
   1693     VkPipelineTessellationStateCreateFlags  flags;
   1694     uint32_t                                patchControlPoints;
   1695 } VkPipelineTessellationStateCreateInfo;
   1696 
   1697 typedef struct VkPipelineViewportStateCreateInfo {
   1698 	VkStructureType                     sType;
   1699 	const void                         *pNext;
   1700 	VkPipelineViewportStateCreateFlags  flags;
   1701 	uint32_t                            viewportCount;
   1702 	const VkViewport                   *pViewports;
   1703 	uint32_t                            scissorCount;
   1704 	const VkRect2D                     *pScissors;
   1705 } VkPipelineViewportStateCreateInfo;
   1706 
   1707 typedef struct {
   1708 	VkStructureType                          sType;
   1709 	const void                              *pNext;
   1710 	VkPipelineRasterizationStateCreateFlags  flags;
   1711 	VkBool32                                 depthClampEnable;
   1712 	VkBool32                                 rasterizerDiscardEnable;
   1713 	VkPolygonMode                            polygonMode;
   1714 	VkCullModeFlags                          cullMode;
   1715 	VkFrontFace                              frontFace;
   1716 	VkBool32                                 depthBiasEnable;
   1717 	float                                    depthBiasConstantFactor;
   1718 	float                                    depthBiasClamp;
   1719 	float                                    depthBiasSlopeFactor;
   1720 	float                                    lineWidth;
   1721 } VkPipelineRasterizationStateCreateInfo;
   1722 
   1723 typedef struct {
   1724 	VkStructureType                        sType;
   1725 	const void                            *pNext;
   1726 	VkPipelineMultisampleStateCreateFlags  flags;
   1727 	VkSampleCountFlagBits                  rasterizationSamples;
   1728 	VkBool32                               sampleShadingEnable;
   1729 	float                                  minSampleShading;
   1730 	const VkSampleMask                    *pSampleMask;
   1731 	VkBool32                               alphaToCoverageEnable;
   1732 	VkBool32                               alphaToOneEnable;
   1733 } VkPipelineMultisampleStateCreateInfo;
   1734 
   1735 typedef struct {
   1736 	VkShaderStageFlags stageFlags;
   1737 	uint32_t           offset;
   1738 	uint32_t           size;
   1739 } VkPushConstantRange;
   1740 
   1741 typedef struct {
   1742 	VkStructureType              sType;
   1743 	const void                  *pNext;
   1744 	VkPipelineLayoutCreateFlags  flags;
   1745 	uint32_t                     setLayoutCount;
   1746 	const VkDescriptorSetLayout *pSetLayouts;
   1747 	uint32_t                     pushConstantRangeCount;
   1748 	const VkPushConstantRange   *pPushConstantRanges;
   1749 } VkPipelineLayoutCreateInfo;
   1750 
   1751 typedef struct {
   1752 	VkAttachmentDescriptionFlags flags;
   1753 	VkFormat                     format;
   1754 	VkSampleCountFlagBits        samples;
   1755 	VkAttachmentLoadOp           loadOp;
   1756 	VkAttachmentStoreOp          storeOp;
   1757 	VkAttachmentLoadOp           stencilLoadOp;
   1758 	VkAttachmentStoreOp          stencilStoreOp;
   1759 	VkImageLayout                initialLayout;
   1760 	VkImageLayout                finalLayout;
   1761 } VkAttachmentDescription;
   1762 
   1763 typedef struct {
   1764 	uint32_t      attachment;
   1765 	VkImageLayout layout;
   1766 } VkAttachmentReference;
   1767 
   1768 typedef struct {
   1769 	VkStructureType           sType;
   1770 	const void               *pNext;
   1771 	VkFramebufferCreateFlags  flags;
   1772 	VkRenderPass              renderPass;
   1773 	uint32_t                  attachmentCount;
   1774 	const VkImageView        *pAttachments;
   1775 	uint32_t                  width;
   1776 	uint32_t                  height;
   1777 	uint32_t                  layers;
   1778 } VkFramebufferCreateInfo;
   1779 
   1780 typedef struct {
   1781 	VkSubpassDescriptionFlags    flags;
   1782 	VkPipelineBindPoint          pipelineBindPoint;
   1783 	uint32_t                     inputAttachmentCount;
   1784 	const VkAttachmentReference *pInputAttachments;
   1785 	uint32_t                     colorAttachmentCount;
   1786 	const VkAttachmentReference *pColorAttachments;
   1787 	const VkAttachmentReference *pResolveAttachments;
   1788 	const VkAttachmentReference *pDepthStencilAttachment;
   1789 	uint32_t                     preserveAttachmentCount;
   1790 	const uint32_t              *pPreserveAttachments;
   1791 } VkSubpassDescription;
   1792 
   1793 typedef struct {
   1794 	uint32_t             srcSubpass;
   1795 	uint32_t             dstSubpass;
   1796 	VkPipelineStageFlags srcStageMask;
   1797 	VkPipelineStageFlags dstStageMask;
   1798 	VkAccessFlags        srcAccessMask;
   1799 	VkAccessFlags        dstAccessMask;
   1800 	VkDependencyFlags    dependencyFlags;
   1801 } VkSubpassDependency;
   1802 
   1803 typedef struct {
   1804 	VkStructureType                sType;
   1805 	const void                    *pNext;
   1806 	VkRenderPassCreateFlags        flags;
   1807 	uint32_t                       attachmentCount;
   1808 	const VkAttachmentDescription *pAttachments;
   1809 	uint32_t                       subpassCount;
   1810 	const VkSubpassDescription    *pSubpasses;
   1811 	uint32_t                       dependencyCount;
   1812 	const VkSubpassDependency     *pDependencies;
   1813 } VkRenderPassCreateInfo;
   1814 
   1815 typedef struct {
   1816 	VkStructureType           sType;
   1817 	const void               *pNext;
   1818 	VkCommandPoolCreateFlags  flags;
   1819 	uint32_t                  queueFamilyIndex;
   1820 } VkCommandPoolCreateInfo;
   1821 
   1822 typedef struct {
   1823 	VkStructureType       sType;
   1824 	const void           *pNext;
   1825 	VkCommandPool         commandPool;
   1826 	VkCommandBufferLevel  level;
   1827 	uint32_t              commandBufferCount;
   1828 } VkCommandBufferAllocateInfo;
   1829 
   1830 typedef struct {
   1831 	VkStructureType                sType;
   1832 	const void                    *pNext;
   1833 	VkRenderPass                   renderPass;
   1834 	uint32_t                       subpass;
   1835 	VkFramebuffer                  framebuffer;
   1836 	VkBool32                       occlusionQueryEnable;
   1837 	VkQueryControlFlags            queryFlags;
   1838 	VkQueryPipelineStatisticFlags  pipelineStatistics;
   1839 } VkCommandBufferInheritanceInfo;
   1840 
   1841 typedef struct {
   1842 	VkStructureType                       sType;
   1843 	const void                           *pNext;
   1844 	VkCommandBufferUsageFlags             flags;
   1845 	const VkCommandBufferInheritanceInfo *pInheritanceInfo;
   1846 } VkCommandBufferBeginInfo;
   1847 
   1848 typedef union {
   1849 	float    float32[4];
   1850 	int32_t  int32[4];
   1851 	uint32_t uint32[4];
   1852 } VkClearColorValue;
   1853 
   1854 typedef struct {
   1855 	float    depth;
   1856 	uint32_t stencil;
   1857 } VkClearDepthStencilValue;
   1858 
   1859 typedef union {
   1860 	VkClearColorValue        color;
   1861 	VkClearDepthStencilValue depthStencil;
   1862 } VkClearValue;
   1863 
   1864 typedef struct {
   1865 	VkStructureType                               sType;
   1866 	const void                                   *pNext;
   1867 	VkPipelineCreateFlags                         flags;
   1868 	uint32_t                                      stageCount;
   1869 	const VkPipelineShaderStageCreateInfo        *pStages;
   1870 	const VkPipelineVertexInputStateCreateInfo   *pVertexInputState;
   1871 	const VkPipelineInputAssemblyStateCreateInfo *pInputAssemblyState;
   1872 	const VkPipelineTessellationStateCreateInfo  *pTessellationState;
   1873 	const VkPipelineViewportStateCreateInfo      *pViewportState;
   1874 	const VkPipelineRasterizationStateCreateInfo *pRasterizationState;
   1875 	const VkPipelineMultisampleStateCreateInfo   *pMultisampleState;
   1876 	const VkPipelineDepthStencilStateCreateInfo  *pDepthStencilState;
   1877 	const VkPipelineColorBlendStateCreateInfo    *pColorBlendState;
   1878 	const VkPipelineDynamicStateCreateInfo       *pDynamicState;
   1879 	VkPipelineLayout                              layout;
   1880 	VkRenderPass                                  renderPass;
   1881 	uint32_t                                      subpass;
   1882 	VkPipeline                                    basePipelineHandle;
   1883 	int32_t                                       basePipelineIndex;
   1884 } VkGraphicsPipelineCreateInfo;
   1885 
   1886 typedef void *vkAllocationFunction(void *pUserData, size_t size, size_t alignment,
   1887                                    VkSystemAllocationScope allocationScope);
   1888 
   1889 typedef void vkFreeFunction(void *pUserData, void *pMemory);
   1890 
   1891 typedef void vkInternalAllocationNotification(void *pUserData, size_t size,
   1892                                               VkInternalAllocationType allocationType,
   1893                                               VkSystemAllocationScope  allocationScope);
   1894 
   1895 typedef void vkInternalFreeNotification(void *pUserData, size_t size,
   1896                                         VkInternalAllocationType allocationType,
   1897                                         VkSystemAllocationScope  allocationScope);
   1898 
   1899 typedef void *vkReallocationFunction(void *pUserData, void *pOriginal, size_t size, size_t alignment,
   1900                                      VkSystemAllocationScope allocationScope);
   1901 
   1902 typedef struct {
   1903 	void                             *UserData;
   1904 	vkAllocationFunction             *Allocation;
   1905 	vkReallocationFunction           *Reallocation;
   1906 	vkFreeFunction                   *Free;
   1907 	vkInternalAllocationNotification *InternalAllocation;
   1908 	vkInternalFreeNotification       *InternalFree;
   1909 } VkAllocationCallbacks;
   1910 
   1911 typedef struct {
   1912 	VkStructureType     sType;
   1913 	const void         *pNext;
   1914 	VkRenderPass        renderPass;
   1915 	VkFramebuffer       framebuffer;
   1916 	VkRect2D            renderArea;
   1917 	uint32_t            clearValueCount;
   1918 	const VkClearValue *pClearValues;
   1919 } VkRenderPassBeginInfo;
   1920 
   1921 VkResult vkCreateInstance(const VkInstanceCreateInfo  *pCreateInfo,
   1922                           const VkAllocationCallbacks *pAllocator,
   1923                           VkInstance                  *pInstance);
   1924 
   1925 VkResult vkCreateDevice(VkPhysicalDevice             physicalDevice,
   1926                         const VkDeviceCreateInfo    *pCreateInfo,
   1927                         const VkAllocationCallbacks *pAllocator,
   1928                         VkDevice                    *pDevice);
   1929 
   1930 VkResult vkEnumerateInstanceExtensionProperties(const char            *pLayerName,
   1931                                                 uint32_t              *pPropertyCount,
   1932                                                 VkExtensionProperties *pProperties);
   1933 VkResult vkEnumerateInstanceLayerProperties(uint32_t          *pPropertyCount,
   1934                                             VkLayerProperties *pProperties);
   1935 VkResult vkEnumeratePhysicalDevices(VkInstance        instance,
   1936                                     uint32_t         *pPhysicalDeviceCount,
   1937                                     VkPhysicalDevice *pPhysicalDevices);
   1938 VkResult vkEnumerateDeviceExtensionProperties(VkPhysicalDevice       physicalDevice,
   1939                                               const char            *pLayerName,
   1940                                               uint32_t              *pPropertyCount,
   1941                                               VkExtensionProperties *pProperties);
   1942 
   1943 void vkGetPhysicalDeviceProperties(VkPhysicalDevice            physicalDevice,
   1944                                    VkPhysicalDeviceProperties *pProperties);
   1945 VkResult vkGetPhysicalDeviceSurfaceSupportKHR(VkPhysicalDevice  physicalDevice,
   1946                                               uint32_t          queueFamilyIndex,
   1947                                               VkSurfaceKHR      surface,
   1948                                               VkBool32         *pSupported);
   1949 
   1950 VkResult vkGetPhysicalDeviceSurfaceCapabilitiesKHR(VkPhysicalDevice          physicalDevice,
   1951                                                    VkSurfaceKHR              surface,
   1952                                                    VkSurfaceCapabilitiesKHR *pSurfaceCapabilities);
   1953 
   1954 VkResult vkGetPhysicalDeviceSurfaceFormatsKHR(VkPhysicalDevice    physicalDevice,
   1955                                               VkSurfaceKHR        surface,
   1956                                               uint32_t           *pSurfaceFormatCount,
   1957                                               VkSurfaceFormatKHR *pSurfaceFormats);
   1958 
   1959 VkResult vkGetPhysicalDeviceSurfacePresentModesKHR(VkPhysicalDevice  physicalDevice,
   1960                                                    VkSurfaceKHR      surface,
   1961                                                    uint32_t         *pPresentModeCount,
   1962                                                    VkPresentModeKHR *pPresentModes);
   1963 
   1964 void vkGetPhysicalDeviceQueueFamilyProperties(VkPhysicalDevice         physicalDevice,
   1965                                               uint32_t                *pQueueFamilyPropertyCount,
   1966                                               VkQueueFamilyProperties *pQueueFamilyProperties);
   1967 
   1968 void vkGetDeviceQueue(VkDevice  device,
   1969                       uint32_t  queueFamilyIndex,
   1970                       uint32_t  queueIndex,
   1971                       VkQueue  *pQueue);
   1972 
   1973 VkResult vkQueueSubmit(VkQueue             queue,
   1974                        uint32_t            submitCount,
   1975                        const VkSubmitInfo *pSubmits,
   1976                        VkFence             fence);
   1977 
   1978 VkResult vkDeviceWaitIdle(VkDevice device);
   1979 
   1980 VkResult vkCreateSwapchainKHR(VkDevice                        device,
   1981                               const VkSwapchainCreateInfoKHR *pCreateInfo,
   1982                               const VkAllocationCallbacks    *pAllocator,
   1983                               VkSwapchainKHR                 *pSwapchain);
   1984 
   1985 void vkDestroySwapchainKHR(VkDevice                     device,
   1986                            VkSwapchainKHR               swapchain,
   1987                            const VkAllocationCallbacks *pAllocator);
   1988 
   1989 VkResult vkGetSwapchainImagesKHR(VkDevice        device,
   1990                                  VkSwapchainKHR  swapchain,
   1991                                  uint32_t       *pSwapchainImageCount,
   1992                                  VkImage        *pSwapchainImages);
   1993 
   1994 VkResult vkAcquireNextImageKHR(VkDevice        device,
   1995                                VkSwapchainKHR  swapchain,
   1996                                uint64_t        timeout,
   1997                                VkSemaphore     semaphore,
   1998                                VkFence         fence,
   1999                                uint32_t       *pImageIndex);
   2000 
   2001 VkResult vkQueuePresentKHR(VkQueue queue, const VkPresentInfoKHR *pPresentInfo);
   2002 
   2003 VkResult vkCreateFence(VkDevice                     device,
   2004                        const VkFenceCreateInfo     *pCreateInfo,
   2005                        const VkAllocationCallbacks *pAllocator,
   2006                        VkFence                     *pFence);
   2007 
   2008 void vkDestroyFence(VkDevice                     device,
   2009                     VkFence                      fence,
   2010                     const VkAllocationCallbacks *pAllocator);
   2011 
   2012 VkResult vkResetFences(VkDevice device, uint32_t fenceCount, const VkFence *pFences);
   2013 VkResult vkGetFenceStatus(VkDevice device, VkFence fence);
   2014 
   2015 VkResult vkWaitForFences(VkDevice       device,
   2016                          uint32_t       fenceCount,
   2017                          const VkFence *pFences,
   2018                          VkBool32       waitAll,
   2019                          uint64_t       timeout);
   2020 
   2021 VkResult vkCreateSemaphore(VkDevice                     device,
   2022                            const VkSemaphoreCreateInfo *pCreateInfo,
   2023                            const VkAllocationCallbacks *pAllocator,
   2024                            VkSemaphore                 *pSemaphore);
   2025 
   2026 void vkDestroySemaphore(VkDevice                     device,
   2027                         VkSemaphore                  semaphore,
   2028                         const VkAllocationCallbacks *pAllocator);
   2029 
   2030 VkResult vkCreateImageView(VkDevice                     device,
   2031                            const VkImageViewCreateInfo *pCreateInfo,
   2032                            const VkAllocationCallbacks *pAllocator,
   2033                            VkImageView                 *pView);
   2034 
   2035 void vkDestroyImageView(VkDevice                     device,
   2036                         VkImageView                  imageView,
   2037                         const VkAllocationCallbacks *pAllocator);
   2038 
   2039 VkResult vkCreateShaderModule(VkDevice                        device,
   2040                               const VkShaderModuleCreateInfo *pCreateInfo,
   2041                               const VkAllocationCallbacks    *pAllocator,
   2042                               VkShaderModule                 *pShaderModule);
   2043 
   2044 void vkDestroyShaderModule(VkDevice                     device,
   2045                            VkShaderModule               shaderModule,
   2046                            const VkAllocationCallbacks *pAllocator);
   2047 
   2048 VkResult vkCreateGraphicsPipelines(VkDevice                            device,
   2049                                    VkPipelineCache                     pipelineCache,
   2050                                    uint32_t                            createInfoCount,
   2051                                    const VkGraphicsPipelineCreateInfo *pCreateInfos,
   2052                                    const VkAllocationCallbacks        *pAllocator,
   2053                                    VkPipeline                         *pPipelines);
   2054 
   2055 VkResult vkCreateComputePipelines(VkDevice                           device,
   2056                                   VkPipelineCache                    pipelineCache,
   2057                                   uint32_t                           createInfoCount,
   2058                                   const VkComputePipelineCreateInfo *pCreateInfos,
   2059                                   const VkAllocationCallbacks       *pAllocator,
   2060                                   VkPipeline                        *pPipelines);
   2061 
   2062 void vkDestroyPipeline(VkDevice                     device,
   2063                        VkPipeline                   pipeline,
   2064                        const VkAllocationCallbacks *pAllocator);
   2065 
   2066 VkResult vkCreatePipelineLayout(VkDevice                          device,
   2067                                 const VkPipelineLayoutCreateInfo *pCreateInfo,
   2068                                 const VkAllocationCallbacks      *pAllocator,
   2069                                 VkPipelineLayout                 *pPipelineLayout);
   2070 
   2071 void vkDestroyPipelineLayout(VkDevice                     device,
   2072                              VkPipelineLayout             pipelineLayout,
   2073                              const VkAllocationCallbacks *pAllocator);
   2074 
   2075 VkResult vkCreateRenderPass(VkDevice                      device,
   2076                             const VkRenderPassCreateInfo *pCreateInfo,
   2077                             const VkAllocationCallbacks  *pAllocator,
   2078                             VkRenderPass                 *pRenderPass);
   2079 
   2080 void vkDestroyRenderPass(VkDevice                     device,
   2081                          VkRenderPass                 renderPass,
   2082                          const VkAllocationCallbacks *pAllocator);
   2083 
   2084 VkResult vkCreateFramebuffer(VkDevice                       device,
   2085                              const VkFramebufferCreateInfo *pCreateInfo,
   2086                              const VkAllocationCallbacks   *pAllocator,
   2087                              VkFramebuffer                 *pFramebuffer);
   2088 
   2089 void vkDestroyFramebuffer(VkDevice                     device,
   2090                           VkFramebuffer                framebuffer,
   2091                           const VkAllocationCallbacks *pAllocator);
   2092 
   2093 VkResult vkCreateCommandPool(VkDevice                       device,
   2094                              const VkCommandPoolCreateInfo *pCreateInfo,
   2095                              const VkAllocationCallbacks   *pAllocator,
   2096                              VkCommandPool                 *pCommandPool);
   2097 
   2098 VkResult vkAllocateCommandBuffers(VkDevice                           device,
   2099                                   const VkCommandBufferAllocateInfo *pAllocateInfo,
   2100                                   VkCommandBuffer                   *pCommandBuffers);
   2101 
   2102 VkResult vkBeginCommandBuffer(VkCommandBuffer                 commandBuffer,
   2103                               const VkCommandBufferBeginInfo *pBeginInfo);
   2104 VkResult vkEndCommandBuffer(VkCommandBuffer commandBuffer);
   2105 VkResult vkResetCommandBuffer(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags);
   2106 
   2107 void vkCmdBindPipeline(VkCommandBuffer     commandBuffer,
   2108                        VkPipelineBindPoint pipelineBindPoint,
   2109                        VkPipeline          pipeline);
   2110 
   2111 void vkCmdSetViewport(VkCommandBuffer   commandBuffer,
   2112                       uint32_t          firstViewport,
   2113                       uint32_t          viewportCount,
   2114                       const VkViewport *pViewports);
   2115 
   2116 void vkCmdSetScissor(VkCommandBuffer  commandBuffer,
   2117                      uint32_t         firstScissor,
   2118                      uint32_t         scissorCount,
   2119                      const VkRect2D  *pScissors);
   2120 
   2121 void vkCmdBeginRenderPass(VkCommandBuffer              commandBuffer,
   2122                           const VkRenderPassBeginInfo *pRenderPassBegin,
   2123                           VkSubpassContents            contents);
   2124 void vkCmdEndRenderPass(VkCommandBuffer commandBuffer);
   2125 
   2126 void vkCmdDraw(VkCommandBuffer commandBuffer,
   2127                uint32_t        vertexCount,
   2128                uint32_t        instanceCount,
   2129                uint32_t        firstVertex,
   2130                uint32_t        firstInstance);