Logo

index : raylib-jai

---

  • summary
  • about
  • tree
  • log
  • branches
<< path: root/public/raylib-jai.git/html/Raylib/raylib/src/external/glfw/deps/glad/vulkan.h blob: 469ffe5e008a51f1ae28aea7aa077500bf18b8fa [raw] [clear marker]

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