vulkan: Update Vulkan XML and headers to 1.2.140
[mesa.git] / include / vulkan / vulkan_core.h
1 #ifndef VULKAN_CORE_H_
2 #define VULKAN_CORE_H_ 1
3
4 /*
5 ** Copyright (c) 2015-2020 The Khronos Group Inc.
6 **
7 ** Licensed under the Apache License, Version 2.0 (the "License");
8 ** you may not use this file except in compliance with the License.
9 ** You may obtain a copy of the License at
10 **
11 ** http://www.apache.org/licenses/LICENSE-2.0
12 **
13 ** Unless required by applicable law or agreed to in writing, software
14 ** distributed under the License is distributed on an "AS IS" BASIS,
15 ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 ** See the License for the specific language governing permissions and
17 ** limitations under the License.
18 */
19
20 /*
21 ** This header is generated from the Khronos Vulkan XML API Registry.
22 **
23 */
24
25
26 #ifdef __cplusplus
27 extern "C" {
28 #endif
29
30
31
32 #define VK_VERSION_1_0 1
33 #include "vk_platform.h"
34 #define VK_MAKE_VERSION(major, minor, patch) \
35 (((major) << 22) | ((minor) << 12) | (patch))
36
37 // 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.
38 //#define VK_API_VERSION VK_MAKE_VERSION(1, 0, 0) // Patch version should always be set to 0
39
40 // Vulkan 1.0 version number
41 #define VK_API_VERSION_1_0 VK_MAKE_VERSION(1, 0, 0)// Patch version should always be set to 0
42
43 #define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22)
44 #define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3ff)
45 #define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xfff)
46 // Version of this file
47 #define VK_HEADER_VERSION 140
48
49 // Complete version of this file
50 #define VK_HEADER_VERSION_COMPLETE VK_MAKE_VERSION(1, 2, VK_HEADER_VERSION)
51
52
53 #define VK_NULL_HANDLE 0
54
55
56 #define VK_DEFINE_HANDLE(object) typedef struct object##_T* object;
57
58
59 #if !defined(VK_DEFINE_NON_DISPATCHABLE_HANDLE)
60 #if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__)
61 #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object;
62 #else
63 #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t object;
64 #endif
65 #endif
66
67 typedef uint32_t VkFlags;
68 typedef uint32_t VkBool32;
69 typedef uint64_t VkDeviceSize;
70 typedef uint32_t VkSampleMask;
71 VK_DEFINE_HANDLE(VkInstance)
72 VK_DEFINE_HANDLE(VkPhysicalDevice)
73 VK_DEFINE_HANDLE(VkDevice)
74 VK_DEFINE_HANDLE(VkQueue)
75 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphore)
76 VK_DEFINE_HANDLE(VkCommandBuffer)
77 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFence)
78 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeviceMemory)
79 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer)
80 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage)
81 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkEvent)
82 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkQueryPool)
83 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferView)
84 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImageView)
85 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderModule)
86 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache)
87 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineLayout)
88 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass)
89 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipeline)
90 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout)
91 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSampler)
92 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool)
93 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSet)
94 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer)
95 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool)
96 #define VK_LOD_CLAMP_NONE 1000.0f
97 #define VK_REMAINING_MIP_LEVELS (~0U)
98 #define VK_REMAINING_ARRAY_LAYERS (~0U)
99 #define VK_WHOLE_SIZE (~0ULL)
100 #define VK_ATTACHMENT_UNUSED (~0U)
101 #define VK_TRUE 1
102 #define VK_FALSE 0
103 #define VK_QUEUE_FAMILY_IGNORED (~0U)
104 #define VK_SUBPASS_EXTERNAL (~0U)
105 #define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE 256
106 #define VK_UUID_SIZE 16
107 #define VK_MAX_MEMORY_TYPES 32
108 #define VK_MAX_MEMORY_HEAPS 16
109 #define VK_MAX_EXTENSION_NAME_SIZE 256
110 #define VK_MAX_DESCRIPTION_SIZE 256
111
112 typedef enum VkPipelineCacheHeaderVersion {
113 VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1,
114 VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF
115 } VkPipelineCacheHeaderVersion;
116
117 typedef enum VkResult {
118 VK_SUCCESS = 0,
119 VK_NOT_READY = 1,
120 VK_TIMEOUT = 2,
121 VK_EVENT_SET = 3,
122 VK_EVENT_RESET = 4,
123 VK_INCOMPLETE = 5,
124 VK_ERROR_OUT_OF_HOST_MEMORY = -1,
125 VK_ERROR_OUT_OF_DEVICE_MEMORY = -2,
126 VK_ERROR_INITIALIZATION_FAILED = -3,
127 VK_ERROR_DEVICE_LOST = -4,
128 VK_ERROR_MEMORY_MAP_FAILED = -5,
129 VK_ERROR_LAYER_NOT_PRESENT = -6,
130 VK_ERROR_EXTENSION_NOT_PRESENT = -7,
131 VK_ERROR_FEATURE_NOT_PRESENT = -8,
132 VK_ERROR_INCOMPATIBLE_DRIVER = -9,
133 VK_ERROR_TOO_MANY_OBJECTS = -10,
134 VK_ERROR_FORMAT_NOT_SUPPORTED = -11,
135 VK_ERROR_FRAGMENTED_POOL = -12,
136 VK_ERROR_UNKNOWN = -13,
137 VK_ERROR_OUT_OF_POOL_MEMORY = -1000069000,
138 VK_ERROR_INVALID_EXTERNAL_HANDLE = -1000072003,
139 VK_ERROR_FRAGMENTATION = -1000161000,
140 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS = -1000257000,
141 VK_ERROR_SURFACE_LOST_KHR = -1000000000,
142 VK_ERROR_NATIVE_WINDOW_IN_USE_KHR = -1000000001,
143 VK_SUBOPTIMAL_KHR = 1000001003,
144 VK_ERROR_OUT_OF_DATE_KHR = -1000001004,
145 VK_ERROR_INCOMPATIBLE_DISPLAY_KHR = -1000003001,
146 VK_ERROR_VALIDATION_FAILED_EXT = -1000011001,
147 VK_ERROR_INVALID_SHADER_NV = -1000012000,
148 VK_ERROR_INCOMPATIBLE_VERSION_KHR = -1000150000,
149 VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT = -1000158000,
150 VK_ERROR_NOT_PERMITTED_EXT = -1000174001,
151 VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT = -1000255000,
152 VK_THREAD_IDLE_KHR = 1000268000,
153 VK_THREAD_DONE_KHR = 1000268001,
154 VK_OPERATION_DEFERRED_KHR = 1000268002,
155 VK_OPERATION_NOT_DEFERRED_KHR = 1000268003,
156 VK_PIPELINE_COMPILE_REQUIRED_EXT = 1000297000,
157 VK_ERROR_OUT_OF_POOL_MEMORY_KHR = VK_ERROR_OUT_OF_POOL_MEMORY,
158 VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = VK_ERROR_INVALID_EXTERNAL_HANDLE,
159 VK_ERROR_FRAGMENTATION_EXT = VK_ERROR_FRAGMENTATION,
160 VK_ERROR_INVALID_DEVICE_ADDRESS_EXT = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS,
161 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS,
162 VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT = VK_PIPELINE_COMPILE_REQUIRED_EXT,
163 VK_RESULT_MAX_ENUM = 0x7FFFFFFF
164 } VkResult;
165
166 typedef enum VkStructureType {
167 VK_STRUCTURE_TYPE_APPLICATION_INFO = 0,
168 VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = 1,
169 VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO = 2,
170 VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO = 3,
171 VK_STRUCTURE_TYPE_SUBMIT_INFO = 4,
172 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO = 5,
173 VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = 6,
174 VK_STRUCTURE_TYPE_BIND_SPARSE_INFO = 7,
175 VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = 8,
176 VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO = 9,
177 VK_STRUCTURE_TYPE_EVENT_CREATE_INFO = 10,
178 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO = 11,
179 VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = 12,
180 VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO = 13,
181 VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = 14,
182 VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO = 15,
183 VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO = 16,
184 VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO = 17,
185 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO = 18,
186 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO = 19,
187 VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO = 20,
188 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO = 21,
189 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO = 22,
190 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO = 23,
191 VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO = 24,
192 VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO = 25,
193 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO = 26,
194 VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO = 27,
195 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO = 28,
196 VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO = 29,
197 VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO = 30,
198 VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO = 31,
199 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO = 32,
200 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO = 33,
201 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO = 34,
202 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = 35,
203 VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = 36,
204 VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO = 37,
205 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO = 38,
206 VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO = 39,
207 VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO = 40,
208 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO = 41,
209 VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO = 42,
210 VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = 43,
211 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER = 44,
212 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = 45,
213 VK_STRUCTURE_TYPE_MEMORY_BARRIER = 46,
214 VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO = 47,
215 VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO = 48,
216 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES = 1000094000,
217 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO = 1000157000,
218 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO = 1000157001,
219 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES = 1000083000,
220 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS = 1000127000,
221 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO = 1000127001,
222 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO = 1000060000,
223 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO = 1000060003,
224 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO = 1000060004,
225 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO = 1000060005,
226 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO = 1000060006,
227 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO = 1000060013,
228 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO = 1000060014,
229 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES = 1000070000,
230 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO = 1000070001,
231 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 = 1000146000,
232 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 = 1000146001,
233 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 = 1000146002,
234 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 = 1000146003,
235 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 = 1000146004,
236 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 = 1000059000,
237 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 = 1000059001,
238 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 = 1000059002,
239 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 = 1000059003,
240 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 = 1000059004,
241 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 = 1000059005,
242 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 = 1000059006,
243 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 = 1000059007,
244 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 = 1000059008,
245 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES = 1000117000,
246 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO = 1000117001,
247 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO = 1000117002,
248 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO = 1000117003,
249 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO = 1000053000,
250 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES = 1000053001,
251 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES = 1000053002,
252 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES = 1000120000,
253 VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO = 1000145000,
254 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES = 1000145001,
255 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES = 1000145002,
256 VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 = 1000145003,
257 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO = 1000156000,
258 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO = 1000156001,
259 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO = 1000156002,
260 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO = 1000156003,
261 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES = 1000156004,
262 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES = 1000156005,
263 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO = 1000085000,
264 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO = 1000071000,
265 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES = 1000071001,
266 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO = 1000071002,
267 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES = 1000071003,
268 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES = 1000071004,
269 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO = 1000072000,
270 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO = 1000072001,
271 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO = 1000072002,
272 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO = 1000112000,
273 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES = 1000112001,
274 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO = 1000113000,
275 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO = 1000077000,
276 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO = 1000076000,
277 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES = 1000076001,
278 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES = 1000168000,
279 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT = 1000168001,
280 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES = 1000063000,
281 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES = 49,
282 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES = 50,
283 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES = 51,
284 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES = 52,
285 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO = 1000147000,
286 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 = 1000109000,
287 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 = 1000109001,
288 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 = 1000109002,
289 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 = 1000109003,
290 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 = 1000109004,
291 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO = 1000109005,
292 VK_STRUCTURE_TYPE_SUBPASS_END_INFO = 1000109006,
293 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES = 1000177000,
294 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES = 1000196000,
295 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES = 1000180000,
296 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES = 1000082000,
297 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES = 1000197000,
298 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO = 1000161000,
299 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES = 1000161001,
300 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES = 1000161002,
301 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO = 1000161003,
302 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT = 1000161004,
303 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES = 1000199000,
304 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE = 1000199001,
305 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES = 1000221000,
306 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO = 1000246000,
307 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES = 1000130000,
308 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO = 1000130001,
309 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES = 1000211000,
310 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES = 1000108000,
311 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO = 1000108001,
312 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO = 1000108002,
313 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO = 1000108003,
314 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES = 1000253000,
315 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES = 1000175000,
316 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES = 1000241000,
317 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT = 1000241001,
318 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT = 1000241002,
319 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES = 1000261000,
320 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES = 1000207000,
321 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES = 1000207001,
322 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO = 1000207002,
323 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO = 1000207003,
324 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO = 1000207004,
325 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO = 1000207005,
326 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES = 1000257000,
327 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO = 1000244001,
328 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO = 1000257002,
329 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO = 1000257003,
330 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO = 1000257004,
331 VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR = 1000001000,
332 VK_STRUCTURE_TYPE_PRESENT_INFO_KHR = 1000001001,
333 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR = 1000060007,
334 VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR = 1000060008,
335 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR = 1000060009,
336 VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR = 1000060010,
337 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR = 1000060011,
338 VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR = 1000060012,
339 VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR = 1000002000,
340 VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR = 1000002001,
341 VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR = 1000003000,
342 VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR = 1000004000,
343 VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR = 1000005000,
344 VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR = 1000006000,
345 VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR = 1000008000,
346 VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR = 1000009000,
347 VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT = 1000011000,
348 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD = 1000018000,
349 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT = 1000022000,
350 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT = 1000022001,
351 VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT = 1000022002,
352 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000,
353 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001,
354 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV = 1000026002,
355 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT = 1000028000,
356 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT = 1000028001,
357 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT = 1000028002,
358 VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX = 1000030000,
359 VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX = 1000030001,
360 VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000,
361 VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP = 1000049000,
362 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV = 1000050000,
363 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = 1000056000,
364 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV = 1000056001,
365 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057000,
366 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057001,
367 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV = 1000058000,
368 VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT = 1000061000,
369 VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN = 1000062000,
370 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT = 1000066000,
371 VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT = 1000067000,
372 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT = 1000067001,
373 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073000,
374 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073001,
375 VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR = 1000073002,
376 VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR = 1000073003,
377 VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR = 1000074000,
378 VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR = 1000074001,
379 VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR = 1000074002,
380 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR = 1000075000,
381 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078000,
382 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078001,
383 VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR = 1000078002,
384 VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR = 1000078003,
385 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR = 1000079000,
386 VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR = 1000079001,
387 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR = 1000080000,
388 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT = 1000081000,
389 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT = 1000081001,
390 VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT = 1000081002,
391 VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR = 1000084000,
392 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV = 1000087000,
393 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT = 1000090000,
394 VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT = 1000091000,
395 VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT = 1000091001,
396 VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT = 1000091002,
397 VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT = 1000091003,
398 VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE = 1000092000,
399 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX = 1000097000,
400 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV = 1000098000,
401 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT = 1000099000,
402 VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT = 1000099001,
403 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT = 1000101000,
404 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT = 1000101001,
405 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT = 1000102000,
406 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT = 1000102001,
407 VK_STRUCTURE_TYPE_HDR_METADATA_EXT = 1000105000,
408 VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR = 1000111000,
409 VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114000,
410 VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114001,
411 VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR = 1000114002,
412 VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR = 1000115000,
413 VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR = 1000115001,
414 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR = 1000116000,
415 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR = 1000116001,
416 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR = 1000116002,
417 VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR = 1000116003,
418 VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR = 1000116004,
419 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR = 1000116005,
420 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR = 1000116006,
421 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR = 1000119000,
422 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR = 1000119001,
423 VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR = 1000119002,
424 VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR = 1000121000,
425 VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR = 1000121001,
426 VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR = 1000121002,
427 VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR = 1000121003,
428 VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR = 1000121004,
429 VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK = 1000122000,
430 VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK = 1000123000,
431 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT = 1000128000,
432 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT = 1000128001,
433 VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT = 1000128002,
434 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT = 1000128003,
435 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT = 1000128004,
436 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID = 1000129000,
437 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID = 1000129001,
438 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID = 1000129002,
439 VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129003,
440 VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129004,
441 VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID = 1000129005,
442 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT = 1000138000,
443 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT = 1000138001,
444 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT = 1000138002,
445 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT = 1000138003,
446 VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT = 1000143000,
447 VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT = 1000143001,
448 VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT = 1000143002,
449 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT = 1000143003,
450 VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT = 1000143004,
451 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT = 1000148000,
452 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT = 1000148001,
453 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT = 1000148002,
454 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV = 1000149000,
455 VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_KHR = 1000165006,
456 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR = 1000165007,
457 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR = 1000150000,
458 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_GEOMETRY_TYPE_INFO_KHR = 1000150001,
459 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR = 1000150002,
460 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR = 1000150003,
461 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR = 1000150004,
462 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR = 1000150005,
463 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR = 1000150006,
464 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_KHR = 1000150008,
465 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_KHR = 1000150009,
466 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR = 1000150010,
467 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR = 1000150011,
468 VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR = 1000150012,
469 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_FEATURES_KHR = 1000150013,
470 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_KHR = 1000150014,
471 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR = 1000150015,
472 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR = 1000150016,
473 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR = 1000150017,
474 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR = 1000150018,
475 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV = 1000152000,
476 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV = 1000154000,
477 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV = 1000154001,
478 VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT = 1000158000,
479 VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT = 1000158001,
480 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT = 1000158002,
481 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT = 1000158003,
482 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT = 1000158004,
483 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT = 1000158005,
484 VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160000,
485 VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160001,
486 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV = 1000164000,
487 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV = 1000164001,
488 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV = 1000164002,
489 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV = 1000164005,
490 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV = 1000165000,
491 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV = 1000165001,
492 VK_STRUCTURE_TYPE_GEOMETRY_NV = 1000165003,
493 VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV = 1000165004,
494 VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV = 1000165005,
495 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV = 1000165008,
496 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV = 1000165009,
497 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV = 1000165011,
498 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV = 1000165012,
499 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV = 1000166000,
500 VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV = 1000166001,
501 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT = 1000170000,
502 VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT = 1000170001,
503 VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = 1000174000,
504 VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT = 1000178000,
505 VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT = 1000178001,
506 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT = 1000178002,
507 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR = 1000181000,
508 VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD = 1000183000,
509 VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT = 1000184000,
510 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD = 1000185000,
511 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD = 1000189000,
512 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT = 1000190000,
513 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT = 1000190001,
514 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT = 1000190002,
515 VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP = 1000191000,
516 VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT = 1000192000,
517 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV = 1000201000,
518 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV = 1000202000,
519 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV = 1000202001,
520 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV = 1000203000,
521 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV = 1000204000,
522 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV = 1000205000,
523 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV = 1000205002,
524 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV = 1000206000,
525 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV = 1000206001,
526 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL = 1000209000,
527 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL = 1000210000,
528 VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL = 1000210001,
529 VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL = 1000210002,
530 VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL = 1000210003,
531 VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL = 1000210004,
532 VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL = 1000210005,
533 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT = 1000212000,
534 VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD = 1000213000,
535 VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD = 1000213001,
536 VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA = 1000214000,
537 VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT = 1000217000,
538 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT = 1000218000,
539 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT = 1000218001,
540 VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT = 1000218002,
541 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT = 1000225000,
542 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = 1000225001,
543 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT = 1000225002,
544 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD = 1000227000,
545 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD = 1000229000,
546 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT = 1000237000,
547 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT = 1000238000,
548 VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT = 1000238001,
549 VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR = 1000239000,
550 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV = 1000240000,
551 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT = 1000244000,
552 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT = 1000244002,
553 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT = 1000245000,
554 VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT = 1000247000,
555 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV = 1000249000,
556 VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249001,
557 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249002,
558 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV = 1000250000,
559 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV = 1000250001,
560 VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV = 1000250002,
561 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT = 1000251000,
562 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT = 1000252000,
563 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT = 1000255000,
564 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT = 1000255002,
565 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT = 1000255001,
566 VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT = 1000256000,
567 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT = 1000259000,
568 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT = 1000259001,
569 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT = 1000259002,
570 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT = 1000265000,
571 VK_STRUCTURE_TYPE_DEFERRED_OPERATION_INFO_KHR = 1000268000,
572 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR = 1000269000,
573 VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR = 1000269001,
574 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR = 1000269002,
575 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR = 1000269003,
576 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR = 1000269004,
577 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR = 1000269005,
578 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = 1000276000,
579 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV = 1000277000,
580 VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV = 1000277001,
581 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV = 1000277002,
582 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV = 1000277003,
583 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV = 1000277004,
584 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV = 1000277005,
585 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV = 1000277006,
586 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV = 1000277007,
587 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT = 1000281000,
588 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT = 1000281001,
589 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM = 1000282000,
590 VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM = 1000282001,
591 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT = 1000286000,
592 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT = 1000286001,
593 VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT = 1000287000,
594 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT = 1000287001,
595 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT = 1000287002,
596 VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR = 1000290000,
597 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT = 1000295000,
598 VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT = 1000295001,
599 VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT = 1000295002,
600 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT = 1000297000,
601 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV = 1000300000,
602 VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV = 1000300001,
603 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
604 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
605 VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
606 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO,
607 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES,
608 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,
609 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2,
610 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2,
611 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2,
612 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2,
613 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2,
614 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2,
615 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2,
616 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2,
617 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2,
618 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO,
619 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO,
620 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO,
621 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO,
622 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO,
623 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO,
624 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO,
625 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES,
626 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO,
627 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO,
628 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES,
629 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO,
630 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES,
631 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES,
632 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO,
633 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO,
634 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO,
635 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO,
636 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES,
637 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO,
638 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
639 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
640 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES,
641 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO,
642 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT,
643 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES,
644 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO,
645 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO,
646 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO,
647 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2,
648 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2,
649 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2,
650 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2,
651 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2,
652 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO,
653 VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_END_INFO,
654 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO,
655 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES,
656 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO,
657 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES,
658 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO,
659 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO,
660 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO,
661 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
662 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR,
663 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS,
664 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO,
665 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES,
666 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO,
667 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2,
668 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2,
669 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2,
670 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2,
671 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2,
672 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO,
673 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO,
674 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO,
675 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO,
676 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO,
677 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,
678 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,
679 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO,
680 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO,
681 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO,
682 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES,
683 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES,
684 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO,
685 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT,
686 VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV = VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_KHR,
687 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR,
688 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,
689 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT,
690 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES,
691 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES,
692 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES,
693 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES,
694 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES,
695 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES,
696 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE,
697 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES,
698 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES,
699 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO,
700 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO,
701 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO,
702 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO,
703 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL = VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL,
704 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES,
705 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES,
706 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES,
707 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT,
708 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT,
709 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT,
710 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
711 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO,
712 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES,
713 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES,
714 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
715 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO,
716 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO,
717 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO,
718 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES,
719 VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF
720 } VkStructureType;
721
722 typedef enum VkSystemAllocationScope {
723 VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0,
724 VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1,
725 VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2,
726 VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3,
727 VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4,
728 VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = 0x7FFFFFFF
729 } VkSystemAllocationScope;
730
731 typedef enum VkInternalAllocationType {
732 VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0,
733 VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM = 0x7FFFFFFF
734 } VkInternalAllocationType;
735
736 typedef enum VkFormat {
737 VK_FORMAT_UNDEFINED = 0,
738 VK_FORMAT_R4G4_UNORM_PACK8 = 1,
739 VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2,
740 VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3,
741 VK_FORMAT_R5G6B5_UNORM_PACK16 = 4,
742 VK_FORMAT_B5G6R5_UNORM_PACK16 = 5,
743 VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6,
744 VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7,
745 VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8,
746 VK_FORMAT_R8_UNORM = 9,
747 VK_FORMAT_R8_SNORM = 10,
748 VK_FORMAT_R8_USCALED = 11,
749 VK_FORMAT_R8_SSCALED = 12,
750 VK_FORMAT_R8_UINT = 13,
751 VK_FORMAT_R8_SINT = 14,
752 VK_FORMAT_R8_SRGB = 15,
753 VK_FORMAT_R8G8_UNORM = 16,
754 VK_FORMAT_R8G8_SNORM = 17,
755 VK_FORMAT_R8G8_USCALED = 18,
756 VK_FORMAT_R8G8_SSCALED = 19,
757 VK_FORMAT_R8G8_UINT = 20,
758 VK_FORMAT_R8G8_SINT = 21,
759 VK_FORMAT_R8G8_SRGB = 22,
760 VK_FORMAT_R8G8B8_UNORM = 23,
761 VK_FORMAT_R8G8B8_SNORM = 24,
762 VK_FORMAT_R8G8B8_USCALED = 25,
763 VK_FORMAT_R8G8B8_SSCALED = 26,
764 VK_FORMAT_R8G8B8_UINT = 27,
765 VK_FORMAT_R8G8B8_SINT = 28,
766 VK_FORMAT_R8G8B8_SRGB = 29,
767 VK_FORMAT_B8G8R8_UNORM = 30,
768 VK_FORMAT_B8G8R8_SNORM = 31,
769 VK_FORMAT_B8G8R8_USCALED = 32,
770 VK_FORMAT_B8G8R8_SSCALED = 33,
771 VK_FORMAT_B8G8R8_UINT = 34,
772 VK_FORMAT_B8G8R8_SINT = 35,
773 VK_FORMAT_B8G8R8_SRGB = 36,
774 VK_FORMAT_R8G8B8A8_UNORM = 37,
775 VK_FORMAT_R8G8B8A8_SNORM = 38,
776 VK_FORMAT_R8G8B8A8_USCALED = 39,
777 VK_FORMAT_R8G8B8A8_SSCALED = 40,
778 VK_FORMAT_R8G8B8A8_UINT = 41,
779 VK_FORMAT_R8G8B8A8_SINT = 42,
780 VK_FORMAT_R8G8B8A8_SRGB = 43,
781 VK_FORMAT_B8G8R8A8_UNORM = 44,
782 VK_FORMAT_B8G8R8A8_SNORM = 45,
783 VK_FORMAT_B8G8R8A8_USCALED = 46,
784 VK_FORMAT_B8G8R8A8_SSCALED = 47,
785 VK_FORMAT_B8G8R8A8_UINT = 48,
786 VK_FORMAT_B8G8R8A8_SINT = 49,
787 VK_FORMAT_B8G8R8A8_SRGB = 50,
788 VK_FORMAT_A8B8G8R8_UNORM_PACK32 = 51,
789 VK_FORMAT_A8B8G8R8_SNORM_PACK32 = 52,
790 VK_FORMAT_A8B8G8R8_USCALED_PACK32 = 53,
791 VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54,
792 VK_FORMAT_A8B8G8R8_UINT_PACK32 = 55,
793 VK_FORMAT_A8B8G8R8_SINT_PACK32 = 56,
794 VK_FORMAT_A8B8G8R8_SRGB_PACK32 = 57,
795 VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58,
796 VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59,
797 VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 60,
798 VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61,
799 VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62,
800 VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63,
801 VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64,
802 VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65,
803 VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 66,
804 VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67,
805 VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68,
806 VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69,
807 VK_FORMAT_R16_UNORM = 70,
808 VK_FORMAT_R16_SNORM = 71,
809 VK_FORMAT_R16_USCALED = 72,
810 VK_FORMAT_R16_SSCALED = 73,
811 VK_FORMAT_R16_UINT = 74,
812 VK_FORMAT_R16_SINT = 75,
813 VK_FORMAT_R16_SFLOAT = 76,
814 VK_FORMAT_R16G16_UNORM = 77,
815 VK_FORMAT_R16G16_SNORM = 78,
816 VK_FORMAT_R16G16_USCALED = 79,
817 VK_FORMAT_R16G16_SSCALED = 80,
818 VK_FORMAT_R16G16_UINT = 81,
819 VK_FORMAT_R16G16_SINT = 82,
820 VK_FORMAT_R16G16_SFLOAT = 83,
821 VK_FORMAT_R16G16B16_UNORM = 84,
822 VK_FORMAT_R16G16B16_SNORM = 85,
823 VK_FORMAT_R16G16B16_USCALED = 86,
824 VK_FORMAT_R16G16B16_SSCALED = 87,
825 VK_FORMAT_R16G16B16_UINT = 88,
826 VK_FORMAT_R16G16B16_SINT = 89,
827 VK_FORMAT_R16G16B16_SFLOAT = 90,
828 VK_FORMAT_R16G16B16A16_UNORM = 91,
829 VK_FORMAT_R16G16B16A16_SNORM = 92,
830 VK_FORMAT_R16G16B16A16_USCALED = 93,
831 VK_FORMAT_R16G16B16A16_SSCALED = 94,
832 VK_FORMAT_R16G16B16A16_UINT = 95,
833 VK_FORMAT_R16G16B16A16_SINT = 96,
834 VK_FORMAT_R16G16B16A16_SFLOAT = 97,
835 VK_FORMAT_R32_UINT = 98,
836 VK_FORMAT_R32_SINT = 99,
837 VK_FORMAT_R32_SFLOAT = 100,
838 VK_FORMAT_R32G32_UINT = 101,
839 VK_FORMAT_R32G32_SINT = 102,
840 VK_FORMAT_R32G32_SFLOAT = 103,
841 VK_FORMAT_R32G32B32_UINT = 104,
842 VK_FORMAT_R32G32B32_SINT = 105,
843 VK_FORMAT_R32G32B32_SFLOAT = 106,
844 VK_FORMAT_R32G32B32A32_UINT = 107,
845 VK_FORMAT_R32G32B32A32_SINT = 108,
846 VK_FORMAT_R32G32B32A32_SFLOAT = 109,
847 VK_FORMAT_R64_UINT = 110,
848 VK_FORMAT_R64_SINT = 111,
849 VK_FORMAT_R64_SFLOAT = 112,
850 VK_FORMAT_R64G64_UINT = 113,
851 VK_FORMAT_R64G64_SINT = 114,
852 VK_FORMAT_R64G64_SFLOAT = 115,
853 VK_FORMAT_R64G64B64_UINT = 116,
854 VK_FORMAT_R64G64B64_SINT = 117,
855 VK_FORMAT_R64G64B64_SFLOAT = 118,
856 VK_FORMAT_R64G64B64A64_UINT = 119,
857 VK_FORMAT_R64G64B64A64_SINT = 120,
858 VK_FORMAT_R64G64B64A64_SFLOAT = 121,
859 VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122,
860 VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123,
861 VK_FORMAT_D16_UNORM = 124,
862 VK_FORMAT_X8_D24_UNORM_PACK32 = 125,
863 VK_FORMAT_D32_SFLOAT = 126,
864 VK_FORMAT_S8_UINT = 127,
865 VK_FORMAT_D16_UNORM_S8_UINT = 128,
866 VK_FORMAT_D24_UNORM_S8_UINT = 129,
867 VK_FORMAT_D32_SFLOAT_S8_UINT = 130,
868 VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131,
869 VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132,
870 VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133,
871 VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134,
872 VK_FORMAT_BC2_UNORM_BLOCK = 135,
873 VK_FORMAT_BC2_SRGB_BLOCK = 136,
874 VK_FORMAT_BC3_UNORM_BLOCK = 137,
875 VK_FORMAT_BC3_SRGB_BLOCK = 138,
876 VK_FORMAT_BC4_UNORM_BLOCK = 139,
877 VK_FORMAT_BC4_SNORM_BLOCK = 140,
878 VK_FORMAT_BC5_UNORM_BLOCK = 141,
879 VK_FORMAT_BC5_SNORM_BLOCK = 142,
880 VK_FORMAT_BC6H_UFLOAT_BLOCK = 143,
881 VK_FORMAT_BC6H_SFLOAT_BLOCK = 144,
882 VK_FORMAT_BC7_UNORM_BLOCK = 145,
883 VK_FORMAT_BC7_SRGB_BLOCK = 146,
884 VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147,
885 VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148,
886 VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149,
887 VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150,
888 VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151,
889 VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152,
890 VK_FORMAT_EAC_R11_UNORM_BLOCK = 153,
891 VK_FORMAT_EAC_R11_SNORM_BLOCK = 154,
892 VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155,
893 VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156,
894 VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157,
895 VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158,
896 VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159,
897 VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160,
898 VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161,
899 VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162,
900 VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163,
901 VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164,
902 VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165,
903 VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166,
904 VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167,
905 VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168,
906 VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169,
907 VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170,
908 VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171,
909 VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172,
910 VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173,
911 VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174,
912 VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175,
913 VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176,
914 VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177,
915 VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178,
916 VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179,
917 VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180,
918 VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181,
919 VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182,
920 VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183,
921 VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184,
922 VK_FORMAT_G8B8G8R8_422_UNORM = 1000156000,
923 VK_FORMAT_B8G8R8G8_422_UNORM = 1000156001,
924 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM = 1000156002,
925 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM = 1000156003,
926 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM = 1000156004,
927 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM = 1000156005,
928 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM = 1000156006,
929 VK_FORMAT_R10X6_UNORM_PACK16 = 1000156007,
930 VK_FORMAT_R10X6G10X6_UNORM_2PACK16 = 1000156008,
931 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 1000156009,
932 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 1000156010,
933 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 1000156011,
934 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 1000156012,
935 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 1000156013,
936 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 1000156014,
937 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 1000156015,
938 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 1000156016,
939 VK_FORMAT_R12X4_UNORM_PACK16 = 1000156017,
940 VK_FORMAT_R12X4G12X4_UNORM_2PACK16 = 1000156018,
941 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 1000156019,
942 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 1000156020,
943 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 1000156021,
944 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 1000156022,
945 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 1000156023,
946 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 1000156024,
947 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 1000156025,
948 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 1000156026,
949 VK_FORMAT_G16B16G16R16_422_UNORM = 1000156027,
950 VK_FORMAT_B16G16R16G16_422_UNORM = 1000156028,
951 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM = 1000156029,
952 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM = 1000156030,
953 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM = 1000156031,
954 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM = 1000156032,
955 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM = 1000156033,
956 VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG = 1000054000,
957 VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001,
958 VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = 1000054002,
959 VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG = 1000054003,
960 VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG = 1000054004,
961 VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005,
962 VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006,
963 VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007,
964 VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT = 1000066000,
965 VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT = 1000066001,
966 VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT = 1000066002,
967 VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT = 1000066003,
968 VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT = 1000066004,
969 VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT = 1000066005,
970 VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT = 1000066006,
971 VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT = 1000066007,
972 VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT = 1000066008,
973 VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT = 1000066009,
974 VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT = 1000066010,
975 VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT = 1000066011,
976 VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT = 1000066012,
977 VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT = 1000066013,
978 VK_FORMAT_G8B8G8R8_422_UNORM_KHR = VK_FORMAT_G8B8G8R8_422_UNORM,
979 VK_FORMAT_B8G8R8G8_422_UNORM_KHR = VK_FORMAT_B8G8R8G8_422_UNORM,
980 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM,
981 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM,
982 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM,
983 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM,
984 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM,
985 VK_FORMAT_R10X6_UNORM_PACK16_KHR = VK_FORMAT_R10X6_UNORM_PACK16,
986 VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR = VK_FORMAT_R10X6G10X6_UNORM_2PACK16,
987 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16,
988 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16,
989 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16,
990 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16,
991 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16,
992 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16,
993 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16,
994 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16,
995 VK_FORMAT_R12X4_UNORM_PACK16_KHR = VK_FORMAT_R12X4_UNORM_PACK16,
996 VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR = VK_FORMAT_R12X4G12X4_UNORM_2PACK16,
997 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16,
998 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16,
999 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16,
1000 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16,
1001 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16,
1002 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16,
1003 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16,
1004 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16,
1005 VK_FORMAT_G16B16G16R16_422_UNORM_KHR = VK_FORMAT_G16B16G16R16_422_UNORM,
1006 VK_FORMAT_B16G16R16G16_422_UNORM_KHR = VK_FORMAT_B16G16R16G16_422_UNORM,
1007 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM,
1008 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM,
1009 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM,
1010 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM,
1011 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM,
1012 VK_FORMAT_MAX_ENUM = 0x7FFFFFFF
1013 } VkFormat;
1014
1015 typedef enum VkImageType {
1016 VK_IMAGE_TYPE_1D = 0,
1017 VK_IMAGE_TYPE_2D = 1,
1018 VK_IMAGE_TYPE_3D = 2,
1019 VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF
1020 } VkImageType;
1021
1022 typedef enum VkImageTiling {
1023 VK_IMAGE_TILING_OPTIMAL = 0,
1024 VK_IMAGE_TILING_LINEAR = 1,
1025 VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT = 1000158000,
1026 VK_IMAGE_TILING_MAX_ENUM = 0x7FFFFFFF
1027 } VkImageTiling;
1028
1029 typedef enum VkPhysicalDeviceType {
1030 VK_PHYSICAL_DEVICE_TYPE_OTHER = 0,
1031 VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1,
1032 VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2,
1033 VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3,
1034 VK_PHYSICAL_DEVICE_TYPE_CPU = 4,
1035 VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM = 0x7FFFFFFF
1036 } VkPhysicalDeviceType;
1037
1038 typedef enum VkQueryType {
1039 VK_QUERY_TYPE_OCCLUSION = 0,
1040 VK_QUERY_TYPE_PIPELINE_STATISTICS = 1,
1041 VK_QUERY_TYPE_TIMESTAMP = 2,
1042 VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT = 1000028004,
1043 VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR = 1000116000,
1044 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR = 1000165000,
1045 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR = 1000150000,
1046 VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL = 1000210000,
1047 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV = VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR,
1048 VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF
1049 } VkQueryType;
1050
1051 typedef enum VkSharingMode {
1052 VK_SHARING_MODE_EXCLUSIVE = 0,
1053 VK_SHARING_MODE_CONCURRENT = 1,
1054 VK_SHARING_MODE_MAX_ENUM = 0x7FFFFFFF
1055 } VkSharingMode;
1056
1057 typedef enum VkImageLayout {
1058 VK_IMAGE_LAYOUT_UNDEFINED = 0,
1059 VK_IMAGE_LAYOUT_GENERAL = 1,
1060 VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2,
1061 VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3,
1062 VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4,
1063 VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5,
1064 VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6,
1065 VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7,
1066 VK_IMAGE_LAYOUT_PREINITIALIZED = 8,
1067 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL = 1000117000,
1068 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL = 1000117001,
1069 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL = 1000241000,
1070 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL = 1000241001,
1071 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL = 1000241002,
1072 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL = 1000241003,
1073 VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002,
1074 VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR = 1000111000,
1075 VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = 1000164003,
1076 VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000,
1077 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,
1078 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,
1079 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
1080 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
1081 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL,
1082 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL,
1083 VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF
1084 } VkImageLayout;
1085
1086 typedef enum VkImageViewType {
1087 VK_IMAGE_VIEW_TYPE_1D = 0,
1088 VK_IMAGE_VIEW_TYPE_2D = 1,
1089 VK_IMAGE_VIEW_TYPE_3D = 2,
1090 VK_IMAGE_VIEW_TYPE_CUBE = 3,
1091 VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4,
1092 VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5,
1093 VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6,
1094 VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7FFFFFFF
1095 } VkImageViewType;
1096
1097 typedef enum VkComponentSwizzle {
1098 VK_COMPONENT_SWIZZLE_IDENTITY = 0,
1099 VK_COMPONENT_SWIZZLE_ZERO = 1,
1100 VK_COMPONENT_SWIZZLE_ONE = 2,
1101 VK_COMPONENT_SWIZZLE_R = 3,
1102 VK_COMPONENT_SWIZZLE_G = 4,
1103 VK_COMPONENT_SWIZZLE_B = 5,
1104 VK_COMPONENT_SWIZZLE_A = 6,
1105 VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF
1106 } VkComponentSwizzle;
1107
1108 typedef enum VkVertexInputRate {
1109 VK_VERTEX_INPUT_RATE_VERTEX = 0,
1110 VK_VERTEX_INPUT_RATE_INSTANCE = 1,
1111 VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF
1112 } VkVertexInputRate;
1113
1114 typedef enum VkPrimitiveTopology {
1115 VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0,
1116 VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1,
1117 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2,
1118 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3,
1119 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4,
1120 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5,
1121 VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6,
1122 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7,
1123 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8,
1124 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9,
1125 VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10,
1126 VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7FFFFFFF
1127 } VkPrimitiveTopology;
1128
1129 typedef enum VkPolygonMode {
1130 VK_POLYGON_MODE_FILL = 0,
1131 VK_POLYGON_MODE_LINE = 1,
1132 VK_POLYGON_MODE_POINT = 2,
1133 VK_POLYGON_MODE_FILL_RECTANGLE_NV = 1000153000,
1134 VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF
1135 } VkPolygonMode;
1136
1137 typedef enum VkFrontFace {
1138 VK_FRONT_FACE_COUNTER_CLOCKWISE = 0,
1139 VK_FRONT_FACE_CLOCKWISE = 1,
1140 VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF
1141 } VkFrontFace;
1142
1143 typedef enum VkCompareOp {
1144 VK_COMPARE_OP_NEVER = 0,
1145 VK_COMPARE_OP_LESS = 1,
1146 VK_COMPARE_OP_EQUAL = 2,
1147 VK_COMPARE_OP_LESS_OR_EQUAL = 3,
1148 VK_COMPARE_OP_GREATER = 4,
1149 VK_COMPARE_OP_NOT_EQUAL = 5,
1150 VK_COMPARE_OP_GREATER_OR_EQUAL = 6,
1151 VK_COMPARE_OP_ALWAYS = 7,
1152 VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF
1153 } VkCompareOp;
1154
1155 typedef enum VkStencilOp {
1156 VK_STENCIL_OP_KEEP = 0,
1157 VK_STENCIL_OP_ZERO = 1,
1158 VK_STENCIL_OP_REPLACE = 2,
1159 VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3,
1160 VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4,
1161 VK_STENCIL_OP_INVERT = 5,
1162 VK_STENCIL_OP_INCREMENT_AND_WRAP = 6,
1163 VK_STENCIL_OP_DECREMENT_AND_WRAP = 7,
1164 VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF
1165 } VkStencilOp;
1166
1167 typedef enum VkLogicOp {
1168 VK_LOGIC_OP_CLEAR = 0,
1169 VK_LOGIC_OP_AND = 1,
1170 VK_LOGIC_OP_AND_REVERSE = 2,
1171 VK_LOGIC_OP_COPY = 3,
1172 VK_LOGIC_OP_AND_INVERTED = 4,
1173 VK_LOGIC_OP_NO_OP = 5,
1174 VK_LOGIC_OP_XOR = 6,
1175 VK_LOGIC_OP_OR = 7,
1176 VK_LOGIC_OP_NOR = 8,
1177 VK_LOGIC_OP_EQUIVALENT = 9,
1178 VK_LOGIC_OP_INVERT = 10,
1179 VK_LOGIC_OP_OR_REVERSE = 11,
1180 VK_LOGIC_OP_COPY_INVERTED = 12,
1181 VK_LOGIC_OP_OR_INVERTED = 13,
1182 VK_LOGIC_OP_NAND = 14,
1183 VK_LOGIC_OP_SET = 15,
1184 VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF
1185 } VkLogicOp;
1186
1187 typedef enum VkBlendFactor {
1188 VK_BLEND_FACTOR_ZERO = 0,
1189 VK_BLEND_FACTOR_ONE = 1,
1190 VK_BLEND_FACTOR_SRC_COLOR = 2,
1191 VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3,
1192 VK_BLEND_FACTOR_DST_COLOR = 4,
1193 VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5,
1194 VK_BLEND_FACTOR_SRC_ALPHA = 6,
1195 VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7,
1196 VK_BLEND_FACTOR_DST_ALPHA = 8,
1197 VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9,
1198 VK_BLEND_FACTOR_CONSTANT_COLOR = 10,
1199 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11,
1200 VK_BLEND_FACTOR_CONSTANT_ALPHA = 12,
1201 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13,
1202 VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14,
1203 VK_BLEND_FACTOR_SRC1_COLOR = 15,
1204 VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16,
1205 VK_BLEND_FACTOR_SRC1_ALPHA = 17,
1206 VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18,
1207 VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF
1208 } VkBlendFactor;
1209
1210 typedef enum VkBlendOp {
1211 VK_BLEND_OP_ADD = 0,
1212 VK_BLEND_OP_SUBTRACT = 1,
1213 VK_BLEND_OP_REVERSE_SUBTRACT = 2,
1214 VK_BLEND_OP_MIN = 3,
1215 VK_BLEND_OP_MAX = 4,
1216 VK_BLEND_OP_ZERO_EXT = 1000148000,
1217 VK_BLEND_OP_SRC_EXT = 1000148001,
1218 VK_BLEND_OP_DST_EXT = 1000148002,
1219 VK_BLEND_OP_SRC_OVER_EXT = 1000148003,
1220 VK_BLEND_OP_DST_OVER_EXT = 1000148004,
1221 VK_BLEND_OP_SRC_IN_EXT = 1000148005,
1222 VK_BLEND_OP_DST_IN_EXT = 1000148006,
1223 VK_BLEND_OP_SRC_OUT_EXT = 1000148007,
1224 VK_BLEND_OP_DST_OUT_EXT = 1000148008,
1225 VK_BLEND_OP_SRC_ATOP_EXT = 1000148009,
1226 VK_BLEND_OP_DST_ATOP_EXT = 1000148010,
1227 VK_BLEND_OP_XOR_EXT = 1000148011,
1228 VK_BLEND_OP_MULTIPLY_EXT = 1000148012,
1229 VK_BLEND_OP_SCREEN_EXT = 1000148013,
1230 VK_BLEND_OP_OVERLAY_EXT = 1000148014,
1231 VK_BLEND_OP_DARKEN_EXT = 1000148015,
1232 VK_BLEND_OP_LIGHTEN_EXT = 1000148016,
1233 VK_BLEND_OP_COLORDODGE_EXT = 1000148017,
1234 VK_BLEND_OP_COLORBURN_EXT = 1000148018,
1235 VK_BLEND_OP_HARDLIGHT_EXT = 1000148019,
1236 VK_BLEND_OP_SOFTLIGHT_EXT = 1000148020,
1237 VK_BLEND_OP_DIFFERENCE_EXT = 1000148021,
1238 VK_BLEND_OP_EXCLUSION_EXT = 1000148022,
1239 VK_BLEND_OP_INVERT_EXT = 1000148023,
1240 VK_BLEND_OP_INVERT_RGB_EXT = 1000148024,
1241 VK_BLEND_OP_LINEARDODGE_EXT = 1000148025,
1242 VK_BLEND_OP_LINEARBURN_EXT = 1000148026,
1243 VK_BLEND_OP_VIVIDLIGHT_EXT = 1000148027,
1244 VK_BLEND_OP_LINEARLIGHT_EXT = 1000148028,
1245 VK_BLEND_OP_PINLIGHT_EXT = 1000148029,
1246 VK_BLEND_OP_HARDMIX_EXT = 1000148030,
1247 VK_BLEND_OP_HSL_HUE_EXT = 1000148031,
1248 VK_BLEND_OP_HSL_SATURATION_EXT = 1000148032,
1249 VK_BLEND_OP_HSL_COLOR_EXT = 1000148033,
1250 VK_BLEND_OP_HSL_LUMINOSITY_EXT = 1000148034,
1251 VK_BLEND_OP_PLUS_EXT = 1000148035,
1252 VK_BLEND_OP_PLUS_CLAMPED_EXT = 1000148036,
1253 VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT = 1000148037,
1254 VK_BLEND_OP_PLUS_DARKER_EXT = 1000148038,
1255 VK_BLEND_OP_MINUS_EXT = 1000148039,
1256 VK_BLEND_OP_MINUS_CLAMPED_EXT = 1000148040,
1257 VK_BLEND_OP_CONTRAST_EXT = 1000148041,
1258 VK_BLEND_OP_INVERT_OVG_EXT = 1000148042,
1259 VK_BLEND_OP_RED_EXT = 1000148043,
1260 VK_BLEND_OP_GREEN_EXT = 1000148044,
1261 VK_BLEND_OP_BLUE_EXT = 1000148045,
1262 VK_BLEND_OP_MAX_ENUM = 0x7FFFFFFF
1263 } VkBlendOp;
1264
1265 typedef enum VkDynamicState {
1266 VK_DYNAMIC_STATE_VIEWPORT = 0,
1267 VK_DYNAMIC_STATE_SCISSOR = 1,
1268 VK_DYNAMIC_STATE_LINE_WIDTH = 2,
1269 VK_DYNAMIC_STATE_DEPTH_BIAS = 3,
1270 VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4,
1271 VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5,
1272 VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6,
1273 VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7,
1274 VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8,
1275 VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV = 1000087000,
1276 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000,
1277 VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT = 1000143000,
1278 VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV = 1000164004,
1279 VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV = 1000164006,
1280 VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV = 1000205001,
1281 VK_DYNAMIC_STATE_LINE_STIPPLE_EXT = 1000259000,
1282 VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF
1283 } VkDynamicState;
1284
1285 typedef enum VkFilter {
1286 VK_FILTER_NEAREST = 0,
1287 VK_FILTER_LINEAR = 1,
1288 VK_FILTER_CUBIC_IMG = 1000015000,
1289 VK_FILTER_CUBIC_EXT = VK_FILTER_CUBIC_IMG,
1290 VK_FILTER_MAX_ENUM = 0x7FFFFFFF
1291 } VkFilter;
1292
1293 typedef enum VkSamplerMipmapMode {
1294 VK_SAMPLER_MIPMAP_MODE_NEAREST = 0,
1295 VK_SAMPLER_MIPMAP_MODE_LINEAR = 1,
1296 VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF
1297 } VkSamplerMipmapMode;
1298
1299 typedef enum VkSamplerAddressMode {
1300 VK_SAMPLER_ADDRESS_MODE_REPEAT = 0,
1301 VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1,
1302 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2,
1303 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3,
1304 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4,
1305 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE,
1306 VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = 0x7FFFFFFF
1307 } VkSamplerAddressMode;
1308
1309 typedef enum VkBorderColor {
1310 VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0,
1311 VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1,
1312 VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2,
1313 VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3,
1314 VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4,
1315 VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5,
1316 VK_BORDER_COLOR_FLOAT_CUSTOM_EXT = 1000287003,
1317 VK_BORDER_COLOR_INT_CUSTOM_EXT = 1000287004,
1318 VK_BORDER_COLOR_MAX_ENUM = 0x7FFFFFFF
1319 } VkBorderColor;
1320
1321 typedef enum VkDescriptorType {
1322 VK_DESCRIPTOR_TYPE_SAMPLER = 0,
1323 VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1,
1324 VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2,
1325 VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3,
1326 VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4,
1327 VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5,
1328 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6,
1329 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7,
1330 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8,
1331 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9,
1332 VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10,
1333 VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT = 1000138000,
1334 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR = 1000165000,
1335 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV = VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR,
1336 VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF
1337 } VkDescriptorType;
1338
1339 typedef enum VkAttachmentLoadOp {
1340 VK_ATTACHMENT_LOAD_OP_LOAD = 0,
1341 VK_ATTACHMENT_LOAD_OP_CLEAR = 1,
1342 VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2,
1343 VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7FFFFFFF
1344 } VkAttachmentLoadOp;
1345
1346 typedef enum VkAttachmentStoreOp {
1347 VK_ATTACHMENT_STORE_OP_STORE = 0,
1348 VK_ATTACHMENT_STORE_OP_DONT_CARE = 1,
1349 VK_ATTACHMENT_STORE_OP_NONE_QCOM = 1000301000,
1350 VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF
1351 } VkAttachmentStoreOp;
1352
1353 typedef enum VkPipelineBindPoint {
1354 VK_PIPELINE_BIND_POINT_GRAPHICS = 0,
1355 VK_PIPELINE_BIND_POINT_COMPUTE = 1,
1356 VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR = 1000165000,
1357 VK_PIPELINE_BIND_POINT_RAY_TRACING_NV = VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR,
1358 VK_PIPELINE_BIND_POINT_MAX_ENUM = 0x7FFFFFFF
1359 } VkPipelineBindPoint;
1360
1361 typedef enum VkCommandBufferLevel {
1362 VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0,
1363 VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1,
1364 VK_COMMAND_BUFFER_LEVEL_MAX_ENUM = 0x7FFFFFFF
1365 } VkCommandBufferLevel;
1366
1367 typedef enum VkIndexType {
1368 VK_INDEX_TYPE_UINT16 = 0,
1369 VK_INDEX_TYPE_UINT32 = 1,
1370 VK_INDEX_TYPE_NONE_KHR = 1000165000,
1371 VK_INDEX_TYPE_UINT8_EXT = 1000265000,
1372 VK_INDEX_TYPE_NONE_NV = VK_INDEX_TYPE_NONE_KHR,
1373 VK_INDEX_TYPE_MAX_ENUM = 0x7FFFFFFF
1374 } VkIndexType;
1375
1376 typedef enum VkSubpassContents {
1377 VK_SUBPASS_CONTENTS_INLINE = 0,
1378 VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1,
1379 VK_SUBPASS_CONTENTS_MAX_ENUM = 0x7FFFFFFF
1380 } VkSubpassContents;
1381
1382 typedef enum VkObjectType {
1383 VK_OBJECT_TYPE_UNKNOWN = 0,
1384 VK_OBJECT_TYPE_INSTANCE = 1,
1385 VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2,
1386 VK_OBJECT_TYPE_DEVICE = 3,
1387 VK_OBJECT_TYPE_QUEUE = 4,
1388 VK_OBJECT_TYPE_SEMAPHORE = 5,
1389 VK_OBJECT_TYPE_COMMAND_BUFFER = 6,
1390 VK_OBJECT_TYPE_FENCE = 7,
1391 VK_OBJECT_TYPE_DEVICE_MEMORY = 8,
1392 VK_OBJECT_TYPE_BUFFER = 9,
1393 VK_OBJECT_TYPE_IMAGE = 10,
1394 VK_OBJECT_TYPE_EVENT = 11,
1395 VK_OBJECT_TYPE_QUERY_POOL = 12,
1396 VK_OBJECT_TYPE_BUFFER_VIEW = 13,
1397 VK_OBJECT_TYPE_IMAGE_VIEW = 14,
1398 VK_OBJECT_TYPE_SHADER_MODULE = 15,
1399 VK_OBJECT_TYPE_PIPELINE_CACHE = 16,
1400 VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17,
1401 VK_OBJECT_TYPE_RENDER_PASS = 18,
1402 VK_OBJECT_TYPE_PIPELINE = 19,
1403 VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20,
1404 VK_OBJECT_TYPE_SAMPLER = 21,
1405 VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22,
1406 VK_OBJECT_TYPE_DESCRIPTOR_SET = 23,
1407 VK_OBJECT_TYPE_FRAMEBUFFER = 24,
1408 VK_OBJECT_TYPE_COMMAND_POOL = 25,
1409 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION = 1000156000,
1410 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE = 1000085000,
1411 VK_OBJECT_TYPE_SURFACE_KHR = 1000000000,
1412 VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000,
1413 VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000,
1414 VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001,
1415 VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000,
1416 VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000,
1417 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR = 1000165000,
1418 VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000,
1419 VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL = 1000210000,
1420 VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR = 1000268000,
1421 VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV = 1000277000,
1422 VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = 1000295000,
1423 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,
1424 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,
1425 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV = VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR,
1426 VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF
1427 } VkObjectType;
1428
1429 typedef enum VkVendorId {
1430 VK_VENDOR_ID_VIV = 0x10001,
1431 VK_VENDOR_ID_VSI = 0x10002,
1432 VK_VENDOR_ID_KAZAN = 0x10003,
1433 VK_VENDOR_ID_CODEPLAY = 0x10004,
1434 VK_VENDOR_ID_MAX_ENUM = 0x7FFFFFFF
1435 } VkVendorId;
1436 typedef VkFlags VkInstanceCreateFlags;
1437
1438 typedef enum VkFormatFeatureFlagBits {
1439 VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 0x00000001,
1440 VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 0x00000002,
1441 VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004,
1442 VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008,
1443 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 0x00000010,
1444 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020,
1445 VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 0x00000040,
1446 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 0x00000080,
1447 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100,
1448 VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200,
1449 VK_FORMAT_FEATURE_BLIT_SRC_BIT = 0x00000400,
1450 VK_FORMAT_FEATURE_BLIT_DST_BIT = 0x00000800,
1451 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000,
1452 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT = 0x00004000,
1453 VK_FORMAT_FEATURE_TRANSFER_DST_BIT = 0x00008000,
1454 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000,
1455 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000,
1456 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000,
1457 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000,
1458 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000,
1459 VK_FORMAT_FEATURE_DISJOINT_BIT = 0x00400000,
1460 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT = 0x00800000,
1461 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000,
1462 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = 0x00002000,
1463 VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000,
1464 VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000,
1465 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT,
1466 VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_DST_BIT,
1467 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT,
1468 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT,
1469 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT,
1470 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT,
1471 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT,
1472 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT,
1473 VK_FORMAT_FEATURE_DISJOINT_BIT_KHR = VK_FORMAT_FEATURE_DISJOINT_BIT,
1474 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT,
1475 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG,
1476 VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1477 } VkFormatFeatureFlagBits;
1478 typedef VkFlags VkFormatFeatureFlags;
1479
1480 typedef enum VkImageUsageFlagBits {
1481 VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 0x00000001,
1482 VK_IMAGE_USAGE_TRANSFER_DST_BIT = 0x00000002,
1483 VK_IMAGE_USAGE_SAMPLED_BIT = 0x00000004,
1484 VK_IMAGE_USAGE_STORAGE_BIT = 0x00000008,
1485 VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000010,
1486 VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000020,
1487 VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000040,
1488 VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0x00000080,
1489 VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = 0x00000100,
1490 VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x00000200,
1491 VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1492 } VkImageUsageFlagBits;
1493 typedef VkFlags VkImageUsageFlags;
1494
1495 typedef enum VkImageCreateFlagBits {
1496 VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 0x00000001,
1497 VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
1498 VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
1499 VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 0x00000008,
1500 VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 0x00000010,
1501 VK_IMAGE_CREATE_ALIAS_BIT = 0x00000400,
1502 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT = 0x00000040,
1503 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT = 0x00000020,
1504 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT = 0x00000080,
1505 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT = 0x00000100,
1506 VK_IMAGE_CREATE_PROTECTED_BIT = 0x00000800,
1507 VK_IMAGE_CREATE_DISJOINT_BIT = 0x00000200,
1508 VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 0x00002000,
1509 VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000,
1510 VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 0x00004000,
1511 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT,
1512 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT,
1513 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT,
1514 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT,
1515 VK_IMAGE_CREATE_DISJOINT_BIT_KHR = VK_IMAGE_CREATE_DISJOINT_BIT,
1516 VK_IMAGE_CREATE_ALIAS_BIT_KHR = VK_IMAGE_CREATE_ALIAS_BIT,
1517 VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1518 } VkImageCreateFlagBits;
1519 typedef VkFlags VkImageCreateFlags;
1520
1521 typedef enum VkSampleCountFlagBits {
1522 VK_SAMPLE_COUNT_1_BIT = 0x00000001,
1523 VK_SAMPLE_COUNT_2_BIT = 0x00000002,
1524 VK_SAMPLE_COUNT_4_BIT = 0x00000004,
1525 VK_SAMPLE_COUNT_8_BIT = 0x00000008,
1526 VK_SAMPLE_COUNT_16_BIT = 0x00000010,
1527 VK_SAMPLE_COUNT_32_BIT = 0x00000020,
1528 VK_SAMPLE_COUNT_64_BIT = 0x00000040,
1529 VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1530 } VkSampleCountFlagBits;
1531 typedef VkFlags VkSampleCountFlags;
1532
1533 typedef enum VkQueueFlagBits {
1534 VK_QUEUE_GRAPHICS_BIT = 0x00000001,
1535 VK_QUEUE_COMPUTE_BIT = 0x00000002,
1536 VK_QUEUE_TRANSFER_BIT = 0x00000004,
1537 VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008,
1538 VK_QUEUE_PROTECTED_BIT = 0x00000010,
1539 VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1540 } VkQueueFlagBits;
1541 typedef VkFlags VkQueueFlags;
1542
1543 typedef enum VkMemoryPropertyFlagBits {
1544 VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 0x00000001,
1545 VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 0x00000002,
1546 VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 0x00000004,
1547 VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 0x00000008,
1548 VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 0x00000010,
1549 VK_MEMORY_PROPERTY_PROTECTED_BIT = 0x00000020,
1550 VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD = 0x00000040,
1551 VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD = 0x00000080,
1552 VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1553 } VkMemoryPropertyFlagBits;
1554 typedef VkFlags VkMemoryPropertyFlags;
1555
1556 typedef enum VkMemoryHeapFlagBits {
1557 VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0x00000001,
1558 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = 0x00000002,
1559 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT,
1560 VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1561 } VkMemoryHeapFlagBits;
1562 typedef VkFlags VkMemoryHeapFlags;
1563 typedef VkFlags VkDeviceCreateFlags;
1564
1565 typedef enum VkDeviceQueueCreateFlagBits {
1566 VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT = 0x00000001,
1567 VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1568 } VkDeviceQueueCreateFlagBits;
1569 typedef VkFlags VkDeviceQueueCreateFlags;
1570
1571 typedef enum VkPipelineStageFlagBits {
1572 VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 0x00000001,
1573 VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 0x00000002,
1574 VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 0x00000004,
1575 VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 0x00000008,
1576 VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010,
1577 VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020,
1578 VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 0x00000040,
1579 VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 0x00000080,
1580 VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 0x00000100,
1581 VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 0x00000200,
1582 VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400,
1583 VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 0x00000800,
1584 VK_PIPELINE_STAGE_TRANSFER_BIT = 0x00001000,
1585 VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 0x00002000,
1586 VK_PIPELINE_STAGE_HOST_BIT = 0x00004000,
1587 VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0x00008000,
1588 VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00010000,
1589 VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000,
1590 VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000,
1591 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = 0x00200000,
1592 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000,
1593 VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = 0x00400000,
1594 VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV = 0x00080000,
1595 VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV = 0x00100000,
1596 VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000,
1597 VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV = 0x00020000,
1598 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV = VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR,
1599 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
1600 VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1601 } VkPipelineStageFlagBits;
1602 typedef VkFlags VkPipelineStageFlags;
1603 typedef VkFlags VkMemoryMapFlags;
1604
1605 typedef enum VkImageAspectFlagBits {
1606 VK_IMAGE_ASPECT_COLOR_BIT = 0x00000001,
1607 VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002,
1608 VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004,
1609 VK_IMAGE_ASPECT_METADATA_BIT = 0x00000008,
1610 VK_IMAGE_ASPECT_PLANE_0_BIT = 0x00000010,
1611 VK_IMAGE_ASPECT_PLANE_1_BIT = 0x00000020,
1612 VK_IMAGE_ASPECT_PLANE_2_BIT = 0x00000040,
1613 VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 0x00000080,
1614 VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 0x00000100,
1615 VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 0x00000200,
1616 VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = 0x00000400,
1617 VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = VK_IMAGE_ASPECT_PLANE_0_BIT,
1618 VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = VK_IMAGE_ASPECT_PLANE_1_BIT,
1619 VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = VK_IMAGE_ASPECT_PLANE_2_BIT,
1620 VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1621 } VkImageAspectFlagBits;
1622 typedef VkFlags VkImageAspectFlags;
1623
1624 typedef enum VkSparseImageFormatFlagBits {
1625 VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 0x00000001,
1626 VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 0x00000002,
1627 VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 0x00000004,
1628 VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1629 } VkSparseImageFormatFlagBits;
1630 typedef VkFlags VkSparseImageFormatFlags;
1631
1632 typedef enum VkSparseMemoryBindFlagBits {
1633 VK_SPARSE_MEMORY_BIND_METADATA_BIT = 0x00000001,
1634 VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1635 } VkSparseMemoryBindFlagBits;
1636 typedef VkFlags VkSparseMemoryBindFlags;
1637
1638 typedef enum VkFenceCreateFlagBits {
1639 VK_FENCE_CREATE_SIGNALED_BIT = 0x00000001,
1640 VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1641 } VkFenceCreateFlagBits;
1642 typedef VkFlags VkFenceCreateFlags;
1643 typedef VkFlags VkSemaphoreCreateFlags;
1644 typedef VkFlags VkEventCreateFlags;
1645 typedef VkFlags VkQueryPoolCreateFlags;
1646
1647 typedef enum VkQueryPipelineStatisticFlagBits {
1648 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 0x00000001,
1649 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 0x00000002,
1650 VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 0x00000004,
1651 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 0x00000008,
1652 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 0x00000010,
1653 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 0x00000020,
1654 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 0x00000040,
1655 VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 0x00000080,
1656 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 0x00000100,
1657 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 0x00000200,
1658 VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 0x00000400,
1659 VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1660 } VkQueryPipelineStatisticFlagBits;
1661 typedef VkFlags VkQueryPipelineStatisticFlags;
1662
1663 typedef enum VkQueryResultFlagBits {
1664 VK_QUERY_RESULT_64_BIT = 0x00000001,
1665 VK_QUERY_RESULT_WAIT_BIT = 0x00000002,
1666 VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004,
1667 VK_QUERY_RESULT_PARTIAL_BIT = 0x00000008,
1668 VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1669 } VkQueryResultFlagBits;
1670 typedef VkFlags VkQueryResultFlags;
1671
1672 typedef enum VkBufferCreateFlagBits {
1673 VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 0x00000001,
1674 VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
1675 VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
1676 VK_BUFFER_CREATE_PROTECTED_BIT = 0x00000008,
1677 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000010,
1678 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
1679 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
1680 VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1681 } VkBufferCreateFlagBits;
1682 typedef VkFlags VkBufferCreateFlags;
1683
1684 typedef enum VkBufferUsageFlagBits {
1685 VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 0x00000001,
1686 VK_BUFFER_USAGE_TRANSFER_DST_BIT = 0x00000002,
1687 VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000004,
1688 VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 0x00000008,
1689 VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 0x00000010,
1690 VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 0x00000020,
1691 VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 0x00000040,
1692 VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 0x00000080,
1693 VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 0x00000100,
1694 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT = 0x00020000,
1695 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0x00000800,
1696 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000,
1697 VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200,
1698 VK_BUFFER_USAGE_RAY_TRACING_BIT_KHR = 0x00000400,
1699 VK_BUFFER_USAGE_RAY_TRACING_BIT_NV = VK_BUFFER_USAGE_RAY_TRACING_BIT_KHR,
1700 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
1701 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
1702 VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1703 } VkBufferUsageFlagBits;
1704 typedef VkFlags VkBufferUsageFlags;
1705 typedef VkFlags VkBufferViewCreateFlags;
1706
1707 typedef enum VkImageViewCreateFlagBits {
1708 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT = 0x00000001,
1709 VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1710 } VkImageViewCreateFlagBits;
1711 typedef VkFlags VkImageViewCreateFlags;
1712
1713 typedef enum VkShaderModuleCreateFlagBits {
1714 VK_SHADER_MODULE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1715 } VkShaderModuleCreateFlagBits;
1716 typedef VkFlags VkShaderModuleCreateFlags;
1717
1718 typedef enum VkPipelineCacheCreateFlagBits {
1719 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT = 0x00000001,
1720 VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1721 } VkPipelineCacheCreateFlagBits;
1722 typedef VkFlags VkPipelineCacheCreateFlags;
1723
1724 typedef enum VkPipelineCreateFlagBits {
1725 VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0x00000001,
1726 VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 0x00000002,
1727 VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0x00000004,
1728 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 0x00000008,
1729 VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 0x00000010,
1730 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 0x00004000,
1731 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 0x00008000,
1732 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 0x00010000,
1733 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR = 0x00020000,
1734 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR = 0x00001000,
1735 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR = 0x00002000,
1736 VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV = 0x00000020,
1737 VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR = 0x00000040,
1738 VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 0x00000080,
1739 VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = 0x00040000,
1740 VK_PIPELINE_CREATE_LIBRARY_BIT_KHR = 0x00000800,
1741 VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = 0x00000100,
1742 VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = 0x00000200,
1743 VK_PIPELINE_CREATE_DISPATCH_BASE = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT,
1744 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT,
1745 VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = VK_PIPELINE_CREATE_DISPATCH_BASE,
1746 VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1747 } VkPipelineCreateFlagBits;
1748 typedef VkFlags VkPipelineCreateFlags;
1749
1750 typedef enum VkPipelineShaderStageCreateFlagBits {
1751 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = 0x00000001,
1752 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = 0x00000002,
1753 VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1754 } VkPipelineShaderStageCreateFlagBits;
1755 typedef VkFlags VkPipelineShaderStageCreateFlags;
1756
1757 typedef enum VkShaderStageFlagBits {
1758 VK_SHADER_STAGE_VERTEX_BIT = 0x00000001,
1759 VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 0x00000002,
1760 VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 0x00000004,
1761 VK_SHADER_STAGE_GEOMETRY_BIT = 0x00000008,
1762 VK_SHADER_STAGE_FRAGMENT_BIT = 0x00000010,
1763 VK_SHADER_STAGE_COMPUTE_BIT = 0x00000020,
1764 VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001F,
1765 VK_SHADER_STAGE_ALL = 0x7FFFFFFF,
1766 VK_SHADER_STAGE_RAYGEN_BIT_KHR = 0x00000100,
1767 VK_SHADER_STAGE_ANY_HIT_BIT_KHR = 0x00000200,
1768 VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR = 0x00000400,
1769 VK_SHADER_STAGE_MISS_BIT_KHR = 0x00000800,
1770 VK_SHADER_STAGE_INTERSECTION_BIT_KHR = 0x00001000,
1771 VK_SHADER_STAGE_CALLABLE_BIT_KHR = 0x00002000,
1772 VK_SHADER_STAGE_TASK_BIT_NV = 0x00000040,
1773 VK_SHADER_STAGE_MESH_BIT_NV = 0x00000080,
1774 VK_SHADER_STAGE_RAYGEN_BIT_NV = VK_SHADER_STAGE_RAYGEN_BIT_KHR,
1775 VK_SHADER_STAGE_ANY_HIT_BIT_NV = VK_SHADER_STAGE_ANY_HIT_BIT_KHR,
1776 VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV = VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR,
1777 VK_SHADER_STAGE_MISS_BIT_NV = VK_SHADER_STAGE_MISS_BIT_KHR,
1778 VK_SHADER_STAGE_INTERSECTION_BIT_NV = VK_SHADER_STAGE_INTERSECTION_BIT_KHR,
1779 VK_SHADER_STAGE_CALLABLE_BIT_NV = VK_SHADER_STAGE_CALLABLE_BIT_KHR,
1780 VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1781 } VkShaderStageFlagBits;
1782 typedef VkFlags VkPipelineVertexInputStateCreateFlags;
1783 typedef VkFlags VkPipelineInputAssemblyStateCreateFlags;
1784 typedef VkFlags VkPipelineTessellationStateCreateFlags;
1785 typedef VkFlags VkPipelineViewportStateCreateFlags;
1786 typedef VkFlags VkPipelineRasterizationStateCreateFlags;
1787
1788 typedef enum VkCullModeFlagBits {
1789 VK_CULL_MODE_NONE = 0,
1790 VK_CULL_MODE_FRONT_BIT = 0x00000001,
1791 VK_CULL_MODE_BACK_BIT = 0x00000002,
1792 VK_CULL_MODE_FRONT_AND_BACK = 0x00000003,
1793 VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1794 } VkCullModeFlagBits;
1795 typedef VkFlags VkCullModeFlags;
1796 typedef VkFlags VkPipelineMultisampleStateCreateFlags;
1797 typedef VkFlags VkPipelineDepthStencilStateCreateFlags;
1798 typedef VkFlags VkPipelineColorBlendStateCreateFlags;
1799
1800 typedef enum VkColorComponentFlagBits {
1801 VK_COLOR_COMPONENT_R_BIT = 0x00000001,
1802 VK_COLOR_COMPONENT_G_BIT = 0x00000002,
1803 VK_COLOR_COMPONENT_B_BIT = 0x00000004,
1804 VK_COLOR_COMPONENT_A_BIT = 0x00000008,
1805 VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1806 } VkColorComponentFlagBits;
1807 typedef VkFlags VkColorComponentFlags;
1808 typedef VkFlags VkPipelineDynamicStateCreateFlags;
1809 typedef VkFlags VkPipelineLayoutCreateFlags;
1810 typedef VkFlags VkShaderStageFlags;
1811
1812 typedef enum VkSamplerCreateFlagBits {
1813 VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT = 0x00000001,
1814 VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT = 0x00000002,
1815 VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1816 } VkSamplerCreateFlagBits;
1817 typedef VkFlags VkSamplerCreateFlags;
1818
1819 typedef enum VkDescriptorSetLayoutCreateFlagBits {
1820 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT = 0x00000002,
1821 VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = 0x00000001,
1822 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT,
1823 VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1824 } VkDescriptorSetLayoutCreateFlagBits;
1825 typedef VkFlags VkDescriptorSetLayoutCreateFlags;
1826
1827 typedef enum VkDescriptorPoolCreateFlagBits {
1828 VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001,
1829 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT = 0x00000002,
1830 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT,
1831 VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1832 } VkDescriptorPoolCreateFlagBits;
1833 typedef VkFlags VkDescriptorPoolCreateFlags;
1834 typedef VkFlags VkDescriptorPoolResetFlags;
1835
1836 typedef enum VkFramebufferCreateFlagBits {
1837 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT = 0x00000001,
1838 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR = VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT,
1839 VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1840 } VkFramebufferCreateFlagBits;
1841 typedef VkFlags VkFramebufferCreateFlags;
1842
1843 typedef enum VkRenderPassCreateFlagBits {
1844 VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM = 0x00000002,
1845 VK_RENDER_PASS_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1846 } VkRenderPassCreateFlagBits;
1847 typedef VkFlags VkRenderPassCreateFlags;
1848
1849 typedef enum VkAttachmentDescriptionFlagBits {
1850 VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001,
1851 VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1852 } VkAttachmentDescriptionFlagBits;
1853 typedef VkFlags VkAttachmentDescriptionFlags;
1854
1855 typedef enum VkSubpassDescriptionFlagBits {
1856 VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX = 0x00000001,
1857 VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 0x00000002,
1858 VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM = 0x00000004,
1859 VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM = 0x00000008,
1860 VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1861 } VkSubpassDescriptionFlagBits;
1862 typedef VkFlags VkSubpassDescriptionFlags;
1863
1864 typedef enum VkAccessFlagBits {
1865 VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001,
1866 VK_ACCESS_INDEX_READ_BIT = 0x00000002,
1867 VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004,
1868 VK_ACCESS_UNIFORM_READ_BIT = 0x00000008,
1869 VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 0x00000010,
1870 VK_ACCESS_SHADER_READ_BIT = 0x00000020,
1871 VK_ACCESS_SHADER_WRITE_BIT = 0x00000040,
1872 VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 0x00000080,
1873 VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100,
1874 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200,
1875 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400,
1876 VK_ACCESS_TRANSFER_READ_BIT = 0x00000800,
1877 VK_ACCESS_TRANSFER_WRITE_BIT = 0x00001000,
1878 VK_ACCESS_HOST_READ_BIT = 0x00002000,
1879 VK_ACCESS_HOST_WRITE_BIT = 0x00004000,
1880 VK_ACCESS_MEMORY_READ_BIT = 0x00008000,
1881 VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000,
1882 VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000,
1883 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000,
1884 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000,
1885 VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000,
1886 VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000,
1887 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000,
1888 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000,
1889 VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000,
1890 VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000,
1891 VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000,
1892 VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000,
1893 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR,
1894 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,
1895 VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1896 } VkAccessFlagBits;
1897 typedef VkFlags VkAccessFlags;
1898
1899 typedef enum VkDependencyFlagBits {
1900 VK_DEPENDENCY_BY_REGION_BIT = 0x00000001,
1901 VK_DEPENDENCY_DEVICE_GROUP_BIT = 0x00000004,
1902 VK_DEPENDENCY_VIEW_LOCAL_BIT = 0x00000002,
1903 VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR = VK_DEPENDENCY_VIEW_LOCAL_BIT,
1904 VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR = VK_DEPENDENCY_DEVICE_GROUP_BIT,
1905 VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1906 } VkDependencyFlagBits;
1907 typedef VkFlags VkDependencyFlags;
1908
1909 typedef enum VkCommandPoolCreateFlagBits {
1910 VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 0x00000001,
1911 VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002,
1912 VK_COMMAND_POOL_CREATE_PROTECTED_BIT = 0x00000004,
1913 VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1914 } VkCommandPoolCreateFlagBits;
1915 typedef VkFlags VkCommandPoolCreateFlags;
1916
1917 typedef enum VkCommandPoolResetFlagBits {
1918 VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
1919 VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1920 } VkCommandPoolResetFlagBits;
1921 typedef VkFlags VkCommandPoolResetFlags;
1922
1923 typedef enum VkCommandBufferUsageFlagBits {
1924 VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 0x00000001,
1925 VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 0x00000002,
1926 VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 0x00000004,
1927 VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1928 } VkCommandBufferUsageFlagBits;
1929 typedef VkFlags VkCommandBufferUsageFlags;
1930
1931 typedef enum VkQueryControlFlagBits {
1932 VK_QUERY_CONTROL_PRECISE_BIT = 0x00000001,
1933 VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1934 } VkQueryControlFlagBits;
1935 typedef VkFlags VkQueryControlFlags;
1936
1937 typedef enum VkCommandBufferResetFlagBits {
1938 VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
1939 VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1940 } VkCommandBufferResetFlagBits;
1941 typedef VkFlags VkCommandBufferResetFlags;
1942
1943 typedef enum VkStencilFaceFlagBits {
1944 VK_STENCIL_FACE_FRONT_BIT = 0x00000001,
1945 VK_STENCIL_FACE_BACK_BIT = 0x00000002,
1946 VK_STENCIL_FACE_FRONT_AND_BACK = 0x00000003,
1947 VK_STENCIL_FRONT_AND_BACK = VK_STENCIL_FACE_FRONT_AND_BACK,
1948 VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1949 } VkStencilFaceFlagBits;
1950 typedef VkFlags VkStencilFaceFlags;
1951 typedef struct VkApplicationInfo {
1952 VkStructureType sType;
1953 const void* pNext;
1954 const char* pApplicationName;
1955 uint32_t applicationVersion;
1956 const char* pEngineName;
1957 uint32_t engineVersion;
1958 uint32_t apiVersion;
1959 } VkApplicationInfo;
1960
1961 typedef struct VkInstanceCreateInfo {
1962 VkStructureType sType;
1963 const void* pNext;
1964 VkInstanceCreateFlags flags;
1965 const VkApplicationInfo* pApplicationInfo;
1966 uint32_t enabledLayerCount;
1967 const char* const* ppEnabledLayerNames;
1968 uint32_t enabledExtensionCount;
1969 const char* const* ppEnabledExtensionNames;
1970 } VkInstanceCreateInfo;
1971
1972 typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
1973 void* pUserData,
1974 size_t size,
1975 size_t alignment,
1976 VkSystemAllocationScope allocationScope);
1977
1978 typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
1979 void* pUserData,
1980 void* pOriginal,
1981 size_t size,
1982 size_t alignment,
1983 VkSystemAllocationScope allocationScope);
1984
1985 typedef void (VKAPI_PTR *PFN_vkFreeFunction)(
1986 void* pUserData,
1987 void* pMemory);
1988
1989 typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(
1990 void* pUserData,
1991 size_t size,
1992 VkInternalAllocationType allocationType,
1993 VkSystemAllocationScope allocationScope);
1994
1995 typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(
1996 void* pUserData,
1997 size_t size,
1998 VkInternalAllocationType allocationType,
1999 VkSystemAllocationScope allocationScope);
2000
2001 typedef struct VkAllocationCallbacks {
2002 void* pUserData;
2003 PFN_vkAllocationFunction pfnAllocation;
2004 PFN_vkReallocationFunction pfnReallocation;
2005 PFN_vkFreeFunction pfnFree;
2006 PFN_vkInternalAllocationNotification pfnInternalAllocation;
2007 PFN_vkInternalFreeNotification pfnInternalFree;
2008 } VkAllocationCallbacks;
2009
2010 typedef struct VkPhysicalDeviceFeatures {
2011 VkBool32 robustBufferAccess;
2012 VkBool32 fullDrawIndexUint32;
2013 VkBool32 imageCubeArray;
2014 VkBool32 independentBlend;
2015 VkBool32 geometryShader;
2016 VkBool32 tessellationShader;
2017 VkBool32 sampleRateShading;
2018 VkBool32 dualSrcBlend;
2019 VkBool32 logicOp;
2020 VkBool32 multiDrawIndirect;
2021 VkBool32 drawIndirectFirstInstance;
2022 VkBool32 depthClamp;
2023 VkBool32 depthBiasClamp;
2024 VkBool32 fillModeNonSolid;
2025 VkBool32 depthBounds;
2026 VkBool32 wideLines;
2027 VkBool32 largePoints;
2028 VkBool32 alphaToOne;
2029 VkBool32 multiViewport;
2030 VkBool32 samplerAnisotropy;
2031 VkBool32 textureCompressionETC2;
2032 VkBool32 textureCompressionASTC_LDR;
2033 VkBool32 textureCompressionBC;
2034 VkBool32 occlusionQueryPrecise;
2035 VkBool32 pipelineStatisticsQuery;
2036 VkBool32 vertexPipelineStoresAndAtomics;
2037 VkBool32 fragmentStoresAndAtomics;
2038 VkBool32 shaderTessellationAndGeometryPointSize;
2039 VkBool32 shaderImageGatherExtended;
2040 VkBool32 shaderStorageImageExtendedFormats;
2041 VkBool32 shaderStorageImageMultisample;
2042 VkBool32 shaderStorageImageReadWithoutFormat;
2043 VkBool32 shaderStorageImageWriteWithoutFormat;
2044 VkBool32 shaderUniformBufferArrayDynamicIndexing;
2045 VkBool32 shaderSampledImageArrayDynamicIndexing;
2046 VkBool32 shaderStorageBufferArrayDynamicIndexing;
2047 VkBool32 shaderStorageImageArrayDynamicIndexing;
2048 VkBool32 shaderClipDistance;
2049 VkBool32 shaderCullDistance;
2050 VkBool32 shaderFloat64;
2051 VkBool32 shaderInt64;
2052 VkBool32 shaderInt16;
2053 VkBool32 shaderResourceResidency;
2054 VkBool32 shaderResourceMinLod;
2055 VkBool32 sparseBinding;
2056 VkBool32 sparseResidencyBuffer;
2057 VkBool32 sparseResidencyImage2D;
2058 VkBool32 sparseResidencyImage3D;
2059 VkBool32 sparseResidency2Samples;
2060 VkBool32 sparseResidency4Samples;
2061 VkBool32 sparseResidency8Samples;
2062 VkBool32 sparseResidency16Samples;
2063 VkBool32 sparseResidencyAliased;
2064 VkBool32 variableMultisampleRate;
2065 VkBool32 inheritedQueries;
2066 } VkPhysicalDeviceFeatures;
2067
2068 typedef struct VkFormatProperties {
2069 VkFormatFeatureFlags linearTilingFeatures;
2070 VkFormatFeatureFlags optimalTilingFeatures;
2071 VkFormatFeatureFlags bufferFeatures;
2072 } VkFormatProperties;
2073
2074 typedef struct VkExtent3D {
2075 uint32_t width;
2076 uint32_t height;
2077 uint32_t depth;
2078 } VkExtent3D;
2079
2080 typedef struct VkImageFormatProperties {
2081 VkExtent3D maxExtent;
2082 uint32_t maxMipLevels;
2083 uint32_t maxArrayLayers;
2084 VkSampleCountFlags sampleCounts;
2085 VkDeviceSize maxResourceSize;
2086 } VkImageFormatProperties;
2087
2088 typedef struct VkPhysicalDeviceLimits {
2089 uint32_t maxImageDimension1D;
2090 uint32_t maxImageDimension2D;
2091 uint32_t maxImageDimension3D;
2092 uint32_t maxImageDimensionCube;
2093 uint32_t maxImageArrayLayers;
2094 uint32_t maxTexelBufferElements;
2095 uint32_t maxUniformBufferRange;
2096 uint32_t maxStorageBufferRange;
2097 uint32_t maxPushConstantsSize;
2098 uint32_t maxMemoryAllocationCount;
2099 uint32_t maxSamplerAllocationCount;
2100 VkDeviceSize bufferImageGranularity;
2101 VkDeviceSize sparseAddressSpaceSize;
2102 uint32_t maxBoundDescriptorSets;
2103 uint32_t maxPerStageDescriptorSamplers;
2104 uint32_t maxPerStageDescriptorUniformBuffers;
2105 uint32_t maxPerStageDescriptorStorageBuffers;
2106 uint32_t maxPerStageDescriptorSampledImages;
2107 uint32_t maxPerStageDescriptorStorageImages;
2108 uint32_t maxPerStageDescriptorInputAttachments;
2109 uint32_t maxPerStageResources;
2110 uint32_t maxDescriptorSetSamplers;
2111 uint32_t maxDescriptorSetUniformBuffers;
2112 uint32_t maxDescriptorSetUniformBuffersDynamic;
2113 uint32_t maxDescriptorSetStorageBuffers;
2114 uint32_t maxDescriptorSetStorageBuffersDynamic;
2115 uint32_t maxDescriptorSetSampledImages;
2116 uint32_t maxDescriptorSetStorageImages;
2117 uint32_t maxDescriptorSetInputAttachments;
2118 uint32_t maxVertexInputAttributes;
2119 uint32_t maxVertexInputBindings;
2120 uint32_t maxVertexInputAttributeOffset;
2121 uint32_t maxVertexInputBindingStride;
2122 uint32_t maxVertexOutputComponents;
2123 uint32_t maxTessellationGenerationLevel;
2124 uint32_t maxTessellationPatchSize;
2125 uint32_t maxTessellationControlPerVertexInputComponents;
2126 uint32_t maxTessellationControlPerVertexOutputComponents;
2127 uint32_t maxTessellationControlPerPatchOutputComponents;
2128 uint32_t maxTessellationControlTotalOutputComponents;
2129 uint32_t maxTessellationEvaluationInputComponents;
2130 uint32_t maxTessellationEvaluationOutputComponents;
2131 uint32_t maxGeometryShaderInvocations;
2132 uint32_t maxGeometryInputComponents;
2133 uint32_t maxGeometryOutputComponents;
2134 uint32_t maxGeometryOutputVertices;
2135 uint32_t maxGeometryTotalOutputComponents;
2136 uint32_t maxFragmentInputComponents;
2137 uint32_t maxFragmentOutputAttachments;
2138 uint32_t maxFragmentDualSrcAttachments;
2139 uint32_t maxFragmentCombinedOutputResources;
2140 uint32_t maxComputeSharedMemorySize;
2141 uint32_t maxComputeWorkGroupCount[3];
2142 uint32_t maxComputeWorkGroupInvocations;
2143 uint32_t maxComputeWorkGroupSize[3];
2144 uint32_t subPixelPrecisionBits;
2145 uint32_t subTexelPrecisionBits;
2146 uint32_t mipmapPrecisionBits;
2147 uint32_t maxDrawIndexedIndexValue;
2148 uint32_t maxDrawIndirectCount;
2149 float maxSamplerLodBias;
2150 float maxSamplerAnisotropy;
2151 uint32_t maxViewports;
2152 uint32_t maxViewportDimensions[2];
2153 float viewportBoundsRange[2];
2154 uint32_t viewportSubPixelBits;
2155 size_t minMemoryMapAlignment;
2156 VkDeviceSize minTexelBufferOffsetAlignment;
2157 VkDeviceSize minUniformBufferOffsetAlignment;
2158 VkDeviceSize minStorageBufferOffsetAlignment;
2159 int32_t minTexelOffset;
2160 uint32_t maxTexelOffset;
2161 int32_t minTexelGatherOffset;
2162 uint32_t maxTexelGatherOffset;
2163 float minInterpolationOffset;
2164 float maxInterpolationOffset;
2165 uint32_t subPixelInterpolationOffsetBits;
2166 uint32_t maxFramebufferWidth;
2167 uint32_t maxFramebufferHeight;
2168 uint32_t maxFramebufferLayers;
2169 VkSampleCountFlags framebufferColorSampleCounts;
2170 VkSampleCountFlags framebufferDepthSampleCounts;
2171 VkSampleCountFlags framebufferStencilSampleCounts;
2172 VkSampleCountFlags framebufferNoAttachmentsSampleCounts;
2173 uint32_t maxColorAttachments;
2174 VkSampleCountFlags sampledImageColorSampleCounts;
2175 VkSampleCountFlags sampledImageIntegerSampleCounts;
2176 VkSampleCountFlags sampledImageDepthSampleCounts;
2177 VkSampleCountFlags sampledImageStencilSampleCounts;
2178 VkSampleCountFlags storageImageSampleCounts;
2179 uint32_t maxSampleMaskWords;
2180 VkBool32 timestampComputeAndGraphics;
2181 float timestampPeriod;
2182 uint32_t maxClipDistances;
2183 uint32_t maxCullDistances;
2184 uint32_t maxCombinedClipAndCullDistances;
2185 uint32_t discreteQueuePriorities;
2186 float pointSizeRange[2];
2187 float lineWidthRange[2];
2188 float pointSizeGranularity;
2189 float lineWidthGranularity;
2190 VkBool32 strictLines;
2191 VkBool32 standardSampleLocations;
2192 VkDeviceSize optimalBufferCopyOffsetAlignment;
2193 VkDeviceSize optimalBufferCopyRowPitchAlignment;
2194 VkDeviceSize nonCoherentAtomSize;
2195 } VkPhysicalDeviceLimits;
2196
2197 typedef struct VkPhysicalDeviceSparseProperties {
2198 VkBool32 residencyStandard2DBlockShape;
2199 VkBool32 residencyStandard2DMultisampleBlockShape;
2200 VkBool32 residencyStandard3DBlockShape;
2201 VkBool32 residencyAlignedMipSize;
2202 VkBool32 residencyNonResidentStrict;
2203 } VkPhysicalDeviceSparseProperties;
2204
2205 typedef struct VkPhysicalDeviceProperties {
2206 uint32_t apiVersion;
2207 uint32_t driverVersion;
2208 uint32_t vendorID;
2209 uint32_t deviceID;
2210 VkPhysicalDeviceType deviceType;
2211 char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
2212 uint8_t pipelineCacheUUID[VK_UUID_SIZE];
2213 VkPhysicalDeviceLimits limits;
2214 VkPhysicalDeviceSparseProperties sparseProperties;
2215 } VkPhysicalDeviceProperties;
2216
2217 typedef struct VkQueueFamilyProperties {
2218 VkQueueFlags queueFlags;
2219 uint32_t queueCount;
2220 uint32_t timestampValidBits;
2221 VkExtent3D minImageTransferGranularity;
2222 } VkQueueFamilyProperties;
2223
2224 typedef struct VkMemoryType {
2225 VkMemoryPropertyFlags propertyFlags;
2226 uint32_t heapIndex;
2227 } VkMemoryType;
2228
2229 typedef struct VkMemoryHeap {
2230 VkDeviceSize size;
2231 VkMemoryHeapFlags flags;
2232 } VkMemoryHeap;
2233
2234 typedef struct VkPhysicalDeviceMemoryProperties {
2235 uint32_t memoryTypeCount;
2236 VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES];
2237 uint32_t memoryHeapCount;
2238 VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS];
2239 } VkPhysicalDeviceMemoryProperties;
2240
2241 typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
2242 typedef struct VkDeviceQueueCreateInfo {
2243 VkStructureType sType;
2244 const void* pNext;
2245 VkDeviceQueueCreateFlags flags;
2246 uint32_t queueFamilyIndex;
2247 uint32_t queueCount;
2248 const float* pQueuePriorities;
2249 } VkDeviceQueueCreateInfo;
2250
2251 typedef struct VkDeviceCreateInfo {
2252 VkStructureType sType;
2253 const void* pNext;
2254 VkDeviceCreateFlags flags;
2255 uint32_t queueCreateInfoCount;
2256 const VkDeviceQueueCreateInfo* pQueueCreateInfos;
2257 uint32_t enabledLayerCount;
2258 const char* const* ppEnabledLayerNames;
2259 uint32_t enabledExtensionCount;
2260 const char* const* ppEnabledExtensionNames;
2261 const VkPhysicalDeviceFeatures* pEnabledFeatures;
2262 } VkDeviceCreateInfo;
2263
2264 typedef struct VkExtensionProperties {
2265 char extensionName[VK_MAX_EXTENSION_NAME_SIZE];
2266 uint32_t specVersion;
2267 } VkExtensionProperties;
2268
2269 typedef struct VkLayerProperties {
2270 char layerName[VK_MAX_EXTENSION_NAME_SIZE];
2271 uint32_t specVersion;
2272 uint32_t implementationVersion;
2273 char description[VK_MAX_DESCRIPTION_SIZE];
2274 } VkLayerProperties;
2275
2276 typedef struct VkSubmitInfo {
2277 VkStructureType sType;
2278 const void* pNext;
2279 uint32_t waitSemaphoreCount;
2280 const VkSemaphore* pWaitSemaphores;
2281 const VkPipelineStageFlags* pWaitDstStageMask;
2282 uint32_t commandBufferCount;
2283 const VkCommandBuffer* pCommandBuffers;
2284 uint32_t signalSemaphoreCount;
2285 const VkSemaphore* pSignalSemaphores;
2286 } VkSubmitInfo;
2287
2288 typedef struct VkMemoryAllocateInfo {
2289 VkStructureType sType;
2290 const void* pNext;
2291 VkDeviceSize allocationSize;
2292 uint32_t memoryTypeIndex;
2293 } VkMemoryAllocateInfo;
2294
2295 typedef struct VkMappedMemoryRange {
2296 VkStructureType sType;
2297 const void* pNext;
2298 VkDeviceMemory memory;
2299 VkDeviceSize offset;
2300 VkDeviceSize size;
2301 } VkMappedMemoryRange;
2302
2303 typedef struct VkMemoryRequirements {
2304 VkDeviceSize size;
2305 VkDeviceSize alignment;
2306 uint32_t memoryTypeBits;
2307 } VkMemoryRequirements;
2308
2309 typedef struct VkSparseImageFormatProperties {
2310 VkImageAspectFlags aspectMask;
2311 VkExtent3D imageGranularity;
2312 VkSparseImageFormatFlags flags;
2313 } VkSparseImageFormatProperties;
2314
2315 typedef struct VkSparseImageMemoryRequirements {
2316 VkSparseImageFormatProperties formatProperties;
2317 uint32_t imageMipTailFirstLod;
2318 VkDeviceSize imageMipTailSize;
2319 VkDeviceSize imageMipTailOffset;
2320 VkDeviceSize imageMipTailStride;
2321 } VkSparseImageMemoryRequirements;
2322
2323 typedef struct VkSparseMemoryBind {
2324 VkDeviceSize resourceOffset;
2325 VkDeviceSize size;
2326 VkDeviceMemory memory;
2327 VkDeviceSize memoryOffset;
2328 VkSparseMemoryBindFlags flags;
2329 } VkSparseMemoryBind;
2330
2331 typedef struct VkSparseBufferMemoryBindInfo {
2332 VkBuffer buffer;
2333 uint32_t bindCount;
2334 const VkSparseMemoryBind* pBinds;
2335 } VkSparseBufferMemoryBindInfo;
2336
2337 typedef struct VkSparseImageOpaqueMemoryBindInfo {
2338 VkImage image;
2339 uint32_t bindCount;
2340 const VkSparseMemoryBind* pBinds;
2341 } VkSparseImageOpaqueMemoryBindInfo;
2342
2343 typedef struct VkImageSubresource {
2344 VkImageAspectFlags aspectMask;
2345 uint32_t mipLevel;
2346 uint32_t arrayLayer;
2347 } VkImageSubresource;
2348
2349 typedef struct VkOffset3D {
2350 int32_t x;
2351 int32_t y;
2352 int32_t z;
2353 } VkOffset3D;
2354
2355 typedef struct VkSparseImageMemoryBind {
2356 VkImageSubresource subresource;
2357 VkOffset3D offset;
2358 VkExtent3D extent;
2359 VkDeviceMemory memory;
2360 VkDeviceSize memoryOffset;
2361 VkSparseMemoryBindFlags flags;
2362 } VkSparseImageMemoryBind;
2363
2364 typedef struct VkSparseImageMemoryBindInfo {
2365 VkImage image;
2366 uint32_t bindCount;
2367 const VkSparseImageMemoryBind* pBinds;
2368 } VkSparseImageMemoryBindInfo;
2369
2370 typedef struct VkBindSparseInfo {
2371 VkStructureType sType;
2372 const void* pNext;
2373 uint32_t waitSemaphoreCount;
2374 const VkSemaphore* pWaitSemaphores;
2375 uint32_t bufferBindCount;
2376 const VkSparseBufferMemoryBindInfo* pBufferBinds;
2377 uint32_t imageOpaqueBindCount;
2378 const VkSparseImageOpaqueMemoryBindInfo* pImageOpaqueBinds;
2379 uint32_t imageBindCount;
2380 const VkSparseImageMemoryBindInfo* pImageBinds;
2381 uint32_t signalSemaphoreCount;
2382 const VkSemaphore* pSignalSemaphores;
2383 } VkBindSparseInfo;
2384
2385 typedef struct VkFenceCreateInfo {
2386 VkStructureType sType;
2387 const void* pNext;
2388 VkFenceCreateFlags flags;
2389 } VkFenceCreateInfo;
2390
2391 typedef struct VkSemaphoreCreateInfo {
2392 VkStructureType sType;
2393 const void* pNext;
2394 VkSemaphoreCreateFlags flags;
2395 } VkSemaphoreCreateInfo;
2396
2397 typedef struct VkEventCreateInfo {
2398 VkStructureType sType;
2399 const void* pNext;
2400 VkEventCreateFlags flags;
2401 } VkEventCreateInfo;
2402
2403 typedef struct VkQueryPoolCreateInfo {
2404 VkStructureType sType;
2405 const void* pNext;
2406 VkQueryPoolCreateFlags flags;
2407 VkQueryType queryType;
2408 uint32_t queryCount;
2409 VkQueryPipelineStatisticFlags pipelineStatistics;
2410 } VkQueryPoolCreateInfo;
2411
2412 typedef struct VkBufferCreateInfo {
2413 VkStructureType sType;
2414 const void* pNext;
2415 VkBufferCreateFlags flags;
2416 VkDeviceSize size;
2417 VkBufferUsageFlags usage;
2418 VkSharingMode sharingMode;
2419 uint32_t queueFamilyIndexCount;
2420 const uint32_t* pQueueFamilyIndices;
2421 } VkBufferCreateInfo;
2422
2423 typedef struct VkBufferViewCreateInfo {
2424 VkStructureType sType;
2425 const void* pNext;
2426 VkBufferViewCreateFlags flags;
2427 VkBuffer buffer;
2428 VkFormat format;
2429 VkDeviceSize offset;
2430 VkDeviceSize range;
2431 } VkBufferViewCreateInfo;
2432
2433 typedef struct VkImageCreateInfo {
2434 VkStructureType sType;
2435 const void* pNext;
2436 VkImageCreateFlags flags;
2437 VkImageType imageType;
2438 VkFormat format;
2439 VkExtent3D extent;
2440 uint32_t mipLevels;
2441 uint32_t arrayLayers;
2442 VkSampleCountFlagBits samples;
2443 VkImageTiling tiling;
2444 VkImageUsageFlags usage;
2445 VkSharingMode sharingMode;
2446 uint32_t queueFamilyIndexCount;
2447 const uint32_t* pQueueFamilyIndices;
2448 VkImageLayout initialLayout;
2449 } VkImageCreateInfo;
2450
2451 typedef struct VkSubresourceLayout {
2452 VkDeviceSize offset;
2453 VkDeviceSize size;
2454 VkDeviceSize rowPitch;
2455 VkDeviceSize arrayPitch;
2456 VkDeviceSize depthPitch;
2457 } VkSubresourceLayout;
2458
2459 typedef struct VkComponentMapping {
2460 VkComponentSwizzle r;
2461 VkComponentSwizzle g;
2462 VkComponentSwizzle b;
2463 VkComponentSwizzle a;
2464 } VkComponentMapping;
2465
2466 typedef struct VkImageSubresourceRange {
2467 VkImageAspectFlags aspectMask;
2468 uint32_t baseMipLevel;
2469 uint32_t levelCount;
2470 uint32_t baseArrayLayer;
2471 uint32_t layerCount;
2472 } VkImageSubresourceRange;
2473
2474 typedef struct VkImageViewCreateInfo {
2475 VkStructureType sType;
2476 const void* pNext;
2477 VkImageViewCreateFlags flags;
2478 VkImage image;
2479 VkImageViewType viewType;
2480 VkFormat format;
2481 VkComponentMapping components;
2482 VkImageSubresourceRange subresourceRange;
2483 } VkImageViewCreateInfo;
2484
2485 typedef struct VkShaderModuleCreateInfo {
2486 VkStructureType sType;
2487 const void* pNext;
2488 VkShaderModuleCreateFlags flags;
2489 size_t codeSize;
2490 const uint32_t* pCode;
2491 } VkShaderModuleCreateInfo;
2492
2493 typedef struct VkPipelineCacheCreateInfo {
2494 VkStructureType sType;
2495 const void* pNext;
2496 VkPipelineCacheCreateFlags flags;
2497 size_t initialDataSize;
2498 const void* pInitialData;
2499 } VkPipelineCacheCreateInfo;
2500
2501 typedef struct VkSpecializationMapEntry {
2502 uint32_t constantID;
2503 uint32_t offset;
2504 size_t size;
2505 } VkSpecializationMapEntry;
2506
2507 typedef struct VkSpecializationInfo {
2508 uint32_t mapEntryCount;
2509 const VkSpecializationMapEntry* pMapEntries;
2510 size_t dataSize;
2511 const void* pData;
2512 } VkSpecializationInfo;
2513
2514 typedef struct VkPipelineShaderStageCreateInfo {
2515 VkStructureType sType;
2516 const void* pNext;
2517 VkPipelineShaderStageCreateFlags flags;
2518 VkShaderStageFlagBits stage;
2519 VkShaderModule module;
2520 const char* pName;
2521 const VkSpecializationInfo* pSpecializationInfo;
2522 } VkPipelineShaderStageCreateInfo;
2523
2524 typedef struct VkVertexInputBindingDescription {
2525 uint32_t binding;
2526 uint32_t stride;
2527 VkVertexInputRate inputRate;
2528 } VkVertexInputBindingDescription;
2529
2530 typedef struct VkVertexInputAttributeDescription {
2531 uint32_t location;
2532 uint32_t binding;
2533 VkFormat format;
2534 uint32_t offset;
2535 } VkVertexInputAttributeDescription;
2536
2537 typedef struct VkPipelineVertexInputStateCreateInfo {
2538 VkStructureType sType;
2539 const void* pNext;
2540 VkPipelineVertexInputStateCreateFlags flags;
2541 uint32_t vertexBindingDescriptionCount;
2542 const VkVertexInputBindingDescription* pVertexBindingDescriptions;
2543 uint32_t vertexAttributeDescriptionCount;
2544 const VkVertexInputAttributeDescription* pVertexAttributeDescriptions;
2545 } VkPipelineVertexInputStateCreateInfo;
2546
2547 typedef struct VkPipelineInputAssemblyStateCreateInfo {
2548 VkStructureType sType;
2549 const void* pNext;
2550 VkPipelineInputAssemblyStateCreateFlags flags;
2551 VkPrimitiveTopology topology;
2552 VkBool32 primitiveRestartEnable;
2553 } VkPipelineInputAssemblyStateCreateInfo;
2554
2555 typedef struct VkPipelineTessellationStateCreateInfo {
2556 VkStructureType sType;
2557 const void* pNext;
2558 VkPipelineTessellationStateCreateFlags flags;
2559 uint32_t patchControlPoints;
2560 } VkPipelineTessellationStateCreateInfo;
2561
2562 typedef struct VkViewport {
2563 float x;
2564 float y;
2565 float width;
2566 float height;
2567 float minDepth;
2568 float maxDepth;
2569 } VkViewport;
2570
2571 typedef struct VkOffset2D {
2572 int32_t x;
2573 int32_t y;
2574 } VkOffset2D;
2575
2576 typedef struct VkExtent2D {
2577 uint32_t width;
2578 uint32_t height;
2579 } VkExtent2D;
2580
2581 typedef struct VkRect2D {
2582 VkOffset2D offset;
2583 VkExtent2D extent;
2584 } VkRect2D;
2585
2586 typedef struct VkPipelineViewportStateCreateInfo {
2587 VkStructureType sType;
2588 const void* pNext;
2589 VkPipelineViewportStateCreateFlags flags;
2590 uint32_t viewportCount;
2591 const VkViewport* pViewports;
2592 uint32_t scissorCount;
2593 const VkRect2D* pScissors;
2594 } VkPipelineViewportStateCreateInfo;
2595
2596 typedef struct VkPipelineRasterizationStateCreateInfo {
2597 VkStructureType sType;
2598 const void* pNext;
2599 VkPipelineRasterizationStateCreateFlags flags;
2600 VkBool32 depthClampEnable;
2601 VkBool32 rasterizerDiscardEnable;
2602 VkPolygonMode polygonMode;
2603 VkCullModeFlags cullMode;
2604 VkFrontFace frontFace;
2605 VkBool32 depthBiasEnable;
2606 float depthBiasConstantFactor;
2607 float depthBiasClamp;
2608 float depthBiasSlopeFactor;
2609 float lineWidth;
2610 } VkPipelineRasterizationStateCreateInfo;
2611
2612 typedef struct VkPipelineMultisampleStateCreateInfo {
2613 VkStructureType sType;
2614 const void* pNext;
2615 VkPipelineMultisampleStateCreateFlags flags;
2616 VkSampleCountFlagBits rasterizationSamples;
2617 VkBool32 sampleShadingEnable;
2618 float minSampleShading;
2619 const VkSampleMask* pSampleMask;
2620 VkBool32 alphaToCoverageEnable;
2621 VkBool32 alphaToOneEnable;
2622 } VkPipelineMultisampleStateCreateInfo;
2623
2624 typedef struct VkStencilOpState {
2625 VkStencilOp failOp;
2626 VkStencilOp passOp;
2627 VkStencilOp depthFailOp;
2628 VkCompareOp compareOp;
2629 uint32_t compareMask;
2630 uint32_t writeMask;
2631 uint32_t reference;
2632 } VkStencilOpState;
2633
2634 typedef struct VkPipelineDepthStencilStateCreateInfo {
2635 VkStructureType sType;
2636 const void* pNext;
2637 VkPipelineDepthStencilStateCreateFlags flags;
2638 VkBool32 depthTestEnable;
2639 VkBool32 depthWriteEnable;
2640 VkCompareOp depthCompareOp;
2641 VkBool32 depthBoundsTestEnable;
2642 VkBool32 stencilTestEnable;
2643 VkStencilOpState front;
2644 VkStencilOpState back;
2645 float minDepthBounds;
2646 float maxDepthBounds;
2647 } VkPipelineDepthStencilStateCreateInfo;
2648
2649 typedef struct VkPipelineColorBlendAttachmentState {
2650 VkBool32 blendEnable;
2651 VkBlendFactor srcColorBlendFactor;
2652 VkBlendFactor dstColorBlendFactor;
2653 VkBlendOp colorBlendOp;
2654 VkBlendFactor srcAlphaBlendFactor;
2655 VkBlendFactor dstAlphaBlendFactor;
2656 VkBlendOp alphaBlendOp;
2657 VkColorComponentFlags colorWriteMask;
2658 } VkPipelineColorBlendAttachmentState;
2659
2660 typedef struct VkPipelineColorBlendStateCreateInfo {
2661 VkStructureType sType;
2662 const void* pNext;
2663 VkPipelineColorBlendStateCreateFlags flags;
2664 VkBool32 logicOpEnable;
2665 VkLogicOp logicOp;
2666 uint32_t attachmentCount;
2667 const VkPipelineColorBlendAttachmentState* pAttachments;
2668 float blendConstants[4];
2669 } VkPipelineColorBlendStateCreateInfo;
2670
2671 typedef struct VkPipelineDynamicStateCreateInfo {
2672 VkStructureType sType;
2673 const void* pNext;
2674 VkPipelineDynamicStateCreateFlags flags;
2675 uint32_t dynamicStateCount;
2676 const VkDynamicState* pDynamicStates;
2677 } VkPipelineDynamicStateCreateInfo;
2678
2679 typedef struct VkGraphicsPipelineCreateInfo {
2680 VkStructureType sType;
2681 const void* pNext;
2682 VkPipelineCreateFlags flags;
2683 uint32_t stageCount;
2684 const VkPipelineShaderStageCreateInfo* pStages;
2685 const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
2686 const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState;
2687 const VkPipelineTessellationStateCreateInfo* pTessellationState;
2688 const VkPipelineViewportStateCreateInfo* pViewportState;
2689 const VkPipelineRasterizationStateCreateInfo* pRasterizationState;
2690 const VkPipelineMultisampleStateCreateInfo* pMultisampleState;
2691 const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState;
2692 const VkPipelineColorBlendStateCreateInfo* pColorBlendState;
2693 const VkPipelineDynamicStateCreateInfo* pDynamicState;
2694 VkPipelineLayout layout;
2695 VkRenderPass renderPass;
2696 uint32_t subpass;
2697 VkPipeline basePipelineHandle;
2698 int32_t basePipelineIndex;
2699 } VkGraphicsPipelineCreateInfo;
2700
2701 typedef struct VkComputePipelineCreateInfo {
2702 VkStructureType sType;
2703 const void* pNext;
2704 VkPipelineCreateFlags flags;
2705 VkPipelineShaderStageCreateInfo stage;
2706 VkPipelineLayout layout;
2707 VkPipeline basePipelineHandle;
2708 int32_t basePipelineIndex;
2709 } VkComputePipelineCreateInfo;
2710
2711 typedef struct VkPushConstantRange {
2712 VkShaderStageFlags stageFlags;
2713 uint32_t offset;
2714 uint32_t size;
2715 } VkPushConstantRange;
2716
2717 typedef struct VkPipelineLayoutCreateInfo {
2718 VkStructureType sType;
2719 const void* pNext;
2720 VkPipelineLayoutCreateFlags flags;
2721 uint32_t setLayoutCount;
2722 const VkDescriptorSetLayout* pSetLayouts;
2723 uint32_t pushConstantRangeCount;
2724 const VkPushConstantRange* pPushConstantRanges;
2725 } VkPipelineLayoutCreateInfo;
2726
2727 typedef struct VkSamplerCreateInfo {
2728 VkStructureType sType;
2729 const void* pNext;
2730 VkSamplerCreateFlags flags;
2731 VkFilter magFilter;
2732 VkFilter minFilter;
2733 VkSamplerMipmapMode mipmapMode;
2734 VkSamplerAddressMode addressModeU;
2735 VkSamplerAddressMode addressModeV;
2736 VkSamplerAddressMode addressModeW;
2737 float mipLodBias;
2738 VkBool32 anisotropyEnable;
2739 float maxAnisotropy;
2740 VkBool32 compareEnable;
2741 VkCompareOp compareOp;
2742 float minLod;
2743 float maxLod;
2744 VkBorderColor borderColor;
2745 VkBool32 unnormalizedCoordinates;
2746 } VkSamplerCreateInfo;
2747
2748 typedef struct VkDescriptorSetLayoutBinding {
2749 uint32_t binding;
2750 VkDescriptorType descriptorType;
2751 uint32_t descriptorCount;
2752 VkShaderStageFlags stageFlags;
2753 const VkSampler* pImmutableSamplers;
2754 } VkDescriptorSetLayoutBinding;
2755
2756 typedef struct VkDescriptorSetLayoutCreateInfo {
2757 VkStructureType sType;
2758 const void* pNext;
2759 VkDescriptorSetLayoutCreateFlags flags;
2760 uint32_t bindingCount;
2761 const VkDescriptorSetLayoutBinding* pBindings;
2762 } VkDescriptorSetLayoutCreateInfo;
2763
2764 typedef struct VkDescriptorPoolSize {
2765 VkDescriptorType type;
2766 uint32_t descriptorCount;
2767 } VkDescriptorPoolSize;
2768
2769 typedef struct VkDescriptorPoolCreateInfo {
2770 VkStructureType sType;
2771 const void* pNext;
2772 VkDescriptorPoolCreateFlags flags;
2773 uint32_t maxSets;
2774 uint32_t poolSizeCount;
2775 const VkDescriptorPoolSize* pPoolSizes;
2776 } VkDescriptorPoolCreateInfo;
2777
2778 typedef struct VkDescriptorSetAllocateInfo {
2779 VkStructureType sType;
2780 const void* pNext;
2781 VkDescriptorPool descriptorPool;
2782 uint32_t descriptorSetCount;
2783 const VkDescriptorSetLayout* pSetLayouts;
2784 } VkDescriptorSetAllocateInfo;
2785
2786 typedef struct VkDescriptorImageInfo {
2787 VkSampler sampler;
2788 VkImageView imageView;
2789 VkImageLayout imageLayout;
2790 } VkDescriptorImageInfo;
2791
2792 typedef struct VkDescriptorBufferInfo {
2793 VkBuffer buffer;
2794 VkDeviceSize offset;
2795 VkDeviceSize range;
2796 } VkDescriptorBufferInfo;
2797
2798 typedef struct VkWriteDescriptorSet {
2799 VkStructureType sType;
2800 const void* pNext;
2801 VkDescriptorSet dstSet;
2802 uint32_t dstBinding;
2803 uint32_t dstArrayElement;
2804 uint32_t descriptorCount;
2805 VkDescriptorType descriptorType;
2806 const VkDescriptorImageInfo* pImageInfo;
2807 const VkDescriptorBufferInfo* pBufferInfo;
2808 const VkBufferView* pTexelBufferView;
2809 } VkWriteDescriptorSet;
2810
2811 typedef struct VkCopyDescriptorSet {
2812 VkStructureType sType;
2813 const void* pNext;
2814 VkDescriptorSet srcSet;
2815 uint32_t srcBinding;
2816 uint32_t srcArrayElement;
2817 VkDescriptorSet dstSet;
2818 uint32_t dstBinding;
2819 uint32_t dstArrayElement;
2820 uint32_t descriptorCount;
2821 } VkCopyDescriptorSet;
2822
2823 typedef struct VkFramebufferCreateInfo {
2824 VkStructureType sType;
2825 const void* pNext;
2826 VkFramebufferCreateFlags flags;
2827 VkRenderPass renderPass;
2828 uint32_t attachmentCount;
2829 const VkImageView* pAttachments;
2830 uint32_t width;
2831 uint32_t height;
2832 uint32_t layers;
2833 } VkFramebufferCreateInfo;
2834
2835 typedef struct VkAttachmentDescription {
2836 VkAttachmentDescriptionFlags flags;
2837 VkFormat format;
2838 VkSampleCountFlagBits samples;
2839 VkAttachmentLoadOp loadOp;
2840 VkAttachmentStoreOp storeOp;
2841 VkAttachmentLoadOp stencilLoadOp;
2842 VkAttachmentStoreOp stencilStoreOp;
2843 VkImageLayout initialLayout;
2844 VkImageLayout finalLayout;
2845 } VkAttachmentDescription;
2846
2847 typedef struct VkAttachmentReference {
2848 uint32_t attachment;
2849 VkImageLayout layout;
2850 } VkAttachmentReference;
2851
2852 typedef struct VkSubpassDescription {
2853 VkSubpassDescriptionFlags flags;
2854 VkPipelineBindPoint pipelineBindPoint;
2855 uint32_t inputAttachmentCount;
2856 const VkAttachmentReference* pInputAttachments;
2857 uint32_t colorAttachmentCount;
2858 const VkAttachmentReference* pColorAttachments;
2859 const VkAttachmentReference* pResolveAttachments;
2860 const VkAttachmentReference* pDepthStencilAttachment;
2861 uint32_t preserveAttachmentCount;
2862 const uint32_t* pPreserveAttachments;
2863 } VkSubpassDescription;
2864
2865 typedef struct VkSubpassDependency {
2866 uint32_t srcSubpass;
2867 uint32_t dstSubpass;
2868 VkPipelineStageFlags srcStageMask;
2869 VkPipelineStageFlags dstStageMask;
2870 VkAccessFlags srcAccessMask;
2871 VkAccessFlags dstAccessMask;
2872 VkDependencyFlags dependencyFlags;
2873 } VkSubpassDependency;
2874
2875 typedef struct VkRenderPassCreateInfo {
2876 VkStructureType sType;
2877 const void* pNext;
2878 VkRenderPassCreateFlags flags;
2879 uint32_t attachmentCount;
2880 const VkAttachmentDescription* pAttachments;
2881 uint32_t subpassCount;
2882 const VkSubpassDescription* pSubpasses;
2883 uint32_t dependencyCount;
2884 const VkSubpassDependency* pDependencies;
2885 } VkRenderPassCreateInfo;
2886
2887 typedef struct VkCommandPoolCreateInfo {
2888 VkStructureType sType;
2889 const void* pNext;
2890 VkCommandPoolCreateFlags flags;
2891 uint32_t queueFamilyIndex;
2892 } VkCommandPoolCreateInfo;
2893
2894 typedef struct VkCommandBufferAllocateInfo {
2895 VkStructureType sType;
2896 const void* pNext;
2897 VkCommandPool commandPool;
2898 VkCommandBufferLevel level;
2899 uint32_t commandBufferCount;
2900 } VkCommandBufferAllocateInfo;
2901
2902 typedef struct VkCommandBufferInheritanceInfo {
2903 VkStructureType sType;
2904 const void* pNext;
2905 VkRenderPass renderPass;
2906 uint32_t subpass;
2907 VkFramebuffer framebuffer;
2908 VkBool32 occlusionQueryEnable;
2909 VkQueryControlFlags queryFlags;
2910 VkQueryPipelineStatisticFlags pipelineStatistics;
2911 } VkCommandBufferInheritanceInfo;
2912
2913 typedef struct VkCommandBufferBeginInfo {
2914 VkStructureType sType;
2915 const void* pNext;
2916 VkCommandBufferUsageFlags flags;
2917 const VkCommandBufferInheritanceInfo* pInheritanceInfo;
2918 } VkCommandBufferBeginInfo;
2919
2920 typedef struct VkBufferCopy {
2921 VkDeviceSize srcOffset;
2922 VkDeviceSize dstOffset;
2923 VkDeviceSize size;
2924 } VkBufferCopy;
2925
2926 typedef struct VkImageSubresourceLayers {
2927 VkImageAspectFlags aspectMask;
2928 uint32_t mipLevel;
2929 uint32_t baseArrayLayer;
2930 uint32_t layerCount;
2931 } VkImageSubresourceLayers;
2932
2933 typedef struct VkImageCopy {
2934 VkImageSubresourceLayers srcSubresource;
2935 VkOffset3D srcOffset;
2936 VkImageSubresourceLayers dstSubresource;
2937 VkOffset3D dstOffset;
2938 VkExtent3D extent;
2939 } VkImageCopy;
2940
2941 typedef struct VkImageBlit {
2942 VkImageSubresourceLayers srcSubresource;
2943 VkOffset3D srcOffsets[2];
2944 VkImageSubresourceLayers dstSubresource;
2945 VkOffset3D dstOffsets[2];
2946 } VkImageBlit;
2947
2948 typedef struct VkBufferImageCopy {
2949 VkDeviceSize bufferOffset;
2950 uint32_t bufferRowLength;
2951 uint32_t bufferImageHeight;
2952 VkImageSubresourceLayers imageSubresource;
2953 VkOffset3D imageOffset;
2954 VkExtent3D imageExtent;
2955 } VkBufferImageCopy;
2956
2957 typedef union VkClearColorValue {
2958 float float32[4];
2959 int32_t int32[4];
2960 uint32_t uint32[4];
2961 } VkClearColorValue;
2962
2963 typedef struct VkClearDepthStencilValue {
2964 float depth;
2965 uint32_t stencil;
2966 } VkClearDepthStencilValue;
2967
2968 typedef union VkClearValue {
2969 VkClearColorValue color;
2970 VkClearDepthStencilValue depthStencil;
2971 } VkClearValue;
2972
2973 typedef struct VkClearAttachment {
2974 VkImageAspectFlags aspectMask;
2975 uint32_t colorAttachment;
2976 VkClearValue clearValue;
2977 } VkClearAttachment;
2978
2979 typedef struct VkClearRect {
2980 VkRect2D rect;
2981 uint32_t baseArrayLayer;
2982 uint32_t layerCount;
2983 } VkClearRect;
2984
2985 typedef struct VkImageResolve {
2986 VkImageSubresourceLayers srcSubresource;
2987 VkOffset3D srcOffset;
2988 VkImageSubresourceLayers dstSubresource;
2989 VkOffset3D dstOffset;
2990 VkExtent3D extent;
2991 } VkImageResolve;
2992
2993 typedef struct VkMemoryBarrier {
2994 VkStructureType sType;
2995 const void* pNext;
2996 VkAccessFlags srcAccessMask;
2997 VkAccessFlags dstAccessMask;
2998 } VkMemoryBarrier;
2999
3000 typedef struct VkBufferMemoryBarrier {
3001 VkStructureType sType;
3002 const void* pNext;
3003 VkAccessFlags srcAccessMask;
3004 VkAccessFlags dstAccessMask;
3005 uint32_t srcQueueFamilyIndex;
3006 uint32_t dstQueueFamilyIndex;
3007 VkBuffer buffer;
3008 VkDeviceSize offset;
3009 VkDeviceSize size;
3010 } VkBufferMemoryBarrier;
3011
3012 typedef struct VkImageMemoryBarrier {
3013 VkStructureType sType;
3014 const void* pNext;
3015 VkAccessFlags srcAccessMask;
3016 VkAccessFlags dstAccessMask;
3017 VkImageLayout oldLayout;
3018 VkImageLayout newLayout;
3019 uint32_t srcQueueFamilyIndex;
3020 uint32_t dstQueueFamilyIndex;
3021 VkImage image;
3022 VkImageSubresourceRange subresourceRange;
3023 } VkImageMemoryBarrier;
3024
3025 typedef struct VkRenderPassBeginInfo {
3026 VkStructureType sType;
3027 const void* pNext;
3028 VkRenderPass renderPass;
3029 VkFramebuffer framebuffer;
3030 VkRect2D renderArea;
3031 uint32_t clearValueCount;
3032 const VkClearValue* pClearValues;
3033 } VkRenderPassBeginInfo;
3034
3035 typedef struct VkDispatchIndirectCommand {
3036 uint32_t x;
3037 uint32_t y;
3038 uint32_t z;
3039 } VkDispatchIndirectCommand;
3040
3041 typedef struct VkDrawIndexedIndirectCommand {
3042 uint32_t indexCount;
3043 uint32_t instanceCount;
3044 uint32_t firstIndex;
3045 int32_t vertexOffset;
3046 uint32_t firstInstance;
3047 } VkDrawIndexedIndirectCommand;
3048
3049 typedef struct VkDrawIndirectCommand {
3050 uint32_t vertexCount;
3051 uint32_t instanceCount;
3052 uint32_t firstVertex;
3053 uint32_t firstInstance;
3054 } VkDrawIndirectCommand;
3055
3056 typedef struct VkBaseOutStructure {
3057 VkStructureType sType;
3058 struct VkBaseOutStructure* pNext;
3059 } VkBaseOutStructure;
3060
3061 typedef struct VkBaseInStructure {
3062 VkStructureType sType;
3063 const struct VkBaseInStructure* pNext;
3064 } VkBaseInStructure;
3065
3066 typedef VkResult (VKAPI_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance);
3067 typedef void (VKAPI_PTR *PFN_vkDestroyInstance)(VkInstance instance, const VkAllocationCallbacks* pAllocator);
3068 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDevices)(VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices);
3069 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures);
3070 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties);
3071 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties);
3072 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties);
3073 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties);
3074 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties);
3075 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddr)(VkInstance instance, const char* pName);
3076 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetDeviceProcAddr)(VkDevice device, const char* pName);
3077 typedef VkResult (VKAPI_PTR *PFN_vkCreateDevice)(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice);
3078 typedef void (VKAPI_PTR *PFN_vkDestroyDevice)(VkDevice device, const VkAllocationCallbacks* pAllocator);
3079 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceExtensionProperties)(const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties);
3080 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties);
3081 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceLayerProperties)(uint32_t* pPropertyCount, VkLayerProperties* pProperties);
3082 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties);
3083 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue)(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue);
3084 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence);
3085 typedef VkResult (VKAPI_PTR *PFN_vkQueueWaitIdle)(VkQueue queue);
3086 typedef VkResult (VKAPI_PTR *PFN_vkDeviceWaitIdle)(VkDevice device);
3087 typedef VkResult (VKAPI_PTR *PFN_vkAllocateMemory)(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory);
3088 typedef void (VKAPI_PTR *PFN_vkFreeMemory)(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator);
3089 typedef VkResult (VKAPI_PTR *PFN_vkMapMemory)(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData);
3090 typedef void (VKAPI_PTR *PFN_vkUnmapMemory)(VkDevice device, VkDeviceMemory memory);
3091 typedef VkResult (VKAPI_PTR *PFN_vkFlushMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
3092 typedef VkResult (VKAPI_PTR *PFN_vkInvalidateMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
3093 typedef void (VKAPI_PTR *PFN_vkGetDeviceMemoryCommitment)(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes);
3094 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory)(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset);
3095 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory)(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset);
3096 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements)(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements);
3097 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements)(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements);
3098 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements)(VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
3099 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties);
3100 typedef VkResult (VKAPI_PTR *PFN_vkQueueBindSparse)(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence);
3101 typedef VkResult (VKAPI_PTR *PFN_vkCreateFence)(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
3102 typedef void (VKAPI_PTR *PFN_vkDestroyFence)(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator);
3103 typedef VkResult (VKAPI_PTR *PFN_vkResetFences)(VkDevice device, uint32_t fenceCount, const VkFence* pFences);
3104 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceStatus)(VkDevice device, VkFence fence);
3105 typedef VkResult (VKAPI_PTR *PFN_vkWaitForFences)(VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout);
3106 typedef VkResult (VKAPI_PTR *PFN_vkCreateSemaphore)(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore);
3107 typedef void (VKAPI_PTR *PFN_vkDestroySemaphore)(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator);
3108 typedef VkResult (VKAPI_PTR *PFN_vkCreateEvent)(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent);
3109 typedef void (VKAPI_PTR *PFN_vkDestroyEvent)(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator);
3110 typedef VkResult (VKAPI_PTR *PFN_vkGetEventStatus)(VkDevice device, VkEvent event);
3111 typedef VkResult (VKAPI_PTR *PFN_vkSetEvent)(VkDevice device, VkEvent event);
3112 typedef VkResult (VKAPI_PTR *PFN_vkResetEvent)(VkDevice device, VkEvent event);
3113 typedef VkResult (VKAPI_PTR *PFN_vkCreateQueryPool)(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool);
3114 typedef void (VKAPI_PTR *PFN_vkDestroyQueryPool)(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator);
3115 typedef VkResult (VKAPI_PTR *PFN_vkGetQueryPoolResults)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags);
3116 typedef VkResult (VKAPI_PTR *PFN_vkCreateBuffer)(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer);
3117 typedef void (VKAPI_PTR *PFN_vkDestroyBuffer)(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator);
3118 typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferView)(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView);
3119 typedef void (VKAPI_PTR *PFN_vkDestroyBufferView)(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator);
3120 typedef VkResult (VKAPI_PTR *PFN_vkCreateImage)(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage);
3121 typedef void (VKAPI_PTR *PFN_vkDestroyImage)(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator);
3122 typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout)(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout);
3123 typedef VkResult (VKAPI_PTR *PFN_vkCreateImageView)(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView);
3124 typedef void (VKAPI_PTR *PFN_vkDestroyImageView)(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator);
3125 typedef VkResult (VKAPI_PTR *PFN_vkCreateShaderModule)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule);
3126 typedef void (VKAPI_PTR *PFN_vkDestroyShaderModule)(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator);
3127 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineCache)(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache);
3128 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineCache)(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator);
3129 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineCacheData)(VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData);
3130 typedef VkResult (VKAPI_PTR *PFN_vkMergePipelineCaches)(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches);
3131 typedef VkResult (VKAPI_PTR *PFN_vkCreateGraphicsPipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
3132 typedef VkResult (VKAPI_PTR *PFN_vkCreateComputePipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
3133 typedef void (VKAPI_PTR *PFN_vkDestroyPipeline)(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator);
3134 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineLayout)(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout);
3135 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineLayout)(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator);
3136 typedef VkResult (VKAPI_PTR *PFN_vkCreateSampler)(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler);
3137 typedef void (VKAPI_PTR *PFN_vkDestroySampler)(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator);
3138 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorSetLayout)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout);
3139 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorSetLayout)(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator);
3140 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorPool)(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool);
3141 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator);
3142 typedef VkResult (VKAPI_PTR *PFN_vkResetDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags);
3143 typedef VkResult (VKAPI_PTR *PFN_vkAllocateDescriptorSets)(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets);
3144 typedef VkResult (VKAPI_PTR *PFN_vkFreeDescriptorSets)(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets);
3145 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSets)(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies);
3146 typedef VkResult (VKAPI_PTR *PFN_vkCreateFramebuffer)(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer);
3147 typedef void (VKAPI_PTR *PFN_vkDestroyFramebuffer)(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator);
3148 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass)(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
3149 typedef void (VKAPI_PTR *PFN_vkDestroyRenderPass)(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator);
3150 typedef void (VKAPI_PTR *PFN_vkGetRenderAreaGranularity)(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity);
3151 typedef VkResult (VKAPI_PTR *PFN_vkCreateCommandPool)(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool);
3152 typedef void (VKAPI_PTR *PFN_vkDestroyCommandPool)(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator);
3153 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags);
3154 typedef VkResult (VKAPI_PTR *PFN_vkAllocateCommandBuffers)(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers);
3155 typedef void (VKAPI_PTR *PFN_vkFreeCommandBuffers)(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers);
3156 typedef VkResult (VKAPI_PTR *PFN_vkBeginCommandBuffer)(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo);
3157 typedef VkResult (VKAPI_PTR *PFN_vkEndCommandBuffer)(VkCommandBuffer commandBuffer);
3158 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandBuffer)(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags);
3159 typedef void (VKAPI_PTR *PFN_vkCmdBindPipeline)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline);
3160 typedef void (VKAPI_PTR *PFN_vkCmdSetViewport)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports);
3161 typedef void (VKAPI_PTR *PFN_vkCmdSetScissor)(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors);
3162 typedef void (VKAPI_PTR *PFN_vkCmdSetLineWidth)(VkCommandBuffer commandBuffer, float lineWidth);
3163 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias)(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor);
3164 typedef void (VKAPI_PTR *PFN_vkCmdSetBlendConstants)(VkCommandBuffer commandBuffer, const float blendConstants[4]);
3165 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBounds)(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds);
3166 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilCompareMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask);
3167 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilWriteMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask);
3168 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilReference)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference);
3169 typedef 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);
3170 typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType);
3171 typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets);
3172 typedef void (VKAPI_PTR *PFN_vkCmdDraw)(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance);
3173 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexed)(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance);
3174 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
3175 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
3176 typedef void (VKAPI_PTR *PFN_vkCmdDispatch)(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ);
3177 typedef void (VKAPI_PTR *PFN_vkCmdDispatchIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset);
3178 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions);
3179 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions);
3180 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter);
3181 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions);
3182 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions);
3183 typedef void (VKAPI_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData);
3184 typedef void (VKAPI_PTR *PFN_vkCmdFillBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data);
3185 typedef void (VKAPI_PTR *PFN_vkCmdClearColorImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges);
3186 typedef void (VKAPI_PTR *PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges);
3187 typedef void (VKAPI_PTR *PFN_vkCmdClearAttachments)(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects);
3188 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions);
3189 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
3190 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
3191 typedef 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);
3192 typedef 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);
3193 typedef void (VKAPI_PTR *PFN_vkCmdBeginQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags);
3194 typedef void (VKAPI_PTR *PFN_vkCmdEndQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query);
3195 typedef void (VKAPI_PTR *PFN_vkCmdResetQueryPool)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount);
3196 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query);
3197 typedef void (VKAPI_PTR *PFN_vkCmdCopyQueryPoolResults)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags);
3198 typedef void (VKAPI_PTR *PFN_vkCmdPushConstants)(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues);
3199 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents);
3200 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass)(VkCommandBuffer commandBuffer, VkSubpassContents contents);
3201 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass)(VkCommandBuffer commandBuffer);
3202 typedef void (VKAPI_PTR *PFN_vkCmdExecuteCommands)(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers);
3203
3204 #ifndef VK_NO_PROTOTYPES
3205 VKAPI_ATTR VkResult VKAPI_CALL vkCreateInstance(
3206 const VkInstanceCreateInfo* pCreateInfo,
3207 const VkAllocationCallbacks* pAllocator,
3208 VkInstance* pInstance);
3209
3210 VKAPI_ATTR void VKAPI_CALL vkDestroyInstance(
3211 VkInstance instance,
3212 const VkAllocationCallbacks* pAllocator);
3213
3214 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDevices(
3215 VkInstance instance,
3216 uint32_t* pPhysicalDeviceCount,
3217 VkPhysicalDevice* pPhysicalDevices);
3218
3219 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures(
3220 VkPhysicalDevice physicalDevice,
3221 VkPhysicalDeviceFeatures* pFeatures);
3222
3223 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties(
3224 VkPhysicalDevice physicalDevice,
3225 VkFormat format,
3226 VkFormatProperties* pFormatProperties);
3227
3228 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties(
3229 VkPhysicalDevice physicalDevice,
3230 VkFormat format,
3231 VkImageType type,
3232 VkImageTiling tiling,
3233 VkImageUsageFlags usage,
3234 VkImageCreateFlags flags,
3235 VkImageFormatProperties* pImageFormatProperties);
3236
3237 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties(
3238 VkPhysicalDevice physicalDevice,
3239 VkPhysicalDeviceProperties* pProperties);
3240
3241 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties(
3242 VkPhysicalDevice physicalDevice,
3243 uint32_t* pQueueFamilyPropertyCount,
3244 VkQueueFamilyProperties* pQueueFamilyProperties);
3245
3246 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties(
3247 VkPhysicalDevice physicalDevice,
3248 VkPhysicalDeviceMemoryProperties* pMemoryProperties);
3249
3250 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr(
3251 VkInstance instance,
3252 const char* pName);
3253
3254 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr(
3255 VkDevice device,
3256 const char* pName);
3257
3258 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDevice(
3259 VkPhysicalDevice physicalDevice,
3260 const VkDeviceCreateInfo* pCreateInfo,
3261 const VkAllocationCallbacks* pAllocator,
3262 VkDevice* pDevice);
3263
3264 VKAPI_ATTR void VKAPI_CALL vkDestroyDevice(
3265 VkDevice device,
3266 const VkAllocationCallbacks* pAllocator);
3267
3268 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionProperties(
3269 const char* pLayerName,
3270 uint32_t* pPropertyCount,
3271 VkExtensionProperties* pProperties);
3272
3273 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceExtensionProperties(
3274 VkPhysicalDevice physicalDevice,
3275 const char* pLayerName,
3276 uint32_t* pPropertyCount,
3277 VkExtensionProperties* pProperties);
3278
3279 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties(
3280 uint32_t* pPropertyCount,
3281 VkLayerProperties* pProperties);
3282
3283 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceLayerProperties(
3284 VkPhysicalDevice physicalDevice,
3285 uint32_t* pPropertyCount,
3286 VkLayerProperties* pProperties);
3287
3288 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue(
3289 VkDevice device,
3290 uint32_t queueFamilyIndex,
3291 uint32_t queueIndex,
3292 VkQueue* pQueue);
3293
3294 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit(
3295 VkQueue queue,
3296 uint32_t submitCount,
3297 const VkSubmitInfo* pSubmits,
3298 VkFence fence);
3299
3300 VKAPI_ATTR VkResult VKAPI_CALL vkQueueWaitIdle(
3301 VkQueue queue);
3302
3303 VKAPI_ATTR VkResult VKAPI_CALL vkDeviceWaitIdle(
3304 VkDevice device);
3305
3306 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateMemory(
3307 VkDevice device,
3308 const VkMemoryAllocateInfo* pAllocateInfo,
3309 const VkAllocationCallbacks* pAllocator,
3310 VkDeviceMemory* pMemory);
3311
3312 VKAPI_ATTR void VKAPI_CALL vkFreeMemory(
3313 VkDevice device,
3314 VkDeviceMemory memory,
3315 const VkAllocationCallbacks* pAllocator);
3316
3317 VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory(
3318 VkDevice device,
3319 VkDeviceMemory memory,
3320 VkDeviceSize offset,
3321 VkDeviceSize size,
3322 VkMemoryMapFlags flags,
3323 void** ppData);
3324
3325 VKAPI_ATTR void VKAPI_CALL vkUnmapMemory(
3326 VkDevice device,
3327 VkDeviceMemory memory);
3328
3329 VKAPI_ATTR VkResult VKAPI_CALL vkFlushMappedMemoryRanges(
3330 VkDevice device,
3331 uint32_t memoryRangeCount,
3332 const VkMappedMemoryRange* pMemoryRanges);
3333
3334 VKAPI_ATTR VkResult VKAPI_CALL vkInvalidateMappedMemoryRanges(
3335 VkDevice device,
3336 uint32_t memoryRangeCount,
3337 const VkMappedMemoryRange* pMemoryRanges);
3338
3339 VKAPI_ATTR void VKAPI_CALL vkGetDeviceMemoryCommitment(
3340 VkDevice device,
3341 VkDeviceMemory memory,
3342 VkDeviceSize* pCommittedMemoryInBytes);
3343
3344 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory(
3345 VkDevice device,
3346 VkBuffer buffer,
3347 VkDeviceMemory memory,
3348 VkDeviceSize memoryOffset);
3349
3350 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory(
3351 VkDevice device,
3352 VkImage image,
3353 VkDeviceMemory memory,
3354 VkDeviceSize memoryOffset);
3355
3356 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements(
3357 VkDevice device,
3358 VkBuffer buffer,
3359 VkMemoryRequirements* pMemoryRequirements);
3360
3361 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements(
3362 VkDevice device,
3363 VkImage image,
3364 VkMemoryRequirements* pMemoryRequirements);
3365
3366 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements(
3367 VkDevice device,
3368 VkImage image,
3369 uint32_t* pSparseMemoryRequirementCount,
3370 VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
3371
3372 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties(
3373 VkPhysicalDevice physicalDevice,
3374 VkFormat format,
3375 VkImageType type,
3376 VkSampleCountFlagBits samples,
3377 VkImageUsageFlags usage,
3378 VkImageTiling tiling,
3379 uint32_t* pPropertyCount,
3380 VkSparseImageFormatProperties* pProperties);
3381
3382 VKAPI_ATTR VkResult VKAPI_CALL vkQueueBindSparse(
3383 VkQueue queue,
3384 uint32_t bindInfoCount,
3385 const VkBindSparseInfo* pBindInfo,
3386 VkFence fence);
3387
3388 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFence(
3389 VkDevice device,
3390 const VkFenceCreateInfo* pCreateInfo,
3391 const VkAllocationCallbacks* pAllocator,
3392 VkFence* pFence);
3393
3394 VKAPI_ATTR void VKAPI_CALL vkDestroyFence(
3395 VkDevice device,
3396 VkFence fence,
3397 const VkAllocationCallbacks* pAllocator);
3398
3399 VKAPI_ATTR VkResult VKAPI_CALL vkResetFences(
3400 VkDevice device,
3401 uint32_t fenceCount,
3402 const VkFence* pFences);
3403
3404 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceStatus(
3405 VkDevice device,
3406 VkFence fence);
3407
3408 VKAPI_ATTR VkResult VKAPI_CALL vkWaitForFences(
3409 VkDevice device,
3410 uint32_t fenceCount,
3411 const VkFence* pFences,
3412 VkBool32 waitAll,
3413 uint64_t timeout);
3414
3415 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSemaphore(
3416 VkDevice device,
3417 const VkSemaphoreCreateInfo* pCreateInfo,
3418 const VkAllocationCallbacks* pAllocator,
3419 VkSemaphore* pSemaphore);
3420
3421 VKAPI_ATTR void VKAPI_CALL vkDestroySemaphore(
3422 VkDevice device,
3423 VkSemaphore semaphore,
3424 const VkAllocationCallbacks* pAllocator);
3425
3426 VKAPI_ATTR VkResult VKAPI_CALL vkCreateEvent(
3427 VkDevice device,
3428 const VkEventCreateInfo* pCreateInfo,
3429 const VkAllocationCallbacks* pAllocator,
3430 VkEvent* pEvent);
3431
3432 VKAPI_ATTR void VKAPI_CALL vkDestroyEvent(
3433 VkDevice device,
3434 VkEvent event,
3435 const VkAllocationCallbacks* pAllocator);
3436
3437 VKAPI_ATTR VkResult VKAPI_CALL vkGetEventStatus(
3438 VkDevice device,
3439 VkEvent event);
3440
3441 VKAPI_ATTR VkResult VKAPI_CALL vkSetEvent(
3442 VkDevice device,
3443 VkEvent event);
3444
3445 VKAPI_ATTR VkResult VKAPI_CALL vkResetEvent(
3446 VkDevice device,
3447 VkEvent event);
3448
3449 VKAPI_ATTR VkResult VKAPI_CALL vkCreateQueryPool(
3450 VkDevice device,
3451 const VkQueryPoolCreateInfo* pCreateInfo,
3452 const VkAllocationCallbacks* pAllocator,
3453 VkQueryPool* pQueryPool);
3454
3455 VKAPI_ATTR void VKAPI_CALL vkDestroyQueryPool(
3456 VkDevice device,
3457 VkQueryPool queryPool,
3458 const VkAllocationCallbacks* pAllocator);
3459
3460 VKAPI_ATTR VkResult VKAPI_CALL vkGetQueryPoolResults(
3461 VkDevice device,
3462 VkQueryPool queryPool,
3463 uint32_t firstQuery,
3464 uint32_t queryCount,
3465 size_t dataSize,
3466 void* pData,
3467 VkDeviceSize stride,
3468 VkQueryResultFlags flags);
3469
3470 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBuffer(
3471 VkDevice device,
3472 const VkBufferCreateInfo* pCreateInfo,
3473 const VkAllocationCallbacks* pAllocator,
3474 VkBuffer* pBuffer);
3475
3476 VKAPI_ATTR void VKAPI_CALL vkDestroyBuffer(
3477 VkDevice device,
3478 VkBuffer buffer,
3479 const VkAllocationCallbacks* pAllocator);
3480
3481 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferView(
3482 VkDevice device,
3483 const VkBufferViewCreateInfo* pCreateInfo,
3484 const VkAllocationCallbacks* pAllocator,
3485 VkBufferView* pView);
3486
3487 VKAPI_ATTR void VKAPI_CALL vkDestroyBufferView(
3488 VkDevice device,
3489 VkBufferView bufferView,
3490 const VkAllocationCallbacks* pAllocator);
3491
3492 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImage(
3493 VkDevice device,
3494 const VkImageCreateInfo* pCreateInfo,
3495 const VkAllocationCallbacks* pAllocator,
3496 VkImage* pImage);
3497
3498 VKAPI_ATTR void VKAPI_CALL vkDestroyImage(
3499 VkDevice device,
3500 VkImage image,
3501 const VkAllocationCallbacks* pAllocator);
3502
3503 VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout(
3504 VkDevice device,
3505 VkImage image,
3506 const VkImageSubresource* pSubresource,
3507 VkSubresourceLayout* pLayout);
3508
3509 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImageView(
3510 VkDevice device,
3511 const VkImageViewCreateInfo* pCreateInfo,
3512 const VkAllocationCallbacks* pAllocator,
3513 VkImageView* pView);
3514
3515 VKAPI_ATTR void VKAPI_CALL vkDestroyImageView(
3516 VkDevice device,
3517 VkImageView imageView,
3518 const VkAllocationCallbacks* pAllocator);
3519
3520 VKAPI_ATTR VkResult VKAPI_CALL vkCreateShaderModule(
3521 VkDevice device,
3522 const VkShaderModuleCreateInfo* pCreateInfo,
3523 const VkAllocationCallbacks* pAllocator,
3524 VkShaderModule* pShaderModule);
3525
3526 VKAPI_ATTR void VKAPI_CALL vkDestroyShaderModule(
3527 VkDevice device,
3528 VkShaderModule shaderModule,
3529 const VkAllocationCallbacks* pAllocator);
3530
3531 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineCache(
3532 VkDevice device,
3533 const VkPipelineCacheCreateInfo* pCreateInfo,
3534 const VkAllocationCallbacks* pAllocator,
3535 VkPipelineCache* pPipelineCache);
3536
3537 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineCache(
3538 VkDevice device,
3539 VkPipelineCache pipelineCache,
3540 const VkAllocationCallbacks* pAllocator);
3541
3542 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineCacheData(
3543 VkDevice device,
3544 VkPipelineCache pipelineCache,
3545 size_t* pDataSize,
3546 void* pData);
3547
3548 VKAPI_ATTR VkResult VKAPI_CALL vkMergePipelineCaches(
3549 VkDevice device,
3550 VkPipelineCache dstCache,
3551 uint32_t srcCacheCount,
3552 const VkPipelineCache* pSrcCaches);
3553
3554 VKAPI_ATTR VkResult VKAPI_CALL vkCreateGraphicsPipelines(
3555 VkDevice device,
3556 VkPipelineCache pipelineCache,
3557 uint32_t createInfoCount,
3558 const VkGraphicsPipelineCreateInfo* pCreateInfos,
3559 const VkAllocationCallbacks* pAllocator,
3560 VkPipeline* pPipelines);
3561
3562 VKAPI_ATTR VkResult VKAPI_CALL vkCreateComputePipelines(
3563 VkDevice device,
3564 VkPipelineCache pipelineCache,
3565 uint32_t createInfoCount,
3566 const VkComputePipelineCreateInfo* pCreateInfos,
3567 const VkAllocationCallbacks* pAllocator,
3568 VkPipeline* pPipelines);
3569
3570 VKAPI_ATTR void VKAPI_CALL vkDestroyPipeline(
3571 VkDevice device,
3572 VkPipeline pipeline,
3573 const VkAllocationCallbacks* pAllocator);
3574
3575 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineLayout(
3576 VkDevice device,
3577 const VkPipelineLayoutCreateInfo* pCreateInfo,
3578 const VkAllocationCallbacks* pAllocator,
3579 VkPipelineLayout* pPipelineLayout);
3580
3581 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineLayout(
3582 VkDevice device,
3583 VkPipelineLayout pipelineLayout,
3584 const VkAllocationCallbacks* pAllocator);
3585
3586 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSampler(
3587 VkDevice device,
3588 const VkSamplerCreateInfo* pCreateInfo,
3589 const VkAllocationCallbacks* pAllocator,
3590 VkSampler* pSampler);
3591
3592 VKAPI_ATTR void VKAPI_CALL vkDestroySampler(
3593 VkDevice device,
3594 VkSampler sampler,
3595 const VkAllocationCallbacks* pAllocator);
3596
3597 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorSetLayout(
3598 VkDevice device,
3599 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
3600 const VkAllocationCallbacks* pAllocator,
3601 VkDescriptorSetLayout* pSetLayout);
3602
3603 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorSetLayout(
3604 VkDevice device,
3605 VkDescriptorSetLayout descriptorSetLayout,
3606 const VkAllocationCallbacks* pAllocator);
3607
3608 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorPool(
3609 VkDevice device,
3610 const VkDescriptorPoolCreateInfo* pCreateInfo,
3611 const VkAllocationCallbacks* pAllocator,
3612 VkDescriptorPool* pDescriptorPool);
3613
3614 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorPool(
3615 VkDevice device,
3616 VkDescriptorPool descriptorPool,
3617 const VkAllocationCallbacks* pAllocator);
3618
3619 VKAPI_ATTR VkResult VKAPI_CALL vkResetDescriptorPool(
3620 VkDevice device,
3621 VkDescriptorPool descriptorPool,
3622 VkDescriptorPoolResetFlags flags);
3623
3624 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateDescriptorSets(
3625 VkDevice device,
3626 const VkDescriptorSetAllocateInfo* pAllocateInfo,
3627 VkDescriptorSet* pDescriptorSets);
3628
3629 VKAPI_ATTR VkResult VKAPI_CALL vkFreeDescriptorSets(
3630 VkDevice device,
3631 VkDescriptorPool descriptorPool,
3632 uint32_t descriptorSetCount,
3633 const VkDescriptorSet* pDescriptorSets);
3634
3635 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSets(
3636 VkDevice device,
3637 uint32_t descriptorWriteCount,
3638 const VkWriteDescriptorSet* pDescriptorWrites,
3639 uint32_t descriptorCopyCount,
3640 const VkCopyDescriptorSet* pDescriptorCopies);
3641
3642 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFramebuffer(
3643 VkDevice device,
3644 const VkFramebufferCreateInfo* pCreateInfo,
3645 const VkAllocationCallbacks* pAllocator,
3646 VkFramebuffer* pFramebuffer);
3647
3648 VKAPI_ATTR void VKAPI_CALL vkDestroyFramebuffer(
3649 VkDevice device,
3650 VkFramebuffer framebuffer,
3651 const VkAllocationCallbacks* pAllocator);
3652
3653 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass(
3654 VkDevice device,
3655 const VkRenderPassCreateInfo* pCreateInfo,
3656 const VkAllocationCallbacks* pAllocator,
3657 VkRenderPass* pRenderPass);
3658
3659 VKAPI_ATTR void VKAPI_CALL vkDestroyRenderPass(
3660 VkDevice device,
3661 VkRenderPass renderPass,
3662 const VkAllocationCallbacks* pAllocator);
3663
3664 VKAPI_ATTR void VKAPI_CALL vkGetRenderAreaGranularity(
3665 VkDevice device,
3666 VkRenderPass renderPass,
3667 VkExtent2D* pGranularity);
3668
3669 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCommandPool(
3670 VkDevice device,
3671 const VkCommandPoolCreateInfo* pCreateInfo,
3672 const VkAllocationCallbacks* pAllocator,
3673 VkCommandPool* pCommandPool);
3674
3675 VKAPI_ATTR void VKAPI_CALL vkDestroyCommandPool(
3676 VkDevice device,
3677 VkCommandPool commandPool,
3678 const VkAllocationCallbacks* pAllocator);
3679
3680 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandPool(
3681 VkDevice device,
3682 VkCommandPool commandPool,
3683 VkCommandPoolResetFlags flags);
3684
3685 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateCommandBuffers(
3686 VkDevice device,
3687 const VkCommandBufferAllocateInfo* pAllocateInfo,
3688 VkCommandBuffer* pCommandBuffers);
3689
3690 VKAPI_ATTR void VKAPI_CALL vkFreeCommandBuffers(
3691 VkDevice device,
3692 VkCommandPool commandPool,
3693 uint32_t commandBufferCount,
3694 const VkCommandBuffer* pCommandBuffers);
3695
3696 VKAPI_ATTR VkResult VKAPI_CALL vkBeginCommandBuffer(
3697 VkCommandBuffer commandBuffer,
3698 const VkCommandBufferBeginInfo* pBeginInfo);
3699
3700 VKAPI_ATTR VkResult VKAPI_CALL vkEndCommandBuffer(
3701 VkCommandBuffer commandBuffer);
3702
3703 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandBuffer(
3704 VkCommandBuffer commandBuffer,
3705 VkCommandBufferResetFlags flags);
3706
3707 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipeline(
3708 VkCommandBuffer commandBuffer,
3709 VkPipelineBindPoint pipelineBindPoint,
3710 VkPipeline pipeline);
3711
3712 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewport(
3713 VkCommandBuffer commandBuffer,
3714 uint32_t firstViewport,
3715 uint32_t viewportCount,
3716 const VkViewport* pViewports);
3717
3718 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissor(
3719 VkCommandBuffer commandBuffer,
3720 uint32_t firstScissor,
3721 uint32_t scissorCount,
3722 const VkRect2D* pScissors);
3723
3724 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineWidth(
3725 VkCommandBuffer commandBuffer,
3726 float lineWidth);
3727
3728 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias(
3729 VkCommandBuffer commandBuffer,
3730 float depthBiasConstantFactor,
3731 float depthBiasClamp,
3732 float depthBiasSlopeFactor);
3733
3734 VKAPI_ATTR void VKAPI_CALL vkCmdSetBlendConstants(
3735 VkCommandBuffer commandBuffer,
3736 const float blendConstants[4]);
3737
3738 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBounds(
3739 VkCommandBuffer commandBuffer,
3740 float minDepthBounds,
3741 float maxDepthBounds);
3742
3743 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilCompareMask(
3744 VkCommandBuffer commandBuffer,
3745 VkStencilFaceFlags faceMask,
3746 uint32_t compareMask);
3747
3748 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilWriteMask(
3749 VkCommandBuffer commandBuffer,
3750 VkStencilFaceFlags faceMask,
3751 uint32_t writeMask);
3752
3753 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilReference(
3754 VkCommandBuffer commandBuffer,
3755 VkStencilFaceFlags faceMask,
3756 uint32_t reference);
3757
3758 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets(
3759 VkCommandBuffer commandBuffer,
3760 VkPipelineBindPoint pipelineBindPoint,
3761 VkPipelineLayout layout,
3762 uint32_t firstSet,
3763 uint32_t descriptorSetCount,
3764 const VkDescriptorSet* pDescriptorSets,
3765 uint32_t dynamicOffsetCount,
3766 const uint32_t* pDynamicOffsets);
3767
3768 VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer(
3769 VkCommandBuffer commandBuffer,
3770 VkBuffer buffer,
3771 VkDeviceSize offset,
3772 VkIndexType indexType);
3773
3774 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers(
3775 VkCommandBuffer commandBuffer,
3776 uint32_t firstBinding,
3777 uint32_t bindingCount,
3778 const VkBuffer* pBuffers,
3779 const VkDeviceSize* pOffsets);
3780
3781 VKAPI_ATTR void VKAPI_CALL vkCmdDraw(
3782 VkCommandBuffer commandBuffer,
3783 uint32_t vertexCount,
3784 uint32_t instanceCount,
3785 uint32_t firstVertex,
3786 uint32_t firstInstance);
3787
3788 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexed(
3789 VkCommandBuffer commandBuffer,
3790 uint32_t indexCount,
3791 uint32_t instanceCount,
3792 uint32_t firstIndex,
3793 int32_t vertexOffset,
3794 uint32_t firstInstance);
3795
3796 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirect(
3797 VkCommandBuffer commandBuffer,
3798 VkBuffer buffer,
3799 VkDeviceSize offset,
3800 uint32_t drawCount,
3801 uint32_t stride);
3802
3803 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirect(
3804 VkCommandBuffer commandBuffer,
3805 VkBuffer buffer,
3806 VkDeviceSize offset,
3807 uint32_t drawCount,
3808 uint32_t stride);
3809
3810 VKAPI_ATTR void VKAPI_CALL vkCmdDispatch(
3811 VkCommandBuffer commandBuffer,
3812 uint32_t groupCountX,
3813 uint32_t groupCountY,
3814 uint32_t groupCountZ);
3815
3816 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchIndirect(
3817 VkCommandBuffer commandBuffer,
3818 VkBuffer buffer,
3819 VkDeviceSize offset);
3820
3821 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer(
3822 VkCommandBuffer commandBuffer,
3823 VkBuffer srcBuffer,
3824 VkBuffer dstBuffer,
3825 uint32_t regionCount,
3826 const VkBufferCopy* pRegions);
3827
3828 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage(
3829 VkCommandBuffer commandBuffer,
3830 VkImage srcImage,
3831 VkImageLayout srcImageLayout,
3832 VkImage dstImage,
3833 VkImageLayout dstImageLayout,
3834 uint32_t regionCount,
3835 const VkImageCopy* pRegions);
3836
3837 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage(
3838 VkCommandBuffer commandBuffer,
3839 VkImage srcImage,
3840 VkImageLayout srcImageLayout,
3841 VkImage dstImage,
3842 VkImageLayout dstImageLayout,
3843 uint32_t regionCount,
3844 const VkImageBlit* pRegions,
3845 VkFilter filter);
3846
3847 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage(
3848 VkCommandBuffer commandBuffer,
3849 VkBuffer srcBuffer,
3850 VkImage dstImage,
3851 VkImageLayout dstImageLayout,
3852 uint32_t regionCount,
3853 const VkBufferImageCopy* pRegions);
3854
3855 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer(
3856 VkCommandBuffer commandBuffer,
3857 VkImage srcImage,
3858 VkImageLayout srcImageLayout,
3859 VkBuffer dstBuffer,
3860 uint32_t regionCount,
3861 const VkBufferImageCopy* pRegions);
3862
3863 VKAPI_ATTR void VKAPI_CALL vkCmdUpdateBuffer(
3864 VkCommandBuffer commandBuffer,
3865 VkBuffer dstBuffer,
3866 VkDeviceSize dstOffset,
3867 VkDeviceSize dataSize,
3868 const void* pData);
3869
3870 VKAPI_ATTR void VKAPI_CALL vkCmdFillBuffer(
3871 VkCommandBuffer commandBuffer,
3872 VkBuffer dstBuffer,
3873 VkDeviceSize dstOffset,
3874 VkDeviceSize size,
3875 uint32_t data);
3876
3877 VKAPI_ATTR void VKAPI_CALL vkCmdClearColorImage(
3878 VkCommandBuffer commandBuffer,
3879 VkImage image,
3880 VkImageLayout imageLayout,
3881 const VkClearColorValue* pColor,
3882 uint32_t rangeCount,
3883 const VkImageSubresourceRange* pRanges);
3884
3885 VKAPI_ATTR void VKAPI_CALL vkCmdClearDepthStencilImage(
3886 VkCommandBuffer commandBuffer,
3887 VkImage image,
3888 VkImageLayout imageLayout,
3889 const VkClearDepthStencilValue* pDepthStencil,
3890 uint32_t rangeCount,
3891 const VkImageSubresourceRange* pRanges);
3892
3893 VKAPI_ATTR void VKAPI_CALL vkCmdClearAttachments(
3894 VkCommandBuffer commandBuffer,
3895 uint32_t attachmentCount,
3896 const VkClearAttachment* pAttachments,
3897 uint32_t rectCount,
3898 const VkClearRect* pRects);
3899
3900 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage(
3901 VkCommandBuffer commandBuffer,
3902 VkImage srcImage,
3903 VkImageLayout srcImageLayout,
3904 VkImage dstImage,
3905 VkImageLayout dstImageLayout,
3906 uint32_t regionCount,
3907 const VkImageResolve* pRegions);
3908
3909 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent(
3910 VkCommandBuffer commandBuffer,
3911 VkEvent event,
3912 VkPipelineStageFlags stageMask);
3913
3914 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent(
3915 VkCommandBuffer commandBuffer,
3916 VkEvent event,
3917 VkPipelineStageFlags stageMask);
3918
3919 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents(
3920 VkCommandBuffer commandBuffer,
3921 uint32_t eventCount,
3922 const VkEvent* pEvents,
3923 VkPipelineStageFlags srcStageMask,
3924 VkPipelineStageFlags dstStageMask,
3925 uint32_t memoryBarrierCount,
3926 const VkMemoryBarrier* pMemoryBarriers,
3927 uint32_t bufferMemoryBarrierCount,
3928 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
3929 uint32_t imageMemoryBarrierCount,
3930 const VkImageMemoryBarrier* pImageMemoryBarriers);
3931
3932 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier(
3933 VkCommandBuffer commandBuffer,
3934 VkPipelineStageFlags srcStageMask,
3935 VkPipelineStageFlags dstStageMask,
3936 VkDependencyFlags dependencyFlags,
3937 uint32_t memoryBarrierCount,
3938 const VkMemoryBarrier* pMemoryBarriers,
3939 uint32_t bufferMemoryBarrierCount,
3940 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
3941 uint32_t imageMemoryBarrierCount,
3942 const VkImageMemoryBarrier* pImageMemoryBarriers);
3943
3944 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQuery(
3945 VkCommandBuffer commandBuffer,
3946 VkQueryPool queryPool,
3947 uint32_t query,
3948 VkQueryControlFlags flags);
3949
3950 VKAPI_ATTR void VKAPI_CALL vkCmdEndQuery(
3951 VkCommandBuffer commandBuffer,
3952 VkQueryPool queryPool,
3953 uint32_t query);
3954
3955 VKAPI_ATTR void VKAPI_CALL vkCmdResetQueryPool(
3956 VkCommandBuffer commandBuffer,
3957 VkQueryPool queryPool,
3958 uint32_t firstQuery,
3959 uint32_t queryCount);
3960
3961 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp(
3962 VkCommandBuffer commandBuffer,
3963 VkPipelineStageFlagBits pipelineStage,
3964 VkQueryPool queryPool,
3965 uint32_t query);
3966
3967 VKAPI_ATTR void VKAPI_CALL vkCmdCopyQueryPoolResults(
3968 VkCommandBuffer commandBuffer,
3969 VkQueryPool queryPool,
3970 uint32_t firstQuery,
3971 uint32_t queryCount,
3972 VkBuffer dstBuffer,
3973 VkDeviceSize dstOffset,
3974 VkDeviceSize stride,
3975 VkQueryResultFlags flags);
3976
3977 VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants(
3978 VkCommandBuffer commandBuffer,
3979 VkPipelineLayout layout,
3980 VkShaderStageFlags stageFlags,
3981 uint32_t offset,
3982 uint32_t size,
3983 const void* pValues);
3984
3985 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass(
3986 VkCommandBuffer commandBuffer,
3987 const VkRenderPassBeginInfo* pRenderPassBegin,
3988 VkSubpassContents contents);
3989
3990 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass(
3991 VkCommandBuffer commandBuffer,
3992 VkSubpassContents contents);
3993
3994 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass(
3995 VkCommandBuffer commandBuffer);
3996
3997 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteCommands(
3998 VkCommandBuffer commandBuffer,
3999 uint32_t commandBufferCount,
4000 const VkCommandBuffer* pCommandBuffers);
4001 #endif
4002
4003
4004 #define VK_VERSION_1_1 1
4005 // Vulkan 1.1 version number
4006 #define VK_API_VERSION_1_1 VK_MAKE_VERSION(1, 1, 0)// Patch version should always be set to 0
4007
4008 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion)
4009 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate)
4010 #define VK_MAX_DEVICE_GROUP_SIZE 32
4011 #define VK_LUID_SIZE 8
4012 #define VK_QUEUE_FAMILY_EXTERNAL (~0U-1)
4013
4014 typedef enum VkPointClippingBehavior {
4015 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES = 0,
4016 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY = 1,
4017 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES,
4018 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY,
4019 VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF
4020 } VkPointClippingBehavior;
4021
4022 typedef enum VkTessellationDomainOrigin {
4023 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT = 0,
4024 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT = 1,
4025 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT,
4026 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT,
4027 VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM = 0x7FFFFFFF
4028 } VkTessellationDomainOrigin;
4029
4030 typedef enum VkSamplerYcbcrModelConversion {
4031 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY = 0,
4032 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY = 1,
4033 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 = 2,
4034 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 = 3,
4035 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 = 4,
4036 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY,
4037 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY,
4038 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709,
4039 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601,
4040 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020,
4041 VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM = 0x7FFFFFFF
4042 } VkSamplerYcbcrModelConversion;
4043
4044 typedef enum VkSamplerYcbcrRange {
4045 VK_SAMPLER_YCBCR_RANGE_ITU_FULL = 0,
4046 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW = 1,
4047 VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_FULL,
4048 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW,
4049 VK_SAMPLER_YCBCR_RANGE_MAX_ENUM = 0x7FFFFFFF
4050 } VkSamplerYcbcrRange;
4051
4052 typedef enum VkChromaLocation {
4053 VK_CHROMA_LOCATION_COSITED_EVEN = 0,
4054 VK_CHROMA_LOCATION_MIDPOINT = 1,
4055 VK_CHROMA_LOCATION_COSITED_EVEN_KHR = VK_CHROMA_LOCATION_COSITED_EVEN,
4056 VK_CHROMA_LOCATION_MIDPOINT_KHR = VK_CHROMA_LOCATION_MIDPOINT,
4057 VK_CHROMA_LOCATION_MAX_ENUM = 0x7FFFFFFF
4058 } VkChromaLocation;
4059
4060 typedef enum VkDescriptorUpdateTemplateType {
4061 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET = 0,
4062 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR = 1,
4063 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,
4064 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM = 0x7FFFFFFF
4065 } VkDescriptorUpdateTemplateType;
4066
4067 typedef enum VkSubgroupFeatureFlagBits {
4068 VK_SUBGROUP_FEATURE_BASIC_BIT = 0x00000001,
4069 VK_SUBGROUP_FEATURE_VOTE_BIT = 0x00000002,
4070 VK_SUBGROUP_FEATURE_ARITHMETIC_BIT = 0x00000004,
4071 VK_SUBGROUP_FEATURE_BALLOT_BIT = 0x00000008,
4072 VK_SUBGROUP_FEATURE_SHUFFLE_BIT = 0x00000010,
4073 VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = 0x00000020,
4074 VK_SUBGROUP_FEATURE_CLUSTERED_BIT = 0x00000040,
4075 VK_SUBGROUP_FEATURE_QUAD_BIT = 0x00000080,
4076 VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x00000100,
4077 VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4078 } VkSubgroupFeatureFlagBits;
4079 typedef VkFlags VkSubgroupFeatureFlags;
4080
4081 typedef enum VkPeerMemoryFeatureFlagBits {
4082 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT = 0x00000001,
4083 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT = 0x00000002,
4084 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT = 0x00000004,
4085 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT = 0x00000008,
4086 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT,
4087 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_DST_BIT,
4088 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT,
4089 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT,
4090 VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4091 } VkPeerMemoryFeatureFlagBits;
4092 typedef VkFlags VkPeerMemoryFeatureFlags;
4093
4094 typedef enum VkMemoryAllocateFlagBits {
4095 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT = 0x00000001,
4096 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT = 0x00000002,
4097 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000004,
4098 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT,
4099 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT,
4100 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
4101 VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4102 } VkMemoryAllocateFlagBits;
4103 typedef VkFlags VkMemoryAllocateFlags;
4104 typedef VkFlags VkCommandPoolTrimFlags;
4105 typedef VkFlags VkDescriptorUpdateTemplateCreateFlags;
4106
4107 typedef enum VkExternalMemoryHandleTypeFlagBits {
4108 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
4109 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
4110 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
4111 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT = 0x00000008,
4112 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT = 0x00000010,
4113 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT = 0x00000020,
4114 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT = 0x00000040,
4115 VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT = 0x00000200,
4116 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID = 0x00000400,
4117 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 0x00000080,
4118 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 0x00000100,
4119 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT,
4120 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT,
4121 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
4122 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT,
4123 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT,
4124 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT,
4125 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT,
4126 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4127 } VkExternalMemoryHandleTypeFlagBits;
4128 typedef VkFlags VkExternalMemoryHandleTypeFlags;
4129
4130 typedef enum VkExternalMemoryFeatureFlagBits {
4131 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT = 0x00000001,
4132 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT = 0x00000002,
4133 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT = 0x00000004,
4134 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT,
4135 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT,
4136 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT,
4137 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4138 } VkExternalMemoryFeatureFlagBits;
4139 typedef VkFlags VkExternalMemoryFeatureFlags;
4140
4141 typedef enum VkExternalFenceHandleTypeFlagBits {
4142 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
4143 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
4144 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
4145 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000008,
4146 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT,
4147 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
4148 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
4149 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT,
4150 VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4151 } VkExternalFenceHandleTypeFlagBits;
4152 typedef VkFlags VkExternalFenceHandleTypeFlags;
4153
4154 typedef enum VkExternalFenceFeatureFlagBits {
4155 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT = 0x00000001,
4156 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT = 0x00000002,
4157 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT,
4158 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT,
4159 VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4160 } VkExternalFenceFeatureFlagBits;
4161 typedef VkFlags VkExternalFenceFeatureFlags;
4162
4163 typedef enum VkFenceImportFlagBits {
4164 VK_FENCE_IMPORT_TEMPORARY_BIT = 0x00000001,
4165 VK_FENCE_IMPORT_TEMPORARY_BIT_KHR = VK_FENCE_IMPORT_TEMPORARY_BIT,
4166 VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4167 } VkFenceImportFlagBits;
4168 typedef VkFlags VkFenceImportFlags;
4169
4170 typedef enum VkSemaphoreImportFlagBits {
4171 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT = 0x00000001,
4172 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT,
4173 VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4174 } VkSemaphoreImportFlagBits;
4175 typedef VkFlags VkSemaphoreImportFlags;
4176
4177 typedef enum VkExternalSemaphoreHandleTypeFlagBits {
4178 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
4179 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
4180 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
4181 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT = 0x00000008,
4182 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000010,
4183 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT,
4184 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
4185 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
4186 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
4187 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT,
4188 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4189 } VkExternalSemaphoreHandleTypeFlagBits;
4190 typedef VkFlags VkExternalSemaphoreHandleTypeFlags;
4191
4192 typedef enum VkExternalSemaphoreFeatureFlagBits {
4193 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT = 0x00000001,
4194 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT = 0x00000002,
4195 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT,
4196 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT,
4197 VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4198 } VkExternalSemaphoreFeatureFlagBits;
4199 typedef VkFlags VkExternalSemaphoreFeatureFlags;
4200 typedef struct VkPhysicalDeviceSubgroupProperties {
4201 VkStructureType sType;
4202 void* pNext;
4203 uint32_t subgroupSize;
4204 VkShaderStageFlags supportedStages;
4205 VkSubgroupFeatureFlags supportedOperations;
4206 VkBool32 quadOperationsInAllStages;
4207 } VkPhysicalDeviceSubgroupProperties;
4208
4209 typedef struct VkBindBufferMemoryInfo {
4210 VkStructureType sType;
4211 const void* pNext;
4212 VkBuffer buffer;
4213 VkDeviceMemory memory;
4214 VkDeviceSize memoryOffset;
4215 } VkBindBufferMemoryInfo;
4216
4217 typedef struct VkBindImageMemoryInfo {
4218 VkStructureType sType;
4219 const void* pNext;
4220 VkImage image;
4221 VkDeviceMemory memory;
4222 VkDeviceSize memoryOffset;
4223 } VkBindImageMemoryInfo;
4224
4225 typedef struct VkPhysicalDevice16BitStorageFeatures {
4226 VkStructureType sType;
4227 void* pNext;
4228 VkBool32 storageBuffer16BitAccess;
4229 VkBool32 uniformAndStorageBuffer16BitAccess;
4230 VkBool32 storagePushConstant16;
4231 VkBool32 storageInputOutput16;
4232 } VkPhysicalDevice16BitStorageFeatures;
4233
4234 typedef struct VkMemoryDedicatedRequirements {
4235 VkStructureType sType;
4236 void* pNext;
4237 VkBool32 prefersDedicatedAllocation;
4238 VkBool32 requiresDedicatedAllocation;
4239 } VkMemoryDedicatedRequirements;
4240
4241 typedef struct VkMemoryDedicatedAllocateInfo {
4242 VkStructureType sType;
4243 const void* pNext;
4244 VkImage image;
4245 VkBuffer buffer;
4246 } VkMemoryDedicatedAllocateInfo;
4247
4248 typedef struct VkMemoryAllocateFlagsInfo {
4249 VkStructureType sType;
4250 const void* pNext;
4251 VkMemoryAllocateFlags flags;
4252 uint32_t deviceMask;
4253 } VkMemoryAllocateFlagsInfo;
4254
4255 typedef struct VkDeviceGroupRenderPassBeginInfo {
4256 VkStructureType sType;
4257 const void* pNext;
4258 uint32_t deviceMask;
4259 uint32_t deviceRenderAreaCount;
4260 const VkRect2D* pDeviceRenderAreas;
4261 } VkDeviceGroupRenderPassBeginInfo;
4262
4263 typedef struct VkDeviceGroupCommandBufferBeginInfo {
4264 VkStructureType sType;
4265 const void* pNext;
4266 uint32_t deviceMask;
4267 } VkDeviceGroupCommandBufferBeginInfo;
4268
4269 typedef struct VkDeviceGroupSubmitInfo {
4270 VkStructureType sType;
4271 const void* pNext;
4272 uint32_t waitSemaphoreCount;
4273 const uint32_t* pWaitSemaphoreDeviceIndices;
4274 uint32_t commandBufferCount;
4275 const uint32_t* pCommandBufferDeviceMasks;
4276 uint32_t signalSemaphoreCount;
4277 const uint32_t* pSignalSemaphoreDeviceIndices;
4278 } VkDeviceGroupSubmitInfo;
4279
4280 typedef struct VkDeviceGroupBindSparseInfo {
4281 VkStructureType sType;
4282 const void* pNext;
4283 uint32_t resourceDeviceIndex;
4284 uint32_t memoryDeviceIndex;
4285 } VkDeviceGroupBindSparseInfo;
4286
4287 typedef struct VkBindBufferMemoryDeviceGroupInfo {
4288 VkStructureType sType;
4289 const void* pNext;
4290 uint32_t deviceIndexCount;
4291 const uint32_t* pDeviceIndices;
4292 } VkBindBufferMemoryDeviceGroupInfo;
4293
4294 typedef struct VkBindImageMemoryDeviceGroupInfo {
4295 VkStructureType sType;
4296 const void* pNext;
4297 uint32_t deviceIndexCount;
4298 const uint32_t* pDeviceIndices;
4299 uint32_t splitInstanceBindRegionCount;
4300 const VkRect2D* pSplitInstanceBindRegions;
4301 } VkBindImageMemoryDeviceGroupInfo;
4302
4303 typedef struct VkPhysicalDeviceGroupProperties {
4304 VkStructureType sType;
4305 void* pNext;
4306 uint32_t physicalDeviceCount;
4307 VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE];
4308 VkBool32 subsetAllocation;
4309 } VkPhysicalDeviceGroupProperties;
4310
4311 typedef struct VkDeviceGroupDeviceCreateInfo {
4312 VkStructureType sType;
4313 const void* pNext;
4314 uint32_t physicalDeviceCount;
4315 const VkPhysicalDevice* pPhysicalDevices;
4316 } VkDeviceGroupDeviceCreateInfo;
4317
4318 typedef struct VkBufferMemoryRequirementsInfo2 {
4319 VkStructureType sType;
4320 const void* pNext;
4321 VkBuffer buffer;
4322 } VkBufferMemoryRequirementsInfo2;
4323
4324 typedef struct VkImageMemoryRequirementsInfo2 {
4325 VkStructureType sType;
4326 const void* pNext;
4327 VkImage image;
4328 } VkImageMemoryRequirementsInfo2;
4329
4330 typedef struct VkImageSparseMemoryRequirementsInfo2 {
4331 VkStructureType sType;
4332 const void* pNext;
4333 VkImage image;
4334 } VkImageSparseMemoryRequirementsInfo2;
4335
4336 typedef struct VkMemoryRequirements2 {
4337 VkStructureType sType;
4338 void* pNext;
4339 VkMemoryRequirements memoryRequirements;
4340 } VkMemoryRequirements2;
4341
4342 typedef VkMemoryRequirements2 VkMemoryRequirements2KHR;
4343
4344 typedef struct VkSparseImageMemoryRequirements2 {
4345 VkStructureType sType;
4346 void* pNext;
4347 VkSparseImageMemoryRequirements memoryRequirements;
4348 } VkSparseImageMemoryRequirements2;
4349
4350 typedef struct VkPhysicalDeviceFeatures2 {
4351 VkStructureType sType;
4352 void* pNext;
4353 VkPhysicalDeviceFeatures features;
4354 } VkPhysicalDeviceFeatures2;
4355
4356 typedef struct VkPhysicalDeviceProperties2 {
4357 VkStructureType sType;
4358 void* pNext;
4359 VkPhysicalDeviceProperties properties;
4360 } VkPhysicalDeviceProperties2;
4361
4362 typedef struct VkFormatProperties2 {
4363 VkStructureType sType;
4364 void* pNext;
4365 VkFormatProperties formatProperties;
4366 } VkFormatProperties2;
4367
4368 typedef struct VkImageFormatProperties2 {
4369 VkStructureType sType;
4370 void* pNext;
4371 VkImageFormatProperties imageFormatProperties;
4372 } VkImageFormatProperties2;
4373
4374 typedef struct VkPhysicalDeviceImageFormatInfo2 {
4375 VkStructureType sType;
4376 const void* pNext;
4377 VkFormat format;
4378 VkImageType type;
4379 VkImageTiling tiling;
4380 VkImageUsageFlags usage;
4381 VkImageCreateFlags flags;
4382 } VkPhysicalDeviceImageFormatInfo2;
4383
4384 typedef struct VkQueueFamilyProperties2 {
4385 VkStructureType sType;
4386 void* pNext;
4387 VkQueueFamilyProperties queueFamilyProperties;
4388 } VkQueueFamilyProperties2;
4389
4390 typedef struct VkPhysicalDeviceMemoryProperties2 {
4391 VkStructureType sType;
4392 void* pNext;
4393 VkPhysicalDeviceMemoryProperties memoryProperties;
4394 } VkPhysicalDeviceMemoryProperties2;
4395
4396 typedef struct VkSparseImageFormatProperties2 {
4397 VkStructureType sType;
4398 void* pNext;
4399 VkSparseImageFormatProperties properties;
4400 } VkSparseImageFormatProperties2;
4401
4402 typedef struct VkPhysicalDeviceSparseImageFormatInfo2 {
4403 VkStructureType sType;
4404 const void* pNext;
4405 VkFormat format;
4406 VkImageType type;
4407 VkSampleCountFlagBits samples;
4408 VkImageUsageFlags usage;
4409 VkImageTiling tiling;
4410 } VkPhysicalDeviceSparseImageFormatInfo2;
4411
4412 typedef struct VkPhysicalDevicePointClippingProperties {
4413 VkStructureType sType;
4414 void* pNext;
4415 VkPointClippingBehavior pointClippingBehavior;
4416 } VkPhysicalDevicePointClippingProperties;
4417
4418 typedef struct VkInputAttachmentAspectReference {
4419 uint32_t subpass;
4420 uint32_t inputAttachmentIndex;
4421 VkImageAspectFlags aspectMask;
4422 } VkInputAttachmentAspectReference;
4423
4424 typedef struct VkRenderPassInputAttachmentAspectCreateInfo {
4425 VkStructureType sType;
4426 const void* pNext;
4427 uint32_t aspectReferenceCount;
4428 const VkInputAttachmentAspectReference* pAspectReferences;
4429 } VkRenderPassInputAttachmentAspectCreateInfo;
4430
4431 typedef struct VkImageViewUsageCreateInfo {
4432 VkStructureType sType;
4433 const void* pNext;
4434 VkImageUsageFlags usage;
4435 } VkImageViewUsageCreateInfo;
4436
4437 typedef struct VkPipelineTessellationDomainOriginStateCreateInfo {
4438 VkStructureType sType;
4439 const void* pNext;
4440 VkTessellationDomainOrigin domainOrigin;
4441 } VkPipelineTessellationDomainOriginStateCreateInfo;
4442
4443 typedef struct VkRenderPassMultiviewCreateInfo {
4444 VkStructureType sType;
4445 const void* pNext;
4446 uint32_t subpassCount;
4447 const uint32_t* pViewMasks;
4448 uint32_t dependencyCount;
4449 const int32_t* pViewOffsets;
4450 uint32_t correlationMaskCount;
4451 const uint32_t* pCorrelationMasks;
4452 } VkRenderPassMultiviewCreateInfo;
4453
4454 typedef struct VkPhysicalDeviceMultiviewFeatures {
4455 VkStructureType sType;
4456 void* pNext;
4457 VkBool32 multiview;
4458 VkBool32 multiviewGeometryShader;
4459 VkBool32 multiviewTessellationShader;
4460 } VkPhysicalDeviceMultiviewFeatures;
4461
4462 typedef struct VkPhysicalDeviceMultiviewProperties {
4463 VkStructureType sType;
4464 void* pNext;
4465 uint32_t maxMultiviewViewCount;
4466 uint32_t maxMultiviewInstanceIndex;
4467 } VkPhysicalDeviceMultiviewProperties;
4468
4469 typedef struct VkPhysicalDeviceVariablePointersFeatures {
4470 VkStructureType sType;
4471 void* pNext;
4472 VkBool32 variablePointersStorageBuffer;
4473 VkBool32 variablePointers;
4474 } VkPhysicalDeviceVariablePointersFeatures;
4475
4476 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeatures;
4477
4478 typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
4479 VkStructureType sType;
4480 void* pNext;
4481 VkBool32 protectedMemory;
4482 } VkPhysicalDeviceProtectedMemoryFeatures;
4483
4484 typedef struct VkPhysicalDeviceProtectedMemoryProperties {
4485 VkStructureType sType;
4486 void* pNext;
4487 VkBool32 protectedNoFault;
4488 } VkPhysicalDeviceProtectedMemoryProperties;
4489
4490 typedef struct VkDeviceQueueInfo2 {
4491 VkStructureType sType;
4492 const void* pNext;
4493 VkDeviceQueueCreateFlags flags;
4494 uint32_t queueFamilyIndex;
4495 uint32_t queueIndex;
4496 } VkDeviceQueueInfo2;
4497
4498 typedef struct VkProtectedSubmitInfo {
4499 VkStructureType sType;
4500 const void* pNext;
4501 VkBool32 protectedSubmit;
4502 } VkProtectedSubmitInfo;
4503
4504 typedef struct VkSamplerYcbcrConversionCreateInfo {
4505 VkStructureType sType;
4506 const void* pNext;
4507 VkFormat format;
4508 VkSamplerYcbcrModelConversion ycbcrModel;
4509 VkSamplerYcbcrRange ycbcrRange;
4510 VkComponentMapping components;
4511 VkChromaLocation xChromaOffset;
4512 VkChromaLocation yChromaOffset;
4513 VkFilter chromaFilter;
4514 VkBool32 forceExplicitReconstruction;
4515 } VkSamplerYcbcrConversionCreateInfo;
4516
4517 typedef struct VkSamplerYcbcrConversionInfo {
4518 VkStructureType sType;
4519 const void* pNext;
4520 VkSamplerYcbcrConversion conversion;
4521 } VkSamplerYcbcrConversionInfo;
4522
4523 typedef struct VkBindImagePlaneMemoryInfo {
4524 VkStructureType sType;
4525 const void* pNext;
4526 VkImageAspectFlagBits planeAspect;
4527 } VkBindImagePlaneMemoryInfo;
4528
4529 typedef struct VkImagePlaneMemoryRequirementsInfo {
4530 VkStructureType sType;
4531 const void* pNext;
4532 VkImageAspectFlagBits planeAspect;
4533 } VkImagePlaneMemoryRequirementsInfo;
4534
4535 typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
4536 VkStructureType sType;
4537 void* pNext;
4538 VkBool32 samplerYcbcrConversion;
4539 } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
4540
4541 typedef struct VkSamplerYcbcrConversionImageFormatProperties {
4542 VkStructureType sType;
4543 void* pNext;
4544 uint32_t combinedImageSamplerDescriptorCount;
4545 } VkSamplerYcbcrConversionImageFormatProperties;
4546
4547 typedef struct VkDescriptorUpdateTemplateEntry {
4548 uint32_t dstBinding;
4549 uint32_t dstArrayElement;
4550 uint32_t descriptorCount;
4551 VkDescriptorType descriptorType;
4552 size_t offset;
4553 size_t stride;
4554 } VkDescriptorUpdateTemplateEntry;
4555
4556 typedef struct VkDescriptorUpdateTemplateCreateInfo {
4557 VkStructureType sType;
4558 const void* pNext;
4559 VkDescriptorUpdateTemplateCreateFlags flags;
4560 uint32_t descriptorUpdateEntryCount;
4561 const VkDescriptorUpdateTemplateEntry* pDescriptorUpdateEntries;
4562 VkDescriptorUpdateTemplateType templateType;
4563 VkDescriptorSetLayout descriptorSetLayout;
4564 VkPipelineBindPoint pipelineBindPoint;
4565 VkPipelineLayout pipelineLayout;
4566 uint32_t set;
4567 } VkDescriptorUpdateTemplateCreateInfo;
4568
4569 typedef struct VkExternalMemoryProperties {
4570 VkExternalMemoryFeatureFlags externalMemoryFeatures;
4571 VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes;
4572 VkExternalMemoryHandleTypeFlags compatibleHandleTypes;
4573 } VkExternalMemoryProperties;
4574
4575 typedef struct VkPhysicalDeviceExternalImageFormatInfo {
4576 VkStructureType sType;
4577 const void* pNext;
4578 VkExternalMemoryHandleTypeFlagBits handleType;
4579 } VkPhysicalDeviceExternalImageFormatInfo;
4580
4581 typedef struct VkExternalImageFormatProperties {
4582 VkStructureType sType;
4583 void* pNext;
4584 VkExternalMemoryProperties externalMemoryProperties;
4585 } VkExternalImageFormatProperties;
4586
4587 typedef struct VkPhysicalDeviceExternalBufferInfo {
4588 VkStructureType sType;
4589 const void* pNext;
4590 VkBufferCreateFlags flags;
4591 VkBufferUsageFlags usage;
4592 VkExternalMemoryHandleTypeFlagBits handleType;
4593 } VkPhysicalDeviceExternalBufferInfo;
4594
4595 typedef struct VkExternalBufferProperties {
4596 VkStructureType sType;
4597 void* pNext;
4598 VkExternalMemoryProperties externalMemoryProperties;
4599 } VkExternalBufferProperties;
4600
4601 typedef struct VkPhysicalDeviceIDProperties {
4602 VkStructureType sType;
4603 void* pNext;
4604 uint8_t deviceUUID[VK_UUID_SIZE];
4605 uint8_t driverUUID[VK_UUID_SIZE];
4606 uint8_t deviceLUID[VK_LUID_SIZE];
4607 uint32_t deviceNodeMask;
4608 VkBool32 deviceLUIDValid;
4609 } VkPhysicalDeviceIDProperties;
4610
4611 typedef struct VkExternalMemoryImageCreateInfo {
4612 VkStructureType sType;
4613 const void* pNext;
4614 VkExternalMemoryHandleTypeFlags handleTypes;
4615 } VkExternalMemoryImageCreateInfo;
4616
4617 typedef struct VkExternalMemoryBufferCreateInfo {
4618 VkStructureType sType;
4619 const void* pNext;
4620 VkExternalMemoryHandleTypeFlags handleTypes;
4621 } VkExternalMemoryBufferCreateInfo;
4622
4623 typedef struct VkExportMemoryAllocateInfo {
4624 VkStructureType sType;
4625 const void* pNext;
4626 VkExternalMemoryHandleTypeFlags handleTypes;
4627 } VkExportMemoryAllocateInfo;
4628
4629 typedef struct VkPhysicalDeviceExternalFenceInfo {
4630 VkStructureType sType;
4631 const void* pNext;
4632 VkExternalFenceHandleTypeFlagBits handleType;
4633 } VkPhysicalDeviceExternalFenceInfo;
4634
4635 typedef struct VkExternalFenceProperties {
4636 VkStructureType sType;
4637 void* pNext;
4638 VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes;
4639 VkExternalFenceHandleTypeFlags compatibleHandleTypes;
4640 VkExternalFenceFeatureFlags externalFenceFeatures;
4641 } VkExternalFenceProperties;
4642
4643 typedef struct VkExportFenceCreateInfo {
4644 VkStructureType sType;
4645 const void* pNext;
4646 VkExternalFenceHandleTypeFlags handleTypes;
4647 } VkExportFenceCreateInfo;
4648
4649 typedef struct VkExportSemaphoreCreateInfo {
4650 VkStructureType sType;
4651 const void* pNext;
4652 VkExternalSemaphoreHandleTypeFlags handleTypes;
4653 } VkExportSemaphoreCreateInfo;
4654
4655 typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
4656 VkStructureType sType;
4657 const void* pNext;
4658 VkExternalSemaphoreHandleTypeFlagBits handleType;
4659 } VkPhysicalDeviceExternalSemaphoreInfo;
4660
4661 typedef struct VkExternalSemaphoreProperties {
4662 VkStructureType sType;
4663 void* pNext;
4664 VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes;
4665 VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes;
4666 VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures;
4667 } VkExternalSemaphoreProperties;
4668
4669 typedef struct VkPhysicalDeviceMaintenance3Properties {
4670 VkStructureType sType;
4671 void* pNext;
4672 uint32_t maxPerSetDescriptors;
4673 VkDeviceSize maxMemoryAllocationSize;
4674 } VkPhysicalDeviceMaintenance3Properties;
4675
4676 typedef struct VkDescriptorSetLayoutSupport {
4677 VkStructureType sType;
4678 void* pNext;
4679 VkBool32 supported;
4680 } VkDescriptorSetLayoutSupport;
4681
4682 typedef struct VkPhysicalDeviceShaderDrawParametersFeatures {
4683 VkStructureType sType;
4684 void* pNext;
4685 VkBool32 shaderDrawParameters;
4686 } VkPhysicalDeviceShaderDrawParametersFeatures;
4687
4688 typedef VkPhysicalDeviceShaderDrawParametersFeatures VkPhysicalDeviceShaderDrawParameterFeatures;
4689
4690 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceVersion)(uint32_t* pApiVersion);
4691 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
4692 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
4693 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeatures)(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
4694 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMask)(VkCommandBuffer commandBuffer, uint32_t deviceMask);
4695 typedef 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);
4696 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroups)(VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
4697 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
4698 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
4699 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
4700 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
4701 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
4702 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
4703 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
4704 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
4705 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
4706 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
4707 typedef void (VKAPI_PTR *PFN_vkTrimCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
4708 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue2)(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue);
4709 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversion)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
4710 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversion)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
4711 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplate)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
4712 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplate)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
4713 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplate)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
4714 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
4715 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFenceProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
4716 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphoreProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
4717 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupport)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
4718
4719 #ifndef VK_NO_PROTOTYPES
4720 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceVersion(
4721 uint32_t* pApiVersion);
4722
4723 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2(
4724 VkDevice device,
4725 uint32_t bindInfoCount,
4726 const VkBindBufferMemoryInfo* pBindInfos);
4727
4728 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2(
4729 VkDevice device,
4730 uint32_t bindInfoCount,
4731 const VkBindImageMemoryInfo* pBindInfos);
4732
4733 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeatures(
4734 VkDevice device,
4735 uint32_t heapIndex,
4736 uint32_t localDeviceIndex,
4737 uint32_t remoteDeviceIndex,
4738 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
4739
4740 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMask(
4741 VkCommandBuffer commandBuffer,
4742 uint32_t deviceMask);
4743
4744 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBase(
4745 VkCommandBuffer commandBuffer,
4746 uint32_t baseGroupX,
4747 uint32_t baseGroupY,
4748 uint32_t baseGroupZ,
4749 uint32_t groupCountX,
4750 uint32_t groupCountY,
4751 uint32_t groupCountZ);
4752
4753 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroups(
4754 VkInstance instance,
4755 uint32_t* pPhysicalDeviceGroupCount,
4756 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
4757
4758 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2(
4759 VkDevice device,
4760 const VkImageMemoryRequirementsInfo2* pInfo,
4761 VkMemoryRequirements2* pMemoryRequirements);
4762
4763 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2(
4764 VkDevice device,
4765 const VkBufferMemoryRequirementsInfo2* pInfo,
4766 VkMemoryRequirements2* pMemoryRequirements);
4767
4768 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2(
4769 VkDevice device,
4770 const VkImageSparseMemoryRequirementsInfo2* pInfo,
4771 uint32_t* pSparseMemoryRequirementCount,
4772 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
4773
4774 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2(
4775 VkPhysicalDevice physicalDevice,
4776 VkPhysicalDeviceFeatures2* pFeatures);
4777
4778 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2(
4779 VkPhysicalDevice physicalDevice,
4780 VkPhysicalDeviceProperties2* pProperties);
4781
4782 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2(
4783 VkPhysicalDevice physicalDevice,
4784 VkFormat format,
4785 VkFormatProperties2* pFormatProperties);
4786
4787 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2(
4788 VkPhysicalDevice physicalDevice,
4789 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
4790 VkImageFormatProperties2* pImageFormatProperties);
4791
4792 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2(
4793 VkPhysicalDevice physicalDevice,
4794 uint32_t* pQueueFamilyPropertyCount,
4795 VkQueueFamilyProperties2* pQueueFamilyProperties);
4796
4797 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2(
4798 VkPhysicalDevice physicalDevice,
4799 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
4800
4801 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2(
4802 VkPhysicalDevice physicalDevice,
4803 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
4804 uint32_t* pPropertyCount,
4805 VkSparseImageFormatProperties2* pProperties);
4806
4807 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPool(
4808 VkDevice device,
4809 VkCommandPool commandPool,
4810 VkCommandPoolTrimFlags flags);
4811
4812 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue2(
4813 VkDevice device,
4814 const VkDeviceQueueInfo2* pQueueInfo,
4815 VkQueue* pQueue);
4816
4817 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversion(
4818 VkDevice device,
4819 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
4820 const VkAllocationCallbacks* pAllocator,
4821 VkSamplerYcbcrConversion* pYcbcrConversion);
4822
4823 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversion(
4824 VkDevice device,
4825 VkSamplerYcbcrConversion ycbcrConversion,
4826 const VkAllocationCallbacks* pAllocator);
4827
4828 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplate(
4829 VkDevice device,
4830 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
4831 const VkAllocationCallbacks* pAllocator,
4832 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
4833
4834 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplate(
4835 VkDevice device,
4836 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
4837 const VkAllocationCallbacks* pAllocator);
4838
4839 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplate(
4840 VkDevice device,
4841 VkDescriptorSet descriptorSet,
4842 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
4843 const void* pData);
4844
4845 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferProperties(
4846 VkPhysicalDevice physicalDevice,
4847 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
4848 VkExternalBufferProperties* pExternalBufferProperties);
4849
4850 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFenceProperties(
4851 VkPhysicalDevice physicalDevice,
4852 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
4853 VkExternalFenceProperties* pExternalFenceProperties);
4854
4855 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphoreProperties(
4856 VkPhysicalDevice physicalDevice,
4857 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
4858 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
4859
4860 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupport(
4861 VkDevice device,
4862 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
4863 VkDescriptorSetLayoutSupport* pSupport);
4864 #endif
4865
4866
4867 #define VK_VERSION_1_2 1
4868 // Vulkan 1.2 version number
4869 #define VK_API_VERSION_1_2 VK_MAKE_VERSION(1, 2, 0)// Patch version should always be set to 0
4870
4871 typedef uint64_t VkDeviceAddress;
4872 #define VK_MAX_DRIVER_NAME_SIZE 256
4873 #define VK_MAX_DRIVER_INFO_SIZE 256
4874
4875 typedef enum VkDriverId {
4876 VK_DRIVER_ID_AMD_PROPRIETARY = 1,
4877 VK_DRIVER_ID_AMD_OPEN_SOURCE = 2,
4878 VK_DRIVER_ID_MESA_RADV = 3,
4879 VK_DRIVER_ID_NVIDIA_PROPRIETARY = 4,
4880 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS = 5,
4881 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA = 6,
4882 VK_DRIVER_ID_IMAGINATION_PROPRIETARY = 7,
4883 VK_DRIVER_ID_QUALCOMM_PROPRIETARY = 8,
4884 VK_DRIVER_ID_ARM_PROPRIETARY = 9,
4885 VK_DRIVER_ID_GOOGLE_SWIFTSHADER = 10,
4886 VK_DRIVER_ID_GGP_PROPRIETARY = 11,
4887 VK_DRIVER_ID_BROADCOM_PROPRIETARY = 12,
4888 VK_DRIVER_ID_AMD_PROPRIETARY_KHR = VK_DRIVER_ID_AMD_PROPRIETARY,
4889 VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = VK_DRIVER_ID_AMD_OPEN_SOURCE,
4890 VK_DRIVER_ID_MESA_RADV_KHR = VK_DRIVER_ID_MESA_RADV,
4891 VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR = VK_DRIVER_ID_NVIDIA_PROPRIETARY,
4892 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR = VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS,
4893 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR = VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA,
4894 VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR = VK_DRIVER_ID_IMAGINATION_PROPRIETARY,
4895 VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR = VK_DRIVER_ID_QUALCOMM_PROPRIETARY,
4896 VK_DRIVER_ID_ARM_PROPRIETARY_KHR = VK_DRIVER_ID_ARM_PROPRIETARY,
4897 VK_DRIVER_ID_GOOGLE_SWIFTSHADER_KHR = VK_DRIVER_ID_GOOGLE_SWIFTSHADER,
4898 VK_DRIVER_ID_GGP_PROPRIETARY_KHR = VK_DRIVER_ID_GGP_PROPRIETARY,
4899 VK_DRIVER_ID_BROADCOM_PROPRIETARY_KHR = VK_DRIVER_ID_BROADCOM_PROPRIETARY,
4900 VK_DRIVER_ID_MAX_ENUM = 0x7FFFFFFF
4901 } VkDriverId;
4902
4903 typedef enum VkShaderFloatControlsIndependence {
4904 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY = 0,
4905 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL = 1,
4906 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE = 2,
4907 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY,
4908 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL,
4909 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE,
4910 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_MAX_ENUM = 0x7FFFFFFF
4911 } VkShaderFloatControlsIndependence;
4912
4913 typedef enum VkSamplerReductionMode {
4914 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE = 0,
4915 VK_SAMPLER_REDUCTION_MODE_MIN = 1,
4916 VK_SAMPLER_REDUCTION_MODE_MAX = 2,
4917 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE,
4918 VK_SAMPLER_REDUCTION_MODE_MIN_EXT = VK_SAMPLER_REDUCTION_MODE_MIN,
4919 VK_SAMPLER_REDUCTION_MODE_MAX_EXT = VK_SAMPLER_REDUCTION_MODE_MAX,
4920 VK_SAMPLER_REDUCTION_MODE_MAX_ENUM = 0x7FFFFFFF
4921 } VkSamplerReductionMode;
4922
4923 typedef enum VkSemaphoreType {
4924 VK_SEMAPHORE_TYPE_BINARY = 0,
4925 VK_SEMAPHORE_TYPE_TIMELINE = 1,
4926 VK_SEMAPHORE_TYPE_BINARY_KHR = VK_SEMAPHORE_TYPE_BINARY,
4927 VK_SEMAPHORE_TYPE_TIMELINE_KHR = VK_SEMAPHORE_TYPE_TIMELINE,
4928 VK_SEMAPHORE_TYPE_MAX_ENUM = 0x7FFFFFFF
4929 } VkSemaphoreType;
4930
4931 typedef enum VkResolveModeFlagBits {
4932 VK_RESOLVE_MODE_NONE = 0,
4933 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT = 0x00000001,
4934 VK_RESOLVE_MODE_AVERAGE_BIT = 0x00000002,
4935 VK_RESOLVE_MODE_MIN_BIT = 0x00000004,
4936 VK_RESOLVE_MODE_MAX_BIT = 0x00000008,
4937 VK_RESOLVE_MODE_NONE_KHR = VK_RESOLVE_MODE_NONE,
4938 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR = VK_RESOLVE_MODE_SAMPLE_ZERO_BIT,
4939 VK_RESOLVE_MODE_AVERAGE_BIT_KHR = VK_RESOLVE_MODE_AVERAGE_BIT,
4940 VK_RESOLVE_MODE_MIN_BIT_KHR = VK_RESOLVE_MODE_MIN_BIT,
4941 VK_RESOLVE_MODE_MAX_BIT_KHR = VK_RESOLVE_MODE_MAX_BIT,
4942 VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4943 } VkResolveModeFlagBits;
4944 typedef VkFlags VkResolveModeFlags;
4945
4946 typedef enum VkDescriptorBindingFlagBits {
4947 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT = 0x00000001,
4948 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT = 0x00000002,
4949 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT = 0x00000004,
4950 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT = 0x00000008,
4951 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT,
4952 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT,
4953 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT = VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT,
4954 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT = VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT,
4955 VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4956 } VkDescriptorBindingFlagBits;
4957 typedef VkFlags VkDescriptorBindingFlags;
4958
4959 typedef enum VkSemaphoreWaitFlagBits {
4960 VK_SEMAPHORE_WAIT_ANY_BIT = 0x00000001,
4961 VK_SEMAPHORE_WAIT_ANY_BIT_KHR = VK_SEMAPHORE_WAIT_ANY_BIT,
4962 VK_SEMAPHORE_WAIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4963 } VkSemaphoreWaitFlagBits;
4964 typedef VkFlags VkSemaphoreWaitFlags;
4965 typedef struct VkPhysicalDeviceVulkan11Features {
4966 VkStructureType sType;
4967 void* pNext;
4968 VkBool32 storageBuffer16BitAccess;
4969 VkBool32 uniformAndStorageBuffer16BitAccess;
4970 VkBool32 storagePushConstant16;
4971 VkBool32 storageInputOutput16;
4972 VkBool32 multiview;
4973 VkBool32 multiviewGeometryShader;
4974 VkBool32 multiviewTessellationShader;
4975 VkBool32 variablePointersStorageBuffer;
4976 VkBool32 variablePointers;
4977 VkBool32 protectedMemory;
4978 VkBool32 samplerYcbcrConversion;
4979 VkBool32 shaderDrawParameters;
4980 } VkPhysicalDeviceVulkan11Features;
4981
4982 typedef struct VkPhysicalDeviceVulkan11Properties {
4983 VkStructureType sType;
4984 void* pNext;
4985 uint8_t deviceUUID[VK_UUID_SIZE];
4986 uint8_t driverUUID[VK_UUID_SIZE];
4987 uint8_t deviceLUID[VK_LUID_SIZE];
4988 uint32_t deviceNodeMask;
4989 VkBool32 deviceLUIDValid;
4990 uint32_t subgroupSize;
4991 VkShaderStageFlags subgroupSupportedStages;
4992 VkSubgroupFeatureFlags subgroupSupportedOperations;
4993 VkBool32 subgroupQuadOperationsInAllStages;
4994 VkPointClippingBehavior pointClippingBehavior;
4995 uint32_t maxMultiviewViewCount;
4996 uint32_t maxMultiviewInstanceIndex;
4997 VkBool32 protectedNoFault;
4998 uint32_t maxPerSetDescriptors;
4999 VkDeviceSize maxMemoryAllocationSize;
5000 } VkPhysicalDeviceVulkan11Properties;
5001
5002 typedef struct VkPhysicalDeviceVulkan12Features {
5003 VkStructureType sType;
5004 void* pNext;
5005 VkBool32 samplerMirrorClampToEdge;
5006 VkBool32 drawIndirectCount;
5007 VkBool32 storageBuffer8BitAccess;
5008 VkBool32 uniformAndStorageBuffer8BitAccess;
5009 VkBool32 storagePushConstant8;
5010 VkBool32 shaderBufferInt64Atomics;
5011 VkBool32 shaderSharedInt64Atomics;
5012 VkBool32 shaderFloat16;
5013 VkBool32 shaderInt8;
5014 VkBool32 descriptorIndexing;
5015 VkBool32 shaderInputAttachmentArrayDynamicIndexing;
5016 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
5017 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
5018 VkBool32 shaderUniformBufferArrayNonUniformIndexing;
5019 VkBool32 shaderSampledImageArrayNonUniformIndexing;
5020 VkBool32 shaderStorageBufferArrayNonUniformIndexing;
5021 VkBool32 shaderStorageImageArrayNonUniformIndexing;
5022 VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
5023 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
5024 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
5025 VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
5026 VkBool32 descriptorBindingSampledImageUpdateAfterBind;
5027 VkBool32 descriptorBindingStorageImageUpdateAfterBind;
5028 VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
5029 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
5030 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
5031 VkBool32 descriptorBindingUpdateUnusedWhilePending;
5032 VkBool32 descriptorBindingPartiallyBound;
5033 VkBool32 descriptorBindingVariableDescriptorCount;
5034 VkBool32 runtimeDescriptorArray;
5035 VkBool32 samplerFilterMinmax;
5036 VkBool32 scalarBlockLayout;
5037 VkBool32 imagelessFramebuffer;
5038 VkBool32 uniformBufferStandardLayout;
5039 VkBool32 shaderSubgroupExtendedTypes;
5040 VkBool32 separateDepthStencilLayouts;
5041 VkBool32 hostQueryReset;
5042 VkBool32 timelineSemaphore;
5043 VkBool32 bufferDeviceAddress;
5044 VkBool32 bufferDeviceAddressCaptureReplay;
5045 VkBool32 bufferDeviceAddressMultiDevice;
5046 VkBool32 vulkanMemoryModel;
5047 VkBool32 vulkanMemoryModelDeviceScope;
5048 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
5049 VkBool32 shaderOutputViewportIndex;
5050 VkBool32 shaderOutputLayer;
5051 VkBool32 subgroupBroadcastDynamicId;
5052 } VkPhysicalDeviceVulkan12Features;
5053
5054 typedef struct VkConformanceVersion {
5055 uint8_t major;
5056 uint8_t minor;
5057 uint8_t subminor;
5058 uint8_t patch;
5059 } VkConformanceVersion;
5060
5061 typedef struct VkPhysicalDeviceVulkan12Properties {
5062 VkStructureType sType;
5063 void* pNext;
5064 VkDriverId driverID;
5065 char driverName[VK_MAX_DRIVER_NAME_SIZE];
5066 char driverInfo[VK_MAX_DRIVER_INFO_SIZE];
5067 VkConformanceVersion conformanceVersion;
5068 VkShaderFloatControlsIndependence denormBehaviorIndependence;
5069 VkShaderFloatControlsIndependence roundingModeIndependence;
5070 VkBool32 shaderSignedZeroInfNanPreserveFloat16;
5071 VkBool32 shaderSignedZeroInfNanPreserveFloat32;
5072 VkBool32 shaderSignedZeroInfNanPreserveFloat64;
5073 VkBool32 shaderDenormPreserveFloat16;
5074 VkBool32 shaderDenormPreserveFloat32;
5075 VkBool32 shaderDenormPreserveFloat64;
5076 VkBool32 shaderDenormFlushToZeroFloat16;
5077 VkBool32 shaderDenormFlushToZeroFloat32;
5078 VkBool32 shaderDenormFlushToZeroFloat64;
5079 VkBool32 shaderRoundingModeRTEFloat16;
5080 VkBool32 shaderRoundingModeRTEFloat32;
5081 VkBool32 shaderRoundingModeRTEFloat64;
5082 VkBool32 shaderRoundingModeRTZFloat16;
5083 VkBool32 shaderRoundingModeRTZFloat32;
5084 VkBool32 shaderRoundingModeRTZFloat64;
5085 uint32_t maxUpdateAfterBindDescriptorsInAllPools;
5086 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
5087 VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
5088 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
5089 VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
5090 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
5091 VkBool32 robustBufferAccessUpdateAfterBind;
5092 VkBool32 quadDivergentImplicitLod;
5093 uint32_t maxPerStageDescriptorUpdateAfterBindSamplers;
5094 uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers;
5095 uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers;
5096 uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages;
5097 uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages;
5098 uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments;
5099 uint32_t maxPerStageUpdateAfterBindResources;
5100 uint32_t maxDescriptorSetUpdateAfterBindSamplers;
5101 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers;
5102 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
5103 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers;
5104 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
5105 uint32_t maxDescriptorSetUpdateAfterBindSampledImages;
5106 uint32_t maxDescriptorSetUpdateAfterBindStorageImages;
5107 uint32_t maxDescriptorSetUpdateAfterBindInputAttachments;
5108 VkResolveModeFlags supportedDepthResolveModes;
5109 VkResolveModeFlags supportedStencilResolveModes;
5110 VkBool32 independentResolveNone;
5111 VkBool32 independentResolve;
5112 VkBool32 filterMinmaxSingleComponentFormats;
5113 VkBool32 filterMinmaxImageComponentMapping;
5114 uint64_t maxTimelineSemaphoreValueDifference;
5115 VkSampleCountFlags framebufferIntegerColorSampleCounts;
5116 } VkPhysicalDeviceVulkan12Properties;
5117
5118 typedef struct VkImageFormatListCreateInfo {
5119 VkStructureType sType;
5120 const void* pNext;
5121 uint32_t viewFormatCount;
5122 const VkFormat* pViewFormats;
5123 } VkImageFormatListCreateInfo;
5124
5125 typedef struct VkAttachmentDescription2 {
5126 VkStructureType sType;
5127 const void* pNext;
5128 VkAttachmentDescriptionFlags flags;
5129 VkFormat format;
5130 VkSampleCountFlagBits samples;
5131 VkAttachmentLoadOp loadOp;
5132 VkAttachmentStoreOp storeOp;
5133 VkAttachmentLoadOp stencilLoadOp;
5134 VkAttachmentStoreOp stencilStoreOp;
5135 VkImageLayout initialLayout;
5136 VkImageLayout finalLayout;
5137 } VkAttachmentDescription2;
5138
5139 typedef struct VkAttachmentReference2 {
5140 VkStructureType sType;
5141 const void* pNext;
5142 uint32_t attachment;
5143 VkImageLayout layout;
5144 VkImageAspectFlags aspectMask;
5145 } VkAttachmentReference2;
5146
5147 typedef struct VkSubpassDescription2 {
5148 VkStructureType sType;
5149 const void* pNext;
5150 VkSubpassDescriptionFlags flags;
5151 VkPipelineBindPoint pipelineBindPoint;
5152 uint32_t viewMask;
5153 uint32_t inputAttachmentCount;
5154 const VkAttachmentReference2* pInputAttachments;
5155 uint32_t colorAttachmentCount;
5156 const VkAttachmentReference2* pColorAttachments;
5157 const VkAttachmentReference2* pResolveAttachments;
5158 const VkAttachmentReference2* pDepthStencilAttachment;
5159 uint32_t preserveAttachmentCount;
5160 const uint32_t* pPreserveAttachments;
5161 } VkSubpassDescription2;
5162
5163 typedef struct VkSubpassDependency2 {
5164 VkStructureType sType;
5165 const void* pNext;
5166 uint32_t srcSubpass;
5167 uint32_t dstSubpass;
5168 VkPipelineStageFlags srcStageMask;
5169 VkPipelineStageFlags dstStageMask;
5170 VkAccessFlags srcAccessMask;
5171 VkAccessFlags dstAccessMask;
5172 VkDependencyFlags dependencyFlags;
5173 int32_t viewOffset;
5174 } VkSubpassDependency2;
5175
5176 typedef struct VkRenderPassCreateInfo2 {
5177 VkStructureType sType;
5178 const void* pNext;
5179 VkRenderPassCreateFlags flags;
5180 uint32_t attachmentCount;
5181 const VkAttachmentDescription2* pAttachments;
5182 uint32_t subpassCount;
5183 const VkSubpassDescription2* pSubpasses;
5184 uint32_t dependencyCount;
5185 const VkSubpassDependency2* pDependencies;
5186 uint32_t correlatedViewMaskCount;
5187 const uint32_t* pCorrelatedViewMasks;
5188 } VkRenderPassCreateInfo2;
5189
5190 typedef struct VkSubpassBeginInfo {
5191 VkStructureType sType;
5192 const void* pNext;
5193 VkSubpassContents contents;
5194 } VkSubpassBeginInfo;
5195
5196 typedef struct VkSubpassEndInfo {
5197 VkStructureType sType;
5198 const void* pNext;
5199 } VkSubpassEndInfo;
5200
5201 typedef struct VkPhysicalDevice8BitStorageFeatures {
5202 VkStructureType sType;
5203 void* pNext;
5204 VkBool32 storageBuffer8BitAccess;
5205 VkBool32 uniformAndStorageBuffer8BitAccess;
5206 VkBool32 storagePushConstant8;
5207 } VkPhysicalDevice8BitStorageFeatures;
5208
5209 typedef struct VkPhysicalDeviceDriverProperties {
5210 VkStructureType sType;
5211 void* pNext;
5212 VkDriverId driverID;
5213 char driverName[VK_MAX_DRIVER_NAME_SIZE];
5214 char driverInfo[VK_MAX_DRIVER_INFO_SIZE];
5215 VkConformanceVersion conformanceVersion;
5216 } VkPhysicalDeviceDriverProperties;
5217
5218 typedef struct VkPhysicalDeviceShaderAtomicInt64Features {
5219 VkStructureType sType;
5220 void* pNext;
5221 VkBool32 shaderBufferInt64Atomics;
5222 VkBool32 shaderSharedInt64Atomics;
5223 } VkPhysicalDeviceShaderAtomicInt64Features;
5224
5225 typedef struct VkPhysicalDeviceShaderFloat16Int8Features {
5226 VkStructureType sType;
5227 void* pNext;
5228 VkBool32 shaderFloat16;
5229 VkBool32 shaderInt8;
5230 } VkPhysicalDeviceShaderFloat16Int8Features;
5231
5232 typedef struct VkPhysicalDeviceFloatControlsProperties {
5233 VkStructureType sType;
5234 void* pNext;
5235 VkShaderFloatControlsIndependence denormBehaviorIndependence;
5236 VkShaderFloatControlsIndependence roundingModeIndependence;
5237 VkBool32 shaderSignedZeroInfNanPreserveFloat16;
5238 VkBool32 shaderSignedZeroInfNanPreserveFloat32;
5239 VkBool32 shaderSignedZeroInfNanPreserveFloat64;
5240 VkBool32 shaderDenormPreserveFloat16;
5241 VkBool32 shaderDenormPreserveFloat32;
5242 VkBool32 shaderDenormPreserveFloat64;
5243 VkBool32 shaderDenormFlushToZeroFloat16;
5244 VkBool32 shaderDenormFlushToZeroFloat32;
5245 VkBool32 shaderDenormFlushToZeroFloat64;
5246 VkBool32 shaderRoundingModeRTEFloat16;
5247 VkBool32 shaderRoundingModeRTEFloat32;
5248 VkBool32 shaderRoundingModeRTEFloat64;
5249 VkBool32 shaderRoundingModeRTZFloat16;
5250 VkBool32 shaderRoundingModeRTZFloat32;
5251 VkBool32 shaderRoundingModeRTZFloat64;
5252 } VkPhysicalDeviceFloatControlsProperties;
5253
5254 typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfo {
5255 VkStructureType sType;
5256 const void* pNext;
5257 uint32_t bindingCount;
5258 const VkDescriptorBindingFlags* pBindingFlags;
5259 } VkDescriptorSetLayoutBindingFlagsCreateInfo;
5260
5261 typedef struct VkPhysicalDeviceDescriptorIndexingFeatures {
5262 VkStructureType sType;
5263 void* pNext;
5264 VkBool32 shaderInputAttachmentArrayDynamicIndexing;
5265 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
5266 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
5267 VkBool32 shaderUniformBufferArrayNonUniformIndexing;
5268 VkBool32 shaderSampledImageArrayNonUniformIndexing;
5269 VkBool32 shaderStorageBufferArrayNonUniformIndexing;
5270 VkBool32 shaderStorageImageArrayNonUniformIndexing;
5271 VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
5272 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
5273 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
5274 VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
5275 VkBool32 descriptorBindingSampledImageUpdateAfterBind;
5276 VkBool32 descriptorBindingStorageImageUpdateAfterBind;
5277 VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
5278 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
5279 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
5280 VkBool32 descriptorBindingUpdateUnusedWhilePending;
5281 VkBool32 descriptorBindingPartiallyBound;
5282 VkBool32 descriptorBindingVariableDescriptorCount;
5283 VkBool32 runtimeDescriptorArray;
5284 } VkPhysicalDeviceDescriptorIndexingFeatures;
5285
5286 typedef struct VkPhysicalDeviceDescriptorIndexingProperties {
5287 VkStructureType sType;
5288 void* pNext;
5289 uint32_t maxUpdateAfterBindDescriptorsInAllPools;
5290 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
5291 VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
5292 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
5293 VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
5294 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
5295 VkBool32 robustBufferAccessUpdateAfterBind;
5296 VkBool32 quadDivergentImplicitLod;
5297 uint32_t maxPerStageDescriptorUpdateAfterBindSamplers;
5298 uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers;
5299 uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers;
5300 uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages;
5301 uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages;
5302 uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments;
5303 uint32_t maxPerStageUpdateAfterBindResources;
5304 uint32_t maxDescriptorSetUpdateAfterBindSamplers;
5305 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers;
5306 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
5307 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers;
5308 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
5309 uint32_t maxDescriptorSetUpdateAfterBindSampledImages;
5310 uint32_t maxDescriptorSetUpdateAfterBindStorageImages;
5311 uint32_t maxDescriptorSetUpdateAfterBindInputAttachments;
5312 } VkPhysicalDeviceDescriptorIndexingProperties;
5313
5314 typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfo {
5315 VkStructureType sType;
5316 const void* pNext;
5317 uint32_t descriptorSetCount;
5318 const uint32_t* pDescriptorCounts;
5319 } VkDescriptorSetVariableDescriptorCountAllocateInfo;
5320
5321 typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupport {
5322 VkStructureType sType;
5323 void* pNext;
5324 uint32_t maxVariableDescriptorCount;
5325 } VkDescriptorSetVariableDescriptorCountLayoutSupport;
5326
5327 typedef struct VkSubpassDescriptionDepthStencilResolve {
5328 VkStructureType sType;
5329 const void* pNext;
5330 VkResolveModeFlagBits depthResolveMode;
5331 VkResolveModeFlagBits stencilResolveMode;
5332 const VkAttachmentReference2* pDepthStencilResolveAttachment;
5333 } VkSubpassDescriptionDepthStencilResolve;
5334
5335 typedef struct VkPhysicalDeviceDepthStencilResolveProperties {
5336 VkStructureType sType;
5337 void* pNext;
5338 VkResolveModeFlags supportedDepthResolveModes;
5339 VkResolveModeFlags supportedStencilResolveModes;
5340 VkBool32 independentResolveNone;
5341 VkBool32 independentResolve;
5342 } VkPhysicalDeviceDepthStencilResolveProperties;
5343
5344 typedef struct VkPhysicalDeviceScalarBlockLayoutFeatures {
5345 VkStructureType sType;
5346 void* pNext;
5347 VkBool32 scalarBlockLayout;
5348 } VkPhysicalDeviceScalarBlockLayoutFeatures;
5349
5350 typedef struct VkImageStencilUsageCreateInfo {
5351 VkStructureType sType;
5352 const void* pNext;
5353 VkImageUsageFlags stencilUsage;
5354 } VkImageStencilUsageCreateInfo;
5355
5356 typedef struct VkSamplerReductionModeCreateInfo {
5357 VkStructureType sType;
5358 const void* pNext;
5359 VkSamplerReductionMode reductionMode;
5360 } VkSamplerReductionModeCreateInfo;
5361
5362 typedef struct VkPhysicalDeviceSamplerFilterMinmaxProperties {
5363 VkStructureType sType;
5364 void* pNext;
5365 VkBool32 filterMinmaxSingleComponentFormats;
5366 VkBool32 filterMinmaxImageComponentMapping;
5367 } VkPhysicalDeviceSamplerFilterMinmaxProperties;
5368
5369 typedef struct VkPhysicalDeviceVulkanMemoryModelFeatures {
5370 VkStructureType sType;
5371 void* pNext;
5372 VkBool32 vulkanMemoryModel;
5373 VkBool32 vulkanMemoryModelDeviceScope;
5374 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
5375 } VkPhysicalDeviceVulkanMemoryModelFeatures;
5376
5377 typedef struct VkPhysicalDeviceImagelessFramebufferFeatures {
5378 VkStructureType sType;
5379 void* pNext;
5380 VkBool32 imagelessFramebuffer;
5381 } VkPhysicalDeviceImagelessFramebufferFeatures;
5382
5383 typedef struct VkFramebufferAttachmentImageInfo {
5384 VkStructureType sType;
5385 const void* pNext;
5386 VkImageCreateFlags flags;
5387 VkImageUsageFlags usage;
5388 uint32_t width;
5389 uint32_t height;
5390 uint32_t layerCount;
5391 uint32_t viewFormatCount;
5392 const VkFormat* pViewFormats;
5393 } VkFramebufferAttachmentImageInfo;
5394
5395 typedef struct VkFramebufferAttachmentsCreateInfo {
5396 VkStructureType sType;
5397 const void* pNext;
5398 uint32_t attachmentImageInfoCount;
5399 const VkFramebufferAttachmentImageInfo* pAttachmentImageInfos;
5400 } VkFramebufferAttachmentsCreateInfo;
5401
5402 typedef struct VkRenderPassAttachmentBeginInfo {
5403 VkStructureType sType;
5404 const void* pNext;
5405 uint32_t attachmentCount;
5406 const VkImageView* pAttachments;
5407 } VkRenderPassAttachmentBeginInfo;
5408
5409 typedef struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures {
5410 VkStructureType sType;
5411 void* pNext;
5412 VkBool32 uniformBufferStandardLayout;
5413 } VkPhysicalDeviceUniformBufferStandardLayoutFeatures;
5414
5415 typedef struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures {
5416 VkStructureType sType;
5417 void* pNext;
5418 VkBool32 shaderSubgroupExtendedTypes;
5419 } VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures;
5420
5421 typedef struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures {
5422 VkStructureType sType;
5423 void* pNext;
5424 VkBool32 separateDepthStencilLayouts;
5425 } VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures;
5426
5427 typedef struct VkAttachmentReferenceStencilLayout {
5428 VkStructureType sType;
5429 void* pNext;
5430 VkImageLayout stencilLayout;
5431 } VkAttachmentReferenceStencilLayout;
5432
5433 typedef struct VkAttachmentDescriptionStencilLayout {
5434 VkStructureType sType;
5435 void* pNext;
5436 VkImageLayout stencilInitialLayout;
5437 VkImageLayout stencilFinalLayout;
5438 } VkAttachmentDescriptionStencilLayout;
5439
5440 typedef struct VkPhysicalDeviceHostQueryResetFeatures {
5441 VkStructureType sType;
5442 void* pNext;
5443 VkBool32 hostQueryReset;
5444 } VkPhysicalDeviceHostQueryResetFeatures;
5445
5446 typedef struct VkPhysicalDeviceTimelineSemaphoreFeatures {
5447 VkStructureType sType;
5448 void* pNext;
5449 VkBool32 timelineSemaphore;
5450 } VkPhysicalDeviceTimelineSemaphoreFeatures;
5451
5452 typedef struct VkPhysicalDeviceTimelineSemaphoreProperties {
5453 VkStructureType sType;
5454 void* pNext;
5455 uint64_t maxTimelineSemaphoreValueDifference;
5456 } VkPhysicalDeviceTimelineSemaphoreProperties;
5457
5458 typedef struct VkSemaphoreTypeCreateInfo {
5459 VkStructureType sType;
5460 const void* pNext;
5461 VkSemaphoreType semaphoreType;
5462 uint64_t initialValue;
5463 } VkSemaphoreTypeCreateInfo;
5464
5465 typedef struct VkTimelineSemaphoreSubmitInfo {
5466 VkStructureType sType;
5467 const void* pNext;
5468 uint32_t waitSemaphoreValueCount;
5469 const uint64_t* pWaitSemaphoreValues;
5470 uint32_t signalSemaphoreValueCount;
5471 const uint64_t* pSignalSemaphoreValues;
5472 } VkTimelineSemaphoreSubmitInfo;
5473
5474 typedef struct VkSemaphoreWaitInfo {
5475 VkStructureType sType;
5476 const void* pNext;
5477 VkSemaphoreWaitFlags flags;
5478 uint32_t semaphoreCount;
5479 const VkSemaphore* pSemaphores;
5480 const uint64_t* pValues;
5481 } VkSemaphoreWaitInfo;
5482
5483 typedef struct VkSemaphoreSignalInfo {
5484 VkStructureType sType;
5485 const void* pNext;
5486 VkSemaphore semaphore;
5487 uint64_t value;
5488 } VkSemaphoreSignalInfo;
5489
5490 typedef struct VkPhysicalDeviceBufferDeviceAddressFeatures {
5491 VkStructureType sType;
5492 void* pNext;
5493 VkBool32 bufferDeviceAddress;
5494 VkBool32 bufferDeviceAddressCaptureReplay;
5495 VkBool32 bufferDeviceAddressMultiDevice;
5496 } VkPhysicalDeviceBufferDeviceAddressFeatures;
5497
5498 typedef struct VkBufferDeviceAddressInfo {
5499 VkStructureType sType;
5500 const void* pNext;
5501 VkBuffer buffer;
5502 } VkBufferDeviceAddressInfo;
5503
5504 typedef struct VkBufferOpaqueCaptureAddressCreateInfo {
5505 VkStructureType sType;
5506 const void* pNext;
5507 uint64_t opaqueCaptureAddress;
5508 } VkBufferOpaqueCaptureAddressCreateInfo;
5509
5510 typedef struct VkMemoryOpaqueCaptureAddressAllocateInfo {
5511 VkStructureType sType;
5512 const void* pNext;
5513 uint64_t opaqueCaptureAddress;
5514 } VkMemoryOpaqueCaptureAddressAllocateInfo;
5515
5516 typedef struct VkDeviceMemoryOpaqueCaptureAddressInfo {
5517 VkStructureType sType;
5518 const void* pNext;
5519 VkDeviceMemory memory;
5520 } VkDeviceMemoryOpaqueCaptureAddressInfo;
5521
5522 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
5523 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
5524 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
5525 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo);
5526 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo);
5527 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo);
5528 typedef void (VKAPI_PTR *PFN_vkResetQueryPool)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount);
5529 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValue)(VkDevice device, VkSemaphore semaphore, uint64_t* pValue);
5530 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphores)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout);
5531 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphore)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo);
5532 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
5533 typedef uint64_t (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
5534 typedef uint64_t (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddress)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
5535
5536 #ifndef VK_NO_PROTOTYPES
5537 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCount(
5538 VkCommandBuffer commandBuffer,
5539 VkBuffer buffer,
5540 VkDeviceSize offset,
5541 VkBuffer countBuffer,
5542 VkDeviceSize countBufferOffset,
5543 uint32_t maxDrawCount,
5544 uint32_t stride);
5545
5546 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCount(
5547 VkCommandBuffer commandBuffer,
5548 VkBuffer buffer,
5549 VkDeviceSize offset,
5550 VkBuffer countBuffer,
5551 VkDeviceSize countBufferOffset,
5552 uint32_t maxDrawCount,
5553 uint32_t stride);
5554
5555 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2(
5556 VkDevice device,
5557 const VkRenderPassCreateInfo2* pCreateInfo,
5558 const VkAllocationCallbacks* pAllocator,
5559 VkRenderPass* pRenderPass);
5560
5561 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2(
5562 VkCommandBuffer commandBuffer,
5563 const VkRenderPassBeginInfo* pRenderPassBegin,
5564 const VkSubpassBeginInfo* pSubpassBeginInfo);
5565
5566 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2(
5567 VkCommandBuffer commandBuffer,
5568 const VkSubpassBeginInfo* pSubpassBeginInfo,
5569 const VkSubpassEndInfo* pSubpassEndInfo);
5570
5571 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2(
5572 VkCommandBuffer commandBuffer,
5573 const VkSubpassEndInfo* pSubpassEndInfo);
5574
5575 VKAPI_ATTR void VKAPI_CALL vkResetQueryPool(
5576 VkDevice device,
5577 VkQueryPool queryPool,
5578 uint32_t firstQuery,
5579 uint32_t queryCount);
5580
5581 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValue(
5582 VkDevice device,
5583 VkSemaphore semaphore,
5584 uint64_t* pValue);
5585
5586 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphores(
5587 VkDevice device,
5588 const VkSemaphoreWaitInfo* pWaitInfo,
5589 uint64_t timeout);
5590
5591 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphore(
5592 VkDevice device,
5593 const VkSemaphoreSignalInfo* pSignalInfo);
5594
5595 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddress(
5596 VkDevice device,
5597 const VkBufferDeviceAddressInfo* pInfo);
5598
5599 VKAPI_ATTR uint64_t VKAPI_CALL vkGetBufferOpaqueCaptureAddress(
5600 VkDevice device,
5601 const VkBufferDeviceAddressInfo* pInfo);
5602
5603 VKAPI_ATTR uint64_t VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddress(
5604 VkDevice device,
5605 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
5606 #endif
5607
5608
5609 #define VK_KHR_surface 1
5610 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR)
5611 #define VK_KHR_SURFACE_SPEC_VERSION 25
5612 #define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface"
5613
5614 typedef enum VkPresentModeKHR {
5615 VK_PRESENT_MODE_IMMEDIATE_KHR = 0,
5616 VK_PRESENT_MODE_MAILBOX_KHR = 1,
5617 VK_PRESENT_MODE_FIFO_KHR = 2,
5618 VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3,
5619 VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR = 1000111000,
5620 VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = 1000111001,
5621 VK_PRESENT_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
5622 } VkPresentModeKHR;
5623
5624 typedef enum VkColorSpaceKHR {
5625 VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0,
5626 VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = 1000104001,
5627 VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT = 1000104002,
5628 VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT = 1000104003,
5629 VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT = 1000104004,
5630 VK_COLOR_SPACE_BT709_LINEAR_EXT = 1000104005,
5631 VK_COLOR_SPACE_BT709_NONLINEAR_EXT = 1000104006,
5632 VK_COLOR_SPACE_BT2020_LINEAR_EXT = 1000104007,
5633 VK_COLOR_SPACE_HDR10_ST2084_EXT = 1000104008,
5634 VK_COLOR_SPACE_DOLBYVISION_EXT = 1000104009,
5635 VK_COLOR_SPACE_HDR10_HLG_EXT = 1000104010,
5636 VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT = 1000104011,
5637 VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT = 1000104012,
5638 VK_COLOR_SPACE_PASS_THROUGH_EXT = 1000104013,
5639 VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT = 1000104014,
5640 VK_COLOR_SPACE_DISPLAY_NATIVE_AMD = 1000213000,
5641 VK_COLORSPACE_SRGB_NONLINEAR_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
5642 VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT,
5643 VK_COLOR_SPACE_MAX_ENUM_KHR = 0x7FFFFFFF
5644 } VkColorSpaceKHR;
5645
5646 typedef enum VkSurfaceTransformFlagBitsKHR {
5647 VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 0x00000001,
5648 VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 0x00000002,
5649 VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 0x00000004,
5650 VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 0x00000008,
5651 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 0x00000010,
5652 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 0x00000020,
5653 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 0x00000040,
5654 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 0x00000080,
5655 VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 0x00000100,
5656 VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
5657 } VkSurfaceTransformFlagBitsKHR;
5658
5659 typedef enum VkCompositeAlphaFlagBitsKHR {
5660 VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
5661 VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 0x00000002,
5662 VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 0x00000004,
5663 VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 0x00000008,
5664 VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
5665 } VkCompositeAlphaFlagBitsKHR;
5666 typedef VkFlags VkSurfaceTransformFlagsKHR;
5667 typedef VkFlags VkCompositeAlphaFlagsKHR;
5668 typedef struct VkSurfaceCapabilitiesKHR {
5669 uint32_t minImageCount;
5670 uint32_t maxImageCount;
5671 VkExtent2D currentExtent;
5672 VkExtent2D minImageExtent;
5673 VkExtent2D maxImageExtent;
5674 uint32_t maxImageArrayLayers;
5675 VkSurfaceTransformFlagsKHR supportedTransforms;
5676 VkSurfaceTransformFlagBitsKHR currentTransform;
5677 VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
5678 VkImageUsageFlags supportedUsageFlags;
5679 } VkSurfaceCapabilitiesKHR;
5680
5681 typedef struct VkSurfaceFormatKHR {
5682 VkFormat format;
5683 VkColorSpaceKHR colorSpace;
5684 } VkSurfaceFormatKHR;
5685
5686 typedef void (VKAPI_PTR *PFN_vkDestroySurfaceKHR)(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator);
5687 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported);
5688 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
5689 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats);
5690 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pPresentModeCount, VkPresentModeKHR* pPresentModes);
5691
5692 #ifndef VK_NO_PROTOTYPES
5693 VKAPI_ATTR void VKAPI_CALL vkDestroySurfaceKHR(
5694 VkInstance instance,
5695 VkSurfaceKHR surface,
5696 const VkAllocationCallbacks* pAllocator);
5697
5698 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceSupportKHR(
5699 VkPhysicalDevice physicalDevice,
5700 uint32_t queueFamilyIndex,
5701 VkSurfaceKHR surface,
5702 VkBool32* pSupported);
5703
5704 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilitiesKHR(
5705 VkPhysicalDevice physicalDevice,
5706 VkSurfaceKHR surface,
5707 VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
5708
5709 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormatsKHR(
5710 VkPhysicalDevice physicalDevice,
5711 VkSurfaceKHR surface,
5712 uint32_t* pSurfaceFormatCount,
5713 VkSurfaceFormatKHR* pSurfaceFormats);
5714
5715 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModesKHR(
5716 VkPhysicalDevice physicalDevice,
5717 VkSurfaceKHR surface,
5718 uint32_t* pPresentModeCount,
5719 VkPresentModeKHR* pPresentModes);
5720 #endif
5721
5722
5723 #define VK_KHR_swapchain 1
5724 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR)
5725 #define VK_KHR_SWAPCHAIN_SPEC_VERSION 70
5726 #define VK_KHR_SWAPCHAIN_EXTENSION_NAME "VK_KHR_swapchain"
5727
5728 typedef enum VkSwapchainCreateFlagBitsKHR {
5729 VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 0x00000001,
5730 VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR = 0x00000002,
5731 VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR = 0x00000004,
5732 VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
5733 } VkSwapchainCreateFlagBitsKHR;
5734 typedef VkFlags VkSwapchainCreateFlagsKHR;
5735
5736 typedef enum VkDeviceGroupPresentModeFlagBitsKHR {
5737 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR = 0x00000001,
5738 VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR = 0x00000002,
5739 VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR = 0x00000004,
5740 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR = 0x00000008,
5741 VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
5742 } VkDeviceGroupPresentModeFlagBitsKHR;
5743 typedef VkFlags VkDeviceGroupPresentModeFlagsKHR;
5744 typedef struct VkSwapchainCreateInfoKHR {
5745 VkStructureType sType;
5746 const void* pNext;
5747 VkSwapchainCreateFlagsKHR flags;
5748 VkSurfaceKHR surface;
5749 uint32_t minImageCount;
5750 VkFormat imageFormat;
5751 VkColorSpaceKHR imageColorSpace;
5752 VkExtent2D imageExtent;
5753 uint32_t imageArrayLayers;
5754 VkImageUsageFlags imageUsage;
5755 VkSharingMode imageSharingMode;
5756 uint32_t queueFamilyIndexCount;
5757 const uint32_t* pQueueFamilyIndices;
5758 VkSurfaceTransformFlagBitsKHR preTransform;
5759 VkCompositeAlphaFlagBitsKHR compositeAlpha;
5760 VkPresentModeKHR presentMode;
5761 VkBool32 clipped;
5762 VkSwapchainKHR oldSwapchain;
5763 } VkSwapchainCreateInfoKHR;
5764
5765 typedef struct VkPresentInfoKHR {
5766 VkStructureType sType;
5767 const void* pNext;
5768 uint32_t waitSemaphoreCount;
5769 const VkSemaphore* pWaitSemaphores;
5770 uint32_t swapchainCount;
5771 const VkSwapchainKHR* pSwapchains;
5772 const uint32_t* pImageIndices;
5773 VkResult* pResults;
5774 } VkPresentInfoKHR;
5775
5776 typedef struct VkImageSwapchainCreateInfoKHR {
5777 VkStructureType sType;
5778 const void* pNext;
5779 VkSwapchainKHR swapchain;
5780 } VkImageSwapchainCreateInfoKHR;
5781
5782 typedef struct VkBindImageMemorySwapchainInfoKHR {
5783 VkStructureType sType;
5784 const void* pNext;
5785 VkSwapchainKHR swapchain;
5786 uint32_t imageIndex;
5787 } VkBindImageMemorySwapchainInfoKHR;
5788
5789 typedef struct VkAcquireNextImageInfoKHR {
5790 VkStructureType sType;
5791 const void* pNext;
5792 VkSwapchainKHR swapchain;
5793 uint64_t timeout;
5794 VkSemaphore semaphore;
5795 VkFence fence;
5796 uint32_t deviceMask;
5797 } VkAcquireNextImageInfoKHR;
5798
5799 typedef struct VkDeviceGroupPresentCapabilitiesKHR {
5800 VkStructureType sType;
5801 const void* pNext;
5802 uint32_t presentMask[VK_MAX_DEVICE_GROUP_SIZE];
5803 VkDeviceGroupPresentModeFlagsKHR modes;
5804 } VkDeviceGroupPresentCapabilitiesKHR;
5805
5806 typedef struct VkDeviceGroupPresentInfoKHR {
5807 VkStructureType sType;
5808 const void* pNext;
5809 uint32_t swapchainCount;
5810 const uint32_t* pDeviceMasks;
5811 VkDeviceGroupPresentModeFlagBitsKHR mode;
5812 } VkDeviceGroupPresentInfoKHR;
5813
5814 typedef struct VkDeviceGroupSwapchainCreateInfoKHR {
5815 VkStructureType sType;
5816 const void* pNext;
5817 VkDeviceGroupPresentModeFlagsKHR modes;
5818 } VkDeviceGroupSwapchainCreateInfoKHR;
5819
5820 typedef VkResult (VKAPI_PTR *PFN_vkCreateSwapchainKHR)(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain);
5821 typedef void (VKAPI_PTR *PFN_vkDestroySwapchainKHR)(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator);
5822 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainImagesKHR)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages);
5823 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImageKHR)(VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex);
5824 typedef VkResult (VKAPI_PTR *PFN_vkQueuePresentKHR)(VkQueue queue, const VkPresentInfoKHR* pPresentInfo);
5825 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupPresentCapabilitiesKHR)(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
5826 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupSurfacePresentModesKHR)(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes);
5827 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDevicePresentRectanglesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pRectCount, VkRect2D* pRects);
5828 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImage2KHR)(VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, uint32_t* pImageIndex);
5829
5830 #ifndef VK_NO_PROTOTYPES
5831 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSwapchainKHR(
5832 VkDevice device,
5833 const VkSwapchainCreateInfoKHR* pCreateInfo,
5834 const VkAllocationCallbacks* pAllocator,
5835 VkSwapchainKHR* pSwapchain);
5836
5837 VKAPI_ATTR void VKAPI_CALL vkDestroySwapchainKHR(
5838 VkDevice device,
5839 VkSwapchainKHR swapchain,
5840 const VkAllocationCallbacks* pAllocator);
5841
5842 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainImagesKHR(
5843 VkDevice device,
5844 VkSwapchainKHR swapchain,
5845 uint32_t* pSwapchainImageCount,
5846 VkImage* pSwapchainImages);
5847
5848 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImageKHR(
5849 VkDevice device,
5850 VkSwapchainKHR swapchain,
5851 uint64_t timeout,
5852 VkSemaphore semaphore,
5853 VkFence fence,
5854 uint32_t* pImageIndex);
5855
5856 VKAPI_ATTR VkResult VKAPI_CALL vkQueuePresentKHR(
5857 VkQueue queue,
5858 const VkPresentInfoKHR* pPresentInfo);
5859
5860 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupPresentCapabilitiesKHR(
5861 VkDevice device,
5862 VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
5863
5864 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupSurfacePresentModesKHR(
5865 VkDevice device,
5866 VkSurfaceKHR surface,
5867 VkDeviceGroupPresentModeFlagsKHR* pModes);
5868
5869 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDevicePresentRectanglesKHR(
5870 VkPhysicalDevice physicalDevice,
5871 VkSurfaceKHR surface,
5872 uint32_t* pRectCount,
5873 VkRect2D* pRects);
5874
5875 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImage2KHR(
5876 VkDevice device,
5877 const VkAcquireNextImageInfoKHR* pAcquireInfo,
5878 uint32_t* pImageIndex);
5879 #endif
5880
5881
5882 #define VK_KHR_display 1
5883 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR)
5884 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR)
5885 #define VK_KHR_DISPLAY_SPEC_VERSION 23
5886 #define VK_KHR_DISPLAY_EXTENSION_NAME "VK_KHR_display"
5887
5888 typedef enum VkDisplayPlaneAlphaFlagBitsKHR {
5889 VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
5890 VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR = 0x00000002,
5891 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR = 0x00000004,
5892 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = 0x00000008,
5893 VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
5894 } VkDisplayPlaneAlphaFlagBitsKHR;
5895 typedef VkFlags VkDisplayPlaneAlphaFlagsKHR;
5896 typedef VkFlags VkDisplayModeCreateFlagsKHR;
5897 typedef VkFlags VkDisplaySurfaceCreateFlagsKHR;
5898 typedef struct VkDisplayPropertiesKHR {
5899 VkDisplayKHR display;
5900 const char* displayName;
5901 VkExtent2D physicalDimensions;
5902 VkExtent2D physicalResolution;
5903 VkSurfaceTransformFlagsKHR supportedTransforms;
5904 VkBool32 planeReorderPossible;
5905 VkBool32 persistentContent;
5906 } VkDisplayPropertiesKHR;
5907
5908 typedef struct VkDisplayModeParametersKHR {
5909 VkExtent2D visibleRegion;
5910 uint32_t refreshRate;
5911 } VkDisplayModeParametersKHR;
5912
5913 typedef struct VkDisplayModePropertiesKHR {
5914 VkDisplayModeKHR displayMode;
5915 VkDisplayModeParametersKHR parameters;
5916 } VkDisplayModePropertiesKHR;
5917
5918 typedef struct VkDisplayModeCreateInfoKHR {
5919 VkStructureType sType;
5920 const void* pNext;
5921 VkDisplayModeCreateFlagsKHR flags;
5922 VkDisplayModeParametersKHR parameters;
5923 } VkDisplayModeCreateInfoKHR;
5924
5925 typedef struct VkDisplayPlaneCapabilitiesKHR {
5926 VkDisplayPlaneAlphaFlagsKHR supportedAlpha;
5927 VkOffset2D minSrcPosition;
5928 VkOffset2D maxSrcPosition;
5929 VkExtent2D minSrcExtent;
5930 VkExtent2D maxSrcExtent;
5931 VkOffset2D minDstPosition;
5932 VkOffset2D maxDstPosition;
5933 VkExtent2D minDstExtent;
5934 VkExtent2D maxDstExtent;
5935 } VkDisplayPlaneCapabilitiesKHR;
5936
5937 typedef struct VkDisplayPlanePropertiesKHR {
5938 VkDisplayKHR currentDisplay;
5939 uint32_t currentStackIndex;
5940 } VkDisplayPlanePropertiesKHR;
5941
5942 typedef struct VkDisplaySurfaceCreateInfoKHR {
5943 VkStructureType sType;
5944 const void* pNext;
5945 VkDisplaySurfaceCreateFlagsKHR flags;
5946 VkDisplayModeKHR displayMode;
5947 uint32_t planeIndex;
5948 uint32_t planeStackIndex;
5949 VkSurfaceTransformFlagBitsKHR transform;
5950 float globalAlpha;
5951 VkDisplayPlaneAlphaFlagBitsKHR alphaMode;
5952 VkExtent2D imageExtent;
5953 } VkDisplaySurfaceCreateInfoKHR;
5954
5955 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPropertiesKHR* pProperties);
5956 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties);
5957 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneSupportedDisplaysKHR)(VkPhysicalDevice physicalDevice, uint32_t planeIndex, uint32_t* pDisplayCount, VkDisplayKHR* pDisplays);
5958 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModePropertiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModePropertiesKHR* pProperties);
5959 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayModeKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode);
5960 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, uint32_t planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities);
5961 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayPlaneSurfaceKHR)(VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
5962
5963 #ifndef VK_NO_PROTOTYPES
5964 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPropertiesKHR(
5965 VkPhysicalDevice physicalDevice,
5966 uint32_t* pPropertyCount,
5967 VkDisplayPropertiesKHR* pProperties);
5968
5969 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlanePropertiesKHR(
5970 VkPhysicalDevice physicalDevice,
5971 uint32_t* pPropertyCount,
5972 VkDisplayPlanePropertiesKHR* pProperties);
5973
5974 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneSupportedDisplaysKHR(
5975 VkPhysicalDevice physicalDevice,
5976 uint32_t planeIndex,
5977 uint32_t* pDisplayCount,
5978 VkDisplayKHR* pDisplays);
5979
5980 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModePropertiesKHR(
5981 VkPhysicalDevice physicalDevice,
5982 VkDisplayKHR display,
5983 uint32_t* pPropertyCount,
5984 VkDisplayModePropertiesKHR* pProperties);
5985
5986 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayModeKHR(
5987 VkPhysicalDevice physicalDevice,
5988 VkDisplayKHR display,
5989 const VkDisplayModeCreateInfoKHR* pCreateInfo,
5990 const VkAllocationCallbacks* pAllocator,
5991 VkDisplayModeKHR* pMode);
5992
5993 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilitiesKHR(
5994 VkPhysicalDevice physicalDevice,
5995 VkDisplayModeKHR mode,
5996 uint32_t planeIndex,
5997 VkDisplayPlaneCapabilitiesKHR* pCapabilities);
5998
5999 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayPlaneSurfaceKHR(
6000 VkInstance instance,
6001 const VkDisplaySurfaceCreateInfoKHR* pCreateInfo,
6002 const VkAllocationCallbacks* pAllocator,
6003 VkSurfaceKHR* pSurface);
6004 #endif
6005
6006
6007 #define VK_KHR_display_swapchain 1
6008 #define VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION 10
6009 #define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME "VK_KHR_display_swapchain"
6010 typedef struct VkDisplayPresentInfoKHR {
6011 VkStructureType sType;
6012 const void* pNext;
6013 VkRect2D srcRect;
6014 VkRect2D dstRect;
6015 VkBool32 persistent;
6016 } VkDisplayPresentInfoKHR;
6017
6018 typedef VkResult (VKAPI_PTR *PFN_vkCreateSharedSwapchainsKHR)(VkDevice device, uint32_t swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains);
6019
6020 #ifndef VK_NO_PROTOTYPES
6021 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSharedSwapchainsKHR(
6022 VkDevice device,
6023 uint32_t swapchainCount,
6024 const VkSwapchainCreateInfoKHR* pCreateInfos,
6025 const VkAllocationCallbacks* pAllocator,
6026 VkSwapchainKHR* pSwapchains);
6027 #endif
6028
6029
6030 #define VK_KHR_sampler_mirror_clamp_to_edge 1
6031 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION 3
6032 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME "VK_KHR_sampler_mirror_clamp_to_edge"
6033
6034
6035 #define VK_KHR_multiview 1
6036 #define VK_KHR_MULTIVIEW_SPEC_VERSION 1
6037 #define VK_KHR_MULTIVIEW_EXTENSION_NAME "VK_KHR_multiview"
6038 typedef VkRenderPassMultiviewCreateInfo VkRenderPassMultiviewCreateInfoKHR;
6039
6040 typedef VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeaturesKHR;
6041
6042 typedef VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewPropertiesKHR;
6043
6044
6045
6046 #define VK_KHR_get_physical_device_properties2 1
6047 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION 2
6048 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_physical_device_properties2"
6049 typedef VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2KHR;
6050
6051 typedef VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2KHR;
6052
6053 typedef VkFormatProperties2 VkFormatProperties2KHR;
6054
6055 typedef VkImageFormatProperties2 VkImageFormatProperties2KHR;
6056
6057 typedef VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2KHR;
6058
6059 typedef VkQueueFamilyProperties2 VkQueueFamilyProperties2KHR;
6060
6061 typedef VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2KHR;
6062
6063 typedef VkSparseImageFormatProperties2 VkSparseImageFormatProperties2KHR;
6064
6065 typedef VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2KHR;
6066
6067 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
6068 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
6069 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2KHR)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
6070 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
6071 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
6072 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
6073 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
6074
6075 #ifndef VK_NO_PROTOTYPES
6076 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2KHR(
6077 VkPhysicalDevice physicalDevice,
6078 VkPhysicalDeviceFeatures2* pFeatures);
6079
6080 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2KHR(
6081 VkPhysicalDevice physicalDevice,
6082 VkPhysicalDeviceProperties2* pProperties);
6083
6084 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2KHR(
6085 VkPhysicalDevice physicalDevice,
6086 VkFormat format,
6087 VkFormatProperties2* pFormatProperties);
6088
6089 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2KHR(
6090 VkPhysicalDevice physicalDevice,
6091 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
6092 VkImageFormatProperties2* pImageFormatProperties);
6093
6094 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2KHR(
6095 VkPhysicalDevice physicalDevice,
6096 uint32_t* pQueueFamilyPropertyCount,
6097 VkQueueFamilyProperties2* pQueueFamilyProperties);
6098
6099 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2KHR(
6100 VkPhysicalDevice physicalDevice,
6101 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
6102
6103 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
6104 VkPhysicalDevice physicalDevice,
6105 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
6106 uint32_t* pPropertyCount,
6107 VkSparseImageFormatProperties2* pProperties);
6108 #endif
6109
6110
6111 #define VK_KHR_device_group 1
6112 #define VK_KHR_DEVICE_GROUP_SPEC_VERSION 4
6113 #define VK_KHR_DEVICE_GROUP_EXTENSION_NAME "VK_KHR_device_group"
6114 typedef VkPeerMemoryFeatureFlags VkPeerMemoryFeatureFlagsKHR;
6115
6116 typedef VkPeerMemoryFeatureFlagBits VkPeerMemoryFeatureFlagBitsKHR;
6117
6118 typedef VkMemoryAllocateFlags VkMemoryAllocateFlagsKHR;
6119
6120 typedef VkMemoryAllocateFlagBits VkMemoryAllocateFlagBitsKHR;
6121
6122 typedef VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfoKHR;
6123
6124 typedef VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfoKHR;
6125
6126 typedef VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfoKHR;
6127
6128 typedef VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfoKHR;
6129
6130 typedef VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfoKHR;
6131
6132 typedef VkBindBufferMemoryDeviceGroupInfo VkBindBufferMemoryDeviceGroupInfoKHR;
6133
6134 typedef VkBindImageMemoryDeviceGroupInfo VkBindImageMemoryDeviceGroupInfoKHR;
6135
6136 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR)(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
6137 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMaskKHR)(VkCommandBuffer commandBuffer, uint32_t deviceMask);
6138 typedef 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);
6139
6140 #ifndef VK_NO_PROTOTYPES
6141 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeaturesKHR(
6142 VkDevice device,
6143 uint32_t heapIndex,
6144 uint32_t localDeviceIndex,
6145 uint32_t remoteDeviceIndex,
6146 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
6147
6148 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMaskKHR(
6149 VkCommandBuffer commandBuffer,
6150 uint32_t deviceMask);
6151
6152 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBaseKHR(
6153 VkCommandBuffer commandBuffer,
6154 uint32_t baseGroupX,
6155 uint32_t baseGroupY,
6156 uint32_t baseGroupZ,
6157 uint32_t groupCountX,
6158 uint32_t groupCountY,
6159 uint32_t groupCountZ);
6160 #endif
6161
6162
6163 #define VK_KHR_shader_draw_parameters 1
6164 #define VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION 1
6165 #define VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME "VK_KHR_shader_draw_parameters"
6166
6167
6168 #define VK_KHR_maintenance1 1
6169 #define VK_KHR_MAINTENANCE1_SPEC_VERSION 2
6170 #define VK_KHR_MAINTENANCE1_EXTENSION_NAME "VK_KHR_maintenance1"
6171 typedef VkCommandPoolTrimFlags VkCommandPoolTrimFlagsKHR;
6172
6173 typedef void (VKAPI_PTR *PFN_vkTrimCommandPoolKHR)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
6174
6175 #ifndef VK_NO_PROTOTYPES
6176 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPoolKHR(
6177 VkDevice device,
6178 VkCommandPool commandPool,
6179 VkCommandPoolTrimFlags flags);
6180 #endif
6181
6182
6183 #define VK_KHR_device_group_creation 1
6184 #define VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION 1
6185 #define VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME "VK_KHR_device_group_creation"
6186 #define VK_MAX_DEVICE_GROUP_SIZE_KHR VK_MAX_DEVICE_GROUP_SIZE
6187 typedef VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupPropertiesKHR;
6188
6189 typedef VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfoKHR;
6190
6191 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroupsKHR)(VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
6192
6193 #ifndef VK_NO_PROTOTYPES
6194 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroupsKHR(
6195 VkInstance instance,
6196 uint32_t* pPhysicalDeviceGroupCount,
6197 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
6198 #endif
6199
6200
6201 #define VK_KHR_external_memory_capabilities 1
6202 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
6203 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_memory_capabilities"
6204 #define VK_LUID_SIZE_KHR VK_LUID_SIZE
6205 typedef VkExternalMemoryHandleTypeFlags VkExternalMemoryHandleTypeFlagsKHR;
6206
6207 typedef VkExternalMemoryHandleTypeFlagBits VkExternalMemoryHandleTypeFlagBitsKHR;
6208
6209 typedef VkExternalMemoryFeatureFlags VkExternalMemoryFeatureFlagsKHR;
6210
6211 typedef VkExternalMemoryFeatureFlagBits VkExternalMemoryFeatureFlagBitsKHR;
6212
6213 typedef VkExternalMemoryProperties VkExternalMemoryPropertiesKHR;
6214
6215 typedef VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfoKHR;
6216
6217 typedef VkExternalImageFormatProperties VkExternalImageFormatPropertiesKHR;
6218
6219 typedef VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfoKHR;
6220
6221 typedef VkExternalBufferProperties VkExternalBufferPropertiesKHR;
6222
6223 typedef VkPhysicalDeviceIDProperties VkPhysicalDeviceIDPropertiesKHR;
6224
6225 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
6226
6227 #ifndef VK_NO_PROTOTYPES
6228 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferPropertiesKHR(
6229 VkPhysicalDevice physicalDevice,
6230 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
6231 VkExternalBufferProperties* pExternalBufferProperties);
6232 #endif
6233
6234
6235 #define VK_KHR_external_memory 1
6236 #define VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION 1
6237 #define VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME "VK_KHR_external_memory"
6238 #define VK_QUEUE_FAMILY_EXTERNAL_KHR VK_QUEUE_FAMILY_EXTERNAL
6239 typedef VkExternalMemoryImageCreateInfo VkExternalMemoryImageCreateInfoKHR;
6240
6241 typedef VkExternalMemoryBufferCreateInfo VkExternalMemoryBufferCreateInfoKHR;
6242
6243 typedef VkExportMemoryAllocateInfo VkExportMemoryAllocateInfoKHR;
6244
6245
6246
6247 #define VK_KHR_external_memory_fd 1
6248 #define VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION 1
6249 #define VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME "VK_KHR_external_memory_fd"
6250 typedef struct VkImportMemoryFdInfoKHR {
6251 VkStructureType sType;
6252 const void* pNext;
6253 VkExternalMemoryHandleTypeFlagBits handleType;
6254 int fd;
6255 } VkImportMemoryFdInfoKHR;
6256
6257 typedef struct VkMemoryFdPropertiesKHR {
6258 VkStructureType sType;
6259 void* pNext;
6260 uint32_t memoryTypeBits;
6261 } VkMemoryFdPropertiesKHR;
6262
6263 typedef struct VkMemoryGetFdInfoKHR {
6264 VkStructureType sType;
6265 const void* pNext;
6266 VkDeviceMemory memory;
6267 VkExternalMemoryHandleTypeFlagBits handleType;
6268 } VkMemoryGetFdInfoKHR;
6269
6270 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdKHR)(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd);
6271 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdPropertiesKHR)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties);
6272
6273 #ifndef VK_NO_PROTOTYPES
6274 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdKHR(
6275 VkDevice device,
6276 const VkMemoryGetFdInfoKHR* pGetFdInfo,
6277 int* pFd);
6278
6279 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdPropertiesKHR(
6280 VkDevice device,
6281 VkExternalMemoryHandleTypeFlagBits handleType,
6282 int fd,
6283 VkMemoryFdPropertiesKHR* pMemoryFdProperties);
6284 #endif
6285
6286
6287 #define VK_KHR_external_semaphore_capabilities 1
6288 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION 1
6289 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_semaphore_capabilities"
6290 typedef VkExternalSemaphoreHandleTypeFlags VkExternalSemaphoreHandleTypeFlagsKHR;
6291
6292 typedef VkExternalSemaphoreHandleTypeFlagBits VkExternalSemaphoreHandleTypeFlagBitsKHR;
6293
6294 typedef VkExternalSemaphoreFeatureFlags VkExternalSemaphoreFeatureFlagsKHR;
6295
6296 typedef VkExternalSemaphoreFeatureFlagBits VkExternalSemaphoreFeatureFlagBitsKHR;
6297
6298 typedef VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfoKHR;
6299
6300 typedef VkExternalSemaphoreProperties VkExternalSemaphorePropertiesKHR;
6301
6302 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
6303
6304 #ifndef VK_NO_PROTOTYPES
6305 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(
6306 VkPhysicalDevice physicalDevice,
6307 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
6308 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
6309 #endif
6310
6311
6312 #define VK_KHR_external_semaphore 1
6313 #define VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION 1
6314 #define VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME "VK_KHR_external_semaphore"
6315 typedef VkSemaphoreImportFlags VkSemaphoreImportFlagsKHR;
6316
6317 typedef VkSemaphoreImportFlagBits VkSemaphoreImportFlagBitsKHR;
6318
6319 typedef VkExportSemaphoreCreateInfo VkExportSemaphoreCreateInfoKHR;
6320
6321
6322
6323 #define VK_KHR_external_semaphore_fd 1
6324 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION 1
6325 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME "VK_KHR_external_semaphore_fd"
6326 typedef struct VkImportSemaphoreFdInfoKHR {
6327 VkStructureType sType;
6328 const void* pNext;
6329 VkSemaphore semaphore;
6330 VkSemaphoreImportFlags flags;
6331 VkExternalSemaphoreHandleTypeFlagBits handleType;
6332 int fd;
6333 } VkImportSemaphoreFdInfoKHR;
6334
6335 typedef struct VkSemaphoreGetFdInfoKHR {
6336 VkStructureType sType;
6337 const void* pNext;
6338 VkSemaphore semaphore;
6339 VkExternalSemaphoreHandleTypeFlagBits handleType;
6340 } VkSemaphoreGetFdInfoKHR;
6341
6342 typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreFdKHR)(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
6343 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreFdKHR)(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd);
6344
6345 #ifndef VK_NO_PROTOTYPES
6346 VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreFdKHR(
6347 VkDevice device,
6348 const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
6349
6350 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreFdKHR(
6351 VkDevice device,
6352 const VkSemaphoreGetFdInfoKHR* pGetFdInfo,
6353 int* pFd);
6354 #endif
6355
6356
6357 #define VK_KHR_push_descriptor 1
6358 #define VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION 2
6359 #define VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME "VK_KHR_push_descriptor"
6360 typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
6361 VkStructureType sType;
6362 void* pNext;
6363 uint32_t maxPushDescriptors;
6364 } VkPhysicalDevicePushDescriptorPropertiesKHR;
6365
6366 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetKHR)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites);
6367 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplateKHR)(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void* pData);
6368
6369 #ifndef VK_NO_PROTOTYPES
6370 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetKHR(
6371 VkCommandBuffer commandBuffer,
6372 VkPipelineBindPoint pipelineBindPoint,
6373 VkPipelineLayout layout,
6374 uint32_t set,
6375 uint32_t descriptorWriteCount,
6376 const VkWriteDescriptorSet* pDescriptorWrites);
6377
6378 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplateKHR(
6379 VkCommandBuffer commandBuffer,
6380 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
6381 VkPipelineLayout layout,
6382 uint32_t set,
6383 const void* pData);
6384 #endif
6385
6386
6387 #define VK_KHR_shader_float16_int8 1
6388 #define VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION 1
6389 #define VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME "VK_KHR_shader_float16_int8"
6390 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceShaderFloat16Int8FeaturesKHR;
6391
6392 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceFloat16Int8FeaturesKHR;
6393
6394
6395
6396 #define VK_KHR_16bit_storage 1
6397 #define VK_KHR_16BIT_STORAGE_SPEC_VERSION 1
6398 #define VK_KHR_16BIT_STORAGE_EXTENSION_NAME "VK_KHR_16bit_storage"
6399 typedef VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeaturesKHR;
6400
6401
6402
6403 #define VK_KHR_incremental_present 1
6404 #define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 1
6405 #define VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME "VK_KHR_incremental_present"
6406 typedef struct VkRectLayerKHR {
6407 VkOffset2D offset;
6408 VkExtent2D extent;
6409 uint32_t layer;
6410 } VkRectLayerKHR;
6411
6412 typedef struct VkPresentRegionKHR {
6413 uint32_t rectangleCount;
6414 const VkRectLayerKHR* pRectangles;
6415 } VkPresentRegionKHR;
6416
6417 typedef struct VkPresentRegionsKHR {
6418 VkStructureType sType;
6419 const void* pNext;
6420 uint32_t swapchainCount;
6421 const VkPresentRegionKHR* pRegions;
6422 } VkPresentRegionsKHR;
6423
6424
6425
6426 #define VK_KHR_descriptor_update_template 1
6427 typedef VkDescriptorUpdateTemplate VkDescriptorUpdateTemplateKHR;
6428
6429 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION 1
6430 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME "VK_KHR_descriptor_update_template"
6431 typedef VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateTypeKHR;
6432
6433 typedef VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlagsKHR;
6434
6435 typedef VkDescriptorUpdateTemplateEntry VkDescriptorUpdateTemplateEntryKHR;
6436
6437 typedef VkDescriptorUpdateTemplateCreateInfo VkDescriptorUpdateTemplateCreateInfoKHR;
6438
6439 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplateKHR)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
6440 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplateKHR)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
6441 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplateKHR)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
6442
6443 #ifndef VK_NO_PROTOTYPES
6444 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplateKHR(
6445 VkDevice device,
6446 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
6447 const VkAllocationCallbacks* pAllocator,
6448 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
6449
6450 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplateKHR(
6451 VkDevice device,
6452 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
6453 const VkAllocationCallbacks* pAllocator);
6454
6455 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplateKHR(
6456 VkDevice device,
6457 VkDescriptorSet descriptorSet,
6458 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
6459 const void* pData);
6460 #endif
6461
6462
6463 #define VK_KHR_imageless_framebuffer 1
6464 #define VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION 1
6465 #define VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME "VK_KHR_imageless_framebuffer"
6466 typedef VkPhysicalDeviceImagelessFramebufferFeatures VkPhysicalDeviceImagelessFramebufferFeaturesKHR;
6467
6468 typedef VkFramebufferAttachmentsCreateInfo VkFramebufferAttachmentsCreateInfoKHR;
6469
6470 typedef VkFramebufferAttachmentImageInfo VkFramebufferAttachmentImageInfoKHR;
6471
6472 typedef VkRenderPassAttachmentBeginInfo VkRenderPassAttachmentBeginInfoKHR;
6473
6474
6475
6476 #define VK_KHR_create_renderpass2 1
6477 #define VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION 1
6478 #define VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME "VK_KHR_create_renderpass2"
6479 typedef VkRenderPassCreateInfo2 VkRenderPassCreateInfo2KHR;
6480
6481 typedef VkAttachmentDescription2 VkAttachmentDescription2KHR;
6482
6483 typedef VkAttachmentReference2 VkAttachmentReference2KHR;
6484
6485 typedef VkSubpassDescription2 VkSubpassDescription2KHR;
6486
6487 typedef VkSubpassDependency2 VkSubpassDependency2KHR;
6488
6489 typedef VkSubpassBeginInfo VkSubpassBeginInfoKHR;
6490
6491 typedef VkSubpassEndInfo VkSubpassEndInfoKHR;
6492
6493 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2KHR)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
6494 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo);
6495 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo);
6496 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo);
6497
6498 #ifndef VK_NO_PROTOTYPES
6499 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2KHR(
6500 VkDevice device,
6501 const VkRenderPassCreateInfo2* pCreateInfo,
6502 const VkAllocationCallbacks* pAllocator,
6503 VkRenderPass* pRenderPass);
6504
6505 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2KHR(
6506 VkCommandBuffer commandBuffer,
6507 const VkRenderPassBeginInfo* pRenderPassBegin,
6508 const VkSubpassBeginInfo* pSubpassBeginInfo);
6509
6510 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2KHR(
6511 VkCommandBuffer commandBuffer,
6512 const VkSubpassBeginInfo* pSubpassBeginInfo,
6513 const VkSubpassEndInfo* pSubpassEndInfo);
6514
6515 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2KHR(
6516 VkCommandBuffer commandBuffer,
6517 const VkSubpassEndInfo* pSubpassEndInfo);
6518 #endif
6519
6520
6521 #define VK_KHR_shared_presentable_image 1
6522 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION 1
6523 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME "VK_KHR_shared_presentable_image"
6524 typedef struct VkSharedPresentSurfaceCapabilitiesKHR {
6525 VkStructureType sType;
6526 void* pNext;
6527 VkImageUsageFlags sharedPresentSupportedUsageFlags;
6528 } VkSharedPresentSurfaceCapabilitiesKHR;
6529
6530 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainStatusKHR)(VkDevice device, VkSwapchainKHR swapchain);
6531
6532 #ifndef VK_NO_PROTOTYPES
6533 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainStatusKHR(
6534 VkDevice device,
6535 VkSwapchainKHR swapchain);
6536 #endif
6537
6538
6539 #define VK_KHR_external_fence_capabilities 1
6540 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION 1
6541 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_fence_capabilities"
6542 typedef VkExternalFenceHandleTypeFlags VkExternalFenceHandleTypeFlagsKHR;
6543
6544 typedef VkExternalFenceHandleTypeFlagBits VkExternalFenceHandleTypeFlagBitsKHR;
6545
6546 typedef VkExternalFenceFeatureFlags VkExternalFenceFeatureFlagsKHR;
6547
6548 typedef VkExternalFenceFeatureFlagBits VkExternalFenceFeatureFlagBitsKHR;
6549
6550 typedef VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfoKHR;
6551
6552 typedef VkExternalFenceProperties VkExternalFencePropertiesKHR;
6553
6554 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
6555
6556 #ifndef VK_NO_PROTOTYPES
6557 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFencePropertiesKHR(
6558 VkPhysicalDevice physicalDevice,
6559 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
6560 VkExternalFenceProperties* pExternalFenceProperties);
6561 #endif
6562
6563
6564 #define VK_KHR_external_fence 1
6565 #define VK_KHR_EXTERNAL_FENCE_SPEC_VERSION 1
6566 #define VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME "VK_KHR_external_fence"
6567 typedef VkFenceImportFlags VkFenceImportFlagsKHR;
6568
6569 typedef VkFenceImportFlagBits VkFenceImportFlagBitsKHR;
6570
6571 typedef VkExportFenceCreateInfo VkExportFenceCreateInfoKHR;
6572
6573
6574
6575 #define VK_KHR_external_fence_fd 1
6576 #define VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION 1
6577 #define VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME "VK_KHR_external_fence_fd"
6578 typedef struct VkImportFenceFdInfoKHR {
6579 VkStructureType sType;
6580 const void* pNext;
6581 VkFence fence;
6582 VkFenceImportFlags flags;
6583 VkExternalFenceHandleTypeFlagBits handleType;
6584 int fd;
6585 } VkImportFenceFdInfoKHR;
6586
6587 typedef struct VkFenceGetFdInfoKHR {
6588 VkStructureType sType;
6589 const void* pNext;
6590 VkFence fence;
6591 VkExternalFenceHandleTypeFlagBits handleType;
6592 } VkFenceGetFdInfoKHR;
6593
6594 typedef VkResult (VKAPI_PTR *PFN_vkImportFenceFdKHR)(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
6595 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceFdKHR)(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd);
6596
6597 #ifndef VK_NO_PROTOTYPES
6598 VKAPI_ATTR VkResult VKAPI_CALL vkImportFenceFdKHR(
6599 VkDevice device,
6600 const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
6601
6602 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceFdKHR(
6603 VkDevice device,
6604 const VkFenceGetFdInfoKHR* pGetFdInfo,
6605 int* pFd);
6606 #endif
6607
6608
6609 #define VK_KHR_performance_query 1
6610 #define VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION 1
6611 #define VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME "VK_KHR_performance_query"
6612
6613 typedef enum VkPerformanceCounterUnitKHR {
6614 VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR = 0,
6615 VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR = 1,
6616 VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR = 2,
6617 VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR = 3,
6618 VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR = 4,
6619 VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR = 5,
6620 VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR = 6,
6621 VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR = 7,
6622 VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR = 8,
6623 VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR = 9,
6624 VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR = 10,
6625 VK_PERFORMANCE_COUNTER_UNIT_MAX_ENUM_KHR = 0x7FFFFFFF
6626 } VkPerformanceCounterUnitKHR;
6627
6628 typedef enum VkPerformanceCounterScopeKHR {
6629 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR = 0,
6630 VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR = 1,
6631 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR = 2,
6632 VK_QUERY_SCOPE_COMMAND_BUFFER_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR,
6633 VK_QUERY_SCOPE_RENDER_PASS_KHR = VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR,
6634 VK_QUERY_SCOPE_COMMAND_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR,
6635 VK_PERFORMANCE_COUNTER_SCOPE_MAX_ENUM_KHR = 0x7FFFFFFF
6636 } VkPerformanceCounterScopeKHR;
6637
6638 typedef enum VkPerformanceCounterStorageKHR {
6639 VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR = 0,
6640 VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR = 1,
6641 VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR = 2,
6642 VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR = 3,
6643 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR = 4,
6644 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR = 5,
6645 VK_PERFORMANCE_COUNTER_STORAGE_MAX_ENUM_KHR = 0x7FFFFFFF
6646 } VkPerformanceCounterStorageKHR;
6647
6648 typedef enum VkPerformanceCounterDescriptionFlagBitsKHR {
6649 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR = 0x00000001,
6650 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR = 0x00000002,
6651 VK_PERFORMANCE_COUNTER_DESCRIPTION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
6652 } VkPerformanceCounterDescriptionFlagBitsKHR;
6653 typedef VkFlags VkPerformanceCounterDescriptionFlagsKHR;
6654
6655 typedef enum VkAcquireProfilingLockFlagBitsKHR {
6656 VK_ACQUIRE_PROFILING_LOCK_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
6657 } VkAcquireProfilingLockFlagBitsKHR;
6658 typedef VkFlags VkAcquireProfilingLockFlagsKHR;
6659 typedef struct VkPhysicalDevicePerformanceQueryFeaturesKHR {
6660 VkStructureType sType;
6661 void* pNext;
6662 VkBool32 performanceCounterQueryPools;
6663 VkBool32 performanceCounterMultipleQueryPools;
6664 } VkPhysicalDevicePerformanceQueryFeaturesKHR;
6665
6666 typedef struct VkPhysicalDevicePerformanceQueryPropertiesKHR {
6667 VkStructureType sType;
6668 void* pNext;
6669 VkBool32 allowCommandBufferQueryCopies;
6670 } VkPhysicalDevicePerformanceQueryPropertiesKHR;
6671
6672 typedef struct VkPerformanceCounterKHR {
6673 VkStructureType sType;
6674 const void* pNext;
6675 VkPerformanceCounterUnitKHR unit;
6676 VkPerformanceCounterScopeKHR scope;
6677 VkPerformanceCounterStorageKHR storage;
6678 uint8_t uuid[VK_UUID_SIZE];
6679 } VkPerformanceCounterKHR;
6680
6681 typedef struct VkPerformanceCounterDescriptionKHR {
6682 VkStructureType sType;
6683 const void* pNext;
6684 VkPerformanceCounterDescriptionFlagsKHR flags;
6685 char name[VK_MAX_DESCRIPTION_SIZE];
6686 char category[VK_MAX_DESCRIPTION_SIZE];
6687 char description[VK_MAX_DESCRIPTION_SIZE];
6688 } VkPerformanceCounterDescriptionKHR;
6689
6690 typedef struct VkQueryPoolPerformanceCreateInfoKHR {
6691 VkStructureType sType;
6692 const void* pNext;
6693 uint32_t queueFamilyIndex;
6694 uint32_t counterIndexCount;
6695 const uint32_t* pCounterIndices;
6696 } VkQueryPoolPerformanceCreateInfoKHR;
6697
6698 typedef union VkPerformanceCounterResultKHR {
6699 int32_t int32;
6700 int64_t int64;
6701 uint32_t uint32;
6702 uint64_t uint64;
6703 float float32;
6704 double float64;
6705 } VkPerformanceCounterResultKHR;
6706
6707 typedef struct VkAcquireProfilingLockInfoKHR {
6708 VkStructureType sType;
6709 const void* pNext;
6710 VkAcquireProfilingLockFlagsKHR flags;
6711 uint64_t timeout;
6712 } VkAcquireProfilingLockInfoKHR;
6713
6714 typedef struct VkPerformanceQuerySubmitInfoKHR {
6715 VkStructureType sType;
6716 const void* pNext;
6717 uint32_t counterPassIndex;
6718 } VkPerformanceQuerySubmitInfoKHR;
6719
6720 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, uint32_t* pCounterCount, VkPerformanceCounterKHR* pCounters, VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
6721 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR)(VkPhysicalDevice physicalDevice, const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, uint32_t* pNumPasses);
6722 typedef VkResult (VKAPI_PTR *PFN_vkAcquireProfilingLockKHR)(VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo);
6723 typedef void (VKAPI_PTR *PFN_vkReleaseProfilingLockKHR)(VkDevice device);
6724
6725 #ifndef VK_NO_PROTOTYPES
6726 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
6727 VkPhysicalDevice physicalDevice,
6728 uint32_t queueFamilyIndex,
6729 uint32_t* pCounterCount,
6730 VkPerformanceCounterKHR* pCounters,
6731 VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
6732
6733 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
6734 VkPhysicalDevice physicalDevice,
6735 const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo,
6736 uint32_t* pNumPasses);
6737
6738 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireProfilingLockKHR(
6739 VkDevice device,
6740 const VkAcquireProfilingLockInfoKHR* pInfo);
6741
6742 VKAPI_ATTR void VKAPI_CALL vkReleaseProfilingLockKHR(
6743 VkDevice device);
6744 #endif
6745
6746
6747 #define VK_KHR_maintenance2 1
6748 #define VK_KHR_MAINTENANCE2_SPEC_VERSION 1
6749 #define VK_KHR_MAINTENANCE2_EXTENSION_NAME "VK_KHR_maintenance2"
6750 typedef VkPointClippingBehavior VkPointClippingBehaviorKHR;
6751
6752 typedef VkTessellationDomainOrigin VkTessellationDomainOriginKHR;
6753
6754 typedef VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingPropertiesKHR;
6755
6756 typedef VkRenderPassInputAttachmentAspectCreateInfo VkRenderPassInputAttachmentAspectCreateInfoKHR;
6757
6758 typedef VkInputAttachmentAspectReference VkInputAttachmentAspectReferenceKHR;
6759
6760 typedef VkImageViewUsageCreateInfo VkImageViewUsageCreateInfoKHR;
6761
6762 typedef VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfoKHR;
6763
6764
6765
6766 #define VK_KHR_get_surface_capabilities2 1
6767 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION 1
6768 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME "VK_KHR_get_surface_capabilities2"
6769 typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
6770 VkStructureType sType;
6771 const void* pNext;
6772 VkSurfaceKHR surface;
6773 } VkPhysicalDeviceSurfaceInfo2KHR;
6774
6775 typedef struct VkSurfaceCapabilities2KHR {
6776 VkStructureType sType;
6777 void* pNext;
6778 VkSurfaceCapabilitiesKHR surfaceCapabilities;
6779 } VkSurfaceCapabilities2KHR;
6780
6781 typedef struct VkSurfaceFormat2KHR {
6782 VkStructureType sType;
6783 void* pNext;
6784 VkSurfaceFormatKHR surfaceFormat;
6785 } VkSurfaceFormat2KHR;
6786
6787 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
6788 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormats2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, uint32_t* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats);
6789
6790 #ifndef VK_NO_PROTOTYPES
6791 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2KHR(
6792 VkPhysicalDevice physicalDevice,
6793 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
6794 VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
6795
6796 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormats2KHR(
6797 VkPhysicalDevice physicalDevice,
6798 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
6799 uint32_t* pSurfaceFormatCount,
6800 VkSurfaceFormat2KHR* pSurfaceFormats);
6801 #endif
6802
6803
6804 #define VK_KHR_variable_pointers 1
6805 #define VK_KHR_VARIABLE_POINTERS_SPEC_VERSION 1
6806 #define VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME "VK_KHR_variable_pointers"
6807 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeaturesKHR;
6808
6809 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointersFeaturesKHR;
6810
6811
6812
6813 #define VK_KHR_get_display_properties2 1
6814 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION 1
6815 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_display_properties2"
6816 typedef struct VkDisplayProperties2KHR {
6817 VkStructureType sType;
6818 void* pNext;
6819 VkDisplayPropertiesKHR displayProperties;
6820 } VkDisplayProperties2KHR;
6821
6822 typedef struct VkDisplayPlaneProperties2KHR {
6823 VkStructureType sType;
6824 void* pNext;
6825 VkDisplayPlanePropertiesKHR displayPlaneProperties;
6826 } VkDisplayPlaneProperties2KHR;
6827
6828 typedef struct VkDisplayModeProperties2KHR {
6829 VkStructureType sType;
6830 void* pNext;
6831 VkDisplayModePropertiesKHR displayModeProperties;
6832 } VkDisplayModeProperties2KHR;
6833
6834 typedef struct VkDisplayPlaneInfo2KHR {
6835 VkStructureType sType;
6836 const void* pNext;
6837 VkDisplayModeKHR mode;
6838 uint32_t planeIndex;
6839 } VkDisplayPlaneInfo2KHR;
6840
6841 typedef struct VkDisplayPlaneCapabilities2KHR {
6842 VkStructureType sType;
6843 void* pNext;
6844 VkDisplayPlaneCapabilitiesKHR capabilities;
6845 } VkDisplayPlaneCapabilities2KHR;
6846
6847 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayProperties2KHR* pProperties);
6848 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlaneProperties2KHR* pProperties);
6849 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModeProperties2KHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModeProperties2KHR* pProperties);
6850 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, VkDisplayPlaneCapabilities2KHR* pCapabilities);
6851
6852 #ifndef VK_NO_PROTOTYPES
6853 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayProperties2KHR(
6854 VkPhysicalDevice physicalDevice,
6855 uint32_t* pPropertyCount,
6856 VkDisplayProperties2KHR* pProperties);
6857
6858 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlaneProperties2KHR(
6859 VkPhysicalDevice physicalDevice,
6860 uint32_t* pPropertyCount,
6861 VkDisplayPlaneProperties2KHR* pProperties);
6862
6863 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModeProperties2KHR(
6864 VkPhysicalDevice physicalDevice,
6865 VkDisplayKHR display,
6866 uint32_t* pPropertyCount,
6867 VkDisplayModeProperties2KHR* pProperties);
6868
6869 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilities2KHR(
6870 VkPhysicalDevice physicalDevice,
6871 const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo,
6872 VkDisplayPlaneCapabilities2KHR* pCapabilities);
6873 #endif
6874
6875
6876 #define VK_KHR_dedicated_allocation 1
6877 #define VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION 3
6878 #define VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_KHR_dedicated_allocation"
6879 typedef VkMemoryDedicatedRequirements VkMemoryDedicatedRequirementsKHR;
6880
6881 typedef VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfoKHR;
6882
6883
6884
6885 #define VK_KHR_storage_buffer_storage_class 1
6886 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION 1
6887 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME "VK_KHR_storage_buffer_storage_class"
6888
6889
6890 #define VK_KHR_relaxed_block_layout 1
6891 #define VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION 1
6892 #define VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME "VK_KHR_relaxed_block_layout"
6893
6894
6895 #define VK_KHR_get_memory_requirements2 1
6896 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION 1
6897 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME "VK_KHR_get_memory_requirements2"
6898 typedef VkBufferMemoryRequirementsInfo2 VkBufferMemoryRequirementsInfo2KHR;
6899
6900 typedef VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2KHR;
6901
6902 typedef VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2KHR;
6903
6904 typedef VkSparseImageMemoryRequirements2 VkSparseImageMemoryRequirements2KHR;
6905
6906 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2KHR)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
6907 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2KHR)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
6908 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2KHR)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
6909
6910 #ifndef VK_NO_PROTOTYPES
6911 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2KHR(
6912 VkDevice device,
6913 const VkImageMemoryRequirementsInfo2* pInfo,
6914 VkMemoryRequirements2* pMemoryRequirements);
6915
6916 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2KHR(
6917 VkDevice device,
6918 const VkBufferMemoryRequirementsInfo2* pInfo,
6919 VkMemoryRequirements2* pMemoryRequirements);
6920
6921 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2KHR(
6922 VkDevice device,
6923 const VkImageSparseMemoryRequirementsInfo2* pInfo,
6924 uint32_t* pSparseMemoryRequirementCount,
6925 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
6926 #endif
6927
6928
6929 #define VK_KHR_image_format_list 1
6930 #define VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION 1
6931 #define VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME "VK_KHR_image_format_list"
6932 typedef VkImageFormatListCreateInfo VkImageFormatListCreateInfoKHR;
6933
6934
6935
6936 #define VK_KHR_sampler_ycbcr_conversion 1
6937 typedef VkSamplerYcbcrConversion VkSamplerYcbcrConversionKHR;
6938
6939 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION 14
6940 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME "VK_KHR_sampler_ycbcr_conversion"
6941 typedef VkSamplerYcbcrModelConversion VkSamplerYcbcrModelConversionKHR;
6942
6943 typedef VkSamplerYcbcrRange VkSamplerYcbcrRangeKHR;
6944
6945 typedef VkChromaLocation VkChromaLocationKHR;
6946
6947 typedef VkSamplerYcbcrConversionCreateInfo VkSamplerYcbcrConversionCreateInfoKHR;
6948
6949 typedef VkSamplerYcbcrConversionInfo VkSamplerYcbcrConversionInfoKHR;
6950
6951 typedef VkBindImagePlaneMemoryInfo VkBindImagePlaneMemoryInfoKHR;
6952
6953 typedef VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfoKHR;
6954
6955 typedef VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR;
6956
6957 typedef VkSamplerYcbcrConversionImageFormatProperties VkSamplerYcbcrConversionImageFormatPropertiesKHR;
6958
6959 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversionKHR)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
6960 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversionKHR)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
6961
6962 #ifndef VK_NO_PROTOTYPES
6963 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversionKHR(
6964 VkDevice device,
6965 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
6966 const VkAllocationCallbacks* pAllocator,
6967 VkSamplerYcbcrConversion* pYcbcrConversion);
6968
6969 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversionKHR(
6970 VkDevice device,
6971 VkSamplerYcbcrConversion ycbcrConversion,
6972 const VkAllocationCallbacks* pAllocator);
6973 #endif
6974
6975
6976 #define VK_KHR_bind_memory2 1
6977 #define VK_KHR_BIND_MEMORY_2_SPEC_VERSION 1
6978 #define VK_KHR_BIND_MEMORY_2_EXTENSION_NAME "VK_KHR_bind_memory2"
6979 typedef VkBindBufferMemoryInfo VkBindBufferMemoryInfoKHR;
6980
6981 typedef VkBindImageMemoryInfo VkBindImageMemoryInfoKHR;
6982
6983 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2KHR)(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
6984 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2KHR)(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
6985
6986 #ifndef VK_NO_PROTOTYPES
6987 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2KHR(
6988 VkDevice device,
6989 uint32_t bindInfoCount,
6990 const VkBindBufferMemoryInfo* pBindInfos);
6991
6992 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2KHR(
6993 VkDevice device,
6994 uint32_t bindInfoCount,
6995 const VkBindImageMemoryInfo* pBindInfos);
6996 #endif
6997
6998
6999 #define VK_KHR_maintenance3 1
7000 #define VK_KHR_MAINTENANCE3_SPEC_VERSION 1
7001 #define VK_KHR_MAINTENANCE3_EXTENSION_NAME "VK_KHR_maintenance3"
7002 typedef VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3PropertiesKHR;
7003
7004 typedef VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupportKHR;
7005
7006 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupportKHR)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
7007
7008 #ifndef VK_NO_PROTOTYPES
7009 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupportKHR(
7010 VkDevice device,
7011 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
7012 VkDescriptorSetLayoutSupport* pSupport);
7013 #endif
7014
7015
7016 #define VK_KHR_draw_indirect_count 1
7017 #define VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION 1
7018 #define VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_KHR_draw_indirect_count"
7019 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
7020 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
7021
7022 #ifndef VK_NO_PROTOTYPES
7023 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountKHR(
7024 VkCommandBuffer commandBuffer,
7025 VkBuffer buffer,
7026 VkDeviceSize offset,
7027 VkBuffer countBuffer,
7028 VkDeviceSize countBufferOffset,
7029 uint32_t maxDrawCount,
7030 uint32_t stride);
7031
7032 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountKHR(
7033 VkCommandBuffer commandBuffer,
7034 VkBuffer buffer,
7035 VkDeviceSize offset,
7036 VkBuffer countBuffer,
7037 VkDeviceSize countBufferOffset,
7038 uint32_t maxDrawCount,
7039 uint32_t stride);
7040 #endif
7041
7042
7043 #define VK_KHR_shader_subgroup_extended_types 1
7044 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION 1
7045 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME "VK_KHR_shader_subgroup_extended_types"
7046 typedef VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR;
7047
7048
7049
7050 #define VK_KHR_8bit_storage 1
7051 #define VK_KHR_8BIT_STORAGE_SPEC_VERSION 1
7052 #define VK_KHR_8BIT_STORAGE_EXTENSION_NAME "VK_KHR_8bit_storage"
7053 typedef VkPhysicalDevice8BitStorageFeatures VkPhysicalDevice8BitStorageFeaturesKHR;
7054
7055
7056
7057 #define VK_KHR_shader_atomic_int64 1
7058 #define VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION 1
7059 #define VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME "VK_KHR_shader_atomic_int64"
7060 typedef VkPhysicalDeviceShaderAtomicInt64Features VkPhysicalDeviceShaderAtomicInt64FeaturesKHR;
7061
7062
7063
7064 #define VK_KHR_shader_clock 1
7065 #define VK_KHR_SHADER_CLOCK_SPEC_VERSION 1
7066 #define VK_KHR_SHADER_CLOCK_EXTENSION_NAME "VK_KHR_shader_clock"
7067 typedef struct VkPhysicalDeviceShaderClockFeaturesKHR {
7068 VkStructureType sType;
7069 void* pNext;
7070 VkBool32 shaderSubgroupClock;
7071 VkBool32 shaderDeviceClock;
7072 } VkPhysicalDeviceShaderClockFeaturesKHR;
7073
7074
7075
7076 #define VK_KHR_driver_properties 1
7077 #define VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION 1
7078 #define VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME "VK_KHR_driver_properties"
7079 #define VK_MAX_DRIVER_NAME_SIZE_KHR VK_MAX_DRIVER_NAME_SIZE
7080 #define VK_MAX_DRIVER_INFO_SIZE_KHR VK_MAX_DRIVER_INFO_SIZE
7081 typedef VkDriverId VkDriverIdKHR;
7082
7083 typedef VkConformanceVersion VkConformanceVersionKHR;
7084
7085 typedef VkPhysicalDeviceDriverProperties VkPhysicalDeviceDriverPropertiesKHR;
7086
7087
7088
7089 #define VK_KHR_shader_float_controls 1
7090 #define VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION 4
7091 #define VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME "VK_KHR_shader_float_controls"
7092 typedef VkShaderFloatControlsIndependence VkShaderFloatControlsIndependenceKHR;
7093
7094 typedef VkPhysicalDeviceFloatControlsProperties VkPhysicalDeviceFloatControlsPropertiesKHR;
7095
7096
7097
7098 #define VK_KHR_depth_stencil_resolve 1
7099 #define VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION 1
7100 #define VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME "VK_KHR_depth_stencil_resolve"
7101 typedef VkResolveModeFlagBits VkResolveModeFlagBitsKHR;
7102
7103 typedef VkResolveModeFlags VkResolveModeFlagsKHR;
7104
7105 typedef VkSubpassDescriptionDepthStencilResolve VkSubpassDescriptionDepthStencilResolveKHR;
7106
7107 typedef VkPhysicalDeviceDepthStencilResolveProperties VkPhysicalDeviceDepthStencilResolvePropertiesKHR;
7108
7109
7110
7111 #define VK_KHR_swapchain_mutable_format 1
7112 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION 1
7113 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME "VK_KHR_swapchain_mutable_format"
7114
7115
7116 #define VK_KHR_timeline_semaphore 1
7117 #define VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION 2
7118 #define VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME "VK_KHR_timeline_semaphore"
7119 typedef VkSemaphoreType VkSemaphoreTypeKHR;
7120
7121 typedef VkSemaphoreWaitFlagBits VkSemaphoreWaitFlagBitsKHR;
7122
7123 typedef VkSemaphoreWaitFlags VkSemaphoreWaitFlagsKHR;
7124
7125 typedef VkPhysicalDeviceTimelineSemaphoreFeatures VkPhysicalDeviceTimelineSemaphoreFeaturesKHR;
7126
7127 typedef VkPhysicalDeviceTimelineSemaphoreProperties VkPhysicalDeviceTimelineSemaphorePropertiesKHR;
7128
7129 typedef VkSemaphoreTypeCreateInfo VkSemaphoreTypeCreateInfoKHR;
7130
7131 typedef VkTimelineSemaphoreSubmitInfo VkTimelineSemaphoreSubmitInfoKHR;
7132
7133 typedef VkSemaphoreWaitInfo VkSemaphoreWaitInfoKHR;
7134
7135 typedef VkSemaphoreSignalInfo VkSemaphoreSignalInfoKHR;
7136
7137 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValueKHR)(VkDevice device, VkSemaphore semaphore, uint64_t* pValue);
7138 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphoresKHR)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout);
7139 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphoreKHR)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo);
7140
7141 #ifndef VK_NO_PROTOTYPES
7142 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValueKHR(
7143 VkDevice device,
7144 VkSemaphore semaphore,
7145 uint64_t* pValue);
7146
7147 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphoresKHR(
7148 VkDevice device,
7149 const VkSemaphoreWaitInfo* pWaitInfo,
7150 uint64_t timeout);
7151
7152 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphoreKHR(
7153 VkDevice device,
7154 const VkSemaphoreSignalInfo* pSignalInfo);
7155 #endif
7156
7157
7158 #define VK_KHR_vulkan_memory_model 1
7159 #define VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION 3
7160 #define VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME "VK_KHR_vulkan_memory_model"
7161 typedef VkPhysicalDeviceVulkanMemoryModelFeatures VkPhysicalDeviceVulkanMemoryModelFeaturesKHR;
7162
7163
7164
7165 #define VK_KHR_spirv_1_4 1
7166 #define VK_KHR_SPIRV_1_4_SPEC_VERSION 1
7167 #define VK_KHR_SPIRV_1_4_EXTENSION_NAME "VK_KHR_spirv_1_4"
7168
7169
7170 #define VK_KHR_surface_protected_capabilities 1
7171 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION 1
7172 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME "VK_KHR_surface_protected_capabilities"
7173 typedef struct VkSurfaceProtectedCapabilitiesKHR {
7174 VkStructureType sType;
7175 const void* pNext;
7176 VkBool32 supportsProtected;
7177 } VkSurfaceProtectedCapabilitiesKHR;
7178
7179
7180
7181 #define VK_KHR_separate_depth_stencil_layouts 1
7182 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION 1
7183 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME "VK_KHR_separate_depth_stencil_layouts"
7184 typedef VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR;
7185
7186 typedef VkAttachmentReferenceStencilLayout VkAttachmentReferenceStencilLayoutKHR;
7187
7188 typedef VkAttachmentDescriptionStencilLayout VkAttachmentDescriptionStencilLayoutKHR;
7189
7190
7191
7192 #define VK_KHR_uniform_buffer_standard_layout 1
7193 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION 1
7194 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME "VK_KHR_uniform_buffer_standard_layout"
7195 typedef VkPhysicalDeviceUniformBufferStandardLayoutFeatures VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR;
7196
7197
7198
7199 #define VK_KHR_buffer_device_address 1
7200 #define VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 1
7201 #define VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_KHR_buffer_device_address"
7202 typedef VkPhysicalDeviceBufferDeviceAddressFeatures VkPhysicalDeviceBufferDeviceAddressFeaturesKHR;
7203
7204 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoKHR;
7205
7206 typedef VkBufferOpaqueCaptureAddressCreateInfo VkBufferOpaqueCaptureAddressCreateInfoKHR;
7207
7208 typedef VkMemoryOpaqueCaptureAddressAllocateInfo VkMemoryOpaqueCaptureAddressAllocateInfoKHR;
7209
7210 typedef VkDeviceMemoryOpaqueCaptureAddressInfo VkDeviceMemoryOpaqueCaptureAddressInfoKHR;
7211
7212 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
7213 typedef uint64_t (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
7214 typedef uint64_t (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
7215
7216 #ifndef VK_NO_PROTOTYPES
7217 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressKHR(
7218 VkDevice device,
7219 const VkBufferDeviceAddressInfo* pInfo);
7220
7221 VKAPI_ATTR uint64_t VKAPI_CALL vkGetBufferOpaqueCaptureAddressKHR(
7222 VkDevice device,
7223 const VkBufferDeviceAddressInfo* pInfo);
7224
7225 VKAPI_ATTR uint64_t VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddressKHR(
7226 VkDevice device,
7227 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
7228 #endif
7229
7230
7231 #define VK_KHR_pipeline_executable_properties 1
7232 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION 1
7233 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME "VK_KHR_pipeline_executable_properties"
7234
7235 typedef enum VkPipelineExecutableStatisticFormatKHR {
7236 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR = 0,
7237 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR = 1,
7238 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR = 2,
7239 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR = 3,
7240 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_MAX_ENUM_KHR = 0x7FFFFFFF
7241 } VkPipelineExecutableStatisticFormatKHR;
7242 typedef struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
7243 VkStructureType sType;
7244 void* pNext;
7245 VkBool32 pipelineExecutableInfo;
7246 } VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR;
7247
7248 typedef struct VkPipelineInfoKHR {
7249 VkStructureType sType;
7250 const void* pNext;
7251 VkPipeline pipeline;
7252 } VkPipelineInfoKHR;
7253
7254 typedef struct VkPipelineExecutablePropertiesKHR {
7255 VkStructureType sType;
7256 void* pNext;
7257 VkShaderStageFlags stages;
7258 char name[VK_MAX_DESCRIPTION_SIZE];
7259 char description[VK_MAX_DESCRIPTION_SIZE];
7260 uint32_t subgroupSize;
7261 } VkPipelineExecutablePropertiesKHR;
7262
7263 typedef struct VkPipelineExecutableInfoKHR {
7264 VkStructureType sType;
7265 const void* pNext;
7266 VkPipeline pipeline;
7267 uint32_t executableIndex;
7268 } VkPipelineExecutableInfoKHR;
7269
7270 typedef union VkPipelineExecutableStatisticValueKHR {
7271 VkBool32 b32;
7272 int64_t i64;
7273 uint64_t u64;
7274 double f64;
7275 } VkPipelineExecutableStatisticValueKHR;
7276
7277 typedef struct VkPipelineExecutableStatisticKHR {
7278 VkStructureType sType;
7279 void* pNext;
7280 char name[VK_MAX_DESCRIPTION_SIZE];
7281 char description[VK_MAX_DESCRIPTION_SIZE];
7282 VkPipelineExecutableStatisticFormatKHR format;
7283 VkPipelineExecutableStatisticValueKHR value;
7284 } VkPipelineExecutableStatisticKHR;
7285
7286 typedef struct VkPipelineExecutableInternalRepresentationKHR {
7287 VkStructureType sType;
7288 void* pNext;
7289 char name[VK_MAX_DESCRIPTION_SIZE];
7290 char description[VK_MAX_DESCRIPTION_SIZE];
7291 VkBool32 isText;
7292 size_t dataSize;
7293 void* pData;
7294 } VkPipelineExecutableInternalRepresentationKHR;
7295
7296 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutablePropertiesKHR)(VkDevice device, const VkPipelineInfoKHR* pPipelineInfo, uint32_t* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties);
7297 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableStatisticsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics);
7298 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableInternalRepresentationsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
7299
7300 #ifndef VK_NO_PROTOTYPES
7301 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutablePropertiesKHR(
7302 VkDevice device,
7303 const VkPipelineInfoKHR* pPipelineInfo,
7304 uint32_t* pExecutableCount,
7305 VkPipelineExecutablePropertiesKHR* pProperties);
7306
7307 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableStatisticsKHR(
7308 VkDevice device,
7309 const VkPipelineExecutableInfoKHR* pExecutableInfo,
7310 uint32_t* pStatisticCount,
7311 VkPipelineExecutableStatisticKHR* pStatistics);
7312
7313 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableInternalRepresentationsKHR(
7314 VkDevice device,
7315 const VkPipelineExecutableInfoKHR* pExecutableInfo,
7316 uint32_t* pInternalRepresentationCount,
7317 VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
7318 #endif
7319
7320
7321 #define VK_KHR_shader_non_semantic_info 1
7322 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION 1
7323 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME "VK_KHR_shader_non_semantic_info"
7324
7325
7326 #define VK_EXT_debug_report 1
7327 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT)
7328 #define VK_EXT_DEBUG_REPORT_SPEC_VERSION 9
7329 #define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report"
7330
7331 typedef enum VkDebugReportObjectTypeEXT {
7332 VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT = 0,
7333 VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT = 1,
7334 VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT = 2,
7335 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT = 3,
7336 VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT = 4,
7337 VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT = 5,
7338 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT = 6,
7339 VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT = 7,
7340 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT = 8,
7341 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT = 9,
7342 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT = 10,
7343 VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT = 11,
7344 VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT = 12,
7345 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT = 13,
7346 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT = 14,
7347 VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT = 15,
7348 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT = 16,
7349 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT = 17,
7350 VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT = 18,
7351 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT = 19,
7352 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT = 20,
7353 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT = 21,
7354 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT = 22,
7355 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT = 23,
7356 VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT = 24,
7357 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT = 25,
7358 VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = 26,
7359 VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = 27,
7360 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT = 28,
7361 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT = 29,
7362 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = 30,
7363 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT = 33,
7364 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT = 1000156000,
7365 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT = 1000085000,
7366 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT = 1000165000,
7367 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT,
7368 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT,
7369 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT,
7370 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT,
7371 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT,
7372 VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
7373 } VkDebugReportObjectTypeEXT;
7374
7375 typedef enum VkDebugReportFlagBitsEXT {
7376 VK_DEBUG_REPORT_INFORMATION_BIT_EXT = 0x00000001,
7377 VK_DEBUG_REPORT_WARNING_BIT_EXT = 0x00000002,
7378 VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = 0x00000004,
7379 VK_DEBUG_REPORT_ERROR_BIT_EXT = 0x00000008,
7380 VK_DEBUG_REPORT_DEBUG_BIT_EXT = 0x00000010,
7381 VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
7382 } VkDebugReportFlagBitsEXT;
7383 typedef VkFlags VkDebugReportFlagsEXT;
7384 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugReportCallbackEXT)(
7385 VkDebugReportFlagsEXT flags,
7386 VkDebugReportObjectTypeEXT objectType,
7387 uint64_t object,
7388 size_t location,
7389 int32_t messageCode,
7390 const char* pLayerPrefix,
7391 const char* pMessage,
7392 void* pUserData);
7393
7394 typedef struct VkDebugReportCallbackCreateInfoEXT {
7395 VkStructureType sType;
7396 const void* pNext;
7397 VkDebugReportFlagsEXT flags;
7398 PFN_vkDebugReportCallbackEXT pfnCallback;
7399 void* pUserData;
7400 } VkDebugReportCallbackCreateInfoEXT;
7401
7402 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugReportCallbackEXT)(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback);
7403 typedef void (VKAPI_PTR *PFN_vkDestroyDebugReportCallbackEXT)(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator);
7404 typedef 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);
7405
7406 #ifndef VK_NO_PROTOTYPES
7407 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugReportCallbackEXT(
7408 VkInstance instance,
7409 const VkDebugReportCallbackCreateInfoEXT* pCreateInfo,
7410 const VkAllocationCallbacks* pAllocator,
7411 VkDebugReportCallbackEXT* pCallback);
7412
7413 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugReportCallbackEXT(
7414 VkInstance instance,
7415 VkDebugReportCallbackEXT callback,
7416 const VkAllocationCallbacks* pAllocator);
7417
7418 VKAPI_ATTR void VKAPI_CALL vkDebugReportMessageEXT(
7419 VkInstance instance,
7420 VkDebugReportFlagsEXT flags,
7421 VkDebugReportObjectTypeEXT objectType,
7422 uint64_t object,
7423 size_t location,
7424 int32_t messageCode,
7425 const char* pLayerPrefix,
7426 const char* pMessage);
7427 #endif
7428
7429
7430 #define VK_NV_glsl_shader 1
7431 #define VK_NV_GLSL_SHADER_SPEC_VERSION 1
7432 #define VK_NV_GLSL_SHADER_EXTENSION_NAME "VK_NV_glsl_shader"
7433
7434
7435 #define VK_EXT_depth_range_unrestricted 1
7436 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION 1
7437 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME "VK_EXT_depth_range_unrestricted"
7438
7439
7440 #define VK_IMG_filter_cubic 1
7441 #define VK_IMG_FILTER_CUBIC_SPEC_VERSION 1
7442 #define VK_IMG_FILTER_CUBIC_EXTENSION_NAME "VK_IMG_filter_cubic"
7443
7444
7445 #define VK_AMD_rasterization_order 1
7446 #define VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION 1
7447 #define VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME "VK_AMD_rasterization_order"
7448
7449 typedef enum VkRasterizationOrderAMD {
7450 VK_RASTERIZATION_ORDER_STRICT_AMD = 0,
7451 VK_RASTERIZATION_ORDER_RELAXED_AMD = 1,
7452 VK_RASTERIZATION_ORDER_MAX_ENUM_AMD = 0x7FFFFFFF
7453 } VkRasterizationOrderAMD;
7454 typedef struct VkPipelineRasterizationStateRasterizationOrderAMD {
7455 VkStructureType sType;
7456 const void* pNext;
7457 VkRasterizationOrderAMD rasterizationOrder;
7458 } VkPipelineRasterizationStateRasterizationOrderAMD;
7459
7460
7461
7462 #define VK_AMD_shader_trinary_minmax 1
7463 #define VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION 1
7464 #define VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME "VK_AMD_shader_trinary_minmax"
7465
7466
7467 #define VK_AMD_shader_explicit_vertex_parameter 1
7468 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION 1
7469 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME "VK_AMD_shader_explicit_vertex_parameter"
7470
7471
7472 #define VK_EXT_debug_marker 1
7473 #define VK_EXT_DEBUG_MARKER_SPEC_VERSION 4
7474 #define VK_EXT_DEBUG_MARKER_EXTENSION_NAME "VK_EXT_debug_marker"
7475 typedef struct VkDebugMarkerObjectNameInfoEXT {
7476 VkStructureType sType;
7477 const void* pNext;
7478 VkDebugReportObjectTypeEXT objectType;
7479 uint64_t object;
7480 const char* pObjectName;
7481 } VkDebugMarkerObjectNameInfoEXT;
7482
7483 typedef struct VkDebugMarkerObjectTagInfoEXT {
7484 VkStructureType sType;
7485 const void* pNext;
7486 VkDebugReportObjectTypeEXT objectType;
7487 uint64_t object;
7488 uint64_t tagName;
7489 size_t tagSize;
7490 const void* pTag;
7491 } VkDebugMarkerObjectTagInfoEXT;
7492
7493 typedef struct VkDebugMarkerMarkerInfoEXT {
7494 VkStructureType sType;
7495 const void* pNext;
7496 const char* pMarkerName;
7497 float color[4];
7498 } VkDebugMarkerMarkerInfoEXT;
7499
7500 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectTagEXT)(VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
7501 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectNameEXT)(VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
7502 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerBeginEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
7503 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerEndEXT)(VkCommandBuffer commandBuffer);
7504 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerInsertEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
7505
7506 #ifndef VK_NO_PROTOTYPES
7507 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectTagEXT(
7508 VkDevice device,
7509 const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
7510
7511 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectNameEXT(
7512 VkDevice device,
7513 const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
7514
7515 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerBeginEXT(
7516 VkCommandBuffer commandBuffer,
7517 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
7518
7519 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerEndEXT(
7520 VkCommandBuffer commandBuffer);
7521
7522 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerInsertEXT(
7523 VkCommandBuffer commandBuffer,
7524 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
7525 #endif
7526
7527
7528 #define VK_AMD_gcn_shader 1
7529 #define VK_AMD_GCN_SHADER_SPEC_VERSION 1
7530 #define VK_AMD_GCN_SHADER_EXTENSION_NAME "VK_AMD_gcn_shader"
7531
7532
7533 #define VK_NV_dedicated_allocation 1
7534 #define VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION 1
7535 #define VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_NV_dedicated_allocation"
7536 typedef struct VkDedicatedAllocationImageCreateInfoNV {
7537 VkStructureType sType;
7538 const void* pNext;
7539 VkBool32 dedicatedAllocation;
7540 } VkDedicatedAllocationImageCreateInfoNV;
7541
7542 typedef struct VkDedicatedAllocationBufferCreateInfoNV {
7543 VkStructureType sType;
7544 const void* pNext;
7545 VkBool32 dedicatedAllocation;
7546 } VkDedicatedAllocationBufferCreateInfoNV;
7547
7548 typedef struct VkDedicatedAllocationMemoryAllocateInfoNV {
7549 VkStructureType sType;
7550 const void* pNext;
7551 VkImage image;
7552 VkBuffer buffer;
7553 } VkDedicatedAllocationMemoryAllocateInfoNV;
7554
7555
7556
7557 #define VK_EXT_transform_feedback 1
7558 #define VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION 1
7559 #define VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME "VK_EXT_transform_feedback"
7560 typedef VkFlags VkPipelineRasterizationStateStreamCreateFlagsEXT;
7561 typedef struct VkPhysicalDeviceTransformFeedbackFeaturesEXT {
7562 VkStructureType sType;
7563 void* pNext;
7564 VkBool32 transformFeedback;
7565 VkBool32 geometryStreams;
7566 } VkPhysicalDeviceTransformFeedbackFeaturesEXT;
7567
7568 typedef struct VkPhysicalDeviceTransformFeedbackPropertiesEXT {
7569 VkStructureType sType;
7570 void* pNext;
7571 uint32_t maxTransformFeedbackStreams;
7572 uint32_t maxTransformFeedbackBuffers;
7573 VkDeviceSize maxTransformFeedbackBufferSize;
7574 uint32_t maxTransformFeedbackStreamDataSize;
7575 uint32_t maxTransformFeedbackBufferDataSize;
7576 uint32_t maxTransformFeedbackBufferDataStride;
7577 VkBool32 transformFeedbackQueries;
7578 VkBool32 transformFeedbackStreamsLinesTriangles;
7579 VkBool32 transformFeedbackRasterizationStreamSelect;
7580 VkBool32 transformFeedbackDraw;
7581 } VkPhysicalDeviceTransformFeedbackPropertiesEXT;
7582
7583 typedef struct VkPipelineRasterizationStateStreamCreateInfoEXT {
7584 VkStructureType sType;
7585 const void* pNext;
7586 VkPipelineRasterizationStateStreamCreateFlagsEXT flags;
7587 uint32_t rasterizationStream;
7588 } VkPipelineRasterizationStateStreamCreateInfoEXT;
7589
7590 typedef void (VKAPI_PTR *PFN_vkCmdBindTransformFeedbackBuffersEXT)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes);
7591 typedef void (VKAPI_PTR *PFN_vkCmdBeginTransformFeedbackEXT)(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
7592 typedef void (VKAPI_PTR *PFN_vkCmdEndTransformFeedbackEXT)(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
7593 typedef void (VKAPI_PTR *PFN_vkCmdBeginQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index);
7594 typedef void (VKAPI_PTR *PFN_vkCmdEndQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index);
7595 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectByteCountEXT)(VkCommandBuffer commandBuffer, uint32_t instanceCount, uint32_t firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, uint32_t counterOffset, uint32_t vertexStride);
7596
7597 #ifndef VK_NO_PROTOTYPES
7598 VKAPI_ATTR void VKAPI_CALL vkCmdBindTransformFeedbackBuffersEXT(
7599 VkCommandBuffer commandBuffer,
7600 uint32_t firstBinding,
7601 uint32_t bindingCount,
7602 const VkBuffer* pBuffers,
7603 const VkDeviceSize* pOffsets,
7604 const VkDeviceSize* pSizes);
7605
7606 VKAPI_ATTR void VKAPI_CALL vkCmdBeginTransformFeedbackEXT(
7607 VkCommandBuffer commandBuffer,
7608 uint32_t firstCounterBuffer,
7609 uint32_t counterBufferCount,
7610 const VkBuffer* pCounterBuffers,
7611 const VkDeviceSize* pCounterBufferOffsets);
7612
7613 VKAPI_ATTR void VKAPI_CALL vkCmdEndTransformFeedbackEXT(
7614 VkCommandBuffer commandBuffer,
7615 uint32_t firstCounterBuffer,
7616 uint32_t counterBufferCount,
7617 const VkBuffer* pCounterBuffers,
7618 const VkDeviceSize* pCounterBufferOffsets);
7619
7620 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQueryIndexedEXT(
7621 VkCommandBuffer commandBuffer,
7622 VkQueryPool queryPool,
7623 uint32_t query,
7624 VkQueryControlFlags flags,
7625 uint32_t index);
7626
7627 VKAPI_ATTR void VKAPI_CALL vkCmdEndQueryIndexedEXT(
7628 VkCommandBuffer commandBuffer,
7629 VkQueryPool queryPool,
7630 uint32_t query,
7631 uint32_t index);
7632
7633 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectByteCountEXT(
7634 VkCommandBuffer commandBuffer,
7635 uint32_t instanceCount,
7636 uint32_t firstInstance,
7637 VkBuffer counterBuffer,
7638 VkDeviceSize counterBufferOffset,
7639 uint32_t counterOffset,
7640 uint32_t vertexStride);
7641 #endif
7642
7643
7644 #define VK_NVX_image_view_handle 1
7645 #define VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION 2
7646 #define VK_NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME "VK_NVX_image_view_handle"
7647 typedef struct VkImageViewHandleInfoNVX {
7648 VkStructureType sType;
7649 const void* pNext;
7650 VkImageView imageView;
7651 VkDescriptorType descriptorType;
7652 VkSampler sampler;
7653 } VkImageViewHandleInfoNVX;
7654
7655 typedef struct VkImageViewAddressPropertiesNVX {
7656 VkStructureType sType;
7657 void* pNext;
7658 VkDeviceAddress deviceAddress;
7659 VkDeviceSize size;
7660 } VkImageViewAddressPropertiesNVX;
7661
7662 typedef uint32_t (VKAPI_PTR *PFN_vkGetImageViewHandleNVX)(VkDevice device, const VkImageViewHandleInfoNVX* pInfo);
7663 typedef VkResult (VKAPI_PTR *PFN_vkGetImageViewAddressNVX)(VkDevice device, VkImageView imageView, VkImageViewAddressPropertiesNVX* pProperties);
7664
7665 #ifndef VK_NO_PROTOTYPES
7666 VKAPI_ATTR uint32_t VKAPI_CALL vkGetImageViewHandleNVX(
7667 VkDevice device,
7668 const VkImageViewHandleInfoNVX* pInfo);
7669
7670 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageViewAddressNVX(
7671 VkDevice device,
7672 VkImageView imageView,
7673 VkImageViewAddressPropertiesNVX* pProperties);
7674 #endif
7675
7676
7677 #define VK_AMD_draw_indirect_count 1
7678 #define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 2
7679 #define VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_AMD_draw_indirect_count"
7680 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
7681 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
7682
7683 #ifndef VK_NO_PROTOTYPES
7684 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountAMD(
7685 VkCommandBuffer commandBuffer,
7686 VkBuffer buffer,
7687 VkDeviceSize offset,
7688 VkBuffer countBuffer,
7689 VkDeviceSize countBufferOffset,
7690 uint32_t maxDrawCount,
7691 uint32_t stride);
7692
7693 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountAMD(
7694 VkCommandBuffer commandBuffer,
7695 VkBuffer buffer,
7696 VkDeviceSize offset,
7697 VkBuffer countBuffer,
7698 VkDeviceSize countBufferOffset,
7699 uint32_t maxDrawCount,
7700 uint32_t stride);
7701 #endif
7702
7703
7704 #define VK_AMD_negative_viewport_height 1
7705 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION 1
7706 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME "VK_AMD_negative_viewport_height"
7707
7708
7709 #define VK_AMD_gpu_shader_half_float 1
7710 #define VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION 2
7711 #define VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME "VK_AMD_gpu_shader_half_float"
7712
7713
7714 #define VK_AMD_shader_ballot 1
7715 #define VK_AMD_SHADER_BALLOT_SPEC_VERSION 1
7716 #define VK_AMD_SHADER_BALLOT_EXTENSION_NAME "VK_AMD_shader_ballot"
7717
7718
7719 #define VK_AMD_texture_gather_bias_lod 1
7720 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION 1
7721 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME "VK_AMD_texture_gather_bias_lod"
7722 typedef struct VkTextureLODGatherFormatPropertiesAMD {
7723 VkStructureType sType;
7724 void* pNext;
7725 VkBool32 supportsTextureGatherLODBiasAMD;
7726 } VkTextureLODGatherFormatPropertiesAMD;
7727
7728
7729
7730 #define VK_AMD_shader_info 1
7731 #define VK_AMD_SHADER_INFO_SPEC_VERSION 1
7732 #define VK_AMD_SHADER_INFO_EXTENSION_NAME "VK_AMD_shader_info"
7733
7734 typedef enum VkShaderInfoTypeAMD {
7735 VK_SHADER_INFO_TYPE_STATISTICS_AMD = 0,
7736 VK_SHADER_INFO_TYPE_BINARY_AMD = 1,
7737 VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD = 2,
7738 VK_SHADER_INFO_TYPE_MAX_ENUM_AMD = 0x7FFFFFFF
7739 } VkShaderInfoTypeAMD;
7740 typedef struct VkShaderResourceUsageAMD {
7741 uint32_t numUsedVgprs;
7742 uint32_t numUsedSgprs;
7743 uint32_t ldsSizePerLocalWorkGroup;
7744 size_t ldsUsageSizeInBytes;
7745 size_t scratchMemUsageInBytes;
7746 } VkShaderResourceUsageAMD;
7747
7748 typedef struct VkShaderStatisticsInfoAMD {
7749 VkShaderStageFlags shaderStageMask;
7750 VkShaderResourceUsageAMD resourceUsage;
7751 uint32_t numPhysicalVgprs;
7752 uint32_t numPhysicalSgprs;
7753 uint32_t numAvailableVgprs;
7754 uint32_t numAvailableSgprs;
7755 uint32_t computeWorkGroupSize[3];
7756 } VkShaderStatisticsInfoAMD;
7757
7758 typedef VkResult (VKAPI_PTR *PFN_vkGetShaderInfoAMD)(VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, size_t* pInfoSize, void* pInfo);
7759
7760 #ifndef VK_NO_PROTOTYPES
7761 VKAPI_ATTR VkResult VKAPI_CALL vkGetShaderInfoAMD(
7762 VkDevice device,
7763 VkPipeline pipeline,
7764 VkShaderStageFlagBits shaderStage,
7765 VkShaderInfoTypeAMD infoType,
7766 size_t* pInfoSize,
7767 void* pInfo);
7768 #endif
7769
7770
7771 #define VK_AMD_shader_image_load_store_lod 1
7772 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION 1
7773 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME "VK_AMD_shader_image_load_store_lod"
7774
7775
7776 #define VK_NV_corner_sampled_image 1
7777 #define VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION 2
7778 #define VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME "VK_NV_corner_sampled_image"
7779 typedef struct VkPhysicalDeviceCornerSampledImageFeaturesNV {
7780 VkStructureType sType;
7781 void* pNext;
7782 VkBool32 cornerSampledImage;
7783 } VkPhysicalDeviceCornerSampledImageFeaturesNV;
7784
7785
7786
7787 #define VK_IMG_format_pvrtc 1
7788 #define VK_IMG_FORMAT_PVRTC_SPEC_VERSION 1
7789 #define VK_IMG_FORMAT_PVRTC_EXTENSION_NAME "VK_IMG_format_pvrtc"
7790
7791
7792 #define VK_NV_external_memory_capabilities 1
7793 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
7794 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_NV_external_memory_capabilities"
7795
7796 typedef enum VkExternalMemoryHandleTypeFlagBitsNV {
7797 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV = 0x00000001,
7798 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV = 0x00000002,
7799 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV = 0x00000004,
7800 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV = 0x00000008,
7801 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
7802 } VkExternalMemoryHandleTypeFlagBitsNV;
7803 typedef VkFlags VkExternalMemoryHandleTypeFlagsNV;
7804
7805 typedef enum VkExternalMemoryFeatureFlagBitsNV {
7806 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV = 0x00000001,
7807 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV = 0x00000002,
7808 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV = 0x00000004,
7809 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
7810 } VkExternalMemoryFeatureFlagBitsNV;
7811 typedef VkFlags VkExternalMemoryFeatureFlagsNV;
7812 typedef struct VkExternalImageFormatPropertiesNV {
7813 VkImageFormatProperties imageFormatProperties;
7814 VkExternalMemoryFeatureFlagsNV externalMemoryFeatures;
7815 VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes;
7816 VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes;
7817 } VkExternalImageFormatPropertiesNV;
7818
7819 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
7820
7821 #ifndef VK_NO_PROTOTYPES
7822 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
7823 VkPhysicalDevice physicalDevice,
7824 VkFormat format,
7825 VkImageType type,
7826 VkImageTiling tiling,
7827 VkImageUsageFlags usage,
7828 VkImageCreateFlags flags,
7829 VkExternalMemoryHandleTypeFlagsNV externalHandleType,
7830 VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
7831 #endif
7832
7833
7834 #define VK_NV_external_memory 1
7835 #define VK_NV_EXTERNAL_MEMORY_SPEC_VERSION 1
7836 #define VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME "VK_NV_external_memory"
7837 typedef struct VkExternalMemoryImageCreateInfoNV {
7838 VkStructureType sType;
7839 const void* pNext;
7840 VkExternalMemoryHandleTypeFlagsNV handleTypes;
7841 } VkExternalMemoryImageCreateInfoNV;
7842
7843 typedef struct VkExportMemoryAllocateInfoNV {
7844 VkStructureType sType;
7845 const void* pNext;
7846 VkExternalMemoryHandleTypeFlagsNV handleTypes;
7847 } VkExportMemoryAllocateInfoNV;
7848
7849
7850
7851 #define VK_EXT_validation_flags 1
7852 #define VK_EXT_VALIDATION_FLAGS_SPEC_VERSION 2
7853 #define VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME "VK_EXT_validation_flags"
7854
7855 typedef enum VkValidationCheckEXT {
7856 VK_VALIDATION_CHECK_ALL_EXT = 0,
7857 VK_VALIDATION_CHECK_SHADERS_EXT = 1,
7858 VK_VALIDATION_CHECK_MAX_ENUM_EXT = 0x7FFFFFFF
7859 } VkValidationCheckEXT;
7860 typedef struct VkValidationFlagsEXT {
7861 VkStructureType sType;
7862 const void* pNext;
7863 uint32_t disabledValidationCheckCount;
7864 const VkValidationCheckEXT* pDisabledValidationChecks;
7865 } VkValidationFlagsEXT;
7866
7867
7868
7869 #define VK_EXT_shader_subgroup_ballot 1
7870 #define VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION 1
7871 #define VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME "VK_EXT_shader_subgroup_ballot"
7872
7873
7874 #define VK_EXT_shader_subgroup_vote 1
7875 #define VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION 1
7876 #define VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME "VK_EXT_shader_subgroup_vote"
7877
7878
7879 #define VK_EXT_texture_compression_astc_hdr 1
7880 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION 1
7881 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME "VK_EXT_texture_compression_astc_hdr"
7882 typedef struct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT {
7883 VkStructureType sType;
7884 void* pNext;
7885 VkBool32 textureCompressionASTC_HDR;
7886 } VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT;
7887
7888
7889
7890 #define VK_EXT_astc_decode_mode 1
7891 #define VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION 1
7892 #define VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME "VK_EXT_astc_decode_mode"
7893 typedef struct VkImageViewASTCDecodeModeEXT {
7894 VkStructureType sType;
7895 const void* pNext;
7896 VkFormat decodeMode;
7897 } VkImageViewASTCDecodeModeEXT;
7898
7899 typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT {
7900 VkStructureType sType;
7901 void* pNext;
7902 VkBool32 decodeModeSharedExponent;
7903 } VkPhysicalDeviceASTCDecodeFeaturesEXT;
7904
7905
7906
7907 #define VK_EXT_conditional_rendering 1
7908 #define VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION 2
7909 #define VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME "VK_EXT_conditional_rendering"
7910
7911 typedef enum VkConditionalRenderingFlagBitsEXT {
7912 VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT = 0x00000001,
7913 VK_CONDITIONAL_RENDERING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
7914 } VkConditionalRenderingFlagBitsEXT;
7915 typedef VkFlags VkConditionalRenderingFlagsEXT;
7916 typedef struct VkConditionalRenderingBeginInfoEXT {
7917 VkStructureType sType;
7918 const void* pNext;
7919 VkBuffer buffer;
7920 VkDeviceSize offset;
7921 VkConditionalRenderingFlagsEXT flags;
7922 } VkConditionalRenderingBeginInfoEXT;
7923
7924 typedef struct VkPhysicalDeviceConditionalRenderingFeaturesEXT {
7925 VkStructureType sType;
7926 void* pNext;
7927 VkBool32 conditionalRendering;
7928 VkBool32 inheritedConditionalRendering;
7929 } VkPhysicalDeviceConditionalRenderingFeaturesEXT;
7930
7931 typedef struct VkCommandBufferInheritanceConditionalRenderingInfoEXT {
7932 VkStructureType sType;
7933 const void* pNext;
7934 VkBool32 conditionalRenderingEnable;
7935 } VkCommandBufferInheritanceConditionalRenderingInfoEXT;
7936
7937 typedef void (VKAPI_PTR *PFN_vkCmdBeginConditionalRenderingEXT)(VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
7938 typedef void (VKAPI_PTR *PFN_vkCmdEndConditionalRenderingEXT)(VkCommandBuffer commandBuffer);
7939
7940 #ifndef VK_NO_PROTOTYPES
7941 VKAPI_ATTR void VKAPI_CALL vkCmdBeginConditionalRenderingEXT(
7942 VkCommandBuffer commandBuffer,
7943 const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
7944
7945 VKAPI_ATTR void VKAPI_CALL vkCmdEndConditionalRenderingEXT(
7946 VkCommandBuffer commandBuffer);
7947 #endif
7948
7949
7950 #define VK_NV_clip_space_w_scaling 1
7951 #define VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION 1
7952 #define VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME "VK_NV_clip_space_w_scaling"
7953 typedef struct VkViewportWScalingNV {
7954 float xcoeff;
7955 float ycoeff;
7956 } VkViewportWScalingNV;
7957
7958 typedef struct VkPipelineViewportWScalingStateCreateInfoNV {
7959 VkStructureType sType;
7960 const void* pNext;
7961 VkBool32 viewportWScalingEnable;
7962 uint32_t viewportCount;
7963 const VkViewportWScalingNV* pViewportWScalings;
7964 } VkPipelineViewportWScalingStateCreateInfoNV;
7965
7966 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportWScalingNV* pViewportWScalings);
7967
7968 #ifndef VK_NO_PROTOTYPES
7969 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWScalingNV(
7970 VkCommandBuffer commandBuffer,
7971 uint32_t firstViewport,
7972 uint32_t viewportCount,
7973 const VkViewportWScalingNV* pViewportWScalings);
7974 #endif
7975
7976
7977 #define VK_EXT_direct_mode_display 1
7978 #define VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION 1
7979 #define VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME "VK_EXT_direct_mode_display"
7980 typedef VkResult (VKAPI_PTR *PFN_vkReleaseDisplayEXT)(VkPhysicalDevice physicalDevice, VkDisplayKHR display);
7981
7982 #ifndef VK_NO_PROTOTYPES
7983 VKAPI_ATTR VkResult VKAPI_CALL vkReleaseDisplayEXT(
7984 VkPhysicalDevice physicalDevice,
7985 VkDisplayKHR display);
7986 #endif
7987
7988
7989 #define VK_EXT_display_surface_counter 1
7990 #define VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION 1
7991 #define VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME "VK_EXT_display_surface_counter"
7992
7993 typedef enum VkSurfaceCounterFlagBitsEXT {
7994 VK_SURFACE_COUNTER_VBLANK_EXT = 0x00000001,
7995 VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
7996 } VkSurfaceCounterFlagBitsEXT;
7997 typedef VkFlags VkSurfaceCounterFlagsEXT;
7998 typedef struct VkSurfaceCapabilities2EXT {
7999 VkStructureType sType;
8000 void* pNext;
8001 uint32_t minImageCount;
8002 uint32_t maxImageCount;
8003 VkExtent2D currentExtent;
8004 VkExtent2D minImageExtent;
8005 VkExtent2D maxImageExtent;
8006 uint32_t maxImageArrayLayers;
8007 VkSurfaceTransformFlagsKHR supportedTransforms;
8008 VkSurfaceTransformFlagBitsKHR currentTransform;
8009 VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
8010 VkImageUsageFlags supportedUsageFlags;
8011 VkSurfaceCounterFlagsEXT supportedSurfaceCounters;
8012 } VkSurfaceCapabilities2EXT;
8013
8014 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
8015
8016 #ifndef VK_NO_PROTOTYPES
8017 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2EXT(
8018 VkPhysicalDevice physicalDevice,
8019 VkSurfaceKHR surface,
8020 VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
8021 #endif
8022
8023
8024 #define VK_EXT_display_control 1
8025 #define VK_EXT_DISPLAY_CONTROL_SPEC_VERSION 1
8026 #define VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME "VK_EXT_display_control"
8027
8028 typedef enum VkDisplayPowerStateEXT {
8029 VK_DISPLAY_POWER_STATE_OFF_EXT = 0,
8030 VK_DISPLAY_POWER_STATE_SUSPEND_EXT = 1,
8031 VK_DISPLAY_POWER_STATE_ON_EXT = 2,
8032 VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT = 0x7FFFFFFF
8033 } VkDisplayPowerStateEXT;
8034
8035 typedef enum VkDeviceEventTypeEXT {
8036 VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT = 0,
8037 VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
8038 } VkDeviceEventTypeEXT;
8039
8040 typedef enum VkDisplayEventTypeEXT {
8041 VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT = 0,
8042 VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
8043 } VkDisplayEventTypeEXT;
8044 typedef struct VkDisplayPowerInfoEXT {
8045 VkStructureType sType;
8046 const void* pNext;
8047 VkDisplayPowerStateEXT powerState;
8048 } VkDisplayPowerInfoEXT;
8049
8050 typedef struct VkDeviceEventInfoEXT {
8051 VkStructureType sType;
8052 const void* pNext;
8053 VkDeviceEventTypeEXT deviceEvent;
8054 } VkDeviceEventInfoEXT;
8055
8056 typedef struct VkDisplayEventInfoEXT {
8057 VkStructureType sType;
8058 const void* pNext;
8059 VkDisplayEventTypeEXT displayEvent;
8060 } VkDisplayEventInfoEXT;
8061
8062 typedef struct VkSwapchainCounterCreateInfoEXT {
8063 VkStructureType sType;
8064 const void* pNext;
8065 VkSurfaceCounterFlagsEXT surfaceCounters;
8066 } VkSwapchainCounterCreateInfoEXT;
8067
8068 typedef VkResult (VKAPI_PTR *PFN_vkDisplayPowerControlEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
8069 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDeviceEventEXT)(VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
8070 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDisplayEventEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
8071 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainCounterEXT)(VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, uint64_t* pCounterValue);
8072
8073 #ifndef VK_NO_PROTOTYPES
8074 VKAPI_ATTR VkResult VKAPI_CALL vkDisplayPowerControlEXT(
8075 VkDevice device,
8076 VkDisplayKHR display,
8077 const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
8078
8079 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDeviceEventEXT(
8080 VkDevice device,
8081 const VkDeviceEventInfoEXT* pDeviceEventInfo,
8082 const VkAllocationCallbacks* pAllocator,
8083 VkFence* pFence);
8084
8085 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDisplayEventEXT(
8086 VkDevice device,
8087 VkDisplayKHR display,
8088 const VkDisplayEventInfoEXT* pDisplayEventInfo,
8089 const VkAllocationCallbacks* pAllocator,
8090 VkFence* pFence);
8091
8092 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainCounterEXT(
8093 VkDevice device,
8094 VkSwapchainKHR swapchain,
8095 VkSurfaceCounterFlagBitsEXT counter,
8096 uint64_t* pCounterValue);
8097 #endif
8098
8099
8100 #define VK_GOOGLE_display_timing 1
8101 #define VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION 1
8102 #define VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME "VK_GOOGLE_display_timing"
8103 typedef struct VkRefreshCycleDurationGOOGLE {
8104 uint64_t refreshDuration;
8105 } VkRefreshCycleDurationGOOGLE;
8106
8107 typedef struct VkPastPresentationTimingGOOGLE {
8108 uint32_t presentID;
8109 uint64_t desiredPresentTime;
8110 uint64_t actualPresentTime;
8111 uint64_t earliestPresentTime;
8112 uint64_t presentMargin;
8113 } VkPastPresentationTimingGOOGLE;
8114
8115 typedef struct VkPresentTimeGOOGLE {
8116 uint32_t presentID;
8117 uint64_t desiredPresentTime;
8118 } VkPresentTimeGOOGLE;
8119
8120 typedef struct VkPresentTimesInfoGOOGLE {
8121 VkStructureType sType;
8122 const void* pNext;
8123 uint32_t swapchainCount;
8124 const VkPresentTimeGOOGLE* pTimes;
8125 } VkPresentTimesInfoGOOGLE;
8126
8127 typedef VkResult (VKAPI_PTR *PFN_vkGetRefreshCycleDurationGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
8128 typedef VkResult (VKAPI_PTR *PFN_vkGetPastPresentationTimingGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings);
8129
8130 #ifndef VK_NO_PROTOTYPES
8131 VKAPI_ATTR VkResult VKAPI_CALL vkGetRefreshCycleDurationGOOGLE(
8132 VkDevice device,
8133 VkSwapchainKHR swapchain,
8134 VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
8135
8136 VKAPI_ATTR VkResult VKAPI_CALL vkGetPastPresentationTimingGOOGLE(
8137 VkDevice device,
8138 VkSwapchainKHR swapchain,
8139 uint32_t* pPresentationTimingCount,
8140 VkPastPresentationTimingGOOGLE* pPresentationTimings);
8141 #endif
8142
8143
8144 #define VK_NV_sample_mask_override_coverage 1
8145 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION 1
8146 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME "VK_NV_sample_mask_override_coverage"
8147
8148
8149 #define VK_NV_geometry_shader_passthrough 1
8150 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION 1
8151 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME "VK_NV_geometry_shader_passthrough"
8152
8153
8154 #define VK_NV_viewport_array2 1
8155 #define VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION 1
8156 #define VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME "VK_NV_viewport_array2"
8157
8158
8159 #define VK_NVX_multiview_per_view_attributes 1
8160 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION 1
8161 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME "VK_NVX_multiview_per_view_attributes"
8162 typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
8163 VkStructureType sType;
8164 void* pNext;
8165 VkBool32 perViewPositionAllComponents;
8166 } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
8167
8168
8169
8170 #define VK_NV_viewport_swizzle 1
8171 #define VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION 1
8172 #define VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME "VK_NV_viewport_swizzle"
8173
8174 typedef enum VkViewportCoordinateSwizzleNV {
8175 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV = 0,
8176 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV = 1,
8177 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV = 2,
8178 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV = 3,
8179 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV = 4,
8180 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV = 5,
8181 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV = 6,
8182 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV = 7,
8183 VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV = 0x7FFFFFFF
8184 } VkViewportCoordinateSwizzleNV;
8185 typedef VkFlags VkPipelineViewportSwizzleStateCreateFlagsNV;
8186 typedef struct VkViewportSwizzleNV {
8187 VkViewportCoordinateSwizzleNV x;
8188 VkViewportCoordinateSwizzleNV y;
8189 VkViewportCoordinateSwizzleNV z;
8190 VkViewportCoordinateSwizzleNV w;
8191 } VkViewportSwizzleNV;
8192
8193 typedef struct VkPipelineViewportSwizzleStateCreateInfoNV {
8194 VkStructureType sType;
8195 const void* pNext;
8196 VkPipelineViewportSwizzleStateCreateFlagsNV flags;
8197 uint32_t viewportCount;
8198 const VkViewportSwizzleNV* pViewportSwizzles;
8199 } VkPipelineViewportSwizzleStateCreateInfoNV;
8200
8201
8202
8203 #define VK_EXT_discard_rectangles 1
8204 #define VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION 1
8205 #define VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME "VK_EXT_discard_rectangles"
8206
8207 typedef enum VkDiscardRectangleModeEXT {
8208 VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT = 0,
8209 VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT = 1,
8210 VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
8211 } VkDiscardRectangleModeEXT;
8212 typedef VkFlags VkPipelineDiscardRectangleStateCreateFlagsEXT;
8213 typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
8214 VkStructureType sType;
8215 void* pNext;
8216 uint32_t maxDiscardRectangles;
8217 } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
8218
8219 typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT {
8220 VkStructureType sType;
8221 const void* pNext;
8222 VkPipelineDiscardRectangleStateCreateFlagsEXT flags;
8223 VkDiscardRectangleModeEXT discardRectangleMode;
8224 uint32_t discardRectangleCount;
8225 const VkRect2D* pDiscardRectangles;
8226 } VkPipelineDiscardRectangleStateCreateInfoEXT;
8227
8228 typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEXT)(VkCommandBuffer commandBuffer, uint32_t firstDiscardRectangle, uint32_t discardRectangleCount, const VkRect2D* pDiscardRectangles);
8229
8230 #ifndef VK_NO_PROTOTYPES
8231 VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEXT(
8232 VkCommandBuffer commandBuffer,
8233 uint32_t firstDiscardRectangle,
8234 uint32_t discardRectangleCount,
8235 const VkRect2D* pDiscardRectangles);
8236 #endif
8237
8238
8239 #define VK_EXT_conservative_rasterization 1
8240 #define VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION 1
8241 #define VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME "VK_EXT_conservative_rasterization"
8242
8243 typedef enum VkConservativeRasterizationModeEXT {
8244 VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT = 0,
8245 VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT = 1,
8246 VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT = 2,
8247 VK_CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
8248 } VkConservativeRasterizationModeEXT;
8249 typedef VkFlags VkPipelineRasterizationConservativeStateCreateFlagsEXT;
8250 typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT {
8251 VkStructureType sType;
8252 void* pNext;
8253 float primitiveOverestimationSize;
8254 float maxExtraPrimitiveOverestimationSize;
8255 float extraPrimitiveOverestimationSizeGranularity;
8256 VkBool32 primitiveUnderestimation;
8257 VkBool32 conservativePointAndLineRasterization;
8258 VkBool32 degenerateTrianglesRasterized;
8259 VkBool32 degenerateLinesRasterized;
8260 VkBool32 fullyCoveredFragmentShaderInputVariable;
8261 VkBool32 conservativeRasterizationPostDepthCoverage;
8262 } VkPhysicalDeviceConservativeRasterizationPropertiesEXT;
8263
8264 typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT {
8265 VkStructureType sType;
8266 const void* pNext;
8267 VkPipelineRasterizationConservativeStateCreateFlagsEXT flags;
8268 VkConservativeRasterizationModeEXT conservativeRasterizationMode;
8269 float extraPrimitiveOverestimationSize;
8270 } VkPipelineRasterizationConservativeStateCreateInfoEXT;
8271
8272
8273
8274 #define VK_EXT_depth_clip_enable 1
8275 #define VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION 1
8276 #define VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME "VK_EXT_depth_clip_enable"
8277 typedef VkFlags VkPipelineRasterizationDepthClipStateCreateFlagsEXT;
8278 typedef struct VkPhysicalDeviceDepthClipEnableFeaturesEXT {
8279 VkStructureType sType;
8280 void* pNext;
8281 VkBool32 depthClipEnable;
8282 } VkPhysicalDeviceDepthClipEnableFeaturesEXT;
8283
8284 typedef struct VkPipelineRasterizationDepthClipStateCreateInfoEXT {
8285 VkStructureType sType;
8286 const void* pNext;
8287 VkPipelineRasterizationDepthClipStateCreateFlagsEXT flags;
8288 VkBool32 depthClipEnable;
8289 } VkPipelineRasterizationDepthClipStateCreateInfoEXT;
8290
8291
8292
8293 #define VK_EXT_swapchain_colorspace 1
8294 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION 4
8295 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME "VK_EXT_swapchain_colorspace"
8296
8297
8298 #define VK_EXT_hdr_metadata 1
8299 #define VK_EXT_HDR_METADATA_SPEC_VERSION 2
8300 #define VK_EXT_HDR_METADATA_EXTENSION_NAME "VK_EXT_hdr_metadata"
8301 typedef struct VkXYColorEXT {
8302 float x;
8303 float y;
8304 } VkXYColorEXT;
8305
8306 typedef struct VkHdrMetadataEXT {
8307 VkStructureType sType;
8308 const void* pNext;
8309 VkXYColorEXT displayPrimaryRed;
8310 VkXYColorEXT displayPrimaryGreen;
8311 VkXYColorEXT displayPrimaryBlue;
8312 VkXYColorEXT whitePoint;
8313 float maxLuminance;
8314 float minLuminance;
8315 float maxContentLightLevel;
8316 float maxFrameAverageLightLevel;
8317 } VkHdrMetadataEXT;
8318
8319 typedef void (VKAPI_PTR *PFN_vkSetHdrMetadataEXT)(VkDevice device, uint32_t swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata);
8320
8321 #ifndef VK_NO_PROTOTYPES
8322 VKAPI_ATTR void VKAPI_CALL vkSetHdrMetadataEXT(
8323 VkDevice device,
8324 uint32_t swapchainCount,
8325 const VkSwapchainKHR* pSwapchains,
8326 const VkHdrMetadataEXT* pMetadata);
8327 #endif
8328
8329
8330 #define VK_EXT_external_memory_dma_buf 1
8331 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION 1
8332 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME "VK_EXT_external_memory_dma_buf"
8333
8334
8335 #define VK_EXT_queue_family_foreign 1
8336 #define VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION 1
8337 #define VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME "VK_EXT_queue_family_foreign"
8338 #define VK_QUEUE_FAMILY_FOREIGN_EXT (~0U-2)
8339
8340
8341 #define VK_EXT_debug_utils 1
8342 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugUtilsMessengerEXT)
8343 #define VK_EXT_DEBUG_UTILS_SPEC_VERSION 2
8344 #define VK_EXT_DEBUG_UTILS_EXTENSION_NAME "VK_EXT_debug_utils"
8345 typedef VkFlags VkDebugUtilsMessengerCallbackDataFlagsEXT;
8346
8347 typedef enum VkDebugUtilsMessageSeverityFlagBitsEXT {
8348 VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT = 0x00000001,
8349 VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT = 0x00000010,
8350 VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT = 0x00000100,
8351 VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT = 0x00001000,
8352 VK_DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
8353 } VkDebugUtilsMessageSeverityFlagBitsEXT;
8354
8355 typedef enum VkDebugUtilsMessageTypeFlagBitsEXT {
8356 VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT = 0x00000001,
8357 VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT = 0x00000002,
8358 VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT = 0x00000004,
8359 VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
8360 } VkDebugUtilsMessageTypeFlagBitsEXT;
8361 typedef VkFlags VkDebugUtilsMessageTypeFlagsEXT;
8362 typedef VkFlags VkDebugUtilsMessengerCreateFlagsEXT;
8363 typedef VkFlags VkDebugUtilsMessageSeverityFlagsEXT;
8364 typedef struct VkDebugUtilsLabelEXT {
8365 VkStructureType sType;
8366 const void* pNext;
8367 const char* pLabelName;
8368 float color[4];
8369 } VkDebugUtilsLabelEXT;
8370
8371 typedef struct VkDebugUtilsObjectNameInfoEXT {
8372 VkStructureType sType;
8373 const void* pNext;
8374 VkObjectType objectType;
8375 uint64_t objectHandle;
8376 const char* pObjectName;
8377 } VkDebugUtilsObjectNameInfoEXT;
8378
8379 typedef struct VkDebugUtilsMessengerCallbackDataEXT {
8380 VkStructureType sType;
8381 const void* pNext;
8382 VkDebugUtilsMessengerCallbackDataFlagsEXT flags;
8383 const char* pMessageIdName;
8384 int32_t messageIdNumber;
8385 const char* pMessage;
8386 uint32_t queueLabelCount;
8387 const VkDebugUtilsLabelEXT* pQueueLabels;
8388 uint32_t cmdBufLabelCount;
8389 const VkDebugUtilsLabelEXT* pCmdBufLabels;
8390 uint32_t objectCount;
8391 const VkDebugUtilsObjectNameInfoEXT* pObjects;
8392 } VkDebugUtilsMessengerCallbackDataEXT;
8393
8394 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)(
8395 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
8396 VkDebugUtilsMessageTypeFlagsEXT messageTypes,
8397 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData,
8398 void* pUserData);
8399
8400 typedef struct VkDebugUtilsObjectTagInfoEXT {
8401 VkStructureType sType;
8402 const void* pNext;
8403 VkObjectType objectType;
8404 uint64_t objectHandle;
8405 uint64_t tagName;
8406 size_t tagSize;
8407 const void* pTag;
8408 } VkDebugUtilsObjectTagInfoEXT;
8409
8410 typedef struct VkDebugUtilsMessengerCreateInfoEXT {
8411 VkStructureType sType;
8412 const void* pNext;
8413 VkDebugUtilsMessengerCreateFlagsEXT flags;
8414 VkDebugUtilsMessageSeverityFlagsEXT messageSeverity;
8415 VkDebugUtilsMessageTypeFlagsEXT messageType;
8416 PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback;
8417 void* pUserData;
8418 } VkDebugUtilsMessengerCreateInfoEXT;
8419
8420 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectNameEXT)(VkDevice device, const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
8421 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectTagEXT)(VkDevice device, const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
8422 typedef void (VKAPI_PTR *PFN_vkQueueBeginDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
8423 typedef void (VKAPI_PTR *PFN_vkQueueEndDebugUtilsLabelEXT)(VkQueue queue);
8424 typedef void (VKAPI_PTR *PFN_vkQueueInsertDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
8425 typedef void (VKAPI_PTR *PFN_vkCmdBeginDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
8426 typedef void (VKAPI_PTR *PFN_vkCmdEndDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer);
8427 typedef void (VKAPI_PTR *PFN_vkCmdInsertDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
8428 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugUtilsMessengerEXT)(VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugUtilsMessengerEXT* pMessenger);
8429 typedef void (VKAPI_PTR *PFN_vkDestroyDebugUtilsMessengerEXT)(VkInstance instance, VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks* pAllocator);
8430 typedef void (VKAPI_PTR *PFN_vkSubmitDebugUtilsMessageEXT)(VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
8431
8432 #ifndef VK_NO_PROTOTYPES
8433 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectNameEXT(
8434 VkDevice device,
8435 const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
8436
8437 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectTagEXT(
8438 VkDevice device,
8439 const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
8440
8441 VKAPI_ATTR void VKAPI_CALL vkQueueBeginDebugUtilsLabelEXT(
8442 VkQueue queue,
8443 const VkDebugUtilsLabelEXT* pLabelInfo);
8444
8445 VKAPI_ATTR void VKAPI_CALL vkQueueEndDebugUtilsLabelEXT(
8446 VkQueue queue);
8447
8448 VKAPI_ATTR void VKAPI_CALL vkQueueInsertDebugUtilsLabelEXT(
8449 VkQueue queue,
8450 const VkDebugUtilsLabelEXT* pLabelInfo);
8451
8452 VKAPI_ATTR void VKAPI_CALL vkCmdBeginDebugUtilsLabelEXT(
8453 VkCommandBuffer commandBuffer,
8454 const VkDebugUtilsLabelEXT* pLabelInfo);
8455
8456 VKAPI_ATTR void VKAPI_CALL vkCmdEndDebugUtilsLabelEXT(
8457 VkCommandBuffer commandBuffer);
8458
8459 VKAPI_ATTR void VKAPI_CALL vkCmdInsertDebugUtilsLabelEXT(
8460 VkCommandBuffer commandBuffer,
8461 const VkDebugUtilsLabelEXT* pLabelInfo);
8462
8463 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugUtilsMessengerEXT(
8464 VkInstance instance,
8465 const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo,
8466 const VkAllocationCallbacks* pAllocator,
8467 VkDebugUtilsMessengerEXT* pMessenger);
8468
8469 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugUtilsMessengerEXT(
8470 VkInstance instance,
8471 VkDebugUtilsMessengerEXT messenger,
8472 const VkAllocationCallbacks* pAllocator);
8473
8474 VKAPI_ATTR void VKAPI_CALL vkSubmitDebugUtilsMessageEXT(
8475 VkInstance instance,
8476 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
8477 VkDebugUtilsMessageTypeFlagsEXT messageTypes,
8478 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
8479 #endif
8480
8481
8482 #define VK_EXT_sampler_filter_minmax 1
8483 #define VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION 2
8484 #define VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME "VK_EXT_sampler_filter_minmax"
8485 typedef VkSamplerReductionMode VkSamplerReductionModeEXT;
8486
8487 typedef VkSamplerReductionModeCreateInfo VkSamplerReductionModeCreateInfoEXT;
8488
8489 typedef VkPhysicalDeviceSamplerFilterMinmaxProperties VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
8490
8491
8492
8493 #define VK_AMD_gpu_shader_int16 1
8494 #define VK_AMD_GPU_SHADER_INT16_SPEC_VERSION 2
8495 #define VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME "VK_AMD_gpu_shader_int16"
8496
8497
8498 #define VK_AMD_mixed_attachment_samples 1
8499 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION 1
8500 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME "VK_AMD_mixed_attachment_samples"
8501
8502
8503 #define VK_AMD_shader_fragment_mask 1
8504 #define VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION 1
8505 #define VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME "VK_AMD_shader_fragment_mask"
8506
8507
8508 #define VK_EXT_inline_uniform_block 1
8509 #define VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION 1
8510 #define VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME "VK_EXT_inline_uniform_block"
8511 typedef struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT {
8512 VkStructureType sType;
8513 void* pNext;
8514 VkBool32 inlineUniformBlock;
8515 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind;
8516 } VkPhysicalDeviceInlineUniformBlockFeaturesEXT;
8517
8518 typedef struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT {
8519 VkStructureType sType;
8520 void* pNext;
8521 uint32_t maxInlineUniformBlockSize;
8522 uint32_t maxPerStageDescriptorInlineUniformBlocks;
8523 uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
8524 uint32_t maxDescriptorSetInlineUniformBlocks;
8525 uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
8526 } VkPhysicalDeviceInlineUniformBlockPropertiesEXT;
8527
8528 typedef struct VkWriteDescriptorSetInlineUniformBlockEXT {
8529 VkStructureType sType;
8530 const void* pNext;
8531 uint32_t dataSize;
8532 const void* pData;
8533 } VkWriteDescriptorSetInlineUniformBlockEXT;
8534
8535 typedef struct VkDescriptorPoolInlineUniformBlockCreateInfoEXT {
8536 VkStructureType sType;
8537 const void* pNext;
8538 uint32_t maxInlineUniformBlockBindings;
8539 } VkDescriptorPoolInlineUniformBlockCreateInfoEXT;
8540
8541
8542
8543 #define VK_EXT_shader_stencil_export 1
8544 #define VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION 1
8545 #define VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME "VK_EXT_shader_stencil_export"
8546
8547
8548 #define VK_EXT_sample_locations 1
8549 #define VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION 1
8550 #define VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME "VK_EXT_sample_locations"
8551 typedef struct VkSampleLocationEXT {
8552 float x;
8553 float y;
8554 } VkSampleLocationEXT;
8555
8556 typedef struct VkSampleLocationsInfoEXT {
8557 VkStructureType sType;
8558 const void* pNext;
8559 VkSampleCountFlagBits sampleLocationsPerPixel;
8560 VkExtent2D sampleLocationGridSize;
8561 uint32_t sampleLocationsCount;
8562 const VkSampleLocationEXT* pSampleLocations;
8563 } VkSampleLocationsInfoEXT;
8564
8565 typedef struct VkAttachmentSampleLocationsEXT {
8566 uint32_t attachmentIndex;
8567 VkSampleLocationsInfoEXT sampleLocationsInfo;
8568 } VkAttachmentSampleLocationsEXT;
8569
8570 typedef struct VkSubpassSampleLocationsEXT {
8571 uint32_t subpassIndex;
8572 VkSampleLocationsInfoEXT sampleLocationsInfo;
8573 } VkSubpassSampleLocationsEXT;
8574
8575 typedef struct VkRenderPassSampleLocationsBeginInfoEXT {
8576 VkStructureType sType;
8577 const void* pNext;
8578 uint32_t attachmentInitialSampleLocationsCount;
8579 const VkAttachmentSampleLocationsEXT* pAttachmentInitialSampleLocations;
8580 uint32_t postSubpassSampleLocationsCount;
8581 const VkSubpassSampleLocationsEXT* pPostSubpassSampleLocations;
8582 } VkRenderPassSampleLocationsBeginInfoEXT;
8583
8584 typedef struct VkPipelineSampleLocationsStateCreateInfoEXT {
8585 VkStructureType sType;
8586 const void* pNext;
8587 VkBool32 sampleLocationsEnable;
8588 VkSampleLocationsInfoEXT sampleLocationsInfo;
8589 } VkPipelineSampleLocationsStateCreateInfoEXT;
8590
8591 typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT {
8592 VkStructureType sType;
8593 void* pNext;
8594 VkSampleCountFlags sampleLocationSampleCounts;
8595 VkExtent2D maxSampleLocationGridSize;
8596 float sampleLocationCoordinateRange[2];
8597 uint32_t sampleLocationSubPixelBits;
8598 VkBool32 variableSampleLocations;
8599 } VkPhysicalDeviceSampleLocationsPropertiesEXT;
8600
8601 typedef struct VkMultisamplePropertiesEXT {
8602 VkStructureType sType;
8603 void* pNext;
8604 VkExtent2D maxSampleLocationGridSize;
8605 } VkMultisamplePropertiesEXT;
8606
8607 typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEXT)(VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
8608 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT)(VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT* pMultisampleProperties);
8609
8610 #ifndef VK_NO_PROTOTYPES
8611 VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleLocationsEXT(
8612 VkCommandBuffer commandBuffer,
8613 const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
8614
8615 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMultisamplePropertiesEXT(
8616 VkPhysicalDevice physicalDevice,
8617 VkSampleCountFlagBits samples,
8618 VkMultisamplePropertiesEXT* pMultisampleProperties);
8619 #endif
8620
8621
8622 #define VK_EXT_blend_operation_advanced 1
8623 #define VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION 2
8624 #define VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME "VK_EXT_blend_operation_advanced"
8625
8626 typedef enum VkBlendOverlapEXT {
8627 VK_BLEND_OVERLAP_UNCORRELATED_EXT = 0,
8628 VK_BLEND_OVERLAP_DISJOINT_EXT = 1,
8629 VK_BLEND_OVERLAP_CONJOINT_EXT = 2,
8630 VK_BLEND_OVERLAP_MAX_ENUM_EXT = 0x7FFFFFFF
8631 } VkBlendOverlapEXT;
8632 typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
8633 VkStructureType sType;
8634 void* pNext;
8635 VkBool32 advancedBlendCoherentOperations;
8636 } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
8637
8638 typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT {
8639 VkStructureType sType;
8640 void* pNext;
8641 uint32_t advancedBlendMaxColorAttachments;
8642 VkBool32 advancedBlendIndependentBlend;
8643 VkBool32 advancedBlendNonPremultipliedSrcColor;
8644 VkBool32 advancedBlendNonPremultipliedDstColor;
8645 VkBool32 advancedBlendCorrelatedOverlap;
8646 VkBool32 advancedBlendAllOperations;
8647 } VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT;
8648
8649 typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT {
8650 VkStructureType sType;
8651 const void* pNext;
8652 VkBool32 srcPremultiplied;
8653 VkBool32 dstPremultiplied;
8654 VkBlendOverlapEXT blendOverlap;
8655 } VkPipelineColorBlendAdvancedStateCreateInfoEXT;
8656
8657
8658
8659 #define VK_NV_fragment_coverage_to_color 1
8660 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION 1
8661 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME "VK_NV_fragment_coverage_to_color"
8662 typedef VkFlags VkPipelineCoverageToColorStateCreateFlagsNV;
8663 typedef struct VkPipelineCoverageToColorStateCreateInfoNV {
8664 VkStructureType sType;
8665 const void* pNext;
8666 VkPipelineCoverageToColorStateCreateFlagsNV flags;
8667 VkBool32 coverageToColorEnable;
8668 uint32_t coverageToColorLocation;
8669 } VkPipelineCoverageToColorStateCreateInfoNV;
8670
8671
8672
8673 #define VK_NV_framebuffer_mixed_samples 1
8674 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION 1
8675 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME "VK_NV_framebuffer_mixed_samples"
8676
8677 typedef enum VkCoverageModulationModeNV {
8678 VK_COVERAGE_MODULATION_MODE_NONE_NV = 0,
8679 VK_COVERAGE_MODULATION_MODE_RGB_NV = 1,
8680 VK_COVERAGE_MODULATION_MODE_ALPHA_NV = 2,
8681 VK_COVERAGE_MODULATION_MODE_RGBA_NV = 3,
8682 VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV = 0x7FFFFFFF
8683 } VkCoverageModulationModeNV;
8684 typedef VkFlags VkPipelineCoverageModulationStateCreateFlagsNV;
8685 typedef struct VkPipelineCoverageModulationStateCreateInfoNV {
8686 VkStructureType sType;
8687 const void* pNext;
8688 VkPipelineCoverageModulationStateCreateFlagsNV flags;
8689 VkCoverageModulationModeNV coverageModulationMode;
8690 VkBool32 coverageModulationTableEnable;
8691 uint32_t coverageModulationTableCount;
8692 const float* pCoverageModulationTable;
8693 } VkPipelineCoverageModulationStateCreateInfoNV;
8694
8695
8696
8697 #define VK_NV_fill_rectangle 1
8698 #define VK_NV_FILL_RECTANGLE_SPEC_VERSION 1
8699 #define VK_NV_FILL_RECTANGLE_EXTENSION_NAME "VK_NV_fill_rectangle"
8700
8701
8702 #define VK_NV_shader_sm_builtins 1
8703 #define VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION 1
8704 #define VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME "VK_NV_shader_sm_builtins"
8705 typedef struct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV {
8706 VkStructureType sType;
8707 void* pNext;
8708 uint32_t shaderSMCount;
8709 uint32_t shaderWarpsPerSM;
8710 } VkPhysicalDeviceShaderSMBuiltinsPropertiesNV;
8711
8712 typedef struct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV {
8713 VkStructureType sType;
8714 void* pNext;
8715 VkBool32 shaderSMBuiltins;
8716 } VkPhysicalDeviceShaderSMBuiltinsFeaturesNV;
8717
8718
8719
8720 #define VK_EXT_post_depth_coverage 1
8721 #define VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION 1
8722 #define VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME "VK_EXT_post_depth_coverage"
8723
8724
8725 #define VK_EXT_image_drm_format_modifier 1
8726 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION 1
8727 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME "VK_EXT_image_drm_format_modifier"
8728 typedef struct VkDrmFormatModifierPropertiesEXT {
8729 uint64_t drmFormatModifier;
8730 uint32_t drmFormatModifierPlaneCount;
8731 VkFormatFeatureFlags drmFormatModifierTilingFeatures;
8732 } VkDrmFormatModifierPropertiesEXT;
8733
8734 typedef struct VkDrmFormatModifierPropertiesListEXT {
8735 VkStructureType sType;
8736 void* pNext;
8737 uint32_t drmFormatModifierCount;
8738 VkDrmFormatModifierPropertiesEXT* pDrmFormatModifierProperties;
8739 } VkDrmFormatModifierPropertiesListEXT;
8740
8741 typedef struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT {
8742 VkStructureType sType;
8743 const void* pNext;
8744 uint64_t drmFormatModifier;
8745 VkSharingMode sharingMode;
8746 uint32_t queueFamilyIndexCount;
8747 const uint32_t* pQueueFamilyIndices;
8748 } VkPhysicalDeviceImageDrmFormatModifierInfoEXT;
8749
8750 typedef struct VkImageDrmFormatModifierListCreateInfoEXT {
8751 VkStructureType sType;
8752 const void* pNext;
8753 uint32_t drmFormatModifierCount;
8754 const uint64_t* pDrmFormatModifiers;
8755 } VkImageDrmFormatModifierListCreateInfoEXT;
8756
8757 typedef struct VkImageDrmFormatModifierExplicitCreateInfoEXT {
8758 VkStructureType sType;
8759 const void* pNext;
8760 uint64_t drmFormatModifier;
8761 uint32_t drmFormatModifierPlaneCount;
8762 const VkSubresourceLayout* pPlaneLayouts;
8763 } VkImageDrmFormatModifierExplicitCreateInfoEXT;
8764
8765 typedef struct VkImageDrmFormatModifierPropertiesEXT {
8766 VkStructureType sType;
8767 void* pNext;
8768 uint64_t drmFormatModifier;
8769 } VkImageDrmFormatModifierPropertiesEXT;
8770
8771 typedef VkResult (VKAPI_PTR *PFN_vkGetImageDrmFormatModifierPropertiesEXT)(VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties);
8772
8773 #ifndef VK_NO_PROTOTYPES
8774 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageDrmFormatModifierPropertiesEXT(
8775 VkDevice device,
8776 VkImage image,
8777 VkImageDrmFormatModifierPropertiesEXT* pProperties);
8778 #endif
8779
8780
8781 #define VK_EXT_validation_cache 1
8782 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkValidationCacheEXT)
8783 #define VK_EXT_VALIDATION_CACHE_SPEC_VERSION 1
8784 #define VK_EXT_VALIDATION_CACHE_EXTENSION_NAME "VK_EXT_validation_cache"
8785
8786 typedef enum VkValidationCacheHeaderVersionEXT {
8787 VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT = 1,
8788 VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT = 0x7FFFFFFF
8789 } VkValidationCacheHeaderVersionEXT;
8790 typedef VkFlags VkValidationCacheCreateFlagsEXT;
8791 typedef struct VkValidationCacheCreateInfoEXT {
8792 VkStructureType sType;
8793 const void* pNext;
8794 VkValidationCacheCreateFlagsEXT flags;
8795 size_t initialDataSize;
8796 const void* pInitialData;
8797 } VkValidationCacheCreateInfoEXT;
8798
8799 typedef struct VkShaderModuleValidationCacheCreateInfoEXT {
8800 VkStructureType sType;
8801 const void* pNext;
8802 VkValidationCacheEXT validationCache;
8803 } VkShaderModuleValidationCacheCreateInfoEXT;
8804
8805 typedef VkResult (VKAPI_PTR *PFN_vkCreateValidationCacheEXT)(VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache);
8806 typedef void (VKAPI_PTR *PFN_vkDestroyValidationCacheEXT)(VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator);
8807 typedef VkResult (VKAPI_PTR *PFN_vkMergeValidationCachesEXT)(VkDevice device, VkValidationCacheEXT dstCache, uint32_t srcCacheCount, const VkValidationCacheEXT* pSrcCaches);
8808 typedef VkResult (VKAPI_PTR *PFN_vkGetValidationCacheDataEXT)(VkDevice device, VkValidationCacheEXT validationCache, size_t* pDataSize, void* pData);
8809
8810 #ifndef VK_NO_PROTOTYPES
8811 VKAPI_ATTR VkResult VKAPI_CALL vkCreateValidationCacheEXT(
8812 VkDevice device,
8813 const VkValidationCacheCreateInfoEXT* pCreateInfo,
8814 const VkAllocationCallbacks* pAllocator,
8815 VkValidationCacheEXT* pValidationCache);
8816
8817 VKAPI_ATTR void VKAPI_CALL vkDestroyValidationCacheEXT(
8818 VkDevice device,
8819 VkValidationCacheEXT validationCache,
8820 const VkAllocationCallbacks* pAllocator);
8821
8822 VKAPI_ATTR VkResult VKAPI_CALL vkMergeValidationCachesEXT(
8823 VkDevice device,
8824 VkValidationCacheEXT dstCache,
8825 uint32_t srcCacheCount,
8826 const VkValidationCacheEXT* pSrcCaches);
8827
8828 VKAPI_ATTR VkResult VKAPI_CALL vkGetValidationCacheDataEXT(
8829 VkDevice device,
8830 VkValidationCacheEXT validationCache,
8831 size_t* pDataSize,
8832 void* pData);
8833 #endif
8834
8835
8836 #define VK_EXT_descriptor_indexing 1
8837 #define VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION 2
8838 #define VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME "VK_EXT_descriptor_indexing"
8839 typedef VkDescriptorBindingFlagBits VkDescriptorBindingFlagBitsEXT;
8840
8841 typedef VkDescriptorBindingFlags VkDescriptorBindingFlagsEXT;
8842
8843 typedef VkDescriptorSetLayoutBindingFlagsCreateInfo VkDescriptorSetLayoutBindingFlagsCreateInfoEXT;
8844
8845 typedef VkPhysicalDeviceDescriptorIndexingFeatures VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
8846
8847 typedef VkPhysicalDeviceDescriptorIndexingProperties VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
8848
8849 typedef VkDescriptorSetVariableDescriptorCountAllocateInfo VkDescriptorSetVariableDescriptorCountAllocateInfoEXT;
8850
8851 typedef VkDescriptorSetVariableDescriptorCountLayoutSupport VkDescriptorSetVariableDescriptorCountLayoutSupportEXT;
8852
8853
8854
8855 #define VK_EXT_shader_viewport_index_layer 1
8856 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION 1
8857 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME "VK_EXT_shader_viewport_index_layer"
8858
8859
8860 #define VK_NV_shading_rate_image 1
8861 #define VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION 3
8862 #define VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME "VK_NV_shading_rate_image"
8863
8864 typedef enum VkShadingRatePaletteEntryNV {
8865 VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV = 0,
8866 VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV = 1,
8867 VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV = 2,
8868 VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV = 3,
8869 VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV = 4,
8870 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV = 5,
8871 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV = 6,
8872 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV = 7,
8873 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV = 8,
8874 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV = 9,
8875 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV = 10,
8876 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV = 11,
8877 VK_SHADING_RATE_PALETTE_ENTRY_MAX_ENUM_NV = 0x7FFFFFFF
8878 } VkShadingRatePaletteEntryNV;
8879
8880 typedef enum VkCoarseSampleOrderTypeNV {
8881 VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV = 0,
8882 VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV = 1,
8883 VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV = 2,
8884 VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV = 3,
8885 VK_COARSE_SAMPLE_ORDER_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
8886 } VkCoarseSampleOrderTypeNV;
8887 typedef struct VkShadingRatePaletteNV {
8888 uint32_t shadingRatePaletteEntryCount;
8889 const VkShadingRatePaletteEntryNV* pShadingRatePaletteEntries;
8890 } VkShadingRatePaletteNV;
8891
8892 typedef struct VkPipelineViewportShadingRateImageStateCreateInfoNV {
8893 VkStructureType sType;
8894 const void* pNext;
8895 VkBool32 shadingRateImageEnable;
8896 uint32_t viewportCount;
8897 const VkShadingRatePaletteNV* pShadingRatePalettes;
8898 } VkPipelineViewportShadingRateImageStateCreateInfoNV;
8899
8900 typedef struct VkPhysicalDeviceShadingRateImageFeaturesNV {
8901 VkStructureType sType;
8902 void* pNext;
8903 VkBool32 shadingRateImage;
8904 VkBool32 shadingRateCoarseSampleOrder;
8905 } VkPhysicalDeviceShadingRateImageFeaturesNV;
8906
8907 typedef struct VkPhysicalDeviceShadingRateImagePropertiesNV {
8908 VkStructureType sType;
8909 void* pNext;
8910 VkExtent2D shadingRateTexelSize;
8911 uint32_t shadingRatePaletteSize;
8912 uint32_t shadingRateMaxCoarseSamples;
8913 } VkPhysicalDeviceShadingRateImagePropertiesNV;
8914
8915 typedef struct VkCoarseSampleLocationNV {
8916 uint32_t pixelX;
8917 uint32_t pixelY;
8918 uint32_t sample;
8919 } VkCoarseSampleLocationNV;
8920
8921 typedef struct VkCoarseSampleOrderCustomNV {
8922 VkShadingRatePaletteEntryNV shadingRate;
8923 uint32_t sampleCount;
8924 uint32_t sampleLocationCount;
8925 const VkCoarseSampleLocationNV* pSampleLocations;
8926 } VkCoarseSampleOrderCustomNV;
8927
8928 typedef struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV {
8929 VkStructureType sType;
8930 const void* pNext;
8931 VkCoarseSampleOrderTypeNV sampleOrderType;
8932 uint32_t customSampleOrderCount;
8933 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders;
8934 } VkPipelineViewportCoarseSampleOrderStateCreateInfoNV;
8935
8936 typedef void (VKAPI_PTR *PFN_vkCmdBindShadingRateImageNV)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout);
8937 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportShadingRatePaletteNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkShadingRatePaletteNV* pShadingRatePalettes);
8938 typedef void (VKAPI_PTR *PFN_vkCmdSetCoarseSampleOrderNV)(VkCommandBuffer commandBuffer, VkCoarseSampleOrderTypeNV sampleOrderType, uint32_t customSampleOrderCount, const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
8939
8940 #ifndef VK_NO_PROTOTYPES
8941 VKAPI_ATTR void VKAPI_CALL vkCmdBindShadingRateImageNV(
8942 VkCommandBuffer commandBuffer,
8943 VkImageView imageView,
8944 VkImageLayout imageLayout);
8945
8946 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportShadingRatePaletteNV(
8947 VkCommandBuffer commandBuffer,
8948 uint32_t firstViewport,
8949 uint32_t viewportCount,
8950 const VkShadingRatePaletteNV* pShadingRatePalettes);
8951
8952 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoarseSampleOrderNV(
8953 VkCommandBuffer commandBuffer,
8954 VkCoarseSampleOrderTypeNV sampleOrderType,
8955 uint32_t customSampleOrderCount,
8956 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
8957 #endif
8958
8959
8960 #define VK_NV_ray_tracing 1
8961 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR)
8962 typedef VkAccelerationStructureKHR VkAccelerationStructureNV;
8963
8964 #define VK_NV_RAY_TRACING_SPEC_VERSION 3
8965 #define VK_NV_RAY_TRACING_EXTENSION_NAME "VK_NV_ray_tracing"
8966 #define VK_SHADER_UNUSED_KHR (~0U)
8967 #define VK_SHADER_UNUSED_NV VK_SHADER_UNUSED_KHR
8968
8969 typedef enum VkRayTracingShaderGroupTypeKHR {
8970 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR = 0,
8971 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR = 1,
8972 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR = 2,
8973 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR,
8974 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR,
8975 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR,
8976 VK_RAY_TRACING_SHADER_GROUP_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
8977 } VkRayTracingShaderGroupTypeKHR;
8978 typedef VkRayTracingShaderGroupTypeKHR VkRayTracingShaderGroupTypeNV;
8979
8980
8981 typedef enum VkGeometryTypeKHR {
8982 VK_GEOMETRY_TYPE_TRIANGLES_KHR = 0,
8983 VK_GEOMETRY_TYPE_AABBS_KHR = 1,
8984 VK_GEOMETRY_TYPE_INSTANCES_KHR = 1000150000,
8985 VK_GEOMETRY_TYPE_TRIANGLES_NV = VK_GEOMETRY_TYPE_TRIANGLES_KHR,
8986 VK_GEOMETRY_TYPE_AABBS_NV = VK_GEOMETRY_TYPE_AABBS_KHR,
8987 VK_GEOMETRY_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
8988 } VkGeometryTypeKHR;
8989 typedef VkGeometryTypeKHR VkGeometryTypeNV;
8990
8991
8992 typedef enum VkAccelerationStructureTypeKHR {
8993 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR = 0,
8994 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR = 1,
8995 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR,
8996 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR,
8997 VK_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
8998 } VkAccelerationStructureTypeKHR;
8999 typedef VkAccelerationStructureTypeKHR VkAccelerationStructureTypeNV;
9000
9001
9002 typedef enum VkCopyAccelerationStructureModeKHR {
9003 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR = 0,
9004 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR = 1,
9005 VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR = 2,
9006 VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR = 3,
9007 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR,
9008 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR,
9009 VK_COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
9010 } VkCopyAccelerationStructureModeKHR;
9011 typedef VkCopyAccelerationStructureModeKHR VkCopyAccelerationStructureModeNV;
9012
9013
9014 typedef enum VkAccelerationStructureMemoryRequirementsTypeKHR {
9015 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_KHR = 0,
9016 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_KHR = 1,
9017 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_KHR = 2,
9018 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV = VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_KHR,
9019 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV = VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_KHR,
9020 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV = VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_KHR,
9021 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
9022 } VkAccelerationStructureMemoryRequirementsTypeKHR;
9023 typedef VkAccelerationStructureMemoryRequirementsTypeKHR VkAccelerationStructureMemoryRequirementsTypeNV;
9024
9025
9026 typedef enum VkGeometryFlagBitsKHR {
9027 VK_GEOMETRY_OPAQUE_BIT_KHR = 0x00000001,
9028 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR = 0x00000002,
9029 VK_GEOMETRY_OPAQUE_BIT_NV = VK_GEOMETRY_OPAQUE_BIT_KHR,
9030 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV = VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR,
9031 VK_GEOMETRY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
9032 } VkGeometryFlagBitsKHR;
9033 typedef VkFlags VkGeometryFlagsKHR;
9034 typedef VkGeometryFlagsKHR VkGeometryFlagsNV;
9035
9036 typedef VkGeometryFlagBitsKHR VkGeometryFlagBitsNV;
9037
9038
9039 typedef enum VkGeometryInstanceFlagBitsKHR {
9040 VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = 0x00000001,
9041 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = 0x00000002,
9042 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 0x00000004,
9043 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 0x00000008,
9044 VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR,
9045 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR,
9046 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR,
9047 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR,
9048 VK_GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
9049 } VkGeometryInstanceFlagBitsKHR;
9050 typedef VkFlags VkGeometryInstanceFlagsKHR;
9051 typedef VkGeometryInstanceFlagsKHR VkGeometryInstanceFlagsNV;
9052
9053 typedef VkGeometryInstanceFlagBitsKHR VkGeometryInstanceFlagBitsNV;
9054
9055
9056 typedef enum VkBuildAccelerationStructureFlagBitsKHR {
9057 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR = 0x00000001,
9058 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR = 0x00000002,
9059 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR = 0x00000004,
9060 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR = 0x00000008,
9061 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR = 0x00000010,
9062 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR,
9063 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR,
9064 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR,
9065 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR,
9066 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR,
9067 VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
9068 } VkBuildAccelerationStructureFlagBitsKHR;
9069 typedef VkFlags VkBuildAccelerationStructureFlagsKHR;
9070 typedef VkBuildAccelerationStructureFlagsKHR VkBuildAccelerationStructureFlagsNV;
9071
9072 typedef VkBuildAccelerationStructureFlagBitsKHR VkBuildAccelerationStructureFlagBitsNV;
9073
9074 typedef struct VkRayTracingShaderGroupCreateInfoNV {
9075 VkStructureType sType;
9076 const void* pNext;
9077 VkRayTracingShaderGroupTypeKHR type;
9078 uint32_t generalShader;
9079 uint32_t closestHitShader;
9080 uint32_t anyHitShader;
9081 uint32_t intersectionShader;
9082 } VkRayTracingShaderGroupCreateInfoNV;
9083
9084 typedef struct VkRayTracingPipelineCreateInfoNV {
9085 VkStructureType sType;
9086 const void* pNext;
9087 VkPipelineCreateFlags flags;
9088 uint32_t stageCount;
9089 const VkPipelineShaderStageCreateInfo* pStages;
9090 uint32_t groupCount;
9091 const VkRayTracingShaderGroupCreateInfoNV* pGroups;
9092 uint32_t maxRecursionDepth;
9093 VkPipelineLayout layout;
9094 VkPipeline basePipelineHandle;
9095 int32_t basePipelineIndex;
9096 } VkRayTracingPipelineCreateInfoNV;
9097
9098 typedef struct VkGeometryTrianglesNV {
9099 VkStructureType sType;
9100 const void* pNext;
9101 VkBuffer vertexData;
9102 VkDeviceSize vertexOffset;
9103 uint32_t vertexCount;
9104 VkDeviceSize vertexStride;
9105 VkFormat vertexFormat;
9106 VkBuffer indexData;
9107 VkDeviceSize indexOffset;
9108 uint32_t indexCount;
9109 VkIndexType indexType;
9110 VkBuffer transformData;
9111 VkDeviceSize transformOffset;
9112 } VkGeometryTrianglesNV;
9113
9114 typedef struct VkGeometryAABBNV {
9115 VkStructureType sType;
9116 const void* pNext;
9117 VkBuffer aabbData;
9118 uint32_t numAABBs;
9119 uint32_t stride;
9120 VkDeviceSize offset;
9121 } VkGeometryAABBNV;
9122
9123 typedef struct VkGeometryDataNV {
9124 VkGeometryTrianglesNV triangles;
9125 VkGeometryAABBNV aabbs;
9126 } VkGeometryDataNV;
9127
9128 typedef struct VkGeometryNV {
9129 VkStructureType sType;
9130 const void* pNext;
9131 VkGeometryTypeKHR geometryType;
9132 VkGeometryDataNV geometry;
9133 VkGeometryFlagsKHR flags;
9134 } VkGeometryNV;
9135
9136 typedef struct VkAccelerationStructureInfoNV {
9137 VkStructureType sType;
9138 const void* pNext;
9139 VkAccelerationStructureTypeNV type;
9140 VkBuildAccelerationStructureFlagsNV flags;
9141 uint32_t instanceCount;
9142 uint32_t geometryCount;
9143 const VkGeometryNV* pGeometries;
9144 } VkAccelerationStructureInfoNV;
9145
9146 typedef struct VkAccelerationStructureCreateInfoNV {
9147 VkStructureType sType;
9148 const void* pNext;
9149 VkDeviceSize compactedSize;
9150 VkAccelerationStructureInfoNV info;
9151 } VkAccelerationStructureCreateInfoNV;
9152
9153 typedef struct VkBindAccelerationStructureMemoryInfoKHR {
9154 VkStructureType sType;
9155 const void* pNext;
9156 VkAccelerationStructureKHR accelerationStructure;
9157 VkDeviceMemory memory;
9158 VkDeviceSize memoryOffset;
9159 uint32_t deviceIndexCount;
9160 const uint32_t* pDeviceIndices;
9161 } VkBindAccelerationStructureMemoryInfoKHR;
9162
9163 typedef VkBindAccelerationStructureMemoryInfoKHR VkBindAccelerationStructureMemoryInfoNV;
9164
9165 typedef struct VkWriteDescriptorSetAccelerationStructureKHR {
9166 VkStructureType sType;
9167 const void* pNext;
9168 uint32_t accelerationStructureCount;
9169 const VkAccelerationStructureKHR* pAccelerationStructures;
9170 } VkWriteDescriptorSetAccelerationStructureKHR;
9171
9172 typedef VkWriteDescriptorSetAccelerationStructureKHR VkWriteDescriptorSetAccelerationStructureNV;
9173
9174 typedef struct VkAccelerationStructureMemoryRequirementsInfoNV {
9175 VkStructureType sType;
9176 const void* pNext;
9177 VkAccelerationStructureMemoryRequirementsTypeNV type;
9178 VkAccelerationStructureNV accelerationStructure;
9179 } VkAccelerationStructureMemoryRequirementsInfoNV;
9180
9181 typedef struct VkPhysicalDeviceRayTracingPropertiesNV {
9182 VkStructureType sType;
9183 void* pNext;
9184 uint32_t shaderGroupHandleSize;
9185 uint32_t maxRecursionDepth;
9186 uint32_t maxShaderGroupStride;
9187 uint32_t shaderGroupBaseAlignment;
9188 uint64_t maxGeometryCount;
9189 uint64_t maxInstanceCount;
9190 uint64_t maxTriangleCount;
9191 uint32_t maxDescriptorSetAccelerationStructures;
9192 } VkPhysicalDeviceRayTracingPropertiesNV;
9193
9194 typedef struct VkTransformMatrixKHR {
9195 float matrix[3][4];
9196 } VkTransformMatrixKHR;
9197
9198 typedef VkTransformMatrixKHR VkTransformMatrixNV;
9199
9200 typedef struct VkAabbPositionsKHR {
9201 float minX;
9202 float minY;
9203 float minZ;
9204 float maxX;
9205 float maxY;
9206 float maxZ;
9207 } VkAabbPositionsKHR;
9208
9209 typedef VkAabbPositionsKHR VkAabbPositionsNV;
9210
9211 typedef struct VkAccelerationStructureInstanceKHR {
9212 VkTransformMatrixKHR transform;
9213 uint32_t instanceCustomIndex:24;
9214 uint32_t mask:8;
9215 uint32_t instanceShaderBindingTableRecordOffset:24;
9216 VkGeometryInstanceFlagsKHR flags:8;
9217 uint64_t accelerationStructureReference;
9218 } VkAccelerationStructureInstanceKHR;
9219
9220 typedef VkAccelerationStructureInstanceKHR VkAccelerationStructureInstanceNV;
9221
9222 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureNV)(VkDevice device, const VkAccelerationStructureCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureNV* pAccelerationStructure);
9223 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureKHR)(VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator);
9224 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureNV)(VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator);
9225 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureMemoryRequirementsNV)(VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements);
9226 typedef VkResult (VKAPI_PTR *PFN_vkBindAccelerationStructureMemoryKHR)(VkDevice device, uint32_t bindInfoCount, const VkBindAccelerationStructureMemoryInfoKHR* pBindInfos);
9227 typedef VkResult (VKAPI_PTR *PFN_vkBindAccelerationStructureMemoryNV)(VkDevice device, uint32_t bindInfoCount, const VkBindAccelerationStructureMemoryInfoKHR* pBindInfos);
9228 typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructureNV)(VkCommandBuffer commandBuffer, const VkAccelerationStructureInfoNV* pInfo, VkBuffer instanceData, VkDeviceSize instanceOffset, VkBool32 update, VkAccelerationStructureKHR dst, VkAccelerationStructureKHR src, VkBuffer scratch, VkDeviceSize scratchOffset);
9229 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureNV)(VkCommandBuffer commandBuffer, VkAccelerationStructureKHR dst, VkAccelerationStructureKHR src, VkCopyAccelerationStructureModeKHR mode);
9230 typedef 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);
9231 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesNV)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoNV* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
9232 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData);
9233 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesNV)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData);
9234 typedef VkResult (VKAPI_PTR *PFN_vkGetAccelerationStructureHandleNV)(VkDevice device, VkAccelerationStructureKHR accelerationStructure, size_t dataSize, void* pData);
9235 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesKHR)(VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery);
9236 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesNV)(VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery);
9237 typedef VkResult (VKAPI_PTR *PFN_vkCompileDeferredNV)(VkDevice device, VkPipeline pipeline, uint32_t shader);
9238
9239 #ifndef VK_NO_PROTOTYPES
9240 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureNV(
9241 VkDevice device,
9242 const VkAccelerationStructureCreateInfoNV* pCreateInfo,
9243 const VkAllocationCallbacks* pAllocator,
9244 VkAccelerationStructureNV* pAccelerationStructure);
9245
9246 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureKHR(
9247 VkDevice device,
9248 VkAccelerationStructureKHR accelerationStructure,
9249 const VkAllocationCallbacks* pAllocator);
9250
9251 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureNV(
9252 VkDevice device,
9253 VkAccelerationStructureKHR accelerationStructure,
9254 const VkAllocationCallbacks* pAllocator);
9255
9256 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureMemoryRequirementsNV(
9257 VkDevice device,
9258 const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo,
9259 VkMemoryRequirements2KHR* pMemoryRequirements);
9260
9261 VKAPI_ATTR VkResult VKAPI_CALL vkBindAccelerationStructureMemoryKHR(
9262 VkDevice device,
9263 uint32_t bindInfoCount,
9264 const VkBindAccelerationStructureMemoryInfoKHR* pBindInfos);
9265
9266 VKAPI_ATTR VkResult VKAPI_CALL vkBindAccelerationStructureMemoryNV(
9267 VkDevice device,
9268 uint32_t bindInfoCount,
9269 const VkBindAccelerationStructureMemoryInfoKHR* pBindInfos);
9270
9271 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructureNV(
9272 VkCommandBuffer commandBuffer,
9273 const VkAccelerationStructureInfoNV* pInfo,
9274 VkBuffer instanceData,
9275 VkDeviceSize instanceOffset,
9276 VkBool32 update,
9277 VkAccelerationStructureKHR dst,
9278 VkAccelerationStructureKHR src,
9279 VkBuffer scratch,
9280 VkDeviceSize scratchOffset);
9281
9282 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureNV(
9283 VkCommandBuffer commandBuffer,
9284 VkAccelerationStructureKHR dst,
9285 VkAccelerationStructureKHR src,
9286 VkCopyAccelerationStructureModeKHR mode);
9287
9288 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysNV(
9289 VkCommandBuffer commandBuffer,
9290 VkBuffer raygenShaderBindingTableBuffer,
9291 VkDeviceSize raygenShaderBindingOffset,
9292 VkBuffer missShaderBindingTableBuffer,
9293 VkDeviceSize missShaderBindingOffset,
9294 VkDeviceSize missShaderBindingStride,
9295 VkBuffer hitShaderBindingTableBuffer,
9296 VkDeviceSize hitShaderBindingOffset,
9297 VkDeviceSize hitShaderBindingStride,
9298 VkBuffer callableShaderBindingTableBuffer,
9299 VkDeviceSize callableShaderBindingOffset,
9300 VkDeviceSize callableShaderBindingStride,
9301 uint32_t width,
9302 uint32_t height,
9303 uint32_t depth);
9304
9305 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesNV(
9306 VkDevice device,
9307 VkPipelineCache pipelineCache,
9308 uint32_t createInfoCount,
9309 const VkRayTracingPipelineCreateInfoNV* pCreateInfos,
9310 const VkAllocationCallbacks* pAllocator,
9311 VkPipeline* pPipelines);
9312
9313 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesKHR(
9314 VkDevice device,
9315 VkPipeline pipeline,
9316 uint32_t firstGroup,
9317 uint32_t groupCount,
9318 size_t dataSize,
9319 void* pData);
9320
9321 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesNV(
9322 VkDevice device,
9323 VkPipeline pipeline,
9324 uint32_t firstGroup,
9325 uint32_t groupCount,
9326 size_t dataSize,
9327 void* pData);
9328
9329 VKAPI_ATTR VkResult VKAPI_CALL vkGetAccelerationStructureHandleNV(
9330 VkDevice device,
9331 VkAccelerationStructureKHR accelerationStructure,
9332 size_t dataSize,
9333 void* pData);
9334
9335 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesKHR(
9336 VkCommandBuffer commandBuffer,
9337 uint32_t accelerationStructureCount,
9338 const VkAccelerationStructureKHR* pAccelerationStructures,
9339 VkQueryType queryType,
9340 VkQueryPool queryPool,
9341 uint32_t firstQuery);
9342
9343 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesNV(
9344 VkCommandBuffer commandBuffer,
9345 uint32_t accelerationStructureCount,
9346 const VkAccelerationStructureKHR* pAccelerationStructures,
9347 VkQueryType queryType,
9348 VkQueryPool queryPool,
9349 uint32_t firstQuery);
9350
9351 VKAPI_ATTR VkResult VKAPI_CALL vkCompileDeferredNV(
9352 VkDevice device,
9353 VkPipeline pipeline,
9354 uint32_t shader);
9355 #endif
9356
9357
9358 #define VK_NV_representative_fragment_test 1
9359 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION 2
9360 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME "VK_NV_representative_fragment_test"
9361 typedef struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV {
9362 VkStructureType sType;
9363 void* pNext;
9364 VkBool32 representativeFragmentTest;
9365 } VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV;
9366
9367 typedef struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV {
9368 VkStructureType sType;
9369 const void* pNext;
9370 VkBool32 representativeFragmentTestEnable;
9371 } VkPipelineRepresentativeFragmentTestStateCreateInfoNV;
9372
9373
9374
9375 #define VK_EXT_filter_cubic 1
9376 #define VK_EXT_FILTER_CUBIC_SPEC_VERSION 3
9377 #define VK_EXT_FILTER_CUBIC_EXTENSION_NAME "VK_EXT_filter_cubic"
9378 typedef struct VkPhysicalDeviceImageViewImageFormatInfoEXT {
9379 VkStructureType sType;
9380 void* pNext;
9381 VkImageViewType imageViewType;
9382 } VkPhysicalDeviceImageViewImageFormatInfoEXT;
9383
9384 typedef struct VkFilterCubicImageViewImageFormatPropertiesEXT {
9385 VkStructureType sType;
9386 void* pNext;
9387 VkBool32 filterCubic;
9388 VkBool32 filterCubicMinmax;
9389 } VkFilterCubicImageViewImageFormatPropertiesEXT;
9390
9391
9392
9393 #define VK_QCOM_render_pass_shader_resolve 1
9394 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_SPEC_VERSION 4
9395 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_EXTENSION_NAME "VK_QCOM_render_pass_shader_resolve"
9396
9397
9398 #define VK_EXT_global_priority 1
9399 #define VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION 2
9400 #define VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME "VK_EXT_global_priority"
9401
9402 typedef enum VkQueueGlobalPriorityEXT {
9403 VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT = 128,
9404 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT = 256,
9405 VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT = 512,
9406 VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT = 1024,
9407 VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_EXT = 0x7FFFFFFF
9408 } VkQueueGlobalPriorityEXT;
9409 typedef struct VkDeviceQueueGlobalPriorityCreateInfoEXT {
9410 VkStructureType sType;
9411 const void* pNext;
9412 VkQueueGlobalPriorityEXT globalPriority;
9413 } VkDeviceQueueGlobalPriorityCreateInfoEXT;
9414
9415
9416
9417 #define VK_EXT_external_memory_host 1
9418 #define VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION 1
9419 #define VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME "VK_EXT_external_memory_host"
9420 typedef struct VkImportMemoryHostPointerInfoEXT {
9421 VkStructureType sType;
9422 const void* pNext;
9423 VkExternalMemoryHandleTypeFlagBits handleType;
9424 void* pHostPointer;
9425 } VkImportMemoryHostPointerInfoEXT;
9426
9427 typedef struct VkMemoryHostPointerPropertiesEXT {
9428 VkStructureType sType;
9429 void* pNext;
9430 uint32_t memoryTypeBits;
9431 } VkMemoryHostPointerPropertiesEXT;
9432
9433 typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
9434 VkStructureType sType;
9435 void* pNext;
9436 VkDeviceSize minImportedHostPointerAlignment;
9437 } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
9438
9439 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryHostPointerPropertiesEXT)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
9440
9441 #ifndef VK_NO_PROTOTYPES
9442 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryHostPointerPropertiesEXT(
9443 VkDevice device,
9444 VkExternalMemoryHandleTypeFlagBits handleType,
9445 const void* pHostPointer,
9446 VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
9447 #endif
9448
9449
9450 #define VK_AMD_buffer_marker 1
9451 #define VK_AMD_BUFFER_MARKER_SPEC_VERSION 1
9452 #define VK_AMD_BUFFER_MARKER_EXTENSION_NAME "VK_AMD_buffer_marker"
9453 typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarkerAMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker);
9454
9455 #ifndef VK_NO_PROTOTYPES
9456 VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarkerAMD(
9457 VkCommandBuffer commandBuffer,
9458 VkPipelineStageFlagBits pipelineStage,
9459 VkBuffer dstBuffer,
9460 VkDeviceSize dstOffset,
9461 uint32_t marker);
9462 #endif
9463
9464
9465 #define VK_AMD_pipeline_compiler_control 1
9466 #define VK_AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION 1
9467 #define VK_AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME "VK_AMD_pipeline_compiler_control"
9468
9469 typedef enum VkPipelineCompilerControlFlagBitsAMD {
9470 VK_PIPELINE_COMPILER_CONTROL_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF
9471 } VkPipelineCompilerControlFlagBitsAMD;
9472 typedef VkFlags VkPipelineCompilerControlFlagsAMD;
9473 typedef struct VkPipelineCompilerControlCreateInfoAMD {
9474 VkStructureType sType;
9475 const void* pNext;
9476 VkPipelineCompilerControlFlagsAMD compilerControlFlags;
9477 } VkPipelineCompilerControlCreateInfoAMD;
9478
9479
9480
9481 #define VK_EXT_calibrated_timestamps 1
9482 #define VK_EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION 1
9483 #define VK_EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME "VK_EXT_calibrated_timestamps"
9484
9485 typedef enum VkTimeDomainEXT {
9486 VK_TIME_DOMAIN_DEVICE_EXT = 0,
9487 VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT = 1,
9488 VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT = 2,
9489 VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT = 3,
9490 VK_TIME_DOMAIN_MAX_ENUM_EXT = 0x7FFFFFFF
9491 } VkTimeDomainEXT;
9492 typedef struct VkCalibratedTimestampInfoEXT {
9493 VkStructureType sType;
9494 const void* pNext;
9495 VkTimeDomainEXT timeDomain;
9496 } VkCalibratedTimestampInfoEXT;
9497
9498 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT)(VkPhysicalDevice physicalDevice, uint32_t* pTimeDomainCount, VkTimeDomainEXT* pTimeDomains);
9499 typedef VkResult (VKAPI_PTR *PFN_vkGetCalibratedTimestampsEXT)(VkDevice device, uint32_t timestampCount, const VkCalibratedTimestampInfoEXT* pTimestampInfos, uint64_t* pTimestamps, uint64_t* pMaxDeviation);
9500
9501 #ifndef VK_NO_PROTOTYPES
9502 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(
9503 VkPhysicalDevice physicalDevice,
9504 uint32_t* pTimeDomainCount,
9505 VkTimeDomainEXT* pTimeDomains);
9506
9507 VKAPI_ATTR VkResult VKAPI_CALL vkGetCalibratedTimestampsEXT(
9508 VkDevice device,
9509 uint32_t timestampCount,
9510 const VkCalibratedTimestampInfoEXT* pTimestampInfos,
9511 uint64_t* pTimestamps,
9512 uint64_t* pMaxDeviation);
9513 #endif
9514
9515
9516 #define VK_AMD_shader_core_properties 1
9517 #define VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION 2
9518 #define VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_AMD_shader_core_properties"
9519 typedef struct VkPhysicalDeviceShaderCorePropertiesAMD {
9520 VkStructureType sType;
9521 void* pNext;
9522 uint32_t shaderEngineCount;
9523 uint32_t shaderArraysPerEngineCount;
9524 uint32_t computeUnitsPerShaderArray;
9525 uint32_t simdPerComputeUnit;
9526 uint32_t wavefrontsPerSimd;
9527 uint32_t wavefrontSize;
9528 uint32_t sgprsPerSimd;
9529 uint32_t minSgprAllocation;
9530 uint32_t maxSgprAllocation;
9531 uint32_t sgprAllocationGranularity;
9532 uint32_t vgprsPerSimd;
9533 uint32_t minVgprAllocation;
9534 uint32_t maxVgprAllocation;
9535 uint32_t vgprAllocationGranularity;
9536 } VkPhysicalDeviceShaderCorePropertiesAMD;
9537
9538
9539
9540 #define VK_AMD_memory_overallocation_behavior 1
9541 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION 1
9542 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME "VK_AMD_memory_overallocation_behavior"
9543
9544 typedef enum VkMemoryOverallocationBehaviorAMD {
9545 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD = 0,
9546 VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD = 1,
9547 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD = 2,
9548 VK_MEMORY_OVERALLOCATION_BEHAVIOR_MAX_ENUM_AMD = 0x7FFFFFFF
9549 } VkMemoryOverallocationBehaviorAMD;
9550 typedef struct VkDeviceMemoryOverallocationCreateInfoAMD {
9551 VkStructureType sType;
9552 const void* pNext;
9553 VkMemoryOverallocationBehaviorAMD overallocationBehavior;
9554 } VkDeviceMemoryOverallocationCreateInfoAMD;
9555
9556
9557
9558 #define VK_EXT_vertex_attribute_divisor 1
9559 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 3
9560 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_EXT_vertex_attribute_divisor"
9561 typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
9562 VkStructureType sType;
9563 void* pNext;
9564 uint32_t maxVertexAttribDivisor;
9565 } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
9566
9567 typedef struct VkVertexInputBindingDivisorDescriptionEXT {
9568 uint32_t binding;
9569 uint32_t divisor;
9570 } VkVertexInputBindingDivisorDescriptionEXT;
9571
9572 typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT {
9573 VkStructureType sType;
9574 const void* pNext;
9575 uint32_t vertexBindingDivisorCount;
9576 const VkVertexInputBindingDivisorDescriptionEXT* pVertexBindingDivisors;
9577 } VkPipelineVertexInputDivisorStateCreateInfoEXT;
9578
9579 typedef struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT {
9580 VkStructureType sType;
9581 void* pNext;
9582 VkBool32 vertexAttributeInstanceRateDivisor;
9583 VkBool32 vertexAttributeInstanceRateZeroDivisor;
9584 } VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT;
9585
9586
9587
9588 #define VK_EXT_pipeline_creation_feedback 1
9589 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION 1
9590 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME "VK_EXT_pipeline_creation_feedback"
9591
9592 typedef enum VkPipelineCreationFeedbackFlagBitsEXT {
9593 VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = 0x00000001,
9594 VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = 0x00000002,
9595 VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = 0x00000004,
9596 VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
9597 } VkPipelineCreationFeedbackFlagBitsEXT;
9598 typedef VkFlags VkPipelineCreationFeedbackFlagsEXT;
9599 typedef struct VkPipelineCreationFeedbackEXT {
9600 VkPipelineCreationFeedbackFlagsEXT flags;
9601 uint64_t duration;
9602 } VkPipelineCreationFeedbackEXT;
9603
9604 typedef struct VkPipelineCreationFeedbackCreateInfoEXT {
9605 VkStructureType sType;
9606 const void* pNext;
9607 VkPipelineCreationFeedbackEXT* pPipelineCreationFeedback;
9608 uint32_t pipelineStageCreationFeedbackCount;
9609 VkPipelineCreationFeedbackEXT* pPipelineStageCreationFeedbacks;
9610 } VkPipelineCreationFeedbackCreateInfoEXT;
9611
9612
9613
9614 #define VK_NV_shader_subgroup_partitioned 1
9615 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION 1
9616 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME "VK_NV_shader_subgroup_partitioned"
9617
9618
9619 #define VK_NV_compute_shader_derivatives 1
9620 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION 1
9621 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME "VK_NV_compute_shader_derivatives"
9622 typedef struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV {
9623 VkStructureType sType;
9624 void* pNext;
9625 VkBool32 computeDerivativeGroupQuads;
9626 VkBool32 computeDerivativeGroupLinear;
9627 } VkPhysicalDeviceComputeShaderDerivativesFeaturesNV;
9628
9629
9630
9631 #define VK_NV_mesh_shader 1
9632 #define VK_NV_MESH_SHADER_SPEC_VERSION 1
9633 #define VK_NV_MESH_SHADER_EXTENSION_NAME "VK_NV_mesh_shader"
9634 typedef struct VkPhysicalDeviceMeshShaderFeaturesNV {
9635 VkStructureType sType;
9636 void* pNext;
9637 VkBool32 taskShader;
9638 VkBool32 meshShader;
9639 } VkPhysicalDeviceMeshShaderFeaturesNV;
9640
9641 typedef struct VkPhysicalDeviceMeshShaderPropertiesNV {
9642 VkStructureType sType;
9643 void* pNext;
9644 uint32_t maxDrawMeshTasksCount;
9645 uint32_t maxTaskWorkGroupInvocations;
9646 uint32_t maxTaskWorkGroupSize[3];
9647 uint32_t maxTaskTotalMemorySize;
9648 uint32_t maxTaskOutputCount;
9649 uint32_t maxMeshWorkGroupInvocations;
9650 uint32_t maxMeshWorkGroupSize[3];
9651 uint32_t maxMeshTotalMemorySize;
9652 uint32_t maxMeshOutputVertices;
9653 uint32_t maxMeshOutputPrimitives;
9654 uint32_t maxMeshMultiviewViewCount;
9655 uint32_t meshOutputPerVertexGranularity;
9656 uint32_t meshOutputPerPrimitiveGranularity;
9657 } VkPhysicalDeviceMeshShaderPropertiesNV;
9658
9659 typedef struct VkDrawMeshTasksIndirectCommandNV {
9660 uint32_t taskCount;
9661 uint32_t firstTask;
9662 } VkDrawMeshTasksIndirectCommandNV;
9663
9664 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksNV)(VkCommandBuffer commandBuffer, uint32_t taskCount, uint32_t firstTask);
9665 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
9666 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectCountNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
9667
9668 #ifndef VK_NO_PROTOTYPES
9669 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksNV(
9670 VkCommandBuffer commandBuffer,
9671 uint32_t taskCount,
9672 uint32_t firstTask);
9673
9674 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectNV(
9675 VkCommandBuffer commandBuffer,
9676 VkBuffer buffer,
9677 VkDeviceSize offset,
9678 uint32_t drawCount,
9679 uint32_t stride);
9680
9681 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectCountNV(
9682 VkCommandBuffer commandBuffer,
9683 VkBuffer buffer,
9684 VkDeviceSize offset,
9685 VkBuffer countBuffer,
9686 VkDeviceSize countBufferOffset,
9687 uint32_t maxDrawCount,
9688 uint32_t stride);
9689 #endif
9690
9691
9692 #define VK_NV_fragment_shader_barycentric 1
9693 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1
9694 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_NV_fragment_shader_barycentric"
9695 typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV {
9696 VkStructureType sType;
9697 void* pNext;
9698 VkBool32 fragmentShaderBarycentric;
9699 } VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV;
9700
9701
9702
9703 #define VK_NV_shader_image_footprint 1
9704 #define VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION 2
9705 #define VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME "VK_NV_shader_image_footprint"
9706 typedef struct VkPhysicalDeviceShaderImageFootprintFeaturesNV {
9707 VkStructureType sType;
9708 void* pNext;
9709 VkBool32 imageFootprint;
9710 } VkPhysicalDeviceShaderImageFootprintFeaturesNV;
9711
9712
9713
9714 #define VK_NV_scissor_exclusive 1
9715 #define VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION 1
9716 #define VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME "VK_NV_scissor_exclusive"
9717 typedef struct VkPipelineViewportExclusiveScissorStateCreateInfoNV {
9718 VkStructureType sType;
9719 const void* pNext;
9720 uint32_t exclusiveScissorCount;
9721 const VkRect2D* pExclusiveScissors;
9722 } VkPipelineViewportExclusiveScissorStateCreateInfoNV;
9723
9724 typedef struct VkPhysicalDeviceExclusiveScissorFeaturesNV {
9725 VkStructureType sType;
9726 void* pNext;
9727 VkBool32 exclusiveScissor;
9728 } VkPhysicalDeviceExclusiveScissorFeaturesNV;
9729
9730 typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorNV)(VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const VkRect2D* pExclusiveScissors);
9731
9732 #ifndef VK_NO_PROTOTYPES
9733 VKAPI_ATTR void VKAPI_CALL vkCmdSetExclusiveScissorNV(
9734 VkCommandBuffer commandBuffer,
9735 uint32_t firstExclusiveScissor,
9736 uint32_t exclusiveScissorCount,
9737 const VkRect2D* pExclusiveScissors);
9738 #endif
9739
9740
9741 #define VK_NV_device_diagnostic_checkpoints 1
9742 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION 2
9743 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME "VK_NV_device_diagnostic_checkpoints"
9744 typedef struct VkQueueFamilyCheckpointPropertiesNV {
9745 VkStructureType sType;
9746 void* pNext;
9747 VkPipelineStageFlags checkpointExecutionStageMask;
9748 } VkQueueFamilyCheckpointPropertiesNV;
9749
9750 typedef struct VkCheckpointDataNV {
9751 VkStructureType sType;
9752 void* pNext;
9753 VkPipelineStageFlagBits stage;
9754 void* pCheckpointMarker;
9755 } VkCheckpointDataNV;
9756
9757 typedef void (VKAPI_PTR *PFN_vkCmdSetCheckpointNV)(VkCommandBuffer commandBuffer, const void* pCheckpointMarker);
9758 typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointDataNV)(VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData);
9759
9760 #ifndef VK_NO_PROTOTYPES
9761 VKAPI_ATTR void VKAPI_CALL vkCmdSetCheckpointNV(
9762 VkCommandBuffer commandBuffer,
9763 const void* pCheckpointMarker);
9764
9765 VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointDataNV(
9766 VkQueue queue,
9767 uint32_t* pCheckpointDataCount,
9768 VkCheckpointDataNV* pCheckpointData);
9769 #endif
9770
9771
9772 #define VK_INTEL_shader_integer_functions2 1
9773 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION 1
9774 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME "VK_INTEL_shader_integer_functions2"
9775 typedef struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
9776 VkStructureType sType;
9777 void* pNext;
9778 VkBool32 shaderIntegerFunctions2;
9779 } VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL;
9780
9781
9782
9783 #define VK_INTEL_performance_query 1
9784 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPerformanceConfigurationINTEL)
9785 #define VK_INTEL_PERFORMANCE_QUERY_SPEC_VERSION 2
9786 #define VK_INTEL_PERFORMANCE_QUERY_EXTENSION_NAME "VK_INTEL_performance_query"
9787
9788 typedef enum VkPerformanceConfigurationTypeINTEL {
9789 VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL = 0,
9790 VK_PERFORMANCE_CONFIGURATION_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
9791 } VkPerformanceConfigurationTypeINTEL;
9792
9793 typedef enum VkQueryPoolSamplingModeINTEL {
9794 VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL = 0,
9795 VK_QUERY_POOL_SAMPLING_MODE_MAX_ENUM_INTEL = 0x7FFFFFFF
9796 } VkQueryPoolSamplingModeINTEL;
9797
9798 typedef enum VkPerformanceOverrideTypeINTEL {
9799 VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL = 0,
9800 VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL = 1,
9801 VK_PERFORMANCE_OVERRIDE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
9802 } VkPerformanceOverrideTypeINTEL;
9803
9804 typedef enum VkPerformanceParameterTypeINTEL {
9805 VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL = 0,
9806 VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL = 1,
9807 VK_PERFORMANCE_PARAMETER_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
9808 } VkPerformanceParameterTypeINTEL;
9809
9810 typedef enum VkPerformanceValueTypeINTEL {
9811 VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL = 0,
9812 VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL = 1,
9813 VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL = 2,
9814 VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL = 3,
9815 VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL = 4,
9816 VK_PERFORMANCE_VALUE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
9817 } VkPerformanceValueTypeINTEL;
9818 typedef union VkPerformanceValueDataINTEL {
9819 uint32_t value32;
9820 uint64_t value64;
9821 float valueFloat;
9822 VkBool32 valueBool;
9823 const char* valueString;
9824 } VkPerformanceValueDataINTEL;
9825
9826 typedef struct VkPerformanceValueINTEL {
9827 VkPerformanceValueTypeINTEL type;
9828 VkPerformanceValueDataINTEL data;
9829 } VkPerformanceValueINTEL;
9830
9831 typedef struct VkInitializePerformanceApiInfoINTEL {
9832 VkStructureType sType;
9833 const void* pNext;
9834 void* pUserData;
9835 } VkInitializePerformanceApiInfoINTEL;
9836
9837 typedef struct VkQueryPoolPerformanceQueryCreateInfoINTEL {
9838 VkStructureType sType;
9839 const void* pNext;
9840 VkQueryPoolSamplingModeINTEL performanceCountersSampling;
9841 } VkQueryPoolPerformanceQueryCreateInfoINTEL;
9842
9843 typedef VkQueryPoolPerformanceQueryCreateInfoINTEL VkQueryPoolCreateInfoINTEL;
9844
9845 typedef struct VkPerformanceMarkerInfoINTEL {
9846 VkStructureType sType;
9847 const void* pNext;
9848 uint64_t marker;
9849 } VkPerformanceMarkerInfoINTEL;
9850
9851 typedef struct VkPerformanceStreamMarkerInfoINTEL {
9852 VkStructureType sType;
9853 const void* pNext;
9854 uint32_t marker;
9855 } VkPerformanceStreamMarkerInfoINTEL;
9856
9857 typedef struct VkPerformanceOverrideInfoINTEL {
9858 VkStructureType sType;
9859 const void* pNext;
9860 VkPerformanceOverrideTypeINTEL type;
9861 VkBool32 enable;
9862 uint64_t parameter;
9863 } VkPerformanceOverrideInfoINTEL;
9864
9865 typedef struct VkPerformanceConfigurationAcquireInfoINTEL {
9866 VkStructureType sType;
9867 const void* pNext;
9868 VkPerformanceConfigurationTypeINTEL type;
9869 } VkPerformanceConfigurationAcquireInfoINTEL;
9870
9871 typedef VkResult (VKAPI_PTR *PFN_vkInitializePerformanceApiINTEL)(VkDevice device, const VkInitializePerformanceApiInfoINTEL* pInitializeInfo);
9872 typedef void (VKAPI_PTR *PFN_vkUninitializePerformanceApiINTEL)(VkDevice device);
9873 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL* pMarkerInfo);
9874 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceStreamMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo);
9875 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceOverrideINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL* pOverrideInfo);
9876 typedef VkResult (VKAPI_PTR *PFN_vkAcquirePerformanceConfigurationINTEL)(VkDevice device, const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, VkPerformanceConfigurationINTEL* pConfiguration);
9877 typedef VkResult (VKAPI_PTR *PFN_vkReleasePerformanceConfigurationINTEL)(VkDevice device, VkPerformanceConfigurationINTEL configuration);
9878 typedef VkResult (VKAPI_PTR *PFN_vkQueueSetPerformanceConfigurationINTEL)(VkQueue queue, VkPerformanceConfigurationINTEL configuration);
9879 typedef VkResult (VKAPI_PTR *PFN_vkGetPerformanceParameterINTEL)(VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL* pValue);
9880
9881 #ifndef VK_NO_PROTOTYPES
9882 VKAPI_ATTR VkResult VKAPI_CALL vkInitializePerformanceApiINTEL(
9883 VkDevice device,
9884 const VkInitializePerformanceApiInfoINTEL* pInitializeInfo);
9885
9886 VKAPI_ATTR void VKAPI_CALL vkUninitializePerformanceApiINTEL(
9887 VkDevice device);
9888
9889 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceMarkerINTEL(
9890 VkCommandBuffer commandBuffer,
9891 const VkPerformanceMarkerInfoINTEL* pMarkerInfo);
9892
9893 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceStreamMarkerINTEL(
9894 VkCommandBuffer commandBuffer,
9895 const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo);
9896
9897 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceOverrideINTEL(
9898 VkCommandBuffer commandBuffer,
9899 const VkPerformanceOverrideInfoINTEL* pOverrideInfo);
9900
9901 VKAPI_ATTR VkResult VKAPI_CALL vkAcquirePerformanceConfigurationINTEL(
9902 VkDevice device,
9903 const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo,
9904 VkPerformanceConfigurationINTEL* pConfiguration);
9905
9906 VKAPI_ATTR VkResult VKAPI_CALL vkReleasePerformanceConfigurationINTEL(
9907 VkDevice device,
9908 VkPerformanceConfigurationINTEL configuration);
9909
9910 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSetPerformanceConfigurationINTEL(
9911 VkQueue queue,
9912 VkPerformanceConfigurationINTEL configuration);
9913
9914 VKAPI_ATTR VkResult VKAPI_CALL vkGetPerformanceParameterINTEL(
9915 VkDevice device,
9916 VkPerformanceParameterTypeINTEL parameter,
9917 VkPerformanceValueINTEL* pValue);
9918 #endif
9919
9920
9921 #define VK_EXT_pci_bus_info 1
9922 #define VK_EXT_PCI_BUS_INFO_SPEC_VERSION 2
9923 #define VK_EXT_PCI_BUS_INFO_EXTENSION_NAME "VK_EXT_pci_bus_info"
9924 typedef struct VkPhysicalDevicePCIBusInfoPropertiesEXT {
9925 VkStructureType sType;
9926 void* pNext;
9927 uint32_t pciDomain;
9928 uint32_t pciBus;
9929 uint32_t pciDevice;
9930 uint32_t pciFunction;
9931 } VkPhysicalDevicePCIBusInfoPropertiesEXT;
9932
9933
9934
9935 #define VK_AMD_display_native_hdr 1
9936 #define VK_AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION 1
9937 #define VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME "VK_AMD_display_native_hdr"
9938 typedef struct VkDisplayNativeHdrSurfaceCapabilitiesAMD {
9939 VkStructureType sType;
9940 void* pNext;
9941 VkBool32 localDimmingSupport;
9942 } VkDisplayNativeHdrSurfaceCapabilitiesAMD;
9943
9944 typedef struct VkSwapchainDisplayNativeHdrCreateInfoAMD {
9945 VkStructureType sType;
9946 const void* pNext;
9947 VkBool32 localDimmingEnable;
9948 } VkSwapchainDisplayNativeHdrCreateInfoAMD;
9949
9950 typedef void (VKAPI_PTR *PFN_vkSetLocalDimmingAMD)(VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable);
9951
9952 #ifndef VK_NO_PROTOTYPES
9953 VKAPI_ATTR void VKAPI_CALL vkSetLocalDimmingAMD(
9954 VkDevice device,
9955 VkSwapchainKHR swapChain,
9956 VkBool32 localDimmingEnable);
9957 #endif
9958
9959
9960 #define VK_EXT_fragment_density_map 1
9961 #define VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION 1
9962 #define VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME "VK_EXT_fragment_density_map"
9963 typedef struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT {
9964 VkStructureType sType;
9965 void* pNext;
9966 VkBool32 fragmentDensityMap;
9967 VkBool32 fragmentDensityMapDynamic;
9968 VkBool32 fragmentDensityMapNonSubsampledImages;
9969 } VkPhysicalDeviceFragmentDensityMapFeaturesEXT;
9970
9971 typedef struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT {
9972 VkStructureType sType;
9973 void* pNext;
9974 VkExtent2D minFragmentDensityTexelSize;
9975 VkExtent2D maxFragmentDensityTexelSize;
9976 VkBool32 fragmentDensityInvocations;
9977 } VkPhysicalDeviceFragmentDensityMapPropertiesEXT;
9978
9979 typedef struct VkRenderPassFragmentDensityMapCreateInfoEXT {
9980 VkStructureType sType;
9981 const void* pNext;
9982 VkAttachmentReference fragmentDensityMapAttachment;
9983 } VkRenderPassFragmentDensityMapCreateInfoEXT;
9984
9985
9986
9987 #define VK_EXT_scalar_block_layout 1
9988 #define VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION 1
9989 #define VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME "VK_EXT_scalar_block_layout"
9990 typedef VkPhysicalDeviceScalarBlockLayoutFeatures VkPhysicalDeviceScalarBlockLayoutFeaturesEXT;
9991
9992
9993
9994 #define VK_GOOGLE_hlsl_functionality1 1
9995 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION 1
9996 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME "VK_GOOGLE_hlsl_functionality1"
9997
9998
9999 #define VK_GOOGLE_decorate_string 1
10000 #define VK_GOOGLE_DECORATE_STRING_SPEC_VERSION 1
10001 #define VK_GOOGLE_DECORATE_STRING_EXTENSION_NAME "VK_GOOGLE_decorate_string"
10002
10003
10004 #define VK_EXT_subgroup_size_control 1
10005 #define VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION 2
10006 #define VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME "VK_EXT_subgroup_size_control"
10007 typedef struct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT {
10008 VkStructureType sType;
10009 void* pNext;
10010 VkBool32 subgroupSizeControl;
10011 VkBool32 computeFullSubgroups;
10012 } VkPhysicalDeviceSubgroupSizeControlFeaturesEXT;
10013
10014 typedef struct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT {
10015 VkStructureType sType;
10016 void* pNext;
10017 uint32_t minSubgroupSize;
10018 uint32_t maxSubgroupSize;
10019 uint32_t maxComputeWorkgroupSubgroups;
10020 VkShaderStageFlags requiredSubgroupSizeStages;
10021 } VkPhysicalDeviceSubgroupSizeControlPropertiesEXT;
10022
10023 typedef struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT {
10024 VkStructureType sType;
10025 void* pNext;
10026 uint32_t requiredSubgroupSize;
10027 } VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT;
10028
10029
10030
10031 #define VK_AMD_shader_core_properties2 1
10032 #define VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION 1
10033 #define VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME "VK_AMD_shader_core_properties2"
10034
10035 typedef enum VkShaderCorePropertiesFlagBitsAMD {
10036 VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF
10037 } VkShaderCorePropertiesFlagBitsAMD;
10038 typedef VkFlags VkShaderCorePropertiesFlagsAMD;
10039 typedef struct VkPhysicalDeviceShaderCoreProperties2AMD {
10040 VkStructureType sType;
10041 void* pNext;
10042 VkShaderCorePropertiesFlagsAMD shaderCoreFeatures;
10043 uint32_t activeComputeUnitCount;
10044 } VkPhysicalDeviceShaderCoreProperties2AMD;
10045
10046
10047
10048 #define VK_AMD_device_coherent_memory 1
10049 #define VK_AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION 1
10050 #define VK_AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME "VK_AMD_device_coherent_memory"
10051 typedef struct VkPhysicalDeviceCoherentMemoryFeaturesAMD {
10052 VkStructureType sType;
10053 void* pNext;
10054 VkBool32 deviceCoherentMemory;
10055 } VkPhysicalDeviceCoherentMemoryFeaturesAMD;
10056
10057
10058
10059 #define VK_EXT_memory_budget 1
10060 #define VK_EXT_MEMORY_BUDGET_SPEC_VERSION 1
10061 #define VK_EXT_MEMORY_BUDGET_EXTENSION_NAME "VK_EXT_memory_budget"
10062 typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT {
10063 VkStructureType sType;
10064 void* pNext;
10065 VkDeviceSize heapBudget[VK_MAX_MEMORY_HEAPS];
10066 VkDeviceSize heapUsage[VK_MAX_MEMORY_HEAPS];
10067 } VkPhysicalDeviceMemoryBudgetPropertiesEXT;
10068
10069
10070
10071 #define VK_EXT_memory_priority 1
10072 #define VK_EXT_MEMORY_PRIORITY_SPEC_VERSION 1
10073 #define VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME "VK_EXT_memory_priority"
10074 typedef struct VkPhysicalDeviceMemoryPriorityFeaturesEXT {
10075 VkStructureType sType;
10076 void* pNext;
10077 VkBool32 memoryPriority;
10078 } VkPhysicalDeviceMemoryPriorityFeaturesEXT;
10079
10080 typedef struct VkMemoryPriorityAllocateInfoEXT {
10081 VkStructureType sType;
10082 const void* pNext;
10083 float priority;
10084 } VkMemoryPriorityAllocateInfoEXT;
10085
10086
10087
10088 #define VK_NV_dedicated_allocation_image_aliasing 1
10089 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION 1
10090 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME "VK_NV_dedicated_allocation_image_aliasing"
10091 typedef struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
10092 VkStructureType sType;
10093 void* pNext;
10094 VkBool32 dedicatedAllocationImageAliasing;
10095 } VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV;
10096
10097
10098
10099 #define VK_EXT_buffer_device_address 1
10100 #define VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 2
10101 #define VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_EXT_buffer_device_address"
10102 typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT {
10103 VkStructureType sType;
10104 void* pNext;
10105 VkBool32 bufferDeviceAddress;
10106 VkBool32 bufferDeviceAddressCaptureReplay;
10107 VkBool32 bufferDeviceAddressMultiDevice;
10108 } VkPhysicalDeviceBufferDeviceAddressFeaturesEXT;
10109
10110 typedef VkPhysicalDeviceBufferDeviceAddressFeaturesEXT VkPhysicalDeviceBufferAddressFeaturesEXT;
10111
10112 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoEXT;
10113
10114 typedef struct VkBufferDeviceAddressCreateInfoEXT {
10115 VkStructureType sType;
10116 const void* pNext;
10117 VkDeviceAddress deviceAddress;
10118 } VkBufferDeviceAddressCreateInfoEXT;
10119
10120 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressEXT)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
10121
10122 #ifndef VK_NO_PROTOTYPES
10123 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressEXT(
10124 VkDevice device,
10125 const VkBufferDeviceAddressInfo* pInfo);
10126 #endif
10127
10128
10129 #define VK_EXT_tooling_info 1
10130 #define VK_EXT_TOOLING_INFO_SPEC_VERSION 1
10131 #define VK_EXT_TOOLING_INFO_EXTENSION_NAME "VK_EXT_tooling_info"
10132
10133 typedef enum VkToolPurposeFlagBitsEXT {
10134 VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = 0x00000001,
10135 VK_TOOL_PURPOSE_PROFILING_BIT_EXT = 0x00000002,
10136 VK_TOOL_PURPOSE_TRACING_BIT_EXT = 0x00000004,
10137 VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = 0x00000008,
10138 VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = 0x00000010,
10139 VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 0x00000020,
10140 VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 0x00000040,
10141 VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
10142 } VkToolPurposeFlagBitsEXT;
10143 typedef VkFlags VkToolPurposeFlagsEXT;
10144 typedef struct VkPhysicalDeviceToolPropertiesEXT {
10145 VkStructureType sType;
10146 void* pNext;
10147 char name[VK_MAX_EXTENSION_NAME_SIZE];
10148 char version[VK_MAX_EXTENSION_NAME_SIZE];
10149 VkToolPurposeFlagsEXT purposes;
10150 char description[VK_MAX_DESCRIPTION_SIZE];
10151 char layer[VK_MAX_EXTENSION_NAME_SIZE];
10152 } VkPhysicalDeviceToolPropertiesEXT;
10153
10154 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceToolPropertiesEXT)(VkPhysicalDevice physicalDevice, uint32_t* pToolCount, VkPhysicalDeviceToolPropertiesEXT* pToolProperties);
10155
10156 #ifndef VK_NO_PROTOTYPES
10157 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceToolPropertiesEXT(
10158 VkPhysicalDevice physicalDevice,
10159 uint32_t* pToolCount,
10160 VkPhysicalDeviceToolPropertiesEXT* pToolProperties);
10161 #endif
10162
10163
10164 #define VK_EXT_separate_stencil_usage 1
10165 #define VK_EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION 1
10166 #define VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME "VK_EXT_separate_stencil_usage"
10167 typedef VkImageStencilUsageCreateInfo VkImageStencilUsageCreateInfoEXT;
10168
10169
10170
10171 #define VK_EXT_validation_features 1
10172 #define VK_EXT_VALIDATION_FEATURES_SPEC_VERSION 3
10173 #define VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME "VK_EXT_validation_features"
10174
10175 typedef enum VkValidationFeatureEnableEXT {
10176 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT = 0,
10177 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT = 1,
10178 VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT = 2,
10179 VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT = 3,
10180 VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT = 0x7FFFFFFF
10181 } VkValidationFeatureEnableEXT;
10182
10183 typedef enum VkValidationFeatureDisableEXT {
10184 VK_VALIDATION_FEATURE_DISABLE_ALL_EXT = 0,
10185 VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT = 1,
10186 VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT = 2,
10187 VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT = 3,
10188 VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT = 4,
10189 VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT = 5,
10190 VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT = 6,
10191 VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT = 0x7FFFFFFF
10192 } VkValidationFeatureDisableEXT;
10193 typedef struct VkValidationFeaturesEXT {
10194 VkStructureType sType;
10195 const void* pNext;
10196 uint32_t enabledValidationFeatureCount;
10197 const VkValidationFeatureEnableEXT* pEnabledValidationFeatures;
10198 uint32_t disabledValidationFeatureCount;
10199 const VkValidationFeatureDisableEXT* pDisabledValidationFeatures;
10200 } VkValidationFeaturesEXT;
10201
10202
10203
10204 #define VK_NV_cooperative_matrix 1
10205 #define VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION 1
10206 #define VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_NV_cooperative_matrix"
10207
10208 typedef enum VkComponentTypeNV {
10209 VK_COMPONENT_TYPE_FLOAT16_NV = 0,
10210 VK_COMPONENT_TYPE_FLOAT32_NV = 1,
10211 VK_COMPONENT_TYPE_FLOAT64_NV = 2,
10212 VK_COMPONENT_TYPE_SINT8_NV = 3,
10213 VK_COMPONENT_TYPE_SINT16_NV = 4,
10214 VK_COMPONENT_TYPE_SINT32_NV = 5,
10215 VK_COMPONENT_TYPE_SINT64_NV = 6,
10216 VK_COMPONENT_TYPE_UINT8_NV = 7,
10217 VK_COMPONENT_TYPE_UINT16_NV = 8,
10218 VK_COMPONENT_TYPE_UINT32_NV = 9,
10219 VK_COMPONENT_TYPE_UINT64_NV = 10,
10220 VK_COMPONENT_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
10221 } VkComponentTypeNV;
10222
10223 typedef enum VkScopeNV {
10224 VK_SCOPE_DEVICE_NV = 1,
10225 VK_SCOPE_WORKGROUP_NV = 2,
10226 VK_SCOPE_SUBGROUP_NV = 3,
10227 VK_SCOPE_QUEUE_FAMILY_NV = 5,
10228 VK_SCOPE_MAX_ENUM_NV = 0x7FFFFFFF
10229 } VkScopeNV;
10230 typedef struct VkCooperativeMatrixPropertiesNV {
10231 VkStructureType sType;
10232 void* pNext;
10233 uint32_t MSize;
10234 uint32_t NSize;
10235 uint32_t KSize;
10236 VkComponentTypeNV AType;
10237 VkComponentTypeNV BType;
10238 VkComponentTypeNV CType;
10239 VkComponentTypeNV DType;
10240 VkScopeNV scope;
10241 } VkCooperativeMatrixPropertiesNV;
10242
10243 typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesNV {
10244 VkStructureType sType;
10245 void* pNext;
10246 VkBool32 cooperativeMatrix;
10247 VkBool32 cooperativeMatrixRobustBufferAccess;
10248 } VkPhysicalDeviceCooperativeMatrixFeaturesNV;
10249
10250 typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesNV {
10251 VkStructureType sType;
10252 void* pNext;
10253 VkShaderStageFlags cooperativeMatrixSupportedStages;
10254 } VkPhysicalDeviceCooperativeMatrixPropertiesNV;
10255
10256 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkCooperativeMatrixPropertiesNV* pProperties);
10257
10258 #ifndef VK_NO_PROTOTYPES
10259 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(
10260 VkPhysicalDevice physicalDevice,
10261 uint32_t* pPropertyCount,
10262 VkCooperativeMatrixPropertiesNV* pProperties);
10263 #endif
10264
10265
10266 #define VK_NV_coverage_reduction_mode 1
10267 #define VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION 1
10268 #define VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME "VK_NV_coverage_reduction_mode"
10269
10270 typedef enum VkCoverageReductionModeNV {
10271 VK_COVERAGE_REDUCTION_MODE_MERGE_NV = 0,
10272 VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV = 1,
10273 VK_COVERAGE_REDUCTION_MODE_MAX_ENUM_NV = 0x7FFFFFFF
10274 } VkCoverageReductionModeNV;
10275 typedef VkFlags VkPipelineCoverageReductionStateCreateFlagsNV;
10276 typedef struct VkPhysicalDeviceCoverageReductionModeFeaturesNV {
10277 VkStructureType sType;
10278 void* pNext;
10279 VkBool32 coverageReductionMode;
10280 } VkPhysicalDeviceCoverageReductionModeFeaturesNV;
10281
10282 typedef struct VkPipelineCoverageReductionStateCreateInfoNV {
10283 VkStructureType sType;
10284 const void* pNext;
10285 VkPipelineCoverageReductionStateCreateFlagsNV flags;
10286 VkCoverageReductionModeNV coverageReductionMode;
10287 } VkPipelineCoverageReductionStateCreateInfoNV;
10288
10289 typedef struct VkFramebufferMixedSamplesCombinationNV {
10290 VkStructureType sType;
10291 void* pNext;
10292 VkCoverageReductionModeNV coverageReductionMode;
10293 VkSampleCountFlagBits rasterizationSamples;
10294 VkSampleCountFlags depthStencilSamples;
10295 VkSampleCountFlags colorSamples;
10296 } VkFramebufferMixedSamplesCombinationNV;
10297
10298 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV)(VkPhysicalDevice physicalDevice, uint32_t* pCombinationCount, VkFramebufferMixedSamplesCombinationNV* pCombinations);
10299
10300 #ifndef VK_NO_PROTOTYPES
10301 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
10302 VkPhysicalDevice physicalDevice,
10303 uint32_t* pCombinationCount,
10304 VkFramebufferMixedSamplesCombinationNV* pCombinations);
10305 #endif
10306
10307
10308 #define VK_EXT_fragment_shader_interlock 1
10309 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION 1
10310 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME "VK_EXT_fragment_shader_interlock"
10311 typedef struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT {
10312 VkStructureType sType;
10313 void* pNext;
10314 VkBool32 fragmentShaderSampleInterlock;
10315 VkBool32 fragmentShaderPixelInterlock;
10316 VkBool32 fragmentShaderShadingRateInterlock;
10317 } VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT;
10318
10319
10320
10321 #define VK_EXT_ycbcr_image_arrays 1
10322 #define VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION 1
10323 #define VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME "VK_EXT_ycbcr_image_arrays"
10324 typedef struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT {
10325 VkStructureType sType;
10326 void* pNext;
10327 VkBool32 ycbcrImageArrays;
10328 } VkPhysicalDeviceYcbcrImageArraysFeaturesEXT;
10329
10330
10331
10332 #define VK_EXT_headless_surface 1
10333 #define VK_EXT_HEADLESS_SURFACE_SPEC_VERSION 1
10334 #define VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME "VK_EXT_headless_surface"
10335 typedef VkFlags VkHeadlessSurfaceCreateFlagsEXT;
10336 typedef struct VkHeadlessSurfaceCreateInfoEXT {
10337 VkStructureType sType;
10338 const void* pNext;
10339 VkHeadlessSurfaceCreateFlagsEXT flags;
10340 } VkHeadlessSurfaceCreateInfoEXT;
10341
10342 typedef VkResult (VKAPI_PTR *PFN_vkCreateHeadlessSurfaceEXT)(VkInstance instance, const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
10343
10344 #ifndef VK_NO_PROTOTYPES
10345 VKAPI_ATTR VkResult VKAPI_CALL vkCreateHeadlessSurfaceEXT(
10346 VkInstance instance,
10347 const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo,
10348 const VkAllocationCallbacks* pAllocator,
10349 VkSurfaceKHR* pSurface);
10350 #endif
10351
10352
10353 #define VK_EXT_line_rasterization 1
10354 #define VK_EXT_LINE_RASTERIZATION_SPEC_VERSION 1
10355 #define VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME "VK_EXT_line_rasterization"
10356
10357 typedef enum VkLineRasterizationModeEXT {
10358 VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT = 0,
10359 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT = 1,
10360 VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT = 2,
10361 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT = 3,
10362 VK_LINE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
10363 } VkLineRasterizationModeEXT;
10364 typedef struct VkPhysicalDeviceLineRasterizationFeaturesEXT {
10365 VkStructureType sType;
10366 void* pNext;
10367 VkBool32 rectangularLines;
10368 VkBool32 bresenhamLines;
10369 VkBool32 smoothLines;
10370 VkBool32 stippledRectangularLines;
10371 VkBool32 stippledBresenhamLines;
10372 VkBool32 stippledSmoothLines;
10373 } VkPhysicalDeviceLineRasterizationFeaturesEXT;
10374
10375 typedef struct VkPhysicalDeviceLineRasterizationPropertiesEXT {
10376 VkStructureType sType;
10377 void* pNext;
10378 uint32_t lineSubPixelPrecisionBits;
10379 } VkPhysicalDeviceLineRasterizationPropertiesEXT;
10380
10381 typedef struct VkPipelineRasterizationLineStateCreateInfoEXT {
10382 VkStructureType sType;
10383 const void* pNext;
10384 VkLineRasterizationModeEXT lineRasterizationMode;
10385 VkBool32 stippledLineEnable;
10386 uint32_t lineStippleFactor;
10387 uint16_t lineStipplePattern;
10388 } VkPipelineRasterizationLineStateCreateInfoEXT;
10389
10390 typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleEXT)(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern);
10391
10392 #ifndef VK_NO_PROTOTYPES
10393 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleEXT(
10394 VkCommandBuffer commandBuffer,
10395 uint32_t lineStippleFactor,
10396 uint16_t lineStipplePattern);
10397 #endif
10398
10399
10400 #define VK_EXT_host_query_reset 1
10401 #define VK_EXT_HOST_QUERY_RESET_SPEC_VERSION 1
10402 #define VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME "VK_EXT_host_query_reset"
10403 typedef VkPhysicalDeviceHostQueryResetFeatures VkPhysicalDeviceHostQueryResetFeaturesEXT;
10404
10405 typedef void (VKAPI_PTR *PFN_vkResetQueryPoolEXT)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount);
10406
10407 #ifndef VK_NO_PROTOTYPES
10408 VKAPI_ATTR void VKAPI_CALL vkResetQueryPoolEXT(
10409 VkDevice device,
10410 VkQueryPool queryPool,
10411 uint32_t firstQuery,
10412 uint32_t queryCount);
10413 #endif
10414
10415
10416 #define VK_EXT_index_type_uint8 1
10417 #define VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION 1
10418 #define VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_EXT_index_type_uint8"
10419 typedef struct VkPhysicalDeviceIndexTypeUint8FeaturesEXT {
10420 VkStructureType sType;
10421 void* pNext;
10422 VkBool32 indexTypeUint8;
10423 } VkPhysicalDeviceIndexTypeUint8FeaturesEXT;
10424
10425
10426
10427 #define VK_EXT_shader_demote_to_helper_invocation 1
10428 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION 1
10429 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME "VK_EXT_shader_demote_to_helper_invocation"
10430 typedef struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT {
10431 VkStructureType sType;
10432 void* pNext;
10433 VkBool32 shaderDemoteToHelperInvocation;
10434 } VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT;
10435
10436
10437
10438 #define VK_NV_device_generated_commands 1
10439 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutNV)
10440 #define VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION 3
10441 #define VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_NV_device_generated_commands"
10442
10443 typedef enum VkIndirectCommandsTokenTypeNV {
10444 VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV = 0,
10445 VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV = 1,
10446 VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV = 2,
10447 VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV = 3,
10448 VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV = 4,
10449 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV = 5,
10450 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV = 6,
10451 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV = 7,
10452 VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
10453 } VkIndirectCommandsTokenTypeNV;
10454
10455 typedef enum VkIndirectStateFlagBitsNV {
10456 VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV = 0x00000001,
10457 VK_INDIRECT_STATE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
10458 } VkIndirectStateFlagBitsNV;
10459 typedef VkFlags VkIndirectStateFlagsNV;
10460
10461 typedef enum VkIndirectCommandsLayoutUsageFlagBitsNV {
10462 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV = 0x00000001,
10463 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV = 0x00000002,
10464 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV = 0x00000004,
10465 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
10466 } VkIndirectCommandsLayoutUsageFlagBitsNV;
10467 typedef VkFlags VkIndirectCommandsLayoutUsageFlagsNV;
10468 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
10469 VkStructureType sType;
10470 void* pNext;
10471 uint32_t maxGraphicsShaderGroupCount;
10472 uint32_t maxIndirectSequenceCount;
10473 uint32_t maxIndirectCommandsTokenCount;
10474 uint32_t maxIndirectCommandsStreamCount;
10475 uint32_t maxIndirectCommandsTokenOffset;
10476 uint32_t maxIndirectCommandsStreamStride;
10477 uint32_t minSequencesCountBufferOffsetAlignment;
10478 uint32_t minSequencesIndexBufferOffsetAlignment;
10479 uint32_t minIndirectCommandsBufferOffsetAlignment;
10480 } VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV;
10481
10482 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
10483 VkStructureType sType;
10484 void* pNext;
10485 VkBool32 deviceGeneratedCommands;
10486 } VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV;
10487
10488 typedef struct VkGraphicsShaderGroupCreateInfoNV {
10489 VkStructureType sType;
10490 const void* pNext;
10491 uint32_t stageCount;
10492 const VkPipelineShaderStageCreateInfo* pStages;
10493 const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
10494 const VkPipelineTessellationStateCreateInfo* pTessellationState;
10495 } VkGraphicsShaderGroupCreateInfoNV;
10496
10497 typedef struct VkGraphicsPipelineShaderGroupsCreateInfoNV {
10498 VkStructureType sType;
10499 const void* pNext;
10500 uint32_t groupCount;
10501 const VkGraphicsShaderGroupCreateInfoNV* pGroups;
10502 uint32_t pipelineCount;
10503 const VkPipeline* pPipelines;
10504 } VkGraphicsPipelineShaderGroupsCreateInfoNV;
10505
10506 typedef struct VkBindShaderGroupIndirectCommandNV {
10507 uint32_t groupIndex;
10508 } VkBindShaderGroupIndirectCommandNV;
10509
10510 typedef struct VkBindIndexBufferIndirectCommandNV {
10511 VkDeviceAddress bufferAddress;
10512 uint32_t size;
10513 VkIndexType indexType;
10514 } VkBindIndexBufferIndirectCommandNV;
10515
10516 typedef struct VkBindVertexBufferIndirectCommandNV {
10517 VkDeviceAddress bufferAddress;
10518 uint32_t size;
10519 uint32_t stride;
10520 } VkBindVertexBufferIndirectCommandNV;
10521
10522 typedef struct VkSetStateFlagsIndirectCommandNV {
10523 uint32_t data;
10524 } VkSetStateFlagsIndirectCommandNV;
10525
10526 typedef struct VkIndirectCommandsStreamNV {
10527 VkBuffer buffer;
10528 VkDeviceSize offset;
10529 } VkIndirectCommandsStreamNV;
10530
10531 typedef struct VkIndirectCommandsLayoutTokenNV {
10532 VkStructureType sType;
10533 const void* pNext;
10534 VkIndirectCommandsTokenTypeNV tokenType;
10535 uint32_t stream;
10536 uint32_t offset;
10537 uint32_t vertexBindingUnit;
10538 VkBool32 vertexDynamicStride;
10539 VkPipelineLayout pushconstantPipelineLayout;
10540 VkShaderStageFlags pushconstantShaderStageFlags;
10541 uint32_t pushconstantOffset;
10542 uint32_t pushconstantSize;
10543 VkIndirectStateFlagsNV indirectStateFlags;
10544 uint32_t indexTypeCount;
10545 const VkIndexType* pIndexTypes;
10546 const uint32_t* pIndexTypeValues;
10547 } VkIndirectCommandsLayoutTokenNV;
10548
10549 typedef struct VkIndirectCommandsLayoutCreateInfoNV {
10550 VkStructureType sType;
10551 const void* pNext;
10552 VkIndirectCommandsLayoutUsageFlagsNV flags;
10553 VkPipelineBindPoint pipelineBindPoint;
10554 uint32_t tokenCount;
10555 const VkIndirectCommandsLayoutTokenNV* pTokens;
10556 uint32_t streamCount;
10557 const uint32_t* pStreamStrides;
10558 } VkIndirectCommandsLayoutCreateInfoNV;
10559
10560 typedef struct VkGeneratedCommandsInfoNV {
10561 VkStructureType sType;
10562 const void* pNext;
10563 VkPipelineBindPoint pipelineBindPoint;
10564 VkPipeline pipeline;
10565 VkIndirectCommandsLayoutNV indirectCommandsLayout;
10566 uint32_t streamCount;
10567 const VkIndirectCommandsStreamNV* pStreams;
10568 uint32_t sequencesCount;
10569 VkBuffer preprocessBuffer;
10570 VkDeviceSize preprocessOffset;
10571 VkDeviceSize preprocessSize;
10572 VkBuffer sequencesCountBuffer;
10573 VkDeviceSize sequencesCountOffset;
10574 VkBuffer sequencesIndexBuffer;
10575 VkDeviceSize sequencesIndexOffset;
10576 } VkGeneratedCommandsInfoNV;
10577
10578 typedef struct VkGeneratedCommandsMemoryRequirementsInfoNV {
10579 VkStructureType sType;
10580 const void* pNext;
10581 VkPipelineBindPoint pipelineBindPoint;
10582 VkPipeline pipeline;
10583 VkIndirectCommandsLayoutNV indirectCommandsLayout;
10584 uint32_t maxSequencesCount;
10585 } VkGeneratedCommandsMemoryRequirementsInfoNV;
10586
10587 typedef void (VKAPI_PTR *PFN_vkGetGeneratedCommandsMemoryRequirementsNV)(VkDevice device, const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2* pMemoryRequirements);
10588 typedef void (VKAPI_PTR *PFN_vkCmdPreprocessGeneratedCommandsNV)(VkCommandBuffer commandBuffer, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
10589 typedef void (VKAPI_PTR *PFN_vkCmdExecuteGeneratedCommandsNV)(VkCommandBuffer commandBuffer, VkBool32 isPreprocessed, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
10590 typedef void (VKAPI_PTR *PFN_vkCmdBindPipelineShaderGroupNV)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline, uint32_t groupIndex);
10591 typedef VkResult (VKAPI_PTR *PFN_vkCreateIndirectCommandsLayoutNV)(VkDevice device, const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNV* pIndirectCommandsLayout);
10592 typedef void (VKAPI_PTR *PFN_vkDestroyIndirectCommandsLayoutNV)(VkDevice device, VkIndirectCommandsLayoutNV indirectCommandsLayout, const VkAllocationCallbacks* pAllocator);
10593
10594 #ifndef VK_NO_PROTOTYPES
10595 VKAPI_ATTR void VKAPI_CALL vkGetGeneratedCommandsMemoryRequirementsNV(
10596 VkDevice device,
10597 const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo,
10598 VkMemoryRequirements2* pMemoryRequirements);
10599
10600 VKAPI_ATTR void VKAPI_CALL vkCmdPreprocessGeneratedCommandsNV(
10601 VkCommandBuffer commandBuffer,
10602 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
10603
10604 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteGeneratedCommandsNV(
10605 VkCommandBuffer commandBuffer,
10606 VkBool32 isPreprocessed,
10607 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
10608
10609 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipelineShaderGroupNV(
10610 VkCommandBuffer commandBuffer,
10611 VkPipelineBindPoint pipelineBindPoint,
10612 VkPipeline pipeline,
10613 uint32_t groupIndex);
10614
10615 VKAPI_ATTR VkResult VKAPI_CALL vkCreateIndirectCommandsLayoutNV(
10616 VkDevice device,
10617 const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo,
10618 const VkAllocationCallbacks* pAllocator,
10619 VkIndirectCommandsLayoutNV* pIndirectCommandsLayout);
10620
10621 VKAPI_ATTR void VKAPI_CALL vkDestroyIndirectCommandsLayoutNV(
10622 VkDevice device,
10623 VkIndirectCommandsLayoutNV indirectCommandsLayout,
10624 const VkAllocationCallbacks* pAllocator);
10625 #endif
10626
10627
10628 #define VK_EXT_texel_buffer_alignment 1
10629 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION 1
10630 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME "VK_EXT_texel_buffer_alignment"
10631 typedef struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT {
10632 VkStructureType sType;
10633 void* pNext;
10634 VkBool32 texelBufferAlignment;
10635 } VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT;
10636
10637 typedef struct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT {
10638 VkStructureType sType;
10639 void* pNext;
10640 VkDeviceSize storageTexelBufferOffsetAlignmentBytes;
10641 VkBool32 storageTexelBufferOffsetSingleTexelAlignment;
10642 VkDeviceSize uniformTexelBufferOffsetAlignmentBytes;
10643 VkBool32 uniformTexelBufferOffsetSingleTexelAlignment;
10644 } VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT;
10645
10646
10647
10648 #define VK_QCOM_render_pass_transform 1
10649 #define VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION 1
10650 #define VK_QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME "VK_QCOM_render_pass_transform"
10651 typedef struct VkRenderPassTransformBeginInfoQCOM {
10652 VkStructureType sType;
10653 void* pNext;
10654 VkSurfaceTransformFlagBitsKHR transform;
10655 } VkRenderPassTransformBeginInfoQCOM;
10656
10657 typedef struct VkCommandBufferInheritanceRenderPassTransformInfoQCOM {
10658 VkStructureType sType;
10659 void* pNext;
10660 VkSurfaceTransformFlagBitsKHR transform;
10661 VkRect2D renderArea;
10662 } VkCommandBufferInheritanceRenderPassTransformInfoQCOM;
10663
10664
10665
10666 #define VK_EXT_robustness2 1
10667 #define VK_EXT_ROBUSTNESS_2_SPEC_VERSION 1
10668 #define VK_EXT_ROBUSTNESS_2_EXTENSION_NAME "VK_EXT_robustness2"
10669 typedef struct VkPhysicalDeviceRobustness2FeaturesEXT {
10670 VkStructureType sType;
10671 void* pNext;
10672 VkBool32 robustBufferAccess2;
10673 VkBool32 robustImageAccess2;
10674 VkBool32 nullDescriptor;
10675 } VkPhysicalDeviceRobustness2FeaturesEXT;
10676
10677 typedef struct VkPhysicalDeviceRobustness2PropertiesEXT {
10678 VkStructureType sType;
10679 void* pNext;
10680 VkDeviceSize robustStorageBufferAccessSizeAlignment;
10681 VkDeviceSize robustUniformBufferAccessSizeAlignment;
10682 } VkPhysicalDeviceRobustness2PropertiesEXT;
10683
10684
10685
10686 #define VK_EXT_custom_border_color 1
10687 #define VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION 12
10688 #define VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME "VK_EXT_custom_border_color"
10689 typedef struct VkSamplerCustomBorderColorCreateInfoEXT {
10690 VkStructureType sType;
10691 const void* pNext;
10692 VkClearColorValue customBorderColor;
10693 VkFormat format;
10694 } VkSamplerCustomBorderColorCreateInfoEXT;
10695
10696 typedef struct VkPhysicalDeviceCustomBorderColorPropertiesEXT {
10697 VkStructureType sType;
10698 void* pNext;
10699 uint32_t maxCustomBorderColorSamplers;
10700 } VkPhysicalDeviceCustomBorderColorPropertiesEXT;
10701
10702 typedef struct VkPhysicalDeviceCustomBorderColorFeaturesEXT {
10703 VkStructureType sType;
10704 void* pNext;
10705 VkBool32 customBorderColors;
10706 VkBool32 customBorderColorWithoutFormat;
10707 } VkPhysicalDeviceCustomBorderColorFeaturesEXT;
10708
10709
10710
10711 #define VK_GOOGLE_user_type 1
10712 #define VK_GOOGLE_USER_TYPE_SPEC_VERSION 1
10713 #define VK_GOOGLE_USER_TYPE_EXTENSION_NAME "VK_GOOGLE_user_type"
10714
10715
10716 #define VK_EXT_private_data 1
10717 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPrivateDataSlotEXT)
10718 #define VK_EXT_PRIVATE_DATA_SPEC_VERSION 1
10719 #define VK_EXT_PRIVATE_DATA_EXTENSION_NAME "VK_EXT_private_data"
10720
10721 typedef enum VkPrivateDataSlotCreateFlagBitsEXT {
10722 VK_PRIVATE_DATA_SLOT_CREATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
10723 } VkPrivateDataSlotCreateFlagBitsEXT;
10724 typedef VkFlags VkPrivateDataSlotCreateFlagsEXT;
10725 typedef struct VkPhysicalDevicePrivateDataFeaturesEXT {
10726 VkStructureType sType;
10727 void* pNext;
10728 VkBool32 privateData;
10729 } VkPhysicalDevicePrivateDataFeaturesEXT;
10730
10731 typedef struct VkDevicePrivateDataCreateInfoEXT {
10732 VkStructureType sType;
10733 const void* pNext;
10734 uint32_t privateDataSlotRequestCount;
10735 } VkDevicePrivateDataCreateInfoEXT;
10736
10737 typedef struct VkPrivateDataSlotCreateInfoEXT {
10738 VkStructureType sType;
10739 const void* pNext;
10740 VkPrivateDataSlotCreateFlagsEXT flags;
10741 } VkPrivateDataSlotCreateInfoEXT;
10742
10743 typedef VkResult (VKAPI_PTR *PFN_vkCreatePrivateDataSlotEXT)(VkDevice device, const VkPrivateDataSlotCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlotEXT* pPrivateDataSlot);
10744 typedef void (VKAPI_PTR *PFN_vkDestroyPrivateDataSlotEXT)(VkDevice device, VkPrivateDataSlotEXT privateDataSlot, const VkAllocationCallbacks* pAllocator);
10745 typedef VkResult (VKAPI_PTR *PFN_vkSetPrivateDataEXT)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlotEXT privateDataSlot, uint64_t data);
10746 typedef void (VKAPI_PTR *PFN_vkGetPrivateDataEXT)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlotEXT privateDataSlot, uint64_t* pData);
10747
10748 #ifndef VK_NO_PROTOTYPES
10749 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePrivateDataSlotEXT(
10750 VkDevice device,
10751 const VkPrivateDataSlotCreateInfoEXT* pCreateInfo,
10752 const VkAllocationCallbacks* pAllocator,
10753 VkPrivateDataSlotEXT* pPrivateDataSlot);
10754
10755 VKAPI_ATTR void VKAPI_CALL vkDestroyPrivateDataSlotEXT(
10756 VkDevice device,
10757 VkPrivateDataSlotEXT privateDataSlot,
10758 const VkAllocationCallbacks* pAllocator);
10759
10760 VKAPI_ATTR VkResult VKAPI_CALL vkSetPrivateDataEXT(
10761 VkDevice device,
10762 VkObjectType objectType,
10763 uint64_t objectHandle,
10764 VkPrivateDataSlotEXT privateDataSlot,
10765 uint64_t data);
10766
10767 VKAPI_ATTR void VKAPI_CALL vkGetPrivateDataEXT(
10768 VkDevice device,
10769 VkObjectType objectType,
10770 uint64_t objectHandle,
10771 VkPrivateDataSlotEXT privateDataSlot,
10772 uint64_t* pData);
10773 #endif
10774
10775
10776 #define VK_EXT_pipeline_creation_cache_control 1
10777 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION 3
10778 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME "VK_EXT_pipeline_creation_cache_control"
10779 typedef struct VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT {
10780 VkStructureType sType;
10781 void* pNext;
10782 VkBool32 pipelineCreationCacheControl;
10783 } VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT;
10784
10785
10786
10787 #define VK_NV_device_diagnostics_config 1
10788 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION 1
10789 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME "VK_NV_device_diagnostics_config"
10790
10791 typedef enum VkDeviceDiagnosticsConfigFlagBitsNV {
10792 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV = 0x00000001,
10793 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV = 0x00000002,
10794 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV = 0x00000004,
10795 VK_DEVICE_DIAGNOSTICS_CONFIG_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
10796 } VkDeviceDiagnosticsConfigFlagBitsNV;
10797 typedef VkFlags VkDeviceDiagnosticsConfigFlagsNV;
10798 typedef struct VkPhysicalDeviceDiagnosticsConfigFeaturesNV {
10799 VkStructureType sType;
10800 void* pNext;
10801 VkBool32 diagnosticsConfig;
10802 } VkPhysicalDeviceDiagnosticsConfigFeaturesNV;
10803
10804 typedef struct VkDeviceDiagnosticsConfigCreateInfoNV {
10805 VkStructureType sType;
10806 const void* pNext;
10807 VkDeviceDiagnosticsConfigFlagsNV flags;
10808 } VkDeviceDiagnosticsConfigCreateInfoNV;
10809
10810
10811
10812 #define VK_QCOM_render_pass_store_ops 1
10813 #define VK_QCOM_render_pass_store_ops_SPEC_VERSION 2
10814 #define VK_QCOM_render_pass_store_ops_EXTENSION_NAME "VK_QCOM_render_pass_store_ops"
10815
10816 #ifdef __cplusplus
10817 }
10818 #endif
10819
10820 #endif