1#ifndef VULKAN_CORE_H_
2#define VULKAN_CORE_H_ 1
3
4/*
5** Copyright 2015-2022 The Khronos Group Inc.
6**
7** SPDX-License-Identifier: Apache-2.0
8*/
9
10/*
11** This header is generated from the Khronos Vulkan XML API Registry.
12**
13*/
14
15
16#ifdef __cplusplus
17extern "C" {
18#endif
19
20
21
22#define VK_VERSION_1_0 1
23#include "vk_platform.h"
24
25#define VK_DEFINE_HANDLE(object) typedef struct object##_T* object;
26
27
28#ifndef VK_USE_64_BIT_PTR_DEFINES
29 #if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__)
30 #define VK_USE_64_BIT_PTR_DEFINES 1
31 #else
32 #define VK_USE_64_BIT_PTR_DEFINES 0
33 #endif
34#endif
35
36
37#ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE
38 #if (VK_USE_64_BIT_PTR_DEFINES==1)
39 #if (defined(__cplusplus) && (__cplusplus >= 201103L)) || (defined(_MSVC_LANG) && (_MSVC_LANG >= 201103L))
40 #define VK_NULL_HANDLE nullptr
41 #else
42 #define VK_NULL_HANDLE ((void*)0)
43 #endif
44 #else
45 #define VK_NULL_HANDLE 0ULL
46 #endif
47#endif
48#ifndef VK_NULL_HANDLE
49 #define VK_NULL_HANDLE 0
50#endif
51
52
53#ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE
54 #if (VK_USE_64_BIT_PTR_DEFINES==1)
55 #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object;
56 #else
57 #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t object;
58 #endif
59#endif
60
61// DEPRECATED: This define is deprecated. VK_MAKE_API_VERSION should be used instead.
62#define VK_MAKE_VERSION(major, minor, patch) \
63 ((((uint32_t)(major)) << 22) | (((uint32_t)(minor)) << 12) | ((uint32_t)(patch)))
64
65// DEPRECATED: This define has been removed. Specific version defines (e.g. VK_API_VERSION_1_0), or the VK_MAKE_VERSION macro, should be used instead.
66//#define VK_API_VERSION VK_MAKE_VERSION(1, 0, 0) // Patch version should always be set to 0
67
68#define VK_MAKE_API_VERSION(variant, major, minor, patch) \
69 ((((uint32_t)(variant)) << 29) | (((uint32_t)(major)) << 22) | (((uint32_t)(minor)) << 12) | ((uint32_t)(patch)))
70
71// Vulkan 1.0 version number
72#define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0
73
74// Version of this file
75#define VK_HEADER_VERSION 204
76
77// Complete version of this file
78#define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION)
79
80// DEPRECATED: This define is deprecated. VK_API_VERSION_MAJOR should be used instead.
81#define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22)
82
83// DEPRECATED: This define is deprecated. VK_API_VERSION_MINOR should be used instead.
84#define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3FFU)
85
86// DEPRECATED: This define is deprecated. VK_API_VERSION_PATCH should be used instead.
87#define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU)
88
89#define VK_API_VERSION_VARIANT(version) ((uint32_t)(version) >> 29)
90#define VK_API_VERSION_MAJOR(version) (((uint32_t)(version) >> 22) & 0x7FU)
91#define VK_API_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3FFU)
92#define VK_API_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU)
93typedef uint32_t VkBool32;
94typedef uint64_t VkDeviceAddress;
95typedef uint64_t VkDeviceSize;
96typedef uint32_t VkFlags;
97typedef uint32_t VkSampleMask;
98VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer)
99VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage)
100VK_DEFINE_HANDLE(VkInstance)
101VK_DEFINE_HANDLE(VkPhysicalDevice)
102VK_DEFINE_HANDLE(VkDevice)
103VK_DEFINE_HANDLE(VkQueue)
104VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphore)
105VK_DEFINE_HANDLE(VkCommandBuffer)
106VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFence)
107VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeviceMemory)
108VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkEvent)
109VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkQueryPool)
110VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferView)
111VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImageView)
112VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderModule)
113VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache)
114VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineLayout)
115VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipeline)
116VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass)
117VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout)
118VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSampler)
119VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSet)
120VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool)
121VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer)
122VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool)
123#define VK_UUID_SIZE 16U
124#define VK_ATTACHMENT_UNUSED (~0U)
125#define VK_FALSE 0U
126#define VK_LOD_CLAMP_NONE 1000.0F
127#define VK_QUEUE_FAMILY_IGNORED (~0U)
128#define VK_REMAINING_ARRAY_LAYERS (~0U)
129#define VK_REMAINING_MIP_LEVELS (~0U)
130#define VK_SUBPASS_EXTERNAL (~0U)
131#define VK_TRUE 1U
132#define VK_WHOLE_SIZE (~0ULL)
133#define VK_MAX_MEMORY_TYPES 32U
134#define VK_MAX_MEMORY_HEAPS 16U
135#define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE 256U
136#define VK_MAX_EXTENSION_NAME_SIZE 256U
137#define VK_MAX_DESCRIPTION_SIZE 256U
138
139typedef enum VkResult {
140 VK_SUCCESS = 0,
141 VK_NOT_READY = 1,
142 VK_TIMEOUT = 2,
143 VK_EVENT_SET = 3,
144 VK_EVENT_RESET = 4,
145 VK_INCOMPLETE = 5,
146 VK_ERROR_OUT_OF_HOST_MEMORY = -1,
147 VK_ERROR_OUT_OF_DEVICE_MEMORY = -2,
148 VK_ERROR_INITIALIZATION_FAILED = -3,
149 VK_ERROR_DEVICE_LOST = -4,
150 VK_ERROR_MEMORY_MAP_FAILED = -5,
151 VK_ERROR_LAYER_NOT_PRESENT = -6,
152 VK_ERROR_EXTENSION_NOT_PRESENT = -7,
153 VK_ERROR_FEATURE_NOT_PRESENT = -8,
154 VK_ERROR_INCOMPATIBLE_DRIVER = -9,
155 VK_ERROR_TOO_MANY_OBJECTS = -10,
156 VK_ERROR_FORMAT_NOT_SUPPORTED = -11,
157 VK_ERROR_FRAGMENTED_POOL = -12,
158 VK_ERROR_UNKNOWN = -13,
159 VK_ERROR_OUT_OF_POOL_MEMORY = -1000069000,
160 VK_ERROR_INVALID_EXTERNAL_HANDLE = -1000072003,
161 VK_ERROR_FRAGMENTATION = -1000161000,
162 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS = -1000257000,
163 VK_PIPELINE_COMPILE_REQUIRED = 1000297000,
164 VK_ERROR_SURFACE_LOST_KHR = -1000000000,
165 VK_ERROR_NATIVE_WINDOW_IN_USE_KHR = -1000000001,
166 VK_SUBOPTIMAL_KHR = 1000001003,
167 VK_ERROR_OUT_OF_DATE_KHR = -1000001004,
168 VK_ERROR_INCOMPATIBLE_DISPLAY_KHR = -1000003001,
169 VK_ERROR_VALIDATION_FAILED_EXT = -1000011001,
170 VK_ERROR_INVALID_SHADER_NV = -1000012000,
171 VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT = -1000158000,
172 VK_ERROR_NOT_PERMITTED_KHR = -1000174001,
173 VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT = -1000255000,
174 VK_THREAD_IDLE_KHR = 1000268000,
175 VK_THREAD_DONE_KHR = 1000268001,
176 VK_OPERATION_DEFERRED_KHR = 1000268002,
177 VK_OPERATION_NOT_DEFERRED_KHR = 1000268003,
178 VK_ERROR_OUT_OF_POOL_MEMORY_KHR = VK_ERROR_OUT_OF_POOL_MEMORY,
179 VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = VK_ERROR_INVALID_EXTERNAL_HANDLE,
180 VK_ERROR_FRAGMENTATION_EXT = VK_ERROR_FRAGMENTATION,
181 VK_ERROR_NOT_PERMITTED_EXT = VK_ERROR_NOT_PERMITTED_KHR,
182 VK_ERROR_INVALID_DEVICE_ADDRESS_EXT = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS,
183 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS,
184 VK_PIPELINE_COMPILE_REQUIRED_EXT = VK_PIPELINE_COMPILE_REQUIRED,
185 VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT = VK_PIPELINE_COMPILE_REQUIRED,
186 VK_RESULT_MAX_ENUM = 0x7FFFFFFF
187} VkResult;
188
189typedef enum VkStructureType {
190 VK_STRUCTURE_TYPE_APPLICATION_INFO = 0,
191 VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = 1,
192 VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO = 2,
193 VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO = 3,
194 VK_STRUCTURE_TYPE_SUBMIT_INFO = 4,
195 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO = 5,
196 VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = 6,
197 VK_STRUCTURE_TYPE_BIND_SPARSE_INFO = 7,
198 VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = 8,
199 VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO = 9,
200 VK_STRUCTURE_TYPE_EVENT_CREATE_INFO = 10,
201 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO = 11,
202 VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = 12,
203 VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO = 13,
204 VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = 14,
205 VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO = 15,
206 VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO = 16,
207 VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO = 17,
208 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO = 18,
209 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO = 19,
210 VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO = 20,
211 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO = 21,
212 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO = 22,
213 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO = 23,
214 VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO = 24,
215 VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO = 25,
216 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO = 26,
217 VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO = 27,
218 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO = 28,
219 VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO = 29,
220 VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO = 30,
221 VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO = 31,
222 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO = 32,
223 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO = 33,
224 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO = 34,
225 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = 35,
226 VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = 36,
227 VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO = 37,
228 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO = 38,
229 VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO = 39,
230 VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO = 40,
231 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO = 41,
232 VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO = 42,
233 VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = 43,
234 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER = 44,
235 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = 45,
236 VK_STRUCTURE_TYPE_MEMORY_BARRIER = 46,
237 VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO = 47,
238 VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO = 48,
239 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES = 1000094000,
240 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO = 1000157000,
241 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO = 1000157001,
242 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES = 1000083000,
243 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS = 1000127000,
244 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO = 1000127001,
245 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO = 1000060000,
246 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO = 1000060003,
247 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO = 1000060004,
248 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO = 1000060005,
249 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO = 1000060006,
250 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO = 1000060013,
251 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO = 1000060014,
252 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES = 1000070000,
253 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO = 1000070001,
254 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 = 1000146000,
255 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 = 1000146001,
256 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 = 1000146002,
257 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 = 1000146003,
258 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 = 1000146004,
259 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 = 1000059000,
260 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 = 1000059001,
261 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 = 1000059002,
262 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 = 1000059003,
263 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 = 1000059004,
264 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 = 1000059005,
265 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 = 1000059006,
266 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 = 1000059007,
267 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 = 1000059008,
268 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES = 1000117000,
269 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO = 1000117001,
270 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO = 1000117002,
271 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO = 1000117003,
272 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO = 1000053000,
273 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES = 1000053001,
274 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES = 1000053002,
275 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES = 1000120000,
276 VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO = 1000145000,
277 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES = 1000145001,
278 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES = 1000145002,
279 VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 = 1000145003,
280 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO = 1000156000,
281 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO = 1000156001,
282 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO = 1000156002,
283 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO = 1000156003,
284 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES = 1000156004,
285 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES = 1000156005,
286 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO = 1000085000,
287 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO = 1000071000,
288 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES = 1000071001,
289 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO = 1000071002,
290 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES = 1000071003,
291 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES = 1000071004,
292 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO = 1000072000,
293 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO = 1000072001,
294 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO = 1000072002,
295 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO = 1000112000,
296 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES = 1000112001,
297 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO = 1000113000,
298 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO = 1000077000,
299 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO = 1000076000,
300 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES = 1000076001,
301 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES = 1000168000,
302 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT = 1000168001,
303 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES = 1000063000,
304 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES = 49,
305 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES = 50,
306 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES = 51,
307 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES = 52,
308 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO = 1000147000,
309 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 = 1000109000,
310 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 = 1000109001,
311 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 = 1000109002,
312 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 = 1000109003,
313 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 = 1000109004,
314 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO = 1000109005,
315 VK_STRUCTURE_TYPE_SUBPASS_END_INFO = 1000109006,
316 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES = 1000177000,
317 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES = 1000196000,
318 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES = 1000180000,
319 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES = 1000082000,
320 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES = 1000197000,
321 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO = 1000161000,
322 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES = 1000161001,
323 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES = 1000161002,
324 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO = 1000161003,
325 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT = 1000161004,
326 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES = 1000199000,
327 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE = 1000199001,
328 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES = 1000221000,
329 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO = 1000246000,
330 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES = 1000130000,
331 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO = 1000130001,
332 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES = 1000211000,
333 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES = 1000108000,
334 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO = 1000108001,
335 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO = 1000108002,
336 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO = 1000108003,
337 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES = 1000253000,
338 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES = 1000175000,
339 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES = 1000241000,
340 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT = 1000241001,
341 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT = 1000241002,
342 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES = 1000261000,
343 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES = 1000207000,
344 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES = 1000207001,
345 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO = 1000207002,
346 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO = 1000207003,
347 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO = 1000207004,
348 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO = 1000207005,
349 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES = 1000257000,
350 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO = 1000244001,
351 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO = 1000257002,
352 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO = 1000257003,
353 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO = 1000257004,
354 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES = 53,
355 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES = 54,
356 VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO = 1000192000,
357 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES = 1000215000,
358 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES = 1000245000,
359 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES = 1000276000,
360 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES = 1000295000,
361 VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO = 1000295001,
362 VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO = 1000295002,
363 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES = 1000297000,
364 VK_STRUCTURE_TYPE_MEMORY_BARRIER_2 = 1000314000,
365 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2 = 1000314001,
366 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2 = 1000314002,
367 VK_STRUCTURE_TYPE_DEPENDENCY_INFO = 1000314003,
368 VK_STRUCTURE_TYPE_SUBMIT_INFO_2 = 1000314004,
369 VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO = 1000314005,
370 VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO = 1000314006,
371 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES = 1000314007,
372 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES = 1000325000,
373 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES = 1000335000,
374 VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2 = 1000337000,
375 VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2 = 1000337001,
376 VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2 = 1000337002,
377 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2 = 1000337003,
378 VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2 = 1000337004,
379 VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2 = 1000337005,
380 VK_STRUCTURE_TYPE_BUFFER_COPY_2 = 1000337006,
381 VK_STRUCTURE_TYPE_IMAGE_COPY_2 = 1000337007,
382 VK_STRUCTURE_TYPE_IMAGE_BLIT_2 = 1000337008,
383 VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2 = 1000337009,
384 VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2 = 1000337010,
385 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES = 1000225000,
386 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO = 1000225001,
387 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES = 1000225002,
388 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES = 1000138000,
389 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES = 1000138001,
390 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK = 1000138002,
391 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO = 1000138003,
392 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES = 1000066000,
393 VK_STRUCTURE_TYPE_RENDERING_INFO = 1000044000,
394 VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO = 1000044001,
395 VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO = 1000044002,
396 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES = 1000044003,
397 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO = 1000044004,
398 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES = 1000280000,
399 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES = 1000280001,
400 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES = 1000281001,
401 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3 = 1000360000,
402 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES = 1000413000,
403 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES = 1000413001,
404 VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS = 1000413002,
405 VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS = 1000413003,
406 VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR = 1000001000,
407 VK_STRUCTURE_TYPE_PRESENT_INFO_KHR = 1000001001,
408 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR = 1000060007,
409 VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR = 1000060008,
410 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR = 1000060009,
411 VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR = 1000060010,
412 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR = 1000060011,
413 VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR = 1000060012,
414 VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR = 1000002000,
415 VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR = 1000002001,
416 VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR = 1000003000,
417 VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR = 1000004000,
418 VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR = 1000005000,
419 VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR = 1000006000,
420 VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR = 1000008000,
421 VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR = 1000009000,
422 VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT = 1000011000,
423 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD = 1000018000,
424 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT = 1000022000,
425 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT = 1000022001,
426 VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT = 1000022002,
427#ifdef VK_ENABLE_BETA_EXTENSIONS
428 VK_STRUCTURE_TYPE_VIDEO_PROFILE_KHR = 1000023000,
429#endif
430#ifdef VK_ENABLE_BETA_EXTENSIONS
431 VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR = 1000023001,
432#endif
433#ifdef VK_ENABLE_BETA_EXTENSIONS
434 VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_KHR = 1000023002,
435#endif
436#ifdef VK_ENABLE_BETA_EXTENSIONS
437 VK_STRUCTURE_TYPE_VIDEO_GET_MEMORY_PROPERTIES_KHR = 1000023003,
438#endif
439#ifdef VK_ENABLE_BETA_EXTENSIONS
440 VK_STRUCTURE_TYPE_VIDEO_BIND_MEMORY_KHR = 1000023004,
441#endif
442#ifdef VK_ENABLE_BETA_EXTENSIONS
443 VK_STRUCTURE_TYPE_VIDEO_SESSION_CREATE_INFO_KHR = 1000023005,
444#endif
445#ifdef VK_ENABLE_BETA_EXTENSIONS
446 VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000023006,
447#endif
448#ifdef VK_ENABLE_BETA_EXTENSIONS
449 VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR = 1000023007,
450#endif
451#ifdef VK_ENABLE_BETA_EXTENSIONS
452 VK_STRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHR = 1000023008,
453#endif
454#ifdef VK_ENABLE_BETA_EXTENSIONS
455 VK_STRUCTURE_TYPE_VIDEO_END_CODING_INFO_KHR = 1000023009,
456#endif
457#ifdef VK_ENABLE_BETA_EXTENSIONS
458 VK_STRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHR = 1000023010,
459#endif
460#ifdef VK_ENABLE_BETA_EXTENSIONS
461 VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_KHR = 1000023011,
462#endif
463#ifdef VK_ENABLE_BETA_EXTENSIONS
464 VK_STRUCTURE_TYPE_VIDEO_QUEUE_FAMILY_PROPERTIES_2_KHR = 1000023012,
465#endif
466#ifdef VK_ENABLE_BETA_EXTENSIONS
467 VK_STRUCTURE_TYPE_VIDEO_PROFILES_KHR = 1000023013,
468#endif
469#ifdef VK_ENABLE_BETA_EXTENSIONS
470 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR = 1000023014,
471#endif
472#ifdef VK_ENABLE_BETA_EXTENSIONS
473 VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR = 1000023015,
474#endif
475#ifdef VK_ENABLE_BETA_EXTENSIONS
476 VK_STRUCTURE_TYPE_QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_2_KHR = 1000023016,
477#endif
478#ifdef VK_ENABLE_BETA_EXTENSIONS
479 VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR = 1000024000,
480#endif
481 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000,
482 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001,
483 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV = 1000026002,
484 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT = 1000028000,
485 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT = 1000028001,
486 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT = 1000028002,
487 VK_STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX = 1000029000,
488 VK_STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX = 1000029001,
489 VK_STRUCTURE_TYPE_CU_LAUNCH_INFO_NVX = 1000029002,
490 VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX = 1000030000,
491 VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX = 1000030001,
492#ifdef VK_ENABLE_BETA_EXTENSIONS
493 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT = 1000038000,
494#endif
495#ifdef VK_ENABLE_BETA_EXTENSIONS
496 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_EXT = 1000038001,
497#endif
498#ifdef VK_ENABLE_BETA_EXTENSIONS
499 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000038002,
500#endif
501#ifdef VK_ENABLE_BETA_EXTENSIONS
502 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT = 1000038003,
503#endif
504#ifdef VK_ENABLE_BETA_EXTENSIONS
505 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT = 1000038004,
506#endif
507#ifdef VK_ENABLE_BETA_EXTENSIONS
508 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT = 1000038005,
509#endif
510#ifdef VK_ENABLE_BETA_EXTENSIONS
511 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_EXT = 1000038006,
512#endif
513#ifdef VK_ENABLE_BETA_EXTENSIONS
514 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_EXT = 1000038007,
515#endif
516#ifdef VK_ENABLE_BETA_EXTENSIONS
517 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_EXT = 1000038008,
518#endif
519#ifdef VK_ENABLE_BETA_EXTENSIONS
520 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_EXT = 1000038009,
521#endif
522#ifdef VK_ENABLE_BETA_EXTENSIONS
523 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT = 1000038010,
524#endif
525#ifdef VK_ENABLE_BETA_EXTENSIONS
526 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_EXT = 1000039000,
527#endif
528#ifdef VK_ENABLE_BETA_EXTENSIONS
529 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_CREATE_INFO_EXT = 1000039001,
530#endif
531#ifdef VK_ENABLE_BETA_EXTENSIONS
532 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000039002,
533#endif
534#ifdef VK_ENABLE_BETA_EXTENSIONS
535 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT = 1000039003,
536#endif
537#ifdef VK_ENABLE_BETA_EXTENSIONS
538 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_VCL_FRAME_INFO_EXT = 1000039004,
539#endif
540#ifdef VK_ENABLE_BETA_EXTENSIONS
541 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_EXT = 1000039005,
542#endif
543#ifdef VK_ENABLE_BETA_EXTENSIONS
544 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_EXT = 1000039006,
545#endif
546#ifdef VK_ENABLE_BETA_EXTENSIONS
547 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_EMIT_PICTURE_PARAMETERS_EXT = 1000039007,
548#endif
549#ifdef VK_ENABLE_BETA_EXTENSIONS
550 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_EXT = 1000039008,
551#endif
552#ifdef VK_ENABLE_BETA_EXTENSIONS
553 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_REFERENCE_LISTS_EXT = 1000039009,
554#endif
555#ifdef VK_ENABLE_BETA_EXTENSIONS
556 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_EXT = 1000039010,
557#endif
558#ifdef VK_ENABLE_BETA_EXTENSIONS
559 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_EXT = 1000039011,
560#endif
561#ifdef VK_ENABLE_BETA_EXTENSIONS
562 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_EXT = 1000040000,
563#endif
564#ifdef VK_ENABLE_BETA_EXTENSIONS
565 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_CREATE_INFO_EXT = 1000040001,
566#endif
567#ifdef VK_ENABLE_BETA_EXTENSIONS
568 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_EXT = 1000040002,
569#endif
570#ifdef VK_ENABLE_BETA_EXTENSIONS
571 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_MVC_EXT = 1000040003,
572#endif
573#ifdef VK_ENABLE_BETA_EXTENSIONS
574 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_EXT = 1000040004,
575#endif
576#ifdef VK_ENABLE_BETA_EXTENSIONS
577 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000040005,
578#endif
579#ifdef VK_ENABLE_BETA_EXTENSIONS
580 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT = 1000040006,
581#endif
582#ifdef VK_ENABLE_BETA_EXTENSIONS
583 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT = 1000040007,
584#endif
585 VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000,
586 VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000044006,
587 VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT = 1000044007,
588 VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD = 1000044008,
589 VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX = 1000044009,
590 VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP = 1000049000,
591 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV = 1000050000,
592 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = 1000056000,
593 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV = 1000056001,
594 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057000,
595 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057001,
596 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV = 1000058000,
597 VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT = 1000061000,
598 VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN = 1000062000,
599 VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT = 1000067000,
600 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT = 1000067001,
601 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073000,
602 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073001,
603 VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR = 1000073002,
604 VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR = 1000073003,
605 VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR = 1000074000,
606 VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR = 1000074001,
607 VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR = 1000074002,
608 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR = 1000075000,
609 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078000,
610 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078001,
611 VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR = 1000078002,
612 VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR = 1000078003,
613 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR = 1000079000,
614 VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR = 1000079001,
615 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR = 1000080000,
616 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT = 1000081000,
617 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT = 1000081001,
618 VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT = 1000081002,
619 VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR = 1000084000,
620 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV = 1000087000,
621 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT = 1000090000,
622 VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT = 1000091000,
623 VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT = 1000091001,
624 VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT = 1000091002,
625 VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT = 1000091003,
626 VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE = 1000092000,
627 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX = 1000097000,
628 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV = 1000098000,
629 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT = 1000099000,
630 VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT = 1000099001,
631 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT = 1000101000,
632 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT = 1000101001,
633 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT = 1000102000,
634 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT = 1000102001,
635 VK_STRUCTURE_TYPE_HDR_METADATA_EXT = 1000105000,
636 VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR = 1000111000,
637 VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114000,
638 VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114001,
639 VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR = 1000114002,
640 VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR = 1000115000,
641 VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR = 1000115001,
642 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR = 1000116000,
643 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR = 1000116001,
644 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR = 1000116002,
645 VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR = 1000116003,
646 VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR = 1000116004,
647 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR = 1000116005,
648 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR = 1000116006,
649 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR = 1000119000,
650 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR = 1000119001,
651 VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR = 1000119002,
652 VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR = 1000121000,
653 VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR = 1000121001,
654 VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR = 1000121002,
655 VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR = 1000121003,
656 VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR = 1000121004,
657 VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK = 1000122000,
658 VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK = 1000123000,
659 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT = 1000128000,
660 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT = 1000128001,
661 VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT = 1000128002,
662 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT = 1000128003,
663 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT = 1000128004,
664 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID = 1000129000,
665 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID = 1000129001,
666 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID = 1000129002,
667 VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129003,
668 VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129004,
669 VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID = 1000129005,
670 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID = 1000129006,
671 VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT = 1000143000,
672 VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT = 1000143001,
673 VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT = 1000143002,
674 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT = 1000143003,
675 VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT = 1000143004,
676 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT = 1000148000,
677 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT = 1000148001,
678 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT = 1000148002,
679 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV = 1000149000,
680 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR = 1000150007,
681 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR = 1000150000,
682 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR = 1000150002,
683 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR = 1000150003,
684 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR = 1000150004,
685 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR = 1000150005,
686 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR = 1000150006,
687 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR = 1000150009,
688 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR = 1000150010,
689 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR = 1000150011,
690 VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR = 1000150012,
691 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR = 1000150013,
692 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR = 1000150014,
693 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR = 1000150017,
694 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR = 1000150020,
695 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR = 1000347000,
696 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR = 1000347001,
697 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR = 1000150015,
698 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR = 1000150016,
699 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR = 1000150018,
700 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR = 1000348013,
701 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV = 1000152000,
702 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV = 1000154000,
703 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV = 1000154001,
704 VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT = 1000158000,
705 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT = 1000158002,
706 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT = 1000158003,
707 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT = 1000158004,
708 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT = 1000158005,
709 VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT = 1000158006,
710 VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160000,
711 VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160001,
712#ifdef VK_ENABLE_BETA_EXTENSIONS
713 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR = 1000163000,
714#endif
715#ifdef VK_ENABLE_BETA_EXTENSIONS
716 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR = 1000163001,
717#endif
718 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV = 1000164000,
719 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV = 1000164001,
720 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV = 1000164002,
721 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV = 1000164005,
722 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV = 1000165000,
723 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV = 1000165001,
724 VK_STRUCTURE_TYPE_GEOMETRY_NV = 1000165003,
725 VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV = 1000165004,
726 VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV = 1000165005,
727 VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV = 1000165006,
728 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV = 1000165007,
729 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV = 1000165008,
730 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV = 1000165009,
731 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV = 1000165011,
732 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV = 1000165012,
733 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV = 1000166000,
734 VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV = 1000166001,
735 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT = 1000170000,
736 VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT = 1000170001,
737 VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT = 1000178000,
738 VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT = 1000178001,
739 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT = 1000178002,
740 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR = 1000181000,
741 VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD = 1000183000,
742 VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT = 1000184000,
743 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD = 1000185000,
744#ifdef VK_ENABLE_BETA_EXTENSIONS
745 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_EXT = 1000187000,
746#endif
747#ifdef VK_ENABLE_BETA_EXTENSIONS
748 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_CREATE_INFO_EXT = 1000187001,
749#endif
750#ifdef VK_ENABLE_BETA_EXTENSIONS
751 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000187002,
752#endif
753#ifdef VK_ENABLE_BETA_EXTENSIONS
754 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT = 1000187003,
755#endif
756#ifdef VK_ENABLE_BETA_EXTENSIONS
757 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_EXT = 1000187004,
758#endif
759#ifdef VK_ENABLE_BETA_EXTENSIONS
760 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_EXT = 1000187005,
761#endif
762#ifdef VK_ENABLE_BETA_EXTENSIONS
763 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_EXT = 1000187006,
764#endif
765 VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR = 1000174000,
766 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR = 1000388000,
767 VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR = 1000388001,
768 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD = 1000189000,
769 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT = 1000190000,
770 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT = 1000190001,
771 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT = 1000190002,
772 VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP = 1000191000,
773 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV = 1000201000,
774 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV = 1000202000,
775 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV = 1000202001,
776 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV = 1000203000,
777 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV = 1000204000,
778 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV = 1000205000,
779 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV = 1000205002,
780 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV = 1000206000,
781 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV = 1000206001,
782 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL = 1000209000,
783 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL = 1000210000,
784 VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL = 1000210001,
785 VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL = 1000210002,
786 VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL = 1000210003,
787 VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL = 1000210004,
788 VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL = 1000210005,
789 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT = 1000212000,
790 VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD = 1000213000,
791 VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD = 1000213001,
792 VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA = 1000214000,
793 VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT = 1000217000,
794 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT = 1000218000,
795 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT = 1000218001,
796 VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT = 1000218002,
797 VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000226000,
798 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR = 1000226001,
799 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR = 1000226002,
800 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR = 1000226003,
801 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR = 1000226004,
802 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD = 1000227000,
803 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD = 1000229000,
804 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT = 1000234000,
805 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT = 1000237000,
806 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT = 1000238000,
807 VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT = 1000238001,
808 VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR = 1000239000,
809 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV = 1000240000,
810 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT = 1000244000,
811 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT = 1000244002,
812 VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT = 1000247000,
813 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR = 1000248000,
814 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV = 1000249000,
815 VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249001,
816 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249002,
817 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV = 1000250000,
818 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV = 1000250001,
819 VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV = 1000250002,
820 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT = 1000251000,
821 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT = 1000252000,
822 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT = 1000254000,
823 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT = 1000254001,
824 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT = 1000254002,
825 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT = 1000255000,
826 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT = 1000255002,
827 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT = 1000255001,
828 VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT = 1000256000,
829 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT = 1000259000,
830 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT = 1000259001,
831 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT = 1000259002,
832 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT = 1000260000,
833 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT = 1000265000,
834 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT = 1000267000,
835 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR = 1000269000,
836 VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR = 1000269001,
837 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR = 1000269002,
838 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR = 1000269003,
839 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR = 1000269004,
840 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR = 1000269005,
841 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT = 1000273000,
842 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV = 1000277000,
843 VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV = 1000277001,
844 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV = 1000277002,
845 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV = 1000277003,
846 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV = 1000277004,
847 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV = 1000277005,
848 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV = 1000277006,
849 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV = 1000277007,
850 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV = 1000278000,
851 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV = 1000278001,
852 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT = 1000281000,
853 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM = 1000282000,
854 VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM = 1000282001,
855 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT = 1000284000,
856 VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT = 1000284001,
857 VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT = 1000284002,
858 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT = 1000286000,
859 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT = 1000286001,
860 VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT = 1000287000,
861 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT = 1000287001,
862 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT = 1000287002,
863 VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR = 1000290000,
864 VK_STRUCTURE_TYPE_PRESENT_ID_KHR = 1000294000,
865 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR = 1000294001,
866#ifdef VK_ENABLE_BETA_EXTENSIONS
867 VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR = 1000299000,
868#endif
869#ifdef VK_ENABLE_BETA_EXTENSIONS
870 VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR = 1000299001,
871#endif
872#ifdef VK_ENABLE_BETA_EXTENSIONS
873 VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR = 1000299002,
874#endif
875 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV = 1000300000,
876 VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV = 1000300001,
877 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV = 1000314008,
878 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV = 1000314009,
879 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR = 1000323000,
880 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV = 1000326000,
881 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV = 1000326001,
882 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV = 1000326002,
883 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV = 1000327000,
884 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV = 1000327001,
885 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV = 1000327002,
886 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT = 1000330000,
887 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT = 1000332000,
888 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT = 1000332001,
889 VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM = 1000333000,
890 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR = 1000336000,
891 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT = 1000340000,
892 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM = 1000342000,
893 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT = 1000344000,
894 VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT = 1000346000,
895 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE = 1000351000,
896 VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE = 1000351002,
897 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT = 1000352000,
898 VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT = 1000352001,
899 VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT = 1000352002,
900 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT = 1000353000,
901 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT = 1000355000,
902 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT = 1000355001,
903 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT = 1000356000,
904 VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364000,
905 VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA = 1000364001,
906 VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364002,
907 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365000,
908 VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365001,
909 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA = 1000366000,
910 VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA = 1000366001,
911 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA = 1000366002,
912 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA = 1000366003,
913 VK_STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA = 1000366004,
914 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA = 1000366005,
915 VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA = 1000366006,
916 VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA = 1000366007,
917 VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA = 1000366008,
918 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA = 1000366009,
919 VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI = 1000369000,
920 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI = 1000369001,
921 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI = 1000369002,
922 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI = 1000370000,
923 VK_STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV = 1000371000,
924 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV = 1000371001,
925 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT = 1000377000,
926 VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX = 1000378000,
927 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT = 1000381000,
928 VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT = 1000381001,
929 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT = 1000391000,
930 VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT = 1000391001,
931 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT = 1000392000,
932 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT = 1000392001,
933 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT = 1000411000,
934 VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT = 1000411001,
935 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT = 1000412000,
936 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM = 1000425000,
937 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM = 1000425001,
938 VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM = 1000425002,
939 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV = 1000430000,
940 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
941 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
942 VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
943 VK_STRUCTURE_TYPE_RENDERING_INFO_KHR = VK_STRUCTURE_TYPE_RENDERING_INFO,
944 VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR = VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO,
945 VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO,
946 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES,
947 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO,
948 VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_NV = VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD,
949 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO,
950 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES,
951 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,
952 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2,
953 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2,
954 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2,
955 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2,
956 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2,
957 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2,
958 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2,
959 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2,
960 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2,
961 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO,
962 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO,
963 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO,
964 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO,
965 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO,
966 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO,
967 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO,
968 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES,
969 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES,
970 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO,
971 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO,
972 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES,
973 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO,
974 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES,
975 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES,
976 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO,
977 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO,
978 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO,
979 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO,
980 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES,
981 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO,
982 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
983 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
984 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES,
985 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO,
986 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT,
987 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES,
988 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO,
989 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO,
990 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO,
991 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2,
992 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2,
993 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2,
994 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2,
995 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2,
996 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO,
997 VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_END_INFO,
998 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO,
999 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES,
1000 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO,
1001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES,
1002 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO,
1003 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO,
1004 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO,
1005 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
1006 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR,
1007 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS,
1008 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO,
1009 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES,
1010 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO,
1011 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES,
1012 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES,
1013 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK,
1014 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO,
1015 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2,
1016 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2,
1017 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2,
1018 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2,
1019 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2,
1020 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO,
1021 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO,
1022 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO,
1023 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO,
1024 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO,
1025 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,
1026 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,
1027 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO,
1028 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO,
1029 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO,
1030 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES,
1031 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES,
1032 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO,
1033 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT,
1034 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,
1035 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT,
1036 VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR,
1037 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES,
1038 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES,
1039 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES,
1040 VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO,
1041 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES,
1042 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES,
1043 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES,
1044 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE,
1045 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES,
1046 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES,
1047 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO,
1048 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO,
1049 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO,
1050 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO,
1051 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL = VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL,
1052 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES,
1053 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES,
1054 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES,
1055 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES,
1056 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO,
1057 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES,
1058 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES,
1059 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT,
1060 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT,
1061 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT,
1062 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
1063 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES,
1064 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO,
1065 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES,
1066 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES,
1067 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
1068 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO,
1069 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO,
1070 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO,
1071 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES,
1072 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES,
1073 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES,
1074 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES,
1075 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES,
1076 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES,
1077 VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO,
1078 VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO,
1079 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES,
1080 VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR = VK_STRUCTURE_TYPE_MEMORY_BARRIER_2,
1081 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2,
1082 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2,
1083 VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR = VK_STRUCTURE_TYPE_DEPENDENCY_INFO,
1084 VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR = VK_STRUCTURE_TYPE_SUBMIT_INFO_2,
1085 VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO,
1086 VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO,
1087 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES,
1088 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES,
1089 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES,
1090 VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2,
1091 VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2,
1092 VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2,
1093 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2,
1094 VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2,
1095 VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2,
1096 VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR = VK_STRUCTURE_TYPE_BUFFER_COPY_2,
1097 VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR = VK_STRUCTURE_TYPE_IMAGE_COPY_2,
1098 VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR = VK_STRUCTURE_TYPE_IMAGE_BLIT_2,
1099 VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR = VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2,
1100 VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR = VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2,
1101 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3,
1102 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR,
1103 VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT = VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR,
1104 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES,
1105 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES,
1106 VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS,
1107 VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS,
1108 VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF
1109} VkStructureType;
1110
1111typedef enum VkImageLayout {
1112 VK_IMAGE_LAYOUT_UNDEFINED = 0,
1113 VK_IMAGE_LAYOUT_GENERAL = 1,
1114 VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2,
1115 VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3,
1116 VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4,
1117 VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5,
1118 VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6,
1119 VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7,
1120 VK_IMAGE_LAYOUT_PREINITIALIZED = 8,
1121 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL = 1000117000,
1122 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL = 1000117001,
1123 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL = 1000241000,
1124 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL = 1000241001,
1125 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL = 1000241002,
1126 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL = 1000241003,
1127 VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL = 1000314000,
1128 VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL = 1000314001,
1129 VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002,
1130#ifdef VK_ENABLE_BETA_EXTENSIONS
1131 VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR = 1000024000,
1132#endif
1133#ifdef VK_ENABLE_BETA_EXTENSIONS
1134 VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR = 1000024001,
1135#endif
1136#ifdef VK_ENABLE_BETA_EXTENSIONS
1137 VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR = 1000024002,
1138#endif
1139 VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR = 1000111000,
1140 VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000,
1141 VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003,
1142#ifdef VK_ENABLE_BETA_EXTENSIONS
1143 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR = 1000299000,
1144#endif
1145#ifdef VK_ENABLE_BETA_EXTENSIONS
1146 VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR = 1000299001,
1147#endif
1148#ifdef VK_ENABLE_BETA_EXTENSIONS
1149 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR = 1000299002,
1150#endif
1151 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,
1152 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,
1153 VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR,
1154 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
1155 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
1156 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL,
1157 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL,
1158 VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL,
1159 VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL,
1160 VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF
1161} VkImageLayout;
1162
1163typedef enum VkObjectType {
1164 VK_OBJECT_TYPE_UNKNOWN = 0,
1165 VK_OBJECT_TYPE_INSTANCE = 1,
1166 VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2,
1167 VK_OBJECT_TYPE_DEVICE = 3,
1168 VK_OBJECT_TYPE_QUEUE = 4,
1169 VK_OBJECT_TYPE_SEMAPHORE = 5,
1170 VK_OBJECT_TYPE_COMMAND_BUFFER = 6,
1171 VK_OBJECT_TYPE_FENCE = 7,
1172 VK_OBJECT_TYPE_DEVICE_MEMORY = 8,
1173 VK_OBJECT_TYPE_BUFFER = 9,
1174 VK_OBJECT_TYPE_IMAGE = 10,
1175 VK_OBJECT_TYPE_EVENT = 11,
1176 VK_OBJECT_TYPE_QUERY_POOL = 12,
1177 VK_OBJECT_TYPE_BUFFER_VIEW = 13,
1178 VK_OBJECT_TYPE_IMAGE_VIEW = 14,
1179 VK_OBJECT_TYPE_SHADER_MODULE = 15,
1180 VK_OBJECT_TYPE_PIPELINE_CACHE = 16,
1181 VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17,
1182 VK_OBJECT_TYPE_RENDER_PASS = 18,
1183 VK_OBJECT_TYPE_PIPELINE = 19,
1184 VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20,
1185 VK_OBJECT_TYPE_SAMPLER = 21,
1186 VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22,
1187 VK_OBJECT_TYPE_DESCRIPTOR_SET = 23,
1188 VK_OBJECT_TYPE_FRAMEBUFFER = 24,
1189 VK_OBJECT_TYPE_COMMAND_POOL = 25,
1190 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION = 1000156000,
1191 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE = 1000085000,
1192 VK_OBJECT_TYPE_PRIVATE_DATA_SLOT = 1000295000,
1193 VK_OBJECT_TYPE_SURFACE_KHR = 1000000000,
1194 VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000,
1195 VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000,
1196 VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001,
1197 VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000,
1198#ifdef VK_ENABLE_BETA_EXTENSIONS
1199 VK_OBJECT_TYPE_VIDEO_SESSION_KHR = 1000023000,
1200#endif
1201#ifdef VK_ENABLE_BETA_EXTENSIONS
1202 VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR = 1000023001,
1203#endif
1204 VK_OBJECT_TYPE_CU_MODULE_NVX = 1000029000,
1205 VK_OBJECT_TYPE_CU_FUNCTION_NVX = 1000029001,
1206 VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000,
1207 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000,
1208 VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000,
1209 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000,
1210 VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL = 1000210000,
1211 VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR = 1000268000,
1212 VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV = 1000277000,
1213 VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA = 1000366000,
1214 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,
1215 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,
1216 VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = VK_OBJECT_TYPE_PRIVATE_DATA_SLOT,
1217 VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF
1218} VkObjectType;
1219
1220typedef enum VkPipelineCacheHeaderVersion {
1221 VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1,
1222 VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF
1223} VkPipelineCacheHeaderVersion;
1224
1225typedef enum VkVendorId {
1226 VK_VENDOR_ID_VIV = 0x10001,
1227 VK_VENDOR_ID_VSI = 0x10002,
1228 VK_VENDOR_ID_KAZAN = 0x10003,
1229 VK_VENDOR_ID_CODEPLAY = 0x10004,
1230 VK_VENDOR_ID_MESA = 0x10005,
1231 VK_VENDOR_ID_POCL = 0x10006,
1232 VK_VENDOR_ID_MAX_ENUM = 0x7FFFFFFF
1233} VkVendorId;
1234
1235typedef enum VkSystemAllocationScope {
1236 VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0,
1237 VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1,
1238 VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2,
1239 VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3,
1240 VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4,
1241 VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = 0x7FFFFFFF
1242} VkSystemAllocationScope;
1243
1244typedef enum VkInternalAllocationType {
1245 VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0,
1246 VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM = 0x7FFFFFFF
1247} VkInternalAllocationType;
1248
1249typedef enum VkFormat {
1250 VK_FORMAT_UNDEFINED = 0,
1251 VK_FORMAT_R4G4_UNORM_PACK8 = 1,
1252 VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2,
1253 VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3,
1254 VK_FORMAT_R5G6B5_UNORM_PACK16 = 4,
1255 VK_FORMAT_B5G6R5_UNORM_PACK16 = 5,
1256 VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6,
1257 VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7,
1258 VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8,
1259 VK_FORMAT_R8_UNORM = 9,
1260 VK_FORMAT_R8_SNORM = 10,
1261 VK_FORMAT_R8_USCALED = 11,
1262 VK_FORMAT_R8_SSCALED = 12,
1263 VK_FORMAT_R8_UINT = 13,
1264 VK_FORMAT_R8_SINT = 14,
1265 VK_FORMAT_R8_SRGB = 15,
1266 VK_FORMAT_R8G8_UNORM = 16,
1267 VK_FORMAT_R8G8_SNORM = 17,
1268 VK_FORMAT_R8G8_USCALED = 18,
1269 VK_FORMAT_R8G8_SSCALED = 19,
1270 VK_FORMAT_R8G8_UINT = 20,
1271 VK_FORMAT_R8G8_SINT = 21,
1272 VK_FORMAT_R8G8_SRGB = 22,
1273 VK_FORMAT_R8G8B8_UNORM = 23,
1274 VK_FORMAT_R8G8B8_SNORM = 24,
1275 VK_FORMAT_R8G8B8_USCALED = 25,
1276 VK_FORMAT_R8G8B8_SSCALED = 26,
1277 VK_FORMAT_R8G8B8_UINT = 27,
1278 VK_FORMAT_R8G8B8_SINT = 28,
1279 VK_FORMAT_R8G8B8_SRGB = 29,
1280 VK_FORMAT_B8G8R8_UNORM = 30,
1281 VK_FORMAT_B8G8R8_SNORM = 31,
1282 VK_FORMAT_B8G8R8_USCALED = 32,
1283 VK_FORMAT_B8G8R8_SSCALED = 33,
1284 VK_FORMAT_B8G8R8_UINT = 34,
1285 VK_FORMAT_B8G8R8_SINT = 35,
1286 VK_FORMAT_B8G8R8_SRGB = 36,
1287 VK_FORMAT_R8G8B8A8_UNORM = 37,
1288 VK_FORMAT_R8G8B8A8_SNORM = 38,
1289 VK_FORMAT_R8G8B8A8_USCALED = 39,
1290 VK_FORMAT_R8G8B8A8_SSCALED = 40,
1291 VK_FORMAT_R8G8B8A8_UINT = 41,
1292 VK_FORMAT_R8G8B8A8_SINT = 42,
1293 VK_FORMAT_R8G8B8A8_SRGB = 43,
1294 VK_FORMAT_B8G8R8A8_UNORM = 44,
1295 VK_FORMAT_B8G8R8A8_SNORM = 45,
1296 VK_FORMAT_B8G8R8A8_USCALED = 46,
1297 VK_FORMAT_B8G8R8A8_SSCALED = 47,
1298 VK_FORMAT_B8G8R8A8_UINT = 48,
1299 VK_FORMAT_B8G8R8A8_SINT = 49,
1300 VK_FORMAT_B8G8R8A8_SRGB = 50,
1301 VK_FORMAT_A8B8G8R8_UNORM_PACK32 = 51,
1302 VK_FORMAT_A8B8G8R8_SNORM_PACK32 = 52,
1303 VK_FORMAT_A8B8G8R8_USCALED_PACK32 = 53,
1304 VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54,
1305 VK_FORMAT_A8B8G8R8_UINT_PACK32 = 55,
1306 VK_FORMAT_A8B8G8R8_SINT_PACK32 = 56,
1307 VK_FORMAT_A8B8G8R8_SRGB_PACK32 = 57,
1308 VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58,
1309 VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59,
1310 VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 60,
1311 VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61,
1312 VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62,
1313 VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63,
1314 VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64,
1315 VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65,
1316 VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 66,
1317 VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67,
1318 VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68,
1319 VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69,
1320 VK_FORMAT_R16_UNORM = 70,
1321 VK_FORMAT_R16_SNORM = 71,
1322 VK_FORMAT_R16_USCALED = 72,
1323 VK_FORMAT_R16_SSCALED = 73,
1324 VK_FORMAT_R16_UINT = 74,
1325 VK_FORMAT_R16_SINT = 75,
1326 VK_FORMAT_R16_SFLOAT = 76,
1327 VK_FORMAT_R16G16_UNORM = 77,
1328 VK_FORMAT_R16G16_SNORM = 78,
1329 VK_FORMAT_R16G16_USCALED = 79,
1330 VK_FORMAT_R16G16_SSCALED = 80,
1331 VK_FORMAT_R16G16_UINT = 81,
1332 VK_FORMAT_R16G16_SINT = 82,
1333 VK_FORMAT_R16G16_SFLOAT = 83,
1334 VK_FORMAT_R16G16B16_UNORM = 84,
1335 VK_FORMAT_R16G16B16_SNORM = 85,
1336 VK_FORMAT_R16G16B16_USCALED = 86,
1337 VK_FORMAT_R16G16B16_SSCALED = 87,
1338 VK_FORMAT_R16G16B16_UINT = 88,
1339 VK_FORMAT_R16G16B16_SINT = 89,
1340 VK_FORMAT_R16G16B16_SFLOAT = 90,
1341 VK_FORMAT_R16G16B16A16_UNORM = 91,
1342 VK_FORMAT_R16G16B16A16_SNORM = 92,
1343 VK_FORMAT_R16G16B16A16_USCALED = 93,
1344 VK_FORMAT_R16G16B16A16_SSCALED = 94,
1345 VK_FORMAT_R16G16B16A16_UINT = 95,
1346 VK_FORMAT_R16G16B16A16_SINT = 96,
1347 VK_FORMAT_R16G16B16A16_SFLOAT = 97,
1348 VK_FORMAT_R32_UINT = 98,
1349 VK_FORMAT_R32_SINT = 99,
1350 VK_FORMAT_R32_SFLOAT = 100,
1351 VK_FORMAT_R32G32_UINT = 101,
1352 VK_FORMAT_R32G32_SINT = 102,
1353 VK_FORMAT_R32G32_SFLOAT = 103,
1354 VK_FORMAT_R32G32B32_UINT = 104,
1355 VK_FORMAT_R32G32B32_SINT = 105,
1356 VK_FORMAT_R32G32B32_SFLOAT = 106,
1357 VK_FORMAT_R32G32B32A32_UINT = 107,
1358 VK_FORMAT_R32G32B32A32_SINT = 108,
1359 VK_FORMAT_R32G32B32A32_SFLOAT = 109,
1360 VK_FORMAT_R64_UINT = 110,
1361 VK_FORMAT_R64_SINT = 111,
1362 VK_FORMAT_R64_SFLOAT = 112,
1363 VK_FORMAT_R64G64_UINT = 113,
1364 VK_FORMAT_R64G64_SINT = 114,
1365 VK_FORMAT_R64G64_SFLOAT = 115,
1366 VK_FORMAT_R64G64B64_UINT = 116,
1367 VK_FORMAT_R64G64B64_SINT = 117,
1368 VK_FORMAT_R64G64B64_SFLOAT = 118,
1369 VK_FORMAT_R64G64B64A64_UINT = 119,
1370 VK_FORMAT_R64G64B64A64_SINT = 120,
1371 VK_FORMAT_R64G64B64A64_SFLOAT = 121,
1372 VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122,
1373 VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123,
1374 VK_FORMAT_D16_UNORM = 124,
1375 VK_FORMAT_X8_D24_UNORM_PACK32 = 125,
1376 VK_FORMAT_D32_SFLOAT = 126,
1377 VK_FORMAT_S8_UINT = 127,
1378 VK_FORMAT_D16_UNORM_S8_UINT = 128,
1379 VK_FORMAT_D24_UNORM_S8_UINT = 129,
1380 VK_FORMAT_D32_SFLOAT_S8_UINT = 130,
1381 VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131,
1382 VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132,
1383 VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133,
1384 VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134,
1385 VK_FORMAT_BC2_UNORM_BLOCK = 135,
1386 VK_FORMAT_BC2_SRGB_BLOCK = 136,
1387 VK_FORMAT_BC3_UNORM_BLOCK = 137,
1388 VK_FORMAT_BC3_SRGB_BLOCK = 138,
1389 VK_FORMAT_BC4_UNORM_BLOCK = 139,
1390 VK_FORMAT_BC4_SNORM_BLOCK = 140,
1391 VK_FORMAT_BC5_UNORM_BLOCK = 141,
1392 VK_FORMAT_BC5_SNORM_BLOCK = 142,
1393 VK_FORMAT_BC6H_UFLOAT_BLOCK = 143,
1394 VK_FORMAT_BC6H_SFLOAT_BLOCK = 144,
1395 VK_FORMAT_BC7_UNORM_BLOCK = 145,
1396 VK_FORMAT_BC7_SRGB_BLOCK = 146,
1397 VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147,
1398 VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148,
1399 VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149,
1400 VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150,
1401 VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151,
1402 VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152,
1403 VK_FORMAT_EAC_R11_UNORM_BLOCK = 153,
1404 VK_FORMAT_EAC_R11_SNORM_BLOCK = 154,
1405 VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155,
1406 VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156,
1407 VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157,
1408 VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158,
1409 VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159,
1410 VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160,
1411 VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161,
1412 VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162,
1413 VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163,
1414 VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164,
1415 VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165,
1416 VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166,
1417 VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167,
1418 VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168,
1419 VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169,
1420 VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170,
1421 VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171,
1422 VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172,
1423 VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173,
1424 VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174,
1425 VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175,
1426 VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176,
1427 VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177,
1428 VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178,
1429 VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179,
1430 VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180,
1431 VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181,
1432 VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182,
1433 VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183,
1434 VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184,
1435 VK_FORMAT_G8B8G8R8_422_UNORM = 1000156000,
1436 VK_FORMAT_B8G8R8G8_422_UNORM = 1000156001,
1437 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM = 1000156002,
1438 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM = 1000156003,
1439 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM = 1000156004,
1440 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM = 1000156005,
1441 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM = 1000156006,
1442 VK_FORMAT_R10X6_UNORM_PACK16 = 1000156007,
1443 VK_FORMAT_R10X6G10X6_UNORM_2PACK16 = 1000156008,
1444 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 1000156009,
1445 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 1000156010,
1446 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 1000156011,
1447 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 1000156012,
1448 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 1000156013,
1449 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 1000156014,
1450 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 1000156015,
1451 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 1000156016,
1452 VK_FORMAT_R12X4_UNORM_PACK16 = 1000156017,
1453 VK_FORMAT_R12X4G12X4_UNORM_2PACK16 = 1000156018,
1454 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 1000156019,
1455 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 1000156020,
1456 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 1000156021,
1457 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 1000156022,
1458 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 1000156023,
1459 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 1000156024,
1460 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 1000156025,
1461 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 1000156026,
1462 VK_FORMAT_G16B16G16R16_422_UNORM = 1000156027,
1463 VK_FORMAT_B16G16R16G16_422_UNORM = 1000156028,
1464 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM = 1000156029,
1465 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM = 1000156030,
1466 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM = 1000156031,
1467 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM = 1000156032,
1468 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM = 1000156033,
1469 VK_FORMAT_G8_B8R8_2PLANE_444_UNORM = 1000330000,
1470 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16 = 1000330001,
1471 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16 = 1000330002,
1472 VK_FORMAT_G16_B16R16_2PLANE_444_UNORM = 1000330003,
1473 VK_FORMAT_A4R4G4B4_UNORM_PACK16 = 1000340000,
1474 VK_FORMAT_A4B4G4R4_UNORM_PACK16 = 1000340001,
1475 VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK = 1000066000,
1476 VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK = 1000066001,
1477 VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK = 1000066002,
1478 VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK = 1000066003,
1479 VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK = 1000066004,
1480 VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK = 1000066005,
1481 VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK = 1000066006,
1482 VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK = 1000066007,
1483 VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK = 1000066008,
1484 VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK = 1000066009,
1485 VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK = 1000066010,
1486 VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK = 1000066011,
1487 VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK = 1000066012,
1488 VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK = 1000066013,
1489 VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG = 1000054000,
1490 VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001,
1491 VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = 1000054002,
1492 VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG = 1000054003,
1493 VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG = 1000054004,
1494 VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005,
1495 VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006,
1496 VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007,
1497 VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK,
1498 VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK,
1499 VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK,
1500 VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK,
1501 VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK,
1502 VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK,
1503 VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK,
1504 VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK,
1505 VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK,
1506 VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK,
1507 VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK,
1508 VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK,
1509 VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK,
1510 VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK,
1511 VK_FORMAT_G8B8G8R8_422_UNORM_KHR = VK_FORMAT_G8B8G8R8_422_UNORM,
1512 VK_FORMAT_B8G8R8G8_422_UNORM_KHR = VK_FORMAT_B8G8R8G8_422_UNORM,
1513 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM,
1514 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM,
1515 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM,
1516 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM,
1517 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM,
1518 VK_FORMAT_R10X6_UNORM_PACK16_KHR = VK_FORMAT_R10X6_UNORM_PACK16,
1519 VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR = VK_FORMAT_R10X6G10X6_UNORM_2PACK16,
1520 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16,
1521 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16,
1522 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16,
1523 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16,
1524 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16,
1525 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16,
1526 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16,
1527 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16,
1528 VK_FORMAT_R12X4_UNORM_PACK16_KHR = VK_FORMAT_R12X4_UNORM_PACK16,
1529 VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR = VK_FORMAT_R12X4G12X4_UNORM_2PACK16,
1530 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16,
1531 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16,
1532 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16,
1533 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16,
1534 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16,
1535 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16,
1536 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16,
1537 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16,
1538 VK_FORMAT_G16B16G16R16_422_UNORM_KHR = VK_FORMAT_G16B16G16R16_422_UNORM,
1539 VK_FORMAT_B16G16R16G16_422_UNORM_KHR = VK_FORMAT_B16G16R16G16_422_UNORM,
1540 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM,
1541 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM,
1542 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM,
1543 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM,
1544 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM,
1545 VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT = VK_FORMAT_G8_B8R8_2PLANE_444_UNORM,
1546 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16,
1547 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16,
1548 VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT = VK_FORMAT_G16_B16R16_2PLANE_444_UNORM,
1549 VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT = VK_FORMAT_A4R4G4B4_UNORM_PACK16,
1550 VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT = VK_FORMAT_A4B4G4R4_UNORM_PACK16,
1551 VK_FORMAT_MAX_ENUM = 0x7FFFFFFF
1552} VkFormat;
1553
1554typedef enum VkImageTiling {
1555 VK_IMAGE_TILING_OPTIMAL = 0,
1556 VK_IMAGE_TILING_LINEAR = 1,
1557 VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT = 1000158000,
1558 VK_IMAGE_TILING_MAX_ENUM = 0x7FFFFFFF
1559} VkImageTiling;
1560
1561typedef enum VkImageType {
1562 VK_IMAGE_TYPE_1D = 0,
1563 VK_IMAGE_TYPE_2D = 1,
1564 VK_IMAGE_TYPE_3D = 2,
1565 VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF
1566} VkImageType;
1567
1568typedef enum VkPhysicalDeviceType {
1569 VK_PHYSICAL_DEVICE_TYPE_OTHER = 0,
1570 VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1,
1571 VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2,
1572 VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3,
1573 VK_PHYSICAL_DEVICE_TYPE_CPU = 4,
1574 VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM = 0x7FFFFFFF
1575} VkPhysicalDeviceType;
1576
1577typedef enum VkQueryType {
1578 VK_QUERY_TYPE_OCCLUSION = 0,
1579 VK_QUERY_TYPE_PIPELINE_STATISTICS = 1,
1580 VK_QUERY_TYPE_TIMESTAMP = 2,
1581#ifdef VK_ENABLE_BETA_EXTENSIONS
1582 VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR = 1000023000,
1583#endif
1584 VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT = 1000028004,
1585 VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR = 1000116000,
1586 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR = 1000150000,
1587 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR = 1000150001,
1588 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV = 1000165000,
1589 VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL = 1000210000,
1590#ifdef VK_ENABLE_BETA_EXTENSIONS
1591 VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR = 1000299000,
1592#endif
1593 VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF
1594} VkQueryType;
1595
1596typedef enum VkSharingMode {
1597 VK_SHARING_MODE_EXCLUSIVE = 0,
1598 VK_SHARING_MODE_CONCURRENT = 1,
1599 VK_SHARING_MODE_MAX_ENUM = 0x7FFFFFFF
1600} VkSharingMode;
1601
1602typedef enum VkComponentSwizzle {
1603 VK_COMPONENT_SWIZZLE_IDENTITY = 0,
1604 VK_COMPONENT_SWIZZLE_ZERO = 1,
1605 VK_COMPONENT_SWIZZLE_ONE = 2,
1606 VK_COMPONENT_SWIZZLE_R = 3,
1607 VK_COMPONENT_SWIZZLE_G = 4,
1608 VK_COMPONENT_SWIZZLE_B = 5,
1609 VK_COMPONENT_SWIZZLE_A = 6,
1610 VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF
1611} VkComponentSwizzle;
1612
1613typedef enum VkImageViewType {
1614 VK_IMAGE_VIEW_TYPE_1D = 0,
1615 VK_IMAGE_VIEW_TYPE_2D = 1,
1616 VK_IMAGE_VIEW_TYPE_3D = 2,
1617 VK_IMAGE_VIEW_TYPE_CUBE = 3,
1618 VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4,
1619 VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5,
1620 VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6,
1621 VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7FFFFFFF
1622} VkImageViewType;
1623
1624typedef enum VkBlendFactor {
1625 VK_BLEND_FACTOR_ZERO = 0,
1626 VK_BLEND_FACTOR_ONE = 1,
1627 VK_BLEND_FACTOR_SRC_COLOR = 2,
1628 VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3,
1629 VK_BLEND_FACTOR_DST_COLOR = 4,
1630 VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5,
1631 VK_BLEND_FACTOR_SRC_ALPHA = 6,
1632 VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7,
1633 VK_BLEND_FACTOR_DST_ALPHA = 8,
1634 VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9,
1635 VK_BLEND_FACTOR_CONSTANT_COLOR = 10,
1636 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11,
1637 VK_BLEND_FACTOR_CONSTANT_ALPHA = 12,
1638 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13,
1639 VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14,
1640 VK_BLEND_FACTOR_SRC1_COLOR = 15,
1641 VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16,
1642 VK_BLEND_FACTOR_SRC1_ALPHA = 17,
1643 VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18,
1644 VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF
1645} VkBlendFactor;
1646
1647typedef enum VkBlendOp {
1648 VK_BLEND_OP_ADD = 0,
1649 VK_BLEND_OP_SUBTRACT = 1,
1650 VK_BLEND_OP_REVERSE_SUBTRACT = 2,
1651 VK_BLEND_OP_MIN = 3,
1652 VK_BLEND_OP_MAX = 4,
1653 VK_BLEND_OP_ZERO_EXT = 1000148000,
1654 VK_BLEND_OP_SRC_EXT = 1000148001,
1655 VK_BLEND_OP_DST_EXT = 1000148002,
1656 VK_BLEND_OP_SRC_OVER_EXT = 1000148003,
1657 VK_BLEND_OP_DST_OVER_EXT = 1000148004,
1658 VK_BLEND_OP_SRC_IN_EXT = 1000148005,
1659 VK_BLEND_OP_DST_IN_EXT = 1000148006,
1660 VK_BLEND_OP_SRC_OUT_EXT = 1000148007,
1661 VK_BLEND_OP_DST_OUT_EXT = 1000148008,
1662 VK_BLEND_OP_SRC_ATOP_EXT = 1000148009,
1663 VK_BLEND_OP_DST_ATOP_EXT = 1000148010,
1664 VK_BLEND_OP_XOR_EXT = 1000148011,
1665 VK_BLEND_OP_MULTIPLY_EXT = 1000148012,
1666 VK_BLEND_OP_SCREEN_EXT = 1000148013,
1667 VK_BLEND_OP_OVERLAY_EXT = 1000148014,
1668 VK_BLEND_OP_DARKEN_EXT = 1000148015,
1669 VK_BLEND_OP_LIGHTEN_EXT = 1000148016,
1670 VK_BLEND_OP_COLORDODGE_EXT = 1000148017,
1671 VK_BLEND_OP_COLORBURN_EXT = 1000148018,
1672 VK_BLEND_OP_HARDLIGHT_EXT = 1000148019,
1673 VK_BLEND_OP_SOFTLIGHT_EXT = 1000148020,
1674 VK_BLEND_OP_DIFFERENCE_EXT = 1000148021,
1675 VK_BLEND_OP_EXCLUSION_EXT = 1000148022,
1676 VK_BLEND_OP_INVERT_EXT = 1000148023,
1677 VK_BLEND_OP_INVERT_RGB_EXT = 1000148024,
1678 VK_BLEND_OP_LINEARDODGE_EXT = 1000148025,
1679 VK_BLEND_OP_LINEARBURN_EXT = 1000148026,
1680 VK_BLEND_OP_VIVIDLIGHT_EXT = 1000148027,
1681 VK_BLEND_OP_LINEARLIGHT_EXT = 1000148028,
1682 VK_BLEND_OP_PINLIGHT_EXT = 1000148029,
1683 VK_BLEND_OP_HARDMIX_EXT = 1000148030,
1684 VK_BLEND_OP_HSL_HUE_EXT = 1000148031,
1685 VK_BLEND_OP_HSL_SATURATION_EXT = 1000148032,
1686 VK_BLEND_OP_HSL_COLOR_EXT = 1000148033,
1687 VK_BLEND_OP_HSL_LUMINOSITY_EXT = 1000148034,
1688 VK_BLEND_OP_PLUS_EXT = 1000148035,
1689 VK_BLEND_OP_PLUS_CLAMPED_EXT = 1000148036,
1690 VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT = 1000148037,
1691 VK_BLEND_OP_PLUS_DARKER_EXT = 1000148038,
1692 VK_BLEND_OP_MINUS_EXT = 1000148039,
1693 VK_BLEND_OP_MINUS_CLAMPED_EXT = 1000148040,
1694 VK_BLEND_OP_CONTRAST_EXT = 1000148041,
1695 VK_BLEND_OP_INVERT_OVG_EXT = 1000148042,
1696 VK_BLEND_OP_RED_EXT = 1000148043,
1697 VK_BLEND_OP_GREEN_EXT = 1000148044,
1698 VK_BLEND_OP_BLUE_EXT = 1000148045,
1699 VK_BLEND_OP_MAX_ENUM = 0x7FFFFFFF
1700} VkBlendOp;
1701
1702typedef enum VkCompareOp {
1703 VK_COMPARE_OP_NEVER = 0,
1704 VK_COMPARE_OP_LESS = 1,
1705 VK_COMPARE_OP_EQUAL = 2,
1706 VK_COMPARE_OP_LESS_OR_EQUAL = 3,
1707 VK_COMPARE_OP_GREATER = 4,
1708 VK_COMPARE_OP_NOT_EQUAL = 5,
1709 VK_COMPARE_OP_GREATER_OR_EQUAL = 6,
1710 VK_COMPARE_OP_ALWAYS = 7,
1711 VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF
1712} VkCompareOp;
1713
1714typedef enum VkDynamicState {
1715 VK_DYNAMIC_STATE_VIEWPORT = 0,
1716 VK_DYNAMIC_STATE_SCISSOR = 1,
1717 VK_DYNAMIC_STATE_LINE_WIDTH = 2,
1718 VK_DYNAMIC_STATE_DEPTH_BIAS = 3,
1719 VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4,
1720 VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5,
1721 VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6,
1722 VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7,
1723 VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8,
1724 VK_DYNAMIC_STATE_CULL_MODE = 1000267000,
1725 VK_DYNAMIC_STATE_FRONT_FACE = 1000267001,
1726 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY = 1000267002,
1727 VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT = 1000267003,
1728 VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT = 1000267004,
1729 VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE = 1000267005,
1730 VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE = 1000267006,
1731 VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE = 1000267007,
1732 VK_DYNAMIC_STATE_DEPTH_COMPARE_OP = 1000267008,
1733 VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE = 1000267009,
1734 VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE = 1000267010,
1735 VK_DYNAMIC_STATE_STENCIL_OP = 1000267011,
1736 VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE = 1000377001,
1737 VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE = 1000377002,
1738 VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE = 1000377004,
1739 VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV = 1000087000,
1740 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000,
1741 VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT = 1000143000,
1742 VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR = 1000347000,
1743 VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV = 1000164004,
1744 VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV = 1000164006,
1745 VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV = 1000205001,
1746 VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR = 1000226000,
1747 VK_DYNAMIC_STATE_LINE_STIPPLE_EXT = 1000259000,
1748 VK_DYNAMIC_STATE_VERTEX_INPUT_EXT = 1000352000,
1749 VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT = 1000377000,
1750 VK_DYNAMIC_STATE_LOGIC_OP_EXT = 1000377003,
1751 VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT = 1000381000,
1752 VK_DYNAMIC_STATE_CULL_MODE_EXT = VK_DYNAMIC_STATE_CULL_MODE,
1753 VK_DYNAMIC_STATE_FRONT_FACE_EXT = VK_DYNAMIC_STATE_FRONT_FACE,
1754 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY,
1755 VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT = VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT,
1756 VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT = VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT,
1757 VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT = VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE,
1758 VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE,
1759 VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE,
1760 VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT = VK_DYNAMIC_STATE_DEPTH_COMPARE_OP,
1761 VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE,
1762 VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE,
1763 VK_DYNAMIC_STATE_STENCIL_OP_EXT = VK_DYNAMIC_STATE_STENCIL_OP,
1764 VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT = VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE,
1765 VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE,
1766 VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT = VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE,
1767 VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF
1768} VkDynamicState;
1769
1770typedef enum VkFrontFace {
1771 VK_FRONT_FACE_COUNTER_CLOCKWISE = 0,
1772 VK_FRONT_FACE_CLOCKWISE = 1,
1773 VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF
1774} VkFrontFace;
1775
1776typedef enum VkVertexInputRate {
1777 VK_VERTEX_INPUT_RATE_VERTEX = 0,
1778 VK_VERTEX_INPUT_RATE_INSTANCE = 1,
1779 VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF
1780} VkVertexInputRate;
1781
1782typedef enum VkPrimitiveTopology {
1783 VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0,
1784 VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1,
1785 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2,
1786 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3,
1787 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4,
1788 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5,
1789 VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6,
1790 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7,
1791 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8,
1792 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9,
1793 VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10,
1794 VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7FFFFFFF
1795} VkPrimitiveTopology;
1796
1797typedef enum VkPolygonMode {
1798 VK_POLYGON_MODE_FILL = 0,
1799 VK_POLYGON_MODE_LINE = 1,
1800 VK_POLYGON_MODE_POINT = 2,
1801 VK_POLYGON_MODE_FILL_RECTANGLE_NV = 1000153000,
1802 VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF
1803} VkPolygonMode;
1804
1805typedef enum VkStencilOp {
1806 VK_STENCIL_OP_KEEP = 0,
1807 VK_STENCIL_OP_ZERO = 1,
1808 VK_STENCIL_OP_REPLACE = 2,
1809 VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3,
1810 VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4,
1811 VK_STENCIL_OP_INVERT = 5,
1812 VK_STENCIL_OP_INCREMENT_AND_WRAP = 6,
1813 VK_STENCIL_OP_DECREMENT_AND_WRAP = 7,
1814 VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF
1815} VkStencilOp;
1816
1817typedef enum VkLogicOp {
1818 VK_LOGIC_OP_CLEAR = 0,
1819 VK_LOGIC_OP_AND = 1,
1820 VK_LOGIC_OP_AND_REVERSE = 2,
1821 VK_LOGIC_OP_COPY = 3,
1822 VK_LOGIC_OP_AND_INVERTED = 4,
1823 VK_LOGIC_OP_NO_OP = 5,
1824 VK_LOGIC_OP_XOR = 6,
1825 VK_LOGIC_OP_OR = 7,
1826 VK_LOGIC_OP_NOR = 8,
1827 VK_LOGIC_OP_EQUIVALENT = 9,
1828 VK_LOGIC_OP_INVERT = 10,
1829 VK_LOGIC_OP_OR_REVERSE = 11,
1830 VK_LOGIC_OP_COPY_INVERTED = 12,
1831 VK_LOGIC_OP_OR_INVERTED = 13,
1832 VK_LOGIC_OP_NAND = 14,
1833 VK_LOGIC_OP_SET = 15,
1834 VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF
1835} VkLogicOp;
1836
1837typedef enum VkBorderColor {
1838 VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0,
1839 VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1,
1840 VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2,
1841 VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3,
1842 VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4,
1843 VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5,
1844 VK_BORDER_COLOR_FLOAT_CUSTOM_EXT = 1000287003,
1845 VK_BORDER_COLOR_INT_CUSTOM_EXT = 1000287004,
1846 VK_BORDER_COLOR_MAX_ENUM = 0x7FFFFFFF
1847} VkBorderColor;
1848
1849typedef enum VkFilter {
1850 VK_FILTER_NEAREST = 0,
1851 VK_FILTER_LINEAR = 1,
1852 VK_FILTER_CUBIC_IMG = 1000015000,
1853 VK_FILTER_CUBIC_EXT = VK_FILTER_CUBIC_IMG,
1854 VK_FILTER_MAX_ENUM = 0x7FFFFFFF
1855} VkFilter;
1856
1857typedef enum VkSamplerAddressMode {
1858 VK_SAMPLER_ADDRESS_MODE_REPEAT = 0,
1859 VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1,
1860 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2,
1861 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3,
1862 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4,
1863 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE,
1864 VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = 0x7FFFFFFF
1865} VkSamplerAddressMode;
1866
1867typedef enum VkSamplerMipmapMode {
1868 VK_SAMPLER_MIPMAP_MODE_NEAREST = 0,
1869 VK_SAMPLER_MIPMAP_MODE_LINEAR = 1,
1870 VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF
1871} VkSamplerMipmapMode;
1872
1873typedef enum VkDescriptorType {
1874 VK_DESCRIPTOR_TYPE_SAMPLER = 0,
1875 VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1,
1876 VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2,
1877 VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3,
1878 VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4,
1879 VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5,
1880 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6,
1881 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7,
1882 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8,
1883 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9,
1884 VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10,
1885 VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK = 1000138000,
1886 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000,
1887 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000,
1888 VK_DESCRIPTOR_TYPE_MUTABLE_VALVE = 1000351000,
1889 VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT = VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK,
1890 VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF
1891} VkDescriptorType;
1892
1893typedef enum VkAttachmentLoadOp {
1894 VK_ATTACHMENT_LOAD_OP_LOAD = 0,
1895 VK_ATTACHMENT_LOAD_OP_CLEAR = 1,
1896 VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2,
1897 VK_ATTACHMENT_LOAD_OP_NONE_EXT = 1000400000,
1898 VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7FFFFFFF
1899} VkAttachmentLoadOp;
1900
1901typedef enum VkAttachmentStoreOp {
1902 VK_ATTACHMENT_STORE_OP_STORE = 0,
1903 VK_ATTACHMENT_STORE_OP_DONT_CARE = 1,
1904 VK_ATTACHMENT_STORE_OP_NONE = 1000301000,
1905 VK_ATTACHMENT_STORE_OP_NONE_KHR = VK_ATTACHMENT_STORE_OP_NONE,
1906 VK_ATTACHMENT_STORE_OP_NONE_QCOM = VK_ATTACHMENT_STORE_OP_NONE,
1907 VK_ATTACHMENT_STORE_OP_NONE_EXT = VK_ATTACHMENT_STORE_OP_NONE,
1908 VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF
1909} VkAttachmentStoreOp;
1910
1911typedef enum VkPipelineBindPoint {
1912 VK_PIPELINE_BIND_POINT_GRAPHICS = 0,
1913 VK_PIPELINE_BIND_POINT_COMPUTE = 1,
1914 VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR = 1000165000,
1915 VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI = 1000369003,
1916 VK_PIPELINE_BIND_POINT_RAY_TRACING_NV = VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR,
1917 VK_PIPELINE_BIND_POINT_MAX_ENUM = 0x7FFFFFFF
1918} VkPipelineBindPoint;
1919
1920typedef enum VkCommandBufferLevel {
1921 VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0,
1922 VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1,
1923 VK_COMMAND_BUFFER_LEVEL_MAX_ENUM = 0x7FFFFFFF
1924} VkCommandBufferLevel;
1925
1926typedef enum VkIndexType {
1927 VK_INDEX_TYPE_UINT16 = 0,
1928 VK_INDEX_TYPE_UINT32 = 1,
1929 VK_INDEX_TYPE_NONE_KHR = 1000165000,
1930 VK_INDEX_TYPE_UINT8_EXT = 1000265000,
1931 VK_INDEX_TYPE_NONE_NV = VK_INDEX_TYPE_NONE_KHR,
1932 VK_INDEX_TYPE_MAX_ENUM = 0x7FFFFFFF
1933} VkIndexType;
1934
1935typedef enum VkSubpassContents {
1936 VK_SUBPASS_CONTENTS_INLINE = 0,
1937 VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1,
1938 VK_SUBPASS_CONTENTS_MAX_ENUM = 0x7FFFFFFF
1939} VkSubpassContents;
1940
1941typedef enum VkAccessFlagBits {
1942 VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001,
1943 VK_ACCESS_INDEX_READ_BIT = 0x00000002,
1944 VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004,
1945 VK_ACCESS_UNIFORM_READ_BIT = 0x00000008,
1946 VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 0x00000010,
1947 VK_ACCESS_SHADER_READ_BIT = 0x00000020,
1948 VK_ACCESS_SHADER_WRITE_BIT = 0x00000040,
1949 VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 0x00000080,
1950 VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100,
1951 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200,
1952 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400,
1953 VK_ACCESS_TRANSFER_READ_BIT = 0x00000800,
1954 VK_ACCESS_TRANSFER_WRITE_BIT = 0x00001000,
1955 VK_ACCESS_HOST_READ_BIT = 0x00002000,
1956 VK_ACCESS_HOST_WRITE_BIT = 0x00004000,
1957 VK_ACCESS_MEMORY_READ_BIT = 0x00008000,
1958 VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000,
1959 VK_ACCESS_NONE = 0,
1960 VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000,
1961 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000,
1962 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000,
1963 VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000,
1964 VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000,
1965 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000,
1966 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000,
1967 VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000,
1968 VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000,
1969 VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000,
1970 VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000,
1971 VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR,
1972 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR,
1973 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,
1974 VK_ACCESS_NONE_KHR = VK_ACCESS_NONE,
1975 VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1976} VkAccessFlagBits;
1977typedef VkFlags VkAccessFlags;
1978
1979typedef enum VkImageAspectFlagBits {
1980 VK_IMAGE_ASPECT_COLOR_BIT = 0x00000001,
1981 VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002,
1982 VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004,
1983 VK_IMAGE_ASPECT_METADATA_BIT = 0x00000008,
1984 VK_IMAGE_ASPECT_PLANE_0_BIT = 0x00000010,
1985 VK_IMAGE_ASPECT_PLANE_1_BIT = 0x00000020,
1986 VK_IMAGE_ASPECT_PLANE_2_BIT = 0x00000040,
1987 VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 0x00000080,
1988 VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 0x00000100,
1989 VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 0x00000200,
1990 VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = 0x00000400,
1991 VK_IMAGE_ASPECT_NONE_KHR = 0,
1992 VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = VK_IMAGE_ASPECT_PLANE_0_BIT,
1993 VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = VK_IMAGE_ASPECT_PLANE_1_BIT,
1994 VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = VK_IMAGE_ASPECT_PLANE_2_BIT,
1995 VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1996} VkImageAspectFlagBits;
1997typedef VkFlags VkImageAspectFlags;
1998
1999typedef enum VkFormatFeatureFlagBits {
2000 VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 0x00000001,
2001 VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 0x00000002,
2002 VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004,
2003 VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008,
2004 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 0x00000010,
2005 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020,
2006 VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 0x00000040,
2007 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 0x00000080,
2008 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100,
2009 VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200,
2010 VK_FORMAT_FEATURE_BLIT_SRC_BIT = 0x00000400,
2011 VK_FORMAT_FEATURE_BLIT_DST_BIT = 0x00000800,
2012 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000,
2013 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT = 0x00004000,
2014 VK_FORMAT_FEATURE_TRANSFER_DST_BIT = 0x00008000,
2015 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000,
2016 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000,
2017 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000,
2018 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000,
2019 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000,
2020 VK_FORMAT_FEATURE_DISJOINT_BIT = 0x00400000,
2021 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT = 0x00800000,
2022 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000,
2023 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = 0x00002000,
2024#ifdef VK_ENABLE_BETA_EXTENSIONS
2025 VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x02000000,
2026#endif
2027#ifdef VK_ENABLE_BETA_EXTENSIONS
2028 VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR = 0x04000000,
2029#endif
2030 VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000,
2031 VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000,
2032 VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000,
2033#ifdef VK_ENABLE_BETA_EXTENSIONS
2034 VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000,
2035#endif
2036#ifdef VK_ENABLE_BETA_EXTENSIONS
2037 VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000,
2038#endif
2039 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT,
2040 VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_DST_BIT,
2041 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT,
2042 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT,
2043 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT,
2044 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT,
2045 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT,
2046 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,
2047 VK_FORMAT_FEATURE_DISJOINT_BIT_KHR = VK_FORMAT_FEATURE_DISJOINT_BIT,
2048 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT,
2049 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG,
2050 VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2051} VkFormatFeatureFlagBits;
2052typedef VkFlags VkFormatFeatureFlags;
2053
2054typedef enum VkImageCreateFlagBits {
2055 VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 0x00000001,
2056 VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
2057 VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
2058 VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 0x00000008,
2059 VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 0x00000010,
2060 VK_IMAGE_CREATE_ALIAS_BIT = 0x00000400,
2061 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT = 0x00000040,
2062 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT = 0x00000020,
2063 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT = 0x00000080,
2064 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT = 0x00000100,
2065 VK_IMAGE_CREATE_PROTECTED_BIT = 0x00000800,
2066 VK_IMAGE_CREATE_DISJOINT_BIT = 0x00000200,
2067 VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 0x00002000,
2068 VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000,
2069 VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 0x00004000,
2070 VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM = 0x00008000,
2071 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT,
2072 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT,
2073 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT,
2074 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT,
2075 VK_IMAGE_CREATE_DISJOINT_BIT_KHR = VK_IMAGE_CREATE_DISJOINT_BIT,
2076 VK_IMAGE_CREATE_ALIAS_BIT_KHR = VK_IMAGE_CREATE_ALIAS_BIT,
2077 VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2078} VkImageCreateFlagBits;
2079typedef VkFlags VkImageCreateFlags;
2080
2081typedef enum VkSampleCountFlagBits {
2082 VK_SAMPLE_COUNT_1_BIT = 0x00000001,
2083 VK_SAMPLE_COUNT_2_BIT = 0x00000002,
2084 VK_SAMPLE_COUNT_4_BIT = 0x00000004,
2085 VK_SAMPLE_COUNT_8_BIT = 0x00000008,
2086 VK_SAMPLE_COUNT_16_BIT = 0x00000010,
2087 VK_SAMPLE_COUNT_32_BIT = 0x00000020,
2088 VK_SAMPLE_COUNT_64_BIT = 0x00000040,
2089 VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2090} VkSampleCountFlagBits;
2091typedef VkFlags VkSampleCountFlags;
2092
2093typedef enum VkImageUsageFlagBits {
2094 VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 0x00000001,
2095 VK_IMAGE_USAGE_TRANSFER_DST_BIT = 0x00000002,
2096 VK_IMAGE_USAGE_SAMPLED_BIT = 0x00000004,
2097 VK_IMAGE_USAGE_STORAGE_BIT = 0x00000008,
2098 VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000010,
2099 VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000020,
2100 VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000040,
2101 VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0x00000080,
2102#ifdef VK_ENABLE_BETA_EXTENSIONS
2103 VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00000400,
2104#endif
2105#ifdef VK_ENABLE_BETA_EXTENSIONS
2106 VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00000800,
2107#endif
2108#ifdef VK_ENABLE_BETA_EXTENSIONS
2109 VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR = 0x00001000,
2110#endif
2111 VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x00000200,
2112 VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00000100,
2113#ifdef VK_ENABLE_BETA_EXTENSIONS
2114 VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00002000,
2115#endif
2116#ifdef VK_ENABLE_BETA_EXTENSIONS
2117 VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00004000,
2118#endif
2119#ifdef VK_ENABLE_BETA_EXTENSIONS
2120 VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR = 0x00008000,
2121#endif
2122 VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI = 0x00040000,
2123 VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
2124 VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2125} VkImageUsageFlagBits;
2126typedef VkFlags VkImageUsageFlags;
2127typedef VkFlags VkInstanceCreateFlags;
2128
2129typedef enum VkMemoryHeapFlagBits {
2130 VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0x00000001,
2131 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = 0x00000002,
2132 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT,
2133 VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2134} VkMemoryHeapFlagBits;
2135typedef VkFlags VkMemoryHeapFlags;
2136
2137typedef enum VkMemoryPropertyFlagBits {
2138 VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 0x00000001,
2139 VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 0x00000002,
2140 VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 0x00000004,
2141 VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 0x00000008,
2142 VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 0x00000010,
2143 VK_MEMORY_PROPERTY_PROTECTED_BIT = 0x00000020,
2144 VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD = 0x00000040,
2145 VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD = 0x00000080,
2146 VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV = 0x00000100,
2147 VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2148} VkMemoryPropertyFlagBits;
2149typedef VkFlags VkMemoryPropertyFlags;
2150
2151typedef enum VkQueueFlagBits {
2152 VK_QUEUE_GRAPHICS_BIT = 0x00000001,
2153 VK_QUEUE_COMPUTE_BIT = 0x00000002,
2154 VK_QUEUE_TRANSFER_BIT = 0x00000004,
2155 VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008,
2156 VK_QUEUE_PROTECTED_BIT = 0x00000010,
2157#ifdef VK_ENABLE_BETA_EXTENSIONS
2158 VK_QUEUE_VIDEO_DECODE_BIT_KHR = 0x00000020,
2159#endif
2160#ifdef VK_ENABLE_BETA_EXTENSIONS
2161 VK_QUEUE_VIDEO_ENCODE_BIT_KHR = 0x00000040,
2162#endif
2163 VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2164} VkQueueFlagBits;
2165typedef VkFlags VkQueueFlags;
2166typedef VkFlags VkDeviceCreateFlags;
2167
2168typedef enum VkDeviceQueueCreateFlagBits {
2169 VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT = 0x00000001,
2170 VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2171} VkDeviceQueueCreateFlagBits;
2172typedef VkFlags VkDeviceQueueCreateFlags;
2173
2174typedef enum VkPipelineStageFlagBits {
2175 VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 0x00000001,
2176 VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 0x00000002,
2177 VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 0x00000004,
2178 VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 0x00000008,
2179 VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010,
2180 VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020,
2181 VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 0x00000040,
2182 VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 0x00000080,
2183 VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 0x00000100,
2184 VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 0x00000200,
2185 VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400,
2186 VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 0x00000800,
2187 VK_PIPELINE_STAGE_TRANSFER_BIT = 0x00001000,
2188 VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 0x00002000,
2189 VK_PIPELINE_STAGE_HOST_BIT = 0x00004000,
2190 VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0x00008000,
2191 VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00010000,
2192 VK_PIPELINE_STAGE_NONE = 0,
2193 VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000,
2194 VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000,
2195 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000,
2196 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = 0x00200000,
2197 VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV = 0x00080000,
2198 VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV = 0x00100000,
2199 VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000,
2200 VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000,
2201 VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV = 0x00020000,
2202 VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
2203 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV = VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR,
2204 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
2205 VK_PIPELINE_STAGE_NONE_KHR = VK_PIPELINE_STAGE_NONE,
2206 VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2207} VkPipelineStageFlagBits;
2208typedef VkFlags VkPipelineStageFlags;
2209typedef VkFlags VkMemoryMapFlags;
2210
2211typedef enum VkSparseMemoryBindFlagBits {
2212 VK_SPARSE_MEMORY_BIND_METADATA_BIT = 0x00000001,
2213 VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2214} VkSparseMemoryBindFlagBits;
2215typedef VkFlags VkSparseMemoryBindFlags;
2216
2217typedef enum VkSparseImageFormatFlagBits {
2218 VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 0x00000001,
2219 VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 0x00000002,
2220 VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 0x00000004,
2221 VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2222} VkSparseImageFormatFlagBits;
2223typedef VkFlags VkSparseImageFormatFlags;
2224
2225typedef enum VkFenceCreateFlagBits {
2226 VK_FENCE_CREATE_SIGNALED_BIT = 0x00000001,
2227 VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2228} VkFenceCreateFlagBits;
2229typedef VkFlags VkFenceCreateFlags;
2230typedef VkFlags VkSemaphoreCreateFlags;
2231
2232typedef enum VkEventCreateFlagBits {
2233 VK_EVENT_CREATE_DEVICE_ONLY_BIT = 0x00000001,
2234 VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR = VK_EVENT_CREATE_DEVICE_ONLY_BIT,
2235 VK_EVENT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2236} VkEventCreateFlagBits;
2237typedef VkFlags VkEventCreateFlags;
2238
2239typedef enum VkQueryPipelineStatisticFlagBits {
2240 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 0x00000001,
2241 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 0x00000002,
2242 VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 0x00000004,
2243 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 0x00000008,
2244 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 0x00000010,
2245 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 0x00000020,
2246 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 0x00000040,
2247 VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 0x00000080,
2248 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 0x00000100,
2249 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 0x00000200,
2250 VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 0x00000400,
2251 VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2252} VkQueryPipelineStatisticFlagBits;
2253typedef VkFlags VkQueryPipelineStatisticFlags;
2254typedef VkFlags VkQueryPoolCreateFlags;
2255
2256typedef enum VkQueryResultFlagBits {
2257 VK_QUERY_RESULT_64_BIT = 0x00000001,
2258 VK_QUERY_RESULT_WAIT_BIT = 0x00000002,
2259 VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004,
2260 VK_QUERY_RESULT_PARTIAL_BIT = 0x00000008,
2261#ifdef VK_ENABLE_BETA_EXTENSIONS
2262 VK_QUERY_RESULT_WITH_STATUS_BIT_KHR = 0x00000010,
2263#endif
2264 VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2265} VkQueryResultFlagBits;
2266typedef VkFlags VkQueryResultFlags;
2267
2268typedef enum VkBufferCreateFlagBits {
2269 VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 0x00000001,
2270 VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
2271 VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
2272 VK_BUFFER_CREATE_PROTECTED_BIT = 0x00000008,
2273 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000010,
2274 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
2275 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
2276 VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2277} VkBufferCreateFlagBits;
2278typedef VkFlags VkBufferCreateFlags;
2279
2280typedef enum VkBufferUsageFlagBits {
2281 VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 0x00000001,
2282 VK_BUFFER_USAGE_TRANSFER_DST_BIT = 0x00000002,
2283 VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000004,
2284 VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 0x00000008,
2285 VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 0x00000010,
2286 VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 0x00000020,
2287 VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 0x00000040,
2288 VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 0x00000080,
2289 VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 0x00000100,
2290 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT = 0x00020000,
2291#ifdef VK_ENABLE_BETA_EXTENSIONS
2292 VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00002000,
2293#endif
2294#ifdef VK_ENABLE_BETA_EXTENSIONS
2295 VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00004000,
2296#endif
2297 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0x00000800,
2298 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000,
2299 VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200,
2300 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR = 0x00080000,
2301 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR = 0x00100000,
2302 VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR = 0x00000400,
2303#ifdef VK_ENABLE_BETA_EXTENSIONS
2304 VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00008000,
2305#endif
2306#ifdef VK_ENABLE_BETA_EXTENSIONS
2307 VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00010000,
2308#endif
2309 VK_BUFFER_USAGE_RAY_TRACING_BIT_NV = VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR,
2310 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
2311 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
2312 VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2313} VkBufferUsageFlagBits;
2314typedef VkFlags VkBufferUsageFlags;
2315typedef VkFlags VkBufferViewCreateFlags;
2316
2317typedef enum VkImageViewCreateFlagBits {
2318 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT = 0x00000001,
2319 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT = 0x00000002,
2320 VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2321} VkImageViewCreateFlagBits;
2322typedef VkFlags VkImageViewCreateFlags;
2323typedef VkFlags VkShaderModuleCreateFlags;
2324
2325typedef enum VkPipelineCacheCreateFlagBits {
2326 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT = 0x00000001,
2327 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT = VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT,
2328 VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2329} VkPipelineCacheCreateFlagBits;
2330typedef VkFlags VkPipelineCacheCreateFlags;
2331
2332typedef enum VkColorComponentFlagBits {
2333 VK_COLOR_COMPONENT_R_BIT = 0x00000001,
2334 VK_COLOR_COMPONENT_G_BIT = 0x00000002,
2335 VK_COLOR_COMPONENT_B_BIT = 0x00000004,
2336 VK_COLOR_COMPONENT_A_BIT = 0x00000008,
2337 VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2338} VkColorComponentFlagBits;
2339typedef VkFlags VkColorComponentFlags;
2340
2341typedef enum VkPipelineCreateFlagBits {
2342 VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0x00000001,
2343 VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 0x00000002,
2344 VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0x00000004,
2345 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 0x00000008,
2346 VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 0x00000010,
2347 VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT = 0x00000100,
2348 VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT = 0x00000200,
2349 VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00200000,
2350 VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 0x00400000,
2351 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 0x00004000,
2352 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 0x00008000,
2353 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 0x00010000,
2354 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR = 0x00020000,
2355 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR = 0x00001000,
2356 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR = 0x00002000,
2357 VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR = 0x00080000,
2358 VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV = 0x00000020,
2359 VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR = 0x00000040,
2360 VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 0x00000080,
2361 VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = 0x00040000,
2362 VK_PIPELINE_CREATE_LIBRARY_BIT_KHR = 0x00000800,
2363 VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV = 0x00100000,
2364 VK_PIPELINE_CREATE_DISPATCH_BASE = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT,
2365 VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
2366 VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT,
2367 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT,
2368 VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = VK_PIPELINE_CREATE_DISPATCH_BASE,
2369 VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT,
2370 VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT,
2371 VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2372} VkPipelineCreateFlagBits;
2373typedef VkFlags VkPipelineCreateFlags;
2374
2375typedef enum VkPipelineShaderStageCreateFlagBits {
2376 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT = 0x00000001,
2377 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT = 0x00000002,
2378 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT,
2379 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT,
2380 VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2381} VkPipelineShaderStageCreateFlagBits;
2382typedef VkFlags VkPipelineShaderStageCreateFlags;
2383
2384typedef enum VkShaderStageFlagBits {
2385 VK_SHADER_STAGE_VERTEX_BIT = 0x00000001,
2386 VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 0x00000002,
2387 VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 0x00000004,
2388 VK_SHADER_STAGE_GEOMETRY_BIT = 0x00000008,
2389 VK_SHADER_STAGE_FRAGMENT_BIT = 0x00000010,
2390 VK_SHADER_STAGE_COMPUTE_BIT = 0x00000020,
2391 VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001F,
2392 VK_SHADER_STAGE_ALL = 0x7FFFFFFF,
2393 VK_SHADER_STAGE_RAYGEN_BIT_KHR = 0x00000100,
2394 VK_SHADER_STAGE_ANY_HIT_BIT_KHR = 0x00000200,
2395 VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR = 0x00000400,
2396 VK_SHADER_STAGE_MISS_BIT_KHR = 0x00000800,
2397 VK_SHADER_STAGE_INTERSECTION_BIT_KHR = 0x00001000,
2398 VK_SHADER_STAGE_CALLABLE_BIT_KHR = 0x00002000,
2399 VK_SHADER_STAGE_TASK_BIT_NV = 0x00000040,
2400 VK_SHADER_STAGE_MESH_BIT_NV = 0x00000080,
2401 VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI = 0x00004000,
2402 VK_SHADER_STAGE_RAYGEN_BIT_NV = VK_SHADER_STAGE_RAYGEN_BIT_KHR,
2403 VK_SHADER_STAGE_ANY_HIT_BIT_NV = VK_SHADER_STAGE_ANY_HIT_BIT_KHR,
2404 VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV = VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR,
2405 VK_SHADER_STAGE_MISS_BIT_NV = VK_SHADER_STAGE_MISS_BIT_KHR,
2406 VK_SHADER_STAGE_INTERSECTION_BIT_NV = VK_SHADER_STAGE_INTERSECTION_BIT_KHR,
2407 VK_SHADER_STAGE_CALLABLE_BIT_NV = VK_SHADER_STAGE_CALLABLE_BIT_KHR,
2408 VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2409} VkShaderStageFlagBits;
2410
2411typedef enum VkCullModeFlagBits {
2412 VK_CULL_MODE_NONE = 0,
2413 VK_CULL_MODE_FRONT_BIT = 0x00000001,
2414 VK_CULL_MODE_BACK_BIT = 0x00000002,
2415 VK_CULL_MODE_FRONT_AND_BACK = 0x00000003,
2416 VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2417} VkCullModeFlagBits;
2418typedef VkFlags VkCullModeFlags;
2419typedef VkFlags VkPipelineVertexInputStateCreateFlags;
2420typedef VkFlags VkPipelineInputAssemblyStateCreateFlags;
2421typedef VkFlags VkPipelineTessellationStateCreateFlags;
2422typedef VkFlags VkPipelineViewportStateCreateFlags;
2423typedef VkFlags VkPipelineRasterizationStateCreateFlags;
2424typedef VkFlags VkPipelineMultisampleStateCreateFlags;
2425
2426typedef enum VkPipelineDepthStencilStateCreateFlagBits {
2427 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM = 0x00000001,
2428 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM = 0x00000002,
2429 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2430} VkPipelineDepthStencilStateCreateFlagBits;
2431typedef VkFlags VkPipelineDepthStencilStateCreateFlags;
2432
2433typedef enum VkPipelineColorBlendStateCreateFlagBits {
2434 VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM = 0x00000001,
2435 VK_PIPELINE_COLOR_BLEND_STATE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2436} VkPipelineColorBlendStateCreateFlagBits;
2437typedef VkFlags VkPipelineColorBlendStateCreateFlags;
2438typedef VkFlags VkPipelineDynamicStateCreateFlags;
2439typedef VkFlags VkPipelineLayoutCreateFlags;
2440typedef VkFlags VkShaderStageFlags;
2441
2442typedef enum VkSamplerCreateFlagBits {
2443 VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT = 0x00000001,
2444 VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT = 0x00000002,
2445 VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2446} VkSamplerCreateFlagBits;
2447typedef VkFlags VkSamplerCreateFlags;
2448
2449typedef enum VkDescriptorPoolCreateFlagBits {
2450 VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001,
2451 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT = 0x00000002,
2452 VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE = 0x00000004,
2453 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT,
2454 VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2455} VkDescriptorPoolCreateFlagBits;
2456typedef VkFlags VkDescriptorPoolCreateFlags;
2457typedef VkFlags VkDescriptorPoolResetFlags;
2458
2459typedef enum VkDescriptorSetLayoutCreateFlagBits {
2460 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT = 0x00000002,
2461 VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = 0x00000001,
2462 VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE = 0x00000004,
2463 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT,
2464 VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2465} VkDescriptorSetLayoutCreateFlagBits;
2466typedef VkFlags VkDescriptorSetLayoutCreateFlags;
2467
2468typedef enum VkAttachmentDescriptionFlagBits {
2469 VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001,
2470 VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2471} VkAttachmentDescriptionFlagBits;
2472typedef VkFlags VkAttachmentDescriptionFlags;
2473
2474typedef enum VkDependencyFlagBits {
2475 VK_DEPENDENCY_BY_REGION_BIT = 0x00000001,
2476 VK_DEPENDENCY_DEVICE_GROUP_BIT = 0x00000004,
2477 VK_DEPENDENCY_VIEW_LOCAL_BIT = 0x00000002,
2478 VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR = VK_DEPENDENCY_VIEW_LOCAL_BIT,
2479 VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR = VK_DEPENDENCY_DEVICE_GROUP_BIT,
2480 VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2481} VkDependencyFlagBits;
2482typedef VkFlags VkDependencyFlags;
2483
2484typedef enum VkFramebufferCreateFlagBits {
2485 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT = 0x00000001,
2486 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR = VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT,
2487 VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2488} VkFramebufferCreateFlagBits;
2489typedef VkFlags VkFramebufferCreateFlags;
2490
2491typedef enum VkRenderPassCreateFlagBits {
2492 VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM = 0x00000002,
2493 VK_RENDER_PASS_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2494} VkRenderPassCreateFlagBits;
2495typedef VkFlags VkRenderPassCreateFlags;
2496
2497typedef enum VkSubpassDescriptionFlagBits {
2498 VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX = 0x00000001,
2499 VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 0x00000002,
2500 VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM = 0x00000004,
2501 VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM = 0x00000008,
2502 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM = 0x00000010,
2503 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM = 0x00000020,
2504 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM = 0x00000040,
2505 VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2506} VkSubpassDescriptionFlagBits;
2507typedef VkFlags VkSubpassDescriptionFlags;
2508
2509typedef enum VkCommandPoolCreateFlagBits {
2510 VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 0x00000001,
2511 VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002,
2512 VK_COMMAND_POOL_CREATE_PROTECTED_BIT = 0x00000004,
2513 VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2514} VkCommandPoolCreateFlagBits;
2515typedef VkFlags VkCommandPoolCreateFlags;
2516
2517typedef enum VkCommandPoolResetFlagBits {
2518 VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
2519 VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2520} VkCommandPoolResetFlagBits;
2521typedef VkFlags VkCommandPoolResetFlags;
2522
2523typedef enum VkCommandBufferUsageFlagBits {
2524 VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 0x00000001,
2525 VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 0x00000002,
2526 VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 0x00000004,
2527 VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2528} VkCommandBufferUsageFlagBits;
2529typedef VkFlags VkCommandBufferUsageFlags;
2530
2531typedef enum VkQueryControlFlagBits {
2532 VK_QUERY_CONTROL_PRECISE_BIT = 0x00000001,
2533 VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2534} VkQueryControlFlagBits;
2535typedef VkFlags VkQueryControlFlags;
2536
2537typedef enum VkCommandBufferResetFlagBits {
2538 VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
2539 VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2540} VkCommandBufferResetFlagBits;
2541typedef VkFlags VkCommandBufferResetFlags;
2542
2543typedef enum VkStencilFaceFlagBits {
2544 VK_STENCIL_FACE_FRONT_BIT = 0x00000001,
2545 VK_STENCIL_FACE_BACK_BIT = 0x00000002,
2546 VK_STENCIL_FACE_FRONT_AND_BACK = 0x00000003,
2547 VK_STENCIL_FRONT_AND_BACK = VK_STENCIL_FACE_FRONT_AND_BACK,
2548 VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2549} VkStencilFaceFlagBits;
2550typedef VkFlags VkStencilFaceFlags;
2551typedef struct VkExtent2D {
2552 uint32_t width;
2553 uint32_t height;
2554} VkExtent2D;
2555
2556typedef struct VkExtent3D {
2557 uint32_t width;
2558 uint32_t height;
2559 uint32_t depth;
2560} VkExtent3D;
2561
2562typedef struct VkOffset2D {
2563 int32_t x;
2564 int32_t y;
2565} VkOffset2D;
2566
2567typedef struct VkOffset3D {
2568 int32_t x;
2569 int32_t y;
2570 int32_t z;
2571} VkOffset3D;
2572
2573typedef struct VkRect2D {
2574 VkOffset2D offset;
2575 VkExtent2D extent;
2576} VkRect2D;
2577
2578typedef struct VkBaseInStructure {
2579 VkStructureType sType;
2580 const struct VkBaseInStructure* pNext;
2581} VkBaseInStructure;
2582
2583typedef struct VkBaseOutStructure {
2584 VkStructureType sType;
2585 struct VkBaseOutStructure* pNext;
2586} VkBaseOutStructure;
2587
2588typedef struct VkBufferMemoryBarrier {
2589 VkStructureType sType;
2590 const void* pNext;
2591 VkAccessFlags srcAccessMask;
2592 VkAccessFlags dstAccessMask;
2593 uint32_t srcQueueFamilyIndex;
2594 uint32_t dstQueueFamilyIndex;
2595 VkBuffer buffer;
2596 VkDeviceSize offset;
2597 VkDeviceSize size;
2598} VkBufferMemoryBarrier;
2599
2600typedef struct VkDispatchIndirectCommand {
2601 uint32_t x;
2602 uint32_t y;
2603 uint32_t z;
2604} VkDispatchIndirectCommand;
2605
2606typedef struct VkDrawIndexedIndirectCommand {
2607 uint32_t indexCount;
2608 uint32_t instanceCount;
2609 uint32_t firstIndex;
2610 int32_t vertexOffset;
2611 uint32_t firstInstance;
2612} VkDrawIndexedIndirectCommand;
2613
2614typedef struct VkDrawIndirectCommand {
2615 uint32_t vertexCount;
2616 uint32_t instanceCount;
2617 uint32_t firstVertex;
2618 uint32_t firstInstance;
2619} VkDrawIndirectCommand;
2620
2621typedef struct VkImageSubresourceRange {
2622 VkImageAspectFlags aspectMask;
2623 uint32_t baseMipLevel;
2624 uint32_t levelCount;
2625 uint32_t baseArrayLayer;
2626 uint32_t layerCount;
2627} VkImageSubresourceRange;
2628
2629typedef struct VkImageMemoryBarrier {
2630 VkStructureType sType;
2631 const void* pNext;
2632 VkAccessFlags srcAccessMask;
2633 VkAccessFlags dstAccessMask;
2634 VkImageLayout oldLayout;
2635 VkImageLayout newLayout;
2636 uint32_t srcQueueFamilyIndex;
2637 uint32_t dstQueueFamilyIndex;
2638 VkImage image;
2639 VkImageSubresourceRange subresourceRange;
2640} VkImageMemoryBarrier;
2641
2642typedef struct VkMemoryBarrier {
2643 VkStructureType sType;
2644 const void* pNext;
2645 VkAccessFlags srcAccessMask;
2646 VkAccessFlags dstAccessMask;
2647} VkMemoryBarrier;
2648
2649typedef struct VkPipelineCacheHeaderVersionOne {
2650 uint32_t headerSize;
2651 VkPipelineCacheHeaderVersion headerVersion;
2652 uint32_t vendorID;
2653 uint32_t deviceID;
2654 uint8_t pipelineCacheUUID[VK_UUID_SIZE];
2655} VkPipelineCacheHeaderVersionOne;
2656
2657typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
2658 void* pUserData,
2659 size_t size,
2660 size_t alignment,
2661 VkSystemAllocationScope allocationScope);
2662
2663typedef void (VKAPI_PTR *PFN_vkFreeFunction)(
2664 void* pUserData,
2665 void* pMemory);
2666
2667typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(
2668 void* pUserData,
2669 size_t size,
2670 VkInternalAllocationType allocationType,
2671 VkSystemAllocationScope allocationScope);
2672
2673typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(
2674 void* pUserData,
2675 size_t size,
2676 VkInternalAllocationType allocationType,
2677 VkSystemAllocationScope allocationScope);
2678
2679typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
2680 void* pUserData,
2681 void* pOriginal,
2682 size_t size,
2683 size_t alignment,
2684 VkSystemAllocationScope allocationScope);
2685
2686typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
2687typedef struct VkAllocationCallbacks {
2688 void* pUserData;
2689 PFN_vkAllocationFunction pfnAllocation;
2690 PFN_vkReallocationFunction pfnReallocation;
2691 PFN_vkFreeFunction pfnFree;
2692 PFN_vkInternalAllocationNotification pfnInternalAllocation;
2693 PFN_vkInternalFreeNotification pfnInternalFree;
2694} VkAllocationCallbacks;
2695
2696typedef struct VkApplicationInfo {
2697 VkStructureType sType;
2698 const void* pNext;
2699 const char* pApplicationName;
2700 uint32_t applicationVersion;
2701 const char* pEngineName;
2702 uint32_t engineVersion;
2703 uint32_t apiVersion;
2704} VkApplicationInfo;
2705
2706typedef struct VkFormatProperties {
2707 VkFormatFeatureFlags linearTilingFeatures;
2708 VkFormatFeatureFlags optimalTilingFeatures;
2709 VkFormatFeatureFlags bufferFeatures;
2710} VkFormatProperties;
2711
2712typedef struct VkImageFormatProperties {
2713 VkExtent3D maxExtent;
2714 uint32_t maxMipLevels;
2715 uint32_t maxArrayLayers;
2716 VkSampleCountFlags sampleCounts;
2717 VkDeviceSize maxResourceSize;
2718} VkImageFormatProperties;
2719
2720typedef struct VkInstanceCreateInfo {
2721 VkStructureType sType;
2722 const void* pNext;
2723 VkInstanceCreateFlags flags;
2724 const VkApplicationInfo* pApplicationInfo;
2725 uint32_t enabledLayerCount;
2726 const char* const* ppEnabledLayerNames;
2727 uint32_t enabledExtensionCount;
2728 const char* const* ppEnabledExtensionNames;
2729} VkInstanceCreateInfo;
2730
2731typedef struct VkMemoryHeap {
2732 VkDeviceSize size;
2733 VkMemoryHeapFlags flags;
2734} VkMemoryHeap;
2735
2736typedef struct VkMemoryType {
2737 VkMemoryPropertyFlags propertyFlags;
2738 uint32_t heapIndex;
2739} VkMemoryType;
2740
2741typedef struct VkPhysicalDeviceFeatures {
2742 VkBool32 robustBufferAccess;
2743 VkBool32 fullDrawIndexUint32;
2744 VkBool32 imageCubeArray;
2745 VkBool32 independentBlend;
2746 VkBool32 geometryShader;
2747 VkBool32 tessellationShader;
2748 VkBool32 sampleRateShading;
2749 VkBool32 dualSrcBlend;
2750 VkBool32 logicOp;
2751 VkBool32 multiDrawIndirect;
2752 VkBool32 drawIndirectFirstInstance;
2753 VkBool32 depthClamp;
2754 VkBool32 depthBiasClamp;
2755 VkBool32 fillModeNonSolid;
2756 VkBool32 depthBounds;
2757 VkBool32 wideLines;
2758 VkBool32 largePoints;
2759 VkBool32 alphaToOne;
2760 VkBool32 multiViewport;
2761 VkBool32 samplerAnisotropy;
2762 VkBool32 textureCompressionETC2;
2763 VkBool32 textureCompressionASTC_LDR;
2764 VkBool32 textureCompressionBC;
2765 VkBool32 occlusionQueryPrecise;
2766 VkBool32 pipelineStatisticsQuery;
2767 VkBool32 vertexPipelineStoresAndAtomics;
2768 VkBool32 fragmentStoresAndAtomics;
2769 VkBool32 shaderTessellationAndGeometryPointSize;
2770 VkBool32 shaderImageGatherExtended;
2771 VkBool32 shaderStorageImageExtendedFormats;
2772 VkBool32 shaderStorageImageMultisample;
2773 VkBool32 shaderStorageImageReadWithoutFormat;
2774 VkBool32 shaderStorageImageWriteWithoutFormat;
2775 VkBool32 shaderUniformBufferArrayDynamicIndexing;
2776 VkBool32 shaderSampledImageArrayDynamicIndexing;
2777 VkBool32 shaderStorageBufferArrayDynamicIndexing;
2778 VkBool32 shaderStorageImageArrayDynamicIndexing;
2779 VkBool32 shaderClipDistance;
2780 VkBool32 shaderCullDistance;
2781 VkBool32 shaderFloat64;
2782 VkBool32 shaderInt64;
2783 VkBool32 shaderInt16;
2784 VkBool32 shaderResourceResidency;
2785 VkBool32 shaderResourceMinLod;
2786 VkBool32 sparseBinding;
2787 VkBool32 sparseResidencyBuffer;
2788 VkBool32 sparseResidencyImage2D;
2789 VkBool32 sparseResidencyImage3D;
2790 VkBool32 sparseResidency2Samples;
2791 VkBool32 sparseResidency4Samples;
2792 VkBool32 sparseResidency8Samples;
2793 VkBool32 sparseResidency16Samples;
2794 VkBool32 sparseResidencyAliased;
2795 VkBool32 variableMultisampleRate;
2796 VkBool32 inheritedQueries;
2797} VkPhysicalDeviceFeatures;
2798
2799typedef struct VkPhysicalDeviceLimits {
2800 uint32_t maxImageDimension1D;
2801 uint32_t maxImageDimension2D;
2802 uint32_t maxImageDimension3D;
2803 uint32_t maxImageDimensionCube;
2804 uint32_t maxImageArrayLayers;
2805 uint32_t maxTexelBufferElements;
2806 uint32_t maxUniformBufferRange;
2807 uint32_t maxStorageBufferRange;
2808 uint32_t maxPushConstantsSize;
2809 uint32_t maxMemoryAllocationCount;
2810 uint32_t maxSamplerAllocationCount;
2811 VkDeviceSize bufferImageGranularity;
2812 VkDeviceSize sparseAddressSpaceSize;
2813 uint32_t maxBoundDescriptorSets;
2814 uint32_t maxPerStageDescriptorSamplers;
2815 uint32_t maxPerStageDescriptorUniformBuffers;
2816 uint32_t maxPerStageDescriptorStorageBuffers;
2817 uint32_t maxPerStageDescriptorSampledImages;
2818 uint32_t maxPerStageDescriptorStorageImages;
2819 uint32_t maxPerStageDescriptorInputAttachments;
2820 uint32_t maxPerStageResources;
2821 uint32_t maxDescriptorSetSamplers;
2822 uint32_t maxDescriptorSetUniformBuffers;
2823 uint32_t maxDescriptorSetUniformBuffersDynamic;
2824 uint32_t maxDescriptorSetStorageBuffers;
2825 uint32_t maxDescriptorSetStorageBuffersDynamic;
2826 uint32_t maxDescriptorSetSampledImages;
2827 uint32_t maxDescriptorSetStorageImages;
2828 uint32_t maxDescriptorSetInputAttachments;
2829 uint32_t maxVertexInputAttributes;
2830 uint32_t maxVertexInputBindings;
2831 uint32_t maxVertexInputAttributeOffset;
2832 uint32_t maxVertexInputBindingStride;
2833 uint32_t maxVertexOutputComponents;
2834 uint32_t maxTessellationGenerationLevel;
2835 uint32_t maxTessellationPatchSize;
2836 uint32_t maxTessellationControlPerVertexInputComponents;
2837 uint32_t maxTessellationControlPerVertexOutputComponents;
2838 uint32_t maxTessellationControlPerPatchOutputComponents;
2839 uint32_t maxTessellationControlTotalOutputComponents;
2840 uint32_t maxTessellationEvaluationInputComponents;
2841 uint32_t maxTessellationEvaluationOutputComponents;
2842 uint32_t maxGeometryShaderInvocations;
2843 uint32_t maxGeometryInputComponents;
2844 uint32_t maxGeometryOutputComponents;
2845 uint32_t maxGeometryOutputVertices;
2846 uint32_t maxGeometryTotalOutputComponents;
2847 uint32_t maxFragmentInputComponents;
2848 uint32_t maxFragmentOutputAttachments;
2849 uint32_t maxFragmentDualSrcAttachments;
2850 uint32_t maxFragmentCombinedOutputResources;
2851 uint32_t maxComputeSharedMemorySize;
2852 uint32_t maxComputeWorkGroupCount[3];
2853 uint32_t maxComputeWorkGroupInvocations;
2854 uint32_t maxComputeWorkGroupSize[3];
2855 uint32_t subPixelPrecisionBits;
2856 uint32_t subTexelPrecisionBits;
2857 uint32_t mipmapPrecisionBits;
2858 uint32_t maxDrawIndexedIndexValue;
2859 uint32_t maxDrawIndirectCount;
2860 float maxSamplerLodBias;
2861 float maxSamplerAnisotropy;
2862 uint32_t maxViewports;
2863 uint32_t maxViewportDimensions[2];
2864 float viewportBoundsRange[2];
2865 uint32_t viewportSubPixelBits;
2866 size_t minMemoryMapAlignment;
2867 VkDeviceSize minTexelBufferOffsetAlignment;
2868 VkDeviceSize minUniformBufferOffsetAlignment;
2869 VkDeviceSize minStorageBufferOffsetAlignment;
2870 int32_t minTexelOffset;
2871 uint32_t maxTexelOffset;
2872 int32_t minTexelGatherOffset;
2873 uint32_t maxTexelGatherOffset;
2874 float minInterpolationOffset;
2875 float maxInterpolationOffset;
2876 uint32_t subPixelInterpolationOffsetBits;
2877 uint32_t maxFramebufferWidth;
2878 uint32_t maxFramebufferHeight;
2879 uint32_t maxFramebufferLayers;
2880 VkSampleCountFlags framebufferColorSampleCounts;
2881 VkSampleCountFlags framebufferDepthSampleCounts;
2882 VkSampleCountFlags framebufferStencilSampleCounts;
2883 VkSampleCountFlags framebufferNoAttachmentsSampleCounts;
2884 uint32_t maxColorAttachments;
2885 VkSampleCountFlags sampledImageColorSampleCounts;
2886 VkSampleCountFlags sampledImageIntegerSampleCounts;
2887 VkSampleCountFlags sampledImageDepthSampleCounts;
2888 VkSampleCountFlags sampledImageStencilSampleCounts;
2889 VkSampleCountFlags storageImageSampleCounts;
2890 uint32_t maxSampleMaskWords;
2891 VkBool32 timestampComputeAndGraphics;
2892 float timestampPeriod;
2893 uint32_t maxClipDistances;
2894 uint32_t maxCullDistances;
2895 uint32_t maxCombinedClipAndCullDistances;
2896 uint32_t discreteQueuePriorities;
2897 float pointSizeRange[2];
2898 float lineWidthRange[2];
2899 float pointSizeGranularity;
2900 float lineWidthGranularity;
2901 VkBool32 strictLines;
2902 VkBool32 standardSampleLocations;
2903 VkDeviceSize optimalBufferCopyOffsetAlignment;
2904 VkDeviceSize optimalBufferCopyRowPitchAlignment;
2905 VkDeviceSize nonCoherentAtomSize;
2906} VkPhysicalDeviceLimits;
2907
2908typedef struct VkPhysicalDeviceMemoryProperties {
2909 uint32_t memoryTypeCount;
2910 VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES];
2911 uint32_t memoryHeapCount;
2912 VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS];
2913} VkPhysicalDeviceMemoryProperties;
2914
2915typedef struct VkPhysicalDeviceSparseProperties {
2916 VkBool32 residencyStandard2DBlockShape;
2917 VkBool32 residencyStandard2DMultisampleBlockShape;
2918 VkBool32 residencyStandard3DBlockShape;
2919 VkBool32 residencyAlignedMipSize;
2920 VkBool32 residencyNonResidentStrict;
2921} VkPhysicalDeviceSparseProperties;
2922
2923typedef struct VkPhysicalDeviceProperties {
2924 uint32_t apiVersion;
2925 uint32_t driverVersion;
2926 uint32_t vendorID;
2927 uint32_t deviceID;
2928 VkPhysicalDeviceType deviceType;
2929 char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
2930 uint8_t pipelineCacheUUID[VK_UUID_SIZE];
2931 VkPhysicalDeviceLimits limits;
2932 VkPhysicalDeviceSparseProperties sparseProperties;
2933} VkPhysicalDeviceProperties;
2934
2935typedef struct VkQueueFamilyProperties {
2936 VkQueueFlags queueFlags;
2937 uint32_t queueCount;
2938 uint32_t timestampValidBits;
2939 VkExtent3D minImageTransferGranularity;
2940} VkQueueFamilyProperties;
2941
2942typedef struct VkDeviceQueueCreateInfo {
2943 VkStructureType sType;
2944 const void* pNext;
2945 VkDeviceQueueCreateFlags flags;
2946 uint32_t queueFamilyIndex;
2947 uint32_t queueCount;
2948 const float* pQueuePriorities;
2949} VkDeviceQueueCreateInfo;
2950
2951typedef struct VkDeviceCreateInfo {
2952 VkStructureType sType;
2953 const void* pNext;
2954 VkDeviceCreateFlags flags;
2955 uint32_t queueCreateInfoCount;
2956 const VkDeviceQueueCreateInfo* pQueueCreateInfos;
2957 uint32_t enabledLayerCount;
2958 const char* const* ppEnabledLayerNames;
2959 uint32_t enabledExtensionCount;
2960 const char* const* ppEnabledExtensionNames;
2961 const VkPhysicalDeviceFeatures* pEnabledFeatures;
2962} VkDeviceCreateInfo;
2963
2964typedef struct VkExtensionProperties {
2965 char extensionName[VK_MAX_EXTENSION_NAME_SIZE];
2966 uint32_t specVersion;
2967} VkExtensionProperties;
2968
2969typedef struct VkLayerProperties {
2970 char layerName[VK_MAX_EXTENSION_NAME_SIZE];
2971 uint32_t specVersion;
2972 uint32_t implementationVersion;
2973 char description[VK_MAX_DESCRIPTION_SIZE];
2974} VkLayerProperties;
2975
2976typedef struct VkSubmitInfo {
2977 VkStructureType sType;
2978 const void* pNext;
2979 uint32_t waitSemaphoreCount;
2980 const VkSemaphore* pWaitSemaphores;
2981 const VkPipelineStageFlags* pWaitDstStageMask;
2982 uint32_t commandBufferCount;
2983 const VkCommandBuffer* pCommandBuffers;
2984 uint32_t signalSemaphoreCount;
2985 const VkSemaphore* pSignalSemaphores;
2986} VkSubmitInfo;
2987
2988typedef struct VkMappedMemoryRange {
2989 VkStructureType sType;
2990 const void* pNext;
2991 VkDeviceMemory memory;
2992 VkDeviceSize offset;
2993 VkDeviceSize size;
2994} VkMappedMemoryRange;
2995
2996typedef struct VkMemoryAllocateInfo {
2997 VkStructureType sType;
2998 const void* pNext;
2999 VkDeviceSize allocationSize;
3000 uint32_t memoryTypeIndex;
3001} VkMemoryAllocateInfo;
3002
3003typedef struct VkMemoryRequirements {
3004 VkDeviceSize size;
3005 VkDeviceSize alignment;
3006 uint32_t memoryTypeBits;
3007} VkMemoryRequirements;
3008
3009typedef struct VkSparseMemoryBind {
3010 VkDeviceSize resourceOffset;
3011 VkDeviceSize size;
3012 VkDeviceMemory memory;
3013 VkDeviceSize memoryOffset;
3014 VkSparseMemoryBindFlags flags;
3015} VkSparseMemoryBind;
3016
3017typedef struct VkSparseBufferMemoryBindInfo {
3018 VkBuffer buffer;
3019 uint32_t bindCount;
3020 const VkSparseMemoryBind* pBinds;
3021} VkSparseBufferMemoryBindInfo;
3022
3023typedef struct VkSparseImageOpaqueMemoryBindInfo {
3024 VkImage image;
3025 uint32_t bindCount;
3026 const VkSparseMemoryBind* pBinds;
3027} VkSparseImageOpaqueMemoryBindInfo;
3028
3029typedef struct VkImageSubresource {
3030 VkImageAspectFlags aspectMask;
3031 uint32_t mipLevel;
3032 uint32_t arrayLayer;
3033} VkImageSubresource;
3034
3035typedef struct VkSparseImageMemoryBind {
3036 VkImageSubresource subresource;
3037 VkOffset3D offset;
3038 VkExtent3D extent;
3039 VkDeviceMemory memory;
3040 VkDeviceSize memoryOffset;
3041 VkSparseMemoryBindFlags flags;
3042} VkSparseImageMemoryBind;
3043
3044typedef struct VkSparseImageMemoryBindInfo {
3045 VkImage image;
3046 uint32_t bindCount;
3047 const VkSparseImageMemoryBind* pBinds;
3048} VkSparseImageMemoryBindInfo;
3049
3050typedef struct VkBindSparseInfo {
3051 VkStructureType sType;
3052 const void* pNext;
3053 uint32_t waitSemaphoreCount;
3054 const VkSemaphore* pWaitSemaphores;
3055 uint32_t bufferBindCount;
3056 const VkSparseBufferMemoryBindInfo* pBufferBinds;
3057 uint32_t imageOpaqueBindCount;
3058 const VkSparseImageOpaqueMemoryBindInfo* pImageOpaqueBinds;
3059 uint32_t imageBindCount;
3060 const VkSparseImageMemoryBindInfo* pImageBinds;
3061 uint32_t signalSemaphoreCount;
3062 const VkSemaphore* pSignalSemaphores;
3063} VkBindSparseInfo;
3064
3065typedef struct VkSparseImageFormatProperties {
3066 VkImageAspectFlags aspectMask;
3067 VkExtent3D imageGranularity;
3068 VkSparseImageFormatFlags flags;
3069} VkSparseImageFormatProperties;
3070
3071typedef struct VkSparseImageMemoryRequirements {
3072 VkSparseImageFormatProperties formatProperties;
3073 uint32_t imageMipTailFirstLod;
3074 VkDeviceSize imageMipTailSize;
3075 VkDeviceSize imageMipTailOffset;
3076 VkDeviceSize imageMipTailStride;
3077} VkSparseImageMemoryRequirements;
3078
3079typedef struct VkFenceCreateInfo {
3080 VkStructureType sType;
3081 const void* pNext;
3082 VkFenceCreateFlags flags;
3083} VkFenceCreateInfo;
3084
3085typedef struct VkSemaphoreCreateInfo {
3086 VkStructureType sType;
3087 const void* pNext;
3088 VkSemaphoreCreateFlags flags;
3089} VkSemaphoreCreateInfo;
3090
3091typedef struct VkEventCreateInfo {
3092 VkStructureType sType;
3093 const void* pNext;
3094 VkEventCreateFlags flags;
3095} VkEventCreateInfo;
3096
3097typedef struct VkQueryPoolCreateInfo {
3098 VkStructureType sType;
3099 const void* pNext;
3100 VkQueryPoolCreateFlags flags;
3101 VkQueryType queryType;
3102 uint32_t queryCount;
3103 VkQueryPipelineStatisticFlags pipelineStatistics;
3104} VkQueryPoolCreateInfo;
3105
3106typedef struct VkBufferCreateInfo {
3107 VkStructureType sType;
3108 const void* pNext;
3109 VkBufferCreateFlags flags;
3110 VkDeviceSize size;
3111 VkBufferUsageFlags usage;
3112 VkSharingMode sharingMode;
3113 uint32_t queueFamilyIndexCount;
3114 const uint32_t* pQueueFamilyIndices;
3115} VkBufferCreateInfo;
3116
3117typedef struct VkBufferViewCreateInfo {
3118 VkStructureType sType;
3119 const void* pNext;
3120 VkBufferViewCreateFlags flags;
3121 VkBuffer buffer;
3122 VkFormat format;
3123 VkDeviceSize offset;
3124 VkDeviceSize range;
3125} VkBufferViewCreateInfo;
3126
3127typedef struct VkImageCreateInfo {
3128 VkStructureType sType;
3129 const void* pNext;
3130 VkImageCreateFlags flags;
3131 VkImageType imageType;
3132 VkFormat format;
3133 VkExtent3D extent;
3134 uint32_t mipLevels;
3135 uint32_t arrayLayers;
3136 VkSampleCountFlagBits samples;
3137 VkImageTiling tiling;
3138 VkImageUsageFlags usage;
3139 VkSharingMode sharingMode;
3140 uint32_t queueFamilyIndexCount;
3141 const uint32_t* pQueueFamilyIndices;
3142 VkImageLayout initialLayout;
3143} VkImageCreateInfo;
3144
3145typedef struct VkSubresourceLayout {
3146 VkDeviceSize offset;
3147 VkDeviceSize size;
3148 VkDeviceSize rowPitch;
3149 VkDeviceSize arrayPitch;
3150 VkDeviceSize depthPitch;
3151} VkSubresourceLayout;
3152
3153typedef struct VkComponentMapping {
3154 VkComponentSwizzle r;
3155 VkComponentSwizzle g;
3156 VkComponentSwizzle b;
3157 VkComponentSwizzle a;
3158} VkComponentMapping;
3159
3160typedef struct VkImageViewCreateInfo {
3161 VkStructureType sType;
3162 const void* pNext;
3163 VkImageViewCreateFlags flags;
3164 VkImage image;
3165 VkImageViewType viewType;
3166 VkFormat format;
3167 VkComponentMapping components;
3168 VkImageSubresourceRange subresourceRange;
3169} VkImageViewCreateInfo;
3170
3171typedef struct VkShaderModuleCreateInfo {
3172 VkStructureType sType;
3173 const void* pNext;
3174 VkShaderModuleCreateFlags flags;
3175 size_t codeSize;
3176 const uint32_t* pCode;
3177} VkShaderModuleCreateInfo;
3178
3179typedef struct VkPipelineCacheCreateInfo {
3180 VkStructureType sType;
3181 const void* pNext;
3182 VkPipelineCacheCreateFlags flags;
3183 size_t initialDataSize;
3184 const void* pInitialData;
3185} VkPipelineCacheCreateInfo;
3186
3187typedef struct VkSpecializationMapEntry {
3188 uint32_t constantID;
3189 uint32_t offset;
3190 size_t size;
3191} VkSpecializationMapEntry;
3192
3193typedef struct VkSpecializationInfo {
3194 uint32_t mapEntryCount;
3195 const VkSpecializationMapEntry* pMapEntries;
3196 size_t dataSize;
3197 const void* pData;
3198} VkSpecializationInfo;
3199
3200typedef struct VkPipelineShaderStageCreateInfo {
3201 VkStructureType sType;
3202 const void* pNext;
3203 VkPipelineShaderStageCreateFlags flags;
3204 VkShaderStageFlagBits stage;
3205 VkShaderModule module;
3206 const char* pName;
3207 const VkSpecializationInfo* pSpecializationInfo;
3208} VkPipelineShaderStageCreateInfo;
3209
3210typedef struct VkComputePipelineCreateInfo {
3211 VkStructureType sType;
3212 const void* pNext;
3213 VkPipelineCreateFlags flags;
3214 VkPipelineShaderStageCreateInfo stage;
3215 VkPipelineLayout layout;
3216 VkPipeline basePipelineHandle;
3217 int32_t basePipelineIndex;
3218} VkComputePipelineCreateInfo;
3219
3220typedef struct VkVertexInputBindingDescription {
3221 uint32_t binding;
3222 uint32_t stride;
3223 VkVertexInputRate inputRate;
3224} VkVertexInputBindingDescription;
3225
3226typedef struct VkVertexInputAttributeDescription {
3227 uint32_t location;
3228 uint32_t binding;
3229 VkFormat format;
3230 uint32_t offset;
3231} VkVertexInputAttributeDescription;
3232
3233typedef struct VkPipelineVertexInputStateCreateInfo {
3234 VkStructureType sType;
3235 const void* pNext;
3236 VkPipelineVertexInputStateCreateFlags flags;
3237 uint32_t vertexBindingDescriptionCount;
3238 const VkVertexInputBindingDescription* pVertexBindingDescriptions;
3239 uint32_t vertexAttributeDescriptionCount;
3240 const VkVertexInputAttributeDescription* pVertexAttributeDescriptions;
3241} VkPipelineVertexInputStateCreateInfo;
3242
3243typedef struct VkPipelineInputAssemblyStateCreateInfo {
3244 VkStructureType sType;
3245 const void* pNext;
3246 VkPipelineInputAssemblyStateCreateFlags flags;
3247 VkPrimitiveTopology topology;
3248 VkBool32 primitiveRestartEnable;
3249} VkPipelineInputAssemblyStateCreateInfo;
3250
3251typedef struct VkPipelineTessellationStateCreateInfo {
3252 VkStructureType sType;
3253 const void* pNext;
3254 VkPipelineTessellationStateCreateFlags flags;
3255 uint32_t patchControlPoints;
3256} VkPipelineTessellationStateCreateInfo;
3257
3258typedef struct VkViewport {
3259 float x;
3260 float y;
3261 float width;
3262 float height;
3263 float minDepth;
3264 float maxDepth;
3265} VkViewport;
3266
3267typedef struct VkPipelineViewportStateCreateInfo {
3268 VkStructureType sType;
3269 const void* pNext;
3270 VkPipelineViewportStateCreateFlags flags;
3271 uint32_t viewportCount;
3272 const VkViewport* pViewports;
3273 uint32_t scissorCount;
3274 const VkRect2D* pScissors;
3275} VkPipelineViewportStateCreateInfo;
3276
3277typedef struct VkPipelineRasterizationStateCreateInfo {
3278 VkStructureType sType;
3279 const void* pNext;
3280 VkPipelineRasterizationStateCreateFlags flags;
3281 VkBool32 depthClampEnable;
3282 VkBool32 rasterizerDiscardEnable;
3283 VkPolygonMode polygonMode;
3284 VkCullModeFlags cullMode;
3285 VkFrontFace frontFace;
3286 VkBool32 depthBiasEnable;
3287 float depthBiasConstantFactor;
3288 float depthBiasClamp;
3289 float depthBiasSlopeFactor;
3290 float lineWidth;
3291} VkPipelineRasterizationStateCreateInfo;
3292
3293typedef struct VkPipelineMultisampleStateCreateInfo {
3294 VkStructureType sType;
3295 const void* pNext;
3296 VkPipelineMultisampleStateCreateFlags flags;
3297 VkSampleCountFlagBits rasterizationSamples;
3298 VkBool32 sampleShadingEnable;
3299 float minSampleShading;
3300 const VkSampleMask* pSampleMask;
3301 VkBool32 alphaToCoverageEnable;
3302 VkBool32 alphaToOneEnable;
3303} VkPipelineMultisampleStateCreateInfo;
3304
3305typedef struct VkStencilOpState {
3306 VkStencilOp failOp;
3307 VkStencilOp passOp;
3308 VkStencilOp depthFailOp;
3309 VkCompareOp compareOp;
3310 uint32_t compareMask;
3311 uint32_t writeMask;
3312 uint32_t reference;
3313} VkStencilOpState;
3314
3315typedef struct VkPipelineDepthStencilStateCreateInfo {
3316 VkStructureType sType;
3317 const void* pNext;
3318 VkPipelineDepthStencilStateCreateFlags flags;
3319 VkBool32 depthTestEnable;
3320 VkBool32 depthWriteEnable;
3321 VkCompareOp depthCompareOp;
3322 VkBool32 depthBoundsTestEnable;
3323 VkBool32 stencilTestEnable;
3324 VkStencilOpState front;
3325 VkStencilOpState back;
3326 float minDepthBounds;
3327 float maxDepthBounds;
3328} VkPipelineDepthStencilStateCreateInfo;
3329
3330typedef struct VkPipelineColorBlendAttachmentState {
3331 VkBool32 blendEnable;
3332 VkBlendFactor srcColorBlendFactor;
3333 VkBlendFactor dstColorBlendFactor;
3334 VkBlendOp colorBlendOp;
3335 VkBlendFactor srcAlphaBlendFactor;
3336 VkBlendFactor dstAlphaBlendFactor;
3337 VkBlendOp alphaBlendOp;
3338 VkColorComponentFlags colorWriteMask;
3339} VkPipelineColorBlendAttachmentState;
3340
3341typedef struct VkPipelineColorBlendStateCreateInfo {
3342 VkStructureType sType;
3343 const void* pNext;
3344 VkPipelineColorBlendStateCreateFlags flags;
3345 VkBool32 logicOpEnable;
3346 VkLogicOp logicOp;
3347 uint32_t attachmentCount;
3348 const VkPipelineColorBlendAttachmentState* pAttachments;
3349 float blendConstants[4];
3350} VkPipelineColorBlendStateCreateInfo;
3351
3352typedef struct VkPipelineDynamicStateCreateInfo {
3353 VkStructureType sType;
3354 const void* pNext;
3355 VkPipelineDynamicStateCreateFlags flags;
3356 uint32_t dynamicStateCount;
3357 const VkDynamicState* pDynamicStates;
3358} VkPipelineDynamicStateCreateInfo;
3359
3360typedef struct VkGraphicsPipelineCreateInfo {
3361 VkStructureType sType;
3362 const void* pNext;
3363 VkPipelineCreateFlags flags;
3364 uint32_t stageCount;
3365 const VkPipelineShaderStageCreateInfo* pStages;
3366 const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
3367 const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState;
3368 const VkPipelineTessellationStateCreateInfo* pTessellationState;
3369 const VkPipelineViewportStateCreateInfo* pViewportState;
3370 const VkPipelineRasterizationStateCreateInfo* pRasterizationState;
3371 const VkPipelineMultisampleStateCreateInfo* pMultisampleState;
3372 const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState;
3373 const VkPipelineColorBlendStateCreateInfo* pColorBlendState;
3374 const VkPipelineDynamicStateCreateInfo* pDynamicState;
3375 VkPipelineLayout layout;
3376 VkRenderPass renderPass;
3377 uint32_t subpass;
3378 VkPipeline basePipelineHandle;
3379 int32_t basePipelineIndex;
3380} VkGraphicsPipelineCreateInfo;
3381
3382typedef struct VkPushConstantRange {
3383 VkShaderStageFlags stageFlags;
3384 uint32_t offset;
3385 uint32_t size;
3386} VkPushConstantRange;
3387
3388typedef struct VkPipelineLayoutCreateInfo {
3389 VkStructureType sType;
3390 const void* pNext;
3391 VkPipelineLayoutCreateFlags flags;
3392 uint32_t setLayoutCount;
3393 const VkDescriptorSetLayout* pSetLayouts;
3394 uint32_t pushConstantRangeCount;
3395 const VkPushConstantRange* pPushConstantRanges;
3396} VkPipelineLayoutCreateInfo;
3397
3398typedef struct VkSamplerCreateInfo {
3399 VkStructureType sType;
3400 const void* pNext;
3401 VkSamplerCreateFlags flags;
3402 VkFilter magFilter;
3403 VkFilter minFilter;
3404 VkSamplerMipmapMode mipmapMode;
3405 VkSamplerAddressMode addressModeU;
3406 VkSamplerAddressMode addressModeV;
3407 VkSamplerAddressMode addressModeW;
3408 float mipLodBias;
3409 VkBool32 anisotropyEnable;
3410 float maxAnisotropy;
3411 VkBool32 compareEnable;
3412 VkCompareOp compareOp;
3413 float minLod;
3414 float maxLod;
3415 VkBorderColor borderColor;
3416 VkBool32 unnormalizedCoordinates;
3417} VkSamplerCreateInfo;
3418
3419typedef struct VkCopyDescriptorSet {
3420 VkStructureType sType;
3421 const void* pNext;
3422 VkDescriptorSet srcSet;
3423 uint32_t srcBinding;
3424 uint32_t srcArrayElement;
3425 VkDescriptorSet dstSet;
3426 uint32_t dstBinding;
3427 uint32_t dstArrayElement;
3428 uint32_t descriptorCount;
3429} VkCopyDescriptorSet;
3430
3431typedef struct VkDescriptorBufferInfo {
3432 VkBuffer buffer;
3433 VkDeviceSize offset;
3434 VkDeviceSize range;
3435} VkDescriptorBufferInfo;
3436
3437typedef struct VkDescriptorImageInfo {
3438 VkSampler sampler;
3439 VkImageView imageView;
3440 VkImageLayout imageLayout;
3441} VkDescriptorImageInfo;
3442
3443typedef struct VkDescriptorPoolSize {
3444 VkDescriptorType type;
3445 uint32_t descriptorCount;
3446} VkDescriptorPoolSize;
3447
3448typedef struct VkDescriptorPoolCreateInfo {
3449 VkStructureType sType;
3450 const void* pNext;
3451 VkDescriptorPoolCreateFlags flags;
3452 uint32_t maxSets;
3453 uint32_t poolSizeCount;
3454 const VkDescriptorPoolSize* pPoolSizes;
3455} VkDescriptorPoolCreateInfo;
3456
3457typedef struct VkDescriptorSetAllocateInfo {
3458 VkStructureType sType;
3459 const void* pNext;
3460 VkDescriptorPool descriptorPool;
3461 uint32_t descriptorSetCount;
3462 const VkDescriptorSetLayout* pSetLayouts;
3463} VkDescriptorSetAllocateInfo;
3464
3465typedef struct VkDescriptorSetLayoutBinding {
3466 uint32_t binding;
3467 VkDescriptorType descriptorType;
3468 uint32_t descriptorCount;
3469 VkShaderStageFlags stageFlags;
3470 const VkSampler* pImmutableSamplers;
3471} VkDescriptorSetLayoutBinding;
3472
3473typedef struct VkDescriptorSetLayoutCreateInfo {
3474 VkStructureType sType;
3475 const void* pNext;
3476 VkDescriptorSetLayoutCreateFlags flags;
3477 uint32_t bindingCount;
3478 const VkDescriptorSetLayoutBinding* pBindings;
3479} VkDescriptorSetLayoutCreateInfo;
3480
3481typedef struct VkWriteDescriptorSet {
3482 VkStructureType sType;
3483 const void* pNext;
3484 VkDescriptorSet dstSet;
3485 uint32_t dstBinding;
3486 uint32_t dstArrayElement;
3487 uint32_t descriptorCount;
3488 VkDescriptorType descriptorType;
3489 const VkDescriptorImageInfo* pImageInfo;
3490 const VkDescriptorBufferInfo* pBufferInfo;
3491 const VkBufferView* pTexelBufferView;
3492} VkWriteDescriptorSet;
3493
3494typedef struct VkAttachmentDescription {
3495 VkAttachmentDescriptionFlags flags;
3496 VkFormat format;
3497 VkSampleCountFlagBits samples;
3498 VkAttachmentLoadOp loadOp;
3499 VkAttachmentStoreOp storeOp;
3500 VkAttachmentLoadOp stencilLoadOp;
3501 VkAttachmentStoreOp stencilStoreOp;
3502 VkImageLayout initialLayout;
3503 VkImageLayout finalLayout;
3504} VkAttachmentDescription;
3505
3506typedef struct VkAttachmentReference {
3507 uint32_t attachment;
3508 VkImageLayout layout;
3509} VkAttachmentReference;
3510
3511typedef struct VkFramebufferCreateInfo {
3512 VkStructureType sType;
3513 const void* pNext;
3514 VkFramebufferCreateFlags flags;
3515 VkRenderPass renderPass;
3516 uint32_t attachmentCount;
3517 const VkImageView* pAttachments;
3518 uint32_t width;
3519 uint32_t height;
3520 uint32_t layers;
3521} VkFramebufferCreateInfo;
3522
3523typedef struct VkSubpassDescription {
3524 VkSubpassDescriptionFlags flags;
3525 VkPipelineBindPoint pipelineBindPoint;
3526 uint32_t inputAttachmentCount;
3527 const VkAttachmentReference* pInputAttachments;
3528 uint32_t colorAttachmentCount;
3529 const VkAttachmentReference* pColorAttachments;
3530 const VkAttachmentReference* pResolveAttachments;
3531 const VkAttachmentReference* pDepthStencilAttachment;
3532 uint32_t preserveAttachmentCount;
3533 const uint32_t* pPreserveAttachments;
3534} VkSubpassDescription;
3535
3536typedef struct VkSubpassDependency {
3537 uint32_t srcSubpass;
3538 uint32_t dstSubpass;
3539 VkPipelineStageFlags srcStageMask;
3540 VkPipelineStageFlags dstStageMask;
3541 VkAccessFlags srcAccessMask;
3542 VkAccessFlags dstAccessMask;
3543 VkDependencyFlags dependencyFlags;
3544} VkSubpassDependency;
3545
3546typedef struct VkRenderPassCreateInfo {
3547 VkStructureType sType;
3548 const void* pNext;
3549 VkRenderPassCreateFlags flags;
3550 uint32_t attachmentCount;
3551 const VkAttachmentDescription* pAttachments;
3552 uint32_t subpassCount;
3553 const VkSubpassDescription* pSubpasses;
3554 uint32_t dependencyCount;
3555 const VkSubpassDependency* pDependencies;
3556} VkRenderPassCreateInfo;
3557
3558typedef struct VkCommandPoolCreateInfo {
3559 VkStructureType sType;
3560 const void* pNext;
3561 VkCommandPoolCreateFlags flags;
3562 uint32_t queueFamilyIndex;
3563} VkCommandPoolCreateInfo;
3564
3565typedef struct VkCommandBufferAllocateInfo {
3566 VkStructureType sType;
3567 const void* pNext;
3568 VkCommandPool commandPool;
3569 VkCommandBufferLevel level;
3570 uint32_t commandBufferCount;
3571} VkCommandBufferAllocateInfo;
3572
3573typedef struct VkCommandBufferInheritanceInfo {
3574 VkStructureType sType;
3575 const void* pNext;
3576 VkRenderPass renderPass;
3577 uint32_t subpass;
3578 VkFramebuffer framebuffer;
3579 VkBool32 occlusionQueryEnable;
3580 VkQueryControlFlags queryFlags;
3581 VkQueryPipelineStatisticFlags pipelineStatistics;
3582} VkCommandBufferInheritanceInfo;
3583
3584typedef struct VkCommandBufferBeginInfo {
3585 VkStructureType sType;
3586 const void* pNext;
3587 VkCommandBufferUsageFlags flags;
3588 const VkCommandBufferInheritanceInfo* pInheritanceInfo;
3589} VkCommandBufferBeginInfo;
3590
3591typedef struct VkBufferCopy {
3592 VkDeviceSize srcOffset;
3593 VkDeviceSize dstOffset;
3594 VkDeviceSize size;
3595} VkBufferCopy;
3596
3597typedef struct VkImageSubresourceLayers {
3598 VkImageAspectFlags aspectMask;
3599 uint32_t mipLevel;
3600 uint32_t baseArrayLayer;
3601 uint32_t layerCount;
3602} VkImageSubresourceLayers;
3603
3604typedef struct VkBufferImageCopy {
3605 VkDeviceSize bufferOffset;
3606 uint32_t bufferRowLength;
3607 uint32_t bufferImageHeight;
3608 VkImageSubresourceLayers imageSubresource;
3609 VkOffset3D imageOffset;
3610 VkExtent3D imageExtent;
3611} VkBufferImageCopy;
3612
3613typedef union VkClearColorValue {
3614 float float32[4];
3615 int32_t int32[4];
3616 uint32_t uint32[4];
3617} VkClearColorValue;
3618
3619typedef struct VkClearDepthStencilValue {
3620 float depth;
3621 uint32_t stencil;
3622} VkClearDepthStencilValue;
3623
3624typedef union VkClearValue {
3625 VkClearColorValue color;
3626 VkClearDepthStencilValue depthStencil;
3627} VkClearValue;
3628
3629typedef struct VkClearAttachment {
3630 VkImageAspectFlags aspectMask;
3631 uint32_t colorAttachment;
3632 VkClearValue clearValue;
3633} VkClearAttachment;
3634
3635typedef struct VkClearRect {
3636 VkRect2D rect;
3637 uint32_t baseArrayLayer;
3638 uint32_t layerCount;
3639} VkClearRect;
3640
3641typedef struct VkImageBlit {
3642 VkImageSubresourceLayers srcSubresource;
3643 VkOffset3D srcOffsets[2];
3644 VkImageSubresourceLayers dstSubresource;
3645 VkOffset3D dstOffsets[2];
3646} VkImageBlit;
3647
3648typedef struct VkImageCopy {
3649 VkImageSubresourceLayers srcSubresource;
3650 VkOffset3D srcOffset;
3651 VkImageSubresourceLayers dstSubresource;
3652 VkOffset3D dstOffset;
3653 VkExtent3D extent;
3654} VkImageCopy;
3655
3656typedef struct VkImageResolve {
3657 VkImageSubresourceLayers srcSubresource;
3658 VkOffset3D srcOffset;
3659 VkImageSubresourceLayers dstSubresource;
3660 VkOffset3D dstOffset;
3661 VkExtent3D extent;
3662} VkImageResolve;
3663
3664typedef struct VkRenderPassBeginInfo {
3665 VkStructureType sType;
3666 const void* pNext;
3667 VkRenderPass renderPass;
3668 VkFramebuffer framebuffer;
3669 VkRect2D renderArea;
3670 uint32_t clearValueCount;
3671 const VkClearValue* pClearValues;
3672} VkRenderPassBeginInfo;
3673
3674typedef VkResult (VKAPI_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance);
3675typedef void (VKAPI_PTR *PFN_vkDestroyInstance)(VkInstance instance, const VkAllocationCallbacks* pAllocator);
3676typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDevices)(VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices);
3677typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures);
3678typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties);
3679typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties);
3680typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties);
3681typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties);
3682typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties);
3683typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddr)(VkInstance instance, const char* pName);
3684typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetDeviceProcAddr)(VkDevice device, const char* pName);
3685typedef VkResult (VKAPI_PTR *PFN_vkCreateDevice)(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice);
3686typedef void (VKAPI_PTR *PFN_vkDestroyDevice)(VkDevice device, const VkAllocationCallbacks* pAllocator);
3687typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceExtensionProperties)(const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties);
3688typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties);
3689typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceLayerProperties)(uint32_t* pPropertyCount, VkLayerProperties* pProperties);
3690typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties);
3691typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue)(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue);
3692typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence);
3693typedef VkResult (VKAPI_PTR *PFN_vkQueueWaitIdle)(VkQueue queue);
3694typedef VkResult (VKAPI_PTR *PFN_vkDeviceWaitIdle)(VkDevice device);
3695typedef VkResult (VKAPI_PTR *PFN_vkAllocateMemory)(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory);
3696typedef void (VKAPI_PTR *PFN_vkFreeMemory)(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator);
3697typedef VkResult (VKAPI_PTR *PFN_vkMapMemory)(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData);
3698typedef void (VKAPI_PTR *PFN_vkUnmapMemory)(VkDevice device, VkDeviceMemory memory);
3699typedef VkResult (VKAPI_PTR *PFN_vkFlushMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
3700typedef VkResult (VKAPI_PTR *PFN_vkInvalidateMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
3701typedef void (VKAPI_PTR *PFN_vkGetDeviceMemoryCommitment)(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes);
3702typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory)(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset);
3703typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory)(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset);
3704typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements)(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements);
3705typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements)(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements);
3706typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements)(VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
3707typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties);
3708typedef VkResult (VKAPI_PTR *PFN_vkQueueBindSparse)(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence);
3709typedef VkResult (VKAPI_PTR *PFN_vkCreateFence)(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
3710typedef void (VKAPI_PTR *PFN_vkDestroyFence)(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator);
3711typedef VkResult (VKAPI_PTR *PFN_vkResetFences)(VkDevice device, uint32_t fenceCount, const VkFence* pFences);
3712typedef VkResult (VKAPI_PTR *PFN_vkGetFenceStatus)(VkDevice device, VkFence fence);
3713typedef VkResult (VKAPI_PTR *PFN_vkWaitForFences)(VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout);
3714typedef VkResult (VKAPI_PTR *PFN_vkCreateSemaphore)(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore);
3715typedef void (VKAPI_PTR *PFN_vkDestroySemaphore)(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator);
3716typedef VkResult (VKAPI_PTR *PFN_vkCreateEvent)(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent);
3717typedef void (VKAPI_PTR *PFN_vkDestroyEvent)(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator);
3718typedef VkResult (VKAPI_PTR *PFN_vkGetEventStatus)(VkDevice device, VkEvent event);
3719typedef VkResult (VKAPI_PTR *PFN_vkSetEvent)(VkDevice device, VkEvent event);
3720typedef VkResult (VKAPI_PTR *PFN_vkResetEvent)(VkDevice device, VkEvent event);
3721typedef VkResult (VKAPI_PTR *PFN_vkCreateQueryPool)(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool);
3722typedef void (VKAPI_PTR *PFN_vkDestroyQueryPool)(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator);
3723typedef VkResult (VKAPI_PTR *PFN_vkGetQueryPoolResults)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags);
3724typedef VkResult (VKAPI_PTR *PFN_vkCreateBuffer)(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer);
3725typedef void (VKAPI_PTR *PFN_vkDestroyBuffer)(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator);
3726typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferView)(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView);
3727typedef void (VKAPI_PTR *PFN_vkDestroyBufferView)(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator);
3728typedef VkResult (VKAPI_PTR *PFN_vkCreateImage)(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage);
3729typedef void (VKAPI_PTR *PFN_vkDestroyImage)(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator);
3730typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout)(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout);
3731typedef VkResult (VKAPI_PTR *PFN_vkCreateImageView)(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView);
3732typedef void (VKAPI_PTR *PFN_vkDestroyImageView)(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator);
3733typedef VkResult (VKAPI_PTR *PFN_vkCreateShaderModule)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule);
3734typedef void (VKAPI_PTR *PFN_vkDestroyShaderModule)(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator);
3735typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineCache)(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache);
3736typedef void (VKAPI_PTR *PFN_vkDestroyPipelineCache)(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator);
3737typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineCacheData)(VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData);
3738typedef VkResult (VKAPI_PTR *PFN_vkMergePipelineCaches)(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches);
3739typedef VkResult (VKAPI_PTR *PFN_vkCreateGraphicsPipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
3740typedef VkResult (VKAPI_PTR *PFN_vkCreateComputePipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
3741typedef void (VKAPI_PTR *PFN_vkDestroyPipeline)(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator);
3742typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineLayout)(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout);
3743typedef void (VKAPI_PTR *PFN_vkDestroyPipelineLayout)(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator);
3744typedef VkResult (VKAPI_PTR *PFN_vkCreateSampler)(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler);
3745typedef void (VKAPI_PTR *PFN_vkDestroySampler)(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator);
3746typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorSetLayout)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout);
3747typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorSetLayout)(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator);
3748typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorPool)(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool);
3749typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator);
3750typedef VkResult (VKAPI_PTR *PFN_vkResetDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags);
3751typedef VkResult (VKAPI_PTR *PFN_vkAllocateDescriptorSets)(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets);
3752typedef VkResult (VKAPI_PTR *PFN_vkFreeDescriptorSets)(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets);
3753typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSets)(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies);
3754typedef VkResult (VKAPI_PTR *PFN_vkCreateFramebuffer)(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer);
3755typedef void (VKAPI_PTR *PFN_vkDestroyFramebuffer)(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator);
3756typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass)(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
3757typedef void (VKAPI_PTR *PFN_vkDestroyRenderPass)(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator);
3758typedef void (VKAPI_PTR *PFN_vkGetRenderAreaGranularity)(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity);
3759typedef VkResult (VKAPI_PTR *PFN_vkCreateCommandPool)(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool);
3760typedef void (VKAPI_PTR *PFN_vkDestroyCommandPool)(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator);
3761typedef VkResult (VKAPI_PTR *PFN_vkResetCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags);
3762typedef VkResult (VKAPI_PTR *PFN_vkAllocateCommandBuffers)(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers);
3763typedef void (VKAPI_PTR *PFN_vkFreeCommandBuffers)(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers);
3764typedef VkResult (VKAPI_PTR *PFN_vkBeginCommandBuffer)(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo);
3765typedef VkResult (VKAPI_PTR *PFN_vkEndCommandBuffer)(VkCommandBuffer commandBuffer);
3766typedef VkResult (VKAPI_PTR *PFN_vkResetCommandBuffer)(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags);
3767typedef void (VKAPI_PTR *PFN_vkCmdBindPipeline)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline);
3768typedef void (VKAPI_PTR *PFN_vkCmdSetViewport)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports);
3769typedef void (VKAPI_PTR *PFN_vkCmdSetScissor)(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors);
3770typedef void (VKAPI_PTR *PFN_vkCmdSetLineWidth)(VkCommandBuffer commandBuffer, float lineWidth);
3771typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias)(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor);
3772typedef void (VKAPI_PTR *PFN_vkCmdSetBlendConstants)(VkCommandBuffer commandBuffer, const float blendConstants[4]);
3773typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBounds)(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds);
3774typedef void (VKAPI_PTR *PFN_vkCmdSetStencilCompareMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask);
3775typedef void (VKAPI_PTR *PFN_vkCmdSetStencilWriteMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask);
3776typedef void (VKAPI_PTR *PFN_vkCmdSetStencilReference)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference);
3777typedef 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);
3778typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType);
3779typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets);
3780typedef void (VKAPI_PTR *PFN_vkCmdDraw)(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance);
3781typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexed)(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance);
3782typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
3783typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
3784typedef void (VKAPI_PTR *PFN_vkCmdDispatch)(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ);
3785typedef void (VKAPI_PTR *PFN_vkCmdDispatchIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset);
3786typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions);
3787typedef void (VKAPI_PTR *PFN_vkCmdCopyImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions);
3788typedef void (VKAPI_PTR *PFN_vkCmdBlitImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter);
3789typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions);
3790typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions);
3791typedef void (VKAPI_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData);
3792typedef void (VKAPI_PTR *PFN_vkCmdFillBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data);
3793typedef void (VKAPI_PTR *PFN_vkCmdClearColorImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges);
3794typedef void (VKAPI_PTR *PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges);
3795typedef void (VKAPI_PTR *PFN_vkCmdClearAttachments)(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects);
3796typedef void (VKAPI_PTR *PFN_vkCmdResolveImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions);
3797typedef void (VKAPI_PTR *PFN_vkCmdSetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
3798typedef void (VKAPI_PTR *PFN_vkCmdResetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
3799typedef 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);
3800typedef 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);
3801typedef void (VKAPI_PTR *PFN_vkCmdBeginQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags);
3802typedef void (VKAPI_PTR *PFN_vkCmdEndQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query);
3803typedef void (VKAPI_PTR *PFN_vkCmdResetQueryPool)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount);
3804typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query);
3805typedef void (VKAPI_PTR *PFN_vkCmdCopyQueryPoolResults)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags);
3806typedef void (VKAPI_PTR *PFN_vkCmdPushConstants)(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues);
3807typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents);
3808typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass)(VkCommandBuffer commandBuffer, VkSubpassContents contents);
3809typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass)(VkCommandBuffer commandBuffer);
3810typedef void (VKAPI_PTR *PFN_vkCmdExecuteCommands)(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers);
3811
3812#ifndef VK_NO_PROTOTYPES
3813VKAPI_ATTR VkResult VKAPI_CALL vkCreateInstance(
3814 const VkInstanceCreateInfo* pCreateInfo,
3815 const VkAllocationCallbacks* pAllocator,
3816 VkInstance* pInstance);
3817
3818VKAPI_ATTR void VKAPI_CALL vkDestroyInstance(
3819 VkInstance instance,
3820 const VkAllocationCallbacks* pAllocator);
3821
3822VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDevices(
3823 VkInstance instance,
3824 uint32_t* pPhysicalDeviceCount,
3825 VkPhysicalDevice* pPhysicalDevices);
3826
3827VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures(
3828 VkPhysicalDevice physicalDevice,
3829 VkPhysicalDeviceFeatures* pFeatures);
3830
3831VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties(
3832 VkPhysicalDevice physicalDevice,
3833 VkFormat format,
3834 VkFormatProperties* pFormatProperties);
3835
3836VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties(
3837 VkPhysicalDevice physicalDevice,
3838 VkFormat format,
3839 VkImageType type,
3840 VkImageTiling tiling,
3841 VkImageUsageFlags usage,
3842 VkImageCreateFlags flags,
3843 VkImageFormatProperties* pImageFormatProperties);
3844
3845VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties(
3846 VkPhysicalDevice physicalDevice,
3847 VkPhysicalDeviceProperties* pProperties);
3848
3849VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties(
3850 VkPhysicalDevice physicalDevice,
3851 uint32_t* pQueueFamilyPropertyCount,
3852 VkQueueFamilyProperties* pQueueFamilyProperties);
3853
3854VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties(
3855 VkPhysicalDevice physicalDevice,
3856 VkPhysicalDeviceMemoryProperties* pMemoryProperties);
3857
3858VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr(
3859 VkInstance instance,
3860 const char* pName);
3861
3862VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr(
3863 VkDevice device,
3864 const char* pName);
3865
3866VKAPI_ATTR VkResult VKAPI_CALL vkCreateDevice(
3867 VkPhysicalDevice physicalDevice,
3868 const VkDeviceCreateInfo* pCreateInfo,
3869 const VkAllocationCallbacks* pAllocator,
3870 VkDevice* pDevice);
3871
3872VKAPI_ATTR void VKAPI_CALL vkDestroyDevice(
3873 VkDevice device,
3874 const VkAllocationCallbacks* pAllocator);
3875
3876VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionProperties(
3877 const char* pLayerName,
3878 uint32_t* pPropertyCount,
3879 VkExtensionProperties* pProperties);
3880
3881VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceExtensionProperties(
3882 VkPhysicalDevice physicalDevice,
3883 const char* pLayerName,
3884 uint32_t* pPropertyCount,
3885 VkExtensionProperties* pProperties);
3886
3887VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties(
3888 uint32_t* pPropertyCount,
3889 VkLayerProperties* pProperties);
3890
3891VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceLayerProperties(
3892 VkPhysicalDevice physicalDevice,
3893 uint32_t* pPropertyCount,
3894 VkLayerProperties* pProperties);
3895
3896VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue(
3897 VkDevice device,
3898 uint32_t queueFamilyIndex,
3899 uint32_t queueIndex,
3900 VkQueue* pQueue);
3901
3902VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit(
3903 VkQueue queue,
3904 uint32_t submitCount,
3905 const VkSubmitInfo* pSubmits,
3906 VkFence fence);
3907
3908VKAPI_ATTR VkResult VKAPI_CALL vkQueueWaitIdle(
3909 VkQueue queue);
3910
3911VKAPI_ATTR VkResult VKAPI_CALL vkDeviceWaitIdle(
3912 VkDevice device);
3913
3914VKAPI_ATTR VkResult VKAPI_CALL vkAllocateMemory(
3915 VkDevice device,
3916 const VkMemoryAllocateInfo* pAllocateInfo,
3917 const VkAllocationCallbacks* pAllocator,
3918 VkDeviceMemory* pMemory);
3919
3920VKAPI_ATTR void VKAPI_CALL vkFreeMemory(
3921 VkDevice device,
3922 VkDeviceMemory memory,
3923 const VkAllocationCallbacks* pAllocator);
3924
3925VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory(
3926 VkDevice device,
3927 VkDeviceMemory memory,
3928 VkDeviceSize offset,
3929 VkDeviceSize size,
3930 VkMemoryMapFlags flags,
3931 void** ppData);
3932
3933VKAPI_ATTR void VKAPI_CALL vkUnmapMemory(
3934 VkDevice device,
3935 VkDeviceMemory memory);
3936
3937VKAPI_ATTR VkResult VKAPI_CALL vkFlushMappedMemoryRanges(
3938 VkDevice device,
3939 uint32_t memoryRangeCount,
3940 const VkMappedMemoryRange* pMemoryRanges);
3941
3942VKAPI_ATTR VkResult VKAPI_CALL vkInvalidateMappedMemoryRanges(
3943 VkDevice device,
3944 uint32_t memoryRangeCount,
3945 const VkMappedMemoryRange* pMemoryRanges);
3946
3947VKAPI_ATTR void VKAPI_CALL vkGetDeviceMemoryCommitment(
3948 VkDevice device,
3949 VkDeviceMemory memory,
3950 VkDeviceSize* pCommittedMemoryInBytes);
3951
3952VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory(
3953 VkDevice device,
3954 VkBuffer buffer,
3955 VkDeviceMemory memory,
3956 VkDeviceSize memoryOffset);
3957
3958VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory(
3959 VkDevice device,
3960 VkImage image,
3961 VkDeviceMemory memory,
3962 VkDeviceSize memoryOffset);
3963
3964VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements(
3965 VkDevice device,
3966 VkBuffer buffer,
3967 VkMemoryRequirements* pMemoryRequirements);
3968
3969VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements(
3970 VkDevice device,
3971 VkImage image,
3972 VkMemoryRequirements* pMemoryRequirements);
3973
3974VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements(
3975 VkDevice device,
3976 VkImage image,
3977 uint32_t* pSparseMemoryRequirementCount,
3978 VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
3979
3980VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties(
3981 VkPhysicalDevice physicalDevice,
3982 VkFormat format,
3983 VkImageType type,
3984 VkSampleCountFlagBits samples,
3985 VkImageUsageFlags usage,
3986 VkImageTiling tiling,
3987 uint32_t* pPropertyCount,
3988 VkSparseImageFormatProperties* pProperties);
3989
3990VKAPI_ATTR VkResult VKAPI_CALL vkQueueBindSparse(
3991 VkQueue queue,
3992 uint32_t bindInfoCount,
3993 const VkBindSparseInfo* pBindInfo,
3994 VkFence fence);
3995
3996VKAPI_ATTR VkResult VKAPI_CALL vkCreateFence(
3997 VkDevice device,
3998 const VkFenceCreateInfo* pCreateInfo,
3999 const VkAllocationCallbacks* pAllocator,
4000 VkFence* pFence);
4001
4002VKAPI_ATTR void VKAPI_CALL vkDestroyFence(
4003 VkDevice device,
4004 VkFence fence,
4005 const VkAllocationCallbacks* pAllocator);
4006
4007VKAPI_ATTR VkResult VKAPI_CALL vkResetFences(
4008 VkDevice device,
4009 uint32_t fenceCount,
4010 const VkFence* pFences);
4011
4012VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceStatus(
4013 VkDevice device,
4014 VkFence fence);
4015
4016VKAPI_ATTR VkResult VKAPI_CALL vkWaitForFences(
4017 VkDevice device,
4018 uint32_t fenceCount,
4019 const VkFence* pFences,
4020 VkBool32 waitAll,
4021 uint64_t timeout);
4022
4023VKAPI_ATTR VkResult VKAPI_CALL vkCreateSemaphore(
4024 VkDevice device,
4025 const VkSemaphoreCreateInfo* pCreateInfo,
4026 const VkAllocationCallbacks* pAllocator,
4027 VkSemaphore* pSemaphore);
4028
4029VKAPI_ATTR void VKAPI_CALL vkDestroySemaphore(
4030 VkDevice device,
4031 VkSemaphore semaphore,
4032 const VkAllocationCallbacks* pAllocator);
4033
4034VKAPI_ATTR VkResult VKAPI_CALL vkCreateEvent(
4035 VkDevice device,
4036 const VkEventCreateInfo* pCreateInfo,
4037 const VkAllocationCallbacks* pAllocator,
4038 VkEvent* pEvent);
4039
4040VKAPI_ATTR void VKAPI_CALL vkDestroyEvent(
4041 VkDevice device,
4042 VkEvent event,
4043 const VkAllocationCallbacks* pAllocator);
4044
4045VKAPI_ATTR VkResult VKAPI_CALL vkGetEventStatus(
4046 VkDevice device,
4047 VkEvent event);
4048
4049VKAPI_ATTR VkResult VKAPI_CALL vkSetEvent(
4050 VkDevice device,
4051 VkEvent event);
4052
4053VKAPI_ATTR VkResult VKAPI_CALL vkResetEvent(
4054 VkDevice device,
4055 VkEvent event);
4056
4057VKAPI_ATTR VkResult VKAPI_CALL vkCreateQueryPool(
4058 VkDevice device,
4059 const VkQueryPoolCreateInfo* pCreateInfo,
4060 const VkAllocationCallbacks* pAllocator,
4061 VkQueryPool* pQueryPool);
4062
4063VKAPI_ATTR void VKAPI_CALL vkDestroyQueryPool(
4064 VkDevice device,
4065 VkQueryPool queryPool,
4066 const VkAllocationCallbacks* pAllocator);
4067
4068VKAPI_ATTR VkResult VKAPI_CALL vkGetQueryPoolResults(
4069 VkDevice device,
4070 VkQueryPool queryPool,
4071 uint32_t firstQuery,
4072 uint32_t queryCount,
4073 size_t dataSize,
4074 void* pData,
4075 VkDeviceSize stride,
4076 VkQueryResultFlags flags);
4077
4078VKAPI_ATTR VkResult VKAPI_CALL vkCreateBuffer(
4079 VkDevice device,
4080 const VkBufferCreateInfo* pCreateInfo,
4081 const VkAllocationCallbacks* pAllocator,
4082 VkBuffer* pBuffer);
4083
4084VKAPI_ATTR void VKAPI_CALL vkDestroyBuffer(
4085 VkDevice device,
4086 VkBuffer buffer,
4087 const VkAllocationCallbacks* pAllocator);
4088
4089VKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferView(
4090 VkDevice device,
4091 const VkBufferViewCreateInfo* pCreateInfo,
4092 const VkAllocationCallbacks* pAllocator,
4093 VkBufferView* pView);
4094
4095VKAPI_ATTR void VKAPI_CALL vkDestroyBufferView(
4096 VkDevice device,
4097 VkBufferView bufferView,
4098 const VkAllocationCallbacks* pAllocator);
4099
4100VKAPI_ATTR VkResult VKAPI_CALL vkCreateImage(
4101 VkDevice device,
4102 const VkImageCreateInfo* pCreateInfo,
4103 const VkAllocationCallbacks* pAllocator,
4104 VkImage* pImage);
4105
4106VKAPI_ATTR void VKAPI_CALL vkDestroyImage(
4107 VkDevice device,
4108 VkImage image,
4109 const VkAllocationCallbacks* pAllocator);
4110
4111VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout(
4112 VkDevice device,
4113 VkImage image,
4114 const VkImageSubresource* pSubresource,
4115 VkSubresourceLayout* pLayout);
4116
4117VKAPI_ATTR VkResult VKAPI_CALL vkCreateImageView(
4118 VkDevice device,
4119 const VkImageViewCreateInfo* pCreateInfo,
4120 const VkAllocationCallbacks* pAllocator,
4121 VkImageView* pView);
4122
4123VKAPI_ATTR void VKAPI_CALL vkDestroyImageView(
4124 VkDevice device,
4125 VkImageView imageView,
4126 const VkAllocationCallbacks* pAllocator);
4127
4128VKAPI_ATTR VkResult VKAPI_CALL vkCreateShaderModule(
4129 VkDevice device,
4130 const VkShaderModuleCreateInfo* pCreateInfo,
4131 const VkAllocationCallbacks* pAllocator,
4132 VkShaderModule* pShaderModule);
4133
4134VKAPI_ATTR void VKAPI_CALL vkDestroyShaderModule(
4135 VkDevice device,
4136 VkShaderModule shaderModule,
4137 const VkAllocationCallbacks* pAllocator);
4138
4139VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineCache(
4140 VkDevice device,
4141 const VkPipelineCacheCreateInfo* pCreateInfo,
4142 const VkAllocationCallbacks* pAllocator,
4143 VkPipelineCache* pPipelineCache);
4144
4145VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineCache(
4146 VkDevice device,
4147 VkPipelineCache pipelineCache,
4148 const VkAllocationCallbacks* pAllocator);
4149
4150VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineCacheData(
4151 VkDevice device,
4152 VkPipelineCache pipelineCache,
4153 size_t* pDataSize,
4154 void* pData);
4155
4156VKAPI_ATTR VkResult VKAPI_CALL vkMergePipelineCaches(
4157 VkDevice device,
4158 VkPipelineCache dstCache,
4159 uint32_t srcCacheCount,
4160 const VkPipelineCache* pSrcCaches);
4161
4162VKAPI_ATTR VkResult VKAPI_CALL vkCreateGraphicsPipelines(
4163 VkDevice device,
4164 VkPipelineCache pipelineCache,
4165 uint32_t createInfoCount,
4166 const VkGraphicsPipelineCreateInfo* pCreateInfos,
4167 const VkAllocationCallbacks* pAllocator,
4168 VkPipeline* pPipelines);
4169
4170VKAPI_ATTR VkResult VKAPI_CALL vkCreateComputePipelines(
4171 VkDevice device,
4172 VkPipelineCache pipelineCache,
4173 uint32_t createInfoCount,
4174 const VkComputePipelineCreateInfo* pCreateInfos,
4175 const VkAllocationCallbacks* pAllocator,
4176 VkPipeline* pPipelines);
4177
4178VKAPI_ATTR void VKAPI_CALL vkDestroyPipeline(
4179 VkDevice device,
4180 VkPipeline pipeline,
4181 const VkAllocationCallbacks* pAllocator);
4182
4183VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineLayout(
4184 VkDevice device,
4185 const VkPipelineLayoutCreateInfo* pCreateInfo,
4186 const VkAllocationCallbacks* pAllocator,
4187 VkPipelineLayout* pPipelineLayout);
4188
4189VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineLayout(
4190 VkDevice device,
4191 VkPipelineLayout pipelineLayout,
4192 const VkAllocationCallbacks* pAllocator);
4193
4194VKAPI_ATTR VkResult VKAPI_CALL vkCreateSampler(
4195 VkDevice device,
4196 const VkSamplerCreateInfo* pCreateInfo,
4197 const VkAllocationCallbacks* pAllocator,
4198 VkSampler* pSampler);
4199
4200VKAPI_ATTR void VKAPI_CALL vkDestroySampler(
4201 VkDevice device,
4202 VkSampler sampler,
4203 const VkAllocationCallbacks* pAllocator);
4204
4205VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorSetLayout(
4206 VkDevice device,
4207 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
4208 const VkAllocationCallbacks* pAllocator,
4209 VkDescriptorSetLayout* pSetLayout);
4210
4211VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorSetLayout(
4212 VkDevice device,
4213 VkDescriptorSetLayout descriptorSetLayout,
4214 const VkAllocationCallbacks* pAllocator);
4215
4216VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorPool(
4217 VkDevice device,
4218 const VkDescriptorPoolCreateInfo* pCreateInfo,
4219 const VkAllocationCallbacks* pAllocator,
4220 VkDescriptorPool* pDescriptorPool);
4221
4222VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorPool(
4223 VkDevice device,
4224 VkDescriptorPool descriptorPool,
4225 const VkAllocationCallbacks* pAllocator);
4226
4227VKAPI_ATTR VkResult VKAPI_CALL vkResetDescriptorPool(
4228 VkDevice device,
4229 VkDescriptorPool descriptorPool,
4230 VkDescriptorPoolResetFlags flags);
4231
4232VKAPI_ATTR VkResult VKAPI_CALL vkAllocateDescriptorSets(
4233 VkDevice device,
4234 const VkDescriptorSetAllocateInfo* pAllocateInfo,
4235 VkDescriptorSet* pDescriptorSets);
4236
4237VKAPI_ATTR VkResult VKAPI_CALL vkFreeDescriptorSets(
4238 VkDevice device,
4239 VkDescriptorPool descriptorPool,
4240 uint32_t descriptorSetCount,
4241 const VkDescriptorSet* pDescriptorSets);
4242
4243VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSets(
4244 VkDevice device,
4245 uint32_t descriptorWriteCount,
4246 const VkWriteDescriptorSet* pDescriptorWrites,
4247 uint32_t descriptorCopyCount,
4248 const VkCopyDescriptorSet* pDescriptorCopies);
4249
4250VKAPI_ATTR VkResult VKAPI_CALL vkCreateFramebuffer(
4251 VkDevice device,
4252 const VkFramebufferCreateInfo* pCreateInfo,
4253 const VkAllocationCallbacks* pAllocator,
4254 VkFramebuffer* pFramebuffer);
4255
4256VKAPI_ATTR void VKAPI_CALL vkDestroyFramebuffer(
4257 VkDevice device,
4258 VkFramebuffer framebuffer,
4259 const VkAllocationCallbacks* pAllocator);
4260
4261VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass(
4262 VkDevice device,
4263 const VkRenderPassCreateInfo* pCreateInfo,
4264 const VkAllocationCallbacks* pAllocator,
4265 VkRenderPass* pRenderPass);
4266
4267VKAPI_ATTR void VKAPI_CALL vkDestroyRenderPass(
4268 VkDevice device,
4269 VkRenderPass renderPass,
4270 const VkAllocationCallbacks* pAllocator);
4271
4272VKAPI_ATTR void VKAPI_CALL vkGetRenderAreaGranularity(
4273 VkDevice device,
4274 VkRenderPass renderPass,
4275 VkExtent2D* pGranularity);
4276
4277VKAPI_ATTR VkResult VKAPI_CALL vkCreateCommandPool(
4278 VkDevice device,
4279 const VkCommandPoolCreateInfo* pCreateInfo,
4280 const VkAllocationCallbacks* pAllocator,
4281 VkCommandPool* pCommandPool);
4282
4283VKAPI_ATTR void VKAPI_CALL vkDestroyCommandPool(
4284 VkDevice device,
4285 VkCommandPool commandPool,
4286 const VkAllocationCallbacks* pAllocator);
4287
4288VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandPool(
4289 VkDevice device,
4290 VkCommandPool commandPool,
4291 VkCommandPoolResetFlags flags);
4292
4293VKAPI_ATTR VkResult VKAPI_CALL vkAllocateCommandBuffers(
4294 VkDevice device,
4295 const VkCommandBufferAllocateInfo* pAllocateInfo,
4296 VkCommandBuffer* pCommandBuffers);
4297
4298VKAPI_ATTR void VKAPI_CALL vkFreeCommandBuffers(
4299 VkDevice device,
4300 VkCommandPool commandPool,
4301 uint32_t commandBufferCount,
4302 const VkCommandBuffer* pCommandBuffers);
4303
4304VKAPI_ATTR VkResult VKAPI_CALL vkBeginCommandBuffer(
4305 VkCommandBuffer commandBuffer,
4306 const VkCommandBufferBeginInfo* pBeginInfo);
4307
4308VKAPI_ATTR VkResult VKAPI_CALL vkEndCommandBuffer(
4309 VkCommandBuffer commandBuffer);
4310
4311VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandBuffer(
4312 VkCommandBuffer commandBuffer,
4313 VkCommandBufferResetFlags flags);
4314
4315VKAPI_ATTR void VKAPI_CALL vkCmdBindPipeline(
4316 VkCommandBuffer commandBuffer,
4317 VkPipelineBindPoint pipelineBindPoint,
4318 VkPipeline pipeline);
4319
4320VKAPI_ATTR void VKAPI_CALL vkCmdSetViewport(
4321 VkCommandBuffer commandBuffer,
4322 uint32_t firstViewport,
4323 uint32_t viewportCount,
4324 const VkViewport* pViewports);
4325
4326VKAPI_ATTR void VKAPI_CALL vkCmdSetScissor(
4327 VkCommandBuffer commandBuffer,
4328 uint32_t firstScissor,
4329 uint32_t scissorCount,
4330 const VkRect2D* pScissors);
4331
4332VKAPI_ATTR void VKAPI_CALL vkCmdSetLineWidth(
4333 VkCommandBuffer commandBuffer,
4334 float lineWidth);
4335
4336VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias(
4337 VkCommandBuffer commandBuffer,
4338 float depthBiasConstantFactor,
4339 float depthBiasClamp,
4340 float depthBiasSlopeFactor);
4341
4342VKAPI_ATTR void VKAPI_CALL vkCmdSetBlendConstants(
4343 VkCommandBuffer commandBuffer,
4344 const float blendConstants[4]);
4345
4346VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBounds(
4347 VkCommandBuffer commandBuffer,
4348 float minDepthBounds,
4349 float maxDepthBounds);
4350
4351VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilCompareMask(
4352 VkCommandBuffer commandBuffer,
4353 VkStencilFaceFlags faceMask,
4354 uint32_t compareMask);
4355
4356VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilWriteMask(
4357 VkCommandBuffer commandBuffer,
4358 VkStencilFaceFlags faceMask,
4359 uint32_t writeMask);
4360
4361VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilReference(
4362 VkCommandBuffer commandBuffer,
4363 VkStencilFaceFlags faceMask,
4364 uint32_t reference);
4365
4366VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets(
4367 VkCommandBuffer commandBuffer,
4368 VkPipelineBindPoint pipelineBindPoint,
4369 VkPipelineLayout layout,
4370 uint32_t firstSet,
4371 uint32_t descriptorSetCount,
4372 const VkDescriptorSet* pDescriptorSets,
4373 uint32_t dynamicOffsetCount,
4374 const uint32_t* pDynamicOffsets);
4375
4376VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer(
4377 VkCommandBuffer commandBuffer,
4378 VkBuffer buffer,
4379 VkDeviceSize offset,
4380 VkIndexType indexType);
4381
4382VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers(
4383 VkCommandBuffer commandBuffer,
4384 uint32_t firstBinding,
4385 uint32_t bindingCount,
4386 const VkBuffer* pBuffers,
4387 const VkDeviceSize* pOffsets);
4388
4389VKAPI_ATTR void VKAPI_CALL vkCmdDraw(
4390 VkCommandBuffer commandBuffer,
4391 uint32_t vertexCount,
4392 uint32_t instanceCount,
4393 uint32_t firstVertex,
4394 uint32_t firstInstance);
4395
4396VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexed(
4397 VkCommandBuffer commandBuffer,
4398 uint32_t indexCount,
4399 uint32_t instanceCount,
4400 uint32_t firstIndex,
4401 int32_t vertexOffset,
4402 uint32_t firstInstance);
4403
4404VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirect(
4405 VkCommandBuffer commandBuffer,
4406 VkBuffer buffer,
4407 VkDeviceSize offset,
4408 uint32_t drawCount,
4409 uint32_t stride);
4410
4411VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirect(
4412 VkCommandBuffer commandBuffer,
4413 VkBuffer buffer,
4414 VkDeviceSize offset,
4415 uint32_t drawCount,
4416 uint32_t stride);
4417
4418VKAPI_ATTR void VKAPI_CALL vkCmdDispatch(
4419 VkCommandBuffer commandBuffer,
4420 uint32_t groupCountX,
4421 uint32_t groupCountY,
4422 uint32_t groupCountZ);
4423
4424VKAPI_ATTR void VKAPI_CALL vkCmdDispatchIndirect(
4425 VkCommandBuffer commandBuffer,
4426 VkBuffer buffer,
4427 VkDeviceSize offset);
4428
4429VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer(
4430 VkCommandBuffer commandBuffer,
4431 VkBuffer srcBuffer,
4432 VkBuffer dstBuffer,
4433 uint32_t regionCount,
4434 const VkBufferCopy* pRegions);
4435
4436VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage(
4437 VkCommandBuffer commandBuffer,
4438 VkImage srcImage,
4439 VkImageLayout srcImageLayout,
4440 VkImage dstImage,
4441 VkImageLayout dstImageLayout,
4442 uint32_t regionCount,
4443 const VkImageCopy* pRegions);
4444
4445VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage(
4446 VkCommandBuffer commandBuffer,
4447 VkImage srcImage,
4448 VkImageLayout srcImageLayout,
4449 VkImage dstImage,
4450 VkImageLayout dstImageLayout,
4451 uint32_t regionCount,
4452 const VkImageBlit* pRegions,
4453 VkFilter filter);
4454
4455VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage(
4456 VkCommandBuffer commandBuffer,
4457 VkBuffer srcBuffer,
4458 VkImage dstImage,
4459 VkImageLayout dstImageLayout,
4460 uint32_t regionCount,
4461 const VkBufferImageCopy* pRegions);
4462
4463VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer(
4464 VkCommandBuffer commandBuffer,
4465 VkImage srcImage,
4466 VkImageLayout srcImageLayout,
4467 VkBuffer dstBuffer,
4468 uint32_t regionCount,
4469 const VkBufferImageCopy* pRegions);
4470
4471VKAPI_ATTR void VKAPI_CALL vkCmdUpdateBuffer(
4472 VkCommandBuffer commandBuffer,
4473 VkBuffer dstBuffer,
4474 VkDeviceSize dstOffset,
4475 VkDeviceSize dataSize,
4476 const void* pData);
4477
4478VKAPI_ATTR void VKAPI_CALL vkCmdFillBuffer(
4479 VkCommandBuffer commandBuffer,
4480 VkBuffer dstBuffer,
4481 VkDeviceSize dstOffset,
4482 VkDeviceSize size,
4483 uint32_t data);
4484
4485VKAPI_ATTR void VKAPI_CALL vkCmdClearColorImage(
4486 VkCommandBuffer commandBuffer,
4487 VkImage image,
4488 VkImageLayout imageLayout,
4489 const VkClearColorValue* pColor,
4490 uint32_t rangeCount,
4491 const VkImageSubresourceRange* pRanges);
4492
4493VKAPI_ATTR void VKAPI_CALL vkCmdClearDepthStencilImage(
4494 VkCommandBuffer commandBuffer,
4495 VkImage image,
4496 VkImageLayout imageLayout,
4497 const VkClearDepthStencilValue* pDepthStencil,
4498 uint32_t rangeCount,
4499 const VkImageSubresourceRange* pRanges);
4500
4501VKAPI_ATTR void VKAPI_CALL vkCmdClearAttachments(
4502 VkCommandBuffer commandBuffer,
4503 uint32_t attachmentCount,
4504 const VkClearAttachment* pAttachments,
4505 uint32_t rectCount,
4506 const VkClearRect* pRects);
4507
4508VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage(
4509 VkCommandBuffer commandBuffer,
4510 VkImage srcImage,
4511 VkImageLayout srcImageLayout,
4512 VkImage dstImage,
4513 VkImageLayout dstImageLayout,
4514 uint32_t regionCount,
4515 const VkImageResolve* pRegions);
4516
4517VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent(
4518 VkCommandBuffer commandBuffer,
4519 VkEvent event,
4520 VkPipelineStageFlags stageMask);
4521
4522VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent(
4523 VkCommandBuffer commandBuffer,
4524 VkEvent event,
4525 VkPipelineStageFlags stageMask);
4526
4527VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents(
4528 VkCommandBuffer commandBuffer,
4529 uint32_t eventCount,
4530 const VkEvent* pEvents,
4531 VkPipelineStageFlags srcStageMask,
4532 VkPipelineStageFlags dstStageMask,
4533 uint32_t memoryBarrierCount,
4534 const VkMemoryBarrier* pMemoryBarriers,
4535 uint32_t bufferMemoryBarrierCount,
4536 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
4537 uint32_t imageMemoryBarrierCount,
4538 const VkImageMemoryBarrier* pImageMemoryBarriers);
4539
4540VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier(
4541 VkCommandBuffer commandBuffer,
4542 VkPipelineStageFlags srcStageMask,
4543 VkPipelineStageFlags dstStageMask,
4544 VkDependencyFlags dependencyFlags,
4545 uint32_t memoryBarrierCount,
4546 const VkMemoryBarrier* pMemoryBarriers,
4547 uint32_t bufferMemoryBarrierCount,
4548 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
4549 uint32_t imageMemoryBarrierCount,
4550 const VkImageMemoryBarrier* pImageMemoryBarriers);
4551
4552VKAPI_ATTR void VKAPI_CALL vkCmdBeginQuery(
4553 VkCommandBuffer commandBuffer,
4554 VkQueryPool queryPool,
4555 uint32_t query,
4556 VkQueryControlFlags flags);
4557
4558VKAPI_ATTR void VKAPI_CALL vkCmdEndQuery(
4559 VkCommandBuffer commandBuffer,
4560 VkQueryPool queryPool,
4561 uint32_t query);
4562
4563VKAPI_ATTR void VKAPI_CALL vkCmdResetQueryPool(
4564 VkCommandBuffer commandBuffer,
4565 VkQueryPool queryPool,
4566 uint32_t firstQuery,
4567 uint32_t queryCount);
4568
4569VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp(
4570 VkCommandBuffer commandBuffer,
4571 VkPipelineStageFlagBits pipelineStage,
4572 VkQueryPool queryPool,
4573 uint32_t query);
4574
4575VKAPI_ATTR void VKAPI_CALL vkCmdCopyQueryPoolResults(
4576 VkCommandBuffer commandBuffer,
4577 VkQueryPool queryPool,
4578 uint32_t firstQuery,
4579 uint32_t queryCount,
4580 VkBuffer dstBuffer,
4581 VkDeviceSize dstOffset,
4582 VkDeviceSize stride,
4583 VkQueryResultFlags flags);
4584
4585VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants(
4586 VkCommandBuffer commandBuffer,
4587 VkPipelineLayout layout,
4588 VkShaderStageFlags stageFlags,
4589 uint32_t offset,
4590 uint32_t size,
4591 const void* pValues);
4592
4593VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass(
4594 VkCommandBuffer commandBuffer,
4595 const VkRenderPassBeginInfo* pRenderPassBegin,
4596 VkSubpassContents contents);
4597
4598VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass(
4599 VkCommandBuffer commandBuffer,
4600 VkSubpassContents contents);
4601
4602VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass(
4603 VkCommandBuffer commandBuffer);
4604
4605VKAPI_ATTR void VKAPI_CALL vkCmdExecuteCommands(
4606 VkCommandBuffer commandBuffer,
4607 uint32_t commandBufferCount,
4608 const VkCommandBuffer* pCommandBuffers);
4609#endif
4610
4611
4612#define VK_VERSION_1_1 1
4613// Vulkan 1.1 version number
4614#define VK_API_VERSION_1_1 VK_MAKE_API_VERSION(0, 1, 1, 0)// Patch version should always be set to 0
4615
4616VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion)
4617VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate)
4618#define VK_MAX_DEVICE_GROUP_SIZE 32U
4619#define VK_LUID_SIZE 8U
4620#define VK_QUEUE_FAMILY_EXTERNAL (~1U)
4621
4622typedef enum VkPointClippingBehavior {
4623 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES = 0,
4624 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY = 1,
4625 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES,
4626 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY,
4627 VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF
4628} VkPointClippingBehavior;
4629
4630typedef enum VkTessellationDomainOrigin {
4631 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT = 0,
4632 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT = 1,
4633 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT,
4634 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT,
4635 VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM = 0x7FFFFFFF
4636} VkTessellationDomainOrigin;
4637
4638typedef enum VkSamplerYcbcrModelConversion {
4639 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY = 0,
4640 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY = 1,
4641 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 = 2,
4642 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 = 3,
4643 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 = 4,
4644 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY,
4645 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY,
4646 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709,
4647 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601,
4648 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020,
4649 VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM = 0x7FFFFFFF
4650} VkSamplerYcbcrModelConversion;
4651
4652typedef enum VkSamplerYcbcrRange {
4653 VK_SAMPLER_YCBCR_RANGE_ITU_FULL = 0,
4654 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW = 1,
4655 VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_FULL,
4656 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW,
4657 VK_SAMPLER_YCBCR_RANGE_MAX_ENUM = 0x7FFFFFFF
4658} VkSamplerYcbcrRange;
4659
4660typedef enum VkChromaLocation {
4661 VK_CHROMA_LOCATION_COSITED_EVEN = 0,
4662 VK_CHROMA_LOCATION_MIDPOINT = 1,
4663 VK_CHROMA_LOCATION_COSITED_EVEN_KHR = VK_CHROMA_LOCATION_COSITED_EVEN,
4664 VK_CHROMA_LOCATION_MIDPOINT_KHR = VK_CHROMA_LOCATION_MIDPOINT,
4665 VK_CHROMA_LOCATION_MAX_ENUM = 0x7FFFFFFF
4666} VkChromaLocation;
4667
4668typedef enum VkDescriptorUpdateTemplateType {
4669 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET = 0,
4670 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR = 1,
4671 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,
4672 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM = 0x7FFFFFFF
4673} VkDescriptorUpdateTemplateType;
4674
4675typedef enum VkSubgroupFeatureFlagBits {
4676 VK_SUBGROUP_FEATURE_BASIC_BIT = 0x00000001,
4677 VK_SUBGROUP_FEATURE_VOTE_BIT = 0x00000002,
4678 VK_SUBGROUP_FEATURE_ARITHMETIC_BIT = 0x00000004,
4679 VK_SUBGROUP_FEATURE_BALLOT_BIT = 0x00000008,
4680 VK_SUBGROUP_FEATURE_SHUFFLE_BIT = 0x00000010,
4681 VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = 0x00000020,
4682 VK_SUBGROUP_FEATURE_CLUSTERED_BIT = 0x00000040,
4683 VK_SUBGROUP_FEATURE_QUAD_BIT = 0x00000080,
4684 VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x00000100,
4685 VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4686} VkSubgroupFeatureFlagBits;
4687typedef VkFlags VkSubgroupFeatureFlags;
4688
4689typedef enum VkPeerMemoryFeatureFlagBits {
4690 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT = 0x00000001,
4691 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT = 0x00000002,
4692 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT = 0x00000004,
4693 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT = 0x00000008,
4694 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT,
4695 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_DST_BIT,
4696 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT,
4697 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT,
4698 VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4699} VkPeerMemoryFeatureFlagBits;
4700typedef VkFlags VkPeerMemoryFeatureFlags;
4701
4702typedef enum VkMemoryAllocateFlagBits {
4703 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT = 0x00000001,
4704 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT = 0x00000002,
4705 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000004,
4706 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT,
4707 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT,
4708 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
4709 VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4710} VkMemoryAllocateFlagBits;
4711typedef VkFlags VkMemoryAllocateFlags;
4712typedef VkFlags VkCommandPoolTrimFlags;
4713typedef VkFlags VkDescriptorUpdateTemplateCreateFlags;
4714
4715typedef enum VkExternalMemoryHandleTypeFlagBits {
4716 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
4717 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
4718 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
4719 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT = 0x00000008,
4720 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT = 0x00000010,
4721 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT = 0x00000020,
4722 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT = 0x00000040,
4723 VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT = 0x00000200,
4724 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID = 0x00000400,
4725 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 0x00000080,
4726 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 0x00000100,
4727 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA = 0x00000800,
4728 VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV = 0x00001000,
4729 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT,
4730 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT,
4731 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
4732 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT,
4733 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT,
4734 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT,
4735 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT,
4736 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4737} VkExternalMemoryHandleTypeFlagBits;
4738typedef VkFlags VkExternalMemoryHandleTypeFlags;
4739
4740typedef enum VkExternalMemoryFeatureFlagBits {
4741 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT = 0x00000001,
4742 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT = 0x00000002,
4743 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT = 0x00000004,
4744 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT,
4745 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT,
4746 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT,
4747 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4748} VkExternalMemoryFeatureFlagBits;
4749typedef VkFlags VkExternalMemoryFeatureFlags;
4750
4751typedef enum VkExternalFenceHandleTypeFlagBits {
4752 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
4753 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
4754 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
4755 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000008,
4756 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT,
4757 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
4758 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
4759 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT,
4760 VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4761} VkExternalFenceHandleTypeFlagBits;
4762typedef VkFlags VkExternalFenceHandleTypeFlags;
4763
4764typedef enum VkExternalFenceFeatureFlagBits {
4765 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT = 0x00000001,
4766 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT = 0x00000002,
4767 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT,
4768 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT,
4769 VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4770} VkExternalFenceFeatureFlagBits;
4771typedef VkFlags VkExternalFenceFeatureFlags;
4772
4773typedef enum VkFenceImportFlagBits {
4774 VK_FENCE_IMPORT_TEMPORARY_BIT = 0x00000001,
4775 VK_FENCE_IMPORT_TEMPORARY_BIT_KHR = VK_FENCE_IMPORT_TEMPORARY_BIT,
4776 VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4777} VkFenceImportFlagBits;
4778typedef VkFlags VkFenceImportFlags;
4779
4780typedef enum VkSemaphoreImportFlagBits {
4781 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT = 0x00000001,
4782 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT,
4783 VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4784} VkSemaphoreImportFlagBits;
4785typedef VkFlags VkSemaphoreImportFlags;
4786
4787typedef enum VkExternalSemaphoreHandleTypeFlagBits {
4788 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
4789 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
4790 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
4791 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT = 0x00000008,
4792 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000010,
4793 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA = 0x00000080,
4794 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
4795 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT,
4796 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
4797 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
4798 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
4799 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT,
4800 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4801} VkExternalSemaphoreHandleTypeFlagBits;
4802typedef VkFlags VkExternalSemaphoreHandleTypeFlags;
4803
4804typedef enum VkExternalSemaphoreFeatureFlagBits {
4805 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT = 0x00000001,
4806 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT = 0x00000002,
4807 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT,
4808 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT,
4809 VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4810} VkExternalSemaphoreFeatureFlagBits;
4811typedef VkFlags VkExternalSemaphoreFeatureFlags;
4812typedef struct VkPhysicalDeviceSubgroupProperties {
4813 VkStructureType sType;
4814 void* pNext;
4815 uint32_t subgroupSize;
4816 VkShaderStageFlags supportedStages;
4817 VkSubgroupFeatureFlags supportedOperations;
4818 VkBool32 quadOperationsInAllStages;
4819} VkPhysicalDeviceSubgroupProperties;
4820
4821typedef struct VkBindBufferMemoryInfo {
4822 VkStructureType sType;
4823 const void* pNext;
4824 VkBuffer buffer;
4825 VkDeviceMemory memory;
4826 VkDeviceSize memoryOffset;
4827} VkBindBufferMemoryInfo;
4828
4829typedef struct VkBindImageMemoryInfo {
4830 VkStructureType sType;
4831 const void* pNext;
4832 VkImage image;
4833 VkDeviceMemory memory;
4834 VkDeviceSize memoryOffset;
4835} VkBindImageMemoryInfo;
4836
4837typedef struct VkPhysicalDevice16BitStorageFeatures {
4838 VkStructureType sType;
4839 void* pNext;
4840 VkBool32 storageBuffer16BitAccess;
4841 VkBool32 uniformAndStorageBuffer16BitAccess;
4842 VkBool32 storagePushConstant16;
4843 VkBool32 storageInputOutput16;
4844} VkPhysicalDevice16BitStorageFeatures;
4845
4846typedef struct VkMemoryDedicatedRequirements {
4847 VkStructureType sType;
4848 void* pNext;
4849 VkBool32 prefersDedicatedAllocation;
4850 VkBool32 requiresDedicatedAllocation;
4851} VkMemoryDedicatedRequirements;
4852
4853typedef struct VkMemoryDedicatedAllocateInfo {
4854 VkStructureType sType;
4855 const void* pNext;
4856 VkImage image;
4857 VkBuffer buffer;
4858} VkMemoryDedicatedAllocateInfo;
4859
4860typedef struct VkMemoryAllocateFlagsInfo {
4861 VkStructureType sType;
4862 const void* pNext;
4863 VkMemoryAllocateFlags flags;
4864 uint32_t deviceMask;
4865} VkMemoryAllocateFlagsInfo;
4866
4867typedef struct VkDeviceGroupRenderPassBeginInfo {
4868 VkStructureType sType;
4869 const void* pNext;
4870 uint32_t deviceMask;
4871 uint32_t deviceRenderAreaCount;
4872 const VkRect2D* pDeviceRenderAreas;
4873} VkDeviceGroupRenderPassBeginInfo;
4874
4875typedef struct VkDeviceGroupCommandBufferBeginInfo {
4876 VkStructureType sType;
4877 const void* pNext;
4878 uint32_t deviceMask;
4879} VkDeviceGroupCommandBufferBeginInfo;
4880
4881typedef struct VkDeviceGroupSubmitInfo {
4882 VkStructureType sType;
4883 const void* pNext;
4884 uint32_t waitSemaphoreCount;
4885 const uint32_t* pWaitSemaphoreDeviceIndices;
4886 uint32_t commandBufferCount;
4887 const uint32_t* pCommandBufferDeviceMasks;
4888 uint32_t signalSemaphoreCount;
4889 const uint32_t* pSignalSemaphoreDeviceIndices;
4890} VkDeviceGroupSubmitInfo;
4891
4892typedef struct VkDeviceGroupBindSparseInfo {
4893 VkStructureType sType;
4894 const void* pNext;
4895 uint32_t resourceDeviceIndex;
4896 uint32_t memoryDeviceIndex;
4897} VkDeviceGroupBindSparseInfo;
4898
4899typedef struct VkBindBufferMemoryDeviceGroupInfo {
4900 VkStructureType sType;
4901 const void* pNext;
4902 uint32_t deviceIndexCount;
4903 const uint32_t* pDeviceIndices;
4904} VkBindBufferMemoryDeviceGroupInfo;
4905
4906typedef struct VkBindImageMemoryDeviceGroupInfo {
4907 VkStructureType sType;
4908 const void* pNext;
4909 uint32_t deviceIndexCount;
4910 const uint32_t* pDeviceIndices;
4911 uint32_t splitInstanceBindRegionCount;
4912 const VkRect2D* pSplitInstanceBindRegions;
4913} VkBindImageMemoryDeviceGroupInfo;
4914
4915typedef struct VkPhysicalDeviceGroupProperties {
4916 VkStructureType sType;
4917 void* pNext;
4918 uint32_t physicalDeviceCount;
4919 VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE];
4920 VkBool32 subsetAllocation;
4921} VkPhysicalDeviceGroupProperties;
4922
4923typedef struct VkDeviceGroupDeviceCreateInfo {
4924 VkStructureType sType;
4925 const void* pNext;
4926 uint32_t physicalDeviceCount;
4927 const VkPhysicalDevice* pPhysicalDevices;
4928} VkDeviceGroupDeviceCreateInfo;
4929
4930typedef struct VkBufferMemoryRequirementsInfo2 {
4931 VkStructureType sType;
4932 const void* pNext;
4933 VkBuffer buffer;
4934} VkBufferMemoryRequirementsInfo2;
4935
4936typedef struct VkImageMemoryRequirementsInfo2 {
4937 VkStructureType sType;
4938 const void* pNext;
4939 VkImage image;
4940} VkImageMemoryRequirementsInfo2;
4941
4942typedef struct VkImageSparseMemoryRequirementsInfo2 {
4943 VkStructureType sType;
4944 const void* pNext;
4945 VkImage image;
4946} VkImageSparseMemoryRequirementsInfo2;
4947
4948typedef struct VkMemoryRequirements2 {
4949 VkStructureType sType;
4950 void* pNext;
4951 VkMemoryRequirements memoryRequirements;
4952} VkMemoryRequirements2;
4953
4954typedef struct VkSparseImageMemoryRequirements2 {
4955 VkStructureType sType;
4956 void* pNext;
4957 VkSparseImageMemoryRequirements memoryRequirements;
4958} VkSparseImageMemoryRequirements2;
4959
4960typedef struct VkPhysicalDeviceFeatures2 {
4961 VkStructureType sType;
4962 void* pNext;
4963 VkPhysicalDeviceFeatures features;
4964} VkPhysicalDeviceFeatures2;
4965
4966typedef struct VkPhysicalDeviceProperties2 {
4967 VkStructureType sType;
4968 void* pNext;
4969 VkPhysicalDeviceProperties properties;
4970} VkPhysicalDeviceProperties2;
4971
4972typedef struct VkFormatProperties2 {
4973 VkStructureType sType;
4974 void* pNext;
4975 VkFormatProperties formatProperties;
4976} VkFormatProperties2;
4977
4978typedef struct VkImageFormatProperties2 {
4979 VkStructureType sType;
4980 void* pNext;
4981 VkImageFormatProperties imageFormatProperties;
4982} VkImageFormatProperties2;
4983
4984typedef struct VkPhysicalDeviceImageFormatInfo2 {
4985 VkStructureType sType;
4986 const void* pNext;
4987 VkFormat format;
4988 VkImageType type;
4989 VkImageTiling tiling;
4990 VkImageUsageFlags usage;
4991 VkImageCreateFlags flags;
4992} VkPhysicalDeviceImageFormatInfo2;
4993
4994typedef struct VkQueueFamilyProperties2 {
4995 VkStructureType sType;
4996 void* pNext;
4997 VkQueueFamilyProperties queueFamilyProperties;
4998} VkQueueFamilyProperties2;
4999
5000typedef struct VkPhysicalDeviceMemoryProperties2 {
5001 VkStructureType sType;
5002 void* pNext;
5003 VkPhysicalDeviceMemoryProperties memoryProperties;
5004} VkPhysicalDeviceMemoryProperties2;
5005
5006typedef struct VkSparseImageFormatProperties2 {
5007 VkStructureType sType;
5008 void* pNext;
5009 VkSparseImageFormatProperties properties;
5010} VkSparseImageFormatProperties2;
5011
5012typedef struct VkPhysicalDeviceSparseImageFormatInfo2 {
5013 VkStructureType sType;
5014 const void* pNext;
5015 VkFormat format;
5016 VkImageType type;
5017 VkSampleCountFlagBits samples;
5018 VkImageUsageFlags usage;
5019 VkImageTiling tiling;
5020} VkPhysicalDeviceSparseImageFormatInfo2;
5021
5022typedef struct VkPhysicalDevicePointClippingProperties {
5023 VkStructureType sType;
5024 void* pNext;
5025 VkPointClippingBehavior pointClippingBehavior;
5026} VkPhysicalDevicePointClippingProperties;
5027
5028typedef struct VkInputAttachmentAspectReference {
5029 uint32_t subpass;
5030 uint32_t inputAttachmentIndex;
5031 VkImageAspectFlags aspectMask;
5032} VkInputAttachmentAspectReference;
5033
5034typedef struct VkRenderPassInputAttachmentAspectCreateInfo {
5035 VkStructureType sType;
5036 const void* pNext;
5037 uint32_t aspectReferenceCount;
5038 const VkInputAttachmentAspectReference* pAspectReferences;
5039} VkRenderPassInputAttachmentAspectCreateInfo;
5040
5041typedef struct VkImageViewUsageCreateInfo {
5042 VkStructureType sType;
5043 const void* pNext;
5044 VkImageUsageFlags usage;
5045} VkImageViewUsageCreateInfo;
5046
5047typedef struct VkPipelineTessellationDomainOriginStateCreateInfo {
5048 VkStructureType sType;
5049 const void* pNext;
5050 VkTessellationDomainOrigin domainOrigin;
5051} VkPipelineTessellationDomainOriginStateCreateInfo;
5052
5053typedef struct VkRenderPassMultiviewCreateInfo {
5054 VkStructureType sType;
5055 const void* pNext;
5056 uint32_t subpassCount;
5057 const uint32_t* pViewMasks;
5058 uint32_t dependencyCount;
5059 const int32_t* pViewOffsets;
5060 uint32_t correlationMaskCount;
5061 const uint32_t* pCorrelationMasks;
5062} VkRenderPassMultiviewCreateInfo;
5063
5064typedef struct VkPhysicalDeviceMultiviewFeatures {
5065 VkStructureType sType;
5066 void* pNext;
5067 VkBool32 multiview;
5068 VkBool32 multiviewGeometryShader;
5069 VkBool32 multiviewTessellationShader;
5070} VkPhysicalDeviceMultiviewFeatures;
5071
5072typedef struct VkPhysicalDeviceMultiviewProperties {
5073 VkStructureType sType;
5074 void* pNext;
5075 uint32_t maxMultiviewViewCount;
5076 uint32_t maxMultiviewInstanceIndex;
5077} VkPhysicalDeviceMultiviewProperties;
5078
5079typedef struct VkPhysicalDeviceVariablePointersFeatures {
5080 VkStructureType sType;
5081 void* pNext;
5082 VkBool32 variablePointersStorageBuffer;
5083 VkBool32 variablePointers;
5084} VkPhysicalDeviceVariablePointersFeatures;
5085
5086typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeatures;
5087
5088typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
5089 VkStructureType sType;
5090 void* pNext;
5091 VkBool32 protectedMemory;
5092} VkPhysicalDeviceProtectedMemoryFeatures;
5093
5094typedef struct VkPhysicalDeviceProtectedMemoryProperties {
5095 VkStructureType sType;
5096 void* pNext;
5097 VkBool32 protectedNoFault;
5098} VkPhysicalDeviceProtectedMemoryProperties;
5099
5100typedef struct VkDeviceQueueInfo2 {
5101 VkStructureType sType;
5102 const void* pNext;
5103 VkDeviceQueueCreateFlags flags;
5104 uint32_t queueFamilyIndex;
5105 uint32_t queueIndex;
5106} VkDeviceQueueInfo2;
5107
5108typedef struct VkProtectedSubmitInfo {
5109 VkStructureType sType;
5110 const void* pNext;
5111 VkBool32 protectedSubmit;
5112} VkProtectedSubmitInfo;
5113
5114typedef struct VkSamplerYcbcrConversionCreateInfo {
5115 VkStructureType sType;
5116 const void* pNext;
5117 VkFormat format;
5118 VkSamplerYcbcrModelConversion ycbcrModel;
5119 VkSamplerYcbcrRange ycbcrRange;
5120 VkComponentMapping components;
5121 VkChromaLocation xChromaOffset;
5122 VkChromaLocation yChromaOffset;
5123 VkFilter chromaFilter;
5124 VkBool32 forceExplicitReconstruction;
5125} VkSamplerYcbcrConversionCreateInfo;
5126
5127typedef struct VkSamplerYcbcrConversionInfo {
5128 VkStructureType sType;
5129 const void* pNext;
5130 VkSamplerYcbcrConversion conversion;
5131} VkSamplerYcbcrConversionInfo;
5132
5133typedef struct VkBindImagePlaneMemoryInfo {
5134 VkStructureType sType;
5135 const void* pNext;
5136 VkImageAspectFlagBits planeAspect;
5137} VkBindImagePlaneMemoryInfo;
5138
5139typedef struct VkImagePlaneMemoryRequirementsInfo {
5140 VkStructureType sType;
5141 const void* pNext;
5142 VkImageAspectFlagBits planeAspect;
5143} VkImagePlaneMemoryRequirementsInfo;
5144
5145typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
5146 VkStructureType sType;
5147 void* pNext;
5148 VkBool32 samplerYcbcrConversion;
5149} VkPhysicalDeviceSamplerYcbcrConversionFeatures;
5150
5151typedef struct VkSamplerYcbcrConversionImageFormatProperties {
5152 VkStructureType sType;
5153 void* pNext;
5154 uint32_t combinedImageSamplerDescriptorCount;
5155} VkSamplerYcbcrConversionImageFormatProperties;
5156
5157typedef struct VkDescriptorUpdateTemplateEntry {
5158 uint32_t dstBinding;
5159 uint32_t dstArrayElement;
5160 uint32_t descriptorCount;
5161 VkDescriptorType descriptorType;
5162 size_t offset;
5163 size_t stride;
5164} VkDescriptorUpdateTemplateEntry;
5165
5166typedef struct VkDescriptorUpdateTemplateCreateInfo {
5167 VkStructureType sType;
5168 const void* pNext;
5169 VkDescriptorUpdateTemplateCreateFlags flags;
5170 uint32_t descriptorUpdateEntryCount;
5171 const VkDescriptorUpdateTemplateEntry* pDescriptorUpdateEntries;
5172 VkDescriptorUpdateTemplateType templateType;
5173 VkDescriptorSetLayout descriptorSetLayout;
5174 VkPipelineBindPoint pipelineBindPoint;
5175 VkPipelineLayout pipelineLayout;
5176 uint32_t set;
5177} VkDescriptorUpdateTemplateCreateInfo;
5178
5179typedef struct VkExternalMemoryProperties {
5180 VkExternalMemoryFeatureFlags externalMemoryFeatures;
5181 VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes;
5182 VkExternalMemoryHandleTypeFlags compatibleHandleTypes;
5183} VkExternalMemoryProperties;
5184
5185typedef struct VkPhysicalDeviceExternalImageFormatInfo {
5186 VkStructureType sType;
5187 const void* pNext;
5188 VkExternalMemoryHandleTypeFlagBits handleType;
5189} VkPhysicalDeviceExternalImageFormatInfo;
5190
5191typedef struct VkExternalImageFormatProperties {
5192 VkStructureType sType;
5193 void* pNext;
5194 VkExternalMemoryProperties externalMemoryProperties;
5195} VkExternalImageFormatProperties;
5196
5197typedef struct VkPhysicalDeviceExternalBufferInfo {
5198 VkStructureType sType;
5199 const void* pNext;
5200 VkBufferCreateFlags flags;
5201 VkBufferUsageFlags usage;
5202 VkExternalMemoryHandleTypeFlagBits handleType;
5203} VkPhysicalDeviceExternalBufferInfo;
5204
5205typedef struct VkExternalBufferProperties {
5206 VkStructureType sType;
5207 void* pNext;
5208 VkExternalMemoryProperties externalMemoryProperties;
5209} VkExternalBufferProperties;
5210
5211typedef struct VkPhysicalDeviceIDProperties {
5212 VkStructureType sType;
5213 void* pNext;
5214 uint8_t deviceUUID[VK_UUID_SIZE];
5215 uint8_t driverUUID[VK_UUID_SIZE];
5216 uint8_t deviceLUID[VK_LUID_SIZE];
5217 uint32_t deviceNodeMask;
5218 VkBool32 deviceLUIDValid;
5219} VkPhysicalDeviceIDProperties;
5220
5221typedef struct VkExternalMemoryImageCreateInfo {
5222 VkStructureType sType;
5223 const void* pNext;
5224 VkExternalMemoryHandleTypeFlags handleTypes;
5225} VkExternalMemoryImageCreateInfo;
5226
5227typedef struct VkExternalMemoryBufferCreateInfo {
5228 VkStructureType sType;
5229 const void* pNext;
5230 VkExternalMemoryHandleTypeFlags handleTypes;
5231} VkExternalMemoryBufferCreateInfo;
5232
5233typedef struct VkExportMemoryAllocateInfo {
5234 VkStructureType sType;
5235 const void* pNext;
5236 VkExternalMemoryHandleTypeFlags handleTypes;
5237} VkExportMemoryAllocateInfo;
5238
5239typedef struct VkPhysicalDeviceExternalFenceInfo {
5240 VkStructureType sType;
5241 const void* pNext;
5242 VkExternalFenceHandleTypeFlagBits handleType;
5243} VkPhysicalDeviceExternalFenceInfo;
5244
5245typedef struct VkExternalFenceProperties {
5246 VkStructureType sType;
5247 void* pNext;
5248 VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes;
5249 VkExternalFenceHandleTypeFlags compatibleHandleTypes;
5250 VkExternalFenceFeatureFlags externalFenceFeatures;
5251} VkExternalFenceProperties;
5252
5253typedef struct VkExportFenceCreateInfo {
5254 VkStructureType sType;
5255 const void* pNext;
5256 VkExternalFenceHandleTypeFlags handleTypes;
5257} VkExportFenceCreateInfo;
5258
5259typedef struct VkExportSemaphoreCreateInfo {
5260 VkStructureType sType;
5261 const void* pNext;
5262 VkExternalSemaphoreHandleTypeFlags handleTypes;
5263} VkExportSemaphoreCreateInfo;
5264
5265typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
5266 VkStructureType sType;
5267 const void* pNext;
5268 VkExternalSemaphoreHandleTypeFlagBits handleType;
5269} VkPhysicalDeviceExternalSemaphoreInfo;
5270
5271typedef struct VkExternalSemaphoreProperties {
5272 VkStructureType sType;
5273 void* pNext;
5274 VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes;
5275 VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes;
5276 VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures;
5277} VkExternalSemaphoreProperties;
5278
5279typedef struct VkPhysicalDeviceMaintenance3Properties {
5280 VkStructureType sType;
5281 void* pNext;
5282 uint32_t maxPerSetDescriptors;
5283 VkDeviceSize maxMemoryAllocationSize;
5284} VkPhysicalDeviceMaintenance3Properties;
5285
5286typedef struct VkDescriptorSetLayoutSupport {
5287 VkStructureType sType;
5288 void* pNext;
5289 VkBool32 supported;
5290} VkDescriptorSetLayoutSupport;
5291
5292typedef struct VkPhysicalDeviceShaderDrawParametersFeatures {
5293 VkStructureType sType;
5294 void* pNext;
5295 VkBool32 shaderDrawParameters;
5296} VkPhysicalDeviceShaderDrawParametersFeatures;
5297
5298typedef VkPhysicalDeviceShaderDrawParametersFeatures VkPhysicalDeviceShaderDrawParameterFeatures;
5299
5300typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceVersion)(uint32_t* pApiVersion);
5301typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
5302typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
5303typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeatures)(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
5304typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMask)(VkCommandBuffer commandBuffer, uint32_t deviceMask);
5305typedef 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);
5306typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroups)(VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
5307typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
5308typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
5309typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
5310typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
5311typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
5312typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
5313typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
5314typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
5315typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
5316typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
5317typedef void (VKAPI_PTR *PFN_vkTrimCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
5318typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue2)(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue);
5319typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversion)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
5320typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversion)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
5321typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplate)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
5322typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplate)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
5323typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplate)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
5324typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
5325typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFenceProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
5326typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphoreProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
5327typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupport)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
5328
5329#ifndef VK_NO_PROTOTYPES
5330VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceVersion(
5331 uint32_t* pApiVersion);
5332
5333VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2(
5334 VkDevice device,
5335 uint32_t bindInfoCount,
5336 const VkBindBufferMemoryInfo* pBindInfos);
5337
5338VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2(
5339 VkDevice device,
5340 uint32_t bindInfoCount,
5341 const VkBindImageMemoryInfo* pBindInfos);
5342
5343VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeatures(
5344 VkDevice device,
5345 uint32_t heapIndex,
5346 uint32_t localDeviceIndex,
5347 uint32_t remoteDeviceIndex,
5348 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
5349
5350VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMask(
5351 VkCommandBuffer commandBuffer,
5352 uint32_t deviceMask);
5353
5354VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBase(
5355 VkCommandBuffer commandBuffer,
5356 uint32_t baseGroupX,
5357 uint32_t baseGroupY,
5358 uint32_t baseGroupZ,
5359 uint32_t groupCountX,
5360 uint32_t groupCountY,
5361 uint32_t groupCountZ);
5362
5363VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroups(
5364 VkInstance instance,
5365 uint32_t* pPhysicalDeviceGroupCount,
5366 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
5367
5368VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2(
5369 VkDevice device,
5370 const VkImageMemoryRequirementsInfo2* pInfo,
5371 VkMemoryRequirements2* pMemoryRequirements);
5372
5373VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2(
5374 VkDevice device,
5375 const VkBufferMemoryRequirementsInfo2* pInfo,
5376 VkMemoryRequirements2* pMemoryRequirements);
5377
5378VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2(
5379 VkDevice device,
5380 const VkImageSparseMemoryRequirementsInfo2* pInfo,
5381 uint32_t* pSparseMemoryRequirementCount,
5382 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
5383
5384VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2(
5385 VkPhysicalDevice physicalDevice,
5386 VkPhysicalDeviceFeatures2* pFeatures);
5387
5388VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2(
5389 VkPhysicalDevice physicalDevice,
5390 VkPhysicalDeviceProperties2* pProperties);
5391
5392VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2(
5393 VkPhysicalDevice physicalDevice,
5394 VkFormat format,
5395 VkFormatProperties2* pFormatProperties);
5396
5397VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2(
5398 VkPhysicalDevice physicalDevice,
5399 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
5400 VkImageFormatProperties2* pImageFormatProperties);
5401
5402VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2(
5403 VkPhysicalDevice physicalDevice,
5404 uint32_t* pQueueFamilyPropertyCount,
5405 VkQueueFamilyProperties2* pQueueFamilyProperties);
5406
5407VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2(
5408 VkPhysicalDevice physicalDevice,
5409 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
5410
5411VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2(
5412 VkPhysicalDevice physicalDevice,
5413 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
5414 uint32_t* pPropertyCount,
5415 VkSparseImageFormatProperties2* pProperties);
5416
5417VKAPI_ATTR void VKAPI_CALL vkTrimCommandPool(
5418 VkDevice device,
5419 VkCommandPool commandPool,
5420 VkCommandPoolTrimFlags flags);
5421
5422VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue2(
5423 VkDevice device,
5424 const VkDeviceQueueInfo2* pQueueInfo,
5425 VkQueue* pQueue);
5426
5427VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversion(
5428 VkDevice device,
5429 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
5430 const VkAllocationCallbacks* pAllocator,
5431 VkSamplerYcbcrConversion* pYcbcrConversion);
5432
5433VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversion(
5434 VkDevice device,
5435 VkSamplerYcbcrConversion ycbcrConversion,
5436 const VkAllocationCallbacks* pAllocator);
5437
5438VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplate(
5439 VkDevice device,
5440 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
5441 const VkAllocationCallbacks* pAllocator,
5442 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
5443
5444VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplate(
5445 VkDevice device,
5446 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
5447 const VkAllocationCallbacks* pAllocator);
5448
5449VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplate(
5450 VkDevice device,
5451 VkDescriptorSet descriptorSet,
5452 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
5453 const void* pData);
5454
5455VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferProperties(
5456 VkPhysicalDevice physicalDevice,
5457 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
5458 VkExternalBufferProperties* pExternalBufferProperties);
5459
5460VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFenceProperties(
5461 VkPhysicalDevice physicalDevice,
5462 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
5463 VkExternalFenceProperties* pExternalFenceProperties);
5464
5465VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphoreProperties(
5466 VkPhysicalDevice physicalDevice,
5467 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
5468 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
5469
5470VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupport(
5471 VkDevice device,
5472 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
5473 VkDescriptorSetLayoutSupport* pSupport);
5474#endif
5475
5476
5477#define VK_VERSION_1_2 1
5478// Vulkan 1.2 version number
5479#define VK_API_VERSION_1_2 VK_MAKE_API_VERSION(0, 1, 2, 0)// Patch version should always be set to 0
5480
5481#define VK_MAX_DRIVER_NAME_SIZE 256U
5482#define VK_MAX_DRIVER_INFO_SIZE 256U
5483
5484typedef enum VkDriverId {
5485 VK_DRIVER_ID_AMD_PROPRIETARY = 1,
5486 VK_DRIVER_ID_AMD_OPEN_SOURCE = 2,
5487 VK_DRIVER_ID_MESA_RADV = 3,
5488 VK_DRIVER_ID_NVIDIA_PROPRIETARY = 4,
5489 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS = 5,
5490 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA = 6,
5491 VK_DRIVER_ID_IMAGINATION_PROPRIETARY = 7,
5492 VK_DRIVER_ID_QUALCOMM_PROPRIETARY = 8,
5493 VK_DRIVER_ID_ARM_PROPRIETARY = 9,
5494 VK_DRIVER_ID_GOOGLE_SWIFTSHADER = 10,
5495 VK_DRIVER_ID_GGP_PROPRIETARY = 11,
5496 VK_DRIVER_ID_BROADCOM_PROPRIETARY = 12,
5497 VK_DRIVER_ID_MESA_LLVMPIPE = 13,
5498 VK_DRIVER_ID_MOLTENVK = 14,
5499 VK_DRIVER_ID_COREAVI_PROPRIETARY = 15,
5500 VK_DRIVER_ID_JUICE_PROPRIETARY = 16,
5501 VK_DRIVER_ID_VERISILICON_PROPRIETARY = 17,
5502 VK_DRIVER_ID_MESA_TURNIP = 18,
5503 VK_DRIVER_ID_MESA_V3DV = 19,
5504 VK_DRIVER_ID_MESA_PANVK = 20,
5505 VK_DRIVER_ID_SAMSUNG_PROPRIETARY = 21,
5506 VK_DRIVER_ID_MESA_VENUS = 22,
5507 VK_DRIVER_ID_AMD_PROPRIETARY_KHR = VK_DRIVER_ID_AMD_PROPRIETARY,
5508 VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = VK_DRIVER_ID_AMD_OPEN_SOURCE,
5509 VK_DRIVER_ID_MESA_RADV_KHR = VK_DRIVER_ID_MESA_RADV,
5510 VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR = VK_DRIVER_ID_NVIDIA_PROPRIETARY,
5511 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR = VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS,
5512 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR = VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA,
5513 VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR = VK_DRIVER_ID_IMAGINATION_PROPRIETARY,
5514 VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR = VK_DRIVER_ID_QUALCOMM_PROPRIETARY,
5515 VK_DRIVER_ID_ARM_PROPRIETARY_KHR = VK_DRIVER_ID_ARM_PROPRIETARY,
5516 VK_DRIVER_ID_GOOGLE_SWIFTSHADER_KHR = VK_DRIVER_ID_GOOGLE_SWIFTSHADER,
5517 VK_DRIVER_ID_GGP_PROPRIETARY_KHR = VK_DRIVER_ID_GGP_PROPRIETARY,
5518 VK_DRIVER_ID_BROADCOM_PROPRIETARY_KHR = VK_DRIVER_ID_BROADCOM_PROPRIETARY,
5519 VK_DRIVER_ID_MAX_ENUM = 0x7FFFFFFF
5520} VkDriverId;
5521
5522typedef enum VkShaderFloatControlsIndependence {
5523 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY = 0,
5524 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL = 1,
5525 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE = 2,
5526 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY,
5527 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL,
5528 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE,
5529 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_MAX_ENUM = 0x7FFFFFFF
5530} VkShaderFloatControlsIndependence;
5531
5532typedef enum VkSamplerReductionMode {
5533 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE = 0,
5534 VK_SAMPLER_REDUCTION_MODE_MIN = 1,
5535 VK_SAMPLER_REDUCTION_MODE_MAX = 2,
5536 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE,
5537 VK_SAMPLER_REDUCTION_MODE_MIN_EXT = VK_SAMPLER_REDUCTION_MODE_MIN,
5538 VK_SAMPLER_REDUCTION_MODE_MAX_EXT = VK_SAMPLER_REDUCTION_MODE_MAX,
5539 VK_SAMPLER_REDUCTION_MODE_MAX_ENUM = 0x7FFFFFFF
5540} VkSamplerReductionMode;
5541
5542typedef enum VkSemaphoreType {
5543 VK_SEMAPHORE_TYPE_BINARY = 0,
5544 VK_SEMAPHORE_TYPE_TIMELINE = 1,
5545 VK_SEMAPHORE_TYPE_BINARY_KHR = VK_SEMAPHORE_TYPE_BINARY,
5546 VK_SEMAPHORE_TYPE_TIMELINE_KHR = VK_SEMAPHORE_TYPE_TIMELINE,
5547 VK_SEMAPHORE_TYPE_MAX_ENUM = 0x7FFFFFFF
5548} VkSemaphoreType;
5549
5550typedef enum VkResolveModeFlagBits {
5551 VK_RESOLVE_MODE_NONE = 0,
5552 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT = 0x00000001,
5553 VK_RESOLVE_MODE_AVERAGE_BIT = 0x00000002,
5554 VK_RESOLVE_MODE_MIN_BIT = 0x00000004,
5555 VK_RESOLVE_MODE_MAX_BIT = 0x00000008,
5556 VK_RESOLVE_MODE_NONE_KHR = VK_RESOLVE_MODE_NONE,
5557 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR = VK_RESOLVE_MODE_SAMPLE_ZERO_BIT,
5558 VK_RESOLVE_MODE_AVERAGE_BIT_KHR = VK_RESOLVE_MODE_AVERAGE_BIT,
5559 VK_RESOLVE_MODE_MIN_BIT_KHR = VK_RESOLVE_MODE_MIN_BIT,
5560 VK_RESOLVE_MODE_MAX_BIT_KHR = VK_RESOLVE_MODE_MAX_BIT,
5561 VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5562} VkResolveModeFlagBits;
5563typedef VkFlags VkResolveModeFlags;
5564
5565typedef enum VkDescriptorBindingFlagBits {
5566 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT = 0x00000001,
5567 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT = 0x00000002,
5568 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT = 0x00000004,
5569 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT = 0x00000008,
5570 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT,
5571 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT,
5572 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT = VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT,
5573 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT = VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT,
5574 VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5575} VkDescriptorBindingFlagBits;
5576typedef VkFlags VkDescriptorBindingFlags;
5577
5578typedef enum VkSemaphoreWaitFlagBits {
5579 VK_SEMAPHORE_WAIT_ANY_BIT = 0x00000001,
5580 VK_SEMAPHORE_WAIT_ANY_BIT_KHR = VK_SEMAPHORE_WAIT_ANY_BIT,
5581 VK_SEMAPHORE_WAIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5582} VkSemaphoreWaitFlagBits;
5583typedef VkFlags VkSemaphoreWaitFlags;
5584typedef struct VkPhysicalDeviceVulkan11Features {
5585 VkStructureType sType;
5586 void* pNext;
5587 VkBool32 storageBuffer16BitAccess;
5588 VkBool32 uniformAndStorageBuffer16BitAccess;
5589 VkBool32 storagePushConstant16;
5590 VkBool32 storageInputOutput16;
5591 VkBool32 multiview;
5592 VkBool32 multiviewGeometryShader;
5593 VkBool32 multiviewTessellationShader;
5594 VkBool32 variablePointersStorageBuffer;
5595 VkBool32 variablePointers;
5596 VkBool32 protectedMemory;
5597 VkBool32 samplerYcbcrConversion;
5598 VkBool32 shaderDrawParameters;
5599} VkPhysicalDeviceVulkan11Features;
5600
5601typedef struct VkPhysicalDeviceVulkan11Properties {
5602 VkStructureType sType;
5603 void* pNext;
5604 uint8_t deviceUUID[VK_UUID_SIZE];
5605 uint8_t driverUUID[VK_UUID_SIZE];
5606 uint8_t deviceLUID[VK_LUID_SIZE];
5607 uint32_t deviceNodeMask;
5608 VkBool32 deviceLUIDValid;
5609 uint32_t subgroupSize;
5610 VkShaderStageFlags subgroupSupportedStages;
5611 VkSubgroupFeatureFlags subgroupSupportedOperations;
5612 VkBool32 subgroupQuadOperationsInAllStages;
5613 VkPointClippingBehavior pointClippingBehavior;
5614 uint32_t maxMultiviewViewCount;
5615 uint32_t maxMultiviewInstanceIndex;
5616 VkBool32 protectedNoFault;
5617 uint32_t maxPerSetDescriptors;
5618 VkDeviceSize maxMemoryAllocationSize;
5619} VkPhysicalDeviceVulkan11Properties;
5620
5621typedef struct VkPhysicalDeviceVulkan12Features {
5622 VkStructureType sType;
5623 void* pNext;
5624 VkBool32 samplerMirrorClampToEdge;
5625 VkBool32 drawIndirectCount;
5626 VkBool32 storageBuffer8BitAccess;
5627 VkBool32 uniformAndStorageBuffer8BitAccess;
5628 VkBool32 storagePushConstant8;
5629 VkBool32 shaderBufferInt64Atomics;
5630 VkBool32 shaderSharedInt64Atomics;
5631 VkBool32 shaderFloat16;
5632 VkBool32 shaderInt8;
5633 VkBool32 descriptorIndexing;
5634 VkBool32 shaderInputAttachmentArrayDynamicIndexing;
5635 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
5636 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
5637 VkBool32 shaderUniformBufferArrayNonUniformIndexing;
5638 VkBool32 shaderSampledImageArrayNonUniformIndexing;
5639 VkBool32 shaderStorageBufferArrayNonUniformIndexing;
5640 VkBool32 shaderStorageImageArrayNonUniformIndexing;
5641 VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
5642 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
5643 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
5644 VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
5645 VkBool32 descriptorBindingSampledImageUpdateAfterBind;
5646 VkBool32 descriptorBindingStorageImageUpdateAfterBind;
5647 VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
5648 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
5649 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
5650 VkBool32 descriptorBindingUpdateUnusedWhilePending;
5651 VkBool32 descriptorBindingPartiallyBound;
5652 VkBool32 descriptorBindingVariableDescriptorCount;
5653 VkBool32 runtimeDescriptorArray;
5654 VkBool32 samplerFilterMinmax;
5655 VkBool32 scalarBlockLayout;
5656 VkBool32 imagelessFramebuffer;
5657 VkBool32 uniformBufferStandardLayout;
5658 VkBool32 shaderSubgroupExtendedTypes;
5659 VkBool32 separateDepthStencilLayouts;
5660 VkBool32 hostQueryReset;
5661 VkBool32 timelineSemaphore;
5662 VkBool32 bufferDeviceAddress;
5663 VkBool32 bufferDeviceAddressCaptureReplay;
5664 VkBool32 bufferDeviceAddressMultiDevice;
5665 VkBool32 vulkanMemoryModel;
5666 VkBool32 vulkanMemoryModelDeviceScope;
5667 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
5668 VkBool32 shaderOutputViewportIndex;
5669 VkBool32 shaderOutputLayer;
5670 VkBool32 subgroupBroadcastDynamicId;
5671} VkPhysicalDeviceVulkan12Features;
5672
5673typedef struct VkConformanceVersion {
5674 uint8_t major;
5675 uint8_t minor;
5676 uint8_t subminor;
5677 uint8_t patch;
5678} VkConformanceVersion;
5679
5680typedef struct VkPhysicalDeviceVulkan12Properties {
5681 VkStructureType sType;
5682 void* pNext;
5683 VkDriverId driverID;
5684 char driverName[VK_MAX_DRIVER_NAME_SIZE];
5685 char driverInfo[VK_MAX_DRIVER_INFO_SIZE];
5686 VkConformanceVersion conformanceVersion;
5687 VkShaderFloatControlsIndependence denormBehaviorIndependence;
5688 VkShaderFloatControlsIndependence roundingModeIndependence;
5689 VkBool32 shaderSignedZeroInfNanPreserveFloat16;
5690 VkBool32 shaderSignedZeroInfNanPreserveFloat32;
5691 VkBool32 shaderSignedZeroInfNanPreserveFloat64;
5692 VkBool32 shaderDenormPreserveFloat16;
5693 VkBool32 shaderDenormPreserveFloat32;
5694 VkBool32 shaderDenormPreserveFloat64;
5695 VkBool32 shaderDenormFlushToZeroFloat16;
5696 VkBool32 shaderDenormFlushToZeroFloat32;
5697 VkBool32 shaderDenormFlushToZeroFloat64;
5698 VkBool32 shaderRoundingModeRTEFloat16;
5699 VkBool32 shaderRoundingModeRTEFloat32;
5700 VkBool32 shaderRoundingModeRTEFloat64;
5701 VkBool32 shaderRoundingModeRTZFloat16;
5702 VkBool32 shaderRoundingModeRTZFloat32;
5703 VkBool32 shaderRoundingModeRTZFloat64;
5704 uint32_t maxUpdateAfterBindDescriptorsInAllPools;
5705 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
5706 VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
5707 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
5708 VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
5709 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
5710 VkBool32 robustBufferAccessUpdateAfterBind;
5711 VkBool32 quadDivergentImplicitLod;
5712 uint32_t maxPerStageDescriptorUpdateAfterBindSamplers;
5713 uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers;
5714 uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers;
5715 uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages;
5716 uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages;
5717 uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments;
5718 uint32_t maxPerStageUpdateAfterBindResources;
5719 uint32_t maxDescriptorSetUpdateAfterBindSamplers;
5720 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers;
5721 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
5722 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers;
5723 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
5724 uint32_t maxDescriptorSetUpdateAfterBindSampledImages;
5725 uint32_t maxDescriptorSetUpdateAfterBindStorageImages;
5726 uint32_t maxDescriptorSetUpdateAfterBindInputAttachments;
5727 VkResolveModeFlags supportedDepthResolveModes;
5728 VkResolveModeFlags supportedStencilResolveModes;
5729 VkBool32 independentResolveNone;
5730 VkBool32 independentResolve;
5731 VkBool32 filterMinmaxSingleComponentFormats;
5732 VkBool32 filterMinmaxImageComponentMapping;
5733 uint64_t maxTimelineSemaphoreValueDifference;
5734 VkSampleCountFlags framebufferIntegerColorSampleCounts;
5735} VkPhysicalDeviceVulkan12Properties;
5736
5737typedef struct VkImageFormatListCreateInfo {
5738 VkStructureType sType;
5739 const void* pNext;
5740 uint32_t viewFormatCount;
5741 const VkFormat* pViewFormats;
5742} VkImageFormatListCreateInfo;
5743
5744typedef struct VkAttachmentDescription2 {
5745 VkStructureType sType;
5746 const void* pNext;
5747 VkAttachmentDescriptionFlags flags;
5748 VkFormat format;
5749 VkSampleCountFlagBits samples;
5750 VkAttachmentLoadOp loadOp;
5751 VkAttachmentStoreOp storeOp;
5752 VkAttachmentLoadOp stencilLoadOp;
5753 VkAttachmentStoreOp stencilStoreOp;
5754 VkImageLayout initialLayout;
5755 VkImageLayout finalLayout;
5756} VkAttachmentDescription2;
5757
5758typedef struct VkAttachmentReference2 {
5759 VkStructureType sType;
5760 const void* pNext;
5761 uint32_t attachment;
5762 VkImageLayout layout;
5763 VkImageAspectFlags aspectMask;
5764} VkAttachmentReference2;
5765
5766typedef struct VkSubpassDescription2 {
5767 VkStructureType sType;
5768 const void* pNext;
5769 VkSubpassDescriptionFlags flags;
5770 VkPipelineBindPoint pipelineBindPoint;
5771 uint32_t viewMask;
5772 uint32_t inputAttachmentCount;
5773 const VkAttachmentReference2* pInputAttachments;
5774 uint32_t colorAttachmentCount;
5775 const VkAttachmentReference2* pColorAttachments;
5776 const VkAttachmentReference2* pResolveAttachments;
5777 const VkAttachmentReference2* pDepthStencilAttachment;
5778 uint32_t preserveAttachmentCount;
5779 const uint32_t* pPreserveAttachments;
5780} VkSubpassDescription2;
5781
5782typedef struct VkSubpassDependency2 {
5783 VkStructureType sType;
5784 const void* pNext;
5785 uint32_t srcSubpass;
5786 uint32_t dstSubpass;
5787 VkPipelineStageFlags srcStageMask;
5788 VkPipelineStageFlags dstStageMask;
5789 VkAccessFlags srcAccessMask;
5790 VkAccessFlags dstAccessMask;
5791 VkDependencyFlags dependencyFlags;
5792 int32_t viewOffset;
5793} VkSubpassDependency2;
5794
5795typedef struct VkRenderPassCreateInfo2 {
5796 VkStructureType sType;
5797 const void* pNext;
5798 VkRenderPassCreateFlags flags;
5799 uint32_t attachmentCount;
5800 const VkAttachmentDescription2* pAttachments;
5801 uint32_t subpassCount;
5802 const VkSubpassDescription2* pSubpasses;
5803 uint32_t dependencyCount;
5804 const VkSubpassDependency2* pDependencies;
5805 uint32_t correlatedViewMaskCount;
5806 const uint32_t* pCorrelatedViewMasks;
5807} VkRenderPassCreateInfo2;
5808
5809typedef struct VkSubpassBeginInfo {
5810 VkStructureType sType;
5811 const void* pNext;
5812 VkSubpassContents contents;
5813} VkSubpassBeginInfo;
5814
5815typedef struct VkSubpassEndInfo {
5816 VkStructureType sType;
5817 const void* pNext;
5818} VkSubpassEndInfo;
5819
5820typedef struct VkPhysicalDevice8BitStorageFeatures {
5821 VkStructureType sType;
5822 void* pNext;
5823 VkBool32 storageBuffer8BitAccess;
5824 VkBool32 uniformAndStorageBuffer8BitAccess;
5825 VkBool32 storagePushConstant8;
5826} VkPhysicalDevice8BitStorageFeatures;
5827
5828typedef struct VkPhysicalDeviceDriverProperties {
5829 VkStructureType sType;
5830 void* pNext;
5831 VkDriverId driverID;
5832 char driverName[VK_MAX_DRIVER_NAME_SIZE];
5833 char driverInfo[VK_MAX_DRIVER_INFO_SIZE];
5834 VkConformanceVersion conformanceVersion;
5835} VkPhysicalDeviceDriverProperties;
5836
5837typedef struct VkPhysicalDeviceShaderAtomicInt64Features {
5838 VkStructureType sType;
5839 void* pNext;
5840 VkBool32 shaderBufferInt64Atomics;
5841 VkBool32 shaderSharedInt64Atomics;
5842} VkPhysicalDeviceShaderAtomicInt64Features;
5843
5844typedef struct VkPhysicalDeviceShaderFloat16Int8Features {
5845 VkStructureType sType;
5846 void* pNext;
5847 VkBool32 shaderFloat16;
5848 VkBool32 shaderInt8;
5849} VkPhysicalDeviceShaderFloat16Int8Features;
5850
5851typedef struct VkPhysicalDeviceFloatControlsProperties {
5852 VkStructureType sType;
5853 void* pNext;
5854 VkShaderFloatControlsIndependence denormBehaviorIndependence;
5855 VkShaderFloatControlsIndependence roundingModeIndependence;
5856 VkBool32 shaderSignedZeroInfNanPreserveFloat16;
5857 VkBool32 shaderSignedZeroInfNanPreserveFloat32;
5858 VkBool32 shaderSignedZeroInfNanPreserveFloat64;
5859 VkBool32 shaderDenormPreserveFloat16;
5860 VkBool32 shaderDenormPreserveFloat32;
5861 VkBool32 shaderDenormPreserveFloat64;
5862 VkBool32 shaderDenormFlushToZeroFloat16;
5863 VkBool32 shaderDenormFlushToZeroFloat32;
5864 VkBool32 shaderDenormFlushToZeroFloat64;
5865 VkBool32 shaderRoundingModeRTEFloat16;
5866 VkBool32 shaderRoundingModeRTEFloat32;
5867 VkBool32 shaderRoundingModeRTEFloat64;
5868 VkBool32 shaderRoundingModeRTZFloat16;
5869 VkBool32 shaderRoundingModeRTZFloat32;
5870 VkBool32 shaderRoundingModeRTZFloat64;
5871} VkPhysicalDeviceFloatControlsProperties;
5872
5873typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfo {
5874 VkStructureType sType;
5875 const void* pNext;
5876 uint32_t bindingCount;
5877 const VkDescriptorBindingFlags* pBindingFlags;
5878} VkDescriptorSetLayoutBindingFlagsCreateInfo;
5879
5880typedef struct VkPhysicalDeviceDescriptorIndexingFeatures {
5881 VkStructureType sType;
5882 void* pNext;
5883 VkBool32 shaderInputAttachmentArrayDynamicIndexing;
5884 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
5885 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
5886 VkBool32 shaderUniformBufferArrayNonUniformIndexing;
5887 VkBool32 shaderSampledImageArrayNonUniformIndexing;
5888 VkBool32 shaderStorageBufferArrayNonUniformIndexing;
5889 VkBool32 shaderStorageImageArrayNonUniformIndexing;
5890 VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
5891 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
5892 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
5893 VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
5894 VkBool32 descriptorBindingSampledImageUpdateAfterBind;
5895 VkBool32 descriptorBindingStorageImageUpdateAfterBind;
5896 VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
5897 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
5898 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
5899 VkBool32 descriptorBindingUpdateUnusedWhilePending;
5900 VkBool32 descriptorBindingPartiallyBound;
5901 VkBool32 descriptorBindingVariableDescriptorCount;
5902 VkBool32 runtimeDescriptorArray;
5903} VkPhysicalDeviceDescriptorIndexingFeatures;
5904
5905typedef struct VkPhysicalDeviceDescriptorIndexingProperties {
5906 VkStructureType sType;
5907 void* pNext;
5908 uint32_t maxUpdateAfterBindDescriptorsInAllPools;
5909 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
5910 VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
5911 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
5912 VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
5913 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
5914 VkBool32 robustBufferAccessUpdateAfterBind;
5915 VkBool32 quadDivergentImplicitLod;
5916 uint32_t maxPerStageDescriptorUpdateAfterBindSamplers;
5917 uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers;
5918 uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers;
5919 uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages;
5920 uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages;
5921 uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments;
5922 uint32_t maxPerStageUpdateAfterBindResources;
5923 uint32_t maxDescriptorSetUpdateAfterBindSamplers;
5924 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers;
5925 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
5926 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers;
5927 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
5928 uint32_t maxDescriptorSetUpdateAfterBindSampledImages;
5929 uint32_t maxDescriptorSetUpdateAfterBindStorageImages;
5930 uint32_t maxDescriptorSetUpdateAfterBindInputAttachments;
5931} VkPhysicalDeviceDescriptorIndexingProperties;
5932
5933typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfo {
5934 VkStructureType sType;
5935 const void* pNext;
5936 uint32_t descriptorSetCount;
5937 const uint32_t* pDescriptorCounts;
5938} VkDescriptorSetVariableDescriptorCountAllocateInfo;
5939
5940typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupport {
5941 VkStructureType sType;
5942 void* pNext;
5943 uint32_t maxVariableDescriptorCount;
5944} VkDescriptorSetVariableDescriptorCountLayoutSupport;
5945
5946typedef struct VkSubpassDescriptionDepthStencilResolve {
5947 VkStructureType sType;
5948 const void* pNext;
5949 VkResolveModeFlagBits depthResolveMode;
5950 VkResolveModeFlagBits stencilResolveMode;
5951 const VkAttachmentReference2* pDepthStencilResolveAttachment;
5952} VkSubpassDescriptionDepthStencilResolve;
5953
5954typedef struct VkPhysicalDeviceDepthStencilResolveProperties {
5955 VkStructureType sType;
5956 void* pNext;
5957 VkResolveModeFlags supportedDepthResolveModes;
5958 VkResolveModeFlags supportedStencilResolveModes;
5959 VkBool32 independentResolveNone;
5960 VkBool32 independentResolve;
5961} VkPhysicalDeviceDepthStencilResolveProperties;
5962
5963typedef struct VkPhysicalDeviceScalarBlockLayoutFeatures {
5964 VkStructureType sType;
5965 void* pNext;
5966 VkBool32 scalarBlockLayout;
5967} VkPhysicalDeviceScalarBlockLayoutFeatures;
5968
5969typedef struct VkImageStencilUsageCreateInfo {
5970 VkStructureType sType;
5971 const void* pNext;
5972 VkImageUsageFlags stencilUsage;
5973} VkImageStencilUsageCreateInfo;
5974
5975typedef struct VkSamplerReductionModeCreateInfo {
5976 VkStructureType sType;
5977 const void* pNext;
5978 VkSamplerReductionMode reductionMode;
5979} VkSamplerReductionModeCreateInfo;
5980
5981typedef struct VkPhysicalDeviceSamplerFilterMinmaxProperties {
5982 VkStructureType sType;
5983 void* pNext;
5984 VkBool32 filterMinmaxSingleComponentFormats;
5985 VkBool32 filterMinmaxImageComponentMapping;
5986} VkPhysicalDeviceSamplerFilterMinmaxProperties;
5987
5988typedef struct VkPhysicalDeviceVulkanMemoryModelFeatures {
5989 VkStructureType sType;
5990 void* pNext;
5991 VkBool32 vulkanMemoryModel;
5992 VkBool32 vulkanMemoryModelDeviceScope;
5993 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
5994} VkPhysicalDeviceVulkanMemoryModelFeatures;
5995
5996typedef struct VkPhysicalDeviceImagelessFramebufferFeatures {
5997 VkStructureType sType;
5998 void* pNext;
5999 VkBool32 imagelessFramebuffer;
6000} VkPhysicalDeviceImagelessFramebufferFeatures;
6001
6002typedef struct VkFramebufferAttachmentImageInfo {
6003 VkStructureType sType;
6004 const void* pNext;
6005 VkImageCreateFlags flags;
6006 VkImageUsageFlags usage;
6007 uint32_t width;
6008 uint32_t height;
6009 uint32_t layerCount;
6010 uint32_t viewFormatCount;
6011 const VkFormat* pViewFormats;
6012} VkFramebufferAttachmentImageInfo;
6013
6014typedef struct VkFramebufferAttachmentsCreateInfo {
6015 VkStructureType sType;
6016 const void* pNext;
6017 uint32_t attachmentImageInfoCount;
6018 const VkFramebufferAttachmentImageInfo* pAttachmentImageInfos;
6019} VkFramebufferAttachmentsCreateInfo;
6020
6021typedef struct VkRenderPassAttachmentBeginInfo {
6022 VkStructureType sType;
6023 const void* pNext;
6024 uint32_t attachmentCount;
6025 const VkImageView* pAttachments;
6026} VkRenderPassAttachmentBeginInfo;
6027
6028typedef struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures {
6029 VkStructureType sType;
6030 void* pNext;
6031 VkBool32 uniformBufferStandardLayout;
6032} VkPhysicalDeviceUniformBufferStandardLayoutFeatures;
6033
6034typedef struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures {
6035 VkStructureType sType;
6036 void* pNext;
6037 VkBool32 shaderSubgroupExtendedTypes;
6038} VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures;
6039
6040typedef struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures {
6041 VkStructureType sType;
6042 void* pNext;
6043 VkBool32 separateDepthStencilLayouts;
6044} VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures;
6045
6046typedef struct VkAttachmentReferenceStencilLayout {
6047 VkStructureType sType;
6048 void* pNext;
6049 VkImageLayout stencilLayout;
6050} VkAttachmentReferenceStencilLayout;
6051
6052typedef struct VkAttachmentDescriptionStencilLayout {
6053 VkStructureType sType;
6054 void* pNext;
6055 VkImageLayout stencilInitialLayout;
6056 VkImageLayout stencilFinalLayout;
6057} VkAttachmentDescriptionStencilLayout;
6058
6059typedef struct VkPhysicalDeviceHostQueryResetFeatures {
6060 VkStructureType sType;
6061 void* pNext;
6062 VkBool32 hostQueryReset;
6063} VkPhysicalDeviceHostQueryResetFeatures;
6064
6065typedef struct VkPhysicalDeviceTimelineSemaphoreFeatures {
6066 VkStructureType sType;
6067 void* pNext;
6068 VkBool32 timelineSemaphore;
6069} VkPhysicalDeviceTimelineSemaphoreFeatures;
6070
6071typedef struct VkPhysicalDeviceTimelineSemaphoreProperties {
6072 VkStructureType sType;
6073 void* pNext;
6074 uint64_t maxTimelineSemaphoreValueDifference;
6075} VkPhysicalDeviceTimelineSemaphoreProperties;
6076
6077typedef struct VkSemaphoreTypeCreateInfo {
6078 VkStructureType sType;
6079 const void* pNext;
6080 VkSemaphoreType semaphoreType;
6081 uint64_t initialValue;
6082} VkSemaphoreTypeCreateInfo;
6083
6084typedef struct VkTimelineSemaphoreSubmitInfo {
6085 VkStructureType sType;
6086 const void* pNext;
6087 uint32_t waitSemaphoreValueCount;
6088 const uint64_t* pWaitSemaphoreValues;
6089 uint32_t signalSemaphoreValueCount;
6090 const uint64_t* pSignalSemaphoreValues;
6091} VkTimelineSemaphoreSubmitInfo;
6092
6093typedef struct VkSemaphoreWaitInfo {
6094 VkStructureType sType;
6095 const void* pNext;
6096 VkSemaphoreWaitFlags flags;
6097 uint32_t semaphoreCount;
6098 const VkSemaphore* pSemaphores;
6099 const uint64_t* pValues;
6100} VkSemaphoreWaitInfo;
6101
6102typedef struct VkSemaphoreSignalInfo {
6103 VkStructureType sType;
6104 const void* pNext;
6105 VkSemaphore semaphore;
6106 uint64_t value;
6107} VkSemaphoreSignalInfo;
6108
6109typedef struct VkPhysicalDeviceBufferDeviceAddressFeatures {
6110 VkStructureType sType;
6111 void* pNext;
6112 VkBool32 bufferDeviceAddress;
6113 VkBool32 bufferDeviceAddressCaptureReplay;
6114 VkBool32 bufferDeviceAddressMultiDevice;
6115} VkPhysicalDeviceBufferDeviceAddressFeatures;
6116
6117typedef struct VkBufferDeviceAddressInfo {
6118 VkStructureType sType;
6119 const void* pNext;
6120 VkBuffer buffer;
6121} VkBufferDeviceAddressInfo;
6122
6123typedef struct VkBufferOpaqueCaptureAddressCreateInfo {
6124 VkStructureType sType;
6125 const void* pNext;
6126 uint64_t opaqueCaptureAddress;
6127} VkBufferOpaqueCaptureAddressCreateInfo;
6128
6129typedef struct VkMemoryOpaqueCaptureAddressAllocateInfo {
6130 VkStructureType sType;
6131 const void* pNext;
6132 uint64_t opaqueCaptureAddress;
6133} VkMemoryOpaqueCaptureAddressAllocateInfo;
6134
6135typedef struct VkDeviceMemoryOpaqueCaptureAddressInfo {
6136 VkStructureType sType;
6137 const void* pNext;
6138 VkDeviceMemory memory;
6139} VkDeviceMemoryOpaqueCaptureAddressInfo;
6140
6141typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
6142typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
6143typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
6144typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo);
6145typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo);
6146typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo);
6147typedef void (VKAPI_PTR *PFN_vkResetQueryPool)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount);
6148typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValue)(VkDevice device, VkSemaphore semaphore, uint64_t* pValue);
6149typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphores)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout);
6150typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphore)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo);
6151typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
6152typedef uint64_t (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
6153typedef uint64_t (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddress)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
6154
6155#ifndef VK_NO_PROTOTYPES
6156VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCount(
6157 VkCommandBuffer commandBuffer,
6158 VkBuffer buffer,
6159 VkDeviceSize offset,
6160 VkBuffer countBuffer,
6161 VkDeviceSize countBufferOffset,
6162 uint32_t maxDrawCount,
6163 uint32_t stride);
6164
6165VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCount(
6166 VkCommandBuffer commandBuffer,
6167 VkBuffer buffer,
6168 VkDeviceSize offset,
6169 VkBuffer countBuffer,
6170 VkDeviceSize countBufferOffset,
6171 uint32_t maxDrawCount,
6172 uint32_t stride);
6173
6174VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2(
6175 VkDevice device,
6176 const VkRenderPassCreateInfo2* pCreateInfo,
6177 const VkAllocationCallbacks* pAllocator,
6178 VkRenderPass* pRenderPass);
6179
6180VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2(
6181 VkCommandBuffer commandBuffer,
6182 const VkRenderPassBeginInfo* pRenderPassBegin,
6183 const VkSubpassBeginInfo* pSubpassBeginInfo);
6184
6185VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2(
6186 VkCommandBuffer commandBuffer,
6187 const VkSubpassBeginInfo* pSubpassBeginInfo,
6188 const VkSubpassEndInfo* pSubpassEndInfo);
6189
6190VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2(
6191 VkCommandBuffer commandBuffer,
6192 const VkSubpassEndInfo* pSubpassEndInfo);
6193
6194VKAPI_ATTR void VKAPI_CALL vkResetQueryPool(
6195 VkDevice device,
6196 VkQueryPool queryPool,
6197 uint32_t firstQuery,
6198 uint32_t queryCount);
6199
6200VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValue(
6201 VkDevice device,
6202 VkSemaphore semaphore,
6203 uint64_t* pValue);
6204
6205VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphores(
6206 VkDevice device,
6207 const VkSemaphoreWaitInfo* pWaitInfo,
6208 uint64_t timeout);
6209
6210VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphore(
6211 VkDevice device,
6212 const VkSemaphoreSignalInfo* pSignalInfo);
6213
6214VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddress(
6215 VkDevice device,
6216 const VkBufferDeviceAddressInfo* pInfo);
6217
6218VKAPI_ATTR uint64_t VKAPI_CALL vkGetBufferOpaqueCaptureAddress(
6219 VkDevice device,
6220 const VkBufferDeviceAddressInfo* pInfo);
6221
6222VKAPI_ATTR uint64_t VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddress(
6223 VkDevice device,
6224 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
6225#endif
6226
6227
6228#define VK_VERSION_1_3 1
6229// Vulkan 1.3 version number
6230#define VK_API_VERSION_1_3 VK_MAKE_API_VERSION(0, 1, 3, 0)// Patch version should always be set to 0
6231
6232typedef uint64_t VkFlags64;
6233VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPrivateDataSlot)
6234
6235typedef enum VkPipelineCreationFeedbackFlagBits {
6236 VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT = 0x00000001,
6237 VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT = 0x00000002,
6238 VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT = 0x00000004,
6239 VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT,
6240 VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT,
6241 VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT,
6242 VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
6243} VkPipelineCreationFeedbackFlagBits;
6244typedef VkFlags VkPipelineCreationFeedbackFlags;
6245
6246typedef enum VkToolPurposeFlagBits {
6247 VK_TOOL_PURPOSE_VALIDATION_BIT = 0x00000001,
6248 VK_TOOL_PURPOSE_PROFILING_BIT = 0x00000002,
6249 VK_TOOL_PURPOSE_TRACING_BIT = 0x00000004,
6250 VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT = 0x00000008,
6251 VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT = 0x00000010,
6252 VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 0x00000020,
6253 VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 0x00000040,
6254 VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = VK_TOOL_PURPOSE_VALIDATION_BIT,
6255 VK_TOOL_PURPOSE_PROFILING_BIT_EXT = VK_TOOL_PURPOSE_PROFILING_BIT,
6256 VK_TOOL_PURPOSE_TRACING_BIT_EXT = VK_TOOL_PURPOSE_TRACING_BIT,
6257 VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT,
6258 VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT,
6259 VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
6260} VkToolPurposeFlagBits;
6261typedef VkFlags VkToolPurposeFlags;
6262
6263typedef enum VkPrivateDataSlotCreateFlagBits {
6264 VK_PRIVATE_DATA_SLOT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
6265} VkPrivateDataSlotCreateFlagBits;
6266typedef VkFlags VkPrivateDataSlotCreateFlags;
6267typedef VkFlags64 VkPipelineStageFlags2;
6268
6269// Flag bits for VkPipelineStageFlagBits2
6270typedef VkFlags64 VkPipelineStageFlagBits2;
6271static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_NONE = 0ULL;
6272static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_NONE_KHR = 0ULL;
6273static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT = 0x00000001ULL;
6274static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR = 0x00000001ULL;
6275static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT = 0x00000002ULL;
6276static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR = 0x00000002ULL;
6277static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT = 0x00000004ULL;
6278static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR = 0x00000004ULL;
6279static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT = 0x00000008ULL;
6280static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR = 0x00000008ULL;
6281static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010ULL;
6282static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR = 0x00000010ULL;
6283static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020ULL;
6284static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR = 0x00000020ULL;
6285static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT = 0x00000040ULL;
6286static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR = 0x00000040ULL;
6287static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT = 0x00000080ULL;
6288static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR = 0x00000080ULL;
6289static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT = 0x00000100ULL;
6290static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR = 0x00000100ULL;
6291static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT = 0x00000200ULL;
6292static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR = 0x00000200ULL;
6293static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400ULL;
6294static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR = 0x00000400ULL;
6295static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT = 0x00000800ULL;
6296static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR = 0x00000800ULL;
6297static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT = 0x00001000ULL;
6298static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR = 0x00001000ULL;
6299static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFER_BIT = 0x00001000ULL;
6300static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR = 0x00001000ULL;
6301static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT = 0x00002000ULL;
6302static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR = 0x00002000ULL;
6303static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_HOST_BIT = 0x00004000ULL;
6304static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_HOST_BIT_KHR = 0x00004000ULL;
6305static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT = 0x00008000ULL;
6306static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR = 0x00008000ULL;
6307static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT = 0x00010000ULL;
6308static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR = 0x00010000ULL;
6309static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COPY_BIT = 0x100000000ULL;
6310static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COPY_BIT_KHR = 0x100000000ULL;
6311static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RESOLVE_BIT = 0x200000000ULL;
6312static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR = 0x200000000ULL;
6313static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BLIT_BIT = 0x400000000ULL;
6314static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BLIT_BIT_KHR = 0x400000000ULL;
6315static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CLEAR_BIT = 0x800000000ULL;
6316static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR = 0x800000000ULL;
6317static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT = 0x1000000000ULL;
6318static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR = 0x1000000000ULL;
6319static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT = 0x2000000000ULL;
6320static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR = 0x2000000000ULL;
6321static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT = 0x4000000000ULL;
6322static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR = 0x4000000000ULL;
6323#ifdef VK_ENABLE_BETA_EXTENSIONS
6324static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR = 0x04000000ULL;
6325#endif
6326#ifdef VK_ENABLE_BETA_EXTENSIONS
6327static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR = 0x08000000ULL;
6328#endif
6329static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000ULL;
6330static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000ULL;
6331static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV = 0x00020000ULL;
6332static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000ULL;
6333static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV = 0x00400000ULL;
6334static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000ULL;
6335static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR = 0x00200000ULL;
6336static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV = 0x00200000ULL;
6337static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 0x02000000ULL;
6338static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000ULL;
6339static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV = 0x00080000ULL;
6340static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV = 0x00100000ULL;
6341static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI = 0x8000000000ULL;
6342static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI = 0x10000000000ULL;
6343
6344typedef VkFlags64 VkAccessFlags2;
6345
6346// Flag bits for VkAccessFlagBits2
6347typedef VkFlags64 VkAccessFlagBits2;
6348static const VkAccessFlagBits2 VK_ACCESS_2_NONE = 0ULL;
6349static const VkAccessFlagBits2 VK_ACCESS_2_NONE_KHR = 0ULL;
6350static const VkAccessFlagBits2 VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT = 0x00000001ULL;
6351static const VkAccessFlagBits2 VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR = 0x00000001ULL;
6352static const VkAccessFlagBits2 VK_ACCESS_2_INDEX_READ_BIT = 0x00000002ULL;
6353static const VkAccessFlagBits2 VK_ACCESS_2_INDEX_READ_BIT_KHR = 0x00000002ULL;
6354static const VkAccessFlagBits2 VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004ULL;
6355static const VkAccessFlagBits2 VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR = 0x00000004ULL;
6356static const VkAccessFlagBits2 VK_ACCESS_2_UNIFORM_READ_BIT = 0x00000008ULL;
6357static const VkAccessFlagBits2 VK_ACCESS_2_UNIFORM_READ_BIT_KHR = 0x00000008ULL;
6358static const VkAccessFlagBits2 VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT = 0x00000010ULL;
6359static const VkAccessFlagBits2 VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR = 0x00000010ULL;
6360static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_READ_BIT = 0x00000020ULL;
6361static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_READ_BIT_KHR = 0x00000020ULL;
6362static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_WRITE_BIT = 0x00000040ULL;
6363static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_WRITE_BIT_KHR = 0x00000040ULL;
6364static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT = 0x00000080ULL;
6365static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR = 0x00000080ULL;
6366static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100ULL;
6367static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR = 0x00000100ULL;
6368static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200ULL;
6369static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR = 0x00000200ULL;
6370static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400ULL;
6371static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR = 0x00000400ULL;
6372static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_READ_BIT = 0x00000800ULL;
6373static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_READ_BIT_KHR = 0x00000800ULL;
6374static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_WRITE_BIT = 0x00001000ULL;
6375static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR = 0x00001000ULL;
6376static const VkAccessFlagBits2 VK_ACCESS_2_HOST_READ_BIT = 0x00002000ULL;
6377static const VkAccessFlagBits2 VK_ACCESS_2_HOST_READ_BIT_KHR = 0x00002000ULL;
6378static const VkAccessFlagBits2 VK_ACCESS_2_HOST_WRITE_BIT = 0x00004000ULL;
6379static const VkAccessFlagBits2 VK_ACCESS_2_HOST_WRITE_BIT_KHR = 0x00004000ULL;
6380static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_READ_BIT = 0x00008000ULL;
6381static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_READ_BIT_KHR = 0x00008000ULL;
6382static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_WRITE_BIT = 0x00010000ULL;
6383static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_WRITE_BIT_KHR = 0x00010000ULL;
6384static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_SAMPLED_READ_BIT = 0x100000000ULL;
6385static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR = 0x100000000ULL;
6386static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_READ_BIT = 0x200000000ULL;
6387static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR = 0x200000000ULL;
6388static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT = 0x400000000ULL;
6389static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR = 0x400000000ULL;
6390#ifdef VK_ENABLE_BETA_EXTENSIONS
6391static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR = 0x800000000ULL;
6392#endif
6393#ifdef VK_ENABLE_BETA_EXTENSIONS
6394static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR = 0x1000000000ULL;
6395#endif
6396#ifdef VK_ENABLE_BETA_EXTENSIONS
6397static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR = 0x2000000000ULL;
6398#endif
6399#ifdef VK_ENABLE_BETA_EXTENSIONS
6400static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR = 0x4000000000ULL;
6401#endif
6402static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000ULL;
6403static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000ULL;
6404static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000ULL;
6405static const VkAccessFlagBits2 VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000ULL;
6406static const VkAccessFlagBits2 VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000ULL;
6407static const VkAccessFlagBits2 VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000ULL;
6408static const VkAccessFlagBits2 VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000ULL;
6409static const VkAccessFlagBits2 VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000ULL;
6410static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000ULL;
6411static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000ULL;
6412static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV = 0x00200000ULL;
6413static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 0x00400000ULL;
6414static const VkAccessFlagBits2 VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000ULL;
6415static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000ULL;
6416static const VkAccessFlagBits2 VK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI = 0x8000000000ULL;
6417
6418
6419typedef enum VkSubmitFlagBits {
6420 VK_SUBMIT_PROTECTED_BIT = 0x00000001,
6421 VK_SUBMIT_PROTECTED_BIT_KHR = VK_SUBMIT_PROTECTED_BIT,
6422 VK_SUBMIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
6423} VkSubmitFlagBits;
6424typedef VkFlags VkSubmitFlags;
6425
6426typedef enum VkRenderingFlagBits {
6427 VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT = 0x00000001,
6428 VK_RENDERING_SUSPENDING_BIT = 0x00000002,
6429 VK_RENDERING_RESUMING_BIT = 0x00000004,
6430 VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR = VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT,
6431 VK_RENDERING_SUSPENDING_BIT_KHR = VK_RENDERING_SUSPENDING_BIT,
6432 VK_RENDERING_RESUMING_BIT_KHR = VK_RENDERING_RESUMING_BIT,
6433 VK_RENDERING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
6434} VkRenderingFlagBits;
6435typedef VkFlags VkRenderingFlags;
6436typedef VkFlags64 VkFormatFeatureFlags2;
6437
6438// Flag bits for VkFormatFeatureFlagBits2
6439typedef VkFlags64 VkFormatFeatureFlagBits2;
6440static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT = 0x00000001ULL;
6441static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR = 0x00000001ULL;
6442static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT = 0x00000002ULL;
6443static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT_KHR = 0x00000002ULL;
6444static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004ULL;
6445static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT_KHR = 0x00000004ULL;
6446static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008ULL;
6447static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR = 0x00000008ULL;
6448static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT = 0x00000010ULL;
6449static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT_KHR = 0x00000010ULL;
6450static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020ULL;
6451static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT_KHR = 0x00000020ULL;
6452static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT = 0x00000040ULL;
6453static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT_KHR = 0x00000040ULL;
6454static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT = 0x00000080ULL;
6455static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT_KHR = 0x00000080ULL;
6456static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100ULL;
6457static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT_KHR = 0x00000100ULL;
6458static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200ULL;
6459static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHR = 0x00000200ULL;
6460static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_SRC_BIT = 0x00000400ULL;
6461static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR = 0x00000400ULL;
6462static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_DST_BIT = 0x00000800ULL;
6463static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_DST_BIT_KHR = 0x00000800ULL;
6464static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000ULL;
6465static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT_KHR = 0x00001000ULL;
6466static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT = 0x00002000ULL;
6467static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = 0x00002000ULL;
6468static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT = 0x00004000ULL;
6469static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT_KHR = 0x00004000ULL;
6470static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT = 0x00008000ULL;
6471static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT_KHR = 0x00008000ULL;
6472static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000ULL;
6473static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT_KHR = 0x00010000ULL;
6474static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000ULL;
6475static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = 0x00020000ULL;
6476static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000ULL;
6477static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = 0x00040000ULL;
6478static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000ULL;
6479static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = 0x00080000ULL;
6480static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000ULL;
6481static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = 0x00100000ULL;
6482static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000ULL;
6483static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR = 0x00200000ULL;
6484static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DISJOINT_BIT = 0x00400000ULL;
6485static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DISJOINT_BIT_KHR = 0x00400000ULL;
6486static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT = 0x00800000ULL;
6487static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT_KHR = 0x00800000ULL;
6488static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT = 0x80000000ULL;
6489static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR = 0x80000000ULL;
6490static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT = 0x100000000ULL;
6491static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR = 0x100000000ULL;
6492static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT = 0x200000000ULL;
6493static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR = 0x200000000ULL;
6494#ifdef VK_ENABLE_BETA_EXTENSIONS
6495static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x02000000ULL;
6496#endif
6497#ifdef VK_ENABLE_BETA_EXTENSIONS
6498static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_DECODE_DPB_BIT_KHR = 0x04000000ULL;
6499#endif
6500static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000ULL;
6501static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000ULL;
6502static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000ULL;
6503#ifdef VK_ENABLE_BETA_EXTENSIONS
6504static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000ULL;
6505#endif
6506#ifdef VK_ENABLE_BETA_EXTENSIONS
6507static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000ULL;
6508#endif
6509static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV = 0x4000000000ULL;
6510
6511typedef struct VkPhysicalDeviceVulkan13Features {
6512 VkStructureType sType;
6513 void* pNext;
6514 VkBool32 robustImageAccess;
6515 VkBool32 inlineUniformBlock;
6516 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind;
6517 VkBool32 pipelineCreationCacheControl;
6518 VkBool32 privateData;
6519 VkBool32 shaderDemoteToHelperInvocation;
6520 VkBool32 shaderTerminateInvocation;
6521 VkBool32 subgroupSizeControl;
6522 VkBool32 computeFullSubgroups;
6523 VkBool32 synchronization2;
6524 VkBool32 textureCompressionASTC_HDR;
6525 VkBool32 shaderZeroInitializeWorkgroupMemory;
6526 VkBool32 dynamicRendering;
6527 VkBool32 shaderIntegerDotProduct;
6528 VkBool32 maintenance4;
6529} VkPhysicalDeviceVulkan13Features;
6530
6531typedef struct VkPhysicalDeviceVulkan13Properties {
6532 VkStructureType sType;
6533 void* pNext;
6534 uint32_t minSubgroupSize;
6535 uint32_t maxSubgroupSize;
6536 uint32_t maxComputeWorkgroupSubgroups;
6537 VkShaderStageFlags requiredSubgroupSizeStages;
6538 uint32_t maxInlineUniformBlockSize;
6539 uint32_t maxPerStageDescriptorInlineUniformBlocks;
6540 uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
6541 uint32_t maxDescriptorSetInlineUniformBlocks;
6542 uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
6543 uint32_t maxInlineUniformTotalSize;
6544 VkBool32 integerDotProduct8BitUnsignedAccelerated;
6545 VkBool32 integerDotProduct8BitSignedAccelerated;
6546 VkBool32 integerDotProduct8BitMixedSignednessAccelerated;
6547 VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated;
6548 VkBool32 integerDotProduct4x8BitPackedSignedAccelerated;
6549 VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated;
6550 VkBool32 integerDotProduct16BitUnsignedAccelerated;
6551 VkBool32 integerDotProduct16BitSignedAccelerated;
6552 VkBool32 integerDotProduct16BitMixedSignednessAccelerated;
6553 VkBool32 integerDotProduct32BitUnsignedAccelerated;
6554 VkBool32 integerDotProduct32BitSignedAccelerated;
6555 VkBool32 integerDotProduct32BitMixedSignednessAccelerated;
6556 VkBool32 integerDotProduct64BitUnsignedAccelerated;
6557 VkBool32 integerDotProduct64BitSignedAccelerated;
6558 VkBool32 integerDotProduct64BitMixedSignednessAccelerated;
6559 VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated;
6560 VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated;
6561 VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated;
6562 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated;
6563 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated;
6564 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated;
6565 VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated;
6566 VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated;
6567 VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated;
6568 VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated;
6569 VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated;
6570 VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated;
6571 VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated;
6572 VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated;
6573 VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated;
6574 VkDeviceSize storageTexelBufferOffsetAlignmentBytes;
6575 VkBool32 storageTexelBufferOffsetSingleTexelAlignment;
6576 VkDeviceSize uniformTexelBufferOffsetAlignmentBytes;
6577 VkBool32 uniformTexelBufferOffsetSingleTexelAlignment;
6578 VkDeviceSize maxBufferSize;
6579} VkPhysicalDeviceVulkan13Properties;
6580
6581typedef struct VkPipelineCreationFeedback {
6582 VkPipelineCreationFeedbackFlags flags;
6583 uint64_t duration;
6584} VkPipelineCreationFeedback;
6585
6586typedef struct VkPipelineCreationFeedbackCreateInfo {
6587 VkStructureType sType;
6588 const void* pNext;
6589 VkPipelineCreationFeedback* pPipelineCreationFeedback;
6590 uint32_t pipelineStageCreationFeedbackCount;
6591 VkPipelineCreationFeedback* pPipelineStageCreationFeedbacks;
6592} VkPipelineCreationFeedbackCreateInfo;
6593
6594typedef struct VkPhysicalDeviceShaderTerminateInvocationFeatures {
6595 VkStructureType sType;
6596 void* pNext;
6597 VkBool32 shaderTerminateInvocation;
6598} VkPhysicalDeviceShaderTerminateInvocationFeatures;
6599
6600typedef struct VkPhysicalDeviceToolProperties {
6601 VkStructureType sType;
6602 void* pNext;
6603 char name[VK_MAX_EXTENSION_NAME_SIZE];
6604 char version[VK_MAX_EXTENSION_NAME_SIZE];
6605 VkToolPurposeFlags purposes;
6606 char description[VK_MAX_DESCRIPTION_SIZE];
6607 char layer[VK_MAX_EXTENSION_NAME_SIZE];
6608} VkPhysicalDeviceToolProperties;
6609
6610typedef struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures {
6611 VkStructureType sType;
6612 void* pNext;
6613 VkBool32 shaderDemoteToHelperInvocation;
6614} VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures;
6615
6616typedef struct VkPhysicalDevicePrivateDataFeatures {
6617 VkStructureType sType;
6618 void* pNext;
6619 VkBool32 privateData;
6620} VkPhysicalDevicePrivateDataFeatures;
6621
6622typedef struct VkDevicePrivateDataCreateInfo {
6623 VkStructureType sType;
6624 const void* pNext;
6625 uint32_t privateDataSlotRequestCount;
6626} VkDevicePrivateDataCreateInfo;
6627
6628typedef struct VkPrivateDataSlotCreateInfo {
6629 VkStructureType sType;
6630 const void* pNext;
6631 VkPrivateDataSlotCreateFlags flags;
6632} VkPrivateDataSlotCreateInfo;
6633
6634typedef struct VkPhysicalDevicePipelineCreationCacheControlFeatures {
6635 VkStructureType sType;
6636 void* pNext;
6637 VkBool32 pipelineCreationCacheControl;
6638} VkPhysicalDevicePipelineCreationCacheControlFeatures;
6639
6640typedef struct VkMemoryBarrier2 {
6641 VkStructureType sType;
6642 const void* pNext;
6643 VkPipelineStageFlags2 srcStageMask;
6644 VkAccessFlags2 srcAccessMask;
6645 VkPipelineStageFlags2 dstStageMask;
6646 VkAccessFlags2 dstAccessMask;
6647} VkMemoryBarrier2;
6648
6649typedef struct VkBufferMemoryBarrier2 {
6650 VkStructureType sType;
6651 const void* pNext;
6652 VkPipelineStageFlags2 srcStageMask;
6653 VkAccessFlags2 srcAccessMask;
6654 VkPipelineStageFlags2 dstStageMask;
6655 VkAccessFlags2 dstAccessMask;
6656 uint32_t srcQueueFamilyIndex;
6657 uint32_t dstQueueFamilyIndex;
6658 VkBuffer buffer;
6659 VkDeviceSize offset;
6660 VkDeviceSize size;
6661} VkBufferMemoryBarrier2;
6662
6663typedef struct VkImageMemoryBarrier2 {
6664 VkStructureType sType;
6665 const void* pNext;
6666 VkPipelineStageFlags2 srcStageMask;
6667 VkAccessFlags2 srcAccessMask;
6668 VkPipelineStageFlags2 dstStageMask;
6669 VkAccessFlags2 dstAccessMask;
6670 VkImageLayout oldLayout;
6671 VkImageLayout newLayout;
6672 uint32_t srcQueueFamilyIndex;
6673 uint32_t dstQueueFamilyIndex;
6674 VkImage image;
6675 VkImageSubresourceRange subresourceRange;
6676} VkImageMemoryBarrier2;
6677
6678typedef struct VkDependencyInfo {
6679 VkStructureType sType;
6680 const void* pNext;
6681 VkDependencyFlags dependencyFlags;
6682 uint32_t memoryBarrierCount;
6683 const VkMemoryBarrier2* pMemoryBarriers;
6684 uint32_t bufferMemoryBarrierCount;
6685 const VkBufferMemoryBarrier2* pBufferMemoryBarriers;
6686 uint32_t imageMemoryBarrierCount;
6687 const VkImageMemoryBarrier2* pImageMemoryBarriers;
6688} VkDependencyInfo;
6689
6690typedef struct VkSemaphoreSubmitInfo {
6691 VkStructureType sType;
6692 const void* pNext;
6693 VkSemaphore semaphore;
6694 uint64_t value;
6695 VkPipelineStageFlags2 stageMask;
6696 uint32_t deviceIndex;
6697} VkSemaphoreSubmitInfo;
6698
6699typedef struct VkCommandBufferSubmitInfo {
6700 VkStructureType sType;
6701 const void* pNext;
6702 VkCommandBuffer commandBuffer;
6703 uint32_t deviceMask;
6704} VkCommandBufferSubmitInfo;
6705
6706typedef struct VkSubmitInfo2 {
6707 VkStructureType sType;
6708 const void* pNext;
6709 VkSubmitFlags flags;
6710 uint32_t waitSemaphoreInfoCount;
6711 const VkSemaphoreSubmitInfo* pWaitSemaphoreInfos;
6712 uint32_t commandBufferInfoCount;
6713 const VkCommandBufferSubmitInfo* pCommandBufferInfos;
6714 uint32_t signalSemaphoreInfoCount;
6715 const VkSemaphoreSubmitInfo* pSignalSemaphoreInfos;
6716} VkSubmitInfo2;
6717
6718typedef struct VkPhysicalDeviceSynchronization2Features {
6719 VkStructureType sType;
6720 void* pNext;
6721 VkBool32 synchronization2;
6722} VkPhysicalDeviceSynchronization2Features;
6723
6724typedef struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures {
6725 VkStructureType sType;
6726 void* pNext;
6727 VkBool32 shaderZeroInitializeWorkgroupMemory;
6728} VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures;
6729
6730typedef struct VkPhysicalDeviceImageRobustnessFeatures {
6731 VkStructureType sType;
6732 void* pNext;
6733 VkBool32 robustImageAccess;
6734} VkPhysicalDeviceImageRobustnessFeatures;
6735
6736typedef struct VkBufferCopy2 {
6737 VkStructureType sType;
6738 const void* pNext;
6739 VkDeviceSize srcOffset;
6740 VkDeviceSize dstOffset;
6741 VkDeviceSize size;
6742} VkBufferCopy2;
6743
6744typedef struct VkCopyBufferInfo2 {
6745 VkStructureType sType;
6746 const void* pNext;
6747 VkBuffer srcBuffer;
6748 VkBuffer dstBuffer;
6749 uint32_t regionCount;
6750 const VkBufferCopy2* pRegions;
6751} VkCopyBufferInfo2;
6752
6753typedef struct VkImageCopy2 {
6754 VkStructureType sType;
6755 const void* pNext;
6756 VkImageSubresourceLayers srcSubresource;
6757 VkOffset3D srcOffset;
6758 VkImageSubresourceLayers dstSubresource;
6759 VkOffset3D dstOffset;
6760 VkExtent3D extent;
6761} VkImageCopy2;
6762
6763typedef struct VkCopyImageInfo2 {
6764 VkStructureType sType;
6765 const void* pNext;
6766 VkImage srcImage;
6767 VkImageLayout srcImageLayout;
6768 VkImage dstImage;
6769 VkImageLayout dstImageLayout;
6770 uint32_t regionCount;
6771 const VkImageCopy2* pRegions;
6772} VkCopyImageInfo2;
6773
6774typedef struct VkBufferImageCopy2 {
6775 VkStructureType sType;
6776 const void* pNext;
6777 VkDeviceSize bufferOffset;
6778 uint32_t bufferRowLength;
6779 uint32_t bufferImageHeight;
6780 VkImageSubresourceLayers imageSubresource;
6781 VkOffset3D imageOffset;
6782 VkExtent3D imageExtent;
6783} VkBufferImageCopy2;
6784
6785typedef struct VkCopyBufferToImageInfo2 {
6786 VkStructureType sType;
6787 const void* pNext;
6788 VkBuffer srcBuffer;
6789 VkImage dstImage;
6790 VkImageLayout dstImageLayout;
6791 uint32_t regionCount;
6792 const VkBufferImageCopy2* pRegions;
6793} VkCopyBufferToImageInfo2;
6794
6795typedef struct VkCopyImageToBufferInfo2 {
6796 VkStructureType sType;
6797 const void* pNext;
6798 VkImage srcImage;
6799 VkImageLayout srcImageLayout;
6800 VkBuffer dstBuffer;
6801 uint32_t regionCount;
6802 const VkBufferImageCopy2* pRegions;
6803} VkCopyImageToBufferInfo2;
6804
6805typedef struct VkImageBlit2 {
6806 VkStructureType sType;
6807 const void* pNext;
6808 VkImageSubresourceLayers srcSubresource;
6809 VkOffset3D srcOffsets[2];
6810 VkImageSubresourceLayers dstSubresource;
6811 VkOffset3D dstOffsets[2];
6812} VkImageBlit2;
6813
6814typedef struct VkBlitImageInfo2 {
6815 VkStructureType sType;
6816 const void* pNext;
6817 VkImage srcImage;
6818 VkImageLayout srcImageLayout;
6819 VkImage dstImage;
6820 VkImageLayout dstImageLayout;
6821 uint32_t regionCount;
6822 const VkImageBlit2* pRegions;
6823 VkFilter filter;
6824} VkBlitImageInfo2;
6825
6826typedef struct VkImageResolve2 {
6827 VkStructureType sType;
6828 const void* pNext;
6829 VkImageSubresourceLayers srcSubresource;
6830 VkOffset3D srcOffset;
6831 VkImageSubresourceLayers dstSubresource;
6832 VkOffset3D dstOffset;
6833 VkExtent3D extent;
6834} VkImageResolve2;
6835
6836typedef struct VkResolveImageInfo2 {
6837 VkStructureType sType;
6838 const void* pNext;
6839 VkImage srcImage;
6840 VkImageLayout srcImageLayout;
6841 VkImage dstImage;
6842 VkImageLayout dstImageLayout;
6843 uint32_t regionCount;
6844 const VkImageResolve2* pRegions;
6845} VkResolveImageInfo2;
6846
6847typedef struct VkPhysicalDeviceSubgroupSizeControlFeatures {
6848 VkStructureType sType;
6849 void* pNext;
6850 VkBool32 subgroupSizeControl;
6851 VkBool32 computeFullSubgroups;
6852} VkPhysicalDeviceSubgroupSizeControlFeatures;
6853
6854typedef struct VkPhysicalDeviceSubgroupSizeControlProperties {
6855 VkStructureType sType;
6856 void* pNext;
6857 uint32_t minSubgroupSize;
6858 uint32_t maxSubgroupSize;
6859 uint32_t maxComputeWorkgroupSubgroups;
6860 VkShaderStageFlags requiredSubgroupSizeStages;
6861} VkPhysicalDeviceSubgroupSizeControlProperties;
6862
6863typedef struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfo {
6864 VkStructureType sType;
6865 void* pNext;
6866 uint32_t requiredSubgroupSize;
6867} VkPipelineShaderStageRequiredSubgroupSizeCreateInfo;
6868
6869typedef struct VkPhysicalDeviceInlineUniformBlockFeatures {
6870 VkStructureType sType;
6871 void* pNext;
6872 VkBool32 inlineUniformBlock;
6873 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind;
6874} VkPhysicalDeviceInlineUniformBlockFeatures;
6875
6876typedef struct VkPhysicalDeviceInlineUniformBlockProperties {
6877 VkStructureType sType;
6878 void* pNext;
6879 uint32_t maxInlineUniformBlockSize;
6880 uint32_t maxPerStageDescriptorInlineUniformBlocks;
6881 uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
6882 uint32_t maxDescriptorSetInlineUniformBlocks;
6883 uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
6884} VkPhysicalDeviceInlineUniformBlockProperties;
6885
6886typedef struct VkWriteDescriptorSetInlineUniformBlock {
6887 VkStructureType sType;
6888 const void* pNext;
6889 uint32_t dataSize;
6890 const void* pData;
6891} VkWriteDescriptorSetInlineUniformBlock;
6892
6893typedef struct VkDescriptorPoolInlineUniformBlockCreateInfo {
6894 VkStructureType sType;
6895 const void* pNext;
6896 uint32_t maxInlineUniformBlockBindings;
6897} VkDescriptorPoolInlineUniformBlockCreateInfo;
6898
6899typedef struct VkPhysicalDeviceTextureCompressionASTCHDRFeatures {
6900 VkStructureType sType;
6901 void* pNext;
6902 VkBool32 textureCompressionASTC_HDR;
6903} VkPhysicalDeviceTextureCompressionASTCHDRFeatures;
6904
6905typedef struct VkRenderingAttachmentInfo {
6906 VkStructureType sType;
6907 const void* pNext;
6908 VkImageView imageView;
6909 VkImageLayout imageLayout;
6910 VkResolveModeFlagBits resolveMode;
6911 VkImageView resolveImageView;
6912 VkImageLayout resolveImageLayout;
6913 VkAttachmentLoadOp loadOp;
6914 VkAttachmentStoreOp storeOp;
6915 VkClearValue clearValue;
6916} VkRenderingAttachmentInfo;
6917
6918typedef struct VkRenderingInfo {
6919 VkStructureType sType;
6920 const void* pNext;
6921 VkRenderingFlags flags;
6922 VkRect2D renderArea;
6923 uint32_t layerCount;
6924 uint32_t viewMask;
6925 uint32_t colorAttachmentCount;
6926 const VkRenderingAttachmentInfo* pColorAttachments;
6927 const VkRenderingAttachmentInfo* pDepthAttachment;
6928 const VkRenderingAttachmentInfo* pStencilAttachment;
6929} VkRenderingInfo;
6930
6931typedef struct VkPipelineRenderingCreateInfo {
6932 VkStructureType sType;
6933 const void* pNext;
6934 uint32_t viewMask;
6935 uint32_t colorAttachmentCount;
6936 const VkFormat* pColorAttachmentFormats;
6937 VkFormat depthAttachmentFormat;
6938 VkFormat stencilAttachmentFormat;
6939} VkPipelineRenderingCreateInfo;
6940
6941typedef struct VkPhysicalDeviceDynamicRenderingFeatures {
6942 VkStructureType sType;
6943 void* pNext;
6944 VkBool32 dynamicRendering;
6945} VkPhysicalDeviceDynamicRenderingFeatures;
6946
6947typedef struct VkCommandBufferInheritanceRenderingInfo {
6948 VkStructureType sType;
6949 const void* pNext;
6950 VkRenderingFlags flags;
6951 uint32_t viewMask;
6952 uint32_t colorAttachmentCount;
6953 const VkFormat* pColorAttachmentFormats;
6954 VkFormat depthAttachmentFormat;
6955 VkFormat stencilAttachmentFormat;
6956 VkSampleCountFlagBits rasterizationSamples;
6957} VkCommandBufferInheritanceRenderingInfo;
6958
6959typedef struct VkPhysicalDeviceShaderIntegerDotProductFeatures {
6960 VkStructureType sType;
6961 void* pNext;
6962 VkBool32 shaderIntegerDotProduct;
6963} VkPhysicalDeviceShaderIntegerDotProductFeatures;
6964
6965typedef struct VkPhysicalDeviceShaderIntegerDotProductProperties {
6966 VkStructureType sType;
6967 void* pNext;
6968 VkBool32 integerDotProduct8BitUnsignedAccelerated;
6969 VkBool32 integerDotProduct8BitSignedAccelerated;
6970 VkBool32 integerDotProduct8BitMixedSignednessAccelerated;
6971 VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated;
6972 VkBool32 integerDotProduct4x8BitPackedSignedAccelerated;
6973 VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated;
6974 VkBool32 integerDotProduct16BitUnsignedAccelerated;
6975 VkBool32 integerDotProduct16BitSignedAccelerated;
6976 VkBool32 integerDotProduct16BitMixedSignednessAccelerated;
6977 VkBool32 integerDotProduct32BitUnsignedAccelerated;
6978 VkBool32 integerDotProduct32BitSignedAccelerated;
6979 VkBool32 integerDotProduct32BitMixedSignednessAccelerated;
6980 VkBool32 integerDotProduct64BitUnsignedAccelerated;
6981 VkBool32 integerDotProduct64BitSignedAccelerated;
6982 VkBool32 integerDotProduct64BitMixedSignednessAccelerated;
6983 VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated;
6984 VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated;
6985 VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated;
6986 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated;
6987 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated;
6988 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated;
6989 VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated;
6990 VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated;
6991 VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated;
6992 VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated;
6993 VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated;
6994 VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated;
6995 VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated;
6996 VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated;
6997 VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated;
6998} VkPhysicalDeviceShaderIntegerDotProductProperties;
6999
7000typedef struct VkPhysicalDeviceTexelBufferAlignmentProperties {
7001 VkStructureType sType;
7002 void* pNext;
7003 VkDeviceSize storageTexelBufferOffsetAlignmentBytes;
7004 VkBool32 storageTexelBufferOffsetSingleTexelAlignment;
7005 VkDeviceSize uniformTexelBufferOffsetAlignmentBytes;
7006 VkBool32 uniformTexelBufferOffsetSingleTexelAlignment;
7007} VkPhysicalDeviceTexelBufferAlignmentProperties;
7008
7009typedef struct VkFormatProperties3 {
7010 VkStructureType sType;
7011 void* pNext;
7012 VkFormatFeatureFlags2 linearTilingFeatures;
7013 VkFormatFeatureFlags2 optimalTilingFeatures;
7014 VkFormatFeatureFlags2 bufferFeatures;
7015} VkFormatProperties3;
7016
7017typedef struct VkPhysicalDeviceMaintenance4Features {
7018 VkStructureType sType;
7019 void* pNext;
7020 VkBool32 maintenance4;
7021} VkPhysicalDeviceMaintenance4Features;
7022
7023typedef struct VkPhysicalDeviceMaintenance4Properties {
7024 VkStructureType sType;
7025 void* pNext;
7026 VkDeviceSize maxBufferSize;
7027} VkPhysicalDeviceMaintenance4Properties;
7028
7029typedef struct VkDeviceBufferMemoryRequirements {
7030 VkStructureType sType;
7031 const void* pNext;
7032 const VkBufferCreateInfo* pCreateInfo;
7033} VkDeviceBufferMemoryRequirements;
7034
7035typedef struct VkDeviceImageMemoryRequirements {
7036 VkStructureType sType;
7037 const void* pNext;
7038 const VkImageCreateInfo* pCreateInfo;
7039 VkImageAspectFlagBits planeAspect;
7040} VkDeviceImageMemoryRequirements;
7041
7042typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceToolProperties)(VkPhysicalDevice physicalDevice, uint32_t* pToolCount, VkPhysicalDeviceToolProperties* pToolProperties);
7043typedef VkResult (VKAPI_PTR *PFN_vkCreatePrivateDataSlot)(VkDevice device, const VkPrivateDataSlotCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlot* pPrivateDataSlot);
7044typedef void (VKAPI_PTR *PFN_vkDestroyPrivateDataSlot)(VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks* pAllocator);
7045typedef VkResult (VKAPI_PTR *PFN_vkSetPrivateData)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t data);
7046typedef void (VKAPI_PTR *PFN_vkGetPrivateData)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t* pData);
7047typedef void (VKAPI_PTR *PFN_vkCmdSetEvent2)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo* pDependencyInfo);
7048typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask);
7049typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents2)(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, const VkDependencyInfo* pDependencyInfos);
7050typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier2)(VkCommandBuffer commandBuffer, const VkDependencyInfo* pDependencyInfo);
7051typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query);
7052typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo2* pSubmits, VkFence fence);
7053typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer2)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2* pCopyBufferInfo);
7054typedef void (VKAPI_PTR *PFN_vkCmdCopyImage2)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2* pCopyImageInfo);
7055typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage2)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo);
7056typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer2)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo);
7057typedef void (VKAPI_PTR *PFN_vkCmdBlitImage2)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2* pBlitImageInfo);
7058typedef void (VKAPI_PTR *PFN_vkCmdResolveImage2)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2* pResolveImageInfo);
7059typedef void (VKAPI_PTR *PFN_vkCmdBeginRendering)(VkCommandBuffer commandBuffer, const VkRenderingInfo* pRenderingInfo);
7060typedef void (VKAPI_PTR *PFN_vkCmdEndRendering)(VkCommandBuffer commandBuffer);
7061typedef void (VKAPI_PTR *PFN_vkCmdSetCullMode)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode);
7062typedef void (VKAPI_PTR *PFN_vkCmdSetFrontFace)(VkCommandBuffer commandBuffer, VkFrontFace frontFace);
7063typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveTopology)(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology);
7064typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWithCount)(VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport* pViewports);
7065typedef void (VKAPI_PTR *PFN_vkCmdSetScissorWithCount)(VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D* pScissors);
7066typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers2)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides);
7067typedef void (VKAPI_PTR *PFN_vkCmdSetDepthTestEnable)(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable);
7068typedef void (VKAPI_PTR *PFN_vkCmdSetDepthWriteEnable)(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable);
7069typedef void (VKAPI_PTR *PFN_vkCmdSetDepthCompareOp)(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp);
7070typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBoundsTestEnable)(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable);
7071typedef void (VKAPI_PTR *PFN_vkCmdSetStencilTestEnable)(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable);
7072typedef void (VKAPI_PTR *PFN_vkCmdSetStencilOp)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp);
7073typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizerDiscardEnable)(VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable);
7074typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBiasEnable)(VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable);
7075typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveRestartEnable)(VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable);
7076typedef void (VKAPI_PTR *PFN_vkGetDeviceBufferMemoryRequirements)(VkDevice device, const VkDeviceBufferMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements);
7077typedef void (VKAPI_PTR *PFN_vkGetDeviceImageMemoryRequirements)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements);
7078typedef void (VKAPI_PTR *PFN_vkGetDeviceImageSparseMemoryRequirements)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
7079
7080#ifndef VK_NO_PROTOTYPES
7081VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceToolProperties(
7082 VkPhysicalDevice physicalDevice,
7083 uint32_t* pToolCount,
7084 VkPhysicalDeviceToolProperties* pToolProperties);
7085
7086VKAPI_ATTR VkResult VKAPI_CALL vkCreatePrivateDataSlot(
7087 VkDevice device,
7088 const VkPrivateDataSlotCreateInfo* pCreateInfo,
7089 const VkAllocationCallbacks* pAllocator,
7090 VkPrivateDataSlot* pPrivateDataSlot);
7091
7092VKAPI_ATTR void VKAPI_CALL vkDestroyPrivateDataSlot(
7093 VkDevice device,
7094 VkPrivateDataSlot privateDataSlot,
7095 const VkAllocationCallbacks* pAllocator);
7096
7097VKAPI_ATTR VkResult VKAPI_CALL vkSetPrivateData(
7098 VkDevice device,
7099 VkObjectType objectType,
7100 uint64_t objectHandle,
7101 VkPrivateDataSlot privateDataSlot,
7102 uint64_t data);
7103
7104VKAPI_ATTR void VKAPI_CALL vkGetPrivateData(
7105 VkDevice device,
7106 VkObjectType objectType,
7107 uint64_t objectHandle,
7108 VkPrivateDataSlot privateDataSlot,
7109 uint64_t* pData);
7110
7111VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent2(
7112 VkCommandBuffer commandBuffer,
7113 VkEvent event,
7114 const VkDependencyInfo* pDependencyInfo);
7115
7116VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent2(
7117 VkCommandBuffer commandBuffer,
7118 VkEvent event,
7119 VkPipelineStageFlags2 stageMask);
7120
7121VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents2(
7122 VkCommandBuffer commandBuffer,
7123 uint32_t eventCount,
7124 const VkEvent* pEvents,
7125 const VkDependencyInfo* pDependencyInfos);
7126
7127VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier2(
7128 VkCommandBuffer commandBuffer,
7129 const VkDependencyInfo* pDependencyInfo);
7130
7131VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp2(
7132 VkCommandBuffer commandBuffer,
7133 VkPipelineStageFlags2 stage,
7134 VkQueryPool queryPool,
7135 uint32_t query);
7136
7137VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit2(
7138 VkQueue queue,
7139 uint32_t submitCount,
7140 const VkSubmitInfo2* pSubmits,
7141 VkFence fence);
7142
7143VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer2(
7144 VkCommandBuffer commandBuffer,
7145 const VkCopyBufferInfo2* pCopyBufferInfo);
7146
7147VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage2(
7148 VkCommandBuffer commandBuffer,
7149 const VkCopyImageInfo2* pCopyImageInfo);
7150
7151VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage2(
7152 VkCommandBuffer commandBuffer,
7153 const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo);
7154
7155VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer2(
7156 VkCommandBuffer commandBuffer,
7157 const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo);
7158
7159VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage2(
7160 VkCommandBuffer commandBuffer,
7161 const VkBlitImageInfo2* pBlitImageInfo);
7162
7163VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage2(
7164 VkCommandBuffer commandBuffer,
7165 const VkResolveImageInfo2* pResolveImageInfo);
7166
7167VKAPI_ATTR void VKAPI_CALL vkCmdBeginRendering(
7168 VkCommandBuffer commandBuffer,
7169 const VkRenderingInfo* pRenderingInfo);
7170
7171VKAPI_ATTR void VKAPI_CALL vkCmdEndRendering(
7172 VkCommandBuffer commandBuffer);
7173
7174VKAPI_ATTR void VKAPI_CALL vkCmdSetCullMode(
7175 VkCommandBuffer commandBuffer,
7176 VkCullModeFlags cullMode);
7177
7178VKAPI_ATTR void VKAPI_CALL vkCmdSetFrontFace(
7179 VkCommandBuffer commandBuffer,
7180 VkFrontFace frontFace);
7181
7182VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveTopology(
7183 VkCommandBuffer commandBuffer,
7184 VkPrimitiveTopology primitiveTopology);
7185
7186VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWithCount(
7187 VkCommandBuffer commandBuffer,
7188 uint32_t viewportCount,
7189 const VkViewport* pViewports);
7190
7191VKAPI_ATTR void VKAPI_CALL vkCmdSetScissorWithCount(
7192 VkCommandBuffer commandBuffer,
7193 uint32_t scissorCount,
7194 const VkRect2D* pScissors);
7195
7196VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers2(
7197 VkCommandBuffer commandBuffer,
7198 uint32_t firstBinding,
7199 uint32_t bindingCount,
7200 const VkBuffer* pBuffers,
7201 const VkDeviceSize* pOffsets,
7202 const VkDeviceSize* pSizes,
7203 const VkDeviceSize* pStrides);
7204
7205VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthTestEnable(
7206 VkCommandBuffer commandBuffer,
7207 VkBool32 depthTestEnable);
7208
7209VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthWriteEnable(
7210 VkCommandBuffer commandBuffer,
7211 VkBool32 depthWriteEnable);
7212
7213VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthCompareOp(
7214 VkCommandBuffer commandBuffer,
7215 VkCompareOp depthCompareOp);
7216
7217VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBoundsTestEnable(
7218 VkCommandBuffer commandBuffer,
7219 VkBool32 depthBoundsTestEnable);
7220
7221VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilTestEnable(
7222 VkCommandBuffer commandBuffer,
7223 VkBool32 stencilTestEnable);
7224
7225VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilOp(
7226 VkCommandBuffer commandBuffer,
7227 VkStencilFaceFlags faceMask,
7228 VkStencilOp failOp,
7229 VkStencilOp passOp,
7230 VkStencilOp depthFailOp,
7231 VkCompareOp compareOp);
7232
7233VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizerDiscardEnable(
7234 VkCommandBuffer commandBuffer,
7235 VkBool32 rasterizerDiscardEnable);
7236
7237VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBiasEnable(
7238 VkCommandBuffer commandBuffer,
7239 VkBool32 depthBiasEnable);
7240
7241VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveRestartEnable(
7242 VkCommandBuffer commandBuffer,
7243 VkBool32 primitiveRestartEnable);
7244
7245VKAPI_ATTR void VKAPI_CALL vkGetDeviceBufferMemoryRequirements(
7246 VkDevice device,
7247 const VkDeviceBufferMemoryRequirements* pInfo,
7248 VkMemoryRequirements2* pMemoryRequirements);
7249
7250VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageMemoryRequirements(
7251 VkDevice device,
7252 const VkDeviceImageMemoryRequirements* pInfo,
7253 VkMemoryRequirements2* pMemoryRequirements);
7254
7255VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageSparseMemoryRequirements(
7256 VkDevice device,
7257 const VkDeviceImageMemoryRequirements* pInfo,
7258 uint32_t* pSparseMemoryRequirementCount,
7259 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
7260#endif
7261
7262
7263#define VK_KHR_surface 1
7264VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR)
7265#define VK_KHR_SURFACE_SPEC_VERSION 25
7266#define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface"
7267
7268typedef enum VkPresentModeKHR {
7269 VK_PRESENT_MODE_IMMEDIATE_KHR = 0,
7270 VK_PRESENT_MODE_MAILBOX_KHR = 1,
7271 VK_PRESENT_MODE_FIFO_KHR = 2,
7272 VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3,
7273 VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR = 1000111000,
7274 VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = 1000111001,
7275 VK_PRESENT_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
7276} VkPresentModeKHR;
7277
7278typedef enum VkColorSpaceKHR {
7279 VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0,
7280 VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = 1000104001,
7281 VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT = 1000104002,
7282 VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT = 1000104003,
7283 VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT = 1000104004,
7284 VK_COLOR_SPACE_BT709_LINEAR_EXT = 1000104005,
7285 VK_COLOR_SPACE_BT709_NONLINEAR_EXT = 1000104006,
7286 VK_COLOR_SPACE_BT2020_LINEAR_EXT = 1000104007,
7287 VK_COLOR_SPACE_HDR10_ST2084_EXT = 1000104008,
7288 VK_COLOR_SPACE_DOLBYVISION_EXT = 1000104009,
7289 VK_COLOR_SPACE_HDR10_HLG_EXT = 1000104010,
7290 VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT = 1000104011,
7291 VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT = 1000104012,
7292 VK_COLOR_SPACE_PASS_THROUGH_EXT = 1000104013,
7293 VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT = 1000104014,
7294 VK_COLOR_SPACE_DISPLAY_NATIVE_AMD = 1000213000,
7295 VK_COLORSPACE_SRGB_NONLINEAR_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
7296 VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT,
7297 VK_COLOR_SPACE_MAX_ENUM_KHR = 0x7FFFFFFF
7298} VkColorSpaceKHR;
7299
7300typedef enum VkSurfaceTransformFlagBitsKHR {
7301 VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 0x00000001,
7302 VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 0x00000002,
7303 VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 0x00000004,
7304 VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 0x00000008,
7305 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 0x00000010,
7306 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 0x00000020,
7307 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 0x00000040,
7308 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 0x00000080,
7309 VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 0x00000100,
7310 VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7311} VkSurfaceTransformFlagBitsKHR;
7312
7313typedef enum VkCompositeAlphaFlagBitsKHR {
7314 VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
7315 VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 0x00000002,
7316 VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 0x00000004,
7317 VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 0x00000008,
7318 VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7319} VkCompositeAlphaFlagBitsKHR;
7320typedef VkFlags VkCompositeAlphaFlagsKHR;
7321typedef VkFlags VkSurfaceTransformFlagsKHR;
7322typedef struct VkSurfaceCapabilitiesKHR {
7323 uint32_t minImageCount;
7324 uint32_t maxImageCount;
7325 VkExtent2D currentExtent;
7326 VkExtent2D minImageExtent;
7327 VkExtent2D maxImageExtent;
7328 uint32_t maxImageArrayLayers;
7329 VkSurfaceTransformFlagsKHR supportedTransforms;
7330 VkSurfaceTransformFlagBitsKHR currentTransform;
7331 VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
7332 VkImageUsageFlags supportedUsageFlags;
7333} VkSurfaceCapabilitiesKHR;
7334
7335typedef struct VkSurfaceFormatKHR {
7336 VkFormat format;
7337 VkColorSpaceKHR colorSpace;
7338} VkSurfaceFormatKHR;
7339
7340typedef void (VKAPI_PTR *PFN_vkDestroySurfaceKHR)(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator);
7341typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported);
7342typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
7343typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats);
7344typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pPresentModeCount, VkPresentModeKHR* pPresentModes);
7345
7346#ifndef VK_NO_PROTOTYPES
7347VKAPI_ATTR void VKAPI_CALL vkDestroySurfaceKHR(
7348 VkInstance instance,
7349 VkSurfaceKHR surface,
7350 const VkAllocationCallbacks* pAllocator);
7351
7352VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceSupportKHR(
7353 VkPhysicalDevice physicalDevice,
7354 uint32_t queueFamilyIndex,
7355 VkSurfaceKHR surface,
7356 VkBool32* pSupported);
7357
7358VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilitiesKHR(
7359 VkPhysicalDevice physicalDevice,
7360 VkSurfaceKHR surface,
7361 VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
7362
7363VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormatsKHR(
7364 VkPhysicalDevice physicalDevice,
7365 VkSurfaceKHR surface,
7366 uint32_t* pSurfaceFormatCount,
7367 VkSurfaceFormatKHR* pSurfaceFormats);
7368
7369VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModesKHR(
7370 VkPhysicalDevice physicalDevice,
7371 VkSurfaceKHR surface,
7372 uint32_t* pPresentModeCount,
7373 VkPresentModeKHR* pPresentModes);
7374#endif
7375
7376
7377#define VK_KHR_swapchain 1
7378VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR)
7379#define VK_KHR_SWAPCHAIN_SPEC_VERSION 70
7380#define VK_KHR_SWAPCHAIN_EXTENSION_NAME "VK_KHR_swapchain"
7381
7382typedef enum VkSwapchainCreateFlagBitsKHR {
7383 VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 0x00000001,
7384 VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR = 0x00000002,
7385 VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR = 0x00000004,
7386 VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7387} VkSwapchainCreateFlagBitsKHR;
7388typedef VkFlags VkSwapchainCreateFlagsKHR;
7389
7390typedef enum VkDeviceGroupPresentModeFlagBitsKHR {
7391 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR = 0x00000001,
7392 VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR = 0x00000002,
7393 VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR = 0x00000004,
7394 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR = 0x00000008,
7395 VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7396} VkDeviceGroupPresentModeFlagBitsKHR;
7397typedef VkFlags VkDeviceGroupPresentModeFlagsKHR;
7398typedef struct VkSwapchainCreateInfoKHR {
7399 VkStructureType sType;
7400 const void* pNext;
7401 VkSwapchainCreateFlagsKHR flags;
7402 VkSurfaceKHR surface;
7403 uint32_t minImageCount;
7404 VkFormat imageFormat;
7405 VkColorSpaceKHR imageColorSpace;
7406 VkExtent2D imageExtent;
7407 uint32_t imageArrayLayers;
7408 VkImageUsageFlags imageUsage;
7409 VkSharingMode imageSharingMode;
7410 uint32_t queueFamilyIndexCount;
7411 const uint32_t* pQueueFamilyIndices;
7412 VkSurfaceTransformFlagBitsKHR preTransform;
7413 VkCompositeAlphaFlagBitsKHR compositeAlpha;
7414 VkPresentModeKHR presentMode;
7415 VkBool32 clipped;
7416 VkSwapchainKHR oldSwapchain;
7417} VkSwapchainCreateInfoKHR;
7418
7419typedef struct VkPresentInfoKHR {
7420 VkStructureType sType;
7421 const void* pNext;
7422 uint32_t waitSemaphoreCount;
7423 const VkSemaphore* pWaitSemaphores;
7424 uint32_t swapchainCount;
7425 const VkSwapchainKHR* pSwapchains;
7426 const uint32_t* pImageIndices;
7427 VkResult* pResults;
7428} VkPresentInfoKHR;
7429
7430typedef struct VkImageSwapchainCreateInfoKHR {
7431 VkStructureType sType;
7432 const void* pNext;
7433 VkSwapchainKHR swapchain;
7434} VkImageSwapchainCreateInfoKHR;
7435
7436typedef struct VkBindImageMemorySwapchainInfoKHR {
7437 VkStructureType sType;
7438 const void* pNext;
7439 VkSwapchainKHR swapchain;
7440 uint32_t imageIndex;
7441} VkBindImageMemorySwapchainInfoKHR;
7442
7443typedef struct VkAcquireNextImageInfoKHR {
7444 VkStructureType sType;
7445 const void* pNext;
7446 VkSwapchainKHR swapchain;
7447 uint64_t timeout;
7448 VkSemaphore semaphore;
7449 VkFence fence;
7450 uint32_t deviceMask;
7451} VkAcquireNextImageInfoKHR;
7452
7453typedef struct VkDeviceGroupPresentCapabilitiesKHR {
7454 VkStructureType sType;
7455 void* pNext;
7456 uint32_t presentMask[VK_MAX_DEVICE_GROUP_SIZE];
7457 VkDeviceGroupPresentModeFlagsKHR modes;
7458} VkDeviceGroupPresentCapabilitiesKHR;
7459
7460typedef struct VkDeviceGroupPresentInfoKHR {
7461 VkStructureType sType;
7462 const void* pNext;
7463 uint32_t swapchainCount;
7464 const uint32_t* pDeviceMasks;
7465 VkDeviceGroupPresentModeFlagBitsKHR mode;
7466} VkDeviceGroupPresentInfoKHR;
7467
7468typedef struct VkDeviceGroupSwapchainCreateInfoKHR {
7469 VkStructureType sType;
7470 const void* pNext;
7471 VkDeviceGroupPresentModeFlagsKHR modes;
7472} VkDeviceGroupSwapchainCreateInfoKHR;
7473
7474typedef VkResult (VKAPI_PTR *PFN_vkCreateSwapchainKHR)(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain);
7475typedef void (VKAPI_PTR *PFN_vkDestroySwapchainKHR)(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator);
7476typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainImagesKHR)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages);
7477typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImageKHR)(VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex);
7478typedef VkResult (VKAPI_PTR *PFN_vkQueuePresentKHR)(VkQueue queue, const VkPresentInfoKHR* pPresentInfo);
7479typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupPresentCapabilitiesKHR)(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
7480typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupSurfacePresentModesKHR)(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes);
7481typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDevicePresentRectanglesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pRectCount, VkRect2D* pRects);
7482typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImage2KHR)(VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, uint32_t* pImageIndex);
7483
7484#ifndef VK_NO_PROTOTYPES
7485VKAPI_ATTR VkResult VKAPI_CALL vkCreateSwapchainKHR(
7486 VkDevice device,
7487 const VkSwapchainCreateInfoKHR* pCreateInfo,
7488 const VkAllocationCallbacks* pAllocator,
7489 VkSwapchainKHR* pSwapchain);
7490
7491VKAPI_ATTR void VKAPI_CALL vkDestroySwapchainKHR(
7492 VkDevice device,
7493 VkSwapchainKHR swapchain,
7494 const VkAllocationCallbacks* pAllocator);
7495
7496VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainImagesKHR(
7497 VkDevice device,
7498 VkSwapchainKHR swapchain,
7499 uint32_t* pSwapchainImageCount,
7500 VkImage* pSwapchainImages);
7501
7502VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImageKHR(
7503 VkDevice device,
7504 VkSwapchainKHR swapchain,
7505 uint64_t timeout,
7506 VkSemaphore semaphore,
7507 VkFence fence,
7508 uint32_t* pImageIndex);
7509
7510VKAPI_ATTR VkResult VKAPI_CALL vkQueuePresentKHR(
7511 VkQueue queue,
7512 const VkPresentInfoKHR* pPresentInfo);
7513
7514VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupPresentCapabilitiesKHR(
7515 VkDevice device,
7516 VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
7517
7518VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupSurfacePresentModesKHR(
7519 VkDevice device,
7520 VkSurfaceKHR surface,
7521 VkDeviceGroupPresentModeFlagsKHR* pModes);
7522
7523VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDevicePresentRectanglesKHR(
7524 VkPhysicalDevice physicalDevice,
7525 VkSurfaceKHR surface,
7526 uint32_t* pRectCount,
7527 VkRect2D* pRects);
7528
7529VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImage2KHR(
7530 VkDevice device,
7531 const VkAcquireNextImageInfoKHR* pAcquireInfo,
7532 uint32_t* pImageIndex);
7533#endif
7534
7535
7536#define VK_KHR_display 1
7537VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR)
7538VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR)
7539#define VK_KHR_DISPLAY_SPEC_VERSION 23
7540#define VK_KHR_DISPLAY_EXTENSION_NAME "VK_KHR_display"
7541typedef VkFlags VkDisplayModeCreateFlagsKHR;
7542
7543typedef enum VkDisplayPlaneAlphaFlagBitsKHR {
7544 VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
7545 VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR = 0x00000002,
7546 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR = 0x00000004,
7547 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = 0x00000008,
7548 VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7549} VkDisplayPlaneAlphaFlagBitsKHR;
7550typedef VkFlags VkDisplayPlaneAlphaFlagsKHR;
7551typedef VkFlags VkDisplaySurfaceCreateFlagsKHR;
7552typedef struct VkDisplayModeParametersKHR {
7553 VkExtent2D visibleRegion;
7554 uint32_t refreshRate;
7555} VkDisplayModeParametersKHR;
7556
7557typedef struct VkDisplayModeCreateInfoKHR {
7558 VkStructureType sType;
7559 const void* pNext;
7560 VkDisplayModeCreateFlagsKHR flags;
7561 VkDisplayModeParametersKHR parameters;
7562} VkDisplayModeCreateInfoKHR;
7563
7564typedef struct VkDisplayModePropertiesKHR {
7565 VkDisplayModeKHR displayMode;
7566 VkDisplayModeParametersKHR parameters;
7567} VkDisplayModePropertiesKHR;
7568
7569typedef struct VkDisplayPlaneCapabilitiesKHR {
7570 VkDisplayPlaneAlphaFlagsKHR supportedAlpha;
7571 VkOffset2D minSrcPosition;
7572 VkOffset2D maxSrcPosition;
7573 VkExtent2D minSrcExtent;
7574 VkExtent2D maxSrcExtent;
7575 VkOffset2D minDstPosition;
7576 VkOffset2D maxDstPosition;
7577 VkExtent2D minDstExtent;
7578 VkExtent2D maxDstExtent;
7579} VkDisplayPlaneCapabilitiesKHR;
7580
7581typedef struct VkDisplayPlanePropertiesKHR {
7582 VkDisplayKHR currentDisplay;
7583 uint32_t currentStackIndex;
7584} VkDisplayPlanePropertiesKHR;
7585
7586typedef struct VkDisplayPropertiesKHR {
7587 VkDisplayKHR display;
7588 const char* displayName;
7589 VkExtent2D physicalDimensions;
7590 VkExtent2D physicalResolution;
7591 VkSurfaceTransformFlagsKHR supportedTransforms;
7592 VkBool32 planeReorderPossible;
7593 VkBool32 persistentContent;
7594} VkDisplayPropertiesKHR;
7595
7596typedef struct VkDisplaySurfaceCreateInfoKHR {
7597 VkStructureType sType;
7598 const void* pNext;
7599 VkDisplaySurfaceCreateFlagsKHR flags;
7600 VkDisplayModeKHR displayMode;
7601 uint32_t planeIndex;
7602 uint32_t planeStackIndex;
7603 VkSurfaceTransformFlagBitsKHR transform;
7604 float globalAlpha;
7605 VkDisplayPlaneAlphaFlagBitsKHR alphaMode;
7606 VkExtent2D imageExtent;
7607} VkDisplaySurfaceCreateInfoKHR;
7608
7609typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPropertiesKHR* pProperties);
7610typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties);
7611typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneSupportedDisplaysKHR)(VkPhysicalDevice physicalDevice, uint32_t planeIndex, uint32_t* pDisplayCount, VkDisplayKHR* pDisplays);
7612typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModePropertiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModePropertiesKHR* pProperties);
7613typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayModeKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode);
7614typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, uint32_t planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities);
7615typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayPlaneSurfaceKHR)(VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
7616
7617#ifndef VK_NO_PROTOTYPES
7618VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPropertiesKHR(
7619 VkPhysicalDevice physicalDevice,
7620 uint32_t* pPropertyCount,
7621 VkDisplayPropertiesKHR* pProperties);
7622
7623VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlanePropertiesKHR(
7624 VkPhysicalDevice physicalDevice,
7625 uint32_t* pPropertyCount,
7626 VkDisplayPlanePropertiesKHR* pProperties);
7627
7628VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneSupportedDisplaysKHR(
7629 VkPhysicalDevice physicalDevice,
7630 uint32_t planeIndex,
7631 uint32_t* pDisplayCount,
7632 VkDisplayKHR* pDisplays);
7633
7634VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModePropertiesKHR(
7635 VkPhysicalDevice physicalDevice,
7636 VkDisplayKHR display,
7637 uint32_t* pPropertyCount,
7638 VkDisplayModePropertiesKHR* pProperties);
7639
7640VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayModeKHR(
7641 VkPhysicalDevice physicalDevice,
7642 VkDisplayKHR display,
7643 const VkDisplayModeCreateInfoKHR* pCreateInfo,
7644 const VkAllocationCallbacks* pAllocator,
7645 VkDisplayModeKHR* pMode);
7646
7647VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilitiesKHR(
7648 VkPhysicalDevice physicalDevice,
7649 VkDisplayModeKHR mode,
7650 uint32_t planeIndex,
7651 VkDisplayPlaneCapabilitiesKHR* pCapabilities);
7652
7653VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayPlaneSurfaceKHR(
7654 VkInstance instance,
7655 const VkDisplaySurfaceCreateInfoKHR* pCreateInfo,
7656 const VkAllocationCallbacks* pAllocator,
7657 VkSurfaceKHR* pSurface);
7658#endif
7659
7660
7661#define VK_KHR_display_swapchain 1
7662#define VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION 10
7663#define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME "VK_KHR_display_swapchain"
7664typedef struct VkDisplayPresentInfoKHR {
7665 VkStructureType sType;
7666 const void* pNext;
7667 VkRect2D srcRect;
7668 VkRect2D dstRect;
7669 VkBool32 persistent;
7670} VkDisplayPresentInfoKHR;
7671
7672typedef VkResult (VKAPI_PTR *PFN_vkCreateSharedSwapchainsKHR)(VkDevice device, uint32_t swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains);
7673
7674#ifndef VK_NO_PROTOTYPES
7675VKAPI_ATTR VkResult VKAPI_CALL vkCreateSharedSwapchainsKHR(
7676 VkDevice device,
7677 uint32_t swapchainCount,
7678 const VkSwapchainCreateInfoKHR* pCreateInfos,
7679 const VkAllocationCallbacks* pAllocator,
7680 VkSwapchainKHR* pSwapchains);
7681#endif
7682
7683
7684#define VK_KHR_sampler_mirror_clamp_to_edge 1
7685#define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION 3
7686#define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME "VK_KHR_sampler_mirror_clamp_to_edge"
7687
7688
7689#define VK_KHR_dynamic_rendering 1
7690#define VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION 1
7691#define VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME "VK_KHR_dynamic_rendering"
7692typedef VkRenderingFlags VkRenderingFlagsKHR;
7693
7694typedef VkRenderingFlagBits VkRenderingFlagBitsKHR;
7695
7696typedef VkRenderingInfo VkRenderingInfoKHR;
7697
7698typedef VkRenderingAttachmentInfo VkRenderingAttachmentInfoKHR;
7699
7700typedef VkPipelineRenderingCreateInfo VkPipelineRenderingCreateInfoKHR;
7701
7702typedef VkPhysicalDeviceDynamicRenderingFeatures VkPhysicalDeviceDynamicRenderingFeaturesKHR;
7703
7704typedef VkCommandBufferInheritanceRenderingInfo VkCommandBufferInheritanceRenderingInfoKHR;
7705
7706typedef struct VkRenderingFragmentShadingRateAttachmentInfoKHR {
7707 VkStructureType sType;
7708 const void* pNext;
7709 VkImageView imageView;
7710 VkImageLayout imageLayout;
7711 VkExtent2D shadingRateAttachmentTexelSize;
7712} VkRenderingFragmentShadingRateAttachmentInfoKHR;
7713
7714typedef struct VkRenderingFragmentDensityMapAttachmentInfoEXT {
7715 VkStructureType sType;
7716 const void* pNext;
7717 VkImageView imageView;
7718 VkImageLayout imageLayout;
7719} VkRenderingFragmentDensityMapAttachmentInfoEXT;
7720
7721typedef struct VkAttachmentSampleCountInfoAMD {
7722 VkStructureType sType;
7723 const void* pNext;
7724 uint32_t colorAttachmentCount;
7725 const VkSampleCountFlagBits* pColorAttachmentSamples;
7726 VkSampleCountFlagBits depthStencilAttachmentSamples;
7727} VkAttachmentSampleCountInfoAMD;
7728
7729typedef VkAttachmentSampleCountInfoAMD VkAttachmentSampleCountInfoNV;
7730
7731typedef struct VkMultiviewPerViewAttributesInfoNVX {
7732 VkStructureType sType;
7733 const void* pNext;
7734 VkBool32 perViewAttributes;
7735 VkBool32 perViewAttributesPositionXOnly;
7736} VkMultiviewPerViewAttributesInfoNVX;
7737
7738typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderingKHR)(VkCommandBuffer commandBuffer, const VkRenderingInfo* pRenderingInfo);
7739typedef void (VKAPI_PTR *PFN_vkCmdEndRenderingKHR)(VkCommandBuffer commandBuffer);
7740
7741#ifndef VK_NO_PROTOTYPES
7742VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderingKHR(
7743 VkCommandBuffer commandBuffer,
7744 const VkRenderingInfo* pRenderingInfo);
7745
7746VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderingKHR(
7747 VkCommandBuffer commandBuffer);
7748#endif
7749
7750
7751#define VK_KHR_multiview 1
7752#define VK_KHR_MULTIVIEW_SPEC_VERSION 1
7753#define VK_KHR_MULTIVIEW_EXTENSION_NAME "VK_KHR_multiview"
7754typedef VkRenderPassMultiviewCreateInfo VkRenderPassMultiviewCreateInfoKHR;
7755
7756typedef VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeaturesKHR;
7757
7758typedef VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewPropertiesKHR;
7759
7760
7761
7762#define VK_KHR_get_physical_device_properties2 1
7763#define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION 2
7764#define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_physical_device_properties2"
7765typedef VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2KHR;
7766
7767typedef VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2KHR;
7768
7769typedef VkFormatProperties2 VkFormatProperties2KHR;
7770
7771typedef VkImageFormatProperties2 VkImageFormatProperties2KHR;
7772
7773typedef VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2KHR;
7774
7775typedef VkQueueFamilyProperties2 VkQueueFamilyProperties2KHR;
7776
7777typedef VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2KHR;
7778
7779typedef VkSparseImageFormatProperties2 VkSparseImageFormatProperties2KHR;
7780
7781typedef VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2KHR;
7782
7783typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
7784typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
7785typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2KHR)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
7786typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
7787typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
7788typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
7789typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
7790
7791#ifndef VK_NO_PROTOTYPES
7792VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2KHR(
7793 VkPhysicalDevice physicalDevice,
7794 VkPhysicalDeviceFeatures2* pFeatures);
7795
7796VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2KHR(
7797 VkPhysicalDevice physicalDevice,
7798 VkPhysicalDeviceProperties2* pProperties);
7799
7800VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2KHR(
7801 VkPhysicalDevice physicalDevice,
7802 VkFormat format,
7803 VkFormatProperties2* pFormatProperties);
7804
7805VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2KHR(
7806 VkPhysicalDevice physicalDevice,
7807 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
7808 VkImageFormatProperties2* pImageFormatProperties);
7809
7810VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2KHR(
7811 VkPhysicalDevice physicalDevice,
7812 uint32_t* pQueueFamilyPropertyCount,
7813 VkQueueFamilyProperties2* pQueueFamilyProperties);
7814
7815VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2KHR(
7816 VkPhysicalDevice physicalDevice,
7817 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
7818
7819VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
7820 VkPhysicalDevice physicalDevice,
7821 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
7822 uint32_t* pPropertyCount,
7823 VkSparseImageFormatProperties2* pProperties);
7824#endif
7825
7826
7827#define VK_KHR_device_group 1
7828#define VK_KHR_DEVICE_GROUP_SPEC_VERSION 4
7829#define VK_KHR_DEVICE_GROUP_EXTENSION_NAME "VK_KHR_device_group"
7830typedef VkPeerMemoryFeatureFlags VkPeerMemoryFeatureFlagsKHR;
7831
7832typedef VkPeerMemoryFeatureFlagBits VkPeerMemoryFeatureFlagBitsKHR;
7833
7834typedef VkMemoryAllocateFlags VkMemoryAllocateFlagsKHR;
7835
7836typedef VkMemoryAllocateFlagBits VkMemoryAllocateFlagBitsKHR;
7837
7838typedef VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfoKHR;
7839
7840typedef VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfoKHR;
7841
7842typedef VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfoKHR;
7843
7844typedef VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfoKHR;
7845
7846typedef VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfoKHR;
7847
7848typedef VkBindBufferMemoryDeviceGroupInfo VkBindBufferMemoryDeviceGroupInfoKHR;
7849
7850typedef VkBindImageMemoryDeviceGroupInfo VkBindImageMemoryDeviceGroupInfoKHR;
7851
7852typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR)(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
7853typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMaskKHR)(VkCommandBuffer commandBuffer, uint32_t deviceMask);
7854typedef 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);
7855
7856#ifndef VK_NO_PROTOTYPES
7857VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeaturesKHR(
7858 VkDevice device,
7859 uint32_t heapIndex,
7860 uint32_t localDeviceIndex,
7861 uint32_t remoteDeviceIndex,
7862 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
7863
7864VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMaskKHR(
7865 VkCommandBuffer commandBuffer,
7866 uint32_t deviceMask);
7867
7868VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBaseKHR(
7869 VkCommandBuffer commandBuffer,
7870 uint32_t baseGroupX,
7871 uint32_t baseGroupY,
7872 uint32_t baseGroupZ,
7873 uint32_t groupCountX,
7874 uint32_t groupCountY,
7875 uint32_t groupCountZ);
7876#endif
7877
7878
7879#define VK_KHR_shader_draw_parameters 1
7880#define VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION 1
7881#define VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME "VK_KHR_shader_draw_parameters"
7882
7883
7884#define VK_KHR_maintenance1 1
7885#define VK_KHR_MAINTENANCE_1_SPEC_VERSION 2
7886#define VK_KHR_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_maintenance1"
7887#define VK_KHR_MAINTENANCE1_SPEC_VERSION VK_KHR_MAINTENANCE_1_SPEC_VERSION
7888#define VK_KHR_MAINTENANCE1_EXTENSION_NAME VK_KHR_MAINTENANCE_1_EXTENSION_NAME
7889typedef VkCommandPoolTrimFlags VkCommandPoolTrimFlagsKHR;
7890
7891typedef void (VKAPI_PTR *PFN_vkTrimCommandPoolKHR)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
7892
7893#ifndef VK_NO_PROTOTYPES
7894VKAPI_ATTR void VKAPI_CALL vkTrimCommandPoolKHR(
7895 VkDevice device,
7896 VkCommandPool commandPool,
7897 VkCommandPoolTrimFlags flags);
7898#endif
7899
7900
7901#define VK_KHR_device_group_creation 1
7902#define VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION 1
7903#define VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME "VK_KHR_device_group_creation"
7904#define VK_MAX_DEVICE_GROUP_SIZE_KHR VK_MAX_DEVICE_GROUP_SIZE
7905typedef VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupPropertiesKHR;
7906
7907typedef VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfoKHR;
7908
7909typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroupsKHR)(VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
7910
7911#ifndef VK_NO_PROTOTYPES
7912VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroupsKHR(
7913 VkInstance instance,
7914 uint32_t* pPhysicalDeviceGroupCount,
7915 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
7916#endif
7917
7918
7919#define VK_KHR_external_memory_capabilities 1
7920#define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
7921#define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_memory_capabilities"
7922#define VK_LUID_SIZE_KHR VK_LUID_SIZE
7923typedef VkExternalMemoryHandleTypeFlags VkExternalMemoryHandleTypeFlagsKHR;
7924
7925typedef VkExternalMemoryHandleTypeFlagBits VkExternalMemoryHandleTypeFlagBitsKHR;
7926
7927typedef VkExternalMemoryFeatureFlags VkExternalMemoryFeatureFlagsKHR;
7928
7929typedef VkExternalMemoryFeatureFlagBits VkExternalMemoryFeatureFlagBitsKHR;
7930
7931typedef VkExternalMemoryProperties VkExternalMemoryPropertiesKHR;
7932
7933typedef VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfoKHR;
7934
7935typedef VkExternalImageFormatProperties VkExternalImageFormatPropertiesKHR;
7936
7937typedef VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfoKHR;
7938
7939typedef VkExternalBufferProperties VkExternalBufferPropertiesKHR;
7940
7941typedef VkPhysicalDeviceIDProperties VkPhysicalDeviceIDPropertiesKHR;
7942
7943typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
7944
7945#ifndef VK_NO_PROTOTYPES
7946VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferPropertiesKHR(
7947 VkPhysicalDevice physicalDevice,
7948 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
7949 VkExternalBufferProperties* pExternalBufferProperties);
7950#endif
7951
7952
7953#define VK_KHR_external_memory 1
7954#define VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION 1
7955#define VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME "VK_KHR_external_memory"
7956#define VK_QUEUE_FAMILY_EXTERNAL_KHR VK_QUEUE_FAMILY_EXTERNAL
7957typedef VkExternalMemoryImageCreateInfo VkExternalMemoryImageCreateInfoKHR;
7958
7959typedef VkExternalMemoryBufferCreateInfo VkExternalMemoryBufferCreateInfoKHR;
7960
7961typedef VkExportMemoryAllocateInfo VkExportMemoryAllocateInfoKHR;
7962
7963
7964
7965#define VK_KHR_external_memory_fd 1
7966#define VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION 1
7967#define VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME "VK_KHR_external_memory_fd"
7968typedef struct VkImportMemoryFdInfoKHR {
7969 VkStructureType sType;
7970 const void* pNext;
7971 VkExternalMemoryHandleTypeFlagBits handleType;
7972 int fd;
7973} VkImportMemoryFdInfoKHR;
7974
7975typedef struct VkMemoryFdPropertiesKHR {
7976 VkStructureType sType;
7977 void* pNext;
7978 uint32_t memoryTypeBits;
7979} VkMemoryFdPropertiesKHR;
7980
7981typedef struct VkMemoryGetFdInfoKHR {
7982 VkStructureType sType;
7983 const void* pNext;
7984 VkDeviceMemory memory;
7985 VkExternalMemoryHandleTypeFlagBits handleType;
7986} VkMemoryGetFdInfoKHR;
7987
7988typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdKHR)(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd);
7989typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdPropertiesKHR)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties);
7990
7991#ifndef VK_NO_PROTOTYPES
7992VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdKHR(
7993 VkDevice device,
7994 const VkMemoryGetFdInfoKHR* pGetFdInfo,
7995 int* pFd);
7996
7997VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdPropertiesKHR(
7998 VkDevice device,
7999 VkExternalMemoryHandleTypeFlagBits handleType,
8000 int fd,
8001 VkMemoryFdPropertiesKHR* pMemoryFdProperties);
8002#endif
8003
8004
8005#define VK_KHR_external_semaphore_capabilities 1
8006#define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION 1
8007#define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_semaphore_capabilities"
8008typedef VkExternalSemaphoreHandleTypeFlags VkExternalSemaphoreHandleTypeFlagsKHR;
8009
8010typedef VkExternalSemaphoreHandleTypeFlagBits VkExternalSemaphoreHandleTypeFlagBitsKHR;
8011
8012typedef VkExternalSemaphoreFeatureFlags VkExternalSemaphoreFeatureFlagsKHR;
8013
8014typedef VkExternalSemaphoreFeatureFlagBits VkExternalSemaphoreFeatureFlagBitsKHR;
8015
8016typedef VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfoKHR;
8017
8018typedef VkExternalSemaphoreProperties VkExternalSemaphorePropertiesKHR;
8019
8020typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
8021
8022#ifndef VK_NO_PROTOTYPES
8023VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(
8024 VkPhysicalDevice physicalDevice,
8025 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
8026 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
8027#endif
8028
8029
8030#define VK_KHR_external_semaphore 1
8031#define VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION 1
8032#define VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME "VK_KHR_external_semaphore"
8033typedef VkSemaphoreImportFlags VkSemaphoreImportFlagsKHR;
8034
8035typedef VkSemaphoreImportFlagBits VkSemaphoreImportFlagBitsKHR;
8036
8037typedef VkExportSemaphoreCreateInfo VkExportSemaphoreCreateInfoKHR;
8038
8039
8040
8041#define VK_KHR_external_semaphore_fd 1
8042#define VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION 1
8043#define VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME "VK_KHR_external_semaphore_fd"
8044typedef struct VkImportSemaphoreFdInfoKHR {
8045 VkStructureType sType;
8046 const void* pNext;
8047 VkSemaphore semaphore;
8048 VkSemaphoreImportFlags flags;
8049 VkExternalSemaphoreHandleTypeFlagBits handleType;
8050 int fd;
8051} VkImportSemaphoreFdInfoKHR;
8052
8053typedef struct VkSemaphoreGetFdInfoKHR {
8054 VkStructureType sType;
8055 const void* pNext;
8056 VkSemaphore semaphore;
8057 VkExternalSemaphoreHandleTypeFlagBits handleType;
8058} VkSemaphoreGetFdInfoKHR;
8059
8060typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreFdKHR)(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
8061typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreFdKHR)(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd);
8062
8063#ifndef VK_NO_PROTOTYPES
8064VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreFdKHR(
8065 VkDevice device,
8066 const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
8067
8068VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreFdKHR(
8069 VkDevice device,
8070 const VkSemaphoreGetFdInfoKHR* pGetFdInfo,
8071 int* pFd);
8072#endif
8073
8074
8075#define VK_KHR_push_descriptor 1
8076#define VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION 2
8077#define VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME "VK_KHR_push_descriptor"
8078typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
8079 VkStructureType sType;
8080 void* pNext;
8081 uint32_t maxPushDescriptors;
8082} VkPhysicalDevicePushDescriptorPropertiesKHR;
8083
8084typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetKHR)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites);
8085typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplateKHR)(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void* pData);
8086
8087#ifndef VK_NO_PROTOTYPES
8088VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetKHR(
8089 VkCommandBuffer commandBuffer,
8090 VkPipelineBindPoint pipelineBindPoint,
8091 VkPipelineLayout layout,
8092 uint32_t set,
8093 uint32_t descriptorWriteCount,
8094 const VkWriteDescriptorSet* pDescriptorWrites);
8095
8096VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplateKHR(
8097 VkCommandBuffer commandBuffer,
8098 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
8099 VkPipelineLayout layout,
8100 uint32_t set,
8101 const void* pData);
8102#endif
8103
8104
8105#define VK_KHR_shader_float16_int8 1
8106#define VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION 1
8107#define VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME "VK_KHR_shader_float16_int8"
8108typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceShaderFloat16Int8FeaturesKHR;
8109
8110typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceFloat16Int8FeaturesKHR;
8111
8112
8113
8114#define VK_KHR_16bit_storage 1
8115#define VK_KHR_16BIT_STORAGE_SPEC_VERSION 1
8116#define VK_KHR_16BIT_STORAGE_EXTENSION_NAME "VK_KHR_16bit_storage"
8117typedef VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeaturesKHR;
8118
8119
8120
8121#define VK_KHR_incremental_present 1
8122#define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 2
8123#define VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME "VK_KHR_incremental_present"
8124typedef struct VkRectLayerKHR {
8125 VkOffset2D offset;
8126 VkExtent2D extent;
8127 uint32_t layer;
8128} VkRectLayerKHR;
8129
8130typedef struct VkPresentRegionKHR {
8131 uint32_t rectangleCount;
8132 const VkRectLayerKHR* pRectangles;
8133} VkPresentRegionKHR;
8134
8135typedef struct VkPresentRegionsKHR {
8136 VkStructureType sType;
8137 const void* pNext;
8138 uint32_t swapchainCount;
8139 const VkPresentRegionKHR* pRegions;
8140} VkPresentRegionsKHR;
8141
8142
8143
8144#define VK_KHR_descriptor_update_template 1
8145typedef VkDescriptorUpdateTemplate VkDescriptorUpdateTemplateKHR;
8146
8147#define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION 1
8148#define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME "VK_KHR_descriptor_update_template"
8149typedef VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateTypeKHR;
8150
8151typedef VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlagsKHR;
8152
8153typedef VkDescriptorUpdateTemplateEntry VkDescriptorUpdateTemplateEntryKHR;
8154
8155typedef VkDescriptorUpdateTemplateCreateInfo VkDescriptorUpdateTemplateCreateInfoKHR;
8156
8157typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplateKHR)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
8158typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplateKHR)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
8159typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplateKHR)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
8160
8161#ifndef VK_NO_PROTOTYPES
8162VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplateKHR(
8163 VkDevice device,
8164 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
8165 const VkAllocationCallbacks* pAllocator,
8166 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
8167
8168VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplateKHR(
8169 VkDevice device,
8170 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
8171 const VkAllocationCallbacks* pAllocator);
8172
8173VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplateKHR(
8174 VkDevice device,
8175 VkDescriptorSet descriptorSet,
8176 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
8177 const void* pData);
8178#endif
8179
8180
8181#define VK_KHR_imageless_framebuffer 1
8182#define VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION 1
8183#define VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME "VK_KHR_imageless_framebuffer"
8184typedef VkPhysicalDeviceImagelessFramebufferFeatures VkPhysicalDeviceImagelessFramebufferFeaturesKHR;
8185
8186typedef VkFramebufferAttachmentsCreateInfo VkFramebufferAttachmentsCreateInfoKHR;
8187
8188typedef VkFramebufferAttachmentImageInfo VkFramebufferAttachmentImageInfoKHR;
8189
8190typedef VkRenderPassAttachmentBeginInfo VkRenderPassAttachmentBeginInfoKHR;
8191
8192
8193
8194#define VK_KHR_create_renderpass2 1
8195#define VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION 1
8196#define VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME "VK_KHR_create_renderpass2"
8197typedef VkRenderPassCreateInfo2 VkRenderPassCreateInfo2KHR;
8198
8199typedef VkAttachmentDescription2 VkAttachmentDescription2KHR;
8200
8201typedef VkAttachmentReference2 VkAttachmentReference2KHR;
8202
8203typedef VkSubpassDescription2 VkSubpassDescription2KHR;
8204
8205typedef VkSubpassDependency2 VkSubpassDependency2KHR;
8206
8207typedef VkSubpassBeginInfo VkSubpassBeginInfoKHR;
8208
8209typedef VkSubpassEndInfo VkSubpassEndInfoKHR;
8210
8211typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2KHR)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
8212typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo);
8213typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo);
8214typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo);
8215
8216#ifndef VK_NO_PROTOTYPES
8217VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2KHR(
8218 VkDevice device,
8219 const VkRenderPassCreateInfo2* pCreateInfo,
8220 const VkAllocationCallbacks* pAllocator,
8221 VkRenderPass* pRenderPass);
8222
8223VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2KHR(
8224 VkCommandBuffer commandBuffer,
8225 const VkRenderPassBeginInfo* pRenderPassBegin,
8226 const VkSubpassBeginInfo* pSubpassBeginInfo);
8227
8228VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2KHR(
8229 VkCommandBuffer commandBuffer,
8230 const VkSubpassBeginInfo* pSubpassBeginInfo,
8231 const VkSubpassEndInfo* pSubpassEndInfo);
8232
8233VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2KHR(
8234 VkCommandBuffer commandBuffer,
8235 const VkSubpassEndInfo* pSubpassEndInfo);
8236#endif
8237
8238
8239#define VK_KHR_shared_presentable_image 1
8240#define VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION 1
8241#define VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME "VK_KHR_shared_presentable_image"
8242typedef struct VkSharedPresentSurfaceCapabilitiesKHR {
8243 VkStructureType sType;
8244 void* pNext;
8245 VkImageUsageFlags sharedPresentSupportedUsageFlags;
8246} VkSharedPresentSurfaceCapabilitiesKHR;
8247
8248typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainStatusKHR)(VkDevice device, VkSwapchainKHR swapchain);
8249
8250#ifndef VK_NO_PROTOTYPES
8251VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainStatusKHR(
8252 VkDevice device,
8253 VkSwapchainKHR swapchain);
8254#endif
8255
8256
8257#define VK_KHR_external_fence_capabilities 1
8258#define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION 1
8259#define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_fence_capabilities"
8260typedef VkExternalFenceHandleTypeFlags VkExternalFenceHandleTypeFlagsKHR;
8261
8262typedef VkExternalFenceHandleTypeFlagBits VkExternalFenceHandleTypeFlagBitsKHR;
8263
8264typedef VkExternalFenceFeatureFlags VkExternalFenceFeatureFlagsKHR;
8265
8266typedef VkExternalFenceFeatureFlagBits VkExternalFenceFeatureFlagBitsKHR;
8267
8268typedef VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfoKHR;
8269
8270typedef VkExternalFenceProperties VkExternalFencePropertiesKHR;
8271
8272typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
8273
8274#ifndef VK_NO_PROTOTYPES
8275VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFencePropertiesKHR(
8276 VkPhysicalDevice physicalDevice,
8277 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
8278 VkExternalFenceProperties* pExternalFenceProperties);
8279#endif
8280
8281
8282#define VK_KHR_external_fence 1
8283#define VK_KHR_EXTERNAL_FENCE_SPEC_VERSION 1
8284#define VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME "VK_KHR_external_fence"
8285typedef VkFenceImportFlags VkFenceImportFlagsKHR;
8286
8287typedef VkFenceImportFlagBits VkFenceImportFlagBitsKHR;
8288
8289typedef VkExportFenceCreateInfo VkExportFenceCreateInfoKHR;
8290
8291
8292
8293#define VK_KHR_external_fence_fd 1
8294#define VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION 1
8295#define VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME "VK_KHR_external_fence_fd"
8296typedef struct VkImportFenceFdInfoKHR {
8297 VkStructureType sType;
8298 const void* pNext;
8299 VkFence fence;
8300 VkFenceImportFlags flags;
8301 VkExternalFenceHandleTypeFlagBits handleType;
8302 int fd;
8303} VkImportFenceFdInfoKHR;
8304
8305typedef struct VkFenceGetFdInfoKHR {
8306 VkStructureType sType;
8307 const void* pNext;
8308 VkFence fence;
8309 VkExternalFenceHandleTypeFlagBits handleType;
8310} VkFenceGetFdInfoKHR;
8311
8312typedef VkResult (VKAPI_PTR *PFN_vkImportFenceFdKHR)(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
8313typedef VkResult (VKAPI_PTR *PFN_vkGetFenceFdKHR)(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd);
8314
8315#ifndef VK_NO_PROTOTYPES
8316VKAPI_ATTR VkResult VKAPI_CALL vkImportFenceFdKHR(
8317 VkDevice device,
8318 const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
8319
8320VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceFdKHR(
8321 VkDevice device,
8322 const VkFenceGetFdInfoKHR* pGetFdInfo,
8323 int* pFd);
8324#endif
8325
8326
8327#define VK_KHR_performance_query 1
8328#define VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION 1
8329#define VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME "VK_KHR_performance_query"
8330
8331typedef enum VkPerformanceCounterUnitKHR {
8332 VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR = 0,
8333 VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR = 1,
8334 VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR = 2,
8335 VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR = 3,
8336 VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR = 4,
8337 VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR = 5,
8338 VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR = 6,
8339 VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR = 7,
8340 VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR = 8,
8341 VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR = 9,
8342 VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR = 10,
8343 VK_PERFORMANCE_COUNTER_UNIT_MAX_ENUM_KHR = 0x7FFFFFFF
8344} VkPerformanceCounterUnitKHR;
8345
8346typedef enum VkPerformanceCounterScopeKHR {
8347 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR = 0,
8348 VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR = 1,
8349 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR = 2,
8350 VK_QUERY_SCOPE_COMMAND_BUFFER_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR,
8351 VK_QUERY_SCOPE_RENDER_PASS_KHR = VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR,
8352 VK_QUERY_SCOPE_COMMAND_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR,
8353 VK_PERFORMANCE_COUNTER_SCOPE_MAX_ENUM_KHR = 0x7FFFFFFF
8354} VkPerformanceCounterScopeKHR;
8355
8356typedef enum VkPerformanceCounterStorageKHR {
8357 VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR = 0,
8358 VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR = 1,
8359 VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR = 2,
8360 VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR = 3,
8361 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR = 4,
8362 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR = 5,
8363 VK_PERFORMANCE_COUNTER_STORAGE_MAX_ENUM_KHR = 0x7FFFFFFF
8364} VkPerformanceCounterStorageKHR;
8365
8366typedef enum VkPerformanceCounterDescriptionFlagBitsKHR {
8367 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR = 0x00000001,
8368 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR = 0x00000002,
8369 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR,
8370 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR,
8371 VK_PERFORMANCE_COUNTER_DESCRIPTION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8372} VkPerformanceCounterDescriptionFlagBitsKHR;
8373typedef VkFlags VkPerformanceCounterDescriptionFlagsKHR;
8374
8375typedef enum VkAcquireProfilingLockFlagBitsKHR {
8376 VK_ACQUIRE_PROFILING_LOCK_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8377} VkAcquireProfilingLockFlagBitsKHR;
8378typedef VkFlags VkAcquireProfilingLockFlagsKHR;
8379typedef struct VkPhysicalDevicePerformanceQueryFeaturesKHR {
8380 VkStructureType sType;
8381 void* pNext;
8382 VkBool32 performanceCounterQueryPools;
8383 VkBool32 performanceCounterMultipleQueryPools;
8384} VkPhysicalDevicePerformanceQueryFeaturesKHR;
8385
8386typedef struct VkPhysicalDevicePerformanceQueryPropertiesKHR {
8387 VkStructureType sType;
8388 void* pNext;
8389 VkBool32 allowCommandBufferQueryCopies;
8390} VkPhysicalDevicePerformanceQueryPropertiesKHR;
8391
8392typedef struct VkPerformanceCounterKHR {
8393 VkStructureType sType;
8394 void* pNext;
8395 VkPerformanceCounterUnitKHR unit;
8396 VkPerformanceCounterScopeKHR scope;
8397 VkPerformanceCounterStorageKHR storage;
8398 uint8_t uuid[VK_UUID_SIZE];
8399} VkPerformanceCounterKHR;
8400
8401typedef struct VkPerformanceCounterDescriptionKHR {
8402 VkStructureType sType;
8403 void* pNext;
8404 VkPerformanceCounterDescriptionFlagsKHR flags;
8405 char name[VK_MAX_DESCRIPTION_SIZE];
8406 char category[VK_MAX_DESCRIPTION_SIZE];
8407 char description[VK_MAX_DESCRIPTION_SIZE];
8408} VkPerformanceCounterDescriptionKHR;
8409
8410typedef struct VkQueryPoolPerformanceCreateInfoKHR {
8411 VkStructureType sType;
8412 const void* pNext;
8413 uint32_t queueFamilyIndex;
8414 uint32_t counterIndexCount;
8415 const uint32_t* pCounterIndices;
8416} VkQueryPoolPerformanceCreateInfoKHR;
8417
8418typedef union VkPerformanceCounterResultKHR {
8419 int32_t int32;
8420 int64_t int64;
8421 uint32_t uint32;
8422 uint64_t uint64;
8423 float float32;
8424 double float64;
8425} VkPerformanceCounterResultKHR;
8426
8427typedef struct VkAcquireProfilingLockInfoKHR {
8428 VkStructureType sType;
8429 const void* pNext;
8430 VkAcquireProfilingLockFlagsKHR flags;
8431 uint64_t timeout;
8432} VkAcquireProfilingLockInfoKHR;
8433
8434typedef struct VkPerformanceQuerySubmitInfoKHR {
8435 VkStructureType sType;
8436 const void* pNext;
8437 uint32_t counterPassIndex;
8438} VkPerformanceQuerySubmitInfoKHR;
8439
8440typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, uint32_t* pCounterCount, VkPerformanceCounterKHR* pCounters, VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
8441typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR)(VkPhysicalDevice physicalDevice, const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, uint32_t* pNumPasses);
8442typedef VkResult (VKAPI_PTR *PFN_vkAcquireProfilingLockKHR)(VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo);
8443typedef void (VKAPI_PTR *PFN_vkReleaseProfilingLockKHR)(VkDevice device);
8444
8445#ifndef VK_NO_PROTOTYPES
8446VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
8447 VkPhysicalDevice physicalDevice,
8448 uint32_t queueFamilyIndex,
8449 uint32_t* pCounterCount,
8450 VkPerformanceCounterKHR* pCounters,
8451 VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
8452
8453VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
8454 VkPhysicalDevice physicalDevice,
8455 const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo,
8456 uint32_t* pNumPasses);
8457
8458VKAPI_ATTR VkResult VKAPI_CALL vkAcquireProfilingLockKHR(
8459 VkDevice device,
8460 const VkAcquireProfilingLockInfoKHR* pInfo);
8461
8462VKAPI_ATTR void VKAPI_CALL vkReleaseProfilingLockKHR(
8463 VkDevice device);
8464#endif
8465
8466
8467#define VK_KHR_maintenance2 1
8468#define VK_KHR_MAINTENANCE_2_SPEC_VERSION 1
8469#define VK_KHR_MAINTENANCE_2_EXTENSION_NAME "VK_KHR_maintenance2"
8470#define VK_KHR_MAINTENANCE2_SPEC_VERSION VK_KHR_MAINTENANCE_2_SPEC_VERSION
8471#define VK_KHR_MAINTENANCE2_EXTENSION_NAME VK_KHR_MAINTENANCE_2_EXTENSION_NAME
8472typedef VkPointClippingBehavior VkPointClippingBehaviorKHR;
8473
8474typedef VkTessellationDomainOrigin VkTessellationDomainOriginKHR;
8475
8476typedef VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingPropertiesKHR;
8477
8478typedef VkRenderPassInputAttachmentAspectCreateInfo VkRenderPassInputAttachmentAspectCreateInfoKHR;
8479
8480typedef VkInputAttachmentAspectReference VkInputAttachmentAspectReferenceKHR;
8481
8482typedef VkImageViewUsageCreateInfo VkImageViewUsageCreateInfoKHR;
8483
8484typedef VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfoKHR;
8485
8486
8487
8488#define VK_KHR_get_surface_capabilities2 1
8489#define VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION 1
8490#define VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME "VK_KHR_get_surface_capabilities2"
8491typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
8492 VkStructureType sType;
8493 const void* pNext;
8494 VkSurfaceKHR surface;
8495} VkPhysicalDeviceSurfaceInfo2KHR;
8496
8497typedef struct VkSurfaceCapabilities2KHR {
8498 VkStructureType sType;
8499 void* pNext;
8500 VkSurfaceCapabilitiesKHR surfaceCapabilities;
8501} VkSurfaceCapabilities2KHR;
8502
8503typedef struct VkSurfaceFormat2KHR {
8504 VkStructureType sType;
8505 void* pNext;
8506 VkSurfaceFormatKHR surfaceFormat;
8507} VkSurfaceFormat2KHR;
8508
8509typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
8510typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormats2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, uint32_t* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats);
8511
8512#ifndef VK_NO_PROTOTYPES
8513VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2KHR(
8514 VkPhysicalDevice physicalDevice,
8515 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
8516 VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
8517
8518VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormats2KHR(
8519 VkPhysicalDevice physicalDevice,
8520 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
8521 uint32_t* pSurfaceFormatCount,
8522 VkSurfaceFormat2KHR* pSurfaceFormats);
8523#endif
8524
8525
8526#define VK_KHR_variable_pointers 1
8527#define VK_KHR_VARIABLE_POINTERS_SPEC_VERSION 1
8528#define VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME "VK_KHR_variable_pointers"
8529typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeaturesKHR;
8530
8531typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointersFeaturesKHR;
8532
8533
8534
8535#define VK_KHR_get_display_properties2 1
8536#define VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION 1
8537#define VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_display_properties2"
8538typedef struct VkDisplayProperties2KHR {
8539 VkStructureType sType;
8540 void* pNext;
8541 VkDisplayPropertiesKHR displayProperties;
8542} VkDisplayProperties2KHR;
8543
8544typedef struct VkDisplayPlaneProperties2KHR {
8545 VkStructureType sType;
8546 void* pNext;
8547 VkDisplayPlanePropertiesKHR displayPlaneProperties;
8548} VkDisplayPlaneProperties2KHR;
8549
8550typedef struct VkDisplayModeProperties2KHR {
8551 VkStructureType sType;
8552 void* pNext;
8553 VkDisplayModePropertiesKHR displayModeProperties;
8554} VkDisplayModeProperties2KHR;
8555
8556typedef struct VkDisplayPlaneInfo2KHR {
8557 VkStructureType sType;
8558 const void* pNext;
8559 VkDisplayModeKHR mode;
8560 uint32_t planeIndex;
8561} VkDisplayPlaneInfo2KHR;
8562
8563typedef struct VkDisplayPlaneCapabilities2KHR {
8564 VkStructureType sType;
8565 void* pNext;
8566 VkDisplayPlaneCapabilitiesKHR capabilities;
8567} VkDisplayPlaneCapabilities2KHR;
8568
8569typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayProperties2KHR* pProperties);
8570typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlaneProperties2KHR* pProperties);
8571typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModeProperties2KHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModeProperties2KHR* pProperties);
8572typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, VkDisplayPlaneCapabilities2KHR* pCapabilities);
8573
8574#ifndef VK_NO_PROTOTYPES
8575VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayProperties2KHR(
8576 VkPhysicalDevice physicalDevice,
8577 uint32_t* pPropertyCount,
8578 VkDisplayProperties2KHR* pProperties);
8579
8580VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlaneProperties2KHR(
8581 VkPhysicalDevice physicalDevice,
8582 uint32_t* pPropertyCount,
8583 VkDisplayPlaneProperties2KHR* pProperties);
8584
8585VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModeProperties2KHR(
8586 VkPhysicalDevice physicalDevice,
8587 VkDisplayKHR display,
8588 uint32_t* pPropertyCount,
8589 VkDisplayModeProperties2KHR* pProperties);
8590
8591VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilities2KHR(
8592 VkPhysicalDevice physicalDevice,
8593 const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo,
8594 VkDisplayPlaneCapabilities2KHR* pCapabilities);
8595#endif
8596
8597
8598#define VK_KHR_dedicated_allocation 1
8599#define VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION 3
8600#define VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_KHR_dedicated_allocation"
8601typedef VkMemoryDedicatedRequirements VkMemoryDedicatedRequirementsKHR;
8602
8603typedef VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfoKHR;
8604
8605
8606
8607#define VK_KHR_storage_buffer_storage_class 1
8608#define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION 1
8609#define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME "VK_KHR_storage_buffer_storage_class"
8610
8611
8612#define VK_KHR_relaxed_block_layout 1
8613#define VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION 1
8614#define VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME "VK_KHR_relaxed_block_layout"
8615
8616
8617#define VK_KHR_get_memory_requirements2 1
8618#define VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION 1
8619#define VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME "VK_KHR_get_memory_requirements2"
8620typedef VkBufferMemoryRequirementsInfo2 VkBufferMemoryRequirementsInfo2KHR;
8621
8622typedef VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2KHR;
8623
8624typedef VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2KHR;
8625
8626typedef VkMemoryRequirements2 VkMemoryRequirements2KHR;
8627
8628typedef VkSparseImageMemoryRequirements2 VkSparseImageMemoryRequirements2KHR;
8629
8630typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2KHR)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
8631typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2KHR)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
8632typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2KHR)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
8633
8634#ifndef VK_NO_PROTOTYPES
8635VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2KHR(
8636 VkDevice device,
8637 const VkImageMemoryRequirementsInfo2* pInfo,
8638 VkMemoryRequirements2* pMemoryRequirements);
8639
8640VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2KHR(
8641 VkDevice device,
8642 const VkBufferMemoryRequirementsInfo2* pInfo,
8643 VkMemoryRequirements2* pMemoryRequirements);
8644
8645VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2KHR(
8646 VkDevice device,
8647 const VkImageSparseMemoryRequirementsInfo2* pInfo,
8648 uint32_t* pSparseMemoryRequirementCount,
8649 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
8650#endif
8651
8652
8653#define VK_KHR_image_format_list 1
8654#define VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION 1
8655#define VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME "VK_KHR_image_format_list"
8656typedef VkImageFormatListCreateInfo VkImageFormatListCreateInfoKHR;
8657
8658
8659
8660#define VK_KHR_sampler_ycbcr_conversion 1
8661typedef VkSamplerYcbcrConversion VkSamplerYcbcrConversionKHR;
8662
8663#define VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION 14
8664#define VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME "VK_KHR_sampler_ycbcr_conversion"
8665typedef VkSamplerYcbcrModelConversion VkSamplerYcbcrModelConversionKHR;
8666
8667typedef VkSamplerYcbcrRange VkSamplerYcbcrRangeKHR;
8668
8669typedef VkChromaLocation VkChromaLocationKHR;
8670
8671typedef VkSamplerYcbcrConversionCreateInfo VkSamplerYcbcrConversionCreateInfoKHR;
8672
8673typedef VkSamplerYcbcrConversionInfo VkSamplerYcbcrConversionInfoKHR;
8674
8675typedef VkBindImagePlaneMemoryInfo VkBindImagePlaneMemoryInfoKHR;
8676
8677typedef VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfoKHR;
8678
8679typedef VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR;
8680
8681typedef VkSamplerYcbcrConversionImageFormatProperties VkSamplerYcbcrConversionImageFormatPropertiesKHR;
8682
8683typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversionKHR)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
8684typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversionKHR)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
8685
8686#ifndef VK_NO_PROTOTYPES
8687VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversionKHR(
8688 VkDevice device,
8689 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
8690 const VkAllocationCallbacks* pAllocator,
8691 VkSamplerYcbcrConversion* pYcbcrConversion);
8692
8693VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversionKHR(
8694 VkDevice device,
8695 VkSamplerYcbcrConversion ycbcrConversion,
8696 const VkAllocationCallbacks* pAllocator);
8697#endif
8698
8699
8700#define VK_KHR_bind_memory2 1
8701#define VK_KHR_BIND_MEMORY_2_SPEC_VERSION 1
8702#define VK_KHR_BIND_MEMORY_2_EXTENSION_NAME "VK_KHR_bind_memory2"
8703typedef VkBindBufferMemoryInfo VkBindBufferMemoryInfoKHR;
8704
8705typedef VkBindImageMemoryInfo VkBindImageMemoryInfoKHR;
8706
8707typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2KHR)(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
8708typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2KHR)(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
8709
8710#ifndef VK_NO_PROTOTYPES
8711VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2KHR(
8712 VkDevice device,
8713 uint32_t bindInfoCount,
8714 const VkBindBufferMemoryInfo* pBindInfos);
8715
8716VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2KHR(
8717 VkDevice device,
8718 uint32_t bindInfoCount,
8719 const VkBindImageMemoryInfo* pBindInfos);
8720#endif
8721
8722
8723#define VK_KHR_maintenance3 1
8724#define VK_KHR_MAINTENANCE_3_SPEC_VERSION 1
8725#define VK_KHR_MAINTENANCE_3_EXTENSION_NAME "VK_KHR_maintenance3"
8726#define VK_KHR_MAINTENANCE3_SPEC_VERSION VK_KHR_MAINTENANCE_3_SPEC_VERSION
8727#define VK_KHR_MAINTENANCE3_EXTENSION_NAME VK_KHR_MAINTENANCE_3_EXTENSION_NAME
8728typedef VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3PropertiesKHR;
8729
8730typedef VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupportKHR;
8731
8732typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupportKHR)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
8733
8734#ifndef VK_NO_PROTOTYPES
8735VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupportKHR(
8736 VkDevice device,
8737 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
8738 VkDescriptorSetLayoutSupport* pSupport);
8739#endif
8740
8741
8742#define VK_KHR_draw_indirect_count 1
8743#define VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION 1
8744#define VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_KHR_draw_indirect_count"
8745typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
8746typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
8747
8748#ifndef VK_NO_PROTOTYPES
8749VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountKHR(
8750 VkCommandBuffer commandBuffer,
8751 VkBuffer buffer,
8752 VkDeviceSize offset,
8753 VkBuffer countBuffer,
8754 VkDeviceSize countBufferOffset,
8755 uint32_t maxDrawCount,
8756 uint32_t stride);
8757
8758VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountKHR(
8759 VkCommandBuffer commandBuffer,
8760 VkBuffer buffer,
8761 VkDeviceSize offset,
8762 VkBuffer countBuffer,
8763 VkDeviceSize countBufferOffset,
8764 uint32_t maxDrawCount,
8765 uint32_t stride);
8766#endif
8767
8768
8769#define VK_KHR_shader_subgroup_extended_types 1
8770#define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION 1
8771#define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME "VK_KHR_shader_subgroup_extended_types"
8772typedef VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR;
8773
8774
8775
8776#define VK_KHR_8bit_storage 1
8777#define VK_KHR_8BIT_STORAGE_SPEC_VERSION 1
8778#define VK_KHR_8BIT_STORAGE_EXTENSION_NAME "VK_KHR_8bit_storage"
8779typedef VkPhysicalDevice8BitStorageFeatures VkPhysicalDevice8BitStorageFeaturesKHR;
8780
8781
8782
8783#define VK_KHR_shader_atomic_int64 1
8784#define VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION 1
8785#define VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME "VK_KHR_shader_atomic_int64"
8786typedef VkPhysicalDeviceShaderAtomicInt64Features VkPhysicalDeviceShaderAtomicInt64FeaturesKHR;
8787
8788
8789
8790#define VK_KHR_shader_clock 1
8791#define VK_KHR_SHADER_CLOCK_SPEC_VERSION 1
8792#define VK_KHR_SHADER_CLOCK_EXTENSION_NAME "VK_KHR_shader_clock"
8793typedef struct VkPhysicalDeviceShaderClockFeaturesKHR {
8794 VkStructureType sType;
8795 void* pNext;
8796 VkBool32 shaderSubgroupClock;
8797 VkBool32 shaderDeviceClock;
8798} VkPhysicalDeviceShaderClockFeaturesKHR;
8799
8800
8801
8802#define VK_KHR_global_priority 1
8803#define VK_MAX_GLOBAL_PRIORITY_SIZE_KHR 16U
8804#define VK_KHR_GLOBAL_PRIORITY_SPEC_VERSION 1
8805#define VK_KHR_GLOBAL_PRIORITY_EXTENSION_NAME "VK_KHR_global_priority"
8806
8807typedef enum VkQueueGlobalPriorityKHR {
8808 VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR = 128,
8809 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR = 256,
8810 VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR = 512,
8811 VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR = 1024,
8812 VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT = VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR,
8813 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT = VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR,
8814 VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT = VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR,
8815 VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT = VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR,
8816 VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_KHR = 0x7FFFFFFF
8817} VkQueueGlobalPriorityKHR;
8818typedef struct VkDeviceQueueGlobalPriorityCreateInfoKHR {
8819 VkStructureType sType;
8820 const void* pNext;
8821 VkQueueGlobalPriorityKHR globalPriority;
8822} VkDeviceQueueGlobalPriorityCreateInfoKHR;
8823
8824typedef struct VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR {
8825 VkStructureType sType;
8826 void* pNext;
8827 VkBool32 globalPriorityQuery;
8828} VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR;
8829
8830typedef struct VkQueueFamilyGlobalPriorityPropertiesKHR {
8831 VkStructureType sType;
8832 void* pNext;
8833 uint32_t priorityCount;
8834 VkQueueGlobalPriorityKHR priorities[VK_MAX_GLOBAL_PRIORITY_SIZE_KHR];
8835} VkQueueFamilyGlobalPriorityPropertiesKHR;
8836
8837
8838
8839#define VK_KHR_driver_properties 1
8840#define VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION 1
8841#define VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME "VK_KHR_driver_properties"
8842#define VK_MAX_DRIVER_NAME_SIZE_KHR VK_MAX_DRIVER_NAME_SIZE
8843#define VK_MAX_DRIVER_INFO_SIZE_KHR VK_MAX_DRIVER_INFO_SIZE
8844typedef VkDriverId VkDriverIdKHR;
8845
8846typedef VkConformanceVersion VkConformanceVersionKHR;
8847
8848typedef VkPhysicalDeviceDriverProperties VkPhysicalDeviceDriverPropertiesKHR;
8849
8850
8851
8852#define VK_KHR_shader_float_controls 1
8853#define VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION 4
8854#define VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME "VK_KHR_shader_float_controls"
8855typedef VkShaderFloatControlsIndependence VkShaderFloatControlsIndependenceKHR;
8856
8857typedef VkPhysicalDeviceFloatControlsProperties VkPhysicalDeviceFloatControlsPropertiesKHR;
8858
8859
8860
8861#define VK_KHR_depth_stencil_resolve 1
8862#define VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION 1
8863#define VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME "VK_KHR_depth_stencil_resolve"
8864typedef VkResolveModeFlagBits VkResolveModeFlagBitsKHR;
8865
8866typedef VkResolveModeFlags VkResolveModeFlagsKHR;
8867
8868typedef VkSubpassDescriptionDepthStencilResolve VkSubpassDescriptionDepthStencilResolveKHR;
8869
8870typedef VkPhysicalDeviceDepthStencilResolveProperties VkPhysicalDeviceDepthStencilResolvePropertiesKHR;
8871
8872
8873
8874#define VK_KHR_swapchain_mutable_format 1
8875#define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION 1
8876#define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME "VK_KHR_swapchain_mutable_format"
8877
8878
8879#define VK_KHR_timeline_semaphore 1
8880#define VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION 2
8881#define VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME "VK_KHR_timeline_semaphore"
8882typedef VkSemaphoreType VkSemaphoreTypeKHR;
8883
8884typedef VkSemaphoreWaitFlagBits VkSemaphoreWaitFlagBitsKHR;
8885
8886typedef VkSemaphoreWaitFlags VkSemaphoreWaitFlagsKHR;
8887
8888typedef VkPhysicalDeviceTimelineSemaphoreFeatures VkPhysicalDeviceTimelineSemaphoreFeaturesKHR;
8889
8890typedef VkPhysicalDeviceTimelineSemaphoreProperties VkPhysicalDeviceTimelineSemaphorePropertiesKHR;
8891
8892typedef VkSemaphoreTypeCreateInfo VkSemaphoreTypeCreateInfoKHR;
8893
8894typedef VkTimelineSemaphoreSubmitInfo VkTimelineSemaphoreSubmitInfoKHR;
8895
8896typedef VkSemaphoreWaitInfo VkSemaphoreWaitInfoKHR;
8897
8898typedef VkSemaphoreSignalInfo VkSemaphoreSignalInfoKHR;
8899
8900typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValueKHR)(VkDevice device, VkSemaphore semaphore, uint64_t* pValue);
8901typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphoresKHR)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout);
8902typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphoreKHR)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo);
8903
8904#ifndef VK_NO_PROTOTYPES
8905VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValueKHR(
8906 VkDevice device,
8907 VkSemaphore semaphore,
8908 uint64_t* pValue);
8909
8910VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphoresKHR(
8911 VkDevice device,
8912 const VkSemaphoreWaitInfo* pWaitInfo,
8913 uint64_t timeout);
8914
8915VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphoreKHR(
8916 VkDevice device,
8917 const VkSemaphoreSignalInfo* pSignalInfo);
8918#endif
8919
8920
8921#define VK_KHR_vulkan_memory_model 1
8922#define VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION 3
8923#define VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME "VK_KHR_vulkan_memory_model"
8924typedef VkPhysicalDeviceVulkanMemoryModelFeatures VkPhysicalDeviceVulkanMemoryModelFeaturesKHR;
8925
8926
8927
8928#define VK_KHR_shader_terminate_invocation 1
8929#define VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION 1
8930#define VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME "VK_KHR_shader_terminate_invocation"
8931typedef VkPhysicalDeviceShaderTerminateInvocationFeatures VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR;
8932
8933
8934
8935#define VK_KHR_fragment_shading_rate 1
8936#define VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION 2
8937#define VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME "VK_KHR_fragment_shading_rate"
8938
8939typedef enum VkFragmentShadingRateCombinerOpKHR {
8940 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR = 0,
8941 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR = 1,
8942 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR = 2,
8943 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR = 3,
8944 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR = 4,
8945 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_ENUM_KHR = 0x7FFFFFFF
8946} VkFragmentShadingRateCombinerOpKHR;
8947typedef struct VkFragmentShadingRateAttachmentInfoKHR {
8948 VkStructureType sType;
8949 const void* pNext;
8950 const VkAttachmentReference2* pFragmentShadingRateAttachment;
8951 VkExtent2D shadingRateAttachmentTexelSize;
8952} VkFragmentShadingRateAttachmentInfoKHR;
8953
8954typedef struct VkPipelineFragmentShadingRateStateCreateInfoKHR {
8955 VkStructureType sType;
8956 const void* pNext;
8957 VkExtent2D fragmentSize;
8958 VkFragmentShadingRateCombinerOpKHR combinerOps[2];
8959} VkPipelineFragmentShadingRateStateCreateInfoKHR;
8960
8961typedef struct VkPhysicalDeviceFragmentShadingRateFeaturesKHR {
8962 VkStructureType sType;
8963 void* pNext;
8964 VkBool32 pipelineFragmentShadingRate;
8965 VkBool32 primitiveFragmentShadingRate;
8966 VkBool32 attachmentFragmentShadingRate;
8967} VkPhysicalDeviceFragmentShadingRateFeaturesKHR;
8968
8969typedef struct VkPhysicalDeviceFragmentShadingRatePropertiesKHR {
8970 VkStructureType sType;
8971 void* pNext;
8972 VkExtent2D minFragmentShadingRateAttachmentTexelSize;
8973 VkExtent2D maxFragmentShadingRateAttachmentTexelSize;
8974 uint32_t maxFragmentShadingRateAttachmentTexelSizeAspectRatio;
8975 VkBool32 primitiveFragmentShadingRateWithMultipleViewports;
8976 VkBool32 layeredShadingRateAttachments;
8977 VkBool32 fragmentShadingRateNonTrivialCombinerOps;
8978 VkExtent2D maxFragmentSize;
8979 uint32_t maxFragmentSizeAspectRatio;
8980 uint32_t maxFragmentShadingRateCoverageSamples;
8981 VkSampleCountFlagBits maxFragmentShadingRateRasterizationSamples;
8982 VkBool32 fragmentShadingRateWithShaderDepthStencilWrites;
8983 VkBool32 fragmentShadingRateWithSampleMask;
8984 VkBool32 fragmentShadingRateWithShaderSampleMask;
8985 VkBool32 fragmentShadingRateWithConservativeRasterization;
8986 VkBool32 fragmentShadingRateWithFragmentShaderInterlock;
8987 VkBool32 fragmentShadingRateWithCustomSampleLocations;
8988 VkBool32 fragmentShadingRateStrictMultiplyCombiner;
8989} VkPhysicalDeviceFragmentShadingRatePropertiesKHR;
8990
8991typedef struct VkPhysicalDeviceFragmentShadingRateKHR {
8992 VkStructureType sType;
8993 void* pNext;
8994 VkSampleCountFlags sampleCounts;
8995 VkExtent2D fragmentSize;
8996} VkPhysicalDeviceFragmentShadingRateKHR;
8997
8998typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pFragmentShadingRateCount, VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates);
8999typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateKHR)(VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
9000
9001#ifndef VK_NO_PROTOTYPES
9002VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceFragmentShadingRatesKHR(
9003 VkPhysicalDevice physicalDevice,
9004 uint32_t* pFragmentShadingRateCount,
9005 VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates);
9006
9007VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateKHR(
9008 VkCommandBuffer commandBuffer,
9009 const VkExtent2D* pFragmentSize,
9010 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
9011#endif
9012
9013
9014#define VK_KHR_spirv_1_4 1
9015#define VK_KHR_SPIRV_1_4_SPEC_VERSION 1
9016#define VK_KHR_SPIRV_1_4_EXTENSION_NAME "VK_KHR_spirv_1_4"
9017
9018
9019#define VK_KHR_surface_protected_capabilities 1
9020#define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION 1
9021#define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME "VK_KHR_surface_protected_capabilities"
9022typedef struct VkSurfaceProtectedCapabilitiesKHR {
9023 VkStructureType sType;
9024 const void* pNext;
9025 VkBool32 supportsProtected;
9026} VkSurfaceProtectedCapabilitiesKHR;
9027
9028
9029
9030#define VK_KHR_separate_depth_stencil_layouts 1
9031#define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION 1
9032#define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME "VK_KHR_separate_depth_stencil_layouts"
9033typedef VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR;
9034
9035typedef VkAttachmentReferenceStencilLayout VkAttachmentReferenceStencilLayoutKHR;
9036
9037typedef VkAttachmentDescriptionStencilLayout VkAttachmentDescriptionStencilLayoutKHR;
9038
9039
9040
9041#define VK_KHR_present_wait 1
9042#define VK_KHR_PRESENT_WAIT_SPEC_VERSION 1
9043#define VK_KHR_PRESENT_WAIT_EXTENSION_NAME "VK_KHR_present_wait"
9044typedef struct VkPhysicalDevicePresentWaitFeaturesKHR {
9045 VkStructureType sType;
9046 void* pNext;
9047 VkBool32 presentWait;
9048} VkPhysicalDevicePresentWaitFeaturesKHR;
9049
9050typedef VkResult (VKAPI_PTR *PFN_vkWaitForPresentKHR)(VkDevice device, VkSwapchainKHR swapchain, uint64_t presentId, uint64_t timeout);
9051
9052#ifndef VK_NO_PROTOTYPES
9053VKAPI_ATTR VkResult VKAPI_CALL vkWaitForPresentKHR(
9054 VkDevice device,
9055 VkSwapchainKHR swapchain,
9056 uint64_t presentId,
9057 uint64_t timeout);
9058#endif
9059
9060
9061#define VK_KHR_uniform_buffer_standard_layout 1
9062#define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION 1
9063#define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME "VK_KHR_uniform_buffer_standard_layout"
9064typedef VkPhysicalDeviceUniformBufferStandardLayoutFeatures VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR;
9065
9066
9067
9068#define VK_KHR_buffer_device_address 1
9069#define VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 1
9070#define VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_KHR_buffer_device_address"
9071typedef VkPhysicalDeviceBufferDeviceAddressFeatures VkPhysicalDeviceBufferDeviceAddressFeaturesKHR;
9072
9073typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoKHR;
9074
9075typedef VkBufferOpaqueCaptureAddressCreateInfo VkBufferOpaqueCaptureAddressCreateInfoKHR;
9076
9077typedef VkMemoryOpaqueCaptureAddressAllocateInfo VkMemoryOpaqueCaptureAddressAllocateInfoKHR;
9078
9079typedef VkDeviceMemoryOpaqueCaptureAddressInfo VkDeviceMemoryOpaqueCaptureAddressInfoKHR;
9080
9081typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
9082typedef uint64_t (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
9083typedef uint64_t (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
9084
9085#ifndef VK_NO_PROTOTYPES
9086VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressKHR(
9087 VkDevice device,
9088 const VkBufferDeviceAddressInfo* pInfo);
9089
9090VKAPI_ATTR uint64_t VKAPI_CALL vkGetBufferOpaqueCaptureAddressKHR(
9091 VkDevice device,
9092 const VkBufferDeviceAddressInfo* pInfo);
9093
9094VKAPI_ATTR uint64_t VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddressKHR(
9095 VkDevice device,
9096 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
9097#endif
9098
9099
9100#define VK_KHR_deferred_host_operations 1
9101VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeferredOperationKHR)
9102#define VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION 4
9103#define VK_KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME "VK_KHR_deferred_host_operations"
9104typedef VkResult (VKAPI_PTR *PFN_vkCreateDeferredOperationKHR)(VkDevice device, const VkAllocationCallbacks* pAllocator, VkDeferredOperationKHR* pDeferredOperation);
9105typedef void (VKAPI_PTR *PFN_vkDestroyDeferredOperationKHR)(VkDevice device, VkDeferredOperationKHR operation, const VkAllocationCallbacks* pAllocator);
9106typedef uint32_t (VKAPI_PTR *PFN_vkGetDeferredOperationMaxConcurrencyKHR)(VkDevice device, VkDeferredOperationKHR operation);
9107typedef VkResult (VKAPI_PTR *PFN_vkGetDeferredOperationResultKHR)(VkDevice device, VkDeferredOperationKHR operation);
9108typedef VkResult (VKAPI_PTR *PFN_vkDeferredOperationJoinKHR)(VkDevice device, VkDeferredOperationKHR operation);
9109
9110#ifndef VK_NO_PROTOTYPES
9111VKAPI_ATTR VkResult VKAPI_CALL vkCreateDeferredOperationKHR(
9112 VkDevice device,
9113 const VkAllocationCallbacks* pAllocator,
9114 VkDeferredOperationKHR* pDeferredOperation);
9115
9116VKAPI_ATTR void VKAPI_CALL vkDestroyDeferredOperationKHR(
9117 VkDevice device,
9118 VkDeferredOperationKHR operation,
9119 const VkAllocationCallbacks* pAllocator);
9120
9121VKAPI_ATTR uint32_t VKAPI_CALL vkGetDeferredOperationMaxConcurrencyKHR(
9122 VkDevice device,
9123 VkDeferredOperationKHR operation);
9124
9125VKAPI_ATTR VkResult VKAPI_CALL vkGetDeferredOperationResultKHR(
9126 VkDevice device,
9127 VkDeferredOperationKHR operation);
9128
9129VKAPI_ATTR VkResult VKAPI_CALL vkDeferredOperationJoinKHR(
9130 VkDevice device,
9131 VkDeferredOperationKHR operation);
9132#endif
9133
9134
9135#define VK_KHR_pipeline_executable_properties 1
9136#define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION 1
9137#define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME "VK_KHR_pipeline_executable_properties"
9138
9139typedef enum VkPipelineExecutableStatisticFormatKHR {
9140 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR = 0,
9141 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR = 1,
9142 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR = 2,
9143 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR = 3,
9144 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_MAX_ENUM_KHR = 0x7FFFFFFF
9145} VkPipelineExecutableStatisticFormatKHR;
9146typedef struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
9147 VkStructureType sType;
9148 void* pNext;
9149 VkBool32 pipelineExecutableInfo;
9150} VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR;
9151
9152typedef struct VkPipelineInfoKHR {
9153 VkStructureType sType;
9154 const void* pNext;
9155 VkPipeline pipeline;
9156} VkPipelineInfoKHR;
9157
9158typedef struct VkPipelineExecutablePropertiesKHR {
9159 VkStructureType sType;
9160 void* pNext;
9161 VkShaderStageFlags stages;
9162 char name[VK_MAX_DESCRIPTION_SIZE];
9163 char description[VK_MAX_DESCRIPTION_SIZE];
9164 uint32_t subgroupSize;
9165} VkPipelineExecutablePropertiesKHR;
9166
9167typedef struct VkPipelineExecutableInfoKHR {
9168 VkStructureType sType;
9169 const void* pNext;
9170 VkPipeline pipeline;
9171 uint32_t executableIndex;
9172} VkPipelineExecutableInfoKHR;
9173
9174typedef union VkPipelineExecutableStatisticValueKHR {
9175 VkBool32 b32;
9176 int64_t i64;
9177 uint64_t u64;
9178 double f64;
9179} VkPipelineExecutableStatisticValueKHR;
9180
9181typedef struct VkPipelineExecutableStatisticKHR {
9182 VkStructureType sType;
9183 void* pNext;
9184 char name[VK_MAX_DESCRIPTION_SIZE];
9185 char description[VK_MAX_DESCRIPTION_SIZE];
9186 VkPipelineExecutableStatisticFormatKHR format;
9187 VkPipelineExecutableStatisticValueKHR value;
9188} VkPipelineExecutableStatisticKHR;
9189
9190typedef struct VkPipelineExecutableInternalRepresentationKHR {
9191 VkStructureType sType;
9192 void* pNext;
9193 char name[VK_MAX_DESCRIPTION_SIZE];
9194 char description[VK_MAX_DESCRIPTION_SIZE];
9195 VkBool32 isText;
9196 size_t dataSize;
9197 void* pData;
9198} VkPipelineExecutableInternalRepresentationKHR;
9199
9200typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutablePropertiesKHR)(VkDevice device, const VkPipelineInfoKHR* pPipelineInfo, uint32_t* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties);
9201typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableStatisticsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics);
9202typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableInternalRepresentationsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
9203
9204#ifndef VK_NO_PROTOTYPES
9205VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutablePropertiesKHR(
9206 VkDevice device,
9207 const VkPipelineInfoKHR* pPipelineInfo,
9208 uint32_t* pExecutableCount,
9209 VkPipelineExecutablePropertiesKHR* pProperties);
9210
9211VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableStatisticsKHR(
9212 VkDevice device,
9213 const VkPipelineExecutableInfoKHR* pExecutableInfo,
9214 uint32_t* pStatisticCount,
9215 VkPipelineExecutableStatisticKHR* pStatistics);
9216
9217VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableInternalRepresentationsKHR(
9218 VkDevice device,
9219 const VkPipelineExecutableInfoKHR* pExecutableInfo,
9220 uint32_t* pInternalRepresentationCount,
9221 VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
9222#endif
9223
9224
9225#define VK_KHR_shader_integer_dot_product 1
9226#define VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION 1
9227#define VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME "VK_KHR_shader_integer_dot_product"
9228typedef VkPhysicalDeviceShaderIntegerDotProductFeatures VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR;
9229
9230typedef VkPhysicalDeviceShaderIntegerDotProductProperties VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR;
9231
9232
9233
9234#define VK_KHR_pipeline_library 1
9235#define VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION 1
9236#define VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME "VK_KHR_pipeline_library"
9237typedef struct VkPipelineLibraryCreateInfoKHR {
9238 VkStructureType sType;
9239 const void* pNext;
9240 uint32_t libraryCount;
9241 const VkPipeline* pLibraries;
9242} VkPipelineLibraryCreateInfoKHR;
9243
9244
9245
9246#define VK_KHR_shader_non_semantic_info 1
9247#define VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION 1
9248#define VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME "VK_KHR_shader_non_semantic_info"
9249
9250
9251#define VK_KHR_present_id 1
9252#define VK_KHR_PRESENT_ID_SPEC_VERSION 1
9253#define VK_KHR_PRESENT_ID_EXTENSION_NAME "VK_KHR_present_id"
9254typedef struct VkPresentIdKHR {
9255 VkStructureType sType;
9256 const void* pNext;
9257 uint32_t swapchainCount;
9258 const uint64_t* pPresentIds;
9259} VkPresentIdKHR;
9260
9261typedef struct VkPhysicalDevicePresentIdFeaturesKHR {
9262 VkStructureType sType;
9263 void* pNext;
9264 VkBool32 presentId;
9265} VkPhysicalDevicePresentIdFeaturesKHR;
9266
9267
9268
9269#define VK_KHR_synchronization2 1
9270#define VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION 1
9271#define VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME "VK_KHR_synchronization2"
9272typedef VkPipelineStageFlags2 VkPipelineStageFlags2KHR;
9273
9274typedef VkPipelineStageFlagBits2 VkPipelineStageFlagBits2KHR;
9275
9276typedef VkAccessFlags2 VkAccessFlags2KHR;
9277
9278typedef VkAccessFlagBits2 VkAccessFlagBits2KHR;
9279
9280typedef VkSubmitFlagBits VkSubmitFlagBitsKHR;
9281
9282typedef VkSubmitFlags VkSubmitFlagsKHR;
9283
9284typedef VkMemoryBarrier2 VkMemoryBarrier2KHR;
9285
9286typedef VkBufferMemoryBarrier2 VkBufferMemoryBarrier2KHR;
9287
9288typedef VkImageMemoryBarrier2 VkImageMemoryBarrier2KHR;
9289
9290typedef VkDependencyInfo VkDependencyInfoKHR;
9291
9292typedef VkSubmitInfo2 VkSubmitInfo2KHR;
9293
9294typedef VkSemaphoreSubmitInfo VkSemaphoreSubmitInfoKHR;
9295
9296typedef VkCommandBufferSubmitInfo VkCommandBufferSubmitInfoKHR;
9297
9298typedef VkPhysicalDeviceSynchronization2Features VkPhysicalDeviceSynchronization2FeaturesKHR;
9299
9300typedef struct VkQueueFamilyCheckpointProperties2NV {
9301 VkStructureType sType;
9302 void* pNext;
9303 VkPipelineStageFlags2 checkpointExecutionStageMask;
9304} VkQueueFamilyCheckpointProperties2NV;
9305
9306typedef struct VkCheckpointData2NV {
9307 VkStructureType sType;
9308 void* pNext;
9309 VkPipelineStageFlags2 stage;
9310 void* pCheckpointMarker;
9311} VkCheckpointData2NV;
9312
9313typedef void (VKAPI_PTR *PFN_vkCmdSetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo* pDependencyInfo);
9314typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask);
9315typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents2KHR)(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, const VkDependencyInfo* pDependencyInfos);
9316typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier2KHR)(VkCommandBuffer commandBuffer, const VkDependencyInfo* pDependencyInfo);
9317typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2KHR)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query);
9318typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2KHR)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo2* pSubmits, VkFence fence);
9319typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarker2AMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker);
9320typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointData2NV)(VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointData2NV* pCheckpointData);
9321
9322#ifndef VK_NO_PROTOTYPES
9323VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent2KHR(
9324 VkCommandBuffer commandBuffer,
9325 VkEvent event,
9326 const VkDependencyInfo* pDependencyInfo);
9327
9328VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent2KHR(
9329 VkCommandBuffer commandBuffer,
9330 VkEvent event,
9331 VkPipelineStageFlags2 stageMask);
9332
9333VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents2KHR(
9334 VkCommandBuffer commandBuffer,
9335 uint32_t eventCount,
9336 const VkEvent* pEvents,
9337 const VkDependencyInfo* pDependencyInfos);
9338
9339VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier2KHR(
9340 VkCommandBuffer commandBuffer,
9341 const VkDependencyInfo* pDependencyInfo);
9342
9343VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp2KHR(
9344 VkCommandBuffer commandBuffer,
9345 VkPipelineStageFlags2 stage,
9346 VkQueryPool queryPool,
9347 uint32_t query);
9348
9349VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit2KHR(
9350 VkQueue queue,
9351 uint32_t submitCount,
9352 const VkSubmitInfo2* pSubmits,
9353 VkFence fence);
9354
9355VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarker2AMD(
9356 VkCommandBuffer commandBuffer,
9357 VkPipelineStageFlags2 stage,
9358 VkBuffer dstBuffer,
9359 VkDeviceSize dstOffset,
9360 uint32_t marker);
9361
9362VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointData2NV(
9363 VkQueue queue,
9364 uint32_t* pCheckpointDataCount,
9365 VkCheckpointData2NV* pCheckpointData);
9366#endif
9367
9368
9369#define VK_KHR_shader_subgroup_uniform_control_flow 1
9370#define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION 1
9371#define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME "VK_KHR_shader_subgroup_uniform_control_flow"
9372typedef struct VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR {
9373 VkStructureType sType;
9374 void* pNext;
9375 VkBool32 shaderSubgroupUniformControlFlow;
9376} VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR;
9377
9378
9379
9380#define VK_KHR_zero_initialize_workgroup_memory 1
9381#define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION 1
9382#define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME "VK_KHR_zero_initialize_workgroup_memory"
9383typedef VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR;
9384
9385
9386
9387#define VK_KHR_workgroup_memory_explicit_layout 1
9388#define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION 1
9389#define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME "VK_KHR_workgroup_memory_explicit_layout"
9390typedef struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {
9391 VkStructureType sType;
9392 void* pNext;
9393 VkBool32 workgroupMemoryExplicitLayout;
9394 VkBool32 workgroupMemoryExplicitLayoutScalarBlockLayout;
9395 VkBool32 workgroupMemoryExplicitLayout8BitAccess;
9396 VkBool32 workgroupMemoryExplicitLayout16BitAccess;
9397} VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR;
9398
9399
9400
9401#define VK_KHR_copy_commands2 1
9402#define VK_KHR_COPY_COMMANDS_2_SPEC_VERSION 1
9403#define VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME "VK_KHR_copy_commands2"
9404typedef VkCopyBufferInfo2 VkCopyBufferInfo2KHR;
9405
9406typedef VkCopyImageInfo2 VkCopyImageInfo2KHR;
9407
9408typedef VkCopyBufferToImageInfo2 VkCopyBufferToImageInfo2KHR;
9409
9410typedef VkCopyImageToBufferInfo2 VkCopyImageToBufferInfo2KHR;
9411
9412typedef VkBlitImageInfo2 VkBlitImageInfo2KHR;
9413
9414typedef VkResolveImageInfo2 VkResolveImageInfo2KHR;
9415
9416typedef VkBufferCopy2 VkBufferCopy2KHR;
9417
9418typedef VkImageCopy2 VkImageCopy2KHR;
9419
9420typedef VkImageBlit2 VkImageBlit2KHR;
9421
9422typedef VkBufferImageCopy2 VkBufferImageCopy2KHR;
9423
9424typedef VkImageResolve2 VkImageResolve2KHR;
9425
9426typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2* pCopyBufferInfo);
9427typedef void (VKAPI_PTR *PFN_vkCmdCopyImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2* pCopyImageInfo);
9428typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo);
9429typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo);
9430typedef void (VKAPI_PTR *PFN_vkCmdBlitImage2KHR)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2* pBlitImageInfo);
9431typedef void (VKAPI_PTR *PFN_vkCmdResolveImage2KHR)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2* pResolveImageInfo);
9432
9433#ifndef VK_NO_PROTOTYPES
9434VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer2KHR(
9435 VkCommandBuffer commandBuffer,
9436 const VkCopyBufferInfo2* pCopyBufferInfo);
9437
9438VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage2KHR(
9439 VkCommandBuffer commandBuffer,
9440 const VkCopyImageInfo2* pCopyImageInfo);
9441
9442VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage2KHR(
9443 VkCommandBuffer commandBuffer,
9444 const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo);
9445
9446VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer2KHR(
9447 VkCommandBuffer commandBuffer,
9448 const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo);
9449
9450VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage2KHR(
9451 VkCommandBuffer commandBuffer,
9452 const VkBlitImageInfo2* pBlitImageInfo);
9453
9454VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage2KHR(
9455 VkCommandBuffer commandBuffer,
9456 const VkResolveImageInfo2* pResolveImageInfo);
9457#endif
9458
9459
9460#define VK_KHR_format_feature_flags2 1
9461#define VK_KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION 1
9462#define VK_KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME "VK_KHR_format_feature_flags2"
9463typedef VkFormatFeatureFlags2 VkFormatFeatureFlags2KHR;
9464
9465typedef VkFormatFeatureFlagBits2 VkFormatFeatureFlagBits2KHR;
9466
9467typedef VkFormatProperties3 VkFormatProperties3KHR;
9468
9469
9470
9471#define VK_KHR_maintenance4 1
9472#define VK_KHR_MAINTENANCE_4_SPEC_VERSION 2
9473#define VK_KHR_MAINTENANCE_4_EXTENSION_NAME "VK_KHR_maintenance4"
9474typedef VkPhysicalDeviceMaintenance4Features VkPhysicalDeviceMaintenance4FeaturesKHR;
9475
9476typedef VkPhysicalDeviceMaintenance4Properties VkPhysicalDeviceMaintenance4PropertiesKHR;
9477
9478typedef VkDeviceBufferMemoryRequirements VkDeviceBufferMemoryRequirementsKHR;
9479
9480typedef VkDeviceImageMemoryRequirements VkDeviceImageMemoryRequirementsKHR;
9481
9482typedef void (VKAPI_PTR *PFN_vkGetDeviceBufferMemoryRequirementsKHR)(VkDevice device, const VkDeviceBufferMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements);
9483typedef void (VKAPI_PTR *PFN_vkGetDeviceImageMemoryRequirementsKHR)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements);
9484typedef void (VKAPI_PTR *PFN_vkGetDeviceImageSparseMemoryRequirementsKHR)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
9485
9486#ifndef VK_NO_PROTOTYPES
9487VKAPI_ATTR void VKAPI_CALL vkGetDeviceBufferMemoryRequirementsKHR(
9488 VkDevice device,
9489 const VkDeviceBufferMemoryRequirements* pInfo,
9490 VkMemoryRequirements2* pMemoryRequirements);
9491
9492VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageMemoryRequirementsKHR(
9493 VkDevice device,
9494 const VkDeviceImageMemoryRequirements* pInfo,
9495 VkMemoryRequirements2* pMemoryRequirements);
9496
9497VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageSparseMemoryRequirementsKHR(
9498 VkDevice device,
9499 const VkDeviceImageMemoryRequirements* pInfo,
9500 uint32_t* pSparseMemoryRequirementCount,
9501 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
9502#endif
9503
9504
9505#define VK_EXT_debug_report 1
9506VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT)
9507#define VK_EXT_DEBUG_REPORT_SPEC_VERSION 10
9508#define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report"
9509
9510typedef enum VkDebugReportObjectTypeEXT {
9511 VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT = 0,
9512 VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT = 1,
9513 VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT = 2,
9514 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT = 3,
9515 VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT = 4,
9516 VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT = 5,
9517 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT = 6,
9518 VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT = 7,
9519 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT = 8,
9520 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT = 9,
9521 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT = 10,
9522 VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT = 11,
9523 VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT = 12,
9524 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT = 13,
9525 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT = 14,
9526 VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT = 15,
9527 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT = 16,
9528 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT = 17,
9529 VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT = 18,
9530 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT = 19,
9531 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT = 20,
9532 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT = 21,
9533 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT = 22,
9534 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT = 23,
9535 VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT = 24,
9536 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT = 25,
9537 VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = 26,
9538 VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = 27,
9539 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT = 28,
9540 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT = 29,
9541 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = 30,
9542 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT = 33,
9543 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT = 1000156000,
9544 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT = 1000085000,
9545 VK_DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT = 1000029000,
9546 VK_DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT = 1000029001,
9547 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT = 1000150000,
9548 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT = 1000165000,
9549 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT = 1000366000,
9550 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT,
9551 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT,
9552 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT,
9553 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT,
9554 VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
9555} VkDebugReportObjectTypeEXT;
9556
9557typedef enum VkDebugReportFlagBitsEXT {
9558 VK_DEBUG_REPORT_INFORMATION_BIT_EXT = 0x00000001,
9559 VK_DEBUG_REPORT_WARNING_BIT_EXT = 0x00000002,
9560 VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = 0x00000004,
9561 VK_DEBUG_REPORT_ERROR_BIT_EXT = 0x00000008,
9562 VK_DEBUG_REPORT_DEBUG_BIT_EXT = 0x00000010,
9563 VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
9564} VkDebugReportFlagBitsEXT;
9565typedef VkFlags VkDebugReportFlagsEXT;
9566typedef VkBool32 (VKAPI_PTR *PFN_vkDebugReportCallbackEXT)(
9567 VkDebugReportFlagsEXT flags,
9568 VkDebugReportObjectTypeEXT objectType,
9569 uint64_t object,
9570 size_t location,
9571 int32_t messageCode,
9572 const char* pLayerPrefix,
9573 const char* pMessage,
9574 void* pUserData);
9575
9576typedef struct VkDebugReportCallbackCreateInfoEXT {
9577 VkStructureType sType;
9578 const void* pNext;
9579 VkDebugReportFlagsEXT flags;
9580 PFN_vkDebugReportCallbackEXT pfnCallback;
9581 void* pUserData;
9582} VkDebugReportCallbackCreateInfoEXT;
9583
9584typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugReportCallbackEXT)(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback);
9585typedef void (VKAPI_PTR *PFN_vkDestroyDebugReportCallbackEXT)(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator);
9586typedef 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);
9587
9588#ifndef VK_NO_PROTOTYPES
9589VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugReportCallbackEXT(
9590 VkInstance instance,
9591 const VkDebugReportCallbackCreateInfoEXT* pCreateInfo,
9592 const VkAllocationCallbacks* pAllocator,
9593 VkDebugReportCallbackEXT* pCallback);
9594
9595VKAPI_ATTR void VKAPI_CALL vkDestroyDebugReportCallbackEXT(
9596 VkInstance instance,
9597 VkDebugReportCallbackEXT callback,
9598 const VkAllocationCallbacks* pAllocator);
9599
9600VKAPI_ATTR void VKAPI_CALL vkDebugReportMessageEXT(
9601 VkInstance instance,
9602 VkDebugReportFlagsEXT flags,
9603 VkDebugReportObjectTypeEXT objectType,
9604 uint64_t object,
9605 size_t location,
9606 int32_t messageCode,
9607 const char* pLayerPrefix,
9608 const char* pMessage);
9609#endif
9610
9611
9612#define VK_NV_glsl_shader 1
9613#define VK_NV_GLSL_SHADER_SPEC_VERSION 1
9614#define VK_NV_GLSL_SHADER_EXTENSION_NAME "VK_NV_glsl_shader"
9615
9616
9617#define VK_EXT_depth_range_unrestricted 1
9618#define VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION 1
9619#define VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME "VK_EXT_depth_range_unrestricted"
9620
9621
9622#define VK_IMG_filter_cubic 1
9623#define VK_IMG_FILTER_CUBIC_SPEC_VERSION 1
9624#define VK_IMG_FILTER_CUBIC_EXTENSION_NAME "VK_IMG_filter_cubic"
9625
9626
9627#define VK_AMD_rasterization_order 1
9628#define VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION 1
9629#define VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME "VK_AMD_rasterization_order"
9630
9631typedef enum VkRasterizationOrderAMD {
9632 VK_RASTERIZATION_ORDER_STRICT_AMD = 0,
9633 VK_RASTERIZATION_ORDER_RELAXED_AMD = 1,
9634 VK_RASTERIZATION_ORDER_MAX_ENUM_AMD = 0x7FFFFFFF
9635} VkRasterizationOrderAMD;
9636typedef struct VkPipelineRasterizationStateRasterizationOrderAMD {
9637 VkStructureType sType;
9638 const void* pNext;
9639 VkRasterizationOrderAMD rasterizationOrder;
9640} VkPipelineRasterizationStateRasterizationOrderAMD;
9641
9642
9643
9644#define VK_AMD_shader_trinary_minmax 1
9645#define VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION 1
9646#define VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME "VK_AMD_shader_trinary_minmax"
9647
9648
9649#define VK_AMD_shader_explicit_vertex_parameter 1
9650#define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION 1
9651#define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME "VK_AMD_shader_explicit_vertex_parameter"
9652
9653
9654#define VK_EXT_debug_marker 1
9655#define VK_EXT_DEBUG_MARKER_SPEC_VERSION 4
9656#define VK_EXT_DEBUG_MARKER_EXTENSION_NAME "VK_EXT_debug_marker"
9657typedef struct VkDebugMarkerObjectNameInfoEXT {
9658 VkStructureType sType;
9659 const void* pNext;
9660 VkDebugReportObjectTypeEXT objectType;
9661 uint64_t object;
9662 const char* pObjectName;
9663} VkDebugMarkerObjectNameInfoEXT;
9664
9665typedef struct VkDebugMarkerObjectTagInfoEXT {
9666 VkStructureType sType;
9667 const void* pNext;
9668 VkDebugReportObjectTypeEXT objectType;
9669 uint64_t object;
9670 uint64_t tagName;
9671 size_t tagSize;
9672 const void* pTag;
9673} VkDebugMarkerObjectTagInfoEXT;
9674
9675typedef struct VkDebugMarkerMarkerInfoEXT {
9676 VkStructureType sType;
9677 const void* pNext;
9678 const char* pMarkerName;
9679 float color[4];
9680} VkDebugMarkerMarkerInfoEXT;
9681
9682typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectTagEXT)(VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
9683typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectNameEXT)(VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
9684typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerBeginEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
9685typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerEndEXT)(VkCommandBuffer commandBuffer);
9686typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerInsertEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
9687
9688#ifndef VK_NO_PROTOTYPES
9689VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectTagEXT(
9690 VkDevice device,
9691 const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
9692
9693VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectNameEXT(
9694 VkDevice device,
9695 const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
9696
9697VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerBeginEXT(
9698 VkCommandBuffer commandBuffer,
9699 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
9700
9701VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerEndEXT(
9702 VkCommandBuffer commandBuffer);
9703
9704VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerInsertEXT(
9705 VkCommandBuffer commandBuffer,
9706 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
9707#endif
9708
9709
9710#define VK_AMD_gcn_shader 1
9711#define VK_AMD_GCN_SHADER_SPEC_VERSION 1
9712#define VK_AMD_GCN_SHADER_EXTENSION_NAME "VK_AMD_gcn_shader"
9713
9714
9715#define VK_NV_dedicated_allocation 1
9716#define VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION 1
9717#define VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_NV_dedicated_allocation"
9718typedef struct VkDedicatedAllocationImageCreateInfoNV {
9719 VkStructureType sType;
9720 const void* pNext;
9721 VkBool32 dedicatedAllocation;
9722} VkDedicatedAllocationImageCreateInfoNV;
9723
9724typedef struct VkDedicatedAllocationBufferCreateInfoNV {
9725 VkStructureType sType;
9726 const void* pNext;
9727 VkBool32 dedicatedAllocation;
9728} VkDedicatedAllocationBufferCreateInfoNV;
9729
9730typedef struct VkDedicatedAllocationMemoryAllocateInfoNV {
9731 VkStructureType sType;
9732 const void* pNext;
9733 VkImage image;
9734 VkBuffer buffer;
9735} VkDedicatedAllocationMemoryAllocateInfoNV;
9736
9737
9738
9739#define VK_EXT_transform_feedback 1
9740#define VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION 1
9741#define VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME "VK_EXT_transform_feedback"
9742typedef VkFlags VkPipelineRasterizationStateStreamCreateFlagsEXT;
9743typedef struct VkPhysicalDeviceTransformFeedbackFeaturesEXT {
9744 VkStructureType sType;
9745 void* pNext;
9746 VkBool32 transformFeedback;
9747 VkBool32 geometryStreams;
9748} VkPhysicalDeviceTransformFeedbackFeaturesEXT;
9749
9750typedef struct VkPhysicalDeviceTransformFeedbackPropertiesEXT {
9751 VkStructureType sType;
9752 void* pNext;
9753 uint32_t maxTransformFeedbackStreams;
9754 uint32_t maxTransformFeedbackBuffers;
9755 VkDeviceSize maxTransformFeedbackBufferSize;
9756 uint32_t maxTransformFeedbackStreamDataSize;
9757 uint32_t maxTransformFeedbackBufferDataSize;
9758 uint32_t maxTransformFeedbackBufferDataStride;
9759 VkBool32 transformFeedbackQueries;
9760 VkBool32 transformFeedbackStreamsLinesTriangles;
9761 VkBool32 transformFeedbackRasterizationStreamSelect;
9762 VkBool32 transformFeedbackDraw;
9763} VkPhysicalDeviceTransformFeedbackPropertiesEXT;
9764
9765typedef struct VkPipelineRasterizationStateStreamCreateInfoEXT {
9766 VkStructureType sType;
9767 const void* pNext;
9768 VkPipelineRasterizationStateStreamCreateFlagsEXT flags;
9769 uint32_t rasterizationStream;
9770} VkPipelineRasterizationStateStreamCreateInfoEXT;
9771
9772typedef void (VKAPI_PTR *PFN_vkCmdBindTransformFeedbackBuffersEXT)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes);
9773typedef void (VKAPI_PTR *PFN_vkCmdBeginTransformFeedbackEXT)(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
9774typedef void (VKAPI_PTR *PFN_vkCmdEndTransformFeedbackEXT)(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
9775typedef void (VKAPI_PTR *PFN_vkCmdBeginQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index);
9776typedef void (VKAPI_PTR *PFN_vkCmdEndQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index);
9777typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectByteCountEXT)(VkCommandBuffer commandBuffer, uint32_t instanceCount, uint32_t firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, uint32_t counterOffset, uint32_t vertexStride);
9778
9779#ifndef VK_NO_PROTOTYPES
9780VKAPI_ATTR void VKAPI_CALL vkCmdBindTransformFeedbackBuffersEXT(
9781 VkCommandBuffer commandBuffer,
9782 uint32_t firstBinding,
9783 uint32_t bindingCount,
9784 const VkBuffer* pBuffers,
9785 const VkDeviceSize* pOffsets,
9786 const VkDeviceSize* pSizes);
9787
9788VKAPI_ATTR void VKAPI_CALL vkCmdBeginTransformFeedbackEXT(
9789 VkCommandBuffer commandBuffer,
9790 uint32_t firstCounterBuffer,
9791 uint32_t counterBufferCount,
9792 const VkBuffer* pCounterBuffers,
9793 const VkDeviceSize* pCounterBufferOffsets);
9794
9795VKAPI_ATTR void VKAPI_CALL vkCmdEndTransformFeedbackEXT(
9796 VkCommandBuffer commandBuffer,
9797 uint32_t firstCounterBuffer,
9798 uint32_t counterBufferCount,
9799 const VkBuffer* pCounterBuffers,
9800 const VkDeviceSize* pCounterBufferOffsets);
9801
9802VKAPI_ATTR void VKAPI_CALL vkCmdBeginQueryIndexedEXT(
9803 VkCommandBuffer commandBuffer,
9804 VkQueryPool queryPool,
9805 uint32_t query,
9806 VkQueryControlFlags flags,
9807 uint32_t index);
9808
9809VKAPI_ATTR void VKAPI_CALL vkCmdEndQueryIndexedEXT(
9810 VkCommandBuffer commandBuffer,
9811 VkQueryPool queryPool,
9812 uint32_t query,
9813 uint32_t index);
9814
9815VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectByteCountEXT(
9816 VkCommandBuffer commandBuffer,
9817 uint32_t instanceCount,
9818 uint32_t firstInstance,
9819 VkBuffer counterBuffer,
9820 VkDeviceSize counterBufferOffset,
9821 uint32_t counterOffset,
9822 uint32_t vertexStride);
9823#endif
9824
9825
9826#define VK_NVX_binary_import 1
9827VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuModuleNVX)
9828VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuFunctionNVX)
9829#define VK_NVX_BINARY_IMPORT_SPEC_VERSION 1
9830#define VK_NVX_BINARY_IMPORT_EXTENSION_NAME "VK_NVX_binary_import"
9831typedef struct VkCuModuleCreateInfoNVX {
9832 VkStructureType sType;
9833 const void* pNext;
9834 size_t dataSize;
9835 const void* pData;
9836} VkCuModuleCreateInfoNVX;
9837
9838typedef struct VkCuFunctionCreateInfoNVX {
9839 VkStructureType sType;
9840 const void* pNext;
9841 VkCuModuleNVX module;
9842 const char* pName;
9843} VkCuFunctionCreateInfoNVX;
9844
9845typedef struct VkCuLaunchInfoNVX {
9846 VkStructureType sType;
9847 const void* pNext;
9848 VkCuFunctionNVX function;
9849 uint32_t gridDimX;
9850 uint32_t gridDimY;
9851 uint32_t gridDimZ;
9852 uint32_t blockDimX;
9853 uint32_t blockDimY;
9854 uint32_t blockDimZ;
9855 uint32_t sharedMemBytes;
9856 size_t paramCount;
9857 const void* const * pParams;
9858 size_t extraCount;
9859 const void* const * pExtras;
9860} VkCuLaunchInfoNVX;
9861
9862typedef VkResult (VKAPI_PTR *PFN_vkCreateCuModuleNVX)(VkDevice device, const VkCuModuleCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuModuleNVX* pModule);
9863typedef VkResult (VKAPI_PTR *PFN_vkCreateCuFunctionNVX)(VkDevice device, const VkCuFunctionCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuFunctionNVX* pFunction);
9864typedef void (VKAPI_PTR *PFN_vkDestroyCuModuleNVX)(VkDevice device, VkCuModuleNVX module, const VkAllocationCallbacks* pAllocator);
9865typedef void (VKAPI_PTR *PFN_vkDestroyCuFunctionNVX)(VkDevice device, VkCuFunctionNVX function, const VkAllocationCallbacks* pAllocator);
9866typedef void (VKAPI_PTR *PFN_vkCmdCuLaunchKernelNVX)(VkCommandBuffer commandBuffer, const VkCuLaunchInfoNVX* pLaunchInfo);
9867
9868#ifndef VK_NO_PROTOTYPES
9869VKAPI_ATTR VkResult VKAPI_CALL vkCreateCuModuleNVX(
9870 VkDevice device,
9871 const VkCuModuleCreateInfoNVX* pCreateInfo,
9872 const VkAllocationCallbacks* pAllocator,
9873 VkCuModuleNVX* pModule);
9874
9875VKAPI_ATTR VkResult VKAPI_CALL vkCreateCuFunctionNVX(
9876 VkDevice device,
9877 const VkCuFunctionCreateInfoNVX* pCreateInfo,
9878 const VkAllocationCallbacks* pAllocator,
9879 VkCuFunctionNVX* pFunction);
9880
9881VKAPI_ATTR void VKAPI_CALL vkDestroyCuModuleNVX(
9882 VkDevice device,
9883 VkCuModuleNVX module,
9884 const VkAllocationCallbacks* pAllocator);
9885
9886VKAPI_ATTR void VKAPI_CALL vkDestroyCuFunctionNVX(
9887 VkDevice device,
9888 VkCuFunctionNVX function,
9889 const VkAllocationCallbacks* pAllocator);
9890
9891VKAPI_ATTR void VKAPI_CALL vkCmdCuLaunchKernelNVX(
9892 VkCommandBuffer commandBuffer,
9893 const VkCuLaunchInfoNVX* pLaunchInfo);
9894#endif
9895
9896
9897#define VK_NVX_image_view_handle 1
9898#define VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION 2
9899#define VK_NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME "VK_NVX_image_view_handle"
9900typedef struct VkImageViewHandleInfoNVX {
9901 VkStructureType sType;
9902 const void* pNext;
9903 VkImageView imageView;
9904 VkDescriptorType descriptorType;
9905 VkSampler sampler;
9906} VkImageViewHandleInfoNVX;
9907
9908typedef struct VkImageViewAddressPropertiesNVX {
9909 VkStructureType sType;
9910 void* pNext;
9911 VkDeviceAddress deviceAddress;
9912 VkDeviceSize size;
9913} VkImageViewAddressPropertiesNVX;
9914
9915typedef uint32_t (VKAPI_PTR *PFN_vkGetImageViewHandleNVX)(VkDevice device, const VkImageViewHandleInfoNVX* pInfo);
9916typedef VkResult (VKAPI_PTR *PFN_vkGetImageViewAddressNVX)(VkDevice device, VkImageView imageView, VkImageViewAddressPropertiesNVX* pProperties);
9917
9918#ifndef VK_NO_PROTOTYPES
9919VKAPI_ATTR uint32_t VKAPI_CALL vkGetImageViewHandleNVX(
9920 VkDevice device,
9921 const VkImageViewHandleInfoNVX* pInfo);
9922
9923VKAPI_ATTR VkResult VKAPI_CALL vkGetImageViewAddressNVX(
9924 VkDevice device,
9925 VkImageView imageView,
9926 VkImageViewAddressPropertiesNVX* pProperties);
9927#endif
9928
9929
9930#define VK_AMD_draw_indirect_count 1
9931#define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 2
9932#define VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_AMD_draw_indirect_count"
9933typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
9934typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
9935
9936#ifndef VK_NO_PROTOTYPES
9937VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountAMD(
9938 VkCommandBuffer commandBuffer,
9939 VkBuffer buffer,
9940 VkDeviceSize offset,
9941 VkBuffer countBuffer,
9942 VkDeviceSize countBufferOffset,
9943 uint32_t maxDrawCount,
9944 uint32_t stride);
9945
9946VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountAMD(
9947 VkCommandBuffer commandBuffer,
9948 VkBuffer buffer,
9949 VkDeviceSize offset,
9950 VkBuffer countBuffer,
9951 VkDeviceSize countBufferOffset,
9952 uint32_t maxDrawCount,
9953 uint32_t stride);
9954#endif
9955
9956
9957#define VK_AMD_negative_viewport_height 1
9958#define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION 1
9959#define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME "VK_AMD_negative_viewport_height"
9960
9961
9962#define VK_AMD_gpu_shader_half_float 1
9963#define VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION 2
9964#define VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME "VK_AMD_gpu_shader_half_float"
9965
9966
9967#define VK_AMD_shader_ballot 1
9968#define VK_AMD_SHADER_BALLOT_SPEC_VERSION 1
9969#define VK_AMD_SHADER_BALLOT_EXTENSION_NAME "VK_AMD_shader_ballot"
9970
9971
9972#define VK_AMD_texture_gather_bias_lod 1
9973#define VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION 1
9974#define VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME "VK_AMD_texture_gather_bias_lod"
9975typedef struct VkTextureLODGatherFormatPropertiesAMD {
9976 VkStructureType sType;
9977 void* pNext;
9978 VkBool32 supportsTextureGatherLODBiasAMD;
9979} VkTextureLODGatherFormatPropertiesAMD;
9980
9981
9982
9983#define VK_AMD_shader_info 1
9984#define VK_AMD_SHADER_INFO_SPEC_VERSION 1
9985#define VK_AMD_SHADER_INFO_EXTENSION_NAME "VK_AMD_shader_info"
9986
9987typedef enum VkShaderInfoTypeAMD {
9988 VK_SHADER_INFO_TYPE_STATISTICS_AMD = 0,
9989 VK_SHADER_INFO_TYPE_BINARY_AMD = 1,
9990 VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD = 2,
9991 VK_SHADER_INFO_TYPE_MAX_ENUM_AMD = 0x7FFFFFFF
9992} VkShaderInfoTypeAMD;
9993typedef struct VkShaderResourceUsageAMD {
9994 uint32_t numUsedVgprs;
9995 uint32_t numUsedSgprs;
9996 uint32_t ldsSizePerLocalWorkGroup;
9997 size_t ldsUsageSizeInBytes;
9998 size_t scratchMemUsageInBytes;
9999} VkShaderResourceUsageAMD;
10000
10001typedef struct VkShaderStatisticsInfoAMD {
10002 VkShaderStageFlags shaderStageMask;
10003 VkShaderResourceUsageAMD resourceUsage;
10004 uint32_t numPhysicalVgprs;
10005 uint32_t numPhysicalSgprs;
10006 uint32_t numAvailableVgprs;
10007 uint32_t numAvailableSgprs;
10008 uint32_t computeWorkGroupSize[3];
10009} VkShaderStatisticsInfoAMD;
10010
10011typedef VkResult (VKAPI_PTR *PFN_vkGetShaderInfoAMD)(VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, size_t* pInfoSize, void* pInfo);
10012
10013#ifndef VK_NO_PROTOTYPES
10014VKAPI_ATTR VkResult VKAPI_CALL vkGetShaderInfoAMD(
10015 VkDevice device,
10016 VkPipeline pipeline,
10017 VkShaderStageFlagBits shaderStage,
10018 VkShaderInfoTypeAMD infoType,
10019 size_t* pInfoSize,
10020 void* pInfo);
10021#endif
10022
10023
10024#define VK_AMD_shader_image_load_store_lod 1
10025#define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION 1
10026#define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME "VK_AMD_shader_image_load_store_lod"
10027
10028
10029#define VK_NV_corner_sampled_image 1
10030#define VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION 2
10031#define VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME "VK_NV_corner_sampled_image"
10032typedef struct VkPhysicalDeviceCornerSampledImageFeaturesNV {
10033 VkStructureType sType;
10034 void* pNext;
10035 VkBool32 cornerSampledImage;
10036} VkPhysicalDeviceCornerSampledImageFeaturesNV;
10037
10038
10039
10040#define VK_IMG_format_pvrtc 1
10041#define VK_IMG_FORMAT_PVRTC_SPEC_VERSION 1
10042#define VK_IMG_FORMAT_PVRTC_EXTENSION_NAME "VK_IMG_format_pvrtc"
10043
10044
10045#define VK_NV_external_memory_capabilities 1
10046#define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
10047#define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_NV_external_memory_capabilities"
10048
10049typedef enum VkExternalMemoryHandleTypeFlagBitsNV {
10050 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV = 0x00000001,
10051 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV = 0x00000002,
10052 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV = 0x00000004,
10053 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV = 0x00000008,
10054 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
10055} VkExternalMemoryHandleTypeFlagBitsNV;
10056typedef VkFlags VkExternalMemoryHandleTypeFlagsNV;
10057
10058typedef enum VkExternalMemoryFeatureFlagBitsNV {
10059 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV = 0x00000001,
10060 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV = 0x00000002,
10061 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV = 0x00000004,
10062 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
10063} VkExternalMemoryFeatureFlagBitsNV;
10064typedef VkFlags VkExternalMemoryFeatureFlagsNV;
10065typedef struct VkExternalImageFormatPropertiesNV {
10066 VkImageFormatProperties imageFormatProperties;
10067 VkExternalMemoryFeatureFlagsNV externalMemoryFeatures;
10068 VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes;
10069 VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes;
10070} VkExternalImageFormatPropertiesNV;
10071
10072typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
10073
10074#ifndef VK_NO_PROTOTYPES
10075VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
10076 VkPhysicalDevice physicalDevice,
10077 VkFormat format,
10078 VkImageType type,
10079 VkImageTiling tiling,
10080 VkImageUsageFlags usage,
10081 VkImageCreateFlags flags,
10082 VkExternalMemoryHandleTypeFlagsNV externalHandleType,
10083 VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
10084#endif
10085
10086
10087#define VK_NV_external_memory 1
10088#define VK_NV_EXTERNAL_MEMORY_SPEC_VERSION 1
10089#define VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME "VK_NV_external_memory"
10090typedef struct VkExternalMemoryImageCreateInfoNV {
10091 VkStructureType sType;
10092 const void* pNext;
10093 VkExternalMemoryHandleTypeFlagsNV handleTypes;
10094} VkExternalMemoryImageCreateInfoNV;
10095
10096typedef struct VkExportMemoryAllocateInfoNV {
10097 VkStructureType sType;
10098 const void* pNext;
10099 VkExternalMemoryHandleTypeFlagsNV handleTypes;
10100} VkExportMemoryAllocateInfoNV;
10101
10102
10103
10104#define VK_EXT_validation_flags 1
10105#define VK_EXT_VALIDATION_FLAGS_SPEC_VERSION 2
10106#define VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME "VK_EXT_validation_flags"
10107
10108typedef enum VkValidationCheckEXT {
10109 VK_VALIDATION_CHECK_ALL_EXT = 0,
10110 VK_VALIDATION_CHECK_SHADERS_EXT = 1,
10111 VK_VALIDATION_CHECK_MAX_ENUM_EXT = 0x7FFFFFFF
10112} VkValidationCheckEXT;
10113typedef struct VkValidationFlagsEXT {
10114 VkStructureType sType;
10115 const void* pNext;
10116 uint32_t disabledValidationCheckCount;
10117 const VkValidationCheckEXT* pDisabledValidationChecks;
10118} VkValidationFlagsEXT;
10119
10120
10121
10122#define VK_EXT_shader_subgroup_ballot 1
10123#define VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION 1
10124#define VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME "VK_EXT_shader_subgroup_ballot"
10125
10126
10127#define VK_EXT_shader_subgroup_vote 1
10128#define VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION 1
10129#define VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME "VK_EXT_shader_subgroup_vote"
10130
10131
10132#define VK_EXT_texture_compression_astc_hdr 1
10133#define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION 1
10134#define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME "VK_EXT_texture_compression_astc_hdr"
10135typedef VkPhysicalDeviceTextureCompressionASTCHDRFeatures VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT;
10136
10137
10138
10139#define VK_EXT_astc_decode_mode 1
10140#define VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION 1
10141#define VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME "VK_EXT_astc_decode_mode"
10142typedef struct VkImageViewASTCDecodeModeEXT {
10143 VkStructureType sType;
10144 const void* pNext;
10145 VkFormat decodeMode;
10146} VkImageViewASTCDecodeModeEXT;
10147
10148typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT {
10149 VkStructureType sType;
10150 void* pNext;
10151 VkBool32 decodeModeSharedExponent;
10152} VkPhysicalDeviceASTCDecodeFeaturesEXT;
10153
10154
10155
10156#define VK_EXT_conditional_rendering 1
10157#define VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION 2
10158#define VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME "VK_EXT_conditional_rendering"
10159
10160typedef enum VkConditionalRenderingFlagBitsEXT {
10161 VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT = 0x00000001,
10162 VK_CONDITIONAL_RENDERING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
10163} VkConditionalRenderingFlagBitsEXT;
10164typedef VkFlags VkConditionalRenderingFlagsEXT;
10165typedef struct VkConditionalRenderingBeginInfoEXT {
10166 VkStructureType sType;
10167 const void* pNext;
10168 VkBuffer buffer;
10169 VkDeviceSize offset;
10170 VkConditionalRenderingFlagsEXT flags;
10171} VkConditionalRenderingBeginInfoEXT;
10172
10173typedef struct VkPhysicalDeviceConditionalRenderingFeaturesEXT {
10174 VkStructureType sType;
10175 void* pNext;
10176 VkBool32 conditionalRendering;
10177 VkBool32 inheritedConditionalRendering;
10178} VkPhysicalDeviceConditionalRenderingFeaturesEXT;
10179
10180typedef struct VkCommandBufferInheritanceConditionalRenderingInfoEXT {
10181 VkStructureType sType;
10182 const void* pNext;
10183 VkBool32 conditionalRenderingEnable;
10184} VkCommandBufferInheritanceConditionalRenderingInfoEXT;
10185
10186typedef void (VKAPI_PTR *PFN_vkCmdBeginConditionalRenderingEXT)(VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
10187typedef void (VKAPI_PTR *PFN_vkCmdEndConditionalRenderingEXT)(VkCommandBuffer commandBuffer);
10188
10189#ifndef VK_NO_PROTOTYPES
10190VKAPI_ATTR void VKAPI_CALL vkCmdBeginConditionalRenderingEXT(
10191 VkCommandBuffer commandBuffer,
10192 const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
10193
10194VKAPI_ATTR void VKAPI_CALL vkCmdEndConditionalRenderingEXT(
10195 VkCommandBuffer commandBuffer);
10196#endif
10197
10198
10199#define VK_NV_clip_space_w_scaling 1
10200#define VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION 1
10201#define VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME "VK_NV_clip_space_w_scaling"
10202typedef struct VkViewportWScalingNV {
10203 float xcoeff;
10204 float ycoeff;
10205} VkViewportWScalingNV;
10206
10207typedef struct VkPipelineViewportWScalingStateCreateInfoNV {
10208 VkStructureType sType;
10209 const void* pNext;
10210 VkBool32 viewportWScalingEnable;
10211 uint32_t viewportCount;
10212 const VkViewportWScalingNV* pViewportWScalings;
10213} VkPipelineViewportWScalingStateCreateInfoNV;
10214
10215typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportWScalingNV* pViewportWScalings);
10216
10217#ifndef VK_NO_PROTOTYPES
10218VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWScalingNV(
10219 VkCommandBuffer commandBuffer,
10220 uint32_t firstViewport,
10221 uint32_t viewportCount,
10222 const VkViewportWScalingNV* pViewportWScalings);
10223#endif
10224
10225
10226#define VK_EXT_direct_mode_display 1
10227#define VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION 1
10228#define VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME "VK_EXT_direct_mode_display"
10229typedef VkResult (VKAPI_PTR *PFN_vkReleaseDisplayEXT)(VkPhysicalDevice physicalDevice, VkDisplayKHR display);
10230
10231#ifndef VK_NO_PROTOTYPES
10232VKAPI_ATTR VkResult VKAPI_CALL vkReleaseDisplayEXT(
10233 VkPhysicalDevice physicalDevice,
10234 VkDisplayKHR display);
10235#endif
10236
10237
10238#define VK_EXT_display_surface_counter 1
10239#define VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION 1
10240#define VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME "VK_EXT_display_surface_counter"
10241
10242typedef enum VkSurfaceCounterFlagBitsEXT {
10243 VK_SURFACE_COUNTER_VBLANK_BIT_EXT = 0x00000001,
10244 VK_SURFACE_COUNTER_VBLANK_EXT = VK_SURFACE_COUNTER_VBLANK_BIT_EXT,
10245 VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
10246} VkSurfaceCounterFlagBitsEXT;
10247typedef VkFlags VkSurfaceCounterFlagsEXT;
10248typedef struct VkSurfaceCapabilities2EXT {
10249 VkStructureType sType;
10250 void* pNext;
10251 uint32_t minImageCount;
10252 uint32_t maxImageCount;
10253 VkExtent2D currentExtent;
10254 VkExtent2D minImageExtent;
10255 VkExtent2D maxImageExtent;
10256 uint32_t maxImageArrayLayers;
10257 VkSurfaceTransformFlagsKHR supportedTransforms;
10258 VkSurfaceTransformFlagBitsKHR currentTransform;
10259 VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
10260 VkImageUsageFlags supportedUsageFlags;
10261 VkSurfaceCounterFlagsEXT supportedSurfaceCounters;
10262} VkSurfaceCapabilities2EXT;
10263
10264typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
10265
10266#ifndef VK_NO_PROTOTYPES
10267VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2EXT(
10268 VkPhysicalDevice physicalDevice,
10269 VkSurfaceKHR surface,
10270 VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
10271#endif
10272
10273
10274#define VK_EXT_display_control 1
10275#define VK_EXT_DISPLAY_CONTROL_SPEC_VERSION 1
10276#define VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME "VK_EXT_display_control"
10277
10278typedef enum VkDisplayPowerStateEXT {
10279 VK_DISPLAY_POWER_STATE_OFF_EXT = 0,
10280 VK_DISPLAY_POWER_STATE_SUSPEND_EXT = 1,
10281 VK_DISPLAY_POWER_STATE_ON_EXT = 2,
10282 VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT = 0x7FFFFFFF
10283} VkDisplayPowerStateEXT;
10284
10285typedef enum VkDeviceEventTypeEXT {
10286 VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT = 0,
10287 VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
10288} VkDeviceEventTypeEXT;
10289
10290typedef enum VkDisplayEventTypeEXT {
10291 VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT = 0,
10292 VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
10293} VkDisplayEventTypeEXT;
10294typedef struct VkDisplayPowerInfoEXT {
10295 VkStructureType sType;
10296 const void* pNext;
10297 VkDisplayPowerStateEXT powerState;
10298} VkDisplayPowerInfoEXT;
10299
10300typedef struct VkDeviceEventInfoEXT {
10301 VkStructureType sType;
10302 const void* pNext;
10303 VkDeviceEventTypeEXT deviceEvent;
10304} VkDeviceEventInfoEXT;
10305
10306typedef struct VkDisplayEventInfoEXT {
10307 VkStructureType sType;
10308 const void* pNext;
10309 VkDisplayEventTypeEXT displayEvent;
10310} VkDisplayEventInfoEXT;
10311
10312typedef struct VkSwapchainCounterCreateInfoEXT {
10313 VkStructureType sType;
10314 const void* pNext;
10315 VkSurfaceCounterFlagsEXT surfaceCounters;
10316} VkSwapchainCounterCreateInfoEXT;
10317
10318typedef VkResult (VKAPI_PTR *PFN_vkDisplayPowerControlEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
10319typedef VkResult (VKAPI_PTR *PFN_vkRegisterDeviceEventEXT)(VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
10320typedef VkResult (VKAPI_PTR *PFN_vkRegisterDisplayEventEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
10321typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainCounterEXT)(VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, uint64_t* pCounterValue);
10322
10323#ifndef VK_NO_PROTOTYPES
10324VKAPI_ATTR VkResult VKAPI_CALL vkDisplayPowerControlEXT(
10325 VkDevice device,
10326 VkDisplayKHR display,
10327 const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
10328
10329VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDeviceEventEXT(
10330 VkDevice device,
10331 const VkDeviceEventInfoEXT* pDeviceEventInfo,
10332 const VkAllocationCallbacks* pAllocator,
10333 VkFence* pFence);
10334
10335VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDisplayEventEXT(
10336 VkDevice device,
10337 VkDisplayKHR display,
10338 const VkDisplayEventInfoEXT* pDisplayEventInfo,
10339 const VkAllocationCallbacks* pAllocator,
10340 VkFence* pFence);
10341
10342VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainCounterEXT(
10343 VkDevice device,
10344 VkSwapchainKHR swapchain,
10345 VkSurfaceCounterFlagBitsEXT counter,
10346 uint64_t* pCounterValue);
10347#endif
10348
10349
10350#define VK_GOOGLE_display_timing 1
10351#define VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION 1
10352#define VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME "VK_GOOGLE_display_timing"
10353typedef struct VkRefreshCycleDurationGOOGLE {
10354 uint64_t refreshDuration;
10355} VkRefreshCycleDurationGOOGLE;
10356
10357typedef struct VkPastPresentationTimingGOOGLE {
10358 uint32_t presentID;
10359 uint64_t desiredPresentTime;
10360 uint64_t actualPresentTime;
10361 uint64_t earliestPresentTime;
10362 uint64_t presentMargin;
10363} VkPastPresentationTimingGOOGLE;
10364
10365typedef struct VkPresentTimeGOOGLE {
10366 uint32_t presentID;
10367 uint64_t desiredPresentTime;
10368} VkPresentTimeGOOGLE;
10369
10370typedef struct VkPresentTimesInfoGOOGLE {
10371 VkStructureType sType;
10372 const void* pNext;
10373 uint32_t swapchainCount;
10374 const VkPresentTimeGOOGLE* pTimes;
10375} VkPresentTimesInfoGOOGLE;
10376
10377typedef VkResult (VKAPI_PTR *PFN_vkGetRefreshCycleDurationGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
10378typedef VkResult (VKAPI_PTR *PFN_vkGetPastPresentationTimingGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings);
10379
10380#ifndef VK_NO_PROTOTYPES
10381VKAPI_ATTR VkResult VKAPI_CALL vkGetRefreshCycleDurationGOOGLE(
10382 VkDevice device,
10383 VkSwapchainKHR swapchain,
10384 VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
10385
10386VKAPI_ATTR VkResult VKAPI_CALL vkGetPastPresentationTimingGOOGLE(
10387 VkDevice device,
10388 VkSwapchainKHR swapchain,
10389 uint32_t* pPresentationTimingCount,
10390 VkPastPresentationTimingGOOGLE* pPresentationTimings);
10391#endif
10392
10393
10394#define VK_NV_sample_mask_override_coverage 1
10395#define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION 1
10396#define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME "VK_NV_sample_mask_override_coverage"
10397
10398
10399#define VK_NV_geometry_shader_passthrough 1
10400#define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION 1
10401#define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME "VK_NV_geometry_shader_passthrough"
10402
10403
10404#define VK_NV_viewport_array2 1
10405#define VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION 1
10406#define VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME "VK_NV_viewport_array2"
10407#define VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION
10408#define VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME
10409
10410
10411#define VK_NVX_multiview_per_view_attributes 1
10412#define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION 1
10413#define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME "VK_NVX_multiview_per_view_attributes"
10414typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
10415 VkStructureType sType;
10416 void* pNext;
10417 VkBool32 perViewPositionAllComponents;
10418} VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
10419
10420
10421
10422#define VK_NV_viewport_swizzle 1
10423#define VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION 1
10424#define VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME "VK_NV_viewport_swizzle"
10425
10426typedef enum VkViewportCoordinateSwizzleNV {
10427 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV = 0,
10428 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV = 1,
10429 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV = 2,
10430 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV = 3,
10431 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV = 4,
10432 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV = 5,
10433 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV = 6,
10434 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV = 7,
10435 VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV = 0x7FFFFFFF
10436} VkViewportCoordinateSwizzleNV;
10437typedef VkFlags VkPipelineViewportSwizzleStateCreateFlagsNV;
10438typedef struct VkViewportSwizzleNV {
10439 VkViewportCoordinateSwizzleNV x;
10440 VkViewportCoordinateSwizzleNV y;
10441 VkViewportCoordinateSwizzleNV z;
10442 VkViewportCoordinateSwizzleNV w;
10443} VkViewportSwizzleNV;
10444
10445typedef struct VkPipelineViewportSwizzleStateCreateInfoNV {
10446 VkStructureType sType;
10447 const void* pNext;
10448 VkPipelineViewportSwizzleStateCreateFlagsNV flags;
10449 uint32_t viewportCount;
10450 const VkViewportSwizzleNV* pViewportSwizzles;
10451} VkPipelineViewportSwizzleStateCreateInfoNV;
10452
10453
10454
10455#define VK_EXT_discard_rectangles 1
10456#define VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION 1
10457#define VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME "VK_EXT_discard_rectangles"
10458
10459typedef enum VkDiscardRectangleModeEXT {
10460 VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT = 0,
10461 VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT = 1,
10462 VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
10463} VkDiscardRectangleModeEXT;
10464typedef VkFlags VkPipelineDiscardRectangleStateCreateFlagsEXT;
10465typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
10466 VkStructureType sType;
10467 void* pNext;
10468 uint32_t maxDiscardRectangles;
10469} VkPhysicalDeviceDiscardRectanglePropertiesEXT;
10470
10471typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT {
10472 VkStructureType sType;
10473 const void* pNext;
10474 VkPipelineDiscardRectangleStateCreateFlagsEXT flags;
10475 VkDiscardRectangleModeEXT discardRectangleMode;
10476 uint32_t discardRectangleCount;
10477 const VkRect2D* pDiscardRectangles;
10478} VkPipelineDiscardRectangleStateCreateInfoEXT;
10479
10480typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEXT)(VkCommandBuffer commandBuffer, uint32_t firstDiscardRectangle, uint32_t discardRectangleCount, const VkRect2D* pDiscardRectangles);
10481
10482#ifndef VK_NO_PROTOTYPES
10483VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEXT(
10484 VkCommandBuffer commandBuffer,
10485 uint32_t firstDiscardRectangle,
10486 uint32_t discardRectangleCount,
10487 const VkRect2D* pDiscardRectangles);
10488#endif
10489
10490
10491#define VK_EXT_conservative_rasterization 1
10492#define VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION 1
10493#define VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME "VK_EXT_conservative_rasterization"
10494
10495typedef enum VkConservativeRasterizationModeEXT {
10496 VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT = 0,
10497 VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT = 1,
10498 VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT = 2,
10499 VK_CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
10500} VkConservativeRasterizationModeEXT;
10501typedef VkFlags VkPipelineRasterizationConservativeStateCreateFlagsEXT;
10502typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT {
10503 VkStructureType sType;
10504 void* pNext;
10505 float primitiveOverestimationSize;
10506 float maxExtraPrimitiveOverestimationSize;
10507 float extraPrimitiveOverestimationSizeGranularity;
10508 VkBool32 primitiveUnderestimation;
10509 VkBool32 conservativePointAndLineRasterization;
10510 VkBool32 degenerateTrianglesRasterized;
10511 VkBool32 degenerateLinesRasterized;
10512 VkBool32 fullyCoveredFragmentShaderInputVariable;
10513 VkBool32 conservativeRasterizationPostDepthCoverage;
10514} VkPhysicalDeviceConservativeRasterizationPropertiesEXT;
10515
10516typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT {
10517 VkStructureType sType;
10518 const void* pNext;
10519 VkPipelineRasterizationConservativeStateCreateFlagsEXT flags;
10520 VkConservativeRasterizationModeEXT conservativeRasterizationMode;
10521 float extraPrimitiveOverestimationSize;
10522} VkPipelineRasterizationConservativeStateCreateInfoEXT;
10523
10524
10525
10526#define VK_EXT_depth_clip_enable 1
10527#define VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION 1
10528#define VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME "VK_EXT_depth_clip_enable"
10529typedef VkFlags VkPipelineRasterizationDepthClipStateCreateFlagsEXT;
10530typedef struct VkPhysicalDeviceDepthClipEnableFeaturesEXT {
10531 VkStructureType sType;
10532 void* pNext;
10533 VkBool32 depthClipEnable;
10534} VkPhysicalDeviceDepthClipEnableFeaturesEXT;
10535
10536typedef struct VkPipelineRasterizationDepthClipStateCreateInfoEXT {
10537 VkStructureType sType;
10538 const void* pNext;
10539 VkPipelineRasterizationDepthClipStateCreateFlagsEXT flags;
10540 VkBool32 depthClipEnable;
10541} VkPipelineRasterizationDepthClipStateCreateInfoEXT;
10542
10543
10544
10545#define VK_EXT_swapchain_colorspace 1
10546#define VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION 4
10547#define VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME "VK_EXT_swapchain_colorspace"
10548
10549
10550#define VK_EXT_hdr_metadata 1
10551#define VK_EXT_HDR_METADATA_SPEC_VERSION 2
10552#define VK_EXT_HDR_METADATA_EXTENSION_NAME "VK_EXT_hdr_metadata"
10553typedef struct VkXYColorEXT {
10554 float x;
10555 float y;
10556} VkXYColorEXT;
10557
10558typedef struct VkHdrMetadataEXT {
10559 VkStructureType sType;
10560 const void* pNext;
10561 VkXYColorEXT displayPrimaryRed;
10562 VkXYColorEXT displayPrimaryGreen;
10563 VkXYColorEXT displayPrimaryBlue;
10564 VkXYColorEXT whitePoint;
10565 float maxLuminance;
10566 float minLuminance;
10567 float maxContentLightLevel;
10568 float maxFrameAverageLightLevel;
10569} VkHdrMetadataEXT;
10570
10571typedef void (VKAPI_PTR *PFN_vkSetHdrMetadataEXT)(VkDevice device, uint32_t swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata);
10572
10573#ifndef VK_NO_PROTOTYPES
10574VKAPI_ATTR void VKAPI_CALL vkSetHdrMetadataEXT(
10575 VkDevice device,
10576 uint32_t swapchainCount,
10577 const VkSwapchainKHR* pSwapchains,
10578 const VkHdrMetadataEXT* pMetadata);
10579#endif
10580
10581
10582#define VK_EXT_external_memory_dma_buf 1
10583#define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION 1
10584#define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME "VK_EXT_external_memory_dma_buf"
10585
10586
10587#define VK_EXT_queue_family_foreign 1
10588#define VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION 1
10589#define VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME "VK_EXT_queue_family_foreign"
10590#define VK_QUEUE_FAMILY_FOREIGN_EXT (~2U)
10591
10592
10593#define VK_EXT_debug_utils 1
10594VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugUtilsMessengerEXT)
10595#define VK_EXT_DEBUG_UTILS_SPEC_VERSION 2
10596#define VK_EXT_DEBUG_UTILS_EXTENSION_NAME "VK_EXT_debug_utils"
10597typedef VkFlags VkDebugUtilsMessengerCallbackDataFlagsEXT;
10598
10599typedef enum VkDebugUtilsMessageSeverityFlagBitsEXT {
10600 VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT = 0x00000001,
10601 VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT = 0x00000010,
10602 VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT = 0x00000100,
10603 VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT = 0x00001000,
10604 VK_DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
10605} VkDebugUtilsMessageSeverityFlagBitsEXT;
10606
10607typedef enum VkDebugUtilsMessageTypeFlagBitsEXT {
10608 VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT = 0x00000001,
10609 VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT = 0x00000002,
10610 VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT = 0x00000004,
10611 VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
10612} VkDebugUtilsMessageTypeFlagBitsEXT;
10613typedef VkFlags VkDebugUtilsMessageTypeFlagsEXT;
10614typedef VkFlags VkDebugUtilsMessageSeverityFlagsEXT;
10615typedef VkFlags VkDebugUtilsMessengerCreateFlagsEXT;
10616typedef struct VkDebugUtilsLabelEXT {
10617 VkStructureType sType;
10618 const void* pNext;
10619 const char* pLabelName;
10620 float color[4];
10621} VkDebugUtilsLabelEXT;
10622
10623typedef struct VkDebugUtilsObjectNameInfoEXT {
10624 VkStructureType sType;
10625 const void* pNext;
10626 VkObjectType objectType;
10627 uint64_t objectHandle;
10628 const char* pObjectName;
10629} VkDebugUtilsObjectNameInfoEXT;
10630
10631typedef struct VkDebugUtilsMessengerCallbackDataEXT {
10632 VkStructureType sType;
10633 const void* pNext;
10634 VkDebugUtilsMessengerCallbackDataFlagsEXT flags;
10635 const char* pMessageIdName;
10636 int32_t messageIdNumber;
10637 const char* pMessage;
10638 uint32_t queueLabelCount;
10639 const VkDebugUtilsLabelEXT* pQueueLabels;
10640 uint32_t cmdBufLabelCount;
10641 const VkDebugUtilsLabelEXT* pCmdBufLabels;
10642 uint32_t objectCount;
10643 const VkDebugUtilsObjectNameInfoEXT* pObjects;
10644} VkDebugUtilsMessengerCallbackDataEXT;
10645
10646typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)(
10647 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
10648 VkDebugUtilsMessageTypeFlagsEXT messageTypes,
10649 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData,
10650 void* pUserData);
10651
10652typedef struct VkDebugUtilsMessengerCreateInfoEXT {
10653 VkStructureType sType;
10654 const void* pNext;
10655 VkDebugUtilsMessengerCreateFlagsEXT flags;
10656 VkDebugUtilsMessageSeverityFlagsEXT messageSeverity;
10657 VkDebugUtilsMessageTypeFlagsEXT messageType;
10658 PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback;
10659 void* pUserData;
10660} VkDebugUtilsMessengerCreateInfoEXT;
10661
10662typedef struct VkDebugUtilsObjectTagInfoEXT {
10663 VkStructureType sType;
10664 const void* pNext;
10665 VkObjectType objectType;
10666 uint64_t objectHandle;
10667 uint64_t tagName;
10668 size_t tagSize;
10669 const void* pTag;
10670} VkDebugUtilsObjectTagInfoEXT;
10671
10672typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectNameEXT)(VkDevice device, const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
10673typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectTagEXT)(VkDevice device, const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
10674typedef void (VKAPI_PTR *PFN_vkQueueBeginDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
10675typedef void (VKAPI_PTR *PFN_vkQueueEndDebugUtilsLabelEXT)(VkQueue queue);
10676typedef void (VKAPI_PTR *PFN_vkQueueInsertDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
10677typedef void (VKAPI_PTR *PFN_vkCmdBeginDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
10678typedef void (VKAPI_PTR *PFN_vkCmdEndDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer);
10679typedef void (VKAPI_PTR *PFN_vkCmdInsertDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
10680typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugUtilsMessengerEXT)(VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugUtilsMessengerEXT* pMessenger);
10681typedef void (VKAPI_PTR *PFN_vkDestroyDebugUtilsMessengerEXT)(VkInstance instance, VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks* pAllocator);
10682typedef void (VKAPI_PTR *PFN_vkSubmitDebugUtilsMessageEXT)(VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
10683
10684#ifndef VK_NO_PROTOTYPES
10685VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectNameEXT(
10686 VkDevice device,
10687 const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
10688
10689VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectTagEXT(
10690 VkDevice device,
10691 const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
10692
10693VKAPI_ATTR void VKAPI_CALL vkQueueBeginDebugUtilsLabelEXT(
10694 VkQueue queue,
10695 const VkDebugUtilsLabelEXT* pLabelInfo);
10696
10697VKAPI_ATTR void VKAPI_CALL vkQueueEndDebugUtilsLabelEXT(
10698 VkQueue queue);
10699
10700VKAPI_ATTR void VKAPI_CALL vkQueueInsertDebugUtilsLabelEXT(
10701 VkQueue queue,
10702 const VkDebugUtilsLabelEXT* pLabelInfo);
10703
10704VKAPI_ATTR void VKAPI_CALL vkCmdBeginDebugUtilsLabelEXT(
10705 VkCommandBuffer commandBuffer,
10706 const VkDebugUtilsLabelEXT* pLabelInfo);
10707
10708VKAPI_ATTR void VKAPI_CALL vkCmdEndDebugUtilsLabelEXT(
10709 VkCommandBuffer commandBuffer);
10710
10711VKAPI_ATTR void VKAPI_CALL vkCmdInsertDebugUtilsLabelEXT(
10712 VkCommandBuffer commandBuffer,
10713 const VkDebugUtilsLabelEXT* pLabelInfo);
10714
10715VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugUtilsMessengerEXT(
10716 VkInstance instance,
10717 const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo,
10718 const VkAllocationCallbacks* pAllocator,
10719 VkDebugUtilsMessengerEXT* pMessenger);
10720
10721VKAPI_ATTR void VKAPI_CALL vkDestroyDebugUtilsMessengerEXT(
10722 VkInstance instance,
10723 VkDebugUtilsMessengerEXT messenger,
10724 const VkAllocationCallbacks* pAllocator);
10725
10726VKAPI_ATTR void VKAPI_CALL vkSubmitDebugUtilsMessageEXT(
10727 VkInstance instance,
10728 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
10729 VkDebugUtilsMessageTypeFlagsEXT messageTypes,
10730 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
10731#endif
10732
10733
10734#define VK_EXT_sampler_filter_minmax 1
10735#define VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION 2
10736#define VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME "VK_EXT_sampler_filter_minmax"
10737typedef VkSamplerReductionMode VkSamplerReductionModeEXT;
10738
10739typedef VkSamplerReductionModeCreateInfo VkSamplerReductionModeCreateInfoEXT;
10740
10741typedef VkPhysicalDeviceSamplerFilterMinmaxProperties VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
10742
10743
10744
10745#define VK_AMD_gpu_shader_int16 1
10746#define VK_AMD_GPU_SHADER_INT16_SPEC_VERSION 2
10747#define VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME "VK_AMD_gpu_shader_int16"
10748
10749
10750#define VK_AMD_mixed_attachment_samples 1
10751#define VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION 1
10752#define VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME "VK_AMD_mixed_attachment_samples"
10753
10754
10755#define VK_AMD_shader_fragment_mask 1
10756#define VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION 1
10757#define VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME "VK_AMD_shader_fragment_mask"
10758
10759
10760#define VK_EXT_inline_uniform_block 1
10761#define VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION 1
10762#define VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME "VK_EXT_inline_uniform_block"
10763typedef VkPhysicalDeviceInlineUniformBlockFeatures VkPhysicalDeviceInlineUniformBlockFeaturesEXT;
10764
10765typedef VkPhysicalDeviceInlineUniformBlockProperties VkPhysicalDeviceInlineUniformBlockPropertiesEXT;
10766
10767typedef VkWriteDescriptorSetInlineUniformBlock VkWriteDescriptorSetInlineUniformBlockEXT;
10768
10769typedef VkDescriptorPoolInlineUniformBlockCreateInfo VkDescriptorPoolInlineUniformBlockCreateInfoEXT;
10770
10771
10772
10773#define VK_EXT_shader_stencil_export 1
10774#define VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION 1
10775#define VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME "VK_EXT_shader_stencil_export"
10776
10777
10778#define VK_EXT_sample_locations 1
10779#define VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION 1
10780#define VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME "VK_EXT_sample_locations"
10781typedef struct VkSampleLocationEXT {
10782 float x;
10783 float y;
10784} VkSampleLocationEXT;
10785
10786typedef struct VkSampleLocationsInfoEXT {
10787 VkStructureType sType;
10788 const void* pNext;
10789 VkSampleCountFlagBits sampleLocationsPerPixel;
10790 VkExtent2D sampleLocationGridSize;
10791 uint32_t sampleLocationsCount;
10792 const VkSampleLocationEXT* pSampleLocations;
10793} VkSampleLocationsInfoEXT;
10794
10795typedef struct VkAttachmentSampleLocationsEXT {
10796 uint32_t attachmentIndex;
10797 VkSampleLocationsInfoEXT sampleLocationsInfo;
10798} VkAttachmentSampleLocationsEXT;
10799
10800typedef struct VkSubpassSampleLocationsEXT {
10801 uint32_t subpassIndex;
10802 VkSampleLocationsInfoEXT sampleLocationsInfo;
10803} VkSubpassSampleLocationsEXT;
10804
10805typedef struct VkRenderPassSampleLocationsBeginInfoEXT {
10806 VkStructureType sType;
10807 const void* pNext;
10808 uint32_t attachmentInitialSampleLocationsCount;
10809 const VkAttachmentSampleLocationsEXT* pAttachmentInitialSampleLocations;
10810 uint32_t postSubpassSampleLocationsCount;
10811 const VkSubpassSampleLocationsEXT* pPostSubpassSampleLocations;
10812} VkRenderPassSampleLocationsBeginInfoEXT;
10813
10814typedef struct VkPipelineSampleLocationsStateCreateInfoEXT {
10815 VkStructureType sType;
10816 const void* pNext;
10817 VkBool32 sampleLocationsEnable;
10818 VkSampleLocationsInfoEXT sampleLocationsInfo;
10819} VkPipelineSampleLocationsStateCreateInfoEXT;
10820
10821typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT {
10822 VkStructureType sType;
10823 void* pNext;
10824 VkSampleCountFlags sampleLocationSampleCounts;
10825 VkExtent2D maxSampleLocationGridSize;
10826 float sampleLocationCoordinateRange[2];
10827 uint32_t sampleLocationSubPixelBits;
10828 VkBool32 variableSampleLocations;
10829} VkPhysicalDeviceSampleLocationsPropertiesEXT;
10830
10831typedef struct VkMultisamplePropertiesEXT {
10832 VkStructureType sType;
10833 void* pNext;
10834 VkExtent2D maxSampleLocationGridSize;
10835} VkMultisamplePropertiesEXT;
10836
10837typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEXT)(VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
10838typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT)(VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT* pMultisampleProperties);
10839
10840#ifndef VK_NO_PROTOTYPES
10841VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleLocationsEXT(
10842 VkCommandBuffer commandBuffer,
10843 const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
10844
10845VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMultisamplePropertiesEXT(
10846 VkPhysicalDevice physicalDevice,
10847 VkSampleCountFlagBits samples,
10848 VkMultisamplePropertiesEXT* pMultisampleProperties);
10849#endif
10850
10851
10852#define VK_EXT_blend_operation_advanced 1
10853#define VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION 2
10854#define VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME "VK_EXT_blend_operation_advanced"
10855
10856typedef enum VkBlendOverlapEXT {
10857 VK_BLEND_OVERLAP_UNCORRELATED_EXT = 0,
10858 VK_BLEND_OVERLAP_DISJOINT_EXT = 1,
10859 VK_BLEND_OVERLAP_CONJOINT_EXT = 2,
10860 VK_BLEND_OVERLAP_MAX_ENUM_EXT = 0x7FFFFFFF
10861} VkBlendOverlapEXT;
10862typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
10863 VkStructureType sType;
10864 void* pNext;
10865 VkBool32 advancedBlendCoherentOperations;
10866} VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
10867
10868typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT {
10869 VkStructureType sType;
10870 void* pNext;
10871 uint32_t advancedBlendMaxColorAttachments;
10872 VkBool32 advancedBlendIndependentBlend;
10873 VkBool32 advancedBlendNonPremultipliedSrcColor;
10874 VkBool32 advancedBlendNonPremultipliedDstColor;
10875 VkBool32 advancedBlendCorrelatedOverlap;
10876 VkBool32 advancedBlendAllOperations;
10877} VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT;
10878
10879typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT {
10880 VkStructureType sType;
10881 const void* pNext;
10882 VkBool32 srcPremultiplied;
10883 VkBool32 dstPremultiplied;
10884 VkBlendOverlapEXT blendOverlap;
10885} VkPipelineColorBlendAdvancedStateCreateInfoEXT;
10886
10887
10888
10889#define VK_NV_fragment_coverage_to_color 1
10890#define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION 1
10891#define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME "VK_NV_fragment_coverage_to_color"
10892typedef VkFlags VkPipelineCoverageToColorStateCreateFlagsNV;
10893typedef struct VkPipelineCoverageToColorStateCreateInfoNV {
10894 VkStructureType sType;
10895 const void* pNext;
10896 VkPipelineCoverageToColorStateCreateFlagsNV flags;
10897 VkBool32 coverageToColorEnable;
10898 uint32_t coverageToColorLocation;
10899} VkPipelineCoverageToColorStateCreateInfoNV;
10900
10901
10902
10903#define VK_NV_framebuffer_mixed_samples 1
10904#define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION 1
10905#define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME "VK_NV_framebuffer_mixed_samples"
10906
10907typedef enum VkCoverageModulationModeNV {
10908 VK_COVERAGE_MODULATION_MODE_NONE_NV = 0,
10909 VK_COVERAGE_MODULATION_MODE_RGB_NV = 1,
10910 VK_COVERAGE_MODULATION_MODE_ALPHA_NV = 2,
10911 VK_COVERAGE_MODULATION_MODE_RGBA_NV = 3,
10912 VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV = 0x7FFFFFFF
10913} VkCoverageModulationModeNV;
10914typedef VkFlags VkPipelineCoverageModulationStateCreateFlagsNV;
10915typedef struct VkPipelineCoverageModulationStateCreateInfoNV {
10916 VkStructureType sType;
10917 const void* pNext;
10918 VkPipelineCoverageModulationStateCreateFlagsNV flags;
10919 VkCoverageModulationModeNV coverageModulationMode;
10920 VkBool32 coverageModulationTableEnable;
10921 uint32_t coverageModulationTableCount;
10922 const float* pCoverageModulationTable;
10923} VkPipelineCoverageModulationStateCreateInfoNV;
10924
10925
10926
10927#define VK_NV_fill_rectangle 1
10928#define VK_NV_FILL_RECTANGLE_SPEC_VERSION 1
10929#define VK_NV_FILL_RECTANGLE_EXTENSION_NAME "VK_NV_fill_rectangle"
10930
10931
10932#define VK_NV_shader_sm_builtins 1
10933#define VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION 1
10934#define VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME "VK_NV_shader_sm_builtins"
10935typedef struct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV {
10936 VkStructureType sType;
10937 void* pNext;
10938 uint32_t shaderSMCount;
10939 uint32_t shaderWarpsPerSM;
10940} VkPhysicalDeviceShaderSMBuiltinsPropertiesNV;
10941
10942typedef struct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV {
10943 VkStructureType sType;
10944 void* pNext;
10945 VkBool32 shaderSMBuiltins;
10946} VkPhysicalDeviceShaderSMBuiltinsFeaturesNV;
10947
10948
10949
10950#define VK_EXT_post_depth_coverage 1
10951#define VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION 1
10952#define VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME "VK_EXT_post_depth_coverage"
10953
10954
10955#define VK_EXT_image_drm_format_modifier 1
10956#define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION 2
10957#define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME "VK_EXT_image_drm_format_modifier"
10958typedef struct VkDrmFormatModifierPropertiesEXT {
10959 uint64_t drmFormatModifier;
10960 uint32_t drmFormatModifierPlaneCount;
10961 VkFormatFeatureFlags drmFormatModifierTilingFeatures;
10962} VkDrmFormatModifierPropertiesEXT;
10963
10964typedef struct VkDrmFormatModifierPropertiesListEXT {
10965 VkStructureType sType;
10966 void* pNext;
10967 uint32_t drmFormatModifierCount;
10968 VkDrmFormatModifierPropertiesEXT* pDrmFormatModifierProperties;
10969} VkDrmFormatModifierPropertiesListEXT;
10970
10971typedef struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT {
10972 VkStructureType sType;
10973 const void* pNext;
10974 uint64_t drmFormatModifier;
10975 VkSharingMode sharingMode;
10976 uint32_t queueFamilyIndexCount;
10977 const uint32_t* pQueueFamilyIndices;
10978} VkPhysicalDeviceImageDrmFormatModifierInfoEXT;
10979
10980typedef struct VkImageDrmFormatModifierListCreateInfoEXT {
10981 VkStructureType sType;
10982 const void* pNext;
10983 uint32_t drmFormatModifierCount;
10984 const uint64_t* pDrmFormatModifiers;
10985} VkImageDrmFormatModifierListCreateInfoEXT;
10986
10987typedef struct VkImageDrmFormatModifierExplicitCreateInfoEXT {
10988 VkStructureType sType;
10989 const void* pNext;
10990 uint64_t drmFormatModifier;
10991 uint32_t drmFormatModifierPlaneCount;
10992 const VkSubresourceLayout* pPlaneLayouts;
10993} VkImageDrmFormatModifierExplicitCreateInfoEXT;
10994
10995typedef struct VkImageDrmFormatModifierPropertiesEXT {
10996 VkStructureType sType;
10997 void* pNext;
10998 uint64_t drmFormatModifier;
10999} VkImageDrmFormatModifierPropertiesEXT;
11000
11001typedef struct VkDrmFormatModifierProperties2EXT {
11002 uint64_t drmFormatModifier;
11003 uint32_t drmFormatModifierPlaneCount;
11004 VkFormatFeatureFlags2 drmFormatModifierTilingFeatures;
11005} VkDrmFormatModifierProperties2EXT;
11006
11007typedef struct VkDrmFormatModifierPropertiesList2EXT {
11008 VkStructureType sType;
11009 void* pNext;
11010 uint32_t drmFormatModifierCount;
11011 VkDrmFormatModifierProperties2EXT* pDrmFormatModifierProperties;
11012} VkDrmFormatModifierPropertiesList2EXT;
11013
11014typedef VkResult (VKAPI_PTR *PFN_vkGetImageDrmFormatModifierPropertiesEXT)(VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties);
11015
11016#ifndef VK_NO_PROTOTYPES
11017VKAPI_ATTR VkResult VKAPI_CALL vkGetImageDrmFormatModifierPropertiesEXT(
11018 VkDevice device,
11019 VkImage image,
11020 VkImageDrmFormatModifierPropertiesEXT* pProperties);
11021#endif
11022
11023
11024#define VK_EXT_validation_cache 1
11025VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkValidationCacheEXT)
11026#define VK_EXT_VALIDATION_CACHE_SPEC_VERSION 1
11027#define VK_EXT_VALIDATION_CACHE_EXTENSION_NAME "VK_EXT_validation_cache"
11028
11029typedef enum VkValidationCacheHeaderVersionEXT {
11030 VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT = 1,
11031 VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT = 0x7FFFFFFF
11032} VkValidationCacheHeaderVersionEXT;
11033typedef VkFlags VkValidationCacheCreateFlagsEXT;
11034typedef struct VkValidationCacheCreateInfoEXT {
11035 VkStructureType sType;
11036 const void* pNext;
11037 VkValidationCacheCreateFlagsEXT flags;
11038 size_t initialDataSize;
11039 const void* pInitialData;
11040} VkValidationCacheCreateInfoEXT;
11041
11042typedef struct VkShaderModuleValidationCacheCreateInfoEXT {
11043 VkStructureType sType;
11044 const void* pNext;
11045 VkValidationCacheEXT validationCache;
11046} VkShaderModuleValidationCacheCreateInfoEXT;
11047
11048typedef VkResult (VKAPI_PTR *PFN_vkCreateValidationCacheEXT)(VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache);
11049typedef void (VKAPI_PTR *PFN_vkDestroyValidationCacheEXT)(VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator);
11050typedef VkResult (VKAPI_PTR *PFN_vkMergeValidationCachesEXT)(VkDevice device, VkValidationCacheEXT dstCache, uint32_t srcCacheCount, const VkValidationCacheEXT* pSrcCaches);
11051typedef VkResult (VKAPI_PTR *PFN_vkGetValidationCacheDataEXT)(VkDevice device, VkValidationCacheEXT validationCache, size_t* pDataSize, void* pData);
11052
11053#ifndef VK_NO_PROTOTYPES
11054VKAPI_ATTR VkResult VKAPI_CALL vkCreateValidationCacheEXT(
11055 VkDevice device,
11056 const VkValidationCacheCreateInfoEXT* pCreateInfo,
11057 const VkAllocationCallbacks* pAllocator,
11058 VkValidationCacheEXT* pValidationCache);
11059
11060VKAPI_ATTR void VKAPI_CALL vkDestroyValidationCacheEXT(
11061 VkDevice device,
11062 VkValidationCacheEXT validationCache,
11063 const VkAllocationCallbacks* pAllocator);
11064
11065VKAPI_ATTR VkResult VKAPI_CALL vkMergeValidationCachesEXT(
11066 VkDevice device,
11067 VkValidationCacheEXT dstCache,
11068 uint32_t srcCacheCount,
11069 const VkValidationCacheEXT* pSrcCaches);
11070
11071VKAPI_ATTR VkResult VKAPI_CALL vkGetValidationCacheDataEXT(
11072 VkDevice device,
11073 VkValidationCacheEXT validationCache,
11074 size_t* pDataSize,
11075 void* pData);
11076#endif
11077
11078
11079#define VK_EXT_descriptor_indexing 1
11080#define VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION 2
11081#define VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME "VK_EXT_descriptor_indexing"
11082typedef VkDescriptorBindingFlagBits VkDescriptorBindingFlagBitsEXT;
11083
11084typedef VkDescriptorBindingFlags VkDescriptorBindingFlagsEXT;
11085
11086typedef VkDescriptorSetLayoutBindingFlagsCreateInfo VkDescriptorSetLayoutBindingFlagsCreateInfoEXT;
11087
11088typedef VkPhysicalDeviceDescriptorIndexingFeatures VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
11089
11090typedef VkPhysicalDeviceDescriptorIndexingProperties VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
11091
11092typedef VkDescriptorSetVariableDescriptorCountAllocateInfo VkDescriptorSetVariableDescriptorCountAllocateInfoEXT;
11093
11094typedef VkDescriptorSetVariableDescriptorCountLayoutSupport VkDescriptorSetVariableDescriptorCountLayoutSupportEXT;
11095
11096
11097
11098#define VK_EXT_shader_viewport_index_layer 1
11099#define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION 1
11100#define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME "VK_EXT_shader_viewport_index_layer"
11101
11102
11103#define VK_NV_shading_rate_image 1
11104#define VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION 3
11105#define VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME "VK_NV_shading_rate_image"
11106
11107typedef enum VkShadingRatePaletteEntryNV {
11108 VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV = 0,
11109 VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV = 1,
11110 VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV = 2,
11111 VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV = 3,
11112 VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV = 4,
11113 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV = 5,
11114 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV = 6,
11115 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV = 7,
11116 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV = 8,
11117 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV = 9,
11118 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV = 10,
11119 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV = 11,
11120 VK_SHADING_RATE_PALETTE_ENTRY_MAX_ENUM_NV = 0x7FFFFFFF
11121} VkShadingRatePaletteEntryNV;
11122
11123typedef enum VkCoarseSampleOrderTypeNV {
11124 VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV = 0,
11125 VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV = 1,
11126 VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV = 2,
11127 VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV = 3,
11128 VK_COARSE_SAMPLE_ORDER_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
11129} VkCoarseSampleOrderTypeNV;
11130typedef struct VkShadingRatePaletteNV {
11131 uint32_t shadingRatePaletteEntryCount;
11132 const VkShadingRatePaletteEntryNV* pShadingRatePaletteEntries;
11133} VkShadingRatePaletteNV;
11134
11135typedef struct VkPipelineViewportShadingRateImageStateCreateInfoNV {
11136 VkStructureType sType;
11137 const void* pNext;
11138 VkBool32 shadingRateImageEnable;
11139 uint32_t viewportCount;
11140 const VkShadingRatePaletteNV* pShadingRatePalettes;
11141} VkPipelineViewportShadingRateImageStateCreateInfoNV;
11142
11143typedef struct VkPhysicalDeviceShadingRateImageFeaturesNV {
11144 VkStructureType sType;
11145 void* pNext;
11146 VkBool32 shadingRateImage;
11147 VkBool32 shadingRateCoarseSampleOrder;
11148} VkPhysicalDeviceShadingRateImageFeaturesNV;
11149
11150typedef struct VkPhysicalDeviceShadingRateImagePropertiesNV {
11151 VkStructureType sType;
11152 void* pNext;
11153 VkExtent2D shadingRateTexelSize;
11154 uint32_t shadingRatePaletteSize;
11155 uint32_t shadingRateMaxCoarseSamples;
11156} VkPhysicalDeviceShadingRateImagePropertiesNV;
11157
11158typedef struct VkCoarseSampleLocationNV {
11159 uint32_t pixelX;
11160 uint32_t pixelY;
11161 uint32_t sample;
11162} VkCoarseSampleLocationNV;
11163
11164typedef struct VkCoarseSampleOrderCustomNV {
11165 VkShadingRatePaletteEntryNV shadingRate;
11166 uint32_t sampleCount;
11167 uint32_t sampleLocationCount;
11168 const VkCoarseSampleLocationNV* pSampleLocations;
11169} VkCoarseSampleOrderCustomNV;
11170
11171typedef struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV {
11172 VkStructureType sType;
11173 const void* pNext;
11174 VkCoarseSampleOrderTypeNV sampleOrderType;
11175 uint32_t customSampleOrderCount;
11176 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders;
11177} VkPipelineViewportCoarseSampleOrderStateCreateInfoNV;
11178
11179typedef void (VKAPI_PTR *PFN_vkCmdBindShadingRateImageNV)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout);
11180typedef void (VKAPI_PTR *PFN_vkCmdSetViewportShadingRatePaletteNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkShadingRatePaletteNV* pShadingRatePalettes);
11181typedef void (VKAPI_PTR *PFN_vkCmdSetCoarseSampleOrderNV)(VkCommandBuffer commandBuffer, VkCoarseSampleOrderTypeNV sampleOrderType, uint32_t customSampleOrderCount, const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
11182
11183#ifndef VK_NO_PROTOTYPES
11184VKAPI_ATTR void VKAPI_CALL vkCmdBindShadingRateImageNV(
11185 VkCommandBuffer commandBuffer,
11186 VkImageView imageView,
11187 VkImageLayout imageLayout);
11188
11189VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportShadingRatePaletteNV(
11190 VkCommandBuffer commandBuffer,
11191 uint32_t firstViewport,
11192 uint32_t viewportCount,
11193 const VkShadingRatePaletteNV* pShadingRatePalettes);
11194
11195VKAPI_ATTR void VKAPI_CALL vkCmdSetCoarseSampleOrderNV(
11196 VkCommandBuffer commandBuffer,
11197 VkCoarseSampleOrderTypeNV sampleOrderType,
11198 uint32_t customSampleOrderCount,
11199 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
11200#endif
11201
11202
11203#define VK_NV_ray_tracing 1
11204VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureNV)
11205#define VK_NV_RAY_TRACING_SPEC_VERSION 3
11206#define VK_NV_RAY_TRACING_EXTENSION_NAME "VK_NV_ray_tracing"
11207#define VK_SHADER_UNUSED_KHR (~0U)
11208#define VK_SHADER_UNUSED_NV VK_SHADER_UNUSED_KHR
11209
11210typedef enum VkRayTracingShaderGroupTypeKHR {
11211 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR = 0,
11212 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR = 1,
11213 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR = 2,
11214 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR,
11215 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR,
11216 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR,
11217 VK_RAY_TRACING_SHADER_GROUP_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
11218} VkRayTracingShaderGroupTypeKHR;
11219typedef VkRayTracingShaderGroupTypeKHR VkRayTracingShaderGroupTypeNV;
11220
11221
11222typedef enum VkGeometryTypeKHR {
11223 VK_GEOMETRY_TYPE_TRIANGLES_KHR = 0,
11224 VK_GEOMETRY_TYPE_AABBS_KHR = 1,
11225 VK_GEOMETRY_TYPE_INSTANCES_KHR = 2,
11226 VK_GEOMETRY_TYPE_TRIANGLES_NV = VK_GEOMETRY_TYPE_TRIANGLES_KHR,
11227 VK_GEOMETRY_TYPE_AABBS_NV = VK_GEOMETRY_TYPE_AABBS_KHR,
11228 VK_GEOMETRY_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
11229} VkGeometryTypeKHR;
11230typedef VkGeometryTypeKHR VkGeometryTypeNV;
11231
11232
11233typedef enum VkAccelerationStructureTypeKHR {
11234 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR = 0,
11235 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR = 1,
11236 VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR = 2,
11237 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR,
11238 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR,
11239 VK_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
11240} VkAccelerationStructureTypeKHR;
11241typedef VkAccelerationStructureTypeKHR VkAccelerationStructureTypeNV;
11242
11243
11244typedef enum VkCopyAccelerationStructureModeKHR {
11245 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR = 0,
11246 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR = 1,
11247 VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR = 2,
11248 VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR = 3,
11249 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR,
11250 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR,
11251 VK_COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
11252} VkCopyAccelerationStructureModeKHR;
11253typedef VkCopyAccelerationStructureModeKHR VkCopyAccelerationStructureModeNV;
11254
11255
11256typedef enum VkAccelerationStructureMemoryRequirementsTypeNV {
11257 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV = 0,
11258 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV = 1,
11259 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV = 2,
11260 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
11261} VkAccelerationStructureMemoryRequirementsTypeNV;
11262
11263typedef enum VkGeometryFlagBitsKHR {
11264 VK_GEOMETRY_OPAQUE_BIT_KHR = 0x00000001,
11265 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR = 0x00000002,
11266 VK_GEOMETRY_OPAQUE_BIT_NV = VK_GEOMETRY_OPAQUE_BIT_KHR,
11267 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV = VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR,
11268 VK_GEOMETRY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
11269} VkGeometryFlagBitsKHR;
11270typedef VkFlags VkGeometryFlagsKHR;
11271typedef VkGeometryFlagsKHR VkGeometryFlagsNV;
11272
11273typedef VkGeometryFlagBitsKHR VkGeometryFlagBitsNV;
11274
11275
11276typedef enum VkGeometryInstanceFlagBitsKHR {
11277 VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = 0x00000001,
11278 VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR = 0x00000002,
11279 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 0x00000004,
11280 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 0x00000008,
11281 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR,
11282 VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR,
11283 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR,
11284 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR,
11285 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR,
11286 VK_GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
11287} VkGeometryInstanceFlagBitsKHR;
11288typedef VkFlags VkGeometryInstanceFlagsKHR;
11289typedef VkGeometryInstanceFlagsKHR VkGeometryInstanceFlagsNV;
11290
11291typedef VkGeometryInstanceFlagBitsKHR VkGeometryInstanceFlagBitsNV;
11292
11293
11294typedef enum VkBuildAccelerationStructureFlagBitsKHR {
11295 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR = 0x00000001,
11296 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR = 0x00000002,
11297 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR = 0x00000004,
11298 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR = 0x00000008,
11299 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR = 0x00000010,
11300 VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV = 0x00000020,
11301 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR,
11302 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR,
11303 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR,
11304 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR,
11305 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR,
11306 VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
11307} VkBuildAccelerationStructureFlagBitsKHR;
11308typedef VkFlags VkBuildAccelerationStructureFlagsKHR;
11309typedef VkBuildAccelerationStructureFlagsKHR VkBuildAccelerationStructureFlagsNV;
11310
11311typedef VkBuildAccelerationStructureFlagBitsKHR VkBuildAccelerationStructureFlagBitsNV;
11312
11313typedef struct VkRayTracingShaderGroupCreateInfoNV {
11314 VkStructureType sType;
11315 const void* pNext;
11316 VkRayTracingShaderGroupTypeKHR type;
11317 uint32_t generalShader;
11318 uint32_t closestHitShader;
11319 uint32_t anyHitShader;
11320 uint32_t intersectionShader;
11321} VkRayTracingShaderGroupCreateInfoNV;
11322
11323typedef struct VkRayTracingPipelineCreateInfoNV {
11324 VkStructureType sType;
11325 const void* pNext;
11326 VkPipelineCreateFlags flags;
11327 uint32_t stageCount;
11328 const VkPipelineShaderStageCreateInfo* pStages;
11329 uint32_t groupCount;
11330 const VkRayTracingShaderGroupCreateInfoNV* pGroups;
11331 uint32_t maxRecursionDepth;
11332 VkPipelineLayout layout;
11333 VkPipeline basePipelineHandle;
11334 int32_t basePipelineIndex;
11335} VkRayTracingPipelineCreateInfoNV;
11336
11337typedef struct VkGeometryTrianglesNV {
11338 VkStructureType sType;
11339 const void* pNext;
11340 VkBuffer vertexData;
11341 VkDeviceSize vertexOffset;
11342 uint32_t vertexCount;
11343 VkDeviceSize vertexStride;
11344 VkFormat vertexFormat;
11345 VkBuffer indexData;
11346 VkDeviceSize indexOffset;
11347 uint32_t indexCount;
11348 VkIndexType indexType;
11349 VkBuffer transformData;
11350 VkDeviceSize transformOffset;
11351} VkGeometryTrianglesNV;
11352
11353typedef struct VkGeometryAABBNV {
11354 VkStructureType sType;
11355 const void* pNext;
11356 VkBuffer aabbData;
11357 uint32_t numAABBs;
11358 uint32_t stride;
11359 VkDeviceSize offset;
11360} VkGeometryAABBNV;
11361
11362typedef struct VkGeometryDataNV {
11363 VkGeometryTrianglesNV triangles;
11364 VkGeometryAABBNV aabbs;
11365} VkGeometryDataNV;
11366
11367typedef struct VkGeometryNV {
11368 VkStructureType sType;
11369 const void* pNext;
11370 VkGeometryTypeKHR geometryType;
11371 VkGeometryDataNV geometry;
11372 VkGeometryFlagsKHR flags;
11373} VkGeometryNV;
11374
11375typedef struct VkAccelerationStructureInfoNV {
11376 VkStructureType sType;
11377 const void* pNext;
11378 VkAccelerationStructureTypeNV type;
11379 VkBuildAccelerationStructureFlagsNV flags;
11380 uint32_t instanceCount;
11381 uint32_t geometryCount;
11382 const VkGeometryNV* pGeometries;
11383} VkAccelerationStructureInfoNV;
11384
11385typedef struct VkAccelerationStructureCreateInfoNV {
11386 VkStructureType sType;
11387 const void* pNext;
11388 VkDeviceSize compactedSize;
11389 VkAccelerationStructureInfoNV info;
11390} VkAccelerationStructureCreateInfoNV;
11391
11392typedef struct VkBindAccelerationStructureMemoryInfoNV {
11393 VkStructureType sType;
11394 const void* pNext;
11395 VkAccelerationStructureNV accelerationStructure;
11396 VkDeviceMemory memory;
11397 VkDeviceSize memoryOffset;
11398 uint32_t deviceIndexCount;
11399 const uint32_t* pDeviceIndices;
11400} VkBindAccelerationStructureMemoryInfoNV;
11401
11402typedef struct VkWriteDescriptorSetAccelerationStructureNV {
11403 VkStructureType sType;
11404 const void* pNext;
11405 uint32_t accelerationStructureCount;
11406 const VkAccelerationStructureNV* pAccelerationStructures;
11407} VkWriteDescriptorSetAccelerationStructureNV;
11408
11409typedef struct VkAccelerationStructureMemoryRequirementsInfoNV {
11410 VkStructureType sType;
11411 const void* pNext;
11412 VkAccelerationStructureMemoryRequirementsTypeNV type;
11413 VkAccelerationStructureNV accelerationStructure;
11414} VkAccelerationStructureMemoryRequirementsInfoNV;
11415
11416typedef struct VkPhysicalDeviceRayTracingPropertiesNV {
11417 VkStructureType sType;
11418 void* pNext;
11419 uint32_t shaderGroupHandleSize;
11420 uint32_t maxRecursionDepth;
11421 uint32_t maxShaderGroupStride;
11422 uint32_t shaderGroupBaseAlignment;
11423 uint64_t maxGeometryCount;
11424 uint64_t maxInstanceCount;
11425 uint64_t maxTriangleCount;
11426 uint32_t maxDescriptorSetAccelerationStructures;
11427} VkPhysicalDeviceRayTracingPropertiesNV;
11428
11429typedef struct VkTransformMatrixKHR {
11430 float matrix[3][4];
11431} VkTransformMatrixKHR;
11432
11433typedef VkTransformMatrixKHR VkTransformMatrixNV;
11434
11435typedef struct VkAabbPositionsKHR {
11436 float minX;
11437 float minY;
11438 float minZ;
11439 float maxX;
11440 float maxY;
11441 float maxZ;
11442} VkAabbPositionsKHR;
11443
11444typedef VkAabbPositionsKHR VkAabbPositionsNV;
11445
11446typedef struct VkAccelerationStructureInstanceKHR {
11447 VkTransformMatrixKHR transform;
11448 uint32_t instanceCustomIndex:24;
11449 uint32_t mask:8;
11450 uint32_t instanceShaderBindingTableRecordOffset:24;
11451 VkGeometryInstanceFlagsKHR flags:8;
11452 uint64_t accelerationStructureReference;
11453} VkAccelerationStructureInstanceKHR;
11454
11455typedef VkAccelerationStructureInstanceKHR VkAccelerationStructureInstanceNV;
11456
11457typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureNV)(VkDevice device, const VkAccelerationStructureCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureNV* pAccelerationStructure);
11458typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, const VkAllocationCallbacks* pAllocator);
11459typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureMemoryRequirementsNV)(VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements);
11460typedef VkResult (VKAPI_PTR *PFN_vkBindAccelerationStructureMemoryNV)(VkDevice device, uint32_t bindInfoCount, const VkBindAccelerationStructureMemoryInfoNV* pBindInfos);
11461typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructureNV)(VkCommandBuffer commandBuffer, const VkAccelerationStructureInfoNV* pInfo, VkBuffer instanceData, VkDeviceSize instanceOffset, VkBool32 update, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkBuffer scratch, VkDeviceSize scratchOffset);
11462typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureNV)(VkCommandBuffer commandBuffer, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkCopyAccelerationStructureModeKHR mode);
11463typedef 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);
11464typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesNV)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoNV* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
11465typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData);
11466typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesNV)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData);
11467typedef VkResult (VKAPI_PTR *PFN_vkGetAccelerationStructureHandleNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, size_t dataSize, void* pData);
11468typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesNV)(VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureNV* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery);
11469typedef VkResult (VKAPI_PTR *PFN_vkCompileDeferredNV)(VkDevice device, VkPipeline pipeline, uint32_t shader);
11470
11471#ifndef VK_NO_PROTOTYPES
11472VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureNV(
11473 VkDevice device,
11474 const VkAccelerationStructureCreateInfoNV* pCreateInfo,
11475 const VkAllocationCallbacks* pAllocator,
11476 VkAccelerationStructureNV* pAccelerationStructure);
11477
11478VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureNV(
11479 VkDevice device,
11480 VkAccelerationStructureNV accelerationStructure,
11481 const VkAllocationCallbacks* pAllocator);
11482
11483VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureMemoryRequirementsNV(
11484 VkDevice device,
11485 const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo,
11486 VkMemoryRequirements2KHR* pMemoryRequirements);
11487
11488VKAPI_ATTR VkResult VKAPI_CALL vkBindAccelerationStructureMemoryNV(
11489 VkDevice device,
11490 uint32_t bindInfoCount,
11491 const VkBindAccelerationStructureMemoryInfoNV* pBindInfos);
11492
11493VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructureNV(
11494 VkCommandBuffer commandBuffer,
11495 const VkAccelerationStructureInfoNV* pInfo,
11496 VkBuffer instanceData,
11497 VkDeviceSize instanceOffset,
11498 VkBool32 update,
11499 VkAccelerationStructureNV dst,
11500 VkAccelerationStructureNV src,
11501 VkBuffer scratch,
11502 VkDeviceSize scratchOffset);
11503
11504VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureNV(
11505 VkCommandBuffer commandBuffer,
11506 VkAccelerationStructureNV dst,
11507 VkAccelerationStructureNV src,
11508 VkCopyAccelerationStructureModeKHR mode);
11509
11510VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysNV(
11511 VkCommandBuffer commandBuffer,
11512 VkBuffer raygenShaderBindingTableBuffer,
11513 VkDeviceSize raygenShaderBindingOffset,
11514 VkBuffer missShaderBindingTableBuffer,
11515 VkDeviceSize missShaderBindingOffset,
11516 VkDeviceSize missShaderBindingStride,
11517 VkBuffer hitShaderBindingTableBuffer,
11518 VkDeviceSize hitShaderBindingOffset,
11519 VkDeviceSize hitShaderBindingStride,
11520 VkBuffer callableShaderBindingTableBuffer,
11521 VkDeviceSize callableShaderBindingOffset,
11522 VkDeviceSize callableShaderBindingStride,
11523 uint32_t width,
11524 uint32_t height,
11525 uint32_t depth);
11526
11527VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesNV(
11528 VkDevice device,
11529 VkPipelineCache pipelineCache,
11530 uint32_t createInfoCount,
11531 const VkRayTracingPipelineCreateInfoNV* pCreateInfos,
11532 const VkAllocationCallbacks* pAllocator,
11533 VkPipeline* pPipelines);
11534
11535VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesKHR(
11536 VkDevice device,
11537 VkPipeline pipeline,
11538 uint32_t firstGroup,
11539 uint32_t groupCount,
11540 size_t dataSize,
11541 void* pData);
11542
11543VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesNV(
11544 VkDevice device,
11545 VkPipeline pipeline,
11546 uint32_t firstGroup,
11547 uint32_t groupCount,
11548 size_t dataSize,
11549 void* pData);
11550
11551VKAPI_ATTR VkResult VKAPI_CALL vkGetAccelerationStructureHandleNV(
11552 VkDevice device,
11553 VkAccelerationStructureNV accelerationStructure,
11554 size_t dataSize,
11555 void* pData);
11556
11557VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesNV(
11558 VkCommandBuffer commandBuffer,
11559 uint32_t accelerationStructureCount,
11560 const VkAccelerationStructureNV* pAccelerationStructures,
11561 VkQueryType queryType,
11562 VkQueryPool queryPool,
11563 uint32_t firstQuery);
11564
11565VKAPI_ATTR VkResult VKAPI_CALL vkCompileDeferredNV(
11566 VkDevice device,
11567 VkPipeline pipeline,
11568 uint32_t shader);
11569#endif
11570
11571
11572#define VK_NV_representative_fragment_test 1
11573#define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION 2
11574#define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME "VK_NV_representative_fragment_test"
11575typedef struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV {
11576 VkStructureType sType;
11577 void* pNext;
11578 VkBool32 representativeFragmentTest;
11579} VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV;
11580
11581typedef struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV {
11582 VkStructureType sType;
11583 const void* pNext;
11584 VkBool32 representativeFragmentTestEnable;
11585} VkPipelineRepresentativeFragmentTestStateCreateInfoNV;
11586
11587
11588
11589#define VK_EXT_filter_cubic 1
11590#define VK_EXT_FILTER_CUBIC_SPEC_VERSION 3
11591#define VK_EXT_FILTER_CUBIC_EXTENSION_NAME "VK_EXT_filter_cubic"
11592typedef struct VkPhysicalDeviceImageViewImageFormatInfoEXT {
11593 VkStructureType sType;
11594 void* pNext;
11595 VkImageViewType imageViewType;
11596} VkPhysicalDeviceImageViewImageFormatInfoEXT;
11597
11598typedef struct VkFilterCubicImageViewImageFormatPropertiesEXT {
11599 VkStructureType sType;
11600 void* pNext;
11601 VkBool32 filterCubic;
11602 VkBool32 filterCubicMinmax;
11603} VkFilterCubicImageViewImageFormatPropertiesEXT;
11604
11605
11606
11607#define VK_QCOM_render_pass_shader_resolve 1
11608#define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_SPEC_VERSION 4
11609#define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_EXTENSION_NAME "VK_QCOM_render_pass_shader_resolve"
11610
11611
11612#define VK_EXT_global_priority 1
11613#define VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION 2
11614#define VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME "VK_EXT_global_priority"
11615typedef VkQueueGlobalPriorityKHR VkQueueGlobalPriorityEXT;
11616
11617typedef VkDeviceQueueGlobalPriorityCreateInfoKHR VkDeviceQueueGlobalPriorityCreateInfoEXT;
11618
11619
11620
11621#define VK_EXT_external_memory_host 1
11622#define VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION 1
11623#define VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME "VK_EXT_external_memory_host"
11624typedef struct VkImportMemoryHostPointerInfoEXT {
11625 VkStructureType sType;
11626 const void* pNext;
11627 VkExternalMemoryHandleTypeFlagBits handleType;
11628 void* pHostPointer;
11629} VkImportMemoryHostPointerInfoEXT;
11630
11631typedef struct VkMemoryHostPointerPropertiesEXT {
11632 VkStructureType sType;
11633 void* pNext;
11634 uint32_t memoryTypeBits;
11635} VkMemoryHostPointerPropertiesEXT;
11636
11637typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
11638 VkStructureType sType;
11639 void* pNext;
11640 VkDeviceSize minImportedHostPointerAlignment;
11641} VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
11642
11643typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryHostPointerPropertiesEXT)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
11644
11645#ifndef VK_NO_PROTOTYPES
11646VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryHostPointerPropertiesEXT(
11647 VkDevice device,
11648 VkExternalMemoryHandleTypeFlagBits handleType,
11649 const void* pHostPointer,
11650 VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
11651#endif
11652
11653
11654#define VK_AMD_buffer_marker 1
11655#define VK_AMD_BUFFER_MARKER_SPEC_VERSION 1
11656#define VK_AMD_BUFFER_MARKER_EXTENSION_NAME "VK_AMD_buffer_marker"
11657typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarkerAMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker);
11658
11659#ifndef VK_NO_PROTOTYPES
11660VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarkerAMD(
11661 VkCommandBuffer commandBuffer,
11662 VkPipelineStageFlagBits pipelineStage,
11663 VkBuffer dstBuffer,
11664 VkDeviceSize dstOffset,
11665 uint32_t marker);
11666#endif
11667
11668
11669#define VK_AMD_pipeline_compiler_control 1
11670#define VK_AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION 1
11671#define VK_AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME "VK_AMD_pipeline_compiler_control"
11672
11673typedef enum VkPipelineCompilerControlFlagBitsAMD {
11674 VK_PIPELINE_COMPILER_CONTROL_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF
11675} VkPipelineCompilerControlFlagBitsAMD;
11676typedef VkFlags VkPipelineCompilerControlFlagsAMD;
11677typedef struct VkPipelineCompilerControlCreateInfoAMD {
11678 VkStructureType sType;
11679 const void* pNext;
11680 VkPipelineCompilerControlFlagsAMD compilerControlFlags;
11681} VkPipelineCompilerControlCreateInfoAMD;
11682
11683
11684
11685#define VK_EXT_calibrated_timestamps 1
11686#define VK_EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION 2
11687#define VK_EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME "VK_EXT_calibrated_timestamps"
11688
11689typedef enum VkTimeDomainEXT {
11690 VK_TIME_DOMAIN_DEVICE_EXT = 0,
11691 VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT = 1,
11692 VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT = 2,
11693 VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT = 3,
11694 VK_TIME_DOMAIN_MAX_ENUM_EXT = 0x7FFFFFFF
11695} VkTimeDomainEXT;
11696typedef struct VkCalibratedTimestampInfoEXT {
11697 VkStructureType sType;
11698 const void* pNext;
11699 VkTimeDomainEXT timeDomain;
11700} VkCalibratedTimestampInfoEXT;
11701
11702typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT)(VkPhysicalDevice physicalDevice, uint32_t* pTimeDomainCount, VkTimeDomainEXT* pTimeDomains);
11703typedef VkResult (VKAPI_PTR *PFN_vkGetCalibratedTimestampsEXT)(VkDevice device, uint32_t timestampCount, const VkCalibratedTimestampInfoEXT* pTimestampInfos, uint64_t* pTimestamps, uint64_t* pMaxDeviation);
11704
11705#ifndef VK_NO_PROTOTYPES
11706VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(
11707 VkPhysicalDevice physicalDevice,
11708 uint32_t* pTimeDomainCount,
11709 VkTimeDomainEXT* pTimeDomains);
11710
11711VKAPI_ATTR VkResult VKAPI_CALL vkGetCalibratedTimestampsEXT(
11712 VkDevice device,
11713 uint32_t timestampCount,
11714 const VkCalibratedTimestampInfoEXT* pTimestampInfos,
11715 uint64_t* pTimestamps,
11716 uint64_t* pMaxDeviation);
11717#endif
11718
11719
11720#define VK_AMD_shader_core_properties 1
11721#define VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION 2
11722#define VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_AMD_shader_core_properties"
11723typedef struct VkPhysicalDeviceShaderCorePropertiesAMD {
11724 VkStructureType sType;
11725 void* pNext;
11726 uint32_t shaderEngineCount;
11727 uint32_t shaderArraysPerEngineCount;
11728 uint32_t computeUnitsPerShaderArray;
11729 uint32_t simdPerComputeUnit;
11730 uint32_t wavefrontsPerSimd;
11731 uint32_t wavefrontSize;
11732 uint32_t sgprsPerSimd;
11733 uint32_t minSgprAllocation;
11734 uint32_t maxSgprAllocation;
11735 uint32_t sgprAllocationGranularity;
11736 uint32_t vgprsPerSimd;
11737 uint32_t minVgprAllocation;
11738 uint32_t maxVgprAllocation;
11739 uint32_t vgprAllocationGranularity;
11740} VkPhysicalDeviceShaderCorePropertiesAMD;
11741
11742
11743
11744#define VK_AMD_memory_overallocation_behavior 1
11745#define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION 1
11746#define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME "VK_AMD_memory_overallocation_behavior"
11747
11748typedef enum VkMemoryOverallocationBehaviorAMD {
11749 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD = 0,
11750 VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD = 1,
11751 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD = 2,
11752 VK_MEMORY_OVERALLOCATION_BEHAVIOR_MAX_ENUM_AMD = 0x7FFFFFFF
11753} VkMemoryOverallocationBehaviorAMD;
11754typedef struct VkDeviceMemoryOverallocationCreateInfoAMD {
11755 VkStructureType sType;
11756 const void* pNext;
11757 VkMemoryOverallocationBehaviorAMD overallocationBehavior;
11758} VkDeviceMemoryOverallocationCreateInfoAMD;
11759
11760
11761
11762#define VK_EXT_vertex_attribute_divisor 1
11763#define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 3
11764#define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_EXT_vertex_attribute_divisor"
11765typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
11766 VkStructureType sType;
11767 void* pNext;
11768 uint32_t maxVertexAttribDivisor;
11769} VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
11770
11771typedef struct VkVertexInputBindingDivisorDescriptionEXT {
11772 uint32_t binding;
11773 uint32_t divisor;
11774} VkVertexInputBindingDivisorDescriptionEXT;
11775
11776typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT {
11777 VkStructureType sType;
11778 const void* pNext;
11779 uint32_t vertexBindingDivisorCount;
11780 const VkVertexInputBindingDivisorDescriptionEXT* pVertexBindingDivisors;
11781} VkPipelineVertexInputDivisorStateCreateInfoEXT;
11782
11783typedef struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT {
11784 VkStructureType sType;
11785 void* pNext;
11786 VkBool32 vertexAttributeInstanceRateDivisor;
11787 VkBool32 vertexAttributeInstanceRateZeroDivisor;
11788} VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT;
11789
11790
11791
11792#define VK_EXT_pipeline_creation_feedback 1
11793#define VK_EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION 1
11794#define VK_EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME "VK_EXT_pipeline_creation_feedback"
11795typedef VkPipelineCreationFeedbackFlagBits VkPipelineCreationFeedbackFlagBitsEXT;
11796
11797typedef VkPipelineCreationFeedbackFlags VkPipelineCreationFeedbackFlagsEXT;
11798
11799typedef VkPipelineCreationFeedbackCreateInfo VkPipelineCreationFeedbackCreateInfoEXT;
11800
11801typedef VkPipelineCreationFeedback VkPipelineCreationFeedbackEXT;
11802
11803
11804
11805#define VK_NV_shader_subgroup_partitioned 1
11806#define VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION 1
11807#define VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME "VK_NV_shader_subgroup_partitioned"
11808
11809
11810#define VK_NV_compute_shader_derivatives 1
11811#define VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION 1
11812#define VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME "VK_NV_compute_shader_derivatives"
11813typedef struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV {
11814 VkStructureType sType;
11815 void* pNext;
11816 VkBool32 computeDerivativeGroupQuads;
11817 VkBool32 computeDerivativeGroupLinear;
11818} VkPhysicalDeviceComputeShaderDerivativesFeaturesNV;
11819
11820
11821
11822#define VK_NV_mesh_shader 1
11823#define VK_NV_MESH_SHADER_SPEC_VERSION 1
11824#define VK_NV_MESH_SHADER_EXTENSION_NAME "VK_NV_mesh_shader"
11825typedef struct VkPhysicalDeviceMeshShaderFeaturesNV {
11826 VkStructureType sType;
11827 void* pNext;
11828 VkBool32 taskShader;
11829 VkBool32 meshShader;
11830} VkPhysicalDeviceMeshShaderFeaturesNV;
11831
11832typedef struct VkPhysicalDeviceMeshShaderPropertiesNV {
11833 VkStructureType sType;
11834 void* pNext;
11835 uint32_t maxDrawMeshTasksCount;
11836 uint32_t maxTaskWorkGroupInvocations;
11837 uint32_t maxTaskWorkGroupSize[3];
11838 uint32_t maxTaskTotalMemorySize;
11839 uint32_t maxTaskOutputCount;
11840 uint32_t maxMeshWorkGroupInvocations;
11841 uint32_t maxMeshWorkGroupSize[3];
11842 uint32_t maxMeshTotalMemorySize;
11843 uint32_t maxMeshOutputVertices;
11844 uint32_t maxMeshOutputPrimitives;
11845 uint32_t maxMeshMultiviewViewCount;
11846 uint32_t meshOutputPerVertexGranularity;
11847 uint32_t meshOutputPerPrimitiveGranularity;
11848} VkPhysicalDeviceMeshShaderPropertiesNV;
11849
11850typedef struct VkDrawMeshTasksIndirectCommandNV {
11851 uint32_t taskCount;
11852 uint32_t firstTask;
11853} VkDrawMeshTasksIndirectCommandNV;
11854
11855typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksNV)(VkCommandBuffer commandBuffer, uint32_t taskCount, uint32_t firstTask);
11856typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
11857typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectCountNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
11858
11859#ifndef VK_NO_PROTOTYPES
11860VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksNV(
11861 VkCommandBuffer commandBuffer,
11862 uint32_t taskCount,
11863 uint32_t firstTask);
11864
11865VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectNV(
11866 VkCommandBuffer commandBuffer,
11867 VkBuffer buffer,
11868 VkDeviceSize offset,
11869 uint32_t drawCount,
11870 uint32_t stride);
11871
11872VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectCountNV(
11873 VkCommandBuffer commandBuffer,
11874 VkBuffer buffer,
11875 VkDeviceSize offset,
11876 VkBuffer countBuffer,
11877 VkDeviceSize countBufferOffset,
11878 uint32_t maxDrawCount,
11879 uint32_t stride);
11880#endif
11881
11882
11883#define VK_NV_fragment_shader_barycentric 1
11884#define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1
11885#define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_NV_fragment_shader_barycentric"
11886typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV {
11887 VkStructureType sType;
11888 void* pNext;
11889 VkBool32 fragmentShaderBarycentric;
11890} VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV;
11891
11892
11893
11894#define VK_NV_shader_image_footprint 1
11895#define VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION 2
11896#define VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME "VK_NV_shader_image_footprint"
11897typedef struct VkPhysicalDeviceShaderImageFootprintFeaturesNV {
11898 VkStructureType sType;
11899 void* pNext;
11900 VkBool32 imageFootprint;
11901} VkPhysicalDeviceShaderImageFootprintFeaturesNV;
11902
11903
11904
11905#define VK_NV_scissor_exclusive 1
11906#define VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION 1
11907#define VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME "VK_NV_scissor_exclusive"
11908typedef struct VkPipelineViewportExclusiveScissorStateCreateInfoNV {
11909 VkStructureType sType;
11910 const void* pNext;
11911 uint32_t exclusiveScissorCount;
11912 const VkRect2D* pExclusiveScissors;
11913} VkPipelineViewportExclusiveScissorStateCreateInfoNV;
11914
11915typedef struct VkPhysicalDeviceExclusiveScissorFeaturesNV {
11916 VkStructureType sType;
11917 void* pNext;
11918 VkBool32 exclusiveScissor;
11919} VkPhysicalDeviceExclusiveScissorFeaturesNV;
11920
11921typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorNV)(VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const VkRect2D* pExclusiveScissors);
11922
11923#ifndef VK_NO_PROTOTYPES
11924VKAPI_ATTR void VKAPI_CALL vkCmdSetExclusiveScissorNV(
11925 VkCommandBuffer commandBuffer,
11926 uint32_t firstExclusiveScissor,
11927 uint32_t exclusiveScissorCount,
11928 const VkRect2D* pExclusiveScissors);
11929#endif
11930
11931
11932#define VK_NV_device_diagnostic_checkpoints 1
11933#define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION 2
11934#define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME "VK_NV_device_diagnostic_checkpoints"
11935typedef struct VkQueueFamilyCheckpointPropertiesNV {
11936 VkStructureType sType;
11937 void* pNext;
11938 VkPipelineStageFlags checkpointExecutionStageMask;
11939} VkQueueFamilyCheckpointPropertiesNV;
11940
11941typedef struct VkCheckpointDataNV {
11942 VkStructureType sType;
11943 void* pNext;
11944 VkPipelineStageFlagBits stage;
11945 void* pCheckpointMarker;
11946} VkCheckpointDataNV;
11947
11948typedef void (VKAPI_PTR *PFN_vkCmdSetCheckpointNV)(VkCommandBuffer commandBuffer, const void* pCheckpointMarker);
11949typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointDataNV)(VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData);
11950
11951#ifndef VK_NO_PROTOTYPES
11952VKAPI_ATTR void VKAPI_CALL vkCmdSetCheckpointNV(
11953 VkCommandBuffer commandBuffer,
11954 const void* pCheckpointMarker);
11955
11956VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointDataNV(
11957 VkQueue queue,
11958 uint32_t* pCheckpointDataCount,
11959 VkCheckpointDataNV* pCheckpointData);
11960#endif
11961
11962
11963#define VK_INTEL_shader_integer_functions2 1
11964#define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION 1
11965#define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME "VK_INTEL_shader_integer_functions2"
11966typedef struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
11967 VkStructureType sType;
11968 void* pNext;
11969 VkBool32 shaderIntegerFunctions2;
11970} VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL;
11971
11972
11973
11974#define VK_INTEL_performance_query 1
11975VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPerformanceConfigurationINTEL)
11976#define VK_INTEL_PERFORMANCE_QUERY_SPEC_VERSION 2
11977#define VK_INTEL_PERFORMANCE_QUERY_EXTENSION_NAME "VK_INTEL_performance_query"
11978
11979typedef enum VkPerformanceConfigurationTypeINTEL {
11980 VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL = 0,
11981 VK_PERFORMANCE_CONFIGURATION_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
11982} VkPerformanceConfigurationTypeINTEL;
11983
11984typedef enum VkQueryPoolSamplingModeINTEL {
11985 VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL = 0,
11986 VK_QUERY_POOL_SAMPLING_MODE_MAX_ENUM_INTEL = 0x7FFFFFFF
11987} VkQueryPoolSamplingModeINTEL;
11988
11989typedef enum VkPerformanceOverrideTypeINTEL {
11990 VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL = 0,
11991 VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL = 1,
11992 VK_PERFORMANCE_OVERRIDE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
11993} VkPerformanceOverrideTypeINTEL;
11994
11995typedef enum VkPerformanceParameterTypeINTEL {
11996 VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL = 0,
11997 VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL = 1,
11998 VK_PERFORMANCE_PARAMETER_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
11999} VkPerformanceParameterTypeINTEL;
12000
12001typedef enum VkPerformanceValueTypeINTEL {
12002 VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL = 0,
12003 VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL = 1,
12004 VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL = 2,
12005 VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL = 3,
12006 VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL = 4,
12007 VK_PERFORMANCE_VALUE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
12008} VkPerformanceValueTypeINTEL;
12009typedef union VkPerformanceValueDataINTEL {
12010 uint32_t value32;
12011 uint64_t value64;
12012 float valueFloat;
12013 VkBool32 valueBool;
12014 const char* valueString;
12015} VkPerformanceValueDataINTEL;
12016
12017typedef struct VkPerformanceValueINTEL {
12018 VkPerformanceValueTypeINTEL type;
12019 VkPerformanceValueDataINTEL data;
12020} VkPerformanceValueINTEL;
12021
12022typedef struct VkInitializePerformanceApiInfoINTEL {
12023 VkStructureType sType;
12024 const void* pNext;
12025 void* pUserData;
12026} VkInitializePerformanceApiInfoINTEL;
12027
12028typedef struct VkQueryPoolPerformanceQueryCreateInfoINTEL {
12029 VkStructureType sType;
12030 const void* pNext;
12031 VkQueryPoolSamplingModeINTEL performanceCountersSampling;
12032} VkQueryPoolPerformanceQueryCreateInfoINTEL;
12033
12034typedef VkQueryPoolPerformanceQueryCreateInfoINTEL VkQueryPoolCreateInfoINTEL;
12035
12036typedef struct VkPerformanceMarkerInfoINTEL {
12037 VkStructureType sType;
12038 const void* pNext;
12039 uint64_t marker;
12040} VkPerformanceMarkerInfoINTEL;
12041
12042typedef struct VkPerformanceStreamMarkerInfoINTEL {
12043 VkStructureType sType;
12044 const void* pNext;
12045 uint32_t marker;
12046} VkPerformanceStreamMarkerInfoINTEL;
12047
12048typedef struct VkPerformanceOverrideInfoINTEL {
12049 VkStructureType sType;
12050 const void* pNext;
12051 VkPerformanceOverrideTypeINTEL type;
12052 VkBool32 enable;
12053 uint64_t parameter;
12054} VkPerformanceOverrideInfoINTEL;
12055
12056typedef struct VkPerformanceConfigurationAcquireInfoINTEL {
12057 VkStructureType sType;
12058 const void* pNext;
12059 VkPerformanceConfigurationTypeINTEL type;
12060} VkPerformanceConfigurationAcquireInfoINTEL;
12061
12062typedef VkResult (VKAPI_PTR *PFN_vkInitializePerformanceApiINTEL)(VkDevice device, const VkInitializePerformanceApiInfoINTEL* pInitializeInfo);
12063typedef void (VKAPI_PTR *PFN_vkUninitializePerformanceApiINTEL)(VkDevice device);
12064typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL* pMarkerInfo);
12065typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceStreamMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo);
12066typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceOverrideINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL* pOverrideInfo);
12067typedef VkResult (VKAPI_PTR *PFN_vkAcquirePerformanceConfigurationINTEL)(VkDevice device, const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, VkPerformanceConfigurationINTEL* pConfiguration);
12068typedef VkResult (VKAPI_PTR *PFN_vkReleasePerformanceConfigurationINTEL)(VkDevice device, VkPerformanceConfigurationINTEL configuration);
12069typedef VkResult (VKAPI_PTR *PFN_vkQueueSetPerformanceConfigurationINTEL)(VkQueue queue, VkPerformanceConfigurationINTEL configuration);
12070typedef VkResult (VKAPI_PTR *PFN_vkGetPerformanceParameterINTEL)(VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL* pValue);
12071
12072#ifndef VK_NO_PROTOTYPES
12073VKAPI_ATTR VkResult VKAPI_CALL vkInitializePerformanceApiINTEL(
12074 VkDevice device,
12075 const VkInitializePerformanceApiInfoINTEL* pInitializeInfo);
12076
12077VKAPI_ATTR void VKAPI_CALL vkUninitializePerformanceApiINTEL(
12078 VkDevice device);
12079
12080VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceMarkerINTEL(
12081 VkCommandBuffer commandBuffer,
12082 const VkPerformanceMarkerInfoINTEL* pMarkerInfo);
12083
12084VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceStreamMarkerINTEL(
12085 VkCommandBuffer commandBuffer,
12086 const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo);
12087
12088VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceOverrideINTEL(
12089 VkCommandBuffer commandBuffer,
12090 const VkPerformanceOverrideInfoINTEL* pOverrideInfo);
12091
12092VKAPI_ATTR VkResult VKAPI_CALL vkAcquirePerformanceConfigurationINTEL(
12093 VkDevice device,
12094 const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo,
12095 VkPerformanceConfigurationINTEL* pConfiguration);
12096
12097VKAPI_ATTR VkResult VKAPI_CALL vkReleasePerformanceConfigurationINTEL(
12098 VkDevice device,
12099 VkPerformanceConfigurationINTEL configuration);
12100
12101VKAPI_ATTR VkResult VKAPI_CALL vkQueueSetPerformanceConfigurationINTEL(
12102 VkQueue queue,
12103 VkPerformanceConfigurationINTEL configuration);
12104
12105VKAPI_ATTR VkResult VKAPI_CALL vkGetPerformanceParameterINTEL(
12106 VkDevice device,
12107 VkPerformanceParameterTypeINTEL parameter,
12108 VkPerformanceValueINTEL* pValue);
12109#endif
12110
12111
12112#define VK_EXT_pci_bus_info 1
12113#define VK_EXT_PCI_BUS_INFO_SPEC_VERSION 2
12114#define VK_EXT_PCI_BUS_INFO_EXTENSION_NAME "VK_EXT_pci_bus_info"
12115typedef struct VkPhysicalDevicePCIBusInfoPropertiesEXT {
12116 VkStructureType sType;
12117 void* pNext;
12118 uint32_t pciDomain;
12119 uint32_t pciBus;
12120 uint32_t pciDevice;
12121 uint32_t pciFunction;
12122} VkPhysicalDevicePCIBusInfoPropertiesEXT;
12123
12124
12125
12126#define VK_AMD_display_native_hdr 1
12127#define VK_AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION 1
12128#define VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME "VK_AMD_display_native_hdr"
12129typedef struct VkDisplayNativeHdrSurfaceCapabilitiesAMD {
12130 VkStructureType sType;
12131 void* pNext;
12132 VkBool32 localDimmingSupport;
12133} VkDisplayNativeHdrSurfaceCapabilitiesAMD;
12134
12135typedef struct VkSwapchainDisplayNativeHdrCreateInfoAMD {
12136 VkStructureType sType;
12137 const void* pNext;
12138 VkBool32 localDimmingEnable;
12139} VkSwapchainDisplayNativeHdrCreateInfoAMD;
12140
12141typedef void (VKAPI_PTR *PFN_vkSetLocalDimmingAMD)(VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable);
12142
12143#ifndef VK_NO_PROTOTYPES
12144VKAPI_ATTR void VKAPI_CALL vkSetLocalDimmingAMD(
12145 VkDevice device,
12146 VkSwapchainKHR swapChain,
12147 VkBool32 localDimmingEnable);
12148#endif
12149
12150
12151#define VK_EXT_fragment_density_map 1
12152#define VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION 2
12153#define VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME "VK_EXT_fragment_density_map"
12154typedef struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT {
12155 VkStructureType sType;
12156 void* pNext;
12157 VkBool32 fragmentDensityMap;
12158 VkBool32 fragmentDensityMapDynamic;
12159 VkBool32 fragmentDensityMapNonSubsampledImages;
12160} VkPhysicalDeviceFragmentDensityMapFeaturesEXT;
12161
12162typedef struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT {
12163 VkStructureType sType;
12164 void* pNext;
12165 VkExtent2D minFragmentDensityTexelSize;
12166 VkExtent2D maxFragmentDensityTexelSize;
12167 VkBool32 fragmentDensityInvocations;
12168} VkPhysicalDeviceFragmentDensityMapPropertiesEXT;
12169
12170typedef struct VkRenderPassFragmentDensityMapCreateInfoEXT {
12171 VkStructureType sType;
12172 const void* pNext;
12173 VkAttachmentReference fragmentDensityMapAttachment;
12174} VkRenderPassFragmentDensityMapCreateInfoEXT;
12175
12176
12177
12178#define VK_EXT_scalar_block_layout 1
12179#define VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION 1
12180#define VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME "VK_EXT_scalar_block_layout"
12181typedef VkPhysicalDeviceScalarBlockLayoutFeatures VkPhysicalDeviceScalarBlockLayoutFeaturesEXT;
12182
12183
12184
12185#define VK_GOOGLE_hlsl_functionality1 1
12186#define VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION 1
12187#define VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME "VK_GOOGLE_hlsl_functionality1"
12188#define VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION
12189#define VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME
12190
12191
12192#define VK_GOOGLE_decorate_string 1
12193#define VK_GOOGLE_DECORATE_STRING_SPEC_VERSION 1
12194#define VK_GOOGLE_DECORATE_STRING_EXTENSION_NAME "VK_GOOGLE_decorate_string"
12195
12196
12197#define VK_EXT_subgroup_size_control 1
12198#define VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION 2
12199#define VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME "VK_EXT_subgroup_size_control"
12200typedef VkPhysicalDeviceSubgroupSizeControlFeatures VkPhysicalDeviceSubgroupSizeControlFeaturesEXT;
12201
12202typedef VkPhysicalDeviceSubgroupSizeControlProperties VkPhysicalDeviceSubgroupSizeControlPropertiesEXT;
12203
12204typedef VkPipelineShaderStageRequiredSubgroupSizeCreateInfo VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT;
12205
12206
12207
12208#define VK_AMD_shader_core_properties2 1
12209#define VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION 1
12210#define VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME "VK_AMD_shader_core_properties2"
12211
12212typedef enum VkShaderCorePropertiesFlagBitsAMD {
12213 VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF
12214} VkShaderCorePropertiesFlagBitsAMD;
12215typedef VkFlags VkShaderCorePropertiesFlagsAMD;
12216typedef struct VkPhysicalDeviceShaderCoreProperties2AMD {
12217 VkStructureType sType;
12218 void* pNext;
12219 VkShaderCorePropertiesFlagsAMD shaderCoreFeatures;
12220 uint32_t activeComputeUnitCount;
12221} VkPhysicalDeviceShaderCoreProperties2AMD;
12222
12223
12224
12225#define VK_AMD_device_coherent_memory 1
12226#define VK_AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION 1
12227#define VK_AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME "VK_AMD_device_coherent_memory"
12228typedef struct VkPhysicalDeviceCoherentMemoryFeaturesAMD {
12229 VkStructureType sType;
12230 void* pNext;
12231 VkBool32 deviceCoherentMemory;
12232} VkPhysicalDeviceCoherentMemoryFeaturesAMD;
12233
12234
12235
12236#define VK_EXT_shader_image_atomic_int64 1
12237#define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION 1
12238#define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME "VK_EXT_shader_image_atomic_int64"
12239typedef struct VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT {
12240 VkStructureType sType;
12241 void* pNext;
12242 VkBool32 shaderImageInt64Atomics;
12243 VkBool32 sparseImageInt64Atomics;
12244} VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT;
12245
12246
12247
12248#define VK_EXT_memory_budget 1
12249#define VK_EXT_MEMORY_BUDGET_SPEC_VERSION 1
12250#define VK_EXT_MEMORY_BUDGET_EXTENSION_NAME "VK_EXT_memory_budget"
12251typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT {
12252 VkStructureType sType;
12253 void* pNext;
12254 VkDeviceSize heapBudget[VK_MAX_MEMORY_HEAPS];
12255 VkDeviceSize heapUsage[VK_MAX_MEMORY_HEAPS];
12256} VkPhysicalDeviceMemoryBudgetPropertiesEXT;
12257
12258
12259
12260#define VK_EXT_memory_priority 1
12261#define VK_EXT_MEMORY_PRIORITY_SPEC_VERSION 1
12262#define VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME "VK_EXT_memory_priority"
12263typedef struct VkPhysicalDeviceMemoryPriorityFeaturesEXT {
12264 VkStructureType sType;
12265 void* pNext;
12266 VkBool32 memoryPriority;
12267} VkPhysicalDeviceMemoryPriorityFeaturesEXT;
12268
12269typedef struct VkMemoryPriorityAllocateInfoEXT {
12270 VkStructureType sType;
12271 const void* pNext;
12272 float priority;
12273} VkMemoryPriorityAllocateInfoEXT;
12274
12275
12276
12277#define VK_NV_dedicated_allocation_image_aliasing 1
12278#define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION 1
12279#define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME "VK_NV_dedicated_allocation_image_aliasing"
12280typedef struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
12281 VkStructureType sType;
12282 void* pNext;
12283 VkBool32 dedicatedAllocationImageAliasing;
12284} VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV;
12285
12286
12287
12288#define VK_EXT_buffer_device_address 1
12289#define VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 2
12290#define VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_EXT_buffer_device_address"
12291typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT {
12292 VkStructureType sType;
12293 void* pNext;
12294 VkBool32 bufferDeviceAddress;
12295 VkBool32 bufferDeviceAddressCaptureReplay;
12296 VkBool32 bufferDeviceAddressMultiDevice;
12297} VkPhysicalDeviceBufferDeviceAddressFeaturesEXT;
12298
12299typedef VkPhysicalDeviceBufferDeviceAddressFeaturesEXT VkPhysicalDeviceBufferAddressFeaturesEXT;
12300
12301typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoEXT;
12302
12303typedef struct VkBufferDeviceAddressCreateInfoEXT {
12304 VkStructureType sType;
12305 const void* pNext;
12306 VkDeviceAddress deviceAddress;
12307} VkBufferDeviceAddressCreateInfoEXT;
12308
12309typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressEXT)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
12310
12311#ifndef VK_NO_PROTOTYPES
12312VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressEXT(
12313 VkDevice device,
12314 const VkBufferDeviceAddressInfo* pInfo);
12315#endif
12316
12317
12318#define VK_EXT_tooling_info 1
12319#define VK_EXT_TOOLING_INFO_SPEC_VERSION 1
12320#define VK_EXT_TOOLING_INFO_EXTENSION_NAME "VK_EXT_tooling_info"
12321typedef VkToolPurposeFlagBits VkToolPurposeFlagBitsEXT;
12322
12323typedef VkToolPurposeFlags VkToolPurposeFlagsEXT;
12324
12325typedef VkPhysicalDeviceToolProperties VkPhysicalDeviceToolPropertiesEXT;
12326
12327typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceToolPropertiesEXT)(VkPhysicalDevice physicalDevice, uint32_t* pToolCount, VkPhysicalDeviceToolProperties* pToolProperties);
12328
12329#ifndef VK_NO_PROTOTYPES
12330VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceToolPropertiesEXT(
12331 VkPhysicalDevice physicalDevice,
12332 uint32_t* pToolCount,
12333 VkPhysicalDeviceToolProperties* pToolProperties);
12334#endif
12335
12336
12337#define VK_EXT_separate_stencil_usage 1
12338#define VK_EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION 1
12339#define VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME "VK_EXT_separate_stencil_usage"
12340typedef VkImageStencilUsageCreateInfo VkImageStencilUsageCreateInfoEXT;
12341
12342
12343
12344#define VK_EXT_validation_features 1
12345#define VK_EXT_VALIDATION_FEATURES_SPEC_VERSION 5
12346#define VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME "VK_EXT_validation_features"
12347
12348typedef enum VkValidationFeatureEnableEXT {
12349 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT = 0,
12350 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT = 1,
12351 VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT = 2,
12352 VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT = 3,
12353 VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT = 4,
12354 VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT = 0x7FFFFFFF
12355} VkValidationFeatureEnableEXT;
12356
12357typedef enum VkValidationFeatureDisableEXT {
12358 VK_VALIDATION_FEATURE_DISABLE_ALL_EXT = 0,
12359 VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT = 1,
12360 VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT = 2,
12361 VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT = 3,
12362 VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT = 4,
12363 VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT = 5,
12364 VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT = 6,
12365 VK_VALIDATION_FEATURE_DISABLE_SHADER_VALIDATION_CACHE_EXT = 7,
12366 VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT = 0x7FFFFFFF
12367} VkValidationFeatureDisableEXT;
12368typedef struct VkValidationFeaturesEXT {
12369 VkStructureType sType;
12370 const void* pNext;
12371 uint32_t enabledValidationFeatureCount;
12372 const VkValidationFeatureEnableEXT* pEnabledValidationFeatures;
12373 uint32_t disabledValidationFeatureCount;
12374 const VkValidationFeatureDisableEXT* pDisabledValidationFeatures;
12375} VkValidationFeaturesEXT;
12376
12377
12378
12379#define VK_NV_cooperative_matrix 1
12380#define VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION 1
12381#define VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_NV_cooperative_matrix"
12382
12383typedef enum VkComponentTypeNV {
12384 VK_COMPONENT_TYPE_FLOAT16_NV = 0,
12385 VK_COMPONENT_TYPE_FLOAT32_NV = 1,
12386 VK_COMPONENT_TYPE_FLOAT64_NV = 2,
12387 VK_COMPONENT_TYPE_SINT8_NV = 3,
12388 VK_COMPONENT_TYPE_SINT16_NV = 4,
12389 VK_COMPONENT_TYPE_SINT32_NV = 5,
12390 VK_COMPONENT_TYPE_SINT64_NV = 6,
12391 VK_COMPONENT_TYPE_UINT8_NV = 7,
12392 VK_COMPONENT_TYPE_UINT16_NV = 8,
12393 VK_COMPONENT_TYPE_UINT32_NV = 9,
12394 VK_COMPONENT_TYPE_UINT64_NV = 10,
12395 VK_COMPONENT_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
12396} VkComponentTypeNV;
12397
12398typedef enum VkScopeNV {
12399 VK_SCOPE_DEVICE_NV = 1,
12400 VK_SCOPE_WORKGROUP_NV = 2,
12401 VK_SCOPE_SUBGROUP_NV = 3,
12402 VK_SCOPE_QUEUE_FAMILY_NV = 5,
12403 VK_SCOPE_MAX_ENUM_NV = 0x7FFFFFFF
12404} VkScopeNV;
12405typedef struct VkCooperativeMatrixPropertiesNV {
12406 VkStructureType sType;
12407 void* pNext;
12408 uint32_t MSize;
12409 uint32_t NSize;
12410 uint32_t KSize;
12411 VkComponentTypeNV AType;
12412 VkComponentTypeNV BType;
12413 VkComponentTypeNV CType;
12414 VkComponentTypeNV DType;
12415 VkScopeNV scope;
12416} VkCooperativeMatrixPropertiesNV;
12417
12418typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesNV {
12419 VkStructureType sType;
12420 void* pNext;
12421 VkBool32 cooperativeMatrix;
12422 VkBool32 cooperativeMatrixRobustBufferAccess;
12423} VkPhysicalDeviceCooperativeMatrixFeaturesNV;
12424
12425typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesNV {
12426 VkStructureType sType;
12427 void* pNext;
12428 VkShaderStageFlags cooperativeMatrixSupportedStages;
12429} VkPhysicalDeviceCooperativeMatrixPropertiesNV;
12430
12431typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkCooperativeMatrixPropertiesNV* pProperties);
12432
12433#ifndef VK_NO_PROTOTYPES
12434VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(
12435 VkPhysicalDevice physicalDevice,
12436 uint32_t* pPropertyCount,
12437 VkCooperativeMatrixPropertiesNV* pProperties);
12438#endif
12439
12440
12441#define VK_NV_coverage_reduction_mode 1
12442#define VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION 1
12443#define VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME "VK_NV_coverage_reduction_mode"
12444
12445typedef enum VkCoverageReductionModeNV {
12446 VK_COVERAGE_REDUCTION_MODE_MERGE_NV = 0,
12447 VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV = 1,
12448 VK_COVERAGE_REDUCTION_MODE_MAX_ENUM_NV = 0x7FFFFFFF
12449} VkCoverageReductionModeNV;
12450typedef VkFlags VkPipelineCoverageReductionStateCreateFlagsNV;
12451typedef struct VkPhysicalDeviceCoverageReductionModeFeaturesNV {
12452 VkStructureType sType;
12453 void* pNext;
12454 VkBool32 coverageReductionMode;
12455} VkPhysicalDeviceCoverageReductionModeFeaturesNV;
12456
12457typedef struct VkPipelineCoverageReductionStateCreateInfoNV {
12458 VkStructureType sType;
12459 const void* pNext;
12460 VkPipelineCoverageReductionStateCreateFlagsNV flags;
12461 VkCoverageReductionModeNV coverageReductionMode;
12462} VkPipelineCoverageReductionStateCreateInfoNV;
12463
12464typedef struct VkFramebufferMixedSamplesCombinationNV {
12465 VkStructureType sType;
12466 void* pNext;
12467 VkCoverageReductionModeNV coverageReductionMode;
12468 VkSampleCountFlagBits rasterizationSamples;
12469 VkSampleCountFlags depthStencilSamples;
12470 VkSampleCountFlags colorSamples;
12471} VkFramebufferMixedSamplesCombinationNV;
12472
12473typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV)(VkPhysicalDevice physicalDevice, uint32_t* pCombinationCount, VkFramebufferMixedSamplesCombinationNV* pCombinations);
12474
12475#ifndef VK_NO_PROTOTYPES
12476VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
12477 VkPhysicalDevice physicalDevice,
12478 uint32_t* pCombinationCount,
12479 VkFramebufferMixedSamplesCombinationNV* pCombinations);
12480#endif
12481
12482
12483#define VK_EXT_fragment_shader_interlock 1
12484#define VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION 1
12485#define VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME "VK_EXT_fragment_shader_interlock"
12486typedef struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT {
12487 VkStructureType sType;
12488 void* pNext;
12489 VkBool32 fragmentShaderSampleInterlock;
12490 VkBool32 fragmentShaderPixelInterlock;
12491 VkBool32 fragmentShaderShadingRateInterlock;
12492} VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT;
12493
12494
12495
12496#define VK_EXT_ycbcr_image_arrays 1
12497#define VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION 1
12498#define VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME "VK_EXT_ycbcr_image_arrays"
12499typedef struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT {
12500 VkStructureType sType;
12501 void* pNext;
12502 VkBool32 ycbcrImageArrays;
12503} VkPhysicalDeviceYcbcrImageArraysFeaturesEXT;
12504
12505
12506
12507#define VK_EXT_provoking_vertex 1
12508#define VK_EXT_PROVOKING_VERTEX_SPEC_VERSION 1
12509#define VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME "VK_EXT_provoking_vertex"
12510
12511typedef enum VkProvokingVertexModeEXT {
12512 VK_PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT = 0,
12513 VK_PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT = 1,
12514 VK_PROVOKING_VERTEX_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
12515} VkProvokingVertexModeEXT;
12516typedef struct VkPhysicalDeviceProvokingVertexFeaturesEXT {
12517 VkStructureType sType;
12518 void* pNext;
12519 VkBool32 provokingVertexLast;
12520 VkBool32 transformFeedbackPreservesProvokingVertex;
12521} VkPhysicalDeviceProvokingVertexFeaturesEXT;
12522
12523typedef struct VkPhysicalDeviceProvokingVertexPropertiesEXT {
12524 VkStructureType sType;
12525 void* pNext;
12526 VkBool32 provokingVertexModePerPipeline;
12527 VkBool32 transformFeedbackPreservesTriangleFanProvokingVertex;
12528} VkPhysicalDeviceProvokingVertexPropertiesEXT;
12529
12530typedef struct VkPipelineRasterizationProvokingVertexStateCreateInfoEXT {
12531 VkStructureType sType;
12532 const void* pNext;
12533 VkProvokingVertexModeEXT provokingVertexMode;
12534} VkPipelineRasterizationProvokingVertexStateCreateInfoEXT;
12535
12536
12537
12538#define VK_EXT_headless_surface 1
12539#define VK_EXT_HEADLESS_SURFACE_SPEC_VERSION 1
12540#define VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME "VK_EXT_headless_surface"
12541typedef VkFlags VkHeadlessSurfaceCreateFlagsEXT;
12542typedef struct VkHeadlessSurfaceCreateInfoEXT {
12543 VkStructureType sType;
12544 const void* pNext;
12545 VkHeadlessSurfaceCreateFlagsEXT flags;
12546} VkHeadlessSurfaceCreateInfoEXT;
12547
12548typedef VkResult (VKAPI_PTR *PFN_vkCreateHeadlessSurfaceEXT)(VkInstance instance, const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
12549
12550#ifndef VK_NO_PROTOTYPES
12551VKAPI_ATTR VkResult VKAPI_CALL vkCreateHeadlessSurfaceEXT(
12552 VkInstance instance,
12553 const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo,
12554 const VkAllocationCallbacks* pAllocator,
12555 VkSurfaceKHR* pSurface);
12556#endif
12557
12558
12559#define VK_EXT_line_rasterization 1
12560#define VK_EXT_LINE_RASTERIZATION_SPEC_VERSION 1
12561#define VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME "VK_EXT_line_rasterization"
12562
12563typedef enum VkLineRasterizationModeEXT {
12564 VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT = 0,
12565 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT = 1,
12566 VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT = 2,
12567 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT = 3,
12568 VK_LINE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
12569} VkLineRasterizationModeEXT;
12570typedef struct VkPhysicalDeviceLineRasterizationFeaturesEXT {
12571 VkStructureType sType;
12572 void* pNext;
12573 VkBool32 rectangularLines;
12574 VkBool32 bresenhamLines;
12575 VkBool32 smoothLines;
12576 VkBool32 stippledRectangularLines;
12577 VkBool32 stippledBresenhamLines;
12578 VkBool32 stippledSmoothLines;
12579} VkPhysicalDeviceLineRasterizationFeaturesEXT;
12580
12581typedef struct VkPhysicalDeviceLineRasterizationPropertiesEXT {
12582 VkStructureType sType;
12583 void* pNext;
12584 uint32_t lineSubPixelPrecisionBits;
12585} VkPhysicalDeviceLineRasterizationPropertiesEXT;
12586
12587typedef struct VkPipelineRasterizationLineStateCreateInfoEXT {
12588 VkStructureType sType;
12589 const void* pNext;
12590 VkLineRasterizationModeEXT lineRasterizationMode;
12591 VkBool32 stippledLineEnable;
12592 uint32_t lineStippleFactor;
12593 uint16_t lineStipplePattern;
12594} VkPipelineRasterizationLineStateCreateInfoEXT;
12595
12596typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleEXT)(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern);
12597
12598#ifndef VK_NO_PROTOTYPES
12599VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleEXT(
12600 VkCommandBuffer commandBuffer,
12601 uint32_t lineStippleFactor,
12602 uint16_t lineStipplePattern);
12603#endif
12604
12605
12606#define VK_EXT_shader_atomic_float 1
12607#define VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION 1
12608#define VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME "VK_EXT_shader_atomic_float"
12609typedef struct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT {
12610 VkStructureType sType;
12611 void* pNext;
12612 VkBool32 shaderBufferFloat32Atomics;
12613 VkBool32 shaderBufferFloat32AtomicAdd;
12614 VkBool32 shaderBufferFloat64Atomics;
12615 VkBool32 shaderBufferFloat64AtomicAdd;
12616 VkBool32 shaderSharedFloat32Atomics;
12617 VkBool32 shaderSharedFloat32AtomicAdd;
12618 VkBool32 shaderSharedFloat64Atomics;
12619 VkBool32 shaderSharedFloat64AtomicAdd;
12620 VkBool32 shaderImageFloat32Atomics;
12621 VkBool32 shaderImageFloat32AtomicAdd;
12622 VkBool32 sparseImageFloat32Atomics;
12623 VkBool32 sparseImageFloat32AtomicAdd;
12624} VkPhysicalDeviceShaderAtomicFloatFeaturesEXT;
12625
12626
12627
12628#define VK_EXT_host_query_reset 1
12629#define VK_EXT_HOST_QUERY_RESET_SPEC_VERSION 1
12630#define VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME "VK_EXT_host_query_reset"
12631typedef VkPhysicalDeviceHostQueryResetFeatures VkPhysicalDeviceHostQueryResetFeaturesEXT;
12632
12633typedef void (VKAPI_PTR *PFN_vkResetQueryPoolEXT)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount);
12634
12635#ifndef VK_NO_PROTOTYPES
12636VKAPI_ATTR void VKAPI_CALL vkResetQueryPoolEXT(
12637 VkDevice device,
12638 VkQueryPool queryPool,
12639 uint32_t firstQuery,
12640 uint32_t queryCount);
12641#endif
12642
12643
12644#define VK_EXT_index_type_uint8 1
12645#define VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION 1
12646#define VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_EXT_index_type_uint8"
12647typedef struct VkPhysicalDeviceIndexTypeUint8FeaturesEXT {
12648 VkStructureType sType;
12649 void* pNext;
12650 VkBool32 indexTypeUint8;
12651} VkPhysicalDeviceIndexTypeUint8FeaturesEXT;
12652
12653
12654
12655#define VK_EXT_extended_dynamic_state 1
12656#define VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION 1
12657#define VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_extended_dynamic_state"
12658typedef struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT {
12659 VkStructureType sType;
12660 void* pNext;
12661 VkBool32 extendedDynamicState;
12662} VkPhysicalDeviceExtendedDynamicStateFeaturesEXT;
12663
12664typedef void (VKAPI_PTR *PFN_vkCmdSetCullModeEXT)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode);
12665typedef void (VKAPI_PTR *PFN_vkCmdSetFrontFaceEXT)(VkCommandBuffer commandBuffer, VkFrontFace frontFace);
12666typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveTopologyEXT)(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology);
12667typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWithCountEXT)(VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport* pViewports);
12668typedef void (VKAPI_PTR *PFN_vkCmdSetScissorWithCountEXT)(VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D* pScissors);
12669typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers2EXT)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides);
12670typedef void (VKAPI_PTR *PFN_vkCmdSetDepthTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable);
12671typedef void (VKAPI_PTR *PFN_vkCmdSetDepthWriteEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable);
12672typedef void (VKAPI_PTR *PFN_vkCmdSetDepthCompareOpEXT)(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp);
12673typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBoundsTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable);
12674typedef void (VKAPI_PTR *PFN_vkCmdSetStencilTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable);
12675typedef void (VKAPI_PTR *PFN_vkCmdSetStencilOpEXT)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp);
12676
12677#ifndef VK_NO_PROTOTYPES
12678VKAPI_ATTR void VKAPI_CALL vkCmdSetCullModeEXT(
12679 VkCommandBuffer commandBuffer,
12680 VkCullModeFlags cullMode);
12681
12682VKAPI_ATTR void VKAPI_CALL vkCmdSetFrontFaceEXT(
12683 VkCommandBuffer commandBuffer,
12684 VkFrontFace frontFace);
12685
12686VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveTopologyEXT(
12687 VkCommandBuffer commandBuffer,
12688 VkPrimitiveTopology primitiveTopology);
12689
12690VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWithCountEXT(
12691 VkCommandBuffer commandBuffer,
12692 uint32_t viewportCount,
12693 const VkViewport* pViewports);
12694
12695VKAPI_ATTR void VKAPI_CALL vkCmdSetScissorWithCountEXT(
12696 VkCommandBuffer commandBuffer,
12697 uint32_t scissorCount,
12698 const VkRect2D* pScissors);
12699
12700VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers2EXT(
12701 VkCommandBuffer commandBuffer,
12702 uint32_t firstBinding,
12703 uint32_t bindingCount,
12704 const VkBuffer* pBuffers,
12705 const VkDeviceSize* pOffsets,
12706 const VkDeviceSize* pSizes,
12707 const VkDeviceSize* pStrides);
12708
12709VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthTestEnableEXT(
12710 VkCommandBuffer commandBuffer,
12711 VkBool32 depthTestEnable);
12712
12713VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthWriteEnableEXT(
12714 VkCommandBuffer commandBuffer,
12715 VkBool32 depthWriteEnable);
12716
12717VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthCompareOpEXT(
12718 VkCommandBuffer commandBuffer,
12719 VkCompareOp depthCompareOp);
12720
12721VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBoundsTestEnableEXT(
12722 VkCommandBuffer commandBuffer,
12723 VkBool32 depthBoundsTestEnable);
12724
12725VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilTestEnableEXT(
12726 VkCommandBuffer commandBuffer,
12727 VkBool32 stencilTestEnable);
12728
12729VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilOpEXT(
12730 VkCommandBuffer commandBuffer,
12731 VkStencilFaceFlags faceMask,
12732 VkStencilOp failOp,
12733 VkStencilOp passOp,
12734 VkStencilOp depthFailOp,
12735 VkCompareOp compareOp);
12736#endif
12737
12738
12739#define VK_EXT_shader_atomic_float2 1
12740#define VK_EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION 1
12741#define VK_EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME "VK_EXT_shader_atomic_float2"
12742typedef struct VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT {
12743 VkStructureType sType;
12744 void* pNext;
12745 VkBool32 shaderBufferFloat16Atomics;
12746 VkBool32 shaderBufferFloat16AtomicAdd;
12747 VkBool32 shaderBufferFloat16AtomicMinMax;
12748 VkBool32 shaderBufferFloat32AtomicMinMax;
12749 VkBool32 shaderBufferFloat64AtomicMinMax;
12750 VkBool32 shaderSharedFloat16Atomics;
12751 VkBool32 shaderSharedFloat16AtomicAdd;
12752 VkBool32 shaderSharedFloat16AtomicMinMax;
12753 VkBool32 shaderSharedFloat32AtomicMinMax;
12754 VkBool32 shaderSharedFloat64AtomicMinMax;
12755 VkBool32 shaderImageFloat32AtomicMinMax;
12756 VkBool32 sparseImageFloat32AtomicMinMax;
12757} VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT;
12758
12759
12760
12761#define VK_EXT_shader_demote_to_helper_invocation 1
12762#define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION 1
12763#define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME "VK_EXT_shader_demote_to_helper_invocation"
12764typedef VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT;
12765
12766
12767
12768#define VK_NV_device_generated_commands 1
12769VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutNV)
12770#define VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION 3
12771#define VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_NV_device_generated_commands"
12772
12773typedef enum VkIndirectCommandsTokenTypeNV {
12774 VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV = 0,
12775 VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV = 1,
12776 VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV = 2,
12777 VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV = 3,
12778 VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV = 4,
12779 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV = 5,
12780 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV = 6,
12781 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV = 7,
12782 VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
12783} VkIndirectCommandsTokenTypeNV;
12784
12785typedef enum VkIndirectStateFlagBitsNV {
12786 VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV = 0x00000001,
12787 VK_INDIRECT_STATE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
12788} VkIndirectStateFlagBitsNV;
12789typedef VkFlags VkIndirectStateFlagsNV;
12790
12791typedef enum VkIndirectCommandsLayoutUsageFlagBitsNV {
12792 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV = 0x00000001,
12793 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV = 0x00000002,
12794 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV = 0x00000004,
12795 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
12796} VkIndirectCommandsLayoutUsageFlagBitsNV;
12797typedef VkFlags VkIndirectCommandsLayoutUsageFlagsNV;
12798typedef struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
12799 VkStructureType sType;
12800 void* pNext;
12801 uint32_t maxGraphicsShaderGroupCount;
12802 uint32_t maxIndirectSequenceCount;
12803 uint32_t maxIndirectCommandsTokenCount;
12804 uint32_t maxIndirectCommandsStreamCount;
12805 uint32_t maxIndirectCommandsTokenOffset;
12806 uint32_t maxIndirectCommandsStreamStride;
12807 uint32_t minSequencesCountBufferOffsetAlignment;
12808 uint32_t minSequencesIndexBufferOffsetAlignment;
12809 uint32_t minIndirectCommandsBufferOffsetAlignment;
12810} VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV;
12811
12812typedef struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
12813 VkStructureType sType;
12814 void* pNext;
12815 VkBool32 deviceGeneratedCommands;
12816} VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV;
12817
12818typedef struct VkGraphicsShaderGroupCreateInfoNV {
12819 VkStructureType sType;
12820 const void* pNext;
12821 uint32_t stageCount;
12822 const VkPipelineShaderStageCreateInfo* pStages;
12823 const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
12824 const VkPipelineTessellationStateCreateInfo* pTessellationState;
12825} VkGraphicsShaderGroupCreateInfoNV;
12826
12827typedef struct VkGraphicsPipelineShaderGroupsCreateInfoNV {
12828 VkStructureType sType;
12829 const void* pNext;
12830 uint32_t groupCount;
12831 const VkGraphicsShaderGroupCreateInfoNV* pGroups;
12832 uint32_t pipelineCount;
12833 const VkPipeline* pPipelines;
12834} VkGraphicsPipelineShaderGroupsCreateInfoNV;
12835
12836typedef struct VkBindShaderGroupIndirectCommandNV {
12837 uint32_t groupIndex;
12838} VkBindShaderGroupIndirectCommandNV;
12839
12840typedef struct VkBindIndexBufferIndirectCommandNV {
12841 VkDeviceAddress bufferAddress;
12842 uint32_t size;
12843 VkIndexType indexType;
12844} VkBindIndexBufferIndirectCommandNV;
12845
12846typedef struct VkBindVertexBufferIndirectCommandNV {
12847 VkDeviceAddress bufferAddress;
12848 uint32_t size;
12849 uint32_t stride;
12850} VkBindVertexBufferIndirectCommandNV;
12851
12852typedef struct VkSetStateFlagsIndirectCommandNV {
12853 uint32_t data;
12854} VkSetStateFlagsIndirectCommandNV;
12855
12856typedef struct VkIndirectCommandsStreamNV {
12857 VkBuffer buffer;
12858 VkDeviceSize offset;
12859} VkIndirectCommandsStreamNV;
12860
12861typedef struct VkIndirectCommandsLayoutTokenNV {
12862 VkStructureType sType;
12863 const void* pNext;
12864 VkIndirectCommandsTokenTypeNV tokenType;
12865 uint32_t stream;
12866 uint32_t offset;
12867 uint32_t vertexBindingUnit;
12868 VkBool32 vertexDynamicStride;
12869 VkPipelineLayout pushconstantPipelineLayout;
12870 VkShaderStageFlags pushconstantShaderStageFlags;
12871 uint32_t pushconstantOffset;
12872 uint32_t pushconstantSize;
12873 VkIndirectStateFlagsNV indirectStateFlags;
12874 uint32_t indexTypeCount;
12875 const VkIndexType* pIndexTypes;
12876 const uint32_t* pIndexTypeValues;
12877} VkIndirectCommandsLayoutTokenNV;
12878
12879typedef struct VkIndirectCommandsLayoutCreateInfoNV {
12880 VkStructureType sType;
12881 const void* pNext;
12882 VkIndirectCommandsLayoutUsageFlagsNV flags;
12883 VkPipelineBindPoint pipelineBindPoint;
12884 uint32_t tokenCount;
12885 const VkIndirectCommandsLayoutTokenNV* pTokens;
12886 uint32_t streamCount;
12887 const uint32_t* pStreamStrides;
12888} VkIndirectCommandsLayoutCreateInfoNV;
12889
12890typedef struct VkGeneratedCommandsInfoNV {
12891 VkStructureType sType;
12892 const void* pNext;
12893 VkPipelineBindPoint pipelineBindPoint;
12894 VkPipeline pipeline;
12895 VkIndirectCommandsLayoutNV indirectCommandsLayout;
12896 uint32_t streamCount;
12897 const VkIndirectCommandsStreamNV* pStreams;
12898 uint32_t sequencesCount;
12899 VkBuffer preprocessBuffer;
12900 VkDeviceSize preprocessOffset;
12901 VkDeviceSize preprocessSize;
12902 VkBuffer sequencesCountBuffer;
12903 VkDeviceSize sequencesCountOffset;
12904 VkBuffer sequencesIndexBuffer;
12905 VkDeviceSize sequencesIndexOffset;
12906} VkGeneratedCommandsInfoNV;
12907
12908typedef struct VkGeneratedCommandsMemoryRequirementsInfoNV {
12909 VkStructureType sType;
12910 const void* pNext;
12911 VkPipelineBindPoint pipelineBindPoint;
12912 VkPipeline pipeline;
12913 VkIndirectCommandsLayoutNV indirectCommandsLayout;
12914 uint32_t maxSequencesCount;
12915} VkGeneratedCommandsMemoryRequirementsInfoNV;
12916
12917typedef void (VKAPI_PTR *PFN_vkGetGeneratedCommandsMemoryRequirementsNV)(VkDevice device, const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2* pMemoryRequirements);
12918typedef void (VKAPI_PTR *PFN_vkCmdPreprocessGeneratedCommandsNV)(VkCommandBuffer commandBuffer, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
12919typedef void (VKAPI_PTR *PFN_vkCmdExecuteGeneratedCommandsNV)(VkCommandBuffer commandBuffer, VkBool32 isPreprocessed, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
12920typedef void (VKAPI_PTR *PFN_vkCmdBindPipelineShaderGroupNV)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline, uint32_t groupIndex);
12921typedef VkResult (VKAPI_PTR *PFN_vkCreateIndirectCommandsLayoutNV)(VkDevice device, const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNV* pIndirectCommandsLayout);
12922typedef void (VKAPI_PTR *PFN_vkDestroyIndirectCommandsLayoutNV)(VkDevice device, VkIndirectCommandsLayoutNV indirectCommandsLayout, const VkAllocationCallbacks* pAllocator);
12923
12924#ifndef VK_NO_PROTOTYPES
12925VKAPI_ATTR void VKAPI_CALL vkGetGeneratedCommandsMemoryRequirementsNV(
12926 VkDevice device,
12927 const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo,
12928 VkMemoryRequirements2* pMemoryRequirements);
12929
12930VKAPI_ATTR void VKAPI_CALL vkCmdPreprocessGeneratedCommandsNV(
12931 VkCommandBuffer commandBuffer,
12932 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
12933
12934VKAPI_ATTR void VKAPI_CALL vkCmdExecuteGeneratedCommandsNV(
12935 VkCommandBuffer commandBuffer,
12936 VkBool32 isPreprocessed,
12937 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
12938
12939VKAPI_ATTR void VKAPI_CALL vkCmdBindPipelineShaderGroupNV(
12940 VkCommandBuffer commandBuffer,
12941 VkPipelineBindPoint pipelineBindPoint,
12942 VkPipeline pipeline,
12943 uint32_t groupIndex);
12944
12945VKAPI_ATTR VkResult VKAPI_CALL vkCreateIndirectCommandsLayoutNV(
12946 VkDevice device,
12947 const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo,
12948 const VkAllocationCallbacks* pAllocator,
12949 VkIndirectCommandsLayoutNV* pIndirectCommandsLayout);
12950
12951VKAPI_ATTR void VKAPI_CALL vkDestroyIndirectCommandsLayoutNV(
12952 VkDevice device,
12953 VkIndirectCommandsLayoutNV indirectCommandsLayout,
12954 const VkAllocationCallbacks* pAllocator);
12955#endif
12956
12957
12958#define VK_NV_inherited_viewport_scissor 1
12959#define VK_NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION 1
12960#define VK_NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME "VK_NV_inherited_viewport_scissor"
12961typedef struct VkPhysicalDeviceInheritedViewportScissorFeaturesNV {
12962 VkStructureType sType;
12963 void* pNext;
12964 VkBool32 inheritedViewportScissor2D;
12965} VkPhysicalDeviceInheritedViewportScissorFeaturesNV;
12966
12967typedef struct VkCommandBufferInheritanceViewportScissorInfoNV {
12968 VkStructureType sType;
12969 const void* pNext;
12970 VkBool32 viewportScissor2D;
12971 uint32_t viewportDepthCount;
12972 const VkViewport* pViewportDepths;
12973} VkCommandBufferInheritanceViewportScissorInfoNV;
12974
12975
12976
12977#define VK_EXT_texel_buffer_alignment 1
12978#define VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION 1
12979#define VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME "VK_EXT_texel_buffer_alignment"
12980typedef struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT {
12981 VkStructureType sType;
12982 void* pNext;
12983 VkBool32 texelBufferAlignment;
12984} VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT;
12985
12986typedef VkPhysicalDeviceTexelBufferAlignmentProperties VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT;
12987
12988
12989
12990#define VK_QCOM_render_pass_transform 1
12991#define VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION 2
12992#define VK_QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME "VK_QCOM_render_pass_transform"
12993typedef struct VkRenderPassTransformBeginInfoQCOM {
12994 VkStructureType sType;
12995 void* pNext;
12996 VkSurfaceTransformFlagBitsKHR transform;
12997} VkRenderPassTransformBeginInfoQCOM;
12998
12999typedef struct VkCommandBufferInheritanceRenderPassTransformInfoQCOM {
13000 VkStructureType sType;
13001 void* pNext;
13002 VkSurfaceTransformFlagBitsKHR transform;
13003 VkRect2D renderArea;
13004} VkCommandBufferInheritanceRenderPassTransformInfoQCOM;
13005
13006
13007
13008#define VK_EXT_device_memory_report 1
13009#define VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION 2
13010#define VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME "VK_EXT_device_memory_report"
13011
13012typedef enum VkDeviceMemoryReportEventTypeEXT {
13013 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT = 0,
13014 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT = 1,
13015 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT = 2,
13016 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT = 3,
13017 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT = 4,
13018 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
13019} VkDeviceMemoryReportEventTypeEXT;
13020typedef VkFlags VkDeviceMemoryReportFlagsEXT;
13021typedef struct VkPhysicalDeviceDeviceMemoryReportFeaturesEXT {
13022 VkStructureType sType;
13023 void* pNext;
13024 VkBool32 deviceMemoryReport;
13025} VkPhysicalDeviceDeviceMemoryReportFeaturesEXT;
13026
13027typedef struct VkDeviceMemoryReportCallbackDataEXT {
13028 VkStructureType sType;
13029 void* pNext;
13030 VkDeviceMemoryReportFlagsEXT flags;
13031 VkDeviceMemoryReportEventTypeEXT type;
13032 uint64_t memoryObjectId;
13033 VkDeviceSize size;
13034 VkObjectType objectType;
13035 uint64_t objectHandle;
13036 uint32_t heapIndex;
13037} VkDeviceMemoryReportCallbackDataEXT;
13038
13039typedef void (VKAPI_PTR *PFN_vkDeviceMemoryReportCallbackEXT)(
13040 const VkDeviceMemoryReportCallbackDataEXT* pCallbackData,
13041 void* pUserData);
13042
13043typedef struct VkDeviceDeviceMemoryReportCreateInfoEXT {
13044 VkStructureType sType;
13045 const void* pNext;
13046 VkDeviceMemoryReportFlagsEXT flags;
13047 PFN_vkDeviceMemoryReportCallbackEXT pfnUserCallback;
13048 void* pUserData;
13049} VkDeviceDeviceMemoryReportCreateInfoEXT;
13050
13051
13052
13053#define VK_EXT_acquire_drm_display 1
13054#define VK_EXT_ACQUIRE_DRM_DISPLAY_SPEC_VERSION 1
13055#define VK_EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME "VK_EXT_acquire_drm_display"
13056typedef VkResult (VKAPI_PTR *PFN_vkAcquireDrmDisplayEXT)(VkPhysicalDevice physicalDevice, int32_t drmFd, VkDisplayKHR display);
13057typedef VkResult (VKAPI_PTR *PFN_vkGetDrmDisplayEXT)(VkPhysicalDevice physicalDevice, int32_t drmFd, uint32_t connectorId, VkDisplayKHR* display);
13058
13059#ifndef VK_NO_PROTOTYPES
13060VKAPI_ATTR VkResult VKAPI_CALL vkAcquireDrmDisplayEXT(
13061 VkPhysicalDevice physicalDevice,
13062 int32_t drmFd,
13063 VkDisplayKHR display);
13064
13065VKAPI_ATTR VkResult VKAPI_CALL vkGetDrmDisplayEXT(
13066 VkPhysicalDevice physicalDevice,
13067 int32_t drmFd,
13068 uint32_t connectorId,
13069 VkDisplayKHR* display);
13070#endif
13071
13072
13073#define VK_EXT_robustness2 1
13074#define VK_EXT_ROBUSTNESS_2_SPEC_VERSION 1
13075#define VK_EXT_ROBUSTNESS_2_EXTENSION_NAME "VK_EXT_robustness2"
13076typedef struct VkPhysicalDeviceRobustness2FeaturesEXT {
13077 VkStructureType sType;
13078 void* pNext;
13079 VkBool32 robustBufferAccess2;
13080 VkBool32 robustImageAccess2;
13081 VkBool32 nullDescriptor;
13082} VkPhysicalDeviceRobustness2FeaturesEXT;
13083
13084typedef struct VkPhysicalDeviceRobustness2PropertiesEXT {
13085 VkStructureType sType;
13086 void* pNext;
13087 VkDeviceSize robustStorageBufferAccessSizeAlignment;
13088 VkDeviceSize robustUniformBufferAccessSizeAlignment;
13089} VkPhysicalDeviceRobustness2PropertiesEXT;
13090
13091
13092
13093#define VK_EXT_custom_border_color 1
13094#define VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION 12
13095#define VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME "VK_EXT_custom_border_color"
13096typedef struct VkSamplerCustomBorderColorCreateInfoEXT {
13097 VkStructureType sType;
13098 const void* pNext;
13099 VkClearColorValue customBorderColor;
13100 VkFormat format;
13101} VkSamplerCustomBorderColorCreateInfoEXT;
13102
13103typedef struct VkPhysicalDeviceCustomBorderColorPropertiesEXT {
13104 VkStructureType sType;
13105 void* pNext;
13106 uint32_t maxCustomBorderColorSamplers;
13107} VkPhysicalDeviceCustomBorderColorPropertiesEXT;
13108
13109typedef struct VkPhysicalDeviceCustomBorderColorFeaturesEXT {
13110 VkStructureType sType;
13111 void* pNext;
13112 VkBool32 customBorderColors;
13113 VkBool32 customBorderColorWithoutFormat;
13114} VkPhysicalDeviceCustomBorderColorFeaturesEXT;
13115
13116
13117
13118#define VK_GOOGLE_user_type 1
13119#define VK_GOOGLE_USER_TYPE_SPEC_VERSION 1
13120#define VK_GOOGLE_USER_TYPE_EXTENSION_NAME "VK_GOOGLE_user_type"
13121
13122
13123#define VK_EXT_private_data 1
13124typedef VkPrivateDataSlot VkPrivateDataSlotEXT;
13125
13126#define VK_EXT_PRIVATE_DATA_SPEC_VERSION 1
13127#define VK_EXT_PRIVATE_DATA_EXTENSION_NAME "VK_EXT_private_data"
13128typedef VkPrivateDataSlotCreateFlags VkPrivateDataSlotCreateFlagsEXT;
13129
13130typedef VkPrivateDataSlotCreateFlagBits VkPrivateDataSlotCreateFlagBitsEXT;
13131
13132typedef VkPhysicalDevicePrivateDataFeatures VkPhysicalDevicePrivateDataFeaturesEXT;
13133
13134typedef VkDevicePrivateDataCreateInfo VkDevicePrivateDataCreateInfoEXT;
13135
13136typedef VkPrivateDataSlotCreateInfo VkPrivateDataSlotCreateInfoEXT;
13137
13138typedef VkResult (VKAPI_PTR *PFN_vkCreatePrivateDataSlotEXT)(VkDevice device, const VkPrivateDataSlotCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlot* pPrivateDataSlot);
13139typedef void (VKAPI_PTR *PFN_vkDestroyPrivateDataSlotEXT)(VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks* pAllocator);
13140typedef VkResult (VKAPI_PTR *PFN_vkSetPrivateDataEXT)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t data);
13141typedef void (VKAPI_PTR *PFN_vkGetPrivateDataEXT)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t* pData);
13142
13143#ifndef VK_NO_PROTOTYPES
13144VKAPI_ATTR VkResult VKAPI_CALL vkCreatePrivateDataSlotEXT(
13145 VkDevice device,
13146 const VkPrivateDataSlotCreateInfo* pCreateInfo,
13147 const VkAllocationCallbacks* pAllocator,
13148 VkPrivateDataSlot* pPrivateDataSlot);
13149
13150VKAPI_ATTR void VKAPI_CALL vkDestroyPrivateDataSlotEXT(
13151 VkDevice device,
13152 VkPrivateDataSlot privateDataSlot,
13153 const VkAllocationCallbacks* pAllocator);
13154
13155VKAPI_ATTR VkResult VKAPI_CALL vkSetPrivateDataEXT(
13156 VkDevice device,
13157 VkObjectType objectType,
13158 uint64_t objectHandle,
13159 VkPrivateDataSlot privateDataSlot,
13160 uint64_t data);
13161
13162VKAPI_ATTR void VKAPI_CALL vkGetPrivateDataEXT(
13163 VkDevice device,
13164 VkObjectType objectType,
13165 uint64_t objectHandle,
13166 VkPrivateDataSlot privateDataSlot,
13167 uint64_t* pData);
13168#endif
13169
13170
13171#define VK_EXT_pipeline_creation_cache_control 1
13172#define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION 3
13173#define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME "VK_EXT_pipeline_creation_cache_control"
13174typedef VkPhysicalDevicePipelineCreationCacheControlFeatures VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT;
13175
13176
13177
13178#define VK_NV_device_diagnostics_config 1
13179#define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION 1
13180#define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME "VK_NV_device_diagnostics_config"
13181
13182typedef enum VkDeviceDiagnosticsConfigFlagBitsNV {
13183 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV = 0x00000001,
13184 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV = 0x00000002,
13185 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV = 0x00000004,
13186 VK_DEVICE_DIAGNOSTICS_CONFIG_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
13187} VkDeviceDiagnosticsConfigFlagBitsNV;
13188typedef VkFlags VkDeviceDiagnosticsConfigFlagsNV;
13189typedef struct VkPhysicalDeviceDiagnosticsConfigFeaturesNV {
13190 VkStructureType sType;
13191 void* pNext;
13192 VkBool32 diagnosticsConfig;
13193} VkPhysicalDeviceDiagnosticsConfigFeaturesNV;
13194
13195typedef struct VkDeviceDiagnosticsConfigCreateInfoNV {
13196 VkStructureType sType;
13197 const void* pNext;
13198 VkDeviceDiagnosticsConfigFlagsNV flags;
13199} VkDeviceDiagnosticsConfigCreateInfoNV;
13200
13201
13202
13203#define VK_QCOM_render_pass_store_ops 1
13204#define VK_QCOM_RENDER_PASS_STORE_OPS_SPEC_VERSION 2
13205#define VK_QCOM_RENDER_PASS_STORE_OPS_EXTENSION_NAME "VK_QCOM_render_pass_store_ops"
13206
13207
13208#define VK_NV_fragment_shading_rate_enums 1
13209#define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION 1
13210#define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME "VK_NV_fragment_shading_rate_enums"
13211
13212typedef enum VkFragmentShadingRateTypeNV {
13213 VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV = 0,
13214 VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV = 1,
13215 VK_FRAGMENT_SHADING_RATE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
13216} VkFragmentShadingRateTypeNV;
13217
13218typedef enum VkFragmentShadingRateNV {
13219 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV = 0,
13220 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV = 1,
13221 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV = 4,
13222 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV = 5,
13223 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV = 6,
13224 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV = 9,
13225 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV = 10,
13226 VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV = 11,
13227 VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV = 12,
13228 VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV = 13,
13229 VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV = 14,
13230 VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV = 15,
13231 VK_FRAGMENT_SHADING_RATE_MAX_ENUM_NV = 0x7FFFFFFF
13232} VkFragmentShadingRateNV;
13233typedef struct VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV {
13234 VkStructureType sType;
13235 void* pNext;
13236 VkBool32 fragmentShadingRateEnums;
13237 VkBool32 supersampleFragmentShadingRates;
13238 VkBool32 noInvocationFragmentShadingRates;
13239} VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV;
13240
13241typedef struct VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV {
13242 VkStructureType sType;
13243 void* pNext;
13244 VkSampleCountFlagBits maxFragmentShadingRateInvocationCount;
13245} VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV;
13246
13247typedef struct VkPipelineFragmentShadingRateEnumStateCreateInfoNV {
13248 VkStructureType sType;
13249 const void* pNext;
13250 VkFragmentShadingRateTypeNV shadingRateType;
13251 VkFragmentShadingRateNV shadingRate;
13252 VkFragmentShadingRateCombinerOpKHR combinerOps[2];
13253} VkPipelineFragmentShadingRateEnumStateCreateInfoNV;
13254
13255typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateEnumNV)(VkCommandBuffer commandBuffer, VkFragmentShadingRateNV shadingRate, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
13256
13257#ifndef VK_NO_PROTOTYPES
13258VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateEnumNV(
13259 VkCommandBuffer commandBuffer,
13260 VkFragmentShadingRateNV shadingRate,
13261 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
13262#endif
13263
13264
13265#define VK_NV_ray_tracing_motion_blur 1
13266#define VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION 1
13267#define VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME "VK_NV_ray_tracing_motion_blur"
13268
13269typedef enum VkAccelerationStructureMotionInstanceTypeNV {
13270 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_STATIC_NV = 0,
13271 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MATRIX_MOTION_NV = 1,
13272 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_SRT_MOTION_NV = 2,
13273 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
13274} VkAccelerationStructureMotionInstanceTypeNV;
13275typedef VkFlags VkAccelerationStructureMotionInfoFlagsNV;
13276typedef VkFlags VkAccelerationStructureMotionInstanceFlagsNV;
13277typedef union VkDeviceOrHostAddressConstKHR {
13278 VkDeviceAddress deviceAddress;
13279 const void* hostAddress;
13280} VkDeviceOrHostAddressConstKHR;
13281
13282typedef struct VkAccelerationStructureGeometryMotionTrianglesDataNV {
13283 VkStructureType sType;
13284 const void* pNext;
13285 VkDeviceOrHostAddressConstKHR vertexData;
13286} VkAccelerationStructureGeometryMotionTrianglesDataNV;
13287
13288typedef struct VkAccelerationStructureMotionInfoNV {
13289 VkStructureType sType;
13290 const void* pNext;
13291 uint32_t maxInstances;
13292 VkAccelerationStructureMotionInfoFlagsNV flags;
13293} VkAccelerationStructureMotionInfoNV;
13294
13295typedef struct VkAccelerationStructureMatrixMotionInstanceNV {
13296 VkTransformMatrixKHR transformT0;
13297 VkTransformMatrixKHR transformT1;
13298 uint32_t instanceCustomIndex:24;
13299 uint32_t mask:8;
13300 uint32_t instanceShaderBindingTableRecordOffset:24;
13301 VkGeometryInstanceFlagsKHR flags:8;
13302 uint64_t accelerationStructureReference;
13303} VkAccelerationStructureMatrixMotionInstanceNV;
13304
13305typedef struct VkSRTDataNV {
13306 float sx;
13307 float a;
13308 float b;
13309 float pvx;
13310 float sy;
13311 float c;
13312 float pvy;
13313 float sz;
13314 float pvz;
13315 float qx;
13316 float qy;
13317 float qz;
13318 float qw;
13319 float tx;
13320 float ty;
13321 float tz;
13322} VkSRTDataNV;
13323
13324typedef struct VkAccelerationStructureSRTMotionInstanceNV {
13325 VkSRTDataNV transformT0;
13326 VkSRTDataNV transformT1;
13327 uint32_t instanceCustomIndex:24;
13328 uint32_t mask:8;
13329 uint32_t instanceShaderBindingTableRecordOffset:24;
13330 VkGeometryInstanceFlagsKHR flags:8;
13331 uint64_t accelerationStructureReference;
13332} VkAccelerationStructureSRTMotionInstanceNV;
13333
13334typedef union VkAccelerationStructureMotionInstanceDataNV {
13335 VkAccelerationStructureInstanceKHR staticInstance;
13336 VkAccelerationStructureMatrixMotionInstanceNV matrixMotionInstance;
13337 VkAccelerationStructureSRTMotionInstanceNV srtMotionInstance;
13338} VkAccelerationStructureMotionInstanceDataNV;
13339
13340typedef struct VkAccelerationStructureMotionInstanceNV {
13341 VkAccelerationStructureMotionInstanceTypeNV type;
13342 VkAccelerationStructureMotionInstanceFlagsNV flags;
13343 VkAccelerationStructureMotionInstanceDataNV data;
13344} VkAccelerationStructureMotionInstanceNV;
13345
13346typedef struct VkPhysicalDeviceRayTracingMotionBlurFeaturesNV {
13347 VkStructureType sType;
13348 void* pNext;
13349 VkBool32 rayTracingMotionBlur;
13350 VkBool32 rayTracingMotionBlurPipelineTraceRaysIndirect;
13351} VkPhysicalDeviceRayTracingMotionBlurFeaturesNV;
13352
13353
13354
13355#define VK_EXT_ycbcr_2plane_444_formats 1
13356#define VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION 1
13357#define VK_EXT_YCBCR_2PLANE_444_FORMATS_EXTENSION_NAME "VK_EXT_ycbcr_2plane_444_formats"
13358typedef struct VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT {
13359 VkStructureType sType;
13360 void* pNext;
13361 VkBool32 ycbcr2plane444Formats;
13362} VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT;
13363
13364
13365
13366#define VK_EXT_fragment_density_map2 1
13367#define VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION 1
13368#define VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME "VK_EXT_fragment_density_map2"
13369typedef struct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT {
13370 VkStructureType sType;
13371 void* pNext;
13372 VkBool32 fragmentDensityMapDeferred;
13373} VkPhysicalDeviceFragmentDensityMap2FeaturesEXT;
13374
13375typedef struct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT {
13376 VkStructureType sType;
13377 void* pNext;
13378 VkBool32 subsampledLoads;
13379 VkBool32 subsampledCoarseReconstructionEarlyAccess;
13380 uint32_t maxSubsampledArrayLayers;
13381 uint32_t maxDescriptorSetSubsampledSamplers;
13382} VkPhysicalDeviceFragmentDensityMap2PropertiesEXT;
13383
13384
13385
13386#define VK_QCOM_rotated_copy_commands 1
13387#define VK_QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION 1
13388#define VK_QCOM_ROTATED_COPY_COMMANDS_EXTENSION_NAME "VK_QCOM_rotated_copy_commands"
13389typedef struct VkCopyCommandTransformInfoQCOM {
13390 VkStructureType sType;
13391 const void* pNext;
13392 VkSurfaceTransformFlagBitsKHR transform;
13393} VkCopyCommandTransformInfoQCOM;
13394
13395
13396
13397#define VK_EXT_image_robustness 1
13398#define VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION 1
13399#define VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_image_robustness"
13400typedef VkPhysicalDeviceImageRobustnessFeatures VkPhysicalDeviceImageRobustnessFeaturesEXT;
13401
13402
13403
13404#define VK_EXT_4444_formats 1
13405#define VK_EXT_4444_FORMATS_SPEC_VERSION 1
13406#define VK_EXT_4444_FORMATS_EXTENSION_NAME "VK_EXT_4444_formats"
13407typedef struct VkPhysicalDevice4444FormatsFeaturesEXT {
13408 VkStructureType sType;
13409 void* pNext;
13410 VkBool32 formatA4R4G4B4;
13411 VkBool32 formatA4B4G4R4;
13412} VkPhysicalDevice4444FormatsFeaturesEXT;
13413
13414
13415
13416#define VK_ARM_rasterization_order_attachment_access 1
13417#define VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION 1
13418#define VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME "VK_ARM_rasterization_order_attachment_access"
13419typedef struct VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM {
13420 VkStructureType sType;
13421 const void* pNext;
13422 VkBool32 rasterizationOrderColorAttachmentAccess;
13423 VkBool32 rasterizationOrderDepthAttachmentAccess;
13424 VkBool32 rasterizationOrderStencilAttachmentAccess;
13425} VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM;
13426
13427
13428
13429#define VK_EXT_rgba10x6_formats 1
13430#define VK_EXT_RGBA10X6_FORMATS_SPEC_VERSION 1
13431#define VK_EXT_RGBA10X6_FORMATS_EXTENSION_NAME "VK_EXT_rgba10x6_formats"
13432typedef struct VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT {
13433 VkStructureType sType;
13434 void* pNext;
13435 VkBool32 formatRgba10x6WithoutYCbCrSampler;
13436} VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT;
13437
13438
13439
13440#define VK_NV_acquire_winrt_display 1
13441#define VK_NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION 1
13442#define VK_NV_ACQUIRE_WINRT_DISPLAY_EXTENSION_NAME "VK_NV_acquire_winrt_display"
13443typedef VkResult (VKAPI_PTR *PFN_vkAcquireWinrtDisplayNV)(VkPhysicalDevice physicalDevice, VkDisplayKHR display);
13444typedef VkResult (VKAPI_PTR *PFN_vkGetWinrtDisplayNV)(VkPhysicalDevice physicalDevice, uint32_t deviceRelativeId, VkDisplayKHR* pDisplay);
13445
13446#ifndef VK_NO_PROTOTYPES
13447VKAPI_ATTR VkResult VKAPI_CALL vkAcquireWinrtDisplayNV(
13448 VkPhysicalDevice physicalDevice,
13449 VkDisplayKHR display);
13450
13451VKAPI_ATTR VkResult VKAPI_CALL vkGetWinrtDisplayNV(
13452 VkPhysicalDevice physicalDevice,
13453 uint32_t deviceRelativeId,
13454 VkDisplayKHR* pDisplay);
13455#endif
13456
13457
13458#define VK_VALVE_mutable_descriptor_type 1
13459#define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION 1
13460#define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME "VK_VALVE_mutable_descriptor_type"
13461typedef struct VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE {
13462 VkStructureType sType;
13463 void* pNext;
13464 VkBool32 mutableDescriptorType;
13465} VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE;
13466
13467typedef struct VkMutableDescriptorTypeListVALVE {
13468 uint32_t descriptorTypeCount;
13469 const VkDescriptorType* pDescriptorTypes;
13470} VkMutableDescriptorTypeListVALVE;
13471
13472typedef struct VkMutableDescriptorTypeCreateInfoVALVE {
13473 VkStructureType sType;
13474 const void* pNext;
13475 uint32_t mutableDescriptorTypeListCount;
13476 const VkMutableDescriptorTypeListVALVE* pMutableDescriptorTypeLists;
13477} VkMutableDescriptorTypeCreateInfoVALVE;
13478
13479
13480
13481#define VK_EXT_vertex_input_dynamic_state 1
13482#define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION 2
13483#define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_vertex_input_dynamic_state"
13484typedef struct VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT {
13485 VkStructureType sType;
13486 void* pNext;
13487 VkBool32 vertexInputDynamicState;
13488} VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT;
13489
13490typedef struct VkVertexInputBindingDescription2EXT {
13491 VkStructureType sType;
13492 void* pNext;
13493 uint32_t binding;
13494 uint32_t stride;
13495 VkVertexInputRate inputRate;
13496 uint32_t divisor;
13497} VkVertexInputBindingDescription2EXT;
13498
13499typedef struct VkVertexInputAttributeDescription2EXT {
13500 VkStructureType sType;
13501 void* pNext;
13502 uint32_t location;
13503 uint32_t binding;
13504 VkFormat format;
13505 uint32_t offset;
13506} VkVertexInputAttributeDescription2EXT;
13507
13508typedef void (VKAPI_PTR *PFN_vkCmdSetVertexInputEXT)(VkCommandBuffer commandBuffer, uint32_t vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, uint32_t vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions);
13509
13510#ifndef VK_NO_PROTOTYPES
13511VKAPI_ATTR void VKAPI_CALL vkCmdSetVertexInputEXT(
13512 VkCommandBuffer commandBuffer,
13513 uint32_t vertexBindingDescriptionCount,
13514 const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions,
13515 uint32_t vertexAttributeDescriptionCount,
13516 const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions);
13517#endif
13518
13519
13520#define VK_EXT_physical_device_drm 1
13521#define VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION 1
13522#define VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME "VK_EXT_physical_device_drm"
13523typedef struct VkPhysicalDeviceDrmPropertiesEXT {
13524 VkStructureType sType;
13525 void* pNext;
13526 VkBool32 hasPrimary;
13527 VkBool32 hasRender;
13528 int64_t primaryMajor;
13529 int64_t primaryMinor;
13530 int64_t renderMajor;
13531 int64_t renderMinor;
13532} VkPhysicalDeviceDrmPropertiesEXT;
13533
13534
13535
13536#define VK_EXT_depth_clip_control 1
13537#define VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION 1
13538#define VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME "VK_EXT_depth_clip_control"
13539typedef struct VkPhysicalDeviceDepthClipControlFeaturesEXT {
13540 VkStructureType sType;
13541 void* pNext;
13542 VkBool32 depthClipControl;
13543} VkPhysicalDeviceDepthClipControlFeaturesEXT;
13544
13545typedef struct VkPipelineViewportDepthClipControlCreateInfoEXT {
13546 VkStructureType sType;
13547 const void* pNext;
13548 VkBool32 negativeOneToOne;
13549} VkPipelineViewportDepthClipControlCreateInfoEXT;
13550
13551
13552
13553#define VK_EXT_primitive_topology_list_restart 1
13554#define VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION 1
13555#define VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME "VK_EXT_primitive_topology_list_restart"
13556typedef struct VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT {
13557 VkStructureType sType;
13558 void* pNext;
13559 VkBool32 primitiveTopologyListRestart;
13560 VkBool32 primitiveTopologyPatchListRestart;
13561} VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT;
13562
13563
13564
13565#define VK_HUAWEI_subpass_shading 1
13566#define VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION 2
13567#define VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME "VK_HUAWEI_subpass_shading"
13568typedef struct VkSubpassShadingPipelineCreateInfoHUAWEI {
13569 VkStructureType sType;
13570 void* pNext;
13571 VkRenderPass renderPass;
13572 uint32_t subpass;
13573} VkSubpassShadingPipelineCreateInfoHUAWEI;
13574
13575typedef struct VkPhysicalDeviceSubpassShadingFeaturesHUAWEI {
13576 VkStructureType sType;
13577 void* pNext;
13578 VkBool32 subpassShading;
13579} VkPhysicalDeviceSubpassShadingFeaturesHUAWEI;
13580
13581typedef struct VkPhysicalDeviceSubpassShadingPropertiesHUAWEI {
13582 VkStructureType sType;
13583 void* pNext;
13584 uint32_t maxSubpassShadingWorkgroupSizeAspectRatio;
13585} VkPhysicalDeviceSubpassShadingPropertiesHUAWEI;
13586
13587typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI)(VkDevice device, VkRenderPass renderpass, VkExtent2D* pMaxWorkgroupSize);
13588typedef void (VKAPI_PTR *PFN_vkCmdSubpassShadingHUAWEI)(VkCommandBuffer commandBuffer);
13589
13590#ifndef VK_NO_PROTOTYPES
13591VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(
13592 VkDevice device,
13593 VkRenderPass renderpass,
13594 VkExtent2D* pMaxWorkgroupSize);
13595
13596VKAPI_ATTR void VKAPI_CALL vkCmdSubpassShadingHUAWEI(
13597 VkCommandBuffer commandBuffer);
13598#endif
13599
13600
13601#define VK_HUAWEI_invocation_mask 1
13602#define VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION 1
13603#define VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME "VK_HUAWEI_invocation_mask"
13604typedef struct VkPhysicalDeviceInvocationMaskFeaturesHUAWEI {
13605 VkStructureType sType;
13606 void* pNext;
13607 VkBool32 invocationMask;
13608} VkPhysicalDeviceInvocationMaskFeaturesHUAWEI;
13609
13610typedef void (VKAPI_PTR *PFN_vkCmdBindInvocationMaskHUAWEI)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout);
13611
13612#ifndef VK_NO_PROTOTYPES
13613VKAPI_ATTR void VKAPI_CALL vkCmdBindInvocationMaskHUAWEI(
13614 VkCommandBuffer commandBuffer,
13615 VkImageView imageView,
13616 VkImageLayout imageLayout);
13617#endif
13618
13619
13620#define VK_NV_external_memory_rdma 1
13621typedef void* VkRemoteAddressNV;
13622#define VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION 1
13623#define VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME "VK_NV_external_memory_rdma"
13624typedef struct VkMemoryGetRemoteAddressInfoNV {
13625 VkStructureType sType;
13626 const void* pNext;
13627 VkDeviceMemory memory;
13628 VkExternalMemoryHandleTypeFlagBits handleType;
13629} VkMemoryGetRemoteAddressInfoNV;
13630
13631typedef struct VkPhysicalDeviceExternalMemoryRDMAFeaturesNV {
13632 VkStructureType sType;
13633 void* pNext;
13634 VkBool32 externalMemoryRDMA;
13635} VkPhysicalDeviceExternalMemoryRDMAFeaturesNV;
13636
13637typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryRemoteAddressNV)(VkDevice device, const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo, VkRemoteAddressNV* pAddress);
13638
13639#ifndef VK_NO_PROTOTYPES
13640VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryRemoteAddressNV(
13641 VkDevice device,
13642 const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo,
13643 VkRemoteAddressNV* pAddress);
13644#endif
13645
13646
13647#define VK_EXT_extended_dynamic_state2 1
13648#define VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION 1
13649#define VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME "VK_EXT_extended_dynamic_state2"
13650typedef struct VkPhysicalDeviceExtendedDynamicState2FeaturesEXT {
13651 VkStructureType sType;
13652 void* pNext;
13653 VkBool32 extendedDynamicState2;
13654 VkBool32 extendedDynamicState2LogicOp;
13655 VkBool32 extendedDynamicState2PatchControlPoints;
13656} VkPhysicalDeviceExtendedDynamicState2FeaturesEXT;
13657
13658typedef void (VKAPI_PTR *PFN_vkCmdSetPatchControlPointsEXT)(VkCommandBuffer commandBuffer, uint32_t patchControlPoints);
13659typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizerDiscardEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable);
13660typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBiasEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable);
13661typedef void (VKAPI_PTR *PFN_vkCmdSetLogicOpEXT)(VkCommandBuffer commandBuffer, VkLogicOp logicOp);
13662typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveRestartEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable);
13663
13664#ifndef VK_NO_PROTOTYPES
13665VKAPI_ATTR void VKAPI_CALL vkCmdSetPatchControlPointsEXT(
13666 VkCommandBuffer commandBuffer,
13667 uint32_t patchControlPoints);
13668
13669VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizerDiscardEnableEXT(
13670 VkCommandBuffer commandBuffer,
13671 VkBool32 rasterizerDiscardEnable);
13672
13673VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBiasEnableEXT(
13674 VkCommandBuffer commandBuffer,
13675 VkBool32 depthBiasEnable);
13676
13677VKAPI_ATTR void VKAPI_CALL vkCmdSetLogicOpEXT(
13678 VkCommandBuffer commandBuffer,
13679 VkLogicOp logicOp);
13680
13681VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveRestartEnableEXT(
13682 VkCommandBuffer commandBuffer,
13683 VkBool32 primitiveRestartEnable);
13684#endif
13685
13686
13687#define VK_EXT_color_write_enable 1
13688#define VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION 1
13689#define VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME "VK_EXT_color_write_enable"
13690typedef struct VkPhysicalDeviceColorWriteEnableFeaturesEXT {
13691 VkStructureType sType;
13692 void* pNext;
13693 VkBool32 colorWriteEnable;
13694} VkPhysicalDeviceColorWriteEnableFeaturesEXT;
13695
13696typedef struct VkPipelineColorWriteCreateInfoEXT {
13697 VkStructureType sType;
13698 const void* pNext;
13699 uint32_t attachmentCount;
13700 const VkBool32* pColorWriteEnables;
13701} VkPipelineColorWriteCreateInfoEXT;
13702
13703typedef void (VKAPI_PTR *PFN_vkCmdSetColorWriteEnableEXT)(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkBool32* pColorWriteEnables);
13704
13705#ifndef VK_NO_PROTOTYPES
13706VKAPI_ATTR void VKAPI_CALL vkCmdSetColorWriteEnableEXT(
13707 VkCommandBuffer commandBuffer,
13708 uint32_t attachmentCount,
13709 const VkBool32* pColorWriteEnables);
13710#endif
13711
13712
13713#define VK_EXT_global_priority_query 1
13714#define VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION 1
13715#define VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME "VK_EXT_global_priority_query"
13716#define VK_MAX_GLOBAL_PRIORITY_SIZE_EXT VK_MAX_GLOBAL_PRIORITY_SIZE_KHR
13717typedef VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT;
13718
13719typedef VkQueueFamilyGlobalPriorityPropertiesKHR VkQueueFamilyGlobalPriorityPropertiesEXT;
13720
13721
13722
13723#define VK_EXT_image_view_min_lod 1
13724#define VK_EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION 1
13725#define VK_EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME "VK_EXT_image_view_min_lod"
13726typedef struct VkPhysicalDeviceImageViewMinLodFeaturesEXT {
13727 VkStructureType sType;
13728 void* pNext;
13729 VkBool32 minLod;
13730} VkPhysicalDeviceImageViewMinLodFeaturesEXT;
13731
13732typedef struct VkImageViewMinLodCreateInfoEXT {
13733 VkStructureType sType;
13734 const void* pNext;
13735 float minLod;
13736} VkImageViewMinLodCreateInfoEXT;
13737
13738
13739
13740#define VK_EXT_multi_draw 1
13741#define VK_EXT_MULTI_DRAW_SPEC_VERSION 1
13742#define VK_EXT_MULTI_DRAW_EXTENSION_NAME "VK_EXT_multi_draw"
13743typedef struct VkPhysicalDeviceMultiDrawFeaturesEXT {
13744 VkStructureType sType;
13745 void* pNext;
13746 VkBool32 multiDraw;
13747} VkPhysicalDeviceMultiDrawFeaturesEXT;
13748
13749typedef struct VkPhysicalDeviceMultiDrawPropertiesEXT {
13750 VkStructureType sType;
13751 void* pNext;
13752 uint32_t maxMultiDrawCount;
13753} VkPhysicalDeviceMultiDrawPropertiesEXT;
13754
13755typedef struct VkMultiDrawInfoEXT {
13756 uint32_t firstVertex;
13757 uint32_t vertexCount;
13758} VkMultiDrawInfoEXT;
13759
13760typedef struct VkMultiDrawIndexedInfoEXT {
13761 uint32_t firstIndex;
13762 uint32_t indexCount;
13763 int32_t vertexOffset;
13764} VkMultiDrawIndexedInfoEXT;
13765
13766typedef void (VKAPI_PTR *PFN_vkCmdDrawMultiEXT)(VkCommandBuffer commandBuffer, uint32_t drawCount, const VkMultiDrawInfoEXT* pVertexInfo, uint32_t instanceCount, uint32_t firstInstance, uint32_t stride);
13767typedef void (VKAPI_PTR *PFN_vkCmdDrawMultiIndexedEXT)(VkCommandBuffer commandBuffer, uint32_t drawCount, const VkMultiDrawIndexedInfoEXT* pIndexInfo, uint32_t instanceCount, uint32_t firstInstance, uint32_t stride, const int32_t* pVertexOffset);
13768
13769#ifndef VK_NO_PROTOTYPES
13770VKAPI_ATTR void VKAPI_CALL vkCmdDrawMultiEXT(
13771 VkCommandBuffer commandBuffer,
13772 uint32_t drawCount,
13773 const VkMultiDrawInfoEXT* pVertexInfo,
13774 uint32_t instanceCount,
13775 uint32_t firstInstance,
13776 uint32_t stride);
13777
13778VKAPI_ATTR void VKAPI_CALL vkCmdDrawMultiIndexedEXT(
13779 VkCommandBuffer commandBuffer,
13780 uint32_t drawCount,
13781 const VkMultiDrawIndexedInfoEXT* pIndexInfo,
13782 uint32_t instanceCount,
13783 uint32_t firstInstance,
13784 uint32_t stride,
13785 const int32_t* pVertexOffset);
13786#endif
13787
13788
13789#define VK_EXT_load_store_op_none 1
13790#define VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION 1
13791#define VK_EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME "VK_EXT_load_store_op_none"
13792
13793
13794#define VK_EXT_border_color_swizzle 1
13795#define VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION 1
13796#define VK_EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME "VK_EXT_border_color_swizzle"
13797typedef struct VkPhysicalDeviceBorderColorSwizzleFeaturesEXT {
13798 VkStructureType sType;
13799 void* pNext;
13800 VkBool32 borderColorSwizzle;
13801 VkBool32 borderColorSwizzleFromImage;
13802} VkPhysicalDeviceBorderColorSwizzleFeaturesEXT;
13803
13804typedef struct VkSamplerBorderColorComponentMappingCreateInfoEXT {
13805 VkStructureType sType;
13806 const void* pNext;
13807 VkComponentMapping components;
13808 VkBool32 srgb;
13809} VkSamplerBorderColorComponentMappingCreateInfoEXT;
13810
13811
13812
13813#define VK_EXT_pageable_device_local_memory 1
13814#define VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION 1
13815#define VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME "VK_EXT_pageable_device_local_memory"
13816typedef struct VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT {
13817 VkStructureType sType;
13818 void* pNext;
13819 VkBool32 pageableDeviceLocalMemory;
13820} VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT;
13821
13822typedef void (VKAPI_PTR *PFN_vkSetDeviceMemoryPriorityEXT)(VkDevice device, VkDeviceMemory memory, float priority);
13823
13824#ifndef VK_NO_PROTOTYPES
13825VKAPI_ATTR void VKAPI_CALL vkSetDeviceMemoryPriorityEXT(
13826 VkDevice device,
13827 VkDeviceMemory memory,
13828 float priority);
13829#endif
13830
13831
13832#define VK_QCOM_fragment_density_map_offset 1
13833#define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION 1
13834#define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME "VK_QCOM_fragment_density_map_offset"
13835typedef struct VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM {
13836 VkStructureType sType;
13837 void* pNext;
13838 VkBool32 fragmentDensityMapOffset;
13839} VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM;
13840
13841typedef struct VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM {
13842 VkStructureType sType;
13843 void* pNext;
13844 VkExtent2D fragmentDensityOffsetGranularity;
13845} VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM;
13846
13847typedef struct VkSubpassFragmentDensityMapOffsetEndInfoQCOM {
13848 VkStructureType sType;
13849 const void* pNext;
13850 uint32_t fragmentDensityOffsetCount;
13851 const VkOffset2D* pFragmentDensityOffsets;
13852} VkSubpassFragmentDensityMapOffsetEndInfoQCOM;
13853
13854
13855
13856#define VK_NV_linear_color_attachment 1
13857#define VK_NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION 1
13858#define VK_NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME "VK_NV_linear_color_attachment"
13859typedef struct VkPhysicalDeviceLinearColorAttachmentFeaturesNV {
13860 VkStructureType sType;
13861 void* pNext;
13862 VkBool32 linearColorAttachment;
13863} VkPhysicalDeviceLinearColorAttachmentFeaturesNV;
13864
13865
13866
13867#define VK_GOOGLE_surfaceless_query 1
13868#define VK_GOOGLE_SURFACELESS_QUERY_SPEC_VERSION 1
13869#define VK_GOOGLE_SURFACELESS_QUERY_EXTENSION_NAME "VK_GOOGLE_surfaceless_query"
13870
13871
13872#define VK_KHR_acceleration_structure 1
13873VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR)
13874#define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 13
13875#define VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME "VK_KHR_acceleration_structure"
13876
13877typedef enum VkBuildAccelerationStructureModeKHR {
13878 VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR = 0,
13879 VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR = 1,
13880 VK_BUILD_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
13881} VkBuildAccelerationStructureModeKHR;
13882
13883typedef enum VkAccelerationStructureBuildTypeKHR {
13884 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR = 0,
13885 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR = 1,
13886 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR = 2,
13887 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
13888} VkAccelerationStructureBuildTypeKHR;
13889
13890typedef enum VkAccelerationStructureCompatibilityKHR {
13891 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR = 0,
13892 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR = 1,
13893 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_MAX_ENUM_KHR = 0x7FFFFFFF
13894} VkAccelerationStructureCompatibilityKHR;
13895
13896typedef enum VkAccelerationStructureCreateFlagBitsKHR {
13897 VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = 0x00000001,
13898 VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV = 0x00000004,
13899 VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
13900} VkAccelerationStructureCreateFlagBitsKHR;
13901typedef VkFlags VkAccelerationStructureCreateFlagsKHR;
13902typedef union VkDeviceOrHostAddressKHR {
13903 VkDeviceAddress deviceAddress;
13904 void* hostAddress;
13905} VkDeviceOrHostAddressKHR;
13906
13907typedef struct VkAccelerationStructureBuildRangeInfoKHR {
13908 uint32_t primitiveCount;
13909 uint32_t primitiveOffset;
13910 uint32_t firstVertex;
13911 uint32_t transformOffset;
13912} VkAccelerationStructureBuildRangeInfoKHR;
13913
13914typedef struct VkAccelerationStructureGeometryTrianglesDataKHR {
13915 VkStructureType sType;
13916 const void* pNext;
13917 VkFormat vertexFormat;
13918 VkDeviceOrHostAddressConstKHR vertexData;
13919 VkDeviceSize vertexStride;
13920 uint32_t maxVertex;
13921 VkIndexType indexType;
13922 VkDeviceOrHostAddressConstKHR indexData;
13923 VkDeviceOrHostAddressConstKHR transformData;
13924} VkAccelerationStructureGeometryTrianglesDataKHR;
13925
13926typedef struct VkAccelerationStructureGeometryAabbsDataKHR {
13927 VkStructureType sType;
13928 const void* pNext;
13929 VkDeviceOrHostAddressConstKHR data;
13930 VkDeviceSize stride;
13931} VkAccelerationStructureGeometryAabbsDataKHR;
13932
13933typedef struct VkAccelerationStructureGeometryInstancesDataKHR {
13934 VkStructureType sType;
13935 const void* pNext;
13936 VkBool32 arrayOfPointers;
13937 VkDeviceOrHostAddressConstKHR data;
13938} VkAccelerationStructureGeometryInstancesDataKHR;
13939
13940typedef union VkAccelerationStructureGeometryDataKHR {
13941 VkAccelerationStructureGeometryTrianglesDataKHR triangles;
13942 VkAccelerationStructureGeometryAabbsDataKHR aabbs;
13943 VkAccelerationStructureGeometryInstancesDataKHR instances;
13944} VkAccelerationStructureGeometryDataKHR;
13945
13946typedef struct VkAccelerationStructureGeometryKHR {
13947 VkStructureType sType;
13948 const void* pNext;
13949 VkGeometryTypeKHR geometryType;
13950 VkAccelerationStructureGeometryDataKHR geometry;
13951 VkGeometryFlagsKHR flags;
13952} VkAccelerationStructureGeometryKHR;
13953
13954typedef struct VkAccelerationStructureBuildGeometryInfoKHR {
13955 VkStructureType sType;
13956 const void* pNext;
13957 VkAccelerationStructureTypeKHR type;
13958 VkBuildAccelerationStructureFlagsKHR flags;
13959 VkBuildAccelerationStructureModeKHR mode;
13960 VkAccelerationStructureKHR srcAccelerationStructure;
13961 VkAccelerationStructureKHR dstAccelerationStructure;
13962 uint32_t geometryCount;
13963 const VkAccelerationStructureGeometryKHR* pGeometries;
13964 const VkAccelerationStructureGeometryKHR* const* ppGeometries;
13965 VkDeviceOrHostAddressKHR scratchData;
13966} VkAccelerationStructureBuildGeometryInfoKHR;
13967
13968typedef struct VkAccelerationStructureCreateInfoKHR {
13969 VkStructureType sType;
13970 const void* pNext;
13971 VkAccelerationStructureCreateFlagsKHR createFlags;
13972 VkBuffer buffer;
13973 VkDeviceSize offset;
13974 VkDeviceSize size;
13975 VkAccelerationStructureTypeKHR type;
13976 VkDeviceAddress deviceAddress;
13977} VkAccelerationStructureCreateInfoKHR;
13978
13979typedef struct VkWriteDescriptorSetAccelerationStructureKHR {
13980 VkStructureType sType;
13981 const void* pNext;
13982 uint32_t accelerationStructureCount;
13983 const VkAccelerationStructureKHR* pAccelerationStructures;
13984} VkWriteDescriptorSetAccelerationStructureKHR;
13985
13986typedef struct VkPhysicalDeviceAccelerationStructureFeaturesKHR {
13987 VkStructureType sType;
13988 void* pNext;
13989 VkBool32 accelerationStructure;
13990 VkBool32 accelerationStructureCaptureReplay;
13991 VkBool32 accelerationStructureIndirectBuild;
13992 VkBool32 accelerationStructureHostCommands;
13993 VkBool32 descriptorBindingAccelerationStructureUpdateAfterBind;
13994} VkPhysicalDeviceAccelerationStructureFeaturesKHR;
13995
13996typedef struct VkPhysicalDeviceAccelerationStructurePropertiesKHR {
13997 VkStructureType sType;
13998 void* pNext;
13999 uint64_t maxGeometryCount;
14000 uint64_t maxInstanceCount;
14001 uint64_t maxPrimitiveCount;
14002 uint32_t maxPerStageDescriptorAccelerationStructures;
14003 uint32_t maxPerStageDescriptorUpdateAfterBindAccelerationStructures;
14004 uint32_t maxDescriptorSetAccelerationStructures;
14005 uint32_t maxDescriptorSetUpdateAfterBindAccelerationStructures;
14006 uint32_t minAccelerationStructureScratchOffsetAlignment;
14007} VkPhysicalDeviceAccelerationStructurePropertiesKHR;
14008
14009typedef struct VkAccelerationStructureDeviceAddressInfoKHR {
14010 VkStructureType sType;
14011 const void* pNext;
14012 VkAccelerationStructureKHR accelerationStructure;
14013} VkAccelerationStructureDeviceAddressInfoKHR;
14014
14015typedef struct VkAccelerationStructureVersionInfoKHR {
14016 VkStructureType sType;
14017 const void* pNext;
14018 const uint8_t* pVersionData;
14019} VkAccelerationStructureVersionInfoKHR;
14020
14021typedef struct VkCopyAccelerationStructureToMemoryInfoKHR {
14022 VkStructureType sType;
14023 const void* pNext;
14024 VkAccelerationStructureKHR src;
14025 VkDeviceOrHostAddressKHR dst;
14026 VkCopyAccelerationStructureModeKHR mode;
14027} VkCopyAccelerationStructureToMemoryInfoKHR;
14028
14029typedef struct VkCopyMemoryToAccelerationStructureInfoKHR {
14030 VkStructureType sType;
14031 const void* pNext;
14032 VkDeviceOrHostAddressConstKHR src;
14033 VkAccelerationStructureKHR dst;
14034 VkCopyAccelerationStructureModeKHR mode;
14035} VkCopyMemoryToAccelerationStructureInfoKHR;
14036
14037typedef struct VkCopyAccelerationStructureInfoKHR {
14038 VkStructureType sType;
14039 const void* pNext;
14040 VkAccelerationStructureKHR src;
14041 VkAccelerationStructureKHR dst;
14042 VkCopyAccelerationStructureModeKHR mode;
14043} VkCopyAccelerationStructureInfoKHR;
14044
14045typedef struct VkAccelerationStructureBuildSizesInfoKHR {
14046 VkStructureType sType;
14047 const void* pNext;
14048 VkDeviceSize accelerationStructureSize;
14049 VkDeviceSize updateScratchSize;
14050 VkDeviceSize buildScratchSize;
14051} VkAccelerationStructureBuildSizesInfoKHR;
14052
14053typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureKHR)(VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure);
14054typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureKHR)(VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator);
14055typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructuresKHR)(VkCommandBuffer commandBuffer, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
14056typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructuresIndirectKHR)(VkCommandBuffer commandBuffer, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkDeviceAddress* pIndirectDeviceAddresses, const uint32_t* pIndirectStrides, const uint32_t* const* ppMaxPrimitiveCounts);
14057typedef VkResult (VKAPI_PTR *PFN_vkBuildAccelerationStructuresKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
14058typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureInfoKHR* pInfo);
14059typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureToMemoryKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
14060typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
14061typedef VkResult (VKAPI_PTR *PFN_vkWriteAccelerationStructuresPropertiesKHR)(VkDevice device, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, size_t dataSize, void* pData, size_t stride);
14062typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureInfoKHR* pInfo);
14063typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureToMemoryKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
14064typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
14065typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetAccelerationStructureDeviceAddressKHR)(VkDevice device, const VkAccelerationStructureDeviceAddressInfoKHR* pInfo);
14066typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesKHR)(VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery);
14067typedef void (VKAPI_PTR *PFN_vkGetDeviceAccelerationStructureCompatibilityKHR)(VkDevice device, const VkAccelerationStructureVersionInfoKHR* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility);
14068typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureBuildSizesKHR)(VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo, const uint32_t* pMaxPrimitiveCounts, VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo);
14069
14070#ifndef VK_NO_PROTOTYPES
14071VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureKHR(
14072 VkDevice device,
14073 const VkAccelerationStructureCreateInfoKHR* pCreateInfo,
14074 const VkAllocationCallbacks* pAllocator,
14075 VkAccelerationStructureKHR* pAccelerationStructure);
14076
14077VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureKHR(
14078 VkDevice device,
14079 VkAccelerationStructureKHR accelerationStructure,
14080 const VkAllocationCallbacks* pAllocator);
14081
14082VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresKHR(
14083 VkCommandBuffer commandBuffer,
14084 uint32_t infoCount,
14085 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
14086 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
14087
14088VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresIndirectKHR(
14089 VkCommandBuffer commandBuffer,
14090 uint32_t infoCount,
14091 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
14092 const VkDeviceAddress* pIndirectDeviceAddresses,
14093 const uint32_t* pIndirectStrides,
14094 const uint32_t* const* ppMaxPrimitiveCounts);
14095
14096VKAPI_ATTR VkResult VKAPI_CALL vkBuildAccelerationStructuresKHR(
14097 VkDevice device,
14098 VkDeferredOperationKHR deferredOperation,
14099 uint32_t infoCount,
14100 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
14101 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
14102
14103VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureKHR(
14104 VkDevice device,
14105 VkDeferredOperationKHR deferredOperation,
14106 const VkCopyAccelerationStructureInfoKHR* pInfo);
14107
14108VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureToMemoryKHR(
14109 VkDevice device,
14110 VkDeferredOperationKHR deferredOperation,
14111 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
14112
14113VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToAccelerationStructureKHR(
14114 VkDevice device,
14115 VkDeferredOperationKHR deferredOperation,
14116 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
14117
14118VKAPI_ATTR VkResult VKAPI_CALL vkWriteAccelerationStructuresPropertiesKHR(
14119 VkDevice device,
14120 uint32_t accelerationStructureCount,
14121 const VkAccelerationStructureKHR* pAccelerationStructures,
14122 VkQueryType queryType,
14123 size_t dataSize,
14124 void* pData,
14125 size_t stride);
14126
14127VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureKHR(
14128 VkCommandBuffer commandBuffer,
14129 const VkCopyAccelerationStructureInfoKHR* pInfo);
14130
14131VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureToMemoryKHR(
14132 VkCommandBuffer commandBuffer,
14133 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
14134
14135VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToAccelerationStructureKHR(
14136 VkCommandBuffer commandBuffer,
14137 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
14138
14139VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetAccelerationStructureDeviceAddressKHR(
14140 VkDevice device,
14141 const VkAccelerationStructureDeviceAddressInfoKHR* pInfo);
14142
14143VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesKHR(
14144 VkCommandBuffer commandBuffer,
14145 uint32_t accelerationStructureCount,
14146 const VkAccelerationStructureKHR* pAccelerationStructures,
14147 VkQueryType queryType,
14148 VkQueryPool queryPool,
14149 uint32_t firstQuery);
14150
14151VKAPI_ATTR void VKAPI_CALL vkGetDeviceAccelerationStructureCompatibilityKHR(
14152 VkDevice device,
14153 const VkAccelerationStructureVersionInfoKHR* pVersionInfo,
14154 VkAccelerationStructureCompatibilityKHR* pCompatibility);
14155
14156VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureBuildSizesKHR(
14157 VkDevice device,
14158 VkAccelerationStructureBuildTypeKHR buildType,
14159 const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo,
14160 const uint32_t* pMaxPrimitiveCounts,
14161 VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo);
14162#endif
14163
14164
14165#define VK_KHR_ray_tracing_pipeline 1
14166#define VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION 1
14167#define VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME "VK_KHR_ray_tracing_pipeline"
14168
14169typedef enum VkShaderGroupShaderKHR {
14170 VK_SHADER_GROUP_SHADER_GENERAL_KHR = 0,
14171 VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR = 1,
14172 VK_SHADER_GROUP_SHADER_ANY_HIT_KHR = 2,
14173 VK_SHADER_GROUP_SHADER_INTERSECTION_KHR = 3,
14174 VK_SHADER_GROUP_SHADER_MAX_ENUM_KHR = 0x7FFFFFFF
14175} VkShaderGroupShaderKHR;
14176typedef struct VkRayTracingShaderGroupCreateInfoKHR {
14177 VkStructureType sType;
14178 const void* pNext;
14179 VkRayTracingShaderGroupTypeKHR type;
14180 uint32_t generalShader;
14181 uint32_t closestHitShader;
14182 uint32_t anyHitShader;
14183 uint32_t intersectionShader;
14184 const void* pShaderGroupCaptureReplayHandle;
14185} VkRayTracingShaderGroupCreateInfoKHR;
14186
14187typedef struct VkRayTracingPipelineInterfaceCreateInfoKHR {
14188 VkStructureType sType;
14189 const void* pNext;
14190 uint32_t maxPipelineRayPayloadSize;
14191 uint32_t maxPipelineRayHitAttributeSize;
14192} VkRayTracingPipelineInterfaceCreateInfoKHR;
14193
14194typedef struct VkRayTracingPipelineCreateInfoKHR {
14195 VkStructureType sType;
14196 const void* pNext;
14197 VkPipelineCreateFlags flags;
14198 uint32_t stageCount;
14199 const VkPipelineShaderStageCreateInfo* pStages;
14200 uint32_t groupCount;
14201 const VkRayTracingShaderGroupCreateInfoKHR* pGroups;
14202 uint32_t maxPipelineRayRecursionDepth;
14203 const VkPipelineLibraryCreateInfoKHR* pLibraryInfo;
14204 const VkRayTracingPipelineInterfaceCreateInfoKHR* pLibraryInterface;
14205 const VkPipelineDynamicStateCreateInfo* pDynamicState;
14206 VkPipelineLayout layout;
14207 VkPipeline basePipelineHandle;
14208 int32_t basePipelineIndex;
14209} VkRayTracingPipelineCreateInfoKHR;
14210
14211typedef struct VkPhysicalDeviceRayTracingPipelineFeaturesKHR {
14212 VkStructureType sType;
14213 void* pNext;
14214 VkBool32 rayTracingPipeline;
14215 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplay;
14216 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplayMixed;
14217 VkBool32 rayTracingPipelineTraceRaysIndirect;
14218 VkBool32 rayTraversalPrimitiveCulling;
14219} VkPhysicalDeviceRayTracingPipelineFeaturesKHR;
14220
14221typedef struct VkPhysicalDeviceRayTracingPipelinePropertiesKHR {
14222 VkStructureType sType;
14223 void* pNext;
14224 uint32_t shaderGroupHandleSize;
14225 uint32_t maxRayRecursionDepth;
14226 uint32_t maxShaderGroupStride;
14227 uint32_t shaderGroupBaseAlignment;
14228 uint32_t shaderGroupHandleCaptureReplaySize;
14229 uint32_t maxRayDispatchInvocationCount;
14230 uint32_t shaderGroupHandleAlignment;
14231 uint32_t maxRayHitAttributeSize;
14232} VkPhysicalDeviceRayTracingPipelinePropertiesKHR;
14233
14234typedef struct VkStridedDeviceAddressRegionKHR {
14235 VkDeviceAddress deviceAddress;
14236 VkDeviceSize stride;
14237 VkDeviceSize size;
14238} VkStridedDeviceAddressRegionKHR;
14239
14240typedef struct VkTraceRaysIndirectCommandKHR {
14241 uint32_t width;
14242 uint32_t height;
14243 uint32_t depth;
14244} VkTraceRaysIndirectCommandKHR;
14245
14246typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysKHR)(VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, uint32_t width, uint32_t height, uint32_t depth);
14247typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
14248typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData);
14249typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysIndirectKHR)(VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, VkDeviceAddress indirectDeviceAddress);
14250typedef VkDeviceSize (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupStackSizeKHR)(VkDevice device, VkPipeline pipeline, uint32_t group, VkShaderGroupShaderKHR groupShader);
14251typedef void (VKAPI_PTR *PFN_vkCmdSetRayTracingPipelineStackSizeKHR)(VkCommandBuffer commandBuffer, uint32_t pipelineStackSize);
14252
14253#ifndef VK_NO_PROTOTYPES
14254VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysKHR(
14255 VkCommandBuffer commandBuffer,
14256 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable,
14257 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable,
14258 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable,
14259 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable,
14260 uint32_t width,
14261 uint32_t height,
14262 uint32_t depth);
14263
14264VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesKHR(
14265 VkDevice device,
14266 VkDeferredOperationKHR deferredOperation,
14267 VkPipelineCache pipelineCache,
14268 uint32_t createInfoCount,
14269 const VkRayTracingPipelineCreateInfoKHR* pCreateInfos,
14270 const VkAllocationCallbacks* pAllocator,
14271 VkPipeline* pPipelines);
14272
14273VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
14274 VkDevice device,
14275 VkPipeline pipeline,
14276 uint32_t firstGroup,
14277 uint32_t groupCount,
14278 size_t dataSize,
14279 void* pData);
14280
14281VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysIndirectKHR(
14282 VkCommandBuffer commandBuffer,
14283 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable,
14284 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable,
14285 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable,
14286 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable,
14287 VkDeviceAddress indirectDeviceAddress);
14288
14289VKAPI_ATTR VkDeviceSize VKAPI_CALL vkGetRayTracingShaderGroupStackSizeKHR(
14290 VkDevice device,
14291 VkPipeline pipeline,
14292 uint32_t group,
14293 VkShaderGroupShaderKHR groupShader);
14294
14295VKAPI_ATTR void VKAPI_CALL vkCmdSetRayTracingPipelineStackSizeKHR(
14296 VkCommandBuffer commandBuffer,
14297 uint32_t pipelineStackSize);
14298#endif
14299
14300
14301#define VK_KHR_ray_query 1
14302#define VK_KHR_RAY_QUERY_SPEC_VERSION 1
14303#define VK_KHR_RAY_QUERY_EXTENSION_NAME "VK_KHR_ray_query"
14304typedef struct VkPhysicalDeviceRayQueryFeaturesKHR {
14305 VkStructureType sType;
14306 void* pNext;
14307 VkBool32 rayQuery;
14308} VkPhysicalDeviceRayQueryFeaturesKHR;
14309
14310
14311#ifdef __cplusplus
14312}
14313#endif
14314
14315#endif
14316

source code of include/vulkan/vulkan_core.h