Flutter Engine
The Flutter Engine
vulkan_core.h
Go to the documentation of this file.
1#ifndef VULKAN_CORE_H_
2#define VULKAN_CORE_H_ 1
3
4/*
5** Copyright 2015-2023 The Khronos Group Inc.
6**
7** SPDX-License-Identifier: Apache-2.0
8*/
9
10/*
11** This header is generated from the Khronos Vulkan XML API Registry.
12**
13*/
14
15
16#ifdef __cplusplus
17extern "C" {
18#endif
19
20
21
22// VK_VERSION_1_0 is a preprocessor guard. Do not pass it to API calls.
23#define VK_VERSION_1_0 1
24#include "vk_platform.h"
25
26#define VK_DEFINE_HANDLE(object) typedef struct object##_T* object;
27
28
29#ifndef VK_USE_64_BIT_PTR_DEFINES
30 #if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__) || (defined(__riscv) && __riscv_xlen == 64)
31 #define VK_USE_64_BIT_PTR_DEFINES 1
32 #else
33 #define VK_USE_64_BIT_PTR_DEFINES 0
34 #endif
35#endif
36
37
38#ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE
39 #if (VK_USE_64_BIT_PTR_DEFINES==1)
40 #if (defined(__cplusplus) && (__cplusplus >= 201103L)) || (defined(_MSVC_LANG) && (_MSVC_LANG >= 201103L))
41 #define VK_NULL_HANDLE nullptr
42 #else
43 #define VK_NULL_HANDLE ((void*)0)
44 #endif
45 #else
46 #define VK_NULL_HANDLE 0ULL
47 #endif
48#endif
49#ifndef VK_NULL_HANDLE
50 #define VK_NULL_HANDLE 0
51#endif
52
53
54#ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE
55 #if (VK_USE_64_BIT_PTR_DEFINES==1)
56 #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object;
57 #else
58 #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t object;
59 #endif
60#endif
61
62#define VK_MAKE_API_VERSION(variant, major, minor, patch) \
63 ((((uint32_t)(variant)) << 29U) | (((uint32_t)(major)) << 22U) | (((uint32_t)(minor)) << 12U) | ((uint32_t)(patch)))
64
65// 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.
66//#define VK_API_VERSION VK_MAKE_API_VERSION(0, 1, 0, 0) // Patch version should always be set to 0
67
68// Vulkan 1.0 version number
69#define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0
70
71// Version of this file
72#define VK_HEADER_VERSION 268
73
74// Complete version of this file
75#define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION)
76
77// DEPRECATED: This define is deprecated. VK_MAKE_API_VERSION should be used instead.
78#define VK_MAKE_VERSION(major, minor, patch) \
79 ((((uint32_t)(major)) << 22U) | (((uint32_t)(minor)) << 12U) | ((uint32_t)(patch)))
80
81// DEPRECATED: This define is deprecated. VK_API_VERSION_MAJOR should be used instead.
82#define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22U)
83
84// DEPRECATED: This define is deprecated. VK_API_VERSION_MINOR should be used instead.
85#define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12U) & 0x3FFU)
86
87// DEPRECATED: This define is deprecated. VK_API_VERSION_PATCH should be used instead.
88#define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU)
89
90#define VK_API_VERSION_VARIANT(version) ((uint32_t)(version) >> 29U)
91#define VK_API_VERSION_MAJOR(version) (((uint32_t)(version) >> 22U) & 0x7FU)
92#define VK_API_VERSION_MINOR(version) (((uint32_t)(version) >> 12U) & 0x3FFU)
93#define VK_API_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU)
94typedef uint32_t VkBool32;
95typedef uint64_t VkDeviceAddress;
96typedef uint64_t VkDeviceSize;
97typedef uint32_t VkFlags;
98typedef uint32_t VkSampleMask;
101VK_DEFINE_HANDLE(VkInstance)
102VK_DEFINE_HANDLE(VkPhysicalDevice)
103VK_DEFINE_HANDLE(VkDevice)
104VK_DEFINE_HANDLE(VkQueue)
106VK_DEFINE_HANDLE(VkCommandBuffer)
115VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineLayout)
118VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout)
121VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool)
124#define VK_ATTACHMENT_UNUSED (~0U)
125#define VK_FALSE 0U
126#define VK_LOD_CLAMP_NONE 1000.0F
127#define VK_QUEUE_FAMILY_IGNORED (~0U)
128#define VK_REMAINING_ARRAY_LAYERS (~0U)
129#define VK_REMAINING_MIP_LEVELS (~0U)
130#define VK_SUBPASS_EXTERNAL (~0U)
131#define VK_TRUE 1U
132#define VK_WHOLE_SIZE (~0ULL)
133#define VK_MAX_MEMORY_TYPES 32U
134#define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE 256U
135#define VK_UUID_SIZE 16U
136#define VK_MAX_EXTENSION_NAME_SIZE 256U
137#define VK_MAX_DESCRIPTION_SIZE 256U
138#define VK_MAX_MEMORY_HEAPS 16U
139
140typedef enum VkResult {
167 VK_SUBOPTIMAL_KHR = 1000001003,
181 VK_THREAD_IDLE_KHR = 1000268000,
182 VK_THREAD_DONE_KHR = 1000268001,
185#ifdef VK_ENABLE_BETA_EXTENSIONS
186 VK_ERROR_INVALID_VIDEO_STD_PARAMETERS_KHR = -1000299000,
187#endif
198 VK_RESULT_MAX_ENUM = 0x7FFFFFFF
200
201typedef enum VkStructureType {
470#ifdef VK_ENABLE_BETA_EXTENSIONS
471 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT = 1000038000,
472#endif
473#ifdef VK_ENABLE_BETA_EXTENSIONS
474 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000038001,
475#endif
476#ifdef VK_ENABLE_BETA_EXTENSIONS
477 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT = 1000038002,
478#endif
479#ifdef VK_ENABLE_BETA_EXTENSIONS
480 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PICTURE_INFO_EXT = 1000038003,
481#endif
482#ifdef VK_ENABLE_BETA_EXTENSIONS
483 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT = 1000038004,
484#endif
485#ifdef VK_ENABLE_BETA_EXTENSIONS
486 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_INFO_EXT = 1000038005,
487#endif
488#ifdef VK_ENABLE_BETA_EXTENSIONS
489 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_GOP_REMAINING_FRAME_INFO_EXT = 1000038006,
490#endif
491#ifdef VK_ENABLE_BETA_EXTENSIONS
492 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_INFO_EXT = 1000038007,
493#endif
494#ifdef VK_ENABLE_BETA_EXTENSIONS
495 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_EXT = 1000038008,
496#endif
497#ifdef VK_ENABLE_BETA_EXTENSIONS
498 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT = 1000038009,
499#endif
500#ifdef VK_ENABLE_BETA_EXTENSIONS
501 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_EXT = 1000038010,
502#endif
503#ifdef VK_ENABLE_BETA_EXTENSIONS
504 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_QUALITY_LEVEL_PROPERTIES_EXT = 1000038011,
505#endif
506#ifdef VK_ENABLE_BETA_EXTENSIONS
507 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_GET_INFO_EXT = 1000038012,
508#endif
509#ifdef VK_ENABLE_BETA_EXTENSIONS
510 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_FEEDBACK_INFO_EXT = 1000038013,
511#endif
512#ifdef VK_ENABLE_BETA_EXTENSIONS
513 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_EXT = 1000039000,
514#endif
515#ifdef VK_ENABLE_BETA_EXTENSIONS
516 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000039001,
517#endif
518#ifdef VK_ENABLE_BETA_EXTENSIONS
519 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT = 1000039002,
520#endif
521#ifdef VK_ENABLE_BETA_EXTENSIONS
522 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PICTURE_INFO_EXT = 1000039003,
523#endif
524#ifdef VK_ENABLE_BETA_EXTENSIONS
525 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_EXT = 1000039004,
526#endif
527#ifdef VK_ENABLE_BETA_EXTENSIONS
528 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_INFO_EXT = 1000039005,
529#endif
530#ifdef VK_ENABLE_BETA_EXTENSIONS
531 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_GOP_REMAINING_FRAME_INFO_EXT = 1000039006,
532#endif
533#ifdef VK_ENABLE_BETA_EXTENSIONS
534 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_INFO_EXT = 1000039007,
535#endif
536#ifdef VK_ENABLE_BETA_EXTENSIONS
537 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_EXT = 1000039009,
538#endif
539#ifdef VK_ENABLE_BETA_EXTENSIONS
540 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_EXT = 1000039010,
541#endif
542#ifdef VK_ENABLE_BETA_EXTENSIONS
543 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_CREATE_INFO_EXT = 1000039011,
544#endif
545#ifdef VK_ENABLE_BETA_EXTENSIONS
546 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_QUALITY_LEVEL_PROPERTIES_EXT = 1000039012,
547#endif
548#ifdef VK_ENABLE_BETA_EXTENSIONS
549 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_GET_INFO_EXT = 1000039013,
550#endif
551#ifdef VK_ENABLE_BETA_EXTENSIONS
552 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_FEEDBACK_INFO_EXT = 1000039014,
553#endif
649#ifdef VK_ENABLE_BETA_EXTENSIONS
650 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_FEATURES_AMDX = 1000134000,
651#endif
652#ifdef VK_ENABLE_BETA_EXTENSIONS
653 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_PROPERTIES_AMDX = 1000134001,
654#endif
655#ifdef VK_ENABLE_BETA_EXTENSIONS
656 VK_STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_SCRATCH_SIZE_AMDX = 1000134002,
657#endif
658#ifdef VK_ENABLE_BETA_EXTENSIONS
659 VK_STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_CREATE_INFO_AMDX = 1000134003,
660#endif
661#ifdef VK_ENABLE_BETA_EXTENSIONS
662 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_NODE_CREATE_INFO_AMDX = 1000134004,
663#endif
705#ifdef VK_ENABLE_BETA_EXTENSIONS
706 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR = 1000163000,
707#endif
708#ifdef VK_ENABLE_BETA_EXTENSIONS
709 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR = 1000163001,
710#endif
870#ifdef VK_ENABLE_BETA_EXTENSIONS
871 VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR = 1000299000,
872#endif
873#ifdef VK_ENABLE_BETA_EXTENSIONS
874 VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR = 1000299001,
875#endif
876#ifdef VK_ENABLE_BETA_EXTENSIONS
877 VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR = 1000299002,
878#endif
879#ifdef VK_ENABLE_BETA_EXTENSIONS
880 VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR = 1000299003,
881#endif
882#ifdef VK_ENABLE_BETA_EXTENSIONS
883 VK_STRUCTURE_TYPE_VIDEO_ENCODE_USAGE_INFO_KHR = 1000299004,
884#endif
885#ifdef VK_ENABLE_BETA_EXTENSIONS
886 VK_STRUCTURE_TYPE_QUERY_POOL_VIDEO_ENCODE_FEEDBACK_CREATE_INFO_KHR = 1000299005,
887#endif
888#ifdef VK_ENABLE_BETA_EXTENSIONS
889 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR = 1000299006,
890#endif
891#ifdef VK_ENABLE_BETA_EXTENSIONS
892 VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUALITY_LEVEL_PROPERTIES_KHR = 1000299007,
893#endif
894#ifdef VK_ENABLE_BETA_EXTENSIONS
895 VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR = 1000299008,
896#endif
897#ifdef VK_ENABLE_BETA_EXTENSIONS
898 VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_PARAMETERS_GET_INFO_KHR = 1000299009,
899#endif
900#ifdef VK_ENABLE_BETA_EXTENSIONS
901 VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_PARAMETERS_FEEDBACK_INFO_KHR = 1000299010,
902#endif
1023#ifdef VK_ENABLE_BETA_EXTENSIONS
1024 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_FEATURES_NV = 1000397000,
1025#endif
1026#ifdef VK_ENABLE_BETA_EXTENSIONS
1027 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_PROPERTIES_NV = 1000397001,
1028#endif
1029#ifdef VK_ENABLE_BETA_EXTENSIONS
1030 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_DISPLACEMENT_MICROMAP_NV = 1000397002,
1031#endif
1322 VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF
1324
1329
1330typedef enum VkImageLayout {
1355#ifdef VK_ENABLE_BETA_EXTENSIONS
1356 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR = 1000299000,
1357#endif
1358#ifdef VK_ENABLE_BETA_EXTENSIONS
1359 VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR = 1000299001,
1360#endif
1361#ifdef VK_ENABLE_BETA_EXTENSIONS
1362 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR = 1000299002,
1363#endif
1374 VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF
1376
1377typedef enum VkObjectType {
1430 VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF
1432
1433typedef enum VkVendorId {
1441 VK_VENDOR_ID_MAX_ENUM = 0x7FFFFFFF
1443
1452
1457
1458typedef enum VkFormat {
1763 VK_FORMAT_MAX_ENUM = 0x7FFFFFFF
1765
1766typedef enum VkImageTiling {
1770 VK_IMAGE_TILING_MAX_ENUM = 0x7FFFFFFF
1772
1773typedef enum VkImageType {
1777 VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF
1779
1788
1789typedef enum VkQueryType {
1800#ifdef VK_ENABLE_BETA_EXTENSIONS
1801 VK_QUERY_TYPE_VIDEO_ENCODE_FEEDBACK_KHR = 1000299000,
1802#endif
1809 VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF
1811
1812typedef enum VkSharingMode {
1815 VK_SHARING_MODE_MAX_ENUM = 0x7FFFFFFF
1817
1828
1829typedef enum VkImageViewType {
1837 VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7FFFFFFF
1839
1840typedef enum VkBlendFactor {
1860 VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF
1862
1863typedef enum VkBlendOp {
1915 VK_BLEND_OP_MAX_ENUM = 0x7FFFFFFF
1917
1918typedef enum VkCompareOp {
1927 VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF
1929
1930typedef enum VkDynamicState {
2018 VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF
2020
2021typedef enum VkFrontFace {
2024 VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF
2026
2027typedef enum VkVertexInputRate {
2032
2047
2048typedef enum VkPolygonMode {
2053 VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF
2055
2056typedef enum VkStencilOp {
2065 VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF
2067
2068typedef enum VkLogicOp {
2085 VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF
2087
2088typedef enum VkBorderColor {
2097 VK_BORDER_COLOR_MAX_ENUM = 0x7FFFFFFF
2099
2100typedef enum VkFilter {
2105 VK_FILTER_MAX_ENUM = 0x7FFFFFFF
2107
2117
2123
2124typedef enum VkDescriptorType {
2144 VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF
2146
2154
2164
2168#ifdef VK_ENABLE_BETA_EXTENSIONS
2169 VK_PIPELINE_BIND_POINT_EXECUTION_GRAPH_AMDX = 1000134000,
2170#endif
2176
2182
2183typedef enum VkIndexType {
2189 VK_INDEX_TYPE_MAX_ENUM = 0x7FFFFFFF
2191
2192typedef enum VkSubpassContents {
2196 VK_SUBPASS_CONTENTS_MAX_ENUM = 0x7FFFFFFF
2198
2199typedef enum VkAccessFlagBits {
2233 VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2236
2257
2288#ifdef VK_ENABLE_BETA_EXTENSIONS
2289 VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000,
2290#endif
2291#ifdef VK_ENABLE_BETA_EXTENSIONS
2292 VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000,
2293#endif
2308
2338
2350
2366#ifdef VK_ENABLE_BETA_EXTENSIONS
2367 VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00002000,
2368#endif
2369#ifdef VK_ENABLE_BETA_EXTENSIONS
2370 VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00004000,
2371#endif
2372#ifdef VK_ENABLE_BETA_EXTENSIONS
2373 VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR = 0x00008000,
2374#endif
2383
2389
2397
2411
2412typedef enum VkQueueFlagBits {
2419#ifdef VK_ENABLE_BETA_EXTENSIONS
2420 VK_QUEUE_VIDEO_ENCODE_BIT_KHR = 0x00000040,
2421#endif
2423 VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2427
2433
2472
2478
2486
2493
2500
2520
2530
2543
2560#ifdef VK_ENABLE_BETA_EXTENSIONS
2561 VK_BUFFER_USAGE_EXECUTION_GRAPH_SCRATCH_BIT_AMDX = 0x02000000,
2562#endif
2566#ifdef VK_ENABLE_BETA_EXTENSIONS
2567 VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00008000,
2568#endif
2569#ifdef VK_ENABLE_BETA_EXTENSIONS
2570 VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00010000,
2571#endif
2584
2593
2600
2609
2639#ifdef VK_ENABLE_BETA_EXTENSIONS
2640 VK_PIPELINE_CREATE_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV = 0x10000000,
2641#endif
2654
2663
2693
2708
2717
2725
2732
2742
2755
2768
2774
2785
2792
2798
2814
2822
2828
2836
2842
2848
2857typedef struct VkExtent2D {
2858 uint32_t width;
2859 uint32_t height;
2861
2862typedef struct VkExtent3D {
2863 uint32_t width;
2864 uint32_t height;
2865 uint32_t depth;
2867
2868typedef struct VkOffset2D {
2869 int32_t x;
2870 int32_t y;
2872
2873typedef struct VkOffset3D {
2874 int32_t x;
2875 int32_t y;
2876 int32_t z;
2878
2879typedef struct VkRect2D {
2883
2884typedef struct VkBaseInStructure {
2888
2889typedef struct VkBaseOutStructure {
2893
2896 const void* pNext;
2901 VkBuffer buffer;
2905
2907 uint32_t x;
2908 uint32_t y;
2909 uint32_t z;
2911
2913 uint32_t indexCount;
2915 uint32_t firstIndex;
2919
2921 uint32_t vertexCount;
2923 uint32_t firstVertex;
2926
2930 uint32_t levelCount;
2932 uint32_t layerCount;
2934
2935typedef struct VkImageMemoryBarrier {
2937 const void* pNext;
2944 VkImage image;
2947
2948typedef struct VkMemoryBarrier {
2950 const void* pNext;
2954
2956 uint32_t headerSize;
2958 uint32_t vendorID;
2959 uint32_t deviceID;
2962
2964 void* pUserData,
2965 size_t size,
2966 size_t alignment,
2967 VkSystemAllocationScope allocationScope);
2968
2970 void* pUserData,
2971 void* pMemory);
2972
2974 void* pUserData,
2975 size_t size,
2976 VkInternalAllocationType allocationType,
2977 VkSystemAllocationScope allocationScope);
2978
2980 void* pUserData,
2981 size_t size,
2982 VkInternalAllocationType allocationType,
2983 VkSystemAllocationScope allocationScope);
2984
2986 void* pUserData,
2987 void* pOriginal,
2988 size_t size,
2989 size_t alignment,
2990 VkSystemAllocationScope allocationScope);
2991
2992typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
3001
3002typedef struct VkApplicationInfo {
3004 const void* pNext;
3005 const char* pApplicationName;
3007 const char* pEngineName;
3009 uint32_t apiVersion;
3011
3012typedef struct VkFormatProperties {
3017
3025
3026typedef struct VkInstanceCreateInfo {
3028 const void* pNext;
3032 const char* const* ppEnabledLayerNames;
3034 const char* const* ppEnabledExtensionNames;
3036
3037typedef struct VkMemoryHeap {
3041
3042typedef struct VkMemoryType {
3044 uint32_t heapIndex;
3046
3104
3213
3220
3228
3230 uint32_t apiVersion;
3232 uint32_t vendorID;
3233 uint32_t deviceID;
3240
3243 uint32_t queueCount;
3247
3250 const void* pNext;
3253 uint32_t queueCount;
3254 const float* pQueuePriorities;
3256
3257typedef struct VkDeviceCreateInfo {
3259 const void* pNext;
3264 const char* const* ppEnabledLayerNames;
3266 const char* const* ppEnabledExtensionNames;
3269
3272 uint32_t specVersion;
3274
3275typedef struct VkLayerProperties {
3277 uint32_t specVersion;
3281
3282typedef struct VkSubmitInfo {
3284 const void* pNext;
3286 const VkSemaphore* pWaitSemaphores;
3289 const VkCommandBuffer* pCommandBuffers;
3291 const VkSemaphore* pSignalSemaphores;
3293
3294typedef struct VkMappedMemoryRange {
3296 const void* pNext;
3297 VkDeviceMemory memory;
3301
3302typedef struct VkMemoryAllocateInfo {
3304 const void* pNext;
3308
3309typedef struct VkMemoryRequirements {
3314
3315typedef struct VkSparseMemoryBind {
3318 VkDeviceMemory memory;
3322
3324 VkBuffer buffer;
3325 uint32_t bindCount;
3328
3330 VkImage image;
3331 uint32_t bindCount;
3334
3335typedef struct VkImageSubresource {
3337 uint32_t mipLevel;
3338 uint32_t arrayLayer;
3340
3345 VkDeviceMemory memory;
3349
3351 VkImage image;
3352 uint32_t bindCount;
3355
3356typedef struct VkBindSparseInfo {
3358 const void* pNext;
3360 const VkSemaphore* pWaitSemaphores;
3368 const VkSemaphore* pSignalSemaphores;
3370
3376
3384
3385typedef struct VkFenceCreateInfo {
3387 const void* pNext;
3390
3393 const void* pNext;
3396
3397typedef struct VkEventCreateInfo {
3399 const void* pNext;
3402
3405 const void* pNext;
3408 uint32_t queryCount;
3411
3412typedef struct VkBufferCreateInfo {
3414 const void* pNext;
3420 const uint32_t* pQueueFamilyIndices;
3422
3425 const void* pNext;
3427 VkBuffer buffer;
3432
3433typedef struct VkImageCreateInfo {
3435 const void* pNext;
3440 uint32_t mipLevels;
3441 uint32_t arrayLayers;
3447 const uint32_t* pQueueFamilyIndices;
3450
3451typedef struct VkSubresourceLayout {
3458
3459typedef struct VkComponentMapping {
3465
3468 const void* pNext;
3470 VkImage image;
3476
3479 const void* pNext;
3481 size_t codeSize;
3482 const uint32_t* pCode;
3484
3487 const void* pNext;
3490 const void* pInitialData;
3492
3494 uint32_t constantID;
3495 uint32_t offset;
3496 size_t size;
3498
3499typedef struct VkSpecializationInfo {
3502 size_t dataSize;
3503 const void* pData;
3505
3508 const void* pNext;
3511 VkShaderModule module;
3512 const char* pName;
3515
3518 const void* pNext;
3521 VkPipelineLayout layout;
3525
3527 uint32_t binding;
3528 uint32_t stride;
3531
3533 uint32_t location;
3534 uint32_t binding;
3536 uint32_t offset;
3538
3541 const void* pNext;
3548
3551 const void* pNext;
3556
3559 const void* pNext;
3563
3564typedef struct VkViewport {
3565 float x;
3566 float y;
3567 float width;
3568 float height;
3572
3575 const void* pNext;
3582
3585 const void* pNext;
3598
3601 const void* pNext;
3610
3611typedef struct VkStencilOpState {
3616 uint32_t compareMask;
3617 uint32_t writeMask;
3618 uint32_t reference;
3620
3623 const void* pNext;
3635
3646
3649 const void* pNext;
3657
3660 const void* pNext;
3665
3668 const void* pNext;
3670 uint32_t stageCount;
3681 VkPipelineLayout layout;
3682 VkRenderPass renderPass;
3683 uint32_t subpass;
3687
3688typedef struct VkPushConstantRange {
3690 uint32_t offset;
3691 uint32_t size;
3693
3696 const void* pNext;
3699 const VkDescriptorSetLayout* pSetLayouts;
3703
3704typedef struct VkSamplerCreateInfo {
3706 const void* pNext;
3719 float minLod;
3720 float maxLod;
3724
3725typedef struct VkCopyDescriptorSet {
3727 const void* pNext;
3728 VkDescriptorSet srcSet;
3729 uint32_t srcBinding;
3731 VkDescriptorSet dstSet;
3732 uint32_t dstBinding;
3736
3738 VkBuffer buffer;
3742
3744 VkSampler sampler;
3745 VkImageView imageView;
3748
3749typedef struct VkDescriptorPoolSize {
3753
3756 const void* pNext;
3758 uint32_t maxSets;
3762
3765 const void* pNext;
3766 VkDescriptorPool descriptorPool;
3768 const VkDescriptorSetLayout* pSetLayouts;
3770
3772 uint32_t binding;
3776 const VkSampler* pImmutableSamplers;
3778
3781 const void* pNext;
3786
3787typedef struct VkWriteDescriptorSet {
3789 const void* pNext;
3790 VkDescriptorSet dstSet;
3791 uint32_t dstBinding;
3797 const VkBufferView* pTexelBufferView;
3799
3811
3813 uint32_t attachment;
3816
3819 const void* pNext;
3821 VkRenderPass renderPass;
3823 const VkImageView* pAttachments;
3824 uint32_t width;
3825 uint32_t height;
3826 uint32_t layers;
3828
3829typedef struct VkSubpassDescription {
3839 const uint32_t* pPreserveAttachments;
3841
3842typedef struct VkSubpassDependency {
3843 uint32_t srcSubpass;
3844 uint32_t dstSubpass;
3851
3854 const void* pNext;
3863
3866 const void* pNext;
3870
3873 const void* pNext;
3874 VkCommandPool commandPool;
3878
3881 const void* pNext;
3882 VkRenderPass renderPass;
3883 uint32_t subpass;
3884 VkFramebuffer framebuffer;
3889
3892 const void* pNext;
3896
3897typedef struct VkBufferCopy {
3902
3905 uint32_t mipLevel;
3907 uint32_t layerCount;
3909
3910typedef struct VkBufferImageCopy {
3918
3919typedef union VkClearColorValue {
3920 float float32[4];
3921 int32_t int32[4];
3922 uint32_t uint32[4];
3924
3926 float depth;
3927 uint32_t stencil;
3929
3930typedef union VkClearValue {
3934
3935typedef struct VkClearAttachment {
3940
3941typedef struct VkClearRect {
3944 uint32_t layerCount;
3946
3947typedef struct VkImageBlit {
3953
3954typedef struct VkImageCopy {
3961
3962typedef struct VkImageResolve {
3969
3972 const void* pNext;
3973 VkRenderPass renderPass;
3974 VkFramebuffer framebuffer;
3979
3980typedef VkResult (VKAPI_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance);
3981typedef void (VKAPI_PTR *PFN_vkDestroyInstance)(VkInstance instance, const VkAllocationCallbacks* pAllocator);
3982typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDevices)(VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices);
3983typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures);
3984typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties);
3986typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties);
3987typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties);
3988typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties);
3989typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddr)(VkInstance instance, const char* pName);
3990typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetDeviceProcAddr)(VkDevice device, const char* pName);
3991typedef VkResult (VKAPI_PTR *PFN_vkCreateDevice)(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice);
3992typedef void (VKAPI_PTR *PFN_vkDestroyDevice)(VkDevice device, const VkAllocationCallbacks* pAllocator);
3993typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceExtensionProperties)(const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties);
3994typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties);
3995typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceLayerProperties)(uint32_t* pPropertyCount, VkLayerProperties* pProperties);
3996typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties);
3997typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue)(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue);
3998typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence);
4001typedef VkResult (VKAPI_PTR *PFN_vkAllocateMemory)(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory);
4002typedef void (VKAPI_PTR *PFN_vkFreeMemory)(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator);
4003typedef VkResult (VKAPI_PTR *PFN_vkMapMemory)(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData);
4004typedef void (VKAPI_PTR *PFN_vkUnmapMemory)(VkDevice device, VkDeviceMemory memory);
4005typedef VkResult (VKAPI_PTR *PFN_vkFlushMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
4006typedef VkResult (VKAPI_PTR *PFN_vkInvalidateMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
4007typedef void (VKAPI_PTR *PFN_vkGetDeviceMemoryCommitment)(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes);
4008typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory)(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset);
4009typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory)(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset);
4010typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements)(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements);
4011typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements)(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements);
4012typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements)(VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
4013typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties);
4014typedef VkResult (VKAPI_PTR *PFN_vkQueueBindSparse)(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence);
4015typedef VkResult (VKAPI_PTR *PFN_vkCreateFence)(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
4016typedef void (VKAPI_PTR *PFN_vkDestroyFence)(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator);
4017typedef VkResult (VKAPI_PTR *PFN_vkResetFences)(VkDevice device, uint32_t fenceCount, const VkFence* pFences);
4018typedef VkResult (VKAPI_PTR *PFN_vkGetFenceStatus)(VkDevice device, VkFence fence);
4019typedef VkResult (VKAPI_PTR *PFN_vkWaitForFences)(VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout);
4020typedef VkResult (VKAPI_PTR *PFN_vkCreateSemaphore)(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore);
4021typedef void (VKAPI_PTR *PFN_vkDestroySemaphore)(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator);
4022typedef VkResult (VKAPI_PTR *PFN_vkCreateEvent)(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent);
4023typedef void (VKAPI_PTR *PFN_vkDestroyEvent)(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator);
4025typedef VkResult (VKAPI_PTR *PFN_vkSetEvent)(VkDevice device, VkEvent event);
4026typedef VkResult (VKAPI_PTR *PFN_vkResetEvent)(VkDevice device, VkEvent event);
4027typedef VkResult (VKAPI_PTR *PFN_vkCreateQueryPool)(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool);
4028typedef void (VKAPI_PTR *PFN_vkDestroyQueryPool)(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator);
4029typedef VkResult (VKAPI_PTR *PFN_vkGetQueryPoolResults)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags);
4030typedef VkResult (VKAPI_PTR *PFN_vkCreateBuffer)(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer);
4031typedef void (VKAPI_PTR *PFN_vkDestroyBuffer)(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator);
4032typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferView)(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView);
4033typedef void (VKAPI_PTR *PFN_vkDestroyBufferView)(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator);
4034typedef VkResult (VKAPI_PTR *PFN_vkCreateImage)(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage);
4035typedef void (VKAPI_PTR *PFN_vkDestroyImage)(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator);
4036typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout)(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout);
4037typedef VkResult (VKAPI_PTR *PFN_vkCreateImageView)(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView);
4038typedef void (VKAPI_PTR *PFN_vkDestroyImageView)(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator);
4039typedef VkResult (VKAPI_PTR *PFN_vkCreateShaderModule)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule);
4040typedef void (VKAPI_PTR *PFN_vkDestroyShaderModule)(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator);
4041typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineCache)(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache);
4042typedef void (VKAPI_PTR *PFN_vkDestroyPipelineCache)(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator);
4043typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineCacheData)(VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData);
4044typedef VkResult (VKAPI_PTR *PFN_vkMergePipelineCaches)(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches);
4045typedef VkResult (VKAPI_PTR *PFN_vkCreateGraphicsPipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
4046typedef VkResult (VKAPI_PTR *PFN_vkCreateComputePipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
4047typedef void (VKAPI_PTR *PFN_vkDestroyPipeline)(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator);
4048typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineLayout)(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout);
4049typedef void (VKAPI_PTR *PFN_vkDestroyPipelineLayout)(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator);
4050typedef VkResult (VKAPI_PTR *PFN_vkCreateSampler)(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler);
4051typedef void (VKAPI_PTR *PFN_vkDestroySampler)(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator);
4052typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorSetLayout)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout);
4053typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorSetLayout)(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator);
4054typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorPool)(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool);
4055typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator);
4056typedef VkResult (VKAPI_PTR *PFN_vkResetDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags);
4057typedef VkResult (VKAPI_PTR *PFN_vkAllocateDescriptorSets)(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets);
4058typedef VkResult (VKAPI_PTR *PFN_vkFreeDescriptorSets)(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets);
4059typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSets)(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies);
4060typedef VkResult (VKAPI_PTR *PFN_vkCreateFramebuffer)(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer);
4061typedef void (VKAPI_PTR *PFN_vkDestroyFramebuffer)(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator);
4062typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass)(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
4063typedef void (VKAPI_PTR *PFN_vkDestroyRenderPass)(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator);
4064typedef void (VKAPI_PTR *PFN_vkGetRenderAreaGranularity)(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity);
4065typedef VkResult (VKAPI_PTR *PFN_vkCreateCommandPool)(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool);
4066typedef void (VKAPI_PTR *PFN_vkDestroyCommandPool)(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator);
4067typedef VkResult (VKAPI_PTR *PFN_vkResetCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags);
4068typedef VkResult (VKAPI_PTR *PFN_vkAllocateCommandBuffers)(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers);
4069typedef void (VKAPI_PTR *PFN_vkFreeCommandBuffers)(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers);
4070typedef VkResult (VKAPI_PTR *PFN_vkBeginCommandBuffer)(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo);
4071typedef VkResult (VKAPI_PTR *PFN_vkEndCommandBuffer)(VkCommandBuffer commandBuffer);
4073typedef void (VKAPI_PTR *PFN_vkCmdBindPipeline)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline);
4074typedef void (VKAPI_PTR *PFN_vkCmdSetViewport)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports);
4075typedef void (VKAPI_PTR *PFN_vkCmdSetScissor)(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors);
4076typedef void (VKAPI_PTR *PFN_vkCmdSetLineWidth)(VkCommandBuffer commandBuffer, float lineWidth);
4077typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias)(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor);
4078typedef void (VKAPI_PTR *PFN_vkCmdSetBlendConstants)(VkCommandBuffer commandBuffer, const float blendConstants[4]);
4079typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBounds)(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds);
4080typedef void (VKAPI_PTR *PFN_vkCmdSetStencilCompareMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask);
4081typedef void (VKAPI_PTR *PFN_vkCmdSetStencilWriteMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask);
4082typedef void (VKAPI_PTR *PFN_vkCmdSetStencilReference)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference);
4083typedef void (VKAPI_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);
4084typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType);
4085typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets);
4086typedef void (VKAPI_PTR *PFN_vkCmdDraw)(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance);
4087typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexed)(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance);
4088typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
4089typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
4090typedef void (VKAPI_PTR *PFN_vkCmdDispatch)(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ);
4091typedef void (VKAPI_PTR *PFN_vkCmdDispatchIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset);
4092typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions);
4093typedef void (VKAPI_PTR *PFN_vkCmdCopyImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions);
4094typedef void (VKAPI_PTR *PFN_vkCmdBlitImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter);
4095typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions);
4096typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions);
4097typedef void (VKAPI_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData);
4098typedef void (VKAPI_PTR *PFN_vkCmdFillBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data);
4099typedef void (VKAPI_PTR *PFN_vkCmdClearColorImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges);
4100typedef void (VKAPI_PTR *PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges);
4101typedef void (VKAPI_PTR *PFN_vkCmdClearAttachments)(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects);
4102typedef void (VKAPI_PTR *PFN_vkCmdResolveImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions);
4103typedef void (VKAPI_PTR *PFN_vkCmdSetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
4104typedef void (VKAPI_PTR *PFN_vkCmdResetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
4105typedef void (VKAPI_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);
4106typedef void (VKAPI_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);
4107typedef void (VKAPI_PTR *PFN_vkCmdBeginQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags);
4108typedef void (VKAPI_PTR *PFN_vkCmdEndQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query);
4109typedef void (VKAPI_PTR *PFN_vkCmdResetQueryPool)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount);
4110typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query);
4111typedef void (VKAPI_PTR *PFN_vkCmdCopyQueryPoolResults)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags);
4112typedef void (VKAPI_PTR *PFN_vkCmdPushConstants)(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues);
4113typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents);
4114typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass)(VkCommandBuffer commandBuffer, VkSubpassContents contents);
4115typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass)(VkCommandBuffer commandBuffer);
4116typedef void (VKAPI_PTR *PFN_vkCmdExecuteCommands)(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers);
4117
4118#ifndef VK_NO_PROTOTYPES
4120 const VkInstanceCreateInfo* pCreateInfo,
4121 const VkAllocationCallbacks* pAllocator,
4122 VkInstance* pInstance);
4123
4125 VkInstance instance,
4126 const VkAllocationCallbacks* pAllocator);
4127
4129 VkInstance instance,
4130 uint32_t* pPhysicalDeviceCount,
4131 VkPhysicalDevice* pPhysicalDevices);
4132
4134 VkPhysicalDevice physicalDevice,
4135 VkPhysicalDeviceFeatures* pFeatures);
4136
4138 VkPhysicalDevice physicalDevice,
4140 VkFormatProperties* pFormatProperties);
4141
4143 VkPhysicalDevice physicalDevice,
4146 VkImageTiling tiling,
4149 VkImageFormatProperties* pImageFormatProperties);
4150
4152 VkPhysicalDevice physicalDevice,
4153 VkPhysicalDeviceProperties* pProperties);
4154
4156 VkPhysicalDevice physicalDevice,
4157 uint32_t* pQueueFamilyPropertyCount,
4158 VkQueueFamilyProperties* pQueueFamilyProperties);
4159
4161 VkPhysicalDevice physicalDevice,
4162 VkPhysicalDeviceMemoryProperties* pMemoryProperties);
4163
4165 VkInstance instance,
4166 const char* pName);
4167
4169 VkDevice device,
4170 const char* pName);
4171
4173 VkPhysicalDevice physicalDevice,
4174 const VkDeviceCreateInfo* pCreateInfo,
4175 const VkAllocationCallbacks* pAllocator,
4176 VkDevice* pDevice);
4177
4179 VkDevice device,
4180 const VkAllocationCallbacks* pAllocator);
4181
4183 const char* pLayerName,
4184 uint32_t* pPropertyCount,
4185 VkExtensionProperties* pProperties);
4186
4188 VkPhysicalDevice physicalDevice,
4189 const char* pLayerName,
4190 uint32_t* pPropertyCount,
4191 VkExtensionProperties* pProperties);
4192
4194 uint32_t* pPropertyCount,
4195 VkLayerProperties* pProperties);
4196
4198 VkPhysicalDevice physicalDevice,
4199 uint32_t* pPropertyCount,
4200 VkLayerProperties* pProperties);
4201
4203 VkDevice device,
4204 uint32_t queueFamilyIndex,
4205 uint32_t queueIndex,
4206 VkQueue* pQueue);
4207
4209 VkQueue queue,
4210 uint32_t submitCount,
4211 const VkSubmitInfo* pSubmits,
4212 VkFence fence);
4213
4215 VkQueue queue);
4216
4218 VkDevice device);
4219
4221 VkDevice device,
4222 const VkMemoryAllocateInfo* pAllocateInfo,
4223 const VkAllocationCallbacks* pAllocator,
4224 VkDeviceMemory* pMemory);
4225
4227 VkDevice device,
4228 VkDeviceMemory memory,
4229 const VkAllocationCallbacks* pAllocator);
4230
4232 VkDevice device,
4233 VkDeviceMemory memory,
4237 void** ppData);
4238
4240 VkDevice device,
4241 VkDeviceMemory memory);
4242
4244 VkDevice device,
4245 uint32_t memoryRangeCount,
4246 const VkMappedMemoryRange* pMemoryRanges);
4247
4249 VkDevice device,
4250 uint32_t memoryRangeCount,
4251 const VkMappedMemoryRange* pMemoryRanges);
4252
4254 VkDevice device,
4255 VkDeviceMemory memory,
4256 VkDeviceSize* pCommittedMemoryInBytes);
4257
4259 VkDevice device,
4260 VkBuffer buffer,
4261 VkDeviceMemory memory,
4262 VkDeviceSize memoryOffset);
4263
4265 VkDevice device,
4266 VkImage image,
4267 VkDeviceMemory memory,
4268 VkDeviceSize memoryOffset);
4269
4271 VkDevice device,
4272 VkBuffer buffer,
4273 VkMemoryRequirements* pMemoryRequirements);
4274
4276 VkDevice device,
4277 VkImage image,
4278 VkMemoryRequirements* pMemoryRequirements);
4279
4281 VkDevice device,
4282 VkImage image,
4283 uint32_t* pSparseMemoryRequirementCount,
4284 VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
4285
4287 VkPhysicalDevice physicalDevice,
4290 VkSampleCountFlagBits samples,
4292 VkImageTiling tiling,
4293 uint32_t* pPropertyCount,
4294 VkSparseImageFormatProperties* pProperties);
4295
4297 VkQueue queue,
4298 uint32_t bindInfoCount,
4299 const VkBindSparseInfo* pBindInfo,
4300 VkFence fence);
4301
4303 VkDevice device,
4304 const VkFenceCreateInfo* pCreateInfo,
4305 const VkAllocationCallbacks* pAllocator,
4306 VkFence* pFence);
4307
4309 VkDevice device,
4310 VkFence fence,
4311 const VkAllocationCallbacks* pAllocator);
4312
4314 VkDevice device,
4315 uint32_t fenceCount,
4316 const VkFence* pFences);
4317
4319 VkDevice device,
4320 VkFence fence);
4321
4323 VkDevice device,
4324 uint32_t fenceCount,
4325 const VkFence* pFences,
4326 VkBool32 waitAll,
4327 uint64_t timeout);
4328
4330 VkDevice device,
4331 const VkSemaphoreCreateInfo* pCreateInfo,
4332 const VkAllocationCallbacks* pAllocator,
4333 VkSemaphore* pSemaphore);
4334
4336 VkDevice device,
4337 VkSemaphore semaphore,
4338 const VkAllocationCallbacks* pAllocator);
4339
4341 VkDevice device,
4342 const VkEventCreateInfo* pCreateInfo,
4343 const VkAllocationCallbacks* pAllocator,
4344 VkEvent* pEvent);
4345
4347 VkDevice device,
4348 VkEvent event,
4349 const VkAllocationCallbacks* pAllocator);
4350
4352 VkDevice device,
4353 VkEvent event);
4354
4356 VkDevice device,
4357 VkEvent event);
4358
4360 VkDevice device,
4361 VkEvent event);
4362
4364 VkDevice device,
4365 const VkQueryPoolCreateInfo* pCreateInfo,
4366 const VkAllocationCallbacks* pAllocator,
4367 VkQueryPool* pQueryPool);
4368
4370 VkDevice device,
4371 VkQueryPool queryPool,
4372 const VkAllocationCallbacks* pAllocator);
4373
4375 VkDevice device,
4376 VkQueryPool queryPool,
4377 uint32_t firstQuery,
4378 uint32_t queryCount,
4379 size_t dataSize,
4380 void* pData,
4381 VkDeviceSize stride,
4383
4385 VkDevice device,
4386 const VkBufferCreateInfo* pCreateInfo,
4387 const VkAllocationCallbacks* pAllocator,
4388 VkBuffer* pBuffer);
4389
4391 VkDevice device,
4392 VkBuffer buffer,
4393 const VkAllocationCallbacks* pAllocator);
4394
4396 VkDevice device,
4397 const VkBufferViewCreateInfo* pCreateInfo,
4398 const VkAllocationCallbacks* pAllocator,
4399 VkBufferView* pView);
4400
4402 VkDevice device,
4403 VkBufferView bufferView,
4404 const VkAllocationCallbacks* pAllocator);
4405
4407 VkDevice device,
4408 const VkImageCreateInfo* pCreateInfo,
4409 const VkAllocationCallbacks* pAllocator,
4410 VkImage* pImage);
4411
4413 VkDevice device,
4414 VkImage image,
4415 const VkAllocationCallbacks* pAllocator);
4416
4418 VkDevice device,
4419 VkImage image,
4420 const VkImageSubresource* pSubresource,
4421 VkSubresourceLayout* pLayout);
4422
4424 VkDevice device,
4425 const VkImageViewCreateInfo* pCreateInfo,
4426 const VkAllocationCallbacks* pAllocator,
4427 VkImageView* pView);
4428
4430 VkDevice device,
4431 VkImageView imageView,
4432 const VkAllocationCallbacks* pAllocator);
4433
4435 VkDevice device,
4436 const VkShaderModuleCreateInfo* pCreateInfo,
4437 const VkAllocationCallbacks* pAllocator,
4438 VkShaderModule* pShaderModule);
4439
4441 VkDevice device,
4442 VkShaderModule shaderModule,
4443 const VkAllocationCallbacks* pAllocator);
4444
4446 VkDevice device,
4447 const VkPipelineCacheCreateInfo* pCreateInfo,
4448 const VkAllocationCallbacks* pAllocator,
4449 VkPipelineCache* pPipelineCache);
4450
4452 VkDevice device,
4453 VkPipelineCache pipelineCache,
4454 const VkAllocationCallbacks* pAllocator);
4455
4457 VkDevice device,
4458 VkPipelineCache pipelineCache,
4459 size_t* pDataSize,
4460 void* pData);
4461
4463 VkDevice device,
4464 VkPipelineCache dstCache,
4465 uint32_t srcCacheCount,
4466 const VkPipelineCache* pSrcCaches);
4467
4469 VkDevice device,
4470 VkPipelineCache pipelineCache,
4471 uint32_t createInfoCount,
4472 const VkGraphicsPipelineCreateInfo* pCreateInfos,
4473 const VkAllocationCallbacks* pAllocator,
4474 VkPipeline* pPipelines);
4475
4477 VkDevice device,
4478 VkPipelineCache pipelineCache,
4479 uint32_t createInfoCount,
4480 const VkComputePipelineCreateInfo* pCreateInfos,
4481 const VkAllocationCallbacks* pAllocator,
4482 VkPipeline* pPipelines);
4483
4485 VkDevice device,
4486 VkPipeline pipeline,
4487 const VkAllocationCallbacks* pAllocator);
4488
4490 VkDevice device,
4491 const VkPipelineLayoutCreateInfo* pCreateInfo,
4492 const VkAllocationCallbacks* pAllocator,
4493 VkPipelineLayout* pPipelineLayout);
4494
4496 VkDevice device,
4497 VkPipelineLayout pipelineLayout,
4498 const VkAllocationCallbacks* pAllocator);
4499
4501 VkDevice device,
4502 const VkSamplerCreateInfo* pCreateInfo,
4503 const VkAllocationCallbacks* pAllocator,
4504 VkSampler* pSampler);
4505
4507 VkDevice device,
4508 VkSampler sampler,
4509 const VkAllocationCallbacks* pAllocator);
4510
4512 VkDevice device,
4513 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
4514 const VkAllocationCallbacks* pAllocator,
4515 VkDescriptorSetLayout* pSetLayout);
4516
4518 VkDevice device,
4519 VkDescriptorSetLayout descriptorSetLayout,
4520 const VkAllocationCallbacks* pAllocator);
4521
4523 VkDevice device,
4524 const VkDescriptorPoolCreateInfo* pCreateInfo,
4525 const VkAllocationCallbacks* pAllocator,
4526 VkDescriptorPool* pDescriptorPool);
4527
4529 VkDevice device,
4530 VkDescriptorPool descriptorPool,
4531 const VkAllocationCallbacks* pAllocator);
4532
4534 VkDevice device,
4535 VkDescriptorPool descriptorPool,
4537
4539 VkDevice device,
4540 const VkDescriptorSetAllocateInfo* pAllocateInfo,
4541 VkDescriptorSet* pDescriptorSets);
4542
4544 VkDevice device,
4545 VkDescriptorPool descriptorPool,
4546 uint32_t descriptorSetCount,
4547 const VkDescriptorSet* pDescriptorSets);
4548
4550 VkDevice device,
4551 uint32_t descriptorWriteCount,
4552 const VkWriteDescriptorSet* pDescriptorWrites,
4553 uint32_t descriptorCopyCount,
4554 const VkCopyDescriptorSet* pDescriptorCopies);
4555
4557 VkDevice device,
4558 const VkFramebufferCreateInfo* pCreateInfo,
4559 const VkAllocationCallbacks* pAllocator,
4560 VkFramebuffer* pFramebuffer);
4561
4563 VkDevice device,
4564 VkFramebuffer framebuffer,
4565 const VkAllocationCallbacks* pAllocator);
4566
4568 VkDevice device,
4569 const VkRenderPassCreateInfo* pCreateInfo,
4570 const VkAllocationCallbacks* pAllocator,
4571 VkRenderPass* pRenderPass);
4572
4574 VkDevice device,
4575 VkRenderPass renderPass,
4576 const VkAllocationCallbacks* pAllocator);
4577
4579 VkDevice device,
4580 VkRenderPass renderPass,
4581 VkExtent2D* pGranularity);
4582
4584 VkDevice device,
4585 const VkCommandPoolCreateInfo* pCreateInfo,
4586 const VkAllocationCallbacks* pAllocator,
4587 VkCommandPool* pCommandPool);
4588
4590 VkDevice device,
4591 VkCommandPool commandPool,
4592 const VkAllocationCallbacks* pAllocator);
4593
4595 VkDevice device,
4596 VkCommandPool commandPool,
4598
4600 VkDevice device,
4601 const VkCommandBufferAllocateInfo* pAllocateInfo,
4602 VkCommandBuffer* pCommandBuffers);
4603
4605 VkDevice device,
4606 VkCommandPool commandPool,
4607 uint32_t commandBufferCount,
4608 const VkCommandBuffer* pCommandBuffers);
4609
4611 VkCommandBuffer commandBuffer,
4612 const VkCommandBufferBeginInfo* pBeginInfo);
4613
4615 VkCommandBuffer commandBuffer);
4616
4618 VkCommandBuffer commandBuffer,
4620
4622 VkCommandBuffer commandBuffer,
4623 VkPipelineBindPoint pipelineBindPoint,
4624 VkPipeline pipeline);
4625
4627 VkCommandBuffer commandBuffer,
4628 uint32_t firstViewport,
4629 uint32_t viewportCount,
4630 const VkViewport* pViewports);
4631
4633 VkCommandBuffer commandBuffer,
4634 uint32_t firstScissor,
4635 uint32_t scissorCount,
4636 const VkRect2D* pScissors);
4637
4639 VkCommandBuffer commandBuffer,
4640 float lineWidth);
4641
4643 VkCommandBuffer commandBuffer,
4644 float depthBiasConstantFactor,
4645 float depthBiasClamp,
4646 float depthBiasSlopeFactor);
4647
4649 VkCommandBuffer commandBuffer,
4650 const float blendConstants[4]);
4651
4653 VkCommandBuffer commandBuffer,
4654 float minDepthBounds,
4655 float maxDepthBounds);
4656
4658 VkCommandBuffer commandBuffer,
4659 VkStencilFaceFlags faceMask,
4660 uint32_t compareMask);
4661
4663 VkCommandBuffer commandBuffer,
4664 VkStencilFaceFlags faceMask,
4665 uint32_t writeMask);
4666
4668 VkCommandBuffer commandBuffer,
4669 VkStencilFaceFlags faceMask,
4670 uint32_t reference);
4671
4673 VkCommandBuffer commandBuffer,
4674 VkPipelineBindPoint pipelineBindPoint,
4675 VkPipelineLayout layout,
4676 uint32_t firstSet,
4677 uint32_t descriptorSetCount,
4678 const VkDescriptorSet* pDescriptorSets,
4679 uint32_t dynamicOffsetCount,
4680 const uint32_t* pDynamicOffsets);
4681
4683 VkCommandBuffer commandBuffer,
4684 VkBuffer buffer,
4686 VkIndexType indexType);
4687
4689 VkCommandBuffer commandBuffer,
4690 uint32_t firstBinding,
4691 uint32_t bindingCount,
4692 const VkBuffer* pBuffers,
4693 const VkDeviceSize* pOffsets);
4694
4696 VkCommandBuffer commandBuffer,
4697 uint32_t vertexCount,
4698 uint32_t instanceCount,
4699 uint32_t firstVertex,
4700 uint32_t firstInstance);
4701
4703 VkCommandBuffer commandBuffer,
4704 uint32_t indexCount,
4705 uint32_t instanceCount,
4706 uint32_t firstIndex,
4707 int32_t vertexOffset,
4708 uint32_t firstInstance);
4709
4711 VkCommandBuffer commandBuffer,
4712 VkBuffer buffer,
4714 uint32_t drawCount,
4715 uint32_t stride);
4716
4718 VkCommandBuffer commandBuffer,
4719 VkBuffer buffer,
4721 uint32_t drawCount,
4722 uint32_t stride);
4723
4725 VkCommandBuffer commandBuffer,
4726 uint32_t groupCountX,
4727 uint32_t groupCountY,
4728 uint32_t groupCountZ);
4729
4731 VkCommandBuffer commandBuffer,
4732 VkBuffer buffer,
4734
4736 VkCommandBuffer commandBuffer,
4737 VkBuffer srcBuffer,
4738 VkBuffer dstBuffer,
4739 uint32_t regionCount,
4740 const VkBufferCopy* pRegions);
4741
4743 VkCommandBuffer commandBuffer,
4744 VkImage srcImage,
4745 VkImageLayout srcImageLayout,
4746 VkImage dstImage,
4747 VkImageLayout dstImageLayout,
4748 uint32_t regionCount,
4749 const VkImageCopy* pRegions);
4750
4752 VkCommandBuffer commandBuffer,
4753 VkImage srcImage,
4754 VkImageLayout srcImageLayout,
4755 VkImage dstImage,
4756 VkImageLayout dstImageLayout,
4757 uint32_t regionCount,
4758 const VkImageBlit* pRegions,
4759 VkFilter filter);
4760
4762 VkCommandBuffer commandBuffer,
4763 VkBuffer srcBuffer,
4764 VkImage dstImage,
4765 VkImageLayout dstImageLayout,
4766 uint32_t regionCount,
4767 const VkBufferImageCopy* pRegions);
4768
4770 VkCommandBuffer commandBuffer,
4771 VkImage srcImage,
4772 VkImageLayout srcImageLayout,
4773 VkBuffer dstBuffer,
4774 uint32_t regionCount,
4775 const VkBufferImageCopy* pRegions);
4776
4778 VkCommandBuffer commandBuffer,
4779 VkBuffer dstBuffer,
4780 VkDeviceSize dstOffset,
4781 VkDeviceSize dataSize,
4782 const void* pData);
4783
4785 VkCommandBuffer commandBuffer,
4786 VkBuffer dstBuffer,
4787 VkDeviceSize dstOffset,
4789 uint32_t data);
4790
4792 VkCommandBuffer commandBuffer,
4793 VkImage image,
4794 VkImageLayout imageLayout,
4795 const VkClearColorValue* pColor,
4796 uint32_t rangeCount,
4797 const VkImageSubresourceRange* pRanges);
4798
4800 VkCommandBuffer commandBuffer,
4801 VkImage image,
4802 VkImageLayout imageLayout,
4803 const VkClearDepthStencilValue* pDepthStencil,
4804 uint32_t rangeCount,
4805 const VkImageSubresourceRange* pRanges);
4806
4808 VkCommandBuffer commandBuffer,
4809 uint32_t attachmentCount,
4810 const VkClearAttachment* pAttachments,
4811 uint32_t rectCount,
4812 const VkClearRect* pRects);
4813
4815 VkCommandBuffer commandBuffer,
4816 VkImage srcImage,
4817 VkImageLayout srcImageLayout,
4818 VkImage dstImage,
4819 VkImageLayout dstImageLayout,
4820 uint32_t regionCount,
4821 const VkImageResolve* pRegions);
4822
4824 VkCommandBuffer commandBuffer,
4825 VkEvent event,
4826 VkPipelineStageFlags stageMask);
4827
4829 VkCommandBuffer commandBuffer,
4830 VkEvent event,
4831 VkPipelineStageFlags stageMask);
4832
4834 VkCommandBuffer commandBuffer,
4835 uint32_t eventCount,
4836 const VkEvent* pEvents,
4837 VkPipelineStageFlags srcStageMask,
4838 VkPipelineStageFlags dstStageMask,
4839 uint32_t memoryBarrierCount,
4840 const VkMemoryBarrier* pMemoryBarriers,
4841 uint32_t bufferMemoryBarrierCount,
4842 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
4843 uint32_t imageMemoryBarrierCount,
4844 const VkImageMemoryBarrier* pImageMemoryBarriers);
4845
4847 VkCommandBuffer commandBuffer,
4848 VkPipelineStageFlags srcStageMask,
4849 VkPipelineStageFlags dstStageMask,
4850 VkDependencyFlags dependencyFlags,
4851 uint32_t memoryBarrierCount,
4852 const VkMemoryBarrier* pMemoryBarriers,
4853 uint32_t bufferMemoryBarrierCount,
4854 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
4855 uint32_t imageMemoryBarrierCount,
4856 const VkImageMemoryBarrier* pImageMemoryBarriers);
4857
4859 VkCommandBuffer commandBuffer,
4860 VkQueryPool queryPool,
4861 uint32_t query,
4863
4865 VkCommandBuffer commandBuffer,
4866 VkQueryPool queryPool,
4867 uint32_t query);
4868
4870 VkCommandBuffer commandBuffer,
4871 VkQueryPool queryPool,
4872 uint32_t firstQuery,
4873 uint32_t queryCount);
4874
4876 VkCommandBuffer commandBuffer,
4877 VkPipelineStageFlagBits pipelineStage,
4878 VkQueryPool queryPool,
4879 uint32_t query);
4880
4882 VkCommandBuffer commandBuffer,
4883 VkQueryPool queryPool,
4884 uint32_t firstQuery,
4885 uint32_t queryCount,
4886 VkBuffer dstBuffer,
4887 VkDeviceSize dstOffset,
4888 VkDeviceSize stride,
4890
4892 VkCommandBuffer commandBuffer,
4893 VkPipelineLayout layout,
4894 VkShaderStageFlags stageFlags,
4895 uint32_t offset,
4896 uint32_t size,
4897 const void* pValues);
4898
4900 VkCommandBuffer commandBuffer,
4901 const VkRenderPassBeginInfo* pRenderPassBegin,
4902 VkSubpassContents contents);
4903
4905 VkCommandBuffer commandBuffer,
4906 VkSubpassContents contents);
4907
4909 VkCommandBuffer commandBuffer);
4910
4912 VkCommandBuffer commandBuffer,
4913 uint32_t commandBufferCount,
4914 const VkCommandBuffer* pCommandBuffers);
4915#endif
4916
4917
4918// VK_VERSION_1_1 is a preprocessor guard. Do not pass it to API calls.
4919#define VK_VERSION_1_1 1
4920// Vulkan 1.1 version number
4921#define VK_API_VERSION_1_1 VK_MAKE_API_VERSION(0, 1, 1, 0)// Patch version should always be set to 0
4922
4923VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion)
4924VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate)
4925#define VK_MAX_DEVICE_GROUP_SIZE 32U
4926#define VK_LUID_SIZE 8U
4927#define VK_QUEUE_FAMILY_EXTERNAL (~1U)
4928
4936
4944
4958
4966
4967typedef enum VkChromaLocation {
4972 VK_CHROMA_LOCATION_MAX_ENUM = 0x7FFFFFFF
4974
4981
4995
5008
5021
5047
5058
5071
5080
5087
5094
5111
5122 void* pNext;
5128
5131 const void* pNext;
5132 VkBuffer buffer;
5133 VkDeviceMemory memory;
5136
5139 const void* pNext;
5140 VkImage image;
5141 VkDeviceMemory memory;
5144
5147 void* pNext;
5153
5156 void* pNext;
5160
5163 const void* pNext;
5164 VkImage image;
5165 VkBuffer buffer;
5167
5170 const void* pNext;
5172 uint32_t deviceMask;
5174
5177 const void* pNext;
5178 uint32_t deviceMask;
5182
5185 const void* pNext;
5186 uint32_t deviceMask;
5188
5191 const void* pNext;
5199
5202 const void* pNext;
5206
5209 const void* pNext;
5211 const uint32_t* pDeviceIndices;
5213
5216 const void* pNext;
5218 const uint32_t* pDeviceIndices;
5222
5225 void* pNext;
5230
5233 const void* pNext;
5235 const VkPhysicalDevice* pPhysicalDevices;
5237
5240 const void* pNext;
5241 VkBuffer buffer;
5243
5246 const void* pNext;
5247 VkImage image;
5249
5252 const void* pNext;
5253 VkImage image;
5255
5258 void* pNext;
5261
5264 void* pNext;
5267
5270 void* pNext;
5273
5276 void* pNext;
5279
5280typedef struct VkFormatProperties2 {
5282 void* pNext;
5285
5288 void* pNext;
5291
5294 const void* pNext;
5301
5304 void* pNext;
5307
5310 void* pNext;
5313
5316 void* pNext;
5319
5322 const void* pNext;
5329
5332 void* pNext;
5335
5337 uint32_t subpass;
5341
5344 const void* pNext;
5348
5351 const void* pNext;
5354
5357 const void* pNext;
5360
5363 const void* pNext;
5365 const uint32_t* pViewMasks;
5367 const int32_t* pViewOffsets;
5369 const uint32_t* pCorrelationMasks;
5371
5374 void* pNext;
5379
5382 void* pNext;
5386
5389 void* pNext;
5393
5395
5398 void* pNext;
5401
5404 void* pNext;
5407
5408typedef struct VkDeviceQueueInfo2 {
5410 const void* pNext;
5413 uint32_t queueIndex;
5415
5418 const void* pNext;
5421
5424 const void* pNext;
5434
5437 const void* pNext;
5438 VkSamplerYcbcrConversion conversion;
5440
5443 const void* pNext;
5446
5449 const void* pNext;
5452
5455 void* pNext;
5458
5461 void* pNext;
5464
5466 uint32_t dstBinding;
5470 size_t offset;
5471 size_t stride;
5473
5476 const void* pNext;
5481 VkDescriptorSetLayout descriptorSetLayout;
5483 VkPipelineLayout pipelineLayout;
5484 uint32_t set;
5486
5492
5495 const void* pNext;
5498
5501 void* pNext;
5504
5507 const void* pNext;
5512
5515 void* pNext;
5518
5521 void* pNext;
5528
5531 const void* pNext;
5534
5537 const void* pNext;
5540
5543 const void* pNext;
5546
5549 const void* pNext;
5552
5555 void* pNext;
5560
5563 const void* pNext;
5566
5569 const void* pNext;
5572
5575 const void* pNext;
5578
5581 void* pNext;
5586
5589 void* pNext;
5593
5596 void* pNext;
5599
5602 void* pNext;
5605
5607
5608typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceVersion)(uint32_t* pApiVersion);
5609typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
5610typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
5611typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeatures)(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
5612typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMask)(VkCommandBuffer commandBuffer, uint32_t deviceMask);
5613typedef void (VKAPI_PTR *PFN_vkCmdDispatchBase)(VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ);
5614typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroups)(VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
5617typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
5618typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
5619typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
5620typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
5621typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
5622typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
5623typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
5624typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
5625typedef void (VKAPI_PTR *PFN_vkTrimCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
5626typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue2)(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue);
5627typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversion)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
5628typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversion)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
5629typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplate)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
5630typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplate)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
5631typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplate)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
5632typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
5633typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFenceProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
5634typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphoreProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
5636
5637#ifndef VK_NO_PROTOTYPES
5639 uint32_t* pApiVersion);
5640
5642 VkDevice device,
5643 uint32_t bindInfoCount,
5644 const VkBindBufferMemoryInfo* pBindInfos);
5645
5647 VkDevice device,
5648 uint32_t bindInfoCount,
5649 const VkBindImageMemoryInfo* pBindInfos);
5650
5652 VkDevice device,
5653 uint32_t heapIndex,
5654 uint32_t localDeviceIndex,
5655 uint32_t remoteDeviceIndex,
5656 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
5657
5659 VkCommandBuffer commandBuffer,
5660 uint32_t deviceMask);
5661
5663 VkCommandBuffer commandBuffer,
5664 uint32_t baseGroupX,
5665 uint32_t baseGroupY,
5666 uint32_t baseGroupZ,
5667 uint32_t groupCountX,
5668 uint32_t groupCountY,
5669 uint32_t groupCountZ);
5670
5672 VkInstance instance,
5673 uint32_t* pPhysicalDeviceGroupCount,
5674 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
5675
5677 VkDevice device,
5678 const VkImageMemoryRequirementsInfo2* pInfo,
5679 VkMemoryRequirements2* pMemoryRequirements);
5680
5682 VkDevice device,
5684 VkMemoryRequirements2* pMemoryRequirements);
5685
5687 VkDevice device,
5689 uint32_t* pSparseMemoryRequirementCount,
5690 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
5691
5693 VkPhysicalDevice physicalDevice,
5694 VkPhysicalDeviceFeatures2* pFeatures);
5695
5697 VkPhysicalDevice physicalDevice,
5698 VkPhysicalDeviceProperties2* pProperties);
5699
5701 VkPhysicalDevice physicalDevice,
5703 VkFormatProperties2* pFormatProperties);
5704
5706 VkPhysicalDevice physicalDevice,
5707 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
5708 VkImageFormatProperties2* pImageFormatProperties);
5709
5711 VkPhysicalDevice physicalDevice,
5712 uint32_t* pQueueFamilyPropertyCount,
5713 VkQueueFamilyProperties2* pQueueFamilyProperties);
5714
5716 VkPhysicalDevice physicalDevice,
5717 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
5718
5720 VkPhysicalDevice physicalDevice,
5721 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
5722 uint32_t* pPropertyCount,
5723 VkSparseImageFormatProperties2* pProperties);
5724
5726 VkDevice device,
5727 VkCommandPool commandPool,
5729
5731 VkDevice device,
5732 const VkDeviceQueueInfo2* pQueueInfo,
5733 VkQueue* pQueue);
5734
5736 VkDevice device,
5737 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
5738 const VkAllocationCallbacks* pAllocator,
5739 VkSamplerYcbcrConversion* pYcbcrConversion);
5740
5742 VkDevice device,
5743 VkSamplerYcbcrConversion ycbcrConversion,
5744 const VkAllocationCallbacks* pAllocator);
5745
5747 VkDevice device,
5748 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
5749 const VkAllocationCallbacks* pAllocator,
5750 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
5751
5753 VkDevice device,
5754 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
5755 const VkAllocationCallbacks* pAllocator);
5756
5758 VkDevice device,
5759 VkDescriptorSet descriptorSet,
5760 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
5761 const void* pData);
5762
5764 VkPhysicalDevice physicalDevice,
5765 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
5766 VkExternalBufferProperties* pExternalBufferProperties);
5767
5769 VkPhysicalDevice physicalDevice,
5770 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
5771 VkExternalFenceProperties* pExternalFenceProperties);
5772
5774 VkPhysicalDevice physicalDevice,
5775 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
5776 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
5777
5779 VkDevice device,
5780 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
5782#endif
5783
5784
5785// VK_VERSION_1_2 is a preprocessor guard. Do not pass it to API calls.
5786#define VK_VERSION_1_2 1
5787// Vulkan 1.2 version number
5788#define VK_API_VERSION_1_2 VK_MAKE_API_VERSION(0, 1, 2, 0)// Patch version should always be set to 0
5789
5790#define VK_MAX_DRIVER_NAME_SIZE 256U
5791#define VK_MAX_DRIVER_INFO_SIZE 256U
5792
5793typedef enum VkDriverId {
5832 VK_DRIVER_ID_MAX_ENUM = 0x7FFFFFFF
5834
5844
5855
5856typedef enum VkSemaphoreType {
5861 VK_SEMAPHORE_TYPE_MAX_ENUM = 0x7FFFFFFF
5863
5879
5892
5901 void* pNext;
5915
5918 void* pNext;
5935
5938 void* pNext;
5987
5988typedef struct VkConformanceVersion {
5989 uint8_t major;
5990 uint8_t minor;
5991 uint8_t subminor;
5992 uint8_t patch;
5994
5997 void* pNext;
6051
6054 const void* pNext;
6058
6061 const void* pNext;
6072
6075 const void* pNext;
6076 uint32_t attachment;
6080
6083 const void* pNext;
6086 uint32_t viewMask;
6094 const uint32_t* pPreserveAttachments;
6096
6097typedef struct VkSubpassDependency2 {
6099 const void* pNext;
6100 uint32_t srcSubpass;
6101 uint32_t dstSubpass;
6107 int32_t viewOffset;
6109
6112 const void* pNext;
6121 const uint32_t* pCorrelatedViewMasks;
6123
6124typedef struct VkSubpassBeginInfo {
6126 const void* pNext;
6129
6130typedef struct VkSubpassEndInfo {
6132 const void* pNext;
6134
6137 void* pNext;
6142
6145 void* pNext;
6151
6154 void* pNext;
6158
6161 void* pNext;
6165
6168 void* pNext;
6187
6190 const void* pNext;
6194
6197 void* pNext;
6219
6222 void* pNext;
6247
6250 const void* pNext;
6252 const uint32_t* pDescriptorCounts;
6254
6257 void* pNext;
6260
6263 const void* pNext;
6268
6271 void* pNext;
6277
6280 void* pNext;
6283
6286 const void* pNext;
6289
6292 const void* pNext;
6295
6298 void* pNext;
6302
6305 void* pNext;
6310
6313 void* pNext;
6316
6319 const void* pNext;
6322 uint32_t width;
6323 uint32_t height;
6324 uint32_t layerCount;
6328
6331 const void* pNext;
6335
6338 const void* pNext;
6340 const VkImageView* pAttachments;
6342
6345 void* pNext;
6348
6351 void* pNext;
6354
6357 void* pNext;
6360
6363 void* pNext;
6366
6369 void* pNext;
6373
6376 void* pNext;
6379
6382 void* pNext;
6385
6388 void* pNext;
6391
6394 const void* pNext;
6398
6401 const void* pNext;
6403 const uint64_t* pWaitSemaphoreValues;
6405 const uint64_t* pSignalSemaphoreValues;
6407
6408typedef struct VkSemaphoreWaitInfo {
6410 const void* pNext;
6413 const VkSemaphore* pSemaphores;
6414 const uint64_t* pValues;
6416
6419 const void* pNext;
6420 VkSemaphore semaphore;
6421 uint64_t value;
6423
6426 void* pNext;
6431
6434 const void* pNext;
6435 VkBuffer buffer;
6437
6440 const void* pNext;
6443
6446 const void* pNext;
6449
6452 const void* pNext;
6453 VkDeviceMemory memory;
6455
6456typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
6457typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
6458typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
6459typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo);
6460typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo);
6461typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo);
6462typedef void (VKAPI_PTR *PFN_vkResetQueryPool)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount);
6463typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValue)(VkDevice device, VkSemaphore semaphore, uint64_t* pValue);
6464typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphores)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout);
6469
6470#ifndef VK_NO_PROTOTYPES
6472 VkCommandBuffer commandBuffer,
6473 VkBuffer buffer,
6475 VkBuffer countBuffer,
6476 VkDeviceSize countBufferOffset,
6477 uint32_t maxDrawCount,
6478 uint32_t stride);
6479
6481 VkCommandBuffer commandBuffer,
6482 VkBuffer buffer,
6484 VkBuffer countBuffer,
6485 VkDeviceSize countBufferOffset,
6486 uint32_t maxDrawCount,
6487 uint32_t stride);
6488
6490 VkDevice device,
6491 const VkRenderPassCreateInfo2* pCreateInfo,
6492 const VkAllocationCallbacks* pAllocator,
6493 VkRenderPass* pRenderPass);
6494
6496 VkCommandBuffer commandBuffer,
6497 const VkRenderPassBeginInfo* pRenderPassBegin,
6498 const VkSubpassBeginInfo* pSubpassBeginInfo);
6499
6501 VkCommandBuffer commandBuffer,
6502 const VkSubpassBeginInfo* pSubpassBeginInfo,
6503 const VkSubpassEndInfo* pSubpassEndInfo);
6504
6506 VkCommandBuffer commandBuffer,
6507 const VkSubpassEndInfo* pSubpassEndInfo);
6508
6510 VkDevice device,
6511 VkQueryPool queryPool,
6512 uint32_t firstQuery,
6513 uint32_t queryCount);
6514
6516 VkDevice device,
6517 VkSemaphore semaphore,
6518 uint64_t* pValue);
6519
6521 VkDevice device,
6522 const VkSemaphoreWaitInfo* pWaitInfo,
6523 uint64_t timeout);
6524
6526 VkDevice device,
6527 const VkSemaphoreSignalInfo* pSignalInfo);
6528
6530 VkDevice device,
6531 const VkBufferDeviceAddressInfo* pInfo);
6532
6534 VkDevice device,
6535 const VkBufferDeviceAddressInfo* pInfo);
6536
6538 VkDevice device,
6540#endif
6541
6542
6543// VK_VERSION_1_3 is a preprocessor guard. Do not pass it to API calls.
6544#define VK_VERSION_1_3 1
6545// Vulkan 1.3 version number
6546#define VK_API_VERSION_1_3 VK_MAKE_API_VERSION(0, 1, 3, 0)// Patch version should always be set to 0
6547
6548typedef uint64_t VkFlags64;
6549VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPrivateDataSlot)
6550
6561
6580
6581// Flag bits for VkPipelineStageFlagBits2
6636#ifdef VK_ENABLE_BETA_EXTENSIONS
6637static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR = 0x08000000ULL;
6638#endif
6660
6662
6663// Flag bits for VkAccessFlagBits2
6709#ifdef VK_ENABLE_BETA_EXTENSIONS
6710static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR = 0x2000000000ULL;
6711#endif
6712#ifdef VK_ENABLE_BETA_EXTENSIONS
6713static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR = 0x4000000000ULL;
6714#endif
6736
6737
6738typedef enum VkSubmitFlagBits {
6741 VK_SUBMIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
6744
6758
6759// Flag bits for VkFormatFeatureFlagBits2
6821#ifdef VK_ENABLE_BETA_EXTENSIONS
6822static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000ULL;
6823#endif
6824#ifdef VK_ENABLE_BETA_EXTENSIONS
6825static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000ULL;
6826#endif
6835
6838 void* pNext;
6855
6858 void* pNext;
6905
6908 uint64_t duration;
6910
6913 const void* pNext;
6918
6921 void* pNext;
6924
6927 void* pNext;
6934
6937 void* pNext;
6940
6943 void* pNext;
6946
6949 const void* pNext;
6952
6955 const void* pNext;
6958
6961 void* pNext;
6964
6965typedef struct VkMemoryBarrier2 {
6967 const void* pNext;
6973
6976 const void* pNext;
6983 VkBuffer buffer;
6987
6990 const void* pNext;
6999 VkImage image;
7002
7003typedef struct VkDependencyInfo {
7005 const void* pNext;
7014
7017 const void* pNext;
7018 VkSemaphore semaphore;
7019 uint64_t value;
7021 uint32_t deviceIndex;
7023
7026 const void* pNext;
7027 VkCommandBuffer commandBuffer;
7028 uint32_t deviceMask;
7030
7031typedef struct VkSubmitInfo2 {
7033 const void* pNext;
7042
7045 void* pNext;
7048
7051 void* pNext;
7054
7057 void* pNext;
7060
7061typedef struct VkBufferCopy2 {
7063 const void* pNext;
7068
7069typedef struct VkCopyBufferInfo2 {
7071 const void* pNext;
7072 VkBuffer srcBuffer;
7073 VkBuffer dstBuffer;
7074 uint32_t regionCount;
7077
7078typedef struct VkImageCopy2 {
7080 const void* pNext;
7087
7088typedef struct VkCopyImageInfo2 {
7090 const void* pNext;
7091 VkImage srcImage;
7093 VkImage dstImage;
7095 uint32_t regionCount;
7098
7099typedef struct VkBufferImageCopy2 {
7101 const void* pNext;
7109
7112 const void* pNext;
7113 VkBuffer srcBuffer;
7114 VkImage dstImage;
7116 uint32_t regionCount;
7119
7122 const void* pNext;
7123 VkImage srcImage;
7125 VkBuffer dstBuffer;
7126 uint32_t regionCount;
7129
7130typedef struct VkImageBlit2 {
7132 const void* pNext;
7138
7139typedef struct VkBlitImageInfo2 {
7141 const void* pNext;
7142 VkImage srcImage;
7144 VkImage dstImage;
7146 uint32_t regionCount;
7150
7151typedef struct VkImageResolve2 {
7153 const void* pNext;
7160
7161typedef struct VkResolveImageInfo2 {
7163 const void* pNext;
7164 VkImage srcImage;
7166 VkImage dstImage;
7168 uint32_t regionCount;
7171
7174 void* pNext;
7178
7181 void* pNext;
7187
7190 void* pNext;
7193
7196 void* pNext;
7200
7203 void* pNext;
7210
7213 const void* pNext;
7214 uint32_t dataSize;
7215 const void* pData;
7217
7220 const void* pNext;
7223
7226 void* pNext;
7229
7232 const void* pNext;
7233 VkImageView imageView;
7236 VkImageView resolveImageView;
7242
7243typedef struct VkRenderingInfo {
7245 const void* pNext;
7248 uint32_t layerCount;
7249 uint32_t viewMask;
7255
7258 const void* pNext;
7259 uint32_t viewMask;
7265
7268 void* pNext;
7271
7274 const void* pNext;
7276 uint32_t viewMask;
7283
7286 void* pNext;
7289
7292 void* pNext;
7324
7327 void* pNext;
7333
7334typedef struct VkFormatProperties3 {
7336 void* pNext;
7341
7344 void* pNext;
7347
7350 void* pNext;
7353
7356 const void* pNext;
7359
7362 const void* pNext;
7366
7367typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceToolProperties)(VkPhysicalDevice physicalDevice, uint32_t* pToolCount, VkPhysicalDeviceToolProperties* pToolProperties);
7368typedef VkResult (VKAPI_PTR *PFN_vkCreatePrivateDataSlot)(VkDevice device, const VkPrivateDataSlotCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlot* pPrivateDataSlot);
7369typedef void (VKAPI_PTR *PFN_vkDestroyPrivateDataSlot)(VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks* pAllocator);
7370typedef VkResult (VKAPI_PTR *PFN_vkSetPrivateData)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t data);
7371typedef void (VKAPI_PTR *PFN_vkGetPrivateData)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t* pData);
7372typedef void (VKAPI_PTR *PFN_vkCmdSetEvent2)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo* pDependencyInfo);
7373typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask);
7374typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents2)(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, const VkDependencyInfo* pDependencyInfos);
7375typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier2)(VkCommandBuffer commandBuffer, const VkDependencyInfo* pDependencyInfo);
7376typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query);
7377typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo2* pSubmits, VkFence fence);
7378typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer2)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2* pCopyBufferInfo);
7379typedef void (VKAPI_PTR *PFN_vkCmdCopyImage2)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2* pCopyImageInfo);
7380typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage2)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo);
7381typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer2)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo);
7382typedef void (VKAPI_PTR *PFN_vkCmdBlitImage2)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2* pBlitImageInfo);
7383typedef void (VKAPI_PTR *PFN_vkCmdResolveImage2)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2* pResolveImageInfo);
7384typedef void (VKAPI_PTR *PFN_vkCmdBeginRendering)(VkCommandBuffer commandBuffer, const VkRenderingInfo* pRenderingInfo);
7385typedef void (VKAPI_PTR *PFN_vkCmdEndRendering)(VkCommandBuffer commandBuffer);
7386typedef void (VKAPI_PTR *PFN_vkCmdSetCullMode)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode);
7387typedef void (VKAPI_PTR *PFN_vkCmdSetFrontFace)(VkCommandBuffer commandBuffer, VkFrontFace frontFace);
7388typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveTopology)(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology);
7389typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWithCount)(VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport* pViewports);
7390typedef void (VKAPI_PTR *PFN_vkCmdSetScissorWithCount)(VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D* pScissors);
7391typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers2)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides);
7392typedef void (VKAPI_PTR *PFN_vkCmdSetDepthTestEnable)(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable);
7393typedef void (VKAPI_PTR *PFN_vkCmdSetDepthWriteEnable)(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable);
7394typedef void (VKAPI_PTR *PFN_vkCmdSetDepthCompareOp)(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp);
7395typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBoundsTestEnable)(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable);
7396typedef void (VKAPI_PTR *PFN_vkCmdSetStencilTestEnable)(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable);
7397typedef void (VKAPI_PTR *PFN_vkCmdSetStencilOp)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp);
7398typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizerDiscardEnable)(VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable);
7399typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBiasEnable)(VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable);
7400typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveRestartEnable)(VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable);
7403typedef void (VKAPI_PTR *PFN_vkGetDeviceImageSparseMemoryRequirements)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
7404
7405#ifndef VK_NO_PROTOTYPES
7407 VkPhysicalDevice physicalDevice,
7408 uint32_t* pToolCount,
7409 VkPhysicalDeviceToolProperties* pToolProperties);
7410
7412 VkDevice device,
7413 const VkPrivateDataSlotCreateInfo* pCreateInfo,
7414 const VkAllocationCallbacks* pAllocator,
7415 VkPrivateDataSlot* pPrivateDataSlot);
7416
7418 VkDevice device,
7419 VkPrivateDataSlot privateDataSlot,
7420 const VkAllocationCallbacks* pAllocator);
7421
7423 VkDevice device,
7424 VkObjectType objectType,
7425 uint64_t objectHandle,
7426 VkPrivateDataSlot privateDataSlot,
7427 uint64_t data);
7428
7430 VkDevice device,
7431 VkObjectType objectType,
7432 uint64_t objectHandle,
7433 VkPrivateDataSlot privateDataSlot,
7434 uint64_t* pData);
7435
7437 VkCommandBuffer commandBuffer,
7438 VkEvent event,
7439 const VkDependencyInfo* pDependencyInfo);
7440
7442 VkCommandBuffer commandBuffer,
7443 VkEvent event,
7444 VkPipelineStageFlags2 stageMask);
7445
7447 VkCommandBuffer commandBuffer,
7448 uint32_t eventCount,
7449 const VkEvent* pEvents,
7450 const VkDependencyInfo* pDependencyInfos);
7451
7453 VkCommandBuffer commandBuffer,
7454 const VkDependencyInfo* pDependencyInfo);
7455
7457 VkCommandBuffer commandBuffer,
7459 VkQueryPool queryPool,
7460 uint32_t query);
7461
7463 VkQueue queue,
7464 uint32_t submitCount,
7465 const VkSubmitInfo2* pSubmits,
7466 VkFence fence);
7467
7469 VkCommandBuffer commandBuffer,
7470 const VkCopyBufferInfo2* pCopyBufferInfo);
7471
7473 VkCommandBuffer commandBuffer,
7474 const VkCopyImageInfo2* pCopyImageInfo);
7475
7477 VkCommandBuffer commandBuffer,
7478 const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo);
7479
7481 VkCommandBuffer commandBuffer,
7482 const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo);
7483
7485 VkCommandBuffer commandBuffer,
7486 const VkBlitImageInfo2* pBlitImageInfo);
7487
7489 VkCommandBuffer commandBuffer,
7490 const VkResolveImageInfo2* pResolveImageInfo);
7491
7493 VkCommandBuffer commandBuffer,
7494 const VkRenderingInfo* pRenderingInfo);
7495
7497 VkCommandBuffer commandBuffer);
7498
7500 VkCommandBuffer commandBuffer,
7501 VkCullModeFlags cullMode);
7502
7504 VkCommandBuffer commandBuffer,
7505 VkFrontFace frontFace);
7506
7508 VkCommandBuffer commandBuffer,
7509 VkPrimitiveTopology primitiveTopology);
7510
7512 VkCommandBuffer commandBuffer,
7513 uint32_t viewportCount,
7514 const VkViewport* pViewports);
7515
7517 VkCommandBuffer commandBuffer,
7518 uint32_t scissorCount,
7519 const VkRect2D* pScissors);
7520
7522 VkCommandBuffer commandBuffer,
7523 uint32_t firstBinding,
7524 uint32_t bindingCount,
7525 const VkBuffer* pBuffers,
7526 const VkDeviceSize* pOffsets,
7527 const VkDeviceSize* pSizes,
7528 const VkDeviceSize* pStrides);
7529
7531 VkCommandBuffer commandBuffer,
7532 VkBool32 depthTestEnable);
7533
7535 VkCommandBuffer commandBuffer,
7536 VkBool32 depthWriteEnable);
7537
7539 VkCommandBuffer commandBuffer,
7540 VkCompareOp depthCompareOp);
7541
7543 VkCommandBuffer commandBuffer,
7544 VkBool32 depthBoundsTestEnable);
7545
7547 VkCommandBuffer commandBuffer,
7548 VkBool32 stencilTestEnable);
7549
7551 VkCommandBuffer commandBuffer,
7552 VkStencilFaceFlags faceMask,
7553 VkStencilOp failOp,
7554 VkStencilOp passOp,
7555 VkStencilOp depthFailOp,
7556 VkCompareOp compareOp);
7557
7559 VkCommandBuffer commandBuffer,
7560 VkBool32 rasterizerDiscardEnable);
7561
7563 VkCommandBuffer commandBuffer,
7564 VkBool32 depthBiasEnable);
7565
7567 VkCommandBuffer commandBuffer,
7568 VkBool32 primitiveRestartEnable);
7569
7571 VkDevice device,
7573 VkMemoryRequirements2* pMemoryRequirements);
7574
7576 VkDevice device,
7578 VkMemoryRequirements2* pMemoryRequirements);
7579
7581 VkDevice device,
7583 uint32_t* pSparseMemoryRequirementCount,
7584 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
7585#endif
7586
7587
7588// VK_KHR_surface is a preprocessor guard. Do not pass it to API calls.
7589#define VK_KHR_surface 1
7591#define VK_KHR_SURFACE_SPEC_VERSION 25
7592#define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface"
7593
7594typedef enum VkPresentModeKHR {
7601 VK_PRESENT_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
7603
7604typedef enum VkColorSpaceKHR {
7623 VK_COLOR_SPACE_MAX_ENUM_KHR = 0x7FFFFFFF
7625
7638
7660
7661typedef struct VkSurfaceFormatKHR {
7665
7666typedef void (VKAPI_PTR *PFN_vkDestroySurfaceKHR)(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator);
7667typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported);
7668typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
7669typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats);
7670typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pPresentModeCount, VkPresentModeKHR* pPresentModes);
7671
7672#ifndef VK_NO_PROTOTYPES
7674 VkInstance instance,
7675 VkSurfaceKHR surface,
7676 const VkAllocationCallbacks* pAllocator);
7677
7679 VkPhysicalDevice physicalDevice,
7680 uint32_t queueFamilyIndex,
7681 VkSurfaceKHR surface,
7682 VkBool32* pSupported);
7683
7685 VkPhysicalDevice physicalDevice,
7686 VkSurfaceKHR surface,
7687 VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
7688
7690 VkPhysicalDevice physicalDevice,
7691 VkSurfaceKHR surface,
7692 uint32_t* pSurfaceFormatCount,
7693 VkSurfaceFormatKHR* pSurfaceFormats);
7694
7696 VkPhysicalDevice physicalDevice,
7697 VkSurfaceKHR surface,
7698 uint32_t* pPresentModeCount,
7699 VkPresentModeKHR* pPresentModes);
7700#endif
7701
7702
7703// VK_KHR_swapchain is a preprocessor guard. Do not pass it to API calls.
7704#define VK_KHR_swapchain 1
7706#define VK_KHR_SWAPCHAIN_SPEC_VERSION 70
7707#define VK_KHR_SWAPCHAIN_EXTENSION_NAME "VK_KHR_swapchain"
7708
7717
7728 const void* pNext;
7730 VkSurfaceKHR surface;
7739 const uint32_t* pQueueFamilyIndices;
7744 VkSwapchainKHR oldSwapchain;
7746
7747typedef struct VkPresentInfoKHR {
7749 const void* pNext;
7751 const VkSemaphore* pWaitSemaphores;
7753 const VkSwapchainKHR* pSwapchains;
7754 const uint32_t* pImageIndices;
7757
7760 const void* pNext;
7761 VkSwapchainKHR swapchain;
7763
7766 const void* pNext;
7767 VkSwapchainKHR swapchain;
7768 uint32_t imageIndex;
7770
7773 const void* pNext;
7774 VkSwapchainKHR swapchain;
7775 uint64_t timeout;
7776 VkSemaphore semaphore;
7777 VkFence fence;
7778 uint32_t deviceMask;
7780
7783 void* pNext;
7787
7790 const void* pNext;
7792 const uint32_t* pDeviceMasks;
7795
7798 const void* pNext;
7801
7802typedef VkResult (VKAPI_PTR *PFN_vkCreateSwapchainKHR)(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain);
7803typedef void (VKAPI_PTR *PFN_vkDestroySwapchainKHR)(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator);
7804typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainImagesKHR)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages);
7805typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImageKHR)(VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex);
7806typedef VkResult (VKAPI_PTR *PFN_vkQueuePresentKHR)(VkQueue queue, const VkPresentInfoKHR* pPresentInfo);
7809typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDevicePresentRectanglesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pRectCount, VkRect2D* pRects);
7810typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImage2KHR)(VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, uint32_t* pImageIndex);
7811
7812#ifndef VK_NO_PROTOTYPES
7814 VkDevice device,
7815 const VkSwapchainCreateInfoKHR* pCreateInfo,
7816 const VkAllocationCallbacks* pAllocator,
7817 VkSwapchainKHR* pSwapchain);
7818
7820 VkDevice device,
7821 VkSwapchainKHR swapchain,
7822 const VkAllocationCallbacks* pAllocator);
7823
7825 VkDevice device,
7826 VkSwapchainKHR swapchain,
7827 uint32_t* pSwapchainImageCount,
7828 VkImage* pSwapchainImages);
7829
7831 VkDevice device,
7832 VkSwapchainKHR swapchain,
7833 uint64_t timeout,
7834 VkSemaphore semaphore,
7835 VkFence fence,
7836 uint32_t* pImageIndex);
7837
7839 VkQueue queue,
7840 const VkPresentInfoKHR* pPresentInfo);
7841
7843 VkDevice device,
7844 VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
7845
7847 VkDevice device,
7848 VkSurfaceKHR surface,
7850
7852 VkPhysicalDevice physicalDevice,
7853 VkSurfaceKHR surface,
7854 uint32_t* pRectCount,
7855 VkRect2D* pRects);
7856
7858 VkDevice device,
7859 const VkAcquireNextImageInfoKHR* pAcquireInfo,
7860 uint32_t* pImageIndex);
7861#endif
7862
7863
7864// VK_KHR_display is a preprocessor guard. Do not pass it to API calls.
7865#define VK_KHR_display 1
7867VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR)
7868#define VK_KHR_DISPLAY_SPEC_VERSION 23
7869#define VK_KHR_DISPLAY_EXTENSION_NAME "VK_KHR_display"
7871
7883 uint32_t refreshRate;
7885
7888 const void* pNext;
7892
7894 VkDisplayModeKHR displayMode;
7897
7909
7911 VkDisplayKHR currentDisplay;
7914
7916 VkDisplayKHR display;
7917 const char* displayName;
7924
7927 const void* pNext;
7929 VkDisplayModeKHR displayMode;
7930 uint32_t planeIndex;
7937
7938typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPropertiesKHR* pProperties);
7939typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties);
7940typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneSupportedDisplaysKHR)(VkPhysicalDevice physicalDevice, uint32_t planeIndex, uint32_t* pDisplayCount, VkDisplayKHR* pDisplays);
7941typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModePropertiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModePropertiesKHR* pProperties);
7942typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayModeKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode);
7943typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, uint32_t planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities);
7944typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayPlaneSurfaceKHR)(VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
7945
7946#ifndef VK_NO_PROTOTYPES
7948 VkPhysicalDevice physicalDevice,
7949 uint32_t* pPropertyCount,
7950 VkDisplayPropertiesKHR* pProperties);
7951
7953 VkPhysicalDevice physicalDevice,
7954 uint32_t* pPropertyCount,
7955 VkDisplayPlanePropertiesKHR* pProperties);
7956
7958 VkPhysicalDevice physicalDevice,
7959 uint32_t planeIndex,
7960 uint32_t* pDisplayCount,
7961 VkDisplayKHR* pDisplays);
7962
7964 VkPhysicalDevice physicalDevice,
7965 VkDisplayKHR display,
7966 uint32_t* pPropertyCount,
7967 VkDisplayModePropertiesKHR* pProperties);
7968
7970 VkPhysicalDevice physicalDevice,
7971 VkDisplayKHR display,
7972 const VkDisplayModeCreateInfoKHR* pCreateInfo,
7973 const VkAllocationCallbacks* pAllocator,
7974 VkDisplayModeKHR* pMode);
7975
7977 VkPhysicalDevice physicalDevice,
7978 VkDisplayModeKHR mode,
7979 uint32_t planeIndex,
7980 VkDisplayPlaneCapabilitiesKHR* pCapabilities);
7981
7983 VkInstance instance,
7984 const VkDisplaySurfaceCreateInfoKHR* pCreateInfo,
7985 const VkAllocationCallbacks* pAllocator,
7986 VkSurfaceKHR* pSurface);
7987#endif
7988
7989
7990// VK_KHR_display_swapchain is a preprocessor guard. Do not pass it to API calls.
7991#define VK_KHR_display_swapchain 1
7992#define VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION 10
7993#define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME "VK_KHR_display_swapchain"
7996 const void* pNext;
8001
8002typedef VkResult (VKAPI_PTR *PFN_vkCreateSharedSwapchainsKHR)(VkDevice device, uint32_t swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains);
8003
8004#ifndef VK_NO_PROTOTYPES
8006 VkDevice device,
8007 uint32_t swapchainCount,
8008 const VkSwapchainCreateInfoKHR* pCreateInfos,
8009 const VkAllocationCallbacks* pAllocator,
8010 VkSwapchainKHR* pSwapchains);
8011#endif
8012
8013
8014// VK_KHR_sampler_mirror_clamp_to_edge is a preprocessor guard. Do not pass it to API calls.
8015#define VK_KHR_sampler_mirror_clamp_to_edge 1
8016#define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION 3
8017#define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME "VK_KHR_sampler_mirror_clamp_to_edge"
8018
8019
8020// VK_KHR_video_queue is a preprocessor guard. Do not pass it to API calls.
8021#define VK_KHR_video_queue 1
8022VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkVideoSessionKHR)
8023VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkVideoSessionParametersKHR)
8024#define VK_KHR_VIDEO_QUEUE_SPEC_VERSION 8
8025#define VK_KHR_VIDEO_QUEUE_EXTENSION_NAME "VK_KHR_video_queue"
8026
8034
8037#ifdef VK_ENABLE_BETA_EXTENSIONS
8038 VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_EXT = 0x00010000,
8039#endif
8040#ifdef VK_ENABLE_BETA_EXTENSIONS
8041 VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_EXT = 0x00020000,
8042#endif
8048
8058
8067
8074
8077#ifdef VK_ENABLE_BETA_EXTENSIONS
8078 VK_VIDEO_SESSION_CREATE_ALLOW_ENCODE_PARAMETER_OPTIMIZATIONS_BIT_KHR = 0x00000002,
8079#endif
8086
8089#ifdef VK_ENABLE_BETA_EXTENSIONS
8090 VK_VIDEO_CODING_CONTROL_ENCODE_RATE_CONTROL_BIT_KHR = 0x00000002,
8091#endif
8092#ifdef VK_ENABLE_BETA_EXTENSIONS
8093 VK_VIDEO_CODING_CONTROL_ENCODE_QUALITY_LEVEL_BIT_KHR = 0x00000004,
8094#endif
8100 void* pNext;
8103
8106 void* pNext;
8109
8112 const void* pNext;
8118
8121 const void* pNext;
8125
8128 void* pNext;
8135 uint32_t maxDpbSlots;
8139
8142 const void* pNext;
8145
8148 void* pNext;
8156
8159 const void* pNext;
8163 VkImageView imageViewBinding;
8165
8168 const void* pNext;
8169 int32_t slotIndex;
8172
8175 void* pNext;
8179
8182 const void* pNext;
8184 VkDeviceMemory memory;
8188
8191 const void* pNext;
8198 uint32_t maxDpbSlots;
8202
8205 const void* pNext;
8207 VkVideoSessionParametersKHR videoSessionParametersTemplate;
8208 VkVideoSessionKHR videoSession;
8210
8213 const void* pNext;
8216
8219 const void* pNext;
8221 VkVideoSessionKHR videoSession;
8222 VkVideoSessionParametersKHR videoSessionParameters;
8226
8229 const void* pNext;
8232
8235 const void* pNext;
8238
8239typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR)(VkPhysicalDevice physicalDevice, const VkVideoProfileInfoKHR* pVideoProfile, VkVideoCapabilitiesKHR* pCapabilities);
8240typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceVideoFormatInfoKHR* pVideoFormatInfo, uint32_t* pVideoFormatPropertyCount, VkVideoFormatPropertiesKHR* pVideoFormatProperties);
8241typedef VkResult (VKAPI_PTR *PFN_vkCreateVideoSessionKHR)(VkDevice device, const VkVideoSessionCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkVideoSessionKHR* pVideoSession);
8242typedef void (VKAPI_PTR *PFN_vkDestroyVideoSessionKHR)(VkDevice device, VkVideoSessionKHR videoSession, const VkAllocationCallbacks* pAllocator);
8243typedef VkResult (VKAPI_PTR *PFN_vkGetVideoSessionMemoryRequirementsKHR)(VkDevice device, VkVideoSessionKHR videoSession, uint32_t* pMemoryRequirementsCount, VkVideoSessionMemoryRequirementsKHR* pMemoryRequirements);
8244typedef VkResult (VKAPI_PTR *PFN_vkBindVideoSessionMemoryKHR)(VkDevice device, VkVideoSessionKHR videoSession, uint32_t bindSessionMemoryInfoCount, const VkBindVideoSessionMemoryInfoKHR* pBindSessionMemoryInfos);
8245typedef VkResult (VKAPI_PTR *PFN_vkCreateVideoSessionParametersKHR)(VkDevice device, const VkVideoSessionParametersCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkVideoSessionParametersKHR* pVideoSessionParameters);
8246typedef VkResult (VKAPI_PTR *PFN_vkUpdateVideoSessionParametersKHR)(VkDevice device, VkVideoSessionParametersKHR videoSessionParameters, const VkVideoSessionParametersUpdateInfoKHR* pUpdateInfo);
8247typedef void (VKAPI_PTR *PFN_vkDestroyVideoSessionParametersKHR)(VkDevice device, VkVideoSessionParametersKHR videoSessionParameters, const VkAllocationCallbacks* pAllocator);
8248typedef void (VKAPI_PTR *PFN_vkCmdBeginVideoCodingKHR)(VkCommandBuffer commandBuffer, const VkVideoBeginCodingInfoKHR* pBeginInfo);
8249typedef void (VKAPI_PTR *PFN_vkCmdEndVideoCodingKHR)(VkCommandBuffer commandBuffer, const VkVideoEndCodingInfoKHR* pEndCodingInfo);
8250typedef void (VKAPI_PTR *PFN_vkCmdControlVideoCodingKHR)(VkCommandBuffer commandBuffer, const VkVideoCodingControlInfoKHR* pCodingControlInfo);
8251
8252#ifndef VK_NO_PROTOTYPES
8254 VkPhysicalDevice physicalDevice,
8255 const VkVideoProfileInfoKHR* pVideoProfile,
8256 VkVideoCapabilitiesKHR* pCapabilities);
8257
8259 VkPhysicalDevice physicalDevice,
8260 const VkPhysicalDeviceVideoFormatInfoKHR* pVideoFormatInfo,
8261 uint32_t* pVideoFormatPropertyCount,
8262 VkVideoFormatPropertiesKHR* pVideoFormatProperties);
8263
8265 VkDevice device,
8266 const VkVideoSessionCreateInfoKHR* pCreateInfo,
8267 const VkAllocationCallbacks* pAllocator,
8268 VkVideoSessionKHR* pVideoSession);
8269
8271 VkDevice device,
8272 VkVideoSessionKHR videoSession,
8273 const VkAllocationCallbacks* pAllocator);
8274
8276 VkDevice device,
8277 VkVideoSessionKHR videoSession,
8278 uint32_t* pMemoryRequirementsCount,
8279 VkVideoSessionMemoryRequirementsKHR* pMemoryRequirements);
8280
8282 VkDevice device,
8283 VkVideoSessionKHR videoSession,
8284 uint32_t bindSessionMemoryInfoCount,
8285 const VkBindVideoSessionMemoryInfoKHR* pBindSessionMemoryInfos);
8286
8288 VkDevice device,
8289 const VkVideoSessionParametersCreateInfoKHR* pCreateInfo,
8290 const VkAllocationCallbacks* pAllocator,
8291 VkVideoSessionParametersKHR* pVideoSessionParameters);
8292
8294 VkDevice device,
8295 VkVideoSessionParametersKHR videoSessionParameters,
8296 const VkVideoSessionParametersUpdateInfoKHR* pUpdateInfo);
8297
8299 VkDevice device,
8300 VkVideoSessionParametersKHR videoSessionParameters,
8301 const VkAllocationCallbacks* pAllocator);
8302
8304 VkCommandBuffer commandBuffer,
8305 const VkVideoBeginCodingInfoKHR* pBeginInfo);
8306
8308 VkCommandBuffer commandBuffer,
8309 const VkVideoEndCodingInfoKHR* pEndCodingInfo);
8310
8312 VkCommandBuffer commandBuffer,
8313 const VkVideoCodingControlInfoKHR* pCodingControlInfo);
8314#endif
8315
8316
8317// VK_KHR_video_decode_queue is a preprocessor guard. Do not pass it to API calls.
8318#define VK_KHR_video_decode_queue 1
8319#define VK_KHR_VIDEO_DECODE_QUEUE_SPEC_VERSION 7
8320#define VK_KHR_VIDEO_DECODE_QUEUE_EXTENSION_NAME "VK_KHR_video_decode_queue"
8321
8328
8340 void* pNext;
8343
8346 const void* pNext;
8349
8350typedef struct VkVideoDecodeInfoKHR {
8352 const void* pNext;
8354 VkBuffer srcBuffer;
8362
8363typedef void (VKAPI_PTR *PFN_vkCmdDecodeVideoKHR)(VkCommandBuffer commandBuffer, const VkVideoDecodeInfoKHR* pDecodeInfo);
8364
8365#ifndef VK_NO_PROTOTYPES
8367 VkCommandBuffer commandBuffer,
8368 const VkVideoDecodeInfoKHR* pDecodeInfo);
8369#endif
8370
8371
8372// VK_KHR_video_decode_h264 is a preprocessor guard. Do not pass it to API calls.
8373#define VK_KHR_video_decode_h264 1
8376#define VK_KHR_VIDEO_DECODE_H264_SPEC_VERSION 8
8377#define VK_KHR_VIDEO_DECODE_H264_EXTENSION_NAME "VK_KHR_video_decode_h264"
8378
8388 const void* pNext;
8392
8395 void* pNext;
8399
8402 const void* pNext;
8403 uint32_t stdSPSCount;
8405 uint32_t stdPPSCount;
8408
8411 const void* pNext;
8416
8419 const void* pNext;
8421 uint32_t sliceCount;
8422 const uint32_t* pSliceOffsets;
8424
8427 const void* pNext;
8430
8431
8432
8433// VK_KHR_dynamic_rendering is a preprocessor guard. Do not pass it to API calls.
8434#define VK_KHR_dynamic_rendering 1
8435#define VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION 1
8436#define VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME "VK_KHR_dynamic_rendering"
8438
8440
8442
8444
8446
8448
8450
8453 const void* pNext;
8454 VkImageView imageView;
8458
8461 const void* pNext;
8462 VkImageView imageView;
8465
8468 const void* pNext;
8473
8475
8478 const void* pNext;
8482
8483typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderingKHR)(VkCommandBuffer commandBuffer, const VkRenderingInfo* pRenderingInfo);
8484typedef void (VKAPI_PTR *PFN_vkCmdEndRenderingKHR)(VkCommandBuffer commandBuffer);
8485
8486#ifndef VK_NO_PROTOTYPES
8488 VkCommandBuffer commandBuffer,
8489 const VkRenderingInfo* pRenderingInfo);
8490
8492 VkCommandBuffer commandBuffer);
8493#endif
8494
8495
8496// VK_KHR_multiview is a preprocessor guard. Do not pass it to API calls.
8497#define VK_KHR_multiview 1
8498#define VK_KHR_MULTIVIEW_SPEC_VERSION 1
8499#define VK_KHR_MULTIVIEW_EXTENSION_NAME "VK_KHR_multiview"
8501
8503
8505
8506
8507
8508// VK_KHR_get_physical_device_properties2 is a preprocessor guard. Do not pass it to API calls.
8509#define VK_KHR_get_physical_device_properties2 1
8510#define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION 2
8511#define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_physical_device_properties2"
8513
8515
8517
8519
8521
8523
8525
8527
8529
8530typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
8531typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
8532typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2KHR)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
8533typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
8534typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
8535typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
8536typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
8537
8538#ifndef VK_NO_PROTOTYPES
8540 VkPhysicalDevice physicalDevice,
8541 VkPhysicalDeviceFeatures2* pFeatures);
8542
8544 VkPhysicalDevice physicalDevice,
8545 VkPhysicalDeviceProperties2* pProperties);
8546
8548 VkPhysicalDevice physicalDevice,
8550 VkFormatProperties2* pFormatProperties);
8551
8553 VkPhysicalDevice physicalDevice,
8554 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
8555 VkImageFormatProperties2* pImageFormatProperties);
8556
8558 VkPhysicalDevice physicalDevice,
8559 uint32_t* pQueueFamilyPropertyCount,
8560 VkQueueFamilyProperties2* pQueueFamilyProperties);
8561
8563 VkPhysicalDevice physicalDevice,
8564 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
8565
8567 VkPhysicalDevice physicalDevice,
8568 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
8569 uint32_t* pPropertyCount,
8570 VkSparseImageFormatProperties2* pProperties);
8571#endif
8572
8573
8574// VK_KHR_device_group is a preprocessor guard. Do not pass it to API calls.
8575#define VK_KHR_device_group 1
8576#define VK_KHR_DEVICE_GROUP_SPEC_VERSION 4
8577#define VK_KHR_DEVICE_GROUP_EXTENSION_NAME "VK_KHR_device_group"
8579
8581
8583
8585
8587
8589
8591
8593
8595
8597
8599
8600typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR)(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
8601typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMaskKHR)(VkCommandBuffer commandBuffer, uint32_t deviceMask);
8602typedef void (VKAPI_PTR *PFN_vkCmdDispatchBaseKHR)(VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ);
8603
8604#ifndef VK_NO_PROTOTYPES
8606 VkDevice device,
8607 uint32_t heapIndex,
8608 uint32_t localDeviceIndex,
8609 uint32_t remoteDeviceIndex,
8610 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
8611
8613 VkCommandBuffer commandBuffer,
8614 uint32_t deviceMask);
8615
8617 VkCommandBuffer commandBuffer,
8618 uint32_t baseGroupX,
8619 uint32_t baseGroupY,
8620 uint32_t baseGroupZ,
8621 uint32_t groupCountX,
8622 uint32_t groupCountY,
8623 uint32_t groupCountZ);
8624#endif
8625
8626
8627// VK_KHR_shader_draw_parameters is a preprocessor guard. Do not pass it to API calls.
8628#define VK_KHR_shader_draw_parameters 1
8629#define VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION 1
8630#define VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME "VK_KHR_shader_draw_parameters"
8631
8632
8633// VK_KHR_maintenance1 is a preprocessor guard. Do not pass it to API calls.
8634#define VK_KHR_maintenance1 1
8635#define VK_KHR_MAINTENANCE_1_SPEC_VERSION 2
8636#define VK_KHR_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_maintenance1"
8637#define VK_KHR_MAINTENANCE1_SPEC_VERSION VK_KHR_MAINTENANCE_1_SPEC_VERSION
8638#define VK_KHR_MAINTENANCE1_EXTENSION_NAME VK_KHR_MAINTENANCE_1_EXTENSION_NAME
8640
8641typedef void (VKAPI_PTR *PFN_vkTrimCommandPoolKHR)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
8642
8643#ifndef VK_NO_PROTOTYPES
8645 VkDevice device,
8646 VkCommandPool commandPool,
8648#endif
8649
8650
8651// VK_KHR_device_group_creation is a preprocessor guard. Do not pass it to API calls.
8652#define VK_KHR_device_group_creation 1
8653#define VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION 1
8654#define VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME "VK_KHR_device_group_creation"
8655#define VK_MAX_DEVICE_GROUP_SIZE_KHR VK_MAX_DEVICE_GROUP_SIZE
8657
8659
8660typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroupsKHR)(VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
8661
8662#ifndef VK_NO_PROTOTYPES
8664 VkInstance instance,
8665 uint32_t* pPhysicalDeviceGroupCount,
8666 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
8667#endif
8668
8669
8670// VK_KHR_external_memory_capabilities is a preprocessor guard. Do not pass it to API calls.
8671#define VK_KHR_external_memory_capabilities 1
8672#define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
8673#define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_memory_capabilities"
8674#define VK_LUID_SIZE_KHR VK_LUID_SIZE
8676
8678
8680
8682
8684
8686
8688
8690
8692
8694
8695typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
8696
8697#ifndef VK_NO_PROTOTYPES
8699 VkPhysicalDevice physicalDevice,
8700 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
8701 VkExternalBufferProperties* pExternalBufferProperties);
8702#endif
8703
8704
8705// VK_KHR_external_memory is a preprocessor guard. Do not pass it to API calls.
8706#define VK_KHR_external_memory 1
8707#define VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION 1
8708#define VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME "VK_KHR_external_memory"
8709#define VK_QUEUE_FAMILY_EXTERNAL_KHR VK_QUEUE_FAMILY_EXTERNAL
8711
8713
8715
8716
8717
8718// VK_KHR_external_memory_fd is a preprocessor guard. Do not pass it to API calls.
8719#define VK_KHR_external_memory_fd 1
8720#define VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION 1
8721#define VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME "VK_KHR_external_memory_fd"
8724 const void* pNext;
8726 int fd;
8728
8731 void* pNext;
8734
8735typedef struct VkMemoryGetFdInfoKHR {
8737 const void* pNext;
8738 VkDeviceMemory memory;
8741
8742typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdKHR)(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd);
8744
8745#ifndef VK_NO_PROTOTYPES
8747 VkDevice device,
8748 const VkMemoryGetFdInfoKHR* pGetFdInfo,
8749 int* pFd);
8750
8752 VkDevice device,
8754 int fd,
8755 VkMemoryFdPropertiesKHR* pMemoryFdProperties);
8756#endif
8757
8758
8759// VK_KHR_external_semaphore_capabilities is a preprocessor guard. Do not pass it to API calls.
8760#define VK_KHR_external_semaphore_capabilities 1
8761#define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION 1
8762#define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_semaphore_capabilities"
8764
8766
8768
8770
8772
8774
8775typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
8776
8777#ifndef VK_NO_PROTOTYPES
8779 VkPhysicalDevice physicalDevice,
8780 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
8781 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
8782#endif
8783
8784
8785// VK_KHR_external_semaphore is a preprocessor guard. Do not pass it to API calls.
8786#define VK_KHR_external_semaphore 1
8787#define VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION 1
8788#define VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME "VK_KHR_external_semaphore"
8790
8792
8794
8795
8796
8797// VK_KHR_external_semaphore_fd is a preprocessor guard. Do not pass it to API calls.
8798#define VK_KHR_external_semaphore_fd 1
8799#define VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION 1
8800#define VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME "VK_KHR_external_semaphore_fd"
8803 const void* pNext;
8804 VkSemaphore semaphore;
8807 int fd;
8809
8812 const void* pNext;
8813 VkSemaphore semaphore;
8816
8817typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreFdKHR)(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
8818typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreFdKHR)(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd);
8819
8820#ifndef VK_NO_PROTOTYPES
8822 VkDevice device,
8823 const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
8824
8826 VkDevice device,
8827 const VkSemaphoreGetFdInfoKHR* pGetFdInfo,
8828 int* pFd);
8829#endif
8830
8831
8832// VK_KHR_push_descriptor is a preprocessor guard. Do not pass it to API calls.
8833#define VK_KHR_push_descriptor 1
8834#define VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION 2
8835#define VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME "VK_KHR_push_descriptor"
8838 void* pNext;
8841
8842typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetKHR)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites);
8843typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplateKHR)(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void* pData);
8844
8845#ifndef VK_NO_PROTOTYPES
8847 VkCommandBuffer commandBuffer,
8848 VkPipelineBindPoint pipelineBindPoint,
8849 VkPipelineLayout layout,
8850 uint32_t set,
8851 uint32_t descriptorWriteCount,
8852 const VkWriteDescriptorSet* pDescriptorWrites);
8853
8855 VkCommandBuffer commandBuffer,
8856 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
8857 VkPipelineLayout layout,
8858 uint32_t set,
8859 const void* pData);
8860#endif
8861
8862
8863// VK_KHR_shader_float16_int8 is a preprocessor guard. Do not pass it to API calls.
8864#define VK_KHR_shader_float16_int8 1
8865#define VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION 1
8866#define VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME "VK_KHR_shader_float16_int8"
8868
8870
8871
8872
8873// VK_KHR_16bit_storage is a preprocessor guard. Do not pass it to API calls.
8874#define VK_KHR_16bit_storage 1
8875#define VK_KHR_16BIT_STORAGE_SPEC_VERSION 1
8876#define VK_KHR_16BIT_STORAGE_EXTENSION_NAME "VK_KHR_16bit_storage"
8878
8879
8880
8881// VK_KHR_incremental_present is a preprocessor guard. Do not pass it to API calls.
8882#define VK_KHR_incremental_present 1
8883#define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 2
8884#define VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME "VK_KHR_incremental_present"
8885typedef struct VkRectLayerKHR {
8888 uint32_t layer;
8890
8891typedef struct VkPresentRegionKHR {
8895
8896typedef struct VkPresentRegionsKHR {
8898 const void* pNext;
8902
8903
8904
8905// VK_KHR_descriptor_update_template is a preprocessor guard. Do not pass it to API calls.
8906#define VK_KHR_descriptor_update_template 1
8907typedef VkDescriptorUpdateTemplate VkDescriptorUpdateTemplateKHR;
8908
8909#define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION 1
8910#define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME "VK_KHR_descriptor_update_template"
8912
8914
8916
8918
8919typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplateKHR)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
8920typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplateKHR)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
8921typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplateKHR)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
8922
8923#ifndef VK_NO_PROTOTYPES
8925 VkDevice device,
8926 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
8927 const VkAllocationCallbacks* pAllocator,
8928 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
8929
8931 VkDevice device,
8932 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
8933 const VkAllocationCallbacks* pAllocator);
8934
8936 VkDevice device,
8937 VkDescriptorSet descriptorSet,
8938 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
8939 const void* pData);
8940#endif
8941
8942
8943// VK_KHR_imageless_framebuffer is a preprocessor guard. Do not pass it to API calls.
8944#define VK_KHR_imageless_framebuffer 1
8945#define VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION 1
8946#define VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME "VK_KHR_imageless_framebuffer"
8948
8950
8952
8954
8955
8956
8957// VK_KHR_create_renderpass2 is a preprocessor guard. Do not pass it to API calls.
8958#define VK_KHR_create_renderpass2 1
8959#define VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION 1
8960#define VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME "VK_KHR_create_renderpass2"
8962
8964
8966
8968
8970
8972
8974
8975typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2KHR)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
8976typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo);
8977typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo);
8978typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo);
8979
8980#ifndef VK_NO_PROTOTYPES
8982 VkDevice device,
8983 const VkRenderPassCreateInfo2* pCreateInfo,
8984 const VkAllocationCallbacks* pAllocator,
8985 VkRenderPass* pRenderPass);
8986
8988 VkCommandBuffer commandBuffer,
8989 const VkRenderPassBeginInfo* pRenderPassBegin,
8990 const VkSubpassBeginInfo* pSubpassBeginInfo);
8991
8993 VkCommandBuffer commandBuffer,
8994 const VkSubpassBeginInfo* pSubpassBeginInfo,
8995 const VkSubpassEndInfo* pSubpassEndInfo);
8996
8998 VkCommandBuffer commandBuffer,
8999 const VkSubpassEndInfo* pSubpassEndInfo);
9000#endif
9001
9002
9003// VK_KHR_shared_presentable_image is a preprocessor guard. Do not pass it to API calls.
9004#define VK_KHR_shared_presentable_image 1
9005#define VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION 1
9006#define VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME "VK_KHR_shared_presentable_image"
9009 void* pNext;
9012
9014
9015#ifndef VK_NO_PROTOTYPES
9017 VkDevice device,
9018 VkSwapchainKHR swapchain);
9019#endif
9020
9021
9022// VK_KHR_external_fence_capabilities is a preprocessor guard. Do not pass it to API calls.
9023#define VK_KHR_external_fence_capabilities 1
9024#define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION 1
9025#define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_fence_capabilities"
9027
9029
9031
9033
9035
9037
9038typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
9039
9040#ifndef VK_NO_PROTOTYPES
9042 VkPhysicalDevice physicalDevice,
9043 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
9044 VkExternalFenceProperties* pExternalFenceProperties);
9045#endif
9046
9047
9048// VK_KHR_external_fence is a preprocessor guard. Do not pass it to API calls.
9049#define VK_KHR_external_fence 1
9050#define VK_KHR_EXTERNAL_FENCE_SPEC_VERSION 1
9051#define VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME "VK_KHR_external_fence"
9053
9055
9057
9058
9059
9060// VK_KHR_external_fence_fd is a preprocessor guard. Do not pass it to API calls.
9061#define VK_KHR_external_fence_fd 1
9062#define VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION 1
9063#define VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME "VK_KHR_external_fence_fd"
9066 const void* pNext;
9067 VkFence fence;
9070 int fd;
9072
9073typedef struct VkFenceGetFdInfoKHR {
9075 const void* pNext;
9076 VkFence fence;
9079
9080typedef VkResult (VKAPI_PTR *PFN_vkImportFenceFdKHR)(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
9081typedef VkResult (VKAPI_PTR *PFN_vkGetFenceFdKHR)(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd);
9082
9083#ifndef VK_NO_PROTOTYPES
9085 VkDevice device,
9086 const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
9087
9089 VkDevice device,
9090 const VkFenceGetFdInfoKHR* pGetFdInfo,
9091 int* pFd);
9092#endif
9093
9094
9095// VK_KHR_performance_query is a preprocessor guard. Do not pass it to API calls.
9096#define VK_KHR_performance_query 1
9097#define VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION 1
9098#define VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME "VK_KHR_performance_query"
9099
9114
9124
9134
9143
9150 void* pNext;
9154
9157 void* pNext;
9160
9163 void* pNext;
9169
9172 void* pNext;
9178
9181 const void* pNext;
9184 const uint32_t* pCounterIndices;
9186
9188 int32_t int32;
9189 int64_t int64;
9190 uint32_t uint32;
9191 uint64_t uint64;
9192 float float32;
9193 double float64;
9195
9198 const void* pNext;
9200 uint64_t timeout;
9202
9205 const void* pNext;
9208
9209typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, uint32_t* pCounterCount, VkPerformanceCounterKHR* pCounters, VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
9210typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR)(VkPhysicalDevice physicalDevice, const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, uint32_t* pNumPasses);
9213
9214#ifndef VK_NO_PROTOTYPES
9216 VkPhysicalDevice physicalDevice,
9217 uint32_t queueFamilyIndex,
9218 uint32_t* pCounterCount,
9219 VkPerformanceCounterKHR* pCounters,
9220 VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
9221
9223 VkPhysicalDevice physicalDevice,
9224 const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo,
9225 uint32_t* pNumPasses);
9226
9228 VkDevice device,
9229 const VkAcquireProfilingLockInfoKHR* pInfo);
9230
9232 VkDevice device);
9233#endif
9234
9235
9236// VK_KHR_maintenance2 is a preprocessor guard. Do not pass it to API calls.
9237#define VK_KHR_maintenance2 1
9238#define VK_KHR_MAINTENANCE_2_SPEC_VERSION 1
9239#define VK_KHR_MAINTENANCE_2_EXTENSION_NAME "VK_KHR_maintenance2"
9240#define VK_KHR_MAINTENANCE2_SPEC_VERSION VK_KHR_MAINTENANCE_2_SPEC_VERSION
9241#define VK_KHR_MAINTENANCE2_EXTENSION_NAME VK_KHR_MAINTENANCE_2_EXTENSION_NAME
9243
9245
9247
9249
9251
9253
9255
9256
9257
9258// VK_KHR_get_surface_capabilities2 is a preprocessor guard. Do not pass it to API calls.
9259#define VK_KHR_get_surface_capabilities2 1
9260#define VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION 1
9261#define VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME "VK_KHR_get_surface_capabilities2"
9264 const void* pNext;
9265 VkSurfaceKHR surface;
9267
9270 void* pNext;
9273
9274typedef struct VkSurfaceFormat2KHR {
9276 void* pNext;
9279
9280typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
9281typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormats2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, uint32_t* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats);
9282
9283#ifndef VK_NO_PROTOTYPES
9285 VkPhysicalDevice physicalDevice,
9286 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
9287 VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
9288
9290 VkPhysicalDevice physicalDevice,
9291 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
9292 uint32_t* pSurfaceFormatCount,
9293 VkSurfaceFormat2KHR* pSurfaceFormats);
9294#endif
9295
9296
9297// VK_KHR_variable_pointers is a preprocessor guard. Do not pass it to API calls.
9298#define VK_KHR_variable_pointers 1
9299#define VK_KHR_VARIABLE_POINTERS_SPEC_VERSION 1
9300#define VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME "VK_KHR_variable_pointers"
9302
9304
9305
9306
9307// VK_KHR_get_display_properties2 is a preprocessor guard. Do not pass it to API calls.
9308#define VK_KHR_get_display_properties2 1
9309#define VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION 1
9310#define VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_display_properties2"
9313 void* pNext;
9316
9319 void* pNext;
9322
9325 void* pNext;
9328
9331 const void* pNext;
9332 VkDisplayModeKHR mode;
9333 uint32_t planeIndex;
9335
9338 void* pNext;
9341
9342typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayProperties2KHR* pProperties);
9343typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlaneProperties2KHR* pProperties);
9344typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModeProperties2KHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModeProperties2KHR* pProperties);
9345typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, VkDisplayPlaneCapabilities2KHR* pCapabilities);
9346
9347#ifndef VK_NO_PROTOTYPES
9349 VkPhysicalDevice physicalDevice,
9350 uint32_t* pPropertyCount,
9351 VkDisplayProperties2KHR* pProperties);
9352
9354 VkPhysicalDevice physicalDevice,
9355 uint32_t* pPropertyCount,
9356 VkDisplayPlaneProperties2KHR* pProperties);
9357
9359 VkPhysicalDevice physicalDevice,
9360 VkDisplayKHR display,
9361 uint32_t* pPropertyCount,
9362 VkDisplayModeProperties2KHR* pProperties);
9363
9365 VkPhysicalDevice physicalDevice,
9366 const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo,
9367 VkDisplayPlaneCapabilities2KHR* pCapabilities);
9368#endif
9369
9370
9371// VK_KHR_dedicated_allocation is a preprocessor guard. Do not pass it to API calls.
9372#define VK_KHR_dedicated_allocation 1
9373#define VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION 3
9374#define VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_KHR_dedicated_allocation"
9376
9378
9379
9380
9381// VK_KHR_storage_buffer_storage_class is a preprocessor guard. Do not pass it to API calls.
9382#define VK_KHR_storage_buffer_storage_class 1
9383#define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION 1
9384#define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME "VK_KHR_storage_buffer_storage_class"
9385
9386
9387// VK_KHR_relaxed_block_layout is a preprocessor guard. Do not pass it to API calls.
9388#define VK_KHR_relaxed_block_layout 1
9389#define VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION 1
9390#define VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME "VK_KHR_relaxed_block_layout"
9391
9392
9393// VK_KHR_get_memory_requirements2 is a preprocessor guard. Do not pass it to API calls.
9394#define VK_KHR_get_memory_requirements2 1
9395#define VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION 1
9396#define VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME "VK_KHR_get_memory_requirements2"
9398
9400
9402
9404
9406
9409typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2KHR)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
9410
9411#ifndef VK_NO_PROTOTYPES
9413 VkDevice device,
9414 const VkImageMemoryRequirementsInfo2* pInfo,
9415 VkMemoryRequirements2* pMemoryRequirements);
9416
9418 VkDevice device,
9420 VkMemoryRequirements2* pMemoryRequirements);
9421
9423 VkDevice device,
9425 uint32_t* pSparseMemoryRequirementCount,
9426 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
9427#endif
9428
9429
9430// VK_KHR_image_format_list is a preprocessor guard. Do not pass it to API calls.
9431#define VK_KHR_image_format_list 1
9432#define VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION 1
9433#define VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME "VK_KHR_image_format_list"
9435
9436
9437
9438// VK_KHR_sampler_ycbcr_conversion is a preprocessor guard. Do not pass it to API calls.
9439#define VK_KHR_sampler_ycbcr_conversion 1
9440typedef VkSamplerYcbcrConversion VkSamplerYcbcrConversionKHR;
9441
9442#define VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION 14
9443#define VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME "VK_KHR_sampler_ycbcr_conversion"
9445
9447
9449
9451
9453
9455
9457
9459
9461
9462typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversionKHR)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
9463typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversionKHR)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
9464
9465#ifndef VK_NO_PROTOTYPES
9467 VkDevice device,
9468 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
9469 const VkAllocationCallbacks* pAllocator,
9470 VkSamplerYcbcrConversion* pYcbcrConversion);
9471
9473 VkDevice device,
9474 VkSamplerYcbcrConversion ycbcrConversion,
9475 const VkAllocationCallbacks* pAllocator);
9476#endif
9477
9478
9479// VK_KHR_bind_memory2 is a preprocessor guard. Do not pass it to API calls.
9480#define VK_KHR_bind_memory2 1
9481#define VK_KHR_BIND_MEMORY_2_SPEC_VERSION 1
9482#define VK_KHR_BIND_MEMORY_2_EXTENSION_NAME "VK_KHR_bind_memory2"
9484
9486
9487typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2KHR)(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
9488typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2KHR)(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
9489
9490#ifndef VK_NO_PROTOTYPES
9492 VkDevice device,
9493 uint32_t bindInfoCount,
9494 const VkBindBufferMemoryInfo* pBindInfos);
9495
9497 VkDevice device,
9498 uint32_t bindInfoCount,
9499 const VkBindImageMemoryInfo* pBindInfos);
9500#endif
9501
9502
9503// VK_KHR_maintenance3 is a preprocessor guard. Do not pass it to API calls.
9504#define VK_KHR_maintenance3 1
9505#define VK_KHR_MAINTENANCE_3_SPEC_VERSION 1
9506#define VK_KHR_MAINTENANCE_3_EXTENSION_NAME "VK_KHR_maintenance3"
9507#define VK_KHR_MAINTENANCE3_SPEC_VERSION VK_KHR_MAINTENANCE_3_SPEC_VERSION
9508#define VK_KHR_MAINTENANCE3_EXTENSION_NAME VK_KHR_MAINTENANCE_3_EXTENSION_NAME
9510
9512
9514
9515#ifndef VK_NO_PROTOTYPES
9517 VkDevice device,
9518 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
9520#endif
9521
9522
9523// VK_KHR_draw_indirect_count is a preprocessor guard. Do not pass it to API calls.
9524#define VK_KHR_draw_indirect_count 1
9525#define VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION 1
9526#define VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_KHR_draw_indirect_count"
9527typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
9528typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
9529
9530#ifndef VK_NO_PROTOTYPES
9532 VkCommandBuffer commandBuffer,
9533 VkBuffer buffer,
9535 VkBuffer countBuffer,
9536 VkDeviceSize countBufferOffset,
9537 uint32_t maxDrawCount,
9538 uint32_t stride);
9539
9541 VkCommandBuffer commandBuffer,
9542 VkBuffer buffer,
9544 VkBuffer countBuffer,
9545 VkDeviceSize countBufferOffset,
9546 uint32_t maxDrawCount,
9547 uint32_t stride);
9548#endif
9549
9550
9551// VK_KHR_shader_subgroup_extended_types is a preprocessor guard. Do not pass it to API calls.
9552#define VK_KHR_shader_subgroup_extended_types 1
9553#define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION 1
9554#define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME "VK_KHR_shader_subgroup_extended_types"
9556
9557
9558
9559// VK_KHR_8bit_storage is a preprocessor guard. Do not pass it to API calls.
9560#define VK_KHR_8bit_storage 1
9561#define VK_KHR_8BIT_STORAGE_SPEC_VERSION 1
9562#define VK_KHR_8BIT_STORAGE_EXTENSION_NAME "VK_KHR_8bit_storage"
9564
9565
9566
9567// VK_KHR_shader_atomic_int64 is a preprocessor guard. Do not pass it to API calls.
9568#define VK_KHR_shader_atomic_int64 1
9569#define VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION 1
9570#define VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME "VK_KHR_shader_atomic_int64"
9572
9573
9574
9575// VK_KHR_shader_clock is a preprocessor guard. Do not pass it to API calls.
9576#define VK_KHR_shader_clock 1
9577#define VK_KHR_SHADER_CLOCK_SPEC_VERSION 1
9578#define VK_KHR_SHADER_CLOCK_EXTENSION_NAME "VK_KHR_shader_clock"
9581 void* pNext;
9585
9586
9587
9588// VK_KHR_video_decode_h265 is a preprocessor guard. Do not pass it to API calls.
9589#define VK_KHR_video_decode_h265 1
9592#define VK_KHR_VIDEO_DECODE_H265_SPEC_VERSION 7
9593#define VK_KHR_VIDEO_DECODE_H265_EXTENSION_NAME "VK_KHR_video_decode_h265"
9596 const void* pNext;
9599
9602 void* pNext;
9605
9608 const void* pNext;
9609 uint32_t stdVPSCount;
9611 uint32_t stdSPSCount;
9613 uint32_t stdPPSCount;
9616
9619 const void* pNext;
9625
9628 const void* pNext;
9631 const uint32_t* pSliceSegmentOffsets;
9633
9636 const void* pNext;
9639
9640
9641
9642// VK_KHR_global_priority is a preprocessor guard. Do not pass it to API calls.
9643#define VK_KHR_global_priority 1
9644#define VK_MAX_GLOBAL_PRIORITY_SIZE_KHR 16U
9645#define VK_KHR_GLOBAL_PRIORITY_SPEC_VERSION 1
9646#define VK_KHR_GLOBAL_PRIORITY_EXTENSION_NAME "VK_KHR_global_priority"
9647
9661 const void* pNext;
9664
9667 void* pNext;
9670
9673 void* pNext;
9677
9678
9679
9680// VK_KHR_driver_properties is a preprocessor guard. Do not pass it to API calls.
9681#define VK_KHR_driver_properties 1
9682#define VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION 1
9683#define VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME "VK_KHR_driver_properties"
9684#define VK_MAX_DRIVER_NAME_SIZE_KHR VK_MAX_DRIVER_NAME_SIZE
9685#define VK_MAX_DRIVER_INFO_SIZE_KHR VK_MAX_DRIVER_INFO_SIZE
9687
9689
9691
9692
9693
9694// VK_KHR_shader_float_controls is a preprocessor guard. Do not pass it to API calls.
9695#define VK_KHR_shader_float_controls 1
9696#define VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION 4
9697#define VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME "VK_KHR_shader_float_controls"
9699
9701
9702
9703
9704// VK_KHR_depth_stencil_resolve is a preprocessor guard. Do not pass it to API calls.
9705#define VK_KHR_depth_stencil_resolve 1
9706#define VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION 1
9707#define VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME "VK_KHR_depth_stencil_resolve"
9709
9711
9713
9715
9716
9717
9718// VK_KHR_swapchain_mutable_format is a preprocessor guard. Do not pass it to API calls.
9719#define VK_KHR_swapchain_mutable_format 1
9720#define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION 1
9721#define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME "VK_KHR_swapchain_mutable_format"
9722
9723
9724// VK_KHR_timeline_semaphore is a preprocessor guard. Do not pass it to API calls.
9725#define VK_KHR_timeline_semaphore 1
9726#define VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION 2
9727#define VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME "VK_KHR_timeline_semaphore"
9729
9731
9733
9735
9737
9739
9741
9743
9745
9746typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValueKHR)(VkDevice device, VkSemaphore semaphore, uint64_t* pValue);
9747typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphoresKHR)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout);
9749
9750#ifndef VK_NO_PROTOTYPES
9752 VkDevice device,
9753 VkSemaphore semaphore,
9754 uint64_t* pValue);
9755
9757 VkDevice device,
9758 const VkSemaphoreWaitInfo* pWaitInfo,
9759 uint64_t timeout);
9760
9762 VkDevice device,
9763 const VkSemaphoreSignalInfo* pSignalInfo);
9764#endif
9765
9766
9767// VK_KHR_vulkan_memory_model is a preprocessor guard. Do not pass it to API calls.
9768#define VK_KHR_vulkan_memory_model 1
9769#define VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION 3
9770#define VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME "VK_KHR_vulkan_memory_model"
9772
9773
9774
9775// VK_KHR_shader_terminate_invocation is a preprocessor guard. Do not pass it to API calls.
9776#define VK_KHR_shader_terminate_invocation 1
9777#define VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION 1
9778#define VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME "VK_KHR_shader_terminate_invocation"
9780
9781
9782
9783// VK_KHR_fragment_shading_rate is a preprocessor guard. Do not pass it to API calls.
9784#define VK_KHR_fragment_shading_rate 1
9785#define VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION 2
9786#define VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME "VK_KHR_fragment_shading_rate"
9787
9798 const void* pNext;
9802
9805 const void* pNext;
9809
9812 void* pNext;
9817
9820 void* pNext;
9839
9842 void* pNext;
9846
9847typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pFragmentShadingRateCount, VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates);
9848typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateKHR)(VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
9849
9850#ifndef VK_NO_PROTOTYPES
9852 VkPhysicalDevice physicalDevice,
9853 uint32_t* pFragmentShadingRateCount,
9854 VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates);
9855
9857 VkCommandBuffer commandBuffer,
9858 const VkExtent2D* pFragmentSize,
9859 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
9860#endif
9861
9862
9863// VK_KHR_spirv_1_4 is a preprocessor guard. Do not pass it to API calls.
9864#define VK_KHR_spirv_1_4 1
9865#define VK_KHR_SPIRV_1_4_SPEC_VERSION 1
9866#define VK_KHR_SPIRV_1_4_EXTENSION_NAME "VK_KHR_spirv_1_4"
9867
9868
9869// VK_KHR_surface_protected_capabilities is a preprocessor guard. Do not pass it to API calls.
9870#define VK_KHR_surface_protected_capabilities 1
9871#define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION 1
9872#define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME "VK_KHR_surface_protected_capabilities"
9875 const void* pNext;
9878
9879
9880
9881// VK_KHR_separate_depth_stencil_layouts is a preprocessor guard. Do not pass it to API calls.
9882#define VK_KHR_separate_depth_stencil_layouts 1
9883#define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION 1
9884#define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME "VK_KHR_separate_depth_stencil_layouts"
9886
9888
9890
9891
9892
9893// VK_KHR_present_wait is a preprocessor guard. Do not pass it to API calls.
9894#define VK_KHR_present_wait 1
9895#define VK_KHR_PRESENT_WAIT_SPEC_VERSION 1
9896#define VK_KHR_PRESENT_WAIT_EXTENSION_NAME "VK_KHR_present_wait"
9899 void* pNext;
9902
9903typedef VkResult (VKAPI_PTR *PFN_vkWaitForPresentKHR)(VkDevice device, VkSwapchainKHR swapchain, uint64_t presentId, uint64_t timeout);
9904
9905#ifndef VK_NO_PROTOTYPES
9907 VkDevice device,
9908 VkSwapchainKHR swapchain,
9909 uint64_t presentId,
9910 uint64_t timeout);
9911#endif
9912
9913
9914// VK_KHR_uniform_buffer_standard_layout is a preprocessor guard. Do not pass it to API calls.
9915#define VK_KHR_uniform_buffer_standard_layout 1
9916#define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION 1
9917#define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME "VK_KHR_uniform_buffer_standard_layout"
9919
9920
9921
9922// VK_KHR_buffer_device_address is a preprocessor guard. Do not pass it to API calls.
9923#define VK_KHR_buffer_device_address 1
9924#define VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 1
9925#define VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_KHR_buffer_device_address"
9927
9929
9931
9933
9935
9939
9940#ifndef VK_NO_PROTOTYPES
9942 VkDevice device,
9943 const VkBufferDeviceAddressInfo* pInfo);
9944
9946 VkDevice device,
9947 const VkBufferDeviceAddressInfo* pInfo);
9948
9950 VkDevice device,
9952#endif
9953
9954
9955// VK_KHR_deferred_host_operations is a preprocessor guard. Do not pass it to API calls.
9956#define VK_KHR_deferred_host_operations 1
9957VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeferredOperationKHR)
9958#define VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION 4
9959#define VK_KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME "VK_KHR_deferred_host_operations"
9960typedef VkResult (VKAPI_PTR *PFN_vkCreateDeferredOperationKHR)(VkDevice device, const VkAllocationCallbacks* pAllocator, VkDeferredOperationKHR* pDeferredOperation);
9961typedef void (VKAPI_PTR *PFN_vkDestroyDeferredOperationKHR)(VkDevice device, VkDeferredOperationKHR operation, const VkAllocationCallbacks* pAllocator);
9962typedef uint32_t (VKAPI_PTR *PFN_vkGetDeferredOperationMaxConcurrencyKHR)(VkDevice device, VkDeferredOperationKHR operation);
9963typedef VkResult (VKAPI_PTR *PFN_vkGetDeferredOperationResultKHR)(VkDevice device, VkDeferredOperationKHR operation);
9964typedef VkResult (VKAPI_PTR *PFN_vkDeferredOperationJoinKHR)(VkDevice device, VkDeferredOperationKHR operation);
9965
9966#ifndef VK_NO_PROTOTYPES
9968 VkDevice device,
9969 const VkAllocationCallbacks* pAllocator,
9970 VkDeferredOperationKHR* pDeferredOperation);
9971
9973 VkDevice device,
9974 VkDeferredOperationKHR operation,
9975 const VkAllocationCallbacks* pAllocator);
9976
9978 VkDevice device,
9979 VkDeferredOperationKHR operation);
9980
9982 VkDevice device,
9983 VkDeferredOperationKHR operation);
9984
9986 VkDevice device,
9987 VkDeferredOperationKHR operation);
9988#endif
9989
9990
9991// VK_KHR_pipeline_executable_properties is a preprocessor guard. Do not pass it to API calls.
9992#define VK_KHR_pipeline_executable_properties 1
9993#define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION 1
9994#define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME "VK_KHR_pipeline_executable_properties"
9995
10005 void* pNext;
10008
10009typedef struct VkPipelineInfoKHR {
10011 const void* pNext;
10012 VkPipeline pipeline;
10014
10017 void* pNext;
10023
10026 const void* pNext;
10027 VkPipeline pipeline;
10030
10033 int64_t i64;
10034 uint64_t u64;
10035 double f64;
10037
10040 void* pNext;
10046
10049 void* pNext;
10053 size_t dataSize;
10054 void* pData;
10056
10057typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutablePropertiesKHR)(VkDevice device, const VkPipelineInfoKHR* pPipelineInfo, uint32_t* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties);
10058typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableStatisticsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics);
10059typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableInternalRepresentationsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
10060
10061#ifndef VK_NO_PROTOTYPES
10063 VkDevice device,
10064 const VkPipelineInfoKHR* pPipelineInfo,
10065 uint32_t* pExecutableCount,
10067
10069 VkDevice device,
10070 const VkPipelineExecutableInfoKHR* pExecutableInfo,
10071 uint32_t* pStatisticCount,
10073
10075 VkDevice device,
10076 const VkPipelineExecutableInfoKHR* pExecutableInfo,
10077 uint32_t* pInternalRepresentationCount,
10078 VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
10079#endif
10080
10081
10082// VK_KHR_map_memory2 is a preprocessor guard. Do not pass it to API calls.
10083#define VK_KHR_map_memory2 1
10084#define VK_KHR_MAP_MEMORY_2_SPEC_VERSION 1
10085#define VK_KHR_MAP_MEMORY_2_EXTENSION_NAME "VK_KHR_map_memory2"
10087typedef struct VkMemoryMapInfoKHR {
10089 const void* pNext;
10091 VkDeviceMemory memory;
10095
10096typedef struct VkMemoryUnmapInfoKHR {
10098 const void* pNext;
10100 VkDeviceMemory memory;
10102
10103typedef VkResult (VKAPI_PTR *PFN_vkMapMemory2KHR)(VkDevice device, const VkMemoryMapInfoKHR* pMemoryMapInfo, void** ppData);
10104typedef VkResult (VKAPI_PTR *PFN_vkUnmapMemory2KHR)(VkDevice device, const VkMemoryUnmapInfoKHR* pMemoryUnmapInfo);
10105
10106#ifndef VK_NO_PROTOTYPES
10108 VkDevice device,
10109 const VkMemoryMapInfoKHR* pMemoryMapInfo,
10110 void** ppData);
10111
10113 VkDevice device,
10114 const VkMemoryUnmapInfoKHR* pMemoryUnmapInfo);
10115#endif
10116
10117
10118// VK_KHR_shader_integer_dot_product is a preprocessor guard. Do not pass it to API calls.
10119#define VK_KHR_shader_integer_dot_product 1
10120#define VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION 1
10121#define VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME "VK_KHR_shader_integer_dot_product"
10123
10125
10126
10127
10128// VK_KHR_pipeline_library is a preprocessor guard. Do not pass it to API calls.
10129#define VK_KHR_pipeline_library 1
10130#define VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION 1
10131#define VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME "VK_KHR_pipeline_library"
10134 const void* pNext;
10136 const VkPipeline* pLibraries;
10138
10139
10140
10141// VK_KHR_shader_non_semantic_info is a preprocessor guard. Do not pass it to API calls.
10142#define VK_KHR_shader_non_semantic_info 1
10143#define VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION 1
10144#define VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME "VK_KHR_shader_non_semantic_info"
10145
10146
10147// VK_KHR_present_id is a preprocessor guard. Do not pass it to API calls.
10148#define VK_KHR_present_id 1
10149#define VK_KHR_PRESENT_ID_SPEC_VERSION 1
10150#define VK_KHR_PRESENT_ID_EXTENSION_NAME "VK_KHR_present_id"
10151typedef struct VkPresentIdKHR {
10153 const void* pNext;
10155 const uint64_t* pPresentIds;
10157
10160 void* pNext;
10163
10164
10165
10166// VK_KHR_synchronization2 is a preprocessor guard. Do not pass it to API calls.
10167#define VK_KHR_synchronization2 1
10168#define VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION 1
10169#define VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME "VK_KHR_synchronization2"
10171
10173
10175
10177
10179
10181
10183
10185
10187
10189
10191
10193
10195
10197
10200 void* pNext;
10203
10204typedef struct VkCheckpointData2NV {
10206 void* pNext;
10210
10211typedef void (VKAPI_PTR *PFN_vkCmdSetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo* pDependencyInfo);
10212typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask);
10213typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents2KHR)(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, const VkDependencyInfo* pDependencyInfos);
10214typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier2KHR)(VkCommandBuffer commandBuffer, const VkDependencyInfo* pDependencyInfo);
10215typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2KHR)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query);
10216typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2KHR)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo2* pSubmits, VkFence fence);
10217typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarker2AMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker);
10218typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointData2NV)(VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointData2NV* pCheckpointData);
10219
10220#ifndef VK_NO_PROTOTYPES
10222 VkCommandBuffer commandBuffer,
10223 VkEvent event,
10224 const VkDependencyInfo* pDependencyInfo);
10225
10227 VkCommandBuffer commandBuffer,
10228 VkEvent event,
10229 VkPipelineStageFlags2 stageMask);
10230
10232 VkCommandBuffer commandBuffer,
10233 uint32_t eventCount,
10234 const VkEvent* pEvents,
10235 const VkDependencyInfo* pDependencyInfos);
10236
10238 VkCommandBuffer commandBuffer,
10239 const VkDependencyInfo* pDependencyInfo);
10240
10242 VkCommandBuffer commandBuffer,
10244 VkQueryPool queryPool,
10245 uint32_t query);
10246
10248 VkQueue queue,
10249 uint32_t submitCount,
10250 const VkSubmitInfo2* pSubmits,
10251 VkFence fence);
10252
10254 VkCommandBuffer commandBuffer,
10256 VkBuffer dstBuffer,
10257 VkDeviceSize dstOffset,
10258 uint32_t marker);
10259
10261 VkQueue queue,
10262 uint32_t* pCheckpointDataCount,
10263 VkCheckpointData2NV* pCheckpointData);
10264#endif
10265
10266
10267// VK_KHR_fragment_shader_barycentric is a preprocessor guard. Do not pass it to API calls.
10268#define VK_KHR_fragment_shader_barycentric 1
10269#define VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1
10270#define VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_KHR_fragment_shader_barycentric"
10273 void* pNext;
10276
10279 void* pNext;
10282
10283
10284
10285// VK_KHR_shader_subgroup_uniform_control_flow is a preprocessor guard. Do not pass it to API calls.
10286#define VK_KHR_shader_subgroup_uniform_control_flow 1
10287#define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION 1
10288#define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME "VK_KHR_shader_subgroup_uniform_control_flow"
10291 void* pNext;
10294
10295
10296
10297// VK_KHR_zero_initialize_workgroup_memory is a preprocessor guard. Do not pass it to API calls.
10298#define VK_KHR_zero_initialize_workgroup_memory 1
10299#define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION 1
10300#define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME "VK_KHR_zero_initialize_workgroup_memory"
10302
10303
10304
10305// VK_KHR_workgroup_memory_explicit_layout is a preprocessor guard. Do not pass it to API calls.
10306#define VK_KHR_workgroup_memory_explicit_layout 1
10307#define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION 1
10308#define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME "VK_KHR_workgroup_memory_explicit_layout"
10311 void* pNext;
10317
10318
10319
10320// VK_KHR_copy_commands2 is a preprocessor guard. Do not pass it to API calls.
10321#define VK_KHR_copy_commands2 1
10322#define VK_KHR_COPY_COMMANDS_2_SPEC_VERSION 1
10323#define VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME "VK_KHR_copy_commands2"
10325
10327
10329
10331
10333
10335
10337
10339
10341
10343
10345
10346typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2* pCopyBufferInfo);
10347typedef void (VKAPI_PTR *PFN_vkCmdCopyImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2* pCopyImageInfo);
10348typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo);
10349typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo);
10350typedef void (VKAPI_PTR *PFN_vkCmdBlitImage2KHR)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2* pBlitImageInfo);
10351typedef void (VKAPI_PTR *PFN_vkCmdResolveImage2KHR)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2* pResolveImageInfo);
10352
10353#ifndef VK_NO_PROTOTYPES
10355 VkCommandBuffer commandBuffer,
10356 const VkCopyBufferInfo2* pCopyBufferInfo);
10357
10359 VkCommandBuffer commandBuffer,
10360 const VkCopyImageInfo2* pCopyImageInfo);
10361
10363 VkCommandBuffer commandBuffer,
10364 const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo);
10365
10367 VkCommandBuffer commandBuffer,
10368 const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo);
10369
10371 VkCommandBuffer commandBuffer,
10372 const VkBlitImageInfo2* pBlitImageInfo);
10373
10375 VkCommandBuffer commandBuffer,
10376 const VkResolveImageInfo2* pResolveImageInfo);
10377#endif
10378
10379
10380// VK_KHR_format_feature_flags2 is a preprocessor guard. Do not pass it to API calls.
10381#define VK_KHR_format_feature_flags2 1
10382#define VK_KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION 2
10383#define VK_KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME "VK_KHR_format_feature_flags2"
10385
10387
10389
10390
10391
10392// VK_KHR_ray_tracing_maintenance1 is a preprocessor guard. Do not pass it to API calls.
10393#define VK_KHR_ray_tracing_maintenance1 1
10394#define VK_KHR_RAY_TRACING_MAINTENANCE_1_SPEC_VERSION 1
10395#define VK_KHR_RAY_TRACING_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_ray_tracing_maintenance1"
10398 void* pNext;
10402
10415 uint32_t width;
10416 uint32_t height;
10417 uint32_t depth;
10419
10420typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysIndirect2KHR)(VkCommandBuffer commandBuffer, VkDeviceAddress indirectDeviceAddress);
10421
10422#ifndef VK_NO_PROTOTYPES
10424 VkCommandBuffer commandBuffer,
10425 VkDeviceAddress indirectDeviceAddress);
10426#endif
10427
10428
10429// VK_KHR_portability_enumeration is a preprocessor guard. Do not pass it to API calls.
10430#define VK_KHR_portability_enumeration 1
10431#define VK_KHR_PORTABILITY_ENUMERATION_SPEC_VERSION 1
10432#define VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME "VK_KHR_portability_enumeration"
10433
10434
10435// VK_KHR_maintenance4 is a preprocessor guard. Do not pass it to API calls.
10436#define VK_KHR_maintenance4 1
10437#define VK_KHR_MAINTENANCE_4_SPEC_VERSION 2
10438#define VK_KHR_MAINTENANCE_4_EXTENSION_NAME "VK_KHR_maintenance4"
10440
10442
10444
10446
10449typedef void (VKAPI_PTR *PFN_vkGetDeviceImageSparseMemoryRequirementsKHR)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
10450
10451#ifndef VK_NO_PROTOTYPES
10453 VkDevice device,
10455 VkMemoryRequirements2* pMemoryRequirements);
10456
10458 VkDevice device,
10460 VkMemoryRequirements2* pMemoryRequirements);
10461
10463 VkDevice device,
10465 uint32_t* pSparseMemoryRequirementCount,
10466 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
10467#endif
10468
10469
10470// VK_KHR_maintenance5 is a preprocessor guard. Do not pass it to API calls.
10471#define VK_KHR_maintenance5 1
10472#define VK_KHR_MAINTENANCE_5_SPEC_VERSION 1
10473#define VK_KHR_MAINTENANCE_5_EXTENSION_NAME "VK_KHR_maintenance5"
10475
10476// Flag bits for VkPipelineCreateFlagBits2KHR
10509
10511
10512// Flag bits for VkBufferUsageFlagBits2KHR
10531#ifdef VK_ENABLE_BETA_EXTENSIONS
10532static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_VIDEO_ENCODE_DST_BIT_KHR = 0x00008000ULL;
10533#endif
10534#ifdef VK_ENABLE_BETA_EXTENSIONS
10535static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_VIDEO_ENCODE_SRC_BIT_KHR = 0x00010000ULL;
10536#endif
10545
10548 void* pNext;
10551
10554 void* pNext;
10562
10565 const void* pNext;
10566 uint32_t viewMask;
10572
10575 void* pNext;
10578
10581 const void* pNext;
10585
10588 void* pNext;
10591
10594 const void* pNext;
10597
10600 const void* pNext;
10603
10604typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer2KHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkDeviceSize size, VkIndexType indexType);
10605typedef void (VKAPI_PTR *PFN_vkGetRenderingAreaGranularityKHR)(VkDevice device, const VkRenderingAreaInfoKHR* pRenderingAreaInfo, VkExtent2D* pGranularity);
10607typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout2KHR)(VkDevice device, VkImage image, const VkImageSubresource2KHR* pSubresource, VkSubresourceLayout2KHR* pLayout);
10608
10609#ifndef VK_NO_PROTOTYPES
10611 VkCommandBuffer commandBuffer,
10612 VkBuffer buffer,
10615 VkIndexType indexType);
10616
10618 VkDevice device,
10619 const VkRenderingAreaInfoKHR* pRenderingAreaInfo,
10620 VkExtent2D* pGranularity);
10621
10623 VkDevice device,
10625 VkSubresourceLayout2KHR* pLayout);
10626
10628 VkDevice device,
10629 VkImage image,
10630 const VkImageSubresource2KHR* pSubresource,
10631 VkSubresourceLayout2KHR* pLayout);
10632#endif
10633
10634
10635// VK_KHR_ray_tracing_position_fetch is a preprocessor guard. Do not pass it to API calls.
10636#define VK_KHR_ray_tracing_position_fetch 1
10637#define VK_KHR_RAY_TRACING_POSITION_FETCH_SPEC_VERSION 1
10638#define VK_KHR_RAY_TRACING_POSITION_FETCH_EXTENSION_NAME "VK_KHR_ray_tracing_position_fetch"
10641 void* pNext;
10644
10645
10646
10647// VK_KHR_cooperative_matrix is a preprocessor guard. Do not pass it to API calls.
10648#define VK_KHR_cooperative_matrix 1
10649#define VK_KHR_COOPERATIVE_MATRIX_SPEC_VERSION 2
10650#define VK_KHR_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_KHR_cooperative_matrix"
10651
10677
10678typedef enum VkScopeKHR {
10687 VK_SCOPE_MAX_ENUM_KHR = 0x7FFFFFFF
10691 void* pNext;
10692 uint32_t MSize;
10693 uint32_t NSize;
10694 uint32_t KSize;
10702
10705 void* pNext;
10709
10712 void* pNext;
10715
10716typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkCooperativeMatrixPropertiesKHR* pProperties);
10717
10718#ifndef VK_NO_PROTOTYPES
10720 VkPhysicalDevice physicalDevice,
10721 uint32_t* pPropertyCount,
10723#endif
10724
10725
10726// VK_EXT_debug_report is a preprocessor guard. Do not pass it to API calls.
10727#define VK_EXT_debug_report 1
10728VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT)
10729#define VK_EXT_DEBUG_REPORT_SPEC_VERSION 10
10730#define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report"
10731
10778
10790 VkDebugReportObjectTypeEXT objectType,
10791 uint64_t object,
10792 size_t location,
10793 int32_t messageCode,
10794 const char* pLayerPrefix,
10795 const char* pMessage,
10796 void* pUserData);
10797
10800 const void* pNext;
10805
10806typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugReportCallbackEXT)(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback);
10807typedef void (VKAPI_PTR *PFN_vkDestroyDebugReportCallbackEXT)(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator);
10808typedef void (VKAPI_PTR *PFN_vkDebugReportMessageEXT)(VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, uint64_t object, size_t location, int32_t messageCode, const char* pLayerPrefix, const char* pMessage);
10809
10810#ifndef VK_NO_PROTOTYPES
10812 VkInstance instance,
10813 const VkDebugReportCallbackCreateInfoEXT* pCreateInfo,
10814 const VkAllocationCallbacks* pAllocator,
10815 VkDebugReportCallbackEXT* pCallback);
10816
10818 VkInstance instance,
10819 VkDebugReportCallbackEXT callback,
10820 const VkAllocationCallbacks* pAllocator);
10821
10823 VkInstance instance,
10825 VkDebugReportObjectTypeEXT objectType,
10826 uint64_t object,
10827 size_t location,
10828 int32_t messageCode,
10829 const char* pLayerPrefix,
10830 const char* pMessage);
10831#endif
10832
10833
10834// VK_NV_glsl_shader is a preprocessor guard. Do not pass it to API calls.
10835#define VK_NV_glsl_shader 1
10836#define VK_NV_GLSL_SHADER_SPEC_VERSION 1
10837#define VK_NV_GLSL_SHADER_EXTENSION_NAME "VK_NV_glsl_shader"
10838
10839
10840// VK_EXT_depth_range_unrestricted is a preprocessor guard. Do not pass it to API calls.
10841#define VK_EXT_depth_range_unrestricted 1
10842#define VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION 1
10843#define VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME "VK_EXT_depth_range_unrestricted"
10844
10845
10846// VK_IMG_filter_cubic is a preprocessor guard. Do not pass it to API calls.
10847#define VK_IMG_filter_cubic 1
10848#define VK_IMG_FILTER_CUBIC_SPEC_VERSION 1
10849#define VK_IMG_FILTER_CUBIC_EXTENSION_NAME "VK_IMG_filter_cubic"
10850
10851
10852// VK_AMD_rasterization_order is a preprocessor guard. Do not pass it to API calls.
10853#define VK_AMD_rasterization_order 1
10854#define VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION 1
10855#define VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME "VK_AMD_rasterization_order"
10856
10864 const void* pNext;
10867
10868
10869
10870// VK_AMD_shader_trinary_minmax is a preprocessor guard. Do not pass it to API calls.
10871#define VK_AMD_shader_trinary_minmax 1
10872#define VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION 1
10873#define VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME "VK_AMD_shader_trinary_minmax"
10874
10875
10876// VK_AMD_shader_explicit_vertex_parameter is a preprocessor guard. Do not pass it to API calls.
10877#define VK_AMD_shader_explicit_vertex_parameter 1
10878#define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION 1
10879#define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME "VK_AMD_shader_explicit_vertex_parameter"
10880
10881
10882// VK_EXT_debug_marker is a preprocessor guard. Do not pass it to API calls.
10883#define VK_EXT_debug_marker 1
10884#define VK_EXT_DEBUG_MARKER_SPEC_VERSION 4
10885#define VK_EXT_DEBUG_MARKER_EXTENSION_NAME "VK_EXT_debug_marker"
10888 const void* pNext;
10890 uint64_t object;
10891 const char* pObjectName;
10893
10896 const void* pNext;
10898 uint64_t object;
10899 uint64_t tagName;
10900 size_t tagSize;
10901 const void* pTag;
10903
10906 const void* pNext;
10907 const char* pMarkerName;
10908 float color[4];
10910
10913typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerBeginEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
10914typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerEndEXT)(VkCommandBuffer commandBuffer);
10915typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerInsertEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
10916
10917#ifndef VK_NO_PROTOTYPES
10919 VkDevice device,
10920 const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
10921
10923 VkDevice device,
10924 const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
10925
10927 VkCommandBuffer commandBuffer,
10928 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
10929
10931 VkCommandBuffer commandBuffer);
10932
10934 VkCommandBuffer commandBuffer,
10935 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
10936#endif
10937
10938
10939// VK_AMD_gcn_shader is a preprocessor guard. Do not pass it to API calls.
10940#define VK_AMD_gcn_shader 1
10941#define VK_AMD_GCN_SHADER_SPEC_VERSION 1
10942#define VK_AMD_GCN_SHADER_EXTENSION_NAME "VK_AMD_gcn_shader"
10943
10944
10945// VK_NV_dedicated_allocation is a preprocessor guard. Do not pass it to API calls.
10946#define VK_NV_dedicated_allocation 1
10947#define VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION 1
10948#define VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_NV_dedicated_allocation"
10951 const void* pNext;
10954
10957 const void* pNext;
10960
10963 const void* pNext;
10964 VkImage image;
10965 VkBuffer buffer;
10967
10968
10969
10970// VK_EXT_transform_feedback is a preprocessor guard. Do not pass it to API calls.
10971#define VK_EXT_transform_feedback 1
10972#define VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION 1
10973#define VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME "VK_EXT_transform_feedback"
10977 void* pNext;
10981
10984 void* pNext;
10996
10999 const void* pNext;
11003
11004typedef void (VKAPI_PTR *PFN_vkCmdBindTransformFeedbackBuffersEXT)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes);
11005typedef void (VKAPI_PTR *PFN_vkCmdBeginTransformFeedbackEXT)(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
11006typedef void (VKAPI_PTR *PFN_vkCmdEndTransformFeedbackEXT)(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
11007typedef void (VKAPI_PTR *PFN_vkCmdBeginQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index);
11008typedef void (VKAPI_PTR *PFN_vkCmdEndQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index);
11009typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectByteCountEXT)(VkCommandBuffer commandBuffer, uint32_t instanceCount, uint32_t firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, uint32_t counterOffset, uint32_t vertexStride);
11010
11011#ifndef VK_NO_PROTOTYPES
11013 VkCommandBuffer commandBuffer,
11014 uint32_t firstBinding,
11015 uint32_t bindingCount,
11016 const VkBuffer* pBuffers,
11017 const VkDeviceSize* pOffsets,
11018 const VkDeviceSize* pSizes);
11019
11021 VkCommandBuffer commandBuffer,
11022 uint32_t firstCounterBuffer,
11023 uint32_t counterBufferCount,
11024 const VkBuffer* pCounterBuffers,
11025 const VkDeviceSize* pCounterBufferOffsets);
11026
11028 VkCommandBuffer commandBuffer,
11029 uint32_t firstCounterBuffer,
11030 uint32_t counterBufferCount,
11031 const VkBuffer* pCounterBuffers,
11032 const VkDeviceSize* pCounterBufferOffsets);
11033
11035 VkCommandBuffer commandBuffer,
11036 VkQueryPool queryPool,
11037 uint32_t query,
11039 uint32_t index);
11040
11042 VkCommandBuffer commandBuffer,
11043 VkQueryPool queryPool,
11044 uint32_t query,
11045 uint32_t index);
11046
11048 VkCommandBuffer commandBuffer,
11049 uint32_t instanceCount,
11050 uint32_t firstInstance,
11051 VkBuffer counterBuffer,
11052 VkDeviceSize counterBufferOffset,
11053 uint32_t counterOffset,
11054 uint32_t vertexStride);
11055#endif
11056
11057
11058// VK_NVX_binary_import is a preprocessor guard. Do not pass it to API calls.
11059#define VK_NVX_binary_import 1
11061VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuFunctionNVX)
11062#define VK_NVX_BINARY_IMPORT_SPEC_VERSION 1
11063#define VK_NVX_BINARY_IMPORT_EXTENSION_NAME "VK_NVX_binary_import"
11066 const void* pNext;
11067 size_t dataSize;
11068 const void* pData;
11070
11073 const void* pNext;
11074 VkCuModuleNVX module;
11075 const char* pName;
11077
11078typedef struct VkCuLaunchInfoNVX {
11080 const void* pNext;
11081 VkCuFunctionNVX function;
11082 uint32_t gridDimX;
11083 uint32_t gridDimY;
11084 uint32_t gridDimZ;
11085 uint32_t blockDimX;
11086 uint32_t blockDimY;
11087 uint32_t blockDimZ;
11090 const void* const * pParams;
11092 const void* const * pExtras;
11094
11095typedef VkResult (VKAPI_PTR *PFN_vkCreateCuModuleNVX)(VkDevice device, const VkCuModuleCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuModuleNVX* pModule);
11096typedef VkResult (VKAPI_PTR *PFN_vkCreateCuFunctionNVX)(VkDevice device, const VkCuFunctionCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuFunctionNVX* pFunction);
11097typedef void (VKAPI_PTR *PFN_vkDestroyCuModuleNVX)(VkDevice device, VkCuModuleNVX module, const VkAllocationCallbacks* pAllocator);
11098typedef void (VKAPI_PTR *PFN_vkDestroyCuFunctionNVX)(VkDevice device, VkCuFunctionNVX function, const VkAllocationCallbacks* pAllocator);
11099typedef void (VKAPI_PTR *PFN_vkCmdCuLaunchKernelNVX)(VkCommandBuffer commandBuffer, const VkCuLaunchInfoNVX* pLaunchInfo);
11100
11101#ifndef VK_NO_PROTOTYPES
11103 VkDevice device,
11104 const VkCuModuleCreateInfoNVX* pCreateInfo,
11105 const VkAllocationCallbacks* pAllocator,
11106 VkCuModuleNVX* pModule);
11107
11109 VkDevice device,
11110 const VkCuFunctionCreateInfoNVX* pCreateInfo,
11111 const VkAllocationCallbacks* pAllocator,
11112 VkCuFunctionNVX* pFunction);
11113
11115 VkDevice device,
11116 VkCuModuleNVX module,
11117 const VkAllocationCallbacks* pAllocator);
11118
11120 VkDevice device,
11121 VkCuFunctionNVX function,
11122 const VkAllocationCallbacks* pAllocator);
11123
11125 VkCommandBuffer commandBuffer,
11126 const VkCuLaunchInfoNVX* pLaunchInfo);
11127#endif
11128
11129
11130// VK_NVX_image_view_handle is a preprocessor guard. Do not pass it to API calls.
11131#define VK_NVX_image_view_handle 1
11132#define VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION 2
11133#define VK_NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME "VK_NVX_image_view_handle"
11136 const void* pNext;
11137 VkImageView imageView;
11139 VkSampler sampler;
11141
11144 void* pNext;
11148
11149typedef uint32_t (VKAPI_PTR *PFN_vkGetImageViewHandleNVX)(VkDevice device, const VkImageViewHandleInfoNVX* pInfo);
11150typedef VkResult (VKAPI_PTR *PFN_vkGetImageViewAddressNVX)(VkDevice device, VkImageView imageView, VkImageViewAddressPropertiesNVX* pProperties);
11151
11152#ifndef VK_NO_PROTOTYPES
11154 VkDevice device,
11155 const VkImageViewHandleInfoNVX* pInfo);
11156
11158 VkDevice device,
11159 VkImageView imageView,
11160 VkImageViewAddressPropertiesNVX* pProperties);
11161#endif
11162
11163
11164// VK_AMD_draw_indirect_count is a preprocessor guard. Do not pass it to API calls.
11165#define VK_AMD_draw_indirect_count 1
11166#define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 2
11167#define VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_AMD_draw_indirect_count"
11168typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
11169typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
11170
11171#ifndef VK_NO_PROTOTYPES
11173 VkCommandBuffer commandBuffer,
11174 VkBuffer buffer,
11176 VkBuffer countBuffer,
11177 VkDeviceSize countBufferOffset,
11178 uint32_t maxDrawCount,
11179 uint32_t stride);
11180
11182 VkCommandBuffer commandBuffer,
11183 VkBuffer buffer,
11185 VkBuffer countBuffer,
11186 VkDeviceSize countBufferOffset,
11187 uint32_t maxDrawCount,
11188 uint32_t stride);
11189#endif
11190
11191
11192// VK_AMD_negative_viewport_height is a preprocessor guard. Do not pass it to API calls.
11193#define VK_AMD_negative_viewport_height 1
11194#define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION 1
11195#define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME "VK_AMD_negative_viewport_height"
11196
11197
11198// VK_AMD_gpu_shader_half_float is a preprocessor guard. Do not pass it to API calls.
11199#define VK_AMD_gpu_shader_half_float 1
11200#define VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION 2
11201#define VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME "VK_AMD_gpu_shader_half_float"
11202
11203
11204// VK_AMD_shader_ballot is a preprocessor guard. Do not pass it to API calls.
11205#define VK_AMD_shader_ballot 1
11206#define VK_AMD_SHADER_BALLOT_SPEC_VERSION 1
11207#define VK_AMD_SHADER_BALLOT_EXTENSION_NAME "VK_AMD_shader_ballot"
11208
11209
11210// VK_AMD_texture_gather_bias_lod is a preprocessor guard. Do not pass it to API calls.
11211#define VK_AMD_texture_gather_bias_lod 1
11212#define VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION 1
11213#define VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME "VK_AMD_texture_gather_bias_lod"
11216 void* pNext;
11219
11220
11221
11222// VK_AMD_shader_info is a preprocessor guard. Do not pass it to API calls.
11223#define VK_AMD_shader_info 1
11224#define VK_AMD_SHADER_INFO_SPEC_VERSION 1
11225#define VK_AMD_SHADER_INFO_EXTENSION_NAME "VK_AMD_shader_info"
11226
11240
11250
11251typedef VkResult (VKAPI_PTR *PFN_vkGetShaderInfoAMD)(VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, size_t* pInfoSize, void* pInfo);
11252
11253#ifndef VK_NO_PROTOTYPES
11255 VkDevice device,
11256 VkPipeline pipeline,
11257 VkShaderStageFlagBits shaderStage,
11258 VkShaderInfoTypeAMD infoType,
11259 size_t* pInfoSize,
11260 void* pInfo);
11261#endif
11262
11263
11264// VK_AMD_shader_image_load_store_lod is a preprocessor guard. Do not pass it to API calls.
11265#define VK_AMD_shader_image_load_store_lod 1
11266#define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION 1
11267#define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME "VK_AMD_shader_image_load_store_lod"
11268
11269
11270// VK_NV_corner_sampled_image is a preprocessor guard. Do not pass it to API calls.
11271#define VK_NV_corner_sampled_image 1
11272#define VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION 2
11273#define VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME "VK_NV_corner_sampled_image"
11276 void* pNext;
11279
11280
11281
11282// VK_IMG_format_pvrtc is a preprocessor guard. Do not pass it to API calls.
11283#define VK_IMG_format_pvrtc 1
11284#define VK_IMG_FORMAT_PVRTC_SPEC_VERSION 1
11285#define VK_IMG_FORMAT_PVRTC_EXTENSION_NAME "VK_IMG_format_pvrtc"
11286
11287
11288// VK_NV_external_memory_capabilities is a preprocessor guard. Do not pass it to API calls.
11289#define VK_NV_external_memory_capabilities 1
11290#define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
11291#define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_NV_external_memory_capabilities"
11292
11301
11315
11317
11318#ifndef VK_NO_PROTOTYPES
11320 VkPhysicalDevice physicalDevice,
11323 VkImageTiling tiling,
11326 VkExternalMemoryHandleTypeFlagsNV externalHandleType,
11327 VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
11328#endif
11329
11330
11331// VK_NV_external_memory is a preprocessor guard. Do not pass it to API calls.
11332#define VK_NV_external_memory 1
11333#define VK_NV_EXTERNAL_MEMORY_SPEC_VERSION 1
11334#define VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME "VK_NV_external_memory"
11337 const void* pNext;
11340
11343 const void* pNext;
11346
11347
11348
11349// VK_EXT_validation_flags is a preprocessor guard. Do not pass it to API calls.
11350#define VK_EXT_validation_flags 1
11351#define VK_EXT_VALIDATION_FLAGS_SPEC_VERSION 2
11352#define VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME "VK_EXT_validation_flags"
11353
11359typedef struct VkValidationFlagsEXT {
11361 const void* pNext;
11365
11366
11367
11368// VK_EXT_shader_subgroup_ballot is a preprocessor guard. Do not pass it to API calls.
11369#define VK_EXT_shader_subgroup_ballot 1
11370#define VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION 1
11371#define VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME "VK_EXT_shader_subgroup_ballot"
11372
11373
11374// VK_EXT_shader_subgroup_vote is a preprocessor guard. Do not pass it to API calls.
11375#define VK_EXT_shader_subgroup_vote 1
11376#define VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION 1
11377#define VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME "VK_EXT_shader_subgroup_vote"
11378
11379
11380// VK_EXT_texture_compression_astc_hdr is a preprocessor guard. Do not pass it to API calls.
11381#define VK_EXT_texture_compression_astc_hdr 1
11382#define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION 1
11383#define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME "VK_EXT_texture_compression_astc_hdr"
11385
11386
11387
11388// VK_EXT_astc_decode_mode is a preprocessor guard. Do not pass it to API calls.
11389#define VK_EXT_astc_decode_mode 1
11390#define VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION 1
11391#define VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME "VK_EXT_astc_decode_mode"
11394 const void* pNext;
11397
11400 void* pNext;
11403
11404
11405
11406// VK_EXT_pipeline_robustness is a preprocessor guard. Do not pass it to API calls.
11407#define VK_EXT_pipeline_robustness 1
11408#define VK_EXT_PIPELINE_ROBUSTNESS_SPEC_VERSION 1
11409#define VK_EXT_PIPELINE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_pipeline_robustness"
11410
11418
11428 void* pNext;
11431
11434 void* pNext;
11440
11443 const void* pNext;
11449
11450
11451
11452// VK_EXT_conditional_rendering is a preprocessor guard. Do not pass it to API calls.
11453#define VK_EXT_conditional_rendering 1
11454#define VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION 2
11455#define VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME "VK_EXT_conditional_rendering"
11456
11464 const void* pNext;
11465 VkBuffer buffer;
11469
11472 void* pNext;
11476
11479 const void* pNext;
11482
11483typedef void (VKAPI_PTR *PFN_vkCmdBeginConditionalRenderingEXT)(VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
11484typedef void (VKAPI_PTR *PFN_vkCmdEndConditionalRenderingEXT)(VkCommandBuffer commandBuffer);
11485
11486#ifndef VK_NO_PROTOTYPES
11488 VkCommandBuffer commandBuffer,
11489 const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
11490
11492 VkCommandBuffer commandBuffer);
11493#endif
11494
11495
11496// VK_NV_clip_space_w_scaling is a preprocessor guard. Do not pass it to API calls.
11497#define VK_NV_clip_space_w_scaling 1
11498#define VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION 1
11499#define VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME "VK_NV_clip_space_w_scaling"
11500typedef struct VkViewportWScalingNV {
11501 float xcoeff;
11502 float ycoeff;
11504
11507 const void* pNext;
11512
11513typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportWScalingNV* pViewportWScalings);
11514
11515#ifndef VK_NO_PROTOTYPES
11517 VkCommandBuffer commandBuffer,
11518 uint32_t firstViewport,
11519 uint32_t viewportCount,
11520 const VkViewportWScalingNV* pViewportWScalings);
11521#endif
11522
11523
11524// VK_EXT_direct_mode_display is a preprocessor guard. Do not pass it to API calls.
11525#define VK_EXT_direct_mode_display 1
11526#define VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION 1
11527#define VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME "VK_EXT_direct_mode_display"
11528typedef VkResult (VKAPI_PTR *PFN_vkReleaseDisplayEXT)(VkPhysicalDevice physicalDevice, VkDisplayKHR display);
11529
11530#ifndef VK_NO_PROTOTYPES
11532 VkPhysicalDevice physicalDevice,
11533 VkDisplayKHR display);
11534#endif
11535
11536
11537// VK_EXT_display_surface_counter is a preprocessor guard. Do not pass it to API calls.
11538#define VK_EXT_display_surface_counter 1
11539#define VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION 1
11540#define VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME "VK_EXT_display_surface_counter"
11541
11550 void* pNext;
11563
11564typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
11565
11566#ifndef VK_NO_PROTOTYPES
11568 VkPhysicalDevice physicalDevice,
11569 VkSurfaceKHR surface,
11570 VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
11571#endif
11572
11573
11574// VK_EXT_display_control is a preprocessor guard. Do not pass it to API calls.
11575#define VK_EXT_display_control 1
11576#define VK_EXT_DISPLAY_CONTROL_SPEC_VERSION 1
11577#define VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME "VK_EXT_display_control"
11578
11585
11590
11597 const void* pNext;
11600
11601typedef struct VkDeviceEventInfoEXT {
11603 const void* pNext;
11606
11609 const void* pNext;
11612
11615 const void* pNext;
11618
11619typedef VkResult (VKAPI_PTR *PFN_vkDisplayPowerControlEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
11620typedef VkResult (VKAPI_PTR *PFN_vkRegisterDeviceEventEXT)(VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
11621typedef VkResult (VKAPI_PTR *PFN_vkRegisterDisplayEventEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
11622typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainCounterEXT)(VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, uint64_t* pCounterValue);
11623
11624#ifndef VK_NO_PROTOTYPES
11626 VkDevice device,
11627 VkDisplayKHR display,
11628 const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
11629
11631 VkDevice device,
11632 const VkDeviceEventInfoEXT* pDeviceEventInfo,
11633 const VkAllocationCallbacks* pAllocator,
11634 VkFence* pFence);
11635
11637 VkDevice device,
11638 VkDisplayKHR display,
11639 const VkDisplayEventInfoEXT* pDisplayEventInfo,
11640 const VkAllocationCallbacks* pAllocator,
11641 VkFence* pFence);
11642
11644 VkDevice device,
11645 VkSwapchainKHR swapchain,
11647 uint64_t* pCounterValue);
11648#endif
11649
11650
11651// VK_GOOGLE_display_timing is a preprocessor guard. Do not pass it to API calls.
11652#define VK_GOOGLE_display_timing 1
11653#define VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION 1
11654#define VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME "VK_GOOGLE_display_timing"
11658
11660 uint32_t presentID;
11666
11667typedef struct VkPresentTimeGOOGLE {
11668 uint32_t presentID;
11671
11674 const void* pNext;
11678
11679typedef VkResult (VKAPI_PTR *PFN_vkGetRefreshCycleDurationGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
11680typedef VkResult (VKAPI_PTR *PFN_vkGetPastPresentationTimingGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings);
11681
11682#ifndef VK_NO_PROTOTYPES
11684 VkDevice device,
11685 VkSwapchainKHR swapchain,
11686 VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
11687
11689 VkDevice device,
11690 VkSwapchainKHR swapchain,
11691 uint32_t* pPresentationTimingCount,
11692 VkPastPresentationTimingGOOGLE* pPresentationTimings);
11693#endif
11694
11695
11696// VK_NV_sample_mask_override_coverage is a preprocessor guard. Do not pass it to API calls.
11697#define VK_NV_sample_mask_override_coverage 1
11698#define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION 1
11699#define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME "VK_NV_sample_mask_override_coverage"
11700
11701
11702// VK_NV_geometry_shader_passthrough is a preprocessor guard. Do not pass it to API calls.
11703#define VK_NV_geometry_shader_passthrough 1
11704#define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION 1
11705#define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME "VK_NV_geometry_shader_passthrough"
11706
11707
11708// VK_NV_viewport_array2 is a preprocessor guard. Do not pass it to API calls.
11709#define VK_NV_viewport_array2 1
11710#define VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION 1
11711#define VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME "VK_NV_viewport_array2"
11712#define VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION
11713#define VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME
11714
11715
11716// VK_NVX_multiview_per_view_attributes is a preprocessor guard. Do not pass it to API calls.
11717#define VK_NVX_multiview_per_view_attributes 1
11718#define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION 1
11719#define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME "VK_NVX_multiview_per_view_attributes"
11722 void* pNext;
11725
11726
11727
11728// VK_NV_viewport_swizzle is a preprocessor guard. Do not pass it to API calls.
11729#define VK_NV_viewport_swizzle 1
11730#define VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION 1
11731#define VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME "VK_NV_viewport_swizzle"
11732
11745typedef struct VkViewportSwizzleNV {
11751
11754 const void* pNext;
11759
11760
11761
11762// VK_EXT_discard_rectangles is a preprocessor guard. Do not pass it to API calls.
11763#define VK_EXT_discard_rectangles 1
11764#define VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION 2
11765#define VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME "VK_EXT_discard_rectangles"
11766
11775 void* pNext;
11778
11781 const void* pNext;
11787
11788typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEXT)(VkCommandBuffer commandBuffer, uint32_t firstDiscardRectangle, uint32_t discardRectangleCount, const VkRect2D* pDiscardRectangles);
11789typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 discardRectangleEnable);
11790typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleModeEXT)(VkCommandBuffer commandBuffer, VkDiscardRectangleModeEXT discardRectangleMode);
11791
11792#ifndef VK_NO_PROTOTYPES
11794 VkCommandBuffer commandBuffer,
11795 uint32_t firstDiscardRectangle,
11796 uint32_t discardRectangleCount,
11797 const VkRect2D* pDiscardRectangles);
11798
11800 VkCommandBuffer commandBuffer,
11801 VkBool32 discardRectangleEnable);
11802
11804 VkCommandBuffer commandBuffer,
11805 VkDiscardRectangleModeEXT discardRectangleMode);
11806#endif
11807
11808
11809// VK_EXT_conservative_rasterization is a preprocessor guard. Do not pass it to API calls.
11810#define VK_EXT_conservative_rasterization 1
11811#define VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION 1
11812#define VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME "VK_EXT_conservative_rasterization"
11813
11823 void* pNext;
11834
11837 const void* pNext;
11842
11843
11844
11845// VK_EXT_depth_clip_enable is a preprocessor guard. Do not pass it to API calls.
11846#define VK_EXT_depth_clip_enable 1
11847#define VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION 1
11848#define VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME "VK_EXT_depth_clip_enable"
11852 void* pNext;
11855
11858 const void* pNext;
11862
11863
11864
11865// VK_EXT_swapchain_colorspace is a preprocessor guard. Do not pass it to API calls.
11866#define VK_EXT_swapchain_colorspace 1
11867#define VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION 4
11868#define VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME "VK_EXT_swapchain_colorspace"
11869
11870
11871// VK_EXT_hdr_metadata is a preprocessor guard. Do not pass it to API calls.
11872#define VK_EXT_hdr_metadata 1
11873#define VK_EXT_HDR_METADATA_SPEC_VERSION 2
11874#define VK_EXT_HDR_METADATA_EXTENSION_NAME "VK_EXT_hdr_metadata"
11875typedef struct VkXYColorEXT {
11876 float x;
11877 float y;
11879
11880typedef struct VkHdrMetadataEXT {
11882 const void* pNext;
11892
11893typedef void (VKAPI_PTR *PFN_vkSetHdrMetadataEXT)(VkDevice device, uint32_t swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata);
11894
11895#ifndef VK_NO_PROTOTYPES
11897 VkDevice device,
11898 uint32_t swapchainCount,
11899 const VkSwapchainKHR* pSwapchains,
11900 const VkHdrMetadataEXT* pMetadata);
11901#endif
11902
11903
11904// VK_EXT_external_memory_dma_buf is a preprocessor guard. Do not pass it to API calls.
11905#define VK_EXT_external_memory_dma_buf 1
11906#define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION 1
11907#define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME "VK_EXT_external_memory_dma_buf"
11908
11909
11910// VK_EXT_queue_family_foreign is a preprocessor guard. Do not pass it to API calls.
11911#define VK_EXT_queue_family_foreign 1
11912#define VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION 1
11913#define VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME "VK_EXT_queue_family_foreign"
11914#define VK_QUEUE_FAMILY_FOREIGN_EXT (~2U)
11915
11916
11917// VK_EXT_debug_utils is a preprocessor guard. Do not pass it to API calls.
11918#define VK_EXT_debug_utils 1
11919VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugUtilsMessengerEXT)
11920#define VK_EXT_DEBUG_UTILS_SPEC_VERSION 2
11921#define VK_EXT_DEBUG_UTILS_EXTENSION_NAME "VK_EXT_debug_utils"
11923
11931
11942typedef struct VkDebugUtilsLabelEXT {
11944 const void* pNext;
11945 const char* pLabelName;
11946 float color[4];
11948
11951 const void* pNext;
11954 const char* pObjectName;
11956
11959 const void* pNext;
11961 const char* pMessageIdName;
11963 const char* pMessage;
11968 uint32_t objectCount;
11971
11975 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData,
11976 void* pUserData);
11977
11980 const void* pNext;
11987
11990 const void* pNext;
11993 uint64_t tagName;
11994 size_t tagSize;
11995 const void* pTag;
11997
12003typedef void (VKAPI_PTR *PFN_vkCmdBeginDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
12004typedef void (VKAPI_PTR *PFN_vkCmdEndDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer);
12005typedef void (VKAPI_PTR *PFN_vkCmdInsertDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
12006typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugUtilsMessengerEXT)(VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugUtilsMessengerEXT* pMessenger);
12007typedef void (VKAPI_PTR *PFN_vkDestroyDebugUtilsMessengerEXT)(VkInstance instance, VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks* pAllocator);
12009
12010#ifndef VK_NO_PROTOTYPES
12012 VkDevice device,
12013 const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
12014
12016 VkDevice device,
12017 const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
12018
12020 VkQueue queue,
12021 const VkDebugUtilsLabelEXT* pLabelInfo);
12022
12024 VkQueue queue);
12025
12027 VkQueue queue,
12028 const VkDebugUtilsLabelEXT* pLabelInfo);
12029
12031 VkCommandBuffer commandBuffer,
12032 const VkDebugUtilsLabelEXT* pLabelInfo);
12033
12035 VkCommandBuffer commandBuffer);
12036
12038 VkCommandBuffer commandBuffer,
12039 const VkDebugUtilsLabelEXT* pLabelInfo);
12040
12042 VkInstance instance,
12043 const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo,
12044 const VkAllocationCallbacks* pAllocator,
12045 VkDebugUtilsMessengerEXT* pMessenger);
12046
12048 VkInstance instance,
12049 VkDebugUtilsMessengerEXT messenger,
12050 const VkAllocationCallbacks* pAllocator);
12051
12053 VkInstance instance,
12056 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
12057#endif
12058
12059
12060// VK_EXT_sampler_filter_minmax is a preprocessor guard. Do not pass it to API calls.
12061#define VK_EXT_sampler_filter_minmax 1
12062#define VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION 2
12063#define VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME "VK_EXT_sampler_filter_minmax"
12065
12067
12069
12070
12071
12072// VK_AMD_gpu_shader_int16 is a preprocessor guard. Do not pass it to API calls.
12073#define VK_AMD_gpu_shader_int16 1
12074#define VK_AMD_GPU_SHADER_INT16_SPEC_VERSION 2
12075#define VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME "VK_AMD_gpu_shader_int16"
12076
12077
12078// VK_AMD_mixed_attachment_samples is a preprocessor guard. Do not pass it to API calls.
12079#define VK_AMD_mixed_attachment_samples 1
12080#define VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION 1
12081#define VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME "VK_AMD_mixed_attachment_samples"
12082
12083
12084// VK_AMD_shader_fragment_mask is a preprocessor guard. Do not pass it to API calls.
12085#define VK_AMD_shader_fragment_mask 1
12086#define VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION 1
12087#define VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME "VK_AMD_shader_fragment_mask"
12088
12089
12090// VK_EXT_inline_uniform_block is a preprocessor guard. Do not pass it to API calls.
12091#define VK_EXT_inline_uniform_block 1
12092#define VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION 1
12093#define VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME "VK_EXT_inline_uniform_block"
12095
12097
12099
12101
12102
12103
12104// VK_EXT_shader_stencil_export is a preprocessor guard. Do not pass it to API calls.
12105#define VK_EXT_shader_stencil_export 1
12106#define VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION 1
12107#define VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME "VK_EXT_shader_stencil_export"
12108
12109
12110// VK_EXT_sample_locations is a preprocessor guard. Do not pass it to API calls.
12111#define VK_EXT_sample_locations 1
12112#define VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION 1
12113#define VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME "VK_EXT_sample_locations"
12114typedef struct VkSampleLocationEXT {
12115 float x;
12116 float y;
12118
12121 const void* pNext;
12127
12132
12137
12140 const void* pNext;
12146
12149 const void* pNext;
12153
12156 void* pNext;
12163
12166 void* pNext;
12169
12170typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEXT)(VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
12171typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT)(VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT* pMultisampleProperties);
12172
12173#ifndef VK_NO_PROTOTYPES
12175 VkCommandBuffer commandBuffer,
12176 const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
12177
12179 VkPhysicalDevice physicalDevice,
12180 VkSampleCountFlagBits samples,
12181 VkMultisamplePropertiesEXT* pMultisampleProperties);
12182#endif
12183
12184
12185// VK_EXT_blend_operation_advanced is a preprocessor guard. Do not pass it to API calls.
12186#define VK_EXT_blend_operation_advanced 1
12187#define VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION 2
12188#define VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME "VK_EXT_blend_operation_advanced"
12189
12190typedef enum VkBlendOverlapEXT {
12198 void* pNext;
12201
12204 void* pNext;
12212
12215 const void* pNext;
12220
12221
12222
12223// VK_NV_fragment_coverage_to_color is a preprocessor guard. Do not pass it to API calls.
12224#define VK_NV_fragment_coverage_to_color 1
12225#define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION 1
12226#define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME "VK_NV_fragment_coverage_to_color"
12230 const void* pNext;
12235
12236
12237
12238// VK_NV_framebuffer_mixed_samples is a preprocessor guard. Do not pass it to API calls.
12239#define VK_NV_framebuffer_mixed_samples 1
12240#define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION 1
12241#define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME "VK_NV_framebuffer_mixed_samples"
12242
12253 const void* pNext;
12260
12261
12262
12263// VK_NV_fill_rectangle is a preprocessor guard. Do not pass it to API calls.
12264#define VK_NV_fill_rectangle 1
12265#define VK_NV_FILL_RECTANGLE_SPEC_VERSION 1
12266#define VK_NV_FILL_RECTANGLE_EXTENSION_NAME "VK_NV_fill_rectangle"
12267
12268
12269// VK_NV_shader_sm_builtins is a preprocessor guard. Do not pass it to API calls.
12270#define VK_NV_shader_sm_builtins 1
12271#define VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION 1
12272#define VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME "VK_NV_shader_sm_builtins"
12275 void* pNext;
12279
12282 void* pNext;
12285
12286
12287
12288// VK_EXT_post_depth_coverage is a preprocessor guard. Do not pass it to API calls.
12289#define VK_EXT_post_depth_coverage 1
12290#define VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION 1
12291#define VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME "VK_EXT_post_depth_coverage"
12292
12293
12294// VK_EXT_image_drm_format_modifier is a preprocessor guard. Do not pass it to API calls.
12295#define VK_EXT_image_drm_format_modifier 1
12296#define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION 2
12297#define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME "VK_EXT_image_drm_format_modifier"
12303
12306 void* pNext;
12310
12313 const void* pNext;
12317 const uint32_t* pQueueFamilyIndices;
12319
12322 const void* pNext;
12324 const uint64_t* pDrmFormatModifiers;
12326
12329 const void* pNext;
12334
12337 void* pNext;
12340
12346
12349 void* pNext;
12353
12355
12356#ifndef VK_NO_PROTOTYPES
12358 VkDevice device,
12359 VkImage image,
12361#endif
12362
12363
12364// VK_EXT_validation_cache is a preprocessor guard. Do not pass it to API calls.
12365#define VK_EXT_validation_cache 1
12366VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkValidationCacheEXT)
12367#define VK_EXT_VALIDATION_CACHE_SPEC_VERSION 1
12368#define VK_EXT_VALIDATION_CACHE_EXTENSION_NAME "VK_EXT_validation_cache"
12369
12377 const void* pNext;
12380 const void* pInitialData;
12382
12385 const void* pNext;
12386 VkValidationCacheEXT validationCache;
12388
12389typedef VkResult (VKAPI_PTR *PFN_vkCreateValidationCacheEXT)(VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache);
12390typedef void (VKAPI_PTR *PFN_vkDestroyValidationCacheEXT)(VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator);
12391typedef VkResult (VKAPI_PTR *PFN_vkMergeValidationCachesEXT)(VkDevice device, VkValidationCacheEXT dstCache, uint32_t srcCacheCount, const VkValidationCacheEXT* pSrcCaches);
12392typedef VkResult (VKAPI_PTR *PFN_vkGetValidationCacheDataEXT)(VkDevice device, VkValidationCacheEXT validationCache, size_t* pDataSize, void* pData);
12393
12394#ifndef VK_NO_PROTOTYPES
12396 VkDevice device,
12397 const VkValidationCacheCreateInfoEXT* pCreateInfo,
12398 const VkAllocationCallbacks* pAllocator,
12399 VkValidationCacheEXT* pValidationCache);
12400
12402 VkDevice device,
12403 VkValidationCacheEXT validationCache,
12404 const VkAllocationCallbacks* pAllocator);
12405
12407 VkDevice device,
12408 VkValidationCacheEXT dstCache,
12409 uint32_t srcCacheCount,
12410 const VkValidationCacheEXT* pSrcCaches);
12411
12413 VkDevice device,
12414 VkValidationCacheEXT validationCache,
12415 size_t* pDataSize,
12416 void* pData);
12417#endif
12418
12419
12420// VK_EXT_descriptor_indexing is a preprocessor guard. Do not pass it to API calls.
12421#define VK_EXT_descriptor_indexing 1
12422#define VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION 2
12423#define VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME "VK_EXT_descriptor_indexing"
12425
12427
12429
12431
12433
12435
12437
12438
12439
12440// VK_EXT_shader_viewport_index_layer is a preprocessor guard. Do not pass it to API calls.
12441#define VK_EXT_shader_viewport_index_layer 1
12442#define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION 1
12443#define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME "VK_EXT_shader_viewport_index_layer"
12444
12445
12446// VK_NV_shading_rate_image is a preprocessor guard. Do not pass it to API calls.
12447#define VK_NV_shading_rate_image 1
12448#define VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION 3
12449#define VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME "VK_NV_shading_rate_image"
12450
12466
12478
12481 const void* pNext;
12486
12489 void* pNext;
12493
12496 void* pNext;
12501
12503 uint32_t pixelX;
12504 uint32_t pixelY;
12505 uint32_t sample;
12507
12510 uint32_t sampleCount;
12514
12517 const void* pNext;
12522
12523typedef void (VKAPI_PTR *PFN_vkCmdBindShadingRateImageNV)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout);
12524typedef void (VKAPI_PTR *PFN_vkCmdSetViewportShadingRatePaletteNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkShadingRatePaletteNV* pShadingRatePalettes);
12525typedef void (VKAPI_PTR *PFN_vkCmdSetCoarseSampleOrderNV)(VkCommandBuffer commandBuffer, VkCoarseSampleOrderTypeNV sampleOrderType, uint32_t customSampleOrderCount, const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
12526
12527#ifndef VK_NO_PROTOTYPES
12529 VkCommandBuffer commandBuffer,
12530 VkImageView imageView,
12531 VkImageLayout imageLayout);
12532
12534 VkCommandBuffer commandBuffer,
12535 uint32_t firstViewport,
12536 uint32_t viewportCount,
12537 const VkShadingRatePaletteNV* pShadingRatePalettes);
12538
12540 VkCommandBuffer commandBuffer,
12541 VkCoarseSampleOrderTypeNV sampleOrderType,
12542 uint32_t customSampleOrderCount,
12543 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
12544#endif
12545
12546
12547// VK_NV_ray_tracing is a preprocessor guard. Do not pass it to API calls.
12548#define VK_NV_ray_tracing 1
12549VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureNV)
12550#define VK_NV_RAY_TRACING_SPEC_VERSION 3
12551#define VK_NV_RAY_TRACING_EXTENSION_NAME "VK_NV_ray_tracing"
12552#define VK_SHADER_UNUSED_KHR (~0U)
12553#define VK_SHADER_UNUSED_NV VK_SHADER_UNUSED_KHR
12554
12565
12566
12567typedef enum VkGeometryTypeKHR {
12576
12577
12587
12588
12599
12600
12607
12617
12619
12620
12637
12639
12640
12651#ifdef VK_ENABLE_BETA_EXTENSIONS
12652 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISPLACEMENT_MICROMAP_UPDATE_NV = 0x00000200,
12653#endif
12664
12666
12669 const void* pNext;
12676
12679 const void* pNext;
12681 uint32_t stageCount;
12683 uint32_t groupCount;
12686 VkPipelineLayout layout;
12690
12693 const void* pNext;
12694 VkBuffer vertexData;
12696 uint32_t vertexCount;
12699 VkBuffer indexData;
12701 uint32_t indexCount;
12706
12707typedef struct VkGeometryAABBNV {
12709 const void* pNext;
12710 VkBuffer aabbData;
12711 uint32_t numAABBs;
12712 uint32_t stride;
12715
12716typedef struct VkGeometryDataNV {
12720
12721typedef struct VkGeometryNV {
12723 const void* pNext;
12728
12731 const void* pNext;
12738
12741 const void* pNext;
12745
12748 const void* pNext;
12749 VkAccelerationStructureNV accelerationStructure;
12750 VkDeviceMemory memory;
12753 const uint32_t* pDeviceIndices;
12755
12758 const void* pNext;
12760 const VkAccelerationStructureNV* pAccelerationStructures;
12762
12765 const void* pNext;
12767 VkAccelerationStructureNV accelerationStructure;
12769
12772 void* pNext;
12782
12783typedef struct VkTransformMatrixKHR {
12784 float matrix[3][4];
12786
12788
12789typedef struct VkAabbPositionsKHR {
12790 float minX;
12791 float minY;
12792 float minZ;
12793 float maxX;
12794 float maxY;
12795 float maxZ;
12797
12799
12803 uint32_t mask:8;
12808
12810
12811typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureNV)(VkDevice device, const VkAccelerationStructureCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureNV* pAccelerationStructure);
12812typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, const VkAllocationCallbacks* pAllocator);
12815typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructureNV)(VkCommandBuffer commandBuffer, const VkAccelerationStructureInfoNV* pInfo, VkBuffer instanceData, VkDeviceSize instanceOffset, VkBool32 update, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkBuffer scratch, VkDeviceSize scratchOffset);
12816typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureNV)(VkCommandBuffer commandBuffer, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkCopyAccelerationStructureModeKHR mode);
12817typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysNV)(VkCommandBuffer commandBuffer, VkBuffer raygenShaderBindingTableBuffer, VkDeviceSize raygenShaderBindingOffset, VkBuffer missShaderBindingTableBuffer, VkDeviceSize missShaderBindingOffset, VkDeviceSize missShaderBindingStride, VkBuffer hitShaderBindingTableBuffer, VkDeviceSize hitShaderBindingOffset, VkDeviceSize hitShaderBindingStride, VkBuffer callableShaderBindingTableBuffer, VkDeviceSize callableShaderBindingOffset, VkDeviceSize callableShaderBindingStride, uint32_t width, uint32_t height, uint32_t depth);
12818typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesNV)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoNV* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
12819typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData);
12820typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesNV)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData);
12821typedef VkResult (VKAPI_PTR *PFN_vkGetAccelerationStructureHandleNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, size_t dataSize, void* pData);
12822typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesNV)(VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureNV* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery);
12823typedef VkResult (VKAPI_PTR *PFN_vkCompileDeferredNV)(VkDevice device, VkPipeline pipeline, uint32_t shader);
12824
12825#ifndef VK_NO_PROTOTYPES
12827 VkDevice device,
12828 const VkAccelerationStructureCreateInfoNV* pCreateInfo,
12829 const VkAllocationCallbacks* pAllocator,
12830 VkAccelerationStructureNV* pAccelerationStructure);
12831
12833 VkDevice device,
12834 VkAccelerationStructureNV accelerationStructure,
12835 const VkAllocationCallbacks* pAllocator);
12836
12838 VkDevice device,
12840 VkMemoryRequirements2KHR* pMemoryRequirements);
12841
12843 VkDevice device,
12844 uint32_t bindInfoCount,
12845 const VkBindAccelerationStructureMemoryInfoNV* pBindInfos);
12846
12848 VkCommandBuffer commandBuffer,
12849 const VkAccelerationStructureInfoNV* pInfo,
12850 VkBuffer instanceData,
12851 VkDeviceSize instanceOffset,
12853 VkAccelerationStructureNV dst,
12854 VkAccelerationStructureNV src,
12855 VkBuffer scratch,
12856 VkDeviceSize scratchOffset);
12857
12859 VkCommandBuffer commandBuffer,
12860 VkAccelerationStructureNV dst,
12861 VkAccelerationStructureNV src,
12863
12865 VkCommandBuffer commandBuffer,
12866 VkBuffer raygenShaderBindingTableBuffer,
12867 VkDeviceSize raygenShaderBindingOffset,
12868 VkBuffer missShaderBindingTableBuffer,
12869 VkDeviceSize missShaderBindingOffset,
12870 VkDeviceSize missShaderBindingStride,
12871 VkBuffer hitShaderBindingTableBuffer,
12872 VkDeviceSize hitShaderBindingOffset,
12873 VkDeviceSize hitShaderBindingStride,
12874 VkBuffer callableShaderBindingTableBuffer,
12875 VkDeviceSize callableShaderBindingOffset,
12876 VkDeviceSize callableShaderBindingStride,
12877 uint32_t width,
12878 uint32_t height,
12879 uint32_t depth);
12880
12882 VkDevice device,
12883 VkPipelineCache pipelineCache,
12884 uint32_t createInfoCount,
12885 const VkRayTracingPipelineCreateInfoNV* pCreateInfos,
12886 const VkAllocationCallbacks* pAllocator,
12887 VkPipeline* pPipelines);
12888
12890 VkDevice device,
12891 VkPipeline pipeline,
12892 uint32_t firstGroup,
12893 uint32_t groupCount,
12894 size_t dataSize,
12895 void* pData);
12896
12898 VkDevice device,
12899 VkPipeline pipeline,
12900 uint32_t firstGroup,
12901 uint32_t groupCount,
12902 size_t dataSize,
12903 void* pData);
12904
12906 VkDevice device,
12907 VkAccelerationStructureNV accelerationStructure,
12908 size_t dataSize,
12909 void* pData);
12910
12912 VkCommandBuffer commandBuffer,
12913 uint32_t accelerationStructureCount,
12914 const VkAccelerationStructureNV* pAccelerationStructures,
12915 VkQueryType queryType,
12916 VkQueryPool queryPool,
12917 uint32_t firstQuery);
12918
12920 VkDevice device,
12921 VkPipeline pipeline,
12922 uint32_t shader);
12923#endif
12924
12925
12926// VK_NV_representative_fragment_test is a preprocessor guard. Do not pass it to API calls.
12927#define VK_NV_representative_fragment_test 1
12928#define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION 2
12929#define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME "VK_NV_representative_fragment_test"
12932 void* pNext;
12935
12938 const void* pNext;
12941
12942
12943
12944// VK_EXT_filter_cubic is a preprocessor guard. Do not pass it to API calls.
12945#define VK_EXT_filter_cubic 1
12946#define VK_EXT_FILTER_CUBIC_SPEC_VERSION 3
12947#define VK_EXT_FILTER_CUBIC_EXTENSION_NAME "VK_EXT_filter_cubic"
12950 void* pNext;
12953
12956 void* pNext;
12960
12961
12962
12963// VK_QCOM_render_pass_shader_resolve is a preprocessor guard. Do not pass it to API calls.
12964#define VK_QCOM_render_pass_shader_resolve 1
12965#define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_SPEC_VERSION 4
12966#define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_EXTENSION_NAME "VK_QCOM_render_pass_shader_resolve"
12967
12968
12969// VK_EXT_global_priority is a preprocessor guard. Do not pass it to API calls.
12970#define VK_EXT_global_priority 1
12971#define VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION 2
12972#define VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME "VK_EXT_global_priority"
12974
12976
12977
12978
12979// VK_EXT_external_memory_host is a preprocessor guard. Do not pass it to API calls.
12980#define VK_EXT_external_memory_host 1
12981#define VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION 1
12982#define VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME "VK_EXT_external_memory_host"
12985 const void* pNext;
12989
12992 void* pNext;
12995
12998 void* pNext;
13001
13002typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryHostPointerPropertiesEXT)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
13003
13004#ifndef VK_NO_PROTOTYPES
13006 VkDevice device,
13008 const void* pHostPointer,
13009 VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
13010#endif
13011
13012
13013// VK_AMD_buffer_marker is a preprocessor guard. Do not pass it to API calls.
13014#define VK_AMD_buffer_marker 1
13015#define VK_AMD_BUFFER_MARKER_SPEC_VERSION 1
13016#define VK_AMD_BUFFER_MARKER_EXTENSION_NAME "VK_AMD_buffer_marker"
13017typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarkerAMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker);
13018
13019#ifndef VK_NO_PROTOTYPES
13021 VkCommandBuffer commandBuffer,
13022 VkPipelineStageFlagBits pipelineStage,
13023 VkBuffer dstBuffer,
13024 VkDeviceSize dstOffset,
13025 uint32_t marker);
13026#endif
13027
13028
13029// VK_AMD_pipeline_compiler_control is a preprocessor guard. Do not pass it to API calls.
13030#define VK_AMD_pipeline_compiler_control 1
13031#define VK_AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION 1
13032#define VK_AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME "VK_AMD_pipeline_compiler_control"
13033
13040 const void* pNext;
13043
13044
13045
13046// VK_EXT_calibrated_timestamps is a preprocessor guard. Do not pass it to API calls.
13047#define VK_EXT_calibrated_timestamps 1
13048#define VK_EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION 2
13049#define VK_EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME "VK_EXT_calibrated_timestamps"
13050
13051typedef enum VkTimeDomainEXT {
13056 VK_TIME_DOMAIN_MAX_ENUM_EXT = 0x7FFFFFFF
13060 const void* pNext;
13063
13064typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT)(VkPhysicalDevice physicalDevice, uint32_t* pTimeDomainCount, VkTimeDomainEXT* pTimeDomains);
13065typedef VkResult (VKAPI_PTR *PFN_vkGetCalibratedTimestampsEXT)(VkDevice device, uint32_t timestampCount, const VkCalibratedTimestampInfoEXT* pTimestampInfos, uint64_t* pTimestamps, uint64_t* pMaxDeviation);
13066
13067#ifndef VK_NO_PROTOTYPES
13069 VkPhysicalDevice physicalDevice,
13070 uint32_t* pTimeDomainCount,
13071 VkTimeDomainEXT* pTimeDomains);
13072
13074 VkDevice device,
13075 uint32_t timestampCount,
13076 const VkCalibratedTimestampInfoEXT* pTimestampInfos,
13077 uint64_t* pTimestamps,
13078 uint64_t* pMaxDeviation);
13079#endif
13080
13081
13082// VK_AMD_shader_core_properties is a preprocessor guard. Do not pass it to API calls.
13083#define VK_AMD_shader_core_properties 1
13084#define VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION 2
13085#define VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_AMD_shader_core_properties"
13088 void* pNext;
13104
13105
13106
13107// VK_AMD_memory_overallocation_behavior is a preprocessor guard. Do not pass it to API calls.
13108#define VK_AMD_memory_overallocation_behavior 1
13109#define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION 1
13110#define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME "VK_AMD_memory_overallocation_behavior"
13111
13120 const void* pNext;
13123
13124
13125
13126// VK_EXT_vertex_attribute_divisor is a preprocessor guard. Do not pass it to API calls.
13127#define VK_EXT_vertex_attribute_divisor 1
13128#define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 3
13129#define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_EXT_vertex_attribute_divisor"
13132 void* pNext;
13135
13137 uint32_t binding;
13138 uint32_t divisor;
13140
13143 const void* pNext;
13147
13150 void* pNext;
13154
13155
13156
13157// VK_EXT_pipeline_creation_feedback is a preprocessor guard. Do not pass it to API calls.
13158#define VK_EXT_pipeline_creation_feedback 1
13159#define VK_EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION 1
13160#define VK_EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME "VK_EXT_pipeline_creation_feedback"
13162
13164
13166
13168
13169
13170
13171// VK_NV_shader_subgroup_partitioned is a preprocessor guard. Do not pass it to API calls.
13172#define VK_NV_shader_subgroup_partitioned 1
13173#define VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION 1
13174#define VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME "VK_NV_shader_subgroup_partitioned"
13175
13176
13177// VK_NV_compute_shader_derivatives is a preprocessor guard. Do not pass it to API calls.
13178#define VK_NV_compute_shader_derivatives 1
13179#define VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION 1
13180#define VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME "VK_NV_compute_shader_derivatives"
13183 void* pNext;
13187
13188
13189
13190// VK_NV_mesh_shader is a preprocessor guard. Do not pass it to API calls.
13191#define VK_NV_mesh_shader 1
13192#define VK_NV_MESH_SHADER_SPEC_VERSION 1
13193#define VK_NV_MESH_SHADER_EXTENSION_NAME "VK_NV_mesh_shader"
13196 void* pNext;
13200
13203 void* pNext;
13218
13220 uint32_t taskCount;
13221 uint32_t firstTask;
13223
13224typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksNV)(VkCommandBuffer commandBuffer, uint32_t taskCount, uint32_t firstTask);
13225typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
13226typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectCountNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
13227
13228#ifndef VK_NO_PROTOTYPES
13230 VkCommandBuffer commandBuffer,
13231 uint32_t taskCount,
13232 uint32_t firstTask);
13233
13235 VkCommandBuffer commandBuffer,
13236 VkBuffer buffer,
13238 uint32_t drawCount,
13239 uint32_t stride);
13240
13242 VkCommandBuffer commandBuffer,
13243 VkBuffer buffer,
13245 VkBuffer countBuffer,
13246 VkDeviceSize countBufferOffset,
13247 uint32_t maxDrawCount,
13248 uint32_t stride);
13249#endif
13250
13251
13252// VK_NV_fragment_shader_barycentric is a preprocessor guard. Do not pass it to API calls.
13253#define VK_NV_fragment_shader_barycentric 1
13254#define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1
13255#define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_NV_fragment_shader_barycentric"
13257
13258
13259
13260// VK_NV_shader_image_footprint is a preprocessor guard. Do not pass it to API calls.
13261#define VK_NV_shader_image_footprint 1
13262#define VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION 2
13263#define VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME "VK_NV_shader_image_footprint"
13266 void* pNext;
13269
13270
13271
13272// VK_NV_scissor_exclusive is a preprocessor guard. Do not pass it to API calls.
13273#define VK_NV_scissor_exclusive 1
13274#define VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION 2
13275#define VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME "VK_NV_scissor_exclusive"
13278 const void* pNext;
13282
13285 void* pNext;
13288
13289typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorEnableNV)(VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const VkBool32* pExclusiveScissorEnables);
13290typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorNV)(VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const VkRect2D* pExclusiveScissors);
13291
13292#ifndef VK_NO_PROTOTYPES
13294 VkCommandBuffer commandBuffer,
13295 uint32_t firstExclusiveScissor,
13296 uint32_t exclusiveScissorCount,
13297 const VkBool32* pExclusiveScissorEnables);
13298
13300 VkCommandBuffer commandBuffer,
13301 uint32_t firstExclusiveScissor,
13302 uint32_t exclusiveScissorCount,
13303 const VkRect2D* pExclusiveScissors);
13304#endif
13305
13306
13307// VK_NV_device_diagnostic_checkpoints is a preprocessor guard. Do not pass it to API calls.
13308#define VK_NV_device_diagnostic_checkpoints 1
13309#define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION 2
13310#define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME "VK_NV_device_diagnostic_checkpoints"
13313 void* pNext;
13316
13317typedef struct VkCheckpointDataNV {
13319 void* pNext;
13323
13324typedef void (VKAPI_PTR *PFN_vkCmdSetCheckpointNV)(VkCommandBuffer commandBuffer, const void* pCheckpointMarker);
13325typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointDataNV)(VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData);
13326
13327#ifndef VK_NO_PROTOTYPES
13329 VkCommandBuffer commandBuffer,
13330 const void* pCheckpointMarker);
13331
13333 VkQueue queue,
13334 uint32_t* pCheckpointDataCount,
13335 VkCheckpointDataNV* pCheckpointData);
13336#endif
13337
13338
13339// VK_INTEL_shader_integer_functions2 is a preprocessor guard. Do not pass it to API calls.
13340#define VK_INTEL_shader_integer_functions2 1
13341#define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION 1
13342#define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME "VK_INTEL_shader_integer_functions2"
13345 void* pNext;
13348
13349
13350
13351// VK_INTEL_performance_query is a preprocessor guard. Do not pass it to API calls.
13352#define VK_INTEL_performance_query 1
13353VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPerformanceConfigurationINTEL)
13354#define VK_INTEL_PERFORMANCE_QUERY_SPEC_VERSION 2
13355#define VK_INTEL_PERFORMANCE_QUERY_EXTENSION_NAME "VK_INTEL_performance_query"
13356
13361
13366
13372
13378
13388 uint32_t value32;
13389 uint64_t value64;
13392 const char* valueString;
13394
13399
13402 const void* pNext;
13405
13408 const void* pNext;
13411
13413
13416 const void* pNext;
13417 uint64_t marker;
13419
13422 const void* pNext;
13423 uint32_t marker;
13425
13428 const void* pNext;
13431 uint64_t parameter;
13433
13436 const void* pNext;
13439
13442typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL* pMarkerInfo);
13443typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceStreamMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo);
13444typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceOverrideINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL* pOverrideInfo);
13445typedef VkResult (VKAPI_PTR *PFN_vkAcquirePerformanceConfigurationINTEL)(VkDevice device, const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, VkPerformanceConfigurationINTEL* pConfiguration);
13446typedef VkResult (VKAPI_PTR *PFN_vkReleasePerformanceConfigurationINTEL)(VkDevice device, VkPerformanceConfigurationINTEL configuration);
13447typedef VkResult (VKAPI_PTR *PFN_vkQueueSetPerformanceConfigurationINTEL)(VkQueue queue, VkPerformanceConfigurationINTEL configuration);
13449
13450#ifndef VK_NO_PROTOTYPES
13452 VkDevice device,
13453 const VkInitializePerformanceApiInfoINTEL* pInitializeInfo);
13454
13456 VkDevice device);
13457
13459 VkCommandBuffer commandBuffer,
13460 const VkPerformanceMarkerInfoINTEL* pMarkerInfo);
13461
13463 VkCommandBuffer commandBuffer,
13464 const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo);
13465
13467 VkCommandBuffer commandBuffer,
13468 const VkPerformanceOverrideInfoINTEL* pOverrideInfo);
13469
13471 VkDevice device,
13473 VkPerformanceConfigurationINTEL* pConfiguration);
13474
13476 VkDevice device,
13477 VkPerformanceConfigurationINTEL configuration);
13478
13480 VkQueue queue,
13481 VkPerformanceConfigurationINTEL configuration);
13482
13484 VkDevice device,
13486 VkPerformanceValueINTEL* pValue);
13487#endif
13488
13489
13490// VK_EXT_pci_bus_info is a preprocessor guard. Do not pass it to API calls.
13491#define VK_EXT_pci_bus_info 1
13492#define VK_EXT_PCI_BUS_INFO_SPEC_VERSION 2
13493#define VK_EXT_PCI_BUS_INFO_EXTENSION_NAME "VK_EXT_pci_bus_info"
13496 void* pNext;
13497 uint32_t pciDomain;
13498 uint32_t pciBus;
13499 uint32_t pciDevice;
13500 uint32_t pciFunction;
13502
13503
13504
13505// VK_AMD_display_native_hdr is a preprocessor guard. Do not pass it to API calls.
13506#define VK_AMD_display_native_hdr 1
13507#define VK_AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION 1
13508#define VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME "VK_AMD_display_native_hdr"
13511 void* pNext;
13514
13517 const void* pNext;
13520
13521typedef void (VKAPI_PTR *PFN_vkSetLocalDimmingAMD)(VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable);
13522
13523#ifndef VK_NO_PROTOTYPES
13525 VkDevice device,
13526 VkSwapchainKHR swapChain,
13527 VkBool32 localDimmingEnable);
13528#endif
13529
13530
13531// VK_EXT_fragment_density_map is a preprocessor guard. Do not pass it to API calls.
13532#define VK_EXT_fragment_density_map 1
13533#define VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION 2
13534#define VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME "VK_EXT_fragment_density_map"
13537 void* pNext;
13542
13545 void* pNext;
13550
13553 const void* pNext;
13556
13557
13558
13559// VK_EXT_scalar_block_layout is a preprocessor guard. Do not pass it to API calls.
13560#define VK_EXT_scalar_block_layout 1
13561#define VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION 1
13562#define VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME "VK_EXT_scalar_block_layout"
13564
13565
13566
13567// VK_GOOGLE_hlsl_functionality1 is a preprocessor guard. Do not pass it to API calls.
13568#define VK_GOOGLE_hlsl_functionality1 1
13569#define VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION 1
13570#define VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME "VK_GOOGLE_hlsl_functionality1"
13571#define VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION
13572#define VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME
13573
13574
13575// VK_GOOGLE_decorate_string is a preprocessor guard. Do not pass it to API calls.
13576#define VK_GOOGLE_decorate_string 1
13577#define VK_GOOGLE_DECORATE_STRING_SPEC_VERSION 1
13578#define VK_GOOGLE_DECORATE_STRING_EXTENSION_NAME "VK_GOOGLE_decorate_string"
13579
13580
13581// VK_EXT_subgroup_size_control is a preprocessor guard. Do not pass it to API calls.
13582#define VK_EXT_subgroup_size_control 1
13583#define VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION 2
13584#define VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME "VK_EXT_subgroup_size_control"
13586
13588
13590
13591
13592
13593// VK_AMD_shader_core_properties2 is a preprocessor guard. Do not pass it to API calls.
13594#define VK_AMD_shader_core_properties2 1
13595#define VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION 1
13596#define VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME "VK_AMD_shader_core_properties2"
13597
13604 void* pNext;
13608
13609
13610
13611// VK_AMD_device_coherent_memory is a preprocessor guard. Do not pass it to API calls.
13612#define VK_AMD_device_coherent_memory 1
13613#define VK_AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION 1
13614#define VK_AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME "VK_AMD_device_coherent_memory"
13617 void* pNext;
13620
13621
13622
13623// VK_EXT_shader_image_atomic_int64 is a preprocessor guard. Do not pass it to API calls.
13624#define VK_EXT_shader_image_atomic_int64 1
13625#define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION 1
13626#define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME "VK_EXT_shader_image_atomic_int64"
13629 void* pNext;
13633
13634
13635
13636// VK_EXT_memory_budget is a preprocessor guard. Do not pass it to API calls.
13637#define VK_EXT_memory_budget 1
13638#define VK_EXT_MEMORY_BUDGET_SPEC_VERSION 1
13639#define VK_EXT_MEMORY_BUDGET_EXTENSION_NAME "VK_EXT_memory_budget"
13642 void* pNext;
13646
13647
13648
13649// VK_EXT_memory_priority is a preprocessor guard. Do not pass it to API calls.
13650#define VK_EXT_memory_priority 1
13651#define VK_EXT_MEMORY_PRIORITY_SPEC_VERSION 1
13652#define VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME "VK_EXT_memory_priority"
13655 void* pNext;
13658
13661 const void* pNext;
13664
13665
13666
13667// VK_NV_dedicated_allocation_image_aliasing is a preprocessor guard. Do not pass it to API calls.
13668#define VK_NV_dedicated_allocation_image_aliasing 1
13669#define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION 1
13670#define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME "VK_NV_dedicated_allocation_image_aliasing"
13673 void* pNext;
13676
13677
13678
13679// VK_EXT_buffer_device_address is a preprocessor guard. Do not pass it to API calls.
13680#define VK_EXT_buffer_device_address 1
13681#define VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 2
13682#define VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_EXT_buffer_device_address"
13685 void* pNext;
13690
13692
13694
13697 const void* pNext;
13700
13702
13703#ifndef VK_NO_PROTOTYPES
13705 VkDevice device,
13706 const VkBufferDeviceAddressInfo* pInfo);
13707#endif
13708
13709
13710// VK_EXT_tooling_info is a preprocessor guard. Do not pass it to API calls.
13711#define VK_EXT_tooling_info 1
13712#define VK_EXT_TOOLING_INFO_SPEC_VERSION 1
13713#define VK_EXT_TOOLING_INFO_EXTENSION_NAME "VK_EXT_tooling_info"
13715
13717
13719
13720typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceToolPropertiesEXT)(VkPhysicalDevice physicalDevice, uint32_t* pToolCount, VkPhysicalDeviceToolProperties* pToolProperties);
13721
13722#ifndef VK_NO_PROTOTYPES
13724 VkPhysicalDevice physicalDevice,
13725 uint32_t* pToolCount,
13726 VkPhysicalDeviceToolProperties* pToolProperties);
13727#endif
13728
13729
13730// VK_EXT_separate_stencil_usage is a preprocessor guard. Do not pass it to API calls.
13731#define VK_EXT_separate_stencil_usage 1
13732#define VK_EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION 1
13733#define VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME "VK_EXT_separate_stencil_usage"
13735
13736
13737
13738// VK_EXT_validation_features is a preprocessor guard. Do not pass it to API calls.
13739#define VK_EXT_validation_features 1
13740#define VK_EXT_VALIDATION_FEATURES_SPEC_VERSION 5
13741#define VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME "VK_EXT_validation_features"
13742
13751
13765 const void* pNext;
13771
13772
13773
13774// VK_NV_cooperative_matrix is a preprocessor guard. Do not pass it to API calls.
13775#define VK_NV_cooperative_matrix 1
13776#define VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION 1
13777#define VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_NV_cooperative_matrix"
13779
13781
13784 void* pNext;
13785 uint32_t MSize;
13786 uint32_t NSize;
13787 uint32_t KSize;
13794
13797 void* pNext;
13801
13804 void* pNext;
13807
13808typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkCooperativeMatrixPropertiesNV* pProperties);
13809
13810#ifndef VK_NO_PROTOTYPES
13812 VkPhysicalDevice physicalDevice,
13813 uint32_t* pPropertyCount,
13814 VkCooperativeMatrixPropertiesNV* pProperties);
13815#endif
13816
13817
13818// VK_NV_coverage_reduction_mode is a preprocessor guard. Do not pass it to API calls.
13819#define VK_NV_coverage_reduction_mode 1
13820#define VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION 1
13821#define VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME "VK_NV_coverage_reduction_mode"
13822
13831 void* pNext;
13834
13837 const void* pNext;
13841
13844 void* pNext;
13850
13851typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV)(VkPhysicalDevice physicalDevice, uint32_t* pCombinationCount, VkFramebufferMixedSamplesCombinationNV* pCombinations);
13852
13853#ifndef VK_NO_PROTOTYPES
13855 VkPhysicalDevice physicalDevice,
13856 uint32_t* pCombinationCount,
13858#endif
13859
13860
13861// VK_EXT_fragment_shader_interlock is a preprocessor guard. Do not pass it to API calls.
13862#define VK_EXT_fragment_shader_interlock 1
13863#define VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION 1
13864#define VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME "VK_EXT_fragment_shader_interlock"
13867 void* pNext;
13872
13873
13874
13875// VK_EXT_ycbcr_image_arrays is a preprocessor guard. Do not pass it to API calls.
13876#define VK_EXT_ycbcr_image_arrays 1
13877#define VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION 1
13878#define VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME "VK_EXT_ycbcr_image_arrays"
13881 void* pNext;
13884
13885
13886
13887// VK_EXT_provoking_vertex is a preprocessor guard. Do not pass it to API calls.
13888#define VK_EXT_provoking_vertex 1
13889#define VK_EXT_PROVOKING_VERTEX_SPEC_VERSION 1
13890#define VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME "VK_EXT_provoking_vertex"
13891
13899 void* pNext;
13903
13906 void* pNext;
13910
13913 const void* pNext;
13916
13917
13918
13919// VK_EXT_headless_surface is a preprocessor guard. Do not pass it to API calls.
13920#define VK_EXT_headless_surface 1
13921#define VK_EXT_HEADLESS_SURFACE_SPEC_VERSION 1
13922#define VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME "VK_EXT_headless_surface"
13926 const void* pNext;
13929
13930typedef VkResult (VKAPI_PTR *PFN_vkCreateHeadlessSurfaceEXT)(VkInstance instance, const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
13931
13932#ifndef VK_NO_PROTOTYPES
13934 VkInstance instance,
13935 const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo,
13936 const VkAllocationCallbacks* pAllocator,
13937 VkSurfaceKHR* pSurface);
13938#endif
13939
13940
13941// VK_EXT_line_rasterization is a preprocessor guard. Do not pass it to API calls.
13942#define VK_EXT_line_rasterization 1
13943#define VK_EXT_LINE_RASTERIZATION_SPEC_VERSION 1
13944#define VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME "VK_EXT_line_rasterization"
13945
13955 void* pNext;
13963
13966 void* pNext;
13969
13972 const void* pNext;
13978
13979typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleEXT)(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern);
13980
13981#ifndef VK_NO_PROTOTYPES
13983 VkCommandBuffer commandBuffer,
13984 uint32_t lineStippleFactor,
13985 uint16_t lineStipplePattern);
13986#endif
13987
13988
13989// VK_EXT_shader_atomic_float is a preprocessor guard. Do not pass it to API calls.
13990#define VK_EXT_shader_atomic_float 1
13991#define VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION 1
13992#define VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME "VK_EXT_shader_atomic_float"
13995 void* pNext;
14009
14010
14011
14012// VK_EXT_host_query_reset is a preprocessor guard. Do not pass it to API calls.
14013#define VK_EXT_host_query_reset 1
14014#define VK_EXT_HOST_QUERY_RESET_SPEC_VERSION 1
14015#define VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME "VK_EXT_host_query_reset"
14017
14018typedef void (VKAPI_PTR *PFN_vkResetQueryPoolEXT)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount);
14019
14020#ifndef VK_NO_PROTOTYPES
14022 VkDevice device,
14023 VkQueryPool queryPool,
14024 uint32_t firstQuery,
14025 uint32_t queryCount);
14026#endif
14027
14028
14029// VK_EXT_index_type_uint8 is a preprocessor guard. Do not pass it to API calls.
14030#define VK_EXT_index_type_uint8 1
14031#define VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION 1
14032#define VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_EXT_index_type_uint8"
14035 void* pNext;
14038
14039
14040
14041// VK_EXT_extended_dynamic_state is a preprocessor guard. Do not pass it to API calls.
14042#define VK_EXT_extended_dynamic_state 1
14043#define VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION 1
14044#define VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_extended_dynamic_state"
14047 void* pNext;
14050
14051typedef void (VKAPI_PTR *PFN_vkCmdSetCullModeEXT)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode);
14052typedef void (VKAPI_PTR *PFN_vkCmdSetFrontFaceEXT)(VkCommandBuffer commandBuffer, VkFrontFace frontFace);
14053typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveTopologyEXT)(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology);
14054typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWithCountEXT)(VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport* pViewports);
14055typedef void (VKAPI_PTR *PFN_vkCmdSetScissorWithCountEXT)(VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D* pScissors);
14056typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers2EXT)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides);
14057typedef void (VKAPI_PTR *PFN_vkCmdSetDepthTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable);
14058typedef void (VKAPI_PTR *PFN_vkCmdSetDepthWriteEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable);
14059typedef void (VKAPI_PTR *PFN_vkCmdSetDepthCompareOpEXT)(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp);
14060typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBoundsTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable);
14061typedef void (VKAPI_PTR *PFN_vkCmdSetStencilTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable);
14062typedef void (VKAPI_PTR *PFN_vkCmdSetStencilOpEXT)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp);
14063
14064#ifndef VK_NO_PROTOTYPES
14066 VkCommandBuffer commandBuffer,
14067 VkCullModeFlags cullMode);
14068
14070 VkCommandBuffer commandBuffer,
14071 VkFrontFace frontFace);
14072
14074 VkCommandBuffer commandBuffer,
14075 VkPrimitiveTopology primitiveTopology);
14076
14078 VkCommandBuffer commandBuffer,
14079 uint32_t viewportCount,
14080 const VkViewport* pViewports);
14081
14083 VkCommandBuffer commandBuffer,
14084 uint32_t scissorCount,
14085 const VkRect2D* pScissors);
14086
14088 VkCommandBuffer commandBuffer,
14089 uint32_t firstBinding,
14090 uint32_t bindingCount,
14091 const VkBuffer* pBuffers,
14092 const VkDeviceSize* pOffsets,
14093 const VkDeviceSize* pSizes,
14094 const VkDeviceSize* pStrides);
14095
14097 VkCommandBuffer commandBuffer,
14098 VkBool32 depthTestEnable);
14099
14101 VkCommandBuffer commandBuffer,
14102 VkBool32 depthWriteEnable);
14103
14105 VkCommandBuffer commandBuffer,
14106 VkCompareOp depthCompareOp);
14107
14109 VkCommandBuffer commandBuffer,
14110 VkBool32 depthBoundsTestEnable);
14111
14113 VkCommandBuffer commandBuffer,
14114 VkBool32 stencilTestEnable);
14115
14117 VkCommandBuffer commandBuffer,
14118 VkStencilFaceFlags faceMask,
14119 VkStencilOp failOp,
14120 VkStencilOp passOp,
14121 VkStencilOp depthFailOp,
14122 VkCompareOp compareOp);
14123#endif
14124
14125
14126// VK_EXT_host_image_copy is a preprocessor guard. Do not pass it to API calls.
14127#define VK_EXT_host_image_copy 1
14128#define VK_EXT_HOST_IMAGE_COPY_SPEC_VERSION 1
14129#define VK_EXT_HOST_IMAGE_COPY_EXTENSION_NAME "VK_EXT_host_image_copy"
14130
14138 void* pNext;
14141
14144 void* pNext;
14152
14155 const void* pNext;
14156 const void* pHostPointer;
14163
14166 const void* pNext;
14174
14177 const void* pNext;
14179 VkImage dstImage;
14181 uint32_t regionCount;
14184
14187 const void* pNext;
14189 VkImage srcImage;
14191 uint32_t regionCount;
14194
14197 const void* pNext;
14199 VkImage srcImage;
14201 VkImage dstImage;
14203 uint32_t regionCount;
14206
14209 const void* pNext;
14210 VkImage image;
14215
14218 void* pNext;
14221
14224 void* pNext;
14228
14230
14232
14233typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToImageEXT)(VkDevice device, const VkCopyMemoryToImageInfoEXT* pCopyMemoryToImageInfo);
14234typedef VkResult (VKAPI_PTR *PFN_vkCopyImageToMemoryEXT)(VkDevice device, const VkCopyImageToMemoryInfoEXT* pCopyImageToMemoryInfo);
14235typedef VkResult (VKAPI_PTR *PFN_vkCopyImageToImageEXT)(VkDevice device, const VkCopyImageToImageInfoEXT* pCopyImageToImageInfo);
14236typedef VkResult (VKAPI_PTR *PFN_vkTransitionImageLayoutEXT)(VkDevice device, uint32_t transitionCount, const VkHostImageLayoutTransitionInfoEXT* pTransitions);
14237typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout2EXT)(VkDevice device, VkImage image, const VkImageSubresource2KHR* pSubresource, VkSubresourceLayout2KHR* pLayout);
14238
14239#ifndef VK_NO_PROTOTYPES
14241 VkDevice device,
14242 const VkCopyMemoryToImageInfoEXT* pCopyMemoryToImageInfo);
14243
14245 VkDevice device,
14246 const VkCopyImageToMemoryInfoEXT* pCopyImageToMemoryInfo);
14247
14249 VkDevice device,
14250 const VkCopyImageToImageInfoEXT* pCopyImageToImageInfo);
14251
14253 VkDevice device,
14254 uint32_t transitionCount,
14255 const VkHostImageLayoutTransitionInfoEXT* pTransitions);
14256
14258 VkDevice device,
14259 VkImage image,
14260 const VkImageSubresource2KHR* pSubresource,
14261 VkSubresourceLayout2KHR* pLayout);
14262#endif
14263
14264
14265// VK_EXT_shader_atomic_float2 is a preprocessor guard. Do not pass it to API calls.
14266#define VK_EXT_shader_atomic_float2 1
14267#define VK_EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION 1
14268#define VK_EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME "VK_EXT_shader_atomic_float2"
14271 void* pNext;
14285
14286
14287
14288// VK_EXT_surface_maintenance1 is a preprocessor guard. Do not pass it to API calls.
14289#define VK_EXT_surface_maintenance1 1
14290#define VK_EXT_SURFACE_MAINTENANCE_1_SPEC_VERSION 1
14291#define VK_EXT_SURFACE_MAINTENANCE_1_EXTENSION_NAME "VK_EXT_surface_maintenance1"
14292
14300
14310 void* pNext;
14313
14316 void* pNext;
14323
14326 void* pNext;
14330
14331
14332
14333// VK_EXT_swapchain_maintenance1 is a preprocessor guard. Do not pass it to API calls.
14334#define VK_EXT_swapchain_maintenance1 1
14335#define VK_EXT_SWAPCHAIN_MAINTENANCE_1_SPEC_VERSION 1
14336#define VK_EXT_SWAPCHAIN_MAINTENANCE_1_EXTENSION_NAME "VK_EXT_swapchain_maintenance1"
14339 void* pNext;
14342
14345 const void* pNext;
14347 const VkFence* pFences;
14349
14352 const void* pNext;
14356
14359 const void* pNext;
14363
14366 const void* pNext;
14371
14374 const void* pNext;
14375 VkSwapchainKHR swapchain;
14377 const uint32_t* pImageIndices;
14379
14381
14382#ifndef VK_NO_PROTOTYPES
14384 VkDevice device,
14385 const VkReleaseSwapchainImagesInfoEXT* pReleaseInfo);
14386#endif
14387
14388
14389// VK_EXT_shader_demote_to_helper_invocation is a preprocessor guard. Do not pass it to API calls.
14390#define VK_EXT_shader_demote_to_helper_invocation 1
14391#define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION 1
14392#define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME "VK_EXT_shader_demote_to_helper_invocation"
14393typedef