1#ifndef VULKAN_CORE_H_
2#define VULKAN_CORE_H_ 1
3
4/*
5** Copyright 2015-2024 The Khronos Group Inc.
6**
7** SPDX-License-Identifier: Apache-2.0
8*/
9
10/*
11** This header is generated from the Khronos Vulkan XML API Registry.
12**
13*/
14
15
16#ifdef __cplusplus
17extern "C" {
18#endif
19
20
21
22// VK_VERSION_1_0 is a preprocessor guard. Do not pass it to API calls.
23#define VK_VERSION_1_0 1
24#include "vk_platform.h"
25
26#define VK_DEFINE_HANDLE(object) typedef struct object##_T* object;
27
28
29#ifndef VK_USE_64_BIT_PTR_DEFINES
30 #if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__) || (defined(__riscv) && __riscv_xlen == 64)
31 #define VK_USE_64_BIT_PTR_DEFINES 1
32 #else
33 #define VK_USE_64_BIT_PTR_DEFINES 0
34 #endif
35#endif
36
37
38#ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE
39 #if (VK_USE_64_BIT_PTR_DEFINES==1)
40 #if (defined(__cplusplus) && (__cplusplus >= 201103L)) || (defined(_MSVC_LANG) && (_MSVC_LANG >= 201103L))
41 #define VK_NULL_HANDLE nullptr
42 #else
43 #define VK_NULL_HANDLE ((void*)0)
44 #endif
45 #else
46 #define VK_NULL_HANDLE 0ULL
47 #endif
48#endif
49#ifndef VK_NULL_HANDLE
50 #define VK_NULL_HANDLE 0
51#endif
52
53
54#ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE
55 #if (VK_USE_64_BIT_PTR_DEFINES==1)
56 #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object;
57 #else
58 #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t object;
59 #endif
60#endif
61
62#define VK_MAKE_API_VERSION(variant, major, minor, patch) \
63 ((((uint32_t)(variant)) << 29U) | (((uint32_t)(major)) << 22U) | (((uint32_t)(minor)) << 12U) | ((uint32_t)(patch)))
64
65// DEPRECATED: This define has been removed. Specific version defines (e.g. VK_API_VERSION_1_0), or the VK_MAKE_VERSION macro, should be used instead.
66//#define VK_API_VERSION VK_MAKE_API_VERSION(0, 1, 0, 0) // Patch version should always be set to 0
67
68// Vulkan 1.0 version number
69#define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0
70
71// Version of this file
72#define VK_HEADER_VERSION 275
73
74// Complete version of this file
75#define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION)
76
77// DEPRECATED: This define is deprecated. VK_MAKE_API_VERSION should be used instead.
78#define VK_MAKE_VERSION(major, minor, patch) \
79 ((((uint32_t)(major)) << 22U) | (((uint32_t)(minor)) << 12U) | ((uint32_t)(patch)))
80
81// DEPRECATED: This define is deprecated. VK_API_VERSION_MAJOR should be used instead.
82#define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22U)
83
84// DEPRECATED: This define is deprecated. VK_API_VERSION_MINOR should be used instead.
85#define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12U) & 0x3FFU)
86
87// DEPRECATED: This define is deprecated. VK_API_VERSION_PATCH should be used instead.
88#define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU)
89
90#define VK_API_VERSION_VARIANT(version) ((uint32_t)(version) >> 29U)
91#define VK_API_VERSION_MAJOR(version) (((uint32_t)(version) >> 22U) & 0x7FU)
92#define VK_API_VERSION_MINOR(version) (((uint32_t)(version) >> 12U) & 0x3FFU)
93#define VK_API_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU)
94typedef uint32_t VkBool32;
95typedef uint64_t VkDeviceAddress;
96typedef uint64_t VkDeviceSize;
97typedef uint32_t VkFlags;
98typedef uint32_t VkSampleMask;
99VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer)
100VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage)
101VK_DEFINE_HANDLE(VkInstance)
102VK_DEFINE_HANDLE(VkPhysicalDevice)
103VK_DEFINE_HANDLE(VkDevice)
104VK_DEFINE_HANDLE(VkQueue)
105VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphore)
106VK_DEFINE_HANDLE(VkCommandBuffer)
107VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFence)
108VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeviceMemory)
109VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkEvent)
110VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkQueryPool)
111VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferView)
112VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImageView)
113VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderModule)
114VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache)
115VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineLayout)
116VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipeline)
117VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass)
118VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout)
119VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSampler)
120VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSet)
121VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool)
122VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer)
123VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool)
124#define VK_ATTACHMENT_UNUSED (~0U)
125#define VK_FALSE 0U
126#define VK_LOD_CLAMP_NONE 1000.0F
127#define VK_QUEUE_FAMILY_IGNORED (~0U)
128#define VK_REMAINING_ARRAY_LAYERS (~0U)
129#define VK_REMAINING_MIP_LEVELS (~0U)
130#define VK_SUBPASS_EXTERNAL (~0U)
131#define VK_TRUE 1U
132#define VK_WHOLE_SIZE (~0ULL)
133#define VK_MAX_MEMORY_TYPES 32U
134#define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE 256U
135#define VK_UUID_SIZE 16U
136#define VK_MAX_EXTENSION_NAME_SIZE 256U
137#define VK_MAX_DESCRIPTION_SIZE 256U
138#define VK_MAX_MEMORY_HEAPS 16U
139
140typedef enum VkResult {
141 VK_SUCCESS = 0,
142 VK_NOT_READY = 1,
143 VK_TIMEOUT = 2,
144 VK_EVENT_SET = 3,
145 VK_EVENT_RESET = 4,
146 VK_INCOMPLETE = 5,
147 VK_ERROR_OUT_OF_HOST_MEMORY = -1,
148 VK_ERROR_OUT_OF_DEVICE_MEMORY = -2,
149 VK_ERROR_INITIALIZATION_FAILED = -3,
150 VK_ERROR_DEVICE_LOST = -4,
151 VK_ERROR_MEMORY_MAP_FAILED = -5,
152 VK_ERROR_LAYER_NOT_PRESENT = -6,
153 VK_ERROR_EXTENSION_NOT_PRESENT = -7,
154 VK_ERROR_FEATURE_NOT_PRESENT = -8,
155 VK_ERROR_INCOMPATIBLE_DRIVER = -9,
156 VK_ERROR_TOO_MANY_OBJECTS = -10,
157 VK_ERROR_FORMAT_NOT_SUPPORTED = -11,
158 VK_ERROR_FRAGMENTED_POOL = -12,
159 VK_ERROR_UNKNOWN = -13,
160 VK_ERROR_OUT_OF_POOL_MEMORY = -1000069000,
161 VK_ERROR_INVALID_EXTERNAL_HANDLE = -1000072003,
162 VK_ERROR_FRAGMENTATION = -1000161000,
163 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS = -1000257000,
164 VK_PIPELINE_COMPILE_REQUIRED = 1000297000,
165 VK_ERROR_SURFACE_LOST_KHR = -1000000000,
166 VK_ERROR_NATIVE_WINDOW_IN_USE_KHR = -1000000001,
167 VK_SUBOPTIMAL_KHR = 1000001003,
168 VK_ERROR_OUT_OF_DATE_KHR = -1000001004,
169 VK_ERROR_INCOMPATIBLE_DISPLAY_KHR = -1000003001,
170 VK_ERROR_VALIDATION_FAILED_EXT = -1000011001,
171 VK_ERROR_INVALID_SHADER_NV = -1000012000,
172 VK_ERROR_IMAGE_USAGE_NOT_SUPPORTED_KHR = -1000023000,
173 VK_ERROR_VIDEO_PICTURE_LAYOUT_NOT_SUPPORTED_KHR = -1000023001,
174 VK_ERROR_VIDEO_PROFILE_OPERATION_NOT_SUPPORTED_KHR = -1000023002,
175 VK_ERROR_VIDEO_PROFILE_FORMAT_NOT_SUPPORTED_KHR = -1000023003,
176 VK_ERROR_VIDEO_PROFILE_CODEC_NOT_SUPPORTED_KHR = -1000023004,
177 VK_ERROR_VIDEO_STD_VERSION_NOT_SUPPORTED_KHR = -1000023005,
178 VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT = -1000158000,
179 VK_ERROR_NOT_PERMITTED_KHR = -1000174001,
180 VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT = -1000255000,
181 VK_THREAD_IDLE_KHR = 1000268000,
182 VK_THREAD_DONE_KHR = 1000268001,
183 VK_OPERATION_DEFERRED_KHR = 1000268002,
184 VK_OPERATION_NOT_DEFERRED_KHR = 1000268003,
185 VK_ERROR_INVALID_VIDEO_STD_PARAMETERS_KHR = -1000299000,
186 VK_ERROR_COMPRESSION_EXHAUSTED_EXT = -1000338000,
187 VK_ERROR_INCOMPATIBLE_SHADER_BINARY_EXT = 1000482000,
188 VK_ERROR_OUT_OF_POOL_MEMORY_KHR = VK_ERROR_OUT_OF_POOL_MEMORY,
189 VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = VK_ERROR_INVALID_EXTERNAL_HANDLE,
190 VK_ERROR_FRAGMENTATION_EXT = VK_ERROR_FRAGMENTATION,
191 VK_ERROR_NOT_PERMITTED_EXT = VK_ERROR_NOT_PERMITTED_KHR,
192 VK_ERROR_INVALID_DEVICE_ADDRESS_EXT = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS,
193 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS,
194 VK_PIPELINE_COMPILE_REQUIRED_EXT = VK_PIPELINE_COMPILE_REQUIRED,
195 VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT = VK_PIPELINE_COMPILE_REQUIRED,
196 VK_RESULT_MAX_ENUM = 0x7FFFFFFF
197} VkResult;
198
199typedef enum VkStructureType {
200 VK_STRUCTURE_TYPE_APPLICATION_INFO = 0,
201 VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = 1,
202 VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO = 2,
203 VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO = 3,
204 VK_STRUCTURE_TYPE_SUBMIT_INFO = 4,
205 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO = 5,
206 VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = 6,
207 VK_STRUCTURE_TYPE_BIND_SPARSE_INFO = 7,
208 VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = 8,
209 VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO = 9,
210 VK_STRUCTURE_TYPE_EVENT_CREATE_INFO = 10,
211 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO = 11,
212 VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = 12,
213 VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO = 13,
214 VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = 14,
215 VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO = 15,
216 VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO = 16,
217 VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO = 17,
218 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO = 18,
219 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO = 19,
220 VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO = 20,
221 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO = 21,
222 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO = 22,
223 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO = 23,
224 VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO = 24,
225 VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO = 25,
226 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO = 26,
227 VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO = 27,
228 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO = 28,
229 VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO = 29,
230 VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO = 30,
231 VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO = 31,
232 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO = 32,
233 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO = 33,
234 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO = 34,
235 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = 35,
236 VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = 36,
237 VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO = 37,
238 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO = 38,
239 VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO = 39,
240 VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO = 40,
241 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO = 41,
242 VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO = 42,
243 VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = 43,
244 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER = 44,
245 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = 45,
246 VK_STRUCTURE_TYPE_MEMORY_BARRIER = 46,
247 VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO = 47,
248 VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO = 48,
249 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES = 1000094000,
250 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO = 1000157000,
251 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO = 1000157001,
252 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES = 1000083000,
253 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS = 1000127000,
254 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO = 1000127001,
255 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO = 1000060000,
256 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO = 1000060003,
257 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO = 1000060004,
258 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO = 1000060005,
259 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO = 1000060006,
260 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO = 1000060013,
261 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO = 1000060014,
262 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES = 1000070000,
263 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO = 1000070001,
264 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 = 1000146000,
265 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 = 1000146001,
266 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 = 1000146002,
267 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 = 1000146003,
268 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 = 1000146004,
269 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 = 1000059000,
270 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 = 1000059001,
271 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 = 1000059002,
272 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 = 1000059003,
273 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 = 1000059004,
274 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 = 1000059005,
275 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 = 1000059006,
276 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 = 1000059007,
277 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 = 1000059008,
278 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES = 1000117000,
279 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO = 1000117001,
280 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO = 1000117002,
281 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO = 1000117003,
282 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO = 1000053000,
283 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES = 1000053001,
284 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES = 1000053002,
285 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES = 1000120000,
286 VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO = 1000145000,
287 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES = 1000145001,
288 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES = 1000145002,
289 VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 = 1000145003,
290 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO = 1000156000,
291 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO = 1000156001,
292 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO = 1000156002,
293 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO = 1000156003,
294 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES = 1000156004,
295 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES = 1000156005,
296 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO = 1000085000,
297 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO = 1000071000,
298 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES = 1000071001,
299 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO = 1000071002,
300 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES = 1000071003,
301 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES = 1000071004,
302 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO = 1000072000,
303 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO = 1000072001,
304 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO = 1000072002,
305 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO = 1000112000,
306 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES = 1000112001,
307 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO = 1000113000,
308 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO = 1000077000,
309 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO = 1000076000,
310 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES = 1000076001,
311 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES = 1000168000,
312 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT = 1000168001,
313 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES = 1000063000,
314 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES = 49,
315 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES = 50,
316 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES = 51,
317 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES = 52,
318 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO = 1000147000,
319 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 = 1000109000,
320 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 = 1000109001,
321 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 = 1000109002,
322 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 = 1000109003,
323 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 = 1000109004,
324 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO = 1000109005,
325 VK_STRUCTURE_TYPE_SUBPASS_END_INFO = 1000109006,
326 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES = 1000177000,
327 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES = 1000196000,
328 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES = 1000180000,
329 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES = 1000082000,
330 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES = 1000197000,
331 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO = 1000161000,
332 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES = 1000161001,
333 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES = 1000161002,
334 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO = 1000161003,
335 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT = 1000161004,
336 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES = 1000199000,
337 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE = 1000199001,
338 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES = 1000221000,
339 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO = 1000246000,
340 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES = 1000130000,
341 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO = 1000130001,
342 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES = 1000211000,
343 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES = 1000108000,
344 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO = 1000108001,
345 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO = 1000108002,
346 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO = 1000108003,
347 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES = 1000253000,
348 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES = 1000175000,
349 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES = 1000241000,
350 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT = 1000241001,
351 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT = 1000241002,
352 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES = 1000261000,
353 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES = 1000207000,
354 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES = 1000207001,
355 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO = 1000207002,
356 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO = 1000207003,
357 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO = 1000207004,
358 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO = 1000207005,
359 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES = 1000257000,
360 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO = 1000244001,
361 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO = 1000257002,
362 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO = 1000257003,
363 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO = 1000257004,
364 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES = 53,
365 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES = 54,
366 VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO = 1000192000,
367 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES = 1000215000,
368 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES = 1000245000,
369 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES = 1000276000,
370 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES = 1000295000,
371 VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO = 1000295001,
372 VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO = 1000295002,
373 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES = 1000297000,
374 VK_STRUCTURE_TYPE_MEMORY_BARRIER_2 = 1000314000,
375 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2 = 1000314001,
376 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2 = 1000314002,
377 VK_STRUCTURE_TYPE_DEPENDENCY_INFO = 1000314003,
378 VK_STRUCTURE_TYPE_SUBMIT_INFO_2 = 1000314004,
379 VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO = 1000314005,
380 VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO = 1000314006,
381 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES = 1000314007,
382 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES = 1000325000,
383 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES = 1000335000,
384 VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2 = 1000337000,
385 VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2 = 1000337001,
386 VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2 = 1000337002,
387 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2 = 1000337003,
388 VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2 = 1000337004,
389 VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2 = 1000337005,
390 VK_STRUCTURE_TYPE_BUFFER_COPY_2 = 1000337006,
391 VK_STRUCTURE_TYPE_IMAGE_COPY_2 = 1000337007,
392 VK_STRUCTURE_TYPE_IMAGE_BLIT_2 = 1000337008,
393 VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2 = 1000337009,
394 VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2 = 1000337010,
395 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES = 1000225000,
396 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO = 1000225001,
397 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES = 1000225002,
398 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES = 1000138000,
399 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES = 1000138001,
400 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK = 1000138002,
401 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO = 1000138003,
402 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES = 1000066000,
403 VK_STRUCTURE_TYPE_RENDERING_INFO = 1000044000,
404 VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO = 1000044001,
405 VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO = 1000044002,
406 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES = 1000044003,
407 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO = 1000044004,
408 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES = 1000280000,
409 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES = 1000280001,
410 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES = 1000281001,
411 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3 = 1000360000,
412 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES = 1000413000,
413 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES = 1000413001,
414 VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS = 1000413002,
415 VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS = 1000413003,
416 VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR = 1000001000,
417 VK_STRUCTURE_TYPE_PRESENT_INFO_KHR = 1000001001,
418 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR = 1000060007,
419 VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR = 1000060008,
420 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR = 1000060009,
421 VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR = 1000060010,
422 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR = 1000060011,
423 VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR = 1000060012,
424 VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR = 1000002000,
425 VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR = 1000002001,
426 VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR = 1000003000,
427 VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR = 1000004000,
428 VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR = 1000005000,
429 VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR = 1000006000,
430 VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR = 1000008000,
431 VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR = 1000009000,
432 VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT = 1000011000,
433 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD = 1000018000,
434 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT = 1000022000,
435 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT = 1000022001,
436 VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT = 1000022002,
437 VK_STRUCTURE_TYPE_VIDEO_PROFILE_INFO_KHR = 1000023000,
438 VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR = 1000023001,
439 VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_INFO_KHR = 1000023002,
440 VK_STRUCTURE_TYPE_VIDEO_SESSION_MEMORY_REQUIREMENTS_KHR = 1000023003,
441 VK_STRUCTURE_TYPE_BIND_VIDEO_SESSION_MEMORY_INFO_KHR = 1000023004,
442 VK_STRUCTURE_TYPE_VIDEO_SESSION_CREATE_INFO_KHR = 1000023005,
443 VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000023006,
444 VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR = 1000023007,
445 VK_STRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHR = 1000023008,
446 VK_STRUCTURE_TYPE_VIDEO_END_CODING_INFO_KHR = 1000023009,
447 VK_STRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHR = 1000023010,
448 VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_INFO_KHR = 1000023011,
449 VK_STRUCTURE_TYPE_QUEUE_FAMILY_VIDEO_PROPERTIES_KHR = 1000023012,
450 VK_STRUCTURE_TYPE_VIDEO_PROFILE_LIST_INFO_KHR = 1000023013,
451 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR = 1000023014,
452 VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR = 1000023015,
453 VK_STRUCTURE_TYPE_QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_KHR = 1000023016,
454 VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR = 1000024000,
455 VK_STRUCTURE_TYPE_VIDEO_DECODE_CAPABILITIES_KHR = 1000024001,
456 VK_STRUCTURE_TYPE_VIDEO_DECODE_USAGE_INFO_KHR = 1000024002,
457 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000,
458 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001,
459 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV = 1000026002,
460 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT = 1000028000,
461 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT = 1000028001,
462 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT = 1000028002,
463 VK_STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX = 1000029000,
464 VK_STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX = 1000029001,
465 VK_STRUCTURE_TYPE_CU_LAUNCH_INFO_NVX = 1000029002,
466 VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX = 1000030000,
467 VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX = 1000030001,
468 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_KHR = 1000038000,
469 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000038001,
470 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR = 1000038002,
471 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PICTURE_INFO_KHR = 1000038003,
472 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_KHR = 1000038004,
473 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_INFO_KHR = 1000038005,
474 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_GOP_REMAINING_FRAME_INFO_KHR = 1000038006,
475 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_INFO_KHR = 1000038007,
476 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_KHR = 1000038008,
477 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_KHR = 1000038009,
478 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_KHR = 1000038010,
479 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_QUALITY_LEVEL_PROPERTIES_KHR = 1000038011,
480 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_GET_INFO_KHR = 1000038012,
481 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_FEEDBACK_INFO_KHR = 1000038013,
482 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_KHR = 1000039000,
483 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000039001,
484 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR = 1000039002,
485 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PICTURE_INFO_KHR = 1000039003,
486 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_KHR = 1000039004,
487 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_INFO_KHR = 1000039005,
488 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_GOP_REMAINING_FRAME_INFO_KHR = 1000039006,
489 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_INFO_KHR = 1000039007,
490 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_KHR = 1000039009,
491 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_KHR = 1000039010,
492 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_CREATE_INFO_KHR = 1000039011,
493 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_QUALITY_LEVEL_PROPERTIES_KHR = 1000039012,
494 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_GET_INFO_KHR = 1000039013,
495 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_FEEDBACK_INFO_KHR = 1000039014,
496 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_KHR = 1000040000,
497 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_KHR = 1000040001,
498 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_INFO_KHR = 1000040003,
499 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000040004,
500 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR = 1000040005,
501 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_KHR = 1000040006,
502 VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000,
503 VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000044006,
504 VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT = 1000044007,
505 VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD = 1000044008,
506 VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX = 1000044009,
507 VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP = 1000049000,
508 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV = 1000050000,
509 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = 1000056000,
510 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV = 1000056001,
511 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057000,
512 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057001,
513 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV = 1000058000,
514 VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT = 1000061000,
515 VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN = 1000062000,
516 VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT = 1000067000,
517 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT = 1000067001,
518 VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO_EXT = 1000068000,
519 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES_EXT = 1000068001,
520 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES_EXT = 1000068002,
521 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073000,
522 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073001,
523 VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR = 1000073002,
524 VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR = 1000073003,
525 VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR = 1000074000,
526 VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR = 1000074001,
527 VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR = 1000074002,
528 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR = 1000075000,
529 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078000,
530 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078001,
531 VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR = 1000078002,
532 VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR = 1000078003,
533 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR = 1000079000,
534 VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR = 1000079001,
535 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR = 1000080000,
536 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT = 1000081000,
537 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT = 1000081001,
538 VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT = 1000081002,
539 VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR = 1000084000,
540 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV = 1000087000,
541 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT = 1000090000,
542 VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT = 1000091000,
543 VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT = 1000091001,
544 VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT = 1000091002,
545 VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT = 1000091003,
546 VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE = 1000092000,
547 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX = 1000097000,
548 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV = 1000098000,
549 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT = 1000099000,
550 VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT = 1000099001,
551 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT = 1000101000,
552 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT = 1000101001,
553 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT = 1000102000,
554 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT = 1000102001,
555 VK_STRUCTURE_TYPE_HDR_METADATA_EXT = 1000105000,
556 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RELAXED_LINE_RASTERIZATION_FEATURES_IMG = 1000110000,
557 VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR = 1000111000,
558 VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114000,
559 VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114001,
560 VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR = 1000114002,
561 VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR = 1000115000,
562 VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR = 1000115001,
563 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR = 1000116000,
564 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR = 1000116001,
565 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR = 1000116002,
566 VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR = 1000116003,
567 VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR = 1000116004,
568 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR = 1000116005,
569 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR = 1000116006,
570 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR = 1000119000,
571 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR = 1000119001,
572 VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR = 1000119002,
573 VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR = 1000121000,
574 VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR = 1000121001,
575 VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR = 1000121002,
576 VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR = 1000121003,
577 VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR = 1000121004,
578 VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK = 1000122000,
579 VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK = 1000123000,
580 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT = 1000128000,
581 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT = 1000128001,
582 VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT = 1000128002,
583 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT = 1000128003,
584 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT = 1000128004,
585 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID = 1000129000,
586 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID = 1000129001,
587 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID = 1000129002,
588 VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129003,
589 VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129004,
590 VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID = 1000129005,
591 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID = 1000129006,
592#ifdef VK_ENABLE_BETA_EXTENSIONS
593 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_FEATURES_AMDX = 1000134000,
594#endif
595#ifdef VK_ENABLE_BETA_EXTENSIONS
596 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_PROPERTIES_AMDX = 1000134001,
597#endif
598#ifdef VK_ENABLE_BETA_EXTENSIONS
599 VK_STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_SCRATCH_SIZE_AMDX = 1000134002,
600#endif
601#ifdef VK_ENABLE_BETA_EXTENSIONS
602 VK_STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_CREATE_INFO_AMDX = 1000134003,
603#endif
604#ifdef VK_ENABLE_BETA_EXTENSIONS
605 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_NODE_CREATE_INFO_AMDX = 1000134004,
606#endif
607 VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT = 1000143000,
608 VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT = 1000143001,
609 VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT = 1000143002,
610 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT = 1000143003,
611 VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT = 1000143004,
612 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT = 1000148000,
613 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT = 1000148001,
614 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT = 1000148002,
615 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV = 1000149000,
616 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR = 1000150007,
617 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR = 1000150000,
618 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR = 1000150002,
619 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR = 1000150003,
620 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR = 1000150004,
621 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR = 1000150005,
622 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR = 1000150006,
623 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR = 1000150009,
624 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR = 1000150010,
625 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR = 1000150011,
626 VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR = 1000150012,
627 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR = 1000150013,
628 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR = 1000150014,
629 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR = 1000150017,
630 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR = 1000150020,
631 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR = 1000347000,
632 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR = 1000347001,
633 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR = 1000150015,
634 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR = 1000150016,
635 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR = 1000150018,
636 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR = 1000348013,
637 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV = 1000152000,
638 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV = 1000154000,
639 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV = 1000154001,
640 VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT = 1000158000,
641 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT = 1000158002,
642 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT = 1000158003,
643 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT = 1000158004,
644 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT = 1000158005,
645 VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT = 1000158006,
646 VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160000,
647 VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160001,
648#ifdef VK_ENABLE_BETA_EXTENSIONS
649 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR = 1000163000,
650#endif
651#ifdef VK_ENABLE_BETA_EXTENSIONS
652 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR = 1000163001,
653#endif
654 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV = 1000164000,
655 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV = 1000164001,
656 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV = 1000164002,
657 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV = 1000164005,
658 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV = 1000165000,
659 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV = 1000165001,
660 VK_STRUCTURE_TYPE_GEOMETRY_NV = 1000165003,
661 VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV = 1000165004,
662 VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV = 1000165005,
663 VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV = 1000165006,
664 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV = 1000165007,
665 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV = 1000165008,
666 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV = 1000165009,
667 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV = 1000165011,
668 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV = 1000165012,
669 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV = 1000166000,
670 VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV = 1000166001,
671 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT = 1000170000,
672 VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT = 1000170001,
673 VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT = 1000178000,
674 VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT = 1000178001,
675 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT = 1000178002,
676 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR = 1000181000,
677 VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD = 1000183000,
678 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD = 1000185000,
679 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_KHR = 1000187000,
680 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000187001,
681 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR = 1000187002,
682 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_INFO_KHR = 1000187003,
683 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_KHR = 1000187004,
684 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_KHR = 1000187005,
685 VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR = 1000174000,
686 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR = 1000388000,
687 VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR = 1000388001,
688 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD = 1000189000,
689 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT = 1000190000,
690 VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP = 1000191000,
691 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV = 1000201000,
692 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV = 1000202000,
693 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV = 1000202001,
694 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV = 1000204000,
695 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV = 1000205000,
696 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV = 1000205002,
697 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV = 1000206000,
698 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV = 1000206001,
699 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL = 1000209000,
700 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL = 1000210000,
701 VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL = 1000210001,
702 VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL = 1000210002,
703 VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL = 1000210003,
704 VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL = 1000210004,
705 VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL = 1000210005,
706 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT = 1000212000,
707 VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD = 1000213000,
708 VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD = 1000213001,
709 VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA = 1000214000,
710 VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT = 1000217000,
711 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT = 1000218000,
712 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT = 1000218001,
713 VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT = 1000218002,
714 VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000226000,
715 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR = 1000226001,
716 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR = 1000226002,
717 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR = 1000226003,
718 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR = 1000226004,
719 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD = 1000227000,
720 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD = 1000229000,
721 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT = 1000234000,
722 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT = 1000237000,
723 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT = 1000238000,
724 VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT = 1000238001,
725 VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR = 1000239000,
726 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV = 1000240000,
727 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT = 1000244000,
728 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT = 1000244002,
729 VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT = 1000247000,
730 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR = 1000248000,
731 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV = 1000249000,
732 VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249001,
733 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249002,
734 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV = 1000250000,
735 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV = 1000250001,
736 VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV = 1000250002,
737 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT = 1000251000,
738 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT = 1000252000,
739 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT = 1000254000,
740 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT = 1000254001,
741 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT = 1000254002,
742 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT = 1000255000,
743 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT = 1000255002,
744 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT = 1000255001,
745 VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT = 1000256000,
746 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT = 1000259000,
747 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT = 1000259001,
748 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT = 1000259002,
749 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT = 1000260000,
750 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT = 1000265000,
751 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT = 1000267000,
752 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR = 1000269000,
753 VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR = 1000269001,
754 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR = 1000269002,
755 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR = 1000269003,
756 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR = 1000269004,
757 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR = 1000269005,
758 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES_EXT = 1000270000,
759 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES_EXT = 1000270001,
760 VK_STRUCTURE_TYPE_MEMORY_TO_IMAGE_COPY_EXT = 1000270002,
761 VK_STRUCTURE_TYPE_IMAGE_TO_MEMORY_COPY_EXT = 1000270003,
762 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_MEMORY_INFO_EXT = 1000270004,
763 VK_STRUCTURE_TYPE_COPY_MEMORY_TO_IMAGE_INFO_EXT = 1000270005,
764 VK_STRUCTURE_TYPE_HOST_IMAGE_LAYOUT_TRANSITION_INFO_EXT = 1000270006,
765 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_IMAGE_INFO_EXT = 1000270007,
766 VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE_EXT = 1000270008,
767 VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY_EXT = 1000270009,
768 VK_STRUCTURE_TYPE_MEMORY_MAP_INFO_KHR = 1000271000,
769 VK_STRUCTURE_TYPE_MEMORY_UNMAP_INFO_KHR = 1000271001,
770 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT = 1000273000,
771 VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_EXT = 1000274000,
772 VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_EXT = 1000274001,
773 VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_EXT = 1000274002,
774 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT = 1000275000,
775 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_EXT = 1000275001,
776 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_EXT = 1000275002,
777 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_EXT = 1000275003,
778 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_EXT = 1000275004,
779 VK_STRUCTURE_TYPE_RELEASE_SWAPCHAIN_IMAGES_INFO_EXT = 1000275005,
780 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV = 1000277000,
781 VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV = 1000277001,
782 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV = 1000277002,
783 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV = 1000277003,
784 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV = 1000277004,
785 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV = 1000277005,
786 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV = 1000277006,
787 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV = 1000277007,
788 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV = 1000278000,
789 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV = 1000278001,
790 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT = 1000281000,
791 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM = 1000282000,
792 VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM = 1000282001,
793 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_BIAS_CONTROL_FEATURES_EXT = 1000283000,
794 VK_STRUCTURE_TYPE_DEPTH_BIAS_INFO_EXT = 1000283001,
795 VK_STRUCTURE_TYPE_DEPTH_BIAS_REPRESENTATION_INFO_EXT = 1000283002,
796 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT = 1000284000,
797 VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT = 1000284001,
798 VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT = 1000284002,
799 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT = 1000286000,
800 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT = 1000286001,
801 VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT = 1000287000,
802 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT = 1000287001,
803 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT = 1000287002,
804 VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR = 1000290000,
805 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV = 1000292000,
806 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_BARRIER_NV = 1000292001,
807 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_BARRIER_CREATE_INFO_NV = 1000292002,
808 VK_STRUCTURE_TYPE_PRESENT_ID_KHR = 1000294000,
809 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR = 1000294001,
810 VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR = 1000299000,
811 VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR = 1000299001,
812 VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR = 1000299002,
813 VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR = 1000299003,
814 VK_STRUCTURE_TYPE_VIDEO_ENCODE_USAGE_INFO_KHR = 1000299004,
815 VK_STRUCTURE_TYPE_QUERY_POOL_VIDEO_ENCODE_FEEDBACK_CREATE_INFO_KHR = 1000299005,
816 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR = 1000299006,
817 VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUALITY_LEVEL_PROPERTIES_KHR = 1000299007,
818 VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR = 1000299008,
819 VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_PARAMETERS_GET_INFO_KHR = 1000299009,
820 VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_PARAMETERS_FEEDBACK_INFO_KHR = 1000299010,
821 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV = 1000300000,
822 VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV = 1000300001,
823 VK_STRUCTURE_TYPE_CUDA_MODULE_CREATE_INFO_NV = 1000307000,
824 VK_STRUCTURE_TYPE_CUDA_FUNCTION_CREATE_INFO_NV = 1000307001,
825 VK_STRUCTURE_TYPE_CUDA_LAUNCH_INFO_NV = 1000307002,
826 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_FEATURES_NV = 1000307003,
827 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_PROPERTIES_NV = 1000307004,
828 VK_STRUCTURE_TYPE_QUERY_LOW_LATENCY_SUPPORT_NV = 1000310000,
829 VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECT_CREATE_INFO_EXT = 1000311000,
830 VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECTS_INFO_EXT = 1000311001,
831 VK_STRUCTURE_TYPE_EXPORT_METAL_DEVICE_INFO_EXT = 1000311002,
832 VK_STRUCTURE_TYPE_EXPORT_METAL_COMMAND_QUEUE_INFO_EXT = 1000311003,
833 VK_STRUCTURE_TYPE_EXPORT_METAL_BUFFER_INFO_EXT = 1000311004,
834 VK_STRUCTURE_TYPE_IMPORT_METAL_BUFFER_INFO_EXT = 1000311005,
835 VK_STRUCTURE_TYPE_EXPORT_METAL_TEXTURE_INFO_EXT = 1000311006,
836 VK_STRUCTURE_TYPE_IMPORT_METAL_TEXTURE_INFO_EXT = 1000311007,
837 VK_STRUCTURE_TYPE_EXPORT_METAL_IO_SURFACE_INFO_EXT = 1000311008,
838 VK_STRUCTURE_TYPE_IMPORT_METAL_IO_SURFACE_INFO_EXT = 1000311009,
839 VK_STRUCTURE_TYPE_EXPORT_METAL_SHARED_EVENT_INFO_EXT = 1000311010,
840 VK_STRUCTURE_TYPE_IMPORT_METAL_SHARED_EVENT_INFO_EXT = 1000311011,
841 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV = 1000314008,
842 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV = 1000314009,
843 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT = 1000316000,
844 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT = 1000316001,
845 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT = 1000316002,
846 VK_STRUCTURE_TYPE_DESCRIPTOR_ADDRESS_INFO_EXT = 1000316003,
847 VK_STRUCTURE_TYPE_DESCRIPTOR_GET_INFO_EXT = 1000316004,
848 VK_STRUCTURE_TYPE_BUFFER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316005,
849 VK_STRUCTURE_TYPE_IMAGE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316006,
850 VK_STRUCTURE_TYPE_IMAGE_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316007,
851 VK_STRUCTURE_TYPE_SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316008,
852 VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT = 1000316010,
853 VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_INFO_EXT = 1000316011,
854 VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT = 1000316012,
855 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316009,
856 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT = 1000320000,
857 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT = 1000320001,
858 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT = 1000320002,
859 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD = 1000321000,
860 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR = 1000203000,
861 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR = 1000322000,
862 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR = 1000323000,
863 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV = 1000326000,
864 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV = 1000326001,
865 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV = 1000326002,
866 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV = 1000327000,
867 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV = 1000327001,
868 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV = 1000327002,
869 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT = 1000328000,
870 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT = 1000328001,
871 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT = 1000330000,
872 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT = 1000332000,
873 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT = 1000332001,
874 VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM = 1000333000,
875 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR = 1000336000,
876 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT = 1000338000,
877 VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT = 1000338001,
878 VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT = 1000338004,
879 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT = 1000339000,
880 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT = 1000340000,
881 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_EXT = 1000341000,
882 VK_STRUCTURE_TYPE_DEVICE_FAULT_COUNTS_EXT = 1000341001,
883 VK_STRUCTURE_TYPE_DEVICE_FAULT_INFO_EXT = 1000341002,
884 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT = 1000344000,
885 VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT = 1000346000,
886 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT = 1000352000,
887 VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT = 1000352001,
888 VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT = 1000352002,
889 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT = 1000353000,
890 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT = 1000354000,
891 VK_STRUCTURE_TYPE_DEVICE_ADDRESS_BINDING_CALLBACK_DATA_EXT = 1000354001,
892 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT = 1000355000,
893 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT = 1000355001,
894 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT = 1000356000,
895 VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364000,
896 VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA = 1000364001,
897 VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364002,
898 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365000,
899 VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365001,
900 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA = 1000366000,
901 VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA = 1000366001,
902 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA = 1000366002,
903 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA = 1000366003,
904 VK_STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA = 1000366004,
905 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA = 1000366005,
906 VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA = 1000366006,
907 VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA = 1000366007,
908 VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA = 1000366008,
909 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA = 1000366009,
910 VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI = 1000369000,
911 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI = 1000369001,
912 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI = 1000369002,
913 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI = 1000370000,
914 VK_STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV = 1000371000,
915 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV = 1000371001,
916 VK_STRUCTURE_TYPE_PIPELINE_PROPERTIES_IDENTIFIER_EXT = 1000372000,
917 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT = 1000372001,
918 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAME_BOUNDARY_FEATURES_EXT = 1000375000,
919 VK_STRUCTURE_TYPE_FRAME_BOUNDARY_EXT = 1000375001,
920 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT = 1000376000,
921 VK_STRUCTURE_TYPE_SUBPASS_RESOLVE_PERFORMANCE_QUERY_EXT = 1000376001,
922 VK_STRUCTURE_TYPE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_INFO_EXT = 1000376002,
923 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT = 1000377000,
924 VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX = 1000378000,
925 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT = 1000381000,
926 VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT = 1000381001,
927 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT = 1000382000,
928 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR = 1000386000,
929 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT = 1000391000,
930 VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT = 1000391001,
931 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT = 1000392000,
932 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT = 1000392001,
933 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT = 1000393000,
934 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TILE_IMAGE_FEATURES_EXT = 1000395000,
935 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TILE_IMAGE_PROPERTIES_EXT = 1000395001,
936 VK_STRUCTURE_TYPE_MICROMAP_BUILD_INFO_EXT = 1000396000,
937 VK_STRUCTURE_TYPE_MICROMAP_VERSION_INFO_EXT = 1000396001,
938 VK_STRUCTURE_TYPE_COPY_MICROMAP_INFO_EXT = 1000396002,
939 VK_STRUCTURE_TYPE_COPY_MICROMAP_TO_MEMORY_INFO_EXT = 1000396003,
940 VK_STRUCTURE_TYPE_COPY_MEMORY_TO_MICROMAP_INFO_EXT = 1000396004,
941 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT = 1000396005,
942 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT = 1000396006,
943 VK_STRUCTURE_TYPE_MICROMAP_CREATE_INFO_EXT = 1000396007,
944 VK_STRUCTURE_TYPE_MICROMAP_BUILD_SIZES_INFO_EXT = 1000396008,
945 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_EXT = 1000396009,
946#ifdef VK_ENABLE_BETA_EXTENSIONS
947 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_FEATURES_NV = 1000397000,
948#endif
949#ifdef VK_ENABLE_BETA_EXTENSIONS
950 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_PROPERTIES_NV = 1000397001,
951#endif
952#ifdef VK_ENABLE_BETA_EXTENSIONS
953 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_DISPLACEMENT_MICROMAP_NV = 1000397002,
954#endif
955 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_FEATURES_HUAWEI = 1000404000,
956 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_PROPERTIES_HUAWEI = 1000404001,
957 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_VRS_FEATURES_HUAWEI = 1000404002,
958 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT = 1000411000,
959 VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT = 1000411001,
960 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT = 1000412000,
961 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM = 1000415000,
962 VK_STRUCTURE_TYPE_DEVICE_QUEUE_SHADER_CORE_CONTROL_CREATE_INFO_ARM = 1000417000,
963 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_FEATURES_ARM = 1000417001,
964 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_PROPERTIES_ARM = 1000417002,
965 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT = 1000418000,
966 VK_STRUCTURE_TYPE_IMAGE_VIEW_SLICED_CREATE_INFO_EXT = 1000418001,
967 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE = 1000420000,
968 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE = 1000420001,
969 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE = 1000420002,
970 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT = 1000421000,
971 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT = 1000422000,
972 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RENDER_PASS_STRIPED_FEATURES_ARM = 1000424000,
973 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RENDER_PASS_STRIPED_PROPERTIES_ARM = 1000424001,
974 VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_BEGIN_INFO_ARM = 1000424002,
975 VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_INFO_ARM = 1000424003,
976 VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_SUBMIT_INFO_ARM = 1000424004,
977 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM = 1000425000,
978 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM = 1000425001,
979 VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM = 1000425002,
980 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV = 1000426000,
981 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV = 1000426001,
982 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV = 1000427000,
983 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV = 1000427001,
984 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_COMPUTE_FEATURES_NV = 1000428000,
985 VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_INDIRECT_BUFFER_INFO_NV = 1000428001,
986 VK_STRUCTURE_TYPE_PIPELINE_INDIRECT_DEVICE_ADDRESS_INFO_NV = 1000428002,
987 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV = 1000430000,
988 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT = 1000437000,
989 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM = 1000440000,
990 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM = 1000440001,
991 VK_STRUCTURE_TYPE_IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM = 1000440002,
992 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_FEATURES_EXT = 1000451000,
993 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_PROPERTIES_EXT = 1000451001,
994 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_EXT = 1000453000,
995 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT = 1000455000,
996 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT = 1000455001,
997 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT = 1000458000,
998 VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_CONTROL_EXT = 1000458001,
999 VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT = 1000458002,
1000 VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT = 1000458003,
1001 VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_INFO_LUNARG = 1000459000,
1002 VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_LIST_LUNARG = 1000459001,
1003 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT = 1000462000,
1004 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT = 1000462001,
1005 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT = 1000462002,
1006 VK_STRUCTURE_TYPE_SHADER_MODULE_IDENTIFIER_EXT = 1000462003,
1007 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT = 1000342000,
1008 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV = 1000464000,
1009 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV = 1000464001,
1010 VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV = 1000464002,
1011 VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_NV = 1000464003,
1012 VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_INFO_NV = 1000464004,
1013 VK_STRUCTURE_TYPE_OPTICAL_FLOW_EXECUTE_INFO_NV = 1000464005,
1014 VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV = 1000464010,
1015 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT = 1000465000,
1016 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT = 1000466000,
1017 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_FEATURES_ANDROID = 1000468000,
1018 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_PROPERTIES_ANDROID = 1000468001,
1019 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_RESOLVE_PROPERTIES_ANDROID = 1000468002,
1020 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR = 1000470000,
1021 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES_KHR = 1000470001,
1022 VK_STRUCTURE_TYPE_RENDERING_AREA_INFO_KHR = 1000470003,
1023 VK_STRUCTURE_TYPE_DEVICE_IMAGE_SUBRESOURCE_INFO_KHR = 1000470004,
1024 VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_KHR = 1000338002,
1025 VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_KHR = 1000338003,
1026 VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO_KHR = 1000470005,
1027 VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO_KHR = 1000470006,
1028 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_POSITION_FETCH_FEATURES_KHR = 1000481000,
1029 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_FEATURES_EXT = 1000482000,
1030 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_PROPERTIES_EXT = 1000482001,
1031 VK_STRUCTURE_TYPE_SHADER_CREATE_INFO_EXT = 1000482002,
1032 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM = 1000484000,
1033 VK_STRUCTURE_TYPE_TILE_PROPERTIES_QCOM = 1000484001,
1034 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC = 1000485000,
1035 VK_STRUCTURE_TYPE_AMIGO_PROFILING_SUBMIT_INFO_SEC = 1000485001,
1036 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM = 1000488000,
1037 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV = 1000490000,
1038 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV = 1000490001,
1039 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_FEATURES_NV = 1000492000,
1040 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_PROPERTIES_NV = 1000492001,
1041 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT = 1000351000,
1042 VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT = 1000351002,
1043 VK_STRUCTURE_TYPE_LAYER_SETTINGS_CREATE_INFO_EXT = 1000496000,
1044 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM = 1000497000,
1045 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM = 1000497001,
1046 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_EXT = 1000498000,
1047 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_FEATURES_EXT = 1000499000,
1048 VK_STRUCTURE_TYPE_LATENCY_SLEEP_MODE_INFO_NV = 1000505000,
1049 VK_STRUCTURE_TYPE_LATENCY_SLEEP_INFO_NV = 1000505001,
1050 VK_STRUCTURE_TYPE_SET_LATENCY_MARKER_INFO_NV = 1000505002,
1051 VK_STRUCTURE_TYPE_GET_LATENCY_MARKER_INFO_NV = 1000505003,
1052 VK_STRUCTURE_TYPE_LATENCY_TIMINGS_FRAME_REPORT_NV = 1000505004,
1053 VK_STRUCTURE_TYPE_LATENCY_SUBMISSION_PRESENT_ID_NV = 1000505005,
1054 VK_STRUCTURE_TYPE_OUT_OF_BAND_QUEUE_TYPE_INFO_NV = 1000505006,
1055 VK_STRUCTURE_TYPE_SWAPCHAIN_LATENCY_CREATE_INFO_NV = 1000505007,
1056 VK_STRUCTURE_TYPE_LATENCY_SURFACE_CAPABILITIES_NV = 1000505008,
1057 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_KHR = 1000506000,
1058 VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_KHR = 1000506001,
1059 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_KHR = 1000506002,
1060 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM = 1000510000,
1061 VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM = 1000510001,
1062 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_MAINTENANCE_1_FEATURES_KHR = 1000515000,
1063 VK_STRUCTURE_TYPE_VIDEO_INLINE_QUERY_INFO_KHR = 1000515001,
1064 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PER_STAGE_DESCRIPTOR_SET_FEATURES_NV = 1000516000,
1065 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_2_FEATURES_QCOM = 1000518000,
1066 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_2_PROPERTIES_QCOM = 1000518001,
1067 VK_STRUCTURE_TYPE_SAMPLER_BLOCK_MATCH_WINDOW_CREATE_INFO_QCOM = 1000518002,
1068 VK_STRUCTURE_TYPE_SAMPLER_CUBIC_WEIGHTS_CREATE_INFO_QCOM = 1000519000,
1069 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUBIC_WEIGHTS_FEATURES_QCOM = 1000519001,
1070 VK_STRUCTURE_TYPE_BLIT_IMAGE_CUBIC_WEIGHTS_INFO_QCOM = 1000519002,
1071 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_DEGAMMA_FEATURES_QCOM = 1000520000,
1072 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_YCBCR_DEGAMMA_CREATE_INFO_QCOM = 1000520001,
1073 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUBIC_CLAMP_FEATURES_QCOM = 1000521000,
1074 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_FEATURES_EXT = 1000524000,
1075 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_KHR = 1000525000,
1076 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_KHR = 1000190001,
1077 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_KHR = 1000190002,
1078 VK_STRUCTURE_TYPE_SCREEN_BUFFER_PROPERTIES_QNX = 1000529000,
1079 VK_STRUCTURE_TYPE_SCREEN_BUFFER_FORMAT_PROPERTIES_QNX = 1000529001,
1080 VK_STRUCTURE_TYPE_IMPORT_SCREEN_BUFFER_INFO_QNX = 1000529002,
1081 VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_QNX = 1000529003,
1082 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCREEN_BUFFER_FEATURES_QNX = 1000529004,
1083 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_DRIVER_PROPERTIES_MSFT = 1000530000,
1084 VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_KHR = 1000184000,
1085 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES_KHR = 1000545000,
1086 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES_KHR = 1000545001,
1087 VK_STRUCTURE_TYPE_BIND_MEMORY_STATUS_KHR = 1000545002,
1088 VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO_KHR = 1000545003,
1089 VK_STRUCTURE_TYPE_PUSH_CONSTANTS_INFO_KHR = 1000545004,
1090 VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO_KHR = 1000545005,
1091 VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO_KHR = 1000545006,
1092 VK_STRUCTURE_TYPE_SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXT = 1000545007,
1093 VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_BUFFER_EMBEDDED_SAMPLERS_INFO_EXT = 1000545008,
1094 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV = 1000546000,
1095 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
1096 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
1097 VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
1098 VK_STRUCTURE_TYPE_RENDERING_INFO_KHR = VK_STRUCTURE_TYPE_RENDERING_INFO,
1099 VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR = VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO,
1100 VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO,
1101 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES,
1102 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO,
1103 VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_NV = VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD,
1104 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO,
1105 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES,
1106 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,
1107 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2,
1108 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2,
1109 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2,
1110 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2,
1111 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2,
1112 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2,
1113 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2,
1114 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2,
1115 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2,
1116 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO,
1117 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO,
1118 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO,
1119 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO,
1120 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO,
1121 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO,
1122 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO,
1123 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES,
1124 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES,
1125 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO,
1126 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO,
1127 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES,
1128 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO,
1129 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES,
1130 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES,
1131 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO,
1132 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO,
1133 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO,
1134 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO,
1135 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES,
1136 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO,
1137 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
1138 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
1139 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES,
1140 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO,
1141 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT,
1142 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES,
1143 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO,
1144 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO,
1145 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO,
1146 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2,
1147 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2,
1148 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2,
1149 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2,
1150 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2,
1151 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO,
1152 VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_END_INFO,
1153 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO,
1154 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES,
1155 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO,
1156 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES,
1157 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO,
1158 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO,
1159 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO,
1160 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
1161 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR,
1162 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS,
1163 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO,
1164 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES,
1165 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO,
1166 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES,
1167 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES,
1168 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK,
1169 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO,
1170 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2,
1171 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2,
1172 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2,
1173 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2,
1174 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2,
1175 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO,
1176 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO,
1177 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO,
1178 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO,
1179 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO,
1180 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,
1181 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,
1182 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO,
1183 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO,
1184 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO,
1185 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES,
1186 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES,
1187 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO,
1188 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT,
1189 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,
1190 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT,
1191 VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR,
1192 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES,
1193 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES,
1194 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES,
1195 VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT = VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_KHR,
1196 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_KHR,
1197 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_KHR,
1198 VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO,
1199 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES,
1200 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES,
1201 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES,
1202 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE,
1203 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR,
1204 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES,
1205 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES,
1206 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO,
1207 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO,
1208 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO,
1209 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO,
1210 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL = VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL,
1211 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES,
1212 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES,
1213 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES,
1214 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES,
1215 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO,
1216 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES,
1217 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES,
1218 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT,
1219 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT,
1220 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT,
1221 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
1222 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES,
1223 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO,
1224 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES,
1225 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES,
1226 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
1227 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO,
1228 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO,
1229 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO,
1230 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES,
1231 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES,
1232 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES,
1233 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES,
1234 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES,
1235 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES,
1236 VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO,
1237 VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO,
1238 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES,
1239 VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR = VK_STRUCTURE_TYPE_MEMORY_BARRIER_2,
1240 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2,
1241 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2,
1242 VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR = VK_STRUCTURE_TYPE_DEPENDENCY_INFO,
1243 VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR = VK_STRUCTURE_TYPE_SUBMIT_INFO_2,
1244 VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO,
1245 VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO,
1246 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES,
1247 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES,
1248 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES,
1249 VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2,
1250 VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2,
1251 VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2,
1252 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2,
1253 VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2,
1254 VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2,
1255 VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR = VK_STRUCTURE_TYPE_BUFFER_COPY_2,
1256 VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR = VK_STRUCTURE_TYPE_IMAGE_COPY_2,
1257 VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR = VK_STRUCTURE_TYPE_IMAGE_BLIT_2,
1258 VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR = VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2,
1259 VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR = VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2,
1260 VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_EXT = VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_KHR,
1261 VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_EXT = VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_KHR,
1262 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT,
1263 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT,
1264 VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE = VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT,
1265 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3,
1266 VK_STRUCTURE_TYPE_PIPELINE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR,
1267 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR,
1268 VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT = VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR,
1269 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES,
1270 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES,
1271 VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS,
1272 VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS,
1273 VK_STRUCTURE_TYPE_SHADER_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO,
1274 VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF
1275} VkStructureType;
1276
1277typedef enum VkPipelineCacheHeaderVersion {
1278 VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1,
1279 VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF
1280} VkPipelineCacheHeaderVersion;
1281
1282typedef enum VkImageLayout {
1283 VK_IMAGE_LAYOUT_UNDEFINED = 0,
1284 VK_IMAGE_LAYOUT_GENERAL = 1,
1285 VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2,
1286 VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3,
1287 VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4,
1288 VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5,
1289 VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6,
1290 VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7,
1291 VK_IMAGE_LAYOUT_PREINITIALIZED = 8,
1292 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL = 1000117000,
1293 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL = 1000117001,
1294 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL = 1000241000,
1295 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL = 1000241001,
1296 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL = 1000241002,
1297 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL = 1000241003,
1298 VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL = 1000314000,
1299 VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL = 1000314001,
1300 VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002,
1301 VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR = 1000024000,
1302 VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR = 1000024001,
1303 VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR = 1000024002,
1304 VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR = 1000111000,
1305 VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000,
1306 VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003,
1307 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR = 1000299000,
1308 VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR = 1000299001,
1309 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR = 1000299002,
1310 VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT = 1000339000,
1311 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,
1312 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,
1313 VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR,
1314 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
1315 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
1316 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL,
1317 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL,
1318 VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL,
1319 VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL,
1320 VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF
1321} VkImageLayout;
1322
1323typedef enum VkObjectType {
1324 VK_OBJECT_TYPE_UNKNOWN = 0,
1325 VK_OBJECT_TYPE_INSTANCE = 1,
1326 VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2,
1327 VK_OBJECT_TYPE_DEVICE = 3,
1328 VK_OBJECT_TYPE_QUEUE = 4,
1329 VK_OBJECT_TYPE_SEMAPHORE = 5,
1330 VK_OBJECT_TYPE_COMMAND_BUFFER = 6,
1331 VK_OBJECT_TYPE_FENCE = 7,
1332 VK_OBJECT_TYPE_DEVICE_MEMORY = 8,
1333 VK_OBJECT_TYPE_BUFFER = 9,
1334 VK_OBJECT_TYPE_IMAGE = 10,
1335 VK_OBJECT_TYPE_EVENT = 11,
1336 VK_OBJECT_TYPE_QUERY_POOL = 12,
1337 VK_OBJECT_TYPE_BUFFER_VIEW = 13,
1338 VK_OBJECT_TYPE_IMAGE_VIEW = 14,
1339 VK_OBJECT_TYPE_SHADER_MODULE = 15,
1340 VK_OBJECT_TYPE_PIPELINE_CACHE = 16,
1341 VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17,
1342 VK_OBJECT_TYPE_RENDER_PASS = 18,
1343 VK_OBJECT_TYPE_PIPELINE = 19,
1344 VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20,
1345 VK_OBJECT_TYPE_SAMPLER = 21,
1346 VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22,
1347 VK_OBJECT_TYPE_DESCRIPTOR_SET = 23,
1348 VK_OBJECT_TYPE_FRAMEBUFFER = 24,
1349 VK_OBJECT_TYPE_COMMAND_POOL = 25,
1350 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION = 1000156000,
1351 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE = 1000085000,
1352 VK_OBJECT_TYPE_PRIVATE_DATA_SLOT = 1000295000,
1353 VK_OBJECT_TYPE_SURFACE_KHR = 1000000000,
1354 VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000,
1355 VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000,
1356 VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001,
1357 VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000,
1358 VK_OBJECT_TYPE_VIDEO_SESSION_KHR = 1000023000,
1359 VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR = 1000023001,
1360 VK_OBJECT_TYPE_CU_MODULE_NVX = 1000029000,
1361 VK_OBJECT_TYPE_CU_FUNCTION_NVX = 1000029001,
1362 VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000,
1363 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000,
1364 VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000,
1365 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000,
1366 VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL = 1000210000,
1367 VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR = 1000268000,
1368 VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV = 1000277000,
1369 VK_OBJECT_TYPE_CUDA_MODULE_NV = 1000307000,
1370 VK_OBJECT_TYPE_CUDA_FUNCTION_NV = 1000307001,
1371 VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA = 1000366000,
1372 VK_OBJECT_TYPE_MICROMAP_EXT = 1000396000,
1373 VK_OBJECT_TYPE_OPTICAL_FLOW_SESSION_NV = 1000464000,
1374 VK_OBJECT_TYPE_SHADER_EXT = 1000482000,
1375 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,
1376 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,
1377 VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = VK_OBJECT_TYPE_PRIVATE_DATA_SLOT,
1378 VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF
1379} VkObjectType;
1380
1381typedef enum VkVendorId {
1382 VK_VENDOR_ID_VIV = 0x10001,
1383 VK_VENDOR_ID_VSI = 0x10002,
1384 VK_VENDOR_ID_KAZAN = 0x10003,
1385 VK_VENDOR_ID_CODEPLAY = 0x10004,
1386 VK_VENDOR_ID_MESA = 0x10005,
1387 VK_VENDOR_ID_POCL = 0x10006,
1388 VK_VENDOR_ID_MOBILEYE = 0x10007,
1389 VK_VENDOR_ID_MAX_ENUM = 0x7FFFFFFF
1390} VkVendorId;
1391
1392typedef enum VkSystemAllocationScope {
1393 VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0,
1394 VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1,
1395 VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2,
1396 VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3,
1397 VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4,
1398 VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = 0x7FFFFFFF
1399} VkSystemAllocationScope;
1400
1401typedef enum VkInternalAllocationType {
1402 VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0,
1403 VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM = 0x7FFFFFFF
1404} VkInternalAllocationType;
1405
1406typedef enum VkFormat {
1407 VK_FORMAT_UNDEFINED = 0,
1408 VK_FORMAT_R4G4_UNORM_PACK8 = 1,
1409 VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2,
1410 VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3,
1411 VK_FORMAT_R5G6B5_UNORM_PACK16 = 4,
1412 VK_FORMAT_B5G6R5_UNORM_PACK16 = 5,
1413 VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6,
1414 VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7,
1415 VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8,
1416 VK_FORMAT_R8_UNORM = 9,
1417 VK_FORMAT_R8_SNORM = 10,
1418 VK_FORMAT_R8_USCALED = 11,
1419 VK_FORMAT_R8_SSCALED = 12,
1420 VK_FORMAT_R8_UINT = 13,
1421 VK_FORMAT_R8_SINT = 14,
1422 VK_FORMAT_R8_SRGB = 15,
1423 VK_FORMAT_R8G8_UNORM = 16,
1424 VK_FORMAT_R8G8_SNORM = 17,
1425 VK_FORMAT_R8G8_USCALED = 18,
1426 VK_FORMAT_R8G8_SSCALED = 19,
1427 VK_FORMAT_R8G8_UINT = 20,
1428 VK_FORMAT_R8G8_SINT = 21,
1429 VK_FORMAT_R8G8_SRGB = 22,
1430 VK_FORMAT_R8G8B8_UNORM = 23,
1431 VK_FORMAT_R8G8B8_SNORM = 24,
1432 VK_FORMAT_R8G8B8_USCALED = 25,
1433 VK_FORMAT_R8G8B8_SSCALED = 26,
1434 VK_FORMAT_R8G8B8_UINT = 27,
1435 VK_FORMAT_R8G8B8_SINT = 28,
1436 VK_FORMAT_R8G8B8_SRGB = 29,
1437 VK_FORMAT_B8G8R8_UNORM = 30,
1438 VK_FORMAT_B8G8R8_SNORM = 31,
1439 VK_FORMAT_B8G8R8_USCALED = 32,
1440 VK_FORMAT_B8G8R8_SSCALED = 33,
1441 VK_FORMAT_B8G8R8_UINT = 34,
1442 VK_FORMAT_B8G8R8_SINT = 35,
1443 VK_FORMAT_B8G8R8_SRGB = 36,
1444 VK_FORMAT_R8G8B8A8_UNORM = 37,
1445 VK_FORMAT_R8G8B8A8_SNORM = 38,
1446 VK_FORMAT_R8G8B8A8_USCALED = 39,
1447 VK_FORMAT_R8G8B8A8_SSCALED = 40,
1448 VK_FORMAT_R8G8B8A8_UINT = 41,
1449 VK_FORMAT_R8G8B8A8_SINT = 42,
1450 VK_FORMAT_R8G8B8A8_SRGB = 43,
1451 VK_FORMAT_B8G8R8A8_UNORM = 44,
1452 VK_FORMAT_B8G8R8A8_SNORM = 45,
1453 VK_FORMAT_B8G8R8A8_USCALED = 46,
1454 VK_FORMAT_B8G8R8A8_SSCALED = 47,
1455 VK_FORMAT_B8G8R8A8_UINT = 48,
1456 VK_FORMAT_B8G8R8A8_SINT = 49,
1457 VK_FORMAT_B8G8R8A8_SRGB = 50,
1458 VK_FORMAT_A8B8G8R8_UNORM_PACK32 = 51,
1459 VK_FORMAT_A8B8G8R8_SNORM_PACK32 = 52,
1460 VK_FORMAT_A8B8G8R8_USCALED_PACK32 = 53,
1461 VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54,
1462 VK_FORMAT_A8B8G8R8_UINT_PACK32 = 55,
1463 VK_FORMAT_A8B8G8R8_SINT_PACK32 = 56,
1464 VK_FORMAT_A8B8G8R8_SRGB_PACK32 = 57,
1465 VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58,
1466 VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59,
1467 VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 60,
1468 VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61,
1469 VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62,
1470 VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63,
1471 VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64,
1472 VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65,
1473 VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 66,
1474 VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67,
1475 VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68,
1476 VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69,
1477 VK_FORMAT_R16_UNORM = 70,
1478 VK_FORMAT_R16_SNORM = 71,
1479 VK_FORMAT_R16_USCALED = 72,
1480 VK_FORMAT_R16_SSCALED = 73,
1481 VK_FORMAT_R16_UINT = 74,
1482 VK_FORMAT_R16_SINT = 75,
1483 VK_FORMAT_R16_SFLOAT = 76,
1484 VK_FORMAT_R16G16_UNORM = 77,
1485 VK_FORMAT_R16G16_SNORM = 78,
1486 VK_FORMAT_R16G16_USCALED = 79,
1487 VK_FORMAT_R16G16_SSCALED = 80,
1488 VK_FORMAT_R16G16_UINT = 81,
1489 VK_FORMAT_R16G16_SINT = 82,
1490 VK_FORMAT_R16G16_SFLOAT = 83,
1491 VK_FORMAT_R16G16B16_UNORM = 84,
1492 VK_FORMAT_R16G16B16_SNORM = 85,
1493 VK_FORMAT_R16G16B16_USCALED = 86,
1494 VK_FORMAT_R16G16B16_SSCALED = 87,
1495 VK_FORMAT_R16G16B16_UINT = 88,
1496 VK_FORMAT_R16G16B16_SINT = 89,
1497 VK_FORMAT_R16G16B16_SFLOAT = 90,
1498 VK_FORMAT_R16G16B16A16_UNORM = 91,
1499 VK_FORMAT_R16G16B16A16_SNORM = 92,
1500 VK_FORMAT_R16G16B16A16_USCALED = 93,
1501 VK_FORMAT_R16G16B16A16_SSCALED = 94,
1502 VK_FORMAT_R16G16B16A16_UINT = 95,
1503 VK_FORMAT_R16G16B16A16_SINT = 96,
1504 VK_FORMAT_R16G16B16A16_SFLOAT = 97,
1505 VK_FORMAT_R32_UINT = 98,
1506 VK_FORMAT_R32_SINT = 99,
1507 VK_FORMAT_R32_SFLOAT = 100,
1508 VK_FORMAT_R32G32_UINT = 101,
1509 VK_FORMAT_R32G32_SINT = 102,
1510 VK_FORMAT_R32G32_SFLOAT = 103,
1511 VK_FORMAT_R32G32B32_UINT = 104,
1512 VK_FORMAT_R32G32B32_SINT = 105,
1513 VK_FORMAT_R32G32B32_SFLOAT = 106,
1514 VK_FORMAT_R32G32B32A32_UINT = 107,
1515 VK_FORMAT_R32G32B32A32_SINT = 108,
1516 VK_FORMAT_R32G32B32A32_SFLOAT = 109,
1517 VK_FORMAT_R64_UINT = 110,
1518 VK_FORMAT_R64_SINT = 111,
1519 VK_FORMAT_R64_SFLOAT = 112,
1520 VK_FORMAT_R64G64_UINT = 113,
1521 VK_FORMAT_R64G64_SINT = 114,
1522 VK_FORMAT_R64G64_SFLOAT = 115,
1523 VK_FORMAT_R64G64B64_UINT = 116,
1524 VK_FORMAT_R64G64B64_SINT = 117,
1525 VK_FORMAT_R64G64B64_SFLOAT = 118,
1526 VK_FORMAT_R64G64B64A64_UINT = 119,
1527 VK_FORMAT_R64G64B64A64_SINT = 120,
1528 VK_FORMAT_R64G64B64A64_SFLOAT = 121,
1529 VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122,
1530 VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123,
1531 VK_FORMAT_D16_UNORM = 124,
1532 VK_FORMAT_X8_D24_UNORM_PACK32 = 125,
1533 VK_FORMAT_D32_SFLOAT = 126,
1534 VK_FORMAT_S8_UINT = 127,
1535 VK_FORMAT_D16_UNORM_S8_UINT = 128,
1536 VK_FORMAT_D24_UNORM_S8_UINT = 129,
1537 VK_FORMAT_D32_SFLOAT_S8_UINT = 130,
1538 VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131,
1539 VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132,
1540 VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133,
1541 VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134,
1542 VK_FORMAT_BC2_UNORM_BLOCK = 135,
1543 VK_FORMAT_BC2_SRGB_BLOCK = 136,
1544 VK_FORMAT_BC3_UNORM_BLOCK = 137,
1545 VK_FORMAT_BC3_SRGB_BLOCK = 138,
1546 VK_FORMAT_BC4_UNORM_BLOCK = 139,
1547 VK_FORMAT_BC4_SNORM_BLOCK = 140,
1548 VK_FORMAT_BC5_UNORM_BLOCK = 141,
1549 VK_FORMAT_BC5_SNORM_BLOCK = 142,
1550 VK_FORMAT_BC6H_UFLOAT_BLOCK = 143,
1551 VK_FORMAT_BC6H_SFLOAT_BLOCK = 144,
1552 VK_FORMAT_BC7_UNORM_BLOCK = 145,
1553 VK_FORMAT_BC7_SRGB_BLOCK = 146,
1554 VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147,
1555 VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148,
1556 VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149,
1557 VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150,
1558 VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151,
1559 VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152,
1560 VK_FORMAT_EAC_R11_UNORM_BLOCK = 153,
1561 VK_FORMAT_EAC_R11_SNORM_BLOCK = 154,
1562 VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155,
1563 VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156,
1564 VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157,
1565 VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158,
1566 VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159,
1567 VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160,
1568 VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161,
1569 VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162,
1570 VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163,
1571 VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164,
1572 VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165,
1573 VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166,
1574 VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167,
1575 VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168,
1576 VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169,
1577 VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170,
1578 VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171,
1579 VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172,
1580 VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173,
1581 VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174,
1582 VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175,
1583 VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176,
1584 VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177,
1585 VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178,
1586 VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179,
1587 VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180,
1588 VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181,
1589 VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182,
1590 VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183,
1591 VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184,
1592 VK_FORMAT_G8B8G8R8_422_UNORM = 1000156000,
1593 VK_FORMAT_B8G8R8G8_422_UNORM = 1000156001,
1594 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM = 1000156002,
1595 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM = 1000156003,
1596 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM = 1000156004,
1597 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM = 1000156005,
1598 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM = 1000156006,
1599 VK_FORMAT_R10X6_UNORM_PACK16 = 1000156007,
1600 VK_FORMAT_R10X6G10X6_UNORM_2PACK16 = 1000156008,
1601 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 1000156009,
1602 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 1000156010,
1603 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 1000156011,
1604 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 1000156012,
1605 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 1000156013,
1606 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 1000156014,
1607 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 1000156015,
1608 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 1000156016,
1609 VK_FORMAT_R12X4_UNORM_PACK16 = 1000156017,
1610 VK_FORMAT_R12X4G12X4_UNORM_2PACK16 = 1000156018,
1611 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 1000156019,
1612 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 1000156020,
1613 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 1000156021,
1614 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 1000156022,
1615 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 1000156023,
1616 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 1000156024,
1617 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 1000156025,
1618 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 1000156026,
1619 VK_FORMAT_G16B16G16R16_422_UNORM = 1000156027,
1620 VK_FORMAT_B16G16R16G16_422_UNORM = 1000156028,
1621 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM = 1000156029,
1622 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM = 1000156030,
1623 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM = 1000156031,
1624 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM = 1000156032,
1625 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM = 1000156033,
1626 VK_FORMAT_G8_B8R8_2PLANE_444_UNORM = 1000330000,
1627 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16 = 1000330001,
1628 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16 = 1000330002,
1629 VK_FORMAT_G16_B16R16_2PLANE_444_UNORM = 1000330003,
1630 VK_FORMAT_A4R4G4B4_UNORM_PACK16 = 1000340000,
1631 VK_FORMAT_A4B4G4R4_UNORM_PACK16 = 1000340001,
1632 VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK = 1000066000,
1633 VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK = 1000066001,
1634 VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK = 1000066002,
1635 VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK = 1000066003,
1636 VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK = 1000066004,
1637 VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK = 1000066005,
1638 VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK = 1000066006,
1639 VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK = 1000066007,
1640 VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK = 1000066008,
1641 VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK = 1000066009,
1642 VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK = 1000066010,
1643 VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK = 1000066011,
1644 VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK = 1000066012,
1645 VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK = 1000066013,
1646 VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG = 1000054000,
1647 VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001,
1648 VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = 1000054002,
1649 VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG = 1000054003,
1650 VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG = 1000054004,
1651 VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005,
1652 VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006,
1653 VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007,
1654 VK_FORMAT_R16G16_S10_5_NV = 1000464000,
1655 VK_FORMAT_A1B5G5R5_UNORM_PACK16_KHR = 1000470000,
1656 VK_FORMAT_A8_UNORM_KHR = 1000470001,
1657 VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK,
1658 VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK,
1659 VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK,
1660 VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK,
1661 VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK,
1662 VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK,
1663 VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK,
1664 VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK,
1665 VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK,
1666 VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK,
1667 VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK,
1668 VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK,
1669 VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK,
1670 VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK,
1671 VK_FORMAT_G8B8G8R8_422_UNORM_KHR = VK_FORMAT_G8B8G8R8_422_UNORM,
1672 VK_FORMAT_B8G8R8G8_422_UNORM_KHR = VK_FORMAT_B8G8R8G8_422_UNORM,
1673 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM,
1674 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM,
1675 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM,
1676 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM,
1677 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM,
1678 VK_FORMAT_R10X6_UNORM_PACK16_KHR = VK_FORMAT_R10X6_UNORM_PACK16,
1679 VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR = VK_FORMAT_R10X6G10X6_UNORM_2PACK16,
1680 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16,
1681 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16,
1682 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16,
1683 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16,
1684 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16,
1685 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16,
1686 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16,
1687 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16,
1688 VK_FORMAT_R12X4_UNORM_PACK16_KHR = VK_FORMAT_R12X4_UNORM_PACK16,
1689 VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR = VK_FORMAT_R12X4G12X4_UNORM_2PACK16,
1690 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16,
1691 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16,
1692 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16,
1693 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16,
1694 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16,
1695 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16,
1696 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16,
1697 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16,
1698 VK_FORMAT_G16B16G16R16_422_UNORM_KHR = VK_FORMAT_G16B16G16R16_422_UNORM,
1699 VK_FORMAT_B16G16R16G16_422_UNORM_KHR = VK_FORMAT_B16G16R16G16_422_UNORM,
1700 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM,
1701 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM,
1702 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM,
1703 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM,
1704 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM,
1705 VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT = VK_FORMAT_G8_B8R8_2PLANE_444_UNORM,
1706 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16,
1707 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16,
1708 VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT = VK_FORMAT_G16_B16R16_2PLANE_444_UNORM,
1709 VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT = VK_FORMAT_A4R4G4B4_UNORM_PACK16,
1710 VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT = VK_FORMAT_A4B4G4R4_UNORM_PACK16,
1711 VK_FORMAT_MAX_ENUM = 0x7FFFFFFF
1712} VkFormat;
1713
1714typedef enum VkImageTiling {
1715 VK_IMAGE_TILING_OPTIMAL = 0,
1716 VK_IMAGE_TILING_LINEAR = 1,
1717 VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT = 1000158000,
1718 VK_IMAGE_TILING_MAX_ENUM = 0x7FFFFFFF
1719} VkImageTiling;
1720
1721typedef enum VkImageType {
1722 VK_IMAGE_TYPE_1D = 0,
1723 VK_IMAGE_TYPE_2D = 1,
1724 VK_IMAGE_TYPE_3D = 2,
1725 VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF
1726} VkImageType;
1727
1728typedef enum VkPhysicalDeviceType {
1729 VK_PHYSICAL_DEVICE_TYPE_OTHER = 0,
1730 VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1,
1731 VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2,
1732 VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3,
1733 VK_PHYSICAL_DEVICE_TYPE_CPU = 4,
1734 VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM = 0x7FFFFFFF
1735} VkPhysicalDeviceType;
1736
1737typedef enum VkQueryType {
1738 VK_QUERY_TYPE_OCCLUSION = 0,
1739 VK_QUERY_TYPE_PIPELINE_STATISTICS = 1,
1740 VK_QUERY_TYPE_TIMESTAMP = 2,
1741 VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR = 1000023000,
1742 VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT = 1000028004,
1743 VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR = 1000116000,
1744 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR = 1000150000,
1745 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR = 1000150001,
1746 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV = 1000165000,
1747 VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL = 1000210000,
1748 VK_QUERY_TYPE_VIDEO_ENCODE_FEEDBACK_KHR = 1000299000,
1749 VK_QUERY_TYPE_MESH_PRIMITIVES_GENERATED_EXT = 1000328000,
1750 VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT = 1000382000,
1751 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_BOTTOM_LEVEL_POINTERS_KHR = 1000386000,
1752 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SIZE_KHR = 1000386001,
1753 VK_QUERY_TYPE_MICROMAP_SERIALIZATION_SIZE_EXT = 1000396000,
1754 VK_QUERY_TYPE_MICROMAP_COMPACTED_SIZE_EXT = 1000396001,
1755 VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF
1756} VkQueryType;
1757
1758typedef enum VkSharingMode {
1759 VK_SHARING_MODE_EXCLUSIVE = 0,
1760 VK_SHARING_MODE_CONCURRENT = 1,
1761 VK_SHARING_MODE_MAX_ENUM = 0x7FFFFFFF
1762} VkSharingMode;
1763
1764typedef enum VkComponentSwizzle {
1765 VK_COMPONENT_SWIZZLE_IDENTITY = 0,
1766 VK_COMPONENT_SWIZZLE_ZERO = 1,
1767 VK_COMPONENT_SWIZZLE_ONE = 2,
1768 VK_COMPONENT_SWIZZLE_R = 3,
1769 VK_COMPONENT_SWIZZLE_G = 4,
1770 VK_COMPONENT_SWIZZLE_B = 5,
1771 VK_COMPONENT_SWIZZLE_A = 6,
1772 VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF
1773} VkComponentSwizzle;
1774
1775typedef enum VkImageViewType {
1776 VK_IMAGE_VIEW_TYPE_1D = 0,
1777 VK_IMAGE_VIEW_TYPE_2D = 1,
1778 VK_IMAGE_VIEW_TYPE_3D = 2,
1779 VK_IMAGE_VIEW_TYPE_CUBE = 3,
1780 VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4,
1781 VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5,
1782 VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6,
1783 VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7FFFFFFF
1784} VkImageViewType;
1785
1786typedef enum VkBlendFactor {
1787 VK_BLEND_FACTOR_ZERO = 0,
1788 VK_BLEND_FACTOR_ONE = 1,
1789 VK_BLEND_FACTOR_SRC_COLOR = 2,
1790 VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3,
1791 VK_BLEND_FACTOR_DST_COLOR = 4,
1792 VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5,
1793 VK_BLEND_FACTOR_SRC_ALPHA = 6,
1794 VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7,
1795 VK_BLEND_FACTOR_DST_ALPHA = 8,
1796 VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9,
1797 VK_BLEND_FACTOR_CONSTANT_COLOR = 10,
1798 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11,
1799 VK_BLEND_FACTOR_CONSTANT_ALPHA = 12,
1800 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13,
1801 VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14,
1802 VK_BLEND_FACTOR_SRC1_COLOR = 15,
1803 VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16,
1804 VK_BLEND_FACTOR_SRC1_ALPHA = 17,
1805 VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18,
1806 VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF
1807} VkBlendFactor;
1808
1809typedef enum VkBlendOp {
1810 VK_BLEND_OP_ADD = 0,
1811 VK_BLEND_OP_SUBTRACT = 1,
1812 VK_BLEND_OP_REVERSE_SUBTRACT = 2,
1813 VK_BLEND_OP_MIN = 3,
1814 VK_BLEND_OP_MAX = 4,
1815 VK_BLEND_OP_ZERO_EXT = 1000148000,
1816 VK_BLEND_OP_SRC_EXT = 1000148001,
1817 VK_BLEND_OP_DST_EXT = 1000148002,
1818 VK_BLEND_OP_SRC_OVER_EXT = 1000148003,
1819 VK_BLEND_OP_DST_OVER_EXT = 1000148004,
1820 VK_BLEND_OP_SRC_IN_EXT = 1000148005,
1821 VK_BLEND_OP_DST_IN_EXT = 1000148006,
1822 VK_BLEND_OP_SRC_OUT_EXT = 1000148007,
1823 VK_BLEND_OP_DST_OUT_EXT = 1000148008,
1824 VK_BLEND_OP_SRC_ATOP_EXT = 1000148009,
1825 VK_BLEND_OP_DST_ATOP_EXT = 1000148010,
1826 VK_BLEND_OP_XOR_EXT = 1000148011,
1827 VK_BLEND_OP_MULTIPLY_EXT = 1000148012,
1828 VK_BLEND_OP_SCREEN_EXT = 1000148013,
1829 VK_BLEND_OP_OVERLAY_EXT = 1000148014,
1830 VK_BLEND_OP_DARKEN_EXT = 1000148015,
1831 VK_BLEND_OP_LIGHTEN_EXT = 1000148016,
1832 VK_BLEND_OP_COLORDODGE_EXT = 1000148017,
1833 VK_BLEND_OP_COLORBURN_EXT = 1000148018,
1834 VK_BLEND_OP_HARDLIGHT_EXT = 1000148019,
1835 VK_BLEND_OP_SOFTLIGHT_EXT = 1000148020,
1836 VK_BLEND_OP_DIFFERENCE_EXT = 1000148021,
1837 VK_BLEND_OP_EXCLUSION_EXT = 1000148022,
1838 VK_BLEND_OP_INVERT_EXT = 1000148023,
1839 VK_BLEND_OP_INVERT_RGB_EXT = 1000148024,
1840 VK_BLEND_OP_LINEARDODGE_EXT = 1000148025,
1841 VK_BLEND_OP_LINEARBURN_EXT = 1000148026,
1842 VK_BLEND_OP_VIVIDLIGHT_EXT = 1000148027,
1843 VK_BLEND_OP_LINEARLIGHT_EXT = 1000148028,
1844 VK_BLEND_OP_PINLIGHT_EXT = 1000148029,
1845 VK_BLEND_OP_HARDMIX_EXT = 1000148030,
1846 VK_BLEND_OP_HSL_HUE_EXT = 1000148031,
1847 VK_BLEND_OP_HSL_SATURATION_EXT = 1000148032,
1848 VK_BLEND_OP_HSL_COLOR_EXT = 1000148033,
1849 VK_BLEND_OP_HSL_LUMINOSITY_EXT = 1000148034,
1850 VK_BLEND_OP_PLUS_EXT = 1000148035,
1851 VK_BLEND_OP_PLUS_CLAMPED_EXT = 1000148036,
1852 VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT = 1000148037,
1853 VK_BLEND_OP_PLUS_DARKER_EXT = 1000148038,
1854 VK_BLEND_OP_MINUS_EXT = 1000148039,
1855 VK_BLEND_OP_MINUS_CLAMPED_EXT = 1000148040,
1856 VK_BLEND_OP_CONTRAST_EXT = 1000148041,
1857 VK_BLEND_OP_INVERT_OVG_EXT = 1000148042,
1858 VK_BLEND_OP_RED_EXT = 1000148043,
1859 VK_BLEND_OP_GREEN_EXT = 1000148044,
1860 VK_BLEND_OP_BLUE_EXT = 1000148045,
1861 VK_BLEND_OP_MAX_ENUM = 0x7FFFFFFF
1862} VkBlendOp;
1863
1864typedef enum VkCompareOp {
1865 VK_COMPARE_OP_NEVER = 0,
1866 VK_COMPARE_OP_LESS = 1,
1867 VK_COMPARE_OP_EQUAL = 2,
1868 VK_COMPARE_OP_LESS_OR_EQUAL = 3,
1869 VK_COMPARE_OP_GREATER = 4,
1870 VK_COMPARE_OP_NOT_EQUAL = 5,
1871 VK_COMPARE_OP_GREATER_OR_EQUAL = 6,
1872 VK_COMPARE_OP_ALWAYS = 7,
1873 VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF
1874} VkCompareOp;
1875
1876typedef enum VkDynamicState {
1877 VK_DYNAMIC_STATE_VIEWPORT = 0,
1878 VK_DYNAMIC_STATE_SCISSOR = 1,
1879 VK_DYNAMIC_STATE_LINE_WIDTH = 2,
1880 VK_DYNAMIC_STATE_DEPTH_BIAS = 3,
1881 VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4,
1882 VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5,
1883 VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6,
1884 VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7,
1885 VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8,
1886 VK_DYNAMIC_STATE_CULL_MODE = 1000267000,
1887 VK_DYNAMIC_STATE_FRONT_FACE = 1000267001,
1888 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY = 1000267002,
1889 VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT = 1000267003,
1890 VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT = 1000267004,
1891 VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE = 1000267005,
1892 VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE = 1000267006,
1893 VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE = 1000267007,
1894 VK_DYNAMIC_STATE_DEPTH_COMPARE_OP = 1000267008,
1895 VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE = 1000267009,
1896 VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE = 1000267010,
1897 VK_DYNAMIC_STATE_STENCIL_OP = 1000267011,
1898 VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE = 1000377001,
1899 VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE = 1000377002,
1900 VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE = 1000377004,
1901 VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV = 1000087000,
1902 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000,
1903 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT = 1000099001,
1904 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT = 1000099002,
1905 VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT = 1000143000,
1906 VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR = 1000347000,
1907 VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV = 1000164004,
1908 VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV = 1000164006,
1909 VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV = 1000205000,
1910 VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV = 1000205001,
1911 VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR = 1000226000,
1912 VK_DYNAMIC_STATE_LINE_STIPPLE_EXT = 1000259000,
1913 VK_DYNAMIC_STATE_VERTEX_INPUT_EXT = 1000352000,
1914 VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT = 1000377000,
1915 VK_DYNAMIC_STATE_LOGIC_OP_EXT = 1000377003,
1916 VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT = 1000381000,
1917 VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT = 1000455002,
1918 VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT = 1000455003,
1919 VK_DYNAMIC_STATE_POLYGON_MODE_EXT = 1000455004,
1920 VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT = 1000455005,
1921 VK_DYNAMIC_STATE_SAMPLE_MASK_EXT = 1000455006,
1922 VK_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT = 1000455007,
1923 VK_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT = 1000455008,
1924 VK_DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT = 1000455009,
1925 VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT = 1000455010,
1926 VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT = 1000455011,
1927 VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT = 1000455012,
1928 VK_DYNAMIC_STATE_RASTERIZATION_STREAM_EXT = 1000455013,
1929 VK_DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT = 1000455014,
1930 VK_DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT = 1000455015,
1931 VK_DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT = 1000455016,
1932 VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT = 1000455017,
1933 VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT = 1000455018,
1934 VK_DYNAMIC_STATE_PROVOKING_VERTEX_MODE_EXT = 1000455019,
1935 VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT = 1000455020,
1936 VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT = 1000455021,
1937 VK_DYNAMIC_STATE_DEPTH_CLIP_NEGATIVE_ONE_TO_ONE_EXT = 1000455022,
1938 VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV = 1000455023,
1939 VK_DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV = 1000455024,
1940 VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV = 1000455025,
1941 VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_LOCATION_NV = 1000455026,
1942 VK_DYNAMIC_STATE_COVERAGE_MODULATION_MODE_NV = 1000455027,
1943 VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_ENABLE_NV = 1000455028,
1944 VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_NV = 1000455029,
1945 VK_DYNAMIC_STATE_SHADING_RATE_IMAGE_ENABLE_NV = 1000455030,
1946 VK_DYNAMIC_STATE_REPRESENTATIVE_FRAGMENT_TEST_ENABLE_NV = 1000455031,
1947 VK_DYNAMIC_STATE_COVERAGE_REDUCTION_MODE_NV = 1000455032,
1948 VK_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT = 1000524000,
1949 VK_DYNAMIC_STATE_CULL_MODE_EXT = VK_DYNAMIC_STATE_CULL_MODE,
1950 VK_DYNAMIC_STATE_FRONT_FACE_EXT = VK_DYNAMIC_STATE_FRONT_FACE,
1951 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY,
1952 VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT = VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT,
1953 VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT = VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT,
1954 VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT = VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE,
1955 VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE,
1956 VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE,
1957 VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT = VK_DYNAMIC_STATE_DEPTH_COMPARE_OP,
1958 VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE,
1959 VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE,
1960 VK_DYNAMIC_STATE_STENCIL_OP_EXT = VK_DYNAMIC_STATE_STENCIL_OP,
1961 VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT = VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE,
1962 VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE,
1963 VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT = VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE,
1964 VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF
1965} VkDynamicState;
1966
1967typedef enum VkFrontFace {
1968 VK_FRONT_FACE_COUNTER_CLOCKWISE = 0,
1969 VK_FRONT_FACE_CLOCKWISE = 1,
1970 VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF
1971} VkFrontFace;
1972
1973typedef enum VkVertexInputRate {
1974 VK_VERTEX_INPUT_RATE_VERTEX = 0,
1975 VK_VERTEX_INPUT_RATE_INSTANCE = 1,
1976 VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF
1977} VkVertexInputRate;
1978
1979typedef enum VkPrimitiveTopology {
1980 VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0,
1981 VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1,
1982 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2,
1983 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3,
1984 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4,
1985 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5,
1986 VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6,
1987 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7,
1988 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8,
1989 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9,
1990 VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10,
1991 VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7FFFFFFF
1992} VkPrimitiveTopology;
1993
1994typedef enum VkPolygonMode {
1995 VK_POLYGON_MODE_FILL = 0,
1996 VK_POLYGON_MODE_LINE = 1,
1997 VK_POLYGON_MODE_POINT = 2,
1998 VK_POLYGON_MODE_FILL_RECTANGLE_NV = 1000153000,
1999 VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF
2000} VkPolygonMode;
2001
2002typedef enum VkStencilOp {
2003 VK_STENCIL_OP_KEEP = 0,
2004 VK_STENCIL_OP_ZERO = 1,
2005 VK_STENCIL_OP_REPLACE = 2,
2006 VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3,
2007 VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4,
2008 VK_STENCIL_OP_INVERT = 5,
2009 VK_STENCIL_OP_INCREMENT_AND_WRAP = 6,
2010 VK_STENCIL_OP_DECREMENT_AND_WRAP = 7,
2011 VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF
2012} VkStencilOp;
2013
2014typedef enum VkLogicOp {
2015 VK_LOGIC_OP_CLEAR = 0,
2016 VK_LOGIC_OP_AND = 1,
2017 VK_LOGIC_OP_AND_REVERSE = 2,
2018 VK_LOGIC_OP_COPY = 3,
2019 VK_LOGIC_OP_AND_INVERTED = 4,
2020 VK_LOGIC_OP_NO_OP = 5,
2021 VK_LOGIC_OP_XOR = 6,
2022 VK_LOGIC_OP_OR = 7,
2023 VK_LOGIC_OP_NOR = 8,
2024 VK_LOGIC_OP_EQUIVALENT = 9,
2025 VK_LOGIC_OP_INVERT = 10,
2026 VK_LOGIC_OP_OR_REVERSE = 11,
2027 VK_LOGIC_OP_COPY_INVERTED = 12,
2028 VK_LOGIC_OP_OR_INVERTED = 13,
2029 VK_LOGIC_OP_NAND = 14,
2030 VK_LOGIC_OP_SET = 15,
2031 VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF
2032} VkLogicOp;
2033
2034typedef enum VkBorderColor {
2035 VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0,
2036 VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1,
2037 VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2,
2038 VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3,
2039 VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4,
2040 VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5,
2041 VK_BORDER_COLOR_FLOAT_CUSTOM_EXT = 1000287003,
2042 VK_BORDER_COLOR_INT_CUSTOM_EXT = 1000287004,
2043 VK_BORDER_COLOR_MAX_ENUM = 0x7FFFFFFF
2044} VkBorderColor;
2045
2046typedef enum VkFilter {
2047 VK_FILTER_NEAREST = 0,
2048 VK_FILTER_LINEAR = 1,
2049 VK_FILTER_CUBIC_EXT = 1000015000,
2050 VK_FILTER_CUBIC_IMG = VK_FILTER_CUBIC_EXT,
2051 VK_FILTER_MAX_ENUM = 0x7FFFFFFF
2052} VkFilter;
2053
2054typedef enum VkSamplerAddressMode {
2055 VK_SAMPLER_ADDRESS_MODE_REPEAT = 0,
2056 VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1,
2057 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2,
2058 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3,
2059 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4,
2060 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE,
2061 VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = 0x7FFFFFFF
2062} VkSamplerAddressMode;
2063
2064typedef enum VkSamplerMipmapMode {
2065 VK_SAMPLER_MIPMAP_MODE_NEAREST = 0,
2066 VK_SAMPLER_MIPMAP_MODE_LINEAR = 1,
2067 VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF
2068} VkSamplerMipmapMode;
2069
2070typedef enum VkDescriptorType {
2071 VK_DESCRIPTOR_TYPE_SAMPLER = 0,
2072 VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1,
2073 VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2,
2074 VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3,
2075 VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4,
2076 VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5,
2077 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6,
2078 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7,
2079 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8,
2080 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9,
2081 VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10,
2082 VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK = 1000138000,
2083 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000,
2084 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000,
2085 VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM = 1000440000,
2086 VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM = 1000440001,
2087 VK_DESCRIPTOR_TYPE_MUTABLE_EXT = 1000351000,
2088 VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT = VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK,
2089 VK_DESCRIPTOR_TYPE_MUTABLE_VALVE = VK_DESCRIPTOR_TYPE_MUTABLE_EXT,
2090 VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF
2091} VkDescriptorType;
2092
2093typedef enum VkAttachmentLoadOp {
2094 VK_ATTACHMENT_LOAD_OP_LOAD = 0,
2095 VK_ATTACHMENT_LOAD_OP_CLEAR = 1,
2096 VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2,
2097 VK_ATTACHMENT_LOAD_OP_NONE_EXT = 1000400000,
2098 VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7FFFFFFF
2099} VkAttachmentLoadOp;
2100
2101typedef enum VkAttachmentStoreOp {
2102 VK_ATTACHMENT_STORE_OP_STORE = 0,
2103 VK_ATTACHMENT_STORE_OP_DONT_CARE = 1,
2104 VK_ATTACHMENT_STORE_OP_NONE = 1000301000,
2105 VK_ATTACHMENT_STORE_OP_NONE_KHR = VK_ATTACHMENT_STORE_OP_NONE,
2106 VK_ATTACHMENT_STORE_OP_NONE_QCOM = VK_ATTACHMENT_STORE_OP_NONE,
2107 VK_ATTACHMENT_STORE_OP_NONE_EXT = VK_ATTACHMENT_STORE_OP_NONE,
2108 VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF
2109} VkAttachmentStoreOp;
2110
2111typedef enum VkPipelineBindPoint {
2112 VK_PIPELINE_BIND_POINT_GRAPHICS = 0,
2113 VK_PIPELINE_BIND_POINT_COMPUTE = 1,
2114#ifdef VK_ENABLE_BETA_EXTENSIONS
2115 VK_PIPELINE_BIND_POINT_EXECUTION_GRAPH_AMDX = 1000134000,
2116#endif
2117 VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR = 1000165000,
2118 VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI = 1000369003,
2119 VK_PIPELINE_BIND_POINT_RAY_TRACING_NV = VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR,
2120 VK_PIPELINE_BIND_POINT_MAX_ENUM = 0x7FFFFFFF
2121} VkPipelineBindPoint;
2122
2123typedef enum VkCommandBufferLevel {
2124 VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0,
2125 VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1,
2126 VK_COMMAND_BUFFER_LEVEL_MAX_ENUM = 0x7FFFFFFF
2127} VkCommandBufferLevel;
2128
2129typedef enum VkIndexType {
2130 VK_INDEX_TYPE_UINT16 = 0,
2131 VK_INDEX_TYPE_UINT32 = 1,
2132 VK_INDEX_TYPE_NONE_KHR = 1000165000,
2133 VK_INDEX_TYPE_UINT8_EXT = 1000265000,
2134 VK_INDEX_TYPE_NONE_NV = VK_INDEX_TYPE_NONE_KHR,
2135 VK_INDEX_TYPE_MAX_ENUM = 0x7FFFFFFF
2136} VkIndexType;
2137
2138typedef enum VkSubpassContents {
2139 VK_SUBPASS_CONTENTS_INLINE = 0,
2140 VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1,
2141 VK_SUBPASS_CONTENTS_INLINE_AND_SECONDARY_COMMAND_BUFFERS_EXT = 1000451000,
2142 VK_SUBPASS_CONTENTS_MAX_ENUM = 0x7FFFFFFF
2143} VkSubpassContents;
2144
2145typedef enum VkAccessFlagBits {
2146 VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001,
2147 VK_ACCESS_INDEX_READ_BIT = 0x00000002,
2148 VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004,
2149 VK_ACCESS_UNIFORM_READ_BIT = 0x00000008,
2150 VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 0x00000010,
2151 VK_ACCESS_SHADER_READ_BIT = 0x00000020,
2152 VK_ACCESS_SHADER_WRITE_BIT = 0x00000040,
2153 VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 0x00000080,
2154 VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100,
2155 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200,
2156 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400,
2157 VK_ACCESS_TRANSFER_READ_BIT = 0x00000800,
2158 VK_ACCESS_TRANSFER_WRITE_BIT = 0x00001000,
2159 VK_ACCESS_HOST_READ_BIT = 0x00002000,
2160 VK_ACCESS_HOST_WRITE_BIT = 0x00004000,
2161 VK_ACCESS_MEMORY_READ_BIT = 0x00008000,
2162 VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000,
2163 VK_ACCESS_NONE = 0,
2164 VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000,
2165 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000,
2166 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000,
2167 VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000,
2168 VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000,
2169 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000,
2170 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000,
2171 VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000,
2172 VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000,
2173 VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000,
2174 VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000,
2175 VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR,
2176 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR,
2177 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,
2178 VK_ACCESS_NONE_KHR = VK_ACCESS_NONE,
2179 VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2180} VkAccessFlagBits;
2181typedef VkFlags VkAccessFlags;
2182
2183typedef enum VkImageAspectFlagBits {
2184 VK_IMAGE_ASPECT_COLOR_BIT = 0x00000001,
2185 VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002,
2186 VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004,
2187 VK_IMAGE_ASPECT_METADATA_BIT = 0x00000008,
2188 VK_IMAGE_ASPECT_PLANE_0_BIT = 0x00000010,
2189 VK_IMAGE_ASPECT_PLANE_1_BIT = 0x00000020,
2190 VK_IMAGE_ASPECT_PLANE_2_BIT = 0x00000040,
2191 VK_IMAGE_ASPECT_NONE = 0,
2192 VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 0x00000080,
2193 VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 0x00000100,
2194 VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 0x00000200,
2195 VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = 0x00000400,
2196 VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = VK_IMAGE_ASPECT_PLANE_0_BIT,
2197 VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = VK_IMAGE_ASPECT_PLANE_1_BIT,
2198 VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = VK_IMAGE_ASPECT_PLANE_2_BIT,
2199 VK_IMAGE_ASPECT_NONE_KHR = VK_IMAGE_ASPECT_NONE,
2200 VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2201} VkImageAspectFlagBits;
2202typedef VkFlags VkImageAspectFlags;
2203
2204typedef enum VkFormatFeatureFlagBits {
2205 VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 0x00000001,
2206 VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 0x00000002,
2207 VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004,
2208 VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008,
2209 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 0x00000010,
2210 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020,
2211 VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 0x00000040,
2212 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 0x00000080,
2213 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100,
2214 VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200,
2215 VK_FORMAT_FEATURE_BLIT_SRC_BIT = 0x00000400,
2216 VK_FORMAT_FEATURE_BLIT_DST_BIT = 0x00000800,
2217 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000,
2218 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT = 0x00004000,
2219 VK_FORMAT_FEATURE_TRANSFER_DST_BIT = 0x00008000,
2220 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000,
2221 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000,
2222 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000,
2223 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000,
2224 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000,
2225 VK_FORMAT_FEATURE_DISJOINT_BIT = 0x00400000,
2226 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT = 0x00800000,
2227 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000,
2228 VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x02000000,
2229 VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR = 0x04000000,
2230 VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000,
2231 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = 0x00002000,
2232 VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000,
2233 VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000,
2234 VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000,
2235 VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000,
2236 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT,
2237 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT,
2238 VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_DST_BIT,
2239 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT,
2240 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT,
2241 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT,
2242 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT,
2243 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT,
2244 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,
2245 VK_FORMAT_FEATURE_DISJOINT_BIT_KHR = VK_FORMAT_FEATURE_DISJOINT_BIT,
2246 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT,
2247 VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2248} VkFormatFeatureFlagBits;
2249typedef VkFlags VkFormatFeatureFlags;
2250
2251typedef enum VkImageCreateFlagBits {
2252 VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 0x00000001,
2253 VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
2254 VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
2255 VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 0x00000008,
2256 VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 0x00000010,
2257 VK_IMAGE_CREATE_ALIAS_BIT = 0x00000400,
2258 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT = 0x00000040,
2259 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT = 0x00000020,
2260 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT = 0x00000080,
2261 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT = 0x00000100,
2262 VK_IMAGE_CREATE_PROTECTED_BIT = 0x00000800,
2263 VK_IMAGE_CREATE_DISJOINT_BIT = 0x00000200,
2264 VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 0x00002000,
2265 VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000,
2266 VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 0x00004000,
2267 VK_IMAGE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00010000,
2268 VK_IMAGE_CREATE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_BIT_EXT = 0x00040000,
2269 VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT = 0x00020000,
2270 VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM = 0x00008000,
2271 VK_IMAGE_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR = 0x00100000,
2272 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT,
2273 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT,
2274 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT,
2275 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT,
2276 VK_IMAGE_CREATE_DISJOINT_BIT_KHR = VK_IMAGE_CREATE_DISJOINT_BIT,
2277 VK_IMAGE_CREATE_ALIAS_BIT_KHR = VK_IMAGE_CREATE_ALIAS_BIT,
2278 VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2279} VkImageCreateFlagBits;
2280typedef VkFlags VkImageCreateFlags;
2281
2282typedef enum VkSampleCountFlagBits {
2283 VK_SAMPLE_COUNT_1_BIT = 0x00000001,
2284 VK_SAMPLE_COUNT_2_BIT = 0x00000002,
2285 VK_SAMPLE_COUNT_4_BIT = 0x00000004,
2286 VK_SAMPLE_COUNT_8_BIT = 0x00000008,
2287 VK_SAMPLE_COUNT_16_BIT = 0x00000010,
2288 VK_SAMPLE_COUNT_32_BIT = 0x00000020,
2289 VK_SAMPLE_COUNT_64_BIT = 0x00000040,
2290 VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2291} VkSampleCountFlagBits;
2292typedef VkFlags VkSampleCountFlags;
2293
2294typedef enum VkImageUsageFlagBits {
2295 VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 0x00000001,
2296 VK_IMAGE_USAGE_TRANSFER_DST_BIT = 0x00000002,
2297 VK_IMAGE_USAGE_SAMPLED_BIT = 0x00000004,
2298 VK_IMAGE_USAGE_STORAGE_BIT = 0x00000008,
2299 VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000010,
2300 VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000020,
2301 VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000040,
2302 VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0x00000080,
2303 VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00000400,
2304 VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00000800,
2305 VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR = 0x00001000,
2306 VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x00000200,
2307 VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00000100,
2308 VK_IMAGE_USAGE_HOST_TRANSFER_BIT_EXT = 0x00400000,
2309 VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00002000,
2310 VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00004000,
2311 VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR = 0x00008000,
2312 VK_IMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x00080000,
2313 VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI = 0x00040000,
2314 VK_IMAGE_USAGE_SAMPLE_WEIGHT_BIT_QCOM = 0x00100000,
2315 VK_IMAGE_USAGE_SAMPLE_BLOCK_MATCH_BIT_QCOM = 0x00200000,
2316 VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
2317 VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2318} VkImageUsageFlagBits;
2319typedef VkFlags VkImageUsageFlags;
2320
2321typedef enum VkInstanceCreateFlagBits {
2322 VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR = 0x00000001,
2323 VK_INSTANCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2324} VkInstanceCreateFlagBits;
2325typedef VkFlags VkInstanceCreateFlags;
2326
2327typedef enum VkMemoryHeapFlagBits {
2328 VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0x00000001,
2329 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = 0x00000002,
2330 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT,
2331 VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2332} VkMemoryHeapFlagBits;
2333typedef VkFlags VkMemoryHeapFlags;
2334
2335typedef enum VkMemoryPropertyFlagBits {
2336 VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 0x00000001,
2337 VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 0x00000002,
2338 VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 0x00000004,
2339 VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 0x00000008,
2340 VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 0x00000010,
2341 VK_MEMORY_PROPERTY_PROTECTED_BIT = 0x00000020,
2342 VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD = 0x00000040,
2343 VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD = 0x00000080,
2344 VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV = 0x00000100,
2345 VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2346} VkMemoryPropertyFlagBits;
2347typedef VkFlags VkMemoryPropertyFlags;
2348
2349typedef enum VkQueueFlagBits {
2350 VK_QUEUE_GRAPHICS_BIT = 0x00000001,
2351 VK_QUEUE_COMPUTE_BIT = 0x00000002,
2352 VK_QUEUE_TRANSFER_BIT = 0x00000004,
2353 VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008,
2354 VK_QUEUE_PROTECTED_BIT = 0x00000010,
2355 VK_QUEUE_VIDEO_DECODE_BIT_KHR = 0x00000020,
2356 VK_QUEUE_VIDEO_ENCODE_BIT_KHR = 0x00000040,
2357 VK_QUEUE_OPTICAL_FLOW_BIT_NV = 0x00000100,
2358 VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2359} VkQueueFlagBits;
2360typedef VkFlags VkQueueFlags;
2361typedef VkFlags VkDeviceCreateFlags;
2362
2363typedef enum VkDeviceQueueCreateFlagBits {
2364 VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT = 0x00000001,
2365 VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2366} VkDeviceQueueCreateFlagBits;
2367typedef VkFlags VkDeviceQueueCreateFlags;
2368
2369typedef enum VkPipelineStageFlagBits {
2370 VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 0x00000001,
2371 VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 0x00000002,
2372 VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 0x00000004,
2373 VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 0x00000008,
2374 VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010,
2375 VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020,
2376 VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 0x00000040,
2377 VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 0x00000080,
2378 VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 0x00000100,
2379 VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 0x00000200,
2380 VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400,
2381 VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 0x00000800,
2382 VK_PIPELINE_STAGE_TRANSFER_BIT = 0x00001000,
2383 VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 0x00002000,
2384 VK_PIPELINE_STAGE_HOST_BIT = 0x00004000,
2385 VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0x00008000,
2386 VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00010000,
2387 VK_PIPELINE_STAGE_NONE = 0,
2388 VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000,
2389 VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000,
2390 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000,
2391 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = 0x00200000,
2392 VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000,
2393 VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000,
2394 VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV = 0x00020000,
2395 VK_PIPELINE_STAGE_TASK_SHADER_BIT_EXT = 0x00080000,
2396 VK_PIPELINE_STAGE_MESH_SHADER_BIT_EXT = 0x00100000,
2397 VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
2398 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV = VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR,
2399 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
2400 VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV = VK_PIPELINE_STAGE_TASK_SHADER_BIT_EXT,
2401 VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV = VK_PIPELINE_STAGE_MESH_SHADER_BIT_EXT,
2402 VK_PIPELINE_STAGE_NONE_KHR = VK_PIPELINE_STAGE_NONE,
2403 VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2404} VkPipelineStageFlagBits;
2405typedef VkFlags VkPipelineStageFlags;
2406typedef VkFlags VkMemoryMapFlags;
2407
2408typedef enum VkSparseMemoryBindFlagBits {
2409 VK_SPARSE_MEMORY_BIND_METADATA_BIT = 0x00000001,
2410 VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2411} VkSparseMemoryBindFlagBits;
2412typedef VkFlags VkSparseMemoryBindFlags;
2413
2414typedef enum VkSparseImageFormatFlagBits {
2415 VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 0x00000001,
2416 VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 0x00000002,
2417 VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 0x00000004,
2418 VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2419} VkSparseImageFormatFlagBits;
2420typedef VkFlags VkSparseImageFormatFlags;
2421
2422typedef enum VkFenceCreateFlagBits {
2423 VK_FENCE_CREATE_SIGNALED_BIT = 0x00000001,
2424 VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2425} VkFenceCreateFlagBits;
2426typedef VkFlags VkFenceCreateFlags;
2427typedef VkFlags VkSemaphoreCreateFlags;
2428
2429typedef enum VkEventCreateFlagBits {
2430 VK_EVENT_CREATE_DEVICE_ONLY_BIT = 0x00000001,
2431 VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR = VK_EVENT_CREATE_DEVICE_ONLY_BIT,
2432 VK_EVENT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2433} VkEventCreateFlagBits;
2434typedef VkFlags VkEventCreateFlags;
2435
2436typedef enum VkQueryPipelineStatisticFlagBits {
2437 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 0x00000001,
2438 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 0x00000002,
2439 VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 0x00000004,
2440 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 0x00000008,
2441 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 0x00000010,
2442 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 0x00000020,
2443 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 0x00000040,
2444 VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 0x00000080,
2445 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 0x00000100,
2446 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 0x00000200,
2447 VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 0x00000400,
2448 VK_QUERY_PIPELINE_STATISTIC_TASK_SHADER_INVOCATIONS_BIT_EXT = 0x00000800,
2449 VK_QUERY_PIPELINE_STATISTIC_MESH_SHADER_INVOCATIONS_BIT_EXT = 0x00001000,
2450 VK_QUERY_PIPELINE_STATISTIC_CLUSTER_CULLING_SHADER_INVOCATIONS_BIT_HUAWEI = 0x00002000,
2451 VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2452} VkQueryPipelineStatisticFlagBits;
2453typedef VkFlags VkQueryPipelineStatisticFlags;
2454typedef VkFlags VkQueryPoolCreateFlags;
2455
2456typedef enum VkQueryResultFlagBits {
2457 VK_QUERY_RESULT_64_BIT = 0x00000001,
2458 VK_QUERY_RESULT_WAIT_BIT = 0x00000002,
2459 VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004,
2460 VK_QUERY_RESULT_PARTIAL_BIT = 0x00000008,
2461 VK_QUERY_RESULT_WITH_STATUS_BIT_KHR = 0x00000010,
2462 VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2463} VkQueryResultFlagBits;
2464typedef VkFlags VkQueryResultFlags;
2465
2466typedef enum VkBufferCreateFlagBits {
2467 VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 0x00000001,
2468 VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
2469 VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
2470 VK_BUFFER_CREATE_PROTECTED_BIT = 0x00000008,
2471 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000010,
2472 VK_BUFFER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000020,
2473 VK_BUFFER_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR = 0x00000040,
2474 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
2475 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
2476 VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2477} VkBufferCreateFlagBits;
2478typedef VkFlags VkBufferCreateFlags;
2479
2480typedef enum VkBufferUsageFlagBits {
2481 VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 0x00000001,
2482 VK_BUFFER_USAGE_TRANSFER_DST_BIT = 0x00000002,
2483 VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000004,
2484 VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 0x00000008,
2485 VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 0x00000010,
2486 VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 0x00000020,
2487 VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 0x00000040,
2488 VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 0x00000080,
2489 VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 0x00000100,
2490 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT = 0x00020000,
2491 VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00002000,
2492 VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00004000,
2493 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0x00000800,
2494 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000,
2495 VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200,
2496#ifdef VK_ENABLE_BETA_EXTENSIONS
2497 VK_BUFFER_USAGE_EXECUTION_GRAPH_SCRATCH_BIT_AMDX = 0x02000000,
2498#endif
2499 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR = 0x00080000,
2500 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR = 0x00100000,
2501 VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR = 0x00000400,
2502 VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00008000,
2503 VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00010000,
2504 VK_BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT = 0x00200000,
2505 VK_BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT = 0x00400000,
2506 VK_BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT = 0x04000000,
2507 VK_BUFFER_USAGE_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT = 0x00800000,
2508 VK_BUFFER_USAGE_MICROMAP_STORAGE_BIT_EXT = 0x01000000,
2509 VK_BUFFER_USAGE_RAY_TRACING_BIT_NV = VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR,
2510 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
2511 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
2512 VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2513} VkBufferUsageFlagBits;
2514typedef VkFlags VkBufferUsageFlags;
2515typedef VkFlags VkBufferViewCreateFlags;
2516
2517typedef enum VkImageViewCreateFlagBits {
2518 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT = 0x00000001,
2519 VK_IMAGE_VIEW_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000004,
2520 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT = 0x00000002,
2521 VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2522} VkImageViewCreateFlagBits;
2523typedef VkFlags VkImageViewCreateFlags;
2524typedef VkFlags VkShaderModuleCreateFlags;
2525
2526typedef enum VkPipelineCacheCreateFlagBits {
2527 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT = 0x00000001,
2528 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT = VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT,
2529 VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2530} VkPipelineCacheCreateFlagBits;
2531typedef VkFlags VkPipelineCacheCreateFlags;
2532
2533typedef enum VkColorComponentFlagBits {
2534 VK_COLOR_COMPONENT_R_BIT = 0x00000001,
2535 VK_COLOR_COMPONENT_G_BIT = 0x00000002,
2536 VK_COLOR_COMPONENT_B_BIT = 0x00000004,
2537 VK_COLOR_COMPONENT_A_BIT = 0x00000008,
2538 VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2539} VkColorComponentFlagBits;
2540typedef VkFlags VkColorComponentFlags;
2541
2542typedef enum VkPipelineCreateFlagBits {
2543 VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0x00000001,
2544 VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 0x00000002,
2545 VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0x00000004,
2546 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 0x00000008,
2547 VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 0x00000010,
2548 VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT = 0x00000100,
2549 VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT = 0x00000200,
2550 VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00200000,
2551 VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 0x00400000,
2552 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 0x00004000,
2553 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 0x00008000,
2554 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 0x00010000,
2555 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR = 0x00020000,
2556 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR = 0x00001000,
2557 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR = 0x00002000,
2558 VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR = 0x00080000,
2559 VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV = 0x00000020,
2560 VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR = 0x00000040,
2561 VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 0x00000080,
2562 VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = 0x00040000,
2563 VK_PIPELINE_CREATE_LIBRARY_BIT_KHR = 0x00000800,
2564 VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT = 0x20000000,
2565 VK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT = 0x00800000,
2566 VK_PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT = 0x00000400,
2567 VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV = 0x00100000,
2568 VK_PIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x02000000,
2569 VK_PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x04000000,
2570 VK_PIPELINE_CREATE_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT = 0x01000000,
2571#ifdef VK_ENABLE_BETA_EXTENSIONS
2572 VK_PIPELINE_CREATE_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV = 0x10000000,
2573#endif
2574 VK_PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT_EXT = 0x08000000,
2575 VK_PIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT_EXT = 0x40000000,
2576 VK_PIPELINE_CREATE_DISPATCH_BASE = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT,
2577 VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
2578 VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT,
2579 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT,
2580 VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = VK_PIPELINE_CREATE_DISPATCH_BASE,
2581 VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT,
2582 VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT,
2583 VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2584} VkPipelineCreateFlagBits;
2585typedef VkFlags VkPipelineCreateFlags;
2586
2587typedef enum VkPipelineShaderStageCreateFlagBits {
2588 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT = 0x00000001,
2589 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT = 0x00000002,
2590 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT,
2591 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT,
2592 VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2593} VkPipelineShaderStageCreateFlagBits;
2594typedef VkFlags VkPipelineShaderStageCreateFlags;
2595
2596typedef enum VkShaderStageFlagBits {
2597 VK_SHADER_STAGE_VERTEX_BIT = 0x00000001,
2598 VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 0x00000002,
2599 VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 0x00000004,
2600 VK_SHADER_STAGE_GEOMETRY_BIT = 0x00000008,
2601 VK_SHADER_STAGE_FRAGMENT_BIT = 0x00000010,
2602 VK_SHADER_STAGE_COMPUTE_BIT = 0x00000020,
2603 VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001F,
2604 VK_SHADER_STAGE_ALL = 0x7FFFFFFF,
2605 VK_SHADER_STAGE_RAYGEN_BIT_KHR = 0x00000100,
2606 VK_SHADER_STAGE_ANY_HIT_BIT_KHR = 0x00000200,
2607 VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR = 0x00000400,
2608 VK_SHADER_STAGE_MISS_BIT_KHR = 0x00000800,
2609 VK_SHADER_STAGE_INTERSECTION_BIT_KHR = 0x00001000,
2610 VK_SHADER_STAGE_CALLABLE_BIT_KHR = 0x00002000,
2611 VK_SHADER_STAGE_TASK_BIT_EXT = 0x00000040,
2612 VK_SHADER_STAGE_MESH_BIT_EXT = 0x00000080,
2613 VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI = 0x00004000,
2614 VK_SHADER_STAGE_CLUSTER_CULLING_BIT_HUAWEI = 0x00080000,
2615 VK_SHADER_STAGE_RAYGEN_BIT_NV = VK_SHADER_STAGE_RAYGEN_BIT_KHR,
2616 VK_SHADER_STAGE_ANY_HIT_BIT_NV = VK_SHADER_STAGE_ANY_HIT_BIT_KHR,
2617 VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV = VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR,
2618 VK_SHADER_STAGE_MISS_BIT_NV = VK_SHADER_STAGE_MISS_BIT_KHR,
2619 VK_SHADER_STAGE_INTERSECTION_BIT_NV = VK_SHADER_STAGE_INTERSECTION_BIT_KHR,
2620 VK_SHADER_STAGE_CALLABLE_BIT_NV = VK_SHADER_STAGE_CALLABLE_BIT_KHR,
2621 VK_SHADER_STAGE_TASK_BIT_NV = VK_SHADER_STAGE_TASK_BIT_EXT,
2622 VK_SHADER_STAGE_MESH_BIT_NV = VK_SHADER_STAGE_MESH_BIT_EXT,
2623 VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2624} VkShaderStageFlagBits;
2625
2626typedef enum VkCullModeFlagBits {
2627 VK_CULL_MODE_NONE = 0,
2628 VK_CULL_MODE_FRONT_BIT = 0x00000001,
2629 VK_CULL_MODE_BACK_BIT = 0x00000002,
2630 VK_CULL_MODE_FRONT_AND_BACK = 0x00000003,
2631 VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2632} VkCullModeFlagBits;
2633typedef VkFlags VkCullModeFlags;
2634typedef VkFlags VkPipelineVertexInputStateCreateFlags;
2635typedef VkFlags VkPipelineInputAssemblyStateCreateFlags;
2636typedef VkFlags VkPipelineTessellationStateCreateFlags;
2637typedef VkFlags VkPipelineViewportStateCreateFlags;
2638typedef VkFlags VkPipelineRasterizationStateCreateFlags;
2639typedef VkFlags VkPipelineMultisampleStateCreateFlags;
2640
2641typedef enum VkPipelineDepthStencilStateCreateFlagBits {
2642 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT = 0x00000001,
2643 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT = 0x00000002,
2644 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM = VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT,
2645 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM = VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT,
2646 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2647} VkPipelineDepthStencilStateCreateFlagBits;
2648typedef VkFlags VkPipelineDepthStencilStateCreateFlags;
2649
2650typedef enum VkPipelineColorBlendStateCreateFlagBits {
2651 VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT = 0x00000001,
2652 VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM = VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT,
2653 VK_PIPELINE_COLOR_BLEND_STATE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2654} VkPipelineColorBlendStateCreateFlagBits;
2655typedef VkFlags VkPipelineColorBlendStateCreateFlags;
2656typedef VkFlags VkPipelineDynamicStateCreateFlags;
2657
2658typedef enum VkPipelineLayoutCreateFlagBits {
2659 VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT = 0x00000002,
2660 VK_PIPELINE_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2661} VkPipelineLayoutCreateFlagBits;
2662typedef VkFlags VkPipelineLayoutCreateFlags;
2663typedef VkFlags VkShaderStageFlags;
2664
2665typedef enum VkSamplerCreateFlagBits {
2666 VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT = 0x00000001,
2667 VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT = 0x00000002,
2668 VK_SAMPLER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000008,
2669 VK_SAMPLER_CREATE_NON_SEAMLESS_CUBE_MAP_BIT_EXT = 0x00000004,
2670 VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM = 0x00000010,
2671 VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2672} VkSamplerCreateFlagBits;
2673typedef VkFlags VkSamplerCreateFlags;
2674
2675typedef enum VkDescriptorPoolCreateFlagBits {
2676 VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001,
2677 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT = 0x00000002,
2678 VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXT = 0x00000004,
2679 VK_DESCRIPTOR_POOL_CREATE_ALLOW_OVERALLOCATION_SETS_BIT_NV = 0x00000008,
2680 VK_DESCRIPTOR_POOL_CREATE_ALLOW_OVERALLOCATION_POOLS_BIT_NV = 0x00000010,
2681 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT,
2682 VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE = VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXT,
2683 VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2684} VkDescriptorPoolCreateFlagBits;
2685typedef VkFlags VkDescriptorPoolCreateFlags;
2686typedef VkFlags VkDescriptorPoolResetFlags;
2687
2688typedef enum VkDescriptorSetLayoutCreateFlagBits {
2689 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT = 0x00000002,
2690 VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = 0x00000001,
2691 VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT = 0x00000010,
2692 VK_DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT = 0x00000020,
2693 VK_DESCRIPTOR_SET_LAYOUT_CREATE_INDIRECT_BINDABLE_BIT_NV = 0x00000080,
2694 VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT = 0x00000004,
2695 VK_DESCRIPTOR_SET_LAYOUT_CREATE_PER_STAGE_BIT_NV = 0x00000040,
2696 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT,
2697 VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE = VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT,
2698 VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2699} VkDescriptorSetLayoutCreateFlagBits;
2700typedef VkFlags VkDescriptorSetLayoutCreateFlags;
2701
2702typedef enum VkAttachmentDescriptionFlagBits {
2703 VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001,
2704 VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2705} VkAttachmentDescriptionFlagBits;
2706typedef VkFlags VkAttachmentDescriptionFlags;
2707
2708typedef enum VkDependencyFlagBits {
2709 VK_DEPENDENCY_BY_REGION_BIT = 0x00000001,
2710 VK_DEPENDENCY_DEVICE_GROUP_BIT = 0x00000004,
2711 VK_DEPENDENCY_VIEW_LOCAL_BIT = 0x00000002,
2712 VK_DEPENDENCY_FEEDBACK_LOOP_BIT_EXT = 0x00000008,
2713 VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR = VK_DEPENDENCY_VIEW_LOCAL_BIT,
2714 VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR = VK_DEPENDENCY_DEVICE_GROUP_BIT,
2715 VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2716} VkDependencyFlagBits;
2717typedef VkFlags VkDependencyFlags;
2718
2719typedef enum VkFramebufferCreateFlagBits {
2720 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT = 0x00000001,
2721 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR = VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT,
2722 VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2723} VkFramebufferCreateFlagBits;
2724typedef VkFlags VkFramebufferCreateFlags;
2725
2726typedef enum VkRenderPassCreateFlagBits {
2727 VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM = 0x00000002,
2728 VK_RENDER_PASS_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2729} VkRenderPassCreateFlagBits;
2730typedef VkFlags VkRenderPassCreateFlags;
2731
2732typedef enum VkSubpassDescriptionFlagBits {
2733 VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX = 0x00000001,
2734 VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 0x00000002,
2735 VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM = 0x00000004,
2736 VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM = 0x00000008,
2737 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_EXT = 0x00000010,
2738 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT = 0x00000020,
2739 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT = 0x00000040,
2740 VK_SUBPASS_DESCRIPTION_ENABLE_LEGACY_DITHERING_BIT_EXT = 0x00000080,
2741 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_EXT,
2742 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT,
2743 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT,
2744 VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2745} VkSubpassDescriptionFlagBits;
2746typedef VkFlags VkSubpassDescriptionFlags;
2747
2748typedef enum VkCommandPoolCreateFlagBits {
2749 VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 0x00000001,
2750 VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002,
2751 VK_COMMAND_POOL_CREATE_PROTECTED_BIT = 0x00000004,
2752 VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2753} VkCommandPoolCreateFlagBits;
2754typedef VkFlags VkCommandPoolCreateFlags;
2755
2756typedef enum VkCommandPoolResetFlagBits {
2757 VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
2758 VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2759} VkCommandPoolResetFlagBits;
2760typedef VkFlags VkCommandPoolResetFlags;
2761
2762typedef enum VkCommandBufferUsageFlagBits {
2763 VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 0x00000001,
2764 VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 0x00000002,
2765 VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 0x00000004,
2766 VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2767} VkCommandBufferUsageFlagBits;
2768typedef VkFlags VkCommandBufferUsageFlags;
2769
2770typedef enum VkQueryControlFlagBits {
2771 VK_QUERY_CONTROL_PRECISE_BIT = 0x00000001,
2772 VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2773} VkQueryControlFlagBits;
2774typedef VkFlags VkQueryControlFlags;
2775
2776typedef enum VkCommandBufferResetFlagBits {
2777 VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
2778 VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2779} VkCommandBufferResetFlagBits;
2780typedef VkFlags VkCommandBufferResetFlags;
2781
2782typedef enum VkStencilFaceFlagBits {
2783 VK_STENCIL_FACE_FRONT_BIT = 0x00000001,
2784 VK_STENCIL_FACE_BACK_BIT = 0x00000002,
2785 VK_STENCIL_FACE_FRONT_AND_BACK = 0x00000003,
2786 VK_STENCIL_FRONT_AND_BACK = VK_STENCIL_FACE_FRONT_AND_BACK,
2787 VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2788} VkStencilFaceFlagBits;
2789typedef VkFlags VkStencilFaceFlags;
2790typedef struct VkExtent2D {
2791 uint32_t width;
2792 uint32_t height;
2793} VkExtent2D;
2794
2795typedef struct VkExtent3D {
2796 uint32_t width;
2797 uint32_t height;
2798 uint32_t depth;
2799} VkExtent3D;
2800
2801typedef struct VkOffset2D {
2802 int32_t x;
2803 int32_t y;
2804} VkOffset2D;
2805
2806typedef struct VkOffset3D {
2807 int32_t x;
2808 int32_t y;
2809 int32_t z;
2810} VkOffset3D;
2811
2812typedef struct VkRect2D {
2813 VkOffset2D offset;
2814 VkExtent2D extent;
2815} VkRect2D;
2816
2817typedef struct VkBaseInStructure {
2818 VkStructureType sType;
2819 const struct VkBaseInStructure* pNext;
2820} VkBaseInStructure;
2821
2822typedef struct VkBaseOutStructure {
2823 VkStructureType sType;
2824 struct VkBaseOutStructure* pNext;
2825} VkBaseOutStructure;
2826
2827typedef struct VkBufferMemoryBarrier {
2828 VkStructureType sType;
2829 const void* pNext;
2830 VkAccessFlags srcAccessMask;
2831 VkAccessFlags dstAccessMask;
2832 uint32_t srcQueueFamilyIndex;
2833 uint32_t dstQueueFamilyIndex;
2834 VkBuffer buffer;
2835 VkDeviceSize offset;
2836 VkDeviceSize size;
2837} VkBufferMemoryBarrier;
2838
2839typedef struct VkDispatchIndirectCommand {
2840 uint32_t x;
2841 uint32_t y;
2842 uint32_t z;
2843} VkDispatchIndirectCommand;
2844
2845typedef struct VkDrawIndexedIndirectCommand {
2846 uint32_t indexCount;
2847 uint32_t instanceCount;
2848 uint32_t firstIndex;
2849 int32_t vertexOffset;
2850 uint32_t firstInstance;
2851} VkDrawIndexedIndirectCommand;
2852
2853typedef struct VkDrawIndirectCommand {
2854 uint32_t vertexCount;
2855 uint32_t instanceCount;
2856 uint32_t firstVertex;
2857 uint32_t firstInstance;
2858} VkDrawIndirectCommand;
2859
2860typedef struct VkImageSubresourceRange {
2861 VkImageAspectFlags aspectMask;
2862 uint32_t baseMipLevel;
2863 uint32_t levelCount;
2864 uint32_t baseArrayLayer;
2865 uint32_t layerCount;
2866} VkImageSubresourceRange;
2867
2868typedef struct VkImageMemoryBarrier {
2869 VkStructureType sType;
2870 const void* pNext;
2871 VkAccessFlags srcAccessMask;
2872 VkAccessFlags dstAccessMask;
2873 VkImageLayout oldLayout;
2874 VkImageLayout newLayout;
2875 uint32_t srcQueueFamilyIndex;
2876 uint32_t dstQueueFamilyIndex;
2877 VkImage image;
2878 VkImageSubresourceRange subresourceRange;
2879} VkImageMemoryBarrier;
2880
2881typedef struct VkMemoryBarrier {
2882 VkStructureType sType;
2883 const void* pNext;
2884 VkAccessFlags srcAccessMask;
2885 VkAccessFlags dstAccessMask;
2886} VkMemoryBarrier;
2887
2888typedef struct VkPipelineCacheHeaderVersionOne {
2889 uint32_t headerSize;
2890 VkPipelineCacheHeaderVersion headerVersion;
2891 uint32_t vendorID;
2892 uint32_t deviceID;
2893 uint8_t pipelineCacheUUID[VK_UUID_SIZE];
2894} VkPipelineCacheHeaderVersionOne;
2895
2896typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
2897 void* pUserData,
2898 size_t size,
2899 size_t alignment,
2900 VkSystemAllocationScope allocationScope);
2901
2902typedef void (VKAPI_PTR *PFN_vkFreeFunction)(
2903 void* pUserData,
2904 void* pMemory);
2905
2906typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(
2907 void* pUserData,
2908 size_t size,
2909 VkInternalAllocationType allocationType,
2910 VkSystemAllocationScope allocationScope);
2911
2912typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(
2913 void* pUserData,
2914 size_t size,
2915 VkInternalAllocationType allocationType,
2916 VkSystemAllocationScope allocationScope);
2917
2918typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
2919 void* pUserData,
2920 void* pOriginal,
2921 size_t size,
2922 size_t alignment,
2923 VkSystemAllocationScope allocationScope);
2924
2925typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
2926typedef struct VkAllocationCallbacks {
2927 void* pUserData;
2928 PFN_vkAllocationFunction pfnAllocation;
2929 PFN_vkReallocationFunction pfnReallocation;
2930 PFN_vkFreeFunction pfnFree;
2931 PFN_vkInternalAllocationNotification pfnInternalAllocation;
2932 PFN_vkInternalFreeNotification pfnInternalFree;
2933} VkAllocationCallbacks;
2934
2935typedef struct VkApplicationInfo {
2936 VkStructureType sType;
2937 const void* pNext;
2938 const char* pApplicationName;
2939 uint32_t applicationVersion;
2940 const char* pEngineName;
2941 uint32_t engineVersion;
2942 uint32_t apiVersion;
2943} VkApplicationInfo;
2944
2945typedef struct VkFormatProperties {
2946 VkFormatFeatureFlags linearTilingFeatures;
2947 VkFormatFeatureFlags optimalTilingFeatures;
2948 VkFormatFeatureFlags bufferFeatures;
2949} VkFormatProperties;
2950
2951typedef struct VkImageFormatProperties {
2952 VkExtent3D maxExtent;
2953 uint32_t maxMipLevels;
2954 uint32_t maxArrayLayers;
2955 VkSampleCountFlags sampleCounts;
2956 VkDeviceSize maxResourceSize;
2957} VkImageFormatProperties;
2958
2959typedef struct VkInstanceCreateInfo {
2960 VkStructureType sType;
2961 const void* pNext;
2962 VkInstanceCreateFlags flags;
2963 const VkApplicationInfo* pApplicationInfo;
2964 uint32_t enabledLayerCount;
2965 const char* const* ppEnabledLayerNames;
2966 uint32_t enabledExtensionCount;
2967 const char* const* ppEnabledExtensionNames;
2968} VkInstanceCreateInfo;
2969
2970typedef struct VkMemoryHeap {
2971 VkDeviceSize size;
2972 VkMemoryHeapFlags flags;
2973} VkMemoryHeap;
2974
2975typedef struct VkMemoryType {
2976 VkMemoryPropertyFlags propertyFlags;
2977 uint32_t heapIndex;
2978} VkMemoryType;
2979
2980typedef struct VkPhysicalDeviceFeatures {
2981 VkBool32 robustBufferAccess;
2982 VkBool32 fullDrawIndexUint32;
2983 VkBool32 imageCubeArray;
2984 VkBool32 independentBlend;
2985 VkBool32 geometryShader;
2986 VkBool32 tessellationShader;
2987 VkBool32 sampleRateShading;
2988 VkBool32 dualSrcBlend;
2989 VkBool32 logicOp;
2990 VkBool32 multiDrawIndirect;
2991 VkBool32 drawIndirectFirstInstance;
2992 VkBool32 depthClamp;
2993 VkBool32 depthBiasClamp;
2994 VkBool32 fillModeNonSolid;
2995 VkBool32 depthBounds;
2996 VkBool32 wideLines;
2997 VkBool32 largePoints;
2998 VkBool32 alphaToOne;
2999 VkBool32 multiViewport;
3000 VkBool32 samplerAnisotropy;
3001 VkBool32 textureCompressionETC2;
3002 VkBool32 textureCompressionASTC_LDR;
3003 VkBool32 textureCompressionBC;
3004 VkBool32 occlusionQueryPrecise;
3005 VkBool32 pipelineStatisticsQuery;
3006 VkBool32 vertexPipelineStoresAndAtomics;
3007 VkBool32 fragmentStoresAndAtomics;
3008 VkBool32 shaderTessellationAndGeometryPointSize;
3009 VkBool32 shaderImageGatherExtended;
3010 VkBool32 shaderStorageImageExtendedFormats;
3011 VkBool32 shaderStorageImageMultisample;
3012 VkBool32 shaderStorageImageReadWithoutFormat;
3013 VkBool32 shaderStorageImageWriteWithoutFormat;
3014 VkBool32 shaderUniformBufferArrayDynamicIndexing;
3015 VkBool32 shaderSampledImageArrayDynamicIndexing;
3016 VkBool32 shaderStorageBufferArrayDynamicIndexing;
3017 VkBool32 shaderStorageImageArrayDynamicIndexing;
3018 VkBool32 shaderClipDistance;
3019 VkBool32 shaderCullDistance;
3020 VkBool32 shaderFloat64;
3021 VkBool32 shaderInt64;
3022 VkBool32 shaderInt16;
3023 VkBool32 shaderResourceResidency;
3024 VkBool32 shaderResourceMinLod;
3025 VkBool32 sparseBinding;
3026 VkBool32 sparseResidencyBuffer;
3027 VkBool32 sparseResidencyImage2D;
3028 VkBool32 sparseResidencyImage3D;
3029 VkBool32 sparseResidency2Samples;
3030 VkBool32 sparseResidency4Samples;
3031 VkBool32 sparseResidency8Samples;
3032 VkBool32 sparseResidency16Samples;
3033 VkBool32 sparseResidencyAliased;
3034 VkBool32 variableMultisampleRate;
3035 VkBool32 inheritedQueries;
3036} VkPhysicalDeviceFeatures;
3037
3038typedef struct VkPhysicalDeviceLimits {
3039 uint32_t maxImageDimension1D;
3040 uint32_t maxImageDimension2D;
3041 uint32_t maxImageDimension3D;
3042 uint32_t maxImageDimensionCube;
3043 uint32_t maxImageArrayLayers;
3044 uint32_t maxTexelBufferElements;
3045 uint32_t maxUniformBufferRange;
3046 uint32_t maxStorageBufferRange;
3047 uint32_t maxPushConstantsSize;
3048 uint32_t maxMemoryAllocationCount;
3049 uint32_t maxSamplerAllocationCount;
3050 VkDeviceSize bufferImageGranularity;
3051 VkDeviceSize sparseAddressSpaceSize;
3052 uint32_t maxBoundDescriptorSets;
3053 uint32_t maxPerStageDescriptorSamplers;
3054 uint32_t maxPerStageDescriptorUniformBuffers;
3055 uint32_t maxPerStageDescriptorStorageBuffers;
3056 uint32_t maxPerStageDescriptorSampledImages;
3057 uint32_t maxPerStageDescriptorStorageImages;
3058 uint32_t maxPerStageDescriptorInputAttachments;
3059 uint32_t maxPerStageResources;
3060 uint32_t maxDescriptorSetSamplers;
3061 uint32_t maxDescriptorSetUniformBuffers;
3062 uint32_t maxDescriptorSetUniformBuffersDynamic;
3063 uint32_t maxDescriptorSetStorageBuffers;
3064 uint32_t maxDescriptorSetStorageBuffersDynamic;
3065 uint32_t maxDescriptorSetSampledImages;
3066 uint32_t maxDescriptorSetStorageImages;
3067 uint32_t maxDescriptorSetInputAttachments;
3068 uint32_t maxVertexInputAttributes;
3069 uint32_t maxVertexInputBindings;
3070 uint32_t maxVertexInputAttributeOffset;
3071 uint32_t maxVertexInputBindingStride;
3072 uint32_t maxVertexOutputComponents;
3073 uint32_t maxTessellationGenerationLevel;
3074 uint32_t maxTessellationPatchSize;
3075 uint32_t maxTessellationControlPerVertexInputComponents;
3076 uint32_t maxTessellationControlPerVertexOutputComponents;
3077 uint32_t maxTessellationControlPerPatchOutputComponents;
3078 uint32_t maxTessellationControlTotalOutputComponents;
3079 uint32_t maxTessellationEvaluationInputComponents;
3080 uint32_t maxTessellationEvaluationOutputComponents;
3081 uint32_t maxGeometryShaderInvocations;
3082 uint32_t maxGeometryInputComponents;
3083 uint32_t maxGeometryOutputComponents;
3084 uint32_t maxGeometryOutputVertices;
3085 uint32_t maxGeometryTotalOutputComponents;
3086 uint32_t maxFragmentInputComponents;
3087 uint32_t maxFragmentOutputAttachments;
3088 uint32_t maxFragmentDualSrcAttachments;
3089 uint32_t maxFragmentCombinedOutputResources;
3090 uint32_t maxComputeSharedMemorySize;
3091 uint32_t maxComputeWorkGroupCount[3];
3092 uint32_t maxComputeWorkGroupInvocations;
3093 uint32_t maxComputeWorkGroupSize[3];
3094 uint32_t subPixelPrecisionBits;
3095 uint32_t subTexelPrecisionBits;
3096 uint32_t mipmapPrecisionBits;
3097 uint32_t maxDrawIndexedIndexValue;
3098 uint32_t maxDrawIndirectCount;
3099 float maxSamplerLodBias;
3100 float maxSamplerAnisotropy;
3101 uint32_t maxViewports;
3102 uint32_t maxViewportDimensions[2];
3103 float viewportBoundsRange[2];
3104 uint32_t viewportSubPixelBits;
3105 size_t minMemoryMapAlignment;
3106 VkDeviceSize minTexelBufferOffsetAlignment;
3107 VkDeviceSize minUniformBufferOffsetAlignment;
3108 VkDeviceSize minStorageBufferOffsetAlignment;
3109 int32_t minTexelOffset;
3110 uint32_t maxTexelOffset;
3111 int32_t minTexelGatherOffset;
3112 uint32_t maxTexelGatherOffset;
3113 float minInterpolationOffset;
3114 float maxInterpolationOffset;
3115 uint32_t subPixelInterpolationOffsetBits;
3116 uint32_t maxFramebufferWidth;
3117 uint32_t maxFramebufferHeight;
3118 uint32_t maxFramebufferLayers;
3119 VkSampleCountFlags framebufferColorSampleCounts;
3120 VkSampleCountFlags framebufferDepthSampleCounts;
3121 VkSampleCountFlags framebufferStencilSampleCounts;
3122 VkSampleCountFlags framebufferNoAttachmentsSampleCounts;
3123 uint32_t maxColorAttachments;
3124 VkSampleCountFlags sampledImageColorSampleCounts;
3125 VkSampleCountFlags sampledImageIntegerSampleCounts;
3126 VkSampleCountFlags sampledImageDepthSampleCounts;
3127 VkSampleCountFlags sampledImageStencilSampleCounts;
3128 VkSampleCountFlags storageImageSampleCounts;
3129 uint32_t maxSampleMaskWords;
3130 VkBool32 timestampComputeAndGraphics;
3131 float timestampPeriod;
3132 uint32_t maxClipDistances;
3133 uint32_t maxCullDistances;
3134 uint32_t maxCombinedClipAndCullDistances;
3135 uint32_t discreteQueuePriorities;
3136 float pointSizeRange[2];
3137 float lineWidthRange[2];
3138 float pointSizeGranularity;
3139 float lineWidthGranularity;
3140 VkBool32 strictLines;
3141 VkBool32 standardSampleLocations;
3142 VkDeviceSize optimalBufferCopyOffsetAlignment;
3143 VkDeviceSize optimalBufferCopyRowPitchAlignment;
3144 VkDeviceSize nonCoherentAtomSize;
3145} VkPhysicalDeviceLimits;
3146
3147typedef struct VkPhysicalDeviceMemoryProperties {
3148 uint32_t memoryTypeCount;
3149 VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES];
3150 uint32_t memoryHeapCount;
3151 VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS];
3152} VkPhysicalDeviceMemoryProperties;
3153
3154typedef struct VkPhysicalDeviceSparseProperties {
3155 VkBool32 residencyStandard2DBlockShape;
3156 VkBool32 residencyStandard2DMultisampleBlockShape;
3157 VkBool32 residencyStandard3DBlockShape;
3158 VkBool32 residencyAlignedMipSize;
3159 VkBool32 residencyNonResidentStrict;
3160} VkPhysicalDeviceSparseProperties;
3161
3162typedef struct VkPhysicalDeviceProperties {
3163 uint32_t apiVersion;
3164 uint32_t driverVersion;
3165 uint32_t vendorID;
3166 uint32_t deviceID;
3167 VkPhysicalDeviceType deviceType;
3168 char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
3169 uint8_t pipelineCacheUUID[VK_UUID_SIZE];
3170 VkPhysicalDeviceLimits limits;
3171 VkPhysicalDeviceSparseProperties sparseProperties;
3172} VkPhysicalDeviceProperties;
3173
3174typedef struct VkQueueFamilyProperties {
3175 VkQueueFlags queueFlags;
3176 uint32_t queueCount;
3177 uint32_t timestampValidBits;
3178 VkExtent3D minImageTransferGranularity;
3179} VkQueueFamilyProperties;
3180
3181typedef struct VkDeviceQueueCreateInfo {
3182 VkStructureType sType;
3183 const void* pNext;
3184 VkDeviceQueueCreateFlags flags;
3185 uint32_t queueFamilyIndex;
3186 uint32_t queueCount;
3187 const float* pQueuePriorities;
3188} VkDeviceQueueCreateInfo;
3189
3190typedef struct VkDeviceCreateInfo {
3191 VkStructureType sType;
3192 const void* pNext;
3193 VkDeviceCreateFlags flags;
3194 uint32_t queueCreateInfoCount;
3195 const VkDeviceQueueCreateInfo* pQueueCreateInfos;
3196 uint32_t enabledLayerCount;
3197 const char* const* ppEnabledLayerNames;
3198 uint32_t enabledExtensionCount;
3199 const char* const* ppEnabledExtensionNames;
3200 const VkPhysicalDeviceFeatures* pEnabledFeatures;
3201} VkDeviceCreateInfo;
3202
3203typedef struct VkExtensionProperties {
3204 char extensionName[VK_MAX_EXTENSION_NAME_SIZE];
3205 uint32_t specVersion;
3206} VkExtensionProperties;
3207
3208typedef struct VkLayerProperties {
3209 char layerName[VK_MAX_EXTENSION_NAME_SIZE];
3210 uint32_t specVersion;
3211 uint32_t implementationVersion;
3212 char description[VK_MAX_DESCRIPTION_SIZE];
3213} VkLayerProperties;
3214
3215typedef struct VkSubmitInfo {
3216 VkStructureType sType;
3217 const void* pNext;
3218 uint32_t waitSemaphoreCount;
3219 const VkSemaphore* pWaitSemaphores;
3220 const VkPipelineStageFlags* pWaitDstStageMask;
3221 uint32_t commandBufferCount;
3222 const VkCommandBuffer* pCommandBuffers;
3223 uint32_t signalSemaphoreCount;
3224 const VkSemaphore* pSignalSemaphores;
3225} VkSubmitInfo;
3226
3227typedef struct VkMappedMemoryRange {
3228 VkStructureType sType;
3229 const void* pNext;
3230 VkDeviceMemory memory;
3231 VkDeviceSize offset;
3232 VkDeviceSize size;
3233} VkMappedMemoryRange;
3234
3235typedef struct VkMemoryAllocateInfo {
3236 VkStructureType sType;
3237 const void* pNext;
3238 VkDeviceSize allocationSize;
3239 uint32_t memoryTypeIndex;
3240} VkMemoryAllocateInfo;
3241
3242typedef struct VkMemoryRequirements {
3243 VkDeviceSize size;
3244 VkDeviceSize alignment;
3245 uint32_t memoryTypeBits;
3246} VkMemoryRequirements;
3247
3248typedef struct VkSparseMemoryBind {
3249 VkDeviceSize resourceOffset;
3250 VkDeviceSize size;
3251 VkDeviceMemory memory;
3252 VkDeviceSize memoryOffset;
3253 VkSparseMemoryBindFlags flags;
3254} VkSparseMemoryBind;
3255
3256typedef struct VkSparseBufferMemoryBindInfo {
3257 VkBuffer buffer;
3258 uint32_t bindCount;
3259 const VkSparseMemoryBind* pBinds;
3260} VkSparseBufferMemoryBindInfo;
3261
3262typedef struct VkSparseImageOpaqueMemoryBindInfo {
3263 VkImage image;
3264 uint32_t bindCount;
3265 const VkSparseMemoryBind* pBinds;
3266} VkSparseImageOpaqueMemoryBindInfo;
3267
3268typedef struct VkImageSubresource {
3269 VkImageAspectFlags aspectMask;
3270 uint32_t mipLevel;
3271 uint32_t arrayLayer;
3272} VkImageSubresource;
3273
3274typedef struct VkSparseImageMemoryBind {
3275 VkImageSubresource subresource;
3276 VkOffset3D offset;
3277 VkExtent3D extent;
3278 VkDeviceMemory memory;
3279 VkDeviceSize memoryOffset;
3280 VkSparseMemoryBindFlags flags;
3281} VkSparseImageMemoryBind;
3282
3283typedef struct VkSparseImageMemoryBindInfo {
3284 VkImage image;
3285 uint32_t bindCount;
3286 const VkSparseImageMemoryBind* pBinds;
3287} VkSparseImageMemoryBindInfo;
3288
3289typedef struct VkBindSparseInfo {
3290 VkStructureType sType;
3291 const void* pNext;
3292 uint32_t waitSemaphoreCount;
3293 const VkSemaphore* pWaitSemaphores;
3294 uint32_t bufferBindCount;
3295 const VkSparseBufferMemoryBindInfo* pBufferBinds;
3296 uint32_t imageOpaqueBindCount;
3297 const VkSparseImageOpaqueMemoryBindInfo* pImageOpaqueBinds;
3298 uint32_t imageBindCount;
3299 const VkSparseImageMemoryBindInfo* pImageBinds;
3300 uint32_t signalSemaphoreCount;
3301 const VkSemaphore* pSignalSemaphores;
3302} VkBindSparseInfo;
3303
3304typedef struct VkSparseImageFormatProperties {
3305 VkImageAspectFlags aspectMask;
3306 VkExtent3D imageGranularity;
3307 VkSparseImageFormatFlags flags;
3308} VkSparseImageFormatProperties;
3309
3310typedef struct VkSparseImageMemoryRequirements {
3311 VkSparseImageFormatProperties formatProperties;
3312 uint32_t imageMipTailFirstLod;
3313 VkDeviceSize imageMipTailSize;
3314 VkDeviceSize imageMipTailOffset;
3315 VkDeviceSize imageMipTailStride;
3316} VkSparseImageMemoryRequirements;
3317
3318typedef struct VkFenceCreateInfo {
3319 VkStructureType sType;
3320 const void* pNext;
3321 VkFenceCreateFlags flags;
3322} VkFenceCreateInfo;
3323
3324typedef struct VkSemaphoreCreateInfo {
3325 VkStructureType sType;
3326 const void* pNext;
3327 VkSemaphoreCreateFlags flags;
3328} VkSemaphoreCreateInfo;
3329
3330typedef struct VkEventCreateInfo {
3331 VkStructureType sType;
3332 const void* pNext;
3333 VkEventCreateFlags flags;
3334} VkEventCreateInfo;
3335
3336typedef struct VkQueryPoolCreateInfo {
3337 VkStructureType sType;
3338 const void* pNext;
3339 VkQueryPoolCreateFlags flags;
3340 VkQueryType queryType;
3341 uint32_t queryCount;
3342 VkQueryPipelineStatisticFlags pipelineStatistics;
3343} VkQueryPoolCreateInfo;
3344
3345typedef struct VkBufferCreateInfo {
3346 VkStructureType sType;
3347 const void* pNext;
3348 VkBufferCreateFlags flags;
3349 VkDeviceSize size;
3350 VkBufferUsageFlags usage;
3351 VkSharingMode sharingMode;
3352 uint32_t queueFamilyIndexCount;
3353 const uint32_t* pQueueFamilyIndices;
3354} VkBufferCreateInfo;
3355
3356typedef struct VkBufferViewCreateInfo {
3357 VkStructureType sType;
3358 const void* pNext;
3359 VkBufferViewCreateFlags flags;
3360 VkBuffer buffer;
3361 VkFormat format;
3362 VkDeviceSize offset;
3363 VkDeviceSize range;
3364} VkBufferViewCreateInfo;
3365
3366typedef struct VkImageCreateInfo {
3367 VkStructureType sType;
3368 const void* pNext;
3369 VkImageCreateFlags flags;
3370 VkImageType imageType;
3371 VkFormat format;
3372 VkExtent3D extent;
3373 uint32_t mipLevels;
3374 uint32_t arrayLayers;
3375 VkSampleCountFlagBits samples;
3376 VkImageTiling tiling;
3377 VkImageUsageFlags usage;
3378 VkSharingMode sharingMode;
3379 uint32_t queueFamilyIndexCount;
3380 const uint32_t* pQueueFamilyIndices;
3381 VkImageLayout initialLayout;
3382} VkImageCreateInfo;
3383
3384typedef struct VkSubresourceLayout {
3385 VkDeviceSize offset;
3386 VkDeviceSize size;
3387 VkDeviceSize rowPitch;
3388 VkDeviceSize arrayPitch;
3389 VkDeviceSize depthPitch;
3390} VkSubresourceLayout;
3391
3392typedef struct VkComponentMapping {
3393 VkComponentSwizzle r;
3394 VkComponentSwizzle g;
3395 VkComponentSwizzle b;
3396 VkComponentSwizzle a;
3397} VkComponentMapping;
3398
3399typedef struct VkImageViewCreateInfo {
3400 VkStructureType sType;
3401 const void* pNext;
3402 VkImageViewCreateFlags flags;
3403 VkImage image;
3404 VkImageViewType viewType;
3405 VkFormat format;
3406 VkComponentMapping components;
3407 VkImageSubresourceRange subresourceRange;
3408} VkImageViewCreateInfo;
3409
3410typedef struct VkShaderModuleCreateInfo {
3411 VkStructureType sType;
3412 const void* pNext;
3413 VkShaderModuleCreateFlags flags;
3414 size_t codeSize;
3415 const uint32_t* pCode;
3416} VkShaderModuleCreateInfo;
3417
3418typedef struct VkPipelineCacheCreateInfo {
3419 VkStructureType sType;
3420 const void* pNext;
3421 VkPipelineCacheCreateFlags flags;
3422 size_t initialDataSize;
3423 const void* pInitialData;
3424} VkPipelineCacheCreateInfo;
3425
3426typedef struct VkSpecializationMapEntry {
3427 uint32_t constantID;
3428 uint32_t offset;
3429 size_t size;
3430} VkSpecializationMapEntry;
3431
3432typedef struct VkSpecializationInfo {
3433 uint32_t mapEntryCount;
3434 const VkSpecializationMapEntry* pMapEntries;
3435 size_t dataSize;
3436 const void* pData;
3437} VkSpecializationInfo;
3438
3439typedef struct VkPipelineShaderStageCreateInfo {
3440 VkStructureType sType;
3441 const void* pNext;
3442 VkPipelineShaderStageCreateFlags flags;
3443 VkShaderStageFlagBits stage;
3444 VkShaderModule module;
3445 const char* pName;
3446 const VkSpecializationInfo* pSpecializationInfo;
3447} VkPipelineShaderStageCreateInfo;
3448
3449typedef struct VkComputePipelineCreateInfo {
3450 VkStructureType sType;
3451 const void* pNext;
3452 VkPipelineCreateFlags flags;
3453 VkPipelineShaderStageCreateInfo stage;
3454 VkPipelineLayout layout;
3455 VkPipeline basePipelineHandle;
3456 int32_t basePipelineIndex;
3457} VkComputePipelineCreateInfo;
3458
3459typedef struct VkVertexInputBindingDescription {
3460 uint32_t binding;
3461 uint32_t stride;
3462 VkVertexInputRate inputRate;
3463} VkVertexInputBindingDescription;
3464
3465typedef struct VkVertexInputAttributeDescription {
3466 uint32_t location;
3467 uint32_t binding;
3468 VkFormat format;
3469 uint32_t offset;
3470} VkVertexInputAttributeDescription;
3471
3472typedef struct VkPipelineVertexInputStateCreateInfo {
3473 VkStructureType sType;
3474 const void* pNext;
3475 VkPipelineVertexInputStateCreateFlags flags;
3476 uint32_t vertexBindingDescriptionCount;
3477 const VkVertexInputBindingDescription* pVertexBindingDescriptions;
3478 uint32_t vertexAttributeDescriptionCount;
3479 const VkVertexInputAttributeDescription* pVertexAttributeDescriptions;
3480} VkPipelineVertexInputStateCreateInfo;
3481
3482typedef struct VkPipelineInputAssemblyStateCreateInfo {
3483 VkStructureType sType;
3484 const void* pNext;
3485 VkPipelineInputAssemblyStateCreateFlags flags;
3486 VkPrimitiveTopology topology;
3487 VkBool32 primitiveRestartEnable;
3488} VkPipelineInputAssemblyStateCreateInfo;
3489
3490typedef struct VkPipelineTessellationStateCreateInfo {
3491 VkStructureType sType;
3492 const void* pNext;
3493 VkPipelineTessellationStateCreateFlags flags;
3494 uint32_t patchControlPoints;
3495} VkPipelineTessellationStateCreateInfo;
3496
3497typedef struct VkViewport {
3498 float x;
3499 float y;
3500 float width;
3501 float height;
3502 float minDepth;
3503 float maxDepth;
3504} VkViewport;
3505
3506typedef struct VkPipelineViewportStateCreateInfo {
3507 VkStructureType sType;
3508 const void* pNext;
3509 VkPipelineViewportStateCreateFlags flags;
3510 uint32_t viewportCount;
3511 const VkViewport* pViewports;
3512 uint32_t scissorCount;
3513 const VkRect2D* pScissors;
3514} VkPipelineViewportStateCreateInfo;
3515
3516typedef struct VkPipelineRasterizationStateCreateInfo {
3517 VkStructureType sType;
3518 const void* pNext;
3519 VkPipelineRasterizationStateCreateFlags flags;
3520 VkBool32 depthClampEnable;
3521 VkBool32 rasterizerDiscardEnable;
3522 VkPolygonMode polygonMode;
3523 VkCullModeFlags cullMode;
3524 VkFrontFace frontFace;
3525 VkBool32 depthBiasEnable;
3526 float depthBiasConstantFactor;
3527 float depthBiasClamp;
3528 float depthBiasSlopeFactor;
3529 float lineWidth;
3530} VkPipelineRasterizationStateCreateInfo;
3531
3532typedef struct VkPipelineMultisampleStateCreateInfo {
3533 VkStructureType sType;
3534 const void* pNext;
3535 VkPipelineMultisampleStateCreateFlags flags;
3536 VkSampleCountFlagBits rasterizationSamples;
3537 VkBool32 sampleShadingEnable;
3538 float minSampleShading;
3539 const VkSampleMask* pSampleMask;
3540 VkBool32 alphaToCoverageEnable;
3541 VkBool32 alphaToOneEnable;
3542} VkPipelineMultisampleStateCreateInfo;
3543
3544typedef struct VkStencilOpState {
3545 VkStencilOp failOp;
3546 VkStencilOp passOp;
3547 VkStencilOp depthFailOp;
3548 VkCompareOp compareOp;
3549 uint32_t compareMask;
3550 uint32_t writeMask;
3551 uint32_t reference;
3552} VkStencilOpState;
3553
3554typedef struct VkPipelineDepthStencilStateCreateInfo {
3555 VkStructureType sType;
3556 const void* pNext;
3557 VkPipelineDepthStencilStateCreateFlags flags;
3558 VkBool32 depthTestEnable;
3559 VkBool32 depthWriteEnable;
3560 VkCompareOp depthCompareOp;
3561 VkBool32 depthBoundsTestEnable;
3562 VkBool32 stencilTestEnable;
3563 VkStencilOpState front;
3564 VkStencilOpState back;
3565 float minDepthBounds;
3566 float maxDepthBounds;
3567} VkPipelineDepthStencilStateCreateInfo;
3568
3569typedef struct VkPipelineColorBlendAttachmentState {
3570 VkBool32 blendEnable;
3571 VkBlendFactor srcColorBlendFactor;
3572 VkBlendFactor dstColorBlendFactor;
3573 VkBlendOp colorBlendOp;
3574 VkBlendFactor srcAlphaBlendFactor;
3575 VkBlendFactor dstAlphaBlendFactor;
3576 VkBlendOp alphaBlendOp;
3577 VkColorComponentFlags colorWriteMask;
3578} VkPipelineColorBlendAttachmentState;
3579
3580typedef struct VkPipelineColorBlendStateCreateInfo {
3581 VkStructureType sType;
3582 const void* pNext;
3583 VkPipelineColorBlendStateCreateFlags flags;
3584 VkBool32 logicOpEnable;
3585 VkLogicOp logicOp;
3586 uint32_t attachmentCount;
3587 const VkPipelineColorBlendAttachmentState* pAttachments;
3588 float blendConstants[4];
3589} VkPipelineColorBlendStateCreateInfo;
3590
3591typedef struct VkPipelineDynamicStateCreateInfo {
3592 VkStructureType sType;
3593 const void* pNext;
3594 VkPipelineDynamicStateCreateFlags flags;
3595 uint32_t dynamicStateCount;
3596 const VkDynamicState* pDynamicStates;
3597} VkPipelineDynamicStateCreateInfo;
3598
3599typedef struct VkGraphicsPipelineCreateInfo {
3600 VkStructureType sType;
3601 const void* pNext;
3602 VkPipelineCreateFlags flags;
3603 uint32_t stageCount;
3604 const VkPipelineShaderStageCreateInfo* pStages;
3605 const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
3606 const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState;
3607 const VkPipelineTessellationStateCreateInfo* pTessellationState;
3608 const VkPipelineViewportStateCreateInfo* pViewportState;
3609 const VkPipelineRasterizationStateCreateInfo* pRasterizationState;
3610 const VkPipelineMultisampleStateCreateInfo* pMultisampleState;
3611 const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState;
3612 const VkPipelineColorBlendStateCreateInfo* pColorBlendState;
3613 const VkPipelineDynamicStateCreateInfo* pDynamicState;
3614 VkPipelineLayout layout;
3615 VkRenderPass renderPass;
3616 uint32_t subpass;
3617 VkPipeline basePipelineHandle;
3618 int32_t basePipelineIndex;
3619} VkGraphicsPipelineCreateInfo;
3620
3621typedef struct VkPushConstantRange {
3622 VkShaderStageFlags stageFlags;
3623 uint32_t offset;
3624 uint32_t size;
3625} VkPushConstantRange;
3626
3627typedef struct VkPipelineLayoutCreateInfo {
3628 VkStructureType sType;
3629 const void* pNext;
3630 VkPipelineLayoutCreateFlags flags;
3631 uint32_t setLayoutCount;
3632 const VkDescriptorSetLayout* pSetLayouts;
3633 uint32_t pushConstantRangeCount;
3634 const VkPushConstantRange* pPushConstantRanges;
3635} VkPipelineLayoutCreateInfo;
3636
3637typedef struct VkSamplerCreateInfo {
3638 VkStructureType sType;
3639 const void* pNext;
3640 VkSamplerCreateFlags flags;
3641 VkFilter magFilter;
3642 VkFilter minFilter;
3643 VkSamplerMipmapMode mipmapMode;
3644 VkSamplerAddressMode addressModeU;
3645 VkSamplerAddressMode addressModeV;
3646 VkSamplerAddressMode addressModeW;
3647 float mipLodBias;
3648 VkBool32 anisotropyEnable;
3649 float maxAnisotropy;
3650 VkBool32 compareEnable;
3651 VkCompareOp compareOp;
3652 float minLod;
3653 float maxLod;
3654 VkBorderColor borderColor;
3655 VkBool32 unnormalizedCoordinates;
3656} VkSamplerCreateInfo;
3657
3658typedef struct VkCopyDescriptorSet {
3659 VkStructureType sType;
3660 const void* pNext;
3661 VkDescriptorSet srcSet;
3662 uint32_t srcBinding;
3663 uint32_t srcArrayElement;
3664 VkDescriptorSet dstSet;
3665 uint32_t dstBinding;
3666 uint32_t dstArrayElement;
3667 uint32_t descriptorCount;
3668} VkCopyDescriptorSet;
3669
3670typedef struct VkDescriptorBufferInfo {
3671 VkBuffer buffer;
3672 VkDeviceSize offset;
3673 VkDeviceSize range;
3674} VkDescriptorBufferInfo;
3675
3676typedef struct VkDescriptorImageInfo {
3677 VkSampler sampler;
3678 VkImageView imageView;
3679 VkImageLayout imageLayout;
3680} VkDescriptorImageInfo;
3681
3682typedef struct VkDescriptorPoolSize {
3683 VkDescriptorType type;
3684 uint32_t descriptorCount;
3685} VkDescriptorPoolSize;
3686
3687typedef struct VkDescriptorPoolCreateInfo {
3688 VkStructureType sType;
3689 const void* pNext;
3690 VkDescriptorPoolCreateFlags flags;
3691 uint32_t maxSets;
3692 uint32_t poolSizeCount;
3693 const VkDescriptorPoolSize* pPoolSizes;
3694} VkDescriptorPoolCreateInfo;
3695
3696typedef struct VkDescriptorSetAllocateInfo {
3697 VkStructureType sType;
3698 const void* pNext;
3699 VkDescriptorPool descriptorPool;
3700 uint32_t descriptorSetCount;
3701 const VkDescriptorSetLayout* pSetLayouts;
3702} VkDescriptorSetAllocateInfo;
3703
3704typedef struct VkDescriptorSetLayoutBinding {
3705 uint32_t binding;
3706 VkDescriptorType descriptorType;
3707 uint32_t descriptorCount;
3708 VkShaderStageFlags stageFlags;
3709 const VkSampler* pImmutableSamplers;
3710} VkDescriptorSetLayoutBinding;
3711
3712typedef struct VkDescriptorSetLayoutCreateInfo {
3713 VkStructureType sType;
3714 const void* pNext;
3715 VkDescriptorSetLayoutCreateFlags flags;
3716 uint32_t bindingCount;
3717 const VkDescriptorSetLayoutBinding* pBindings;
3718} VkDescriptorSetLayoutCreateInfo;
3719
3720typedef struct VkWriteDescriptorSet {
3721 VkStructureType sType;
3722 const void* pNext;
3723 VkDescriptorSet dstSet;
3724 uint32_t dstBinding;
3725 uint32_t dstArrayElement;
3726 uint32_t descriptorCount;
3727 VkDescriptorType descriptorType;
3728 const VkDescriptorImageInfo* pImageInfo;
3729 const VkDescriptorBufferInfo* pBufferInfo;
3730 const VkBufferView* pTexelBufferView;
3731} VkWriteDescriptorSet;
3732
3733typedef struct VkAttachmentDescription {
3734 VkAttachmentDescriptionFlags flags;
3735 VkFormat format;
3736 VkSampleCountFlagBits samples;
3737 VkAttachmentLoadOp loadOp;
3738 VkAttachmentStoreOp storeOp;
3739 VkAttachmentLoadOp stencilLoadOp;
3740 VkAttachmentStoreOp stencilStoreOp;
3741 VkImageLayout initialLayout;
3742 VkImageLayout finalLayout;
3743} VkAttachmentDescription;
3744
3745typedef struct VkAttachmentReference {
3746 uint32_t attachment;
3747 VkImageLayout layout;
3748} VkAttachmentReference;
3749
3750typedef struct VkFramebufferCreateInfo {
3751 VkStructureType sType;
3752 const void* pNext;
3753 VkFramebufferCreateFlags flags;
3754 VkRenderPass renderPass;
3755 uint32_t attachmentCount;
3756 const VkImageView* pAttachments;
3757 uint32_t width;
3758 uint32_t height;
3759 uint32_t layers;
3760} VkFramebufferCreateInfo;
3761
3762typedef struct VkSubpassDescription {
3763 VkSubpassDescriptionFlags flags;
3764 VkPipelineBindPoint pipelineBindPoint;
3765 uint32_t inputAttachmentCount;
3766 const VkAttachmentReference* pInputAttachments;
3767 uint32_t colorAttachmentCount;
3768 const VkAttachmentReference* pColorAttachments;
3769 const VkAttachmentReference* pResolveAttachments;
3770 const VkAttachmentReference* pDepthStencilAttachment;
3771 uint32_t preserveAttachmentCount;
3772 const uint32_t* pPreserveAttachments;
3773} VkSubpassDescription;
3774
3775typedef struct VkSubpassDependency {
3776 uint32_t srcSubpass;
3777 uint32_t dstSubpass;
3778 VkPipelineStageFlags srcStageMask;
3779 VkPipelineStageFlags dstStageMask;
3780 VkAccessFlags srcAccessMask;
3781 VkAccessFlags dstAccessMask;
3782 VkDependencyFlags dependencyFlags;
3783} VkSubpassDependency;
3784
3785typedef struct VkRenderPassCreateInfo {
3786 VkStructureType sType;
3787 const void* pNext;
3788 VkRenderPassCreateFlags flags;
3789 uint32_t attachmentCount;
3790 const VkAttachmentDescription* pAttachments;
3791 uint32_t subpassCount;
3792 const VkSubpassDescription* pSubpasses;
3793 uint32_t dependencyCount;
3794 const VkSubpassDependency* pDependencies;
3795} VkRenderPassCreateInfo;
3796
3797typedef struct VkCommandPoolCreateInfo {
3798 VkStructureType sType;
3799 const void* pNext;
3800 VkCommandPoolCreateFlags flags;
3801 uint32_t queueFamilyIndex;
3802} VkCommandPoolCreateInfo;
3803
3804typedef struct VkCommandBufferAllocateInfo {
3805 VkStructureType sType;
3806 const void* pNext;
3807 VkCommandPool commandPool;
3808 VkCommandBufferLevel level;
3809 uint32_t commandBufferCount;
3810} VkCommandBufferAllocateInfo;
3811
3812typedef struct VkCommandBufferInheritanceInfo {
3813 VkStructureType sType;
3814 const void* pNext;
3815 VkRenderPass renderPass;
3816 uint32_t subpass;
3817 VkFramebuffer framebuffer;
3818 VkBool32 occlusionQueryEnable;
3819 VkQueryControlFlags queryFlags;
3820 VkQueryPipelineStatisticFlags pipelineStatistics;
3821} VkCommandBufferInheritanceInfo;
3822
3823typedef struct VkCommandBufferBeginInfo {
3824 VkStructureType sType;
3825 const void* pNext;
3826 VkCommandBufferUsageFlags flags;
3827 const VkCommandBufferInheritanceInfo* pInheritanceInfo;
3828} VkCommandBufferBeginInfo;
3829
3830typedef struct VkBufferCopy {
3831 VkDeviceSize srcOffset;
3832 VkDeviceSize dstOffset;
3833 VkDeviceSize size;
3834} VkBufferCopy;
3835
3836typedef struct VkImageSubresourceLayers {
3837 VkImageAspectFlags aspectMask;
3838 uint32_t mipLevel;
3839 uint32_t baseArrayLayer;
3840 uint32_t layerCount;
3841} VkImageSubresourceLayers;
3842
3843typedef struct VkBufferImageCopy {
3844 VkDeviceSize bufferOffset;
3845 uint32_t bufferRowLength;
3846 uint32_t bufferImageHeight;
3847 VkImageSubresourceLayers imageSubresource;
3848 VkOffset3D imageOffset;
3849 VkExtent3D imageExtent;
3850} VkBufferImageCopy;
3851
3852typedef union VkClearColorValue {
3853 float float32[4];
3854 int32_t int32[4];
3855 uint32_t uint32[4];
3856} VkClearColorValue;
3857
3858typedef struct VkClearDepthStencilValue {
3859 float depth;
3860 uint32_t stencil;
3861} VkClearDepthStencilValue;
3862
3863typedef union VkClearValue {
3864 VkClearColorValue color;
3865 VkClearDepthStencilValue depthStencil;
3866} VkClearValue;
3867
3868typedef struct VkClearAttachment {
3869 VkImageAspectFlags aspectMask;
3870 uint32_t colorAttachment;
3871 VkClearValue clearValue;
3872} VkClearAttachment;
3873
3874typedef struct VkClearRect {
3875 VkRect2D rect;
3876 uint32_t baseArrayLayer;
3877 uint32_t layerCount;
3878} VkClearRect;
3879
3880typedef struct VkImageBlit {
3881 VkImageSubresourceLayers srcSubresource;
3882 VkOffset3D srcOffsets[2];
3883 VkImageSubresourceLayers dstSubresource;
3884 VkOffset3D dstOffsets[2];
3885} VkImageBlit;
3886
3887typedef struct VkImageCopy {
3888 VkImageSubresourceLayers srcSubresource;
3889 VkOffset3D srcOffset;
3890 VkImageSubresourceLayers dstSubresource;
3891 VkOffset3D dstOffset;
3892 VkExtent3D extent;
3893} VkImageCopy;
3894
3895typedef struct VkImageResolve {
3896 VkImageSubresourceLayers srcSubresource;
3897 VkOffset3D srcOffset;
3898 VkImageSubresourceLayers dstSubresource;
3899 VkOffset3D dstOffset;
3900 VkExtent3D extent;
3901} VkImageResolve;
3902
3903typedef struct VkRenderPassBeginInfo {
3904 VkStructureType sType;
3905 const void* pNext;
3906 VkRenderPass renderPass;
3907 VkFramebuffer framebuffer;
3908 VkRect2D renderArea;
3909 uint32_t clearValueCount;
3910 const VkClearValue* pClearValues;
3911} VkRenderPassBeginInfo;
3912
3913typedef VkResult (VKAPI_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance);
3914typedef void (VKAPI_PTR *PFN_vkDestroyInstance)(VkInstance instance, const VkAllocationCallbacks* pAllocator);
3915typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDevices)(VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices);
3916typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures);
3917typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties);
3918typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties);
3919typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties);
3920typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties);
3921typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties);
3922typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddr)(VkInstance instance, const char* pName);
3923typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetDeviceProcAddr)(VkDevice device, const char* pName);
3924typedef VkResult (VKAPI_PTR *PFN_vkCreateDevice)(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice);
3925typedef void (VKAPI_PTR *PFN_vkDestroyDevice)(VkDevice device, const VkAllocationCallbacks* pAllocator);
3926typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceExtensionProperties)(const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties);
3927typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties);
3928typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceLayerProperties)(uint32_t* pPropertyCount, VkLayerProperties* pProperties);
3929typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties);
3930typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue)(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue);
3931typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence);
3932typedef VkResult (VKAPI_PTR *PFN_vkQueueWaitIdle)(VkQueue queue);
3933typedef VkResult (VKAPI_PTR *PFN_vkDeviceWaitIdle)(VkDevice device);
3934typedef VkResult (VKAPI_PTR *PFN_vkAllocateMemory)(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory);
3935typedef void (VKAPI_PTR *PFN_vkFreeMemory)(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator);
3936typedef VkResult (VKAPI_PTR *PFN_vkMapMemory)(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData);
3937typedef void (VKAPI_PTR *PFN_vkUnmapMemory)(VkDevice device, VkDeviceMemory memory);
3938typedef VkResult (VKAPI_PTR *PFN_vkFlushMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
3939typedef VkResult (VKAPI_PTR *PFN_vkInvalidateMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
3940typedef void (VKAPI_PTR *PFN_vkGetDeviceMemoryCommitment)(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes);
3941typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory)(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset);
3942typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory)(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset);
3943typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements)(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements);
3944typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements)(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements);
3945typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements)(VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
3946typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties);
3947typedef VkResult (VKAPI_PTR *PFN_vkQueueBindSparse)(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence);
3948typedef VkResult (VKAPI_PTR *PFN_vkCreateFence)(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
3949typedef void (VKAPI_PTR *PFN_vkDestroyFence)(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator);
3950typedef VkResult (VKAPI_PTR *PFN_vkResetFences)(VkDevice device, uint32_t fenceCount, const VkFence* pFences);
3951typedef VkResult (VKAPI_PTR *PFN_vkGetFenceStatus)(VkDevice device, VkFence fence);
3952typedef VkResult (VKAPI_PTR *PFN_vkWaitForFences)(VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout);
3953typedef VkResult (VKAPI_PTR *PFN_vkCreateSemaphore)(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore);
3954typedef void (VKAPI_PTR *PFN_vkDestroySemaphore)(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator);
3955typedef VkResult (VKAPI_PTR *PFN_vkCreateEvent)(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent);
3956typedef void (VKAPI_PTR *PFN_vkDestroyEvent)(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator);
3957typedef VkResult (VKAPI_PTR *PFN_vkGetEventStatus)(VkDevice device, VkEvent event);
3958typedef VkResult (VKAPI_PTR *PFN_vkSetEvent)(VkDevice device, VkEvent event);
3959typedef VkResult (VKAPI_PTR *PFN_vkResetEvent)(VkDevice device, VkEvent event);
3960typedef VkResult (VKAPI_PTR *PFN_vkCreateQueryPool)(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool);
3961typedef void (VKAPI_PTR *PFN_vkDestroyQueryPool)(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator);
3962typedef VkResult (VKAPI_PTR *PFN_vkGetQueryPoolResults)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags);
3963typedef VkResult (VKAPI_PTR *PFN_vkCreateBuffer)(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer);
3964typedef void (VKAPI_PTR *PFN_vkDestroyBuffer)(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator);
3965typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferView)(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView);
3966typedef void (VKAPI_PTR *PFN_vkDestroyBufferView)(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator);
3967typedef VkResult (VKAPI_PTR *PFN_vkCreateImage)(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage);
3968typedef void (VKAPI_PTR *PFN_vkDestroyImage)(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator);
3969typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout)(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout);
3970typedef VkResult (VKAPI_PTR *PFN_vkCreateImageView)(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView);
3971typedef void (VKAPI_PTR *PFN_vkDestroyImageView)(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator);
3972typedef VkResult (VKAPI_PTR *PFN_vkCreateShaderModule)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule);
3973typedef void (VKAPI_PTR *PFN_vkDestroyShaderModule)(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator);
3974typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineCache)(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache);
3975typedef void (VKAPI_PTR *PFN_vkDestroyPipelineCache)(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator);
3976typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineCacheData)(VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData);
3977typedef VkResult (VKAPI_PTR *PFN_vkMergePipelineCaches)(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches);
3978typedef VkResult (VKAPI_PTR *PFN_vkCreateGraphicsPipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
3979typedef VkResult (VKAPI_PTR *PFN_vkCreateComputePipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
3980typedef void (VKAPI_PTR *PFN_vkDestroyPipeline)(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator);
3981typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineLayout)(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout);
3982typedef void (VKAPI_PTR *PFN_vkDestroyPipelineLayout)(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator);
3983typedef VkResult (VKAPI_PTR *PFN_vkCreateSampler)(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler);
3984typedef void (VKAPI_PTR *PFN_vkDestroySampler)(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator);
3985typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorSetLayout)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout);
3986typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorSetLayout)(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator);
3987typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorPool)(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool);
3988typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator);
3989typedef VkResult (VKAPI_PTR *PFN_vkResetDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags);
3990typedef VkResult (VKAPI_PTR *PFN_vkAllocateDescriptorSets)(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets);
3991typedef VkResult (VKAPI_PTR *PFN_vkFreeDescriptorSets)(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets);
3992typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSets)(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies);
3993typedef VkResult (VKAPI_PTR *PFN_vkCreateFramebuffer)(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer);
3994typedef void (VKAPI_PTR *PFN_vkDestroyFramebuffer)(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator);
3995typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass)(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
3996typedef void (VKAPI_PTR *PFN_vkDestroyRenderPass)(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator);
3997typedef void (VKAPI_PTR *PFN_vkGetRenderAreaGranularity)(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity);
3998typedef VkResult (VKAPI_PTR *PFN_vkCreateCommandPool)(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool);
3999typedef void (VKAPI_PTR *PFN_vkDestroyCommandPool)(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator);
4000typedef VkResult (VKAPI_PTR *PFN_vkResetCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags);
4001typedef VkResult (VKAPI_PTR *PFN_vkAllocateCommandBuffers)(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers);
4002typedef void (VKAPI_PTR *PFN_vkFreeCommandBuffers)(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers);
4003typedef VkResult (VKAPI_PTR *PFN_vkBeginCommandBuffer)(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo);
4004typedef VkResult (VKAPI_PTR *PFN_vkEndCommandBuffer)(VkCommandBuffer commandBuffer);
4005typedef VkResult (VKAPI_PTR *PFN_vkResetCommandBuffer)(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags);
4006typedef void (VKAPI_PTR *PFN_vkCmdBindPipeline)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline);
4007typedef void (VKAPI_PTR *PFN_vkCmdSetViewport)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports);
4008typedef void (VKAPI_PTR *PFN_vkCmdSetScissor)(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors);
4009typedef void (VKAPI_PTR *PFN_vkCmdSetLineWidth)(VkCommandBuffer commandBuffer, float lineWidth);
4010typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias)(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor);
4011typedef void (VKAPI_PTR *PFN_vkCmdSetBlendConstants)(VkCommandBuffer commandBuffer, const float blendConstants[4]);
4012typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBounds)(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds);
4013typedef void (VKAPI_PTR *PFN_vkCmdSetStencilCompareMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask);
4014typedef void (VKAPI_PTR *PFN_vkCmdSetStencilWriteMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask);
4015typedef void (VKAPI_PTR *PFN_vkCmdSetStencilReference)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference);
4016typedef 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);
4017typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType);
4018typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets);
4019typedef void (VKAPI_PTR *PFN_vkCmdDraw)(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance);
4020typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexed)(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance);
4021typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
4022typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
4023typedef void (VKAPI_PTR *PFN_vkCmdDispatch)(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ);
4024typedef void (VKAPI_PTR *PFN_vkCmdDispatchIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset);
4025typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions);
4026typedef void (VKAPI_PTR *PFN_vkCmdCopyImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions);
4027typedef void (VKAPI_PTR *PFN_vkCmdBlitImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter);
4028typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions);
4029typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions);
4030typedef void (VKAPI_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData);
4031typedef void (VKAPI_PTR *PFN_vkCmdFillBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data);
4032typedef void (VKAPI_PTR *PFN_vkCmdClearColorImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges);
4033typedef void (VKAPI_PTR *PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges);
4034typedef void (VKAPI_PTR *PFN_vkCmdClearAttachments)(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects);
4035typedef void (VKAPI_PTR *PFN_vkCmdResolveImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions);
4036typedef void (VKAPI_PTR *PFN_vkCmdSetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
4037typedef void (VKAPI_PTR *PFN_vkCmdResetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
4038typedef 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);
4039typedef 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);
4040typedef void (VKAPI_PTR *PFN_vkCmdBeginQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags);
4041typedef void (VKAPI_PTR *PFN_vkCmdEndQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query);
4042typedef void (VKAPI_PTR *PFN_vkCmdResetQueryPool)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount);
4043typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query);
4044typedef void (VKAPI_PTR *PFN_vkCmdCopyQueryPoolResults)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags);
4045typedef void (VKAPI_PTR *PFN_vkCmdPushConstants)(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues);
4046typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents);
4047typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass)(VkCommandBuffer commandBuffer, VkSubpassContents contents);
4048typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass)(VkCommandBuffer commandBuffer);
4049typedef void (VKAPI_PTR *PFN_vkCmdExecuteCommands)(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers);
4050
4051#ifndef VK_NO_PROTOTYPES
4052VKAPI_ATTR VkResult VKAPI_CALL vkCreateInstance(
4053 const VkInstanceCreateInfo* pCreateInfo,
4054 const VkAllocationCallbacks* pAllocator,
4055 VkInstance* pInstance);
4056
4057VKAPI_ATTR void VKAPI_CALL vkDestroyInstance(
4058 VkInstance instance,
4059 const VkAllocationCallbacks* pAllocator);
4060
4061VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDevices(
4062 VkInstance instance,
4063 uint32_t* pPhysicalDeviceCount,
4064 VkPhysicalDevice* pPhysicalDevices);
4065
4066VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures(
4067 VkPhysicalDevice physicalDevice,
4068 VkPhysicalDeviceFeatures* pFeatures);
4069
4070VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties(
4071 VkPhysicalDevice physicalDevice,
4072 VkFormat format,
4073 VkFormatProperties* pFormatProperties);
4074
4075VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties(
4076 VkPhysicalDevice physicalDevice,
4077 VkFormat format,
4078 VkImageType type,
4079 VkImageTiling tiling,
4080 VkImageUsageFlags usage,
4081 VkImageCreateFlags flags,
4082 VkImageFormatProperties* pImageFormatProperties);
4083
4084VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties(
4085 VkPhysicalDevice physicalDevice,
4086 VkPhysicalDeviceProperties* pProperties);
4087
4088VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties(
4089 VkPhysicalDevice physicalDevice,
4090 uint32_t* pQueueFamilyPropertyCount,
4091 VkQueueFamilyProperties* pQueueFamilyProperties);
4092
4093VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties(
4094 VkPhysicalDevice physicalDevice,
4095 VkPhysicalDeviceMemoryProperties* pMemoryProperties);
4096
4097VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr(
4098 VkInstance instance,
4099 const char* pName);
4100
4101VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr(
4102 VkDevice device,
4103 const char* pName);
4104
4105VKAPI_ATTR VkResult VKAPI_CALL vkCreateDevice(
4106 VkPhysicalDevice physicalDevice,
4107 const VkDeviceCreateInfo* pCreateInfo,
4108 const VkAllocationCallbacks* pAllocator,
4109 VkDevice* pDevice);
4110
4111VKAPI_ATTR void VKAPI_CALL vkDestroyDevice(
4112 VkDevice device,
4113 const VkAllocationCallbacks* pAllocator);
4114
4115VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionProperties(
4116 const char* pLayerName,
4117 uint32_t* pPropertyCount,
4118 VkExtensionProperties* pProperties);
4119
4120VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceExtensionProperties(
4121 VkPhysicalDevice physicalDevice,
4122 const char* pLayerName,
4123 uint32_t* pPropertyCount,
4124 VkExtensionProperties* pProperties);
4125
4126VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties(
4127 uint32_t* pPropertyCount,
4128 VkLayerProperties* pProperties);
4129
4130VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceLayerProperties(
4131 VkPhysicalDevice physicalDevice,
4132 uint32_t* pPropertyCount,
4133 VkLayerProperties* pProperties);
4134
4135VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue(
4136 VkDevice device,
4137 uint32_t queueFamilyIndex,
4138 uint32_t queueIndex,
4139 VkQueue* pQueue);
4140
4141VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit(
4142 VkQueue queue,
4143 uint32_t submitCount,
4144 const VkSubmitInfo* pSubmits,
4145 VkFence fence);
4146
4147VKAPI_ATTR VkResult VKAPI_CALL vkQueueWaitIdle(
4148 VkQueue queue);
4149
4150VKAPI_ATTR VkResult VKAPI_CALL vkDeviceWaitIdle(
4151 VkDevice device);
4152
4153VKAPI_ATTR VkResult VKAPI_CALL vkAllocateMemory(
4154 VkDevice device,
4155 const VkMemoryAllocateInfo* pAllocateInfo,
4156 const VkAllocationCallbacks* pAllocator,
4157 VkDeviceMemory* pMemory);
4158
4159VKAPI_ATTR void VKAPI_CALL vkFreeMemory(
4160 VkDevice device,
4161 VkDeviceMemory memory,
4162 const VkAllocationCallbacks* pAllocator);
4163
4164VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory(
4165 VkDevice device,
4166 VkDeviceMemory memory,
4167 VkDeviceSize offset,
4168 VkDeviceSize size,
4169 VkMemoryMapFlags flags,
4170 void** ppData);
4171
4172VKAPI_ATTR void VKAPI_CALL vkUnmapMemory(
4173 VkDevice device,
4174 VkDeviceMemory memory);
4175
4176VKAPI_ATTR VkResult VKAPI_CALL vkFlushMappedMemoryRanges(
4177 VkDevice device,
4178 uint32_t memoryRangeCount,
4179 const VkMappedMemoryRange* pMemoryRanges);
4180
4181VKAPI_ATTR VkResult VKAPI_CALL vkInvalidateMappedMemoryRanges(
4182 VkDevice device,
4183 uint32_t memoryRangeCount,
4184 const VkMappedMemoryRange* pMemoryRanges);
4185
4186VKAPI_ATTR void VKAPI_CALL vkGetDeviceMemoryCommitment(
4187 VkDevice device,
4188 VkDeviceMemory memory,
4189 VkDeviceSize* pCommittedMemoryInBytes);
4190
4191VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory(
4192 VkDevice device,
4193 VkBuffer buffer,
4194 VkDeviceMemory memory,
4195 VkDeviceSize memoryOffset);
4196
4197VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory(
4198 VkDevice device,
4199 VkImage image,
4200 VkDeviceMemory memory,
4201 VkDeviceSize memoryOffset);
4202
4203VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements(
4204 VkDevice device,
4205 VkBuffer buffer,
4206 VkMemoryRequirements* pMemoryRequirements);
4207
4208VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements(
4209 VkDevice device,
4210 VkImage image,
4211 VkMemoryRequirements* pMemoryRequirements);
4212
4213VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements(
4214 VkDevice device,
4215 VkImage image,
4216 uint32_t* pSparseMemoryRequirementCount,
4217 VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
4218
4219VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties(
4220 VkPhysicalDevice physicalDevice,
4221 VkFormat format,
4222 VkImageType type,
4223 VkSampleCountFlagBits samples,
4224 VkImageUsageFlags usage,
4225 VkImageTiling tiling,
4226 uint32_t* pPropertyCount,
4227 VkSparseImageFormatProperties* pProperties);
4228
4229VKAPI_ATTR VkResult VKAPI_CALL vkQueueBindSparse(
4230 VkQueue queue,
4231 uint32_t bindInfoCount,
4232 const VkBindSparseInfo* pBindInfo,
4233 VkFence fence);
4234
4235VKAPI_ATTR VkResult VKAPI_CALL vkCreateFence(
4236 VkDevice device,
4237 const VkFenceCreateInfo* pCreateInfo,
4238 const VkAllocationCallbacks* pAllocator,
4239 VkFence* pFence);
4240
4241VKAPI_ATTR void VKAPI_CALL vkDestroyFence(
4242 VkDevice device,
4243 VkFence fence,
4244 const VkAllocationCallbacks* pAllocator);
4245
4246VKAPI_ATTR VkResult VKAPI_CALL vkResetFences(
4247 VkDevice device,
4248 uint32_t fenceCount,
4249 const VkFence* pFences);
4250
4251VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceStatus(
4252 VkDevice device,
4253 VkFence fence);
4254
4255VKAPI_ATTR VkResult VKAPI_CALL vkWaitForFences(
4256 VkDevice device,
4257 uint32_t fenceCount,
4258 const VkFence* pFences,
4259 VkBool32 waitAll,
4260 uint64_t timeout);
4261
4262VKAPI_ATTR VkResult VKAPI_CALL vkCreateSemaphore(
4263 VkDevice device,
4264 const VkSemaphoreCreateInfo* pCreateInfo,
4265 const VkAllocationCallbacks* pAllocator,
4266 VkSemaphore* pSemaphore);
4267
4268VKAPI_ATTR void VKAPI_CALL vkDestroySemaphore(
4269 VkDevice device,
4270 VkSemaphore semaphore,
4271 const VkAllocationCallbacks* pAllocator);
4272
4273VKAPI_ATTR VkResult VKAPI_CALL vkCreateEvent(
4274 VkDevice device,
4275 const VkEventCreateInfo* pCreateInfo,
4276 const VkAllocationCallbacks* pAllocator,
4277 VkEvent* pEvent);
4278
4279VKAPI_ATTR void VKAPI_CALL vkDestroyEvent(
4280 VkDevice device,
4281 VkEvent event,
4282 const VkAllocationCallbacks* pAllocator);
4283
4284VKAPI_ATTR VkResult VKAPI_CALL vkGetEventStatus(
4285 VkDevice device,
4286 VkEvent event);
4287
4288VKAPI_ATTR VkResult VKAPI_CALL vkSetEvent(
4289 VkDevice device,
4290 VkEvent event);
4291
4292VKAPI_ATTR VkResult VKAPI_CALL vkResetEvent(
4293 VkDevice device,
4294 VkEvent event);
4295
4296VKAPI_ATTR VkResult VKAPI_CALL vkCreateQueryPool(
4297 VkDevice device,
4298 const VkQueryPoolCreateInfo* pCreateInfo,
4299 const VkAllocationCallbacks* pAllocator,
4300 VkQueryPool* pQueryPool);
4301
4302VKAPI_ATTR void VKAPI_CALL vkDestroyQueryPool(
4303 VkDevice device,
4304 VkQueryPool queryPool,
4305 const VkAllocationCallbacks* pAllocator);
4306
4307VKAPI_ATTR VkResult VKAPI_CALL vkGetQueryPoolResults(
4308 VkDevice device,
4309 VkQueryPool queryPool,
4310 uint32_t firstQuery,
4311 uint32_t queryCount,
4312 size_t dataSize,
4313 void* pData,
4314 VkDeviceSize stride,
4315 VkQueryResultFlags flags);
4316
4317VKAPI_ATTR VkResult VKAPI_CALL vkCreateBuffer(
4318 VkDevice device,
4319 const VkBufferCreateInfo* pCreateInfo,
4320 const VkAllocationCallbacks* pAllocator,
4321 VkBuffer* pBuffer);
4322
4323VKAPI_ATTR void VKAPI_CALL vkDestroyBuffer(
4324 VkDevice device,
4325 VkBuffer buffer,
4326 const VkAllocationCallbacks* pAllocator);
4327
4328VKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferView(
4329 VkDevice device,
4330 const VkBufferViewCreateInfo* pCreateInfo,
4331 const VkAllocationCallbacks* pAllocator,
4332 VkBufferView* pView);
4333
4334VKAPI_ATTR void VKAPI_CALL vkDestroyBufferView(
4335 VkDevice device,
4336 VkBufferView bufferView,
4337 const VkAllocationCallbacks* pAllocator);
4338
4339VKAPI_ATTR VkResult VKAPI_CALL vkCreateImage(
4340 VkDevice device,
4341 const VkImageCreateInfo* pCreateInfo,
4342 const VkAllocationCallbacks* pAllocator,
4343 VkImage* pImage);
4344
4345VKAPI_ATTR void VKAPI_CALL vkDestroyImage(
4346 VkDevice device,
4347 VkImage image,
4348 const VkAllocationCallbacks* pAllocator);
4349
4350VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout(
4351 VkDevice device,
4352 VkImage image,
4353 const VkImageSubresource* pSubresource,
4354 VkSubresourceLayout* pLayout);
4355
4356VKAPI_ATTR VkResult VKAPI_CALL vkCreateImageView(
4357 VkDevice device,
4358 const VkImageViewCreateInfo* pCreateInfo,
4359 const VkAllocationCallbacks* pAllocator,
4360 VkImageView* pView);
4361
4362VKAPI_ATTR void VKAPI_CALL vkDestroyImageView(
4363 VkDevice device,
4364 VkImageView imageView,
4365 const VkAllocationCallbacks* pAllocator);
4366
4367VKAPI_ATTR VkResult VKAPI_CALL vkCreateShaderModule(
4368 VkDevice device,
4369 const VkShaderModuleCreateInfo* pCreateInfo,
4370 const VkAllocationCallbacks* pAllocator,
4371 VkShaderModule* pShaderModule);
4372
4373VKAPI_ATTR void VKAPI_CALL vkDestroyShaderModule(
4374 VkDevice device,
4375 VkShaderModule shaderModule,
4376 const VkAllocationCallbacks* pAllocator);
4377
4378VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineCache(
4379 VkDevice device,
4380 const VkPipelineCacheCreateInfo* pCreateInfo,
4381 const VkAllocationCallbacks* pAllocator,
4382 VkPipelineCache* pPipelineCache);
4383
4384VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineCache(
4385 VkDevice device,
4386 VkPipelineCache pipelineCache,
4387 const VkAllocationCallbacks* pAllocator);
4388
4389VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineCacheData(
4390 VkDevice device,
4391 VkPipelineCache pipelineCache,
4392 size_t* pDataSize,
4393 void* pData);
4394
4395VKAPI_ATTR VkResult VKAPI_CALL vkMergePipelineCaches(
4396 VkDevice device,
4397 VkPipelineCache dstCache,
4398 uint32_t srcCacheCount,
4399 const VkPipelineCache* pSrcCaches);
4400
4401VKAPI_ATTR VkResult VKAPI_CALL vkCreateGraphicsPipelines(
4402 VkDevice device,
4403 VkPipelineCache pipelineCache,
4404 uint32_t createInfoCount,
4405 const VkGraphicsPipelineCreateInfo* pCreateInfos,
4406 const VkAllocationCallbacks* pAllocator,
4407 VkPipeline* pPipelines);
4408
4409VKAPI_ATTR VkResult VKAPI_CALL vkCreateComputePipelines(
4410 VkDevice device,
4411 VkPipelineCache pipelineCache,
4412 uint32_t createInfoCount,
4413 const VkComputePipelineCreateInfo* pCreateInfos,
4414 const VkAllocationCallbacks* pAllocator,
4415 VkPipeline* pPipelines);
4416
4417VKAPI_ATTR void VKAPI_CALL vkDestroyPipeline(
4418 VkDevice device,
4419 VkPipeline pipeline,
4420 const VkAllocationCallbacks* pAllocator);
4421
4422VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineLayout(
4423 VkDevice device,
4424 const VkPipelineLayoutCreateInfo* pCreateInfo,
4425 const VkAllocationCallbacks* pAllocator,
4426 VkPipelineLayout* pPipelineLayout);
4427
4428VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineLayout(
4429 VkDevice device,
4430 VkPipelineLayout pipelineLayout,
4431 const VkAllocationCallbacks* pAllocator);
4432
4433VKAPI_ATTR VkResult VKAPI_CALL vkCreateSampler(
4434 VkDevice device,
4435 const VkSamplerCreateInfo* pCreateInfo,
4436 const VkAllocationCallbacks* pAllocator,
4437 VkSampler* pSampler);
4438
4439VKAPI_ATTR void VKAPI_CALL vkDestroySampler(
4440 VkDevice device,
4441 VkSampler sampler,
4442 const VkAllocationCallbacks* pAllocator);
4443
4444VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorSetLayout(
4445 VkDevice device,
4446 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
4447 const VkAllocationCallbacks* pAllocator,
4448 VkDescriptorSetLayout* pSetLayout);
4449
4450VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorSetLayout(
4451 VkDevice device,
4452 VkDescriptorSetLayout descriptorSetLayout,
4453 const VkAllocationCallbacks* pAllocator);
4454
4455VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorPool(
4456 VkDevice device,
4457 const VkDescriptorPoolCreateInfo* pCreateInfo,
4458 const VkAllocationCallbacks* pAllocator,
4459 VkDescriptorPool* pDescriptorPool);
4460
4461VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorPool(
4462 VkDevice device,
4463 VkDescriptorPool descriptorPool,
4464 const VkAllocationCallbacks* pAllocator);
4465
4466VKAPI_ATTR VkResult VKAPI_CALL vkResetDescriptorPool(
4467 VkDevice device,
4468 VkDescriptorPool descriptorPool,
4469 VkDescriptorPoolResetFlags flags);
4470
4471VKAPI_ATTR VkResult VKAPI_CALL vkAllocateDescriptorSets(
4472 VkDevice device,
4473 const VkDescriptorSetAllocateInfo* pAllocateInfo,
4474 VkDescriptorSet* pDescriptorSets);
4475
4476VKAPI_ATTR VkResult VKAPI_CALL vkFreeDescriptorSets(
4477 VkDevice device,
4478 VkDescriptorPool descriptorPool,
4479 uint32_t descriptorSetCount,
4480 const VkDescriptorSet* pDescriptorSets);
4481
4482VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSets(
4483 VkDevice device,
4484 uint32_t descriptorWriteCount,
4485 const VkWriteDescriptorSet* pDescriptorWrites,
4486 uint32_t descriptorCopyCount,
4487 const VkCopyDescriptorSet* pDescriptorCopies);
4488
4489VKAPI_ATTR VkResult VKAPI_CALL vkCreateFramebuffer(
4490 VkDevice device,
4491 const VkFramebufferCreateInfo* pCreateInfo,
4492 const VkAllocationCallbacks* pAllocator,
4493 VkFramebuffer* pFramebuffer);
4494
4495VKAPI_ATTR void VKAPI_CALL vkDestroyFramebuffer(
4496 VkDevice device,
4497 VkFramebuffer framebuffer,
4498 const VkAllocationCallbacks* pAllocator);
4499
4500VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass(
4501 VkDevice device,
4502 const VkRenderPassCreateInfo* pCreateInfo,
4503 const VkAllocationCallbacks* pAllocator,
4504 VkRenderPass* pRenderPass);
4505
4506VKAPI_ATTR void VKAPI_CALL vkDestroyRenderPass(
4507 VkDevice device,
4508 VkRenderPass renderPass,
4509 const VkAllocationCallbacks* pAllocator);
4510
4511VKAPI_ATTR void VKAPI_CALL vkGetRenderAreaGranularity(
4512 VkDevice device,
4513 VkRenderPass renderPass,
4514 VkExtent2D* pGranularity);
4515
4516VKAPI_ATTR VkResult VKAPI_CALL vkCreateCommandPool(
4517 VkDevice device,
4518 const VkCommandPoolCreateInfo* pCreateInfo,
4519 const VkAllocationCallbacks* pAllocator,
4520 VkCommandPool* pCommandPool);
4521
4522VKAPI_ATTR void VKAPI_CALL vkDestroyCommandPool(
4523 VkDevice device,
4524 VkCommandPool commandPool,
4525 const VkAllocationCallbacks* pAllocator);
4526
4527VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandPool(
4528 VkDevice device,
4529 VkCommandPool commandPool,
4530 VkCommandPoolResetFlags flags);
4531
4532VKAPI_ATTR VkResult VKAPI_CALL vkAllocateCommandBuffers(
4533 VkDevice device,
4534 const VkCommandBufferAllocateInfo* pAllocateInfo,
4535 VkCommandBuffer* pCommandBuffers);
4536
4537VKAPI_ATTR void VKAPI_CALL vkFreeCommandBuffers(
4538 VkDevice device,
4539 VkCommandPool commandPool,
4540 uint32_t commandBufferCount,
4541 const VkCommandBuffer* pCommandBuffers);
4542
4543VKAPI_ATTR VkResult VKAPI_CALL vkBeginCommandBuffer(
4544 VkCommandBuffer commandBuffer,
4545 const VkCommandBufferBeginInfo* pBeginInfo);
4546
4547VKAPI_ATTR VkResult VKAPI_CALL vkEndCommandBuffer(
4548 VkCommandBuffer commandBuffer);
4549
4550VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandBuffer(
4551 VkCommandBuffer commandBuffer,
4552 VkCommandBufferResetFlags flags);
4553
4554VKAPI_ATTR void VKAPI_CALL vkCmdBindPipeline(
4555 VkCommandBuffer commandBuffer,
4556 VkPipelineBindPoint pipelineBindPoint,
4557 VkPipeline pipeline);
4558
4559VKAPI_ATTR void VKAPI_CALL vkCmdSetViewport(
4560 VkCommandBuffer commandBuffer,
4561 uint32_t firstViewport,
4562 uint32_t viewportCount,
4563 const VkViewport* pViewports);
4564
4565VKAPI_ATTR void VKAPI_CALL vkCmdSetScissor(
4566 VkCommandBuffer commandBuffer,
4567 uint32_t firstScissor,
4568 uint32_t scissorCount,
4569 const VkRect2D* pScissors);
4570
4571VKAPI_ATTR void VKAPI_CALL vkCmdSetLineWidth(
4572 VkCommandBuffer commandBuffer,
4573 float lineWidth);
4574
4575VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias(
4576 VkCommandBuffer commandBuffer,
4577 float depthBiasConstantFactor,
4578 float depthBiasClamp,
4579 float depthBiasSlopeFactor);
4580
4581VKAPI_ATTR void VKAPI_CALL vkCmdSetBlendConstants(
4582 VkCommandBuffer commandBuffer,
4583 const float blendConstants[4]);
4584
4585VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBounds(
4586 VkCommandBuffer commandBuffer,
4587 float minDepthBounds,
4588 float maxDepthBounds);
4589
4590VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilCompareMask(
4591 VkCommandBuffer commandBuffer,
4592 VkStencilFaceFlags faceMask,
4593 uint32_t compareMask);
4594
4595VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilWriteMask(
4596 VkCommandBuffer commandBuffer,
4597 VkStencilFaceFlags faceMask,
4598 uint32_t writeMask);
4599
4600VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilReference(
4601 VkCommandBuffer commandBuffer,
4602 VkStencilFaceFlags faceMask,
4603 uint32_t reference);
4604
4605VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets(
4606 VkCommandBuffer commandBuffer,
4607 VkPipelineBindPoint pipelineBindPoint,
4608 VkPipelineLayout layout,
4609 uint32_t firstSet,
4610 uint32_t descriptorSetCount,
4611 const VkDescriptorSet* pDescriptorSets,
4612 uint32_t dynamicOffsetCount,
4613 const uint32_t* pDynamicOffsets);
4614
4615VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer(
4616 VkCommandBuffer commandBuffer,
4617 VkBuffer buffer,
4618 VkDeviceSize offset,
4619 VkIndexType indexType);
4620
4621VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers(
4622 VkCommandBuffer commandBuffer,
4623 uint32_t firstBinding,
4624 uint32_t bindingCount,
4625 const VkBuffer* pBuffers,
4626 const VkDeviceSize* pOffsets);
4627
4628VKAPI_ATTR void VKAPI_CALL vkCmdDraw(
4629 VkCommandBuffer commandBuffer,
4630 uint32_t vertexCount,
4631 uint32_t instanceCount,
4632 uint32_t firstVertex,
4633 uint32_t firstInstance);
4634
4635VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexed(
4636 VkCommandBuffer commandBuffer,
4637 uint32_t indexCount,
4638 uint32_t instanceCount,
4639 uint32_t firstIndex,
4640 int32_t vertexOffset,
4641 uint32_t firstInstance);
4642
4643VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirect(
4644 VkCommandBuffer commandBuffer,
4645 VkBuffer buffer,
4646 VkDeviceSize offset,
4647 uint32_t drawCount,
4648 uint32_t stride);
4649
4650VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirect(
4651 VkCommandBuffer commandBuffer,
4652 VkBuffer buffer,
4653 VkDeviceSize offset,
4654 uint32_t drawCount,
4655 uint32_t stride);
4656
4657VKAPI_ATTR void VKAPI_CALL vkCmdDispatch(
4658 VkCommandBuffer commandBuffer,
4659 uint32_t groupCountX,
4660 uint32_t groupCountY,
4661 uint32_t groupCountZ);
4662
4663VKAPI_ATTR void VKAPI_CALL vkCmdDispatchIndirect(
4664 VkCommandBuffer commandBuffer,
4665 VkBuffer buffer,
4666 VkDeviceSize offset);
4667
4668VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer(
4669 VkCommandBuffer commandBuffer,
4670 VkBuffer srcBuffer,
4671 VkBuffer dstBuffer,
4672 uint32_t regionCount,
4673 const VkBufferCopy* pRegions);
4674
4675VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage(
4676 VkCommandBuffer commandBuffer,
4677 VkImage srcImage,
4678 VkImageLayout srcImageLayout,
4679 VkImage dstImage,
4680 VkImageLayout dstImageLayout,
4681 uint32_t regionCount,
4682 const VkImageCopy* pRegions);
4683
4684VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage(
4685 VkCommandBuffer commandBuffer,
4686 VkImage srcImage,
4687 VkImageLayout srcImageLayout,
4688 VkImage dstImage,
4689 VkImageLayout dstImageLayout,
4690 uint32_t regionCount,
4691 const VkImageBlit* pRegions,
4692 VkFilter filter);
4693
4694VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage(
4695 VkCommandBuffer commandBuffer,
4696 VkBuffer srcBuffer,
4697 VkImage dstImage,
4698 VkImageLayout dstImageLayout,
4699 uint32_t regionCount,
4700 const VkBufferImageCopy* pRegions);
4701
4702VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer(
4703 VkCommandBuffer commandBuffer,
4704 VkImage srcImage,
4705 VkImageLayout srcImageLayout,
4706 VkBuffer dstBuffer,
4707 uint32_t regionCount,
4708 const VkBufferImageCopy* pRegions);
4709
4710VKAPI_ATTR void VKAPI_CALL vkCmdUpdateBuffer(
4711 VkCommandBuffer commandBuffer,
4712 VkBuffer dstBuffer,
4713 VkDeviceSize dstOffset,
4714 VkDeviceSize dataSize,
4715 const void* pData);
4716
4717VKAPI_ATTR void VKAPI_CALL vkCmdFillBuffer(
4718 VkCommandBuffer commandBuffer,
4719 VkBuffer dstBuffer,
4720 VkDeviceSize dstOffset,
4721 VkDeviceSize size,
4722 uint32_t data);
4723
4724VKAPI_ATTR void VKAPI_CALL vkCmdClearColorImage(
4725 VkCommandBuffer commandBuffer,
4726 VkImage image,
4727 VkImageLayout imageLayout,
4728 const VkClearColorValue* pColor,
4729 uint32_t rangeCount,
4730 const VkImageSubresourceRange* pRanges);
4731
4732VKAPI_ATTR void VKAPI_CALL vkCmdClearDepthStencilImage(
4733 VkCommandBuffer commandBuffer,
4734 VkImage image,
4735 VkImageLayout imageLayout,
4736 const VkClearDepthStencilValue* pDepthStencil,
4737 uint32_t rangeCount,
4738 const VkImageSubresourceRange* pRanges);
4739
4740VKAPI_ATTR void VKAPI_CALL vkCmdClearAttachments(
4741 VkCommandBuffer commandBuffer,
4742 uint32_t attachmentCount,
4743 const VkClearAttachment* pAttachments,
4744 uint32_t rectCount,
4745 const VkClearRect* pRects);
4746
4747VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage(
4748 VkCommandBuffer commandBuffer,
4749 VkImage srcImage,
4750 VkImageLayout srcImageLayout,
4751 VkImage dstImage,
4752 VkImageLayout dstImageLayout,
4753 uint32_t regionCount,
4754 const VkImageResolve* pRegions);
4755
4756VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent(
4757 VkCommandBuffer commandBuffer,
4758 VkEvent event,
4759 VkPipelineStageFlags stageMask);
4760
4761VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent(
4762 VkCommandBuffer commandBuffer,
4763 VkEvent event,
4764 VkPipelineStageFlags stageMask);
4765
4766VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents(
4767 VkCommandBuffer commandBuffer,
4768 uint32_t eventCount,
4769 const VkEvent* pEvents,
4770 VkPipelineStageFlags srcStageMask,
4771 VkPipelineStageFlags dstStageMask,
4772 uint32_t memoryBarrierCount,
4773 const VkMemoryBarrier* pMemoryBarriers,
4774 uint32_t bufferMemoryBarrierCount,
4775 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
4776 uint32_t imageMemoryBarrierCount,
4777 const VkImageMemoryBarrier* pImageMemoryBarriers);
4778
4779VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier(
4780 VkCommandBuffer commandBuffer,
4781 VkPipelineStageFlags srcStageMask,
4782 VkPipelineStageFlags dstStageMask,
4783 VkDependencyFlags dependencyFlags,
4784 uint32_t memoryBarrierCount,
4785 const VkMemoryBarrier* pMemoryBarriers,
4786 uint32_t bufferMemoryBarrierCount,
4787 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
4788 uint32_t imageMemoryBarrierCount,
4789 const VkImageMemoryBarrier* pImageMemoryBarriers);
4790
4791VKAPI_ATTR void VKAPI_CALL vkCmdBeginQuery(
4792 VkCommandBuffer commandBuffer,
4793 VkQueryPool queryPool,
4794 uint32_t query,
4795 VkQueryControlFlags flags);
4796
4797VKAPI_ATTR void VKAPI_CALL vkCmdEndQuery(
4798 VkCommandBuffer commandBuffer,
4799 VkQueryPool queryPool,
4800 uint32_t query);
4801
4802VKAPI_ATTR void VKAPI_CALL vkCmdResetQueryPool(
4803 VkCommandBuffer commandBuffer,
4804 VkQueryPool queryPool,
4805 uint32_t firstQuery,
4806 uint32_t queryCount);
4807
4808VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp(
4809 VkCommandBuffer commandBuffer,
4810 VkPipelineStageFlagBits pipelineStage,
4811 VkQueryPool queryPool,
4812 uint32_t query);
4813
4814VKAPI_ATTR void VKAPI_CALL vkCmdCopyQueryPoolResults(
4815 VkCommandBuffer commandBuffer,
4816 VkQueryPool queryPool,
4817 uint32_t firstQuery,
4818 uint32_t queryCount,
4819 VkBuffer dstBuffer,
4820 VkDeviceSize dstOffset,
4821 VkDeviceSize stride,
4822 VkQueryResultFlags flags);
4823
4824VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants(
4825 VkCommandBuffer commandBuffer,
4826 VkPipelineLayout layout,
4827 VkShaderStageFlags stageFlags,
4828 uint32_t offset,
4829 uint32_t size,
4830 const void* pValues);
4831
4832VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass(
4833 VkCommandBuffer commandBuffer,
4834 const VkRenderPassBeginInfo* pRenderPassBegin,
4835 VkSubpassContents contents);
4836
4837VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass(
4838 VkCommandBuffer commandBuffer,
4839 VkSubpassContents contents);
4840
4841VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass(
4842 VkCommandBuffer commandBuffer);
4843
4844VKAPI_ATTR void VKAPI_CALL vkCmdExecuteCommands(
4845 VkCommandBuffer commandBuffer,
4846 uint32_t commandBufferCount,
4847 const VkCommandBuffer* pCommandBuffers);
4848#endif
4849
4850
4851// VK_VERSION_1_1 is a preprocessor guard. Do not pass it to API calls.
4852#define VK_VERSION_1_1 1
4853// Vulkan 1.1 version number
4854#define VK_API_VERSION_1_1 VK_MAKE_API_VERSION(0, 1, 1, 0)// Patch version should always be set to 0
4855
4856VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion)
4857VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate)
4858#define VK_MAX_DEVICE_GROUP_SIZE 32U
4859#define VK_LUID_SIZE 8U
4860#define VK_QUEUE_FAMILY_EXTERNAL (~1U)
4861
4862typedef enum VkPointClippingBehavior {
4863 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES = 0,
4864 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY = 1,
4865 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES,
4866 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY,
4867 VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF
4868} VkPointClippingBehavior;
4869
4870typedef enum VkTessellationDomainOrigin {
4871 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT = 0,
4872 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT = 1,
4873 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT,
4874 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT,
4875 VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM = 0x7FFFFFFF
4876} VkTessellationDomainOrigin;
4877
4878typedef enum VkSamplerYcbcrModelConversion {
4879 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY = 0,
4880 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY = 1,
4881 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 = 2,
4882 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 = 3,
4883 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 = 4,
4884 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY,
4885 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY,
4886 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709,
4887 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601,
4888 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020,
4889 VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM = 0x7FFFFFFF
4890} VkSamplerYcbcrModelConversion;
4891
4892typedef enum VkSamplerYcbcrRange {
4893 VK_SAMPLER_YCBCR_RANGE_ITU_FULL = 0,
4894 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW = 1,
4895 VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_FULL,
4896 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW,
4897 VK_SAMPLER_YCBCR_RANGE_MAX_ENUM = 0x7FFFFFFF
4898} VkSamplerYcbcrRange;
4899
4900typedef enum VkChromaLocation {
4901 VK_CHROMA_LOCATION_COSITED_EVEN = 0,
4902 VK_CHROMA_LOCATION_MIDPOINT = 1,
4903 VK_CHROMA_LOCATION_COSITED_EVEN_KHR = VK_CHROMA_LOCATION_COSITED_EVEN,
4904 VK_CHROMA_LOCATION_MIDPOINT_KHR = VK_CHROMA_LOCATION_MIDPOINT,
4905 VK_CHROMA_LOCATION_MAX_ENUM = 0x7FFFFFFF
4906} VkChromaLocation;
4907
4908typedef enum VkDescriptorUpdateTemplateType {
4909 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET = 0,
4910 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR = 1,
4911 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,
4912 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM = 0x7FFFFFFF
4913} VkDescriptorUpdateTemplateType;
4914
4915typedef enum VkSubgroupFeatureFlagBits {
4916 VK_SUBGROUP_FEATURE_BASIC_BIT = 0x00000001,
4917 VK_SUBGROUP_FEATURE_VOTE_BIT = 0x00000002,
4918 VK_SUBGROUP_FEATURE_ARITHMETIC_BIT = 0x00000004,
4919 VK_SUBGROUP_FEATURE_BALLOT_BIT = 0x00000008,
4920 VK_SUBGROUP_FEATURE_SHUFFLE_BIT = 0x00000010,
4921 VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = 0x00000020,
4922 VK_SUBGROUP_FEATURE_CLUSTERED_BIT = 0x00000040,
4923 VK_SUBGROUP_FEATURE_QUAD_BIT = 0x00000080,
4924 VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x00000100,
4925 VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4926} VkSubgroupFeatureFlagBits;
4927typedef VkFlags VkSubgroupFeatureFlags;
4928
4929typedef enum VkPeerMemoryFeatureFlagBits {
4930 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT = 0x00000001,
4931 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT = 0x00000002,
4932 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT = 0x00000004,
4933 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT = 0x00000008,
4934 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT,
4935 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_DST_BIT,
4936 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT,
4937 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT,
4938 VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4939} VkPeerMemoryFeatureFlagBits;
4940typedef VkFlags VkPeerMemoryFeatureFlags;
4941
4942typedef enum VkMemoryAllocateFlagBits {
4943 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT = 0x00000001,
4944 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT = 0x00000002,
4945 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000004,
4946 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT,
4947 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT,
4948 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
4949 VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4950} VkMemoryAllocateFlagBits;
4951typedef VkFlags VkMemoryAllocateFlags;
4952typedef VkFlags VkCommandPoolTrimFlags;
4953typedef VkFlags VkDescriptorUpdateTemplateCreateFlags;
4954
4955typedef enum VkExternalMemoryHandleTypeFlagBits {
4956 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
4957 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
4958 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
4959 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT = 0x00000008,
4960 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT = 0x00000010,
4961 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT = 0x00000020,
4962 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT = 0x00000040,
4963 VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT = 0x00000200,
4964 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID = 0x00000400,
4965 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 0x00000080,
4966 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 0x00000100,
4967 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA = 0x00000800,
4968 VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV = 0x00001000,
4969 VK_EXTERNAL_MEMORY_HANDLE_TYPE_SCREEN_BUFFER_BIT_QNX = 0x00004000,
4970 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT,
4971 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT,
4972 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
4973 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT,
4974 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT,
4975 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT,
4976 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT,
4977 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4978} VkExternalMemoryHandleTypeFlagBits;
4979typedef VkFlags VkExternalMemoryHandleTypeFlags;
4980
4981typedef enum VkExternalMemoryFeatureFlagBits {
4982 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT = 0x00000001,
4983 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT = 0x00000002,
4984 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT = 0x00000004,
4985 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT,
4986 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT,
4987 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT,
4988 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4989} VkExternalMemoryFeatureFlagBits;
4990typedef VkFlags VkExternalMemoryFeatureFlags;
4991
4992typedef enum VkExternalFenceHandleTypeFlagBits {
4993 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
4994 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
4995 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
4996 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000008,
4997 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT,
4998 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
4999 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
5000 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT,
5001 VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5002} VkExternalFenceHandleTypeFlagBits;
5003typedef VkFlags VkExternalFenceHandleTypeFlags;
5004
5005typedef enum VkExternalFenceFeatureFlagBits {
5006 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT = 0x00000001,
5007 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT = 0x00000002,
5008 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT,
5009 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT,
5010 VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5011} VkExternalFenceFeatureFlagBits;
5012typedef VkFlags VkExternalFenceFeatureFlags;
5013
5014typedef enum VkFenceImportFlagBits {
5015 VK_FENCE_IMPORT_TEMPORARY_BIT = 0x00000001,
5016 VK_FENCE_IMPORT_TEMPORARY_BIT_KHR = VK_FENCE_IMPORT_TEMPORARY_BIT,
5017 VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5018} VkFenceImportFlagBits;
5019typedef VkFlags VkFenceImportFlags;
5020
5021typedef enum VkSemaphoreImportFlagBits {
5022 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT = 0x00000001,
5023 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT,
5024 VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5025} VkSemaphoreImportFlagBits;
5026typedef VkFlags VkSemaphoreImportFlags;
5027
5028typedef enum VkExternalSemaphoreHandleTypeFlagBits {
5029 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
5030 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
5031 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
5032 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT = 0x00000008,
5033 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000010,
5034 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA = 0x00000080,
5035 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
5036 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT,
5037 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
5038 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
5039 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
5040 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT,
5041 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5042} VkExternalSemaphoreHandleTypeFlagBits;
5043typedef VkFlags VkExternalSemaphoreHandleTypeFlags;
5044
5045typedef enum VkExternalSemaphoreFeatureFlagBits {
5046 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT = 0x00000001,
5047 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT = 0x00000002,
5048 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT,
5049 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT,
5050 VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5051} VkExternalSemaphoreFeatureFlagBits;
5052typedef VkFlags VkExternalSemaphoreFeatureFlags;
5053typedef struct VkPhysicalDeviceSubgroupProperties {
5054 VkStructureType sType;
5055 void* pNext;
5056 uint32_t subgroupSize;
5057 VkShaderStageFlags supportedStages;
5058 VkSubgroupFeatureFlags supportedOperations;
5059 VkBool32 quadOperationsInAllStages;
5060} VkPhysicalDeviceSubgroupProperties;
5061
5062typedef struct VkBindBufferMemoryInfo {
5063 VkStructureType sType;
5064 const void* pNext;
5065 VkBuffer buffer;
5066 VkDeviceMemory memory;
5067 VkDeviceSize memoryOffset;
5068} VkBindBufferMemoryInfo;
5069
5070typedef struct VkBindImageMemoryInfo {
5071 VkStructureType sType;
5072 const void* pNext;
5073 VkImage image;
5074 VkDeviceMemory memory;
5075 VkDeviceSize memoryOffset;
5076} VkBindImageMemoryInfo;
5077
5078typedef struct VkPhysicalDevice16BitStorageFeatures {
5079 VkStructureType sType;
5080 void* pNext;
5081 VkBool32 storageBuffer16BitAccess;
5082 VkBool32 uniformAndStorageBuffer16BitAccess;
5083 VkBool32 storagePushConstant16;
5084 VkBool32 storageInputOutput16;
5085} VkPhysicalDevice16BitStorageFeatures;
5086
5087typedef struct VkMemoryDedicatedRequirements {
5088 VkStructureType sType;
5089 void* pNext;
5090 VkBool32 prefersDedicatedAllocation;
5091 VkBool32 requiresDedicatedAllocation;
5092} VkMemoryDedicatedRequirements;
5093
5094typedef struct VkMemoryDedicatedAllocateInfo {
5095 VkStructureType sType;
5096 const void* pNext;
5097 VkImage image;
5098 VkBuffer buffer;
5099} VkMemoryDedicatedAllocateInfo;
5100
5101typedef struct VkMemoryAllocateFlagsInfo {
5102 VkStructureType sType;
5103 const void* pNext;
5104 VkMemoryAllocateFlags flags;
5105 uint32_t deviceMask;
5106} VkMemoryAllocateFlagsInfo;
5107
5108typedef struct VkDeviceGroupRenderPassBeginInfo {
5109 VkStructureType sType;
5110 const void* pNext;
5111 uint32_t deviceMask;
5112 uint32_t deviceRenderAreaCount;
5113 const VkRect2D* pDeviceRenderAreas;
5114} VkDeviceGroupRenderPassBeginInfo;
5115
5116typedef struct VkDeviceGroupCommandBufferBeginInfo {
5117 VkStructureType sType;
5118 const void* pNext;
5119 uint32_t deviceMask;
5120} VkDeviceGroupCommandBufferBeginInfo;
5121
5122typedef struct VkDeviceGroupSubmitInfo {
5123 VkStructureType sType;
5124 const void* pNext;
5125 uint32_t waitSemaphoreCount;
5126 const uint32_t* pWaitSemaphoreDeviceIndices;
5127 uint32_t commandBufferCount;
5128 const uint32_t* pCommandBufferDeviceMasks;
5129 uint32_t signalSemaphoreCount;
5130 const uint32_t* pSignalSemaphoreDeviceIndices;
5131} VkDeviceGroupSubmitInfo;
5132
5133typedef struct VkDeviceGroupBindSparseInfo {
5134 VkStructureType sType;
5135 const void* pNext;
5136 uint32_t resourceDeviceIndex;
5137 uint32_t memoryDeviceIndex;
5138} VkDeviceGroupBindSparseInfo;
5139
5140typedef struct VkBindBufferMemoryDeviceGroupInfo {
5141 VkStructureType sType;
5142 const void* pNext;
5143 uint32_t deviceIndexCount;
5144 const uint32_t* pDeviceIndices;
5145} VkBindBufferMemoryDeviceGroupInfo;
5146
5147typedef struct VkBindImageMemoryDeviceGroupInfo {
5148 VkStructureType sType;
5149 const void* pNext;
5150 uint32_t deviceIndexCount;
5151 const uint32_t* pDeviceIndices;
5152 uint32_t splitInstanceBindRegionCount;
5153 const VkRect2D* pSplitInstanceBindRegions;
5154} VkBindImageMemoryDeviceGroupInfo;
5155
5156typedef struct VkPhysicalDeviceGroupProperties {
5157 VkStructureType sType;
5158 void* pNext;
5159 uint32_t physicalDeviceCount;
5160 VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE];
5161 VkBool32 subsetAllocation;
5162} VkPhysicalDeviceGroupProperties;
5163
5164typedef struct VkDeviceGroupDeviceCreateInfo {
5165 VkStructureType sType;
5166 const void* pNext;
5167 uint32_t physicalDeviceCount;
5168 const VkPhysicalDevice* pPhysicalDevices;
5169} VkDeviceGroupDeviceCreateInfo;
5170
5171typedef struct VkBufferMemoryRequirementsInfo2 {
5172 VkStructureType sType;
5173 const void* pNext;
5174 VkBuffer buffer;
5175} VkBufferMemoryRequirementsInfo2;
5176
5177typedef struct VkImageMemoryRequirementsInfo2 {
5178 VkStructureType sType;
5179 const void* pNext;
5180 VkImage image;
5181} VkImageMemoryRequirementsInfo2;
5182
5183typedef struct VkImageSparseMemoryRequirementsInfo2 {
5184 VkStructureType sType;
5185 const void* pNext;
5186 VkImage image;
5187} VkImageSparseMemoryRequirementsInfo2;
5188
5189typedef struct VkMemoryRequirements2 {
5190 VkStructureType sType;
5191 void* pNext;
5192 VkMemoryRequirements memoryRequirements;
5193} VkMemoryRequirements2;
5194
5195typedef struct VkSparseImageMemoryRequirements2 {
5196 VkStructureType sType;
5197 void* pNext;
5198 VkSparseImageMemoryRequirements memoryRequirements;
5199} VkSparseImageMemoryRequirements2;
5200
5201typedef struct VkPhysicalDeviceFeatures2 {
5202 VkStructureType sType;
5203 void* pNext;
5204 VkPhysicalDeviceFeatures features;
5205} VkPhysicalDeviceFeatures2;
5206
5207typedef struct VkPhysicalDeviceProperties2 {
5208 VkStructureType sType;
5209 void* pNext;
5210 VkPhysicalDeviceProperties properties;
5211} VkPhysicalDeviceProperties2;
5212
5213typedef struct VkFormatProperties2 {
5214 VkStructureType sType;
5215 void* pNext;
5216 VkFormatProperties formatProperties;
5217} VkFormatProperties2;
5218
5219typedef struct VkImageFormatProperties2 {
5220 VkStructureType sType;
5221 void* pNext;
5222 VkImageFormatProperties imageFormatProperties;
5223} VkImageFormatProperties2;
5224
5225typedef struct VkPhysicalDeviceImageFormatInfo2 {
5226 VkStructureType sType;
5227 const void* pNext;
5228 VkFormat format;
5229 VkImageType type;
5230 VkImageTiling tiling;
5231 VkImageUsageFlags usage;
5232 VkImageCreateFlags flags;
5233} VkPhysicalDeviceImageFormatInfo2;
5234
5235typedef struct VkQueueFamilyProperties2 {
5236 VkStructureType sType;
5237 void* pNext;
5238 VkQueueFamilyProperties queueFamilyProperties;
5239} VkQueueFamilyProperties2;
5240
5241typedef struct VkPhysicalDeviceMemoryProperties2 {
5242 VkStructureType sType;
5243 void* pNext;
5244 VkPhysicalDeviceMemoryProperties memoryProperties;
5245} VkPhysicalDeviceMemoryProperties2;
5246
5247typedef struct VkSparseImageFormatProperties2 {
5248 VkStructureType sType;
5249 void* pNext;
5250 VkSparseImageFormatProperties properties;
5251} VkSparseImageFormatProperties2;
5252
5253typedef struct VkPhysicalDeviceSparseImageFormatInfo2 {
5254 VkStructureType sType;
5255 const void* pNext;
5256 VkFormat format;
5257 VkImageType type;
5258 VkSampleCountFlagBits samples;
5259 VkImageUsageFlags usage;
5260 VkImageTiling tiling;
5261} VkPhysicalDeviceSparseImageFormatInfo2;
5262
5263typedef struct VkPhysicalDevicePointClippingProperties {
5264 VkStructureType sType;
5265 void* pNext;
5266 VkPointClippingBehavior pointClippingBehavior;
5267} VkPhysicalDevicePointClippingProperties;
5268
5269typedef struct VkInputAttachmentAspectReference {
5270 uint32_t subpass;
5271 uint32_t inputAttachmentIndex;
5272 VkImageAspectFlags aspectMask;
5273} VkInputAttachmentAspectReference;
5274
5275typedef struct VkRenderPassInputAttachmentAspectCreateInfo {
5276 VkStructureType sType;
5277 const void* pNext;
5278 uint32_t aspectReferenceCount;
5279 const VkInputAttachmentAspectReference* pAspectReferences;
5280} VkRenderPassInputAttachmentAspectCreateInfo;
5281
5282typedef struct VkImageViewUsageCreateInfo {
5283 VkStructureType sType;
5284 const void* pNext;
5285 VkImageUsageFlags usage;
5286} VkImageViewUsageCreateInfo;
5287
5288typedef struct VkPipelineTessellationDomainOriginStateCreateInfo {
5289 VkStructureType sType;
5290 const void* pNext;
5291 VkTessellationDomainOrigin domainOrigin;
5292} VkPipelineTessellationDomainOriginStateCreateInfo;
5293
5294typedef struct VkRenderPassMultiviewCreateInfo {
5295 VkStructureType sType;
5296 const void* pNext;
5297 uint32_t subpassCount;
5298 const uint32_t* pViewMasks;
5299 uint32_t dependencyCount;
5300 const int32_t* pViewOffsets;
5301 uint32_t correlationMaskCount;
5302 const uint32_t* pCorrelationMasks;
5303} VkRenderPassMultiviewCreateInfo;
5304
5305typedef struct VkPhysicalDeviceMultiviewFeatures {
5306 VkStructureType sType;
5307 void* pNext;
5308 VkBool32 multiview;
5309 VkBool32 multiviewGeometryShader;
5310 VkBool32 multiviewTessellationShader;
5311} VkPhysicalDeviceMultiviewFeatures;
5312
5313typedef struct VkPhysicalDeviceMultiviewProperties {
5314 VkStructureType sType;
5315 void* pNext;
5316 uint32_t maxMultiviewViewCount;
5317 uint32_t maxMultiviewInstanceIndex;
5318} VkPhysicalDeviceMultiviewProperties;
5319
5320typedef struct VkPhysicalDeviceVariablePointersFeatures {
5321 VkStructureType sType;
5322 void* pNext;
5323 VkBool32 variablePointersStorageBuffer;
5324 VkBool32 variablePointers;
5325} VkPhysicalDeviceVariablePointersFeatures;
5326
5327typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeatures;
5328
5329typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
5330 VkStructureType sType;
5331 void* pNext;
5332 VkBool32 protectedMemory;
5333} VkPhysicalDeviceProtectedMemoryFeatures;
5334
5335typedef struct VkPhysicalDeviceProtectedMemoryProperties {
5336 VkStructureType sType;
5337 void* pNext;
5338 VkBool32 protectedNoFault;
5339} VkPhysicalDeviceProtectedMemoryProperties;
5340
5341typedef struct VkDeviceQueueInfo2 {
5342 VkStructureType sType;
5343 const void* pNext;
5344 VkDeviceQueueCreateFlags flags;
5345 uint32_t queueFamilyIndex;
5346 uint32_t queueIndex;
5347} VkDeviceQueueInfo2;
5348
5349typedef struct VkProtectedSubmitInfo {
5350 VkStructureType sType;
5351 const void* pNext;
5352 VkBool32 protectedSubmit;
5353} VkProtectedSubmitInfo;
5354
5355typedef struct VkSamplerYcbcrConversionCreateInfo {
5356 VkStructureType sType;
5357 const void* pNext;
5358 VkFormat format;
5359 VkSamplerYcbcrModelConversion ycbcrModel;
5360 VkSamplerYcbcrRange ycbcrRange;
5361 VkComponentMapping components;
5362 VkChromaLocation xChromaOffset;
5363 VkChromaLocation yChromaOffset;
5364 VkFilter chromaFilter;
5365 VkBool32 forceExplicitReconstruction;
5366} VkSamplerYcbcrConversionCreateInfo;
5367
5368typedef struct VkSamplerYcbcrConversionInfo {
5369 VkStructureType sType;
5370 const void* pNext;
5371 VkSamplerYcbcrConversion conversion;
5372} VkSamplerYcbcrConversionInfo;
5373
5374typedef struct VkBindImagePlaneMemoryInfo {
5375 VkStructureType sType;
5376 const void* pNext;
5377 VkImageAspectFlagBits planeAspect;
5378} VkBindImagePlaneMemoryInfo;
5379
5380typedef struct VkImagePlaneMemoryRequirementsInfo {
5381 VkStructureType sType;
5382 const void* pNext;
5383 VkImageAspectFlagBits planeAspect;
5384} VkImagePlaneMemoryRequirementsInfo;
5385
5386typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
5387 VkStructureType sType;
5388 void* pNext;
5389 VkBool32 samplerYcbcrConversion;
5390} VkPhysicalDeviceSamplerYcbcrConversionFeatures;
5391
5392typedef struct VkSamplerYcbcrConversionImageFormatProperties {
5393 VkStructureType sType;
5394 void* pNext;
5395 uint32_t combinedImageSamplerDescriptorCount;
5396} VkSamplerYcbcrConversionImageFormatProperties;
5397
5398typedef struct VkDescriptorUpdateTemplateEntry {
5399 uint32_t dstBinding;
5400 uint32_t dstArrayElement;
5401 uint32_t descriptorCount;
5402 VkDescriptorType descriptorType;
5403 size_t offset;
5404 size_t stride;
5405} VkDescriptorUpdateTemplateEntry;
5406
5407typedef struct VkDescriptorUpdateTemplateCreateInfo {
5408 VkStructureType sType;
5409 const void* pNext;
5410 VkDescriptorUpdateTemplateCreateFlags flags;
5411 uint32_t descriptorUpdateEntryCount;
5412 const VkDescriptorUpdateTemplateEntry* pDescriptorUpdateEntries;
5413 VkDescriptorUpdateTemplateType templateType;
5414 VkDescriptorSetLayout descriptorSetLayout;
5415 VkPipelineBindPoint pipelineBindPoint;
5416 VkPipelineLayout pipelineLayout;
5417 uint32_t set;
5418} VkDescriptorUpdateTemplateCreateInfo;
5419
5420typedef struct VkExternalMemoryProperties {
5421 VkExternalMemoryFeatureFlags externalMemoryFeatures;
5422 VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes;
5423 VkExternalMemoryHandleTypeFlags compatibleHandleTypes;
5424} VkExternalMemoryProperties;
5425
5426typedef struct VkPhysicalDeviceExternalImageFormatInfo {
5427 VkStructureType sType;
5428 const void* pNext;
5429 VkExternalMemoryHandleTypeFlagBits handleType;
5430} VkPhysicalDeviceExternalImageFormatInfo;
5431
5432typedef struct VkExternalImageFormatProperties {
5433 VkStructureType sType;
5434 void* pNext;
5435 VkExternalMemoryProperties externalMemoryProperties;
5436} VkExternalImageFormatProperties;
5437
5438typedef struct VkPhysicalDeviceExternalBufferInfo {
5439 VkStructureType sType;
5440 const void* pNext;
5441 VkBufferCreateFlags flags;
5442 VkBufferUsageFlags usage;
5443 VkExternalMemoryHandleTypeFlagBits handleType;
5444} VkPhysicalDeviceExternalBufferInfo;
5445
5446typedef struct VkExternalBufferProperties {
5447 VkStructureType sType;
5448 void* pNext;
5449 VkExternalMemoryProperties externalMemoryProperties;
5450} VkExternalBufferProperties;
5451
5452typedef struct VkPhysicalDeviceIDProperties {
5453 VkStructureType sType;
5454 void* pNext;
5455 uint8_t deviceUUID[VK_UUID_SIZE];
5456 uint8_t driverUUID[VK_UUID_SIZE];
5457 uint8_t deviceLUID[VK_LUID_SIZE];
5458 uint32_t deviceNodeMask;
5459 VkBool32 deviceLUIDValid;
5460} VkPhysicalDeviceIDProperties;
5461
5462typedef struct VkExternalMemoryImageCreateInfo {
5463 VkStructureType sType;
5464 const void* pNext;
5465 VkExternalMemoryHandleTypeFlags handleTypes;
5466} VkExternalMemoryImageCreateInfo;
5467
5468typedef struct VkExternalMemoryBufferCreateInfo {
5469 VkStructureType sType;
5470 const void* pNext;
5471 VkExternalMemoryHandleTypeFlags handleTypes;
5472} VkExternalMemoryBufferCreateInfo;
5473
5474typedef struct VkExportMemoryAllocateInfo {
5475 VkStructureType sType;
5476 const void* pNext;
5477 VkExternalMemoryHandleTypeFlags handleTypes;
5478} VkExportMemoryAllocateInfo;
5479
5480typedef struct VkPhysicalDeviceExternalFenceInfo {
5481 VkStructureType sType;
5482 const void* pNext;
5483 VkExternalFenceHandleTypeFlagBits handleType;
5484} VkPhysicalDeviceExternalFenceInfo;
5485
5486typedef struct VkExternalFenceProperties {
5487 VkStructureType sType;
5488 void* pNext;
5489 VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes;
5490 VkExternalFenceHandleTypeFlags compatibleHandleTypes;
5491 VkExternalFenceFeatureFlags externalFenceFeatures;
5492} VkExternalFenceProperties;
5493
5494typedef struct VkExportFenceCreateInfo {
5495 VkStructureType sType;
5496 const void* pNext;
5497 VkExternalFenceHandleTypeFlags handleTypes;
5498} VkExportFenceCreateInfo;
5499
5500typedef struct VkExportSemaphoreCreateInfo {
5501 VkStructureType sType;
5502 const void* pNext;
5503 VkExternalSemaphoreHandleTypeFlags handleTypes;
5504} VkExportSemaphoreCreateInfo;
5505
5506typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
5507 VkStructureType sType;
5508 const void* pNext;
5509 VkExternalSemaphoreHandleTypeFlagBits handleType;
5510} VkPhysicalDeviceExternalSemaphoreInfo;
5511
5512typedef struct VkExternalSemaphoreProperties {
5513 VkStructureType sType;
5514 void* pNext;
5515 VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes;
5516 VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes;
5517 VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures;
5518} VkExternalSemaphoreProperties;
5519
5520typedef struct VkPhysicalDeviceMaintenance3Properties {
5521 VkStructureType sType;
5522 void* pNext;
5523 uint32_t maxPerSetDescriptors;
5524 VkDeviceSize maxMemoryAllocationSize;
5525} VkPhysicalDeviceMaintenance3Properties;
5526
5527typedef struct VkDescriptorSetLayoutSupport {
5528 VkStructureType sType;
5529 void* pNext;
5530 VkBool32 supported;
5531} VkDescriptorSetLayoutSupport;
5532
5533typedef struct VkPhysicalDeviceShaderDrawParametersFeatures {
5534 VkStructureType sType;
5535 void* pNext;
5536 VkBool32 shaderDrawParameters;
5537} VkPhysicalDeviceShaderDrawParametersFeatures;
5538
5539typedef VkPhysicalDeviceShaderDrawParametersFeatures VkPhysicalDeviceShaderDrawParameterFeatures;
5540
5541typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceVersion)(uint32_t* pApiVersion);
5542typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
5543typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
5544typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeatures)(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
5545typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMask)(VkCommandBuffer commandBuffer, uint32_t deviceMask);
5546typedef 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);
5547typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroups)(VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
5548typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
5549typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
5550typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
5551typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
5552typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
5553typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
5554typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
5555typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
5556typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
5557typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
5558typedef void (VKAPI_PTR *PFN_vkTrimCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
5559typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue2)(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue);
5560typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversion)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
5561typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversion)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
5562typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplate)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
5563typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplate)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
5564typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplate)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
5565typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
5566typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFenceProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
5567typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphoreProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
5568typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupport)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
5569
5570#ifndef VK_NO_PROTOTYPES
5571VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceVersion(
5572 uint32_t* pApiVersion);
5573
5574VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2(
5575 VkDevice device,
5576 uint32_t bindInfoCount,
5577 const VkBindBufferMemoryInfo* pBindInfos);
5578
5579VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2(
5580 VkDevice device,
5581 uint32_t bindInfoCount,
5582 const VkBindImageMemoryInfo* pBindInfos);
5583
5584VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeatures(
5585 VkDevice device,
5586 uint32_t heapIndex,
5587 uint32_t localDeviceIndex,
5588 uint32_t remoteDeviceIndex,
5589 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
5590
5591VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMask(
5592 VkCommandBuffer commandBuffer,
5593 uint32_t deviceMask);
5594
5595VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBase(
5596 VkCommandBuffer commandBuffer,
5597 uint32_t baseGroupX,
5598 uint32_t baseGroupY,
5599 uint32_t baseGroupZ,
5600 uint32_t groupCountX,
5601 uint32_t groupCountY,
5602 uint32_t groupCountZ);
5603
5604VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroups(
5605 VkInstance instance,
5606 uint32_t* pPhysicalDeviceGroupCount,
5607 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
5608
5609VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2(
5610 VkDevice device,
5611 const VkImageMemoryRequirementsInfo2* pInfo,
5612 VkMemoryRequirements2* pMemoryRequirements);
5613
5614VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2(
5615 VkDevice device,
5616 const VkBufferMemoryRequirementsInfo2* pInfo,
5617 VkMemoryRequirements2* pMemoryRequirements);
5618
5619VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2(
5620 VkDevice device,
5621 const VkImageSparseMemoryRequirementsInfo2* pInfo,
5622 uint32_t* pSparseMemoryRequirementCount,
5623 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
5624
5625VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2(
5626 VkPhysicalDevice physicalDevice,
5627 VkPhysicalDeviceFeatures2* pFeatures);
5628
5629VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2(
5630 VkPhysicalDevice physicalDevice,
5631 VkPhysicalDeviceProperties2* pProperties);
5632
5633VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2(
5634 VkPhysicalDevice physicalDevice,
5635 VkFormat format,
5636 VkFormatProperties2* pFormatProperties);
5637
5638VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2(
5639 VkPhysicalDevice physicalDevice,
5640 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
5641 VkImageFormatProperties2* pImageFormatProperties);
5642
5643VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2(
5644 VkPhysicalDevice physicalDevice,
5645 uint32_t* pQueueFamilyPropertyCount,
5646 VkQueueFamilyProperties2* pQueueFamilyProperties);
5647
5648VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2(
5649 VkPhysicalDevice physicalDevice,
5650 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
5651
5652VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2(
5653 VkPhysicalDevice physicalDevice,
5654 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
5655 uint32_t* pPropertyCount,
5656 VkSparseImageFormatProperties2* pProperties);
5657
5658VKAPI_ATTR void VKAPI_CALL vkTrimCommandPool(
5659 VkDevice device,
5660 VkCommandPool commandPool,
5661 VkCommandPoolTrimFlags flags);
5662
5663VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue2(
5664 VkDevice device,
5665 const VkDeviceQueueInfo2* pQueueInfo,
5666 VkQueue* pQueue);
5667
5668VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversion(
5669 VkDevice device,
5670 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
5671 const VkAllocationCallbacks* pAllocator,
5672 VkSamplerYcbcrConversion* pYcbcrConversion);
5673
5674VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversion(
5675 VkDevice device,
5676 VkSamplerYcbcrConversion ycbcrConversion,
5677 const VkAllocationCallbacks* pAllocator);
5678
5679VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplate(
5680 VkDevice device,
5681 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
5682 const VkAllocationCallbacks* pAllocator,
5683 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
5684
5685VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplate(
5686 VkDevice device,
5687 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
5688 const VkAllocationCallbacks* pAllocator);
5689
5690VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplate(
5691 VkDevice device,
5692 VkDescriptorSet descriptorSet,
5693 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
5694 const void* pData);
5695
5696VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferProperties(
5697 VkPhysicalDevice physicalDevice,
5698 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
5699 VkExternalBufferProperties* pExternalBufferProperties);
5700
5701VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFenceProperties(
5702 VkPhysicalDevice physicalDevice,
5703 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
5704 VkExternalFenceProperties* pExternalFenceProperties);
5705
5706VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphoreProperties(
5707 VkPhysicalDevice physicalDevice,
5708 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
5709 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
5710
5711VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupport(
5712 VkDevice device,
5713 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
5714 VkDescriptorSetLayoutSupport* pSupport);
5715#endif
5716
5717
5718// VK_VERSION_1_2 is a preprocessor guard. Do not pass it to API calls.
5719#define VK_VERSION_1_2 1
5720// Vulkan 1.2 version number
5721#define VK_API_VERSION_1_2 VK_MAKE_API_VERSION(0, 1, 2, 0)// Patch version should always be set to 0
5722
5723#define VK_MAX_DRIVER_NAME_SIZE 256U
5724#define VK_MAX_DRIVER_INFO_SIZE 256U
5725
5726typedef enum VkDriverId {
5727 VK_DRIVER_ID_AMD_PROPRIETARY = 1,
5728 VK_DRIVER_ID_AMD_OPEN_SOURCE = 2,
5729 VK_DRIVER_ID_MESA_RADV = 3,
5730 VK_DRIVER_ID_NVIDIA_PROPRIETARY = 4,
5731 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS = 5,
5732 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA = 6,
5733 VK_DRIVER_ID_IMAGINATION_PROPRIETARY = 7,
5734 VK_DRIVER_ID_QUALCOMM_PROPRIETARY = 8,
5735 VK_DRIVER_ID_ARM_PROPRIETARY = 9,
5736 VK_DRIVER_ID_GOOGLE_SWIFTSHADER = 10,
5737 VK_DRIVER_ID_GGP_PROPRIETARY = 11,
5738 VK_DRIVER_ID_BROADCOM_PROPRIETARY = 12,
5739 VK_DRIVER_ID_MESA_LLVMPIPE = 13,
5740 VK_DRIVER_ID_MOLTENVK = 14,
5741 VK_DRIVER_ID_COREAVI_PROPRIETARY = 15,
5742 VK_DRIVER_ID_JUICE_PROPRIETARY = 16,
5743 VK_DRIVER_ID_VERISILICON_PROPRIETARY = 17,
5744 VK_DRIVER_ID_MESA_TURNIP = 18,
5745 VK_DRIVER_ID_MESA_V3DV = 19,
5746 VK_DRIVER_ID_MESA_PANVK = 20,
5747 VK_DRIVER_ID_SAMSUNG_PROPRIETARY = 21,
5748 VK_DRIVER_ID_MESA_VENUS = 22,
5749 VK_DRIVER_ID_MESA_DOZEN = 23,
5750 VK_DRIVER_ID_MESA_NVK = 24,
5751 VK_DRIVER_ID_IMAGINATION_OPEN_SOURCE_MESA = 25,
5752 VK_DRIVER_ID_MESA_AGXV = 26,
5753 VK_DRIVER_ID_AMD_PROPRIETARY_KHR = VK_DRIVER_ID_AMD_PROPRIETARY,
5754 VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = VK_DRIVER_ID_AMD_OPEN_SOURCE,
5755 VK_DRIVER_ID_MESA_RADV_KHR = VK_DRIVER_ID_MESA_RADV,
5756 VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR = VK_DRIVER_ID_NVIDIA_PROPRIETARY,
5757 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR = VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS,
5758 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR = VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA,
5759 VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR = VK_DRIVER_ID_IMAGINATION_PROPRIETARY,
5760 VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR = VK_DRIVER_ID_QUALCOMM_PROPRIETARY,
5761 VK_DRIVER_ID_ARM_PROPRIETARY_KHR = VK_DRIVER_ID_ARM_PROPRIETARY,
5762 VK_DRIVER_ID_GOOGLE_SWIFTSHADER_KHR = VK_DRIVER_ID_GOOGLE_SWIFTSHADER,
5763 VK_DRIVER_ID_GGP_PROPRIETARY_KHR = VK_DRIVER_ID_GGP_PROPRIETARY,
5764 VK_DRIVER_ID_BROADCOM_PROPRIETARY_KHR = VK_DRIVER_ID_BROADCOM_PROPRIETARY,
5765 VK_DRIVER_ID_MAX_ENUM = 0x7FFFFFFF
5766} VkDriverId;
5767
5768typedef enum VkShaderFloatControlsIndependence {
5769 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY = 0,
5770 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL = 1,
5771 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE = 2,
5772 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY,
5773 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL,
5774 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE,
5775 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_MAX_ENUM = 0x7FFFFFFF
5776} VkShaderFloatControlsIndependence;
5777
5778typedef enum VkSamplerReductionMode {
5779 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE = 0,
5780 VK_SAMPLER_REDUCTION_MODE_MIN = 1,
5781 VK_SAMPLER_REDUCTION_MODE_MAX = 2,
5782 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_RANGECLAMP_QCOM = 1000521000,
5783 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE,
5784 VK_SAMPLER_REDUCTION_MODE_MIN_EXT = VK_SAMPLER_REDUCTION_MODE_MIN,
5785 VK_SAMPLER_REDUCTION_MODE_MAX_EXT = VK_SAMPLER_REDUCTION_MODE_MAX,
5786 VK_SAMPLER_REDUCTION_MODE_MAX_ENUM = 0x7FFFFFFF
5787} VkSamplerReductionMode;
5788
5789typedef enum VkSemaphoreType {
5790 VK_SEMAPHORE_TYPE_BINARY = 0,
5791 VK_SEMAPHORE_TYPE_TIMELINE = 1,
5792 VK_SEMAPHORE_TYPE_BINARY_KHR = VK_SEMAPHORE_TYPE_BINARY,
5793 VK_SEMAPHORE_TYPE_TIMELINE_KHR = VK_SEMAPHORE_TYPE_TIMELINE,
5794 VK_SEMAPHORE_TYPE_MAX_ENUM = 0x7FFFFFFF
5795} VkSemaphoreType;
5796
5797typedef enum VkResolveModeFlagBits {
5798 VK_RESOLVE_MODE_NONE = 0,
5799 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT = 0x00000001,
5800 VK_RESOLVE_MODE_AVERAGE_BIT = 0x00000002,
5801 VK_RESOLVE_MODE_MIN_BIT = 0x00000004,
5802 VK_RESOLVE_MODE_MAX_BIT = 0x00000008,
5803 VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID = 0x00000010,
5804 VK_RESOLVE_MODE_NONE_KHR = VK_RESOLVE_MODE_NONE,
5805 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR = VK_RESOLVE_MODE_SAMPLE_ZERO_BIT,
5806 VK_RESOLVE_MODE_AVERAGE_BIT_KHR = VK_RESOLVE_MODE_AVERAGE_BIT,
5807 VK_RESOLVE_MODE_MIN_BIT_KHR = VK_RESOLVE_MODE_MIN_BIT,
5808 VK_RESOLVE_MODE_MAX_BIT_KHR = VK_RESOLVE_MODE_MAX_BIT,
5809 VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5810} VkResolveModeFlagBits;
5811typedef VkFlags VkResolveModeFlags;
5812
5813typedef enum VkDescriptorBindingFlagBits {
5814 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT = 0x00000001,
5815 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT = 0x00000002,
5816 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT = 0x00000004,
5817 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT = 0x00000008,
5818 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT,
5819 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT,
5820 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT = VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT,
5821 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT = VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT,
5822 VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5823} VkDescriptorBindingFlagBits;
5824typedef VkFlags VkDescriptorBindingFlags;
5825
5826typedef enum VkSemaphoreWaitFlagBits {
5827 VK_SEMAPHORE_WAIT_ANY_BIT = 0x00000001,
5828 VK_SEMAPHORE_WAIT_ANY_BIT_KHR = VK_SEMAPHORE_WAIT_ANY_BIT,
5829 VK_SEMAPHORE_WAIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5830} VkSemaphoreWaitFlagBits;
5831typedef VkFlags VkSemaphoreWaitFlags;
5832typedef struct VkPhysicalDeviceVulkan11Features {
5833 VkStructureType sType;
5834 void* pNext;
5835 VkBool32 storageBuffer16BitAccess;
5836 VkBool32 uniformAndStorageBuffer16BitAccess;
5837 VkBool32 storagePushConstant16;
5838 VkBool32 storageInputOutput16;
5839 VkBool32 multiview;
5840 VkBool32 multiviewGeometryShader;
5841 VkBool32 multiviewTessellationShader;
5842 VkBool32 variablePointersStorageBuffer;
5843 VkBool32 variablePointers;
5844 VkBool32 protectedMemory;
5845 VkBool32 samplerYcbcrConversion;
5846 VkBool32 shaderDrawParameters;
5847} VkPhysicalDeviceVulkan11Features;
5848
5849typedef struct VkPhysicalDeviceVulkan11Properties {
5850 VkStructureType sType;
5851 void* pNext;
5852 uint8_t deviceUUID[VK_UUID_SIZE];
5853 uint8_t driverUUID[VK_UUID_SIZE];
5854 uint8_t deviceLUID[VK_LUID_SIZE];
5855 uint32_t deviceNodeMask;
5856 VkBool32 deviceLUIDValid;
5857 uint32_t subgroupSize;
5858 VkShaderStageFlags subgroupSupportedStages;
5859 VkSubgroupFeatureFlags subgroupSupportedOperations;
5860 VkBool32 subgroupQuadOperationsInAllStages;
5861 VkPointClippingBehavior pointClippingBehavior;
5862 uint32_t maxMultiviewViewCount;
5863 uint32_t maxMultiviewInstanceIndex;
5864 VkBool32 protectedNoFault;
5865 uint32_t maxPerSetDescriptors;
5866 VkDeviceSize maxMemoryAllocationSize;
5867} VkPhysicalDeviceVulkan11Properties;
5868
5869typedef struct VkPhysicalDeviceVulkan12Features {
5870 VkStructureType sType;
5871 void* pNext;
5872 VkBool32 samplerMirrorClampToEdge;
5873 VkBool32 drawIndirectCount;
5874 VkBool32 storageBuffer8BitAccess;
5875 VkBool32 uniformAndStorageBuffer8BitAccess;
5876 VkBool32 storagePushConstant8;
5877 VkBool32 shaderBufferInt64Atomics;
5878 VkBool32 shaderSharedInt64Atomics;
5879 VkBool32 shaderFloat16;
5880 VkBool32 shaderInt8;
5881 VkBool32 descriptorIndexing;
5882 VkBool32 shaderInputAttachmentArrayDynamicIndexing;
5883 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
5884 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
5885 VkBool32 shaderUniformBufferArrayNonUniformIndexing;
5886 VkBool32 shaderSampledImageArrayNonUniformIndexing;
5887 VkBool32 shaderStorageBufferArrayNonUniformIndexing;
5888 VkBool32 shaderStorageImageArrayNonUniformIndexing;
5889 VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
5890 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
5891 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
5892 VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
5893 VkBool32 descriptorBindingSampledImageUpdateAfterBind;
5894 VkBool32 descriptorBindingStorageImageUpdateAfterBind;
5895 VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
5896 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
5897 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
5898 VkBool32 descriptorBindingUpdateUnusedWhilePending;
5899 VkBool32 descriptorBindingPartiallyBound;
5900 VkBool32 descriptorBindingVariableDescriptorCount;
5901 VkBool32 runtimeDescriptorArray;
5902 VkBool32 samplerFilterMinmax;
5903 VkBool32 scalarBlockLayout;
5904 VkBool32 imagelessFramebuffer;
5905 VkBool32 uniformBufferStandardLayout;
5906 VkBool32 shaderSubgroupExtendedTypes;
5907 VkBool32 separateDepthStencilLayouts;
5908 VkBool32 hostQueryReset;
5909 VkBool32 timelineSemaphore;
5910 VkBool32 bufferDeviceAddress;
5911 VkBool32 bufferDeviceAddressCaptureReplay;
5912 VkBool32 bufferDeviceAddressMultiDevice;
5913 VkBool32 vulkanMemoryModel;
5914 VkBool32 vulkanMemoryModelDeviceScope;
5915 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
5916 VkBool32 shaderOutputViewportIndex;
5917 VkBool32 shaderOutputLayer;
5918 VkBool32 subgroupBroadcastDynamicId;
5919} VkPhysicalDeviceVulkan12Features;
5920
5921typedef struct VkConformanceVersion {
5922 uint8_t major;
5923 uint8_t minor;
5924 uint8_t subminor;
5925 uint8_t patch;
5926} VkConformanceVersion;
5927
5928typedef struct VkPhysicalDeviceVulkan12Properties {
5929 VkStructureType sType;
5930 void* pNext;
5931 VkDriverId driverID;
5932 char driverName[VK_MAX_DRIVER_NAME_SIZE];
5933 char driverInfo[VK_MAX_DRIVER_INFO_SIZE];
5934 VkConformanceVersion conformanceVersion;
5935 VkShaderFloatControlsIndependence denormBehaviorIndependence;
5936 VkShaderFloatControlsIndependence roundingModeIndependence;
5937 VkBool32 shaderSignedZeroInfNanPreserveFloat16;
5938 VkBool32 shaderSignedZeroInfNanPreserveFloat32;
5939 VkBool32 shaderSignedZeroInfNanPreserveFloat64;
5940 VkBool32 shaderDenormPreserveFloat16;
5941 VkBool32 shaderDenormPreserveFloat32;
5942 VkBool32 shaderDenormPreserveFloat64;
5943 VkBool32 shaderDenormFlushToZeroFloat16;
5944 VkBool32 shaderDenormFlushToZeroFloat32;
5945 VkBool32 shaderDenormFlushToZeroFloat64;
5946 VkBool32 shaderRoundingModeRTEFloat16;
5947 VkBool32 shaderRoundingModeRTEFloat32;
5948 VkBool32 shaderRoundingModeRTEFloat64;
5949 VkBool32 shaderRoundingModeRTZFloat16;
5950 VkBool32 shaderRoundingModeRTZFloat32;
5951 VkBool32 shaderRoundingModeRTZFloat64;
5952 uint32_t maxUpdateAfterBindDescriptorsInAllPools;
5953 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
5954 VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
5955 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
5956 VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
5957 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
5958 VkBool32 robustBufferAccessUpdateAfterBind;
5959 VkBool32 quadDivergentImplicitLod;
5960 uint32_t maxPerStageDescriptorUpdateAfterBindSamplers;
5961 uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers;
5962 uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers;
5963 uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages;
5964 uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages;
5965 uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments;
5966 uint32_t maxPerStageUpdateAfterBindResources;
5967 uint32_t maxDescriptorSetUpdateAfterBindSamplers;
5968 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers;
5969 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
5970 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers;
5971 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
5972 uint32_t maxDescriptorSetUpdateAfterBindSampledImages;
5973 uint32_t maxDescriptorSetUpdateAfterBindStorageImages;
5974 uint32_t maxDescriptorSetUpdateAfterBindInputAttachments;
5975 VkResolveModeFlags supportedDepthResolveModes;
5976 VkResolveModeFlags supportedStencilResolveModes;
5977 VkBool32 independentResolveNone;
5978 VkBool32 independentResolve;
5979 VkBool32 filterMinmaxSingleComponentFormats;
5980 VkBool32 filterMinmaxImageComponentMapping;
5981 uint64_t maxTimelineSemaphoreValueDifference;
5982 VkSampleCountFlags framebufferIntegerColorSampleCounts;
5983} VkPhysicalDeviceVulkan12Properties;
5984
5985typedef struct VkImageFormatListCreateInfo {
5986 VkStructureType sType;
5987 const void* pNext;
5988 uint32_t viewFormatCount;
5989 const VkFormat* pViewFormats;
5990} VkImageFormatListCreateInfo;
5991
5992typedef struct VkAttachmentDescription2 {
5993 VkStructureType sType;
5994 const void* pNext;
5995 VkAttachmentDescriptionFlags flags;
5996 VkFormat format;
5997 VkSampleCountFlagBits samples;
5998 VkAttachmentLoadOp loadOp;
5999 VkAttachmentStoreOp storeOp;
6000 VkAttachmentLoadOp stencilLoadOp;
6001 VkAttachmentStoreOp stencilStoreOp;
6002 VkImageLayout initialLayout;
6003 VkImageLayout finalLayout;
6004} VkAttachmentDescription2;
6005
6006typedef struct VkAttachmentReference2 {
6007 VkStructureType sType;
6008 const void* pNext;
6009 uint32_t attachment;
6010 VkImageLayout layout;
6011 VkImageAspectFlags aspectMask;
6012} VkAttachmentReference2;
6013
6014typedef struct VkSubpassDescription2 {
6015 VkStructureType sType;
6016 const void* pNext;
6017 VkSubpassDescriptionFlags flags;
6018 VkPipelineBindPoint pipelineBindPoint;
6019 uint32_t viewMask;
6020 uint32_t inputAttachmentCount;
6021 const VkAttachmentReference2* pInputAttachments;
6022 uint32_t colorAttachmentCount;
6023 const VkAttachmentReference2* pColorAttachments;
6024 const VkAttachmentReference2* pResolveAttachments;
6025 const VkAttachmentReference2* pDepthStencilAttachment;
6026 uint32_t preserveAttachmentCount;
6027 const uint32_t* pPreserveAttachments;
6028} VkSubpassDescription2;
6029
6030typedef struct VkSubpassDependency2 {
6031 VkStructureType sType;
6032 const void* pNext;
6033 uint32_t srcSubpass;
6034 uint32_t dstSubpass;
6035 VkPipelineStageFlags srcStageMask;
6036 VkPipelineStageFlags dstStageMask;
6037 VkAccessFlags srcAccessMask;
6038 VkAccessFlags dstAccessMask;
6039 VkDependencyFlags dependencyFlags;
6040 int32_t viewOffset;
6041} VkSubpassDependency2;
6042
6043typedef struct VkRenderPassCreateInfo2 {
6044 VkStructureType sType;
6045 const void* pNext;
6046 VkRenderPassCreateFlags flags;
6047 uint32_t attachmentCount;
6048 const VkAttachmentDescription2* pAttachments;
6049 uint32_t subpassCount;
6050 const VkSubpassDescription2* pSubpasses;
6051 uint32_t dependencyCount;
6052 const VkSubpassDependency2* pDependencies;
6053 uint32_t correlatedViewMaskCount;
6054 const uint32_t* pCorrelatedViewMasks;
6055} VkRenderPassCreateInfo2;
6056
6057typedef struct VkSubpassBeginInfo {
6058 VkStructureType sType;
6059 const void* pNext;
6060 VkSubpassContents contents;
6061} VkSubpassBeginInfo;
6062
6063typedef struct VkSubpassEndInfo {
6064 VkStructureType sType;
6065 const void* pNext;
6066} VkSubpassEndInfo;
6067
6068typedef struct VkPhysicalDevice8BitStorageFeatures {
6069 VkStructureType sType;
6070 void* pNext;
6071 VkBool32 storageBuffer8BitAccess;
6072 VkBool32 uniformAndStorageBuffer8BitAccess;
6073 VkBool32 storagePushConstant8;
6074} VkPhysicalDevice8BitStorageFeatures;
6075
6076typedef struct VkPhysicalDeviceDriverProperties {
6077 VkStructureType sType;
6078 void* pNext;
6079 VkDriverId driverID;
6080 char driverName[VK_MAX_DRIVER_NAME_SIZE];
6081 char driverInfo[VK_MAX_DRIVER_INFO_SIZE];
6082 VkConformanceVersion conformanceVersion;
6083} VkPhysicalDeviceDriverProperties;
6084
6085typedef struct VkPhysicalDeviceShaderAtomicInt64Features {
6086 VkStructureType sType;
6087 void* pNext;
6088 VkBool32 shaderBufferInt64Atomics;
6089 VkBool32 shaderSharedInt64Atomics;
6090} VkPhysicalDeviceShaderAtomicInt64Features;
6091
6092typedef struct VkPhysicalDeviceShaderFloat16Int8Features {
6093 VkStructureType sType;
6094 void* pNext;
6095 VkBool32 shaderFloat16;
6096 VkBool32 shaderInt8;
6097} VkPhysicalDeviceShaderFloat16Int8Features;
6098
6099typedef struct VkPhysicalDeviceFloatControlsProperties {
6100 VkStructureType sType;
6101 void* pNext;
6102 VkShaderFloatControlsIndependence denormBehaviorIndependence;
6103 VkShaderFloatControlsIndependence roundingModeIndependence;
6104 VkBool32 shaderSignedZeroInfNanPreserveFloat16;
6105 VkBool32 shaderSignedZeroInfNanPreserveFloat32;
6106 VkBool32 shaderSignedZeroInfNanPreserveFloat64;
6107 VkBool32 shaderDenormPreserveFloat16;
6108 VkBool32 shaderDenormPreserveFloat32;
6109 VkBool32 shaderDenormPreserveFloat64;
6110 VkBool32 shaderDenormFlushToZeroFloat16;
6111 VkBool32 shaderDenormFlushToZeroFloat32;
6112 VkBool32 shaderDenormFlushToZeroFloat64;
6113 VkBool32 shaderRoundingModeRTEFloat16;
6114 VkBool32 shaderRoundingModeRTEFloat32;
6115 VkBool32 shaderRoundingModeRTEFloat64;
6116 VkBool32 shaderRoundingModeRTZFloat16;
6117 VkBool32 shaderRoundingModeRTZFloat32;
6118 VkBool32 shaderRoundingModeRTZFloat64;
6119} VkPhysicalDeviceFloatControlsProperties;
6120
6121typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfo {
6122 VkStructureType sType;
6123 const void* pNext;
6124 uint32_t bindingCount;
6125 const VkDescriptorBindingFlags* pBindingFlags;
6126} VkDescriptorSetLayoutBindingFlagsCreateInfo;
6127
6128typedef struct VkPhysicalDeviceDescriptorIndexingFeatures {
6129 VkStructureType sType;
6130 void* pNext;
6131 VkBool32 shaderInputAttachmentArrayDynamicIndexing;
6132 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
6133 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
6134 VkBool32 shaderUniformBufferArrayNonUniformIndexing;
6135 VkBool32 shaderSampledImageArrayNonUniformIndexing;
6136 VkBool32 shaderStorageBufferArrayNonUniformIndexing;
6137 VkBool32 shaderStorageImageArrayNonUniformIndexing;
6138 VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
6139 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
6140 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
6141 VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
6142 VkBool32 descriptorBindingSampledImageUpdateAfterBind;
6143 VkBool32 descriptorBindingStorageImageUpdateAfterBind;
6144 VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
6145 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
6146 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
6147 VkBool32 descriptorBindingUpdateUnusedWhilePending;
6148 VkBool32 descriptorBindingPartiallyBound;
6149 VkBool32 descriptorBindingVariableDescriptorCount;
6150 VkBool32 runtimeDescriptorArray;
6151} VkPhysicalDeviceDescriptorIndexingFeatures;
6152
6153typedef struct VkPhysicalDeviceDescriptorIndexingProperties {
6154 VkStructureType sType;
6155 void* pNext;
6156 uint32_t maxUpdateAfterBindDescriptorsInAllPools;
6157 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
6158 VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
6159 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
6160 VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
6161 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
6162 VkBool32 robustBufferAccessUpdateAfterBind;
6163 VkBool32 quadDivergentImplicitLod;
6164 uint32_t maxPerStageDescriptorUpdateAfterBindSamplers;
6165 uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers;
6166 uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers;
6167 uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages;
6168 uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages;
6169 uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments;
6170 uint32_t maxPerStageUpdateAfterBindResources;
6171 uint32_t maxDescriptorSetUpdateAfterBindSamplers;
6172 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers;
6173 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
6174 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers;
6175 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
6176 uint32_t maxDescriptorSetUpdateAfterBindSampledImages;
6177 uint32_t maxDescriptorSetUpdateAfterBindStorageImages;
6178 uint32_t maxDescriptorSetUpdateAfterBindInputAttachments;
6179} VkPhysicalDeviceDescriptorIndexingProperties;
6180
6181typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfo {
6182 VkStructureType sType;
6183 const void* pNext;
6184 uint32_t descriptorSetCount;
6185 const uint32_t* pDescriptorCounts;
6186} VkDescriptorSetVariableDescriptorCountAllocateInfo;
6187
6188typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupport {
6189 VkStructureType sType;
6190 void* pNext;
6191 uint32_t maxVariableDescriptorCount;
6192} VkDescriptorSetVariableDescriptorCountLayoutSupport;
6193
6194typedef struct VkSubpassDescriptionDepthStencilResolve {
6195 VkStructureType sType;
6196 const void* pNext;
6197 VkResolveModeFlagBits depthResolveMode;
6198 VkResolveModeFlagBits stencilResolveMode;
6199 const VkAttachmentReference2* pDepthStencilResolveAttachment;
6200} VkSubpassDescriptionDepthStencilResolve;
6201
6202typedef struct VkPhysicalDeviceDepthStencilResolveProperties {
6203 VkStructureType sType;
6204 void* pNext;
6205 VkResolveModeFlags supportedDepthResolveModes;
6206 VkResolveModeFlags supportedStencilResolveModes;
6207 VkBool32 independentResolveNone;
6208 VkBool32 independentResolve;
6209} VkPhysicalDeviceDepthStencilResolveProperties;
6210
6211typedef struct VkPhysicalDeviceScalarBlockLayoutFeatures {
6212 VkStructureType sType;
6213 void* pNext;
6214 VkBool32 scalarBlockLayout;
6215} VkPhysicalDeviceScalarBlockLayoutFeatures;
6216
6217typedef struct VkImageStencilUsageCreateInfo {
6218 VkStructureType sType;
6219 const void* pNext;
6220 VkImageUsageFlags stencilUsage;
6221} VkImageStencilUsageCreateInfo;
6222
6223typedef struct VkSamplerReductionModeCreateInfo {
6224 VkStructureType sType;
6225 const void* pNext;
6226 VkSamplerReductionMode reductionMode;
6227} VkSamplerReductionModeCreateInfo;
6228
6229typedef struct VkPhysicalDeviceSamplerFilterMinmaxProperties {
6230 VkStructureType sType;
6231 void* pNext;
6232 VkBool32 filterMinmaxSingleComponentFormats;
6233 VkBool32 filterMinmaxImageComponentMapping;
6234} VkPhysicalDeviceSamplerFilterMinmaxProperties;
6235
6236typedef struct VkPhysicalDeviceVulkanMemoryModelFeatures {
6237 VkStructureType sType;
6238 void* pNext;
6239 VkBool32 vulkanMemoryModel;
6240 VkBool32 vulkanMemoryModelDeviceScope;
6241 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
6242} VkPhysicalDeviceVulkanMemoryModelFeatures;
6243
6244typedef struct VkPhysicalDeviceImagelessFramebufferFeatures {
6245 VkStructureType sType;
6246 void* pNext;
6247 VkBool32 imagelessFramebuffer;
6248} VkPhysicalDeviceImagelessFramebufferFeatures;
6249
6250typedef struct VkFramebufferAttachmentImageInfo {
6251 VkStructureType sType;
6252 const void* pNext;
6253 VkImageCreateFlags flags;
6254 VkImageUsageFlags usage;
6255 uint32_t width;
6256 uint32_t height;
6257 uint32_t layerCount;
6258 uint32_t viewFormatCount;
6259 const VkFormat* pViewFormats;
6260} VkFramebufferAttachmentImageInfo;
6261
6262typedef struct VkFramebufferAttachmentsCreateInfo {
6263 VkStructureType sType;
6264 const void* pNext;
6265 uint32_t attachmentImageInfoCount;
6266 const VkFramebufferAttachmentImageInfo* pAttachmentImageInfos;
6267} VkFramebufferAttachmentsCreateInfo;
6268
6269typedef struct VkRenderPassAttachmentBeginInfo {
6270 VkStructureType sType;
6271 const void* pNext;
6272 uint32_t attachmentCount;
6273 const VkImageView* pAttachments;
6274} VkRenderPassAttachmentBeginInfo;
6275
6276typedef struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures {
6277 VkStructureType sType;
6278 void* pNext;
6279 VkBool32 uniformBufferStandardLayout;
6280} VkPhysicalDeviceUniformBufferStandardLayoutFeatures;
6281
6282typedef struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures {
6283 VkStructureType sType;
6284 void* pNext;
6285 VkBool32 shaderSubgroupExtendedTypes;
6286} VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures;
6287
6288typedef struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures {
6289 VkStructureType sType;
6290 void* pNext;
6291 VkBool32 separateDepthStencilLayouts;
6292} VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures;
6293
6294typedef struct VkAttachmentReferenceStencilLayout {
6295 VkStructureType sType;
6296 void* pNext;
6297 VkImageLayout stencilLayout;
6298} VkAttachmentReferenceStencilLayout;
6299
6300typedef struct VkAttachmentDescriptionStencilLayout {
6301 VkStructureType sType;
6302 void* pNext;
6303 VkImageLayout stencilInitialLayout;
6304 VkImageLayout stencilFinalLayout;
6305} VkAttachmentDescriptionStencilLayout;
6306
6307typedef struct VkPhysicalDeviceHostQueryResetFeatures {
6308 VkStructureType sType;
6309 void* pNext;
6310 VkBool32 hostQueryReset;
6311} VkPhysicalDeviceHostQueryResetFeatures;
6312
6313typedef struct VkPhysicalDeviceTimelineSemaphoreFeatures {
6314 VkStructureType sType;
6315 void* pNext;
6316 VkBool32 timelineSemaphore;
6317} VkPhysicalDeviceTimelineSemaphoreFeatures;
6318
6319typedef struct VkPhysicalDeviceTimelineSemaphoreProperties {
6320 VkStructureType sType;
6321 void* pNext;
6322 uint64_t maxTimelineSemaphoreValueDifference;
6323} VkPhysicalDeviceTimelineSemaphoreProperties;
6324
6325typedef struct VkSemaphoreTypeCreateInfo {
6326 VkStructureType sType;
6327 const void* pNext;
6328 VkSemaphoreType semaphoreType;
6329 uint64_t initialValue;
6330} VkSemaphoreTypeCreateInfo;
6331
6332typedef struct VkTimelineSemaphoreSubmitInfo {
6333 VkStructureType sType;
6334 const void* pNext;
6335 uint32_t waitSemaphoreValueCount;
6336 const uint64_t* pWaitSemaphoreValues;
6337 uint32_t signalSemaphoreValueCount;
6338 const uint64_t* pSignalSemaphoreValues;
6339} VkTimelineSemaphoreSubmitInfo;
6340
6341typedef struct VkSemaphoreWaitInfo {
6342 VkStructureType sType;
6343 const void* pNext;
6344 VkSemaphoreWaitFlags flags;
6345 uint32_t semaphoreCount;
6346 const VkSemaphore* pSemaphores;
6347 const uint64_t* pValues;
6348} VkSemaphoreWaitInfo;
6349
6350typedef struct VkSemaphoreSignalInfo {
6351 VkStructureType sType;
6352 const void* pNext;
6353 VkSemaphore semaphore;
6354 uint64_t value;
6355} VkSemaphoreSignalInfo;
6356
6357typedef struct VkPhysicalDeviceBufferDeviceAddressFeatures {
6358 VkStructureType sType;
6359 void* pNext;
6360 VkBool32 bufferDeviceAddress;
6361 VkBool32 bufferDeviceAddressCaptureReplay;
6362 VkBool32 bufferDeviceAddressMultiDevice;
6363} VkPhysicalDeviceBufferDeviceAddressFeatures;
6364
6365typedef struct VkBufferDeviceAddressInfo {
6366 VkStructureType sType;
6367 const void* pNext;
6368 VkBuffer buffer;
6369} VkBufferDeviceAddressInfo;
6370
6371typedef struct VkBufferOpaqueCaptureAddressCreateInfo {
6372 VkStructureType sType;
6373 const void* pNext;
6374 uint64_t opaqueCaptureAddress;
6375} VkBufferOpaqueCaptureAddressCreateInfo;
6376
6377typedef struct VkMemoryOpaqueCaptureAddressAllocateInfo {
6378 VkStructureType sType;
6379 const void* pNext;
6380 uint64_t opaqueCaptureAddress;
6381} VkMemoryOpaqueCaptureAddressAllocateInfo;
6382
6383typedef struct VkDeviceMemoryOpaqueCaptureAddressInfo {
6384 VkStructureType sType;
6385 const void* pNext;
6386 VkDeviceMemory memory;
6387} VkDeviceMemoryOpaqueCaptureAddressInfo;
6388
6389typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
6390typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
6391typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
6392typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo);
6393typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo);
6394typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo);
6395typedef void (VKAPI_PTR *PFN_vkResetQueryPool)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount);
6396typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValue)(VkDevice device, VkSemaphore semaphore, uint64_t* pValue);
6397typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphores)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout);
6398typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphore)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo);
6399typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
6400typedef uint64_t (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
6401typedef uint64_t (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddress)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
6402
6403#ifndef VK_NO_PROTOTYPES
6404VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCount(
6405 VkCommandBuffer commandBuffer,
6406 VkBuffer buffer,
6407 VkDeviceSize offset,
6408 VkBuffer countBuffer,
6409 VkDeviceSize countBufferOffset,
6410 uint32_t maxDrawCount,
6411 uint32_t stride);
6412
6413VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCount(
6414 VkCommandBuffer commandBuffer,
6415 VkBuffer buffer,
6416 VkDeviceSize offset,
6417 VkBuffer countBuffer,
6418 VkDeviceSize countBufferOffset,
6419 uint32_t maxDrawCount,
6420 uint32_t stride);
6421
6422VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2(
6423 VkDevice device,
6424 const VkRenderPassCreateInfo2* pCreateInfo,
6425 const VkAllocationCallbacks* pAllocator,
6426 VkRenderPass* pRenderPass);
6427
6428VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2(
6429 VkCommandBuffer commandBuffer,
6430 const VkRenderPassBeginInfo* pRenderPassBegin,
6431 const VkSubpassBeginInfo* pSubpassBeginInfo);
6432
6433VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2(
6434 VkCommandBuffer commandBuffer,
6435 const VkSubpassBeginInfo* pSubpassBeginInfo,
6436 const VkSubpassEndInfo* pSubpassEndInfo);
6437
6438VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2(
6439 VkCommandBuffer commandBuffer,
6440 const VkSubpassEndInfo* pSubpassEndInfo);
6441
6442VKAPI_ATTR void VKAPI_CALL vkResetQueryPool(
6443 VkDevice device,
6444 VkQueryPool queryPool,
6445 uint32_t firstQuery,
6446 uint32_t queryCount);
6447
6448VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValue(
6449 VkDevice device,
6450 VkSemaphore semaphore,
6451 uint64_t* pValue);
6452
6453VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphores(
6454 VkDevice device,
6455 const VkSemaphoreWaitInfo* pWaitInfo,
6456 uint64_t timeout);
6457
6458VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphore(
6459 VkDevice device,
6460 const VkSemaphoreSignalInfo* pSignalInfo);
6461
6462VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddress(
6463 VkDevice device,
6464 const VkBufferDeviceAddressInfo* pInfo);
6465
6466VKAPI_ATTR uint64_t VKAPI_CALL vkGetBufferOpaqueCaptureAddress(
6467 VkDevice device,
6468 const VkBufferDeviceAddressInfo* pInfo);
6469
6470VKAPI_ATTR uint64_t VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddress(
6471 VkDevice device,
6472 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
6473#endif
6474
6475
6476// VK_VERSION_1_3 is a preprocessor guard. Do not pass it to API calls.
6477#define VK_VERSION_1_3 1
6478// Vulkan 1.3 version number
6479#define VK_API_VERSION_1_3 VK_MAKE_API_VERSION(0, 1, 3, 0)// Patch version should always be set to 0
6480
6481typedef uint64_t VkFlags64;
6482VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPrivateDataSlot)
6483
6484typedef enum VkPipelineCreationFeedbackFlagBits {
6485 VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT = 0x00000001,
6486 VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT = 0x00000002,
6487 VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT = 0x00000004,
6488 VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT,
6489 VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT,
6490 VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT,
6491 VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
6492} VkPipelineCreationFeedbackFlagBits;
6493typedef VkFlags VkPipelineCreationFeedbackFlags;
6494
6495typedef enum VkToolPurposeFlagBits {
6496 VK_TOOL_PURPOSE_VALIDATION_BIT = 0x00000001,
6497 VK_TOOL_PURPOSE_PROFILING_BIT = 0x00000002,
6498 VK_TOOL_PURPOSE_TRACING_BIT = 0x00000004,
6499 VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT = 0x00000008,
6500 VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT = 0x00000010,
6501 VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 0x00000020,
6502 VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 0x00000040,
6503 VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = VK_TOOL_PURPOSE_VALIDATION_BIT,
6504 VK_TOOL_PURPOSE_PROFILING_BIT_EXT = VK_TOOL_PURPOSE_PROFILING_BIT,
6505 VK_TOOL_PURPOSE_TRACING_BIT_EXT = VK_TOOL_PURPOSE_TRACING_BIT,
6506 VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT,
6507 VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT,
6508 VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
6509} VkToolPurposeFlagBits;
6510typedef VkFlags VkToolPurposeFlags;
6511typedef VkFlags VkPrivateDataSlotCreateFlags;
6512typedef VkFlags64 VkPipelineStageFlags2;
6513
6514// Flag bits for VkPipelineStageFlagBits2
6515typedef VkFlags64 VkPipelineStageFlagBits2;
6516static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_NONE = 0ULL;
6517static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_NONE_KHR = 0ULL;
6518static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT = 0x00000001ULL;
6519static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR = 0x00000001ULL;
6520static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT = 0x00000002ULL;
6521static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR = 0x00000002ULL;
6522static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT = 0x00000004ULL;
6523static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR = 0x00000004ULL;
6524static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT = 0x00000008ULL;
6525static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR = 0x00000008ULL;
6526static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010ULL;
6527static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR = 0x00000010ULL;
6528static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020ULL;
6529static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR = 0x00000020ULL;
6530static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT = 0x00000040ULL;
6531static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR = 0x00000040ULL;
6532static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT = 0x00000080ULL;
6533static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR = 0x00000080ULL;
6534static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT = 0x00000100ULL;
6535static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR = 0x00000100ULL;
6536static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT = 0x00000200ULL;
6537static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR = 0x00000200ULL;
6538static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400ULL;
6539static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR = 0x00000400ULL;
6540static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT = 0x00000800ULL;
6541static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR = 0x00000800ULL;
6542static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT = 0x00001000ULL;
6543static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR = 0x00001000ULL;
6544static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFER_BIT = 0x00001000ULL;
6545static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR = 0x00001000ULL;
6546static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT = 0x00002000ULL;
6547static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR = 0x00002000ULL;
6548static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_HOST_BIT = 0x00004000ULL;
6549static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_HOST_BIT_KHR = 0x00004000ULL;
6550static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT = 0x00008000ULL;
6551static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR = 0x00008000ULL;
6552static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT = 0x00010000ULL;
6553static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR = 0x00010000ULL;
6554static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COPY_BIT = 0x100000000ULL;
6555static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COPY_BIT_KHR = 0x100000000ULL;
6556static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RESOLVE_BIT = 0x200000000ULL;
6557static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR = 0x200000000ULL;
6558static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BLIT_BIT = 0x400000000ULL;
6559static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BLIT_BIT_KHR = 0x400000000ULL;
6560static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CLEAR_BIT = 0x800000000ULL;
6561static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR = 0x800000000ULL;
6562static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT = 0x1000000000ULL;
6563static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR = 0x1000000000ULL;
6564static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT = 0x2000000000ULL;
6565static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR = 0x2000000000ULL;
6566static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT = 0x4000000000ULL;
6567static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR = 0x4000000000ULL;
6568static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR = 0x04000000ULL;
6569static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR = 0x08000000ULL;
6570static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000ULL;
6571static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000ULL;
6572static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV = 0x00020000ULL;
6573static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000ULL;
6574static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV = 0x00400000ULL;
6575static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000ULL;
6576static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR = 0x00200000ULL;
6577static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV = 0x00200000ULL;
6578static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 0x02000000ULL;
6579static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000ULL;
6580static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV = 0x00080000ULL;
6581static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV = 0x00100000ULL;
6582static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT = 0x00080000ULL;
6583static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT = 0x00100000ULL;
6584static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI = 0x8000000000ULL;
6585static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI = 0x8000000000ULL;
6586static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI = 0x10000000000ULL;
6587static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR = 0x10000000ULL;
6588static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT = 0x40000000ULL;
6589static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI = 0x20000000000ULL;
6590static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV = 0x20000000ULL;
6591
6592typedef VkFlags64 VkAccessFlags2;
6593
6594// Flag bits for VkAccessFlagBits2
6595typedef VkFlags64 VkAccessFlagBits2;
6596static const VkAccessFlagBits2 VK_ACCESS_2_NONE = 0ULL;
6597static const VkAccessFlagBits2 VK_ACCESS_2_NONE_KHR = 0ULL;
6598static const VkAccessFlagBits2 VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT = 0x00000001ULL;
6599static const VkAccessFlagBits2 VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR = 0x00000001ULL;
6600static const VkAccessFlagBits2 VK_ACCESS_2_INDEX_READ_BIT = 0x00000002ULL;
6601static const VkAccessFlagBits2 VK_ACCESS_2_INDEX_READ_BIT_KHR = 0x00000002ULL;
6602static const VkAccessFlagBits2 VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004ULL;
6603static const VkAccessFlagBits2 VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR = 0x00000004ULL;
6604static const VkAccessFlagBits2 VK_ACCESS_2_UNIFORM_READ_BIT = 0x00000008ULL;
6605static const VkAccessFlagBits2 VK_ACCESS_2_UNIFORM_READ_BIT_KHR = 0x00000008ULL;
6606static const VkAccessFlagBits2 VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT = 0x00000010ULL;
6607static const VkAccessFlagBits2 VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR = 0x00000010ULL;
6608static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_READ_BIT = 0x00000020ULL;
6609static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_READ_BIT_KHR = 0x00000020ULL;
6610static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_WRITE_BIT = 0x00000040ULL;
6611static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_WRITE_BIT_KHR = 0x00000040ULL;
6612static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT = 0x00000080ULL;
6613static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR = 0x00000080ULL;
6614static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100ULL;
6615static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR = 0x00000100ULL;
6616static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200ULL;
6617static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR = 0x00000200ULL;
6618static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400ULL;
6619static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR = 0x00000400ULL;
6620static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_READ_BIT = 0x00000800ULL;
6621static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_READ_BIT_KHR = 0x00000800ULL;
6622static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_WRITE_BIT = 0x00001000ULL;
6623static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR = 0x00001000ULL;
6624static const VkAccessFlagBits2 VK_ACCESS_2_HOST_READ_BIT = 0x00002000ULL;
6625static const VkAccessFlagBits2 VK_ACCESS_2_HOST_READ_BIT_KHR = 0x00002000ULL;
6626static const VkAccessFlagBits2 VK_ACCESS_2_HOST_WRITE_BIT = 0x00004000ULL;
6627static const VkAccessFlagBits2 VK_ACCESS_2_HOST_WRITE_BIT_KHR = 0x00004000ULL;
6628static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_READ_BIT = 0x00008000ULL;
6629static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_READ_BIT_KHR = 0x00008000ULL;
6630static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_WRITE_BIT = 0x00010000ULL;
6631static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_WRITE_BIT_KHR = 0x00010000ULL;
6632static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_SAMPLED_READ_BIT = 0x100000000ULL;
6633static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR = 0x100000000ULL;
6634static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_READ_BIT = 0x200000000ULL;
6635static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR = 0x200000000ULL;
6636static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT = 0x400000000ULL;
6637static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR = 0x400000000ULL;
6638static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR = 0x800000000ULL;
6639static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR = 0x1000000000ULL;
6640static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR = 0x2000000000ULL;
6641static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR = 0x4000000000ULL;
6642static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000ULL;
6643static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000ULL;
6644static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000ULL;
6645static const VkAccessFlagBits2 VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000ULL;
6646static const VkAccessFlagBits2 VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000ULL;
6647static const VkAccessFlagBits2 VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000ULL;
6648static const VkAccessFlagBits2 VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000ULL;
6649static const VkAccessFlagBits2 VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000ULL;
6650static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000ULL;
6651static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000ULL;
6652static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV = 0x00200000ULL;
6653static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 0x00400000ULL;
6654static const VkAccessFlagBits2 VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000ULL;
6655static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000ULL;
6656static const VkAccessFlagBits2 VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT = 0x20000000000ULL;
6657static const VkAccessFlagBits2 VK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI = 0x8000000000ULL;
6658static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR = 0x10000000000ULL;
6659static const VkAccessFlagBits2 VK_ACCESS_2_MICROMAP_READ_BIT_EXT = 0x100000000000ULL;
6660static const VkAccessFlagBits2 VK_ACCESS_2_MICROMAP_WRITE_BIT_EXT = 0x200000000000ULL;
6661static const VkAccessFlagBits2 VK_ACCESS_2_OPTICAL_FLOW_READ_BIT_NV = 0x40000000000ULL;
6662static const VkAccessFlagBits2 VK_ACCESS_2_OPTICAL_FLOW_WRITE_BIT_NV = 0x80000000000ULL;
6663
6664
6665typedef enum VkSubmitFlagBits {
6666 VK_SUBMIT_PROTECTED_BIT = 0x00000001,
6667 VK_SUBMIT_PROTECTED_BIT_KHR = VK_SUBMIT_PROTECTED_BIT,
6668 VK_SUBMIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
6669} VkSubmitFlagBits;
6670typedef VkFlags VkSubmitFlags;
6671
6672typedef enum VkRenderingFlagBits {
6673 VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT = 0x00000001,
6674 VK_RENDERING_SUSPENDING_BIT = 0x00000002,
6675 VK_RENDERING_RESUMING_BIT = 0x00000004,
6676 VK_RENDERING_CONTENTS_INLINE_BIT_EXT = 0x00000010,
6677 VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT = 0x00000008,
6678 VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR = VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT,
6679 VK_RENDERING_SUSPENDING_BIT_KHR = VK_RENDERING_SUSPENDING_BIT,
6680 VK_RENDERING_RESUMING_BIT_KHR = VK_RENDERING_RESUMING_BIT,
6681 VK_RENDERING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
6682} VkRenderingFlagBits;
6683typedef VkFlags VkRenderingFlags;
6684typedef VkFlags64 VkFormatFeatureFlags2;
6685
6686// Flag bits for VkFormatFeatureFlagBits2
6687typedef VkFlags64 VkFormatFeatureFlagBits2;
6688static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT = 0x00000001ULL;
6689static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR = 0x00000001ULL;
6690static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT = 0x00000002ULL;
6691static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT_KHR = 0x00000002ULL;
6692static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004ULL;
6693static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT_KHR = 0x00000004ULL;
6694static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008ULL;
6695static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR = 0x00000008ULL;
6696static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT = 0x00000010ULL;
6697static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT_KHR = 0x00000010ULL;
6698static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020ULL;
6699static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT_KHR = 0x00000020ULL;
6700static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT = 0x00000040ULL;
6701static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT_KHR = 0x00000040ULL;
6702static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT = 0x00000080ULL;
6703static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT_KHR = 0x00000080ULL;
6704static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100ULL;
6705static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT_KHR = 0x00000100ULL;
6706static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200ULL;
6707static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHR = 0x00000200ULL;
6708static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_SRC_BIT = 0x00000400ULL;
6709static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR = 0x00000400ULL;
6710static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_DST_BIT = 0x00000800ULL;
6711static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_DST_BIT_KHR = 0x00000800ULL;
6712static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000ULL;
6713static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT_KHR = 0x00001000ULL;
6714static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT = 0x00002000ULL;
6715static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = 0x00002000ULL;
6716static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT = 0x00004000ULL;
6717static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT_KHR = 0x00004000ULL;
6718static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT = 0x00008000ULL;
6719static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT_KHR = 0x00008000ULL;
6720static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000ULL;
6721static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT_KHR = 0x00010000ULL;
6722static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000ULL;
6723static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = 0x00020000ULL;
6724static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000ULL;
6725static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = 0x00040000ULL;
6726static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000ULL;
6727static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = 0x00080000ULL;
6728static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000ULL;
6729static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = 0x00100000ULL;
6730static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000ULL;
6731static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR = 0x00200000ULL;
6732static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DISJOINT_BIT = 0x00400000ULL;
6733static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DISJOINT_BIT_KHR = 0x00400000ULL;
6734static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT = 0x00800000ULL;
6735static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT_KHR = 0x00800000ULL;
6736static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT = 0x80000000ULL;
6737static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR = 0x80000000ULL;
6738static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT = 0x100000000ULL;
6739static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR = 0x100000000ULL;
6740static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT = 0x200000000ULL;
6741static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR = 0x200000000ULL;
6742static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x02000000ULL;
6743static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_DECODE_DPB_BIT_KHR = 0x04000000ULL;
6744static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000ULL;
6745static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000ULL;
6746static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000ULL;
6747static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_HOST_IMAGE_TRANSFER_BIT_EXT = 0x400000000000ULL;
6748static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000ULL;
6749static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000ULL;
6750static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV = 0x4000000000ULL;
6751static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_WEIGHT_IMAGE_BIT_QCOM = 0x400000000ULL;
6752static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_WEIGHT_SAMPLED_IMAGE_BIT_QCOM = 0x800000000ULL;
6753static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM = 0x1000000000ULL;
6754static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BOX_FILTER_SAMPLED_BIT_QCOM = 0x2000000000ULL;
6755static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_OPTICAL_FLOW_IMAGE_BIT_NV = 0x10000000000ULL;
6756static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_OPTICAL_FLOW_VECTOR_BIT_NV = 0x20000000000ULL;
6757static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_OPTICAL_FLOW_COST_BIT_NV = 0x40000000000ULL;
6758
6759typedef struct VkPhysicalDeviceVulkan13Features {
6760 VkStructureType sType;
6761 void* pNext;
6762 VkBool32 robustImageAccess;
6763 VkBool32 inlineUniformBlock;
6764 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind;
6765 VkBool32 pipelineCreationCacheControl;
6766 VkBool32 privateData;
6767 VkBool32 shaderDemoteToHelperInvocation;
6768 VkBool32 shaderTerminateInvocation;
6769 VkBool32 subgroupSizeControl;
6770 VkBool32 computeFullSubgroups;
6771 VkBool32 synchronization2;
6772 VkBool32 textureCompressionASTC_HDR;
6773 VkBool32 shaderZeroInitializeWorkgroupMemory;
6774 VkBool32 dynamicRendering;
6775 VkBool32 shaderIntegerDotProduct;
6776 VkBool32 maintenance4;
6777} VkPhysicalDeviceVulkan13Features;
6778
6779typedef struct VkPhysicalDeviceVulkan13Properties {
6780 VkStructureType sType;
6781 void* pNext;
6782 uint32_t minSubgroupSize;
6783 uint32_t maxSubgroupSize;
6784 uint32_t maxComputeWorkgroupSubgroups;
6785 VkShaderStageFlags requiredSubgroupSizeStages;
6786 uint32_t maxInlineUniformBlockSize;
6787 uint32_t maxPerStageDescriptorInlineUniformBlocks;
6788 uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
6789 uint32_t maxDescriptorSetInlineUniformBlocks;
6790 uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
6791 uint32_t maxInlineUniformTotalSize;
6792 VkBool32 integerDotProduct8BitUnsignedAccelerated;
6793 VkBool32 integerDotProduct8BitSignedAccelerated;
6794 VkBool32 integerDotProduct8BitMixedSignednessAccelerated;
6795 VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated;
6796 VkBool32 integerDotProduct4x8BitPackedSignedAccelerated;
6797 VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated;
6798 VkBool32 integerDotProduct16BitUnsignedAccelerated;
6799 VkBool32 integerDotProduct16BitSignedAccelerated;
6800 VkBool32 integerDotProduct16BitMixedSignednessAccelerated;
6801 VkBool32 integerDotProduct32BitUnsignedAccelerated;
6802 VkBool32 integerDotProduct32BitSignedAccelerated;
6803 VkBool32 integerDotProduct32BitMixedSignednessAccelerated;
6804 VkBool32 integerDotProduct64BitUnsignedAccelerated;
6805 VkBool32 integerDotProduct64BitSignedAccelerated;
6806 VkBool32 integerDotProduct64BitMixedSignednessAccelerated;
6807 VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated;
6808 VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated;
6809 VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated;
6810 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated;
6811 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated;
6812 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated;
6813 VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated;
6814 VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated;
6815 VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated;
6816 VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated;
6817 VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated;
6818 VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated;
6819 VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated;
6820 VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated;
6821 VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated;
6822 VkDeviceSize storageTexelBufferOffsetAlignmentBytes;
6823 VkBool32 storageTexelBufferOffsetSingleTexelAlignment;
6824 VkDeviceSize uniformTexelBufferOffsetAlignmentBytes;
6825 VkBool32 uniformTexelBufferOffsetSingleTexelAlignment;
6826 VkDeviceSize maxBufferSize;
6827} VkPhysicalDeviceVulkan13Properties;
6828
6829typedef struct VkPipelineCreationFeedback {
6830 VkPipelineCreationFeedbackFlags flags;
6831 uint64_t duration;
6832} VkPipelineCreationFeedback;
6833
6834typedef struct VkPipelineCreationFeedbackCreateInfo {
6835 VkStructureType sType;
6836 const void* pNext;
6837 VkPipelineCreationFeedback* pPipelineCreationFeedback;
6838 uint32_t pipelineStageCreationFeedbackCount;
6839 VkPipelineCreationFeedback* pPipelineStageCreationFeedbacks;
6840} VkPipelineCreationFeedbackCreateInfo;
6841
6842typedef struct VkPhysicalDeviceShaderTerminateInvocationFeatures {
6843 VkStructureType sType;
6844 void* pNext;
6845 VkBool32 shaderTerminateInvocation;
6846} VkPhysicalDeviceShaderTerminateInvocationFeatures;
6847
6848typedef struct VkPhysicalDeviceToolProperties {
6849 VkStructureType sType;
6850 void* pNext;
6851 char name[VK_MAX_EXTENSION_NAME_SIZE];
6852 char version[VK_MAX_EXTENSION_NAME_SIZE];
6853 VkToolPurposeFlags purposes;
6854 char description[VK_MAX_DESCRIPTION_SIZE];
6855 char layer[VK_MAX_EXTENSION_NAME_SIZE];
6856} VkPhysicalDeviceToolProperties;
6857
6858typedef struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures {
6859 VkStructureType sType;
6860 void* pNext;
6861 VkBool32 shaderDemoteToHelperInvocation;
6862} VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures;
6863
6864typedef struct VkPhysicalDevicePrivateDataFeatures {
6865 VkStructureType sType;
6866 void* pNext;
6867 VkBool32 privateData;
6868} VkPhysicalDevicePrivateDataFeatures;
6869
6870typedef struct VkDevicePrivateDataCreateInfo {
6871 VkStructureType sType;
6872 const void* pNext;
6873 uint32_t privateDataSlotRequestCount;
6874} VkDevicePrivateDataCreateInfo;
6875
6876typedef struct VkPrivateDataSlotCreateInfo {
6877 VkStructureType sType;
6878 const void* pNext;
6879 VkPrivateDataSlotCreateFlags flags;
6880} VkPrivateDataSlotCreateInfo;
6881
6882typedef struct VkPhysicalDevicePipelineCreationCacheControlFeatures {
6883 VkStructureType sType;
6884 void* pNext;
6885 VkBool32 pipelineCreationCacheControl;
6886} VkPhysicalDevicePipelineCreationCacheControlFeatures;
6887
6888typedef struct VkMemoryBarrier2 {
6889 VkStructureType sType;
6890 const void* pNext;
6891 VkPipelineStageFlags2 srcStageMask;
6892 VkAccessFlags2 srcAccessMask;
6893 VkPipelineStageFlags2 dstStageMask;
6894 VkAccessFlags2 dstAccessMask;
6895} VkMemoryBarrier2;
6896
6897typedef struct VkBufferMemoryBarrier2 {
6898 VkStructureType sType;
6899 const void* pNext;
6900 VkPipelineStageFlags2 srcStageMask;
6901 VkAccessFlags2 srcAccessMask;
6902 VkPipelineStageFlags2 dstStageMask;
6903 VkAccessFlags2 dstAccessMask;
6904 uint32_t srcQueueFamilyIndex;
6905 uint32_t dstQueueFamilyIndex;
6906 VkBuffer buffer;
6907 VkDeviceSize offset;
6908 VkDeviceSize size;
6909} VkBufferMemoryBarrier2;
6910
6911typedef struct VkImageMemoryBarrier2 {
6912 VkStructureType sType;
6913 const void* pNext;
6914 VkPipelineStageFlags2 srcStageMask;
6915 VkAccessFlags2 srcAccessMask;
6916 VkPipelineStageFlags2 dstStageMask;
6917 VkAccessFlags2 dstAccessMask;
6918 VkImageLayout oldLayout;
6919 VkImageLayout newLayout;
6920 uint32_t srcQueueFamilyIndex;
6921 uint32_t dstQueueFamilyIndex;
6922 VkImage image;
6923 VkImageSubresourceRange subresourceRange;
6924} VkImageMemoryBarrier2;
6925
6926typedef struct VkDependencyInfo {
6927 VkStructureType sType;
6928 const void* pNext;
6929 VkDependencyFlags dependencyFlags;
6930 uint32_t memoryBarrierCount;
6931 const VkMemoryBarrier2* pMemoryBarriers;
6932 uint32_t bufferMemoryBarrierCount;
6933 const VkBufferMemoryBarrier2* pBufferMemoryBarriers;
6934 uint32_t imageMemoryBarrierCount;
6935 const VkImageMemoryBarrier2* pImageMemoryBarriers;
6936} VkDependencyInfo;
6937
6938typedef struct VkSemaphoreSubmitInfo {
6939 VkStructureType sType;
6940 const void* pNext;
6941 VkSemaphore semaphore;
6942 uint64_t value;
6943 VkPipelineStageFlags2 stageMask;
6944 uint32_t deviceIndex;
6945} VkSemaphoreSubmitInfo;
6946
6947typedef struct VkCommandBufferSubmitInfo {
6948 VkStructureType sType;
6949 const void* pNext;
6950 VkCommandBuffer commandBuffer;
6951 uint32_t deviceMask;
6952} VkCommandBufferSubmitInfo;
6953
6954typedef struct VkSubmitInfo2 {
6955 VkStructureType sType;
6956 const void* pNext;
6957 VkSubmitFlags flags;
6958 uint32_t waitSemaphoreInfoCount;
6959 const VkSemaphoreSubmitInfo* pWaitSemaphoreInfos;
6960 uint32_t commandBufferInfoCount;
6961 const VkCommandBufferSubmitInfo* pCommandBufferInfos;
6962 uint32_t signalSemaphoreInfoCount;
6963 const VkSemaphoreSubmitInfo* pSignalSemaphoreInfos;
6964} VkSubmitInfo2;
6965
6966typedef struct VkPhysicalDeviceSynchronization2Features {
6967 VkStructureType sType;
6968 void* pNext;
6969 VkBool32 synchronization2;
6970} VkPhysicalDeviceSynchronization2Features;
6971
6972typedef struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures {
6973 VkStructureType sType;
6974 void* pNext;
6975 VkBool32 shaderZeroInitializeWorkgroupMemory;
6976} VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures;
6977
6978typedef struct VkPhysicalDeviceImageRobustnessFeatures {
6979 VkStructureType sType;
6980 void* pNext;
6981 VkBool32 robustImageAccess;
6982} VkPhysicalDeviceImageRobustnessFeatures;
6983
6984typedef struct VkBufferCopy2 {
6985 VkStructureType sType;
6986 const void* pNext;
6987 VkDeviceSize srcOffset;
6988 VkDeviceSize dstOffset;
6989 VkDeviceSize size;
6990} VkBufferCopy2;
6991
6992typedef struct VkCopyBufferInfo2 {
6993 VkStructureType sType;
6994 const void* pNext;
6995 VkBuffer srcBuffer;
6996 VkBuffer dstBuffer;
6997 uint32_t regionCount;
6998 const VkBufferCopy2* pRegions;
6999} VkCopyBufferInfo2;
7000
7001typedef struct VkImageCopy2 {
7002 VkStructureType sType;
7003 const void* pNext;
7004 VkImageSubresourceLayers srcSubresource;
7005 VkOffset3D srcOffset;
7006 VkImageSubresourceLayers dstSubresource;
7007 VkOffset3D dstOffset;
7008 VkExtent3D extent;
7009} VkImageCopy2;
7010
7011typedef struct VkCopyImageInfo2 {
7012 VkStructureType sType;
7013 const void* pNext;
7014 VkImage srcImage;
7015 VkImageLayout srcImageLayout;
7016 VkImage dstImage;
7017 VkImageLayout dstImageLayout;
7018 uint32_t regionCount;
7019 const VkImageCopy2* pRegions;
7020} VkCopyImageInfo2;
7021
7022typedef struct VkBufferImageCopy2 {
7023 VkStructureType sType;
7024 const void* pNext;
7025 VkDeviceSize bufferOffset;
7026 uint32_t bufferRowLength;
7027 uint32_t bufferImageHeight;
7028 VkImageSubresourceLayers imageSubresource;
7029 VkOffset3D imageOffset;
7030 VkExtent3D imageExtent;
7031} VkBufferImageCopy2;
7032
7033typedef struct VkCopyBufferToImageInfo2 {
7034 VkStructureType sType;
7035 const void* pNext;
7036 VkBuffer srcBuffer;
7037 VkImage dstImage;
7038 VkImageLayout dstImageLayout;
7039 uint32_t regionCount;
7040 const VkBufferImageCopy2* pRegions;
7041} VkCopyBufferToImageInfo2;
7042
7043typedef struct VkCopyImageToBufferInfo2 {
7044 VkStructureType sType;
7045 const void* pNext;
7046 VkImage srcImage;
7047 VkImageLayout srcImageLayout;
7048 VkBuffer dstBuffer;
7049 uint32_t regionCount;
7050 const VkBufferImageCopy2* pRegions;
7051} VkCopyImageToBufferInfo2;
7052
7053typedef struct VkImageBlit2 {
7054 VkStructureType sType;
7055 const void* pNext;
7056 VkImageSubresourceLayers srcSubresource;
7057 VkOffset3D srcOffsets[2];
7058 VkImageSubresourceLayers dstSubresource;
7059 VkOffset3D dstOffsets[2];
7060} VkImageBlit2;
7061
7062typedef struct VkBlitImageInfo2 {
7063 VkStructureType sType;
7064 const void* pNext;
7065 VkImage srcImage;
7066 VkImageLayout srcImageLayout;
7067 VkImage dstImage;
7068 VkImageLayout dstImageLayout;
7069 uint32_t regionCount;
7070 const VkImageBlit2* pRegions;
7071 VkFilter filter;
7072} VkBlitImageInfo2;
7073
7074typedef struct VkImageResolve2 {
7075 VkStructureType sType;
7076 const void* pNext;
7077 VkImageSubresourceLayers srcSubresource;
7078 VkOffset3D srcOffset;
7079 VkImageSubresourceLayers dstSubresource;
7080 VkOffset3D dstOffset;
7081 VkExtent3D extent;
7082} VkImageResolve2;
7083
7084typedef struct VkResolveImageInfo2 {
7085 VkStructureType sType;
7086 const void* pNext;
7087 VkImage srcImage;
7088 VkImageLayout srcImageLayout;
7089 VkImage dstImage;
7090 VkImageLayout dstImageLayout;
7091 uint32_t regionCount;
7092 const VkImageResolve2* pRegions;
7093} VkResolveImageInfo2;
7094
7095typedef struct VkPhysicalDeviceSubgroupSizeControlFeatures {
7096 VkStructureType sType;
7097 void* pNext;
7098 VkBool32 subgroupSizeControl;
7099 VkBool32 computeFullSubgroups;
7100} VkPhysicalDeviceSubgroupSizeControlFeatures;
7101
7102typedef struct VkPhysicalDeviceSubgroupSizeControlProperties {
7103 VkStructureType sType;
7104 void* pNext;
7105 uint32_t minSubgroupSize;
7106 uint32_t maxSubgroupSize;
7107 uint32_t maxComputeWorkgroupSubgroups;
7108 VkShaderStageFlags requiredSubgroupSizeStages;
7109} VkPhysicalDeviceSubgroupSizeControlProperties;
7110
7111typedef struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfo {
7112 VkStructureType sType;
7113 void* pNext;
7114 uint32_t requiredSubgroupSize;
7115} VkPipelineShaderStageRequiredSubgroupSizeCreateInfo;
7116
7117typedef struct VkPhysicalDeviceInlineUniformBlockFeatures {
7118 VkStructureType sType;
7119 void* pNext;
7120 VkBool32 inlineUniformBlock;
7121 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind;
7122} VkPhysicalDeviceInlineUniformBlockFeatures;
7123
7124typedef struct VkPhysicalDeviceInlineUniformBlockProperties {
7125 VkStructureType sType;
7126 void* pNext;
7127 uint32_t maxInlineUniformBlockSize;
7128 uint32_t maxPerStageDescriptorInlineUniformBlocks;
7129 uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
7130 uint32_t maxDescriptorSetInlineUniformBlocks;
7131 uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
7132} VkPhysicalDeviceInlineUniformBlockProperties;
7133
7134typedef struct VkWriteDescriptorSetInlineUniformBlock {
7135 VkStructureType sType;
7136 const void* pNext;
7137 uint32_t dataSize;
7138 const void* pData;
7139} VkWriteDescriptorSetInlineUniformBlock;
7140
7141typedef struct VkDescriptorPoolInlineUniformBlockCreateInfo {
7142 VkStructureType sType;
7143 const void* pNext;
7144 uint32_t maxInlineUniformBlockBindings;
7145} VkDescriptorPoolInlineUniformBlockCreateInfo;
7146
7147typedef struct VkPhysicalDeviceTextureCompressionASTCHDRFeatures {
7148 VkStructureType sType;
7149 void* pNext;
7150 VkBool32 textureCompressionASTC_HDR;
7151} VkPhysicalDeviceTextureCompressionASTCHDRFeatures;
7152
7153typedef struct VkRenderingAttachmentInfo {
7154 VkStructureType sType;
7155 const void* pNext;
7156 VkImageView imageView;
7157 VkImageLayout imageLayout;
7158 VkResolveModeFlagBits resolveMode;
7159 VkImageView resolveImageView;
7160 VkImageLayout resolveImageLayout;
7161 VkAttachmentLoadOp loadOp;
7162 VkAttachmentStoreOp storeOp;
7163 VkClearValue clearValue;
7164} VkRenderingAttachmentInfo;
7165
7166typedef struct VkRenderingInfo {
7167 VkStructureType sType;
7168 const void* pNext;
7169 VkRenderingFlags flags;
7170 VkRect2D renderArea;
7171 uint32_t layerCount;
7172 uint32_t viewMask;
7173 uint32_t colorAttachmentCount;
7174 const VkRenderingAttachmentInfo* pColorAttachments;
7175 const VkRenderingAttachmentInfo* pDepthAttachment;
7176 const VkRenderingAttachmentInfo* pStencilAttachment;
7177} VkRenderingInfo;
7178
7179typedef struct VkPipelineRenderingCreateInfo {
7180 VkStructureType sType;
7181 const void* pNext;
7182 uint32_t viewMask;
7183 uint32_t colorAttachmentCount;
7184 const VkFormat* pColorAttachmentFormats;
7185 VkFormat depthAttachmentFormat;
7186 VkFormat stencilAttachmentFormat;
7187} VkPipelineRenderingCreateInfo;
7188
7189typedef struct VkPhysicalDeviceDynamicRenderingFeatures {
7190 VkStructureType sType;
7191 void* pNext;
7192 VkBool32 dynamicRendering;
7193} VkPhysicalDeviceDynamicRenderingFeatures;
7194
7195typedef struct VkCommandBufferInheritanceRenderingInfo {
7196 VkStructureType sType;
7197 const void* pNext;
7198 VkRenderingFlags flags;
7199 uint32_t viewMask;
7200 uint32_t colorAttachmentCount;
7201 const VkFormat* pColorAttachmentFormats;
7202 VkFormat depthAttachmentFormat;
7203 VkFormat stencilAttachmentFormat;
7204 VkSampleCountFlagBits rasterizationSamples;
7205} VkCommandBufferInheritanceRenderingInfo;
7206
7207typedef struct VkPhysicalDeviceShaderIntegerDotProductFeatures {
7208 VkStructureType sType;
7209 void* pNext;
7210 VkBool32 shaderIntegerDotProduct;
7211} VkPhysicalDeviceShaderIntegerDotProductFeatures;
7212
7213typedef struct VkPhysicalDeviceShaderIntegerDotProductProperties {
7214 VkStructureType sType;
7215 void* pNext;
7216 VkBool32 integerDotProduct8BitUnsignedAccelerated;
7217 VkBool32 integerDotProduct8BitSignedAccelerated;
7218 VkBool32 integerDotProduct8BitMixedSignednessAccelerated;
7219 VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated;
7220 VkBool32 integerDotProduct4x8BitPackedSignedAccelerated;
7221 VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated;
7222 VkBool32 integerDotProduct16BitUnsignedAccelerated;
7223 VkBool32 integerDotProduct16BitSignedAccelerated;
7224 VkBool32 integerDotProduct16BitMixedSignednessAccelerated;
7225 VkBool32 integerDotProduct32BitUnsignedAccelerated;
7226 VkBool32 integerDotProduct32BitSignedAccelerated;
7227 VkBool32 integerDotProduct32BitMixedSignednessAccelerated;
7228 VkBool32 integerDotProduct64BitUnsignedAccelerated;
7229 VkBool32 integerDotProduct64BitSignedAccelerated;
7230 VkBool32 integerDotProduct64BitMixedSignednessAccelerated;
7231 VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated;
7232 VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated;
7233 VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated;
7234 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated;
7235 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated;
7236 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated;
7237 VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated;
7238 VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated;
7239 VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated;
7240 VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated;
7241 VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated;
7242 VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated;
7243 VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated;
7244 VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated;
7245 VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated;
7246} VkPhysicalDeviceShaderIntegerDotProductProperties;
7247
7248typedef struct VkPhysicalDeviceTexelBufferAlignmentProperties {
7249 VkStructureType sType;
7250 void* pNext;
7251 VkDeviceSize storageTexelBufferOffsetAlignmentBytes;
7252 VkBool32 storageTexelBufferOffsetSingleTexelAlignment;
7253 VkDeviceSize uniformTexelBufferOffsetAlignmentBytes;
7254 VkBool32 uniformTexelBufferOffsetSingleTexelAlignment;
7255} VkPhysicalDeviceTexelBufferAlignmentProperties;
7256
7257typedef struct VkFormatProperties3 {
7258 VkStructureType sType;
7259 void* pNext;
7260 VkFormatFeatureFlags2 linearTilingFeatures;
7261 VkFormatFeatureFlags2 optimalTilingFeatures;
7262 VkFormatFeatureFlags2 bufferFeatures;
7263} VkFormatProperties3;
7264
7265typedef struct VkPhysicalDeviceMaintenance4Features {
7266 VkStructureType sType;
7267 void* pNext;
7268 VkBool32 maintenance4;
7269} VkPhysicalDeviceMaintenance4Features;
7270
7271typedef struct VkPhysicalDeviceMaintenance4Properties {
7272 VkStructureType sType;
7273 void* pNext;
7274 VkDeviceSize maxBufferSize;
7275} VkPhysicalDeviceMaintenance4Properties;
7276
7277typedef struct VkDeviceBufferMemoryRequirements {
7278 VkStructureType sType;
7279 const void* pNext;
7280 const VkBufferCreateInfo* pCreateInfo;
7281} VkDeviceBufferMemoryRequirements;
7282
7283typedef struct VkDeviceImageMemoryRequirements {
7284 VkStructureType sType;
7285 const void* pNext;
7286 const VkImageCreateInfo* pCreateInfo;
7287 VkImageAspectFlagBits planeAspect;
7288} VkDeviceImageMemoryRequirements;
7289
7290typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceToolProperties)(VkPhysicalDevice physicalDevice, uint32_t* pToolCount, VkPhysicalDeviceToolProperties* pToolProperties);
7291typedef VkResult (VKAPI_PTR *PFN_vkCreatePrivateDataSlot)(VkDevice device, const VkPrivateDataSlotCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlot* pPrivateDataSlot);
7292typedef void (VKAPI_PTR *PFN_vkDestroyPrivateDataSlot)(VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks* pAllocator);
7293typedef VkResult (VKAPI_PTR *PFN_vkSetPrivateData)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t data);
7294typedef void (VKAPI_PTR *PFN_vkGetPrivateData)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t* pData);
7295typedef void (VKAPI_PTR *PFN_vkCmdSetEvent2)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo* pDependencyInfo);
7296typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask);
7297typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents2)(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, const VkDependencyInfo* pDependencyInfos);
7298typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier2)(VkCommandBuffer commandBuffer, const VkDependencyInfo* pDependencyInfo);
7299typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query);
7300typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo2* pSubmits, VkFence fence);
7301typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer2)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2* pCopyBufferInfo);
7302typedef void (VKAPI_PTR *PFN_vkCmdCopyImage2)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2* pCopyImageInfo);
7303typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage2)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo);
7304typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer2)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo);
7305typedef void (VKAPI_PTR *PFN_vkCmdBlitImage2)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2* pBlitImageInfo);
7306typedef void (VKAPI_PTR *PFN_vkCmdResolveImage2)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2* pResolveImageInfo);
7307typedef void (VKAPI_PTR *PFN_vkCmdBeginRendering)(VkCommandBuffer commandBuffer, const VkRenderingInfo* pRenderingInfo);
7308typedef void (VKAPI_PTR *PFN_vkCmdEndRendering)(VkCommandBuffer commandBuffer);
7309typedef void (VKAPI_PTR *PFN_vkCmdSetCullMode)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode);
7310typedef void (VKAPI_PTR *PFN_vkCmdSetFrontFace)(VkCommandBuffer commandBuffer, VkFrontFace frontFace);
7311typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveTopology)(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology);
7312typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWithCount)(VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport* pViewports);
7313typedef void (VKAPI_PTR *PFN_vkCmdSetScissorWithCount)(VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D* pScissors);
7314typedef 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);
7315typedef void (VKAPI_PTR *PFN_vkCmdSetDepthTestEnable)(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable);
7316typedef void (VKAPI_PTR *PFN_vkCmdSetDepthWriteEnable)(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable);
7317typedef void (VKAPI_PTR *PFN_vkCmdSetDepthCompareOp)(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp);
7318typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBoundsTestEnable)(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable);
7319typedef void (VKAPI_PTR *PFN_vkCmdSetStencilTestEnable)(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable);
7320typedef void (VKAPI_PTR *PFN_vkCmdSetStencilOp)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp);
7321typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizerDiscardEnable)(VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable);
7322typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBiasEnable)(VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable);
7323typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveRestartEnable)(VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable);
7324typedef void (VKAPI_PTR *PFN_vkGetDeviceBufferMemoryRequirements)(VkDevice device, const VkDeviceBufferMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements);
7325typedef void (VKAPI_PTR *PFN_vkGetDeviceImageMemoryRequirements)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements);
7326typedef void (VKAPI_PTR *PFN_vkGetDeviceImageSparseMemoryRequirements)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
7327
7328#ifndef VK_NO_PROTOTYPES
7329VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceToolProperties(
7330 VkPhysicalDevice physicalDevice,
7331 uint32_t* pToolCount,
7332 VkPhysicalDeviceToolProperties* pToolProperties);
7333
7334VKAPI_ATTR VkResult VKAPI_CALL vkCreatePrivateDataSlot(
7335 VkDevice device,
7336 const VkPrivateDataSlotCreateInfo* pCreateInfo,
7337 const VkAllocationCallbacks* pAllocator,
7338 VkPrivateDataSlot* pPrivateDataSlot);
7339
7340VKAPI_ATTR void VKAPI_CALL vkDestroyPrivateDataSlot(
7341 VkDevice device,
7342 VkPrivateDataSlot privateDataSlot,
7343 const VkAllocationCallbacks* pAllocator);
7344
7345VKAPI_ATTR VkResult VKAPI_CALL vkSetPrivateData(
7346 VkDevice device,
7347 VkObjectType objectType,
7348 uint64_t objectHandle,
7349 VkPrivateDataSlot privateDataSlot,
7350 uint64_t data);
7351
7352VKAPI_ATTR void VKAPI_CALL vkGetPrivateData(
7353 VkDevice device,
7354 VkObjectType objectType,
7355 uint64_t objectHandle,
7356 VkPrivateDataSlot privateDataSlot,
7357 uint64_t* pData);
7358
7359VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent2(
7360 VkCommandBuffer commandBuffer,
7361 VkEvent event,
7362 const VkDependencyInfo* pDependencyInfo);
7363
7364VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent2(
7365 VkCommandBuffer commandBuffer,
7366 VkEvent event,
7367 VkPipelineStageFlags2 stageMask);
7368
7369VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents2(
7370 VkCommandBuffer commandBuffer,
7371 uint32_t eventCount,
7372 const VkEvent* pEvents,
7373 const VkDependencyInfo* pDependencyInfos);
7374
7375VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier2(
7376 VkCommandBuffer commandBuffer,
7377 const VkDependencyInfo* pDependencyInfo);
7378
7379VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp2(
7380 VkCommandBuffer commandBuffer,
7381 VkPipelineStageFlags2 stage,
7382 VkQueryPool queryPool,
7383 uint32_t query);
7384
7385VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit2(
7386 VkQueue queue,
7387 uint32_t submitCount,
7388 const VkSubmitInfo2* pSubmits,
7389 VkFence fence);
7390
7391VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer2(
7392 VkCommandBuffer commandBuffer,
7393 const VkCopyBufferInfo2* pCopyBufferInfo);
7394
7395VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage2(
7396 VkCommandBuffer commandBuffer,
7397 const VkCopyImageInfo2* pCopyImageInfo);
7398
7399VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage2(
7400 VkCommandBuffer commandBuffer,
7401 const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo);
7402
7403VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer2(
7404 VkCommandBuffer commandBuffer,
7405 const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo);
7406
7407VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage2(
7408 VkCommandBuffer commandBuffer,
7409 const VkBlitImageInfo2* pBlitImageInfo);
7410
7411VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage2(
7412 VkCommandBuffer commandBuffer,
7413 const VkResolveImageInfo2* pResolveImageInfo);
7414
7415VKAPI_ATTR void VKAPI_CALL vkCmdBeginRendering(
7416 VkCommandBuffer commandBuffer,
7417 const VkRenderingInfo* pRenderingInfo);
7418
7419VKAPI_ATTR void VKAPI_CALL vkCmdEndRendering(
7420 VkCommandBuffer commandBuffer);
7421
7422VKAPI_ATTR void VKAPI_CALL vkCmdSetCullMode(
7423 VkCommandBuffer commandBuffer,
7424 VkCullModeFlags cullMode);
7425
7426VKAPI_ATTR void VKAPI_CALL vkCmdSetFrontFace(
7427 VkCommandBuffer commandBuffer,
7428 VkFrontFace frontFace);
7429
7430VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveTopology(
7431 VkCommandBuffer commandBuffer,
7432 VkPrimitiveTopology primitiveTopology);
7433
7434VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWithCount(
7435 VkCommandBuffer commandBuffer,
7436 uint32_t viewportCount,
7437 const VkViewport* pViewports);
7438
7439VKAPI_ATTR void VKAPI_CALL vkCmdSetScissorWithCount(
7440 VkCommandBuffer commandBuffer,
7441 uint32_t scissorCount,
7442 const VkRect2D* pScissors);
7443
7444VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers2(
7445 VkCommandBuffer commandBuffer,
7446 uint32_t firstBinding,
7447 uint32_t bindingCount,
7448 const VkBuffer* pBuffers,
7449 const VkDeviceSize* pOffsets,
7450 const VkDeviceSize* pSizes,
7451 const VkDeviceSize* pStrides);
7452
7453VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthTestEnable(
7454 VkCommandBuffer commandBuffer,
7455 VkBool32 depthTestEnable);
7456
7457VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthWriteEnable(
7458 VkCommandBuffer commandBuffer,
7459 VkBool32 depthWriteEnable);
7460
7461VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthCompareOp(
7462 VkCommandBuffer commandBuffer,
7463 VkCompareOp depthCompareOp);
7464
7465VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBoundsTestEnable(
7466 VkCommandBuffer commandBuffer,
7467 VkBool32 depthBoundsTestEnable);
7468
7469VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilTestEnable(
7470 VkCommandBuffer commandBuffer,
7471 VkBool32 stencilTestEnable);
7472
7473VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilOp(
7474 VkCommandBuffer commandBuffer,
7475 VkStencilFaceFlags faceMask,
7476 VkStencilOp failOp,
7477 VkStencilOp passOp,
7478 VkStencilOp depthFailOp,
7479 VkCompareOp compareOp);
7480
7481VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizerDiscardEnable(
7482 VkCommandBuffer commandBuffer,
7483 VkBool32 rasterizerDiscardEnable);
7484
7485VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBiasEnable(
7486 VkCommandBuffer commandBuffer,
7487 VkBool32 depthBiasEnable);
7488
7489VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveRestartEnable(
7490 VkCommandBuffer commandBuffer,
7491 VkBool32 primitiveRestartEnable);
7492
7493VKAPI_ATTR void VKAPI_CALL vkGetDeviceBufferMemoryRequirements(
7494 VkDevice device,
7495 const VkDeviceBufferMemoryRequirements* pInfo,
7496 VkMemoryRequirements2* pMemoryRequirements);
7497
7498VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageMemoryRequirements(
7499 VkDevice device,
7500 const VkDeviceImageMemoryRequirements* pInfo,
7501 VkMemoryRequirements2* pMemoryRequirements);
7502
7503VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageSparseMemoryRequirements(
7504 VkDevice device,
7505 const VkDeviceImageMemoryRequirements* pInfo,
7506 uint32_t* pSparseMemoryRequirementCount,
7507 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
7508#endif
7509
7510
7511// VK_KHR_surface is a preprocessor guard. Do not pass it to API calls.
7512#define VK_KHR_surface 1
7513VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR)
7514#define VK_KHR_SURFACE_SPEC_VERSION 25
7515#define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface"
7516
7517typedef enum VkPresentModeKHR {
7518 VK_PRESENT_MODE_IMMEDIATE_KHR = 0,
7519 VK_PRESENT_MODE_MAILBOX_KHR = 1,
7520 VK_PRESENT_MODE_FIFO_KHR = 2,
7521 VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3,
7522 VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR = 1000111000,
7523 VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = 1000111001,
7524 VK_PRESENT_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
7525} VkPresentModeKHR;
7526
7527typedef enum VkColorSpaceKHR {
7528 VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0,
7529 VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = 1000104001,
7530 VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT = 1000104002,
7531 VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT = 1000104003,
7532 VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT = 1000104004,
7533 VK_COLOR_SPACE_BT709_LINEAR_EXT = 1000104005,
7534 VK_COLOR_SPACE_BT709_NONLINEAR_EXT = 1000104006,
7535 VK_COLOR_SPACE_BT2020_LINEAR_EXT = 1000104007,
7536 VK_COLOR_SPACE_HDR10_ST2084_EXT = 1000104008,
7537 VK_COLOR_SPACE_DOLBYVISION_EXT = 1000104009,
7538 VK_COLOR_SPACE_HDR10_HLG_EXT = 1000104010,
7539 VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT = 1000104011,
7540 VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT = 1000104012,
7541 VK_COLOR_SPACE_PASS_THROUGH_EXT = 1000104013,
7542 VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT = 1000104014,
7543 VK_COLOR_SPACE_DISPLAY_NATIVE_AMD = 1000213000,
7544 VK_COLORSPACE_SRGB_NONLINEAR_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
7545 VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT,
7546 VK_COLOR_SPACE_MAX_ENUM_KHR = 0x7FFFFFFF
7547} VkColorSpaceKHR;
7548
7549typedef enum VkSurfaceTransformFlagBitsKHR {
7550 VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 0x00000001,
7551 VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 0x00000002,
7552 VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 0x00000004,
7553 VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 0x00000008,
7554 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 0x00000010,
7555 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 0x00000020,
7556 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 0x00000040,
7557 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 0x00000080,
7558 VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 0x00000100,
7559 VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7560} VkSurfaceTransformFlagBitsKHR;
7561
7562typedef enum VkCompositeAlphaFlagBitsKHR {
7563 VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
7564 VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 0x00000002,
7565 VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 0x00000004,
7566 VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 0x00000008,
7567 VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7568} VkCompositeAlphaFlagBitsKHR;
7569typedef VkFlags VkCompositeAlphaFlagsKHR;
7570typedef VkFlags VkSurfaceTransformFlagsKHR;
7571typedef struct VkSurfaceCapabilitiesKHR {
7572 uint32_t minImageCount;
7573 uint32_t maxImageCount;
7574 VkExtent2D currentExtent;
7575 VkExtent2D minImageExtent;
7576 VkExtent2D maxImageExtent;
7577 uint32_t maxImageArrayLayers;
7578 VkSurfaceTransformFlagsKHR supportedTransforms;
7579 VkSurfaceTransformFlagBitsKHR currentTransform;
7580 VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
7581 VkImageUsageFlags supportedUsageFlags;
7582} VkSurfaceCapabilitiesKHR;
7583
7584typedef struct VkSurfaceFormatKHR {
7585 VkFormat format;
7586 VkColorSpaceKHR colorSpace;
7587} VkSurfaceFormatKHR;
7588
7589typedef void (VKAPI_PTR *PFN_vkDestroySurfaceKHR)(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator);
7590typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported);
7591typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
7592typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats);
7593typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pPresentModeCount, VkPresentModeKHR* pPresentModes);
7594
7595#ifndef VK_NO_PROTOTYPES
7596VKAPI_ATTR void VKAPI_CALL vkDestroySurfaceKHR(
7597 VkInstance instance,
7598 VkSurfaceKHR surface,
7599 const VkAllocationCallbacks* pAllocator);
7600
7601VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceSupportKHR(
7602 VkPhysicalDevice physicalDevice,
7603 uint32_t queueFamilyIndex,
7604 VkSurfaceKHR surface,
7605 VkBool32* pSupported);
7606
7607VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilitiesKHR(
7608 VkPhysicalDevice physicalDevice,
7609 VkSurfaceKHR surface,
7610 VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
7611
7612VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormatsKHR(
7613 VkPhysicalDevice physicalDevice,
7614 VkSurfaceKHR surface,
7615 uint32_t* pSurfaceFormatCount,
7616 VkSurfaceFormatKHR* pSurfaceFormats);
7617
7618VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModesKHR(
7619 VkPhysicalDevice physicalDevice,
7620 VkSurfaceKHR surface,
7621 uint32_t* pPresentModeCount,
7622 VkPresentModeKHR* pPresentModes);
7623#endif
7624
7625
7626// VK_KHR_swapchain is a preprocessor guard. Do not pass it to API calls.
7627#define VK_KHR_swapchain 1
7628VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR)
7629#define VK_KHR_SWAPCHAIN_SPEC_VERSION 70
7630#define VK_KHR_SWAPCHAIN_EXTENSION_NAME "VK_KHR_swapchain"
7631
7632typedef enum VkSwapchainCreateFlagBitsKHR {
7633 VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 0x00000001,
7634 VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR = 0x00000002,
7635 VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR = 0x00000004,
7636 VK_SWAPCHAIN_CREATE_DEFERRED_MEMORY_ALLOCATION_BIT_EXT = 0x00000008,
7637 VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7638} VkSwapchainCreateFlagBitsKHR;
7639typedef VkFlags VkSwapchainCreateFlagsKHR;
7640
7641typedef enum VkDeviceGroupPresentModeFlagBitsKHR {
7642 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR = 0x00000001,
7643 VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR = 0x00000002,
7644 VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR = 0x00000004,
7645 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR = 0x00000008,
7646 VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7647} VkDeviceGroupPresentModeFlagBitsKHR;
7648typedef VkFlags VkDeviceGroupPresentModeFlagsKHR;
7649typedef struct VkSwapchainCreateInfoKHR {
7650 VkStructureType sType;
7651 const void* pNext;
7652 VkSwapchainCreateFlagsKHR flags;
7653 VkSurfaceKHR surface;
7654 uint32_t minImageCount;
7655 VkFormat imageFormat;
7656 VkColorSpaceKHR imageColorSpace;
7657 VkExtent2D imageExtent;
7658 uint32_t imageArrayLayers;
7659 VkImageUsageFlags imageUsage;
7660 VkSharingMode imageSharingMode;
7661 uint32_t queueFamilyIndexCount;
7662 const uint32_t* pQueueFamilyIndices;
7663 VkSurfaceTransformFlagBitsKHR preTransform;
7664 VkCompositeAlphaFlagBitsKHR compositeAlpha;
7665 VkPresentModeKHR presentMode;
7666 VkBool32 clipped;
7667 VkSwapchainKHR oldSwapchain;
7668} VkSwapchainCreateInfoKHR;
7669
7670typedef struct VkPresentInfoKHR {
7671 VkStructureType sType;
7672 const void* pNext;
7673 uint32_t waitSemaphoreCount;
7674 const VkSemaphore* pWaitSemaphores;
7675 uint32_t swapchainCount;
7676 const VkSwapchainKHR* pSwapchains;
7677 const uint32_t* pImageIndices;
7678 VkResult* pResults;
7679} VkPresentInfoKHR;
7680
7681typedef struct VkImageSwapchainCreateInfoKHR {
7682 VkStructureType sType;
7683 const void* pNext;
7684 VkSwapchainKHR swapchain;
7685} VkImageSwapchainCreateInfoKHR;
7686
7687typedef struct VkBindImageMemorySwapchainInfoKHR {
7688 VkStructureType sType;
7689 const void* pNext;
7690 VkSwapchainKHR swapchain;
7691 uint32_t imageIndex;
7692} VkBindImageMemorySwapchainInfoKHR;
7693
7694typedef struct VkAcquireNextImageInfoKHR {
7695 VkStructureType sType;
7696 const void* pNext;
7697 VkSwapchainKHR swapchain;
7698 uint64_t timeout;
7699 VkSemaphore semaphore;
7700 VkFence fence;
7701 uint32_t deviceMask;
7702} VkAcquireNextImageInfoKHR;
7703
7704typedef struct VkDeviceGroupPresentCapabilitiesKHR {
7705 VkStructureType sType;
7706 void* pNext;
7707 uint32_t presentMask[VK_MAX_DEVICE_GROUP_SIZE];
7708 VkDeviceGroupPresentModeFlagsKHR modes;
7709} VkDeviceGroupPresentCapabilitiesKHR;
7710
7711typedef struct VkDeviceGroupPresentInfoKHR {
7712 VkStructureType sType;
7713 const void* pNext;
7714 uint32_t swapchainCount;
7715 const uint32_t* pDeviceMasks;
7716 VkDeviceGroupPresentModeFlagBitsKHR mode;
7717} VkDeviceGroupPresentInfoKHR;
7718
7719typedef struct VkDeviceGroupSwapchainCreateInfoKHR {
7720 VkStructureType sType;
7721 const void* pNext;
7722 VkDeviceGroupPresentModeFlagsKHR modes;
7723} VkDeviceGroupSwapchainCreateInfoKHR;
7724
7725typedef VkResult (VKAPI_PTR *PFN_vkCreateSwapchainKHR)(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain);
7726typedef void (VKAPI_PTR *PFN_vkDestroySwapchainKHR)(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator);
7727typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainImagesKHR)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages);
7728typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImageKHR)(VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex);
7729typedef VkResult (VKAPI_PTR *PFN_vkQueuePresentKHR)(VkQueue queue, const VkPresentInfoKHR* pPresentInfo);
7730typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupPresentCapabilitiesKHR)(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
7731typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupSurfacePresentModesKHR)(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes);
7732typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDevicePresentRectanglesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pRectCount, VkRect2D* pRects);
7733typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImage2KHR)(VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, uint32_t* pImageIndex);
7734
7735#ifndef VK_NO_PROTOTYPES
7736VKAPI_ATTR VkResult VKAPI_CALL vkCreateSwapchainKHR(
7737 VkDevice device,
7738 const VkSwapchainCreateInfoKHR* pCreateInfo,
7739 const VkAllocationCallbacks* pAllocator,
7740 VkSwapchainKHR* pSwapchain);
7741
7742VKAPI_ATTR void VKAPI_CALL vkDestroySwapchainKHR(
7743 VkDevice device,
7744 VkSwapchainKHR swapchain,
7745 const VkAllocationCallbacks* pAllocator);
7746
7747VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainImagesKHR(
7748 VkDevice device,
7749 VkSwapchainKHR swapchain,
7750 uint32_t* pSwapchainImageCount,
7751 VkImage* pSwapchainImages);
7752
7753VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImageKHR(
7754 VkDevice device,
7755 VkSwapchainKHR swapchain,
7756 uint64_t timeout,
7757 VkSemaphore semaphore,
7758 VkFence fence,
7759 uint32_t* pImageIndex);
7760
7761VKAPI_ATTR VkResult VKAPI_CALL vkQueuePresentKHR(
7762 VkQueue queue,
7763 const VkPresentInfoKHR* pPresentInfo);
7764
7765VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupPresentCapabilitiesKHR(
7766 VkDevice device,
7767 VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
7768
7769VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupSurfacePresentModesKHR(
7770 VkDevice device,
7771 VkSurfaceKHR surface,
7772 VkDeviceGroupPresentModeFlagsKHR* pModes);
7773
7774VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDevicePresentRectanglesKHR(
7775 VkPhysicalDevice physicalDevice,
7776 VkSurfaceKHR surface,
7777 uint32_t* pRectCount,
7778 VkRect2D* pRects);
7779
7780VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImage2KHR(
7781 VkDevice device,
7782 const VkAcquireNextImageInfoKHR* pAcquireInfo,
7783 uint32_t* pImageIndex);
7784#endif
7785
7786
7787// VK_KHR_display is a preprocessor guard. Do not pass it to API calls.
7788#define VK_KHR_display 1
7789VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR)
7790VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR)
7791#define VK_KHR_DISPLAY_SPEC_VERSION 23
7792#define VK_KHR_DISPLAY_EXTENSION_NAME "VK_KHR_display"
7793typedef VkFlags VkDisplayModeCreateFlagsKHR;
7794
7795typedef enum VkDisplayPlaneAlphaFlagBitsKHR {
7796 VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
7797 VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR = 0x00000002,
7798 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR = 0x00000004,
7799 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = 0x00000008,
7800 VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7801} VkDisplayPlaneAlphaFlagBitsKHR;
7802typedef VkFlags VkDisplayPlaneAlphaFlagsKHR;
7803typedef VkFlags VkDisplaySurfaceCreateFlagsKHR;
7804typedef struct VkDisplayModeParametersKHR {
7805 VkExtent2D visibleRegion;
7806 uint32_t refreshRate;
7807} VkDisplayModeParametersKHR;
7808
7809typedef struct VkDisplayModeCreateInfoKHR {
7810 VkStructureType sType;
7811 const void* pNext;
7812 VkDisplayModeCreateFlagsKHR flags;
7813 VkDisplayModeParametersKHR parameters;
7814} VkDisplayModeCreateInfoKHR;
7815
7816typedef struct VkDisplayModePropertiesKHR {
7817 VkDisplayModeKHR displayMode;
7818 VkDisplayModeParametersKHR parameters;
7819} VkDisplayModePropertiesKHR;
7820
7821typedef struct VkDisplayPlaneCapabilitiesKHR {
7822 VkDisplayPlaneAlphaFlagsKHR supportedAlpha;
7823 VkOffset2D minSrcPosition;
7824 VkOffset2D maxSrcPosition;
7825 VkExtent2D minSrcExtent;
7826 VkExtent2D maxSrcExtent;
7827 VkOffset2D minDstPosition;
7828 VkOffset2D maxDstPosition;
7829 VkExtent2D minDstExtent;
7830 VkExtent2D maxDstExtent;
7831} VkDisplayPlaneCapabilitiesKHR;
7832
7833typedef struct VkDisplayPlanePropertiesKHR {
7834 VkDisplayKHR currentDisplay;
7835 uint32_t currentStackIndex;
7836} VkDisplayPlanePropertiesKHR;
7837
7838typedef struct VkDisplayPropertiesKHR {
7839 VkDisplayKHR display;
7840 const char* displayName;
7841 VkExtent2D physicalDimensions;
7842 VkExtent2D physicalResolution;
7843 VkSurfaceTransformFlagsKHR supportedTransforms;
7844 VkBool32 planeReorderPossible;
7845 VkBool32 persistentContent;
7846} VkDisplayPropertiesKHR;
7847
7848typedef struct VkDisplaySurfaceCreateInfoKHR {
7849 VkStructureType sType;
7850 const void* pNext;
7851 VkDisplaySurfaceCreateFlagsKHR flags;
7852 VkDisplayModeKHR displayMode;
7853 uint32_t planeIndex;
7854 uint32_t planeStackIndex;
7855 VkSurfaceTransformFlagBitsKHR transform;
7856 float globalAlpha;
7857 VkDisplayPlaneAlphaFlagBitsKHR alphaMode;
7858 VkExtent2D imageExtent;
7859} VkDisplaySurfaceCreateInfoKHR;
7860
7861typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPropertiesKHR* pProperties);
7862typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties);
7863typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneSupportedDisplaysKHR)(VkPhysicalDevice physicalDevice, uint32_t planeIndex, uint32_t* pDisplayCount, VkDisplayKHR* pDisplays);
7864typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModePropertiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModePropertiesKHR* pProperties);
7865typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayModeKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode);
7866typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, uint32_t planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities);
7867typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayPlaneSurfaceKHR)(VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
7868
7869#ifndef VK_NO_PROTOTYPES
7870VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPropertiesKHR(
7871 VkPhysicalDevice physicalDevice,
7872 uint32_t* pPropertyCount,
7873 VkDisplayPropertiesKHR* pProperties);
7874
7875VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlanePropertiesKHR(
7876 VkPhysicalDevice physicalDevice,
7877 uint32_t* pPropertyCount,
7878 VkDisplayPlanePropertiesKHR* pProperties);
7879
7880VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneSupportedDisplaysKHR(
7881 VkPhysicalDevice physicalDevice,
7882 uint32_t planeIndex,
7883 uint32_t* pDisplayCount,
7884 VkDisplayKHR* pDisplays);
7885
7886VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModePropertiesKHR(
7887 VkPhysicalDevice physicalDevice,
7888 VkDisplayKHR display,
7889 uint32_t* pPropertyCount,
7890 VkDisplayModePropertiesKHR* pProperties);
7891
7892VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayModeKHR(
7893 VkPhysicalDevice physicalDevice,
7894 VkDisplayKHR display,
7895 const VkDisplayModeCreateInfoKHR* pCreateInfo,
7896 const VkAllocationCallbacks* pAllocator,
7897 VkDisplayModeKHR* pMode);
7898
7899VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilitiesKHR(
7900 VkPhysicalDevice physicalDevice,
7901 VkDisplayModeKHR mode,
7902 uint32_t planeIndex,
7903 VkDisplayPlaneCapabilitiesKHR* pCapabilities);
7904
7905VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayPlaneSurfaceKHR(
7906 VkInstance instance,
7907 const VkDisplaySurfaceCreateInfoKHR* pCreateInfo,
7908 const VkAllocationCallbacks* pAllocator,
7909 VkSurfaceKHR* pSurface);
7910#endif
7911
7912
7913// VK_KHR_display_swapchain is a preprocessor guard. Do not pass it to API calls.
7914#define VK_KHR_display_swapchain 1
7915#define VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION 10
7916#define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME "VK_KHR_display_swapchain"
7917typedef struct VkDisplayPresentInfoKHR {
7918 VkStructureType sType;
7919 const void* pNext;
7920 VkRect2D srcRect;
7921 VkRect2D dstRect;
7922 VkBool32 persistent;
7923} VkDisplayPresentInfoKHR;
7924
7925typedef VkResult (VKAPI_PTR *PFN_vkCreateSharedSwapchainsKHR)(VkDevice device, uint32_t swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains);
7926
7927#ifndef VK_NO_PROTOTYPES
7928VKAPI_ATTR VkResult VKAPI_CALL vkCreateSharedSwapchainsKHR(
7929 VkDevice device,
7930 uint32_t swapchainCount,
7931 const VkSwapchainCreateInfoKHR* pCreateInfos,
7932 const VkAllocationCallbacks* pAllocator,
7933 VkSwapchainKHR* pSwapchains);
7934#endif
7935
7936
7937// VK_KHR_sampler_mirror_clamp_to_edge is a preprocessor guard. Do not pass it to API calls.
7938#define VK_KHR_sampler_mirror_clamp_to_edge 1
7939#define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION 3
7940#define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME "VK_KHR_sampler_mirror_clamp_to_edge"
7941
7942
7943// VK_KHR_video_queue is a preprocessor guard. Do not pass it to API calls.
7944#define VK_KHR_video_queue 1
7945VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkVideoSessionKHR)
7946VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkVideoSessionParametersKHR)
7947#define VK_KHR_VIDEO_QUEUE_SPEC_VERSION 8
7948#define VK_KHR_VIDEO_QUEUE_EXTENSION_NAME "VK_KHR_video_queue"
7949
7950typedef enum VkQueryResultStatusKHR {
7951 VK_QUERY_RESULT_STATUS_ERROR_KHR = -1,
7952 VK_QUERY_RESULT_STATUS_NOT_READY_KHR = 0,
7953 VK_QUERY_RESULT_STATUS_COMPLETE_KHR = 1,
7954 VK_QUERY_RESULT_STATUS_INSUFFICIENT_BITSTREAM_BUFFER_RANGE_KHR = -1000299000,
7955 VK_QUERY_RESULT_STATUS_MAX_ENUM_KHR = 0x7FFFFFFF
7956} VkQueryResultStatusKHR;
7957
7958typedef enum VkVideoCodecOperationFlagBitsKHR {
7959 VK_VIDEO_CODEC_OPERATION_NONE_KHR = 0,
7960 VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR = 0x00010000,
7961 VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR = 0x00020000,
7962 VK_VIDEO_CODEC_OPERATION_DECODE_H264_BIT_KHR = 0x00000001,
7963 VK_VIDEO_CODEC_OPERATION_DECODE_H265_BIT_KHR = 0x00000002,
7964 VK_VIDEO_CODEC_OPERATION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7965} VkVideoCodecOperationFlagBitsKHR;
7966typedef VkFlags VkVideoCodecOperationFlagsKHR;
7967
7968typedef enum VkVideoChromaSubsamplingFlagBitsKHR {
7969 VK_VIDEO_CHROMA_SUBSAMPLING_INVALID_KHR = 0,
7970 VK_VIDEO_CHROMA_SUBSAMPLING_MONOCHROME_BIT_KHR = 0x00000001,
7971 VK_VIDEO_CHROMA_SUBSAMPLING_420_BIT_KHR = 0x00000002,
7972 VK_VIDEO_CHROMA_SUBSAMPLING_422_BIT_KHR = 0x00000004,
7973 VK_VIDEO_CHROMA_SUBSAMPLING_444_BIT_KHR = 0x00000008,
7974 VK_VIDEO_CHROMA_SUBSAMPLING_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7975} VkVideoChromaSubsamplingFlagBitsKHR;
7976typedef VkFlags VkVideoChromaSubsamplingFlagsKHR;
7977
7978typedef enum VkVideoComponentBitDepthFlagBitsKHR {
7979 VK_VIDEO_COMPONENT_BIT_DEPTH_INVALID_KHR = 0,
7980 VK_VIDEO_COMPONENT_BIT_DEPTH_8_BIT_KHR = 0x00000001,
7981 VK_VIDEO_COMPONENT_BIT_DEPTH_10_BIT_KHR = 0x00000004,
7982 VK_VIDEO_COMPONENT_BIT_DEPTH_12_BIT_KHR = 0x00000010,
7983 VK_VIDEO_COMPONENT_BIT_DEPTH_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7984} VkVideoComponentBitDepthFlagBitsKHR;
7985typedef VkFlags VkVideoComponentBitDepthFlagsKHR;
7986
7987typedef enum VkVideoCapabilityFlagBitsKHR {
7988 VK_VIDEO_CAPABILITY_PROTECTED_CONTENT_BIT_KHR = 0x00000001,
7989 VK_VIDEO_CAPABILITY_SEPARATE_REFERENCE_IMAGES_BIT_KHR = 0x00000002,
7990 VK_VIDEO_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7991} VkVideoCapabilityFlagBitsKHR;
7992typedef VkFlags VkVideoCapabilityFlagsKHR;
7993
7994typedef enum VkVideoSessionCreateFlagBitsKHR {
7995 VK_VIDEO_SESSION_CREATE_PROTECTED_CONTENT_BIT_KHR = 0x00000001,
7996 VK_VIDEO_SESSION_CREATE_ALLOW_ENCODE_PARAMETER_OPTIMIZATIONS_BIT_KHR = 0x00000002,
7997 VK_VIDEO_SESSION_CREATE_INLINE_QUERIES_BIT_KHR = 0x00000004,
7998 VK_VIDEO_SESSION_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7999} VkVideoSessionCreateFlagBitsKHR;
8000typedef VkFlags VkVideoSessionCreateFlagsKHR;
8001typedef VkFlags VkVideoSessionParametersCreateFlagsKHR;
8002typedef VkFlags VkVideoBeginCodingFlagsKHR;
8003typedef VkFlags VkVideoEndCodingFlagsKHR;
8004
8005typedef enum VkVideoCodingControlFlagBitsKHR {
8006 VK_VIDEO_CODING_CONTROL_RESET_BIT_KHR = 0x00000001,
8007 VK_VIDEO_CODING_CONTROL_ENCODE_RATE_CONTROL_BIT_KHR = 0x00000002,
8008 VK_VIDEO_CODING_CONTROL_ENCODE_QUALITY_LEVEL_BIT_KHR = 0x00000004,
8009 VK_VIDEO_CODING_CONTROL_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8010} VkVideoCodingControlFlagBitsKHR;
8011typedef VkFlags VkVideoCodingControlFlagsKHR;
8012typedef struct VkQueueFamilyQueryResultStatusPropertiesKHR {
8013 VkStructureType sType;
8014 void* pNext;
8015 VkBool32 queryResultStatusSupport;
8016} VkQueueFamilyQueryResultStatusPropertiesKHR;
8017
8018typedef struct VkQueueFamilyVideoPropertiesKHR {
8019 VkStructureType sType;
8020 void* pNext;
8021 VkVideoCodecOperationFlagsKHR videoCodecOperations;
8022} VkQueueFamilyVideoPropertiesKHR;
8023
8024typedef struct VkVideoProfileInfoKHR {
8025 VkStructureType sType;
8026 const void* pNext;
8027 VkVideoCodecOperationFlagBitsKHR videoCodecOperation;
8028 VkVideoChromaSubsamplingFlagsKHR chromaSubsampling;
8029 VkVideoComponentBitDepthFlagsKHR lumaBitDepth;
8030 VkVideoComponentBitDepthFlagsKHR chromaBitDepth;
8031} VkVideoProfileInfoKHR;
8032
8033typedef struct VkVideoProfileListInfoKHR {
8034 VkStructureType sType;
8035 const void* pNext;
8036 uint32_t profileCount;
8037 const VkVideoProfileInfoKHR* pProfiles;
8038} VkVideoProfileListInfoKHR;
8039
8040typedef struct VkVideoCapabilitiesKHR {
8041 VkStructureType sType;
8042 void* pNext;
8043 VkVideoCapabilityFlagsKHR flags;
8044 VkDeviceSize minBitstreamBufferOffsetAlignment;
8045 VkDeviceSize minBitstreamBufferSizeAlignment;
8046 VkExtent2D pictureAccessGranularity;
8047 VkExtent2D minCodedExtent;
8048 VkExtent2D maxCodedExtent;
8049 uint32_t maxDpbSlots;
8050 uint32_t maxActiveReferencePictures;
8051 VkExtensionProperties stdHeaderVersion;
8052} VkVideoCapabilitiesKHR;
8053
8054typedef struct VkPhysicalDeviceVideoFormatInfoKHR {
8055 VkStructureType sType;
8056 const void* pNext;
8057 VkImageUsageFlags imageUsage;
8058} VkPhysicalDeviceVideoFormatInfoKHR;
8059
8060typedef struct VkVideoFormatPropertiesKHR {
8061 VkStructureType sType;
8062 void* pNext;
8063 VkFormat format;
8064 VkComponentMapping componentMapping;
8065 VkImageCreateFlags imageCreateFlags;
8066 VkImageType imageType;
8067 VkImageTiling imageTiling;
8068 VkImageUsageFlags imageUsageFlags;
8069} VkVideoFormatPropertiesKHR;
8070
8071typedef struct VkVideoPictureResourceInfoKHR {
8072 VkStructureType sType;
8073 const void* pNext;
8074 VkOffset2D codedOffset;
8075 VkExtent2D codedExtent;
8076 uint32_t baseArrayLayer;
8077 VkImageView imageViewBinding;
8078} VkVideoPictureResourceInfoKHR;
8079
8080typedef struct VkVideoReferenceSlotInfoKHR {
8081 VkStructureType sType;
8082 const void* pNext;
8083 int32_t slotIndex;
8084 const VkVideoPictureResourceInfoKHR* pPictureResource;
8085} VkVideoReferenceSlotInfoKHR;
8086
8087typedef struct VkVideoSessionMemoryRequirementsKHR {
8088 VkStructureType sType;
8089 void* pNext;
8090 uint32_t memoryBindIndex;
8091 VkMemoryRequirements memoryRequirements;
8092} VkVideoSessionMemoryRequirementsKHR;
8093
8094typedef struct VkBindVideoSessionMemoryInfoKHR {
8095 VkStructureType sType;
8096 const void* pNext;
8097 uint32_t memoryBindIndex;
8098 VkDeviceMemory memory;
8099 VkDeviceSize memoryOffset;
8100 VkDeviceSize memorySize;
8101} VkBindVideoSessionMemoryInfoKHR;
8102
8103typedef struct VkVideoSessionCreateInfoKHR {
8104 VkStructureType sType;
8105 const void* pNext;
8106 uint32_t queueFamilyIndex;
8107 VkVideoSessionCreateFlagsKHR flags;
8108 const VkVideoProfileInfoKHR* pVideoProfile;
8109 VkFormat pictureFormat;
8110 VkExtent2D maxCodedExtent;
8111 VkFormat referencePictureFormat;
8112 uint32_t maxDpbSlots;
8113 uint32_t maxActiveReferencePictures;
8114 const VkExtensionProperties* pStdHeaderVersion;
8115} VkVideoSessionCreateInfoKHR;
8116
8117typedef struct VkVideoSessionParametersCreateInfoKHR {
8118 VkStructureType sType;
8119 const void* pNext;
8120 VkVideoSessionParametersCreateFlagsKHR flags;
8121 VkVideoSessionParametersKHR videoSessionParametersTemplate;
8122 VkVideoSessionKHR videoSession;
8123} VkVideoSessionParametersCreateInfoKHR;
8124
8125typedef struct VkVideoSessionParametersUpdateInfoKHR {
8126 VkStructureType sType;
8127 const void* pNext;
8128 uint32_t updateSequenceCount;
8129} VkVideoSessionParametersUpdateInfoKHR;
8130
8131typedef struct VkVideoBeginCodingInfoKHR {
8132 VkStructureType sType;
8133 const void* pNext;
8134 VkVideoBeginCodingFlagsKHR flags;
8135 VkVideoSessionKHR videoSession;
8136 VkVideoSessionParametersKHR videoSessionParameters;
8137 uint32_t referenceSlotCount;
8138 const VkVideoReferenceSlotInfoKHR* pReferenceSlots;
8139} VkVideoBeginCodingInfoKHR;
8140
8141typedef struct VkVideoEndCodingInfoKHR {
8142 VkStructureType sType;
8143 const void* pNext;
8144 VkVideoEndCodingFlagsKHR flags;
8145} VkVideoEndCodingInfoKHR;
8146
8147typedef struct VkVideoCodingControlInfoKHR {
8148 VkStructureType sType;
8149 const void* pNext;
8150 VkVideoCodingControlFlagsKHR flags;
8151} VkVideoCodingControlInfoKHR;
8152
8153typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR)(VkPhysicalDevice physicalDevice, const VkVideoProfileInfoKHR* pVideoProfile, VkVideoCapabilitiesKHR* pCapabilities);
8154typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceVideoFormatInfoKHR* pVideoFormatInfo, uint32_t* pVideoFormatPropertyCount, VkVideoFormatPropertiesKHR* pVideoFormatProperties);
8155typedef VkResult (VKAPI_PTR *PFN_vkCreateVideoSessionKHR)(VkDevice device, const VkVideoSessionCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkVideoSessionKHR* pVideoSession);
8156typedef void (VKAPI_PTR *PFN_vkDestroyVideoSessionKHR)(VkDevice device, VkVideoSessionKHR videoSession, const VkAllocationCallbacks* pAllocator);
8157typedef VkResult (VKAPI_PTR *PFN_vkGetVideoSessionMemoryRequirementsKHR)(VkDevice device, VkVideoSessionKHR videoSession, uint32_t* pMemoryRequirementsCount, VkVideoSessionMemoryRequirementsKHR* pMemoryRequirements);
8158typedef VkResult (VKAPI_PTR *PFN_vkBindVideoSessionMemoryKHR)(VkDevice device, VkVideoSessionKHR videoSession, uint32_t bindSessionMemoryInfoCount, const VkBindVideoSessionMemoryInfoKHR* pBindSessionMemoryInfos);
8159typedef VkResult (VKAPI_PTR *PFN_vkCreateVideoSessionParametersKHR)(VkDevice device, const VkVideoSessionParametersCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkVideoSessionParametersKHR* pVideoSessionParameters);
8160typedef VkResult (VKAPI_PTR *PFN_vkUpdateVideoSessionParametersKHR)(VkDevice device, VkVideoSessionParametersKHR videoSessionParameters, const VkVideoSessionParametersUpdateInfoKHR* pUpdateInfo);
8161typedef void (VKAPI_PTR *PFN_vkDestroyVideoSessionParametersKHR)(VkDevice device, VkVideoSessionParametersKHR videoSessionParameters, const VkAllocationCallbacks* pAllocator);
8162typedef void (VKAPI_PTR *PFN_vkCmdBeginVideoCodingKHR)(VkCommandBuffer commandBuffer, const VkVideoBeginCodingInfoKHR* pBeginInfo);
8163typedef void (VKAPI_PTR *PFN_vkCmdEndVideoCodingKHR)(VkCommandBuffer commandBuffer, const VkVideoEndCodingInfoKHR* pEndCodingInfo);
8164typedef void (VKAPI_PTR *PFN_vkCmdControlVideoCodingKHR)(VkCommandBuffer commandBuffer, const VkVideoCodingControlInfoKHR* pCodingControlInfo);
8165
8166#ifndef VK_NO_PROTOTYPES
8167VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceVideoCapabilitiesKHR(
8168 VkPhysicalDevice physicalDevice,
8169 const VkVideoProfileInfoKHR* pVideoProfile,
8170 VkVideoCapabilitiesKHR* pCapabilities);
8171
8172VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceVideoFormatPropertiesKHR(
8173 VkPhysicalDevice physicalDevice,
8174 const VkPhysicalDeviceVideoFormatInfoKHR* pVideoFormatInfo,
8175 uint32_t* pVideoFormatPropertyCount,
8176 VkVideoFormatPropertiesKHR* pVideoFormatProperties);
8177
8178VKAPI_ATTR VkResult VKAPI_CALL vkCreateVideoSessionKHR(
8179 VkDevice device,
8180 const VkVideoSessionCreateInfoKHR* pCreateInfo,
8181 const VkAllocationCallbacks* pAllocator,
8182 VkVideoSessionKHR* pVideoSession);
8183
8184VKAPI_ATTR void VKAPI_CALL vkDestroyVideoSessionKHR(
8185 VkDevice device,
8186 VkVideoSessionKHR videoSession,
8187 const VkAllocationCallbacks* pAllocator);
8188
8189VKAPI_ATTR VkResult VKAPI_CALL vkGetVideoSessionMemoryRequirementsKHR(
8190 VkDevice device,
8191 VkVideoSessionKHR videoSession,
8192 uint32_t* pMemoryRequirementsCount,
8193 VkVideoSessionMemoryRequirementsKHR* pMemoryRequirements);
8194
8195VKAPI_ATTR VkResult VKAPI_CALL vkBindVideoSessionMemoryKHR(
8196 VkDevice device,
8197 VkVideoSessionKHR videoSession,
8198 uint32_t bindSessionMemoryInfoCount,
8199 const VkBindVideoSessionMemoryInfoKHR* pBindSessionMemoryInfos);
8200
8201VKAPI_ATTR VkResult VKAPI_CALL vkCreateVideoSessionParametersKHR(
8202 VkDevice device,
8203 const VkVideoSessionParametersCreateInfoKHR* pCreateInfo,
8204 const VkAllocationCallbacks* pAllocator,
8205 VkVideoSessionParametersKHR* pVideoSessionParameters);
8206
8207VKAPI_ATTR VkResult VKAPI_CALL vkUpdateVideoSessionParametersKHR(
8208 VkDevice device,
8209 VkVideoSessionParametersKHR videoSessionParameters,
8210 const VkVideoSessionParametersUpdateInfoKHR* pUpdateInfo);
8211
8212VKAPI_ATTR void VKAPI_CALL vkDestroyVideoSessionParametersKHR(
8213 VkDevice device,
8214 VkVideoSessionParametersKHR videoSessionParameters,
8215 const VkAllocationCallbacks* pAllocator);
8216
8217VKAPI_ATTR void VKAPI_CALL vkCmdBeginVideoCodingKHR(
8218 VkCommandBuffer commandBuffer,
8219 const VkVideoBeginCodingInfoKHR* pBeginInfo);
8220
8221VKAPI_ATTR void VKAPI_CALL vkCmdEndVideoCodingKHR(
8222 VkCommandBuffer commandBuffer,
8223 const VkVideoEndCodingInfoKHR* pEndCodingInfo);
8224
8225VKAPI_ATTR void VKAPI_CALL vkCmdControlVideoCodingKHR(
8226 VkCommandBuffer commandBuffer,
8227 const VkVideoCodingControlInfoKHR* pCodingControlInfo);
8228#endif
8229
8230
8231// VK_KHR_video_decode_queue is a preprocessor guard. Do not pass it to API calls.
8232#define VK_KHR_video_decode_queue 1
8233#define VK_KHR_VIDEO_DECODE_QUEUE_SPEC_VERSION 8
8234#define VK_KHR_VIDEO_DECODE_QUEUE_EXTENSION_NAME "VK_KHR_video_decode_queue"
8235
8236typedef enum VkVideoDecodeCapabilityFlagBitsKHR {
8237 VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_COINCIDE_BIT_KHR = 0x00000001,
8238 VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_DISTINCT_BIT_KHR = 0x00000002,
8239 VK_VIDEO_DECODE_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8240} VkVideoDecodeCapabilityFlagBitsKHR;
8241typedef VkFlags VkVideoDecodeCapabilityFlagsKHR;
8242
8243typedef enum VkVideoDecodeUsageFlagBitsKHR {
8244 VK_VIDEO_DECODE_USAGE_DEFAULT_KHR = 0,
8245 VK_VIDEO_DECODE_USAGE_TRANSCODING_BIT_KHR = 0x00000001,
8246 VK_VIDEO_DECODE_USAGE_OFFLINE_BIT_KHR = 0x00000002,
8247 VK_VIDEO_DECODE_USAGE_STREAMING_BIT_KHR = 0x00000004,
8248 VK_VIDEO_DECODE_USAGE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8249} VkVideoDecodeUsageFlagBitsKHR;
8250typedef VkFlags VkVideoDecodeUsageFlagsKHR;
8251typedef VkFlags VkVideoDecodeFlagsKHR;
8252typedef struct VkVideoDecodeCapabilitiesKHR {
8253 VkStructureType sType;
8254 void* pNext;
8255 VkVideoDecodeCapabilityFlagsKHR flags;
8256} VkVideoDecodeCapabilitiesKHR;
8257
8258typedef struct VkVideoDecodeUsageInfoKHR {
8259 VkStructureType sType;
8260 const void* pNext;
8261 VkVideoDecodeUsageFlagsKHR videoUsageHints;
8262} VkVideoDecodeUsageInfoKHR;
8263
8264typedef struct VkVideoDecodeInfoKHR {
8265 VkStructureType sType;
8266 const void* pNext;
8267 VkVideoDecodeFlagsKHR flags;
8268 VkBuffer srcBuffer;
8269 VkDeviceSize srcBufferOffset;
8270 VkDeviceSize srcBufferRange;
8271 VkVideoPictureResourceInfoKHR dstPictureResource;
8272 const VkVideoReferenceSlotInfoKHR* pSetupReferenceSlot;
8273 uint32_t referenceSlotCount;
8274 const VkVideoReferenceSlotInfoKHR* pReferenceSlots;
8275} VkVideoDecodeInfoKHR;
8276
8277typedef void (VKAPI_PTR *PFN_vkCmdDecodeVideoKHR)(VkCommandBuffer commandBuffer, const VkVideoDecodeInfoKHR* pDecodeInfo);
8278
8279#ifndef VK_NO_PROTOTYPES
8280VKAPI_ATTR void VKAPI_CALL vkCmdDecodeVideoKHR(
8281 VkCommandBuffer commandBuffer,
8282 const VkVideoDecodeInfoKHR* pDecodeInfo);
8283#endif
8284
8285
8286// VK_KHR_video_encode_h264 is a preprocessor guard. Do not pass it to API calls.
8287#define VK_KHR_video_encode_h264 1
8288#include "vk_video/vulkan_video_codec_h264std.h"
8289#include "vk_video/vulkan_video_codec_h264std_encode.h"
8290#define VK_KHR_VIDEO_ENCODE_H264_SPEC_VERSION 14
8291#define VK_KHR_VIDEO_ENCODE_H264_EXTENSION_NAME "VK_KHR_video_encode_h264"
8292
8293typedef enum VkVideoEncodeH264CapabilityFlagBitsKHR {
8294 VK_VIDEO_ENCODE_H264_CAPABILITY_HRD_COMPLIANCE_BIT_KHR = 0x00000001,
8295 VK_VIDEO_ENCODE_H264_CAPABILITY_PREDICTION_WEIGHT_TABLE_GENERATED_BIT_KHR = 0x00000002,
8296 VK_VIDEO_ENCODE_H264_CAPABILITY_ROW_UNALIGNED_SLICE_BIT_KHR = 0x00000004,
8297 VK_VIDEO_ENCODE_H264_CAPABILITY_DIFFERENT_SLICE_TYPE_BIT_KHR = 0x00000008,
8298 VK_VIDEO_ENCODE_H264_CAPABILITY_B_FRAME_IN_L0_LIST_BIT_KHR = 0x00000010,
8299 VK_VIDEO_ENCODE_H264_CAPABILITY_B_FRAME_IN_L1_LIST_BIT_KHR = 0x00000020,
8300 VK_VIDEO_ENCODE_H264_CAPABILITY_PER_PICTURE_TYPE_MIN_MAX_QP_BIT_KHR = 0x00000040,
8301 VK_VIDEO_ENCODE_H264_CAPABILITY_PER_SLICE_CONSTANT_QP_BIT_KHR = 0x00000080,
8302 VK_VIDEO_ENCODE_H264_CAPABILITY_GENERATE_PREFIX_NALU_BIT_KHR = 0x00000100,
8303 VK_VIDEO_ENCODE_H264_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8304} VkVideoEncodeH264CapabilityFlagBitsKHR;
8305typedef VkFlags VkVideoEncodeH264CapabilityFlagsKHR;
8306
8307typedef enum VkVideoEncodeH264StdFlagBitsKHR {
8308 VK_VIDEO_ENCODE_H264_STD_SEPARATE_COLOR_PLANE_FLAG_SET_BIT_KHR = 0x00000001,
8309 VK_VIDEO_ENCODE_H264_STD_QPPRIME_Y_ZERO_TRANSFORM_BYPASS_FLAG_SET_BIT_KHR = 0x00000002,
8310 VK_VIDEO_ENCODE_H264_STD_SCALING_MATRIX_PRESENT_FLAG_SET_BIT_KHR = 0x00000004,
8311 VK_VIDEO_ENCODE_H264_STD_CHROMA_QP_INDEX_OFFSET_BIT_KHR = 0x00000008,
8312 VK_VIDEO_ENCODE_H264_STD_SECOND_CHROMA_QP_INDEX_OFFSET_BIT_KHR = 0x00000010,
8313 VK_VIDEO_ENCODE_H264_STD_PIC_INIT_QP_MINUS26_BIT_KHR = 0x00000020,
8314 VK_VIDEO_ENCODE_H264_STD_WEIGHTED_PRED_FLAG_SET_BIT_KHR = 0x00000040,
8315 VK_VIDEO_ENCODE_H264_STD_WEIGHTED_BIPRED_IDC_EXPLICIT_BIT_KHR = 0x00000080,
8316 VK_VIDEO_ENCODE_H264_STD_WEIGHTED_BIPRED_IDC_IMPLICIT_BIT_KHR = 0x00000100,
8317 VK_VIDEO_ENCODE_H264_STD_TRANSFORM_8X8_MODE_FLAG_SET_BIT_KHR = 0x00000200,
8318 VK_VIDEO_ENCODE_H264_STD_DIRECT_SPATIAL_MV_PRED_FLAG_UNSET_BIT_KHR = 0x00000400,
8319 VK_VIDEO_ENCODE_H264_STD_ENTROPY_CODING_MODE_FLAG_UNSET_BIT_KHR = 0x00000800,
8320 VK_VIDEO_ENCODE_H264_STD_ENTROPY_CODING_MODE_FLAG_SET_BIT_KHR = 0x00001000,
8321 VK_VIDEO_ENCODE_H264_STD_DIRECT_8X8_INFERENCE_FLAG_UNSET_BIT_KHR = 0x00002000,
8322 VK_VIDEO_ENCODE_H264_STD_CONSTRAINED_INTRA_PRED_FLAG_SET_BIT_KHR = 0x00004000,
8323 VK_VIDEO_ENCODE_H264_STD_DEBLOCKING_FILTER_DISABLED_BIT_KHR = 0x00008000,
8324 VK_VIDEO_ENCODE_H264_STD_DEBLOCKING_FILTER_ENABLED_BIT_KHR = 0x00010000,
8325 VK_VIDEO_ENCODE_H264_STD_DEBLOCKING_FILTER_PARTIAL_BIT_KHR = 0x00020000,
8326 VK_VIDEO_ENCODE_H264_STD_SLICE_QP_DELTA_BIT_KHR = 0x00080000,
8327 VK_VIDEO_ENCODE_H264_STD_DIFFERENT_SLICE_QP_DELTA_BIT_KHR = 0x00100000,
8328 VK_VIDEO_ENCODE_H264_STD_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8329} VkVideoEncodeH264StdFlagBitsKHR;
8330typedef VkFlags VkVideoEncodeH264StdFlagsKHR;
8331
8332typedef enum VkVideoEncodeH264RateControlFlagBitsKHR {
8333 VK_VIDEO_ENCODE_H264_RATE_CONTROL_ATTEMPT_HRD_COMPLIANCE_BIT_KHR = 0x00000001,
8334 VK_VIDEO_ENCODE_H264_RATE_CONTROL_REGULAR_GOP_BIT_KHR = 0x00000002,
8335 VK_VIDEO_ENCODE_H264_RATE_CONTROL_REFERENCE_PATTERN_FLAT_BIT_KHR = 0x00000004,
8336 VK_VIDEO_ENCODE_H264_RATE_CONTROL_REFERENCE_PATTERN_DYADIC_BIT_KHR = 0x00000008,
8337 VK_VIDEO_ENCODE_H264_RATE_CONTROL_TEMPORAL_LAYER_PATTERN_DYADIC_BIT_KHR = 0x00000010,
8338 VK_VIDEO_ENCODE_H264_RATE_CONTROL_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8339} VkVideoEncodeH264RateControlFlagBitsKHR;
8340typedef VkFlags VkVideoEncodeH264RateControlFlagsKHR;
8341typedef struct VkVideoEncodeH264CapabilitiesKHR {
8342 VkStructureType sType;
8343 void* pNext;
8344 VkVideoEncodeH264CapabilityFlagsKHR flags;
8345 StdVideoH264LevelIdc maxLevelIdc;
8346 uint32_t maxSliceCount;
8347 uint32_t maxPPictureL0ReferenceCount;
8348 uint32_t maxBPictureL0ReferenceCount;
8349 uint32_t maxL1ReferenceCount;
8350 uint32_t maxTemporalLayerCount;
8351 VkBool32 expectDyadicTemporalLayerPattern;
8352 int32_t minQp;
8353 int32_t maxQp;
8354 VkBool32 prefersGopRemainingFrames;
8355 VkBool32 requiresGopRemainingFrames;
8356 VkVideoEncodeH264StdFlagsKHR stdSyntaxFlags;
8357} VkVideoEncodeH264CapabilitiesKHR;
8358
8359typedef struct VkVideoEncodeH264QpKHR {
8360 int32_t qpI;
8361 int32_t qpP;
8362 int32_t qpB;
8363} VkVideoEncodeH264QpKHR;
8364
8365typedef struct VkVideoEncodeH264QualityLevelPropertiesKHR {
8366 VkStructureType sType;
8367 void* pNext;
8368 VkVideoEncodeH264RateControlFlagsKHR preferredRateControlFlags;
8369 uint32_t preferredGopFrameCount;
8370 uint32_t preferredIdrPeriod;
8371 uint32_t preferredConsecutiveBFrameCount;
8372 uint32_t preferredTemporalLayerCount;
8373 VkVideoEncodeH264QpKHR preferredConstantQp;
8374 uint32_t preferredMaxL0ReferenceCount;
8375 uint32_t preferredMaxL1ReferenceCount;
8376 VkBool32 preferredStdEntropyCodingModeFlag;
8377} VkVideoEncodeH264QualityLevelPropertiesKHR;
8378
8379typedef struct VkVideoEncodeH264SessionCreateInfoKHR {
8380 VkStructureType sType;
8381 const void* pNext;
8382 VkBool32 useMaxLevelIdc;
8383 StdVideoH264LevelIdc maxLevelIdc;
8384} VkVideoEncodeH264SessionCreateInfoKHR;
8385
8386typedef struct VkVideoEncodeH264SessionParametersAddInfoKHR {
8387 VkStructureType sType;
8388 const void* pNext;
8389 uint32_t stdSPSCount;
8390 const StdVideoH264SequenceParameterSet* pStdSPSs;
8391 uint32_t stdPPSCount;
8392 const StdVideoH264PictureParameterSet* pStdPPSs;
8393} VkVideoEncodeH264SessionParametersAddInfoKHR;
8394
8395typedef struct VkVideoEncodeH264SessionParametersCreateInfoKHR {
8396 VkStructureType sType;
8397 const void* pNext;
8398 uint32_t maxStdSPSCount;
8399 uint32_t maxStdPPSCount;
8400 const VkVideoEncodeH264SessionParametersAddInfoKHR* pParametersAddInfo;
8401} VkVideoEncodeH264SessionParametersCreateInfoKHR;
8402
8403typedef struct VkVideoEncodeH264SessionParametersGetInfoKHR {
8404 VkStructureType sType;
8405 const void* pNext;
8406 VkBool32 writeStdSPS;
8407 VkBool32 writeStdPPS;
8408 uint32_t stdSPSId;
8409 uint32_t stdPPSId;
8410} VkVideoEncodeH264SessionParametersGetInfoKHR;
8411
8412typedef struct VkVideoEncodeH264SessionParametersFeedbackInfoKHR {
8413 VkStructureType sType;
8414 void* pNext;
8415 VkBool32 hasStdSPSOverrides;
8416 VkBool32 hasStdPPSOverrides;
8417} VkVideoEncodeH264SessionParametersFeedbackInfoKHR;
8418
8419typedef struct VkVideoEncodeH264NaluSliceInfoKHR {
8420 VkStructureType sType;
8421 const void* pNext;
8422 int32_t constantQp;
8423 const StdVideoEncodeH264SliceHeader* pStdSliceHeader;
8424} VkVideoEncodeH264NaluSliceInfoKHR;
8425
8426typedef struct VkVideoEncodeH264PictureInfoKHR {
8427 VkStructureType sType;
8428 const void* pNext;
8429 uint32_t naluSliceEntryCount;
8430 const VkVideoEncodeH264NaluSliceInfoKHR* pNaluSliceEntries;
8431 const StdVideoEncodeH264PictureInfo* pStdPictureInfo;
8432 VkBool32 generatePrefixNalu;
8433} VkVideoEncodeH264PictureInfoKHR;
8434
8435typedef struct VkVideoEncodeH264DpbSlotInfoKHR {
8436 VkStructureType sType;
8437 const void* pNext;
8438 const StdVideoEncodeH264ReferenceInfo* pStdReferenceInfo;
8439} VkVideoEncodeH264DpbSlotInfoKHR;
8440
8441typedef struct VkVideoEncodeH264ProfileInfoKHR {
8442 VkStructureType sType;
8443 const void* pNext;
8444 StdVideoH264ProfileIdc stdProfileIdc;
8445} VkVideoEncodeH264ProfileInfoKHR;
8446
8447typedef struct VkVideoEncodeH264RateControlInfoKHR {
8448 VkStructureType sType;
8449 const void* pNext;
8450 VkVideoEncodeH264RateControlFlagsKHR flags;
8451 uint32_t gopFrameCount;
8452 uint32_t idrPeriod;
8453 uint32_t consecutiveBFrameCount;
8454 uint32_t temporalLayerCount;
8455} VkVideoEncodeH264RateControlInfoKHR;
8456
8457typedef struct VkVideoEncodeH264FrameSizeKHR {
8458 uint32_t frameISize;
8459 uint32_t framePSize;
8460 uint32_t frameBSize;
8461} VkVideoEncodeH264FrameSizeKHR;
8462
8463typedef struct VkVideoEncodeH264RateControlLayerInfoKHR {
8464 VkStructureType sType;
8465 const void* pNext;
8466 VkBool32 useMinQp;
8467 VkVideoEncodeH264QpKHR minQp;
8468 VkBool32 useMaxQp;
8469 VkVideoEncodeH264QpKHR maxQp;
8470 VkBool32 useMaxFrameSize;
8471 VkVideoEncodeH264FrameSizeKHR maxFrameSize;
8472} VkVideoEncodeH264RateControlLayerInfoKHR;
8473
8474typedef struct VkVideoEncodeH264GopRemainingFrameInfoKHR {
8475 VkStructureType sType;
8476 const void* pNext;
8477 VkBool32 useGopRemainingFrames;
8478 uint32_t gopRemainingI;
8479 uint32_t gopRemainingP;
8480 uint32_t gopRemainingB;
8481} VkVideoEncodeH264GopRemainingFrameInfoKHR;
8482
8483
8484
8485// VK_KHR_video_encode_h265 is a preprocessor guard. Do not pass it to API calls.
8486#define VK_KHR_video_encode_h265 1
8487#include "vk_video/vulkan_video_codec_h265std.h"
8488#include "vk_video/vulkan_video_codec_h265std_encode.h"
8489#define VK_KHR_VIDEO_ENCODE_H265_SPEC_VERSION 14
8490#define VK_KHR_VIDEO_ENCODE_H265_EXTENSION_NAME "VK_KHR_video_encode_h265"
8491
8492typedef enum VkVideoEncodeH265CapabilityFlagBitsKHR {
8493 VK_VIDEO_ENCODE_H265_CAPABILITY_HRD_COMPLIANCE_BIT_KHR = 0x00000001,
8494 VK_VIDEO_ENCODE_H265_CAPABILITY_PREDICTION_WEIGHT_TABLE_GENERATED_BIT_KHR = 0x00000002,
8495 VK_VIDEO_ENCODE_H265_CAPABILITY_ROW_UNALIGNED_SLICE_SEGMENT_BIT_KHR = 0x00000004,
8496 VK_VIDEO_ENCODE_H265_CAPABILITY_DIFFERENT_SLICE_SEGMENT_TYPE_BIT_KHR = 0x00000008,
8497 VK_VIDEO_ENCODE_H265_CAPABILITY_B_FRAME_IN_L0_LIST_BIT_KHR = 0x00000010,
8498 VK_VIDEO_ENCODE_H265_CAPABILITY_B_FRAME_IN_L1_LIST_BIT_KHR = 0x00000020,
8499 VK_VIDEO_ENCODE_H265_CAPABILITY_PER_PICTURE_TYPE_MIN_MAX_QP_BIT_KHR = 0x00000040,
8500 VK_VIDEO_ENCODE_H265_CAPABILITY_PER_SLICE_SEGMENT_CONSTANT_QP_BIT_KHR = 0x00000080,
8501 VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_TILES_PER_SLICE_SEGMENT_BIT_KHR = 0x00000100,
8502 VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_SLICE_SEGMENTS_PER_TILE_BIT_KHR = 0x00000200,
8503 VK_VIDEO_ENCODE_H265_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8504} VkVideoEncodeH265CapabilityFlagBitsKHR;
8505typedef VkFlags VkVideoEncodeH265CapabilityFlagsKHR;
8506
8507typedef enum VkVideoEncodeH265StdFlagBitsKHR {
8508 VK_VIDEO_ENCODE_H265_STD_SEPARATE_COLOR_PLANE_FLAG_SET_BIT_KHR = 0x00000001,
8509 VK_VIDEO_ENCODE_H265_STD_SAMPLE_ADAPTIVE_OFFSET_ENABLED_FLAG_SET_BIT_KHR = 0x00000002,
8510 VK_VIDEO_ENCODE_H265_STD_SCALING_LIST_DATA_PRESENT_FLAG_SET_BIT_KHR = 0x00000004,
8511 VK_VIDEO_ENCODE_H265_STD_PCM_ENABLED_FLAG_SET_BIT_KHR = 0x00000008,
8512 VK_VIDEO_ENCODE_H265_STD_SPS_TEMPORAL_MVP_ENABLED_FLAG_SET_BIT_KHR = 0x00000010,
8513 VK_VIDEO_ENCODE_H265_STD_INIT_QP_MINUS26_BIT_KHR = 0x00000020,
8514 VK_VIDEO_ENCODE_H265_STD_WEIGHTED_PRED_FLAG_SET_BIT_KHR = 0x00000040,
8515 VK_VIDEO_ENCODE_H265_STD_WEIGHTED_BIPRED_FLAG_SET_BIT_KHR = 0x00000080,
8516 VK_VIDEO_ENCODE_H265_STD_LOG2_PARALLEL_MERGE_LEVEL_MINUS2_BIT_KHR = 0x00000100,
8517 VK_VIDEO_ENCODE_H265_STD_SIGN_DATA_HIDING_ENABLED_FLAG_SET_BIT_KHR = 0x00000200,
8518 VK_VIDEO_ENCODE_H265_STD_TRANSFORM_SKIP_ENABLED_FLAG_SET_BIT_KHR = 0x00000400,
8519 VK_VIDEO_ENCODE_H265_STD_TRANSFORM_SKIP_ENABLED_FLAG_UNSET_BIT_KHR = 0x00000800,
8520 VK_VIDEO_ENCODE_H265_STD_PPS_SLICE_CHROMA_QP_OFFSETS_PRESENT_FLAG_SET_BIT_KHR = 0x00001000,
8521 VK_VIDEO_ENCODE_H265_STD_TRANSQUANT_BYPASS_ENABLED_FLAG_SET_BIT_KHR = 0x00002000,
8522 VK_VIDEO_ENCODE_H265_STD_CONSTRAINED_INTRA_PRED_FLAG_SET_BIT_KHR = 0x00004000,
8523 VK_VIDEO_ENCODE_H265_STD_ENTROPY_CODING_SYNC_ENABLED_FLAG_SET_BIT_KHR = 0x00008000,
8524 VK_VIDEO_ENCODE_H265_STD_DEBLOCKING_FILTER_OVERRIDE_ENABLED_FLAG_SET_BIT_KHR = 0x00010000,
8525 VK_VIDEO_ENCODE_H265_STD_DEPENDENT_SLICE_SEGMENTS_ENABLED_FLAG_SET_BIT_KHR = 0x00020000,
8526 VK_VIDEO_ENCODE_H265_STD_DEPENDENT_SLICE_SEGMENT_FLAG_SET_BIT_KHR = 0x00040000,
8527 VK_VIDEO_ENCODE_H265_STD_SLICE_QP_DELTA_BIT_KHR = 0x00080000,
8528 VK_VIDEO_ENCODE_H265_STD_DIFFERENT_SLICE_QP_DELTA_BIT_KHR = 0x00100000,
8529 VK_VIDEO_ENCODE_H265_STD_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8530} VkVideoEncodeH265StdFlagBitsKHR;
8531typedef VkFlags VkVideoEncodeH265StdFlagsKHR;
8532
8533typedef enum VkVideoEncodeH265CtbSizeFlagBitsKHR {
8534 VK_VIDEO_ENCODE_H265_CTB_SIZE_16_BIT_KHR = 0x00000001,
8535 VK_VIDEO_ENCODE_H265_CTB_SIZE_32_BIT_KHR = 0x00000002,
8536 VK_VIDEO_ENCODE_H265_CTB_SIZE_64_BIT_KHR = 0x00000004,
8537 VK_VIDEO_ENCODE_H265_CTB_SIZE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8538} VkVideoEncodeH265CtbSizeFlagBitsKHR;
8539typedef VkFlags VkVideoEncodeH265CtbSizeFlagsKHR;
8540
8541typedef enum VkVideoEncodeH265TransformBlockSizeFlagBitsKHR {
8542 VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_4_BIT_KHR = 0x00000001,
8543 VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_8_BIT_KHR = 0x00000002,
8544 VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_16_BIT_KHR = 0x00000004,
8545 VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_32_BIT_KHR = 0x00000008,
8546 VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8547} VkVideoEncodeH265TransformBlockSizeFlagBitsKHR;
8548typedef VkFlags VkVideoEncodeH265TransformBlockSizeFlagsKHR;
8549
8550typedef enum VkVideoEncodeH265RateControlFlagBitsKHR {
8551 VK_VIDEO_ENCODE_H265_RATE_CONTROL_ATTEMPT_HRD_COMPLIANCE_BIT_KHR = 0x00000001,
8552 VK_VIDEO_ENCODE_H265_RATE_CONTROL_REGULAR_GOP_BIT_KHR = 0x00000002,
8553 VK_VIDEO_ENCODE_H265_RATE_CONTROL_REFERENCE_PATTERN_FLAT_BIT_KHR = 0x00000004,
8554 VK_VIDEO_ENCODE_H265_RATE_CONTROL_REFERENCE_PATTERN_DYADIC_BIT_KHR = 0x00000008,
8555 VK_VIDEO_ENCODE_H265_RATE_CONTROL_TEMPORAL_SUB_LAYER_PATTERN_DYADIC_BIT_KHR = 0x00000010,
8556 VK_VIDEO_ENCODE_H265_RATE_CONTROL_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8557} VkVideoEncodeH265RateControlFlagBitsKHR;
8558typedef VkFlags VkVideoEncodeH265RateControlFlagsKHR;
8559typedef struct VkVideoEncodeH265CapabilitiesKHR {
8560 VkStructureType sType;
8561 void* pNext;
8562 VkVideoEncodeH265CapabilityFlagsKHR flags;
8563 StdVideoH265LevelIdc maxLevelIdc;
8564 uint32_t maxSliceSegmentCount;
8565 VkExtent2D maxTiles;
8566 VkVideoEncodeH265CtbSizeFlagsKHR ctbSizes;
8567 VkVideoEncodeH265TransformBlockSizeFlagsKHR transformBlockSizes;
8568 uint32_t maxPPictureL0ReferenceCount;
8569 uint32_t maxBPictureL0ReferenceCount;
8570 uint32_t maxL1ReferenceCount;
8571 uint32_t maxSubLayerCount;
8572 VkBool32 expectDyadicTemporalSubLayerPattern;
8573 int32_t minQp;
8574 int32_t maxQp;
8575 VkBool32 prefersGopRemainingFrames;
8576 VkBool32 requiresGopRemainingFrames;
8577 VkVideoEncodeH265StdFlagsKHR stdSyntaxFlags;
8578} VkVideoEncodeH265CapabilitiesKHR;
8579
8580typedef struct VkVideoEncodeH265SessionCreateInfoKHR {
8581 VkStructureType sType;
8582 const void* pNext;
8583 VkBool32 useMaxLevelIdc;
8584 StdVideoH265LevelIdc maxLevelIdc;
8585} VkVideoEncodeH265SessionCreateInfoKHR;
8586
8587typedef struct VkVideoEncodeH265QpKHR {
8588 int32_t qpI;
8589 int32_t qpP;
8590 int32_t qpB;
8591} VkVideoEncodeH265QpKHR;
8592
8593typedef struct VkVideoEncodeH265QualityLevelPropertiesKHR {
8594 VkStructureType sType;
8595 void* pNext;
8596 VkVideoEncodeH265RateControlFlagsKHR preferredRateControlFlags;
8597 uint32_t preferredGopFrameCount;
8598 uint32_t preferredIdrPeriod;
8599 uint32_t preferredConsecutiveBFrameCount;
8600 uint32_t preferredSubLayerCount;
8601 VkVideoEncodeH265QpKHR preferredConstantQp;
8602 uint32_t preferredMaxL0ReferenceCount;
8603 uint32_t preferredMaxL1ReferenceCount;
8604} VkVideoEncodeH265QualityLevelPropertiesKHR;
8605
8606typedef struct VkVideoEncodeH265SessionParametersAddInfoKHR {
8607 VkStructureType sType;
8608 const void* pNext;
8609 uint32_t stdVPSCount;
8610 const StdVideoH265VideoParameterSet* pStdVPSs;
8611 uint32_t stdSPSCount;
8612 const StdVideoH265SequenceParameterSet* pStdSPSs;
8613 uint32_t stdPPSCount;
8614 const StdVideoH265PictureParameterSet* pStdPPSs;
8615} VkVideoEncodeH265SessionParametersAddInfoKHR;
8616
8617typedef struct VkVideoEncodeH265SessionParametersCreateInfoKHR {
8618 VkStructureType sType;
8619 const void* pNext;
8620 uint32_t maxStdVPSCount;
8621 uint32_t maxStdSPSCount;
8622 uint32_t maxStdPPSCount;
8623 const VkVideoEncodeH265SessionParametersAddInfoKHR* pParametersAddInfo;
8624} VkVideoEncodeH265SessionParametersCreateInfoKHR;
8625
8626typedef struct VkVideoEncodeH265SessionParametersGetInfoKHR {
8627 VkStructureType sType;
8628 const void* pNext;
8629 VkBool32 writeStdVPS;
8630 VkBool32 writeStdSPS;
8631 VkBool32 writeStdPPS;
8632 uint32_t stdVPSId;
8633 uint32_t stdSPSId;
8634 uint32_t stdPPSId;
8635} VkVideoEncodeH265SessionParametersGetInfoKHR;
8636
8637typedef struct VkVideoEncodeH265SessionParametersFeedbackInfoKHR {
8638 VkStructureType sType;
8639 void* pNext;
8640 VkBool32 hasStdVPSOverrides;
8641 VkBool32 hasStdSPSOverrides;
8642 VkBool32 hasStdPPSOverrides;
8643} VkVideoEncodeH265SessionParametersFeedbackInfoKHR;
8644
8645typedef struct VkVideoEncodeH265NaluSliceSegmentInfoKHR {
8646 VkStructureType sType;
8647 const void* pNext;
8648 int32_t constantQp;
8649 const StdVideoEncodeH265SliceSegmentHeader* pStdSliceSegmentHeader;
8650} VkVideoEncodeH265NaluSliceSegmentInfoKHR;
8651
8652typedef struct VkVideoEncodeH265PictureInfoKHR {
8653 VkStructureType sType;
8654 const void* pNext;
8655 uint32_t naluSliceSegmentEntryCount;
8656 const VkVideoEncodeH265NaluSliceSegmentInfoKHR* pNaluSliceSegmentEntries;
8657 const StdVideoEncodeH265PictureInfo* pStdPictureInfo;
8658} VkVideoEncodeH265PictureInfoKHR;
8659
8660typedef struct VkVideoEncodeH265DpbSlotInfoKHR {
8661 VkStructureType sType;
8662 const void* pNext;
8663 const StdVideoEncodeH265ReferenceInfo* pStdReferenceInfo;
8664} VkVideoEncodeH265DpbSlotInfoKHR;
8665
8666typedef struct VkVideoEncodeH265ProfileInfoKHR {
8667 VkStructureType sType;
8668 const void* pNext;
8669 StdVideoH265ProfileIdc stdProfileIdc;
8670} VkVideoEncodeH265ProfileInfoKHR;
8671
8672typedef struct VkVideoEncodeH265RateControlInfoKHR {
8673 VkStructureType sType;
8674 const void* pNext;
8675 VkVideoEncodeH265RateControlFlagsKHR flags;
8676 uint32_t gopFrameCount;
8677 uint32_t idrPeriod;
8678 uint32_t consecutiveBFrameCount;
8679 uint32_t subLayerCount;
8680} VkVideoEncodeH265RateControlInfoKHR;
8681
8682typedef struct VkVideoEncodeH265FrameSizeKHR {
8683 uint32_t frameISize;
8684 uint32_t framePSize;
8685 uint32_t frameBSize;
8686} VkVideoEncodeH265FrameSizeKHR;
8687
8688typedef struct VkVideoEncodeH265RateControlLayerInfoKHR {
8689 VkStructureType sType;
8690 const void* pNext;
8691 VkBool32 useMinQp;
8692 VkVideoEncodeH265QpKHR minQp;
8693 VkBool32 useMaxQp;
8694 VkVideoEncodeH265QpKHR maxQp;
8695 VkBool32 useMaxFrameSize;
8696 VkVideoEncodeH265FrameSizeKHR maxFrameSize;
8697} VkVideoEncodeH265RateControlLayerInfoKHR;
8698
8699typedef struct VkVideoEncodeH265GopRemainingFrameInfoKHR {
8700 VkStructureType sType;
8701 const void* pNext;
8702 VkBool32 useGopRemainingFrames;
8703 uint32_t gopRemainingI;
8704 uint32_t gopRemainingP;
8705 uint32_t gopRemainingB;
8706} VkVideoEncodeH265GopRemainingFrameInfoKHR;
8707
8708
8709
8710// VK_KHR_video_decode_h264 is a preprocessor guard. Do not pass it to API calls.
8711#define VK_KHR_video_decode_h264 1
8712#include "vk_video/vulkan_video_codec_h264std_decode.h"
8713#define VK_KHR_VIDEO_DECODE_H264_SPEC_VERSION 9
8714#define VK_KHR_VIDEO_DECODE_H264_EXTENSION_NAME "VK_KHR_video_decode_h264"
8715
8716typedef enum VkVideoDecodeH264PictureLayoutFlagBitsKHR {
8717 VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_PROGRESSIVE_KHR = 0,
8718 VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_INTERLEAVED_LINES_BIT_KHR = 0x00000001,
8719 VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_SEPARATE_PLANES_BIT_KHR = 0x00000002,
8720 VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8721} VkVideoDecodeH264PictureLayoutFlagBitsKHR;
8722typedef VkFlags VkVideoDecodeH264PictureLayoutFlagsKHR;
8723typedef struct VkVideoDecodeH264ProfileInfoKHR {
8724 VkStructureType sType;
8725 const void* pNext;
8726 StdVideoH264ProfileIdc stdProfileIdc;
8727 VkVideoDecodeH264PictureLayoutFlagBitsKHR pictureLayout;
8728} VkVideoDecodeH264ProfileInfoKHR;
8729
8730typedef struct VkVideoDecodeH264CapabilitiesKHR {
8731 VkStructureType sType;
8732 void* pNext;
8733 StdVideoH264LevelIdc maxLevelIdc;
8734 VkOffset2D fieldOffsetGranularity;
8735} VkVideoDecodeH264CapabilitiesKHR;
8736
8737typedef struct VkVideoDecodeH264SessionParametersAddInfoKHR {
8738 VkStructureType sType;
8739 const void* pNext;
8740 uint32_t stdSPSCount;
8741 const StdVideoH264SequenceParameterSet* pStdSPSs;
8742 uint32_t stdPPSCount;
8743 const StdVideoH264PictureParameterSet* pStdPPSs;
8744} VkVideoDecodeH264SessionParametersAddInfoKHR;
8745
8746typedef struct VkVideoDecodeH264SessionParametersCreateInfoKHR {
8747 VkStructureType sType;
8748 const void* pNext;
8749 uint32_t maxStdSPSCount;
8750 uint32_t maxStdPPSCount;
8751 const VkVideoDecodeH264SessionParametersAddInfoKHR* pParametersAddInfo;
8752} VkVideoDecodeH264SessionParametersCreateInfoKHR;
8753
8754typedef struct VkVideoDecodeH264PictureInfoKHR {
8755 VkStructureType sType;
8756 const void* pNext;
8757 const StdVideoDecodeH264PictureInfo* pStdPictureInfo;
8758 uint32_t sliceCount;
8759 const uint32_t* pSliceOffsets;
8760} VkVideoDecodeH264PictureInfoKHR;
8761
8762typedef struct VkVideoDecodeH264DpbSlotInfoKHR {
8763 VkStructureType sType;
8764 const void* pNext;
8765 const StdVideoDecodeH264ReferenceInfo* pStdReferenceInfo;
8766} VkVideoDecodeH264DpbSlotInfoKHR;
8767
8768
8769
8770// VK_KHR_dynamic_rendering is a preprocessor guard. Do not pass it to API calls.
8771#define VK_KHR_dynamic_rendering 1
8772#define VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION 1
8773#define VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME "VK_KHR_dynamic_rendering"
8774typedef VkRenderingFlags VkRenderingFlagsKHR;
8775
8776typedef VkRenderingFlagBits VkRenderingFlagBitsKHR;
8777
8778typedef VkRenderingInfo VkRenderingInfoKHR;
8779
8780typedef VkRenderingAttachmentInfo VkRenderingAttachmentInfoKHR;
8781
8782typedef VkPipelineRenderingCreateInfo VkPipelineRenderingCreateInfoKHR;
8783
8784typedef VkPhysicalDeviceDynamicRenderingFeatures VkPhysicalDeviceDynamicRenderingFeaturesKHR;
8785
8786typedef VkCommandBufferInheritanceRenderingInfo VkCommandBufferInheritanceRenderingInfoKHR;
8787
8788typedef struct VkRenderingFragmentShadingRateAttachmentInfoKHR {
8789 VkStructureType sType;
8790 const void* pNext;
8791 VkImageView imageView;
8792 VkImageLayout imageLayout;
8793 VkExtent2D shadingRateAttachmentTexelSize;
8794} VkRenderingFragmentShadingRateAttachmentInfoKHR;
8795
8796typedef struct VkRenderingFragmentDensityMapAttachmentInfoEXT {
8797 VkStructureType sType;
8798 const void* pNext;
8799 VkImageView imageView;
8800 VkImageLayout imageLayout;
8801} VkRenderingFragmentDensityMapAttachmentInfoEXT;
8802
8803typedef struct VkAttachmentSampleCountInfoAMD {
8804 VkStructureType sType;
8805 const void* pNext;
8806 uint32_t colorAttachmentCount;
8807 const VkSampleCountFlagBits* pColorAttachmentSamples;
8808 VkSampleCountFlagBits depthStencilAttachmentSamples;
8809} VkAttachmentSampleCountInfoAMD;
8810
8811typedef VkAttachmentSampleCountInfoAMD VkAttachmentSampleCountInfoNV;
8812
8813typedef struct VkMultiviewPerViewAttributesInfoNVX {
8814 VkStructureType sType;
8815 const void* pNext;
8816 VkBool32 perViewAttributes;
8817 VkBool32 perViewAttributesPositionXOnly;
8818} VkMultiviewPerViewAttributesInfoNVX;
8819
8820typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderingKHR)(VkCommandBuffer commandBuffer, const VkRenderingInfo* pRenderingInfo);
8821typedef void (VKAPI_PTR *PFN_vkCmdEndRenderingKHR)(VkCommandBuffer commandBuffer);
8822
8823#ifndef VK_NO_PROTOTYPES
8824VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderingKHR(
8825 VkCommandBuffer commandBuffer,
8826 const VkRenderingInfo* pRenderingInfo);
8827
8828VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderingKHR(
8829 VkCommandBuffer commandBuffer);
8830#endif
8831
8832
8833// VK_KHR_multiview is a preprocessor guard. Do not pass it to API calls.
8834#define VK_KHR_multiview 1
8835#define VK_KHR_MULTIVIEW_SPEC_VERSION 1
8836#define VK_KHR_MULTIVIEW_EXTENSION_NAME "VK_KHR_multiview"
8837typedef VkRenderPassMultiviewCreateInfo VkRenderPassMultiviewCreateInfoKHR;
8838
8839typedef VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeaturesKHR;
8840
8841typedef VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewPropertiesKHR;
8842
8843
8844
8845// VK_KHR_get_physical_device_properties2 is a preprocessor guard. Do not pass it to API calls.
8846#define VK_KHR_get_physical_device_properties2 1
8847#define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION 2
8848#define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_physical_device_properties2"
8849typedef VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2KHR;
8850
8851typedef VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2KHR;
8852
8853typedef VkFormatProperties2 VkFormatProperties2KHR;
8854
8855typedef VkImageFormatProperties2 VkImageFormatProperties2KHR;
8856
8857typedef VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2KHR;
8858
8859typedef VkQueueFamilyProperties2 VkQueueFamilyProperties2KHR;
8860
8861typedef VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2KHR;
8862
8863typedef VkSparseImageFormatProperties2 VkSparseImageFormatProperties2KHR;
8864
8865typedef VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2KHR;
8866
8867typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
8868typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
8869typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2KHR)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
8870typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
8871typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
8872typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
8873typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
8874
8875#ifndef VK_NO_PROTOTYPES
8876VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2KHR(
8877 VkPhysicalDevice physicalDevice,
8878 VkPhysicalDeviceFeatures2* pFeatures);
8879
8880VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2KHR(
8881 VkPhysicalDevice physicalDevice,
8882 VkPhysicalDeviceProperties2* pProperties);
8883
8884VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2KHR(
8885 VkPhysicalDevice physicalDevice,
8886 VkFormat format,
8887 VkFormatProperties2* pFormatProperties);
8888
8889VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2KHR(
8890 VkPhysicalDevice physicalDevice,
8891 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
8892 VkImageFormatProperties2* pImageFormatProperties);
8893
8894VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2KHR(
8895 VkPhysicalDevice physicalDevice,
8896 uint32_t* pQueueFamilyPropertyCount,
8897 VkQueueFamilyProperties2* pQueueFamilyProperties);
8898
8899VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2KHR(
8900 VkPhysicalDevice physicalDevice,
8901 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
8902
8903VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
8904 VkPhysicalDevice physicalDevice,
8905 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
8906 uint32_t* pPropertyCount,
8907 VkSparseImageFormatProperties2* pProperties);
8908#endif
8909
8910
8911// VK_KHR_device_group is a preprocessor guard. Do not pass it to API calls.
8912#define VK_KHR_device_group 1
8913#define VK_KHR_DEVICE_GROUP_SPEC_VERSION 4
8914#define VK_KHR_DEVICE_GROUP_EXTENSION_NAME "VK_KHR_device_group"
8915typedef VkPeerMemoryFeatureFlags VkPeerMemoryFeatureFlagsKHR;
8916
8917typedef VkPeerMemoryFeatureFlagBits VkPeerMemoryFeatureFlagBitsKHR;
8918
8919typedef VkMemoryAllocateFlags VkMemoryAllocateFlagsKHR;
8920
8921typedef VkMemoryAllocateFlagBits VkMemoryAllocateFlagBitsKHR;
8922
8923typedef VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfoKHR;
8924
8925typedef VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfoKHR;
8926
8927typedef VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfoKHR;
8928
8929typedef VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfoKHR;
8930
8931typedef VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfoKHR;
8932
8933typedef VkBindBufferMemoryDeviceGroupInfo VkBindBufferMemoryDeviceGroupInfoKHR;
8934
8935typedef VkBindImageMemoryDeviceGroupInfo VkBindImageMemoryDeviceGroupInfoKHR;
8936
8937typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR)(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
8938typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMaskKHR)(VkCommandBuffer commandBuffer, uint32_t deviceMask);
8939typedef 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);
8940
8941#ifndef VK_NO_PROTOTYPES
8942VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeaturesKHR(
8943 VkDevice device,
8944 uint32_t heapIndex,
8945 uint32_t localDeviceIndex,
8946 uint32_t remoteDeviceIndex,
8947 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
8948
8949VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMaskKHR(
8950 VkCommandBuffer commandBuffer,
8951 uint32_t deviceMask);
8952
8953VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBaseKHR(
8954 VkCommandBuffer commandBuffer,
8955 uint32_t baseGroupX,
8956 uint32_t baseGroupY,
8957 uint32_t baseGroupZ,
8958 uint32_t groupCountX,
8959 uint32_t groupCountY,
8960 uint32_t groupCountZ);
8961#endif
8962
8963
8964// VK_KHR_shader_draw_parameters is a preprocessor guard. Do not pass it to API calls.
8965#define VK_KHR_shader_draw_parameters 1
8966#define VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION 1
8967#define VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME "VK_KHR_shader_draw_parameters"
8968
8969
8970// VK_KHR_maintenance1 is a preprocessor guard. Do not pass it to API calls.
8971#define VK_KHR_maintenance1 1
8972#define VK_KHR_MAINTENANCE_1_SPEC_VERSION 2
8973#define VK_KHR_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_maintenance1"
8974#define VK_KHR_MAINTENANCE1_SPEC_VERSION VK_KHR_MAINTENANCE_1_SPEC_VERSION
8975#define VK_KHR_MAINTENANCE1_EXTENSION_NAME VK_KHR_MAINTENANCE_1_EXTENSION_NAME
8976typedef VkCommandPoolTrimFlags VkCommandPoolTrimFlagsKHR;
8977
8978typedef void (VKAPI_PTR *PFN_vkTrimCommandPoolKHR)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
8979
8980#ifndef VK_NO_PROTOTYPES
8981VKAPI_ATTR void VKAPI_CALL vkTrimCommandPoolKHR(
8982 VkDevice device,
8983 VkCommandPool commandPool,
8984 VkCommandPoolTrimFlags flags);
8985#endif
8986
8987
8988// VK_KHR_device_group_creation is a preprocessor guard. Do not pass it to API calls.
8989#define VK_KHR_device_group_creation 1
8990#define VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION 1
8991#define VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME "VK_KHR_device_group_creation"
8992#define VK_MAX_DEVICE_GROUP_SIZE_KHR VK_MAX_DEVICE_GROUP_SIZE
8993typedef VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupPropertiesKHR;
8994
8995typedef VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfoKHR;
8996
8997typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroupsKHR)(VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
8998
8999#ifndef VK_NO_PROTOTYPES
9000VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroupsKHR(
9001 VkInstance instance,
9002 uint32_t* pPhysicalDeviceGroupCount,
9003 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
9004#endif
9005
9006
9007// VK_KHR_external_memory_capabilities is a preprocessor guard. Do not pass it to API calls.
9008#define VK_KHR_external_memory_capabilities 1
9009#define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
9010#define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_memory_capabilities"
9011#define VK_LUID_SIZE_KHR VK_LUID_SIZE
9012typedef VkExternalMemoryHandleTypeFlags VkExternalMemoryHandleTypeFlagsKHR;
9013
9014typedef VkExternalMemoryHandleTypeFlagBits VkExternalMemoryHandleTypeFlagBitsKHR;
9015
9016typedef VkExternalMemoryFeatureFlags VkExternalMemoryFeatureFlagsKHR;
9017
9018typedef VkExternalMemoryFeatureFlagBits VkExternalMemoryFeatureFlagBitsKHR;
9019
9020typedef VkExternalMemoryProperties VkExternalMemoryPropertiesKHR;
9021
9022typedef VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfoKHR;
9023
9024typedef VkExternalImageFormatProperties VkExternalImageFormatPropertiesKHR;
9025
9026typedef VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfoKHR;
9027
9028typedef VkExternalBufferProperties VkExternalBufferPropertiesKHR;
9029
9030typedef VkPhysicalDeviceIDProperties VkPhysicalDeviceIDPropertiesKHR;
9031
9032typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
9033
9034#ifndef VK_NO_PROTOTYPES
9035VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferPropertiesKHR(
9036 VkPhysicalDevice physicalDevice,
9037 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
9038 VkExternalBufferProperties* pExternalBufferProperties);
9039#endif
9040
9041
9042// VK_KHR_external_memory is a preprocessor guard. Do not pass it to API calls.
9043#define VK_KHR_external_memory 1
9044#define VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION 1
9045#define VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME "VK_KHR_external_memory"
9046#define VK_QUEUE_FAMILY_EXTERNAL_KHR VK_QUEUE_FAMILY_EXTERNAL
9047typedef VkExternalMemoryImageCreateInfo VkExternalMemoryImageCreateInfoKHR;
9048
9049typedef VkExternalMemoryBufferCreateInfo VkExternalMemoryBufferCreateInfoKHR;
9050
9051typedef VkExportMemoryAllocateInfo VkExportMemoryAllocateInfoKHR;
9052
9053
9054
9055// VK_KHR_external_memory_fd is a preprocessor guard. Do not pass it to API calls.
9056#define VK_KHR_external_memory_fd 1
9057#define VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION 1
9058#define VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME "VK_KHR_external_memory_fd"
9059typedef struct VkImportMemoryFdInfoKHR {
9060 VkStructureType sType;
9061 const void* pNext;
9062 VkExternalMemoryHandleTypeFlagBits handleType;
9063 int fd;
9064} VkImportMemoryFdInfoKHR;
9065
9066typedef struct VkMemoryFdPropertiesKHR {
9067 VkStructureType sType;
9068 void* pNext;
9069 uint32_t memoryTypeBits;
9070} VkMemoryFdPropertiesKHR;
9071
9072typedef struct VkMemoryGetFdInfoKHR {
9073 VkStructureType sType;
9074 const void* pNext;
9075 VkDeviceMemory memory;
9076 VkExternalMemoryHandleTypeFlagBits handleType;
9077} VkMemoryGetFdInfoKHR;
9078
9079typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdKHR)(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd);
9080typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdPropertiesKHR)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties);
9081
9082#ifndef VK_NO_PROTOTYPES
9083VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdKHR(
9084 VkDevice device,
9085 const VkMemoryGetFdInfoKHR* pGetFdInfo,
9086 int* pFd);
9087
9088VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdPropertiesKHR(
9089 VkDevice device,
9090 VkExternalMemoryHandleTypeFlagBits handleType,
9091 int fd,
9092 VkMemoryFdPropertiesKHR* pMemoryFdProperties);
9093#endif
9094
9095
9096// VK_KHR_external_semaphore_capabilities is a preprocessor guard. Do not pass it to API calls.
9097#define VK_KHR_external_semaphore_capabilities 1
9098#define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION 1
9099#define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_semaphore_capabilities"
9100typedef VkExternalSemaphoreHandleTypeFlags VkExternalSemaphoreHandleTypeFlagsKHR;
9101
9102typedef VkExternalSemaphoreHandleTypeFlagBits VkExternalSemaphoreHandleTypeFlagBitsKHR;
9103
9104typedef VkExternalSemaphoreFeatureFlags VkExternalSemaphoreFeatureFlagsKHR;
9105
9106typedef VkExternalSemaphoreFeatureFlagBits VkExternalSemaphoreFeatureFlagBitsKHR;
9107
9108typedef VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfoKHR;
9109
9110typedef VkExternalSemaphoreProperties VkExternalSemaphorePropertiesKHR;
9111
9112typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
9113
9114#ifndef VK_NO_PROTOTYPES
9115VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(
9116 VkPhysicalDevice physicalDevice,
9117 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
9118 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
9119#endif
9120
9121
9122// VK_KHR_external_semaphore is a preprocessor guard. Do not pass it to API calls.
9123#define VK_KHR_external_semaphore 1
9124#define VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION 1
9125#define VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME "VK_KHR_external_semaphore"
9126typedef VkSemaphoreImportFlags VkSemaphoreImportFlagsKHR;
9127
9128typedef VkSemaphoreImportFlagBits VkSemaphoreImportFlagBitsKHR;
9129
9130typedef VkExportSemaphoreCreateInfo VkExportSemaphoreCreateInfoKHR;
9131
9132
9133
9134// VK_KHR_external_semaphore_fd is a preprocessor guard. Do not pass it to API calls.
9135#define VK_KHR_external_semaphore_fd 1
9136#define VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION 1
9137#define VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME "VK_KHR_external_semaphore_fd"
9138typedef struct VkImportSemaphoreFdInfoKHR {
9139 VkStructureType sType;
9140 const void* pNext;
9141 VkSemaphore semaphore;
9142 VkSemaphoreImportFlags flags;
9143 VkExternalSemaphoreHandleTypeFlagBits handleType;
9144 int fd;
9145} VkImportSemaphoreFdInfoKHR;
9146
9147typedef struct VkSemaphoreGetFdInfoKHR {
9148 VkStructureType sType;
9149 const void* pNext;
9150 VkSemaphore semaphore;
9151 VkExternalSemaphoreHandleTypeFlagBits handleType;
9152} VkSemaphoreGetFdInfoKHR;
9153
9154typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreFdKHR)(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
9155typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreFdKHR)(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd);
9156
9157#ifndef VK_NO_PROTOTYPES
9158VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreFdKHR(
9159 VkDevice device,
9160 const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
9161
9162VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreFdKHR(
9163 VkDevice device,
9164 const VkSemaphoreGetFdInfoKHR* pGetFdInfo,
9165 int* pFd);
9166#endif
9167
9168
9169// VK_KHR_push_descriptor is a preprocessor guard. Do not pass it to API calls.
9170#define VK_KHR_push_descriptor 1
9171#define VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION 2
9172#define VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME "VK_KHR_push_descriptor"
9173typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
9174 VkStructureType sType;
9175 void* pNext;
9176 uint32_t maxPushDescriptors;
9177} VkPhysicalDevicePushDescriptorPropertiesKHR;
9178
9179typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetKHR)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites);
9180typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplateKHR)(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void* pData);
9181
9182#ifndef VK_NO_PROTOTYPES
9183VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetKHR(
9184 VkCommandBuffer commandBuffer,
9185 VkPipelineBindPoint pipelineBindPoint,
9186 VkPipelineLayout layout,
9187 uint32_t set,
9188 uint32_t descriptorWriteCount,
9189 const VkWriteDescriptorSet* pDescriptorWrites);
9190
9191VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplateKHR(
9192 VkCommandBuffer commandBuffer,
9193 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
9194 VkPipelineLayout layout,
9195 uint32_t set,
9196 const void* pData);
9197#endif
9198
9199
9200// VK_KHR_shader_float16_int8 is a preprocessor guard. Do not pass it to API calls.
9201#define VK_KHR_shader_float16_int8 1
9202#define VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION 1
9203#define VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME "VK_KHR_shader_float16_int8"
9204typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceShaderFloat16Int8FeaturesKHR;
9205
9206typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceFloat16Int8FeaturesKHR;
9207
9208
9209
9210// VK_KHR_16bit_storage is a preprocessor guard. Do not pass it to API calls.
9211#define VK_KHR_16bit_storage 1
9212#define VK_KHR_16BIT_STORAGE_SPEC_VERSION 1
9213#define VK_KHR_16BIT_STORAGE_EXTENSION_NAME "VK_KHR_16bit_storage"
9214typedef VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeaturesKHR;
9215
9216
9217
9218// VK_KHR_incremental_present is a preprocessor guard. Do not pass it to API calls.
9219#define VK_KHR_incremental_present 1
9220#define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 2
9221#define VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME "VK_KHR_incremental_present"
9222typedef struct VkRectLayerKHR {
9223 VkOffset2D offset;
9224 VkExtent2D extent;
9225 uint32_t layer;
9226} VkRectLayerKHR;
9227
9228typedef struct VkPresentRegionKHR {
9229 uint32_t rectangleCount;
9230 const VkRectLayerKHR* pRectangles;
9231} VkPresentRegionKHR;
9232
9233typedef struct VkPresentRegionsKHR {
9234 VkStructureType sType;
9235 const void* pNext;
9236 uint32_t swapchainCount;
9237 const VkPresentRegionKHR* pRegions;
9238} VkPresentRegionsKHR;
9239
9240
9241
9242// VK_KHR_descriptor_update_template is a preprocessor guard. Do not pass it to API calls.
9243#define VK_KHR_descriptor_update_template 1
9244typedef VkDescriptorUpdateTemplate VkDescriptorUpdateTemplateKHR;
9245
9246#define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION 1
9247#define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME "VK_KHR_descriptor_update_template"
9248typedef VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateTypeKHR;
9249
9250typedef VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlagsKHR;
9251
9252typedef VkDescriptorUpdateTemplateEntry VkDescriptorUpdateTemplateEntryKHR;
9253
9254typedef VkDescriptorUpdateTemplateCreateInfo VkDescriptorUpdateTemplateCreateInfoKHR;
9255
9256typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplateKHR)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
9257typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplateKHR)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
9258typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplateKHR)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
9259
9260#ifndef VK_NO_PROTOTYPES
9261VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplateKHR(
9262 VkDevice device,
9263 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
9264 const VkAllocationCallbacks* pAllocator,
9265 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
9266
9267VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplateKHR(
9268 VkDevice device,
9269 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
9270 const VkAllocationCallbacks* pAllocator);
9271
9272VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplateKHR(
9273 VkDevice device,
9274 VkDescriptorSet descriptorSet,
9275 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
9276 const void* pData);
9277#endif
9278
9279
9280// VK_KHR_imageless_framebuffer is a preprocessor guard. Do not pass it to API calls.
9281#define VK_KHR_imageless_framebuffer 1
9282#define VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION 1
9283#define VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME "VK_KHR_imageless_framebuffer"
9284typedef VkPhysicalDeviceImagelessFramebufferFeatures VkPhysicalDeviceImagelessFramebufferFeaturesKHR;
9285
9286typedef VkFramebufferAttachmentsCreateInfo VkFramebufferAttachmentsCreateInfoKHR;
9287
9288typedef VkFramebufferAttachmentImageInfo VkFramebufferAttachmentImageInfoKHR;
9289
9290typedef VkRenderPassAttachmentBeginInfo VkRenderPassAttachmentBeginInfoKHR;
9291
9292
9293
9294// VK_KHR_create_renderpass2 is a preprocessor guard. Do not pass it to API calls.
9295#define VK_KHR_create_renderpass2 1
9296#define VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION 1
9297#define VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME "VK_KHR_create_renderpass2"
9298typedef VkRenderPassCreateInfo2 VkRenderPassCreateInfo2KHR;
9299
9300typedef VkAttachmentDescription2 VkAttachmentDescription2KHR;
9301
9302typedef VkAttachmentReference2 VkAttachmentReference2KHR;
9303
9304typedef VkSubpassDescription2 VkSubpassDescription2KHR;
9305
9306typedef VkSubpassDependency2 VkSubpassDependency2KHR;
9307
9308typedef VkSubpassBeginInfo VkSubpassBeginInfoKHR;
9309
9310typedef VkSubpassEndInfo VkSubpassEndInfoKHR;
9311
9312typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2KHR)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
9313typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo);
9314typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo);
9315typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo);
9316
9317#ifndef VK_NO_PROTOTYPES
9318VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2KHR(
9319 VkDevice device,
9320 const VkRenderPassCreateInfo2* pCreateInfo,
9321 const VkAllocationCallbacks* pAllocator,
9322 VkRenderPass* pRenderPass);
9323
9324VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2KHR(
9325 VkCommandBuffer commandBuffer,
9326 const VkRenderPassBeginInfo* pRenderPassBegin,
9327 const VkSubpassBeginInfo* pSubpassBeginInfo);
9328
9329VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2KHR(
9330 VkCommandBuffer commandBuffer,
9331 const VkSubpassBeginInfo* pSubpassBeginInfo,
9332 const VkSubpassEndInfo* pSubpassEndInfo);
9333
9334VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2KHR(
9335 VkCommandBuffer commandBuffer,
9336 const VkSubpassEndInfo* pSubpassEndInfo);
9337#endif
9338
9339
9340// VK_KHR_shared_presentable_image is a preprocessor guard. Do not pass it to API calls.
9341#define VK_KHR_shared_presentable_image 1
9342#define VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION 1
9343#define VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME "VK_KHR_shared_presentable_image"
9344typedef struct VkSharedPresentSurfaceCapabilitiesKHR {
9345 VkStructureType sType;
9346 void* pNext;
9347 VkImageUsageFlags sharedPresentSupportedUsageFlags;
9348} VkSharedPresentSurfaceCapabilitiesKHR;
9349
9350typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainStatusKHR)(VkDevice device, VkSwapchainKHR swapchain);
9351
9352#ifndef VK_NO_PROTOTYPES
9353VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainStatusKHR(
9354 VkDevice device,
9355 VkSwapchainKHR swapchain);
9356#endif
9357
9358
9359// VK_KHR_external_fence_capabilities is a preprocessor guard. Do not pass it to API calls.
9360#define VK_KHR_external_fence_capabilities 1
9361#define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION 1
9362#define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_fence_capabilities"
9363typedef VkExternalFenceHandleTypeFlags VkExternalFenceHandleTypeFlagsKHR;
9364
9365typedef VkExternalFenceHandleTypeFlagBits VkExternalFenceHandleTypeFlagBitsKHR;
9366
9367typedef VkExternalFenceFeatureFlags VkExternalFenceFeatureFlagsKHR;
9368
9369typedef VkExternalFenceFeatureFlagBits VkExternalFenceFeatureFlagBitsKHR;
9370
9371typedef VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfoKHR;
9372
9373typedef VkExternalFenceProperties VkExternalFencePropertiesKHR;
9374
9375typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
9376
9377#ifndef VK_NO_PROTOTYPES
9378VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFencePropertiesKHR(
9379 VkPhysicalDevice physicalDevice,
9380 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
9381 VkExternalFenceProperties* pExternalFenceProperties);
9382#endif
9383
9384
9385// VK_KHR_external_fence is a preprocessor guard. Do not pass it to API calls.
9386#define VK_KHR_external_fence 1
9387#define VK_KHR_EXTERNAL_FENCE_SPEC_VERSION 1
9388#define VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME "VK_KHR_external_fence"
9389typedef VkFenceImportFlags VkFenceImportFlagsKHR;
9390
9391typedef VkFenceImportFlagBits VkFenceImportFlagBitsKHR;
9392
9393typedef VkExportFenceCreateInfo VkExportFenceCreateInfoKHR;
9394
9395
9396
9397// VK_KHR_external_fence_fd is a preprocessor guard. Do not pass it to API calls.
9398#define VK_KHR_external_fence_fd 1
9399#define VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION 1
9400#define VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME "VK_KHR_external_fence_fd"
9401typedef struct VkImportFenceFdInfoKHR {
9402 VkStructureType sType;
9403 const void* pNext;
9404 VkFence fence;
9405 VkFenceImportFlags flags;
9406 VkExternalFenceHandleTypeFlagBits handleType;
9407 int fd;
9408} VkImportFenceFdInfoKHR;
9409
9410typedef struct VkFenceGetFdInfoKHR {
9411 VkStructureType sType;
9412 const void* pNext;
9413 VkFence fence;
9414 VkExternalFenceHandleTypeFlagBits handleType;
9415} VkFenceGetFdInfoKHR;
9416
9417typedef VkResult (VKAPI_PTR *PFN_vkImportFenceFdKHR)(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
9418typedef VkResult (VKAPI_PTR *PFN_vkGetFenceFdKHR)(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd);
9419
9420#ifndef VK_NO_PROTOTYPES
9421VKAPI_ATTR VkResult VKAPI_CALL vkImportFenceFdKHR(
9422 VkDevice device,
9423 const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
9424
9425VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceFdKHR(
9426 VkDevice device,
9427 const VkFenceGetFdInfoKHR* pGetFdInfo,
9428 int* pFd);
9429#endif
9430
9431
9432// VK_KHR_performance_query is a preprocessor guard. Do not pass it to API calls.
9433#define VK_KHR_performance_query 1
9434#define VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION 1
9435#define VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME "VK_KHR_performance_query"
9436
9437typedef enum VkPerformanceCounterUnitKHR {
9438 VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR = 0,
9439 VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR = 1,
9440 VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR = 2,
9441 VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR = 3,
9442 VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR = 4,
9443 VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR = 5,
9444 VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR = 6,
9445 VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR = 7,
9446 VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR = 8,
9447 VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR = 9,
9448 VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR = 10,
9449 VK_PERFORMANCE_COUNTER_UNIT_MAX_ENUM_KHR = 0x7FFFFFFF
9450} VkPerformanceCounterUnitKHR;
9451
9452typedef enum VkPerformanceCounterScopeKHR {
9453 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR = 0,
9454 VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR = 1,
9455 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR = 2,
9456 VK_QUERY_SCOPE_COMMAND_BUFFER_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR,
9457 VK_QUERY_SCOPE_RENDER_PASS_KHR = VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR,
9458 VK_QUERY_SCOPE_COMMAND_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR,
9459 VK_PERFORMANCE_COUNTER_SCOPE_MAX_ENUM_KHR = 0x7FFFFFFF
9460} VkPerformanceCounterScopeKHR;
9461
9462typedef enum VkPerformanceCounterStorageKHR {
9463 VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR = 0,
9464 VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR = 1,
9465 VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR = 2,
9466 VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR = 3,
9467 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR = 4,
9468 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR = 5,
9469 VK_PERFORMANCE_COUNTER_STORAGE_MAX_ENUM_KHR = 0x7FFFFFFF
9470} VkPerformanceCounterStorageKHR;
9471
9472typedef enum VkPerformanceCounterDescriptionFlagBitsKHR {
9473 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR = 0x00000001,
9474 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR = 0x00000002,
9475 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR,
9476 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR,
9477 VK_PERFORMANCE_COUNTER_DESCRIPTION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
9478} VkPerformanceCounterDescriptionFlagBitsKHR;
9479typedef VkFlags VkPerformanceCounterDescriptionFlagsKHR;
9480
9481typedef enum VkAcquireProfilingLockFlagBitsKHR {
9482 VK_ACQUIRE_PROFILING_LOCK_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
9483} VkAcquireProfilingLockFlagBitsKHR;
9484typedef VkFlags VkAcquireProfilingLockFlagsKHR;
9485typedef struct VkPhysicalDevicePerformanceQueryFeaturesKHR {
9486 VkStructureType sType;
9487 void* pNext;
9488 VkBool32 performanceCounterQueryPools;
9489 VkBool32 performanceCounterMultipleQueryPools;
9490} VkPhysicalDevicePerformanceQueryFeaturesKHR;
9491
9492typedef struct VkPhysicalDevicePerformanceQueryPropertiesKHR {
9493 VkStructureType sType;
9494 void* pNext;
9495 VkBool32 allowCommandBufferQueryCopies;
9496} VkPhysicalDevicePerformanceQueryPropertiesKHR;
9497
9498typedef struct VkPerformanceCounterKHR {
9499 VkStructureType sType;
9500 void* pNext;
9501 VkPerformanceCounterUnitKHR unit;
9502 VkPerformanceCounterScopeKHR scope;
9503 VkPerformanceCounterStorageKHR storage;
9504 uint8_t uuid[VK_UUID_SIZE];
9505} VkPerformanceCounterKHR;
9506
9507typedef struct VkPerformanceCounterDescriptionKHR {
9508 VkStructureType sType;
9509 void* pNext;
9510 VkPerformanceCounterDescriptionFlagsKHR flags;
9511 char name[VK_MAX_DESCRIPTION_SIZE];
9512 char category[VK_MAX_DESCRIPTION_SIZE];
9513 char description[VK_MAX_DESCRIPTION_SIZE];
9514} VkPerformanceCounterDescriptionKHR;
9515
9516typedef struct VkQueryPoolPerformanceCreateInfoKHR {
9517 VkStructureType sType;
9518 const void* pNext;
9519 uint32_t queueFamilyIndex;
9520 uint32_t counterIndexCount;
9521 const uint32_t* pCounterIndices;
9522} VkQueryPoolPerformanceCreateInfoKHR;
9523
9524typedef union VkPerformanceCounterResultKHR {
9525 int32_t int32;
9526 int64_t int64;
9527 uint32_t uint32;
9528 uint64_t uint64;
9529 float float32;
9530 double float64;
9531} VkPerformanceCounterResultKHR;
9532
9533typedef struct VkAcquireProfilingLockInfoKHR {
9534 VkStructureType sType;
9535 const void* pNext;
9536 VkAcquireProfilingLockFlagsKHR flags;
9537 uint64_t timeout;
9538} VkAcquireProfilingLockInfoKHR;
9539
9540typedef struct VkPerformanceQuerySubmitInfoKHR {
9541 VkStructureType sType;
9542 const void* pNext;
9543 uint32_t counterPassIndex;
9544} VkPerformanceQuerySubmitInfoKHR;
9545
9546typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, uint32_t* pCounterCount, VkPerformanceCounterKHR* pCounters, VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
9547typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR)(VkPhysicalDevice physicalDevice, const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, uint32_t* pNumPasses);
9548typedef VkResult (VKAPI_PTR *PFN_vkAcquireProfilingLockKHR)(VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo);
9549typedef void (VKAPI_PTR *PFN_vkReleaseProfilingLockKHR)(VkDevice device);
9550
9551#ifndef VK_NO_PROTOTYPES
9552VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
9553 VkPhysicalDevice physicalDevice,
9554 uint32_t queueFamilyIndex,
9555 uint32_t* pCounterCount,
9556 VkPerformanceCounterKHR* pCounters,
9557 VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
9558
9559VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
9560 VkPhysicalDevice physicalDevice,
9561 const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo,
9562 uint32_t* pNumPasses);
9563
9564VKAPI_ATTR VkResult VKAPI_CALL vkAcquireProfilingLockKHR(
9565 VkDevice device,
9566 const VkAcquireProfilingLockInfoKHR* pInfo);
9567
9568VKAPI_ATTR void VKAPI_CALL vkReleaseProfilingLockKHR(
9569 VkDevice device);
9570#endif
9571
9572
9573// VK_KHR_maintenance2 is a preprocessor guard. Do not pass it to API calls.
9574#define VK_KHR_maintenance2 1
9575#define VK_KHR_MAINTENANCE_2_SPEC_VERSION 1
9576#define VK_KHR_MAINTENANCE_2_EXTENSION_NAME "VK_KHR_maintenance2"
9577#define VK_KHR_MAINTENANCE2_SPEC_VERSION VK_KHR_MAINTENANCE_2_SPEC_VERSION
9578#define VK_KHR_MAINTENANCE2_EXTENSION_NAME VK_KHR_MAINTENANCE_2_EXTENSION_NAME
9579typedef VkPointClippingBehavior VkPointClippingBehaviorKHR;
9580
9581typedef VkTessellationDomainOrigin VkTessellationDomainOriginKHR;
9582
9583typedef VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingPropertiesKHR;
9584
9585typedef VkRenderPassInputAttachmentAspectCreateInfo VkRenderPassInputAttachmentAspectCreateInfoKHR;
9586
9587typedef VkInputAttachmentAspectReference VkInputAttachmentAspectReferenceKHR;
9588
9589typedef VkImageViewUsageCreateInfo VkImageViewUsageCreateInfoKHR;
9590
9591typedef VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfoKHR;
9592
9593
9594
9595// VK_KHR_get_surface_capabilities2 is a preprocessor guard. Do not pass it to API calls.
9596#define VK_KHR_get_surface_capabilities2 1
9597#define VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION 1
9598#define VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME "VK_KHR_get_surface_capabilities2"
9599typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
9600 VkStructureType sType;
9601 const void* pNext;
9602 VkSurfaceKHR surface;
9603} VkPhysicalDeviceSurfaceInfo2KHR;
9604
9605typedef struct VkSurfaceCapabilities2KHR {
9606 VkStructureType sType;
9607 void* pNext;
9608 VkSurfaceCapabilitiesKHR surfaceCapabilities;
9609} VkSurfaceCapabilities2KHR;
9610
9611typedef struct VkSurfaceFormat2KHR {
9612 VkStructureType sType;
9613 void* pNext;
9614 VkSurfaceFormatKHR surfaceFormat;
9615} VkSurfaceFormat2KHR;
9616
9617typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
9618typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormats2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, uint32_t* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats);
9619
9620#ifndef VK_NO_PROTOTYPES
9621VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2KHR(
9622 VkPhysicalDevice physicalDevice,
9623 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
9624 VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
9625
9626VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormats2KHR(
9627 VkPhysicalDevice physicalDevice,
9628 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
9629 uint32_t* pSurfaceFormatCount,
9630 VkSurfaceFormat2KHR* pSurfaceFormats);
9631#endif
9632
9633
9634// VK_KHR_variable_pointers is a preprocessor guard. Do not pass it to API calls.
9635#define VK_KHR_variable_pointers 1
9636#define VK_KHR_VARIABLE_POINTERS_SPEC_VERSION 1
9637#define VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME "VK_KHR_variable_pointers"
9638typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeaturesKHR;
9639
9640typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointersFeaturesKHR;
9641
9642
9643
9644// VK_KHR_get_display_properties2 is a preprocessor guard. Do not pass it to API calls.
9645#define VK_KHR_get_display_properties2 1
9646#define VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION 1
9647#define VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_display_properties2"
9648typedef struct VkDisplayProperties2KHR {
9649 VkStructureType sType;
9650 void* pNext;
9651 VkDisplayPropertiesKHR displayProperties;
9652} VkDisplayProperties2KHR;
9653
9654typedef struct VkDisplayPlaneProperties2KHR {
9655 VkStructureType sType;
9656 void* pNext;
9657 VkDisplayPlanePropertiesKHR displayPlaneProperties;
9658} VkDisplayPlaneProperties2KHR;
9659
9660typedef struct VkDisplayModeProperties2KHR {
9661 VkStructureType sType;
9662 void* pNext;
9663 VkDisplayModePropertiesKHR displayModeProperties;
9664} VkDisplayModeProperties2KHR;
9665
9666typedef struct VkDisplayPlaneInfo2KHR {
9667 VkStructureType sType;
9668 const void* pNext;
9669 VkDisplayModeKHR mode;
9670 uint32_t planeIndex;
9671} VkDisplayPlaneInfo2KHR;
9672
9673typedef struct VkDisplayPlaneCapabilities2KHR {
9674 VkStructureType sType;
9675 void* pNext;
9676 VkDisplayPlaneCapabilitiesKHR capabilities;
9677} VkDisplayPlaneCapabilities2KHR;
9678
9679typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayProperties2KHR* pProperties);
9680typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlaneProperties2KHR* pProperties);
9681typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModeProperties2KHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModeProperties2KHR* pProperties);
9682typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, VkDisplayPlaneCapabilities2KHR* pCapabilities);
9683
9684#ifndef VK_NO_PROTOTYPES
9685VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayProperties2KHR(
9686 VkPhysicalDevice physicalDevice,
9687 uint32_t* pPropertyCount,
9688 VkDisplayProperties2KHR* pProperties);
9689
9690VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlaneProperties2KHR(
9691 VkPhysicalDevice physicalDevice,
9692 uint32_t* pPropertyCount,
9693 VkDisplayPlaneProperties2KHR* pProperties);
9694
9695VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModeProperties2KHR(
9696 VkPhysicalDevice physicalDevice,
9697 VkDisplayKHR display,
9698 uint32_t* pPropertyCount,
9699 VkDisplayModeProperties2KHR* pProperties);
9700
9701VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilities2KHR(
9702 VkPhysicalDevice physicalDevice,
9703 const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo,
9704 VkDisplayPlaneCapabilities2KHR* pCapabilities);
9705#endif
9706
9707
9708// VK_KHR_dedicated_allocation is a preprocessor guard. Do not pass it to API calls.
9709#define VK_KHR_dedicated_allocation 1
9710#define VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION 3
9711#define VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_KHR_dedicated_allocation"
9712typedef VkMemoryDedicatedRequirements VkMemoryDedicatedRequirementsKHR;
9713
9714typedef VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfoKHR;
9715
9716
9717
9718// VK_KHR_storage_buffer_storage_class is a preprocessor guard. Do not pass it to API calls.
9719#define VK_KHR_storage_buffer_storage_class 1
9720#define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION 1
9721#define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME "VK_KHR_storage_buffer_storage_class"
9722
9723
9724// VK_KHR_relaxed_block_layout is a preprocessor guard. Do not pass it to API calls.
9725#define VK_KHR_relaxed_block_layout 1
9726#define VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION 1
9727#define VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME "VK_KHR_relaxed_block_layout"
9728
9729
9730// VK_KHR_get_memory_requirements2 is a preprocessor guard. Do not pass it to API calls.
9731#define VK_KHR_get_memory_requirements2 1
9732#define VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION 1
9733#define VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME "VK_KHR_get_memory_requirements2"
9734typedef VkBufferMemoryRequirementsInfo2 VkBufferMemoryRequirementsInfo2KHR;
9735
9736typedef VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2KHR;
9737
9738typedef VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2KHR;
9739
9740typedef VkMemoryRequirements2 VkMemoryRequirements2KHR;
9741
9742typedef VkSparseImageMemoryRequirements2 VkSparseImageMemoryRequirements2KHR;
9743
9744typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2KHR)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
9745typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2KHR)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
9746typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2KHR)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
9747
9748#ifndef VK_NO_PROTOTYPES
9749VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2KHR(
9750 VkDevice device,
9751 const VkImageMemoryRequirementsInfo2* pInfo,
9752 VkMemoryRequirements2* pMemoryRequirements);
9753
9754VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2KHR(
9755 VkDevice device,
9756 const VkBufferMemoryRequirementsInfo2* pInfo,
9757 VkMemoryRequirements2* pMemoryRequirements);
9758
9759VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2KHR(
9760 VkDevice device,
9761 const VkImageSparseMemoryRequirementsInfo2* pInfo,
9762 uint32_t* pSparseMemoryRequirementCount,
9763 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
9764#endif
9765
9766
9767// VK_KHR_image_format_list is a preprocessor guard. Do not pass it to API calls.
9768#define VK_KHR_image_format_list 1
9769#define VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION 1
9770#define VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME "VK_KHR_image_format_list"
9771typedef VkImageFormatListCreateInfo VkImageFormatListCreateInfoKHR;
9772
9773
9774
9775// VK_KHR_sampler_ycbcr_conversion is a preprocessor guard. Do not pass it to API calls.
9776#define VK_KHR_sampler_ycbcr_conversion 1
9777typedef VkSamplerYcbcrConversion VkSamplerYcbcrConversionKHR;
9778
9779#define VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION 14
9780#define VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME "VK_KHR_sampler_ycbcr_conversion"
9781typedef VkSamplerYcbcrModelConversion VkSamplerYcbcrModelConversionKHR;
9782
9783typedef VkSamplerYcbcrRange VkSamplerYcbcrRangeKHR;
9784
9785typedef VkChromaLocation VkChromaLocationKHR;
9786
9787typedef VkSamplerYcbcrConversionCreateInfo VkSamplerYcbcrConversionCreateInfoKHR;
9788
9789typedef VkSamplerYcbcrConversionInfo VkSamplerYcbcrConversionInfoKHR;
9790
9791typedef VkBindImagePlaneMemoryInfo VkBindImagePlaneMemoryInfoKHR;
9792
9793typedef VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfoKHR;
9794
9795typedef VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR;
9796
9797typedef VkSamplerYcbcrConversionImageFormatProperties VkSamplerYcbcrConversionImageFormatPropertiesKHR;
9798
9799typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversionKHR)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
9800typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversionKHR)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
9801
9802#ifndef VK_NO_PROTOTYPES
9803VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversionKHR(
9804 VkDevice device,
9805 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
9806 const VkAllocationCallbacks* pAllocator,
9807 VkSamplerYcbcrConversion* pYcbcrConversion);
9808
9809VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversionKHR(
9810 VkDevice device,
9811 VkSamplerYcbcrConversion ycbcrConversion,
9812 const VkAllocationCallbacks* pAllocator);
9813#endif
9814
9815
9816// VK_KHR_bind_memory2 is a preprocessor guard. Do not pass it to API calls.
9817#define VK_KHR_bind_memory2 1
9818#define VK_KHR_BIND_MEMORY_2_SPEC_VERSION 1
9819#define VK_KHR_BIND_MEMORY_2_EXTENSION_NAME "VK_KHR_bind_memory2"
9820typedef VkBindBufferMemoryInfo VkBindBufferMemoryInfoKHR;
9821
9822typedef VkBindImageMemoryInfo VkBindImageMemoryInfoKHR;
9823
9824typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2KHR)(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
9825typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2KHR)(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
9826
9827#ifndef VK_NO_PROTOTYPES
9828VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2KHR(
9829 VkDevice device,
9830 uint32_t bindInfoCount,
9831 const VkBindBufferMemoryInfo* pBindInfos);
9832
9833VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2KHR(
9834 VkDevice device,
9835 uint32_t bindInfoCount,
9836 const VkBindImageMemoryInfo* pBindInfos);
9837#endif
9838
9839
9840// VK_KHR_maintenance3 is a preprocessor guard. Do not pass it to API calls.
9841#define VK_KHR_maintenance3 1
9842#define VK_KHR_MAINTENANCE_3_SPEC_VERSION 1
9843#define VK_KHR_MAINTENANCE_3_EXTENSION_NAME "VK_KHR_maintenance3"
9844#define VK_KHR_MAINTENANCE3_SPEC_VERSION VK_KHR_MAINTENANCE_3_SPEC_VERSION
9845#define VK_KHR_MAINTENANCE3_EXTENSION_NAME VK_KHR_MAINTENANCE_3_EXTENSION_NAME
9846typedef VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3PropertiesKHR;
9847
9848typedef VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupportKHR;
9849
9850typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupportKHR)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
9851
9852#ifndef VK_NO_PROTOTYPES
9853VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupportKHR(
9854 VkDevice device,
9855 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
9856 VkDescriptorSetLayoutSupport* pSupport);
9857#endif
9858
9859
9860// VK_KHR_draw_indirect_count is a preprocessor guard. Do not pass it to API calls.
9861#define VK_KHR_draw_indirect_count 1
9862#define VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION 1
9863#define VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_KHR_draw_indirect_count"
9864typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
9865typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
9866
9867#ifndef VK_NO_PROTOTYPES
9868VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountKHR(
9869 VkCommandBuffer commandBuffer,
9870 VkBuffer buffer,
9871 VkDeviceSize offset,
9872 VkBuffer countBuffer,
9873 VkDeviceSize countBufferOffset,
9874 uint32_t maxDrawCount,
9875 uint32_t stride);
9876
9877VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountKHR(
9878 VkCommandBuffer commandBuffer,
9879 VkBuffer buffer,
9880 VkDeviceSize offset,
9881 VkBuffer countBuffer,
9882 VkDeviceSize countBufferOffset,
9883 uint32_t maxDrawCount,
9884 uint32_t stride);
9885#endif
9886
9887
9888// VK_KHR_shader_subgroup_extended_types is a preprocessor guard. Do not pass it to API calls.
9889#define VK_KHR_shader_subgroup_extended_types 1
9890#define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION 1
9891#define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME "VK_KHR_shader_subgroup_extended_types"
9892typedef VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR;
9893
9894
9895
9896// VK_KHR_8bit_storage is a preprocessor guard. Do not pass it to API calls.
9897#define VK_KHR_8bit_storage 1
9898#define VK_KHR_8BIT_STORAGE_SPEC_VERSION 1
9899#define VK_KHR_8BIT_STORAGE_EXTENSION_NAME "VK_KHR_8bit_storage"
9900typedef VkPhysicalDevice8BitStorageFeatures VkPhysicalDevice8BitStorageFeaturesKHR;
9901
9902
9903
9904// VK_KHR_shader_atomic_int64 is a preprocessor guard. Do not pass it to API calls.
9905#define VK_KHR_shader_atomic_int64 1
9906#define VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION 1
9907#define VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME "VK_KHR_shader_atomic_int64"
9908typedef VkPhysicalDeviceShaderAtomicInt64Features VkPhysicalDeviceShaderAtomicInt64FeaturesKHR;
9909
9910
9911
9912// VK_KHR_shader_clock is a preprocessor guard. Do not pass it to API calls.
9913#define VK_KHR_shader_clock 1
9914#define VK_KHR_SHADER_CLOCK_SPEC_VERSION 1
9915#define VK_KHR_SHADER_CLOCK_EXTENSION_NAME "VK_KHR_shader_clock"
9916typedef struct VkPhysicalDeviceShaderClockFeaturesKHR {
9917 VkStructureType sType;
9918 void* pNext;
9919 VkBool32 shaderSubgroupClock;
9920 VkBool32 shaderDeviceClock;
9921} VkPhysicalDeviceShaderClockFeaturesKHR;
9922
9923
9924
9925// VK_KHR_video_decode_h265 is a preprocessor guard. Do not pass it to API calls.
9926#define VK_KHR_video_decode_h265 1
9927#include "vk_video/vulkan_video_codec_h265std_decode.h"
9928#define VK_KHR_VIDEO_DECODE_H265_SPEC_VERSION 8
9929#define VK_KHR_VIDEO_DECODE_H265_EXTENSION_NAME "VK_KHR_video_decode_h265"
9930typedef struct VkVideoDecodeH265ProfileInfoKHR {
9931 VkStructureType sType;
9932 const void* pNext;
9933 StdVideoH265ProfileIdc stdProfileIdc;
9934} VkVideoDecodeH265ProfileInfoKHR;
9935
9936typedef struct VkVideoDecodeH265CapabilitiesKHR {
9937 VkStructureType sType;
9938 void* pNext;
9939 StdVideoH265LevelIdc maxLevelIdc;
9940} VkVideoDecodeH265CapabilitiesKHR;
9941
9942typedef struct VkVideoDecodeH265SessionParametersAddInfoKHR {
9943 VkStructureType sType;
9944 const void* pNext;
9945 uint32_t stdVPSCount;
9946 const StdVideoH265VideoParameterSet* pStdVPSs;
9947 uint32_t stdSPSCount;
9948 const StdVideoH265SequenceParameterSet* pStdSPSs;
9949 uint32_t stdPPSCount;
9950 const StdVideoH265PictureParameterSet* pStdPPSs;
9951} VkVideoDecodeH265SessionParametersAddInfoKHR;
9952
9953typedef struct VkVideoDecodeH265SessionParametersCreateInfoKHR {
9954 VkStructureType sType;
9955 const void* pNext;
9956 uint32_t maxStdVPSCount;
9957 uint32_t maxStdSPSCount;
9958 uint32_t maxStdPPSCount;
9959 const VkVideoDecodeH265SessionParametersAddInfoKHR* pParametersAddInfo;
9960} VkVideoDecodeH265SessionParametersCreateInfoKHR;
9961
9962typedef struct VkVideoDecodeH265PictureInfoKHR {
9963 VkStructureType sType;
9964 const void* pNext;
9965 const StdVideoDecodeH265PictureInfo* pStdPictureInfo;
9966 uint32_t sliceSegmentCount;
9967 const uint32_t* pSliceSegmentOffsets;
9968} VkVideoDecodeH265PictureInfoKHR;
9969
9970typedef struct VkVideoDecodeH265DpbSlotInfoKHR {
9971 VkStructureType sType;
9972 const void* pNext;
9973 const StdVideoDecodeH265ReferenceInfo* pStdReferenceInfo;
9974} VkVideoDecodeH265DpbSlotInfoKHR;
9975
9976
9977
9978// VK_KHR_global_priority is a preprocessor guard. Do not pass it to API calls.
9979#define VK_KHR_global_priority 1
9980#define VK_MAX_GLOBAL_PRIORITY_SIZE_KHR 16U
9981#define VK_KHR_GLOBAL_PRIORITY_SPEC_VERSION 1
9982#define VK_KHR_GLOBAL_PRIORITY_EXTENSION_NAME "VK_KHR_global_priority"
9983
9984typedef enum VkQueueGlobalPriorityKHR {
9985 VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR = 128,
9986 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR = 256,
9987 VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR = 512,
9988 VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR = 1024,
9989 VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT = VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR,
9990 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT = VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR,
9991 VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT = VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR,
9992 VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT = VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR,
9993 VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_KHR = 0x7FFFFFFF
9994} VkQueueGlobalPriorityKHR;
9995typedef struct VkDeviceQueueGlobalPriorityCreateInfoKHR {
9996 VkStructureType sType;
9997 const void* pNext;
9998 VkQueueGlobalPriorityKHR globalPriority;
9999} VkDeviceQueueGlobalPriorityCreateInfoKHR;
10000
10001typedef struct VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR {
10002 VkStructureType sType;
10003 void* pNext;
10004 VkBool32 globalPriorityQuery;
10005} VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR;
10006
10007typedef struct VkQueueFamilyGlobalPriorityPropertiesKHR {
10008 VkStructureType sType;
10009 void* pNext;
10010 uint32_t priorityCount;
10011 VkQueueGlobalPriorityKHR priorities[VK_MAX_GLOBAL_PRIORITY_SIZE_KHR];
10012} VkQueueFamilyGlobalPriorityPropertiesKHR;
10013
10014
10015
10016// VK_KHR_driver_properties is a preprocessor guard. Do not pass it to API calls.
10017#define VK_KHR_driver_properties 1
10018#define VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION 1
10019#define VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME "VK_KHR_driver_properties"
10020#define VK_MAX_DRIVER_NAME_SIZE_KHR VK_MAX_DRIVER_NAME_SIZE
10021#define VK_MAX_DRIVER_INFO_SIZE_KHR VK_MAX_DRIVER_INFO_SIZE
10022typedef VkDriverId VkDriverIdKHR;
10023
10024typedef VkConformanceVersion VkConformanceVersionKHR;
10025
10026typedef VkPhysicalDeviceDriverProperties VkPhysicalDeviceDriverPropertiesKHR;
10027
10028
10029
10030// VK_KHR_shader_float_controls is a preprocessor guard. Do not pass it to API calls.
10031#define VK_KHR_shader_float_controls 1
10032#define VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION 4
10033#define VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME "VK_KHR_shader_float_controls"
10034typedef VkShaderFloatControlsIndependence VkShaderFloatControlsIndependenceKHR;
10035
10036typedef VkPhysicalDeviceFloatControlsProperties VkPhysicalDeviceFloatControlsPropertiesKHR;
10037
10038
10039
10040// VK_KHR_depth_stencil_resolve is a preprocessor guard. Do not pass it to API calls.
10041#define VK_KHR_depth_stencil_resolve 1
10042#define VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION 1
10043#define VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME "VK_KHR_depth_stencil_resolve"
10044typedef VkResolveModeFlagBits VkResolveModeFlagBitsKHR;
10045
10046typedef VkResolveModeFlags VkResolveModeFlagsKHR;
10047
10048typedef VkSubpassDescriptionDepthStencilResolve VkSubpassDescriptionDepthStencilResolveKHR;
10049
10050typedef VkPhysicalDeviceDepthStencilResolveProperties VkPhysicalDeviceDepthStencilResolvePropertiesKHR;
10051
10052
10053
10054// VK_KHR_swapchain_mutable_format is a preprocessor guard. Do not pass it to API calls.
10055#define VK_KHR_swapchain_mutable_format 1
10056#define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION 1
10057#define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME "VK_KHR_swapchain_mutable_format"
10058
10059
10060// VK_KHR_timeline_semaphore is a preprocessor guard. Do not pass it to API calls.
10061#define VK_KHR_timeline_semaphore 1
10062#define VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION 2
10063#define VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME "VK_KHR_timeline_semaphore"
10064typedef VkSemaphoreType VkSemaphoreTypeKHR;
10065
10066typedef VkSemaphoreWaitFlagBits VkSemaphoreWaitFlagBitsKHR;
10067
10068typedef VkSemaphoreWaitFlags VkSemaphoreWaitFlagsKHR;
10069
10070typedef VkPhysicalDeviceTimelineSemaphoreFeatures VkPhysicalDeviceTimelineSemaphoreFeaturesKHR;
10071
10072typedef VkPhysicalDeviceTimelineSemaphoreProperties VkPhysicalDeviceTimelineSemaphorePropertiesKHR;
10073
10074typedef VkSemaphoreTypeCreateInfo VkSemaphoreTypeCreateInfoKHR;
10075
10076typedef VkTimelineSemaphoreSubmitInfo VkTimelineSemaphoreSubmitInfoKHR;
10077
10078typedef VkSemaphoreWaitInfo VkSemaphoreWaitInfoKHR;
10079
10080typedef VkSemaphoreSignalInfo VkSemaphoreSignalInfoKHR;
10081
10082typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValueKHR)(VkDevice device, VkSemaphore semaphore, uint64_t* pValue);
10083typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphoresKHR)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout);
10084typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphoreKHR)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo);
10085
10086#ifndef VK_NO_PROTOTYPES
10087VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValueKHR(
10088 VkDevice device,
10089 VkSemaphore semaphore,
10090 uint64_t* pValue);
10091
10092VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphoresKHR(
10093 VkDevice device,
10094 const VkSemaphoreWaitInfo* pWaitInfo,
10095 uint64_t timeout);
10096
10097VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphoreKHR(
10098 VkDevice device,
10099 const VkSemaphoreSignalInfo* pSignalInfo);
10100#endif
10101
10102
10103// VK_KHR_vulkan_memory_model is a preprocessor guard. Do not pass it to API calls.
10104#define VK_KHR_vulkan_memory_model 1
10105#define VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION 3
10106#define VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME "VK_KHR_vulkan_memory_model"
10107typedef VkPhysicalDeviceVulkanMemoryModelFeatures VkPhysicalDeviceVulkanMemoryModelFeaturesKHR;
10108
10109
10110
10111// VK_KHR_shader_terminate_invocation is a preprocessor guard. Do not pass it to API calls.
10112#define VK_KHR_shader_terminate_invocation 1
10113#define VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION 1
10114#define VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME "VK_KHR_shader_terminate_invocation"
10115typedef VkPhysicalDeviceShaderTerminateInvocationFeatures VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR;
10116
10117
10118
10119// VK_KHR_fragment_shading_rate is a preprocessor guard. Do not pass it to API calls.
10120#define VK_KHR_fragment_shading_rate 1
10121#define VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION 2
10122#define VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME "VK_KHR_fragment_shading_rate"
10123
10124typedef enum VkFragmentShadingRateCombinerOpKHR {
10125 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR = 0,
10126 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR = 1,
10127 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR = 2,
10128 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR = 3,
10129 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR = 4,
10130 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_ENUM_KHR = 0x7FFFFFFF
10131} VkFragmentShadingRateCombinerOpKHR;
10132typedef struct VkFragmentShadingRateAttachmentInfoKHR {
10133 VkStructureType sType;
10134 const void* pNext;
10135 const VkAttachmentReference2* pFragmentShadingRateAttachment;
10136 VkExtent2D shadingRateAttachmentTexelSize;
10137} VkFragmentShadingRateAttachmentInfoKHR;
10138
10139typedef struct VkPipelineFragmentShadingRateStateCreateInfoKHR {
10140 VkStructureType sType;
10141 const void* pNext;
10142 VkExtent2D fragmentSize;
10143 VkFragmentShadingRateCombinerOpKHR combinerOps[2];
10144} VkPipelineFragmentShadingRateStateCreateInfoKHR;
10145
10146typedef struct VkPhysicalDeviceFragmentShadingRateFeaturesKHR {
10147 VkStructureType sType;
10148 void* pNext;
10149 VkBool32 pipelineFragmentShadingRate;
10150 VkBool32 primitiveFragmentShadingRate;
10151 VkBool32 attachmentFragmentShadingRate;
10152} VkPhysicalDeviceFragmentShadingRateFeaturesKHR;
10153
10154typedef struct VkPhysicalDeviceFragmentShadingRatePropertiesKHR {
10155 VkStructureType sType;
10156 void* pNext;
10157 VkExtent2D minFragmentShadingRateAttachmentTexelSize;
10158 VkExtent2D maxFragmentShadingRateAttachmentTexelSize;
10159 uint32_t maxFragmentShadingRateAttachmentTexelSizeAspectRatio;
10160 VkBool32 primitiveFragmentShadingRateWithMultipleViewports;
10161 VkBool32 layeredShadingRateAttachments;
10162 VkBool32 fragmentShadingRateNonTrivialCombinerOps;
10163 VkExtent2D maxFragmentSize;
10164 uint32_t maxFragmentSizeAspectRatio;
10165 uint32_t maxFragmentShadingRateCoverageSamples;
10166 VkSampleCountFlagBits maxFragmentShadingRateRasterizationSamples;
10167 VkBool32 fragmentShadingRateWithShaderDepthStencilWrites;
10168 VkBool32 fragmentShadingRateWithSampleMask;
10169 VkBool32 fragmentShadingRateWithShaderSampleMask;
10170 VkBool32 fragmentShadingRateWithConservativeRasterization;
10171 VkBool32 fragmentShadingRateWithFragmentShaderInterlock;
10172 VkBool32 fragmentShadingRateWithCustomSampleLocations;
10173 VkBool32 fragmentShadingRateStrictMultiplyCombiner;
10174} VkPhysicalDeviceFragmentShadingRatePropertiesKHR;
10175
10176typedef struct VkPhysicalDeviceFragmentShadingRateKHR {
10177 VkStructureType sType;
10178 void* pNext;
10179 VkSampleCountFlags sampleCounts;
10180 VkExtent2D fragmentSize;
10181} VkPhysicalDeviceFragmentShadingRateKHR;
10182
10183typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pFragmentShadingRateCount, VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates);
10184typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateKHR)(VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
10185
10186#ifndef VK_NO_PROTOTYPES
10187VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceFragmentShadingRatesKHR(
10188 VkPhysicalDevice physicalDevice,
10189 uint32_t* pFragmentShadingRateCount,
10190 VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates);
10191
10192VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateKHR(
10193 VkCommandBuffer commandBuffer,
10194 const VkExtent2D* pFragmentSize,
10195 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
10196#endif
10197
10198
10199// VK_KHR_spirv_1_4 is a preprocessor guard. Do not pass it to API calls.
10200#define VK_KHR_spirv_1_4 1
10201#define VK_KHR_SPIRV_1_4_SPEC_VERSION 1
10202#define VK_KHR_SPIRV_1_4_EXTENSION_NAME "VK_KHR_spirv_1_4"
10203
10204
10205// VK_KHR_surface_protected_capabilities is a preprocessor guard. Do not pass it to API calls.
10206#define VK_KHR_surface_protected_capabilities 1
10207#define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION 1
10208#define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME "VK_KHR_surface_protected_capabilities"
10209typedef struct VkSurfaceProtectedCapabilitiesKHR {
10210 VkStructureType sType;
10211 const void* pNext;
10212 VkBool32 supportsProtected;
10213} VkSurfaceProtectedCapabilitiesKHR;
10214
10215
10216
10217// VK_KHR_separate_depth_stencil_layouts is a preprocessor guard. Do not pass it to API calls.
10218#define VK_KHR_separate_depth_stencil_layouts 1
10219#define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION 1
10220#define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME "VK_KHR_separate_depth_stencil_layouts"
10221typedef VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR;
10222
10223typedef VkAttachmentReferenceStencilLayout VkAttachmentReferenceStencilLayoutKHR;
10224
10225typedef VkAttachmentDescriptionStencilLayout VkAttachmentDescriptionStencilLayoutKHR;
10226
10227
10228
10229// VK_KHR_present_wait is a preprocessor guard. Do not pass it to API calls.
10230#define VK_KHR_present_wait 1
10231#define VK_KHR_PRESENT_WAIT_SPEC_VERSION 1
10232#define VK_KHR_PRESENT_WAIT_EXTENSION_NAME "VK_KHR_present_wait"
10233typedef struct VkPhysicalDevicePresentWaitFeaturesKHR {
10234 VkStructureType sType;
10235 void* pNext;
10236 VkBool32 presentWait;
10237} VkPhysicalDevicePresentWaitFeaturesKHR;
10238
10239typedef VkResult (VKAPI_PTR *PFN_vkWaitForPresentKHR)(VkDevice device, VkSwapchainKHR swapchain, uint64_t presentId, uint64_t timeout);
10240
10241#ifndef VK_NO_PROTOTYPES
10242VKAPI_ATTR VkResult VKAPI_CALL vkWaitForPresentKHR(
10243 VkDevice device,
10244 VkSwapchainKHR swapchain,
10245 uint64_t presentId,
10246 uint64_t timeout);
10247#endif
10248
10249
10250// VK_KHR_uniform_buffer_standard_layout is a preprocessor guard. Do not pass it to API calls.
10251#define VK_KHR_uniform_buffer_standard_layout 1
10252#define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION 1
10253#define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME "VK_KHR_uniform_buffer_standard_layout"
10254typedef VkPhysicalDeviceUniformBufferStandardLayoutFeatures VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR;
10255
10256
10257
10258// VK_KHR_buffer_device_address is a preprocessor guard. Do not pass it to API calls.
10259#define VK_KHR_buffer_device_address 1
10260#define VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 1
10261#define VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_KHR_buffer_device_address"
10262typedef VkPhysicalDeviceBufferDeviceAddressFeatures VkPhysicalDeviceBufferDeviceAddressFeaturesKHR;
10263
10264typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoKHR;
10265
10266typedef VkBufferOpaqueCaptureAddressCreateInfo VkBufferOpaqueCaptureAddressCreateInfoKHR;
10267
10268typedef VkMemoryOpaqueCaptureAddressAllocateInfo VkMemoryOpaqueCaptureAddressAllocateInfoKHR;
10269
10270typedef VkDeviceMemoryOpaqueCaptureAddressInfo VkDeviceMemoryOpaqueCaptureAddressInfoKHR;
10271
10272typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
10273typedef uint64_t (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
10274typedef uint64_t (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
10275
10276#ifndef VK_NO_PROTOTYPES
10277VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressKHR(
10278 VkDevice device,
10279 const VkBufferDeviceAddressInfo* pInfo);
10280
10281VKAPI_ATTR uint64_t VKAPI_CALL vkGetBufferOpaqueCaptureAddressKHR(
10282 VkDevice device,
10283 const VkBufferDeviceAddressInfo* pInfo);
10284
10285VKAPI_ATTR uint64_t VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddressKHR(
10286 VkDevice device,
10287 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
10288#endif
10289
10290
10291// VK_KHR_deferred_host_operations is a preprocessor guard. Do not pass it to API calls.
10292#define VK_KHR_deferred_host_operations 1
10293VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeferredOperationKHR)
10294#define VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION 4
10295#define VK_KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME "VK_KHR_deferred_host_operations"
10296typedef VkResult (VKAPI_PTR *PFN_vkCreateDeferredOperationKHR)(VkDevice device, const VkAllocationCallbacks* pAllocator, VkDeferredOperationKHR* pDeferredOperation);
10297typedef void (VKAPI_PTR *PFN_vkDestroyDeferredOperationKHR)(VkDevice device, VkDeferredOperationKHR operation, const VkAllocationCallbacks* pAllocator);
10298typedef uint32_t (VKAPI_PTR *PFN_vkGetDeferredOperationMaxConcurrencyKHR)(VkDevice device, VkDeferredOperationKHR operation);
10299typedef VkResult (VKAPI_PTR *PFN_vkGetDeferredOperationResultKHR)(VkDevice device, VkDeferredOperationKHR operation);
10300typedef VkResult (VKAPI_PTR *PFN_vkDeferredOperationJoinKHR)(VkDevice device, VkDeferredOperationKHR operation);
10301
10302#ifndef VK_NO_PROTOTYPES
10303VKAPI_ATTR VkResult VKAPI_CALL vkCreateDeferredOperationKHR(
10304 VkDevice device,
10305 const VkAllocationCallbacks* pAllocator,
10306 VkDeferredOperationKHR* pDeferredOperation);
10307
10308VKAPI_ATTR void VKAPI_CALL vkDestroyDeferredOperationKHR(
10309 VkDevice device,
10310 VkDeferredOperationKHR operation,
10311 const VkAllocationCallbacks* pAllocator);
10312
10313VKAPI_ATTR uint32_t VKAPI_CALL vkGetDeferredOperationMaxConcurrencyKHR(
10314 VkDevice device,
10315 VkDeferredOperationKHR operation);
10316
10317VKAPI_ATTR VkResult VKAPI_CALL vkGetDeferredOperationResultKHR(
10318 VkDevice device,
10319 VkDeferredOperationKHR operation);
10320
10321VKAPI_ATTR VkResult VKAPI_CALL vkDeferredOperationJoinKHR(
10322 VkDevice device,
10323 VkDeferredOperationKHR operation);
10324#endif
10325
10326
10327// VK_KHR_pipeline_executable_properties is a preprocessor guard. Do not pass it to API calls.
10328#define VK_KHR_pipeline_executable_properties 1
10329#define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION 1
10330#define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME "VK_KHR_pipeline_executable_properties"
10331
10332typedef enum VkPipelineExecutableStatisticFormatKHR {
10333 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR = 0,
10334 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR = 1,
10335 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR = 2,
10336 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR = 3,
10337 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_MAX_ENUM_KHR = 0x7FFFFFFF
10338} VkPipelineExecutableStatisticFormatKHR;
10339typedef struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
10340 VkStructureType sType;
10341 void* pNext;
10342 VkBool32 pipelineExecutableInfo;
10343} VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR;
10344
10345typedef struct VkPipelineInfoKHR {
10346 VkStructureType sType;
10347 const void* pNext;
10348 VkPipeline pipeline;
10349} VkPipelineInfoKHR;
10350
10351typedef struct VkPipelineExecutablePropertiesKHR {
10352 VkStructureType sType;
10353 void* pNext;
10354 VkShaderStageFlags stages;
10355 char name[VK_MAX_DESCRIPTION_SIZE];
10356 char description[VK_MAX_DESCRIPTION_SIZE];
10357 uint32_t subgroupSize;
10358} VkPipelineExecutablePropertiesKHR;
10359
10360typedef struct VkPipelineExecutableInfoKHR {
10361 VkStructureType sType;
10362 const void* pNext;
10363 VkPipeline pipeline;
10364 uint32_t executableIndex;
10365} VkPipelineExecutableInfoKHR;
10366
10367typedef union VkPipelineExecutableStatisticValueKHR {
10368 VkBool32 b32;
10369 int64_t i64;
10370 uint64_t u64;
10371 double f64;
10372} VkPipelineExecutableStatisticValueKHR;
10373
10374typedef struct VkPipelineExecutableStatisticKHR {
10375 VkStructureType sType;
10376 void* pNext;
10377 char name[VK_MAX_DESCRIPTION_SIZE];
10378 char description[VK_MAX_DESCRIPTION_SIZE];
10379 VkPipelineExecutableStatisticFormatKHR format;
10380 VkPipelineExecutableStatisticValueKHR value;
10381} VkPipelineExecutableStatisticKHR;
10382
10383typedef struct VkPipelineExecutableInternalRepresentationKHR {
10384 VkStructureType sType;
10385 void* pNext;
10386 char name[VK_MAX_DESCRIPTION_SIZE];
10387 char description[VK_MAX_DESCRIPTION_SIZE];
10388 VkBool32 isText;
10389 size_t dataSize;
10390 void* pData;
10391} VkPipelineExecutableInternalRepresentationKHR;
10392
10393typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutablePropertiesKHR)(VkDevice device, const VkPipelineInfoKHR* pPipelineInfo, uint32_t* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties);
10394typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableStatisticsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics);
10395typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableInternalRepresentationsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
10396
10397#ifndef VK_NO_PROTOTYPES
10398VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutablePropertiesKHR(
10399 VkDevice device,
10400 const VkPipelineInfoKHR* pPipelineInfo,
10401 uint32_t* pExecutableCount,
10402 VkPipelineExecutablePropertiesKHR* pProperties);
10403
10404VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableStatisticsKHR(
10405 VkDevice device,
10406 const VkPipelineExecutableInfoKHR* pExecutableInfo,
10407 uint32_t* pStatisticCount,
10408 VkPipelineExecutableStatisticKHR* pStatistics);
10409
10410VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableInternalRepresentationsKHR(
10411 VkDevice device,
10412 const VkPipelineExecutableInfoKHR* pExecutableInfo,
10413 uint32_t* pInternalRepresentationCount,
10414 VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
10415#endif
10416
10417
10418// VK_KHR_map_memory2 is a preprocessor guard. Do not pass it to API calls.
10419#define VK_KHR_map_memory2 1
10420#define VK_KHR_MAP_MEMORY_2_SPEC_VERSION 1
10421#define VK_KHR_MAP_MEMORY_2_EXTENSION_NAME "VK_KHR_map_memory2"
10422typedef VkFlags VkMemoryUnmapFlagsKHR;
10423typedef struct VkMemoryMapInfoKHR {
10424 VkStructureType sType;
10425 const void* pNext;
10426 VkMemoryMapFlags flags;
10427 VkDeviceMemory memory;
10428 VkDeviceSize offset;
10429 VkDeviceSize size;
10430} VkMemoryMapInfoKHR;
10431
10432typedef struct VkMemoryUnmapInfoKHR {
10433 VkStructureType sType;
10434 const void* pNext;
10435 VkMemoryUnmapFlagsKHR flags;
10436 VkDeviceMemory memory;
10437} VkMemoryUnmapInfoKHR;
10438
10439typedef VkResult (VKAPI_PTR *PFN_vkMapMemory2KHR)(VkDevice device, const VkMemoryMapInfoKHR* pMemoryMapInfo, void** ppData);
10440typedef VkResult (VKAPI_PTR *PFN_vkUnmapMemory2KHR)(VkDevice device, const VkMemoryUnmapInfoKHR* pMemoryUnmapInfo);
10441
10442#ifndef VK_NO_PROTOTYPES
10443VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory2KHR(
10444 VkDevice device,
10445 const VkMemoryMapInfoKHR* pMemoryMapInfo,
10446 void** ppData);
10447
10448VKAPI_ATTR VkResult VKAPI_CALL vkUnmapMemory2KHR(
10449 VkDevice device,
10450 const VkMemoryUnmapInfoKHR* pMemoryUnmapInfo);
10451#endif
10452
10453
10454// VK_KHR_shader_integer_dot_product is a preprocessor guard. Do not pass it to API calls.
10455#define VK_KHR_shader_integer_dot_product 1
10456#define VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION 1
10457#define VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME "VK_KHR_shader_integer_dot_product"
10458typedef VkPhysicalDeviceShaderIntegerDotProductFeatures VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR;
10459
10460typedef VkPhysicalDeviceShaderIntegerDotProductProperties VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR;
10461
10462
10463
10464// VK_KHR_pipeline_library is a preprocessor guard. Do not pass it to API calls.
10465#define VK_KHR_pipeline_library 1
10466#define VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION 1
10467#define VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME "VK_KHR_pipeline_library"
10468typedef struct VkPipelineLibraryCreateInfoKHR {
10469 VkStructureType sType;
10470 const void* pNext;
10471 uint32_t libraryCount;
10472 const VkPipeline* pLibraries;
10473} VkPipelineLibraryCreateInfoKHR;
10474
10475
10476
10477// VK_KHR_shader_non_semantic_info is a preprocessor guard. Do not pass it to API calls.
10478#define VK_KHR_shader_non_semantic_info 1
10479#define VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION 1
10480#define VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME "VK_KHR_shader_non_semantic_info"
10481
10482
10483// VK_KHR_present_id is a preprocessor guard. Do not pass it to API calls.
10484#define VK_KHR_present_id 1
10485#define VK_KHR_PRESENT_ID_SPEC_VERSION 1
10486#define VK_KHR_PRESENT_ID_EXTENSION_NAME "VK_KHR_present_id"
10487typedef struct VkPresentIdKHR {
10488 VkStructureType sType;
10489 const void* pNext;
10490 uint32_t swapchainCount;
10491 const uint64_t* pPresentIds;
10492} VkPresentIdKHR;
10493
10494typedef struct VkPhysicalDevicePresentIdFeaturesKHR {
10495 VkStructureType sType;
10496 void* pNext;
10497 VkBool32 presentId;
10498} VkPhysicalDevicePresentIdFeaturesKHR;
10499
10500
10501
10502// VK_KHR_video_encode_queue is a preprocessor guard. Do not pass it to API calls.
10503#define VK_KHR_video_encode_queue 1
10504#define VK_KHR_VIDEO_ENCODE_QUEUE_SPEC_VERSION 12
10505#define VK_KHR_VIDEO_ENCODE_QUEUE_EXTENSION_NAME "VK_KHR_video_encode_queue"
10506
10507typedef enum VkVideoEncodeTuningModeKHR {
10508 VK_VIDEO_ENCODE_TUNING_MODE_DEFAULT_KHR = 0,
10509 VK_VIDEO_ENCODE_TUNING_MODE_HIGH_QUALITY_KHR = 1,
10510 VK_VIDEO_ENCODE_TUNING_MODE_LOW_LATENCY_KHR = 2,
10511 VK_VIDEO_ENCODE_TUNING_MODE_ULTRA_LOW_LATENCY_KHR = 3,
10512 VK_VIDEO_ENCODE_TUNING_MODE_LOSSLESS_KHR = 4,
10513 VK_VIDEO_ENCODE_TUNING_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
10514} VkVideoEncodeTuningModeKHR;
10515typedef VkFlags VkVideoEncodeFlagsKHR;
10516
10517typedef enum VkVideoEncodeCapabilityFlagBitsKHR {
10518 VK_VIDEO_ENCODE_CAPABILITY_PRECEDING_EXTERNALLY_ENCODED_BYTES_BIT_KHR = 0x00000001,
10519 VK_VIDEO_ENCODE_CAPABILITY_INSUFFICIENT_BITSTREAM_BUFFER_RANGE_DETECTION_BIT_KHR = 0x00000002,
10520 VK_VIDEO_ENCODE_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
10521} VkVideoEncodeCapabilityFlagBitsKHR;
10522typedef VkFlags VkVideoEncodeCapabilityFlagsKHR;
10523
10524typedef enum VkVideoEncodeRateControlModeFlagBitsKHR {
10525 VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DEFAULT_KHR = 0,
10526 VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DISABLED_BIT_KHR = 0x00000001,
10527 VK_VIDEO_ENCODE_RATE_CONTROL_MODE_CBR_BIT_KHR = 0x00000002,
10528 VK_VIDEO_ENCODE_RATE_CONTROL_MODE_VBR_BIT_KHR = 0x00000004,
10529 VK_VIDEO_ENCODE_RATE_CONTROL_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
10530} VkVideoEncodeRateControlModeFlagBitsKHR;
10531typedef VkFlags VkVideoEncodeRateControlModeFlagsKHR;
10532
10533typedef enum VkVideoEncodeFeedbackFlagBitsKHR {
10534 VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_BUFFER_OFFSET_BIT_KHR = 0x00000001,
10535 VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_BYTES_WRITTEN_BIT_KHR = 0x00000002,
10536 VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_HAS_OVERRIDES_BIT_KHR = 0x00000004,
10537 VK_VIDEO_ENCODE_FEEDBACK_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
10538} VkVideoEncodeFeedbackFlagBitsKHR;
10539typedef VkFlags VkVideoEncodeFeedbackFlagsKHR;
10540
10541typedef enum VkVideoEncodeUsageFlagBitsKHR {
10542 VK_VIDEO_ENCODE_USAGE_DEFAULT_KHR = 0,
10543 VK_VIDEO_ENCODE_USAGE_TRANSCODING_BIT_KHR = 0x00000001,
10544 VK_VIDEO_ENCODE_USAGE_STREAMING_BIT_KHR = 0x00000002,
10545 VK_VIDEO_ENCODE_USAGE_RECORDING_BIT_KHR = 0x00000004,
10546 VK_VIDEO_ENCODE_USAGE_CONFERENCING_BIT_KHR = 0x00000008,
10547 VK_VIDEO_ENCODE_USAGE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
10548} VkVideoEncodeUsageFlagBitsKHR;
10549typedef VkFlags VkVideoEncodeUsageFlagsKHR;
10550
10551typedef enum VkVideoEncodeContentFlagBitsKHR {
10552 VK_VIDEO_ENCODE_CONTENT_DEFAULT_KHR = 0,
10553 VK_VIDEO_ENCODE_CONTENT_CAMERA_BIT_KHR = 0x00000001,
10554 VK_VIDEO_ENCODE_CONTENT_DESKTOP_BIT_KHR = 0x00000002,
10555 VK_VIDEO_ENCODE_CONTENT_RENDERED_BIT_KHR = 0x00000004,
10556 VK_VIDEO_ENCODE_CONTENT_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
10557} VkVideoEncodeContentFlagBitsKHR;
10558typedef VkFlags VkVideoEncodeContentFlagsKHR;
10559typedef VkFlags VkVideoEncodeRateControlFlagsKHR;
10560typedef struct VkVideoEncodeInfoKHR {
10561 VkStructureType sType;
10562 const void* pNext;
10563 VkVideoEncodeFlagsKHR flags;
10564 VkBuffer dstBuffer;
10565 VkDeviceSize dstBufferOffset;
10566 VkDeviceSize dstBufferRange;
10567 VkVideoPictureResourceInfoKHR srcPictureResource;
10568 const VkVideoReferenceSlotInfoKHR* pSetupReferenceSlot;
10569 uint32_t referenceSlotCount;
10570 const VkVideoReferenceSlotInfoKHR* pReferenceSlots;
10571 uint32_t precedingExternallyEncodedBytes;
10572} VkVideoEncodeInfoKHR;
10573
10574typedef struct VkVideoEncodeCapabilitiesKHR {
10575 VkStructureType sType;
10576 void* pNext;
10577 VkVideoEncodeCapabilityFlagsKHR flags;
10578 VkVideoEncodeRateControlModeFlagsKHR rateControlModes;
10579 uint32_t maxRateControlLayers;
10580 uint64_t maxBitrate;
10581 uint32_t maxQualityLevels;
10582 VkExtent2D encodeInputPictureGranularity;
10583 VkVideoEncodeFeedbackFlagsKHR supportedEncodeFeedbackFlags;
10584} VkVideoEncodeCapabilitiesKHR;
10585
10586typedef struct VkQueryPoolVideoEncodeFeedbackCreateInfoKHR {
10587 VkStructureType sType;
10588 const void* pNext;
10589 VkVideoEncodeFeedbackFlagsKHR encodeFeedbackFlags;
10590} VkQueryPoolVideoEncodeFeedbackCreateInfoKHR;
10591
10592typedef struct VkVideoEncodeUsageInfoKHR {
10593 VkStructureType sType;
10594 const void* pNext;
10595 VkVideoEncodeUsageFlagsKHR videoUsageHints;
10596 VkVideoEncodeContentFlagsKHR videoContentHints;
10597 VkVideoEncodeTuningModeKHR tuningMode;
10598} VkVideoEncodeUsageInfoKHR;
10599
10600typedef struct VkVideoEncodeRateControlLayerInfoKHR {
10601 VkStructureType sType;
10602 const void* pNext;
10603 uint64_t averageBitrate;
10604 uint64_t maxBitrate;
10605 uint32_t frameRateNumerator;
10606 uint32_t frameRateDenominator;
10607} VkVideoEncodeRateControlLayerInfoKHR;
10608
10609typedef struct VkVideoEncodeRateControlInfoKHR {
10610 VkStructureType sType;
10611 const void* pNext;
10612 VkVideoEncodeRateControlFlagsKHR flags;
10613 VkVideoEncodeRateControlModeFlagBitsKHR rateControlMode;
10614 uint32_t layerCount;
10615 const VkVideoEncodeRateControlLayerInfoKHR* pLayers;
10616 uint32_t virtualBufferSizeInMs;
10617 uint32_t initialVirtualBufferSizeInMs;
10618} VkVideoEncodeRateControlInfoKHR;
10619
10620typedef struct VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR {
10621 VkStructureType sType;
10622 const void* pNext;
10623 const VkVideoProfileInfoKHR* pVideoProfile;
10624 uint32_t qualityLevel;
10625} VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR;
10626
10627typedef struct VkVideoEncodeQualityLevelPropertiesKHR {
10628 VkStructureType sType;
10629 void* pNext;
10630 VkVideoEncodeRateControlModeFlagBitsKHR preferredRateControlMode;
10631 uint32_t preferredRateControlLayerCount;
10632} VkVideoEncodeQualityLevelPropertiesKHR;
10633
10634typedef struct VkVideoEncodeQualityLevelInfoKHR {
10635 VkStructureType sType;
10636 const void* pNext;
10637 uint32_t qualityLevel;
10638} VkVideoEncodeQualityLevelInfoKHR;
10639
10640typedef struct VkVideoEncodeSessionParametersGetInfoKHR {
10641 VkStructureType sType;
10642 const void* pNext;
10643 VkVideoSessionParametersKHR videoSessionParameters;
10644} VkVideoEncodeSessionParametersGetInfoKHR;
10645
10646typedef struct VkVideoEncodeSessionParametersFeedbackInfoKHR {
10647 VkStructureType sType;
10648 void* pNext;
10649 VkBool32 hasOverrides;
10650} VkVideoEncodeSessionParametersFeedbackInfoKHR;
10651
10652typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR* pQualityLevelInfo, VkVideoEncodeQualityLevelPropertiesKHR* pQualityLevelProperties);
10653typedef VkResult (VKAPI_PTR *PFN_vkGetEncodedVideoSessionParametersKHR)(VkDevice device, const VkVideoEncodeSessionParametersGetInfoKHR* pVideoSessionParametersInfo, VkVideoEncodeSessionParametersFeedbackInfoKHR* pFeedbackInfo, size_t* pDataSize, void* pData);
10654typedef void (VKAPI_PTR *PFN_vkCmdEncodeVideoKHR)(VkCommandBuffer commandBuffer, const VkVideoEncodeInfoKHR* pEncodeInfo);
10655
10656#ifndef VK_NO_PROTOTYPES
10657VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR(
10658 VkPhysicalDevice physicalDevice,
10659 const VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR* pQualityLevelInfo,
10660 VkVideoEncodeQualityLevelPropertiesKHR* pQualityLevelProperties);
10661
10662VKAPI_ATTR VkResult VKAPI_CALL vkGetEncodedVideoSessionParametersKHR(
10663 VkDevice device,
10664 const VkVideoEncodeSessionParametersGetInfoKHR* pVideoSessionParametersInfo,
10665 VkVideoEncodeSessionParametersFeedbackInfoKHR* pFeedbackInfo,
10666 size_t* pDataSize,
10667 void* pData);
10668
10669VKAPI_ATTR void VKAPI_CALL vkCmdEncodeVideoKHR(
10670 VkCommandBuffer commandBuffer,
10671 const VkVideoEncodeInfoKHR* pEncodeInfo);
10672#endif
10673
10674
10675// VK_KHR_synchronization2 is a preprocessor guard. Do not pass it to API calls.
10676#define VK_KHR_synchronization2 1
10677#define VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION 1
10678#define VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME "VK_KHR_synchronization2"
10679typedef VkPipelineStageFlags2 VkPipelineStageFlags2KHR;
10680
10681typedef VkPipelineStageFlagBits2 VkPipelineStageFlagBits2KHR;
10682
10683typedef VkAccessFlags2 VkAccessFlags2KHR;
10684
10685typedef VkAccessFlagBits2 VkAccessFlagBits2KHR;
10686
10687typedef VkSubmitFlagBits VkSubmitFlagBitsKHR;
10688
10689typedef VkSubmitFlags VkSubmitFlagsKHR;
10690
10691typedef VkMemoryBarrier2 VkMemoryBarrier2KHR;
10692
10693typedef VkBufferMemoryBarrier2 VkBufferMemoryBarrier2KHR;
10694
10695typedef VkImageMemoryBarrier2 VkImageMemoryBarrier2KHR;
10696
10697typedef VkDependencyInfo VkDependencyInfoKHR;
10698
10699typedef VkSubmitInfo2 VkSubmitInfo2KHR;
10700
10701typedef VkSemaphoreSubmitInfo VkSemaphoreSubmitInfoKHR;
10702
10703typedef VkCommandBufferSubmitInfo VkCommandBufferSubmitInfoKHR;
10704
10705typedef VkPhysicalDeviceSynchronization2Features VkPhysicalDeviceSynchronization2FeaturesKHR;
10706
10707typedef struct VkQueueFamilyCheckpointProperties2NV {
10708 VkStructureType sType;
10709 void* pNext;
10710 VkPipelineStageFlags2 checkpointExecutionStageMask;
10711} VkQueueFamilyCheckpointProperties2NV;
10712
10713typedef struct VkCheckpointData2NV {
10714 VkStructureType sType;
10715 void* pNext;
10716 VkPipelineStageFlags2 stage;
10717 void* pCheckpointMarker;
10718} VkCheckpointData2NV;
10719
10720typedef void (VKAPI_PTR *PFN_vkCmdSetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo* pDependencyInfo);
10721typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask);
10722typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents2KHR)(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, const VkDependencyInfo* pDependencyInfos);
10723typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier2KHR)(VkCommandBuffer commandBuffer, const VkDependencyInfo* pDependencyInfo);
10724typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2KHR)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query);
10725typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2KHR)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo2* pSubmits, VkFence fence);
10726typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarker2AMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker);
10727typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointData2NV)(VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointData2NV* pCheckpointData);
10728
10729#ifndef VK_NO_PROTOTYPES
10730VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent2KHR(
10731 VkCommandBuffer commandBuffer,
10732 VkEvent event,
10733 const VkDependencyInfo* pDependencyInfo);
10734
10735VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent2KHR(
10736 VkCommandBuffer commandBuffer,
10737 VkEvent event,
10738 VkPipelineStageFlags2 stageMask);
10739
10740VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents2KHR(
10741 VkCommandBuffer commandBuffer,
10742 uint32_t eventCount,
10743 const VkEvent* pEvents,
10744 const VkDependencyInfo* pDependencyInfos);
10745
10746VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier2KHR(
10747 VkCommandBuffer commandBuffer,
10748 const VkDependencyInfo* pDependencyInfo);
10749
10750VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp2KHR(
10751 VkCommandBuffer commandBuffer,
10752 VkPipelineStageFlags2 stage,
10753 VkQueryPool queryPool,
10754 uint32_t query);
10755
10756VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit2KHR(
10757 VkQueue queue,
10758 uint32_t submitCount,
10759 const VkSubmitInfo2* pSubmits,
10760 VkFence fence);
10761
10762VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarker2AMD(
10763 VkCommandBuffer commandBuffer,
10764 VkPipelineStageFlags2 stage,
10765 VkBuffer dstBuffer,
10766 VkDeviceSize dstOffset,
10767 uint32_t marker);
10768
10769VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointData2NV(
10770 VkQueue queue,
10771 uint32_t* pCheckpointDataCount,
10772 VkCheckpointData2NV* pCheckpointData);
10773#endif
10774
10775
10776// VK_KHR_fragment_shader_barycentric is a preprocessor guard. Do not pass it to API calls.
10777#define VK_KHR_fragment_shader_barycentric 1
10778#define VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1
10779#define VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_KHR_fragment_shader_barycentric"
10780typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR {
10781 VkStructureType sType;
10782 void* pNext;
10783 VkBool32 fragmentShaderBarycentric;
10784} VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR;
10785
10786typedef struct VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR {
10787 VkStructureType sType;
10788 void* pNext;
10789 VkBool32 triStripVertexOrderIndependentOfProvokingVertex;
10790} VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR;
10791
10792
10793
10794// VK_KHR_shader_subgroup_uniform_control_flow is a preprocessor guard. Do not pass it to API calls.
10795#define VK_KHR_shader_subgroup_uniform_control_flow 1
10796#define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION 1
10797#define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME "VK_KHR_shader_subgroup_uniform_control_flow"
10798typedef struct VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR {
10799 VkStructureType sType;
10800 void* pNext;
10801 VkBool32 shaderSubgroupUniformControlFlow;
10802} VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR;
10803
10804
10805
10806// VK_KHR_zero_initialize_workgroup_memory is a preprocessor guard. Do not pass it to API calls.
10807#define VK_KHR_zero_initialize_workgroup_memory 1
10808#define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION 1
10809#define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME "VK_KHR_zero_initialize_workgroup_memory"
10810typedef VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR;
10811
10812
10813
10814// VK_KHR_workgroup_memory_explicit_layout is a preprocessor guard. Do not pass it to API calls.
10815#define VK_KHR_workgroup_memory_explicit_layout 1
10816#define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION 1
10817#define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME "VK_KHR_workgroup_memory_explicit_layout"
10818typedef struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {
10819 VkStructureType sType;
10820 void* pNext;
10821 VkBool32 workgroupMemoryExplicitLayout;
10822 VkBool32 workgroupMemoryExplicitLayoutScalarBlockLayout;
10823 VkBool32 workgroupMemoryExplicitLayout8BitAccess;
10824 VkBool32 workgroupMemoryExplicitLayout16BitAccess;
10825} VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR;
10826
10827
10828
10829// VK_KHR_copy_commands2 is a preprocessor guard. Do not pass it to API calls.
10830#define VK_KHR_copy_commands2 1
10831#define VK_KHR_COPY_COMMANDS_2_SPEC_VERSION 1
10832#define VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME "VK_KHR_copy_commands2"
10833typedef VkCopyBufferInfo2 VkCopyBufferInfo2KHR;
10834
10835typedef VkCopyImageInfo2 VkCopyImageInfo2KHR;
10836
10837typedef VkCopyBufferToImageInfo2 VkCopyBufferToImageInfo2KHR;
10838
10839typedef VkCopyImageToBufferInfo2 VkCopyImageToBufferInfo2KHR;
10840
10841typedef VkBlitImageInfo2 VkBlitImageInfo2KHR;
10842
10843typedef VkResolveImageInfo2 VkResolveImageInfo2KHR;
10844
10845typedef VkBufferCopy2 VkBufferCopy2KHR;
10846
10847typedef VkImageCopy2 VkImageCopy2KHR;
10848
10849typedef VkImageBlit2 VkImageBlit2KHR;
10850
10851typedef VkBufferImageCopy2 VkBufferImageCopy2KHR;
10852
10853typedef VkImageResolve2 VkImageResolve2KHR;
10854
10855typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2* pCopyBufferInfo);
10856typedef void (VKAPI_PTR *PFN_vkCmdCopyImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2* pCopyImageInfo);
10857typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo);
10858typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo);
10859typedef void (VKAPI_PTR *PFN_vkCmdBlitImage2KHR)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2* pBlitImageInfo);
10860typedef void (VKAPI_PTR *PFN_vkCmdResolveImage2KHR)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2* pResolveImageInfo);
10861
10862#ifndef VK_NO_PROTOTYPES
10863VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer2KHR(
10864 VkCommandBuffer commandBuffer,
10865 const VkCopyBufferInfo2* pCopyBufferInfo);
10866
10867VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage2KHR(
10868 VkCommandBuffer commandBuffer,
10869 const VkCopyImageInfo2* pCopyImageInfo);
10870
10871VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage2KHR(
10872 VkCommandBuffer commandBuffer,
10873 const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo);
10874
10875VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer2KHR(
10876 VkCommandBuffer commandBuffer,
10877 const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo);
10878
10879VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage2KHR(
10880 VkCommandBuffer commandBuffer,
10881 const VkBlitImageInfo2* pBlitImageInfo);
10882
10883VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage2KHR(
10884 VkCommandBuffer commandBuffer,
10885 const VkResolveImageInfo2* pResolveImageInfo);
10886#endif
10887
10888
10889// VK_KHR_format_feature_flags2 is a preprocessor guard. Do not pass it to API calls.
10890#define VK_KHR_format_feature_flags2 1
10891#define VK_KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION 2
10892#define VK_KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME "VK_KHR_format_feature_flags2"
10893typedef VkFormatFeatureFlags2 VkFormatFeatureFlags2KHR;
10894
10895typedef VkFormatFeatureFlagBits2 VkFormatFeatureFlagBits2KHR;
10896
10897typedef VkFormatProperties3 VkFormatProperties3KHR;
10898
10899
10900
10901// VK_KHR_ray_tracing_maintenance1 is a preprocessor guard. Do not pass it to API calls.
10902#define VK_KHR_ray_tracing_maintenance1 1
10903#define VK_KHR_RAY_TRACING_MAINTENANCE_1_SPEC_VERSION 1
10904#define VK_KHR_RAY_TRACING_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_ray_tracing_maintenance1"
10905typedef struct VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR {
10906 VkStructureType sType;
10907 void* pNext;
10908 VkBool32 rayTracingMaintenance1;
10909 VkBool32 rayTracingPipelineTraceRaysIndirect2;
10910} VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR;
10911
10912typedef struct VkTraceRaysIndirectCommand2KHR {
10913 VkDeviceAddress raygenShaderRecordAddress;
10914 VkDeviceSize raygenShaderRecordSize;
10915 VkDeviceAddress missShaderBindingTableAddress;
10916 VkDeviceSize missShaderBindingTableSize;
10917 VkDeviceSize missShaderBindingTableStride;
10918 VkDeviceAddress hitShaderBindingTableAddress;
10919 VkDeviceSize hitShaderBindingTableSize;
10920 VkDeviceSize hitShaderBindingTableStride;
10921 VkDeviceAddress callableShaderBindingTableAddress;
10922 VkDeviceSize callableShaderBindingTableSize;
10923 VkDeviceSize callableShaderBindingTableStride;
10924 uint32_t width;
10925 uint32_t height;
10926 uint32_t depth;
10927} VkTraceRaysIndirectCommand2KHR;
10928
10929typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysIndirect2KHR)(VkCommandBuffer commandBuffer, VkDeviceAddress indirectDeviceAddress);
10930
10931#ifndef VK_NO_PROTOTYPES
10932VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysIndirect2KHR(
10933 VkCommandBuffer commandBuffer,
10934 VkDeviceAddress indirectDeviceAddress);
10935#endif
10936
10937
10938// VK_KHR_portability_enumeration is a preprocessor guard. Do not pass it to API calls.
10939#define VK_KHR_portability_enumeration 1
10940#define VK_KHR_PORTABILITY_ENUMERATION_SPEC_VERSION 1
10941#define VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME "VK_KHR_portability_enumeration"
10942
10943
10944// VK_KHR_maintenance4 is a preprocessor guard. Do not pass it to API calls.
10945#define VK_KHR_maintenance4 1
10946#define VK_KHR_MAINTENANCE_4_SPEC_VERSION 2
10947#define VK_KHR_MAINTENANCE_4_EXTENSION_NAME "VK_KHR_maintenance4"
10948typedef VkPhysicalDeviceMaintenance4Features VkPhysicalDeviceMaintenance4FeaturesKHR;
10949
10950typedef VkPhysicalDeviceMaintenance4Properties VkPhysicalDeviceMaintenance4PropertiesKHR;
10951
10952typedef VkDeviceBufferMemoryRequirements VkDeviceBufferMemoryRequirementsKHR;
10953
10954typedef VkDeviceImageMemoryRequirements VkDeviceImageMemoryRequirementsKHR;
10955
10956typedef void (VKAPI_PTR *PFN_vkGetDeviceBufferMemoryRequirementsKHR)(VkDevice device, const VkDeviceBufferMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements);
10957typedef void (VKAPI_PTR *PFN_vkGetDeviceImageMemoryRequirementsKHR)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements);
10958typedef void (VKAPI_PTR *PFN_vkGetDeviceImageSparseMemoryRequirementsKHR)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
10959
10960#ifndef VK_NO_PROTOTYPES
10961VKAPI_ATTR void VKAPI_CALL vkGetDeviceBufferMemoryRequirementsKHR(
10962 VkDevice device,
10963 const VkDeviceBufferMemoryRequirements* pInfo,
10964 VkMemoryRequirements2* pMemoryRequirements);
10965
10966VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageMemoryRequirementsKHR(
10967 VkDevice device,
10968 const VkDeviceImageMemoryRequirements* pInfo,
10969 VkMemoryRequirements2* pMemoryRequirements);
10970
10971VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageSparseMemoryRequirementsKHR(
10972 VkDevice device,
10973 const VkDeviceImageMemoryRequirements* pInfo,
10974 uint32_t* pSparseMemoryRequirementCount,
10975 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
10976#endif
10977
10978
10979// VK_KHR_maintenance5 is a preprocessor guard. Do not pass it to API calls.
10980#define VK_KHR_maintenance5 1
10981#define VK_KHR_MAINTENANCE_5_SPEC_VERSION 1
10982#define VK_KHR_MAINTENANCE_5_EXTENSION_NAME "VK_KHR_maintenance5"
10983typedef VkFlags64 VkPipelineCreateFlags2KHR;
10984
10985// Flag bits for VkPipelineCreateFlagBits2KHR
10986typedef VkFlags64 VkPipelineCreateFlagBits2KHR;
10987static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_DISABLE_OPTIMIZATION_BIT_KHR = 0x00000001ULL;
10988static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_ALLOW_DERIVATIVES_BIT_KHR = 0x00000002ULL;
10989static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_DERIVATIVE_BIT_KHR = 0x00000004ULL;
10990static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = 0x00000008ULL;
10991static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_DISPATCH_BASE_BIT_KHR = 0x00000010ULL;
10992static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_DEFER_COMPILE_BIT_NV = 0x00000020ULL;
10993static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_CAPTURE_STATISTICS_BIT_KHR = 0x00000040ULL;
10994static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 0x00000080ULL;
10995static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_KHR = 0x00000100ULL;
10996static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_EARLY_RETURN_ON_FAILURE_BIT_KHR = 0x00000200ULL;
10997static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_LINK_TIME_OPTIMIZATION_BIT_EXT = 0x00000400ULL;
10998static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT = 0x00800000ULL;
10999static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_LIBRARY_BIT_KHR = 0x00000800ULL;
11000static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR = 0x00001000ULL;
11001static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_SKIP_AABBS_BIT_KHR = 0x00002000ULL;
11002static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 0x00004000ULL;
11003static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 0x00008000ULL;
11004static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 0x00010000ULL;
11005static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR = 0x00020000ULL;
11006static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR = 0x00080000ULL;
11007static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_INDIRECT_BINDABLE_BIT_NV = 0x00040000ULL;
11008static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_ALLOW_MOTION_BIT_NV = 0x00100000ULL;
11009static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00200000ULL;
11010static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 0x00400000ULL;
11011static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT = 0x01000000ULL;
11012static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x02000000ULL;
11013static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x04000000ULL;
11014static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_NO_PROTECTED_ACCESS_BIT_EXT = 0x08000000ULL;
11015static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_PROTECTED_ACCESS_ONLY_BIT_EXT = 0x40000000ULL;
11016static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV = 0x10000000ULL;
11017static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_DESCRIPTOR_BUFFER_BIT_EXT = 0x20000000ULL;
11018
11019typedef VkFlags64 VkBufferUsageFlags2KHR;
11020
11021// Flag bits for VkBufferUsageFlagBits2KHR
11022typedef VkFlags64 VkBufferUsageFlagBits2KHR;
11023static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_TRANSFER_SRC_BIT_KHR = 0x00000001ULL;
11024static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_TRANSFER_DST_BIT_KHR = 0x00000002ULL;
11025static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR = 0x00000004ULL;
11026static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_STORAGE_TEXEL_BUFFER_BIT_KHR = 0x00000008ULL;
11027static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_UNIFORM_BUFFER_BIT_KHR = 0x00000010ULL;
11028static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_STORAGE_BUFFER_BIT_KHR = 0x00000020ULL;
11029static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_INDEX_BUFFER_BIT_KHR = 0x00000040ULL;
11030static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_VERTEX_BUFFER_BIT_KHR = 0x00000080ULL;
11031static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_INDIRECT_BUFFER_BIT_KHR = 0x00000100ULL;
11032static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_EXECUTION_GRAPH_SCRATCH_BIT_AMDX = 0x02000000ULL;
11033static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200ULL;
11034static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_SHADER_BINDING_TABLE_BIT_KHR = 0x00000400ULL;
11035static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_RAY_TRACING_BIT_NV = 0x00000400ULL;
11036static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0x00000800ULL;
11037static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000ULL;
11038static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_VIDEO_DECODE_SRC_BIT_KHR = 0x00002000ULL;
11039static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_VIDEO_DECODE_DST_BIT_KHR = 0x00004000ULL;
11040#ifdef VK_ENABLE_BETA_EXTENSIONS
11041static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_VIDEO_ENCODE_DST_BIT_KHR = 0x00008000ULL;
11042#endif
11043#ifdef VK_ENABLE_BETA_EXTENSIONS
11044static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_VIDEO_ENCODE_SRC_BIT_KHR = 0x00010000ULL;
11045#endif
11046static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_SHADER_DEVICE_ADDRESS_BIT_KHR = 0x00020000ULL;
11047static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR = 0x00080000ULL;
11048static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR = 0x00100000ULL;
11049static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT = 0x00200000ULL;
11050static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT = 0x00400000ULL;
11051static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT = 0x04000000ULL;
11052static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT = 0x00800000ULL;
11053static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_MICROMAP_STORAGE_BIT_EXT = 0x01000000ULL;
11054
11055typedef struct VkPhysicalDeviceMaintenance5FeaturesKHR {
11056 VkStructureType sType;
11057 void* pNext;
11058 VkBool32 maintenance5;
11059} VkPhysicalDeviceMaintenance5FeaturesKHR;
11060
11061typedef struct VkPhysicalDeviceMaintenance5PropertiesKHR {
11062 VkStructureType sType;
11063 void* pNext;
11064 VkBool32 earlyFragmentMultisampleCoverageAfterSampleCounting;
11065 VkBool32 earlyFragmentSampleMaskTestBeforeSampleCounting;
11066 VkBool32 depthStencilSwizzleOneSupport;
11067 VkBool32 polygonModePointSize;
11068 VkBool32 nonStrictSinglePixelWideLinesUseParallelogram;
11069 VkBool32 nonStrictWideLinesUseParallelogram;
11070} VkPhysicalDeviceMaintenance5PropertiesKHR;
11071
11072typedef struct VkRenderingAreaInfoKHR {
11073 VkStructureType sType;
11074 const void* pNext;
11075 uint32_t viewMask;
11076 uint32_t colorAttachmentCount;
11077 const VkFormat* pColorAttachmentFormats;
11078 VkFormat depthAttachmentFormat;
11079 VkFormat stencilAttachmentFormat;
11080} VkRenderingAreaInfoKHR;
11081
11082typedef struct VkImageSubresource2KHR {
11083 VkStructureType sType;
11084 void* pNext;
11085 VkImageSubresource imageSubresource;
11086} VkImageSubresource2KHR;
11087
11088typedef struct VkDeviceImageSubresourceInfoKHR {
11089 VkStructureType sType;
11090 const void* pNext;
11091 const VkImageCreateInfo* pCreateInfo;
11092 const VkImageSubresource2KHR* pSubresource;
11093} VkDeviceImageSubresourceInfoKHR;
11094
11095typedef struct VkSubresourceLayout2KHR {
11096 VkStructureType sType;
11097 void* pNext;
11098 VkSubresourceLayout subresourceLayout;
11099} VkSubresourceLayout2KHR;
11100
11101typedef struct VkPipelineCreateFlags2CreateInfoKHR {
11102 VkStructureType sType;
11103 const void* pNext;
11104 VkPipelineCreateFlags2KHR flags;
11105} VkPipelineCreateFlags2CreateInfoKHR;
11106
11107typedef struct VkBufferUsageFlags2CreateInfoKHR {
11108 VkStructureType sType;
11109 const void* pNext;
11110 VkBufferUsageFlags2KHR usage;
11111} VkBufferUsageFlags2CreateInfoKHR;
11112
11113typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer2KHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkDeviceSize size, VkIndexType indexType);
11114typedef void (VKAPI_PTR *PFN_vkGetRenderingAreaGranularityKHR)(VkDevice device, const VkRenderingAreaInfoKHR* pRenderingAreaInfo, VkExtent2D* pGranularity);
11115typedef void (VKAPI_PTR *PFN_vkGetDeviceImageSubresourceLayoutKHR)(VkDevice device, const VkDeviceImageSubresourceInfoKHR* pInfo, VkSubresourceLayout2KHR* pLayout);
11116typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout2KHR)(VkDevice device, VkImage image, const VkImageSubresource2KHR* pSubresource, VkSubresourceLayout2KHR* pLayout);
11117
11118#ifndef VK_NO_PROTOTYPES
11119VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer2KHR(
11120 VkCommandBuffer commandBuffer,
11121 VkBuffer buffer,
11122 VkDeviceSize offset,
11123 VkDeviceSize size,
11124 VkIndexType indexType);
11125
11126VKAPI_ATTR void VKAPI_CALL vkGetRenderingAreaGranularityKHR(
11127 VkDevice device,
11128 const VkRenderingAreaInfoKHR* pRenderingAreaInfo,
11129 VkExtent2D* pGranularity);
11130
11131VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageSubresourceLayoutKHR(
11132 VkDevice device,
11133 const VkDeviceImageSubresourceInfoKHR* pInfo,
11134 VkSubresourceLayout2KHR* pLayout);
11135
11136VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout2KHR(
11137 VkDevice device,
11138 VkImage image,
11139 const VkImageSubresource2KHR* pSubresource,
11140 VkSubresourceLayout2KHR* pLayout);
11141#endif
11142
11143
11144// VK_KHR_ray_tracing_position_fetch is a preprocessor guard. Do not pass it to API calls.
11145#define VK_KHR_ray_tracing_position_fetch 1
11146#define VK_KHR_RAY_TRACING_POSITION_FETCH_SPEC_VERSION 1
11147#define VK_KHR_RAY_TRACING_POSITION_FETCH_EXTENSION_NAME "VK_KHR_ray_tracing_position_fetch"
11148typedef struct VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR {
11149 VkStructureType sType;
11150 void* pNext;
11151 VkBool32 rayTracingPositionFetch;
11152} VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR;
11153
11154
11155
11156// VK_KHR_cooperative_matrix is a preprocessor guard. Do not pass it to API calls.
11157#define VK_KHR_cooperative_matrix 1
11158#define VK_KHR_COOPERATIVE_MATRIX_SPEC_VERSION 2
11159#define VK_KHR_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_KHR_cooperative_matrix"
11160
11161typedef enum VkComponentTypeKHR {
11162 VK_COMPONENT_TYPE_FLOAT16_KHR = 0,
11163 VK_COMPONENT_TYPE_FLOAT32_KHR = 1,
11164 VK_COMPONENT_TYPE_FLOAT64_KHR = 2,
11165 VK_COMPONENT_TYPE_SINT8_KHR = 3,
11166 VK_COMPONENT_TYPE_SINT16_KHR = 4,
11167 VK_COMPONENT_TYPE_SINT32_KHR = 5,
11168 VK_COMPONENT_TYPE_SINT64_KHR = 6,
11169 VK_COMPONENT_TYPE_UINT8_KHR = 7,
11170 VK_COMPONENT_TYPE_UINT16_KHR = 8,
11171 VK_COMPONENT_TYPE_UINT32_KHR = 9,
11172 VK_COMPONENT_TYPE_UINT64_KHR = 10,
11173 VK_COMPONENT_TYPE_FLOAT16_NV = VK_COMPONENT_TYPE_FLOAT16_KHR,
11174 VK_COMPONENT_TYPE_FLOAT32_NV = VK_COMPONENT_TYPE_FLOAT32_KHR,
11175 VK_COMPONENT_TYPE_FLOAT64_NV = VK_COMPONENT_TYPE_FLOAT64_KHR,
11176 VK_COMPONENT_TYPE_SINT8_NV = VK_COMPONENT_TYPE_SINT8_KHR,
11177 VK_COMPONENT_TYPE_SINT16_NV = VK_COMPONENT_TYPE_SINT16_KHR,
11178 VK_COMPONENT_TYPE_SINT32_NV = VK_COMPONENT_TYPE_SINT32_KHR,
11179 VK_COMPONENT_TYPE_SINT64_NV = VK_COMPONENT_TYPE_SINT64_KHR,
11180 VK_COMPONENT_TYPE_UINT8_NV = VK_COMPONENT_TYPE_UINT8_KHR,
11181 VK_COMPONENT_TYPE_UINT16_NV = VK_COMPONENT_TYPE_UINT16_KHR,
11182 VK_COMPONENT_TYPE_UINT32_NV = VK_COMPONENT_TYPE_UINT32_KHR,
11183 VK_COMPONENT_TYPE_UINT64_NV = VK_COMPONENT_TYPE_UINT64_KHR,
11184 VK_COMPONENT_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
11185} VkComponentTypeKHR;
11186
11187typedef enum VkScopeKHR {
11188 VK_SCOPE_DEVICE_KHR = 1,
11189 VK_SCOPE_WORKGROUP_KHR = 2,
11190 VK_SCOPE_SUBGROUP_KHR = 3,
11191 VK_SCOPE_QUEUE_FAMILY_KHR = 5,
11192 VK_SCOPE_DEVICE_NV = VK_SCOPE_DEVICE_KHR,
11193 VK_SCOPE_WORKGROUP_NV = VK_SCOPE_WORKGROUP_KHR,
11194 VK_SCOPE_SUBGROUP_NV = VK_SCOPE_SUBGROUP_KHR,
11195 VK_SCOPE_QUEUE_FAMILY_NV = VK_SCOPE_QUEUE_FAMILY_KHR,
11196 VK_SCOPE_MAX_ENUM_KHR = 0x7FFFFFFF
11197} VkScopeKHR;
11198typedef struct VkCooperativeMatrixPropertiesKHR {
11199 VkStructureType sType;
11200 void* pNext;
11201 uint32_t MSize;
11202 uint32_t NSize;
11203 uint32_t KSize;
11204 VkComponentTypeKHR AType;
11205 VkComponentTypeKHR BType;
11206 VkComponentTypeKHR CType;
11207 VkComponentTypeKHR ResultType;
11208 VkBool32 saturatingAccumulation;
11209 VkScopeKHR scope;
11210} VkCooperativeMatrixPropertiesKHR;
11211
11212typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesKHR {
11213 VkStructureType sType;
11214 void* pNext;
11215 VkBool32 cooperativeMatrix;
11216 VkBool32 cooperativeMatrixRobustBufferAccess;
11217} VkPhysicalDeviceCooperativeMatrixFeaturesKHR;
11218
11219typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesKHR {
11220 VkStructureType sType;
11221 void* pNext;
11222 VkShaderStageFlags cooperativeMatrixSupportedStages;
11223} VkPhysicalDeviceCooperativeMatrixPropertiesKHR;
11224
11225typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkCooperativeMatrixPropertiesKHR* pProperties);
11226
11227#ifndef VK_NO_PROTOTYPES
11228VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR(
11229 VkPhysicalDevice physicalDevice,
11230 uint32_t* pPropertyCount,
11231 VkCooperativeMatrixPropertiesKHR* pProperties);
11232#endif
11233
11234
11235// VK_KHR_video_maintenance1 is a preprocessor guard. Do not pass it to API calls.
11236#define VK_KHR_video_maintenance1 1
11237#define VK_KHR_VIDEO_MAINTENANCE_1_SPEC_VERSION 1
11238#define VK_KHR_VIDEO_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_video_maintenance1"
11239typedef struct VkPhysicalDeviceVideoMaintenance1FeaturesKHR {
11240 VkStructureType sType;
11241 void* pNext;
11242 VkBool32 videoMaintenance1;
11243} VkPhysicalDeviceVideoMaintenance1FeaturesKHR;
11244
11245typedef struct VkVideoInlineQueryInfoKHR {
11246 VkStructureType sType;
11247 const void* pNext;
11248 VkQueryPool queryPool;
11249 uint32_t firstQuery;
11250 uint32_t queryCount;
11251} VkVideoInlineQueryInfoKHR;
11252
11253
11254
11255// VK_KHR_vertex_attribute_divisor is a preprocessor guard. Do not pass it to API calls.
11256#define VK_KHR_vertex_attribute_divisor 1
11257#define VK_KHR_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 1
11258#define VK_KHR_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_KHR_vertex_attribute_divisor"
11259typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR {
11260 VkStructureType sType;
11261 void* pNext;
11262 uint32_t maxVertexAttribDivisor;
11263 VkBool32 supportsNonZeroFirstInstance;
11264} VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR;
11265
11266typedef struct VkVertexInputBindingDivisorDescriptionKHR {
11267 uint32_t binding;
11268 uint32_t divisor;
11269} VkVertexInputBindingDivisorDescriptionKHR;
11270
11271typedef struct VkPipelineVertexInputDivisorStateCreateInfoKHR {
11272 VkStructureType sType;
11273 const void* pNext;
11274 uint32_t vertexBindingDivisorCount;
11275 const VkVertexInputBindingDivisorDescriptionKHR* pVertexBindingDivisors;
11276} VkPipelineVertexInputDivisorStateCreateInfoKHR;
11277
11278typedef struct VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR {
11279 VkStructureType sType;
11280 void* pNext;
11281 VkBool32 vertexAttributeInstanceRateDivisor;
11282 VkBool32 vertexAttributeInstanceRateZeroDivisor;
11283} VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR;
11284
11285
11286
11287// VK_KHR_calibrated_timestamps is a preprocessor guard. Do not pass it to API calls.
11288#define VK_KHR_calibrated_timestamps 1
11289#define VK_KHR_CALIBRATED_TIMESTAMPS_SPEC_VERSION 1
11290#define VK_KHR_CALIBRATED_TIMESTAMPS_EXTENSION_NAME "VK_KHR_calibrated_timestamps"
11291
11292typedef enum VkTimeDomainKHR {
11293 VK_TIME_DOMAIN_DEVICE_KHR = 0,
11294 VK_TIME_DOMAIN_CLOCK_MONOTONIC_KHR = 1,
11295 VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_KHR = 2,
11296 VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_KHR = 3,
11297 VK_TIME_DOMAIN_DEVICE_EXT = VK_TIME_DOMAIN_DEVICE_KHR,
11298 VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT = VK_TIME_DOMAIN_CLOCK_MONOTONIC_KHR,
11299 VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT = VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_KHR,
11300 VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT = VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_KHR,
11301 VK_TIME_DOMAIN_MAX_ENUM_KHR = 0x7FFFFFFF
11302} VkTimeDomainKHR;
11303typedef struct VkCalibratedTimestampInfoKHR {
11304 VkStructureType sType;
11305 const void* pNext;
11306 VkTimeDomainKHR timeDomain;
11307} VkCalibratedTimestampInfoKHR;
11308
11309typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsKHR)(VkPhysicalDevice physicalDevice, uint32_t* pTimeDomainCount, VkTimeDomainKHR* pTimeDomains);
11310typedef VkResult (VKAPI_PTR *PFN_vkGetCalibratedTimestampsKHR)(VkDevice device, uint32_t timestampCount, const VkCalibratedTimestampInfoKHR* pTimestampInfos, uint64_t* pTimestamps, uint64_t* pMaxDeviation);
11311
11312#ifndef VK_NO_PROTOTYPES
11313VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCalibrateableTimeDomainsKHR(
11314 VkPhysicalDevice physicalDevice,
11315 uint32_t* pTimeDomainCount,
11316 VkTimeDomainKHR* pTimeDomains);
11317
11318VKAPI_ATTR VkResult VKAPI_CALL vkGetCalibratedTimestampsKHR(
11319 VkDevice device,
11320 uint32_t timestampCount,
11321 const VkCalibratedTimestampInfoKHR* pTimestampInfos,
11322 uint64_t* pTimestamps,
11323 uint64_t* pMaxDeviation);
11324#endif
11325
11326
11327// VK_KHR_maintenance6 is a preprocessor guard. Do not pass it to API calls.
11328#define VK_KHR_maintenance6 1
11329#define VK_KHR_MAINTENANCE_6_SPEC_VERSION 1
11330#define VK_KHR_MAINTENANCE_6_EXTENSION_NAME "VK_KHR_maintenance6"
11331typedef struct VkPhysicalDeviceMaintenance6FeaturesKHR {
11332 VkStructureType sType;
11333 void* pNext;
11334 VkBool32 maintenance6;
11335} VkPhysicalDeviceMaintenance6FeaturesKHR;
11336
11337typedef struct VkPhysicalDeviceMaintenance6PropertiesKHR {
11338 VkStructureType sType;
11339 void* pNext;
11340 VkBool32 blockTexelViewCompatibleMultipleLayers;
11341 uint32_t maxCombinedImageSamplerDescriptorCount;
11342 VkBool32 fragmentShadingRateClampCombinerInputs;
11343} VkPhysicalDeviceMaintenance6PropertiesKHR;
11344
11345typedef struct VkBindMemoryStatusKHR {
11346 VkStructureType sType;
11347 const void* pNext;
11348 VkResult* pResult;
11349} VkBindMemoryStatusKHR;
11350
11351typedef struct VkBindDescriptorSetsInfoKHR {
11352 VkStructureType sType;
11353 const void* pNext;
11354 VkShaderStageFlags stageFlags;
11355 VkPipelineLayout layout;
11356 uint32_t firstSet;
11357 uint32_t descriptorSetCount;
11358 const VkDescriptorSet* pDescriptorSets;
11359 uint32_t dynamicOffsetCount;
11360 const uint32_t* pDynamicOffsets;
11361} VkBindDescriptorSetsInfoKHR;
11362
11363typedef struct VkPushConstantsInfoKHR {
11364 VkStructureType sType;
11365 const void* pNext;
11366 VkPipelineLayout layout;
11367 VkShaderStageFlags stageFlags;
11368 uint32_t offset;
11369 uint32_t size;
11370 const void* pValues;
11371} VkPushConstantsInfoKHR;
11372
11373typedef struct VkPushDescriptorSetInfoKHR {
11374 VkStructureType sType;
11375 const void* pNext;
11376 VkShaderStageFlags stageFlags;
11377 VkPipelineLayout layout;
11378 uint32_t set;
11379 uint32_t descriptorWriteCount;
11380 const VkWriteDescriptorSet* pDescriptorWrites;
11381} VkPushDescriptorSetInfoKHR;
11382
11383typedef struct VkPushDescriptorSetWithTemplateInfoKHR {
11384 VkStructureType sType;
11385 const void* pNext;
11386 VkDescriptorUpdateTemplate descriptorUpdateTemplate;
11387 VkPipelineLayout layout;
11388 uint32_t set;
11389 const void* pData;
11390} VkPushDescriptorSetWithTemplateInfoKHR;
11391
11392typedef struct VkSetDescriptorBufferOffsetsInfoEXT {
11393 VkStructureType sType;
11394 const void* pNext;
11395 VkShaderStageFlags stageFlags;
11396 VkPipelineLayout layout;
11397 uint32_t firstSet;
11398 uint32_t setCount;
11399 const uint32_t* pBufferIndices;
11400 const VkDeviceSize* pOffsets;
11401} VkSetDescriptorBufferOffsetsInfoEXT;
11402
11403typedef struct VkBindDescriptorBufferEmbeddedSamplersInfoEXT {
11404 VkStructureType sType;
11405 const void* pNext;
11406 VkShaderStageFlags stageFlags;
11407 VkPipelineLayout layout;
11408 uint32_t set;
11409} VkBindDescriptorBufferEmbeddedSamplersInfoEXT;
11410
11411typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorSets2KHR)(VkCommandBuffer commandBuffer, const VkBindDescriptorSetsInfoKHR* pBindDescriptorSetsInfo);
11412typedef void (VKAPI_PTR *PFN_vkCmdPushConstants2KHR)(VkCommandBuffer commandBuffer, const VkPushConstantsInfoKHR* pPushConstantsInfo);
11413typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSet2KHR)(VkCommandBuffer commandBuffer, const VkPushDescriptorSetInfoKHR* pPushDescriptorSetInfo);
11414typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplate2KHR)(VkCommandBuffer commandBuffer, const VkPushDescriptorSetWithTemplateInfoKHR* pPushDescriptorSetWithTemplateInfo);
11415typedef void (VKAPI_PTR *PFN_vkCmdSetDescriptorBufferOffsets2EXT)(VkCommandBuffer commandBuffer, const VkSetDescriptorBufferOffsetsInfoEXT* pSetDescriptorBufferOffsetsInfo);
11416typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT)(VkCommandBuffer commandBuffer, const VkBindDescriptorBufferEmbeddedSamplersInfoEXT* pBindDescriptorBufferEmbeddedSamplersInfo);
11417
11418#ifndef VK_NO_PROTOTYPES
11419VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets2KHR(
11420 VkCommandBuffer commandBuffer,
11421 const VkBindDescriptorSetsInfoKHR* pBindDescriptorSetsInfo);
11422
11423VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants2KHR(
11424 VkCommandBuffer commandBuffer,
11425 const VkPushConstantsInfoKHR* pPushConstantsInfo);
11426
11427VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSet2KHR(
11428 VkCommandBuffer commandBuffer,
11429 const VkPushDescriptorSetInfoKHR* pPushDescriptorSetInfo);
11430
11431VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplate2KHR(
11432 VkCommandBuffer commandBuffer,
11433 const VkPushDescriptorSetWithTemplateInfoKHR* pPushDescriptorSetWithTemplateInfo);
11434
11435VKAPI_ATTR void VKAPI_CALL vkCmdSetDescriptorBufferOffsets2EXT(
11436 VkCommandBuffer commandBuffer,
11437 const VkSetDescriptorBufferOffsetsInfoEXT* pSetDescriptorBufferOffsetsInfo);
11438
11439VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorBufferEmbeddedSamplers2EXT(
11440 VkCommandBuffer commandBuffer,
11441 const VkBindDescriptorBufferEmbeddedSamplersInfoEXT* pBindDescriptorBufferEmbeddedSamplersInfo);
11442#endif
11443
11444
11445// VK_EXT_debug_report is a preprocessor guard. Do not pass it to API calls.
11446#define VK_EXT_debug_report 1
11447VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT)
11448#define VK_EXT_DEBUG_REPORT_SPEC_VERSION 10
11449#define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report"
11450
11451typedef enum VkDebugReportObjectTypeEXT {
11452 VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT = 0,
11453 VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT = 1,
11454 VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT = 2,
11455 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT = 3,
11456 VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT = 4,
11457 VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT = 5,
11458 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT = 6,
11459 VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT = 7,
11460 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT = 8,
11461 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT = 9,
11462 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT = 10,
11463 VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT = 11,
11464 VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT = 12,
11465 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT = 13,
11466 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT = 14,
11467 VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT = 15,
11468 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT = 16,
11469 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT = 17,
11470 VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT = 18,
11471 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT = 19,
11472 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT = 20,
11473 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT = 21,
11474 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT = 22,
11475 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT = 23,
11476 VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT = 24,
11477 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT = 25,
11478 VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = 26,
11479 VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = 27,
11480 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT = 28,
11481 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT = 29,
11482 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = 30,
11483 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT = 33,
11484 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT = 1000156000,
11485 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT = 1000085000,
11486 VK_DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT = 1000029000,
11487 VK_DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT = 1000029001,
11488 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT = 1000150000,
11489 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT = 1000165000,
11490 VK_DEBUG_REPORT_OBJECT_TYPE_CUDA_MODULE_NV_EXT = 1000307000,
11491 VK_DEBUG_REPORT_OBJECT_TYPE_CUDA_FUNCTION_NV_EXT = 1000307001,
11492 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT = 1000366000,
11493 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT,
11494 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT,
11495 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT,
11496 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT,
11497 VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
11498} VkDebugReportObjectTypeEXT;
11499
11500typedef enum VkDebugReportFlagBitsEXT {
11501 VK_DEBUG_REPORT_INFORMATION_BIT_EXT = 0x00000001,
11502 VK_DEBUG_REPORT_WARNING_BIT_EXT = 0x00000002,
11503 VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = 0x00000004,
11504 VK_DEBUG_REPORT_ERROR_BIT_EXT = 0x00000008,
11505 VK_DEBUG_REPORT_DEBUG_BIT_EXT = 0x00000010,
11506 VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
11507} VkDebugReportFlagBitsEXT;
11508typedef VkFlags VkDebugReportFlagsEXT;
11509typedef VkBool32 (VKAPI_PTR *PFN_vkDebugReportCallbackEXT)(
11510 VkDebugReportFlagsEXT flags,
11511 VkDebugReportObjectTypeEXT objectType,
11512 uint64_t object,
11513 size_t location,
11514 int32_t messageCode,
11515 const char* pLayerPrefix,
11516 const char* pMessage,
11517 void* pUserData);
11518
11519typedef struct VkDebugReportCallbackCreateInfoEXT {
11520 VkStructureType sType;
11521 const void* pNext;
11522 VkDebugReportFlagsEXT flags;
11523 PFN_vkDebugReportCallbackEXT pfnCallback;
11524 void* pUserData;
11525} VkDebugReportCallbackCreateInfoEXT;
11526
11527typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugReportCallbackEXT)(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback);
11528typedef void (VKAPI_PTR *PFN_vkDestroyDebugReportCallbackEXT)(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator);
11529typedef 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);
11530
11531#ifndef VK_NO_PROTOTYPES
11532VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugReportCallbackEXT(
11533 VkInstance instance,
11534 const VkDebugReportCallbackCreateInfoEXT* pCreateInfo,
11535 const VkAllocationCallbacks* pAllocator,
11536 VkDebugReportCallbackEXT* pCallback);
11537
11538VKAPI_ATTR void VKAPI_CALL vkDestroyDebugReportCallbackEXT(
11539 VkInstance instance,
11540 VkDebugReportCallbackEXT callback,
11541 const VkAllocationCallbacks* pAllocator);
11542
11543VKAPI_ATTR void VKAPI_CALL vkDebugReportMessageEXT(
11544 VkInstance instance,
11545 VkDebugReportFlagsEXT flags,
11546 VkDebugReportObjectTypeEXT objectType,
11547 uint64_t object,
11548 size_t location,
11549 int32_t messageCode,
11550 const char* pLayerPrefix,
11551 const char* pMessage);
11552#endif
11553
11554
11555// VK_NV_glsl_shader is a preprocessor guard. Do not pass it to API calls.
11556#define VK_NV_glsl_shader 1
11557#define VK_NV_GLSL_SHADER_SPEC_VERSION 1
11558#define VK_NV_GLSL_SHADER_EXTENSION_NAME "VK_NV_glsl_shader"
11559
11560
11561// VK_EXT_depth_range_unrestricted is a preprocessor guard. Do not pass it to API calls.
11562#define VK_EXT_depth_range_unrestricted 1
11563#define VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION 1
11564#define VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME "VK_EXT_depth_range_unrestricted"
11565
11566
11567// VK_IMG_filter_cubic is a preprocessor guard. Do not pass it to API calls.
11568#define VK_IMG_filter_cubic 1
11569#define VK_IMG_FILTER_CUBIC_SPEC_VERSION 1
11570#define VK_IMG_FILTER_CUBIC_EXTENSION_NAME "VK_IMG_filter_cubic"
11571
11572
11573// VK_AMD_rasterization_order is a preprocessor guard. Do not pass it to API calls.
11574#define VK_AMD_rasterization_order 1
11575#define VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION 1
11576#define VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME "VK_AMD_rasterization_order"
11577
11578typedef enum VkRasterizationOrderAMD {
11579 VK_RASTERIZATION_ORDER_STRICT_AMD = 0,
11580 VK_RASTERIZATION_ORDER_RELAXED_AMD = 1,
11581 VK_RASTERIZATION_ORDER_MAX_ENUM_AMD = 0x7FFFFFFF
11582} VkRasterizationOrderAMD;
11583typedef struct VkPipelineRasterizationStateRasterizationOrderAMD {
11584 VkStructureType sType;
11585 const void* pNext;
11586 VkRasterizationOrderAMD rasterizationOrder;
11587} VkPipelineRasterizationStateRasterizationOrderAMD;
11588
11589
11590
11591// VK_AMD_shader_trinary_minmax is a preprocessor guard. Do not pass it to API calls.
11592#define VK_AMD_shader_trinary_minmax 1
11593#define VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION 1
11594#define VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME "VK_AMD_shader_trinary_minmax"
11595
11596
11597// VK_AMD_shader_explicit_vertex_parameter is a preprocessor guard. Do not pass it to API calls.
11598#define VK_AMD_shader_explicit_vertex_parameter 1
11599#define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION 1
11600#define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME "VK_AMD_shader_explicit_vertex_parameter"
11601
11602
11603// VK_EXT_debug_marker is a preprocessor guard. Do not pass it to API calls.
11604#define VK_EXT_debug_marker 1
11605#define VK_EXT_DEBUG_MARKER_SPEC_VERSION 4
11606#define VK_EXT_DEBUG_MARKER_EXTENSION_NAME "VK_EXT_debug_marker"
11607typedef struct VkDebugMarkerObjectNameInfoEXT {
11608 VkStructureType sType;
11609 const void* pNext;
11610 VkDebugReportObjectTypeEXT objectType;
11611 uint64_t object;
11612 const char* pObjectName;
11613} VkDebugMarkerObjectNameInfoEXT;
11614
11615typedef struct VkDebugMarkerObjectTagInfoEXT {
11616 VkStructureType sType;
11617 const void* pNext;
11618 VkDebugReportObjectTypeEXT objectType;
11619 uint64_t object;
11620 uint64_t tagName;
11621 size_t tagSize;
11622 const void* pTag;
11623} VkDebugMarkerObjectTagInfoEXT;
11624
11625typedef struct VkDebugMarkerMarkerInfoEXT {
11626 VkStructureType sType;
11627 const void* pNext;
11628 const char* pMarkerName;
11629 float color[4];
11630} VkDebugMarkerMarkerInfoEXT;
11631
11632typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectTagEXT)(VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
11633typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectNameEXT)(VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
11634typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerBeginEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
11635typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerEndEXT)(VkCommandBuffer commandBuffer);
11636typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerInsertEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
11637
11638#ifndef VK_NO_PROTOTYPES
11639VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectTagEXT(
11640 VkDevice device,
11641 const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
11642
11643VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectNameEXT(
11644 VkDevice device,
11645 const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
11646
11647VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerBeginEXT(
11648 VkCommandBuffer commandBuffer,
11649 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
11650
11651VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerEndEXT(
11652 VkCommandBuffer commandBuffer);
11653
11654VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerInsertEXT(
11655 VkCommandBuffer commandBuffer,
11656 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
11657#endif
11658
11659
11660// VK_AMD_gcn_shader is a preprocessor guard. Do not pass it to API calls.
11661#define VK_AMD_gcn_shader 1
11662#define VK_AMD_GCN_SHADER_SPEC_VERSION 1
11663#define VK_AMD_GCN_SHADER_EXTENSION_NAME "VK_AMD_gcn_shader"
11664
11665
11666// VK_NV_dedicated_allocation is a preprocessor guard. Do not pass it to API calls.
11667#define VK_NV_dedicated_allocation 1
11668#define VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION 1
11669#define VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_NV_dedicated_allocation"
11670typedef struct VkDedicatedAllocationImageCreateInfoNV {
11671 VkStructureType sType;
11672 const void* pNext;
11673 VkBool32 dedicatedAllocation;
11674} VkDedicatedAllocationImageCreateInfoNV;
11675
11676typedef struct VkDedicatedAllocationBufferCreateInfoNV {
11677 VkStructureType sType;
11678 const void* pNext;
11679 VkBool32 dedicatedAllocation;
11680} VkDedicatedAllocationBufferCreateInfoNV;
11681
11682typedef struct VkDedicatedAllocationMemoryAllocateInfoNV {
11683 VkStructureType sType;
11684 const void* pNext;
11685 VkImage image;
11686 VkBuffer buffer;
11687} VkDedicatedAllocationMemoryAllocateInfoNV;
11688
11689
11690
11691// VK_EXT_transform_feedback is a preprocessor guard. Do not pass it to API calls.
11692#define VK_EXT_transform_feedback 1
11693#define VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION 1
11694#define VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME "VK_EXT_transform_feedback"
11695typedef VkFlags VkPipelineRasterizationStateStreamCreateFlagsEXT;
11696typedef struct VkPhysicalDeviceTransformFeedbackFeaturesEXT {
11697 VkStructureType sType;
11698 void* pNext;
11699 VkBool32 transformFeedback;
11700 VkBool32 geometryStreams;
11701} VkPhysicalDeviceTransformFeedbackFeaturesEXT;
11702
11703typedef struct VkPhysicalDeviceTransformFeedbackPropertiesEXT {
11704 VkStructureType sType;
11705 void* pNext;
11706 uint32_t maxTransformFeedbackStreams;
11707 uint32_t maxTransformFeedbackBuffers;
11708 VkDeviceSize maxTransformFeedbackBufferSize;
11709 uint32_t maxTransformFeedbackStreamDataSize;
11710 uint32_t maxTransformFeedbackBufferDataSize;
11711 uint32_t maxTransformFeedbackBufferDataStride;
11712 VkBool32 transformFeedbackQueries;
11713 VkBool32 transformFeedbackStreamsLinesTriangles;
11714 VkBool32 transformFeedbackRasterizationStreamSelect;
11715 VkBool32 transformFeedbackDraw;
11716} VkPhysicalDeviceTransformFeedbackPropertiesEXT;
11717
11718typedef struct VkPipelineRasterizationStateStreamCreateInfoEXT {
11719 VkStructureType sType;
11720 const void* pNext;
11721 VkPipelineRasterizationStateStreamCreateFlagsEXT flags;
11722 uint32_t rasterizationStream;
11723} VkPipelineRasterizationStateStreamCreateInfoEXT;
11724
11725typedef void (VKAPI_PTR *PFN_vkCmdBindTransformFeedbackBuffersEXT)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes);
11726typedef void (VKAPI_PTR *PFN_vkCmdBeginTransformFeedbackEXT)(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
11727typedef void (VKAPI_PTR *PFN_vkCmdEndTransformFeedbackEXT)(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
11728typedef void (VKAPI_PTR *PFN_vkCmdBeginQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index);
11729typedef void (VKAPI_PTR *PFN_vkCmdEndQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index);
11730typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectByteCountEXT)(VkCommandBuffer commandBuffer, uint32_t instanceCount, uint32_t firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, uint32_t counterOffset, uint32_t vertexStride);
11731
11732#ifndef VK_NO_PROTOTYPES
11733VKAPI_ATTR void VKAPI_CALL vkCmdBindTransformFeedbackBuffersEXT(
11734 VkCommandBuffer commandBuffer,
11735 uint32_t firstBinding,
11736 uint32_t bindingCount,
11737 const VkBuffer* pBuffers,
11738 const VkDeviceSize* pOffsets,
11739 const VkDeviceSize* pSizes);
11740
11741VKAPI_ATTR void VKAPI_CALL vkCmdBeginTransformFeedbackEXT(
11742 VkCommandBuffer commandBuffer,
11743 uint32_t firstCounterBuffer,
11744 uint32_t counterBufferCount,
11745 const VkBuffer* pCounterBuffers,
11746 const VkDeviceSize* pCounterBufferOffsets);
11747
11748VKAPI_ATTR void VKAPI_CALL vkCmdEndTransformFeedbackEXT(
11749 VkCommandBuffer commandBuffer,
11750 uint32_t firstCounterBuffer,
11751 uint32_t counterBufferCount,
11752 const VkBuffer* pCounterBuffers,
11753 const VkDeviceSize* pCounterBufferOffsets);
11754
11755VKAPI_ATTR void VKAPI_CALL vkCmdBeginQueryIndexedEXT(
11756 VkCommandBuffer commandBuffer,
11757 VkQueryPool queryPool,
11758 uint32_t query,
11759 VkQueryControlFlags flags,
11760 uint32_t index);
11761
11762VKAPI_ATTR void VKAPI_CALL vkCmdEndQueryIndexedEXT(
11763 VkCommandBuffer commandBuffer,
11764 VkQueryPool queryPool,
11765 uint32_t query,
11766 uint32_t index);
11767
11768VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectByteCountEXT(
11769 VkCommandBuffer commandBuffer,
11770 uint32_t instanceCount,
11771 uint32_t firstInstance,
11772 VkBuffer counterBuffer,
11773 VkDeviceSize counterBufferOffset,
11774 uint32_t counterOffset,
11775 uint32_t vertexStride);
11776#endif
11777
11778
11779// VK_NVX_binary_import is a preprocessor guard. Do not pass it to API calls.
11780#define VK_NVX_binary_import 1
11781VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuModuleNVX)
11782VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuFunctionNVX)
11783#define VK_NVX_BINARY_IMPORT_SPEC_VERSION 1
11784#define VK_NVX_BINARY_IMPORT_EXTENSION_NAME "VK_NVX_binary_import"
11785typedef struct VkCuModuleCreateInfoNVX {
11786 VkStructureType sType;
11787 const void* pNext;
11788 size_t dataSize;
11789 const void* pData;
11790} VkCuModuleCreateInfoNVX;
11791
11792typedef struct VkCuFunctionCreateInfoNVX {
11793 VkStructureType sType;
11794 const void* pNext;
11795 VkCuModuleNVX module;
11796 const char* pName;
11797} VkCuFunctionCreateInfoNVX;
11798
11799typedef struct VkCuLaunchInfoNVX {
11800 VkStructureType sType;
11801 const void* pNext;
11802 VkCuFunctionNVX function;
11803 uint32_t gridDimX;
11804 uint32_t gridDimY;
11805 uint32_t gridDimZ;
11806 uint32_t blockDimX;
11807 uint32_t blockDimY;
11808 uint32_t blockDimZ;
11809 uint32_t sharedMemBytes;
11810 size_t paramCount;
11811 const void* const * pParams;
11812 size_t extraCount;
11813 const void* const * pExtras;
11814} VkCuLaunchInfoNVX;
11815
11816typedef VkResult (VKAPI_PTR *PFN_vkCreateCuModuleNVX)(VkDevice device, const VkCuModuleCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuModuleNVX* pModule);
11817typedef VkResult (VKAPI_PTR *PFN_vkCreateCuFunctionNVX)(VkDevice device, const VkCuFunctionCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuFunctionNVX* pFunction);
11818typedef void (VKAPI_PTR *PFN_vkDestroyCuModuleNVX)(VkDevice device, VkCuModuleNVX module, const VkAllocationCallbacks* pAllocator);
11819typedef void (VKAPI_PTR *PFN_vkDestroyCuFunctionNVX)(VkDevice device, VkCuFunctionNVX function, const VkAllocationCallbacks* pAllocator);
11820typedef void (VKAPI_PTR *PFN_vkCmdCuLaunchKernelNVX)(VkCommandBuffer commandBuffer, const VkCuLaunchInfoNVX* pLaunchInfo);
11821
11822#ifndef VK_NO_PROTOTYPES
11823VKAPI_ATTR VkResult VKAPI_CALL vkCreateCuModuleNVX(
11824 VkDevice device,
11825 const VkCuModuleCreateInfoNVX* pCreateInfo,
11826 const VkAllocationCallbacks* pAllocator,
11827 VkCuModuleNVX* pModule);
11828
11829VKAPI_ATTR VkResult VKAPI_CALL vkCreateCuFunctionNVX(
11830 VkDevice device,
11831 const VkCuFunctionCreateInfoNVX* pCreateInfo,
11832 const VkAllocationCallbacks* pAllocator,
11833 VkCuFunctionNVX* pFunction);
11834
11835VKAPI_ATTR void VKAPI_CALL vkDestroyCuModuleNVX(
11836 VkDevice device,
11837 VkCuModuleNVX module,
11838 const VkAllocationCallbacks* pAllocator);
11839
11840VKAPI_ATTR void VKAPI_CALL vkDestroyCuFunctionNVX(
11841 VkDevice device,
11842 VkCuFunctionNVX function,
11843 const VkAllocationCallbacks* pAllocator);
11844
11845VKAPI_ATTR void VKAPI_CALL vkCmdCuLaunchKernelNVX(
11846 VkCommandBuffer commandBuffer,
11847 const VkCuLaunchInfoNVX* pLaunchInfo);
11848#endif
11849
11850
11851// VK_NVX_image_view_handle is a preprocessor guard. Do not pass it to API calls.
11852#define VK_NVX_image_view_handle 1
11853#define VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION 2
11854#define VK_NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME "VK_NVX_image_view_handle"
11855typedef struct VkImageViewHandleInfoNVX {
11856 VkStructureType sType;
11857 const void* pNext;
11858 VkImageView imageView;
11859 VkDescriptorType descriptorType;
11860 VkSampler sampler;
11861} VkImageViewHandleInfoNVX;
11862
11863typedef struct VkImageViewAddressPropertiesNVX {
11864 VkStructureType sType;
11865 void* pNext;
11866 VkDeviceAddress deviceAddress;
11867 VkDeviceSize size;
11868} VkImageViewAddressPropertiesNVX;
11869
11870typedef uint32_t (VKAPI_PTR *PFN_vkGetImageViewHandleNVX)(VkDevice device, const VkImageViewHandleInfoNVX* pInfo);
11871typedef VkResult (VKAPI_PTR *PFN_vkGetImageViewAddressNVX)(VkDevice device, VkImageView imageView, VkImageViewAddressPropertiesNVX* pProperties);
11872
11873#ifndef VK_NO_PROTOTYPES
11874VKAPI_ATTR uint32_t VKAPI_CALL vkGetImageViewHandleNVX(
11875 VkDevice device,
11876 const VkImageViewHandleInfoNVX* pInfo);
11877
11878VKAPI_ATTR VkResult VKAPI_CALL vkGetImageViewAddressNVX(
11879 VkDevice device,
11880 VkImageView imageView,
11881 VkImageViewAddressPropertiesNVX* pProperties);
11882#endif
11883
11884
11885// VK_AMD_draw_indirect_count is a preprocessor guard. Do not pass it to API calls.
11886#define VK_AMD_draw_indirect_count 1
11887#define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 2
11888#define VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_AMD_draw_indirect_count"
11889typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
11890typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
11891
11892#ifndef VK_NO_PROTOTYPES
11893VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountAMD(
11894 VkCommandBuffer commandBuffer,
11895 VkBuffer buffer,
11896 VkDeviceSize offset,
11897 VkBuffer countBuffer,
11898 VkDeviceSize countBufferOffset,
11899 uint32_t maxDrawCount,
11900 uint32_t stride);
11901
11902VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountAMD(
11903 VkCommandBuffer commandBuffer,
11904 VkBuffer buffer,
11905 VkDeviceSize offset,
11906 VkBuffer countBuffer,
11907 VkDeviceSize countBufferOffset,
11908 uint32_t maxDrawCount,
11909 uint32_t stride);
11910#endif
11911
11912
11913// VK_AMD_negative_viewport_height is a preprocessor guard. Do not pass it to API calls.
11914#define VK_AMD_negative_viewport_height 1
11915#define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION 1
11916#define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME "VK_AMD_negative_viewport_height"
11917
11918
11919// VK_AMD_gpu_shader_half_float is a preprocessor guard. Do not pass it to API calls.
11920#define VK_AMD_gpu_shader_half_float 1
11921#define VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION 2
11922#define VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME "VK_AMD_gpu_shader_half_float"
11923
11924
11925// VK_AMD_shader_ballot is a preprocessor guard. Do not pass it to API calls.
11926#define VK_AMD_shader_ballot 1
11927#define VK_AMD_SHADER_BALLOT_SPEC_VERSION 1
11928#define VK_AMD_SHADER_BALLOT_EXTENSION_NAME "VK_AMD_shader_ballot"
11929
11930
11931// VK_AMD_texture_gather_bias_lod is a preprocessor guard. Do not pass it to API calls.
11932#define VK_AMD_texture_gather_bias_lod 1
11933#define VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION 1
11934#define VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME "VK_AMD_texture_gather_bias_lod"
11935typedef struct VkTextureLODGatherFormatPropertiesAMD {
11936 VkStructureType sType;
11937 void* pNext;
11938 VkBool32 supportsTextureGatherLODBiasAMD;
11939} VkTextureLODGatherFormatPropertiesAMD;
11940
11941
11942
11943// VK_AMD_shader_info is a preprocessor guard. Do not pass it to API calls.
11944#define VK_AMD_shader_info 1
11945#define VK_AMD_SHADER_INFO_SPEC_VERSION 1
11946#define VK_AMD_SHADER_INFO_EXTENSION_NAME "VK_AMD_shader_info"
11947
11948typedef enum VkShaderInfoTypeAMD {
11949 VK_SHADER_INFO_TYPE_STATISTICS_AMD = 0,
11950 VK_SHADER_INFO_TYPE_BINARY_AMD = 1,
11951 VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD = 2,
11952 VK_SHADER_INFO_TYPE_MAX_ENUM_AMD = 0x7FFFFFFF
11953} VkShaderInfoTypeAMD;
11954typedef struct VkShaderResourceUsageAMD {
11955 uint32_t numUsedVgprs;
11956 uint32_t numUsedSgprs;
11957 uint32_t ldsSizePerLocalWorkGroup;
11958 size_t ldsUsageSizeInBytes;
11959 size_t scratchMemUsageInBytes;
11960} VkShaderResourceUsageAMD;
11961
11962typedef struct VkShaderStatisticsInfoAMD {
11963 VkShaderStageFlags shaderStageMask;
11964 VkShaderResourceUsageAMD resourceUsage;
11965 uint32_t numPhysicalVgprs;
11966 uint32_t numPhysicalSgprs;
11967 uint32_t numAvailableVgprs;
11968 uint32_t numAvailableSgprs;
11969 uint32_t computeWorkGroupSize[3];
11970} VkShaderStatisticsInfoAMD;
11971
11972typedef VkResult (VKAPI_PTR *PFN_vkGetShaderInfoAMD)(VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, size_t* pInfoSize, void* pInfo);
11973
11974#ifndef VK_NO_PROTOTYPES
11975VKAPI_ATTR VkResult VKAPI_CALL vkGetShaderInfoAMD(
11976 VkDevice device,
11977 VkPipeline pipeline,
11978 VkShaderStageFlagBits shaderStage,
11979 VkShaderInfoTypeAMD infoType,
11980 size_t* pInfoSize,
11981 void* pInfo);
11982#endif
11983
11984
11985// VK_AMD_shader_image_load_store_lod is a preprocessor guard. Do not pass it to API calls.
11986#define VK_AMD_shader_image_load_store_lod 1
11987#define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION 1
11988#define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME "VK_AMD_shader_image_load_store_lod"
11989
11990
11991// VK_NV_corner_sampled_image is a preprocessor guard. Do not pass it to API calls.
11992#define VK_NV_corner_sampled_image 1
11993#define VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION 2
11994#define VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME "VK_NV_corner_sampled_image"
11995typedef struct VkPhysicalDeviceCornerSampledImageFeaturesNV {
11996 VkStructureType sType;
11997 void* pNext;
11998 VkBool32 cornerSampledImage;
11999} VkPhysicalDeviceCornerSampledImageFeaturesNV;
12000
12001
12002
12003// VK_IMG_format_pvrtc is a preprocessor guard. Do not pass it to API calls.
12004#define VK_IMG_format_pvrtc 1
12005#define VK_IMG_FORMAT_PVRTC_SPEC_VERSION 1
12006#define VK_IMG_FORMAT_PVRTC_EXTENSION_NAME "VK_IMG_format_pvrtc"
12007
12008
12009// VK_NV_external_memory_capabilities is a preprocessor guard. Do not pass it to API calls.
12010#define VK_NV_external_memory_capabilities 1
12011#define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
12012#define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_NV_external_memory_capabilities"
12013
12014typedef enum VkExternalMemoryHandleTypeFlagBitsNV {
12015 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV = 0x00000001,
12016 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV = 0x00000002,
12017 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV = 0x00000004,
12018 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV = 0x00000008,
12019 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
12020} VkExternalMemoryHandleTypeFlagBitsNV;
12021typedef VkFlags VkExternalMemoryHandleTypeFlagsNV;
12022
12023typedef enum VkExternalMemoryFeatureFlagBitsNV {
12024 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV = 0x00000001,
12025 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV = 0x00000002,
12026 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV = 0x00000004,
12027 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
12028} VkExternalMemoryFeatureFlagBitsNV;
12029typedef VkFlags VkExternalMemoryFeatureFlagsNV;
12030typedef struct VkExternalImageFormatPropertiesNV {
12031 VkImageFormatProperties imageFormatProperties;
12032 VkExternalMemoryFeatureFlagsNV externalMemoryFeatures;
12033 VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes;
12034 VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes;
12035} VkExternalImageFormatPropertiesNV;
12036
12037typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
12038
12039#ifndef VK_NO_PROTOTYPES
12040VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
12041 VkPhysicalDevice physicalDevice,
12042 VkFormat format,
12043 VkImageType type,
12044 VkImageTiling tiling,
12045 VkImageUsageFlags usage,
12046 VkImageCreateFlags flags,
12047 VkExternalMemoryHandleTypeFlagsNV externalHandleType,
12048 VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
12049#endif
12050
12051
12052// VK_NV_external_memory is a preprocessor guard. Do not pass it to API calls.
12053#define VK_NV_external_memory 1
12054#define VK_NV_EXTERNAL_MEMORY_SPEC_VERSION 1
12055#define VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME "VK_NV_external_memory"
12056typedef struct VkExternalMemoryImageCreateInfoNV {
12057 VkStructureType sType;
12058 const void* pNext;
12059 VkExternalMemoryHandleTypeFlagsNV handleTypes;
12060} VkExternalMemoryImageCreateInfoNV;
12061
12062typedef struct VkExportMemoryAllocateInfoNV {
12063 VkStructureType sType;
12064 const void* pNext;
12065 VkExternalMemoryHandleTypeFlagsNV handleTypes;
12066} VkExportMemoryAllocateInfoNV;
12067
12068
12069
12070// VK_EXT_validation_flags is a preprocessor guard. Do not pass it to API calls.
12071#define VK_EXT_validation_flags 1
12072#define VK_EXT_VALIDATION_FLAGS_SPEC_VERSION 3
12073#define VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME "VK_EXT_validation_flags"
12074
12075typedef enum VkValidationCheckEXT {
12076 VK_VALIDATION_CHECK_ALL_EXT = 0,
12077 VK_VALIDATION_CHECK_SHADERS_EXT = 1,
12078 VK_VALIDATION_CHECK_MAX_ENUM_EXT = 0x7FFFFFFF
12079} VkValidationCheckEXT;
12080typedef struct VkValidationFlagsEXT {
12081 VkStructureType sType;
12082 const void* pNext;
12083 uint32_t disabledValidationCheckCount;
12084 const VkValidationCheckEXT* pDisabledValidationChecks;
12085} VkValidationFlagsEXT;
12086
12087
12088
12089// VK_EXT_shader_subgroup_ballot is a preprocessor guard. Do not pass it to API calls.
12090#define VK_EXT_shader_subgroup_ballot 1
12091#define VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION 1
12092#define VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME "VK_EXT_shader_subgroup_ballot"
12093
12094
12095// VK_EXT_shader_subgroup_vote is a preprocessor guard. Do not pass it to API calls.
12096#define VK_EXT_shader_subgroup_vote 1
12097#define VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION 1
12098#define VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME "VK_EXT_shader_subgroup_vote"
12099
12100
12101// VK_EXT_texture_compression_astc_hdr is a preprocessor guard. Do not pass it to API calls.
12102#define VK_EXT_texture_compression_astc_hdr 1
12103#define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION 1
12104#define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME "VK_EXT_texture_compression_astc_hdr"
12105typedef VkPhysicalDeviceTextureCompressionASTCHDRFeatures VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT;
12106
12107
12108
12109// VK_EXT_astc_decode_mode is a preprocessor guard. Do not pass it to API calls.
12110#define VK_EXT_astc_decode_mode 1
12111#define VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION 1
12112#define VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME "VK_EXT_astc_decode_mode"
12113typedef struct VkImageViewASTCDecodeModeEXT {
12114 VkStructureType sType;
12115 const void* pNext;
12116 VkFormat decodeMode;
12117} VkImageViewASTCDecodeModeEXT;
12118
12119typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT {
12120 VkStructureType sType;
12121 void* pNext;
12122 VkBool32 decodeModeSharedExponent;
12123} VkPhysicalDeviceASTCDecodeFeaturesEXT;
12124
12125
12126
12127// VK_EXT_pipeline_robustness is a preprocessor guard. Do not pass it to API calls.
12128#define VK_EXT_pipeline_robustness 1
12129#define VK_EXT_PIPELINE_ROBUSTNESS_SPEC_VERSION 1
12130#define VK_EXT_PIPELINE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_pipeline_robustness"
12131
12132typedef enum VkPipelineRobustnessBufferBehaviorEXT {
12133 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DEVICE_DEFAULT_EXT = 0,
12134 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DISABLED_EXT = 1,
12135 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT = 2,
12136 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT = 3,
12137 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_MAX_ENUM_EXT = 0x7FFFFFFF
12138} VkPipelineRobustnessBufferBehaviorEXT;
12139
12140typedef enum VkPipelineRobustnessImageBehaviorEXT {
12141 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DEVICE_DEFAULT_EXT = 0,
12142 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DISABLED_EXT = 1,
12143 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_EXT = 2,
12144 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_2_EXT = 3,
12145 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_MAX_ENUM_EXT = 0x7FFFFFFF
12146} VkPipelineRobustnessImageBehaviorEXT;
12147typedef struct VkPhysicalDevicePipelineRobustnessFeaturesEXT {
12148 VkStructureType sType;
12149 void* pNext;
12150 VkBool32 pipelineRobustness;
12151} VkPhysicalDevicePipelineRobustnessFeaturesEXT;
12152
12153typedef struct VkPhysicalDevicePipelineRobustnessPropertiesEXT {
12154 VkStructureType sType;
12155 void* pNext;
12156 VkPipelineRobustnessBufferBehaviorEXT defaultRobustnessStorageBuffers;
12157 VkPipelineRobustnessBufferBehaviorEXT defaultRobustnessUniformBuffers;
12158 VkPipelineRobustnessBufferBehaviorEXT defaultRobustnessVertexInputs;
12159 VkPipelineRobustnessImageBehaviorEXT defaultRobustnessImages;
12160} VkPhysicalDevicePipelineRobustnessPropertiesEXT;
12161
12162typedef struct VkPipelineRobustnessCreateInfoEXT {
12163 VkStructureType sType;
12164 const void* pNext;
12165 VkPipelineRobustnessBufferBehaviorEXT storageBuffers;
12166 VkPipelineRobustnessBufferBehaviorEXT uniformBuffers;
12167 VkPipelineRobustnessBufferBehaviorEXT vertexInputs;
12168 VkPipelineRobustnessImageBehaviorEXT images;
12169} VkPipelineRobustnessCreateInfoEXT;
12170
12171
12172
12173// VK_EXT_conditional_rendering is a preprocessor guard. Do not pass it to API calls.
12174#define VK_EXT_conditional_rendering 1
12175#define VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION 2
12176#define VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME "VK_EXT_conditional_rendering"
12177
12178typedef enum VkConditionalRenderingFlagBitsEXT {
12179 VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT = 0x00000001,
12180 VK_CONDITIONAL_RENDERING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
12181} VkConditionalRenderingFlagBitsEXT;
12182typedef VkFlags VkConditionalRenderingFlagsEXT;
12183typedef struct VkConditionalRenderingBeginInfoEXT {
12184 VkStructureType sType;
12185 const void* pNext;
12186 VkBuffer buffer;
12187 VkDeviceSize offset;
12188 VkConditionalRenderingFlagsEXT flags;
12189} VkConditionalRenderingBeginInfoEXT;
12190
12191typedef struct VkPhysicalDeviceConditionalRenderingFeaturesEXT {
12192 VkStructureType sType;
12193 void* pNext;
12194 VkBool32 conditionalRendering;
12195 VkBool32 inheritedConditionalRendering;
12196} VkPhysicalDeviceConditionalRenderingFeaturesEXT;
12197
12198typedef struct VkCommandBufferInheritanceConditionalRenderingInfoEXT {
12199 VkStructureType sType;
12200 const void* pNext;
12201 VkBool32 conditionalRenderingEnable;
12202} VkCommandBufferInheritanceConditionalRenderingInfoEXT;
12203
12204typedef void (VKAPI_PTR *PFN_vkCmdBeginConditionalRenderingEXT)(VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
12205typedef void (VKAPI_PTR *PFN_vkCmdEndConditionalRenderingEXT)(VkCommandBuffer commandBuffer);
12206
12207#ifndef VK_NO_PROTOTYPES
12208VKAPI_ATTR void VKAPI_CALL vkCmdBeginConditionalRenderingEXT(
12209 VkCommandBuffer commandBuffer,
12210 const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
12211
12212VKAPI_ATTR void VKAPI_CALL vkCmdEndConditionalRenderingEXT(
12213 VkCommandBuffer commandBuffer);
12214#endif
12215
12216
12217// VK_NV_clip_space_w_scaling is a preprocessor guard. Do not pass it to API calls.
12218#define VK_NV_clip_space_w_scaling 1
12219#define VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION 1
12220#define VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME "VK_NV_clip_space_w_scaling"
12221typedef struct VkViewportWScalingNV {
12222 float xcoeff;
12223 float ycoeff;
12224} VkViewportWScalingNV;
12225
12226typedef struct VkPipelineViewportWScalingStateCreateInfoNV {
12227 VkStructureType sType;
12228 const void* pNext;
12229 VkBool32 viewportWScalingEnable;
12230 uint32_t viewportCount;
12231 const VkViewportWScalingNV* pViewportWScalings;
12232} VkPipelineViewportWScalingStateCreateInfoNV;
12233
12234typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportWScalingNV* pViewportWScalings);
12235
12236#ifndef VK_NO_PROTOTYPES
12237VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWScalingNV(
12238 VkCommandBuffer commandBuffer,
12239 uint32_t firstViewport,
12240 uint32_t viewportCount,
12241 const VkViewportWScalingNV* pViewportWScalings);
12242#endif
12243
12244
12245// VK_EXT_direct_mode_display is a preprocessor guard. Do not pass it to API calls.
12246#define VK_EXT_direct_mode_display 1
12247#define VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION 1
12248#define VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME "VK_EXT_direct_mode_display"
12249typedef VkResult (VKAPI_PTR *PFN_vkReleaseDisplayEXT)(VkPhysicalDevice physicalDevice, VkDisplayKHR display);
12250
12251#ifndef VK_NO_PROTOTYPES
12252VKAPI_ATTR VkResult VKAPI_CALL vkReleaseDisplayEXT(
12253 VkPhysicalDevice physicalDevice,
12254 VkDisplayKHR display);
12255#endif
12256
12257
12258// VK_EXT_display_surface_counter is a preprocessor guard. Do not pass it to API calls.
12259#define VK_EXT_display_surface_counter 1
12260#define VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION 1
12261#define VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME "VK_EXT_display_surface_counter"
12262
12263typedef enum VkSurfaceCounterFlagBitsEXT {
12264 VK_SURFACE_COUNTER_VBLANK_BIT_EXT = 0x00000001,
12265 VK_SURFACE_COUNTER_VBLANK_EXT = VK_SURFACE_COUNTER_VBLANK_BIT_EXT,
12266 VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
12267} VkSurfaceCounterFlagBitsEXT;
12268typedef VkFlags VkSurfaceCounterFlagsEXT;
12269typedef struct VkSurfaceCapabilities2EXT {
12270 VkStructureType sType;
12271 void* pNext;
12272 uint32_t minImageCount;
12273 uint32_t maxImageCount;
12274 VkExtent2D currentExtent;
12275 VkExtent2D minImageExtent;
12276 VkExtent2D maxImageExtent;
12277 uint32_t maxImageArrayLayers;
12278 VkSurfaceTransformFlagsKHR supportedTransforms;
12279 VkSurfaceTransformFlagBitsKHR currentTransform;
12280 VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
12281 VkImageUsageFlags supportedUsageFlags;
12282 VkSurfaceCounterFlagsEXT supportedSurfaceCounters;
12283} VkSurfaceCapabilities2EXT;
12284
12285typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
12286
12287#ifndef VK_NO_PROTOTYPES
12288VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2EXT(
12289 VkPhysicalDevice physicalDevice,
12290 VkSurfaceKHR surface,
12291 VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
12292#endif
12293
12294
12295// VK_EXT_display_control is a preprocessor guard. Do not pass it to API calls.
12296#define VK_EXT_display_control 1
12297#define VK_EXT_DISPLAY_CONTROL_SPEC_VERSION 1
12298#define VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME "VK_EXT_display_control"
12299
12300typedef enum VkDisplayPowerStateEXT {
12301 VK_DISPLAY_POWER_STATE_OFF_EXT = 0,
12302 VK_DISPLAY_POWER_STATE_SUSPEND_EXT = 1,
12303 VK_DISPLAY_POWER_STATE_ON_EXT = 2,
12304 VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT = 0x7FFFFFFF
12305} VkDisplayPowerStateEXT;
12306
12307typedef enum VkDeviceEventTypeEXT {
12308 VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT = 0,
12309 VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
12310} VkDeviceEventTypeEXT;
12311
12312typedef enum VkDisplayEventTypeEXT {
12313 VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT = 0,
12314 VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
12315} VkDisplayEventTypeEXT;
12316typedef struct VkDisplayPowerInfoEXT {
12317 VkStructureType sType;
12318 const void* pNext;
12319 VkDisplayPowerStateEXT powerState;
12320} VkDisplayPowerInfoEXT;
12321
12322typedef struct VkDeviceEventInfoEXT {
12323 VkStructureType sType;
12324 const void* pNext;
12325 VkDeviceEventTypeEXT deviceEvent;
12326} VkDeviceEventInfoEXT;
12327
12328typedef struct VkDisplayEventInfoEXT {
12329 VkStructureType sType;
12330 const void* pNext;
12331 VkDisplayEventTypeEXT displayEvent;
12332} VkDisplayEventInfoEXT;
12333
12334typedef struct VkSwapchainCounterCreateInfoEXT {
12335 VkStructureType sType;
12336 const void* pNext;
12337 VkSurfaceCounterFlagsEXT surfaceCounters;
12338} VkSwapchainCounterCreateInfoEXT;
12339
12340typedef VkResult (VKAPI_PTR *PFN_vkDisplayPowerControlEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
12341typedef VkResult (VKAPI_PTR *PFN_vkRegisterDeviceEventEXT)(VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
12342typedef VkResult (VKAPI_PTR *PFN_vkRegisterDisplayEventEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
12343typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainCounterEXT)(VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, uint64_t* pCounterValue);
12344
12345#ifndef VK_NO_PROTOTYPES
12346VKAPI_ATTR VkResult VKAPI_CALL vkDisplayPowerControlEXT(
12347 VkDevice device,
12348 VkDisplayKHR display,
12349 const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
12350
12351VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDeviceEventEXT(
12352 VkDevice device,
12353 const VkDeviceEventInfoEXT* pDeviceEventInfo,
12354 const VkAllocationCallbacks* pAllocator,
12355 VkFence* pFence);
12356
12357VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDisplayEventEXT(
12358 VkDevice device,
12359 VkDisplayKHR display,
12360 const VkDisplayEventInfoEXT* pDisplayEventInfo,
12361 const VkAllocationCallbacks* pAllocator,
12362 VkFence* pFence);
12363
12364VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainCounterEXT(
12365 VkDevice device,
12366 VkSwapchainKHR swapchain,
12367 VkSurfaceCounterFlagBitsEXT counter,
12368 uint64_t* pCounterValue);
12369#endif
12370
12371
12372// VK_GOOGLE_display_timing is a preprocessor guard. Do not pass it to API calls.
12373#define VK_GOOGLE_display_timing 1
12374#define VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION 1
12375#define VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME "VK_GOOGLE_display_timing"
12376typedef struct VkRefreshCycleDurationGOOGLE {
12377 uint64_t refreshDuration;
12378} VkRefreshCycleDurationGOOGLE;
12379
12380typedef struct VkPastPresentationTimingGOOGLE {
12381 uint32_t presentID;
12382 uint64_t desiredPresentTime;
12383 uint64_t actualPresentTime;
12384 uint64_t earliestPresentTime;
12385 uint64_t presentMargin;
12386} VkPastPresentationTimingGOOGLE;
12387
12388typedef struct VkPresentTimeGOOGLE {
12389 uint32_t presentID;
12390 uint64_t desiredPresentTime;
12391} VkPresentTimeGOOGLE;
12392
12393typedef struct VkPresentTimesInfoGOOGLE {
12394 VkStructureType sType;
12395 const void* pNext;
12396 uint32_t swapchainCount;
12397 const VkPresentTimeGOOGLE* pTimes;
12398} VkPresentTimesInfoGOOGLE;
12399
12400typedef VkResult (VKAPI_PTR *PFN_vkGetRefreshCycleDurationGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
12401typedef VkResult (VKAPI_PTR *PFN_vkGetPastPresentationTimingGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings);
12402
12403#ifndef VK_NO_PROTOTYPES
12404VKAPI_ATTR VkResult VKAPI_CALL vkGetRefreshCycleDurationGOOGLE(
12405 VkDevice device,
12406 VkSwapchainKHR swapchain,
12407 VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
12408
12409VKAPI_ATTR VkResult VKAPI_CALL vkGetPastPresentationTimingGOOGLE(
12410 VkDevice device,
12411 VkSwapchainKHR swapchain,
12412 uint32_t* pPresentationTimingCount,
12413 VkPastPresentationTimingGOOGLE* pPresentationTimings);
12414#endif
12415
12416
12417// VK_NV_sample_mask_override_coverage is a preprocessor guard. Do not pass it to API calls.
12418#define VK_NV_sample_mask_override_coverage 1
12419#define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION 1
12420#define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME "VK_NV_sample_mask_override_coverage"
12421
12422
12423// VK_NV_geometry_shader_passthrough is a preprocessor guard. Do not pass it to API calls.
12424#define VK_NV_geometry_shader_passthrough 1
12425#define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION 1
12426#define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME "VK_NV_geometry_shader_passthrough"
12427
12428
12429// VK_NV_viewport_array2 is a preprocessor guard. Do not pass it to API calls.
12430#define VK_NV_viewport_array2 1
12431#define VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION 1
12432#define VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME "VK_NV_viewport_array2"
12433#define VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION
12434#define VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME
12435
12436
12437// VK_NVX_multiview_per_view_attributes is a preprocessor guard. Do not pass it to API calls.
12438#define VK_NVX_multiview_per_view_attributes 1
12439#define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION 1
12440#define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME "VK_NVX_multiview_per_view_attributes"
12441typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
12442 VkStructureType sType;
12443 void* pNext;
12444 VkBool32 perViewPositionAllComponents;
12445} VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
12446
12447
12448
12449// VK_NV_viewport_swizzle is a preprocessor guard. Do not pass it to API calls.
12450#define VK_NV_viewport_swizzle 1
12451#define VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION 1
12452#define VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME "VK_NV_viewport_swizzle"
12453
12454typedef enum VkViewportCoordinateSwizzleNV {
12455 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV = 0,
12456 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV = 1,
12457 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV = 2,
12458 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV = 3,
12459 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV = 4,
12460 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV = 5,
12461 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV = 6,
12462 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV = 7,
12463 VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV = 0x7FFFFFFF
12464} VkViewportCoordinateSwizzleNV;
12465typedef VkFlags VkPipelineViewportSwizzleStateCreateFlagsNV;
12466typedef struct VkViewportSwizzleNV {
12467 VkViewportCoordinateSwizzleNV x;
12468 VkViewportCoordinateSwizzleNV y;
12469 VkViewportCoordinateSwizzleNV z;
12470 VkViewportCoordinateSwizzleNV w;
12471} VkViewportSwizzleNV;
12472
12473typedef struct VkPipelineViewportSwizzleStateCreateInfoNV {
12474 VkStructureType sType;
12475 const void* pNext;
12476 VkPipelineViewportSwizzleStateCreateFlagsNV flags;
12477 uint32_t viewportCount;
12478 const VkViewportSwizzleNV* pViewportSwizzles;
12479} VkPipelineViewportSwizzleStateCreateInfoNV;
12480
12481
12482
12483// VK_EXT_discard_rectangles is a preprocessor guard. Do not pass it to API calls.
12484#define VK_EXT_discard_rectangles 1
12485#define VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION 2
12486#define VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME "VK_EXT_discard_rectangles"
12487
12488typedef enum VkDiscardRectangleModeEXT {
12489 VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT = 0,
12490 VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT = 1,
12491 VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
12492} VkDiscardRectangleModeEXT;
12493typedef VkFlags VkPipelineDiscardRectangleStateCreateFlagsEXT;
12494typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
12495 VkStructureType sType;
12496 void* pNext;
12497 uint32_t maxDiscardRectangles;
12498} VkPhysicalDeviceDiscardRectanglePropertiesEXT;
12499
12500typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT {
12501 VkStructureType sType;
12502 const void* pNext;
12503 VkPipelineDiscardRectangleStateCreateFlagsEXT flags;
12504 VkDiscardRectangleModeEXT discardRectangleMode;
12505 uint32_t discardRectangleCount;
12506 const VkRect2D* pDiscardRectangles;
12507} VkPipelineDiscardRectangleStateCreateInfoEXT;
12508
12509typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEXT)(VkCommandBuffer commandBuffer, uint32_t firstDiscardRectangle, uint32_t discardRectangleCount, const VkRect2D* pDiscardRectangles);
12510typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 discardRectangleEnable);
12511typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleModeEXT)(VkCommandBuffer commandBuffer, VkDiscardRectangleModeEXT discardRectangleMode);
12512
12513#ifndef VK_NO_PROTOTYPES
12514VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEXT(
12515 VkCommandBuffer commandBuffer,
12516 uint32_t firstDiscardRectangle,
12517 uint32_t discardRectangleCount,
12518 const VkRect2D* pDiscardRectangles);
12519
12520VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEnableEXT(
12521 VkCommandBuffer commandBuffer,
12522 VkBool32 discardRectangleEnable);
12523
12524VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleModeEXT(
12525 VkCommandBuffer commandBuffer,
12526 VkDiscardRectangleModeEXT discardRectangleMode);
12527#endif
12528
12529
12530// VK_EXT_conservative_rasterization is a preprocessor guard. Do not pass it to API calls.
12531#define VK_EXT_conservative_rasterization 1
12532#define VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION 1
12533#define VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME "VK_EXT_conservative_rasterization"
12534
12535typedef enum VkConservativeRasterizationModeEXT {
12536 VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT = 0,
12537 VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT = 1,
12538 VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT = 2,
12539 VK_CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
12540} VkConservativeRasterizationModeEXT;
12541typedef VkFlags VkPipelineRasterizationConservativeStateCreateFlagsEXT;
12542typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT {
12543 VkStructureType sType;
12544 void* pNext;
12545 float primitiveOverestimationSize;
12546 float maxExtraPrimitiveOverestimationSize;
12547 float extraPrimitiveOverestimationSizeGranularity;
12548 VkBool32 primitiveUnderestimation;
12549 VkBool32 conservativePointAndLineRasterization;
12550 VkBool32 degenerateTrianglesRasterized;
12551 VkBool32 degenerateLinesRasterized;
12552 VkBool32 fullyCoveredFragmentShaderInputVariable;
12553 VkBool32 conservativeRasterizationPostDepthCoverage;
12554} VkPhysicalDeviceConservativeRasterizationPropertiesEXT;
12555
12556typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT {
12557 VkStructureType sType;
12558 const void* pNext;
12559 VkPipelineRasterizationConservativeStateCreateFlagsEXT flags;
12560 VkConservativeRasterizationModeEXT conservativeRasterizationMode;
12561 float extraPrimitiveOverestimationSize;
12562} VkPipelineRasterizationConservativeStateCreateInfoEXT;
12563
12564
12565
12566// VK_EXT_depth_clip_enable is a preprocessor guard. Do not pass it to API calls.
12567#define VK_EXT_depth_clip_enable 1
12568#define VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION 1
12569#define VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME "VK_EXT_depth_clip_enable"
12570typedef VkFlags VkPipelineRasterizationDepthClipStateCreateFlagsEXT;
12571typedef struct VkPhysicalDeviceDepthClipEnableFeaturesEXT {
12572 VkStructureType sType;
12573 void* pNext;
12574 VkBool32 depthClipEnable;
12575} VkPhysicalDeviceDepthClipEnableFeaturesEXT;
12576
12577typedef struct VkPipelineRasterizationDepthClipStateCreateInfoEXT {
12578 VkStructureType sType;
12579 const void* pNext;
12580 VkPipelineRasterizationDepthClipStateCreateFlagsEXT flags;
12581 VkBool32 depthClipEnable;
12582} VkPipelineRasterizationDepthClipStateCreateInfoEXT;
12583
12584
12585
12586// VK_EXT_swapchain_colorspace is a preprocessor guard. Do not pass it to API calls.
12587#define VK_EXT_swapchain_colorspace 1
12588#define VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION 4
12589#define VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME "VK_EXT_swapchain_colorspace"
12590
12591
12592// VK_EXT_hdr_metadata is a preprocessor guard. Do not pass it to API calls.
12593#define VK_EXT_hdr_metadata 1
12594#define VK_EXT_HDR_METADATA_SPEC_VERSION 2
12595#define VK_EXT_HDR_METADATA_EXTENSION_NAME "VK_EXT_hdr_metadata"
12596typedef struct VkXYColorEXT {
12597 float x;
12598 float y;
12599} VkXYColorEXT;
12600
12601typedef struct VkHdrMetadataEXT {
12602 VkStructureType sType;
12603 const void* pNext;
12604 VkXYColorEXT displayPrimaryRed;
12605 VkXYColorEXT displayPrimaryGreen;
12606 VkXYColorEXT displayPrimaryBlue;
12607 VkXYColorEXT whitePoint;
12608 float maxLuminance;
12609 float minLuminance;
12610 float maxContentLightLevel;
12611 float maxFrameAverageLightLevel;
12612} VkHdrMetadataEXT;
12613
12614typedef void (VKAPI_PTR *PFN_vkSetHdrMetadataEXT)(VkDevice device, uint32_t swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata);
12615
12616#ifndef VK_NO_PROTOTYPES
12617VKAPI_ATTR void VKAPI_CALL vkSetHdrMetadataEXT(
12618 VkDevice device,
12619 uint32_t swapchainCount,
12620 const VkSwapchainKHR* pSwapchains,
12621 const VkHdrMetadataEXT* pMetadata);
12622#endif
12623
12624
12625// VK_IMG_relaxed_line_rasterization is a preprocessor guard. Do not pass it to API calls.
12626#define VK_IMG_relaxed_line_rasterization 1
12627#define VK_IMG_RELAXED_LINE_RASTERIZATION_SPEC_VERSION 1
12628#define VK_IMG_RELAXED_LINE_RASTERIZATION_EXTENSION_NAME "VK_IMG_relaxed_line_rasterization"
12629typedef struct VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG {
12630 VkStructureType sType;
12631 void* pNext;
12632 VkBool32 relaxedLineRasterization;
12633} VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG;
12634
12635
12636
12637// VK_EXT_external_memory_dma_buf is a preprocessor guard. Do not pass it to API calls.
12638#define VK_EXT_external_memory_dma_buf 1
12639#define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION 1
12640#define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME "VK_EXT_external_memory_dma_buf"
12641
12642
12643// VK_EXT_queue_family_foreign is a preprocessor guard. Do not pass it to API calls.
12644#define VK_EXT_queue_family_foreign 1
12645#define VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION 1
12646#define VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME "VK_EXT_queue_family_foreign"
12647#define VK_QUEUE_FAMILY_FOREIGN_EXT (~2U)
12648
12649
12650// VK_EXT_debug_utils is a preprocessor guard. Do not pass it to API calls.
12651#define VK_EXT_debug_utils 1
12652VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugUtilsMessengerEXT)
12653#define VK_EXT_DEBUG_UTILS_SPEC_VERSION 2
12654#define VK_EXT_DEBUG_UTILS_EXTENSION_NAME "VK_EXT_debug_utils"
12655typedef VkFlags VkDebugUtilsMessengerCallbackDataFlagsEXT;
12656
12657typedef enum VkDebugUtilsMessageSeverityFlagBitsEXT {
12658 VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT = 0x00000001,
12659 VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT = 0x00000010,
12660 VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT = 0x00000100,
12661 VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT = 0x00001000,
12662 VK_DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
12663} VkDebugUtilsMessageSeverityFlagBitsEXT;
12664
12665typedef enum VkDebugUtilsMessageTypeFlagBitsEXT {
12666 VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT = 0x00000001,
12667 VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT = 0x00000002,
12668 VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT = 0x00000004,
12669 VK_DEBUG_UTILS_MESSAGE_TYPE_DEVICE_ADDRESS_BINDING_BIT_EXT = 0x00000008,
12670 VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
12671} VkDebugUtilsMessageTypeFlagBitsEXT;
12672typedef VkFlags VkDebugUtilsMessageTypeFlagsEXT;
12673typedef VkFlags VkDebugUtilsMessageSeverityFlagsEXT;
12674typedef VkFlags VkDebugUtilsMessengerCreateFlagsEXT;
12675typedef struct VkDebugUtilsLabelEXT {
12676 VkStructureType sType;
12677 const void* pNext;
12678 const char* pLabelName;
12679 float color[4];
12680} VkDebugUtilsLabelEXT;
12681
12682typedef struct VkDebugUtilsObjectNameInfoEXT {
12683 VkStructureType sType;
12684 const void* pNext;
12685 VkObjectType objectType;
12686 uint64_t objectHandle;
12687 const char* pObjectName;
12688} VkDebugUtilsObjectNameInfoEXT;
12689
12690typedef struct VkDebugUtilsMessengerCallbackDataEXT {
12691 VkStructureType sType;
12692 const void* pNext;
12693 VkDebugUtilsMessengerCallbackDataFlagsEXT flags;
12694 const char* pMessageIdName;
12695 int32_t messageIdNumber;
12696 const char* pMessage;
12697 uint32_t queueLabelCount;
12698 const VkDebugUtilsLabelEXT* pQueueLabels;
12699 uint32_t cmdBufLabelCount;
12700 const VkDebugUtilsLabelEXT* pCmdBufLabels;
12701 uint32_t objectCount;
12702 const VkDebugUtilsObjectNameInfoEXT* pObjects;
12703} VkDebugUtilsMessengerCallbackDataEXT;
12704
12705typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)(
12706 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
12707 VkDebugUtilsMessageTypeFlagsEXT messageTypes,
12708 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData,
12709 void* pUserData);
12710
12711typedef struct VkDebugUtilsMessengerCreateInfoEXT {
12712 VkStructureType sType;
12713 const void* pNext;
12714 VkDebugUtilsMessengerCreateFlagsEXT flags;
12715 VkDebugUtilsMessageSeverityFlagsEXT messageSeverity;
12716 VkDebugUtilsMessageTypeFlagsEXT messageType;
12717 PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback;
12718 void* pUserData;
12719} VkDebugUtilsMessengerCreateInfoEXT;
12720
12721typedef struct VkDebugUtilsObjectTagInfoEXT {
12722 VkStructureType sType;
12723 const void* pNext;
12724 VkObjectType objectType;
12725 uint64_t objectHandle;
12726 uint64_t tagName;
12727 size_t tagSize;
12728 const void* pTag;
12729} VkDebugUtilsObjectTagInfoEXT;
12730
12731typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectNameEXT)(VkDevice device, const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
12732typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectTagEXT)(VkDevice device, const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
12733typedef void (VKAPI_PTR *PFN_vkQueueBeginDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
12734typedef void (VKAPI_PTR *PFN_vkQueueEndDebugUtilsLabelEXT)(VkQueue queue);
12735typedef void (VKAPI_PTR *PFN_vkQueueInsertDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
12736typedef void (VKAPI_PTR *PFN_vkCmdBeginDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
12737typedef void (VKAPI_PTR *PFN_vkCmdEndDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer);
12738typedef void (VKAPI_PTR *PFN_vkCmdInsertDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
12739typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugUtilsMessengerEXT)(VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugUtilsMessengerEXT* pMessenger);
12740typedef void (VKAPI_PTR *PFN_vkDestroyDebugUtilsMessengerEXT)(VkInstance instance, VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks* pAllocator);
12741typedef void (VKAPI_PTR *PFN_vkSubmitDebugUtilsMessageEXT)(VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
12742
12743#ifndef VK_NO_PROTOTYPES
12744VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectNameEXT(
12745 VkDevice device,
12746 const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
12747
12748VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectTagEXT(
12749 VkDevice device,
12750 const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
12751
12752VKAPI_ATTR void VKAPI_CALL vkQueueBeginDebugUtilsLabelEXT(
12753 VkQueue queue,
12754 const VkDebugUtilsLabelEXT* pLabelInfo);
12755
12756VKAPI_ATTR void VKAPI_CALL vkQueueEndDebugUtilsLabelEXT(
12757 VkQueue queue);
12758
12759VKAPI_ATTR void VKAPI_CALL vkQueueInsertDebugUtilsLabelEXT(
12760 VkQueue queue,
12761 const VkDebugUtilsLabelEXT* pLabelInfo);
12762
12763VKAPI_ATTR void VKAPI_CALL vkCmdBeginDebugUtilsLabelEXT(
12764 VkCommandBuffer commandBuffer,
12765 const VkDebugUtilsLabelEXT* pLabelInfo);
12766
12767VKAPI_ATTR void VKAPI_CALL vkCmdEndDebugUtilsLabelEXT(
12768 VkCommandBuffer commandBuffer);
12769
12770VKAPI_ATTR void VKAPI_CALL vkCmdInsertDebugUtilsLabelEXT(
12771 VkCommandBuffer commandBuffer,
12772 const VkDebugUtilsLabelEXT* pLabelInfo);
12773
12774VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugUtilsMessengerEXT(
12775 VkInstance instance,
12776 const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo,
12777 const VkAllocationCallbacks* pAllocator,
12778 VkDebugUtilsMessengerEXT* pMessenger);
12779
12780VKAPI_ATTR void VKAPI_CALL vkDestroyDebugUtilsMessengerEXT(
12781 VkInstance instance,
12782 VkDebugUtilsMessengerEXT messenger,
12783 const VkAllocationCallbacks* pAllocator);
12784
12785VKAPI_ATTR void VKAPI_CALL vkSubmitDebugUtilsMessageEXT(
12786 VkInstance instance,
12787 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
12788 VkDebugUtilsMessageTypeFlagsEXT messageTypes,
12789 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
12790#endif
12791
12792
12793// VK_EXT_sampler_filter_minmax is a preprocessor guard. Do not pass it to API calls.
12794#define VK_EXT_sampler_filter_minmax 1
12795#define VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION 2
12796#define VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME "VK_EXT_sampler_filter_minmax"
12797typedef VkSamplerReductionMode VkSamplerReductionModeEXT;
12798
12799typedef VkSamplerReductionModeCreateInfo VkSamplerReductionModeCreateInfoEXT;
12800
12801typedef VkPhysicalDeviceSamplerFilterMinmaxProperties VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
12802
12803
12804
12805// VK_AMD_gpu_shader_int16 is a preprocessor guard. Do not pass it to API calls.
12806#define VK_AMD_gpu_shader_int16 1
12807#define VK_AMD_GPU_SHADER_INT16_SPEC_VERSION 2
12808#define VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME "VK_AMD_gpu_shader_int16"
12809
12810
12811// VK_AMD_mixed_attachment_samples is a preprocessor guard. Do not pass it to API calls.
12812#define VK_AMD_mixed_attachment_samples 1
12813#define VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION 1
12814#define VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME "VK_AMD_mixed_attachment_samples"
12815
12816
12817// VK_AMD_shader_fragment_mask is a preprocessor guard. Do not pass it to API calls.
12818#define VK_AMD_shader_fragment_mask 1
12819#define VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION 1
12820#define VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME "VK_AMD_shader_fragment_mask"
12821
12822
12823// VK_EXT_inline_uniform_block is a preprocessor guard. Do not pass it to API calls.
12824#define VK_EXT_inline_uniform_block 1
12825#define VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION 1
12826#define VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME "VK_EXT_inline_uniform_block"
12827typedef VkPhysicalDeviceInlineUniformBlockFeatures VkPhysicalDeviceInlineUniformBlockFeaturesEXT;
12828
12829typedef VkPhysicalDeviceInlineUniformBlockProperties VkPhysicalDeviceInlineUniformBlockPropertiesEXT;
12830
12831typedef VkWriteDescriptorSetInlineUniformBlock VkWriteDescriptorSetInlineUniformBlockEXT;
12832
12833typedef VkDescriptorPoolInlineUniformBlockCreateInfo VkDescriptorPoolInlineUniformBlockCreateInfoEXT;
12834
12835
12836
12837// VK_EXT_shader_stencil_export is a preprocessor guard. Do not pass it to API calls.
12838#define VK_EXT_shader_stencil_export 1
12839#define VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION 1
12840#define VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME "VK_EXT_shader_stencil_export"
12841
12842
12843// VK_EXT_sample_locations is a preprocessor guard. Do not pass it to API calls.
12844#define VK_EXT_sample_locations 1
12845#define VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION 1
12846#define VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME "VK_EXT_sample_locations"
12847typedef struct VkSampleLocationEXT {
12848 float x;
12849 float y;
12850} VkSampleLocationEXT;
12851
12852typedef struct VkSampleLocationsInfoEXT {
12853 VkStructureType sType;
12854 const void* pNext;
12855 VkSampleCountFlagBits sampleLocationsPerPixel;
12856 VkExtent2D sampleLocationGridSize;
12857 uint32_t sampleLocationsCount;
12858 const VkSampleLocationEXT* pSampleLocations;
12859} VkSampleLocationsInfoEXT;
12860
12861typedef struct VkAttachmentSampleLocationsEXT {
12862 uint32_t attachmentIndex;
12863 VkSampleLocationsInfoEXT sampleLocationsInfo;
12864} VkAttachmentSampleLocationsEXT;
12865
12866typedef struct VkSubpassSampleLocationsEXT {
12867 uint32_t subpassIndex;
12868 VkSampleLocationsInfoEXT sampleLocationsInfo;
12869} VkSubpassSampleLocationsEXT;
12870
12871typedef struct VkRenderPassSampleLocationsBeginInfoEXT {
12872 VkStructureType sType;
12873 const void* pNext;
12874 uint32_t attachmentInitialSampleLocationsCount;
12875 const VkAttachmentSampleLocationsEXT* pAttachmentInitialSampleLocations;
12876 uint32_t postSubpassSampleLocationsCount;
12877 const VkSubpassSampleLocationsEXT* pPostSubpassSampleLocations;
12878} VkRenderPassSampleLocationsBeginInfoEXT;
12879
12880typedef struct VkPipelineSampleLocationsStateCreateInfoEXT {
12881 VkStructureType sType;
12882 const void* pNext;
12883 VkBool32 sampleLocationsEnable;
12884 VkSampleLocationsInfoEXT sampleLocationsInfo;
12885} VkPipelineSampleLocationsStateCreateInfoEXT;
12886
12887typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT {
12888 VkStructureType sType;
12889 void* pNext;
12890 VkSampleCountFlags sampleLocationSampleCounts;
12891 VkExtent2D maxSampleLocationGridSize;
12892 float sampleLocationCoordinateRange[2];
12893 uint32_t sampleLocationSubPixelBits;
12894 VkBool32 variableSampleLocations;
12895} VkPhysicalDeviceSampleLocationsPropertiesEXT;
12896
12897typedef struct VkMultisamplePropertiesEXT {
12898 VkStructureType sType;
12899 void* pNext;
12900 VkExtent2D maxSampleLocationGridSize;
12901} VkMultisamplePropertiesEXT;
12902
12903typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEXT)(VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
12904typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT)(VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT* pMultisampleProperties);
12905
12906#ifndef VK_NO_PROTOTYPES
12907VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleLocationsEXT(
12908 VkCommandBuffer commandBuffer,
12909 const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
12910
12911VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMultisamplePropertiesEXT(
12912 VkPhysicalDevice physicalDevice,
12913 VkSampleCountFlagBits samples,
12914 VkMultisamplePropertiesEXT* pMultisampleProperties);
12915#endif
12916
12917
12918// VK_EXT_blend_operation_advanced is a preprocessor guard. Do not pass it to API calls.
12919#define VK_EXT_blend_operation_advanced 1
12920#define VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION 2
12921#define VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME "VK_EXT_blend_operation_advanced"
12922
12923typedef enum VkBlendOverlapEXT {
12924 VK_BLEND_OVERLAP_UNCORRELATED_EXT = 0,
12925 VK_BLEND_OVERLAP_DISJOINT_EXT = 1,
12926 VK_BLEND_OVERLAP_CONJOINT_EXT = 2,
12927 VK_BLEND_OVERLAP_MAX_ENUM_EXT = 0x7FFFFFFF
12928} VkBlendOverlapEXT;
12929typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
12930 VkStructureType sType;
12931 void* pNext;
12932 VkBool32 advancedBlendCoherentOperations;
12933} VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
12934
12935typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT {
12936 VkStructureType sType;
12937 void* pNext;
12938 uint32_t advancedBlendMaxColorAttachments;
12939 VkBool32 advancedBlendIndependentBlend;
12940 VkBool32 advancedBlendNonPremultipliedSrcColor;
12941 VkBool32 advancedBlendNonPremultipliedDstColor;
12942 VkBool32 advancedBlendCorrelatedOverlap;
12943 VkBool32 advancedBlendAllOperations;
12944} VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT;
12945
12946typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT {
12947 VkStructureType sType;
12948 const void* pNext;
12949 VkBool32 srcPremultiplied;
12950 VkBool32 dstPremultiplied;
12951 VkBlendOverlapEXT blendOverlap;
12952} VkPipelineColorBlendAdvancedStateCreateInfoEXT;
12953
12954
12955
12956// VK_NV_fragment_coverage_to_color is a preprocessor guard. Do not pass it to API calls.
12957#define VK_NV_fragment_coverage_to_color 1
12958#define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION 1
12959#define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME "VK_NV_fragment_coverage_to_color"
12960typedef VkFlags VkPipelineCoverageToColorStateCreateFlagsNV;
12961typedef struct VkPipelineCoverageToColorStateCreateInfoNV {
12962 VkStructureType sType;
12963 const void* pNext;
12964 VkPipelineCoverageToColorStateCreateFlagsNV flags;
12965 VkBool32 coverageToColorEnable;
12966 uint32_t coverageToColorLocation;
12967} VkPipelineCoverageToColorStateCreateInfoNV;
12968
12969
12970
12971// VK_NV_framebuffer_mixed_samples is a preprocessor guard. Do not pass it to API calls.
12972#define VK_NV_framebuffer_mixed_samples 1
12973#define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION 1
12974#define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME "VK_NV_framebuffer_mixed_samples"
12975
12976typedef enum VkCoverageModulationModeNV {
12977 VK_COVERAGE_MODULATION_MODE_NONE_NV = 0,
12978 VK_COVERAGE_MODULATION_MODE_RGB_NV = 1,
12979 VK_COVERAGE_MODULATION_MODE_ALPHA_NV = 2,
12980 VK_COVERAGE_MODULATION_MODE_RGBA_NV = 3,
12981 VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV = 0x7FFFFFFF
12982} VkCoverageModulationModeNV;
12983typedef VkFlags VkPipelineCoverageModulationStateCreateFlagsNV;
12984typedef struct VkPipelineCoverageModulationStateCreateInfoNV {
12985 VkStructureType sType;
12986 const void* pNext;
12987 VkPipelineCoverageModulationStateCreateFlagsNV flags;
12988 VkCoverageModulationModeNV coverageModulationMode;
12989 VkBool32 coverageModulationTableEnable;
12990 uint32_t coverageModulationTableCount;
12991 const float* pCoverageModulationTable;
12992} VkPipelineCoverageModulationStateCreateInfoNV;
12993
12994
12995
12996// VK_NV_fill_rectangle is a preprocessor guard. Do not pass it to API calls.
12997#define VK_NV_fill_rectangle 1
12998#define VK_NV_FILL_RECTANGLE_SPEC_VERSION 1
12999#define VK_NV_FILL_RECTANGLE_EXTENSION_NAME "VK_NV_fill_rectangle"
13000
13001
13002// VK_NV_shader_sm_builtins is a preprocessor guard. Do not pass it to API calls.
13003#define VK_NV_shader_sm_builtins 1
13004#define VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION 1
13005#define VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME "VK_NV_shader_sm_builtins"
13006typedef struct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV {
13007 VkStructureType sType;
13008 void* pNext;
13009 uint32_t shaderSMCount;
13010 uint32_t shaderWarpsPerSM;
13011} VkPhysicalDeviceShaderSMBuiltinsPropertiesNV;
13012
13013typedef struct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV {
13014 VkStructureType sType;
13015 void* pNext;
13016 VkBool32 shaderSMBuiltins;
13017} VkPhysicalDeviceShaderSMBuiltinsFeaturesNV;
13018
13019
13020
13021// VK_EXT_post_depth_coverage is a preprocessor guard. Do not pass it to API calls.
13022#define VK_EXT_post_depth_coverage 1
13023#define VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION 1
13024#define VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME "VK_EXT_post_depth_coverage"
13025
13026
13027// VK_EXT_image_drm_format_modifier is a preprocessor guard. Do not pass it to API calls.
13028#define VK_EXT_image_drm_format_modifier 1
13029#define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION 2
13030#define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME "VK_EXT_image_drm_format_modifier"
13031typedef struct VkDrmFormatModifierPropertiesEXT {
13032 uint64_t drmFormatModifier;
13033 uint32_t drmFormatModifierPlaneCount;
13034 VkFormatFeatureFlags drmFormatModifierTilingFeatures;
13035} VkDrmFormatModifierPropertiesEXT;
13036
13037typedef struct VkDrmFormatModifierPropertiesListEXT {
13038 VkStructureType sType;
13039 void* pNext;
13040 uint32_t drmFormatModifierCount;
13041 VkDrmFormatModifierPropertiesEXT* pDrmFormatModifierProperties;
13042} VkDrmFormatModifierPropertiesListEXT;
13043
13044typedef struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT {
13045 VkStructureType sType;
13046 const void* pNext;
13047 uint64_t drmFormatModifier;
13048 VkSharingMode sharingMode;
13049 uint32_t queueFamilyIndexCount;
13050 const uint32_t* pQueueFamilyIndices;
13051} VkPhysicalDeviceImageDrmFormatModifierInfoEXT;
13052
13053typedef struct VkImageDrmFormatModifierListCreateInfoEXT {
13054 VkStructureType sType;
13055 const void* pNext;
13056 uint32_t drmFormatModifierCount;
13057 const uint64_t* pDrmFormatModifiers;
13058} VkImageDrmFormatModifierListCreateInfoEXT;
13059
13060typedef struct VkImageDrmFormatModifierExplicitCreateInfoEXT {
13061 VkStructureType sType;
13062 const void* pNext;
13063 uint64_t drmFormatModifier;
13064 uint32_t drmFormatModifierPlaneCount;
13065 const VkSubresourceLayout* pPlaneLayouts;
13066} VkImageDrmFormatModifierExplicitCreateInfoEXT;
13067
13068typedef struct VkImageDrmFormatModifierPropertiesEXT {
13069 VkStructureType sType;
13070 void* pNext;
13071 uint64_t drmFormatModifier;
13072} VkImageDrmFormatModifierPropertiesEXT;
13073
13074typedef struct VkDrmFormatModifierProperties2EXT {
13075 uint64_t drmFormatModifier;
13076 uint32_t drmFormatModifierPlaneCount;
13077 VkFormatFeatureFlags2 drmFormatModifierTilingFeatures;
13078} VkDrmFormatModifierProperties2EXT;
13079
13080typedef struct VkDrmFormatModifierPropertiesList2EXT {
13081 VkStructureType sType;
13082 void* pNext;
13083 uint32_t drmFormatModifierCount;
13084 VkDrmFormatModifierProperties2EXT* pDrmFormatModifierProperties;
13085} VkDrmFormatModifierPropertiesList2EXT;
13086
13087typedef VkResult (VKAPI_PTR *PFN_vkGetImageDrmFormatModifierPropertiesEXT)(VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties);
13088
13089#ifndef VK_NO_PROTOTYPES
13090VKAPI_ATTR VkResult VKAPI_CALL vkGetImageDrmFormatModifierPropertiesEXT(
13091 VkDevice device,
13092 VkImage image,
13093 VkImageDrmFormatModifierPropertiesEXT* pProperties);
13094#endif
13095
13096
13097// VK_EXT_validation_cache is a preprocessor guard. Do not pass it to API calls.
13098#define VK_EXT_validation_cache 1
13099VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkValidationCacheEXT)
13100#define VK_EXT_VALIDATION_CACHE_SPEC_VERSION 1
13101#define VK_EXT_VALIDATION_CACHE_EXTENSION_NAME "VK_EXT_validation_cache"
13102
13103typedef enum VkValidationCacheHeaderVersionEXT {
13104 VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT = 1,
13105 VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT = 0x7FFFFFFF
13106} VkValidationCacheHeaderVersionEXT;
13107typedef VkFlags VkValidationCacheCreateFlagsEXT;
13108typedef struct VkValidationCacheCreateInfoEXT {
13109 VkStructureType sType;
13110 const void* pNext;
13111 VkValidationCacheCreateFlagsEXT flags;
13112 size_t initialDataSize;
13113 const void* pInitialData;
13114} VkValidationCacheCreateInfoEXT;
13115
13116typedef struct VkShaderModuleValidationCacheCreateInfoEXT {
13117 VkStructureType sType;
13118 const void* pNext;
13119 VkValidationCacheEXT validationCache;
13120} VkShaderModuleValidationCacheCreateInfoEXT;
13121
13122typedef VkResult (VKAPI_PTR *PFN_vkCreateValidationCacheEXT)(VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache);
13123typedef void (VKAPI_PTR *PFN_vkDestroyValidationCacheEXT)(VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator);
13124typedef VkResult (VKAPI_PTR *PFN_vkMergeValidationCachesEXT)(VkDevice device, VkValidationCacheEXT dstCache, uint32_t srcCacheCount, const VkValidationCacheEXT* pSrcCaches);
13125typedef VkResult (VKAPI_PTR *PFN_vkGetValidationCacheDataEXT)(VkDevice device, VkValidationCacheEXT validationCache, size_t* pDataSize, void* pData);
13126
13127#ifndef VK_NO_PROTOTYPES
13128VKAPI_ATTR VkResult VKAPI_CALL vkCreateValidationCacheEXT(
13129 VkDevice device,
13130 const VkValidationCacheCreateInfoEXT* pCreateInfo,
13131 const VkAllocationCallbacks* pAllocator,
13132 VkValidationCacheEXT* pValidationCache);
13133
13134VKAPI_ATTR void VKAPI_CALL vkDestroyValidationCacheEXT(
13135 VkDevice device,
13136 VkValidationCacheEXT validationCache,
13137 const VkAllocationCallbacks* pAllocator);
13138
13139VKAPI_ATTR VkResult VKAPI_CALL vkMergeValidationCachesEXT(
13140 VkDevice device,
13141 VkValidationCacheEXT dstCache,
13142 uint32_t srcCacheCount,
13143 const VkValidationCacheEXT* pSrcCaches);
13144
13145VKAPI_ATTR VkResult VKAPI_CALL vkGetValidationCacheDataEXT(
13146 VkDevice device,
13147 VkValidationCacheEXT validationCache,
13148 size_t* pDataSize,
13149 void* pData);
13150#endif
13151
13152
13153// VK_EXT_descriptor_indexing is a preprocessor guard. Do not pass it to API calls.
13154#define VK_EXT_descriptor_indexing 1
13155#define VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION 2
13156#define VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME "VK_EXT_descriptor_indexing"
13157typedef VkDescriptorBindingFlagBits VkDescriptorBindingFlagBitsEXT;
13158
13159typedef VkDescriptorBindingFlags VkDescriptorBindingFlagsEXT;
13160
13161typedef VkDescriptorSetLayoutBindingFlagsCreateInfo VkDescriptorSetLayoutBindingFlagsCreateInfoEXT;
13162
13163typedef VkPhysicalDeviceDescriptorIndexingFeatures VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
13164
13165typedef VkPhysicalDeviceDescriptorIndexingProperties VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
13166
13167typedef VkDescriptorSetVariableDescriptorCountAllocateInfo VkDescriptorSetVariableDescriptorCountAllocateInfoEXT;
13168
13169typedef VkDescriptorSetVariableDescriptorCountLayoutSupport VkDescriptorSetVariableDescriptorCountLayoutSupportEXT;
13170
13171
13172
13173// VK_EXT_shader_viewport_index_layer is a preprocessor guard. Do not pass it to API calls.
13174#define VK_EXT_shader_viewport_index_layer 1
13175#define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION 1
13176#define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME "VK_EXT_shader_viewport_index_layer"
13177
13178
13179// VK_NV_shading_rate_image is a preprocessor guard. Do not pass it to API calls.
13180#define VK_NV_shading_rate_image 1
13181#define VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION 3
13182#define VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME "VK_NV_shading_rate_image"
13183
13184typedef enum VkShadingRatePaletteEntryNV {
13185 VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV = 0,
13186 VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV = 1,
13187 VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV = 2,
13188 VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV = 3,
13189 VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV = 4,
13190 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV = 5,
13191 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV = 6,
13192 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV = 7,
13193 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV = 8,
13194 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV = 9,
13195 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV = 10,
13196 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV = 11,
13197 VK_SHADING_RATE_PALETTE_ENTRY_MAX_ENUM_NV = 0x7FFFFFFF
13198} VkShadingRatePaletteEntryNV;
13199
13200typedef enum VkCoarseSampleOrderTypeNV {
13201 VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV = 0,
13202 VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV = 1,
13203 VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV = 2,
13204 VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV = 3,
13205 VK_COARSE_SAMPLE_ORDER_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
13206} VkCoarseSampleOrderTypeNV;
13207typedef struct VkShadingRatePaletteNV {
13208 uint32_t shadingRatePaletteEntryCount;
13209 const VkShadingRatePaletteEntryNV* pShadingRatePaletteEntries;
13210} VkShadingRatePaletteNV;
13211
13212typedef struct VkPipelineViewportShadingRateImageStateCreateInfoNV {
13213 VkStructureType sType;
13214 const void* pNext;
13215 VkBool32 shadingRateImageEnable;
13216 uint32_t viewportCount;
13217 const VkShadingRatePaletteNV* pShadingRatePalettes;
13218} VkPipelineViewportShadingRateImageStateCreateInfoNV;
13219
13220typedef struct VkPhysicalDeviceShadingRateImageFeaturesNV {
13221 VkStructureType sType;
13222 void* pNext;
13223 VkBool32 shadingRateImage;
13224 VkBool32 shadingRateCoarseSampleOrder;
13225} VkPhysicalDeviceShadingRateImageFeaturesNV;
13226
13227typedef struct VkPhysicalDeviceShadingRateImagePropertiesNV {
13228 VkStructureType sType;
13229 void* pNext;
13230 VkExtent2D shadingRateTexelSize;
13231 uint32_t shadingRatePaletteSize;
13232 uint32_t shadingRateMaxCoarseSamples;
13233} VkPhysicalDeviceShadingRateImagePropertiesNV;
13234
13235typedef struct VkCoarseSampleLocationNV {
13236 uint32_t pixelX;
13237 uint32_t pixelY;
13238 uint32_t sample;
13239} VkCoarseSampleLocationNV;
13240
13241typedef struct VkCoarseSampleOrderCustomNV {
13242 VkShadingRatePaletteEntryNV shadingRate;
13243 uint32_t sampleCount;
13244 uint32_t sampleLocationCount;
13245 const VkCoarseSampleLocationNV* pSampleLocations;
13246} VkCoarseSampleOrderCustomNV;
13247
13248typedef struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV {
13249 VkStructureType sType;
13250 const void* pNext;
13251 VkCoarseSampleOrderTypeNV sampleOrderType;
13252 uint32_t customSampleOrderCount;
13253 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders;
13254} VkPipelineViewportCoarseSampleOrderStateCreateInfoNV;
13255
13256typedef void (VKAPI_PTR *PFN_vkCmdBindShadingRateImageNV)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout);
13257typedef void (VKAPI_PTR *PFN_vkCmdSetViewportShadingRatePaletteNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkShadingRatePaletteNV* pShadingRatePalettes);
13258typedef void (VKAPI_PTR *PFN_vkCmdSetCoarseSampleOrderNV)(VkCommandBuffer commandBuffer, VkCoarseSampleOrderTypeNV sampleOrderType, uint32_t customSampleOrderCount, const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
13259
13260#ifndef VK_NO_PROTOTYPES
13261VKAPI_ATTR void VKAPI_CALL vkCmdBindShadingRateImageNV(
13262 VkCommandBuffer commandBuffer,
13263 VkImageView imageView,
13264 VkImageLayout imageLayout);
13265
13266VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportShadingRatePaletteNV(
13267 VkCommandBuffer commandBuffer,
13268 uint32_t firstViewport,
13269 uint32_t viewportCount,
13270 const VkShadingRatePaletteNV* pShadingRatePalettes);
13271
13272VKAPI_ATTR void VKAPI_CALL vkCmdSetCoarseSampleOrderNV(
13273 VkCommandBuffer commandBuffer,
13274 VkCoarseSampleOrderTypeNV sampleOrderType,
13275 uint32_t customSampleOrderCount,
13276 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
13277#endif
13278
13279
13280// VK_NV_ray_tracing is a preprocessor guard. Do not pass it to API calls.
13281#define VK_NV_ray_tracing 1
13282VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureNV)
13283#define VK_NV_RAY_TRACING_SPEC_VERSION 3
13284#define VK_NV_RAY_TRACING_EXTENSION_NAME "VK_NV_ray_tracing"
13285#define VK_SHADER_UNUSED_KHR (~0U)
13286#define VK_SHADER_UNUSED_NV VK_SHADER_UNUSED_KHR
13287
13288typedef enum VkRayTracingShaderGroupTypeKHR {
13289 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR = 0,
13290 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR = 1,
13291 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR = 2,
13292 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR,
13293 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR,
13294 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR,
13295 VK_RAY_TRACING_SHADER_GROUP_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
13296} VkRayTracingShaderGroupTypeKHR;
13297typedef VkRayTracingShaderGroupTypeKHR VkRayTracingShaderGroupTypeNV;
13298
13299
13300typedef enum VkGeometryTypeKHR {
13301 VK_GEOMETRY_TYPE_TRIANGLES_KHR = 0,
13302 VK_GEOMETRY_TYPE_AABBS_KHR = 1,
13303 VK_GEOMETRY_TYPE_INSTANCES_KHR = 2,
13304 VK_GEOMETRY_TYPE_TRIANGLES_NV = VK_GEOMETRY_TYPE_TRIANGLES_KHR,
13305 VK_GEOMETRY_TYPE_AABBS_NV = VK_GEOMETRY_TYPE_AABBS_KHR,
13306 VK_GEOMETRY_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
13307} VkGeometryTypeKHR;
13308typedef VkGeometryTypeKHR VkGeometryTypeNV;
13309
13310
13311typedef enum VkAccelerationStructureTypeKHR {
13312 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR = 0,
13313 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR = 1,
13314 VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR = 2,
13315 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR,
13316 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR,
13317 VK_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
13318} VkAccelerationStructureTypeKHR;
13319typedef VkAccelerationStructureTypeKHR VkAccelerationStructureTypeNV;
13320
13321
13322typedef enum VkCopyAccelerationStructureModeKHR {
13323 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR = 0,
13324 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR = 1,
13325 VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR = 2,
13326 VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR = 3,
13327 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR,
13328 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR,
13329 VK_COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
13330} VkCopyAccelerationStructureModeKHR;
13331typedef VkCopyAccelerationStructureModeKHR VkCopyAccelerationStructureModeNV;
13332
13333
13334typedef enum VkAccelerationStructureMemoryRequirementsTypeNV {
13335 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV = 0,
13336 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV = 1,
13337 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV = 2,
13338 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
13339} VkAccelerationStructureMemoryRequirementsTypeNV;
13340
13341typedef enum VkGeometryFlagBitsKHR {
13342 VK_GEOMETRY_OPAQUE_BIT_KHR = 0x00000001,
13343 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR = 0x00000002,
13344 VK_GEOMETRY_OPAQUE_BIT_NV = VK_GEOMETRY_OPAQUE_BIT_KHR,
13345 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV = VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR,
13346 VK_GEOMETRY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
13347} VkGeometryFlagBitsKHR;
13348typedef VkFlags VkGeometryFlagsKHR;
13349typedef VkGeometryFlagsKHR VkGeometryFlagsNV;
13350
13351typedef VkGeometryFlagBitsKHR VkGeometryFlagBitsNV;
13352
13353
13354typedef enum VkGeometryInstanceFlagBitsKHR {
13355 VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = 0x00000001,
13356 VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR = 0x00000002,
13357 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 0x00000004,
13358 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 0x00000008,
13359 VK_GEOMETRY_INSTANCE_FORCE_OPACITY_MICROMAP_2_STATE_EXT = 0x00000010,
13360 VK_GEOMETRY_INSTANCE_DISABLE_OPACITY_MICROMAPS_EXT = 0x00000020,
13361 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR,
13362 VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR,
13363 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR,
13364 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR,
13365 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR,
13366 VK_GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
13367} VkGeometryInstanceFlagBitsKHR;
13368typedef VkFlags VkGeometryInstanceFlagsKHR;
13369typedef VkGeometryInstanceFlagsKHR VkGeometryInstanceFlagsNV;
13370
13371typedef VkGeometryInstanceFlagBitsKHR VkGeometryInstanceFlagBitsNV;
13372
13373
13374typedef enum VkBuildAccelerationStructureFlagBitsKHR {
13375 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR = 0x00000001,
13376 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR = 0x00000002,
13377 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR = 0x00000004,
13378 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR = 0x00000008,
13379 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR = 0x00000010,
13380 VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV = 0x00000020,
13381 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_UPDATE_EXT = 0x00000040,
13382 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISABLE_OPACITY_MICROMAPS_EXT = 0x00000080,
13383 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_DATA_UPDATE_EXT = 0x00000100,
13384#ifdef VK_ENABLE_BETA_EXTENSIONS
13385 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISPLACEMENT_MICROMAP_UPDATE_NV = 0x00000200,
13386#endif
13387 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DATA_ACCESS_KHR = 0x00000800,
13388 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR,
13389 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR,
13390 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR,
13391 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR,
13392 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR,
13393 VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
13394} VkBuildAccelerationStructureFlagBitsKHR;
13395typedef VkFlags VkBuildAccelerationStructureFlagsKHR;
13396typedef VkBuildAccelerationStructureFlagsKHR VkBuildAccelerationStructureFlagsNV;
13397
13398typedef VkBuildAccelerationStructureFlagBitsKHR VkBuildAccelerationStructureFlagBitsNV;
13399
13400typedef struct VkRayTracingShaderGroupCreateInfoNV {
13401 VkStructureType sType;
13402 const void* pNext;
13403 VkRayTracingShaderGroupTypeKHR type;
13404 uint32_t generalShader;
13405 uint32_t closestHitShader;
13406 uint32_t anyHitShader;
13407 uint32_t intersectionShader;
13408} VkRayTracingShaderGroupCreateInfoNV;
13409
13410typedef struct VkRayTracingPipelineCreateInfoNV {
13411 VkStructureType sType;
13412 const void* pNext;
13413 VkPipelineCreateFlags flags;
13414 uint32_t stageCount;
13415 const VkPipelineShaderStageCreateInfo* pStages;
13416 uint32_t groupCount;
13417 const VkRayTracingShaderGroupCreateInfoNV* pGroups;
13418 uint32_t maxRecursionDepth;
13419 VkPipelineLayout layout;
13420 VkPipeline basePipelineHandle;
13421 int32_t basePipelineIndex;
13422} VkRayTracingPipelineCreateInfoNV;
13423
13424typedef struct VkGeometryTrianglesNV {
13425 VkStructureType sType;
13426 const void* pNext;
13427 VkBuffer vertexData;
13428 VkDeviceSize vertexOffset;
13429 uint32_t vertexCount;
13430 VkDeviceSize vertexStride;
13431 VkFormat vertexFormat;
13432 VkBuffer indexData;
13433 VkDeviceSize indexOffset;
13434 uint32_t indexCount;
13435 VkIndexType indexType;
13436 VkBuffer transformData;
13437 VkDeviceSize transformOffset;
13438} VkGeometryTrianglesNV;
13439
13440typedef struct VkGeometryAABBNV {
13441 VkStructureType sType;
13442 const void* pNext;
13443 VkBuffer aabbData;
13444 uint32_t numAABBs;
13445 uint32_t stride;
13446 VkDeviceSize offset;
13447} VkGeometryAABBNV;
13448
13449typedef struct VkGeometryDataNV {
13450 VkGeometryTrianglesNV triangles;
13451 VkGeometryAABBNV aabbs;
13452} VkGeometryDataNV;
13453
13454typedef struct VkGeometryNV {
13455 VkStructureType sType;
13456 const void* pNext;
13457 VkGeometryTypeKHR geometryType;
13458 VkGeometryDataNV geometry;
13459 VkGeometryFlagsKHR flags;
13460} VkGeometryNV;
13461
13462typedef struct VkAccelerationStructureInfoNV {
13463 VkStructureType sType;
13464 const void* pNext;
13465 VkAccelerationStructureTypeNV type;
13466 VkBuildAccelerationStructureFlagsNV flags;
13467 uint32_t instanceCount;
13468 uint32_t geometryCount;
13469 const VkGeometryNV* pGeometries;
13470} VkAccelerationStructureInfoNV;
13471
13472typedef struct VkAccelerationStructureCreateInfoNV {
13473 VkStructureType sType;
13474 const void* pNext;
13475 VkDeviceSize compactedSize;
13476 VkAccelerationStructureInfoNV info;
13477} VkAccelerationStructureCreateInfoNV;
13478
13479typedef struct VkBindAccelerationStructureMemoryInfoNV {
13480 VkStructureType sType;
13481 const void* pNext;
13482 VkAccelerationStructureNV accelerationStructure;
13483 VkDeviceMemory memory;
13484 VkDeviceSize memoryOffset;
13485 uint32_t deviceIndexCount;
13486 const uint32_t* pDeviceIndices;
13487} VkBindAccelerationStructureMemoryInfoNV;
13488
13489typedef struct VkWriteDescriptorSetAccelerationStructureNV {
13490 VkStructureType sType;
13491 const void* pNext;
13492 uint32_t accelerationStructureCount;
13493 const VkAccelerationStructureNV* pAccelerationStructures;
13494} VkWriteDescriptorSetAccelerationStructureNV;
13495
13496typedef struct VkAccelerationStructureMemoryRequirementsInfoNV {
13497 VkStructureType sType;
13498 const void* pNext;
13499 VkAccelerationStructureMemoryRequirementsTypeNV type;
13500 VkAccelerationStructureNV accelerationStructure;
13501} VkAccelerationStructureMemoryRequirementsInfoNV;
13502
13503typedef struct VkPhysicalDeviceRayTracingPropertiesNV {
13504 VkStructureType sType;
13505 void* pNext;
13506 uint32_t shaderGroupHandleSize;
13507 uint32_t maxRecursionDepth;
13508 uint32_t maxShaderGroupStride;
13509 uint32_t shaderGroupBaseAlignment;
13510 uint64_t maxGeometryCount;
13511 uint64_t maxInstanceCount;
13512 uint64_t maxTriangleCount;
13513 uint32_t maxDescriptorSetAccelerationStructures;
13514} VkPhysicalDeviceRayTracingPropertiesNV;
13515
13516typedef struct VkTransformMatrixKHR {
13517 float matrix[3][4];
13518} VkTransformMatrixKHR;
13519
13520typedef VkTransformMatrixKHR VkTransformMatrixNV;
13521
13522typedef struct VkAabbPositionsKHR {
13523 float minX;
13524 float minY;
13525 float minZ;
13526 float maxX;
13527 float maxY;
13528 float maxZ;
13529} VkAabbPositionsKHR;
13530
13531typedef VkAabbPositionsKHR VkAabbPositionsNV;
13532
13533typedef struct VkAccelerationStructureInstanceKHR {
13534 VkTransformMatrixKHR transform;
13535 uint32_t instanceCustomIndex:24;
13536 uint32_t mask:8;
13537 uint32_t instanceShaderBindingTableRecordOffset:24;
13538 VkGeometryInstanceFlagsKHR flags:8;
13539 uint64_t accelerationStructureReference;
13540} VkAccelerationStructureInstanceKHR;
13541
13542typedef VkAccelerationStructureInstanceKHR VkAccelerationStructureInstanceNV;
13543
13544typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureNV)(VkDevice device, const VkAccelerationStructureCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureNV* pAccelerationStructure);
13545typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, const VkAllocationCallbacks* pAllocator);
13546typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureMemoryRequirementsNV)(VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements);
13547typedef VkResult (VKAPI_PTR *PFN_vkBindAccelerationStructureMemoryNV)(VkDevice device, uint32_t bindInfoCount, const VkBindAccelerationStructureMemoryInfoNV* pBindInfos);
13548typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructureNV)(VkCommandBuffer commandBuffer, const VkAccelerationStructureInfoNV* pInfo, VkBuffer instanceData, VkDeviceSize instanceOffset, VkBool32 update, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkBuffer scratch, VkDeviceSize scratchOffset);
13549typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureNV)(VkCommandBuffer commandBuffer, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkCopyAccelerationStructureModeKHR mode);
13550typedef 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);
13551typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesNV)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoNV* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
13552typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData);
13553typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesNV)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData);
13554typedef VkResult (VKAPI_PTR *PFN_vkGetAccelerationStructureHandleNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, size_t dataSize, void* pData);
13555typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesNV)(VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureNV* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery);
13556typedef VkResult (VKAPI_PTR *PFN_vkCompileDeferredNV)(VkDevice device, VkPipeline pipeline, uint32_t shader);
13557
13558#ifndef VK_NO_PROTOTYPES
13559VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureNV(
13560 VkDevice device,
13561 const VkAccelerationStructureCreateInfoNV* pCreateInfo,
13562 const VkAllocationCallbacks* pAllocator,
13563 VkAccelerationStructureNV* pAccelerationStructure);
13564
13565VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureNV(
13566 VkDevice device,
13567 VkAccelerationStructureNV accelerationStructure,
13568 const VkAllocationCallbacks* pAllocator);
13569
13570VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureMemoryRequirementsNV(
13571 VkDevice device,
13572 const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo,
13573 VkMemoryRequirements2KHR* pMemoryRequirements);
13574
13575VKAPI_ATTR VkResult VKAPI_CALL vkBindAccelerationStructureMemoryNV(
13576 VkDevice device,
13577 uint32_t bindInfoCount,
13578 const VkBindAccelerationStructureMemoryInfoNV* pBindInfos);
13579
13580VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructureNV(
13581 VkCommandBuffer commandBuffer,
13582 const VkAccelerationStructureInfoNV* pInfo,
13583 VkBuffer instanceData,
13584 VkDeviceSize instanceOffset,
13585 VkBool32 update,
13586 VkAccelerationStructureNV dst,
13587 VkAccelerationStructureNV src,
13588 VkBuffer scratch,
13589 VkDeviceSize scratchOffset);
13590
13591VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureNV(
13592 VkCommandBuffer commandBuffer,
13593 VkAccelerationStructureNV dst,
13594 VkAccelerationStructureNV src,
13595 VkCopyAccelerationStructureModeKHR mode);
13596
13597VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysNV(
13598 VkCommandBuffer commandBuffer,
13599 VkBuffer raygenShaderBindingTableBuffer,
13600 VkDeviceSize raygenShaderBindingOffset,
13601 VkBuffer missShaderBindingTableBuffer,
13602 VkDeviceSize missShaderBindingOffset,
13603 VkDeviceSize missShaderBindingStride,
13604 VkBuffer hitShaderBindingTableBuffer,
13605 VkDeviceSize hitShaderBindingOffset,
13606 VkDeviceSize hitShaderBindingStride,
13607 VkBuffer callableShaderBindingTableBuffer,
13608 VkDeviceSize callableShaderBindingOffset,
13609 VkDeviceSize callableShaderBindingStride,
13610 uint32_t width,
13611 uint32_t height,
13612 uint32_t depth);
13613
13614VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesNV(
13615 VkDevice device,
13616 VkPipelineCache pipelineCache,
13617 uint32_t createInfoCount,
13618 const VkRayTracingPipelineCreateInfoNV* pCreateInfos,
13619 const VkAllocationCallbacks* pAllocator,
13620 VkPipeline* pPipelines);
13621
13622VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesKHR(
13623 VkDevice device,
13624 VkPipeline pipeline,
13625 uint32_t firstGroup,
13626 uint32_t groupCount,
13627 size_t dataSize,
13628 void* pData);
13629
13630VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesNV(
13631 VkDevice device,
13632 VkPipeline pipeline,
13633 uint32_t firstGroup,
13634 uint32_t groupCount,
13635 size_t dataSize,
13636 void* pData);
13637
13638VKAPI_ATTR VkResult VKAPI_CALL vkGetAccelerationStructureHandleNV(
13639 VkDevice device,
13640 VkAccelerationStructureNV accelerationStructure,
13641 size_t dataSize,
13642 void* pData);
13643
13644VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesNV(
13645 VkCommandBuffer commandBuffer,
13646 uint32_t accelerationStructureCount,
13647 const VkAccelerationStructureNV* pAccelerationStructures,
13648 VkQueryType queryType,
13649 VkQueryPool queryPool,
13650 uint32_t firstQuery);
13651
13652VKAPI_ATTR VkResult VKAPI_CALL vkCompileDeferredNV(
13653 VkDevice device,
13654 VkPipeline pipeline,
13655 uint32_t shader);
13656#endif
13657
13658
13659// VK_NV_representative_fragment_test is a preprocessor guard. Do not pass it to API calls.
13660#define VK_NV_representative_fragment_test 1
13661#define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION 2
13662#define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME "VK_NV_representative_fragment_test"
13663typedef struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV {
13664 VkStructureType sType;
13665 void* pNext;
13666 VkBool32 representativeFragmentTest;
13667} VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV;
13668
13669typedef struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV {
13670 VkStructureType sType;
13671 const void* pNext;
13672 VkBool32 representativeFragmentTestEnable;
13673} VkPipelineRepresentativeFragmentTestStateCreateInfoNV;
13674
13675
13676
13677// VK_EXT_filter_cubic is a preprocessor guard. Do not pass it to API calls.
13678#define VK_EXT_filter_cubic 1
13679#define VK_EXT_FILTER_CUBIC_SPEC_VERSION 3
13680#define VK_EXT_FILTER_CUBIC_EXTENSION_NAME "VK_EXT_filter_cubic"
13681typedef struct VkPhysicalDeviceImageViewImageFormatInfoEXT {
13682 VkStructureType sType;
13683 void* pNext;
13684 VkImageViewType imageViewType;
13685} VkPhysicalDeviceImageViewImageFormatInfoEXT;
13686
13687typedef struct VkFilterCubicImageViewImageFormatPropertiesEXT {
13688 VkStructureType sType;
13689 void* pNext;
13690 VkBool32 filterCubic;
13691 VkBool32 filterCubicMinmax;
13692} VkFilterCubicImageViewImageFormatPropertiesEXT;
13693
13694
13695
13696// VK_QCOM_render_pass_shader_resolve is a preprocessor guard. Do not pass it to API calls.
13697#define VK_QCOM_render_pass_shader_resolve 1
13698#define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_SPEC_VERSION 4
13699#define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_EXTENSION_NAME "VK_QCOM_render_pass_shader_resolve"
13700
13701
13702// VK_EXT_global_priority is a preprocessor guard. Do not pass it to API calls.
13703#define VK_EXT_global_priority 1
13704#define VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION 2
13705#define VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME "VK_EXT_global_priority"
13706typedef VkQueueGlobalPriorityKHR VkQueueGlobalPriorityEXT;
13707
13708typedef VkDeviceQueueGlobalPriorityCreateInfoKHR VkDeviceQueueGlobalPriorityCreateInfoEXT;
13709
13710
13711
13712// VK_EXT_external_memory_host is a preprocessor guard. Do not pass it to API calls.
13713#define VK_EXT_external_memory_host 1
13714#define VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION 1
13715#define VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME "VK_EXT_external_memory_host"
13716typedef struct VkImportMemoryHostPointerInfoEXT {
13717 VkStructureType sType;
13718 const void* pNext;
13719 VkExternalMemoryHandleTypeFlagBits handleType;
13720 void* pHostPointer;
13721} VkImportMemoryHostPointerInfoEXT;
13722
13723typedef struct VkMemoryHostPointerPropertiesEXT {
13724 VkStructureType sType;
13725 void* pNext;
13726 uint32_t memoryTypeBits;
13727} VkMemoryHostPointerPropertiesEXT;
13728
13729typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
13730 VkStructureType sType;
13731 void* pNext;
13732 VkDeviceSize minImportedHostPointerAlignment;
13733} VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
13734
13735typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryHostPointerPropertiesEXT)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
13736
13737#ifndef VK_NO_PROTOTYPES
13738VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryHostPointerPropertiesEXT(
13739 VkDevice device,
13740 VkExternalMemoryHandleTypeFlagBits handleType,
13741 const void* pHostPointer,
13742 VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
13743#endif
13744
13745
13746// VK_AMD_buffer_marker is a preprocessor guard. Do not pass it to API calls.
13747#define VK_AMD_buffer_marker 1
13748#define VK_AMD_BUFFER_MARKER_SPEC_VERSION 1
13749#define VK_AMD_BUFFER_MARKER_EXTENSION_NAME "VK_AMD_buffer_marker"
13750typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarkerAMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker);
13751
13752#ifndef VK_NO_PROTOTYPES
13753VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarkerAMD(
13754 VkCommandBuffer commandBuffer,
13755 VkPipelineStageFlagBits pipelineStage,
13756 VkBuffer dstBuffer,
13757 VkDeviceSize dstOffset,
13758 uint32_t marker);
13759#endif
13760
13761
13762// VK_AMD_pipeline_compiler_control is a preprocessor guard. Do not pass it to API calls.
13763#define VK_AMD_pipeline_compiler_control 1
13764#define VK_AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION 1
13765#define VK_AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME "VK_AMD_pipeline_compiler_control"
13766
13767typedef enum VkPipelineCompilerControlFlagBitsAMD {
13768 VK_PIPELINE_COMPILER_CONTROL_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF
13769} VkPipelineCompilerControlFlagBitsAMD;
13770typedef VkFlags VkPipelineCompilerControlFlagsAMD;
13771typedef struct VkPipelineCompilerControlCreateInfoAMD {
13772 VkStructureType sType;
13773 const void* pNext;
13774 VkPipelineCompilerControlFlagsAMD compilerControlFlags;
13775} VkPipelineCompilerControlCreateInfoAMD;
13776
13777
13778
13779// VK_EXT_calibrated_timestamps is a preprocessor guard. Do not pass it to API calls.
13780#define VK_EXT_calibrated_timestamps 1
13781#define VK_EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION 2
13782#define VK_EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME "VK_EXT_calibrated_timestamps"
13783typedef VkTimeDomainKHR VkTimeDomainEXT;
13784
13785typedef VkCalibratedTimestampInfoKHR VkCalibratedTimestampInfoEXT;
13786
13787typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT)(VkPhysicalDevice physicalDevice, uint32_t* pTimeDomainCount, VkTimeDomainKHR* pTimeDomains);
13788typedef VkResult (VKAPI_PTR *PFN_vkGetCalibratedTimestampsEXT)(VkDevice device, uint32_t timestampCount, const VkCalibratedTimestampInfoKHR* pTimestampInfos, uint64_t* pTimestamps, uint64_t* pMaxDeviation);
13789
13790#ifndef VK_NO_PROTOTYPES
13791VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(
13792 VkPhysicalDevice physicalDevice,
13793 uint32_t* pTimeDomainCount,
13794 VkTimeDomainKHR* pTimeDomains);
13795
13796VKAPI_ATTR VkResult VKAPI_CALL vkGetCalibratedTimestampsEXT(
13797 VkDevice device,
13798 uint32_t timestampCount,
13799 const VkCalibratedTimestampInfoKHR* pTimestampInfos,
13800 uint64_t* pTimestamps,
13801 uint64_t* pMaxDeviation);
13802#endif
13803
13804
13805// VK_AMD_shader_core_properties is a preprocessor guard. Do not pass it to API calls.
13806#define VK_AMD_shader_core_properties 1
13807#define VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION 2
13808#define VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_AMD_shader_core_properties"
13809typedef struct VkPhysicalDeviceShaderCorePropertiesAMD {
13810 VkStructureType sType;
13811 void* pNext;
13812 uint32_t shaderEngineCount;
13813 uint32_t shaderArraysPerEngineCount;
13814 uint32_t computeUnitsPerShaderArray;
13815 uint32_t simdPerComputeUnit;
13816 uint32_t wavefrontsPerSimd;
13817 uint32_t wavefrontSize;
13818 uint32_t sgprsPerSimd;
13819 uint32_t minSgprAllocation;
13820 uint32_t maxSgprAllocation;
13821 uint32_t sgprAllocationGranularity;
13822 uint32_t vgprsPerSimd;
13823 uint32_t minVgprAllocation;
13824 uint32_t maxVgprAllocation;
13825 uint32_t vgprAllocationGranularity;
13826} VkPhysicalDeviceShaderCorePropertiesAMD;
13827
13828
13829
13830// VK_AMD_memory_overallocation_behavior is a preprocessor guard. Do not pass it to API calls.
13831#define VK_AMD_memory_overallocation_behavior 1
13832#define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION 1
13833#define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME "VK_AMD_memory_overallocation_behavior"
13834
13835typedef enum VkMemoryOverallocationBehaviorAMD {
13836 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD = 0,
13837 VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD = 1,
13838 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD = 2,
13839 VK_MEMORY_OVERALLOCATION_BEHAVIOR_MAX_ENUM_AMD = 0x7FFFFFFF
13840} VkMemoryOverallocationBehaviorAMD;
13841typedef struct VkDeviceMemoryOverallocationCreateInfoAMD {
13842 VkStructureType sType;
13843 const void* pNext;
13844 VkMemoryOverallocationBehaviorAMD overallocationBehavior;
13845} VkDeviceMemoryOverallocationCreateInfoAMD;
13846
13847
13848
13849// VK_EXT_vertex_attribute_divisor is a preprocessor guard. Do not pass it to API calls.
13850#define VK_EXT_vertex_attribute_divisor 1
13851#define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 3
13852#define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_EXT_vertex_attribute_divisor"
13853typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
13854 VkStructureType sType;
13855 void* pNext;
13856 uint32_t maxVertexAttribDivisor;
13857} VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
13858
13859typedef VkVertexInputBindingDivisorDescriptionKHR VkVertexInputBindingDivisorDescriptionEXT;
13860
13861typedef VkPipelineVertexInputDivisorStateCreateInfoKHR VkPipelineVertexInputDivisorStateCreateInfoEXT;
13862
13863typedef VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT;
13864
13865
13866
13867// VK_EXT_pipeline_creation_feedback is a preprocessor guard. Do not pass it to API calls.
13868#define VK_EXT_pipeline_creation_feedback 1
13869#define VK_EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION 1
13870#define VK_EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME "VK_EXT_pipeline_creation_feedback"
13871typedef VkPipelineCreationFeedbackFlagBits VkPipelineCreationFeedbackFlagBitsEXT;
13872
13873typedef VkPipelineCreationFeedbackFlags VkPipelineCreationFeedbackFlagsEXT;
13874
13875typedef VkPipelineCreationFeedbackCreateInfo VkPipelineCreationFeedbackCreateInfoEXT;
13876
13877typedef VkPipelineCreationFeedback VkPipelineCreationFeedbackEXT;
13878
13879
13880
13881// VK_NV_shader_subgroup_partitioned is a preprocessor guard. Do not pass it to API calls.
13882#define VK_NV_shader_subgroup_partitioned 1
13883#define VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION 1
13884#define VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME "VK_NV_shader_subgroup_partitioned"
13885
13886
13887// VK_NV_compute_shader_derivatives is a preprocessor guard. Do not pass it to API calls.
13888#define VK_NV_compute_shader_derivatives 1
13889#define VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION 1
13890#define VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME "VK_NV_compute_shader_derivatives"
13891typedef struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV {
13892 VkStructureType sType;
13893 void* pNext;
13894 VkBool32 computeDerivativeGroupQuads;
13895 VkBool32 computeDerivativeGroupLinear;
13896} VkPhysicalDeviceComputeShaderDerivativesFeaturesNV;
13897
13898
13899
13900// VK_NV_mesh_shader is a preprocessor guard. Do not pass it to API calls.
13901#define VK_NV_mesh_shader 1
13902#define VK_NV_MESH_SHADER_SPEC_VERSION 1
13903#define VK_NV_MESH_SHADER_EXTENSION_NAME "VK_NV_mesh_shader"
13904typedef struct VkPhysicalDeviceMeshShaderFeaturesNV {
13905 VkStructureType sType;
13906 void* pNext;
13907 VkBool32 taskShader;
13908 VkBool32 meshShader;
13909} VkPhysicalDeviceMeshShaderFeaturesNV;
13910
13911typedef struct VkPhysicalDeviceMeshShaderPropertiesNV {
13912 VkStructureType sType;
13913 void* pNext;
13914 uint32_t maxDrawMeshTasksCount;
13915 uint32_t maxTaskWorkGroupInvocations;
13916 uint32_t maxTaskWorkGroupSize[3];
13917 uint32_t maxTaskTotalMemorySize;
13918 uint32_t maxTaskOutputCount;
13919 uint32_t maxMeshWorkGroupInvocations;
13920 uint32_t maxMeshWorkGroupSize[3];
13921 uint32_t maxMeshTotalMemorySize;
13922 uint32_t maxMeshOutputVertices;
13923 uint32_t maxMeshOutputPrimitives;
13924 uint32_t maxMeshMultiviewViewCount;
13925 uint32_t meshOutputPerVertexGranularity;
13926 uint32_t meshOutputPerPrimitiveGranularity;
13927} VkPhysicalDeviceMeshShaderPropertiesNV;
13928
13929typedef struct VkDrawMeshTasksIndirectCommandNV {
13930 uint32_t taskCount;
13931 uint32_t firstTask;
13932} VkDrawMeshTasksIndirectCommandNV;
13933
13934typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksNV)(VkCommandBuffer commandBuffer, uint32_t taskCount, uint32_t firstTask);
13935typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
13936typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectCountNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
13937
13938#ifndef VK_NO_PROTOTYPES
13939VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksNV(
13940 VkCommandBuffer commandBuffer,
13941 uint32_t taskCount,
13942 uint32_t firstTask);
13943
13944VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectNV(
13945 VkCommandBuffer commandBuffer,
13946 VkBuffer buffer,
13947 VkDeviceSize offset,
13948 uint32_t drawCount,
13949 uint32_t stride);
13950
13951VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectCountNV(
13952 VkCommandBuffer commandBuffer,
13953 VkBuffer buffer,
13954 VkDeviceSize offset,
13955 VkBuffer countBuffer,
13956 VkDeviceSize countBufferOffset,
13957 uint32_t maxDrawCount,
13958 uint32_t stride);
13959#endif
13960
13961
13962// VK_NV_fragment_shader_barycentric is a preprocessor guard. Do not pass it to API calls.
13963#define VK_NV_fragment_shader_barycentric 1
13964#define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1
13965#define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_NV_fragment_shader_barycentric"
13966typedef VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV;
13967
13968
13969
13970// VK_NV_shader_image_footprint is a preprocessor guard. Do not pass it to API calls.
13971#define VK_NV_shader_image_footprint 1
13972#define VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION 2
13973#define VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME "VK_NV_shader_image_footprint"
13974typedef struct VkPhysicalDeviceShaderImageFootprintFeaturesNV {
13975 VkStructureType sType;
13976 void* pNext;
13977 VkBool32 imageFootprint;
13978} VkPhysicalDeviceShaderImageFootprintFeaturesNV;
13979
13980
13981
13982// VK_NV_scissor_exclusive is a preprocessor guard. Do not pass it to API calls.
13983#define VK_NV_scissor_exclusive 1
13984#define VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION 2
13985#define VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME "VK_NV_scissor_exclusive"
13986typedef struct VkPipelineViewportExclusiveScissorStateCreateInfoNV {
13987 VkStructureType sType;
13988 const void* pNext;
13989 uint32_t exclusiveScissorCount;
13990 const VkRect2D* pExclusiveScissors;
13991} VkPipelineViewportExclusiveScissorStateCreateInfoNV;
13992
13993typedef struct VkPhysicalDeviceExclusiveScissorFeaturesNV {
13994 VkStructureType sType;
13995 void* pNext;
13996 VkBool32 exclusiveScissor;
13997} VkPhysicalDeviceExclusiveScissorFeaturesNV;
13998
13999typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorEnableNV)(VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const VkBool32* pExclusiveScissorEnables);
14000typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorNV)(VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const VkRect2D* pExclusiveScissors);
14001
14002#ifndef VK_NO_PROTOTYPES
14003VKAPI_ATTR void VKAPI_CALL vkCmdSetExclusiveScissorEnableNV(
14004 VkCommandBuffer commandBuffer,
14005 uint32_t firstExclusiveScissor,
14006 uint32_t exclusiveScissorCount,
14007 const VkBool32* pExclusiveScissorEnables);
14008
14009VKAPI_ATTR void VKAPI_CALL vkCmdSetExclusiveScissorNV(
14010 VkCommandBuffer commandBuffer,
14011 uint32_t firstExclusiveScissor,
14012 uint32_t exclusiveScissorCount,
14013 const VkRect2D* pExclusiveScissors);
14014#endif
14015
14016
14017// VK_NV_device_diagnostic_checkpoints is a preprocessor guard. Do not pass it to API calls.
14018#define VK_NV_device_diagnostic_checkpoints 1
14019#define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION 2
14020#define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME "VK_NV_device_diagnostic_checkpoints"
14021typedef struct VkQueueFamilyCheckpointPropertiesNV {
14022 VkStructureType sType;
14023 void* pNext;
14024 VkPipelineStageFlags checkpointExecutionStageMask;
14025} VkQueueFamilyCheckpointPropertiesNV;
14026
14027typedef struct VkCheckpointDataNV {
14028 VkStructureType sType;
14029 void* pNext;
14030 VkPipelineStageFlagBits stage;
14031 void* pCheckpointMarker;
14032} VkCheckpointDataNV;
14033
14034typedef void (VKAPI_PTR *PFN_vkCmdSetCheckpointNV)(VkCommandBuffer commandBuffer, const void* pCheckpointMarker);
14035typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointDataNV)(VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData);
14036
14037#ifndef VK_NO_PROTOTYPES
14038VKAPI_ATTR void VKAPI_CALL vkCmdSetCheckpointNV(
14039 VkCommandBuffer commandBuffer,
14040 const void* pCheckpointMarker);
14041
14042VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointDataNV(
14043 VkQueue queue,
14044 uint32_t* pCheckpointDataCount,
14045 VkCheckpointDataNV* pCheckpointData);
14046#endif
14047
14048
14049// VK_INTEL_shader_integer_functions2 is a preprocessor guard. Do not pass it to API calls.
14050#define VK_INTEL_shader_integer_functions2 1
14051#define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION 1
14052#define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME "VK_INTEL_shader_integer_functions2"
14053typedef struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
14054 VkStructureType sType;
14055 void* pNext;
14056 VkBool32 shaderIntegerFunctions2;
14057} VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL;
14058
14059
14060
14061// VK_INTEL_performance_query is a preprocessor guard. Do not pass it to API calls.
14062#define VK_INTEL_performance_query 1
14063VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPerformanceConfigurationINTEL)
14064#define VK_INTEL_PERFORMANCE_QUERY_SPEC_VERSION 2
14065#define VK_INTEL_PERFORMANCE_QUERY_EXTENSION_NAME "VK_INTEL_performance_query"
14066
14067typedef enum VkPerformanceConfigurationTypeINTEL {
14068 VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL = 0,
14069 VK_PERFORMANCE_CONFIGURATION_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
14070} VkPerformanceConfigurationTypeINTEL;
14071
14072typedef enum VkQueryPoolSamplingModeINTEL {
14073 VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL = 0,
14074 VK_QUERY_POOL_SAMPLING_MODE_MAX_ENUM_INTEL = 0x7FFFFFFF
14075} VkQueryPoolSamplingModeINTEL;
14076
14077typedef enum VkPerformanceOverrideTypeINTEL {
14078 VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL = 0,
14079 VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL = 1,
14080 VK_PERFORMANCE_OVERRIDE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
14081} VkPerformanceOverrideTypeINTEL;
14082
14083typedef enum VkPerformanceParameterTypeINTEL {
14084 VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL = 0,
14085 VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL = 1,
14086 VK_PERFORMANCE_PARAMETER_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
14087} VkPerformanceParameterTypeINTEL;
14088
14089typedef enum VkPerformanceValueTypeINTEL {
14090 VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL = 0,
14091 VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL = 1,
14092 VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL = 2,
14093 VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL = 3,
14094 VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL = 4,
14095 VK_PERFORMANCE_VALUE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
14096} VkPerformanceValueTypeINTEL;
14097typedef union VkPerformanceValueDataINTEL {
14098 uint32_t value32;
14099 uint64_t value64;
14100 float valueFloat;
14101 VkBool32 valueBool;
14102 const char* valueString;
14103} VkPerformanceValueDataINTEL;
14104
14105typedef struct VkPerformanceValueINTEL {
14106 VkPerformanceValueTypeINTEL type;
14107 VkPerformanceValueDataINTEL data;
14108} VkPerformanceValueINTEL;
14109
14110typedef struct VkInitializePerformanceApiInfoINTEL {
14111 VkStructureType sType;
14112 const void* pNext;
14113 void* pUserData;
14114} VkInitializePerformanceApiInfoINTEL;
14115
14116typedef struct VkQueryPoolPerformanceQueryCreateInfoINTEL {
14117 VkStructureType sType;
14118 const void* pNext;
14119 VkQueryPoolSamplingModeINTEL performanceCountersSampling;
14120} VkQueryPoolPerformanceQueryCreateInfoINTEL;
14121
14122typedef VkQueryPoolPerformanceQueryCreateInfoINTEL VkQueryPoolCreateInfoINTEL;
14123
14124typedef struct VkPerformanceMarkerInfoINTEL {
14125 VkStructureType sType;
14126 const void* pNext;
14127 uint64_t marker;
14128} VkPerformanceMarkerInfoINTEL;
14129
14130typedef struct VkPerformanceStreamMarkerInfoINTEL {
14131 VkStructureType sType;
14132 const void* pNext;
14133 uint32_t marker;
14134} VkPerformanceStreamMarkerInfoINTEL;
14135
14136typedef struct VkPerformanceOverrideInfoINTEL {
14137 VkStructureType sType;
14138 const void* pNext;
14139 VkPerformanceOverrideTypeINTEL type;
14140 VkBool32 enable;
14141 uint64_t parameter;
14142} VkPerformanceOverrideInfoINTEL;
14143
14144typedef struct VkPerformanceConfigurationAcquireInfoINTEL {
14145 VkStructureType sType;
14146 const void* pNext;
14147 VkPerformanceConfigurationTypeINTEL type;
14148} VkPerformanceConfigurationAcquireInfoINTEL;
14149
14150typedef VkResult (VKAPI_PTR *PFN_vkInitializePerformanceApiINTEL)(VkDevice device, const VkInitializePerformanceApiInfoINTEL* pInitializeInfo);
14151typedef void (VKAPI_PTR *PFN_vkUninitializePerformanceApiINTEL)(VkDevice device);
14152typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL* pMarkerInfo);
14153typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceStreamMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo);
14154typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceOverrideINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL* pOverrideInfo);
14155typedef VkResult (VKAPI_PTR *PFN_vkAcquirePerformanceConfigurationINTEL)(VkDevice device, const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, VkPerformanceConfigurationINTEL* pConfiguration);
14156typedef VkResult (VKAPI_PTR *PFN_vkReleasePerformanceConfigurationINTEL)(VkDevice device, VkPerformanceConfigurationINTEL configuration);
14157typedef VkResult (VKAPI_PTR *PFN_vkQueueSetPerformanceConfigurationINTEL)(VkQueue queue, VkPerformanceConfigurationINTEL configuration);
14158typedef VkResult (VKAPI_PTR *PFN_vkGetPerformanceParameterINTEL)(VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL* pValue);
14159
14160#ifndef VK_NO_PROTOTYPES
14161VKAPI_ATTR VkResult VKAPI_CALL vkInitializePerformanceApiINTEL(
14162 VkDevice device,
14163 const VkInitializePerformanceApiInfoINTEL* pInitializeInfo);
14164
14165VKAPI_ATTR void VKAPI_CALL vkUninitializePerformanceApiINTEL(
14166 VkDevice device);
14167
14168VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceMarkerINTEL(
14169 VkCommandBuffer commandBuffer,
14170 const VkPerformanceMarkerInfoINTEL* pMarkerInfo);
14171
14172VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceStreamMarkerINTEL(
14173 VkCommandBuffer commandBuffer,
14174 const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo);
14175
14176VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceOverrideINTEL(
14177 VkCommandBuffer commandBuffer,
14178 const VkPerformanceOverrideInfoINTEL* pOverrideInfo);
14179
14180VKAPI_ATTR VkResult VKAPI_CALL vkAcquirePerformanceConfigurationINTEL(
14181 VkDevice device,
14182 const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo,
14183 VkPerformanceConfigurationINTEL* pConfiguration);
14184
14185VKAPI_ATTR VkResult VKAPI_CALL vkReleasePerformanceConfigurationINTEL(
14186 VkDevice device,
14187 VkPerformanceConfigurationINTEL configuration);
14188
14189VKAPI_ATTR VkResult VKAPI_CALL vkQueueSetPerformanceConfigurationINTEL(
14190 VkQueue queue,
14191 VkPerformanceConfigurationINTEL configuration);
14192
14193VKAPI_ATTR VkResult VKAPI_CALL vkGetPerformanceParameterINTEL(
14194 VkDevice device,
14195 VkPerformanceParameterTypeINTEL parameter,
14196 VkPerformanceValueINTEL* pValue);
14197#endif
14198
14199
14200// VK_EXT_pci_bus_info is a preprocessor guard. Do not pass it to API calls.
14201#define VK_EXT_pci_bus_info 1
14202#define VK_EXT_PCI_BUS_INFO_SPEC_VERSION 2
14203#define VK_EXT_PCI_BUS_INFO_EXTENSION_NAME "VK_EXT_pci_bus_info"
14204typedef struct VkPhysicalDevicePCIBusInfoPropertiesEXT {
14205 VkStructureType sType;
14206 void* pNext;
14207 uint32_t pciDomain;
14208 uint32_t pciBus;
14209 uint32_t pciDevice;
14210 uint32_t pciFunction;
14211} VkPhysicalDevicePCIBusInfoPropertiesEXT;
14212
14213
14214
14215// VK_AMD_display_native_hdr is a preprocessor guard. Do not pass it to API calls.
14216#define VK_AMD_display_native_hdr 1
14217#define VK_AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION 1
14218#define VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME "VK_AMD_display_native_hdr"
14219typedef struct VkDisplayNativeHdrSurfaceCapabilitiesAMD {
14220 VkStructureType sType;
14221 void* pNext;
14222 VkBool32 localDimmingSupport;
14223} VkDisplayNativeHdrSurfaceCapabilitiesAMD;
14224
14225typedef struct VkSwapchainDisplayNativeHdrCreateInfoAMD {
14226 VkStructureType sType;
14227 const void* pNext;
14228 VkBool32 localDimmingEnable;
14229} VkSwapchainDisplayNativeHdrCreateInfoAMD;
14230
14231typedef void (VKAPI_PTR *PFN_vkSetLocalDimmingAMD)(VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable);
14232
14233#ifndef VK_NO_PROTOTYPES
14234VKAPI_ATTR void VKAPI_CALL vkSetLocalDimmingAMD(
14235 VkDevice device,
14236 VkSwapchainKHR swapChain,
14237 VkBool32 localDimmingEnable);
14238#endif
14239
14240
14241// VK_EXT_fragment_density_map is a preprocessor guard. Do not pass it to API calls.
14242#define VK_EXT_fragment_density_map 1
14243#define VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION 2
14244#define VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME "VK_EXT_fragment_density_map"
14245typedef struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT {
14246 VkStructureType sType;
14247 void* pNext;
14248 VkBool32 fragmentDensityMap;
14249 VkBool32 fragmentDensityMapDynamic;
14250 VkBool32 fragmentDensityMapNonSubsampledImages;
14251} VkPhysicalDeviceFragmentDensityMapFeaturesEXT;
14252
14253typedef struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT {
14254 VkStructureType sType;
14255 void* pNext;
14256 VkExtent2D minFragmentDensityTexelSize;
14257 VkExtent2D maxFragmentDensityTexelSize;
14258 VkBool32 fragmentDensityInvocations;
14259} VkPhysicalDeviceFragmentDensityMapPropertiesEXT;
14260
14261typedef struct VkRenderPassFragmentDensityMapCreateInfoEXT {
14262 VkStructureType sType;
14263 const void* pNext;
14264 VkAttachmentReference fragmentDensityMapAttachment;
14265} VkRenderPassFragmentDensityMapCreateInfoEXT;
14266
14267
14268
14269// VK_EXT_scalar_block_layout is a preprocessor guard. Do not pass it to API calls.
14270#define VK_EXT_scalar_block_layout 1
14271#define VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION 1
14272#define VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME "VK_EXT_scalar_block_layout"
14273typedef VkPhysicalDeviceScalarBlockLayoutFeatures VkPhysicalDeviceScalarBlockLayoutFeaturesEXT;
14274
14275
14276
14277// VK_GOOGLE_hlsl_functionality1 is a preprocessor guard. Do not pass it to API calls.
14278#define VK_GOOGLE_hlsl_functionality1 1
14279#define VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION 1
14280#define VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME "VK_GOOGLE_hlsl_functionality1"
14281#define VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION
14282#define VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME
14283
14284
14285// VK_GOOGLE_decorate_string is a preprocessor guard. Do not pass it to API calls.
14286#define VK_GOOGLE_decorate_string 1
14287#define VK_GOOGLE_DECORATE_STRING_SPEC_VERSION 1
14288#define VK_GOOGLE_DECORATE_STRING_EXTENSION_NAME "VK_GOOGLE_decorate_string"
14289
14290
14291// VK_EXT_subgroup_size_control is a preprocessor guard. Do not pass it to API calls.
14292#define VK_EXT_subgroup_size_control 1
14293#define VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION 2
14294#define VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME "VK_EXT_subgroup_size_control"
14295typedef VkPhysicalDeviceSubgroupSizeControlFeatures VkPhysicalDeviceSubgroupSizeControlFeaturesEXT;
14296
14297typedef VkPhysicalDeviceSubgroupSizeControlProperties VkPhysicalDeviceSubgroupSizeControlPropertiesEXT;
14298
14299typedef VkPipelineShaderStageRequiredSubgroupSizeCreateInfo VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT;
14300
14301
14302
14303// VK_AMD_shader_core_properties2 is a preprocessor guard. Do not pass it to API calls.
14304#define VK_AMD_shader_core_properties2 1
14305#define VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION 1
14306#define VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME "VK_AMD_shader_core_properties2"
14307
14308typedef enum VkShaderCorePropertiesFlagBitsAMD {
14309 VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF
14310} VkShaderCorePropertiesFlagBitsAMD;
14311typedef VkFlags VkShaderCorePropertiesFlagsAMD;
14312typedef struct VkPhysicalDeviceShaderCoreProperties2AMD {
14313 VkStructureType sType;
14314 void* pNext;
14315 VkShaderCorePropertiesFlagsAMD shaderCoreFeatures;
14316 uint32_t activeComputeUnitCount;
14317} VkPhysicalDeviceShaderCoreProperties2AMD;
14318
14319
14320
14321// VK_AMD_device_coherent_memory is a preprocessor guard. Do not pass it to API calls.
14322#define VK_AMD_device_coherent_memory 1
14323#define VK_AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION 1
14324#define VK_AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME "VK_AMD_device_coherent_memory"
14325typedef struct VkPhysicalDeviceCoherentMemoryFeaturesAMD {
14326 VkStructureType sType;
14327 void* pNext;
14328 VkBool32 deviceCoherentMemory;
14329} VkPhysicalDeviceCoherentMemoryFeaturesAMD;
14330
14331
14332
14333// VK_EXT_shader_image_atomic_int64 is a preprocessor guard. Do not pass it to API calls.
14334#define VK_EXT_shader_image_atomic_int64 1
14335#define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION 1
14336#define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME "VK_EXT_shader_image_atomic_int64"
14337typedef struct VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT {
14338 VkStructureType sType;
14339 void* pNext;
14340 VkBool32 shaderImageInt64Atomics;
14341 VkBool32 sparseImageInt64Atomics;
14342} VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT;
14343
14344
14345
14346// VK_EXT_memory_budget is a preprocessor guard. Do not pass it to API calls.
14347#define VK_EXT_memory_budget 1
14348#define VK_EXT_MEMORY_BUDGET_SPEC_VERSION 1
14349#define VK_EXT_MEMORY_BUDGET_EXTENSION_NAME "VK_EXT_memory_budget"
14350typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT {
14351 VkStructureType sType;
14352 void* pNext;
14353 VkDeviceSize heapBudget[VK_MAX_MEMORY_HEAPS];
14354 VkDeviceSize heapUsage[VK_MAX_MEMORY_HEAPS];
14355} VkPhysicalDeviceMemoryBudgetPropertiesEXT;
14356
14357
14358
14359// VK_EXT_memory_priority is a preprocessor guard. Do not pass it to API calls.
14360#define VK_EXT_memory_priority 1
14361#define VK_EXT_MEMORY_PRIORITY_SPEC_VERSION 1
14362#define VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME "VK_EXT_memory_priority"
14363typedef struct VkPhysicalDeviceMemoryPriorityFeaturesEXT {
14364 VkStructureType sType;
14365 void* pNext;
14366 VkBool32 memoryPriority;
14367} VkPhysicalDeviceMemoryPriorityFeaturesEXT;
14368
14369typedef struct VkMemoryPriorityAllocateInfoEXT {
14370 VkStructureType sType;
14371 const void* pNext;
14372 float priority;
14373} VkMemoryPriorityAllocateInfoEXT;
14374
14375
14376
14377// VK_NV_dedicated_allocation_image_aliasing is a preprocessor guard. Do not pass it to API calls.
14378#define VK_NV_dedicated_allocation_image_aliasing 1
14379#define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION 1
14380#define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME "VK_NV_dedicated_allocation_image_aliasing"
14381typedef struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
14382 VkStructureType sType;
14383 void* pNext;
14384 VkBool32 dedicatedAllocationImageAliasing;
14385} VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV;
14386
14387
14388
14389// VK_EXT_buffer_device_address is a preprocessor guard. Do not pass it to API calls.
14390#define VK_EXT_buffer_device_address 1
14391#define VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 2
14392#define VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_EXT_buffer_device_address"
14393typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT {
14394 VkStructureType sType;
14395 void* pNext;
14396 VkBool32 bufferDeviceAddress;
14397 VkBool32 bufferDeviceAddressCaptureReplay;
14398 VkBool32 bufferDeviceAddressMultiDevice;
14399} VkPhysicalDeviceBufferDeviceAddressFeaturesEXT;
14400
14401typedef VkPhysicalDeviceBufferDeviceAddressFeaturesEXT VkPhysicalDeviceBufferAddressFeaturesEXT;
14402
14403typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoEXT;
14404
14405typedef struct VkBufferDeviceAddressCreateInfoEXT {
14406 VkStructureType sType;
14407 const void* pNext;
14408 VkDeviceAddress deviceAddress;
14409} VkBufferDeviceAddressCreateInfoEXT;
14410
14411typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressEXT)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
14412
14413#ifndef VK_NO_PROTOTYPES
14414VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressEXT(
14415 VkDevice device,
14416 const VkBufferDeviceAddressInfo* pInfo);
14417#endif
14418
14419
14420// VK_EXT_tooling_info is a preprocessor guard. Do not pass it to API calls.
14421#define VK_EXT_tooling_info 1
14422#define VK_EXT_TOOLING_INFO_SPEC_VERSION 1
14423#define VK_EXT_TOOLING_INFO_EXTENSION_NAME "VK_EXT_tooling_info"
14424typedef VkToolPurposeFlagBits VkToolPurposeFlagBitsEXT;
14425
14426typedef VkToolPurposeFlags VkToolPurposeFlagsEXT;
14427
14428typedef VkPhysicalDeviceToolProperties VkPhysicalDeviceToolPropertiesEXT;
14429
14430typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceToolPropertiesEXT)(VkPhysicalDevice physicalDevice, uint32_t* pToolCount, VkPhysicalDeviceToolProperties* pToolProperties);
14431
14432#ifndef VK_NO_PROTOTYPES
14433VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceToolPropertiesEXT(
14434 VkPhysicalDevice physicalDevice,
14435 uint32_t* pToolCount,
14436 VkPhysicalDeviceToolProperties* pToolProperties);
14437#endif
14438
14439
14440// VK_EXT_separate_stencil_usage is a preprocessor guard. Do not pass it to API calls.
14441#define VK_EXT_separate_stencil_usage 1
14442#define VK_EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION 1
14443#define VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME "VK_EXT_separate_stencil_usage"
14444typedef VkImageStencilUsageCreateInfo VkImageStencilUsageCreateInfoEXT;
14445
14446
14447
14448// VK_EXT_validation_features is a preprocessor guard. Do not pass it to API calls.
14449#define VK_EXT_validation_features 1
14450#define VK_EXT_VALIDATION_FEATURES_SPEC_VERSION 6
14451#define VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME "VK_EXT_validation_features"
14452
14453typedef enum VkValidationFeatureEnableEXT {
14454 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT = 0,
14455 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT = 1,
14456 VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT = 2,
14457 VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT = 3,
14458 VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT = 4,
14459 VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT = 0x7FFFFFFF
14460} VkValidationFeatureEnableEXT;
14461
14462typedef enum VkValidationFeatureDisableEXT {
14463 VK_VALIDATION_FEATURE_DISABLE_ALL_EXT = 0,
14464 VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT = 1,
14465 VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT = 2,
14466 VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT = 3,
14467 VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT = 4,
14468 VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT = 5,
14469 VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT = 6,
14470 VK_VALIDATION_FEATURE_DISABLE_SHADER_VALIDATION_CACHE_EXT = 7,
14471 VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT = 0x7FFFFFFF
14472} VkValidationFeatureDisableEXT;
14473typedef struct VkValidationFeaturesEXT {
14474 VkStructureType sType;
14475 const void* pNext;
14476 uint32_t enabledValidationFeatureCount;
14477 const VkValidationFeatureEnableEXT* pEnabledValidationFeatures;
14478 uint32_t disabledValidationFeatureCount;
14479 const VkValidationFeatureDisableEXT* pDisabledValidationFeatures;
14480} VkValidationFeaturesEXT;
14481
14482
14483
14484// VK_NV_cooperative_matrix is a preprocessor guard. Do not pass it to API calls.
14485#define VK_NV_cooperative_matrix 1
14486#define VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION 1
14487#define VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_NV_cooperative_matrix"
14488typedef VkComponentTypeKHR VkComponentTypeNV;
14489
14490typedef VkScopeKHR VkScopeNV;
14491
14492typedef struct VkCooperativeMatrixPropertiesNV {
14493 VkStructureType sType;
14494 void* pNext;
14495 uint32_t MSize;
14496 uint32_t NSize;
14497 uint32_t KSize;
14498 VkComponentTypeNV AType;
14499 VkComponentTypeNV BType;
14500 VkComponentTypeNV CType;
14501 VkComponentTypeNV DType;
14502 VkScopeNV scope;
14503} VkCooperativeMatrixPropertiesNV;
14504
14505typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesNV {
14506 VkStructureType sType;
14507 void* pNext;
14508 VkBool32 cooperativeMatrix;
14509 VkBool32 cooperativeMatrixRobustBufferAccess;
14510} VkPhysicalDeviceCooperativeMatrixFeaturesNV;
14511
14512typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesNV {
14513 VkStructureType sType;
14514 void* pNext;
14515 VkShaderStageFlags cooperativeMatrixSupportedStages;
14516} VkPhysicalDeviceCooperativeMatrixPropertiesNV;
14517
14518typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkCooperativeMatrixPropertiesNV* pProperties);
14519
14520#ifndef VK_NO_PROTOTYPES
14521VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(
14522 VkPhysicalDevice physicalDevice,
14523 uint32_t* pPropertyCount,
14524 VkCooperativeMatrixPropertiesNV* pProperties);
14525#endif
14526
14527
14528// VK_NV_coverage_reduction_mode is a preprocessor guard. Do not pass it to API calls.
14529#define VK_NV_coverage_reduction_mode 1
14530#define VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION 1
14531#define VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME "VK_NV_coverage_reduction_mode"
14532
14533typedef enum VkCoverageReductionModeNV {
14534 VK_COVERAGE_REDUCTION_MODE_MERGE_NV = 0,
14535 VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV = 1,
14536 VK_COVERAGE_REDUCTION_MODE_MAX_ENUM_NV = 0x7FFFFFFF
14537} VkCoverageReductionModeNV;
14538typedef VkFlags VkPipelineCoverageReductionStateCreateFlagsNV;
14539typedef struct VkPhysicalDeviceCoverageReductionModeFeaturesNV {
14540 VkStructureType sType;
14541 void* pNext;
14542 VkBool32 coverageReductionMode;
14543} VkPhysicalDeviceCoverageReductionModeFeaturesNV;
14544
14545typedef struct VkPipelineCoverageReductionStateCreateInfoNV {
14546 VkStructureType sType;
14547 const void* pNext;
14548 VkPipelineCoverageReductionStateCreateFlagsNV flags;
14549 VkCoverageReductionModeNV coverageReductionMode;
14550} VkPipelineCoverageReductionStateCreateInfoNV;
14551
14552typedef struct VkFramebufferMixedSamplesCombinationNV {
14553 VkStructureType sType;
14554 void* pNext;
14555 VkCoverageReductionModeNV coverageReductionMode;
14556 VkSampleCountFlagBits rasterizationSamples;
14557 VkSampleCountFlags depthStencilSamples;
14558 VkSampleCountFlags colorSamples;
14559} VkFramebufferMixedSamplesCombinationNV;
14560
14561typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV)(VkPhysicalDevice physicalDevice, uint32_t* pCombinationCount, VkFramebufferMixedSamplesCombinationNV* pCombinations);
14562
14563#ifndef VK_NO_PROTOTYPES
14564VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
14565 VkPhysicalDevice physicalDevice,
14566 uint32_t* pCombinationCount,
14567 VkFramebufferMixedSamplesCombinationNV* pCombinations);
14568#endif
14569
14570
14571// VK_EXT_fragment_shader_interlock is a preprocessor guard. Do not pass it to API calls.
14572#define VK_EXT_fragment_shader_interlock 1
14573#define VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION 1
14574#define VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME "VK_EXT_fragment_shader_interlock"
14575typedef struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT {
14576 VkStructureType sType;
14577 void* pNext;
14578 VkBool32 fragmentShaderSampleInterlock;
14579 VkBool32 fragmentShaderPixelInterlock;
14580 VkBool32 fragmentShaderShadingRateInterlock;
14581} VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT;
14582
14583
14584
14585// VK_EXT_ycbcr_image_arrays is a preprocessor guard. Do not pass it to API calls.
14586#define VK_EXT_ycbcr_image_arrays 1
14587#define VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION 1
14588#define VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME "VK_EXT_ycbcr_image_arrays"
14589typedef struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT {
14590 VkStructureType sType;
14591 void* pNext;
14592 VkBool32 ycbcrImageArrays;
14593} VkPhysicalDeviceYcbcrImageArraysFeaturesEXT;
14594
14595
14596
14597// VK_EXT_provoking_vertex is a preprocessor guard. Do not pass it to API calls.
14598#define VK_EXT_provoking_vertex 1
14599#define VK_EXT_PROVOKING_VERTEX_SPEC_VERSION 1
14600#define VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME "VK_EXT_provoking_vertex"
14601
14602typedef enum VkProvokingVertexModeEXT {
14603 VK_PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT = 0,
14604 VK_PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT = 1,
14605 VK_PROVOKING_VERTEX_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
14606} VkProvokingVertexModeEXT;
14607typedef struct VkPhysicalDeviceProvokingVertexFeaturesEXT {
14608 VkStructureType sType;
14609 void* pNext;
14610 VkBool32 provokingVertexLast;
14611 VkBool32 transformFeedbackPreservesProvokingVertex;
14612} VkPhysicalDeviceProvokingVertexFeaturesEXT;
14613
14614typedef struct VkPhysicalDeviceProvokingVertexPropertiesEXT {
14615 VkStructureType sType;
14616 void* pNext;
14617 VkBool32 provokingVertexModePerPipeline;
14618 VkBool32 transformFeedbackPreservesTriangleFanProvokingVertex;
14619} VkPhysicalDeviceProvokingVertexPropertiesEXT;
14620
14621typedef struct VkPipelineRasterizationProvokingVertexStateCreateInfoEXT {
14622 VkStructureType sType;
14623 const void* pNext;
14624 VkProvokingVertexModeEXT provokingVertexMode;
14625} VkPipelineRasterizationProvokingVertexStateCreateInfoEXT;
14626
14627
14628
14629// VK_EXT_headless_surface is a preprocessor guard. Do not pass it to API calls.
14630#define VK_EXT_headless_surface 1
14631#define VK_EXT_HEADLESS_SURFACE_SPEC_VERSION 1
14632#define VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME "VK_EXT_headless_surface"
14633typedef VkFlags VkHeadlessSurfaceCreateFlagsEXT;
14634typedef struct VkHeadlessSurfaceCreateInfoEXT {
14635 VkStructureType sType;
14636 const void* pNext;
14637 VkHeadlessSurfaceCreateFlagsEXT flags;
14638} VkHeadlessSurfaceCreateInfoEXT;
14639
14640typedef VkResult (VKAPI_PTR *PFN_vkCreateHeadlessSurfaceEXT)(VkInstance instance, const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
14641
14642#ifndef VK_NO_PROTOTYPES
14643VKAPI_ATTR VkResult VKAPI_CALL vkCreateHeadlessSurfaceEXT(
14644 VkInstance instance,
14645 const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo,
14646 const VkAllocationCallbacks* pAllocator,
14647 VkSurfaceKHR* pSurface);
14648#endif
14649
14650
14651// VK_EXT_line_rasterization is a preprocessor guard. Do not pass it to API calls.
14652#define VK_EXT_line_rasterization 1
14653#define VK_EXT_LINE_RASTERIZATION_SPEC_VERSION 1
14654#define VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME "VK_EXT_line_rasterization"
14655
14656typedef enum VkLineRasterizationModeEXT {
14657 VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT = 0,
14658 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT = 1,
14659 VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT = 2,
14660 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT = 3,
14661 VK_LINE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
14662} VkLineRasterizationModeEXT;
14663typedef struct VkPhysicalDeviceLineRasterizationFeaturesEXT {
14664 VkStructureType sType;
14665 void* pNext;
14666 VkBool32 rectangularLines;
14667 VkBool32 bresenhamLines;
14668 VkBool32 smoothLines;
14669 VkBool32 stippledRectangularLines;
14670 VkBool32 stippledBresenhamLines;
14671 VkBool32 stippledSmoothLines;
14672} VkPhysicalDeviceLineRasterizationFeaturesEXT;
14673
14674typedef struct VkPhysicalDeviceLineRasterizationPropertiesEXT {
14675 VkStructureType sType;
14676 void* pNext;
14677 uint32_t lineSubPixelPrecisionBits;
14678} VkPhysicalDeviceLineRasterizationPropertiesEXT;
14679
14680typedef struct VkPipelineRasterizationLineStateCreateInfoEXT {
14681 VkStructureType sType;
14682 const void* pNext;
14683 VkLineRasterizationModeEXT lineRasterizationMode;
14684 VkBool32 stippledLineEnable;
14685 uint32_t lineStippleFactor;
14686 uint16_t lineStipplePattern;
14687} VkPipelineRasterizationLineStateCreateInfoEXT;
14688
14689typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleEXT)(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern);
14690
14691#ifndef VK_NO_PROTOTYPES
14692VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleEXT(
14693 VkCommandBuffer commandBuffer,
14694 uint32_t lineStippleFactor,
14695 uint16_t lineStipplePattern);
14696#endif
14697
14698
14699// VK_EXT_shader_atomic_float is a preprocessor guard. Do not pass it to API calls.
14700#define VK_EXT_shader_atomic_float 1
14701#define VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION 1
14702#define VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME "VK_EXT_shader_atomic_float"
14703typedef struct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT {
14704 VkStructureType sType;
14705 void* pNext;
14706 VkBool32 shaderBufferFloat32Atomics;
14707 VkBool32 shaderBufferFloat32AtomicAdd;
14708 VkBool32 shaderBufferFloat64Atomics;
14709 VkBool32 shaderBufferFloat64AtomicAdd;
14710 VkBool32 shaderSharedFloat32Atomics;
14711 VkBool32 shaderSharedFloat32AtomicAdd;
14712 VkBool32 shaderSharedFloat64Atomics;
14713 VkBool32 shaderSharedFloat64AtomicAdd;
14714 VkBool32 shaderImageFloat32Atomics;
14715 VkBool32 shaderImageFloat32AtomicAdd;
14716 VkBool32 sparseImageFloat32Atomics;
14717 VkBool32 sparseImageFloat32AtomicAdd;
14718} VkPhysicalDeviceShaderAtomicFloatFeaturesEXT;
14719
14720
14721
14722// VK_EXT_host_query_reset is a preprocessor guard. Do not pass it to API calls.
14723#define VK_EXT_host_query_reset 1
14724#define VK_EXT_HOST_QUERY_RESET_SPEC_VERSION 1
14725#define VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME "VK_EXT_host_query_reset"
14726typedef VkPhysicalDeviceHostQueryResetFeatures VkPhysicalDeviceHostQueryResetFeaturesEXT;
14727
14728typedef void (VKAPI_PTR *PFN_vkResetQueryPoolEXT)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount);
14729
14730#ifndef VK_NO_PROTOTYPES
14731VKAPI_ATTR void VKAPI_CALL vkResetQueryPoolEXT(
14732 VkDevice device,
14733 VkQueryPool queryPool,
14734 uint32_t firstQuery,
14735 uint32_t queryCount);
14736#endif
14737
14738
14739// VK_EXT_index_type_uint8 is a preprocessor guard. Do not pass it to API calls.
14740#define VK_EXT_index_type_uint8 1
14741#define VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION 1
14742#define VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_EXT_index_type_uint8"
14743typedef struct VkPhysicalDeviceIndexTypeUint8FeaturesEXT {
14744 VkStructureType sType;
14745 void* pNext;
14746 VkBool32 indexTypeUint8;
14747} VkPhysicalDeviceIndexTypeUint8FeaturesEXT;
14748
14749
14750
14751// VK_EXT_extended_dynamic_state is a preprocessor guard. Do not pass it to API calls.
14752#define VK_EXT_extended_dynamic_state 1
14753#define VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION 1
14754#define VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_extended_dynamic_state"
14755typedef struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT {
14756 VkStructureType sType;
14757 void* pNext;
14758 VkBool32 extendedDynamicState;
14759} VkPhysicalDeviceExtendedDynamicStateFeaturesEXT;
14760
14761typedef void (VKAPI_PTR *PFN_vkCmdSetCullModeEXT)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode);
14762typedef void (VKAPI_PTR *PFN_vkCmdSetFrontFaceEXT)(VkCommandBuffer commandBuffer, VkFrontFace frontFace);
14763typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveTopologyEXT)(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology);
14764typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWithCountEXT)(VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport* pViewports);
14765typedef void (VKAPI_PTR *PFN_vkCmdSetScissorWithCountEXT)(VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D* pScissors);
14766typedef 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);
14767typedef void (VKAPI_PTR *PFN_vkCmdSetDepthTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable);
14768typedef void (VKAPI_PTR *PFN_vkCmdSetDepthWriteEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable);
14769typedef void (VKAPI_PTR *PFN_vkCmdSetDepthCompareOpEXT)(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp);
14770typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBoundsTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable);
14771typedef void (VKAPI_PTR *PFN_vkCmdSetStencilTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable);
14772typedef void (VKAPI_PTR *PFN_vkCmdSetStencilOpEXT)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp);
14773
14774#ifndef VK_NO_PROTOTYPES
14775VKAPI_ATTR void VKAPI_CALL vkCmdSetCullModeEXT(
14776 VkCommandBuffer commandBuffer,
14777 VkCullModeFlags cullMode);
14778
14779VKAPI_ATTR void VKAPI_CALL vkCmdSetFrontFaceEXT(
14780 VkCommandBuffer commandBuffer,
14781 VkFrontFace frontFace);
14782
14783VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveTopologyEXT(
14784 VkCommandBuffer commandBuffer,
14785 VkPrimitiveTopology primitiveTopology);
14786
14787VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWithCountEXT(
14788 VkCommandBuffer commandBuffer,
14789 uint32_t viewportCount,
14790 const VkViewport* pViewports);
14791
14792VKAPI_ATTR void VKAPI_CALL vkCmdSetScissorWithCountEXT(
14793 VkCommandBuffer commandBuffer,
14794 uint32_t scissorCount,
14795 const VkRect2D* pScissors);
14796
14797VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers2EXT(
14798 VkCommandBuffer commandBuffer,
14799 uint32_t firstBinding,
14800 uint32_t bindingCount,
14801 const VkBuffer* pBuffers,
14802 const VkDeviceSize* pOffsets,
14803 const VkDeviceSize* pSizes,
14804 const VkDeviceSize* pStrides);
14805
14806VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthTestEnableEXT(
14807 VkCommandBuffer commandBuffer,
14808 VkBool32 depthTestEnable);
14809
14810VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthWriteEnableEXT(
14811 VkCommandBuffer commandBuffer,
14812 VkBool32 depthWriteEnable);
14813
14814VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthCompareOpEXT(
14815 VkCommandBuffer commandBuffer,
14816 VkCompareOp depthCompareOp);
14817
14818VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBoundsTestEnableEXT(
14819 VkCommandBuffer commandBuffer,
14820 VkBool32 depthBoundsTestEnable);
14821
14822VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilTestEnableEXT(
14823 VkCommandBuffer commandBuffer,
14824 VkBool32 stencilTestEnable);
14825
14826VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilOpEXT(
14827 VkCommandBuffer commandBuffer,
14828 VkStencilFaceFlags faceMask,
14829 VkStencilOp failOp,
14830 VkStencilOp passOp,
14831 VkStencilOp depthFailOp,
14832 VkCompareOp compareOp);
14833#endif
14834
14835
14836// VK_EXT_host_image_copy is a preprocessor guard. Do not pass it to API calls.
14837#define VK_EXT_host_image_copy 1
14838#define VK_EXT_HOST_IMAGE_COPY_SPEC_VERSION 1
14839#define VK_EXT_HOST_IMAGE_COPY_EXTENSION_NAME "VK_EXT_host_image_copy"
14840
14841typedef enum VkHostImageCopyFlagBitsEXT {
14842 VK_HOST_IMAGE_COPY_MEMCPY_EXT = 0x00000001,
14843 VK_HOST_IMAGE_COPY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
14844} VkHostImageCopyFlagBitsEXT;
14845typedef VkFlags VkHostImageCopyFlagsEXT;
14846typedef struct VkPhysicalDeviceHostImageCopyFeaturesEXT {
14847 VkStructureType sType;
14848 void* pNext;
14849 VkBool32 hostImageCopy;
14850} VkPhysicalDeviceHostImageCopyFeaturesEXT;
14851
14852typedef struct VkPhysicalDeviceHostImageCopyPropertiesEXT {
14853 VkStructureType sType;
14854 void* pNext;
14855 uint32_t copySrcLayoutCount;
14856 VkImageLayout* pCopySrcLayouts;
14857 uint32_t copyDstLayoutCount;
14858 VkImageLayout* pCopyDstLayouts;
14859 uint8_t optimalTilingLayoutUUID[VK_UUID_SIZE];
14860 VkBool32 identicalMemoryTypeRequirements;
14861} VkPhysicalDeviceHostImageCopyPropertiesEXT;
14862
14863typedef struct VkMemoryToImageCopyEXT {
14864 VkStructureType sType;
14865 const void* pNext;
14866 const void* pHostPointer;
14867 uint32_t memoryRowLength;
14868 uint32_t memoryImageHeight;
14869 VkImageSubresourceLayers imageSubresource;
14870 VkOffset3D imageOffset;
14871 VkExtent3D imageExtent;
14872} VkMemoryToImageCopyEXT;
14873
14874typedef struct VkImageToMemoryCopyEXT {
14875 VkStructureType sType;
14876 const void* pNext;
14877 void* pHostPointer;
14878 uint32_t memoryRowLength;
14879 uint32_t memoryImageHeight;
14880 VkImageSubresourceLayers imageSubresource;
14881 VkOffset3D imageOffset;
14882 VkExtent3D imageExtent;
14883} VkImageToMemoryCopyEXT;
14884
14885typedef struct VkCopyMemoryToImageInfoEXT {
14886 VkStructureType sType;
14887 const void* pNext;
14888 VkHostImageCopyFlagsEXT flags;
14889 VkImage dstImage;
14890 VkImageLayout dstImageLayout;
14891 uint32_t regionCount;
14892 const VkMemoryToImageCopyEXT* pRegions;
14893} VkCopyMemoryToImageInfoEXT;
14894
14895typedef struct VkCopyImageToMemoryInfoEXT {
14896 VkStructureType sType;
14897 const void* pNext;
14898 VkHostImageCopyFlagsEXT flags;
14899 VkImage srcImage;
14900 VkImageLayout srcImageLayout;
14901 uint32_t regionCount;
14902 const VkImageToMemoryCopyEXT* pRegions;
14903} VkCopyImageToMemoryInfoEXT;
14904
14905typedef struct VkCopyImageToImageInfoEXT {
14906 VkStructureType sType;
14907 const void* pNext;
14908 VkHostImageCopyFlagsEXT flags;
14909 VkImage srcImage;
14910 VkImageLayout srcImageLayout;
14911 VkImage dstImage;
14912 VkImageLayout dstImageLayout;
14913 uint32_t regionCount;
14914 const VkImageCopy2* pRegions;
14915} VkCopyImageToImageInfoEXT;
14916
14917typedef struct VkHostImageLayoutTransitionInfoEXT {
14918 VkStructureType sType;
14919 const void* pNext;
14920 VkImage image;
14921 VkImageLayout oldLayout;
14922 VkImageLayout newLayout;
14923 VkImageSubresourceRange subresourceRange;
14924} VkHostImageLayoutTransitionInfoEXT;
14925
14926typedef struct VkSubresourceHostMemcpySizeEXT {
14927 VkStructureType sType;
14928 void* pNext;
14929 VkDeviceSize size;
14930} VkSubresourceHostMemcpySizeEXT;
14931
14932typedef struct VkHostImageCopyDevicePerformanceQueryEXT {
14933 VkStructureType sType;
14934 void* pNext;
14935 VkBool32 optimalDeviceAccess;
14936 VkBool32 identicalMemoryLayout;
14937} VkHostImageCopyDevicePerformanceQueryEXT;
14938
14939typedef VkSubresourceLayout2KHR VkSubresourceLayout2EXT;
14940
14941typedef VkImageSubresource2KHR VkImageSubresource2EXT;
14942
14943typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToImageEXT)(VkDevice device, const VkCopyMemoryToImageInfoEXT* pCopyMemoryToImageInfo);
14944typedef VkResult (VKAPI_PTR *PFN_vkCopyImageToMemoryEXT)(VkDevice device, const VkCopyImageToMemoryInfoEXT* pCopyImageToMemoryInfo);
14945typedef VkResult (VKAPI_PTR *PFN_vkCopyImageToImageEXT)(VkDevice device, const VkCopyImageToImageInfoEXT* pCopyImageToImageInfo);
14946typedef VkResult (VKAPI_PTR *PFN_vkTransitionImageLayoutEXT)(VkDevice device, uint32_t transitionCount, const VkHostImageLayoutTransitionInfoEXT* pTransitions);
14947typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout2EXT)(VkDevice device, VkImage image, const VkImageSubresource2KHR* pSubresource, VkSubresourceLayout2KHR* pLayout);
14948
14949#ifndef VK_NO_PROTOTYPES
14950VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToImageEXT(
14951 VkDevice device,
14952 const VkCopyMemoryToImageInfoEXT* pCopyMemoryToImageInfo);
14953
14954VKAPI_ATTR VkResult VKAPI_CALL vkCopyImageToMemoryEXT(
14955 VkDevice device,
14956 const VkCopyImageToMemoryInfoEXT* pCopyImageToMemoryInfo);
14957
14958VKAPI_ATTR VkResult VKAPI_CALL vkCopyImageToImageEXT(
14959 VkDevice device,
14960 const VkCopyImageToImageInfoEXT* pCopyImageToImageInfo);
14961
14962VKAPI_ATTR VkResult VKAPI_CALL vkTransitionImageLayoutEXT(
14963 VkDevice device,
14964 uint32_t transitionCount,
14965 const VkHostImageLayoutTransitionInfoEXT* pTransitions);
14966
14967VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout2EXT(
14968 VkDevice device,
14969 VkImage image,
14970 const VkImageSubresource2KHR* pSubresource,
14971 VkSubresourceLayout2KHR* pLayout);
14972#endif
14973
14974
14975// VK_EXT_shader_atomic_float2 is a preprocessor guard. Do not pass it to API calls.
14976#define VK_EXT_shader_atomic_float2 1
14977#define VK_EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION 1
14978#define VK_EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME "VK_EXT_shader_atomic_float2"
14979typedef struct VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT {
14980 VkStructureType sType;
14981 void* pNext;
14982 VkBool32 shaderBufferFloat16Atomics;
14983 VkBool32 shaderBufferFloat16AtomicAdd;
14984 VkBool32 shaderBufferFloat16AtomicMinMax;
14985 VkBool32 shaderBufferFloat32AtomicMinMax;
14986 VkBool32 shaderBufferFloat64AtomicMinMax;
14987 VkBool32 shaderSharedFloat16Atomics;
14988 VkBool32 shaderSharedFloat16AtomicAdd;
14989 VkBool32 shaderSharedFloat16AtomicMinMax;
14990 VkBool32 shaderSharedFloat32AtomicMinMax;
14991 VkBool32 shaderSharedFloat64AtomicMinMax;
14992 VkBool32 shaderImageFloat32AtomicMinMax;
14993 VkBool32 sparseImageFloat32AtomicMinMax;
14994} VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT;
14995
14996
14997
14998// VK_EXT_surface_maintenance1 is a preprocessor guard. Do not pass it to API calls.
14999#define VK_EXT_surface_maintenance1 1
15000#define VK_EXT_SURFACE_MAINTENANCE_1_SPEC_VERSION 1
15001#define VK_EXT_SURFACE_MAINTENANCE_1_EXTENSION_NAME "VK_EXT_surface_maintenance1"
15002
15003typedef enum VkPresentScalingFlagBitsEXT {
15004 VK_PRESENT_SCALING_ONE_TO_ONE_BIT_EXT = 0x00000001,
15005 VK_PRESENT_SCALING_ASPECT_RATIO_STRETCH_BIT_EXT = 0x00000002,
15006 VK_PRESENT_SCALING_STRETCH_BIT_EXT = 0x00000004,
15007 VK_PRESENT_SCALING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
15008} VkPresentScalingFlagBitsEXT;
15009typedef VkFlags VkPresentScalingFlagsEXT;
15010
15011typedef enum VkPresentGravityFlagBitsEXT {
15012 VK_PRESENT_GRAVITY_MIN_BIT_EXT = 0x00000001,
15013 VK_PRESENT_GRAVITY_MAX_BIT_EXT = 0x00000002,
15014 VK_PRESENT_GRAVITY_CENTERED_BIT_EXT = 0x00000004,
15015 VK_PRESENT_GRAVITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
15016} VkPresentGravityFlagBitsEXT;
15017typedef VkFlags VkPresentGravityFlagsEXT;
15018typedef struct VkSurfacePresentModeEXT {
15019 VkStructureType sType;
15020 void* pNext;
15021 VkPresentModeKHR presentMode;
15022} VkSurfacePresentModeEXT;
15023
15024typedef struct VkSurfacePresentScalingCapabilitiesEXT {
15025 VkStructureType sType;
15026 void* pNext;
15027 VkPresentScalingFlagsEXT supportedPresentScaling;
15028 VkPresentGravityFlagsEXT supportedPresentGravityX;
15029 VkPresentGravityFlagsEXT supportedPresentGravityY;
15030 VkExtent2D minScaledImageExtent;
15031 VkExtent2D maxScaledImageExtent;
15032} VkSurfacePresentScalingCapabilitiesEXT;
15033
15034typedef struct VkSurfacePresentModeCompatibilityEXT {
15035 VkStructureType sType;
15036 void* pNext;
15037 uint32_t presentModeCount;
15038 VkPresentModeKHR* pPresentModes;
15039} VkSurfacePresentModeCompatibilityEXT;
15040
15041
15042
15043// VK_EXT_swapchain_maintenance1 is a preprocessor guard. Do not pass it to API calls.
15044#define VK_EXT_swapchain_maintenance1 1
15045#define VK_EXT_SWAPCHAIN_MAINTENANCE_1_SPEC_VERSION 1
15046#define VK_EXT_SWAPCHAIN_MAINTENANCE_1_EXTENSION_NAME "VK_EXT_swapchain_maintenance1"
15047typedef struct VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT {
15048 VkStructureType sType;
15049 void* pNext;
15050 VkBool32 swapchainMaintenance1;
15051} VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT;
15052
15053typedef struct VkSwapchainPresentFenceInfoEXT {
15054 VkStructureType sType;
15055 const void* pNext;
15056 uint32_t swapchainCount;
15057 const VkFence* pFences;
15058} VkSwapchainPresentFenceInfoEXT;
15059
15060typedef struct VkSwapchainPresentModesCreateInfoEXT {
15061 VkStructureType sType;
15062 const void* pNext;
15063 uint32_t presentModeCount;
15064 const VkPresentModeKHR* pPresentModes;
15065} VkSwapchainPresentModesCreateInfoEXT;
15066
15067typedef struct VkSwapchainPresentModeInfoEXT {
15068 VkStructureType sType;
15069 const void* pNext;
15070 uint32_t swapchainCount;
15071 const VkPresentModeKHR* pPresentModes;
15072} VkSwapchainPresentModeInfoEXT;
15073
15074typedef struct VkSwapchainPresentScalingCreateInfoEXT {
15075 VkStructureType sType;
15076 const void* pNext;
15077 VkPresentScalingFlagsEXT scalingBehavior;
15078 VkPresentGravityFlagsEXT presentGravityX;
15079 VkPresentGravityFlagsEXT presentGravityY;
15080} VkSwapchainPresentScalingCreateInfoEXT;
15081
15082typedef struct VkReleaseSwapchainImagesInfoEXT {
15083 VkStructureType sType;
15084 const void* pNext;
15085 VkSwapchainKHR swapchain;
15086 uint32_t imageIndexCount;
15087 const uint32_t* pImageIndices;
15088} VkReleaseSwapchainImagesInfoEXT;
15089
15090typedef VkResult (VKAPI_PTR *PFN_vkReleaseSwapchainImagesEXT)(VkDevice device, const VkReleaseSwapchainImagesInfoEXT* pReleaseInfo);
15091
15092#ifndef VK_NO_PROTOTYPES
15093VKAPI_ATTR VkResult VKAPI_CALL vkReleaseSwapchainImagesEXT(
15094 VkDevice device,
15095 const VkReleaseSwapchainImagesInfoEXT* pReleaseInfo);
15096#endif
15097
15098
15099// VK_EXT_shader_demote_to_helper_invocation is a preprocessor guard. Do not pass it to API calls.
15100#define VK_EXT_shader_demote_to_helper_invocation 1
15101#define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION 1
15102#define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME "VK_EXT_shader_demote_to_helper_invocation"
15103typedef VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT;
15104
15105
15106
15107// VK_NV_device_generated_commands is a preprocessor guard. Do not pass it to API calls.
15108#define VK_NV_device_generated_commands 1
15109VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutNV)
15110#define VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION 3
15111#define VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_NV_device_generated_commands"
15112
15113typedef enum VkIndirectCommandsTokenTypeNV {
15114 VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV = 0,
15115 VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV = 1,
15116 VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV = 2,
15117 VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV = 3,
15118 VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV = 4,
15119 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV = 5,
15120 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV = 6,
15121 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV = 7,
15122 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_NV = 1000328000,
15123 VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NV = 1000428003,
15124 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NV = 1000428004,
15125 VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
15126} VkIndirectCommandsTokenTypeNV;
15127
15128typedef enum VkIndirectStateFlagBitsNV {
15129 VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV = 0x00000001,
15130 VK_INDIRECT_STATE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
15131} VkIndirectStateFlagBitsNV;
15132typedef VkFlags VkIndirectStateFlagsNV;
15133
15134typedef enum VkIndirectCommandsLayoutUsageFlagBitsNV {
15135 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV = 0x00000001,
15136 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV = 0x00000002,
15137 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV = 0x00000004,
15138 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
15139} VkIndirectCommandsLayoutUsageFlagBitsNV;
15140typedef VkFlags VkIndirectCommandsLayoutUsageFlagsNV;
15141typedef struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
15142 VkStructureType sType;
15143 void* pNext;
15144 uint32_t maxGraphicsShaderGroupCount;
15145 uint32_t maxIndirectSequenceCount;
15146 uint32_t maxIndirectCommandsTokenCount;
15147 uint32_t maxIndirectCommandsStreamCount;
15148 uint32_t maxIndirectCommandsTokenOffset;
15149 uint32_t maxIndirectCommandsStreamStride;
15150 uint32_t minSequencesCountBufferOffsetAlignment;
15151 uint32_t minSequencesIndexBufferOffsetAlignment;
15152 uint32_t minIndirectCommandsBufferOffsetAlignment;
15153} VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV;
15154
15155typedef struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
15156 VkStructureType sType;
15157 void* pNext;
15158 VkBool32 deviceGeneratedCommands;
15159} VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV;
15160
15161typedef struct VkGraphicsShaderGroupCreateInfoNV {
15162 VkStructureType sType;
15163 const void* pNext;
15164 uint32_t stageCount;
15165 const VkPipelineShaderStageCreateInfo* pStages;
15166 const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
15167 const VkPipelineTessellationStateCreateInfo* pTessellationState;
15168} VkGraphicsShaderGroupCreateInfoNV;
15169
15170typedef struct VkGraphicsPipelineShaderGroupsCreateInfoNV {
15171 VkStructureType sType;
15172 const void* pNext;
15173 uint32_t groupCount;
15174 const VkGraphicsShaderGroupCreateInfoNV* pGroups;
15175 uint32_t pipelineCount;
15176 const VkPipeline* pPipelines;
15177} VkGraphicsPipelineShaderGroupsCreateInfoNV;
15178
15179typedef struct VkBindShaderGroupIndirectCommandNV {
15180 uint32_t groupIndex;
15181} VkBindShaderGroupIndirectCommandNV;
15182
15183typedef struct VkBindIndexBufferIndirectCommandNV {
15184 VkDeviceAddress bufferAddress;
15185 uint32_t size;
15186 VkIndexType indexType;
15187} VkBindIndexBufferIndirectCommandNV;
15188
15189typedef struct VkBindVertexBufferIndirectCommandNV {
15190 VkDeviceAddress bufferAddress;
15191 uint32_t size;
15192 uint32_t stride;
15193} VkBindVertexBufferIndirectCommandNV;
15194
15195typedef struct VkSetStateFlagsIndirectCommandNV {
15196 uint32_t data;
15197} VkSetStateFlagsIndirectCommandNV;
15198
15199typedef struct VkIndirectCommandsStreamNV {
15200 VkBuffer buffer;
15201 VkDeviceSize offset;
15202} VkIndirectCommandsStreamNV;
15203
15204typedef struct VkIndirectCommandsLayoutTokenNV {
15205 VkStructureType sType;
15206 const void* pNext;
15207 VkIndirectCommandsTokenTypeNV tokenType;
15208 uint32_t stream;
15209 uint32_t offset;
15210 uint32_t vertexBindingUnit;
15211 VkBool32 vertexDynamicStride;
15212 VkPipelineLayout pushconstantPipelineLayout;
15213 VkShaderStageFlags pushconstantShaderStageFlags;
15214 uint32_t pushconstantOffset;
15215 uint32_t pushconstantSize;
15216 VkIndirectStateFlagsNV indirectStateFlags;
15217 uint32_t indexTypeCount;
15218 const VkIndexType* pIndexTypes;
15219 const uint32_t* pIndexTypeValues;
15220} VkIndirectCommandsLayoutTokenNV;
15221
15222typedef struct VkIndirectCommandsLayoutCreateInfoNV {
15223 VkStructureType sType;
15224 const void* pNext;
15225 VkIndirectCommandsLayoutUsageFlagsNV flags;
15226 VkPipelineBindPoint pipelineBindPoint;
15227 uint32_t tokenCount;
15228 const VkIndirectCommandsLayoutTokenNV* pTokens;
15229 uint32_t streamCount;
15230 const uint32_t* pStreamStrides;
15231} VkIndirectCommandsLayoutCreateInfoNV;
15232
15233typedef struct VkGeneratedCommandsInfoNV {
15234 VkStructureType sType;
15235 const void* pNext;
15236 VkPipelineBindPoint pipelineBindPoint;
15237 VkPipeline pipeline;
15238 VkIndirectCommandsLayoutNV indirectCommandsLayout;
15239 uint32_t streamCount;
15240 const VkIndirectCommandsStreamNV* pStreams;
15241 uint32_t sequencesCount;
15242 VkBuffer preprocessBuffer;
15243 VkDeviceSize preprocessOffset;
15244 VkDeviceSize preprocessSize;
15245 VkBuffer sequencesCountBuffer;
15246 VkDeviceSize sequencesCountOffset;
15247 VkBuffer sequencesIndexBuffer;
15248 VkDeviceSize sequencesIndexOffset;
15249} VkGeneratedCommandsInfoNV;
15250
15251typedef struct VkGeneratedCommandsMemoryRequirementsInfoNV {
15252 VkStructureType sType;
15253 const void* pNext;
15254 VkPipelineBindPoint pipelineBindPoint;
15255 VkPipeline pipeline;
15256 VkIndirectCommandsLayoutNV indirectCommandsLayout;
15257 uint32_t maxSequencesCount;
15258} VkGeneratedCommandsMemoryRequirementsInfoNV;
15259
15260typedef void (VKAPI_PTR *PFN_vkGetGeneratedCommandsMemoryRequirementsNV)(VkDevice device, const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2* pMemoryRequirements);
15261typedef void (VKAPI_PTR *PFN_vkCmdPreprocessGeneratedCommandsNV)(VkCommandBuffer commandBuffer, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
15262typedef void (VKAPI_PTR *PFN_vkCmdExecuteGeneratedCommandsNV)(VkCommandBuffer commandBuffer, VkBool32 isPreprocessed, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
15263typedef void (VKAPI_PTR *PFN_vkCmdBindPipelineShaderGroupNV)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline, uint32_t groupIndex);
15264typedef VkResult (VKAPI_PTR *PFN_vkCreateIndirectCommandsLayoutNV)(VkDevice device, const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNV* pIndirectCommandsLayout);
15265typedef void (VKAPI_PTR *PFN_vkDestroyIndirectCommandsLayoutNV)(VkDevice device, VkIndirectCommandsLayoutNV indirectCommandsLayout, const VkAllocationCallbacks* pAllocator);
15266
15267#ifndef VK_NO_PROTOTYPES
15268VKAPI_ATTR void VKAPI_CALL vkGetGeneratedCommandsMemoryRequirementsNV(
15269 VkDevice device,
15270 const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo,
15271 VkMemoryRequirements2* pMemoryRequirements);
15272
15273VKAPI_ATTR void VKAPI_CALL vkCmdPreprocessGeneratedCommandsNV(
15274 VkCommandBuffer commandBuffer,
15275 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
15276
15277VKAPI_ATTR void VKAPI_CALL vkCmdExecuteGeneratedCommandsNV(
15278 VkCommandBuffer commandBuffer,
15279 VkBool32 isPreprocessed,
15280 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
15281
15282VKAPI_ATTR void VKAPI_CALL vkCmdBindPipelineShaderGroupNV(
15283 VkCommandBuffer commandBuffer,
15284 VkPipelineBindPoint pipelineBindPoint,
15285 VkPipeline pipeline,
15286 uint32_t groupIndex);
15287
15288VKAPI_ATTR VkResult VKAPI_CALL vkCreateIndirectCommandsLayoutNV(
15289 VkDevice device,
15290 const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo,
15291 const VkAllocationCallbacks* pAllocator,
15292 VkIndirectCommandsLayoutNV* pIndirectCommandsLayout);
15293
15294VKAPI_ATTR void VKAPI_CALL vkDestroyIndirectCommandsLayoutNV(
15295 VkDevice device,
15296 VkIndirectCommandsLayoutNV indirectCommandsLayout,
15297 const VkAllocationCallbacks* pAllocator);
15298#endif
15299
15300
15301// VK_NV_inherited_viewport_scissor is a preprocessor guard. Do not pass it to API calls.
15302#define VK_NV_inherited_viewport_scissor 1
15303#define VK_NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION 1
15304#define VK_NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME "VK_NV_inherited_viewport_scissor"
15305typedef struct VkPhysicalDeviceInheritedViewportScissorFeaturesNV {
15306 VkStructureType sType;
15307 void* pNext;
15308 VkBool32 inheritedViewportScissor2D;
15309} VkPhysicalDeviceInheritedViewportScissorFeaturesNV;
15310
15311typedef struct VkCommandBufferInheritanceViewportScissorInfoNV {
15312 VkStructureType sType;
15313 const void* pNext;
15314 VkBool32 viewportScissor2D;
15315 uint32_t viewportDepthCount;
15316 const VkViewport* pViewportDepths;
15317} VkCommandBufferInheritanceViewportScissorInfoNV;
15318
15319
15320
15321// VK_EXT_texel_buffer_alignment is a preprocessor guard. Do not pass it to API calls.
15322#define VK_EXT_texel_buffer_alignment 1
15323#define VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION 1
15324#define VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME "VK_EXT_texel_buffer_alignment"
15325typedef struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT {
15326 VkStructureType sType;
15327 void* pNext;
15328 VkBool32 texelBufferAlignment;
15329} VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT;
15330
15331typedef VkPhysicalDeviceTexelBufferAlignmentProperties VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT;
15332
15333
15334
15335// VK_QCOM_render_pass_transform is a preprocessor guard. Do not pass it to API calls.
15336#define VK_QCOM_render_pass_transform 1
15337#define VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION 4
15338#define VK_QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME "VK_QCOM_render_pass_transform"
15339typedef struct VkRenderPassTransformBeginInfoQCOM {
15340 VkStructureType sType;
15341 void* pNext;
15342 VkSurfaceTransformFlagBitsKHR transform;
15343} VkRenderPassTransformBeginInfoQCOM;
15344
15345typedef struct VkCommandBufferInheritanceRenderPassTransformInfoQCOM {
15346 VkStructureType sType;
15347 void* pNext;
15348 VkSurfaceTransformFlagBitsKHR transform;
15349 VkRect2D renderArea;
15350} VkCommandBufferInheritanceRenderPassTransformInfoQCOM;
15351
15352
15353
15354// VK_EXT_depth_bias_control is a preprocessor guard. Do not pass it to API calls.
15355#define VK_EXT_depth_bias_control 1
15356#define VK_EXT_DEPTH_BIAS_CONTROL_SPEC_VERSION 1
15357#define VK_EXT_DEPTH_BIAS_CONTROL_EXTENSION_NAME "VK_EXT_depth_bias_control"
15358
15359typedef enum VkDepthBiasRepresentationEXT {
15360 VK_DEPTH_BIAS_REPRESENTATION_LEAST_REPRESENTABLE_VALUE_FORMAT_EXT = 0,
15361 VK_DEPTH_BIAS_REPRESENTATION_LEAST_REPRESENTABLE_VALUE_FORCE_UNORM_EXT = 1,
15362 VK_DEPTH_BIAS_REPRESENTATION_FLOAT_EXT = 2,
15363 VK_DEPTH_BIAS_REPRESENTATION_MAX_ENUM_EXT = 0x7FFFFFFF
15364} VkDepthBiasRepresentationEXT;
15365typedef struct VkPhysicalDeviceDepthBiasControlFeaturesEXT {
15366 VkStructureType sType;
15367 void* pNext;
15368 VkBool32 depthBiasControl;
15369 VkBool32 leastRepresentableValueForceUnormRepresentation;
15370 VkBool32 floatRepresentation;
15371 VkBool32 depthBiasExact;
15372} VkPhysicalDeviceDepthBiasControlFeaturesEXT;
15373
15374typedef struct VkDepthBiasInfoEXT {
15375 VkStructureType sType;
15376 const void* pNext;
15377 float depthBiasConstantFactor;
15378 float depthBiasClamp;
15379 float depthBiasSlopeFactor;
15380} VkDepthBiasInfoEXT;
15381
15382typedef struct VkDepthBiasRepresentationInfoEXT {
15383 VkStructureType sType;
15384 const void* pNext;
15385 VkDepthBiasRepresentationEXT depthBiasRepresentation;
15386 VkBool32 depthBiasExact;
15387} VkDepthBiasRepresentationInfoEXT;
15388
15389typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias2EXT)(VkCommandBuffer commandBuffer, const VkDepthBiasInfoEXT* pDepthBiasInfo);
15390
15391#ifndef VK_NO_PROTOTYPES
15392VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias2EXT(
15393 VkCommandBuffer commandBuffer,
15394 const VkDepthBiasInfoEXT* pDepthBiasInfo);
15395#endif
15396
15397
15398// VK_EXT_device_memory_report is a preprocessor guard. Do not pass it to API calls.
15399#define VK_EXT_device_memory_report 1
15400#define VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION 2
15401#define VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME "VK_EXT_device_memory_report"
15402
15403typedef enum VkDeviceMemoryReportEventTypeEXT {
15404 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT = 0,
15405 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT = 1,
15406 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT = 2,
15407 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT = 3,
15408 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT = 4,
15409 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
15410} VkDeviceMemoryReportEventTypeEXT;
15411typedef VkFlags VkDeviceMemoryReportFlagsEXT;
15412typedef struct VkPhysicalDeviceDeviceMemoryReportFeaturesEXT {
15413 VkStructureType sType;
15414 void* pNext;
15415 VkBool32 deviceMemoryReport;
15416} VkPhysicalDeviceDeviceMemoryReportFeaturesEXT;
15417
15418typedef struct VkDeviceMemoryReportCallbackDataEXT {
15419 VkStructureType sType;
15420 void* pNext;
15421 VkDeviceMemoryReportFlagsEXT flags;
15422 VkDeviceMemoryReportEventTypeEXT type;
15423 uint64_t memoryObjectId;
15424 VkDeviceSize size;
15425 VkObjectType objectType;
15426 uint64_t objectHandle;
15427 uint32_t heapIndex;
15428} VkDeviceMemoryReportCallbackDataEXT;
15429
15430typedef void (VKAPI_PTR *PFN_vkDeviceMemoryReportCallbackEXT)(
15431 const VkDeviceMemoryReportCallbackDataEXT* pCallbackData,
15432 void* pUserData);
15433
15434typedef struct VkDeviceDeviceMemoryReportCreateInfoEXT {
15435 VkStructureType sType;
15436 const void* pNext;
15437 VkDeviceMemoryReportFlagsEXT flags;
15438 PFN_vkDeviceMemoryReportCallbackEXT pfnUserCallback;
15439 void* pUserData;
15440} VkDeviceDeviceMemoryReportCreateInfoEXT;
15441
15442
15443
15444// VK_EXT_acquire_drm_display is a preprocessor guard. Do not pass it to API calls.
15445#define VK_EXT_acquire_drm_display 1
15446#define VK_EXT_ACQUIRE_DRM_DISPLAY_SPEC_VERSION 1
15447#define VK_EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME "VK_EXT_acquire_drm_display"
15448typedef VkResult (VKAPI_PTR *PFN_vkAcquireDrmDisplayEXT)(VkPhysicalDevice physicalDevice, int32_t drmFd, VkDisplayKHR display);
15449typedef VkResult (VKAPI_PTR *PFN_vkGetDrmDisplayEXT)(VkPhysicalDevice physicalDevice, int32_t drmFd, uint32_t connectorId, VkDisplayKHR* display);
15450
15451#ifndef VK_NO_PROTOTYPES
15452VKAPI_ATTR VkResult VKAPI_CALL vkAcquireDrmDisplayEXT(
15453 VkPhysicalDevice physicalDevice,
15454 int32_t drmFd,
15455 VkDisplayKHR display);
15456
15457VKAPI_ATTR VkResult VKAPI_CALL vkGetDrmDisplayEXT(
15458 VkPhysicalDevice physicalDevice,
15459 int32_t drmFd,
15460 uint32_t connectorId,
15461 VkDisplayKHR* display);
15462#endif
15463
15464
15465// VK_EXT_robustness2 is a preprocessor guard. Do not pass it to API calls.
15466#define VK_EXT_robustness2 1
15467#define VK_EXT_ROBUSTNESS_2_SPEC_VERSION 1
15468#define VK_EXT_ROBUSTNESS_2_EXTENSION_NAME "VK_EXT_robustness2"
15469typedef struct VkPhysicalDeviceRobustness2FeaturesEXT {
15470 VkStructureType sType;
15471 void* pNext;
15472 VkBool32 robustBufferAccess2;
15473 VkBool32 robustImageAccess2;
15474 VkBool32 nullDescriptor;
15475} VkPhysicalDeviceRobustness2FeaturesEXT;
15476
15477typedef struct VkPhysicalDeviceRobustness2PropertiesEXT {
15478 VkStructureType sType;
15479 void* pNext;
15480 VkDeviceSize robustStorageBufferAccessSizeAlignment;
15481 VkDeviceSize robustUniformBufferAccessSizeAlignment;
15482} VkPhysicalDeviceRobustness2PropertiesEXT;
15483
15484
15485
15486// VK_EXT_custom_border_color is a preprocessor guard. Do not pass it to API calls.
15487#define VK_EXT_custom_border_color 1
15488#define VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION 12
15489#define VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME "VK_EXT_custom_border_color"
15490typedef struct VkSamplerCustomBorderColorCreateInfoEXT {
15491 VkStructureType sType;
15492 const void* pNext;
15493 VkClearColorValue customBorderColor;
15494 VkFormat format;
15495} VkSamplerCustomBorderColorCreateInfoEXT;
15496
15497typedef struct VkPhysicalDeviceCustomBorderColorPropertiesEXT {
15498 VkStructureType sType;
15499 void* pNext;
15500 uint32_t maxCustomBorderColorSamplers;
15501} VkPhysicalDeviceCustomBorderColorPropertiesEXT;
15502
15503typedef struct VkPhysicalDeviceCustomBorderColorFeaturesEXT {
15504 VkStructureType sType;
15505 void* pNext;
15506 VkBool32 customBorderColors;
15507 VkBool32 customBorderColorWithoutFormat;
15508} VkPhysicalDeviceCustomBorderColorFeaturesEXT;
15509
15510
15511
15512// VK_GOOGLE_user_type is a preprocessor guard. Do not pass it to API calls.
15513#define VK_GOOGLE_user_type 1
15514#define VK_GOOGLE_USER_TYPE_SPEC_VERSION 1
15515#define VK_GOOGLE_USER_TYPE_EXTENSION_NAME "VK_GOOGLE_user_type"
15516
15517
15518// VK_NV_present_barrier is a preprocessor guard. Do not pass it to API calls.
15519#define VK_NV_present_barrier 1
15520#define VK_NV_PRESENT_BARRIER_SPEC_VERSION 1
15521#define VK_NV_PRESENT_BARRIER_EXTENSION_NAME "VK_NV_present_barrier"
15522typedef struct VkPhysicalDevicePresentBarrierFeaturesNV {
15523 VkStructureType sType;
15524 void* pNext;
15525 VkBool32 presentBarrier;
15526} VkPhysicalDevicePresentBarrierFeaturesNV;
15527
15528typedef struct VkSurfaceCapabilitiesPresentBarrierNV {
15529 VkStructureType sType;
15530 void* pNext;
15531 VkBool32 presentBarrierSupported;
15532} VkSurfaceCapabilitiesPresentBarrierNV;
15533
15534typedef struct VkSwapchainPresentBarrierCreateInfoNV {
15535 VkStructureType sType;
15536 void* pNext;
15537 VkBool32 presentBarrierEnable;
15538} VkSwapchainPresentBarrierCreateInfoNV;
15539
15540
15541
15542// VK_EXT_private_data is a preprocessor guard. Do not pass it to API calls.
15543#define VK_EXT_private_data 1
15544typedef VkPrivateDataSlot VkPrivateDataSlotEXT;
15545
15546#define VK_EXT_PRIVATE_DATA_SPEC_VERSION 1
15547#define VK_EXT_PRIVATE_DATA_EXTENSION_NAME "VK_EXT_private_data"
15548typedef VkPrivateDataSlotCreateFlags VkPrivateDataSlotCreateFlagsEXT;
15549
15550typedef VkPhysicalDevicePrivateDataFeatures VkPhysicalDevicePrivateDataFeaturesEXT;
15551
15552typedef VkDevicePrivateDataCreateInfo VkDevicePrivateDataCreateInfoEXT;
15553
15554typedef VkPrivateDataSlotCreateInfo VkPrivateDataSlotCreateInfoEXT;
15555
15556typedef VkResult (VKAPI_PTR *PFN_vkCreatePrivateDataSlotEXT)(VkDevice device, const VkPrivateDataSlotCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlot* pPrivateDataSlot);
15557typedef void (VKAPI_PTR *PFN_vkDestroyPrivateDataSlotEXT)(VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks* pAllocator);
15558typedef VkResult (VKAPI_PTR *PFN_vkSetPrivateDataEXT)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t data);
15559typedef void (VKAPI_PTR *PFN_vkGetPrivateDataEXT)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t* pData);
15560
15561#ifndef VK_NO_PROTOTYPES
15562VKAPI_ATTR VkResult VKAPI_CALL vkCreatePrivateDataSlotEXT(
15563 VkDevice device,
15564 const VkPrivateDataSlotCreateInfo* pCreateInfo,
15565 const VkAllocationCallbacks* pAllocator,
15566 VkPrivateDataSlot* pPrivateDataSlot);
15567
15568VKAPI_ATTR void VKAPI_CALL vkDestroyPrivateDataSlotEXT(
15569 VkDevice device,
15570 VkPrivateDataSlot privateDataSlot,
15571 const VkAllocationCallbacks* pAllocator);
15572
15573VKAPI_ATTR VkResult VKAPI_CALL vkSetPrivateDataEXT(
15574 VkDevice device,
15575 VkObjectType objectType,
15576 uint64_t objectHandle,
15577 VkPrivateDataSlot privateDataSlot,
15578 uint64_t data);
15579
15580VKAPI_ATTR void VKAPI_CALL vkGetPrivateDataEXT(
15581 VkDevice device,
15582 VkObjectType objectType,
15583 uint64_t objectHandle,
15584 VkPrivateDataSlot privateDataSlot,
15585 uint64_t* pData);
15586#endif
15587
15588
15589// VK_EXT_pipeline_creation_cache_control is a preprocessor guard. Do not pass it to API calls.
15590#define VK_EXT_pipeline_creation_cache_control 1
15591#define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION 3
15592#define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME "VK_EXT_pipeline_creation_cache_control"
15593typedef VkPhysicalDevicePipelineCreationCacheControlFeatures VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT;
15594
15595
15596
15597// VK_NV_device_diagnostics_config is a preprocessor guard. Do not pass it to API calls.
15598#define VK_NV_device_diagnostics_config 1
15599#define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION 2
15600#define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME "VK_NV_device_diagnostics_config"
15601
15602typedef enum VkDeviceDiagnosticsConfigFlagBitsNV {
15603 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV = 0x00000001,
15604 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV = 0x00000002,
15605 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV = 0x00000004,
15606 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_ERROR_REPORTING_BIT_NV = 0x00000008,
15607 VK_DEVICE_DIAGNOSTICS_CONFIG_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
15608} VkDeviceDiagnosticsConfigFlagBitsNV;
15609typedef VkFlags VkDeviceDiagnosticsConfigFlagsNV;
15610typedef struct VkPhysicalDeviceDiagnosticsConfigFeaturesNV {
15611 VkStructureType sType;
15612 void* pNext;
15613 VkBool32 diagnosticsConfig;
15614} VkPhysicalDeviceDiagnosticsConfigFeaturesNV;
15615
15616typedef struct VkDeviceDiagnosticsConfigCreateInfoNV {
15617 VkStructureType sType;
15618 const void* pNext;
15619 VkDeviceDiagnosticsConfigFlagsNV flags;
15620} VkDeviceDiagnosticsConfigCreateInfoNV;
15621
15622
15623
15624// VK_QCOM_render_pass_store_ops is a preprocessor guard. Do not pass it to API calls.
15625#define VK_QCOM_render_pass_store_ops 1
15626#define VK_QCOM_RENDER_PASS_STORE_OPS_SPEC_VERSION 2
15627#define VK_QCOM_RENDER_PASS_STORE_OPS_EXTENSION_NAME "VK_QCOM_render_pass_store_ops"
15628
15629
15630// VK_NV_cuda_kernel_launch is a preprocessor guard. Do not pass it to API calls.
15631#define VK_NV_cuda_kernel_launch 1
15632VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCudaModuleNV)
15633VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCudaFunctionNV)
15634#define VK_NV_CUDA_KERNEL_LAUNCH_SPEC_VERSION 2
15635#define VK_NV_CUDA_KERNEL_LAUNCH_EXTENSION_NAME "VK_NV_cuda_kernel_launch"
15636typedef struct VkCudaModuleCreateInfoNV {
15637 VkStructureType sType;
15638 const void* pNext;
15639 size_t dataSize;
15640 const void* pData;
15641} VkCudaModuleCreateInfoNV;
15642
15643typedef struct VkCudaFunctionCreateInfoNV {
15644 VkStructureType sType;
15645 const void* pNext;
15646 VkCudaModuleNV module;
15647 const char* pName;
15648} VkCudaFunctionCreateInfoNV;
15649
15650typedef struct VkCudaLaunchInfoNV {
15651 VkStructureType sType;
15652 const void* pNext;
15653 VkCudaFunctionNV function;
15654 uint32_t gridDimX;
15655 uint32_t gridDimY;
15656 uint32_t gridDimZ;
15657 uint32_t blockDimX;
15658 uint32_t blockDimY;
15659 uint32_t blockDimZ;
15660 uint32_t sharedMemBytes;
15661 size_t paramCount;
15662 const void* const * pParams;
15663 size_t extraCount;
15664 const void* const * pExtras;
15665} VkCudaLaunchInfoNV;
15666
15667typedef struct VkPhysicalDeviceCudaKernelLaunchFeaturesNV {
15668 VkStructureType sType;
15669 void* pNext;
15670 VkBool32 cudaKernelLaunchFeatures;
15671} VkPhysicalDeviceCudaKernelLaunchFeaturesNV;
15672
15673typedef struct VkPhysicalDeviceCudaKernelLaunchPropertiesNV {
15674 VkStructureType sType;
15675 void* pNext;
15676 uint32_t computeCapabilityMinor;
15677 uint32_t computeCapabilityMajor;
15678} VkPhysicalDeviceCudaKernelLaunchPropertiesNV;
15679
15680typedef VkResult (VKAPI_PTR *PFN_vkCreateCudaModuleNV)(VkDevice device, const VkCudaModuleCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCudaModuleNV* pModule);
15681typedef VkResult (VKAPI_PTR *PFN_vkGetCudaModuleCacheNV)(VkDevice device, VkCudaModuleNV module, size_t* pCacheSize, void* pCacheData);
15682typedef VkResult (VKAPI_PTR *PFN_vkCreateCudaFunctionNV)(VkDevice device, const VkCudaFunctionCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCudaFunctionNV* pFunction);
15683typedef void (VKAPI_PTR *PFN_vkDestroyCudaModuleNV)(VkDevice device, VkCudaModuleNV module, const VkAllocationCallbacks* pAllocator);
15684typedef void (VKAPI_PTR *PFN_vkDestroyCudaFunctionNV)(VkDevice device, VkCudaFunctionNV function, const VkAllocationCallbacks* pAllocator);
15685typedef void (VKAPI_PTR *PFN_vkCmdCudaLaunchKernelNV)(VkCommandBuffer commandBuffer, const VkCudaLaunchInfoNV* pLaunchInfo);
15686
15687#ifndef VK_NO_PROTOTYPES
15688VKAPI_ATTR VkResult VKAPI_CALL vkCreateCudaModuleNV(
15689 VkDevice device,
15690 const VkCudaModuleCreateInfoNV* pCreateInfo,
15691 const VkAllocationCallbacks* pAllocator,
15692 VkCudaModuleNV* pModule);
15693
15694VKAPI_ATTR VkResult VKAPI_CALL vkGetCudaModuleCacheNV(
15695 VkDevice device,
15696 VkCudaModuleNV module,
15697 size_t* pCacheSize,
15698 void* pCacheData);
15699
15700VKAPI_ATTR VkResult VKAPI_CALL vkCreateCudaFunctionNV(
15701 VkDevice device,
15702 const VkCudaFunctionCreateInfoNV* pCreateInfo,
15703 const VkAllocationCallbacks* pAllocator,
15704 VkCudaFunctionNV* pFunction);
15705
15706VKAPI_ATTR void VKAPI_CALL vkDestroyCudaModuleNV(
15707 VkDevice device,
15708 VkCudaModuleNV module,
15709 const VkAllocationCallbacks* pAllocator);
15710
15711VKAPI_ATTR void VKAPI_CALL vkDestroyCudaFunctionNV(
15712 VkDevice device,
15713 VkCudaFunctionNV function,
15714 const VkAllocationCallbacks* pAllocator);
15715
15716VKAPI_ATTR void VKAPI_CALL vkCmdCudaLaunchKernelNV(
15717 VkCommandBuffer commandBuffer,
15718 const VkCudaLaunchInfoNV* pLaunchInfo);
15719#endif
15720
15721
15722// VK_NV_low_latency is a preprocessor guard. Do not pass it to API calls.
15723#define VK_NV_low_latency 1
15724#define VK_NV_LOW_LATENCY_SPEC_VERSION 1
15725#define VK_NV_LOW_LATENCY_EXTENSION_NAME "VK_NV_low_latency"
15726typedef struct VkQueryLowLatencySupportNV {
15727 VkStructureType sType;
15728 const void* pNext;
15729 void* pQueriedLowLatencyData;
15730} VkQueryLowLatencySupportNV;
15731
15732
15733
15734// VK_EXT_descriptor_buffer is a preprocessor guard. Do not pass it to API calls.
15735#define VK_EXT_descriptor_buffer 1
15736VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR)
15737#define VK_EXT_DESCRIPTOR_BUFFER_SPEC_VERSION 1
15738#define VK_EXT_DESCRIPTOR_BUFFER_EXTENSION_NAME "VK_EXT_descriptor_buffer"
15739typedef struct VkPhysicalDeviceDescriptorBufferPropertiesEXT {
15740 VkStructureType sType;
15741 void* pNext;
15742 VkBool32 combinedImageSamplerDescriptorSingleArray;
15743 VkBool32 bufferlessPushDescriptors;
15744 VkBool32 allowSamplerImageViewPostSubmitCreation;
15745 VkDeviceSize descriptorBufferOffsetAlignment;
15746 uint32_t maxDescriptorBufferBindings;
15747 uint32_t maxResourceDescriptorBufferBindings;
15748 uint32_t maxSamplerDescriptorBufferBindings;
15749 uint32_t maxEmbeddedImmutableSamplerBindings;
15750 uint32_t maxEmbeddedImmutableSamplers;
15751 size_t bufferCaptureReplayDescriptorDataSize;
15752 size_t imageCaptureReplayDescriptorDataSize;
15753 size_t imageViewCaptureReplayDescriptorDataSize;
15754 size_t samplerCaptureReplayDescriptorDataSize;
15755 size_t accelerationStructureCaptureReplayDescriptorDataSize;
15756 size_t samplerDescriptorSize;
15757 size_t combinedImageSamplerDescriptorSize;
15758 size_t sampledImageDescriptorSize;
15759 size_t storageImageDescriptorSize;
15760 size_t uniformTexelBufferDescriptorSize;
15761 size_t robustUniformTexelBufferDescriptorSize;
15762 size_t storageTexelBufferDescriptorSize;
15763 size_t robustStorageTexelBufferDescriptorSize;
15764 size_t uniformBufferDescriptorSize;
15765 size_t robustUniformBufferDescriptorSize;
15766 size_t storageBufferDescriptorSize;
15767 size_t robustStorageBufferDescriptorSize;
15768 size_t inputAttachmentDescriptorSize;
15769 size_t accelerationStructureDescriptorSize;
15770 VkDeviceSize maxSamplerDescriptorBufferRange;
15771 VkDeviceSize maxResourceDescriptorBufferRange;
15772 VkDeviceSize samplerDescriptorBufferAddressSpaceSize;
15773 VkDeviceSize resourceDescriptorBufferAddressSpaceSize;
15774 VkDeviceSize descriptorBufferAddressSpaceSize;
15775} VkPhysicalDeviceDescriptorBufferPropertiesEXT;
15776
15777typedef struct VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT {
15778 VkStructureType sType;
15779 void* pNext;
15780 size_t combinedImageSamplerDensityMapDescriptorSize;
15781} VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT;
15782
15783typedef struct VkPhysicalDeviceDescriptorBufferFeaturesEXT {
15784 VkStructureType sType;
15785 void* pNext;
15786 VkBool32 descriptorBuffer;
15787 VkBool32 descriptorBufferCaptureReplay;
15788 VkBool32 descriptorBufferImageLayoutIgnored;
15789 VkBool32 descriptorBufferPushDescriptors;
15790} VkPhysicalDeviceDescriptorBufferFeaturesEXT;
15791
15792typedef struct VkDescriptorAddressInfoEXT {
15793 VkStructureType sType;
15794 void* pNext;
15795 VkDeviceAddress address;
15796 VkDeviceSize range;
15797 VkFormat format;
15798} VkDescriptorAddressInfoEXT;
15799
15800typedef struct VkDescriptorBufferBindingInfoEXT {
15801 VkStructureType sType;
15802 void* pNext;
15803 VkDeviceAddress address;
15804 VkBufferUsageFlags usage;
15805} VkDescriptorBufferBindingInfoEXT;
15806
15807typedef struct VkDescriptorBufferBindingPushDescriptorBufferHandleEXT {
15808 VkStructureType sType;
15809 void* pNext;
15810 VkBuffer buffer;
15811} VkDescriptorBufferBindingPushDescriptorBufferHandleEXT;
15812
15813typedef union VkDescriptorDataEXT {
15814 const VkSampler* pSampler;
15815 const VkDescriptorImageInfo* pCombinedImageSampler;
15816 const VkDescriptorImageInfo* pInputAttachmentImage;
15817 const VkDescriptorImageInfo* pSampledImage;
15818 const VkDescriptorImageInfo* pStorageImage;
15819 const VkDescriptorAddressInfoEXT* pUniformTexelBuffer;
15820 const VkDescriptorAddressInfoEXT* pStorageTexelBuffer;
15821 const VkDescriptorAddressInfoEXT* pUniformBuffer;
15822 const VkDescriptorAddressInfoEXT* pStorageBuffer;
15823 VkDeviceAddress accelerationStructure;
15824} VkDescriptorDataEXT;
15825
15826typedef struct VkDescriptorGetInfoEXT {
15827 VkStructureType sType;
15828 const void* pNext;
15829 VkDescriptorType type;
15830 VkDescriptorDataEXT data;
15831} VkDescriptorGetInfoEXT;
15832
15833typedef struct VkBufferCaptureDescriptorDataInfoEXT {
15834 VkStructureType sType;
15835 const void* pNext;
15836 VkBuffer buffer;
15837} VkBufferCaptureDescriptorDataInfoEXT;
15838
15839typedef struct VkImageCaptureDescriptorDataInfoEXT {
15840 VkStructureType sType;
15841 const void* pNext;
15842 VkImage image;
15843} VkImageCaptureDescriptorDataInfoEXT;
15844
15845typedef struct VkImageViewCaptureDescriptorDataInfoEXT {
15846 VkStructureType sType;
15847 const void* pNext;
15848 VkImageView imageView;
15849} VkImageViewCaptureDescriptorDataInfoEXT;
15850
15851typedef struct VkSamplerCaptureDescriptorDataInfoEXT {
15852 VkStructureType sType;
15853 const void* pNext;
15854 VkSampler sampler;
15855} VkSamplerCaptureDescriptorDataInfoEXT;
15856
15857typedef struct VkOpaqueCaptureDescriptorDataCreateInfoEXT {
15858 VkStructureType sType;
15859 const void* pNext;
15860 const void* opaqueCaptureDescriptorData;
15861} VkOpaqueCaptureDescriptorDataCreateInfoEXT;
15862
15863typedef struct VkAccelerationStructureCaptureDescriptorDataInfoEXT {
15864 VkStructureType sType;
15865 const void* pNext;
15866 VkAccelerationStructureKHR accelerationStructure;
15867 VkAccelerationStructureNV accelerationStructureNV;
15868} VkAccelerationStructureCaptureDescriptorDataInfoEXT;
15869
15870typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSizeEXT)(VkDevice device, VkDescriptorSetLayout layout, VkDeviceSize* pLayoutSizeInBytes);
15871typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutBindingOffsetEXT)(VkDevice device, VkDescriptorSetLayout layout, uint32_t binding, VkDeviceSize* pOffset);
15872typedef void (VKAPI_PTR *PFN_vkGetDescriptorEXT)(VkDevice device, const VkDescriptorGetInfoEXT* pDescriptorInfo, size_t dataSize, void* pDescriptor);
15873typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorBuffersEXT)(VkCommandBuffer commandBuffer, uint32_t bufferCount, const VkDescriptorBufferBindingInfoEXT* pBindingInfos);
15874typedef void (VKAPI_PTR *PFN_vkCmdSetDescriptorBufferOffsetsEXT)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t setCount, const uint32_t* pBufferIndices, const VkDeviceSize* pOffsets);
15875typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set);
15876typedef VkResult (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkBufferCaptureDescriptorDataInfoEXT* pInfo, void* pData);
15877typedef VkResult (VKAPI_PTR *PFN_vkGetImageOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkImageCaptureDescriptorDataInfoEXT* pInfo, void* pData);
15878typedef VkResult (VKAPI_PTR *PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkImageViewCaptureDescriptorDataInfoEXT* pInfo, void* pData);
15879typedef VkResult (VKAPI_PTR *PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkSamplerCaptureDescriptorDataInfoEXT* pInfo, void* pData);
15880typedef VkResult (VKAPI_PTR *PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkAccelerationStructureCaptureDescriptorDataInfoEXT* pInfo, void* pData);
15881
15882#ifndef VK_NO_PROTOTYPES
15883VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSizeEXT(
15884 VkDevice device,
15885 VkDescriptorSetLayout layout,
15886 VkDeviceSize* pLayoutSizeInBytes);
15887
15888VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutBindingOffsetEXT(
15889 VkDevice device,
15890 VkDescriptorSetLayout layout,
15891 uint32_t binding,
15892 VkDeviceSize* pOffset);
15893
15894VKAPI_ATTR void VKAPI_CALL vkGetDescriptorEXT(
15895 VkDevice device,
15896 const VkDescriptorGetInfoEXT* pDescriptorInfo,
15897 size_t dataSize,
15898 void* pDescriptor);
15899
15900VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorBuffersEXT(
15901 VkCommandBuffer commandBuffer,
15902 uint32_t bufferCount,
15903 const VkDescriptorBufferBindingInfoEXT* pBindingInfos);
15904
15905VKAPI_ATTR void VKAPI_CALL vkCmdSetDescriptorBufferOffsetsEXT(
15906 VkCommandBuffer commandBuffer,
15907 VkPipelineBindPoint pipelineBindPoint,
15908 VkPipelineLayout layout,
15909 uint32_t firstSet,
15910 uint32_t setCount,
15911 const uint32_t* pBufferIndices,
15912 const VkDeviceSize* pOffsets);
15913
15914VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorBufferEmbeddedSamplersEXT(
15915 VkCommandBuffer commandBuffer,
15916 VkPipelineBindPoint pipelineBindPoint,
15917 VkPipelineLayout layout,
15918 uint32_t set);
15919
15920VKAPI_ATTR VkResult VKAPI_CALL vkGetBufferOpaqueCaptureDescriptorDataEXT(
15921 VkDevice device,
15922 const VkBufferCaptureDescriptorDataInfoEXT* pInfo,
15923 void* pData);
15924
15925VKAPI_ATTR VkResult VKAPI_CALL vkGetImageOpaqueCaptureDescriptorDataEXT(
15926 VkDevice device,
15927 const VkImageCaptureDescriptorDataInfoEXT* pInfo,
15928 void* pData);
15929
15930VKAPI_ATTR VkResult VKAPI_CALL vkGetImageViewOpaqueCaptureDescriptorDataEXT(
15931 VkDevice device,
15932 const VkImageViewCaptureDescriptorDataInfoEXT* pInfo,
15933 void* pData);
15934
15935VKAPI_ATTR VkResult VKAPI_CALL vkGetSamplerOpaqueCaptureDescriptorDataEXT(
15936 VkDevice device,
15937 const VkSamplerCaptureDescriptorDataInfoEXT* pInfo,
15938 void* pData);
15939
15940VKAPI_ATTR VkResult VKAPI_CALL vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT(
15941 VkDevice device,
15942 const VkAccelerationStructureCaptureDescriptorDataInfoEXT* pInfo,
15943 void* pData);
15944#endif
15945
15946
15947// VK_EXT_graphics_pipeline_library is a preprocessor guard. Do not pass it to API calls.
15948#define VK_EXT_graphics_pipeline_library 1
15949#define VK_EXT_GRAPHICS_PIPELINE_LIBRARY_SPEC_VERSION 1
15950#define VK_EXT_GRAPHICS_PIPELINE_LIBRARY_EXTENSION_NAME "VK_EXT_graphics_pipeline_library"
15951
15952typedef enum VkGraphicsPipelineLibraryFlagBitsEXT {
15953 VK_GRAPHICS_PIPELINE_LIBRARY_VERTEX_INPUT_INTERFACE_BIT_EXT = 0x00000001,
15954 VK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT = 0x00000002,
15955 VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT = 0x00000004,
15956 VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT = 0x00000008,
15957 VK_GRAPHICS_PIPELINE_LIBRARY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
15958} VkGraphicsPipelineLibraryFlagBitsEXT;
15959typedef VkFlags VkGraphicsPipelineLibraryFlagsEXT;
15960typedef struct VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT {
15961 VkStructureType sType;
15962 void* pNext;
15963 VkBool32 graphicsPipelineLibrary;
15964} VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT;
15965
15966typedef struct VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT {
15967 VkStructureType sType;
15968 void* pNext;
15969 VkBool32 graphicsPipelineLibraryFastLinking;
15970 VkBool32 graphicsPipelineLibraryIndependentInterpolationDecoration;
15971} VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT;
15972
15973typedef struct VkGraphicsPipelineLibraryCreateInfoEXT {
15974 VkStructureType sType;
15975 const void* pNext;
15976 VkGraphicsPipelineLibraryFlagsEXT flags;
15977} VkGraphicsPipelineLibraryCreateInfoEXT;
15978
15979
15980
15981// VK_AMD_shader_early_and_late_fragment_tests is a preprocessor guard. Do not pass it to API calls.
15982#define VK_AMD_shader_early_and_late_fragment_tests 1
15983#define VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_SPEC_VERSION 1
15984#define VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_EXTENSION_NAME "VK_AMD_shader_early_and_late_fragment_tests"
15985typedef struct VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD {
15986 VkStructureType sType;
15987 void* pNext;
15988 VkBool32 shaderEarlyAndLateFragmentTests;
15989} VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD;
15990
15991
15992
15993// VK_NV_fragment_shading_rate_enums is a preprocessor guard. Do not pass it to API calls.
15994#define VK_NV_fragment_shading_rate_enums 1
15995#define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION 1
15996#define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME "VK_NV_fragment_shading_rate_enums"
15997
15998typedef enum VkFragmentShadingRateTypeNV {
15999 VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV = 0,
16000 VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV = 1,
16001 VK_FRAGMENT_SHADING_RATE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
16002} VkFragmentShadingRateTypeNV;
16003
16004typedef enum VkFragmentShadingRateNV {
16005 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV = 0,
16006 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV = 1,
16007 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV = 4,
16008 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV = 5,
16009 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV = 6,
16010 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV = 9,
16011 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV = 10,
16012 VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV = 11,
16013 VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV = 12,
16014 VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV = 13,
16015 VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV = 14,
16016 VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV = 15,
16017 VK_FRAGMENT_SHADING_RATE_MAX_ENUM_NV = 0x7FFFFFFF
16018} VkFragmentShadingRateNV;
16019typedef struct VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV {
16020 VkStructureType sType;
16021 void* pNext;
16022 VkBool32 fragmentShadingRateEnums;
16023 VkBool32 supersampleFragmentShadingRates;
16024 VkBool32 noInvocationFragmentShadingRates;
16025} VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV;
16026
16027typedef struct VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV {
16028 VkStructureType sType;
16029 void* pNext;
16030 VkSampleCountFlagBits maxFragmentShadingRateInvocationCount;
16031} VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV;
16032
16033typedef struct VkPipelineFragmentShadingRateEnumStateCreateInfoNV {
16034 VkStructureType sType;
16035 const void* pNext;
16036 VkFragmentShadingRateTypeNV shadingRateType;
16037 VkFragmentShadingRateNV shadingRate;
16038 VkFragmentShadingRateCombinerOpKHR combinerOps[2];
16039} VkPipelineFragmentShadingRateEnumStateCreateInfoNV;
16040
16041typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateEnumNV)(VkCommandBuffer commandBuffer, VkFragmentShadingRateNV shadingRate, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
16042
16043#ifndef VK_NO_PROTOTYPES
16044VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateEnumNV(
16045 VkCommandBuffer commandBuffer,
16046 VkFragmentShadingRateNV shadingRate,
16047 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
16048#endif
16049
16050
16051// VK_NV_ray_tracing_motion_blur is a preprocessor guard. Do not pass it to API calls.
16052#define VK_NV_ray_tracing_motion_blur 1
16053#define VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION 1
16054#define VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME "VK_NV_ray_tracing_motion_blur"
16055
16056typedef enum VkAccelerationStructureMotionInstanceTypeNV {
16057 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_STATIC_NV = 0,
16058 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MATRIX_MOTION_NV = 1,
16059 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_SRT_MOTION_NV = 2,
16060 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
16061} VkAccelerationStructureMotionInstanceTypeNV;
16062typedef VkFlags VkAccelerationStructureMotionInfoFlagsNV;
16063typedef VkFlags VkAccelerationStructureMotionInstanceFlagsNV;
16064typedef union VkDeviceOrHostAddressConstKHR {
16065 VkDeviceAddress deviceAddress;
16066 const void* hostAddress;
16067} VkDeviceOrHostAddressConstKHR;
16068
16069typedef struct VkAccelerationStructureGeometryMotionTrianglesDataNV {
16070 VkStructureType sType;
16071 const void* pNext;
16072 VkDeviceOrHostAddressConstKHR vertexData;
16073} VkAccelerationStructureGeometryMotionTrianglesDataNV;
16074
16075typedef struct VkAccelerationStructureMotionInfoNV {
16076 VkStructureType sType;
16077 const void* pNext;
16078 uint32_t maxInstances;
16079 VkAccelerationStructureMotionInfoFlagsNV flags;
16080} VkAccelerationStructureMotionInfoNV;
16081
16082typedef struct VkAccelerationStructureMatrixMotionInstanceNV {
16083 VkTransformMatrixKHR transformT0;
16084 VkTransformMatrixKHR transformT1;
16085 uint32_t instanceCustomIndex:24;
16086 uint32_t mask:8;
16087 uint32_t instanceShaderBindingTableRecordOffset:24;
16088 VkGeometryInstanceFlagsKHR flags:8;
16089 uint64_t accelerationStructureReference;
16090} VkAccelerationStructureMatrixMotionInstanceNV;
16091
16092typedef struct VkSRTDataNV {
16093 float sx;
16094 float a;
16095 float b;
16096 float pvx;
16097 float sy;
16098 float c;
16099 float pvy;
16100 float sz;
16101 float pvz;
16102 float qx;
16103 float qy;
16104 float qz;
16105 float qw;
16106 float tx;
16107 float ty;
16108 float tz;
16109} VkSRTDataNV;
16110
16111typedef struct VkAccelerationStructureSRTMotionInstanceNV {
16112 VkSRTDataNV transformT0;
16113 VkSRTDataNV transformT1;
16114 uint32_t instanceCustomIndex:24;
16115 uint32_t mask:8;
16116 uint32_t instanceShaderBindingTableRecordOffset:24;
16117 VkGeometryInstanceFlagsKHR flags:8;
16118 uint64_t accelerationStructureReference;
16119} VkAccelerationStructureSRTMotionInstanceNV;
16120
16121typedef union VkAccelerationStructureMotionInstanceDataNV {
16122 VkAccelerationStructureInstanceKHR staticInstance;
16123 VkAccelerationStructureMatrixMotionInstanceNV matrixMotionInstance;
16124 VkAccelerationStructureSRTMotionInstanceNV srtMotionInstance;
16125} VkAccelerationStructureMotionInstanceDataNV;
16126
16127typedef struct VkAccelerationStructureMotionInstanceNV {
16128 VkAccelerationStructureMotionInstanceTypeNV type;
16129 VkAccelerationStructureMotionInstanceFlagsNV flags;
16130 VkAccelerationStructureMotionInstanceDataNV data;
16131} VkAccelerationStructureMotionInstanceNV;
16132
16133typedef struct VkPhysicalDeviceRayTracingMotionBlurFeaturesNV {
16134 VkStructureType sType;
16135 void* pNext;
16136 VkBool32 rayTracingMotionBlur;
16137 VkBool32 rayTracingMotionBlurPipelineTraceRaysIndirect;
16138} VkPhysicalDeviceRayTracingMotionBlurFeaturesNV;
16139
16140
16141
16142// VK_EXT_ycbcr_2plane_444_formats is a preprocessor guard. Do not pass it to API calls.
16143#define VK_EXT_ycbcr_2plane_444_formats 1
16144#define VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION 1
16145#define VK_EXT_YCBCR_2PLANE_444_FORMATS_EXTENSION_NAME "VK_EXT_ycbcr_2plane_444_formats"
16146typedef struct VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT {
16147 VkStructureType sType;
16148 void* pNext;
16149 VkBool32 ycbcr2plane444Formats;
16150} VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT;
16151
16152
16153
16154// VK_EXT_fragment_density_map2 is a preprocessor guard. Do not pass it to API calls.
16155#define VK_EXT_fragment_density_map2 1
16156#define VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION 1
16157#define VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME "VK_EXT_fragment_density_map2"
16158typedef struct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT {
16159 VkStructureType sType;
16160 void* pNext;
16161 VkBool32 fragmentDensityMapDeferred;
16162} VkPhysicalDeviceFragmentDensityMap2FeaturesEXT;
16163
16164typedef struct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT {
16165 VkStructureType sType;
16166 void* pNext;
16167 VkBool32 subsampledLoads;
16168 VkBool32 subsampledCoarseReconstructionEarlyAccess;
16169 uint32_t maxSubsampledArrayLayers;
16170 uint32_t maxDescriptorSetSubsampledSamplers;
16171} VkPhysicalDeviceFragmentDensityMap2PropertiesEXT;
16172
16173
16174
16175// VK_QCOM_rotated_copy_commands is a preprocessor guard. Do not pass it to API calls.
16176#define VK_QCOM_rotated_copy_commands 1
16177#define VK_QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION 2
16178#define VK_QCOM_ROTATED_COPY_COMMANDS_EXTENSION_NAME "VK_QCOM_rotated_copy_commands"
16179typedef struct VkCopyCommandTransformInfoQCOM {
16180 VkStructureType sType;
16181 const void* pNext;
16182 VkSurfaceTransformFlagBitsKHR transform;
16183} VkCopyCommandTransformInfoQCOM;
16184
16185
16186
16187// VK_EXT_image_robustness is a preprocessor guard. Do not pass it to API calls.
16188#define VK_EXT_image_robustness 1
16189#define VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION 1
16190#define VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_image_robustness"
16191typedef VkPhysicalDeviceImageRobustnessFeatures VkPhysicalDeviceImageRobustnessFeaturesEXT;
16192
16193
16194
16195// VK_EXT_image_compression_control is a preprocessor guard. Do not pass it to API calls.
16196#define VK_EXT_image_compression_control 1
16197#define VK_EXT_IMAGE_COMPRESSION_CONTROL_SPEC_VERSION 1
16198#define VK_EXT_IMAGE_COMPRESSION_CONTROL_EXTENSION_NAME "VK_EXT_image_compression_control"
16199
16200typedef enum VkImageCompressionFlagBitsEXT {
16201 VK_IMAGE_COMPRESSION_DEFAULT_EXT = 0,
16202 VK_IMAGE_COMPRESSION_FIXED_RATE_DEFAULT_EXT = 0x00000001,
16203 VK_IMAGE_COMPRESSION_FIXED_RATE_EXPLICIT_EXT = 0x00000002,
16204 VK_IMAGE_COMPRESSION_DISABLED_EXT = 0x00000004,
16205 VK_IMAGE_COMPRESSION_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
16206} VkImageCompressionFlagBitsEXT;
16207typedef VkFlags VkImageCompressionFlagsEXT;
16208
16209typedef enum VkImageCompressionFixedRateFlagBitsEXT {
16210 VK_IMAGE_COMPRESSION_FIXED_RATE_NONE_EXT = 0,
16211 VK_IMAGE_COMPRESSION_FIXED_RATE_1BPC_BIT_EXT = 0x00000001,
16212 VK_IMAGE_COMPRESSION_FIXED_RATE_2BPC_BIT_EXT = 0x00000002,
16213 VK_IMAGE_COMPRESSION_FIXED_RATE_3BPC_BIT_EXT = 0x00000004,
16214 VK_IMAGE_COMPRESSION_FIXED_RATE_4BPC_BIT_EXT = 0x00000008,
16215 VK_IMAGE_COMPRESSION_FIXED_RATE_5BPC_BIT_EXT = 0x00000010,
16216 VK_IMAGE_COMPRESSION_FIXED_RATE_6BPC_BIT_EXT = 0x00000020,
16217 VK_IMAGE_COMPRESSION_FIXED_RATE_7BPC_BIT_EXT = 0x00000040,
16218 VK_IMAGE_COMPRESSION_FIXED_RATE_8BPC_BIT_EXT = 0x00000080,
16219 VK_IMAGE_COMPRESSION_FIXED_RATE_9BPC_BIT_EXT = 0x00000100,
16220 VK_IMAGE_COMPRESSION_FIXED_RATE_10BPC_BIT_EXT = 0x00000200,
16221 VK_IMAGE_COMPRESSION_FIXED_RATE_11BPC_BIT_EXT = 0x00000400,
16222 VK_IMAGE_COMPRESSION_FIXED_RATE_12BPC_BIT_EXT = 0x00000800,
16223 VK_IMAGE_COMPRESSION_FIXED_RATE_13BPC_BIT_EXT = 0x00001000,
16224 VK_IMAGE_COMPRESSION_FIXED_RATE_14BPC_BIT_EXT = 0x00002000,
16225 VK_IMAGE_COMPRESSION_FIXED_RATE_15BPC_BIT_EXT = 0x00004000,
16226 VK_IMAGE_COMPRESSION_FIXED_RATE_16BPC_BIT_EXT = 0x00008000,
16227 VK_IMAGE_COMPRESSION_FIXED_RATE_17BPC_BIT_EXT = 0x00010000,
16228 VK_IMAGE_COMPRESSION_FIXED_RATE_18BPC_BIT_EXT = 0x00020000,
16229 VK_IMAGE_COMPRESSION_FIXED_RATE_19BPC_BIT_EXT = 0x00040000,
16230 VK_IMAGE_COMPRESSION_FIXED_RATE_20BPC_BIT_EXT = 0x00080000,
16231 VK_IMAGE_COMPRESSION_FIXED_RATE_21BPC_BIT_EXT = 0x00100000,
16232 VK_IMAGE_COMPRESSION_FIXED_RATE_22BPC_BIT_EXT = 0x00200000,
16233 VK_IMAGE_COMPRESSION_FIXED_RATE_23BPC_BIT_EXT = 0x00400000,
16234 VK_IMAGE_COMPRESSION_FIXED_RATE_24BPC_BIT_EXT = 0x00800000,
16235 VK_IMAGE_COMPRESSION_FIXED_RATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
16236} VkImageCompressionFixedRateFlagBitsEXT;
16237typedef VkFlags VkImageCompressionFixedRateFlagsEXT;
16238typedef struct VkPhysicalDeviceImageCompressionControlFeaturesEXT {
16239 VkStructureType sType;
16240 void* pNext;
16241 VkBool32 imageCompressionControl;
16242} VkPhysicalDeviceImageCompressionControlFeaturesEXT;
16243
16244typedef struct VkImageCompressionControlEXT {
16245 VkStructureType sType;
16246 const void* pNext;
16247 VkImageCompressionFlagsEXT flags;
16248 uint32_t compressionControlPlaneCount;
16249 VkImageCompressionFixedRateFlagsEXT* pFixedRateFlags;
16250} VkImageCompressionControlEXT;
16251
16252typedef struct VkImageCompressionPropertiesEXT {
16253 VkStructureType sType;
16254 void* pNext;
16255 VkImageCompressionFlagsEXT imageCompressionFlags;
16256 VkImageCompressionFixedRateFlagsEXT imageCompressionFixedRateFlags;
16257} VkImageCompressionPropertiesEXT;
16258
16259
16260
16261// VK_EXT_attachment_feedback_loop_layout is a preprocessor guard. Do not pass it to API calls.
16262#define VK_EXT_attachment_feedback_loop_layout 1
16263#define VK_EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_SPEC_VERSION 2
16264#define VK_EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_EXTENSION_NAME "VK_EXT_attachment_feedback_loop_layout"
16265typedef struct VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT {
16266 VkStructureType sType;
16267 void* pNext;
16268 VkBool32 attachmentFeedbackLoopLayout;
16269} VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT;
16270
16271
16272
16273// VK_EXT_4444_formats is a preprocessor guard. Do not pass it to API calls.
16274#define VK_EXT_4444_formats 1
16275#define VK_EXT_4444_FORMATS_SPEC_VERSION 1
16276#define VK_EXT_4444_FORMATS_EXTENSION_NAME "VK_EXT_4444_formats"
16277typedef struct VkPhysicalDevice4444FormatsFeaturesEXT {
16278 VkStructureType sType;
16279 void* pNext;
16280 VkBool32 formatA4R4G4B4;
16281 VkBool32 formatA4B4G4R4;
16282} VkPhysicalDevice4444FormatsFeaturesEXT;
16283
16284
16285
16286// VK_EXT_device_fault is a preprocessor guard. Do not pass it to API calls.
16287#define VK_EXT_device_fault 1
16288#define VK_EXT_DEVICE_FAULT_SPEC_VERSION 2
16289#define VK_EXT_DEVICE_FAULT_EXTENSION_NAME "VK_EXT_device_fault"
16290
16291typedef enum VkDeviceFaultAddressTypeEXT {
16292 VK_DEVICE_FAULT_ADDRESS_TYPE_NONE_EXT = 0,
16293 VK_DEVICE_FAULT_ADDRESS_TYPE_READ_INVALID_EXT = 1,
16294 VK_DEVICE_FAULT_ADDRESS_TYPE_WRITE_INVALID_EXT = 2,
16295 VK_DEVICE_FAULT_ADDRESS_TYPE_EXECUTE_INVALID_EXT = 3,
16296 VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_UNKNOWN_EXT = 4,
16297 VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_INVALID_EXT = 5,
16298 VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_FAULT_EXT = 6,
16299 VK_DEVICE_FAULT_ADDRESS_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
16300} VkDeviceFaultAddressTypeEXT;
16301
16302typedef enum VkDeviceFaultVendorBinaryHeaderVersionEXT {
16303 VK_DEVICE_FAULT_VENDOR_BINARY_HEADER_VERSION_ONE_EXT = 1,
16304 VK_DEVICE_FAULT_VENDOR_BINARY_HEADER_VERSION_MAX_ENUM_EXT = 0x7FFFFFFF
16305} VkDeviceFaultVendorBinaryHeaderVersionEXT;
16306typedef struct VkPhysicalDeviceFaultFeaturesEXT {
16307 VkStructureType sType;
16308 void* pNext;
16309 VkBool32 deviceFault;
16310 VkBool32 deviceFaultVendorBinary;
16311} VkPhysicalDeviceFaultFeaturesEXT;
16312
16313typedef struct VkDeviceFaultCountsEXT {
16314 VkStructureType sType;
16315 void* pNext;
16316 uint32_t addressInfoCount;
16317 uint32_t vendorInfoCount;
16318 VkDeviceSize vendorBinarySize;
16319} VkDeviceFaultCountsEXT;
16320
16321typedef struct VkDeviceFaultAddressInfoEXT {
16322 VkDeviceFaultAddressTypeEXT addressType;
16323 VkDeviceAddress reportedAddress;
16324 VkDeviceSize addressPrecision;
16325} VkDeviceFaultAddressInfoEXT;
16326
16327typedef struct VkDeviceFaultVendorInfoEXT {
16328 char description[VK_MAX_DESCRIPTION_SIZE];
16329 uint64_t vendorFaultCode;
16330 uint64_t vendorFaultData;
16331} VkDeviceFaultVendorInfoEXT;
16332
16333typedef struct VkDeviceFaultInfoEXT {
16334 VkStructureType sType;
16335 void* pNext;
16336 char description[VK_MAX_DESCRIPTION_SIZE];
16337 VkDeviceFaultAddressInfoEXT* pAddressInfos;
16338 VkDeviceFaultVendorInfoEXT* pVendorInfos;
16339 void* pVendorBinaryData;
16340} VkDeviceFaultInfoEXT;
16341
16342typedef struct VkDeviceFaultVendorBinaryHeaderVersionOneEXT {
16343 uint32_t headerSize;
16344 VkDeviceFaultVendorBinaryHeaderVersionEXT headerVersion;
16345 uint32_t vendorID;
16346 uint32_t deviceID;
16347 uint32_t driverVersion;
16348 uint8_t pipelineCacheUUID[VK_UUID_SIZE];
16349 uint32_t applicationNameOffset;
16350 uint32_t applicationVersion;
16351 uint32_t engineNameOffset;
16352 uint32_t engineVersion;
16353 uint32_t apiVersion;
16354} VkDeviceFaultVendorBinaryHeaderVersionOneEXT;
16355
16356typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceFaultInfoEXT)(VkDevice device, VkDeviceFaultCountsEXT* pFaultCounts, VkDeviceFaultInfoEXT* pFaultInfo);
16357
16358#ifndef VK_NO_PROTOTYPES
16359VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceFaultInfoEXT(
16360 VkDevice device,
16361 VkDeviceFaultCountsEXT* pFaultCounts,
16362 VkDeviceFaultInfoEXT* pFaultInfo);
16363#endif
16364
16365
16366// VK_ARM_rasterization_order_attachment_access is a preprocessor guard. Do not pass it to API calls.
16367#define VK_ARM_rasterization_order_attachment_access 1
16368#define VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION 1
16369#define VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME "VK_ARM_rasterization_order_attachment_access"
16370typedef struct VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT {
16371 VkStructureType sType;
16372 void* pNext;
16373 VkBool32 rasterizationOrderColorAttachmentAccess;
16374 VkBool32 rasterizationOrderDepthAttachmentAccess;
16375 VkBool32 rasterizationOrderStencilAttachmentAccess;
16376} VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT;
16377
16378typedef VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM;
16379
16380
16381
16382// VK_EXT_rgba10x6_formats is a preprocessor guard. Do not pass it to API calls.
16383#define VK_EXT_rgba10x6_formats 1
16384#define VK_EXT_RGBA10X6_FORMATS_SPEC_VERSION 1
16385#define VK_EXT_RGBA10X6_FORMATS_EXTENSION_NAME "VK_EXT_rgba10x6_formats"
16386typedef struct VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT {
16387 VkStructureType sType;
16388 void* pNext;
16389 VkBool32 formatRgba10x6WithoutYCbCrSampler;
16390} VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT;
16391
16392
16393
16394// VK_VALVE_mutable_descriptor_type is a preprocessor guard. Do not pass it to API calls.
16395#define VK_VALVE_mutable_descriptor_type 1
16396#define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION 1
16397#define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME "VK_VALVE_mutable_descriptor_type"
16398typedef struct VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT {
16399 VkStructureType sType;
16400 void* pNext;
16401 VkBool32 mutableDescriptorType;
16402} VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT;
16403
16404typedef VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE;
16405
16406typedef struct VkMutableDescriptorTypeListEXT {
16407 uint32_t descriptorTypeCount;
16408 const VkDescriptorType* pDescriptorTypes;
16409} VkMutableDescriptorTypeListEXT;
16410
16411typedef VkMutableDescriptorTypeListEXT VkMutableDescriptorTypeListVALVE;
16412
16413typedef struct VkMutableDescriptorTypeCreateInfoEXT {
16414 VkStructureType sType;
16415 const void* pNext;
16416 uint32_t mutableDescriptorTypeListCount;
16417 const VkMutableDescriptorTypeListEXT* pMutableDescriptorTypeLists;
16418} VkMutableDescriptorTypeCreateInfoEXT;
16419
16420typedef VkMutableDescriptorTypeCreateInfoEXT VkMutableDescriptorTypeCreateInfoVALVE;
16421
16422
16423
16424// VK_EXT_vertex_input_dynamic_state is a preprocessor guard. Do not pass it to API calls.
16425#define VK_EXT_vertex_input_dynamic_state 1
16426#define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION 2
16427#define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_vertex_input_dynamic_state"
16428typedef struct VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT {
16429 VkStructureType sType;
16430 void* pNext;
16431 VkBool32 vertexInputDynamicState;
16432} VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT;
16433
16434typedef struct VkVertexInputBindingDescription2EXT {
16435 VkStructureType sType;
16436 void* pNext;
16437 uint32_t binding;
16438 uint32_t stride;
16439 VkVertexInputRate inputRate;
16440 uint32_t divisor;
16441} VkVertexInputBindingDescription2EXT;
16442
16443typedef struct VkVertexInputAttributeDescription2EXT {
16444 VkStructureType sType;
16445 void* pNext;
16446 uint32_t location;
16447 uint32_t binding;
16448 VkFormat format;
16449 uint32_t offset;
16450} VkVertexInputAttributeDescription2EXT;
16451
16452typedef void (VKAPI_PTR *PFN_vkCmdSetVertexInputEXT)(VkCommandBuffer commandBuffer, uint32_t vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, uint32_t vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions);
16453
16454#ifndef VK_NO_PROTOTYPES
16455VKAPI_ATTR void VKAPI_CALL vkCmdSetVertexInputEXT(
16456 VkCommandBuffer commandBuffer,
16457 uint32_t vertexBindingDescriptionCount,
16458 const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions,
16459 uint32_t vertexAttributeDescriptionCount,
16460 const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions);
16461#endif
16462
16463
16464// VK_EXT_physical_device_drm is a preprocessor guard. Do not pass it to API calls.
16465#define VK_EXT_physical_device_drm 1
16466#define VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION 1
16467#define VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME "VK_EXT_physical_device_drm"
16468typedef struct VkPhysicalDeviceDrmPropertiesEXT {
16469 VkStructureType sType;
16470 void* pNext;
16471 VkBool32 hasPrimary;
16472 VkBool32 hasRender;
16473 int64_t primaryMajor;
16474 int64_t primaryMinor;
16475 int64_t renderMajor;
16476 int64_t renderMinor;
16477} VkPhysicalDeviceDrmPropertiesEXT;
16478
16479
16480
16481// VK_EXT_device_address_binding_report is a preprocessor guard. Do not pass it to API calls.
16482#define VK_EXT_device_address_binding_report 1
16483#define VK_EXT_DEVICE_ADDRESS_BINDING_REPORT_SPEC_VERSION 1
16484#define VK_EXT_DEVICE_ADDRESS_BINDING_REPORT_EXTENSION_NAME "VK_EXT_device_address_binding_report"
16485
16486typedef enum VkDeviceAddressBindingTypeEXT {
16487 VK_DEVICE_ADDRESS_BINDING_TYPE_BIND_EXT = 0,
16488 VK_DEVICE_ADDRESS_BINDING_TYPE_UNBIND_EXT = 1,
16489 VK_DEVICE_ADDRESS_BINDING_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
16490} VkDeviceAddressBindingTypeEXT;
16491
16492typedef enum VkDeviceAddressBindingFlagBitsEXT {
16493 VK_DEVICE_ADDRESS_BINDING_INTERNAL_OBJECT_BIT_EXT = 0x00000001,
16494 VK_DEVICE_ADDRESS_BINDING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
16495} VkDeviceAddressBindingFlagBitsEXT;
16496typedef VkFlags VkDeviceAddressBindingFlagsEXT;
16497typedef struct VkPhysicalDeviceAddressBindingReportFeaturesEXT {
16498 VkStructureType sType;
16499 void* pNext;
16500 VkBool32 reportAddressBinding;
16501} VkPhysicalDeviceAddressBindingReportFeaturesEXT;
16502
16503typedef struct VkDeviceAddressBindingCallbackDataEXT {
16504 VkStructureType sType;
16505 void* pNext;
16506 VkDeviceAddressBindingFlagsEXT flags;
16507 VkDeviceAddress baseAddress;
16508 VkDeviceSize size;
16509 VkDeviceAddressBindingTypeEXT bindingType;
16510} VkDeviceAddressBindingCallbackDataEXT;
16511
16512
16513
16514// VK_EXT_depth_clip_control is a preprocessor guard. Do not pass it to API calls.
16515#define VK_EXT_depth_clip_control 1
16516#define VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION 1
16517#define VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME "VK_EXT_depth_clip_control"
16518typedef struct VkPhysicalDeviceDepthClipControlFeaturesEXT {
16519 VkStructureType sType;
16520 void* pNext;
16521 VkBool32 depthClipControl;
16522} VkPhysicalDeviceDepthClipControlFeaturesEXT;
16523
16524typedef struct VkPipelineViewportDepthClipControlCreateInfoEXT {
16525 VkStructureType sType;
16526 const void* pNext;
16527 VkBool32 negativeOneToOne;
16528} VkPipelineViewportDepthClipControlCreateInfoEXT;
16529
16530
16531
16532// VK_EXT_primitive_topology_list_restart is a preprocessor guard. Do not pass it to API calls.
16533#define VK_EXT_primitive_topology_list_restart 1
16534#define VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION 1
16535#define VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME "VK_EXT_primitive_topology_list_restart"
16536typedef struct VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT {
16537 VkStructureType sType;
16538 void* pNext;
16539 VkBool32 primitiveTopologyListRestart;
16540 VkBool32 primitiveTopologyPatchListRestart;
16541} VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT;
16542
16543
16544
16545// VK_HUAWEI_subpass_shading is a preprocessor guard. Do not pass it to API calls.
16546#define VK_HUAWEI_subpass_shading 1
16547#define VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION 3
16548#define VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME "VK_HUAWEI_subpass_shading"
16549typedef struct VkSubpassShadingPipelineCreateInfoHUAWEI {
16550 VkStructureType sType;
16551 void* pNext;
16552 VkRenderPass renderPass;
16553 uint32_t subpass;
16554} VkSubpassShadingPipelineCreateInfoHUAWEI;
16555
16556typedef struct VkPhysicalDeviceSubpassShadingFeaturesHUAWEI {
16557 VkStructureType sType;
16558 void* pNext;
16559 VkBool32 subpassShading;
16560} VkPhysicalDeviceSubpassShadingFeaturesHUAWEI;
16561
16562typedef struct VkPhysicalDeviceSubpassShadingPropertiesHUAWEI {
16563 VkStructureType sType;
16564 void* pNext;
16565 uint32_t maxSubpassShadingWorkgroupSizeAspectRatio;
16566} VkPhysicalDeviceSubpassShadingPropertiesHUAWEI;
16567
16568typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI)(VkDevice device, VkRenderPass renderpass, VkExtent2D* pMaxWorkgroupSize);
16569typedef void (VKAPI_PTR *PFN_vkCmdSubpassShadingHUAWEI)(VkCommandBuffer commandBuffer);
16570
16571#ifndef VK_NO_PROTOTYPES
16572VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(
16573 VkDevice device,
16574 VkRenderPass renderpass,
16575 VkExtent2D* pMaxWorkgroupSize);
16576
16577VKAPI_ATTR void VKAPI_CALL vkCmdSubpassShadingHUAWEI(
16578 VkCommandBuffer commandBuffer);
16579#endif
16580
16581
16582// VK_HUAWEI_invocation_mask is a preprocessor guard. Do not pass it to API calls.
16583#define VK_HUAWEI_invocation_mask 1
16584#define VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION 1
16585#define VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME "VK_HUAWEI_invocation_mask"
16586typedef struct VkPhysicalDeviceInvocationMaskFeaturesHUAWEI {
16587 VkStructureType sType;
16588 void* pNext;
16589 VkBool32 invocationMask;
16590} VkPhysicalDeviceInvocationMaskFeaturesHUAWEI;
16591
16592typedef void (VKAPI_PTR *PFN_vkCmdBindInvocationMaskHUAWEI)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout);
16593
16594#ifndef VK_NO_PROTOTYPES
16595VKAPI_ATTR void VKAPI_CALL vkCmdBindInvocationMaskHUAWEI(
16596 VkCommandBuffer commandBuffer,
16597 VkImageView imageView,
16598 VkImageLayout imageLayout);
16599#endif
16600
16601
16602// VK_NV_external_memory_rdma is a preprocessor guard. Do not pass it to API calls.
16603#define VK_NV_external_memory_rdma 1
16604typedef void* VkRemoteAddressNV;
16605#define VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION 1
16606#define VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME "VK_NV_external_memory_rdma"
16607typedef struct VkMemoryGetRemoteAddressInfoNV {
16608 VkStructureType sType;
16609 const void* pNext;
16610 VkDeviceMemory memory;
16611 VkExternalMemoryHandleTypeFlagBits handleType;
16612} VkMemoryGetRemoteAddressInfoNV;
16613
16614typedef struct VkPhysicalDeviceExternalMemoryRDMAFeaturesNV {
16615 VkStructureType sType;
16616 void* pNext;
16617 VkBool32 externalMemoryRDMA;
16618} VkPhysicalDeviceExternalMemoryRDMAFeaturesNV;
16619
16620typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryRemoteAddressNV)(VkDevice device, const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo, VkRemoteAddressNV* pAddress);
16621
16622#ifndef VK_NO_PROTOTYPES
16623VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryRemoteAddressNV(
16624 VkDevice device,
16625 const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo,
16626 VkRemoteAddressNV* pAddress);
16627#endif
16628
16629
16630// VK_EXT_pipeline_properties is a preprocessor guard. Do not pass it to API calls.
16631#define VK_EXT_pipeline_properties 1
16632#define VK_EXT_PIPELINE_PROPERTIES_SPEC_VERSION 1
16633#define VK_EXT_PIPELINE_PROPERTIES_EXTENSION_NAME "VK_EXT_pipeline_properties"
16634typedef VkPipelineInfoKHR VkPipelineInfoEXT;
16635
16636typedef struct VkPipelinePropertiesIdentifierEXT {
16637 VkStructureType sType;
16638 void* pNext;
16639 uint8_t pipelineIdentifier[VK_UUID_SIZE];
16640} VkPipelinePropertiesIdentifierEXT;
16641
16642typedef struct VkPhysicalDevicePipelinePropertiesFeaturesEXT {
16643 VkStructureType sType;
16644 void* pNext;
16645 VkBool32 pipelinePropertiesIdentifier;
16646} VkPhysicalDevicePipelinePropertiesFeaturesEXT;
16647
16648typedef VkResult (VKAPI_PTR *PFN_vkGetPipelinePropertiesEXT)(VkDevice device, const VkPipelineInfoEXT* pPipelineInfo, VkBaseOutStructure* pPipelineProperties);
16649
16650#ifndef VK_NO_PROTOTYPES
16651VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelinePropertiesEXT(
16652 VkDevice device,
16653 const VkPipelineInfoEXT* pPipelineInfo,
16654 VkBaseOutStructure* pPipelineProperties);
16655#endif
16656
16657
16658// VK_EXT_frame_boundary is a preprocessor guard. Do not pass it to API calls.
16659#define VK_EXT_frame_boundary 1
16660#define VK_EXT_FRAME_BOUNDARY_SPEC_VERSION 1
16661#define VK_EXT_FRAME_BOUNDARY_EXTENSION_NAME "VK_EXT_frame_boundary"
16662
16663typedef enum VkFrameBoundaryFlagBitsEXT {
16664 VK_FRAME_BOUNDARY_FRAME_END_BIT_EXT = 0x00000001,
16665 VK_FRAME_BOUNDARY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
16666} VkFrameBoundaryFlagBitsEXT;
16667typedef VkFlags VkFrameBoundaryFlagsEXT;
16668typedef struct VkPhysicalDeviceFrameBoundaryFeaturesEXT {
16669 VkStructureType sType;
16670 void* pNext;
16671 VkBool32 frameBoundary;
16672} VkPhysicalDeviceFrameBoundaryFeaturesEXT;
16673
16674typedef struct VkFrameBoundaryEXT {
16675 VkStructureType sType;
16676 const void* pNext;
16677 VkFrameBoundaryFlagsEXT flags;
16678 uint64_t frameID;
16679 uint32_t imageCount;
16680 const VkImage* pImages;
16681 uint32_t bufferCount;
16682 const VkBuffer* pBuffers;
16683 uint64_t tagName;
16684 size_t tagSize;
16685 const void* pTag;
16686} VkFrameBoundaryEXT;
16687
16688
16689
16690// VK_EXT_multisampled_render_to_single_sampled is a preprocessor guard. Do not pass it to API calls.
16691#define VK_EXT_multisampled_render_to_single_sampled 1
16692#define VK_EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_SPEC_VERSION 1
16693#define VK_EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_EXTENSION_NAME "VK_EXT_multisampled_render_to_single_sampled"
16694typedef struct VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT {
16695 VkStructureType sType;
16696 void* pNext;
16697 VkBool32 multisampledRenderToSingleSampled;
16698} VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT;
16699
16700typedef struct VkSubpassResolvePerformanceQueryEXT {
16701 VkStructureType sType;
16702 void* pNext;
16703 VkBool32 optimal;
16704} VkSubpassResolvePerformanceQueryEXT;
16705
16706typedef struct VkMultisampledRenderToSingleSampledInfoEXT {
16707 VkStructureType sType;
16708 const void* pNext;
16709 VkBool32 multisampledRenderToSingleSampledEnable;
16710 VkSampleCountFlagBits rasterizationSamples;
16711} VkMultisampledRenderToSingleSampledInfoEXT;
16712
16713
16714
16715// VK_EXT_extended_dynamic_state2 is a preprocessor guard. Do not pass it to API calls.
16716#define VK_EXT_extended_dynamic_state2 1
16717#define VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION 1
16718#define VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME "VK_EXT_extended_dynamic_state2"
16719typedef struct VkPhysicalDeviceExtendedDynamicState2FeaturesEXT {
16720 VkStructureType sType;
16721 void* pNext;
16722 VkBool32 extendedDynamicState2;
16723 VkBool32 extendedDynamicState2LogicOp;
16724 VkBool32 extendedDynamicState2PatchControlPoints;
16725} VkPhysicalDeviceExtendedDynamicState2FeaturesEXT;
16726
16727typedef void (VKAPI_PTR *PFN_vkCmdSetPatchControlPointsEXT)(VkCommandBuffer commandBuffer, uint32_t patchControlPoints);
16728typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizerDiscardEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable);
16729typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBiasEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable);
16730typedef void (VKAPI_PTR *PFN_vkCmdSetLogicOpEXT)(VkCommandBuffer commandBuffer, VkLogicOp logicOp);
16731typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveRestartEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable);
16732
16733#ifndef VK_NO_PROTOTYPES
16734VKAPI_ATTR void VKAPI_CALL vkCmdSetPatchControlPointsEXT(
16735 VkCommandBuffer commandBuffer,
16736 uint32_t patchControlPoints);
16737
16738VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizerDiscardEnableEXT(
16739 VkCommandBuffer commandBuffer,
16740 VkBool32 rasterizerDiscardEnable);
16741
16742VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBiasEnableEXT(
16743 VkCommandBuffer commandBuffer,
16744 VkBool32 depthBiasEnable);
16745
16746VKAPI_ATTR void VKAPI_CALL vkCmdSetLogicOpEXT(
16747 VkCommandBuffer commandBuffer,
16748 VkLogicOp logicOp);
16749
16750VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveRestartEnableEXT(
16751 VkCommandBuffer commandBuffer,
16752 VkBool32 primitiveRestartEnable);
16753#endif
16754
16755
16756// VK_EXT_color_write_enable is a preprocessor guard. Do not pass it to API calls.
16757#define VK_EXT_color_write_enable 1
16758#define VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION 1
16759#define VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME "VK_EXT_color_write_enable"
16760typedef struct VkPhysicalDeviceColorWriteEnableFeaturesEXT {
16761 VkStructureType sType;
16762 void* pNext;
16763 VkBool32 colorWriteEnable;
16764} VkPhysicalDeviceColorWriteEnableFeaturesEXT;
16765
16766typedef struct VkPipelineColorWriteCreateInfoEXT {
16767 VkStructureType sType;
16768 const void* pNext;
16769 uint32_t attachmentCount;
16770 const VkBool32* pColorWriteEnables;
16771} VkPipelineColorWriteCreateInfoEXT;
16772
16773typedef void (VKAPI_PTR *PFN_vkCmdSetColorWriteEnableEXT)(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkBool32* pColorWriteEnables);
16774
16775#ifndef VK_NO_PROTOTYPES
16776VKAPI_ATTR void VKAPI_CALL vkCmdSetColorWriteEnableEXT(
16777 VkCommandBuffer commandBuffer,
16778 uint32_t attachmentCount,
16779 const VkBool32* pColorWriteEnables);
16780#endif
16781
16782
16783// VK_EXT_primitives_generated_query is a preprocessor guard. Do not pass it to API calls.
16784#define VK_EXT_primitives_generated_query 1
16785#define VK_EXT_PRIMITIVES_GENERATED_QUERY_SPEC_VERSION 1
16786#define VK_EXT_PRIMITIVES_GENERATED_QUERY_EXTENSION_NAME "VK_EXT_primitives_generated_query"
16787typedef struct VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT {
16788 VkStructureType sType;
16789 void* pNext;
16790 VkBool32 primitivesGeneratedQuery;
16791 VkBool32 primitivesGeneratedQueryWithRasterizerDiscard;
16792 VkBool32 primitivesGeneratedQueryWithNonZeroStreams;
16793} VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT;
16794
16795
16796
16797// VK_EXT_global_priority_query is a preprocessor guard. Do not pass it to API calls.
16798#define VK_EXT_global_priority_query 1
16799#define VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION 1
16800#define VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME "VK_EXT_global_priority_query"
16801#define VK_MAX_GLOBAL_PRIORITY_SIZE_EXT VK_MAX_GLOBAL_PRIORITY_SIZE_KHR
16802typedef VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT;
16803
16804typedef VkQueueFamilyGlobalPriorityPropertiesKHR VkQueueFamilyGlobalPriorityPropertiesEXT;
16805
16806
16807
16808// VK_EXT_image_view_min_lod is a preprocessor guard. Do not pass it to API calls.
16809#define VK_EXT_image_view_min_lod 1
16810#define VK_EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION 1
16811#define VK_EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME "VK_EXT_image_view_min_lod"
16812typedef struct VkPhysicalDeviceImageViewMinLodFeaturesEXT {
16813 VkStructureType sType;
16814 void* pNext;
16815 VkBool32 minLod;
16816} VkPhysicalDeviceImageViewMinLodFeaturesEXT;
16817
16818typedef struct VkImageViewMinLodCreateInfoEXT {
16819 VkStructureType sType;
16820 const void* pNext;
16821 float minLod;
16822} VkImageViewMinLodCreateInfoEXT;
16823
16824
16825
16826// VK_EXT_multi_draw is a preprocessor guard. Do not pass it to API calls.
16827#define VK_EXT_multi_draw 1
16828#define VK_EXT_MULTI_DRAW_SPEC_VERSION 1
16829#define VK_EXT_MULTI_DRAW_EXTENSION_NAME "VK_EXT_multi_draw"
16830typedef struct VkPhysicalDeviceMultiDrawFeaturesEXT {
16831 VkStructureType sType;
16832 void* pNext;
16833 VkBool32 multiDraw;
16834} VkPhysicalDeviceMultiDrawFeaturesEXT;
16835
16836typedef struct VkPhysicalDeviceMultiDrawPropertiesEXT {
16837 VkStructureType sType;
16838 void* pNext;
16839 uint32_t maxMultiDrawCount;
16840} VkPhysicalDeviceMultiDrawPropertiesEXT;
16841
16842typedef struct VkMultiDrawInfoEXT {
16843 uint32_t firstVertex;
16844 uint32_t vertexCount;
16845} VkMultiDrawInfoEXT;
16846
16847typedef struct VkMultiDrawIndexedInfoEXT {
16848 uint32_t firstIndex;
16849 uint32_t indexCount;
16850 int32_t vertexOffset;
16851} VkMultiDrawIndexedInfoEXT;
16852
16853typedef void (VKAPI_PTR *PFN_vkCmdDrawMultiEXT)(VkCommandBuffer commandBuffer, uint32_t drawCount, const VkMultiDrawInfoEXT* pVertexInfo, uint32_t instanceCount, uint32_t firstInstance, uint32_t stride);
16854typedef 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);
16855
16856#ifndef VK_NO_PROTOTYPES
16857VKAPI_ATTR void VKAPI_CALL vkCmdDrawMultiEXT(
16858 VkCommandBuffer commandBuffer,
16859 uint32_t drawCount,
16860 const VkMultiDrawInfoEXT* pVertexInfo,
16861 uint32_t instanceCount,
16862 uint32_t firstInstance,
16863 uint32_t stride);
16864
16865VKAPI_ATTR void VKAPI_CALL vkCmdDrawMultiIndexedEXT(
16866 VkCommandBuffer commandBuffer,
16867 uint32_t drawCount,
16868 const VkMultiDrawIndexedInfoEXT* pIndexInfo,
16869 uint32_t instanceCount,
16870 uint32_t firstInstance,
16871 uint32_t stride,
16872 const int32_t* pVertexOffset);
16873#endif
16874
16875
16876// VK_EXT_image_2d_view_of_3d is a preprocessor guard. Do not pass it to API calls.
16877#define VK_EXT_image_2d_view_of_3d 1
16878#define VK_EXT_IMAGE_2D_VIEW_OF_3D_SPEC_VERSION 1
16879#define VK_EXT_IMAGE_2D_VIEW_OF_3D_EXTENSION_NAME "VK_EXT_image_2d_view_of_3d"
16880typedef struct VkPhysicalDeviceImage2DViewOf3DFeaturesEXT {
16881 VkStructureType sType;
16882 void* pNext;
16883 VkBool32 image2DViewOf3D;
16884 VkBool32 sampler2DViewOf3D;
16885} VkPhysicalDeviceImage2DViewOf3DFeaturesEXT;
16886
16887
16888
16889// VK_EXT_shader_tile_image is a preprocessor guard. Do not pass it to API calls.
16890#define VK_EXT_shader_tile_image 1
16891#define VK_EXT_SHADER_TILE_IMAGE_SPEC_VERSION 1
16892#define VK_EXT_SHADER_TILE_IMAGE_EXTENSION_NAME "VK_EXT_shader_tile_image"
16893typedef struct VkPhysicalDeviceShaderTileImageFeaturesEXT {
16894 VkStructureType sType;
16895 void* pNext;
16896 VkBool32 shaderTileImageColorReadAccess;
16897 VkBool32 shaderTileImageDepthReadAccess;
16898 VkBool32 shaderTileImageStencilReadAccess;
16899} VkPhysicalDeviceShaderTileImageFeaturesEXT;
16900
16901typedef struct VkPhysicalDeviceShaderTileImagePropertiesEXT {
16902 VkStructureType sType;
16903 void* pNext;
16904 VkBool32 shaderTileImageCoherentReadAccelerated;
16905 VkBool32 shaderTileImageReadSampleFromPixelRateInvocation;
16906 VkBool32 shaderTileImageReadFromHelperInvocation;
16907} VkPhysicalDeviceShaderTileImagePropertiesEXT;
16908
16909
16910
16911// VK_EXT_opacity_micromap is a preprocessor guard. Do not pass it to API calls.
16912#define VK_EXT_opacity_micromap 1
16913VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkMicromapEXT)
16914#define VK_EXT_OPACITY_MICROMAP_SPEC_VERSION 2
16915#define VK_EXT_OPACITY_MICROMAP_EXTENSION_NAME "VK_EXT_opacity_micromap"
16916
16917typedef enum VkMicromapTypeEXT {
16918 VK_MICROMAP_TYPE_OPACITY_MICROMAP_EXT = 0,
16919#ifdef VK_ENABLE_BETA_EXTENSIONS
16920 VK_MICROMAP_TYPE_DISPLACEMENT_MICROMAP_NV = 1000397000,
16921#endif
16922 VK_MICROMAP_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
16923} VkMicromapTypeEXT;
16924
16925typedef enum VkBuildMicromapModeEXT {
16926 VK_BUILD_MICROMAP_MODE_BUILD_EXT = 0,
16927 VK_BUILD_MICROMAP_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
16928} VkBuildMicromapModeEXT;
16929
16930typedef enum VkCopyMicromapModeEXT {
16931 VK_COPY_MICROMAP_MODE_CLONE_EXT = 0,
16932 VK_COPY_MICROMAP_MODE_SERIALIZE_EXT = 1,
16933 VK_COPY_MICROMAP_MODE_DESERIALIZE_EXT = 2,
16934 VK_COPY_MICROMAP_MODE_COMPACT_EXT = 3,
16935 VK_COPY_MICROMAP_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
16936} VkCopyMicromapModeEXT;
16937
16938typedef enum VkOpacityMicromapFormatEXT {
16939 VK_OPACITY_MICROMAP_FORMAT_2_STATE_EXT = 1,
16940 VK_OPACITY_MICROMAP_FORMAT_4_STATE_EXT = 2,
16941 VK_OPACITY_MICROMAP_FORMAT_MAX_ENUM_EXT = 0x7FFFFFFF
16942} VkOpacityMicromapFormatEXT;
16943
16944typedef enum VkOpacityMicromapSpecialIndexEXT {
16945 VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_TRANSPARENT_EXT = -1,
16946 VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_OPAQUE_EXT = -2,
16947 VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_TRANSPARENT_EXT = -3,
16948 VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_OPAQUE_EXT = -4,
16949 VK_OPACITY_MICROMAP_SPECIAL_INDEX_MAX_ENUM_EXT = 0x7FFFFFFF
16950} VkOpacityMicromapSpecialIndexEXT;
16951
16952typedef enum VkAccelerationStructureCompatibilityKHR {
16953 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR = 0,
16954 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR = 1,
16955 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_MAX_ENUM_KHR = 0x7FFFFFFF
16956} VkAccelerationStructureCompatibilityKHR;
16957
16958typedef enum VkAccelerationStructureBuildTypeKHR {
16959 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR = 0,
16960 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR = 1,
16961 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR = 2,
16962 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
16963} VkAccelerationStructureBuildTypeKHR;
16964
16965typedef enum VkBuildMicromapFlagBitsEXT {
16966 VK_BUILD_MICROMAP_PREFER_FAST_TRACE_BIT_EXT = 0x00000001,
16967 VK_BUILD_MICROMAP_PREFER_FAST_BUILD_BIT_EXT = 0x00000002,
16968 VK_BUILD_MICROMAP_ALLOW_COMPACTION_BIT_EXT = 0x00000004,
16969 VK_BUILD_MICROMAP_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
16970} VkBuildMicromapFlagBitsEXT;
16971typedef VkFlags VkBuildMicromapFlagsEXT;
16972
16973typedef enum VkMicromapCreateFlagBitsEXT {
16974 VK_MICROMAP_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = 0x00000001,
16975 VK_MICROMAP_CREATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
16976} VkMicromapCreateFlagBitsEXT;
16977typedef VkFlags VkMicromapCreateFlagsEXT;
16978typedef struct VkMicromapUsageEXT {
16979 uint32_t count;
16980 uint32_t subdivisionLevel;
16981 uint32_t format;
16982} VkMicromapUsageEXT;
16983
16984typedef union VkDeviceOrHostAddressKHR {
16985 VkDeviceAddress deviceAddress;
16986 void* hostAddress;
16987} VkDeviceOrHostAddressKHR;
16988
16989typedef struct VkMicromapBuildInfoEXT {
16990 VkStructureType sType;
16991 const void* pNext;
16992 VkMicromapTypeEXT type;
16993 VkBuildMicromapFlagsEXT flags;
16994 VkBuildMicromapModeEXT mode;
16995 VkMicromapEXT dstMicromap;
16996 uint32_t usageCountsCount;
16997 const VkMicromapUsageEXT* pUsageCounts;
16998 const VkMicromapUsageEXT* const* ppUsageCounts;
16999 VkDeviceOrHostAddressConstKHR data;
17000 VkDeviceOrHostAddressKHR scratchData;
17001 VkDeviceOrHostAddressConstKHR triangleArray;
17002 VkDeviceSize triangleArrayStride;
17003} VkMicromapBuildInfoEXT;
17004
17005typedef struct VkMicromapCreateInfoEXT {
17006 VkStructureType sType;
17007 const void* pNext;
17008 VkMicromapCreateFlagsEXT createFlags;
17009 VkBuffer buffer;
17010 VkDeviceSize offset;
17011 VkDeviceSize size;
17012 VkMicromapTypeEXT type;
17013 VkDeviceAddress deviceAddress;
17014} VkMicromapCreateInfoEXT;
17015
17016typedef struct VkPhysicalDeviceOpacityMicromapFeaturesEXT {
17017 VkStructureType sType;
17018 void* pNext;
17019 VkBool32 micromap;
17020 VkBool32 micromapCaptureReplay;
17021 VkBool32 micromapHostCommands;
17022} VkPhysicalDeviceOpacityMicromapFeaturesEXT;
17023
17024typedef struct VkPhysicalDeviceOpacityMicromapPropertiesEXT {
17025 VkStructureType sType;
17026 void* pNext;
17027 uint32_t maxOpacity2StateSubdivisionLevel;
17028 uint32_t maxOpacity4StateSubdivisionLevel;
17029} VkPhysicalDeviceOpacityMicromapPropertiesEXT;
17030
17031typedef struct VkMicromapVersionInfoEXT {
17032 VkStructureType sType;
17033 const void* pNext;
17034 const uint8_t* pVersionData;
17035} VkMicromapVersionInfoEXT;
17036
17037typedef struct VkCopyMicromapToMemoryInfoEXT {
17038 VkStructureType sType;
17039 const void* pNext;
17040 VkMicromapEXT src;
17041 VkDeviceOrHostAddressKHR dst;
17042 VkCopyMicromapModeEXT mode;
17043} VkCopyMicromapToMemoryInfoEXT;
17044
17045typedef struct VkCopyMemoryToMicromapInfoEXT {
17046 VkStructureType sType;
17047 const void* pNext;
17048 VkDeviceOrHostAddressConstKHR src;
17049 VkMicromapEXT dst;
17050 VkCopyMicromapModeEXT mode;
17051} VkCopyMemoryToMicromapInfoEXT;
17052
17053typedef struct VkCopyMicromapInfoEXT {
17054 VkStructureType sType;
17055 const void* pNext;
17056 VkMicromapEXT src;
17057 VkMicromapEXT dst;
17058 VkCopyMicromapModeEXT mode;
17059} VkCopyMicromapInfoEXT;
17060
17061typedef struct VkMicromapBuildSizesInfoEXT {
17062 VkStructureType sType;
17063 const void* pNext;
17064 VkDeviceSize micromapSize;
17065 VkDeviceSize buildScratchSize;
17066 VkBool32 discardable;
17067} VkMicromapBuildSizesInfoEXT;
17068
17069typedef struct VkAccelerationStructureTrianglesOpacityMicromapEXT {
17070 VkStructureType sType;
17071 void* pNext;
17072 VkIndexType indexType;
17073 VkDeviceOrHostAddressConstKHR indexBuffer;
17074 VkDeviceSize indexStride;
17075 uint32_t baseTriangle;
17076 uint32_t usageCountsCount;
17077 const VkMicromapUsageEXT* pUsageCounts;
17078 const VkMicromapUsageEXT* const* ppUsageCounts;
17079 VkMicromapEXT micromap;
17080} VkAccelerationStructureTrianglesOpacityMicromapEXT;
17081
17082typedef struct VkMicromapTriangleEXT {
17083 uint32_t dataOffset;
17084 uint16_t subdivisionLevel;
17085 uint16_t format;
17086} VkMicromapTriangleEXT;
17087
17088typedef VkResult (VKAPI_PTR *PFN_vkCreateMicromapEXT)(VkDevice device, const VkMicromapCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkMicromapEXT* pMicromap);
17089typedef void (VKAPI_PTR *PFN_vkDestroyMicromapEXT)(VkDevice device, VkMicromapEXT micromap, const VkAllocationCallbacks* pAllocator);
17090typedef void (VKAPI_PTR *PFN_vkCmdBuildMicromapsEXT)(VkCommandBuffer commandBuffer, uint32_t infoCount, const VkMicromapBuildInfoEXT* pInfos);
17091typedef VkResult (VKAPI_PTR *PFN_vkBuildMicromapsEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, uint32_t infoCount, const VkMicromapBuildInfoEXT* pInfos);
17092typedef VkResult (VKAPI_PTR *PFN_vkCopyMicromapEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMicromapInfoEXT* pInfo);
17093typedef VkResult (VKAPI_PTR *PFN_vkCopyMicromapToMemoryEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMicromapToMemoryInfoEXT* pInfo);
17094typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToMicromapEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToMicromapInfoEXT* pInfo);
17095typedef VkResult (VKAPI_PTR *PFN_vkWriteMicromapsPropertiesEXT)(VkDevice device, uint32_t micromapCount, const VkMicromapEXT* pMicromaps, VkQueryType queryType, size_t dataSize, void* pData, size_t stride);
17096typedef void (VKAPI_PTR *PFN_vkCmdCopyMicromapEXT)(VkCommandBuffer commandBuffer, const VkCopyMicromapInfoEXT* pInfo);
17097typedef void (VKAPI_PTR *PFN_vkCmdCopyMicromapToMemoryEXT)(VkCommandBuffer commandBuffer, const VkCopyMicromapToMemoryInfoEXT* pInfo);
17098typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToMicromapEXT)(VkCommandBuffer commandBuffer, const VkCopyMemoryToMicromapInfoEXT* pInfo);
17099typedef void (VKAPI_PTR *PFN_vkCmdWriteMicromapsPropertiesEXT)(VkCommandBuffer commandBuffer, uint32_t micromapCount, const VkMicromapEXT* pMicromaps, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery);
17100typedef void (VKAPI_PTR *PFN_vkGetDeviceMicromapCompatibilityEXT)(VkDevice device, const VkMicromapVersionInfoEXT* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility);
17101typedef void (VKAPI_PTR *PFN_vkGetMicromapBuildSizesEXT)(VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkMicromapBuildInfoEXT* pBuildInfo, VkMicromapBuildSizesInfoEXT* pSizeInfo);
17102
17103#ifndef VK_NO_PROTOTYPES
17104VKAPI_ATTR VkResult VKAPI_CALL vkCreateMicromapEXT(
17105 VkDevice device,
17106 const VkMicromapCreateInfoEXT* pCreateInfo,
17107 const VkAllocationCallbacks* pAllocator,
17108 VkMicromapEXT* pMicromap);
17109
17110VKAPI_ATTR void VKAPI_CALL vkDestroyMicromapEXT(
17111 VkDevice device,
17112 VkMicromapEXT micromap,
17113 const VkAllocationCallbacks* pAllocator);
17114
17115VKAPI_ATTR void VKAPI_CALL vkCmdBuildMicromapsEXT(
17116 VkCommandBuffer commandBuffer,
17117 uint32_t infoCount,
17118 const VkMicromapBuildInfoEXT* pInfos);
17119
17120VKAPI_ATTR VkResult VKAPI_CALL vkBuildMicromapsEXT(
17121 VkDevice device,
17122 VkDeferredOperationKHR deferredOperation,
17123 uint32_t infoCount,
17124 const VkMicromapBuildInfoEXT* pInfos);
17125
17126VKAPI_ATTR VkResult VKAPI_CALL vkCopyMicromapEXT(
17127 VkDevice device,
17128 VkDeferredOperationKHR deferredOperation,
17129 const VkCopyMicromapInfoEXT* pInfo);
17130
17131VKAPI_ATTR VkResult VKAPI_CALL vkCopyMicromapToMemoryEXT(
17132 VkDevice device,
17133 VkDeferredOperationKHR deferredOperation,
17134 const VkCopyMicromapToMemoryInfoEXT* pInfo);
17135
17136VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToMicromapEXT(
17137 VkDevice device,
17138 VkDeferredOperationKHR deferredOperation,
17139 const VkCopyMemoryToMicromapInfoEXT* pInfo);
17140
17141VKAPI_ATTR VkResult VKAPI_CALL vkWriteMicromapsPropertiesEXT(
17142 VkDevice device,
17143 uint32_t micromapCount,
17144 const VkMicromapEXT* pMicromaps,
17145 VkQueryType queryType,
17146 size_t dataSize,
17147 void* pData,
17148 size_t stride);
17149
17150VKAPI_ATTR void VKAPI_CALL vkCmdCopyMicromapEXT(
17151 VkCommandBuffer commandBuffer,
17152 const VkCopyMicromapInfoEXT* pInfo);
17153
17154VKAPI_ATTR void VKAPI_CALL vkCmdCopyMicromapToMemoryEXT(
17155 VkCommandBuffer commandBuffer,
17156 const VkCopyMicromapToMemoryInfoEXT* pInfo);
17157
17158VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToMicromapEXT(
17159 VkCommandBuffer commandBuffer,
17160 const VkCopyMemoryToMicromapInfoEXT* pInfo);
17161
17162VKAPI_ATTR void VKAPI_CALL vkCmdWriteMicromapsPropertiesEXT(
17163 VkCommandBuffer commandBuffer,
17164 uint32_t micromapCount,
17165 const VkMicromapEXT* pMicromaps,
17166 VkQueryType queryType,
17167 VkQueryPool queryPool,
17168 uint32_t firstQuery);
17169
17170VKAPI_ATTR void VKAPI_CALL vkGetDeviceMicromapCompatibilityEXT(
17171 VkDevice device,
17172 const VkMicromapVersionInfoEXT* pVersionInfo,
17173 VkAccelerationStructureCompatibilityKHR* pCompatibility);
17174
17175VKAPI_ATTR void VKAPI_CALL vkGetMicromapBuildSizesEXT(
17176 VkDevice device,
17177 VkAccelerationStructureBuildTypeKHR buildType,
17178 const VkMicromapBuildInfoEXT* pBuildInfo,
17179 VkMicromapBuildSizesInfoEXT* pSizeInfo);
17180#endif
17181
17182
17183// VK_EXT_load_store_op_none is a preprocessor guard. Do not pass it to API calls.
17184#define VK_EXT_load_store_op_none 1
17185#define VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION 1
17186#define VK_EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME "VK_EXT_load_store_op_none"
17187
17188
17189// VK_HUAWEI_cluster_culling_shader is a preprocessor guard. Do not pass it to API calls.
17190#define VK_HUAWEI_cluster_culling_shader 1
17191#define VK_HUAWEI_CLUSTER_CULLING_SHADER_SPEC_VERSION 3
17192#define VK_HUAWEI_CLUSTER_CULLING_SHADER_EXTENSION_NAME "VK_HUAWEI_cluster_culling_shader"
17193typedef struct VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI {
17194 VkStructureType sType;
17195 void* pNext;
17196 VkBool32 clustercullingShader;
17197 VkBool32 multiviewClusterCullingShader;
17198} VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI;
17199
17200typedef struct VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI {
17201 VkStructureType sType;
17202 void* pNext;
17203 uint32_t maxWorkGroupCount[3];
17204 uint32_t maxWorkGroupSize[3];
17205 uint32_t maxOutputClusterCount;
17206 VkDeviceSize indirectBufferOffsetAlignment;
17207} VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI;
17208
17209typedef struct VkPhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI {
17210 VkStructureType sType;
17211 void* pNext;
17212 VkBool32 clusterShadingRate;
17213} VkPhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI;
17214
17215typedef void (VKAPI_PTR *PFN_vkCmdDrawClusterHUAWEI)(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ);
17216typedef void (VKAPI_PTR *PFN_vkCmdDrawClusterIndirectHUAWEI)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset);
17217
17218#ifndef VK_NO_PROTOTYPES
17219VKAPI_ATTR void VKAPI_CALL vkCmdDrawClusterHUAWEI(
17220 VkCommandBuffer commandBuffer,
17221 uint32_t groupCountX,
17222 uint32_t groupCountY,
17223 uint32_t groupCountZ);
17224
17225VKAPI_ATTR void VKAPI_CALL vkCmdDrawClusterIndirectHUAWEI(
17226 VkCommandBuffer commandBuffer,
17227 VkBuffer buffer,
17228 VkDeviceSize offset);
17229#endif
17230
17231
17232// VK_EXT_border_color_swizzle is a preprocessor guard. Do not pass it to API calls.
17233#define VK_EXT_border_color_swizzle 1
17234#define VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION 1
17235#define VK_EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME "VK_EXT_border_color_swizzle"
17236typedef struct VkPhysicalDeviceBorderColorSwizzleFeaturesEXT {
17237 VkStructureType sType;
17238 void* pNext;
17239 VkBool32 borderColorSwizzle;
17240 VkBool32 borderColorSwizzleFromImage;
17241} VkPhysicalDeviceBorderColorSwizzleFeaturesEXT;
17242
17243typedef struct VkSamplerBorderColorComponentMappingCreateInfoEXT {
17244 VkStructureType sType;
17245 const void* pNext;
17246 VkComponentMapping components;
17247 VkBool32 srgb;
17248} VkSamplerBorderColorComponentMappingCreateInfoEXT;
17249
17250
17251
17252// VK_EXT_pageable_device_local_memory is a preprocessor guard. Do not pass it to API calls.
17253#define VK_EXT_pageable_device_local_memory 1
17254#define VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION 1
17255#define VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME "VK_EXT_pageable_device_local_memory"
17256typedef struct VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT {
17257 VkStructureType sType;
17258 void* pNext;
17259 VkBool32 pageableDeviceLocalMemory;
17260} VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT;
17261
17262typedef void (VKAPI_PTR *PFN_vkSetDeviceMemoryPriorityEXT)(VkDevice device, VkDeviceMemory memory, float priority);
17263
17264#ifndef VK_NO_PROTOTYPES
17265VKAPI_ATTR void VKAPI_CALL vkSetDeviceMemoryPriorityEXT(
17266 VkDevice device,
17267 VkDeviceMemory memory,
17268 float priority);
17269#endif
17270
17271
17272// VK_ARM_shader_core_properties is a preprocessor guard. Do not pass it to API calls.
17273#define VK_ARM_shader_core_properties 1
17274#define VK_ARM_SHADER_CORE_PROPERTIES_SPEC_VERSION 1
17275#define VK_ARM_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_ARM_shader_core_properties"
17276typedef struct VkPhysicalDeviceShaderCorePropertiesARM {
17277 VkStructureType sType;
17278 void* pNext;
17279 uint32_t pixelRate;
17280 uint32_t texelRate;
17281 uint32_t fmaRate;
17282} VkPhysicalDeviceShaderCorePropertiesARM;
17283
17284
17285
17286// VK_ARM_scheduling_controls is a preprocessor guard. Do not pass it to API calls.
17287#define VK_ARM_scheduling_controls 1
17288#define VK_ARM_SCHEDULING_CONTROLS_SPEC_VERSION 1
17289#define VK_ARM_SCHEDULING_CONTROLS_EXTENSION_NAME "VK_ARM_scheduling_controls"
17290typedef VkFlags64 VkPhysicalDeviceSchedulingControlsFlagsARM;
17291
17292// Flag bits for VkPhysicalDeviceSchedulingControlsFlagBitsARM
17293typedef VkFlags64 VkPhysicalDeviceSchedulingControlsFlagBitsARM;
17294static const VkPhysicalDeviceSchedulingControlsFlagBitsARM VK_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_SHADER_CORE_COUNT_ARM = 0x00000001ULL;
17295
17296typedef struct VkDeviceQueueShaderCoreControlCreateInfoARM {
17297 VkStructureType sType;
17298 void* pNext;
17299 uint32_t shaderCoreCount;
17300} VkDeviceQueueShaderCoreControlCreateInfoARM;
17301
17302typedef struct VkPhysicalDeviceSchedulingControlsFeaturesARM {
17303 VkStructureType sType;
17304 void* pNext;
17305 VkBool32 schedulingControls;
17306} VkPhysicalDeviceSchedulingControlsFeaturesARM;
17307
17308typedef struct VkPhysicalDeviceSchedulingControlsPropertiesARM {
17309 VkStructureType sType;
17310 void* pNext;
17311 VkPhysicalDeviceSchedulingControlsFlagsARM schedulingControlsFlags;
17312} VkPhysicalDeviceSchedulingControlsPropertiesARM;
17313
17314
17315
17316// VK_EXT_image_sliced_view_of_3d is a preprocessor guard. Do not pass it to API calls.
17317#define VK_EXT_image_sliced_view_of_3d 1
17318#define VK_EXT_IMAGE_SLICED_VIEW_OF_3D_SPEC_VERSION 1
17319#define VK_EXT_IMAGE_SLICED_VIEW_OF_3D_EXTENSION_NAME "VK_EXT_image_sliced_view_of_3d"
17320#define VK_REMAINING_3D_SLICES_EXT (~0U)
17321typedef struct VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT {
17322 VkStructureType sType;
17323 void* pNext;
17324 VkBool32 imageSlicedViewOf3D;
17325} VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT;
17326
17327typedef struct VkImageViewSlicedCreateInfoEXT {
17328 VkStructureType sType;
17329 const void* pNext;
17330 uint32_t sliceOffset;
17331 uint32_t sliceCount;
17332} VkImageViewSlicedCreateInfoEXT;
17333
17334
17335
17336// VK_VALVE_descriptor_set_host_mapping is a preprocessor guard. Do not pass it to API calls.
17337#define VK_VALVE_descriptor_set_host_mapping 1
17338#define VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_SPEC_VERSION 1
17339#define VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_EXTENSION_NAME "VK_VALVE_descriptor_set_host_mapping"
17340typedef struct VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE {
17341 VkStructureType sType;
17342 void* pNext;
17343 VkBool32 descriptorSetHostMapping;
17344} VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE;
17345
17346typedef struct VkDescriptorSetBindingReferenceVALVE {
17347 VkStructureType sType;
17348 const void* pNext;
17349 VkDescriptorSetLayout descriptorSetLayout;
17350 uint32_t binding;
17351} VkDescriptorSetBindingReferenceVALVE;
17352
17353typedef struct VkDescriptorSetLayoutHostMappingInfoVALVE {
17354 VkStructureType sType;
17355 void* pNext;
17356 size_t descriptorOffset;
17357 uint32_t descriptorSize;
17358} VkDescriptorSetLayoutHostMappingInfoVALVE;
17359
17360typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE)(VkDevice device, const VkDescriptorSetBindingReferenceVALVE* pBindingReference, VkDescriptorSetLayoutHostMappingInfoVALVE* pHostMapping);
17361typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetHostMappingVALVE)(VkDevice device, VkDescriptorSet descriptorSet, void** ppData);
17362
17363#ifndef VK_NO_PROTOTYPES
17364VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutHostMappingInfoVALVE(
17365 VkDevice device,
17366 const VkDescriptorSetBindingReferenceVALVE* pBindingReference,
17367 VkDescriptorSetLayoutHostMappingInfoVALVE* pHostMapping);
17368
17369VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetHostMappingVALVE(
17370 VkDevice device,
17371 VkDescriptorSet descriptorSet,
17372 void** ppData);
17373#endif
17374
17375
17376// VK_EXT_depth_clamp_zero_one is a preprocessor guard. Do not pass it to API calls.
17377#define VK_EXT_depth_clamp_zero_one 1
17378#define VK_EXT_DEPTH_CLAMP_ZERO_ONE_SPEC_VERSION 1
17379#define VK_EXT_DEPTH_CLAMP_ZERO_ONE_EXTENSION_NAME "VK_EXT_depth_clamp_zero_one"
17380typedef struct VkPhysicalDeviceDepthClampZeroOneFeaturesEXT {
17381 VkStructureType sType;
17382 void* pNext;
17383 VkBool32 depthClampZeroOne;
17384} VkPhysicalDeviceDepthClampZeroOneFeaturesEXT;
17385
17386
17387
17388// VK_EXT_non_seamless_cube_map is a preprocessor guard. Do not pass it to API calls.
17389#define VK_EXT_non_seamless_cube_map 1
17390#define VK_EXT_NON_SEAMLESS_CUBE_MAP_SPEC_VERSION 1
17391#define VK_EXT_NON_SEAMLESS_CUBE_MAP_EXTENSION_NAME "VK_EXT_non_seamless_cube_map"
17392typedef struct VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT {
17393 VkStructureType sType;
17394 void* pNext;
17395 VkBool32 nonSeamlessCubeMap;
17396} VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT;
17397
17398
17399
17400// VK_ARM_render_pass_striped is a preprocessor guard. Do not pass it to API calls.
17401#define VK_ARM_render_pass_striped 1
17402#define VK_ARM_RENDER_PASS_STRIPED_SPEC_VERSION 1
17403#define VK_ARM_RENDER_PASS_STRIPED_EXTENSION_NAME "VK_ARM_render_pass_striped"
17404typedef struct VkPhysicalDeviceRenderPassStripedFeaturesARM {
17405 VkStructureType sType;
17406 void* pNext;
17407 VkBool32 renderPassStriped;
17408} VkPhysicalDeviceRenderPassStripedFeaturesARM;
17409
17410typedef struct VkPhysicalDeviceRenderPassStripedPropertiesARM {
17411 VkStructureType sType;
17412 void* pNext;
17413 VkExtent2D renderPassStripeGranularity;
17414 uint32_t maxRenderPassStripes;
17415} VkPhysicalDeviceRenderPassStripedPropertiesARM;
17416
17417typedef struct VkRenderPassStripeInfoARM {
17418 VkStructureType sType;
17419 const void* pNext;
17420 VkRect2D stripeArea;
17421} VkRenderPassStripeInfoARM;
17422
17423typedef struct VkRenderPassStripeBeginInfoARM {
17424 VkStructureType sType;
17425 const void* pNext;
17426 uint32_t stripeInfoCount;
17427 const VkRenderPassStripeInfoARM* pStripeInfos;
17428} VkRenderPassStripeBeginInfoARM;
17429
17430typedef struct VkRenderPassStripeSubmitInfoARM {
17431 VkStructureType sType;
17432 const void* pNext;
17433 uint32_t stripeSemaphoreInfoCount;
17434 const VkSemaphoreSubmitInfo* pStripeSemaphoreInfos;
17435} VkRenderPassStripeSubmitInfoARM;
17436
17437
17438
17439// VK_QCOM_fragment_density_map_offset is a preprocessor guard. Do not pass it to API calls.
17440#define VK_QCOM_fragment_density_map_offset 1
17441#define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION 1
17442#define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME "VK_QCOM_fragment_density_map_offset"
17443typedef struct VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM {
17444 VkStructureType sType;
17445 void* pNext;
17446 VkBool32 fragmentDensityMapOffset;
17447} VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM;
17448
17449typedef struct VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM {
17450 VkStructureType sType;
17451 void* pNext;
17452 VkExtent2D fragmentDensityOffsetGranularity;
17453} VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM;
17454
17455typedef struct VkSubpassFragmentDensityMapOffsetEndInfoQCOM {
17456 VkStructureType sType;
17457 const void* pNext;
17458 uint32_t fragmentDensityOffsetCount;
17459 const VkOffset2D* pFragmentDensityOffsets;
17460} VkSubpassFragmentDensityMapOffsetEndInfoQCOM;
17461
17462
17463
17464// VK_NV_copy_memory_indirect is a preprocessor guard. Do not pass it to API calls.
17465#define VK_NV_copy_memory_indirect 1
17466#define VK_NV_COPY_MEMORY_INDIRECT_SPEC_VERSION 1
17467#define VK_NV_COPY_MEMORY_INDIRECT_EXTENSION_NAME "VK_NV_copy_memory_indirect"
17468typedef struct VkCopyMemoryIndirectCommandNV {
17469 VkDeviceAddress srcAddress;
17470 VkDeviceAddress dstAddress;
17471 VkDeviceSize size;
17472} VkCopyMemoryIndirectCommandNV;
17473
17474typedef struct VkCopyMemoryToImageIndirectCommandNV {
17475 VkDeviceAddress srcAddress;
17476 uint32_t bufferRowLength;
17477 uint32_t bufferImageHeight;
17478 VkImageSubresourceLayers imageSubresource;
17479 VkOffset3D imageOffset;
17480 VkExtent3D imageExtent;
17481} VkCopyMemoryToImageIndirectCommandNV;
17482
17483typedef struct VkPhysicalDeviceCopyMemoryIndirectFeaturesNV {
17484 VkStructureType sType;
17485 void* pNext;
17486 VkBool32 indirectCopy;
17487} VkPhysicalDeviceCopyMemoryIndirectFeaturesNV;
17488
17489typedef struct VkPhysicalDeviceCopyMemoryIndirectPropertiesNV {
17490 VkStructureType sType;
17491 void* pNext;
17492 VkQueueFlags supportedQueues;
17493} VkPhysicalDeviceCopyMemoryIndirectPropertiesNV;
17494
17495typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryIndirectNV)(VkCommandBuffer commandBuffer, VkDeviceAddress copyBufferAddress, uint32_t copyCount, uint32_t stride);
17496typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToImageIndirectNV)(VkCommandBuffer commandBuffer, VkDeviceAddress copyBufferAddress, uint32_t copyCount, uint32_t stride, VkImage dstImage, VkImageLayout dstImageLayout, const VkImageSubresourceLayers* pImageSubresources);
17497
17498#ifndef VK_NO_PROTOTYPES
17499VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryIndirectNV(
17500 VkCommandBuffer commandBuffer,
17501 VkDeviceAddress copyBufferAddress,
17502 uint32_t copyCount,
17503 uint32_t stride);
17504
17505VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToImageIndirectNV(
17506 VkCommandBuffer commandBuffer,
17507 VkDeviceAddress copyBufferAddress,
17508 uint32_t copyCount,
17509 uint32_t stride,
17510 VkImage dstImage,
17511 VkImageLayout dstImageLayout,
17512 const VkImageSubresourceLayers* pImageSubresources);
17513#endif
17514
17515
17516// VK_NV_memory_decompression is a preprocessor guard. Do not pass it to API calls.
17517#define VK_NV_memory_decompression 1
17518#define VK_NV_MEMORY_DECOMPRESSION_SPEC_VERSION 1
17519#define VK_NV_MEMORY_DECOMPRESSION_EXTENSION_NAME "VK_NV_memory_decompression"
17520
17521// Flag bits for VkMemoryDecompressionMethodFlagBitsNV
17522typedef VkFlags64 VkMemoryDecompressionMethodFlagBitsNV;
17523static const VkMemoryDecompressionMethodFlagBitsNV VK_MEMORY_DECOMPRESSION_METHOD_GDEFLATE_1_0_BIT_NV = 0x00000001ULL;
17524
17525typedef VkFlags64 VkMemoryDecompressionMethodFlagsNV;
17526typedef struct VkDecompressMemoryRegionNV {
17527 VkDeviceAddress srcAddress;
17528 VkDeviceAddress dstAddress;
17529 VkDeviceSize compressedSize;
17530 VkDeviceSize decompressedSize;
17531 VkMemoryDecompressionMethodFlagsNV decompressionMethod;
17532} VkDecompressMemoryRegionNV;
17533
17534typedef struct VkPhysicalDeviceMemoryDecompressionFeaturesNV {
17535 VkStructureType sType;
17536 void* pNext;
17537 VkBool32 memoryDecompression;
17538} VkPhysicalDeviceMemoryDecompressionFeaturesNV;
17539
17540typedef struct VkPhysicalDeviceMemoryDecompressionPropertiesNV {
17541 VkStructureType sType;
17542 void* pNext;
17543 VkMemoryDecompressionMethodFlagsNV decompressionMethods;
17544 uint64_t maxDecompressionIndirectCount;
17545} VkPhysicalDeviceMemoryDecompressionPropertiesNV;
17546
17547typedef void (VKAPI_PTR *PFN_vkCmdDecompressMemoryNV)(VkCommandBuffer commandBuffer, uint32_t decompressRegionCount, const VkDecompressMemoryRegionNV* pDecompressMemoryRegions);
17548typedef void (VKAPI_PTR *PFN_vkCmdDecompressMemoryIndirectCountNV)(VkCommandBuffer commandBuffer, VkDeviceAddress indirectCommandsAddress, VkDeviceAddress indirectCommandsCountAddress, uint32_t stride);
17549
17550#ifndef VK_NO_PROTOTYPES
17551VKAPI_ATTR void VKAPI_CALL vkCmdDecompressMemoryNV(
17552 VkCommandBuffer commandBuffer,
17553 uint32_t decompressRegionCount,
17554 const VkDecompressMemoryRegionNV* pDecompressMemoryRegions);
17555
17556VKAPI_ATTR void VKAPI_CALL vkCmdDecompressMemoryIndirectCountNV(
17557 VkCommandBuffer commandBuffer,
17558 VkDeviceAddress indirectCommandsAddress,
17559 VkDeviceAddress indirectCommandsCountAddress,
17560 uint32_t stride);
17561#endif
17562
17563
17564// VK_NV_device_generated_commands_compute is a preprocessor guard. Do not pass it to API calls.
17565#define VK_NV_device_generated_commands_compute 1
17566#define VK_NV_DEVICE_GENERATED_COMMANDS_COMPUTE_SPEC_VERSION 2
17567#define VK_NV_DEVICE_GENERATED_COMMANDS_COMPUTE_EXTENSION_NAME "VK_NV_device_generated_commands_compute"
17568typedef struct VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV {
17569 VkStructureType sType;
17570 void* pNext;
17571 VkBool32 deviceGeneratedCompute;
17572 VkBool32 deviceGeneratedComputePipelines;
17573 VkBool32 deviceGeneratedComputeCaptureReplay;
17574} VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV;
17575
17576typedef struct VkComputePipelineIndirectBufferInfoNV {
17577 VkStructureType sType;
17578 const void* pNext;
17579 VkDeviceAddress deviceAddress;
17580 VkDeviceSize size;
17581 VkDeviceAddress pipelineDeviceAddressCaptureReplay;
17582} VkComputePipelineIndirectBufferInfoNV;
17583
17584typedef struct VkPipelineIndirectDeviceAddressInfoNV {
17585 VkStructureType sType;
17586 const void* pNext;
17587 VkPipelineBindPoint pipelineBindPoint;
17588 VkPipeline pipeline;
17589} VkPipelineIndirectDeviceAddressInfoNV;
17590
17591typedef struct VkBindPipelineIndirectCommandNV {
17592 VkDeviceAddress pipelineAddress;
17593} VkBindPipelineIndirectCommandNV;
17594
17595typedef void (VKAPI_PTR *PFN_vkGetPipelineIndirectMemoryRequirementsNV)(VkDevice device, const VkComputePipelineCreateInfo* pCreateInfo, VkMemoryRequirements2* pMemoryRequirements);
17596typedef void (VKAPI_PTR *PFN_vkCmdUpdatePipelineIndirectBufferNV)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline);
17597typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetPipelineIndirectDeviceAddressNV)(VkDevice device, const VkPipelineIndirectDeviceAddressInfoNV* pInfo);
17598
17599#ifndef VK_NO_PROTOTYPES
17600VKAPI_ATTR void VKAPI_CALL vkGetPipelineIndirectMemoryRequirementsNV(
17601 VkDevice device,
17602 const VkComputePipelineCreateInfo* pCreateInfo,
17603 VkMemoryRequirements2* pMemoryRequirements);
17604
17605VKAPI_ATTR void VKAPI_CALL vkCmdUpdatePipelineIndirectBufferNV(
17606 VkCommandBuffer commandBuffer,
17607 VkPipelineBindPoint pipelineBindPoint,
17608 VkPipeline pipeline);
17609
17610VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetPipelineIndirectDeviceAddressNV(
17611 VkDevice device,
17612 const VkPipelineIndirectDeviceAddressInfoNV* pInfo);
17613#endif
17614
17615
17616// VK_NV_linear_color_attachment is a preprocessor guard. Do not pass it to API calls.
17617#define VK_NV_linear_color_attachment 1
17618#define VK_NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION 1
17619#define VK_NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME "VK_NV_linear_color_attachment"
17620typedef struct VkPhysicalDeviceLinearColorAttachmentFeaturesNV {
17621 VkStructureType sType;
17622 void* pNext;
17623 VkBool32 linearColorAttachment;
17624} VkPhysicalDeviceLinearColorAttachmentFeaturesNV;
17625
17626
17627
17628// VK_GOOGLE_surfaceless_query is a preprocessor guard. Do not pass it to API calls.
17629#define VK_GOOGLE_surfaceless_query 1
17630#define VK_GOOGLE_SURFACELESS_QUERY_SPEC_VERSION 2
17631#define VK_GOOGLE_SURFACELESS_QUERY_EXTENSION_NAME "VK_GOOGLE_surfaceless_query"
17632
17633
17634// VK_EXT_image_compression_control_swapchain is a preprocessor guard. Do not pass it to API calls.
17635#define VK_EXT_image_compression_control_swapchain 1
17636#define VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_SPEC_VERSION 1
17637#define VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_EXTENSION_NAME "VK_EXT_image_compression_control_swapchain"
17638typedef struct VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT {
17639 VkStructureType sType;
17640 void* pNext;
17641 VkBool32 imageCompressionControlSwapchain;
17642} VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT;
17643
17644
17645
17646// VK_QCOM_image_processing is a preprocessor guard. Do not pass it to API calls.
17647#define VK_QCOM_image_processing 1
17648#define VK_QCOM_IMAGE_PROCESSING_SPEC_VERSION 1
17649#define VK_QCOM_IMAGE_PROCESSING_EXTENSION_NAME "VK_QCOM_image_processing"
17650typedef struct VkImageViewSampleWeightCreateInfoQCOM {
17651 VkStructureType sType;
17652 const void* pNext;
17653 VkOffset2D filterCenter;
17654 VkExtent2D filterSize;
17655 uint32_t numPhases;
17656} VkImageViewSampleWeightCreateInfoQCOM;
17657
17658typedef struct VkPhysicalDeviceImageProcessingFeaturesQCOM {
17659 VkStructureType sType;
17660 void* pNext;
17661 VkBool32 textureSampleWeighted;
17662 VkBool32 textureBoxFilter;
17663 VkBool32 textureBlockMatch;
17664} VkPhysicalDeviceImageProcessingFeaturesQCOM;
17665
17666typedef struct VkPhysicalDeviceImageProcessingPropertiesQCOM {
17667 VkStructureType sType;
17668 void* pNext;
17669 uint32_t maxWeightFilterPhases;
17670 VkExtent2D maxWeightFilterDimension;
17671 VkExtent2D maxBlockMatchRegion;
17672 VkExtent2D maxBoxFilterBlockSize;
17673} VkPhysicalDeviceImageProcessingPropertiesQCOM;
17674
17675
17676
17677// VK_EXT_nested_command_buffer is a preprocessor guard. Do not pass it to API calls.
17678#define VK_EXT_nested_command_buffer 1
17679#define VK_EXT_NESTED_COMMAND_BUFFER_SPEC_VERSION 1
17680#define VK_EXT_NESTED_COMMAND_BUFFER_EXTENSION_NAME "VK_EXT_nested_command_buffer"
17681typedef struct VkPhysicalDeviceNestedCommandBufferFeaturesEXT {
17682 VkStructureType sType;
17683 void* pNext;
17684 VkBool32 nestedCommandBuffer;
17685 VkBool32 nestedCommandBufferRendering;
17686 VkBool32 nestedCommandBufferSimultaneousUse;
17687} VkPhysicalDeviceNestedCommandBufferFeaturesEXT;
17688
17689typedef struct VkPhysicalDeviceNestedCommandBufferPropertiesEXT {
17690 VkStructureType sType;
17691 void* pNext;
17692 uint32_t maxCommandBufferNestingLevel;
17693} VkPhysicalDeviceNestedCommandBufferPropertiesEXT;
17694
17695
17696
17697// VK_EXT_external_memory_acquire_unmodified is a preprocessor guard. Do not pass it to API calls.
17698#define VK_EXT_external_memory_acquire_unmodified 1
17699#define VK_EXT_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_SPEC_VERSION 1
17700#define VK_EXT_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_EXTENSION_NAME "VK_EXT_external_memory_acquire_unmodified"
17701typedef struct VkExternalMemoryAcquireUnmodifiedEXT {
17702 VkStructureType sType;
17703 const void* pNext;
17704 VkBool32 acquireUnmodifiedMemory;
17705} VkExternalMemoryAcquireUnmodifiedEXT;
17706
17707
17708
17709// VK_EXT_extended_dynamic_state3 is a preprocessor guard. Do not pass it to API calls.
17710#define VK_EXT_extended_dynamic_state3 1
17711#define VK_EXT_EXTENDED_DYNAMIC_STATE_3_SPEC_VERSION 2
17712#define VK_EXT_EXTENDED_DYNAMIC_STATE_3_EXTENSION_NAME "VK_EXT_extended_dynamic_state3"
17713typedef struct VkPhysicalDeviceExtendedDynamicState3FeaturesEXT {
17714 VkStructureType sType;
17715 void* pNext;
17716 VkBool32 extendedDynamicState3TessellationDomainOrigin;
17717 VkBool32 extendedDynamicState3DepthClampEnable;
17718 VkBool32 extendedDynamicState3PolygonMode;
17719 VkBool32 extendedDynamicState3RasterizationSamples;
17720 VkBool32 extendedDynamicState3SampleMask;
17721 VkBool32 extendedDynamicState3AlphaToCoverageEnable;
17722 VkBool32 extendedDynamicState3AlphaToOneEnable;
17723 VkBool32 extendedDynamicState3LogicOpEnable;
17724 VkBool32 extendedDynamicState3ColorBlendEnable;
17725 VkBool32 extendedDynamicState3ColorBlendEquation;
17726 VkBool32 extendedDynamicState3ColorWriteMask;
17727 VkBool32 extendedDynamicState3RasterizationStream;
17728 VkBool32 extendedDynamicState3ConservativeRasterizationMode;
17729 VkBool32 extendedDynamicState3ExtraPrimitiveOverestimationSize;
17730 VkBool32 extendedDynamicState3DepthClipEnable;
17731 VkBool32 extendedDynamicState3SampleLocationsEnable;
17732 VkBool32 extendedDynamicState3ColorBlendAdvanced;
17733 VkBool32 extendedDynamicState3ProvokingVertexMode;
17734 VkBool32 extendedDynamicState3LineRasterizationMode;
17735 VkBool32 extendedDynamicState3LineStippleEnable;
17736 VkBool32 extendedDynamicState3DepthClipNegativeOneToOne;
17737 VkBool32 extendedDynamicState3ViewportWScalingEnable;
17738 VkBool32 extendedDynamicState3ViewportSwizzle;
17739 VkBool32 extendedDynamicState3CoverageToColorEnable;
17740 VkBool32 extendedDynamicState3CoverageToColorLocation;
17741 VkBool32 extendedDynamicState3CoverageModulationMode;
17742 VkBool32 extendedDynamicState3CoverageModulationTableEnable;
17743 VkBool32 extendedDynamicState3CoverageModulationTable;
17744 VkBool32 extendedDynamicState3CoverageReductionMode;
17745 VkBool32 extendedDynamicState3RepresentativeFragmentTestEnable;
17746 VkBool32 extendedDynamicState3ShadingRateImageEnable;
17747} VkPhysicalDeviceExtendedDynamicState3FeaturesEXT;
17748
17749typedef struct VkPhysicalDeviceExtendedDynamicState3PropertiesEXT {
17750 VkStructureType sType;
17751 void* pNext;
17752 VkBool32 dynamicPrimitiveTopologyUnrestricted;
17753} VkPhysicalDeviceExtendedDynamicState3PropertiesEXT;
17754
17755typedef struct VkColorBlendEquationEXT {
17756 VkBlendFactor srcColorBlendFactor;
17757 VkBlendFactor dstColorBlendFactor;
17758 VkBlendOp colorBlendOp;
17759 VkBlendFactor srcAlphaBlendFactor;
17760 VkBlendFactor dstAlphaBlendFactor;
17761 VkBlendOp alphaBlendOp;
17762} VkColorBlendEquationEXT;
17763
17764typedef struct VkColorBlendAdvancedEXT {
17765 VkBlendOp advancedBlendOp;
17766 VkBool32 srcPremultiplied;
17767 VkBool32 dstPremultiplied;
17768 VkBlendOverlapEXT blendOverlap;
17769 VkBool32 clampResults;
17770} VkColorBlendAdvancedEXT;
17771
17772typedef void (VKAPI_PTR *PFN_vkCmdSetTessellationDomainOriginEXT)(VkCommandBuffer commandBuffer, VkTessellationDomainOrigin domainOrigin);
17773typedef void (VKAPI_PTR *PFN_vkCmdSetDepthClampEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthClampEnable);
17774typedef void (VKAPI_PTR *PFN_vkCmdSetPolygonModeEXT)(VkCommandBuffer commandBuffer, VkPolygonMode polygonMode);
17775typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizationSamplesEXT)(VkCommandBuffer commandBuffer, VkSampleCountFlagBits rasterizationSamples);
17776typedef void (VKAPI_PTR *PFN_vkCmdSetSampleMaskEXT)(VkCommandBuffer commandBuffer, VkSampleCountFlagBits samples, const VkSampleMask* pSampleMask);
17777typedef void (VKAPI_PTR *PFN_vkCmdSetAlphaToCoverageEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 alphaToCoverageEnable);
17778typedef void (VKAPI_PTR *PFN_vkCmdSetAlphaToOneEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 alphaToOneEnable);
17779typedef void (VKAPI_PTR *PFN_vkCmdSetLogicOpEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 logicOpEnable);
17780typedef void (VKAPI_PTR *PFN_vkCmdSetColorBlendEnableEXT)(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkBool32* pColorBlendEnables);
17781typedef void (VKAPI_PTR *PFN_vkCmdSetColorBlendEquationEXT)(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorBlendEquationEXT* pColorBlendEquations);
17782typedef void (VKAPI_PTR *PFN_vkCmdSetColorWriteMaskEXT)(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorComponentFlags* pColorWriteMasks);
17783typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizationStreamEXT)(VkCommandBuffer commandBuffer, uint32_t rasterizationStream);
17784typedef void (VKAPI_PTR *PFN_vkCmdSetConservativeRasterizationModeEXT)(VkCommandBuffer commandBuffer, VkConservativeRasterizationModeEXT conservativeRasterizationMode);
17785typedef void (VKAPI_PTR *PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT)(VkCommandBuffer commandBuffer, float extraPrimitiveOverestimationSize);
17786typedef void (VKAPI_PTR *PFN_vkCmdSetDepthClipEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthClipEnable);
17787typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 sampleLocationsEnable);
17788typedef void (VKAPI_PTR *PFN_vkCmdSetColorBlendAdvancedEXT)(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorBlendAdvancedEXT* pColorBlendAdvanced);
17789typedef void (VKAPI_PTR *PFN_vkCmdSetProvokingVertexModeEXT)(VkCommandBuffer commandBuffer, VkProvokingVertexModeEXT provokingVertexMode);
17790typedef void (VKAPI_PTR *PFN_vkCmdSetLineRasterizationModeEXT)(VkCommandBuffer commandBuffer, VkLineRasterizationModeEXT lineRasterizationMode);
17791typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 stippledLineEnable);
17792typedef void (VKAPI_PTR *PFN_vkCmdSetDepthClipNegativeOneToOneEXT)(VkCommandBuffer commandBuffer, VkBool32 negativeOneToOne);
17793typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingEnableNV)(VkCommandBuffer commandBuffer, VkBool32 viewportWScalingEnable);
17794typedef void (VKAPI_PTR *PFN_vkCmdSetViewportSwizzleNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportSwizzleNV* pViewportSwizzles);
17795typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageToColorEnableNV)(VkCommandBuffer commandBuffer, VkBool32 coverageToColorEnable);
17796typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageToColorLocationNV)(VkCommandBuffer commandBuffer, uint32_t coverageToColorLocation);
17797typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageModulationModeNV)(VkCommandBuffer commandBuffer, VkCoverageModulationModeNV coverageModulationMode);
17798typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageModulationTableEnableNV)(VkCommandBuffer commandBuffer, VkBool32 coverageModulationTableEnable);
17799typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageModulationTableNV)(VkCommandBuffer commandBuffer, uint32_t coverageModulationTableCount, const float* pCoverageModulationTable);
17800typedef void (VKAPI_PTR *PFN_vkCmdSetShadingRateImageEnableNV)(VkCommandBuffer commandBuffer, VkBool32 shadingRateImageEnable);
17801typedef void (VKAPI_PTR *PFN_vkCmdSetRepresentativeFragmentTestEnableNV)(VkCommandBuffer commandBuffer, VkBool32 representativeFragmentTestEnable);
17802typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageReductionModeNV)(VkCommandBuffer commandBuffer, VkCoverageReductionModeNV coverageReductionMode);
17803
17804#ifndef VK_NO_PROTOTYPES
17805VKAPI_ATTR void VKAPI_CALL vkCmdSetTessellationDomainOriginEXT(
17806 VkCommandBuffer commandBuffer,
17807 VkTessellationDomainOrigin domainOrigin);
17808
17809VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthClampEnableEXT(
17810 VkCommandBuffer commandBuffer,
17811 VkBool32 depthClampEnable);
17812
17813VKAPI_ATTR void VKAPI_CALL vkCmdSetPolygonModeEXT(
17814 VkCommandBuffer commandBuffer,
17815 VkPolygonMode polygonMode);
17816
17817VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizationSamplesEXT(
17818 VkCommandBuffer commandBuffer,
17819 VkSampleCountFlagBits rasterizationSamples);
17820
17821VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleMaskEXT(
17822 VkCommandBuffer commandBuffer,
17823 VkSampleCountFlagBits samples,
17824 const VkSampleMask* pSampleMask);
17825
17826VKAPI_ATTR void VKAPI_CALL vkCmdSetAlphaToCoverageEnableEXT(
17827 VkCommandBuffer commandBuffer,
17828 VkBool32 alphaToCoverageEnable);
17829
17830VKAPI_ATTR void VKAPI_CALL vkCmdSetAlphaToOneEnableEXT(
17831 VkCommandBuffer commandBuffer,
17832 VkBool32 alphaToOneEnable);
17833
17834VKAPI_ATTR void VKAPI_CALL vkCmdSetLogicOpEnableEXT(
17835 VkCommandBuffer commandBuffer,
17836 VkBool32 logicOpEnable);
17837
17838VKAPI_ATTR void VKAPI_CALL vkCmdSetColorBlendEnableEXT(
17839 VkCommandBuffer commandBuffer,
17840 uint32_t firstAttachment,
17841 uint32_t attachmentCount,
17842 const VkBool32* pColorBlendEnables);
17843
17844VKAPI_ATTR void VKAPI_CALL vkCmdSetColorBlendEquationEXT(
17845 VkCommandBuffer commandBuffer,
17846 uint32_t firstAttachment,
17847 uint32_t attachmentCount,
17848 const VkColorBlendEquationEXT* pColorBlendEquations);
17849
17850VKAPI_ATTR void VKAPI_CALL vkCmdSetColorWriteMaskEXT(
17851 VkCommandBuffer commandBuffer,
17852 uint32_t firstAttachment,
17853 uint32_t attachmentCount,
17854 const VkColorComponentFlags* pColorWriteMasks);
17855
17856VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizationStreamEXT(
17857 VkCommandBuffer commandBuffer,
17858 uint32_t rasterizationStream);
17859
17860VKAPI_ATTR void VKAPI_CALL vkCmdSetConservativeRasterizationModeEXT(
17861 VkCommandBuffer commandBuffer,
17862 VkConservativeRasterizationModeEXT conservativeRasterizationMode);
17863
17864VKAPI_ATTR void VKAPI_CALL vkCmdSetExtraPrimitiveOverestimationSizeEXT(
17865 VkCommandBuffer commandBuffer,
17866 float extraPrimitiveOverestimationSize);
17867
17868VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthClipEnableEXT(
17869 VkCommandBuffer commandBuffer,
17870 VkBool32 depthClipEnable);
17871
17872VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleLocationsEnableEXT(
17873 VkCommandBuffer commandBuffer,
17874 VkBool32 sampleLocationsEnable);
17875
17876VKAPI_ATTR void VKAPI_CALL vkCmdSetColorBlendAdvancedEXT(
17877 VkCommandBuffer commandBuffer,
17878 uint32_t firstAttachment,
17879 uint32_t attachmentCount,
17880 const VkColorBlendAdvancedEXT* pColorBlendAdvanced);
17881
17882VKAPI_ATTR void VKAPI_CALL vkCmdSetProvokingVertexModeEXT(
17883 VkCommandBuffer commandBuffer,
17884 VkProvokingVertexModeEXT provokingVertexMode);
17885
17886VKAPI_ATTR void VKAPI_CALL vkCmdSetLineRasterizationModeEXT(
17887 VkCommandBuffer commandBuffer,
17888 VkLineRasterizationModeEXT lineRasterizationMode);
17889
17890VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleEnableEXT(
17891 VkCommandBuffer commandBuffer,
17892 VkBool32 stippledLineEnable);
17893
17894VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthClipNegativeOneToOneEXT(
17895 VkCommandBuffer commandBuffer,
17896 VkBool32 negativeOneToOne);
17897
17898VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWScalingEnableNV(
17899 VkCommandBuffer commandBuffer,
17900 VkBool32 viewportWScalingEnable);
17901
17902VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportSwizzleNV(
17903 VkCommandBuffer commandBuffer,
17904 uint32_t firstViewport,
17905 uint32_t viewportCount,
17906 const VkViewportSwizzleNV* pViewportSwizzles);
17907
17908VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageToColorEnableNV(
17909 VkCommandBuffer commandBuffer,
17910 VkBool32 coverageToColorEnable);
17911
17912VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageToColorLocationNV(
17913 VkCommandBuffer commandBuffer,
17914 uint32_t coverageToColorLocation);
17915
17916VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageModulationModeNV(
17917 VkCommandBuffer commandBuffer,
17918 VkCoverageModulationModeNV coverageModulationMode);
17919
17920VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageModulationTableEnableNV(
17921 VkCommandBuffer commandBuffer,
17922 VkBool32 coverageModulationTableEnable);
17923
17924VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageModulationTableNV(
17925 VkCommandBuffer commandBuffer,
17926 uint32_t coverageModulationTableCount,
17927 const float* pCoverageModulationTable);
17928
17929VKAPI_ATTR void VKAPI_CALL vkCmdSetShadingRateImageEnableNV(
17930 VkCommandBuffer commandBuffer,
17931 VkBool32 shadingRateImageEnable);
17932
17933VKAPI_ATTR void VKAPI_CALL vkCmdSetRepresentativeFragmentTestEnableNV(
17934 VkCommandBuffer commandBuffer,
17935 VkBool32 representativeFragmentTestEnable);
17936
17937VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageReductionModeNV(
17938 VkCommandBuffer commandBuffer,
17939 VkCoverageReductionModeNV coverageReductionMode);
17940#endif
17941
17942
17943// VK_EXT_subpass_merge_feedback is a preprocessor guard. Do not pass it to API calls.
17944#define VK_EXT_subpass_merge_feedback 1
17945#define VK_EXT_SUBPASS_MERGE_FEEDBACK_SPEC_VERSION 2
17946#define VK_EXT_SUBPASS_MERGE_FEEDBACK_EXTENSION_NAME "VK_EXT_subpass_merge_feedback"
17947
17948typedef enum VkSubpassMergeStatusEXT {
17949 VK_SUBPASS_MERGE_STATUS_MERGED_EXT = 0,
17950 VK_SUBPASS_MERGE_STATUS_DISALLOWED_EXT = 1,
17951 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SIDE_EFFECTS_EXT = 2,
17952 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SAMPLES_MISMATCH_EXT = 3,
17953 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_VIEWS_MISMATCH_EXT = 4,
17954 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_ALIASING_EXT = 5,
17955 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPENDENCIES_EXT = 6,
17956 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INCOMPATIBLE_INPUT_ATTACHMENT_EXT = 7,
17957 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_TOO_MANY_ATTACHMENTS_EXT = 8,
17958 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INSUFFICIENT_STORAGE_EXT = 9,
17959 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPTH_STENCIL_COUNT_EXT = 10,
17960 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_RESOLVE_ATTACHMENT_REUSE_EXT = 11,
17961 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SINGLE_SUBPASS_EXT = 12,
17962 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_UNSPECIFIED_EXT = 13,
17963 VK_SUBPASS_MERGE_STATUS_MAX_ENUM_EXT = 0x7FFFFFFF
17964} VkSubpassMergeStatusEXT;
17965typedef struct VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT {
17966 VkStructureType sType;
17967 void* pNext;
17968 VkBool32 subpassMergeFeedback;
17969} VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT;
17970
17971typedef struct VkRenderPassCreationControlEXT {
17972 VkStructureType sType;
17973 const void* pNext;
17974 VkBool32 disallowMerging;
17975} VkRenderPassCreationControlEXT;
17976
17977typedef struct VkRenderPassCreationFeedbackInfoEXT {
17978 uint32_t postMergeSubpassCount;
17979} VkRenderPassCreationFeedbackInfoEXT;
17980
17981typedef struct VkRenderPassCreationFeedbackCreateInfoEXT {
17982 VkStructureType sType;
17983 const void* pNext;
17984 VkRenderPassCreationFeedbackInfoEXT* pRenderPassFeedback;
17985} VkRenderPassCreationFeedbackCreateInfoEXT;
17986
17987typedef struct VkRenderPassSubpassFeedbackInfoEXT {
17988 VkSubpassMergeStatusEXT subpassMergeStatus;
17989 char description[VK_MAX_DESCRIPTION_SIZE];
17990 uint32_t postMergeIndex;
17991} VkRenderPassSubpassFeedbackInfoEXT;
17992
17993typedef struct VkRenderPassSubpassFeedbackCreateInfoEXT {
17994 VkStructureType sType;
17995 const void* pNext;
17996 VkRenderPassSubpassFeedbackInfoEXT* pSubpassFeedback;
17997} VkRenderPassSubpassFeedbackCreateInfoEXT;
17998
17999
18000
18001// VK_LUNARG_direct_driver_loading is a preprocessor guard. Do not pass it to API calls.
18002#define VK_LUNARG_direct_driver_loading 1
18003#define VK_LUNARG_DIRECT_DRIVER_LOADING_SPEC_VERSION 1
18004#define VK_LUNARG_DIRECT_DRIVER_LOADING_EXTENSION_NAME "VK_LUNARG_direct_driver_loading"
18005
18006typedef enum VkDirectDriverLoadingModeLUNARG {
18007 VK_DIRECT_DRIVER_LOADING_MODE_EXCLUSIVE_LUNARG = 0,
18008 VK_DIRECT_DRIVER_LOADING_MODE_INCLUSIVE_LUNARG = 1,
18009 VK_DIRECT_DRIVER_LOADING_MODE_MAX_ENUM_LUNARG = 0x7FFFFFFF
18010} VkDirectDriverLoadingModeLUNARG;
18011typedef VkFlags VkDirectDriverLoadingFlagsLUNARG;
18012typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddrLUNARG)(
18013 VkInstance instance, const char* pName);
18014
18015typedef struct VkDirectDriverLoadingInfoLUNARG {
18016 VkStructureType sType;
18017 void* pNext;
18018 VkDirectDriverLoadingFlagsLUNARG flags;
18019 PFN_vkGetInstanceProcAddrLUNARG pfnGetInstanceProcAddr;
18020} VkDirectDriverLoadingInfoLUNARG;
18021
18022typedef struct VkDirectDriverLoadingListLUNARG {
18023 VkStructureType sType;
18024 const void* pNext;
18025 VkDirectDriverLoadingModeLUNARG mode;
18026 uint32_t driverCount;
18027 const VkDirectDriverLoadingInfoLUNARG* pDrivers;
18028} VkDirectDriverLoadingListLUNARG;
18029
18030
18031
18032// VK_EXT_shader_module_identifier is a preprocessor guard. Do not pass it to API calls.
18033#define VK_EXT_shader_module_identifier 1
18034#define VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT 32U
18035#define VK_EXT_SHADER_MODULE_IDENTIFIER_SPEC_VERSION 1
18036#define VK_EXT_SHADER_MODULE_IDENTIFIER_EXTENSION_NAME "VK_EXT_shader_module_identifier"
18037typedef struct VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT {
18038 VkStructureType sType;
18039 void* pNext;
18040 VkBool32 shaderModuleIdentifier;
18041} VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT;
18042
18043typedef struct VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT {
18044 VkStructureType sType;
18045 void* pNext;
18046 uint8_t shaderModuleIdentifierAlgorithmUUID[VK_UUID_SIZE];
18047} VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT;
18048
18049typedef struct VkPipelineShaderStageModuleIdentifierCreateInfoEXT {
18050 VkStructureType sType;
18051 const void* pNext;
18052 uint32_t identifierSize;
18053 const uint8_t* pIdentifier;
18054} VkPipelineShaderStageModuleIdentifierCreateInfoEXT;
18055
18056typedef struct VkShaderModuleIdentifierEXT {
18057 VkStructureType sType;
18058 void* pNext;
18059 uint32_t identifierSize;
18060 uint8_t identifier[VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT];
18061} VkShaderModuleIdentifierEXT;
18062
18063typedef void (VKAPI_PTR *PFN_vkGetShaderModuleIdentifierEXT)(VkDevice device, VkShaderModule shaderModule, VkShaderModuleIdentifierEXT* pIdentifier);
18064typedef void (VKAPI_PTR *PFN_vkGetShaderModuleCreateInfoIdentifierEXT)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, VkShaderModuleIdentifierEXT* pIdentifier);
18065
18066#ifndef VK_NO_PROTOTYPES
18067VKAPI_ATTR void VKAPI_CALL vkGetShaderModuleIdentifierEXT(
18068 VkDevice device,
18069 VkShaderModule shaderModule,
18070 VkShaderModuleIdentifierEXT* pIdentifier);
18071
18072VKAPI_ATTR void VKAPI_CALL vkGetShaderModuleCreateInfoIdentifierEXT(
18073 VkDevice device,
18074 const VkShaderModuleCreateInfo* pCreateInfo,
18075 VkShaderModuleIdentifierEXT* pIdentifier);
18076#endif
18077
18078
18079// VK_EXT_rasterization_order_attachment_access is a preprocessor guard. Do not pass it to API calls.
18080#define VK_EXT_rasterization_order_attachment_access 1
18081#define VK_EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION 1
18082#define VK_EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME "VK_EXT_rasterization_order_attachment_access"
18083
18084
18085// VK_NV_optical_flow is a preprocessor guard. Do not pass it to API calls.
18086#define VK_NV_optical_flow 1
18087VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkOpticalFlowSessionNV)
18088#define VK_NV_OPTICAL_FLOW_SPEC_VERSION 1
18089#define VK_NV_OPTICAL_FLOW_EXTENSION_NAME "VK_NV_optical_flow"
18090
18091typedef enum VkOpticalFlowPerformanceLevelNV {
18092 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_UNKNOWN_NV = 0,
18093 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_SLOW_NV = 1,
18094 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_MEDIUM_NV = 2,
18095 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_FAST_NV = 3,
18096 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_MAX_ENUM_NV = 0x7FFFFFFF
18097} VkOpticalFlowPerformanceLevelNV;
18098
18099typedef enum VkOpticalFlowSessionBindingPointNV {
18100 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_UNKNOWN_NV = 0,
18101 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_INPUT_NV = 1,
18102 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_REFERENCE_NV = 2,
18103 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_HINT_NV = 3,
18104 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_FLOW_VECTOR_NV = 4,
18105 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_FLOW_VECTOR_NV = 5,
18106 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_COST_NV = 6,
18107 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_COST_NV = 7,
18108 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_GLOBAL_FLOW_NV = 8,
18109 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_MAX_ENUM_NV = 0x7FFFFFFF
18110} VkOpticalFlowSessionBindingPointNV;
18111
18112typedef enum VkOpticalFlowGridSizeFlagBitsNV {
18113 VK_OPTICAL_FLOW_GRID_SIZE_UNKNOWN_NV = 0,
18114 VK_OPTICAL_FLOW_GRID_SIZE_1X1_BIT_NV = 0x00000001,
18115 VK_OPTICAL_FLOW_GRID_SIZE_2X2_BIT_NV = 0x00000002,
18116 VK_OPTICAL_FLOW_GRID_SIZE_4X4_BIT_NV = 0x00000004,
18117 VK_OPTICAL_FLOW_GRID_SIZE_8X8_BIT_NV = 0x00000008,
18118 VK_OPTICAL_FLOW_GRID_SIZE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
18119} VkOpticalFlowGridSizeFlagBitsNV;
18120typedef VkFlags VkOpticalFlowGridSizeFlagsNV;
18121
18122typedef enum VkOpticalFlowUsageFlagBitsNV {
18123 VK_OPTICAL_FLOW_USAGE_UNKNOWN_NV = 0,
18124 VK_OPTICAL_FLOW_USAGE_INPUT_BIT_NV = 0x00000001,
18125 VK_OPTICAL_FLOW_USAGE_OUTPUT_BIT_NV = 0x00000002,
18126 VK_OPTICAL_FLOW_USAGE_HINT_BIT_NV = 0x00000004,
18127 VK_OPTICAL_FLOW_USAGE_COST_BIT_NV = 0x00000008,
18128 VK_OPTICAL_FLOW_USAGE_GLOBAL_FLOW_BIT_NV = 0x00000010,
18129 VK_OPTICAL_FLOW_USAGE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
18130} VkOpticalFlowUsageFlagBitsNV;
18131typedef VkFlags VkOpticalFlowUsageFlagsNV;
18132
18133typedef enum VkOpticalFlowSessionCreateFlagBitsNV {
18134 VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_HINT_BIT_NV = 0x00000001,
18135 VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_COST_BIT_NV = 0x00000002,
18136 VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_GLOBAL_FLOW_BIT_NV = 0x00000004,
18137 VK_OPTICAL_FLOW_SESSION_CREATE_ALLOW_REGIONS_BIT_NV = 0x00000008,
18138 VK_OPTICAL_FLOW_SESSION_CREATE_BOTH_DIRECTIONS_BIT_NV = 0x00000010,
18139 VK_OPTICAL_FLOW_SESSION_CREATE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
18140} VkOpticalFlowSessionCreateFlagBitsNV;
18141typedef VkFlags VkOpticalFlowSessionCreateFlagsNV;
18142
18143typedef enum VkOpticalFlowExecuteFlagBitsNV {
18144 VK_OPTICAL_FLOW_EXECUTE_DISABLE_TEMPORAL_HINTS_BIT_NV = 0x00000001,
18145 VK_OPTICAL_FLOW_EXECUTE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
18146} VkOpticalFlowExecuteFlagBitsNV;
18147typedef VkFlags VkOpticalFlowExecuteFlagsNV;
18148typedef struct VkPhysicalDeviceOpticalFlowFeaturesNV {
18149 VkStructureType sType;
18150 void* pNext;
18151 VkBool32 opticalFlow;
18152} VkPhysicalDeviceOpticalFlowFeaturesNV;
18153
18154typedef struct VkPhysicalDeviceOpticalFlowPropertiesNV {
18155 VkStructureType sType;
18156 void* pNext;
18157 VkOpticalFlowGridSizeFlagsNV supportedOutputGridSizes;
18158 VkOpticalFlowGridSizeFlagsNV supportedHintGridSizes;
18159 VkBool32 hintSupported;
18160 VkBool32 costSupported;
18161 VkBool32 bidirectionalFlowSupported;
18162 VkBool32 globalFlowSupported;
18163 uint32_t minWidth;
18164 uint32_t minHeight;
18165 uint32_t maxWidth;
18166 uint32_t maxHeight;
18167 uint32_t maxNumRegionsOfInterest;
18168} VkPhysicalDeviceOpticalFlowPropertiesNV;
18169
18170typedef struct VkOpticalFlowImageFormatInfoNV {
18171 VkStructureType sType;
18172 const void* pNext;
18173 VkOpticalFlowUsageFlagsNV usage;
18174} VkOpticalFlowImageFormatInfoNV;
18175
18176typedef struct VkOpticalFlowImageFormatPropertiesNV {
18177 VkStructureType sType;
18178 const void* pNext;
18179 VkFormat format;
18180} VkOpticalFlowImageFormatPropertiesNV;
18181
18182typedef struct VkOpticalFlowSessionCreateInfoNV {
18183 VkStructureType sType;
18184 void* pNext;
18185 uint32_t width;
18186 uint32_t height;
18187 VkFormat imageFormat;
18188 VkFormat flowVectorFormat;
18189 VkFormat costFormat;
18190 VkOpticalFlowGridSizeFlagsNV outputGridSize;
18191 VkOpticalFlowGridSizeFlagsNV hintGridSize;
18192 VkOpticalFlowPerformanceLevelNV performanceLevel;
18193 VkOpticalFlowSessionCreateFlagsNV flags;
18194} VkOpticalFlowSessionCreateInfoNV;
18195
18196typedef struct VkOpticalFlowSessionCreatePrivateDataInfoNV {
18197 VkStructureType sType;
18198 void* pNext;
18199 uint32_t id;
18200 uint32_t size;
18201 const void* pPrivateData;
18202} VkOpticalFlowSessionCreatePrivateDataInfoNV;
18203
18204typedef struct VkOpticalFlowExecuteInfoNV {
18205 VkStructureType sType;
18206 void* pNext;
18207 VkOpticalFlowExecuteFlagsNV flags;
18208 uint32_t regionCount;
18209 const VkRect2D* pRegions;
18210} VkOpticalFlowExecuteInfoNV;
18211
18212typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceOpticalFlowImageFormatsNV)(VkPhysicalDevice physicalDevice, const VkOpticalFlowImageFormatInfoNV* pOpticalFlowImageFormatInfo, uint32_t* pFormatCount, VkOpticalFlowImageFormatPropertiesNV* pImageFormatProperties);
18213typedef VkResult (VKAPI_PTR *PFN_vkCreateOpticalFlowSessionNV)(VkDevice device, const VkOpticalFlowSessionCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkOpticalFlowSessionNV* pSession);
18214typedef void (VKAPI_PTR *PFN_vkDestroyOpticalFlowSessionNV)(VkDevice device, VkOpticalFlowSessionNV session, const VkAllocationCallbacks* pAllocator);
18215typedef VkResult (VKAPI_PTR *PFN_vkBindOpticalFlowSessionImageNV)(VkDevice device, VkOpticalFlowSessionNV session, VkOpticalFlowSessionBindingPointNV bindingPoint, VkImageView view, VkImageLayout layout);
18216typedef void (VKAPI_PTR *PFN_vkCmdOpticalFlowExecuteNV)(VkCommandBuffer commandBuffer, VkOpticalFlowSessionNV session, const VkOpticalFlowExecuteInfoNV* pExecuteInfo);
18217
18218#ifndef VK_NO_PROTOTYPES
18219VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceOpticalFlowImageFormatsNV(
18220 VkPhysicalDevice physicalDevice,
18221 const VkOpticalFlowImageFormatInfoNV* pOpticalFlowImageFormatInfo,
18222 uint32_t* pFormatCount,
18223 VkOpticalFlowImageFormatPropertiesNV* pImageFormatProperties);
18224
18225VKAPI_ATTR VkResult VKAPI_CALL vkCreateOpticalFlowSessionNV(
18226 VkDevice device,
18227 const VkOpticalFlowSessionCreateInfoNV* pCreateInfo,
18228 const VkAllocationCallbacks* pAllocator,
18229 VkOpticalFlowSessionNV* pSession);
18230
18231VKAPI_ATTR void VKAPI_CALL vkDestroyOpticalFlowSessionNV(
18232 VkDevice device,
18233 VkOpticalFlowSessionNV session,
18234 const VkAllocationCallbacks* pAllocator);
18235
18236VKAPI_ATTR VkResult VKAPI_CALL vkBindOpticalFlowSessionImageNV(
18237 VkDevice device,
18238 VkOpticalFlowSessionNV session,
18239 VkOpticalFlowSessionBindingPointNV bindingPoint,
18240 VkImageView view,
18241 VkImageLayout layout);
18242
18243VKAPI_ATTR void VKAPI_CALL vkCmdOpticalFlowExecuteNV(
18244 VkCommandBuffer commandBuffer,
18245 VkOpticalFlowSessionNV session,
18246 const VkOpticalFlowExecuteInfoNV* pExecuteInfo);
18247#endif
18248
18249
18250// VK_EXT_legacy_dithering is a preprocessor guard. Do not pass it to API calls.
18251#define VK_EXT_legacy_dithering 1
18252#define VK_EXT_LEGACY_DITHERING_SPEC_VERSION 1
18253#define VK_EXT_LEGACY_DITHERING_EXTENSION_NAME "VK_EXT_legacy_dithering"
18254typedef struct VkPhysicalDeviceLegacyDitheringFeaturesEXT {
18255 VkStructureType sType;
18256 void* pNext;
18257 VkBool32 legacyDithering;
18258} VkPhysicalDeviceLegacyDitheringFeaturesEXT;
18259
18260
18261
18262// VK_EXT_pipeline_protected_access is a preprocessor guard. Do not pass it to API calls.
18263#define VK_EXT_pipeline_protected_access 1
18264#define VK_EXT_PIPELINE_PROTECTED_ACCESS_SPEC_VERSION 1
18265#define VK_EXT_PIPELINE_PROTECTED_ACCESS_EXTENSION_NAME "VK_EXT_pipeline_protected_access"
18266typedef struct VkPhysicalDevicePipelineProtectedAccessFeaturesEXT {
18267 VkStructureType sType;
18268 void* pNext;
18269 VkBool32 pipelineProtectedAccess;
18270} VkPhysicalDevicePipelineProtectedAccessFeaturesEXT;
18271
18272
18273
18274// VK_EXT_shader_object is a preprocessor guard. Do not pass it to API calls.
18275#define VK_EXT_shader_object 1
18276VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderEXT)
18277#define VK_EXT_SHADER_OBJECT_SPEC_VERSION 1
18278#define VK_EXT_SHADER_OBJECT_EXTENSION_NAME "VK_EXT_shader_object"
18279
18280typedef enum VkShaderCodeTypeEXT {
18281 VK_SHADER_CODE_TYPE_BINARY_EXT = 0,
18282 VK_SHADER_CODE_TYPE_SPIRV_EXT = 1,
18283 VK_SHADER_CODE_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
18284} VkShaderCodeTypeEXT;
18285
18286typedef enum VkShaderCreateFlagBitsEXT {
18287 VK_SHADER_CREATE_LINK_STAGE_BIT_EXT = 0x00000001,
18288 VK_SHADER_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = 0x00000002,
18289 VK_SHADER_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = 0x00000004,
18290 VK_SHADER_CREATE_NO_TASK_SHADER_BIT_EXT = 0x00000008,
18291 VK_SHADER_CREATE_DISPATCH_BASE_BIT_EXT = 0x00000010,
18292 VK_SHADER_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_EXT = 0x00000020,
18293 VK_SHADER_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 0x00000040,
18294 VK_SHADER_CREATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
18295} VkShaderCreateFlagBitsEXT;
18296typedef VkFlags VkShaderCreateFlagsEXT;
18297typedef struct VkPhysicalDeviceShaderObjectFeaturesEXT {
18298 VkStructureType sType;
18299 void* pNext;
18300 VkBool32 shaderObject;
18301} VkPhysicalDeviceShaderObjectFeaturesEXT;
18302
18303typedef struct VkPhysicalDeviceShaderObjectPropertiesEXT {
18304 VkStructureType sType;
18305 void* pNext;
18306 uint8_t shaderBinaryUUID[VK_UUID_SIZE];
18307 uint32_t shaderBinaryVersion;
18308} VkPhysicalDeviceShaderObjectPropertiesEXT;
18309
18310typedef struct VkShaderCreateInfoEXT {
18311 VkStructureType sType;
18312 const void* pNext;
18313 VkShaderCreateFlagsEXT flags;
18314 VkShaderStageFlagBits stage;
18315 VkShaderStageFlags nextStage;
18316 VkShaderCodeTypeEXT codeType;
18317 size_t codeSize;
18318 const void* pCode;
18319 const char* pName;
18320 uint32_t setLayoutCount;
18321 const VkDescriptorSetLayout* pSetLayouts;
18322 uint32_t pushConstantRangeCount;
18323 const VkPushConstantRange* pPushConstantRanges;
18324 const VkSpecializationInfo* pSpecializationInfo;
18325} VkShaderCreateInfoEXT;
18326
18327typedef VkPipelineShaderStageRequiredSubgroupSizeCreateInfo VkShaderRequiredSubgroupSizeCreateInfoEXT;
18328
18329typedef VkResult (VKAPI_PTR *PFN_vkCreateShadersEXT)(VkDevice device, uint32_t createInfoCount, const VkShaderCreateInfoEXT* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkShaderEXT* pShaders);
18330typedef void (VKAPI_PTR *PFN_vkDestroyShaderEXT)(VkDevice device, VkShaderEXT shader, const VkAllocationCallbacks* pAllocator);
18331typedef VkResult (VKAPI_PTR *PFN_vkGetShaderBinaryDataEXT)(VkDevice device, VkShaderEXT shader, size_t* pDataSize, void* pData);
18332typedef void (VKAPI_PTR *PFN_vkCmdBindShadersEXT)(VkCommandBuffer commandBuffer, uint32_t stageCount, const VkShaderStageFlagBits* pStages, const VkShaderEXT* pShaders);
18333
18334#ifndef VK_NO_PROTOTYPES
18335VKAPI_ATTR VkResult VKAPI_CALL vkCreateShadersEXT(
18336 VkDevice device,
18337 uint32_t createInfoCount,
18338 const VkShaderCreateInfoEXT* pCreateInfos,
18339 const VkAllocationCallbacks* pAllocator,
18340 VkShaderEXT* pShaders);
18341
18342VKAPI_ATTR void VKAPI_CALL vkDestroyShaderEXT(
18343 VkDevice device,
18344 VkShaderEXT shader,
18345 const VkAllocationCallbacks* pAllocator);
18346
18347VKAPI_ATTR VkResult VKAPI_CALL vkGetShaderBinaryDataEXT(
18348 VkDevice device,
18349 VkShaderEXT shader,
18350 size_t* pDataSize,
18351 void* pData);
18352
18353VKAPI_ATTR void VKAPI_CALL vkCmdBindShadersEXT(
18354 VkCommandBuffer commandBuffer,
18355 uint32_t stageCount,
18356 const VkShaderStageFlagBits* pStages,
18357 const VkShaderEXT* pShaders);
18358#endif
18359
18360
18361// VK_QCOM_tile_properties is a preprocessor guard. Do not pass it to API calls.
18362#define VK_QCOM_tile_properties 1
18363#define VK_QCOM_TILE_PROPERTIES_SPEC_VERSION 1
18364#define VK_QCOM_TILE_PROPERTIES_EXTENSION_NAME "VK_QCOM_tile_properties"
18365typedef struct VkPhysicalDeviceTilePropertiesFeaturesQCOM {
18366 VkStructureType sType;
18367 void* pNext;
18368 VkBool32 tileProperties;
18369} VkPhysicalDeviceTilePropertiesFeaturesQCOM;
18370
18371typedef struct VkTilePropertiesQCOM {
18372 VkStructureType sType;
18373 void* pNext;
18374 VkExtent3D tileSize;
18375 VkExtent2D apronSize;
18376 VkOffset2D origin;
18377} VkTilePropertiesQCOM;
18378
18379typedef VkResult (VKAPI_PTR *PFN_vkGetFramebufferTilePropertiesQCOM)(VkDevice device, VkFramebuffer framebuffer, uint32_t* pPropertiesCount, VkTilePropertiesQCOM* pProperties);
18380typedef VkResult (VKAPI_PTR *PFN_vkGetDynamicRenderingTilePropertiesQCOM)(VkDevice device, const VkRenderingInfo* pRenderingInfo, VkTilePropertiesQCOM* pProperties);
18381
18382#ifndef VK_NO_PROTOTYPES
18383VKAPI_ATTR VkResult VKAPI_CALL vkGetFramebufferTilePropertiesQCOM(
18384 VkDevice device,
18385 VkFramebuffer framebuffer,
18386 uint32_t* pPropertiesCount,
18387 VkTilePropertiesQCOM* pProperties);
18388
18389VKAPI_ATTR VkResult VKAPI_CALL vkGetDynamicRenderingTilePropertiesQCOM(
18390 VkDevice device,
18391 const VkRenderingInfo* pRenderingInfo,
18392 VkTilePropertiesQCOM* pProperties);
18393#endif
18394
18395
18396// VK_SEC_amigo_profiling is a preprocessor guard. Do not pass it to API calls.
18397#define VK_SEC_amigo_profiling 1
18398#define VK_SEC_AMIGO_PROFILING_SPEC_VERSION 1
18399#define VK_SEC_AMIGO_PROFILING_EXTENSION_NAME "VK_SEC_amigo_profiling"
18400typedef struct VkPhysicalDeviceAmigoProfilingFeaturesSEC {
18401 VkStructureType sType;
18402 void* pNext;
18403 VkBool32 amigoProfiling;
18404} VkPhysicalDeviceAmigoProfilingFeaturesSEC;
18405
18406typedef struct VkAmigoProfilingSubmitInfoSEC {
18407 VkStructureType sType;
18408 const void* pNext;
18409 uint64_t firstDrawTimestamp;
18410 uint64_t swapBufferTimestamp;
18411} VkAmigoProfilingSubmitInfoSEC;
18412
18413
18414
18415// VK_QCOM_multiview_per_view_viewports is a preprocessor guard. Do not pass it to API calls.
18416#define VK_QCOM_multiview_per_view_viewports 1
18417#define VK_QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_SPEC_VERSION 1
18418#define VK_QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_EXTENSION_NAME "VK_QCOM_multiview_per_view_viewports"
18419typedef struct VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM {
18420 VkStructureType sType;
18421 void* pNext;
18422 VkBool32 multiviewPerViewViewports;
18423} VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM;
18424
18425
18426
18427// VK_NV_ray_tracing_invocation_reorder is a preprocessor guard. Do not pass it to API calls.
18428#define VK_NV_ray_tracing_invocation_reorder 1
18429#define VK_NV_RAY_TRACING_INVOCATION_REORDER_SPEC_VERSION 1
18430#define VK_NV_RAY_TRACING_INVOCATION_REORDER_EXTENSION_NAME "VK_NV_ray_tracing_invocation_reorder"
18431
18432typedef enum VkRayTracingInvocationReorderModeNV {
18433 VK_RAY_TRACING_INVOCATION_REORDER_MODE_NONE_NV = 0,
18434 VK_RAY_TRACING_INVOCATION_REORDER_MODE_REORDER_NV = 1,
18435 VK_RAY_TRACING_INVOCATION_REORDER_MODE_MAX_ENUM_NV = 0x7FFFFFFF
18436} VkRayTracingInvocationReorderModeNV;
18437typedef struct VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV {
18438 VkStructureType sType;
18439 void* pNext;
18440 VkRayTracingInvocationReorderModeNV rayTracingInvocationReorderReorderingHint;
18441} VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV;
18442
18443typedef struct VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV {
18444 VkStructureType sType;
18445 void* pNext;
18446 VkBool32 rayTracingInvocationReorder;
18447} VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV;
18448
18449
18450
18451// VK_NV_extended_sparse_address_space is a preprocessor guard. Do not pass it to API calls.
18452#define VK_NV_extended_sparse_address_space 1
18453#define VK_NV_EXTENDED_SPARSE_ADDRESS_SPACE_SPEC_VERSION 1
18454#define VK_NV_EXTENDED_SPARSE_ADDRESS_SPACE_EXTENSION_NAME "VK_NV_extended_sparse_address_space"
18455typedef struct VkPhysicalDeviceExtendedSparseAddressSpaceFeaturesNV {
18456 VkStructureType sType;
18457 void* pNext;
18458 VkBool32 extendedSparseAddressSpace;
18459} VkPhysicalDeviceExtendedSparseAddressSpaceFeaturesNV;
18460
18461typedef struct VkPhysicalDeviceExtendedSparseAddressSpacePropertiesNV {
18462 VkStructureType sType;
18463 void* pNext;
18464 VkDeviceSize extendedSparseAddressSpaceSize;
18465 VkImageUsageFlags extendedSparseImageUsageFlags;
18466 VkBufferUsageFlags extendedSparseBufferUsageFlags;
18467} VkPhysicalDeviceExtendedSparseAddressSpacePropertiesNV;
18468
18469
18470
18471// VK_EXT_mutable_descriptor_type is a preprocessor guard. Do not pass it to API calls.
18472#define VK_EXT_mutable_descriptor_type 1
18473#define VK_EXT_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION 1
18474#define VK_EXT_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME "VK_EXT_mutable_descriptor_type"
18475
18476
18477// VK_EXT_layer_settings is a preprocessor guard. Do not pass it to API calls.
18478#define VK_EXT_layer_settings 1
18479#define VK_EXT_LAYER_SETTINGS_SPEC_VERSION 2
18480#define VK_EXT_LAYER_SETTINGS_EXTENSION_NAME "VK_EXT_layer_settings"
18481
18482typedef enum VkLayerSettingTypeEXT {
18483 VK_LAYER_SETTING_TYPE_BOOL32_EXT = 0,
18484 VK_LAYER_SETTING_TYPE_INT32_EXT = 1,
18485 VK_LAYER_SETTING_TYPE_INT64_EXT = 2,
18486 VK_LAYER_SETTING_TYPE_UINT32_EXT = 3,
18487 VK_LAYER_SETTING_TYPE_UINT64_EXT = 4,
18488 VK_LAYER_SETTING_TYPE_FLOAT32_EXT = 5,
18489 VK_LAYER_SETTING_TYPE_FLOAT64_EXT = 6,
18490 VK_LAYER_SETTING_TYPE_STRING_EXT = 7,
18491 VK_LAYER_SETTING_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
18492} VkLayerSettingTypeEXT;
18493typedef struct VkLayerSettingEXT {
18494 const char* pLayerName;
18495 const char* pSettingName;
18496 VkLayerSettingTypeEXT type;
18497 uint32_t valueCount;
18498 const void* pValues;
18499} VkLayerSettingEXT;
18500
18501typedef struct VkLayerSettingsCreateInfoEXT {
18502 VkStructureType sType;
18503 const void* pNext;
18504 uint32_t settingCount;
18505 const VkLayerSettingEXT* pSettings;
18506} VkLayerSettingsCreateInfoEXT;
18507
18508
18509
18510// VK_ARM_shader_core_builtins is a preprocessor guard. Do not pass it to API calls.
18511#define VK_ARM_shader_core_builtins 1
18512#define VK_ARM_SHADER_CORE_BUILTINS_SPEC_VERSION 2
18513#define VK_ARM_SHADER_CORE_BUILTINS_EXTENSION_NAME "VK_ARM_shader_core_builtins"
18514typedef struct VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM {
18515 VkStructureType sType;
18516 void* pNext;
18517 VkBool32 shaderCoreBuiltins;
18518} VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM;
18519
18520typedef struct VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM {
18521 VkStructureType sType;
18522 void* pNext;
18523 uint64_t shaderCoreMask;
18524 uint32_t shaderCoreCount;
18525 uint32_t shaderWarpsPerCore;
18526} VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM;
18527
18528
18529
18530// VK_EXT_pipeline_library_group_handles is a preprocessor guard. Do not pass it to API calls.
18531#define VK_EXT_pipeline_library_group_handles 1
18532#define VK_EXT_PIPELINE_LIBRARY_GROUP_HANDLES_SPEC_VERSION 1
18533#define VK_EXT_PIPELINE_LIBRARY_GROUP_HANDLES_EXTENSION_NAME "VK_EXT_pipeline_library_group_handles"
18534typedef struct VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT {
18535 VkStructureType sType;
18536 void* pNext;
18537 VkBool32 pipelineLibraryGroupHandles;
18538} VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT;
18539
18540
18541
18542// VK_EXT_dynamic_rendering_unused_attachments is a preprocessor guard. Do not pass it to API calls.
18543#define VK_EXT_dynamic_rendering_unused_attachments 1
18544#define VK_EXT_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_SPEC_VERSION 1
18545#define VK_EXT_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_EXTENSION_NAME "VK_EXT_dynamic_rendering_unused_attachments"
18546typedef struct VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT {
18547 VkStructureType sType;
18548 void* pNext;
18549 VkBool32 dynamicRenderingUnusedAttachments;
18550} VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT;
18551
18552
18553
18554// VK_NV_low_latency2 is a preprocessor guard. Do not pass it to API calls.
18555#define VK_NV_low_latency2 1
18556#define VK_NV_LOW_LATENCY_2_SPEC_VERSION 2
18557#define VK_NV_LOW_LATENCY_2_EXTENSION_NAME "VK_NV_low_latency2"
18558
18559typedef enum VkLatencyMarkerNV {
18560 VK_LATENCY_MARKER_SIMULATION_START_NV = 0,
18561 VK_LATENCY_MARKER_SIMULATION_END_NV = 1,
18562 VK_LATENCY_MARKER_RENDERSUBMIT_START_NV = 2,
18563 VK_LATENCY_MARKER_RENDERSUBMIT_END_NV = 3,
18564 VK_LATENCY_MARKER_PRESENT_START_NV = 4,
18565 VK_LATENCY_MARKER_PRESENT_END_NV = 5,
18566 VK_LATENCY_MARKER_INPUT_SAMPLE_NV = 6,
18567 VK_LATENCY_MARKER_TRIGGER_FLASH_NV = 7,
18568 VK_LATENCY_MARKER_OUT_OF_BAND_RENDERSUBMIT_START_NV = 8,
18569 VK_LATENCY_MARKER_OUT_OF_BAND_RENDERSUBMIT_END_NV = 9,
18570 VK_LATENCY_MARKER_OUT_OF_BAND_PRESENT_START_NV = 10,
18571 VK_LATENCY_MARKER_OUT_OF_BAND_PRESENT_END_NV = 11,
18572 VK_LATENCY_MARKER_MAX_ENUM_NV = 0x7FFFFFFF
18573} VkLatencyMarkerNV;
18574
18575typedef enum VkOutOfBandQueueTypeNV {
18576 VK_OUT_OF_BAND_QUEUE_TYPE_RENDER_NV = 0,
18577 VK_OUT_OF_BAND_QUEUE_TYPE_PRESENT_NV = 1,
18578 VK_OUT_OF_BAND_QUEUE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
18579} VkOutOfBandQueueTypeNV;
18580typedef struct VkLatencySleepModeInfoNV {
18581 VkStructureType sType;
18582 const void* pNext;
18583 VkBool32 lowLatencyMode;
18584 VkBool32 lowLatencyBoost;
18585 uint32_t minimumIntervalUs;
18586} VkLatencySleepModeInfoNV;
18587
18588typedef struct VkLatencySleepInfoNV {
18589 VkStructureType sType;
18590 const void* pNext;
18591 VkSemaphore signalSemaphore;
18592 uint64_t value;
18593} VkLatencySleepInfoNV;
18594
18595typedef struct VkSetLatencyMarkerInfoNV {
18596 VkStructureType sType;
18597 const void* pNext;
18598 uint64_t presentID;
18599 VkLatencyMarkerNV marker;
18600} VkSetLatencyMarkerInfoNV;
18601
18602typedef struct VkLatencyTimingsFrameReportNV {
18603 VkStructureType sType;
18604 const void* pNext;
18605 uint64_t presentID;
18606 uint64_t inputSampleTimeUs;
18607 uint64_t simStartTimeUs;
18608 uint64_t simEndTimeUs;
18609 uint64_t renderSubmitStartTimeUs;
18610 uint64_t renderSubmitEndTimeUs;
18611 uint64_t presentStartTimeUs;
18612 uint64_t presentEndTimeUs;
18613 uint64_t driverStartTimeUs;
18614 uint64_t driverEndTimeUs;
18615 uint64_t osRenderQueueStartTimeUs;
18616 uint64_t osRenderQueueEndTimeUs;
18617 uint64_t gpuRenderStartTimeUs;
18618 uint64_t gpuRenderEndTimeUs;
18619} VkLatencyTimingsFrameReportNV;
18620
18621typedef struct VkGetLatencyMarkerInfoNV {
18622 VkStructureType sType;
18623 const void* pNext;
18624 uint32_t timingCount;
18625 VkLatencyTimingsFrameReportNV* pTimings;
18626} VkGetLatencyMarkerInfoNV;
18627
18628typedef struct VkLatencySubmissionPresentIdNV {
18629 VkStructureType sType;
18630 const void* pNext;
18631 uint64_t presentID;
18632} VkLatencySubmissionPresentIdNV;
18633
18634typedef struct VkSwapchainLatencyCreateInfoNV {
18635 VkStructureType sType;
18636 const void* pNext;
18637 VkBool32 latencyModeEnable;
18638} VkSwapchainLatencyCreateInfoNV;
18639
18640typedef struct VkOutOfBandQueueTypeInfoNV {
18641 VkStructureType sType;
18642 const void* pNext;
18643 VkOutOfBandQueueTypeNV queueType;
18644} VkOutOfBandQueueTypeInfoNV;
18645
18646typedef struct VkLatencySurfaceCapabilitiesNV {
18647 VkStructureType sType;
18648 const void* pNext;
18649 uint32_t presentModeCount;
18650 VkPresentModeKHR* pPresentModes;
18651} VkLatencySurfaceCapabilitiesNV;
18652
18653typedef VkResult (VKAPI_PTR *PFN_vkSetLatencySleepModeNV)(VkDevice device, VkSwapchainKHR swapchain, const VkLatencySleepModeInfoNV* pSleepModeInfo);
18654typedef VkResult (VKAPI_PTR *PFN_vkLatencySleepNV)(VkDevice device, VkSwapchainKHR swapchain, const VkLatencySleepInfoNV* pSleepInfo);
18655typedef void (VKAPI_PTR *PFN_vkSetLatencyMarkerNV)(VkDevice device, VkSwapchainKHR swapchain, const VkSetLatencyMarkerInfoNV* pLatencyMarkerInfo);
18656typedef void (VKAPI_PTR *PFN_vkGetLatencyTimingsNV)(VkDevice device, VkSwapchainKHR swapchain, VkGetLatencyMarkerInfoNV* pLatencyMarkerInfo);
18657typedef void (VKAPI_PTR *PFN_vkQueueNotifyOutOfBandNV)(VkQueue queue, const VkOutOfBandQueueTypeInfoNV* pQueueTypeInfo);
18658
18659#ifndef VK_NO_PROTOTYPES
18660VKAPI_ATTR VkResult VKAPI_CALL vkSetLatencySleepModeNV(
18661 VkDevice device,
18662 VkSwapchainKHR swapchain,
18663 const VkLatencySleepModeInfoNV* pSleepModeInfo);
18664
18665VKAPI_ATTR VkResult VKAPI_CALL vkLatencySleepNV(
18666 VkDevice device,
18667 VkSwapchainKHR swapchain,
18668 const VkLatencySleepInfoNV* pSleepInfo);
18669
18670VKAPI_ATTR void VKAPI_CALL vkSetLatencyMarkerNV(
18671 VkDevice device,
18672 VkSwapchainKHR swapchain,
18673 const VkSetLatencyMarkerInfoNV* pLatencyMarkerInfo);
18674
18675VKAPI_ATTR void VKAPI_CALL vkGetLatencyTimingsNV(
18676 VkDevice device,
18677 VkSwapchainKHR swapchain,
18678 VkGetLatencyMarkerInfoNV* pLatencyMarkerInfo);
18679
18680VKAPI_ATTR void VKAPI_CALL vkQueueNotifyOutOfBandNV(
18681 VkQueue queue,
18682 const VkOutOfBandQueueTypeInfoNV* pQueueTypeInfo);
18683#endif
18684
18685
18686// VK_QCOM_multiview_per_view_render_areas is a preprocessor guard. Do not pass it to API calls.
18687#define VK_QCOM_multiview_per_view_render_areas 1
18688#define VK_QCOM_MULTIVIEW_PER_VIEW_RENDER_AREAS_SPEC_VERSION 1
18689#define VK_QCOM_MULTIVIEW_PER_VIEW_RENDER_AREAS_EXTENSION_NAME "VK_QCOM_multiview_per_view_render_areas"
18690typedef struct VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM {
18691 VkStructureType sType;
18692 void* pNext;
18693 VkBool32 multiviewPerViewRenderAreas;
18694} VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM;
18695
18696typedef struct VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM {
18697 VkStructureType sType;
18698 const void* pNext;
18699 uint32_t perViewRenderAreaCount;
18700 const VkRect2D* pPerViewRenderAreas;
18701} VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM;
18702
18703
18704
18705// VK_NV_per_stage_descriptor_set is a preprocessor guard. Do not pass it to API calls.
18706#define VK_NV_per_stage_descriptor_set 1
18707#define VK_NV_PER_STAGE_DESCRIPTOR_SET_SPEC_VERSION 1
18708#define VK_NV_PER_STAGE_DESCRIPTOR_SET_EXTENSION_NAME "VK_NV_per_stage_descriptor_set"
18709typedef struct VkPhysicalDevicePerStageDescriptorSetFeaturesNV {
18710 VkStructureType sType;
18711 void* pNext;
18712 VkBool32 perStageDescriptorSet;
18713 VkBool32 dynamicPipelineLayout;
18714} VkPhysicalDevicePerStageDescriptorSetFeaturesNV;
18715
18716
18717
18718// VK_QCOM_image_processing2 is a preprocessor guard. Do not pass it to API calls.
18719#define VK_QCOM_image_processing2 1
18720#define VK_QCOM_IMAGE_PROCESSING_2_SPEC_VERSION 1
18721#define VK_QCOM_IMAGE_PROCESSING_2_EXTENSION_NAME "VK_QCOM_image_processing2"
18722
18723typedef enum VkBlockMatchWindowCompareModeQCOM {
18724 VK_BLOCK_MATCH_WINDOW_COMPARE_MODE_MIN_QCOM = 0,
18725 VK_BLOCK_MATCH_WINDOW_COMPARE_MODE_MAX_QCOM = 1,
18726 VK_BLOCK_MATCH_WINDOW_COMPARE_MODE_MAX_ENUM_QCOM = 0x7FFFFFFF
18727} VkBlockMatchWindowCompareModeQCOM;
18728typedef struct VkPhysicalDeviceImageProcessing2FeaturesQCOM {
18729 VkStructureType sType;
18730 void* pNext;
18731 VkBool32 textureBlockMatch2;
18732} VkPhysicalDeviceImageProcessing2FeaturesQCOM;
18733
18734typedef struct VkPhysicalDeviceImageProcessing2PropertiesQCOM {
18735 VkStructureType sType;
18736 void* pNext;
18737 VkExtent2D maxBlockMatchWindow;
18738} VkPhysicalDeviceImageProcessing2PropertiesQCOM;
18739
18740typedef struct VkSamplerBlockMatchWindowCreateInfoQCOM {
18741 VkStructureType sType;
18742 const void* pNext;
18743 VkExtent2D windowExtent;
18744 VkBlockMatchWindowCompareModeQCOM windowCompareMode;
18745} VkSamplerBlockMatchWindowCreateInfoQCOM;
18746
18747
18748
18749// VK_QCOM_filter_cubic_weights is a preprocessor guard. Do not pass it to API calls.
18750#define VK_QCOM_filter_cubic_weights 1
18751#define VK_QCOM_FILTER_CUBIC_WEIGHTS_SPEC_VERSION 1
18752#define VK_QCOM_FILTER_CUBIC_WEIGHTS_EXTENSION_NAME "VK_QCOM_filter_cubic_weights"
18753
18754typedef enum VkCubicFilterWeightsQCOM {
18755 VK_CUBIC_FILTER_WEIGHTS_CATMULL_ROM_QCOM = 0,
18756 VK_CUBIC_FILTER_WEIGHTS_ZERO_TANGENT_CARDINAL_QCOM = 1,
18757 VK_CUBIC_FILTER_WEIGHTS_B_SPLINE_QCOM = 2,
18758 VK_CUBIC_FILTER_WEIGHTS_MITCHELL_NETRAVALI_QCOM = 3,
18759 VK_CUBIC_FILTER_WEIGHTS_MAX_ENUM_QCOM = 0x7FFFFFFF
18760} VkCubicFilterWeightsQCOM;
18761typedef struct VkPhysicalDeviceCubicWeightsFeaturesQCOM {
18762 VkStructureType sType;
18763 void* pNext;
18764 VkBool32 selectableCubicWeights;
18765} VkPhysicalDeviceCubicWeightsFeaturesQCOM;
18766
18767typedef struct VkSamplerCubicWeightsCreateInfoQCOM {
18768 VkStructureType sType;
18769 const void* pNext;
18770 VkCubicFilterWeightsQCOM cubicWeights;
18771} VkSamplerCubicWeightsCreateInfoQCOM;
18772
18773typedef struct VkBlitImageCubicWeightsInfoQCOM {
18774 VkStructureType sType;
18775 const void* pNext;
18776 VkCubicFilterWeightsQCOM cubicWeights;
18777} VkBlitImageCubicWeightsInfoQCOM;
18778
18779
18780
18781// VK_QCOM_ycbcr_degamma is a preprocessor guard. Do not pass it to API calls.
18782#define VK_QCOM_ycbcr_degamma 1
18783#define VK_QCOM_YCBCR_DEGAMMA_SPEC_VERSION 1
18784#define VK_QCOM_YCBCR_DEGAMMA_EXTENSION_NAME "VK_QCOM_ycbcr_degamma"
18785typedef struct VkPhysicalDeviceYcbcrDegammaFeaturesQCOM {
18786 VkStructureType sType;
18787 void* pNext;
18788 VkBool32 ycbcrDegamma;
18789} VkPhysicalDeviceYcbcrDegammaFeaturesQCOM;
18790
18791typedef struct VkSamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM {
18792 VkStructureType sType;
18793 void* pNext;
18794 VkBool32 enableYDegamma;
18795 VkBool32 enableCbCrDegamma;
18796} VkSamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM;
18797
18798
18799
18800// VK_QCOM_filter_cubic_clamp is a preprocessor guard. Do not pass it to API calls.
18801#define VK_QCOM_filter_cubic_clamp 1
18802#define VK_QCOM_FILTER_CUBIC_CLAMP_SPEC_VERSION 1
18803#define VK_QCOM_FILTER_CUBIC_CLAMP_EXTENSION_NAME "VK_QCOM_filter_cubic_clamp"
18804typedef struct VkPhysicalDeviceCubicClampFeaturesQCOM {
18805 VkStructureType sType;
18806 void* pNext;
18807 VkBool32 cubicRangeClamp;
18808} VkPhysicalDeviceCubicClampFeaturesQCOM;
18809
18810
18811
18812// VK_EXT_attachment_feedback_loop_dynamic_state is a preprocessor guard. Do not pass it to API calls.
18813#define VK_EXT_attachment_feedback_loop_dynamic_state 1
18814#define VK_EXT_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_SPEC_VERSION 1
18815#define VK_EXT_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_attachment_feedback_loop_dynamic_state"
18816typedef struct VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT {
18817 VkStructureType sType;
18818 void* pNext;
18819 VkBool32 attachmentFeedbackLoopDynamicState;
18820} VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT;
18821
18822typedef void (VKAPI_PTR *PFN_vkCmdSetAttachmentFeedbackLoopEnableEXT)(VkCommandBuffer commandBuffer, VkImageAspectFlags aspectMask);
18823
18824#ifndef VK_NO_PROTOTYPES
18825VKAPI_ATTR void VKAPI_CALL vkCmdSetAttachmentFeedbackLoopEnableEXT(
18826 VkCommandBuffer commandBuffer,
18827 VkImageAspectFlags aspectMask);
18828#endif
18829
18830
18831// VK_MSFT_layered_driver is a preprocessor guard. Do not pass it to API calls.
18832#define VK_MSFT_layered_driver 1
18833#define VK_MSFT_LAYERED_DRIVER_SPEC_VERSION 1
18834#define VK_MSFT_LAYERED_DRIVER_EXTENSION_NAME "VK_MSFT_layered_driver"
18835
18836typedef enum VkLayeredDriverUnderlyingApiMSFT {
18837 VK_LAYERED_DRIVER_UNDERLYING_API_NONE_MSFT = 0,
18838 VK_LAYERED_DRIVER_UNDERLYING_API_D3D12_MSFT = 1,
18839 VK_LAYERED_DRIVER_UNDERLYING_API_MAX_ENUM_MSFT = 0x7FFFFFFF
18840} VkLayeredDriverUnderlyingApiMSFT;
18841typedef struct VkPhysicalDeviceLayeredDriverPropertiesMSFT {
18842 VkStructureType sType;
18843 void* pNext;
18844 VkLayeredDriverUnderlyingApiMSFT underlyingAPI;
18845} VkPhysicalDeviceLayeredDriverPropertiesMSFT;
18846
18847
18848
18849// VK_NV_descriptor_pool_overallocation is a preprocessor guard. Do not pass it to API calls.
18850#define VK_NV_descriptor_pool_overallocation 1
18851#define VK_NV_DESCRIPTOR_POOL_OVERALLOCATION_SPEC_VERSION 1
18852#define VK_NV_DESCRIPTOR_POOL_OVERALLOCATION_EXTENSION_NAME "VK_NV_descriptor_pool_overallocation"
18853typedef struct VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV {
18854 VkStructureType sType;
18855 void* pNext;
18856 VkBool32 descriptorPoolOverallocation;
18857} VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV;
18858
18859
18860
18861// VK_KHR_acceleration_structure is a preprocessor guard. Do not pass it to API calls.
18862#define VK_KHR_acceleration_structure 1
18863#define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 13
18864#define VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME "VK_KHR_acceleration_structure"
18865
18866typedef enum VkBuildAccelerationStructureModeKHR {
18867 VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR = 0,
18868 VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR = 1,
18869 VK_BUILD_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
18870} VkBuildAccelerationStructureModeKHR;
18871
18872typedef enum VkAccelerationStructureCreateFlagBitsKHR {
18873 VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = 0x00000001,
18874 VK_ACCELERATION_STRUCTURE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000008,
18875 VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV = 0x00000004,
18876 VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
18877} VkAccelerationStructureCreateFlagBitsKHR;
18878typedef VkFlags VkAccelerationStructureCreateFlagsKHR;
18879typedef struct VkAccelerationStructureBuildRangeInfoKHR {
18880 uint32_t primitiveCount;
18881 uint32_t primitiveOffset;
18882 uint32_t firstVertex;
18883 uint32_t transformOffset;
18884} VkAccelerationStructureBuildRangeInfoKHR;
18885
18886typedef struct VkAccelerationStructureGeometryTrianglesDataKHR {
18887 VkStructureType sType;
18888 const void* pNext;
18889 VkFormat vertexFormat;
18890 VkDeviceOrHostAddressConstKHR vertexData;
18891 VkDeviceSize vertexStride;
18892 uint32_t maxVertex;
18893 VkIndexType indexType;
18894 VkDeviceOrHostAddressConstKHR indexData;
18895 VkDeviceOrHostAddressConstKHR transformData;
18896} VkAccelerationStructureGeometryTrianglesDataKHR;
18897
18898typedef struct VkAccelerationStructureGeometryAabbsDataKHR {
18899 VkStructureType sType;
18900 const void* pNext;
18901 VkDeviceOrHostAddressConstKHR data;
18902 VkDeviceSize stride;
18903} VkAccelerationStructureGeometryAabbsDataKHR;
18904
18905typedef struct VkAccelerationStructureGeometryInstancesDataKHR {
18906 VkStructureType sType;
18907 const void* pNext;
18908 VkBool32 arrayOfPointers;
18909 VkDeviceOrHostAddressConstKHR data;
18910} VkAccelerationStructureGeometryInstancesDataKHR;
18911
18912typedef union VkAccelerationStructureGeometryDataKHR {
18913 VkAccelerationStructureGeometryTrianglesDataKHR triangles;
18914 VkAccelerationStructureGeometryAabbsDataKHR aabbs;
18915 VkAccelerationStructureGeometryInstancesDataKHR instances;
18916} VkAccelerationStructureGeometryDataKHR;
18917
18918typedef struct VkAccelerationStructureGeometryKHR {
18919 VkStructureType sType;
18920 const void* pNext;
18921 VkGeometryTypeKHR geometryType;
18922 VkAccelerationStructureGeometryDataKHR geometry;
18923 VkGeometryFlagsKHR flags;
18924} VkAccelerationStructureGeometryKHR;
18925
18926typedef struct VkAccelerationStructureBuildGeometryInfoKHR {
18927 VkStructureType sType;
18928 const void* pNext;
18929 VkAccelerationStructureTypeKHR type;
18930 VkBuildAccelerationStructureFlagsKHR flags;
18931 VkBuildAccelerationStructureModeKHR mode;
18932 VkAccelerationStructureKHR srcAccelerationStructure;
18933 VkAccelerationStructureKHR dstAccelerationStructure;
18934 uint32_t geometryCount;
18935 const VkAccelerationStructureGeometryKHR* pGeometries;
18936 const VkAccelerationStructureGeometryKHR* const* ppGeometries;
18937 VkDeviceOrHostAddressKHR scratchData;
18938} VkAccelerationStructureBuildGeometryInfoKHR;
18939
18940typedef struct VkAccelerationStructureCreateInfoKHR {
18941 VkStructureType sType;
18942 const void* pNext;
18943 VkAccelerationStructureCreateFlagsKHR createFlags;
18944 VkBuffer buffer;
18945 VkDeviceSize offset;
18946 VkDeviceSize size;
18947 VkAccelerationStructureTypeKHR type;
18948 VkDeviceAddress deviceAddress;
18949} VkAccelerationStructureCreateInfoKHR;
18950
18951typedef struct VkWriteDescriptorSetAccelerationStructureKHR {
18952 VkStructureType sType;
18953 const void* pNext;
18954 uint32_t accelerationStructureCount;
18955 const VkAccelerationStructureKHR* pAccelerationStructures;
18956} VkWriteDescriptorSetAccelerationStructureKHR;
18957
18958typedef struct VkPhysicalDeviceAccelerationStructureFeaturesKHR {
18959 VkStructureType sType;
18960 void* pNext;
18961 VkBool32 accelerationStructure;
18962 VkBool32 accelerationStructureCaptureReplay;
18963 VkBool32 accelerationStructureIndirectBuild;
18964 VkBool32 accelerationStructureHostCommands;
18965 VkBool32 descriptorBindingAccelerationStructureUpdateAfterBind;
18966} VkPhysicalDeviceAccelerationStructureFeaturesKHR;
18967
18968typedef struct VkPhysicalDeviceAccelerationStructurePropertiesKHR {
18969 VkStructureType sType;
18970 void* pNext;
18971 uint64_t maxGeometryCount;
18972 uint64_t maxInstanceCount;
18973 uint64_t maxPrimitiveCount;
18974 uint32_t maxPerStageDescriptorAccelerationStructures;
18975 uint32_t maxPerStageDescriptorUpdateAfterBindAccelerationStructures;
18976 uint32_t maxDescriptorSetAccelerationStructures;
18977 uint32_t maxDescriptorSetUpdateAfterBindAccelerationStructures;
18978 uint32_t minAccelerationStructureScratchOffsetAlignment;
18979} VkPhysicalDeviceAccelerationStructurePropertiesKHR;
18980
18981typedef struct VkAccelerationStructureDeviceAddressInfoKHR {
18982 VkStructureType sType;
18983 const void* pNext;
18984 VkAccelerationStructureKHR accelerationStructure;
18985} VkAccelerationStructureDeviceAddressInfoKHR;
18986
18987typedef struct VkAccelerationStructureVersionInfoKHR {
18988 VkStructureType sType;
18989 const void* pNext;
18990 const uint8_t* pVersionData;
18991} VkAccelerationStructureVersionInfoKHR;
18992
18993typedef struct VkCopyAccelerationStructureToMemoryInfoKHR {
18994 VkStructureType sType;
18995 const void* pNext;
18996 VkAccelerationStructureKHR src;
18997 VkDeviceOrHostAddressKHR dst;
18998 VkCopyAccelerationStructureModeKHR mode;
18999} VkCopyAccelerationStructureToMemoryInfoKHR;
19000
19001typedef struct VkCopyMemoryToAccelerationStructureInfoKHR {
19002 VkStructureType sType;
19003 const void* pNext;
19004 VkDeviceOrHostAddressConstKHR src;
19005 VkAccelerationStructureKHR dst;
19006 VkCopyAccelerationStructureModeKHR mode;
19007} VkCopyMemoryToAccelerationStructureInfoKHR;
19008
19009typedef struct VkCopyAccelerationStructureInfoKHR {
19010 VkStructureType sType;
19011 const void* pNext;
19012 VkAccelerationStructureKHR src;
19013 VkAccelerationStructureKHR dst;
19014 VkCopyAccelerationStructureModeKHR mode;
19015} VkCopyAccelerationStructureInfoKHR;
19016
19017typedef struct VkAccelerationStructureBuildSizesInfoKHR {
19018 VkStructureType sType;
19019 const void* pNext;
19020 VkDeviceSize accelerationStructureSize;
19021 VkDeviceSize updateScratchSize;
19022 VkDeviceSize buildScratchSize;
19023} VkAccelerationStructureBuildSizesInfoKHR;
19024
19025typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureKHR)(VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure);
19026typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureKHR)(VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator);
19027typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructuresKHR)(VkCommandBuffer commandBuffer, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
19028typedef 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);
19029typedef VkResult (VKAPI_PTR *PFN_vkBuildAccelerationStructuresKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
19030typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureInfoKHR* pInfo);
19031typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureToMemoryKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
19032typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
19033typedef VkResult (VKAPI_PTR *PFN_vkWriteAccelerationStructuresPropertiesKHR)(VkDevice device, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, size_t dataSize, void* pData, size_t stride);
19034typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureInfoKHR* pInfo);
19035typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureToMemoryKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
19036typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
19037typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetAccelerationStructureDeviceAddressKHR)(VkDevice device, const VkAccelerationStructureDeviceAddressInfoKHR* pInfo);
19038typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesKHR)(VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery);
19039typedef void (VKAPI_PTR *PFN_vkGetDeviceAccelerationStructureCompatibilityKHR)(VkDevice device, const VkAccelerationStructureVersionInfoKHR* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility);
19040typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureBuildSizesKHR)(VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo, const uint32_t* pMaxPrimitiveCounts, VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo);
19041
19042#ifndef VK_NO_PROTOTYPES
19043VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureKHR(
19044 VkDevice device,
19045 const VkAccelerationStructureCreateInfoKHR* pCreateInfo,
19046 const VkAllocationCallbacks* pAllocator,
19047 VkAccelerationStructureKHR* pAccelerationStructure);
19048
19049VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureKHR(
19050 VkDevice device,
19051 VkAccelerationStructureKHR accelerationStructure,
19052 const VkAllocationCallbacks* pAllocator);
19053
19054VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresKHR(
19055 VkCommandBuffer commandBuffer,
19056 uint32_t infoCount,
19057 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
19058 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
19059
19060VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresIndirectKHR(
19061 VkCommandBuffer commandBuffer,
19062 uint32_t infoCount,
19063 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
19064 const VkDeviceAddress* pIndirectDeviceAddresses,
19065 const uint32_t* pIndirectStrides,
19066 const uint32_t* const* ppMaxPrimitiveCounts);
19067
19068VKAPI_ATTR VkResult VKAPI_CALL vkBuildAccelerationStructuresKHR(
19069 VkDevice device,
19070 VkDeferredOperationKHR deferredOperation,
19071 uint32_t infoCount,
19072 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
19073 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
19074
19075VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureKHR(
19076 VkDevice device,
19077 VkDeferredOperationKHR deferredOperation,
19078 const VkCopyAccelerationStructureInfoKHR* pInfo);
19079
19080VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureToMemoryKHR(
19081 VkDevice device,
19082 VkDeferredOperationKHR deferredOperation,
19083 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
19084
19085VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToAccelerationStructureKHR(
19086 VkDevice device,
19087 VkDeferredOperationKHR deferredOperation,
19088 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
19089
19090VKAPI_ATTR VkResult VKAPI_CALL vkWriteAccelerationStructuresPropertiesKHR(
19091 VkDevice device,
19092 uint32_t accelerationStructureCount,
19093 const VkAccelerationStructureKHR* pAccelerationStructures,
19094 VkQueryType queryType,
19095 size_t dataSize,
19096 void* pData,
19097 size_t stride);
19098
19099VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureKHR(
19100 VkCommandBuffer commandBuffer,
19101 const VkCopyAccelerationStructureInfoKHR* pInfo);
19102
19103VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureToMemoryKHR(
19104 VkCommandBuffer commandBuffer,
19105 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
19106
19107VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToAccelerationStructureKHR(
19108 VkCommandBuffer commandBuffer,
19109 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
19110
19111VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetAccelerationStructureDeviceAddressKHR(
19112 VkDevice device,
19113 const VkAccelerationStructureDeviceAddressInfoKHR* pInfo);
19114
19115VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesKHR(
19116 VkCommandBuffer commandBuffer,
19117 uint32_t accelerationStructureCount,
19118 const VkAccelerationStructureKHR* pAccelerationStructures,
19119 VkQueryType queryType,
19120 VkQueryPool queryPool,
19121 uint32_t firstQuery);
19122
19123VKAPI_ATTR void VKAPI_CALL vkGetDeviceAccelerationStructureCompatibilityKHR(
19124 VkDevice device,
19125 const VkAccelerationStructureVersionInfoKHR* pVersionInfo,
19126 VkAccelerationStructureCompatibilityKHR* pCompatibility);
19127
19128VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureBuildSizesKHR(
19129 VkDevice device,
19130 VkAccelerationStructureBuildTypeKHR buildType,
19131 const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo,
19132 const uint32_t* pMaxPrimitiveCounts,
19133 VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo);
19134#endif
19135
19136
19137// VK_KHR_ray_tracing_pipeline is a preprocessor guard. Do not pass it to API calls.
19138#define VK_KHR_ray_tracing_pipeline 1
19139#define VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION 1
19140#define VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME "VK_KHR_ray_tracing_pipeline"
19141
19142typedef enum VkShaderGroupShaderKHR {
19143 VK_SHADER_GROUP_SHADER_GENERAL_KHR = 0,
19144 VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR = 1,
19145 VK_SHADER_GROUP_SHADER_ANY_HIT_KHR = 2,
19146 VK_SHADER_GROUP_SHADER_INTERSECTION_KHR = 3,
19147 VK_SHADER_GROUP_SHADER_MAX_ENUM_KHR = 0x7FFFFFFF
19148} VkShaderGroupShaderKHR;
19149typedef struct VkRayTracingShaderGroupCreateInfoKHR {
19150 VkStructureType sType;
19151 const void* pNext;
19152 VkRayTracingShaderGroupTypeKHR type;
19153 uint32_t generalShader;
19154 uint32_t closestHitShader;
19155 uint32_t anyHitShader;
19156 uint32_t intersectionShader;
19157 const void* pShaderGroupCaptureReplayHandle;
19158} VkRayTracingShaderGroupCreateInfoKHR;
19159
19160typedef struct VkRayTracingPipelineInterfaceCreateInfoKHR {
19161 VkStructureType sType;
19162 const void* pNext;
19163 uint32_t maxPipelineRayPayloadSize;
19164 uint32_t maxPipelineRayHitAttributeSize;
19165} VkRayTracingPipelineInterfaceCreateInfoKHR;
19166
19167typedef struct VkRayTracingPipelineCreateInfoKHR {
19168 VkStructureType sType;
19169 const void* pNext;
19170 VkPipelineCreateFlags flags;
19171 uint32_t stageCount;
19172 const VkPipelineShaderStageCreateInfo* pStages;
19173 uint32_t groupCount;
19174 const VkRayTracingShaderGroupCreateInfoKHR* pGroups;
19175 uint32_t maxPipelineRayRecursionDepth;
19176 const VkPipelineLibraryCreateInfoKHR* pLibraryInfo;
19177 const VkRayTracingPipelineInterfaceCreateInfoKHR* pLibraryInterface;
19178 const VkPipelineDynamicStateCreateInfo* pDynamicState;
19179 VkPipelineLayout layout;
19180 VkPipeline basePipelineHandle;
19181 int32_t basePipelineIndex;
19182} VkRayTracingPipelineCreateInfoKHR;
19183
19184typedef struct VkPhysicalDeviceRayTracingPipelineFeaturesKHR {
19185 VkStructureType sType;
19186 void* pNext;
19187 VkBool32 rayTracingPipeline;
19188 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplay;
19189 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplayMixed;
19190 VkBool32 rayTracingPipelineTraceRaysIndirect;
19191 VkBool32 rayTraversalPrimitiveCulling;
19192} VkPhysicalDeviceRayTracingPipelineFeaturesKHR;
19193
19194typedef struct VkPhysicalDeviceRayTracingPipelinePropertiesKHR {
19195 VkStructureType sType;
19196 void* pNext;
19197 uint32_t shaderGroupHandleSize;
19198 uint32_t maxRayRecursionDepth;
19199 uint32_t maxShaderGroupStride;
19200 uint32_t shaderGroupBaseAlignment;
19201 uint32_t shaderGroupHandleCaptureReplaySize;
19202 uint32_t maxRayDispatchInvocationCount;
19203 uint32_t shaderGroupHandleAlignment;
19204 uint32_t maxRayHitAttributeSize;
19205} VkPhysicalDeviceRayTracingPipelinePropertiesKHR;
19206
19207typedef struct VkStridedDeviceAddressRegionKHR {
19208 VkDeviceAddress deviceAddress;
19209 VkDeviceSize stride;
19210 VkDeviceSize size;
19211} VkStridedDeviceAddressRegionKHR;
19212
19213typedef struct VkTraceRaysIndirectCommandKHR {
19214 uint32_t width;
19215 uint32_t height;
19216 uint32_t depth;
19217} VkTraceRaysIndirectCommandKHR;
19218
19219typedef 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);
19220typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
19221typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData);
19222typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysIndirectKHR)(VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, VkDeviceAddress indirectDeviceAddress);
19223typedef VkDeviceSize (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupStackSizeKHR)(VkDevice device, VkPipeline pipeline, uint32_t group, VkShaderGroupShaderKHR groupShader);
19224typedef void (VKAPI_PTR *PFN_vkCmdSetRayTracingPipelineStackSizeKHR)(VkCommandBuffer commandBuffer, uint32_t pipelineStackSize);
19225
19226#ifndef VK_NO_PROTOTYPES
19227VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysKHR(
19228 VkCommandBuffer commandBuffer,
19229 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable,
19230 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable,
19231 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable,
19232 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable,
19233 uint32_t width,
19234 uint32_t height,
19235 uint32_t depth);
19236
19237VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesKHR(
19238 VkDevice device,
19239 VkDeferredOperationKHR deferredOperation,
19240 VkPipelineCache pipelineCache,
19241 uint32_t createInfoCount,
19242 const VkRayTracingPipelineCreateInfoKHR* pCreateInfos,
19243 const VkAllocationCallbacks* pAllocator,
19244 VkPipeline* pPipelines);
19245
19246VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
19247 VkDevice device,
19248 VkPipeline pipeline,
19249 uint32_t firstGroup,
19250 uint32_t groupCount,
19251 size_t dataSize,
19252 void* pData);
19253
19254VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysIndirectKHR(
19255 VkCommandBuffer commandBuffer,
19256 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable,
19257 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable,
19258 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable,
19259 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable,
19260 VkDeviceAddress indirectDeviceAddress);
19261
19262VKAPI_ATTR VkDeviceSize VKAPI_CALL vkGetRayTracingShaderGroupStackSizeKHR(
19263 VkDevice device,
19264 VkPipeline pipeline,
19265 uint32_t group,
19266 VkShaderGroupShaderKHR groupShader);
19267
19268VKAPI_ATTR void VKAPI_CALL vkCmdSetRayTracingPipelineStackSizeKHR(
19269 VkCommandBuffer commandBuffer,
19270 uint32_t pipelineStackSize);
19271#endif
19272
19273
19274// VK_KHR_ray_query is a preprocessor guard. Do not pass it to API calls.
19275#define VK_KHR_ray_query 1
19276#define VK_KHR_RAY_QUERY_SPEC_VERSION 1
19277#define VK_KHR_RAY_QUERY_EXTENSION_NAME "VK_KHR_ray_query"
19278typedef struct VkPhysicalDeviceRayQueryFeaturesKHR {
19279 VkStructureType sType;
19280 void* pNext;
19281 VkBool32 rayQuery;
19282} VkPhysicalDeviceRayQueryFeaturesKHR;
19283
19284
19285
19286// VK_EXT_mesh_shader is a preprocessor guard. Do not pass it to API calls.
19287#define VK_EXT_mesh_shader 1
19288#define VK_EXT_MESH_SHADER_SPEC_VERSION 1
19289#define VK_EXT_MESH_SHADER_EXTENSION_NAME "VK_EXT_mesh_shader"
19290typedef struct VkPhysicalDeviceMeshShaderFeaturesEXT {
19291 VkStructureType sType;
19292 void* pNext;
19293 VkBool32 taskShader;
19294 VkBool32 meshShader;
19295 VkBool32 multiviewMeshShader;
19296 VkBool32 primitiveFragmentShadingRateMeshShader;
19297 VkBool32 meshShaderQueries;
19298} VkPhysicalDeviceMeshShaderFeaturesEXT;
19299
19300typedef struct VkPhysicalDeviceMeshShaderPropertiesEXT {
19301 VkStructureType sType;
19302 void* pNext;
19303 uint32_t maxTaskWorkGroupTotalCount;
19304 uint32_t maxTaskWorkGroupCount[3];
19305 uint32_t maxTaskWorkGroupInvocations;
19306 uint32_t maxTaskWorkGroupSize[3];
19307 uint32_t maxTaskPayloadSize;
19308 uint32_t maxTaskSharedMemorySize;
19309 uint32_t maxTaskPayloadAndSharedMemorySize;
19310 uint32_t maxMeshWorkGroupTotalCount;
19311 uint32_t maxMeshWorkGroupCount[3];
19312 uint32_t maxMeshWorkGroupInvocations;
19313 uint32_t maxMeshWorkGroupSize[3];
19314 uint32_t maxMeshSharedMemorySize;
19315 uint32_t maxMeshPayloadAndSharedMemorySize;
19316 uint32_t maxMeshOutputMemorySize;
19317 uint32_t maxMeshPayloadAndOutputMemorySize;
19318 uint32_t maxMeshOutputComponents;
19319 uint32_t maxMeshOutputVertices;
19320 uint32_t maxMeshOutputPrimitives;
19321 uint32_t maxMeshOutputLayers;
19322 uint32_t maxMeshMultiviewViewCount;
19323 uint32_t meshOutputPerVertexGranularity;
19324 uint32_t meshOutputPerPrimitiveGranularity;
19325 uint32_t maxPreferredTaskWorkGroupInvocations;
19326 uint32_t maxPreferredMeshWorkGroupInvocations;
19327 VkBool32 prefersLocalInvocationVertexOutput;
19328 VkBool32 prefersLocalInvocationPrimitiveOutput;
19329 VkBool32 prefersCompactVertexOutput;
19330 VkBool32 prefersCompactPrimitiveOutput;
19331} VkPhysicalDeviceMeshShaderPropertiesEXT;
19332
19333typedef struct VkDrawMeshTasksIndirectCommandEXT {
19334 uint32_t groupCountX;
19335 uint32_t groupCountY;
19336 uint32_t groupCountZ;
19337} VkDrawMeshTasksIndirectCommandEXT;
19338
19339typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksEXT)(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ);
19340typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectEXT)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
19341typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectCountEXT)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
19342
19343#ifndef VK_NO_PROTOTYPES
19344VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksEXT(
19345 VkCommandBuffer commandBuffer,
19346 uint32_t groupCountX,
19347 uint32_t groupCountY,
19348 uint32_t groupCountZ);
19349
19350VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectEXT(
19351 VkCommandBuffer commandBuffer,
19352 VkBuffer buffer,
19353 VkDeviceSize offset,
19354 uint32_t drawCount,
19355 uint32_t stride);
19356
19357VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectCountEXT(
19358 VkCommandBuffer commandBuffer,
19359 VkBuffer buffer,
19360 VkDeviceSize offset,
19361 VkBuffer countBuffer,
19362 VkDeviceSize countBufferOffset,
19363 uint32_t maxDrawCount,
19364 uint32_t stride);
19365#endif
19366
19367#ifdef __cplusplus
19368}
19369#endif
19370
19371#endif
19372

source code of include/vulkan/vulkan_core.h