2 * Loader generated by glad 2.0.0-beta on Sun Apr 14 17:03:38 2019
15 * - HEADER_ONLY = False
20 * --api='vulkan=1.1' --extensions='VK_EXT_debug_report,VK_KHR_surface,VK_KHR_swapchain' c
23 * http://glad.sh/#api=vulkan%3D1.1&extensions=VK_EXT_debug_report%2CVK_KHR_surface%2CVK_KHR_swapchain&generator=c&options=
27 #ifndef GLAD_VULKAN_H_
28 #define GLAD_VULKAN_H_
31 #error header already included (API: vulkan), remove previous include!
36 #error header already included (API: vulkan), remove previous include!
38 #define VULKAN_CORE_H_ 1
47 #ifndef GLAD_PLATFORM_H_
48 #define GLAD_PLATFORM_H_
50 #ifndef GLAD_PLATFORM_WIN32
51 #if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__MINGW32__)
52 #define GLAD_PLATFORM_WIN32 1
54 #define GLAD_PLATFORM_WIN32 0
58 #ifndef GLAD_PLATFORM_APPLE
60 #define GLAD_PLATFORM_APPLE 1
62 #define GLAD_PLATFORM_APPLE 0
66 #ifndef GLAD_PLATFORM_EMSCRIPTEN
68 #define GLAD_PLATFORM_EMSCRIPTEN 1
70 #define GLAD_PLATFORM_EMSCRIPTEN 0
74 #ifndef GLAD_PLATFORM_UWP
75 #if defined(_MSC_VER) && !defined(GLAD_INTERNAL_HAVE_WINAPIFAMILY)
77 #if __has_include(<winapifamily.h>)
78 #define GLAD_INTERNAL_HAVE_WINAPIFAMILY 1
80 #elif _MSC_VER >= 1700 && !_USING_V110_SDK71_
81 #define GLAD_INTERNAL_HAVE_WINAPIFAMILY 1
85 #ifdef GLAD_INTERNAL_HAVE_WINAPIFAMILY
86 #include <winapifamily.h>
87 #if !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) && WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
88 #define GLAD_PLATFORM_UWP 1
92 #ifndef GLAD_PLATFORM_UWP
93 #define GLAD_PLATFORM_UWP 0
98 #define GLAD_GNUC_EXTENSION __extension__
100 #define GLAD_GNUC_EXTENSION
103 #ifndef GLAD_API_CALL
104 #if defined(GLAD_API_CALL_EXPORT)
105 #if GLAD_PLATFORM_WIN32 || defined(__CYGWIN__)
106 #if defined(GLAD_API_CALL_EXPORT_BUILD)
107 #if defined(__GNUC__)
108 #define GLAD_API_CALL __attribute__ ((dllexport)) extern
110 #define GLAD_API_CALL __declspec(dllexport) extern
113 #if defined(__GNUC__)
114 #define GLAD_API_CALL __attribute__ ((dllimport)) extern
116 #define GLAD_API_CALL __declspec(dllimport) extern
119 #elif defined(__GNUC__) && defined(GLAD_API_CALL_EXPORT_BUILD)
120 #define GLAD_API_CALL __attribute__ ((visibility ("default"))) extern
122 #define GLAD_API_CALL extern
125 #define GLAD_API_CALL extern
130 #define GLAD_API_PTR APIENTRY
131 #elif GLAD_PLATFORM_WIN32
132 #define GLAD_API_PTR __stdcall
138 #define GLAPI GLAD_API_CALL
142 #define GLAPIENTRY GLAD_API_PTR
146 #define GLAD_MAKE_VERSION(major, minor) (major * 10000 + minor)
147 #define GLAD_VERSION_MAJOR(version) (version / 10000)
148 #define GLAD_VERSION_MINOR(version) (version % 10000)
150 typedef void (*GLADapiproc)(void);
152 typedef GLADapiproc (*GLADloadfunc)(const char *name);
153 typedef GLADapiproc (*GLADuserptrloadfunc)(const char *name, void *userptr);
155 typedef void (*GLADprecallback)(const char *name, GLADapiproc apiproc, int len_args, ...);
156 typedef void (*GLADpostcallback)(void *ret, const char *name, GLADapiproc apiproc, int len_args, ...);
158 #endif /* GLAD_PLATFORM_H_ */
160 #define VK_ATTACHMENT_UNUSED (~0U)
161 #define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report"
162 #define VK_EXT_DEBUG_REPORT_SPEC_VERSION 9
164 #define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface"
165 #define VK_KHR_SURFACE_SPEC_VERSION 25
166 #define VK_KHR_SWAPCHAIN_EXTENSION_NAME "VK_KHR_swapchain"
167 #define VK_KHR_SWAPCHAIN_SPEC_VERSION 70
168 #define VK_LOD_CLAMP_NONE 1000.0f
169 #define VK_LUID_SIZE 8
170 #define VK_MAX_DESCRIPTION_SIZE 256
171 #define VK_MAX_DEVICE_GROUP_SIZE 32
172 #define VK_MAX_EXTENSION_NAME_SIZE 256
173 #define VK_MAX_MEMORY_HEAPS 16
174 #define VK_MAX_MEMORY_TYPES 32
175 #define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE 256
176 #define VK_QUEUE_FAMILY_EXTERNAL (~0U-1)
177 #define VK_QUEUE_FAMILY_IGNORED (~0U)
178 #define VK_REMAINING_ARRAY_LAYERS (~0U)
179 #define VK_REMAINING_MIP_LEVELS (~0U)
180 #define VK_SUBPASS_EXTERNAL (~0U)
182 #define VK_UUID_SIZE 16
183 #define VK_WHOLE_SIZE (~0ULL)
186 #include <glad/vk_platform.h>
187 #define VK_MAKE_VERSION(major, minor, patch) \
188 (((major) << 22) | ((minor) << 12) | (patch))
189 #define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22)
190 #define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3ff)
191 #define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xfff)
192 /* 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. */
193 /*#define VK_API_VERSION VK_MAKE_VERSION(1, 0, 0) // Patch version should always be set to 0 */
194 /* Vulkan 1.0 version number */
195 #define VK_API_VERSION_1_0 VK_MAKE_VERSION(1, 0, 0)/* Patch version should always be set to 0 */
196 /* Vulkan 1.1 version number */
197 #define VK_API_VERSION_1_1 VK_MAKE_VERSION(1, 1, 0)/* Patch version should always be set to 0 */
198 /* Version of this file */
199 #define VK_HEADER_VERSION 106
200 #define VK_DEFINE_HANDLE(object) typedef struct object##_T* object;
201 #if !defined(VK_DEFINE_NON_DISPATCHABLE_HANDLE)
202 #if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__)
203 #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object;
205 #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t object;
208 #define VK_NULL_HANDLE 0
217 VK_DEFINE_HANDLE(VkInstance)
218 VK_DEFINE_HANDLE(VkPhysicalDevice)
219 VK_DEFINE_HANDLE(VkDevice)
220 VK_DEFINE_HANDLE(VkQueue)
221 VK_DEFINE_HANDLE(VkCommandBuffer)
222 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeviceMemory)
223 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool)
224 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer)
225 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferView)
226 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage)
227 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImageView)
228 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderModule)
229 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipeline)
230 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineLayout)
231 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSampler)
232 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSet)
233 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout)
234 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool)
235 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFence)
236 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphore)
237 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkEvent)
238 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkQueryPool)
239 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer)
240 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass)
241 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache)
242 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate)
243 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion)
244 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR)
245 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR)
246 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT)
247 typedef enum VkAttachmentLoadOp {
248 VK_ATTACHMENT_LOAD_OP_LOAD = 0,
249 VK_ATTACHMENT_LOAD_OP_CLEAR = 1,
250 VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2
251 } VkAttachmentLoadOp;
252 typedef enum VkAttachmentStoreOp {
253 VK_ATTACHMENT_STORE_OP_STORE = 0,
254 VK_ATTACHMENT_STORE_OP_DONT_CARE = 1
255 } VkAttachmentStoreOp;
256 typedef enum VkBlendFactor {
257 VK_BLEND_FACTOR_ZERO = 0,
258 VK_BLEND_FACTOR_ONE = 1,
259 VK_BLEND_FACTOR_SRC_COLOR = 2,
260 VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3,
261 VK_BLEND_FACTOR_DST_COLOR = 4,
262 VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5,
263 VK_BLEND_FACTOR_SRC_ALPHA = 6,
264 VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7,
265 VK_BLEND_FACTOR_DST_ALPHA = 8,
266 VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9,
267 VK_BLEND_FACTOR_CONSTANT_COLOR = 10,
268 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11,
269 VK_BLEND_FACTOR_CONSTANT_ALPHA = 12,
270 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13,
271 VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14,
272 VK_BLEND_FACTOR_SRC1_COLOR = 15,
273 VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16,
274 VK_BLEND_FACTOR_SRC1_ALPHA = 17,
275 VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18
277 typedef enum VkBlendOp {
279 VK_BLEND_OP_SUBTRACT = 1,
280 VK_BLEND_OP_REVERSE_SUBTRACT = 2,
284 typedef enum VkBorderColor {
285 VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0,
286 VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1,
287 VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2,
288 VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3,
289 VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4,
290 VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5
293 typedef enum VkPipelineCacheHeaderVersion {
294 VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1
295 } VkPipelineCacheHeaderVersion;
297 typedef enum VkDeviceQueueCreateFlagBits {
298 VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT = 1
299 } VkDeviceQueueCreateFlagBits;
300 typedef enum VkBufferCreateFlagBits {
301 VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 1,
302 VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 2,
303 VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 4,
304 VK_BUFFER_CREATE_PROTECTED_BIT = 8
305 } VkBufferCreateFlagBits;
306 typedef enum VkBufferUsageFlagBits {
307 VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 1,
308 VK_BUFFER_USAGE_TRANSFER_DST_BIT = 2,
309 VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 4,
310 VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 8,
311 VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 16,
312 VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 32,
313 VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 64,
314 VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 128,
315 VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 256
316 } VkBufferUsageFlagBits;
317 typedef enum VkColorComponentFlagBits {
318 VK_COLOR_COMPONENT_R_BIT = 1,
319 VK_COLOR_COMPONENT_G_BIT = 2,
320 VK_COLOR_COMPONENT_B_BIT = 4,
321 VK_COLOR_COMPONENT_A_BIT = 8
322 } VkColorComponentFlagBits;
323 typedef enum VkComponentSwizzle {
324 VK_COMPONENT_SWIZZLE_IDENTITY = 0,
325 VK_COMPONENT_SWIZZLE_ZERO = 1,
326 VK_COMPONENT_SWIZZLE_ONE = 2,
327 VK_COMPONENT_SWIZZLE_R = 3,
328 VK_COMPONENT_SWIZZLE_G = 4,
329 VK_COMPONENT_SWIZZLE_B = 5,
330 VK_COMPONENT_SWIZZLE_A = 6
331 } VkComponentSwizzle;
332 typedef enum VkCommandPoolCreateFlagBits {
333 VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 1,
334 VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 2,
335 VK_COMMAND_POOL_CREATE_PROTECTED_BIT = 4
336 } VkCommandPoolCreateFlagBits;
337 typedef enum VkCommandPoolResetFlagBits {
338 VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 1
339 } VkCommandPoolResetFlagBits;
340 typedef enum VkCommandBufferResetFlagBits {
341 VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 1
342 } VkCommandBufferResetFlagBits;
343 typedef enum VkCommandBufferLevel {
344 VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0,
345 VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1
346 } VkCommandBufferLevel;
347 typedef enum VkCommandBufferUsageFlagBits {
348 VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 1,
349 VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 2,
350 VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 4
351 } VkCommandBufferUsageFlagBits;
352 typedef enum VkCompareOp {
353 VK_COMPARE_OP_NEVER = 0,
354 VK_COMPARE_OP_LESS = 1,
355 VK_COMPARE_OP_EQUAL = 2,
356 VK_COMPARE_OP_LESS_OR_EQUAL = 3,
357 VK_COMPARE_OP_GREATER = 4,
358 VK_COMPARE_OP_NOT_EQUAL = 5,
359 VK_COMPARE_OP_GREATER_OR_EQUAL = 6,
360 VK_COMPARE_OP_ALWAYS = 7
362 typedef enum VkCullModeFlagBits {
363 VK_CULL_MODE_NONE = 0,
364 VK_CULL_MODE_FRONT_BIT = 1,
365 VK_CULL_MODE_BACK_BIT = 2,
366 VK_CULL_MODE_FRONT_AND_BACK = 0x00000003
367 } VkCullModeFlagBits;
368 typedef enum VkDescriptorType {
369 VK_DESCRIPTOR_TYPE_SAMPLER = 0,
370 VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1,
371 VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2,
372 VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3,
373 VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4,
374 VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5,
375 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6,
376 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7,
377 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8,
378 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9,
379 VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10
381 typedef enum VkDynamicState {
382 VK_DYNAMIC_STATE_VIEWPORT = 0,
383 VK_DYNAMIC_STATE_SCISSOR = 1,
384 VK_DYNAMIC_STATE_LINE_WIDTH = 2,
385 VK_DYNAMIC_STATE_DEPTH_BIAS = 3,
386 VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4,
387 VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5,
388 VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6,
389 VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7,
390 VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8,
391 VK_DYNAMIC_STATE_RANGE_SIZE = (VK_DYNAMIC_STATE_STENCIL_REFERENCE - VK_DYNAMIC_STATE_VIEWPORT + 1)
393 typedef enum VkFenceCreateFlagBits {
394 VK_FENCE_CREATE_SIGNALED_BIT = 1
395 } VkFenceCreateFlagBits;
396 typedef enum VkPolygonMode {
397 VK_POLYGON_MODE_FILL = 0,
398 VK_POLYGON_MODE_LINE = 1,
399 VK_POLYGON_MODE_POINT = 2
401 typedef enum VkFormat {
402 VK_FORMAT_UNDEFINED = 0,
403 VK_FORMAT_R4G4_UNORM_PACK8 = 1,
404 VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2,
405 VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3,
406 VK_FORMAT_R5G6B5_UNORM_PACK16 = 4,
407 VK_FORMAT_B5G6R5_UNORM_PACK16 = 5,
408 VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6,
409 VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7,
410 VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8,
411 VK_FORMAT_R8_UNORM = 9,
412 VK_FORMAT_R8_SNORM = 10,
413 VK_FORMAT_R8_USCALED = 11,
414 VK_FORMAT_R8_SSCALED = 12,
415 VK_FORMAT_R8_UINT = 13,
416 VK_FORMAT_R8_SINT = 14,
417 VK_FORMAT_R8_SRGB = 15,
418 VK_FORMAT_R8G8_UNORM = 16,
419 VK_FORMAT_R8G8_SNORM = 17,
420 VK_FORMAT_R8G8_USCALED = 18,
421 VK_FORMAT_R8G8_SSCALED = 19,
422 VK_FORMAT_R8G8_UINT = 20,
423 VK_FORMAT_R8G8_SINT = 21,
424 VK_FORMAT_R8G8_SRGB = 22,
425 VK_FORMAT_R8G8B8_UNORM = 23,
426 VK_FORMAT_R8G8B8_SNORM = 24,
427 VK_FORMAT_R8G8B8_USCALED = 25,
428 VK_FORMAT_R8G8B8_SSCALED = 26,
429 VK_FORMAT_R8G8B8_UINT = 27,
430 VK_FORMAT_R8G8B8_SINT = 28,
431 VK_FORMAT_R8G8B8_SRGB = 29,
432 VK_FORMAT_B8G8R8_UNORM = 30,
433 VK_FORMAT_B8G8R8_SNORM = 31,
434 VK_FORMAT_B8G8R8_USCALED = 32,
435 VK_FORMAT_B8G8R8_SSCALED = 33,
436 VK_FORMAT_B8G8R8_UINT = 34,
437 VK_FORMAT_B8G8R8_SINT = 35,
438 VK_FORMAT_B8G8R8_SRGB = 36,
439 VK_FORMAT_R8G8B8A8_UNORM = 37,
440 VK_FORMAT_R8G8B8A8_SNORM = 38,
441 VK_FORMAT_R8G8B8A8_USCALED = 39,
442 VK_FORMAT_R8G8B8A8_SSCALED = 40,
443 VK_FORMAT_R8G8B8A8_UINT = 41,
444 VK_FORMAT_R8G8B8A8_SINT = 42,
445 VK_FORMAT_R8G8B8A8_SRGB = 43,
446 VK_FORMAT_B8G8R8A8_UNORM = 44,
447 VK_FORMAT_B8G8R8A8_SNORM = 45,
448 VK_FORMAT_B8G8R8A8_USCALED = 46,
449 VK_FORMAT_B8G8R8A8_SSCALED = 47,
450 VK_FORMAT_B8G8R8A8_UINT = 48,
451 VK_FORMAT_B8G8R8A8_SINT = 49,
452 VK_FORMAT_B8G8R8A8_SRGB = 50,
453 VK_FORMAT_A8B8G8R8_UNORM_PACK32 = 51,
454 VK_FORMAT_A8B8G8R8_SNORM_PACK32 = 52,
455 VK_FORMAT_A8B8G8R8_USCALED_PACK32 = 53,
456 VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54,
457 VK_FORMAT_A8B8G8R8_UINT_PACK32 = 55,
458 VK_FORMAT_A8B8G8R8_SINT_PACK32 = 56,
459 VK_FORMAT_A8B8G8R8_SRGB_PACK32 = 57,
460 VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58,
461 VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59,
462 VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 60,
463 VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61,
464 VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62,
465 VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63,
466 VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64,
467 VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65,
468 VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 66,
469 VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67,
470 VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68,
471 VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69,
472 VK_FORMAT_R16_UNORM = 70,
473 VK_FORMAT_R16_SNORM = 71,
474 VK_FORMAT_R16_USCALED = 72,
475 VK_FORMAT_R16_SSCALED = 73,
476 VK_FORMAT_R16_UINT = 74,
477 VK_FORMAT_R16_SINT = 75,
478 VK_FORMAT_R16_SFLOAT = 76,
479 VK_FORMAT_R16G16_UNORM = 77,
480 VK_FORMAT_R16G16_SNORM = 78,
481 VK_FORMAT_R16G16_USCALED = 79,
482 VK_FORMAT_R16G16_SSCALED = 80,
483 VK_FORMAT_R16G16_UINT = 81,
484 VK_FORMAT_R16G16_SINT = 82,
485 VK_FORMAT_R16G16_SFLOAT = 83,
486 VK_FORMAT_R16G16B16_UNORM = 84,
487 VK_FORMAT_R16G16B16_SNORM = 85,
488 VK_FORMAT_R16G16B16_USCALED = 86,
489 VK_FORMAT_R16G16B16_SSCALED = 87,
490 VK_FORMAT_R16G16B16_UINT = 88,
491 VK_FORMAT_R16G16B16_SINT = 89,
492 VK_FORMAT_R16G16B16_SFLOAT = 90,
493 VK_FORMAT_R16G16B16A16_UNORM = 91,
494 VK_FORMAT_R16G16B16A16_SNORM = 92,
495 VK_FORMAT_R16G16B16A16_USCALED = 93,
496 VK_FORMAT_R16G16B16A16_SSCALED = 94,
497 VK_FORMAT_R16G16B16A16_UINT = 95,
498 VK_FORMAT_R16G16B16A16_SINT = 96,
499 VK_FORMAT_R16G16B16A16_SFLOAT = 97,
500 VK_FORMAT_R32_UINT = 98,
501 VK_FORMAT_R32_SINT = 99,
502 VK_FORMAT_R32_SFLOAT = 100,
503 VK_FORMAT_R32G32_UINT = 101,
504 VK_FORMAT_R32G32_SINT = 102,
505 VK_FORMAT_R32G32_SFLOAT = 103,
506 VK_FORMAT_R32G32B32_UINT = 104,
507 VK_FORMAT_R32G32B32_SINT = 105,
508 VK_FORMAT_R32G32B32_SFLOAT = 106,
509 VK_FORMAT_R32G32B32A32_UINT = 107,
510 VK_FORMAT_R32G32B32A32_SINT = 108,
511 VK_FORMAT_R32G32B32A32_SFLOAT = 109,
512 VK_FORMAT_R64_UINT = 110,
513 VK_FORMAT_R64_SINT = 111,
514 VK_FORMAT_R64_SFLOAT = 112,
515 VK_FORMAT_R64G64_UINT = 113,
516 VK_FORMAT_R64G64_SINT = 114,
517 VK_FORMAT_R64G64_SFLOAT = 115,
518 VK_FORMAT_R64G64B64_UINT = 116,
519 VK_FORMAT_R64G64B64_SINT = 117,
520 VK_FORMAT_R64G64B64_SFLOAT = 118,
521 VK_FORMAT_R64G64B64A64_UINT = 119,
522 VK_FORMAT_R64G64B64A64_SINT = 120,
523 VK_FORMAT_R64G64B64A64_SFLOAT = 121,
524 VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122,
525 VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123,
526 VK_FORMAT_D16_UNORM = 124,
527 VK_FORMAT_X8_D24_UNORM_PACK32 = 125,
528 VK_FORMAT_D32_SFLOAT = 126,
529 VK_FORMAT_S8_UINT = 127,
530 VK_FORMAT_D16_UNORM_S8_UINT = 128,
531 VK_FORMAT_D24_UNORM_S8_UINT = 129,
532 VK_FORMAT_D32_SFLOAT_S8_UINT = 130,
533 VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131,
534 VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132,
535 VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133,
536 VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134,
537 VK_FORMAT_BC2_UNORM_BLOCK = 135,
538 VK_FORMAT_BC2_SRGB_BLOCK = 136,
539 VK_FORMAT_BC3_UNORM_BLOCK = 137,
540 VK_FORMAT_BC3_SRGB_BLOCK = 138,
541 VK_FORMAT_BC4_UNORM_BLOCK = 139,
542 VK_FORMAT_BC4_SNORM_BLOCK = 140,
543 VK_FORMAT_BC5_UNORM_BLOCK = 141,
544 VK_FORMAT_BC5_SNORM_BLOCK = 142,
545 VK_FORMAT_BC6H_UFLOAT_BLOCK = 143,
546 VK_FORMAT_BC6H_SFLOAT_BLOCK = 144,
547 VK_FORMAT_BC7_UNORM_BLOCK = 145,
548 VK_FORMAT_BC7_SRGB_BLOCK = 146,
549 VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147,
550 VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148,
551 VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149,
552 VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150,
553 VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151,
554 VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152,
555 VK_FORMAT_EAC_R11_UNORM_BLOCK = 153,
556 VK_FORMAT_EAC_R11_SNORM_BLOCK = 154,
557 VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155,
558 VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156,
559 VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157,
560 VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158,
561 VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159,
562 VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160,
563 VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161,
564 VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162,
565 VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163,
566 VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164,
567 VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165,
568 VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166,
569 VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167,
570 VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168,
571 VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169,
572 VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170,
573 VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171,
574 VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172,
575 VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173,
576 VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174,
577 VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175,
578 VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176,
579 VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177,
580 VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178,
581 VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179,
582 VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180,
583 VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181,
584 VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182,
585 VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183,
586 VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184,
587 VK_FORMAT_G8B8G8R8_422_UNORM = 1000156000,
588 VK_FORMAT_B8G8R8G8_422_UNORM = 1000156001,
589 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM = 1000156002,
590 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM = 1000156003,
591 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM = 1000156004,
592 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM = 1000156005,
593 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM = 1000156006,
594 VK_FORMAT_R10X6_UNORM_PACK16 = 1000156007,
595 VK_FORMAT_R10X6G10X6_UNORM_2PACK16 = 1000156008,
596 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 1000156009,
597 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 1000156010,
598 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 1000156011,
599 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 1000156012,
600 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 1000156013,
601 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 1000156014,
602 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 1000156015,
603 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 1000156016,
604 VK_FORMAT_R12X4_UNORM_PACK16 = 1000156017,
605 VK_FORMAT_R12X4G12X4_UNORM_2PACK16 = 1000156018,
606 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 1000156019,
607 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 1000156020,
608 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 1000156021,
609 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 1000156022,
610 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 1000156023,
611 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 1000156024,
612 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 1000156025,
613 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 1000156026,
614 VK_FORMAT_G16B16G16R16_422_UNORM = 1000156027,
615 VK_FORMAT_B16G16R16G16_422_UNORM = 1000156028,
616 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM = 1000156029,
617 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM = 1000156030,
618 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM = 1000156031,
619 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM = 1000156032,
620 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM = 1000156033
622 typedef enum VkFormatFeatureFlagBits {
623 VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 1,
624 VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 2,
625 VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 4,
626 VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 8,
627 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 16,
628 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 32,
629 VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 64,
630 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 128,
631 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 256,
632 VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 512,
633 VK_FORMAT_FEATURE_BLIT_SRC_BIT = 1024,
634 VK_FORMAT_FEATURE_BLIT_DST_BIT = 2048,
635 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 4096,
636 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT = 16384,
637 VK_FORMAT_FEATURE_TRANSFER_DST_BIT = 32768,
638 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT = 131072,
639 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 262144,
640 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 524288,
641 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 1048576,
642 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 2097152,
643 VK_FORMAT_FEATURE_DISJOINT_BIT = 4194304,
644 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT = 8388608
645 } VkFormatFeatureFlagBits;
646 typedef enum VkFrontFace {
647 VK_FRONT_FACE_COUNTER_CLOCKWISE = 0,
648 VK_FRONT_FACE_CLOCKWISE = 1
650 typedef enum VkImageAspectFlagBits {
651 VK_IMAGE_ASPECT_COLOR_BIT = 1,
652 VK_IMAGE_ASPECT_DEPTH_BIT = 2,
653 VK_IMAGE_ASPECT_STENCIL_BIT = 4,
654 VK_IMAGE_ASPECT_METADATA_BIT = 8,
655 VK_IMAGE_ASPECT_PLANE_0_BIT = 16,
656 VK_IMAGE_ASPECT_PLANE_1_BIT = 32,
657 VK_IMAGE_ASPECT_PLANE_2_BIT = 64
658 } VkImageAspectFlagBits;
659 typedef enum VkImageCreateFlagBits {
660 VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 1,
661 VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 2,
662 VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 4,
663 VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 8,
664 VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 16,
665 VK_IMAGE_CREATE_ALIAS_BIT = 1024,
666 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT = 64,
667 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT = 32,
668 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT = 128,
669 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT = 256,
670 VK_IMAGE_CREATE_PROTECTED_BIT = 2048,
671 VK_IMAGE_CREATE_DISJOINT_BIT = 512
672 } VkImageCreateFlagBits;
673 typedef enum VkImageLayout {
674 VK_IMAGE_LAYOUT_UNDEFINED = 0,
675 VK_IMAGE_LAYOUT_GENERAL = 1,
676 VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2,
677 VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3,
678 VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4,
679 VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5,
680 VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6,
681 VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7,
682 VK_IMAGE_LAYOUT_PREINITIALIZED = 8,
683 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL = 1000117000,
684 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL = 1000117001,
685 VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002
687 typedef enum VkImageTiling {
688 VK_IMAGE_TILING_OPTIMAL = 0,
689 VK_IMAGE_TILING_LINEAR = 1
691 typedef enum VkImageType {
692 VK_IMAGE_TYPE_1D = 0,
693 VK_IMAGE_TYPE_2D = 1,
696 typedef enum VkImageUsageFlagBits {
697 VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 1,
698 VK_IMAGE_USAGE_TRANSFER_DST_BIT = 2,
699 VK_IMAGE_USAGE_SAMPLED_BIT = 4,
700 VK_IMAGE_USAGE_STORAGE_BIT = 8,
701 VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 16,
702 VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 32,
703 VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 64,
704 VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 128
705 } VkImageUsageFlagBits;
707 typedef enum VkImageViewType {
708 VK_IMAGE_VIEW_TYPE_1D = 0,
709 VK_IMAGE_VIEW_TYPE_2D = 1,
710 VK_IMAGE_VIEW_TYPE_3D = 2,
711 VK_IMAGE_VIEW_TYPE_CUBE = 3,
712 VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4,
713 VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5,
714 VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6
716 typedef enum VkSharingMode {
717 VK_SHARING_MODE_EXCLUSIVE = 0,
718 VK_SHARING_MODE_CONCURRENT = 1
720 typedef enum VkIndexType {
721 VK_INDEX_TYPE_UINT16 = 0,
722 VK_INDEX_TYPE_UINT32 = 1
724 typedef enum VkLogicOp {
725 VK_LOGIC_OP_CLEAR = 0,
727 VK_LOGIC_OP_AND_REVERSE = 2,
728 VK_LOGIC_OP_COPY = 3,
729 VK_LOGIC_OP_AND_INVERTED = 4,
730 VK_LOGIC_OP_NO_OP = 5,
734 VK_LOGIC_OP_EQUIVALENT = 9,
735 VK_LOGIC_OP_INVERT = 10,
736 VK_LOGIC_OP_OR_REVERSE = 11,
737 VK_LOGIC_OP_COPY_INVERTED = 12,
738 VK_LOGIC_OP_OR_INVERTED = 13,
739 VK_LOGIC_OP_NAND = 14,
742 typedef enum VkMemoryHeapFlagBits {
743 VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 1,
744 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = 2
745 } VkMemoryHeapFlagBits;
746 typedef enum VkAccessFlagBits {
747 VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 1,
748 VK_ACCESS_INDEX_READ_BIT = 2,
749 VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 4,
750 VK_ACCESS_UNIFORM_READ_BIT = 8,
751 VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 16,
752 VK_ACCESS_SHADER_READ_BIT = 32,
753 VK_ACCESS_SHADER_WRITE_BIT = 64,
754 VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 128,
755 VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 256,
756 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 512,
757 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 1024,
758 VK_ACCESS_TRANSFER_READ_BIT = 2048,
759 VK_ACCESS_TRANSFER_WRITE_BIT = 4096,
760 VK_ACCESS_HOST_READ_BIT = 8192,
761 VK_ACCESS_HOST_WRITE_BIT = 16384,
762 VK_ACCESS_MEMORY_READ_BIT = 32768,
763 VK_ACCESS_MEMORY_WRITE_BIT = 65536
765 typedef enum VkMemoryPropertyFlagBits {
766 VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 1,
767 VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 2,
768 VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 4,
769 VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 8,
770 VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 16,
771 VK_MEMORY_PROPERTY_PROTECTED_BIT = 32
772 } VkMemoryPropertyFlagBits;
773 typedef enum VkPhysicalDeviceType {
774 VK_PHYSICAL_DEVICE_TYPE_OTHER = 0,
775 VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1,
776 VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2,
777 VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3,
778 VK_PHYSICAL_DEVICE_TYPE_CPU = 4
779 } VkPhysicalDeviceType;
780 typedef enum VkPipelineBindPoint {
781 VK_PIPELINE_BIND_POINT_GRAPHICS = 0,
782 VK_PIPELINE_BIND_POINT_COMPUTE = 1
783 } VkPipelineBindPoint;
784 typedef enum VkPipelineCreateFlagBits {
785 VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 1,
786 VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 2,
787 VK_PIPELINE_CREATE_DERIVATIVE_BIT = 4,
788 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 8,
789 VK_PIPELINE_CREATE_DISPATCH_BASE = 16
790 } VkPipelineCreateFlagBits;
791 typedef enum VkPrimitiveTopology {
792 VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0,
793 VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1,
794 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2,
795 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3,
796 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4,
797 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5,
798 VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6,
799 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7,
800 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8,
801 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9,
802 VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10
803 } VkPrimitiveTopology;
804 typedef enum VkQueryControlFlagBits {
805 VK_QUERY_CONTROL_PRECISE_BIT = 1
806 } VkQueryControlFlagBits;
807 typedef enum VkQueryPipelineStatisticFlagBits {
808 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 1,
809 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 2,
810 VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 4,
811 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 8,
812 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 16,
813 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 32,
814 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 64,
815 VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 128,
816 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 256,
817 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 512,
818 VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 1024
819 } VkQueryPipelineStatisticFlagBits;
820 typedef enum VkQueryResultFlagBits {
821 VK_QUERY_RESULT_64_BIT = 1,
822 VK_QUERY_RESULT_WAIT_BIT = 2,
823 VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 4,
824 VK_QUERY_RESULT_PARTIAL_BIT = 8
825 } VkQueryResultFlagBits;
826 typedef enum VkQueryType {
827 VK_QUERY_TYPE_OCCLUSION = 0,
828 VK_QUERY_TYPE_PIPELINE_STATISTICS = 1,
829 VK_QUERY_TYPE_TIMESTAMP = 2
831 typedef enum VkQueueFlagBits {
832 VK_QUEUE_GRAPHICS_BIT = 1,
833 VK_QUEUE_COMPUTE_BIT = 2,
834 VK_QUEUE_TRANSFER_BIT = 4,
835 VK_QUEUE_SPARSE_BINDING_BIT = 8,
836 VK_QUEUE_PROTECTED_BIT = 16
838 typedef enum VkSubpassContents {
839 VK_SUBPASS_CONTENTS_INLINE = 0,
840 VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1
842 typedef enum VkResult {
849 VK_ERROR_OUT_OF_HOST_MEMORY = -1,
850 VK_ERROR_OUT_OF_DEVICE_MEMORY = -2,
851 VK_ERROR_INITIALIZATION_FAILED = -3,
852 VK_ERROR_DEVICE_LOST = -4,
853 VK_ERROR_MEMORY_MAP_FAILED = -5,
854 VK_ERROR_LAYER_NOT_PRESENT = -6,
855 VK_ERROR_EXTENSION_NOT_PRESENT = -7,
856 VK_ERROR_FEATURE_NOT_PRESENT = -8,
857 VK_ERROR_INCOMPATIBLE_DRIVER = -9,
858 VK_ERROR_TOO_MANY_OBJECTS = -10,
859 VK_ERROR_FORMAT_NOT_SUPPORTED = -11,
860 VK_ERROR_FRAGMENTED_POOL = -12,
861 VK_ERROR_OUT_OF_POOL_MEMORY = -1000069000,
862 VK_ERROR_INVALID_EXTERNAL_HANDLE = -1000072003,
863 VK_ERROR_SURFACE_LOST_KHR = -1000000000,
864 VK_ERROR_NATIVE_WINDOW_IN_USE_KHR = -1000000001,
865 VK_SUBOPTIMAL_KHR = 1000001003,
866 VK_ERROR_OUT_OF_DATE_KHR = -1000001004,
867 VK_ERROR_VALIDATION_FAILED_EXT = -1000011001
869 typedef enum VkShaderStageFlagBits {
870 VK_SHADER_STAGE_VERTEX_BIT = 1,
871 VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 2,
872 VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 4,
873 VK_SHADER_STAGE_GEOMETRY_BIT = 8,
874 VK_SHADER_STAGE_FRAGMENT_BIT = 16,
875 VK_SHADER_STAGE_COMPUTE_BIT = 32,
876 VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001F,
877 VK_SHADER_STAGE_ALL = 0x7FFFFFFF
878 } VkShaderStageFlagBits;
879 typedef enum VkSparseMemoryBindFlagBits {
880 VK_SPARSE_MEMORY_BIND_METADATA_BIT = 1
881 } VkSparseMemoryBindFlagBits;
882 typedef enum VkStencilFaceFlagBits {
883 VK_STENCIL_FACE_FRONT_BIT = 1,
884 VK_STENCIL_FACE_BACK_BIT = 2,
885 VK_STENCIL_FRONT_AND_BACK = 0x00000003
886 } VkStencilFaceFlagBits;
887 typedef enum VkStencilOp {
888 VK_STENCIL_OP_KEEP = 0,
889 VK_STENCIL_OP_ZERO = 1,
890 VK_STENCIL_OP_REPLACE = 2,
891 VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3,
892 VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4,
893 VK_STENCIL_OP_INVERT = 5,
894 VK_STENCIL_OP_INCREMENT_AND_WRAP = 6,
895 VK_STENCIL_OP_DECREMENT_AND_WRAP = 7
897 typedef enum VkStructureType {
898 VK_STRUCTURE_TYPE_APPLICATION_INFO = 0,
899 VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = 1,
900 VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO = 2,
901 VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO = 3,
902 VK_STRUCTURE_TYPE_SUBMIT_INFO = 4,
903 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO = 5,
904 VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = 6,
905 VK_STRUCTURE_TYPE_BIND_SPARSE_INFO = 7,
906 VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = 8,
907 VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO = 9,
908 VK_STRUCTURE_TYPE_EVENT_CREATE_INFO = 10,
909 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO = 11,
910 VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = 12,
911 VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO = 13,
912 VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = 14,
913 VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO = 15,
914 VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO = 16,
915 VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO = 17,
916 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO = 18,
917 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO = 19,
918 VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO = 20,
919 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO = 21,
920 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO = 22,
921 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO = 23,
922 VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO = 24,
923 VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO = 25,
924 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO = 26,
925 VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO = 27,
926 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO = 28,
927 VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO = 29,
928 VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO = 30,
929 VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO = 31,
930 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO = 32,
931 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO = 33,
932 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO = 34,
933 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = 35,
934 VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = 36,
935 VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO = 37,
936 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO = 38,
937 VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO = 39,
938 VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO = 40,
939 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO = 41,
940 VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO = 42,
941 VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = 43,
942 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER = 44,
943 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = 45,
944 VK_STRUCTURE_TYPE_MEMORY_BARRIER = 46,
945 VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO = 47,
946 VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO = 48,
947 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES = 1000094000,
948 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO = 1000157000,
949 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO = 1000157001,
950 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES = 1000083000,
951 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS = 1000127000,
952 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO = 1000127001,
953 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO = 1000060000,
954 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO = 1000060003,
955 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO = 1000060004,
956 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO = 1000060005,
957 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO = 1000060006,
958 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO = 1000060013,
959 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO = 1000060014,
960 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES = 1000070000,
961 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO = 1000070001,
962 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 = 1000146000,
963 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 = 1000146001,
964 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 = 1000146002,
965 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 = 1000146003,
966 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 = 1000146004,
967 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 = 1000059000,
968 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 = 1000059001,
969 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 = 1000059002,
970 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 = 1000059003,
971 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 = 1000059004,
972 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 = 1000059005,
973 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 = 1000059006,
974 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 = 1000059007,
975 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 = 1000059008,
976 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES = 1000117000,
977 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO = 1000117001,
978 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO = 1000117002,
979 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO = 1000117003,
980 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO = 1000053000,
981 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES = 1000053001,
982 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES = 1000053002,
983 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES = 1000120000,
984 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
985 VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO = 1000145000,
986 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES = 1000145001,
987 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES = 1000145002,
988 VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 = 1000145003,
989 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO = 1000156000,
990 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO = 1000156001,
991 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO = 1000156002,
992 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO = 1000156003,
993 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES = 1000156004,
994 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES = 1000156005,
995 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO = 1000085000,
996 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO = 1000071000,
997 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES = 1000071001,
998 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO = 1000071002,
999 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES = 1000071003,
1000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES = 1000071004,
1001 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO = 1000072000,
1002 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO = 1000072001,
1003 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO = 1000072002,
1004 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO = 1000112000,
1005 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES = 1000112001,
1006 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO = 1000113000,
1007 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO = 1000077000,
1008 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO = 1000076000,
1009 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES = 1000076001,
1010 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES = 1000168000,
1011 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT = 1000168001,
1012 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES = 1000063000,
1013 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
1014 VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR = 1000001000,
1015 VK_STRUCTURE_TYPE_PRESENT_INFO_KHR = 1000001001,
1016 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR = 1000060007,
1017 VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR = 1000060008,
1018 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR = 1000060009,
1019 VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR = 1000060010,
1020 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR = 1000060011,
1021 VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR = 1000060012,
1022 VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT = 1000011000,
1023 VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT
1025 typedef enum VkSystemAllocationScope {
1026 VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0,
1027 VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1,
1028 VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2,
1029 VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3,
1030 VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4
1031 } VkSystemAllocationScope;
1032 typedef enum VkInternalAllocationType {
1033 VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0
1034 } VkInternalAllocationType;
1035 typedef enum VkSamplerAddressMode {
1036 VK_SAMPLER_ADDRESS_MODE_REPEAT = 0,
1037 VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1,
1038 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2,
1039 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3
1040 } VkSamplerAddressMode;
1041 typedef enum VkFilter {
1042 VK_FILTER_NEAREST = 0,
1043 VK_FILTER_LINEAR = 1
1045 typedef enum VkSamplerMipmapMode {
1046 VK_SAMPLER_MIPMAP_MODE_NEAREST = 0,
1047 VK_SAMPLER_MIPMAP_MODE_LINEAR = 1
1048 } VkSamplerMipmapMode;
1049 typedef enum VkVertexInputRate {
1050 VK_VERTEX_INPUT_RATE_VERTEX = 0,
1051 VK_VERTEX_INPUT_RATE_INSTANCE = 1
1052 } VkVertexInputRate;
1053 typedef enum VkPipelineStageFlagBits {
1054 VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 1,
1055 VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 2,
1056 VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 4,
1057 VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 8,
1058 VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 16,
1059 VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 32,
1060 VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 64,
1061 VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 128,
1062 VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 256,
1063 VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 512,
1064 VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 1024,
1065 VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 2048,
1066 VK_PIPELINE_STAGE_TRANSFER_BIT = 4096,
1067 VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 8192,
1068 VK_PIPELINE_STAGE_HOST_BIT = 16384,
1069 VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 32768,
1070 VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 65536
1071 } VkPipelineStageFlagBits;
1072 typedef enum VkSparseImageFormatFlagBits {
1073 VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 1,
1074 VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 2,
1075 VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 4
1076 } VkSparseImageFormatFlagBits;
1077 typedef enum VkSampleCountFlagBits {
1078 VK_SAMPLE_COUNT_1_BIT = 1,
1079 VK_SAMPLE_COUNT_2_BIT = 2,
1080 VK_SAMPLE_COUNT_4_BIT = 4,
1081 VK_SAMPLE_COUNT_8_BIT = 8,
1082 VK_SAMPLE_COUNT_16_BIT = 16,
1083 VK_SAMPLE_COUNT_32_BIT = 32,
1084 VK_SAMPLE_COUNT_64_BIT = 64
1085 } VkSampleCountFlagBits;
1086 typedef enum VkAttachmentDescriptionFlagBits {
1087 VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 1
1088 } VkAttachmentDescriptionFlagBits;
1089 typedef enum VkDescriptorPoolCreateFlagBits {
1090 VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 1
1091 } VkDescriptorPoolCreateFlagBits;
1092 typedef enum VkDependencyFlagBits {
1093 VK_DEPENDENCY_BY_REGION_BIT = 1,
1094 VK_DEPENDENCY_DEVICE_GROUP_BIT = 4,
1095 VK_DEPENDENCY_VIEW_LOCAL_BIT = 2
1096 } VkDependencyFlagBits;
1097 typedef enum VkObjectType {
1098 VK_OBJECT_TYPE_UNKNOWN = 0,
1099 VK_OBJECT_TYPE_INSTANCE = 1,
1100 VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2,
1101 VK_OBJECT_TYPE_DEVICE = 3,
1102 VK_OBJECT_TYPE_QUEUE = 4,
1103 VK_OBJECT_TYPE_SEMAPHORE = 5,
1104 VK_OBJECT_TYPE_COMMAND_BUFFER = 6,
1105 VK_OBJECT_TYPE_FENCE = 7,
1106 VK_OBJECT_TYPE_DEVICE_MEMORY = 8,
1107 VK_OBJECT_TYPE_BUFFER = 9,
1108 VK_OBJECT_TYPE_IMAGE = 10,
1109 VK_OBJECT_TYPE_EVENT = 11,
1110 VK_OBJECT_TYPE_QUERY_POOL = 12,
1111 VK_OBJECT_TYPE_BUFFER_VIEW = 13,
1112 VK_OBJECT_TYPE_IMAGE_VIEW = 14,
1113 VK_OBJECT_TYPE_SHADER_MODULE = 15,
1114 VK_OBJECT_TYPE_PIPELINE_CACHE = 16,
1115 VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17,
1116 VK_OBJECT_TYPE_RENDER_PASS = 18,
1117 VK_OBJECT_TYPE_PIPELINE = 19,
1118 VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20,
1119 VK_OBJECT_TYPE_SAMPLER = 21,
1120 VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22,
1121 VK_OBJECT_TYPE_DESCRIPTOR_SET = 23,
1122 VK_OBJECT_TYPE_FRAMEBUFFER = 24,
1123 VK_OBJECT_TYPE_COMMAND_POOL = 25,
1124 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION = 1000156000,
1125 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE = 1000085000,
1126 VK_OBJECT_TYPE_SURFACE_KHR = 1000000000,
1127 VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000,
1128 VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000
1130 typedef enum VkDescriptorUpdateTemplateType {
1131 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET = 0
1132 } VkDescriptorUpdateTemplateType;
1134 typedef enum VkPointClippingBehavior {
1135 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES = 0,
1136 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY = 1
1137 } VkPointClippingBehavior;
1138 typedef enum VkColorSpaceKHR {
1139 VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0,
1140 VK_COLORSPACE_SRGB_NONLINEAR_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR
1142 typedef enum VkCompositeAlphaFlagBitsKHR {
1143 VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 1,
1144 VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 2,
1145 VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 4,
1146 VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 8
1147 } VkCompositeAlphaFlagBitsKHR;
1148 typedef enum VkPresentModeKHR {
1149 VK_PRESENT_MODE_IMMEDIATE_KHR = 0,
1150 VK_PRESENT_MODE_MAILBOX_KHR = 1,
1151 VK_PRESENT_MODE_FIFO_KHR = 2,
1152 VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3
1154 typedef enum VkSurfaceTransformFlagBitsKHR {
1155 VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 1,
1156 VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 2,
1157 VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 4,
1158 VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 8,
1159 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 16,
1160 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 32,
1161 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 64,
1162 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 128,
1163 VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 256
1164 } VkSurfaceTransformFlagBitsKHR;
1165 typedef enum VkDebugReportFlagBitsEXT {
1166 VK_DEBUG_REPORT_INFORMATION_BIT_EXT = 1,
1167 VK_DEBUG_REPORT_WARNING_BIT_EXT = 2,
1168 VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = 4,
1169 VK_DEBUG_REPORT_ERROR_BIT_EXT = 8,
1170 VK_DEBUG_REPORT_DEBUG_BIT_EXT = 16
1171 } VkDebugReportFlagBitsEXT;
1172 typedef enum VkDebugReportObjectTypeEXT {
1173 VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT = 0,
1174 VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT = 1,
1175 VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT = 2,
1176 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT = 3,
1177 VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT = 4,
1178 VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT = 5,
1179 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT = 6,
1180 VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT = 7,
1181 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT = 8,
1182 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT = 9,
1183 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT = 10,
1184 VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT = 11,
1185 VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT = 12,
1186 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT = 13,
1187 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT = 14,
1188 VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT = 15,
1189 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT = 16,
1190 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT = 17,
1191 VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT = 18,
1192 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT = 19,
1193 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT = 20,
1194 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT = 21,
1195 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT = 22,
1196 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT = 23,
1197 VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT = 24,
1198 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT = 25,
1199 VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = 26,
1200 VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = 27,
1201 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT = 28,
1202 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT,
1203 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT = 29,
1204 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = 30,
1205 VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT = 31,
1206 VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT = 32,
1207 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT = 33,
1208 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT,
1209 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT = 1000156000,
1210 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT = 1000085000
1211 } VkDebugReportObjectTypeEXT;
1212 typedef enum VkExternalMemoryHandleTypeFlagBits {
1213 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT = 1,
1214 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT = 2,
1215 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 4,
1216 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT = 8,
1217 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT = 16,
1218 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT = 32,
1219 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT = 64
1220 } VkExternalMemoryHandleTypeFlagBits;
1221 typedef enum VkExternalMemoryFeatureFlagBits {
1222 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT = 1,
1223 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT = 2,
1224 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT = 4
1225 } VkExternalMemoryFeatureFlagBits;
1226 typedef enum VkExternalSemaphoreHandleTypeFlagBits {
1227 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT = 1,
1228 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 2,
1229 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 4,
1230 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT = 8,
1231 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT = 16
1232 } VkExternalSemaphoreHandleTypeFlagBits;
1233 typedef enum VkExternalSemaphoreFeatureFlagBits {
1234 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT = 1,
1235 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT = 2
1236 } VkExternalSemaphoreFeatureFlagBits;
1237 typedef enum VkSemaphoreImportFlagBits {
1238 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT = 1
1239 } VkSemaphoreImportFlagBits;
1240 typedef enum VkExternalFenceHandleTypeFlagBits {
1241 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT = 1,
1242 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 2,
1243 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 4,
1244 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT = 8
1245 } VkExternalFenceHandleTypeFlagBits;
1246 typedef enum VkExternalFenceFeatureFlagBits {
1247 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT = 1,
1248 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT = 2
1249 } VkExternalFenceFeatureFlagBits;
1250 typedef enum VkFenceImportFlagBits {
1251 VK_FENCE_IMPORT_TEMPORARY_BIT = 1
1252 } VkFenceImportFlagBits;
1253 typedef enum VkPeerMemoryFeatureFlagBits {
1254 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT = 1,
1255 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT = 2,
1256 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT = 4,
1257 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT = 8
1258 } VkPeerMemoryFeatureFlagBits;
1259 typedef enum VkMemoryAllocateFlagBits {
1260 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT = 1
1261 } VkMemoryAllocateFlagBits;
1262 typedef enum VkDeviceGroupPresentModeFlagBitsKHR {
1263 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR = 1,
1264 VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR = 2,
1265 VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR = 4,
1266 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR = 8
1267 } VkDeviceGroupPresentModeFlagBitsKHR;
1268 typedef enum VkSwapchainCreateFlagBitsKHR {
1269 VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 1,
1270 VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR = 2
1271 } VkSwapchainCreateFlagBitsKHR;
1272 typedef enum VkSubgroupFeatureFlagBits {
1273 VK_SUBGROUP_FEATURE_BASIC_BIT = 1,
1274 VK_SUBGROUP_FEATURE_VOTE_BIT = 2,
1275 VK_SUBGROUP_FEATURE_ARITHMETIC_BIT = 4,
1276 VK_SUBGROUP_FEATURE_BALLOT_BIT = 8,
1277 VK_SUBGROUP_FEATURE_SHUFFLE_BIT = 16,
1278 VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = 32,
1279 VK_SUBGROUP_FEATURE_CLUSTERED_BIT = 64,
1280 VK_SUBGROUP_FEATURE_QUAD_BIT = 128
1281 } VkSubgroupFeatureFlagBits;
1282 typedef enum VkTessellationDomainOrigin {
1283 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT = 0,
1284 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT = 1
1285 } VkTessellationDomainOrigin;
1286 typedef enum VkSamplerYcbcrModelConversion {
1287 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY = 0,
1288 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY = 1,
1289 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 = 2,
1290 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 = 3,
1291 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 = 4
1292 } VkSamplerYcbcrModelConversion;
1293 typedef enum VkSamplerYcbcrRange {
1294 VK_SAMPLER_YCBCR_RANGE_ITU_FULL = 0,
1295 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW = 1
1296 } VkSamplerYcbcrRange;
1297 typedef enum VkChromaLocation {
1298 VK_CHROMA_LOCATION_COSITED_EVEN = 0,
1299 VK_CHROMA_LOCATION_MIDPOINT = 1
1301 typedef enum VkVendorId {
1302 VK_VENDOR_ID_VIV = 0x10001,
1303 VK_VENDOR_ID_VSI = 0x10002,
1304 VK_VENDOR_ID_KAZAN = 0x10003
1306 typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(
1309 VkInternalAllocationType allocationType,
1310 VkSystemAllocationScope allocationScope);
1311 typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(
1314 VkInternalAllocationType allocationType,
1315 VkSystemAllocationScope allocationScope);
1316 typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
1321 VkSystemAllocationScope allocationScope);
1322 typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
1326 VkSystemAllocationScope allocationScope);
1327 typedef void (VKAPI_PTR *PFN_vkFreeFunction)(
1330 typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
1331 typedef struct VkBaseOutStructure {
1332 VkStructureType sType;
1333 struct VkBaseOutStructure * pNext;
1334 } VkBaseOutStructure;
1335 typedef struct VkBaseInStructure {
1336 VkStructureType sType;
1337 const struct VkBaseInStructure * pNext;
1338 } VkBaseInStructure;
1339 typedef struct VkOffset2D {
1343 typedef struct VkOffset3D {
1348 typedef struct VkExtent2D {
1352 typedef struct VkExtent3D {
1357 typedef struct VkViewport {
1365 typedef struct VkRect2D {
1369 typedef struct VkClearRect {
1371 uint32_t baseArrayLayer;
1372 uint32_t layerCount;
1374 typedef struct VkComponentMapping {
1375 VkComponentSwizzle r;
1376 VkComponentSwizzle g;
1377 VkComponentSwizzle b;
1378 VkComponentSwizzle a;
1379 } VkComponentMapping;
1380 typedef struct VkExtensionProperties {
1381 char extensionName [ VK_MAX_EXTENSION_NAME_SIZE ];
1382 uint32_t specVersion;
1383 } VkExtensionProperties;
1384 typedef struct VkLayerProperties {
1385 char layerName [ VK_MAX_EXTENSION_NAME_SIZE ];
1386 uint32_t specVersion;
1387 uint32_t implementationVersion;
1388 char description [ VK_MAX_DESCRIPTION_SIZE ];
1389 } VkLayerProperties;
1390 typedef struct VkApplicationInfo {
1391 VkStructureType sType;
1393 const char * pApplicationName;
1394 uint32_t applicationVersion;
1395 const char * pEngineName;
1396 uint32_t engineVersion;
1397 uint32_t apiVersion;
1398 } VkApplicationInfo;
1399 typedef struct VkAllocationCallbacks {
1401 PFN_vkAllocationFunction pfnAllocation;
1402 PFN_vkReallocationFunction pfnReallocation;
1403 PFN_vkFreeFunction pfnFree;
1404 PFN_vkInternalAllocationNotification pfnInternalAllocation;
1405 PFN_vkInternalFreeNotification pfnInternalFree;
1406 } VkAllocationCallbacks;
1407 typedef struct VkDescriptorImageInfo {
1409 VkImageView imageView;
1410 VkImageLayout imageLayout;
1411 } VkDescriptorImageInfo;
1412 typedef struct VkCopyDescriptorSet {
1413 VkStructureType sType;
1415 VkDescriptorSet srcSet;
1416 uint32_t srcBinding;
1417 uint32_t srcArrayElement;
1418 VkDescriptorSet dstSet;
1419 uint32_t dstBinding;
1420 uint32_t dstArrayElement;
1421 uint32_t descriptorCount;
1422 } VkCopyDescriptorSet;
1423 typedef struct VkDescriptorPoolSize {
1424 VkDescriptorType type;
1425 uint32_t descriptorCount;
1426 } VkDescriptorPoolSize;
1427 typedef struct VkDescriptorSetAllocateInfo {
1428 VkStructureType sType;
1430 VkDescriptorPool descriptorPool;
1431 uint32_t descriptorSetCount;
1432 const VkDescriptorSetLayout * pSetLayouts;
1433 } VkDescriptorSetAllocateInfo;
1434 typedef struct VkSpecializationMapEntry {
1435 uint32_t constantID;
1438 } VkSpecializationMapEntry;
1439 typedef struct VkSpecializationInfo {
1440 uint32_t mapEntryCount;
1441 const VkSpecializationMapEntry * pMapEntries;
1444 } VkSpecializationInfo;
1445 typedef struct VkVertexInputBindingDescription {
1448 VkVertexInputRate inputRate;
1449 } VkVertexInputBindingDescription;
1450 typedef struct VkVertexInputAttributeDescription {
1455 } VkVertexInputAttributeDescription;
1456 typedef struct VkStencilOpState {
1459 VkStencilOp depthFailOp;
1460 VkCompareOp compareOp;
1461 uint32_t compareMask;
1465 typedef struct VkCommandBufferAllocateInfo {
1466 VkStructureType sType;
1468 VkCommandPool commandPool;
1469 VkCommandBufferLevel level;
1470 uint32_t commandBufferCount;
1471 } VkCommandBufferAllocateInfo;
1472 typedef union VkClearColorValue {
1475 uint32_t uint32 [4];
1476 } VkClearColorValue;
1477 typedef struct VkClearDepthStencilValue {
1480 } VkClearDepthStencilValue;
1481 typedef union VkClearValue {
1482 VkClearColorValue color;
1483 VkClearDepthStencilValue depthStencil;
1485 typedef struct VkAttachmentReference {
1486 uint32_t attachment;
1487 VkImageLayout layout;
1488 } VkAttachmentReference;
1489 typedef struct VkDrawIndirectCommand {
1490 uint32_t vertexCount;
1491 uint32_t instanceCount;
1492 uint32_t firstVertex;
1493 uint32_t firstInstance;
1494 } VkDrawIndirectCommand;
1495 typedef struct VkDrawIndexedIndirectCommand {
1496 uint32_t indexCount;
1497 uint32_t instanceCount;
1498 uint32_t firstIndex;
1499 int32_t vertexOffset;
1500 uint32_t firstInstance;
1501 } VkDrawIndexedIndirectCommand;
1502 typedef struct VkDispatchIndirectCommand {
1506 } VkDispatchIndirectCommand;
1507 typedef struct VkSurfaceFormatKHR {
1509 VkColorSpaceKHR colorSpace;
1510 } VkSurfaceFormatKHR;
1511 typedef struct VkPresentInfoKHR {
1512 VkStructureType sType;
1514 uint32_t waitSemaphoreCount;
1515 const VkSemaphore * pWaitSemaphores;
1516 uint32_t swapchainCount;
1517 const VkSwapchainKHR * pSwapchains;
1518 const uint32_t * pImageIndices;
1519 VkResult * pResults;
1521 typedef struct VkPhysicalDeviceExternalImageFormatInfo {
1522 VkStructureType sType;
1524 VkExternalMemoryHandleTypeFlagBits handleType;
1525 } VkPhysicalDeviceExternalImageFormatInfo;
1526 typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
1527 VkStructureType sType;
1529 VkExternalSemaphoreHandleTypeFlagBits handleType;
1530 } VkPhysicalDeviceExternalSemaphoreInfo;
1531 typedef struct VkPhysicalDeviceExternalFenceInfo {
1532 VkStructureType sType;
1534 VkExternalFenceHandleTypeFlagBits handleType;
1535 } VkPhysicalDeviceExternalFenceInfo;
1536 typedef struct VkPhysicalDeviceMultiviewProperties {
1537 VkStructureType sType;
1539 uint32_t maxMultiviewViewCount;
1540 uint32_t maxMultiviewInstanceIndex;
1541 } VkPhysicalDeviceMultiviewProperties;
1542 typedef struct VkRenderPassMultiviewCreateInfo {
1543 VkStructureType sType;
1545 uint32_t subpassCount;
1546 const uint32_t * pViewMasks;
1547 uint32_t dependencyCount;
1548 const int32_t * pViewOffsets;
1549 uint32_t correlationMaskCount;
1550 const uint32_t * pCorrelationMasks;
1551 } VkRenderPassMultiviewCreateInfo;
1552 typedef struct VkBindBufferMemoryDeviceGroupInfo {
1553 VkStructureType sType;
1555 uint32_t deviceIndexCount;
1556 const uint32_t * pDeviceIndices;
1557 } VkBindBufferMemoryDeviceGroupInfo;
1558 typedef struct VkBindImageMemoryDeviceGroupInfo {
1559 VkStructureType sType;
1561 uint32_t deviceIndexCount;
1562 const uint32_t * pDeviceIndices;
1563 uint32_t splitInstanceBindRegionCount;
1564 const VkRect2D * pSplitInstanceBindRegions;
1565 } VkBindImageMemoryDeviceGroupInfo;
1566 typedef struct VkDeviceGroupRenderPassBeginInfo {
1567 VkStructureType sType;
1569 uint32_t deviceMask;
1570 uint32_t deviceRenderAreaCount;
1571 const VkRect2D * pDeviceRenderAreas;
1572 } VkDeviceGroupRenderPassBeginInfo;
1573 typedef struct VkDeviceGroupCommandBufferBeginInfo {
1574 VkStructureType sType;
1576 uint32_t deviceMask;
1577 } VkDeviceGroupCommandBufferBeginInfo;
1578 typedef struct VkDeviceGroupSubmitInfo {
1579 VkStructureType sType;
1581 uint32_t waitSemaphoreCount;
1582 const uint32_t * pWaitSemaphoreDeviceIndices;
1583 uint32_t commandBufferCount;
1584 const uint32_t * pCommandBufferDeviceMasks;
1585 uint32_t signalSemaphoreCount;
1586 const uint32_t * pSignalSemaphoreDeviceIndices;
1587 } VkDeviceGroupSubmitInfo;
1588 typedef struct VkDeviceGroupBindSparseInfo {
1589 VkStructureType sType;
1591 uint32_t resourceDeviceIndex;
1592 uint32_t memoryDeviceIndex;
1593 } VkDeviceGroupBindSparseInfo;
1594 typedef struct VkImageSwapchainCreateInfoKHR {
1595 VkStructureType sType;
1597 VkSwapchainKHR swapchain;
1598 } VkImageSwapchainCreateInfoKHR;
1599 typedef struct VkBindImageMemorySwapchainInfoKHR {
1600 VkStructureType sType;
1602 VkSwapchainKHR swapchain;
1603 uint32_t imageIndex;
1604 } VkBindImageMemorySwapchainInfoKHR;
1605 typedef struct VkAcquireNextImageInfoKHR {
1606 VkStructureType sType;
1608 VkSwapchainKHR swapchain;
1610 VkSemaphore semaphore;
1612 uint32_t deviceMask;
1613 } VkAcquireNextImageInfoKHR;
1614 typedef struct VkDeviceGroupPresentInfoKHR {
1615 VkStructureType sType;
1617 uint32_t swapchainCount;
1618 const uint32_t * pDeviceMasks;
1619 VkDeviceGroupPresentModeFlagBitsKHR mode;
1620 } VkDeviceGroupPresentInfoKHR;
1621 typedef struct VkDeviceGroupDeviceCreateInfo {
1622 VkStructureType sType;
1624 uint32_t physicalDeviceCount;
1625 const VkPhysicalDevice * pPhysicalDevices;
1626 } VkDeviceGroupDeviceCreateInfo;
1627 typedef struct VkDescriptorUpdateTemplateEntry {
1628 uint32_t dstBinding;
1629 uint32_t dstArrayElement;
1630 uint32_t descriptorCount;
1631 VkDescriptorType descriptorType;
1634 } VkDescriptorUpdateTemplateEntry;
1635 typedef struct VkBufferMemoryRequirementsInfo2 {
1636 VkStructureType sType;
1639 } VkBufferMemoryRequirementsInfo2;
1640 typedef struct VkImageMemoryRequirementsInfo2 {
1641 VkStructureType sType;
1644 } VkImageMemoryRequirementsInfo2;
1645 typedef struct VkImageSparseMemoryRequirementsInfo2 {
1646 VkStructureType sType;
1649 } VkImageSparseMemoryRequirementsInfo2;
1650 typedef struct VkPhysicalDevicePointClippingProperties {
1651 VkStructureType sType;
1653 VkPointClippingBehavior pointClippingBehavior;
1654 } VkPhysicalDevicePointClippingProperties;
1655 typedef struct VkMemoryDedicatedAllocateInfo {
1656 VkStructureType sType;
1660 } VkMemoryDedicatedAllocateInfo;
1661 typedef struct VkPipelineTessellationDomainOriginStateCreateInfo {
1662 VkStructureType sType;
1664 VkTessellationDomainOrigin domainOrigin;
1665 } VkPipelineTessellationDomainOriginStateCreateInfo;
1666 typedef struct VkSamplerYcbcrConversionInfo {
1667 VkStructureType sType;
1669 VkSamplerYcbcrConversion conversion;
1670 } VkSamplerYcbcrConversionInfo;
1671 typedef struct VkBindImagePlaneMemoryInfo {
1672 VkStructureType sType;
1674 VkImageAspectFlagBits planeAspect;
1675 } VkBindImagePlaneMemoryInfo;
1676 typedef struct VkImagePlaneMemoryRequirementsInfo {
1677 VkStructureType sType;
1679 VkImageAspectFlagBits planeAspect;
1680 } VkImagePlaneMemoryRequirementsInfo;
1681 typedef struct VkSamplerYcbcrConversionImageFormatProperties {
1682 VkStructureType sType;
1684 uint32_t combinedImageSamplerDescriptorCount;
1685 } VkSamplerYcbcrConversionImageFormatProperties;
1686 typedef uint32_t VkSampleMask;
1687 typedef uint32_t VkBool32;
1688 typedef uint32_t VkFlags;
1689 typedef uint64_t VkDeviceSize;
1690 typedef VkFlags VkFramebufferCreateFlags;
1691 typedef VkFlags VkQueryPoolCreateFlags;
1692 typedef VkFlags VkRenderPassCreateFlags;
1693 typedef VkFlags VkSamplerCreateFlags;
1694 typedef VkFlags VkPipelineLayoutCreateFlags;
1695 typedef VkFlags VkPipelineCacheCreateFlags;
1696 typedef VkFlags VkPipelineDepthStencilStateCreateFlags;
1697 typedef VkFlags VkPipelineDynamicStateCreateFlags;
1698 typedef VkFlags VkPipelineColorBlendStateCreateFlags;
1699 typedef VkFlags VkPipelineMultisampleStateCreateFlags;
1700 typedef VkFlags VkPipelineRasterizationStateCreateFlags;
1701 typedef VkFlags VkPipelineViewportStateCreateFlags;
1702 typedef VkFlags VkPipelineTessellationStateCreateFlags;
1703 typedef VkFlags VkPipelineInputAssemblyStateCreateFlags;
1704 typedef VkFlags VkPipelineVertexInputStateCreateFlags;
1705 typedef VkFlags VkPipelineShaderStageCreateFlags;
1706 typedef VkFlags VkDescriptorSetLayoutCreateFlags;
1707 typedef VkFlags VkBufferViewCreateFlags;
1708 typedef VkFlags VkInstanceCreateFlags;
1709 typedef VkFlags VkDeviceCreateFlags;
1710 typedef VkFlags VkDeviceQueueCreateFlags;
1711 typedef VkFlags VkQueueFlags;
1712 typedef VkFlags VkMemoryPropertyFlags;
1713 typedef VkFlags VkMemoryHeapFlags;
1714 typedef VkFlags VkAccessFlags;
1715 typedef VkFlags VkBufferUsageFlags;
1716 typedef VkFlags VkBufferCreateFlags;
1717 typedef VkFlags VkShaderStageFlags;
1718 typedef VkFlags VkImageUsageFlags;
1719 typedef VkFlags VkImageCreateFlags;
1720 typedef VkFlags VkImageViewCreateFlags;
1721 typedef VkFlags VkPipelineCreateFlags;
1722 typedef VkFlags VkColorComponentFlags;
1723 typedef VkFlags VkFenceCreateFlags;
1724 typedef VkFlags VkSemaphoreCreateFlags;
1725 typedef VkFlags VkFormatFeatureFlags;
1726 typedef VkFlags VkQueryControlFlags;
1727 typedef VkFlags VkQueryResultFlags;
1728 typedef VkFlags VkShaderModuleCreateFlags;
1729 typedef VkFlags VkEventCreateFlags;
1730 typedef VkFlags VkCommandPoolCreateFlags;
1731 typedef VkFlags VkCommandPoolResetFlags;
1732 typedef VkFlags VkCommandBufferResetFlags;
1733 typedef VkFlags VkCommandBufferUsageFlags;
1734 typedef VkFlags VkQueryPipelineStatisticFlags;
1735 typedef VkFlags VkMemoryMapFlags;
1736 typedef VkFlags VkImageAspectFlags;
1737 typedef VkFlags VkSparseMemoryBindFlags;
1738 typedef VkFlags VkSparseImageFormatFlags;
1739 typedef VkFlags VkSubpassDescriptionFlags;
1740 typedef VkFlags VkPipelineStageFlags;
1741 typedef VkFlags VkSampleCountFlags;
1742 typedef VkFlags VkAttachmentDescriptionFlags;
1743 typedef VkFlags VkStencilFaceFlags;
1744 typedef VkFlags VkCullModeFlags;
1745 typedef VkFlags VkDescriptorPoolCreateFlags;
1746 typedef VkFlags VkDescriptorPoolResetFlags;
1747 typedef VkFlags VkDependencyFlags;
1748 typedef VkFlags VkSubgroupFeatureFlags;
1749 typedef VkFlags VkDescriptorUpdateTemplateCreateFlags;
1750 typedef VkFlags VkCompositeAlphaFlagsKHR;
1751 typedef VkFlags VkSurfaceTransformFlagsKHR;
1752 typedef VkFlags VkSwapchainCreateFlagsKHR;
1753 typedef VkFlags VkPeerMemoryFeatureFlags;
1754 typedef VkFlags VkMemoryAllocateFlags;
1755 typedef VkFlags VkDeviceGroupPresentModeFlagsKHR;
1756 typedef VkFlags VkDebugReportFlagsEXT;
1757 typedef VkFlags VkCommandPoolTrimFlags;
1758 typedef VkFlags VkExternalMemoryHandleTypeFlags;
1759 typedef VkFlags VkExternalMemoryFeatureFlags;
1760 typedef VkFlags VkExternalSemaphoreHandleTypeFlags;
1761 typedef VkFlags VkExternalSemaphoreFeatureFlags;
1762 typedef VkFlags VkSemaphoreImportFlags;
1763 typedef VkFlags VkExternalFenceHandleTypeFlags;
1764 typedef VkFlags VkExternalFenceFeatureFlags;
1765 typedef VkFlags VkFenceImportFlags;
1766 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugReportCallbackEXT)(
1767 VkDebugReportFlagsEXT flags,
1768 VkDebugReportObjectTypeEXT objectType,
1771 int32_t messageCode,
1772 const char* pLayerPrefix,
1773 const char* pMessage,
1775 typedef struct VkDeviceQueueCreateInfo {
1776 VkStructureType sType;
1778 VkDeviceQueueCreateFlags flags;
1779 uint32_t queueFamilyIndex;
1780 uint32_t queueCount;
1781 const float * pQueuePriorities;
1782 } VkDeviceQueueCreateInfo;
1783 typedef struct VkInstanceCreateInfo {
1784 VkStructureType sType;
1786 VkInstanceCreateFlags flags;
1787 const VkApplicationInfo * pApplicationInfo;
1788 uint32_t enabledLayerCount;
1789 const char * const* ppEnabledLayerNames;
1790 uint32_t enabledExtensionCount;
1791 const char * const* ppEnabledExtensionNames;
1792 } VkInstanceCreateInfo;
1793 typedef struct VkQueueFamilyProperties {
1794 VkQueueFlags queueFlags;
1795 uint32_t queueCount;
1796 uint32_t timestampValidBits;
1797 VkExtent3D minImageTransferGranularity;
1798 } VkQueueFamilyProperties;
1799 typedef struct VkMemoryAllocateInfo {
1800 VkStructureType sType;
1802 VkDeviceSize allocationSize;
1803 uint32_t memoryTypeIndex;
1804 } VkMemoryAllocateInfo;
1805 typedef struct VkMemoryRequirements {
1807 VkDeviceSize alignment;
1808 uint32_t memoryTypeBits;
1809 } VkMemoryRequirements;
1810 typedef struct VkSparseImageFormatProperties {
1811 VkImageAspectFlags aspectMask;
1812 VkExtent3D imageGranularity;
1813 VkSparseImageFormatFlags flags;
1814 } VkSparseImageFormatProperties;
1815 typedef struct VkSparseImageMemoryRequirements {
1816 VkSparseImageFormatProperties formatProperties;
1817 uint32_t imageMipTailFirstLod;
1818 VkDeviceSize imageMipTailSize;
1819 VkDeviceSize imageMipTailOffset;
1820 VkDeviceSize imageMipTailStride;
1821 } VkSparseImageMemoryRequirements;
1822 typedef struct VkMemoryType {
1823 VkMemoryPropertyFlags propertyFlags;
1826 typedef struct VkMemoryHeap {
1828 VkMemoryHeapFlags flags;
1830 typedef struct VkMappedMemoryRange {
1831 VkStructureType sType;
1833 VkDeviceMemory memory;
1834 VkDeviceSize offset;
1836 } VkMappedMemoryRange;
1837 typedef struct VkFormatProperties {
1838 VkFormatFeatureFlags linearTilingFeatures;
1839 VkFormatFeatureFlags optimalTilingFeatures;
1840 VkFormatFeatureFlags bufferFeatures;
1841 } VkFormatProperties;
1842 typedef struct VkImageFormatProperties {
1843 VkExtent3D maxExtent;
1844 uint32_t maxMipLevels;
1845 uint32_t maxArrayLayers;
1846 VkSampleCountFlags sampleCounts;
1847 VkDeviceSize maxResourceSize;
1848 } VkImageFormatProperties;
1849 typedef struct VkDescriptorBufferInfo {
1851 VkDeviceSize offset;
1853 } VkDescriptorBufferInfo;
1854 typedef struct VkWriteDescriptorSet {
1855 VkStructureType sType;
1857 VkDescriptorSet dstSet;
1858 uint32_t dstBinding;
1859 uint32_t dstArrayElement;
1860 uint32_t descriptorCount;
1861 VkDescriptorType descriptorType;
1862 const VkDescriptorImageInfo * pImageInfo;
1863 const VkDescriptorBufferInfo * pBufferInfo;
1864 const VkBufferView * pTexelBufferView;
1865 } VkWriteDescriptorSet;
1866 typedef struct VkBufferCreateInfo {
1867 VkStructureType sType;
1869 VkBufferCreateFlags flags;
1871 VkBufferUsageFlags usage;
1872 VkSharingMode sharingMode;
1873 uint32_t queueFamilyIndexCount;
1874 const uint32_t * pQueueFamilyIndices;
1875 } VkBufferCreateInfo;
1876 typedef struct VkBufferViewCreateInfo {
1877 VkStructureType sType;
1879 VkBufferViewCreateFlags flags;
1882 VkDeviceSize offset;
1884 } VkBufferViewCreateInfo;
1885 typedef struct VkImageSubresource {
1886 VkImageAspectFlags aspectMask;
1888 uint32_t arrayLayer;
1889 } VkImageSubresource;
1890 typedef struct VkImageSubresourceLayers {
1891 VkImageAspectFlags aspectMask;
1893 uint32_t baseArrayLayer;
1894 uint32_t layerCount;
1895 } VkImageSubresourceLayers;
1896 typedef struct VkImageSubresourceRange {
1897 VkImageAspectFlags aspectMask;
1898 uint32_t baseMipLevel;
1899 uint32_t levelCount;
1900 uint32_t baseArrayLayer;
1901 uint32_t layerCount;
1902 } VkImageSubresourceRange;
1903 typedef struct VkMemoryBarrier {
1904 VkStructureType sType;
1906 VkAccessFlags srcAccessMask;
1907 VkAccessFlags dstAccessMask;
1909 typedef struct VkBufferMemoryBarrier {
1910 VkStructureType sType;
1912 VkAccessFlags srcAccessMask;
1913 VkAccessFlags dstAccessMask;
1914 uint32_t srcQueueFamilyIndex;
1915 uint32_t dstQueueFamilyIndex;
1917 VkDeviceSize offset;
1919 } VkBufferMemoryBarrier;
1920 typedef struct VkImageMemoryBarrier {
1921 VkStructureType sType;
1923 VkAccessFlags srcAccessMask;
1924 VkAccessFlags dstAccessMask;
1925 VkImageLayout oldLayout;
1926 VkImageLayout newLayout;
1927 uint32_t srcQueueFamilyIndex;
1928 uint32_t dstQueueFamilyIndex;
1930 VkImageSubresourceRange subresourceRange;
1931 } VkImageMemoryBarrier;
1932 typedef struct VkImageCreateInfo {
1933 VkStructureType sType;
1935 VkImageCreateFlags flags;
1936 VkImageType imageType;
1940 uint32_t arrayLayers;
1941 VkSampleCountFlagBits samples;
1942 VkImageTiling tiling;
1943 VkImageUsageFlags usage;
1944 VkSharingMode sharingMode;
1945 uint32_t queueFamilyIndexCount;
1946 const uint32_t * pQueueFamilyIndices;
1947 VkImageLayout initialLayout;
1948 } VkImageCreateInfo;
1949 typedef struct VkSubresourceLayout {
1950 VkDeviceSize offset;
1952 VkDeviceSize rowPitch;
1953 VkDeviceSize arrayPitch;
1954 VkDeviceSize depthPitch;
1955 } VkSubresourceLayout;
1956 typedef struct VkImageViewCreateInfo {
1957 VkStructureType sType;
1959 VkImageViewCreateFlags flags;
1961 VkImageViewType viewType;
1963 VkComponentMapping components;
1964 VkImageSubresourceRange subresourceRange;
1965 } VkImageViewCreateInfo;
1966 typedef struct VkBufferCopy {
1967 VkDeviceSize srcOffset;
1968 VkDeviceSize dstOffset;
1971 typedef struct VkSparseMemoryBind {
1972 VkDeviceSize resourceOffset;
1974 VkDeviceMemory memory;
1975 VkDeviceSize memoryOffset;
1976 VkSparseMemoryBindFlags flags;
1977 } VkSparseMemoryBind;
1978 typedef struct VkSparseImageMemoryBind {
1979 VkImageSubresource subresource;
1982 VkDeviceMemory memory;
1983 VkDeviceSize memoryOffset;
1984 VkSparseMemoryBindFlags flags;
1985 } VkSparseImageMemoryBind;
1986 typedef struct VkSparseBufferMemoryBindInfo {
1989 const VkSparseMemoryBind * pBinds;
1990 } VkSparseBufferMemoryBindInfo;
1991 typedef struct VkSparseImageOpaqueMemoryBindInfo {
1994 const VkSparseMemoryBind * pBinds;
1995 } VkSparseImageOpaqueMemoryBindInfo;
1996 typedef struct VkSparseImageMemoryBindInfo {
1999 const VkSparseImageMemoryBind * pBinds;
2000 } VkSparseImageMemoryBindInfo;
2001 typedef struct VkBindSparseInfo {
2002 VkStructureType sType;
2004 uint32_t waitSemaphoreCount;
2005 const VkSemaphore * pWaitSemaphores;
2006 uint32_t bufferBindCount;
2007 const VkSparseBufferMemoryBindInfo * pBufferBinds;
2008 uint32_t imageOpaqueBindCount;
2009 const VkSparseImageOpaqueMemoryBindInfo * pImageOpaqueBinds;
2010 uint32_t imageBindCount;
2011 const VkSparseImageMemoryBindInfo * pImageBinds;
2012 uint32_t signalSemaphoreCount;
2013 const VkSemaphore * pSignalSemaphores;
2015 typedef struct VkImageCopy {
2016 VkImageSubresourceLayers srcSubresource;
2017 VkOffset3D srcOffset;
2018 VkImageSubresourceLayers dstSubresource;
2019 VkOffset3D dstOffset;
2022 typedef struct VkImageBlit {
2023 VkImageSubresourceLayers srcSubresource;
2024 VkOffset3D srcOffsets [2];
2025 VkImageSubresourceLayers dstSubresource;
2026 VkOffset3D dstOffsets [2];
2028 typedef struct VkBufferImageCopy {
2029 VkDeviceSize bufferOffset;
2030 uint32_t bufferRowLength;
2031 uint32_t bufferImageHeight;
2032 VkImageSubresourceLayers imageSubresource;
2033 VkOffset3D imageOffset;
2034 VkExtent3D imageExtent;
2035 } VkBufferImageCopy;
2036 typedef struct VkImageResolve {
2037 VkImageSubresourceLayers srcSubresource;
2038 VkOffset3D srcOffset;
2039 VkImageSubresourceLayers dstSubresource;
2040 VkOffset3D dstOffset;
2043 typedef struct VkShaderModuleCreateInfo {
2044 VkStructureType sType;
2046 VkShaderModuleCreateFlags flags;
2048 const uint32_t * pCode;
2049 } VkShaderModuleCreateInfo;
2050 typedef struct VkDescriptorSetLayoutBinding {
2052 VkDescriptorType descriptorType;
2053 uint32_t descriptorCount;
2054 VkShaderStageFlags stageFlags;
2055 const VkSampler * pImmutableSamplers;
2056 } VkDescriptorSetLayoutBinding;
2057 typedef struct VkDescriptorSetLayoutCreateInfo {
2058 VkStructureType sType;
2060 VkDescriptorSetLayoutCreateFlags flags;
2061 uint32_t bindingCount;
2062 const VkDescriptorSetLayoutBinding * pBindings;
2063 } VkDescriptorSetLayoutCreateInfo;
2064 typedef struct VkDescriptorPoolCreateInfo {
2065 VkStructureType sType;
2067 VkDescriptorPoolCreateFlags flags;
2069 uint32_t poolSizeCount;
2070 const VkDescriptorPoolSize * pPoolSizes;
2071 } VkDescriptorPoolCreateInfo;
2072 typedef struct VkPipelineShaderStageCreateInfo {
2073 VkStructureType sType;
2075 VkPipelineShaderStageCreateFlags flags;
2076 VkShaderStageFlagBits stage;
2077 VkShaderModule module;
2079 const VkSpecializationInfo * pSpecializationInfo;
2080 } VkPipelineShaderStageCreateInfo;
2081 typedef struct VkComputePipelineCreateInfo {
2082 VkStructureType sType;
2084 VkPipelineCreateFlags flags;
2085 VkPipelineShaderStageCreateInfo stage;
2086 VkPipelineLayout layout;
2087 VkPipeline basePipelineHandle;
2088 int32_t basePipelineIndex;
2089 } VkComputePipelineCreateInfo;
2090 typedef struct VkPipelineVertexInputStateCreateInfo {
2091 VkStructureType sType;
2093 VkPipelineVertexInputStateCreateFlags flags;
2094 uint32_t vertexBindingDescriptionCount;
2095 const VkVertexInputBindingDescription * pVertexBindingDescriptions;
2096 uint32_t vertexAttributeDescriptionCount;
2097 const VkVertexInputAttributeDescription * pVertexAttributeDescriptions;
2098 } VkPipelineVertexInputStateCreateInfo;
2099 typedef struct VkPipelineInputAssemblyStateCreateInfo {
2100 VkStructureType sType;
2102 VkPipelineInputAssemblyStateCreateFlags flags;
2103 VkPrimitiveTopology topology;
2104 VkBool32 primitiveRestartEnable;
2105 } VkPipelineInputAssemblyStateCreateInfo;
2106 typedef struct VkPipelineTessellationStateCreateInfo {
2107 VkStructureType sType;
2109 VkPipelineTessellationStateCreateFlags flags;
2110 uint32_t patchControlPoints;
2111 } VkPipelineTessellationStateCreateInfo;
2112 typedef struct VkPipelineViewportStateCreateInfo {
2113 VkStructureType sType;
2115 VkPipelineViewportStateCreateFlags flags;
2116 uint32_t viewportCount;
2117 const VkViewport * pViewports;
2118 uint32_t scissorCount;
2119 const VkRect2D * pScissors;
2120 } VkPipelineViewportStateCreateInfo;
2121 typedef struct VkPipelineRasterizationStateCreateInfo {
2122 VkStructureType sType;
2124 VkPipelineRasterizationStateCreateFlags flags;
2125 VkBool32 depthClampEnable;
2126 VkBool32 rasterizerDiscardEnable;
2127 VkPolygonMode polygonMode;
2128 VkCullModeFlags cullMode;
2129 VkFrontFace frontFace;
2130 VkBool32 depthBiasEnable;
2131 float depthBiasConstantFactor;
2132 float depthBiasClamp;
2133 float depthBiasSlopeFactor;
2135 } VkPipelineRasterizationStateCreateInfo;
2136 typedef struct VkPipelineMultisampleStateCreateInfo {
2137 VkStructureType sType;
2139 VkPipelineMultisampleStateCreateFlags flags;
2140 VkSampleCountFlagBits rasterizationSamples;
2141 VkBool32 sampleShadingEnable;
2142 float minSampleShading;
2143 const VkSampleMask * pSampleMask;
2144 VkBool32 alphaToCoverageEnable;
2145 VkBool32 alphaToOneEnable;
2146 } VkPipelineMultisampleStateCreateInfo;
2147 typedef struct VkPipelineColorBlendAttachmentState {
2148 VkBool32 blendEnable;
2149 VkBlendFactor srcColorBlendFactor;
2150 VkBlendFactor dstColorBlendFactor;
2151 VkBlendOp colorBlendOp;
2152 VkBlendFactor srcAlphaBlendFactor;
2153 VkBlendFactor dstAlphaBlendFactor;
2154 VkBlendOp alphaBlendOp;
2155 VkColorComponentFlags colorWriteMask;
2156 } VkPipelineColorBlendAttachmentState;
2157 typedef struct VkPipelineColorBlendStateCreateInfo {
2158 VkStructureType sType;
2160 VkPipelineColorBlendStateCreateFlags flags;
2161 VkBool32 logicOpEnable;
2163 uint32_t attachmentCount;
2164 const VkPipelineColorBlendAttachmentState * pAttachments;
2165 float blendConstants [4];
2166 } VkPipelineColorBlendStateCreateInfo;
2167 typedef struct VkPipelineDynamicStateCreateInfo {
2168 VkStructureType sType;
2170 VkPipelineDynamicStateCreateFlags flags;
2171 uint32_t dynamicStateCount;
2172 const VkDynamicState * pDynamicStates;
2173 } VkPipelineDynamicStateCreateInfo;
2174 typedef struct VkPipelineDepthStencilStateCreateInfo {
2175 VkStructureType sType;
2177 VkPipelineDepthStencilStateCreateFlags flags;
2178 VkBool32 depthTestEnable;
2179 VkBool32 depthWriteEnable;
2180 VkCompareOp depthCompareOp;
2181 VkBool32 depthBoundsTestEnable;
2182 VkBool32 stencilTestEnable;
2183 VkStencilOpState front;
2184 VkStencilOpState back;
2185 float minDepthBounds;
2186 float maxDepthBounds;
2187 } VkPipelineDepthStencilStateCreateInfo;
2188 typedef struct VkGraphicsPipelineCreateInfo {
2189 VkStructureType sType;
2191 VkPipelineCreateFlags flags;
2192 uint32_t stageCount;
2193 const VkPipelineShaderStageCreateInfo * pStages;
2194 const VkPipelineVertexInputStateCreateInfo * pVertexInputState;
2195 const VkPipelineInputAssemblyStateCreateInfo * pInputAssemblyState;
2196 const VkPipelineTessellationStateCreateInfo * pTessellationState;
2197 const VkPipelineViewportStateCreateInfo * pViewportState;
2198 const VkPipelineRasterizationStateCreateInfo * pRasterizationState;
2199 const VkPipelineMultisampleStateCreateInfo * pMultisampleState;
2200 const VkPipelineDepthStencilStateCreateInfo * pDepthStencilState;
2201 const VkPipelineColorBlendStateCreateInfo * pColorBlendState;
2202 const VkPipelineDynamicStateCreateInfo * pDynamicState;
2203 VkPipelineLayout layout;
2204 VkRenderPass renderPass;
2206 VkPipeline basePipelineHandle;
2207 int32_t basePipelineIndex;
2208 } VkGraphicsPipelineCreateInfo;
2209 typedef struct VkPipelineCacheCreateInfo {
2210 VkStructureType sType;
2212 VkPipelineCacheCreateFlags flags;
2213 size_t initialDataSize;
2214 const void * pInitialData;
2215 } VkPipelineCacheCreateInfo;
2216 typedef struct VkPushConstantRange {
2217 VkShaderStageFlags stageFlags;
2220 } VkPushConstantRange;
2221 typedef struct VkPipelineLayoutCreateInfo {
2222 VkStructureType sType;
2224 VkPipelineLayoutCreateFlags flags;
2225 uint32_t setLayoutCount;
2226 const VkDescriptorSetLayout * pSetLayouts;
2227 uint32_t pushConstantRangeCount;
2228 const VkPushConstantRange * pPushConstantRanges;
2229 } VkPipelineLayoutCreateInfo;
2230 typedef struct VkSamplerCreateInfo {
2231 VkStructureType sType;
2233 VkSamplerCreateFlags flags;
2236 VkSamplerMipmapMode mipmapMode;
2237 VkSamplerAddressMode addressModeU;
2238 VkSamplerAddressMode addressModeV;
2239 VkSamplerAddressMode addressModeW;
2241 VkBool32 anisotropyEnable;
2242 float maxAnisotropy;
2243 VkBool32 compareEnable;
2244 VkCompareOp compareOp;
2247 VkBorderColor borderColor;
2248 VkBool32 unnormalizedCoordinates;
2249 } VkSamplerCreateInfo;
2250 typedef struct VkCommandPoolCreateInfo {
2251 VkStructureType sType;
2253 VkCommandPoolCreateFlags flags;
2254 uint32_t queueFamilyIndex;
2255 } VkCommandPoolCreateInfo;
2256 typedef struct VkCommandBufferInheritanceInfo {
2257 VkStructureType sType;
2259 VkRenderPass renderPass;
2261 VkFramebuffer framebuffer;
2262 VkBool32 occlusionQueryEnable;
2263 VkQueryControlFlags queryFlags;
2264 VkQueryPipelineStatisticFlags pipelineStatistics;
2265 } VkCommandBufferInheritanceInfo;
2266 typedef struct VkCommandBufferBeginInfo {
2267 VkStructureType sType;
2269 VkCommandBufferUsageFlags flags;
2270 const VkCommandBufferInheritanceInfo * pInheritanceInfo;
2271 } VkCommandBufferBeginInfo;
2272 typedef struct VkRenderPassBeginInfo {
2273 VkStructureType sType;
2275 VkRenderPass renderPass;
2276 VkFramebuffer framebuffer;
2277 VkRect2D renderArea;
2278 uint32_t clearValueCount;
2279 const VkClearValue * pClearValues;
2280 } VkRenderPassBeginInfo;
2281 typedef struct VkClearAttachment {
2282 VkImageAspectFlags aspectMask;
2283 uint32_t colorAttachment;
2284 VkClearValue clearValue;
2285 } VkClearAttachment;
2286 typedef struct VkAttachmentDescription {
2287 VkAttachmentDescriptionFlags flags;
2289 VkSampleCountFlagBits samples;
2290 VkAttachmentLoadOp loadOp;
2291 VkAttachmentStoreOp storeOp;
2292 VkAttachmentLoadOp stencilLoadOp;
2293 VkAttachmentStoreOp stencilStoreOp;
2294 VkImageLayout initialLayout;
2295 VkImageLayout finalLayout;
2296 } VkAttachmentDescription;
2297 typedef struct VkSubpassDescription {
2298 VkSubpassDescriptionFlags flags;
2299 VkPipelineBindPoint pipelineBindPoint;
2300 uint32_t inputAttachmentCount;
2301 const VkAttachmentReference * pInputAttachments;
2302 uint32_t colorAttachmentCount;
2303 const VkAttachmentReference * pColorAttachments;
2304 const VkAttachmentReference * pResolveAttachments;
2305 const VkAttachmentReference * pDepthStencilAttachment;
2306 uint32_t preserveAttachmentCount;
2307 const uint32_t * pPreserveAttachments;
2308 } VkSubpassDescription;
2309 typedef struct VkSubpassDependency {
2310 uint32_t srcSubpass;
2311 uint32_t dstSubpass;
2312 VkPipelineStageFlags srcStageMask;
2313 VkPipelineStageFlags dstStageMask;
2314 VkAccessFlags srcAccessMask;
2315 VkAccessFlags dstAccessMask;
2316 VkDependencyFlags dependencyFlags;
2317 } VkSubpassDependency;
2318 typedef struct VkRenderPassCreateInfo {
2319 VkStructureType sType;
2321 VkRenderPassCreateFlags flags;
2322 uint32_t attachmentCount;
2323 const VkAttachmentDescription * pAttachments;
2324 uint32_t subpassCount;
2325 const VkSubpassDescription * pSubpasses;
2326 uint32_t dependencyCount;
2327 const VkSubpassDependency * pDependencies;
2328 } VkRenderPassCreateInfo;
2329 typedef struct VkEventCreateInfo {
2330 VkStructureType sType;
2332 VkEventCreateFlags flags;
2333 } VkEventCreateInfo;
2334 typedef struct VkFenceCreateInfo {
2335 VkStructureType sType;
2337 VkFenceCreateFlags flags;
2338 } VkFenceCreateInfo;
2339 typedef struct VkPhysicalDeviceFeatures {
2340 VkBool32 robustBufferAccess;
2341 VkBool32 fullDrawIndexUint32;
2342 VkBool32 imageCubeArray;
2343 VkBool32 independentBlend;
2344 VkBool32 geometryShader;
2345 VkBool32 tessellationShader;
2346 VkBool32 sampleRateShading;
2347 VkBool32 dualSrcBlend;
2349 VkBool32 multiDrawIndirect;
2350 VkBool32 drawIndirectFirstInstance;
2351 VkBool32 depthClamp;
2352 VkBool32 depthBiasClamp;
2353 VkBool32 fillModeNonSolid;
2354 VkBool32 depthBounds;
2356 VkBool32 largePoints;
2357 VkBool32 alphaToOne;
2358 VkBool32 multiViewport;
2359 VkBool32 samplerAnisotropy;
2360 VkBool32 textureCompressionETC2;
2361 VkBool32 textureCompressionASTC_LDR;
2362 VkBool32 textureCompressionBC;
2363 VkBool32 occlusionQueryPrecise;
2364 VkBool32 pipelineStatisticsQuery;
2365 VkBool32 vertexPipelineStoresAndAtomics;
2366 VkBool32 fragmentStoresAndAtomics;
2367 VkBool32 shaderTessellationAndGeometryPointSize;
2368 VkBool32 shaderImageGatherExtended;
2369 VkBool32 shaderStorageImageExtendedFormats;
2370 VkBool32 shaderStorageImageMultisample;
2371 VkBool32 shaderStorageImageReadWithoutFormat;
2372 VkBool32 shaderStorageImageWriteWithoutFormat;
2373 VkBool32 shaderUniformBufferArrayDynamicIndexing;
2374 VkBool32 shaderSampledImageArrayDynamicIndexing;
2375 VkBool32 shaderStorageBufferArrayDynamicIndexing;
2376 VkBool32 shaderStorageImageArrayDynamicIndexing;
2377 VkBool32 shaderClipDistance;
2378 VkBool32 shaderCullDistance;
2379 VkBool32 shaderFloat64;
2380 VkBool32 shaderInt64;
2381 VkBool32 shaderInt16;
2382 VkBool32 shaderResourceResidency;
2383 VkBool32 shaderResourceMinLod;
2384 VkBool32 sparseBinding;
2385 VkBool32 sparseResidencyBuffer;
2386 VkBool32 sparseResidencyImage2D;
2387 VkBool32 sparseResidencyImage3D;
2388 VkBool32 sparseResidency2Samples;
2389 VkBool32 sparseResidency4Samples;
2390 VkBool32 sparseResidency8Samples;
2391 VkBool32 sparseResidency16Samples;
2392 VkBool32 sparseResidencyAliased;
2393 VkBool32 variableMultisampleRate;
2394 VkBool32 inheritedQueries;
2395 } VkPhysicalDeviceFeatures;
2396 typedef struct VkPhysicalDeviceSparseProperties {
2397 VkBool32 residencyStandard2DBlockShape;
2398 VkBool32 residencyStandard2DMultisampleBlockShape;
2399 VkBool32 residencyStandard3DBlockShape;
2400 VkBool32 residencyAlignedMipSize;
2401 VkBool32 residencyNonResidentStrict;
2402 } VkPhysicalDeviceSparseProperties;
2403 typedef struct VkPhysicalDeviceLimits {
2404 uint32_t maxImageDimension1D;
2405 uint32_t maxImageDimension2D;
2406 uint32_t maxImageDimension3D;
2407 uint32_t maxImageDimensionCube;
2408 uint32_t maxImageArrayLayers;
2409 uint32_t maxTexelBufferElements;
2410 uint32_t maxUniformBufferRange;
2411 uint32_t maxStorageBufferRange;
2412 uint32_t maxPushConstantsSize;
2413 uint32_t maxMemoryAllocationCount;
2414 uint32_t maxSamplerAllocationCount;
2415 VkDeviceSize bufferImageGranularity;
2416 VkDeviceSize sparseAddressSpaceSize;
2417 uint32_t maxBoundDescriptorSets;
2418 uint32_t maxPerStageDescriptorSamplers;
2419 uint32_t maxPerStageDescriptorUniformBuffers;
2420 uint32_t maxPerStageDescriptorStorageBuffers;
2421 uint32_t maxPerStageDescriptorSampledImages;
2422 uint32_t maxPerStageDescriptorStorageImages;
2423 uint32_t maxPerStageDescriptorInputAttachments;
2424 uint32_t maxPerStageResources;
2425 uint32_t maxDescriptorSetSamplers;
2426 uint32_t maxDescriptorSetUniformBuffers;
2427 uint32_t maxDescriptorSetUniformBuffersDynamic;
2428 uint32_t maxDescriptorSetStorageBuffers;
2429 uint32_t maxDescriptorSetStorageBuffersDynamic;
2430 uint32_t maxDescriptorSetSampledImages;
2431 uint32_t maxDescriptorSetStorageImages;
2432 uint32_t maxDescriptorSetInputAttachments;
2433 uint32_t maxVertexInputAttributes;
2434 uint32_t maxVertexInputBindings;
2435 uint32_t maxVertexInputAttributeOffset;
2436 uint32_t maxVertexInputBindingStride;
2437 uint32_t maxVertexOutputComponents;
2438 uint32_t maxTessellationGenerationLevel;
2439 uint32_t maxTessellationPatchSize;
2440 uint32_t maxTessellationControlPerVertexInputComponents;
2441 uint32_t maxTessellationControlPerVertexOutputComponents;
2442 uint32_t maxTessellationControlPerPatchOutputComponents;
2443 uint32_t maxTessellationControlTotalOutputComponents;
2444 uint32_t maxTessellationEvaluationInputComponents;
2445 uint32_t maxTessellationEvaluationOutputComponents;
2446 uint32_t maxGeometryShaderInvocations;
2447 uint32_t maxGeometryInputComponents;
2448 uint32_t maxGeometryOutputComponents;
2449 uint32_t maxGeometryOutputVertices;
2450 uint32_t maxGeometryTotalOutputComponents;
2451 uint32_t maxFragmentInputComponents;
2452 uint32_t maxFragmentOutputAttachments;
2453 uint32_t maxFragmentDualSrcAttachments;
2454 uint32_t maxFragmentCombinedOutputResources;
2455 uint32_t maxComputeSharedMemorySize;
2456 uint32_t maxComputeWorkGroupCount [3];
2457 uint32_t maxComputeWorkGroupInvocations;
2458 uint32_t maxComputeWorkGroupSize [3];
2459 uint32_t subPixelPrecisionBits;
2460 uint32_t subTexelPrecisionBits;
2461 uint32_t mipmapPrecisionBits;
2462 uint32_t maxDrawIndexedIndexValue;
2463 uint32_t maxDrawIndirectCount;
2464 float maxSamplerLodBias;
2465 float maxSamplerAnisotropy;
2466 uint32_t maxViewports;
2467 uint32_t maxViewportDimensions [2];
2468 float viewportBoundsRange [2];
2469 uint32_t viewportSubPixelBits;
2470 size_t minMemoryMapAlignment;
2471 VkDeviceSize minTexelBufferOffsetAlignment;
2472 VkDeviceSize minUniformBufferOffsetAlignment;
2473 VkDeviceSize minStorageBufferOffsetAlignment;
2474 int32_t minTexelOffset;
2475 uint32_t maxTexelOffset;
2476 int32_t minTexelGatherOffset;
2477 uint32_t maxTexelGatherOffset;
2478 float minInterpolationOffset;
2479 float maxInterpolationOffset;
2480 uint32_t subPixelInterpolationOffsetBits;
2481 uint32_t maxFramebufferWidth;
2482 uint32_t maxFramebufferHeight;
2483 uint32_t maxFramebufferLayers;
2484 VkSampleCountFlags framebufferColorSampleCounts;
2485 VkSampleCountFlags framebufferDepthSampleCounts;
2486 VkSampleCountFlags framebufferStencilSampleCounts;
2487 VkSampleCountFlags framebufferNoAttachmentsSampleCounts;
2488 uint32_t maxColorAttachments;
2489 VkSampleCountFlags sampledImageColorSampleCounts;
2490 VkSampleCountFlags sampledImageIntegerSampleCounts;
2491 VkSampleCountFlags sampledImageDepthSampleCounts;
2492 VkSampleCountFlags sampledImageStencilSampleCounts;
2493 VkSampleCountFlags storageImageSampleCounts;
2494 uint32_t maxSampleMaskWords;
2495 VkBool32 timestampComputeAndGraphics;
2496 float timestampPeriod;
2497 uint32_t maxClipDistances;
2498 uint32_t maxCullDistances;
2499 uint32_t maxCombinedClipAndCullDistances;
2500 uint32_t discreteQueuePriorities;
2501 float pointSizeRange [2];
2502 float lineWidthRange [2];
2503 float pointSizeGranularity;
2504 float lineWidthGranularity;
2505 VkBool32 strictLines;
2506 VkBool32 standardSampleLocations;
2507 VkDeviceSize optimalBufferCopyOffsetAlignment;
2508 VkDeviceSize optimalBufferCopyRowPitchAlignment;
2509 VkDeviceSize nonCoherentAtomSize;
2510 } VkPhysicalDeviceLimits;
2511 typedef struct VkSemaphoreCreateInfo {
2512 VkStructureType sType;
2514 VkSemaphoreCreateFlags flags;
2515 } VkSemaphoreCreateInfo;
2516 typedef struct VkQueryPoolCreateInfo {
2517 VkStructureType sType;
2519 VkQueryPoolCreateFlags flags;
2520 VkQueryType queryType;
2521 uint32_t queryCount;
2522 VkQueryPipelineStatisticFlags pipelineStatistics;
2523 } VkQueryPoolCreateInfo;
2524 typedef struct VkFramebufferCreateInfo {
2525 VkStructureType sType;
2527 VkFramebufferCreateFlags flags;
2528 VkRenderPass renderPass;
2529 uint32_t attachmentCount;
2530 const VkImageView * pAttachments;
2534 } VkFramebufferCreateInfo;
2535 typedef struct VkSubmitInfo {
2536 VkStructureType sType;
2538 uint32_t waitSemaphoreCount;
2539 const VkSemaphore * pWaitSemaphores;
2540 const VkPipelineStageFlags * pWaitDstStageMask;
2541 uint32_t commandBufferCount;
2542 const VkCommandBuffer * pCommandBuffers;
2543 uint32_t signalSemaphoreCount;
2544 const VkSemaphore * pSignalSemaphores;
2546 typedef struct VkSurfaceCapabilitiesKHR {
2547 uint32_t minImageCount;
2548 uint32_t maxImageCount;
2549 VkExtent2D currentExtent;
2550 VkExtent2D minImageExtent;
2551 VkExtent2D maxImageExtent;
2552 uint32_t maxImageArrayLayers;
2553 VkSurfaceTransformFlagsKHR supportedTransforms;
2554 VkSurfaceTransformFlagBitsKHR currentTransform;
2555 VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
2556 VkImageUsageFlags supportedUsageFlags;
2557 } VkSurfaceCapabilitiesKHR;
2558 typedef struct VkSwapchainCreateInfoKHR {
2559 VkStructureType sType;
2561 VkSwapchainCreateFlagsKHR flags;
2562 VkSurfaceKHR surface;
2563 uint32_t minImageCount;
2564 VkFormat imageFormat;
2565 VkColorSpaceKHR imageColorSpace;
2566 VkExtent2D imageExtent;
2567 uint32_t imageArrayLayers;
2568 VkImageUsageFlags imageUsage;
2569 VkSharingMode imageSharingMode;
2570 uint32_t queueFamilyIndexCount;
2571 const uint32_t * pQueueFamilyIndices;
2572 VkSurfaceTransformFlagBitsKHR preTransform;
2573 VkCompositeAlphaFlagBitsKHR compositeAlpha;
2574 VkPresentModeKHR presentMode;
2576 VkSwapchainKHR oldSwapchain;
2577 } VkSwapchainCreateInfoKHR;
2578 typedef struct VkDebugReportCallbackCreateInfoEXT {
2579 VkStructureType sType;
2581 VkDebugReportFlagsEXT flags;
2582 PFN_vkDebugReportCallbackEXT pfnCallback;
2584 } VkDebugReportCallbackCreateInfoEXT;
2585 typedef struct VkPhysicalDeviceFeatures2 {
2586 VkStructureType sType;
2588 VkPhysicalDeviceFeatures features;
2589 } VkPhysicalDeviceFeatures2;
2590 typedef struct VkFormatProperties2 {
2591 VkStructureType sType;
2593 VkFormatProperties formatProperties;
2594 } VkFormatProperties2;
2595 typedef struct VkImageFormatProperties2 {
2596 VkStructureType sType;
2598 VkImageFormatProperties imageFormatProperties;
2599 } VkImageFormatProperties2;
2600 typedef struct VkPhysicalDeviceImageFormatInfo2 {
2601 VkStructureType sType;
2605 VkImageTiling tiling;
2606 VkImageUsageFlags usage;
2607 VkImageCreateFlags flags;
2608 } VkPhysicalDeviceImageFormatInfo2;
2609 typedef struct VkQueueFamilyProperties2 {
2610 VkStructureType sType;
2612 VkQueueFamilyProperties queueFamilyProperties;
2613 } VkQueueFamilyProperties2;
2614 typedef struct VkSparseImageFormatProperties2 {
2615 VkStructureType sType;
2617 VkSparseImageFormatProperties properties;
2618 } VkSparseImageFormatProperties2;
2619 typedef struct VkPhysicalDeviceSparseImageFormatInfo2 {
2620 VkStructureType sType;
2624 VkSampleCountFlagBits samples;
2625 VkImageUsageFlags usage;
2626 VkImageTiling tiling;
2627 } VkPhysicalDeviceSparseImageFormatInfo2;
2628 typedef struct VkPhysicalDeviceVariablePointersFeatures {
2629 VkStructureType sType;
2631 VkBool32 variablePointersStorageBuffer;
2632 VkBool32 variablePointers;
2633 } VkPhysicalDeviceVariablePointersFeatures;
2634 typedef struct VkPhysicalDeviceVariablePointerFeatures VkPhysicalDeviceVariablePointerFeatures;
2635 typedef struct VkExternalMemoryProperties {
2636 VkExternalMemoryFeatureFlags externalMemoryFeatures;
2637 VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes;
2638 VkExternalMemoryHandleTypeFlags compatibleHandleTypes;
2639 } VkExternalMemoryProperties;
2640 typedef struct VkExternalImageFormatProperties {
2641 VkStructureType sType;
2643 VkExternalMemoryProperties externalMemoryProperties;
2644 } VkExternalImageFormatProperties;
2645 typedef struct VkPhysicalDeviceExternalBufferInfo {
2646 VkStructureType sType;
2648 VkBufferCreateFlags flags;
2649 VkBufferUsageFlags usage;
2650 VkExternalMemoryHandleTypeFlagBits handleType;
2651 } VkPhysicalDeviceExternalBufferInfo;
2652 typedef struct VkExternalBufferProperties {
2653 VkStructureType sType;
2655 VkExternalMemoryProperties externalMemoryProperties;
2656 } VkExternalBufferProperties;
2657 typedef struct VkPhysicalDeviceIDProperties {
2658 VkStructureType sType;
2660 uint8_t deviceUUID [ VK_UUID_SIZE ];
2661 uint8_t driverUUID [ VK_UUID_SIZE ];
2662 uint8_t deviceLUID [ VK_LUID_SIZE ];
2663 uint32_t deviceNodeMask;
2664 VkBool32 deviceLUIDValid;
2665 } VkPhysicalDeviceIDProperties;
2666 typedef struct VkExternalMemoryImageCreateInfo {
2667 VkStructureType sType;
2669 VkExternalMemoryHandleTypeFlags handleTypes;
2670 } VkExternalMemoryImageCreateInfo;
2671 typedef struct VkExternalMemoryBufferCreateInfo {
2672 VkStructureType sType;
2674 VkExternalMemoryHandleTypeFlags handleTypes;
2675 } VkExternalMemoryBufferCreateInfo;
2676 typedef struct VkExportMemoryAllocateInfo {
2677 VkStructureType sType;
2679 VkExternalMemoryHandleTypeFlags handleTypes;
2680 } VkExportMemoryAllocateInfo;
2681 typedef struct VkExternalSemaphoreProperties {
2682 VkStructureType sType;
2684 VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes;
2685 VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes;
2686 VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures;
2687 } VkExternalSemaphoreProperties;
2688 typedef struct VkExportSemaphoreCreateInfo {
2689 VkStructureType sType;
2691 VkExternalSemaphoreHandleTypeFlags handleTypes;
2692 } VkExportSemaphoreCreateInfo;
2693 typedef struct VkExternalFenceProperties {
2694 VkStructureType sType;
2696 VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes;
2697 VkExternalFenceHandleTypeFlags compatibleHandleTypes;
2698 VkExternalFenceFeatureFlags externalFenceFeatures;
2699 } VkExternalFenceProperties;
2700 typedef struct VkExportFenceCreateInfo {
2701 VkStructureType sType;
2703 VkExternalFenceHandleTypeFlags handleTypes;
2704 } VkExportFenceCreateInfo;
2705 typedef struct VkPhysicalDeviceMultiviewFeatures {
2706 VkStructureType sType;
2709 VkBool32 multiviewGeometryShader;
2710 VkBool32 multiviewTessellationShader;
2711 } VkPhysicalDeviceMultiviewFeatures;
2712 typedef struct VkPhysicalDeviceGroupProperties {
2713 VkStructureType sType;
2715 uint32_t physicalDeviceCount;
2716 VkPhysicalDevice physicalDevices [ VK_MAX_DEVICE_GROUP_SIZE ];
2717 VkBool32 subsetAllocation;
2718 } VkPhysicalDeviceGroupProperties;
2719 typedef struct VkMemoryAllocateFlagsInfo {
2720 VkStructureType sType;
2722 VkMemoryAllocateFlags flags;
2723 uint32_t deviceMask;
2724 } VkMemoryAllocateFlagsInfo;
2725 typedef struct VkBindBufferMemoryInfo {
2726 VkStructureType sType;
2729 VkDeviceMemory memory;
2730 VkDeviceSize memoryOffset;
2731 } VkBindBufferMemoryInfo;
2732 typedef struct VkBindImageMemoryInfo {
2733 VkStructureType sType;
2736 VkDeviceMemory memory;
2737 VkDeviceSize memoryOffset;
2738 } VkBindImageMemoryInfo;
2739 typedef struct VkDeviceGroupPresentCapabilitiesKHR {
2740 VkStructureType sType;
2742 uint32_t presentMask [ VK_MAX_DEVICE_GROUP_SIZE ];
2743 VkDeviceGroupPresentModeFlagsKHR modes;
2744 } VkDeviceGroupPresentCapabilitiesKHR;
2745 typedef struct VkDeviceGroupSwapchainCreateInfoKHR {
2746 VkStructureType sType;
2748 VkDeviceGroupPresentModeFlagsKHR modes;
2749 } VkDeviceGroupSwapchainCreateInfoKHR;
2750 typedef struct VkDescriptorUpdateTemplateCreateInfo {
2751 VkStructureType sType;
2753 VkDescriptorUpdateTemplateCreateFlags flags;
2754 uint32_t descriptorUpdateEntryCount;
2755 const VkDescriptorUpdateTemplateEntry * pDescriptorUpdateEntries;
2756 VkDescriptorUpdateTemplateType templateType;
2757 VkDescriptorSetLayout descriptorSetLayout;
2758 VkPipelineBindPoint pipelineBindPoint;
2759 VkPipelineLayout pipelineLayout;
2761 } VkDescriptorUpdateTemplateCreateInfo;
2762 typedef struct VkInputAttachmentAspectReference {
2764 uint32_t inputAttachmentIndex;
2765 VkImageAspectFlags aspectMask;
2766 } VkInputAttachmentAspectReference;
2767 typedef struct VkRenderPassInputAttachmentAspectCreateInfo {
2768 VkStructureType sType;
2770 uint32_t aspectReferenceCount;
2771 const VkInputAttachmentAspectReference * pAspectReferences;
2772 } VkRenderPassInputAttachmentAspectCreateInfo;
2773 typedef struct VkPhysicalDevice16BitStorageFeatures {
2774 VkStructureType sType;
2776 VkBool32 storageBuffer16BitAccess;
2777 VkBool32 uniformAndStorageBuffer16BitAccess;
2778 VkBool32 storagePushConstant16;
2779 VkBool32 storageInputOutput16;
2780 } VkPhysicalDevice16BitStorageFeatures;
2781 typedef struct VkPhysicalDeviceSubgroupProperties {
2782 VkStructureType sType;
2784 uint32_t subgroupSize;
2785 VkShaderStageFlags supportedStages;
2786 VkSubgroupFeatureFlags supportedOperations;
2787 VkBool32 quadOperationsInAllStages;
2788 } VkPhysicalDeviceSubgroupProperties;
2789 typedef struct VkMemoryRequirements2 {
2790 VkStructureType sType;
2792 VkMemoryRequirements memoryRequirements;
2793 } VkMemoryRequirements2;
2794 typedef struct VkMemoryRequirements2KHR VkMemoryRequirements2KHR;
2795 typedef struct VkSparseImageMemoryRequirements2 {
2796 VkStructureType sType;
2798 VkSparseImageMemoryRequirements memoryRequirements;
2799 } VkSparseImageMemoryRequirements2;
2800 typedef struct VkMemoryDedicatedRequirements {
2801 VkStructureType sType;
2803 VkBool32 prefersDedicatedAllocation;
2804 VkBool32 requiresDedicatedAllocation;
2805 } VkMemoryDedicatedRequirements;
2806 typedef struct VkImageViewUsageCreateInfo {
2807 VkStructureType sType;
2809 VkImageUsageFlags usage;
2810 } VkImageViewUsageCreateInfo;
2811 typedef struct VkSamplerYcbcrConversionCreateInfo {
2812 VkStructureType sType;
2815 VkSamplerYcbcrModelConversion ycbcrModel;
2816 VkSamplerYcbcrRange ycbcrRange;
2817 VkComponentMapping components;
2818 VkChromaLocation xChromaOffset;
2819 VkChromaLocation yChromaOffset;
2820 VkFilter chromaFilter;
2821 VkBool32 forceExplicitReconstruction;
2822 } VkSamplerYcbcrConversionCreateInfo;
2823 typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
2824 VkStructureType sType;
2826 VkBool32 samplerYcbcrConversion;
2827 } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
2828 typedef struct VkProtectedSubmitInfo {
2829 VkStructureType sType;
2831 VkBool32 protectedSubmit;
2832 } VkProtectedSubmitInfo;
2833 typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
2834 VkStructureType sType;
2836 VkBool32 protectedMemory;
2837 } VkPhysicalDeviceProtectedMemoryFeatures;
2838 typedef struct VkPhysicalDeviceProtectedMemoryProperties {
2839 VkStructureType sType;
2841 VkBool32 protectedNoFault;
2842 } VkPhysicalDeviceProtectedMemoryProperties;
2843 typedef struct VkDeviceQueueInfo2 {
2844 VkStructureType sType;
2846 VkDeviceQueueCreateFlags flags;
2847 uint32_t queueFamilyIndex;
2848 uint32_t queueIndex;
2849 } VkDeviceQueueInfo2;
2850 typedef struct VkPhysicalDeviceMaintenance3Properties {
2851 VkStructureType sType;
2853 uint32_t maxPerSetDescriptors;
2854 VkDeviceSize maxMemoryAllocationSize;
2855 } VkPhysicalDeviceMaintenance3Properties;
2856 typedef struct VkDescriptorSetLayoutSupport {
2857 VkStructureType sType;
2860 } VkDescriptorSetLayoutSupport;
2861 typedef struct VkPhysicalDeviceShaderDrawParametersFeatures {
2862 VkStructureType sType;
2864 VkBool32 shaderDrawParameters;
2865 } VkPhysicalDeviceShaderDrawParametersFeatures;
2866 typedef struct VkPhysicalDeviceShaderDrawParameterFeatures VkPhysicalDeviceShaderDrawParameterFeatures;
2867 typedef struct VkPhysicalDeviceProperties {
2868 uint32_t apiVersion;
2869 uint32_t driverVersion;
2872 VkPhysicalDeviceType deviceType;
2873 char deviceName [ VK_MAX_PHYSICAL_DEVICE_NAME_SIZE ];
2874 uint8_t pipelineCacheUUID [ VK_UUID_SIZE ];
2875 VkPhysicalDeviceLimits limits;
2876 VkPhysicalDeviceSparseProperties sparseProperties;
2877 } VkPhysicalDeviceProperties;
2878 typedef struct VkDeviceCreateInfo {
2879 VkStructureType sType;
2881 VkDeviceCreateFlags flags;
2882 uint32_t queueCreateInfoCount;
2883 const VkDeviceQueueCreateInfo * pQueueCreateInfos;
2884 uint32_t enabledLayerCount;
2885 const char * const* ppEnabledLayerNames;
2886 uint32_t enabledExtensionCount;
2887 const char * const* ppEnabledExtensionNames;
2888 const VkPhysicalDeviceFeatures * pEnabledFeatures;
2889 } VkDeviceCreateInfo;
2890 typedef struct VkPhysicalDeviceMemoryProperties {
2891 uint32_t memoryTypeCount;
2892 VkMemoryType memoryTypes [ VK_MAX_MEMORY_TYPES ];
2893 uint32_t memoryHeapCount;
2894 VkMemoryHeap memoryHeaps [ VK_MAX_MEMORY_HEAPS ];
2895 } VkPhysicalDeviceMemoryProperties;
2896 typedef struct VkPhysicalDeviceProperties2 {
2897 VkStructureType sType;
2899 VkPhysicalDeviceProperties properties;
2900 } VkPhysicalDeviceProperties2;
2901 typedef struct VkPhysicalDeviceMemoryProperties2 {
2902 VkStructureType sType;
2904 VkPhysicalDeviceMemoryProperties memoryProperties;
2905 } VkPhysicalDeviceMemoryProperties2;
2908 #define VK_VERSION_1_0 1
2909 GLAD_API_CALL int GLAD_VK_VERSION_1_0;
2910 #define VK_VERSION_1_1 1
2911 GLAD_API_CALL int GLAD_VK_VERSION_1_1;
2912 #define VK_EXT_debug_report 1
2913 GLAD_API_CALL int GLAD_VK_EXT_debug_report;
2914 #define VK_KHR_surface 1
2915 GLAD_API_CALL int GLAD_VK_KHR_surface;
2916 #define VK_KHR_swapchain 1
2917 GLAD_API_CALL int GLAD_VK_KHR_swapchain;
2920 typedef VkResult (GLAD_API_PTR *PFN_vkAcquireNextImage2KHR)(VkDevice device, const VkAcquireNextImageInfoKHR * pAcquireInfo, uint32_t * pImageIndex);
2921 typedef VkResult (GLAD_API_PTR *PFN_vkAcquireNextImageKHR)(VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t * pImageIndex);
2922 typedef VkResult (GLAD_API_PTR *PFN_vkAllocateCommandBuffers)(VkDevice device, const VkCommandBufferAllocateInfo * pAllocateInfo, VkCommandBuffer * pCommandBuffers);
2923 typedef VkResult (GLAD_API_PTR *PFN_vkAllocateDescriptorSets)(VkDevice device, const VkDescriptorSetAllocateInfo * pAllocateInfo, VkDescriptorSet * pDescriptorSets);
2924 typedef VkResult (GLAD_API_PTR *PFN_vkAllocateMemory)(VkDevice device, const VkMemoryAllocateInfo * pAllocateInfo, const VkAllocationCallbacks * pAllocator, VkDeviceMemory * pMemory);
2925 typedef VkResult (GLAD_API_PTR *PFN_vkBeginCommandBuffer)(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo * pBeginInfo);
2926 typedef VkResult (GLAD_API_PTR *PFN_vkBindBufferMemory)(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset);
2927 typedef VkResult (GLAD_API_PTR *PFN_vkBindBufferMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo * pBindInfos);
2928 typedef VkResult (GLAD_API_PTR *PFN_vkBindImageMemory)(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset);
2929 typedef VkResult (GLAD_API_PTR *PFN_vkBindImageMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo * pBindInfos);
2930 typedef void (GLAD_API_PTR *PFN_vkCmdBeginQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags);
2931 typedef void (GLAD_API_PTR *PFN_vkCmdBeginRenderPass)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo * pRenderPassBegin, VkSubpassContents contents);
2932 typedef void (GLAD_API_PTR *PFN_vkCmdBindDescriptorSets)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet * pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t * pDynamicOffsets);
2933 typedef void (GLAD_API_PTR *PFN_vkCmdBindIndexBuffer)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType);
2934 typedef void (GLAD_API_PTR *PFN_vkCmdBindPipeline)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline);
2935 typedef void (GLAD_API_PTR *PFN_vkCmdBindVertexBuffers)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer * pBuffers, const VkDeviceSize * pOffsets);
2936 typedef void (GLAD_API_PTR *PFN_vkCmdBlitImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit * pRegions, VkFilter filter);
2937 typedef void (GLAD_API_PTR *PFN_vkCmdClearAttachments)(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment * pAttachments, uint32_t rectCount, const VkClearRect * pRects);
2938 typedef void (GLAD_API_PTR *PFN_vkCmdClearColorImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue * pColor, uint32_t rangeCount, const VkImageSubresourceRange * pRanges);
2939 typedef void (GLAD_API_PTR *PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue * pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange * pRanges);
2940 typedef void (GLAD_API_PTR *PFN_vkCmdCopyBuffer)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy * pRegions);
2941 typedef void (GLAD_API_PTR *PFN_vkCmdCopyBufferToImage)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy * pRegions);
2942 typedef void (GLAD_API_PTR *PFN_vkCmdCopyImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy * pRegions);
2943 typedef void (GLAD_API_PTR *PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy * pRegions);
2944 typedef void (GLAD_API_PTR *PFN_vkCmdCopyQueryPoolResults)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags);
2945 typedef void (GLAD_API_PTR *PFN_vkCmdDispatch)(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ);
2946 typedef void (GLAD_API_PTR *PFN_vkCmdDispatchBase)(VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ);
2947 typedef void (GLAD_API_PTR *PFN_vkCmdDispatchIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset);
2948 typedef void (GLAD_API_PTR *PFN_vkCmdDraw)(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance);
2949 typedef void (GLAD_API_PTR *PFN_vkCmdDrawIndexed)(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance);
2950 typedef void (GLAD_API_PTR *PFN_vkCmdDrawIndexedIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
2951 typedef void (GLAD_API_PTR *PFN_vkCmdDrawIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
2952 typedef void (GLAD_API_PTR *PFN_vkCmdEndQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query);
2953 typedef void (GLAD_API_PTR *PFN_vkCmdEndRenderPass)(VkCommandBuffer commandBuffer);
2954 typedef void (GLAD_API_PTR *PFN_vkCmdExecuteCommands)(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer * pCommandBuffers);
2955 typedef void (GLAD_API_PTR *PFN_vkCmdFillBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data);
2956 typedef void (GLAD_API_PTR *PFN_vkCmdNextSubpass)(VkCommandBuffer commandBuffer, VkSubpassContents contents);
2957 typedef void (GLAD_API_PTR *PFN_vkCmdPipelineBarrier)(VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const VkMemoryBarrier * pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier * pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier * pImageMemoryBarriers);
2958 typedef void (GLAD_API_PTR *PFN_vkCmdPushConstants)(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void * pValues);
2959 typedef void (GLAD_API_PTR *PFN_vkCmdResetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
2960 typedef void (GLAD_API_PTR *PFN_vkCmdResetQueryPool)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount);
2961 typedef void (GLAD_API_PTR *PFN_vkCmdResolveImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve * pRegions);
2962 typedef void (GLAD_API_PTR *PFN_vkCmdSetBlendConstants)(VkCommandBuffer commandBuffer, const float blendConstants [4]);
2963 typedef void (GLAD_API_PTR *PFN_vkCmdSetDepthBias)(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor);
2964 typedef void (GLAD_API_PTR *PFN_vkCmdSetDepthBounds)(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds);
2965 typedef void (GLAD_API_PTR *PFN_vkCmdSetDeviceMask)(VkCommandBuffer commandBuffer, uint32_t deviceMask);
2966 typedef void (GLAD_API_PTR *PFN_vkCmdSetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
2967 typedef void (GLAD_API_PTR *PFN_vkCmdSetLineWidth)(VkCommandBuffer commandBuffer, float lineWidth);
2968 typedef void (GLAD_API_PTR *PFN_vkCmdSetScissor)(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D * pScissors);
2969 typedef void (GLAD_API_PTR *PFN_vkCmdSetStencilCompareMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask);
2970 typedef void (GLAD_API_PTR *PFN_vkCmdSetStencilReference)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference);
2971 typedef void (GLAD_API_PTR *PFN_vkCmdSetStencilWriteMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask);
2972 typedef void (GLAD_API_PTR *PFN_vkCmdSetViewport)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport * pViewports);
2973 typedef void (GLAD_API_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void * pData);
2974 typedef void (GLAD_API_PTR *PFN_vkCmdWaitEvents)(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent * pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const VkMemoryBarrier * pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier * pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier * pImageMemoryBarriers);
2975 typedef void (GLAD_API_PTR *PFN_vkCmdWriteTimestamp)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query);
2976 typedef VkResult (GLAD_API_PTR *PFN_vkCreateBuffer)(VkDevice device, const VkBufferCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkBuffer * pBuffer);
2977 typedef VkResult (GLAD_API_PTR *PFN_vkCreateBufferView)(VkDevice device, const VkBufferViewCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkBufferView * pView);
2978 typedef VkResult (GLAD_API_PTR *PFN_vkCreateCommandPool)(VkDevice device, const VkCommandPoolCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkCommandPool * pCommandPool);
2979 typedef VkResult (GLAD_API_PTR *PFN_vkCreateComputePipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo * pCreateInfos, const VkAllocationCallbacks * pAllocator, VkPipeline * pPipelines);
2980 typedef VkResult (GLAD_API_PTR *PFN_vkCreateDebugReportCallbackEXT)(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkDebugReportCallbackEXT * pCallback);
2981 typedef VkResult (GLAD_API_PTR *PFN_vkCreateDescriptorPool)(VkDevice device, const VkDescriptorPoolCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkDescriptorPool * pDescriptorPool);
2982 typedef VkResult (GLAD_API_PTR *PFN_vkCreateDescriptorSetLayout)(VkDevice device, const VkDescriptorSetLayoutCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkDescriptorSetLayout * pSetLayout);
2983 typedef VkResult (GLAD_API_PTR *PFN_vkCreateDescriptorUpdateTemplate)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkDescriptorUpdateTemplate * pDescriptorUpdateTemplate);
2984 typedef VkResult (GLAD_API_PTR *PFN_vkCreateDevice)(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkDevice * pDevice);
2985 typedef VkResult (GLAD_API_PTR *PFN_vkCreateEvent)(VkDevice device, const VkEventCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkEvent * pEvent);
2986 typedef VkResult (GLAD_API_PTR *PFN_vkCreateFence)(VkDevice device, const VkFenceCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkFence * pFence);
2987 typedef VkResult (GLAD_API_PTR *PFN_vkCreateFramebuffer)(VkDevice device, const VkFramebufferCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkFramebuffer * pFramebuffer);
2988 typedef VkResult (GLAD_API_PTR *PFN_vkCreateGraphicsPipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo * pCreateInfos, const VkAllocationCallbacks * pAllocator, VkPipeline * pPipelines);
2989 typedef VkResult (GLAD_API_PTR *PFN_vkCreateImage)(VkDevice device, const VkImageCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkImage * pImage);
2990 typedef VkResult (GLAD_API_PTR *PFN_vkCreateImageView)(VkDevice device, const VkImageViewCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkImageView * pView);
2991 typedef VkResult (GLAD_API_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkInstance * pInstance);
2992 typedef VkResult (GLAD_API_PTR *PFN_vkCreatePipelineCache)(VkDevice device, const VkPipelineCacheCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkPipelineCache * pPipelineCache);
2993 typedef VkResult (GLAD_API_PTR *PFN_vkCreatePipelineLayout)(VkDevice device, const VkPipelineLayoutCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkPipelineLayout * pPipelineLayout);
2994 typedef VkResult (GLAD_API_PTR *PFN_vkCreateQueryPool)(VkDevice device, const VkQueryPoolCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkQueryPool * pQueryPool);
2995 typedef VkResult (GLAD_API_PTR *PFN_vkCreateRenderPass)(VkDevice device, const VkRenderPassCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkRenderPass * pRenderPass);
2996 typedef VkResult (GLAD_API_PTR *PFN_vkCreateSampler)(VkDevice device, const VkSamplerCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkSampler * pSampler);
2997 typedef VkResult (GLAD_API_PTR *PFN_vkCreateSamplerYcbcrConversion)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkSamplerYcbcrConversion * pYcbcrConversion);
2998 typedef VkResult (GLAD_API_PTR *PFN_vkCreateSemaphore)(VkDevice device, const VkSemaphoreCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkSemaphore * pSemaphore);
2999 typedef VkResult (GLAD_API_PTR *PFN_vkCreateShaderModule)(VkDevice device, const VkShaderModuleCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkShaderModule * pShaderModule);
3000 typedef VkResult (GLAD_API_PTR *PFN_vkCreateSwapchainKHR)(VkDevice device, const VkSwapchainCreateInfoKHR * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkSwapchainKHR * pSwapchain);
3001 typedef void (GLAD_API_PTR *PFN_vkDebugReportMessageEXT)(VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, uint64_t object, size_t location, int32_t messageCode, const char * pLayerPrefix, const char * pMessage);
3002 typedef void (GLAD_API_PTR *PFN_vkDestroyBuffer)(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks * pAllocator);
3003 typedef void (GLAD_API_PTR *PFN_vkDestroyBufferView)(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks * pAllocator);
3004 typedef void (GLAD_API_PTR *PFN_vkDestroyCommandPool)(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks * pAllocator);
3005 typedef void (GLAD_API_PTR *PFN_vkDestroyDebugReportCallbackEXT)(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks * pAllocator);
3006 typedef void (GLAD_API_PTR *PFN_vkDestroyDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks * pAllocator);
3007 typedef void (GLAD_API_PTR *PFN_vkDestroyDescriptorSetLayout)(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks * pAllocator);
3008 typedef void (GLAD_API_PTR *PFN_vkDestroyDescriptorUpdateTemplate)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks * pAllocator);
3009 typedef void (GLAD_API_PTR *PFN_vkDestroyDevice)(VkDevice device, const VkAllocationCallbacks * pAllocator);
3010 typedef void (GLAD_API_PTR *PFN_vkDestroyEvent)(VkDevice device, VkEvent event, const VkAllocationCallbacks * pAllocator);
3011 typedef void (GLAD_API_PTR *PFN_vkDestroyFence)(VkDevice device, VkFence fence, const VkAllocationCallbacks * pAllocator);
3012 typedef void (GLAD_API_PTR *PFN_vkDestroyFramebuffer)(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks * pAllocator);
3013 typedef void (GLAD_API_PTR *PFN_vkDestroyImage)(VkDevice device, VkImage image, const VkAllocationCallbacks * pAllocator);
3014 typedef void (GLAD_API_PTR *PFN_vkDestroyImageView)(VkDevice device, VkImageView imageView, const VkAllocationCallbacks * pAllocator);
3015 typedef void (GLAD_API_PTR *PFN_vkDestroyInstance)(VkInstance instance, const VkAllocationCallbacks * pAllocator);
3016 typedef void (GLAD_API_PTR *PFN_vkDestroyPipeline)(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks * pAllocator);
3017 typedef void (GLAD_API_PTR *PFN_vkDestroyPipelineCache)(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks * pAllocator);
3018 typedef void (GLAD_API_PTR *PFN_vkDestroyPipelineLayout)(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks * pAllocator);
3019 typedef void (GLAD_API_PTR *PFN_vkDestroyQueryPool)(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks * pAllocator);
3020 typedef void (GLAD_API_PTR *PFN_vkDestroyRenderPass)(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks * pAllocator);
3021 typedef void (GLAD_API_PTR *PFN_vkDestroySampler)(VkDevice device, VkSampler sampler, const VkAllocationCallbacks * pAllocator);
3022 typedef void (GLAD_API_PTR *PFN_vkDestroySamplerYcbcrConversion)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks * pAllocator);
3023 typedef void (GLAD_API_PTR *PFN_vkDestroySemaphore)(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks * pAllocator);
3024 typedef void (GLAD_API_PTR *PFN_vkDestroyShaderModule)(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks * pAllocator);
3025 typedef void (GLAD_API_PTR *PFN_vkDestroySurfaceKHR)(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks * pAllocator);
3026 typedef void (GLAD_API_PTR *PFN_vkDestroySwapchainKHR)(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks * pAllocator);
3027 typedef VkResult (GLAD_API_PTR *PFN_vkDeviceWaitIdle)(VkDevice device);
3028 typedef VkResult (GLAD_API_PTR *PFN_vkEndCommandBuffer)(VkCommandBuffer commandBuffer);
3029 typedef VkResult (GLAD_API_PTR *PFN_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice physicalDevice, const char * pLayerName, uint32_t * pPropertyCount, VkExtensionProperties * pProperties);
3030 typedef VkResult (GLAD_API_PTR *PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice physicalDevice, uint32_t * pPropertyCount, VkLayerProperties * pProperties);
3031 typedef VkResult (GLAD_API_PTR *PFN_vkEnumerateInstanceExtensionProperties)(const char * pLayerName, uint32_t * pPropertyCount, VkExtensionProperties * pProperties);
3032 typedef VkResult (GLAD_API_PTR *PFN_vkEnumerateInstanceLayerProperties)(uint32_t * pPropertyCount, VkLayerProperties * pProperties);
3033 typedef VkResult (GLAD_API_PTR *PFN_vkEnumerateInstanceVersion)(uint32_t * pApiVersion);
3034 typedef VkResult (GLAD_API_PTR *PFN_vkEnumeratePhysicalDeviceGroups)(VkInstance instance, uint32_t * pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties * pPhysicalDeviceGroupProperties);
3035 typedef VkResult (GLAD_API_PTR *PFN_vkEnumeratePhysicalDevices)(VkInstance instance, uint32_t * pPhysicalDeviceCount, VkPhysicalDevice * pPhysicalDevices);
3036 typedef VkResult (GLAD_API_PTR *PFN_vkFlushMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange * pMemoryRanges);
3037 typedef void (GLAD_API_PTR *PFN_vkFreeCommandBuffers)(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer * pCommandBuffers);
3038 typedef VkResult (GLAD_API_PTR *PFN_vkFreeDescriptorSets)(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet * pDescriptorSets);
3039 typedef void (GLAD_API_PTR *PFN_vkFreeMemory)(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks * pAllocator);
3040 typedef void (GLAD_API_PTR *PFN_vkGetBufferMemoryRequirements)(VkDevice device, VkBuffer buffer, VkMemoryRequirements * pMemoryRequirements);
3041 typedef void (GLAD_API_PTR *PFN_vkGetBufferMemoryRequirements2)(VkDevice device, const VkBufferMemoryRequirementsInfo2 * pInfo, VkMemoryRequirements2 * pMemoryRequirements);
3042 typedef void (GLAD_API_PTR *PFN_vkGetDescriptorSetLayoutSupport)(VkDevice device, const VkDescriptorSetLayoutCreateInfo * pCreateInfo, VkDescriptorSetLayoutSupport * pSupport);
3043 typedef void (GLAD_API_PTR *PFN_vkGetDeviceGroupPeerMemoryFeatures)(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags * pPeerMemoryFeatures);
3044 typedef VkResult (GLAD_API_PTR *PFN_vkGetDeviceGroupPresentCapabilitiesKHR)(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR * pDeviceGroupPresentCapabilities);
3045 typedef VkResult (GLAD_API_PTR *PFN_vkGetDeviceGroupSurfacePresentModesKHR)(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR * pModes);
3046 typedef void (GLAD_API_PTR *PFN_vkGetDeviceMemoryCommitment)(VkDevice device, VkDeviceMemory memory, VkDeviceSize * pCommittedMemoryInBytes);
3047 typedef PFN_vkVoidFunction (GLAD_API_PTR *PFN_vkGetDeviceProcAddr)(VkDevice device, const char * pName);
3048 typedef void (GLAD_API_PTR *PFN_vkGetDeviceQueue)(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue * pQueue);
3049 typedef void (GLAD_API_PTR *PFN_vkGetDeviceQueue2)(VkDevice device, const VkDeviceQueueInfo2 * pQueueInfo, VkQueue * pQueue);
3050 typedef VkResult (GLAD_API_PTR *PFN_vkGetEventStatus)(VkDevice device, VkEvent event);
3051 typedef VkResult (GLAD_API_PTR *PFN_vkGetFenceStatus)(VkDevice device, VkFence fence);
3052 typedef void (GLAD_API_PTR *PFN_vkGetImageMemoryRequirements)(VkDevice device, VkImage image, VkMemoryRequirements * pMemoryRequirements);
3053 typedef void (GLAD_API_PTR *PFN_vkGetImageMemoryRequirements2)(VkDevice device, const VkImageMemoryRequirementsInfo2 * pInfo, VkMemoryRequirements2 * pMemoryRequirements);
3054 typedef void (GLAD_API_PTR *PFN_vkGetImageSparseMemoryRequirements)(VkDevice device, VkImage image, uint32_t * pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements * pSparseMemoryRequirements);
3055 typedef void (GLAD_API_PTR *PFN_vkGetImageSparseMemoryRequirements2)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2 * pInfo, uint32_t * pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements);
3056 typedef void (GLAD_API_PTR *PFN_vkGetImageSubresourceLayout)(VkDevice device, VkImage image, const VkImageSubresource * pSubresource, VkSubresourceLayout * pLayout);
3057 typedef PFN_vkVoidFunction (GLAD_API_PTR *PFN_vkGetInstanceProcAddr)(VkInstance instance, const char * pName);
3058 typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceExternalBufferProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo * pExternalBufferInfo, VkExternalBufferProperties * pExternalBufferProperties);
3059 typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceExternalFenceProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo * pExternalFenceInfo, VkExternalFenceProperties * pExternalFenceProperties);
3060 typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceExternalSemaphoreProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo * pExternalSemaphoreInfo, VkExternalSemaphoreProperties * pExternalSemaphoreProperties);
3061 typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures * pFeatures);
3062 typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceFeatures2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2 * pFeatures);
3063 typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties * pFormatProperties);
3064 typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceFormatProperties2)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2 * pFormatProperties);
3065 typedef VkResult (GLAD_API_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties * pImageFormatProperties);
3066 typedef VkResult (GLAD_API_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2 * pImageFormatInfo, VkImageFormatProperties2 * pImageFormatProperties);
3067 typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties * pMemoryProperties);
3068 typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2 * pMemoryProperties);
3069 typedef VkResult (GLAD_API_PTR *PFN_vkGetPhysicalDevicePresentRectanglesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t * pRectCount, VkRect2D * pRects);
3070 typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties * pProperties);
3071 typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2 * pProperties);
3072 typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice physicalDevice, uint32_t * pQueueFamilyPropertyCount, VkQueueFamilyProperties * pQueueFamilyProperties);
3073 typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2)(VkPhysicalDevice physicalDevice, uint32_t * pQueueFamilyPropertyCount, VkQueueFamilyProperties2 * pQueueFamilyProperties);
3074 typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t * pPropertyCount, VkSparseImageFormatProperties * pProperties);
3075 typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2 * pFormatInfo, uint32_t * pPropertyCount, VkSparseImageFormatProperties2 * pProperties);
3076 typedef VkResult (GLAD_API_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR * pSurfaceCapabilities);
3077 typedef VkResult (GLAD_API_PTR *PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t * pSurfaceFormatCount, VkSurfaceFormatKHR * pSurfaceFormats);
3078 typedef VkResult (GLAD_API_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t * pPresentModeCount, VkPresentModeKHR * pPresentModes);
3079 typedef VkResult (GLAD_API_PTR *PFN_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, VkSurfaceKHR surface, VkBool32 * pSupported);
3080 typedef VkResult (GLAD_API_PTR *PFN_vkGetPipelineCacheData)(VkDevice device, VkPipelineCache pipelineCache, size_t * pDataSize, void * pData);
3081 typedef VkResult (GLAD_API_PTR *PFN_vkGetQueryPoolResults)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void * pData, VkDeviceSize stride, VkQueryResultFlags flags);
3082 typedef void (GLAD_API_PTR *PFN_vkGetRenderAreaGranularity)(VkDevice device, VkRenderPass renderPass, VkExtent2D * pGranularity);
3083 typedef VkResult (GLAD_API_PTR *PFN_vkGetSwapchainImagesKHR)(VkDevice device, VkSwapchainKHR swapchain, uint32_t * pSwapchainImageCount, VkImage * pSwapchainImages);
3084 typedef VkResult (GLAD_API_PTR *PFN_vkInvalidateMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange * pMemoryRanges);
3085 typedef VkResult (GLAD_API_PTR *PFN_vkMapMemory)(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void ** ppData);
3086 typedef VkResult (GLAD_API_PTR *PFN_vkMergePipelineCaches)(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache * pSrcCaches);
3087 typedef VkResult (GLAD_API_PTR *PFN_vkQueueBindSparse)(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo * pBindInfo, VkFence fence);
3088 typedef VkResult (GLAD_API_PTR *PFN_vkQueuePresentKHR)(VkQueue queue, const VkPresentInfoKHR * pPresentInfo);
3089 typedef VkResult (GLAD_API_PTR *PFN_vkQueueSubmit)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo * pSubmits, VkFence fence);
3090 typedef VkResult (GLAD_API_PTR *PFN_vkQueueWaitIdle)(VkQueue queue);
3091 typedef VkResult (GLAD_API_PTR *PFN_vkResetCommandBuffer)(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags);
3092 typedef VkResult (GLAD_API_PTR *PFN_vkResetCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags);
3093 typedef VkResult (GLAD_API_PTR *PFN_vkResetDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags);
3094 typedef VkResult (GLAD_API_PTR *PFN_vkResetEvent)(VkDevice device, VkEvent event);
3095 typedef VkResult (GLAD_API_PTR *PFN_vkResetFences)(VkDevice device, uint32_t fenceCount, const VkFence * pFences);
3096 typedef VkResult (GLAD_API_PTR *PFN_vkSetEvent)(VkDevice device, VkEvent event);
3097 typedef void (GLAD_API_PTR *PFN_vkTrimCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
3098 typedef void (GLAD_API_PTR *PFN_vkUnmapMemory)(VkDevice device, VkDeviceMemory memory);
3099 typedef void (GLAD_API_PTR *PFN_vkUpdateDescriptorSetWithTemplate)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void * pData);
3100 typedef void (GLAD_API_PTR *PFN_vkUpdateDescriptorSets)(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet * pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet * pDescriptorCopies);
3101 typedef VkResult (GLAD_API_PTR *PFN_vkWaitForFences)(VkDevice device, uint32_t fenceCount, const VkFence * pFences, VkBool32 waitAll, uint64_t timeout);
3103 GLAD_API_CALL PFN_vkAcquireNextImage2KHR glad_vkAcquireNextImage2KHR;
3104 #define vkAcquireNextImage2KHR glad_vkAcquireNextImage2KHR
3105 GLAD_API_CALL PFN_vkAcquireNextImageKHR glad_vkAcquireNextImageKHR;
3106 #define vkAcquireNextImageKHR glad_vkAcquireNextImageKHR
3107 GLAD_API_CALL PFN_vkAllocateCommandBuffers glad_vkAllocateCommandBuffers;
3108 #define vkAllocateCommandBuffers glad_vkAllocateCommandBuffers
3109 GLAD_API_CALL PFN_vkAllocateDescriptorSets glad_vkAllocateDescriptorSets;
3110 #define vkAllocateDescriptorSets glad_vkAllocateDescriptorSets
3111 GLAD_API_CALL PFN_vkAllocateMemory glad_vkAllocateMemory;
3112 #define vkAllocateMemory glad_vkAllocateMemory
3113 GLAD_API_CALL PFN_vkBeginCommandBuffer glad_vkBeginCommandBuffer;
3114 #define vkBeginCommandBuffer glad_vkBeginCommandBuffer
3115 GLAD_API_CALL PFN_vkBindBufferMemory glad_vkBindBufferMemory;
3116 #define vkBindBufferMemory glad_vkBindBufferMemory
3117 GLAD_API_CALL PFN_vkBindBufferMemory2 glad_vkBindBufferMemory2;
3118 #define vkBindBufferMemory2 glad_vkBindBufferMemory2
3119 GLAD_API_CALL PFN_vkBindImageMemory glad_vkBindImageMemory;
3120 #define vkBindImageMemory glad_vkBindImageMemory
3121 GLAD_API_CALL PFN_vkBindImageMemory2 glad_vkBindImageMemory2;
3122 #define vkBindImageMemory2 glad_vkBindImageMemory2
3123 GLAD_API_CALL PFN_vkCmdBeginQuery glad_vkCmdBeginQuery;
3124 #define vkCmdBeginQuery glad_vkCmdBeginQuery
3125 GLAD_API_CALL PFN_vkCmdBeginRenderPass glad_vkCmdBeginRenderPass;
3126 #define vkCmdBeginRenderPass glad_vkCmdBeginRenderPass
3127 GLAD_API_CALL PFN_vkCmdBindDescriptorSets glad_vkCmdBindDescriptorSets;
3128 #define vkCmdBindDescriptorSets glad_vkCmdBindDescriptorSets
3129 GLAD_API_CALL PFN_vkCmdBindIndexBuffer glad_vkCmdBindIndexBuffer;
3130 #define vkCmdBindIndexBuffer glad_vkCmdBindIndexBuffer
3131 GLAD_API_CALL PFN_vkCmdBindPipeline glad_vkCmdBindPipeline;
3132 #define vkCmdBindPipeline glad_vkCmdBindPipeline
3133 GLAD_API_CALL PFN_vkCmdBindVertexBuffers glad_vkCmdBindVertexBuffers;
3134 #define vkCmdBindVertexBuffers glad_vkCmdBindVertexBuffers
3135 GLAD_API_CALL PFN_vkCmdBlitImage glad_vkCmdBlitImage;
3136 #define vkCmdBlitImage glad_vkCmdBlitImage
3137 GLAD_API_CALL PFN_vkCmdClearAttachments glad_vkCmdClearAttachments;
3138 #define vkCmdClearAttachments glad_vkCmdClearAttachments
3139 GLAD_API_CALL PFN_vkCmdClearColorImage glad_vkCmdClearColorImage;
3140 #define vkCmdClearColorImage glad_vkCmdClearColorImage
3141 GLAD_API_CALL PFN_vkCmdClearDepthStencilImage glad_vkCmdClearDepthStencilImage;
3142 #define vkCmdClearDepthStencilImage glad_vkCmdClearDepthStencilImage
3143 GLAD_API_CALL PFN_vkCmdCopyBuffer glad_vkCmdCopyBuffer;
3144 #define vkCmdCopyBuffer glad_vkCmdCopyBuffer
3145 GLAD_API_CALL PFN_vkCmdCopyBufferToImage glad_vkCmdCopyBufferToImage;
3146 #define vkCmdCopyBufferToImage glad_vkCmdCopyBufferToImage
3147 GLAD_API_CALL PFN_vkCmdCopyImage glad_vkCmdCopyImage;
3148 #define vkCmdCopyImage glad_vkCmdCopyImage
3149 GLAD_API_CALL PFN_vkCmdCopyImageToBuffer glad_vkCmdCopyImageToBuffer;
3150 #define vkCmdCopyImageToBuffer glad_vkCmdCopyImageToBuffer
3151 GLAD_API_CALL PFN_vkCmdCopyQueryPoolResults glad_vkCmdCopyQueryPoolResults;
3152 #define vkCmdCopyQueryPoolResults glad_vkCmdCopyQueryPoolResults
3153 GLAD_API_CALL PFN_vkCmdDispatch glad_vkCmdDispatch;
3154 #define vkCmdDispatch glad_vkCmdDispatch
3155 GLAD_API_CALL PFN_vkCmdDispatchBase glad_vkCmdDispatchBase;
3156 #define vkCmdDispatchBase glad_vkCmdDispatchBase
3157 GLAD_API_CALL PFN_vkCmdDispatchIndirect glad_vkCmdDispatchIndirect;
3158 #define vkCmdDispatchIndirect glad_vkCmdDispatchIndirect
3159 GLAD_API_CALL PFN_vkCmdDraw glad_vkCmdDraw;
3160 #define vkCmdDraw glad_vkCmdDraw
3161 GLAD_API_CALL PFN_vkCmdDrawIndexed glad_vkCmdDrawIndexed;
3162 #define vkCmdDrawIndexed glad_vkCmdDrawIndexed
3163 GLAD_API_CALL PFN_vkCmdDrawIndexedIndirect glad_vkCmdDrawIndexedIndirect;
3164 #define vkCmdDrawIndexedIndirect glad_vkCmdDrawIndexedIndirect
3165 GLAD_API_CALL PFN_vkCmdDrawIndirect glad_vkCmdDrawIndirect;
3166 #define vkCmdDrawIndirect glad_vkCmdDrawIndirect
3167 GLAD_API_CALL PFN_vkCmdEndQuery glad_vkCmdEndQuery;
3168 #define vkCmdEndQuery glad_vkCmdEndQuery
3169 GLAD_API_CALL PFN_vkCmdEndRenderPass glad_vkCmdEndRenderPass;
3170 #define vkCmdEndRenderPass glad_vkCmdEndRenderPass
3171 GLAD_API_CALL PFN_vkCmdExecuteCommands glad_vkCmdExecuteCommands;
3172 #define vkCmdExecuteCommands glad_vkCmdExecuteCommands
3173 GLAD_API_CALL PFN_vkCmdFillBuffer glad_vkCmdFillBuffer;
3174 #define vkCmdFillBuffer glad_vkCmdFillBuffer
3175 GLAD_API_CALL PFN_vkCmdNextSubpass glad_vkCmdNextSubpass;
3176 #define vkCmdNextSubpass glad_vkCmdNextSubpass
3177 GLAD_API_CALL PFN_vkCmdPipelineBarrier glad_vkCmdPipelineBarrier;
3178 #define vkCmdPipelineBarrier glad_vkCmdPipelineBarrier
3179 GLAD_API_CALL PFN_vkCmdPushConstants glad_vkCmdPushConstants;
3180 #define vkCmdPushConstants glad_vkCmdPushConstants
3181 GLAD_API_CALL PFN_vkCmdResetEvent glad_vkCmdResetEvent;
3182 #define vkCmdResetEvent glad_vkCmdResetEvent
3183 GLAD_API_CALL PFN_vkCmdResetQueryPool glad_vkCmdResetQueryPool;
3184 #define vkCmdResetQueryPool glad_vkCmdResetQueryPool
3185 GLAD_API_CALL PFN_vkCmdResolveImage glad_vkCmdResolveImage;
3186 #define vkCmdResolveImage glad_vkCmdResolveImage
3187 GLAD_API_CALL PFN_vkCmdSetBlendConstants glad_vkCmdSetBlendConstants;
3188 #define vkCmdSetBlendConstants glad_vkCmdSetBlendConstants
3189 GLAD_API_CALL PFN_vkCmdSetDepthBias glad_vkCmdSetDepthBias;
3190 #define vkCmdSetDepthBias glad_vkCmdSetDepthBias
3191 GLAD_API_CALL PFN_vkCmdSetDepthBounds glad_vkCmdSetDepthBounds;
3192 #define vkCmdSetDepthBounds glad_vkCmdSetDepthBounds
3193 GLAD_API_CALL PFN_vkCmdSetDeviceMask glad_vkCmdSetDeviceMask;
3194 #define vkCmdSetDeviceMask glad_vkCmdSetDeviceMask
3195 GLAD_API_CALL PFN_vkCmdSetEvent glad_vkCmdSetEvent;
3196 #define vkCmdSetEvent glad_vkCmdSetEvent
3197 GLAD_API_CALL PFN_vkCmdSetLineWidth glad_vkCmdSetLineWidth;
3198 #define vkCmdSetLineWidth glad_vkCmdSetLineWidth
3199 GLAD_API_CALL PFN_vkCmdSetScissor glad_vkCmdSetScissor;
3200 #define vkCmdSetScissor glad_vkCmdSetScissor
3201 GLAD_API_CALL PFN_vkCmdSetStencilCompareMask glad_vkCmdSetStencilCompareMask;
3202 #define vkCmdSetStencilCompareMask glad_vkCmdSetStencilCompareMask
3203 GLAD_API_CALL PFN_vkCmdSetStencilReference glad_vkCmdSetStencilReference;
3204 #define vkCmdSetStencilReference glad_vkCmdSetStencilReference
3205 GLAD_API_CALL PFN_vkCmdSetStencilWriteMask glad_vkCmdSetStencilWriteMask;
3206 #define vkCmdSetStencilWriteMask glad_vkCmdSetStencilWriteMask
3207 GLAD_API_CALL PFN_vkCmdSetViewport glad_vkCmdSetViewport;
3208 #define vkCmdSetViewport glad_vkCmdSetViewport
3209 GLAD_API_CALL PFN_vkCmdUpdateBuffer glad_vkCmdUpdateBuffer;
3210 #define vkCmdUpdateBuffer glad_vkCmdUpdateBuffer
3211 GLAD_API_CALL PFN_vkCmdWaitEvents glad_vkCmdWaitEvents;
3212 #define vkCmdWaitEvents glad_vkCmdWaitEvents
3213 GLAD_API_CALL PFN_vkCmdWriteTimestamp glad_vkCmdWriteTimestamp;
3214 #define vkCmdWriteTimestamp glad_vkCmdWriteTimestamp
3215 GLAD_API_CALL PFN_vkCreateBuffer glad_vkCreateBuffer;
3216 #define vkCreateBuffer glad_vkCreateBuffer
3217 GLAD_API_CALL PFN_vkCreateBufferView glad_vkCreateBufferView;
3218 #define vkCreateBufferView glad_vkCreateBufferView
3219 GLAD_API_CALL PFN_vkCreateCommandPool glad_vkCreateCommandPool;
3220 #define vkCreateCommandPool glad_vkCreateCommandPool
3221 GLAD_API_CALL PFN_vkCreateComputePipelines glad_vkCreateComputePipelines;
3222 #define vkCreateComputePipelines glad_vkCreateComputePipelines
3223 GLAD_API_CALL PFN_vkCreateDebugReportCallbackEXT glad_vkCreateDebugReportCallbackEXT;
3224 #define vkCreateDebugReportCallbackEXT glad_vkCreateDebugReportCallbackEXT
3225 GLAD_API_CALL PFN_vkCreateDescriptorPool glad_vkCreateDescriptorPool;
3226 #define vkCreateDescriptorPool glad_vkCreateDescriptorPool
3227 GLAD_API_CALL PFN_vkCreateDescriptorSetLayout glad_vkCreateDescriptorSetLayout;
3228 #define vkCreateDescriptorSetLayout glad_vkCreateDescriptorSetLayout
3229 GLAD_API_CALL PFN_vkCreateDescriptorUpdateTemplate glad_vkCreateDescriptorUpdateTemplate;
3230 #define vkCreateDescriptorUpdateTemplate glad_vkCreateDescriptorUpdateTemplate
3231 GLAD_API_CALL PFN_vkCreateDevice glad_vkCreateDevice;
3232 #define vkCreateDevice glad_vkCreateDevice
3233 GLAD_API_CALL PFN_vkCreateEvent glad_vkCreateEvent;
3234 #define vkCreateEvent glad_vkCreateEvent
3235 GLAD_API_CALL PFN_vkCreateFence glad_vkCreateFence;
3236 #define vkCreateFence glad_vkCreateFence
3237 GLAD_API_CALL PFN_vkCreateFramebuffer glad_vkCreateFramebuffer;
3238 #define vkCreateFramebuffer glad_vkCreateFramebuffer
3239 GLAD_API_CALL PFN_vkCreateGraphicsPipelines glad_vkCreateGraphicsPipelines;
3240 #define vkCreateGraphicsPipelines glad_vkCreateGraphicsPipelines
3241 GLAD_API_CALL PFN_vkCreateImage glad_vkCreateImage;
3242 #define vkCreateImage glad_vkCreateImage
3243 GLAD_API_CALL PFN_vkCreateImageView glad_vkCreateImageView;
3244 #define vkCreateImageView glad_vkCreateImageView
3245 GLAD_API_CALL PFN_vkCreateInstance glad_vkCreateInstance;
3246 #define vkCreateInstance glad_vkCreateInstance
3247 GLAD_API_CALL PFN_vkCreatePipelineCache glad_vkCreatePipelineCache;
3248 #define vkCreatePipelineCache glad_vkCreatePipelineCache
3249 GLAD_API_CALL PFN_vkCreatePipelineLayout glad_vkCreatePipelineLayout;
3250 #define vkCreatePipelineLayout glad_vkCreatePipelineLayout
3251 GLAD_API_CALL PFN_vkCreateQueryPool glad_vkCreateQueryPool;
3252 #define vkCreateQueryPool glad_vkCreateQueryPool
3253 GLAD_API_CALL PFN_vkCreateRenderPass glad_vkCreateRenderPass;
3254 #define vkCreateRenderPass glad_vkCreateRenderPass
3255 GLAD_API_CALL PFN_vkCreateSampler glad_vkCreateSampler;
3256 #define vkCreateSampler glad_vkCreateSampler
3257 GLAD_API_CALL PFN_vkCreateSamplerYcbcrConversion glad_vkCreateSamplerYcbcrConversion;
3258 #define vkCreateSamplerYcbcrConversion glad_vkCreateSamplerYcbcrConversion
3259 GLAD_API_CALL PFN_vkCreateSemaphore glad_vkCreateSemaphore;
3260 #define vkCreateSemaphore glad_vkCreateSemaphore
3261 GLAD_API_CALL PFN_vkCreateShaderModule glad_vkCreateShaderModule;
3262 #define vkCreateShaderModule glad_vkCreateShaderModule
3263 GLAD_API_CALL PFN_vkCreateSwapchainKHR glad_vkCreateSwapchainKHR;
3264 #define vkCreateSwapchainKHR glad_vkCreateSwapchainKHR
3265 GLAD_API_CALL PFN_vkDebugReportMessageEXT glad_vkDebugReportMessageEXT;
3266 #define vkDebugReportMessageEXT glad_vkDebugReportMessageEXT
3267 GLAD_API_CALL PFN_vkDestroyBuffer glad_vkDestroyBuffer;
3268 #define vkDestroyBuffer glad_vkDestroyBuffer
3269 GLAD_API_CALL PFN_vkDestroyBufferView glad_vkDestroyBufferView;
3270 #define vkDestroyBufferView glad_vkDestroyBufferView
3271 GLAD_API_CALL PFN_vkDestroyCommandPool glad_vkDestroyCommandPool;
3272 #define vkDestroyCommandPool glad_vkDestroyCommandPool
3273 GLAD_API_CALL PFN_vkDestroyDebugReportCallbackEXT glad_vkDestroyDebugReportCallbackEXT;
3274 #define vkDestroyDebugReportCallbackEXT glad_vkDestroyDebugReportCallbackEXT
3275 GLAD_API_CALL PFN_vkDestroyDescriptorPool glad_vkDestroyDescriptorPool;
3276 #define vkDestroyDescriptorPool glad_vkDestroyDescriptorPool
3277 GLAD_API_CALL PFN_vkDestroyDescriptorSetLayout glad_vkDestroyDescriptorSetLayout;
3278 #define vkDestroyDescriptorSetLayout glad_vkDestroyDescriptorSetLayout
3279 GLAD_API_CALL PFN_vkDestroyDescriptorUpdateTemplate glad_vkDestroyDescriptorUpdateTemplate;
3280 #define vkDestroyDescriptorUpdateTemplate glad_vkDestroyDescriptorUpdateTemplate
3281 GLAD_API_CALL PFN_vkDestroyDevice glad_vkDestroyDevice;
3282 #define vkDestroyDevice glad_vkDestroyDevice
3283 GLAD_API_CALL PFN_vkDestroyEvent glad_vkDestroyEvent;
3284 #define vkDestroyEvent glad_vkDestroyEvent
3285 GLAD_API_CALL PFN_vkDestroyFence glad_vkDestroyFence;
3286 #define vkDestroyFence glad_vkDestroyFence
3287 GLAD_API_CALL PFN_vkDestroyFramebuffer glad_vkDestroyFramebuffer;
3288 #define vkDestroyFramebuffer glad_vkDestroyFramebuffer
3289 GLAD_API_CALL PFN_vkDestroyImage glad_vkDestroyImage;
3290 #define vkDestroyImage glad_vkDestroyImage
3291 GLAD_API_CALL PFN_vkDestroyImageView glad_vkDestroyImageView;
3292 #define vkDestroyImageView glad_vkDestroyImageView
3293 GLAD_API_CALL PFN_vkDestroyInstance glad_vkDestroyInstance;
3294 #define vkDestroyInstance glad_vkDestroyInstance
3295 GLAD_API_CALL PFN_vkDestroyPipeline glad_vkDestroyPipeline;
3296 #define vkDestroyPipeline glad_vkDestroyPipeline
3297 GLAD_API_CALL PFN_vkDestroyPipelineCache glad_vkDestroyPipelineCache;
3298 #define vkDestroyPipelineCache glad_vkDestroyPipelineCache
3299 GLAD_API_CALL PFN_vkDestroyPipelineLayout glad_vkDestroyPipelineLayout;
3300 #define vkDestroyPipelineLayout glad_vkDestroyPipelineLayout
3301 GLAD_API_CALL PFN_vkDestroyQueryPool glad_vkDestroyQueryPool;
3302 #define vkDestroyQueryPool glad_vkDestroyQueryPool
3303 GLAD_API_CALL PFN_vkDestroyRenderPass glad_vkDestroyRenderPass;
3304 #define vkDestroyRenderPass glad_vkDestroyRenderPass
3305 GLAD_API_CALL PFN_vkDestroySampler glad_vkDestroySampler;
3306 #define vkDestroySampler glad_vkDestroySampler
3307 GLAD_API_CALL PFN_vkDestroySamplerYcbcrConversion glad_vkDestroySamplerYcbcrConversion;
3308 #define vkDestroySamplerYcbcrConversion glad_vkDestroySamplerYcbcrConversion
3309 GLAD_API_CALL PFN_vkDestroySemaphore glad_vkDestroySemaphore;
3310 #define vkDestroySemaphore glad_vkDestroySemaphore
3311 GLAD_API_CALL PFN_vkDestroyShaderModule glad_vkDestroyShaderModule;
3312 #define vkDestroyShaderModule glad_vkDestroyShaderModule
3313 GLAD_API_CALL PFN_vkDestroySurfaceKHR glad_vkDestroySurfaceKHR;
3314 #define vkDestroySurfaceKHR glad_vkDestroySurfaceKHR
3315 GLAD_API_CALL PFN_vkDestroySwapchainKHR glad_vkDestroySwapchainKHR;
3316 #define vkDestroySwapchainKHR glad_vkDestroySwapchainKHR
3317 GLAD_API_CALL PFN_vkDeviceWaitIdle glad_vkDeviceWaitIdle;
3318 #define vkDeviceWaitIdle glad_vkDeviceWaitIdle
3319 GLAD_API_CALL PFN_vkEndCommandBuffer glad_vkEndCommandBuffer;
3320 #define vkEndCommandBuffer glad_vkEndCommandBuffer
3321 GLAD_API_CALL PFN_vkEnumerateDeviceExtensionProperties glad_vkEnumerateDeviceExtensionProperties;
3322 #define vkEnumerateDeviceExtensionProperties glad_vkEnumerateDeviceExtensionProperties
3323 GLAD_API_CALL PFN_vkEnumerateDeviceLayerProperties glad_vkEnumerateDeviceLayerProperties;
3324 #define vkEnumerateDeviceLayerProperties glad_vkEnumerateDeviceLayerProperties
3325 GLAD_API_CALL PFN_vkEnumerateInstanceExtensionProperties glad_vkEnumerateInstanceExtensionProperties;
3326 #define vkEnumerateInstanceExtensionProperties glad_vkEnumerateInstanceExtensionProperties
3327 GLAD_API_CALL PFN_vkEnumerateInstanceLayerProperties glad_vkEnumerateInstanceLayerProperties;
3328 #define vkEnumerateInstanceLayerProperties glad_vkEnumerateInstanceLayerProperties
3329 GLAD_API_CALL PFN_vkEnumerateInstanceVersion glad_vkEnumerateInstanceVersion;
3330 #define vkEnumerateInstanceVersion glad_vkEnumerateInstanceVersion
3331 GLAD_API_CALL PFN_vkEnumeratePhysicalDeviceGroups glad_vkEnumeratePhysicalDeviceGroups;
3332 #define vkEnumeratePhysicalDeviceGroups glad_vkEnumeratePhysicalDeviceGroups
3333 GLAD_API_CALL PFN_vkEnumeratePhysicalDevices glad_vkEnumeratePhysicalDevices;
3334 #define vkEnumeratePhysicalDevices glad_vkEnumeratePhysicalDevices
3335 GLAD_API_CALL PFN_vkFlushMappedMemoryRanges glad_vkFlushMappedMemoryRanges;
3336 #define vkFlushMappedMemoryRanges glad_vkFlushMappedMemoryRanges
3337 GLAD_API_CALL PFN_vkFreeCommandBuffers glad_vkFreeCommandBuffers;
3338 #define vkFreeCommandBuffers glad_vkFreeCommandBuffers
3339 GLAD_API_CALL PFN_vkFreeDescriptorSets glad_vkFreeDescriptorSets;
3340 #define vkFreeDescriptorSets glad_vkFreeDescriptorSets
3341 GLAD_API_CALL PFN_vkFreeMemory glad_vkFreeMemory;
3342 #define vkFreeMemory glad_vkFreeMemory
3343 GLAD_API_CALL PFN_vkGetBufferMemoryRequirements glad_vkGetBufferMemoryRequirements;
3344 #define vkGetBufferMemoryRequirements glad_vkGetBufferMemoryRequirements
3345 GLAD_API_CALL PFN_vkGetBufferMemoryRequirements2 glad_vkGetBufferMemoryRequirements2;
3346 #define vkGetBufferMemoryRequirements2 glad_vkGetBufferMemoryRequirements2
3347 GLAD_API_CALL PFN_vkGetDescriptorSetLayoutSupport glad_vkGetDescriptorSetLayoutSupport;
3348 #define vkGetDescriptorSetLayoutSupport glad_vkGetDescriptorSetLayoutSupport
3349 GLAD_API_CALL PFN_vkGetDeviceGroupPeerMemoryFeatures glad_vkGetDeviceGroupPeerMemoryFeatures;
3350 #define vkGetDeviceGroupPeerMemoryFeatures glad_vkGetDeviceGroupPeerMemoryFeatures
3351 GLAD_API_CALL PFN_vkGetDeviceGroupPresentCapabilitiesKHR glad_vkGetDeviceGroupPresentCapabilitiesKHR;
3352 #define vkGetDeviceGroupPresentCapabilitiesKHR glad_vkGetDeviceGroupPresentCapabilitiesKHR
3353 GLAD_API_CALL PFN_vkGetDeviceGroupSurfacePresentModesKHR glad_vkGetDeviceGroupSurfacePresentModesKHR;
3354 #define vkGetDeviceGroupSurfacePresentModesKHR glad_vkGetDeviceGroupSurfacePresentModesKHR
3355 GLAD_API_CALL PFN_vkGetDeviceMemoryCommitment glad_vkGetDeviceMemoryCommitment;
3356 #define vkGetDeviceMemoryCommitment glad_vkGetDeviceMemoryCommitment
3357 GLAD_API_CALL PFN_vkGetDeviceProcAddr glad_vkGetDeviceProcAddr;
3358 #define vkGetDeviceProcAddr glad_vkGetDeviceProcAddr
3359 GLAD_API_CALL PFN_vkGetDeviceQueue glad_vkGetDeviceQueue;
3360 #define vkGetDeviceQueue glad_vkGetDeviceQueue
3361 GLAD_API_CALL PFN_vkGetDeviceQueue2 glad_vkGetDeviceQueue2;
3362 #define vkGetDeviceQueue2 glad_vkGetDeviceQueue2
3363 GLAD_API_CALL PFN_vkGetEventStatus glad_vkGetEventStatus;
3364 #define vkGetEventStatus glad_vkGetEventStatus
3365 GLAD_API_CALL PFN_vkGetFenceStatus glad_vkGetFenceStatus;
3366 #define vkGetFenceStatus glad_vkGetFenceStatus
3367 GLAD_API_CALL PFN_vkGetImageMemoryRequirements glad_vkGetImageMemoryRequirements;
3368 #define vkGetImageMemoryRequirements glad_vkGetImageMemoryRequirements
3369 GLAD_API_CALL PFN_vkGetImageMemoryRequirements2 glad_vkGetImageMemoryRequirements2;
3370 #define vkGetImageMemoryRequirements2 glad_vkGetImageMemoryRequirements2
3371 GLAD_API_CALL PFN_vkGetImageSparseMemoryRequirements glad_vkGetImageSparseMemoryRequirements;
3372 #define vkGetImageSparseMemoryRequirements glad_vkGetImageSparseMemoryRequirements
3373 GLAD_API_CALL PFN_vkGetImageSparseMemoryRequirements2 glad_vkGetImageSparseMemoryRequirements2;
3374 #define vkGetImageSparseMemoryRequirements2 glad_vkGetImageSparseMemoryRequirements2
3375 GLAD_API_CALL PFN_vkGetImageSubresourceLayout glad_vkGetImageSubresourceLayout;
3376 #define vkGetImageSubresourceLayout glad_vkGetImageSubresourceLayout
3377 GLAD_API_CALL PFN_vkGetInstanceProcAddr glad_vkGetInstanceProcAddr;
3378 #define vkGetInstanceProcAddr glad_vkGetInstanceProcAddr
3379 GLAD_API_CALL PFN_vkGetPhysicalDeviceExternalBufferProperties glad_vkGetPhysicalDeviceExternalBufferProperties;
3380 #define vkGetPhysicalDeviceExternalBufferProperties glad_vkGetPhysicalDeviceExternalBufferProperties
3381 GLAD_API_CALL PFN_vkGetPhysicalDeviceExternalFenceProperties glad_vkGetPhysicalDeviceExternalFenceProperties;
3382 #define vkGetPhysicalDeviceExternalFenceProperties glad_vkGetPhysicalDeviceExternalFenceProperties
3383 GLAD_API_CALL PFN_vkGetPhysicalDeviceExternalSemaphoreProperties glad_vkGetPhysicalDeviceExternalSemaphoreProperties;
3384 #define vkGetPhysicalDeviceExternalSemaphoreProperties glad_vkGetPhysicalDeviceExternalSemaphoreProperties
3385 GLAD_API_CALL PFN_vkGetPhysicalDeviceFeatures glad_vkGetPhysicalDeviceFeatures;
3386 #define vkGetPhysicalDeviceFeatures glad_vkGetPhysicalDeviceFeatures
3387 GLAD_API_CALL PFN_vkGetPhysicalDeviceFeatures2 glad_vkGetPhysicalDeviceFeatures2;
3388 #define vkGetPhysicalDeviceFeatures2 glad_vkGetPhysicalDeviceFeatures2
3389 GLAD_API_CALL PFN_vkGetPhysicalDeviceFormatProperties glad_vkGetPhysicalDeviceFormatProperties;
3390 #define vkGetPhysicalDeviceFormatProperties glad_vkGetPhysicalDeviceFormatProperties
3391 GLAD_API_CALL PFN_vkGetPhysicalDeviceFormatProperties2 glad_vkGetPhysicalDeviceFormatProperties2;
3392 #define vkGetPhysicalDeviceFormatProperties2 glad_vkGetPhysicalDeviceFormatProperties2
3393 GLAD_API_CALL PFN_vkGetPhysicalDeviceImageFormatProperties glad_vkGetPhysicalDeviceImageFormatProperties;
3394 #define vkGetPhysicalDeviceImageFormatProperties glad_vkGetPhysicalDeviceImageFormatProperties
3395 GLAD_API_CALL PFN_vkGetPhysicalDeviceImageFormatProperties2 glad_vkGetPhysicalDeviceImageFormatProperties2;
3396 #define vkGetPhysicalDeviceImageFormatProperties2 glad_vkGetPhysicalDeviceImageFormatProperties2
3397 GLAD_API_CALL PFN_vkGetPhysicalDeviceMemoryProperties glad_vkGetPhysicalDeviceMemoryProperties;
3398 #define vkGetPhysicalDeviceMemoryProperties glad_vkGetPhysicalDeviceMemoryProperties
3399 GLAD_API_CALL PFN_vkGetPhysicalDeviceMemoryProperties2 glad_vkGetPhysicalDeviceMemoryProperties2;
3400 #define vkGetPhysicalDeviceMemoryProperties2 glad_vkGetPhysicalDeviceMemoryProperties2
3401 GLAD_API_CALL PFN_vkGetPhysicalDevicePresentRectanglesKHR glad_vkGetPhysicalDevicePresentRectanglesKHR;
3402 #define vkGetPhysicalDevicePresentRectanglesKHR glad_vkGetPhysicalDevicePresentRectanglesKHR
3403 GLAD_API_CALL PFN_vkGetPhysicalDeviceProperties glad_vkGetPhysicalDeviceProperties;
3404 #define vkGetPhysicalDeviceProperties glad_vkGetPhysicalDeviceProperties
3405 GLAD_API_CALL PFN_vkGetPhysicalDeviceProperties2 glad_vkGetPhysicalDeviceProperties2;
3406 #define vkGetPhysicalDeviceProperties2 glad_vkGetPhysicalDeviceProperties2
3407 GLAD_API_CALL PFN_vkGetPhysicalDeviceQueueFamilyProperties glad_vkGetPhysicalDeviceQueueFamilyProperties;
3408 #define vkGetPhysicalDeviceQueueFamilyProperties glad_vkGetPhysicalDeviceQueueFamilyProperties
3409 GLAD_API_CALL PFN_vkGetPhysicalDeviceQueueFamilyProperties2 glad_vkGetPhysicalDeviceQueueFamilyProperties2;
3410 #define vkGetPhysicalDeviceQueueFamilyProperties2 glad_vkGetPhysicalDeviceQueueFamilyProperties2
3411 GLAD_API_CALL PFN_vkGetPhysicalDeviceSparseImageFormatProperties glad_vkGetPhysicalDeviceSparseImageFormatProperties;
3412 #define vkGetPhysicalDeviceSparseImageFormatProperties glad_vkGetPhysicalDeviceSparseImageFormatProperties
3413 GLAD_API_CALL PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 glad_vkGetPhysicalDeviceSparseImageFormatProperties2;
3414 #define vkGetPhysicalDeviceSparseImageFormatProperties2 glad_vkGetPhysicalDeviceSparseImageFormatProperties2
3415 GLAD_API_CALL PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR glad_vkGetPhysicalDeviceSurfaceCapabilitiesKHR;
3416 #define vkGetPhysicalDeviceSurfaceCapabilitiesKHR glad_vkGetPhysicalDeviceSurfaceCapabilitiesKHR
3417 GLAD_API_CALL PFN_vkGetPhysicalDeviceSurfaceFormatsKHR glad_vkGetPhysicalDeviceSurfaceFormatsKHR;
3418 #define vkGetPhysicalDeviceSurfaceFormatsKHR glad_vkGetPhysicalDeviceSurfaceFormatsKHR
3419 GLAD_API_CALL PFN_vkGetPhysicalDeviceSurfacePresentModesKHR glad_vkGetPhysicalDeviceSurfacePresentModesKHR;
3420 #define vkGetPhysicalDeviceSurfacePresentModesKHR glad_vkGetPhysicalDeviceSurfacePresentModesKHR
3421 GLAD_API_CALL PFN_vkGetPhysicalDeviceSurfaceSupportKHR glad_vkGetPhysicalDeviceSurfaceSupportKHR;
3422 #define vkGetPhysicalDeviceSurfaceSupportKHR glad_vkGetPhysicalDeviceSurfaceSupportKHR
3423 GLAD_API_CALL PFN_vkGetPipelineCacheData glad_vkGetPipelineCacheData;
3424 #define vkGetPipelineCacheData glad_vkGetPipelineCacheData
3425 GLAD_API_CALL PFN_vkGetQueryPoolResults glad_vkGetQueryPoolResults;
3426 #define vkGetQueryPoolResults glad_vkGetQueryPoolResults
3427 GLAD_API_CALL PFN_vkGetRenderAreaGranularity glad_vkGetRenderAreaGranularity;
3428 #define vkGetRenderAreaGranularity glad_vkGetRenderAreaGranularity
3429 GLAD_API_CALL PFN_vkGetSwapchainImagesKHR glad_vkGetSwapchainImagesKHR;
3430 #define vkGetSwapchainImagesKHR glad_vkGetSwapchainImagesKHR
3431 GLAD_API_CALL PFN_vkInvalidateMappedMemoryRanges glad_vkInvalidateMappedMemoryRanges;
3432 #define vkInvalidateMappedMemoryRanges glad_vkInvalidateMappedMemoryRanges
3433 GLAD_API_CALL PFN_vkMapMemory glad_vkMapMemory;
3434 #define vkMapMemory glad_vkMapMemory
3435 GLAD_API_CALL PFN_vkMergePipelineCaches glad_vkMergePipelineCaches;
3436 #define vkMergePipelineCaches glad_vkMergePipelineCaches
3437 GLAD_API_CALL PFN_vkQueueBindSparse glad_vkQueueBindSparse;
3438 #define vkQueueBindSparse glad_vkQueueBindSparse
3439 GLAD_API_CALL PFN_vkQueuePresentKHR glad_vkQueuePresentKHR;
3440 #define vkQueuePresentKHR glad_vkQueuePresentKHR
3441 GLAD_API_CALL PFN_vkQueueSubmit glad_vkQueueSubmit;
3442 #define vkQueueSubmit glad_vkQueueSubmit
3443 GLAD_API_CALL PFN_vkQueueWaitIdle glad_vkQueueWaitIdle;
3444 #define vkQueueWaitIdle glad_vkQueueWaitIdle
3445 GLAD_API_CALL PFN_vkResetCommandBuffer glad_vkResetCommandBuffer;
3446 #define vkResetCommandBuffer glad_vkResetCommandBuffer
3447 GLAD_API_CALL PFN_vkResetCommandPool glad_vkResetCommandPool;
3448 #define vkResetCommandPool glad_vkResetCommandPool
3449 GLAD_API_CALL PFN_vkResetDescriptorPool glad_vkResetDescriptorPool;
3450 #define vkResetDescriptorPool glad_vkResetDescriptorPool
3451 GLAD_API_CALL PFN_vkResetEvent glad_vkResetEvent;
3452 #define vkResetEvent glad_vkResetEvent
3453 GLAD_API_CALL PFN_vkResetFences glad_vkResetFences;
3454 #define vkResetFences glad_vkResetFences
3455 GLAD_API_CALL PFN_vkSetEvent glad_vkSetEvent;
3456 #define vkSetEvent glad_vkSetEvent
3457 GLAD_API_CALL PFN_vkTrimCommandPool glad_vkTrimCommandPool;
3458 #define vkTrimCommandPool glad_vkTrimCommandPool
3459 GLAD_API_CALL PFN_vkUnmapMemory glad_vkUnmapMemory;
3460 #define vkUnmapMemory glad_vkUnmapMemory
3461 GLAD_API_CALL PFN_vkUpdateDescriptorSetWithTemplate glad_vkUpdateDescriptorSetWithTemplate;
3462 #define vkUpdateDescriptorSetWithTemplate glad_vkUpdateDescriptorSetWithTemplate
3463 GLAD_API_CALL PFN_vkUpdateDescriptorSets glad_vkUpdateDescriptorSets;
3464 #define vkUpdateDescriptorSets glad_vkUpdateDescriptorSets
3465 GLAD_API_CALL PFN_vkWaitForFences glad_vkWaitForFences;
3466 #define vkWaitForFences glad_vkWaitForFences
3469 GLAD_API_CALL int gladLoadVulkanUserPtr( VkPhysicalDevice physical_device, GLADuserptrloadfunc load, void *userptr);
3470 GLAD_API_CALL int gladLoadVulkan( VkPhysicalDevice physical_device, GLADloadfunc load);