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