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