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

Generated with cgit - Back to sebastiano.tronto.net