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