raygui-widget
vulkan.h
1 
28 #ifndef GLAD_VULKAN_H_
29 #define GLAD_VULKAN_H_
30 
31 #ifdef VULKAN_H_
32  #error header already included (API: vulkan), remove previous include!
33 #endif
34 #define VULKAN_H_ 1
35 
36 #ifdef VULKAN_CORE_H_
37  #error header already included (API: vulkan), remove previous include!
38 #endif
39 #define VULKAN_CORE_H_ 1
40 
41 
42 #define GLAD_VULKAN
43 #define GLAD_OPTION_VULKAN_HEADER_ONLY
44 
45 #ifdef __cplusplus
46 extern "C" {
47 #endif
48 
49 #ifndef GLAD_PLATFORM_H_
50 #define GLAD_PLATFORM_H_
51 
52 #ifndef GLAD_PLATFORM_WIN32
53  #if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__MINGW32__)
54  #define GLAD_PLATFORM_WIN32 1
55  #else
56  #define GLAD_PLATFORM_WIN32 0
57  #endif
58 #endif
59 
60 #ifndef GLAD_PLATFORM_APPLE
61  #ifdef __APPLE__
62  #define GLAD_PLATFORM_APPLE 1
63  #else
64  #define GLAD_PLATFORM_APPLE 0
65  #endif
66 #endif
67 
68 #ifndef GLAD_PLATFORM_EMSCRIPTEN
69  #ifdef __EMSCRIPTEN__
70  #define GLAD_PLATFORM_EMSCRIPTEN 1
71  #else
72  #define GLAD_PLATFORM_EMSCRIPTEN 0
73  #endif
74 #endif
75 
76 #ifndef GLAD_PLATFORM_UWP
77  #if defined(_MSC_VER) && !defined(GLAD_INTERNAL_HAVE_WINAPIFAMILY)
78  #ifdef __has_include
79  #if __has_include(<winapifamily.h>)
80  #define GLAD_INTERNAL_HAVE_WINAPIFAMILY 1
81  #endif
82  #elif _MSC_VER >= 1700 && !_USING_V110_SDK71_
83  #define GLAD_INTERNAL_HAVE_WINAPIFAMILY 1
84  #endif
85  #endif
86 
87  #ifdef GLAD_INTERNAL_HAVE_WINAPIFAMILY
88  #include <winapifamily.h>
89  #if !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) && WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
90  #define GLAD_PLATFORM_UWP 1
91  #endif
92  #endif
93 
94  #ifndef GLAD_PLATFORM_UWP
95  #define GLAD_PLATFORM_UWP 0
96  #endif
97 #endif
98 
99 #ifdef __GNUC__
100  #define GLAD_GNUC_EXTENSION __extension__
101 #else
102  #define GLAD_GNUC_EXTENSION
103 #endif
104 
105 #ifndef GLAD_API_CALL
106  #if defined(GLAD_API_CALL_EXPORT)
107  #if GLAD_PLATFORM_WIN32 || defined(__CYGWIN__)
108  #if defined(GLAD_API_CALL_EXPORT_BUILD)
109  #if defined(__GNUC__)
110  #define GLAD_API_CALL __attribute__ ((dllexport)) extern
111  #else
112  #define GLAD_API_CALL __declspec(dllexport) extern
113  #endif
114  #else
115  #if defined(__GNUC__)
116  #define GLAD_API_CALL __attribute__ ((dllimport)) extern
117  #else
118  #define GLAD_API_CALL __declspec(dllimport) extern
119  #endif
120  #endif
121  #elif defined(__GNUC__) && defined(GLAD_API_CALL_EXPORT_BUILD)
122  #define GLAD_API_CALL __attribute__ ((visibility ("default"))) extern
123  #else
124  #define GLAD_API_CALL extern
125  #endif
126  #else
127  #define GLAD_API_CALL extern
128  #endif
129 #endif
130 
131 #ifdef APIENTRY
132  #define GLAD_API_PTR APIENTRY
133 #elif GLAD_PLATFORM_WIN32
134  #define GLAD_API_PTR __stdcall
135 #else
136  #define GLAD_API_PTR
137 #endif
138 
139 #ifndef GLAPI
140 #define GLAPI GLAD_API_CALL
141 #endif
142 
143 #ifndef GLAPIENTRY
144 #define GLAPIENTRY GLAD_API_PTR
145 #endif
146 
147 #define GLAD_MAKE_VERSION(major, minor) (major * 10000 + minor)
148 #define GLAD_VERSION_MAJOR(version) (version / 10000)
149 #define GLAD_VERSION_MINOR(version) (version % 10000)
150 
151 #define GLAD_GENERATOR_VERSION "2.0.0-beta"
152 
153 typedef void (*GLADapiproc)(void);
154 
155 typedef GLADapiproc (*GLADloadfunc)(const char *name);
156 typedef GLADapiproc (*GLADuserptrloadfunc)(void *userptr, const char *name);
157 
158 typedef void (*GLADprecallback)(const char *name, GLADapiproc apiproc, int len_args, ...);
159 typedef void (*GLADpostcallback)(void *ret, const char *name, GLADapiproc apiproc, int len_args, ...);
160 
161 #endif /* GLAD_PLATFORM_H_ */
162 
163 #define VK_ATTACHMENT_UNUSED (~0U)
164 #define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report"
165 #define VK_EXT_DEBUG_REPORT_SPEC_VERSION 10
166 #define VK_FALSE 0
167 #define VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME "VK_KHR_portability_enumeration"
168 #define VK_KHR_PORTABILITY_ENUMERATION_SPEC_VERSION 1
169 #define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface"
170 #define VK_KHR_SURFACE_SPEC_VERSION 25
171 #define VK_KHR_SWAPCHAIN_EXTENSION_NAME "VK_KHR_swapchain"
172 #define VK_KHR_SWAPCHAIN_SPEC_VERSION 70
173 #define VK_LOD_CLAMP_NONE 1000.0F
174 #define VK_LUID_SIZE 8
175 #define VK_MAX_DESCRIPTION_SIZE 256
176 #define VK_MAX_DEVICE_GROUP_SIZE 32
177 #define VK_MAX_DRIVER_INFO_SIZE 256
178 #define VK_MAX_DRIVER_NAME_SIZE 256
179 #define VK_MAX_EXTENSION_NAME_SIZE 256
180 #define VK_MAX_MEMORY_HEAPS 16
181 #define VK_MAX_MEMORY_TYPES 32
182 #define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE 256
183 #define VK_QUEUE_FAMILY_EXTERNAL (~1U)
184 #define VK_QUEUE_FAMILY_IGNORED (~0U)
185 #define VK_REMAINING_ARRAY_LAYERS (~0U)
186 #define VK_REMAINING_MIP_LEVELS (~0U)
187 #define VK_SUBPASS_EXTERNAL (~0U)
188 #define VK_TRUE 1
189 #define VK_UUID_SIZE 16
190 #define VK_WHOLE_SIZE (~0ULL)
191 
192 
193 /* */
194 /* File: vk_platform.h */
195 /* */
196 /*
197 ** Copyright 2014-2022 The Khronos Group Inc.
198 **
199 ** SPDX-License-Identifier: Apache-2.0
200 */
201 
202 
203 #ifndef VK_PLATFORM_H_
204 #define VK_PLATFORM_H_
205 
206 #ifdef __cplusplus
207 extern "C"
208 {
209 #endif /* __cplusplus */
210 
211 /*
212 ***************************************************************************************************
213 * Platform-specific directives and type declarations
214 ***************************************************************************************************
215 */
216 
217 /* Platform-specific calling convention macros.
218  *
219  * Platforms should define these so that Vulkan clients call Vulkan commands
220  * with the same calling conventions that the Vulkan implementation expects.
221  *
222  * VKAPI_ATTR - Placed before the return type in function declarations.
223  * Useful for C++11 and GCC/Clang-style function attribute syntax.
224  * VKAPI_CALL - Placed after the return type in function declarations.
225  * Useful for MSVC-style calling convention syntax.
226  * VKAPI_PTR - Placed between the '(' and '*' in function pointer types.
227  *
228  * Function declaration: VKAPI_ATTR void VKAPI_CALL vkCommand(void);
229  * Function pointer type: typedef void (VKAPI_PTR *PFN_vkCommand)(void);
230  */
231 #if defined(_WIN32)
232  /* On Windows, Vulkan commands use the stdcall convention */
233  #define VKAPI_ATTR
234  #define VKAPI_CALL __stdcall
235  #define VKAPI_PTR VKAPI_CALL
236 #elif defined(__ANDROID__) && defined(__ARM_ARCH) && __ARM_ARCH < 7
237  #error "Vulkan is not supported for the 'armeabi' NDK ABI"
238 #elif defined(__ANDROID__) && defined(__ARM_ARCH) && __ARM_ARCH >= 7 && defined(__ARM_32BIT_STATE)
239  /* On Android 32-bit ARM targets, Vulkan functions use the "hardfloat" */
240  /* calling convention, i.e. float parameters are passed in registers. This */
241  /* is true even if the rest of the application passes floats on the stack, */
242  /* as it does by default when compiling for the armeabi-v7a NDK ABI. */
243  #define VKAPI_ATTR __attribute__((pcs("aapcs-vfp")))
244  #define VKAPI_CALL
245  #define VKAPI_PTR VKAPI_ATTR
246 #else
247  /* On other platforms, use the default calling convention */
248  #define VKAPI_ATTR
249  #define VKAPI_CALL
250  #define VKAPI_PTR
251 #endif
252 
253 #if !defined(VK_NO_STDDEF_H)
254  #include <stddef.h>
255 #endif /* !defined(VK_NO_STDDEF_H) */
256 
257 #if !defined(VK_NO_STDINT_H)
258  #if defined(_MSC_VER) && (_MSC_VER < 1600)
259  typedef signed __int8 int8_t;
260  typedef unsigned __int8 uint8_t;
261  typedef signed __int16 int16_t;
262  typedef unsigned __int16 uint16_t;
263  typedef signed __int32 int32_t;
264  typedef unsigned __int32 uint32_t;
265  typedef signed __int64 int64_t;
266  typedef unsigned __int64 uint64_t;
267  #else
268  #include <stdint.h>
269  #endif
270 #endif /* !defined(VK_NO_STDINT_H) */
271 
272 #ifdef __cplusplus
273 } /* extern "C" */
274 #endif /* __cplusplus */
275 
276 #endif
277 /* DEPRECATED: This define is deprecated. VK_MAKE_API_VERSION should be used instead. */
278 #define VK_MAKE_VERSION(major, minor, patch) \
279  ((((uint32_t)(major)) << 22) | (((uint32_t)(minor)) << 12) | ((uint32_t)(patch)))
280 /* DEPRECATED: This define is deprecated. VK_API_VERSION_MAJOR should be used instead. */
281 #define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22)
282 /* DEPRECATED: This define is deprecated. VK_API_VERSION_MINOR should be used instead. */
283 #define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3FFU)
284 /* DEPRECATED: This define is deprecated. VK_API_VERSION_PATCH should be used instead. */
285 #define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU)
286 #define VK_MAKE_API_VERSION(variant, major, minor, patch) \
287  ((((uint32_t)(variant)) << 29) | (((uint32_t)(major)) << 22) | (((uint32_t)(minor)) << 12) | ((uint32_t)(patch)))
288 #define VK_API_VERSION_VARIANT(version) ((uint32_t)(version) >> 29)
289 #define VK_API_VERSION_MAJOR(version) (((uint32_t)(version) >> 22) & 0x7FU)
290 #define VK_API_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3FFU)
291 #define VK_API_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU)
292 /* DEPRECATED: This define has been removed. Specific version defines (e.g. VK_API_VERSION_1_0), or the VK_MAKE_VERSION macro, should be used instead. */
293 /*#define VK_API_VERSION VK_MAKE_VERSION(1, 0, 0) // Patch version should always be set to 0 */
294 /* Vulkan 1.0 version number */
295 #define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)/* Patch version should always be set to 0 */
296 /* Vulkan 1.1 version number */
297 #define VK_API_VERSION_1_1 VK_MAKE_API_VERSION(0, 1, 1, 0)/* Patch version should always be set to 0 */
298 /* Vulkan 1.2 version number */
299 #define VK_API_VERSION_1_2 VK_MAKE_API_VERSION(0, 1, 2, 0)/* Patch version should always be set to 0 */
300 /* Vulkan 1.3 version number */
301 #define VK_API_VERSION_1_3 VK_MAKE_API_VERSION(0, 1, 3, 0)/* Patch version should always be set to 0 */
302 /* Version of this file */
303 #define VK_HEADER_VERSION 220
304 /* Complete version of this file */
305 #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION)
306 #define VK_DEFINE_HANDLE(object) typedef struct object##_T* object;
307 #ifndef VK_USE_64_BIT_PTR_DEFINES
308  #if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__)
309  #define VK_USE_64_BIT_PTR_DEFINES 1
310  #else
311  #define VK_USE_64_BIT_PTR_DEFINES 0
312  #endif
313 #endif
314 #ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE
315  #if (VK_USE_64_BIT_PTR_DEFINES==1)
316  #if (defined(__cplusplus) && (__cplusplus >= 201103L)) || (defined(_MSVC_LANG) && (_MSVC_LANG >= 201103L))
317  #define VK_NULL_HANDLE nullptr
318  #else
319  #define VK_NULL_HANDLE ((void*)0)
320  #endif
321  #else
322  #define VK_NULL_HANDLE 0ULL
323  #endif
324 #endif
325 #ifndef VK_NULL_HANDLE
326  #define VK_NULL_HANDLE 0
327 #endif
328 #ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE
329  #if (VK_USE_64_BIT_PTR_DEFINES==1)
330  #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object;
331  #else
332  #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t object;
333  #endif
334 #endif
335 
336 
337 
338 
339 
340 
341 
342 
343 VK_DEFINE_HANDLE(VkInstance)
344 VK_DEFINE_HANDLE(VkPhysicalDevice)
345 VK_DEFINE_HANDLE(VkDevice)
346 VK_DEFINE_HANDLE(VkQueue)
347 VK_DEFINE_HANDLE(VkCommandBuffer)
348 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeviceMemory)
349 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool)
350 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer)
351 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferView)
352 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage)
353 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImageView)
354 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderModule)
355 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipeline)
356 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineLayout)
357 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSampler)
358 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSet)
359 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout)
360 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool)
361 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFence)
362 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphore)
363 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkEvent)
364 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkQueryPool)
365 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer)
366 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass)
367 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache)
368 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate)
369 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion)
370 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPrivateDataSlot)
371 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR)
372 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR)
373 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT)
374 typedef enum VkAttachmentLoadOp {
375  VK_ATTACHMENT_LOAD_OP_LOAD = 0,
376  VK_ATTACHMENT_LOAD_OP_CLEAR = 1,
377  VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2,
378  VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7FFFFFFF
379 } VkAttachmentLoadOp;
380 typedef enum VkAttachmentStoreOp {
381  VK_ATTACHMENT_STORE_OP_STORE = 0,
382  VK_ATTACHMENT_STORE_OP_DONT_CARE = 1,
383  VK_ATTACHMENT_STORE_OP_NONE = 1000301000,
384  VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF
385 } VkAttachmentStoreOp;
386 typedef enum VkBlendFactor {
387  VK_BLEND_FACTOR_ZERO = 0,
388  VK_BLEND_FACTOR_ONE = 1,
389  VK_BLEND_FACTOR_SRC_COLOR = 2,
390  VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3,
391  VK_BLEND_FACTOR_DST_COLOR = 4,
392  VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5,
393  VK_BLEND_FACTOR_SRC_ALPHA = 6,
394  VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7,
395  VK_BLEND_FACTOR_DST_ALPHA = 8,
396  VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9,
397  VK_BLEND_FACTOR_CONSTANT_COLOR = 10,
398  VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11,
399  VK_BLEND_FACTOR_CONSTANT_ALPHA = 12,
400  VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13,
401  VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14,
402  VK_BLEND_FACTOR_SRC1_COLOR = 15,
403  VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16,
404  VK_BLEND_FACTOR_SRC1_ALPHA = 17,
405  VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18,
406  VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF
407 } VkBlendFactor;
408 typedef enum VkBlendOp {
409  VK_BLEND_OP_ADD = 0,
410  VK_BLEND_OP_SUBTRACT = 1,
411  VK_BLEND_OP_REVERSE_SUBTRACT = 2,
412  VK_BLEND_OP_MIN = 3,
413  VK_BLEND_OP_MAX = 4,
414  VK_BLEND_OP_MAX_ENUM = 0x7FFFFFFF
415 } VkBlendOp;
416 typedef enum VkBorderColor {
417  VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0,
418  VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1,
419  VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2,
420  VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3,
421  VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4,
422  VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5,
423  VK_BORDER_COLOR_MAX_ENUM = 0x7FFFFFFF
424 } VkBorderColor;
425 typedef enum VkFramebufferCreateFlagBits {
426  VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT = 1,
427  VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
428 } VkFramebufferCreateFlagBits;
429 typedef enum VkPipelineCacheHeaderVersion {
430  VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1,
431  VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF
432 } VkPipelineCacheHeaderVersion;
433 typedef enum VkPipelineCacheCreateFlagBits {
434  VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT = 1,
435  VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
436 } VkPipelineCacheCreateFlagBits;
437 typedef enum VkPipelineShaderStageCreateFlagBits {
438  VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT = 1,
439  VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT = 2,
440  VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
441 } VkPipelineShaderStageCreateFlagBits;
442 typedef enum VkDescriptorSetLayoutCreateFlagBits {
443  VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT = 2,
444  VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
445 } VkDescriptorSetLayoutCreateFlagBits;
446 typedef enum VkInstanceCreateFlagBits {
447  VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR = 1,
448  VK_INSTANCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
449 } VkInstanceCreateFlagBits;
450 typedef enum VkDeviceQueueCreateFlagBits {
451  VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT = 1,
452  VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
453 } VkDeviceQueueCreateFlagBits;
454 typedef enum VkBufferCreateFlagBits {
455  VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 1,
456  VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 2,
457  VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 4,
458  VK_BUFFER_CREATE_PROTECTED_BIT = 8,
459  VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 16,
460  VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
461 } VkBufferCreateFlagBits;
462 typedef enum VkBufferUsageFlagBits {
463  VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 1,
464  VK_BUFFER_USAGE_TRANSFER_DST_BIT = 2,
465  VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 4,
466  VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 8,
467  VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 16,
468  VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 32,
469  VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 64,
470  VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 128,
471  VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 256,
472  VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT = 131072,
473  VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
474 } VkBufferUsageFlagBits;
475 typedef enum VkColorComponentFlagBits {
476  VK_COLOR_COMPONENT_R_BIT = 1,
477  VK_COLOR_COMPONENT_G_BIT = 2,
478  VK_COLOR_COMPONENT_B_BIT = 4,
479  VK_COLOR_COMPONENT_A_BIT = 8,
480  VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
481 } VkColorComponentFlagBits;
482 typedef enum VkComponentSwizzle {
483  VK_COMPONENT_SWIZZLE_IDENTITY = 0,
484  VK_COMPONENT_SWIZZLE_ZERO = 1,
485  VK_COMPONENT_SWIZZLE_ONE = 2,
486  VK_COMPONENT_SWIZZLE_R = 3,
487  VK_COMPONENT_SWIZZLE_G = 4,
488  VK_COMPONENT_SWIZZLE_B = 5,
489  VK_COMPONENT_SWIZZLE_A = 6,
490  VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF
491 } VkComponentSwizzle;
492 typedef enum VkCommandPoolCreateFlagBits {
493  VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 1,
494  VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 2,
495  VK_COMMAND_POOL_CREATE_PROTECTED_BIT = 4,
496  VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
497 } VkCommandPoolCreateFlagBits;
498 typedef enum VkCommandPoolResetFlagBits {
499  VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 1,
500  VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
501 } VkCommandPoolResetFlagBits;
502 typedef enum VkCommandBufferResetFlagBits {
503  VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 1,
504  VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
505 } VkCommandBufferResetFlagBits;
506 typedef enum VkCommandBufferLevel {
507  VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0,
508  VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1,
509  VK_COMMAND_BUFFER_LEVEL_MAX_ENUM = 0x7FFFFFFF
510 } VkCommandBufferLevel;
511 typedef enum VkCommandBufferUsageFlagBits {
512  VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 1,
513  VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 2,
514  VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 4,
515  VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
516 } VkCommandBufferUsageFlagBits;
517 typedef enum VkCompareOp {
518  VK_COMPARE_OP_NEVER = 0,
519  VK_COMPARE_OP_LESS = 1,
520  VK_COMPARE_OP_EQUAL = 2,
521  VK_COMPARE_OP_LESS_OR_EQUAL = 3,
522  VK_COMPARE_OP_GREATER = 4,
523  VK_COMPARE_OP_NOT_EQUAL = 5,
524  VK_COMPARE_OP_GREATER_OR_EQUAL = 6,
525  VK_COMPARE_OP_ALWAYS = 7,
526  VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF
527 } VkCompareOp;
528 typedef enum VkCullModeFlagBits {
529  VK_CULL_MODE_NONE = 0,
530  VK_CULL_MODE_FRONT_BIT = 1,
531  VK_CULL_MODE_BACK_BIT = 2,
532  VK_CULL_MODE_FRONT_AND_BACK = 0x00000003,
533  VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
534 } VkCullModeFlagBits;
535 typedef enum VkDescriptorType {
536  VK_DESCRIPTOR_TYPE_SAMPLER = 0,
537  VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1,
538  VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2,
539  VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3,
540  VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4,
541  VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5,
542  VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6,
543  VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7,
544  VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8,
545  VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9,
546  VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10,
547  VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK = 1000138000,
548  VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF
549 } VkDescriptorType;
550 typedef enum VkDynamicState {
551  VK_DYNAMIC_STATE_VIEWPORT = 0,
552  VK_DYNAMIC_STATE_SCISSOR = 1,
553  VK_DYNAMIC_STATE_LINE_WIDTH = 2,
554  VK_DYNAMIC_STATE_DEPTH_BIAS = 3,
555  VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4,
556  VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5,
557  VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6,
558  VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7,
559  VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8,
560  VK_DYNAMIC_STATE_CULL_MODE = 1000267000,
561  VK_DYNAMIC_STATE_FRONT_FACE = 1000267001,
562  VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY = 1000267002,
563  VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT = 1000267003,
564  VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT = 1000267004,
565  VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE = 1000267005,
566  VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE = 1000267006,
567  VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE = 1000267007,
568  VK_DYNAMIC_STATE_DEPTH_COMPARE_OP = 1000267008,
569  VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE = 1000267009,
570  VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE = 1000267010,
571  VK_DYNAMIC_STATE_STENCIL_OP = 1000267011,
572  VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE = 1000377001,
573  VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE = 1000377002,
574  VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE = 1000377004,
575  VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF
576 } VkDynamicState;
577 typedef enum VkFenceCreateFlagBits {
578  VK_FENCE_CREATE_SIGNALED_BIT = 1,
579  VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
580 } VkFenceCreateFlagBits;
581 typedef enum VkPolygonMode {
582  VK_POLYGON_MODE_FILL = 0,
583  VK_POLYGON_MODE_LINE = 1,
584  VK_POLYGON_MODE_POINT = 2,
585  VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF
586 } VkPolygonMode;
587 typedef enum VkFormat {
588  VK_FORMAT_UNDEFINED = 0,
589  VK_FORMAT_R4G4_UNORM_PACK8 = 1,
590  VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2,
591  VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3,
592  VK_FORMAT_R5G6B5_UNORM_PACK16 = 4,
593  VK_FORMAT_B5G6R5_UNORM_PACK16 = 5,
594  VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6,
595  VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7,
596  VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8,
597  VK_FORMAT_R8_UNORM = 9,
598  VK_FORMAT_R8_SNORM = 10,
599  VK_FORMAT_R8_USCALED = 11,
600  VK_FORMAT_R8_SSCALED = 12,
601  VK_FORMAT_R8_UINT = 13,
602  VK_FORMAT_R8_SINT = 14,
603  VK_FORMAT_R8_SRGB = 15,
604  VK_FORMAT_R8G8_UNORM = 16,
605  VK_FORMAT_R8G8_SNORM = 17,
606  VK_FORMAT_R8G8_USCALED = 18,
607  VK_FORMAT_R8G8_SSCALED = 19,
608  VK_FORMAT_R8G8_UINT = 20,
609  VK_FORMAT_R8G8_SINT = 21,
610  VK_FORMAT_R8G8_SRGB = 22,
611  VK_FORMAT_R8G8B8_UNORM = 23,
612  VK_FORMAT_R8G8B8_SNORM = 24,
613  VK_FORMAT_R8G8B8_USCALED = 25,
614  VK_FORMAT_R8G8B8_SSCALED = 26,
615  VK_FORMAT_R8G8B8_UINT = 27,
616  VK_FORMAT_R8G8B8_SINT = 28,
617  VK_FORMAT_R8G8B8_SRGB = 29,
618  VK_FORMAT_B8G8R8_UNORM = 30,
619  VK_FORMAT_B8G8R8_SNORM = 31,
620  VK_FORMAT_B8G8R8_USCALED = 32,
621  VK_FORMAT_B8G8R8_SSCALED = 33,
622  VK_FORMAT_B8G8R8_UINT = 34,
623  VK_FORMAT_B8G8R8_SINT = 35,
624  VK_FORMAT_B8G8R8_SRGB = 36,
625  VK_FORMAT_R8G8B8A8_UNORM = 37,
626  VK_FORMAT_R8G8B8A8_SNORM = 38,
627  VK_FORMAT_R8G8B8A8_USCALED = 39,
628  VK_FORMAT_R8G8B8A8_SSCALED = 40,
629  VK_FORMAT_R8G8B8A8_UINT = 41,
630  VK_FORMAT_R8G8B8A8_SINT = 42,
631  VK_FORMAT_R8G8B8A8_SRGB = 43,
632  VK_FORMAT_B8G8R8A8_UNORM = 44,
633  VK_FORMAT_B8G8R8A8_SNORM = 45,
634  VK_FORMAT_B8G8R8A8_USCALED = 46,
635  VK_FORMAT_B8G8R8A8_SSCALED = 47,
636  VK_FORMAT_B8G8R8A8_UINT = 48,
637  VK_FORMAT_B8G8R8A8_SINT = 49,
638  VK_FORMAT_B8G8R8A8_SRGB = 50,
639  VK_FORMAT_A8B8G8R8_UNORM_PACK32 = 51,
640  VK_FORMAT_A8B8G8R8_SNORM_PACK32 = 52,
641  VK_FORMAT_A8B8G8R8_USCALED_PACK32 = 53,
642  VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54,
643  VK_FORMAT_A8B8G8R8_UINT_PACK32 = 55,
644  VK_FORMAT_A8B8G8R8_SINT_PACK32 = 56,
645  VK_FORMAT_A8B8G8R8_SRGB_PACK32 = 57,
646  VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58,
647  VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59,
648  VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 60,
649  VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61,
650  VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62,
651  VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63,
652  VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64,
653  VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65,
654  VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 66,
655  VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67,
656  VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68,
657  VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69,
658  VK_FORMAT_R16_UNORM = 70,
659  VK_FORMAT_R16_SNORM = 71,
660  VK_FORMAT_R16_USCALED = 72,
661  VK_FORMAT_R16_SSCALED = 73,
662  VK_FORMAT_R16_UINT = 74,
663  VK_FORMAT_R16_SINT = 75,
664  VK_FORMAT_R16_SFLOAT = 76,
665  VK_FORMAT_R16G16_UNORM = 77,
666  VK_FORMAT_R16G16_SNORM = 78,
667  VK_FORMAT_R16G16_USCALED = 79,
668  VK_FORMAT_R16G16_SSCALED = 80,
669  VK_FORMAT_R16G16_UINT = 81,
670  VK_FORMAT_R16G16_SINT = 82,
671  VK_FORMAT_R16G16_SFLOAT = 83,
672  VK_FORMAT_R16G16B16_UNORM = 84,
673  VK_FORMAT_R16G16B16_SNORM = 85,
674  VK_FORMAT_R16G16B16_USCALED = 86,
675  VK_FORMAT_R16G16B16_SSCALED = 87,
676  VK_FORMAT_R16G16B16_UINT = 88,
677  VK_FORMAT_R16G16B16_SINT = 89,
678  VK_FORMAT_R16G16B16_SFLOAT = 90,
679  VK_FORMAT_R16G16B16A16_UNORM = 91,
680  VK_FORMAT_R16G16B16A16_SNORM = 92,
681  VK_FORMAT_R16G16B16A16_USCALED = 93,
682  VK_FORMAT_R16G16B16A16_SSCALED = 94,
683  VK_FORMAT_R16G16B16A16_UINT = 95,
684  VK_FORMAT_R16G16B16A16_SINT = 96,
685  VK_FORMAT_R16G16B16A16_SFLOAT = 97,
686  VK_FORMAT_R32_UINT = 98,
687  VK_FORMAT_R32_SINT = 99,
688  VK_FORMAT_R32_SFLOAT = 100,
689  VK_FORMAT_R32G32_UINT = 101,
690  VK_FORMAT_R32G32_SINT = 102,
691  VK_FORMAT_R32G32_SFLOAT = 103,
692  VK_FORMAT_R32G32B32_UINT = 104,
693  VK_FORMAT_R32G32B32_SINT = 105,
694  VK_FORMAT_R32G32B32_SFLOAT = 106,
695  VK_FORMAT_R32G32B32A32_UINT = 107,
696  VK_FORMAT_R32G32B32A32_SINT = 108,
697  VK_FORMAT_R32G32B32A32_SFLOAT = 109,
698  VK_FORMAT_R64_UINT = 110,
699  VK_FORMAT_R64_SINT = 111,
700  VK_FORMAT_R64_SFLOAT = 112,
701  VK_FORMAT_R64G64_UINT = 113,
702  VK_FORMAT_R64G64_SINT = 114,
703  VK_FORMAT_R64G64_SFLOAT = 115,
704  VK_FORMAT_R64G64B64_UINT = 116,
705  VK_FORMAT_R64G64B64_SINT = 117,
706  VK_FORMAT_R64G64B64_SFLOAT = 118,
707  VK_FORMAT_R64G64B64A64_UINT = 119,
708  VK_FORMAT_R64G64B64A64_SINT = 120,
709  VK_FORMAT_R64G64B64A64_SFLOAT = 121,
710  VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122,
711  VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123,
712  VK_FORMAT_D16_UNORM = 124,
713  VK_FORMAT_X8_D24_UNORM_PACK32 = 125,
714  VK_FORMAT_D32_SFLOAT = 126,
715  VK_FORMAT_S8_UINT = 127,
716  VK_FORMAT_D16_UNORM_S8_UINT = 128,
717  VK_FORMAT_D24_UNORM_S8_UINT = 129,
718  VK_FORMAT_D32_SFLOAT_S8_UINT = 130,
719  VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131,
720  VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132,
721  VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133,
722  VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134,
723  VK_FORMAT_BC2_UNORM_BLOCK = 135,
724  VK_FORMAT_BC2_SRGB_BLOCK = 136,
725  VK_FORMAT_BC3_UNORM_BLOCK = 137,
726  VK_FORMAT_BC3_SRGB_BLOCK = 138,
727  VK_FORMAT_BC4_UNORM_BLOCK = 139,
728  VK_FORMAT_BC4_SNORM_BLOCK = 140,
729  VK_FORMAT_BC5_UNORM_BLOCK = 141,
730  VK_FORMAT_BC5_SNORM_BLOCK = 142,
731  VK_FORMAT_BC6H_UFLOAT_BLOCK = 143,
732  VK_FORMAT_BC6H_SFLOAT_BLOCK = 144,
733  VK_FORMAT_BC7_UNORM_BLOCK = 145,
734  VK_FORMAT_BC7_SRGB_BLOCK = 146,
735  VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147,
736  VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148,
737  VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149,
738  VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150,
739  VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151,
740  VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152,
741  VK_FORMAT_EAC_R11_UNORM_BLOCK = 153,
742  VK_FORMAT_EAC_R11_SNORM_BLOCK = 154,
743  VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155,
744  VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156,
745  VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157,
746  VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158,
747  VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159,
748  VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160,
749  VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161,
750  VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162,
751  VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163,
752  VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164,
753  VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165,
754  VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166,
755  VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167,
756  VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168,
757  VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169,
758  VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170,
759  VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171,
760  VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172,
761  VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173,
762  VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174,
763  VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175,
764  VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176,
765  VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177,
766  VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178,
767  VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179,
768  VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180,
769  VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181,
770  VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182,
771  VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183,
772  VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184,
773  VK_FORMAT_G8B8G8R8_422_UNORM = 1000156000,
774  VK_FORMAT_B8G8R8G8_422_UNORM = 1000156001,
775  VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM = 1000156002,
776  VK_FORMAT_G8_B8R8_2PLANE_420_UNORM = 1000156003,
777  VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM = 1000156004,
778  VK_FORMAT_G8_B8R8_2PLANE_422_UNORM = 1000156005,
779  VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM = 1000156006,
780  VK_FORMAT_R10X6_UNORM_PACK16 = 1000156007,
781  VK_FORMAT_R10X6G10X6_UNORM_2PACK16 = 1000156008,
782  VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 1000156009,
783  VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 1000156010,
784  VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 1000156011,
785  VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 1000156012,
786  VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 1000156013,
787  VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 1000156014,
788  VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 1000156015,
789  VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 1000156016,
790  VK_FORMAT_R12X4_UNORM_PACK16 = 1000156017,
791  VK_FORMAT_R12X4G12X4_UNORM_2PACK16 = 1000156018,
792  VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 1000156019,
793  VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 1000156020,
794  VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 1000156021,
795  VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 1000156022,
796  VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 1000156023,
797  VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 1000156024,
798  VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 1000156025,
799  VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 1000156026,
800  VK_FORMAT_G16B16G16R16_422_UNORM = 1000156027,
801  VK_FORMAT_B16G16R16G16_422_UNORM = 1000156028,
802  VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM = 1000156029,
803  VK_FORMAT_G16_B16R16_2PLANE_420_UNORM = 1000156030,
804  VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM = 1000156031,
805  VK_FORMAT_G16_B16R16_2PLANE_422_UNORM = 1000156032,
806  VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM = 1000156033,
807  VK_FORMAT_G8_B8R8_2PLANE_444_UNORM = 1000330000,
808  VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16 = 1000330001,
809  VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16 = 1000330002,
810  VK_FORMAT_G16_B16R16_2PLANE_444_UNORM = 1000330003,
811  VK_FORMAT_A4R4G4B4_UNORM_PACK16 = 1000340000,
812  VK_FORMAT_A4B4G4R4_UNORM_PACK16 = 1000340001,
813  VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK = 1000066000,
814  VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK = 1000066001,
815  VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK = 1000066002,
816  VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK = 1000066003,
817  VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK = 1000066004,
818  VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK = 1000066005,
819  VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK = 1000066006,
820  VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK = 1000066007,
821  VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK = 1000066008,
822  VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK = 1000066009,
823  VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK = 1000066010,
824  VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK = 1000066011,
825  VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK = 1000066012,
826  VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK = 1000066013,
827  VK_FORMAT_MAX_ENUM = 0x7FFFFFFF
828 } VkFormat;
829 typedef enum VkFormatFeatureFlagBits {
830  VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 1,
831  VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 2,
832  VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 4,
833  VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 8,
834  VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 16,
835  VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 32,
836  VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 64,
837  VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 128,
838  VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 256,
839  VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 512,
840  VK_FORMAT_FEATURE_BLIT_SRC_BIT = 1024,
841  VK_FORMAT_FEATURE_BLIT_DST_BIT = 2048,
842  VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 4096,
843  VK_FORMAT_FEATURE_TRANSFER_SRC_BIT = 16384,
844  VK_FORMAT_FEATURE_TRANSFER_DST_BIT = 32768,
845  VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT = 131072,
846  VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 262144,
847  VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 524288,
848  VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 1048576,
849  VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 2097152,
850  VK_FORMAT_FEATURE_DISJOINT_BIT = 4194304,
851  VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT = 8388608,
852  VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 65536,
853  VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
854 } VkFormatFeatureFlagBits;
855 typedef enum VkFrontFace {
856  VK_FRONT_FACE_COUNTER_CLOCKWISE = 0,
857  VK_FRONT_FACE_CLOCKWISE = 1,
858  VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF
859 } VkFrontFace;
860 typedef enum VkImageAspectFlagBits {
861  VK_IMAGE_ASPECT_COLOR_BIT = 1,
862  VK_IMAGE_ASPECT_DEPTH_BIT = 2,
863  VK_IMAGE_ASPECT_STENCIL_BIT = 4,
864  VK_IMAGE_ASPECT_METADATA_BIT = 8,
865  VK_IMAGE_ASPECT_PLANE_0_BIT = 16,
866  VK_IMAGE_ASPECT_PLANE_1_BIT = 32,
867  VK_IMAGE_ASPECT_PLANE_2_BIT = 64,
868  VK_IMAGE_ASPECT_NONE = 0,
869  VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
870 } VkImageAspectFlagBits;
871 typedef enum VkImageCreateFlagBits {
872  VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 1,
873  VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 2,
874  VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 4,
875  VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 8,
876  VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 16,
877  VK_IMAGE_CREATE_ALIAS_BIT = 1024,
878  VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT = 64,
879  VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT = 32,
880  VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT = 128,
881  VK_IMAGE_CREATE_EXTENDED_USAGE_BIT = 256,
882  VK_IMAGE_CREATE_PROTECTED_BIT = 2048,
883  VK_IMAGE_CREATE_DISJOINT_BIT = 512,
884  VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
885 } VkImageCreateFlagBits;
886 typedef enum VkImageLayout {
887  VK_IMAGE_LAYOUT_UNDEFINED = 0,
888  VK_IMAGE_LAYOUT_GENERAL = 1,
889  VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2,
890  VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3,
891  VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4,
892  VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5,
893  VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6,
894  VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7,
895  VK_IMAGE_LAYOUT_PREINITIALIZED = 8,
896  VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL = 1000117000,
897  VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL = 1000117001,
898  VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL = 1000241000,
899  VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL = 1000241001,
900  VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL = 1000241002,
901  VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL = 1000241003,
902  VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL = 1000314000,
903  VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL = 1000314001,
904  VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002,
905  VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF
906 } VkImageLayout;
907 typedef enum VkImageTiling {
908  VK_IMAGE_TILING_OPTIMAL = 0,
909  VK_IMAGE_TILING_LINEAR = 1,
910  VK_IMAGE_TILING_MAX_ENUM = 0x7FFFFFFF
911 } VkImageTiling;
912 typedef enum VkImageType {
913  VK_IMAGE_TYPE_1D = 0,
914  VK_IMAGE_TYPE_2D = 1,
915  VK_IMAGE_TYPE_3D = 2,
916  VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF
917 } VkImageType;
918 typedef enum VkImageUsageFlagBits {
919  VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 1,
920  VK_IMAGE_USAGE_TRANSFER_DST_BIT = 2,
921  VK_IMAGE_USAGE_SAMPLED_BIT = 4,
922  VK_IMAGE_USAGE_STORAGE_BIT = 8,
923  VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 16,
924  VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 32,
925  VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 64,
926  VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 128,
927  VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
928 } VkImageUsageFlagBits;
929 typedef enum VkImageViewType {
930  VK_IMAGE_VIEW_TYPE_1D = 0,
931  VK_IMAGE_VIEW_TYPE_2D = 1,
932  VK_IMAGE_VIEW_TYPE_3D = 2,
933  VK_IMAGE_VIEW_TYPE_CUBE = 3,
934  VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4,
935  VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5,
936  VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6,
937  VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7FFFFFFF
938 } VkImageViewType;
939 typedef enum VkSharingMode {
940  VK_SHARING_MODE_EXCLUSIVE = 0,
941  VK_SHARING_MODE_CONCURRENT = 1,
942  VK_SHARING_MODE_MAX_ENUM = 0x7FFFFFFF
943 } VkSharingMode;
944 typedef enum VkIndexType {
945  VK_INDEX_TYPE_UINT16 = 0,
946  VK_INDEX_TYPE_UINT32 = 1,
947  VK_INDEX_TYPE_MAX_ENUM = 0x7FFFFFFF
948 } VkIndexType;
949 typedef enum VkLogicOp {
950  VK_LOGIC_OP_CLEAR = 0,
951  VK_LOGIC_OP_AND = 1,
952  VK_LOGIC_OP_AND_REVERSE = 2,
953  VK_LOGIC_OP_COPY = 3,
954  VK_LOGIC_OP_AND_INVERTED = 4,
955  VK_LOGIC_OP_NO_OP = 5,
956  VK_LOGIC_OP_XOR = 6,
957  VK_LOGIC_OP_OR = 7,
958  VK_LOGIC_OP_NOR = 8,
959  VK_LOGIC_OP_EQUIVALENT = 9,
960  VK_LOGIC_OP_INVERT = 10,
961  VK_LOGIC_OP_OR_REVERSE = 11,
962  VK_LOGIC_OP_COPY_INVERTED = 12,
963  VK_LOGIC_OP_OR_INVERTED = 13,
964  VK_LOGIC_OP_NAND = 14,
965  VK_LOGIC_OP_SET = 15,
966  VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF
967 } VkLogicOp;
968 typedef enum VkMemoryHeapFlagBits {
969  VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 1,
970  VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = 2,
971  VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
972 } VkMemoryHeapFlagBits;
973 typedef enum VkAccessFlagBits {
974  VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 1,
975  VK_ACCESS_INDEX_READ_BIT = 2,
976  VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 4,
977  VK_ACCESS_UNIFORM_READ_BIT = 8,
978  VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 16,
979  VK_ACCESS_SHADER_READ_BIT = 32,
980  VK_ACCESS_SHADER_WRITE_BIT = 64,
981  VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 128,
982  VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 256,
983  VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 512,
984  VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 1024,
985  VK_ACCESS_TRANSFER_READ_BIT = 2048,
986  VK_ACCESS_TRANSFER_WRITE_BIT = 4096,
987  VK_ACCESS_HOST_READ_BIT = 8192,
988  VK_ACCESS_HOST_WRITE_BIT = 16384,
989  VK_ACCESS_MEMORY_READ_BIT = 32768,
990  VK_ACCESS_MEMORY_WRITE_BIT = 65536,
991  VK_ACCESS_NONE = 0,
992  VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
993 } VkAccessFlagBits;
994 typedef enum VkMemoryPropertyFlagBits {
995  VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 1,
996  VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 2,
997  VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 4,
998  VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 8,
999  VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 16,
1000  VK_MEMORY_PROPERTY_PROTECTED_BIT = 32,
1001  VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1002 } VkMemoryPropertyFlagBits;
1003 typedef enum VkPhysicalDeviceType {
1004  VK_PHYSICAL_DEVICE_TYPE_OTHER = 0,
1005  VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1,
1006  VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2,
1007  VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3,
1008  VK_PHYSICAL_DEVICE_TYPE_CPU = 4,
1009  VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM = 0x7FFFFFFF
1010 } VkPhysicalDeviceType;
1011 typedef enum VkPipelineBindPoint {
1012  VK_PIPELINE_BIND_POINT_GRAPHICS = 0,
1013  VK_PIPELINE_BIND_POINT_COMPUTE = 1,
1014  VK_PIPELINE_BIND_POINT_MAX_ENUM = 0x7FFFFFFF
1015 } VkPipelineBindPoint;
1016 typedef enum VkPipelineCreateFlagBits {
1017  VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 1,
1018  VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 2,
1019  VK_PIPELINE_CREATE_DERIVATIVE_BIT = 4,
1020  VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 8,
1021  VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 16,
1022  VK_PIPELINE_CREATE_DISPATCH_BASE = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT,
1023  VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT = 256,
1024  VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT = 512,
1025  VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1026 } VkPipelineCreateFlagBits;
1027 typedef enum VkPrimitiveTopology {
1028  VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0,
1029  VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1,
1030  VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2,
1031  VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3,
1032  VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4,
1033  VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5,
1034  VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6,
1035  VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7,
1036  VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8,
1037  VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9,
1038  VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10,
1039  VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7FFFFFFF
1040 } VkPrimitiveTopology;
1041 typedef enum VkQueryControlFlagBits {
1042  VK_QUERY_CONTROL_PRECISE_BIT = 1,
1043  VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1044 } VkQueryControlFlagBits;
1045 typedef enum VkQueryPipelineStatisticFlagBits {
1046  VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 1,
1047  VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 2,
1048  VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 4,
1049  VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 8,
1050  VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 16,
1051  VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 32,
1052  VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 64,
1053  VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 128,
1054  VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 256,
1055  VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 512,
1056  VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 1024,
1057  VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1058 } VkQueryPipelineStatisticFlagBits;
1059 typedef enum VkQueryResultFlagBits {
1060  VK_QUERY_RESULT_64_BIT = 1,
1061  VK_QUERY_RESULT_WAIT_BIT = 2,
1062  VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 4,
1063  VK_QUERY_RESULT_PARTIAL_BIT = 8,
1064  VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1065 } VkQueryResultFlagBits;
1066 typedef enum VkQueryType {
1067  VK_QUERY_TYPE_OCCLUSION = 0,
1068  VK_QUERY_TYPE_PIPELINE_STATISTICS = 1,
1069  VK_QUERY_TYPE_TIMESTAMP = 2,
1070  VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF
1071 } VkQueryType;
1072 typedef enum VkQueueFlagBits {
1073  VK_QUEUE_GRAPHICS_BIT = 1,
1074  VK_QUEUE_COMPUTE_BIT = 2,
1075  VK_QUEUE_TRANSFER_BIT = 4,
1076  VK_QUEUE_SPARSE_BINDING_BIT = 8,
1077  VK_QUEUE_PROTECTED_BIT = 16,
1078  VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1079 } VkQueueFlagBits;
1080 typedef enum VkSubpassContents {
1081  VK_SUBPASS_CONTENTS_INLINE = 0,
1082  VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1,
1083  VK_SUBPASS_CONTENTS_MAX_ENUM = 0x7FFFFFFF
1084 } VkSubpassContents;
1085 typedef enum VkResult {
1086  VK_SUCCESS = 0,
1087  VK_NOT_READY = 1,
1088  VK_TIMEOUT = 2,
1089  VK_EVENT_SET = 3,
1090  VK_EVENT_RESET = 4,
1091  VK_INCOMPLETE = 5,
1092  VK_ERROR_OUT_OF_HOST_MEMORY = -1,
1093  VK_ERROR_OUT_OF_DEVICE_MEMORY = -2,
1094  VK_ERROR_INITIALIZATION_FAILED = -3,
1095  VK_ERROR_DEVICE_LOST = -4,
1096  VK_ERROR_MEMORY_MAP_FAILED = -5,
1097  VK_ERROR_LAYER_NOT_PRESENT = -6,
1098  VK_ERROR_EXTENSION_NOT_PRESENT = -7,
1099  VK_ERROR_FEATURE_NOT_PRESENT = -8,
1100  VK_ERROR_INCOMPATIBLE_DRIVER = -9,
1101  VK_ERROR_TOO_MANY_OBJECTS = -10,
1102  VK_ERROR_FORMAT_NOT_SUPPORTED = -11,
1103  VK_ERROR_FRAGMENTED_POOL = -12,
1104  VK_ERROR_UNKNOWN = -13,
1105  VK_ERROR_OUT_OF_POOL_MEMORY = -1000069000,
1106  VK_ERROR_INVALID_EXTERNAL_HANDLE = -1000072003,
1107  VK_ERROR_FRAGMENTATION = -1000161000,
1108  VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS = -1000257000,
1109  VK_PIPELINE_COMPILE_REQUIRED = 1000297000,
1110  VK_ERROR_SURFACE_LOST_KHR = -1000000000,
1111  VK_ERROR_NATIVE_WINDOW_IN_USE_KHR = -1000000001,
1112  VK_SUBOPTIMAL_KHR = 1000001003,
1113  VK_ERROR_OUT_OF_DATE_KHR = -1000001004,
1114  VK_ERROR_VALIDATION_FAILED_EXT = -1000011001,
1115  VK_RESULT_MAX_ENUM = 0x7FFFFFFF
1116 } VkResult;
1117 typedef enum VkShaderStageFlagBits {
1118  VK_SHADER_STAGE_VERTEX_BIT = 1,
1119  VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 2,
1120  VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 4,
1121  VK_SHADER_STAGE_GEOMETRY_BIT = 8,
1122  VK_SHADER_STAGE_FRAGMENT_BIT = 16,
1123  VK_SHADER_STAGE_COMPUTE_BIT = 32,
1124  VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001F,
1125  VK_SHADER_STAGE_ALL = 0x7FFFFFFF,
1126  VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1127 } VkShaderStageFlagBits;
1128 typedef enum VkSparseMemoryBindFlagBits {
1129  VK_SPARSE_MEMORY_BIND_METADATA_BIT = 1,
1130  VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1131 } VkSparseMemoryBindFlagBits;
1132 typedef enum VkStencilFaceFlagBits {
1133  VK_STENCIL_FACE_FRONT_BIT = 1,
1134  VK_STENCIL_FACE_BACK_BIT = 2,
1135  VK_STENCIL_FACE_FRONT_AND_BACK = 0x00000003,
1136  VK_STENCIL_FRONT_AND_BACK = VK_STENCIL_FACE_FRONT_AND_BACK,
1137  VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1138 } VkStencilFaceFlagBits;
1139 typedef enum VkStencilOp {
1140  VK_STENCIL_OP_KEEP = 0,
1141  VK_STENCIL_OP_ZERO = 1,
1142  VK_STENCIL_OP_REPLACE = 2,
1143  VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3,
1144  VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4,
1145  VK_STENCIL_OP_INVERT = 5,
1146  VK_STENCIL_OP_INCREMENT_AND_WRAP = 6,
1147  VK_STENCIL_OP_DECREMENT_AND_WRAP = 7,
1148  VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF
1149 } VkStencilOp;
1150 typedef enum VkStructureType {
1151  VK_STRUCTURE_TYPE_APPLICATION_INFO = 0,
1152  VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = 1,
1153  VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO = 2,
1154  VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO = 3,
1155  VK_STRUCTURE_TYPE_SUBMIT_INFO = 4,
1156  VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO = 5,
1157  VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = 6,
1158  VK_STRUCTURE_TYPE_BIND_SPARSE_INFO = 7,
1159  VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = 8,
1160  VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO = 9,
1161  VK_STRUCTURE_TYPE_EVENT_CREATE_INFO = 10,
1162  VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO = 11,
1163  VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = 12,
1164  VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO = 13,
1165  VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = 14,
1166  VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO = 15,
1167  VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO = 16,
1168  VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO = 17,
1169  VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO = 18,
1170  VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO = 19,
1171  VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO = 20,
1172  VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO = 21,
1173  VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO = 22,
1174  VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO = 23,
1175  VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO = 24,
1176  VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO = 25,
1177  VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO = 26,
1178  VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO = 27,
1179  VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO = 28,
1180  VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO = 29,
1181  VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO = 30,
1182  VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO = 31,
1183  VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO = 32,
1184  VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO = 33,
1185  VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO = 34,
1186  VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = 35,
1187  VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = 36,
1188  VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO = 37,
1189  VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO = 38,
1190  VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO = 39,
1191  VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO = 40,
1192  VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO = 41,
1193  VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO = 42,
1194  VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = 43,
1195  VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER = 44,
1196  VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = 45,
1197  VK_STRUCTURE_TYPE_MEMORY_BARRIER = 46,
1198  VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO = 47,
1199  VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO = 48,
1200  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES = 1000094000,
1201  VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO = 1000157000,
1202  VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO = 1000157001,
1203  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES = 1000083000,
1204  VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS = 1000127000,
1205  VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO = 1000127001,
1206  VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO = 1000060000,
1207  VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO = 1000060003,
1208  VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO = 1000060004,
1209  VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO = 1000060005,
1210  VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO = 1000060006,
1211  VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO = 1000060013,
1212  VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO = 1000060014,
1213  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES = 1000070000,
1214  VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO = 1000070001,
1215  VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 = 1000146000,
1216  VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 = 1000146001,
1217  VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 = 1000146002,
1218  VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 = 1000146003,
1219  VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 = 1000146004,
1220  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 = 1000059000,
1221  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 = 1000059001,
1222  VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 = 1000059002,
1223  VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 = 1000059003,
1224  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 = 1000059004,
1225  VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 = 1000059005,
1226  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 = 1000059006,
1227  VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 = 1000059007,
1228  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 = 1000059008,
1229  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES = 1000117000,
1230  VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO = 1000117001,
1231  VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO = 1000117002,
1232  VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO = 1000117003,
1233  VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO = 1000053000,
1234  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES = 1000053001,
1235  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES = 1000053002,
1236  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES = 1000120000,
1237  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
1238  VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO = 1000145000,
1239  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES = 1000145001,
1240  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES = 1000145002,
1241  VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 = 1000145003,
1242  VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO = 1000156000,
1243  VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO = 1000156001,
1244  VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO = 1000156002,
1245  VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO = 1000156003,
1246  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES = 1000156004,
1247  VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES = 1000156005,
1248  VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO = 1000085000,
1249  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO = 1000071000,
1250  VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES = 1000071001,
1251  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO = 1000071002,
1252  VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES = 1000071003,
1253  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES = 1000071004,
1254  VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO = 1000072000,
1255  VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO = 1000072001,
1256  VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO = 1000072002,
1257  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO = 1000112000,
1258  VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES = 1000112001,
1259  VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO = 1000113000,
1260  VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO = 1000077000,
1261  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO = 1000076000,
1262  VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES = 1000076001,
1263  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES = 1000168000,
1264  VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT = 1000168001,
1265  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES = 1000063000,
1266  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
1267  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES = 49,
1268  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES = 50,
1269  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES = 51,
1270  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES = 52,
1271  VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO = 1000147000,
1272  VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 = 1000109000,
1273  VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 = 1000109001,
1274  VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 = 1000109002,
1275  VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 = 1000109003,
1276  VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 = 1000109004,
1277  VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO = 1000109005,
1278  VK_STRUCTURE_TYPE_SUBPASS_END_INFO = 1000109006,
1279  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES = 1000177000,
1280  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES = 1000196000,
1281  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES = 1000180000,
1282  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES = 1000082000,
1283  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES = 1000197000,
1284  VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO = 1000161000,
1285  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES = 1000161001,
1286  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES = 1000161002,
1287  VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO = 1000161003,
1288  VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT = 1000161004,
1289  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES = 1000199000,
1290  VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE = 1000199001,
1291  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES = 1000221000,
1292  VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO = 1000246000,
1293  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES = 1000130000,
1294  VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO = 1000130001,
1295  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES = 1000211000,
1296  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES = 1000108000,
1297  VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO = 1000108001,
1298  VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO = 1000108002,
1299  VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO = 1000108003,
1300  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES = 1000253000,
1301  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES = 1000175000,
1302  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES = 1000241000,
1303  VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT = 1000241001,
1304  VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT = 1000241002,
1305  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES = 1000261000,
1306  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES = 1000207000,
1307  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES = 1000207001,
1308  VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO = 1000207002,
1309  VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO = 1000207003,
1310  VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO = 1000207004,
1311  VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO = 1000207005,
1312  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES = 1000257000,
1313  VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO = 1000244001,
1314  VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO = 1000257002,
1315  VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO = 1000257003,
1316  VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO = 1000257004,
1317  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES = 53,
1318  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES = 54,
1319  VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO = 1000192000,
1320  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES = 1000215000,
1321  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES = 1000245000,
1322  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES = 1000276000,
1323  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES = 1000295000,
1324  VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO = 1000295001,
1325  VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO = 1000295002,
1326  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES = 1000297000,
1327  VK_STRUCTURE_TYPE_MEMORY_BARRIER_2 = 1000314000,
1328  VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2 = 1000314001,
1329  VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2 = 1000314002,
1330  VK_STRUCTURE_TYPE_DEPENDENCY_INFO = 1000314003,
1331  VK_STRUCTURE_TYPE_SUBMIT_INFO_2 = 1000314004,
1332  VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO = 1000314005,
1333  VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO = 1000314006,
1334  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES = 1000314007,
1335  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES = 1000325000,
1336  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES = 1000335000,
1337  VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2 = 1000337000,
1338  VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2 = 1000337001,
1339  VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2 = 1000337002,
1340  VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2 = 1000337003,
1341  VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2 = 1000337004,
1342  VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2 = 1000337005,
1343  VK_STRUCTURE_TYPE_BUFFER_COPY_2 = 1000337006,
1344  VK_STRUCTURE_TYPE_IMAGE_COPY_2 = 1000337007,
1345  VK_STRUCTURE_TYPE_IMAGE_BLIT_2 = 1000337008,
1346  VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2 = 1000337009,
1347  VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2 = 1000337010,
1348  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES = 1000225000,
1349  VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO = 1000225001,
1350  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES = 1000225002,
1351  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES = 1000138000,
1352  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES = 1000138001,
1353  VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK = 1000138002,
1354  VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO = 1000138003,
1355  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES = 1000066000,
1356  VK_STRUCTURE_TYPE_RENDERING_INFO = 1000044000,
1357  VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO = 1000044001,
1358  VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO = 1000044002,
1359  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES = 1000044003,
1360  VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO = 1000044004,
1361  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES = 1000280000,
1362  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES = 1000280001,
1363  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES = 1000281001,
1364  VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3 = 1000360000,
1365  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES = 1000413000,
1366  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES = 1000413001,
1367  VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS = 1000413002,
1368  VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS = 1000413003,
1369  VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR = 1000001000,
1370  VK_STRUCTURE_TYPE_PRESENT_INFO_KHR = 1000001001,
1371  VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR = 1000060007,
1372  VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR = 1000060008,
1373  VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR = 1000060009,
1374  VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR = 1000060010,
1375  VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR = 1000060011,
1376  VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR = 1000060012,
1377  VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT = 1000011000,
1378  VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
1379  VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF
1380 } VkStructureType;
1381 typedef enum VkSystemAllocationScope {
1382  VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0,
1383  VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1,
1384  VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2,
1385  VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3,
1386  VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4,
1387  VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = 0x7FFFFFFF
1388 } VkSystemAllocationScope;
1389 typedef enum VkInternalAllocationType {
1390  VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0,
1391  VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM = 0x7FFFFFFF
1392 } VkInternalAllocationType;
1393 typedef enum VkSamplerAddressMode {
1394  VK_SAMPLER_ADDRESS_MODE_REPEAT = 0,
1395  VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1,
1396  VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2,
1397  VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3,
1398  VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4,
1399  VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = 0x7FFFFFFF
1400 } VkSamplerAddressMode;
1401 typedef enum VkFilter {
1402  VK_FILTER_NEAREST = 0,
1403  VK_FILTER_LINEAR = 1,
1404  VK_FILTER_MAX_ENUM = 0x7FFFFFFF
1405 } VkFilter;
1406 typedef enum VkSamplerMipmapMode {
1407  VK_SAMPLER_MIPMAP_MODE_NEAREST = 0,
1408  VK_SAMPLER_MIPMAP_MODE_LINEAR = 1,
1409  VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF
1410 } VkSamplerMipmapMode;
1411 typedef enum VkVertexInputRate {
1412  VK_VERTEX_INPUT_RATE_VERTEX = 0,
1413  VK_VERTEX_INPUT_RATE_INSTANCE = 1,
1414  VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF
1415 } VkVertexInputRate;
1416 typedef enum VkPipelineStageFlagBits {
1417  VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 1,
1418  VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 2,
1419  VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 4,
1420  VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 8,
1421  VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 16,
1422  VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 32,
1423  VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 64,
1424  VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 128,
1425  VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 256,
1426  VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 512,
1427  VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 1024,
1428  VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 2048,
1429  VK_PIPELINE_STAGE_TRANSFER_BIT = 4096,
1430  VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 8192,
1431  VK_PIPELINE_STAGE_HOST_BIT = 16384,
1432  VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 32768,
1433  VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 65536,
1434  VK_PIPELINE_STAGE_NONE = 0,
1435  VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1436 } VkPipelineStageFlagBits;
1437 typedef enum VkSparseImageFormatFlagBits {
1438  VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 1,
1439  VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 2,
1440  VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 4,
1441  VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1442 } VkSparseImageFormatFlagBits;
1443 typedef enum VkSampleCountFlagBits {
1444  VK_SAMPLE_COUNT_1_BIT = 1,
1445  VK_SAMPLE_COUNT_2_BIT = 2,
1446  VK_SAMPLE_COUNT_4_BIT = 4,
1447  VK_SAMPLE_COUNT_8_BIT = 8,
1448  VK_SAMPLE_COUNT_16_BIT = 16,
1449  VK_SAMPLE_COUNT_32_BIT = 32,
1450  VK_SAMPLE_COUNT_64_BIT = 64,
1451  VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1452 } VkSampleCountFlagBits;
1453 typedef enum VkAttachmentDescriptionFlagBits {
1454  VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 1,
1455  VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1456 } VkAttachmentDescriptionFlagBits;
1457 typedef enum VkDescriptorPoolCreateFlagBits {
1458  VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 1,
1459  VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT = 2,
1460  VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1461 } VkDescriptorPoolCreateFlagBits;
1462 typedef enum VkDependencyFlagBits {
1463  VK_DEPENDENCY_BY_REGION_BIT = 1,
1464  VK_DEPENDENCY_DEVICE_GROUP_BIT = 4,
1465  VK_DEPENDENCY_VIEW_LOCAL_BIT = 2,
1466  VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1467 } VkDependencyFlagBits;
1468 typedef enum VkObjectType {
1469  VK_OBJECT_TYPE_UNKNOWN = 0,
1470  VK_OBJECT_TYPE_INSTANCE = 1,
1471  VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2,
1472  VK_OBJECT_TYPE_DEVICE = 3,
1473  VK_OBJECT_TYPE_QUEUE = 4,
1474  VK_OBJECT_TYPE_SEMAPHORE = 5,
1475  VK_OBJECT_TYPE_COMMAND_BUFFER = 6,
1476  VK_OBJECT_TYPE_FENCE = 7,
1477  VK_OBJECT_TYPE_DEVICE_MEMORY = 8,
1478  VK_OBJECT_TYPE_BUFFER = 9,
1479  VK_OBJECT_TYPE_IMAGE = 10,
1480  VK_OBJECT_TYPE_EVENT = 11,
1481  VK_OBJECT_TYPE_QUERY_POOL = 12,
1482  VK_OBJECT_TYPE_BUFFER_VIEW = 13,
1483  VK_OBJECT_TYPE_IMAGE_VIEW = 14,
1484  VK_OBJECT_TYPE_SHADER_MODULE = 15,
1485  VK_OBJECT_TYPE_PIPELINE_CACHE = 16,
1486  VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17,
1487  VK_OBJECT_TYPE_RENDER_PASS = 18,
1488  VK_OBJECT_TYPE_PIPELINE = 19,
1489  VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20,
1490  VK_OBJECT_TYPE_SAMPLER = 21,
1491  VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22,
1492  VK_OBJECT_TYPE_DESCRIPTOR_SET = 23,
1493  VK_OBJECT_TYPE_FRAMEBUFFER = 24,
1494  VK_OBJECT_TYPE_COMMAND_POOL = 25,
1495  VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION = 1000156000,
1496  VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE = 1000085000,
1497  VK_OBJECT_TYPE_PRIVATE_DATA_SLOT = 1000295000,
1498  VK_OBJECT_TYPE_SURFACE_KHR = 1000000000,
1499  VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000,
1500  VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000,
1501  VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF
1502 } VkObjectType;
1503 typedef enum VkEventCreateFlagBits {
1504  VK_EVENT_CREATE_DEVICE_ONLY_BIT = 1,
1505  VK_EVENT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1506 } VkEventCreateFlagBits;
1507 typedef enum VkDescriptorUpdateTemplateType {
1508  VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET = 0,
1509  VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM = 0x7FFFFFFF
1510 } VkDescriptorUpdateTemplateType;
1511 typedef enum VkPointClippingBehavior {
1512  VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES = 0,
1513  VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY = 1,
1514  VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF
1515 } VkPointClippingBehavior;
1516 typedef enum VkResolveModeFlagBits {
1517  VK_RESOLVE_MODE_NONE = 0,
1518  VK_RESOLVE_MODE_SAMPLE_ZERO_BIT = 1,
1519  VK_RESOLVE_MODE_AVERAGE_BIT = 2,
1520  VK_RESOLVE_MODE_MIN_BIT = 4,
1521  VK_RESOLVE_MODE_MAX_BIT = 8,
1522  VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1523 } VkResolveModeFlagBits;
1524 typedef enum VkDescriptorBindingFlagBits {
1525  VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT = 1,
1526  VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT = 2,
1527  VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT = 4,
1528  VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT = 8,
1529  VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1530 } VkDescriptorBindingFlagBits;
1531 typedef enum VkSemaphoreType {
1532  VK_SEMAPHORE_TYPE_BINARY = 0,
1533  VK_SEMAPHORE_TYPE_TIMELINE = 1,
1534  VK_SEMAPHORE_TYPE_MAX_ENUM = 0x7FFFFFFF
1535 } VkSemaphoreType;
1536 typedef enum VkPipelineCreationFeedbackFlagBits {
1537  VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT = 1,
1538  VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT,
1539  VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT = 2,
1540  VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT,
1541  VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT = 4,
1542  VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT,
1543  VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1544 } VkPipelineCreationFeedbackFlagBits;
1545 typedef enum VkSemaphoreWaitFlagBits {
1546  VK_SEMAPHORE_WAIT_ANY_BIT = 1,
1547  VK_SEMAPHORE_WAIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1548 } VkSemaphoreWaitFlagBits;
1549 typedef enum VkToolPurposeFlagBits {
1550  VK_TOOL_PURPOSE_VALIDATION_BIT = 1,
1551  VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = VK_TOOL_PURPOSE_VALIDATION_BIT,
1552  VK_TOOL_PURPOSE_PROFILING_BIT = 2,
1553  VK_TOOL_PURPOSE_PROFILING_BIT_EXT = VK_TOOL_PURPOSE_PROFILING_BIT,
1554  VK_TOOL_PURPOSE_TRACING_BIT = 4,
1555  VK_TOOL_PURPOSE_TRACING_BIT_EXT = VK_TOOL_PURPOSE_TRACING_BIT,
1556  VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT = 8,
1557  VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT,
1558  VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT = 16,
1559  VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT,
1560  VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1561 } VkToolPurposeFlagBits;
1562 typedef uint64_t VkAccessFlagBits2;
1563 static const VkAccessFlagBits2 VK_ACCESS_2_NONE = 0;
1564 static const VkAccessFlagBits2 VK_ACCESS_2_NONE_KHR = 0;
1565 static const VkAccessFlagBits2 VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT = 1;
1566 static const VkAccessFlagBits2 VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR = 1;
1567 static const VkAccessFlagBits2 VK_ACCESS_2_INDEX_READ_BIT = 2;
1568 static const VkAccessFlagBits2 VK_ACCESS_2_INDEX_READ_BIT_KHR = 2;
1569 static const VkAccessFlagBits2 VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT = 4;
1570 static const VkAccessFlagBits2 VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR = 4;
1571 static const VkAccessFlagBits2 VK_ACCESS_2_UNIFORM_READ_BIT = 8;
1572 static const VkAccessFlagBits2 VK_ACCESS_2_UNIFORM_READ_BIT_KHR = 8;
1573 static const VkAccessFlagBits2 VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT = 16;
1574 static const VkAccessFlagBits2 VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR = 16;
1575 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_READ_BIT = 32;
1576 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_READ_BIT_KHR = 32;
1577 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_WRITE_BIT = 64;
1578 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_WRITE_BIT_KHR = 64;
1579 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT = 128;
1580 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR = 128;
1581 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT = 256;
1582 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR = 256;
1583 static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 512;
1584 static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR = 512;
1585 static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 1024;
1586 static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR = 1024;
1587 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_READ_BIT = 2048;
1588 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_READ_BIT_KHR = 2048;
1589 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_WRITE_BIT = 4096;
1590 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR = 4096;
1591 static const VkAccessFlagBits2 VK_ACCESS_2_HOST_READ_BIT = 8192;
1592 static const VkAccessFlagBits2 VK_ACCESS_2_HOST_READ_BIT_KHR = 8192;
1593 static const VkAccessFlagBits2 VK_ACCESS_2_HOST_WRITE_BIT = 16384;
1594 static const VkAccessFlagBits2 VK_ACCESS_2_HOST_WRITE_BIT_KHR = 16384;
1595 static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_READ_BIT = 32768;
1596 static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_READ_BIT_KHR = 32768;
1597 static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_WRITE_BIT = 65536;
1598 static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_WRITE_BIT_KHR = 65536;
1599 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_SAMPLED_READ_BIT = 4294967296;
1600 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR = 4294967296;
1601 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_READ_BIT = 8589934592;
1602 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR = 8589934592;
1603 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT = 17179869184;
1604 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR = 17179869184;
1605 
1606 typedef uint64_t VkPipelineStageFlagBits2;
1607 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_NONE = 0;
1608 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_NONE_KHR = 0;
1609 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT = 1;
1610 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR = 1;
1611 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT = 2;
1612 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR = 2;
1613 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT = 4;
1614 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR = 4;
1615 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT = 8;
1616 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR = 8;
1617 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT = 16;
1618 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR = 16;
1619 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT = 32;
1620 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR = 32;
1621 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT = 64;
1622 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR = 64;
1623 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT = 128;
1624 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR = 128;
1625 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT = 256;
1626 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR = 256;
1627 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT = 512;
1628 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR = 512;
1629 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT = 1024;
1630 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR = 1024;
1631 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT = 2048;
1632 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR = 2048;
1633 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT = 4096;
1634 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR = 4096;
1635 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFER_BIT = 4096;
1636 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR = 4096;
1637 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT = 8192;
1638 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR = 8192;
1639 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_HOST_BIT = 16384;
1640 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_HOST_BIT_KHR = 16384;
1641 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT = 32768;
1642 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR = 32768;
1643 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT = 65536;
1644 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR = 65536;
1645 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COPY_BIT = 4294967296;
1646 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COPY_BIT_KHR = 4294967296;
1647 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RESOLVE_BIT = 8589934592;
1648 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR = 8589934592;
1649 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BLIT_BIT = 17179869184;
1650 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BLIT_BIT_KHR = 17179869184;
1651 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CLEAR_BIT = 34359738368;
1652 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR = 34359738368;
1653 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT = 68719476736;
1654 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR = 68719476736;
1655 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT = 137438953472;
1656 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR = 137438953472;
1657 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT = 274877906944;
1658 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR = 274877906944;
1659 
1660 typedef uint64_t VkFormatFeatureFlagBits2;
1661 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT = 1;
1662 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR = 1;
1663 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT = 2;
1664 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT_KHR = 2;
1665 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT = 4;
1666 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT_KHR = 4;
1667 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT = 8;
1668 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR = 8;
1669 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT = 16;
1670 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT_KHR = 16;
1671 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 32;
1672 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT_KHR = 32;
1673 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT = 64;
1674 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT_KHR = 64;
1675 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT = 128;
1676 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT_KHR = 128;
1677 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT = 256;
1678 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT_KHR = 256;
1679 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT = 512;
1680 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHR = 512;
1681 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_SRC_BIT = 1024;
1682 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR = 1024;
1683 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_DST_BIT = 2048;
1684 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_DST_BIT_KHR = 2048;
1685 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 4096;
1686 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT_KHR = 4096;
1687 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT = 8192;
1688 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = 8192;
1689 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT = 16384;
1690 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT_KHR = 16384;
1691 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT = 32768;
1692 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT_KHR = 32768;
1693 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 65536;
1694 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT_KHR = 65536;
1695 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT = 131072;
1696 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = 131072;
1697 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 262144;
1698 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = 262144;
1699 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 524288;
1700 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = 524288;
1701 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 1048576;
1702 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = 1048576;
1703 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 2097152;
1704 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR = 2097152;
1705 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DISJOINT_BIT = 4194304;
1706 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DISJOINT_BIT_KHR = 4194304;
1707 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT = 8388608;
1708 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT_KHR = 8388608;
1709 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT = 2147483648;
1710 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR = 2147483648;
1711 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT = 4294967296;
1712 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR = 4294967296;
1713 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT = 8589934592;
1714 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR = 8589934592;
1715 
1716 typedef enum VkRenderingFlagBits {
1717  VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT = 1,
1718  VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR = VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT,
1719  VK_RENDERING_SUSPENDING_BIT = 2,
1720  VK_RENDERING_SUSPENDING_BIT_KHR = VK_RENDERING_SUSPENDING_BIT,
1721  VK_RENDERING_RESUMING_BIT = 4,
1722  VK_RENDERING_RESUMING_BIT_KHR = VK_RENDERING_RESUMING_BIT,
1723  VK_RENDERING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1724 } VkRenderingFlagBits;
1725 typedef enum VkColorSpaceKHR {
1726  VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0,
1727  VK_COLORSPACE_SRGB_NONLINEAR_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
1728  VK_COLOR_SPACE_MAX_ENUM_KHR = 0x7FFFFFFF
1729 } VkColorSpaceKHR;
1730 typedef enum VkCompositeAlphaFlagBitsKHR {
1731  VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 1,
1732  VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 2,
1733  VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 4,
1734  VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 8,
1735  VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
1736 } VkCompositeAlphaFlagBitsKHR;
1737 typedef enum VkPresentModeKHR {
1738  VK_PRESENT_MODE_IMMEDIATE_KHR = 0,
1739  VK_PRESENT_MODE_MAILBOX_KHR = 1,
1740  VK_PRESENT_MODE_FIFO_KHR = 2,
1741  VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3,
1742  VK_PRESENT_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
1743 } VkPresentModeKHR;
1744 typedef enum VkSurfaceTransformFlagBitsKHR {
1745  VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 1,
1746  VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 2,
1747  VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 4,
1748  VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 8,
1749  VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 16,
1750  VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 32,
1751  VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 64,
1752  VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 128,
1753  VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 256,
1754  VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
1755 } VkSurfaceTransformFlagBitsKHR;
1756 typedef enum VkDebugReportFlagBitsEXT {
1757  VK_DEBUG_REPORT_INFORMATION_BIT_EXT = 1,
1758  VK_DEBUG_REPORT_WARNING_BIT_EXT = 2,
1759  VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = 4,
1760  VK_DEBUG_REPORT_ERROR_BIT_EXT = 8,
1761  VK_DEBUG_REPORT_DEBUG_BIT_EXT = 16,
1762  VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
1763 } VkDebugReportFlagBitsEXT;
1764 typedef enum VkDebugReportObjectTypeEXT {
1765  VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT = 0,
1766  VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT = 1,
1767  VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT = 2,
1768  VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT = 3,
1769  VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT = 4,
1770  VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT = 5,
1771  VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT = 6,
1772  VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT = 7,
1773  VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT = 8,
1774  VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT = 9,
1775  VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT = 10,
1776  VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT = 11,
1777  VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT = 12,
1778  VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT = 13,
1779  VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT = 14,
1780  VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT = 15,
1781  VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT = 16,
1782  VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT = 17,
1783  VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT = 18,
1784  VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT = 19,
1785  VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT = 20,
1786  VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT = 21,
1787  VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT = 22,
1788  VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT = 23,
1789  VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT = 24,
1790  VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT = 25,
1791  VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = 26,
1792  VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = 27,
1793  VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT = 28,
1794  VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT,
1795  VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT = 29,
1796  VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = 30,
1797  VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT = 33,
1798  VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT,
1799  VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT = 1000156000,
1800  VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT = 1000085000,
1801  VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
1802 } VkDebugReportObjectTypeEXT;
1803 typedef enum VkExternalMemoryHandleTypeFlagBits {
1804  VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT = 1,
1805  VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT = 2,
1806  VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 4,
1807  VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT = 8,
1808  VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT = 16,
1809  VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT = 32,
1810  VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT = 64,
1811  VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1812 } VkExternalMemoryHandleTypeFlagBits;
1813 typedef enum VkExternalMemoryFeatureFlagBits {
1814  VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT = 1,
1815  VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT = 2,
1816  VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT = 4,
1817  VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1818 } VkExternalMemoryFeatureFlagBits;
1819 typedef enum VkExternalSemaphoreHandleTypeFlagBits {
1820  VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT = 1,
1821  VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 2,
1822  VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 4,
1823  VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT = 8,
1824  VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
1825  VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT = 16,
1826  VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1827 } VkExternalSemaphoreHandleTypeFlagBits;
1828 typedef enum VkExternalSemaphoreFeatureFlagBits {
1829  VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT = 1,
1830  VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT = 2,
1831  VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1832 } VkExternalSemaphoreFeatureFlagBits;
1833 typedef enum VkSemaphoreImportFlagBits {
1834  VK_SEMAPHORE_IMPORT_TEMPORARY_BIT = 1,
1835  VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1836 } VkSemaphoreImportFlagBits;
1837 typedef enum VkExternalFenceHandleTypeFlagBits {
1838  VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT = 1,
1839  VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 2,
1840  VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 4,
1841  VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT = 8,
1842  VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1843 } VkExternalFenceHandleTypeFlagBits;
1844 typedef enum VkExternalFenceFeatureFlagBits {
1845  VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT = 1,
1846  VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT = 2,
1847  VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1848 } VkExternalFenceFeatureFlagBits;
1849 typedef enum VkFenceImportFlagBits {
1850  VK_FENCE_IMPORT_TEMPORARY_BIT = 1,
1851  VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1852 } VkFenceImportFlagBits;
1853 typedef enum VkPeerMemoryFeatureFlagBits {
1854  VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT = 1,
1855  VK_PEER_MEMORY_FEATURE_COPY_DST_BIT = 2,
1856  VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT = 4,
1857  VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT = 8,
1858  VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1859 } VkPeerMemoryFeatureFlagBits;
1860 typedef enum VkMemoryAllocateFlagBits {
1861  VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT = 1,
1862  VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT = 2,
1863  VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 4,
1864  VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1865 } VkMemoryAllocateFlagBits;
1866 typedef enum VkDeviceGroupPresentModeFlagBitsKHR {
1867  VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR = 1,
1868  VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR = 2,
1869  VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR = 4,
1870  VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR = 8,
1871  VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
1872 } VkDeviceGroupPresentModeFlagBitsKHR;
1873 typedef enum VkSwapchainCreateFlagBitsKHR {
1874  VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 1,
1875  VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR = 2,
1876  VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
1877 } VkSwapchainCreateFlagBitsKHR;
1878 typedef enum VkSubgroupFeatureFlagBits {
1879  VK_SUBGROUP_FEATURE_BASIC_BIT = 1,
1880  VK_SUBGROUP_FEATURE_VOTE_BIT = 2,
1881  VK_SUBGROUP_FEATURE_ARITHMETIC_BIT = 4,
1882  VK_SUBGROUP_FEATURE_BALLOT_BIT = 8,
1883  VK_SUBGROUP_FEATURE_SHUFFLE_BIT = 16,
1884  VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = 32,
1885  VK_SUBGROUP_FEATURE_CLUSTERED_BIT = 64,
1886  VK_SUBGROUP_FEATURE_QUAD_BIT = 128,
1887  VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1888 } VkSubgroupFeatureFlagBits;
1889 typedef enum VkTessellationDomainOrigin {
1890  VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT = 0,
1891  VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT = 1,
1892  VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM = 0x7FFFFFFF
1893 } VkTessellationDomainOrigin;
1894 typedef enum VkSamplerYcbcrModelConversion {
1895  VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY = 0,
1896  VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY = 1,
1897  VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 = 2,
1898  VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 = 3,
1899  VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 = 4,
1900  VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM = 0x7FFFFFFF
1901 } VkSamplerYcbcrModelConversion;
1902 typedef enum VkSamplerYcbcrRange {
1903  VK_SAMPLER_YCBCR_RANGE_ITU_FULL = 0,
1904  VK_SAMPLER_YCBCR_RANGE_ITU_NARROW = 1,
1905  VK_SAMPLER_YCBCR_RANGE_MAX_ENUM = 0x7FFFFFFF
1906 } VkSamplerYcbcrRange;
1907 typedef enum VkChromaLocation {
1908  VK_CHROMA_LOCATION_COSITED_EVEN = 0,
1909  VK_CHROMA_LOCATION_MIDPOINT = 1,
1910  VK_CHROMA_LOCATION_MAX_ENUM = 0x7FFFFFFF
1911 } VkChromaLocation;
1912 typedef enum VkSamplerReductionMode {
1913  VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE = 0,
1914  VK_SAMPLER_REDUCTION_MODE_MIN = 1,
1915  VK_SAMPLER_REDUCTION_MODE_MAX = 2,
1916  VK_SAMPLER_REDUCTION_MODE_MAX_ENUM = 0x7FFFFFFF
1917 } VkSamplerReductionMode;
1918 typedef enum VkShaderFloatControlsIndependence {
1919  VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY = 0,
1920  VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL = 1,
1921  VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE = 2,
1922  VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_MAX_ENUM = 0x7FFFFFFF
1923 } VkShaderFloatControlsIndependence;
1924 typedef enum VkSubmitFlagBits {
1925  VK_SUBMIT_PROTECTED_BIT = 1,
1926  VK_SUBMIT_PROTECTED_BIT_KHR = VK_SUBMIT_PROTECTED_BIT,
1927  VK_SUBMIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1928 } VkSubmitFlagBits;
1929 typedef enum VkVendorId {
1930  VK_VENDOR_ID_VIV = 0x10001,
1931  VK_VENDOR_ID_VSI = 0x10002,
1932  VK_VENDOR_ID_KAZAN = 0x10003,
1933  VK_VENDOR_ID_CODEPLAY = 0x10004,
1934  VK_VENDOR_ID_MESA = 0x10005,
1935  VK_VENDOR_ID_POCL = 0x10006,
1936  VK_VENDOR_ID_MAX_ENUM = 0x7FFFFFFF
1937 } VkVendorId;
1938 typedef enum VkDriverId {
1939  VK_DRIVER_ID_AMD_PROPRIETARY = 1,
1940  VK_DRIVER_ID_AMD_OPEN_SOURCE = 2,
1941  VK_DRIVER_ID_MESA_RADV = 3,
1942  VK_DRIVER_ID_NVIDIA_PROPRIETARY = 4,
1943  VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS = 5,
1944  VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA = 6,
1945  VK_DRIVER_ID_IMAGINATION_PROPRIETARY = 7,
1946  VK_DRIVER_ID_QUALCOMM_PROPRIETARY = 8,
1947  VK_DRIVER_ID_ARM_PROPRIETARY = 9,
1948  VK_DRIVER_ID_GOOGLE_SWIFTSHADER = 10,
1949  VK_DRIVER_ID_GGP_PROPRIETARY = 11,
1950  VK_DRIVER_ID_BROADCOM_PROPRIETARY = 12,
1951  VK_DRIVER_ID_MESA_LLVMPIPE = 13,
1952  VK_DRIVER_ID_MOLTENVK = 14,
1953  VK_DRIVER_ID_COREAVI_PROPRIETARY = 15,
1954  VK_DRIVER_ID_JUICE_PROPRIETARY = 16,
1955  VK_DRIVER_ID_VERISILICON_PROPRIETARY = 17,
1956  VK_DRIVER_ID_MESA_TURNIP = 18,
1957  VK_DRIVER_ID_MESA_V3DV = 19,
1958  VK_DRIVER_ID_MESA_PANVK = 20,
1959  VK_DRIVER_ID_SAMSUNG_PROPRIETARY = 21,
1960  VK_DRIVER_ID_MESA_VENUS = 22,
1961  VK_DRIVER_ID_MESA_DOZEN = 23,
1962  VK_DRIVER_ID_MAX_ENUM = 0x7FFFFFFF
1963 } VkDriverId;
1964 typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(
1965  void* pUserData,
1966  size_t size,
1967  VkInternalAllocationType allocationType,
1968  VkSystemAllocationScope allocationScope);
1969 typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(
1970  void* pUserData,
1971  size_t size,
1972  VkInternalAllocationType allocationType,
1973  VkSystemAllocationScope allocationScope);
1974 typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
1975  void* pUserData,
1976  void* pOriginal,
1977  size_t size,
1978  size_t alignment,
1979  VkSystemAllocationScope allocationScope);
1980 typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
1981  void* pUserData,
1982  size_t size,
1983  size_t alignment,
1984  VkSystemAllocationScope allocationScope);
1985 typedef void (VKAPI_PTR *PFN_vkFreeFunction)(
1986  void* pUserData,
1987  void* pMemory);
1988 typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
1989 typedef struct VkBaseOutStructure {
1990  VkStructureType sType;
1991  struct VkBaseOutStructure * pNext;
1993 
1994 typedef struct VkBaseInStructure {
1995  VkStructureType sType;
1996  const struct VkBaseInStructure * pNext;
1998 
1999 typedef struct VkOffset2D {
2000  int32_t x;
2001  int32_t y;
2002 } VkOffset2D;
2003 
2004 typedef struct VkOffset3D {
2005  int32_t x;
2006  int32_t y;
2007  int32_t z;
2008 } VkOffset3D;
2009 
2010 typedef struct VkExtent2D {
2011  uint32_t width;
2012  uint32_t height;
2013 } VkExtent2D;
2014 
2015 typedef struct VkExtent3D {
2016  uint32_t width;
2017  uint32_t height;
2018  uint32_t depth;
2019 } VkExtent3D;
2020 
2021 typedef struct VkViewport {
2022  float x;
2023  float y;
2024  float width;
2025  float height;
2026  float minDepth;
2027  float maxDepth;
2028 } VkViewport;
2029 
2030 typedef struct VkRect2D {
2031  VkOffset2D offset;
2032  VkExtent2D extent;
2033 } VkRect2D;
2034 
2035 typedef struct VkClearRect {
2036  VkRect2D rect;
2037  uint32_t baseArrayLayer;
2038  uint32_t layerCount;
2039 } VkClearRect;
2040 
2041 typedef struct VkComponentMapping {
2042  VkComponentSwizzle r;
2043  VkComponentSwizzle g;
2044  VkComponentSwizzle b;
2045  VkComponentSwizzle a;
2047 
2048 typedef struct VkExtensionProperties {
2049  char extensionName [ VK_MAX_EXTENSION_NAME_SIZE ];
2050  uint32_t specVersion;
2052 
2053 typedef struct VkLayerProperties {
2054  char layerName [ VK_MAX_EXTENSION_NAME_SIZE ];
2055  uint32_t specVersion;
2056  uint32_t implementationVersion;
2057  char description [ VK_MAX_DESCRIPTION_SIZE ];
2059 
2060 typedef struct VkApplicationInfo {
2061  VkStructureType sType;
2062  const void * pNext;
2063  const char * pApplicationName;
2064  uint32_t applicationVersion;
2065  const char * pEngineName;
2066  uint32_t engineVersion;
2067  uint32_t apiVersion;
2069 
2070 typedef struct VkAllocationCallbacks {
2071  void * pUserData;
2072  PFN_vkAllocationFunction pfnAllocation;
2073  PFN_vkReallocationFunction pfnReallocation;
2074  PFN_vkFreeFunction pfnFree;
2075  PFN_vkInternalAllocationNotification pfnInternalAllocation;
2076  PFN_vkInternalFreeNotification pfnInternalFree;
2078 
2079 typedef struct VkDescriptorImageInfo {
2080  VkSampler sampler;
2081  VkImageView imageView;
2082  VkImageLayout imageLayout;
2084 
2085 typedef struct VkCopyDescriptorSet {
2086  VkStructureType sType;
2087  const void * pNext;
2088  VkDescriptorSet srcSet;
2089  uint32_t srcBinding;
2090  uint32_t srcArrayElement;
2091  VkDescriptorSet dstSet;
2092  uint32_t dstBinding;
2093  uint32_t dstArrayElement;
2094  uint32_t descriptorCount;
2096 
2097 typedef struct VkDescriptorPoolSize {
2098  VkDescriptorType type;
2099  uint32_t descriptorCount;
2101 
2103  VkStructureType sType;
2104  const void * pNext;
2105  VkDescriptorPool descriptorPool;
2106  uint32_t descriptorSetCount;
2107  const VkDescriptorSetLayout * pSetLayouts;
2109 
2111  uint32_t constantID;
2112  uint32_t offset;
2113  size_t size;
2115 
2116 typedef struct VkSpecializationInfo {
2117  uint32_t mapEntryCount;
2118  const VkSpecializationMapEntry * pMapEntries;
2119  size_t dataSize;
2120  const void * pData;
2122 
2124  uint32_t binding;
2125  uint32_t stride;
2126  VkVertexInputRate inputRate;
2128 
2130  uint32_t location;
2131  uint32_t binding;
2132  VkFormat format;
2133  uint32_t offset;
2135 
2136 typedef struct VkStencilOpState {
2137  VkStencilOp failOp;
2138  VkStencilOp passOp;
2139  VkStencilOp depthFailOp;
2140  VkCompareOp compareOp;
2141  uint32_t compareMask;
2142  uint32_t writeMask;
2143  uint32_t reference;
2145 
2147  uint32_t headerSize;
2148  VkPipelineCacheHeaderVersion headerVersion;
2149  uint32_t vendorID;
2150  uint32_t deviceID;
2151  uint8_t pipelineCacheUUID [ VK_UUID_SIZE ];
2153 
2155  VkStructureType sType;
2156  const void * pNext;
2157  VkCommandPool commandPool;
2158  VkCommandBufferLevel level;
2159  uint32_t commandBufferCount;
2161 
2162 typedef union VkClearColorValue {
2163  float float32 [4];
2164  int32_t int32 [4];
2165  uint32_t uint32 [4];
2167 
2169  float depth;
2170  uint32_t stencil;
2172 
2173 typedef union VkClearValue {
2174  VkClearColorValue color;
2175  VkClearDepthStencilValue depthStencil;
2176 } VkClearValue;
2177 
2178 typedef struct VkAttachmentReference {
2179  uint32_t attachment;
2180  VkImageLayout layout;
2182 
2183 typedef struct VkDrawIndirectCommand {
2184  uint32_t vertexCount;
2185  uint32_t instanceCount;
2186  uint32_t firstVertex;
2187  uint32_t firstInstance;
2189 
2191  uint32_t indexCount;
2192  uint32_t instanceCount;
2193  uint32_t firstIndex;
2194  int32_t vertexOffset;
2195  uint32_t firstInstance;
2197 
2199  uint32_t x;
2200  uint32_t y;
2201  uint32_t z;
2203 
2204 typedef struct VkSurfaceFormatKHR {
2205  VkFormat format;
2206  VkColorSpaceKHR colorSpace;
2208 
2209 typedef struct VkPresentInfoKHR {
2210  VkStructureType sType;
2211  const void * pNext;
2212  uint32_t waitSemaphoreCount;
2213  const VkSemaphore * pWaitSemaphores;
2214  uint32_t swapchainCount;
2215  const VkSwapchainKHR * pSwapchains;
2216  const uint32_t * pImageIndices;
2217  VkResult * pResults;
2219 
2221  VkStructureType sType;
2222  const void * pNext;
2223  uint32_t privateDataSlotRequestCount;
2225 
2226 typedef struct VkConformanceVersion {
2227  uint8_t major;
2228  uint8_t minor;
2229  uint8_t subminor;
2230  uint8_t patch;
2232 
2234  VkStructureType sType;
2235  void * pNext;
2236  VkDriverId driverID;
2237  char driverName [ VK_MAX_DRIVER_NAME_SIZE ];
2238  char driverInfo [ VK_MAX_DRIVER_INFO_SIZE ];
2239  VkConformanceVersion conformanceVersion;
2241 
2243  VkStructureType sType;
2244  const void * pNext;
2245  VkExternalMemoryHandleTypeFlagBits handleType;
2247 
2249  VkStructureType sType;
2250  const void * pNext;
2251  VkExternalSemaphoreHandleTypeFlagBits handleType;
2253 
2255  VkStructureType sType;
2256  const void * pNext;
2257  VkExternalFenceHandleTypeFlagBits handleType;
2259 
2261  VkStructureType sType;
2262  void * pNext;
2263  uint32_t maxMultiviewViewCount;
2264  uint32_t maxMultiviewInstanceIndex;
2266 
2268  VkStructureType sType;
2269  const void * pNext;
2270  uint32_t subpassCount;
2271  const uint32_t * pViewMasks;
2272  uint32_t dependencyCount;
2273  const int32_t * pViewOffsets;
2274  uint32_t correlationMaskCount;
2275  const uint32_t * pCorrelationMasks;
2277 
2279  VkStructureType sType;
2280  const void * pNext;
2281  uint32_t deviceIndexCount;
2282  const uint32_t * pDeviceIndices;
2284 
2286  VkStructureType sType;
2287  const void * pNext;
2288  uint32_t deviceIndexCount;
2289  const uint32_t * pDeviceIndices;
2290  uint32_t splitInstanceBindRegionCount;
2291  const VkRect2D * pSplitInstanceBindRegions;
2293 
2295  VkStructureType sType;
2296  const void * pNext;
2297  uint32_t deviceMask;
2298  uint32_t deviceRenderAreaCount;
2299  const VkRect2D * pDeviceRenderAreas;
2301 
2303  VkStructureType sType;
2304  const void * pNext;
2305  uint32_t deviceMask;
2307 
2308 typedef struct VkDeviceGroupSubmitInfo {
2309  VkStructureType sType;
2310  const void * pNext;
2311  uint32_t waitSemaphoreCount;
2312  const uint32_t * pWaitSemaphoreDeviceIndices;
2313  uint32_t commandBufferCount;
2314  const uint32_t * pCommandBufferDeviceMasks;
2315  uint32_t signalSemaphoreCount;
2316  const uint32_t * pSignalSemaphoreDeviceIndices;
2318 
2320  VkStructureType sType;
2321  const void * pNext;
2322  uint32_t resourceDeviceIndex;
2323  uint32_t memoryDeviceIndex;
2325 
2327  VkStructureType sType;
2328  const void * pNext;
2329  VkSwapchainKHR swapchain;
2331 
2333  VkStructureType sType;
2334  const void * pNext;
2335  VkSwapchainKHR swapchain;
2336  uint32_t imageIndex;
2338 
2340  VkStructureType sType;
2341  const void * pNext;
2342  VkSwapchainKHR swapchain;
2343  uint64_t timeout;
2344  VkSemaphore semaphore;
2345  VkFence fence;
2346  uint32_t deviceMask;
2348 
2350  VkStructureType sType;
2351  const void * pNext;
2352  uint32_t swapchainCount;
2353  const uint32_t * pDeviceMasks;
2354  VkDeviceGroupPresentModeFlagBitsKHR mode;
2356 
2358  VkStructureType sType;
2359  const void * pNext;
2360  uint32_t physicalDeviceCount;
2361  const VkPhysicalDevice * pPhysicalDevices;
2363 
2365  uint32_t dstBinding;
2366  uint32_t dstArrayElement;
2367  uint32_t descriptorCount;
2368  VkDescriptorType descriptorType;
2369  size_t offset;
2370  size_t stride;
2372 
2374  VkStructureType sType;
2375  const void * pNext;
2376  VkBuffer buffer;
2378 
2380  VkStructureType sType;
2381  const void * pNext;
2382  VkImage image;
2384 
2386  VkStructureType sType;
2387  const void * pNext;
2388  VkImage image;
2390 
2392  VkStructureType sType;
2393  void * pNext;
2394  VkPointClippingBehavior pointClippingBehavior;
2396 
2398  VkStructureType sType;
2399  const void * pNext;
2400  VkImage image;
2401  VkBuffer buffer;
2403 
2405  VkStructureType sType;
2406  const void * pNext;
2407  VkTessellationDomainOrigin domainOrigin;
2409 
2411  VkStructureType sType;
2412  const void * pNext;
2413  VkSamplerYcbcrConversion conversion;
2415 
2417  VkStructureType sType;
2418  const void * pNext;
2419  VkImageAspectFlagBits planeAspect;
2421 
2423  VkStructureType sType;
2424  const void * pNext;
2425  VkImageAspectFlagBits planeAspect;
2427 
2429  VkStructureType sType;
2430  void * pNext;
2431  uint32_t combinedImageSamplerDescriptorCount;
2433 
2435  VkStructureType sType;
2436  const void * pNext;
2437  VkSamplerReductionMode reductionMode;
2439 
2441  VkStructureType sType;
2442  void * pNext;
2443  uint32_t maxInlineUniformBlockSize;
2444  uint32_t maxPerStageDescriptorInlineUniformBlocks;
2445  uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
2446  uint32_t maxDescriptorSetInlineUniformBlocks;
2447  uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
2449 
2451  VkStructureType sType;
2452  const void * pNext;
2453  uint32_t dataSize;
2454  const void * pData;
2456 
2458  VkStructureType sType;
2459  const void * pNext;
2460  uint32_t maxInlineUniformBlockBindings;
2462 
2464  VkStructureType sType;
2465  const void * pNext;
2466  uint32_t viewFormatCount;
2467  const VkFormat * pViewFormats;
2469 
2471  VkStructureType sType;
2472  const void * pNext;
2473  uint32_t descriptorSetCount;
2474  const uint32_t * pDescriptorCounts;
2476 
2478  VkStructureType sType;
2479  void * pNext;
2480  uint32_t maxVariableDescriptorCount;
2482 
2483 typedef struct VkSubpassBeginInfo {
2484  VkStructureType sType;
2485  const void * pNext;
2486  VkSubpassContents contents;
2488 
2489 typedef struct VkSubpassEndInfo {
2490  VkStructureType sType;
2491  const void * pNext;
2493 
2495  VkStructureType sType;
2496  void * pNext;
2497  uint64_t maxTimelineSemaphoreValueDifference;
2499 
2501  VkStructureType sType;
2502  const void * pNext;
2503  VkSemaphoreType semaphoreType;
2504  uint64_t initialValue;
2506 
2508  VkStructureType sType;
2509  const void * pNext;
2510  uint32_t waitSemaphoreValueCount;
2511  const uint64_t * pWaitSemaphoreValues;
2512  uint32_t signalSemaphoreValueCount;
2513  const uint64_t * pSignalSemaphoreValues;
2515 
2516 typedef struct VkSemaphoreSignalInfo {
2517  VkStructureType sType;
2518  const void * pNext;
2519  VkSemaphore semaphore;
2520  uint64_t value;
2522 
2524  VkStructureType sType;
2525  const void * pNext;
2526  VkBuffer buffer;
2528 
2530  VkStructureType sType;
2531  const void * pNext;
2532  uint64_t opaqueCaptureAddress;
2534 
2536  VkStructureType sType;
2537  const void * pNext;
2538  uint32_t attachmentCount;
2539  const VkImageView * pAttachments;
2541 
2543  VkStructureType sType;
2544  void * pNext;
2545  VkImageLayout stencilLayout;
2547 
2549  VkStructureType sType;
2550  void * pNext;
2551  VkImageLayout stencilInitialLayout;
2552  VkImageLayout stencilFinalLayout;
2554 
2556  VkStructureType sType;
2557  void * pNext;
2558  uint32_t requiredSubgroupSize;
2560 
2562  VkStructureType sType;
2563  const void * pNext;
2564  uint64_t opaqueCaptureAddress;
2566 
2568  VkStructureType sType;
2569  const void * pNext;
2570  VkDeviceMemory memory;
2572 
2574  VkStructureType sType;
2575  const void * pNext;
2576  VkCommandBuffer commandBuffer;
2577  uint32_t deviceMask;
2579 
2581  VkStructureType sType;
2582  const void * pNext;
2583  uint32_t viewMask;
2584  uint32_t colorAttachmentCount;
2585  const VkFormat * pColorAttachmentFormats;
2586  VkFormat depthAttachmentFormat;
2587  VkFormat stencilAttachmentFormat;
2589 
2591  VkStructureType sType;
2592  const void * pNext;
2593  VkImageView imageView;
2594  VkImageLayout imageLayout;
2595  VkResolveModeFlagBits resolveMode;
2596  VkImageView resolveImageView;
2597  VkImageLayout resolveImageLayout;
2598  VkAttachmentLoadOp loadOp;
2599  VkAttachmentStoreOp storeOp;
2600  VkClearValue clearValue;
2602 
2603 typedef uint32_t VkSampleMask;
2604 typedef uint32_t VkBool32;
2605 typedef uint32_t VkFlags;
2606 typedef uint64_t VkFlags64;
2607 typedef uint64_t VkDeviceSize;
2608 typedef uint64_t VkDeviceAddress;
2609 typedef VkFlags VkFramebufferCreateFlags;
2610 typedef VkFlags VkQueryPoolCreateFlags;
2611 typedef VkFlags VkRenderPassCreateFlags;
2612 typedef VkFlags VkSamplerCreateFlags;
2613 typedef VkFlags VkPipelineLayoutCreateFlags;
2614 typedef VkFlags VkPipelineCacheCreateFlags;
2615 typedef VkFlags VkPipelineDepthStencilStateCreateFlags;
2616 typedef VkFlags VkPipelineDynamicStateCreateFlags;
2617 typedef VkFlags VkPipelineColorBlendStateCreateFlags;
2618 typedef VkFlags VkPipelineMultisampleStateCreateFlags;
2619 typedef VkFlags VkPipelineRasterizationStateCreateFlags;
2620 typedef VkFlags VkPipelineViewportStateCreateFlags;
2621 typedef VkFlags VkPipelineTessellationStateCreateFlags;
2622 typedef VkFlags VkPipelineInputAssemblyStateCreateFlags;
2623 typedef VkFlags VkPipelineVertexInputStateCreateFlags;
2624 typedef VkFlags VkPipelineShaderStageCreateFlags;
2625 typedef VkFlags VkDescriptorSetLayoutCreateFlags;
2626 typedef VkFlags VkBufferViewCreateFlags;
2627 typedef VkFlags VkInstanceCreateFlags;
2628 typedef VkFlags VkDeviceCreateFlags;
2629 typedef VkFlags VkDeviceQueueCreateFlags;
2630 typedef VkFlags VkQueueFlags;
2631 typedef VkFlags VkMemoryPropertyFlags;
2632 typedef VkFlags VkMemoryHeapFlags;
2633 typedef VkFlags VkAccessFlags;
2634 typedef VkFlags VkBufferUsageFlags;
2635 typedef VkFlags VkBufferCreateFlags;
2636 typedef VkFlags VkShaderStageFlags;
2637 typedef VkFlags VkImageUsageFlags;
2638 typedef VkFlags VkImageCreateFlags;
2639 typedef VkFlags VkImageViewCreateFlags;
2640 typedef VkFlags VkPipelineCreateFlags;
2641 typedef VkFlags VkColorComponentFlags;
2642 typedef VkFlags VkFenceCreateFlags;
2643 typedef VkFlags VkSemaphoreCreateFlags;
2644 typedef VkFlags VkFormatFeatureFlags;
2645 typedef VkFlags VkQueryControlFlags;
2646 typedef VkFlags VkQueryResultFlags;
2647 typedef VkFlags VkShaderModuleCreateFlags;
2648 typedef VkFlags VkEventCreateFlags;
2649 typedef VkFlags VkCommandPoolCreateFlags;
2650 typedef VkFlags VkCommandPoolResetFlags;
2651 typedef VkFlags VkCommandBufferResetFlags;
2652 typedef VkFlags VkCommandBufferUsageFlags;
2653 typedef VkFlags VkQueryPipelineStatisticFlags;
2654 typedef VkFlags VkMemoryMapFlags;
2655 typedef VkFlags VkImageAspectFlags;
2656 typedef VkFlags VkSparseMemoryBindFlags;
2657 typedef VkFlags VkSparseImageFormatFlags;
2658 typedef VkFlags VkSubpassDescriptionFlags;
2659 typedef VkFlags VkPipelineStageFlags;
2660 typedef VkFlags VkSampleCountFlags;
2661 typedef VkFlags VkAttachmentDescriptionFlags;
2662 typedef VkFlags VkStencilFaceFlags;
2663 typedef VkFlags VkCullModeFlags;
2664 typedef VkFlags VkDescriptorPoolCreateFlags;
2665 typedef VkFlags VkDescriptorPoolResetFlags;
2666 typedef VkFlags VkDependencyFlags;
2667 typedef VkFlags VkSubgroupFeatureFlags;
2668 typedef VkFlags VkPrivateDataSlotCreateFlags;
2669 typedef VkFlags VkDescriptorUpdateTemplateCreateFlags;
2670 typedef VkFlags VkPipelineCreationFeedbackFlags;
2671 typedef VkFlags VkSemaphoreWaitFlags;
2672 typedef VkFlags64 VkAccessFlags2;
2673 typedef VkFlags64 VkPipelineStageFlags2;
2674 typedef VkFlags64 VkFormatFeatureFlags2;
2675 typedef VkFlags VkRenderingFlags;
2676 typedef VkFlags VkCompositeAlphaFlagsKHR;
2677 typedef VkFlags VkSurfaceTransformFlagsKHR;
2678 typedef VkFlags VkSwapchainCreateFlagsKHR;
2679 typedef VkFlags VkPeerMemoryFeatureFlags;
2680 typedef VkFlags VkMemoryAllocateFlags;
2681 typedef VkFlags VkDeviceGroupPresentModeFlagsKHR;
2682 typedef VkFlags VkDebugReportFlagsEXT;
2683 typedef VkFlags VkCommandPoolTrimFlags;
2684 typedef VkFlags VkExternalMemoryHandleTypeFlags;
2685 typedef VkFlags VkExternalMemoryFeatureFlags;
2686 typedef VkFlags VkExternalSemaphoreHandleTypeFlags;
2687 typedef VkFlags VkExternalSemaphoreFeatureFlags;
2688 typedef VkFlags VkSemaphoreImportFlags;
2689 typedef VkFlags VkExternalFenceHandleTypeFlags;
2690 typedef VkFlags VkExternalFenceFeatureFlags;
2691 typedef VkFlags VkFenceImportFlags;
2692 typedef VkFlags VkDescriptorBindingFlags;
2693 typedef VkFlags VkResolveModeFlags;
2694 typedef VkFlags VkToolPurposeFlags;
2695 typedef VkFlags VkSubmitFlags;
2696 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugReportCallbackEXT)(
2697  VkDebugReportFlagsEXT flags,
2698  VkDebugReportObjectTypeEXT objectType,
2699  uint64_t object,
2700  size_t location,
2701  int32_t messageCode,
2702  const char* pLayerPrefix,
2703  const char* pMessage,
2704  void* pUserData);
2705 typedef struct VkDeviceQueueCreateInfo {
2706  VkStructureType sType;
2707  const void * pNext;
2708  VkDeviceQueueCreateFlags flags;
2709  uint32_t queueFamilyIndex;
2710  uint32_t queueCount;
2711  const float * pQueuePriorities;
2713 
2714 typedef struct VkInstanceCreateInfo {
2715  VkStructureType sType;
2716  const void * pNext;
2717  VkInstanceCreateFlags flags;
2718  const VkApplicationInfo * pApplicationInfo;
2719  uint32_t enabledLayerCount;
2720  const char * const* ppEnabledLayerNames;
2721  uint32_t enabledExtensionCount;
2722  const char * const* ppEnabledExtensionNames;
2724 
2725 typedef struct VkQueueFamilyProperties {
2726  VkQueueFlags queueFlags;
2727  uint32_t queueCount;
2728  uint32_t timestampValidBits;
2729  VkExtent3D minImageTransferGranularity;
2731 
2732 typedef struct VkMemoryAllocateInfo {
2733  VkStructureType sType;
2734  const void * pNext;
2735  VkDeviceSize allocationSize;
2736  uint32_t memoryTypeIndex;
2738 
2739 typedef struct VkMemoryRequirements {
2740  VkDeviceSize size;
2741  VkDeviceSize alignment;
2742  uint32_t memoryTypeBits;
2744 
2746  VkImageAspectFlags aspectMask;
2747  VkExtent3D imageGranularity;
2748  VkSparseImageFormatFlags flags;
2750 
2752  VkSparseImageFormatProperties formatProperties;
2753  uint32_t imageMipTailFirstLod;
2754  VkDeviceSize imageMipTailSize;
2755  VkDeviceSize imageMipTailOffset;
2756  VkDeviceSize imageMipTailStride;
2758 
2759 typedef struct VkMemoryType {
2760  VkMemoryPropertyFlags propertyFlags;
2761  uint32_t heapIndex;
2762 } VkMemoryType;
2763 
2764 typedef struct VkMemoryHeap {
2765  VkDeviceSize size;
2766  VkMemoryHeapFlags flags;
2767 } VkMemoryHeap;
2768 
2769 typedef struct VkMappedMemoryRange {
2770  VkStructureType sType;
2771  const void * pNext;
2772  VkDeviceMemory memory;
2773  VkDeviceSize offset;
2774  VkDeviceSize size;
2776 
2777 typedef struct VkFormatProperties {
2778  VkFormatFeatureFlags linearTilingFeatures;
2779  VkFormatFeatureFlags optimalTilingFeatures;
2780  VkFormatFeatureFlags bufferFeatures;
2782 
2783 typedef struct VkImageFormatProperties {
2784  VkExtent3D maxExtent;
2785  uint32_t maxMipLevels;
2786  uint32_t maxArrayLayers;
2787  VkSampleCountFlags sampleCounts;
2788  VkDeviceSize maxResourceSize;
2790 
2791 typedef struct VkDescriptorBufferInfo {
2792  VkBuffer buffer;
2793  VkDeviceSize offset;
2794  VkDeviceSize range;
2796 
2797 typedef struct VkWriteDescriptorSet {
2798  VkStructureType sType;
2799  const void * pNext;
2800  VkDescriptorSet dstSet;
2801  uint32_t dstBinding;
2802  uint32_t dstArrayElement;
2803  uint32_t descriptorCount;
2804  VkDescriptorType descriptorType;
2805  const VkDescriptorImageInfo * pImageInfo;
2806  const VkDescriptorBufferInfo * pBufferInfo;
2807  const VkBufferView * pTexelBufferView;
2809 
2810 typedef struct VkBufferCreateInfo {
2811  VkStructureType sType;
2812  const void * pNext;
2813  VkBufferCreateFlags flags;
2814  VkDeviceSize size;
2815  VkBufferUsageFlags usage;
2816  VkSharingMode sharingMode;
2817  uint32_t queueFamilyIndexCount;
2818  const uint32_t * pQueueFamilyIndices;
2820 
2821 typedef struct VkBufferViewCreateInfo {
2822  VkStructureType sType;
2823  const void * pNext;
2824  VkBufferViewCreateFlags flags;
2825  VkBuffer buffer;
2826  VkFormat format;
2827  VkDeviceSize offset;
2828  VkDeviceSize range;
2830 
2831 typedef struct VkImageSubresource {
2832  VkImageAspectFlags aspectMask;
2833  uint32_t mipLevel;
2834  uint32_t arrayLayer;
2836 
2838  VkImageAspectFlags aspectMask;
2839  uint32_t mipLevel;
2840  uint32_t baseArrayLayer;
2841  uint32_t layerCount;
2843 
2844 typedef struct VkImageSubresourceRange {
2845  VkImageAspectFlags aspectMask;
2846  uint32_t baseMipLevel;
2847  uint32_t levelCount;
2848  uint32_t baseArrayLayer;
2849  uint32_t layerCount;
2851 
2852 typedef struct VkMemoryBarrier {
2853  VkStructureType sType;
2854  const void * pNext;
2855  VkAccessFlags srcAccessMask;
2856  VkAccessFlags dstAccessMask;
2857 } VkMemoryBarrier;
2858 
2859 typedef struct VkBufferMemoryBarrier {
2860  VkStructureType sType;
2861  const void * pNext;
2862  VkAccessFlags srcAccessMask;
2863  VkAccessFlags dstAccessMask;
2864  uint32_t srcQueueFamilyIndex;
2865  uint32_t dstQueueFamilyIndex;
2866  VkBuffer buffer;
2867  VkDeviceSize offset;
2868  VkDeviceSize size;
2870 
2871 typedef struct VkImageMemoryBarrier {
2872  VkStructureType sType;
2873  const void * pNext;
2874  VkAccessFlags srcAccessMask;
2875  VkAccessFlags dstAccessMask;
2876  VkImageLayout oldLayout;
2877  VkImageLayout newLayout;
2878  uint32_t srcQueueFamilyIndex;
2879  uint32_t dstQueueFamilyIndex;
2880  VkImage image;
2881  VkImageSubresourceRange subresourceRange;
2883 
2884 typedef struct VkImageCreateInfo {
2885  VkStructureType sType;
2886  const void * pNext;
2887  VkImageCreateFlags flags;
2888  VkImageType imageType;
2889  VkFormat format;
2890  VkExtent3D extent;
2891  uint32_t mipLevels;
2892  uint32_t arrayLayers;
2893  VkSampleCountFlagBits samples;
2894  VkImageTiling tiling;
2895  VkImageUsageFlags usage;
2896  VkSharingMode sharingMode;
2897  uint32_t queueFamilyIndexCount;
2898  const uint32_t * pQueueFamilyIndices;
2899  VkImageLayout initialLayout;
2901 
2902 typedef struct VkSubresourceLayout {
2903  VkDeviceSize offset;
2904  VkDeviceSize size;
2905  VkDeviceSize rowPitch;
2906  VkDeviceSize arrayPitch;
2907  VkDeviceSize depthPitch;
2909 
2910 typedef struct VkImageViewCreateInfo {
2911  VkStructureType sType;
2912  const void * pNext;
2913  VkImageViewCreateFlags flags;
2914  VkImage image;
2915  VkImageViewType viewType;
2916  VkFormat format;
2917  VkComponentMapping components;
2918  VkImageSubresourceRange subresourceRange;
2920 
2921 typedef struct VkBufferCopy {
2922  VkDeviceSize srcOffset;
2923  VkDeviceSize dstOffset;
2924  VkDeviceSize size;
2925 } VkBufferCopy;
2926 
2927 typedef struct VkSparseMemoryBind {
2928  VkDeviceSize resourceOffset;
2929  VkDeviceSize size;
2930  VkDeviceMemory memory;
2931  VkDeviceSize memoryOffset;
2932  VkSparseMemoryBindFlags flags;
2934 
2935 typedef struct VkSparseImageMemoryBind {
2936  VkImageSubresource subresource;
2937  VkOffset3D offset;
2938  VkExtent3D extent;
2939  VkDeviceMemory memory;
2940  VkDeviceSize memoryOffset;
2941  VkSparseMemoryBindFlags flags;
2943 
2945  VkBuffer buffer;
2946  uint32_t bindCount;
2947  const VkSparseMemoryBind * pBinds;
2949 
2951  VkImage image;
2952  uint32_t bindCount;
2953  const VkSparseMemoryBind * pBinds;
2955 
2957  VkImage image;
2958  uint32_t bindCount;
2959  const VkSparseImageMemoryBind * pBinds;
2961 
2962 typedef struct VkBindSparseInfo {
2963  VkStructureType sType;
2964  const void * pNext;
2965  uint32_t waitSemaphoreCount;
2966  const VkSemaphore * pWaitSemaphores;
2967  uint32_t bufferBindCount;
2968  const VkSparseBufferMemoryBindInfo * pBufferBinds;
2969  uint32_t imageOpaqueBindCount;
2970  const VkSparseImageOpaqueMemoryBindInfo * pImageOpaqueBinds;
2971  uint32_t imageBindCount;
2972  const VkSparseImageMemoryBindInfo * pImageBinds;
2973  uint32_t signalSemaphoreCount;
2974  const VkSemaphore * pSignalSemaphores;
2976 
2977 typedef struct VkImageCopy {
2978  VkImageSubresourceLayers srcSubresource;
2979  VkOffset3D srcOffset;
2980  VkImageSubresourceLayers dstSubresource;
2981  VkOffset3D dstOffset;
2982  VkExtent3D extent;
2983 } VkImageCopy;
2984 
2985 typedef struct VkImageBlit {
2986  VkImageSubresourceLayers srcSubresource;
2987  VkOffset3D srcOffsets [2];
2988  VkImageSubresourceLayers dstSubresource;
2989  VkOffset3D dstOffsets [2];
2990 } VkImageBlit;
2991 
2992 typedef struct VkBufferImageCopy {
2993  VkDeviceSize bufferOffset;
2994  uint32_t bufferRowLength;
2995  uint32_t bufferImageHeight;
2996  VkImageSubresourceLayers imageSubresource;
2997  VkOffset3D imageOffset;
2998  VkExtent3D imageExtent;
3000 
3001 typedef struct VkImageResolve {
3002  VkImageSubresourceLayers srcSubresource;
3003  VkOffset3D srcOffset;
3004  VkImageSubresourceLayers dstSubresource;
3005  VkOffset3D dstOffset;
3006  VkExtent3D extent;
3007 } VkImageResolve;
3008 
3010  VkStructureType sType;
3011  const void * pNext;
3012  VkShaderModuleCreateFlags flags;
3013  size_t codeSize;
3014  const uint32_t * pCode;
3016 
3018  uint32_t binding;
3019  VkDescriptorType descriptorType;
3020  uint32_t descriptorCount;
3021  VkShaderStageFlags stageFlags;
3022  const VkSampler * pImmutableSamplers;
3024 
3026  VkStructureType sType;
3027  const void * pNext;
3028  VkDescriptorSetLayoutCreateFlags flags;
3029  uint32_t bindingCount;
3030  const VkDescriptorSetLayoutBinding * pBindings;
3032 
3034  VkStructureType sType;
3035  const void * pNext;
3036  VkDescriptorPoolCreateFlags flags;
3037  uint32_t maxSets;
3038  uint32_t poolSizeCount;
3039  const VkDescriptorPoolSize * pPoolSizes;
3041 
3043  VkStructureType sType;
3044  const void * pNext;
3045  VkPipelineShaderStageCreateFlags flags;
3046  VkShaderStageFlagBits stage;
3047  VkShaderModule module;
3048  const char * pName;
3049  const VkSpecializationInfo * pSpecializationInfo;
3051 
3053  VkStructureType sType;
3054  const void * pNext;
3055  VkPipelineCreateFlags flags;
3057  VkPipelineLayout layout;
3058  VkPipeline basePipelineHandle;
3059  int32_t basePipelineIndex;
3061 
3063  VkStructureType sType;
3064  const void * pNext;
3065  VkPipelineVertexInputStateCreateFlags flags;
3066  uint32_t vertexBindingDescriptionCount;
3067  const VkVertexInputBindingDescription * pVertexBindingDescriptions;
3068  uint32_t vertexAttributeDescriptionCount;
3069  const VkVertexInputAttributeDescription * pVertexAttributeDescriptions;
3071 
3073  VkStructureType sType;
3074  const void * pNext;
3075  VkPipelineInputAssemblyStateCreateFlags flags;
3076  VkPrimitiveTopology topology;
3077  VkBool32 primitiveRestartEnable;
3079 
3081  VkStructureType sType;
3082  const void * pNext;
3083  VkPipelineTessellationStateCreateFlags flags;
3084  uint32_t patchControlPoints;
3086 
3088  VkStructureType sType;
3089  const void * pNext;
3090  VkPipelineViewportStateCreateFlags flags;
3091  uint32_t viewportCount;
3092  const VkViewport * pViewports;
3093  uint32_t scissorCount;
3094  const VkRect2D * pScissors;
3096 
3098  VkStructureType sType;
3099  const void * pNext;
3100  VkPipelineRasterizationStateCreateFlags flags;
3101  VkBool32 depthClampEnable;
3102  VkBool32 rasterizerDiscardEnable;
3103  VkPolygonMode polygonMode;
3104  VkCullModeFlags cullMode;
3105  VkFrontFace frontFace;
3106  VkBool32 depthBiasEnable;
3107  float depthBiasConstantFactor;
3108  float depthBiasClamp;
3109  float depthBiasSlopeFactor;
3110  float lineWidth;
3112 
3114  VkStructureType sType;
3115  const void * pNext;
3116  VkPipelineMultisampleStateCreateFlags flags;
3117  VkSampleCountFlagBits rasterizationSamples;
3118  VkBool32 sampleShadingEnable;
3119  float minSampleShading;
3120  const VkSampleMask * pSampleMask;
3121  VkBool32 alphaToCoverageEnable;
3122  VkBool32 alphaToOneEnable;
3124 
3126  VkBool32 blendEnable;
3127  VkBlendFactor srcColorBlendFactor;
3128  VkBlendFactor dstColorBlendFactor;
3129  VkBlendOp colorBlendOp;
3130  VkBlendFactor srcAlphaBlendFactor;
3131  VkBlendFactor dstAlphaBlendFactor;
3132  VkBlendOp alphaBlendOp;
3133  VkColorComponentFlags colorWriteMask;
3135 
3137  VkStructureType sType;
3138  const void * pNext;
3139  VkPipelineColorBlendStateCreateFlags flags;
3140  VkBool32 logicOpEnable;
3141  VkLogicOp logicOp;
3142  uint32_t attachmentCount;
3143  const VkPipelineColorBlendAttachmentState * pAttachments;
3144  float blendConstants [4];
3146 
3148  VkStructureType sType;
3149  const void * pNext;
3150  VkPipelineDynamicStateCreateFlags flags;
3151  uint32_t dynamicStateCount;
3152  const VkDynamicState * pDynamicStates;
3154 
3156  VkStructureType sType;
3157  const void * pNext;
3158  VkPipelineDepthStencilStateCreateFlags flags;
3159  VkBool32 depthTestEnable;
3160  VkBool32 depthWriteEnable;
3161  VkCompareOp depthCompareOp;
3162  VkBool32 depthBoundsTestEnable;
3163  VkBool32 stencilTestEnable;
3164  VkStencilOpState front;
3165  VkStencilOpState back;
3166  float minDepthBounds;
3167  float maxDepthBounds;
3169 
3171  VkStructureType sType;
3172  const void * pNext;
3173  VkPipelineCreateFlags flags;
3174  uint32_t stageCount;
3175  const VkPipelineShaderStageCreateInfo * pStages;
3176  const VkPipelineVertexInputStateCreateInfo * pVertexInputState;
3177  const VkPipelineInputAssemblyStateCreateInfo * pInputAssemblyState;
3178  const VkPipelineTessellationStateCreateInfo * pTessellationState;
3179  const VkPipelineViewportStateCreateInfo * pViewportState;
3180  const VkPipelineRasterizationStateCreateInfo * pRasterizationState;
3181  const VkPipelineMultisampleStateCreateInfo * pMultisampleState;
3182  const VkPipelineDepthStencilStateCreateInfo * pDepthStencilState;
3183  const VkPipelineColorBlendStateCreateInfo * pColorBlendState;
3184  const VkPipelineDynamicStateCreateInfo * pDynamicState;
3185  VkPipelineLayout layout;
3186  VkRenderPass renderPass;
3187  uint32_t subpass;
3188  VkPipeline basePipelineHandle;
3189  int32_t basePipelineIndex;
3191 
3193  VkStructureType sType;
3194  const void * pNext;
3195  VkPipelineCacheCreateFlags flags;
3196  size_t initialDataSize;
3197  const void * pInitialData;
3199 
3200 typedef struct VkPushConstantRange {
3201  VkShaderStageFlags stageFlags;
3202  uint32_t offset;
3203  uint32_t size;
3205 
3207  VkStructureType sType;
3208  const void * pNext;
3209  VkPipelineLayoutCreateFlags flags;
3210  uint32_t setLayoutCount;
3211  const VkDescriptorSetLayout * pSetLayouts;
3212  uint32_t pushConstantRangeCount;
3213  const VkPushConstantRange * pPushConstantRanges;
3215 
3216 typedef struct VkSamplerCreateInfo {
3217  VkStructureType sType;
3218  const void * pNext;
3219  VkSamplerCreateFlags flags;
3220  VkFilter magFilter;
3221  VkFilter minFilter;
3222  VkSamplerMipmapMode mipmapMode;
3223  VkSamplerAddressMode addressModeU;
3224  VkSamplerAddressMode addressModeV;
3225  VkSamplerAddressMode addressModeW;
3226  float mipLodBias;
3227  VkBool32 anisotropyEnable;
3228  float maxAnisotropy;
3229  VkBool32 compareEnable;
3230  VkCompareOp compareOp;
3231  float minLod;
3232  float maxLod;
3233  VkBorderColor borderColor;
3234  VkBool32 unnormalizedCoordinates;
3236 
3237 typedef struct VkCommandPoolCreateInfo {
3238  VkStructureType sType;
3239  const void * pNext;
3240  VkCommandPoolCreateFlags flags;
3241  uint32_t queueFamilyIndex;
3243 
3245  VkStructureType sType;
3246  const void * pNext;
3247  VkRenderPass renderPass;
3248  uint32_t subpass;
3249  VkFramebuffer framebuffer;
3250  VkBool32 occlusionQueryEnable;
3251  VkQueryControlFlags queryFlags;
3252  VkQueryPipelineStatisticFlags pipelineStatistics;
3254 
3256  VkStructureType sType;
3257  const void * pNext;
3258  VkCommandBufferUsageFlags flags;
3259  const VkCommandBufferInheritanceInfo * pInheritanceInfo;
3261 
3262 typedef struct VkRenderPassBeginInfo {
3263  VkStructureType sType;
3264  const void * pNext;
3265  VkRenderPass renderPass;
3266  VkFramebuffer framebuffer;
3267  VkRect2D renderArea;
3268  uint32_t clearValueCount;
3269  const VkClearValue * pClearValues;
3271 
3272 typedef struct VkClearAttachment {
3273  VkImageAspectFlags aspectMask;
3274  uint32_t colorAttachment;
3275  VkClearValue clearValue;
3277 
3278 typedef struct VkAttachmentDescription {
3279  VkAttachmentDescriptionFlags flags;
3280  VkFormat format;
3281  VkSampleCountFlagBits samples;
3282  VkAttachmentLoadOp loadOp;
3283  VkAttachmentStoreOp storeOp;
3284  VkAttachmentLoadOp stencilLoadOp;
3285  VkAttachmentStoreOp stencilStoreOp;
3286  VkImageLayout initialLayout;
3287  VkImageLayout finalLayout;
3289 
3290 typedef struct VkSubpassDescription {
3291  VkSubpassDescriptionFlags flags;
3292  VkPipelineBindPoint pipelineBindPoint;
3293  uint32_t inputAttachmentCount;
3294  const VkAttachmentReference * pInputAttachments;
3295  uint32_t colorAttachmentCount;
3296  const VkAttachmentReference * pColorAttachments;
3297  const VkAttachmentReference * pResolveAttachments;
3298  const VkAttachmentReference * pDepthStencilAttachment;
3299  uint32_t preserveAttachmentCount;
3300  const uint32_t * pPreserveAttachments;
3302 
3303 typedef struct VkSubpassDependency {
3304  uint32_t srcSubpass;
3305  uint32_t dstSubpass;
3306  VkPipelineStageFlags srcStageMask;
3307  VkPipelineStageFlags dstStageMask;
3308  VkAccessFlags srcAccessMask;
3309  VkAccessFlags dstAccessMask;
3310  VkDependencyFlags dependencyFlags;
3312 
3313 typedef struct VkRenderPassCreateInfo {
3314  VkStructureType sType;
3315  const void * pNext;
3316  VkRenderPassCreateFlags flags;
3317  uint32_t attachmentCount;
3318  const VkAttachmentDescription * pAttachments;
3319  uint32_t subpassCount;
3320  const VkSubpassDescription * pSubpasses;
3321  uint32_t dependencyCount;
3322  const VkSubpassDependency * pDependencies;
3324 
3325 typedef struct VkEventCreateInfo {
3326  VkStructureType sType;
3327  const void * pNext;
3328  VkEventCreateFlags flags;
3330 
3331 typedef struct VkFenceCreateInfo {
3332  VkStructureType sType;
3333  const void * pNext;
3334  VkFenceCreateFlags flags;
3336 
3338  VkBool32 robustBufferAccess;
3339  VkBool32 fullDrawIndexUint32;
3340  VkBool32 imageCubeArray;
3341  VkBool32 independentBlend;
3342  VkBool32 geometryShader;
3343  VkBool32 tessellationShader;
3344  VkBool32 sampleRateShading;
3345  VkBool32 dualSrcBlend;
3346  VkBool32 logicOp;
3347  VkBool32 multiDrawIndirect;
3348  VkBool32 drawIndirectFirstInstance;
3349  VkBool32 depthClamp;
3350  VkBool32 depthBiasClamp;
3351  VkBool32 fillModeNonSolid;
3352  VkBool32 depthBounds;
3353  VkBool32 wideLines;
3354  VkBool32 largePoints;
3355  VkBool32 alphaToOne;
3356  VkBool32 multiViewport;
3357  VkBool32 samplerAnisotropy;
3358  VkBool32 textureCompressionETC2;
3359  VkBool32 textureCompressionASTC_LDR;
3360  VkBool32 textureCompressionBC;
3361  VkBool32 occlusionQueryPrecise;
3362  VkBool32 pipelineStatisticsQuery;
3363  VkBool32 vertexPipelineStoresAndAtomics;
3364  VkBool32 fragmentStoresAndAtomics;
3365  VkBool32 shaderTessellationAndGeometryPointSize;
3366  VkBool32 shaderImageGatherExtended;
3367  VkBool32 shaderStorageImageExtendedFormats;
3368  VkBool32 shaderStorageImageMultisample;
3369  VkBool32 shaderStorageImageReadWithoutFormat;
3370  VkBool32 shaderStorageImageWriteWithoutFormat;
3371  VkBool32 shaderUniformBufferArrayDynamicIndexing;
3372  VkBool32 shaderSampledImageArrayDynamicIndexing;
3373  VkBool32 shaderStorageBufferArrayDynamicIndexing;
3374  VkBool32 shaderStorageImageArrayDynamicIndexing;
3375  VkBool32 shaderClipDistance;
3376  VkBool32 shaderCullDistance;
3377  VkBool32 shaderFloat64;
3378  VkBool32 shaderInt64;
3379  VkBool32 shaderInt16;
3380  VkBool32 shaderResourceResidency;
3381  VkBool32 shaderResourceMinLod;
3382  VkBool32 sparseBinding;
3383  VkBool32 sparseResidencyBuffer;
3384  VkBool32 sparseResidencyImage2D;
3385  VkBool32 sparseResidencyImage3D;
3386  VkBool32 sparseResidency2Samples;
3387  VkBool32 sparseResidency4Samples;
3388  VkBool32 sparseResidency8Samples;
3389  VkBool32 sparseResidency16Samples;
3390  VkBool32 sparseResidencyAliased;
3391  VkBool32 variableMultisampleRate;
3392  VkBool32 inheritedQueries;
3394 
3396  VkBool32 residencyStandard2DBlockShape;
3397  VkBool32 residencyStandard2DMultisampleBlockShape;
3398  VkBool32 residencyStandard3DBlockShape;
3399  VkBool32 residencyAlignedMipSize;
3400  VkBool32 residencyNonResidentStrict;
3402 
3403 typedef struct VkPhysicalDeviceLimits {
3404  uint32_t maxImageDimension1D;
3405  uint32_t maxImageDimension2D;
3406  uint32_t maxImageDimension3D;
3407  uint32_t maxImageDimensionCube;
3408  uint32_t maxImageArrayLayers;
3409  uint32_t maxTexelBufferElements;
3410  uint32_t maxUniformBufferRange;
3411  uint32_t maxStorageBufferRange;
3412  uint32_t maxPushConstantsSize;
3413  uint32_t maxMemoryAllocationCount;
3414  uint32_t maxSamplerAllocationCount;
3415  VkDeviceSize bufferImageGranularity;
3416  VkDeviceSize sparseAddressSpaceSize;
3417  uint32_t maxBoundDescriptorSets;
3418  uint32_t maxPerStageDescriptorSamplers;
3419  uint32_t maxPerStageDescriptorUniformBuffers;
3420  uint32_t maxPerStageDescriptorStorageBuffers;
3421  uint32_t maxPerStageDescriptorSampledImages;
3422  uint32_t maxPerStageDescriptorStorageImages;
3423  uint32_t maxPerStageDescriptorInputAttachments;
3424  uint32_t maxPerStageResources;
3425  uint32_t maxDescriptorSetSamplers;
3426  uint32_t maxDescriptorSetUniformBuffers;
3427  uint32_t maxDescriptorSetUniformBuffersDynamic;
3428  uint32_t maxDescriptorSetStorageBuffers;
3429  uint32_t maxDescriptorSetStorageBuffersDynamic;
3430  uint32_t maxDescriptorSetSampledImages;
3431  uint32_t maxDescriptorSetStorageImages;
3432  uint32_t maxDescriptorSetInputAttachments;
3433  uint32_t maxVertexInputAttributes;
3434  uint32_t maxVertexInputBindings;
3435  uint32_t maxVertexInputAttributeOffset;
3436  uint32_t maxVertexInputBindingStride;
3437  uint32_t maxVertexOutputComponents;
3438  uint32_t maxTessellationGenerationLevel;
3439  uint32_t maxTessellationPatchSize;
3440  uint32_t maxTessellationControlPerVertexInputComponents;
3441  uint32_t maxTessellationControlPerVertexOutputComponents;
3442  uint32_t maxTessellationControlPerPatchOutputComponents;
3443  uint32_t maxTessellationControlTotalOutputComponents;
3444  uint32_t maxTessellationEvaluationInputComponents;
3445  uint32_t maxTessellationEvaluationOutputComponents;
3446  uint32_t maxGeometryShaderInvocations;
3447  uint32_t maxGeometryInputComponents;
3448  uint32_t maxGeometryOutputComponents;
3449  uint32_t maxGeometryOutputVertices;
3450  uint32_t maxGeometryTotalOutputComponents;
3451  uint32_t maxFragmentInputComponents;
3452  uint32_t maxFragmentOutputAttachments;
3453  uint32_t maxFragmentDualSrcAttachments;
3454  uint32_t maxFragmentCombinedOutputResources;
3455  uint32_t maxComputeSharedMemorySize;
3456  uint32_t maxComputeWorkGroupCount [3];
3457  uint32_t maxComputeWorkGroupInvocations;
3458  uint32_t maxComputeWorkGroupSize [3];
3459  uint32_t subPixelPrecisionBits;
3460  uint32_t subTexelPrecisionBits;
3461  uint32_t mipmapPrecisionBits;
3462  uint32_t maxDrawIndexedIndexValue;
3463  uint32_t maxDrawIndirectCount;
3464  float maxSamplerLodBias;
3465  float maxSamplerAnisotropy;
3466  uint32_t maxViewports;
3467  uint32_t maxViewportDimensions [2];
3468  float viewportBoundsRange [2];
3469  uint32_t viewportSubPixelBits;
3470  size_t minMemoryMapAlignment;
3471  VkDeviceSize minTexelBufferOffsetAlignment;
3472  VkDeviceSize minUniformBufferOffsetAlignment;
3473  VkDeviceSize minStorageBufferOffsetAlignment;
3474  int32_t minTexelOffset;
3475  uint32_t maxTexelOffset;
3476  int32_t minTexelGatherOffset;
3477  uint32_t maxTexelGatherOffset;
3478  float minInterpolationOffset;
3479  float maxInterpolationOffset;
3480  uint32_t subPixelInterpolationOffsetBits;
3481  uint32_t maxFramebufferWidth;
3482  uint32_t maxFramebufferHeight;
3483  uint32_t maxFramebufferLayers;
3484  VkSampleCountFlags framebufferColorSampleCounts;
3485  VkSampleCountFlags framebufferDepthSampleCounts;
3486  VkSampleCountFlags framebufferStencilSampleCounts;
3487  VkSampleCountFlags framebufferNoAttachmentsSampleCounts;
3488  uint32_t maxColorAttachments;
3489  VkSampleCountFlags sampledImageColorSampleCounts;
3490  VkSampleCountFlags sampledImageIntegerSampleCounts;
3491  VkSampleCountFlags sampledImageDepthSampleCounts;
3492  VkSampleCountFlags sampledImageStencilSampleCounts;
3493  VkSampleCountFlags storageImageSampleCounts;
3494  uint32_t maxSampleMaskWords;
3495  VkBool32 timestampComputeAndGraphics;
3496  float timestampPeriod;
3497  uint32_t maxClipDistances;
3498  uint32_t maxCullDistances;
3499  uint32_t maxCombinedClipAndCullDistances;
3500  uint32_t discreteQueuePriorities;
3501  float pointSizeRange [2];
3502  float lineWidthRange [2];
3503  float pointSizeGranularity;
3504  float lineWidthGranularity;
3505  VkBool32 strictLines;
3506  VkBool32 standardSampleLocations;
3507  VkDeviceSize optimalBufferCopyOffsetAlignment;
3508  VkDeviceSize optimalBufferCopyRowPitchAlignment;
3509  VkDeviceSize nonCoherentAtomSize;
3511 
3512 typedef struct VkSemaphoreCreateInfo {
3513  VkStructureType sType;
3514  const void * pNext;
3515  VkSemaphoreCreateFlags flags;
3517 
3518 typedef struct VkQueryPoolCreateInfo {
3519  VkStructureType sType;
3520  const void * pNext;
3521  VkQueryPoolCreateFlags flags;
3522  VkQueryType queryType;
3523  uint32_t queryCount;
3524  VkQueryPipelineStatisticFlags pipelineStatistics;
3526 
3527 typedef struct VkFramebufferCreateInfo {
3528  VkStructureType sType;
3529  const void * pNext;
3530  VkFramebufferCreateFlags flags;
3531  VkRenderPass renderPass;
3532  uint32_t attachmentCount;
3533  const VkImageView * pAttachments;
3534  uint32_t width;
3535  uint32_t height;
3536  uint32_t layers;
3538 
3539 typedef struct VkSubmitInfo {
3540  VkStructureType sType;
3541  const void * pNext;
3542  uint32_t waitSemaphoreCount;
3543  const VkSemaphore * pWaitSemaphores;
3544  const VkPipelineStageFlags * pWaitDstStageMask;
3545  uint32_t commandBufferCount;
3546  const VkCommandBuffer * pCommandBuffers;
3547  uint32_t signalSemaphoreCount;
3548  const VkSemaphore * pSignalSemaphores;
3549 } VkSubmitInfo;
3550 
3552  uint32_t minImageCount;
3553  uint32_t maxImageCount;
3554  VkExtent2D currentExtent;
3555  VkExtent2D minImageExtent;
3556  VkExtent2D maxImageExtent;
3557  uint32_t maxImageArrayLayers;
3558  VkSurfaceTransformFlagsKHR supportedTransforms;
3559  VkSurfaceTransformFlagBitsKHR currentTransform;
3560  VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
3561  VkImageUsageFlags supportedUsageFlags;
3563 
3565  VkStructureType sType;
3566  const void * pNext;
3567  VkSwapchainCreateFlagsKHR flags;
3568  VkSurfaceKHR surface;
3569  uint32_t minImageCount;
3570  VkFormat imageFormat;
3571  VkColorSpaceKHR imageColorSpace;
3572  VkExtent2D imageExtent;
3573  uint32_t imageArrayLayers;
3574  VkImageUsageFlags imageUsage;
3575  VkSharingMode imageSharingMode;
3576  uint32_t queueFamilyIndexCount;
3577  const uint32_t * pQueueFamilyIndices;
3578  VkSurfaceTransformFlagBitsKHR preTransform;
3579  VkCompositeAlphaFlagBitsKHR compositeAlpha;
3580  VkPresentModeKHR presentMode;
3581  VkBool32 clipped;
3582  VkSwapchainKHR oldSwapchain;
3584 
3586  VkStructureType sType;
3587  const void * pNext;
3588  VkDebugReportFlagsEXT flags;
3589  PFN_vkDebugReportCallbackEXT pfnCallback;
3590  void * pUserData;
3592 
3594  VkStructureType sType;
3595  const void * pNext;
3596  VkPrivateDataSlotCreateFlags flags;
3598 
3600  VkStructureType sType;
3601  void * pNext;
3602  VkBool32 privateData;
3604 
3606  VkStructureType sType;
3607  void * pNext;
3608  VkPhysicalDeviceFeatures features;
3610 
3611 typedef struct VkFormatProperties2 {
3612  VkStructureType sType;
3613  void * pNext;
3614  VkFormatProperties formatProperties;
3616 
3618  VkStructureType sType;
3619  void * pNext;
3620  VkImageFormatProperties imageFormatProperties;
3622 
3624  VkStructureType sType;
3625  const void * pNext;
3626  VkFormat format;
3627  VkImageType type;
3628  VkImageTiling tiling;
3629  VkImageUsageFlags usage;
3630  VkImageCreateFlags flags;
3632 
3634  VkStructureType sType;
3635  void * pNext;
3636  VkQueueFamilyProperties queueFamilyProperties;
3638 
3640  VkStructureType sType;
3641  void * pNext;
3642  VkSparseImageFormatProperties properties;
3644 
3646  VkStructureType sType;
3647  const void * pNext;
3648  VkFormat format;
3649  VkImageType type;
3650  VkSampleCountFlagBits samples;
3651  VkImageUsageFlags usage;
3652  VkImageTiling tiling;
3654 
3656  VkStructureType sType;
3657  void * pNext;
3658  VkBool32 variablePointersStorageBuffer;
3659  VkBool32 variablePointers;
3661 
3662 typedef struct VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeatures;
3663 
3665  VkExternalMemoryFeatureFlags externalMemoryFeatures;
3666  VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes;
3667  VkExternalMemoryHandleTypeFlags compatibleHandleTypes;
3669 
3671  VkStructureType sType;
3672  void * pNext;
3673  VkExternalMemoryProperties externalMemoryProperties;
3675 
3677  VkStructureType sType;
3678  const void * pNext;
3679  VkBufferCreateFlags flags;
3680  VkBufferUsageFlags usage;
3681  VkExternalMemoryHandleTypeFlagBits handleType;
3683 
3685  VkStructureType sType;
3686  void * pNext;
3687  VkExternalMemoryProperties externalMemoryProperties;
3689 
3691  VkStructureType sType;
3692  void * pNext;
3693  uint8_t deviceUUID [ VK_UUID_SIZE ];
3694  uint8_t driverUUID [ VK_UUID_SIZE ];
3695  uint8_t deviceLUID [ VK_LUID_SIZE ];
3696  uint32_t deviceNodeMask;
3697  VkBool32 deviceLUIDValid;
3699 
3701  VkStructureType sType;
3702  const void * pNext;
3703  VkExternalMemoryHandleTypeFlags handleTypes;
3705 
3707  VkStructureType sType;
3708  const void * pNext;
3709  VkExternalMemoryHandleTypeFlags handleTypes;
3711 
3713  VkStructureType sType;
3714  const void * pNext;
3715  VkExternalMemoryHandleTypeFlags handleTypes;
3717 
3719  VkStructureType sType;
3720  void * pNext;
3721  VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes;
3722  VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes;
3723  VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures;
3725 
3727  VkStructureType sType;
3728  const void * pNext;
3729  VkExternalSemaphoreHandleTypeFlags handleTypes;
3731 
3733  VkStructureType sType;
3734  void * pNext;
3735  VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes;
3736  VkExternalFenceHandleTypeFlags compatibleHandleTypes;
3737  VkExternalFenceFeatureFlags externalFenceFeatures;
3739 
3740 typedef struct VkExportFenceCreateInfo {
3741  VkStructureType sType;
3742  const void * pNext;
3743  VkExternalFenceHandleTypeFlags handleTypes;
3745 
3747  VkStructureType sType;
3748  void * pNext;
3749  VkBool32 multiview;
3750  VkBool32 multiviewGeometryShader;
3751  VkBool32 multiviewTessellationShader;
3753 
3755  VkStructureType sType;
3756  void * pNext;
3757  uint32_t physicalDeviceCount;
3758  VkPhysicalDevice physicalDevices [ VK_MAX_DEVICE_GROUP_SIZE ];
3759  VkBool32 subsetAllocation;
3761 
3763  VkStructureType sType;
3764  const void * pNext;
3765  VkMemoryAllocateFlags flags;
3766  uint32_t deviceMask;
3768 
3769 typedef struct VkBindBufferMemoryInfo {
3770  VkStructureType sType;
3771  const void * pNext;
3772  VkBuffer buffer;
3773  VkDeviceMemory memory;
3774  VkDeviceSize memoryOffset;
3776 
3777 typedef struct VkBindImageMemoryInfo {
3778  VkStructureType sType;
3779  const void * pNext;
3780  VkImage image;
3781  VkDeviceMemory memory;
3782  VkDeviceSize memoryOffset;
3784 
3786  VkStructureType sType;
3787  void * pNext;
3788  uint32_t presentMask [ VK_MAX_DEVICE_GROUP_SIZE ];
3789  VkDeviceGroupPresentModeFlagsKHR modes;
3791 
3793  VkStructureType sType;
3794  const void * pNext;
3795  VkDeviceGroupPresentModeFlagsKHR modes;
3797 
3799  VkStructureType sType;
3800  const void * pNext;
3801  VkDescriptorUpdateTemplateCreateFlags flags;
3802  uint32_t descriptorUpdateEntryCount;
3803  const VkDescriptorUpdateTemplateEntry * pDescriptorUpdateEntries;
3804  VkDescriptorUpdateTemplateType templateType;
3805  VkDescriptorSetLayout descriptorSetLayout;
3806  VkPipelineBindPoint pipelineBindPoint;
3807  VkPipelineLayout pipelineLayout;
3808  uint32_t set;
3810 
3812  uint32_t subpass;
3813  uint32_t inputAttachmentIndex;
3814  VkImageAspectFlags aspectMask;
3816 
3818  VkStructureType sType;
3819  const void * pNext;
3820  uint32_t aspectReferenceCount;
3821  const VkInputAttachmentAspectReference * pAspectReferences;
3823 
3825  VkStructureType sType;
3826  void * pNext;
3827  VkBool32 storageBuffer16BitAccess;
3828  VkBool32 uniformAndStorageBuffer16BitAccess;
3829  VkBool32 storagePushConstant16;
3830  VkBool32 storageInputOutput16;
3832 
3834  VkStructureType sType;
3835  void * pNext;
3836  uint32_t subgroupSize;
3837  VkShaderStageFlags supportedStages;
3838  VkSubgroupFeatureFlags supportedOperations;
3839  VkBool32 quadOperationsInAllStages;
3841 
3843  VkStructureType sType;
3844  void * pNext;
3845  VkBool32 shaderSubgroupExtendedTypes;
3847 
3849  VkStructureType sType;
3850  const void * pNext;
3851  const VkBufferCreateInfo * pCreateInfo;
3853 
3855  VkStructureType sType;
3856  const void * pNext;
3857  const VkImageCreateInfo * pCreateInfo;
3858  VkImageAspectFlagBits planeAspect;
3860 
3861 typedef struct VkMemoryRequirements2 {
3862  VkStructureType sType;
3863  void * pNext;
3864  VkMemoryRequirements memoryRequirements;
3866 
3868  VkStructureType sType;
3869  void * pNext;
3870  VkSparseImageMemoryRequirements memoryRequirements;
3872 
3874  VkStructureType sType;
3875  void * pNext;
3876  VkBool32 prefersDedicatedAllocation;
3877  VkBool32 requiresDedicatedAllocation;
3879 
3881  VkStructureType sType;
3882  const void * pNext;
3883  VkImageUsageFlags usage;
3885 
3887  VkStructureType sType;
3888  const void * pNext;
3889  VkFormat format;
3890  VkSamplerYcbcrModelConversion ycbcrModel;
3891  VkSamplerYcbcrRange ycbcrRange;
3892  VkComponentMapping components;
3893  VkChromaLocation xChromaOffset;
3894  VkChromaLocation yChromaOffset;
3895  VkFilter chromaFilter;
3896  VkBool32 forceExplicitReconstruction;
3898 
3900  VkStructureType sType;
3901  void * pNext;
3902  VkBool32 samplerYcbcrConversion;
3904 
3905 typedef struct VkProtectedSubmitInfo {
3906  VkStructureType sType;
3907  const void * pNext;
3908  VkBool32 protectedSubmit;
3910 
3912  VkStructureType sType;
3913  void * pNext;
3914  VkBool32 protectedMemory;
3916 
3918  VkStructureType sType;
3919  void * pNext;
3920  VkBool32 protectedNoFault;
3922 
3923 typedef struct VkDeviceQueueInfo2 {
3924  VkStructureType sType;
3925  const void * pNext;
3926  VkDeviceQueueCreateFlags flags;
3927  uint32_t queueFamilyIndex;
3928  uint32_t queueIndex;
3930 
3932  VkStructureType sType;
3933  void * pNext;
3934  VkBool32 filterMinmaxSingleComponentFormats;
3935  VkBool32 filterMinmaxImageComponentMapping;
3937 
3939  VkStructureType sType;
3940  void * pNext;
3941  VkBool32 inlineUniformBlock;
3942  VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind;
3944 
3946  VkStructureType sType;
3947  void * pNext;
3948  uint32_t maxPerSetDescriptors;
3949  VkDeviceSize maxMemoryAllocationSize;
3951 
3953  VkStructureType sType;
3954  void * pNext;
3955  VkBool32 maintenance4;
3957 
3959  VkStructureType sType;
3960  void * pNext;
3961  VkDeviceSize maxBufferSize;
3963 
3965  VkStructureType sType;
3966  void * pNext;
3967  VkBool32 supported;
3969 
3971  VkStructureType sType;
3972  void * pNext;
3973  VkBool32 shaderDrawParameters;
3975 
3976 typedef struct VkPhysicalDeviceShaderDrawParametersFeatures VkPhysicalDeviceShaderDrawParameterFeatures;
3977 
3979  VkStructureType sType;
3980  void * pNext;
3981  VkBool32 shaderFloat16;
3982  VkBool32 shaderInt8;
3984 
3986  VkStructureType sType;
3987  void * pNext;
3988  VkShaderFloatControlsIndependence denormBehaviorIndependence;
3989  VkShaderFloatControlsIndependence roundingModeIndependence;
3990  VkBool32 shaderSignedZeroInfNanPreserveFloat16;
3991  VkBool32 shaderSignedZeroInfNanPreserveFloat32;
3992  VkBool32 shaderSignedZeroInfNanPreserveFloat64;
3993  VkBool32 shaderDenormPreserveFloat16;
3994  VkBool32 shaderDenormPreserveFloat32;
3995  VkBool32 shaderDenormPreserveFloat64;
3996  VkBool32 shaderDenormFlushToZeroFloat16;
3997  VkBool32 shaderDenormFlushToZeroFloat32;
3998  VkBool32 shaderDenormFlushToZeroFloat64;
3999  VkBool32 shaderRoundingModeRTEFloat16;
4000  VkBool32 shaderRoundingModeRTEFloat32;
4001  VkBool32 shaderRoundingModeRTEFloat64;
4002  VkBool32 shaderRoundingModeRTZFloat16;
4003  VkBool32 shaderRoundingModeRTZFloat32;
4004  VkBool32 shaderRoundingModeRTZFloat64;
4006 
4008  VkStructureType sType;
4009  void * pNext;
4010  VkBool32 hostQueryReset;
4012 
4014  VkStructureType sType;
4015  void * pNext;
4016  VkBool32 shaderInputAttachmentArrayDynamicIndexing;
4017  VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
4018  VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
4019  VkBool32 shaderUniformBufferArrayNonUniformIndexing;
4020  VkBool32 shaderSampledImageArrayNonUniformIndexing;
4021  VkBool32 shaderStorageBufferArrayNonUniformIndexing;
4022  VkBool32 shaderStorageImageArrayNonUniformIndexing;
4023  VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
4024  VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
4025  VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
4026  VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
4027  VkBool32 descriptorBindingSampledImageUpdateAfterBind;
4028  VkBool32 descriptorBindingStorageImageUpdateAfterBind;
4029  VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
4030  VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
4031  VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
4032  VkBool32 descriptorBindingUpdateUnusedWhilePending;
4033  VkBool32 descriptorBindingPartiallyBound;
4034  VkBool32 descriptorBindingVariableDescriptorCount;
4035  VkBool32 runtimeDescriptorArray;
4037 
4039  VkStructureType sType;
4040  void * pNext;
4041  uint32_t maxUpdateAfterBindDescriptorsInAllPools;
4042  VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
4043  VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
4044  VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
4045  VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
4046  VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
4047  VkBool32 robustBufferAccessUpdateAfterBind;
4048  VkBool32 quadDivergentImplicitLod;
4049  uint32_t maxPerStageDescriptorUpdateAfterBindSamplers;
4050  uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers;
4051  uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers;
4052  uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages;
4053  uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages;
4054  uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments;
4055  uint32_t maxPerStageUpdateAfterBindResources;
4056  uint32_t maxDescriptorSetUpdateAfterBindSamplers;
4057  uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers;
4058  uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
4059  uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers;
4060  uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
4061  uint32_t maxDescriptorSetUpdateAfterBindSampledImages;
4062  uint32_t maxDescriptorSetUpdateAfterBindStorageImages;
4063  uint32_t maxDescriptorSetUpdateAfterBindInputAttachments;
4065 
4067  VkStructureType sType;
4068  const void * pNext;
4069  uint32_t bindingCount;
4070  const VkDescriptorBindingFlags * pBindingFlags;
4072 
4074  VkStructureType sType;
4075  const void * pNext;
4076  VkAttachmentDescriptionFlags flags;
4077  VkFormat format;
4078  VkSampleCountFlagBits samples;
4079  VkAttachmentLoadOp loadOp;
4080  VkAttachmentStoreOp storeOp;
4081  VkAttachmentLoadOp stencilLoadOp;
4082  VkAttachmentStoreOp stencilStoreOp;
4083  VkImageLayout initialLayout;
4084  VkImageLayout finalLayout;
4086 
4087 typedef struct VkAttachmentReference2 {
4088  VkStructureType sType;
4089  const void * pNext;
4090  uint32_t attachment;
4091  VkImageLayout layout;
4092  VkImageAspectFlags aspectMask;
4094 
4095 typedef struct VkSubpassDescription2 {
4096  VkStructureType sType;
4097  const void * pNext;
4098  VkSubpassDescriptionFlags flags;
4099  VkPipelineBindPoint pipelineBindPoint;
4100  uint32_t viewMask;
4101  uint32_t inputAttachmentCount;
4102  const VkAttachmentReference2 * pInputAttachments;
4103  uint32_t colorAttachmentCount;
4104  const VkAttachmentReference2 * pColorAttachments;
4105  const VkAttachmentReference2 * pResolveAttachments;
4106  const VkAttachmentReference2 * pDepthStencilAttachment;
4107  uint32_t preserveAttachmentCount;
4108  const uint32_t * pPreserveAttachments;
4110 
4111 typedef struct VkSubpassDependency2 {
4112  VkStructureType sType;
4113  const void * pNext;
4114  uint32_t srcSubpass;
4115  uint32_t dstSubpass;
4116  VkPipelineStageFlags srcStageMask;
4117  VkPipelineStageFlags dstStageMask;
4118  VkAccessFlags srcAccessMask;
4119  VkAccessFlags dstAccessMask;
4120  VkDependencyFlags dependencyFlags;
4121  int32_t viewOffset;
4123 
4124 typedef struct VkRenderPassCreateInfo2 {
4125  VkStructureType sType;
4126  const void * pNext;
4127  VkRenderPassCreateFlags flags;
4128  uint32_t attachmentCount;
4129  const VkAttachmentDescription2 * pAttachments;
4130  uint32_t subpassCount;
4131  const VkSubpassDescription2 * pSubpasses;
4132  uint32_t dependencyCount;
4133  const VkSubpassDependency2 * pDependencies;
4134  uint32_t correlatedViewMaskCount;
4135  const uint32_t * pCorrelatedViewMasks;
4137 
4139  VkStructureType sType;
4140  void * pNext;
4141  VkBool32 timelineSemaphore;
4143 
4144 typedef struct VkSemaphoreWaitInfo {
4145  VkStructureType sType;
4146  const void * pNext;
4147  VkSemaphoreWaitFlags flags;
4148  uint32_t semaphoreCount;
4149  const VkSemaphore * pSemaphores;
4150  const uint64_t * pValues;
4152 
4154  VkStructureType sType;
4155  void * pNext;
4156  VkBool32 storageBuffer8BitAccess;
4157  VkBool32 uniformAndStorageBuffer8BitAccess;
4158  VkBool32 storagePushConstant8;
4160 
4162  VkStructureType sType;
4163  void * pNext;
4164  VkBool32 vulkanMemoryModel;
4165  VkBool32 vulkanMemoryModelDeviceScope;
4166  VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
4168 
4170  VkStructureType sType;
4171  void * pNext;
4172  VkBool32 shaderBufferInt64Atomics;
4173  VkBool32 shaderSharedInt64Atomics;
4175 
4177  VkStructureType sType;
4178  void * pNext;
4179  VkResolveModeFlags supportedDepthResolveModes;
4180  VkResolveModeFlags supportedStencilResolveModes;
4181  VkBool32 independentResolveNone;
4182  VkBool32 independentResolve;
4184 
4186  VkStructureType sType;
4187  const void * pNext;
4188  VkResolveModeFlagBits depthResolveMode;
4189  VkResolveModeFlagBits stencilResolveMode;
4190  const VkAttachmentReference2 * pDepthStencilResolveAttachment;
4192 
4194  VkStructureType sType;
4195  const void * pNext;
4196  VkImageUsageFlags stencilUsage;
4198 
4200  VkStructureType sType;
4201  void * pNext;
4202  VkBool32 scalarBlockLayout;
4204 
4206  VkStructureType sType;
4207  void * pNext;
4208  VkBool32 uniformBufferStandardLayout;
4210 
4212  VkStructureType sType;
4213  void * pNext;
4214  VkBool32 bufferDeviceAddress;
4215  VkBool32 bufferDeviceAddressCaptureReplay;
4216  VkBool32 bufferDeviceAddressMultiDevice;
4218 
4220  VkStructureType sType;
4221  void * pNext;
4222  VkBool32 imagelessFramebuffer;
4224 
4226  VkStructureType sType;
4227  const void * pNext;
4228  VkImageCreateFlags flags;
4229  VkImageUsageFlags usage;
4230  uint32_t width;
4231  uint32_t height;
4232  uint32_t layerCount;
4233  uint32_t viewFormatCount;
4234  const VkFormat * pViewFormats;
4236 
4238  VkStructureType sType;
4239  void * pNext;
4240  VkBool32 textureCompressionASTC_HDR;
4242 
4244  VkPipelineCreationFeedbackFlags flags;
4245  uint64_t duration;
4247 
4249  VkStructureType sType;
4250  const void * pNext;
4251  VkPipelineCreationFeedback * pPipelineCreationFeedback;
4252  uint32_t pipelineStageCreationFeedbackCount;
4253  VkPipelineCreationFeedback * pPipelineStageCreationFeedbacks;
4255 
4257  VkStructureType sType;
4258  void * pNext;
4259  VkBool32 separateDepthStencilLayouts;
4261 
4263  VkStructureType sType;
4264  void * pNext;
4265  VkBool32 shaderDemoteToHelperInvocation;
4267 
4269  VkStructureType sType;
4270  void * pNext;
4271  VkDeviceSize storageTexelBufferOffsetAlignmentBytes;
4272  VkBool32 storageTexelBufferOffsetSingleTexelAlignment;
4273  VkDeviceSize uniformTexelBufferOffsetAlignmentBytes;
4274  VkBool32 uniformTexelBufferOffsetSingleTexelAlignment;
4276 
4278  VkStructureType sType;
4279  void * pNext;
4280  VkBool32 subgroupSizeControl;
4281  VkBool32 computeFullSubgroups;
4283 
4285  VkStructureType sType;
4286  void * pNext;
4287  uint32_t minSubgroupSize;
4288  uint32_t maxSubgroupSize;
4289  uint32_t maxComputeWorkgroupSubgroups;
4290  VkShaderStageFlags requiredSubgroupSizeStages;
4292 
4294  VkStructureType sType;
4295  void * pNext;
4296  VkBool32 pipelineCreationCacheControl;
4298 
4300  VkStructureType sType;
4301  void * pNext;
4302  VkBool32 storageBuffer16BitAccess;
4303  VkBool32 uniformAndStorageBuffer16BitAccess;
4304  VkBool32 storagePushConstant16;
4305  VkBool32 storageInputOutput16;
4306  VkBool32 multiview;
4307  VkBool32 multiviewGeometryShader;
4308  VkBool32 multiviewTessellationShader;
4309  VkBool32 variablePointersStorageBuffer;
4310  VkBool32 variablePointers;
4311  VkBool32 protectedMemory;
4312  VkBool32 samplerYcbcrConversion;
4313  VkBool32 shaderDrawParameters;
4315 
4317  VkStructureType sType;
4318  void * pNext;
4319  uint8_t deviceUUID [ VK_UUID_SIZE ];
4320  uint8_t driverUUID [ VK_UUID_SIZE ];
4321  uint8_t deviceLUID [ VK_LUID_SIZE ];
4322  uint32_t deviceNodeMask;
4323  VkBool32 deviceLUIDValid;
4324  uint32_t subgroupSize;
4325  VkShaderStageFlags subgroupSupportedStages;
4326  VkSubgroupFeatureFlags subgroupSupportedOperations;
4327  VkBool32 subgroupQuadOperationsInAllStages;
4328  VkPointClippingBehavior pointClippingBehavior;
4329  uint32_t maxMultiviewViewCount;
4330  uint32_t maxMultiviewInstanceIndex;
4331  VkBool32 protectedNoFault;
4332  uint32_t maxPerSetDescriptors;
4333  VkDeviceSize maxMemoryAllocationSize;
4335 
4337  VkStructureType sType;
4338  void * pNext;
4339  VkBool32 samplerMirrorClampToEdge;
4340  VkBool32 drawIndirectCount;
4341  VkBool32 storageBuffer8BitAccess;
4342  VkBool32 uniformAndStorageBuffer8BitAccess;
4343  VkBool32 storagePushConstant8;
4344  VkBool32 shaderBufferInt64Atomics;
4345  VkBool32 shaderSharedInt64Atomics;
4346  VkBool32 shaderFloat16;
4347  VkBool32 shaderInt8;
4348  VkBool32 descriptorIndexing;
4349  VkBool32 shaderInputAttachmentArrayDynamicIndexing;
4350  VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
4351  VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
4352  VkBool32 shaderUniformBufferArrayNonUniformIndexing;
4353  VkBool32 shaderSampledImageArrayNonUniformIndexing;
4354  VkBool32 shaderStorageBufferArrayNonUniformIndexing;
4355  VkBool32 shaderStorageImageArrayNonUniformIndexing;
4356  VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
4357  VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
4358  VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
4359  VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
4360  VkBool32 descriptorBindingSampledImageUpdateAfterBind;
4361  VkBool32 descriptorBindingStorageImageUpdateAfterBind;
4362  VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
4363  VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
4364  VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
4365  VkBool32 descriptorBindingUpdateUnusedWhilePending;
4366  VkBool32 descriptorBindingPartiallyBound;
4367  VkBool32 descriptorBindingVariableDescriptorCount;
4368  VkBool32 runtimeDescriptorArray;
4369  VkBool32 samplerFilterMinmax;
4370  VkBool32 scalarBlockLayout;
4371  VkBool32 imagelessFramebuffer;
4372  VkBool32 uniformBufferStandardLayout;
4373  VkBool32 shaderSubgroupExtendedTypes;
4374  VkBool32 separateDepthStencilLayouts;
4375  VkBool32 hostQueryReset;
4376  VkBool32 timelineSemaphore;
4377  VkBool32 bufferDeviceAddress;
4378  VkBool32 bufferDeviceAddressCaptureReplay;
4379  VkBool32 bufferDeviceAddressMultiDevice;
4380  VkBool32 vulkanMemoryModel;
4381  VkBool32 vulkanMemoryModelDeviceScope;
4382  VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
4383  VkBool32 shaderOutputViewportIndex;
4384  VkBool32 shaderOutputLayer;
4385  VkBool32 subgroupBroadcastDynamicId;
4387 
4389  VkStructureType sType;
4390  void * pNext;
4391  VkDriverId driverID;
4392  char driverName [ VK_MAX_DRIVER_NAME_SIZE ];
4393  char driverInfo [ VK_MAX_DRIVER_INFO_SIZE ];
4394  VkConformanceVersion conformanceVersion;
4395  VkShaderFloatControlsIndependence denormBehaviorIndependence;
4396  VkShaderFloatControlsIndependence roundingModeIndependence;
4397  VkBool32 shaderSignedZeroInfNanPreserveFloat16;
4398  VkBool32 shaderSignedZeroInfNanPreserveFloat32;
4399  VkBool32 shaderSignedZeroInfNanPreserveFloat64;
4400  VkBool32 shaderDenormPreserveFloat16;
4401  VkBool32 shaderDenormPreserveFloat32;
4402  VkBool32 shaderDenormPreserveFloat64;
4403  VkBool32 shaderDenormFlushToZeroFloat16;
4404  VkBool32 shaderDenormFlushToZeroFloat32;
4405  VkBool32 shaderDenormFlushToZeroFloat64;
4406  VkBool32 shaderRoundingModeRTEFloat16;
4407  VkBool32 shaderRoundingModeRTEFloat32;
4408  VkBool32 shaderRoundingModeRTEFloat64;
4409  VkBool32 shaderRoundingModeRTZFloat16;
4410  VkBool32 shaderRoundingModeRTZFloat32;
4411  VkBool32 shaderRoundingModeRTZFloat64;
4412  uint32_t maxUpdateAfterBindDescriptorsInAllPools;
4413  VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
4414  VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
4415  VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
4416  VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
4417  VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
4418  VkBool32 robustBufferAccessUpdateAfterBind;
4419  VkBool32 quadDivergentImplicitLod;
4420  uint32_t maxPerStageDescriptorUpdateAfterBindSamplers;
4421  uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers;
4422  uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers;
4423  uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages;
4424  uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages;
4425  uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments;
4426  uint32_t maxPerStageUpdateAfterBindResources;
4427  uint32_t maxDescriptorSetUpdateAfterBindSamplers;
4428  uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers;
4429  uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
4430  uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers;
4431  uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
4432  uint32_t maxDescriptorSetUpdateAfterBindSampledImages;
4433  uint32_t maxDescriptorSetUpdateAfterBindStorageImages;
4434  uint32_t maxDescriptorSetUpdateAfterBindInputAttachments;
4435  VkResolveModeFlags supportedDepthResolveModes;
4436  VkResolveModeFlags supportedStencilResolveModes;
4437  VkBool32 independentResolveNone;
4438  VkBool32 independentResolve;
4439  VkBool32 filterMinmaxSingleComponentFormats;
4440  VkBool32 filterMinmaxImageComponentMapping;
4441  uint64_t maxTimelineSemaphoreValueDifference;
4442  VkSampleCountFlags framebufferIntegerColorSampleCounts;
4444 
4446  VkStructureType sType;
4447  void * pNext;
4448  VkBool32 robustImageAccess;
4449  VkBool32 inlineUniformBlock;
4450  VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind;
4451  VkBool32 pipelineCreationCacheControl;
4452  VkBool32 privateData;
4453  VkBool32 shaderDemoteToHelperInvocation;
4454  VkBool32 shaderTerminateInvocation;
4455  VkBool32 subgroupSizeControl;
4456  VkBool32 computeFullSubgroups;
4457  VkBool32 synchronization2;
4458  VkBool32 textureCompressionASTC_HDR;
4459  VkBool32 shaderZeroInitializeWorkgroupMemory;
4460  VkBool32 dynamicRendering;
4461  VkBool32 shaderIntegerDotProduct;
4462  VkBool32 maintenance4;
4464 
4466  VkStructureType sType;
4467  void * pNext;
4468  uint32_t minSubgroupSize;
4469  uint32_t maxSubgroupSize;
4470  uint32_t maxComputeWorkgroupSubgroups;
4471  VkShaderStageFlags requiredSubgroupSizeStages;
4472  uint32_t maxInlineUniformBlockSize;
4473  uint32_t maxPerStageDescriptorInlineUniformBlocks;
4474  uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
4475  uint32_t maxDescriptorSetInlineUniformBlocks;
4476  uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
4477  uint32_t maxInlineUniformTotalSize;
4478  VkBool32 integerDotProduct8BitUnsignedAccelerated;
4479  VkBool32 integerDotProduct8BitSignedAccelerated;
4480  VkBool32 integerDotProduct8BitMixedSignednessAccelerated;
4481  VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated;
4482  VkBool32 integerDotProduct4x8BitPackedSignedAccelerated;
4483  VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated;
4484  VkBool32 integerDotProduct16BitUnsignedAccelerated;
4485  VkBool32 integerDotProduct16BitSignedAccelerated;
4486  VkBool32 integerDotProduct16BitMixedSignednessAccelerated;
4487  VkBool32 integerDotProduct32BitUnsignedAccelerated;
4488  VkBool32 integerDotProduct32BitSignedAccelerated;
4489  VkBool32 integerDotProduct32BitMixedSignednessAccelerated;
4490  VkBool32 integerDotProduct64BitUnsignedAccelerated;
4491  VkBool32 integerDotProduct64BitSignedAccelerated;
4492  VkBool32 integerDotProduct64BitMixedSignednessAccelerated;
4493  VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated;
4494  VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated;
4495  VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated;
4496  VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated;
4497  VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated;
4498  VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated;
4499  VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated;
4500  VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated;
4501  VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated;
4502  VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated;
4503  VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated;
4504  VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated;
4505  VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated;
4506  VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated;
4507  VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated;
4508  VkDeviceSize storageTexelBufferOffsetAlignmentBytes;
4509  VkBool32 storageTexelBufferOffsetSingleTexelAlignment;
4510  VkDeviceSize uniformTexelBufferOffsetAlignmentBytes;
4511  VkBool32 uniformTexelBufferOffsetSingleTexelAlignment;
4512  VkDeviceSize maxBufferSize;
4514 
4516  VkStructureType sType;
4517  void * pNext;
4518  char name [ VK_MAX_EXTENSION_NAME_SIZE ];
4519  char version [ VK_MAX_EXTENSION_NAME_SIZE ];
4520  VkToolPurposeFlags purposes;
4521  char description [ VK_MAX_DESCRIPTION_SIZE ];
4522  char layer [ VK_MAX_EXTENSION_NAME_SIZE ];
4524 
4526  VkStructureType sType;
4527  void * pNext;
4528  VkBool32 shaderZeroInitializeWorkgroupMemory;
4530 
4532  VkStructureType sType;
4533  void * pNext;
4534  VkBool32 robustImageAccess;
4536 
4537 typedef struct VkBufferCopy2 {
4538  VkStructureType sType;
4539  const void * pNext;
4540  VkDeviceSize srcOffset;
4541  VkDeviceSize dstOffset;
4542  VkDeviceSize size;
4543 } VkBufferCopy2;
4544 
4545 typedef struct VkImageCopy2 {
4546  VkStructureType sType;
4547  const void * pNext;
4548  VkImageSubresourceLayers srcSubresource;
4549  VkOffset3D srcOffset;
4550  VkImageSubresourceLayers dstSubresource;
4551  VkOffset3D dstOffset;
4552  VkExtent3D extent;
4553 } VkImageCopy2;
4554 
4555 typedef struct VkImageBlit2 {
4556  VkStructureType sType;
4557  const void * pNext;
4558  VkImageSubresourceLayers srcSubresource;
4559  VkOffset3D srcOffsets [2];
4560  VkImageSubresourceLayers dstSubresource;
4561  VkOffset3D dstOffsets [2];
4562 } VkImageBlit2;
4563 
4564 typedef struct VkBufferImageCopy2 {
4565  VkStructureType sType;
4566  const void * pNext;
4567  VkDeviceSize bufferOffset;
4568  uint32_t bufferRowLength;
4569  uint32_t bufferImageHeight;
4570  VkImageSubresourceLayers imageSubresource;
4571  VkOffset3D imageOffset;
4572  VkExtent3D imageExtent;
4574 
4575 typedef struct VkImageResolve2 {
4576  VkStructureType sType;
4577  const void * pNext;
4578  VkImageSubresourceLayers srcSubresource;
4579  VkOffset3D srcOffset;
4580  VkImageSubresourceLayers dstSubresource;
4581  VkOffset3D dstOffset;
4582  VkExtent3D extent;
4583 } VkImageResolve2;
4584 
4585 typedef struct VkCopyBufferInfo2 {
4586  VkStructureType sType;
4587  const void * pNext;
4588  VkBuffer srcBuffer;
4589  VkBuffer dstBuffer;
4590  uint32_t regionCount;
4591  const VkBufferCopy2 * pRegions;
4593 
4594 typedef struct VkCopyImageInfo2 {
4595  VkStructureType sType;
4596  const void * pNext;
4597  VkImage srcImage;
4598  VkImageLayout srcImageLayout;
4599  VkImage dstImage;
4600  VkImageLayout dstImageLayout;
4601  uint32_t regionCount;
4602  const VkImageCopy2 * pRegions;
4604 
4605 typedef struct VkBlitImageInfo2 {
4606  VkStructureType sType;
4607  const void * pNext;
4608  VkImage srcImage;
4609  VkImageLayout srcImageLayout;
4610  VkImage dstImage;
4611  VkImageLayout dstImageLayout;
4612  uint32_t regionCount;
4613  const VkImageBlit2 * pRegions;
4614  VkFilter filter;
4616 
4618  VkStructureType sType;
4619  const void * pNext;
4620  VkBuffer srcBuffer;
4621  VkImage dstImage;
4622  VkImageLayout dstImageLayout;
4623  uint32_t regionCount;
4624  const VkBufferImageCopy2 * pRegions;
4626 
4628  VkStructureType sType;
4629  const void * pNext;
4630  VkImage srcImage;
4631  VkImageLayout srcImageLayout;
4632  VkBuffer dstBuffer;
4633  uint32_t regionCount;
4634  const VkBufferImageCopy2 * pRegions;
4636 
4637 typedef struct VkResolveImageInfo2 {
4638  VkStructureType sType;
4639  const void * pNext;
4640  VkImage srcImage;
4641  VkImageLayout srcImageLayout;
4642  VkImage dstImage;
4643  VkImageLayout dstImageLayout;
4644  uint32_t regionCount;
4645  const VkImageResolve2 * pRegions;
4647 
4649  VkStructureType sType;
4650  void * pNext;
4651  VkBool32 shaderTerminateInvocation;
4653 
4654 typedef struct VkMemoryBarrier2 {
4655  VkStructureType sType;
4656  const void * pNext;
4657  VkPipelineStageFlags2 srcStageMask;
4658  VkAccessFlags2 srcAccessMask;
4659  VkPipelineStageFlags2 dstStageMask;
4660  VkAccessFlags2 dstAccessMask;
4662 
4663 typedef struct VkImageMemoryBarrier2 {
4664  VkStructureType sType;
4665  const void * pNext;
4666  VkPipelineStageFlags2 srcStageMask;
4667  VkAccessFlags2 srcAccessMask;
4668  VkPipelineStageFlags2 dstStageMask;
4669  VkAccessFlags2 dstAccessMask;
4670  VkImageLayout oldLayout;
4671  VkImageLayout newLayout;
4672  uint32_t srcQueueFamilyIndex;
4673  uint32_t dstQueueFamilyIndex;
4674  VkImage image;
4675  VkImageSubresourceRange subresourceRange;
4677 
4678 typedef struct VkBufferMemoryBarrier2 {
4679  VkStructureType sType;
4680  const void * pNext;
4681  VkPipelineStageFlags2 srcStageMask;
4682  VkAccessFlags2 srcAccessMask;
4683  VkPipelineStageFlags2 dstStageMask;
4684  VkAccessFlags2 dstAccessMask;
4685  uint32_t srcQueueFamilyIndex;
4686  uint32_t dstQueueFamilyIndex;
4687  VkBuffer buffer;
4688  VkDeviceSize offset;
4689  VkDeviceSize size;
4691 
4692 typedef struct VkDependencyInfo {
4693  VkStructureType sType;
4694  const void * pNext;
4695  VkDependencyFlags dependencyFlags;
4696  uint32_t memoryBarrierCount;
4697  const VkMemoryBarrier2 * pMemoryBarriers;
4698  uint32_t bufferMemoryBarrierCount;
4699  const VkBufferMemoryBarrier2 * pBufferMemoryBarriers;
4700  uint32_t imageMemoryBarrierCount;
4701  const VkImageMemoryBarrier2 * pImageMemoryBarriers;
4703 
4704 typedef struct VkSemaphoreSubmitInfo {
4705  VkStructureType sType;
4706  const void * pNext;
4707  VkSemaphore semaphore;
4708  uint64_t value;
4709  VkPipelineStageFlags2 stageMask;
4710  uint32_t deviceIndex;
4712 
4713 typedef struct VkSubmitInfo2 {
4714  VkStructureType sType;
4715  const void * pNext;
4716  VkSubmitFlags flags;
4717  uint32_t waitSemaphoreInfoCount;
4718  const VkSemaphoreSubmitInfo * pWaitSemaphoreInfos;
4719  uint32_t commandBufferInfoCount;
4720  const VkCommandBufferSubmitInfo * pCommandBufferInfos;
4721  uint32_t signalSemaphoreInfoCount;
4722  const VkSemaphoreSubmitInfo * pSignalSemaphoreInfos;
4723 } VkSubmitInfo2;
4724 
4726  VkStructureType sType;
4727  void * pNext;
4728  VkBool32 synchronization2;
4730 
4732  VkStructureType sType;
4733  void * pNext;
4734  VkBool32 shaderIntegerDotProduct;
4736 
4738  VkStructureType sType;
4739  void * pNext;
4740  VkBool32 integerDotProduct8BitUnsignedAccelerated;
4741  VkBool32 integerDotProduct8BitSignedAccelerated;
4742  VkBool32 integerDotProduct8BitMixedSignednessAccelerated;
4743  VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated;
4744  VkBool32 integerDotProduct4x8BitPackedSignedAccelerated;
4745  VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated;
4746  VkBool32 integerDotProduct16BitUnsignedAccelerated;
4747  VkBool32 integerDotProduct16BitSignedAccelerated;
4748  VkBool32 integerDotProduct16BitMixedSignednessAccelerated;
4749  VkBool32 integerDotProduct32BitUnsignedAccelerated;
4750  VkBool32 integerDotProduct32BitSignedAccelerated;
4751  VkBool32 integerDotProduct32BitMixedSignednessAccelerated;
4752  VkBool32 integerDotProduct64BitUnsignedAccelerated;
4753  VkBool32 integerDotProduct64BitSignedAccelerated;
4754  VkBool32 integerDotProduct64BitMixedSignednessAccelerated;
4755  VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated;
4756  VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated;
4757  VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated;
4758  VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated;
4759  VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated;
4760  VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated;
4761  VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated;
4762  VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated;
4763  VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated;
4764  VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated;
4765  VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated;
4766  VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated;
4767  VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated;
4768  VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated;
4769  VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated;
4771 
4772 typedef struct VkFormatProperties3 {
4773  VkStructureType sType;
4774  void * pNext;
4775  VkFormatFeatureFlags2 linearTilingFeatures;
4776  VkFormatFeatureFlags2 optimalTilingFeatures;
4777  VkFormatFeatureFlags2 bufferFeatures;
4779 
4780 typedef struct VkRenderingInfo {
4781  VkStructureType sType;
4782  const void * pNext;
4783  VkRenderingFlags flags;
4784  VkRect2D renderArea;
4785  uint32_t layerCount;
4786  uint32_t viewMask;
4787  uint32_t colorAttachmentCount;
4788  const VkRenderingAttachmentInfo * pColorAttachments;
4789  const VkRenderingAttachmentInfo * pDepthAttachment;
4790  const VkRenderingAttachmentInfo * pStencilAttachment;
4791 } VkRenderingInfo;
4792 
4794  VkStructureType sType;
4795  void * pNext;
4796  VkBool32 dynamicRendering;
4798 
4800  VkStructureType sType;
4801  const void * pNext;
4802  VkRenderingFlags flags;
4803  uint32_t viewMask;
4804  uint32_t colorAttachmentCount;
4805  const VkFormat * pColorAttachmentFormats;
4806  VkFormat depthAttachmentFormat;
4807  VkFormat stencilAttachmentFormat;
4808  VkSampleCountFlagBits rasterizationSamples;
4810 
4812  uint32_t apiVersion;
4813  uint32_t driverVersion;
4814  uint32_t vendorID;
4815  uint32_t deviceID;
4816  VkPhysicalDeviceType deviceType;
4817  char deviceName [ VK_MAX_PHYSICAL_DEVICE_NAME_SIZE ];
4818  uint8_t pipelineCacheUUID [ VK_UUID_SIZE ];
4819  VkPhysicalDeviceLimits limits;
4820  VkPhysicalDeviceSparseProperties sparseProperties;
4822 
4823 typedef struct VkDeviceCreateInfo {
4824  VkStructureType sType;
4825  const void * pNext;
4826  VkDeviceCreateFlags flags;
4827  uint32_t queueCreateInfoCount;
4828  const VkDeviceQueueCreateInfo * pQueueCreateInfos;
4829  uint32_t enabledLayerCount;
4830  const char * const* ppEnabledLayerNames;
4831  uint32_t enabledExtensionCount;
4832  const char * const* ppEnabledExtensionNames;
4833  const VkPhysicalDeviceFeatures * pEnabledFeatures;
4835 
4837  uint32_t memoryTypeCount;
4838  VkMemoryType memoryTypes [ VK_MAX_MEMORY_TYPES ];
4839  uint32_t memoryHeapCount;
4840  VkMemoryHeap memoryHeaps [ VK_MAX_MEMORY_HEAPS ];
4842 
4844  VkStructureType sType;
4845  void * pNext;
4846  VkPhysicalDeviceProperties properties;
4848 
4850  VkStructureType sType;
4851  void * pNext;
4852  VkPhysicalDeviceMemoryProperties memoryProperties;
4854 
4856  VkStructureType sType;
4857  const void * pNext;
4858  uint32_t attachmentImageInfoCount;
4859  const VkFramebufferAttachmentImageInfo * pAttachmentImageInfos;
4861 
4862 
4863 
4864 #define VK_VERSION_1_0 1
4865 GLAD_API_CALL int GLAD_VK_VERSION_1_0;
4866 #define VK_VERSION_1_1 1
4867 GLAD_API_CALL int GLAD_VK_VERSION_1_1;
4868 #define VK_VERSION_1_2 1
4869 GLAD_API_CALL int GLAD_VK_VERSION_1_2;
4870 #define VK_VERSION_1_3 1
4871 GLAD_API_CALL int GLAD_VK_VERSION_1_3;
4872 #define VK_EXT_debug_report 1
4873 GLAD_API_CALL int GLAD_VK_EXT_debug_report;
4874 #define VK_KHR_portability_enumeration 1
4875 GLAD_API_CALL int GLAD_VK_KHR_portability_enumeration;
4876 #define VK_KHR_surface 1
4877 GLAD_API_CALL int GLAD_VK_KHR_surface;
4878 #define VK_KHR_swapchain 1
4879 GLAD_API_CALL int GLAD_VK_KHR_swapchain;
4880 
4881 
4882 typedef VkResult (GLAD_API_PTR *PFN_vkAcquireNextImage2KHR)(VkDevice device, const VkAcquireNextImageInfoKHR * pAcquireInfo, uint32_t * pImageIndex);
4883 typedef VkResult (GLAD_API_PTR *PFN_vkAcquireNextImageKHR)(VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t * pImageIndex);
4884 typedef VkResult (GLAD_API_PTR *PFN_vkAllocateCommandBuffers)(VkDevice device, const VkCommandBufferAllocateInfo * pAllocateInfo, VkCommandBuffer * pCommandBuffers);
4885 typedef VkResult (GLAD_API_PTR *PFN_vkAllocateDescriptorSets)(VkDevice device, const VkDescriptorSetAllocateInfo * pAllocateInfo, VkDescriptorSet * pDescriptorSets);
4886 typedef VkResult (GLAD_API_PTR *PFN_vkAllocateMemory)(VkDevice device, const VkMemoryAllocateInfo * pAllocateInfo, const VkAllocationCallbacks * pAllocator, VkDeviceMemory * pMemory);
4887 typedef VkResult (GLAD_API_PTR *PFN_vkBeginCommandBuffer)(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo * pBeginInfo);
4888 typedef VkResult (GLAD_API_PTR *PFN_vkBindBufferMemory)(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset);
4889 typedef VkResult (GLAD_API_PTR *PFN_vkBindBufferMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo * pBindInfos);
4890 typedef VkResult (GLAD_API_PTR *PFN_vkBindImageMemory)(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset);
4891 typedef VkResult (GLAD_API_PTR *PFN_vkBindImageMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo * pBindInfos);
4892 typedef void (GLAD_API_PTR *PFN_vkCmdBeginQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags);
4893 typedef void (GLAD_API_PTR *PFN_vkCmdBeginRenderPass)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo * pRenderPassBegin, VkSubpassContents contents);
4894 typedef void (GLAD_API_PTR *PFN_vkCmdBeginRenderPass2)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo * pRenderPassBegin, const VkSubpassBeginInfo * pSubpassBeginInfo);
4895 typedef void (GLAD_API_PTR *PFN_vkCmdBeginRendering)(VkCommandBuffer commandBuffer, const VkRenderingInfo * pRenderingInfo);
4896 typedef void (GLAD_API_PTR *PFN_vkCmdBindDescriptorSets)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet * pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t * pDynamicOffsets);
4897 typedef void (GLAD_API_PTR *PFN_vkCmdBindIndexBuffer)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType);
4898 typedef void (GLAD_API_PTR *PFN_vkCmdBindPipeline)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline);
4899 typedef void (GLAD_API_PTR *PFN_vkCmdBindVertexBuffers)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer * pBuffers, const VkDeviceSize * pOffsets);
4900 typedef void (GLAD_API_PTR *PFN_vkCmdBindVertexBuffers2)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer * pBuffers, const VkDeviceSize * pOffsets, const VkDeviceSize * pSizes, const VkDeviceSize * pStrides);
4901 typedef void (GLAD_API_PTR *PFN_vkCmdBlitImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit * pRegions, VkFilter filter);
4902 typedef void (GLAD_API_PTR *PFN_vkCmdBlitImage2)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2 * pBlitImageInfo);
4903 typedef void (GLAD_API_PTR *PFN_vkCmdClearAttachments)(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment * pAttachments, uint32_t rectCount, const VkClearRect * pRects);
4904 typedef void (GLAD_API_PTR *PFN_vkCmdClearColorImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue * pColor, uint32_t rangeCount, const VkImageSubresourceRange * pRanges);
4905 typedef void (GLAD_API_PTR *PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue * pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange * pRanges);
4906 typedef void (GLAD_API_PTR *PFN_vkCmdCopyBuffer)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy * pRegions);
4907 typedef void (GLAD_API_PTR *PFN_vkCmdCopyBuffer2)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2 * pCopyBufferInfo);
4908 typedef void (GLAD_API_PTR *PFN_vkCmdCopyBufferToImage)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy * pRegions);
4909 typedef void (GLAD_API_PTR *PFN_vkCmdCopyBufferToImage2)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2 * pCopyBufferToImageInfo);
4910 typedef void (GLAD_API_PTR *PFN_vkCmdCopyImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy * pRegions);
4911 typedef void (GLAD_API_PTR *PFN_vkCmdCopyImage2)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2 * pCopyImageInfo);
4912 typedef void (GLAD_API_PTR *PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy * pRegions);
4913 typedef void (GLAD_API_PTR *PFN_vkCmdCopyImageToBuffer2)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2 * pCopyImageToBufferInfo);
4914 typedef void (GLAD_API_PTR *PFN_vkCmdCopyQueryPoolResults)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags);
4915 typedef void (GLAD_API_PTR *PFN_vkCmdDispatch)(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ);
4916 typedef void (GLAD_API_PTR *PFN_vkCmdDispatchBase)(VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ);
4917 typedef void (GLAD_API_PTR *PFN_vkCmdDispatchIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset);
4918 typedef void (GLAD_API_PTR *PFN_vkCmdDraw)(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance);
4919 typedef void (GLAD_API_PTR *PFN_vkCmdDrawIndexed)(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance);
4920 typedef void (GLAD_API_PTR *PFN_vkCmdDrawIndexedIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
4921 typedef void (GLAD_API_PTR *PFN_vkCmdDrawIndexedIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
4922 typedef void (GLAD_API_PTR *PFN_vkCmdDrawIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
4923 typedef void (GLAD_API_PTR *PFN_vkCmdDrawIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
4924 typedef void (GLAD_API_PTR *PFN_vkCmdEndQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query);
4925 typedef void (GLAD_API_PTR *PFN_vkCmdEndRenderPass)(VkCommandBuffer commandBuffer);
4926 typedef void (GLAD_API_PTR *PFN_vkCmdEndRenderPass2)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo * pSubpassEndInfo);
4927 typedef void (GLAD_API_PTR *PFN_vkCmdEndRendering)(VkCommandBuffer commandBuffer);
4928 typedef void (GLAD_API_PTR *PFN_vkCmdExecuteCommands)(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer * pCommandBuffers);
4929 typedef void (GLAD_API_PTR *PFN_vkCmdFillBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data);
4930 typedef void (GLAD_API_PTR *PFN_vkCmdNextSubpass)(VkCommandBuffer commandBuffer, VkSubpassContents contents);
4931 typedef void (GLAD_API_PTR *PFN_vkCmdNextSubpass2)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo * pSubpassBeginInfo, const VkSubpassEndInfo * pSubpassEndInfo);
4932 typedef void (GLAD_API_PTR *PFN_vkCmdPipelineBarrier)(VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const VkMemoryBarrier * pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier * pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier * pImageMemoryBarriers);
4933 typedef void (GLAD_API_PTR *PFN_vkCmdPipelineBarrier2)(VkCommandBuffer commandBuffer, const VkDependencyInfo * pDependencyInfo);
4934 typedef void (GLAD_API_PTR *PFN_vkCmdPushConstants)(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void * pValues);
4935 typedef void (GLAD_API_PTR *PFN_vkCmdResetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
4936 typedef void (GLAD_API_PTR *PFN_vkCmdResetEvent2)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask);
4937 typedef void (GLAD_API_PTR *PFN_vkCmdResetQueryPool)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount);
4938 typedef void (GLAD_API_PTR *PFN_vkCmdResolveImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve * pRegions);
4939 typedef void (GLAD_API_PTR *PFN_vkCmdResolveImage2)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2 * pResolveImageInfo);
4940 typedef void (GLAD_API_PTR *PFN_vkCmdSetBlendConstants)(VkCommandBuffer commandBuffer, const float blendConstants [4]);
4941 typedef void (GLAD_API_PTR *PFN_vkCmdSetCullMode)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode);
4942 typedef void (GLAD_API_PTR *PFN_vkCmdSetDepthBias)(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor);
4943 typedef void (GLAD_API_PTR *PFN_vkCmdSetDepthBiasEnable)(VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable);
4944 typedef void (GLAD_API_PTR *PFN_vkCmdSetDepthBounds)(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds);
4945 typedef void (GLAD_API_PTR *PFN_vkCmdSetDepthBoundsTestEnable)(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable);
4946 typedef void (GLAD_API_PTR *PFN_vkCmdSetDepthCompareOp)(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp);
4947 typedef void (GLAD_API_PTR *PFN_vkCmdSetDepthTestEnable)(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable);
4948 typedef void (GLAD_API_PTR *PFN_vkCmdSetDepthWriteEnable)(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable);
4949 typedef void (GLAD_API_PTR *PFN_vkCmdSetDeviceMask)(VkCommandBuffer commandBuffer, uint32_t deviceMask);
4950 typedef void (GLAD_API_PTR *PFN_vkCmdSetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
4951 typedef void (GLAD_API_PTR *PFN_vkCmdSetEvent2)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo * pDependencyInfo);
4952 typedef void (GLAD_API_PTR *PFN_vkCmdSetFrontFace)(VkCommandBuffer commandBuffer, VkFrontFace frontFace);
4953 typedef void (GLAD_API_PTR *PFN_vkCmdSetLineWidth)(VkCommandBuffer commandBuffer, float lineWidth);
4954 typedef void (GLAD_API_PTR *PFN_vkCmdSetPrimitiveRestartEnable)(VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable);
4955 typedef void (GLAD_API_PTR *PFN_vkCmdSetPrimitiveTopology)(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology);
4956 typedef void (GLAD_API_PTR *PFN_vkCmdSetRasterizerDiscardEnable)(VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable);
4957 typedef void (GLAD_API_PTR *PFN_vkCmdSetScissor)(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D * pScissors);
4958 typedef void (GLAD_API_PTR *PFN_vkCmdSetScissorWithCount)(VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D * pScissors);
4959 typedef void (GLAD_API_PTR *PFN_vkCmdSetStencilCompareMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask);
4960 typedef void (GLAD_API_PTR *PFN_vkCmdSetStencilOp)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp);
4961 typedef void (GLAD_API_PTR *PFN_vkCmdSetStencilReference)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference);
4962 typedef void (GLAD_API_PTR *PFN_vkCmdSetStencilTestEnable)(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable);
4963 typedef void (GLAD_API_PTR *PFN_vkCmdSetStencilWriteMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask);
4964 typedef void (GLAD_API_PTR *PFN_vkCmdSetViewport)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport * pViewports);
4965 typedef void (GLAD_API_PTR *PFN_vkCmdSetViewportWithCount)(VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport * pViewports);
4966 typedef void (GLAD_API_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void * pData);
4967 typedef void (GLAD_API_PTR *PFN_vkCmdWaitEvents)(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent * pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const VkMemoryBarrier * pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier * pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier * pImageMemoryBarriers);
4968 typedef void (GLAD_API_PTR *PFN_vkCmdWaitEvents2)(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent * pEvents, const VkDependencyInfo * pDependencyInfos);
4969 typedef void (GLAD_API_PTR *PFN_vkCmdWriteTimestamp)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query);
4970 typedef void (GLAD_API_PTR *PFN_vkCmdWriteTimestamp2)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query);
4971 typedef VkResult (GLAD_API_PTR *PFN_vkCreateBuffer)(VkDevice device, const VkBufferCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkBuffer * pBuffer);
4972 typedef VkResult (GLAD_API_PTR *PFN_vkCreateBufferView)(VkDevice device, const VkBufferViewCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkBufferView * pView);
4973 typedef VkResult (GLAD_API_PTR *PFN_vkCreateCommandPool)(VkDevice device, const VkCommandPoolCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkCommandPool * pCommandPool);
4974 typedef VkResult (GLAD_API_PTR *PFN_vkCreateComputePipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo * pCreateInfos, const VkAllocationCallbacks * pAllocator, VkPipeline * pPipelines);
4975 typedef VkResult (GLAD_API_PTR *PFN_vkCreateDebugReportCallbackEXT)(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkDebugReportCallbackEXT * pCallback);
4976 typedef VkResult (GLAD_API_PTR *PFN_vkCreateDescriptorPool)(VkDevice device, const VkDescriptorPoolCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkDescriptorPool * pDescriptorPool);
4977 typedef VkResult (GLAD_API_PTR *PFN_vkCreateDescriptorSetLayout)(VkDevice device, const VkDescriptorSetLayoutCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkDescriptorSetLayout * pSetLayout);
4978 typedef VkResult (GLAD_API_PTR *PFN_vkCreateDescriptorUpdateTemplate)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkDescriptorUpdateTemplate * pDescriptorUpdateTemplate);
4979 typedef VkResult (GLAD_API_PTR *PFN_vkCreateDevice)(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkDevice * pDevice);
4980 typedef VkResult (GLAD_API_PTR *PFN_vkCreateEvent)(VkDevice device, const VkEventCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkEvent * pEvent);
4981 typedef VkResult (GLAD_API_PTR *PFN_vkCreateFence)(VkDevice device, const VkFenceCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkFence * pFence);
4982 typedef VkResult (GLAD_API_PTR *PFN_vkCreateFramebuffer)(VkDevice device, const VkFramebufferCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkFramebuffer * pFramebuffer);
4983 typedef VkResult (GLAD_API_PTR *PFN_vkCreateGraphicsPipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo * pCreateInfos, const VkAllocationCallbacks * pAllocator, VkPipeline * pPipelines);
4984 typedef VkResult (GLAD_API_PTR *PFN_vkCreateImage)(VkDevice device, const VkImageCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkImage * pImage);
4985 typedef VkResult (GLAD_API_PTR *PFN_vkCreateImageView)(VkDevice device, const VkImageViewCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkImageView * pView);
4986 typedef VkResult (GLAD_API_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkInstance * pInstance);
4987 typedef VkResult (GLAD_API_PTR *PFN_vkCreatePipelineCache)(VkDevice device, const VkPipelineCacheCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkPipelineCache * pPipelineCache);
4988 typedef VkResult (GLAD_API_PTR *PFN_vkCreatePipelineLayout)(VkDevice device, const VkPipelineLayoutCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkPipelineLayout * pPipelineLayout);
4989 typedef VkResult (GLAD_API_PTR *PFN_vkCreatePrivateDataSlot)(VkDevice device, const VkPrivateDataSlotCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkPrivateDataSlot * pPrivateDataSlot);
4990 typedef VkResult (GLAD_API_PTR *PFN_vkCreateQueryPool)(VkDevice device, const VkQueryPoolCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkQueryPool * pQueryPool);
4991 typedef VkResult (GLAD_API_PTR *PFN_vkCreateRenderPass)(VkDevice device, const VkRenderPassCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkRenderPass * pRenderPass);
4992 typedef VkResult (GLAD_API_PTR *PFN_vkCreateRenderPass2)(VkDevice device, const VkRenderPassCreateInfo2 * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkRenderPass * pRenderPass);
4993 typedef VkResult (GLAD_API_PTR *PFN_vkCreateSampler)(VkDevice device, const VkSamplerCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkSampler * pSampler);
4994 typedef VkResult (GLAD_API_PTR *PFN_vkCreateSamplerYcbcrConversion)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkSamplerYcbcrConversion * pYcbcrConversion);
4995 typedef VkResult (GLAD_API_PTR *PFN_vkCreateSemaphore)(VkDevice device, const VkSemaphoreCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkSemaphore * pSemaphore);
4996 typedef VkResult (GLAD_API_PTR *PFN_vkCreateShaderModule)(VkDevice device, const VkShaderModuleCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkShaderModule * pShaderModule);
4997 typedef VkResult (GLAD_API_PTR *PFN_vkCreateSwapchainKHR)(VkDevice device, const VkSwapchainCreateInfoKHR * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkSwapchainKHR * pSwapchain);
4998 typedef void (GLAD_API_PTR *PFN_vkDebugReportMessageEXT)(VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, uint64_t object, size_t location, int32_t messageCode, const char * pLayerPrefix, const char * pMessage);
4999 typedef void (GLAD_API_PTR *PFN_vkDestroyBuffer)(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks * pAllocator);
5000 typedef void (GLAD_API_PTR *PFN_vkDestroyBufferView)(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks * pAllocator);
5001 typedef void (GLAD_API_PTR *PFN_vkDestroyCommandPool)(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks * pAllocator);
5002 typedef void (GLAD_API_PTR *PFN_vkDestroyDebugReportCallbackEXT)(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks * pAllocator);
5003 typedef void (GLAD_API_PTR *PFN_vkDestroyDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks * pAllocator);
5004 typedef void (GLAD_API_PTR *PFN_vkDestroyDescriptorSetLayout)(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks * pAllocator);
5005 typedef void (GLAD_API_PTR *PFN_vkDestroyDescriptorUpdateTemplate)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks * pAllocator);
5006 typedef void (GLAD_API_PTR *PFN_vkDestroyDevice)(VkDevice device, const VkAllocationCallbacks * pAllocator);
5007 typedef void (GLAD_API_PTR *PFN_vkDestroyEvent)(VkDevice device, VkEvent event, const VkAllocationCallbacks * pAllocator);
5008 typedef void (GLAD_API_PTR *PFN_vkDestroyFence)(VkDevice device, VkFence fence, const VkAllocationCallbacks * pAllocator);
5009 typedef void (GLAD_API_PTR *PFN_vkDestroyFramebuffer)(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks * pAllocator);
5010 typedef void (GLAD_API_PTR *PFN_vkDestroyImage)(VkDevice device, VkImage image, const VkAllocationCallbacks * pAllocator);
5011 typedef void (GLAD_API_PTR *PFN_vkDestroyImageView)(VkDevice device, VkImageView imageView, const VkAllocationCallbacks * pAllocator);
5012 typedef void (GLAD_API_PTR *PFN_vkDestroyInstance)(VkInstance instance, const VkAllocationCallbacks * pAllocator);
5013 typedef void (GLAD_API_PTR *PFN_vkDestroyPipeline)(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks * pAllocator);
5014 typedef void (GLAD_API_PTR *PFN_vkDestroyPipelineCache)(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks * pAllocator);
5015 typedef void (GLAD_API_PTR *PFN_vkDestroyPipelineLayout)(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks * pAllocator);
5016 typedef void (GLAD_API_PTR *PFN_vkDestroyPrivateDataSlot)(VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks * pAllocator);
5017 typedef void (GLAD_API_PTR *PFN_vkDestroyQueryPool)(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks * pAllocator);
5018 typedef void (GLAD_API_PTR *PFN_vkDestroyRenderPass)(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks * pAllocator);
5019 typedef void (GLAD_API_PTR *PFN_vkDestroySampler)(VkDevice device, VkSampler sampler, const VkAllocationCallbacks * pAllocator);
5020 typedef void (GLAD_API_PTR *PFN_vkDestroySamplerYcbcrConversion)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks * pAllocator);
5021 typedef void (GLAD_API_PTR *PFN_vkDestroySemaphore)(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks * pAllocator);
5022 typedef void (GLAD_API_PTR *PFN_vkDestroyShaderModule)(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks * pAllocator);
5023 typedef void (GLAD_API_PTR *PFN_vkDestroySurfaceKHR)(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks * pAllocator);
5024 typedef void (GLAD_API_PTR *PFN_vkDestroySwapchainKHR)(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks * pAllocator);
5025 typedef VkResult (GLAD_API_PTR *PFN_vkDeviceWaitIdle)(VkDevice device);
5026 typedef VkResult (GLAD_API_PTR *PFN_vkEndCommandBuffer)(VkCommandBuffer commandBuffer);
5027 typedef VkResult (GLAD_API_PTR *PFN_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice physicalDevice, const char * pLayerName, uint32_t * pPropertyCount, VkExtensionProperties * pProperties);
5028 typedef VkResult (GLAD_API_PTR *PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice physicalDevice, uint32_t * pPropertyCount, VkLayerProperties * pProperties);
5029 typedef VkResult (GLAD_API_PTR *PFN_vkEnumerateInstanceExtensionProperties)(const char * pLayerName, uint32_t * pPropertyCount, VkExtensionProperties * pProperties);
5030 typedef VkResult (GLAD_API_PTR *PFN_vkEnumerateInstanceLayerProperties)(uint32_t * pPropertyCount, VkLayerProperties * pProperties);
5031 typedef VkResult (GLAD_API_PTR *PFN_vkEnumerateInstanceVersion)(uint32_t * pApiVersion);
5032 typedef VkResult (GLAD_API_PTR *PFN_vkEnumeratePhysicalDeviceGroups)(VkInstance instance, uint32_t * pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties * pPhysicalDeviceGroupProperties);
5033 typedef VkResult (GLAD_API_PTR *PFN_vkEnumeratePhysicalDevices)(VkInstance instance, uint32_t * pPhysicalDeviceCount, VkPhysicalDevice * pPhysicalDevices);
5034 typedef VkResult (GLAD_API_PTR *PFN_vkFlushMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange * pMemoryRanges);
5035 typedef void (GLAD_API_PTR *PFN_vkFreeCommandBuffers)(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer * pCommandBuffers);
5036 typedef VkResult (GLAD_API_PTR *PFN_vkFreeDescriptorSets)(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet * pDescriptorSets);
5037 typedef void (GLAD_API_PTR *PFN_vkFreeMemory)(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks * pAllocator);
5038 typedef VkDeviceAddress (GLAD_API_PTR *PFN_vkGetBufferDeviceAddress)(VkDevice device, const VkBufferDeviceAddressInfo * pInfo);
5039 typedef void (GLAD_API_PTR *PFN_vkGetBufferMemoryRequirements)(VkDevice device, VkBuffer buffer, VkMemoryRequirements * pMemoryRequirements);
5040 typedef void (GLAD_API_PTR *PFN_vkGetBufferMemoryRequirements2)(VkDevice device, const VkBufferMemoryRequirementsInfo2 * pInfo, VkMemoryRequirements2 * pMemoryRequirements);
5041 typedef uint64_t (GLAD_API_PTR *PFN_vkGetBufferOpaqueCaptureAddress)(VkDevice device, const VkBufferDeviceAddressInfo * pInfo);
5042 typedef void (GLAD_API_PTR *PFN_vkGetDescriptorSetLayoutSupport)(VkDevice device, const VkDescriptorSetLayoutCreateInfo * pCreateInfo, VkDescriptorSetLayoutSupport * pSupport);
5043 typedef void (GLAD_API_PTR *PFN_vkGetDeviceBufferMemoryRequirements)(VkDevice device, const VkDeviceBufferMemoryRequirements * pInfo, VkMemoryRequirements2 * pMemoryRequirements);
5044 typedef void (GLAD_API_PTR *PFN_vkGetDeviceGroupPeerMemoryFeatures)(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags * pPeerMemoryFeatures);
5045 typedef VkResult (GLAD_API_PTR *PFN_vkGetDeviceGroupPresentCapabilitiesKHR)(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR * pDeviceGroupPresentCapabilities);
5046 typedef VkResult (GLAD_API_PTR *PFN_vkGetDeviceGroupSurfacePresentModesKHR)(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR * pModes);
5047 typedef void (GLAD_API_PTR *PFN_vkGetDeviceImageMemoryRequirements)(VkDevice device, const VkDeviceImageMemoryRequirements * pInfo, VkMemoryRequirements2 * pMemoryRequirements);
5048 typedef void (GLAD_API_PTR *PFN_vkGetDeviceImageSparseMemoryRequirements)(VkDevice device, const VkDeviceImageMemoryRequirements * pInfo, uint32_t * pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements);
5049 typedef void (GLAD_API_PTR *PFN_vkGetDeviceMemoryCommitment)(VkDevice device, VkDeviceMemory memory, VkDeviceSize * pCommittedMemoryInBytes);
5050 typedef uint64_t (GLAD_API_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddress)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo * pInfo);
5051 typedef PFN_vkVoidFunction (GLAD_API_PTR *PFN_vkGetDeviceProcAddr)(VkDevice device, const char * pName);
5052 typedef void (GLAD_API_PTR *PFN_vkGetDeviceQueue)(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue * pQueue);
5053 typedef void (GLAD_API_PTR *PFN_vkGetDeviceQueue2)(VkDevice device, const VkDeviceQueueInfo2 * pQueueInfo, VkQueue * pQueue);
5054 typedef VkResult (GLAD_API_PTR *PFN_vkGetEventStatus)(VkDevice device, VkEvent event);
5055 typedef VkResult (GLAD_API_PTR *PFN_vkGetFenceStatus)(VkDevice device, VkFence fence);
5056 typedef void (GLAD_API_PTR *PFN_vkGetImageMemoryRequirements)(VkDevice device, VkImage image, VkMemoryRequirements * pMemoryRequirements);
5057 typedef void (GLAD_API_PTR *PFN_vkGetImageMemoryRequirements2)(VkDevice device, const VkImageMemoryRequirementsInfo2 * pInfo, VkMemoryRequirements2 * pMemoryRequirements);
5058 typedef void (GLAD_API_PTR *PFN_vkGetImageSparseMemoryRequirements)(VkDevice device, VkImage image, uint32_t * pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements * pSparseMemoryRequirements);
5059 typedef void (GLAD_API_PTR *PFN_vkGetImageSparseMemoryRequirements2)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2 * pInfo, uint32_t * pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements);
5060 typedef void (GLAD_API_PTR *PFN_vkGetImageSubresourceLayout)(VkDevice device, VkImage image, const VkImageSubresource * pSubresource, VkSubresourceLayout * pLayout);
5061 typedef PFN_vkVoidFunction (GLAD_API_PTR *PFN_vkGetInstanceProcAddr)(VkInstance instance, const char * pName);
5062 typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceExternalBufferProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo * pExternalBufferInfo, VkExternalBufferProperties * pExternalBufferProperties);
5063 typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceExternalFenceProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo * pExternalFenceInfo, VkExternalFenceProperties * pExternalFenceProperties);
5064 typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceExternalSemaphoreProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo * pExternalSemaphoreInfo, VkExternalSemaphoreProperties * pExternalSemaphoreProperties);
5065 typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures * pFeatures);
5066 typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceFeatures2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2 * pFeatures);
5067 typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties * pFormatProperties);
5068 typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceFormatProperties2)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2 * pFormatProperties);
5069 typedef VkResult (GLAD_API_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties * pImageFormatProperties);
5070 typedef VkResult (GLAD_API_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2 * pImageFormatInfo, VkImageFormatProperties2 * pImageFormatProperties);
5071 typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties * pMemoryProperties);
5072 typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2 * pMemoryProperties);
5073 typedef VkResult (GLAD_API_PTR *PFN_vkGetPhysicalDevicePresentRectanglesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t * pRectCount, VkRect2D * pRects);
5074 typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties * pProperties);
5075 typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2 * pProperties);
5076 typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice physicalDevice, uint32_t * pQueueFamilyPropertyCount, VkQueueFamilyProperties * pQueueFamilyProperties);
5077 typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2)(VkPhysicalDevice physicalDevice, uint32_t * pQueueFamilyPropertyCount, VkQueueFamilyProperties2 * pQueueFamilyProperties);
5078 typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t * pPropertyCount, VkSparseImageFormatProperties * pProperties);
5079 typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2 * pFormatInfo, uint32_t * pPropertyCount, VkSparseImageFormatProperties2 * pProperties);
5080 typedef VkResult (GLAD_API_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR * pSurfaceCapabilities);
5081 typedef VkResult (GLAD_API_PTR *PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t * pSurfaceFormatCount, VkSurfaceFormatKHR * pSurfaceFormats);
5082 typedef VkResult (GLAD_API_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t * pPresentModeCount, VkPresentModeKHR * pPresentModes);
5083 typedef VkResult (GLAD_API_PTR *PFN_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, VkSurfaceKHR surface, VkBool32 * pSupported);
5084 typedef VkResult (GLAD_API_PTR *PFN_vkGetPhysicalDeviceToolProperties)(VkPhysicalDevice physicalDevice, uint32_t * pToolCount, VkPhysicalDeviceToolProperties * pToolProperties);
5085 typedef VkResult (GLAD_API_PTR *PFN_vkGetPipelineCacheData)(VkDevice device, VkPipelineCache pipelineCache, size_t * pDataSize, void * pData);
5086 typedef void (GLAD_API_PTR *PFN_vkGetPrivateData)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t * pData);
5087 typedef VkResult (GLAD_API_PTR *PFN_vkGetQueryPoolResults)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void * pData, VkDeviceSize stride, VkQueryResultFlags flags);
5088 typedef void (GLAD_API_PTR *PFN_vkGetRenderAreaGranularity)(VkDevice device, VkRenderPass renderPass, VkExtent2D * pGranularity);
5089 typedef VkResult (GLAD_API_PTR *PFN_vkGetSemaphoreCounterValue)(VkDevice device, VkSemaphore semaphore, uint64_t * pValue);
5090 typedef VkResult (GLAD_API_PTR *PFN_vkGetSwapchainImagesKHR)(VkDevice device, VkSwapchainKHR swapchain, uint32_t * pSwapchainImageCount, VkImage * pSwapchainImages);
5091 typedef VkResult (GLAD_API_PTR *PFN_vkInvalidateMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange * pMemoryRanges);
5092 typedef VkResult (GLAD_API_PTR *PFN_vkMapMemory)(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void ** ppData);
5093 typedef VkResult (GLAD_API_PTR *PFN_vkMergePipelineCaches)(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache * pSrcCaches);
5094 typedef VkResult (GLAD_API_PTR *PFN_vkQueueBindSparse)(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo * pBindInfo, VkFence fence);
5095 typedef VkResult (GLAD_API_PTR *PFN_vkQueuePresentKHR)(VkQueue queue, const VkPresentInfoKHR * pPresentInfo);
5096 typedef VkResult (GLAD_API_PTR *PFN_vkQueueSubmit)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo * pSubmits, VkFence fence);
5097 typedef VkResult (GLAD_API_PTR *PFN_vkQueueSubmit2)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo2 * pSubmits, VkFence fence);
5098 typedef VkResult (GLAD_API_PTR *PFN_vkQueueWaitIdle)(VkQueue queue);
5099 typedef VkResult (GLAD_API_PTR *PFN_vkResetCommandBuffer)(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags);
5100 typedef VkResult (GLAD_API_PTR *PFN_vkResetCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags);
5101 typedef VkResult (GLAD_API_PTR *PFN_vkResetDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags);
5102 typedef VkResult (GLAD_API_PTR *PFN_vkResetEvent)(VkDevice device, VkEvent event);
5103 typedef VkResult (GLAD_API_PTR *PFN_vkResetFences)(VkDevice device, uint32_t fenceCount, const VkFence * pFences);
5104 typedef void (GLAD_API_PTR *PFN_vkResetQueryPool)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount);
5105 typedef VkResult (GLAD_API_PTR *PFN_vkSetEvent)(VkDevice device, VkEvent event);
5106 typedef VkResult (GLAD_API_PTR *PFN_vkSetPrivateData)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t data);
5107 typedef VkResult (GLAD_API_PTR *PFN_vkSignalSemaphore)(VkDevice device, const VkSemaphoreSignalInfo * pSignalInfo);
5108 typedef void (GLAD_API_PTR *PFN_vkTrimCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
5109 typedef void (GLAD_API_PTR *PFN_vkUnmapMemory)(VkDevice device, VkDeviceMemory memory);
5110 typedef void (GLAD_API_PTR *PFN_vkUpdateDescriptorSetWithTemplate)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void * pData);
5111 typedef void (GLAD_API_PTR *PFN_vkUpdateDescriptorSets)(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet * pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet * pDescriptorCopies);
5112 typedef VkResult (GLAD_API_PTR *PFN_vkWaitForFences)(VkDevice device, uint32_t fenceCount, const VkFence * pFences, VkBool32 waitAll, uint64_t timeout);
5113 typedef VkResult (GLAD_API_PTR *PFN_vkWaitSemaphores)(VkDevice device, const VkSemaphoreWaitInfo * pWaitInfo, uint64_t timeout);
5114 
5115 GLAD_API_CALL PFN_vkAcquireNextImage2KHR glad_vkAcquireNextImage2KHR;
5116 #define vkAcquireNextImage2KHR glad_vkAcquireNextImage2KHR
5117 GLAD_API_CALL PFN_vkAcquireNextImageKHR glad_vkAcquireNextImageKHR;
5118 #define vkAcquireNextImageKHR glad_vkAcquireNextImageKHR
5119 GLAD_API_CALL PFN_vkAllocateCommandBuffers glad_vkAllocateCommandBuffers;
5120 #define vkAllocateCommandBuffers glad_vkAllocateCommandBuffers
5121 GLAD_API_CALL PFN_vkAllocateDescriptorSets glad_vkAllocateDescriptorSets;
5122 #define vkAllocateDescriptorSets glad_vkAllocateDescriptorSets
5123 GLAD_API_CALL PFN_vkAllocateMemory glad_vkAllocateMemory;
5124 #define vkAllocateMemory glad_vkAllocateMemory
5125 GLAD_API_CALL PFN_vkBeginCommandBuffer glad_vkBeginCommandBuffer;
5126 #define vkBeginCommandBuffer glad_vkBeginCommandBuffer
5127 GLAD_API_CALL PFN_vkBindBufferMemory glad_vkBindBufferMemory;
5128 #define vkBindBufferMemory glad_vkBindBufferMemory
5129 GLAD_API_CALL PFN_vkBindBufferMemory2 glad_vkBindBufferMemory2;
5130 #define vkBindBufferMemory2 glad_vkBindBufferMemory2
5131 GLAD_API_CALL PFN_vkBindImageMemory glad_vkBindImageMemory;
5132 #define vkBindImageMemory glad_vkBindImageMemory
5133 GLAD_API_CALL PFN_vkBindImageMemory2 glad_vkBindImageMemory2;
5134 #define vkBindImageMemory2 glad_vkBindImageMemory2
5135 GLAD_API_CALL PFN_vkCmdBeginQuery glad_vkCmdBeginQuery;
5136 #define vkCmdBeginQuery glad_vkCmdBeginQuery
5137 GLAD_API_CALL PFN_vkCmdBeginRenderPass glad_vkCmdBeginRenderPass;
5138 #define vkCmdBeginRenderPass glad_vkCmdBeginRenderPass
5139 GLAD_API_CALL PFN_vkCmdBeginRenderPass2 glad_vkCmdBeginRenderPass2;
5140 #define vkCmdBeginRenderPass2 glad_vkCmdBeginRenderPass2
5141 GLAD_API_CALL PFN_vkCmdBeginRendering glad_vkCmdBeginRendering;
5142 #define vkCmdBeginRendering glad_vkCmdBeginRendering
5143 GLAD_API_CALL PFN_vkCmdBindDescriptorSets glad_vkCmdBindDescriptorSets;
5144 #define vkCmdBindDescriptorSets glad_vkCmdBindDescriptorSets
5145 GLAD_API_CALL PFN_vkCmdBindIndexBuffer glad_vkCmdBindIndexBuffer;
5146 #define vkCmdBindIndexBuffer glad_vkCmdBindIndexBuffer
5147 GLAD_API_CALL PFN_vkCmdBindPipeline glad_vkCmdBindPipeline;
5148 #define vkCmdBindPipeline glad_vkCmdBindPipeline
5149 GLAD_API_CALL PFN_vkCmdBindVertexBuffers glad_vkCmdBindVertexBuffers;
5150 #define vkCmdBindVertexBuffers glad_vkCmdBindVertexBuffers
5151 GLAD_API_CALL PFN_vkCmdBindVertexBuffers2 glad_vkCmdBindVertexBuffers2;
5152 #define vkCmdBindVertexBuffers2 glad_vkCmdBindVertexBuffers2
5153 GLAD_API_CALL PFN_vkCmdBlitImage glad_vkCmdBlitImage;
5154 #define vkCmdBlitImage glad_vkCmdBlitImage
5155 GLAD_API_CALL PFN_vkCmdBlitImage2 glad_vkCmdBlitImage2;
5156 #define vkCmdBlitImage2 glad_vkCmdBlitImage2
5157 GLAD_API_CALL PFN_vkCmdClearAttachments glad_vkCmdClearAttachments;
5158 #define vkCmdClearAttachments glad_vkCmdClearAttachments
5159 GLAD_API_CALL PFN_vkCmdClearColorImage glad_vkCmdClearColorImage;
5160 #define vkCmdClearColorImage glad_vkCmdClearColorImage
5161 GLAD_API_CALL PFN_vkCmdClearDepthStencilImage glad_vkCmdClearDepthStencilImage;
5162 #define vkCmdClearDepthStencilImage glad_vkCmdClearDepthStencilImage
5163 GLAD_API_CALL PFN_vkCmdCopyBuffer glad_vkCmdCopyBuffer;
5164 #define vkCmdCopyBuffer glad_vkCmdCopyBuffer
5165 GLAD_API_CALL PFN_vkCmdCopyBuffer2 glad_vkCmdCopyBuffer2;
5166 #define vkCmdCopyBuffer2 glad_vkCmdCopyBuffer2
5167 GLAD_API_CALL PFN_vkCmdCopyBufferToImage glad_vkCmdCopyBufferToImage;
5168 #define vkCmdCopyBufferToImage glad_vkCmdCopyBufferToImage
5169 GLAD_API_CALL PFN_vkCmdCopyBufferToImage2 glad_vkCmdCopyBufferToImage2;
5170 #define vkCmdCopyBufferToImage2 glad_vkCmdCopyBufferToImage2
5171 GLAD_API_CALL PFN_vkCmdCopyImage glad_vkCmdCopyImage;
5172 #define vkCmdCopyImage glad_vkCmdCopyImage
5173 GLAD_API_CALL PFN_vkCmdCopyImage2 glad_vkCmdCopyImage2;
5174 #define vkCmdCopyImage2 glad_vkCmdCopyImage2
5175 GLAD_API_CALL PFN_vkCmdCopyImageToBuffer glad_vkCmdCopyImageToBuffer;
5176 #define vkCmdCopyImageToBuffer glad_vkCmdCopyImageToBuffer
5177 GLAD_API_CALL PFN_vkCmdCopyImageToBuffer2 glad_vkCmdCopyImageToBuffer2;
5178 #define vkCmdCopyImageToBuffer2 glad_vkCmdCopyImageToBuffer2
5179 GLAD_API_CALL PFN_vkCmdCopyQueryPoolResults glad_vkCmdCopyQueryPoolResults;
5180 #define vkCmdCopyQueryPoolResults glad_vkCmdCopyQueryPoolResults
5181 GLAD_API_CALL PFN_vkCmdDispatch glad_vkCmdDispatch;
5182 #define vkCmdDispatch glad_vkCmdDispatch
5183 GLAD_API_CALL PFN_vkCmdDispatchBase glad_vkCmdDispatchBase;
5184 #define vkCmdDispatchBase glad_vkCmdDispatchBase
5185 GLAD_API_CALL PFN_vkCmdDispatchIndirect glad_vkCmdDispatchIndirect;
5186 #define vkCmdDispatchIndirect glad_vkCmdDispatchIndirect
5187 GLAD_API_CALL PFN_vkCmdDraw glad_vkCmdDraw;
5188 #define vkCmdDraw glad_vkCmdDraw
5189 GLAD_API_CALL PFN_vkCmdDrawIndexed glad_vkCmdDrawIndexed;
5190 #define vkCmdDrawIndexed glad_vkCmdDrawIndexed
5191 GLAD_API_CALL PFN_vkCmdDrawIndexedIndirect glad_vkCmdDrawIndexedIndirect;
5192 #define vkCmdDrawIndexedIndirect glad_vkCmdDrawIndexedIndirect
5193 GLAD_API_CALL PFN_vkCmdDrawIndexedIndirectCount glad_vkCmdDrawIndexedIndirectCount;
5194 #define vkCmdDrawIndexedIndirectCount glad_vkCmdDrawIndexedIndirectCount
5195 GLAD_API_CALL PFN_vkCmdDrawIndirect glad_vkCmdDrawIndirect;
5196 #define vkCmdDrawIndirect glad_vkCmdDrawIndirect
5197 GLAD_API_CALL PFN_vkCmdDrawIndirectCount glad_vkCmdDrawIndirectCount;
5198 #define vkCmdDrawIndirectCount glad_vkCmdDrawIndirectCount
5199 GLAD_API_CALL PFN_vkCmdEndQuery glad_vkCmdEndQuery;
5200 #define vkCmdEndQuery glad_vkCmdEndQuery
5201 GLAD_API_CALL PFN_vkCmdEndRenderPass glad_vkCmdEndRenderPass;
5202 #define vkCmdEndRenderPass glad_vkCmdEndRenderPass
5203 GLAD_API_CALL PFN_vkCmdEndRenderPass2 glad_vkCmdEndRenderPass2;
5204 #define vkCmdEndRenderPass2 glad_vkCmdEndRenderPass2
5205 GLAD_API_CALL PFN_vkCmdEndRendering glad_vkCmdEndRendering;
5206 #define vkCmdEndRendering glad_vkCmdEndRendering
5207 GLAD_API_CALL PFN_vkCmdExecuteCommands glad_vkCmdExecuteCommands;
5208 #define vkCmdExecuteCommands glad_vkCmdExecuteCommands
5209 GLAD_API_CALL PFN_vkCmdFillBuffer glad_vkCmdFillBuffer;
5210 #define vkCmdFillBuffer glad_vkCmdFillBuffer
5211 GLAD_API_CALL PFN_vkCmdNextSubpass glad_vkCmdNextSubpass;
5212 #define vkCmdNextSubpass glad_vkCmdNextSubpass
5213 GLAD_API_CALL PFN_vkCmdNextSubpass2 glad_vkCmdNextSubpass2;
5214 #define vkCmdNextSubpass2 glad_vkCmdNextSubpass2
5215 GLAD_API_CALL PFN_vkCmdPipelineBarrier glad_vkCmdPipelineBarrier;
5216 #define vkCmdPipelineBarrier glad_vkCmdPipelineBarrier
5217 GLAD_API_CALL PFN_vkCmdPipelineBarrier2 glad_vkCmdPipelineBarrier2;
5218 #define vkCmdPipelineBarrier2 glad_vkCmdPipelineBarrier2
5219 GLAD_API_CALL PFN_vkCmdPushConstants glad_vkCmdPushConstants;
5220 #define vkCmdPushConstants glad_vkCmdPushConstants
5221 GLAD_API_CALL PFN_vkCmdResetEvent glad_vkCmdResetEvent;
5222 #define vkCmdResetEvent glad_vkCmdResetEvent
5223 GLAD_API_CALL PFN_vkCmdResetEvent2 glad_vkCmdResetEvent2;
5224 #define vkCmdResetEvent2 glad_vkCmdResetEvent2
5225 GLAD_API_CALL PFN_vkCmdResetQueryPool glad_vkCmdResetQueryPool;
5226 #define vkCmdResetQueryPool glad_vkCmdResetQueryPool
5227 GLAD_API_CALL PFN_vkCmdResolveImage glad_vkCmdResolveImage;
5228 #define vkCmdResolveImage glad_vkCmdResolveImage
5229 GLAD_API_CALL PFN_vkCmdResolveImage2 glad_vkCmdResolveImage2;
5230 #define vkCmdResolveImage2 glad_vkCmdResolveImage2
5231 GLAD_API_CALL PFN_vkCmdSetBlendConstants glad_vkCmdSetBlendConstants;
5232 #define vkCmdSetBlendConstants glad_vkCmdSetBlendConstants
5233 GLAD_API_CALL PFN_vkCmdSetCullMode glad_vkCmdSetCullMode;
5234 #define vkCmdSetCullMode glad_vkCmdSetCullMode
5235 GLAD_API_CALL PFN_vkCmdSetDepthBias glad_vkCmdSetDepthBias;
5236 #define vkCmdSetDepthBias glad_vkCmdSetDepthBias
5237 GLAD_API_CALL PFN_vkCmdSetDepthBiasEnable glad_vkCmdSetDepthBiasEnable;
5238 #define vkCmdSetDepthBiasEnable glad_vkCmdSetDepthBiasEnable
5239 GLAD_API_CALL PFN_vkCmdSetDepthBounds glad_vkCmdSetDepthBounds;
5240 #define vkCmdSetDepthBounds glad_vkCmdSetDepthBounds
5241 GLAD_API_CALL PFN_vkCmdSetDepthBoundsTestEnable glad_vkCmdSetDepthBoundsTestEnable;
5242 #define vkCmdSetDepthBoundsTestEnable glad_vkCmdSetDepthBoundsTestEnable
5243 GLAD_API_CALL PFN_vkCmdSetDepthCompareOp glad_vkCmdSetDepthCompareOp;
5244 #define vkCmdSetDepthCompareOp glad_vkCmdSetDepthCompareOp
5245 GLAD_API_CALL PFN_vkCmdSetDepthTestEnable glad_vkCmdSetDepthTestEnable;
5246 #define vkCmdSetDepthTestEnable glad_vkCmdSetDepthTestEnable
5247 GLAD_API_CALL PFN_vkCmdSetDepthWriteEnable glad_vkCmdSetDepthWriteEnable;
5248 #define vkCmdSetDepthWriteEnable glad_vkCmdSetDepthWriteEnable
5249 GLAD_API_CALL PFN_vkCmdSetDeviceMask glad_vkCmdSetDeviceMask;
5250 #define vkCmdSetDeviceMask glad_vkCmdSetDeviceMask
5251 GLAD_API_CALL PFN_vkCmdSetEvent glad_vkCmdSetEvent;
5252 #define vkCmdSetEvent glad_vkCmdSetEvent
5253 GLAD_API_CALL PFN_vkCmdSetEvent2 glad_vkCmdSetEvent2;
5254 #define vkCmdSetEvent2 glad_vkCmdSetEvent2
5255 GLAD_API_CALL PFN_vkCmdSetFrontFace glad_vkCmdSetFrontFace;
5256 #define vkCmdSetFrontFace glad_vkCmdSetFrontFace
5257 GLAD_API_CALL PFN_vkCmdSetLineWidth glad_vkCmdSetLineWidth;
5258 #define vkCmdSetLineWidth glad_vkCmdSetLineWidth
5259 GLAD_API_CALL PFN_vkCmdSetPrimitiveRestartEnable glad_vkCmdSetPrimitiveRestartEnable;
5260 #define vkCmdSetPrimitiveRestartEnable glad_vkCmdSetPrimitiveRestartEnable
5261 GLAD_API_CALL PFN_vkCmdSetPrimitiveTopology glad_vkCmdSetPrimitiveTopology;
5262 #define vkCmdSetPrimitiveTopology glad_vkCmdSetPrimitiveTopology
5263 GLAD_API_CALL PFN_vkCmdSetRasterizerDiscardEnable glad_vkCmdSetRasterizerDiscardEnable;
5264 #define vkCmdSetRasterizerDiscardEnable glad_vkCmdSetRasterizerDiscardEnable
5265 GLAD_API_CALL PFN_vkCmdSetScissor glad_vkCmdSetScissor;
5266 #define vkCmdSetScissor glad_vkCmdSetScissor
5267 GLAD_API_CALL PFN_vkCmdSetScissorWithCount glad_vkCmdSetScissorWithCount;
5268 #define vkCmdSetScissorWithCount glad_vkCmdSetScissorWithCount
5269 GLAD_API_CALL PFN_vkCmdSetStencilCompareMask glad_vkCmdSetStencilCompareMask;
5270 #define vkCmdSetStencilCompareMask glad_vkCmdSetStencilCompareMask
5271 GLAD_API_CALL PFN_vkCmdSetStencilOp glad_vkCmdSetStencilOp;
5272 #define vkCmdSetStencilOp glad_vkCmdSetStencilOp
5273 GLAD_API_CALL PFN_vkCmdSetStencilReference glad_vkCmdSetStencilReference;
5274 #define vkCmdSetStencilReference glad_vkCmdSetStencilReference
5275 GLAD_API_CALL PFN_vkCmdSetStencilTestEnable glad_vkCmdSetStencilTestEnable;
5276 #define vkCmdSetStencilTestEnable glad_vkCmdSetStencilTestEnable
5277 GLAD_API_CALL PFN_vkCmdSetStencilWriteMask glad_vkCmdSetStencilWriteMask;
5278 #define vkCmdSetStencilWriteMask glad_vkCmdSetStencilWriteMask
5279 GLAD_API_CALL PFN_vkCmdSetViewport glad_vkCmdSetViewport;
5280 #define vkCmdSetViewport glad_vkCmdSetViewport
5281 GLAD_API_CALL PFN_vkCmdSetViewportWithCount glad_vkCmdSetViewportWithCount;
5282 #define vkCmdSetViewportWithCount glad_vkCmdSetViewportWithCount
5283 GLAD_API_CALL PFN_vkCmdUpdateBuffer glad_vkCmdUpdateBuffer;
5284 #define vkCmdUpdateBuffer glad_vkCmdUpdateBuffer
5285 GLAD_API_CALL PFN_vkCmdWaitEvents glad_vkCmdWaitEvents;
5286 #define vkCmdWaitEvents glad_vkCmdWaitEvents
5287 GLAD_API_CALL PFN_vkCmdWaitEvents2 glad_vkCmdWaitEvents2;
5288 #define vkCmdWaitEvents2 glad_vkCmdWaitEvents2
5289 GLAD_API_CALL PFN_vkCmdWriteTimestamp glad_vkCmdWriteTimestamp;
5290 #define vkCmdWriteTimestamp glad_vkCmdWriteTimestamp
5291 GLAD_API_CALL PFN_vkCmdWriteTimestamp2 glad_vkCmdWriteTimestamp2;
5292 #define vkCmdWriteTimestamp2 glad_vkCmdWriteTimestamp2
5293 GLAD_API_CALL PFN_vkCreateBuffer glad_vkCreateBuffer;
5294 #define vkCreateBuffer glad_vkCreateBuffer
5295 GLAD_API_CALL PFN_vkCreateBufferView glad_vkCreateBufferView;
5296 #define vkCreateBufferView glad_vkCreateBufferView
5297 GLAD_API_CALL PFN_vkCreateCommandPool glad_vkCreateCommandPool;
5298 #define vkCreateCommandPool glad_vkCreateCommandPool
5299 GLAD_API_CALL PFN_vkCreateComputePipelines glad_vkCreateComputePipelines;
5300 #define vkCreateComputePipelines glad_vkCreateComputePipelines
5301 GLAD_API_CALL PFN_vkCreateDebugReportCallbackEXT glad_vkCreateDebugReportCallbackEXT;
5302 #define vkCreateDebugReportCallbackEXT glad_vkCreateDebugReportCallbackEXT
5303 GLAD_API_CALL PFN_vkCreateDescriptorPool glad_vkCreateDescriptorPool;
5304 #define vkCreateDescriptorPool glad_vkCreateDescriptorPool
5305 GLAD_API_CALL PFN_vkCreateDescriptorSetLayout glad_vkCreateDescriptorSetLayout;
5306 #define vkCreateDescriptorSetLayout glad_vkCreateDescriptorSetLayout
5307 GLAD_API_CALL PFN_vkCreateDescriptorUpdateTemplate glad_vkCreateDescriptorUpdateTemplate;
5308 #define vkCreateDescriptorUpdateTemplate glad_vkCreateDescriptorUpdateTemplate
5309 GLAD_API_CALL PFN_vkCreateDevice glad_vkCreateDevice;
5310 #define vkCreateDevice glad_vkCreateDevice
5311 GLAD_API_CALL PFN_vkCreateEvent glad_vkCreateEvent;
5312 #define vkCreateEvent glad_vkCreateEvent
5313 GLAD_API_CALL PFN_vkCreateFence glad_vkCreateFence;
5314 #define vkCreateFence glad_vkCreateFence
5315 GLAD_API_CALL PFN_vkCreateFramebuffer glad_vkCreateFramebuffer;
5316 #define vkCreateFramebuffer glad_vkCreateFramebuffer
5317 GLAD_API_CALL PFN_vkCreateGraphicsPipelines glad_vkCreateGraphicsPipelines;
5318 #define vkCreateGraphicsPipelines glad_vkCreateGraphicsPipelines
5319 GLAD_API_CALL PFN_vkCreateImage glad_vkCreateImage;
5320 #define vkCreateImage glad_vkCreateImage
5321 GLAD_API_CALL PFN_vkCreateImageView glad_vkCreateImageView;
5322 #define vkCreateImageView glad_vkCreateImageView
5323 GLAD_API_CALL PFN_vkCreateInstance glad_vkCreateInstance;
5324 #define vkCreateInstance glad_vkCreateInstance
5325 GLAD_API_CALL PFN_vkCreatePipelineCache glad_vkCreatePipelineCache;
5326 #define vkCreatePipelineCache glad_vkCreatePipelineCache
5327 GLAD_API_CALL PFN_vkCreatePipelineLayout glad_vkCreatePipelineLayout;
5328 #define vkCreatePipelineLayout glad_vkCreatePipelineLayout
5329 GLAD_API_CALL PFN_vkCreatePrivateDataSlot glad_vkCreatePrivateDataSlot;
5330 #define vkCreatePrivateDataSlot glad_vkCreatePrivateDataSlot
5331 GLAD_API_CALL PFN_vkCreateQueryPool glad_vkCreateQueryPool;
5332 #define vkCreateQueryPool glad_vkCreateQueryPool
5333 GLAD_API_CALL PFN_vkCreateRenderPass glad_vkCreateRenderPass;
5334 #define vkCreateRenderPass glad_vkCreateRenderPass
5335 GLAD_API_CALL PFN_vkCreateRenderPass2 glad_vkCreateRenderPass2;
5336 #define vkCreateRenderPass2 glad_vkCreateRenderPass2
5337 GLAD_API_CALL PFN_vkCreateSampler glad_vkCreateSampler;
5338 #define vkCreateSampler glad_vkCreateSampler
5339 GLAD_API_CALL PFN_vkCreateSamplerYcbcrConversion glad_vkCreateSamplerYcbcrConversion;
5340 #define vkCreateSamplerYcbcrConversion glad_vkCreateSamplerYcbcrConversion
5341 GLAD_API_CALL PFN_vkCreateSemaphore glad_vkCreateSemaphore;
5342 #define vkCreateSemaphore glad_vkCreateSemaphore
5343 GLAD_API_CALL PFN_vkCreateShaderModule glad_vkCreateShaderModule;
5344 #define vkCreateShaderModule glad_vkCreateShaderModule
5345 GLAD_API_CALL PFN_vkCreateSwapchainKHR glad_vkCreateSwapchainKHR;
5346 #define vkCreateSwapchainKHR glad_vkCreateSwapchainKHR
5347 GLAD_API_CALL PFN_vkDebugReportMessageEXT glad_vkDebugReportMessageEXT;
5348 #define vkDebugReportMessageEXT glad_vkDebugReportMessageEXT
5349 GLAD_API_CALL PFN_vkDestroyBuffer glad_vkDestroyBuffer;
5350 #define vkDestroyBuffer glad_vkDestroyBuffer
5351 GLAD_API_CALL PFN_vkDestroyBufferView glad_vkDestroyBufferView;
5352 #define vkDestroyBufferView glad_vkDestroyBufferView
5353 GLAD_API_CALL PFN_vkDestroyCommandPool glad_vkDestroyCommandPool;
5354 #define vkDestroyCommandPool glad_vkDestroyCommandPool
5355 GLAD_API_CALL PFN_vkDestroyDebugReportCallbackEXT glad_vkDestroyDebugReportCallbackEXT;
5356 #define vkDestroyDebugReportCallbackEXT glad_vkDestroyDebugReportCallbackEXT
5357 GLAD_API_CALL PFN_vkDestroyDescriptorPool glad_vkDestroyDescriptorPool;
5358 #define vkDestroyDescriptorPool glad_vkDestroyDescriptorPool
5359 GLAD_API_CALL PFN_vkDestroyDescriptorSetLayout glad_vkDestroyDescriptorSetLayout;
5360 #define vkDestroyDescriptorSetLayout glad_vkDestroyDescriptorSetLayout
5361 GLAD_API_CALL PFN_vkDestroyDescriptorUpdateTemplate glad_vkDestroyDescriptorUpdateTemplate;
5362 #define vkDestroyDescriptorUpdateTemplate glad_vkDestroyDescriptorUpdateTemplate
5363 GLAD_API_CALL PFN_vkDestroyDevice glad_vkDestroyDevice;
5364 #define vkDestroyDevice glad_vkDestroyDevice
5365 GLAD_API_CALL PFN_vkDestroyEvent glad_vkDestroyEvent;
5366 #define vkDestroyEvent glad_vkDestroyEvent
5367 GLAD_API_CALL PFN_vkDestroyFence glad_vkDestroyFence;
5368 #define vkDestroyFence glad_vkDestroyFence
5369 GLAD_API_CALL PFN_vkDestroyFramebuffer glad_vkDestroyFramebuffer;
5370 #define vkDestroyFramebuffer glad_vkDestroyFramebuffer
5371 GLAD_API_CALL PFN_vkDestroyImage glad_vkDestroyImage;
5372 #define vkDestroyImage glad_vkDestroyImage
5373 GLAD_API_CALL PFN_vkDestroyImageView glad_vkDestroyImageView;
5374 #define vkDestroyImageView glad_vkDestroyImageView
5375 GLAD_API_CALL PFN_vkDestroyInstance glad_vkDestroyInstance;
5376 #define vkDestroyInstance glad_vkDestroyInstance
5377 GLAD_API_CALL PFN_vkDestroyPipeline glad_vkDestroyPipeline;
5378 #define vkDestroyPipeline glad_vkDestroyPipeline
5379 GLAD_API_CALL PFN_vkDestroyPipelineCache glad_vkDestroyPipelineCache;
5380 #define vkDestroyPipelineCache glad_vkDestroyPipelineCache
5381 GLAD_API_CALL PFN_vkDestroyPipelineLayout glad_vkDestroyPipelineLayout;
5382 #define vkDestroyPipelineLayout glad_vkDestroyPipelineLayout
5383 GLAD_API_CALL PFN_vkDestroyPrivateDataSlot glad_vkDestroyPrivateDataSlot;
5384 #define vkDestroyPrivateDataSlot glad_vkDestroyPrivateDataSlot
5385 GLAD_API_CALL PFN_vkDestroyQueryPool glad_vkDestroyQueryPool;
5386 #define vkDestroyQueryPool glad_vkDestroyQueryPool
5387 GLAD_API_CALL PFN_vkDestroyRenderPass glad_vkDestroyRenderPass;
5388 #define vkDestroyRenderPass glad_vkDestroyRenderPass
5389 GLAD_API_CALL PFN_vkDestroySampler glad_vkDestroySampler;
5390 #define vkDestroySampler glad_vkDestroySampler
5391 GLAD_API_CALL PFN_vkDestroySamplerYcbcrConversion glad_vkDestroySamplerYcbcrConversion;
5392 #define vkDestroySamplerYcbcrConversion glad_vkDestroySamplerYcbcrConversion
5393 GLAD_API_CALL PFN_vkDestroySemaphore glad_vkDestroySemaphore;
5394 #define vkDestroySemaphore glad_vkDestroySemaphore
5395 GLAD_API_CALL PFN_vkDestroyShaderModule glad_vkDestroyShaderModule;
5396 #define vkDestroyShaderModule glad_vkDestroyShaderModule
5397 GLAD_API_CALL PFN_vkDestroySurfaceKHR glad_vkDestroySurfaceKHR;
5398 #define vkDestroySurfaceKHR glad_vkDestroySurfaceKHR
5399 GLAD_API_CALL PFN_vkDestroySwapchainKHR glad_vkDestroySwapchainKHR;
5400 #define vkDestroySwapchainKHR glad_vkDestroySwapchainKHR
5401 GLAD_API_CALL PFN_vkDeviceWaitIdle glad_vkDeviceWaitIdle;
5402 #define vkDeviceWaitIdle glad_vkDeviceWaitIdle
5403 GLAD_API_CALL PFN_vkEndCommandBuffer glad_vkEndCommandBuffer;
5404 #define vkEndCommandBuffer glad_vkEndCommandBuffer
5405 GLAD_API_CALL PFN_vkEnumerateDeviceExtensionProperties glad_vkEnumerateDeviceExtensionProperties;
5406 #define vkEnumerateDeviceExtensionProperties glad_vkEnumerateDeviceExtensionProperties
5407 GLAD_API_CALL PFN_vkEnumerateDeviceLayerProperties glad_vkEnumerateDeviceLayerProperties;
5408 #define vkEnumerateDeviceLayerProperties glad_vkEnumerateDeviceLayerProperties
5409 GLAD_API_CALL PFN_vkEnumerateInstanceExtensionProperties glad_vkEnumerateInstanceExtensionProperties;
5410 #define vkEnumerateInstanceExtensionProperties glad_vkEnumerateInstanceExtensionProperties
5411 GLAD_API_CALL PFN_vkEnumerateInstanceLayerProperties glad_vkEnumerateInstanceLayerProperties;
5412 #define vkEnumerateInstanceLayerProperties glad_vkEnumerateInstanceLayerProperties
5413 GLAD_API_CALL PFN_vkEnumerateInstanceVersion glad_vkEnumerateInstanceVersion;
5414 #define vkEnumerateInstanceVersion glad_vkEnumerateInstanceVersion
5415 GLAD_API_CALL PFN_vkEnumeratePhysicalDeviceGroups glad_vkEnumeratePhysicalDeviceGroups;
5416 #define vkEnumeratePhysicalDeviceGroups glad_vkEnumeratePhysicalDeviceGroups
5417 GLAD_API_CALL PFN_vkEnumeratePhysicalDevices glad_vkEnumeratePhysicalDevices;
5418 #define vkEnumeratePhysicalDevices glad_vkEnumeratePhysicalDevices
5419 GLAD_API_CALL PFN_vkFlushMappedMemoryRanges glad_vkFlushMappedMemoryRanges;
5420 #define vkFlushMappedMemoryRanges glad_vkFlushMappedMemoryRanges
5421 GLAD_API_CALL PFN_vkFreeCommandBuffers glad_vkFreeCommandBuffers;
5422 #define vkFreeCommandBuffers glad_vkFreeCommandBuffers
5423 GLAD_API_CALL PFN_vkFreeDescriptorSets glad_vkFreeDescriptorSets;
5424 #define vkFreeDescriptorSets glad_vkFreeDescriptorSets
5425 GLAD_API_CALL PFN_vkFreeMemory glad_vkFreeMemory;
5426 #define vkFreeMemory glad_vkFreeMemory
5427 GLAD_API_CALL PFN_vkGetBufferDeviceAddress glad_vkGetBufferDeviceAddress;
5428 #define vkGetBufferDeviceAddress glad_vkGetBufferDeviceAddress
5429 GLAD_API_CALL PFN_vkGetBufferMemoryRequirements glad_vkGetBufferMemoryRequirements;
5430 #define vkGetBufferMemoryRequirements glad_vkGetBufferMemoryRequirements
5431 GLAD_API_CALL PFN_vkGetBufferMemoryRequirements2 glad_vkGetBufferMemoryRequirements2;
5432 #define vkGetBufferMemoryRequirements2 glad_vkGetBufferMemoryRequirements2
5433 GLAD_API_CALL PFN_vkGetBufferOpaqueCaptureAddress glad_vkGetBufferOpaqueCaptureAddress;
5434 #define vkGetBufferOpaqueCaptureAddress glad_vkGetBufferOpaqueCaptureAddress
5435 GLAD_API_CALL PFN_vkGetDescriptorSetLayoutSupport glad_vkGetDescriptorSetLayoutSupport;
5436 #define vkGetDescriptorSetLayoutSupport glad_vkGetDescriptorSetLayoutSupport
5437 GLAD_API_CALL PFN_vkGetDeviceBufferMemoryRequirements glad_vkGetDeviceBufferMemoryRequirements;
5438 #define vkGetDeviceBufferMemoryRequirements glad_vkGetDeviceBufferMemoryRequirements
5439 GLAD_API_CALL PFN_vkGetDeviceGroupPeerMemoryFeatures glad_vkGetDeviceGroupPeerMemoryFeatures;
5440 #define vkGetDeviceGroupPeerMemoryFeatures glad_vkGetDeviceGroupPeerMemoryFeatures
5441 GLAD_API_CALL PFN_vkGetDeviceGroupPresentCapabilitiesKHR glad_vkGetDeviceGroupPresentCapabilitiesKHR;
5442 #define vkGetDeviceGroupPresentCapabilitiesKHR glad_vkGetDeviceGroupPresentCapabilitiesKHR
5443 GLAD_API_CALL PFN_vkGetDeviceGroupSurfacePresentModesKHR glad_vkGetDeviceGroupSurfacePresentModesKHR;
5444 #define vkGetDeviceGroupSurfacePresentModesKHR glad_vkGetDeviceGroupSurfacePresentModesKHR
5445 GLAD_API_CALL PFN_vkGetDeviceImageMemoryRequirements glad_vkGetDeviceImageMemoryRequirements;
5446 #define vkGetDeviceImageMemoryRequirements glad_vkGetDeviceImageMemoryRequirements
5447 GLAD_API_CALL PFN_vkGetDeviceImageSparseMemoryRequirements glad_vkGetDeviceImageSparseMemoryRequirements;
5448 #define vkGetDeviceImageSparseMemoryRequirements glad_vkGetDeviceImageSparseMemoryRequirements
5449 GLAD_API_CALL PFN_vkGetDeviceMemoryCommitment glad_vkGetDeviceMemoryCommitment;
5450 #define vkGetDeviceMemoryCommitment glad_vkGetDeviceMemoryCommitment
5451 GLAD_API_CALL PFN_vkGetDeviceMemoryOpaqueCaptureAddress glad_vkGetDeviceMemoryOpaqueCaptureAddress;
5452 #define vkGetDeviceMemoryOpaqueCaptureAddress glad_vkGetDeviceMemoryOpaqueCaptureAddress
5453 GLAD_API_CALL PFN_vkGetDeviceProcAddr glad_vkGetDeviceProcAddr;
5454 #define vkGetDeviceProcAddr glad_vkGetDeviceProcAddr
5455 GLAD_API_CALL PFN_vkGetDeviceQueue glad_vkGetDeviceQueue;
5456 #define vkGetDeviceQueue glad_vkGetDeviceQueue
5457 GLAD_API_CALL PFN_vkGetDeviceQueue2 glad_vkGetDeviceQueue2;
5458 #define vkGetDeviceQueue2 glad_vkGetDeviceQueue2
5459 GLAD_API_CALL PFN_vkGetEventStatus glad_vkGetEventStatus;
5460 #define vkGetEventStatus glad_vkGetEventStatus
5461 GLAD_API_CALL PFN_vkGetFenceStatus glad_vkGetFenceStatus;
5462 #define vkGetFenceStatus glad_vkGetFenceStatus
5463 GLAD_API_CALL PFN_vkGetImageMemoryRequirements glad_vkGetImageMemoryRequirements;
5464 #define vkGetImageMemoryRequirements glad_vkGetImageMemoryRequirements
5465 GLAD_API_CALL PFN_vkGetImageMemoryRequirements2 glad_vkGetImageMemoryRequirements2;
5466 #define vkGetImageMemoryRequirements2 glad_vkGetImageMemoryRequirements2
5467 GLAD_API_CALL PFN_vkGetImageSparseMemoryRequirements glad_vkGetImageSparseMemoryRequirements;
5468 #define vkGetImageSparseMemoryRequirements glad_vkGetImageSparseMemoryRequirements
5469 GLAD_API_CALL PFN_vkGetImageSparseMemoryRequirements2 glad_vkGetImageSparseMemoryRequirements2;
5470 #define vkGetImageSparseMemoryRequirements2 glad_vkGetImageSparseMemoryRequirements2
5471 GLAD_API_CALL PFN_vkGetImageSubresourceLayout glad_vkGetImageSubresourceLayout;
5472 #define vkGetImageSubresourceLayout glad_vkGetImageSubresourceLayout
5473 GLAD_API_CALL PFN_vkGetInstanceProcAddr glad_vkGetInstanceProcAddr;
5474 #define vkGetInstanceProcAddr glad_vkGetInstanceProcAddr
5475 GLAD_API_CALL PFN_vkGetPhysicalDeviceExternalBufferProperties glad_vkGetPhysicalDeviceExternalBufferProperties;
5476 #define vkGetPhysicalDeviceExternalBufferProperties glad_vkGetPhysicalDeviceExternalBufferProperties
5477 GLAD_API_CALL PFN_vkGetPhysicalDeviceExternalFenceProperties glad_vkGetPhysicalDeviceExternalFenceProperties;
5478 #define vkGetPhysicalDeviceExternalFenceProperties glad_vkGetPhysicalDeviceExternalFenceProperties
5479 GLAD_API_CALL PFN_vkGetPhysicalDeviceExternalSemaphoreProperties glad_vkGetPhysicalDeviceExternalSemaphoreProperties;
5480 #define vkGetPhysicalDeviceExternalSemaphoreProperties glad_vkGetPhysicalDeviceExternalSemaphoreProperties
5481 GLAD_API_CALL PFN_vkGetPhysicalDeviceFeatures glad_vkGetPhysicalDeviceFeatures;
5482 #define vkGetPhysicalDeviceFeatures glad_vkGetPhysicalDeviceFeatures
5483 GLAD_API_CALL PFN_vkGetPhysicalDeviceFeatures2 glad_vkGetPhysicalDeviceFeatures2;
5484 #define vkGetPhysicalDeviceFeatures2 glad_vkGetPhysicalDeviceFeatures2
5485 GLAD_API_CALL PFN_vkGetPhysicalDeviceFormatProperties glad_vkGetPhysicalDeviceFormatProperties;
5486 #define vkGetPhysicalDeviceFormatProperties glad_vkGetPhysicalDeviceFormatProperties
5487 GLAD_API_CALL PFN_vkGetPhysicalDeviceFormatProperties2 glad_vkGetPhysicalDeviceFormatProperties2;
5488 #define vkGetPhysicalDeviceFormatProperties2 glad_vkGetPhysicalDeviceFormatProperties2
5489 GLAD_API_CALL PFN_vkGetPhysicalDeviceImageFormatProperties glad_vkGetPhysicalDeviceImageFormatProperties;
5490 #define vkGetPhysicalDeviceImageFormatProperties glad_vkGetPhysicalDeviceImageFormatProperties
5491 GLAD_API_CALL PFN_vkGetPhysicalDeviceImageFormatProperties2 glad_vkGetPhysicalDeviceImageFormatProperties2;
5492 #define vkGetPhysicalDeviceImageFormatProperties2 glad_vkGetPhysicalDeviceImageFormatProperties2
5493 GLAD_API_CALL PFN_vkGetPhysicalDeviceMemoryProperties glad_vkGetPhysicalDeviceMemoryProperties;
5494 #define vkGetPhysicalDeviceMemoryProperties glad_vkGetPhysicalDeviceMemoryProperties
5495 GLAD_API_CALL PFN_vkGetPhysicalDeviceMemoryProperties2 glad_vkGetPhysicalDeviceMemoryProperties2;
5496 #define vkGetPhysicalDeviceMemoryProperties2 glad_vkGetPhysicalDeviceMemoryProperties2
5497 GLAD_API_CALL PFN_vkGetPhysicalDevicePresentRectanglesKHR glad_vkGetPhysicalDevicePresentRectanglesKHR;
5498 #define vkGetPhysicalDevicePresentRectanglesKHR glad_vkGetPhysicalDevicePresentRectanglesKHR
5499 GLAD_API_CALL PFN_vkGetPhysicalDeviceProperties glad_vkGetPhysicalDeviceProperties;
5500 #define vkGetPhysicalDeviceProperties glad_vkGetPhysicalDeviceProperties
5501 GLAD_API_CALL PFN_vkGetPhysicalDeviceProperties2 glad_vkGetPhysicalDeviceProperties2;
5502 #define vkGetPhysicalDeviceProperties2 glad_vkGetPhysicalDeviceProperties2
5503 GLAD_API_CALL PFN_vkGetPhysicalDeviceQueueFamilyProperties glad_vkGetPhysicalDeviceQueueFamilyProperties;
5504 #define vkGetPhysicalDeviceQueueFamilyProperties glad_vkGetPhysicalDeviceQueueFamilyProperties
5505 GLAD_API_CALL PFN_vkGetPhysicalDeviceQueueFamilyProperties2 glad_vkGetPhysicalDeviceQueueFamilyProperties2;
5506 #define vkGetPhysicalDeviceQueueFamilyProperties2 glad_vkGetPhysicalDeviceQueueFamilyProperties2
5507 GLAD_API_CALL PFN_vkGetPhysicalDeviceSparseImageFormatProperties glad_vkGetPhysicalDeviceSparseImageFormatProperties;
5508 #define vkGetPhysicalDeviceSparseImageFormatProperties glad_vkGetPhysicalDeviceSparseImageFormatProperties
5509 GLAD_API_CALL PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 glad_vkGetPhysicalDeviceSparseImageFormatProperties2;
5510 #define vkGetPhysicalDeviceSparseImageFormatProperties2 glad_vkGetPhysicalDeviceSparseImageFormatProperties2
5511 GLAD_API_CALL PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR glad_vkGetPhysicalDeviceSurfaceCapabilitiesKHR;
5512 #define vkGetPhysicalDeviceSurfaceCapabilitiesKHR glad_vkGetPhysicalDeviceSurfaceCapabilitiesKHR
5513 GLAD_API_CALL PFN_vkGetPhysicalDeviceSurfaceFormatsKHR glad_vkGetPhysicalDeviceSurfaceFormatsKHR;
5514 #define vkGetPhysicalDeviceSurfaceFormatsKHR glad_vkGetPhysicalDeviceSurfaceFormatsKHR
5515 GLAD_API_CALL PFN_vkGetPhysicalDeviceSurfacePresentModesKHR glad_vkGetPhysicalDeviceSurfacePresentModesKHR;
5516 #define vkGetPhysicalDeviceSurfacePresentModesKHR glad_vkGetPhysicalDeviceSurfacePresentModesKHR
5517 GLAD_API_CALL PFN_vkGetPhysicalDeviceSurfaceSupportKHR glad_vkGetPhysicalDeviceSurfaceSupportKHR;
5518 #define vkGetPhysicalDeviceSurfaceSupportKHR glad_vkGetPhysicalDeviceSurfaceSupportKHR
5519 GLAD_API_CALL PFN_vkGetPhysicalDeviceToolProperties glad_vkGetPhysicalDeviceToolProperties;
5520 #define vkGetPhysicalDeviceToolProperties glad_vkGetPhysicalDeviceToolProperties
5521 GLAD_API_CALL PFN_vkGetPipelineCacheData glad_vkGetPipelineCacheData;
5522 #define vkGetPipelineCacheData glad_vkGetPipelineCacheData
5523 GLAD_API_CALL PFN_vkGetPrivateData glad_vkGetPrivateData;
5524 #define vkGetPrivateData glad_vkGetPrivateData
5525 GLAD_API_CALL PFN_vkGetQueryPoolResults glad_vkGetQueryPoolResults;
5526 #define vkGetQueryPoolResults glad_vkGetQueryPoolResults
5527 GLAD_API_CALL PFN_vkGetRenderAreaGranularity glad_vkGetRenderAreaGranularity;
5528 #define vkGetRenderAreaGranularity glad_vkGetRenderAreaGranularity
5529 GLAD_API_CALL PFN_vkGetSemaphoreCounterValue glad_vkGetSemaphoreCounterValue;
5530 #define vkGetSemaphoreCounterValue glad_vkGetSemaphoreCounterValue
5531 GLAD_API_CALL PFN_vkGetSwapchainImagesKHR glad_vkGetSwapchainImagesKHR;
5532 #define vkGetSwapchainImagesKHR glad_vkGetSwapchainImagesKHR
5533 GLAD_API_CALL PFN_vkInvalidateMappedMemoryRanges glad_vkInvalidateMappedMemoryRanges;
5534 #define vkInvalidateMappedMemoryRanges glad_vkInvalidateMappedMemoryRanges
5535 GLAD_API_CALL PFN_vkMapMemory glad_vkMapMemory;
5536 #define vkMapMemory glad_vkMapMemory
5537 GLAD_API_CALL PFN_vkMergePipelineCaches glad_vkMergePipelineCaches;
5538 #define vkMergePipelineCaches glad_vkMergePipelineCaches
5539 GLAD_API_CALL PFN_vkQueueBindSparse glad_vkQueueBindSparse;
5540 #define vkQueueBindSparse glad_vkQueueBindSparse
5541 GLAD_API_CALL PFN_vkQueuePresentKHR glad_vkQueuePresentKHR;
5542 #define vkQueuePresentKHR glad_vkQueuePresentKHR
5543 GLAD_API_CALL PFN_vkQueueSubmit glad_vkQueueSubmit;
5544 #define vkQueueSubmit glad_vkQueueSubmit
5545 GLAD_API_CALL PFN_vkQueueSubmit2 glad_vkQueueSubmit2;
5546 #define vkQueueSubmit2 glad_vkQueueSubmit2
5547 GLAD_API_CALL PFN_vkQueueWaitIdle glad_vkQueueWaitIdle;
5548 #define vkQueueWaitIdle glad_vkQueueWaitIdle
5549 GLAD_API_CALL PFN_vkResetCommandBuffer glad_vkResetCommandBuffer;
5550 #define vkResetCommandBuffer glad_vkResetCommandBuffer
5551 GLAD_API_CALL PFN_vkResetCommandPool glad_vkResetCommandPool;
5552 #define vkResetCommandPool glad_vkResetCommandPool
5553 GLAD_API_CALL PFN_vkResetDescriptorPool glad_vkResetDescriptorPool;
5554 #define vkResetDescriptorPool glad_vkResetDescriptorPool
5555 GLAD_API_CALL PFN_vkResetEvent glad_vkResetEvent;
5556 #define vkResetEvent glad_vkResetEvent
5557 GLAD_API_CALL PFN_vkResetFences glad_vkResetFences;
5558 #define vkResetFences glad_vkResetFences
5559 GLAD_API_CALL PFN_vkResetQueryPool glad_vkResetQueryPool;
5560 #define vkResetQueryPool glad_vkResetQueryPool
5561 GLAD_API_CALL PFN_vkSetEvent glad_vkSetEvent;
5562 #define vkSetEvent glad_vkSetEvent
5563 GLAD_API_CALL PFN_vkSetPrivateData glad_vkSetPrivateData;
5564 #define vkSetPrivateData glad_vkSetPrivateData
5565 GLAD_API_CALL PFN_vkSignalSemaphore glad_vkSignalSemaphore;
5566 #define vkSignalSemaphore glad_vkSignalSemaphore
5567 GLAD_API_CALL PFN_vkTrimCommandPool glad_vkTrimCommandPool;
5568 #define vkTrimCommandPool glad_vkTrimCommandPool
5569 GLAD_API_CALL PFN_vkUnmapMemory glad_vkUnmapMemory;
5570 #define vkUnmapMemory glad_vkUnmapMemory
5571 GLAD_API_CALL PFN_vkUpdateDescriptorSetWithTemplate glad_vkUpdateDescriptorSetWithTemplate;
5572 #define vkUpdateDescriptorSetWithTemplate glad_vkUpdateDescriptorSetWithTemplate
5573 GLAD_API_CALL PFN_vkUpdateDescriptorSets glad_vkUpdateDescriptorSets;
5574 #define vkUpdateDescriptorSets glad_vkUpdateDescriptorSets
5575 GLAD_API_CALL PFN_vkWaitForFences glad_vkWaitForFences;
5576 #define vkWaitForFences glad_vkWaitForFences
5577 GLAD_API_CALL PFN_vkWaitSemaphores glad_vkWaitSemaphores;
5578 #define vkWaitSemaphores glad_vkWaitSemaphores
5579 
5580 
5581 
5582 
5583 
5584 GLAD_API_CALL int gladLoadVulkanUserPtr( VkPhysicalDevice physical_device, GLADuserptrloadfunc load, void *userptr);
5585 GLAD_API_CALL int gladLoadVulkan( VkPhysicalDevice physical_device, GLADloadfunc load);
5586 
5587 
5588 
5589 #ifdef __cplusplus
5590 }
5591 #endif
5592 #endif
5593 
5594 /* Source */
5595 #ifdef GLAD_VULKAN_IMPLEMENTATION
5596 #include <stdio.h>
5597 #include <stdlib.h>
5598 #include <string.h>
5599 
5600 #ifndef GLAD_IMPL_UTIL_C_
5601 #define GLAD_IMPL_UTIL_C_
5602 
5603 #ifdef _MSC_VER
5604 #define GLAD_IMPL_UTIL_SSCANF sscanf_s
5605 #else
5606 #define GLAD_IMPL_UTIL_SSCANF sscanf
5607 #endif
5608 
5609 #endif /* GLAD_IMPL_UTIL_C_ */
5610 
5611 #ifdef __cplusplus
5612 extern "C" {
5613 #endif
5614 
5615 
5616 
5617 int GLAD_VK_VERSION_1_0 = 0;
5618 int GLAD_VK_VERSION_1_1 = 0;
5619 int GLAD_VK_VERSION_1_2 = 0;
5620 int GLAD_VK_VERSION_1_3 = 0;
5621 int GLAD_VK_EXT_debug_report = 0;
5622 int GLAD_VK_KHR_portability_enumeration = 0;
5623 int GLAD_VK_KHR_surface = 0;
5624 int GLAD_VK_KHR_swapchain = 0;
5625 
5626 
5627 
5628 PFN_vkAcquireNextImage2KHR glad_vkAcquireNextImage2KHR = NULL;
5629 PFN_vkAcquireNextImageKHR glad_vkAcquireNextImageKHR = NULL;
5630 PFN_vkAllocateCommandBuffers glad_vkAllocateCommandBuffers = NULL;
5631 PFN_vkAllocateDescriptorSets glad_vkAllocateDescriptorSets = NULL;
5632 PFN_vkAllocateMemory glad_vkAllocateMemory = NULL;
5633 PFN_vkBeginCommandBuffer glad_vkBeginCommandBuffer = NULL;
5634 PFN_vkBindBufferMemory glad_vkBindBufferMemory = NULL;
5635 PFN_vkBindBufferMemory2 glad_vkBindBufferMemory2 = NULL;
5636 PFN_vkBindImageMemory glad_vkBindImageMemory = NULL;
5637 PFN_vkBindImageMemory2 glad_vkBindImageMemory2 = NULL;
5638 PFN_vkCmdBeginQuery glad_vkCmdBeginQuery = NULL;
5639 PFN_vkCmdBeginRenderPass glad_vkCmdBeginRenderPass = NULL;
5640 PFN_vkCmdBeginRenderPass2 glad_vkCmdBeginRenderPass2 = NULL;
5641 PFN_vkCmdBeginRendering glad_vkCmdBeginRendering = NULL;
5642 PFN_vkCmdBindDescriptorSets glad_vkCmdBindDescriptorSets = NULL;
5643 PFN_vkCmdBindIndexBuffer glad_vkCmdBindIndexBuffer = NULL;
5644 PFN_vkCmdBindPipeline glad_vkCmdBindPipeline = NULL;
5645 PFN_vkCmdBindVertexBuffers glad_vkCmdBindVertexBuffers = NULL;
5646 PFN_vkCmdBindVertexBuffers2 glad_vkCmdBindVertexBuffers2 = NULL;
5647 PFN_vkCmdBlitImage glad_vkCmdBlitImage = NULL;
5648 PFN_vkCmdBlitImage2 glad_vkCmdBlitImage2 = NULL;
5649 PFN_vkCmdClearAttachments glad_vkCmdClearAttachments = NULL;
5650 PFN_vkCmdClearColorImage glad_vkCmdClearColorImage = NULL;
5651 PFN_vkCmdClearDepthStencilImage glad_vkCmdClearDepthStencilImage = NULL;
5652 PFN_vkCmdCopyBuffer glad_vkCmdCopyBuffer = NULL;
5653 PFN_vkCmdCopyBuffer2 glad_vkCmdCopyBuffer2 = NULL;
5654 PFN_vkCmdCopyBufferToImage glad_vkCmdCopyBufferToImage = NULL;
5655 PFN_vkCmdCopyBufferToImage2 glad_vkCmdCopyBufferToImage2 = NULL;
5656 PFN_vkCmdCopyImage glad_vkCmdCopyImage = NULL;
5657 PFN_vkCmdCopyImage2 glad_vkCmdCopyImage2 = NULL;
5658 PFN_vkCmdCopyImageToBuffer glad_vkCmdCopyImageToBuffer = NULL;
5659 PFN_vkCmdCopyImageToBuffer2 glad_vkCmdCopyImageToBuffer2 = NULL;
5660 PFN_vkCmdCopyQueryPoolResults glad_vkCmdCopyQueryPoolResults = NULL;
5661 PFN_vkCmdDispatch glad_vkCmdDispatch = NULL;
5662 PFN_vkCmdDispatchBase glad_vkCmdDispatchBase = NULL;
5663 PFN_vkCmdDispatchIndirect glad_vkCmdDispatchIndirect = NULL;
5664 PFN_vkCmdDraw glad_vkCmdDraw = NULL;
5665 PFN_vkCmdDrawIndexed glad_vkCmdDrawIndexed = NULL;
5666 PFN_vkCmdDrawIndexedIndirect glad_vkCmdDrawIndexedIndirect = NULL;
5667 PFN_vkCmdDrawIndexedIndirectCount glad_vkCmdDrawIndexedIndirectCount = NULL;
5668 PFN_vkCmdDrawIndirect glad_vkCmdDrawIndirect = NULL;
5669 PFN_vkCmdDrawIndirectCount glad_vkCmdDrawIndirectCount = NULL;
5670 PFN_vkCmdEndQuery glad_vkCmdEndQuery = NULL;
5671 PFN_vkCmdEndRenderPass glad_vkCmdEndRenderPass = NULL;
5672 PFN_vkCmdEndRenderPass2 glad_vkCmdEndRenderPass2 = NULL;
5673 PFN_vkCmdEndRendering glad_vkCmdEndRendering = NULL;
5674 PFN_vkCmdExecuteCommands glad_vkCmdExecuteCommands = NULL;
5675 PFN_vkCmdFillBuffer glad_vkCmdFillBuffer = NULL;
5676 PFN_vkCmdNextSubpass glad_vkCmdNextSubpass = NULL;
5677 PFN_vkCmdNextSubpass2 glad_vkCmdNextSubpass2 = NULL;
5678 PFN_vkCmdPipelineBarrier glad_vkCmdPipelineBarrier = NULL;
5679 PFN_vkCmdPipelineBarrier2 glad_vkCmdPipelineBarrier2 = NULL;
5680 PFN_vkCmdPushConstants glad_vkCmdPushConstants = NULL;
5681 PFN_vkCmdResetEvent glad_vkCmdResetEvent = NULL;
5682 PFN_vkCmdResetEvent2 glad_vkCmdResetEvent2 = NULL;
5683 PFN_vkCmdResetQueryPool glad_vkCmdResetQueryPool = NULL;
5684 PFN_vkCmdResolveImage glad_vkCmdResolveImage = NULL;
5685 PFN_vkCmdResolveImage2 glad_vkCmdResolveImage2 = NULL;
5686 PFN_vkCmdSetBlendConstants glad_vkCmdSetBlendConstants = NULL;
5687 PFN_vkCmdSetCullMode glad_vkCmdSetCullMode = NULL;
5688 PFN_vkCmdSetDepthBias glad_vkCmdSetDepthBias = NULL;
5689 PFN_vkCmdSetDepthBiasEnable glad_vkCmdSetDepthBiasEnable = NULL;
5690 PFN_vkCmdSetDepthBounds glad_vkCmdSetDepthBounds = NULL;
5691 PFN_vkCmdSetDepthBoundsTestEnable glad_vkCmdSetDepthBoundsTestEnable = NULL;
5692 PFN_vkCmdSetDepthCompareOp glad_vkCmdSetDepthCompareOp = NULL;
5693 PFN_vkCmdSetDepthTestEnable glad_vkCmdSetDepthTestEnable = NULL;
5694 PFN_vkCmdSetDepthWriteEnable glad_vkCmdSetDepthWriteEnable = NULL;
5695 PFN_vkCmdSetDeviceMask glad_vkCmdSetDeviceMask = NULL;
5696 PFN_vkCmdSetEvent glad_vkCmdSetEvent = NULL;
5697 PFN_vkCmdSetEvent2 glad_vkCmdSetEvent2 = NULL;
5698 PFN_vkCmdSetFrontFace glad_vkCmdSetFrontFace = NULL;
5699 PFN_vkCmdSetLineWidth glad_vkCmdSetLineWidth = NULL;
5700 PFN_vkCmdSetPrimitiveRestartEnable glad_vkCmdSetPrimitiveRestartEnable = NULL;
5701 PFN_vkCmdSetPrimitiveTopology glad_vkCmdSetPrimitiveTopology = NULL;
5702 PFN_vkCmdSetRasterizerDiscardEnable glad_vkCmdSetRasterizerDiscardEnable = NULL;
5703 PFN_vkCmdSetScissor glad_vkCmdSetScissor = NULL;
5704 PFN_vkCmdSetScissorWithCount glad_vkCmdSetScissorWithCount = NULL;
5705 PFN_vkCmdSetStencilCompareMask glad_vkCmdSetStencilCompareMask = NULL;
5706 PFN_vkCmdSetStencilOp glad_vkCmdSetStencilOp = NULL;
5707 PFN_vkCmdSetStencilReference glad_vkCmdSetStencilReference = NULL;
5708 PFN_vkCmdSetStencilTestEnable glad_vkCmdSetStencilTestEnable = NULL;
5709 PFN_vkCmdSetStencilWriteMask glad_vkCmdSetStencilWriteMask = NULL;
5710 PFN_vkCmdSetViewport glad_vkCmdSetViewport = NULL;
5711 PFN_vkCmdSetViewportWithCount glad_vkCmdSetViewportWithCount = NULL;
5712 PFN_vkCmdUpdateBuffer glad_vkCmdUpdateBuffer = NULL;
5713 PFN_vkCmdWaitEvents glad_vkCmdWaitEvents = NULL;
5714 PFN_vkCmdWaitEvents2 glad_vkCmdWaitEvents2 = NULL;
5715 PFN_vkCmdWriteTimestamp glad_vkCmdWriteTimestamp = NULL;
5716 PFN_vkCmdWriteTimestamp2 glad_vkCmdWriteTimestamp2 = NULL;
5717 PFN_vkCreateBuffer glad_vkCreateBuffer = NULL;
5718 PFN_vkCreateBufferView glad_vkCreateBufferView = NULL;
5719 PFN_vkCreateCommandPool glad_vkCreateCommandPool = NULL;
5720 PFN_vkCreateComputePipelines glad_vkCreateComputePipelines = NULL;
5721 PFN_vkCreateDebugReportCallbackEXT glad_vkCreateDebugReportCallbackEXT = NULL;
5722 PFN_vkCreateDescriptorPool glad_vkCreateDescriptorPool = NULL;
5723 PFN_vkCreateDescriptorSetLayout glad_vkCreateDescriptorSetLayout = NULL;
5724 PFN_vkCreateDescriptorUpdateTemplate glad_vkCreateDescriptorUpdateTemplate = NULL;
5725 PFN_vkCreateDevice glad_vkCreateDevice = NULL;
5726 PFN_vkCreateEvent glad_vkCreateEvent = NULL;
5727 PFN_vkCreateFence glad_vkCreateFence = NULL;
5728 PFN_vkCreateFramebuffer glad_vkCreateFramebuffer = NULL;
5729 PFN_vkCreateGraphicsPipelines glad_vkCreateGraphicsPipelines = NULL;
5730 PFN_vkCreateImage glad_vkCreateImage = NULL;
5731 PFN_vkCreateImageView glad_vkCreateImageView = NULL;
5732 PFN_vkCreateInstance glad_vkCreateInstance = NULL;
5733 PFN_vkCreatePipelineCache glad_vkCreatePipelineCache = NULL;
5734 PFN_vkCreatePipelineLayout glad_vkCreatePipelineLayout = NULL;
5735 PFN_vkCreatePrivateDataSlot glad_vkCreatePrivateDataSlot = NULL;
5736 PFN_vkCreateQueryPool glad_vkCreateQueryPool = NULL;
5737 PFN_vkCreateRenderPass glad_vkCreateRenderPass = NULL;
5738 PFN_vkCreateRenderPass2 glad_vkCreateRenderPass2 = NULL;
5739 PFN_vkCreateSampler glad_vkCreateSampler = NULL;
5740 PFN_vkCreateSamplerYcbcrConversion glad_vkCreateSamplerYcbcrConversion = NULL;
5741 PFN_vkCreateSemaphore glad_vkCreateSemaphore = NULL;
5742 PFN_vkCreateShaderModule glad_vkCreateShaderModule = NULL;
5743 PFN_vkCreateSwapchainKHR glad_vkCreateSwapchainKHR = NULL;
5744 PFN_vkDebugReportMessageEXT glad_vkDebugReportMessageEXT = NULL;
5745 PFN_vkDestroyBuffer glad_vkDestroyBuffer = NULL;
5746 PFN_vkDestroyBufferView glad_vkDestroyBufferView = NULL;
5747 PFN_vkDestroyCommandPool glad_vkDestroyCommandPool = NULL;
5748 PFN_vkDestroyDebugReportCallbackEXT glad_vkDestroyDebugReportCallbackEXT = NULL;
5749 PFN_vkDestroyDescriptorPool glad_vkDestroyDescriptorPool = NULL;
5750 PFN_vkDestroyDescriptorSetLayout glad_vkDestroyDescriptorSetLayout = NULL;
5751 PFN_vkDestroyDescriptorUpdateTemplate glad_vkDestroyDescriptorUpdateTemplate = NULL;
5752 PFN_vkDestroyDevice glad_vkDestroyDevice = NULL;
5753 PFN_vkDestroyEvent glad_vkDestroyEvent = NULL;
5754 PFN_vkDestroyFence glad_vkDestroyFence = NULL;
5755 PFN_vkDestroyFramebuffer glad_vkDestroyFramebuffer = NULL;
5756 PFN_vkDestroyImage glad_vkDestroyImage = NULL;
5757 PFN_vkDestroyImageView glad_vkDestroyImageView = NULL;
5758 PFN_vkDestroyInstance glad_vkDestroyInstance = NULL;
5759 PFN_vkDestroyPipeline glad_vkDestroyPipeline = NULL;
5760 PFN_vkDestroyPipelineCache glad_vkDestroyPipelineCache = NULL;
5761 PFN_vkDestroyPipelineLayout glad_vkDestroyPipelineLayout = NULL;
5762 PFN_vkDestroyPrivateDataSlot glad_vkDestroyPrivateDataSlot = NULL;
5763 PFN_vkDestroyQueryPool glad_vkDestroyQueryPool = NULL;
5764 PFN_vkDestroyRenderPass glad_vkDestroyRenderPass = NULL;
5765 PFN_vkDestroySampler glad_vkDestroySampler = NULL;
5766 PFN_vkDestroySamplerYcbcrConversion glad_vkDestroySamplerYcbcrConversion = NULL;
5767 PFN_vkDestroySemaphore glad_vkDestroySemaphore = NULL;
5768 PFN_vkDestroyShaderModule glad_vkDestroyShaderModule = NULL;
5769 PFN_vkDestroySurfaceKHR glad_vkDestroySurfaceKHR = NULL;
5770 PFN_vkDestroySwapchainKHR glad_vkDestroySwapchainKHR = NULL;
5771 PFN_vkDeviceWaitIdle glad_vkDeviceWaitIdle = NULL;
5772 PFN_vkEndCommandBuffer glad_vkEndCommandBuffer = NULL;
5773 PFN_vkEnumerateDeviceExtensionProperties glad_vkEnumerateDeviceExtensionProperties = NULL;
5774 PFN_vkEnumerateDeviceLayerProperties glad_vkEnumerateDeviceLayerProperties = NULL;
5775 PFN_vkEnumerateInstanceExtensionProperties glad_vkEnumerateInstanceExtensionProperties = NULL;
5776 PFN_vkEnumerateInstanceLayerProperties glad_vkEnumerateInstanceLayerProperties = NULL;
5777 PFN_vkEnumerateInstanceVersion glad_vkEnumerateInstanceVersion = NULL;
5778 PFN_vkEnumeratePhysicalDeviceGroups glad_vkEnumeratePhysicalDeviceGroups = NULL;
5779 PFN_vkEnumeratePhysicalDevices glad_vkEnumeratePhysicalDevices = NULL;
5780 PFN_vkFlushMappedMemoryRanges glad_vkFlushMappedMemoryRanges = NULL;
5781 PFN_vkFreeCommandBuffers glad_vkFreeCommandBuffers = NULL;
5782 PFN_vkFreeDescriptorSets glad_vkFreeDescriptorSets = NULL;
5783 PFN_vkFreeMemory glad_vkFreeMemory = NULL;
5784 PFN_vkGetBufferDeviceAddress glad_vkGetBufferDeviceAddress = NULL;
5785 PFN_vkGetBufferMemoryRequirements glad_vkGetBufferMemoryRequirements = NULL;
5786 PFN_vkGetBufferMemoryRequirements2 glad_vkGetBufferMemoryRequirements2 = NULL;
5787 PFN_vkGetBufferOpaqueCaptureAddress glad_vkGetBufferOpaqueCaptureAddress = NULL;
5788 PFN_vkGetDescriptorSetLayoutSupport glad_vkGetDescriptorSetLayoutSupport = NULL;
5789 PFN_vkGetDeviceBufferMemoryRequirements glad_vkGetDeviceBufferMemoryRequirements = NULL;
5790 PFN_vkGetDeviceGroupPeerMemoryFeatures glad_vkGetDeviceGroupPeerMemoryFeatures = NULL;
5791 PFN_vkGetDeviceGroupPresentCapabilitiesKHR glad_vkGetDeviceGroupPresentCapabilitiesKHR = NULL;
5792 PFN_vkGetDeviceGroupSurfacePresentModesKHR glad_vkGetDeviceGroupSurfacePresentModesKHR = NULL;
5793 PFN_vkGetDeviceImageMemoryRequirements glad_vkGetDeviceImageMemoryRequirements = NULL;
5794 PFN_vkGetDeviceImageSparseMemoryRequirements glad_vkGetDeviceImageSparseMemoryRequirements = NULL;
5795 PFN_vkGetDeviceMemoryCommitment glad_vkGetDeviceMemoryCommitment = NULL;
5796 PFN_vkGetDeviceMemoryOpaqueCaptureAddress glad_vkGetDeviceMemoryOpaqueCaptureAddress = NULL;
5797 PFN_vkGetDeviceProcAddr glad_vkGetDeviceProcAddr = NULL;
5798 PFN_vkGetDeviceQueue glad_vkGetDeviceQueue = NULL;
5799 PFN_vkGetDeviceQueue2 glad_vkGetDeviceQueue2 = NULL;
5800 PFN_vkGetEventStatus glad_vkGetEventStatus = NULL;
5801 PFN_vkGetFenceStatus glad_vkGetFenceStatus = NULL;
5802 PFN_vkGetImageMemoryRequirements glad_vkGetImageMemoryRequirements = NULL;
5803 PFN_vkGetImageMemoryRequirements2 glad_vkGetImageMemoryRequirements2 = NULL;
5804 PFN_vkGetImageSparseMemoryRequirements glad_vkGetImageSparseMemoryRequirements = NULL;
5805 PFN_vkGetImageSparseMemoryRequirements2 glad_vkGetImageSparseMemoryRequirements2 = NULL;
5806 PFN_vkGetImageSubresourceLayout glad_vkGetImageSubresourceLayout = NULL;
5807 PFN_vkGetInstanceProcAddr glad_vkGetInstanceProcAddr = NULL;
5808 PFN_vkGetPhysicalDeviceExternalBufferProperties glad_vkGetPhysicalDeviceExternalBufferProperties = NULL;
5809 PFN_vkGetPhysicalDeviceExternalFenceProperties glad_vkGetPhysicalDeviceExternalFenceProperties = NULL;
5810 PFN_vkGetPhysicalDeviceExternalSemaphoreProperties glad_vkGetPhysicalDeviceExternalSemaphoreProperties = NULL;
5811 PFN_vkGetPhysicalDeviceFeatures glad_vkGetPhysicalDeviceFeatures = NULL;
5812 PFN_vkGetPhysicalDeviceFeatures2 glad_vkGetPhysicalDeviceFeatures2 = NULL;
5813 PFN_vkGetPhysicalDeviceFormatProperties glad_vkGetPhysicalDeviceFormatProperties = NULL;
5814 PFN_vkGetPhysicalDeviceFormatProperties2 glad_vkGetPhysicalDeviceFormatProperties2 = NULL;
5815 PFN_vkGetPhysicalDeviceImageFormatProperties glad_vkGetPhysicalDeviceImageFormatProperties = NULL;
5816 PFN_vkGetPhysicalDeviceImageFormatProperties2 glad_vkGetPhysicalDeviceImageFormatProperties2 = NULL;
5817 PFN_vkGetPhysicalDeviceMemoryProperties glad_vkGetPhysicalDeviceMemoryProperties = NULL;
5818 PFN_vkGetPhysicalDeviceMemoryProperties2 glad_vkGetPhysicalDeviceMemoryProperties2 = NULL;
5819 PFN_vkGetPhysicalDevicePresentRectanglesKHR glad_vkGetPhysicalDevicePresentRectanglesKHR = NULL;
5820 PFN_vkGetPhysicalDeviceProperties glad_vkGetPhysicalDeviceProperties = NULL;
5821 PFN_vkGetPhysicalDeviceProperties2 glad_vkGetPhysicalDeviceProperties2 = NULL;
5822 PFN_vkGetPhysicalDeviceQueueFamilyProperties glad_vkGetPhysicalDeviceQueueFamilyProperties = NULL;
5823 PFN_vkGetPhysicalDeviceQueueFamilyProperties2 glad_vkGetPhysicalDeviceQueueFamilyProperties2 = NULL;
5824 PFN_vkGetPhysicalDeviceSparseImageFormatProperties glad_vkGetPhysicalDeviceSparseImageFormatProperties = NULL;
5825 PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 glad_vkGetPhysicalDeviceSparseImageFormatProperties2 = NULL;
5826 PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR glad_vkGetPhysicalDeviceSurfaceCapabilitiesKHR = NULL;
5827 PFN_vkGetPhysicalDeviceSurfaceFormatsKHR glad_vkGetPhysicalDeviceSurfaceFormatsKHR = NULL;
5828 PFN_vkGetPhysicalDeviceSurfacePresentModesKHR glad_vkGetPhysicalDeviceSurfacePresentModesKHR = NULL;
5829 PFN_vkGetPhysicalDeviceSurfaceSupportKHR glad_vkGetPhysicalDeviceSurfaceSupportKHR = NULL;
5830 PFN_vkGetPhysicalDeviceToolProperties glad_vkGetPhysicalDeviceToolProperties = NULL;
5831 PFN_vkGetPipelineCacheData glad_vkGetPipelineCacheData = NULL;
5832 PFN_vkGetPrivateData glad_vkGetPrivateData = NULL;
5833 PFN_vkGetQueryPoolResults glad_vkGetQueryPoolResults = NULL;
5834 PFN_vkGetRenderAreaGranularity glad_vkGetRenderAreaGranularity = NULL;
5835 PFN_vkGetSemaphoreCounterValue glad_vkGetSemaphoreCounterValue = NULL;
5836 PFN_vkGetSwapchainImagesKHR glad_vkGetSwapchainImagesKHR = NULL;
5837 PFN_vkInvalidateMappedMemoryRanges glad_vkInvalidateMappedMemoryRanges = NULL;
5838 PFN_vkMapMemory glad_vkMapMemory = NULL;
5839 PFN_vkMergePipelineCaches glad_vkMergePipelineCaches = NULL;
5840 PFN_vkQueueBindSparse glad_vkQueueBindSparse = NULL;
5841 PFN_vkQueuePresentKHR glad_vkQueuePresentKHR = NULL;
5842 PFN_vkQueueSubmit glad_vkQueueSubmit = NULL;
5843 PFN_vkQueueSubmit2 glad_vkQueueSubmit2 = NULL;
5844 PFN_vkQueueWaitIdle glad_vkQueueWaitIdle = NULL;
5845 PFN_vkResetCommandBuffer glad_vkResetCommandBuffer = NULL;
5846 PFN_vkResetCommandPool glad_vkResetCommandPool = NULL;
5847 PFN_vkResetDescriptorPool glad_vkResetDescriptorPool = NULL;
5848 PFN_vkResetEvent glad_vkResetEvent = NULL;
5849 PFN_vkResetFences glad_vkResetFences = NULL;
5850 PFN_vkResetQueryPool glad_vkResetQueryPool = NULL;
5851 PFN_vkSetEvent glad_vkSetEvent = NULL;
5852 PFN_vkSetPrivateData glad_vkSetPrivateData = NULL;
5853 PFN_vkSignalSemaphore glad_vkSignalSemaphore = NULL;
5854 PFN_vkTrimCommandPool glad_vkTrimCommandPool = NULL;
5855 PFN_vkUnmapMemory glad_vkUnmapMemory = NULL;
5856 PFN_vkUpdateDescriptorSetWithTemplate glad_vkUpdateDescriptorSetWithTemplate = NULL;
5857 PFN_vkUpdateDescriptorSets glad_vkUpdateDescriptorSets = NULL;
5858 PFN_vkWaitForFences glad_vkWaitForFences = NULL;
5859 PFN_vkWaitSemaphores glad_vkWaitSemaphores = NULL;
5860 
5861 
5862 static void glad_vk_load_VK_VERSION_1_0( GLADuserptrloadfunc load, void* userptr) {
5863  if(!GLAD_VK_VERSION_1_0) return;
5864  glad_vkAllocateCommandBuffers = (PFN_vkAllocateCommandBuffers) load(userptr, "vkAllocateCommandBuffers");
5865  glad_vkAllocateDescriptorSets = (PFN_vkAllocateDescriptorSets) load(userptr, "vkAllocateDescriptorSets");
5866  glad_vkAllocateMemory = (PFN_vkAllocateMemory) load(userptr, "vkAllocateMemory");
5867  glad_vkBeginCommandBuffer = (PFN_vkBeginCommandBuffer) load(userptr, "vkBeginCommandBuffer");
5868  glad_vkBindBufferMemory = (PFN_vkBindBufferMemory) load(userptr, "vkBindBufferMemory");
5869  glad_vkBindImageMemory = (PFN_vkBindImageMemory) load(userptr, "vkBindImageMemory");
5870  glad_vkCmdBeginQuery = (PFN_vkCmdBeginQuery) load(userptr, "vkCmdBeginQuery");
5871  glad_vkCmdBeginRenderPass = (PFN_vkCmdBeginRenderPass) load(userptr, "vkCmdBeginRenderPass");
5872  glad_vkCmdBindDescriptorSets = (PFN_vkCmdBindDescriptorSets) load(userptr, "vkCmdBindDescriptorSets");
5873  glad_vkCmdBindIndexBuffer = (PFN_vkCmdBindIndexBuffer) load(userptr, "vkCmdBindIndexBuffer");
5874  glad_vkCmdBindPipeline = (PFN_vkCmdBindPipeline) load(userptr, "vkCmdBindPipeline");
5875  glad_vkCmdBindVertexBuffers = (PFN_vkCmdBindVertexBuffers) load(userptr, "vkCmdBindVertexBuffers");
5876  glad_vkCmdBlitImage = (PFN_vkCmdBlitImage) load(userptr, "vkCmdBlitImage");
5877  glad_vkCmdClearAttachments = (PFN_vkCmdClearAttachments) load(userptr, "vkCmdClearAttachments");
5878  glad_vkCmdClearColorImage = (PFN_vkCmdClearColorImage) load(userptr, "vkCmdClearColorImage");
5879  glad_vkCmdClearDepthStencilImage = (PFN_vkCmdClearDepthStencilImage) load(userptr, "vkCmdClearDepthStencilImage");
5880  glad_vkCmdCopyBuffer = (PFN_vkCmdCopyBuffer) load(userptr, "vkCmdCopyBuffer");
5881  glad_vkCmdCopyBufferToImage = (PFN_vkCmdCopyBufferToImage) load(userptr, "vkCmdCopyBufferToImage");
5882  glad_vkCmdCopyImage = (PFN_vkCmdCopyImage) load(userptr, "vkCmdCopyImage");
5883  glad_vkCmdCopyImageToBuffer = (PFN_vkCmdCopyImageToBuffer) load(userptr, "vkCmdCopyImageToBuffer");
5884  glad_vkCmdCopyQueryPoolResults = (PFN_vkCmdCopyQueryPoolResults) load(userptr, "vkCmdCopyQueryPoolResults");
5885  glad_vkCmdDispatch = (PFN_vkCmdDispatch) load(userptr, "vkCmdDispatch");
5886  glad_vkCmdDispatchIndirect = (PFN_vkCmdDispatchIndirect) load(userptr, "vkCmdDispatchIndirect");
5887  glad_vkCmdDraw = (PFN_vkCmdDraw) load(userptr, "vkCmdDraw");
5888  glad_vkCmdDrawIndexed = (PFN_vkCmdDrawIndexed) load(userptr, "vkCmdDrawIndexed");
5889  glad_vkCmdDrawIndexedIndirect = (PFN_vkCmdDrawIndexedIndirect) load(userptr, "vkCmdDrawIndexedIndirect");
5890  glad_vkCmdDrawIndirect = (PFN_vkCmdDrawIndirect) load(userptr, "vkCmdDrawIndirect");
5891  glad_vkCmdEndQuery = (PFN_vkCmdEndQuery) load(userptr, "vkCmdEndQuery");
5892  glad_vkCmdEndRenderPass = (PFN_vkCmdEndRenderPass) load(userptr, "vkCmdEndRenderPass");
5893  glad_vkCmdExecuteCommands = (PFN_vkCmdExecuteCommands) load(userptr, "vkCmdExecuteCommands");
5894  glad_vkCmdFillBuffer = (PFN_vkCmdFillBuffer) load(userptr, "vkCmdFillBuffer");
5895  glad_vkCmdNextSubpass = (PFN_vkCmdNextSubpass) load(userptr, "vkCmdNextSubpass");
5896  glad_vkCmdPipelineBarrier = (PFN_vkCmdPipelineBarrier) load(userptr, "vkCmdPipelineBarrier");
5897  glad_vkCmdPushConstants = (PFN_vkCmdPushConstants) load(userptr, "vkCmdPushConstants");
5898  glad_vkCmdResetEvent = (PFN_vkCmdResetEvent) load(userptr, "vkCmdResetEvent");
5899  glad_vkCmdResetQueryPool = (PFN_vkCmdResetQueryPool) load(userptr, "vkCmdResetQueryPool");
5900  glad_vkCmdResolveImage = (PFN_vkCmdResolveImage) load(userptr, "vkCmdResolveImage");
5901  glad_vkCmdSetBlendConstants = (PFN_vkCmdSetBlendConstants) load(userptr, "vkCmdSetBlendConstants");
5902  glad_vkCmdSetDepthBias = (PFN_vkCmdSetDepthBias) load(userptr, "vkCmdSetDepthBias");
5903  glad_vkCmdSetDepthBounds = (PFN_vkCmdSetDepthBounds) load(userptr, "vkCmdSetDepthBounds");
5904  glad_vkCmdSetEvent = (PFN_vkCmdSetEvent) load(userptr, "vkCmdSetEvent");
5905  glad_vkCmdSetLineWidth = (PFN_vkCmdSetLineWidth) load(userptr, "vkCmdSetLineWidth");
5906  glad_vkCmdSetScissor = (PFN_vkCmdSetScissor) load(userptr, "vkCmdSetScissor");
5907  glad_vkCmdSetStencilCompareMask = (PFN_vkCmdSetStencilCompareMask) load(userptr, "vkCmdSetStencilCompareMask");
5908  glad_vkCmdSetStencilReference = (PFN_vkCmdSetStencilReference) load(userptr, "vkCmdSetStencilReference");
5909  glad_vkCmdSetStencilWriteMask = (PFN_vkCmdSetStencilWriteMask) load(userptr, "vkCmdSetStencilWriteMask");
5910  glad_vkCmdSetViewport = (PFN_vkCmdSetViewport) load(userptr, "vkCmdSetViewport");
5911  glad_vkCmdUpdateBuffer = (PFN_vkCmdUpdateBuffer) load(userptr, "vkCmdUpdateBuffer");
5912  glad_vkCmdWaitEvents = (PFN_vkCmdWaitEvents) load(userptr, "vkCmdWaitEvents");
5913  glad_vkCmdWriteTimestamp = (PFN_vkCmdWriteTimestamp) load(userptr, "vkCmdWriteTimestamp");
5914  glad_vkCreateBuffer = (PFN_vkCreateBuffer) load(userptr, "vkCreateBuffer");
5915  glad_vkCreateBufferView = (PFN_vkCreateBufferView) load(userptr, "vkCreateBufferView");
5916  glad_vkCreateCommandPool = (PFN_vkCreateCommandPool) load(userptr, "vkCreateCommandPool");
5917  glad_vkCreateComputePipelines = (PFN_vkCreateComputePipelines) load(userptr, "vkCreateComputePipelines");
5918  glad_vkCreateDescriptorPool = (PFN_vkCreateDescriptorPool) load(userptr, "vkCreateDescriptorPool");
5919  glad_vkCreateDescriptorSetLayout = (PFN_vkCreateDescriptorSetLayout) load(userptr, "vkCreateDescriptorSetLayout");
5920  glad_vkCreateDevice = (PFN_vkCreateDevice) load(userptr, "vkCreateDevice");
5921  glad_vkCreateEvent = (PFN_vkCreateEvent) load(userptr, "vkCreateEvent");
5922  glad_vkCreateFence = (PFN_vkCreateFence) load(userptr, "vkCreateFence");
5923  glad_vkCreateFramebuffer = (PFN_vkCreateFramebuffer) load(userptr, "vkCreateFramebuffer");
5924  glad_vkCreateGraphicsPipelines = (PFN_vkCreateGraphicsPipelines) load(userptr, "vkCreateGraphicsPipelines");
5925  glad_vkCreateImage = (PFN_vkCreateImage) load(userptr, "vkCreateImage");
5926  glad_vkCreateImageView = (PFN_vkCreateImageView) load(userptr, "vkCreateImageView");
5927  glad_vkCreateInstance = (PFN_vkCreateInstance) load(userptr, "vkCreateInstance");
5928  glad_vkCreatePipelineCache = (PFN_vkCreatePipelineCache) load(userptr, "vkCreatePipelineCache");
5929  glad_vkCreatePipelineLayout = (PFN_vkCreatePipelineLayout) load(userptr, "vkCreatePipelineLayout");
5930  glad_vkCreateQueryPool = (PFN_vkCreateQueryPool) load(userptr, "vkCreateQueryPool");
5931  glad_vkCreateRenderPass = (PFN_vkCreateRenderPass) load(userptr, "vkCreateRenderPass");
5932  glad_vkCreateSampler = (PFN_vkCreateSampler) load(userptr, "vkCreateSampler");
5933  glad_vkCreateSemaphore = (PFN_vkCreateSemaphore) load(userptr, "vkCreateSemaphore");
5934  glad_vkCreateShaderModule = (PFN_vkCreateShaderModule) load(userptr, "vkCreateShaderModule");
5935  glad_vkDestroyBuffer = (PFN_vkDestroyBuffer) load(userptr, "vkDestroyBuffer");
5936  glad_vkDestroyBufferView = (PFN_vkDestroyBufferView) load(userptr, "vkDestroyBufferView");
5937  glad_vkDestroyCommandPool = (PFN_vkDestroyCommandPool) load(userptr, "vkDestroyCommandPool");
5938  glad_vkDestroyDescriptorPool = (PFN_vkDestroyDescriptorPool) load(userptr, "vkDestroyDescriptorPool");
5939  glad_vkDestroyDescriptorSetLayout = (PFN_vkDestroyDescriptorSetLayout) load(userptr, "vkDestroyDescriptorSetLayout");
5940  glad_vkDestroyDevice = (PFN_vkDestroyDevice) load(userptr, "vkDestroyDevice");
5941  glad_vkDestroyEvent = (PFN_vkDestroyEvent) load(userptr, "vkDestroyEvent");
5942  glad_vkDestroyFence = (PFN_vkDestroyFence) load(userptr, "vkDestroyFence");
5943  glad_vkDestroyFramebuffer = (PFN_vkDestroyFramebuffer) load(userptr, "vkDestroyFramebuffer");
5944  glad_vkDestroyImage = (PFN_vkDestroyImage) load(userptr, "vkDestroyImage");
5945  glad_vkDestroyImageView = (PFN_vkDestroyImageView) load(userptr, "vkDestroyImageView");
5946  glad_vkDestroyInstance = (PFN_vkDestroyInstance) load(userptr, "vkDestroyInstance");
5947  glad_vkDestroyPipeline = (PFN_vkDestroyPipeline) load(userptr, "vkDestroyPipeline");
5948  glad_vkDestroyPipelineCache = (PFN_vkDestroyPipelineCache) load(userptr, "vkDestroyPipelineCache");
5949  glad_vkDestroyPipelineLayout = (PFN_vkDestroyPipelineLayout) load(userptr, "vkDestroyPipelineLayout");
5950  glad_vkDestroyQueryPool = (PFN_vkDestroyQueryPool) load(userptr, "vkDestroyQueryPool");
5951  glad_vkDestroyRenderPass = (PFN_vkDestroyRenderPass) load(userptr, "vkDestroyRenderPass");
5952  glad_vkDestroySampler = (PFN_vkDestroySampler) load(userptr, "vkDestroySampler");
5953  glad_vkDestroySemaphore = (PFN_vkDestroySemaphore) load(userptr, "vkDestroySemaphore");
5954  glad_vkDestroyShaderModule = (PFN_vkDestroyShaderModule) load(userptr, "vkDestroyShaderModule");
5955  glad_vkDeviceWaitIdle = (PFN_vkDeviceWaitIdle) load(userptr, "vkDeviceWaitIdle");
5956  glad_vkEndCommandBuffer = (PFN_vkEndCommandBuffer) load(userptr, "vkEndCommandBuffer");
5957  glad_vkEnumerateDeviceExtensionProperties = (PFN_vkEnumerateDeviceExtensionProperties) load(userptr, "vkEnumerateDeviceExtensionProperties");
5958  glad_vkEnumerateDeviceLayerProperties = (PFN_vkEnumerateDeviceLayerProperties) load(userptr, "vkEnumerateDeviceLayerProperties");
5959  glad_vkEnumerateInstanceExtensionProperties = (PFN_vkEnumerateInstanceExtensionProperties) load(userptr, "vkEnumerateInstanceExtensionProperties");
5960  glad_vkEnumerateInstanceLayerProperties = (PFN_vkEnumerateInstanceLayerProperties) load(userptr, "vkEnumerateInstanceLayerProperties");
5961  glad_vkEnumeratePhysicalDevices = (PFN_vkEnumeratePhysicalDevices) load(userptr, "vkEnumeratePhysicalDevices");
5962  glad_vkFlushMappedMemoryRanges = (PFN_vkFlushMappedMemoryRanges) load(userptr, "vkFlushMappedMemoryRanges");
5963  glad_vkFreeCommandBuffers = (PFN_vkFreeCommandBuffers) load(userptr, "vkFreeCommandBuffers");
5964  glad_vkFreeDescriptorSets = (PFN_vkFreeDescriptorSets) load(userptr, "vkFreeDescriptorSets");
5965  glad_vkFreeMemory = (PFN_vkFreeMemory) load(userptr, "vkFreeMemory");
5966  glad_vkGetBufferMemoryRequirements = (PFN_vkGetBufferMemoryRequirements) load(userptr, "vkGetBufferMemoryRequirements");
5967  glad_vkGetDeviceMemoryCommitment = (PFN_vkGetDeviceMemoryCommitment) load(userptr, "vkGetDeviceMemoryCommitment");
5968  glad_vkGetDeviceProcAddr = (PFN_vkGetDeviceProcAddr) load(userptr, "vkGetDeviceProcAddr");
5969  glad_vkGetDeviceQueue = (PFN_vkGetDeviceQueue) load(userptr, "vkGetDeviceQueue");
5970  glad_vkGetEventStatus = (PFN_vkGetEventStatus) load(userptr, "vkGetEventStatus");
5971  glad_vkGetFenceStatus = (PFN_vkGetFenceStatus) load(userptr, "vkGetFenceStatus");
5972  glad_vkGetImageMemoryRequirements = (PFN_vkGetImageMemoryRequirements) load(userptr, "vkGetImageMemoryRequirements");
5973  glad_vkGetImageSparseMemoryRequirements = (PFN_vkGetImageSparseMemoryRequirements) load(userptr, "vkGetImageSparseMemoryRequirements");
5974  glad_vkGetImageSubresourceLayout = (PFN_vkGetImageSubresourceLayout) load(userptr, "vkGetImageSubresourceLayout");
5975  glad_vkGetInstanceProcAddr = (PFN_vkGetInstanceProcAddr) load(userptr, "vkGetInstanceProcAddr");
5976  glad_vkGetPhysicalDeviceFeatures = (PFN_vkGetPhysicalDeviceFeatures) load(userptr, "vkGetPhysicalDeviceFeatures");
5977  glad_vkGetPhysicalDeviceFormatProperties = (PFN_vkGetPhysicalDeviceFormatProperties) load(userptr, "vkGetPhysicalDeviceFormatProperties");
5978  glad_vkGetPhysicalDeviceImageFormatProperties = (PFN_vkGetPhysicalDeviceImageFormatProperties) load(userptr, "vkGetPhysicalDeviceImageFormatProperties");
5979  glad_vkGetPhysicalDeviceMemoryProperties = (PFN_vkGetPhysicalDeviceMemoryProperties) load(userptr, "vkGetPhysicalDeviceMemoryProperties");
5980  glad_vkGetPhysicalDeviceProperties = (PFN_vkGetPhysicalDeviceProperties) load(userptr, "vkGetPhysicalDeviceProperties");
5981  glad_vkGetPhysicalDeviceQueueFamilyProperties = (PFN_vkGetPhysicalDeviceQueueFamilyProperties) load(userptr, "vkGetPhysicalDeviceQueueFamilyProperties");
5982  glad_vkGetPhysicalDeviceSparseImageFormatProperties = (PFN_vkGetPhysicalDeviceSparseImageFormatProperties) load(userptr, "vkGetPhysicalDeviceSparseImageFormatProperties");
5983  glad_vkGetPipelineCacheData = (PFN_vkGetPipelineCacheData) load(userptr, "vkGetPipelineCacheData");
5984  glad_vkGetQueryPoolResults = (PFN_vkGetQueryPoolResults) load(userptr, "vkGetQueryPoolResults");
5985  glad_vkGetRenderAreaGranularity = (PFN_vkGetRenderAreaGranularity) load(userptr, "vkGetRenderAreaGranularity");
5986  glad_vkInvalidateMappedMemoryRanges = (PFN_vkInvalidateMappedMemoryRanges) load(userptr, "vkInvalidateMappedMemoryRanges");
5987  glad_vkMapMemory = (PFN_vkMapMemory) load(userptr, "vkMapMemory");
5988  glad_vkMergePipelineCaches = (PFN_vkMergePipelineCaches) load(userptr, "vkMergePipelineCaches");
5989  glad_vkQueueBindSparse = (PFN_vkQueueBindSparse) load(userptr, "vkQueueBindSparse");
5990  glad_vkQueueSubmit = (PFN_vkQueueSubmit) load(userptr, "vkQueueSubmit");
5991  glad_vkQueueWaitIdle = (PFN_vkQueueWaitIdle) load(userptr, "vkQueueWaitIdle");
5992  glad_vkResetCommandBuffer = (PFN_vkResetCommandBuffer) load(userptr, "vkResetCommandBuffer");
5993  glad_vkResetCommandPool = (PFN_vkResetCommandPool) load(userptr, "vkResetCommandPool");
5994  glad_vkResetDescriptorPool = (PFN_vkResetDescriptorPool) load(userptr, "vkResetDescriptorPool");
5995  glad_vkResetEvent = (PFN_vkResetEvent) load(userptr, "vkResetEvent");
5996  glad_vkResetFences = (PFN_vkResetFences) load(userptr, "vkResetFences");
5997  glad_vkSetEvent = (PFN_vkSetEvent) load(userptr, "vkSetEvent");
5998  glad_vkUnmapMemory = (PFN_vkUnmapMemory) load(userptr, "vkUnmapMemory");
5999  glad_vkUpdateDescriptorSets = (PFN_vkUpdateDescriptorSets) load(userptr, "vkUpdateDescriptorSets");
6000  glad_vkWaitForFences = (PFN_vkWaitForFences) load(userptr, "vkWaitForFences");
6001 }
6002 static void glad_vk_load_VK_VERSION_1_1( GLADuserptrloadfunc load, void* userptr) {
6003  if(!GLAD_VK_VERSION_1_1) return;
6004  glad_vkBindBufferMemory2 = (PFN_vkBindBufferMemory2) load(userptr, "vkBindBufferMemory2");
6005  glad_vkBindImageMemory2 = (PFN_vkBindImageMemory2) load(userptr, "vkBindImageMemory2");
6006  glad_vkCmdDispatchBase = (PFN_vkCmdDispatchBase) load(userptr, "vkCmdDispatchBase");
6007  glad_vkCmdSetDeviceMask = (PFN_vkCmdSetDeviceMask) load(userptr, "vkCmdSetDeviceMask");
6008  glad_vkCreateDescriptorUpdateTemplate = (PFN_vkCreateDescriptorUpdateTemplate) load(userptr, "vkCreateDescriptorUpdateTemplate");
6009  glad_vkCreateSamplerYcbcrConversion = (PFN_vkCreateSamplerYcbcrConversion) load(userptr, "vkCreateSamplerYcbcrConversion");
6010  glad_vkDestroyDescriptorUpdateTemplate = (PFN_vkDestroyDescriptorUpdateTemplate) load(userptr, "vkDestroyDescriptorUpdateTemplate");
6011  glad_vkDestroySamplerYcbcrConversion = (PFN_vkDestroySamplerYcbcrConversion) load(userptr, "vkDestroySamplerYcbcrConversion");
6012  glad_vkEnumerateInstanceVersion = (PFN_vkEnumerateInstanceVersion) load(userptr, "vkEnumerateInstanceVersion");
6013  glad_vkEnumeratePhysicalDeviceGroups = (PFN_vkEnumeratePhysicalDeviceGroups) load(userptr, "vkEnumeratePhysicalDeviceGroups");
6014  glad_vkGetBufferMemoryRequirements2 = (PFN_vkGetBufferMemoryRequirements2) load(userptr, "vkGetBufferMemoryRequirements2");
6015  glad_vkGetDescriptorSetLayoutSupport = (PFN_vkGetDescriptorSetLayoutSupport) load(userptr, "vkGetDescriptorSetLayoutSupport");
6016  glad_vkGetDeviceGroupPeerMemoryFeatures = (PFN_vkGetDeviceGroupPeerMemoryFeatures) load(userptr, "vkGetDeviceGroupPeerMemoryFeatures");
6017  glad_vkGetDeviceQueue2 = (PFN_vkGetDeviceQueue2) load(userptr, "vkGetDeviceQueue2");
6018  glad_vkGetImageMemoryRequirements2 = (PFN_vkGetImageMemoryRequirements2) load(userptr, "vkGetImageMemoryRequirements2");
6019  glad_vkGetImageSparseMemoryRequirements2 = (PFN_vkGetImageSparseMemoryRequirements2) load(userptr, "vkGetImageSparseMemoryRequirements2");
6020  glad_vkGetPhysicalDeviceExternalBufferProperties = (PFN_vkGetPhysicalDeviceExternalBufferProperties) load(userptr, "vkGetPhysicalDeviceExternalBufferProperties");
6021  glad_vkGetPhysicalDeviceExternalFenceProperties = (PFN_vkGetPhysicalDeviceExternalFenceProperties) load(userptr, "vkGetPhysicalDeviceExternalFenceProperties");
6022  glad_vkGetPhysicalDeviceExternalSemaphoreProperties = (PFN_vkGetPhysicalDeviceExternalSemaphoreProperties) load(userptr, "vkGetPhysicalDeviceExternalSemaphoreProperties");
6023  glad_vkGetPhysicalDeviceFeatures2 = (PFN_vkGetPhysicalDeviceFeatures2) load(userptr, "vkGetPhysicalDeviceFeatures2");
6024  glad_vkGetPhysicalDeviceFormatProperties2 = (PFN_vkGetPhysicalDeviceFormatProperties2) load(userptr, "vkGetPhysicalDeviceFormatProperties2");
6025  glad_vkGetPhysicalDeviceImageFormatProperties2 = (PFN_vkGetPhysicalDeviceImageFormatProperties2) load(userptr, "vkGetPhysicalDeviceImageFormatProperties2");
6026  glad_vkGetPhysicalDeviceMemoryProperties2 = (PFN_vkGetPhysicalDeviceMemoryProperties2) load(userptr, "vkGetPhysicalDeviceMemoryProperties2");
6027  glad_vkGetPhysicalDeviceProperties2 = (PFN_vkGetPhysicalDeviceProperties2) load(userptr, "vkGetPhysicalDeviceProperties2");
6028  glad_vkGetPhysicalDeviceQueueFamilyProperties2 = (PFN_vkGetPhysicalDeviceQueueFamilyProperties2) load(userptr, "vkGetPhysicalDeviceQueueFamilyProperties2");
6029  glad_vkGetPhysicalDeviceSparseImageFormatProperties2 = (PFN_vkGetPhysicalDeviceSparseImageFormatProperties2) load(userptr, "vkGetPhysicalDeviceSparseImageFormatProperties2");
6030  glad_vkTrimCommandPool = (PFN_vkTrimCommandPool) load(userptr, "vkTrimCommandPool");
6031  glad_vkUpdateDescriptorSetWithTemplate = (PFN_vkUpdateDescriptorSetWithTemplate) load(userptr, "vkUpdateDescriptorSetWithTemplate");
6032 }
6033 static void glad_vk_load_VK_VERSION_1_2( GLADuserptrloadfunc load, void* userptr) {
6034  if(!GLAD_VK_VERSION_1_2) return;
6035  glad_vkCmdBeginRenderPass2 = (PFN_vkCmdBeginRenderPass2) load(userptr, "vkCmdBeginRenderPass2");
6036  glad_vkCmdDrawIndexedIndirectCount = (PFN_vkCmdDrawIndexedIndirectCount) load(userptr, "vkCmdDrawIndexedIndirectCount");
6037  glad_vkCmdDrawIndirectCount = (PFN_vkCmdDrawIndirectCount) load(userptr, "vkCmdDrawIndirectCount");
6038  glad_vkCmdEndRenderPass2 = (PFN_vkCmdEndRenderPass2) load(userptr, "vkCmdEndRenderPass2");
6039  glad_vkCmdNextSubpass2 = (PFN_vkCmdNextSubpass2) load(userptr, "vkCmdNextSubpass2");
6040  glad_vkCreateRenderPass2 = (PFN_vkCreateRenderPass2) load(userptr, "vkCreateRenderPass2");
6041  glad_vkGetBufferDeviceAddress = (PFN_vkGetBufferDeviceAddress) load(userptr, "vkGetBufferDeviceAddress");
6042  glad_vkGetBufferOpaqueCaptureAddress = (PFN_vkGetBufferOpaqueCaptureAddress) load(userptr, "vkGetBufferOpaqueCaptureAddress");
6043  glad_vkGetDeviceMemoryOpaqueCaptureAddress = (PFN_vkGetDeviceMemoryOpaqueCaptureAddress) load(userptr, "vkGetDeviceMemoryOpaqueCaptureAddress");
6044  glad_vkGetSemaphoreCounterValue = (PFN_vkGetSemaphoreCounterValue) load(userptr, "vkGetSemaphoreCounterValue");
6045  glad_vkResetQueryPool = (PFN_vkResetQueryPool) load(userptr, "vkResetQueryPool");
6046  glad_vkSignalSemaphore = (PFN_vkSignalSemaphore) load(userptr, "vkSignalSemaphore");
6047  glad_vkWaitSemaphores = (PFN_vkWaitSemaphores) load(userptr, "vkWaitSemaphores");
6048 }
6049 static void glad_vk_load_VK_VERSION_1_3( GLADuserptrloadfunc load, void* userptr) {
6050  if(!GLAD_VK_VERSION_1_3) return;
6051  glad_vkCmdBeginRendering = (PFN_vkCmdBeginRendering) load(userptr, "vkCmdBeginRendering");
6052  glad_vkCmdBindVertexBuffers2 = (PFN_vkCmdBindVertexBuffers2) load(userptr, "vkCmdBindVertexBuffers2");
6053  glad_vkCmdBlitImage2 = (PFN_vkCmdBlitImage2) load(userptr, "vkCmdBlitImage2");
6054  glad_vkCmdCopyBuffer2 = (PFN_vkCmdCopyBuffer2) load(userptr, "vkCmdCopyBuffer2");
6055  glad_vkCmdCopyBufferToImage2 = (PFN_vkCmdCopyBufferToImage2) load(userptr, "vkCmdCopyBufferToImage2");
6056  glad_vkCmdCopyImage2 = (PFN_vkCmdCopyImage2) load(userptr, "vkCmdCopyImage2");
6057  glad_vkCmdCopyImageToBuffer2 = (PFN_vkCmdCopyImageToBuffer2) load(userptr, "vkCmdCopyImageToBuffer2");
6058  glad_vkCmdEndRendering = (PFN_vkCmdEndRendering) load(userptr, "vkCmdEndRendering");
6059  glad_vkCmdPipelineBarrier2 = (PFN_vkCmdPipelineBarrier2) load(userptr, "vkCmdPipelineBarrier2");
6060  glad_vkCmdResetEvent2 = (PFN_vkCmdResetEvent2) load(userptr, "vkCmdResetEvent2");
6061  glad_vkCmdResolveImage2 = (PFN_vkCmdResolveImage2) load(userptr, "vkCmdResolveImage2");
6062  glad_vkCmdSetCullMode = (PFN_vkCmdSetCullMode) load(userptr, "vkCmdSetCullMode");
6063  glad_vkCmdSetDepthBiasEnable = (PFN_vkCmdSetDepthBiasEnable) load(userptr, "vkCmdSetDepthBiasEnable");
6064  glad_vkCmdSetDepthBoundsTestEnable = (PFN_vkCmdSetDepthBoundsTestEnable) load(userptr, "vkCmdSetDepthBoundsTestEnable");
6065  glad_vkCmdSetDepthCompareOp = (PFN_vkCmdSetDepthCompareOp) load(userptr, "vkCmdSetDepthCompareOp");
6066  glad_vkCmdSetDepthTestEnable = (PFN_vkCmdSetDepthTestEnable) load(userptr, "vkCmdSetDepthTestEnable");
6067  glad_vkCmdSetDepthWriteEnable = (PFN_vkCmdSetDepthWriteEnable) load(userptr, "vkCmdSetDepthWriteEnable");
6068  glad_vkCmdSetEvent2 = (PFN_vkCmdSetEvent2) load(userptr, "vkCmdSetEvent2");
6069  glad_vkCmdSetFrontFace = (PFN_vkCmdSetFrontFace) load(userptr, "vkCmdSetFrontFace");
6070  glad_vkCmdSetPrimitiveRestartEnable = (PFN_vkCmdSetPrimitiveRestartEnable) load(userptr, "vkCmdSetPrimitiveRestartEnable");
6071  glad_vkCmdSetPrimitiveTopology = (PFN_vkCmdSetPrimitiveTopology) load(userptr, "vkCmdSetPrimitiveTopology");
6072  glad_vkCmdSetRasterizerDiscardEnable = (PFN_vkCmdSetRasterizerDiscardEnable) load(userptr, "vkCmdSetRasterizerDiscardEnable");
6073  glad_vkCmdSetScissorWithCount = (PFN_vkCmdSetScissorWithCount) load(userptr, "vkCmdSetScissorWithCount");
6074  glad_vkCmdSetStencilOp = (PFN_vkCmdSetStencilOp) load(userptr, "vkCmdSetStencilOp");
6075  glad_vkCmdSetStencilTestEnable = (PFN_vkCmdSetStencilTestEnable) load(userptr, "vkCmdSetStencilTestEnable");
6076  glad_vkCmdSetViewportWithCount = (PFN_vkCmdSetViewportWithCount) load(userptr, "vkCmdSetViewportWithCount");
6077  glad_vkCmdWaitEvents2 = (PFN_vkCmdWaitEvents2) load(userptr, "vkCmdWaitEvents2");
6078  glad_vkCmdWriteTimestamp2 = (PFN_vkCmdWriteTimestamp2) load(userptr, "vkCmdWriteTimestamp2");
6079  glad_vkCreatePrivateDataSlot = (PFN_vkCreatePrivateDataSlot) load(userptr, "vkCreatePrivateDataSlot");
6080  glad_vkDestroyPrivateDataSlot = (PFN_vkDestroyPrivateDataSlot) load(userptr, "vkDestroyPrivateDataSlot");
6081  glad_vkGetDeviceBufferMemoryRequirements = (PFN_vkGetDeviceBufferMemoryRequirements) load(userptr, "vkGetDeviceBufferMemoryRequirements");
6082  glad_vkGetDeviceImageMemoryRequirements = (PFN_vkGetDeviceImageMemoryRequirements) load(userptr, "vkGetDeviceImageMemoryRequirements");
6083  glad_vkGetDeviceImageSparseMemoryRequirements = (PFN_vkGetDeviceImageSparseMemoryRequirements) load(userptr, "vkGetDeviceImageSparseMemoryRequirements");
6084  glad_vkGetPhysicalDeviceToolProperties = (PFN_vkGetPhysicalDeviceToolProperties) load(userptr, "vkGetPhysicalDeviceToolProperties");
6085  glad_vkGetPrivateData = (PFN_vkGetPrivateData) load(userptr, "vkGetPrivateData");
6086  glad_vkQueueSubmit2 = (PFN_vkQueueSubmit2) load(userptr, "vkQueueSubmit2");
6087  glad_vkSetPrivateData = (PFN_vkSetPrivateData) load(userptr, "vkSetPrivateData");
6088 }
6089 static void glad_vk_load_VK_EXT_debug_report( GLADuserptrloadfunc load, void* userptr) {
6090  if(!GLAD_VK_EXT_debug_report) return;
6091  glad_vkCreateDebugReportCallbackEXT = (PFN_vkCreateDebugReportCallbackEXT) load(userptr, "vkCreateDebugReportCallbackEXT");
6092  glad_vkDebugReportMessageEXT = (PFN_vkDebugReportMessageEXT) load(userptr, "vkDebugReportMessageEXT");
6093  glad_vkDestroyDebugReportCallbackEXT = (PFN_vkDestroyDebugReportCallbackEXT) load(userptr, "vkDestroyDebugReportCallbackEXT");
6094 }
6095 static void glad_vk_load_VK_KHR_surface( GLADuserptrloadfunc load, void* userptr) {
6096  if(!GLAD_VK_KHR_surface) return;
6097  glad_vkDestroySurfaceKHR = (PFN_vkDestroySurfaceKHR) load(userptr, "vkDestroySurfaceKHR");
6098  glad_vkGetPhysicalDeviceSurfaceCapabilitiesKHR = (PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR) load(userptr, "vkGetPhysicalDeviceSurfaceCapabilitiesKHR");
6099  glad_vkGetPhysicalDeviceSurfaceFormatsKHR = (PFN_vkGetPhysicalDeviceSurfaceFormatsKHR) load(userptr, "vkGetPhysicalDeviceSurfaceFormatsKHR");
6100  glad_vkGetPhysicalDeviceSurfacePresentModesKHR = (PFN_vkGetPhysicalDeviceSurfacePresentModesKHR) load(userptr, "vkGetPhysicalDeviceSurfacePresentModesKHR");
6101  glad_vkGetPhysicalDeviceSurfaceSupportKHR = (PFN_vkGetPhysicalDeviceSurfaceSupportKHR) load(userptr, "vkGetPhysicalDeviceSurfaceSupportKHR");
6102 }
6103 static void glad_vk_load_VK_KHR_swapchain( GLADuserptrloadfunc load, void* userptr) {
6104  if(!GLAD_VK_KHR_swapchain) return;
6105  glad_vkAcquireNextImage2KHR = (PFN_vkAcquireNextImage2KHR) load(userptr, "vkAcquireNextImage2KHR");
6106  glad_vkAcquireNextImageKHR = (PFN_vkAcquireNextImageKHR) load(userptr, "vkAcquireNextImageKHR");
6107  glad_vkCreateSwapchainKHR = (PFN_vkCreateSwapchainKHR) load(userptr, "vkCreateSwapchainKHR");
6108  glad_vkDestroySwapchainKHR = (PFN_vkDestroySwapchainKHR) load(userptr, "vkDestroySwapchainKHR");
6109  glad_vkGetDeviceGroupPresentCapabilitiesKHR = (PFN_vkGetDeviceGroupPresentCapabilitiesKHR) load(userptr, "vkGetDeviceGroupPresentCapabilitiesKHR");
6110  glad_vkGetDeviceGroupSurfacePresentModesKHR = (PFN_vkGetDeviceGroupSurfacePresentModesKHR) load(userptr, "vkGetDeviceGroupSurfacePresentModesKHR");
6111  glad_vkGetPhysicalDevicePresentRectanglesKHR = (PFN_vkGetPhysicalDevicePresentRectanglesKHR) load(userptr, "vkGetPhysicalDevicePresentRectanglesKHR");
6112  glad_vkGetSwapchainImagesKHR = (PFN_vkGetSwapchainImagesKHR) load(userptr, "vkGetSwapchainImagesKHR");
6113  glad_vkQueuePresentKHR = (PFN_vkQueuePresentKHR) load(userptr, "vkQueuePresentKHR");
6114 }
6115 
6116 
6117 
6118 static int glad_vk_get_extensions( VkPhysicalDevice physical_device, uint32_t *out_extension_count, char ***out_extensions) {
6119  uint32_t i;
6120  uint32_t instance_extension_count = 0;
6121  uint32_t device_extension_count = 0;
6122  uint32_t max_extension_count = 0;
6123  uint32_t total_extension_count = 0;
6124  char **extensions = NULL;
6125  VkExtensionProperties *ext_properties = NULL;
6126  VkResult result;
6127 
6128  if (glad_vkEnumerateInstanceExtensionProperties == NULL || (physical_device != NULL && glad_vkEnumerateDeviceExtensionProperties == NULL)) {
6129  return 0;
6130  }
6131 
6132  result = glad_vkEnumerateInstanceExtensionProperties(NULL, &instance_extension_count, NULL);
6133  if (result != VK_SUCCESS) {
6134  return 0;
6135  }
6136 
6137  if (physical_device != NULL) {
6138  result = glad_vkEnumerateDeviceExtensionProperties(physical_device, NULL, &device_extension_count, NULL);
6139  if (result != VK_SUCCESS) {
6140  return 0;
6141  }
6142  }
6143 
6144  total_extension_count = instance_extension_count + device_extension_count;
6145  if (total_extension_count <= 0) {
6146  return 0;
6147  }
6148 
6149  max_extension_count = instance_extension_count > device_extension_count
6150  ? instance_extension_count : device_extension_count;
6151 
6152  ext_properties = (VkExtensionProperties*) malloc(max_extension_count * sizeof(VkExtensionProperties));
6153  if (ext_properties == NULL) {
6154  goto glad_vk_get_extensions_error;
6155  }
6156 
6157  result = glad_vkEnumerateInstanceExtensionProperties(NULL, &instance_extension_count, ext_properties);
6158  if (result != VK_SUCCESS) {
6159  goto glad_vk_get_extensions_error;
6160  }
6161 
6162  extensions = (char**) calloc(total_extension_count, sizeof(char*));
6163  if (extensions == NULL) {
6164  goto glad_vk_get_extensions_error;
6165  }
6166 
6167  for (i = 0; i < instance_extension_count; ++i) {
6168  VkExtensionProperties ext = ext_properties[i];
6169 
6170  size_t extension_name_length = strlen(ext.extensionName) + 1;
6171  extensions[i] = (char*) malloc(extension_name_length * sizeof(char));
6172  if (extensions[i] == NULL) {
6173  goto glad_vk_get_extensions_error;
6174  }
6175  memcpy(extensions[i], ext.extensionName, extension_name_length * sizeof(char));
6176  }
6177 
6178  if (physical_device != NULL) {
6179  result = glad_vkEnumerateDeviceExtensionProperties(physical_device, NULL, &device_extension_count, ext_properties);
6180  if (result != VK_SUCCESS) {
6181  goto glad_vk_get_extensions_error;
6182  }
6183 
6184  for (i = 0; i < device_extension_count; ++i) {
6185  VkExtensionProperties ext = ext_properties[i];
6186 
6187  size_t extension_name_length = strlen(ext.extensionName) + 1;
6188  extensions[instance_extension_count + i] = (char*) malloc(extension_name_length * sizeof(char));
6189  if (extensions[instance_extension_count + i] == NULL) {
6190  goto glad_vk_get_extensions_error;
6191  }
6192  memcpy(extensions[instance_extension_count + i], ext.extensionName, extension_name_length * sizeof(char));
6193  }
6194  }
6195 
6196  free((void*) ext_properties);
6197 
6198  *out_extension_count = total_extension_count;
6199  *out_extensions = extensions;
6200 
6201  return 1;
6202 
6203 glad_vk_get_extensions_error:
6204  free((void*) ext_properties);
6205  if (extensions != NULL) {
6206  for (i = 0; i < total_extension_count; ++i) {
6207  free((void*) extensions[i]);
6208  }
6209  free(extensions);
6210  }
6211  return 0;
6212 }
6213 
6214 static void glad_vk_free_extensions(uint32_t extension_count, char **extensions) {
6215  uint32_t i;
6216 
6217  for(i = 0; i < extension_count ; ++i) {
6218  free((void*) (extensions[i]));
6219  }
6220 
6221  free((void*) extensions);
6222 }
6223 
6224 static int glad_vk_has_extension(const char *name, uint32_t extension_count, char **extensions) {
6225  uint32_t i;
6226 
6227  for (i = 0; i < extension_count; ++i) {
6228  if(extensions[i] != NULL && strcmp(name, extensions[i]) == 0) {
6229  return 1;
6230  }
6231  }
6232 
6233  return 0;
6234 }
6235 
6236 static GLADapiproc glad_vk_get_proc_from_userptr(void *userptr, const char* name) {
6237  return (GLAD_GNUC_EXTENSION (GLADapiproc (*)(const char *name)) userptr)(name);
6238 }
6239 
6240 static int glad_vk_find_extensions_vulkan( VkPhysicalDevice physical_device) {
6241  uint32_t extension_count = 0;
6242  char **extensions = NULL;
6243  if (!glad_vk_get_extensions(physical_device, &extension_count, &extensions)) return 0;
6244 
6245  GLAD_VK_EXT_debug_report = glad_vk_has_extension("VK_EXT_debug_report", extension_count, extensions);
6246  GLAD_VK_KHR_portability_enumeration = glad_vk_has_extension("VK_KHR_portability_enumeration", extension_count, extensions);
6247  GLAD_VK_KHR_surface = glad_vk_has_extension("VK_KHR_surface", extension_count, extensions);
6248  GLAD_VK_KHR_swapchain = glad_vk_has_extension("VK_KHR_swapchain", extension_count, extensions);
6249 
6250  (void) glad_vk_has_extension;
6251 
6252  glad_vk_free_extensions(extension_count, extensions);
6253 
6254  return 1;
6255 }
6256 
6257 static int glad_vk_find_core_vulkan( VkPhysicalDevice physical_device) {
6258  int major = 1;
6259  int minor = 0;
6260 
6261 #ifdef VK_VERSION_1_1
6262  if (glad_vkEnumerateInstanceVersion != NULL) {
6263  uint32_t version;
6264  VkResult result;
6265 
6266  result = glad_vkEnumerateInstanceVersion(&version);
6267  if (result == VK_SUCCESS) {
6268  major = (int) VK_VERSION_MAJOR(version);
6269  minor = (int) VK_VERSION_MINOR(version);
6270  }
6271  }
6272 #endif
6273 
6274  if (physical_device != NULL && glad_vkGetPhysicalDeviceProperties != NULL) {
6275  VkPhysicalDeviceProperties properties;
6276  glad_vkGetPhysicalDeviceProperties(physical_device, &properties);
6277 
6278  major = (int) VK_VERSION_MAJOR(properties.apiVersion);
6279  minor = (int) VK_VERSION_MINOR(properties.apiVersion);
6280  }
6281 
6282  GLAD_VK_VERSION_1_0 = (major == 1 && minor >= 0) || major > 1;
6283  GLAD_VK_VERSION_1_1 = (major == 1 && minor >= 1) || major > 1;
6284  GLAD_VK_VERSION_1_2 = (major == 1 && minor >= 2) || major > 1;
6285  GLAD_VK_VERSION_1_3 = (major == 1 && minor >= 3) || major > 1;
6286 
6287  return GLAD_MAKE_VERSION(major, minor);
6288 }
6289 
6290 int gladLoadVulkanUserPtr( VkPhysicalDevice physical_device, GLADuserptrloadfunc load, void *userptr) {
6291  int version;
6292 
6293 #ifdef VK_VERSION_1_1
6294  glad_vkEnumerateInstanceVersion = (PFN_vkEnumerateInstanceVersion) load(userptr, "vkEnumerateInstanceVersion");
6295 #endif
6296  version = glad_vk_find_core_vulkan( physical_device);
6297  if (!version) {
6298  return 0;
6299  }
6300 
6301  glad_vk_load_VK_VERSION_1_0(load, userptr);
6302  glad_vk_load_VK_VERSION_1_1(load, userptr);
6303  glad_vk_load_VK_VERSION_1_2(load, userptr);
6304  glad_vk_load_VK_VERSION_1_3(load, userptr);
6305 
6306  if (!glad_vk_find_extensions_vulkan( physical_device)) return 0;
6307  glad_vk_load_VK_EXT_debug_report(load, userptr);
6308  glad_vk_load_VK_KHR_surface(load, userptr);
6309  glad_vk_load_VK_KHR_swapchain(load, userptr);
6310 
6311 
6312  return version;
6313 }
6314 
6315 
6316 int gladLoadVulkan( VkPhysicalDevice physical_device, GLADloadfunc load) {
6317  return gladLoadVulkanUserPtr( physical_device, glad_vk_get_proc_from_userptr, GLAD_GNUC_EXTENSION (void*) load);
6318 }
6319 
6320 
6321 
6322 
6323 
6324 
6325 #ifdef __cplusplus
6326 }
6327 #endif
6328 
6329 #endif /* GLAD_VULKAN_IMPLEMENTATION */
6330 
Definition: vulkan.h:2183
Definition: vulkan.h:2294
Definition: vulkan.h:4124
Definition: vulkan.h:3599
Definition: vulkan.h:2507
Definition: vulkan.h:3664
Definition: vulkan.h:2116
Definition: vulkan.h:3325
Definition: vulkan.h:3684
Definition: vulkan.h:2859
Definition: vulkan.h:3867
Definition: vulkan.h:2769
Definition: vulkan.h:1994
Definition: vulkan.h:4772
Definition: vulkan.h:4465
Definition: vulkan.h:4555
Definition: vulkan.h:3726
Definition: vulkan.h:4153
Definition: vulkan.h:2102
Definition: vulkan.h:2379
Definition: vulkan.h:4843
Definition: vulkan.h:3700
Definition: vulkan.h:2831
Definition: vulkan.h:2884
Definition: vulkan.h:4248
Definition: vulkan.h:3762
Definition: vulkan.h:4605
Definition: vulkan.h:3861
Definition: vulkan.h:3611
Definition: vulkan.h:2837
Definition: vulkan.h:2267
Definition: vulkan.h:2302
Definition: vulkan.h:3873
Definition: vulkan.h:2523
Definition: vulkan.h:3033
Definition: vulkan.h:4704
Definition: vulkan.h:2332
Definition: vulkan.h:3880
Definition: jar_mod.h:124
Definition: vulkan.h:2751
Definition: vulkan.h:2110
Definition: vulkan.h:3290
Definition: vulkan.h:2004
Definition: vulkan.h:2992
Definition: vulkan.h:3811
Definition: vulkan.h:4855
Definition: vulkan.h:3206
Definition: vulkan.h:2962
Definition: vulkan.h:3303
Definition: vulkan.h:2070
Definition: vulkan.h:3125
Definition: vulkan.h:2035
Definition: vulkan.h:3964
Definition: vulkan.h:2739
Definition: vulkan.h:2220
Definition: vulkan.h:2759
Definition: vulkan.h:2319
Definition: vulkan.h:2136
Definition: vulkan.h:2783
Definition: vulkan.h:3718
Definition: vulkan.h:2010
Definition: vulkan.h:3952
Definition: vulkan.h:2910
Definition: vulkan.h:4617
Definition: vulkan.h:4654
Definition: vulkan.h:2548
Definition: vulkan.h:4316
Definition: vulkan.h:3262
Definition: vulkan.h:2921
Definition: vulkan.h:2053
Definition: vulkan.h:2956
Definition: vulkan.h:3824
Definition: vulkan.h:4193
Definition: vulkan.h:3080
Definition: vulkan.h:2248
Definition: vulkan.h:2168
Definition: vulkan.h:2791
Definition: vulkan.h:3712
Definition: vulkan.h:2364
Definition: vulkan.h:2190
Definition: vulkan.h:3017
Definition: vulkan.h:2349
Definition: vulkan.h:3585
Definition: vulkan.h:4627
Definition: vulkan.h:3706
Definition: vulkan.h:4849
Definition: vulkan.h:2198
Definition: vulkan.h:3200
Definition: vulkan.h:2950
Definition: vulkan.h:3052
Definition: vulkan.h:2060
Definition: vulkan.h:3676
Definition: vulkan.h:4087
Definition: vulkan.h:4564
Definition: vulkan.h:4515
Definition: vulkan.h:3255
Definition: vulkan.h:3272
Definition: vulkan.h:2777
Definition: vulkan.h:3923
Definition: vulkan.h:2278
Definition: vulkan.h:2821
Definition: vulkan.h:2573
Definition: vulkan.h:2416
Definition: vulkan.h:2797
Definition: vulkan.h:3313
Definition: vulkan.h:3623
Definition: vulkan.h:2079
Definition: vulkan.h:3331
Definition: vulkan.h:3395
Definition: vulkan.h:3062
Definition: vulkan.h:3792
Definition: vulkan.h:3785
Definition: vulkan.h:3025
Definition: vulkan.h:3170
Definition: vulkan.h:4225
Definition: vulkan.h:3518
Definition: vulkan.h:2030
Definition: vulkan.h:3798
Definition: vulkan.h:3136
Definition: vulkan.h:4243
Definition: vulkan.h:2489
Definition: vulkan.h:3216
Definition: vulkan.h:2041
Definition: vulkan.h:3087
Definition: vulkan.h:2422
Definition: vulkan.h:3746
Definition: vulkan.h:3905
Definition: vulkan.h:2085
Definition: vulkan.h:2410
Definition: vulkan.h:3237
Definition: vulkan.h:2021
Definition: vulkan.h:2178
Definition: vulkan.h:2097
Definition: vulkan.h:2810
Definition: vulkan.h:2373
Definition: vulkan.h:2500
Definition: vulkan.h:2542
Definition: vulkan.h:3001
Definition: vulkan.h:2935
Definition: vulkan.h:2725
Definition: vulkan.h:3854
Definition: vulkan.h:2483
Definition: vulkan.h:2233
Definition: vulkan.h:3639
Definition: vulkan.h:1999
Definition: vulkan.h:4336
Definition: vulkan.h:4811
Definition: vulkan.h:3113
Definition: vulkan.h:4445
Definition: vulkan.h:4299
Definition: vulkan.h:2357
Definition: vulkan.h:2260
Definition: vulkan.h:2048
Definition: vulkan.h:2852
Definition: vulkan.h:1989
Definition: vulkan.h:2123
Definition: vulkan.h:3833
Definition: vulkan.h:2732
Definition: vulkan.h:2902
Definition: vulkan.h:2535
Definition: vulkan.h:4545
Definition: vulkan.h:2204
Definition: vulkan.h:3009
Definition: vulkan.h:2254
Definition: vulkan.h:3670
Definition: vulkan.h:4111
Definition: vulkan.h:4678
Definition: vulkan.h:2129
Definition: vulkan.h:4780
Definition: vulkan.h:2590
Definition: vulkan.h:2745
Definition: vulkan.h:3593
Definition: vulkan.h:3777
Definition: vulkan.h:2015
Definition: vulkan.h:2516
Definition: vulkan.h:3403
Definition: vulkan.h:2339
Definition: vulkan.h:2154
Definition: vulkan.h:3244
Definition: vulkan.h:2977
Definition: vulkan.h:3690
Definition: vulkan.h:2385
Definition: vulkan.h:2714
Definition: vulkan.h:4073
Definition: vulkan.h:2397
Definition: vulkan.h:2226
Definition: vulkan.h:3527
Definition: vulkan.h:4095
Definition: vulkan.h:3551
Definition: vulkan.h:3740
Definition: vulkan.h:3754
Definition: vulkan.h:2985
Definition: vulkan.h:4637
Definition: vulkan.h:2764
Definition: vulkan.h:2146
Definition: vulkan.h:3539
Definition: vulkan.h:2580
Definition: vulkan.h:2173
Definition: vulkan.h:3633
Definition: vulkan.h:2209
Definition: vulkan.h:2434
Definition: vulkan.h:3617
Definition: vulkan.h:3337
Definition: vulkan.h:4537
Definition: vulkan.h:3512
Definition: vulkan.h:4713
Definition: vulkan.h:2308
Definition: vulkan.h:3848
Definition: vulkan.h:3147
Definition: vulkan.h:2285
Definition: vulkan.h:3278
Definition: vulkan.h:3769
Definition: vulkan.h:2326
Definition: vulkan.h:3886
Definition: vulkan.h:2463
Definition: vulkan.h:4585
Definition: vulkan.h:4388
Definition: vulkan.h:2944
Definition: vulkan.h:2162
Definition: vulkan.h:4144
Definition: vulkan.h:3155
Definition: vulkan.h:2927
Definition: vulkan.h:4823
Definition: vulkan.h:2871
Definition: vulkan.h:3192
Definition: vulkan.h:3732
Definition: vulkan.h:3564
Definition: vulkan.h:3605
Definition: vulkan.h:3042
Definition: vulkan.h:4575
Definition: vulkan.h:2844
Definition: vulkan.h:4663
Definition: vulkan.h:4836
Definition: vulkan.h:4594
Definition: vulkan.h:4692
Definition: vulkan.h:2705