comparison fuhtark_test/Vulkan-Headers-1.4.334/include/vulkan/vulkan_core.h @ 1501:f40d9d814c08 default tip

did: correct vulkan-api generator
author sam <sam@basx.dev>
date Wed, 26 Nov 2025 23:34:29 +0700
parents
children
comparison
equal deleted inserted replaced
1500:91c8c3b7cbf0 1501:f40d9d814c08
1 #ifndef VULKAN_CORE_H_
2 #define VULKAN_CORE_H_ 1
3
4 /*
5 ** Copyright 2015-2025 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
17 extern "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
66 //#define VK_API_VERSION VK_MAKE_API_VERSION(0, 1, 0, 0) // Patch version should always be set to 0
67
68 // Version of this file
69 #define VK_HEADER_VERSION 334
70
71 // Complete version of this file
72 #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 4, VK_HEADER_VERSION)
73
74
75 #define VK_MAKE_VERSION(major, minor, patch) \
76 ((((uint32_t)(major)) << 22U) | (((uint32_t)(minor)) << 12U) | ((uint32_t)(patch)))
77
78
79 #define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22U)
80
81
82 #define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12U) & 0x3FFU)
83
84
85 #define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU)
86
87 #define VK_API_VERSION_VARIANT(version) ((uint32_t)(version) >> 29U)
88 #define VK_API_VERSION_MAJOR(version) (((uint32_t)(version) >> 22U) & 0x7FU)
89 #define VK_API_VERSION_MINOR(version) (((uint32_t)(version) >> 12U) & 0x3FFU)
90 #define VK_API_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU)
91 // Vulkan 1.0 version number
92 #define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0
93
94 typedef uint32_t VkBool32;
95 typedef uint64_t VkDeviceAddress;
96 typedef uint64_t VkDeviceSize;
97 typedef uint32_t VkFlags;
98 typedef uint32_t VkSampleMask;
99 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer)
100 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage)
101 VK_DEFINE_HANDLE(VkInstance)
102 VK_DEFINE_HANDLE(VkPhysicalDevice)
103 VK_DEFINE_HANDLE(VkDevice)
104 VK_DEFINE_HANDLE(VkQueue)
105 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphore)
106 VK_DEFINE_HANDLE(VkCommandBuffer)
107 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFence)
108 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeviceMemory)
109 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkQueryPool)
110 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImageView)
111 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool)
112 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass)
113 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer)
114 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkEvent)
115 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferView)
116 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderModule)
117 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache)
118 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineLayout)
119 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipeline)
120 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout)
121 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSampler)
122 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSet)
123 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool)
124 #define VK_FALSE 0U
125 #define VK_LOD_CLAMP_NONE 1000.0F
126 #define VK_QUEUE_FAMILY_IGNORED (~0U)
127 #define VK_REMAINING_ARRAY_LAYERS (~0U)
128 #define VK_REMAINING_MIP_LEVELS (~0U)
129 #define VK_TRUE 1U
130 #define VK_WHOLE_SIZE (~0ULL)
131 #define VK_MAX_MEMORY_TYPES 32U
132 #define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE 256U
133 #define VK_UUID_SIZE 16U
134 #define VK_MAX_EXTENSION_NAME_SIZE 256U
135 #define VK_MAX_DESCRIPTION_SIZE 256U
136 #define VK_MAX_MEMORY_HEAPS 16U
137 #define VK_ATTACHMENT_UNUSED (~0U)
138 #define VK_SUBPASS_EXTERNAL (~0U)
139
140 typedef 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_VALIDATION_FAILED = -1000011001,
161 VK_ERROR_OUT_OF_POOL_MEMORY = -1000069000,
162 VK_ERROR_INVALID_EXTERNAL_HANDLE = -1000072003,
163 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS = -1000257000,
164 VK_ERROR_FRAGMENTATION = -1000161000,
165 VK_PIPELINE_COMPILE_REQUIRED = 1000297000,
166 VK_ERROR_NOT_PERMITTED = -1000174001,
167 VK_ERROR_SURFACE_LOST_KHR = -1000000000,
168 VK_ERROR_NATIVE_WINDOW_IN_USE_KHR = -1000000001,
169 VK_SUBOPTIMAL_KHR = 1000001003,
170 VK_ERROR_OUT_OF_DATE_KHR = -1000001004,
171 VK_ERROR_INCOMPATIBLE_DISPLAY_KHR = -1000003001,
172 VK_ERROR_INVALID_SHADER_NV = -1000012000,
173 VK_ERROR_IMAGE_USAGE_NOT_SUPPORTED_KHR = -1000023000,
174 VK_ERROR_VIDEO_PICTURE_LAYOUT_NOT_SUPPORTED_KHR = -1000023001,
175 VK_ERROR_VIDEO_PROFILE_OPERATION_NOT_SUPPORTED_KHR = -1000023002,
176 VK_ERROR_VIDEO_PROFILE_FORMAT_NOT_SUPPORTED_KHR = -1000023003,
177 VK_ERROR_VIDEO_PROFILE_CODEC_NOT_SUPPORTED_KHR = -1000023004,
178 VK_ERROR_VIDEO_STD_VERSION_NOT_SUPPORTED_KHR = -1000023005,
179 VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT = -1000158000,
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_PIPELINE_BINARY_MISSING_KHR = 1000483000,
189 VK_ERROR_NOT_ENOUGH_SPACE_KHR = -1000483000,
190 VK_ERROR_VALIDATION_FAILED_EXT = VK_ERROR_VALIDATION_FAILED,
191 VK_ERROR_OUT_OF_POOL_MEMORY_KHR = VK_ERROR_OUT_OF_POOL_MEMORY,
192 VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = VK_ERROR_INVALID_EXTERNAL_HANDLE,
193 VK_ERROR_FRAGMENTATION_EXT = VK_ERROR_FRAGMENTATION,
194 VK_ERROR_NOT_PERMITTED_EXT = VK_ERROR_NOT_PERMITTED,
195 VK_ERROR_NOT_PERMITTED_KHR = VK_ERROR_NOT_PERMITTED,
196 VK_ERROR_INVALID_DEVICE_ADDRESS_EXT = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS,
197 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS,
198 VK_PIPELINE_COMPILE_REQUIRED_EXT = VK_PIPELINE_COMPILE_REQUIRED,
199 VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT = VK_PIPELINE_COMPILE_REQUIRED,
200 // VK_ERROR_INCOMPATIBLE_SHADER_BINARY_EXT is a legacy alias
201 VK_ERROR_INCOMPATIBLE_SHADER_BINARY_EXT = VK_INCOMPATIBLE_SHADER_BINARY_EXT,
202 VK_RESULT_MAX_ENUM = 0x7FFFFFFF
203 } VkResult;
204
205 typedef enum VkStructureType {
206 VK_STRUCTURE_TYPE_APPLICATION_INFO = 0,
207 VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = 1,
208 VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO = 2,
209 VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO = 3,
210 VK_STRUCTURE_TYPE_SUBMIT_INFO = 4,
211 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO = 5,
212 VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = 6,
213 VK_STRUCTURE_TYPE_BIND_SPARSE_INFO = 7,
214 VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = 8,
215 VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO = 9,
216 VK_STRUCTURE_TYPE_EVENT_CREATE_INFO = 10,
217 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO = 11,
218 VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = 12,
219 VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO = 13,
220 VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = 14,
221 VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO = 15,
222 VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO = 16,
223 VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO = 17,
224 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO = 18,
225 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO = 19,
226 VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO = 20,
227 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO = 21,
228 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO = 22,
229 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO = 23,
230 VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO = 24,
231 VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO = 25,
232 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO = 26,
233 VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO = 27,
234 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO = 28,
235 VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO = 29,
236 VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO = 30,
237 VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO = 31,
238 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO = 32,
239 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO = 33,
240 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO = 34,
241 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = 35,
242 VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = 36,
243 VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO = 37,
244 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO = 38,
245 VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO = 39,
246 VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO = 40,
247 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO = 41,
248 VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO = 42,
249 VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = 43,
250 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER = 44,
251 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = 45,
252 VK_STRUCTURE_TYPE_MEMORY_BARRIER = 46,
253 VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO = 47,
254 VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO = 48,
255 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO = 1000157000,
256 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO = 1000157001,
257 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS = 1000127000,
258 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO = 1000127001,
259 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO = 1000060000,
260 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO = 1000060004,
261 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO = 1000060005,
262 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO = 1000060006,
263 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO = 1000060013,
264 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO = 1000060014,
265 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES = 1000070000,
266 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO = 1000070001,
267 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 = 1000146000,
268 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 = 1000146001,
269 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 = 1000146002,
270 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 = 1000146003,
271 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 = 1000146004,
272 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 = 1000059000,
273 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 = 1000059001,
274 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 = 1000059002,
275 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 = 1000059003,
276 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 = 1000059004,
277 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 = 1000059005,
278 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 = 1000059006,
279 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 = 1000059007,
280 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 = 1000059008,
281 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO = 1000117002,
282 VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO = 1000145000,
283 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES = 1000145001,
284 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES = 1000145002,
285 VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 = 1000145003,
286 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO = 1000071000,
287 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES = 1000071001,
288 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO = 1000071002,
289 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES = 1000071003,
290 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES = 1000071004,
291 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO = 1000072000,
292 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO = 1000072001,
293 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO = 1000072002,
294 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO = 1000112000,
295 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES = 1000112001,
296 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO = 1000113000,
297 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO = 1000077000,
298 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO = 1000076000,
299 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES = 1000076001,
300 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES = 1000094000,
301 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES = 1000083000,
302 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES = 1000120000,
303 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO = 1000085000,
304 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES = 1000168000,
305 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT = 1000168001,
306 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO = 1000156000,
307 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO = 1000156001,
308 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO = 1000156002,
309 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO = 1000156003,
310 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES = 1000156004,
311 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES = 1000156005,
312 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO = 1000060003,
313 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES = 1000117000,
314 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO = 1000117001,
315 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO = 1000117003,
316 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO = 1000053000,
317 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES = 1000053001,
318 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES = 1000053002,
319 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES = 1000063000,
320 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES = 49,
321 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES = 50,
322 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES = 51,
323 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES = 52,
324 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO = 1000147000,
325 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES = 1000196000,
326 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES = 1000211000,
327 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES = 1000261000,
328 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES = 1000207000,
329 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES = 1000207001,
330 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO = 1000207002,
331 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO = 1000207003,
332 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO = 1000207004,
333 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO = 1000207005,
334 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES = 1000257000,
335 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO = 1000244001,
336 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO = 1000257002,
337 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO = 1000257003,
338 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO = 1000257004,
339 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES = 1000177000,
340 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES = 1000180000,
341 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES = 1000082000,
342 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES = 1000197000,
343 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO = 1000161000,
344 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES = 1000161001,
345 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES = 1000161002,
346 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO = 1000161003,
347 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT = 1000161004,
348 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES = 1000221000,
349 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES = 1000130000,
350 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO = 1000130001,
351 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES = 1000253000,
352 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES = 1000175000,
353 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 = 1000109000,
354 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 = 1000109001,
355 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 = 1000109002,
356 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 = 1000109003,
357 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 = 1000109004,
358 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO = 1000109005,
359 VK_STRUCTURE_TYPE_SUBPASS_END_INFO = 1000109006,
360 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES = 1000199000,
361 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE = 1000199001,
362 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO = 1000246000,
363 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES = 1000108000,
364 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO = 1000108001,
365 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO = 1000108002,
366 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO = 1000108003,
367 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES = 1000241000,
368 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT = 1000241001,
369 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT = 1000241002,
370 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES = 53,
371 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES = 54,
372 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES = 1000245000,
373 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES = 1000295000,
374 VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO = 1000295001,
375 VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO = 1000295002,
376 VK_STRUCTURE_TYPE_MEMORY_BARRIER_2 = 1000314000,
377 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2 = 1000314001,
378 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2 = 1000314002,
379 VK_STRUCTURE_TYPE_DEPENDENCY_INFO = 1000314003,
380 VK_STRUCTURE_TYPE_SUBMIT_INFO_2 = 1000314004,
381 VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO = 1000314005,
382 VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO = 1000314006,
383 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES = 1000314007,
384 VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2 = 1000337000,
385 VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2 = 1000337001,
386 VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2 = 1000337002,
387 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2 = 1000337003,
388 VK_STRUCTURE_TYPE_BUFFER_COPY_2 = 1000337006,
389 VK_STRUCTURE_TYPE_IMAGE_COPY_2 = 1000337007,
390 VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2 = 1000337009,
391 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES = 1000066000,
392 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3 = 1000360000,
393 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES = 1000413000,
394 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES = 1000413001,
395 VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS = 1000413002,
396 VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS = 1000413003,
397 VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO = 1000192000,
398 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES = 1000215000,
399 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES = 1000276000,
400 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES = 1000297000,
401 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES = 1000325000,
402 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES = 1000335000,
403 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES = 1000225000,
404 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO = 1000225001,
405 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES = 1000225002,
406 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES = 1000138000,
407 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES = 1000138001,
408 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK = 1000138002,
409 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO = 1000138003,
410 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES = 1000280000,
411 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES = 1000280001,
412 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES = 1000281001,
413 VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2 = 1000337004,
414 VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2 = 1000337005,
415 VK_STRUCTURE_TYPE_IMAGE_BLIT_2 = 1000337008,
416 VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2 = 1000337010,
417 VK_STRUCTURE_TYPE_RENDERING_INFO = 1000044000,
418 VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO = 1000044001,
419 VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO = 1000044002,
420 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES = 1000044003,
421 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO = 1000044004,
422 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_FEATURES = 55,
423 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_PROPERTIES = 56,
424 VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO = 1000174000,
425 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES = 1000388000,
426 VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES = 1000388001,
427 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES = 1000265000,
428 VK_STRUCTURE_TYPE_MEMORY_MAP_INFO = 1000271000,
429 VK_STRUCTURE_TYPE_MEMORY_UNMAP_INFO = 1000271001,
430 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES = 1000470000,
431 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES = 1000470001,
432 VK_STRUCTURE_TYPE_DEVICE_IMAGE_SUBRESOURCE_INFO = 1000470004,
433 VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2 = 1000338002,
434 VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2 = 1000338003,
435 VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO = 1000470006,
436 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES = 1000545000,
437 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES = 1000545001,
438 VK_STRUCTURE_TYPE_BIND_MEMORY_STATUS = 1000545002,
439 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES = 1000270000,
440 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES = 1000270001,
441 VK_STRUCTURE_TYPE_MEMORY_TO_IMAGE_COPY = 1000270002,
442 VK_STRUCTURE_TYPE_IMAGE_TO_MEMORY_COPY = 1000270003,
443 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_MEMORY_INFO = 1000270004,
444 VK_STRUCTURE_TYPE_COPY_MEMORY_TO_IMAGE_INFO = 1000270005,
445 VK_STRUCTURE_TYPE_HOST_IMAGE_LAYOUT_TRANSITION_INFO = 1000270006,
446 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_IMAGE_INFO = 1000270007,
447 VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE = 1000270008,
448 VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY = 1000270009,
449 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES = 1000416000,
450 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES = 1000528000,
451 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES = 1000544000,
452 VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO = 1000470005,
453 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES = 1000080000,
454 VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO = 1000545003,
455 VK_STRUCTURE_TYPE_PUSH_CONSTANTS_INFO = 1000545004,
456 VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO = 1000545005,
457 VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO = 1000545006,
458 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES = 1000466000,
459 VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO = 1000068000,
460 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES = 1000068001,
461 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES = 1000068002,
462 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES = 1000259000,
463 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO = 1000259001,
464 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES = 1000259002,
465 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES = 1000525000,
466 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO = 1000190001,
467 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES = 1000190002,
468 VK_STRUCTURE_TYPE_RENDERING_AREA_INFO = 1000470003,
469 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES = 1000232000,
470 VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO = 1000232001,
471 VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO = 1000232002,
472 VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR = 1000001000,
473 VK_STRUCTURE_TYPE_PRESENT_INFO_KHR = 1000001001,
474 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR = 1000060007,
475 VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR = 1000060008,
476 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR = 1000060009,
477 VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR = 1000060010,
478 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR = 1000060011,
479 VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR = 1000060012,
480 VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR = 1000002000,
481 VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR = 1000002001,
482 VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR = 1000003000,
483 VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR = 1000004000,
484 VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR = 1000005000,
485 VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR = 1000006000,
486 VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR = 1000008000,
487 VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR = 1000009000,
488 VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT = 1000011000,
489 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD = 1000018000,
490 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT = 1000022000,
491 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT = 1000022001,
492 VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT = 1000022002,
493 VK_STRUCTURE_TYPE_VIDEO_PROFILE_INFO_KHR = 1000023000,
494 VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR = 1000023001,
495 VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_INFO_KHR = 1000023002,
496 VK_STRUCTURE_TYPE_VIDEO_SESSION_MEMORY_REQUIREMENTS_KHR = 1000023003,
497 VK_STRUCTURE_TYPE_BIND_VIDEO_SESSION_MEMORY_INFO_KHR = 1000023004,
498 VK_STRUCTURE_TYPE_VIDEO_SESSION_CREATE_INFO_KHR = 1000023005,
499 VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000023006,
500 VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR = 1000023007,
501 VK_STRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHR = 1000023008,
502 VK_STRUCTURE_TYPE_VIDEO_END_CODING_INFO_KHR = 1000023009,
503 VK_STRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHR = 1000023010,
504 VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_INFO_KHR = 1000023011,
505 VK_STRUCTURE_TYPE_QUEUE_FAMILY_VIDEO_PROPERTIES_KHR = 1000023012,
506 VK_STRUCTURE_TYPE_VIDEO_PROFILE_LIST_INFO_KHR = 1000023013,
507 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR = 1000023014,
508 VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR = 1000023015,
509 VK_STRUCTURE_TYPE_QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_KHR = 1000023016,
510 VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR = 1000024000,
511 VK_STRUCTURE_TYPE_VIDEO_DECODE_CAPABILITIES_KHR = 1000024001,
512 VK_STRUCTURE_TYPE_VIDEO_DECODE_USAGE_INFO_KHR = 1000024002,
513 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000,
514 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001,
515 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV = 1000026002,
516 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT = 1000028000,
517 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT = 1000028001,
518 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT = 1000028002,
519 VK_STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX = 1000029000,
520 VK_STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX = 1000029001,
521 VK_STRUCTURE_TYPE_CU_LAUNCH_INFO_NVX = 1000029002,
522 VK_STRUCTURE_TYPE_CU_MODULE_TEXTURING_MODE_CREATE_INFO_NVX = 1000029004,
523 VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX = 1000030000,
524 VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX = 1000030001,
525 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_KHR = 1000038000,
526 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000038001,
527 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR = 1000038002,
528 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PICTURE_INFO_KHR = 1000038003,
529 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_KHR = 1000038004,
530 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_INFO_KHR = 1000038005,
531 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_GOP_REMAINING_FRAME_INFO_KHR = 1000038006,
532 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_INFO_KHR = 1000038007,
533 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_KHR = 1000038008,
534 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_KHR = 1000038009,
535 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_KHR = 1000038010,
536 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_QUALITY_LEVEL_PROPERTIES_KHR = 1000038011,
537 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_GET_INFO_KHR = 1000038012,
538 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_FEEDBACK_INFO_KHR = 1000038013,
539 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_KHR = 1000039000,
540 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000039001,
541 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR = 1000039002,
542 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PICTURE_INFO_KHR = 1000039003,
543 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_KHR = 1000039004,
544 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_INFO_KHR = 1000039005,
545 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_GOP_REMAINING_FRAME_INFO_KHR = 1000039006,
546 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_INFO_KHR = 1000039007,
547 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_KHR = 1000039009,
548 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_KHR = 1000039010,
549 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_CREATE_INFO_KHR = 1000039011,
550 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_QUALITY_LEVEL_PROPERTIES_KHR = 1000039012,
551 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_GET_INFO_KHR = 1000039013,
552 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_FEEDBACK_INFO_KHR = 1000039014,
553 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_KHR = 1000040000,
554 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_KHR = 1000040001,
555 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_INFO_KHR = 1000040003,
556 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000040004,
557 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR = 1000040005,
558 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_KHR = 1000040006,
559 VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000,
560 VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP = 1000049000,
561 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV = 1000050000,
562 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = 1000056000,
563 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV = 1000056001,
564 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057000,
565 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057001,
566 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV = 1000058000,
567 VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT = 1000061000,
568 VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN = 1000062000,
569 VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT = 1000067000,
570 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT = 1000067001,
571 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073000,
572 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073001,
573 VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR = 1000073002,
574 VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR = 1000073003,
575 VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR = 1000074000,
576 VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR = 1000074001,
577 VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR = 1000074002,
578 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR = 1000075000,
579 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078000,
580 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078001,
581 VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR = 1000078002,
582 VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR = 1000078003,
583 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR = 1000079000,
584 VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR = 1000079001,
585 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT = 1000081000,
586 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT = 1000081001,
587 VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT = 1000081002,
588 VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR = 1000084000,
589 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV = 1000087000,
590 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT = 1000090000,
591 VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT = 1000091000,
592 VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT = 1000091001,
593 VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT = 1000091002,
594 VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT = 1000091003,
595 VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE = 1000092000,
596 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX = 1000097000,
597 VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX = 1000044009,
598 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV = 1000098000,
599 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT = 1000099000,
600 VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT = 1000099001,
601 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT = 1000101000,
602 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT = 1000101001,
603 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT = 1000102000,
604 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT = 1000102001,
605 VK_STRUCTURE_TYPE_HDR_METADATA_EXT = 1000105000,
606 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RELAXED_LINE_RASTERIZATION_FEATURES_IMG = 1000110000,
607 VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR = 1000111000,
608 VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114000,
609 VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114001,
610 VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR = 1000114002,
611 VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR = 1000115000,
612 VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR = 1000115001,
613 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR = 1000116000,
614 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR = 1000116001,
615 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR = 1000116002,
616 VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR = 1000116003,
617 VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR = 1000116004,
618 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR = 1000116005,
619 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR = 1000116006,
620 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR = 1000119000,
621 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR = 1000119001,
622 VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR = 1000119002,
623 VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR = 1000121000,
624 VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR = 1000121001,
625 VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR = 1000121002,
626 VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR = 1000121003,
627 VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR = 1000121004,
628 VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK = 1000122000,
629 VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK = 1000123000,
630 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT = 1000128000,
631 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT = 1000128001,
632 VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT = 1000128002,
633 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT = 1000128003,
634 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT = 1000128004,
635 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID = 1000129000,
636 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID = 1000129001,
637 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID = 1000129002,
638 VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129003,
639 VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129004,
640 VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID = 1000129005,
641 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID = 1000129006,
642 #ifdef VK_ENABLE_BETA_EXTENSIONS
643 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_FEATURES_AMDX = 1000134000,
644 #endif
645 #ifdef VK_ENABLE_BETA_EXTENSIONS
646 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_PROPERTIES_AMDX = 1000134001,
647 #endif
648 #ifdef VK_ENABLE_BETA_EXTENSIONS
649 VK_STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_SCRATCH_SIZE_AMDX = 1000134002,
650 #endif
651 #ifdef VK_ENABLE_BETA_EXTENSIONS
652 VK_STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_CREATE_INFO_AMDX = 1000134003,
653 #endif
654 #ifdef VK_ENABLE_BETA_EXTENSIONS
655 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_NODE_CREATE_INFO_AMDX = 1000134004,
656 #endif
657 VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD = 1000044008,
658 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_BFLOAT16_FEATURES_KHR = 1000141000,
659 VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT = 1000143000,
660 VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT = 1000143001,
661 VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT = 1000143002,
662 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT = 1000143003,
663 VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT = 1000143004,
664 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT = 1000148000,
665 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT = 1000148001,
666 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT = 1000148002,
667 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV = 1000149000,
668 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR = 1000150007,
669 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR = 1000150000,
670 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR = 1000150002,
671 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR = 1000150003,
672 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR = 1000150004,
673 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR = 1000150005,
674 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR = 1000150006,
675 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR = 1000150009,
676 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR = 1000150010,
677 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR = 1000150011,
678 VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR = 1000150012,
679 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR = 1000150013,
680 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR = 1000150014,
681 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR = 1000150017,
682 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR = 1000150020,
683 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR = 1000347000,
684 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR = 1000347001,
685 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR = 1000150015,
686 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR = 1000150016,
687 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR = 1000150018,
688 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR = 1000348013,
689 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV = 1000152000,
690 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV = 1000154000,
691 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV = 1000154001,
692 VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT = 1000158000,
693 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT = 1000158002,
694 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT = 1000158003,
695 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT = 1000158004,
696 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT = 1000158005,
697 VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT = 1000158006,
698 VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160000,
699 VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160001,
700 #ifdef VK_ENABLE_BETA_EXTENSIONS
701 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR = 1000163000,
702 #endif
703 #ifdef VK_ENABLE_BETA_EXTENSIONS
704 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR = 1000163001,
705 #endif
706 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV = 1000164000,
707 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV = 1000164001,
708 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV = 1000164002,
709 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV = 1000164005,
710 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV = 1000165000,
711 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV = 1000165001,
712 VK_STRUCTURE_TYPE_GEOMETRY_NV = 1000165003,
713 VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV = 1000165004,
714 VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV = 1000165005,
715 VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV = 1000165006,
716 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV = 1000165007,
717 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV = 1000165008,
718 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV = 1000165009,
719 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV = 1000165011,
720 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV = 1000165012,
721 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV = 1000166000,
722 VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV = 1000166001,
723 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT = 1000170000,
724 VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT = 1000170001,
725 VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT = 1000178000,
726 VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT = 1000178001,
727 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT = 1000178002,
728 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR = 1000181000,
729 VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD = 1000183000,
730 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD = 1000185000,
731 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_KHR = 1000187000,
732 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000187001,
733 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR = 1000187002,
734 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_INFO_KHR = 1000187003,
735 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_KHR = 1000187004,
736 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_KHR = 1000187005,
737 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD = 1000189000,
738 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT = 1000190000,
739 VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP = 1000191000,
740 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV = 1000202000,
741 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV = 1000202001,
742 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV = 1000204000,
743 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV = 1000205000,
744 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV = 1000205002,
745 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV = 1000206000,
746 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV = 1000206001,
747 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV = 1000314008,
748 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV = 1000314009,
749 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL = 1000209000,
750 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL = 1000210000,
751 VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL = 1000210001,
752 VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL = 1000210002,
753 VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL = 1000210003,
754 VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL = 1000210004,
755 VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL = 1000210005,
756 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT = 1000212000,
757 VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD = 1000213000,
758 VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD = 1000213001,
759 VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA = 1000214000,
760 VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT = 1000217000,
761 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT = 1000218000,
762 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT = 1000218001,
763 VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT = 1000218002,
764 VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT = 1000044007,
765 VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000226000,
766 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR = 1000226001,
767 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR = 1000226002,
768 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR = 1000226003,
769 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR = 1000226004,
770 VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000044006,
771 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD = 1000227000,
772 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD = 1000229000,
773 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT = 1000234000,
774 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR = 1000235000,
775 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT = 1000237000,
776 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT = 1000238000,
777 VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT = 1000238001,
778 VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR = 1000239000,
779 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV = 1000240000,
780 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT = 1000244000,
781 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT = 1000244002,
782 VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT = 1000247000,
783 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR = 1000248000,
784 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV = 1000249000,
785 VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249001,
786 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249002,
787 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV = 1000250000,
788 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV = 1000250001,
789 VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV = 1000250002,
790 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT = 1000251000,
791 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT = 1000252000,
792 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT = 1000254000,
793 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT = 1000254001,
794 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT = 1000254002,
795 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT = 1000255000,
796 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT = 1000255002,
797 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT = 1000255001,
798 VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT = 1000256000,
799 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT = 1000260000,
800 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT = 1000267000,
801 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR = 1000269000,
802 VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR = 1000269001,
803 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR = 1000269002,
804 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR = 1000269003,
805 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR = 1000269004,
806 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR = 1000269005,
807 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAP_MEMORY_PLACED_FEATURES_EXT = 1000272000,
808 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAP_MEMORY_PLACED_PROPERTIES_EXT = 1000272001,
809 VK_STRUCTURE_TYPE_MEMORY_MAP_PLACED_INFO_EXT = 1000272002,
810 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT = 1000273000,
811 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV = 1000277000,
812 VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV = 1000277001,
813 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV = 1000277002,
814 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV = 1000277003,
815 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV = 1000277004,
816 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV = 1000277005,
817 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV = 1000277006,
818 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV = 1000277007,
819 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV = 1000278000,
820 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV = 1000278001,
821 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT = 1000281000,
822 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM = 1000282000,
823 VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM = 1000282001,
824 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_BIAS_CONTROL_FEATURES_EXT = 1000283000,
825 VK_STRUCTURE_TYPE_DEPTH_BIAS_INFO_EXT = 1000283001,
826 VK_STRUCTURE_TYPE_DEPTH_BIAS_REPRESENTATION_INFO_EXT = 1000283002,
827 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT = 1000284000,
828 VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT = 1000284001,
829 VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT = 1000284002,
830 VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT = 1000287000,
831 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT = 1000287001,
832 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT = 1000287002,
833 VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR = 1000290000,
834 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV = 1000292000,
835 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_BARRIER_NV = 1000292001,
836 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_BARRIER_CREATE_INFO_NV = 1000292002,
837 VK_STRUCTURE_TYPE_PRESENT_ID_KHR = 1000294000,
838 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR = 1000294001,
839 VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR = 1000299000,
840 VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR = 1000299001,
841 VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR = 1000299002,
842 VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR = 1000299003,
843 VK_STRUCTURE_TYPE_VIDEO_ENCODE_USAGE_INFO_KHR = 1000299004,
844 VK_STRUCTURE_TYPE_QUERY_POOL_VIDEO_ENCODE_FEEDBACK_CREATE_INFO_KHR = 1000299005,
845 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR = 1000299006,
846 VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUALITY_LEVEL_PROPERTIES_KHR = 1000299007,
847 VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR = 1000299008,
848 VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_PARAMETERS_GET_INFO_KHR = 1000299009,
849 VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_PARAMETERS_FEEDBACK_INFO_KHR = 1000299010,
850 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV = 1000300000,
851 VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV = 1000300001,
852 #ifdef VK_ENABLE_BETA_EXTENSIONS
853 VK_STRUCTURE_TYPE_CUDA_MODULE_CREATE_INFO_NV = 1000307000,
854 #endif
855 #ifdef VK_ENABLE_BETA_EXTENSIONS
856 VK_STRUCTURE_TYPE_CUDA_FUNCTION_CREATE_INFO_NV = 1000307001,
857 #endif
858 #ifdef VK_ENABLE_BETA_EXTENSIONS
859 VK_STRUCTURE_TYPE_CUDA_LAUNCH_INFO_NV = 1000307002,
860 #endif
861 #ifdef VK_ENABLE_BETA_EXTENSIONS
862 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_FEATURES_NV = 1000307003,
863 #endif
864 #ifdef VK_ENABLE_BETA_EXTENSIONS
865 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_PROPERTIES_NV = 1000307004,
866 #endif
867 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_SHADING_FEATURES_QCOM = 1000309000,
868 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_SHADING_PROPERTIES_QCOM = 1000309001,
869 VK_STRUCTURE_TYPE_RENDER_PASS_TILE_SHADING_CREATE_INFO_QCOM = 1000309002,
870 VK_STRUCTURE_TYPE_PER_TILE_BEGIN_INFO_QCOM = 1000309003,
871 VK_STRUCTURE_TYPE_PER_TILE_END_INFO_QCOM = 1000309004,
872 VK_STRUCTURE_TYPE_DISPATCH_TILE_INFO_QCOM = 1000309005,
873 VK_STRUCTURE_TYPE_QUERY_LOW_LATENCY_SUPPORT_NV = 1000310000,
874 VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECT_CREATE_INFO_EXT = 1000311000,
875 VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECTS_INFO_EXT = 1000311001,
876 VK_STRUCTURE_TYPE_EXPORT_METAL_DEVICE_INFO_EXT = 1000311002,
877 VK_STRUCTURE_TYPE_EXPORT_METAL_COMMAND_QUEUE_INFO_EXT = 1000311003,
878 VK_STRUCTURE_TYPE_EXPORT_METAL_BUFFER_INFO_EXT = 1000311004,
879 VK_STRUCTURE_TYPE_IMPORT_METAL_BUFFER_INFO_EXT = 1000311005,
880 VK_STRUCTURE_TYPE_EXPORT_METAL_TEXTURE_INFO_EXT = 1000311006,
881 VK_STRUCTURE_TYPE_IMPORT_METAL_TEXTURE_INFO_EXT = 1000311007,
882 VK_STRUCTURE_TYPE_EXPORT_METAL_IO_SURFACE_INFO_EXT = 1000311008,
883 VK_STRUCTURE_TYPE_IMPORT_METAL_IO_SURFACE_INFO_EXT = 1000311009,
884 VK_STRUCTURE_TYPE_EXPORT_METAL_SHARED_EVENT_INFO_EXT = 1000311010,
885 VK_STRUCTURE_TYPE_IMPORT_METAL_SHARED_EVENT_INFO_EXT = 1000311011,
886 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT = 1000316000,
887 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT = 1000316001,
888 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT = 1000316002,
889 VK_STRUCTURE_TYPE_DESCRIPTOR_ADDRESS_INFO_EXT = 1000316003,
890 VK_STRUCTURE_TYPE_DESCRIPTOR_GET_INFO_EXT = 1000316004,
891 VK_STRUCTURE_TYPE_BUFFER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316005,
892 VK_STRUCTURE_TYPE_IMAGE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316006,
893 VK_STRUCTURE_TYPE_IMAGE_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316007,
894 VK_STRUCTURE_TYPE_SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316008,
895 VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT = 1000316010,
896 VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_INFO_EXT = 1000316011,
897 VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT = 1000316012,
898 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316009,
899 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT = 1000320000,
900 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT = 1000320001,
901 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT = 1000320002,
902 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD = 1000321000,
903 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR = 1000203000,
904 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR = 1000322000,
905 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR = 1000323000,
906 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV = 1000326000,
907 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV = 1000326001,
908 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV = 1000326002,
909 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV = 1000327000,
910 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV = 1000327001,
911 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV = 1000327002,
912 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT = 1000328000,
913 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT = 1000328001,
914 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT = 1000330000,
915 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT = 1000332000,
916 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT = 1000332001,
917 VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM = 1000333000,
918 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR = 1000336000,
919 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT = 1000338000,
920 VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT = 1000338001,
921 VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT = 1000338004,
922 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT = 1000339000,
923 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT = 1000340000,
924 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_EXT = 1000341000,
925 VK_STRUCTURE_TYPE_DEVICE_FAULT_COUNTS_EXT = 1000341001,
926 VK_STRUCTURE_TYPE_DEVICE_FAULT_INFO_EXT = 1000341002,
927 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT = 1000344000,
928 VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT = 1000346000,
929 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT = 1000352000,
930 VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT = 1000352001,
931 VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT = 1000352002,
932 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT = 1000353000,
933 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT = 1000354000,
934 VK_STRUCTURE_TYPE_DEVICE_ADDRESS_BINDING_CALLBACK_DATA_EXT = 1000354001,
935 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT = 1000355000,
936 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT = 1000355001,
937 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT = 1000356000,
938 VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364000,
939 VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA = 1000364001,
940 VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364002,
941 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365000,
942 VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365001,
943 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA = 1000366000,
944 VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA = 1000366001,
945 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA = 1000366002,
946 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA = 1000366003,
947 VK_STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA = 1000366004,
948 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA = 1000366005,
949 VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA = 1000366006,
950 VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA = 1000366007,
951 VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA = 1000366008,
952 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA = 1000366009,
953 VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI = 1000369000,
954 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI = 1000369001,
955 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI = 1000369002,
956 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI = 1000370000,
957 VK_STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV = 1000371000,
958 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV = 1000371001,
959 VK_STRUCTURE_TYPE_PIPELINE_PROPERTIES_IDENTIFIER_EXT = 1000372000,
960 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT = 1000372001,
961 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAME_BOUNDARY_FEATURES_EXT = 1000375000,
962 VK_STRUCTURE_TYPE_FRAME_BOUNDARY_EXT = 1000375001,
963 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT = 1000376000,
964 VK_STRUCTURE_TYPE_SUBPASS_RESOLVE_PERFORMANCE_QUERY_EXT = 1000376001,
965 VK_STRUCTURE_TYPE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_INFO_EXT = 1000376002,
966 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT = 1000377000,
967 VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX = 1000378000,
968 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT = 1000381000,
969 VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT = 1000381001,
970 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT = 1000382000,
971 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR = 1000386000,
972 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_UNTYPED_POINTERS_FEATURES_KHR = 1000387000,
973 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_RGB_CONVERSION_FEATURES_VALVE = 1000390000,
974 VK_STRUCTURE_TYPE_VIDEO_ENCODE_RGB_CONVERSION_CAPABILITIES_VALVE = 1000390001,
975 VK_STRUCTURE_TYPE_VIDEO_ENCODE_PROFILE_RGB_CONVERSION_INFO_VALVE = 1000390002,
976 VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_RGB_CONVERSION_CREATE_INFO_VALVE = 1000390003,
977 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT = 1000391000,
978 VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT = 1000391001,
979 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT = 1000392000,
980 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT = 1000392001,
981 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT = 1000393000,
982 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TILE_IMAGE_FEATURES_EXT = 1000395000,
983 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TILE_IMAGE_PROPERTIES_EXT = 1000395001,
984 VK_STRUCTURE_TYPE_MICROMAP_BUILD_INFO_EXT = 1000396000,
985 VK_STRUCTURE_TYPE_MICROMAP_VERSION_INFO_EXT = 1000396001,
986 VK_STRUCTURE_TYPE_COPY_MICROMAP_INFO_EXT = 1000396002,
987 VK_STRUCTURE_TYPE_COPY_MICROMAP_TO_MEMORY_INFO_EXT = 1000396003,
988 VK_STRUCTURE_TYPE_COPY_MEMORY_TO_MICROMAP_INFO_EXT = 1000396004,
989 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT = 1000396005,
990 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT = 1000396006,
991 VK_STRUCTURE_TYPE_MICROMAP_CREATE_INFO_EXT = 1000396007,
992 VK_STRUCTURE_TYPE_MICROMAP_BUILD_SIZES_INFO_EXT = 1000396008,
993 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_EXT = 1000396009,
994 #ifdef VK_ENABLE_BETA_EXTENSIONS
995 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_FEATURES_NV = 1000397000,
996 #endif
997 #ifdef VK_ENABLE_BETA_EXTENSIONS
998 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_PROPERTIES_NV = 1000397001,
999 #endif
1000 #ifdef VK_ENABLE_BETA_EXTENSIONS
1001 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_DISPLACEMENT_MICROMAP_NV = 1000397002,
1002 #endif
1003 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_FEATURES_HUAWEI = 1000404000,
1004 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_PROPERTIES_HUAWEI = 1000404001,
1005 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_VRS_FEATURES_HUAWEI = 1000404002,
1006 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT = 1000411000,
1007 VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT = 1000411001,
1008 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT = 1000412000,
1009 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM = 1000415000,
1010 VK_STRUCTURE_TYPE_DEVICE_QUEUE_SHADER_CORE_CONTROL_CREATE_INFO_ARM = 1000417000,
1011 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_FEATURES_ARM = 1000417001,
1012 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_PROPERTIES_ARM = 1000417002,
1013 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT = 1000418000,
1014 VK_STRUCTURE_TYPE_IMAGE_VIEW_SLICED_CREATE_INFO_EXT = 1000418001,
1015 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE = 1000420000,
1016 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE = 1000420001,
1017 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE = 1000420002,
1018 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT = 1000422000,
1019 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RENDER_PASS_STRIPED_FEATURES_ARM = 1000424000,
1020 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RENDER_PASS_STRIPED_PROPERTIES_ARM = 1000424001,
1021 VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_BEGIN_INFO_ARM = 1000424002,
1022 VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_INFO_ARM = 1000424003,
1023 VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_SUBMIT_INFO_ARM = 1000424004,
1024 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV = 1000426000,
1025 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_COMPUTE_FEATURES_NV = 1000428000,
1026 VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_INDIRECT_BUFFER_INFO_NV = 1000428001,
1027 VK_STRUCTURE_TYPE_PIPELINE_INDIRECT_DEVICE_ADDRESS_INFO_NV = 1000428002,
1028 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_LINEAR_SWEPT_SPHERES_FEATURES_NV = 1000429008,
1029 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_LINEAR_SWEPT_SPHERES_DATA_NV = 1000429009,
1030 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_SPHERES_DATA_NV = 1000429010,
1031 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV = 1000430000,
1032 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR = 1000434000,
1033 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT = 1000437000,
1034 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM = 1000440000,
1035 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM = 1000440001,
1036 VK_STRUCTURE_TYPE_IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM = 1000440002,
1037 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_FEATURES_EXT = 1000451000,
1038 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_PROPERTIES_EXT = 1000451001,
1039 VK_STRUCTURE_TYPE_NATIVE_BUFFER_USAGE_OHOS = 1000452000,
1040 VK_STRUCTURE_TYPE_NATIVE_BUFFER_PROPERTIES_OHOS = 1000452001,
1041 VK_STRUCTURE_TYPE_NATIVE_BUFFER_FORMAT_PROPERTIES_OHOS = 1000452002,
1042 VK_STRUCTURE_TYPE_IMPORT_NATIVE_BUFFER_INFO_OHOS = 1000452003,
1043 VK_STRUCTURE_TYPE_MEMORY_GET_NATIVE_BUFFER_INFO_OHOS = 1000452004,
1044 VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_OHOS = 1000452005,
1045 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_EXT = 1000453000,
1046 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT = 1000455000,
1047 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT = 1000455001,
1048 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT = 1000458000,
1049 VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_CONTROL_EXT = 1000458001,
1050 VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT = 1000458002,
1051 VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT = 1000458003,
1052 VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_INFO_LUNARG = 1000459000,
1053 VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_LIST_LUNARG = 1000459001,
1054 VK_STRUCTURE_TYPE_TENSOR_CREATE_INFO_ARM = 1000460000,
1055 VK_STRUCTURE_TYPE_TENSOR_VIEW_CREATE_INFO_ARM = 1000460001,
1056 VK_STRUCTURE_TYPE_BIND_TENSOR_MEMORY_INFO_ARM = 1000460002,
1057 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_TENSOR_ARM = 1000460003,
1058 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TENSOR_PROPERTIES_ARM = 1000460004,
1059 VK_STRUCTURE_TYPE_TENSOR_FORMAT_PROPERTIES_ARM = 1000460005,
1060 VK_STRUCTURE_TYPE_TENSOR_DESCRIPTION_ARM = 1000460006,
1061 VK_STRUCTURE_TYPE_TENSOR_MEMORY_REQUIREMENTS_INFO_ARM = 1000460007,
1062 VK_STRUCTURE_TYPE_TENSOR_MEMORY_BARRIER_ARM = 1000460008,
1063 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TENSOR_FEATURES_ARM = 1000460009,
1064 VK_STRUCTURE_TYPE_DEVICE_TENSOR_MEMORY_REQUIREMENTS_ARM = 1000460010,
1065 VK_STRUCTURE_TYPE_COPY_TENSOR_INFO_ARM = 1000460011,
1066 VK_STRUCTURE_TYPE_TENSOR_COPY_ARM = 1000460012,
1067 VK_STRUCTURE_TYPE_TENSOR_DEPENDENCY_INFO_ARM = 1000460013,
1068 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_TENSOR_ARM = 1000460014,
1069 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_TENSOR_INFO_ARM = 1000460015,
1070 VK_STRUCTURE_TYPE_EXTERNAL_TENSOR_PROPERTIES_ARM = 1000460016,
1071 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_TENSOR_CREATE_INFO_ARM = 1000460017,
1072 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_TENSOR_FEATURES_ARM = 1000460018,
1073 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_TENSOR_PROPERTIES_ARM = 1000460019,
1074 VK_STRUCTURE_TYPE_DESCRIPTOR_GET_TENSOR_INFO_ARM = 1000460020,
1075 VK_STRUCTURE_TYPE_TENSOR_CAPTURE_DESCRIPTOR_DATA_INFO_ARM = 1000460021,
1076 VK_STRUCTURE_TYPE_TENSOR_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_ARM = 1000460022,
1077 VK_STRUCTURE_TYPE_FRAME_BOUNDARY_TENSORS_ARM = 1000460023,
1078 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT = 1000462000,
1079 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT = 1000462001,
1080 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT = 1000462002,
1081 VK_STRUCTURE_TYPE_SHADER_MODULE_IDENTIFIER_EXT = 1000462003,
1082 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT = 1000342000,
1083 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV = 1000464000,
1084 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV = 1000464001,
1085 VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV = 1000464002,
1086 VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_NV = 1000464003,
1087 VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_INFO_NV = 1000464004,
1088 VK_STRUCTURE_TYPE_OPTICAL_FLOW_EXECUTE_INFO_NV = 1000464005,
1089 VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV = 1000464010,
1090 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT = 1000465000,
1091 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_FEATURES_ANDROID = 1000468000,
1092 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_PROPERTIES_ANDROID = 1000468001,
1093 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_RESOLVE_PROPERTIES_ANDROID = 1000468002,
1094 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ANTI_LAG_FEATURES_AMD = 1000476000,
1095 VK_STRUCTURE_TYPE_ANTI_LAG_DATA_AMD = 1000476001,
1096 VK_STRUCTURE_TYPE_ANTI_LAG_PRESENTATION_INFO_AMD = 1000476002,
1097 #ifdef VK_ENABLE_BETA_EXTENSIONS
1098 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DENSE_GEOMETRY_FORMAT_FEATURES_AMDX = 1000478000,
1099 #endif
1100 #ifdef VK_ENABLE_BETA_EXTENSIONS
1101 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DENSE_GEOMETRY_FORMAT_TRIANGLES_DATA_AMDX = 1000478001,
1102 #endif
1103 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_ID_2_KHR = 1000479000,
1104 VK_STRUCTURE_TYPE_PRESENT_ID_2_KHR = 1000479001,
1105 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_2_FEATURES_KHR = 1000479002,
1106 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_WAIT_2_KHR = 1000480000,
1107 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_2_FEATURES_KHR = 1000480001,
1108 VK_STRUCTURE_TYPE_PRESENT_WAIT_2_INFO_KHR = 1000480002,
1109 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_POSITION_FETCH_FEATURES_KHR = 1000481000,
1110 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_FEATURES_EXT = 1000482000,
1111 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_PROPERTIES_EXT = 1000482001,
1112 VK_STRUCTURE_TYPE_SHADER_CREATE_INFO_EXT = 1000482002,
1113 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_BINARY_FEATURES_KHR = 1000483000,
1114 VK_STRUCTURE_TYPE_PIPELINE_BINARY_CREATE_INFO_KHR = 1000483001,
1115 VK_STRUCTURE_TYPE_PIPELINE_BINARY_INFO_KHR = 1000483002,
1116 VK_STRUCTURE_TYPE_PIPELINE_BINARY_KEY_KHR = 1000483003,
1117 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_BINARY_PROPERTIES_KHR = 1000483004,
1118 VK_STRUCTURE_TYPE_RELEASE_CAPTURED_PIPELINE_DATA_INFO_KHR = 1000483005,
1119 VK_STRUCTURE_TYPE_PIPELINE_BINARY_DATA_INFO_KHR = 1000483006,
1120 VK_STRUCTURE_TYPE_PIPELINE_CREATE_INFO_KHR = 1000483007,
1121 VK_STRUCTURE_TYPE_DEVICE_PIPELINE_BINARY_INTERNAL_CACHE_CONTROL_KHR = 1000483008,
1122 VK_STRUCTURE_TYPE_PIPELINE_BINARY_HANDLES_INFO_KHR = 1000483009,
1123 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM = 1000484000,
1124 VK_STRUCTURE_TYPE_TILE_PROPERTIES_QCOM = 1000484001,
1125 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC = 1000485000,
1126 VK_STRUCTURE_TYPE_AMIGO_PROFILING_SUBMIT_INFO_SEC = 1000485001,
1127 VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_KHR = 1000274000,
1128 VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_KHR = 1000274001,
1129 VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_KHR = 1000274002,
1130 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_KHR = 1000275000,
1131 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_KHR = 1000275001,
1132 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_KHR = 1000275002,
1133 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_KHR = 1000275003,
1134 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_KHR = 1000275004,
1135 VK_STRUCTURE_TYPE_RELEASE_SWAPCHAIN_IMAGES_INFO_KHR = 1000275005,
1136 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM = 1000488000,
1137 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV = 1000490000,
1138 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV = 1000490001,
1139 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_VECTOR_FEATURES_NV = 1000491000,
1140 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_VECTOR_PROPERTIES_NV = 1000491001,
1141 VK_STRUCTURE_TYPE_COOPERATIVE_VECTOR_PROPERTIES_NV = 1000491002,
1142 VK_STRUCTURE_TYPE_CONVERT_COOPERATIVE_VECTOR_MATRIX_INFO_NV = 1000491004,
1143 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_FEATURES_NV = 1000492000,
1144 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_PROPERTIES_NV = 1000492001,
1145 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT = 1000351000,
1146 VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT = 1000351002,
1147 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_VERTEX_ATTRIBUTES_FEATURES_EXT = 1000495000,
1148 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_VERTEX_ATTRIBUTES_PROPERTIES_EXT = 1000495001,
1149 VK_STRUCTURE_TYPE_LAYER_SETTINGS_CREATE_INFO_EXT = 1000496000,
1150 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM = 1000497000,
1151 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM = 1000497001,
1152 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_EXT = 1000498000,
1153 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_FEATURES_EXT = 1000499000,
1154 VK_STRUCTURE_TYPE_LATENCY_SLEEP_MODE_INFO_NV = 1000505000,
1155 VK_STRUCTURE_TYPE_LATENCY_SLEEP_INFO_NV = 1000505001,
1156 VK_STRUCTURE_TYPE_SET_LATENCY_MARKER_INFO_NV = 1000505002,
1157 VK_STRUCTURE_TYPE_GET_LATENCY_MARKER_INFO_NV = 1000505003,
1158 VK_STRUCTURE_TYPE_LATENCY_TIMINGS_FRAME_REPORT_NV = 1000505004,
1159 VK_STRUCTURE_TYPE_LATENCY_SUBMISSION_PRESENT_ID_NV = 1000505005,
1160 VK_STRUCTURE_TYPE_OUT_OF_BAND_QUEUE_TYPE_INFO_NV = 1000505006,
1161 VK_STRUCTURE_TYPE_SWAPCHAIN_LATENCY_CREATE_INFO_NV = 1000505007,
1162 VK_STRUCTURE_TYPE_LATENCY_SURFACE_CAPABILITIES_NV = 1000505008,
1163 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_KHR = 1000506000,
1164 VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_KHR = 1000506001,
1165 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_KHR = 1000506002,
1166 VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_CREATE_INFO_ARM = 1000507000,
1167 VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SESSION_CREATE_INFO_ARM = 1000507001,
1168 VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_RESOURCE_INFO_ARM = 1000507002,
1169 VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_CONSTANT_ARM = 1000507003,
1170 VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SESSION_MEMORY_REQUIREMENTS_INFO_ARM = 1000507004,
1171 VK_STRUCTURE_TYPE_BIND_DATA_GRAPH_PIPELINE_SESSION_MEMORY_INFO_ARM = 1000507005,
1172 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DATA_GRAPH_FEATURES_ARM = 1000507006,
1173 VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SHADER_MODULE_CREATE_INFO_ARM = 1000507007,
1174 VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_PROPERTY_QUERY_RESULT_ARM = 1000507008,
1175 VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_INFO_ARM = 1000507009,
1176 VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_COMPILER_CONTROL_CREATE_INFO_ARM = 1000507010,
1177 VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SESSION_BIND_POINT_REQUIREMENTS_INFO_ARM = 1000507011,
1178 VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SESSION_BIND_POINT_REQUIREMENT_ARM = 1000507012,
1179 VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_IDENTIFIER_CREATE_INFO_ARM = 1000507013,
1180 VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_DISPATCH_INFO_ARM = 1000507014,
1181 VK_STRUCTURE_TYPE_DATA_GRAPH_PROCESSING_ENGINE_CREATE_INFO_ARM = 1000507016,
1182 VK_STRUCTURE_TYPE_QUEUE_FAMILY_DATA_GRAPH_PROCESSING_ENGINE_PROPERTIES_ARM = 1000507017,
1183 VK_STRUCTURE_TYPE_QUEUE_FAMILY_DATA_GRAPH_PROPERTIES_ARM = 1000507018,
1184 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_QUEUE_FAMILY_DATA_GRAPH_PROCESSING_ENGINE_INFO_ARM = 1000507019,
1185 VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_CONSTANT_TENSOR_SEMI_STRUCTURED_SPARSITY_INFO_ARM = 1000507015,
1186 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM = 1000510000,
1187 VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM = 1000510001,
1188 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_KHR = 1000201000,
1189 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_PROPERTIES_KHR = 1000511000,
1190 VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_CAPABILITIES_KHR = 1000512000,
1191 VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PICTURE_INFO_KHR = 1000512001,
1192 VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PROFILE_INFO_KHR = 1000512003,
1193 VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000512004,
1194 VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_DPB_SLOT_INFO_KHR = 1000512005,
1195 VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_CAPABILITIES_KHR = 1000513000,
1196 VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000513001,
1197 VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_PICTURE_INFO_KHR = 1000513002,
1198 VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_DPB_SLOT_INFO_KHR = 1000513003,
1199 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_AV1_FEATURES_KHR = 1000513004,
1200 VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_PROFILE_INFO_KHR = 1000513005,
1201 VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_RATE_CONTROL_INFO_KHR = 1000513006,
1202 VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_RATE_CONTROL_LAYER_INFO_KHR = 1000513007,
1203 VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_QUALITY_LEVEL_PROPERTIES_KHR = 1000513008,
1204 VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_SESSION_CREATE_INFO_KHR = 1000513009,
1205 VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_GOP_REMAINING_FRAME_INFO_KHR = 1000513010,
1206 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_DECODE_VP9_FEATURES_KHR = 1000514000,
1207 VK_STRUCTURE_TYPE_VIDEO_DECODE_VP9_CAPABILITIES_KHR = 1000514001,
1208 VK_STRUCTURE_TYPE_VIDEO_DECODE_VP9_PICTURE_INFO_KHR = 1000514002,
1209 VK_STRUCTURE_TYPE_VIDEO_DECODE_VP9_PROFILE_INFO_KHR = 1000514003,
1210 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_MAINTENANCE_1_FEATURES_KHR = 1000515000,
1211 VK_STRUCTURE_TYPE_VIDEO_INLINE_QUERY_INFO_KHR = 1000515001,
1212 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PER_STAGE_DESCRIPTOR_SET_FEATURES_NV = 1000516000,
1213 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_2_FEATURES_QCOM = 1000518000,
1214 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_2_PROPERTIES_QCOM = 1000518001,
1215 VK_STRUCTURE_TYPE_SAMPLER_BLOCK_MATCH_WINDOW_CREATE_INFO_QCOM = 1000518002,
1216 VK_STRUCTURE_TYPE_SAMPLER_CUBIC_WEIGHTS_CREATE_INFO_QCOM = 1000519000,
1217 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUBIC_WEIGHTS_FEATURES_QCOM = 1000519001,
1218 VK_STRUCTURE_TYPE_BLIT_IMAGE_CUBIC_WEIGHTS_INFO_QCOM = 1000519002,
1219 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_DEGAMMA_FEATURES_QCOM = 1000520000,
1220 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_YCBCR_DEGAMMA_CREATE_INFO_QCOM = 1000520001,
1221 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUBIC_CLAMP_FEATURES_QCOM = 1000521000,
1222 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_FEATURES_EXT = 1000524000,
1223 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFIED_IMAGE_LAYOUTS_FEATURES_KHR = 1000527000,
1224 VK_STRUCTURE_TYPE_ATTACHMENT_FEEDBACK_LOOP_INFO_EXT = 1000527001,
1225 VK_STRUCTURE_TYPE_SCREEN_BUFFER_PROPERTIES_QNX = 1000529000,
1226 VK_STRUCTURE_TYPE_SCREEN_BUFFER_FORMAT_PROPERTIES_QNX = 1000529001,
1227 VK_STRUCTURE_TYPE_IMPORT_SCREEN_BUFFER_INFO_QNX = 1000529002,
1228 VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_QNX = 1000529003,
1229 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCREEN_BUFFER_FEATURES_QNX = 1000529004,
1230 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_DRIVER_PROPERTIES_MSFT = 1000530000,
1231 VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_KHR = 1000184000,
1232 VK_STRUCTURE_TYPE_SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXT = 1000545007,
1233 VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_BUFFER_EMBEDDED_SAMPLERS_INFO_EXT = 1000545008,
1234 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV = 1000546000,
1235 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_MEMORY_HEAP_FEATURES_QCOM = 1000547000,
1236 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_MEMORY_HEAP_PROPERTIES_QCOM = 1000547001,
1237 VK_STRUCTURE_TYPE_TILE_MEMORY_REQUIREMENTS_QCOM = 1000547002,
1238 VK_STRUCTURE_TYPE_TILE_MEMORY_BIND_INFO_QCOM = 1000547003,
1239 VK_STRUCTURE_TYPE_TILE_MEMORY_SIZE_INFO_QCOM = 1000547004,
1240 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_KHR = 1000549000,
1241 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_KHR = 1000426001,
1242 VK_STRUCTURE_TYPE_COPY_MEMORY_INDIRECT_INFO_KHR = 1000549002,
1243 VK_STRUCTURE_TYPE_COPY_MEMORY_TO_IMAGE_INDIRECT_INFO_KHR = 1000549003,
1244 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_EXT = 1000427000,
1245 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_EXT = 1000427001,
1246 VK_STRUCTURE_TYPE_DECOMPRESS_MEMORY_INFO_EXT = 1000550002,
1247 VK_STRUCTURE_TYPE_DISPLAY_SURFACE_STEREO_CREATE_INFO_NV = 1000551000,
1248 VK_STRUCTURE_TYPE_DISPLAY_MODE_STEREO_PROPERTIES_NV = 1000551001,
1249 VK_STRUCTURE_TYPE_VIDEO_ENCODE_INTRA_REFRESH_CAPABILITIES_KHR = 1000552000,
1250 VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_INTRA_REFRESH_CREATE_INFO_KHR = 1000552001,
1251 VK_STRUCTURE_TYPE_VIDEO_ENCODE_INTRA_REFRESH_INFO_KHR = 1000552002,
1252 VK_STRUCTURE_TYPE_VIDEO_REFERENCE_INTRA_REFRESH_INFO_KHR = 1000552003,
1253 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_INTRA_REFRESH_FEATURES_KHR = 1000552004,
1254 VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUANTIZATION_MAP_CAPABILITIES_KHR = 1000553000,
1255 VK_STRUCTURE_TYPE_VIDEO_FORMAT_QUANTIZATION_MAP_PROPERTIES_KHR = 1000553001,
1256 VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUANTIZATION_MAP_INFO_KHR = 1000553002,
1257 VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUANTIZATION_MAP_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000553005,
1258 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_QUANTIZATION_MAP_FEATURES_KHR = 1000553009,
1259 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_QUANTIZATION_MAP_CAPABILITIES_KHR = 1000553003,
1260 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_QUANTIZATION_MAP_CAPABILITIES_KHR = 1000553004,
1261 VK_STRUCTURE_TYPE_VIDEO_FORMAT_H265_QUANTIZATION_MAP_PROPERTIES_KHR = 1000553006,
1262 VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_QUANTIZATION_MAP_CAPABILITIES_KHR = 1000553007,
1263 VK_STRUCTURE_TYPE_VIDEO_FORMAT_AV1_QUANTIZATION_MAP_PROPERTIES_KHR = 1000553008,
1264 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAW_ACCESS_CHAINS_FEATURES_NV = 1000555000,
1265 VK_STRUCTURE_TYPE_EXTERNAL_COMPUTE_QUEUE_DEVICE_CREATE_INFO_NV = 1000556000,
1266 VK_STRUCTURE_TYPE_EXTERNAL_COMPUTE_QUEUE_CREATE_INFO_NV = 1000556001,
1267 VK_STRUCTURE_TYPE_EXTERNAL_COMPUTE_QUEUE_DATA_PARAMS_NV = 1000556002,
1268 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_COMPUTE_QUEUE_PROPERTIES_NV = 1000556003,
1269 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_RELAXED_EXTENDED_INSTRUCTION_FEATURES_KHR = 1000558000,
1270 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMMAND_BUFFER_INHERITANCE_FEATURES_NV = 1000559000,
1271 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_7_FEATURES_KHR = 1000562000,
1272 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_7_PROPERTIES_KHR = 1000562001,
1273 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_PROPERTIES_LIST_KHR = 1000562002,
1274 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_PROPERTIES_KHR = 1000562003,
1275 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_VULKAN_PROPERTIES_KHR = 1000562004,
1276 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT16_VECTOR_FEATURES_NV = 1000563000,
1277 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_REPLICATED_COMPOSITES_FEATURES_EXT = 1000564000,
1278 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT8_FEATURES_EXT = 1000567000,
1279 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_VALIDATION_FEATURES_NV = 1000568000,
1280 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_FEATURES_NV = 1000569000,
1281 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_PROPERTIES_NV = 1000569001,
1282 VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_CLUSTERS_BOTTOM_LEVEL_INPUT_NV = 1000569002,
1283 VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_TRIANGLE_CLUSTER_INPUT_NV = 1000569003,
1284 VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_MOVE_OBJECTS_INPUT_NV = 1000569004,
1285 VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_INPUT_INFO_NV = 1000569005,
1286 VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_COMMANDS_INFO_NV = 1000569006,
1287 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CLUSTER_ACCELERATION_STRUCTURE_CREATE_INFO_NV = 1000569007,
1288 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_FEATURES_NV = 1000570000,
1289 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_PROPERTIES_NV = 1000570001,
1290 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_PARTITIONED_ACCELERATION_STRUCTURE_NV = 1000570002,
1291 VK_STRUCTURE_TYPE_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCES_INPUT_NV = 1000570003,
1292 VK_STRUCTURE_TYPE_BUILD_PARTITIONED_ACCELERATION_STRUCTURE_INFO_NV = 1000570004,
1293 VK_STRUCTURE_TYPE_PARTITIONED_ACCELERATION_STRUCTURE_FLAGS_NV = 1000570005,
1294 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_EXT = 1000572000,
1295 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_EXT = 1000572001,
1296 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_EXT = 1000572002,
1297 VK_STRUCTURE_TYPE_INDIRECT_EXECUTION_SET_CREATE_INFO_EXT = 1000572003,
1298 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_EXT = 1000572004,
1299 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_EXT = 1000572006,
1300 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_EXT = 1000572007,
1301 VK_STRUCTURE_TYPE_WRITE_INDIRECT_EXECUTION_SET_PIPELINE_EXT = 1000572008,
1302 VK_STRUCTURE_TYPE_WRITE_INDIRECT_EXECUTION_SET_SHADER_EXT = 1000572009,
1303 VK_STRUCTURE_TYPE_INDIRECT_EXECUTION_SET_PIPELINE_INFO_EXT = 1000572010,
1304 VK_STRUCTURE_TYPE_INDIRECT_EXECUTION_SET_SHADER_INFO_EXT = 1000572011,
1305 VK_STRUCTURE_TYPE_INDIRECT_EXECUTION_SET_SHADER_LAYOUT_INFO_EXT = 1000572012,
1306 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_PIPELINE_INFO_EXT = 1000572013,
1307 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_SHADER_INFO_EXT = 1000572014,
1308 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_8_FEATURES_KHR = 1000574000,
1309 VK_STRUCTURE_TYPE_MEMORY_BARRIER_ACCESS_FLAGS_3_KHR = 1000574002,
1310 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ALIGNMENT_CONTROL_FEATURES_MESA = 1000575000,
1311 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ALIGNMENT_CONTROL_PROPERTIES_MESA = 1000575001,
1312 VK_STRUCTURE_TYPE_IMAGE_ALIGNMENT_CONTROL_CREATE_INFO_MESA = 1000575002,
1313 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FMA_FEATURES_KHR = 1000579000,
1314 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_EXT = 1000581000,
1315 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_EXT = 1000581001,
1316 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_CONTROL_FEATURES_EXT = 1000582000,
1317 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLAMP_CONTROL_CREATE_INFO_EXT = 1000582001,
1318 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_9_FEATURES_KHR = 1000584000,
1319 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_9_PROPERTIES_KHR = 1000584001,
1320 VK_STRUCTURE_TYPE_QUEUE_FAMILY_OWNERSHIP_TRANSFER_PROPERTIES_KHR = 1000584002,
1321 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_MAINTENANCE_2_FEATURES_KHR = 1000586000,
1322 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_INLINE_SESSION_PARAMETERS_INFO_KHR = 1000586001,
1323 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_INLINE_SESSION_PARAMETERS_INFO_KHR = 1000586002,
1324 VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_INLINE_SESSION_PARAMETERS_INFO_KHR = 1000586003,
1325 VK_STRUCTURE_TYPE_SURFACE_CREATE_INFO_OHOS = 1000685000,
1326 VK_STRUCTURE_TYPE_NATIVE_BUFFER_OHOS = 1000453001,
1327 VK_STRUCTURE_TYPE_SWAPCHAIN_IMAGE_CREATE_INFO_OHOS = 1000453002,
1328 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENTATION_PROPERTIES_OHOS = 1000453003,
1329 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HDR_VIVID_FEATURES_HUAWEI = 1000590000,
1330 VK_STRUCTURE_TYPE_HDR_VIVID_DYNAMIC_METADATA_HUAWEI = 1000590001,
1331 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_FEATURES_NV = 1000593000,
1332 VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_FLEXIBLE_DIMENSIONS_PROPERTIES_NV = 1000593001,
1333 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_PROPERTIES_NV = 1000593002,
1334 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_OPACITY_MICROMAP_FEATURES_ARM = 1000596000,
1335 VK_STRUCTURE_TYPE_IMPORT_MEMORY_METAL_HANDLE_INFO_EXT = 1000602000,
1336 VK_STRUCTURE_TYPE_MEMORY_METAL_HANDLE_PROPERTIES_EXT = 1000602001,
1337 VK_STRUCTURE_TYPE_MEMORY_GET_METAL_HANDLE_INFO_EXT = 1000602002,
1338 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_KHR = 1000421000,
1339 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_COUNTERS_BY_REGION_FEATURES_ARM = 1000605000,
1340 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_COUNTERS_BY_REGION_PROPERTIES_ARM = 1000605001,
1341 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_ARM = 1000605002,
1342 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_ARM = 1000605003,
1343 VK_STRUCTURE_TYPE_RENDER_PASS_PERFORMANCE_COUNTERS_BY_REGION_BEGIN_INFO_ARM = 1000605004,
1344 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_ROBUSTNESS_FEATURES_EXT = 1000608000,
1345 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FORMAT_PACK_FEATURES_ARM = 1000609000,
1346 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_LAYERED_FEATURES_VALVE = 1000611000,
1347 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_LAYERED_PROPERTIES_VALVE = 1000611001,
1348 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_DENSITY_MAP_LAYERED_CREATE_INFO_VALVE = 1000611002,
1349 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_KHR = 1000286000,
1350 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_KHR = 1000286001,
1351 #ifdef VK_ENABLE_BETA_EXTENSIONS
1352 VK_STRUCTURE_TYPE_SET_PRESENT_CONFIG_NV = 1000613000,
1353 #endif
1354 #ifdef VK_ENABLE_BETA_EXTENSIONS
1355 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_METERING_FEATURES_NV = 1000613001,
1356 #endif
1357 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_EXT = 1000425000,
1358 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_EXT = 1000425001,
1359 VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_EXT = 1000425002,
1360 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_DEVICE_MEMORY_FEATURES_EXT = 1000620000,
1361 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_MODE_FIFO_LATEST_READY_FEATURES_KHR = 1000361000,
1362 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_64_BIT_INDEXING_FEATURES_EXT = 1000627000,
1363 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_RESOLVE_FEATURES_EXT = 1000628000,
1364 VK_STRUCTURE_TYPE_BEGIN_CUSTOM_RESOLVE_INFO_EXT = 1000628001,
1365 VK_STRUCTURE_TYPE_CUSTOM_RESOLVE_CREATE_INFO_EXT = 1000628002,
1366 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DATA_GRAPH_MODEL_FEATURES_QCOM = 1000629000,
1367 VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_BUILTIN_MODEL_CREATE_INFO_QCOM = 1000629001,
1368 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_10_FEATURES_KHR = 1000630000,
1369 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_10_PROPERTIES_KHR = 1000630001,
1370 VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_FLAGS_INFO_KHR = 1000630002,
1371 VK_STRUCTURE_TYPE_RENDERING_END_INFO_KHR = 1000619003,
1372 VK_STRUCTURE_TYPE_RESOLVE_IMAGE_MODE_INFO_KHR = 1000630004,
1373 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CACHE_INCREMENTAL_MODE_FEATURES_SEC = 1000637000,
1374 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_UNIFORM_BUFFER_UNSIZED_ARRAY_FEATURES_EXT = 1000642000,
1375 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
1376 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
1377 // VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT is a legacy alias
1378 VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
1379 VK_STRUCTURE_TYPE_RENDERING_INFO_KHR = VK_STRUCTURE_TYPE_RENDERING_INFO,
1380 VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR = VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO,
1381 VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO,
1382 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES,
1383 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO,
1384 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO,
1385 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES,
1386 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,
1387 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2,
1388 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2,
1389 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2,
1390 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2,
1391 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2,
1392 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2,
1393 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2,
1394 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2,
1395 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2,
1396 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO,
1397 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO,
1398 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO,
1399 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO,
1400 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO,
1401 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO,
1402 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO,
1403 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES,
1404 VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO,
1405 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES,
1406 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES,
1407 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES,
1408 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO,
1409 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO,
1410 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES,
1411 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO,
1412 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES,
1413 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES,
1414 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO,
1415 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO,
1416 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO,
1417 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO,
1418 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES,
1419 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO,
1420 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES,
1421 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
1422 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
1423 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES,
1424 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO,
1425 // VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT is a legacy alias
1426 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT,
1427 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES,
1428 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO,
1429 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO,
1430 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO,
1431 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2,
1432 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2,
1433 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2,
1434 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2,
1435 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2,
1436 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO,
1437 VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_END_INFO,
1438 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO,
1439 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES,
1440 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO,
1441 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES,
1442 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO,
1443 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO,
1444 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO,
1445 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
1446 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR,
1447 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS,
1448 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO,
1449 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES,
1450 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO,
1451 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES,
1452 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES,
1453 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK,
1454 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO,
1455 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2,
1456 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2,
1457 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2,
1458 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2,
1459 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2,
1460 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO,
1461 VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_NV = VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD,
1462 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO,
1463 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO,
1464 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO,
1465 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO,
1466 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,
1467 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,
1468 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO,
1469 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO,
1470 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO,
1471 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES,
1472 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES,
1473 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO,
1474 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT,
1475 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,
1476 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT,
1477 VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO,
1478 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES,
1479 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES,
1480 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES,
1481 VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT = VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_KHR,
1482 VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO,
1483 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES,
1484 VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES,
1485 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO,
1486 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES,
1487 VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO,
1488 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES,
1489 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES,
1490 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES,
1491 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE,
1492 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_KHR,
1493 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR,
1494 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES,
1495 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES,
1496 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO,
1497 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO,
1498 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO,
1499 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO,
1500 // VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL is a legacy alias
1501 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL = VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL,
1502 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES,
1503 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES,
1504 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES,
1505 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES,
1506 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO,
1507 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES,
1508 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES,
1509 VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO_KHR = VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO,
1510 VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO_KHR = VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO,
1511 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES,
1512 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT,
1513 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT,
1514 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT,
1515 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
1516 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES,
1517 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO,
1518 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES,
1519 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES,
1520 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
1521 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO,
1522 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO,
1523 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO,
1524 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES,
1525 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO,
1526 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES,
1527 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES,
1528 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES,
1529 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES,
1530 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES,
1531 VK_STRUCTURE_TYPE_MEMORY_TO_IMAGE_COPY_EXT = VK_STRUCTURE_TYPE_MEMORY_TO_IMAGE_COPY,
1532 VK_STRUCTURE_TYPE_IMAGE_TO_MEMORY_COPY_EXT = VK_STRUCTURE_TYPE_IMAGE_TO_MEMORY_COPY,
1533 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_MEMORY_INFO_EXT = VK_STRUCTURE_TYPE_COPY_IMAGE_TO_MEMORY_INFO,
1534 VK_STRUCTURE_TYPE_COPY_MEMORY_TO_IMAGE_INFO_EXT = VK_STRUCTURE_TYPE_COPY_MEMORY_TO_IMAGE_INFO,
1535 VK_STRUCTURE_TYPE_HOST_IMAGE_LAYOUT_TRANSITION_INFO_EXT = VK_STRUCTURE_TYPE_HOST_IMAGE_LAYOUT_TRANSITION_INFO,
1536 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_IMAGE_INFO_EXT = VK_STRUCTURE_TYPE_COPY_IMAGE_TO_IMAGE_INFO,
1537 VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE_EXT = VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE,
1538 VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY_EXT = VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY,
1539 VK_STRUCTURE_TYPE_MEMORY_MAP_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_MAP_INFO,
1540 VK_STRUCTURE_TYPE_MEMORY_UNMAP_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_UNMAP_INFO,
1541 VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_EXT = VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_KHR,
1542 VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_EXT = VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_KHR,
1543 VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_EXT = VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_KHR,
1544 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_KHR,
1545 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_EXT = VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_KHR,
1546 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_KHR,
1547 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_EXT = VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_KHR,
1548 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_KHR,
1549 VK_STRUCTURE_TYPE_RELEASE_SWAPCHAIN_IMAGES_INFO_EXT = VK_STRUCTURE_TYPE_RELEASE_SWAPCHAIN_IMAGES_INFO_KHR,
1550 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES,
1551 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES,
1552 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES,
1553 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES,
1554 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_KHR,
1555 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_KHR,
1556 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES,
1557 VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO,
1558 VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO,
1559 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES,
1560 VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR = VK_STRUCTURE_TYPE_MEMORY_BARRIER_2,
1561 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2,
1562 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2,
1563 VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR = VK_STRUCTURE_TYPE_DEPENDENCY_INFO,
1564 VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR = VK_STRUCTURE_TYPE_SUBMIT_INFO_2,
1565 VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO,
1566 VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO,
1567 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES,
1568 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES,
1569 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES,
1570 VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2,
1571 VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2,
1572 VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2,
1573 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2,
1574 VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2,
1575 VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2,
1576 VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR = VK_STRUCTURE_TYPE_BUFFER_COPY_2,
1577 VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR = VK_STRUCTURE_TYPE_IMAGE_COPY_2,
1578 VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR = VK_STRUCTURE_TYPE_IMAGE_BLIT_2,
1579 VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR = VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2,
1580 VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR = VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2,
1581 VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_EXT = VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2,
1582 VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_EXT = VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2,
1583 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT,
1584 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT,
1585 VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE = VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT,
1586 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3,
1587 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_MODE_FIFO_LATEST_READY_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_MODE_FIFO_LATEST_READY_FEATURES_KHR,
1588 VK_STRUCTURE_TYPE_PIPELINE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR,
1589 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES,
1590 VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT = VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES,
1591 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES,
1592 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES,
1593 VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS,
1594 VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS,
1595 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES,
1596 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_KHR,
1597 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_EXT,
1598 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_EXT,
1599 VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM = VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_EXT,
1600 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_KHR,
1601 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_EXT,
1602 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_EXT,
1603 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES,
1604 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES,
1605 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES,
1606 VK_STRUCTURE_TYPE_RENDERING_AREA_INFO_KHR = VK_STRUCTURE_TYPE_RENDERING_AREA_INFO,
1607 VK_STRUCTURE_TYPE_DEVICE_IMAGE_SUBRESOURCE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_IMAGE_SUBRESOURCE_INFO,
1608 VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_KHR = VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2,
1609 VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_KHR = VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2,
1610 VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO,
1611 VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO,
1612 VK_STRUCTURE_TYPE_SHADER_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO,
1613 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES,
1614 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO,
1615 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES,
1616 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES,
1617 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES,
1618 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES,
1619 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO,
1620 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES,
1621 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES,
1622 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES,
1623 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES,
1624 VK_STRUCTURE_TYPE_BIND_MEMORY_STATUS_KHR = VK_STRUCTURE_TYPE_BIND_MEMORY_STATUS,
1625 VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO_KHR = VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO,
1626 VK_STRUCTURE_TYPE_PUSH_CONSTANTS_INFO_KHR = VK_STRUCTURE_TYPE_PUSH_CONSTANTS_INFO,
1627 VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO_KHR = VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO,
1628 VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO_KHR = VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO,
1629 VK_STRUCTURE_TYPE_RENDERING_END_INFO_EXT = VK_STRUCTURE_TYPE_RENDERING_END_INFO_KHR,
1630 VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF
1631 } VkStructureType;
1632
1633 typedef enum VkImageLayout {
1634 VK_IMAGE_LAYOUT_UNDEFINED = 0,
1635 VK_IMAGE_LAYOUT_GENERAL = 1,
1636 VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2,
1637 VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3,
1638 VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4,
1639 VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5,
1640 VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6,
1641 VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7,
1642 VK_IMAGE_LAYOUT_PREINITIALIZED = 8,
1643 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL = 1000117000,
1644 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL = 1000117001,
1645 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL = 1000241000,
1646 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL = 1000241001,
1647 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL = 1000241002,
1648 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL = 1000241003,
1649 VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL = 1000314000,
1650 VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL = 1000314001,
1651 VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ = 1000232000,
1652 VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002,
1653 VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR = 1000024000,
1654 VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR = 1000024001,
1655 VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR = 1000024002,
1656 VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR = 1000111000,
1657 VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000,
1658 VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003,
1659 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR = 1000299000,
1660 VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR = 1000299001,
1661 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR = 1000299002,
1662 VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT = 1000339000,
1663 VK_IMAGE_LAYOUT_TENSOR_ALIASING_ARM = 1000460000,
1664 VK_IMAGE_LAYOUT_VIDEO_ENCODE_QUANTIZATION_MAP_KHR = 1000553000,
1665 VK_IMAGE_LAYOUT_ZERO_INITIALIZED_EXT = 1000620000,
1666 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,
1667 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,
1668 VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR,
1669 VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR = VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ,
1670 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
1671 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
1672 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL,
1673 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL,
1674 VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL,
1675 VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL,
1676 VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF
1677 } VkImageLayout;
1678
1679 typedef enum VkObjectType {
1680 VK_OBJECT_TYPE_UNKNOWN = 0,
1681 VK_OBJECT_TYPE_INSTANCE = 1,
1682 VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2,
1683 VK_OBJECT_TYPE_DEVICE = 3,
1684 VK_OBJECT_TYPE_QUEUE = 4,
1685 VK_OBJECT_TYPE_SEMAPHORE = 5,
1686 VK_OBJECT_TYPE_COMMAND_BUFFER = 6,
1687 VK_OBJECT_TYPE_FENCE = 7,
1688 VK_OBJECT_TYPE_DEVICE_MEMORY = 8,
1689 VK_OBJECT_TYPE_BUFFER = 9,
1690 VK_OBJECT_TYPE_IMAGE = 10,
1691 VK_OBJECT_TYPE_EVENT = 11,
1692 VK_OBJECT_TYPE_QUERY_POOL = 12,
1693 VK_OBJECT_TYPE_BUFFER_VIEW = 13,
1694 VK_OBJECT_TYPE_IMAGE_VIEW = 14,
1695 VK_OBJECT_TYPE_SHADER_MODULE = 15,
1696 VK_OBJECT_TYPE_PIPELINE_CACHE = 16,
1697 VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17,
1698 VK_OBJECT_TYPE_RENDER_PASS = 18,
1699 VK_OBJECT_TYPE_PIPELINE = 19,
1700 VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20,
1701 VK_OBJECT_TYPE_SAMPLER = 21,
1702 VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22,
1703 VK_OBJECT_TYPE_DESCRIPTOR_SET = 23,
1704 VK_OBJECT_TYPE_FRAMEBUFFER = 24,
1705 VK_OBJECT_TYPE_COMMAND_POOL = 25,
1706 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE = 1000085000,
1707 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION = 1000156000,
1708 VK_OBJECT_TYPE_PRIVATE_DATA_SLOT = 1000295000,
1709 VK_OBJECT_TYPE_SURFACE_KHR = 1000000000,
1710 VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000,
1711 VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000,
1712 VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001,
1713 VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000,
1714 VK_OBJECT_TYPE_VIDEO_SESSION_KHR = 1000023000,
1715 VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR = 1000023001,
1716 VK_OBJECT_TYPE_CU_MODULE_NVX = 1000029000,
1717 VK_OBJECT_TYPE_CU_FUNCTION_NVX = 1000029001,
1718 VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000,
1719 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000,
1720 VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000,
1721 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000,
1722 VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL = 1000210000,
1723 VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR = 1000268000,
1724 VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV = 1000277000,
1725 #ifdef VK_ENABLE_BETA_EXTENSIONS
1726 VK_OBJECT_TYPE_CUDA_MODULE_NV = 1000307000,
1727 #endif
1728 #ifdef VK_ENABLE_BETA_EXTENSIONS
1729 VK_OBJECT_TYPE_CUDA_FUNCTION_NV = 1000307001,
1730 #endif
1731 VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA = 1000366000,
1732 VK_OBJECT_TYPE_MICROMAP_EXT = 1000396000,
1733 VK_OBJECT_TYPE_TENSOR_ARM = 1000460000,
1734 VK_OBJECT_TYPE_TENSOR_VIEW_ARM = 1000460001,
1735 VK_OBJECT_TYPE_OPTICAL_FLOW_SESSION_NV = 1000464000,
1736 VK_OBJECT_TYPE_SHADER_EXT = 1000482000,
1737 VK_OBJECT_TYPE_PIPELINE_BINARY_KHR = 1000483000,
1738 VK_OBJECT_TYPE_DATA_GRAPH_PIPELINE_SESSION_ARM = 1000507000,
1739 VK_OBJECT_TYPE_EXTERNAL_COMPUTE_QUEUE_NV = 1000556000,
1740 VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_EXT = 1000572000,
1741 VK_OBJECT_TYPE_INDIRECT_EXECUTION_SET_EXT = 1000572001,
1742 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,
1743 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,
1744 VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = VK_OBJECT_TYPE_PRIVATE_DATA_SLOT,
1745 VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF
1746 } VkObjectType;
1747
1748 typedef enum VkVendorId {
1749 VK_VENDOR_ID_KHRONOS = 0x10000,
1750 VK_VENDOR_ID_VIV = 0x10001,
1751 VK_VENDOR_ID_VSI = 0x10002,
1752 VK_VENDOR_ID_KAZAN = 0x10003,
1753 VK_VENDOR_ID_CODEPLAY = 0x10004,
1754 VK_VENDOR_ID_MESA = 0x10005,
1755 VK_VENDOR_ID_POCL = 0x10006,
1756 VK_VENDOR_ID_MOBILEYE = 0x10007,
1757 VK_VENDOR_ID_MAX_ENUM = 0x7FFFFFFF
1758 } VkVendorId;
1759
1760 typedef enum VkSystemAllocationScope {
1761 VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0,
1762 VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1,
1763 VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2,
1764 VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3,
1765 VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4,
1766 VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = 0x7FFFFFFF
1767 } VkSystemAllocationScope;
1768
1769 typedef enum VkInternalAllocationType {
1770 VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0,
1771 VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM = 0x7FFFFFFF
1772 } VkInternalAllocationType;
1773
1774 typedef enum VkFormat {
1775 VK_FORMAT_UNDEFINED = 0,
1776 VK_FORMAT_R4G4_UNORM_PACK8 = 1,
1777 VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2,
1778 VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3,
1779 VK_FORMAT_R5G6B5_UNORM_PACK16 = 4,
1780 VK_FORMAT_B5G6R5_UNORM_PACK16 = 5,
1781 VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6,
1782 VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7,
1783 VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8,
1784 VK_FORMAT_R8_UNORM = 9,
1785 VK_FORMAT_R8_SNORM = 10,
1786 VK_FORMAT_R8_USCALED = 11,
1787 VK_FORMAT_R8_SSCALED = 12,
1788 VK_FORMAT_R8_UINT = 13,
1789 VK_FORMAT_R8_SINT = 14,
1790 VK_FORMAT_R8_SRGB = 15,
1791 VK_FORMAT_R8G8_UNORM = 16,
1792 VK_FORMAT_R8G8_SNORM = 17,
1793 VK_FORMAT_R8G8_USCALED = 18,
1794 VK_FORMAT_R8G8_SSCALED = 19,
1795 VK_FORMAT_R8G8_UINT = 20,
1796 VK_FORMAT_R8G8_SINT = 21,
1797 VK_FORMAT_R8G8_SRGB = 22,
1798 VK_FORMAT_R8G8B8_UNORM = 23,
1799 VK_FORMAT_R8G8B8_SNORM = 24,
1800 VK_FORMAT_R8G8B8_USCALED = 25,
1801 VK_FORMAT_R8G8B8_SSCALED = 26,
1802 VK_FORMAT_R8G8B8_UINT = 27,
1803 VK_FORMAT_R8G8B8_SINT = 28,
1804 VK_FORMAT_R8G8B8_SRGB = 29,
1805 VK_FORMAT_B8G8R8_UNORM = 30,
1806 VK_FORMAT_B8G8R8_SNORM = 31,
1807 VK_FORMAT_B8G8R8_USCALED = 32,
1808 VK_FORMAT_B8G8R8_SSCALED = 33,
1809 VK_FORMAT_B8G8R8_UINT = 34,
1810 VK_FORMAT_B8G8R8_SINT = 35,
1811 VK_FORMAT_B8G8R8_SRGB = 36,
1812 VK_FORMAT_R8G8B8A8_UNORM = 37,
1813 VK_FORMAT_R8G8B8A8_SNORM = 38,
1814 VK_FORMAT_R8G8B8A8_USCALED = 39,
1815 VK_FORMAT_R8G8B8A8_SSCALED = 40,
1816 VK_FORMAT_R8G8B8A8_UINT = 41,
1817 VK_FORMAT_R8G8B8A8_SINT = 42,
1818 VK_FORMAT_R8G8B8A8_SRGB = 43,
1819 VK_FORMAT_B8G8R8A8_UNORM = 44,
1820 VK_FORMAT_B8G8R8A8_SNORM = 45,
1821 VK_FORMAT_B8G8R8A8_USCALED = 46,
1822 VK_FORMAT_B8G8R8A8_SSCALED = 47,
1823 VK_FORMAT_B8G8R8A8_UINT = 48,
1824 VK_FORMAT_B8G8R8A8_SINT = 49,
1825 VK_FORMAT_B8G8R8A8_SRGB = 50,
1826 VK_FORMAT_A8B8G8R8_UNORM_PACK32 = 51,
1827 VK_FORMAT_A8B8G8R8_SNORM_PACK32 = 52,
1828 VK_FORMAT_A8B8G8R8_USCALED_PACK32 = 53,
1829 VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54,
1830 VK_FORMAT_A8B8G8R8_UINT_PACK32 = 55,
1831 VK_FORMAT_A8B8G8R8_SINT_PACK32 = 56,
1832 VK_FORMAT_A8B8G8R8_SRGB_PACK32 = 57,
1833 VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58,
1834 VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59,
1835 VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 60,
1836 VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61,
1837 VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62,
1838 VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63,
1839 VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64,
1840 VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65,
1841 VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 66,
1842 VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67,
1843 VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68,
1844 VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69,
1845 VK_FORMAT_R16_UNORM = 70,
1846 VK_FORMAT_R16_SNORM = 71,
1847 VK_FORMAT_R16_USCALED = 72,
1848 VK_FORMAT_R16_SSCALED = 73,
1849 VK_FORMAT_R16_UINT = 74,
1850 VK_FORMAT_R16_SINT = 75,
1851 VK_FORMAT_R16_SFLOAT = 76,
1852 VK_FORMAT_R16G16_UNORM = 77,
1853 VK_FORMAT_R16G16_SNORM = 78,
1854 VK_FORMAT_R16G16_USCALED = 79,
1855 VK_FORMAT_R16G16_SSCALED = 80,
1856 VK_FORMAT_R16G16_UINT = 81,
1857 VK_FORMAT_R16G16_SINT = 82,
1858 VK_FORMAT_R16G16_SFLOAT = 83,
1859 VK_FORMAT_R16G16B16_UNORM = 84,
1860 VK_FORMAT_R16G16B16_SNORM = 85,
1861 VK_FORMAT_R16G16B16_USCALED = 86,
1862 VK_FORMAT_R16G16B16_SSCALED = 87,
1863 VK_FORMAT_R16G16B16_UINT = 88,
1864 VK_FORMAT_R16G16B16_SINT = 89,
1865 VK_FORMAT_R16G16B16_SFLOAT = 90,
1866 VK_FORMAT_R16G16B16A16_UNORM = 91,
1867 VK_FORMAT_R16G16B16A16_SNORM = 92,
1868 VK_FORMAT_R16G16B16A16_USCALED = 93,
1869 VK_FORMAT_R16G16B16A16_SSCALED = 94,
1870 VK_FORMAT_R16G16B16A16_UINT = 95,
1871 VK_FORMAT_R16G16B16A16_SINT = 96,
1872 VK_FORMAT_R16G16B16A16_SFLOAT = 97,
1873 VK_FORMAT_R32_UINT = 98,
1874 VK_FORMAT_R32_SINT = 99,
1875 VK_FORMAT_R32_SFLOAT = 100,
1876 VK_FORMAT_R32G32_UINT = 101,
1877 VK_FORMAT_R32G32_SINT = 102,
1878 VK_FORMAT_R32G32_SFLOAT = 103,
1879 VK_FORMAT_R32G32B32_UINT = 104,
1880 VK_FORMAT_R32G32B32_SINT = 105,
1881 VK_FORMAT_R32G32B32_SFLOAT = 106,
1882 VK_FORMAT_R32G32B32A32_UINT = 107,
1883 VK_FORMAT_R32G32B32A32_SINT = 108,
1884 VK_FORMAT_R32G32B32A32_SFLOAT = 109,
1885 VK_FORMAT_R64_UINT = 110,
1886 VK_FORMAT_R64_SINT = 111,
1887 VK_FORMAT_R64_SFLOAT = 112,
1888 VK_FORMAT_R64G64_UINT = 113,
1889 VK_FORMAT_R64G64_SINT = 114,
1890 VK_FORMAT_R64G64_SFLOAT = 115,
1891 VK_FORMAT_R64G64B64_UINT = 116,
1892 VK_FORMAT_R64G64B64_SINT = 117,
1893 VK_FORMAT_R64G64B64_SFLOAT = 118,
1894 VK_FORMAT_R64G64B64A64_UINT = 119,
1895 VK_FORMAT_R64G64B64A64_SINT = 120,
1896 VK_FORMAT_R64G64B64A64_SFLOAT = 121,
1897 VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122,
1898 VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123,
1899 VK_FORMAT_D16_UNORM = 124,
1900 VK_FORMAT_X8_D24_UNORM_PACK32 = 125,
1901 VK_FORMAT_D32_SFLOAT = 126,
1902 VK_FORMAT_S8_UINT = 127,
1903 VK_FORMAT_D16_UNORM_S8_UINT = 128,
1904 VK_FORMAT_D24_UNORM_S8_UINT = 129,
1905 VK_FORMAT_D32_SFLOAT_S8_UINT = 130,
1906 VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131,
1907 VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132,
1908 VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133,
1909 VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134,
1910 VK_FORMAT_BC2_UNORM_BLOCK = 135,
1911 VK_FORMAT_BC2_SRGB_BLOCK = 136,
1912 VK_FORMAT_BC3_UNORM_BLOCK = 137,
1913 VK_FORMAT_BC3_SRGB_BLOCK = 138,
1914 VK_FORMAT_BC4_UNORM_BLOCK = 139,
1915 VK_FORMAT_BC4_SNORM_BLOCK = 140,
1916 VK_FORMAT_BC5_UNORM_BLOCK = 141,
1917 VK_FORMAT_BC5_SNORM_BLOCK = 142,
1918 VK_FORMAT_BC6H_UFLOAT_BLOCK = 143,
1919 VK_FORMAT_BC6H_SFLOAT_BLOCK = 144,
1920 VK_FORMAT_BC7_UNORM_BLOCK = 145,
1921 VK_FORMAT_BC7_SRGB_BLOCK = 146,
1922 VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147,
1923 VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148,
1924 VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149,
1925 VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150,
1926 VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151,
1927 VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152,
1928 VK_FORMAT_EAC_R11_UNORM_BLOCK = 153,
1929 VK_FORMAT_EAC_R11_SNORM_BLOCK = 154,
1930 VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155,
1931 VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156,
1932 VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157,
1933 VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158,
1934 VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159,
1935 VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160,
1936 VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161,
1937 VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162,
1938 VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163,
1939 VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164,
1940 VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165,
1941 VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166,
1942 VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167,
1943 VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168,
1944 VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169,
1945 VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170,
1946 VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171,
1947 VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172,
1948 VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173,
1949 VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174,
1950 VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175,
1951 VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176,
1952 VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177,
1953 VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178,
1954 VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179,
1955 VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180,
1956 VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181,
1957 VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182,
1958 VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183,
1959 VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184,
1960 VK_FORMAT_G8B8G8R8_422_UNORM = 1000156000,
1961 VK_FORMAT_B8G8R8G8_422_UNORM = 1000156001,
1962 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM = 1000156002,
1963 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM = 1000156003,
1964 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM = 1000156004,
1965 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM = 1000156005,
1966 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM = 1000156006,
1967 VK_FORMAT_R10X6_UNORM_PACK16 = 1000156007,
1968 VK_FORMAT_R10X6G10X6_UNORM_2PACK16 = 1000156008,
1969 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 1000156009,
1970 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 1000156010,
1971 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 1000156011,
1972 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 1000156012,
1973 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 1000156013,
1974 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 1000156014,
1975 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 1000156015,
1976 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 1000156016,
1977 VK_FORMAT_R12X4_UNORM_PACK16 = 1000156017,
1978 VK_FORMAT_R12X4G12X4_UNORM_2PACK16 = 1000156018,
1979 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 1000156019,
1980 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 1000156020,
1981 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 1000156021,
1982 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 1000156022,
1983 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 1000156023,
1984 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 1000156024,
1985 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 1000156025,
1986 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 1000156026,
1987 VK_FORMAT_G16B16G16R16_422_UNORM = 1000156027,
1988 VK_FORMAT_B16G16R16G16_422_UNORM = 1000156028,
1989 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM = 1000156029,
1990 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM = 1000156030,
1991 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM = 1000156031,
1992 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM = 1000156032,
1993 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM = 1000156033,
1994 VK_FORMAT_G8_B8R8_2PLANE_444_UNORM = 1000330000,
1995 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16 = 1000330001,
1996 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16 = 1000330002,
1997 VK_FORMAT_G16_B16R16_2PLANE_444_UNORM = 1000330003,
1998 VK_FORMAT_A4R4G4B4_UNORM_PACK16 = 1000340000,
1999 VK_FORMAT_A4B4G4R4_UNORM_PACK16 = 1000340001,
2000 VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK = 1000066000,
2001 VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK = 1000066001,
2002 VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK = 1000066002,
2003 VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK = 1000066003,
2004 VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK = 1000066004,
2005 VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK = 1000066005,
2006 VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK = 1000066006,
2007 VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK = 1000066007,
2008 VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK = 1000066008,
2009 VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK = 1000066009,
2010 VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK = 1000066010,
2011 VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK = 1000066011,
2012 VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK = 1000066012,
2013 VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK = 1000066013,
2014 VK_FORMAT_A1B5G5R5_UNORM_PACK16 = 1000470000,
2015 VK_FORMAT_A8_UNORM = 1000470001,
2016 VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG = 1000054000,
2017 VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001,
2018 VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = 1000054002,
2019 VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG = 1000054003,
2020 VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG = 1000054004,
2021 VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005,
2022 VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006,
2023 VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007,
2024 VK_FORMAT_R8_BOOL_ARM = 1000460000,
2025 VK_FORMAT_R16G16_SFIXED5_NV = 1000464000,
2026 VK_FORMAT_R10X6_UINT_PACK16_ARM = 1000609000,
2027 VK_FORMAT_R10X6G10X6_UINT_2PACK16_ARM = 1000609001,
2028 VK_FORMAT_R10X6G10X6B10X6A10X6_UINT_4PACK16_ARM = 1000609002,
2029 VK_FORMAT_R12X4_UINT_PACK16_ARM = 1000609003,
2030 VK_FORMAT_R12X4G12X4_UINT_2PACK16_ARM = 1000609004,
2031 VK_FORMAT_R12X4G12X4B12X4A12X4_UINT_4PACK16_ARM = 1000609005,
2032 VK_FORMAT_R14X2_UINT_PACK16_ARM = 1000609006,
2033 VK_FORMAT_R14X2G14X2_UINT_2PACK16_ARM = 1000609007,
2034 VK_FORMAT_R14X2G14X2B14X2A14X2_UINT_4PACK16_ARM = 1000609008,
2035 VK_FORMAT_R14X2_UNORM_PACK16_ARM = 1000609009,
2036 VK_FORMAT_R14X2G14X2_UNORM_2PACK16_ARM = 1000609010,
2037 VK_FORMAT_R14X2G14X2B14X2A14X2_UNORM_4PACK16_ARM = 1000609011,
2038 VK_FORMAT_G14X2_B14X2R14X2_2PLANE_420_UNORM_3PACK16_ARM = 1000609012,
2039 VK_FORMAT_G14X2_B14X2R14X2_2PLANE_422_UNORM_3PACK16_ARM = 1000609013,
2040 VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK,
2041 VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK,
2042 VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK,
2043 VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK,
2044 VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK,
2045 VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK,
2046 VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK,
2047 VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK,
2048 VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK,
2049 VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK,
2050 VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK,
2051 VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK,
2052 VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK,
2053 VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK,
2054 VK_FORMAT_G8B8G8R8_422_UNORM_KHR = VK_FORMAT_G8B8G8R8_422_UNORM,
2055 VK_FORMAT_B8G8R8G8_422_UNORM_KHR = VK_FORMAT_B8G8R8G8_422_UNORM,
2056 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM,
2057 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM,
2058 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM,
2059 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM,
2060 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM,
2061 VK_FORMAT_R10X6_UNORM_PACK16_KHR = VK_FORMAT_R10X6_UNORM_PACK16,
2062 VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR = VK_FORMAT_R10X6G10X6_UNORM_2PACK16,
2063 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16,
2064 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16,
2065 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16,
2066 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16,
2067 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16,
2068 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16,
2069 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16,
2070 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16,
2071 VK_FORMAT_R12X4_UNORM_PACK16_KHR = VK_FORMAT_R12X4_UNORM_PACK16,
2072 VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR = VK_FORMAT_R12X4G12X4_UNORM_2PACK16,
2073 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16,
2074 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16,
2075 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16,
2076 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16,
2077 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16,
2078 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16,
2079 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16,
2080 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16,
2081 VK_FORMAT_G16B16G16R16_422_UNORM_KHR = VK_FORMAT_G16B16G16R16_422_UNORM,
2082 VK_FORMAT_B16G16R16G16_422_UNORM_KHR = VK_FORMAT_B16G16R16G16_422_UNORM,
2083 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM,
2084 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM,
2085 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM,
2086 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM,
2087 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM,
2088 VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT = VK_FORMAT_G8_B8R8_2PLANE_444_UNORM,
2089 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16,
2090 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16,
2091 VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT = VK_FORMAT_G16_B16R16_2PLANE_444_UNORM,
2092 VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT = VK_FORMAT_A4R4G4B4_UNORM_PACK16,
2093 VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT = VK_FORMAT_A4B4G4R4_UNORM_PACK16,
2094 // VK_FORMAT_R16G16_S10_5_NV is a legacy alias
2095 VK_FORMAT_R16G16_S10_5_NV = VK_FORMAT_R16G16_SFIXED5_NV,
2096 VK_FORMAT_A1B5G5R5_UNORM_PACK16_KHR = VK_FORMAT_A1B5G5R5_UNORM_PACK16,
2097 VK_FORMAT_A8_UNORM_KHR = VK_FORMAT_A8_UNORM,
2098 VK_FORMAT_MAX_ENUM = 0x7FFFFFFF
2099 } VkFormat;
2100
2101 typedef enum VkImageTiling {
2102 VK_IMAGE_TILING_OPTIMAL = 0,
2103 VK_IMAGE_TILING_LINEAR = 1,
2104 VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT = 1000158000,
2105 VK_IMAGE_TILING_MAX_ENUM = 0x7FFFFFFF
2106 } VkImageTiling;
2107
2108 typedef enum VkImageType {
2109 VK_IMAGE_TYPE_1D = 0,
2110 VK_IMAGE_TYPE_2D = 1,
2111 VK_IMAGE_TYPE_3D = 2,
2112 VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF
2113 } VkImageType;
2114
2115 typedef enum VkPhysicalDeviceType {
2116 VK_PHYSICAL_DEVICE_TYPE_OTHER = 0,
2117 VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1,
2118 VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2,
2119 VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3,
2120 VK_PHYSICAL_DEVICE_TYPE_CPU = 4,
2121 VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM = 0x7FFFFFFF
2122 } VkPhysicalDeviceType;
2123
2124 typedef enum VkQueryType {
2125 VK_QUERY_TYPE_OCCLUSION = 0,
2126 VK_QUERY_TYPE_PIPELINE_STATISTICS = 1,
2127 VK_QUERY_TYPE_TIMESTAMP = 2,
2128 VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR = 1000023000,
2129 VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT = 1000028004,
2130 VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR = 1000116000,
2131 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR = 1000150000,
2132 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR = 1000150001,
2133 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV = 1000165000,
2134 VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL = 1000210000,
2135 VK_QUERY_TYPE_VIDEO_ENCODE_FEEDBACK_KHR = 1000299000,
2136 VK_QUERY_TYPE_MESH_PRIMITIVES_GENERATED_EXT = 1000328000,
2137 VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT = 1000382000,
2138 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_BOTTOM_LEVEL_POINTERS_KHR = 1000386000,
2139 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SIZE_KHR = 1000386001,
2140 VK_QUERY_TYPE_MICROMAP_SERIALIZATION_SIZE_EXT = 1000396000,
2141 VK_QUERY_TYPE_MICROMAP_COMPACTED_SIZE_EXT = 1000396001,
2142 VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF
2143 } VkQueryType;
2144
2145 typedef enum VkSharingMode {
2146 VK_SHARING_MODE_EXCLUSIVE = 0,
2147 VK_SHARING_MODE_CONCURRENT = 1,
2148 VK_SHARING_MODE_MAX_ENUM = 0x7FFFFFFF
2149 } VkSharingMode;
2150
2151 typedef enum VkComponentSwizzle {
2152 VK_COMPONENT_SWIZZLE_IDENTITY = 0,
2153 VK_COMPONENT_SWIZZLE_ZERO = 1,
2154 VK_COMPONENT_SWIZZLE_ONE = 2,
2155 VK_COMPONENT_SWIZZLE_R = 3,
2156 VK_COMPONENT_SWIZZLE_G = 4,
2157 VK_COMPONENT_SWIZZLE_B = 5,
2158 VK_COMPONENT_SWIZZLE_A = 6,
2159 VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF
2160 } VkComponentSwizzle;
2161
2162 typedef enum VkImageViewType {
2163 VK_IMAGE_VIEW_TYPE_1D = 0,
2164 VK_IMAGE_VIEW_TYPE_2D = 1,
2165 VK_IMAGE_VIEW_TYPE_3D = 2,
2166 VK_IMAGE_VIEW_TYPE_CUBE = 3,
2167 VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4,
2168 VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5,
2169 VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6,
2170 VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7FFFFFFF
2171 } VkImageViewType;
2172
2173 typedef enum VkCommandBufferLevel {
2174 VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0,
2175 VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1,
2176 VK_COMMAND_BUFFER_LEVEL_MAX_ENUM = 0x7FFFFFFF
2177 } VkCommandBufferLevel;
2178
2179 typedef enum VkIndexType {
2180 VK_INDEX_TYPE_UINT16 = 0,
2181 VK_INDEX_TYPE_UINT32 = 1,
2182 VK_INDEX_TYPE_UINT8 = 1000265000,
2183 VK_INDEX_TYPE_NONE_KHR = 1000165000,
2184 VK_INDEX_TYPE_NONE_NV = VK_INDEX_TYPE_NONE_KHR,
2185 VK_INDEX_TYPE_UINT8_EXT = VK_INDEX_TYPE_UINT8,
2186 VK_INDEX_TYPE_UINT8_KHR = VK_INDEX_TYPE_UINT8,
2187 VK_INDEX_TYPE_MAX_ENUM = 0x7FFFFFFF
2188 } VkIndexType;
2189
2190 typedef enum VkPipelineCacheHeaderVersion {
2191 VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1,
2192 VK_PIPELINE_CACHE_HEADER_VERSION_DATA_GRAPH_QCOM = 1000629000,
2193 VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF
2194 } VkPipelineCacheHeaderVersion;
2195
2196 typedef enum VkBorderColor {
2197 VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0,
2198 VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1,
2199 VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2,
2200 VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3,
2201 VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4,
2202 VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5,
2203 VK_BORDER_COLOR_FLOAT_CUSTOM_EXT = 1000287003,
2204 VK_BORDER_COLOR_INT_CUSTOM_EXT = 1000287004,
2205 VK_BORDER_COLOR_MAX_ENUM = 0x7FFFFFFF
2206 } VkBorderColor;
2207
2208 typedef enum VkFilter {
2209 VK_FILTER_NEAREST = 0,
2210 VK_FILTER_LINEAR = 1,
2211 VK_FILTER_CUBIC_EXT = 1000015000,
2212 VK_FILTER_CUBIC_IMG = VK_FILTER_CUBIC_EXT,
2213 VK_FILTER_MAX_ENUM = 0x7FFFFFFF
2214 } VkFilter;
2215
2216 typedef enum VkSamplerAddressMode {
2217 VK_SAMPLER_ADDRESS_MODE_REPEAT = 0,
2218 VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1,
2219 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2,
2220 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3,
2221 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4,
2222 // VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR is a legacy alias
2223 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE,
2224 VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = 0x7FFFFFFF
2225 } VkSamplerAddressMode;
2226
2227 typedef enum VkSamplerMipmapMode {
2228 VK_SAMPLER_MIPMAP_MODE_NEAREST = 0,
2229 VK_SAMPLER_MIPMAP_MODE_LINEAR = 1,
2230 VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF
2231 } VkSamplerMipmapMode;
2232
2233 typedef enum VkCompareOp {
2234 VK_COMPARE_OP_NEVER = 0,
2235 VK_COMPARE_OP_LESS = 1,
2236 VK_COMPARE_OP_EQUAL = 2,
2237 VK_COMPARE_OP_LESS_OR_EQUAL = 3,
2238 VK_COMPARE_OP_GREATER = 4,
2239 VK_COMPARE_OP_NOT_EQUAL = 5,
2240 VK_COMPARE_OP_GREATER_OR_EQUAL = 6,
2241 VK_COMPARE_OP_ALWAYS = 7,
2242 VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF
2243 } VkCompareOp;
2244
2245 typedef enum VkDescriptorType {
2246 VK_DESCRIPTOR_TYPE_SAMPLER = 0,
2247 VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1,
2248 VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2,
2249 VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3,
2250 VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4,
2251 VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5,
2252 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6,
2253 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7,
2254 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8,
2255 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9,
2256 VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10,
2257 VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK = 1000138000,
2258 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000,
2259 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000,
2260 VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM = 1000440000,
2261 VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM = 1000440001,
2262 VK_DESCRIPTOR_TYPE_TENSOR_ARM = 1000460000,
2263 VK_DESCRIPTOR_TYPE_MUTABLE_EXT = 1000351000,
2264 VK_DESCRIPTOR_TYPE_PARTITIONED_ACCELERATION_STRUCTURE_NV = 1000570000,
2265 VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT = VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK,
2266 VK_DESCRIPTOR_TYPE_MUTABLE_VALVE = VK_DESCRIPTOR_TYPE_MUTABLE_EXT,
2267 VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF
2268 } VkDescriptorType;
2269
2270 typedef enum VkPipelineBindPoint {
2271 VK_PIPELINE_BIND_POINT_GRAPHICS = 0,
2272 VK_PIPELINE_BIND_POINT_COMPUTE = 1,
2273 #ifdef VK_ENABLE_BETA_EXTENSIONS
2274 VK_PIPELINE_BIND_POINT_EXECUTION_GRAPH_AMDX = 1000134000,
2275 #endif
2276 VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR = 1000165000,
2277 VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI = 1000369003,
2278 VK_PIPELINE_BIND_POINT_DATA_GRAPH_ARM = 1000507000,
2279 VK_PIPELINE_BIND_POINT_RAY_TRACING_NV = VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR,
2280 VK_PIPELINE_BIND_POINT_MAX_ENUM = 0x7FFFFFFF
2281 } VkPipelineBindPoint;
2282
2283 typedef enum VkBlendFactor {
2284 VK_BLEND_FACTOR_ZERO = 0,
2285 VK_BLEND_FACTOR_ONE = 1,
2286 VK_BLEND_FACTOR_SRC_COLOR = 2,
2287 VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3,
2288 VK_BLEND_FACTOR_DST_COLOR = 4,
2289 VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5,
2290 VK_BLEND_FACTOR_SRC_ALPHA = 6,
2291 VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7,
2292 VK_BLEND_FACTOR_DST_ALPHA = 8,
2293 VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9,
2294 VK_BLEND_FACTOR_CONSTANT_COLOR = 10,
2295 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11,
2296 VK_BLEND_FACTOR_CONSTANT_ALPHA = 12,
2297 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13,
2298 VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14,
2299 VK_BLEND_FACTOR_SRC1_COLOR = 15,
2300 VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16,
2301 VK_BLEND_FACTOR_SRC1_ALPHA = 17,
2302 VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18,
2303 VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF
2304 } VkBlendFactor;
2305
2306 typedef enum VkBlendOp {
2307 VK_BLEND_OP_ADD = 0,
2308 VK_BLEND_OP_SUBTRACT = 1,
2309 VK_BLEND_OP_REVERSE_SUBTRACT = 2,
2310 VK_BLEND_OP_MIN = 3,
2311 VK_BLEND_OP_MAX = 4,
2312 VK_BLEND_OP_ZERO_EXT = 1000148000,
2313 VK_BLEND_OP_SRC_EXT = 1000148001,
2314 VK_BLEND_OP_DST_EXT = 1000148002,
2315 VK_BLEND_OP_SRC_OVER_EXT = 1000148003,
2316 VK_BLEND_OP_DST_OVER_EXT = 1000148004,
2317 VK_BLEND_OP_SRC_IN_EXT = 1000148005,
2318 VK_BLEND_OP_DST_IN_EXT = 1000148006,
2319 VK_BLEND_OP_SRC_OUT_EXT = 1000148007,
2320 VK_BLEND_OP_DST_OUT_EXT = 1000148008,
2321 VK_BLEND_OP_SRC_ATOP_EXT = 1000148009,
2322 VK_BLEND_OP_DST_ATOP_EXT = 1000148010,
2323 VK_BLEND_OP_XOR_EXT = 1000148011,
2324 VK_BLEND_OP_MULTIPLY_EXT = 1000148012,
2325 VK_BLEND_OP_SCREEN_EXT = 1000148013,
2326 VK_BLEND_OP_OVERLAY_EXT = 1000148014,
2327 VK_BLEND_OP_DARKEN_EXT = 1000148015,
2328 VK_BLEND_OP_LIGHTEN_EXT = 1000148016,
2329 VK_BLEND_OP_COLORDODGE_EXT = 1000148017,
2330 VK_BLEND_OP_COLORBURN_EXT = 1000148018,
2331 VK_BLEND_OP_HARDLIGHT_EXT = 1000148019,
2332 VK_BLEND_OP_SOFTLIGHT_EXT = 1000148020,
2333 VK_BLEND_OP_DIFFERENCE_EXT = 1000148021,
2334 VK_BLEND_OP_EXCLUSION_EXT = 1000148022,
2335 VK_BLEND_OP_INVERT_EXT = 1000148023,
2336 VK_BLEND_OP_INVERT_RGB_EXT = 1000148024,
2337 VK_BLEND_OP_LINEARDODGE_EXT = 1000148025,
2338 VK_BLEND_OP_LINEARBURN_EXT = 1000148026,
2339 VK_BLEND_OP_VIVIDLIGHT_EXT = 1000148027,
2340 VK_BLEND_OP_LINEARLIGHT_EXT = 1000148028,
2341 VK_BLEND_OP_PINLIGHT_EXT = 1000148029,
2342 VK_BLEND_OP_HARDMIX_EXT = 1000148030,
2343 VK_BLEND_OP_HSL_HUE_EXT = 1000148031,
2344 VK_BLEND_OP_HSL_SATURATION_EXT = 1000148032,
2345 VK_BLEND_OP_HSL_COLOR_EXT = 1000148033,
2346 VK_BLEND_OP_HSL_LUMINOSITY_EXT = 1000148034,
2347 VK_BLEND_OP_PLUS_EXT = 1000148035,
2348 VK_BLEND_OP_PLUS_CLAMPED_EXT = 1000148036,
2349 VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT = 1000148037,
2350 VK_BLEND_OP_PLUS_DARKER_EXT = 1000148038,
2351 VK_BLEND_OP_MINUS_EXT = 1000148039,
2352 VK_BLEND_OP_MINUS_CLAMPED_EXT = 1000148040,
2353 VK_BLEND_OP_CONTRAST_EXT = 1000148041,
2354 VK_BLEND_OP_INVERT_OVG_EXT = 1000148042,
2355 VK_BLEND_OP_RED_EXT = 1000148043,
2356 VK_BLEND_OP_GREEN_EXT = 1000148044,
2357 VK_BLEND_OP_BLUE_EXT = 1000148045,
2358 VK_BLEND_OP_MAX_ENUM = 0x7FFFFFFF
2359 } VkBlendOp;
2360
2361 typedef enum VkDynamicState {
2362 VK_DYNAMIC_STATE_VIEWPORT = 0,
2363 VK_DYNAMIC_STATE_SCISSOR = 1,
2364 VK_DYNAMIC_STATE_LINE_WIDTH = 2,
2365 VK_DYNAMIC_STATE_DEPTH_BIAS = 3,
2366 VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4,
2367 VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5,
2368 VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6,
2369 VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7,
2370 VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8,
2371 VK_DYNAMIC_STATE_CULL_MODE = 1000267000,
2372 VK_DYNAMIC_STATE_FRONT_FACE = 1000267001,
2373 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY = 1000267002,
2374 VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT = 1000267003,
2375 VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT = 1000267004,
2376 VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE = 1000267005,
2377 VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE = 1000267006,
2378 VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE = 1000267007,
2379 VK_DYNAMIC_STATE_DEPTH_COMPARE_OP = 1000267008,
2380 VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE = 1000267009,
2381 VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE = 1000267010,
2382 VK_DYNAMIC_STATE_STENCIL_OP = 1000267011,
2383 VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE = 1000377001,
2384 VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE = 1000377002,
2385 VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE = 1000377004,
2386 VK_DYNAMIC_STATE_LINE_STIPPLE = 1000259000,
2387 VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV = 1000087000,
2388 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000,
2389 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT = 1000099001,
2390 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT = 1000099002,
2391 VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT = 1000143000,
2392 VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR = 1000347000,
2393 VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV = 1000164004,
2394 VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV = 1000164006,
2395 VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV = 1000205000,
2396 VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV = 1000205001,
2397 VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR = 1000226000,
2398 VK_DYNAMIC_STATE_VERTEX_INPUT_EXT = 1000352000,
2399 VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT = 1000377000,
2400 VK_DYNAMIC_STATE_LOGIC_OP_EXT = 1000377003,
2401 VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT = 1000381000,
2402 VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT = 1000455003,
2403 VK_DYNAMIC_STATE_POLYGON_MODE_EXT = 1000455004,
2404 VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT = 1000455005,
2405 VK_DYNAMIC_STATE_SAMPLE_MASK_EXT = 1000455006,
2406 VK_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT = 1000455007,
2407 VK_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT = 1000455008,
2408 VK_DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT = 1000455009,
2409 VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT = 1000455010,
2410 VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT = 1000455011,
2411 VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT = 1000455012,
2412 VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT = 1000455002,
2413 VK_DYNAMIC_STATE_RASTERIZATION_STREAM_EXT = 1000455013,
2414 VK_DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT = 1000455014,
2415 VK_DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT = 1000455015,
2416 VK_DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT = 1000455016,
2417 VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT = 1000455017,
2418 VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT = 1000455018,
2419 VK_DYNAMIC_STATE_PROVOKING_VERTEX_MODE_EXT = 1000455019,
2420 VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT = 1000455020,
2421 VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT = 1000455021,
2422 VK_DYNAMIC_STATE_DEPTH_CLIP_NEGATIVE_ONE_TO_ONE_EXT = 1000455022,
2423 VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV = 1000455023,
2424 VK_DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV = 1000455024,
2425 VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV = 1000455025,
2426 VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_LOCATION_NV = 1000455026,
2427 VK_DYNAMIC_STATE_COVERAGE_MODULATION_MODE_NV = 1000455027,
2428 VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_ENABLE_NV = 1000455028,
2429 VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_NV = 1000455029,
2430 VK_DYNAMIC_STATE_SHADING_RATE_IMAGE_ENABLE_NV = 1000455030,
2431 VK_DYNAMIC_STATE_REPRESENTATIVE_FRAGMENT_TEST_ENABLE_NV = 1000455031,
2432 VK_DYNAMIC_STATE_COVERAGE_REDUCTION_MODE_NV = 1000455032,
2433 VK_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT = 1000524000,
2434 VK_DYNAMIC_STATE_DEPTH_CLAMP_RANGE_EXT = 1000582000,
2435 VK_DYNAMIC_STATE_LINE_STIPPLE_EXT = VK_DYNAMIC_STATE_LINE_STIPPLE,
2436 VK_DYNAMIC_STATE_CULL_MODE_EXT = VK_DYNAMIC_STATE_CULL_MODE,
2437 VK_DYNAMIC_STATE_FRONT_FACE_EXT = VK_DYNAMIC_STATE_FRONT_FACE,
2438 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY,
2439 VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT = VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT,
2440 VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT = VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT,
2441 VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT = VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE,
2442 VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE,
2443 VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE,
2444 VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT = VK_DYNAMIC_STATE_DEPTH_COMPARE_OP,
2445 VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE,
2446 VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE,
2447 VK_DYNAMIC_STATE_STENCIL_OP_EXT = VK_DYNAMIC_STATE_STENCIL_OP,
2448 VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT = VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE,
2449 VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE,
2450 VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT = VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE,
2451 VK_DYNAMIC_STATE_LINE_STIPPLE_KHR = VK_DYNAMIC_STATE_LINE_STIPPLE,
2452 VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF
2453 } VkDynamicState;
2454
2455 typedef enum VkFrontFace {
2456 VK_FRONT_FACE_COUNTER_CLOCKWISE = 0,
2457 VK_FRONT_FACE_CLOCKWISE = 1,
2458 VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF
2459 } VkFrontFace;
2460
2461 typedef enum VkVertexInputRate {
2462 VK_VERTEX_INPUT_RATE_VERTEX = 0,
2463 VK_VERTEX_INPUT_RATE_INSTANCE = 1,
2464 VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF
2465 } VkVertexInputRate;
2466
2467 typedef enum VkPrimitiveTopology {
2468 VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0,
2469 VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1,
2470 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2,
2471 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3,
2472 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4,
2473 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5,
2474 VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6,
2475 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7,
2476 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8,
2477 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9,
2478 VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10,
2479 VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7FFFFFFF
2480 } VkPrimitiveTopology;
2481
2482 typedef enum VkPolygonMode {
2483 VK_POLYGON_MODE_FILL = 0,
2484 VK_POLYGON_MODE_LINE = 1,
2485 VK_POLYGON_MODE_POINT = 2,
2486 VK_POLYGON_MODE_FILL_RECTANGLE_NV = 1000153000,
2487 VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF
2488 } VkPolygonMode;
2489
2490 typedef enum VkStencilOp {
2491 VK_STENCIL_OP_KEEP = 0,
2492 VK_STENCIL_OP_ZERO = 1,
2493 VK_STENCIL_OP_REPLACE = 2,
2494 VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3,
2495 VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4,
2496 VK_STENCIL_OP_INVERT = 5,
2497 VK_STENCIL_OP_INCREMENT_AND_WRAP = 6,
2498 VK_STENCIL_OP_DECREMENT_AND_WRAP = 7,
2499 VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF
2500 } VkStencilOp;
2501
2502 typedef enum VkLogicOp {
2503 VK_LOGIC_OP_CLEAR = 0,
2504 VK_LOGIC_OP_AND = 1,
2505 VK_LOGIC_OP_AND_REVERSE = 2,
2506 VK_LOGIC_OP_COPY = 3,
2507 VK_LOGIC_OP_AND_INVERTED = 4,
2508 VK_LOGIC_OP_NO_OP = 5,
2509 VK_LOGIC_OP_XOR = 6,
2510 VK_LOGIC_OP_OR = 7,
2511 VK_LOGIC_OP_NOR = 8,
2512 VK_LOGIC_OP_EQUIVALENT = 9,
2513 VK_LOGIC_OP_INVERT = 10,
2514 VK_LOGIC_OP_OR_REVERSE = 11,
2515 VK_LOGIC_OP_COPY_INVERTED = 12,
2516 VK_LOGIC_OP_OR_INVERTED = 13,
2517 VK_LOGIC_OP_NAND = 14,
2518 VK_LOGIC_OP_SET = 15,
2519 VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF
2520 } VkLogicOp;
2521
2522 typedef enum VkAttachmentLoadOp {
2523 VK_ATTACHMENT_LOAD_OP_LOAD = 0,
2524 VK_ATTACHMENT_LOAD_OP_CLEAR = 1,
2525 VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2,
2526 VK_ATTACHMENT_LOAD_OP_NONE = 1000400000,
2527 VK_ATTACHMENT_LOAD_OP_NONE_EXT = VK_ATTACHMENT_LOAD_OP_NONE,
2528 VK_ATTACHMENT_LOAD_OP_NONE_KHR = VK_ATTACHMENT_LOAD_OP_NONE,
2529 VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7FFFFFFF
2530 } VkAttachmentLoadOp;
2531
2532 typedef enum VkAttachmentStoreOp {
2533 VK_ATTACHMENT_STORE_OP_STORE = 0,
2534 VK_ATTACHMENT_STORE_OP_DONT_CARE = 1,
2535 VK_ATTACHMENT_STORE_OP_NONE = 1000301000,
2536 VK_ATTACHMENT_STORE_OP_NONE_KHR = VK_ATTACHMENT_STORE_OP_NONE,
2537 VK_ATTACHMENT_STORE_OP_NONE_QCOM = VK_ATTACHMENT_STORE_OP_NONE,
2538 VK_ATTACHMENT_STORE_OP_NONE_EXT = VK_ATTACHMENT_STORE_OP_NONE,
2539 VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF
2540 } VkAttachmentStoreOp;
2541
2542 typedef enum VkSubpassContents {
2543 VK_SUBPASS_CONTENTS_INLINE = 0,
2544 VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1,
2545 VK_SUBPASS_CONTENTS_INLINE_AND_SECONDARY_COMMAND_BUFFERS_KHR = 1000451000,
2546 VK_SUBPASS_CONTENTS_INLINE_AND_SECONDARY_COMMAND_BUFFERS_EXT = VK_SUBPASS_CONTENTS_INLINE_AND_SECONDARY_COMMAND_BUFFERS_KHR,
2547 VK_SUBPASS_CONTENTS_MAX_ENUM = 0x7FFFFFFF
2548 } VkSubpassContents;
2549
2550 typedef enum VkAccessFlagBits {
2551 VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001,
2552 VK_ACCESS_INDEX_READ_BIT = 0x00000002,
2553 VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004,
2554 VK_ACCESS_UNIFORM_READ_BIT = 0x00000008,
2555 VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 0x00000010,
2556 VK_ACCESS_SHADER_READ_BIT = 0x00000020,
2557 VK_ACCESS_SHADER_WRITE_BIT = 0x00000040,
2558 VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 0x00000080,
2559 VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100,
2560 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200,
2561 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400,
2562 VK_ACCESS_TRANSFER_READ_BIT = 0x00000800,
2563 VK_ACCESS_TRANSFER_WRITE_BIT = 0x00001000,
2564 VK_ACCESS_HOST_READ_BIT = 0x00002000,
2565 VK_ACCESS_HOST_WRITE_BIT = 0x00004000,
2566 VK_ACCESS_MEMORY_READ_BIT = 0x00008000,
2567 VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000,
2568 VK_ACCESS_NONE = 0,
2569 VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000,
2570 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000,
2571 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000,
2572 VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000,
2573 VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000,
2574 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000,
2575 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000,
2576 VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000,
2577 VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000,
2578 VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_EXT = 0x00020000,
2579 VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_EXT = 0x00040000,
2580 VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR,
2581 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR,
2582 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,
2583 VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV = VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_EXT,
2584 VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV = VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_EXT,
2585 VK_ACCESS_NONE_KHR = VK_ACCESS_NONE,
2586 VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2587 } VkAccessFlagBits;
2588 typedef VkFlags VkAccessFlags;
2589
2590 typedef enum VkImageAspectFlagBits {
2591 VK_IMAGE_ASPECT_COLOR_BIT = 0x00000001,
2592 VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002,
2593 VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004,
2594 VK_IMAGE_ASPECT_METADATA_BIT = 0x00000008,
2595 VK_IMAGE_ASPECT_PLANE_0_BIT = 0x00000010,
2596 VK_IMAGE_ASPECT_PLANE_1_BIT = 0x00000020,
2597 VK_IMAGE_ASPECT_PLANE_2_BIT = 0x00000040,
2598 VK_IMAGE_ASPECT_NONE = 0,
2599 VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 0x00000080,
2600 VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 0x00000100,
2601 VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 0x00000200,
2602 VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = 0x00000400,
2603 VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = VK_IMAGE_ASPECT_PLANE_0_BIT,
2604 VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = VK_IMAGE_ASPECT_PLANE_1_BIT,
2605 VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = VK_IMAGE_ASPECT_PLANE_2_BIT,
2606 VK_IMAGE_ASPECT_NONE_KHR = VK_IMAGE_ASPECT_NONE,
2607 VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2608 } VkImageAspectFlagBits;
2609 typedef VkFlags VkImageAspectFlags;
2610
2611 typedef enum VkFormatFeatureFlagBits {
2612 VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 0x00000001,
2613 VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 0x00000002,
2614 VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004,
2615 VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008,
2616 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 0x00000010,
2617 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020,
2618 VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 0x00000040,
2619 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 0x00000080,
2620 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100,
2621 VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200,
2622 VK_FORMAT_FEATURE_BLIT_SRC_BIT = 0x00000400,
2623 VK_FORMAT_FEATURE_BLIT_DST_BIT = 0x00000800,
2624 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000,
2625 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT = 0x00004000,
2626 VK_FORMAT_FEATURE_TRANSFER_DST_BIT = 0x00008000,
2627 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000,
2628 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000,
2629 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000,
2630 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000,
2631 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000,
2632 VK_FORMAT_FEATURE_DISJOINT_BIT = 0x00400000,
2633 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT = 0x00800000,
2634 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000,
2635 VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x02000000,
2636 VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR = 0x04000000,
2637 VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000,
2638 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = 0x00002000,
2639 VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000,
2640 VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000,
2641 VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000,
2642 VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000,
2643 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT,
2644 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT,
2645 VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_DST_BIT,
2646 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT,
2647 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT,
2648 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT,
2649 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT,
2650 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT,
2651 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,
2652 VK_FORMAT_FEATURE_DISJOINT_BIT_KHR = VK_FORMAT_FEATURE_DISJOINT_BIT,
2653 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT,
2654 VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2655 } VkFormatFeatureFlagBits;
2656 typedef VkFlags VkFormatFeatureFlags;
2657
2658 typedef enum VkImageCreateFlagBits {
2659 VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 0x00000001,
2660 VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
2661 VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
2662 VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 0x00000008,
2663 VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 0x00000010,
2664 VK_IMAGE_CREATE_ALIAS_BIT = 0x00000400,
2665 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT = 0x00000040,
2666 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT = 0x00000020,
2667 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT = 0x00000080,
2668 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT = 0x00000100,
2669 VK_IMAGE_CREATE_PROTECTED_BIT = 0x00000800,
2670 VK_IMAGE_CREATE_DISJOINT_BIT = 0x00000200,
2671 VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 0x00002000,
2672 VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000,
2673 VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 0x00004000,
2674 VK_IMAGE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00010000,
2675 VK_IMAGE_CREATE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_BIT_EXT = 0x00040000,
2676 VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT = 0x00020000,
2677 VK_IMAGE_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR = 0x00100000,
2678 VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_EXT = 0x00008000,
2679 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT,
2680 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT,
2681 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT,
2682 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT,
2683 VK_IMAGE_CREATE_DISJOINT_BIT_KHR = VK_IMAGE_CREATE_DISJOINT_BIT,
2684 VK_IMAGE_CREATE_ALIAS_BIT_KHR = VK_IMAGE_CREATE_ALIAS_BIT,
2685 VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM = VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_EXT,
2686 VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2687 } VkImageCreateFlagBits;
2688 typedef VkFlags VkImageCreateFlags;
2689
2690 typedef enum VkSampleCountFlagBits {
2691 VK_SAMPLE_COUNT_1_BIT = 0x00000001,
2692 VK_SAMPLE_COUNT_2_BIT = 0x00000002,
2693 VK_SAMPLE_COUNT_4_BIT = 0x00000004,
2694 VK_SAMPLE_COUNT_8_BIT = 0x00000008,
2695 VK_SAMPLE_COUNT_16_BIT = 0x00000010,
2696 VK_SAMPLE_COUNT_32_BIT = 0x00000020,
2697 VK_SAMPLE_COUNT_64_BIT = 0x00000040,
2698 VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2699 } VkSampleCountFlagBits;
2700 typedef VkFlags VkSampleCountFlags;
2701
2702 typedef enum VkImageUsageFlagBits {
2703 VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 0x00000001,
2704 VK_IMAGE_USAGE_TRANSFER_DST_BIT = 0x00000002,
2705 VK_IMAGE_USAGE_SAMPLED_BIT = 0x00000004,
2706 VK_IMAGE_USAGE_STORAGE_BIT = 0x00000008,
2707 VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000010,
2708 VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000020,
2709 VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000040,
2710 VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0x00000080,
2711 VK_IMAGE_USAGE_HOST_TRANSFER_BIT = 0x00400000,
2712 VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00000400,
2713 VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00000800,
2714 VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR = 0x00001000,
2715 VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x00000200,
2716 VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00000100,
2717 VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00002000,
2718 VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00004000,
2719 VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR = 0x00008000,
2720 VK_IMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x00080000,
2721 VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI = 0x00040000,
2722 VK_IMAGE_USAGE_SAMPLE_WEIGHT_BIT_QCOM = 0x00100000,
2723 VK_IMAGE_USAGE_SAMPLE_BLOCK_MATCH_BIT_QCOM = 0x00200000,
2724 VK_IMAGE_USAGE_TENSOR_ALIASING_BIT_ARM = 0x00800000,
2725 VK_IMAGE_USAGE_TILE_MEMORY_BIT_QCOM = 0x08000000,
2726 VK_IMAGE_USAGE_VIDEO_ENCODE_QUANTIZATION_DELTA_MAP_BIT_KHR = 0x02000000,
2727 VK_IMAGE_USAGE_VIDEO_ENCODE_EMPHASIS_MAP_BIT_KHR = 0x04000000,
2728 VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
2729 VK_IMAGE_USAGE_HOST_TRANSFER_BIT_EXT = VK_IMAGE_USAGE_HOST_TRANSFER_BIT,
2730 VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2731 } VkImageUsageFlagBits;
2732 typedef VkFlags VkImageUsageFlags;
2733
2734 typedef enum VkInstanceCreateFlagBits {
2735 VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR = 0x00000001,
2736 VK_INSTANCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2737 } VkInstanceCreateFlagBits;
2738 typedef VkFlags VkInstanceCreateFlags;
2739
2740 typedef enum VkMemoryHeapFlagBits {
2741 VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0x00000001,
2742 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = 0x00000002,
2743 VK_MEMORY_HEAP_TILE_MEMORY_BIT_QCOM = 0x00000008,
2744 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT,
2745 VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2746 } VkMemoryHeapFlagBits;
2747 typedef VkFlags VkMemoryHeapFlags;
2748
2749 typedef enum VkMemoryPropertyFlagBits {
2750 VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 0x00000001,
2751 VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 0x00000002,
2752 VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 0x00000004,
2753 VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 0x00000008,
2754 VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 0x00000010,
2755 VK_MEMORY_PROPERTY_PROTECTED_BIT = 0x00000020,
2756 VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD = 0x00000040,
2757 VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD = 0x00000080,
2758 VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV = 0x00000100,
2759 VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2760 } VkMemoryPropertyFlagBits;
2761 typedef VkFlags VkMemoryPropertyFlags;
2762
2763 typedef enum VkQueueFlagBits {
2764 VK_QUEUE_GRAPHICS_BIT = 0x00000001,
2765 VK_QUEUE_COMPUTE_BIT = 0x00000002,
2766 VK_QUEUE_TRANSFER_BIT = 0x00000004,
2767 VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008,
2768 VK_QUEUE_PROTECTED_BIT = 0x00000010,
2769 VK_QUEUE_VIDEO_DECODE_BIT_KHR = 0x00000020,
2770 VK_QUEUE_VIDEO_ENCODE_BIT_KHR = 0x00000040,
2771 VK_QUEUE_OPTICAL_FLOW_BIT_NV = 0x00000100,
2772 VK_QUEUE_DATA_GRAPH_BIT_ARM = 0x00000400,
2773 VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2774 } VkQueueFlagBits;
2775 typedef VkFlags VkQueueFlags;
2776 typedef VkFlags VkDeviceCreateFlags;
2777
2778 typedef enum VkDeviceQueueCreateFlagBits {
2779 VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT = 0x00000001,
2780 VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2781 } VkDeviceQueueCreateFlagBits;
2782 typedef VkFlags VkDeviceQueueCreateFlags;
2783
2784 typedef enum VkPipelineStageFlagBits {
2785 VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 0x00000001,
2786 VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 0x00000002,
2787 VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 0x00000004,
2788 VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 0x00000008,
2789 VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010,
2790 VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020,
2791 VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 0x00000040,
2792 VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 0x00000080,
2793 VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 0x00000100,
2794 VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 0x00000200,
2795 VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400,
2796 VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 0x00000800,
2797 VK_PIPELINE_STAGE_TRANSFER_BIT = 0x00001000,
2798 VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 0x00002000,
2799 VK_PIPELINE_STAGE_HOST_BIT = 0x00004000,
2800 VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0x00008000,
2801 VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00010000,
2802 VK_PIPELINE_STAGE_NONE = 0,
2803 VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000,
2804 VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000,
2805 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000,
2806 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = 0x00200000,
2807 VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000,
2808 VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000,
2809 VK_PIPELINE_STAGE_TASK_SHADER_BIT_EXT = 0x00080000,
2810 VK_PIPELINE_STAGE_MESH_SHADER_BIT_EXT = 0x00100000,
2811 VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_EXT = 0x00020000,
2812 VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
2813 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV = VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR,
2814 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
2815 VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV = VK_PIPELINE_STAGE_TASK_SHADER_BIT_EXT,
2816 VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV = VK_PIPELINE_STAGE_MESH_SHADER_BIT_EXT,
2817 VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV = VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_EXT,
2818 VK_PIPELINE_STAGE_NONE_KHR = VK_PIPELINE_STAGE_NONE,
2819 VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2820 } VkPipelineStageFlagBits;
2821 typedef VkFlags VkPipelineStageFlags;
2822
2823 typedef enum VkMemoryMapFlagBits {
2824 VK_MEMORY_MAP_PLACED_BIT_EXT = 0x00000001,
2825 VK_MEMORY_MAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2826 } VkMemoryMapFlagBits;
2827 typedef VkFlags VkMemoryMapFlags;
2828
2829 typedef enum VkSparseMemoryBindFlagBits {
2830 VK_SPARSE_MEMORY_BIND_METADATA_BIT = 0x00000001,
2831 VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2832 } VkSparseMemoryBindFlagBits;
2833 typedef VkFlags VkSparseMemoryBindFlags;
2834
2835 typedef enum VkSparseImageFormatFlagBits {
2836 VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 0x00000001,
2837 VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 0x00000002,
2838 VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 0x00000004,
2839 VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2840 } VkSparseImageFormatFlagBits;
2841 typedef VkFlags VkSparseImageFormatFlags;
2842
2843 typedef enum VkFenceCreateFlagBits {
2844 VK_FENCE_CREATE_SIGNALED_BIT = 0x00000001,
2845 VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2846 } VkFenceCreateFlagBits;
2847 typedef VkFlags VkFenceCreateFlags;
2848 typedef VkFlags VkSemaphoreCreateFlags;
2849
2850 typedef enum VkQueryPoolCreateFlagBits {
2851 VK_QUERY_POOL_CREATE_RESET_BIT_KHR = 0x00000001,
2852 VK_QUERY_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2853 } VkQueryPoolCreateFlagBits;
2854 typedef VkFlags VkQueryPoolCreateFlags;
2855
2856 typedef enum VkQueryPipelineStatisticFlagBits {
2857 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 0x00000001,
2858 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 0x00000002,
2859 VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 0x00000004,
2860 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 0x00000008,
2861 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 0x00000010,
2862 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 0x00000020,
2863 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 0x00000040,
2864 VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 0x00000080,
2865 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 0x00000100,
2866 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 0x00000200,
2867 VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 0x00000400,
2868 VK_QUERY_PIPELINE_STATISTIC_TASK_SHADER_INVOCATIONS_BIT_EXT = 0x00000800,
2869 VK_QUERY_PIPELINE_STATISTIC_MESH_SHADER_INVOCATIONS_BIT_EXT = 0x00001000,
2870 VK_QUERY_PIPELINE_STATISTIC_CLUSTER_CULLING_SHADER_INVOCATIONS_BIT_HUAWEI = 0x00002000,
2871 VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2872 } VkQueryPipelineStatisticFlagBits;
2873 typedef VkFlags VkQueryPipelineStatisticFlags;
2874
2875 typedef enum VkQueryResultFlagBits {
2876 VK_QUERY_RESULT_64_BIT = 0x00000001,
2877 VK_QUERY_RESULT_WAIT_BIT = 0x00000002,
2878 VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004,
2879 VK_QUERY_RESULT_PARTIAL_BIT = 0x00000008,
2880 VK_QUERY_RESULT_WITH_STATUS_BIT_KHR = 0x00000010,
2881 VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2882 } VkQueryResultFlagBits;
2883 typedef VkFlags VkQueryResultFlags;
2884
2885 typedef enum VkBufferCreateFlagBits {
2886 VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 0x00000001,
2887 VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
2888 VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
2889 VK_BUFFER_CREATE_PROTECTED_BIT = 0x00000008,
2890 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000010,
2891 VK_BUFFER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000020,
2892 VK_BUFFER_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR = 0x00000040,
2893 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
2894 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
2895 VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2896 } VkBufferCreateFlagBits;
2897 typedef VkFlags VkBufferCreateFlags;
2898
2899 typedef enum VkBufferUsageFlagBits {
2900 VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 0x00000001,
2901 VK_BUFFER_USAGE_TRANSFER_DST_BIT = 0x00000002,
2902 VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000004,
2903 VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 0x00000008,
2904 VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 0x00000010,
2905 VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 0x00000020,
2906 VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 0x00000040,
2907 VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 0x00000080,
2908 VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 0x00000100,
2909 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT = 0x00020000,
2910 VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00002000,
2911 VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00004000,
2912 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0x00000800,
2913 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000,
2914 VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200,
2915 #ifdef VK_ENABLE_BETA_EXTENSIONS
2916 VK_BUFFER_USAGE_EXECUTION_GRAPH_SCRATCH_BIT_AMDX = 0x02000000,
2917 #endif
2918 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR = 0x00080000,
2919 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR = 0x00100000,
2920 VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR = 0x00000400,
2921 VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00008000,
2922 VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00010000,
2923 VK_BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT = 0x00200000,
2924 VK_BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT = 0x00400000,
2925 VK_BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT = 0x04000000,
2926 VK_BUFFER_USAGE_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT = 0x00800000,
2927 VK_BUFFER_USAGE_MICROMAP_STORAGE_BIT_EXT = 0x01000000,
2928 VK_BUFFER_USAGE_TILE_MEMORY_BIT_QCOM = 0x08000000,
2929 VK_BUFFER_USAGE_RAY_TRACING_BIT_NV = VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR,
2930 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
2931 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
2932 VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2933 } VkBufferUsageFlagBits;
2934 typedef VkFlags VkBufferUsageFlags;
2935
2936 typedef enum VkImageViewCreateFlagBits {
2937 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT = 0x00000001,
2938 VK_IMAGE_VIEW_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000004,
2939 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT = 0x00000002,
2940 VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2941 } VkImageViewCreateFlagBits;
2942 typedef VkFlags VkImageViewCreateFlags;
2943
2944 typedef enum VkDependencyFlagBits {
2945 VK_DEPENDENCY_BY_REGION_BIT = 0x00000001,
2946 VK_DEPENDENCY_DEVICE_GROUP_BIT = 0x00000004,
2947 VK_DEPENDENCY_VIEW_LOCAL_BIT = 0x00000002,
2948 VK_DEPENDENCY_FEEDBACK_LOOP_BIT_EXT = 0x00000008,
2949 VK_DEPENDENCY_QUEUE_FAMILY_OWNERSHIP_TRANSFER_USE_ALL_STAGES_BIT_KHR = 0x00000020,
2950 VK_DEPENDENCY_ASYMMETRIC_EVENT_BIT_KHR = 0x00000040,
2951 VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR = VK_DEPENDENCY_VIEW_LOCAL_BIT,
2952 VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR = VK_DEPENDENCY_DEVICE_GROUP_BIT,
2953 VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2954 } VkDependencyFlagBits;
2955 typedef VkFlags VkDependencyFlags;
2956
2957 typedef enum VkCommandPoolCreateFlagBits {
2958 VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 0x00000001,
2959 VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002,
2960 VK_COMMAND_POOL_CREATE_PROTECTED_BIT = 0x00000004,
2961 VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2962 } VkCommandPoolCreateFlagBits;
2963 typedef VkFlags VkCommandPoolCreateFlags;
2964
2965 typedef enum VkCommandPoolResetFlagBits {
2966 VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
2967 VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2968 } VkCommandPoolResetFlagBits;
2969 typedef VkFlags VkCommandPoolResetFlags;
2970
2971 typedef enum VkCommandBufferUsageFlagBits {
2972 VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 0x00000001,
2973 VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 0x00000002,
2974 VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 0x00000004,
2975 VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2976 } VkCommandBufferUsageFlagBits;
2977 typedef VkFlags VkCommandBufferUsageFlags;
2978
2979 typedef enum VkQueryControlFlagBits {
2980 VK_QUERY_CONTROL_PRECISE_BIT = 0x00000001,
2981 VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2982 } VkQueryControlFlagBits;
2983 typedef VkFlags VkQueryControlFlags;
2984
2985 typedef enum VkCommandBufferResetFlagBits {
2986 VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
2987 VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2988 } VkCommandBufferResetFlagBits;
2989 typedef VkFlags VkCommandBufferResetFlags;
2990
2991 typedef enum VkEventCreateFlagBits {
2992 VK_EVENT_CREATE_DEVICE_ONLY_BIT = 0x00000001,
2993 VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR = VK_EVENT_CREATE_DEVICE_ONLY_BIT,
2994 VK_EVENT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2995 } VkEventCreateFlagBits;
2996 typedef VkFlags VkEventCreateFlags;
2997 typedef VkFlags VkBufferViewCreateFlags;
2998 typedef VkFlags VkShaderModuleCreateFlags;
2999
3000 typedef enum VkPipelineCacheCreateFlagBits {
3001 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT = 0x00000001,
3002 VK_PIPELINE_CACHE_CREATE_INTERNALLY_SYNCHRONIZED_MERGE_BIT_KHR = 0x00000008,
3003 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT = VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT,
3004 VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3005 } VkPipelineCacheCreateFlagBits;
3006 typedef VkFlags VkPipelineCacheCreateFlags;
3007
3008 typedef enum VkPipelineCreateFlagBits {
3009 VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0x00000001,
3010 VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 0x00000002,
3011 VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0x00000004,
3012 VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 0x00000010,
3013 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 0x00000008,
3014 VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT = 0x00000100,
3015 VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT = 0x00000200,
3016 VK_PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT = 0x08000000,
3017 VK_PIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT = 0x40000000,
3018 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 0x00004000,
3019 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 0x00008000,
3020 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 0x00010000,
3021 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR = 0x00020000,
3022 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR = 0x00001000,
3023 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR = 0x00002000,
3024 VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR = 0x00080000,
3025 VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV = 0x00000020,
3026 VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 0x00400000,
3027 VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00200000,
3028 VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR = 0x00000040,
3029 VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 0x00000080,
3030 VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = 0x00040000,
3031 VK_PIPELINE_CREATE_LIBRARY_BIT_KHR = 0x00000800,
3032 VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT = 0x20000000,
3033 VK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT = 0x00800000,
3034 VK_PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT = 0x00000400,
3035 VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV = 0x00100000,
3036 VK_PIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x02000000,
3037 VK_PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x04000000,
3038 VK_PIPELINE_CREATE_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT = 0x01000000,
3039 #ifdef VK_ENABLE_BETA_EXTENSIONS
3040 VK_PIPELINE_CREATE_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV = 0x10000000,
3041 #endif
3042 // VK_PIPELINE_CREATE_DISPATCH_BASE is a legacy alias
3043 VK_PIPELINE_CREATE_DISPATCH_BASE = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT,
3044 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT,
3045 VK_PIPELINE_CREATE_DISPATCH_BASE_BIT_KHR = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT,
3046 // VK_PIPELINE_CREATE_DISPATCH_BASE_KHR is a legacy alias
3047 VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT,
3048 // VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT is a legacy alias
3049 VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT,
3050 // VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR is a legacy alias
3051 VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
3052 VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT,
3053 VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT,
3054 VK_PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT_EXT = VK_PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT,
3055 VK_PIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT_EXT = VK_PIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT,
3056 VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3057 } VkPipelineCreateFlagBits;
3058 typedef VkFlags VkPipelineCreateFlags;
3059
3060 typedef enum VkPipelineShaderStageCreateFlagBits {
3061 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT = 0x00000001,
3062 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT = 0x00000002,
3063 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT,
3064 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT,
3065 VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3066 } VkPipelineShaderStageCreateFlagBits;
3067 typedef VkFlags VkPipelineShaderStageCreateFlags;
3068
3069 typedef enum VkShaderStageFlagBits {
3070 VK_SHADER_STAGE_VERTEX_BIT = 0x00000001,
3071 VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 0x00000002,
3072 VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 0x00000004,
3073 VK_SHADER_STAGE_GEOMETRY_BIT = 0x00000008,
3074 VK_SHADER_STAGE_FRAGMENT_BIT = 0x00000010,
3075 VK_SHADER_STAGE_COMPUTE_BIT = 0x00000020,
3076 VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001F,
3077 VK_SHADER_STAGE_ALL = 0x7FFFFFFF,
3078 VK_SHADER_STAGE_RAYGEN_BIT_KHR = 0x00000100,
3079 VK_SHADER_STAGE_ANY_HIT_BIT_KHR = 0x00000200,
3080 VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR = 0x00000400,
3081 VK_SHADER_STAGE_MISS_BIT_KHR = 0x00000800,
3082 VK_SHADER_STAGE_INTERSECTION_BIT_KHR = 0x00001000,
3083 VK_SHADER_STAGE_CALLABLE_BIT_KHR = 0x00002000,
3084 VK_SHADER_STAGE_TASK_BIT_EXT = 0x00000040,
3085 VK_SHADER_STAGE_MESH_BIT_EXT = 0x00000080,
3086 VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI = 0x00004000,
3087 VK_SHADER_STAGE_CLUSTER_CULLING_BIT_HUAWEI = 0x00080000,
3088 VK_SHADER_STAGE_RAYGEN_BIT_NV = VK_SHADER_STAGE_RAYGEN_BIT_KHR,
3089 VK_SHADER_STAGE_ANY_HIT_BIT_NV = VK_SHADER_STAGE_ANY_HIT_BIT_KHR,
3090 VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV = VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR,
3091 VK_SHADER_STAGE_MISS_BIT_NV = VK_SHADER_STAGE_MISS_BIT_KHR,
3092 VK_SHADER_STAGE_INTERSECTION_BIT_NV = VK_SHADER_STAGE_INTERSECTION_BIT_KHR,
3093 VK_SHADER_STAGE_CALLABLE_BIT_NV = VK_SHADER_STAGE_CALLABLE_BIT_KHR,
3094 VK_SHADER_STAGE_TASK_BIT_NV = VK_SHADER_STAGE_TASK_BIT_EXT,
3095 VK_SHADER_STAGE_MESH_BIT_NV = VK_SHADER_STAGE_MESH_BIT_EXT,
3096 VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3097 } VkShaderStageFlagBits;
3098
3099 typedef enum VkPipelineLayoutCreateFlagBits {
3100 VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT = 0x00000002,
3101 VK_PIPELINE_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3102 } VkPipelineLayoutCreateFlagBits;
3103 typedef VkFlags VkPipelineLayoutCreateFlags;
3104 typedef VkFlags VkShaderStageFlags;
3105
3106 typedef enum VkSamplerCreateFlagBits {
3107 VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT = 0x00000001,
3108 VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT = 0x00000002,
3109 VK_SAMPLER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000008,
3110 VK_SAMPLER_CREATE_NON_SEAMLESS_CUBE_MAP_BIT_EXT = 0x00000004,
3111 VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM = 0x00000010,
3112 VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3113 } VkSamplerCreateFlagBits;
3114 typedef VkFlags VkSamplerCreateFlags;
3115
3116 typedef enum VkDescriptorPoolCreateFlagBits {
3117 VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001,
3118 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT = 0x00000002,
3119 VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXT = 0x00000004,
3120 VK_DESCRIPTOR_POOL_CREATE_ALLOW_OVERALLOCATION_SETS_BIT_NV = 0x00000008,
3121 VK_DESCRIPTOR_POOL_CREATE_ALLOW_OVERALLOCATION_POOLS_BIT_NV = 0x00000010,
3122 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT,
3123 VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE = VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXT,
3124 VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3125 } VkDescriptorPoolCreateFlagBits;
3126 typedef VkFlags VkDescriptorPoolCreateFlags;
3127 typedef VkFlags VkDescriptorPoolResetFlags;
3128
3129 typedef enum VkDescriptorSetLayoutCreateFlagBits {
3130 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT = 0x00000002,
3131 VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT = 0x00000001,
3132 VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT = 0x00000010,
3133 VK_DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT = 0x00000020,
3134 VK_DESCRIPTOR_SET_LAYOUT_CREATE_INDIRECT_BINDABLE_BIT_NV = 0x00000080,
3135 VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT = 0x00000004,
3136 VK_DESCRIPTOR_SET_LAYOUT_CREATE_PER_STAGE_BIT_NV = 0x00000040,
3137 VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT,
3138 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT,
3139 VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE = VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT,
3140 VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3141 } VkDescriptorSetLayoutCreateFlagBits;
3142 typedef VkFlags VkDescriptorSetLayoutCreateFlags;
3143
3144 typedef enum VkColorComponentFlagBits {
3145 VK_COLOR_COMPONENT_R_BIT = 0x00000001,
3146 VK_COLOR_COMPONENT_G_BIT = 0x00000002,
3147 VK_COLOR_COMPONENT_B_BIT = 0x00000004,
3148 VK_COLOR_COMPONENT_A_BIT = 0x00000008,
3149 VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3150 } VkColorComponentFlagBits;
3151 typedef VkFlags VkColorComponentFlags;
3152
3153 typedef enum VkCullModeFlagBits {
3154 VK_CULL_MODE_NONE = 0,
3155 VK_CULL_MODE_FRONT_BIT = 0x00000001,
3156 VK_CULL_MODE_BACK_BIT = 0x00000002,
3157 VK_CULL_MODE_FRONT_AND_BACK = 0x00000003,
3158 VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3159 } VkCullModeFlagBits;
3160 typedef VkFlags VkCullModeFlags;
3161 typedef VkFlags VkPipelineVertexInputStateCreateFlags;
3162 typedef VkFlags VkPipelineInputAssemblyStateCreateFlags;
3163 typedef VkFlags VkPipelineTessellationStateCreateFlags;
3164 typedef VkFlags VkPipelineViewportStateCreateFlags;
3165 typedef VkFlags VkPipelineRasterizationStateCreateFlags;
3166 typedef VkFlags VkPipelineMultisampleStateCreateFlags;
3167
3168 typedef enum VkPipelineDepthStencilStateCreateFlagBits {
3169 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT = 0x00000001,
3170 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT = 0x00000002,
3171 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,
3172 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,
3173 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3174 } VkPipelineDepthStencilStateCreateFlagBits;
3175 typedef VkFlags VkPipelineDepthStencilStateCreateFlags;
3176
3177 typedef enum VkPipelineColorBlendStateCreateFlagBits {
3178 VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT = 0x00000001,
3179 VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM = VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT,
3180 VK_PIPELINE_COLOR_BLEND_STATE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3181 } VkPipelineColorBlendStateCreateFlagBits;
3182 typedef VkFlags VkPipelineColorBlendStateCreateFlags;
3183 typedef VkFlags VkPipelineDynamicStateCreateFlags;
3184
3185 typedef enum VkAttachmentDescriptionFlagBits {
3186 VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001,
3187 VK_ATTACHMENT_DESCRIPTION_RESOLVE_SKIP_TRANSFER_FUNCTION_BIT_KHR = 0x00000002,
3188 VK_ATTACHMENT_DESCRIPTION_RESOLVE_ENABLE_TRANSFER_FUNCTION_BIT_KHR = 0x00000004,
3189 VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3190 } VkAttachmentDescriptionFlagBits;
3191 typedef VkFlags VkAttachmentDescriptionFlags;
3192
3193 typedef enum VkFramebufferCreateFlagBits {
3194 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT = 0x00000001,
3195 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR = VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT,
3196 VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3197 } VkFramebufferCreateFlagBits;
3198 typedef VkFlags VkFramebufferCreateFlags;
3199
3200 typedef enum VkRenderPassCreateFlagBits {
3201 VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM = 0x00000002,
3202 VK_RENDER_PASS_CREATE_PER_LAYER_FRAGMENT_DENSITY_BIT_VALVE = 0x00000004,
3203 VK_RENDER_PASS_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3204 } VkRenderPassCreateFlagBits;
3205 typedef VkFlags VkRenderPassCreateFlags;
3206
3207 typedef enum VkSubpassDescriptionFlagBits {
3208 VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX = 0x00000001,
3209 VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 0x00000002,
3210 VK_SUBPASS_DESCRIPTION_TILE_SHADING_APRON_BIT_QCOM = 0x00000100,
3211 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_EXT = 0x00000010,
3212 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT = 0x00000020,
3213 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT = 0x00000040,
3214 VK_SUBPASS_DESCRIPTION_ENABLE_LEGACY_DITHERING_BIT_EXT = 0x00000080,
3215 VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_EXT = 0x00000004,
3216 VK_SUBPASS_DESCRIPTION_CUSTOM_RESOLVE_BIT_EXT = 0x00000008,
3217 VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM = VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_EXT,
3218 VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM = VK_SUBPASS_DESCRIPTION_CUSTOM_RESOLVE_BIT_EXT,
3219 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_EXT,
3220 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT,
3221 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT,
3222 VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3223 } VkSubpassDescriptionFlagBits;
3224 typedef VkFlags VkSubpassDescriptionFlags;
3225
3226 typedef enum VkStencilFaceFlagBits {
3227 VK_STENCIL_FACE_FRONT_BIT = 0x00000001,
3228 VK_STENCIL_FACE_BACK_BIT = 0x00000002,
3229 VK_STENCIL_FACE_FRONT_AND_BACK = 0x00000003,
3230 // VK_STENCIL_FRONT_AND_BACK is a legacy alias
3231 VK_STENCIL_FRONT_AND_BACK = VK_STENCIL_FACE_FRONT_AND_BACK,
3232 VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3233 } VkStencilFaceFlagBits;
3234 typedef VkFlags VkStencilFaceFlags;
3235 typedef struct VkExtent2D {
3236 uint32_t width;
3237 uint32_t height;
3238 } VkExtent2D;
3239
3240 typedef struct VkExtent3D {
3241 uint32_t width;
3242 uint32_t height;
3243 uint32_t depth;
3244 } VkExtent3D;
3245
3246 typedef struct VkOffset2D {
3247 int32_t x;
3248 int32_t y;
3249 } VkOffset2D;
3250
3251 typedef struct VkOffset3D {
3252 int32_t x;
3253 int32_t y;
3254 int32_t z;
3255 } VkOffset3D;
3256
3257 typedef struct VkRect2D {
3258 VkOffset2D offset;
3259 VkExtent2D extent;
3260 } VkRect2D;
3261
3262 typedef struct VkBaseInStructure {
3263 VkStructureType sType;
3264 const struct VkBaseInStructure* pNext;
3265 } VkBaseInStructure;
3266
3267 typedef struct VkBaseOutStructure {
3268 VkStructureType sType;
3269 struct VkBaseOutStructure* pNext;
3270 } VkBaseOutStructure;
3271
3272 typedef struct VkBufferMemoryBarrier {
3273 VkStructureType sType;
3274 const void* pNext;
3275 VkAccessFlags srcAccessMask;
3276 VkAccessFlags dstAccessMask;
3277 uint32_t srcQueueFamilyIndex;
3278 uint32_t dstQueueFamilyIndex;
3279 VkBuffer buffer;
3280 VkDeviceSize offset;
3281 VkDeviceSize size;
3282 } VkBufferMemoryBarrier;
3283
3284 typedef struct VkImageSubresourceRange {
3285 VkImageAspectFlags aspectMask;
3286 uint32_t baseMipLevel;
3287 uint32_t levelCount;
3288 uint32_t baseArrayLayer;
3289 uint32_t layerCount;
3290 } VkImageSubresourceRange;
3291
3292 typedef struct VkImageMemoryBarrier {
3293 VkStructureType sType;
3294 const void* pNext;
3295 VkAccessFlags srcAccessMask;
3296 VkAccessFlags dstAccessMask;
3297 VkImageLayout oldLayout;
3298 VkImageLayout newLayout;
3299 uint32_t srcQueueFamilyIndex;
3300 uint32_t dstQueueFamilyIndex;
3301 VkImage image;
3302 VkImageSubresourceRange subresourceRange;
3303 } VkImageMemoryBarrier;
3304
3305 typedef struct VkMemoryBarrier {
3306 VkStructureType sType;
3307 const void* pNext;
3308 VkAccessFlags srcAccessMask;
3309 VkAccessFlags dstAccessMask;
3310 } VkMemoryBarrier;
3311
3312 typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
3313 void* pUserData,
3314 size_t size,
3315 size_t alignment,
3316 VkSystemAllocationScope allocationScope);
3317
3318 typedef void (VKAPI_PTR *PFN_vkFreeFunction)(
3319 void* pUserData,
3320 void* pMemory);
3321
3322 typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(
3323 void* pUserData,
3324 size_t size,
3325 VkInternalAllocationType allocationType,
3326 VkSystemAllocationScope allocationScope);
3327
3328 typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(
3329 void* pUserData,
3330 size_t size,
3331 VkInternalAllocationType allocationType,
3332 VkSystemAllocationScope allocationScope);
3333
3334 typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
3335 void* pUserData,
3336 void* pOriginal,
3337 size_t size,
3338 size_t alignment,
3339 VkSystemAllocationScope allocationScope);
3340
3341 typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
3342 typedef struct VkAllocationCallbacks {
3343 void* pUserData;
3344 PFN_vkAllocationFunction pfnAllocation;
3345 PFN_vkReallocationFunction pfnReallocation;
3346 PFN_vkFreeFunction pfnFree;
3347 PFN_vkInternalAllocationNotification pfnInternalAllocation;
3348 PFN_vkInternalFreeNotification pfnInternalFree;
3349 } VkAllocationCallbacks;
3350
3351 typedef struct VkApplicationInfo {
3352 VkStructureType sType;
3353 const void* pNext;
3354 const char* pApplicationName;
3355 uint32_t applicationVersion;
3356 const char* pEngineName;
3357 uint32_t engineVersion;
3358 uint32_t apiVersion;
3359 } VkApplicationInfo;
3360
3361 typedef struct VkFormatProperties {
3362 VkFormatFeatureFlags linearTilingFeatures;
3363 VkFormatFeatureFlags optimalTilingFeatures;
3364 VkFormatFeatureFlags bufferFeatures;
3365 } VkFormatProperties;
3366
3367 typedef struct VkImageFormatProperties {
3368 VkExtent3D maxExtent;
3369 uint32_t maxMipLevels;
3370 uint32_t maxArrayLayers;
3371 VkSampleCountFlags sampleCounts;
3372 VkDeviceSize maxResourceSize;
3373 } VkImageFormatProperties;
3374
3375 typedef struct VkInstanceCreateInfo {
3376 VkStructureType sType;
3377 const void* pNext;
3378 VkInstanceCreateFlags flags;
3379 const VkApplicationInfo* pApplicationInfo;
3380 uint32_t enabledLayerCount;
3381 const char* const* ppEnabledLayerNames;
3382 uint32_t enabledExtensionCount;
3383 const char* const* ppEnabledExtensionNames;
3384 } VkInstanceCreateInfo;
3385
3386 typedef struct VkMemoryHeap {
3387 VkDeviceSize size;
3388 VkMemoryHeapFlags flags;
3389 } VkMemoryHeap;
3390
3391 typedef struct VkMemoryType {
3392 VkMemoryPropertyFlags propertyFlags;
3393 uint32_t heapIndex;
3394 } VkMemoryType;
3395
3396 typedef struct VkPhysicalDeviceFeatures {
3397 VkBool32 robustBufferAccess;
3398 VkBool32 fullDrawIndexUint32;
3399 VkBool32 imageCubeArray;
3400 VkBool32 independentBlend;
3401 VkBool32 geometryShader;
3402 VkBool32 tessellationShader;
3403 VkBool32 sampleRateShading;
3404 VkBool32 dualSrcBlend;
3405 VkBool32 logicOp;
3406 VkBool32 multiDrawIndirect;
3407 VkBool32 drawIndirectFirstInstance;
3408 VkBool32 depthClamp;
3409 VkBool32 depthBiasClamp;
3410 VkBool32 fillModeNonSolid;
3411 VkBool32 depthBounds;
3412 VkBool32 wideLines;
3413 VkBool32 largePoints;
3414 VkBool32 alphaToOne;
3415 VkBool32 multiViewport;
3416 VkBool32 samplerAnisotropy;
3417 VkBool32 textureCompressionETC2;
3418 VkBool32 textureCompressionASTC_LDR;
3419 VkBool32 textureCompressionBC;
3420 VkBool32 occlusionQueryPrecise;
3421 VkBool32 pipelineStatisticsQuery;
3422 VkBool32 vertexPipelineStoresAndAtomics;
3423 VkBool32 fragmentStoresAndAtomics;
3424 VkBool32 shaderTessellationAndGeometryPointSize;
3425 VkBool32 shaderImageGatherExtended;
3426 VkBool32 shaderStorageImageExtendedFormats;
3427 VkBool32 shaderStorageImageMultisample;
3428 VkBool32 shaderStorageImageReadWithoutFormat;
3429 VkBool32 shaderStorageImageWriteWithoutFormat;
3430 VkBool32 shaderUniformBufferArrayDynamicIndexing;
3431 VkBool32 shaderSampledImageArrayDynamicIndexing;
3432 VkBool32 shaderStorageBufferArrayDynamicIndexing;
3433 VkBool32 shaderStorageImageArrayDynamicIndexing;
3434 VkBool32 shaderClipDistance;
3435 VkBool32 shaderCullDistance;
3436 VkBool32 shaderFloat64;
3437 VkBool32 shaderInt64;
3438 VkBool32 shaderInt16;
3439 VkBool32 shaderResourceResidency;
3440 VkBool32 shaderResourceMinLod;
3441 VkBool32 sparseBinding;
3442 VkBool32 sparseResidencyBuffer;
3443 VkBool32 sparseResidencyImage2D;
3444 VkBool32 sparseResidencyImage3D;
3445 VkBool32 sparseResidency2Samples;
3446 VkBool32 sparseResidency4Samples;
3447 VkBool32 sparseResidency8Samples;
3448 VkBool32 sparseResidency16Samples;
3449 VkBool32 sparseResidencyAliased;
3450 VkBool32 variableMultisampleRate;
3451 VkBool32 inheritedQueries;
3452 } VkPhysicalDeviceFeatures;
3453
3454 typedef struct VkPhysicalDeviceLimits {
3455 uint32_t maxImageDimension1D;
3456 uint32_t maxImageDimension2D;
3457 uint32_t maxImageDimension3D;
3458 uint32_t maxImageDimensionCube;
3459 uint32_t maxImageArrayLayers;
3460 uint32_t maxTexelBufferElements;
3461 uint32_t maxUniformBufferRange;
3462 uint32_t maxStorageBufferRange;
3463 uint32_t maxPushConstantsSize;
3464 uint32_t maxMemoryAllocationCount;
3465 uint32_t maxSamplerAllocationCount;
3466 VkDeviceSize bufferImageGranularity;
3467 VkDeviceSize sparseAddressSpaceSize;
3468 uint32_t maxBoundDescriptorSets;
3469 uint32_t maxPerStageDescriptorSamplers;
3470 uint32_t maxPerStageDescriptorUniformBuffers;
3471 uint32_t maxPerStageDescriptorStorageBuffers;
3472 uint32_t maxPerStageDescriptorSampledImages;
3473 uint32_t maxPerStageDescriptorStorageImages;
3474 uint32_t maxPerStageDescriptorInputAttachments;
3475 uint32_t maxPerStageResources;
3476 uint32_t maxDescriptorSetSamplers;
3477 uint32_t maxDescriptorSetUniformBuffers;
3478 uint32_t maxDescriptorSetUniformBuffersDynamic;
3479 uint32_t maxDescriptorSetStorageBuffers;
3480 uint32_t maxDescriptorSetStorageBuffersDynamic;
3481 uint32_t maxDescriptorSetSampledImages;
3482 uint32_t maxDescriptorSetStorageImages;
3483 uint32_t maxDescriptorSetInputAttachments;
3484 uint32_t maxVertexInputAttributes;
3485 uint32_t maxVertexInputBindings;
3486 uint32_t maxVertexInputAttributeOffset;
3487 uint32_t maxVertexInputBindingStride;
3488 uint32_t maxVertexOutputComponents;
3489 uint32_t maxTessellationGenerationLevel;
3490 uint32_t maxTessellationPatchSize;
3491 uint32_t maxTessellationControlPerVertexInputComponents;
3492 uint32_t maxTessellationControlPerVertexOutputComponents;
3493 uint32_t maxTessellationControlPerPatchOutputComponents;
3494 uint32_t maxTessellationControlTotalOutputComponents;
3495 uint32_t maxTessellationEvaluationInputComponents;
3496 uint32_t maxTessellationEvaluationOutputComponents;
3497 uint32_t maxGeometryShaderInvocations;
3498 uint32_t maxGeometryInputComponents;
3499 uint32_t maxGeometryOutputComponents;
3500 uint32_t maxGeometryOutputVertices;
3501 uint32_t maxGeometryTotalOutputComponents;
3502 uint32_t maxFragmentInputComponents;
3503 uint32_t maxFragmentOutputAttachments;
3504 uint32_t maxFragmentDualSrcAttachments;
3505 uint32_t maxFragmentCombinedOutputResources;
3506 uint32_t maxComputeSharedMemorySize;
3507 uint32_t maxComputeWorkGroupCount[3];
3508 uint32_t maxComputeWorkGroupInvocations;
3509 uint32_t maxComputeWorkGroupSize[3];
3510 uint32_t subPixelPrecisionBits;
3511 uint32_t subTexelPrecisionBits;
3512 uint32_t mipmapPrecisionBits;
3513 uint32_t maxDrawIndexedIndexValue;
3514 uint32_t maxDrawIndirectCount;
3515 float maxSamplerLodBias;
3516 float maxSamplerAnisotropy;
3517 uint32_t maxViewports;
3518 uint32_t maxViewportDimensions[2];
3519 float viewportBoundsRange[2];
3520 uint32_t viewportSubPixelBits;
3521 size_t minMemoryMapAlignment;
3522 VkDeviceSize minTexelBufferOffsetAlignment;
3523 VkDeviceSize minUniformBufferOffsetAlignment;
3524 VkDeviceSize minStorageBufferOffsetAlignment;
3525 int32_t minTexelOffset;
3526 uint32_t maxTexelOffset;
3527 int32_t minTexelGatherOffset;
3528 uint32_t maxTexelGatherOffset;
3529 float minInterpolationOffset;
3530 float maxInterpolationOffset;
3531 uint32_t subPixelInterpolationOffsetBits;
3532 uint32_t maxFramebufferWidth;
3533 uint32_t maxFramebufferHeight;
3534 uint32_t maxFramebufferLayers;
3535 VkSampleCountFlags framebufferColorSampleCounts;
3536 VkSampleCountFlags framebufferDepthSampleCounts;
3537 VkSampleCountFlags framebufferStencilSampleCounts;
3538 VkSampleCountFlags framebufferNoAttachmentsSampleCounts;
3539 uint32_t maxColorAttachments;
3540 VkSampleCountFlags sampledImageColorSampleCounts;
3541 VkSampleCountFlags sampledImageIntegerSampleCounts;
3542 VkSampleCountFlags sampledImageDepthSampleCounts;
3543 VkSampleCountFlags sampledImageStencilSampleCounts;
3544 VkSampleCountFlags storageImageSampleCounts;
3545 uint32_t maxSampleMaskWords;
3546 VkBool32 timestampComputeAndGraphics;
3547 float timestampPeriod;
3548 uint32_t maxClipDistances;
3549 uint32_t maxCullDistances;
3550 uint32_t maxCombinedClipAndCullDistances;
3551 uint32_t discreteQueuePriorities;
3552 float pointSizeRange[2];
3553 float lineWidthRange[2];
3554 float pointSizeGranularity;
3555 float lineWidthGranularity;
3556 VkBool32 strictLines;
3557 VkBool32 standardSampleLocations;
3558 VkDeviceSize optimalBufferCopyOffsetAlignment;
3559 VkDeviceSize optimalBufferCopyRowPitchAlignment;
3560 VkDeviceSize nonCoherentAtomSize;
3561 } VkPhysicalDeviceLimits;
3562
3563 typedef struct VkPhysicalDeviceMemoryProperties {
3564 uint32_t memoryTypeCount;
3565 VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES];
3566 uint32_t memoryHeapCount;
3567 VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS];
3568 } VkPhysicalDeviceMemoryProperties;
3569
3570 typedef struct VkPhysicalDeviceSparseProperties {
3571 VkBool32 residencyStandard2DBlockShape;
3572 VkBool32 residencyStandard2DMultisampleBlockShape;
3573 VkBool32 residencyStandard3DBlockShape;
3574 VkBool32 residencyAlignedMipSize;
3575 VkBool32 residencyNonResidentStrict;
3576 } VkPhysicalDeviceSparseProperties;
3577
3578 typedef struct VkPhysicalDeviceProperties {
3579 uint32_t apiVersion;
3580 uint32_t driverVersion;
3581 uint32_t vendorID;
3582 uint32_t deviceID;
3583 VkPhysicalDeviceType deviceType;
3584 char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
3585 uint8_t pipelineCacheUUID[VK_UUID_SIZE];
3586 VkPhysicalDeviceLimits limits;
3587 VkPhysicalDeviceSparseProperties sparseProperties;
3588 } VkPhysicalDeviceProperties;
3589
3590 typedef struct VkQueueFamilyProperties {
3591 VkQueueFlags queueFlags;
3592 uint32_t queueCount;
3593 uint32_t timestampValidBits;
3594 VkExtent3D minImageTransferGranularity;
3595 } VkQueueFamilyProperties;
3596
3597 typedef struct VkDeviceQueueCreateInfo {
3598 VkStructureType sType;
3599 const void* pNext;
3600 VkDeviceQueueCreateFlags flags;
3601 uint32_t queueFamilyIndex;
3602 uint32_t queueCount;
3603 const float* pQueuePriorities;
3604 } VkDeviceQueueCreateInfo;
3605
3606 typedef struct VkDeviceCreateInfo {
3607 VkStructureType sType;
3608 const void* pNext;
3609 VkDeviceCreateFlags flags;
3610 uint32_t queueCreateInfoCount;
3611 const VkDeviceQueueCreateInfo* pQueueCreateInfos;
3612 // enabledLayerCount is legacy and should not be used
3613 uint32_t enabledLayerCount;
3614 // ppEnabledLayerNames is legacy and should not be used
3615 const char* const* ppEnabledLayerNames;
3616 uint32_t enabledExtensionCount;
3617 const char* const* ppEnabledExtensionNames;
3618 const VkPhysicalDeviceFeatures* pEnabledFeatures;
3619 } VkDeviceCreateInfo;
3620
3621 typedef struct VkExtensionProperties {
3622 char extensionName[VK_MAX_EXTENSION_NAME_SIZE];
3623 uint32_t specVersion;
3624 } VkExtensionProperties;
3625
3626 typedef struct VkLayerProperties {
3627 char layerName[VK_MAX_EXTENSION_NAME_SIZE];
3628 uint32_t specVersion;
3629 uint32_t implementationVersion;
3630 char description[VK_MAX_DESCRIPTION_SIZE];
3631 } VkLayerProperties;
3632
3633 typedef struct VkSubmitInfo {
3634 VkStructureType sType;
3635 const void* pNext;
3636 uint32_t waitSemaphoreCount;
3637 const VkSemaphore* pWaitSemaphores;
3638 const VkPipelineStageFlags* pWaitDstStageMask;
3639 uint32_t commandBufferCount;
3640 const VkCommandBuffer* pCommandBuffers;
3641 uint32_t signalSemaphoreCount;
3642 const VkSemaphore* pSignalSemaphores;
3643 } VkSubmitInfo;
3644
3645 typedef struct VkMappedMemoryRange {
3646 VkStructureType sType;
3647 const void* pNext;
3648 VkDeviceMemory memory;
3649 VkDeviceSize offset;
3650 VkDeviceSize size;
3651 } VkMappedMemoryRange;
3652
3653 typedef struct VkMemoryAllocateInfo {
3654 VkStructureType sType;
3655 const void* pNext;
3656 VkDeviceSize allocationSize;
3657 uint32_t memoryTypeIndex;
3658 } VkMemoryAllocateInfo;
3659
3660 typedef struct VkMemoryRequirements {
3661 VkDeviceSize size;
3662 VkDeviceSize alignment;
3663 uint32_t memoryTypeBits;
3664 } VkMemoryRequirements;
3665
3666 typedef struct VkSparseMemoryBind {
3667 VkDeviceSize resourceOffset;
3668 VkDeviceSize size;
3669 VkDeviceMemory memory;
3670 VkDeviceSize memoryOffset;
3671 VkSparseMemoryBindFlags flags;
3672 } VkSparseMemoryBind;
3673
3674 typedef struct VkSparseBufferMemoryBindInfo {
3675 VkBuffer buffer;
3676 uint32_t bindCount;
3677 const VkSparseMemoryBind* pBinds;
3678 } VkSparseBufferMemoryBindInfo;
3679
3680 typedef struct VkSparseImageOpaqueMemoryBindInfo {
3681 VkImage image;
3682 uint32_t bindCount;
3683 const VkSparseMemoryBind* pBinds;
3684 } VkSparseImageOpaqueMemoryBindInfo;
3685
3686 typedef struct VkImageSubresource {
3687 VkImageAspectFlags aspectMask;
3688 uint32_t mipLevel;
3689 uint32_t arrayLayer;
3690 } VkImageSubresource;
3691
3692 typedef struct VkSparseImageMemoryBind {
3693 VkImageSubresource subresource;
3694 VkOffset3D offset;
3695 VkExtent3D extent;
3696 VkDeviceMemory memory;
3697 VkDeviceSize memoryOffset;
3698 VkSparseMemoryBindFlags flags;
3699 } VkSparseImageMemoryBind;
3700
3701 typedef struct VkSparseImageMemoryBindInfo {
3702 VkImage image;
3703 uint32_t bindCount;
3704 const VkSparseImageMemoryBind* pBinds;
3705 } VkSparseImageMemoryBindInfo;
3706
3707 typedef struct VkBindSparseInfo {
3708 VkStructureType sType;
3709 const void* pNext;
3710 uint32_t waitSemaphoreCount;
3711 const VkSemaphore* pWaitSemaphores;
3712 uint32_t bufferBindCount;
3713 const VkSparseBufferMemoryBindInfo* pBufferBinds;
3714 uint32_t imageOpaqueBindCount;
3715 const VkSparseImageOpaqueMemoryBindInfo* pImageOpaqueBinds;
3716 uint32_t imageBindCount;
3717 const VkSparseImageMemoryBindInfo* pImageBinds;
3718 uint32_t signalSemaphoreCount;
3719 const VkSemaphore* pSignalSemaphores;
3720 } VkBindSparseInfo;
3721
3722 typedef struct VkSparseImageFormatProperties {
3723 VkImageAspectFlags aspectMask;
3724 VkExtent3D imageGranularity;
3725 VkSparseImageFormatFlags flags;
3726 } VkSparseImageFormatProperties;
3727
3728 typedef struct VkSparseImageMemoryRequirements {
3729 VkSparseImageFormatProperties formatProperties;
3730 uint32_t imageMipTailFirstLod;
3731 VkDeviceSize imageMipTailSize;
3732 VkDeviceSize imageMipTailOffset;
3733 VkDeviceSize imageMipTailStride;
3734 } VkSparseImageMemoryRequirements;
3735
3736 typedef struct VkFenceCreateInfo {
3737 VkStructureType sType;
3738 const void* pNext;
3739 VkFenceCreateFlags flags;
3740 } VkFenceCreateInfo;
3741
3742 typedef struct VkSemaphoreCreateInfo {
3743 VkStructureType sType;
3744 const void* pNext;
3745 VkSemaphoreCreateFlags flags;
3746 } VkSemaphoreCreateInfo;
3747
3748 typedef struct VkQueryPoolCreateInfo {
3749 VkStructureType sType;
3750 const void* pNext;
3751 VkQueryPoolCreateFlags flags;
3752 VkQueryType queryType;
3753 uint32_t queryCount;
3754 VkQueryPipelineStatisticFlags pipelineStatistics;
3755 } VkQueryPoolCreateInfo;
3756
3757 typedef struct VkBufferCreateInfo {
3758 VkStructureType sType;
3759 const void* pNext;
3760 VkBufferCreateFlags flags;
3761 VkDeviceSize size;
3762 VkBufferUsageFlags usage;
3763 VkSharingMode sharingMode;
3764 uint32_t queueFamilyIndexCount;
3765 const uint32_t* pQueueFamilyIndices;
3766 } VkBufferCreateInfo;
3767
3768 typedef struct VkImageCreateInfo {
3769 VkStructureType sType;
3770 const void* pNext;
3771 VkImageCreateFlags flags;
3772 VkImageType imageType;
3773 VkFormat format;
3774 VkExtent3D extent;
3775 uint32_t mipLevels;
3776 uint32_t arrayLayers;
3777 VkSampleCountFlagBits samples;
3778 VkImageTiling tiling;
3779 VkImageUsageFlags usage;
3780 VkSharingMode sharingMode;
3781 uint32_t queueFamilyIndexCount;
3782 const uint32_t* pQueueFamilyIndices;
3783 VkImageLayout initialLayout;
3784 } VkImageCreateInfo;
3785
3786 typedef struct VkSubresourceLayout {
3787 VkDeviceSize offset;
3788 VkDeviceSize size;
3789 VkDeviceSize rowPitch;
3790 VkDeviceSize arrayPitch;
3791 VkDeviceSize depthPitch;
3792 } VkSubresourceLayout;
3793
3794 typedef struct VkComponentMapping {
3795 VkComponentSwizzle r;
3796 VkComponentSwizzle g;
3797 VkComponentSwizzle b;
3798 VkComponentSwizzle a;
3799 } VkComponentMapping;
3800
3801 typedef struct VkImageViewCreateInfo {
3802 VkStructureType sType;
3803 const void* pNext;
3804 VkImageViewCreateFlags flags;
3805 VkImage image;
3806 VkImageViewType viewType;
3807 VkFormat format;
3808 VkComponentMapping components;
3809 VkImageSubresourceRange subresourceRange;
3810 } VkImageViewCreateInfo;
3811
3812 typedef struct VkCommandPoolCreateInfo {
3813 VkStructureType sType;
3814 const void* pNext;
3815 VkCommandPoolCreateFlags flags;
3816 uint32_t queueFamilyIndex;
3817 } VkCommandPoolCreateInfo;
3818
3819 typedef struct VkCommandBufferAllocateInfo {
3820 VkStructureType sType;
3821 const void* pNext;
3822 VkCommandPool commandPool;
3823 VkCommandBufferLevel level;
3824 uint32_t commandBufferCount;
3825 } VkCommandBufferAllocateInfo;
3826
3827 typedef struct VkCommandBufferInheritanceInfo {
3828 VkStructureType sType;
3829 const void* pNext;
3830 VkRenderPass renderPass;
3831 uint32_t subpass;
3832 VkFramebuffer framebuffer;
3833 VkBool32 occlusionQueryEnable;
3834 VkQueryControlFlags queryFlags;
3835 VkQueryPipelineStatisticFlags pipelineStatistics;
3836 } VkCommandBufferInheritanceInfo;
3837
3838 typedef struct VkCommandBufferBeginInfo {
3839 VkStructureType sType;
3840 const void* pNext;
3841 VkCommandBufferUsageFlags flags;
3842 const VkCommandBufferInheritanceInfo* pInheritanceInfo;
3843 } VkCommandBufferBeginInfo;
3844
3845 typedef struct VkBufferCopy {
3846 VkDeviceSize srcOffset;
3847 VkDeviceSize dstOffset;
3848 VkDeviceSize size;
3849 } VkBufferCopy;
3850
3851 typedef struct VkImageSubresourceLayers {
3852 VkImageAspectFlags aspectMask;
3853 uint32_t mipLevel;
3854 uint32_t baseArrayLayer;
3855 uint32_t layerCount;
3856 } VkImageSubresourceLayers;
3857
3858 typedef struct VkBufferImageCopy {
3859 VkDeviceSize bufferOffset;
3860 uint32_t bufferRowLength;
3861 uint32_t bufferImageHeight;
3862 VkImageSubresourceLayers imageSubresource;
3863 VkOffset3D imageOffset;
3864 VkExtent3D imageExtent;
3865 } VkBufferImageCopy;
3866
3867 typedef struct VkImageCopy {
3868 VkImageSubresourceLayers srcSubresource;
3869 VkOffset3D srcOffset;
3870 VkImageSubresourceLayers dstSubresource;
3871 VkOffset3D dstOffset;
3872 VkExtent3D extent;
3873 } VkImageCopy;
3874
3875 typedef struct VkDispatchIndirectCommand {
3876 uint32_t x;
3877 uint32_t y;
3878 uint32_t z;
3879 } VkDispatchIndirectCommand;
3880
3881 typedef struct VkPipelineCacheHeaderVersionOne {
3882 uint32_t headerSize;
3883 VkPipelineCacheHeaderVersion headerVersion;
3884 uint32_t vendorID;
3885 uint32_t deviceID;
3886 uint8_t pipelineCacheUUID[VK_UUID_SIZE];
3887 } VkPipelineCacheHeaderVersionOne;
3888
3889 typedef struct VkEventCreateInfo {
3890 VkStructureType sType;
3891 const void* pNext;
3892 VkEventCreateFlags flags;
3893 } VkEventCreateInfo;
3894
3895 typedef struct VkBufferViewCreateInfo {
3896 VkStructureType sType;
3897 const void* pNext;
3898 VkBufferViewCreateFlags flags;
3899 VkBuffer buffer;
3900 VkFormat format;
3901 VkDeviceSize offset;
3902 VkDeviceSize range;
3903 } VkBufferViewCreateInfo;
3904
3905 typedef struct VkShaderModuleCreateInfo {
3906 VkStructureType sType;
3907 const void* pNext;
3908 VkShaderModuleCreateFlags flags;
3909 size_t codeSize;
3910 const uint32_t* pCode;
3911 } VkShaderModuleCreateInfo;
3912
3913 typedef struct VkPipelineCacheCreateInfo {
3914 VkStructureType sType;
3915 const void* pNext;
3916 VkPipelineCacheCreateFlags flags;
3917 size_t initialDataSize;
3918 const void* pInitialData;
3919 } VkPipelineCacheCreateInfo;
3920
3921 typedef struct VkSpecializationMapEntry {
3922 uint32_t constantID;
3923 uint32_t offset;
3924 size_t size;
3925 } VkSpecializationMapEntry;
3926
3927 typedef struct VkSpecializationInfo {
3928 uint32_t mapEntryCount;
3929 const VkSpecializationMapEntry* pMapEntries;
3930 size_t dataSize;
3931 const void* pData;
3932 } VkSpecializationInfo;
3933
3934 typedef struct VkPipelineShaderStageCreateInfo {
3935 VkStructureType sType;
3936 const void* pNext;
3937 VkPipelineShaderStageCreateFlags flags;
3938 VkShaderStageFlagBits stage;
3939 VkShaderModule module;
3940 const char* pName;
3941 const VkSpecializationInfo* pSpecializationInfo;
3942 } VkPipelineShaderStageCreateInfo;
3943
3944 typedef struct VkComputePipelineCreateInfo {
3945 VkStructureType sType;
3946 const void* pNext;
3947 VkPipelineCreateFlags flags;
3948 VkPipelineShaderStageCreateInfo stage;
3949 VkPipelineLayout layout;
3950 VkPipeline basePipelineHandle;
3951 int32_t basePipelineIndex;
3952 } VkComputePipelineCreateInfo;
3953
3954 typedef struct VkPushConstantRange {
3955 VkShaderStageFlags stageFlags;
3956 uint32_t offset;
3957 uint32_t size;
3958 } VkPushConstantRange;
3959
3960 typedef struct VkPipelineLayoutCreateInfo {
3961 VkStructureType sType;
3962 const void* pNext;
3963 VkPipelineLayoutCreateFlags flags;
3964 uint32_t setLayoutCount;
3965 const VkDescriptorSetLayout* pSetLayouts;
3966 uint32_t pushConstantRangeCount;
3967 const VkPushConstantRange* pPushConstantRanges;
3968 } VkPipelineLayoutCreateInfo;
3969
3970 typedef struct VkSamplerCreateInfo {
3971 VkStructureType sType;
3972 const void* pNext;
3973 VkSamplerCreateFlags flags;
3974 VkFilter magFilter;
3975 VkFilter minFilter;
3976 VkSamplerMipmapMode mipmapMode;
3977 VkSamplerAddressMode addressModeU;
3978 VkSamplerAddressMode addressModeV;
3979 VkSamplerAddressMode addressModeW;
3980 float mipLodBias;
3981 VkBool32 anisotropyEnable;
3982 float maxAnisotropy;
3983 VkBool32 compareEnable;
3984 VkCompareOp compareOp;
3985 float minLod;
3986 float maxLod;
3987 VkBorderColor borderColor;
3988 VkBool32 unnormalizedCoordinates;
3989 } VkSamplerCreateInfo;
3990
3991 typedef struct VkCopyDescriptorSet {
3992 VkStructureType sType;
3993 const void* pNext;
3994 VkDescriptorSet srcSet;
3995 uint32_t srcBinding;
3996 uint32_t srcArrayElement;
3997 VkDescriptorSet dstSet;
3998 uint32_t dstBinding;
3999 uint32_t dstArrayElement;
4000 uint32_t descriptorCount;
4001 } VkCopyDescriptorSet;
4002
4003 typedef struct VkDescriptorBufferInfo {
4004 VkBuffer buffer;
4005 VkDeviceSize offset;
4006 VkDeviceSize range;
4007 } VkDescriptorBufferInfo;
4008
4009 typedef struct VkDescriptorImageInfo {
4010 VkSampler sampler;
4011 VkImageView imageView;
4012 VkImageLayout imageLayout;
4013 } VkDescriptorImageInfo;
4014
4015 typedef struct VkDescriptorPoolSize {
4016 VkDescriptorType type;
4017 uint32_t descriptorCount;
4018 } VkDescriptorPoolSize;
4019
4020 typedef struct VkDescriptorPoolCreateInfo {
4021 VkStructureType sType;
4022 const void* pNext;
4023 VkDescriptorPoolCreateFlags flags;
4024 uint32_t maxSets;
4025 uint32_t poolSizeCount;
4026 const VkDescriptorPoolSize* pPoolSizes;
4027 } VkDescriptorPoolCreateInfo;
4028
4029 typedef struct VkDescriptorSetAllocateInfo {
4030 VkStructureType sType;
4031 const void* pNext;
4032 VkDescriptorPool descriptorPool;
4033 uint32_t descriptorSetCount;
4034 const VkDescriptorSetLayout* pSetLayouts;
4035 } VkDescriptorSetAllocateInfo;
4036
4037 typedef struct VkDescriptorSetLayoutBinding {
4038 uint32_t binding;
4039 VkDescriptorType descriptorType;
4040 uint32_t descriptorCount;
4041 VkShaderStageFlags stageFlags;
4042 const VkSampler* pImmutableSamplers;
4043 } VkDescriptorSetLayoutBinding;
4044
4045 typedef struct VkDescriptorSetLayoutCreateInfo {
4046 VkStructureType sType;
4047 const void* pNext;
4048 VkDescriptorSetLayoutCreateFlags flags;
4049 uint32_t bindingCount;
4050 const VkDescriptorSetLayoutBinding* pBindings;
4051 } VkDescriptorSetLayoutCreateInfo;
4052
4053 typedef struct VkWriteDescriptorSet {
4054 VkStructureType sType;
4055 const void* pNext;
4056 VkDescriptorSet dstSet;
4057 uint32_t dstBinding;
4058 uint32_t dstArrayElement;
4059 uint32_t descriptorCount;
4060 VkDescriptorType descriptorType;
4061 const VkDescriptorImageInfo* pImageInfo;
4062 const VkDescriptorBufferInfo* pBufferInfo;
4063 const VkBufferView* pTexelBufferView;
4064 } VkWriteDescriptorSet;
4065
4066 typedef union VkClearColorValue {
4067 float float32[4];
4068 int32_t int32[4];
4069 uint32_t uint32[4];
4070 } VkClearColorValue;
4071
4072 typedef struct VkDrawIndexedIndirectCommand {
4073 uint32_t indexCount;
4074 uint32_t instanceCount;
4075 uint32_t firstIndex;
4076 int32_t vertexOffset;
4077 uint32_t firstInstance;
4078 } VkDrawIndexedIndirectCommand;
4079
4080 typedef struct VkDrawIndirectCommand {
4081 uint32_t vertexCount;
4082 uint32_t instanceCount;
4083 uint32_t firstVertex;
4084 uint32_t firstInstance;
4085 } VkDrawIndirectCommand;
4086
4087 typedef struct VkVertexInputBindingDescription {
4088 uint32_t binding;
4089 uint32_t stride;
4090 VkVertexInputRate inputRate;
4091 } VkVertexInputBindingDescription;
4092
4093 typedef struct VkVertexInputAttributeDescription {
4094 uint32_t location;
4095 uint32_t binding;
4096 VkFormat format;
4097 uint32_t offset;
4098 } VkVertexInputAttributeDescription;
4099
4100 typedef struct VkPipelineVertexInputStateCreateInfo {
4101 VkStructureType sType;
4102 const void* pNext;
4103 VkPipelineVertexInputStateCreateFlags flags;
4104 uint32_t vertexBindingDescriptionCount;
4105 const VkVertexInputBindingDescription* pVertexBindingDescriptions;
4106 uint32_t vertexAttributeDescriptionCount;
4107 const VkVertexInputAttributeDescription* pVertexAttributeDescriptions;
4108 } VkPipelineVertexInputStateCreateInfo;
4109
4110 typedef struct VkPipelineInputAssemblyStateCreateInfo {
4111 VkStructureType sType;
4112 const void* pNext;
4113 VkPipelineInputAssemblyStateCreateFlags flags;
4114 VkPrimitiveTopology topology;
4115 VkBool32 primitiveRestartEnable;
4116 } VkPipelineInputAssemblyStateCreateInfo;
4117
4118 typedef struct VkPipelineTessellationStateCreateInfo {
4119 VkStructureType sType;
4120 const void* pNext;
4121 VkPipelineTessellationStateCreateFlags flags;
4122 uint32_t patchControlPoints;
4123 } VkPipelineTessellationStateCreateInfo;
4124
4125 typedef struct VkViewport {
4126 float x;
4127 float y;
4128 float width;
4129 float height;
4130 float minDepth;
4131 float maxDepth;
4132 } VkViewport;
4133
4134 typedef struct VkPipelineViewportStateCreateInfo {
4135 VkStructureType sType;
4136 const void* pNext;
4137 VkPipelineViewportStateCreateFlags flags;
4138 uint32_t viewportCount;
4139 const VkViewport* pViewports;
4140 uint32_t scissorCount;
4141 const VkRect2D* pScissors;
4142 } VkPipelineViewportStateCreateInfo;
4143
4144 typedef struct VkPipelineRasterizationStateCreateInfo {
4145 VkStructureType sType;
4146 const void* pNext;
4147 VkPipelineRasterizationStateCreateFlags flags;
4148 VkBool32 depthClampEnable;
4149 VkBool32 rasterizerDiscardEnable;
4150 VkPolygonMode polygonMode;
4151 VkCullModeFlags cullMode;
4152 VkFrontFace frontFace;
4153 VkBool32 depthBiasEnable;
4154 float depthBiasConstantFactor;
4155 float depthBiasClamp;
4156 float depthBiasSlopeFactor;
4157 float lineWidth;
4158 } VkPipelineRasterizationStateCreateInfo;
4159
4160 typedef struct VkPipelineMultisampleStateCreateInfo {
4161 VkStructureType sType;
4162 const void* pNext;
4163 VkPipelineMultisampleStateCreateFlags flags;
4164 VkSampleCountFlagBits rasterizationSamples;
4165 VkBool32 sampleShadingEnable;
4166 float minSampleShading;
4167 const VkSampleMask* pSampleMask;
4168 VkBool32 alphaToCoverageEnable;
4169 VkBool32 alphaToOneEnable;
4170 } VkPipelineMultisampleStateCreateInfo;
4171
4172 typedef struct VkStencilOpState {
4173 VkStencilOp failOp;
4174 VkStencilOp passOp;
4175 VkStencilOp depthFailOp;
4176 VkCompareOp compareOp;
4177 uint32_t compareMask;
4178 uint32_t writeMask;
4179 uint32_t reference;
4180 } VkStencilOpState;
4181
4182 typedef struct VkPipelineDepthStencilStateCreateInfo {
4183 VkStructureType sType;
4184 const void* pNext;
4185 VkPipelineDepthStencilStateCreateFlags flags;
4186 VkBool32 depthTestEnable;
4187 VkBool32 depthWriteEnable;
4188 VkCompareOp depthCompareOp;
4189 VkBool32 depthBoundsTestEnable;
4190 VkBool32 stencilTestEnable;
4191 VkStencilOpState front;
4192 VkStencilOpState back;
4193 float minDepthBounds;
4194 float maxDepthBounds;
4195 } VkPipelineDepthStencilStateCreateInfo;
4196
4197 typedef struct VkPipelineColorBlendAttachmentState {
4198 VkBool32 blendEnable;
4199 VkBlendFactor srcColorBlendFactor;
4200 VkBlendFactor dstColorBlendFactor;
4201 VkBlendOp colorBlendOp;
4202 VkBlendFactor srcAlphaBlendFactor;
4203 VkBlendFactor dstAlphaBlendFactor;
4204 VkBlendOp alphaBlendOp;
4205 VkColorComponentFlags colorWriteMask;
4206 } VkPipelineColorBlendAttachmentState;
4207
4208 typedef struct VkPipelineColorBlendStateCreateInfo {
4209 VkStructureType sType;
4210 const void* pNext;
4211 VkPipelineColorBlendStateCreateFlags flags;
4212 VkBool32 logicOpEnable;
4213 VkLogicOp logicOp;
4214 uint32_t attachmentCount;
4215 const VkPipelineColorBlendAttachmentState* pAttachments;
4216 float blendConstants[4];
4217 } VkPipelineColorBlendStateCreateInfo;
4218
4219 typedef struct VkPipelineDynamicStateCreateInfo {
4220 VkStructureType sType;
4221 const void* pNext;
4222 VkPipelineDynamicStateCreateFlags flags;
4223 uint32_t dynamicStateCount;
4224 const VkDynamicState* pDynamicStates;
4225 } VkPipelineDynamicStateCreateInfo;
4226
4227 typedef struct VkGraphicsPipelineCreateInfo {
4228 VkStructureType sType;
4229 const void* pNext;
4230 VkPipelineCreateFlags flags;
4231 uint32_t stageCount;
4232 const VkPipelineShaderStageCreateInfo* pStages;
4233 const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
4234 const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState;
4235 const VkPipelineTessellationStateCreateInfo* pTessellationState;
4236 const VkPipelineViewportStateCreateInfo* pViewportState;
4237 const VkPipelineRasterizationStateCreateInfo* pRasterizationState;
4238 const VkPipelineMultisampleStateCreateInfo* pMultisampleState;
4239 const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState;
4240 const VkPipelineColorBlendStateCreateInfo* pColorBlendState;
4241 const VkPipelineDynamicStateCreateInfo* pDynamicState;
4242 VkPipelineLayout layout;
4243 VkRenderPass renderPass;
4244 uint32_t subpass;
4245 VkPipeline basePipelineHandle;
4246 int32_t basePipelineIndex;
4247 } VkGraphicsPipelineCreateInfo;
4248
4249 typedef struct VkAttachmentDescription {
4250 VkAttachmentDescriptionFlags flags;
4251 VkFormat format;
4252 VkSampleCountFlagBits samples;
4253 VkAttachmentLoadOp loadOp;
4254 VkAttachmentStoreOp storeOp;
4255 VkAttachmentLoadOp stencilLoadOp;
4256 VkAttachmentStoreOp stencilStoreOp;
4257 VkImageLayout initialLayout;
4258 VkImageLayout finalLayout;
4259 } VkAttachmentDescription;
4260
4261 typedef struct VkAttachmentReference {
4262 uint32_t attachment;
4263 VkImageLayout layout;
4264 } VkAttachmentReference;
4265
4266 typedef struct VkFramebufferCreateInfo {
4267 VkStructureType sType;
4268 const void* pNext;
4269 VkFramebufferCreateFlags flags;
4270 VkRenderPass renderPass;
4271 uint32_t attachmentCount;
4272 const VkImageView* pAttachments;
4273 uint32_t width;
4274 uint32_t height;
4275 uint32_t layers;
4276 } VkFramebufferCreateInfo;
4277
4278 typedef struct VkSubpassDescription {
4279 VkSubpassDescriptionFlags flags;
4280 VkPipelineBindPoint pipelineBindPoint;
4281 uint32_t inputAttachmentCount;
4282 const VkAttachmentReference* pInputAttachments;
4283 uint32_t colorAttachmentCount;
4284 const VkAttachmentReference* pColorAttachments;
4285 const VkAttachmentReference* pResolveAttachments;
4286 const VkAttachmentReference* pDepthStencilAttachment;
4287 uint32_t preserveAttachmentCount;
4288 const uint32_t* pPreserveAttachments;
4289 } VkSubpassDescription;
4290
4291 typedef struct VkSubpassDependency {
4292 uint32_t srcSubpass;
4293 uint32_t dstSubpass;
4294 VkPipelineStageFlags srcStageMask;
4295 VkPipelineStageFlags dstStageMask;
4296 VkAccessFlags srcAccessMask;
4297 VkAccessFlags dstAccessMask;
4298 VkDependencyFlags dependencyFlags;
4299 } VkSubpassDependency;
4300
4301 typedef struct VkRenderPassCreateInfo {
4302 VkStructureType sType;
4303 const void* pNext;
4304 VkRenderPassCreateFlags flags;
4305 uint32_t attachmentCount;
4306 const VkAttachmentDescription* pAttachments;
4307 uint32_t subpassCount;
4308 const VkSubpassDescription* pSubpasses;
4309 uint32_t dependencyCount;
4310 const VkSubpassDependency* pDependencies;
4311 } VkRenderPassCreateInfo;
4312
4313 typedef struct VkClearDepthStencilValue {
4314 float depth;
4315 uint32_t stencil;
4316 } VkClearDepthStencilValue;
4317
4318 typedef union VkClearValue {
4319 VkClearColorValue color;
4320 VkClearDepthStencilValue depthStencil;
4321 } VkClearValue;
4322
4323 typedef struct VkClearAttachment {
4324 VkImageAspectFlags aspectMask;
4325 uint32_t colorAttachment;
4326 VkClearValue clearValue;
4327 } VkClearAttachment;
4328
4329 typedef struct VkClearRect {
4330 VkRect2D rect;
4331 uint32_t baseArrayLayer;
4332 uint32_t layerCount;
4333 } VkClearRect;
4334
4335 typedef struct VkImageBlit {
4336 VkImageSubresourceLayers srcSubresource;
4337 VkOffset3D srcOffsets[2];
4338 VkImageSubresourceLayers dstSubresource;
4339 VkOffset3D dstOffsets[2];
4340 } VkImageBlit;
4341
4342 typedef struct VkImageResolve {
4343 VkImageSubresourceLayers srcSubresource;
4344 VkOffset3D srcOffset;
4345 VkImageSubresourceLayers dstSubresource;
4346 VkOffset3D dstOffset;
4347 VkExtent3D extent;
4348 } VkImageResolve;
4349
4350 typedef struct VkRenderPassBeginInfo {
4351 VkStructureType sType;
4352 const void* pNext;
4353 VkRenderPass renderPass;
4354 VkFramebuffer framebuffer;
4355 VkRect2D renderArea;
4356 uint32_t clearValueCount;
4357 const VkClearValue* pClearValues;
4358 } VkRenderPassBeginInfo;
4359
4360 typedef VkResult (VKAPI_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance);
4361 typedef void (VKAPI_PTR *PFN_vkDestroyInstance)(VkInstance instance, const VkAllocationCallbacks* pAllocator);
4362 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDevices)(VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices);
4363 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures);
4364 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties);
4365 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties);
4366 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties);
4367 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties);
4368 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties);
4369 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddr)(VkInstance instance, const char* pName);
4370 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetDeviceProcAddr)(VkDevice device, const char* pName);
4371 typedef VkResult (VKAPI_PTR *PFN_vkCreateDevice)(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice);
4372 typedef void (VKAPI_PTR *PFN_vkDestroyDevice)(VkDevice device, const VkAllocationCallbacks* pAllocator);
4373 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceExtensionProperties)(const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties);
4374 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties);
4375 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceLayerProperties)(uint32_t* pPropertyCount, VkLayerProperties* pProperties);
4376 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties);
4377 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue)(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue);
4378 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence);
4379 typedef VkResult (VKAPI_PTR *PFN_vkQueueWaitIdle)(VkQueue queue);
4380 typedef VkResult (VKAPI_PTR *PFN_vkDeviceWaitIdle)(VkDevice device);
4381 typedef VkResult (VKAPI_PTR *PFN_vkAllocateMemory)(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory);
4382 typedef void (VKAPI_PTR *PFN_vkFreeMemory)(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator);
4383 typedef VkResult (VKAPI_PTR *PFN_vkMapMemory)(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData);
4384 typedef void (VKAPI_PTR *PFN_vkUnmapMemory)(VkDevice device, VkDeviceMemory memory);
4385 typedef VkResult (VKAPI_PTR *PFN_vkFlushMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
4386 typedef VkResult (VKAPI_PTR *PFN_vkInvalidateMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
4387 typedef void (VKAPI_PTR *PFN_vkGetDeviceMemoryCommitment)(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes);
4388 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory)(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset);
4389 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory)(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset);
4390 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements)(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements);
4391 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements)(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements);
4392 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements)(VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
4393 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties);
4394 typedef VkResult (VKAPI_PTR *PFN_vkQueueBindSparse)(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence);
4395 typedef VkResult (VKAPI_PTR *PFN_vkCreateFence)(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
4396 typedef void (VKAPI_PTR *PFN_vkDestroyFence)(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator);
4397 typedef VkResult (VKAPI_PTR *PFN_vkResetFences)(VkDevice device, uint32_t fenceCount, const VkFence* pFences);
4398 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceStatus)(VkDevice device, VkFence fence);
4399 typedef VkResult (VKAPI_PTR *PFN_vkWaitForFences)(VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout);
4400 typedef VkResult (VKAPI_PTR *PFN_vkCreateSemaphore)(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore);
4401 typedef void (VKAPI_PTR *PFN_vkDestroySemaphore)(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator);
4402 typedef VkResult (VKAPI_PTR *PFN_vkCreateQueryPool)(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool);
4403 typedef void (VKAPI_PTR *PFN_vkDestroyQueryPool)(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator);
4404 typedef VkResult (VKAPI_PTR *PFN_vkGetQueryPoolResults)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags);
4405 typedef VkResult (VKAPI_PTR *PFN_vkCreateBuffer)(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer);
4406 typedef void (VKAPI_PTR *PFN_vkDestroyBuffer)(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator);
4407 typedef VkResult (VKAPI_PTR *PFN_vkCreateImage)(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage);
4408 typedef void (VKAPI_PTR *PFN_vkDestroyImage)(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator);
4409 typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout)(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout);
4410 typedef VkResult (VKAPI_PTR *PFN_vkCreateImageView)(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView);
4411 typedef void (VKAPI_PTR *PFN_vkDestroyImageView)(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator);
4412 typedef VkResult (VKAPI_PTR *PFN_vkCreateCommandPool)(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool);
4413 typedef void (VKAPI_PTR *PFN_vkDestroyCommandPool)(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator);
4414 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags);
4415 typedef VkResult (VKAPI_PTR *PFN_vkAllocateCommandBuffers)(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers);
4416 typedef void (VKAPI_PTR *PFN_vkFreeCommandBuffers)(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers);
4417 typedef VkResult (VKAPI_PTR *PFN_vkBeginCommandBuffer)(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo);
4418 typedef VkResult (VKAPI_PTR *PFN_vkEndCommandBuffer)(VkCommandBuffer commandBuffer);
4419 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandBuffer)(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags);
4420 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions);
4421 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions);
4422 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions);
4423 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions);
4424 typedef void (VKAPI_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData);
4425 typedef void (VKAPI_PTR *PFN_vkCmdFillBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data);
4426 typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier)(VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers);
4427 typedef void (VKAPI_PTR *PFN_vkCmdBeginQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags);
4428 typedef void (VKAPI_PTR *PFN_vkCmdEndQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query);
4429 typedef void (VKAPI_PTR *PFN_vkCmdResetQueryPool)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount);
4430 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query);
4431 typedef void (VKAPI_PTR *PFN_vkCmdCopyQueryPoolResults)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags);
4432 typedef void (VKAPI_PTR *PFN_vkCmdExecuteCommands)(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers);
4433 typedef VkResult (VKAPI_PTR *PFN_vkCreateEvent)(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent);
4434 typedef void (VKAPI_PTR *PFN_vkDestroyEvent)(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator);
4435 typedef VkResult (VKAPI_PTR *PFN_vkGetEventStatus)(VkDevice device, VkEvent event);
4436 typedef VkResult (VKAPI_PTR *PFN_vkSetEvent)(VkDevice device, VkEvent event);
4437 typedef VkResult (VKAPI_PTR *PFN_vkResetEvent)(VkDevice device, VkEvent event);
4438 typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferView)(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView);
4439 typedef void (VKAPI_PTR *PFN_vkDestroyBufferView)(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator);
4440 typedef VkResult (VKAPI_PTR *PFN_vkCreateShaderModule)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule);
4441 typedef void (VKAPI_PTR *PFN_vkDestroyShaderModule)(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator);
4442 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineCache)(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache);
4443 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineCache)(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator);
4444 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineCacheData)(VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData);
4445 typedef VkResult (VKAPI_PTR *PFN_vkMergePipelineCaches)(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches);
4446 typedef VkResult (VKAPI_PTR *PFN_vkCreateComputePipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
4447 typedef void (VKAPI_PTR *PFN_vkDestroyPipeline)(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator);
4448 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineLayout)(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout);
4449 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineLayout)(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator);
4450 typedef VkResult (VKAPI_PTR *PFN_vkCreateSampler)(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler);
4451 typedef void (VKAPI_PTR *PFN_vkDestroySampler)(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator);
4452 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorSetLayout)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout);
4453 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorSetLayout)(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator);
4454 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorPool)(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool);
4455 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator);
4456 typedef VkResult (VKAPI_PTR *PFN_vkResetDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags);
4457 typedef VkResult (VKAPI_PTR *PFN_vkAllocateDescriptorSets)(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets);
4458 typedef VkResult (VKAPI_PTR *PFN_vkFreeDescriptorSets)(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets);
4459 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSets)(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies);
4460 typedef void (VKAPI_PTR *PFN_vkCmdBindPipeline)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline);
4461 typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorSets)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets);
4462 typedef void (VKAPI_PTR *PFN_vkCmdClearColorImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges);
4463 typedef void (VKAPI_PTR *PFN_vkCmdDispatch)(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ);
4464 typedef void (VKAPI_PTR *PFN_vkCmdDispatchIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset);
4465 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
4466 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
4467 typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents)(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers);
4468 typedef void (VKAPI_PTR *PFN_vkCmdPushConstants)(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues);
4469 typedef VkResult (VKAPI_PTR *PFN_vkCreateGraphicsPipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
4470 typedef VkResult (VKAPI_PTR *PFN_vkCreateFramebuffer)(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer);
4471 typedef void (VKAPI_PTR *PFN_vkDestroyFramebuffer)(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator);
4472 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass)(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
4473 typedef void (VKAPI_PTR *PFN_vkDestroyRenderPass)(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator);
4474 typedef void (VKAPI_PTR *PFN_vkGetRenderAreaGranularity)(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity);
4475 typedef void (VKAPI_PTR *PFN_vkCmdSetViewport)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports);
4476 typedef void (VKAPI_PTR *PFN_vkCmdSetScissor)(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors);
4477 typedef void (VKAPI_PTR *PFN_vkCmdSetLineWidth)(VkCommandBuffer commandBuffer, float lineWidth);
4478 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias)(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor);
4479 typedef void (VKAPI_PTR *PFN_vkCmdSetBlendConstants)(VkCommandBuffer commandBuffer, const float blendConstants[4]);
4480 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBounds)(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds);
4481 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilCompareMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask);
4482 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilWriteMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask);
4483 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilReference)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference);
4484 typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType);
4485 typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets);
4486 typedef void (VKAPI_PTR *PFN_vkCmdDraw)(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance);
4487 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexed)(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance);
4488 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
4489 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
4490 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter);
4491 typedef void (VKAPI_PTR *PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges);
4492 typedef void (VKAPI_PTR *PFN_vkCmdClearAttachments)(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects);
4493 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions);
4494 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents);
4495 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass)(VkCommandBuffer commandBuffer, VkSubpassContents contents);
4496 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass)(VkCommandBuffer commandBuffer);
4497
4498 #ifndef VK_NO_PROTOTYPES
4499 VKAPI_ATTR VkResult VKAPI_CALL vkCreateInstance(
4500 const VkInstanceCreateInfo* pCreateInfo,
4501 const VkAllocationCallbacks* pAllocator,
4502 VkInstance* pInstance);
4503
4504 VKAPI_ATTR void VKAPI_CALL vkDestroyInstance(
4505 VkInstance instance,
4506 const VkAllocationCallbacks* pAllocator);
4507
4508 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDevices(
4509 VkInstance instance,
4510 uint32_t* pPhysicalDeviceCount,
4511 VkPhysicalDevice* pPhysicalDevices);
4512
4513 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures(
4514 VkPhysicalDevice physicalDevice,
4515 VkPhysicalDeviceFeatures* pFeatures);
4516
4517 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties(
4518 VkPhysicalDevice physicalDevice,
4519 VkFormat format,
4520 VkFormatProperties* pFormatProperties);
4521
4522 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties(
4523 VkPhysicalDevice physicalDevice,
4524 VkFormat format,
4525 VkImageType type,
4526 VkImageTiling tiling,
4527 VkImageUsageFlags usage,
4528 VkImageCreateFlags flags,
4529 VkImageFormatProperties* pImageFormatProperties);
4530
4531 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties(
4532 VkPhysicalDevice physicalDevice,
4533 VkPhysicalDeviceProperties* pProperties);
4534
4535 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties(
4536 VkPhysicalDevice physicalDevice,
4537 uint32_t* pQueueFamilyPropertyCount,
4538 VkQueueFamilyProperties* pQueueFamilyProperties);
4539
4540 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties(
4541 VkPhysicalDevice physicalDevice,
4542 VkPhysicalDeviceMemoryProperties* pMemoryProperties);
4543
4544 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr(
4545 VkInstance instance,
4546 const char* pName);
4547
4548 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr(
4549 VkDevice device,
4550 const char* pName);
4551
4552 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDevice(
4553 VkPhysicalDevice physicalDevice,
4554 const VkDeviceCreateInfo* pCreateInfo,
4555 const VkAllocationCallbacks* pAllocator,
4556 VkDevice* pDevice);
4557
4558 VKAPI_ATTR void VKAPI_CALL vkDestroyDevice(
4559 VkDevice device,
4560 const VkAllocationCallbacks* pAllocator);
4561
4562 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionProperties(
4563 const char* pLayerName,
4564 uint32_t* pPropertyCount,
4565 VkExtensionProperties* pProperties);
4566
4567 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceExtensionProperties(
4568 VkPhysicalDevice physicalDevice,
4569 const char* pLayerName,
4570 uint32_t* pPropertyCount,
4571 VkExtensionProperties* pProperties);
4572
4573 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties(
4574 uint32_t* pPropertyCount,
4575 VkLayerProperties* pProperties);
4576
4577 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceLayerProperties(
4578 VkPhysicalDevice physicalDevice,
4579 uint32_t* pPropertyCount,
4580 VkLayerProperties* pProperties);
4581
4582 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue(
4583 VkDevice device,
4584 uint32_t queueFamilyIndex,
4585 uint32_t queueIndex,
4586 VkQueue* pQueue);
4587
4588 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit(
4589 VkQueue queue,
4590 uint32_t submitCount,
4591 const VkSubmitInfo* pSubmits,
4592 VkFence fence);
4593
4594 VKAPI_ATTR VkResult VKAPI_CALL vkQueueWaitIdle(
4595 VkQueue queue);
4596
4597 VKAPI_ATTR VkResult VKAPI_CALL vkDeviceWaitIdle(
4598 VkDevice device);
4599
4600 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateMemory(
4601 VkDevice device,
4602 const VkMemoryAllocateInfo* pAllocateInfo,
4603 const VkAllocationCallbacks* pAllocator,
4604 VkDeviceMemory* pMemory);
4605
4606 VKAPI_ATTR void VKAPI_CALL vkFreeMemory(
4607 VkDevice device,
4608 VkDeviceMemory memory,
4609 const VkAllocationCallbacks* pAllocator);
4610
4611 VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory(
4612 VkDevice device,
4613 VkDeviceMemory memory,
4614 VkDeviceSize offset,
4615 VkDeviceSize size,
4616 VkMemoryMapFlags flags,
4617 void** ppData);
4618
4619 VKAPI_ATTR void VKAPI_CALL vkUnmapMemory(
4620 VkDevice device,
4621 VkDeviceMemory memory);
4622
4623 VKAPI_ATTR VkResult VKAPI_CALL vkFlushMappedMemoryRanges(
4624 VkDevice device,
4625 uint32_t memoryRangeCount,
4626 const VkMappedMemoryRange* pMemoryRanges);
4627
4628 VKAPI_ATTR VkResult VKAPI_CALL vkInvalidateMappedMemoryRanges(
4629 VkDevice device,
4630 uint32_t memoryRangeCount,
4631 const VkMappedMemoryRange* pMemoryRanges);
4632
4633 VKAPI_ATTR void VKAPI_CALL vkGetDeviceMemoryCommitment(
4634 VkDevice device,
4635 VkDeviceMemory memory,
4636 VkDeviceSize* pCommittedMemoryInBytes);
4637
4638 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory(
4639 VkDevice device,
4640 VkBuffer buffer,
4641 VkDeviceMemory memory,
4642 VkDeviceSize memoryOffset);
4643
4644 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory(
4645 VkDevice device,
4646 VkImage image,
4647 VkDeviceMemory memory,
4648 VkDeviceSize memoryOffset);
4649
4650 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements(
4651 VkDevice device,
4652 VkBuffer buffer,
4653 VkMemoryRequirements* pMemoryRequirements);
4654
4655 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements(
4656 VkDevice device,
4657 VkImage image,
4658 VkMemoryRequirements* pMemoryRequirements);
4659
4660 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements(
4661 VkDevice device,
4662 VkImage image,
4663 uint32_t* pSparseMemoryRequirementCount,
4664 VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
4665
4666 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties(
4667 VkPhysicalDevice physicalDevice,
4668 VkFormat format,
4669 VkImageType type,
4670 VkSampleCountFlagBits samples,
4671 VkImageUsageFlags usage,
4672 VkImageTiling tiling,
4673 uint32_t* pPropertyCount,
4674 VkSparseImageFormatProperties* pProperties);
4675
4676 VKAPI_ATTR VkResult VKAPI_CALL vkQueueBindSparse(
4677 VkQueue queue,
4678 uint32_t bindInfoCount,
4679 const VkBindSparseInfo* pBindInfo,
4680 VkFence fence);
4681
4682 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFence(
4683 VkDevice device,
4684 const VkFenceCreateInfo* pCreateInfo,
4685 const VkAllocationCallbacks* pAllocator,
4686 VkFence* pFence);
4687
4688 VKAPI_ATTR void VKAPI_CALL vkDestroyFence(
4689 VkDevice device,
4690 VkFence fence,
4691 const VkAllocationCallbacks* pAllocator);
4692
4693 VKAPI_ATTR VkResult VKAPI_CALL vkResetFences(
4694 VkDevice device,
4695 uint32_t fenceCount,
4696 const VkFence* pFences);
4697
4698 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceStatus(
4699 VkDevice device,
4700 VkFence fence);
4701
4702 VKAPI_ATTR VkResult VKAPI_CALL vkWaitForFences(
4703 VkDevice device,
4704 uint32_t fenceCount,
4705 const VkFence* pFences,
4706 VkBool32 waitAll,
4707 uint64_t timeout);
4708
4709 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSemaphore(
4710 VkDevice device,
4711 const VkSemaphoreCreateInfo* pCreateInfo,
4712 const VkAllocationCallbacks* pAllocator,
4713 VkSemaphore* pSemaphore);
4714
4715 VKAPI_ATTR void VKAPI_CALL vkDestroySemaphore(
4716 VkDevice device,
4717 VkSemaphore semaphore,
4718 const VkAllocationCallbacks* pAllocator);
4719
4720 VKAPI_ATTR VkResult VKAPI_CALL vkCreateQueryPool(
4721 VkDevice device,
4722 const VkQueryPoolCreateInfo* pCreateInfo,
4723 const VkAllocationCallbacks* pAllocator,
4724 VkQueryPool* pQueryPool);
4725
4726 VKAPI_ATTR void VKAPI_CALL vkDestroyQueryPool(
4727 VkDevice device,
4728 VkQueryPool queryPool,
4729 const VkAllocationCallbacks* pAllocator);
4730
4731 VKAPI_ATTR VkResult VKAPI_CALL vkGetQueryPoolResults(
4732 VkDevice device,
4733 VkQueryPool queryPool,
4734 uint32_t firstQuery,
4735 uint32_t queryCount,
4736 size_t dataSize,
4737 void* pData,
4738 VkDeviceSize stride,
4739 VkQueryResultFlags flags);
4740
4741 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBuffer(
4742 VkDevice device,
4743 const VkBufferCreateInfo* pCreateInfo,
4744 const VkAllocationCallbacks* pAllocator,
4745 VkBuffer* pBuffer);
4746
4747 VKAPI_ATTR void VKAPI_CALL vkDestroyBuffer(
4748 VkDevice device,
4749 VkBuffer buffer,
4750 const VkAllocationCallbacks* pAllocator);
4751
4752 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImage(
4753 VkDevice device,
4754 const VkImageCreateInfo* pCreateInfo,
4755 const VkAllocationCallbacks* pAllocator,
4756 VkImage* pImage);
4757
4758 VKAPI_ATTR void VKAPI_CALL vkDestroyImage(
4759 VkDevice device,
4760 VkImage image,
4761 const VkAllocationCallbacks* pAllocator);
4762
4763 VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout(
4764 VkDevice device,
4765 VkImage image,
4766 const VkImageSubresource* pSubresource,
4767 VkSubresourceLayout* pLayout);
4768
4769 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImageView(
4770 VkDevice device,
4771 const VkImageViewCreateInfo* pCreateInfo,
4772 const VkAllocationCallbacks* pAllocator,
4773 VkImageView* pView);
4774
4775 VKAPI_ATTR void VKAPI_CALL vkDestroyImageView(
4776 VkDevice device,
4777 VkImageView imageView,
4778 const VkAllocationCallbacks* pAllocator);
4779
4780 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCommandPool(
4781 VkDevice device,
4782 const VkCommandPoolCreateInfo* pCreateInfo,
4783 const VkAllocationCallbacks* pAllocator,
4784 VkCommandPool* pCommandPool);
4785
4786 VKAPI_ATTR void VKAPI_CALL vkDestroyCommandPool(
4787 VkDevice device,
4788 VkCommandPool commandPool,
4789 const VkAllocationCallbacks* pAllocator);
4790
4791 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandPool(
4792 VkDevice device,
4793 VkCommandPool commandPool,
4794 VkCommandPoolResetFlags flags);
4795
4796 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateCommandBuffers(
4797 VkDevice device,
4798 const VkCommandBufferAllocateInfo* pAllocateInfo,
4799 VkCommandBuffer* pCommandBuffers);
4800
4801 VKAPI_ATTR void VKAPI_CALL vkFreeCommandBuffers(
4802 VkDevice device,
4803 VkCommandPool commandPool,
4804 uint32_t commandBufferCount,
4805 const VkCommandBuffer* pCommandBuffers);
4806
4807 VKAPI_ATTR VkResult VKAPI_CALL vkBeginCommandBuffer(
4808 VkCommandBuffer commandBuffer,
4809 const VkCommandBufferBeginInfo* pBeginInfo);
4810
4811 VKAPI_ATTR VkResult VKAPI_CALL vkEndCommandBuffer(
4812 VkCommandBuffer commandBuffer);
4813
4814 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandBuffer(
4815 VkCommandBuffer commandBuffer,
4816 VkCommandBufferResetFlags flags);
4817
4818 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer(
4819 VkCommandBuffer commandBuffer,
4820 VkBuffer srcBuffer,
4821 VkBuffer dstBuffer,
4822 uint32_t regionCount,
4823 const VkBufferCopy* pRegions);
4824
4825 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage(
4826 VkCommandBuffer commandBuffer,
4827 VkImage srcImage,
4828 VkImageLayout srcImageLayout,
4829 VkImage dstImage,
4830 VkImageLayout dstImageLayout,
4831 uint32_t regionCount,
4832 const VkImageCopy* pRegions);
4833
4834 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage(
4835 VkCommandBuffer commandBuffer,
4836 VkBuffer srcBuffer,
4837 VkImage dstImage,
4838 VkImageLayout dstImageLayout,
4839 uint32_t regionCount,
4840 const VkBufferImageCopy* pRegions);
4841
4842 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer(
4843 VkCommandBuffer commandBuffer,
4844 VkImage srcImage,
4845 VkImageLayout srcImageLayout,
4846 VkBuffer dstBuffer,
4847 uint32_t regionCount,
4848 const VkBufferImageCopy* pRegions);
4849
4850 VKAPI_ATTR void VKAPI_CALL vkCmdUpdateBuffer(
4851 VkCommandBuffer commandBuffer,
4852 VkBuffer dstBuffer,
4853 VkDeviceSize dstOffset,
4854 VkDeviceSize dataSize,
4855 const void* pData);
4856
4857 VKAPI_ATTR void VKAPI_CALL vkCmdFillBuffer(
4858 VkCommandBuffer commandBuffer,
4859 VkBuffer dstBuffer,
4860 VkDeviceSize dstOffset,
4861 VkDeviceSize size,
4862 uint32_t data);
4863
4864 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier(
4865 VkCommandBuffer commandBuffer,
4866 VkPipelineStageFlags srcStageMask,
4867 VkPipelineStageFlags dstStageMask,
4868 VkDependencyFlags dependencyFlags,
4869 uint32_t memoryBarrierCount,
4870 const VkMemoryBarrier* pMemoryBarriers,
4871 uint32_t bufferMemoryBarrierCount,
4872 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
4873 uint32_t imageMemoryBarrierCount,
4874 const VkImageMemoryBarrier* pImageMemoryBarriers);
4875
4876 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQuery(
4877 VkCommandBuffer commandBuffer,
4878 VkQueryPool queryPool,
4879 uint32_t query,
4880 VkQueryControlFlags flags);
4881
4882 VKAPI_ATTR void VKAPI_CALL vkCmdEndQuery(
4883 VkCommandBuffer commandBuffer,
4884 VkQueryPool queryPool,
4885 uint32_t query);
4886
4887 VKAPI_ATTR void VKAPI_CALL vkCmdResetQueryPool(
4888 VkCommandBuffer commandBuffer,
4889 VkQueryPool queryPool,
4890 uint32_t firstQuery,
4891 uint32_t queryCount);
4892
4893 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp(
4894 VkCommandBuffer commandBuffer,
4895 VkPipelineStageFlagBits pipelineStage,
4896 VkQueryPool queryPool,
4897 uint32_t query);
4898
4899 VKAPI_ATTR void VKAPI_CALL vkCmdCopyQueryPoolResults(
4900 VkCommandBuffer commandBuffer,
4901 VkQueryPool queryPool,
4902 uint32_t firstQuery,
4903 uint32_t queryCount,
4904 VkBuffer dstBuffer,
4905 VkDeviceSize dstOffset,
4906 VkDeviceSize stride,
4907 VkQueryResultFlags flags);
4908
4909 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteCommands(
4910 VkCommandBuffer commandBuffer,
4911 uint32_t commandBufferCount,
4912 const VkCommandBuffer* pCommandBuffers);
4913
4914 VKAPI_ATTR VkResult VKAPI_CALL vkCreateEvent(
4915 VkDevice device,
4916 const VkEventCreateInfo* pCreateInfo,
4917 const VkAllocationCallbacks* pAllocator,
4918 VkEvent* pEvent);
4919
4920 VKAPI_ATTR void VKAPI_CALL vkDestroyEvent(
4921 VkDevice device,
4922 VkEvent event,
4923 const VkAllocationCallbacks* pAllocator);
4924
4925 VKAPI_ATTR VkResult VKAPI_CALL vkGetEventStatus(
4926 VkDevice device,
4927 VkEvent event);
4928
4929 VKAPI_ATTR VkResult VKAPI_CALL vkSetEvent(
4930 VkDevice device,
4931 VkEvent event);
4932
4933 VKAPI_ATTR VkResult VKAPI_CALL vkResetEvent(
4934 VkDevice device,
4935 VkEvent event);
4936
4937 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferView(
4938 VkDevice device,
4939 const VkBufferViewCreateInfo* pCreateInfo,
4940 const VkAllocationCallbacks* pAllocator,
4941 VkBufferView* pView);
4942
4943 VKAPI_ATTR void VKAPI_CALL vkDestroyBufferView(
4944 VkDevice device,
4945 VkBufferView bufferView,
4946 const VkAllocationCallbacks* pAllocator);
4947
4948 VKAPI_ATTR VkResult VKAPI_CALL vkCreateShaderModule(
4949 VkDevice device,
4950 const VkShaderModuleCreateInfo* pCreateInfo,
4951 const VkAllocationCallbacks* pAllocator,
4952 VkShaderModule* pShaderModule);
4953
4954 VKAPI_ATTR void VKAPI_CALL vkDestroyShaderModule(
4955 VkDevice device,
4956 VkShaderModule shaderModule,
4957 const VkAllocationCallbacks* pAllocator);
4958
4959 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineCache(
4960 VkDevice device,
4961 const VkPipelineCacheCreateInfo* pCreateInfo,
4962 const VkAllocationCallbacks* pAllocator,
4963 VkPipelineCache* pPipelineCache);
4964
4965 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineCache(
4966 VkDevice device,
4967 VkPipelineCache pipelineCache,
4968 const VkAllocationCallbacks* pAllocator);
4969
4970 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineCacheData(
4971 VkDevice device,
4972 VkPipelineCache pipelineCache,
4973 size_t* pDataSize,
4974 void* pData);
4975
4976 VKAPI_ATTR VkResult VKAPI_CALL vkMergePipelineCaches(
4977 VkDevice device,
4978 VkPipelineCache dstCache,
4979 uint32_t srcCacheCount,
4980 const VkPipelineCache* pSrcCaches);
4981
4982 VKAPI_ATTR VkResult VKAPI_CALL vkCreateComputePipelines(
4983 VkDevice device,
4984 VkPipelineCache pipelineCache,
4985 uint32_t createInfoCount,
4986 const VkComputePipelineCreateInfo* pCreateInfos,
4987 const VkAllocationCallbacks* pAllocator,
4988 VkPipeline* pPipelines);
4989
4990 VKAPI_ATTR void VKAPI_CALL vkDestroyPipeline(
4991 VkDevice device,
4992 VkPipeline pipeline,
4993 const VkAllocationCallbacks* pAllocator);
4994
4995 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineLayout(
4996 VkDevice device,
4997 const VkPipelineLayoutCreateInfo* pCreateInfo,
4998 const VkAllocationCallbacks* pAllocator,
4999 VkPipelineLayout* pPipelineLayout);
5000
5001 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineLayout(
5002 VkDevice device,
5003 VkPipelineLayout pipelineLayout,
5004 const VkAllocationCallbacks* pAllocator);
5005
5006 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSampler(
5007 VkDevice device,
5008 const VkSamplerCreateInfo* pCreateInfo,
5009 const VkAllocationCallbacks* pAllocator,
5010 VkSampler* pSampler);
5011
5012 VKAPI_ATTR void VKAPI_CALL vkDestroySampler(
5013 VkDevice device,
5014 VkSampler sampler,
5015 const VkAllocationCallbacks* pAllocator);
5016
5017 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorSetLayout(
5018 VkDevice device,
5019 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
5020 const VkAllocationCallbacks* pAllocator,
5021 VkDescriptorSetLayout* pSetLayout);
5022
5023 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorSetLayout(
5024 VkDevice device,
5025 VkDescriptorSetLayout descriptorSetLayout,
5026 const VkAllocationCallbacks* pAllocator);
5027
5028 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorPool(
5029 VkDevice device,
5030 const VkDescriptorPoolCreateInfo* pCreateInfo,
5031 const VkAllocationCallbacks* pAllocator,
5032 VkDescriptorPool* pDescriptorPool);
5033
5034 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorPool(
5035 VkDevice device,
5036 VkDescriptorPool descriptorPool,
5037 const VkAllocationCallbacks* pAllocator);
5038
5039 VKAPI_ATTR VkResult VKAPI_CALL vkResetDescriptorPool(
5040 VkDevice device,
5041 VkDescriptorPool descriptorPool,
5042 VkDescriptorPoolResetFlags flags);
5043
5044 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateDescriptorSets(
5045 VkDevice device,
5046 const VkDescriptorSetAllocateInfo* pAllocateInfo,
5047 VkDescriptorSet* pDescriptorSets);
5048
5049 VKAPI_ATTR VkResult VKAPI_CALL vkFreeDescriptorSets(
5050 VkDevice device,
5051 VkDescriptorPool descriptorPool,
5052 uint32_t descriptorSetCount,
5053 const VkDescriptorSet* pDescriptorSets);
5054
5055 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSets(
5056 VkDevice device,
5057 uint32_t descriptorWriteCount,
5058 const VkWriteDescriptorSet* pDescriptorWrites,
5059 uint32_t descriptorCopyCount,
5060 const VkCopyDescriptorSet* pDescriptorCopies);
5061
5062 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipeline(
5063 VkCommandBuffer commandBuffer,
5064 VkPipelineBindPoint pipelineBindPoint,
5065 VkPipeline pipeline);
5066
5067 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets(
5068 VkCommandBuffer commandBuffer,
5069 VkPipelineBindPoint pipelineBindPoint,
5070 VkPipelineLayout layout,
5071 uint32_t firstSet,
5072 uint32_t descriptorSetCount,
5073 const VkDescriptorSet* pDescriptorSets,
5074 uint32_t dynamicOffsetCount,
5075 const uint32_t* pDynamicOffsets);
5076
5077 VKAPI_ATTR void VKAPI_CALL vkCmdClearColorImage(
5078 VkCommandBuffer commandBuffer,
5079 VkImage image,
5080 VkImageLayout imageLayout,
5081 const VkClearColorValue* pColor,
5082 uint32_t rangeCount,
5083 const VkImageSubresourceRange* pRanges);
5084
5085 VKAPI_ATTR void VKAPI_CALL vkCmdDispatch(
5086 VkCommandBuffer commandBuffer,
5087 uint32_t groupCountX,
5088 uint32_t groupCountY,
5089 uint32_t groupCountZ);
5090
5091 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchIndirect(
5092 VkCommandBuffer commandBuffer,
5093 VkBuffer buffer,
5094 VkDeviceSize offset);
5095
5096 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent(
5097 VkCommandBuffer commandBuffer,
5098 VkEvent event,
5099 VkPipelineStageFlags stageMask);
5100
5101 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent(
5102 VkCommandBuffer commandBuffer,
5103 VkEvent event,
5104 VkPipelineStageFlags stageMask);
5105
5106 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents(
5107 VkCommandBuffer commandBuffer,
5108 uint32_t eventCount,
5109 const VkEvent* pEvents,
5110 VkPipelineStageFlags srcStageMask,
5111 VkPipelineStageFlags dstStageMask,
5112 uint32_t memoryBarrierCount,
5113 const VkMemoryBarrier* pMemoryBarriers,
5114 uint32_t bufferMemoryBarrierCount,
5115 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
5116 uint32_t imageMemoryBarrierCount,
5117 const VkImageMemoryBarrier* pImageMemoryBarriers);
5118
5119 VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants(
5120 VkCommandBuffer commandBuffer,
5121 VkPipelineLayout layout,
5122 VkShaderStageFlags stageFlags,
5123 uint32_t offset,
5124 uint32_t size,
5125 const void* pValues);
5126
5127 VKAPI_ATTR VkResult VKAPI_CALL vkCreateGraphicsPipelines(
5128 VkDevice device,
5129 VkPipelineCache pipelineCache,
5130 uint32_t createInfoCount,
5131 const VkGraphicsPipelineCreateInfo* pCreateInfos,
5132 const VkAllocationCallbacks* pAllocator,
5133 VkPipeline* pPipelines);
5134
5135 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFramebuffer(
5136 VkDevice device,
5137 const VkFramebufferCreateInfo* pCreateInfo,
5138 const VkAllocationCallbacks* pAllocator,
5139 VkFramebuffer* pFramebuffer);
5140
5141 VKAPI_ATTR void VKAPI_CALL vkDestroyFramebuffer(
5142 VkDevice device,
5143 VkFramebuffer framebuffer,
5144 const VkAllocationCallbacks* pAllocator);
5145
5146 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass(
5147 VkDevice device,
5148 const VkRenderPassCreateInfo* pCreateInfo,
5149 const VkAllocationCallbacks* pAllocator,
5150 VkRenderPass* pRenderPass);
5151
5152 VKAPI_ATTR void VKAPI_CALL vkDestroyRenderPass(
5153 VkDevice device,
5154 VkRenderPass renderPass,
5155 const VkAllocationCallbacks* pAllocator);
5156
5157 VKAPI_ATTR void VKAPI_CALL vkGetRenderAreaGranularity(
5158 VkDevice device,
5159 VkRenderPass renderPass,
5160 VkExtent2D* pGranularity);
5161
5162 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewport(
5163 VkCommandBuffer commandBuffer,
5164 uint32_t firstViewport,
5165 uint32_t viewportCount,
5166 const VkViewport* pViewports);
5167
5168 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissor(
5169 VkCommandBuffer commandBuffer,
5170 uint32_t firstScissor,
5171 uint32_t scissorCount,
5172 const VkRect2D* pScissors);
5173
5174 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineWidth(
5175 VkCommandBuffer commandBuffer,
5176 float lineWidth);
5177
5178 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias(
5179 VkCommandBuffer commandBuffer,
5180 float depthBiasConstantFactor,
5181 float depthBiasClamp,
5182 float depthBiasSlopeFactor);
5183
5184 VKAPI_ATTR void VKAPI_CALL vkCmdSetBlendConstants(
5185 VkCommandBuffer commandBuffer,
5186 const float blendConstants[4]);
5187
5188 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBounds(
5189 VkCommandBuffer commandBuffer,
5190 float minDepthBounds,
5191 float maxDepthBounds);
5192
5193 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilCompareMask(
5194 VkCommandBuffer commandBuffer,
5195 VkStencilFaceFlags faceMask,
5196 uint32_t compareMask);
5197
5198 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilWriteMask(
5199 VkCommandBuffer commandBuffer,
5200 VkStencilFaceFlags faceMask,
5201 uint32_t writeMask);
5202
5203 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilReference(
5204 VkCommandBuffer commandBuffer,
5205 VkStencilFaceFlags faceMask,
5206 uint32_t reference);
5207
5208 VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer(
5209 VkCommandBuffer commandBuffer,
5210 VkBuffer buffer,
5211 VkDeviceSize offset,
5212 VkIndexType indexType);
5213
5214 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers(
5215 VkCommandBuffer commandBuffer,
5216 uint32_t firstBinding,
5217 uint32_t bindingCount,
5218 const VkBuffer* pBuffers,
5219 const VkDeviceSize* pOffsets);
5220
5221 VKAPI_ATTR void VKAPI_CALL vkCmdDraw(
5222 VkCommandBuffer commandBuffer,
5223 uint32_t vertexCount,
5224 uint32_t instanceCount,
5225 uint32_t firstVertex,
5226 uint32_t firstInstance);
5227
5228 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexed(
5229 VkCommandBuffer commandBuffer,
5230 uint32_t indexCount,
5231 uint32_t instanceCount,
5232 uint32_t firstIndex,
5233 int32_t vertexOffset,
5234 uint32_t firstInstance);
5235
5236 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirect(
5237 VkCommandBuffer commandBuffer,
5238 VkBuffer buffer,
5239 VkDeviceSize offset,
5240 uint32_t drawCount,
5241 uint32_t stride);
5242
5243 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirect(
5244 VkCommandBuffer commandBuffer,
5245 VkBuffer buffer,
5246 VkDeviceSize offset,
5247 uint32_t drawCount,
5248 uint32_t stride);
5249
5250 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage(
5251 VkCommandBuffer commandBuffer,
5252 VkImage srcImage,
5253 VkImageLayout srcImageLayout,
5254 VkImage dstImage,
5255 VkImageLayout dstImageLayout,
5256 uint32_t regionCount,
5257 const VkImageBlit* pRegions,
5258 VkFilter filter);
5259
5260 VKAPI_ATTR void VKAPI_CALL vkCmdClearDepthStencilImage(
5261 VkCommandBuffer commandBuffer,
5262 VkImage image,
5263 VkImageLayout imageLayout,
5264 const VkClearDepthStencilValue* pDepthStencil,
5265 uint32_t rangeCount,
5266 const VkImageSubresourceRange* pRanges);
5267
5268 VKAPI_ATTR void VKAPI_CALL vkCmdClearAttachments(
5269 VkCommandBuffer commandBuffer,
5270 uint32_t attachmentCount,
5271 const VkClearAttachment* pAttachments,
5272 uint32_t rectCount,
5273 const VkClearRect* pRects);
5274
5275 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage(
5276 VkCommandBuffer commandBuffer,
5277 VkImage srcImage,
5278 VkImageLayout srcImageLayout,
5279 VkImage dstImage,
5280 VkImageLayout dstImageLayout,
5281 uint32_t regionCount,
5282 const VkImageResolve* pRegions);
5283
5284 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass(
5285 VkCommandBuffer commandBuffer,
5286 const VkRenderPassBeginInfo* pRenderPassBegin,
5287 VkSubpassContents contents);
5288
5289 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass(
5290 VkCommandBuffer commandBuffer,
5291 VkSubpassContents contents);
5292
5293 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass(
5294 VkCommandBuffer commandBuffer);
5295 #endif
5296
5297
5298 // VK_VERSION_1_1 is a preprocessor guard. Do not pass it to API calls.
5299 #define VK_VERSION_1_1 1
5300 // Vulkan 1.1 version number
5301 #define VK_API_VERSION_1_1 VK_MAKE_API_VERSION(0, 1, 1, 0)// Patch version should always be set to 0
5302
5303 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate)
5304 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion)
5305 #define VK_MAX_DEVICE_GROUP_SIZE 32U
5306 #define VK_LUID_SIZE 8U
5307 #define VK_QUEUE_FAMILY_EXTERNAL (~1U)
5308
5309 typedef enum VkDescriptorUpdateTemplateType {
5310 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET = 0,
5311 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS = 1,
5312 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS,
5313 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,
5314 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM = 0x7FFFFFFF
5315 } VkDescriptorUpdateTemplateType;
5316
5317 typedef enum VkSamplerYcbcrModelConversion {
5318 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY = 0,
5319 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY = 1,
5320 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 = 2,
5321 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 = 3,
5322 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 = 4,
5323 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY,
5324 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY,
5325 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709,
5326 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601,
5327 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020,
5328 VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM = 0x7FFFFFFF
5329 } VkSamplerYcbcrModelConversion;
5330
5331 typedef enum VkSamplerYcbcrRange {
5332 VK_SAMPLER_YCBCR_RANGE_ITU_FULL = 0,
5333 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW = 1,
5334 VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_FULL,
5335 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW,
5336 VK_SAMPLER_YCBCR_RANGE_MAX_ENUM = 0x7FFFFFFF
5337 } VkSamplerYcbcrRange;
5338
5339 typedef enum VkChromaLocation {
5340 VK_CHROMA_LOCATION_COSITED_EVEN = 0,
5341 VK_CHROMA_LOCATION_MIDPOINT = 1,
5342 VK_CHROMA_LOCATION_COSITED_EVEN_KHR = VK_CHROMA_LOCATION_COSITED_EVEN,
5343 VK_CHROMA_LOCATION_MIDPOINT_KHR = VK_CHROMA_LOCATION_MIDPOINT,
5344 VK_CHROMA_LOCATION_MAX_ENUM = 0x7FFFFFFF
5345 } VkChromaLocation;
5346
5347 typedef enum VkPointClippingBehavior {
5348 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES = 0,
5349 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY = 1,
5350 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES,
5351 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY,
5352 VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF
5353 } VkPointClippingBehavior;
5354
5355 typedef enum VkTessellationDomainOrigin {
5356 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT = 0,
5357 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT = 1,
5358 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT,
5359 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT,
5360 VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM = 0x7FFFFFFF
5361 } VkTessellationDomainOrigin;
5362
5363 typedef enum VkPeerMemoryFeatureFlagBits {
5364 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT = 0x00000001,
5365 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT = 0x00000002,
5366 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT = 0x00000004,
5367 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT = 0x00000008,
5368 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT,
5369 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_DST_BIT,
5370 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT,
5371 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT,
5372 VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5373 } VkPeerMemoryFeatureFlagBits;
5374 typedef VkFlags VkPeerMemoryFeatureFlags;
5375
5376 typedef enum VkMemoryAllocateFlagBits {
5377 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT = 0x00000001,
5378 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT = 0x00000002,
5379 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000004,
5380 VK_MEMORY_ALLOCATE_ZERO_INITIALIZE_BIT_EXT = 0x00000008,
5381 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT,
5382 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT,
5383 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
5384 VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5385 } VkMemoryAllocateFlagBits;
5386 typedef VkFlags VkMemoryAllocateFlags;
5387 typedef VkFlags VkCommandPoolTrimFlags;
5388
5389 typedef enum VkExternalMemoryHandleTypeFlagBits {
5390 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
5391 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
5392 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
5393 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT = 0x00000008,
5394 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT = 0x00000010,
5395 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT = 0x00000020,
5396 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT = 0x00000040,
5397 VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT = 0x00000200,
5398 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID = 0x00000400,
5399 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 0x00000080,
5400 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 0x00000100,
5401 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA = 0x00000800,
5402 VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV = 0x00001000,
5403 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OH_NATIVE_BUFFER_BIT_OHOS = 0x00008000,
5404 VK_EXTERNAL_MEMORY_HANDLE_TYPE_SCREEN_BUFFER_BIT_QNX = 0x00004000,
5405 VK_EXTERNAL_MEMORY_HANDLE_TYPE_MTLBUFFER_BIT_EXT = 0x00010000,
5406 VK_EXTERNAL_MEMORY_HANDLE_TYPE_MTLTEXTURE_BIT_EXT = 0x00020000,
5407 VK_EXTERNAL_MEMORY_HANDLE_TYPE_MTLHEAP_BIT_EXT = 0x00040000,
5408 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT,
5409 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT,
5410 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
5411 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT,
5412 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT,
5413 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT,
5414 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT,
5415 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5416 } VkExternalMemoryHandleTypeFlagBits;
5417 typedef VkFlags VkExternalMemoryHandleTypeFlags;
5418
5419 typedef enum VkExternalMemoryFeatureFlagBits {
5420 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT = 0x00000001,
5421 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT = 0x00000002,
5422 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT = 0x00000004,
5423 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT,
5424 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT,
5425 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT,
5426 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5427 } VkExternalMemoryFeatureFlagBits;
5428 typedef VkFlags VkExternalMemoryFeatureFlags;
5429
5430 typedef enum VkExternalFenceHandleTypeFlagBits {
5431 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
5432 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
5433 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
5434 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000008,
5435 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT,
5436 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
5437 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
5438 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT,
5439 VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5440 } VkExternalFenceHandleTypeFlagBits;
5441 typedef VkFlags VkExternalFenceHandleTypeFlags;
5442
5443 typedef enum VkExternalFenceFeatureFlagBits {
5444 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT = 0x00000001,
5445 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT = 0x00000002,
5446 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT,
5447 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT,
5448 VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5449 } VkExternalFenceFeatureFlagBits;
5450 typedef VkFlags VkExternalFenceFeatureFlags;
5451
5452 typedef enum VkFenceImportFlagBits {
5453 VK_FENCE_IMPORT_TEMPORARY_BIT = 0x00000001,
5454 VK_FENCE_IMPORT_TEMPORARY_BIT_KHR = VK_FENCE_IMPORT_TEMPORARY_BIT,
5455 VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5456 } VkFenceImportFlagBits;
5457 typedef VkFlags VkFenceImportFlags;
5458
5459 typedef enum VkSemaphoreImportFlagBits {
5460 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT = 0x00000001,
5461 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT,
5462 VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5463 } VkSemaphoreImportFlagBits;
5464 typedef VkFlags VkSemaphoreImportFlags;
5465
5466 typedef enum VkExternalSemaphoreHandleTypeFlagBits {
5467 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
5468 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
5469 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
5470 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT = 0x00000008,
5471 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000010,
5472 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA = 0x00000080,
5473 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
5474 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT,
5475 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
5476 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
5477 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
5478 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT,
5479 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5480 } VkExternalSemaphoreHandleTypeFlagBits;
5481 typedef VkFlags VkExternalSemaphoreHandleTypeFlags;
5482
5483 typedef enum VkExternalSemaphoreFeatureFlagBits {
5484 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT = 0x00000001,
5485 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT = 0x00000002,
5486 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT,
5487 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT,
5488 VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5489 } VkExternalSemaphoreFeatureFlagBits;
5490 typedef VkFlags VkExternalSemaphoreFeatureFlags;
5491
5492 typedef enum VkSubgroupFeatureFlagBits {
5493 VK_SUBGROUP_FEATURE_BASIC_BIT = 0x00000001,
5494 VK_SUBGROUP_FEATURE_VOTE_BIT = 0x00000002,
5495 VK_SUBGROUP_FEATURE_ARITHMETIC_BIT = 0x00000004,
5496 VK_SUBGROUP_FEATURE_BALLOT_BIT = 0x00000008,
5497 VK_SUBGROUP_FEATURE_SHUFFLE_BIT = 0x00000010,
5498 VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = 0x00000020,
5499 VK_SUBGROUP_FEATURE_CLUSTERED_BIT = 0x00000040,
5500 VK_SUBGROUP_FEATURE_QUAD_BIT = 0x00000080,
5501 VK_SUBGROUP_FEATURE_ROTATE_BIT = 0x00000200,
5502 VK_SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT = 0x00000400,
5503 VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x00000100,
5504 VK_SUBGROUP_FEATURE_ROTATE_BIT_KHR = VK_SUBGROUP_FEATURE_ROTATE_BIT,
5505 VK_SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT_KHR = VK_SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT,
5506 VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5507 } VkSubgroupFeatureFlagBits;
5508 typedef VkFlags VkSubgroupFeatureFlags;
5509 typedef VkFlags VkDescriptorUpdateTemplateCreateFlags;
5510 typedef struct VkBindBufferMemoryInfo {
5511 VkStructureType sType;
5512 const void* pNext;
5513 VkBuffer buffer;
5514 VkDeviceMemory memory;
5515 VkDeviceSize memoryOffset;
5516 } VkBindBufferMemoryInfo;
5517
5518 typedef struct VkBindImageMemoryInfo {
5519 VkStructureType sType;
5520 const void* pNext;
5521 VkImage image;
5522 VkDeviceMemory memory;
5523 VkDeviceSize memoryOffset;
5524 } VkBindImageMemoryInfo;
5525
5526 typedef struct VkMemoryDedicatedRequirements {
5527 VkStructureType sType;
5528 void* pNext;
5529 VkBool32 prefersDedicatedAllocation;
5530 VkBool32 requiresDedicatedAllocation;
5531 } VkMemoryDedicatedRequirements;
5532
5533 typedef struct VkMemoryDedicatedAllocateInfo {
5534 VkStructureType sType;
5535 const void* pNext;
5536 VkImage image;
5537 VkBuffer buffer;
5538 } VkMemoryDedicatedAllocateInfo;
5539
5540 typedef struct VkMemoryAllocateFlagsInfo {
5541 VkStructureType sType;
5542 const void* pNext;
5543 VkMemoryAllocateFlags flags;
5544 uint32_t deviceMask;
5545 } VkMemoryAllocateFlagsInfo;
5546
5547 typedef struct VkDeviceGroupCommandBufferBeginInfo {
5548 VkStructureType sType;
5549 const void* pNext;
5550 uint32_t deviceMask;
5551 } VkDeviceGroupCommandBufferBeginInfo;
5552
5553 typedef struct VkDeviceGroupSubmitInfo {
5554 VkStructureType sType;
5555 const void* pNext;
5556 uint32_t waitSemaphoreCount;
5557 const uint32_t* pWaitSemaphoreDeviceIndices;
5558 uint32_t commandBufferCount;
5559 const uint32_t* pCommandBufferDeviceMasks;
5560 uint32_t signalSemaphoreCount;
5561 const uint32_t* pSignalSemaphoreDeviceIndices;
5562 } VkDeviceGroupSubmitInfo;
5563
5564 typedef struct VkDeviceGroupBindSparseInfo {
5565 VkStructureType sType;
5566 const void* pNext;
5567 uint32_t resourceDeviceIndex;
5568 uint32_t memoryDeviceIndex;
5569 } VkDeviceGroupBindSparseInfo;
5570
5571 typedef struct VkBindBufferMemoryDeviceGroupInfo {
5572 VkStructureType sType;
5573 const void* pNext;
5574 uint32_t deviceIndexCount;
5575 const uint32_t* pDeviceIndices;
5576 } VkBindBufferMemoryDeviceGroupInfo;
5577
5578 typedef struct VkBindImageMemoryDeviceGroupInfo {
5579 VkStructureType sType;
5580 const void* pNext;
5581 uint32_t deviceIndexCount;
5582 const uint32_t* pDeviceIndices;
5583 uint32_t splitInstanceBindRegionCount;
5584 const VkRect2D* pSplitInstanceBindRegions;
5585 } VkBindImageMemoryDeviceGroupInfo;
5586
5587 typedef struct VkPhysicalDeviceGroupProperties {
5588 VkStructureType sType;
5589 void* pNext;
5590 uint32_t physicalDeviceCount;
5591 VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE];
5592 VkBool32 subsetAllocation;
5593 } VkPhysicalDeviceGroupProperties;
5594
5595 typedef struct VkDeviceGroupDeviceCreateInfo {
5596 VkStructureType sType;
5597 const void* pNext;
5598 uint32_t physicalDeviceCount;
5599 const VkPhysicalDevice* pPhysicalDevices;
5600 } VkDeviceGroupDeviceCreateInfo;
5601
5602 typedef struct VkBufferMemoryRequirementsInfo2 {
5603 VkStructureType sType;
5604 const void* pNext;
5605 VkBuffer buffer;
5606 } VkBufferMemoryRequirementsInfo2;
5607
5608 typedef struct VkImageMemoryRequirementsInfo2 {
5609 VkStructureType sType;
5610 const void* pNext;
5611 VkImage image;
5612 } VkImageMemoryRequirementsInfo2;
5613
5614 typedef struct VkImageSparseMemoryRequirementsInfo2 {
5615 VkStructureType sType;
5616 const void* pNext;
5617 VkImage image;
5618 } VkImageSparseMemoryRequirementsInfo2;
5619
5620 typedef struct VkMemoryRequirements2 {
5621 VkStructureType sType;
5622 void* pNext;
5623 VkMemoryRequirements memoryRequirements;
5624 } VkMemoryRequirements2;
5625
5626 typedef struct VkSparseImageMemoryRequirements2 {
5627 VkStructureType sType;
5628 void* pNext;
5629 VkSparseImageMemoryRequirements memoryRequirements;
5630 } VkSparseImageMemoryRequirements2;
5631
5632 typedef struct VkPhysicalDeviceFeatures2 {
5633 VkStructureType sType;
5634 void* pNext;
5635 VkPhysicalDeviceFeatures features;
5636 } VkPhysicalDeviceFeatures2;
5637
5638 typedef struct VkPhysicalDeviceProperties2 {
5639 VkStructureType sType;
5640 void* pNext;
5641 VkPhysicalDeviceProperties properties;
5642 } VkPhysicalDeviceProperties2;
5643
5644 typedef struct VkFormatProperties2 {
5645 VkStructureType sType;
5646 void* pNext;
5647 VkFormatProperties formatProperties;
5648 } VkFormatProperties2;
5649
5650 typedef struct VkImageFormatProperties2 {
5651 VkStructureType sType;
5652 void* pNext;
5653 VkImageFormatProperties imageFormatProperties;
5654 } VkImageFormatProperties2;
5655
5656 typedef struct VkPhysicalDeviceImageFormatInfo2 {
5657 VkStructureType sType;
5658 const void* pNext;
5659 VkFormat format;
5660 VkImageType type;
5661 VkImageTiling tiling;
5662 VkImageUsageFlags usage;
5663 VkImageCreateFlags flags;
5664 } VkPhysicalDeviceImageFormatInfo2;
5665
5666 typedef struct VkQueueFamilyProperties2 {
5667 VkStructureType sType;
5668 void* pNext;
5669 VkQueueFamilyProperties queueFamilyProperties;
5670 } VkQueueFamilyProperties2;
5671
5672 typedef struct VkPhysicalDeviceMemoryProperties2 {
5673 VkStructureType sType;
5674 void* pNext;
5675 VkPhysicalDeviceMemoryProperties memoryProperties;
5676 } VkPhysicalDeviceMemoryProperties2;
5677
5678 typedef struct VkSparseImageFormatProperties2 {
5679 VkStructureType sType;
5680 void* pNext;
5681 VkSparseImageFormatProperties properties;
5682 } VkSparseImageFormatProperties2;
5683
5684 typedef struct VkPhysicalDeviceSparseImageFormatInfo2 {
5685 VkStructureType sType;
5686 const void* pNext;
5687 VkFormat format;
5688 VkImageType type;
5689 VkSampleCountFlagBits samples;
5690 VkImageUsageFlags usage;
5691 VkImageTiling tiling;
5692 } VkPhysicalDeviceSparseImageFormatInfo2;
5693
5694 typedef struct VkImageViewUsageCreateInfo {
5695 VkStructureType sType;
5696 const void* pNext;
5697 VkImageUsageFlags usage;
5698 } VkImageViewUsageCreateInfo;
5699
5700 typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
5701 VkStructureType sType;
5702 void* pNext;
5703 VkBool32 protectedMemory;
5704 } VkPhysicalDeviceProtectedMemoryFeatures;
5705
5706 typedef struct VkPhysicalDeviceProtectedMemoryProperties {
5707 VkStructureType sType;
5708 void* pNext;
5709 VkBool32 protectedNoFault;
5710 } VkPhysicalDeviceProtectedMemoryProperties;
5711
5712 typedef struct VkDeviceQueueInfo2 {
5713 VkStructureType sType;
5714 const void* pNext;
5715 VkDeviceQueueCreateFlags flags;
5716 uint32_t queueFamilyIndex;
5717 uint32_t queueIndex;
5718 } VkDeviceQueueInfo2;
5719
5720 typedef struct VkProtectedSubmitInfo {
5721 VkStructureType sType;
5722 const void* pNext;
5723 VkBool32 protectedSubmit;
5724 } VkProtectedSubmitInfo;
5725
5726 typedef struct VkBindImagePlaneMemoryInfo {
5727 VkStructureType sType;
5728 const void* pNext;
5729 VkImageAspectFlagBits planeAspect;
5730 } VkBindImagePlaneMemoryInfo;
5731
5732 typedef struct VkImagePlaneMemoryRequirementsInfo {
5733 VkStructureType sType;
5734 const void* pNext;
5735 VkImageAspectFlagBits planeAspect;
5736 } VkImagePlaneMemoryRequirementsInfo;
5737
5738 typedef struct VkExternalMemoryProperties {
5739 VkExternalMemoryFeatureFlags externalMemoryFeatures;
5740 VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes;
5741 VkExternalMemoryHandleTypeFlags compatibleHandleTypes;
5742 } VkExternalMemoryProperties;
5743
5744 typedef struct VkPhysicalDeviceExternalImageFormatInfo {
5745 VkStructureType sType;
5746 const void* pNext;
5747 VkExternalMemoryHandleTypeFlagBits handleType;
5748 } VkPhysicalDeviceExternalImageFormatInfo;
5749
5750 typedef struct VkExternalImageFormatProperties {
5751 VkStructureType sType;
5752 void* pNext;
5753 VkExternalMemoryProperties externalMemoryProperties;
5754 } VkExternalImageFormatProperties;
5755
5756 typedef struct VkPhysicalDeviceExternalBufferInfo {
5757 VkStructureType sType;
5758 const void* pNext;
5759 VkBufferCreateFlags flags;
5760 VkBufferUsageFlags usage;
5761 VkExternalMemoryHandleTypeFlagBits handleType;
5762 } VkPhysicalDeviceExternalBufferInfo;
5763
5764 typedef struct VkExternalBufferProperties {
5765 VkStructureType sType;
5766 void* pNext;
5767 VkExternalMemoryProperties externalMemoryProperties;
5768 } VkExternalBufferProperties;
5769
5770 typedef struct VkPhysicalDeviceIDProperties {
5771 VkStructureType sType;
5772 void* pNext;
5773 uint8_t deviceUUID[VK_UUID_SIZE];
5774 uint8_t driverUUID[VK_UUID_SIZE];
5775 uint8_t deviceLUID[VK_LUID_SIZE];
5776 uint32_t deviceNodeMask;
5777 VkBool32 deviceLUIDValid;
5778 } VkPhysicalDeviceIDProperties;
5779
5780 typedef struct VkExternalMemoryImageCreateInfo {
5781 VkStructureType sType;
5782 const void* pNext;
5783 VkExternalMemoryHandleTypeFlags handleTypes;
5784 } VkExternalMemoryImageCreateInfo;
5785
5786 typedef struct VkExternalMemoryBufferCreateInfo {
5787 VkStructureType sType;
5788 const void* pNext;
5789 VkExternalMemoryHandleTypeFlags handleTypes;
5790 } VkExternalMemoryBufferCreateInfo;
5791
5792 typedef struct VkExportMemoryAllocateInfo {
5793 VkStructureType sType;
5794 const void* pNext;
5795 VkExternalMemoryHandleTypeFlags handleTypes;
5796 } VkExportMemoryAllocateInfo;
5797
5798 typedef struct VkPhysicalDeviceExternalFenceInfo {
5799 VkStructureType sType;
5800 const void* pNext;
5801 VkExternalFenceHandleTypeFlagBits handleType;
5802 } VkPhysicalDeviceExternalFenceInfo;
5803
5804 typedef struct VkExternalFenceProperties {
5805 VkStructureType sType;
5806 void* pNext;
5807 VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes;
5808 VkExternalFenceHandleTypeFlags compatibleHandleTypes;
5809 VkExternalFenceFeatureFlags externalFenceFeatures;
5810 } VkExternalFenceProperties;
5811
5812 typedef struct VkExportFenceCreateInfo {
5813 VkStructureType sType;
5814 const void* pNext;
5815 VkExternalFenceHandleTypeFlags handleTypes;
5816 } VkExportFenceCreateInfo;
5817
5818 typedef struct VkExportSemaphoreCreateInfo {
5819 VkStructureType sType;
5820 const void* pNext;
5821 VkExternalSemaphoreHandleTypeFlags handleTypes;
5822 } VkExportSemaphoreCreateInfo;
5823
5824 typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
5825 VkStructureType sType;
5826 const void* pNext;
5827 VkExternalSemaphoreHandleTypeFlagBits handleType;
5828 } VkPhysicalDeviceExternalSemaphoreInfo;
5829
5830 typedef struct VkExternalSemaphoreProperties {
5831 VkStructureType sType;
5832 void* pNext;
5833 VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes;
5834 VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes;
5835 VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures;
5836 } VkExternalSemaphoreProperties;
5837
5838 typedef struct VkPhysicalDeviceSubgroupProperties {
5839 VkStructureType sType;
5840 void* pNext;
5841 uint32_t subgroupSize;
5842 VkShaderStageFlags supportedStages;
5843 VkSubgroupFeatureFlags supportedOperations;
5844 VkBool32 quadOperationsInAllStages;
5845 } VkPhysicalDeviceSubgroupProperties;
5846
5847 typedef struct VkPhysicalDevice16BitStorageFeatures {
5848 VkStructureType sType;
5849 void* pNext;
5850 VkBool32 storageBuffer16BitAccess;
5851 VkBool32 uniformAndStorageBuffer16BitAccess;
5852 VkBool32 storagePushConstant16;
5853 VkBool32 storageInputOutput16;
5854 } VkPhysicalDevice16BitStorageFeatures;
5855
5856 typedef struct VkPhysicalDeviceVariablePointersFeatures {
5857 VkStructureType sType;
5858 void* pNext;
5859 VkBool32 variablePointersStorageBuffer;
5860 VkBool32 variablePointers;
5861 } VkPhysicalDeviceVariablePointersFeatures;
5862
5863 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeatures;
5864
5865 typedef struct VkDescriptorUpdateTemplateEntry {
5866 uint32_t dstBinding;
5867 uint32_t dstArrayElement;
5868 uint32_t descriptorCount;
5869 VkDescriptorType descriptorType;
5870 size_t offset;
5871 size_t stride;
5872 } VkDescriptorUpdateTemplateEntry;
5873
5874 typedef struct VkDescriptorUpdateTemplateCreateInfo {
5875 VkStructureType sType;
5876 const void* pNext;
5877 VkDescriptorUpdateTemplateCreateFlags flags;
5878 uint32_t descriptorUpdateEntryCount;
5879 const VkDescriptorUpdateTemplateEntry* pDescriptorUpdateEntries;
5880 VkDescriptorUpdateTemplateType templateType;
5881 VkDescriptorSetLayout descriptorSetLayout;
5882 VkPipelineBindPoint pipelineBindPoint;
5883 VkPipelineLayout pipelineLayout;
5884 uint32_t set;
5885 } VkDescriptorUpdateTemplateCreateInfo;
5886
5887 typedef struct VkPhysicalDeviceMaintenance3Properties {
5888 VkStructureType sType;
5889 void* pNext;
5890 uint32_t maxPerSetDescriptors;
5891 VkDeviceSize maxMemoryAllocationSize;
5892 } VkPhysicalDeviceMaintenance3Properties;
5893
5894 typedef struct VkDescriptorSetLayoutSupport {
5895 VkStructureType sType;
5896 void* pNext;
5897 VkBool32 supported;
5898 } VkDescriptorSetLayoutSupport;
5899
5900 typedef struct VkSamplerYcbcrConversionCreateInfo {
5901 VkStructureType sType;
5902 const void* pNext;
5903 VkFormat format;
5904 VkSamplerYcbcrModelConversion ycbcrModel;
5905 VkSamplerYcbcrRange ycbcrRange;
5906 VkComponentMapping components;
5907 VkChromaLocation xChromaOffset;
5908 VkChromaLocation yChromaOffset;
5909 VkFilter chromaFilter;
5910 VkBool32 forceExplicitReconstruction;
5911 } VkSamplerYcbcrConversionCreateInfo;
5912
5913 typedef struct VkSamplerYcbcrConversionInfo {
5914 VkStructureType sType;
5915 const void* pNext;
5916 VkSamplerYcbcrConversion conversion;
5917 } VkSamplerYcbcrConversionInfo;
5918
5919 typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
5920 VkStructureType sType;
5921 void* pNext;
5922 VkBool32 samplerYcbcrConversion;
5923 } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
5924
5925 typedef struct VkSamplerYcbcrConversionImageFormatProperties {
5926 VkStructureType sType;
5927 void* pNext;
5928 uint32_t combinedImageSamplerDescriptorCount;
5929 } VkSamplerYcbcrConversionImageFormatProperties;
5930
5931 typedef struct VkDeviceGroupRenderPassBeginInfo {
5932 VkStructureType sType;
5933 const void* pNext;
5934 uint32_t deviceMask;
5935 uint32_t deviceRenderAreaCount;
5936 const VkRect2D* pDeviceRenderAreas;
5937 } VkDeviceGroupRenderPassBeginInfo;
5938
5939 typedef struct VkPhysicalDevicePointClippingProperties {
5940 VkStructureType sType;
5941 void* pNext;
5942 VkPointClippingBehavior pointClippingBehavior;
5943 } VkPhysicalDevicePointClippingProperties;
5944
5945 typedef struct VkInputAttachmentAspectReference {
5946 uint32_t subpass;
5947 uint32_t inputAttachmentIndex;
5948 VkImageAspectFlags aspectMask;
5949 } VkInputAttachmentAspectReference;
5950
5951 typedef struct VkRenderPassInputAttachmentAspectCreateInfo {
5952 VkStructureType sType;
5953 const void* pNext;
5954 uint32_t aspectReferenceCount;
5955 const VkInputAttachmentAspectReference* pAspectReferences;
5956 } VkRenderPassInputAttachmentAspectCreateInfo;
5957
5958 typedef struct VkPipelineTessellationDomainOriginStateCreateInfo {
5959 VkStructureType sType;
5960 const void* pNext;
5961 VkTessellationDomainOrigin domainOrigin;
5962 } VkPipelineTessellationDomainOriginStateCreateInfo;
5963
5964 typedef struct VkRenderPassMultiviewCreateInfo {
5965 VkStructureType sType;
5966 const void* pNext;
5967 uint32_t subpassCount;
5968 const uint32_t* pViewMasks;
5969 uint32_t dependencyCount;
5970 const int32_t* pViewOffsets;
5971 uint32_t correlationMaskCount;
5972 const uint32_t* pCorrelationMasks;
5973 } VkRenderPassMultiviewCreateInfo;
5974
5975 typedef struct VkPhysicalDeviceMultiviewFeatures {
5976 VkStructureType sType;
5977 void* pNext;
5978 VkBool32 multiview;
5979 VkBool32 multiviewGeometryShader;
5980 VkBool32 multiviewTessellationShader;
5981 } VkPhysicalDeviceMultiviewFeatures;
5982
5983 typedef struct VkPhysicalDeviceMultiviewProperties {
5984 VkStructureType sType;
5985 void* pNext;
5986 uint32_t maxMultiviewViewCount;
5987 uint32_t maxMultiviewInstanceIndex;
5988 } VkPhysicalDeviceMultiviewProperties;
5989
5990 typedef struct VkPhysicalDeviceShaderDrawParametersFeatures {
5991 VkStructureType sType;
5992 void* pNext;
5993 VkBool32 shaderDrawParameters;
5994 } VkPhysicalDeviceShaderDrawParametersFeatures;
5995
5996 typedef VkPhysicalDeviceShaderDrawParametersFeatures VkPhysicalDeviceShaderDrawParameterFeatures;
5997
5998 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceVersion)(uint32_t* pApiVersion);
5999 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
6000 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
6001 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeatures)(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
6002 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMask)(VkCommandBuffer commandBuffer, uint32_t deviceMask);
6003 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroups)(VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
6004 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
6005 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
6006 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
6007 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
6008 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
6009 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
6010 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
6011 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
6012 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
6013 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
6014 typedef void (VKAPI_PTR *PFN_vkTrimCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
6015 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue2)(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue);
6016 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
6017 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFenceProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
6018 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphoreProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
6019 typedef void (VKAPI_PTR *PFN_vkCmdDispatchBase)(VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ);
6020 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplate)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
6021 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplate)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
6022 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplate)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
6023 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupport)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
6024 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversion)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
6025 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversion)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
6026
6027 #ifndef VK_NO_PROTOTYPES
6028 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceVersion(
6029 uint32_t* pApiVersion);
6030
6031 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2(
6032 VkDevice device,
6033 uint32_t bindInfoCount,
6034 const VkBindBufferMemoryInfo* pBindInfos);
6035
6036 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2(
6037 VkDevice device,
6038 uint32_t bindInfoCount,
6039 const VkBindImageMemoryInfo* pBindInfos);
6040
6041 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeatures(
6042 VkDevice device,
6043 uint32_t heapIndex,
6044 uint32_t localDeviceIndex,
6045 uint32_t remoteDeviceIndex,
6046 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
6047
6048 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMask(
6049 VkCommandBuffer commandBuffer,
6050 uint32_t deviceMask);
6051
6052 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroups(
6053 VkInstance instance,
6054 uint32_t* pPhysicalDeviceGroupCount,
6055 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
6056
6057 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2(
6058 VkDevice device,
6059 const VkImageMemoryRequirementsInfo2* pInfo,
6060 VkMemoryRequirements2* pMemoryRequirements);
6061
6062 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2(
6063 VkDevice device,
6064 const VkBufferMemoryRequirementsInfo2* pInfo,
6065 VkMemoryRequirements2* pMemoryRequirements);
6066
6067 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2(
6068 VkDevice device,
6069 const VkImageSparseMemoryRequirementsInfo2* pInfo,
6070 uint32_t* pSparseMemoryRequirementCount,
6071 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
6072
6073 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2(
6074 VkPhysicalDevice physicalDevice,
6075 VkPhysicalDeviceFeatures2* pFeatures);
6076
6077 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2(
6078 VkPhysicalDevice physicalDevice,
6079 VkPhysicalDeviceProperties2* pProperties);
6080
6081 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2(
6082 VkPhysicalDevice physicalDevice,
6083 VkFormat format,
6084 VkFormatProperties2* pFormatProperties);
6085
6086 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2(
6087 VkPhysicalDevice physicalDevice,
6088 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
6089 VkImageFormatProperties2* pImageFormatProperties);
6090
6091 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2(
6092 VkPhysicalDevice physicalDevice,
6093 uint32_t* pQueueFamilyPropertyCount,
6094 VkQueueFamilyProperties2* pQueueFamilyProperties);
6095
6096 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2(
6097 VkPhysicalDevice physicalDevice,
6098 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
6099
6100 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2(
6101 VkPhysicalDevice physicalDevice,
6102 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
6103 uint32_t* pPropertyCount,
6104 VkSparseImageFormatProperties2* pProperties);
6105
6106 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPool(
6107 VkDevice device,
6108 VkCommandPool commandPool,
6109 VkCommandPoolTrimFlags flags);
6110
6111 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue2(
6112 VkDevice device,
6113 const VkDeviceQueueInfo2* pQueueInfo,
6114 VkQueue* pQueue);
6115
6116 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferProperties(
6117 VkPhysicalDevice physicalDevice,
6118 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
6119 VkExternalBufferProperties* pExternalBufferProperties);
6120
6121 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFenceProperties(
6122 VkPhysicalDevice physicalDevice,
6123 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
6124 VkExternalFenceProperties* pExternalFenceProperties);
6125
6126 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphoreProperties(
6127 VkPhysicalDevice physicalDevice,
6128 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
6129 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
6130
6131 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBase(
6132 VkCommandBuffer commandBuffer,
6133 uint32_t baseGroupX,
6134 uint32_t baseGroupY,
6135 uint32_t baseGroupZ,
6136 uint32_t groupCountX,
6137 uint32_t groupCountY,
6138 uint32_t groupCountZ);
6139
6140 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplate(
6141 VkDevice device,
6142 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
6143 const VkAllocationCallbacks* pAllocator,
6144 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
6145
6146 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplate(
6147 VkDevice device,
6148 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
6149 const VkAllocationCallbacks* pAllocator);
6150
6151 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplate(
6152 VkDevice device,
6153 VkDescriptorSet descriptorSet,
6154 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
6155 const void* pData);
6156
6157 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupport(
6158 VkDevice device,
6159 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
6160 VkDescriptorSetLayoutSupport* pSupport);
6161
6162 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversion(
6163 VkDevice device,
6164 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
6165 const VkAllocationCallbacks* pAllocator,
6166 VkSamplerYcbcrConversion* pYcbcrConversion);
6167
6168 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversion(
6169 VkDevice device,
6170 VkSamplerYcbcrConversion ycbcrConversion,
6171 const VkAllocationCallbacks* pAllocator);
6172 #endif
6173
6174
6175 // VK_VERSION_1_2 is a preprocessor guard. Do not pass it to API calls.
6176 #define VK_VERSION_1_2 1
6177 // Vulkan 1.2 version number
6178 #define VK_API_VERSION_1_2 VK_MAKE_API_VERSION(0, 1, 2, 0)// Patch version should always be set to 0
6179
6180 #define VK_MAX_DRIVER_NAME_SIZE 256U
6181 #define VK_MAX_DRIVER_INFO_SIZE 256U
6182
6183 typedef enum VkDriverId {
6184 VK_DRIVER_ID_AMD_PROPRIETARY = 1,
6185 VK_DRIVER_ID_AMD_OPEN_SOURCE = 2,
6186 VK_DRIVER_ID_MESA_RADV = 3,
6187 VK_DRIVER_ID_NVIDIA_PROPRIETARY = 4,
6188 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS = 5,
6189 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA = 6,
6190 VK_DRIVER_ID_IMAGINATION_PROPRIETARY = 7,
6191 VK_DRIVER_ID_QUALCOMM_PROPRIETARY = 8,
6192 VK_DRIVER_ID_ARM_PROPRIETARY = 9,
6193 VK_DRIVER_ID_GOOGLE_SWIFTSHADER = 10,
6194 VK_DRIVER_ID_GGP_PROPRIETARY = 11,
6195 VK_DRIVER_ID_BROADCOM_PROPRIETARY = 12,
6196 VK_DRIVER_ID_MESA_LLVMPIPE = 13,
6197 VK_DRIVER_ID_MOLTENVK = 14,
6198 VK_DRIVER_ID_COREAVI_PROPRIETARY = 15,
6199 VK_DRIVER_ID_JUICE_PROPRIETARY = 16,
6200 VK_DRIVER_ID_VERISILICON_PROPRIETARY = 17,
6201 VK_DRIVER_ID_MESA_TURNIP = 18,
6202 VK_DRIVER_ID_MESA_V3DV = 19,
6203 VK_DRIVER_ID_MESA_PANVK = 20,
6204 VK_DRIVER_ID_SAMSUNG_PROPRIETARY = 21,
6205 VK_DRIVER_ID_MESA_VENUS = 22,
6206 VK_DRIVER_ID_MESA_DOZEN = 23,
6207 VK_DRIVER_ID_MESA_NVK = 24,
6208 VK_DRIVER_ID_IMAGINATION_OPEN_SOURCE_MESA = 25,
6209 VK_DRIVER_ID_MESA_HONEYKRISP = 26,
6210 VK_DRIVER_ID_VULKAN_SC_EMULATION_ON_VULKAN = 27,
6211 VK_DRIVER_ID_MESA_KOSMICKRISP = 28,
6212 VK_DRIVER_ID_AMD_PROPRIETARY_KHR = VK_DRIVER_ID_AMD_PROPRIETARY,
6213 VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = VK_DRIVER_ID_AMD_OPEN_SOURCE,
6214 VK_DRIVER_ID_MESA_RADV_KHR = VK_DRIVER_ID_MESA_RADV,
6215 VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR = VK_DRIVER_ID_NVIDIA_PROPRIETARY,
6216 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR = VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS,
6217 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR = VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA,
6218 VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR = VK_DRIVER_ID_IMAGINATION_PROPRIETARY,
6219 VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR = VK_DRIVER_ID_QUALCOMM_PROPRIETARY,
6220 VK_DRIVER_ID_ARM_PROPRIETARY_KHR = VK_DRIVER_ID_ARM_PROPRIETARY,
6221 VK_DRIVER_ID_GOOGLE_SWIFTSHADER_KHR = VK_DRIVER_ID_GOOGLE_SWIFTSHADER,
6222 VK_DRIVER_ID_GGP_PROPRIETARY_KHR = VK_DRIVER_ID_GGP_PROPRIETARY,
6223 VK_DRIVER_ID_BROADCOM_PROPRIETARY_KHR = VK_DRIVER_ID_BROADCOM_PROPRIETARY,
6224 VK_DRIVER_ID_MAX_ENUM = 0x7FFFFFFF
6225 } VkDriverId;
6226
6227 typedef enum VkShaderFloatControlsIndependence {
6228 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY = 0,
6229 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL = 1,
6230 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE = 2,
6231 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY,
6232 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL,
6233 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE,
6234 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_MAX_ENUM = 0x7FFFFFFF
6235 } VkShaderFloatControlsIndependence;
6236
6237 typedef enum VkSemaphoreType {
6238 VK_SEMAPHORE_TYPE_BINARY = 0,
6239 VK_SEMAPHORE_TYPE_TIMELINE = 1,
6240 VK_SEMAPHORE_TYPE_BINARY_KHR = VK_SEMAPHORE_TYPE_BINARY,
6241 VK_SEMAPHORE_TYPE_TIMELINE_KHR = VK_SEMAPHORE_TYPE_TIMELINE,
6242 VK_SEMAPHORE_TYPE_MAX_ENUM = 0x7FFFFFFF
6243 } VkSemaphoreType;
6244
6245 typedef enum VkSamplerReductionMode {
6246 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE = 0,
6247 VK_SAMPLER_REDUCTION_MODE_MIN = 1,
6248 VK_SAMPLER_REDUCTION_MODE_MAX = 2,
6249 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_RANGECLAMP_QCOM = 1000521000,
6250 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE,
6251 VK_SAMPLER_REDUCTION_MODE_MIN_EXT = VK_SAMPLER_REDUCTION_MODE_MIN,
6252 VK_SAMPLER_REDUCTION_MODE_MAX_EXT = VK_SAMPLER_REDUCTION_MODE_MAX,
6253 VK_SAMPLER_REDUCTION_MODE_MAX_ENUM = 0x7FFFFFFF
6254 } VkSamplerReductionMode;
6255
6256 typedef enum VkResolveModeFlagBits {
6257 VK_RESOLVE_MODE_NONE = 0,
6258 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT = 0x00000001,
6259 VK_RESOLVE_MODE_AVERAGE_BIT = 0x00000002,
6260 VK_RESOLVE_MODE_MIN_BIT = 0x00000004,
6261 VK_RESOLVE_MODE_MAX_BIT = 0x00000008,
6262 VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_BIT_ANDROID = 0x00000010,
6263 VK_RESOLVE_MODE_CUSTOM_BIT_EXT = 0x00000020,
6264 VK_RESOLVE_MODE_NONE_KHR = VK_RESOLVE_MODE_NONE,
6265 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR = VK_RESOLVE_MODE_SAMPLE_ZERO_BIT,
6266 VK_RESOLVE_MODE_AVERAGE_BIT_KHR = VK_RESOLVE_MODE_AVERAGE_BIT,
6267 VK_RESOLVE_MODE_MIN_BIT_KHR = VK_RESOLVE_MODE_MIN_BIT,
6268 VK_RESOLVE_MODE_MAX_BIT_KHR = VK_RESOLVE_MODE_MAX_BIT,
6269 // VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID is a legacy alias
6270 VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID = VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_BIT_ANDROID,
6271 VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
6272 } VkResolveModeFlagBits;
6273 typedef VkFlags VkResolveModeFlags;
6274
6275 typedef enum VkSemaphoreWaitFlagBits {
6276 VK_SEMAPHORE_WAIT_ANY_BIT = 0x00000001,
6277 VK_SEMAPHORE_WAIT_ANY_BIT_KHR = VK_SEMAPHORE_WAIT_ANY_BIT,
6278 VK_SEMAPHORE_WAIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
6279 } VkSemaphoreWaitFlagBits;
6280 typedef VkFlags VkSemaphoreWaitFlags;
6281
6282 typedef enum VkDescriptorBindingFlagBits {
6283 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT = 0x00000001,
6284 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT = 0x00000002,
6285 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT = 0x00000004,
6286 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT = 0x00000008,
6287 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT,
6288 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT,
6289 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT = VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT,
6290 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT = VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT,
6291 VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
6292 } VkDescriptorBindingFlagBits;
6293 typedef VkFlags VkDescriptorBindingFlags;
6294 typedef struct VkPhysicalDeviceVulkan11Features {
6295 VkStructureType sType;
6296 void* pNext;
6297 VkBool32 storageBuffer16BitAccess;
6298 VkBool32 uniformAndStorageBuffer16BitAccess;
6299 VkBool32 storagePushConstant16;
6300 VkBool32 storageInputOutput16;
6301 VkBool32 multiview;
6302 VkBool32 multiviewGeometryShader;
6303 VkBool32 multiviewTessellationShader;
6304 VkBool32 variablePointersStorageBuffer;
6305 VkBool32 variablePointers;
6306 VkBool32 protectedMemory;
6307 VkBool32 samplerYcbcrConversion;
6308 VkBool32 shaderDrawParameters;
6309 } VkPhysicalDeviceVulkan11Features;
6310
6311 typedef struct VkPhysicalDeviceVulkan11Properties {
6312 VkStructureType sType;
6313 void* pNext;
6314 uint8_t deviceUUID[VK_UUID_SIZE];
6315 uint8_t driverUUID[VK_UUID_SIZE];
6316 uint8_t deviceLUID[VK_LUID_SIZE];
6317 uint32_t deviceNodeMask;
6318 VkBool32 deviceLUIDValid;
6319 uint32_t subgroupSize;
6320 VkShaderStageFlags subgroupSupportedStages;
6321 VkSubgroupFeatureFlags subgroupSupportedOperations;
6322 VkBool32 subgroupQuadOperationsInAllStages;
6323 VkPointClippingBehavior pointClippingBehavior;
6324 uint32_t maxMultiviewViewCount;
6325 uint32_t maxMultiviewInstanceIndex;
6326 VkBool32 protectedNoFault;
6327 uint32_t maxPerSetDescriptors;
6328 VkDeviceSize maxMemoryAllocationSize;
6329 } VkPhysicalDeviceVulkan11Properties;
6330
6331 typedef struct VkPhysicalDeviceVulkan12Features {
6332 VkStructureType sType;
6333 void* pNext;
6334 VkBool32 samplerMirrorClampToEdge;
6335 VkBool32 drawIndirectCount;
6336 VkBool32 storageBuffer8BitAccess;
6337 VkBool32 uniformAndStorageBuffer8BitAccess;
6338 VkBool32 storagePushConstant8;
6339 VkBool32 shaderBufferInt64Atomics;
6340 VkBool32 shaderSharedInt64Atomics;
6341 VkBool32 shaderFloat16;
6342 VkBool32 shaderInt8;
6343 VkBool32 descriptorIndexing;
6344 VkBool32 shaderInputAttachmentArrayDynamicIndexing;
6345 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
6346 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
6347 VkBool32 shaderUniformBufferArrayNonUniformIndexing;
6348 VkBool32 shaderSampledImageArrayNonUniformIndexing;
6349 VkBool32 shaderStorageBufferArrayNonUniformIndexing;
6350 VkBool32 shaderStorageImageArrayNonUniformIndexing;
6351 VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
6352 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
6353 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
6354 VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
6355 VkBool32 descriptorBindingSampledImageUpdateAfterBind;
6356 VkBool32 descriptorBindingStorageImageUpdateAfterBind;
6357 VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
6358 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
6359 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
6360 VkBool32 descriptorBindingUpdateUnusedWhilePending;
6361 VkBool32 descriptorBindingPartiallyBound;
6362 VkBool32 descriptorBindingVariableDescriptorCount;
6363 VkBool32 runtimeDescriptorArray;
6364 VkBool32 samplerFilterMinmax;
6365 VkBool32 scalarBlockLayout;
6366 VkBool32 imagelessFramebuffer;
6367 VkBool32 uniformBufferStandardLayout;
6368 VkBool32 shaderSubgroupExtendedTypes;
6369 VkBool32 separateDepthStencilLayouts;
6370 VkBool32 hostQueryReset;
6371 VkBool32 timelineSemaphore;
6372 VkBool32 bufferDeviceAddress;
6373 VkBool32 bufferDeviceAddressCaptureReplay;
6374 VkBool32 bufferDeviceAddressMultiDevice;
6375 VkBool32 vulkanMemoryModel;
6376 VkBool32 vulkanMemoryModelDeviceScope;
6377 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
6378 VkBool32 shaderOutputViewportIndex;
6379 VkBool32 shaderOutputLayer;
6380 VkBool32 subgroupBroadcastDynamicId;
6381 } VkPhysicalDeviceVulkan12Features;
6382
6383 typedef struct VkConformanceVersion {
6384 uint8_t major;
6385 uint8_t minor;
6386 uint8_t subminor;
6387 uint8_t patch;
6388 } VkConformanceVersion;
6389
6390 typedef struct VkPhysicalDeviceVulkan12Properties {
6391 VkStructureType sType;
6392 void* pNext;
6393 VkDriverId driverID;
6394 char driverName[VK_MAX_DRIVER_NAME_SIZE];
6395 char driverInfo[VK_MAX_DRIVER_INFO_SIZE];
6396 VkConformanceVersion conformanceVersion;
6397 VkShaderFloatControlsIndependence denormBehaviorIndependence;
6398 VkShaderFloatControlsIndependence roundingModeIndependence;
6399 VkBool32 shaderSignedZeroInfNanPreserveFloat16;
6400 VkBool32 shaderSignedZeroInfNanPreserveFloat32;
6401 VkBool32 shaderSignedZeroInfNanPreserveFloat64;
6402 VkBool32 shaderDenormPreserveFloat16;
6403 VkBool32 shaderDenormPreserveFloat32;
6404 VkBool32 shaderDenormPreserveFloat64;
6405 VkBool32 shaderDenormFlushToZeroFloat16;
6406 VkBool32 shaderDenormFlushToZeroFloat32;
6407 VkBool32 shaderDenormFlushToZeroFloat64;
6408 VkBool32 shaderRoundingModeRTEFloat16;
6409 VkBool32 shaderRoundingModeRTEFloat32;
6410 VkBool32 shaderRoundingModeRTEFloat64;
6411 VkBool32 shaderRoundingModeRTZFloat16;
6412 VkBool32 shaderRoundingModeRTZFloat32;
6413 VkBool32 shaderRoundingModeRTZFloat64;
6414 uint32_t maxUpdateAfterBindDescriptorsInAllPools;
6415 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
6416 VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
6417 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
6418 VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
6419 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
6420 VkBool32 robustBufferAccessUpdateAfterBind;
6421 VkBool32 quadDivergentImplicitLod;
6422 uint32_t maxPerStageDescriptorUpdateAfterBindSamplers;
6423 uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers;
6424 uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers;
6425 uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages;
6426 uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages;
6427 uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments;
6428 uint32_t maxPerStageUpdateAfterBindResources;
6429 uint32_t maxDescriptorSetUpdateAfterBindSamplers;
6430 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers;
6431 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
6432 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers;
6433 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
6434 uint32_t maxDescriptorSetUpdateAfterBindSampledImages;
6435 uint32_t maxDescriptorSetUpdateAfterBindStorageImages;
6436 uint32_t maxDescriptorSetUpdateAfterBindInputAttachments;
6437 VkResolveModeFlags supportedDepthResolveModes;
6438 VkResolveModeFlags supportedStencilResolveModes;
6439 VkBool32 independentResolveNone;
6440 VkBool32 independentResolve;
6441 VkBool32 filterMinmaxSingleComponentFormats;
6442 VkBool32 filterMinmaxImageComponentMapping;
6443 uint64_t maxTimelineSemaphoreValueDifference;
6444 VkSampleCountFlags framebufferIntegerColorSampleCounts;
6445 } VkPhysicalDeviceVulkan12Properties;
6446
6447 typedef struct VkImageFormatListCreateInfo {
6448 VkStructureType sType;
6449 const void* pNext;
6450 uint32_t viewFormatCount;
6451 const VkFormat* pViewFormats;
6452 } VkImageFormatListCreateInfo;
6453
6454 typedef struct VkPhysicalDeviceDriverProperties {
6455 VkStructureType sType;
6456 void* pNext;
6457 VkDriverId driverID;
6458 char driverName[VK_MAX_DRIVER_NAME_SIZE];
6459 char driverInfo[VK_MAX_DRIVER_INFO_SIZE];
6460 VkConformanceVersion conformanceVersion;
6461 } VkPhysicalDeviceDriverProperties;
6462
6463 typedef struct VkPhysicalDeviceVulkanMemoryModelFeatures {
6464 VkStructureType sType;
6465 void* pNext;
6466 VkBool32 vulkanMemoryModel;
6467 VkBool32 vulkanMemoryModelDeviceScope;
6468 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
6469 } VkPhysicalDeviceVulkanMemoryModelFeatures;
6470
6471 typedef struct VkPhysicalDeviceHostQueryResetFeatures {
6472 VkStructureType sType;
6473 void* pNext;
6474 VkBool32 hostQueryReset;
6475 } VkPhysicalDeviceHostQueryResetFeatures;
6476
6477 typedef struct VkPhysicalDeviceTimelineSemaphoreFeatures {
6478 VkStructureType sType;
6479 void* pNext;
6480 VkBool32 timelineSemaphore;
6481 } VkPhysicalDeviceTimelineSemaphoreFeatures;
6482
6483 typedef struct VkPhysicalDeviceTimelineSemaphoreProperties {
6484 VkStructureType sType;
6485 void* pNext;
6486 uint64_t maxTimelineSemaphoreValueDifference;
6487 } VkPhysicalDeviceTimelineSemaphoreProperties;
6488
6489 typedef struct VkSemaphoreTypeCreateInfo {
6490 VkStructureType sType;
6491 const void* pNext;
6492 VkSemaphoreType semaphoreType;
6493 uint64_t initialValue;
6494 } VkSemaphoreTypeCreateInfo;
6495
6496 typedef struct VkTimelineSemaphoreSubmitInfo {
6497 VkStructureType sType;
6498 const void* pNext;
6499 uint32_t waitSemaphoreValueCount;
6500 const uint64_t* pWaitSemaphoreValues;
6501 uint32_t signalSemaphoreValueCount;
6502 const uint64_t* pSignalSemaphoreValues;
6503 } VkTimelineSemaphoreSubmitInfo;
6504
6505 typedef struct VkSemaphoreWaitInfo {
6506 VkStructureType sType;
6507 const void* pNext;
6508 VkSemaphoreWaitFlags flags;
6509 uint32_t semaphoreCount;
6510 const VkSemaphore* pSemaphores;
6511 const uint64_t* pValues;
6512 } VkSemaphoreWaitInfo;
6513
6514 typedef struct VkSemaphoreSignalInfo {
6515 VkStructureType sType;
6516 const void* pNext;
6517 VkSemaphore semaphore;
6518 uint64_t value;
6519 } VkSemaphoreSignalInfo;
6520
6521 typedef struct VkPhysicalDeviceBufferDeviceAddressFeatures {
6522 VkStructureType sType;
6523 void* pNext;
6524 VkBool32 bufferDeviceAddress;
6525 VkBool32 bufferDeviceAddressCaptureReplay;
6526 VkBool32 bufferDeviceAddressMultiDevice;
6527 } VkPhysicalDeviceBufferDeviceAddressFeatures;
6528
6529 typedef struct VkBufferDeviceAddressInfo {
6530 VkStructureType sType;
6531 const void* pNext;
6532 VkBuffer buffer;
6533 } VkBufferDeviceAddressInfo;
6534
6535 typedef struct VkBufferOpaqueCaptureAddressCreateInfo {
6536 VkStructureType sType;
6537 const void* pNext;
6538 uint64_t opaqueCaptureAddress;
6539 } VkBufferOpaqueCaptureAddressCreateInfo;
6540
6541 typedef struct VkMemoryOpaqueCaptureAddressAllocateInfo {
6542 VkStructureType sType;
6543 const void* pNext;
6544 uint64_t opaqueCaptureAddress;
6545 } VkMemoryOpaqueCaptureAddressAllocateInfo;
6546
6547 typedef struct VkDeviceMemoryOpaqueCaptureAddressInfo {
6548 VkStructureType sType;
6549 const void* pNext;
6550 VkDeviceMemory memory;
6551 } VkDeviceMemoryOpaqueCaptureAddressInfo;
6552
6553 typedef struct VkPhysicalDevice8BitStorageFeatures {
6554 VkStructureType sType;
6555 void* pNext;
6556 VkBool32 storageBuffer8BitAccess;
6557 VkBool32 uniformAndStorageBuffer8BitAccess;
6558 VkBool32 storagePushConstant8;
6559 } VkPhysicalDevice8BitStorageFeatures;
6560
6561 typedef struct VkPhysicalDeviceShaderAtomicInt64Features {
6562 VkStructureType sType;
6563 void* pNext;
6564 VkBool32 shaderBufferInt64Atomics;
6565 VkBool32 shaderSharedInt64Atomics;
6566 } VkPhysicalDeviceShaderAtomicInt64Features;
6567
6568 typedef struct VkPhysicalDeviceShaderFloat16Int8Features {
6569 VkStructureType sType;
6570 void* pNext;
6571 VkBool32 shaderFloat16;
6572 VkBool32 shaderInt8;
6573 } VkPhysicalDeviceShaderFloat16Int8Features;
6574
6575 typedef struct VkPhysicalDeviceFloatControlsProperties {
6576 VkStructureType sType;
6577 void* pNext;
6578 VkShaderFloatControlsIndependence denormBehaviorIndependence;
6579 VkShaderFloatControlsIndependence roundingModeIndependence;
6580 VkBool32 shaderSignedZeroInfNanPreserveFloat16;
6581 VkBool32 shaderSignedZeroInfNanPreserveFloat32;
6582 VkBool32 shaderSignedZeroInfNanPreserveFloat64;
6583 VkBool32 shaderDenormPreserveFloat16;
6584 VkBool32 shaderDenormPreserveFloat32;
6585 VkBool32 shaderDenormPreserveFloat64;
6586 VkBool32 shaderDenormFlushToZeroFloat16;
6587 VkBool32 shaderDenormFlushToZeroFloat32;
6588 VkBool32 shaderDenormFlushToZeroFloat64;
6589 VkBool32 shaderRoundingModeRTEFloat16;
6590 VkBool32 shaderRoundingModeRTEFloat32;
6591 VkBool32 shaderRoundingModeRTEFloat64;
6592 VkBool32 shaderRoundingModeRTZFloat16;
6593 VkBool32 shaderRoundingModeRTZFloat32;
6594 VkBool32 shaderRoundingModeRTZFloat64;
6595 } VkPhysicalDeviceFloatControlsProperties;
6596
6597 typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfo {
6598 VkStructureType sType;
6599 const void* pNext;
6600 uint32_t bindingCount;
6601 const VkDescriptorBindingFlags* pBindingFlags;
6602 } VkDescriptorSetLayoutBindingFlagsCreateInfo;
6603
6604 typedef struct VkPhysicalDeviceDescriptorIndexingFeatures {
6605 VkStructureType sType;
6606 void* pNext;
6607 VkBool32 shaderInputAttachmentArrayDynamicIndexing;
6608 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
6609 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
6610 VkBool32 shaderUniformBufferArrayNonUniformIndexing;
6611 VkBool32 shaderSampledImageArrayNonUniformIndexing;
6612 VkBool32 shaderStorageBufferArrayNonUniformIndexing;
6613 VkBool32 shaderStorageImageArrayNonUniformIndexing;
6614 VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
6615 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
6616 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
6617 VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
6618 VkBool32 descriptorBindingSampledImageUpdateAfterBind;
6619 VkBool32 descriptorBindingStorageImageUpdateAfterBind;
6620 VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
6621 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
6622 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
6623 VkBool32 descriptorBindingUpdateUnusedWhilePending;
6624 VkBool32 descriptorBindingPartiallyBound;
6625 VkBool32 descriptorBindingVariableDescriptorCount;
6626 VkBool32 runtimeDescriptorArray;
6627 } VkPhysicalDeviceDescriptorIndexingFeatures;
6628
6629 typedef struct VkPhysicalDeviceDescriptorIndexingProperties {
6630 VkStructureType sType;
6631 void* pNext;
6632 uint32_t maxUpdateAfterBindDescriptorsInAllPools;
6633 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
6634 VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
6635 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
6636 VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
6637 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
6638 VkBool32 robustBufferAccessUpdateAfterBind;
6639 VkBool32 quadDivergentImplicitLod;
6640 uint32_t maxPerStageDescriptorUpdateAfterBindSamplers;
6641 uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers;
6642 uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers;
6643 uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages;
6644 uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages;
6645 uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments;
6646 uint32_t maxPerStageUpdateAfterBindResources;
6647 uint32_t maxDescriptorSetUpdateAfterBindSamplers;
6648 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers;
6649 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
6650 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers;
6651 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
6652 uint32_t maxDescriptorSetUpdateAfterBindSampledImages;
6653 uint32_t maxDescriptorSetUpdateAfterBindStorageImages;
6654 uint32_t maxDescriptorSetUpdateAfterBindInputAttachments;
6655 } VkPhysicalDeviceDescriptorIndexingProperties;
6656
6657 typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfo {
6658 VkStructureType sType;
6659 const void* pNext;
6660 uint32_t descriptorSetCount;
6661 const uint32_t* pDescriptorCounts;
6662 } VkDescriptorSetVariableDescriptorCountAllocateInfo;
6663
6664 typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupport {
6665 VkStructureType sType;
6666 void* pNext;
6667 uint32_t maxVariableDescriptorCount;
6668 } VkDescriptorSetVariableDescriptorCountLayoutSupport;
6669
6670 typedef struct VkPhysicalDeviceScalarBlockLayoutFeatures {
6671 VkStructureType sType;
6672 void* pNext;
6673 VkBool32 scalarBlockLayout;
6674 } VkPhysicalDeviceScalarBlockLayoutFeatures;
6675
6676 typedef struct VkSamplerReductionModeCreateInfo {
6677 VkStructureType sType;
6678 const void* pNext;
6679 VkSamplerReductionMode reductionMode;
6680 } VkSamplerReductionModeCreateInfo;
6681
6682 typedef struct VkPhysicalDeviceSamplerFilterMinmaxProperties {
6683 VkStructureType sType;
6684 void* pNext;
6685 VkBool32 filterMinmaxSingleComponentFormats;
6686 VkBool32 filterMinmaxImageComponentMapping;
6687 } VkPhysicalDeviceSamplerFilterMinmaxProperties;
6688
6689 typedef struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures {
6690 VkStructureType sType;
6691 void* pNext;
6692 VkBool32 uniformBufferStandardLayout;
6693 } VkPhysicalDeviceUniformBufferStandardLayoutFeatures;
6694
6695 typedef struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures {
6696 VkStructureType sType;
6697 void* pNext;
6698 VkBool32 shaderSubgroupExtendedTypes;
6699 } VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures;
6700
6701 typedef struct VkAttachmentDescription2 {
6702 VkStructureType sType;
6703 const void* pNext;
6704 VkAttachmentDescriptionFlags flags;
6705 VkFormat format;
6706 VkSampleCountFlagBits samples;
6707 VkAttachmentLoadOp loadOp;
6708 VkAttachmentStoreOp storeOp;
6709 VkAttachmentLoadOp stencilLoadOp;
6710 VkAttachmentStoreOp stencilStoreOp;
6711 VkImageLayout initialLayout;
6712 VkImageLayout finalLayout;
6713 } VkAttachmentDescription2;
6714
6715 typedef struct VkAttachmentReference2 {
6716 VkStructureType sType;
6717 const void* pNext;
6718 uint32_t attachment;
6719 VkImageLayout layout;
6720 VkImageAspectFlags aspectMask;
6721 } VkAttachmentReference2;
6722
6723 typedef struct VkSubpassDescription2 {
6724 VkStructureType sType;
6725 const void* pNext;
6726 VkSubpassDescriptionFlags flags;
6727 VkPipelineBindPoint pipelineBindPoint;
6728 uint32_t viewMask;
6729 uint32_t inputAttachmentCount;
6730 const VkAttachmentReference2* pInputAttachments;
6731 uint32_t colorAttachmentCount;
6732 const VkAttachmentReference2* pColorAttachments;
6733 const VkAttachmentReference2* pResolveAttachments;
6734 const VkAttachmentReference2* pDepthStencilAttachment;
6735 uint32_t preserveAttachmentCount;
6736 const uint32_t* pPreserveAttachments;
6737 } VkSubpassDescription2;
6738
6739 typedef struct VkSubpassDependency2 {
6740 VkStructureType sType;
6741 const void* pNext;
6742 uint32_t srcSubpass;
6743 uint32_t dstSubpass;
6744 VkPipelineStageFlags srcStageMask;
6745 VkPipelineStageFlags dstStageMask;
6746 VkAccessFlags srcAccessMask;
6747 VkAccessFlags dstAccessMask;
6748 VkDependencyFlags dependencyFlags;
6749 int32_t viewOffset;
6750 } VkSubpassDependency2;
6751
6752 typedef struct VkRenderPassCreateInfo2 {
6753 VkStructureType sType;
6754 const void* pNext;
6755 VkRenderPassCreateFlags flags;
6756 uint32_t attachmentCount;
6757 const VkAttachmentDescription2* pAttachments;
6758 uint32_t subpassCount;
6759 const VkSubpassDescription2* pSubpasses;
6760 uint32_t dependencyCount;
6761 const VkSubpassDependency2* pDependencies;
6762 uint32_t correlatedViewMaskCount;
6763 const uint32_t* pCorrelatedViewMasks;
6764 } VkRenderPassCreateInfo2;
6765
6766 typedef struct VkSubpassBeginInfo {
6767 VkStructureType sType;
6768 const void* pNext;
6769 VkSubpassContents contents;
6770 } VkSubpassBeginInfo;
6771
6772 typedef struct VkSubpassEndInfo {
6773 VkStructureType sType;
6774 const void* pNext;
6775 } VkSubpassEndInfo;
6776
6777 typedef struct VkSubpassDescriptionDepthStencilResolve {
6778 VkStructureType sType;
6779 const void* pNext;
6780 VkResolveModeFlagBits depthResolveMode;
6781 VkResolveModeFlagBits stencilResolveMode;
6782 const VkAttachmentReference2* pDepthStencilResolveAttachment;
6783 } VkSubpassDescriptionDepthStencilResolve;
6784
6785 typedef struct VkPhysicalDeviceDepthStencilResolveProperties {
6786 VkStructureType sType;
6787 void* pNext;
6788 VkResolveModeFlags supportedDepthResolveModes;
6789 VkResolveModeFlags supportedStencilResolveModes;
6790 VkBool32 independentResolveNone;
6791 VkBool32 independentResolve;
6792 } VkPhysicalDeviceDepthStencilResolveProperties;
6793
6794 typedef struct VkImageStencilUsageCreateInfo {
6795 VkStructureType sType;
6796 const void* pNext;
6797 VkImageUsageFlags stencilUsage;
6798 } VkImageStencilUsageCreateInfo;
6799
6800 typedef struct VkPhysicalDeviceImagelessFramebufferFeatures {
6801 VkStructureType sType;
6802 void* pNext;
6803 VkBool32 imagelessFramebuffer;
6804 } VkPhysicalDeviceImagelessFramebufferFeatures;
6805
6806 typedef struct VkFramebufferAttachmentImageInfo {
6807 VkStructureType sType;
6808 const void* pNext;
6809 VkImageCreateFlags flags;
6810 VkImageUsageFlags usage;
6811 uint32_t width;
6812 uint32_t height;
6813 uint32_t layerCount;
6814 uint32_t viewFormatCount;
6815 const VkFormat* pViewFormats;
6816 } VkFramebufferAttachmentImageInfo;
6817
6818 typedef struct VkFramebufferAttachmentsCreateInfo {
6819 VkStructureType sType;
6820 const void* pNext;
6821 uint32_t attachmentImageInfoCount;
6822 const VkFramebufferAttachmentImageInfo* pAttachmentImageInfos;
6823 } VkFramebufferAttachmentsCreateInfo;
6824
6825 typedef struct VkRenderPassAttachmentBeginInfo {
6826 VkStructureType sType;
6827 const void* pNext;
6828 uint32_t attachmentCount;
6829 const VkImageView* pAttachments;
6830 } VkRenderPassAttachmentBeginInfo;
6831
6832 typedef struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures {
6833 VkStructureType sType;
6834 void* pNext;
6835 VkBool32 separateDepthStencilLayouts;
6836 } VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures;
6837
6838 typedef struct VkAttachmentReferenceStencilLayout {
6839 VkStructureType sType;
6840 void* pNext;
6841 VkImageLayout stencilLayout;
6842 } VkAttachmentReferenceStencilLayout;
6843
6844 typedef struct VkAttachmentDescriptionStencilLayout {
6845 VkStructureType sType;
6846 void* pNext;
6847 VkImageLayout stencilInitialLayout;
6848 VkImageLayout stencilFinalLayout;
6849 } VkAttachmentDescriptionStencilLayout;
6850
6851 typedef void (VKAPI_PTR *PFN_vkResetQueryPool)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount);
6852 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValue)(VkDevice device, VkSemaphore semaphore, uint64_t* pValue);
6853 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphores)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout);
6854 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphore)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo);
6855 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
6856 typedef uint64_t (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
6857 typedef uint64_t (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddress)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
6858 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
6859 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
6860 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
6861 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo);
6862 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo);
6863 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo);
6864
6865 #ifndef VK_NO_PROTOTYPES
6866 VKAPI_ATTR void VKAPI_CALL vkResetQueryPool(
6867 VkDevice device,
6868 VkQueryPool queryPool,
6869 uint32_t firstQuery,
6870 uint32_t queryCount);
6871
6872 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValue(
6873 VkDevice device,
6874 VkSemaphore semaphore,
6875 uint64_t* pValue);
6876
6877 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphores(
6878 VkDevice device,
6879 const VkSemaphoreWaitInfo* pWaitInfo,
6880 uint64_t timeout);
6881
6882 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphore(
6883 VkDevice device,
6884 const VkSemaphoreSignalInfo* pSignalInfo);
6885
6886 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddress(
6887 VkDevice device,
6888 const VkBufferDeviceAddressInfo* pInfo);
6889
6890 VKAPI_ATTR uint64_t VKAPI_CALL vkGetBufferOpaqueCaptureAddress(
6891 VkDevice device,
6892 const VkBufferDeviceAddressInfo* pInfo);
6893
6894 VKAPI_ATTR uint64_t VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddress(
6895 VkDevice device,
6896 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
6897
6898 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCount(
6899 VkCommandBuffer commandBuffer,
6900 VkBuffer buffer,
6901 VkDeviceSize offset,
6902 VkBuffer countBuffer,
6903 VkDeviceSize countBufferOffset,
6904 uint32_t maxDrawCount,
6905 uint32_t stride);
6906
6907 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCount(
6908 VkCommandBuffer commandBuffer,
6909 VkBuffer buffer,
6910 VkDeviceSize offset,
6911 VkBuffer countBuffer,
6912 VkDeviceSize countBufferOffset,
6913 uint32_t maxDrawCount,
6914 uint32_t stride);
6915
6916 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2(
6917 VkDevice device,
6918 const VkRenderPassCreateInfo2* pCreateInfo,
6919 const VkAllocationCallbacks* pAllocator,
6920 VkRenderPass* pRenderPass);
6921
6922 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2(
6923 VkCommandBuffer commandBuffer,
6924 const VkRenderPassBeginInfo* pRenderPassBegin,
6925 const VkSubpassBeginInfo* pSubpassBeginInfo);
6926
6927 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2(
6928 VkCommandBuffer commandBuffer,
6929 const VkSubpassBeginInfo* pSubpassBeginInfo,
6930 const VkSubpassEndInfo* pSubpassEndInfo);
6931
6932 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2(
6933 VkCommandBuffer commandBuffer,
6934 const VkSubpassEndInfo* pSubpassEndInfo);
6935 #endif
6936
6937
6938 // VK_VERSION_1_3 is a preprocessor guard. Do not pass it to API calls.
6939 #define VK_VERSION_1_3 1
6940 // Vulkan 1.3 version number
6941 #define VK_API_VERSION_1_3 VK_MAKE_API_VERSION(0, 1, 3, 0)// Patch version should always be set to 0
6942
6943 typedef uint64_t VkFlags64;
6944 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPrivateDataSlot)
6945
6946 typedef enum VkToolPurposeFlagBits {
6947 VK_TOOL_PURPOSE_VALIDATION_BIT = 0x00000001,
6948 VK_TOOL_PURPOSE_PROFILING_BIT = 0x00000002,
6949 VK_TOOL_PURPOSE_TRACING_BIT = 0x00000004,
6950 VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT = 0x00000008,
6951 VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT = 0x00000010,
6952 VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 0x00000020,
6953 VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 0x00000040,
6954 VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = VK_TOOL_PURPOSE_VALIDATION_BIT,
6955 VK_TOOL_PURPOSE_PROFILING_BIT_EXT = VK_TOOL_PURPOSE_PROFILING_BIT,
6956 VK_TOOL_PURPOSE_TRACING_BIT_EXT = VK_TOOL_PURPOSE_TRACING_BIT,
6957 VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT,
6958 VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT,
6959 VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
6960 } VkToolPurposeFlagBits;
6961 typedef VkFlags VkToolPurposeFlags;
6962 typedef VkFlags VkPrivateDataSlotCreateFlags;
6963 typedef VkFlags64 VkPipelineStageFlags2;
6964
6965 // Flag bits for VkPipelineStageFlagBits2
6966 typedef VkFlags64 VkPipelineStageFlagBits2;
6967 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_NONE = 0ULL;
6968 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT = 0x00000001ULL;
6969 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT = 0x00000002ULL;
6970 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT = 0x00000004ULL;
6971 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT = 0x00000008ULL;
6972 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010ULL;
6973 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020ULL;
6974 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT = 0x00000040ULL;
6975 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT = 0x00000080ULL;
6976 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT = 0x00000100ULL;
6977 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT = 0x00000200ULL;
6978 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400ULL;
6979 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT = 0x00000800ULL;
6980 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT = 0x00001000ULL;
6981 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFER_BIT = 0x00001000ULL;
6982 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT = 0x00002000ULL;
6983 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_HOST_BIT = 0x00004000ULL;
6984 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT = 0x00008000ULL;
6985 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT = 0x00010000ULL;
6986 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COPY_BIT = 0x100000000ULL;
6987 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RESOLVE_BIT = 0x200000000ULL;
6988 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BLIT_BIT = 0x400000000ULL;
6989 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CLEAR_BIT = 0x800000000ULL;
6990 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT = 0x1000000000ULL;
6991 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT = 0x2000000000ULL;
6992 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT = 0x4000000000ULL;
6993 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR = 0x04000000ULL;
6994 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR = 0x08000000ULL;
6995 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_NONE_KHR = 0ULL;
6996 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR = 0x00000001ULL;
6997 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR = 0x00000002ULL;
6998 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR = 0x00000004ULL;
6999 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR = 0x00000008ULL;
7000 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR = 0x00000010ULL;
7001 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR = 0x00000020ULL;
7002 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR = 0x00000040ULL;
7003 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR = 0x00000080ULL;
7004 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR = 0x00000100ULL;
7005 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR = 0x00000200ULL;
7006 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR = 0x00000400ULL;
7007 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR = 0x00000800ULL;
7008 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR = 0x00001000ULL;
7009 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR = 0x00001000ULL;
7010 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR = 0x00002000ULL;
7011 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_HOST_BIT_KHR = 0x00004000ULL;
7012 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR = 0x00008000ULL;
7013 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR = 0x00010000ULL;
7014 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COPY_BIT_KHR = 0x100000000ULL;
7015 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR = 0x200000000ULL;
7016 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BLIT_BIT_KHR = 0x400000000ULL;
7017 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR = 0x800000000ULL;
7018 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR = 0x1000000000ULL;
7019 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR = 0x2000000000ULL;
7020 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR = 0x4000000000ULL;
7021 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000ULL;
7022 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000ULL;
7023 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV = 0x00020000ULL;
7024 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_EXT = 0x00020000ULL;
7025 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000ULL;
7026 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV = 0x00400000ULL;
7027 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000ULL;
7028 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR = 0x00200000ULL;
7029 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV = 0x00200000ULL;
7030 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 0x02000000ULL;
7031 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000ULL;
7032 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV = 0x00080000ULL;
7033 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV = 0x00100000ULL;
7034 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT = 0x00080000ULL;
7035 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT = 0x00100000ULL;
7036 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI = 0x8000000000ULL;
7037 // VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI is a legacy alias
7038 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI = 0x8000000000ULL;
7039 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI = 0x10000000000ULL;
7040 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR = 0x10000000ULL;
7041 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT = 0x40000000ULL;
7042 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI = 0x20000000000ULL;
7043 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV = 0x20000000ULL;
7044 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CONVERT_COOPERATIVE_VECTOR_MATRIX_BIT_NV = 0x100000000000ULL;
7045 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_DATA_GRAPH_BIT_ARM = 0x40000000000ULL;
7046 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COPY_INDIRECT_BIT_KHR = 0x400000000000ULL;
7047 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MEMORY_DECOMPRESSION_BIT_EXT = 0x200000000000ULL;
7048
7049 typedef VkFlags64 VkAccessFlags2;
7050
7051 // Flag bits for VkAccessFlagBits2
7052 typedef VkFlags64 VkAccessFlagBits2;
7053 static const VkAccessFlagBits2 VK_ACCESS_2_NONE = 0ULL;
7054 static const VkAccessFlagBits2 VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT = 0x00000001ULL;
7055 static const VkAccessFlagBits2 VK_ACCESS_2_INDEX_READ_BIT = 0x00000002ULL;
7056 static const VkAccessFlagBits2 VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004ULL;
7057 static const VkAccessFlagBits2 VK_ACCESS_2_UNIFORM_READ_BIT = 0x00000008ULL;
7058 static const VkAccessFlagBits2 VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT = 0x00000010ULL;
7059 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_READ_BIT = 0x00000020ULL;
7060 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_WRITE_BIT = 0x00000040ULL;
7061 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT = 0x00000080ULL;
7062 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100ULL;
7063 static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200ULL;
7064 static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400ULL;
7065 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_READ_BIT = 0x00000800ULL;
7066 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_WRITE_BIT = 0x00001000ULL;
7067 static const VkAccessFlagBits2 VK_ACCESS_2_HOST_READ_BIT = 0x00002000ULL;
7068 static const VkAccessFlagBits2 VK_ACCESS_2_HOST_WRITE_BIT = 0x00004000ULL;
7069 static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_READ_BIT = 0x00008000ULL;
7070 static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_WRITE_BIT = 0x00010000ULL;
7071 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_SAMPLED_READ_BIT = 0x100000000ULL;
7072 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_READ_BIT = 0x200000000ULL;
7073 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT = 0x400000000ULL;
7074 static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR = 0x800000000ULL;
7075 static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR = 0x1000000000ULL;
7076 static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR = 0x2000000000ULL;
7077 static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR = 0x4000000000ULL;
7078 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_TILE_ATTACHMENT_READ_BIT_QCOM = 0x8000000000000ULL;
7079 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_TILE_ATTACHMENT_WRITE_BIT_QCOM = 0x10000000000000ULL;
7080 static const VkAccessFlagBits2 VK_ACCESS_2_NONE_KHR = 0ULL;
7081 static const VkAccessFlagBits2 VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR = 0x00000001ULL;
7082 static const VkAccessFlagBits2 VK_ACCESS_2_INDEX_READ_BIT_KHR = 0x00000002ULL;
7083 static const VkAccessFlagBits2 VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR = 0x00000004ULL;
7084 static const VkAccessFlagBits2 VK_ACCESS_2_UNIFORM_READ_BIT_KHR = 0x00000008ULL;
7085 static const VkAccessFlagBits2 VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR = 0x00000010ULL;
7086 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_READ_BIT_KHR = 0x00000020ULL;
7087 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_WRITE_BIT_KHR = 0x00000040ULL;
7088 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR = 0x00000080ULL;
7089 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR = 0x00000100ULL;
7090 static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR = 0x00000200ULL;
7091 static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR = 0x00000400ULL;
7092 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_READ_BIT_KHR = 0x00000800ULL;
7093 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR = 0x00001000ULL;
7094 static const VkAccessFlagBits2 VK_ACCESS_2_HOST_READ_BIT_KHR = 0x00002000ULL;
7095 static const VkAccessFlagBits2 VK_ACCESS_2_HOST_WRITE_BIT_KHR = 0x00004000ULL;
7096 static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_READ_BIT_KHR = 0x00008000ULL;
7097 static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_WRITE_BIT_KHR = 0x00010000ULL;
7098 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR = 0x100000000ULL;
7099 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR = 0x200000000ULL;
7100 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR = 0x400000000ULL;
7101 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000ULL;
7102 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000ULL;
7103 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000ULL;
7104 static const VkAccessFlagBits2 VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000ULL;
7105 static const VkAccessFlagBits2 VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000ULL;
7106 static const VkAccessFlagBits2 VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000ULL;
7107 static const VkAccessFlagBits2 VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_EXT = 0x00020000ULL;
7108 static const VkAccessFlagBits2 VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_EXT = 0x00040000ULL;
7109 static const VkAccessFlagBits2 VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000ULL;
7110 static const VkAccessFlagBits2 VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000ULL;
7111 static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000ULL;
7112 static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000ULL;
7113 static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV = 0x00200000ULL;
7114 static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 0x00400000ULL;
7115 static const VkAccessFlagBits2 VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000ULL;
7116 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000ULL;
7117 static const VkAccessFlagBits2 VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT = 0x20000000000ULL;
7118 static const VkAccessFlagBits2 VK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI = 0x8000000000ULL;
7119 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR = 0x10000000000ULL;
7120 static const VkAccessFlagBits2 VK_ACCESS_2_MICROMAP_READ_BIT_EXT = 0x100000000000ULL;
7121 static const VkAccessFlagBits2 VK_ACCESS_2_MICROMAP_WRITE_BIT_EXT = 0x200000000000ULL;
7122 static const VkAccessFlagBits2 VK_ACCESS_2_OPTICAL_FLOW_READ_BIT_NV = 0x40000000000ULL;
7123 static const VkAccessFlagBits2 VK_ACCESS_2_OPTICAL_FLOW_WRITE_BIT_NV = 0x80000000000ULL;
7124 static const VkAccessFlagBits2 VK_ACCESS_2_DATA_GRAPH_READ_BIT_ARM = 0x800000000000ULL;
7125 static const VkAccessFlagBits2 VK_ACCESS_2_DATA_GRAPH_WRITE_BIT_ARM = 0x1000000000000ULL;
7126 static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_DECOMPRESSION_READ_BIT_EXT = 0x80000000000000ULL;
7127 static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_DECOMPRESSION_WRITE_BIT_EXT = 0x100000000000000ULL;
7128
7129
7130 typedef enum VkSubmitFlagBits {
7131 VK_SUBMIT_PROTECTED_BIT = 0x00000001,
7132 VK_SUBMIT_PROTECTED_BIT_KHR = VK_SUBMIT_PROTECTED_BIT,
7133 VK_SUBMIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
7134 } VkSubmitFlagBits;
7135 typedef VkFlags VkSubmitFlags;
7136 typedef VkFlags64 VkFormatFeatureFlags2;
7137
7138 // Flag bits for VkFormatFeatureFlagBits2
7139 typedef VkFlags64 VkFormatFeatureFlagBits2;
7140 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT = 0x00000001ULL;
7141 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT = 0x00000002ULL;
7142 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004ULL;
7143 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008ULL;
7144 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT = 0x00000010ULL;
7145 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020ULL;
7146 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT = 0x00000040ULL;
7147 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT = 0x00000080ULL;
7148 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100ULL;
7149 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200ULL;
7150 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_SRC_BIT = 0x00000400ULL;
7151 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_DST_BIT = 0x00000800ULL;
7152 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000ULL;
7153 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT = 0x00004000ULL;
7154 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT = 0x00008000ULL;
7155 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000ULL;
7156 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000ULL;
7157 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000ULL;
7158 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000ULL;
7159 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000ULL;
7160 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000ULL;
7161 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DISJOINT_BIT = 0x00400000ULL;
7162 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT = 0x00800000ULL;
7163 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT = 0x80000000ULL;
7164 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT = 0x100000000ULL;
7165 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT = 0x200000000ULL;
7166 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT = 0x00002000ULL;
7167 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_HOST_IMAGE_TRANSFER_BIT = 0x400000000000ULL;
7168 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x02000000ULL;
7169 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_DECODE_DPB_BIT_KHR = 0x04000000ULL;
7170 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000ULL;
7171 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000ULL;
7172 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000ULL;
7173 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_HOST_IMAGE_TRANSFER_BIT_EXT = 0x400000000000ULL;
7174 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000ULL;
7175 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000ULL;
7176 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR = 0x00000001ULL;
7177 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT_KHR = 0x00000002ULL;
7178 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT_KHR = 0x00000004ULL;
7179 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR = 0x00000008ULL;
7180 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT_KHR = 0x00000010ULL;
7181 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT_KHR = 0x00000020ULL;
7182 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT_KHR = 0x00000040ULL;
7183 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT_KHR = 0x00000080ULL;
7184 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT_KHR = 0x00000100ULL;
7185 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHR = 0x00000200ULL;
7186 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR = 0x00000400ULL;
7187 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_DST_BIT_KHR = 0x00000800ULL;
7188 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT_KHR = 0x00001000ULL;
7189 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT_KHR = 0x00004000ULL;
7190 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT_KHR = 0x00008000ULL;
7191 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = 0x00020000ULL;
7192 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = 0x00040000ULL;
7193 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = 0x00080000ULL;
7194 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = 0x00100000ULL;
7195 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR = 0x00200000ULL;
7196 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DISJOINT_BIT_KHR = 0x00400000ULL;
7197 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT_KHR = 0x00800000ULL;
7198 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR = 0x80000000ULL;
7199 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR = 0x100000000ULL;
7200 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR = 0x200000000ULL;
7201 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT_KHR = 0x00010000ULL;
7202 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = 0x00002000ULL;
7203 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_RADIUS_BUFFER_BIT_NV = 0x8000000000000ULL;
7204 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV = 0x4000000000ULL;
7205 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_WEIGHT_IMAGE_BIT_QCOM = 0x400000000ULL;
7206 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_WEIGHT_SAMPLED_IMAGE_BIT_QCOM = 0x800000000ULL;
7207 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM = 0x1000000000ULL;
7208 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BOX_FILTER_SAMPLED_BIT_QCOM = 0x2000000000ULL;
7209 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TENSOR_SHADER_BIT_ARM = 0x8000000000ULL;
7210 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TENSOR_IMAGE_ALIASING_BIT_ARM = 0x80000000000ULL;
7211 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_OPTICAL_FLOW_IMAGE_BIT_NV = 0x10000000000ULL;
7212 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_OPTICAL_FLOW_VECTOR_BIT_NV = 0x20000000000ULL;
7213 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_OPTICAL_FLOW_COST_BIT_NV = 0x40000000000ULL;
7214 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TENSOR_DATA_GRAPH_BIT_ARM = 0x1000000000000ULL;
7215 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COPY_IMAGE_INDIRECT_DST_BIT_KHR = 0x800000000000000ULL;
7216 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_QUANTIZATION_DELTA_MAP_BIT_KHR = 0x2000000000000ULL;
7217 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_EMPHASIS_MAP_BIT_KHR = 0x4000000000000ULL;
7218 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DEPTH_COPY_ON_COMPUTE_QUEUE_BIT_KHR = 0x10000000000000ULL;
7219 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DEPTH_COPY_ON_TRANSFER_QUEUE_BIT_KHR = 0x20000000000000ULL;
7220 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STENCIL_COPY_ON_COMPUTE_QUEUE_BIT_KHR = 0x40000000000000ULL;
7221 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STENCIL_COPY_ON_TRANSFER_QUEUE_BIT_KHR = 0x80000000000000ULL;
7222
7223
7224 typedef enum VkPipelineCreationFeedbackFlagBits {
7225 VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT = 0x00000001,
7226 VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT = 0x00000002,
7227 VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT = 0x00000004,
7228 VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT,
7229 VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT,
7230 VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT,
7231 VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
7232 } VkPipelineCreationFeedbackFlagBits;
7233 typedef VkFlags VkPipelineCreationFeedbackFlags;
7234
7235 typedef enum VkRenderingFlagBits {
7236 VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT = 0x00000001,
7237 VK_RENDERING_SUSPENDING_BIT = 0x00000002,
7238 VK_RENDERING_RESUMING_BIT = 0x00000004,
7239 VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT = 0x00000008,
7240 VK_RENDERING_CONTENTS_INLINE_BIT_KHR = 0x00000010,
7241 VK_RENDERING_PER_LAYER_FRAGMENT_DENSITY_BIT_VALVE = 0x00000020,
7242 VK_RENDERING_FRAGMENT_REGION_BIT_EXT = 0x00000040,
7243 VK_RENDERING_CUSTOM_RESOLVE_BIT_EXT = 0x00000080,
7244 VK_RENDERING_LOCAL_READ_CONCURRENT_ACCESS_CONTROL_BIT_KHR = 0x00000100,
7245 VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR = VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT,
7246 VK_RENDERING_SUSPENDING_BIT_KHR = VK_RENDERING_SUSPENDING_BIT,
7247 VK_RENDERING_RESUMING_BIT_KHR = VK_RENDERING_RESUMING_BIT,
7248 VK_RENDERING_CONTENTS_INLINE_BIT_EXT = VK_RENDERING_CONTENTS_INLINE_BIT_KHR,
7249 VK_RENDERING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
7250 } VkRenderingFlagBits;
7251 typedef VkFlags VkRenderingFlags;
7252 typedef struct VkPhysicalDeviceVulkan13Features {
7253 VkStructureType sType;
7254 void* pNext;
7255 VkBool32 robustImageAccess;
7256 VkBool32 inlineUniformBlock;
7257 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind;
7258 VkBool32 pipelineCreationCacheControl;
7259 VkBool32 privateData;
7260 VkBool32 shaderDemoteToHelperInvocation;
7261 VkBool32 shaderTerminateInvocation;
7262 VkBool32 subgroupSizeControl;
7263 VkBool32 computeFullSubgroups;
7264 VkBool32 synchronization2;
7265 VkBool32 textureCompressionASTC_HDR;
7266 VkBool32 shaderZeroInitializeWorkgroupMemory;
7267 VkBool32 dynamicRendering;
7268 VkBool32 shaderIntegerDotProduct;
7269 VkBool32 maintenance4;
7270 } VkPhysicalDeviceVulkan13Features;
7271
7272 typedef struct VkPhysicalDeviceVulkan13Properties {
7273 VkStructureType sType;
7274 void* pNext;
7275 uint32_t minSubgroupSize;
7276 uint32_t maxSubgroupSize;
7277 uint32_t maxComputeWorkgroupSubgroups;
7278 VkShaderStageFlags requiredSubgroupSizeStages;
7279 uint32_t maxInlineUniformBlockSize;
7280 uint32_t maxPerStageDescriptorInlineUniformBlocks;
7281 uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
7282 uint32_t maxDescriptorSetInlineUniformBlocks;
7283 uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
7284 uint32_t maxInlineUniformTotalSize;
7285 VkBool32 integerDotProduct8BitUnsignedAccelerated;
7286 VkBool32 integerDotProduct8BitSignedAccelerated;
7287 VkBool32 integerDotProduct8BitMixedSignednessAccelerated;
7288 VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated;
7289 VkBool32 integerDotProduct4x8BitPackedSignedAccelerated;
7290 VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated;
7291 VkBool32 integerDotProduct16BitUnsignedAccelerated;
7292 VkBool32 integerDotProduct16BitSignedAccelerated;
7293 VkBool32 integerDotProduct16BitMixedSignednessAccelerated;
7294 VkBool32 integerDotProduct32BitUnsignedAccelerated;
7295 VkBool32 integerDotProduct32BitSignedAccelerated;
7296 VkBool32 integerDotProduct32BitMixedSignednessAccelerated;
7297 VkBool32 integerDotProduct64BitUnsignedAccelerated;
7298 VkBool32 integerDotProduct64BitSignedAccelerated;
7299 VkBool32 integerDotProduct64BitMixedSignednessAccelerated;
7300 VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated;
7301 VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated;
7302 VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated;
7303 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated;
7304 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated;
7305 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated;
7306 VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated;
7307 VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated;
7308 VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated;
7309 VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated;
7310 VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated;
7311 VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated;
7312 VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated;
7313 VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated;
7314 VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated;
7315 VkDeviceSize storageTexelBufferOffsetAlignmentBytes;
7316 VkBool32 storageTexelBufferOffsetSingleTexelAlignment;
7317 VkDeviceSize uniformTexelBufferOffsetAlignmentBytes;
7318 VkBool32 uniformTexelBufferOffsetSingleTexelAlignment;
7319 VkDeviceSize maxBufferSize;
7320 } VkPhysicalDeviceVulkan13Properties;
7321
7322 typedef struct VkPhysicalDeviceToolProperties {
7323 VkStructureType sType;
7324 void* pNext;
7325 char name[VK_MAX_EXTENSION_NAME_SIZE];
7326 char version[VK_MAX_EXTENSION_NAME_SIZE];
7327 VkToolPurposeFlags purposes;
7328 char description[VK_MAX_DESCRIPTION_SIZE];
7329 char layer[VK_MAX_EXTENSION_NAME_SIZE];
7330 } VkPhysicalDeviceToolProperties;
7331
7332 typedef struct VkPhysicalDevicePrivateDataFeatures {
7333 VkStructureType sType;
7334 void* pNext;
7335 VkBool32 privateData;
7336 } VkPhysicalDevicePrivateDataFeatures;
7337
7338 typedef struct VkDevicePrivateDataCreateInfo {
7339 VkStructureType sType;
7340 const void* pNext;
7341 uint32_t privateDataSlotRequestCount;
7342 } VkDevicePrivateDataCreateInfo;
7343
7344 typedef struct VkPrivateDataSlotCreateInfo {
7345 VkStructureType sType;
7346 const void* pNext;
7347 VkPrivateDataSlotCreateFlags flags;
7348 } VkPrivateDataSlotCreateInfo;
7349
7350 typedef struct VkMemoryBarrier2 {
7351 VkStructureType sType;
7352 const void* pNext;
7353 VkPipelineStageFlags2 srcStageMask;
7354 VkAccessFlags2 srcAccessMask;
7355 VkPipelineStageFlags2 dstStageMask;
7356 VkAccessFlags2 dstAccessMask;
7357 } VkMemoryBarrier2;
7358
7359 typedef struct VkBufferMemoryBarrier2 {
7360 VkStructureType sType;
7361 const void* pNext;
7362 VkPipelineStageFlags2 srcStageMask;
7363 VkAccessFlags2 srcAccessMask;
7364 VkPipelineStageFlags2 dstStageMask;
7365 VkAccessFlags2 dstAccessMask;
7366 uint32_t srcQueueFamilyIndex;
7367 uint32_t dstQueueFamilyIndex;
7368 VkBuffer buffer;
7369 VkDeviceSize offset;
7370 VkDeviceSize size;
7371 } VkBufferMemoryBarrier2;
7372
7373 typedef struct VkImageMemoryBarrier2 {
7374 VkStructureType sType;
7375 const void* pNext;
7376 VkPipelineStageFlags2 srcStageMask;
7377 VkAccessFlags2 srcAccessMask;
7378 VkPipelineStageFlags2 dstStageMask;
7379 VkAccessFlags2 dstAccessMask;
7380 VkImageLayout oldLayout;
7381 VkImageLayout newLayout;
7382 uint32_t srcQueueFamilyIndex;
7383 uint32_t dstQueueFamilyIndex;
7384 VkImage image;
7385 VkImageSubresourceRange subresourceRange;
7386 } VkImageMemoryBarrier2;
7387
7388 typedef struct VkDependencyInfo {
7389 VkStructureType sType;
7390 const void* pNext;
7391 VkDependencyFlags dependencyFlags;
7392 uint32_t memoryBarrierCount;
7393 const VkMemoryBarrier2* pMemoryBarriers;
7394 uint32_t bufferMemoryBarrierCount;
7395 const VkBufferMemoryBarrier2* pBufferMemoryBarriers;
7396 uint32_t imageMemoryBarrierCount;
7397 const VkImageMemoryBarrier2* pImageMemoryBarriers;
7398 } VkDependencyInfo;
7399
7400 typedef struct VkSemaphoreSubmitInfo {
7401 VkStructureType sType;
7402 const void* pNext;
7403 VkSemaphore semaphore;
7404 uint64_t value;
7405 VkPipelineStageFlags2 stageMask;
7406 uint32_t deviceIndex;
7407 } VkSemaphoreSubmitInfo;
7408
7409 typedef struct VkCommandBufferSubmitInfo {
7410 VkStructureType sType;
7411 const void* pNext;
7412 VkCommandBuffer commandBuffer;
7413 uint32_t deviceMask;
7414 } VkCommandBufferSubmitInfo;
7415
7416 typedef struct VkSubmitInfo2 {
7417 VkStructureType sType;
7418 const void* pNext;
7419 VkSubmitFlags flags;
7420 uint32_t waitSemaphoreInfoCount;
7421 const VkSemaphoreSubmitInfo* pWaitSemaphoreInfos;
7422 uint32_t commandBufferInfoCount;
7423 const VkCommandBufferSubmitInfo* pCommandBufferInfos;
7424 uint32_t signalSemaphoreInfoCount;
7425 const VkSemaphoreSubmitInfo* pSignalSemaphoreInfos;
7426 } VkSubmitInfo2;
7427
7428 typedef struct VkPhysicalDeviceSynchronization2Features {
7429 VkStructureType sType;
7430 void* pNext;
7431 VkBool32 synchronization2;
7432 } VkPhysicalDeviceSynchronization2Features;
7433
7434 typedef struct VkBufferCopy2 {
7435 VkStructureType sType;
7436 const void* pNext;
7437 VkDeviceSize srcOffset;
7438 VkDeviceSize dstOffset;
7439 VkDeviceSize size;
7440 } VkBufferCopy2;
7441
7442 typedef struct VkCopyBufferInfo2 {
7443 VkStructureType sType;
7444 const void* pNext;
7445 VkBuffer srcBuffer;
7446 VkBuffer dstBuffer;
7447 uint32_t regionCount;
7448 const VkBufferCopy2* pRegions;
7449 } VkCopyBufferInfo2;
7450
7451 typedef struct VkImageCopy2 {
7452 VkStructureType sType;
7453 const void* pNext;
7454 VkImageSubresourceLayers srcSubresource;
7455 VkOffset3D srcOffset;
7456 VkImageSubresourceLayers dstSubresource;
7457 VkOffset3D dstOffset;
7458 VkExtent3D extent;
7459 } VkImageCopy2;
7460
7461 typedef struct VkCopyImageInfo2 {
7462 VkStructureType sType;
7463 const void* pNext;
7464 VkImage srcImage;
7465 VkImageLayout srcImageLayout;
7466 VkImage dstImage;
7467 VkImageLayout dstImageLayout;
7468 uint32_t regionCount;
7469 const VkImageCopy2* pRegions;
7470 } VkCopyImageInfo2;
7471
7472 typedef struct VkBufferImageCopy2 {
7473 VkStructureType sType;
7474 const void* pNext;
7475 VkDeviceSize bufferOffset;
7476 uint32_t bufferRowLength;
7477 uint32_t bufferImageHeight;
7478 VkImageSubresourceLayers imageSubresource;
7479 VkOffset3D imageOffset;
7480 VkExtent3D imageExtent;
7481 } VkBufferImageCopy2;
7482
7483 typedef struct VkCopyBufferToImageInfo2 {
7484 VkStructureType sType;
7485 const void* pNext;
7486 VkBuffer srcBuffer;
7487 VkImage dstImage;
7488 VkImageLayout dstImageLayout;
7489 uint32_t regionCount;
7490 const VkBufferImageCopy2* pRegions;
7491 } VkCopyBufferToImageInfo2;
7492
7493 typedef struct VkCopyImageToBufferInfo2 {
7494 VkStructureType sType;
7495 const void* pNext;
7496 VkImage srcImage;
7497 VkImageLayout srcImageLayout;
7498 VkBuffer dstBuffer;
7499 uint32_t regionCount;
7500 const VkBufferImageCopy2* pRegions;
7501 } VkCopyImageToBufferInfo2;
7502
7503 typedef struct VkPhysicalDeviceTextureCompressionASTCHDRFeatures {
7504 VkStructureType sType;
7505 void* pNext;
7506 VkBool32 textureCompressionASTC_HDR;
7507 } VkPhysicalDeviceTextureCompressionASTCHDRFeatures;
7508
7509 typedef struct VkFormatProperties3 {
7510 VkStructureType sType;
7511 void* pNext;
7512 VkFormatFeatureFlags2 linearTilingFeatures;
7513 VkFormatFeatureFlags2 optimalTilingFeatures;
7514 VkFormatFeatureFlags2 bufferFeatures;
7515 } VkFormatProperties3;
7516
7517 typedef struct VkPhysicalDeviceMaintenance4Features {
7518 VkStructureType sType;
7519 void* pNext;
7520 VkBool32 maintenance4;
7521 } VkPhysicalDeviceMaintenance4Features;
7522
7523 typedef struct VkPhysicalDeviceMaintenance4Properties {
7524 VkStructureType sType;
7525 void* pNext;
7526 VkDeviceSize maxBufferSize;
7527 } VkPhysicalDeviceMaintenance4Properties;
7528
7529 typedef struct VkDeviceBufferMemoryRequirements {
7530 VkStructureType sType;
7531 const void* pNext;
7532 const VkBufferCreateInfo* pCreateInfo;
7533 } VkDeviceBufferMemoryRequirements;
7534
7535 typedef struct VkDeviceImageMemoryRequirements {
7536 VkStructureType sType;
7537 const void* pNext;
7538 const VkImageCreateInfo* pCreateInfo;
7539 VkImageAspectFlagBits planeAspect;
7540 } VkDeviceImageMemoryRequirements;
7541
7542 typedef struct VkPipelineCreationFeedback {
7543 VkPipelineCreationFeedbackFlags flags;
7544 uint64_t duration;
7545 } VkPipelineCreationFeedback;
7546
7547 typedef struct VkPipelineCreationFeedbackCreateInfo {
7548 VkStructureType sType;
7549 const void* pNext;
7550 VkPipelineCreationFeedback* pPipelineCreationFeedback;
7551 uint32_t pipelineStageCreationFeedbackCount;
7552 VkPipelineCreationFeedback* pPipelineStageCreationFeedbacks;
7553 } VkPipelineCreationFeedbackCreateInfo;
7554
7555 typedef struct VkPhysicalDeviceShaderTerminateInvocationFeatures {
7556 VkStructureType sType;
7557 void* pNext;
7558 VkBool32 shaderTerminateInvocation;
7559 } VkPhysicalDeviceShaderTerminateInvocationFeatures;
7560
7561 typedef struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures {
7562 VkStructureType sType;
7563 void* pNext;
7564 VkBool32 shaderDemoteToHelperInvocation;
7565 } VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures;
7566
7567 typedef struct VkPhysicalDevicePipelineCreationCacheControlFeatures {
7568 VkStructureType sType;
7569 void* pNext;
7570 VkBool32 pipelineCreationCacheControl;
7571 } VkPhysicalDevicePipelineCreationCacheControlFeatures;
7572
7573 typedef struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures {
7574 VkStructureType sType;
7575 void* pNext;
7576 VkBool32 shaderZeroInitializeWorkgroupMemory;
7577 } VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures;
7578
7579 typedef struct VkPhysicalDeviceImageRobustnessFeatures {
7580 VkStructureType sType;
7581 void* pNext;
7582 VkBool32 robustImageAccess;
7583 } VkPhysicalDeviceImageRobustnessFeatures;
7584
7585 typedef struct VkPhysicalDeviceSubgroupSizeControlFeatures {
7586 VkStructureType sType;
7587 void* pNext;
7588 VkBool32 subgroupSizeControl;
7589 VkBool32 computeFullSubgroups;
7590 } VkPhysicalDeviceSubgroupSizeControlFeatures;
7591
7592 typedef struct VkPhysicalDeviceSubgroupSizeControlProperties {
7593 VkStructureType sType;
7594 void* pNext;
7595 uint32_t minSubgroupSize;
7596 uint32_t maxSubgroupSize;
7597 uint32_t maxComputeWorkgroupSubgroups;
7598 VkShaderStageFlags requiredSubgroupSizeStages;
7599 } VkPhysicalDeviceSubgroupSizeControlProperties;
7600
7601 typedef struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfo {
7602 VkStructureType sType;
7603 const void* pNext;
7604 uint32_t requiredSubgroupSize;
7605 } VkPipelineShaderStageRequiredSubgroupSizeCreateInfo;
7606
7607 typedef struct VkPhysicalDeviceInlineUniformBlockFeatures {
7608 VkStructureType sType;
7609 void* pNext;
7610 VkBool32 inlineUniformBlock;
7611 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind;
7612 } VkPhysicalDeviceInlineUniformBlockFeatures;
7613
7614 typedef struct VkPhysicalDeviceInlineUniformBlockProperties {
7615 VkStructureType sType;
7616 void* pNext;
7617 uint32_t maxInlineUniformBlockSize;
7618 uint32_t maxPerStageDescriptorInlineUniformBlocks;
7619 uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
7620 uint32_t maxDescriptorSetInlineUniformBlocks;
7621 uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
7622 } VkPhysicalDeviceInlineUniformBlockProperties;
7623
7624 typedef struct VkWriteDescriptorSetInlineUniformBlock {
7625 VkStructureType sType;
7626 const void* pNext;
7627 uint32_t dataSize;
7628 const void* pData;
7629 } VkWriteDescriptorSetInlineUniformBlock;
7630
7631 typedef struct VkDescriptorPoolInlineUniformBlockCreateInfo {
7632 VkStructureType sType;
7633 const void* pNext;
7634 uint32_t maxInlineUniformBlockBindings;
7635 } VkDescriptorPoolInlineUniformBlockCreateInfo;
7636
7637 typedef struct VkPhysicalDeviceShaderIntegerDotProductFeatures {
7638 VkStructureType sType;
7639 void* pNext;
7640 VkBool32 shaderIntegerDotProduct;
7641 } VkPhysicalDeviceShaderIntegerDotProductFeatures;
7642
7643 typedef struct VkPhysicalDeviceShaderIntegerDotProductProperties {
7644 VkStructureType sType;
7645 void* pNext;
7646 VkBool32 integerDotProduct8BitUnsignedAccelerated;
7647 VkBool32 integerDotProduct8BitSignedAccelerated;
7648 VkBool32 integerDotProduct8BitMixedSignednessAccelerated;
7649 VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated;
7650 VkBool32 integerDotProduct4x8BitPackedSignedAccelerated;
7651 VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated;
7652 VkBool32 integerDotProduct16BitUnsignedAccelerated;
7653 VkBool32 integerDotProduct16BitSignedAccelerated;
7654 VkBool32 integerDotProduct16BitMixedSignednessAccelerated;
7655 VkBool32 integerDotProduct32BitUnsignedAccelerated;
7656 VkBool32 integerDotProduct32BitSignedAccelerated;
7657 VkBool32 integerDotProduct32BitMixedSignednessAccelerated;
7658 VkBool32 integerDotProduct64BitUnsignedAccelerated;
7659 VkBool32 integerDotProduct64BitSignedAccelerated;
7660 VkBool32 integerDotProduct64BitMixedSignednessAccelerated;
7661 VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated;
7662 VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated;
7663 VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated;
7664 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated;
7665 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated;
7666 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated;
7667 VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated;
7668 VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated;
7669 VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated;
7670 VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated;
7671 VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated;
7672 VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated;
7673 VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated;
7674 VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated;
7675 VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated;
7676 } VkPhysicalDeviceShaderIntegerDotProductProperties;
7677
7678 typedef struct VkPhysicalDeviceTexelBufferAlignmentProperties {
7679 VkStructureType sType;
7680 void* pNext;
7681 VkDeviceSize storageTexelBufferOffsetAlignmentBytes;
7682 VkBool32 storageTexelBufferOffsetSingleTexelAlignment;
7683 VkDeviceSize uniformTexelBufferOffsetAlignmentBytes;
7684 VkBool32 uniformTexelBufferOffsetSingleTexelAlignment;
7685 } VkPhysicalDeviceTexelBufferAlignmentProperties;
7686
7687 typedef struct VkImageBlit2 {
7688 VkStructureType sType;
7689 const void* pNext;
7690 VkImageSubresourceLayers srcSubresource;
7691 VkOffset3D srcOffsets[2];
7692 VkImageSubresourceLayers dstSubresource;
7693 VkOffset3D dstOffsets[2];
7694 } VkImageBlit2;
7695
7696 typedef struct VkBlitImageInfo2 {
7697 VkStructureType sType;
7698 const void* pNext;
7699 VkImage srcImage;
7700 VkImageLayout srcImageLayout;
7701 VkImage dstImage;
7702 VkImageLayout dstImageLayout;
7703 uint32_t regionCount;
7704 const VkImageBlit2* pRegions;
7705 VkFilter filter;
7706 } VkBlitImageInfo2;
7707
7708 typedef struct VkImageResolve2 {
7709 VkStructureType sType;
7710 const void* pNext;
7711 VkImageSubresourceLayers srcSubresource;
7712 VkOffset3D srcOffset;
7713 VkImageSubresourceLayers dstSubresource;
7714 VkOffset3D dstOffset;
7715 VkExtent3D extent;
7716 } VkImageResolve2;
7717
7718 typedef struct VkResolveImageInfo2 {
7719 VkStructureType sType;
7720 const void* pNext;
7721 VkImage srcImage;
7722 VkImageLayout srcImageLayout;
7723 VkImage dstImage;
7724 VkImageLayout dstImageLayout;
7725 uint32_t regionCount;
7726 const VkImageResolve2* pRegions;
7727 } VkResolveImageInfo2;
7728
7729 typedef struct VkRenderingAttachmentInfo {
7730 VkStructureType sType;
7731 const void* pNext;
7732 VkImageView imageView;
7733 VkImageLayout imageLayout;
7734 VkResolveModeFlagBits resolveMode;
7735 VkImageView resolveImageView;
7736 VkImageLayout resolveImageLayout;
7737 VkAttachmentLoadOp loadOp;
7738 VkAttachmentStoreOp storeOp;
7739 VkClearValue clearValue;
7740 } VkRenderingAttachmentInfo;
7741
7742 typedef struct VkRenderingInfo {
7743 VkStructureType sType;
7744 const void* pNext;
7745 VkRenderingFlags flags;
7746 VkRect2D renderArea;
7747 uint32_t layerCount;
7748 uint32_t viewMask;
7749 uint32_t colorAttachmentCount;
7750 const VkRenderingAttachmentInfo* pColorAttachments;
7751 const VkRenderingAttachmentInfo* pDepthAttachment;
7752 const VkRenderingAttachmentInfo* pStencilAttachment;
7753 } VkRenderingInfo;
7754
7755 typedef struct VkPipelineRenderingCreateInfo {
7756 VkStructureType sType;
7757 const void* pNext;
7758 uint32_t viewMask;
7759 uint32_t colorAttachmentCount;
7760 const VkFormat* pColorAttachmentFormats;
7761 VkFormat depthAttachmentFormat;
7762 VkFormat stencilAttachmentFormat;
7763 } VkPipelineRenderingCreateInfo;
7764
7765 typedef struct VkPhysicalDeviceDynamicRenderingFeatures {
7766 VkStructureType sType;
7767 void* pNext;
7768 VkBool32 dynamicRendering;
7769 } VkPhysicalDeviceDynamicRenderingFeatures;
7770
7771 typedef struct VkCommandBufferInheritanceRenderingInfo {
7772 VkStructureType sType;
7773 const void* pNext;
7774 VkRenderingFlags flags;
7775 uint32_t viewMask;
7776 uint32_t colorAttachmentCount;
7777 const VkFormat* pColorAttachmentFormats;
7778 VkFormat depthAttachmentFormat;
7779 VkFormat stencilAttachmentFormat;
7780 VkSampleCountFlagBits rasterizationSamples;
7781 } VkCommandBufferInheritanceRenderingInfo;
7782
7783 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceToolProperties)(VkPhysicalDevice physicalDevice, uint32_t* pToolCount, VkPhysicalDeviceToolProperties* pToolProperties);
7784 typedef VkResult (VKAPI_PTR *PFN_vkCreatePrivateDataSlot)(VkDevice device, const VkPrivateDataSlotCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlot* pPrivateDataSlot);
7785 typedef void (VKAPI_PTR *PFN_vkDestroyPrivateDataSlot)(VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks* pAllocator);
7786 typedef VkResult (VKAPI_PTR *PFN_vkSetPrivateData)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t data);
7787 typedef void (VKAPI_PTR *PFN_vkGetPrivateData)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t* pData);
7788 typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier2)(VkCommandBuffer commandBuffer, const VkDependencyInfo* pDependencyInfo);
7789 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query);
7790 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo2* pSubmits, VkFence fence);
7791 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer2)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2* pCopyBufferInfo);
7792 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage2)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2* pCopyImageInfo);
7793 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage2)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo);
7794 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer2)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo);
7795 typedef void (VKAPI_PTR *PFN_vkGetDeviceBufferMemoryRequirements)(VkDevice device, const VkDeviceBufferMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements);
7796 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageMemoryRequirements)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements);
7797 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageSparseMemoryRequirements)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
7798 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent2)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo* pDependencyInfo);
7799 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask);
7800 typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents2)(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, const VkDependencyInfo* pDependencyInfos);
7801 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage2)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2* pBlitImageInfo);
7802 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage2)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2* pResolveImageInfo);
7803 typedef void (VKAPI_PTR *PFN_vkCmdBeginRendering)(VkCommandBuffer commandBuffer, const VkRenderingInfo* pRenderingInfo);
7804 typedef void (VKAPI_PTR *PFN_vkCmdEndRendering)(VkCommandBuffer commandBuffer);
7805 typedef void (VKAPI_PTR *PFN_vkCmdSetCullMode)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode);
7806 typedef void (VKAPI_PTR *PFN_vkCmdSetFrontFace)(VkCommandBuffer commandBuffer, VkFrontFace frontFace);
7807 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveTopology)(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology);
7808 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWithCount)(VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport* pViewports);
7809 typedef void (VKAPI_PTR *PFN_vkCmdSetScissorWithCount)(VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D* pScissors);
7810 typedef 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);
7811 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthTestEnable)(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable);
7812 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthWriteEnable)(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable);
7813 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthCompareOp)(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp);
7814 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBoundsTestEnable)(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable);
7815 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilTestEnable)(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable);
7816 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilOp)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp);
7817 typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizerDiscardEnable)(VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable);
7818 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBiasEnable)(VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable);
7819 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveRestartEnable)(VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable);
7820
7821 #ifndef VK_NO_PROTOTYPES
7822 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceToolProperties(
7823 VkPhysicalDevice physicalDevice,
7824 uint32_t* pToolCount,
7825 VkPhysicalDeviceToolProperties* pToolProperties);
7826
7827 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePrivateDataSlot(
7828 VkDevice device,
7829 const VkPrivateDataSlotCreateInfo* pCreateInfo,
7830 const VkAllocationCallbacks* pAllocator,
7831 VkPrivateDataSlot* pPrivateDataSlot);
7832
7833 VKAPI_ATTR void VKAPI_CALL vkDestroyPrivateDataSlot(
7834 VkDevice device,
7835 VkPrivateDataSlot privateDataSlot,
7836 const VkAllocationCallbacks* pAllocator);
7837
7838 VKAPI_ATTR VkResult VKAPI_CALL vkSetPrivateData(
7839 VkDevice device,
7840 VkObjectType objectType,
7841 uint64_t objectHandle,
7842 VkPrivateDataSlot privateDataSlot,
7843 uint64_t data);
7844
7845 VKAPI_ATTR void VKAPI_CALL vkGetPrivateData(
7846 VkDevice device,
7847 VkObjectType objectType,
7848 uint64_t objectHandle,
7849 VkPrivateDataSlot privateDataSlot,
7850 uint64_t* pData);
7851
7852 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier2(
7853 VkCommandBuffer commandBuffer,
7854 const VkDependencyInfo* pDependencyInfo);
7855
7856 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp2(
7857 VkCommandBuffer commandBuffer,
7858 VkPipelineStageFlags2 stage,
7859 VkQueryPool queryPool,
7860 uint32_t query);
7861
7862 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit2(
7863 VkQueue queue,
7864 uint32_t submitCount,
7865 const VkSubmitInfo2* pSubmits,
7866 VkFence fence);
7867
7868 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer2(
7869 VkCommandBuffer commandBuffer,
7870 const VkCopyBufferInfo2* pCopyBufferInfo);
7871
7872 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage2(
7873 VkCommandBuffer commandBuffer,
7874 const VkCopyImageInfo2* pCopyImageInfo);
7875
7876 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage2(
7877 VkCommandBuffer commandBuffer,
7878 const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo);
7879
7880 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer2(
7881 VkCommandBuffer commandBuffer,
7882 const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo);
7883
7884 VKAPI_ATTR void VKAPI_CALL vkGetDeviceBufferMemoryRequirements(
7885 VkDevice device,
7886 const VkDeviceBufferMemoryRequirements* pInfo,
7887 VkMemoryRequirements2* pMemoryRequirements);
7888
7889 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageMemoryRequirements(
7890 VkDevice device,
7891 const VkDeviceImageMemoryRequirements* pInfo,
7892 VkMemoryRequirements2* pMemoryRequirements);
7893
7894 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageSparseMemoryRequirements(
7895 VkDevice device,
7896 const VkDeviceImageMemoryRequirements* pInfo,
7897 uint32_t* pSparseMemoryRequirementCount,
7898 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
7899
7900 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent2(
7901 VkCommandBuffer commandBuffer,
7902 VkEvent event,
7903 const VkDependencyInfo* pDependencyInfo);
7904
7905 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent2(
7906 VkCommandBuffer commandBuffer,
7907 VkEvent event,
7908 VkPipelineStageFlags2 stageMask);
7909
7910 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents2(
7911 VkCommandBuffer commandBuffer,
7912 uint32_t eventCount,
7913 const VkEvent* pEvents,
7914 const VkDependencyInfo* pDependencyInfos);
7915
7916 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage2(
7917 VkCommandBuffer commandBuffer,
7918 const VkBlitImageInfo2* pBlitImageInfo);
7919
7920 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage2(
7921 VkCommandBuffer commandBuffer,
7922 const VkResolveImageInfo2* pResolveImageInfo);
7923
7924 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRendering(
7925 VkCommandBuffer commandBuffer,
7926 const VkRenderingInfo* pRenderingInfo);
7927
7928 VKAPI_ATTR void VKAPI_CALL vkCmdEndRendering(
7929 VkCommandBuffer commandBuffer);
7930
7931 VKAPI_ATTR void VKAPI_CALL vkCmdSetCullMode(
7932 VkCommandBuffer commandBuffer,
7933 VkCullModeFlags cullMode);
7934
7935 VKAPI_ATTR void VKAPI_CALL vkCmdSetFrontFace(
7936 VkCommandBuffer commandBuffer,
7937 VkFrontFace frontFace);
7938
7939 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveTopology(
7940 VkCommandBuffer commandBuffer,
7941 VkPrimitiveTopology primitiveTopology);
7942
7943 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWithCount(
7944 VkCommandBuffer commandBuffer,
7945 uint32_t viewportCount,
7946 const VkViewport* pViewports);
7947
7948 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissorWithCount(
7949 VkCommandBuffer commandBuffer,
7950 uint32_t scissorCount,
7951 const VkRect2D* pScissors);
7952
7953 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers2(
7954 VkCommandBuffer commandBuffer,
7955 uint32_t firstBinding,
7956 uint32_t bindingCount,
7957 const VkBuffer* pBuffers,
7958 const VkDeviceSize* pOffsets,
7959 const VkDeviceSize* pSizes,
7960 const VkDeviceSize* pStrides);
7961
7962 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthTestEnable(
7963 VkCommandBuffer commandBuffer,
7964 VkBool32 depthTestEnable);
7965
7966 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthWriteEnable(
7967 VkCommandBuffer commandBuffer,
7968 VkBool32 depthWriteEnable);
7969
7970 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthCompareOp(
7971 VkCommandBuffer commandBuffer,
7972 VkCompareOp depthCompareOp);
7973
7974 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBoundsTestEnable(
7975 VkCommandBuffer commandBuffer,
7976 VkBool32 depthBoundsTestEnable);
7977
7978 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilTestEnable(
7979 VkCommandBuffer commandBuffer,
7980 VkBool32 stencilTestEnable);
7981
7982 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilOp(
7983 VkCommandBuffer commandBuffer,
7984 VkStencilFaceFlags faceMask,
7985 VkStencilOp failOp,
7986 VkStencilOp passOp,
7987 VkStencilOp depthFailOp,
7988 VkCompareOp compareOp);
7989
7990 VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizerDiscardEnable(
7991 VkCommandBuffer commandBuffer,
7992 VkBool32 rasterizerDiscardEnable);
7993
7994 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBiasEnable(
7995 VkCommandBuffer commandBuffer,
7996 VkBool32 depthBiasEnable);
7997
7998 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveRestartEnable(
7999 VkCommandBuffer commandBuffer,
8000 VkBool32 primitiveRestartEnable);
8001 #endif
8002
8003
8004 // VK_VERSION_1_4 is a preprocessor guard. Do not pass it to API calls.
8005 #define VK_VERSION_1_4 1
8006 // Vulkan 1.4 version number
8007 #define VK_API_VERSION_1_4 VK_MAKE_API_VERSION(0, 1, 4, 0)// Patch version should always be set to 0
8008
8009 #define VK_MAX_GLOBAL_PRIORITY_SIZE 16U
8010
8011 typedef enum VkPipelineRobustnessBufferBehavior {
8012 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DEVICE_DEFAULT = 0,
8013 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DISABLED = 1,
8014 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS = 2,
8015 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2 = 3,
8016 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DEVICE_DEFAULT_EXT = VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DEVICE_DEFAULT,
8017 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DISABLED_EXT = VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DISABLED,
8018 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT = VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS,
8019 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT = VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2,
8020 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF
8021 } VkPipelineRobustnessBufferBehavior;
8022
8023 typedef enum VkPipelineRobustnessImageBehavior {
8024 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DEVICE_DEFAULT = 0,
8025 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DISABLED = 1,
8026 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS = 2,
8027 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_2 = 3,
8028 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DEVICE_DEFAULT_EXT = VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DEVICE_DEFAULT,
8029 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DISABLED_EXT = VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DISABLED,
8030 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_EXT = VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS,
8031 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_2_EXT = VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_2,
8032 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF
8033 } VkPipelineRobustnessImageBehavior;
8034
8035 typedef enum VkQueueGlobalPriority {
8036 VK_QUEUE_GLOBAL_PRIORITY_LOW = 128,
8037 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM = 256,
8038 VK_QUEUE_GLOBAL_PRIORITY_HIGH = 512,
8039 VK_QUEUE_GLOBAL_PRIORITY_REALTIME = 1024,
8040 VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT = VK_QUEUE_GLOBAL_PRIORITY_LOW,
8041 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT = VK_QUEUE_GLOBAL_PRIORITY_MEDIUM,
8042 VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT = VK_QUEUE_GLOBAL_PRIORITY_HIGH,
8043 VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT = VK_QUEUE_GLOBAL_PRIORITY_REALTIME,
8044 VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR = VK_QUEUE_GLOBAL_PRIORITY_LOW,
8045 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR = VK_QUEUE_GLOBAL_PRIORITY_MEDIUM,
8046 VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR = VK_QUEUE_GLOBAL_PRIORITY_HIGH,
8047 VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR = VK_QUEUE_GLOBAL_PRIORITY_REALTIME,
8048 VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM = 0x7FFFFFFF
8049 } VkQueueGlobalPriority;
8050
8051 typedef enum VkLineRasterizationMode {
8052 VK_LINE_RASTERIZATION_MODE_DEFAULT = 0,
8053 VK_LINE_RASTERIZATION_MODE_RECTANGULAR = 1,
8054 VK_LINE_RASTERIZATION_MODE_BRESENHAM = 2,
8055 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH = 3,
8056 VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT = VK_LINE_RASTERIZATION_MODE_DEFAULT,
8057 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT = VK_LINE_RASTERIZATION_MODE_RECTANGULAR,
8058 VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT = VK_LINE_RASTERIZATION_MODE_BRESENHAM,
8059 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT = VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH,
8060 VK_LINE_RASTERIZATION_MODE_DEFAULT_KHR = VK_LINE_RASTERIZATION_MODE_DEFAULT,
8061 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR = VK_LINE_RASTERIZATION_MODE_RECTANGULAR,
8062 VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR = VK_LINE_RASTERIZATION_MODE_BRESENHAM,
8063 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR = VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH,
8064 VK_LINE_RASTERIZATION_MODE_MAX_ENUM = 0x7FFFFFFF
8065 } VkLineRasterizationMode;
8066
8067 typedef enum VkMemoryUnmapFlagBits {
8068 VK_MEMORY_UNMAP_RESERVE_BIT_EXT = 0x00000001,
8069 VK_MEMORY_UNMAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
8070 } VkMemoryUnmapFlagBits;
8071 typedef VkFlags VkMemoryUnmapFlags;
8072 typedef VkFlags64 VkBufferUsageFlags2;
8073
8074 // Flag bits for VkBufferUsageFlagBits2
8075 typedef VkFlags64 VkBufferUsageFlagBits2;
8076 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_TRANSFER_SRC_BIT = 0x00000001ULL;
8077 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_TRANSFER_DST_BIT = 0x00000002ULL;
8078 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_UNIFORM_TEXEL_BUFFER_BIT = 0x00000004ULL;
8079 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_STORAGE_TEXEL_BUFFER_BIT = 0x00000008ULL;
8080 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_UNIFORM_BUFFER_BIT = 0x00000010ULL;
8081 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_STORAGE_BUFFER_BIT = 0x00000020ULL;
8082 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_INDEX_BUFFER_BIT = 0x00000040ULL;
8083 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_VERTEX_BUFFER_BIT = 0x00000080ULL;
8084 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_INDIRECT_BUFFER_BIT = 0x00000100ULL;
8085 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_SHADER_DEVICE_ADDRESS_BIT = 0x00020000ULL;
8086 #ifdef VK_ENABLE_BETA_EXTENSIONS
8087 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_EXECUTION_GRAPH_SCRATCH_BIT_AMDX = 0x02000000ULL;
8088 #endif
8089 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_TRANSFER_SRC_BIT_KHR = 0x00000001ULL;
8090 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_TRANSFER_DST_BIT_KHR = 0x00000002ULL;
8091 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR = 0x00000004ULL;
8092 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_STORAGE_TEXEL_BUFFER_BIT_KHR = 0x00000008ULL;
8093 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_UNIFORM_BUFFER_BIT_KHR = 0x00000010ULL;
8094 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_STORAGE_BUFFER_BIT_KHR = 0x00000020ULL;
8095 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_INDEX_BUFFER_BIT_KHR = 0x00000040ULL;
8096 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_VERTEX_BUFFER_BIT_KHR = 0x00000080ULL;
8097 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_INDIRECT_BUFFER_BIT_KHR = 0x00000100ULL;
8098 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200ULL;
8099 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_SHADER_BINDING_TABLE_BIT_KHR = 0x00000400ULL;
8100 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_RAY_TRACING_BIT_NV = 0x00000400ULL;
8101 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0x00000800ULL;
8102 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000ULL;
8103 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_VIDEO_DECODE_SRC_BIT_KHR = 0x00002000ULL;
8104 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_VIDEO_DECODE_DST_BIT_KHR = 0x00004000ULL;
8105 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_VIDEO_ENCODE_DST_BIT_KHR = 0x00008000ULL;
8106 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_VIDEO_ENCODE_SRC_BIT_KHR = 0x00010000ULL;
8107 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_SHADER_DEVICE_ADDRESS_BIT_KHR = 0x00020000ULL;
8108 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR = 0x00080000ULL;
8109 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR = 0x00100000ULL;
8110 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT = 0x00200000ULL;
8111 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT = 0x00400000ULL;
8112 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT = 0x04000000ULL;
8113 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT = 0x00800000ULL;
8114 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_MICROMAP_STORAGE_BIT_EXT = 0x01000000ULL;
8115 #ifdef VK_ENABLE_BETA_EXTENSIONS
8116 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_COMPRESSED_DATA_DGF1_BIT_AMDX = 0x200000000ULL;
8117 #endif
8118 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_DATA_GRAPH_FOREIGN_DESCRIPTOR_BIT_ARM = 0x20000000ULL;
8119 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_TILE_MEMORY_BIT_QCOM = 0x08000000ULL;
8120 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_MEMORY_DECOMPRESSION_BIT_EXT = 0x100000000ULL;
8121 static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_PREPROCESS_BUFFER_BIT_EXT = 0x80000000ULL;
8122
8123
8124 typedef enum VkHostImageCopyFlagBits {
8125 VK_HOST_IMAGE_COPY_MEMCPY_BIT = 0x00000001,
8126 // VK_HOST_IMAGE_COPY_MEMCPY is a legacy alias
8127 VK_HOST_IMAGE_COPY_MEMCPY = VK_HOST_IMAGE_COPY_MEMCPY_BIT,
8128 VK_HOST_IMAGE_COPY_MEMCPY_BIT_EXT = VK_HOST_IMAGE_COPY_MEMCPY_BIT,
8129 // VK_HOST_IMAGE_COPY_MEMCPY_EXT is a legacy alias
8130 VK_HOST_IMAGE_COPY_MEMCPY_EXT = VK_HOST_IMAGE_COPY_MEMCPY_BIT,
8131 VK_HOST_IMAGE_COPY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
8132 } VkHostImageCopyFlagBits;
8133 typedef VkFlags VkHostImageCopyFlags;
8134 typedef VkFlags64 VkPipelineCreateFlags2;
8135
8136 // Flag bits for VkPipelineCreateFlagBits2
8137 typedef VkFlags64 VkPipelineCreateFlagBits2;
8138 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_DISABLE_OPTIMIZATION_BIT = 0x00000001ULL;
8139 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_ALLOW_DERIVATIVES_BIT = 0x00000002ULL;
8140 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_DERIVATIVE_BIT = 0x00000004ULL;
8141 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 0x00000008ULL;
8142 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_DISPATCH_BASE_BIT = 0x00000010ULL;
8143 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT = 0x00000100ULL;
8144 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_EARLY_RETURN_ON_FAILURE_BIT = 0x00000200ULL;
8145 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_NO_PROTECTED_ACCESS_BIT = 0x08000000ULL;
8146 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_PROTECTED_ACCESS_ONLY_BIT = 0x40000000ULL;
8147 #ifdef VK_ENABLE_BETA_EXTENSIONS
8148 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_EXECUTION_GRAPH_BIT_AMDX = 0x100000000ULL;
8149 #endif
8150 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_SKIP_BUILT_IN_PRIMITIVES_BIT_KHR = 0x00001000ULL;
8151 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_ALLOW_SPHERES_AND_LINEAR_SWEPT_SPHERES_BIT_NV = 0x200000000ULL;
8152 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT = 0x400000000ULL;
8153 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_DISABLE_OPTIMIZATION_BIT_KHR = 0x00000001ULL;
8154 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_ALLOW_DERIVATIVES_BIT_KHR = 0x00000002ULL;
8155 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_DERIVATIVE_BIT_KHR = 0x00000004ULL;
8156 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = 0x00000008ULL;
8157 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_DISPATCH_BASE_BIT_KHR = 0x00000010ULL;
8158 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_DEFER_COMPILE_BIT_NV = 0x00000020ULL;
8159 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_CAPTURE_STATISTICS_BIT_KHR = 0x00000040ULL;
8160 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 0x00000080ULL;
8161 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_KHR = 0x00000100ULL;
8162 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_EARLY_RETURN_ON_FAILURE_BIT_KHR = 0x00000200ULL;
8163 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_LINK_TIME_OPTIMIZATION_BIT_EXT = 0x00000400ULL;
8164 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT = 0x00800000ULL;
8165 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_LIBRARY_BIT_KHR = 0x00000800ULL;
8166 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR = 0x00001000ULL;
8167 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_SKIP_AABBS_BIT_KHR = 0x00002000ULL;
8168 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 0x00004000ULL;
8169 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 0x00008000ULL;
8170 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 0x00010000ULL;
8171 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR = 0x00020000ULL;
8172 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR = 0x00080000ULL;
8173 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_INDIRECT_BINDABLE_BIT_NV = 0x00040000ULL;
8174 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_ALLOW_MOTION_BIT_NV = 0x00100000ULL;
8175 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00200000ULL;
8176 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 0x00400000ULL;
8177 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT = 0x01000000ULL;
8178 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x02000000ULL;
8179 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x04000000ULL;
8180 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_NO_PROTECTED_ACCESS_BIT_EXT = 0x08000000ULL;
8181 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_PROTECTED_ACCESS_ONLY_BIT_EXT = 0x40000000ULL;
8182 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV = 0x10000000ULL;
8183 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_DESCRIPTOR_BUFFER_BIT_EXT = 0x20000000ULL;
8184 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_DISALLOW_OPACITY_MICROMAP_BIT_ARM = 0x2000000000ULL;
8185 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_CAPTURE_DATA_BIT_KHR = 0x80000000ULL;
8186 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_INDIRECT_BINDABLE_BIT_EXT = 0x4000000000ULL;
8187 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_PER_LAYER_FRAGMENT_DENSITY_BIT_VALVE = 0x10000000000ULL;
8188 static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_64_BIT_INDEXING_BIT_EXT = 0x80000000000ULL;
8189
8190 typedef struct VkPhysicalDeviceVulkan14Features {
8191 VkStructureType sType;
8192 void* pNext;
8193 VkBool32 globalPriorityQuery;
8194 VkBool32 shaderSubgroupRotate;
8195 VkBool32 shaderSubgroupRotateClustered;
8196 VkBool32 shaderFloatControls2;
8197 VkBool32 shaderExpectAssume;
8198 VkBool32 rectangularLines;
8199 VkBool32 bresenhamLines;
8200 VkBool32 smoothLines;
8201 VkBool32 stippledRectangularLines;
8202 VkBool32 stippledBresenhamLines;
8203 VkBool32 stippledSmoothLines;
8204 VkBool32 vertexAttributeInstanceRateDivisor;
8205 VkBool32 vertexAttributeInstanceRateZeroDivisor;
8206 VkBool32 indexTypeUint8;
8207 VkBool32 dynamicRenderingLocalRead;
8208 VkBool32 maintenance5;
8209 VkBool32 maintenance6;
8210 VkBool32 pipelineProtectedAccess;
8211 VkBool32 pipelineRobustness;
8212 VkBool32 hostImageCopy;
8213 VkBool32 pushDescriptor;
8214 } VkPhysicalDeviceVulkan14Features;
8215
8216 typedef struct VkPhysicalDeviceVulkan14Properties {
8217 VkStructureType sType;
8218 void* pNext;
8219 uint32_t lineSubPixelPrecisionBits;
8220 uint32_t maxVertexAttribDivisor;
8221 VkBool32 supportsNonZeroFirstInstance;
8222 uint32_t maxPushDescriptors;
8223 VkBool32 dynamicRenderingLocalReadDepthStencilAttachments;
8224 VkBool32 dynamicRenderingLocalReadMultisampledAttachments;
8225 VkBool32 earlyFragmentMultisampleCoverageAfterSampleCounting;
8226 VkBool32 earlyFragmentSampleMaskTestBeforeSampleCounting;
8227 VkBool32 depthStencilSwizzleOneSupport;
8228 VkBool32 polygonModePointSize;
8229 VkBool32 nonStrictSinglePixelWideLinesUseParallelogram;
8230 VkBool32 nonStrictWideLinesUseParallelogram;
8231 VkBool32 blockTexelViewCompatibleMultipleLayers;
8232 uint32_t maxCombinedImageSamplerDescriptorCount;
8233 VkBool32 fragmentShadingRateClampCombinerInputs;
8234 VkPipelineRobustnessBufferBehavior defaultRobustnessStorageBuffers;
8235 VkPipelineRobustnessBufferBehavior defaultRobustnessUniformBuffers;
8236 VkPipelineRobustnessBufferBehavior defaultRobustnessVertexInputs;
8237 VkPipelineRobustnessImageBehavior defaultRobustnessImages;
8238 uint32_t copySrcLayoutCount;
8239 VkImageLayout* pCopySrcLayouts;
8240 uint32_t copyDstLayoutCount;
8241 VkImageLayout* pCopyDstLayouts;
8242 uint8_t optimalTilingLayoutUUID[VK_UUID_SIZE];
8243 VkBool32 identicalMemoryTypeRequirements;
8244 } VkPhysicalDeviceVulkan14Properties;
8245
8246 typedef struct VkDeviceQueueGlobalPriorityCreateInfo {
8247 VkStructureType sType;
8248 const void* pNext;
8249 VkQueueGlobalPriority globalPriority;
8250 } VkDeviceQueueGlobalPriorityCreateInfo;
8251
8252 typedef struct VkPhysicalDeviceGlobalPriorityQueryFeatures {
8253 VkStructureType sType;
8254 void* pNext;
8255 VkBool32 globalPriorityQuery;
8256 } VkPhysicalDeviceGlobalPriorityQueryFeatures;
8257
8258 typedef struct VkQueueFamilyGlobalPriorityProperties {
8259 VkStructureType sType;
8260 void* pNext;
8261 uint32_t priorityCount;
8262 VkQueueGlobalPriority priorities[VK_MAX_GLOBAL_PRIORITY_SIZE];
8263 } VkQueueFamilyGlobalPriorityProperties;
8264
8265 typedef struct VkPhysicalDeviceIndexTypeUint8Features {
8266 VkStructureType sType;
8267 void* pNext;
8268 VkBool32 indexTypeUint8;
8269 } VkPhysicalDeviceIndexTypeUint8Features;
8270
8271 typedef struct VkMemoryMapInfo {
8272 VkStructureType sType;
8273 const void* pNext;
8274 VkMemoryMapFlags flags;
8275 VkDeviceMemory memory;
8276 VkDeviceSize offset;
8277 VkDeviceSize size;
8278 } VkMemoryMapInfo;
8279
8280 typedef struct VkMemoryUnmapInfo {
8281 VkStructureType sType;
8282 const void* pNext;
8283 VkMemoryUnmapFlags flags;
8284 VkDeviceMemory memory;
8285 } VkMemoryUnmapInfo;
8286
8287 typedef struct VkPhysicalDeviceMaintenance5Features {
8288 VkStructureType sType;
8289 void* pNext;
8290 VkBool32 maintenance5;
8291 } VkPhysicalDeviceMaintenance5Features;
8292
8293 typedef struct VkPhysicalDeviceMaintenance5Properties {
8294 VkStructureType sType;
8295 void* pNext;
8296 VkBool32 earlyFragmentMultisampleCoverageAfterSampleCounting;
8297 VkBool32 earlyFragmentSampleMaskTestBeforeSampleCounting;
8298 VkBool32 depthStencilSwizzleOneSupport;
8299 VkBool32 polygonModePointSize;
8300 VkBool32 nonStrictSinglePixelWideLinesUseParallelogram;
8301 VkBool32 nonStrictWideLinesUseParallelogram;
8302 } VkPhysicalDeviceMaintenance5Properties;
8303
8304 typedef struct VkImageSubresource2 {
8305 VkStructureType sType;
8306 void* pNext;
8307 VkImageSubresource imageSubresource;
8308 } VkImageSubresource2;
8309
8310 typedef struct VkDeviceImageSubresourceInfo {
8311 VkStructureType sType;
8312 const void* pNext;
8313 const VkImageCreateInfo* pCreateInfo;
8314 const VkImageSubresource2* pSubresource;
8315 } VkDeviceImageSubresourceInfo;
8316
8317 typedef struct VkSubresourceLayout2 {
8318 VkStructureType sType;
8319 void* pNext;
8320 VkSubresourceLayout subresourceLayout;
8321 } VkSubresourceLayout2;
8322
8323 typedef struct VkBufferUsageFlags2CreateInfo {
8324 VkStructureType sType;
8325 const void* pNext;
8326 VkBufferUsageFlags2 usage;
8327 } VkBufferUsageFlags2CreateInfo;
8328
8329 typedef struct VkPhysicalDeviceMaintenance6Features {
8330 VkStructureType sType;
8331 void* pNext;
8332 VkBool32 maintenance6;
8333 } VkPhysicalDeviceMaintenance6Features;
8334
8335 typedef struct VkPhysicalDeviceMaintenance6Properties {
8336 VkStructureType sType;
8337 void* pNext;
8338 VkBool32 blockTexelViewCompatibleMultipleLayers;
8339 uint32_t maxCombinedImageSamplerDescriptorCount;
8340 VkBool32 fragmentShadingRateClampCombinerInputs;
8341 } VkPhysicalDeviceMaintenance6Properties;
8342
8343 typedef struct VkBindMemoryStatus {
8344 VkStructureType sType;
8345 const void* pNext;
8346 VkResult* pResult;
8347 } VkBindMemoryStatus;
8348
8349 typedef struct VkPhysicalDeviceHostImageCopyFeatures {
8350 VkStructureType sType;
8351 void* pNext;
8352 VkBool32 hostImageCopy;
8353 } VkPhysicalDeviceHostImageCopyFeatures;
8354
8355 typedef struct VkPhysicalDeviceHostImageCopyProperties {
8356 VkStructureType sType;
8357 void* pNext;
8358 uint32_t copySrcLayoutCount;
8359 VkImageLayout* pCopySrcLayouts;
8360 uint32_t copyDstLayoutCount;
8361 VkImageLayout* pCopyDstLayouts;
8362 uint8_t optimalTilingLayoutUUID[VK_UUID_SIZE];
8363 VkBool32 identicalMemoryTypeRequirements;
8364 } VkPhysicalDeviceHostImageCopyProperties;
8365
8366 typedef struct VkMemoryToImageCopy {
8367 VkStructureType sType;
8368 const void* pNext;
8369 const void* pHostPointer;
8370 uint32_t memoryRowLength;
8371 uint32_t memoryImageHeight;
8372 VkImageSubresourceLayers imageSubresource;
8373 VkOffset3D imageOffset;
8374 VkExtent3D imageExtent;
8375 } VkMemoryToImageCopy;
8376
8377 typedef struct VkImageToMemoryCopy {
8378 VkStructureType sType;
8379 const void* pNext;
8380 void* pHostPointer;
8381 uint32_t memoryRowLength;
8382 uint32_t memoryImageHeight;
8383 VkImageSubresourceLayers imageSubresource;
8384 VkOffset3D imageOffset;
8385 VkExtent3D imageExtent;
8386 } VkImageToMemoryCopy;
8387
8388 typedef struct VkCopyMemoryToImageInfo {
8389 VkStructureType sType;
8390 const void* pNext;
8391 VkHostImageCopyFlags flags;
8392 VkImage dstImage;
8393 VkImageLayout dstImageLayout;
8394 uint32_t regionCount;
8395 const VkMemoryToImageCopy* pRegions;
8396 } VkCopyMemoryToImageInfo;
8397
8398 typedef struct VkCopyImageToMemoryInfo {
8399 VkStructureType sType;
8400 const void* pNext;
8401 VkHostImageCopyFlags flags;
8402 VkImage srcImage;
8403 VkImageLayout srcImageLayout;
8404 uint32_t regionCount;
8405 const VkImageToMemoryCopy* pRegions;
8406 } VkCopyImageToMemoryInfo;
8407
8408 typedef struct VkCopyImageToImageInfo {
8409 VkStructureType sType;
8410 const void* pNext;
8411 VkHostImageCopyFlags flags;
8412 VkImage srcImage;
8413 VkImageLayout srcImageLayout;
8414 VkImage dstImage;
8415 VkImageLayout dstImageLayout;
8416 uint32_t regionCount;
8417 const VkImageCopy2* pRegions;
8418 } VkCopyImageToImageInfo;
8419
8420 typedef struct VkHostImageLayoutTransitionInfo {
8421 VkStructureType sType;
8422 const void* pNext;
8423 VkImage image;
8424 VkImageLayout oldLayout;
8425 VkImageLayout newLayout;
8426 VkImageSubresourceRange subresourceRange;
8427 } VkHostImageLayoutTransitionInfo;
8428
8429 typedef struct VkSubresourceHostMemcpySize {
8430 VkStructureType sType;
8431 void* pNext;
8432 VkDeviceSize size;
8433 } VkSubresourceHostMemcpySize;
8434
8435 typedef struct VkHostImageCopyDevicePerformanceQuery {
8436 VkStructureType sType;
8437 void* pNext;
8438 VkBool32 optimalDeviceAccess;
8439 VkBool32 identicalMemoryLayout;
8440 } VkHostImageCopyDevicePerformanceQuery;
8441
8442 typedef struct VkPhysicalDeviceShaderSubgroupRotateFeatures {
8443 VkStructureType sType;
8444 void* pNext;
8445 VkBool32 shaderSubgroupRotate;
8446 VkBool32 shaderSubgroupRotateClustered;
8447 } VkPhysicalDeviceShaderSubgroupRotateFeatures;
8448
8449 typedef struct VkPhysicalDeviceShaderFloatControls2Features {
8450 VkStructureType sType;
8451 void* pNext;
8452 VkBool32 shaderFloatControls2;
8453 } VkPhysicalDeviceShaderFloatControls2Features;
8454
8455 typedef struct VkPhysicalDeviceShaderExpectAssumeFeatures {
8456 VkStructureType sType;
8457 void* pNext;
8458 VkBool32 shaderExpectAssume;
8459 } VkPhysicalDeviceShaderExpectAssumeFeatures;
8460
8461 typedef struct VkPipelineCreateFlags2CreateInfo {
8462 VkStructureType sType;
8463 const void* pNext;
8464 VkPipelineCreateFlags2 flags;
8465 } VkPipelineCreateFlags2CreateInfo;
8466
8467 typedef struct VkPhysicalDevicePushDescriptorProperties {
8468 VkStructureType sType;
8469 void* pNext;
8470 uint32_t maxPushDescriptors;
8471 } VkPhysicalDevicePushDescriptorProperties;
8472
8473 typedef struct VkBindDescriptorSetsInfo {
8474 VkStructureType sType;
8475 const void* pNext;
8476 VkShaderStageFlags stageFlags;
8477 VkPipelineLayout layout;
8478 uint32_t firstSet;
8479 uint32_t descriptorSetCount;
8480 const VkDescriptorSet* pDescriptorSets;
8481 uint32_t dynamicOffsetCount;
8482 const uint32_t* pDynamicOffsets;
8483 } VkBindDescriptorSetsInfo;
8484
8485 typedef struct VkPushConstantsInfo {
8486 VkStructureType sType;
8487 const void* pNext;
8488 VkPipelineLayout layout;
8489 VkShaderStageFlags stageFlags;
8490 uint32_t offset;
8491 uint32_t size;
8492 const void* pValues;
8493 } VkPushConstantsInfo;
8494
8495 typedef struct VkPushDescriptorSetInfo {
8496 VkStructureType sType;
8497 const void* pNext;
8498 VkShaderStageFlags stageFlags;
8499 VkPipelineLayout layout;
8500 uint32_t set;
8501 uint32_t descriptorWriteCount;
8502 const VkWriteDescriptorSet* pDescriptorWrites;
8503 } VkPushDescriptorSetInfo;
8504
8505 typedef struct VkPushDescriptorSetWithTemplateInfo {
8506 VkStructureType sType;
8507 const void* pNext;
8508 VkDescriptorUpdateTemplate descriptorUpdateTemplate;
8509 VkPipelineLayout layout;
8510 uint32_t set;
8511 const void* pData;
8512 } VkPushDescriptorSetWithTemplateInfo;
8513
8514 typedef struct VkPhysicalDevicePipelineProtectedAccessFeatures {
8515 VkStructureType sType;
8516 void* pNext;
8517 VkBool32 pipelineProtectedAccess;
8518 } VkPhysicalDevicePipelineProtectedAccessFeatures;
8519
8520 typedef struct VkPhysicalDevicePipelineRobustnessFeatures {
8521 VkStructureType sType;
8522 void* pNext;
8523 VkBool32 pipelineRobustness;
8524 } VkPhysicalDevicePipelineRobustnessFeatures;
8525
8526 typedef struct VkPhysicalDevicePipelineRobustnessProperties {
8527 VkStructureType sType;
8528 void* pNext;
8529 VkPipelineRobustnessBufferBehavior defaultRobustnessStorageBuffers;
8530 VkPipelineRobustnessBufferBehavior defaultRobustnessUniformBuffers;
8531 VkPipelineRobustnessBufferBehavior defaultRobustnessVertexInputs;
8532 VkPipelineRobustnessImageBehavior defaultRobustnessImages;
8533 } VkPhysicalDevicePipelineRobustnessProperties;
8534
8535 typedef struct VkPipelineRobustnessCreateInfo {
8536 VkStructureType sType;
8537 const void* pNext;
8538 VkPipelineRobustnessBufferBehavior storageBuffers;
8539 VkPipelineRobustnessBufferBehavior uniformBuffers;
8540 VkPipelineRobustnessBufferBehavior vertexInputs;
8541 VkPipelineRobustnessImageBehavior images;
8542 } VkPipelineRobustnessCreateInfo;
8543
8544 typedef struct VkPhysicalDeviceLineRasterizationFeatures {
8545 VkStructureType sType;
8546 void* pNext;
8547 VkBool32 rectangularLines;
8548 VkBool32 bresenhamLines;
8549 VkBool32 smoothLines;
8550 VkBool32 stippledRectangularLines;
8551 VkBool32 stippledBresenhamLines;
8552 VkBool32 stippledSmoothLines;
8553 } VkPhysicalDeviceLineRasterizationFeatures;
8554
8555 typedef struct VkPhysicalDeviceLineRasterizationProperties {
8556 VkStructureType sType;
8557 void* pNext;
8558 uint32_t lineSubPixelPrecisionBits;
8559 } VkPhysicalDeviceLineRasterizationProperties;
8560
8561 typedef struct VkPipelineRasterizationLineStateCreateInfo {
8562 VkStructureType sType;
8563 const void* pNext;
8564 VkLineRasterizationMode lineRasterizationMode;
8565 VkBool32 stippledLineEnable;
8566 uint32_t lineStippleFactor;
8567 uint16_t lineStipplePattern;
8568 } VkPipelineRasterizationLineStateCreateInfo;
8569
8570 typedef struct VkPhysicalDeviceVertexAttributeDivisorProperties {
8571 VkStructureType sType;
8572 void* pNext;
8573 uint32_t maxVertexAttribDivisor;
8574 VkBool32 supportsNonZeroFirstInstance;
8575 } VkPhysicalDeviceVertexAttributeDivisorProperties;
8576
8577 typedef struct VkVertexInputBindingDivisorDescription {
8578 uint32_t binding;
8579 uint32_t divisor;
8580 } VkVertexInputBindingDivisorDescription;
8581
8582 typedef struct VkPipelineVertexInputDivisorStateCreateInfo {
8583 VkStructureType sType;
8584 const void* pNext;
8585 uint32_t vertexBindingDivisorCount;
8586 const VkVertexInputBindingDivisorDescription* pVertexBindingDivisors;
8587 } VkPipelineVertexInputDivisorStateCreateInfo;
8588
8589 typedef struct VkPhysicalDeviceVertexAttributeDivisorFeatures {
8590 VkStructureType sType;
8591 void* pNext;
8592 VkBool32 vertexAttributeInstanceRateDivisor;
8593 VkBool32 vertexAttributeInstanceRateZeroDivisor;
8594 } VkPhysicalDeviceVertexAttributeDivisorFeatures;
8595
8596 typedef struct VkRenderingAreaInfo {
8597 VkStructureType sType;
8598 const void* pNext;
8599 uint32_t viewMask;
8600 uint32_t colorAttachmentCount;
8601 const VkFormat* pColorAttachmentFormats;
8602 VkFormat depthAttachmentFormat;
8603 VkFormat stencilAttachmentFormat;
8604 } VkRenderingAreaInfo;
8605
8606 typedef struct VkPhysicalDeviceDynamicRenderingLocalReadFeatures {
8607 VkStructureType sType;
8608 void* pNext;
8609 VkBool32 dynamicRenderingLocalRead;
8610 } VkPhysicalDeviceDynamicRenderingLocalReadFeatures;
8611
8612 typedef struct VkRenderingAttachmentLocationInfo {
8613 VkStructureType sType;
8614 const void* pNext;
8615 uint32_t colorAttachmentCount;
8616 const uint32_t* pColorAttachmentLocations;
8617 } VkRenderingAttachmentLocationInfo;
8618
8619 typedef struct VkRenderingInputAttachmentIndexInfo {
8620 VkStructureType sType;
8621 const void* pNext;
8622 uint32_t colorAttachmentCount;
8623 const uint32_t* pColorAttachmentInputIndices;
8624 const uint32_t* pDepthInputAttachmentIndex;
8625 const uint32_t* pStencilInputAttachmentIndex;
8626 } VkRenderingInputAttachmentIndexInfo;
8627
8628 typedef VkResult (VKAPI_PTR *PFN_vkMapMemory2)(VkDevice device, const VkMemoryMapInfo* pMemoryMapInfo, void** ppData);
8629 typedef VkResult (VKAPI_PTR *PFN_vkUnmapMemory2)(VkDevice device, const VkMemoryUnmapInfo* pMemoryUnmapInfo);
8630 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageSubresourceLayout)(VkDevice device, const VkDeviceImageSubresourceInfo* pInfo, VkSubresourceLayout2* pLayout);
8631 typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout2)(VkDevice device, VkImage image, const VkImageSubresource2* pSubresource, VkSubresourceLayout2* pLayout);
8632 typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToImage)(VkDevice device, const VkCopyMemoryToImageInfo* pCopyMemoryToImageInfo);
8633 typedef VkResult (VKAPI_PTR *PFN_vkCopyImageToMemory)(VkDevice device, const VkCopyImageToMemoryInfo* pCopyImageToMemoryInfo);
8634 typedef VkResult (VKAPI_PTR *PFN_vkCopyImageToImage)(VkDevice device, const VkCopyImageToImageInfo* pCopyImageToImageInfo);
8635 typedef VkResult (VKAPI_PTR *PFN_vkTransitionImageLayout)(VkDevice device, uint32_t transitionCount, const VkHostImageLayoutTransitionInfo* pTransitions);
8636 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSet)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites);
8637 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplate)(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void* pData);
8638 typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorSets2)(VkCommandBuffer commandBuffer, const VkBindDescriptorSetsInfo* pBindDescriptorSetsInfo);
8639 typedef void (VKAPI_PTR *PFN_vkCmdPushConstants2)(VkCommandBuffer commandBuffer, const VkPushConstantsInfo* pPushConstantsInfo);
8640 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSet2)(VkCommandBuffer commandBuffer, const VkPushDescriptorSetInfo* pPushDescriptorSetInfo);
8641 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplate2)(VkCommandBuffer commandBuffer, const VkPushDescriptorSetWithTemplateInfo* pPushDescriptorSetWithTemplateInfo);
8642 typedef void (VKAPI_PTR *PFN_vkCmdSetLineStipple)(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern);
8643 typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer2)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkDeviceSize size, VkIndexType indexType);
8644 typedef void (VKAPI_PTR *PFN_vkGetRenderingAreaGranularity)(VkDevice device, const VkRenderingAreaInfo* pRenderingAreaInfo, VkExtent2D* pGranularity);
8645 typedef void (VKAPI_PTR *PFN_vkCmdSetRenderingAttachmentLocations)(VkCommandBuffer commandBuffer, const VkRenderingAttachmentLocationInfo* pLocationInfo);
8646 typedef void (VKAPI_PTR *PFN_vkCmdSetRenderingInputAttachmentIndices)(VkCommandBuffer commandBuffer, const VkRenderingInputAttachmentIndexInfo* pInputAttachmentIndexInfo);
8647
8648 #ifndef VK_NO_PROTOTYPES
8649 VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory2(
8650 VkDevice device,
8651 const VkMemoryMapInfo* pMemoryMapInfo,
8652 void** ppData);
8653
8654 VKAPI_ATTR VkResult VKAPI_CALL vkUnmapMemory2(
8655 VkDevice device,
8656 const VkMemoryUnmapInfo* pMemoryUnmapInfo);
8657
8658 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageSubresourceLayout(
8659 VkDevice device,
8660 const VkDeviceImageSubresourceInfo* pInfo,
8661 VkSubresourceLayout2* pLayout);
8662
8663 VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout2(
8664 VkDevice device,
8665 VkImage image,
8666 const VkImageSubresource2* pSubresource,
8667 VkSubresourceLayout2* pLayout);
8668
8669 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToImage(
8670 VkDevice device,
8671 const VkCopyMemoryToImageInfo* pCopyMemoryToImageInfo);
8672
8673 VKAPI_ATTR VkResult VKAPI_CALL vkCopyImageToMemory(
8674 VkDevice device,
8675 const VkCopyImageToMemoryInfo* pCopyImageToMemoryInfo);
8676
8677 VKAPI_ATTR VkResult VKAPI_CALL vkCopyImageToImage(
8678 VkDevice device,
8679 const VkCopyImageToImageInfo* pCopyImageToImageInfo);
8680
8681 VKAPI_ATTR VkResult VKAPI_CALL vkTransitionImageLayout(
8682 VkDevice device,
8683 uint32_t transitionCount,
8684 const VkHostImageLayoutTransitionInfo* pTransitions);
8685
8686 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSet(
8687 VkCommandBuffer commandBuffer,
8688 VkPipelineBindPoint pipelineBindPoint,
8689 VkPipelineLayout layout,
8690 uint32_t set,
8691 uint32_t descriptorWriteCount,
8692 const VkWriteDescriptorSet* pDescriptorWrites);
8693
8694 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplate(
8695 VkCommandBuffer commandBuffer,
8696 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
8697 VkPipelineLayout layout,
8698 uint32_t set,
8699 const void* pData);
8700
8701 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets2(
8702 VkCommandBuffer commandBuffer,
8703 const VkBindDescriptorSetsInfo* pBindDescriptorSetsInfo);
8704
8705 VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants2(
8706 VkCommandBuffer commandBuffer,
8707 const VkPushConstantsInfo* pPushConstantsInfo);
8708
8709 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSet2(
8710 VkCommandBuffer commandBuffer,
8711 const VkPushDescriptorSetInfo* pPushDescriptorSetInfo);
8712
8713 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplate2(
8714 VkCommandBuffer commandBuffer,
8715 const VkPushDescriptorSetWithTemplateInfo* pPushDescriptorSetWithTemplateInfo);
8716
8717 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStipple(
8718 VkCommandBuffer commandBuffer,
8719 uint32_t lineStippleFactor,
8720 uint16_t lineStipplePattern);
8721
8722 VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer2(
8723 VkCommandBuffer commandBuffer,
8724 VkBuffer buffer,
8725 VkDeviceSize offset,
8726 VkDeviceSize size,
8727 VkIndexType indexType);
8728
8729 VKAPI_ATTR void VKAPI_CALL vkGetRenderingAreaGranularity(
8730 VkDevice device,
8731 const VkRenderingAreaInfo* pRenderingAreaInfo,
8732 VkExtent2D* pGranularity);
8733
8734 VKAPI_ATTR void VKAPI_CALL vkCmdSetRenderingAttachmentLocations(
8735 VkCommandBuffer commandBuffer,
8736 const VkRenderingAttachmentLocationInfo* pLocationInfo);
8737
8738 VKAPI_ATTR void VKAPI_CALL vkCmdSetRenderingInputAttachmentIndices(
8739 VkCommandBuffer commandBuffer,
8740 const VkRenderingInputAttachmentIndexInfo* pInputAttachmentIndexInfo);
8741 #endif
8742
8743
8744 // VK_KHR_surface is a preprocessor guard. Do not pass it to API calls.
8745 #define VK_KHR_surface 1
8746 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR)
8747 #define VK_KHR_SURFACE_SPEC_VERSION 25
8748 #define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface"
8749
8750 typedef enum VkPresentModeKHR {
8751 VK_PRESENT_MODE_IMMEDIATE_KHR = 0,
8752 VK_PRESENT_MODE_MAILBOX_KHR = 1,
8753 VK_PRESENT_MODE_FIFO_KHR = 2,
8754 VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3,
8755 VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR = 1000111000,
8756 VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = 1000111001,
8757 VK_PRESENT_MODE_FIFO_LATEST_READY_KHR = 1000361000,
8758 VK_PRESENT_MODE_FIFO_LATEST_READY_EXT = VK_PRESENT_MODE_FIFO_LATEST_READY_KHR,
8759 VK_PRESENT_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
8760 } VkPresentModeKHR;
8761
8762 typedef enum VkColorSpaceKHR {
8763 VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0,
8764 VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = 1000104001,
8765 VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT = 1000104002,
8766 VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT = 1000104003,
8767 VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT = 1000104004,
8768 VK_COLOR_SPACE_BT709_LINEAR_EXT = 1000104005,
8769 VK_COLOR_SPACE_BT709_NONLINEAR_EXT = 1000104006,
8770 VK_COLOR_SPACE_BT2020_LINEAR_EXT = 1000104007,
8771 VK_COLOR_SPACE_HDR10_ST2084_EXT = 1000104008,
8772 // VK_COLOR_SPACE_DOLBYVISION_EXT is legacy, but no reason was given in the API XML
8773 VK_COLOR_SPACE_DOLBYVISION_EXT = 1000104009,
8774 VK_COLOR_SPACE_HDR10_HLG_EXT = 1000104010,
8775 VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT = 1000104011,
8776 VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT = 1000104012,
8777 VK_COLOR_SPACE_PASS_THROUGH_EXT = 1000104013,
8778 VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT = 1000104014,
8779 VK_COLOR_SPACE_DISPLAY_NATIVE_AMD = 1000213000,
8780 // VK_COLORSPACE_SRGB_NONLINEAR_KHR is a legacy alias
8781 VK_COLORSPACE_SRGB_NONLINEAR_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
8782 // VK_COLOR_SPACE_DCI_P3_LINEAR_EXT is a legacy alias
8783 VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT,
8784 VK_COLOR_SPACE_MAX_ENUM_KHR = 0x7FFFFFFF
8785 } VkColorSpaceKHR;
8786
8787 typedef enum VkSurfaceTransformFlagBitsKHR {
8788 VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 0x00000001,
8789 VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 0x00000002,
8790 VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 0x00000004,
8791 VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 0x00000008,
8792 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 0x00000010,
8793 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 0x00000020,
8794 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 0x00000040,
8795 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 0x00000080,
8796 VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 0x00000100,
8797 VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8798 } VkSurfaceTransformFlagBitsKHR;
8799
8800 typedef enum VkCompositeAlphaFlagBitsKHR {
8801 VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
8802 VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 0x00000002,
8803 VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 0x00000004,
8804 VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 0x00000008,
8805 VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8806 } VkCompositeAlphaFlagBitsKHR;
8807 typedef VkFlags VkCompositeAlphaFlagsKHR;
8808 typedef VkFlags VkSurfaceTransformFlagsKHR;
8809 typedef struct VkSurfaceCapabilitiesKHR {
8810 uint32_t minImageCount;
8811 uint32_t maxImageCount;
8812 VkExtent2D currentExtent;
8813 VkExtent2D minImageExtent;
8814 VkExtent2D maxImageExtent;
8815 uint32_t maxImageArrayLayers;
8816 VkSurfaceTransformFlagsKHR supportedTransforms;
8817 VkSurfaceTransformFlagBitsKHR currentTransform;
8818 VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
8819 VkImageUsageFlags supportedUsageFlags;
8820 } VkSurfaceCapabilitiesKHR;
8821
8822 typedef struct VkSurfaceFormatKHR {
8823 VkFormat format;
8824 VkColorSpaceKHR colorSpace;
8825 } VkSurfaceFormatKHR;
8826
8827 typedef void (VKAPI_PTR *PFN_vkDestroySurfaceKHR)(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator);
8828 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported);
8829 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
8830 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats);
8831 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pPresentModeCount, VkPresentModeKHR* pPresentModes);
8832
8833 #ifndef VK_NO_PROTOTYPES
8834 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
8835 VKAPI_ATTR void VKAPI_CALL vkDestroySurfaceKHR(
8836 VkInstance instance,
8837 VkSurfaceKHR surface,
8838 const VkAllocationCallbacks* pAllocator);
8839 #endif
8840
8841 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
8842 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceSupportKHR(
8843 VkPhysicalDevice physicalDevice,
8844 uint32_t queueFamilyIndex,
8845 VkSurfaceKHR surface,
8846 VkBool32* pSupported);
8847 #endif
8848
8849 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
8850 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilitiesKHR(
8851 VkPhysicalDevice physicalDevice,
8852 VkSurfaceKHR surface,
8853 VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
8854 #endif
8855
8856 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
8857 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormatsKHR(
8858 VkPhysicalDevice physicalDevice,
8859 VkSurfaceKHR surface,
8860 uint32_t* pSurfaceFormatCount,
8861 VkSurfaceFormatKHR* pSurfaceFormats);
8862 #endif
8863
8864 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
8865 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModesKHR(
8866 VkPhysicalDevice physicalDevice,
8867 VkSurfaceKHR surface,
8868 uint32_t* pPresentModeCount,
8869 VkPresentModeKHR* pPresentModes);
8870 #endif
8871 #endif
8872
8873
8874 // VK_KHR_swapchain is a preprocessor guard. Do not pass it to API calls.
8875 #define VK_KHR_swapchain 1
8876 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR)
8877 #define VK_KHR_SWAPCHAIN_SPEC_VERSION 70
8878 #define VK_KHR_SWAPCHAIN_EXTENSION_NAME "VK_KHR_swapchain"
8879
8880 typedef enum VkSwapchainCreateFlagBitsKHR {
8881 VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 0x00000001,
8882 VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR = 0x00000002,
8883 VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR = 0x00000004,
8884 VK_SWAPCHAIN_CREATE_PRESENT_ID_2_BIT_KHR = 0x00000040,
8885 VK_SWAPCHAIN_CREATE_PRESENT_WAIT_2_BIT_KHR = 0x00000080,
8886 VK_SWAPCHAIN_CREATE_DEFERRED_MEMORY_ALLOCATION_BIT_KHR = 0x00000008,
8887 VK_SWAPCHAIN_CREATE_DEFERRED_MEMORY_ALLOCATION_BIT_EXT = VK_SWAPCHAIN_CREATE_DEFERRED_MEMORY_ALLOCATION_BIT_KHR,
8888 VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8889 } VkSwapchainCreateFlagBitsKHR;
8890 typedef VkFlags VkSwapchainCreateFlagsKHR;
8891
8892 typedef enum VkDeviceGroupPresentModeFlagBitsKHR {
8893 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR = 0x00000001,
8894 VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR = 0x00000002,
8895 VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR = 0x00000004,
8896 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR = 0x00000008,
8897 VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8898 } VkDeviceGroupPresentModeFlagBitsKHR;
8899 typedef VkFlags VkDeviceGroupPresentModeFlagsKHR;
8900 typedef struct VkSwapchainCreateInfoKHR {
8901 VkStructureType sType;
8902 const void* pNext;
8903 VkSwapchainCreateFlagsKHR flags;
8904 VkSurfaceKHR surface;
8905 uint32_t minImageCount;
8906 VkFormat imageFormat;
8907 VkColorSpaceKHR imageColorSpace;
8908 VkExtent2D imageExtent;
8909 uint32_t imageArrayLayers;
8910 VkImageUsageFlags imageUsage;
8911 VkSharingMode imageSharingMode;
8912 uint32_t queueFamilyIndexCount;
8913 const uint32_t* pQueueFamilyIndices;
8914 VkSurfaceTransformFlagBitsKHR preTransform;
8915 VkCompositeAlphaFlagBitsKHR compositeAlpha;
8916 VkPresentModeKHR presentMode;
8917 VkBool32 clipped;
8918 VkSwapchainKHR oldSwapchain;
8919 } VkSwapchainCreateInfoKHR;
8920
8921 typedef struct VkPresentInfoKHR {
8922 VkStructureType sType;
8923 const void* pNext;
8924 uint32_t waitSemaphoreCount;
8925 const VkSemaphore* pWaitSemaphores;
8926 uint32_t swapchainCount;
8927 const VkSwapchainKHR* pSwapchains;
8928 const uint32_t* pImageIndices;
8929 VkResult* pResults;
8930 } VkPresentInfoKHR;
8931
8932 typedef struct VkImageSwapchainCreateInfoKHR {
8933 VkStructureType sType;
8934 const void* pNext;
8935 VkSwapchainKHR swapchain;
8936 } VkImageSwapchainCreateInfoKHR;
8937
8938 typedef struct VkBindImageMemorySwapchainInfoKHR {
8939 VkStructureType sType;
8940 const void* pNext;
8941 VkSwapchainKHR swapchain;
8942 uint32_t imageIndex;
8943 } VkBindImageMemorySwapchainInfoKHR;
8944
8945 typedef struct VkAcquireNextImageInfoKHR {
8946 VkStructureType sType;
8947 const void* pNext;
8948 VkSwapchainKHR swapchain;
8949 uint64_t timeout;
8950 VkSemaphore semaphore;
8951 VkFence fence;
8952 uint32_t deviceMask;
8953 } VkAcquireNextImageInfoKHR;
8954
8955 typedef struct VkDeviceGroupPresentCapabilitiesKHR {
8956 VkStructureType sType;
8957 void* pNext;
8958 uint32_t presentMask[VK_MAX_DEVICE_GROUP_SIZE];
8959 VkDeviceGroupPresentModeFlagsKHR modes;
8960 } VkDeviceGroupPresentCapabilitiesKHR;
8961
8962 typedef struct VkDeviceGroupPresentInfoKHR {
8963 VkStructureType sType;
8964 const void* pNext;
8965 uint32_t swapchainCount;
8966 const uint32_t* pDeviceMasks;
8967 VkDeviceGroupPresentModeFlagBitsKHR mode;
8968 } VkDeviceGroupPresentInfoKHR;
8969
8970 typedef struct VkDeviceGroupSwapchainCreateInfoKHR {
8971 VkStructureType sType;
8972 const void* pNext;
8973 VkDeviceGroupPresentModeFlagsKHR modes;
8974 } VkDeviceGroupSwapchainCreateInfoKHR;
8975
8976 typedef VkResult (VKAPI_PTR *PFN_vkCreateSwapchainKHR)(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain);
8977 typedef void (VKAPI_PTR *PFN_vkDestroySwapchainKHR)(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator);
8978 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainImagesKHR)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages);
8979 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImageKHR)(VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex);
8980 typedef VkResult (VKAPI_PTR *PFN_vkQueuePresentKHR)(VkQueue queue, const VkPresentInfoKHR* pPresentInfo);
8981 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupPresentCapabilitiesKHR)(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
8982 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupSurfacePresentModesKHR)(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes);
8983 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDevicePresentRectanglesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pRectCount, VkRect2D* pRects);
8984 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImage2KHR)(VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, uint32_t* pImageIndex);
8985
8986 #ifndef VK_NO_PROTOTYPES
8987 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
8988 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSwapchainKHR(
8989 VkDevice device,
8990 const VkSwapchainCreateInfoKHR* pCreateInfo,
8991 const VkAllocationCallbacks* pAllocator,
8992 VkSwapchainKHR* pSwapchain);
8993 #endif
8994
8995 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
8996 VKAPI_ATTR void VKAPI_CALL vkDestroySwapchainKHR(
8997 VkDevice device,
8998 VkSwapchainKHR swapchain,
8999 const VkAllocationCallbacks* pAllocator);
9000 #endif
9001
9002 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
9003 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainImagesKHR(
9004 VkDevice device,
9005 VkSwapchainKHR swapchain,
9006 uint32_t* pSwapchainImageCount,
9007 VkImage* pSwapchainImages);
9008 #endif
9009
9010 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
9011 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImageKHR(
9012 VkDevice device,
9013 VkSwapchainKHR swapchain,
9014 uint64_t timeout,
9015 VkSemaphore semaphore,
9016 VkFence fence,
9017 uint32_t* pImageIndex);
9018 #endif
9019
9020 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
9021 VKAPI_ATTR VkResult VKAPI_CALL vkQueuePresentKHR(
9022 VkQueue queue,
9023 const VkPresentInfoKHR* pPresentInfo);
9024 #endif
9025
9026 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
9027 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupPresentCapabilitiesKHR(
9028 VkDevice device,
9029 VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
9030 #endif
9031
9032 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
9033 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupSurfacePresentModesKHR(
9034 VkDevice device,
9035 VkSurfaceKHR surface,
9036 VkDeviceGroupPresentModeFlagsKHR* pModes);
9037 #endif
9038
9039 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
9040 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDevicePresentRectanglesKHR(
9041 VkPhysicalDevice physicalDevice,
9042 VkSurfaceKHR surface,
9043 uint32_t* pRectCount,
9044 VkRect2D* pRects);
9045 #endif
9046
9047 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
9048 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImage2KHR(
9049 VkDevice device,
9050 const VkAcquireNextImageInfoKHR* pAcquireInfo,
9051 uint32_t* pImageIndex);
9052 #endif
9053 #endif
9054
9055
9056 // VK_KHR_display is a preprocessor guard. Do not pass it to API calls.
9057 #define VK_KHR_display 1
9058 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR)
9059 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR)
9060 #define VK_KHR_DISPLAY_SPEC_VERSION 23
9061 #define VK_KHR_DISPLAY_EXTENSION_NAME "VK_KHR_display"
9062 typedef VkFlags VkDisplayModeCreateFlagsKHR;
9063
9064 typedef enum VkDisplayPlaneAlphaFlagBitsKHR {
9065 VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
9066 VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR = 0x00000002,
9067 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR = 0x00000004,
9068 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = 0x00000008,
9069 VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
9070 } VkDisplayPlaneAlphaFlagBitsKHR;
9071 typedef VkFlags VkDisplayPlaneAlphaFlagsKHR;
9072 typedef VkFlags VkDisplaySurfaceCreateFlagsKHR;
9073 typedef struct VkDisplayModeParametersKHR {
9074 VkExtent2D visibleRegion;
9075 uint32_t refreshRate;
9076 } VkDisplayModeParametersKHR;
9077
9078 typedef struct VkDisplayModeCreateInfoKHR {
9079 VkStructureType sType;
9080 const void* pNext;
9081 VkDisplayModeCreateFlagsKHR flags;
9082 VkDisplayModeParametersKHR parameters;
9083 } VkDisplayModeCreateInfoKHR;
9084
9085 typedef struct VkDisplayModePropertiesKHR {
9086 VkDisplayModeKHR displayMode;
9087 VkDisplayModeParametersKHR parameters;
9088 } VkDisplayModePropertiesKHR;
9089
9090 typedef struct VkDisplayPlaneCapabilitiesKHR {
9091 VkDisplayPlaneAlphaFlagsKHR supportedAlpha;
9092 VkOffset2D minSrcPosition;
9093 VkOffset2D maxSrcPosition;
9094 VkExtent2D minSrcExtent;
9095 VkExtent2D maxSrcExtent;
9096 VkOffset2D minDstPosition;
9097 VkOffset2D maxDstPosition;
9098 VkExtent2D minDstExtent;
9099 VkExtent2D maxDstExtent;
9100 } VkDisplayPlaneCapabilitiesKHR;
9101
9102 typedef struct VkDisplayPlanePropertiesKHR {
9103 VkDisplayKHR currentDisplay;
9104 uint32_t currentStackIndex;
9105 } VkDisplayPlanePropertiesKHR;
9106
9107 typedef struct VkDisplayPropertiesKHR {
9108 VkDisplayKHR display;
9109 const char* displayName;
9110 VkExtent2D physicalDimensions;
9111 VkExtent2D physicalResolution;
9112 VkSurfaceTransformFlagsKHR supportedTransforms;
9113 VkBool32 planeReorderPossible;
9114 VkBool32 persistentContent;
9115 } VkDisplayPropertiesKHR;
9116
9117 typedef struct VkDisplaySurfaceCreateInfoKHR {
9118 VkStructureType sType;
9119 const void* pNext;
9120 VkDisplaySurfaceCreateFlagsKHR flags;
9121 VkDisplayModeKHR displayMode;
9122 uint32_t planeIndex;
9123 uint32_t planeStackIndex;
9124 VkSurfaceTransformFlagBitsKHR transform;
9125 float globalAlpha;
9126 VkDisplayPlaneAlphaFlagBitsKHR alphaMode;
9127 VkExtent2D imageExtent;
9128 } VkDisplaySurfaceCreateInfoKHR;
9129
9130 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPropertiesKHR* pProperties);
9131 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties);
9132 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneSupportedDisplaysKHR)(VkPhysicalDevice physicalDevice, uint32_t planeIndex, uint32_t* pDisplayCount, VkDisplayKHR* pDisplays);
9133 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModePropertiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModePropertiesKHR* pProperties);
9134 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayModeKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode);
9135 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, uint32_t planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities);
9136 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayPlaneSurfaceKHR)(VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
9137
9138 #ifndef VK_NO_PROTOTYPES
9139 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
9140 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPropertiesKHR(
9141 VkPhysicalDevice physicalDevice,
9142 uint32_t* pPropertyCount,
9143 VkDisplayPropertiesKHR* pProperties);
9144 #endif
9145
9146 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
9147 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlanePropertiesKHR(
9148 VkPhysicalDevice physicalDevice,
9149 uint32_t* pPropertyCount,
9150 VkDisplayPlanePropertiesKHR* pProperties);
9151 #endif
9152
9153 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
9154 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneSupportedDisplaysKHR(
9155 VkPhysicalDevice physicalDevice,
9156 uint32_t planeIndex,
9157 uint32_t* pDisplayCount,
9158 VkDisplayKHR* pDisplays);
9159 #endif
9160
9161 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
9162 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModePropertiesKHR(
9163 VkPhysicalDevice physicalDevice,
9164 VkDisplayKHR display,
9165 uint32_t* pPropertyCount,
9166 VkDisplayModePropertiesKHR* pProperties);
9167 #endif
9168
9169 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
9170 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayModeKHR(
9171 VkPhysicalDevice physicalDevice,
9172 VkDisplayKHR display,
9173 const VkDisplayModeCreateInfoKHR* pCreateInfo,
9174 const VkAllocationCallbacks* pAllocator,
9175 VkDisplayModeKHR* pMode);
9176 #endif
9177
9178 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
9179 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilitiesKHR(
9180 VkPhysicalDevice physicalDevice,
9181 VkDisplayModeKHR mode,
9182 uint32_t planeIndex,
9183 VkDisplayPlaneCapabilitiesKHR* pCapabilities);
9184 #endif
9185
9186 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
9187 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayPlaneSurfaceKHR(
9188 VkInstance instance,
9189 const VkDisplaySurfaceCreateInfoKHR* pCreateInfo,
9190 const VkAllocationCallbacks* pAllocator,
9191 VkSurfaceKHR* pSurface);
9192 #endif
9193 #endif
9194
9195
9196 // VK_KHR_display_swapchain is a preprocessor guard. Do not pass it to API calls.
9197 #define VK_KHR_display_swapchain 1
9198 #define VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION 10
9199 #define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME "VK_KHR_display_swapchain"
9200 typedef struct VkDisplayPresentInfoKHR {
9201 VkStructureType sType;
9202 const void* pNext;
9203 VkRect2D srcRect;
9204 VkRect2D dstRect;
9205 VkBool32 persistent;
9206 } VkDisplayPresentInfoKHR;
9207
9208 typedef VkResult (VKAPI_PTR *PFN_vkCreateSharedSwapchainsKHR)(VkDevice device, uint32_t swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains);
9209
9210 #ifndef VK_NO_PROTOTYPES
9211 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
9212 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSharedSwapchainsKHR(
9213 VkDevice device,
9214 uint32_t swapchainCount,
9215 const VkSwapchainCreateInfoKHR* pCreateInfos,
9216 const VkAllocationCallbacks* pAllocator,
9217 VkSwapchainKHR* pSwapchains);
9218 #endif
9219 #endif
9220
9221
9222 // VK_KHR_sampler_mirror_clamp_to_edge is a preprocessor guard. Do not pass it to API calls.
9223 #define VK_KHR_sampler_mirror_clamp_to_edge 1
9224 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION 3
9225 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME "VK_KHR_sampler_mirror_clamp_to_edge"
9226
9227
9228 // VK_KHR_video_queue is a preprocessor guard. Do not pass it to API calls.
9229 #define VK_KHR_video_queue 1
9230 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkVideoSessionKHR)
9231 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkVideoSessionParametersKHR)
9232 #define VK_KHR_VIDEO_QUEUE_SPEC_VERSION 8
9233 #define VK_KHR_VIDEO_QUEUE_EXTENSION_NAME "VK_KHR_video_queue"
9234
9235 typedef enum VkQueryResultStatusKHR {
9236 VK_QUERY_RESULT_STATUS_ERROR_KHR = -1,
9237 VK_QUERY_RESULT_STATUS_NOT_READY_KHR = 0,
9238 VK_QUERY_RESULT_STATUS_COMPLETE_KHR = 1,
9239 VK_QUERY_RESULT_STATUS_INSUFFICIENT_BITSTREAM_BUFFER_RANGE_KHR = -1000299000,
9240 VK_QUERY_RESULT_STATUS_MAX_ENUM_KHR = 0x7FFFFFFF
9241 } VkQueryResultStatusKHR;
9242
9243 typedef enum VkVideoCodecOperationFlagBitsKHR {
9244 VK_VIDEO_CODEC_OPERATION_NONE_KHR = 0,
9245 VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR = 0x00010000,
9246 VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR = 0x00020000,
9247 VK_VIDEO_CODEC_OPERATION_DECODE_H264_BIT_KHR = 0x00000001,
9248 VK_VIDEO_CODEC_OPERATION_DECODE_H265_BIT_KHR = 0x00000002,
9249 VK_VIDEO_CODEC_OPERATION_DECODE_AV1_BIT_KHR = 0x00000004,
9250 VK_VIDEO_CODEC_OPERATION_ENCODE_AV1_BIT_KHR = 0x00040000,
9251 VK_VIDEO_CODEC_OPERATION_DECODE_VP9_BIT_KHR = 0x00000008,
9252 VK_VIDEO_CODEC_OPERATION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
9253 } VkVideoCodecOperationFlagBitsKHR;
9254 typedef VkFlags VkVideoCodecOperationFlagsKHR;
9255
9256 typedef enum VkVideoChromaSubsamplingFlagBitsKHR {
9257 VK_VIDEO_CHROMA_SUBSAMPLING_INVALID_KHR = 0,
9258 VK_VIDEO_CHROMA_SUBSAMPLING_MONOCHROME_BIT_KHR = 0x00000001,
9259 VK_VIDEO_CHROMA_SUBSAMPLING_420_BIT_KHR = 0x00000002,
9260 VK_VIDEO_CHROMA_SUBSAMPLING_422_BIT_KHR = 0x00000004,
9261 VK_VIDEO_CHROMA_SUBSAMPLING_444_BIT_KHR = 0x00000008,
9262 VK_VIDEO_CHROMA_SUBSAMPLING_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
9263 } VkVideoChromaSubsamplingFlagBitsKHR;
9264 typedef VkFlags VkVideoChromaSubsamplingFlagsKHR;
9265
9266 typedef enum VkVideoComponentBitDepthFlagBitsKHR {
9267 VK_VIDEO_COMPONENT_BIT_DEPTH_INVALID_KHR = 0,
9268 VK_VIDEO_COMPONENT_BIT_DEPTH_8_BIT_KHR = 0x00000001,
9269 VK_VIDEO_COMPONENT_BIT_DEPTH_10_BIT_KHR = 0x00000004,
9270 VK_VIDEO_COMPONENT_BIT_DEPTH_12_BIT_KHR = 0x00000010,
9271 VK_VIDEO_COMPONENT_BIT_DEPTH_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
9272 } VkVideoComponentBitDepthFlagBitsKHR;
9273 typedef VkFlags VkVideoComponentBitDepthFlagsKHR;
9274
9275 typedef enum VkVideoCapabilityFlagBitsKHR {
9276 VK_VIDEO_CAPABILITY_PROTECTED_CONTENT_BIT_KHR = 0x00000001,
9277 VK_VIDEO_CAPABILITY_SEPARATE_REFERENCE_IMAGES_BIT_KHR = 0x00000002,
9278 VK_VIDEO_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
9279 } VkVideoCapabilityFlagBitsKHR;
9280 typedef VkFlags VkVideoCapabilityFlagsKHR;
9281
9282 typedef enum VkVideoSessionCreateFlagBitsKHR {
9283 VK_VIDEO_SESSION_CREATE_PROTECTED_CONTENT_BIT_KHR = 0x00000001,
9284 VK_VIDEO_SESSION_CREATE_ALLOW_ENCODE_PARAMETER_OPTIMIZATIONS_BIT_KHR = 0x00000002,
9285 VK_VIDEO_SESSION_CREATE_INLINE_QUERIES_BIT_KHR = 0x00000004,
9286 VK_VIDEO_SESSION_CREATE_ALLOW_ENCODE_QUANTIZATION_DELTA_MAP_BIT_KHR = 0x00000008,
9287 VK_VIDEO_SESSION_CREATE_ALLOW_ENCODE_EMPHASIS_MAP_BIT_KHR = 0x00000010,
9288 VK_VIDEO_SESSION_CREATE_INLINE_SESSION_PARAMETERS_BIT_KHR = 0x00000020,
9289 VK_VIDEO_SESSION_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
9290 } VkVideoSessionCreateFlagBitsKHR;
9291 typedef VkFlags VkVideoSessionCreateFlagsKHR;
9292
9293 typedef enum VkVideoSessionParametersCreateFlagBitsKHR {
9294 VK_VIDEO_SESSION_PARAMETERS_CREATE_QUANTIZATION_MAP_COMPATIBLE_BIT_KHR = 0x00000001,
9295 VK_VIDEO_SESSION_PARAMETERS_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
9296 } VkVideoSessionParametersCreateFlagBitsKHR;
9297 typedef VkFlags VkVideoSessionParametersCreateFlagsKHR;
9298 typedef VkFlags VkVideoBeginCodingFlagsKHR;
9299 typedef VkFlags VkVideoEndCodingFlagsKHR;
9300
9301 typedef enum VkVideoCodingControlFlagBitsKHR {
9302 VK_VIDEO_CODING_CONTROL_RESET_BIT_KHR = 0x00000001,
9303 VK_VIDEO_CODING_CONTROL_ENCODE_RATE_CONTROL_BIT_KHR = 0x00000002,
9304 VK_VIDEO_CODING_CONTROL_ENCODE_QUALITY_LEVEL_BIT_KHR = 0x00000004,
9305 VK_VIDEO_CODING_CONTROL_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
9306 } VkVideoCodingControlFlagBitsKHR;
9307 typedef VkFlags VkVideoCodingControlFlagsKHR;
9308 typedef struct VkQueueFamilyQueryResultStatusPropertiesKHR {
9309 VkStructureType sType;
9310 void* pNext;
9311 VkBool32 queryResultStatusSupport;
9312 } VkQueueFamilyQueryResultStatusPropertiesKHR;
9313
9314 typedef struct VkQueueFamilyVideoPropertiesKHR {
9315 VkStructureType sType;
9316 void* pNext;
9317 VkVideoCodecOperationFlagsKHR videoCodecOperations;
9318 } VkQueueFamilyVideoPropertiesKHR;
9319
9320 typedef struct VkVideoProfileInfoKHR {
9321 VkStructureType sType;
9322 const void* pNext;
9323 VkVideoCodecOperationFlagBitsKHR videoCodecOperation;
9324 VkVideoChromaSubsamplingFlagsKHR chromaSubsampling;
9325 VkVideoComponentBitDepthFlagsKHR lumaBitDepth;
9326 VkVideoComponentBitDepthFlagsKHR chromaBitDepth;
9327 } VkVideoProfileInfoKHR;
9328
9329 typedef struct VkVideoProfileListInfoKHR {
9330 VkStructureType sType;
9331 const void* pNext;
9332 uint32_t profileCount;
9333 const VkVideoProfileInfoKHR* pProfiles;
9334 } VkVideoProfileListInfoKHR;
9335
9336 typedef struct VkVideoCapabilitiesKHR {
9337 VkStructureType sType;
9338 void* pNext;
9339 VkVideoCapabilityFlagsKHR flags;
9340 VkDeviceSize minBitstreamBufferOffsetAlignment;
9341 VkDeviceSize minBitstreamBufferSizeAlignment;
9342 VkExtent2D pictureAccessGranularity;
9343 VkExtent2D minCodedExtent;
9344 VkExtent2D maxCodedExtent;
9345 uint32_t maxDpbSlots;
9346 uint32_t maxActiveReferencePictures;
9347 VkExtensionProperties stdHeaderVersion;
9348 } VkVideoCapabilitiesKHR;
9349
9350 typedef struct VkPhysicalDeviceVideoFormatInfoKHR {
9351 VkStructureType sType;
9352 const void* pNext;
9353 VkImageUsageFlags imageUsage;
9354 } VkPhysicalDeviceVideoFormatInfoKHR;
9355
9356 typedef struct VkVideoFormatPropertiesKHR {
9357 VkStructureType sType;
9358 void* pNext;
9359 VkFormat format;
9360 VkComponentMapping componentMapping;
9361 VkImageCreateFlags imageCreateFlags;
9362 VkImageType imageType;
9363 VkImageTiling imageTiling;
9364 VkImageUsageFlags imageUsageFlags;
9365 } VkVideoFormatPropertiesKHR;
9366
9367 typedef struct VkVideoPictureResourceInfoKHR {
9368 VkStructureType sType;
9369 const void* pNext;
9370 VkOffset2D codedOffset;
9371 VkExtent2D codedExtent;
9372 uint32_t baseArrayLayer;
9373 VkImageView imageViewBinding;
9374 } VkVideoPictureResourceInfoKHR;
9375
9376 typedef struct VkVideoReferenceSlotInfoKHR {
9377 VkStructureType sType;
9378 const void* pNext;
9379 int32_t slotIndex;
9380 const VkVideoPictureResourceInfoKHR* pPictureResource;
9381 } VkVideoReferenceSlotInfoKHR;
9382
9383 typedef struct VkVideoSessionMemoryRequirementsKHR {
9384 VkStructureType sType;
9385 void* pNext;
9386 uint32_t memoryBindIndex;
9387 VkMemoryRequirements memoryRequirements;
9388 } VkVideoSessionMemoryRequirementsKHR;
9389
9390 typedef struct VkBindVideoSessionMemoryInfoKHR {
9391 VkStructureType sType;
9392 const void* pNext;
9393 uint32_t memoryBindIndex;
9394 VkDeviceMemory memory;
9395 VkDeviceSize memoryOffset;
9396 VkDeviceSize memorySize;
9397 } VkBindVideoSessionMemoryInfoKHR;
9398
9399 typedef struct VkVideoSessionCreateInfoKHR {
9400 VkStructureType sType;
9401 const void* pNext;
9402 uint32_t queueFamilyIndex;
9403 VkVideoSessionCreateFlagsKHR flags;
9404 const VkVideoProfileInfoKHR* pVideoProfile;
9405 VkFormat pictureFormat;
9406 VkExtent2D maxCodedExtent;
9407 VkFormat referencePictureFormat;
9408 uint32_t maxDpbSlots;
9409 uint32_t maxActiveReferencePictures;
9410 const VkExtensionProperties* pStdHeaderVersion;
9411 } VkVideoSessionCreateInfoKHR;
9412
9413 typedef struct VkVideoSessionParametersCreateInfoKHR {
9414 VkStructureType sType;
9415 const void* pNext;
9416 VkVideoSessionParametersCreateFlagsKHR flags;
9417 VkVideoSessionParametersKHR videoSessionParametersTemplate;
9418 VkVideoSessionKHR videoSession;
9419 } VkVideoSessionParametersCreateInfoKHR;
9420
9421 typedef struct VkVideoSessionParametersUpdateInfoKHR {
9422 VkStructureType sType;
9423 const void* pNext;
9424 uint32_t updateSequenceCount;
9425 } VkVideoSessionParametersUpdateInfoKHR;
9426
9427 typedef struct VkVideoBeginCodingInfoKHR {
9428 VkStructureType sType;
9429 const void* pNext;
9430 VkVideoBeginCodingFlagsKHR flags;
9431 VkVideoSessionKHR videoSession;
9432 VkVideoSessionParametersKHR videoSessionParameters;
9433 uint32_t referenceSlotCount;
9434 const VkVideoReferenceSlotInfoKHR* pReferenceSlots;
9435 } VkVideoBeginCodingInfoKHR;
9436
9437 typedef struct VkVideoEndCodingInfoKHR {
9438 VkStructureType sType;
9439 const void* pNext;
9440 VkVideoEndCodingFlagsKHR flags;
9441 } VkVideoEndCodingInfoKHR;
9442
9443 typedef struct VkVideoCodingControlInfoKHR {
9444 VkStructureType sType;
9445 const void* pNext;
9446 VkVideoCodingControlFlagsKHR flags;
9447 } VkVideoCodingControlInfoKHR;
9448
9449 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR)(VkPhysicalDevice physicalDevice, const VkVideoProfileInfoKHR* pVideoProfile, VkVideoCapabilitiesKHR* pCapabilities);
9450 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceVideoFormatInfoKHR* pVideoFormatInfo, uint32_t* pVideoFormatPropertyCount, VkVideoFormatPropertiesKHR* pVideoFormatProperties);
9451 typedef VkResult (VKAPI_PTR *PFN_vkCreateVideoSessionKHR)(VkDevice device, const VkVideoSessionCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkVideoSessionKHR* pVideoSession);
9452 typedef void (VKAPI_PTR *PFN_vkDestroyVideoSessionKHR)(VkDevice device, VkVideoSessionKHR videoSession, const VkAllocationCallbacks* pAllocator);
9453 typedef VkResult (VKAPI_PTR *PFN_vkGetVideoSessionMemoryRequirementsKHR)(VkDevice device, VkVideoSessionKHR videoSession, uint32_t* pMemoryRequirementsCount, VkVideoSessionMemoryRequirementsKHR* pMemoryRequirements);
9454 typedef VkResult (VKAPI_PTR *PFN_vkBindVideoSessionMemoryKHR)(VkDevice device, VkVideoSessionKHR videoSession, uint32_t bindSessionMemoryInfoCount, const VkBindVideoSessionMemoryInfoKHR* pBindSessionMemoryInfos);
9455 typedef VkResult (VKAPI_PTR *PFN_vkCreateVideoSessionParametersKHR)(VkDevice device, const VkVideoSessionParametersCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkVideoSessionParametersKHR* pVideoSessionParameters);
9456 typedef VkResult (VKAPI_PTR *PFN_vkUpdateVideoSessionParametersKHR)(VkDevice device, VkVideoSessionParametersKHR videoSessionParameters, const VkVideoSessionParametersUpdateInfoKHR* pUpdateInfo);
9457 typedef void (VKAPI_PTR *PFN_vkDestroyVideoSessionParametersKHR)(VkDevice device, VkVideoSessionParametersKHR videoSessionParameters, const VkAllocationCallbacks* pAllocator);
9458 typedef void (VKAPI_PTR *PFN_vkCmdBeginVideoCodingKHR)(VkCommandBuffer commandBuffer, const VkVideoBeginCodingInfoKHR* pBeginInfo);
9459 typedef void (VKAPI_PTR *PFN_vkCmdEndVideoCodingKHR)(VkCommandBuffer commandBuffer, const VkVideoEndCodingInfoKHR* pEndCodingInfo);
9460 typedef void (VKAPI_PTR *PFN_vkCmdControlVideoCodingKHR)(VkCommandBuffer commandBuffer, const VkVideoCodingControlInfoKHR* pCodingControlInfo);
9461
9462 #ifndef VK_NO_PROTOTYPES
9463 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
9464 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceVideoCapabilitiesKHR(
9465 VkPhysicalDevice physicalDevice,
9466 const VkVideoProfileInfoKHR* pVideoProfile,
9467 VkVideoCapabilitiesKHR* pCapabilities);
9468 #endif
9469
9470 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
9471 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceVideoFormatPropertiesKHR(
9472 VkPhysicalDevice physicalDevice,
9473 const VkPhysicalDeviceVideoFormatInfoKHR* pVideoFormatInfo,
9474 uint32_t* pVideoFormatPropertyCount,
9475 VkVideoFormatPropertiesKHR* pVideoFormatProperties);
9476 #endif
9477
9478 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
9479 VKAPI_ATTR VkResult VKAPI_CALL vkCreateVideoSessionKHR(
9480 VkDevice device,
9481 const VkVideoSessionCreateInfoKHR* pCreateInfo,
9482 const VkAllocationCallbacks* pAllocator,
9483 VkVideoSessionKHR* pVideoSession);
9484 #endif
9485
9486 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
9487 VKAPI_ATTR void VKAPI_CALL vkDestroyVideoSessionKHR(
9488 VkDevice device,
9489 VkVideoSessionKHR videoSession,
9490 const VkAllocationCallbacks* pAllocator);
9491 #endif
9492
9493 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
9494 VKAPI_ATTR VkResult VKAPI_CALL vkGetVideoSessionMemoryRequirementsKHR(
9495 VkDevice device,
9496 VkVideoSessionKHR videoSession,
9497 uint32_t* pMemoryRequirementsCount,
9498 VkVideoSessionMemoryRequirementsKHR* pMemoryRequirements);
9499 #endif
9500
9501 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
9502 VKAPI_ATTR VkResult VKAPI_CALL vkBindVideoSessionMemoryKHR(
9503 VkDevice device,
9504 VkVideoSessionKHR videoSession,
9505 uint32_t bindSessionMemoryInfoCount,
9506 const VkBindVideoSessionMemoryInfoKHR* pBindSessionMemoryInfos);
9507 #endif
9508
9509 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
9510 VKAPI_ATTR VkResult VKAPI_CALL vkCreateVideoSessionParametersKHR(
9511 VkDevice device,
9512 const VkVideoSessionParametersCreateInfoKHR* pCreateInfo,
9513 const VkAllocationCallbacks* pAllocator,
9514 VkVideoSessionParametersKHR* pVideoSessionParameters);
9515 #endif
9516
9517 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
9518 VKAPI_ATTR VkResult VKAPI_CALL vkUpdateVideoSessionParametersKHR(
9519 VkDevice device,
9520 VkVideoSessionParametersKHR videoSessionParameters,
9521 const VkVideoSessionParametersUpdateInfoKHR* pUpdateInfo);
9522 #endif
9523
9524 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
9525 VKAPI_ATTR void VKAPI_CALL vkDestroyVideoSessionParametersKHR(
9526 VkDevice device,
9527 VkVideoSessionParametersKHR videoSessionParameters,
9528 const VkAllocationCallbacks* pAllocator);
9529 #endif
9530
9531 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
9532 VKAPI_ATTR void VKAPI_CALL vkCmdBeginVideoCodingKHR(
9533 VkCommandBuffer commandBuffer,
9534 const VkVideoBeginCodingInfoKHR* pBeginInfo);
9535 #endif
9536
9537 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
9538 VKAPI_ATTR void VKAPI_CALL vkCmdEndVideoCodingKHR(
9539 VkCommandBuffer commandBuffer,
9540 const VkVideoEndCodingInfoKHR* pEndCodingInfo);
9541 #endif
9542
9543 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
9544 VKAPI_ATTR void VKAPI_CALL vkCmdControlVideoCodingKHR(
9545 VkCommandBuffer commandBuffer,
9546 const VkVideoCodingControlInfoKHR* pCodingControlInfo);
9547 #endif
9548 #endif
9549
9550
9551 // VK_KHR_video_decode_queue is a preprocessor guard. Do not pass it to API calls.
9552 #define VK_KHR_video_decode_queue 1
9553 #define VK_KHR_VIDEO_DECODE_QUEUE_SPEC_VERSION 8
9554 #define VK_KHR_VIDEO_DECODE_QUEUE_EXTENSION_NAME "VK_KHR_video_decode_queue"
9555
9556 typedef enum VkVideoDecodeCapabilityFlagBitsKHR {
9557 VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_COINCIDE_BIT_KHR = 0x00000001,
9558 VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_DISTINCT_BIT_KHR = 0x00000002,
9559 VK_VIDEO_DECODE_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
9560 } VkVideoDecodeCapabilityFlagBitsKHR;
9561 typedef VkFlags VkVideoDecodeCapabilityFlagsKHR;
9562
9563 typedef enum VkVideoDecodeUsageFlagBitsKHR {
9564 VK_VIDEO_DECODE_USAGE_DEFAULT_KHR = 0,
9565 VK_VIDEO_DECODE_USAGE_TRANSCODING_BIT_KHR = 0x00000001,
9566 VK_VIDEO_DECODE_USAGE_OFFLINE_BIT_KHR = 0x00000002,
9567 VK_VIDEO_DECODE_USAGE_STREAMING_BIT_KHR = 0x00000004,
9568 VK_VIDEO_DECODE_USAGE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
9569 } VkVideoDecodeUsageFlagBitsKHR;
9570 typedef VkFlags VkVideoDecodeUsageFlagsKHR;
9571 typedef VkFlags VkVideoDecodeFlagsKHR;
9572 typedef struct VkVideoDecodeCapabilitiesKHR {
9573 VkStructureType sType;
9574 void* pNext;
9575 VkVideoDecodeCapabilityFlagsKHR flags;
9576 } VkVideoDecodeCapabilitiesKHR;
9577
9578 typedef struct VkVideoDecodeUsageInfoKHR {
9579 VkStructureType sType;
9580 const void* pNext;
9581 VkVideoDecodeUsageFlagsKHR videoUsageHints;
9582 } VkVideoDecodeUsageInfoKHR;
9583
9584 typedef struct VkVideoDecodeInfoKHR {
9585 VkStructureType sType;
9586 const void* pNext;
9587 VkVideoDecodeFlagsKHR flags;
9588 VkBuffer srcBuffer;
9589 VkDeviceSize srcBufferOffset;
9590 VkDeviceSize srcBufferRange;
9591 VkVideoPictureResourceInfoKHR dstPictureResource;
9592 const VkVideoReferenceSlotInfoKHR* pSetupReferenceSlot;
9593 uint32_t referenceSlotCount;
9594 const VkVideoReferenceSlotInfoKHR* pReferenceSlots;
9595 } VkVideoDecodeInfoKHR;
9596
9597 typedef void (VKAPI_PTR *PFN_vkCmdDecodeVideoKHR)(VkCommandBuffer commandBuffer, const VkVideoDecodeInfoKHR* pDecodeInfo);
9598
9599 #ifndef VK_NO_PROTOTYPES
9600 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
9601 VKAPI_ATTR void VKAPI_CALL vkCmdDecodeVideoKHR(
9602 VkCommandBuffer commandBuffer,
9603 const VkVideoDecodeInfoKHR* pDecodeInfo);
9604 #endif
9605 #endif
9606
9607
9608 // VK_KHR_video_encode_h264 is a preprocessor guard. Do not pass it to API calls.
9609 #define VK_KHR_video_encode_h264 1
9610 #include "vk_video/vulkan_video_codec_h264std.h"
9611 #include "vk_video/vulkan_video_codec_h264std_encode.h"
9612 #define VK_KHR_VIDEO_ENCODE_H264_SPEC_VERSION 14
9613 #define VK_KHR_VIDEO_ENCODE_H264_EXTENSION_NAME "VK_KHR_video_encode_h264"
9614
9615 typedef enum VkVideoEncodeH264CapabilityFlagBitsKHR {
9616 VK_VIDEO_ENCODE_H264_CAPABILITY_HRD_COMPLIANCE_BIT_KHR = 0x00000001,
9617 VK_VIDEO_ENCODE_H264_CAPABILITY_PREDICTION_WEIGHT_TABLE_GENERATED_BIT_KHR = 0x00000002,
9618 VK_VIDEO_ENCODE_H264_CAPABILITY_ROW_UNALIGNED_SLICE_BIT_KHR = 0x00000004,
9619 VK_VIDEO_ENCODE_H264_CAPABILITY_DIFFERENT_SLICE_TYPE_BIT_KHR = 0x00000008,
9620 VK_VIDEO_ENCODE_H264_CAPABILITY_B_FRAME_IN_L0_LIST_BIT_KHR = 0x00000010,
9621 VK_VIDEO_ENCODE_H264_CAPABILITY_B_FRAME_IN_L1_LIST_BIT_KHR = 0x00000020,
9622 VK_VIDEO_ENCODE_H264_CAPABILITY_PER_PICTURE_TYPE_MIN_MAX_QP_BIT_KHR = 0x00000040,
9623 VK_VIDEO_ENCODE_H264_CAPABILITY_PER_SLICE_CONSTANT_QP_BIT_KHR = 0x00000080,
9624 VK_VIDEO_ENCODE_H264_CAPABILITY_GENERATE_PREFIX_NALU_BIT_KHR = 0x00000100,
9625 VK_VIDEO_ENCODE_H264_CAPABILITY_B_PICTURE_INTRA_REFRESH_BIT_KHR = 0x00000400,
9626 VK_VIDEO_ENCODE_H264_CAPABILITY_MB_QP_DIFF_WRAPAROUND_BIT_KHR = 0x00000200,
9627 VK_VIDEO_ENCODE_H264_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
9628 } VkVideoEncodeH264CapabilityFlagBitsKHR;
9629 typedef VkFlags VkVideoEncodeH264CapabilityFlagsKHR;
9630
9631 typedef enum VkVideoEncodeH264StdFlagBitsKHR {
9632 VK_VIDEO_ENCODE_H264_STD_SEPARATE_COLOR_PLANE_FLAG_SET_BIT_KHR = 0x00000001,
9633 VK_VIDEO_ENCODE_H264_STD_QPPRIME_Y_ZERO_TRANSFORM_BYPASS_FLAG_SET_BIT_KHR = 0x00000002,
9634 VK_VIDEO_ENCODE_H264_STD_SCALING_MATRIX_PRESENT_FLAG_SET_BIT_KHR = 0x00000004,
9635 VK_VIDEO_ENCODE_H264_STD_CHROMA_QP_INDEX_OFFSET_BIT_KHR = 0x00000008,
9636 VK_VIDEO_ENCODE_H264_STD_SECOND_CHROMA_QP_INDEX_OFFSET_BIT_KHR = 0x00000010,
9637 VK_VIDEO_ENCODE_H264_STD_PIC_INIT_QP_MINUS26_BIT_KHR = 0x00000020,
9638 VK_VIDEO_ENCODE_H264_STD_WEIGHTED_PRED_FLAG_SET_BIT_KHR = 0x00000040,
9639 VK_VIDEO_ENCODE_H264_STD_WEIGHTED_BIPRED_IDC_EXPLICIT_BIT_KHR = 0x00000080,
9640 VK_VIDEO_ENCODE_H264_STD_WEIGHTED_BIPRED_IDC_IMPLICIT_BIT_KHR = 0x00000100,
9641 VK_VIDEO_ENCODE_H264_STD_TRANSFORM_8X8_MODE_FLAG_SET_BIT_KHR = 0x00000200,
9642 VK_VIDEO_ENCODE_H264_STD_DIRECT_SPATIAL_MV_PRED_FLAG_UNSET_BIT_KHR = 0x00000400,
9643 VK_VIDEO_ENCODE_H264_STD_ENTROPY_CODING_MODE_FLAG_UNSET_BIT_KHR = 0x00000800,
9644 VK_VIDEO_ENCODE_H264_STD_ENTROPY_CODING_MODE_FLAG_SET_BIT_KHR = 0x00001000,
9645 VK_VIDEO_ENCODE_H264_STD_DIRECT_8X8_INFERENCE_FLAG_UNSET_BIT_KHR = 0x00002000,
9646 VK_VIDEO_ENCODE_H264_STD_CONSTRAINED_INTRA_PRED_FLAG_SET_BIT_KHR = 0x00004000,
9647 VK_VIDEO_ENCODE_H264_STD_DEBLOCKING_FILTER_DISABLED_BIT_KHR = 0x00008000,
9648 VK_VIDEO_ENCODE_H264_STD_DEBLOCKING_FILTER_ENABLED_BIT_KHR = 0x00010000,
9649 VK_VIDEO_ENCODE_H264_STD_DEBLOCKING_FILTER_PARTIAL_BIT_KHR = 0x00020000,
9650 VK_VIDEO_ENCODE_H264_STD_SLICE_QP_DELTA_BIT_KHR = 0x00080000,
9651 VK_VIDEO_ENCODE_H264_STD_DIFFERENT_SLICE_QP_DELTA_BIT_KHR = 0x00100000,
9652 VK_VIDEO_ENCODE_H264_STD_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
9653 } VkVideoEncodeH264StdFlagBitsKHR;
9654 typedef VkFlags VkVideoEncodeH264StdFlagsKHR;
9655
9656 typedef enum VkVideoEncodeH264RateControlFlagBitsKHR {
9657 VK_VIDEO_ENCODE_H264_RATE_CONTROL_ATTEMPT_HRD_COMPLIANCE_BIT_KHR = 0x00000001,
9658 VK_VIDEO_ENCODE_H264_RATE_CONTROL_REGULAR_GOP_BIT_KHR = 0x00000002,
9659 VK_VIDEO_ENCODE_H264_RATE_CONTROL_REFERENCE_PATTERN_FLAT_BIT_KHR = 0x00000004,
9660 VK_VIDEO_ENCODE_H264_RATE_CONTROL_REFERENCE_PATTERN_DYADIC_BIT_KHR = 0x00000008,
9661 VK_VIDEO_ENCODE_H264_RATE_CONTROL_TEMPORAL_LAYER_PATTERN_DYADIC_BIT_KHR = 0x00000010,
9662 VK_VIDEO_ENCODE_H264_RATE_CONTROL_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
9663 } VkVideoEncodeH264RateControlFlagBitsKHR;
9664 typedef VkFlags VkVideoEncodeH264RateControlFlagsKHR;
9665 typedef struct VkVideoEncodeH264CapabilitiesKHR {
9666 VkStructureType sType;
9667 void* pNext;
9668 VkVideoEncodeH264CapabilityFlagsKHR flags;
9669 StdVideoH264LevelIdc maxLevelIdc;
9670 uint32_t maxSliceCount;
9671 uint32_t maxPPictureL0ReferenceCount;
9672 uint32_t maxBPictureL0ReferenceCount;
9673 uint32_t maxL1ReferenceCount;
9674 uint32_t maxTemporalLayerCount;
9675 VkBool32 expectDyadicTemporalLayerPattern;
9676 int32_t minQp;
9677 int32_t maxQp;
9678 VkBool32 prefersGopRemainingFrames;
9679 VkBool32 requiresGopRemainingFrames;
9680 VkVideoEncodeH264StdFlagsKHR stdSyntaxFlags;
9681 } VkVideoEncodeH264CapabilitiesKHR;
9682
9683 typedef struct VkVideoEncodeH264QpKHR {
9684 int32_t qpI;
9685 int32_t qpP;
9686 int32_t qpB;
9687 } VkVideoEncodeH264QpKHR;
9688
9689 typedef struct VkVideoEncodeH264QualityLevelPropertiesKHR {
9690 VkStructureType sType;
9691 void* pNext;
9692 VkVideoEncodeH264RateControlFlagsKHR preferredRateControlFlags;
9693 uint32_t preferredGopFrameCount;
9694 uint32_t preferredIdrPeriod;
9695 uint32_t preferredConsecutiveBFrameCount;
9696 uint32_t preferredTemporalLayerCount;
9697 VkVideoEncodeH264QpKHR preferredConstantQp;
9698 uint32_t preferredMaxL0ReferenceCount;
9699 uint32_t preferredMaxL1ReferenceCount;
9700 VkBool32 preferredStdEntropyCodingModeFlag;
9701 } VkVideoEncodeH264QualityLevelPropertiesKHR;
9702
9703 typedef struct VkVideoEncodeH264SessionCreateInfoKHR {
9704 VkStructureType sType;
9705 const void* pNext;
9706 VkBool32 useMaxLevelIdc;
9707 StdVideoH264LevelIdc maxLevelIdc;
9708 } VkVideoEncodeH264SessionCreateInfoKHR;
9709
9710 typedef struct VkVideoEncodeH264SessionParametersAddInfoKHR {
9711 VkStructureType sType;
9712 const void* pNext;
9713 uint32_t stdSPSCount;
9714 const StdVideoH264SequenceParameterSet* pStdSPSs;
9715 uint32_t stdPPSCount;
9716 const StdVideoH264PictureParameterSet* pStdPPSs;
9717 } VkVideoEncodeH264SessionParametersAddInfoKHR;
9718
9719 typedef struct VkVideoEncodeH264SessionParametersCreateInfoKHR {
9720 VkStructureType sType;
9721 const void* pNext;
9722 uint32_t maxStdSPSCount;
9723 uint32_t maxStdPPSCount;
9724 const VkVideoEncodeH264SessionParametersAddInfoKHR* pParametersAddInfo;
9725 } VkVideoEncodeH264SessionParametersCreateInfoKHR;
9726
9727 typedef struct VkVideoEncodeH264SessionParametersGetInfoKHR {
9728 VkStructureType sType;
9729 const void* pNext;
9730 VkBool32 writeStdSPS;
9731 VkBool32 writeStdPPS;
9732 uint32_t stdSPSId;
9733 uint32_t stdPPSId;
9734 } VkVideoEncodeH264SessionParametersGetInfoKHR;
9735
9736 typedef struct VkVideoEncodeH264SessionParametersFeedbackInfoKHR {
9737 VkStructureType sType;
9738 void* pNext;
9739 VkBool32 hasStdSPSOverrides;
9740 VkBool32 hasStdPPSOverrides;
9741 } VkVideoEncodeH264SessionParametersFeedbackInfoKHR;
9742
9743 typedef struct VkVideoEncodeH264NaluSliceInfoKHR {
9744 VkStructureType sType;
9745 const void* pNext;
9746 int32_t constantQp;
9747 const StdVideoEncodeH264SliceHeader* pStdSliceHeader;
9748 } VkVideoEncodeH264NaluSliceInfoKHR;
9749
9750 typedef struct VkVideoEncodeH264PictureInfoKHR {
9751 VkStructureType sType;
9752 const void* pNext;
9753 uint32_t naluSliceEntryCount;
9754 const VkVideoEncodeH264NaluSliceInfoKHR* pNaluSliceEntries;
9755 const StdVideoEncodeH264PictureInfo* pStdPictureInfo;
9756 VkBool32 generatePrefixNalu;
9757 } VkVideoEncodeH264PictureInfoKHR;
9758
9759 typedef struct VkVideoEncodeH264DpbSlotInfoKHR {
9760 VkStructureType sType;
9761 const void* pNext;
9762 const StdVideoEncodeH264ReferenceInfo* pStdReferenceInfo;
9763 } VkVideoEncodeH264DpbSlotInfoKHR;
9764
9765 typedef struct VkVideoEncodeH264ProfileInfoKHR {
9766 VkStructureType sType;
9767 const void* pNext;
9768 StdVideoH264ProfileIdc stdProfileIdc;
9769 } VkVideoEncodeH264ProfileInfoKHR;
9770
9771 typedef struct VkVideoEncodeH264RateControlInfoKHR {
9772 VkStructureType sType;
9773 const void* pNext;
9774 VkVideoEncodeH264RateControlFlagsKHR flags;
9775 uint32_t gopFrameCount;
9776 uint32_t idrPeriod;
9777 uint32_t consecutiveBFrameCount;
9778 uint32_t temporalLayerCount;
9779 } VkVideoEncodeH264RateControlInfoKHR;
9780
9781 typedef struct VkVideoEncodeH264FrameSizeKHR {
9782 uint32_t frameISize;
9783 uint32_t framePSize;
9784 uint32_t frameBSize;
9785 } VkVideoEncodeH264FrameSizeKHR;
9786
9787 typedef struct VkVideoEncodeH264RateControlLayerInfoKHR {
9788 VkStructureType sType;
9789 const void* pNext;
9790 VkBool32 useMinQp;
9791 VkVideoEncodeH264QpKHR minQp;
9792 VkBool32 useMaxQp;
9793 VkVideoEncodeH264QpKHR maxQp;
9794 VkBool32 useMaxFrameSize;
9795 VkVideoEncodeH264FrameSizeKHR maxFrameSize;
9796 } VkVideoEncodeH264RateControlLayerInfoKHR;
9797
9798 typedef struct VkVideoEncodeH264GopRemainingFrameInfoKHR {
9799 VkStructureType sType;
9800 const void* pNext;
9801 VkBool32 useGopRemainingFrames;
9802 uint32_t gopRemainingI;
9803 uint32_t gopRemainingP;
9804 uint32_t gopRemainingB;
9805 } VkVideoEncodeH264GopRemainingFrameInfoKHR;
9806
9807
9808
9809 // VK_KHR_video_encode_h265 is a preprocessor guard. Do not pass it to API calls.
9810 #define VK_KHR_video_encode_h265 1
9811 #include "vk_video/vulkan_video_codec_h265std.h"
9812 #include "vk_video/vulkan_video_codec_h265std_encode.h"
9813 #define VK_KHR_VIDEO_ENCODE_H265_SPEC_VERSION 14
9814 #define VK_KHR_VIDEO_ENCODE_H265_EXTENSION_NAME "VK_KHR_video_encode_h265"
9815
9816 typedef enum VkVideoEncodeH265CapabilityFlagBitsKHR {
9817 VK_VIDEO_ENCODE_H265_CAPABILITY_HRD_COMPLIANCE_BIT_KHR = 0x00000001,
9818 VK_VIDEO_ENCODE_H265_CAPABILITY_PREDICTION_WEIGHT_TABLE_GENERATED_BIT_KHR = 0x00000002,
9819 VK_VIDEO_ENCODE_H265_CAPABILITY_ROW_UNALIGNED_SLICE_SEGMENT_BIT_KHR = 0x00000004,
9820 VK_VIDEO_ENCODE_H265_CAPABILITY_DIFFERENT_SLICE_SEGMENT_TYPE_BIT_KHR = 0x00000008,
9821 VK_VIDEO_ENCODE_H265_CAPABILITY_B_FRAME_IN_L0_LIST_BIT_KHR = 0x00000010,
9822 VK_VIDEO_ENCODE_H265_CAPABILITY_B_FRAME_IN_L1_LIST_BIT_KHR = 0x00000020,
9823 VK_VIDEO_ENCODE_H265_CAPABILITY_PER_PICTURE_TYPE_MIN_MAX_QP_BIT_KHR = 0x00000040,
9824 VK_VIDEO_ENCODE_H265_CAPABILITY_PER_SLICE_SEGMENT_CONSTANT_QP_BIT_KHR = 0x00000080,
9825 VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_TILES_PER_SLICE_SEGMENT_BIT_KHR = 0x00000100,
9826 VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_SLICE_SEGMENTS_PER_TILE_BIT_KHR = 0x00000200,
9827 VK_VIDEO_ENCODE_H265_CAPABILITY_B_PICTURE_INTRA_REFRESH_BIT_KHR = 0x00000800,
9828 VK_VIDEO_ENCODE_H265_CAPABILITY_CU_QP_DIFF_WRAPAROUND_BIT_KHR = 0x00000400,
9829 VK_VIDEO_ENCODE_H265_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
9830 } VkVideoEncodeH265CapabilityFlagBitsKHR;
9831 typedef VkFlags VkVideoEncodeH265CapabilityFlagsKHR;
9832
9833 typedef enum VkVideoEncodeH265StdFlagBitsKHR {
9834 VK_VIDEO_ENCODE_H265_STD_SEPARATE_COLOR_PLANE_FLAG_SET_BIT_KHR = 0x00000001,
9835 VK_VIDEO_ENCODE_H265_STD_SAMPLE_ADAPTIVE_OFFSET_ENABLED_FLAG_SET_BIT_KHR = 0x00000002,
9836 VK_VIDEO_ENCODE_H265_STD_SCALING_LIST_DATA_PRESENT_FLAG_SET_BIT_KHR = 0x00000004,
9837 VK_VIDEO_ENCODE_H265_STD_PCM_ENABLED_FLAG_SET_BIT_KHR = 0x00000008,
9838 VK_VIDEO_ENCODE_H265_STD_SPS_TEMPORAL_MVP_ENABLED_FLAG_SET_BIT_KHR = 0x00000010,
9839 VK_VIDEO_ENCODE_H265_STD_INIT_QP_MINUS26_BIT_KHR = 0x00000020,
9840 VK_VIDEO_ENCODE_H265_STD_WEIGHTED_PRED_FLAG_SET_BIT_KHR = 0x00000040,
9841 VK_VIDEO_ENCODE_H265_STD_WEIGHTED_BIPRED_FLAG_SET_BIT_KHR = 0x00000080,
9842 VK_VIDEO_ENCODE_H265_STD_LOG2_PARALLEL_MERGE_LEVEL_MINUS2_BIT_KHR = 0x00000100,
9843 VK_VIDEO_ENCODE_H265_STD_SIGN_DATA_HIDING_ENABLED_FLAG_SET_BIT_KHR = 0x00000200,
9844 VK_VIDEO_ENCODE_H265_STD_TRANSFORM_SKIP_ENABLED_FLAG_SET_BIT_KHR = 0x00000400,
9845 VK_VIDEO_ENCODE_H265_STD_TRANSFORM_SKIP_ENABLED_FLAG_UNSET_BIT_KHR = 0x00000800,
9846 VK_VIDEO_ENCODE_H265_STD_PPS_SLICE_CHROMA_QP_OFFSETS_PRESENT_FLAG_SET_BIT_KHR = 0x00001000,
9847 VK_VIDEO_ENCODE_H265_STD_TRANSQUANT_BYPASS_ENABLED_FLAG_SET_BIT_KHR = 0x00002000,
9848 VK_VIDEO_ENCODE_H265_STD_CONSTRAINED_INTRA_PRED_FLAG_SET_BIT_KHR = 0x00004000,
9849 VK_VIDEO_ENCODE_H265_STD_ENTROPY_CODING_SYNC_ENABLED_FLAG_SET_BIT_KHR = 0x00008000,
9850 VK_VIDEO_ENCODE_H265_STD_DEBLOCKING_FILTER_OVERRIDE_ENABLED_FLAG_SET_BIT_KHR = 0x00010000,
9851 VK_VIDEO_ENCODE_H265_STD_DEPENDENT_SLICE_SEGMENTS_ENABLED_FLAG_SET_BIT_KHR = 0x00020000,
9852 VK_VIDEO_ENCODE_H265_STD_DEPENDENT_SLICE_SEGMENT_FLAG_SET_BIT_KHR = 0x00040000,
9853 VK_VIDEO_ENCODE_H265_STD_SLICE_QP_DELTA_BIT_KHR = 0x00080000,
9854 VK_VIDEO_ENCODE_H265_STD_DIFFERENT_SLICE_QP_DELTA_BIT_KHR = 0x00100000,
9855 VK_VIDEO_ENCODE_H265_STD_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
9856 } VkVideoEncodeH265StdFlagBitsKHR;
9857 typedef VkFlags VkVideoEncodeH265StdFlagsKHR;
9858
9859 typedef enum VkVideoEncodeH265CtbSizeFlagBitsKHR {
9860 VK_VIDEO_ENCODE_H265_CTB_SIZE_16_BIT_KHR = 0x00000001,
9861 VK_VIDEO_ENCODE_H265_CTB_SIZE_32_BIT_KHR = 0x00000002,
9862 VK_VIDEO_ENCODE_H265_CTB_SIZE_64_BIT_KHR = 0x00000004,
9863 VK_VIDEO_ENCODE_H265_CTB_SIZE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
9864 } VkVideoEncodeH265CtbSizeFlagBitsKHR;
9865 typedef VkFlags VkVideoEncodeH265CtbSizeFlagsKHR;
9866
9867 typedef enum VkVideoEncodeH265TransformBlockSizeFlagBitsKHR {
9868 VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_4_BIT_KHR = 0x00000001,
9869 VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_8_BIT_KHR = 0x00000002,
9870 VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_16_BIT_KHR = 0x00000004,
9871 VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_32_BIT_KHR = 0x00000008,
9872 VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
9873 } VkVideoEncodeH265TransformBlockSizeFlagBitsKHR;
9874 typedef VkFlags VkVideoEncodeH265TransformBlockSizeFlagsKHR;
9875
9876 typedef enum VkVideoEncodeH265RateControlFlagBitsKHR {
9877 VK_VIDEO_ENCODE_H265_RATE_CONTROL_ATTEMPT_HRD_COMPLIANCE_BIT_KHR = 0x00000001,
9878 VK_VIDEO_ENCODE_H265_RATE_CONTROL_REGULAR_GOP_BIT_KHR = 0x00000002,
9879 VK_VIDEO_ENCODE_H265_RATE_CONTROL_REFERENCE_PATTERN_FLAT_BIT_KHR = 0x00000004,
9880 VK_VIDEO_ENCODE_H265_RATE_CONTROL_REFERENCE_PATTERN_DYADIC_BIT_KHR = 0x00000008,
9881 VK_VIDEO_ENCODE_H265_RATE_CONTROL_TEMPORAL_SUB_LAYER_PATTERN_DYADIC_BIT_KHR = 0x00000010,
9882 VK_VIDEO_ENCODE_H265_RATE_CONTROL_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
9883 } VkVideoEncodeH265RateControlFlagBitsKHR;
9884 typedef VkFlags VkVideoEncodeH265RateControlFlagsKHR;
9885 typedef struct VkVideoEncodeH265CapabilitiesKHR {
9886 VkStructureType sType;
9887 void* pNext;
9888 VkVideoEncodeH265CapabilityFlagsKHR flags;
9889 StdVideoH265LevelIdc maxLevelIdc;
9890 uint32_t maxSliceSegmentCount;
9891 VkExtent2D maxTiles;
9892 VkVideoEncodeH265CtbSizeFlagsKHR ctbSizes;
9893 VkVideoEncodeH265TransformBlockSizeFlagsKHR transformBlockSizes;
9894 uint32_t maxPPictureL0ReferenceCount;
9895 uint32_t maxBPictureL0ReferenceCount;
9896 uint32_t maxL1ReferenceCount;
9897 uint32_t maxSubLayerCount;
9898 VkBool32 expectDyadicTemporalSubLayerPattern;
9899 int32_t minQp;
9900 int32_t maxQp;
9901 VkBool32 prefersGopRemainingFrames;
9902 VkBool32 requiresGopRemainingFrames;
9903 VkVideoEncodeH265StdFlagsKHR stdSyntaxFlags;
9904 } VkVideoEncodeH265CapabilitiesKHR;
9905
9906 typedef struct VkVideoEncodeH265SessionCreateInfoKHR {
9907 VkStructureType sType;
9908 const void* pNext;
9909 VkBool32 useMaxLevelIdc;
9910 StdVideoH265LevelIdc maxLevelIdc;
9911 } VkVideoEncodeH265SessionCreateInfoKHR;
9912
9913 typedef struct VkVideoEncodeH265QpKHR {
9914 int32_t qpI;
9915 int32_t qpP;
9916 int32_t qpB;
9917 } VkVideoEncodeH265QpKHR;
9918
9919 typedef struct VkVideoEncodeH265QualityLevelPropertiesKHR {
9920 VkStructureType sType;
9921 void* pNext;
9922 VkVideoEncodeH265RateControlFlagsKHR preferredRateControlFlags;
9923 uint32_t preferredGopFrameCount;
9924 uint32_t preferredIdrPeriod;
9925 uint32_t preferredConsecutiveBFrameCount;
9926 uint32_t preferredSubLayerCount;
9927 VkVideoEncodeH265QpKHR preferredConstantQp;
9928 uint32_t preferredMaxL0ReferenceCount;
9929 uint32_t preferredMaxL1ReferenceCount;
9930 } VkVideoEncodeH265QualityLevelPropertiesKHR;
9931
9932 typedef struct VkVideoEncodeH265SessionParametersAddInfoKHR {
9933 VkStructureType sType;
9934 const void* pNext;
9935 uint32_t stdVPSCount;
9936 const StdVideoH265VideoParameterSet* pStdVPSs;
9937 uint32_t stdSPSCount;
9938 const StdVideoH265SequenceParameterSet* pStdSPSs;
9939 uint32_t stdPPSCount;
9940 const StdVideoH265PictureParameterSet* pStdPPSs;
9941 } VkVideoEncodeH265SessionParametersAddInfoKHR;
9942
9943 typedef struct VkVideoEncodeH265SessionParametersCreateInfoKHR {
9944 VkStructureType sType;
9945 const void* pNext;
9946 uint32_t maxStdVPSCount;
9947 uint32_t maxStdSPSCount;
9948 uint32_t maxStdPPSCount;
9949 const VkVideoEncodeH265SessionParametersAddInfoKHR* pParametersAddInfo;
9950 } VkVideoEncodeH265SessionParametersCreateInfoKHR;
9951
9952 typedef struct VkVideoEncodeH265SessionParametersGetInfoKHR {
9953 VkStructureType sType;
9954 const void* pNext;
9955 VkBool32 writeStdVPS;
9956 VkBool32 writeStdSPS;
9957 VkBool32 writeStdPPS;
9958 uint32_t stdVPSId;
9959 uint32_t stdSPSId;
9960 uint32_t stdPPSId;
9961 } VkVideoEncodeH265SessionParametersGetInfoKHR;
9962
9963 typedef struct VkVideoEncodeH265SessionParametersFeedbackInfoKHR {
9964 VkStructureType sType;
9965 void* pNext;
9966 VkBool32 hasStdVPSOverrides;
9967 VkBool32 hasStdSPSOverrides;
9968 VkBool32 hasStdPPSOverrides;
9969 } VkVideoEncodeH265SessionParametersFeedbackInfoKHR;
9970
9971 typedef struct VkVideoEncodeH265NaluSliceSegmentInfoKHR {
9972 VkStructureType sType;
9973 const void* pNext;
9974 int32_t constantQp;
9975 const StdVideoEncodeH265SliceSegmentHeader* pStdSliceSegmentHeader;
9976 } VkVideoEncodeH265NaluSliceSegmentInfoKHR;
9977
9978 typedef struct VkVideoEncodeH265PictureInfoKHR {
9979 VkStructureType sType;
9980 const void* pNext;
9981 uint32_t naluSliceSegmentEntryCount;
9982 const VkVideoEncodeH265NaluSliceSegmentInfoKHR* pNaluSliceSegmentEntries;
9983 const StdVideoEncodeH265PictureInfo* pStdPictureInfo;
9984 } VkVideoEncodeH265PictureInfoKHR;
9985
9986 typedef struct VkVideoEncodeH265DpbSlotInfoKHR {
9987 VkStructureType sType;
9988 const void* pNext;
9989 const StdVideoEncodeH265ReferenceInfo* pStdReferenceInfo;
9990 } VkVideoEncodeH265DpbSlotInfoKHR;
9991
9992 typedef struct VkVideoEncodeH265ProfileInfoKHR {
9993 VkStructureType sType;
9994 const void* pNext;
9995 StdVideoH265ProfileIdc stdProfileIdc;
9996 } VkVideoEncodeH265ProfileInfoKHR;
9997
9998 typedef struct VkVideoEncodeH265RateControlInfoKHR {
9999 VkStructureType sType;
10000 const void* pNext;
10001 VkVideoEncodeH265RateControlFlagsKHR flags;
10002 uint32_t gopFrameCount;
10003 uint32_t idrPeriod;
10004 uint32_t consecutiveBFrameCount;
10005 uint32_t subLayerCount;
10006 } VkVideoEncodeH265RateControlInfoKHR;
10007
10008 typedef struct VkVideoEncodeH265FrameSizeKHR {
10009 uint32_t frameISize;
10010 uint32_t framePSize;
10011 uint32_t frameBSize;
10012 } VkVideoEncodeH265FrameSizeKHR;
10013
10014 typedef struct VkVideoEncodeH265RateControlLayerInfoKHR {
10015 VkStructureType sType;
10016 const void* pNext;
10017 VkBool32 useMinQp;
10018 VkVideoEncodeH265QpKHR minQp;
10019 VkBool32 useMaxQp;
10020 VkVideoEncodeH265QpKHR maxQp;
10021 VkBool32 useMaxFrameSize;
10022 VkVideoEncodeH265FrameSizeKHR maxFrameSize;
10023 } VkVideoEncodeH265RateControlLayerInfoKHR;
10024
10025 typedef struct VkVideoEncodeH265GopRemainingFrameInfoKHR {
10026 VkStructureType sType;
10027 const void* pNext;
10028 VkBool32 useGopRemainingFrames;
10029 uint32_t gopRemainingI;
10030 uint32_t gopRemainingP;
10031 uint32_t gopRemainingB;
10032 } VkVideoEncodeH265GopRemainingFrameInfoKHR;
10033
10034
10035
10036 // VK_KHR_video_decode_h264 is a preprocessor guard. Do not pass it to API calls.
10037 #define VK_KHR_video_decode_h264 1
10038 #include "vk_video/vulkan_video_codec_h264std_decode.h"
10039 #define VK_KHR_VIDEO_DECODE_H264_SPEC_VERSION 9
10040 #define VK_KHR_VIDEO_DECODE_H264_EXTENSION_NAME "VK_KHR_video_decode_h264"
10041
10042 typedef enum VkVideoDecodeH264PictureLayoutFlagBitsKHR {
10043 VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_PROGRESSIVE_KHR = 0,
10044 VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_INTERLEAVED_LINES_BIT_KHR = 0x00000001,
10045 VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_SEPARATE_PLANES_BIT_KHR = 0x00000002,
10046 VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
10047 } VkVideoDecodeH264PictureLayoutFlagBitsKHR;
10048 typedef VkFlags VkVideoDecodeH264PictureLayoutFlagsKHR;
10049 typedef struct VkVideoDecodeH264ProfileInfoKHR {
10050 VkStructureType sType;
10051 const void* pNext;
10052 StdVideoH264ProfileIdc stdProfileIdc;
10053 VkVideoDecodeH264PictureLayoutFlagBitsKHR pictureLayout;
10054 } VkVideoDecodeH264ProfileInfoKHR;
10055
10056 typedef struct VkVideoDecodeH264CapabilitiesKHR {
10057 VkStructureType sType;
10058 void* pNext;
10059 StdVideoH264LevelIdc maxLevelIdc;
10060 VkOffset2D fieldOffsetGranularity;
10061 } VkVideoDecodeH264CapabilitiesKHR;
10062
10063 typedef struct VkVideoDecodeH264SessionParametersAddInfoKHR {
10064 VkStructureType sType;
10065 const void* pNext;
10066 uint32_t stdSPSCount;
10067 const StdVideoH264SequenceParameterSet* pStdSPSs;
10068 uint32_t stdPPSCount;
10069 const StdVideoH264PictureParameterSet* pStdPPSs;
10070 } VkVideoDecodeH264SessionParametersAddInfoKHR;
10071
10072 typedef struct VkVideoDecodeH264SessionParametersCreateInfoKHR {
10073 VkStructureType sType;
10074 const void* pNext;
10075 uint32_t maxStdSPSCount;
10076 uint32_t maxStdPPSCount;
10077 const VkVideoDecodeH264SessionParametersAddInfoKHR* pParametersAddInfo;
10078 } VkVideoDecodeH264SessionParametersCreateInfoKHR;
10079
10080 typedef struct VkVideoDecodeH264PictureInfoKHR {
10081 VkStructureType sType;
10082 const void* pNext;
10083 const StdVideoDecodeH264PictureInfo* pStdPictureInfo;
10084 uint32_t sliceCount;
10085 const uint32_t* pSliceOffsets;
10086 } VkVideoDecodeH264PictureInfoKHR;
10087
10088 typedef struct VkVideoDecodeH264DpbSlotInfoKHR {
10089 VkStructureType sType;
10090 const void* pNext;
10091 const StdVideoDecodeH264ReferenceInfo* pStdReferenceInfo;
10092 } VkVideoDecodeH264DpbSlotInfoKHR;
10093
10094
10095
10096 // VK_KHR_dynamic_rendering is a preprocessor guard. Do not pass it to API calls.
10097 #define VK_KHR_dynamic_rendering 1
10098 #define VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION 1
10099 #define VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME "VK_KHR_dynamic_rendering"
10100 typedef VkRenderingFlags VkRenderingFlagsKHR;
10101
10102 typedef VkRenderingFlagBits VkRenderingFlagBitsKHR;
10103
10104 typedef VkRenderingInfo VkRenderingInfoKHR;
10105
10106 typedef VkRenderingAttachmentInfo VkRenderingAttachmentInfoKHR;
10107
10108 typedef VkPipelineRenderingCreateInfo VkPipelineRenderingCreateInfoKHR;
10109
10110 typedef VkPhysicalDeviceDynamicRenderingFeatures VkPhysicalDeviceDynamicRenderingFeaturesKHR;
10111
10112 typedef VkCommandBufferInheritanceRenderingInfo VkCommandBufferInheritanceRenderingInfoKHR;
10113
10114 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderingKHR)(VkCommandBuffer commandBuffer, const VkRenderingInfo* pRenderingInfo);
10115 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderingKHR)(VkCommandBuffer commandBuffer);
10116
10117 #ifndef VK_NO_PROTOTYPES
10118 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
10119 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderingKHR(
10120 VkCommandBuffer commandBuffer,
10121 const VkRenderingInfo* pRenderingInfo);
10122 #endif
10123
10124 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
10125 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderingKHR(
10126 VkCommandBuffer commandBuffer);
10127 #endif
10128 #endif
10129
10130
10131 // VK_KHR_multiview is a preprocessor guard. Do not pass it to API calls.
10132 #define VK_KHR_multiview 1
10133 #define VK_KHR_MULTIVIEW_SPEC_VERSION 1
10134 #define VK_KHR_MULTIVIEW_EXTENSION_NAME "VK_KHR_multiview"
10135 typedef VkRenderPassMultiviewCreateInfo VkRenderPassMultiviewCreateInfoKHR;
10136
10137 typedef VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeaturesKHR;
10138
10139 typedef VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewPropertiesKHR;
10140
10141
10142
10143 // VK_KHR_get_physical_device_properties2 is a preprocessor guard. Do not pass it to API calls.
10144 #define VK_KHR_get_physical_device_properties2 1
10145 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION 2
10146 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_physical_device_properties2"
10147 typedef VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2KHR;
10148
10149 typedef VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2KHR;
10150
10151 typedef VkFormatProperties2 VkFormatProperties2KHR;
10152
10153 typedef VkImageFormatProperties2 VkImageFormatProperties2KHR;
10154
10155 typedef VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2KHR;
10156
10157 typedef VkQueueFamilyProperties2 VkQueueFamilyProperties2KHR;
10158
10159 typedef VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2KHR;
10160
10161 typedef VkSparseImageFormatProperties2 VkSparseImageFormatProperties2KHR;
10162
10163 typedef VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2KHR;
10164
10165 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
10166 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
10167 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2KHR)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
10168 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
10169 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
10170 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
10171 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
10172
10173 #ifndef VK_NO_PROTOTYPES
10174 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
10175 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2KHR(
10176 VkPhysicalDevice physicalDevice,
10177 VkPhysicalDeviceFeatures2* pFeatures);
10178 #endif
10179
10180 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
10181 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2KHR(
10182 VkPhysicalDevice physicalDevice,
10183 VkPhysicalDeviceProperties2* pProperties);
10184 #endif
10185
10186 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
10187 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2KHR(
10188 VkPhysicalDevice physicalDevice,
10189 VkFormat format,
10190 VkFormatProperties2* pFormatProperties);
10191 #endif
10192
10193 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
10194 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2KHR(
10195 VkPhysicalDevice physicalDevice,
10196 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
10197 VkImageFormatProperties2* pImageFormatProperties);
10198 #endif
10199
10200 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
10201 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2KHR(
10202 VkPhysicalDevice physicalDevice,
10203 uint32_t* pQueueFamilyPropertyCount,
10204 VkQueueFamilyProperties2* pQueueFamilyProperties);
10205 #endif
10206
10207 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
10208 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2KHR(
10209 VkPhysicalDevice physicalDevice,
10210 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
10211 #endif
10212
10213 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
10214 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
10215 VkPhysicalDevice physicalDevice,
10216 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
10217 uint32_t* pPropertyCount,
10218 VkSparseImageFormatProperties2* pProperties);
10219 #endif
10220 #endif
10221
10222
10223 // VK_KHR_device_group is a preprocessor guard. Do not pass it to API calls.
10224 #define VK_KHR_device_group 1
10225 #define VK_KHR_DEVICE_GROUP_SPEC_VERSION 4
10226 #define VK_KHR_DEVICE_GROUP_EXTENSION_NAME "VK_KHR_device_group"
10227 typedef VkPeerMemoryFeatureFlags VkPeerMemoryFeatureFlagsKHR;
10228
10229 typedef VkPeerMemoryFeatureFlagBits VkPeerMemoryFeatureFlagBitsKHR;
10230
10231 typedef VkMemoryAllocateFlags VkMemoryAllocateFlagsKHR;
10232
10233 typedef VkMemoryAllocateFlagBits VkMemoryAllocateFlagBitsKHR;
10234
10235 typedef VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfoKHR;
10236
10237 typedef VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfoKHR;
10238
10239 typedef VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfoKHR;
10240
10241 typedef VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfoKHR;
10242
10243 typedef VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfoKHR;
10244
10245 typedef VkBindBufferMemoryDeviceGroupInfo VkBindBufferMemoryDeviceGroupInfoKHR;
10246
10247 typedef VkBindImageMemoryDeviceGroupInfo VkBindImageMemoryDeviceGroupInfoKHR;
10248
10249 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR)(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
10250 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMaskKHR)(VkCommandBuffer commandBuffer, uint32_t deviceMask);
10251 typedef void (VKAPI_PTR *PFN_vkCmdDispatchBaseKHR)(VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ);
10252
10253 #ifndef VK_NO_PROTOTYPES
10254 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
10255 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeaturesKHR(
10256 VkDevice device,
10257 uint32_t heapIndex,
10258 uint32_t localDeviceIndex,
10259 uint32_t remoteDeviceIndex,
10260 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
10261 #endif
10262
10263 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
10264 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMaskKHR(
10265 VkCommandBuffer commandBuffer,
10266 uint32_t deviceMask);
10267 #endif
10268
10269 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
10270 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBaseKHR(
10271 VkCommandBuffer commandBuffer,
10272 uint32_t baseGroupX,
10273 uint32_t baseGroupY,
10274 uint32_t baseGroupZ,
10275 uint32_t groupCountX,
10276 uint32_t groupCountY,
10277 uint32_t groupCountZ);
10278 #endif
10279 #endif
10280
10281
10282 // VK_KHR_shader_draw_parameters is a preprocessor guard. Do not pass it to API calls.
10283 #define VK_KHR_shader_draw_parameters 1
10284 #define VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION 1
10285 #define VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME "VK_KHR_shader_draw_parameters"
10286
10287
10288 // VK_KHR_maintenance1 is a preprocessor guard. Do not pass it to API calls.
10289 #define VK_KHR_maintenance1 1
10290 #define VK_KHR_MAINTENANCE_1_SPEC_VERSION 2
10291 #define VK_KHR_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_maintenance1"
10292 // VK_KHR_MAINTENANCE1_SPEC_VERSION is a legacy alias
10293 #define VK_KHR_MAINTENANCE1_SPEC_VERSION VK_KHR_MAINTENANCE_1_SPEC_VERSION
10294 // VK_KHR_MAINTENANCE1_EXTENSION_NAME is a legacy alias
10295 #define VK_KHR_MAINTENANCE1_EXTENSION_NAME VK_KHR_MAINTENANCE_1_EXTENSION_NAME
10296 typedef VkCommandPoolTrimFlags VkCommandPoolTrimFlagsKHR;
10297
10298 typedef void (VKAPI_PTR *PFN_vkTrimCommandPoolKHR)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
10299
10300 #ifndef VK_NO_PROTOTYPES
10301 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
10302 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPoolKHR(
10303 VkDevice device,
10304 VkCommandPool commandPool,
10305 VkCommandPoolTrimFlags flags);
10306 #endif
10307 #endif
10308
10309
10310 // VK_KHR_device_group_creation is a preprocessor guard. Do not pass it to API calls.
10311 #define VK_KHR_device_group_creation 1
10312 #define VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION 1
10313 #define VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME "VK_KHR_device_group_creation"
10314 #define VK_MAX_DEVICE_GROUP_SIZE_KHR VK_MAX_DEVICE_GROUP_SIZE
10315 typedef VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupPropertiesKHR;
10316
10317 typedef VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfoKHR;
10318
10319 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroupsKHR)(VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
10320
10321 #ifndef VK_NO_PROTOTYPES
10322 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
10323 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroupsKHR(
10324 VkInstance instance,
10325 uint32_t* pPhysicalDeviceGroupCount,
10326 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
10327 #endif
10328 #endif
10329
10330
10331 // VK_KHR_external_memory_capabilities is a preprocessor guard. Do not pass it to API calls.
10332 #define VK_KHR_external_memory_capabilities 1
10333 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
10334 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_memory_capabilities"
10335 #define VK_LUID_SIZE_KHR VK_LUID_SIZE
10336 typedef VkExternalMemoryHandleTypeFlags VkExternalMemoryHandleTypeFlagsKHR;
10337
10338 typedef VkExternalMemoryHandleTypeFlagBits VkExternalMemoryHandleTypeFlagBitsKHR;
10339
10340 typedef VkExternalMemoryFeatureFlags VkExternalMemoryFeatureFlagsKHR;
10341
10342 typedef VkExternalMemoryFeatureFlagBits VkExternalMemoryFeatureFlagBitsKHR;
10343
10344 typedef VkExternalMemoryProperties VkExternalMemoryPropertiesKHR;
10345
10346 typedef VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfoKHR;
10347
10348 typedef VkExternalImageFormatProperties VkExternalImageFormatPropertiesKHR;
10349
10350 typedef VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfoKHR;
10351
10352 typedef VkExternalBufferProperties VkExternalBufferPropertiesKHR;
10353
10354 typedef VkPhysicalDeviceIDProperties VkPhysicalDeviceIDPropertiesKHR;
10355
10356 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
10357
10358 #ifndef VK_NO_PROTOTYPES
10359 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
10360 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferPropertiesKHR(
10361 VkPhysicalDevice physicalDevice,
10362 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
10363 VkExternalBufferProperties* pExternalBufferProperties);
10364 #endif
10365 #endif
10366
10367
10368 // VK_KHR_external_memory is a preprocessor guard. Do not pass it to API calls.
10369 #define VK_KHR_external_memory 1
10370 #define VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION 1
10371 #define VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME "VK_KHR_external_memory"
10372 #define VK_QUEUE_FAMILY_EXTERNAL_KHR VK_QUEUE_FAMILY_EXTERNAL
10373 typedef VkExternalMemoryImageCreateInfo VkExternalMemoryImageCreateInfoKHR;
10374
10375 typedef VkExternalMemoryBufferCreateInfo VkExternalMemoryBufferCreateInfoKHR;
10376
10377 typedef VkExportMemoryAllocateInfo VkExportMemoryAllocateInfoKHR;
10378
10379
10380
10381 // VK_KHR_external_memory_fd is a preprocessor guard. Do not pass it to API calls.
10382 #define VK_KHR_external_memory_fd 1
10383 #define VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION 1
10384 #define VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME "VK_KHR_external_memory_fd"
10385 typedef struct VkImportMemoryFdInfoKHR {
10386 VkStructureType sType;
10387 const void* pNext;
10388 VkExternalMemoryHandleTypeFlagBits handleType;
10389 int fd;
10390 } VkImportMemoryFdInfoKHR;
10391
10392 typedef struct VkMemoryFdPropertiesKHR {
10393 VkStructureType sType;
10394 void* pNext;
10395 uint32_t memoryTypeBits;
10396 } VkMemoryFdPropertiesKHR;
10397
10398 typedef struct VkMemoryGetFdInfoKHR {
10399 VkStructureType sType;
10400 const void* pNext;
10401 VkDeviceMemory memory;
10402 VkExternalMemoryHandleTypeFlagBits handleType;
10403 } VkMemoryGetFdInfoKHR;
10404
10405 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdKHR)(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd);
10406 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdPropertiesKHR)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties);
10407
10408 #ifndef VK_NO_PROTOTYPES
10409 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
10410 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdKHR(
10411 VkDevice device,
10412 const VkMemoryGetFdInfoKHR* pGetFdInfo,
10413 int* pFd);
10414 #endif
10415
10416 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
10417 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdPropertiesKHR(
10418 VkDevice device,
10419 VkExternalMemoryHandleTypeFlagBits handleType,
10420 int fd,
10421 VkMemoryFdPropertiesKHR* pMemoryFdProperties);
10422 #endif
10423 #endif
10424
10425
10426 // VK_KHR_external_semaphore_capabilities is a preprocessor guard. Do not pass it to API calls.
10427 #define VK_KHR_external_semaphore_capabilities 1
10428 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION 1
10429 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_semaphore_capabilities"
10430 typedef VkExternalSemaphoreHandleTypeFlags VkExternalSemaphoreHandleTypeFlagsKHR;
10431
10432 typedef VkExternalSemaphoreHandleTypeFlagBits VkExternalSemaphoreHandleTypeFlagBitsKHR;
10433
10434 typedef VkExternalSemaphoreFeatureFlags VkExternalSemaphoreFeatureFlagsKHR;
10435
10436 typedef VkExternalSemaphoreFeatureFlagBits VkExternalSemaphoreFeatureFlagBitsKHR;
10437
10438 typedef VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfoKHR;
10439
10440 typedef VkExternalSemaphoreProperties VkExternalSemaphorePropertiesKHR;
10441
10442 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
10443
10444 #ifndef VK_NO_PROTOTYPES
10445 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
10446 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(
10447 VkPhysicalDevice physicalDevice,
10448 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
10449 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
10450 #endif
10451 #endif
10452
10453
10454 // VK_KHR_external_semaphore is a preprocessor guard. Do not pass it to API calls.
10455 #define VK_KHR_external_semaphore 1
10456 #define VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION 1
10457 #define VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME "VK_KHR_external_semaphore"
10458 typedef VkSemaphoreImportFlags VkSemaphoreImportFlagsKHR;
10459
10460 typedef VkSemaphoreImportFlagBits VkSemaphoreImportFlagBitsKHR;
10461
10462 typedef VkExportSemaphoreCreateInfo VkExportSemaphoreCreateInfoKHR;
10463
10464
10465
10466 // VK_KHR_external_semaphore_fd is a preprocessor guard. Do not pass it to API calls.
10467 #define VK_KHR_external_semaphore_fd 1
10468 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION 1
10469 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME "VK_KHR_external_semaphore_fd"
10470 typedef struct VkImportSemaphoreFdInfoKHR {
10471 VkStructureType sType;
10472 const void* pNext;
10473 VkSemaphore semaphore;
10474 VkSemaphoreImportFlags flags;
10475 VkExternalSemaphoreHandleTypeFlagBits handleType;
10476 int fd;
10477 } VkImportSemaphoreFdInfoKHR;
10478
10479 typedef struct VkSemaphoreGetFdInfoKHR {
10480 VkStructureType sType;
10481 const void* pNext;
10482 VkSemaphore semaphore;
10483 VkExternalSemaphoreHandleTypeFlagBits handleType;
10484 } VkSemaphoreGetFdInfoKHR;
10485
10486 typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreFdKHR)(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
10487 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreFdKHR)(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd);
10488
10489 #ifndef VK_NO_PROTOTYPES
10490 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
10491 VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreFdKHR(
10492 VkDevice device,
10493 const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
10494 #endif
10495
10496 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
10497 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreFdKHR(
10498 VkDevice device,
10499 const VkSemaphoreGetFdInfoKHR* pGetFdInfo,
10500 int* pFd);
10501 #endif
10502 #endif
10503
10504
10505 // VK_KHR_push_descriptor is a preprocessor guard. Do not pass it to API calls.
10506 #define VK_KHR_push_descriptor 1
10507 #define VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION 2
10508 #define VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME "VK_KHR_push_descriptor"
10509 typedef VkPhysicalDevicePushDescriptorProperties VkPhysicalDevicePushDescriptorPropertiesKHR;
10510
10511 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetKHR)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites);
10512 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplateKHR)(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void* pData);
10513
10514 #ifndef VK_NO_PROTOTYPES
10515 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
10516 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetKHR(
10517 VkCommandBuffer commandBuffer,
10518 VkPipelineBindPoint pipelineBindPoint,
10519 VkPipelineLayout layout,
10520 uint32_t set,
10521 uint32_t descriptorWriteCount,
10522 const VkWriteDescriptorSet* pDescriptorWrites);
10523 #endif
10524
10525 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
10526 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplateKHR(
10527 VkCommandBuffer commandBuffer,
10528 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
10529 VkPipelineLayout layout,
10530 uint32_t set,
10531 const void* pData);
10532 #endif
10533 #endif
10534
10535
10536 // VK_KHR_shader_float16_int8 is a preprocessor guard. Do not pass it to API calls.
10537 #define VK_KHR_shader_float16_int8 1
10538 #define VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION 1
10539 #define VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME "VK_KHR_shader_float16_int8"
10540 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceShaderFloat16Int8FeaturesKHR;
10541
10542 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceFloat16Int8FeaturesKHR;
10543
10544
10545
10546 // VK_KHR_16bit_storage is a preprocessor guard. Do not pass it to API calls.
10547 #define VK_KHR_16bit_storage 1
10548 #define VK_KHR_16BIT_STORAGE_SPEC_VERSION 1
10549 #define VK_KHR_16BIT_STORAGE_EXTENSION_NAME "VK_KHR_16bit_storage"
10550 typedef VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeaturesKHR;
10551
10552
10553
10554 // VK_KHR_incremental_present is a preprocessor guard. Do not pass it to API calls.
10555 #define VK_KHR_incremental_present 1
10556 #define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 2
10557 #define VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME "VK_KHR_incremental_present"
10558 typedef struct VkRectLayerKHR {
10559 VkOffset2D offset;
10560 VkExtent2D extent;
10561 uint32_t layer;
10562 } VkRectLayerKHR;
10563
10564 typedef struct VkPresentRegionKHR {
10565 uint32_t rectangleCount;
10566 const VkRectLayerKHR* pRectangles;
10567 } VkPresentRegionKHR;
10568
10569 typedef struct VkPresentRegionsKHR {
10570 VkStructureType sType;
10571 const void* pNext;
10572 uint32_t swapchainCount;
10573 const VkPresentRegionKHR* pRegions;
10574 } VkPresentRegionsKHR;
10575
10576
10577
10578 // VK_KHR_descriptor_update_template is a preprocessor guard. Do not pass it to API calls.
10579 #define VK_KHR_descriptor_update_template 1
10580 typedef VkDescriptorUpdateTemplate VkDescriptorUpdateTemplateKHR;
10581
10582 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION 1
10583 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME "VK_KHR_descriptor_update_template"
10584 typedef VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateTypeKHR;
10585
10586 typedef VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlagsKHR;
10587
10588 typedef VkDescriptorUpdateTemplateEntry VkDescriptorUpdateTemplateEntryKHR;
10589
10590 typedef VkDescriptorUpdateTemplateCreateInfo VkDescriptorUpdateTemplateCreateInfoKHR;
10591
10592 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplateKHR)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
10593 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplateKHR)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
10594 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplateKHR)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
10595
10596 #ifndef VK_NO_PROTOTYPES
10597 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
10598 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplateKHR(
10599 VkDevice device,
10600 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
10601 const VkAllocationCallbacks* pAllocator,
10602 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
10603 #endif
10604
10605 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
10606 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplateKHR(
10607 VkDevice device,
10608 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
10609 const VkAllocationCallbacks* pAllocator);
10610 #endif
10611
10612 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
10613 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplateKHR(
10614 VkDevice device,
10615 VkDescriptorSet descriptorSet,
10616 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
10617 const void* pData);
10618 #endif
10619 #endif
10620
10621
10622 // VK_KHR_imageless_framebuffer is a preprocessor guard. Do not pass it to API calls.
10623 #define VK_KHR_imageless_framebuffer 1
10624 #define VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION 1
10625 #define VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME "VK_KHR_imageless_framebuffer"
10626 typedef VkPhysicalDeviceImagelessFramebufferFeatures VkPhysicalDeviceImagelessFramebufferFeaturesKHR;
10627
10628 typedef VkFramebufferAttachmentsCreateInfo VkFramebufferAttachmentsCreateInfoKHR;
10629
10630 typedef VkFramebufferAttachmentImageInfo VkFramebufferAttachmentImageInfoKHR;
10631
10632 typedef VkRenderPassAttachmentBeginInfo VkRenderPassAttachmentBeginInfoKHR;
10633
10634
10635
10636 // VK_KHR_create_renderpass2 is a preprocessor guard. Do not pass it to API calls.
10637 #define VK_KHR_create_renderpass2 1
10638 #define VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION 1
10639 #define VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME "VK_KHR_create_renderpass2"
10640 typedef VkRenderPassCreateInfo2 VkRenderPassCreateInfo2KHR;
10641
10642 typedef VkAttachmentDescription2 VkAttachmentDescription2KHR;
10643
10644 typedef VkAttachmentReference2 VkAttachmentReference2KHR;
10645
10646 typedef VkSubpassDescription2 VkSubpassDescription2KHR;
10647
10648 typedef VkSubpassDependency2 VkSubpassDependency2KHR;
10649
10650 typedef VkSubpassBeginInfo VkSubpassBeginInfoKHR;
10651
10652 typedef VkSubpassEndInfo VkSubpassEndInfoKHR;
10653
10654 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2KHR)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
10655 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo);
10656 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo);
10657 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo);
10658
10659 #ifndef VK_NO_PROTOTYPES
10660 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
10661 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2KHR(
10662 VkDevice device,
10663 const VkRenderPassCreateInfo2* pCreateInfo,
10664 const VkAllocationCallbacks* pAllocator,
10665 VkRenderPass* pRenderPass);
10666 #endif
10667
10668 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
10669 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2KHR(
10670 VkCommandBuffer commandBuffer,
10671 const VkRenderPassBeginInfo* pRenderPassBegin,
10672 const VkSubpassBeginInfo* pSubpassBeginInfo);
10673 #endif
10674
10675 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
10676 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2KHR(
10677 VkCommandBuffer commandBuffer,
10678 const VkSubpassBeginInfo* pSubpassBeginInfo,
10679 const VkSubpassEndInfo* pSubpassEndInfo);
10680 #endif
10681
10682 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
10683 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2KHR(
10684 VkCommandBuffer commandBuffer,
10685 const VkSubpassEndInfo* pSubpassEndInfo);
10686 #endif
10687 #endif
10688
10689
10690 // VK_KHR_shared_presentable_image is a preprocessor guard. Do not pass it to API calls.
10691 #define VK_KHR_shared_presentable_image 1
10692 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION 1
10693 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME "VK_KHR_shared_presentable_image"
10694 typedef struct VkSharedPresentSurfaceCapabilitiesKHR {
10695 VkStructureType sType;
10696 void* pNext;
10697 VkImageUsageFlags sharedPresentSupportedUsageFlags;
10698 } VkSharedPresentSurfaceCapabilitiesKHR;
10699
10700 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainStatusKHR)(VkDevice device, VkSwapchainKHR swapchain);
10701
10702 #ifndef VK_NO_PROTOTYPES
10703 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
10704 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainStatusKHR(
10705 VkDevice device,
10706 VkSwapchainKHR swapchain);
10707 #endif
10708 #endif
10709
10710
10711 // VK_KHR_external_fence_capabilities is a preprocessor guard. Do not pass it to API calls.
10712 #define VK_KHR_external_fence_capabilities 1
10713 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION 1
10714 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_fence_capabilities"
10715 typedef VkExternalFenceHandleTypeFlags VkExternalFenceHandleTypeFlagsKHR;
10716
10717 typedef VkExternalFenceHandleTypeFlagBits VkExternalFenceHandleTypeFlagBitsKHR;
10718
10719 typedef VkExternalFenceFeatureFlags VkExternalFenceFeatureFlagsKHR;
10720
10721 typedef VkExternalFenceFeatureFlagBits VkExternalFenceFeatureFlagBitsKHR;
10722
10723 typedef VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfoKHR;
10724
10725 typedef VkExternalFenceProperties VkExternalFencePropertiesKHR;
10726
10727 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
10728
10729 #ifndef VK_NO_PROTOTYPES
10730 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
10731 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFencePropertiesKHR(
10732 VkPhysicalDevice physicalDevice,
10733 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
10734 VkExternalFenceProperties* pExternalFenceProperties);
10735 #endif
10736 #endif
10737
10738
10739 // VK_KHR_external_fence is a preprocessor guard. Do not pass it to API calls.
10740 #define VK_KHR_external_fence 1
10741 #define VK_KHR_EXTERNAL_FENCE_SPEC_VERSION 1
10742 #define VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME "VK_KHR_external_fence"
10743 typedef VkFenceImportFlags VkFenceImportFlagsKHR;
10744
10745 typedef VkFenceImportFlagBits VkFenceImportFlagBitsKHR;
10746
10747 typedef VkExportFenceCreateInfo VkExportFenceCreateInfoKHR;
10748
10749
10750
10751 // VK_KHR_external_fence_fd is a preprocessor guard. Do not pass it to API calls.
10752 #define VK_KHR_external_fence_fd 1
10753 #define VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION 1
10754 #define VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME "VK_KHR_external_fence_fd"
10755 typedef struct VkImportFenceFdInfoKHR {
10756 VkStructureType sType;
10757 const void* pNext;
10758 VkFence fence;
10759 VkFenceImportFlags flags;
10760 VkExternalFenceHandleTypeFlagBits handleType;
10761 int fd;
10762 } VkImportFenceFdInfoKHR;
10763
10764 typedef struct VkFenceGetFdInfoKHR {
10765 VkStructureType sType;
10766 const void* pNext;
10767 VkFence fence;
10768 VkExternalFenceHandleTypeFlagBits handleType;
10769 } VkFenceGetFdInfoKHR;
10770
10771 typedef VkResult (VKAPI_PTR *PFN_vkImportFenceFdKHR)(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
10772 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceFdKHR)(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd);
10773
10774 #ifndef VK_NO_PROTOTYPES
10775 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
10776 VKAPI_ATTR VkResult VKAPI_CALL vkImportFenceFdKHR(
10777 VkDevice device,
10778 const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
10779 #endif
10780
10781 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
10782 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceFdKHR(
10783 VkDevice device,
10784 const VkFenceGetFdInfoKHR* pGetFdInfo,
10785 int* pFd);
10786 #endif
10787 #endif
10788
10789
10790 // VK_KHR_performance_query is a preprocessor guard. Do not pass it to API calls.
10791 #define VK_KHR_performance_query 1
10792 #define VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION 1
10793 #define VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME "VK_KHR_performance_query"
10794
10795 typedef enum VkPerformanceCounterUnitKHR {
10796 VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR = 0,
10797 VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR = 1,
10798 VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR = 2,
10799 VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR = 3,
10800 VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR = 4,
10801 VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR = 5,
10802 VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR = 6,
10803 VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR = 7,
10804 VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR = 8,
10805 VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR = 9,
10806 VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR = 10,
10807 VK_PERFORMANCE_COUNTER_UNIT_MAX_ENUM_KHR = 0x7FFFFFFF
10808 } VkPerformanceCounterUnitKHR;
10809
10810 typedef enum VkPerformanceCounterScopeKHR {
10811 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR = 0,
10812 VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR = 1,
10813 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR = 2,
10814 // VK_QUERY_SCOPE_COMMAND_BUFFER_KHR is a legacy alias
10815 VK_QUERY_SCOPE_COMMAND_BUFFER_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR,
10816 // VK_QUERY_SCOPE_RENDER_PASS_KHR is a legacy alias
10817 VK_QUERY_SCOPE_RENDER_PASS_KHR = VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR,
10818 // VK_QUERY_SCOPE_COMMAND_KHR is a legacy alias
10819 VK_QUERY_SCOPE_COMMAND_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR,
10820 VK_PERFORMANCE_COUNTER_SCOPE_MAX_ENUM_KHR = 0x7FFFFFFF
10821 } VkPerformanceCounterScopeKHR;
10822
10823 typedef enum VkPerformanceCounterStorageKHR {
10824 VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR = 0,
10825 VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR = 1,
10826 VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR = 2,
10827 VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR = 3,
10828 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR = 4,
10829 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR = 5,
10830 VK_PERFORMANCE_COUNTER_STORAGE_MAX_ENUM_KHR = 0x7FFFFFFF
10831 } VkPerformanceCounterStorageKHR;
10832
10833 typedef enum VkPerformanceCounterDescriptionFlagBitsKHR {
10834 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR = 0x00000001,
10835 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR = 0x00000002,
10836 // VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR is a legacy alias
10837 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR,
10838 // VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR is a legacy alias
10839 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR,
10840 VK_PERFORMANCE_COUNTER_DESCRIPTION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
10841 } VkPerformanceCounterDescriptionFlagBitsKHR;
10842 typedef VkFlags VkPerformanceCounterDescriptionFlagsKHR;
10843
10844 typedef enum VkAcquireProfilingLockFlagBitsKHR {
10845 VK_ACQUIRE_PROFILING_LOCK_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
10846 } VkAcquireProfilingLockFlagBitsKHR;
10847 typedef VkFlags VkAcquireProfilingLockFlagsKHR;
10848 typedef struct VkPhysicalDevicePerformanceQueryFeaturesKHR {
10849 VkStructureType sType;
10850 void* pNext;
10851 VkBool32 performanceCounterQueryPools;
10852 VkBool32 performanceCounterMultipleQueryPools;
10853 } VkPhysicalDevicePerformanceQueryFeaturesKHR;
10854
10855 typedef struct VkPhysicalDevicePerformanceQueryPropertiesKHR {
10856 VkStructureType sType;
10857 void* pNext;
10858 VkBool32 allowCommandBufferQueryCopies;
10859 } VkPhysicalDevicePerformanceQueryPropertiesKHR;
10860
10861 typedef struct VkPerformanceCounterKHR {
10862 VkStructureType sType;
10863 void* pNext;
10864 VkPerformanceCounterUnitKHR unit;
10865 VkPerformanceCounterScopeKHR scope;
10866 VkPerformanceCounterStorageKHR storage;
10867 uint8_t uuid[VK_UUID_SIZE];
10868 } VkPerformanceCounterKHR;
10869
10870 typedef struct VkPerformanceCounterDescriptionKHR {
10871 VkStructureType sType;
10872 void* pNext;
10873 VkPerformanceCounterDescriptionFlagsKHR flags;
10874 char name[VK_MAX_DESCRIPTION_SIZE];
10875 char category[VK_MAX_DESCRIPTION_SIZE];
10876 char description[VK_MAX_DESCRIPTION_SIZE];
10877 } VkPerformanceCounterDescriptionKHR;
10878
10879 typedef struct VkQueryPoolPerformanceCreateInfoKHR {
10880 VkStructureType sType;
10881 const void* pNext;
10882 uint32_t queueFamilyIndex;
10883 uint32_t counterIndexCount;
10884 const uint32_t* pCounterIndices;
10885 } VkQueryPoolPerformanceCreateInfoKHR;
10886
10887 typedef union VkPerformanceCounterResultKHR {
10888 int32_t int32;
10889 int64_t int64;
10890 uint32_t uint32;
10891 uint64_t uint64;
10892 float float32;
10893 double float64;
10894 } VkPerformanceCounterResultKHR;
10895
10896 typedef struct VkAcquireProfilingLockInfoKHR {
10897 VkStructureType sType;
10898 const void* pNext;
10899 VkAcquireProfilingLockFlagsKHR flags;
10900 uint64_t timeout;
10901 } VkAcquireProfilingLockInfoKHR;
10902
10903 typedef struct VkPerformanceQuerySubmitInfoKHR {
10904 VkStructureType sType;
10905 const void* pNext;
10906 uint32_t counterPassIndex;
10907 } VkPerformanceQuerySubmitInfoKHR;
10908
10909 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, uint32_t* pCounterCount, VkPerformanceCounterKHR* pCounters, VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
10910 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR)(VkPhysicalDevice physicalDevice, const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, uint32_t* pNumPasses);
10911 typedef VkResult (VKAPI_PTR *PFN_vkAcquireProfilingLockKHR)(VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo);
10912 typedef void (VKAPI_PTR *PFN_vkReleaseProfilingLockKHR)(VkDevice device);
10913
10914 #ifndef VK_NO_PROTOTYPES
10915 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
10916 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
10917 VkPhysicalDevice physicalDevice,
10918 uint32_t queueFamilyIndex,
10919 uint32_t* pCounterCount,
10920 VkPerformanceCounterKHR* pCounters,
10921 VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
10922 #endif
10923
10924 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
10925 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
10926 VkPhysicalDevice physicalDevice,
10927 const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo,
10928 uint32_t* pNumPasses);
10929 #endif
10930
10931 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
10932 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireProfilingLockKHR(
10933 VkDevice device,
10934 const VkAcquireProfilingLockInfoKHR* pInfo);
10935 #endif
10936
10937 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
10938 VKAPI_ATTR void VKAPI_CALL vkReleaseProfilingLockKHR(
10939 VkDevice device);
10940 #endif
10941 #endif
10942
10943
10944 // VK_KHR_maintenance2 is a preprocessor guard. Do not pass it to API calls.
10945 #define VK_KHR_maintenance2 1
10946 #define VK_KHR_MAINTENANCE_2_SPEC_VERSION 1
10947 #define VK_KHR_MAINTENANCE_2_EXTENSION_NAME "VK_KHR_maintenance2"
10948 // VK_KHR_MAINTENANCE2_SPEC_VERSION is a legacy alias
10949 #define VK_KHR_MAINTENANCE2_SPEC_VERSION VK_KHR_MAINTENANCE_2_SPEC_VERSION
10950 // VK_KHR_MAINTENANCE2_EXTENSION_NAME is a legacy alias
10951 #define VK_KHR_MAINTENANCE2_EXTENSION_NAME VK_KHR_MAINTENANCE_2_EXTENSION_NAME
10952 typedef VkPointClippingBehavior VkPointClippingBehaviorKHR;
10953
10954 typedef VkTessellationDomainOrigin VkTessellationDomainOriginKHR;
10955
10956 typedef VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingPropertiesKHR;
10957
10958 typedef VkRenderPassInputAttachmentAspectCreateInfo VkRenderPassInputAttachmentAspectCreateInfoKHR;
10959
10960 typedef VkInputAttachmentAspectReference VkInputAttachmentAspectReferenceKHR;
10961
10962 typedef VkImageViewUsageCreateInfo VkImageViewUsageCreateInfoKHR;
10963
10964 typedef VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfoKHR;
10965
10966
10967
10968 // VK_KHR_get_surface_capabilities2 is a preprocessor guard. Do not pass it to API calls.
10969 #define VK_KHR_get_surface_capabilities2 1
10970 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION 1
10971 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME "VK_KHR_get_surface_capabilities2"
10972 typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
10973 VkStructureType sType;
10974 const void* pNext;
10975 VkSurfaceKHR surface;
10976 } VkPhysicalDeviceSurfaceInfo2KHR;
10977
10978 typedef struct VkSurfaceCapabilities2KHR {
10979 VkStructureType sType;
10980 void* pNext;
10981 VkSurfaceCapabilitiesKHR surfaceCapabilities;
10982 } VkSurfaceCapabilities2KHR;
10983
10984 typedef struct VkSurfaceFormat2KHR {
10985 VkStructureType sType;
10986 void* pNext;
10987 VkSurfaceFormatKHR surfaceFormat;
10988 } VkSurfaceFormat2KHR;
10989
10990 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
10991 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormats2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, uint32_t* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats);
10992
10993 #ifndef VK_NO_PROTOTYPES
10994 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
10995 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2KHR(
10996 VkPhysicalDevice physicalDevice,
10997 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
10998 VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
10999 #endif
11000
11001 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
11002 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormats2KHR(
11003 VkPhysicalDevice physicalDevice,
11004 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
11005 uint32_t* pSurfaceFormatCount,
11006 VkSurfaceFormat2KHR* pSurfaceFormats);
11007 #endif
11008 #endif
11009
11010
11011 // VK_KHR_variable_pointers is a preprocessor guard. Do not pass it to API calls.
11012 #define VK_KHR_variable_pointers 1
11013 #define VK_KHR_VARIABLE_POINTERS_SPEC_VERSION 1
11014 #define VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME "VK_KHR_variable_pointers"
11015 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeaturesKHR;
11016
11017 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointersFeaturesKHR;
11018
11019
11020
11021 // VK_KHR_get_display_properties2 is a preprocessor guard. Do not pass it to API calls.
11022 #define VK_KHR_get_display_properties2 1
11023 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION 1
11024 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_display_properties2"
11025 typedef struct VkDisplayProperties2KHR {
11026 VkStructureType sType;
11027 void* pNext;
11028 VkDisplayPropertiesKHR displayProperties;
11029 } VkDisplayProperties2KHR;
11030
11031 typedef struct VkDisplayPlaneProperties2KHR {
11032 VkStructureType sType;
11033 void* pNext;
11034 VkDisplayPlanePropertiesKHR displayPlaneProperties;
11035 } VkDisplayPlaneProperties2KHR;
11036
11037 typedef struct VkDisplayModeProperties2KHR {
11038 VkStructureType sType;
11039 void* pNext;
11040 VkDisplayModePropertiesKHR displayModeProperties;
11041 } VkDisplayModeProperties2KHR;
11042
11043 typedef struct VkDisplayPlaneInfo2KHR {
11044 VkStructureType sType;
11045 const void* pNext;
11046 VkDisplayModeKHR mode;
11047 uint32_t planeIndex;
11048 } VkDisplayPlaneInfo2KHR;
11049
11050 typedef struct VkDisplayPlaneCapabilities2KHR {
11051 VkStructureType sType;
11052 void* pNext;
11053 VkDisplayPlaneCapabilitiesKHR capabilities;
11054 } VkDisplayPlaneCapabilities2KHR;
11055
11056 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayProperties2KHR* pProperties);
11057 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlaneProperties2KHR* pProperties);
11058 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModeProperties2KHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModeProperties2KHR* pProperties);
11059 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, VkDisplayPlaneCapabilities2KHR* pCapabilities);
11060
11061 #ifndef VK_NO_PROTOTYPES
11062 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
11063 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayProperties2KHR(
11064 VkPhysicalDevice physicalDevice,
11065 uint32_t* pPropertyCount,
11066 VkDisplayProperties2KHR* pProperties);
11067 #endif
11068
11069 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
11070 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlaneProperties2KHR(
11071 VkPhysicalDevice physicalDevice,
11072 uint32_t* pPropertyCount,
11073 VkDisplayPlaneProperties2KHR* pProperties);
11074 #endif
11075
11076 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
11077 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModeProperties2KHR(
11078 VkPhysicalDevice physicalDevice,
11079 VkDisplayKHR display,
11080 uint32_t* pPropertyCount,
11081 VkDisplayModeProperties2KHR* pProperties);
11082 #endif
11083
11084 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
11085 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilities2KHR(
11086 VkPhysicalDevice physicalDevice,
11087 const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo,
11088 VkDisplayPlaneCapabilities2KHR* pCapabilities);
11089 #endif
11090 #endif
11091
11092
11093 // VK_KHR_dedicated_allocation is a preprocessor guard. Do not pass it to API calls.
11094 #define VK_KHR_dedicated_allocation 1
11095 #define VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION 3
11096 #define VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_KHR_dedicated_allocation"
11097 typedef VkMemoryDedicatedRequirements VkMemoryDedicatedRequirementsKHR;
11098
11099 typedef VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfoKHR;
11100
11101
11102
11103 // VK_KHR_storage_buffer_storage_class is a preprocessor guard. Do not pass it to API calls.
11104 #define VK_KHR_storage_buffer_storage_class 1
11105 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION 1
11106 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME "VK_KHR_storage_buffer_storage_class"
11107
11108
11109 // VK_KHR_shader_bfloat16 is a preprocessor guard. Do not pass it to API calls.
11110 #define VK_KHR_shader_bfloat16 1
11111 #define VK_KHR_SHADER_BFLOAT16_SPEC_VERSION 1
11112 #define VK_KHR_SHADER_BFLOAT16_EXTENSION_NAME "VK_KHR_shader_bfloat16"
11113 typedef struct VkPhysicalDeviceShaderBfloat16FeaturesKHR {
11114 VkStructureType sType;
11115 void* pNext;
11116 VkBool32 shaderBFloat16Type;
11117 VkBool32 shaderBFloat16DotProduct;
11118 VkBool32 shaderBFloat16CooperativeMatrix;
11119 } VkPhysicalDeviceShaderBfloat16FeaturesKHR;
11120
11121
11122
11123 // VK_KHR_relaxed_block_layout is a preprocessor guard. Do not pass it to API calls.
11124 #define VK_KHR_relaxed_block_layout 1
11125 #define VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION 1
11126 #define VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME "VK_KHR_relaxed_block_layout"
11127
11128
11129 // VK_KHR_get_memory_requirements2 is a preprocessor guard. Do not pass it to API calls.
11130 #define VK_KHR_get_memory_requirements2 1
11131 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION 1
11132 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME "VK_KHR_get_memory_requirements2"
11133 typedef VkBufferMemoryRequirementsInfo2 VkBufferMemoryRequirementsInfo2KHR;
11134
11135 typedef VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2KHR;
11136
11137 typedef VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2KHR;
11138
11139 typedef VkMemoryRequirements2 VkMemoryRequirements2KHR;
11140
11141 typedef VkSparseImageMemoryRequirements2 VkSparseImageMemoryRequirements2KHR;
11142
11143 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2KHR)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
11144 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2KHR)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
11145 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2KHR)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
11146
11147 #ifndef VK_NO_PROTOTYPES
11148 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
11149 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2KHR(
11150 VkDevice device,
11151 const VkImageMemoryRequirementsInfo2* pInfo,
11152 VkMemoryRequirements2* pMemoryRequirements);
11153 #endif
11154
11155 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
11156 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2KHR(
11157 VkDevice device,
11158 const VkBufferMemoryRequirementsInfo2* pInfo,
11159 VkMemoryRequirements2* pMemoryRequirements);
11160 #endif
11161
11162 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
11163 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2KHR(
11164 VkDevice device,
11165 const VkImageSparseMemoryRequirementsInfo2* pInfo,
11166 uint32_t* pSparseMemoryRequirementCount,
11167 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
11168 #endif
11169 #endif
11170
11171
11172 // VK_KHR_image_format_list is a preprocessor guard. Do not pass it to API calls.
11173 #define VK_KHR_image_format_list 1
11174 #define VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION 1
11175 #define VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME "VK_KHR_image_format_list"
11176 typedef VkImageFormatListCreateInfo VkImageFormatListCreateInfoKHR;
11177
11178
11179
11180 // VK_KHR_sampler_ycbcr_conversion is a preprocessor guard. Do not pass it to API calls.
11181 #define VK_KHR_sampler_ycbcr_conversion 1
11182 typedef VkSamplerYcbcrConversion VkSamplerYcbcrConversionKHR;
11183
11184 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION 14
11185 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME "VK_KHR_sampler_ycbcr_conversion"
11186 typedef VkSamplerYcbcrModelConversion VkSamplerYcbcrModelConversionKHR;
11187
11188 typedef VkSamplerYcbcrRange VkSamplerYcbcrRangeKHR;
11189
11190 typedef VkChromaLocation VkChromaLocationKHR;
11191
11192 typedef VkSamplerYcbcrConversionCreateInfo VkSamplerYcbcrConversionCreateInfoKHR;
11193
11194 typedef VkSamplerYcbcrConversionInfo VkSamplerYcbcrConversionInfoKHR;
11195
11196 typedef VkBindImagePlaneMemoryInfo VkBindImagePlaneMemoryInfoKHR;
11197
11198 typedef VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfoKHR;
11199
11200 typedef VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR;
11201
11202 typedef VkSamplerYcbcrConversionImageFormatProperties VkSamplerYcbcrConversionImageFormatPropertiesKHR;
11203
11204 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversionKHR)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
11205 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversionKHR)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
11206
11207 #ifndef VK_NO_PROTOTYPES
11208 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
11209 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversionKHR(
11210 VkDevice device,
11211 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
11212 const VkAllocationCallbacks* pAllocator,
11213 VkSamplerYcbcrConversion* pYcbcrConversion);
11214 #endif
11215
11216 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
11217 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversionKHR(
11218 VkDevice device,
11219 VkSamplerYcbcrConversion ycbcrConversion,
11220 const VkAllocationCallbacks* pAllocator);
11221 #endif
11222 #endif
11223
11224
11225 // VK_KHR_bind_memory2 is a preprocessor guard. Do not pass it to API calls.
11226 #define VK_KHR_bind_memory2 1
11227 #define VK_KHR_BIND_MEMORY_2_SPEC_VERSION 1
11228 #define VK_KHR_BIND_MEMORY_2_EXTENSION_NAME "VK_KHR_bind_memory2"
11229 typedef VkBindBufferMemoryInfo VkBindBufferMemoryInfoKHR;
11230
11231 typedef VkBindImageMemoryInfo VkBindImageMemoryInfoKHR;
11232
11233 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2KHR)(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
11234 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2KHR)(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
11235
11236 #ifndef VK_NO_PROTOTYPES
11237 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
11238 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2KHR(
11239 VkDevice device,
11240 uint32_t bindInfoCount,
11241 const VkBindBufferMemoryInfo* pBindInfos);
11242 #endif
11243
11244 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
11245 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2KHR(
11246 VkDevice device,
11247 uint32_t bindInfoCount,
11248 const VkBindImageMemoryInfo* pBindInfos);
11249 #endif
11250 #endif
11251
11252
11253 // VK_KHR_maintenance3 is a preprocessor guard. Do not pass it to API calls.
11254 #define VK_KHR_maintenance3 1
11255 #define VK_KHR_MAINTENANCE_3_SPEC_VERSION 1
11256 #define VK_KHR_MAINTENANCE_3_EXTENSION_NAME "VK_KHR_maintenance3"
11257 // VK_KHR_MAINTENANCE3_SPEC_VERSION is a legacy alias
11258 #define VK_KHR_MAINTENANCE3_SPEC_VERSION VK_KHR_MAINTENANCE_3_SPEC_VERSION
11259 // VK_KHR_MAINTENANCE3_EXTENSION_NAME is a legacy alias
11260 #define VK_KHR_MAINTENANCE3_EXTENSION_NAME VK_KHR_MAINTENANCE_3_EXTENSION_NAME
11261 typedef VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3PropertiesKHR;
11262
11263 typedef VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupportKHR;
11264
11265 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupportKHR)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
11266
11267 #ifndef VK_NO_PROTOTYPES
11268 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
11269 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupportKHR(
11270 VkDevice device,
11271 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
11272 VkDescriptorSetLayoutSupport* pSupport);
11273 #endif
11274 #endif
11275
11276
11277 // VK_KHR_draw_indirect_count is a preprocessor guard. Do not pass it to API calls.
11278 #define VK_KHR_draw_indirect_count 1
11279 #define VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION 1
11280 #define VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_KHR_draw_indirect_count"
11281 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
11282 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
11283
11284 #ifndef VK_NO_PROTOTYPES
11285 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
11286 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountKHR(
11287 VkCommandBuffer commandBuffer,
11288 VkBuffer buffer,
11289 VkDeviceSize offset,
11290 VkBuffer countBuffer,
11291 VkDeviceSize countBufferOffset,
11292 uint32_t maxDrawCount,
11293 uint32_t stride);
11294 #endif
11295
11296 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
11297 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountKHR(
11298 VkCommandBuffer commandBuffer,
11299 VkBuffer buffer,
11300 VkDeviceSize offset,
11301 VkBuffer countBuffer,
11302 VkDeviceSize countBufferOffset,
11303 uint32_t maxDrawCount,
11304 uint32_t stride);
11305 #endif
11306 #endif
11307
11308
11309 // VK_KHR_shader_subgroup_extended_types is a preprocessor guard. Do not pass it to API calls.
11310 #define VK_KHR_shader_subgroup_extended_types 1
11311 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION 1
11312 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME "VK_KHR_shader_subgroup_extended_types"
11313 typedef VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR;
11314
11315
11316
11317 // VK_KHR_8bit_storage is a preprocessor guard. Do not pass it to API calls.
11318 #define VK_KHR_8bit_storage 1
11319 #define VK_KHR_8BIT_STORAGE_SPEC_VERSION 1
11320 #define VK_KHR_8BIT_STORAGE_EXTENSION_NAME "VK_KHR_8bit_storage"
11321 typedef VkPhysicalDevice8BitStorageFeatures VkPhysicalDevice8BitStorageFeaturesKHR;
11322
11323
11324
11325 // VK_KHR_shader_atomic_int64 is a preprocessor guard. Do not pass it to API calls.
11326 #define VK_KHR_shader_atomic_int64 1
11327 #define VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION 1
11328 #define VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME "VK_KHR_shader_atomic_int64"
11329 typedef VkPhysicalDeviceShaderAtomicInt64Features VkPhysicalDeviceShaderAtomicInt64FeaturesKHR;
11330
11331
11332
11333 // VK_KHR_shader_clock is a preprocessor guard. Do not pass it to API calls.
11334 #define VK_KHR_shader_clock 1
11335 #define VK_KHR_SHADER_CLOCK_SPEC_VERSION 1
11336 #define VK_KHR_SHADER_CLOCK_EXTENSION_NAME "VK_KHR_shader_clock"
11337 typedef struct VkPhysicalDeviceShaderClockFeaturesKHR {
11338 VkStructureType sType;
11339 void* pNext;
11340 VkBool32 shaderSubgroupClock;
11341 VkBool32 shaderDeviceClock;
11342 } VkPhysicalDeviceShaderClockFeaturesKHR;
11343
11344
11345
11346 // VK_KHR_video_decode_h265 is a preprocessor guard. Do not pass it to API calls.
11347 #define VK_KHR_video_decode_h265 1
11348 #include "vk_video/vulkan_video_codec_h265std_decode.h"
11349 #define VK_KHR_VIDEO_DECODE_H265_SPEC_VERSION 8
11350 #define VK_KHR_VIDEO_DECODE_H265_EXTENSION_NAME "VK_KHR_video_decode_h265"
11351 typedef struct VkVideoDecodeH265ProfileInfoKHR {
11352 VkStructureType sType;
11353 const void* pNext;
11354 StdVideoH265ProfileIdc stdProfileIdc;
11355 } VkVideoDecodeH265ProfileInfoKHR;
11356
11357 typedef struct VkVideoDecodeH265CapabilitiesKHR {
11358 VkStructureType sType;
11359 void* pNext;
11360 StdVideoH265LevelIdc maxLevelIdc;
11361 } VkVideoDecodeH265CapabilitiesKHR;
11362
11363 typedef struct VkVideoDecodeH265SessionParametersAddInfoKHR {
11364 VkStructureType sType;
11365 const void* pNext;
11366 uint32_t stdVPSCount;
11367 const StdVideoH265VideoParameterSet* pStdVPSs;
11368 uint32_t stdSPSCount;
11369 const StdVideoH265SequenceParameterSet* pStdSPSs;
11370 uint32_t stdPPSCount;
11371 const StdVideoH265PictureParameterSet* pStdPPSs;
11372 } VkVideoDecodeH265SessionParametersAddInfoKHR;
11373
11374 typedef struct VkVideoDecodeH265SessionParametersCreateInfoKHR {
11375 VkStructureType sType;
11376 const void* pNext;
11377 uint32_t maxStdVPSCount;
11378 uint32_t maxStdSPSCount;
11379 uint32_t maxStdPPSCount;
11380 const VkVideoDecodeH265SessionParametersAddInfoKHR* pParametersAddInfo;
11381 } VkVideoDecodeH265SessionParametersCreateInfoKHR;
11382
11383 typedef struct VkVideoDecodeH265PictureInfoKHR {
11384 VkStructureType sType;
11385 const void* pNext;
11386 const StdVideoDecodeH265PictureInfo* pStdPictureInfo;
11387 uint32_t sliceSegmentCount;
11388 const uint32_t* pSliceSegmentOffsets;
11389 } VkVideoDecodeH265PictureInfoKHR;
11390
11391 typedef struct VkVideoDecodeH265DpbSlotInfoKHR {
11392 VkStructureType sType;
11393 const void* pNext;
11394 const StdVideoDecodeH265ReferenceInfo* pStdReferenceInfo;
11395 } VkVideoDecodeH265DpbSlotInfoKHR;
11396
11397
11398
11399 // VK_KHR_global_priority is a preprocessor guard. Do not pass it to API calls.
11400 #define VK_KHR_global_priority 1
11401 #define VK_KHR_GLOBAL_PRIORITY_SPEC_VERSION 1
11402 #define VK_KHR_GLOBAL_PRIORITY_EXTENSION_NAME "VK_KHR_global_priority"
11403 #define VK_MAX_GLOBAL_PRIORITY_SIZE_KHR VK_MAX_GLOBAL_PRIORITY_SIZE
11404 typedef VkQueueGlobalPriority VkQueueGlobalPriorityKHR;
11405
11406 typedef VkDeviceQueueGlobalPriorityCreateInfo VkDeviceQueueGlobalPriorityCreateInfoKHR;
11407
11408 typedef VkPhysicalDeviceGlobalPriorityQueryFeatures VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR;
11409
11410 typedef VkQueueFamilyGlobalPriorityProperties VkQueueFamilyGlobalPriorityPropertiesKHR;
11411
11412
11413
11414 // VK_KHR_driver_properties is a preprocessor guard. Do not pass it to API calls.
11415 #define VK_KHR_driver_properties 1
11416 #define VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION 1
11417 #define VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME "VK_KHR_driver_properties"
11418 #define VK_MAX_DRIVER_NAME_SIZE_KHR VK_MAX_DRIVER_NAME_SIZE
11419 #define VK_MAX_DRIVER_INFO_SIZE_KHR VK_MAX_DRIVER_INFO_SIZE
11420 typedef VkDriverId VkDriverIdKHR;
11421
11422 typedef VkConformanceVersion VkConformanceVersionKHR;
11423
11424 typedef VkPhysicalDeviceDriverProperties VkPhysicalDeviceDriverPropertiesKHR;
11425
11426
11427
11428 // VK_KHR_shader_float_controls is a preprocessor guard. Do not pass it to API calls.
11429 #define VK_KHR_shader_float_controls 1
11430 #define VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION 4
11431 #define VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME "VK_KHR_shader_float_controls"
11432 typedef VkShaderFloatControlsIndependence VkShaderFloatControlsIndependenceKHR;
11433
11434 typedef VkPhysicalDeviceFloatControlsProperties VkPhysicalDeviceFloatControlsPropertiesKHR;
11435
11436
11437
11438 // VK_KHR_depth_stencil_resolve is a preprocessor guard. Do not pass it to API calls.
11439 #define VK_KHR_depth_stencil_resolve 1
11440 #define VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION 1
11441 #define VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME "VK_KHR_depth_stencil_resolve"
11442 typedef VkResolveModeFlagBits VkResolveModeFlagBitsKHR;
11443
11444 typedef VkResolveModeFlags VkResolveModeFlagsKHR;
11445
11446 typedef VkSubpassDescriptionDepthStencilResolve VkSubpassDescriptionDepthStencilResolveKHR;
11447
11448 typedef VkPhysicalDeviceDepthStencilResolveProperties VkPhysicalDeviceDepthStencilResolvePropertiesKHR;
11449
11450
11451
11452 // VK_KHR_swapchain_mutable_format is a preprocessor guard. Do not pass it to API calls.
11453 #define VK_KHR_swapchain_mutable_format 1
11454 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION 1
11455 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME "VK_KHR_swapchain_mutable_format"
11456
11457
11458 // VK_KHR_timeline_semaphore is a preprocessor guard. Do not pass it to API calls.
11459 #define VK_KHR_timeline_semaphore 1
11460 #define VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION 2
11461 #define VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME "VK_KHR_timeline_semaphore"
11462 typedef VkSemaphoreType VkSemaphoreTypeKHR;
11463
11464 typedef VkSemaphoreWaitFlagBits VkSemaphoreWaitFlagBitsKHR;
11465
11466 typedef VkSemaphoreWaitFlags VkSemaphoreWaitFlagsKHR;
11467
11468 typedef VkPhysicalDeviceTimelineSemaphoreFeatures VkPhysicalDeviceTimelineSemaphoreFeaturesKHR;
11469
11470 typedef VkPhysicalDeviceTimelineSemaphoreProperties VkPhysicalDeviceTimelineSemaphorePropertiesKHR;
11471
11472 typedef VkSemaphoreTypeCreateInfo VkSemaphoreTypeCreateInfoKHR;
11473
11474 typedef VkTimelineSemaphoreSubmitInfo VkTimelineSemaphoreSubmitInfoKHR;
11475
11476 typedef VkSemaphoreWaitInfo VkSemaphoreWaitInfoKHR;
11477
11478 typedef VkSemaphoreSignalInfo VkSemaphoreSignalInfoKHR;
11479
11480 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValueKHR)(VkDevice device, VkSemaphore semaphore, uint64_t* pValue);
11481 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphoresKHR)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout);
11482 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphoreKHR)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo);
11483
11484 #ifndef VK_NO_PROTOTYPES
11485 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
11486 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValueKHR(
11487 VkDevice device,
11488 VkSemaphore semaphore,
11489 uint64_t* pValue);
11490 #endif
11491
11492 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
11493 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphoresKHR(
11494 VkDevice device,
11495 const VkSemaphoreWaitInfo* pWaitInfo,
11496 uint64_t timeout);
11497 #endif
11498
11499 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
11500 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphoreKHR(
11501 VkDevice device,
11502 const VkSemaphoreSignalInfo* pSignalInfo);
11503 #endif
11504 #endif
11505
11506
11507 // VK_KHR_vulkan_memory_model is a preprocessor guard. Do not pass it to API calls.
11508 #define VK_KHR_vulkan_memory_model 1
11509 #define VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION 3
11510 #define VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME "VK_KHR_vulkan_memory_model"
11511 typedef VkPhysicalDeviceVulkanMemoryModelFeatures VkPhysicalDeviceVulkanMemoryModelFeaturesKHR;
11512
11513
11514
11515 // VK_KHR_shader_terminate_invocation is a preprocessor guard. Do not pass it to API calls.
11516 #define VK_KHR_shader_terminate_invocation 1
11517 #define VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION 1
11518 #define VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME "VK_KHR_shader_terminate_invocation"
11519 typedef VkPhysicalDeviceShaderTerminateInvocationFeatures VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR;
11520
11521
11522
11523 // VK_KHR_fragment_shading_rate is a preprocessor guard. Do not pass it to API calls.
11524 #define VK_KHR_fragment_shading_rate 1
11525 #define VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION 2
11526 #define VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME "VK_KHR_fragment_shading_rate"
11527
11528 typedef enum VkFragmentShadingRateCombinerOpKHR {
11529 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR = 0,
11530 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR = 1,
11531 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR = 2,
11532 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR = 3,
11533 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR = 4,
11534 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_ENUM_KHR = 0x7FFFFFFF
11535 } VkFragmentShadingRateCombinerOpKHR;
11536 typedef struct VkFragmentShadingRateAttachmentInfoKHR {
11537 VkStructureType sType;
11538 const void* pNext;
11539 const VkAttachmentReference2* pFragmentShadingRateAttachment;
11540 VkExtent2D shadingRateAttachmentTexelSize;
11541 } VkFragmentShadingRateAttachmentInfoKHR;
11542
11543 typedef struct VkPipelineFragmentShadingRateStateCreateInfoKHR {
11544 VkStructureType sType;
11545 const void* pNext;
11546 VkExtent2D fragmentSize;
11547 VkFragmentShadingRateCombinerOpKHR combinerOps[2];
11548 } VkPipelineFragmentShadingRateStateCreateInfoKHR;
11549
11550 typedef struct VkPhysicalDeviceFragmentShadingRateFeaturesKHR {
11551 VkStructureType sType;
11552 void* pNext;
11553 VkBool32 pipelineFragmentShadingRate;
11554 VkBool32 primitiveFragmentShadingRate;
11555 VkBool32 attachmentFragmentShadingRate;
11556 } VkPhysicalDeviceFragmentShadingRateFeaturesKHR;
11557
11558 typedef struct VkPhysicalDeviceFragmentShadingRatePropertiesKHR {
11559 VkStructureType sType;
11560 void* pNext;
11561 VkExtent2D minFragmentShadingRateAttachmentTexelSize;
11562 VkExtent2D maxFragmentShadingRateAttachmentTexelSize;
11563 uint32_t maxFragmentShadingRateAttachmentTexelSizeAspectRatio;
11564 VkBool32 primitiveFragmentShadingRateWithMultipleViewports;
11565 VkBool32 layeredShadingRateAttachments;
11566 VkBool32 fragmentShadingRateNonTrivialCombinerOps;
11567 VkExtent2D maxFragmentSize;
11568 uint32_t maxFragmentSizeAspectRatio;
11569 uint32_t maxFragmentShadingRateCoverageSamples;
11570 VkSampleCountFlagBits maxFragmentShadingRateRasterizationSamples;
11571 VkBool32 fragmentShadingRateWithShaderDepthStencilWrites;
11572 VkBool32 fragmentShadingRateWithSampleMask;
11573 VkBool32 fragmentShadingRateWithShaderSampleMask;
11574 VkBool32 fragmentShadingRateWithConservativeRasterization;
11575 VkBool32 fragmentShadingRateWithFragmentShaderInterlock;
11576 VkBool32 fragmentShadingRateWithCustomSampleLocations;
11577 VkBool32 fragmentShadingRateStrictMultiplyCombiner;
11578 } VkPhysicalDeviceFragmentShadingRatePropertiesKHR;
11579
11580 typedef struct VkPhysicalDeviceFragmentShadingRateKHR {
11581 VkStructureType sType;
11582 void* pNext;
11583 VkSampleCountFlags sampleCounts;
11584 VkExtent2D fragmentSize;
11585 } VkPhysicalDeviceFragmentShadingRateKHR;
11586
11587 typedef struct VkRenderingFragmentShadingRateAttachmentInfoKHR {
11588 VkStructureType sType;
11589 const void* pNext;
11590 VkImageView imageView;
11591 VkImageLayout imageLayout;
11592 VkExtent2D shadingRateAttachmentTexelSize;
11593 } VkRenderingFragmentShadingRateAttachmentInfoKHR;
11594
11595 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pFragmentShadingRateCount, VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates);
11596 typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateKHR)(VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
11597
11598 #ifndef VK_NO_PROTOTYPES
11599 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
11600 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceFragmentShadingRatesKHR(
11601 VkPhysicalDevice physicalDevice,
11602 uint32_t* pFragmentShadingRateCount,
11603 VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates);
11604 #endif
11605
11606 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
11607 VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateKHR(
11608 VkCommandBuffer commandBuffer,
11609 const VkExtent2D* pFragmentSize,
11610 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
11611 #endif
11612 #endif
11613
11614
11615 // VK_KHR_dynamic_rendering_local_read is a preprocessor guard. Do not pass it to API calls.
11616 #define VK_KHR_dynamic_rendering_local_read 1
11617 #define VK_KHR_DYNAMIC_RENDERING_LOCAL_READ_SPEC_VERSION 1
11618 #define VK_KHR_DYNAMIC_RENDERING_LOCAL_READ_EXTENSION_NAME "VK_KHR_dynamic_rendering_local_read"
11619 typedef VkPhysicalDeviceDynamicRenderingLocalReadFeatures VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR;
11620
11621 typedef VkRenderingAttachmentLocationInfo VkRenderingAttachmentLocationInfoKHR;
11622
11623 typedef VkRenderingInputAttachmentIndexInfo VkRenderingInputAttachmentIndexInfoKHR;
11624
11625 typedef void (VKAPI_PTR *PFN_vkCmdSetRenderingAttachmentLocationsKHR)(VkCommandBuffer commandBuffer, const VkRenderingAttachmentLocationInfo* pLocationInfo);
11626 typedef void (VKAPI_PTR *PFN_vkCmdSetRenderingInputAttachmentIndicesKHR)(VkCommandBuffer commandBuffer, const VkRenderingInputAttachmentIndexInfo* pInputAttachmentIndexInfo);
11627
11628 #ifndef VK_NO_PROTOTYPES
11629 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
11630 VKAPI_ATTR void VKAPI_CALL vkCmdSetRenderingAttachmentLocationsKHR(
11631 VkCommandBuffer commandBuffer,
11632 const VkRenderingAttachmentLocationInfo* pLocationInfo);
11633 #endif
11634
11635 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
11636 VKAPI_ATTR void VKAPI_CALL vkCmdSetRenderingInputAttachmentIndicesKHR(
11637 VkCommandBuffer commandBuffer,
11638 const VkRenderingInputAttachmentIndexInfo* pInputAttachmentIndexInfo);
11639 #endif
11640 #endif
11641
11642
11643 // VK_KHR_shader_quad_control is a preprocessor guard. Do not pass it to API calls.
11644 #define VK_KHR_shader_quad_control 1
11645 #define VK_KHR_SHADER_QUAD_CONTROL_SPEC_VERSION 1
11646 #define VK_KHR_SHADER_QUAD_CONTROL_EXTENSION_NAME "VK_KHR_shader_quad_control"
11647 typedef struct VkPhysicalDeviceShaderQuadControlFeaturesKHR {
11648 VkStructureType sType;
11649 void* pNext;
11650 VkBool32 shaderQuadControl;
11651 } VkPhysicalDeviceShaderQuadControlFeaturesKHR;
11652
11653
11654
11655 // VK_KHR_spirv_1_4 is a preprocessor guard. Do not pass it to API calls.
11656 #define VK_KHR_spirv_1_4 1
11657 #define VK_KHR_SPIRV_1_4_SPEC_VERSION 1
11658 #define VK_KHR_SPIRV_1_4_EXTENSION_NAME "VK_KHR_spirv_1_4"
11659
11660
11661 // VK_KHR_surface_protected_capabilities is a preprocessor guard. Do not pass it to API calls.
11662 #define VK_KHR_surface_protected_capabilities 1
11663 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION 1
11664 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME "VK_KHR_surface_protected_capabilities"
11665 typedef struct VkSurfaceProtectedCapabilitiesKHR {
11666 VkStructureType sType;
11667 void* pNext;
11668 VkBool32 supportsProtected;
11669 } VkSurfaceProtectedCapabilitiesKHR;
11670
11671
11672
11673 // VK_KHR_separate_depth_stencil_layouts is a preprocessor guard. Do not pass it to API calls.
11674 #define VK_KHR_separate_depth_stencil_layouts 1
11675 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION 1
11676 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME "VK_KHR_separate_depth_stencil_layouts"
11677 typedef VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR;
11678
11679 typedef VkAttachmentReferenceStencilLayout VkAttachmentReferenceStencilLayoutKHR;
11680
11681 typedef VkAttachmentDescriptionStencilLayout VkAttachmentDescriptionStencilLayoutKHR;
11682
11683
11684
11685 // VK_KHR_present_wait is a preprocessor guard. Do not pass it to API calls.
11686 #define VK_KHR_present_wait 1
11687 #define VK_KHR_PRESENT_WAIT_SPEC_VERSION 1
11688 #define VK_KHR_PRESENT_WAIT_EXTENSION_NAME "VK_KHR_present_wait"
11689 typedef struct VkPhysicalDevicePresentWaitFeaturesKHR {
11690 VkStructureType sType;
11691 void* pNext;
11692 VkBool32 presentWait;
11693 } VkPhysicalDevicePresentWaitFeaturesKHR;
11694
11695 typedef VkResult (VKAPI_PTR *PFN_vkWaitForPresentKHR)(VkDevice device, VkSwapchainKHR swapchain, uint64_t presentId, uint64_t timeout);
11696
11697 #ifndef VK_NO_PROTOTYPES
11698 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
11699 VKAPI_ATTR VkResult VKAPI_CALL vkWaitForPresentKHR(
11700 VkDevice device,
11701 VkSwapchainKHR swapchain,
11702 uint64_t presentId,
11703 uint64_t timeout);
11704 #endif
11705 #endif
11706
11707
11708 // VK_KHR_uniform_buffer_standard_layout is a preprocessor guard. Do not pass it to API calls.
11709 #define VK_KHR_uniform_buffer_standard_layout 1
11710 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION 1
11711 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME "VK_KHR_uniform_buffer_standard_layout"
11712 typedef VkPhysicalDeviceUniformBufferStandardLayoutFeatures VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR;
11713
11714
11715
11716 // VK_KHR_buffer_device_address is a preprocessor guard. Do not pass it to API calls.
11717 #define VK_KHR_buffer_device_address 1
11718 #define VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 1
11719 #define VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_KHR_buffer_device_address"
11720 typedef VkPhysicalDeviceBufferDeviceAddressFeatures VkPhysicalDeviceBufferDeviceAddressFeaturesKHR;
11721
11722 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoKHR;
11723
11724 typedef VkBufferOpaqueCaptureAddressCreateInfo VkBufferOpaqueCaptureAddressCreateInfoKHR;
11725
11726 typedef VkMemoryOpaqueCaptureAddressAllocateInfo VkMemoryOpaqueCaptureAddressAllocateInfoKHR;
11727
11728 typedef VkDeviceMemoryOpaqueCaptureAddressInfo VkDeviceMemoryOpaqueCaptureAddressInfoKHR;
11729
11730 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
11731 typedef uint64_t (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
11732 typedef uint64_t (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
11733
11734 #ifndef VK_NO_PROTOTYPES
11735 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
11736 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressKHR(
11737 VkDevice device,
11738 const VkBufferDeviceAddressInfo* pInfo);
11739 #endif
11740
11741 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
11742 VKAPI_ATTR uint64_t VKAPI_CALL vkGetBufferOpaqueCaptureAddressKHR(
11743 VkDevice device,
11744 const VkBufferDeviceAddressInfo* pInfo);
11745 #endif
11746
11747 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
11748 VKAPI_ATTR uint64_t VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddressKHR(
11749 VkDevice device,
11750 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
11751 #endif
11752 #endif
11753
11754
11755 // VK_KHR_deferred_host_operations is a preprocessor guard. Do not pass it to API calls.
11756 #define VK_KHR_deferred_host_operations 1
11757 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeferredOperationKHR)
11758 #define VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION 4
11759 #define VK_KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME "VK_KHR_deferred_host_operations"
11760 typedef VkResult (VKAPI_PTR *PFN_vkCreateDeferredOperationKHR)(VkDevice device, const VkAllocationCallbacks* pAllocator, VkDeferredOperationKHR* pDeferredOperation);
11761 typedef void (VKAPI_PTR *PFN_vkDestroyDeferredOperationKHR)(VkDevice device, VkDeferredOperationKHR operation, const VkAllocationCallbacks* pAllocator);
11762 typedef uint32_t (VKAPI_PTR *PFN_vkGetDeferredOperationMaxConcurrencyKHR)(VkDevice device, VkDeferredOperationKHR operation);
11763 typedef VkResult (VKAPI_PTR *PFN_vkGetDeferredOperationResultKHR)(VkDevice device, VkDeferredOperationKHR operation);
11764 typedef VkResult (VKAPI_PTR *PFN_vkDeferredOperationJoinKHR)(VkDevice device, VkDeferredOperationKHR operation);
11765
11766 #ifndef VK_NO_PROTOTYPES
11767 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
11768 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDeferredOperationKHR(
11769 VkDevice device,
11770 const VkAllocationCallbacks* pAllocator,
11771 VkDeferredOperationKHR* pDeferredOperation);
11772 #endif
11773
11774 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
11775 VKAPI_ATTR void VKAPI_CALL vkDestroyDeferredOperationKHR(
11776 VkDevice device,
11777 VkDeferredOperationKHR operation,
11778 const VkAllocationCallbacks* pAllocator);
11779 #endif
11780
11781 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
11782 VKAPI_ATTR uint32_t VKAPI_CALL vkGetDeferredOperationMaxConcurrencyKHR(
11783 VkDevice device,
11784 VkDeferredOperationKHR operation);
11785 #endif
11786
11787 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
11788 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeferredOperationResultKHR(
11789 VkDevice device,
11790 VkDeferredOperationKHR operation);
11791 #endif
11792
11793 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
11794 VKAPI_ATTR VkResult VKAPI_CALL vkDeferredOperationJoinKHR(
11795 VkDevice device,
11796 VkDeferredOperationKHR operation);
11797 #endif
11798 #endif
11799
11800
11801 // VK_KHR_pipeline_executable_properties is a preprocessor guard. Do not pass it to API calls.
11802 #define VK_KHR_pipeline_executable_properties 1
11803 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION 1
11804 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME "VK_KHR_pipeline_executable_properties"
11805
11806 typedef enum VkPipelineExecutableStatisticFormatKHR {
11807 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR = 0,
11808 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR = 1,
11809 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR = 2,
11810 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR = 3,
11811 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_MAX_ENUM_KHR = 0x7FFFFFFF
11812 } VkPipelineExecutableStatisticFormatKHR;
11813 typedef struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
11814 VkStructureType sType;
11815 void* pNext;
11816 VkBool32 pipelineExecutableInfo;
11817 } VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR;
11818
11819 typedef struct VkPipelineInfoKHR {
11820 VkStructureType sType;
11821 const void* pNext;
11822 VkPipeline pipeline;
11823 } VkPipelineInfoKHR;
11824
11825 typedef struct VkPipelineExecutablePropertiesKHR {
11826 VkStructureType sType;
11827 void* pNext;
11828 VkShaderStageFlags stages;
11829 char name[VK_MAX_DESCRIPTION_SIZE];
11830 char description[VK_MAX_DESCRIPTION_SIZE];
11831 uint32_t subgroupSize;
11832 } VkPipelineExecutablePropertiesKHR;
11833
11834 typedef struct VkPipelineExecutableInfoKHR {
11835 VkStructureType sType;
11836 const void* pNext;
11837 VkPipeline pipeline;
11838 uint32_t executableIndex;
11839 } VkPipelineExecutableInfoKHR;
11840
11841 typedef union VkPipelineExecutableStatisticValueKHR {
11842 VkBool32 b32;
11843 int64_t i64;
11844 uint64_t u64;
11845 double f64;
11846 } VkPipelineExecutableStatisticValueKHR;
11847
11848 typedef struct VkPipelineExecutableStatisticKHR {
11849 VkStructureType sType;
11850 void* pNext;
11851 char name[VK_MAX_DESCRIPTION_SIZE];
11852 char description[VK_MAX_DESCRIPTION_SIZE];
11853 VkPipelineExecutableStatisticFormatKHR format;
11854 VkPipelineExecutableStatisticValueKHR value;
11855 } VkPipelineExecutableStatisticKHR;
11856
11857 typedef struct VkPipelineExecutableInternalRepresentationKHR {
11858 VkStructureType sType;
11859 void* pNext;
11860 char name[VK_MAX_DESCRIPTION_SIZE];
11861 char description[VK_MAX_DESCRIPTION_SIZE];
11862 VkBool32 isText;
11863 size_t dataSize;
11864 void* pData;
11865 } VkPipelineExecutableInternalRepresentationKHR;
11866
11867 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutablePropertiesKHR)(VkDevice device, const VkPipelineInfoKHR* pPipelineInfo, uint32_t* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties);
11868 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableStatisticsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics);
11869 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableInternalRepresentationsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
11870
11871 #ifndef VK_NO_PROTOTYPES
11872 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
11873 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutablePropertiesKHR(
11874 VkDevice device,
11875 const VkPipelineInfoKHR* pPipelineInfo,
11876 uint32_t* pExecutableCount,
11877 VkPipelineExecutablePropertiesKHR* pProperties);
11878 #endif
11879
11880 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
11881 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableStatisticsKHR(
11882 VkDevice device,
11883 const VkPipelineExecutableInfoKHR* pExecutableInfo,
11884 uint32_t* pStatisticCount,
11885 VkPipelineExecutableStatisticKHR* pStatistics);
11886 #endif
11887
11888 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
11889 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableInternalRepresentationsKHR(
11890 VkDevice device,
11891 const VkPipelineExecutableInfoKHR* pExecutableInfo,
11892 uint32_t* pInternalRepresentationCount,
11893 VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
11894 #endif
11895 #endif
11896
11897
11898 // VK_KHR_map_memory2 is a preprocessor guard. Do not pass it to API calls.
11899 #define VK_KHR_map_memory2 1
11900 #define VK_KHR_MAP_MEMORY_2_SPEC_VERSION 1
11901 #define VK_KHR_MAP_MEMORY_2_EXTENSION_NAME "VK_KHR_map_memory2"
11902 typedef VkMemoryUnmapFlagBits VkMemoryUnmapFlagBitsKHR;
11903
11904 typedef VkMemoryUnmapFlags VkMemoryUnmapFlagsKHR;
11905
11906 typedef VkMemoryMapInfo VkMemoryMapInfoKHR;
11907
11908 typedef VkMemoryUnmapInfo VkMemoryUnmapInfoKHR;
11909
11910 typedef VkResult (VKAPI_PTR *PFN_vkMapMemory2KHR)(VkDevice device, const VkMemoryMapInfo* pMemoryMapInfo, void** ppData);
11911 typedef VkResult (VKAPI_PTR *PFN_vkUnmapMemory2KHR)(VkDevice device, const VkMemoryUnmapInfo* pMemoryUnmapInfo);
11912
11913 #ifndef VK_NO_PROTOTYPES
11914 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
11915 VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory2KHR(
11916 VkDevice device,
11917 const VkMemoryMapInfo* pMemoryMapInfo,
11918 void** ppData);
11919 #endif
11920
11921 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
11922 VKAPI_ATTR VkResult VKAPI_CALL vkUnmapMemory2KHR(
11923 VkDevice device,
11924 const VkMemoryUnmapInfo* pMemoryUnmapInfo);
11925 #endif
11926 #endif
11927
11928
11929 // VK_KHR_shader_integer_dot_product is a preprocessor guard. Do not pass it to API calls.
11930 #define VK_KHR_shader_integer_dot_product 1
11931 #define VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION 1
11932 #define VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME "VK_KHR_shader_integer_dot_product"
11933 typedef VkPhysicalDeviceShaderIntegerDotProductFeatures VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR;
11934
11935 typedef VkPhysicalDeviceShaderIntegerDotProductProperties VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR;
11936
11937
11938
11939 // VK_KHR_pipeline_library is a preprocessor guard. Do not pass it to API calls.
11940 #define VK_KHR_pipeline_library 1
11941 #define VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION 1
11942 #define VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME "VK_KHR_pipeline_library"
11943 typedef struct VkPipelineLibraryCreateInfoKHR {
11944 VkStructureType sType;
11945 const void* pNext;
11946 uint32_t libraryCount;
11947 const VkPipeline* pLibraries;
11948 } VkPipelineLibraryCreateInfoKHR;
11949
11950
11951
11952 // VK_KHR_shader_non_semantic_info is a preprocessor guard. Do not pass it to API calls.
11953 #define VK_KHR_shader_non_semantic_info 1
11954 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION 1
11955 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME "VK_KHR_shader_non_semantic_info"
11956
11957
11958 // VK_KHR_present_id is a preprocessor guard. Do not pass it to API calls.
11959 #define VK_KHR_present_id 1
11960 #define VK_KHR_PRESENT_ID_SPEC_VERSION 1
11961 #define VK_KHR_PRESENT_ID_EXTENSION_NAME "VK_KHR_present_id"
11962 typedef struct VkPresentIdKHR {
11963 VkStructureType sType;
11964 const void* pNext;
11965 uint32_t swapchainCount;
11966 const uint64_t* pPresentIds;
11967 } VkPresentIdKHR;
11968
11969 typedef struct VkPhysicalDevicePresentIdFeaturesKHR {
11970 VkStructureType sType;
11971 void* pNext;
11972 VkBool32 presentId;
11973 } VkPhysicalDevicePresentIdFeaturesKHR;
11974
11975
11976
11977 // VK_KHR_video_encode_queue is a preprocessor guard. Do not pass it to API calls.
11978 #define VK_KHR_video_encode_queue 1
11979 #define VK_KHR_VIDEO_ENCODE_QUEUE_SPEC_VERSION 12
11980 #define VK_KHR_VIDEO_ENCODE_QUEUE_EXTENSION_NAME "VK_KHR_video_encode_queue"
11981
11982 typedef enum VkVideoEncodeTuningModeKHR {
11983 VK_VIDEO_ENCODE_TUNING_MODE_DEFAULT_KHR = 0,
11984 VK_VIDEO_ENCODE_TUNING_MODE_HIGH_QUALITY_KHR = 1,
11985 VK_VIDEO_ENCODE_TUNING_MODE_LOW_LATENCY_KHR = 2,
11986 VK_VIDEO_ENCODE_TUNING_MODE_ULTRA_LOW_LATENCY_KHR = 3,
11987 VK_VIDEO_ENCODE_TUNING_MODE_LOSSLESS_KHR = 4,
11988 VK_VIDEO_ENCODE_TUNING_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
11989 } VkVideoEncodeTuningModeKHR;
11990
11991 typedef enum VkVideoEncodeFlagBitsKHR {
11992 VK_VIDEO_ENCODE_INTRA_REFRESH_BIT_KHR = 0x00000004,
11993 VK_VIDEO_ENCODE_WITH_QUANTIZATION_DELTA_MAP_BIT_KHR = 0x00000001,
11994 VK_VIDEO_ENCODE_WITH_EMPHASIS_MAP_BIT_KHR = 0x00000002,
11995 VK_VIDEO_ENCODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
11996 } VkVideoEncodeFlagBitsKHR;
11997 typedef VkFlags VkVideoEncodeFlagsKHR;
11998
11999 typedef enum VkVideoEncodeCapabilityFlagBitsKHR {
12000 VK_VIDEO_ENCODE_CAPABILITY_PRECEDING_EXTERNALLY_ENCODED_BYTES_BIT_KHR = 0x00000001,
12001 VK_VIDEO_ENCODE_CAPABILITY_INSUFFICIENT_BITSTREAM_BUFFER_RANGE_DETECTION_BIT_KHR = 0x00000002,
12002 VK_VIDEO_ENCODE_CAPABILITY_QUANTIZATION_DELTA_MAP_BIT_KHR = 0x00000004,
12003 VK_VIDEO_ENCODE_CAPABILITY_EMPHASIS_MAP_BIT_KHR = 0x00000008,
12004 VK_VIDEO_ENCODE_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
12005 } VkVideoEncodeCapabilityFlagBitsKHR;
12006 typedef VkFlags VkVideoEncodeCapabilityFlagsKHR;
12007
12008 typedef enum VkVideoEncodeRateControlModeFlagBitsKHR {
12009 VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DEFAULT_KHR = 0,
12010 VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DISABLED_BIT_KHR = 0x00000001,
12011 VK_VIDEO_ENCODE_RATE_CONTROL_MODE_CBR_BIT_KHR = 0x00000002,
12012 VK_VIDEO_ENCODE_RATE_CONTROL_MODE_VBR_BIT_KHR = 0x00000004,
12013 VK_VIDEO_ENCODE_RATE_CONTROL_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
12014 } VkVideoEncodeRateControlModeFlagBitsKHR;
12015 typedef VkFlags VkVideoEncodeRateControlModeFlagsKHR;
12016
12017 typedef enum VkVideoEncodeFeedbackFlagBitsKHR {
12018 VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_BUFFER_OFFSET_BIT_KHR = 0x00000001,
12019 VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_BYTES_WRITTEN_BIT_KHR = 0x00000002,
12020 VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_HAS_OVERRIDES_BIT_KHR = 0x00000004,
12021 VK_VIDEO_ENCODE_FEEDBACK_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
12022 } VkVideoEncodeFeedbackFlagBitsKHR;
12023 typedef VkFlags VkVideoEncodeFeedbackFlagsKHR;
12024
12025 typedef enum VkVideoEncodeUsageFlagBitsKHR {
12026 VK_VIDEO_ENCODE_USAGE_DEFAULT_KHR = 0,
12027 VK_VIDEO_ENCODE_USAGE_TRANSCODING_BIT_KHR = 0x00000001,
12028 VK_VIDEO_ENCODE_USAGE_STREAMING_BIT_KHR = 0x00000002,
12029 VK_VIDEO_ENCODE_USAGE_RECORDING_BIT_KHR = 0x00000004,
12030 VK_VIDEO_ENCODE_USAGE_CONFERENCING_BIT_KHR = 0x00000008,
12031 VK_VIDEO_ENCODE_USAGE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
12032 } VkVideoEncodeUsageFlagBitsKHR;
12033 typedef VkFlags VkVideoEncodeUsageFlagsKHR;
12034
12035 typedef enum VkVideoEncodeContentFlagBitsKHR {
12036 VK_VIDEO_ENCODE_CONTENT_DEFAULT_KHR = 0,
12037 VK_VIDEO_ENCODE_CONTENT_CAMERA_BIT_KHR = 0x00000001,
12038 VK_VIDEO_ENCODE_CONTENT_DESKTOP_BIT_KHR = 0x00000002,
12039 VK_VIDEO_ENCODE_CONTENT_RENDERED_BIT_KHR = 0x00000004,
12040 VK_VIDEO_ENCODE_CONTENT_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
12041 } VkVideoEncodeContentFlagBitsKHR;
12042 typedef VkFlags VkVideoEncodeContentFlagsKHR;
12043 typedef VkFlags VkVideoEncodeRateControlFlagsKHR;
12044 typedef struct VkVideoEncodeInfoKHR {
12045 VkStructureType sType;
12046 const void* pNext;
12047 VkVideoEncodeFlagsKHR flags;
12048 VkBuffer dstBuffer;
12049 VkDeviceSize dstBufferOffset;
12050 VkDeviceSize dstBufferRange;
12051 VkVideoPictureResourceInfoKHR srcPictureResource;
12052 const VkVideoReferenceSlotInfoKHR* pSetupReferenceSlot;
12053 uint32_t referenceSlotCount;
12054 const VkVideoReferenceSlotInfoKHR* pReferenceSlots;
12055 uint32_t precedingExternallyEncodedBytes;
12056 } VkVideoEncodeInfoKHR;
12057
12058 typedef struct VkVideoEncodeCapabilitiesKHR {
12059 VkStructureType sType;
12060 void* pNext;
12061 VkVideoEncodeCapabilityFlagsKHR flags;
12062 VkVideoEncodeRateControlModeFlagsKHR rateControlModes;
12063 uint32_t maxRateControlLayers;
12064 uint64_t maxBitrate;
12065 uint32_t maxQualityLevels;
12066 VkExtent2D encodeInputPictureGranularity;
12067 VkVideoEncodeFeedbackFlagsKHR supportedEncodeFeedbackFlags;
12068 } VkVideoEncodeCapabilitiesKHR;
12069
12070 typedef struct VkQueryPoolVideoEncodeFeedbackCreateInfoKHR {
12071 VkStructureType sType;
12072 const void* pNext;
12073 VkVideoEncodeFeedbackFlagsKHR encodeFeedbackFlags;
12074 } VkQueryPoolVideoEncodeFeedbackCreateInfoKHR;
12075
12076 typedef struct VkVideoEncodeUsageInfoKHR {
12077 VkStructureType sType;
12078 const void* pNext;
12079 VkVideoEncodeUsageFlagsKHR videoUsageHints;
12080 VkVideoEncodeContentFlagsKHR videoContentHints;
12081 VkVideoEncodeTuningModeKHR tuningMode;
12082 } VkVideoEncodeUsageInfoKHR;
12083
12084 typedef struct VkVideoEncodeRateControlLayerInfoKHR {
12085 VkStructureType sType;
12086 const void* pNext;
12087 uint64_t averageBitrate;
12088 uint64_t maxBitrate;
12089 uint32_t frameRateNumerator;
12090 uint32_t frameRateDenominator;
12091 } VkVideoEncodeRateControlLayerInfoKHR;
12092
12093 typedef struct VkVideoEncodeRateControlInfoKHR {
12094 VkStructureType sType;
12095 const void* pNext;
12096 VkVideoEncodeRateControlFlagsKHR flags;
12097 VkVideoEncodeRateControlModeFlagBitsKHR rateControlMode;
12098 uint32_t layerCount;
12099 const VkVideoEncodeRateControlLayerInfoKHR* pLayers;
12100 uint32_t virtualBufferSizeInMs;
12101 uint32_t initialVirtualBufferSizeInMs;
12102 } VkVideoEncodeRateControlInfoKHR;
12103
12104 typedef struct VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR {
12105 VkStructureType sType;
12106 const void* pNext;
12107 const VkVideoProfileInfoKHR* pVideoProfile;
12108 uint32_t qualityLevel;
12109 } VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR;
12110
12111 typedef struct VkVideoEncodeQualityLevelPropertiesKHR {
12112 VkStructureType sType;
12113 void* pNext;
12114 VkVideoEncodeRateControlModeFlagBitsKHR preferredRateControlMode;
12115 uint32_t preferredRateControlLayerCount;
12116 } VkVideoEncodeQualityLevelPropertiesKHR;
12117
12118 typedef struct VkVideoEncodeQualityLevelInfoKHR {
12119 VkStructureType sType;
12120 const void* pNext;
12121 uint32_t qualityLevel;
12122 } VkVideoEncodeQualityLevelInfoKHR;
12123
12124 typedef struct VkVideoEncodeSessionParametersGetInfoKHR {
12125 VkStructureType sType;
12126 const void* pNext;
12127 VkVideoSessionParametersKHR videoSessionParameters;
12128 } VkVideoEncodeSessionParametersGetInfoKHR;
12129
12130 typedef struct VkVideoEncodeSessionParametersFeedbackInfoKHR {
12131 VkStructureType sType;
12132 void* pNext;
12133 VkBool32 hasOverrides;
12134 } VkVideoEncodeSessionParametersFeedbackInfoKHR;
12135
12136 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR* pQualityLevelInfo, VkVideoEncodeQualityLevelPropertiesKHR* pQualityLevelProperties);
12137 typedef VkResult (VKAPI_PTR *PFN_vkGetEncodedVideoSessionParametersKHR)(VkDevice device, const VkVideoEncodeSessionParametersGetInfoKHR* pVideoSessionParametersInfo, VkVideoEncodeSessionParametersFeedbackInfoKHR* pFeedbackInfo, size_t* pDataSize, void* pData);
12138 typedef void (VKAPI_PTR *PFN_vkCmdEncodeVideoKHR)(VkCommandBuffer commandBuffer, const VkVideoEncodeInfoKHR* pEncodeInfo);
12139
12140 #ifndef VK_NO_PROTOTYPES
12141 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
12142 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR(
12143 VkPhysicalDevice physicalDevice,
12144 const VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR* pQualityLevelInfo,
12145 VkVideoEncodeQualityLevelPropertiesKHR* pQualityLevelProperties);
12146 #endif
12147
12148 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
12149 VKAPI_ATTR VkResult VKAPI_CALL vkGetEncodedVideoSessionParametersKHR(
12150 VkDevice device,
12151 const VkVideoEncodeSessionParametersGetInfoKHR* pVideoSessionParametersInfo,
12152 VkVideoEncodeSessionParametersFeedbackInfoKHR* pFeedbackInfo,
12153 size_t* pDataSize,
12154 void* pData);
12155 #endif
12156
12157 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
12158 VKAPI_ATTR void VKAPI_CALL vkCmdEncodeVideoKHR(
12159 VkCommandBuffer commandBuffer,
12160 const VkVideoEncodeInfoKHR* pEncodeInfo);
12161 #endif
12162 #endif
12163
12164
12165 // VK_KHR_synchronization2 is a preprocessor guard. Do not pass it to API calls.
12166 #define VK_KHR_synchronization2 1
12167 #define VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION 1
12168 #define VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME "VK_KHR_synchronization2"
12169 typedef VkPipelineStageFlags2 VkPipelineStageFlags2KHR;
12170
12171 typedef VkPipelineStageFlagBits2 VkPipelineStageFlagBits2KHR;
12172
12173 typedef VkAccessFlags2 VkAccessFlags2KHR;
12174
12175 typedef VkAccessFlagBits2 VkAccessFlagBits2KHR;
12176
12177 typedef VkSubmitFlagBits VkSubmitFlagBitsKHR;
12178
12179 typedef VkSubmitFlags VkSubmitFlagsKHR;
12180
12181 typedef VkMemoryBarrier2 VkMemoryBarrier2KHR;
12182
12183 typedef VkBufferMemoryBarrier2 VkBufferMemoryBarrier2KHR;
12184
12185 typedef VkImageMemoryBarrier2 VkImageMemoryBarrier2KHR;
12186
12187 typedef VkDependencyInfo VkDependencyInfoKHR;
12188
12189 typedef VkSubmitInfo2 VkSubmitInfo2KHR;
12190
12191 typedef VkSemaphoreSubmitInfo VkSemaphoreSubmitInfoKHR;
12192
12193 typedef VkCommandBufferSubmitInfo VkCommandBufferSubmitInfoKHR;
12194
12195 typedef VkPhysicalDeviceSynchronization2Features VkPhysicalDeviceSynchronization2FeaturesKHR;
12196
12197 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo* pDependencyInfo);
12198 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask);
12199 typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents2KHR)(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, const VkDependencyInfo* pDependencyInfos);
12200 typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier2KHR)(VkCommandBuffer commandBuffer, const VkDependencyInfo* pDependencyInfo);
12201 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2KHR)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query);
12202 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2KHR)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo2* pSubmits, VkFence fence);
12203
12204 #ifndef VK_NO_PROTOTYPES
12205 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
12206 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent2KHR(
12207 VkCommandBuffer commandBuffer,
12208 VkEvent event,
12209 const VkDependencyInfo* pDependencyInfo);
12210 #endif
12211
12212 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
12213 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent2KHR(
12214 VkCommandBuffer commandBuffer,
12215 VkEvent event,
12216 VkPipelineStageFlags2 stageMask);
12217 #endif
12218
12219 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
12220 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents2KHR(
12221 VkCommandBuffer commandBuffer,
12222 uint32_t eventCount,
12223 const VkEvent* pEvents,
12224 const VkDependencyInfo* pDependencyInfos);
12225 #endif
12226
12227 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
12228 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier2KHR(
12229 VkCommandBuffer commandBuffer,
12230 const VkDependencyInfo* pDependencyInfo);
12231 #endif
12232
12233 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
12234 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp2KHR(
12235 VkCommandBuffer commandBuffer,
12236 VkPipelineStageFlags2 stage,
12237 VkQueryPool queryPool,
12238 uint32_t query);
12239 #endif
12240
12241 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
12242 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit2KHR(
12243 VkQueue queue,
12244 uint32_t submitCount,
12245 const VkSubmitInfo2* pSubmits,
12246 VkFence fence);
12247 #endif
12248 #endif
12249
12250
12251 // VK_KHR_fragment_shader_barycentric is a preprocessor guard. Do not pass it to API calls.
12252 #define VK_KHR_fragment_shader_barycentric 1
12253 #define VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1
12254 #define VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_KHR_fragment_shader_barycentric"
12255 typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR {
12256 VkStructureType sType;
12257 void* pNext;
12258 VkBool32 fragmentShaderBarycentric;
12259 } VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR;
12260
12261 typedef struct VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR {
12262 VkStructureType sType;
12263 void* pNext;
12264 VkBool32 triStripVertexOrderIndependentOfProvokingVertex;
12265 } VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR;
12266
12267
12268
12269 // VK_KHR_shader_subgroup_uniform_control_flow is a preprocessor guard. Do not pass it to API calls.
12270 #define VK_KHR_shader_subgroup_uniform_control_flow 1
12271 #define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION 1
12272 #define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME "VK_KHR_shader_subgroup_uniform_control_flow"
12273 typedef struct VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR {
12274 VkStructureType sType;
12275 void* pNext;
12276 VkBool32 shaderSubgroupUniformControlFlow;
12277 } VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR;
12278
12279
12280
12281 // VK_KHR_zero_initialize_workgroup_memory is a preprocessor guard. Do not pass it to API calls.
12282 #define VK_KHR_zero_initialize_workgroup_memory 1
12283 #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION 1
12284 #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME "VK_KHR_zero_initialize_workgroup_memory"
12285 typedef VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR;
12286
12287
12288
12289 // VK_KHR_workgroup_memory_explicit_layout is a preprocessor guard. Do not pass it to API calls.
12290 #define VK_KHR_workgroup_memory_explicit_layout 1
12291 #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION 1
12292 #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME "VK_KHR_workgroup_memory_explicit_layout"
12293 typedef struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {
12294 VkStructureType sType;
12295 void* pNext;
12296 VkBool32 workgroupMemoryExplicitLayout;
12297 VkBool32 workgroupMemoryExplicitLayoutScalarBlockLayout;
12298 VkBool32 workgroupMemoryExplicitLayout8BitAccess;
12299 VkBool32 workgroupMemoryExplicitLayout16BitAccess;
12300 } VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR;
12301
12302
12303
12304 // VK_KHR_copy_commands2 is a preprocessor guard. Do not pass it to API calls.
12305 #define VK_KHR_copy_commands2 1
12306 #define VK_KHR_COPY_COMMANDS_2_SPEC_VERSION 1
12307 #define VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME "VK_KHR_copy_commands2"
12308 typedef VkCopyBufferInfo2 VkCopyBufferInfo2KHR;
12309
12310 typedef VkCopyImageInfo2 VkCopyImageInfo2KHR;
12311
12312 typedef VkCopyBufferToImageInfo2 VkCopyBufferToImageInfo2KHR;
12313
12314 typedef VkCopyImageToBufferInfo2 VkCopyImageToBufferInfo2KHR;
12315
12316 typedef VkBlitImageInfo2 VkBlitImageInfo2KHR;
12317
12318 typedef VkResolveImageInfo2 VkResolveImageInfo2KHR;
12319
12320 typedef VkBufferCopy2 VkBufferCopy2KHR;
12321
12322 typedef VkImageCopy2 VkImageCopy2KHR;
12323
12324 typedef VkImageBlit2 VkImageBlit2KHR;
12325
12326 typedef VkBufferImageCopy2 VkBufferImageCopy2KHR;
12327
12328 typedef VkImageResolve2 VkImageResolve2KHR;
12329
12330 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2* pCopyBufferInfo);
12331 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2* pCopyImageInfo);
12332 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo);
12333 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo);
12334 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage2KHR)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2* pBlitImageInfo);
12335 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage2KHR)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2* pResolveImageInfo);
12336
12337 #ifndef VK_NO_PROTOTYPES
12338 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
12339 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer2KHR(
12340 VkCommandBuffer commandBuffer,
12341 const VkCopyBufferInfo2* pCopyBufferInfo);
12342 #endif
12343
12344 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
12345 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage2KHR(
12346 VkCommandBuffer commandBuffer,
12347 const VkCopyImageInfo2* pCopyImageInfo);
12348 #endif
12349
12350 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
12351 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage2KHR(
12352 VkCommandBuffer commandBuffer,
12353 const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo);
12354 #endif
12355
12356 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
12357 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer2KHR(
12358 VkCommandBuffer commandBuffer,
12359 const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo);
12360 #endif
12361
12362 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
12363 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage2KHR(
12364 VkCommandBuffer commandBuffer,
12365 const VkBlitImageInfo2* pBlitImageInfo);
12366 #endif
12367
12368 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
12369 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage2KHR(
12370 VkCommandBuffer commandBuffer,
12371 const VkResolveImageInfo2* pResolveImageInfo);
12372 #endif
12373 #endif
12374
12375
12376 // VK_KHR_format_feature_flags2 is a preprocessor guard. Do not pass it to API calls.
12377 #define VK_KHR_format_feature_flags2 1
12378 #define VK_KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION 2
12379 #define VK_KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME "VK_KHR_format_feature_flags2"
12380 typedef VkFormatFeatureFlags2 VkFormatFeatureFlags2KHR;
12381
12382 typedef VkFormatFeatureFlagBits2 VkFormatFeatureFlagBits2KHR;
12383
12384 typedef VkFormatProperties3 VkFormatProperties3KHR;
12385
12386
12387
12388 // VK_KHR_ray_tracing_maintenance1 is a preprocessor guard. Do not pass it to API calls.
12389 #define VK_KHR_ray_tracing_maintenance1 1
12390 #define VK_KHR_RAY_TRACING_MAINTENANCE_1_SPEC_VERSION 1
12391 #define VK_KHR_RAY_TRACING_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_ray_tracing_maintenance1"
12392 typedef struct VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR {
12393 VkStructureType sType;
12394 void* pNext;
12395 VkBool32 rayTracingMaintenance1;
12396 VkBool32 rayTracingPipelineTraceRaysIndirect2;
12397 } VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR;
12398
12399 typedef struct VkTraceRaysIndirectCommand2KHR {
12400 VkDeviceAddress raygenShaderRecordAddress;
12401 VkDeviceSize raygenShaderRecordSize;
12402 VkDeviceAddress missShaderBindingTableAddress;
12403 VkDeviceSize missShaderBindingTableSize;
12404 VkDeviceSize missShaderBindingTableStride;
12405 VkDeviceAddress hitShaderBindingTableAddress;
12406 VkDeviceSize hitShaderBindingTableSize;
12407 VkDeviceSize hitShaderBindingTableStride;
12408 VkDeviceAddress callableShaderBindingTableAddress;
12409 VkDeviceSize callableShaderBindingTableSize;
12410 VkDeviceSize callableShaderBindingTableStride;
12411 uint32_t width;
12412 uint32_t height;
12413 uint32_t depth;
12414 } VkTraceRaysIndirectCommand2KHR;
12415
12416 typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysIndirect2KHR)(VkCommandBuffer commandBuffer, VkDeviceAddress indirectDeviceAddress);
12417
12418 #ifndef VK_NO_PROTOTYPES
12419 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
12420 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysIndirect2KHR(
12421 VkCommandBuffer commandBuffer,
12422 VkDeviceAddress indirectDeviceAddress);
12423 #endif
12424 #endif
12425
12426
12427 // VK_KHR_shader_untyped_pointers is a preprocessor guard. Do not pass it to API calls.
12428 #define VK_KHR_shader_untyped_pointers 1
12429 #define VK_KHR_SHADER_UNTYPED_POINTERS_SPEC_VERSION 1
12430 #define VK_KHR_SHADER_UNTYPED_POINTERS_EXTENSION_NAME "VK_KHR_shader_untyped_pointers"
12431 typedef struct VkPhysicalDeviceShaderUntypedPointersFeaturesKHR {
12432 VkStructureType sType;
12433 void* pNext;
12434 VkBool32 shaderUntypedPointers;
12435 } VkPhysicalDeviceShaderUntypedPointersFeaturesKHR;
12436
12437
12438
12439 // VK_KHR_portability_enumeration is a preprocessor guard. Do not pass it to API calls.
12440 #define VK_KHR_portability_enumeration 1
12441 #define VK_KHR_PORTABILITY_ENUMERATION_SPEC_VERSION 1
12442 #define VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME "VK_KHR_portability_enumeration"
12443
12444
12445 // VK_KHR_maintenance4 is a preprocessor guard. Do not pass it to API calls.
12446 #define VK_KHR_maintenance4 1
12447 #define VK_KHR_MAINTENANCE_4_SPEC_VERSION 2
12448 #define VK_KHR_MAINTENANCE_4_EXTENSION_NAME "VK_KHR_maintenance4"
12449 typedef VkPhysicalDeviceMaintenance4Features VkPhysicalDeviceMaintenance4FeaturesKHR;
12450
12451 typedef VkPhysicalDeviceMaintenance4Properties VkPhysicalDeviceMaintenance4PropertiesKHR;
12452
12453 typedef VkDeviceBufferMemoryRequirements VkDeviceBufferMemoryRequirementsKHR;
12454
12455 typedef VkDeviceImageMemoryRequirements VkDeviceImageMemoryRequirementsKHR;
12456
12457 typedef void (VKAPI_PTR *PFN_vkGetDeviceBufferMemoryRequirementsKHR)(VkDevice device, const VkDeviceBufferMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements);
12458 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageMemoryRequirementsKHR)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements);
12459 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageSparseMemoryRequirementsKHR)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
12460
12461 #ifndef VK_NO_PROTOTYPES
12462 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
12463 VKAPI_ATTR void VKAPI_CALL vkGetDeviceBufferMemoryRequirementsKHR(
12464 VkDevice device,
12465 const VkDeviceBufferMemoryRequirements* pInfo,
12466 VkMemoryRequirements2* pMemoryRequirements);
12467 #endif
12468
12469 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
12470 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageMemoryRequirementsKHR(
12471 VkDevice device,
12472 const VkDeviceImageMemoryRequirements* pInfo,
12473 VkMemoryRequirements2* pMemoryRequirements);
12474 #endif
12475
12476 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
12477 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageSparseMemoryRequirementsKHR(
12478 VkDevice device,
12479 const VkDeviceImageMemoryRequirements* pInfo,
12480 uint32_t* pSparseMemoryRequirementCount,
12481 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
12482 #endif
12483 #endif
12484
12485
12486 // VK_KHR_shader_subgroup_rotate is a preprocessor guard. Do not pass it to API calls.
12487 #define VK_KHR_shader_subgroup_rotate 1
12488 #define VK_KHR_SHADER_SUBGROUP_ROTATE_SPEC_VERSION 2
12489 #define VK_KHR_SHADER_SUBGROUP_ROTATE_EXTENSION_NAME "VK_KHR_shader_subgroup_rotate"
12490 typedef VkPhysicalDeviceShaderSubgroupRotateFeatures VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR;
12491
12492
12493
12494 // VK_KHR_shader_maximal_reconvergence is a preprocessor guard. Do not pass it to API calls.
12495 #define VK_KHR_shader_maximal_reconvergence 1
12496 #define VK_KHR_SHADER_MAXIMAL_RECONVERGENCE_SPEC_VERSION 1
12497 #define VK_KHR_SHADER_MAXIMAL_RECONVERGENCE_EXTENSION_NAME "VK_KHR_shader_maximal_reconvergence"
12498 typedef struct VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR {
12499 VkStructureType sType;
12500 void* pNext;
12501 VkBool32 shaderMaximalReconvergence;
12502 } VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR;
12503
12504
12505
12506 // VK_KHR_maintenance5 is a preprocessor guard. Do not pass it to API calls.
12507 #define VK_KHR_maintenance5 1
12508 #define VK_KHR_MAINTENANCE_5_SPEC_VERSION 1
12509 #define VK_KHR_MAINTENANCE_5_EXTENSION_NAME "VK_KHR_maintenance5"
12510 typedef VkPipelineCreateFlags2 VkPipelineCreateFlags2KHR;
12511
12512 typedef VkPipelineCreateFlagBits2 VkPipelineCreateFlagBits2KHR;
12513
12514 typedef VkBufferUsageFlags2 VkBufferUsageFlags2KHR;
12515
12516 typedef VkBufferUsageFlagBits2 VkBufferUsageFlagBits2KHR;
12517
12518 typedef VkPhysicalDeviceMaintenance5Features VkPhysicalDeviceMaintenance5FeaturesKHR;
12519
12520 typedef VkPhysicalDeviceMaintenance5Properties VkPhysicalDeviceMaintenance5PropertiesKHR;
12521
12522 typedef VkRenderingAreaInfo VkRenderingAreaInfoKHR;
12523
12524 typedef VkDeviceImageSubresourceInfo VkDeviceImageSubresourceInfoKHR;
12525
12526 typedef VkImageSubresource2 VkImageSubresource2KHR;
12527
12528 typedef VkSubresourceLayout2 VkSubresourceLayout2KHR;
12529
12530 typedef VkPipelineCreateFlags2CreateInfo VkPipelineCreateFlags2CreateInfoKHR;
12531
12532 typedef VkBufferUsageFlags2CreateInfo VkBufferUsageFlags2CreateInfoKHR;
12533
12534 typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer2KHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkDeviceSize size, VkIndexType indexType);
12535 typedef void (VKAPI_PTR *PFN_vkGetRenderingAreaGranularityKHR)(VkDevice device, const VkRenderingAreaInfo* pRenderingAreaInfo, VkExtent2D* pGranularity);
12536 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageSubresourceLayoutKHR)(VkDevice device, const VkDeviceImageSubresourceInfo* pInfo, VkSubresourceLayout2* pLayout);
12537 typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout2KHR)(VkDevice device, VkImage image, const VkImageSubresource2* pSubresource, VkSubresourceLayout2* pLayout);
12538
12539 #ifndef VK_NO_PROTOTYPES
12540 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
12541 VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer2KHR(
12542 VkCommandBuffer commandBuffer,
12543 VkBuffer buffer,
12544 VkDeviceSize offset,
12545 VkDeviceSize size,
12546 VkIndexType indexType);
12547 #endif
12548
12549 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
12550 VKAPI_ATTR void VKAPI_CALL vkGetRenderingAreaGranularityKHR(
12551 VkDevice device,
12552 const VkRenderingAreaInfo* pRenderingAreaInfo,
12553 VkExtent2D* pGranularity);
12554 #endif
12555
12556 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
12557 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageSubresourceLayoutKHR(
12558 VkDevice device,
12559 const VkDeviceImageSubresourceInfo* pInfo,
12560 VkSubresourceLayout2* pLayout);
12561 #endif
12562
12563 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
12564 VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout2KHR(
12565 VkDevice device,
12566 VkImage image,
12567 const VkImageSubresource2* pSubresource,
12568 VkSubresourceLayout2* pLayout);
12569 #endif
12570 #endif
12571
12572
12573 // VK_KHR_present_id2 is a preprocessor guard. Do not pass it to API calls.
12574 #define VK_KHR_present_id2 1
12575 #define VK_KHR_PRESENT_ID_2_SPEC_VERSION 1
12576 #define VK_KHR_PRESENT_ID_2_EXTENSION_NAME "VK_KHR_present_id2"
12577 typedef struct VkSurfaceCapabilitiesPresentId2KHR {
12578 VkStructureType sType;
12579 void* pNext;
12580 VkBool32 presentId2Supported;
12581 } VkSurfaceCapabilitiesPresentId2KHR;
12582
12583 typedef struct VkPresentId2KHR {
12584 VkStructureType sType;
12585 const void* pNext;
12586 uint32_t swapchainCount;
12587 const uint64_t* pPresentIds;
12588 } VkPresentId2KHR;
12589
12590 typedef struct VkPhysicalDevicePresentId2FeaturesKHR {
12591 VkStructureType sType;
12592 void* pNext;
12593 VkBool32 presentId2;
12594 } VkPhysicalDevicePresentId2FeaturesKHR;
12595
12596
12597
12598 // VK_KHR_present_wait2 is a preprocessor guard. Do not pass it to API calls.
12599 #define VK_KHR_present_wait2 1
12600 #define VK_KHR_PRESENT_WAIT_2_SPEC_VERSION 1
12601 #define VK_KHR_PRESENT_WAIT_2_EXTENSION_NAME "VK_KHR_present_wait2"
12602 typedef struct VkSurfaceCapabilitiesPresentWait2KHR {
12603 VkStructureType sType;
12604 void* pNext;
12605 VkBool32 presentWait2Supported;
12606 } VkSurfaceCapabilitiesPresentWait2KHR;
12607
12608 typedef struct VkPhysicalDevicePresentWait2FeaturesKHR {
12609 VkStructureType sType;
12610 void* pNext;
12611 VkBool32 presentWait2;
12612 } VkPhysicalDevicePresentWait2FeaturesKHR;
12613
12614 typedef struct VkPresentWait2InfoKHR {
12615 VkStructureType sType;
12616 const void* pNext;
12617 uint64_t presentId;
12618 uint64_t timeout;
12619 } VkPresentWait2InfoKHR;
12620
12621 typedef VkResult (VKAPI_PTR *PFN_vkWaitForPresent2KHR)(VkDevice device, VkSwapchainKHR swapchain, const VkPresentWait2InfoKHR* pPresentWait2Info);
12622
12623 #ifndef VK_NO_PROTOTYPES
12624 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
12625 VKAPI_ATTR VkResult VKAPI_CALL vkWaitForPresent2KHR(
12626 VkDevice device,
12627 VkSwapchainKHR swapchain,
12628 const VkPresentWait2InfoKHR* pPresentWait2Info);
12629 #endif
12630 #endif
12631
12632
12633 // VK_KHR_ray_tracing_position_fetch is a preprocessor guard. Do not pass it to API calls.
12634 #define VK_KHR_ray_tracing_position_fetch 1
12635 #define VK_KHR_RAY_TRACING_POSITION_FETCH_SPEC_VERSION 1
12636 #define VK_KHR_RAY_TRACING_POSITION_FETCH_EXTENSION_NAME "VK_KHR_ray_tracing_position_fetch"
12637 typedef struct VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR {
12638 VkStructureType sType;
12639 void* pNext;
12640 VkBool32 rayTracingPositionFetch;
12641 } VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR;
12642
12643
12644
12645 // VK_KHR_pipeline_binary is a preprocessor guard. Do not pass it to API calls.
12646 #define VK_KHR_pipeline_binary 1
12647 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineBinaryKHR)
12648 #define VK_MAX_PIPELINE_BINARY_KEY_SIZE_KHR 32U
12649 #define VK_KHR_PIPELINE_BINARY_SPEC_VERSION 1
12650 #define VK_KHR_PIPELINE_BINARY_EXTENSION_NAME "VK_KHR_pipeline_binary"
12651 typedef struct VkPhysicalDevicePipelineBinaryFeaturesKHR {
12652 VkStructureType sType;
12653 void* pNext;
12654 VkBool32 pipelineBinaries;
12655 } VkPhysicalDevicePipelineBinaryFeaturesKHR;
12656
12657 typedef struct VkPhysicalDevicePipelineBinaryPropertiesKHR {
12658 VkStructureType sType;
12659 void* pNext;
12660 VkBool32 pipelineBinaryInternalCache;
12661 VkBool32 pipelineBinaryInternalCacheControl;
12662 VkBool32 pipelineBinaryPrefersInternalCache;
12663 VkBool32 pipelineBinaryPrecompiledInternalCache;
12664 VkBool32 pipelineBinaryCompressedData;
12665 } VkPhysicalDevicePipelineBinaryPropertiesKHR;
12666
12667 typedef struct VkDevicePipelineBinaryInternalCacheControlKHR {
12668 VkStructureType sType;
12669 const void* pNext;
12670 VkBool32 disableInternalCache;
12671 } VkDevicePipelineBinaryInternalCacheControlKHR;
12672
12673 typedef struct VkPipelineBinaryKeyKHR {
12674 VkStructureType sType;
12675 void* pNext;
12676 uint32_t keySize;
12677 uint8_t key[VK_MAX_PIPELINE_BINARY_KEY_SIZE_KHR];
12678 } VkPipelineBinaryKeyKHR;
12679
12680 typedef struct VkPipelineBinaryDataKHR {
12681 size_t dataSize;
12682 void* pData;
12683 } VkPipelineBinaryDataKHR;
12684
12685 typedef struct VkPipelineBinaryKeysAndDataKHR {
12686 uint32_t binaryCount;
12687 const VkPipelineBinaryKeyKHR* pPipelineBinaryKeys;
12688 const VkPipelineBinaryDataKHR* pPipelineBinaryData;
12689 } VkPipelineBinaryKeysAndDataKHR;
12690
12691 typedef struct VkPipelineCreateInfoKHR {
12692 VkStructureType sType;
12693 void* pNext;
12694 } VkPipelineCreateInfoKHR;
12695
12696 typedef struct VkPipelineBinaryCreateInfoKHR {
12697 VkStructureType sType;
12698 const void* pNext;
12699 const VkPipelineBinaryKeysAndDataKHR* pKeysAndDataInfo;
12700 VkPipeline pipeline;
12701 const VkPipelineCreateInfoKHR* pPipelineCreateInfo;
12702 } VkPipelineBinaryCreateInfoKHR;
12703
12704 typedef struct VkPipelineBinaryInfoKHR {
12705 VkStructureType sType;
12706 const void* pNext;
12707 uint32_t binaryCount;
12708 const VkPipelineBinaryKHR* pPipelineBinaries;
12709 } VkPipelineBinaryInfoKHR;
12710
12711 typedef struct VkReleaseCapturedPipelineDataInfoKHR {
12712 VkStructureType sType;
12713 void* pNext;
12714 VkPipeline pipeline;
12715 } VkReleaseCapturedPipelineDataInfoKHR;
12716
12717 typedef struct VkPipelineBinaryDataInfoKHR {
12718 VkStructureType sType;
12719 void* pNext;
12720 VkPipelineBinaryKHR pipelineBinary;
12721 } VkPipelineBinaryDataInfoKHR;
12722
12723 typedef struct VkPipelineBinaryHandlesInfoKHR {
12724 VkStructureType sType;
12725 const void* pNext;
12726 uint32_t pipelineBinaryCount;
12727 VkPipelineBinaryKHR* pPipelineBinaries;
12728 } VkPipelineBinaryHandlesInfoKHR;
12729
12730 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineBinariesKHR)(VkDevice device, const VkPipelineBinaryCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineBinaryHandlesInfoKHR* pBinaries);
12731 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineBinaryKHR)(VkDevice device, VkPipelineBinaryKHR pipelineBinary, const VkAllocationCallbacks* pAllocator);
12732 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineKeyKHR)(VkDevice device, const VkPipelineCreateInfoKHR* pPipelineCreateInfo, VkPipelineBinaryKeyKHR* pPipelineKey);
12733 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineBinaryDataKHR)(VkDevice device, const VkPipelineBinaryDataInfoKHR* pInfo, VkPipelineBinaryKeyKHR* pPipelineBinaryKey, size_t* pPipelineBinaryDataSize, void* pPipelineBinaryData);
12734 typedef VkResult (VKAPI_PTR *PFN_vkReleaseCapturedPipelineDataKHR)(VkDevice device, const VkReleaseCapturedPipelineDataInfoKHR* pInfo, const VkAllocationCallbacks* pAllocator);
12735
12736 #ifndef VK_NO_PROTOTYPES
12737 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
12738 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineBinariesKHR(
12739 VkDevice device,
12740 const VkPipelineBinaryCreateInfoKHR* pCreateInfo,
12741 const VkAllocationCallbacks* pAllocator,
12742 VkPipelineBinaryHandlesInfoKHR* pBinaries);
12743 #endif
12744
12745 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
12746 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineBinaryKHR(
12747 VkDevice device,
12748 VkPipelineBinaryKHR pipelineBinary,
12749 const VkAllocationCallbacks* pAllocator);
12750 #endif
12751
12752 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
12753 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineKeyKHR(
12754 VkDevice device,
12755 const VkPipelineCreateInfoKHR* pPipelineCreateInfo,
12756 VkPipelineBinaryKeyKHR* pPipelineKey);
12757 #endif
12758
12759 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
12760 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineBinaryDataKHR(
12761 VkDevice device,
12762 const VkPipelineBinaryDataInfoKHR* pInfo,
12763 VkPipelineBinaryKeyKHR* pPipelineBinaryKey,
12764 size_t* pPipelineBinaryDataSize,
12765 void* pPipelineBinaryData);
12766 #endif
12767
12768 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
12769 VKAPI_ATTR VkResult VKAPI_CALL vkReleaseCapturedPipelineDataKHR(
12770 VkDevice device,
12771 const VkReleaseCapturedPipelineDataInfoKHR* pInfo,
12772 const VkAllocationCallbacks* pAllocator);
12773 #endif
12774 #endif
12775
12776
12777 // VK_KHR_surface_maintenance1 is a preprocessor guard. Do not pass it to API calls.
12778 #define VK_KHR_surface_maintenance1 1
12779 #define VK_KHR_SURFACE_MAINTENANCE_1_SPEC_VERSION 1
12780 #define VK_KHR_SURFACE_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_surface_maintenance1"
12781
12782 typedef enum VkPresentScalingFlagBitsKHR {
12783 VK_PRESENT_SCALING_ONE_TO_ONE_BIT_KHR = 0x00000001,
12784 VK_PRESENT_SCALING_ASPECT_RATIO_STRETCH_BIT_KHR = 0x00000002,
12785 VK_PRESENT_SCALING_STRETCH_BIT_KHR = 0x00000004,
12786 VK_PRESENT_SCALING_ONE_TO_ONE_BIT_EXT = VK_PRESENT_SCALING_ONE_TO_ONE_BIT_KHR,
12787 VK_PRESENT_SCALING_ASPECT_RATIO_STRETCH_BIT_EXT = VK_PRESENT_SCALING_ASPECT_RATIO_STRETCH_BIT_KHR,
12788 VK_PRESENT_SCALING_STRETCH_BIT_EXT = VK_PRESENT_SCALING_STRETCH_BIT_KHR,
12789 VK_PRESENT_SCALING_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
12790 } VkPresentScalingFlagBitsKHR;
12791 typedef VkFlags VkPresentScalingFlagsKHR;
12792
12793 typedef enum VkPresentGravityFlagBitsKHR {
12794 VK_PRESENT_GRAVITY_MIN_BIT_KHR = 0x00000001,
12795 VK_PRESENT_GRAVITY_MAX_BIT_KHR = 0x00000002,
12796 VK_PRESENT_GRAVITY_CENTERED_BIT_KHR = 0x00000004,
12797 VK_PRESENT_GRAVITY_MIN_BIT_EXT = VK_PRESENT_GRAVITY_MIN_BIT_KHR,
12798 VK_PRESENT_GRAVITY_MAX_BIT_EXT = VK_PRESENT_GRAVITY_MAX_BIT_KHR,
12799 VK_PRESENT_GRAVITY_CENTERED_BIT_EXT = VK_PRESENT_GRAVITY_CENTERED_BIT_KHR,
12800 VK_PRESENT_GRAVITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
12801 } VkPresentGravityFlagBitsKHR;
12802 typedef VkFlags VkPresentGravityFlagsKHR;
12803 typedef struct VkSurfacePresentModeKHR {
12804 VkStructureType sType;
12805 void* pNext;
12806 VkPresentModeKHR presentMode;
12807 } VkSurfacePresentModeKHR;
12808
12809 typedef struct VkSurfacePresentScalingCapabilitiesKHR {
12810 VkStructureType sType;
12811 void* pNext;
12812 VkPresentScalingFlagsKHR supportedPresentScaling;
12813 VkPresentGravityFlagsKHR supportedPresentGravityX;
12814 VkPresentGravityFlagsKHR supportedPresentGravityY;
12815 VkExtent2D minScaledImageExtent;
12816 VkExtent2D maxScaledImageExtent;
12817 } VkSurfacePresentScalingCapabilitiesKHR;
12818
12819 typedef struct VkSurfacePresentModeCompatibilityKHR {
12820 VkStructureType sType;
12821 void* pNext;
12822 uint32_t presentModeCount;
12823 VkPresentModeKHR* pPresentModes;
12824 } VkSurfacePresentModeCompatibilityKHR;
12825
12826
12827
12828 // VK_KHR_swapchain_maintenance1 is a preprocessor guard. Do not pass it to API calls.
12829 #define VK_KHR_swapchain_maintenance1 1
12830 #define VK_KHR_SWAPCHAIN_MAINTENANCE_1_SPEC_VERSION 1
12831 #define VK_KHR_SWAPCHAIN_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_swapchain_maintenance1"
12832 typedef struct VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR {
12833 VkStructureType sType;
12834 void* pNext;
12835 VkBool32 swapchainMaintenance1;
12836 } VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR;
12837
12838 typedef struct VkSwapchainPresentFenceInfoKHR {
12839 VkStructureType sType;
12840 const void* pNext;
12841 uint32_t swapchainCount;
12842 const VkFence* pFences;
12843 } VkSwapchainPresentFenceInfoKHR;
12844
12845 typedef struct VkSwapchainPresentModesCreateInfoKHR {
12846 VkStructureType sType;
12847 const void* pNext;
12848 uint32_t presentModeCount;
12849 const VkPresentModeKHR* pPresentModes;
12850 } VkSwapchainPresentModesCreateInfoKHR;
12851
12852 typedef struct VkSwapchainPresentModeInfoKHR {
12853 VkStructureType sType;
12854 const void* pNext;
12855 uint32_t swapchainCount;
12856 const VkPresentModeKHR* pPresentModes;
12857 } VkSwapchainPresentModeInfoKHR;
12858
12859 typedef struct VkSwapchainPresentScalingCreateInfoKHR {
12860 VkStructureType sType;
12861 const void* pNext;
12862 VkPresentScalingFlagsKHR scalingBehavior;
12863 VkPresentGravityFlagsKHR presentGravityX;
12864 VkPresentGravityFlagsKHR presentGravityY;
12865 } VkSwapchainPresentScalingCreateInfoKHR;
12866
12867 typedef struct VkReleaseSwapchainImagesInfoKHR {
12868 VkStructureType sType;
12869 const void* pNext;
12870 VkSwapchainKHR swapchain;
12871 uint32_t imageIndexCount;
12872 const uint32_t* pImageIndices;
12873 } VkReleaseSwapchainImagesInfoKHR;
12874
12875 typedef VkResult (VKAPI_PTR *PFN_vkReleaseSwapchainImagesKHR)(VkDevice device, const VkReleaseSwapchainImagesInfoKHR* pReleaseInfo);
12876
12877 #ifndef VK_NO_PROTOTYPES
12878 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
12879 VKAPI_ATTR VkResult VKAPI_CALL vkReleaseSwapchainImagesKHR(
12880 VkDevice device,
12881 const VkReleaseSwapchainImagesInfoKHR* pReleaseInfo);
12882 #endif
12883 #endif
12884
12885
12886 // VK_KHR_cooperative_matrix is a preprocessor guard. Do not pass it to API calls.
12887 #define VK_KHR_cooperative_matrix 1
12888 #define VK_KHR_COOPERATIVE_MATRIX_SPEC_VERSION 2
12889 #define VK_KHR_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_KHR_cooperative_matrix"
12890
12891 typedef enum VkComponentTypeKHR {
12892 VK_COMPONENT_TYPE_FLOAT16_KHR = 0,
12893 VK_COMPONENT_TYPE_FLOAT32_KHR = 1,
12894 VK_COMPONENT_TYPE_FLOAT64_KHR = 2,
12895 VK_COMPONENT_TYPE_SINT8_KHR = 3,
12896 VK_COMPONENT_TYPE_SINT16_KHR = 4,
12897 VK_COMPONENT_TYPE_SINT32_KHR = 5,
12898 VK_COMPONENT_TYPE_SINT64_KHR = 6,
12899 VK_COMPONENT_TYPE_UINT8_KHR = 7,
12900 VK_COMPONENT_TYPE_UINT16_KHR = 8,
12901 VK_COMPONENT_TYPE_UINT32_KHR = 9,
12902 VK_COMPONENT_TYPE_UINT64_KHR = 10,
12903 VK_COMPONENT_TYPE_BFLOAT16_KHR = 1000141000,
12904 VK_COMPONENT_TYPE_SINT8_PACKED_NV = 1000491000,
12905 VK_COMPONENT_TYPE_UINT8_PACKED_NV = 1000491001,
12906 VK_COMPONENT_TYPE_FLOAT8_E4M3_EXT = 1000491002,
12907 VK_COMPONENT_TYPE_FLOAT8_E5M2_EXT = 1000491003,
12908 VK_COMPONENT_TYPE_FLOAT16_NV = VK_COMPONENT_TYPE_FLOAT16_KHR,
12909 VK_COMPONENT_TYPE_FLOAT32_NV = VK_COMPONENT_TYPE_FLOAT32_KHR,
12910 VK_COMPONENT_TYPE_FLOAT64_NV = VK_COMPONENT_TYPE_FLOAT64_KHR,
12911 VK_COMPONENT_TYPE_SINT8_NV = VK_COMPONENT_TYPE_SINT8_KHR,
12912 VK_COMPONENT_TYPE_SINT16_NV = VK_COMPONENT_TYPE_SINT16_KHR,
12913 VK_COMPONENT_TYPE_SINT32_NV = VK_COMPONENT_TYPE_SINT32_KHR,
12914 VK_COMPONENT_TYPE_SINT64_NV = VK_COMPONENT_TYPE_SINT64_KHR,
12915 VK_COMPONENT_TYPE_UINT8_NV = VK_COMPONENT_TYPE_UINT8_KHR,
12916 VK_COMPONENT_TYPE_UINT16_NV = VK_COMPONENT_TYPE_UINT16_KHR,
12917 VK_COMPONENT_TYPE_UINT32_NV = VK_COMPONENT_TYPE_UINT32_KHR,
12918 VK_COMPONENT_TYPE_UINT64_NV = VK_COMPONENT_TYPE_UINT64_KHR,
12919 VK_COMPONENT_TYPE_FLOAT_E4M3_NV = VK_COMPONENT_TYPE_FLOAT8_E4M3_EXT,
12920 VK_COMPONENT_TYPE_FLOAT_E5M2_NV = VK_COMPONENT_TYPE_FLOAT8_E5M2_EXT,
12921 VK_COMPONENT_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
12922 } VkComponentTypeKHR;
12923
12924 typedef enum VkScopeKHR {
12925 VK_SCOPE_DEVICE_KHR = 1,
12926 VK_SCOPE_WORKGROUP_KHR = 2,
12927 VK_SCOPE_SUBGROUP_KHR = 3,
12928 VK_SCOPE_QUEUE_FAMILY_KHR = 5,
12929 VK_SCOPE_DEVICE_NV = VK_SCOPE_DEVICE_KHR,
12930 VK_SCOPE_WORKGROUP_NV = VK_SCOPE_WORKGROUP_KHR,
12931 VK_SCOPE_SUBGROUP_NV = VK_SCOPE_SUBGROUP_KHR,
12932 VK_SCOPE_QUEUE_FAMILY_NV = VK_SCOPE_QUEUE_FAMILY_KHR,
12933 VK_SCOPE_MAX_ENUM_KHR = 0x7FFFFFFF
12934 } VkScopeKHR;
12935 typedef struct VkCooperativeMatrixPropertiesKHR {
12936 VkStructureType sType;
12937 void* pNext;
12938 uint32_t MSize;
12939 uint32_t NSize;
12940 uint32_t KSize;
12941 VkComponentTypeKHR AType;
12942 VkComponentTypeKHR BType;
12943 VkComponentTypeKHR CType;
12944 VkComponentTypeKHR ResultType;
12945 VkBool32 saturatingAccumulation;
12946 VkScopeKHR scope;
12947 } VkCooperativeMatrixPropertiesKHR;
12948
12949 typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesKHR {
12950 VkStructureType sType;
12951 void* pNext;
12952 VkBool32 cooperativeMatrix;
12953 VkBool32 cooperativeMatrixRobustBufferAccess;
12954 } VkPhysicalDeviceCooperativeMatrixFeaturesKHR;
12955
12956 typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesKHR {
12957 VkStructureType sType;
12958 void* pNext;
12959 VkShaderStageFlags cooperativeMatrixSupportedStages;
12960 } VkPhysicalDeviceCooperativeMatrixPropertiesKHR;
12961
12962 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkCooperativeMatrixPropertiesKHR* pProperties);
12963
12964 #ifndef VK_NO_PROTOTYPES
12965 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
12966 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR(
12967 VkPhysicalDevice physicalDevice,
12968 uint32_t* pPropertyCount,
12969 VkCooperativeMatrixPropertiesKHR* pProperties);
12970 #endif
12971 #endif
12972
12973
12974 // VK_KHR_compute_shader_derivatives is a preprocessor guard. Do not pass it to API calls.
12975 #define VK_KHR_compute_shader_derivatives 1
12976 #define VK_KHR_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION 1
12977 #define VK_KHR_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME "VK_KHR_compute_shader_derivatives"
12978 typedef struct VkPhysicalDeviceComputeShaderDerivativesFeaturesKHR {
12979 VkStructureType sType;
12980 void* pNext;
12981 VkBool32 computeDerivativeGroupQuads;
12982 VkBool32 computeDerivativeGroupLinear;
12983 } VkPhysicalDeviceComputeShaderDerivativesFeaturesKHR;
12984
12985 typedef struct VkPhysicalDeviceComputeShaderDerivativesPropertiesKHR {
12986 VkStructureType sType;
12987 void* pNext;
12988 VkBool32 meshAndTaskShaderDerivatives;
12989 } VkPhysicalDeviceComputeShaderDerivativesPropertiesKHR;
12990
12991
12992
12993 // VK_KHR_video_decode_av1 is a preprocessor guard. Do not pass it to API calls.
12994 #define VK_KHR_video_decode_av1 1
12995 #include "vk_video/vulkan_video_codec_av1std.h"
12996 #include "vk_video/vulkan_video_codec_av1std_decode.h"
12997 #define VK_MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR 7U
12998 #define VK_KHR_VIDEO_DECODE_AV1_SPEC_VERSION 1
12999 #define VK_KHR_VIDEO_DECODE_AV1_EXTENSION_NAME "VK_KHR_video_decode_av1"
13000 typedef struct VkVideoDecodeAV1ProfileInfoKHR {
13001 VkStructureType sType;
13002 const void* pNext;
13003 StdVideoAV1Profile stdProfile;
13004 VkBool32 filmGrainSupport;
13005 } VkVideoDecodeAV1ProfileInfoKHR;
13006
13007 typedef struct VkVideoDecodeAV1CapabilitiesKHR {
13008 VkStructureType sType;
13009 void* pNext;
13010 StdVideoAV1Level maxLevel;
13011 } VkVideoDecodeAV1CapabilitiesKHR;
13012
13013 typedef struct VkVideoDecodeAV1SessionParametersCreateInfoKHR {
13014 VkStructureType sType;
13015 const void* pNext;
13016 const StdVideoAV1SequenceHeader* pStdSequenceHeader;
13017 } VkVideoDecodeAV1SessionParametersCreateInfoKHR;
13018
13019 typedef struct VkVideoDecodeAV1PictureInfoKHR {
13020 VkStructureType sType;
13021 const void* pNext;
13022 const StdVideoDecodeAV1PictureInfo* pStdPictureInfo;
13023 int32_t referenceNameSlotIndices[VK_MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR];
13024 uint32_t frameHeaderOffset;
13025 uint32_t tileCount;
13026 const uint32_t* pTileOffsets;
13027 const uint32_t* pTileSizes;
13028 } VkVideoDecodeAV1PictureInfoKHR;
13029
13030 typedef struct VkVideoDecodeAV1DpbSlotInfoKHR {
13031 VkStructureType sType;
13032 const void* pNext;
13033 const StdVideoDecodeAV1ReferenceInfo* pStdReferenceInfo;
13034 } VkVideoDecodeAV1DpbSlotInfoKHR;
13035
13036
13037
13038 // VK_KHR_video_encode_av1 is a preprocessor guard. Do not pass it to API calls.
13039 #define VK_KHR_video_encode_av1 1
13040 #include "vk_video/vulkan_video_codec_av1std_encode.h"
13041 #define VK_KHR_VIDEO_ENCODE_AV1_SPEC_VERSION 1
13042 #define VK_KHR_VIDEO_ENCODE_AV1_EXTENSION_NAME "VK_KHR_video_encode_av1"
13043
13044 typedef enum VkVideoEncodeAV1PredictionModeKHR {
13045 VK_VIDEO_ENCODE_AV1_PREDICTION_MODE_INTRA_ONLY_KHR = 0,
13046 VK_VIDEO_ENCODE_AV1_PREDICTION_MODE_SINGLE_REFERENCE_KHR = 1,
13047 VK_VIDEO_ENCODE_AV1_PREDICTION_MODE_UNIDIRECTIONAL_COMPOUND_KHR = 2,
13048 VK_VIDEO_ENCODE_AV1_PREDICTION_MODE_BIDIRECTIONAL_COMPOUND_KHR = 3,
13049 VK_VIDEO_ENCODE_AV1_PREDICTION_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
13050 } VkVideoEncodeAV1PredictionModeKHR;
13051
13052 typedef enum VkVideoEncodeAV1RateControlGroupKHR {
13053 VK_VIDEO_ENCODE_AV1_RATE_CONTROL_GROUP_INTRA_KHR = 0,
13054 VK_VIDEO_ENCODE_AV1_RATE_CONTROL_GROUP_PREDICTIVE_KHR = 1,
13055 VK_VIDEO_ENCODE_AV1_RATE_CONTROL_GROUP_BIPREDICTIVE_KHR = 2,
13056 VK_VIDEO_ENCODE_AV1_RATE_CONTROL_GROUP_MAX_ENUM_KHR = 0x7FFFFFFF
13057 } VkVideoEncodeAV1RateControlGroupKHR;
13058
13059 typedef enum VkVideoEncodeAV1CapabilityFlagBitsKHR {
13060 VK_VIDEO_ENCODE_AV1_CAPABILITY_PER_RATE_CONTROL_GROUP_MIN_MAX_Q_INDEX_BIT_KHR = 0x00000001,
13061 VK_VIDEO_ENCODE_AV1_CAPABILITY_GENERATE_OBU_EXTENSION_HEADER_BIT_KHR = 0x00000002,
13062 VK_VIDEO_ENCODE_AV1_CAPABILITY_PRIMARY_REFERENCE_CDF_ONLY_BIT_KHR = 0x00000004,
13063 VK_VIDEO_ENCODE_AV1_CAPABILITY_FRAME_SIZE_OVERRIDE_BIT_KHR = 0x00000008,
13064 VK_VIDEO_ENCODE_AV1_CAPABILITY_MOTION_VECTOR_SCALING_BIT_KHR = 0x00000010,
13065 VK_VIDEO_ENCODE_AV1_CAPABILITY_COMPOUND_PREDICTION_INTRA_REFRESH_BIT_KHR = 0x00000020,
13066 VK_VIDEO_ENCODE_AV1_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
13067 } VkVideoEncodeAV1CapabilityFlagBitsKHR;
13068 typedef VkFlags VkVideoEncodeAV1CapabilityFlagsKHR;
13069
13070 typedef enum VkVideoEncodeAV1StdFlagBitsKHR {
13071 VK_VIDEO_ENCODE_AV1_STD_UNIFORM_TILE_SPACING_FLAG_SET_BIT_KHR = 0x00000001,
13072 VK_VIDEO_ENCODE_AV1_STD_SKIP_MODE_PRESENT_UNSET_BIT_KHR = 0x00000002,
13073 VK_VIDEO_ENCODE_AV1_STD_PRIMARY_REF_FRAME_BIT_KHR = 0x00000004,
13074 VK_VIDEO_ENCODE_AV1_STD_DELTA_Q_BIT_KHR = 0x00000008,
13075 VK_VIDEO_ENCODE_AV1_STD_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
13076 } VkVideoEncodeAV1StdFlagBitsKHR;
13077 typedef VkFlags VkVideoEncodeAV1StdFlagsKHR;
13078
13079 typedef enum VkVideoEncodeAV1SuperblockSizeFlagBitsKHR {
13080 VK_VIDEO_ENCODE_AV1_SUPERBLOCK_SIZE_64_BIT_KHR = 0x00000001,
13081 VK_VIDEO_ENCODE_AV1_SUPERBLOCK_SIZE_128_BIT_KHR = 0x00000002,
13082 VK_VIDEO_ENCODE_AV1_SUPERBLOCK_SIZE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
13083 } VkVideoEncodeAV1SuperblockSizeFlagBitsKHR;
13084 typedef VkFlags VkVideoEncodeAV1SuperblockSizeFlagsKHR;
13085
13086 typedef enum VkVideoEncodeAV1RateControlFlagBitsKHR {
13087 VK_VIDEO_ENCODE_AV1_RATE_CONTROL_REGULAR_GOP_BIT_KHR = 0x00000001,
13088 VK_VIDEO_ENCODE_AV1_RATE_CONTROL_TEMPORAL_LAYER_PATTERN_DYADIC_BIT_KHR = 0x00000002,
13089 VK_VIDEO_ENCODE_AV1_RATE_CONTROL_REFERENCE_PATTERN_FLAT_BIT_KHR = 0x00000004,
13090 VK_VIDEO_ENCODE_AV1_RATE_CONTROL_REFERENCE_PATTERN_DYADIC_BIT_KHR = 0x00000008,
13091 VK_VIDEO_ENCODE_AV1_RATE_CONTROL_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
13092 } VkVideoEncodeAV1RateControlFlagBitsKHR;
13093 typedef VkFlags VkVideoEncodeAV1RateControlFlagsKHR;
13094 typedef struct VkPhysicalDeviceVideoEncodeAV1FeaturesKHR {
13095 VkStructureType sType;
13096 void* pNext;
13097 VkBool32 videoEncodeAV1;
13098 } VkPhysicalDeviceVideoEncodeAV1FeaturesKHR;
13099
13100 typedef struct VkVideoEncodeAV1CapabilitiesKHR {
13101 VkStructureType sType;
13102 void* pNext;
13103 VkVideoEncodeAV1CapabilityFlagsKHR flags;
13104 StdVideoAV1Level maxLevel;
13105 VkExtent2D codedPictureAlignment;
13106 VkExtent2D maxTiles;
13107 VkExtent2D minTileSize;
13108 VkExtent2D maxTileSize;
13109 VkVideoEncodeAV1SuperblockSizeFlagsKHR superblockSizes;
13110 uint32_t maxSingleReferenceCount;
13111 uint32_t singleReferenceNameMask;
13112 uint32_t maxUnidirectionalCompoundReferenceCount;
13113 uint32_t maxUnidirectionalCompoundGroup1ReferenceCount;
13114 uint32_t unidirectionalCompoundReferenceNameMask;
13115 uint32_t maxBidirectionalCompoundReferenceCount;
13116 uint32_t maxBidirectionalCompoundGroup1ReferenceCount;
13117 uint32_t maxBidirectionalCompoundGroup2ReferenceCount;
13118 uint32_t bidirectionalCompoundReferenceNameMask;
13119 uint32_t maxTemporalLayerCount;
13120 uint32_t maxSpatialLayerCount;
13121 uint32_t maxOperatingPoints;
13122 uint32_t minQIndex;
13123 uint32_t maxQIndex;
13124 VkBool32 prefersGopRemainingFrames;
13125 VkBool32 requiresGopRemainingFrames;
13126 VkVideoEncodeAV1StdFlagsKHR stdSyntaxFlags;
13127 } VkVideoEncodeAV1CapabilitiesKHR;
13128
13129 typedef struct VkVideoEncodeAV1QIndexKHR {
13130 uint32_t intraQIndex;
13131 uint32_t predictiveQIndex;
13132 uint32_t bipredictiveQIndex;
13133 } VkVideoEncodeAV1QIndexKHR;
13134
13135 typedef struct VkVideoEncodeAV1QualityLevelPropertiesKHR {
13136 VkStructureType sType;
13137 void* pNext;
13138 VkVideoEncodeAV1RateControlFlagsKHR preferredRateControlFlags;
13139 uint32_t preferredGopFrameCount;
13140 uint32_t preferredKeyFramePeriod;
13141 uint32_t preferredConsecutiveBipredictiveFrameCount;
13142 uint32_t preferredTemporalLayerCount;
13143 VkVideoEncodeAV1QIndexKHR preferredConstantQIndex;
13144 uint32_t preferredMaxSingleReferenceCount;
13145 uint32_t preferredSingleReferenceNameMask;
13146 uint32_t preferredMaxUnidirectionalCompoundReferenceCount;
13147 uint32_t preferredMaxUnidirectionalCompoundGroup1ReferenceCount;
13148 uint32_t preferredUnidirectionalCompoundReferenceNameMask;
13149 uint32_t preferredMaxBidirectionalCompoundReferenceCount;
13150 uint32_t preferredMaxBidirectionalCompoundGroup1ReferenceCount;
13151 uint32_t preferredMaxBidirectionalCompoundGroup2ReferenceCount;
13152 uint32_t preferredBidirectionalCompoundReferenceNameMask;
13153 } VkVideoEncodeAV1QualityLevelPropertiesKHR;
13154
13155 typedef struct VkVideoEncodeAV1SessionCreateInfoKHR {
13156 VkStructureType sType;
13157 const void* pNext;
13158 VkBool32 useMaxLevel;
13159 StdVideoAV1Level maxLevel;
13160 } VkVideoEncodeAV1SessionCreateInfoKHR;
13161
13162 typedef struct VkVideoEncodeAV1SessionParametersCreateInfoKHR {
13163 VkStructureType sType;
13164 const void* pNext;
13165 const StdVideoAV1SequenceHeader* pStdSequenceHeader;
13166 const StdVideoEncodeAV1DecoderModelInfo* pStdDecoderModelInfo;
13167 uint32_t stdOperatingPointCount;
13168 const StdVideoEncodeAV1OperatingPointInfo* pStdOperatingPoints;
13169 } VkVideoEncodeAV1SessionParametersCreateInfoKHR;
13170
13171 typedef struct VkVideoEncodeAV1PictureInfoKHR {
13172 VkStructureType sType;
13173 const void* pNext;
13174 VkVideoEncodeAV1PredictionModeKHR predictionMode;
13175 VkVideoEncodeAV1RateControlGroupKHR rateControlGroup;
13176 uint32_t constantQIndex;
13177 const StdVideoEncodeAV1PictureInfo* pStdPictureInfo;
13178 int32_t referenceNameSlotIndices[VK_MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR];
13179 VkBool32 primaryReferenceCdfOnly;
13180 VkBool32 generateObuExtensionHeader;
13181 } VkVideoEncodeAV1PictureInfoKHR;
13182
13183 typedef struct VkVideoEncodeAV1DpbSlotInfoKHR {
13184 VkStructureType sType;
13185 const void* pNext;
13186 const StdVideoEncodeAV1ReferenceInfo* pStdReferenceInfo;
13187 } VkVideoEncodeAV1DpbSlotInfoKHR;
13188
13189 typedef struct VkVideoEncodeAV1ProfileInfoKHR {
13190 VkStructureType sType;
13191 const void* pNext;
13192 StdVideoAV1Profile stdProfile;
13193 } VkVideoEncodeAV1ProfileInfoKHR;
13194
13195 typedef struct VkVideoEncodeAV1FrameSizeKHR {
13196 uint32_t intraFrameSize;
13197 uint32_t predictiveFrameSize;
13198 uint32_t bipredictiveFrameSize;
13199 } VkVideoEncodeAV1FrameSizeKHR;
13200
13201 typedef struct VkVideoEncodeAV1GopRemainingFrameInfoKHR {
13202 VkStructureType sType;
13203 const void* pNext;
13204 VkBool32 useGopRemainingFrames;
13205 uint32_t gopRemainingIntra;
13206 uint32_t gopRemainingPredictive;
13207 uint32_t gopRemainingBipredictive;
13208 } VkVideoEncodeAV1GopRemainingFrameInfoKHR;
13209
13210 typedef struct VkVideoEncodeAV1RateControlInfoKHR {
13211 VkStructureType sType;
13212 const void* pNext;
13213 VkVideoEncodeAV1RateControlFlagsKHR flags;
13214 uint32_t gopFrameCount;
13215 uint32_t keyFramePeriod;
13216 uint32_t consecutiveBipredictiveFrameCount;
13217 uint32_t temporalLayerCount;
13218 } VkVideoEncodeAV1RateControlInfoKHR;
13219
13220 typedef struct VkVideoEncodeAV1RateControlLayerInfoKHR {
13221 VkStructureType sType;
13222 const void* pNext;
13223 VkBool32 useMinQIndex;
13224 VkVideoEncodeAV1QIndexKHR minQIndex;
13225 VkBool32 useMaxQIndex;
13226 VkVideoEncodeAV1QIndexKHR maxQIndex;
13227 VkBool32 useMaxFrameSize;
13228 VkVideoEncodeAV1FrameSizeKHR maxFrameSize;
13229 } VkVideoEncodeAV1RateControlLayerInfoKHR;
13230
13231
13232
13233 // VK_KHR_video_decode_vp9 is a preprocessor guard. Do not pass it to API calls.
13234 #define VK_KHR_video_decode_vp9 1
13235 #include "vk_video/vulkan_video_codec_vp9std.h"
13236 #include "vk_video/vulkan_video_codec_vp9std_decode.h"
13237 #define VK_MAX_VIDEO_VP9_REFERENCES_PER_FRAME_KHR 3U
13238 #define VK_KHR_VIDEO_DECODE_VP9_SPEC_VERSION 1
13239 #define VK_KHR_VIDEO_DECODE_VP9_EXTENSION_NAME "VK_KHR_video_decode_vp9"
13240 typedef struct VkPhysicalDeviceVideoDecodeVP9FeaturesKHR {
13241 VkStructureType sType;
13242 void* pNext;
13243 VkBool32 videoDecodeVP9;
13244 } VkPhysicalDeviceVideoDecodeVP9FeaturesKHR;
13245
13246 typedef struct VkVideoDecodeVP9ProfileInfoKHR {
13247 VkStructureType sType;
13248 const void* pNext;
13249 StdVideoVP9Profile stdProfile;
13250 } VkVideoDecodeVP9ProfileInfoKHR;
13251
13252 typedef struct VkVideoDecodeVP9CapabilitiesKHR {
13253 VkStructureType sType;
13254 void* pNext;
13255 StdVideoVP9Level maxLevel;
13256 } VkVideoDecodeVP9CapabilitiesKHR;
13257
13258 typedef struct VkVideoDecodeVP9PictureInfoKHR {
13259 VkStructureType sType;
13260 const void* pNext;
13261 const StdVideoDecodeVP9PictureInfo* pStdPictureInfo;
13262 int32_t referenceNameSlotIndices[VK_MAX_VIDEO_VP9_REFERENCES_PER_FRAME_KHR];
13263 uint32_t uncompressedHeaderOffset;
13264 uint32_t compressedHeaderOffset;
13265 uint32_t tilesOffset;
13266 } VkVideoDecodeVP9PictureInfoKHR;
13267
13268
13269
13270 // VK_KHR_video_maintenance1 is a preprocessor guard. Do not pass it to API calls.
13271 #define VK_KHR_video_maintenance1 1
13272 #define VK_KHR_VIDEO_MAINTENANCE_1_SPEC_VERSION 1
13273 #define VK_KHR_VIDEO_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_video_maintenance1"
13274 typedef struct VkPhysicalDeviceVideoMaintenance1FeaturesKHR {
13275 VkStructureType sType;
13276 void* pNext;
13277 VkBool32 videoMaintenance1;
13278 } VkPhysicalDeviceVideoMaintenance1FeaturesKHR;
13279
13280 typedef struct VkVideoInlineQueryInfoKHR {
13281 VkStructureType sType;
13282 const void* pNext;
13283 VkQueryPool queryPool;
13284 uint32_t firstQuery;
13285 uint32_t queryCount;
13286 } VkVideoInlineQueryInfoKHR;
13287
13288
13289
13290 // VK_KHR_vertex_attribute_divisor is a preprocessor guard. Do not pass it to API calls.
13291 #define VK_KHR_vertex_attribute_divisor 1
13292 #define VK_KHR_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 1
13293 #define VK_KHR_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_KHR_vertex_attribute_divisor"
13294 typedef VkPhysicalDeviceVertexAttributeDivisorProperties VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR;
13295
13296 typedef VkVertexInputBindingDivisorDescription VkVertexInputBindingDivisorDescriptionKHR;
13297
13298 typedef VkPipelineVertexInputDivisorStateCreateInfo VkPipelineVertexInputDivisorStateCreateInfoKHR;
13299
13300 typedef VkPhysicalDeviceVertexAttributeDivisorFeatures VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR;
13301
13302
13303
13304 // VK_KHR_load_store_op_none is a preprocessor guard. Do not pass it to API calls.
13305 #define VK_KHR_load_store_op_none 1
13306 #define VK_KHR_LOAD_STORE_OP_NONE_SPEC_VERSION 1
13307 #define VK_KHR_LOAD_STORE_OP_NONE_EXTENSION_NAME "VK_KHR_load_store_op_none"
13308
13309
13310 // VK_KHR_unified_image_layouts is a preprocessor guard. Do not pass it to API calls.
13311 #define VK_KHR_unified_image_layouts 1
13312 #define VK_KHR_UNIFIED_IMAGE_LAYOUTS_SPEC_VERSION 1
13313 #define VK_KHR_UNIFIED_IMAGE_LAYOUTS_EXTENSION_NAME "VK_KHR_unified_image_layouts"
13314 typedef struct VkPhysicalDeviceUnifiedImageLayoutsFeaturesKHR {
13315 VkStructureType sType;
13316 void* pNext;
13317 VkBool32 unifiedImageLayouts;
13318 VkBool32 unifiedImageLayoutsVideo;
13319 } VkPhysicalDeviceUnifiedImageLayoutsFeaturesKHR;
13320
13321 typedef struct VkAttachmentFeedbackLoopInfoEXT {
13322 VkStructureType sType;
13323 const void* pNext;
13324 VkBool32 feedbackLoopEnable;
13325 } VkAttachmentFeedbackLoopInfoEXT;
13326
13327
13328
13329 // VK_KHR_shader_float_controls2 is a preprocessor guard. Do not pass it to API calls.
13330 #define VK_KHR_shader_float_controls2 1
13331 #define VK_KHR_SHADER_FLOAT_CONTROLS_2_SPEC_VERSION 1
13332 #define VK_KHR_SHADER_FLOAT_CONTROLS_2_EXTENSION_NAME "VK_KHR_shader_float_controls2"
13333 typedef VkPhysicalDeviceShaderFloatControls2Features VkPhysicalDeviceShaderFloatControls2FeaturesKHR;
13334
13335
13336
13337 // VK_KHR_index_type_uint8 is a preprocessor guard. Do not pass it to API calls.
13338 #define VK_KHR_index_type_uint8 1
13339 #define VK_KHR_INDEX_TYPE_UINT8_SPEC_VERSION 1
13340 #define VK_KHR_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_KHR_index_type_uint8"
13341 typedef VkPhysicalDeviceIndexTypeUint8Features VkPhysicalDeviceIndexTypeUint8FeaturesKHR;
13342
13343
13344
13345 // VK_KHR_line_rasterization is a preprocessor guard. Do not pass it to API calls.
13346 #define VK_KHR_line_rasterization 1
13347 #define VK_KHR_LINE_RASTERIZATION_SPEC_VERSION 1
13348 #define VK_KHR_LINE_RASTERIZATION_EXTENSION_NAME "VK_KHR_line_rasterization"
13349 typedef VkLineRasterizationMode VkLineRasterizationModeKHR;
13350
13351 typedef VkPhysicalDeviceLineRasterizationFeatures VkPhysicalDeviceLineRasterizationFeaturesKHR;
13352
13353 typedef VkPhysicalDeviceLineRasterizationProperties VkPhysicalDeviceLineRasterizationPropertiesKHR;
13354
13355 typedef VkPipelineRasterizationLineStateCreateInfo VkPipelineRasterizationLineStateCreateInfoKHR;
13356
13357 typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleKHR)(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern);
13358
13359 #ifndef VK_NO_PROTOTYPES
13360 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
13361 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleKHR(
13362 VkCommandBuffer commandBuffer,
13363 uint32_t lineStippleFactor,
13364 uint16_t lineStipplePattern);
13365 #endif
13366 #endif
13367
13368
13369 // VK_KHR_calibrated_timestamps is a preprocessor guard. Do not pass it to API calls.
13370 #define VK_KHR_calibrated_timestamps 1
13371 #define VK_KHR_CALIBRATED_TIMESTAMPS_SPEC_VERSION 1
13372 #define VK_KHR_CALIBRATED_TIMESTAMPS_EXTENSION_NAME "VK_KHR_calibrated_timestamps"
13373
13374 typedef enum VkTimeDomainKHR {
13375 VK_TIME_DOMAIN_DEVICE_KHR = 0,
13376 VK_TIME_DOMAIN_CLOCK_MONOTONIC_KHR = 1,
13377 VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_KHR = 2,
13378 VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_KHR = 3,
13379 VK_TIME_DOMAIN_DEVICE_EXT = VK_TIME_DOMAIN_DEVICE_KHR,
13380 VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT = VK_TIME_DOMAIN_CLOCK_MONOTONIC_KHR,
13381 VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT = VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_KHR,
13382 VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT = VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_KHR,
13383 VK_TIME_DOMAIN_MAX_ENUM_KHR = 0x7FFFFFFF
13384 } VkTimeDomainKHR;
13385 typedef struct VkCalibratedTimestampInfoKHR {
13386 VkStructureType sType;
13387 const void* pNext;
13388 VkTimeDomainKHR timeDomain;
13389 } VkCalibratedTimestampInfoKHR;
13390
13391 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsKHR)(VkPhysicalDevice physicalDevice, uint32_t* pTimeDomainCount, VkTimeDomainKHR* pTimeDomains);
13392 typedef VkResult (VKAPI_PTR *PFN_vkGetCalibratedTimestampsKHR)(VkDevice device, uint32_t timestampCount, const VkCalibratedTimestampInfoKHR* pTimestampInfos, uint64_t* pTimestamps, uint64_t* pMaxDeviation);
13393
13394 #ifndef VK_NO_PROTOTYPES
13395 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
13396 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCalibrateableTimeDomainsKHR(
13397 VkPhysicalDevice physicalDevice,
13398 uint32_t* pTimeDomainCount,
13399 VkTimeDomainKHR* pTimeDomains);
13400 #endif
13401
13402 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
13403 VKAPI_ATTR VkResult VKAPI_CALL vkGetCalibratedTimestampsKHR(
13404 VkDevice device,
13405 uint32_t timestampCount,
13406 const VkCalibratedTimestampInfoKHR* pTimestampInfos,
13407 uint64_t* pTimestamps,
13408 uint64_t* pMaxDeviation);
13409 #endif
13410 #endif
13411
13412
13413 // VK_KHR_shader_expect_assume is a preprocessor guard. Do not pass it to API calls.
13414 #define VK_KHR_shader_expect_assume 1
13415 #define VK_KHR_SHADER_EXPECT_ASSUME_SPEC_VERSION 1
13416 #define VK_KHR_SHADER_EXPECT_ASSUME_EXTENSION_NAME "VK_KHR_shader_expect_assume"
13417 typedef VkPhysicalDeviceShaderExpectAssumeFeatures VkPhysicalDeviceShaderExpectAssumeFeaturesKHR;
13418
13419
13420
13421 // VK_KHR_maintenance6 is a preprocessor guard. Do not pass it to API calls.
13422 #define VK_KHR_maintenance6 1
13423 #define VK_KHR_MAINTENANCE_6_SPEC_VERSION 1
13424 #define VK_KHR_MAINTENANCE_6_EXTENSION_NAME "VK_KHR_maintenance6"
13425 typedef VkPhysicalDeviceMaintenance6Features VkPhysicalDeviceMaintenance6FeaturesKHR;
13426
13427 typedef VkPhysicalDeviceMaintenance6Properties VkPhysicalDeviceMaintenance6PropertiesKHR;
13428
13429 typedef VkBindMemoryStatus VkBindMemoryStatusKHR;
13430
13431 typedef VkBindDescriptorSetsInfo VkBindDescriptorSetsInfoKHR;
13432
13433 typedef VkPushConstantsInfo VkPushConstantsInfoKHR;
13434
13435 typedef VkPushDescriptorSetInfo VkPushDescriptorSetInfoKHR;
13436
13437 typedef VkPushDescriptorSetWithTemplateInfo VkPushDescriptorSetWithTemplateInfoKHR;
13438
13439 typedef struct VkSetDescriptorBufferOffsetsInfoEXT {
13440 VkStructureType sType;
13441 const void* pNext;
13442 VkShaderStageFlags stageFlags;
13443 VkPipelineLayout layout;
13444 uint32_t firstSet;
13445 uint32_t setCount;
13446 const uint32_t* pBufferIndices;
13447 const VkDeviceSize* pOffsets;
13448 } VkSetDescriptorBufferOffsetsInfoEXT;
13449
13450 typedef struct VkBindDescriptorBufferEmbeddedSamplersInfoEXT {
13451 VkStructureType sType;
13452 const void* pNext;
13453 VkShaderStageFlags stageFlags;
13454 VkPipelineLayout layout;
13455 uint32_t set;
13456 } VkBindDescriptorBufferEmbeddedSamplersInfoEXT;
13457
13458 typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorSets2KHR)(VkCommandBuffer commandBuffer, const VkBindDescriptorSetsInfo* pBindDescriptorSetsInfo);
13459 typedef void (VKAPI_PTR *PFN_vkCmdPushConstants2KHR)(VkCommandBuffer commandBuffer, const VkPushConstantsInfo* pPushConstantsInfo);
13460 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSet2KHR)(VkCommandBuffer commandBuffer, const VkPushDescriptorSetInfo* pPushDescriptorSetInfo);
13461 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplate2KHR)(VkCommandBuffer commandBuffer, const VkPushDescriptorSetWithTemplateInfo* pPushDescriptorSetWithTemplateInfo);
13462 typedef void (VKAPI_PTR *PFN_vkCmdSetDescriptorBufferOffsets2EXT)(VkCommandBuffer commandBuffer, const VkSetDescriptorBufferOffsetsInfoEXT* pSetDescriptorBufferOffsetsInfo);
13463 typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT)(VkCommandBuffer commandBuffer, const VkBindDescriptorBufferEmbeddedSamplersInfoEXT* pBindDescriptorBufferEmbeddedSamplersInfo);
13464
13465 #ifndef VK_NO_PROTOTYPES
13466 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
13467 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets2KHR(
13468 VkCommandBuffer commandBuffer,
13469 const VkBindDescriptorSetsInfo* pBindDescriptorSetsInfo);
13470 #endif
13471
13472 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
13473 VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants2KHR(
13474 VkCommandBuffer commandBuffer,
13475 const VkPushConstantsInfo* pPushConstantsInfo);
13476 #endif
13477
13478 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
13479 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSet2KHR(
13480 VkCommandBuffer commandBuffer,
13481 const VkPushDescriptorSetInfo* pPushDescriptorSetInfo);
13482 #endif
13483
13484 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
13485 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplate2KHR(
13486 VkCommandBuffer commandBuffer,
13487 const VkPushDescriptorSetWithTemplateInfo* pPushDescriptorSetWithTemplateInfo);
13488 #endif
13489
13490 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
13491 VKAPI_ATTR void VKAPI_CALL vkCmdSetDescriptorBufferOffsets2EXT(
13492 VkCommandBuffer commandBuffer,
13493 const VkSetDescriptorBufferOffsetsInfoEXT* pSetDescriptorBufferOffsetsInfo);
13494 #endif
13495
13496 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
13497 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorBufferEmbeddedSamplers2EXT(
13498 VkCommandBuffer commandBuffer,
13499 const VkBindDescriptorBufferEmbeddedSamplersInfoEXT* pBindDescriptorBufferEmbeddedSamplersInfo);
13500 #endif
13501 #endif
13502
13503
13504 // VK_KHR_copy_memory_indirect is a preprocessor guard. Do not pass it to API calls.
13505 #define VK_KHR_copy_memory_indirect 1
13506 #define VK_KHR_COPY_MEMORY_INDIRECT_SPEC_VERSION 1
13507 #define VK_KHR_COPY_MEMORY_INDIRECT_EXTENSION_NAME "VK_KHR_copy_memory_indirect"
13508
13509 typedef enum VkAddressCopyFlagBitsKHR {
13510 VK_ADDRESS_COPY_DEVICE_LOCAL_BIT_KHR = 0x00000001,
13511 VK_ADDRESS_COPY_SPARSE_BIT_KHR = 0x00000002,
13512 VK_ADDRESS_COPY_PROTECTED_BIT_KHR = 0x00000004,
13513 VK_ADDRESS_COPY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
13514 } VkAddressCopyFlagBitsKHR;
13515 typedef VkFlags VkAddressCopyFlagsKHR;
13516 typedef struct VkStridedDeviceAddressRangeKHR {
13517 VkDeviceAddress address;
13518 VkDeviceSize size;
13519 VkDeviceSize stride;
13520 } VkStridedDeviceAddressRangeKHR;
13521
13522 typedef struct VkCopyMemoryIndirectCommandKHR {
13523 VkDeviceAddress srcAddress;
13524 VkDeviceAddress dstAddress;
13525 VkDeviceSize size;
13526 } VkCopyMemoryIndirectCommandKHR;
13527
13528 typedef struct VkCopyMemoryIndirectInfoKHR {
13529 VkStructureType sType;
13530 const void* pNext;
13531 VkAddressCopyFlagsKHR srcCopyFlags;
13532 VkAddressCopyFlagsKHR dstCopyFlags;
13533 uint32_t copyCount;
13534 VkStridedDeviceAddressRangeKHR copyAddressRange;
13535 } VkCopyMemoryIndirectInfoKHR;
13536
13537 typedef struct VkCopyMemoryToImageIndirectCommandKHR {
13538 VkDeviceAddress srcAddress;
13539 uint32_t bufferRowLength;
13540 uint32_t bufferImageHeight;
13541 VkImageSubresourceLayers imageSubresource;
13542 VkOffset3D imageOffset;
13543 VkExtent3D imageExtent;
13544 } VkCopyMemoryToImageIndirectCommandKHR;
13545
13546 typedef struct VkCopyMemoryToImageIndirectInfoKHR {
13547 VkStructureType sType;
13548 const void* pNext;
13549 VkAddressCopyFlagsKHR srcCopyFlags;
13550 uint32_t copyCount;
13551 VkStridedDeviceAddressRangeKHR copyAddressRange;
13552 VkImage dstImage;
13553 VkImageLayout dstImageLayout;
13554 const VkImageSubresourceLayers* pImageSubresources;
13555 } VkCopyMemoryToImageIndirectInfoKHR;
13556
13557 typedef struct VkPhysicalDeviceCopyMemoryIndirectFeaturesKHR {
13558 VkStructureType sType;
13559 void* pNext;
13560 VkBool32 indirectMemoryCopy;
13561 VkBool32 indirectMemoryToImageCopy;
13562 } VkPhysicalDeviceCopyMemoryIndirectFeaturesKHR;
13563
13564 typedef struct VkPhysicalDeviceCopyMemoryIndirectPropertiesKHR {
13565 VkStructureType sType;
13566 void* pNext;
13567 VkQueueFlags supportedQueues;
13568 } VkPhysicalDeviceCopyMemoryIndirectPropertiesKHR;
13569
13570 typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryIndirectKHR)(VkCommandBuffer commandBuffer, const VkCopyMemoryIndirectInfoKHR* pCopyMemoryIndirectInfo);
13571 typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToImageIndirectKHR)(VkCommandBuffer commandBuffer, const VkCopyMemoryToImageIndirectInfoKHR* pCopyMemoryToImageIndirectInfo);
13572
13573 #ifndef VK_NO_PROTOTYPES
13574 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
13575 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryIndirectKHR(
13576 VkCommandBuffer commandBuffer,
13577 const VkCopyMemoryIndirectInfoKHR* pCopyMemoryIndirectInfo);
13578 #endif
13579
13580 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
13581 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToImageIndirectKHR(
13582 VkCommandBuffer commandBuffer,
13583 const VkCopyMemoryToImageIndirectInfoKHR* pCopyMemoryToImageIndirectInfo);
13584 #endif
13585 #endif
13586
13587
13588 // VK_KHR_video_encode_intra_refresh is a preprocessor guard. Do not pass it to API calls.
13589 #define VK_KHR_video_encode_intra_refresh 1
13590 #define VK_KHR_VIDEO_ENCODE_INTRA_REFRESH_SPEC_VERSION 1
13591 #define VK_KHR_VIDEO_ENCODE_INTRA_REFRESH_EXTENSION_NAME "VK_KHR_video_encode_intra_refresh"
13592
13593 typedef enum VkVideoEncodeIntraRefreshModeFlagBitsKHR {
13594 VK_VIDEO_ENCODE_INTRA_REFRESH_MODE_NONE_KHR = 0,
13595 VK_VIDEO_ENCODE_INTRA_REFRESH_MODE_PER_PICTURE_PARTITION_BIT_KHR = 0x00000001,
13596 VK_VIDEO_ENCODE_INTRA_REFRESH_MODE_BLOCK_BASED_BIT_KHR = 0x00000002,
13597 VK_VIDEO_ENCODE_INTRA_REFRESH_MODE_BLOCK_ROW_BASED_BIT_KHR = 0x00000004,
13598 VK_VIDEO_ENCODE_INTRA_REFRESH_MODE_BLOCK_COLUMN_BASED_BIT_KHR = 0x00000008,
13599 VK_VIDEO_ENCODE_INTRA_REFRESH_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
13600 } VkVideoEncodeIntraRefreshModeFlagBitsKHR;
13601 typedef VkFlags VkVideoEncodeIntraRefreshModeFlagsKHR;
13602 typedef struct VkVideoEncodeIntraRefreshCapabilitiesKHR {
13603 VkStructureType sType;
13604 void* pNext;
13605 VkVideoEncodeIntraRefreshModeFlagsKHR intraRefreshModes;
13606 uint32_t maxIntraRefreshCycleDuration;
13607 uint32_t maxIntraRefreshActiveReferencePictures;
13608 VkBool32 partitionIndependentIntraRefreshRegions;
13609 VkBool32 nonRectangularIntraRefreshRegions;
13610 } VkVideoEncodeIntraRefreshCapabilitiesKHR;
13611
13612 typedef struct VkVideoEncodeSessionIntraRefreshCreateInfoKHR {
13613 VkStructureType sType;
13614 const void* pNext;
13615 VkVideoEncodeIntraRefreshModeFlagBitsKHR intraRefreshMode;
13616 } VkVideoEncodeSessionIntraRefreshCreateInfoKHR;
13617
13618 typedef struct VkVideoEncodeIntraRefreshInfoKHR {
13619 VkStructureType sType;
13620 const void* pNext;
13621 uint32_t intraRefreshCycleDuration;
13622 uint32_t intraRefreshIndex;
13623 } VkVideoEncodeIntraRefreshInfoKHR;
13624
13625 typedef struct VkVideoReferenceIntraRefreshInfoKHR {
13626 VkStructureType sType;
13627 const void* pNext;
13628 uint32_t dirtyIntraRefreshRegions;
13629 } VkVideoReferenceIntraRefreshInfoKHR;
13630
13631 typedef struct VkPhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR {
13632 VkStructureType sType;
13633 void* pNext;
13634 VkBool32 videoEncodeIntraRefresh;
13635 } VkPhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR;
13636
13637
13638
13639 // VK_KHR_video_encode_quantization_map is a preprocessor guard. Do not pass it to API calls.
13640 #define VK_KHR_video_encode_quantization_map 1
13641 #define VK_KHR_VIDEO_ENCODE_QUANTIZATION_MAP_SPEC_VERSION 2
13642 #define VK_KHR_VIDEO_ENCODE_QUANTIZATION_MAP_EXTENSION_NAME "VK_KHR_video_encode_quantization_map"
13643 typedef struct VkVideoEncodeQuantizationMapCapabilitiesKHR {
13644 VkStructureType sType;
13645 void* pNext;
13646 VkExtent2D maxQuantizationMapExtent;
13647 } VkVideoEncodeQuantizationMapCapabilitiesKHR;
13648
13649 typedef struct VkVideoFormatQuantizationMapPropertiesKHR {
13650 VkStructureType sType;
13651 void* pNext;
13652 VkExtent2D quantizationMapTexelSize;
13653 } VkVideoFormatQuantizationMapPropertiesKHR;
13654
13655 typedef struct VkVideoEncodeQuantizationMapInfoKHR {
13656 VkStructureType sType;
13657 const void* pNext;
13658 VkImageView quantizationMap;
13659 VkExtent2D quantizationMapExtent;
13660 } VkVideoEncodeQuantizationMapInfoKHR;
13661
13662 typedef struct VkVideoEncodeQuantizationMapSessionParametersCreateInfoKHR {
13663 VkStructureType sType;
13664 const void* pNext;
13665 VkExtent2D quantizationMapTexelSize;
13666 } VkVideoEncodeQuantizationMapSessionParametersCreateInfoKHR;
13667
13668 typedef struct VkPhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR {
13669 VkStructureType sType;
13670 void* pNext;
13671 VkBool32 videoEncodeQuantizationMap;
13672 } VkPhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR;
13673
13674 typedef struct VkVideoEncodeH264QuantizationMapCapabilitiesKHR {
13675 VkStructureType sType;
13676 void* pNext;
13677 int32_t minQpDelta;
13678 int32_t maxQpDelta;
13679 } VkVideoEncodeH264QuantizationMapCapabilitiesKHR;
13680
13681 typedef struct VkVideoEncodeH265QuantizationMapCapabilitiesKHR {
13682 VkStructureType sType;
13683 void* pNext;
13684 int32_t minQpDelta;
13685 int32_t maxQpDelta;
13686 } VkVideoEncodeH265QuantizationMapCapabilitiesKHR;
13687
13688 typedef struct VkVideoFormatH265QuantizationMapPropertiesKHR {
13689 VkStructureType sType;
13690 void* pNext;
13691 VkVideoEncodeH265CtbSizeFlagsKHR compatibleCtbSizes;
13692 } VkVideoFormatH265QuantizationMapPropertiesKHR;
13693
13694 typedef struct VkVideoEncodeAV1QuantizationMapCapabilitiesKHR {
13695 VkStructureType sType;
13696 void* pNext;
13697 int32_t minQIndexDelta;
13698 int32_t maxQIndexDelta;
13699 } VkVideoEncodeAV1QuantizationMapCapabilitiesKHR;
13700
13701 typedef struct VkVideoFormatAV1QuantizationMapPropertiesKHR {
13702 VkStructureType sType;
13703 void* pNext;
13704 VkVideoEncodeAV1SuperblockSizeFlagsKHR compatibleSuperblockSizes;
13705 } VkVideoFormatAV1QuantizationMapPropertiesKHR;
13706
13707
13708
13709 // VK_KHR_shader_relaxed_extended_instruction is a preprocessor guard. Do not pass it to API calls.
13710 #define VK_KHR_shader_relaxed_extended_instruction 1
13711 #define VK_KHR_SHADER_RELAXED_EXTENDED_INSTRUCTION_SPEC_VERSION 1
13712 #define VK_KHR_SHADER_RELAXED_EXTENDED_INSTRUCTION_EXTENSION_NAME "VK_KHR_shader_relaxed_extended_instruction"
13713 typedef struct VkPhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR {
13714 VkStructureType sType;
13715 void* pNext;
13716 VkBool32 shaderRelaxedExtendedInstruction;
13717 } VkPhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR;
13718
13719
13720
13721 // VK_KHR_maintenance7 is a preprocessor guard. Do not pass it to API calls.
13722 #define VK_KHR_maintenance7 1
13723 #define VK_KHR_MAINTENANCE_7_SPEC_VERSION 1
13724 #define VK_KHR_MAINTENANCE_7_EXTENSION_NAME "VK_KHR_maintenance7"
13725
13726 typedef enum VkPhysicalDeviceLayeredApiKHR {
13727 VK_PHYSICAL_DEVICE_LAYERED_API_VULKAN_KHR = 0,
13728 VK_PHYSICAL_DEVICE_LAYERED_API_D3D12_KHR = 1,
13729 VK_PHYSICAL_DEVICE_LAYERED_API_METAL_KHR = 2,
13730 VK_PHYSICAL_DEVICE_LAYERED_API_OPENGL_KHR = 3,
13731 VK_PHYSICAL_DEVICE_LAYERED_API_OPENGLES_KHR = 4,
13732 VK_PHYSICAL_DEVICE_LAYERED_API_MAX_ENUM_KHR = 0x7FFFFFFF
13733 } VkPhysicalDeviceLayeredApiKHR;
13734 typedef struct VkPhysicalDeviceMaintenance7FeaturesKHR {
13735 VkStructureType sType;
13736 void* pNext;
13737 VkBool32 maintenance7;
13738 } VkPhysicalDeviceMaintenance7FeaturesKHR;
13739
13740 typedef struct VkPhysicalDeviceMaintenance7PropertiesKHR {
13741 VkStructureType sType;
13742 void* pNext;
13743 VkBool32 robustFragmentShadingRateAttachmentAccess;
13744 VkBool32 separateDepthStencilAttachmentAccess;
13745 uint32_t maxDescriptorSetTotalUniformBuffersDynamic;
13746 uint32_t maxDescriptorSetTotalStorageBuffersDynamic;
13747 uint32_t maxDescriptorSetTotalBuffersDynamic;
13748 uint32_t maxDescriptorSetUpdateAfterBindTotalUniformBuffersDynamic;
13749 uint32_t maxDescriptorSetUpdateAfterBindTotalStorageBuffersDynamic;
13750 uint32_t maxDescriptorSetUpdateAfterBindTotalBuffersDynamic;
13751 } VkPhysicalDeviceMaintenance7PropertiesKHR;
13752
13753 typedef struct VkPhysicalDeviceLayeredApiPropertiesKHR {
13754 VkStructureType sType;
13755 void* pNext;
13756 uint32_t vendorID;
13757 uint32_t deviceID;
13758 VkPhysicalDeviceLayeredApiKHR layeredAPI;
13759 char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
13760 } VkPhysicalDeviceLayeredApiPropertiesKHR;
13761
13762 typedef struct VkPhysicalDeviceLayeredApiPropertiesListKHR {
13763 VkStructureType sType;
13764 void* pNext;
13765 uint32_t layeredApiCount;
13766 VkPhysicalDeviceLayeredApiPropertiesKHR* pLayeredApis;
13767 } VkPhysicalDeviceLayeredApiPropertiesListKHR;
13768
13769 typedef struct VkPhysicalDeviceLayeredApiVulkanPropertiesKHR {
13770 VkStructureType sType;
13771 void* pNext;
13772 VkPhysicalDeviceProperties2 properties;
13773 } VkPhysicalDeviceLayeredApiVulkanPropertiesKHR;
13774
13775
13776
13777 // VK_KHR_maintenance8 is a preprocessor guard. Do not pass it to API calls.
13778 #define VK_KHR_maintenance8 1
13779 #define VK_KHR_MAINTENANCE_8_SPEC_VERSION 1
13780 #define VK_KHR_MAINTENANCE_8_EXTENSION_NAME "VK_KHR_maintenance8"
13781 typedef VkFlags64 VkAccessFlags3KHR;
13782
13783 // Flag bits for VkAccessFlagBits3KHR
13784 typedef VkFlags64 VkAccessFlagBits3KHR;
13785 static const VkAccessFlagBits3KHR VK_ACCESS_3_NONE_KHR = 0ULL;
13786
13787 typedef struct VkMemoryBarrierAccessFlags3KHR {
13788 VkStructureType sType;
13789 const void* pNext;
13790 VkAccessFlags3KHR srcAccessMask3;
13791 VkAccessFlags3KHR dstAccessMask3;
13792 } VkMemoryBarrierAccessFlags3KHR;
13793
13794 typedef struct VkPhysicalDeviceMaintenance8FeaturesKHR {
13795 VkStructureType sType;
13796 void* pNext;
13797 VkBool32 maintenance8;
13798 } VkPhysicalDeviceMaintenance8FeaturesKHR;
13799
13800
13801
13802 // VK_KHR_shader_fma is a preprocessor guard. Do not pass it to API calls.
13803 #define VK_KHR_shader_fma 1
13804 #define VK_KHR_SHADER_FMA_SPEC_VERSION 1
13805 #define VK_KHR_SHADER_FMA_EXTENSION_NAME "VK_KHR_shader_fma"
13806 typedef struct VkPhysicalDeviceShaderFmaFeaturesKHR {
13807 VkStructureType sType;
13808 void* pNext;
13809 VkBool32 shaderFmaFloat16;
13810 VkBool32 shaderFmaFloat32;
13811 VkBool32 shaderFmaFloat64;
13812 } VkPhysicalDeviceShaderFmaFeaturesKHR;
13813
13814
13815
13816 // VK_KHR_maintenance9 is a preprocessor guard. Do not pass it to API calls.
13817 #define VK_KHR_maintenance9 1
13818 #define VK_KHR_MAINTENANCE_9_SPEC_VERSION 1
13819 #define VK_KHR_MAINTENANCE_9_EXTENSION_NAME "VK_KHR_maintenance9"
13820
13821 typedef enum VkDefaultVertexAttributeValueKHR {
13822 VK_DEFAULT_VERTEX_ATTRIBUTE_VALUE_ZERO_ZERO_ZERO_ZERO_KHR = 0,
13823 VK_DEFAULT_VERTEX_ATTRIBUTE_VALUE_ZERO_ZERO_ZERO_ONE_KHR = 1,
13824 VK_DEFAULT_VERTEX_ATTRIBUTE_VALUE_MAX_ENUM_KHR = 0x7FFFFFFF
13825 } VkDefaultVertexAttributeValueKHR;
13826 typedef struct VkPhysicalDeviceMaintenance9FeaturesKHR {
13827 VkStructureType sType;
13828 void* pNext;
13829 VkBool32 maintenance9;
13830 } VkPhysicalDeviceMaintenance9FeaturesKHR;
13831
13832 typedef struct VkPhysicalDeviceMaintenance9PropertiesKHR {
13833 VkStructureType sType;
13834 void* pNext;
13835 VkBool32 image2DViewOf3DSparse;
13836 VkDefaultVertexAttributeValueKHR defaultVertexAttributeValue;
13837 } VkPhysicalDeviceMaintenance9PropertiesKHR;
13838
13839 typedef struct VkQueueFamilyOwnershipTransferPropertiesKHR {
13840 VkStructureType sType;
13841 void* pNext;
13842 uint32_t optimalImageTransferToQueueFamilies;
13843 } VkQueueFamilyOwnershipTransferPropertiesKHR;
13844
13845
13846
13847 // VK_KHR_video_maintenance2 is a preprocessor guard. Do not pass it to API calls.
13848 #define VK_KHR_video_maintenance2 1
13849 #define VK_KHR_VIDEO_MAINTENANCE_2_SPEC_VERSION 1
13850 #define VK_KHR_VIDEO_MAINTENANCE_2_EXTENSION_NAME "VK_KHR_video_maintenance2"
13851 typedef struct VkPhysicalDeviceVideoMaintenance2FeaturesKHR {
13852 VkStructureType sType;
13853 void* pNext;
13854 VkBool32 videoMaintenance2;
13855 } VkPhysicalDeviceVideoMaintenance2FeaturesKHR;
13856
13857 typedef struct VkVideoDecodeH264InlineSessionParametersInfoKHR {
13858 VkStructureType sType;
13859 const void* pNext;
13860 const StdVideoH264SequenceParameterSet* pStdSPS;
13861 const StdVideoH264PictureParameterSet* pStdPPS;
13862 } VkVideoDecodeH264InlineSessionParametersInfoKHR;
13863
13864 typedef struct VkVideoDecodeH265InlineSessionParametersInfoKHR {
13865 VkStructureType sType;
13866 const void* pNext;
13867 const StdVideoH265VideoParameterSet* pStdVPS;
13868 const StdVideoH265SequenceParameterSet* pStdSPS;
13869 const StdVideoH265PictureParameterSet* pStdPPS;
13870 } VkVideoDecodeH265InlineSessionParametersInfoKHR;
13871
13872 typedef struct VkVideoDecodeAV1InlineSessionParametersInfoKHR {
13873 VkStructureType sType;
13874 const void* pNext;
13875 const StdVideoAV1SequenceHeader* pStdSequenceHeader;
13876 } VkVideoDecodeAV1InlineSessionParametersInfoKHR;
13877
13878
13879
13880 // VK_KHR_depth_clamp_zero_one is a preprocessor guard. Do not pass it to API calls.
13881 #define VK_KHR_depth_clamp_zero_one 1
13882 #define VK_KHR_DEPTH_CLAMP_ZERO_ONE_SPEC_VERSION 1
13883 #define VK_KHR_DEPTH_CLAMP_ZERO_ONE_EXTENSION_NAME "VK_KHR_depth_clamp_zero_one"
13884 typedef struct VkPhysicalDeviceDepthClampZeroOneFeaturesKHR {
13885 VkStructureType sType;
13886 void* pNext;
13887 VkBool32 depthClampZeroOne;
13888 } VkPhysicalDeviceDepthClampZeroOneFeaturesKHR;
13889
13890
13891
13892 // VK_KHR_robustness2 is a preprocessor guard. Do not pass it to API calls.
13893 #define VK_KHR_robustness2 1
13894 #define VK_KHR_ROBUSTNESS_2_SPEC_VERSION 1
13895 #define VK_KHR_ROBUSTNESS_2_EXTENSION_NAME "VK_KHR_robustness2"
13896 typedef struct VkPhysicalDeviceRobustness2FeaturesKHR {
13897 VkStructureType sType;
13898 void* pNext;
13899 VkBool32 robustBufferAccess2;
13900 VkBool32 robustImageAccess2;
13901 VkBool32 nullDescriptor;
13902 } VkPhysicalDeviceRobustness2FeaturesKHR;
13903
13904 typedef struct VkPhysicalDeviceRobustness2PropertiesKHR {
13905 VkStructureType sType;
13906 void* pNext;
13907 VkDeviceSize robustStorageBufferAccessSizeAlignment;
13908 VkDeviceSize robustUniformBufferAccessSizeAlignment;
13909 } VkPhysicalDeviceRobustness2PropertiesKHR;
13910
13911
13912
13913 // VK_KHR_present_mode_fifo_latest_ready is a preprocessor guard. Do not pass it to API calls.
13914 #define VK_KHR_present_mode_fifo_latest_ready 1
13915 #define VK_KHR_PRESENT_MODE_FIFO_LATEST_READY_SPEC_VERSION 1
13916 #define VK_KHR_PRESENT_MODE_FIFO_LATEST_READY_EXTENSION_NAME "VK_KHR_present_mode_fifo_latest_ready"
13917 typedef struct VkPhysicalDevicePresentModeFifoLatestReadyFeaturesKHR {
13918 VkStructureType sType;
13919 void* pNext;
13920 VkBool32 presentModeFifoLatestReady;
13921 } VkPhysicalDevicePresentModeFifoLatestReadyFeaturesKHR;
13922
13923
13924
13925 // VK_KHR_maintenance10 is a preprocessor guard. Do not pass it to API calls.
13926 #define VK_KHR_maintenance10 1
13927 #define VK_KHR_MAINTENANCE_10_SPEC_VERSION 1
13928 #define VK_KHR_MAINTENANCE_10_EXTENSION_NAME "VK_KHR_maintenance10"
13929
13930 typedef enum VkRenderingAttachmentFlagBitsKHR {
13931 VK_RENDERING_ATTACHMENT_INPUT_ATTACHMENT_FEEDBACK_BIT_KHR = 0x00000001,
13932 VK_RENDERING_ATTACHMENT_RESOLVE_SKIP_TRANSFER_FUNCTION_BIT_KHR = 0x00000002,
13933 VK_RENDERING_ATTACHMENT_RESOLVE_ENABLE_TRANSFER_FUNCTION_BIT_KHR = 0x00000004,
13934 VK_RENDERING_ATTACHMENT_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
13935 } VkRenderingAttachmentFlagBitsKHR;
13936 typedef VkFlags VkRenderingAttachmentFlagsKHR;
13937
13938 typedef enum VkResolveImageFlagBitsKHR {
13939 VK_RESOLVE_IMAGE_SKIP_TRANSFER_FUNCTION_BIT_KHR = 0x00000001,
13940 VK_RESOLVE_IMAGE_ENABLE_TRANSFER_FUNCTION_BIT_KHR = 0x00000002,
13941 VK_RESOLVE_IMAGE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
13942 } VkResolveImageFlagBitsKHR;
13943 typedef VkFlags VkResolveImageFlagsKHR;
13944 typedef struct VkPhysicalDeviceMaintenance10FeaturesKHR {
13945 VkStructureType sType;
13946 void* pNext;
13947 VkBool32 maintenance10;
13948 } VkPhysicalDeviceMaintenance10FeaturesKHR;
13949
13950 typedef struct VkPhysicalDeviceMaintenance10PropertiesKHR {
13951 VkStructureType sType;
13952 void* pNext;
13953 VkBool32 rgba4OpaqueBlackSwizzled;
13954 VkBool32 resolveSrgbFormatAppliesTransferFunction;
13955 VkBool32 resolveSrgbFormatSupportsTransferFunctionControl;
13956 } VkPhysicalDeviceMaintenance10PropertiesKHR;
13957
13958 typedef struct VkRenderingEndInfoKHR {
13959 VkStructureType sType;
13960 const void* pNext;
13961 } VkRenderingEndInfoKHR;
13962
13963 typedef struct VkRenderingAttachmentFlagsInfoKHR {
13964 VkStructureType sType;
13965 const void* pNext;
13966 VkRenderingAttachmentFlagsKHR flags;
13967 } VkRenderingAttachmentFlagsInfoKHR;
13968
13969 typedef struct VkResolveImageModeInfoKHR {
13970 VkStructureType sType;
13971 const void* pNext;
13972 VkResolveImageFlagsKHR flags;
13973 VkResolveModeFlagBits resolveMode;
13974 VkResolveModeFlagBits stencilResolveMode;
13975 } VkResolveImageModeInfoKHR;
13976
13977 typedef void (VKAPI_PTR *PFN_vkCmdEndRendering2KHR)(VkCommandBuffer commandBuffer, const VkRenderingEndInfoKHR* pRenderingEndInfo);
13978
13979 #ifndef VK_NO_PROTOTYPES
13980 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
13981 VKAPI_ATTR void VKAPI_CALL vkCmdEndRendering2KHR(
13982 VkCommandBuffer commandBuffer,
13983 const VkRenderingEndInfoKHR* pRenderingEndInfo);
13984 #endif
13985 #endif
13986
13987
13988 // VK_EXT_debug_report is a preprocessor guard. Do not pass it to API calls.
13989 #define VK_EXT_debug_report 1
13990 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT)
13991 #define VK_EXT_DEBUG_REPORT_SPEC_VERSION 10
13992 #define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report"
13993
13994 typedef enum VkDebugReportObjectTypeEXT {
13995 VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT = 0,
13996 VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT = 1,
13997 VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT = 2,
13998 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT = 3,
13999 VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT = 4,
14000 VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT = 5,
14001 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT = 6,
14002 VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT = 7,
14003 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT = 8,
14004 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT = 9,
14005 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT = 10,
14006 VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT = 11,
14007 VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT = 12,
14008 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT = 13,
14009 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT = 14,
14010 VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT = 15,
14011 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT = 16,
14012 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT = 17,
14013 VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT = 18,
14014 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT = 19,
14015 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT = 20,
14016 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT = 21,
14017 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT = 22,
14018 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT = 23,
14019 VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT = 24,
14020 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT = 25,
14021 VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = 26,
14022 VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = 27,
14023 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT = 28,
14024 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT = 29,
14025 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = 30,
14026 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT = 33,
14027 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT = 1000156000,
14028 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT = 1000085000,
14029 VK_DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT = 1000029000,
14030 VK_DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT = 1000029001,
14031 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT = 1000150000,
14032 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT = 1000165000,
14033 VK_DEBUG_REPORT_OBJECT_TYPE_CUDA_MODULE_NV_EXT = 1000307000,
14034 VK_DEBUG_REPORT_OBJECT_TYPE_CUDA_FUNCTION_NV_EXT = 1000307001,
14035 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT = 1000366000,
14036 // VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT is a legacy alias
14037 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT,
14038 // VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT is a legacy alias
14039 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT,
14040 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT,
14041 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT,
14042 VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
14043 } VkDebugReportObjectTypeEXT;
14044
14045 typedef enum VkDebugReportFlagBitsEXT {
14046 VK_DEBUG_REPORT_INFORMATION_BIT_EXT = 0x00000001,
14047 VK_DEBUG_REPORT_WARNING_BIT_EXT = 0x00000002,
14048 VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = 0x00000004,
14049 VK_DEBUG_REPORT_ERROR_BIT_EXT = 0x00000008,
14050 VK_DEBUG_REPORT_DEBUG_BIT_EXT = 0x00000010,
14051 VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
14052 } VkDebugReportFlagBitsEXT;
14053 typedef VkFlags VkDebugReportFlagsEXT;
14054 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugReportCallbackEXT)(
14055 VkDebugReportFlagsEXT flags,
14056 VkDebugReportObjectTypeEXT objectType,
14057 uint64_t object,
14058 size_t location,
14059 int32_t messageCode,
14060 const char* pLayerPrefix,
14061 const char* pMessage,
14062 void* pUserData);
14063
14064 typedef struct VkDebugReportCallbackCreateInfoEXT {
14065 VkStructureType sType;
14066 const void* pNext;
14067 VkDebugReportFlagsEXT flags;
14068 PFN_vkDebugReportCallbackEXT pfnCallback;
14069 void* pUserData;
14070 } VkDebugReportCallbackCreateInfoEXT;
14071
14072 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugReportCallbackEXT)(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback);
14073 typedef void (VKAPI_PTR *PFN_vkDestroyDebugReportCallbackEXT)(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator);
14074 typedef void (VKAPI_PTR *PFN_vkDebugReportMessageEXT)(VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, uint64_t object, size_t location, int32_t messageCode, const char* pLayerPrefix, const char* pMessage);
14075
14076 #ifndef VK_NO_PROTOTYPES
14077 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
14078 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugReportCallbackEXT(
14079 VkInstance instance,
14080 const VkDebugReportCallbackCreateInfoEXT* pCreateInfo,
14081 const VkAllocationCallbacks* pAllocator,
14082 VkDebugReportCallbackEXT* pCallback);
14083 #endif
14084
14085 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
14086 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugReportCallbackEXT(
14087 VkInstance instance,
14088 VkDebugReportCallbackEXT callback,
14089 const VkAllocationCallbacks* pAllocator);
14090 #endif
14091
14092 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
14093 VKAPI_ATTR void VKAPI_CALL vkDebugReportMessageEXT(
14094 VkInstance instance,
14095 VkDebugReportFlagsEXT flags,
14096 VkDebugReportObjectTypeEXT objectType,
14097 uint64_t object,
14098 size_t location,
14099 int32_t messageCode,
14100 const char* pLayerPrefix,
14101 const char* pMessage);
14102 #endif
14103 #endif
14104
14105
14106 // VK_NV_glsl_shader is a preprocessor guard. Do not pass it to API calls.
14107 #define VK_NV_glsl_shader 1
14108 #define VK_NV_GLSL_SHADER_SPEC_VERSION 1
14109 #define VK_NV_GLSL_SHADER_EXTENSION_NAME "VK_NV_glsl_shader"
14110
14111
14112 // VK_EXT_depth_range_unrestricted is a preprocessor guard. Do not pass it to API calls.
14113 #define VK_EXT_depth_range_unrestricted 1
14114 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION 1
14115 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME "VK_EXT_depth_range_unrestricted"
14116
14117
14118 // VK_IMG_filter_cubic is a preprocessor guard. Do not pass it to API calls.
14119 #define VK_IMG_filter_cubic 1
14120 #define VK_IMG_FILTER_CUBIC_SPEC_VERSION 1
14121 #define VK_IMG_FILTER_CUBIC_EXTENSION_NAME "VK_IMG_filter_cubic"
14122
14123
14124 // VK_AMD_rasterization_order is a preprocessor guard. Do not pass it to API calls.
14125 #define VK_AMD_rasterization_order 1
14126 #define VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION 1
14127 #define VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME "VK_AMD_rasterization_order"
14128
14129 typedef enum VkRasterizationOrderAMD {
14130 VK_RASTERIZATION_ORDER_STRICT_AMD = 0,
14131 VK_RASTERIZATION_ORDER_RELAXED_AMD = 1,
14132 VK_RASTERIZATION_ORDER_MAX_ENUM_AMD = 0x7FFFFFFF
14133 } VkRasterizationOrderAMD;
14134 typedef struct VkPipelineRasterizationStateRasterizationOrderAMD {
14135 VkStructureType sType;
14136 const void* pNext;
14137 VkRasterizationOrderAMD rasterizationOrder;
14138 } VkPipelineRasterizationStateRasterizationOrderAMD;
14139
14140
14141
14142 // VK_AMD_shader_trinary_minmax is a preprocessor guard. Do not pass it to API calls.
14143 #define VK_AMD_shader_trinary_minmax 1
14144 #define VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION 1
14145 #define VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME "VK_AMD_shader_trinary_minmax"
14146
14147
14148 // VK_AMD_shader_explicit_vertex_parameter is a preprocessor guard. Do not pass it to API calls.
14149 #define VK_AMD_shader_explicit_vertex_parameter 1
14150 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION 1
14151 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME "VK_AMD_shader_explicit_vertex_parameter"
14152
14153
14154 // VK_EXT_debug_marker is a preprocessor guard. Do not pass it to API calls.
14155 #define VK_EXT_debug_marker 1
14156 #define VK_EXT_DEBUG_MARKER_SPEC_VERSION 4
14157 #define VK_EXT_DEBUG_MARKER_EXTENSION_NAME "VK_EXT_debug_marker"
14158 typedef struct VkDebugMarkerObjectNameInfoEXT {
14159 VkStructureType sType;
14160 const void* pNext;
14161 VkDebugReportObjectTypeEXT objectType;
14162 uint64_t object;
14163 const char* pObjectName;
14164 } VkDebugMarkerObjectNameInfoEXT;
14165
14166 typedef struct VkDebugMarkerObjectTagInfoEXT {
14167 VkStructureType sType;
14168 const void* pNext;
14169 VkDebugReportObjectTypeEXT objectType;
14170 uint64_t object;
14171 uint64_t tagName;
14172 size_t tagSize;
14173 const void* pTag;
14174 } VkDebugMarkerObjectTagInfoEXT;
14175
14176 typedef struct VkDebugMarkerMarkerInfoEXT {
14177 VkStructureType sType;
14178 const void* pNext;
14179 const char* pMarkerName;
14180 float color[4];
14181 } VkDebugMarkerMarkerInfoEXT;
14182
14183 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectTagEXT)(VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
14184 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectNameEXT)(VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
14185 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerBeginEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
14186 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerEndEXT)(VkCommandBuffer commandBuffer);
14187 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerInsertEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
14188
14189 #ifndef VK_NO_PROTOTYPES
14190 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
14191 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectTagEXT(
14192 VkDevice device,
14193 const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
14194 #endif
14195
14196 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
14197 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectNameEXT(
14198 VkDevice device,
14199 const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
14200 #endif
14201
14202 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
14203 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerBeginEXT(
14204 VkCommandBuffer commandBuffer,
14205 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
14206 #endif
14207
14208 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
14209 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerEndEXT(
14210 VkCommandBuffer commandBuffer);
14211 #endif
14212
14213 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
14214 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerInsertEXT(
14215 VkCommandBuffer commandBuffer,
14216 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
14217 #endif
14218 #endif
14219
14220
14221 // VK_AMD_gcn_shader is a preprocessor guard. Do not pass it to API calls.
14222 #define VK_AMD_gcn_shader 1
14223 #define VK_AMD_GCN_SHADER_SPEC_VERSION 1
14224 #define VK_AMD_GCN_SHADER_EXTENSION_NAME "VK_AMD_gcn_shader"
14225
14226
14227 // VK_NV_dedicated_allocation is a preprocessor guard. Do not pass it to API calls.
14228 #define VK_NV_dedicated_allocation 1
14229 #define VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION 1
14230 #define VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_NV_dedicated_allocation"
14231 typedef struct VkDedicatedAllocationImageCreateInfoNV {
14232 VkStructureType sType;
14233 const void* pNext;
14234 VkBool32 dedicatedAllocation;
14235 } VkDedicatedAllocationImageCreateInfoNV;
14236
14237 typedef struct VkDedicatedAllocationBufferCreateInfoNV {
14238 VkStructureType sType;
14239 const void* pNext;
14240 VkBool32 dedicatedAllocation;
14241 } VkDedicatedAllocationBufferCreateInfoNV;
14242
14243 typedef struct VkDedicatedAllocationMemoryAllocateInfoNV {
14244 VkStructureType sType;
14245 const void* pNext;
14246 VkImage image;
14247 VkBuffer buffer;
14248 } VkDedicatedAllocationMemoryAllocateInfoNV;
14249
14250
14251
14252 // VK_EXT_transform_feedback is a preprocessor guard. Do not pass it to API calls.
14253 #define VK_EXT_transform_feedback 1
14254 #define VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION 1
14255 #define VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME "VK_EXT_transform_feedback"
14256 typedef VkFlags VkPipelineRasterizationStateStreamCreateFlagsEXT;
14257 typedef struct VkPhysicalDeviceTransformFeedbackFeaturesEXT {
14258 VkStructureType sType;
14259 void* pNext;
14260 VkBool32 transformFeedback;
14261 VkBool32 geometryStreams;
14262 } VkPhysicalDeviceTransformFeedbackFeaturesEXT;
14263
14264 typedef struct VkPhysicalDeviceTransformFeedbackPropertiesEXT {
14265 VkStructureType sType;
14266 void* pNext;
14267 uint32_t maxTransformFeedbackStreams;
14268 uint32_t maxTransformFeedbackBuffers;
14269 VkDeviceSize maxTransformFeedbackBufferSize;
14270 uint32_t maxTransformFeedbackStreamDataSize;
14271 uint32_t maxTransformFeedbackBufferDataSize;
14272 uint32_t maxTransformFeedbackBufferDataStride;
14273 VkBool32 transformFeedbackQueries;
14274 VkBool32 transformFeedbackStreamsLinesTriangles;
14275 VkBool32 transformFeedbackRasterizationStreamSelect;
14276 VkBool32 transformFeedbackDraw;
14277 } VkPhysicalDeviceTransformFeedbackPropertiesEXT;
14278
14279 typedef struct VkPipelineRasterizationStateStreamCreateInfoEXT {
14280 VkStructureType sType;
14281 const void* pNext;
14282 VkPipelineRasterizationStateStreamCreateFlagsEXT flags;
14283 uint32_t rasterizationStream;
14284 } VkPipelineRasterizationStateStreamCreateInfoEXT;
14285
14286 typedef void (VKAPI_PTR *PFN_vkCmdBindTransformFeedbackBuffersEXT)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes);
14287 typedef void (VKAPI_PTR *PFN_vkCmdBeginTransformFeedbackEXT)(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
14288 typedef void (VKAPI_PTR *PFN_vkCmdEndTransformFeedbackEXT)(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
14289 typedef void (VKAPI_PTR *PFN_vkCmdBeginQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index);
14290 typedef void (VKAPI_PTR *PFN_vkCmdEndQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index);
14291 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectByteCountEXT)(VkCommandBuffer commandBuffer, uint32_t instanceCount, uint32_t firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, uint32_t counterOffset, uint32_t vertexStride);
14292
14293 #ifndef VK_NO_PROTOTYPES
14294 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
14295 VKAPI_ATTR void VKAPI_CALL vkCmdBindTransformFeedbackBuffersEXT(
14296 VkCommandBuffer commandBuffer,
14297 uint32_t firstBinding,
14298 uint32_t bindingCount,
14299 const VkBuffer* pBuffers,
14300 const VkDeviceSize* pOffsets,
14301 const VkDeviceSize* pSizes);
14302 #endif
14303
14304 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
14305 VKAPI_ATTR void VKAPI_CALL vkCmdBeginTransformFeedbackEXT(
14306 VkCommandBuffer commandBuffer,
14307 uint32_t firstCounterBuffer,
14308 uint32_t counterBufferCount,
14309 const VkBuffer* pCounterBuffers,
14310 const VkDeviceSize* pCounterBufferOffsets);
14311 #endif
14312
14313 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
14314 VKAPI_ATTR void VKAPI_CALL vkCmdEndTransformFeedbackEXT(
14315 VkCommandBuffer commandBuffer,
14316 uint32_t firstCounterBuffer,
14317 uint32_t counterBufferCount,
14318 const VkBuffer* pCounterBuffers,
14319 const VkDeviceSize* pCounterBufferOffsets);
14320 #endif
14321
14322 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
14323 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQueryIndexedEXT(
14324 VkCommandBuffer commandBuffer,
14325 VkQueryPool queryPool,
14326 uint32_t query,
14327 VkQueryControlFlags flags,
14328 uint32_t index);
14329 #endif
14330
14331 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
14332 VKAPI_ATTR void VKAPI_CALL vkCmdEndQueryIndexedEXT(
14333 VkCommandBuffer commandBuffer,
14334 VkQueryPool queryPool,
14335 uint32_t query,
14336 uint32_t index);
14337 #endif
14338
14339 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
14340 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectByteCountEXT(
14341 VkCommandBuffer commandBuffer,
14342 uint32_t instanceCount,
14343 uint32_t firstInstance,
14344 VkBuffer counterBuffer,
14345 VkDeviceSize counterBufferOffset,
14346 uint32_t counterOffset,
14347 uint32_t vertexStride);
14348 #endif
14349 #endif
14350
14351
14352 // VK_NVX_binary_import is a preprocessor guard. Do not pass it to API calls.
14353 #define VK_NVX_binary_import 1
14354 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuModuleNVX)
14355 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuFunctionNVX)
14356 #define VK_NVX_BINARY_IMPORT_SPEC_VERSION 2
14357 #define VK_NVX_BINARY_IMPORT_EXTENSION_NAME "VK_NVX_binary_import"
14358 typedef struct VkCuModuleCreateInfoNVX {
14359 VkStructureType sType;
14360 const void* pNext;
14361 size_t dataSize;
14362 const void* pData;
14363 } VkCuModuleCreateInfoNVX;
14364
14365 typedef struct VkCuModuleTexturingModeCreateInfoNVX {
14366 VkStructureType sType;
14367 const void* pNext;
14368 VkBool32 use64bitTexturing;
14369 } VkCuModuleTexturingModeCreateInfoNVX;
14370
14371 typedef struct VkCuFunctionCreateInfoNVX {
14372 VkStructureType sType;
14373 const void* pNext;
14374 VkCuModuleNVX module;
14375 const char* pName;
14376 } VkCuFunctionCreateInfoNVX;
14377
14378 typedef struct VkCuLaunchInfoNVX {
14379 VkStructureType sType;
14380 const void* pNext;
14381 VkCuFunctionNVX function;
14382 uint32_t gridDimX;
14383 uint32_t gridDimY;
14384 uint32_t gridDimZ;
14385 uint32_t blockDimX;
14386 uint32_t blockDimY;
14387 uint32_t blockDimZ;
14388 uint32_t sharedMemBytes;
14389 size_t paramCount;
14390 const void* const * pParams;
14391 size_t extraCount;
14392 const void* const * pExtras;
14393 } VkCuLaunchInfoNVX;
14394
14395 typedef VkResult (VKAPI_PTR *PFN_vkCreateCuModuleNVX)(VkDevice device, const VkCuModuleCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuModuleNVX* pModule);
14396 typedef VkResult (VKAPI_PTR *PFN_vkCreateCuFunctionNVX)(VkDevice device, const VkCuFunctionCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuFunctionNVX* pFunction);
14397 typedef void (VKAPI_PTR *PFN_vkDestroyCuModuleNVX)(VkDevice device, VkCuModuleNVX module, const VkAllocationCallbacks* pAllocator);
14398 typedef void (VKAPI_PTR *PFN_vkDestroyCuFunctionNVX)(VkDevice device, VkCuFunctionNVX function, const VkAllocationCallbacks* pAllocator);
14399 typedef void (VKAPI_PTR *PFN_vkCmdCuLaunchKernelNVX)(VkCommandBuffer commandBuffer, const VkCuLaunchInfoNVX* pLaunchInfo);
14400
14401 #ifndef VK_NO_PROTOTYPES
14402 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
14403 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCuModuleNVX(
14404 VkDevice device,
14405 const VkCuModuleCreateInfoNVX* pCreateInfo,
14406 const VkAllocationCallbacks* pAllocator,
14407 VkCuModuleNVX* pModule);
14408 #endif
14409
14410 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
14411 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCuFunctionNVX(
14412 VkDevice device,
14413 const VkCuFunctionCreateInfoNVX* pCreateInfo,
14414 const VkAllocationCallbacks* pAllocator,
14415 VkCuFunctionNVX* pFunction);
14416 #endif
14417
14418 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
14419 VKAPI_ATTR void VKAPI_CALL vkDestroyCuModuleNVX(
14420 VkDevice device,
14421 VkCuModuleNVX module,
14422 const VkAllocationCallbacks* pAllocator);
14423 #endif
14424
14425 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
14426 VKAPI_ATTR void VKAPI_CALL vkDestroyCuFunctionNVX(
14427 VkDevice device,
14428 VkCuFunctionNVX function,
14429 const VkAllocationCallbacks* pAllocator);
14430 #endif
14431
14432 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
14433 VKAPI_ATTR void VKAPI_CALL vkCmdCuLaunchKernelNVX(
14434 VkCommandBuffer commandBuffer,
14435 const VkCuLaunchInfoNVX* pLaunchInfo);
14436 #endif
14437 #endif
14438
14439
14440 // VK_NVX_image_view_handle is a preprocessor guard. Do not pass it to API calls.
14441 #define VK_NVX_image_view_handle 1
14442 #define VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION 3
14443 #define VK_NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME "VK_NVX_image_view_handle"
14444 typedef struct VkImageViewHandleInfoNVX {
14445 VkStructureType sType;
14446 const void* pNext;
14447 VkImageView imageView;
14448 VkDescriptorType descriptorType;
14449 VkSampler sampler;
14450 } VkImageViewHandleInfoNVX;
14451
14452 typedef struct VkImageViewAddressPropertiesNVX {
14453 VkStructureType sType;
14454 void* pNext;
14455 VkDeviceAddress deviceAddress;
14456 VkDeviceSize size;
14457 } VkImageViewAddressPropertiesNVX;
14458
14459 typedef uint32_t (VKAPI_PTR *PFN_vkGetImageViewHandleNVX)(VkDevice device, const VkImageViewHandleInfoNVX* pInfo);
14460 typedef uint64_t (VKAPI_PTR *PFN_vkGetImageViewHandle64NVX)(VkDevice device, const VkImageViewHandleInfoNVX* pInfo);
14461 typedef VkResult (VKAPI_PTR *PFN_vkGetImageViewAddressNVX)(VkDevice device, VkImageView imageView, VkImageViewAddressPropertiesNVX* pProperties);
14462
14463 #ifndef VK_NO_PROTOTYPES
14464 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
14465 VKAPI_ATTR uint32_t VKAPI_CALL vkGetImageViewHandleNVX(
14466 VkDevice device,
14467 const VkImageViewHandleInfoNVX* pInfo);
14468 #endif
14469
14470 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
14471 VKAPI_ATTR uint64_t VKAPI_CALL vkGetImageViewHandle64NVX(
14472 VkDevice device,
14473 const VkImageViewHandleInfoNVX* pInfo);
14474 #endif
14475
14476 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
14477 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageViewAddressNVX(
14478 VkDevice device,
14479 VkImageView imageView,
14480 VkImageViewAddressPropertiesNVX* pProperties);
14481 #endif
14482 #endif
14483
14484
14485 // VK_AMD_draw_indirect_count is a preprocessor guard. Do not pass it to API calls.
14486 #define VK_AMD_draw_indirect_count 1
14487 #define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 2
14488 #define VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_AMD_draw_indirect_count"
14489 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
14490 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
14491
14492 #ifndef VK_NO_PROTOTYPES
14493 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
14494 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountAMD(
14495 VkCommandBuffer commandBuffer,
14496 VkBuffer buffer,
14497 VkDeviceSize offset,
14498 VkBuffer countBuffer,
14499 VkDeviceSize countBufferOffset,
14500 uint32_t maxDrawCount,
14501 uint32_t stride);
14502 #endif
14503
14504 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
14505 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountAMD(
14506 VkCommandBuffer commandBuffer,
14507 VkBuffer buffer,
14508 VkDeviceSize offset,
14509 VkBuffer countBuffer,
14510 VkDeviceSize countBufferOffset,
14511 uint32_t maxDrawCount,
14512 uint32_t stride);
14513 #endif
14514 #endif
14515
14516
14517 // VK_AMD_negative_viewport_height is a preprocessor guard. Do not pass it to API calls.
14518 #define VK_AMD_negative_viewport_height 1
14519 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION 1
14520 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME "VK_AMD_negative_viewport_height"
14521
14522
14523 // VK_AMD_gpu_shader_half_float is a preprocessor guard. Do not pass it to API calls.
14524 #define VK_AMD_gpu_shader_half_float 1
14525 #define VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION 2
14526 #define VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME "VK_AMD_gpu_shader_half_float"
14527
14528
14529 // VK_AMD_shader_ballot is a preprocessor guard. Do not pass it to API calls.
14530 #define VK_AMD_shader_ballot 1
14531 #define VK_AMD_SHADER_BALLOT_SPEC_VERSION 1
14532 #define VK_AMD_SHADER_BALLOT_EXTENSION_NAME "VK_AMD_shader_ballot"
14533
14534
14535 // VK_AMD_texture_gather_bias_lod is a preprocessor guard. Do not pass it to API calls.
14536 #define VK_AMD_texture_gather_bias_lod 1
14537 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION 1
14538 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME "VK_AMD_texture_gather_bias_lod"
14539 typedef struct VkTextureLODGatherFormatPropertiesAMD {
14540 VkStructureType sType;
14541 void* pNext;
14542 VkBool32 supportsTextureGatherLODBiasAMD;
14543 } VkTextureLODGatherFormatPropertiesAMD;
14544
14545
14546
14547 // VK_AMD_shader_info is a preprocessor guard. Do not pass it to API calls.
14548 #define VK_AMD_shader_info 1
14549 #define VK_AMD_SHADER_INFO_SPEC_VERSION 1
14550 #define VK_AMD_SHADER_INFO_EXTENSION_NAME "VK_AMD_shader_info"
14551
14552 typedef enum VkShaderInfoTypeAMD {
14553 VK_SHADER_INFO_TYPE_STATISTICS_AMD = 0,
14554 VK_SHADER_INFO_TYPE_BINARY_AMD = 1,
14555 VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD = 2,
14556 VK_SHADER_INFO_TYPE_MAX_ENUM_AMD = 0x7FFFFFFF
14557 } VkShaderInfoTypeAMD;
14558 typedef struct VkShaderResourceUsageAMD {
14559 uint32_t numUsedVgprs;
14560 uint32_t numUsedSgprs;
14561 uint32_t ldsSizePerLocalWorkGroup;
14562 size_t ldsUsageSizeInBytes;
14563 size_t scratchMemUsageInBytes;
14564 } VkShaderResourceUsageAMD;
14565
14566 typedef struct VkShaderStatisticsInfoAMD {
14567 VkShaderStageFlags shaderStageMask;
14568 VkShaderResourceUsageAMD resourceUsage;
14569 uint32_t numPhysicalVgprs;
14570 uint32_t numPhysicalSgprs;
14571 uint32_t numAvailableVgprs;
14572 uint32_t numAvailableSgprs;
14573 uint32_t computeWorkGroupSize[3];
14574 } VkShaderStatisticsInfoAMD;
14575
14576 typedef VkResult (VKAPI_PTR *PFN_vkGetShaderInfoAMD)(VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, size_t* pInfoSize, void* pInfo);
14577
14578 #ifndef VK_NO_PROTOTYPES
14579 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
14580 VKAPI_ATTR VkResult VKAPI_CALL vkGetShaderInfoAMD(
14581 VkDevice device,
14582 VkPipeline pipeline,
14583 VkShaderStageFlagBits shaderStage,
14584 VkShaderInfoTypeAMD infoType,
14585 size_t* pInfoSize,
14586 void* pInfo);
14587 #endif
14588 #endif
14589
14590
14591 // VK_AMD_shader_image_load_store_lod is a preprocessor guard. Do not pass it to API calls.
14592 #define VK_AMD_shader_image_load_store_lod 1
14593 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION 1
14594 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME "VK_AMD_shader_image_load_store_lod"
14595
14596
14597 // VK_NV_corner_sampled_image is a preprocessor guard. Do not pass it to API calls.
14598 #define VK_NV_corner_sampled_image 1
14599 #define VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION 2
14600 #define VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME "VK_NV_corner_sampled_image"
14601 typedef struct VkPhysicalDeviceCornerSampledImageFeaturesNV {
14602 VkStructureType sType;
14603 void* pNext;
14604 VkBool32 cornerSampledImage;
14605 } VkPhysicalDeviceCornerSampledImageFeaturesNV;
14606
14607
14608
14609 // VK_IMG_format_pvrtc is a preprocessor guard. Do not pass it to API calls.
14610 #define VK_IMG_format_pvrtc 1
14611 #define VK_IMG_FORMAT_PVRTC_SPEC_VERSION 1
14612 #define VK_IMG_FORMAT_PVRTC_EXTENSION_NAME "VK_IMG_format_pvrtc"
14613
14614
14615 // VK_NV_external_memory_capabilities is a preprocessor guard. Do not pass it to API calls.
14616 #define VK_NV_external_memory_capabilities 1
14617 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
14618 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_NV_external_memory_capabilities"
14619
14620 typedef enum VkExternalMemoryHandleTypeFlagBitsNV {
14621 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV = 0x00000001,
14622 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV = 0x00000002,
14623 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV = 0x00000004,
14624 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV = 0x00000008,
14625 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
14626 } VkExternalMemoryHandleTypeFlagBitsNV;
14627 typedef VkFlags VkExternalMemoryHandleTypeFlagsNV;
14628
14629 typedef enum VkExternalMemoryFeatureFlagBitsNV {
14630 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV = 0x00000001,
14631 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV = 0x00000002,
14632 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV = 0x00000004,
14633 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
14634 } VkExternalMemoryFeatureFlagBitsNV;
14635 typedef VkFlags VkExternalMemoryFeatureFlagsNV;
14636 typedef struct VkExternalImageFormatPropertiesNV {
14637 VkImageFormatProperties imageFormatProperties;
14638 VkExternalMemoryFeatureFlagsNV externalMemoryFeatures;
14639 VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes;
14640 VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes;
14641 } VkExternalImageFormatPropertiesNV;
14642
14643 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
14644
14645 #ifndef VK_NO_PROTOTYPES
14646 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
14647 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
14648 VkPhysicalDevice physicalDevice,
14649 VkFormat format,
14650 VkImageType type,
14651 VkImageTiling tiling,
14652 VkImageUsageFlags usage,
14653 VkImageCreateFlags flags,
14654 VkExternalMemoryHandleTypeFlagsNV externalHandleType,
14655 VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
14656 #endif
14657 #endif
14658
14659
14660 // VK_NV_external_memory is a preprocessor guard. Do not pass it to API calls.
14661 #define VK_NV_external_memory 1
14662 #define VK_NV_EXTERNAL_MEMORY_SPEC_VERSION 1
14663 #define VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME "VK_NV_external_memory"
14664 typedef struct VkExternalMemoryImageCreateInfoNV {
14665 VkStructureType sType;
14666 const void* pNext;
14667 VkExternalMemoryHandleTypeFlagsNV handleTypes;
14668 } VkExternalMemoryImageCreateInfoNV;
14669
14670 typedef struct VkExportMemoryAllocateInfoNV {
14671 VkStructureType sType;
14672 const void* pNext;
14673 VkExternalMemoryHandleTypeFlagsNV handleTypes;
14674 } VkExportMemoryAllocateInfoNV;
14675
14676
14677
14678 // VK_EXT_validation_flags is a preprocessor guard. Do not pass it to API calls.
14679 #define VK_EXT_validation_flags 1
14680 #define VK_EXT_VALIDATION_FLAGS_SPEC_VERSION 3
14681 #define VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME "VK_EXT_validation_flags"
14682
14683 typedef enum VkValidationCheckEXT {
14684 VK_VALIDATION_CHECK_ALL_EXT = 0,
14685 VK_VALIDATION_CHECK_SHADERS_EXT = 1,
14686 VK_VALIDATION_CHECK_MAX_ENUM_EXT = 0x7FFFFFFF
14687 } VkValidationCheckEXT;
14688 typedef struct VkValidationFlagsEXT {
14689 VkStructureType sType;
14690 const void* pNext;
14691 uint32_t disabledValidationCheckCount;
14692 const VkValidationCheckEXT* pDisabledValidationChecks;
14693 } VkValidationFlagsEXT;
14694
14695
14696
14697 // VK_EXT_shader_subgroup_ballot is a preprocessor guard. Do not pass it to API calls.
14698 #define VK_EXT_shader_subgroup_ballot 1
14699 #define VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION 1
14700 #define VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME "VK_EXT_shader_subgroup_ballot"
14701
14702
14703 // VK_EXT_shader_subgroup_vote is a preprocessor guard. Do not pass it to API calls.
14704 #define VK_EXT_shader_subgroup_vote 1
14705 #define VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION 1
14706 #define VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME "VK_EXT_shader_subgroup_vote"
14707
14708
14709 // VK_EXT_texture_compression_astc_hdr is a preprocessor guard. Do not pass it to API calls.
14710 #define VK_EXT_texture_compression_astc_hdr 1
14711 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION 1
14712 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME "VK_EXT_texture_compression_astc_hdr"
14713 typedef VkPhysicalDeviceTextureCompressionASTCHDRFeatures VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT;
14714
14715
14716
14717 // VK_EXT_astc_decode_mode is a preprocessor guard. Do not pass it to API calls.
14718 #define VK_EXT_astc_decode_mode 1
14719 #define VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION 1
14720 #define VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME "VK_EXT_astc_decode_mode"
14721 typedef struct VkImageViewASTCDecodeModeEXT {
14722 VkStructureType sType;
14723 const void* pNext;
14724 VkFormat decodeMode;
14725 } VkImageViewASTCDecodeModeEXT;
14726
14727 typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT {
14728 VkStructureType sType;
14729 void* pNext;
14730 VkBool32 decodeModeSharedExponent;
14731 } VkPhysicalDeviceASTCDecodeFeaturesEXT;
14732
14733
14734
14735 // VK_EXT_pipeline_robustness is a preprocessor guard. Do not pass it to API calls.
14736 #define VK_EXT_pipeline_robustness 1
14737 #define VK_EXT_PIPELINE_ROBUSTNESS_SPEC_VERSION 1
14738 #define VK_EXT_PIPELINE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_pipeline_robustness"
14739 typedef VkPipelineRobustnessBufferBehavior VkPipelineRobustnessBufferBehaviorEXT;
14740
14741 typedef VkPipelineRobustnessImageBehavior VkPipelineRobustnessImageBehaviorEXT;
14742
14743 typedef VkPhysicalDevicePipelineRobustnessFeatures VkPhysicalDevicePipelineRobustnessFeaturesEXT;
14744
14745 typedef VkPhysicalDevicePipelineRobustnessProperties VkPhysicalDevicePipelineRobustnessPropertiesEXT;
14746
14747 typedef VkPipelineRobustnessCreateInfo VkPipelineRobustnessCreateInfoEXT;
14748
14749
14750
14751 // VK_EXT_conditional_rendering is a preprocessor guard. Do not pass it to API calls.
14752 #define VK_EXT_conditional_rendering 1
14753 #define VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION 2
14754 #define VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME "VK_EXT_conditional_rendering"
14755
14756 typedef enum VkConditionalRenderingFlagBitsEXT {
14757 VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT = 0x00000001,
14758 VK_CONDITIONAL_RENDERING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
14759 } VkConditionalRenderingFlagBitsEXT;
14760 typedef VkFlags VkConditionalRenderingFlagsEXT;
14761 typedef struct VkConditionalRenderingBeginInfoEXT {
14762 VkStructureType sType;
14763 const void* pNext;
14764 VkBuffer buffer;
14765 VkDeviceSize offset;
14766 VkConditionalRenderingFlagsEXT flags;
14767 } VkConditionalRenderingBeginInfoEXT;
14768
14769 typedef struct VkPhysicalDeviceConditionalRenderingFeaturesEXT {
14770 VkStructureType sType;
14771 void* pNext;
14772 VkBool32 conditionalRendering;
14773 VkBool32 inheritedConditionalRendering;
14774 } VkPhysicalDeviceConditionalRenderingFeaturesEXT;
14775
14776 typedef struct VkCommandBufferInheritanceConditionalRenderingInfoEXT {
14777 VkStructureType sType;
14778 const void* pNext;
14779 VkBool32 conditionalRenderingEnable;
14780 } VkCommandBufferInheritanceConditionalRenderingInfoEXT;
14781
14782 typedef void (VKAPI_PTR *PFN_vkCmdBeginConditionalRenderingEXT)(VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
14783 typedef void (VKAPI_PTR *PFN_vkCmdEndConditionalRenderingEXT)(VkCommandBuffer commandBuffer);
14784
14785 #ifndef VK_NO_PROTOTYPES
14786 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
14787 VKAPI_ATTR void VKAPI_CALL vkCmdBeginConditionalRenderingEXT(
14788 VkCommandBuffer commandBuffer,
14789 const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
14790 #endif
14791
14792 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
14793 VKAPI_ATTR void VKAPI_CALL vkCmdEndConditionalRenderingEXT(
14794 VkCommandBuffer commandBuffer);
14795 #endif
14796 #endif
14797
14798
14799 // VK_NV_clip_space_w_scaling is a preprocessor guard. Do not pass it to API calls.
14800 #define VK_NV_clip_space_w_scaling 1
14801 #define VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION 1
14802 #define VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME "VK_NV_clip_space_w_scaling"
14803 typedef struct VkViewportWScalingNV {
14804 float xcoeff;
14805 float ycoeff;
14806 } VkViewportWScalingNV;
14807
14808 typedef struct VkPipelineViewportWScalingStateCreateInfoNV {
14809 VkStructureType sType;
14810 const void* pNext;
14811 VkBool32 viewportWScalingEnable;
14812 uint32_t viewportCount;
14813 const VkViewportWScalingNV* pViewportWScalings;
14814 } VkPipelineViewportWScalingStateCreateInfoNV;
14815
14816 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportWScalingNV* pViewportWScalings);
14817
14818 #ifndef VK_NO_PROTOTYPES
14819 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
14820 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWScalingNV(
14821 VkCommandBuffer commandBuffer,
14822 uint32_t firstViewport,
14823 uint32_t viewportCount,
14824 const VkViewportWScalingNV* pViewportWScalings);
14825 #endif
14826 #endif
14827
14828
14829 // VK_EXT_direct_mode_display is a preprocessor guard. Do not pass it to API calls.
14830 #define VK_EXT_direct_mode_display 1
14831 #define VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION 1
14832 #define VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME "VK_EXT_direct_mode_display"
14833 typedef VkResult (VKAPI_PTR *PFN_vkReleaseDisplayEXT)(VkPhysicalDevice physicalDevice, VkDisplayKHR display);
14834
14835 #ifndef VK_NO_PROTOTYPES
14836 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
14837 VKAPI_ATTR VkResult VKAPI_CALL vkReleaseDisplayEXT(
14838 VkPhysicalDevice physicalDevice,
14839 VkDisplayKHR display);
14840 #endif
14841 #endif
14842
14843
14844 // VK_EXT_display_surface_counter is a preprocessor guard. Do not pass it to API calls.
14845 #define VK_EXT_display_surface_counter 1
14846 #define VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION 1
14847 #define VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME "VK_EXT_display_surface_counter"
14848
14849 typedef enum VkSurfaceCounterFlagBitsEXT {
14850 VK_SURFACE_COUNTER_VBLANK_BIT_EXT = 0x00000001,
14851 // VK_SURFACE_COUNTER_VBLANK_EXT is a legacy alias
14852 VK_SURFACE_COUNTER_VBLANK_EXT = VK_SURFACE_COUNTER_VBLANK_BIT_EXT,
14853 VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
14854 } VkSurfaceCounterFlagBitsEXT;
14855 typedef VkFlags VkSurfaceCounterFlagsEXT;
14856 typedef struct VkSurfaceCapabilities2EXT {
14857 VkStructureType sType;
14858 void* pNext;
14859 uint32_t minImageCount;
14860 uint32_t maxImageCount;
14861 VkExtent2D currentExtent;
14862 VkExtent2D minImageExtent;
14863 VkExtent2D maxImageExtent;
14864 uint32_t maxImageArrayLayers;
14865 VkSurfaceTransformFlagsKHR supportedTransforms;
14866 VkSurfaceTransformFlagBitsKHR currentTransform;
14867 VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
14868 VkImageUsageFlags supportedUsageFlags;
14869 VkSurfaceCounterFlagsEXT supportedSurfaceCounters;
14870 } VkSurfaceCapabilities2EXT;
14871
14872 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
14873
14874 #ifndef VK_NO_PROTOTYPES
14875 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
14876 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2EXT(
14877 VkPhysicalDevice physicalDevice,
14878 VkSurfaceKHR surface,
14879 VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
14880 #endif
14881 #endif
14882
14883
14884 // VK_EXT_display_control is a preprocessor guard. Do not pass it to API calls.
14885 #define VK_EXT_display_control 1
14886 #define VK_EXT_DISPLAY_CONTROL_SPEC_VERSION 1
14887 #define VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME "VK_EXT_display_control"
14888
14889 typedef enum VkDisplayPowerStateEXT {
14890 VK_DISPLAY_POWER_STATE_OFF_EXT = 0,
14891 VK_DISPLAY_POWER_STATE_SUSPEND_EXT = 1,
14892 VK_DISPLAY_POWER_STATE_ON_EXT = 2,
14893 VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT = 0x7FFFFFFF
14894 } VkDisplayPowerStateEXT;
14895
14896 typedef enum VkDeviceEventTypeEXT {
14897 VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT = 0,
14898 VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
14899 } VkDeviceEventTypeEXT;
14900
14901 typedef enum VkDisplayEventTypeEXT {
14902 VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT = 0,
14903 VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
14904 } VkDisplayEventTypeEXT;
14905 typedef struct VkDisplayPowerInfoEXT {
14906 VkStructureType sType;
14907 const void* pNext;
14908 VkDisplayPowerStateEXT powerState;
14909 } VkDisplayPowerInfoEXT;
14910
14911 typedef struct VkDeviceEventInfoEXT {
14912 VkStructureType sType;
14913 const void* pNext;
14914 VkDeviceEventTypeEXT deviceEvent;
14915 } VkDeviceEventInfoEXT;
14916
14917 typedef struct VkDisplayEventInfoEXT {
14918 VkStructureType sType;
14919 const void* pNext;
14920 VkDisplayEventTypeEXT displayEvent;
14921 } VkDisplayEventInfoEXT;
14922
14923 typedef struct VkSwapchainCounterCreateInfoEXT {
14924 VkStructureType sType;
14925 const void* pNext;
14926 VkSurfaceCounterFlagsEXT surfaceCounters;
14927 } VkSwapchainCounterCreateInfoEXT;
14928
14929 typedef VkResult (VKAPI_PTR *PFN_vkDisplayPowerControlEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
14930 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDeviceEventEXT)(VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
14931 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDisplayEventEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
14932 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainCounterEXT)(VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, uint64_t* pCounterValue);
14933
14934 #ifndef VK_NO_PROTOTYPES
14935 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
14936 VKAPI_ATTR VkResult VKAPI_CALL vkDisplayPowerControlEXT(
14937 VkDevice device,
14938 VkDisplayKHR display,
14939 const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
14940 #endif
14941
14942 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
14943 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDeviceEventEXT(
14944 VkDevice device,
14945 const VkDeviceEventInfoEXT* pDeviceEventInfo,
14946 const VkAllocationCallbacks* pAllocator,
14947 VkFence* pFence);
14948 #endif
14949
14950 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
14951 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDisplayEventEXT(
14952 VkDevice device,
14953 VkDisplayKHR display,
14954 const VkDisplayEventInfoEXT* pDisplayEventInfo,
14955 const VkAllocationCallbacks* pAllocator,
14956 VkFence* pFence);
14957 #endif
14958
14959 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
14960 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainCounterEXT(
14961 VkDevice device,
14962 VkSwapchainKHR swapchain,
14963 VkSurfaceCounterFlagBitsEXT counter,
14964 uint64_t* pCounterValue);
14965 #endif
14966 #endif
14967
14968
14969 // VK_GOOGLE_display_timing is a preprocessor guard. Do not pass it to API calls.
14970 #define VK_GOOGLE_display_timing 1
14971 #define VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION 1
14972 #define VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME "VK_GOOGLE_display_timing"
14973 typedef struct VkRefreshCycleDurationGOOGLE {
14974 uint64_t refreshDuration;
14975 } VkRefreshCycleDurationGOOGLE;
14976
14977 typedef struct VkPastPresentationTimingGOOGLE {
14978 uint32_t presentID;
14979 uint64_t desiredPresentTime;
14980 uint64_t actualPresentTime;
14981 uint64_t earliestPresentTime;
14982 uint64_t presentMargin;
14983 } VkPastPresentationTimingGOOGLE;
14984
14985 typedef struct VkPresentTimeGOOGLE {
14986 uint32_t presentID;
14987 uint64_t desiredPresentTime;
14988 } VkPresentTimeGOOGLE;
14989
14990 typedef struct VkPresentTimesInfoGOOGLE {
14991 VkStructureType sType;
14992 const void* pNext;
14993 uint32_t swapchainCount;
14994 const VkPresentTimeGOOGLE* pTimes;
14995 } VkPresentTimesInfoGOOGLE;
14996
14997 typedef VkResult (VKAPI_PTR *PFN_vkGetRefreshCycleDurationGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
14998 typedef VkResult (VKAPI_PTR *PFN_vkGetPastPresentationTimingGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings);
14999
15000 #ifndef VK_NO_PROTOTYPES
15001 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
15002 VKAPI_ATTR VkResult VKAPI_CALL vkGetRefreshCycleDurationGOOGLE(
15003 VkDevice device,
15004 VkSwapchainKHR swapchain,
15005 VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
15006 #endif
15007
15008 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
15009 VKAPI_ATTR VkResult VKAPI_CALL vkGetPastPresentationTimingGOOGLE(
15010 VkDevice device,
15011 VkSwapchainKHR swapchain,
15012 uint32_t* pPresentationTimingCount,
15013 VkPastPresentationTimingGOOGLE* pPresentationTimings);
15014 #endif
15015 #endif
15016
15017
15018 // VK_NV_sample_mask_override_coverage is a preprocessor guard. Do not pass it to API calls.
15019 #define VK_NV_sample_mask_override_coverage 1
15020 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION 1
15021 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME "VK_NV_sample_mask_override_coverage"
15022
15023
15024 // VK_NV_geometry_shader_passthrough is a preprocessor guard. Do not pass it to API calls.
15025 #define VK_NV_geometry_shader_passthrough 1
15026 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION 1
15027 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME "VK_NV_geometry_shader_passthrough"
15028
15029
15030 // VK_NV_viewport_array2 is a preprocessor guard. Do not pass it to API calls.
15031 #define VK_NV_viewport_array2 1
15032 #define VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION 1
15033 #define VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME "VK_NV_viewport_array2"
15034 // VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION is a legacy alias
15035 #define VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION
15036 // VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME is a legacy alias
15037 #define VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME
15038
15039
15040 // VK_NVX_multiview_per_view_attributes is a preprocessor guard. Do not pass it to API calls.
15041 #define VK_NVX_multiview_per_view_attributes 1
15042 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION 1
15043 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME "VK_NVX_multiview_per_view_attributes"
15044 typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
15045 VkStructureType sType;
15046 void* pNext;
15047 VkBool32 perViewPositionAllComponents;
15048 } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
15049
15050 typedef struct VkMultiviewPerViewAttributesInfoNVX {
15051 VkStructureType sType;
15052 const void* pNext;
15053 VkBool32 perViewAttributes;
15054 VkBool32 perViewAttributesPositionXOnly;
15055 } VkMultiviewPerViewAttributesInfoNVX;
15056
15057
15058
15059 // VK_NV_viewport_swizzle is a preprocessor guard. Do not pass it to API calls.
15060 #define VK_NV_viewport_swizzle 1
15061 #define VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION 1
15062 #define VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME "VK_NV_viewport_swizzle"
15063
15064 typedef enum VkViewportCoordinateSwizzleNV {
15065 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV = 0,
15066 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV = 1,
15067 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV = 2,
15068 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV = 3,
15069 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV = 4,
15070 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV = 5,
15071 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV = 6,
15072 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV = 7,
15073 VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV = 0x7FFFFFFF
15074 } VkViewportCoordinateSwizzleNV;
15075 typedef VkFlags VkPipelineViewportSwizzleStateCreateFlagsNV;
15076 typedef struct VkViewportSwizzleNV {
15077 VkViewportCoordinateSwizzleNV x;
15078 VkViewportCoordinateSwizzleNV y;
15079 VkViewportCoordinateSwizzleNV z;
15080 VkViewportCoordinateSwizzleNV w;
15081 } VkViewportSwizzleNV;
15082
15083 typedef struct VkPipelineViewportSwizzleStateCreateInfoNV {
15084 VkStructureType sType;
15085 const void* pNext;
15086 VkPipelineViewportSwizzleStateCreateFlagsNV flags;
15087 uint32_t viewportCount;
15088 const VkViewportSwizzleNV* pViewportSwizzles;
15089 } VkPipelineViewportSwizzleStateCreateInfoNV;
15090
15091
15092
15093 // VK_EXT_discard_rectangles is a preprocessor guard. Do not pass it to API calls.
15094 #define VK_EXT_discard_rectangles 1
15095 #define VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION 2
15096 #define VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME "VK_EXT_discard_rectangles"
15097
15098 typedef enum VkDiscardRectangleModeEXT {
15099 VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT = 0,
15100 VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT = 1,
15101 VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
15102 } VkDiscardRectangleModeEXT;
15103 typedef VkFlags VkPipelineDiscardRectangleStateCreateFlagsEXT;
15104 typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
15105 VkStructureType sType;
15106 void* pNext;
15107 uint32_t maxDiscardRectangles;
15108 } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
15109
15110 typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT {
15111 VkStructureType sType;
15112 const void* pNext;
15113 VkPipelineDiscardRectangleStateCreateFlagsEXT flags;
15114 VkDiscardRectangleModeEXT discardRectangleMode;
15115 uint32_t discardRectangleCount;
15116 const VkRect2D* pDiscardRectangles;
15117 } VkPipelineDiscardRectangleStateCreateInfoEXT;
15118
15119 typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEXT)(VkCommandBuffer commandBuffer, uint32_t firstDiscardRectangle, uint32_t discardRectangleCount, const VkRect2D* pDiscardRectangles);
15120 typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 discardRectangleEnable);
15121 typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleModeEXT)(VkCommandBuffer commandBuffer, VkDiscardRectangleModeEXT discardRectangleMode);
15122
15123 #ifndef VK_NO_PROTOTYPES
15124 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
15125 VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEXT(
15126 VkCommandBuffer commandBuffer,
15127 uint32_t firstDiscardRectangle,
15128 uint32_t discardRectangleCount,
15129 const VkRect2D* pDiscardRectangles);
15130 #endif
15131
15132 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
15133 VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEnableEXT(
15134 VkCommandBuffer commandBuffer,
15135 VkBool32 discardRectangleEnable);
15136 #endif
15137
15138 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
15139 VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleModeEXT(
15140 VkCommandBuffer commandBuffer,
15141 VkDiscardRectangleModeEXT discardRectangleMode);
15142 #endif
15143 #endif
15144
15145
15146 // VK_EXT_conservative_rasterization is a preprocessor guard. Do not pass it to API calls.
15147 #define VK_EXT_conservative_rasterization 1
15148 #define VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION 1
15149 #define VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME "VK_EXT_conservative_rasterization"
15150
15151 typedef enum VkConservativeRasterizationModeEXT {
15152 VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT = 0,
15153 VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT = 1,
15154 VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT = 2,
15155 VK_CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
15156 } VkConservativeRasterizationModeEXT;
15157 typedef VkFlags VkPipelineRasterizationConservativeStateCreateFlagsEXT;
15158 typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT {
15159 VkStructureType sType;
15160 void* pNext;
15161 float primitiveOverestimationSize;
15162 float maxExtraPrimitiveOverestimationSize;
15163 float extraPrimitiveOverestimationSizeGranularity;
15164 VkBool32 primitiveUnderestimation;
15165 VkBool32 conservativePointAndLineRasterization;
15166 VkBool32 degenerateTrianglesRasterized;
15167 VkBool32 degenerateLinesRasterized;
15168 VkBool32 fullyCoveredFragmentShaderInputVariable;
15169 VkBool32 conservativeRasterizationPostDepthCoverage;
15170 } VkPhysicalDeviceConservativeRasterizationPropertiesEXT;
15171
15172 typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT {
15173 VkStructureType sType;
15174 const void* pNext;
15175 VkPipelineRasterizationConservativeStateCreateFlagsEXT flags;
15176 VkConservativeRasterizationModeEXT conservativeRasterizationMode;
15177 float extraPrimitiveOverestimationSize;
15178 } VkPipelineRasterizationConservativeStateCreateInfoEXT;
15179
15180
15181
15182 // VK_EXT_depth_clip_enable is a preprocessor guard. Do not pass it to API calls.
15183 #define VK_EXT_depth_clip_enable 1
15184 #define VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION 1
15185 #define VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME "VK_EXT_depth_clip_enable"
15186 typedef VkFlags VkPipelineRasterizationDepthClipStateCreateFlagsEXT;
15187 typedef struct VkPhysicalDeviceDepthClipEnableFeaturesEXT {
15188 VkStructureType sType;
15189 void* pNext;
15190 VkBool32 depthClipEnable;
15191 } VkPhysicalDeviceDepthClipEnableFeaturesEXT;
15192
15193 typedef struct VkPipelineRasterizationDepthClipStateCreateInfoEXT {
15194 VkStructureType sType;
15195 const void* pNext;
15196 VkPipelineRasterizationDepthClipStateCreateFlagsEXT flags;
15197 VkBool32 depthClipEnable;
15198 } VkPipelineRasterizationDepthClipStateCreateInfoEXT;
15199
15200
15201
15202 // VK_EXT_swapchain_colorspace is a preprocessor guard. Do not pass it to API calls.
15203 #define VK_EXT_swapchain_colorspace 1
15204 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION 5
15205 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME "VK_EXT_swapchain_colorspace"
15206
15207
15208 // VK_EXT_hdr_metadata is a preprocessor guard. Do not pass it to API calls.
15209 #define VK_EXT_hdr_metadata 1
15210 #define VK_EXT_HDR_METADATA_SPEC_VERSION 3
15211 #define VK_EXT_HDR_METADATA_EXTENSION_NAME "VK_EXT_hdr_metadata"
15212 typedef struct VkXYColorEXT {
15213 float x;
15214 float y;
15215 } VkXYColorEXT;
15216
15217 typedef struct VkHdrMetadataEXT {
15218 VkStructureType sType;
15219 const void* pNext;
15220 VkXYColorEXT displayPrimaryRed;
15221 VkXYColorEXT displayPrimaryGreen;
15222 VkXYColorEXT displayPrimaryBlue;
15223 VkXYColorEXT whitePoint;
15224 float maxLuminance;
15225 float minLuminance;
15226 float maxContentLightLevel;
15227 float maxFrameAverageLightLevel;
15228 } VkHdrMetadataEXT;
15229
15230 typedef void (VKAPI_PTR *PFN_vkSetHdrMetadataEXT)(VkDevice device, uint32_t swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata);
15231
15232 #ifndef VK_NO_PROTOTYPES
15233 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
15234 VKAPI_ATTR void VKAPI_CALL vkSetHdrMetadataEXT(
15235 VkDevice device,
15236 uint32_t swapchainCount,
15237 const VkSwapchainKHR* pSwapchains,
15238 const VkHdrMetadataEXT* pMetadata);
15239 #endif
15240 #endif
15241
15242
15243 // VK_IMG_relaxed_line_rasterization is a preprocessor guard. Do not pass it to API calls.
15244 #define VK_IMG_relaxed_line_rasterization 1
15245 #define VK_IMG_RELAXED_LINE_RASTERIZATION_SPEC_VERSION 1
15246 #define VK_IMG_RELAXED_LINE_RASTERIZATION_EXTENSION_NAME "VK_IMG_relaxed_line_rasterization"
15247 typedef struct VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG {
15248 VkStructureType sType;
15249 void* pNext;
15250 VkBool32 relaxedLineRasterization;
15251 } VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG;
15252
15253
15254
15255 // VK_EXT_external_memory_dma_buf is a preprocessor guard. Do not pass it to API calls.
15256 #define VK_EXT_external_memory_dma_buf 1
15257 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION 1
15258 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME "VK_EXT_external_memory_dma_buf"
15259
15260
15261 // VK_EXT_queue_family_foreign is a preprocessor guard. Do not pass it to API calls.
15262 #define VK_EXT_queue_family_foreign 1
15263 #define VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION 1
15264 #define VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME "VK_EXT_queue_family_foreign"
15265 #define VK_QUEUE_FAMILY_FOREIGN_EXT (~2U)
15266
15267
15268 // VK_EXT_debug_utils is a preprocessor guard. Do not pass it to API calls.
15269 #define VK_EXT_debug_utils 1
15270 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugUtilsMessengerEXT)
15271 #define VK_EXT_DEBUG_UTILS_SPEC_VERSION 2
15272 #define VK_EXT_DEBUG_UTILS_EXTENSION_NAME "VK_EXT_debug_utils"
15273 typedef VkFlags VkDebugUtilsMessengerCallbackDataFlagsEXT;
15274
15275 typedef enum VkDebugUtilsMessageSeverityFlagBitsEXT {
15276 VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT = 0x00000001,
15277 VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT = 0x00000010,
15278 VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT = 0x00000100,
15279 VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT = 0x00001000,
15280 VK_DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
15281 } VkDebugUtilsMessageSeverityFlagBitsEXT;
15282
15283 typedef enum VkDebugUtilsMessageTypeFlagBitsEXT {
15284 VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT = 0x00000001,
15285 VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT = 0x00000002,
15286 VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT = 0x00000004,
15287 VK_DEBUG_UTILS_MESSAGE_TYPE_DEVICE_ADDRESS_BINDING_BIT_EXT = 0x00000008,
15288 VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
15289 } VkDebugUtilsMessageTypeFlagBitsEXT;
15290 typedef VkFlags VkDebugUtilsMessageTypeFlagsEXT;
15291 typedef VkFlags VkDebugUtilsMessageSeverityFlagsEXT;
15292 typedef VkFlags VkDebugUtilsMessengerCreateFlagsEXT;
15293 typedef struct VkDebugUtilsLabelEXT {
15294 VkStructureType sType;
15295 const void* pNext;
15296 const char* pLabelName;
15297 float color[4];
15298 } VkDebugUtilsLabelEXT;
15299
15300 typedef struct VkDebugUtilsObjectNameInfoEXT {
15301 VkStructureType sType;
15302 const void* pNext;
15303 VkObjectType objectType;
15304 uint64_t objectHandle;
15305 const char* pObjectName;
15306 } VkDebugUtilsObjectNameInfoEXT;
15307
15308 typedef struct VkDebugUtilsMessengerCallbackDataEXT {
15309 VkStructureType sType;
15310 const void* pNext;
15311 VkDebugUtilsMessengerCallbackDataFlagsEXT flags;
15312 const char* pMessageIdName;
15313 int32_t messageIdNumber;
15314 const char* pMessage;
15315 uint32_t queueLabelCount;
15316 const VkDebugUtilsLabelEXT* pQueueLabels;
15317 uint32_t cmdBufLabelCount;
15318 const VkDebugUtilsLabelEXT* pCmdBufLabels;
15319 uint32_t objectCount;
15320 const VkDebugUtilsObjectNameInfoEXT* pObjects;
15321 } VkDebugUtilsMessengerCallbackDataEXT;
15322
15323 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)(
15324 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
15325 VkDebugUtilsMessageTypeFlagsEXT messageTypes,
15326 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData,
15327 void* pUserData);
15328
15329 typedef struct VkDebugUtilsMessengerCreateInfoEXT {
15330 VkStructureType sType;
15331 const void* pNext;
15332 VkDebugUtilsMessengerCreateFlagsEXT flags;
15333 VkDebugUtilsMessageSeverityFlagsEXT messageSeverity;
15334 VkDebugUtilsMessageTypeFlagsEXT messageType;
15335 PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback;
15336 void* pUserData;
15337 } VkDebugUtilsMessengerCreateInfoEXT;
15338
15339 typedef struct VkDebugUtilsObjectTagInfoEXT {
15340 VkStructureType sType;
15341 const void* pNext;
15342 VkObjectType objectType;
15343 uint64_t objectHandle;
15344 uint64_t tagName;
15345 size_t tagSize;
15346 const void* pTag;
15347 } VkDebugUtilsObjectTagInfoEXT;
15348
15349 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectNameEXT)(VkDevice device, const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
15350 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectTagEXT)(VkDevice device, const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
15351 typedef void (VKAPI_PTR *PFN_vkQueueBeginDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
15352 typedef void (VKAPI_PTR *PFN_vkQueueEndDebugUtilsLabelEXT)(VkQueue queue);
15353 typedef void (VKAPI_PTR *PFN_vkQueueInsertDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
15354 typedef void (VKAPI_PTR *PFN_vkCmdBeginDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
15355 typedef void (VKAPI_PTR *PFN_vkCmdEndDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer);
15356 typedef void (VKAPI_PTR *PFN_vkCmdInsertDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
15357 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugUtilsMessengerEXT)(VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugUtilsMessengerEXT* pMessenger);
15358 typedef void (VKAPI_PTR *PFN_vkDestroyDebugUtilsMessengerEXT)(VkInstance instance, VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks* pAllocator);
15359 typedef void (VKAPI_PTR *PFN_vkSubmitDebugUtilsMessageEXT)(VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
15360
15361 #ifndef VK_NO_PROTOTYPES
15362 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
15363 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectNameEXT(
15364 VkDevice device,
15365 const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
15366 #endif
15367
15368 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
15369 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectTagEXT(
15370 VkDevice device,
15371 const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
15372 #endif
15373
15374 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
15375 VKAPI_ATTR void VKAPI_CALL vkQueueBeginDebugUtilsLabelEXT(
15376 VkQueue queue,
15377 const VkDebugUtilsLabelEXT* pLabelInfo);
15378 #endif
15379
15380 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
15381 VKAPI_ATTR void VKAPI_CALL vkQueueEndDebugUtilsLabelEXT(
15382 VkQueue queue);
15383 #endif
15384
15385 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
15386 VKAPI_ATTR void VKAPI_CALL vkQueueInsertDebugUtilsLabelEXT(
15387 VkQueue queue,
15388 const VkDebugUtilsLabelEXT* pLabelInfo);
15389 #endif
15390
15391 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
15392 VKAPI_ATTR void VKAPI_CALL vkCmdBeginDebugUtilsLabelEXT(
15393 VkCommandBuffer commandBuffer,
15394 const VkDebugUtilsLabelEXT* pLabelInfo);
15395 #endif
15396
15397 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
15398 VKAPI_ATTR void VKAPI_CALL vkCmdEndDebugUtilsLabelEXT(
15399 VkCommandBuffer commandBuffer);
15400 #endif
15401
15402 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
15403 VKAPI_ATTR void VKAPI_CALL vkCmdInsertDebugUtilsLabelEXT(
15404 VkCommandBuffer commandBuffer,
15405 const VkDebugUtilsLabelEXT* pLabelInfo);
15406 #endif
15407
15408 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
15409 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugUtilsMessengerEXT(
15410 VkInstance instance,
15411 const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo,
15412 const VkAllocationCallbacks* pAllocator,
15413 VkDebugUtilsMessengerEXT* pMessenger);
15414 #endif
15415
15416 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
15417 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugUtilsMessengerEXT(
15418 VkInstance instance,
15419 VkDebugUtilsMessengerEXT messenger,
15420 const VkAllocationCallbacks* pAllocator);
15421 #endif
15422
15423 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
15424 VKAPI_ATTR void VKAPI_CALL vkSubmitDebugUtilsMessageEXT(
15425 VkInstance instance,
15426 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
15427 VkDebugUtilsMessageTypeFlagsEXT messageTypes,
15428 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
15429 #endif
15430 #endif
15431
15432
15433 // VK_EXT_sampler_filter_minmax is a preprocessor guard. Do not pass it to API calls.
15434 #define VK_EXT_sampler_filter_minmax 1
15435 #define VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION 2
15436 #define VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME "VK_EXT_sampler_filter_minmax"
15437 typedef VkSamplerReductionMode VkSamplerReductionModeEXT;
15438
15439 typedef VkSamplerReductionModeCreateInfo VkSamplerReductionModeCreateInfoEXT;
15440
15441 typedef VkPhysicalDeviceSamplerFilterMinmaxProperties VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
15442
15443
15444
15445 // VK_AMD_gpu_shader_int16 is a preprocessor guard. Do not pass it to API calls.
15446 #define VK_AMD_gpu_shader_int16 1
15447 #define VK_AMD_GPU_SHADER_INT16_SPEC_VERSION 2
15448 #define VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME "VK_AMD_gpu_shader_int16"
15449
15450
15451 // VK_AMD_mixed_attachment_samples is a preprocessor guard. Do not pass it to API calls.
15452 #define VK_AMD_mixed_attachment_samples 1
15453 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION 1
15454 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME "VK_AMD_mixed_attachment_samples"
15455 typedef struct VkAttachmentSampleCountInfoAMD {
15456 VkStructureType sType;
15457 const void* pNext;
15458 uint32_t colorAttachmentCount;
15459 const VkSampleCountFlagBits* pColorAttachmentSamples;
15460 VkSampleCountFlagBits depthStencilAttachmentSamples;
15461 } VkAttachmentSampleCountInfoAMD;
15462
15463
15464
15465 // VK_AMD_shader_fragment_mask is a preprocessor guard. Do not pass it to API calls.
15466 #define VK_AMD_shader_fragment_mask 1
15467 #define VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION 1
15468 #define VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME "VK_AMD_shader_fragment_mask"
15469
15470
15471 // VK_EXT_inline_uniform_block is a preprocessor guard. Do not pass it to API calls.
15472 #define VK_EXT_inline_uniform_block 1
15473 #define VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION 1
15474 #define VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME "VK_EXT_inline_uniform_block"
15475 typedef VkPhysicalDeviceInlineUniformBlockFeatures VkPhysicalDeviceInlineUniformBlockFeaturesEXT;
15476
15477 typedef VkPhysicalDeviceInlineUniformBlockProperties VkPhysicalDeviceInlineUniformBlockPropertiesEXT;
15478
15479 typedef VkWriteDescriptorSetInlineUniformBlock VkWriteDescriptorSetInlineUniformBlockEXT;
15480
15481 typedef VkDescriptorPoolInlineUniformBlockCreateInfo VkDescriptorPoolInlineUniformBlockCreateInfoEXT;
15482
15483
15484
15485 // VK_EXT_shader_stencil_export is a preprocessor guard. Do not pass it to API calls.
15486 #define VK_EXT_shader_stencil_export 1
15487 #define VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION 1
15488 #define VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME "VK_EXT_shader_stencil_export"
15489
15490
15491 // VK_EXT_sample_locations is a preprocessor guard. Do not pass it to API calls.
15492 #define VK_EXT_sample_locations 1
15493 #define VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION 1
15494 #define VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME "VK_EXT_sample_locations"
15495 typedef struct VkSampleLocationEXT {
15496 float x;
15497 float y;
15498 } VkSampleLocationEXT;
15499
15500 typedef struct VkSampleLocationsInfoEXT {
15501 VkStructureType sType;
15502 const void* pNext;
15503 VkSampleCountFlagBits sampleLocationsPerPixel;
15504 VkExtent2D sampleLocationGridSize;
15505 uint32_t sampleLocationsCount;
15506 const VkSampleLocationEXT* pSampleLocations;
15507 } VkSampleLocationsInfoEXT;
15508
15509 typedef struct VkAttachmentSampleLocationsEXT {
15510 uint32_t attachmentIndex;
15511 VkSampleLocationsInfoEXT sampleLocationsInfo;
15512 } VkAttachmentSampleLocationsEXT;
15513
15514 typedef struct VkSubpassSampleLocationsEXT {
15515 uint32_t subpassIndex;
15516 VkSampleLocationsInfoEXT sampleLocationsInfo;
15517 } VkSubpassSampleLocationsEXT;
15518
15519 typedef struct VkRenderPassSampleLocationsBeginInfoEXT {
15520 VkStructureType sType;
15521 const void* pNext;
15522 uint32_t attachmentInitialSampleLocationsCount;
15523 const VkAttachmentSampleLocationsEXT* pAttachmentInitialSampleLocations;
15524 uint32_t postSubpassSampleLocationsCount;
15525 const VkSubpassSampleLocationsEXT* pPostSubpassSampleLocations;
15526 } VkRenderPassSampleLocationsBeginInfoEXT;
15527
15528 typedef struct VkPipelineSampleLocationsStateCreateInfoEXT {
15529 VkStructureType sType;
15530 const void* pNext;
15531 VkBool32 sampleLocationsEnable;
15532 VkSampleLocationsInfoEXT sampleLocationsInfo;
15533 } VkPipelineSampleLocationsStateCreateInfoEXT;
15534
15535 typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT {
15536 VkStructureType sType;
15537 void* pNext;
15538 VkSampleCountFlags sampleLocationSampleCounts;
15539 VkExtent2D maxSampleLocationGridSize;
15540 float sampleLocationCoordinateRange[2];
15541 uint32_t sampleLocationSubPixelBits;
15542 VkBool32 variableSampleLocations;
15543 } VkPhysicalDeviceSampleLocationsPropertiesEXT;
15544
15545 typedef struct VkMultisamplePropertiesEXT {
15546 VkStructureType sType;
15547 void* pNext;
15548 VkExtent2D maxSampleLocationGridSize;
15549 } VkMultisamplePropertiesEXT;
15550
15551 typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEXT)(VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
15552 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT)(VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT* pMultisampleProperties);
15553
15554 #ifndef VK_NO_PROTOTYPES
15555 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
15556 VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleLocationsEXT(
15557 VkCommandBuffer commandBuffer,
15558 const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
15559 #endif
15560
15561 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
15562 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMultisamplePropertiesEXT(
15563 VkPhysicalDevice physicalDevice,
15564 VkSampleCountFlagBits samples,
15565 VkMultisamplePropertiesEXT* pMultisampleProperties);
15566 #endif
15567 #endif
15568
15569
15570 // VK_EXT_blend_operation_advanced is a preprocessor guard. Do not pass it to API calls.
15571 #define VK_EXT_blend_operation_advanced 1
15572 #define VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION 2
15573 #define VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME "VK_EXT_blend_operation_advanced"
15574
15575 typedef enum VkBlendOverlapEXT {
15576 VK_BLEND_OVERLAP_UNCORRELATED_EXT = 0,
15577 VK_BLEND_OVERLAP_DISJOINT_EXT = 1,
15578 VK_BLEND_OVERLAP_CONJOINT_EXT = 2,
15579 VK_BLEND_OVERLAP_MAX_ENUM_EXT = 0x7FFFFFFF
15580 } VkBlendOverlapEXT;
15581 typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
15582 VkStructureType sType;
15583 void* pNext;
15584 VkBool32 advancedBlendCoherentOperations;
15585 } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
15586
15587 typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT {
15588 VkStructureType sType;
15589 void* pNext;
15590 uint32_t advancedBlendMaxColorAttachments;
15591 VkBool32 advancedBlendIndependentBlend;
15592 VkBool32 advancedBlendNonPremultipliedSrcColor;
15593 VkBool32 advancedBlendNonPremultipliedDstColor;
15594 VkBool32 advancedBlendCorrelatedOverlap;
15595 VkBool32 advancedBlendAllOperations;
15596 } VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT;
15597
15598 typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT {
15599 VkStructureType sType;
15600 const void* pNext;
15601 VkBool32 srcPremultiplied;
15602 VkBool32 dstPremultiplied;
15603 VkBlendOverlapEXT blendOverlap;
15604 } VkPipelineColorBlendAdvancedStateCreateInfoEXT;
15605
15606
15607
15608 // VK_NV_fragment_coverage_to_color is a preprocessor guard. Do not pass it to API calls.
15609 #define VK_NV_fragment_coverage_to_color 1
15610 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION 1
15611 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME "VK_NV_fragment_coverage_to_color"
15612 typedef VkFlags VkPipelineCoverageToColorStateCreateFlagsNV;
15613 typedef struct VkPipelineCoverageToColorStateCreateInfoNV {
15614 VkStructureType sType;
15615 const void* pNext;
15616 VkPipelineCoverageToColorStateCreateFlagsNV flags;
15617 VkBool32 coverageToColorEnable;
15618 uint32_t coverageToColorLocation;
15619 } VkPipelineCoverageToColorStateCreateInfoNV;
15620
15621
15622
15623 // VK_NV_framebuffer_mixed_samples is a preprocessor guard. Do not pass it to API calls.
15624 #define VK_NV_framebuffer_mixed_samples 1
15625 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION 1
15626 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME "VK_NV_framebuffer_mixed_samples"
15627
15628 typedef enum VkCoverageModulationModeNV {
15629 VK_COVERAGE_MODULATION_MODE_NONE_NV = 0,
15630 VK_COVERAGE_MODULATION_MODE_RGB_NV = 1,
15631 VK_COVERAGE_MODULATION_MODE_ALPHA_NV = 2,
15632 VK_COVERAGE_MODULATION_MODE_RGBA_NV = 3,
15633 VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV = 0x7FFFFFFF
15634 } VkCoverageModulationModeNV;
15635 typedef VkFlags VkPipelineCoverageModulationStateCreateFlagsNV;
15636 typedef struct VkPipelineCoverageModulationStateCreateInfoNV {
15637 VkStructureType sType;
15638 const void* pNext;
15639 VkPipelineCoverageModulationStateCreateFlagsNV flags;
15640 VkCoverageModulationModeNV coverageModulationMode;
15641 VkBool32 coverageModulationTableEnable;
15642 uint32_t coverageModulationTableCount;
15643 const float* pCoverageModulationTable;
15644 } VkPipelineCoverageModulationStateCreateInfoNV;
15645
15646 typedef VkAttachmentSampleCountInfoAMD VkAttachmentSampleCountInfoNV;
15647
15648
15649
15650 // VK_NV_fill_rectangle is a preprocessor guard. Do not pass it to API calls.
15651 #define VK_NV_fill_rectangle 1
15652 #define VK_NV_FILL_RECTANGLE_SPEC_VERSION 1
15653 #define VK_NV_FILL_RECTANGLE_EXTENSION_NAME "VK_NV_fill_rectangle"
15654
15655
15656 // VK_NV_shader_sm_builtins is a preprocessor guard. Do not pass it to API calls.
15657 #define VK_NV_shader_sm_builtins 1
15658 #define VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION 1
15659 #define VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME "VK_NV_shader_sm_builtins"
15660 typedef struct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV {
15661 VkStructureType sType;
15662 void* pNext;
15663 uint32_t shaderSMCount;
15664 uint32_t shaderWarpsPerSM;
15665 } VkPhysicalDeviceShaderSMBuiltinsPropertiesNV;
15666
15667 typedef struct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV {
15668 VkStructureType sType;
15669 void* pNext;
15670 VkBool32 shaderSMBuiltins;
15671 } VkPhysicalDeviceShaderSMBuiltinsFeaturesNV;
15672
15673
15674
15675 // VK_EXT_post_depth_coverage is a preprocessor guard. Do not pass it to API calls.
15676 #define VK_EXT_post_depth_coverage 1
15677 #define VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION 1
15678 #define VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME "VK_EXT_post_depth_coverage"
15679
15680
15681 // VK_EXT_image_drm_format_modifier is a preprocessor guard. Do not pass it to API calls.
15682 #define VK_EXT_image_drm_format_modifier 1
15683 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION 2
15684 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME "VK_EXT_image_drm_format_modifier"
15685 typedef struct VkDrmFormatModifierPropertiesEXT {
15686 uint64_t drmFormatModifier;
15687 uint32_t drmFormatModifierPlaneCount;
15688 VkFormatFeatureFlags drmFormatModifierTilingFeatures;
15689 } VkDrmFormatModifierPropertiesEXT;
15690
15691 typedef struct VkDrmFormatModifierPropertiesListEXT {
15692 VkStructureType sType;
15693 void* pNext;
15694 uint32_t drmFormatModifierCount;
15695 VkDrmFormatModifierPropertiesEXT* pDrmFormatModifierProperties;
15696 } VkDrmFormatModifierPropertiesListEXT;
15697
15698 typedef struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT {
15699 VkStructureType sType;
15700 const void* pNext;
15701 uint64_t drmFormatModifier;
15702 VkSharingMode sharingMode;
15703 uint32_t queueFamilyIndexCount;
15704 const uint32_t* pQueueFamilyIndices;
15705 } VkPhysicalDeviceImageDrmFormatModifierInfoEXT;
15706
15707 typedef struct VkImageDrmFormatModifierListCreateInfoEXT {
15708 VkStructureType sType;
15709 const void* pNext;
15710 uint32_t drmFormatModifierCount;
15711 const uint64_t* pDrmFormatModifiers;
15712 } VkImageDrmFormatModifierListCreateInfoEXT;
15713
15714 typedef struct VkImageDrmFormatModifierExplicitCreateInfoEXT {
15715 VkStructureType sType;
15716 const void* pNext;
15717 uint64_t drmFormatModifier;
15718 uint32_t drmFormatModifierPlaneCount;
15719 const VkSubresourceLayout* pPlaneLayouts;
15720 } VkImageDrmFormatModifierExplicitCreateInfoEXT;
15721
15722 typedef struct VkImageDrmFormatModifierPropertiesEXT {
15723 VkStructureType sType;
15724 void* pNext;
15725 uint64_t drmFormatModifier;
15726 } VkImageDrmFormatModifierPropertiesEXT;
15727
15728 typedef struct VkDrmFormatModifierProperties2EXT {
15729 uint64_t drmFormatModifier;
15730 uint32_t drmFormatModifierPlaneCount;
15731 VkFormatFeatureFlags2 drmFormatModifierTilingFeatures;
15732 } VkDrmFormatModifierProperties2EXT;
15733
15734 typedef struct VkDrmFormatModifierPropertiesList2EXT {
15735 VkStructureType sType;
15736 void* pNext;
15737 uint32_t drmFormatModifierCount;
15738 VkDrmFormatModifierProperties2EXT* pDrmFormatModifierProperties;
15739 } VkDrmFormatModifierPropertiesList2EXT;
15740
15741 typedef VkResult (VKAPI_PTR *PFN_vkGetImageDrmFormatModifierPropertiesEXT)(VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties);
15742
15743 #ifndef VK_NO_PROTOTYPES
15744 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
15745 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageDrmFormatModifierPropertiesEXT(
15746 VkDevice device,
15747 VkImage image,
15748 VkImageDrmFormatModifierPropertiesEXT* pProperties);
15749 #endif
15750 #endif
15751
15752
15753 // VK_EXT_validation_cache is a preprocessor guard. Do not pass it to API calls.
15754 #define VK_EXT_validation_cache 1
15755 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkValidationCacheEXT)
15756 #define VK_EXT_VALIDATION_CACHE_SPEC_VERSION 1
15757 #define VK_EXT_VALIDATION_CACHE_EXTENSION_NAME "VK_EXT_validation_cache"
15758
15759 typedef enum VkValidationCacheHeaderVersionEXT {
15760 VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT = 1,
15761 VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT = 0x7FFFFFFF
15762 } VkValidationCacheHeaderVersionEXT;
15763 typedef VkFlags VkValidationCacheCreateFlagsEXT;
15764 typedef struct VkValidationCacheCreateInfoEXT {
15765 VkStructureType sType;
15766 const void* pNext;
15767 VkValidationCacheCreateFlagsEXT flags;
15768 size_t initialDataSize;
15769 const void* pInitialData;
15770 } VkValidationCacheCreateInfoEXT;
15771
15772 typedef struct VkShaderModuleValidationCacheCreateInfoEXT {
15773 VkStructureType sType;
15774 const void* pNext;
15775 VkValidationCacheEXT validationCache;
15776 } VkShaderModuleValidationCacheCreateInfoEXT;
15777
15778 typedef VkResult (VKAPI_PTR *PFN_vkCreateValidationCacheEXT)(VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache);
15779 typedef void (VKAPI_PTR *PFN_vkDestroyValidationCacheEXT)(VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator);
15780 typedef VkResult (VKAPI_PTR *PFN_vkMergeValidationCachesEXT)(VkDevice device, VkValidationCacheEXT dstCache, uint32_t srcCacheCount, const VkValidationCacheEXT* pSrcCaches);
15781 typedef VkResult (VKAPI_PTR *PFN_vkGetValidationCacheDataEXT)(VkDevice device, VkValidationCacheEXT validationCache, size_t* pDataSize, void* pData);
15782
15783 #ifndef VK_NO_PROTOTYPES
15784 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
15785 VKAPI_ATTR VkResult VKAPI_CALL vkCreateValidationCacheEXT(
15786 VkDevice device,
15787 const VkValidationCacheCreateInfoEXT* pCreateInfo,
15788 const VkAllocationCallbacks* pAllocator,
15789 VkValidationCacheEXT* pValidationCache);
15790 #endif
15791
15792 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
15793 VKAPI_ATTR void VKAPI_CALL vkDestroyValidationCacheEXT(
15794 VkDevice device,
15795 VkValidationCacheEXT validationCache,
15796 const VkAllocationCallbacks* pAllocator);
15797 #endif
15798
15799 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
15800 VKAPI_ATTR VkResult VKAPI_CALL vkMergeValidationCachesEXT(
15801 VkDevice device,
15802 VkValidationCacheEXT dstCache,
15803 uint32_t srcCacheCount,
15804 const VkValidationCacheEXT* pSrcCaches);
15805 #endif
15806
15807 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
15808 VKAPI_ATTR VkResult VKAPI_CALL vkGetValidationCacheDataEXT(
15809 VkDevice device,
15810 VkValidationCacheEXT validationCache,
15811 size_t* pDataSize,
15812 void* pData);
15813 #endif
15814 #endif
15815
15816
15817 // VK_EXT_descriptor_indexing is a preprocessor guard. Do not pass it to API calls.
15818 #define VK_EXT_descriptor_indexing 1
15819 #define VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION 2
15820 #define VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME "VK_EXT_descriptor_indexing"
15821 typedef VkDescriptorBindingFlagBits VkDescriptorBindingFlagBitsEXT;
15822
15823 typedef VkDescriptorBindingFlags VkDescriptorBindingFlagsEXT;
15824
15825 typedef VkDescriptorSetLayoutBindingFlagsCreateInfo VkDescriptorSetLayoutBindingFlagsCreateInfoEXT;
15826
15827 typedef VkPhysicalDeviceDescriptorIndexingFeatures VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
15828
15829 typedef VkPhysicalDeviceDescriptorIndexingProperties VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
15830
15831 typedef VkDescriptorSetVariableDescriptorCountAllocateInfo VkDescriptorSetVariableDescriptorCountAllocateInfoEXT;
15832
15833 typedef VkDescriptorSetVariableDescriptorCountLayoutSupport VkDescriptorSetVariableDescriptorCountLayoutSupportEXT;
15834
15835
15836
15837 // VK_EXT_shader_viewport_index_layer is a preprocessor guard. Do not pass it to API calls.
15838 #define VK_EXT_shader_viewport_index_layer 1
15839 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION 1
15840 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME "VK_EXT_shader_viewport_index_layer"
15841
15842
15843 // VK_NV_shading_rate_image is a preprocessor guard. Do not pass it to API calls.
15844 #define VK_NV_shading_rate_image 1
15845 #define VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION 3
15846 #define VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME "VK_NV_shading_rate_image"
15847
15848 typedef enum VkShadingRatePaletteEntryNV {
15849 VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV = 0,
15850 VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV = 1,
15851 VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV = 2,
15852 VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV = 3,
15853 VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV = 4,
15854 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV = 5,
15855 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV = 6,
15856 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV = 7,
15857 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV = 8,
15858 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV = 9,
15859 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV = 10,
15860 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV = 11,
15861 VK_SHADING_RATE_PALETTE_ENTRY_MAX_ENUM_NV = 0x7FFFFFFF
15862 } VkShadingRatePaletteEntryNV;
15863
15864 typedef enum VkCoarseSampleOrderTypeNV {
15865 VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV = 0,
15866 VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV = 1,
15867 VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV = 2,
15868 VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV = 3,
15869 VK_COARSE_SAMPLE_ORDER_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
15870 } VkCoarseSampleOrderTypeNV;
15871 typedef struct VkShadingRatePaletteNV {
15872 uint32_t shadingRatePaletteEntryCount;
15873 const VkShadingRatePaletteEntryNV* pShadingRatePaletteEntries;
15874 } VkShadingRatePaletteNV;
15875
15876 typedef struct VkPipelineViewportShadingRateImageStateCreateInfoNV {
15877 VkStructureType sType;
15878 const void* pNext;
15879 VkBool32 shadingRateImageEnable;
15880 uint32_t viewportCount;
15881 const VkShadingRatePaletteNV* pShadingRatePalettes;
15882 } VkPipelineViewportShadingRateImageStateCreateInfoNV;
15883
15884 typedef struct VkPhysicalDeviceShadingRateImageFeaturesNV {
15885 VkStructureType sType;
15886 void* pNext;
15887 VkBool32 shadingRateImage;
15888 VkBool32 shadingRateCoarseSampleOrder;
15889 } VkPhysicalDeviceShadingRateImageFeaturesNV;
15890
15891 typedef struct VkPhysicalDeviceShadingRateImagePropertiesNV {
15892 VkStructureType sType;
15893 void* pNext;
15894 VkExtent2D shadingRateTexelSize;
15895 uint32_t shadingRatePaletteSize;
15896 uint32_t shadingRateMaxCoarseSamples;
15897 } VkPhysicalDeviceShadingRateImagePropertiesNV;
15898
15899 typedef struct VkCoarseSampleLocationNV {
15900 uint32_t pixelX;
15901 uint32_t pixelY;
15902 uint32_t sample;
15903 } VkCoarseSampleLocationNV;
15904
15905 typedef struct VkCoarseSampleOrderCustomNV {
15906 VkShadingRatePaletteEntryNV shadingRate;
15907 uint32_t sampleCount;
15908 uint32_t sampleLocationCount;
15909 const VkCoarseSampleLocationNV* pSampleLocations;
15910 } VkCoarseSampleOrderCustomNV;
15911
15912 typedef struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV {
15913 VkStructureType sType;
15914 const void* pNext;
15915 VkCoarseSampleOrderTypeNV sampleOrderType;
15916 uint32_t customSampleOrderCount;
15917 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders;
15918 } VkPipelineViewportCoarseSampleOrderStateCreateInfoNV;
15919
15920 typedef void (VKAPI_PTR *PFN_vkCmdBindShadingRateImageNV)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout);
15921 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportShadingRatePaletteNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkShadingRatePaletteNV* pShadingRatePalettes);
15922 typedef void (VKAPI_PTR *PFN_vkCmdSetCoarseSampleOrderNV)(VkCommandBuffer commandBuffer, VkCoarseSampleOrderTypeNV sampleOrderType, uint32_t customSampleOrderCount, const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
15923
15924 #ifndef VK_NO_PROTOTYPES
15925 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
15926 VKAPI_ATTR void VKAPI_CALL vkCmdBindShadingRateImageNV(
15927 VkCommandBuffer commandBuffer,
15928 VkImageView imageView,
15929 VkImageLayout imageLayout);
15930 #endif
15931
15932 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
15933 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportShadingRatePaletteNV(
15934 VkCommandBuffer commandBuffer,
15935 uint32_t firstViewport,
15936 uint32_t viewportCount,
15937 const VkShadingRatePaletteNV* pShadingRatePalettes);
15938 #endif
15939
15940 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
15941 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoarseSampleOrderNV(
15942 VkCommandBuffer commandBuffer,
15943 VkCoarseSampleOrderTypeNV sampleOrderType,
15944 uint32_t customSampleOrderCount,
15945 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
15946 #endif
15947 #endif
15948
15949
15950 // VK_NV_ray_tracing is a preprocessor guard. Do not pass it to API calls.
15951 #define VK_NV_ray_tracing 1
15952 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureNV)
15953 #define VK_NV_RAY_TRACING_SPEC_VERSION 3
15954 #define VK_NV_RAY_TRACING_EXTENSION_NAME "VK_NV_ray_tracing"
15955 #define VK_SHADER_UNUSED_KHR (~0U)
15956 #define VK_SHADER_UNUSED_NV VK_SHADER_UNUSED_KHR
15957
15958 typedef enum VkRayTracingShaderGroupTypeKHR {
15959 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR = 0,
15960 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR = 1,
15961 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR = 2,
15962 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR,
15963 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR,
15964 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR,
15965 VK_RAY_TRACING_SHADER_GROUP_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
15966 } VkRayTracingShaderGroupTypeKHR;
15967 typedef VkRayTracingShaderGroupTypeKHR VkRayTracingShaderGroupTypeNV;
15968
15969
15970 typedef enum VkGeometryTypeKHR {
15971 VK_GEOMETRY_TYPE_TRIANGLES_KHR = 0,
15972 VK_GEOMETRY_TYPE_AABBS_KHR = 1,
15973 VK_GEOMETRY_TYPE_INSTANCES_KHR = 2,
15974 VK_GEOMETRY_TYPE_SPHERES_NV = 1000429004,
15975 VK_GEOMETRY_TYPE_LINEAR_SWEPT_SPHERES_NV = 1000429005,
15976 #ifdef VK_ENABLE_BETA_EXTENSIONS
15977 VK_GEOMETRY_TYPE_DENSE_GEOMETRY_FORMAT_TRIANGLES_AMDX = 1000478000,
15978 #endif
15979 VK_GEOMETRY_TYPE_TRIANGLES_NV = VK_GEOMETRY_TYPE_TRIANGLES_KHR,
15980 VK_GEOMETRY_TYPE_AABBS_NV = VK_GEOMETRY_TYPE_AABBS_KHR,
15981 VK_GEOMETRY_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
15982 } VkGeometryTypeKHR;
15983 typedef VkGeometryTypeKHR VkGeometryTypeNV;
15984
15985
15986 typedef enum VkAccelerationStructureTypeKHR {
15987 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR = 0,
15988 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR = 1,
15989 VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR = 2,
15990 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR,
15991 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR,
15992 VK_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
15993 } VkAccelerationStructureTypeKHR;
15994 typedef VkAccelerationStructureTypeKHR VkAccelerationStructureTypeNV;
15995
15996
15997 typedef enum VkCopyAccelerationStructureModeKHR {
15998 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR = 0,
15999 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR = 1,
16000 VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR = 2,
16001 VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR = 3,
16002 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR,
16003 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR,
16004 VK_COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
16005 } VkCopyAccelerationStructureModeKHR;
16006 typedef VkCopyAccelerationStructureModeKHR VkCopyAccelerationStructureModeNV;
16007
16008
16009 typedef enum VkAccelerationStructureMemoryRequirementsTypeNV {
16010 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV = 0,
16011 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV = 1,
16012 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV = 2,
16013 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
16014 } VkAccelerationStructureMemoryRequirementsTypeNV;
16015
16016 typedef enum VkGeometryFlagBitsKHR {
16017 VK_GEOMETRY_OPAQUE_BIT_KHR = 0x00000001,
16018 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR = 0x00000002,
16019 VK_GEOMETRY_OPAQUE_BIT_NV = VK_GEOMETRY_OPAQUE_BIT_KHR,
16020 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV = VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR,
16021 VK_GEOMETRY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
16022 } VkGeometryFlagBitsKHR;
16023 typedef VkFlags VkGeometryFlagsKHR;
16024 typedef VkGeometryFlagsKHR VkGeometryFlagsNV;
16025
16026 typedef VkGeometryFlagBitsKHR VkGeometryFlagBitsNV;
16027
16028
16029 typedef enum VkGeometryInstanceFlagBitsKHR {
16030 VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = 0x00000001,
16031 VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR = 0x00000002,
16032 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 0x00000004,
16033 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 0x00000008,
16034 VK_GEOMETRY_INSTANCE_FORCE_OPACITY_MICROMAP_2_STATE_BIT_EXT = 0x00000010,
16035 VK_GEOMETRY_INSTANCE_DISABLE_OPACITY_MICROMAPS_BIT_EXT = 0x00000020,
16036 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR,
16037 VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR,
16038 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR,
16039 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR,
16040 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR,
16041 // VK_GEOMETRY_INSTANCE_FORCE_OPACITY_MICROMAP_2_STATE_EXT is a legacy alias
16042 VK_GEOMETRY_INSTANCE_FORCE_OPACITY_MICROMAP_2_STATE_EXT = VK_GEOMETRY_INSTANCE_FORCE_OPACITY_MICROMAP_2_STATE_BIT_EXT,
16043 // VK_GEOMETRY_INSTANCE_DISABLE_OPACITY_MICROMAPS_EXT is a legacy alias
16044 VK_GEOMETRY_INSTANCE_DISABLE_OPACITY_MICROMAPS_EXT = VK_GEOMETRY_INSTANCE_DISABLE_OPACITY_MICROMAPS_BIT_EXT,
16045 VK_GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
16046 } VkGeometryInstanceFlagBitsKHR;
16047 typedef VkFlags VkGeometryInstanceFlagsKHR;
16048 typedef VkGeometryInstanceFlagsKHR VkGeometryInstanceFlagsNV;
16049
16050 typedef VkGeometryInstanceFlagBitsKHR VkGeometryInstanceFlagBitsNV;
16051
16052
16053 typedef enum VkBuildAccelerationStructureFlagBitsKHR {
16054 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR = 0x00000001,
16055 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR = 0x00000002,
16056 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR = 0x00000004,
16057 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR = 0x00000008,
16058 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR = 0x00000010,
16059 VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV = 0x00000020,
16060 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_UPDATE_BIT_EXT = 0x00000040,
16061 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISABLE_OPACITY_MICROMAPS_BIT_EXT = 0x00000080,
16062 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_DATA_UPDATE_BIT_EXT = 0x00000100,
16063 #ifdef VK_ENABLE_BETA_EXTENSIONS
16064 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISPLACEMENT_MICROMAP_UPDATE_BIT_NV = 0x00000200,
16065 #endif
16066 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DATA_ACCESS_BIT_KHR = 0x00000800,
16067 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_CLUSTER_OPACITY_MICROMAPS_BIT_NV = 0x00001000,
16068 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR,
16069 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR,
16070 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR,
16071 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR,
16072 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR,
16073 // VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_UPDATE_EXT is a legacy alias
16074 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_UPDATE_EXT = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_UPDATE_BIT_EXT,
16075 // VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISABLE_OPACITY_MICROMAPS_EXT is a legacy alias
16076 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISABLE_OPACITY_MICROMAPS_EXT = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISABLE_OPACITY_MICROMAPS_BIT_EXT,
16077 // VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_DATA_UPDATE_EXT is a legacy alias
16078 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_DATA_UPDATE_EXT = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_DATA_UPDATE_BIT_EXT,
16079 #ifdef VK_ENABLE_BETA_EXTENSIONS
16080 // VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISPLACEMENT_MICROMAP_UPDATE_NV is a legacy alias
16081 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISPLACEMENT_MICROMAP_UPDATE_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISPLACEMENT_MICROMAP_UPDATE_BIT_NV,
16082 #endif
16083 // VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DATA_ACCESS_KHR is a legacy alias
16084 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DATA_ACCESS_KHR = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DATA_ACCESS_BIT_KHR,
16085 VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
16086 } VkBuildAccelerationStructureFlagBitsKHR;
16087 typedef VkFlags VkBuildAccelerationStructureFlagsKHR;
16088 typedef VkBuildAccelerationStructureFlagsKHR VkBuildAccelerationStructureFlagsNV;
16089
16090 typedef VkBuildAccelerationStructureFlagBitsKHR VkBuildAccelerationStructureFlagBitsNV;
16091
16092 typedef struct VkRayTracingShaderGroupCreateInfoNV {
16093 VkStructureType sType;
16094 const void* pNext;
16095 VkRayTracingShaderGroupTypeKHR type;
16096 uint32_t generalShader;
16097 uint32_t closestHitShader;
16098 uint32_t anyHitShader;
16099 uint32_t intersectionShader;
16100 } VkRayTracingShaderGroupCreateInfoNV;
16101
16102 typedef struct VkRayTracingPipelineCreateInfoNV {
16103 VkStructureType sType;
16104 const void* pNext;
16105 VkPipelineCreateFlags flags;
16106 uint32_t stageCount;
16107 const VkPipelineShaderStageCreateInfo* pStages;
16108 uint32_t groupCount;
16109 const VkRayTracingShaderGroupCreateInfoNV* pGroups;
16110 uint32_t maxRecursionDepth;
16111 VkPipelineLayout layout;
16112 VkPipeline basePipelineHandle;
16113 int32_t basePipelineIndex;
16114 } VkRayTracingPipelineCreateInfoNV;
16115
16116 typedef struct VkGeometryTrianglesNV {
16117 VkStructureType sType;
16118 const void* pNext;
16119 VkBuffer vertexData;
16120 VkDeviceSize vertexOffset;
16121 uint32_t vertexCount;
16122 VkDeviceSize vertexStride;
16123 VkFormat vertexFormat;
16124 VkBuffer indexData;
16125 VkDeviceSize indexOffset;
16126 uint32_t indexCount;
16127 VkIndexType indexType;
16128 VkBuffer transformData;
16129 VkDeviceSize transformOffset;
16130 } VkGeometryTrianglesNV;
16131
16132 typedef struct VkGeometryAABBNV {
16133 VkStructureType sType;
16134 const void* pNext;
16135 VkBuffer aabbData;
16136 uint32_t numAABBs;
16137 uint32_t stride;
16138 VkDeviceSize offset;
16139 } VkGeometryAABBNV;
16140
16141 typedef struct VkGeometryDataNV {
16142 VkGeometryTrianglesNV triangles;
16143 VkGeometryAABBNV aabbs;
16144 } VkGeometryDataNV;
16145
16146 typedef struct VkGeometryNV {
16147 VkStructureType sType;
16148 const void* pNext;
16149 VkGeometryTypeKHR geometryType;
16150 VkGeometryDataNV geometry;
16151 VkGeometryFlagsKHR flags;
16152 } VkGeometryNV;
16153
16154 typedef struct VkAccelerationStructureInfoNV {
16155 VkStructureType sType;
16156 const void* pNext;
16157 VkAccelerationStructureTypeNV type;
16158 VkBuildAccelerationStructureFlagsNV flags;
16159 uint32_t instanceCount;
16160 uint32_t geometryCount;
16161 const VkGeometryNV* pGeometries;
16162 } VkAccelerationStructureInfoNV;
16163
16164 typedef struct VkAccelerationStructureCreateInfoNV {
16165 VkStructureType sType;
16166 const void* pNext;
16167 VkDeviceSize compactedSize;
16168 VkAccelerationStructureInfoNV info;
16169 } VkAccelerationStructureCreateInfoNV;
16170
16171 typedef struct VkBindAccelerationStructureMemoryInfoNV {
16172 VkStructureType sType;
16173 const void* pNext;
16174 VkAccelerationStructureNV accelerationStructure;
16175 VkDeviceMemory memory;
16176 VkDeviceSize memoryOffset;
16177 uint32_t deviceIndexCount;
16178 const uint32_t* pDeviceIndices;
16179 } VkBindAccelerationStructureMemoryInfoNV;
16180
16181 typedef struct VkWriteDescriptorSetAccelerationStructureNV {
16182 VkStructureType sType;
16183 const void* pNext;
16184 uint32_t accelerationStructureCount;
16185 const VkAccelerationStructureNV* pAccelerationStructures;
16186 } VkWriteDescriptorSetAccelerationStructureNV;
16187
16188 typedef struct VkAccelerationStructureMemoryRequirementsInfoNV {
16189 VkStructureType sType;
16190 const void* pNext;
16191 VkAccelerationStructureMemoryRequirementsTypeNV type;
16192 VkAccelerationStructureNV accelerationStructure;
16193 } VkAccelerationStructureMemoryRequirementsInfoNV;
16194
16195 typedef struct VkPhysicalDeviceRayTracingPropertiesNV {
16196 VkStructureType sType;
16197 void* pNext;
16198 uint32_t shaderGroupHandleSize;
16199 uint32_t maxRecursionDepth;
16200 uint32_t maxShaderGroupStride;
16201 uint32_t shaderGroupBaseAlignment;
16202 uint64_t maxGeometryCount;
16203 uint64_t maxInstanceCount;
16204 uint64_t maxTriangleCount;
16205 uint32_t maxDescriptorSetAccelerationStructures;
16206 } VkPhysicalDeviceRayTracingPropertiesNV;
16207
16208 typedef struct VkTransformMatrixKHR {
16209 float matrix[3][4];
16210 } VkTransformMatrixKHR;
16211
16212 typedef VkTransformMatrixKHR VkTransformMatrixNV;
16213
16214 typedef struct VkAabbPositionsKHR {
16215 float minX;
16216 float minY;
16217 float minZ;
16218 float maxX;
16219 float maxY;
16220 float maxZ;
16221 } VkAabbPositionsKHR;
16222
16223 typedef VkAabbPositionsKHR VkAabbPositionsNV;
16224
16225 typedef struct VkAccelerationStructureInstanceKHR {
16226 VkTransformMatrixKHR transform;
16227 uint32_t instanceCustomIndex:24;
16228 uint32_t mask:8;
16229 uint32_t instanceShaderBindingTableRecordOffset:24;
16230 VkGeometryInstanceFlagsKHR flags:8;
16231 uint64_t accelerationStructureReference;
16232 } VkAccelerationStructureInstanceKHR;
16233
16234 typedef VkAccelerationStructureInstanceKHR VkAccelerationStructureInstanceNV;
16235
16236 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureNV)(VkDevice device, const VkAccelerationStructureCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureNV* pAccelerationStructure);
16237 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, const VkAllocationCallbacks* pAllocator);
16238 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureMemoryRequirementsNV)(VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements);
16239 typedef VkResult (VKAPI_PTR *PFN_vkBindAccelerationStructureMemoryNV)(VkDevice device, uint32_t bindInfoCount, const VkBindAccelerationStructureMemoryInfoNV* pBindInfos);
16240 typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructureNV)(VkCommandBuffer commandBuffer, const VkAccelerationStructureInfoNV* pInfo, VkBuffer instanceData, VkDeviceSize instanceOffset, VkBool32 update, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkBuffer scratch, VkDeviceSize scratchOffset);
16241 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureNV)(VkCommandBuffer commandBuffer, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkCopyAccelerationStructureModeKHR mode);
16242 typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysNV)(VkCommandBuffer commandBuffer, VkBuffer raygenShaderBindingTableBuffer, VkDeviceSize raygenShaderBindingOffset, VkBuffer missShaderBindingTableBuffer, VkDeviceSize missShaderBindingOffset, VkDeviceSize missShaderBindingStride, VkBuffer hitShaderBindingTableBuffer, VkDeviceSize hitShaderBindingOffset, VkDeviceSize hitShaderBindingStride, VkBuffer callableShaderBindingTableBuffer, VkDeviceSize callableShaderBindingOffset, VkDeviceSize callableShaderBindingStride, uint32_t width, uint32_t height, uint32_t depth);
16243 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesNV)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoNV* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
16244 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData);
16245 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesNV)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData);
16246 typedef VkResult (VKAPI_PTR *PFN_vkGetAccelerationStructureHandleNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, size_t dataSize, void* pData);
16247 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesNV)(VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureNV* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery);
16248 typedef VkResult (VKAPI_PTR *PFN_vkCompileDeferredNV)(VkDevice device, VkPipeline pipeline, uint32_t shader);
16249
16250 #ifndef VK_NO_PROTOTYPES
16251 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
16252 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureNV(
16253 VkDevice device,
16254 const VkAccelerationStructureCreateInfoNV* pCreateInfo,
16255 const VkAllocationCallbacks* pAllocator,
16256 VkAccelerationStructureNV* pAccelerationStructure);
16257 #endif
16258
16259 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
16260 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureNV(
16261 VkDevice device,
16262 VkAccelerationStructureNV accelerationStructure,
16263 const VkAllocationCallbacks* pAllocator);
16264 #endif
16265
16266 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
16267 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureMemoryRequirementsNV(
16268 VkDevice device,
16269 const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo,
16270 VkMemoryRequirements2KHR* pMemoryRequirements);
16271 #endif
16272
16273 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
16274 VKAPI_ATTR VkResult VKAPI_CALL vkBindAccelerationStructureMemoryNV(
16275 VkDevice device,
16276 uint32_t bindInfoCount,
16277 const VkBindAccelerationStructureMemoryInfoNV* pBindInfos);
16278 #endif
16279
16280 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
16281 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructureNV(
16282 VkCommandBuffer commandBuffer,
16283 const VkAccelerationStructureInfoNV* pInfo,
16284 VkBuffer instanceData,
16285 VkDeviceSize instanceOffset,
16286 VkBool32 update,
16287 VkAccelerationStructureNV dst,
16288 VkAccelerationStructureNV src,
16289 VkBuffer scratch,
16290 VkDeviceSize scratchOffset);
16291 #endif
16292
16293 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
16294 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureNV(
16295 VkCommandBuffer commandBuffer,
16296 VkAccelerationStructureNV dst,
16297 VkAccelerationStructureNV src,
16298 VkCopyAccelerationStructureModeKHR mode);
16299 #endif
16300
16301 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
16302 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysNV(
16303 VkCommandBuffer commandBuffer,
16304 VkBuffer raygenShaderBindingTableBuffer,
16305 VkDeviceSize raygenShaderBindingOffset,
16306 VkBuffer missShaderBindingTableBuffer,
16307 VkDeviceSize missShaderBindingOffset,
16308 VkDeviceSize missShaderBindingStride,
16309 VkBuffer hitShaderBindingTableBuffer,
16310 VkDeviceSize hitShaderBindingOffset,
16311 VkDeviceSize hitShaderBindingStride,
16312 VkBuffer callableShaderBindingTableBuffer,
16313 VkDeviceSize callableShaderBindingOffset,
16314 VkDeviceSize callableShaderBindingStride,
16315 uint32_t width,
16316 uint32_t height,
16317 uint32_t depth);
16318 #endif
16319
16320 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
16321 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesNV(
16322 VkDevice device,
16323 VkPipelineCache pipelineCache,
16324 uint32_t createInfoCount,
16325 const VkRayTracingPipelineCreateInfoNV* pCreateInfos,
16326 const VkAllocationCallbacks* pAllocator,
16327 VkPipeline* pPipelines);
16328 #endif
16329
16330 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
16331 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesKHR(
16332 VkDevice device,
16333 VkPipeline pipeline,
16334 uint32_t firstGroup,
16335 uint32_t groupCount,
16336 size_t dataSize,
16337 void* pData);
16338 #endif
16339
16340 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
16341 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesNV(
16342 VkDevice device,
16343 VkPipeline pipeline,
16344 uint32_t firstGroup,
16345 uint32_t groupCount,
16346 size_t dataSize,
16347 void* pData);
16348 #endif
16349
16350 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
16351 VKAPI_ATTR VkResult VKAPI_CALL vkGetAccelerationStructureHandleNV(
16352 VkDevice device,
16353 VkAccelerationStructureNV accelerationStructure,
16354 size_t dataSize,
16355 void* pData);
16356 #endif
16357
16358 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
16359 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesNV(
16360 VkCommandBuffer commandBuffer,
16361 uint32_t accelerationStructureCount,
16362 const VkAccelerationStructureNV* pAccelerationStructures,
16363 VkQueryType queryType,
16364 VkQueryPool queryPool,
16365 uint32_t firstQuery);
16366 #endif
16367
16368 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
16369 VKAPI_ATTR VkResult VKAPI_CALL vkCompileDeferredNV(
16370 VkDevice device,
16371 VkPipeline pipeline,
16372 uint32_t shader);
16373 #endif
16374 #endif
16375
16376
16377 // VK_NV_representative_fragment_test is a preprocessor guard. Do not pass it to API calls.
16378 #define VK_NV_representative_fragment_test 1
16379 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION 2
16380 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME "VK_NV_representative_fragment_test"
16381 typedef struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV {
16382 VkStructureType sType;
16383 void* pNext;
16384 VkBool32 representativeFragmentTest;
16385 } VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV;
16386
16387 typedef struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV {
16388 VkStructureType sType;
16389 const void* pNext;
16390 VkBool32 representativeFragmentTestEnable;
16391 } VkPipelineRepresentativeFragmentTestStateCreateInfoNV;
16392
16393
16394
16395 // VK_EXT_filter_cubic is a preprocessor guard. Do not pass it to API calls.
16396 #define VK_EXT_filter_cubic 1
16397 #define VK_EXT_FILTER_CUBIC_SPEC_VERSION 3
16398 #define VK_EXT_FILTER_CUBIC_EXTENSION_NAME "VK_EXT_filter_cubic"
16399 typedef struct VkPhysicalDeviceImageViewImageFormatInfoEXT {
16400 VkStructureType sType;
16401 void* pNext;
16402 VkImageViewType imageViewType;
16403 } VkPhysicalDeviceImageViewImageFormatInfoEXT;
16404
16405 typedef struct VkFilterCubicImageViewImageFormatPropertiesEXT {
16406 VkStructureType sType;
16407 void* pNext;
16408 VkBool32 filterCubic;
16409 VkBool32 filterCubicMinmax;
16410 } VkFilterCubicImageViewImageFormatPropertiesEXT;
16411
16412
16413
16414 // VK_QCOM_render_pass_shader_resolve is a preprocessor guard. Do not pass it to API calls.
16415 #define VK_QCOM_render_pass_shader_resolve 1
16416 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_SPEC_VERSION 4
16417 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_EXTENSION_NAME "VK_QCOM_render_pass_shader_resolve"
16418
16419
16420 // VK_EXT_global_priority is a preprocessor guard. Do not pass it to API calls.
16421 #define VK_EXT_global_priority 1
16422 #define VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION 2
16423 #define VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME "VK_EXT_global_priority"
16424 typedef VkQueueGlobalPriority VkQueueGlobalPriorityEXT;
16425
16426 typedef VkDeviceQueueGlobalPriorityCreateInfo VkDeviceQueueGlobalPriorityCreateInfoEXT;
16427
16428
16429
16430 // VK_EXT_external_memory_host is a preprocessor guard. Do not pass it to API calls.
16431 #define VK_EXT_external_memory_host 1
16432 #define VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION 1
16433 #define VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME "VK_EXT_external_memory_host"
16434 typedef struct VkImportMemoryHostPointerInfoEXT {
16435 VkStructureType sType;
16436 const void* pNext;
16437 VkExternalMemoryHandleTypeFlagBits handleType;
16438 void* pHostPointer;
16439 } VkImportMemoryHostPointerInfoEXT;
16440
16441 typedef struct VkMemoryHostPointerPropertiesEXT {
16442 VkStructureType sType;
16443 void* pNext;
16444 uint32_t memoryTypeBits;
16445 } VkMemoryHostPointerPropertiesEXT;
16446
16447 typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
16448 VkStructureType sType;
16449 void* pNext;
16450 VkDeviceSize minImportedHostPointerAlignment;
16451 } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
16452
16453 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryHostPointerPropertiesEXT)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
16454
16455 #ifndef VK_NO_PROTOTYPES
16456 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
16457 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryHostPointerPropertiesEXT(
16458 VkDevice device,
16459 VkExternalMemoryHandleTypeFlagBits handleType,
16460 const void* pHostPointer,
16461 VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
16462 #endif
16463 #endif
16464
16465
16466 // VK_AMD_buffer_marker is a preprocessor guard. Do not pass it to API calls.
16467 #define VK_AMD_buffer_marker 1
16468 #define VK_AMD_BUFFER_MARKER_SPEC_VERSION 1
16469 #define VK_AMD_BUFFER_MARKER_EXTENSION_NAME "VK_AMD_buffer_marker"
16470 typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarkerAMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker);
16471 typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarker2AMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker);
16472
16473 #ifndef VK_NO_PROTOTYPES
16474 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
16475 VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarkerAMD(
16476 VkCommandBuffer commandBuffer,
16477 VkPipelineStageFlagBits pipelineStage,
16478 VkBuffer dstBuffer,
16479 VkDeviceSize dstOffset,
16480 uint32_t marker);
16481 #endif
16482
16483 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
16484 VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarker2AMD(
16485 VkCommandBuffer commandBuffer,
16486 VkPipelineStageFlags2 stage,
16487 VkBuffer dstBuffer,
16488 VkDeviceSize dstOffset,
16489 uint32_t marker);
16490 #endif
16491 #endif
16492
16493
16494 // VK_AMD_pipeline_compiler_control is a preprocessor guard. Do not pass it to API calls.
16495 #define VK_AMD_pipeline_compiler_control 1
16496 #define VK_AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION 1
16497 #define VK_AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME "VK_AMD_pipeline_compiler_control"
16498
16499 typedef enum VkPipelineCompilerControlFlagBitsAMD {
16500 VK_PIPELINE_COMPILER_CONTROL_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF
16501 } VkPipelineCompilerControlFlagBitsAMD;
16502 typedef VkFlags VkPipelineCompilerControlFlagsAMD;
16503 typedef struct VkPipelineCompilerControlCreateInfoAMD {
16504 VkStructureType sType;
16505 const void* pNext;
16506 VkPipelineCompilerControlFlagsAMD compilerControlFlags;
16507 } VkPipelineCompilerControlCreateInfoAMD;
16508
16509
16510
16511 // VK_EXT_calibrated_timestamps is a preprocessor guard. Do not pass it to API calls.
16512 #define VK_EXT_calibrated_timestamps 1
16513 #define VK_EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION 2
16514 #define VK_EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME "VK_EXT_calibrated_timestamps"
16515 typedef VkTimeDomainKHR VkTimeDomainEXT;
16516
16517 typedef VkCalibratedTimestampInfoKHR VkCalibratedTimestampInfoEXT;
16518
16519 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT)(VkPhysicalDevice physicalDevice, uint32_t* pTimeDomainCount, VkTimeDomainKHR* pTimeDomains);
16520 typedef VkResult (VKAPI_PTR *PFN_vkGetCalibratedTimestampsEXT)(VkDevice device, uint32_t timestampCount, const VkCalibratedTimestampInfoKHR* pTimestampInfos, uint64_t* pTimestamps, uint64_t* pMaxDeviation);
16521
16522 #ifndef VK_NO_PROTOTYPES
16523 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
16524 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(
16525 VkPhysicalDevice physicalDevice,
16526 uint32_t* pTimeDomainCount,
16527 VkTimeDomainKHR* pTimeDomains);
16528 #endif
16529
16530 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
16531 VKAPI_ATTR VkResult VKAPI_CALL vkGetCalibratedTimestampsEXT(
16532 VkDevice device,
16533 uint32_t timestampCount,
16534 const VkCalibratedTimestampInfoKHR* pTimestampInfos,
16535 uint64_t* pTimestamps,
16536 uint64_t* pMaxDeviation);
16537 #endif
16538 #endif
16539
16540
16541 // VK_AMD_shader_core_properties is a preprocessor guard. Do not pass it to API calls.
16542 #define VK_AMD_shader_core_properties 1
16543 #define VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION 2
16544 #define VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_AMD_shader_core_properties"
16545 typedef struct VkPhysicalDeviceShaderCorePropertiesAMD {
16546 VkStructureType sType;
16547 void* pNext;
16548 uint32_t shaderEngineCount;
16549 uint32_t shaderArraysPerEngineCount;
16550 uint32_t computeUnitsPerShaderArray;
16551 uint32_t simdPerComputeUnit;
16552 uint32_t wavefrontsPerSimd;
16553 uint32_t wavefrontSize;
16554 uint32_t sgprsPerSimd;
16555 uint32_t minSgprAllocation;
16556 uint32_t maxSgprAllocation;
16557 uint32_t sgprAllocationGranularity;
16558 uint32_t vgprsPerSimd;
16559 uint32_t minVgprAllocation;
16560 uint32_t maxVgprAllocation;
16561 uint32_t vgprAllocationGranularity;
16562 } VkPhysicalDeviceShaderCorePropertiesAMD;
16563
16564
16565
16566 // VK_AMD_memory_overallocation_behavior is a preprocessor guard. Do not pass it to API calls.
16567 #define VK_AMD_memory_overallocation_behavior 1
16568 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION 1
16569 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME "VK_AMD_memory_overallocation_behavior"
16570
16571 typedef enum VkMemoryOverallocationBehaviorAMD {
16572 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD = 0,
16573 VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD = 1,
16574 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD = 2,
16575 VK_MEMORY_OVERALLOCATION_BEHAVIOR_MAX_ENUM_AMD = 0x7FFFFFFF
16576 } VkMemoryOverallocationBehaviorAMD;
16577 typedef struct VkDeviceMemoryOverallocationCreateInfoAMD {
16578 VkStructureType sType;
16579 const void* pNext;
16580 VkMemoryOverallocationBehaviorAMD overallocationBehavior;
16581 } VkDeviceMemoryOverallocationCreateInfoAMD;
16582
16583
16584
16585 // VK_EXT_vertex_attribute_divisor is a preprocessor guard. Do not pass it to API calls.
16586 #define VK_EXT_vertex_attribute_divisor 1
16587 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 3
16588 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_EXT_vertex_attribute_divisor"
16589 typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
16590 VkStructureType sType;
16591 void* pNext;
16592 uint32_t maxVertexAttribDivisor;
16593 } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
16594
16595 typedef VkVertexInputBindingDivisorDescription VkVertexInputBindingDivisorDescriptionEXT;
16596
16597 typedef VkPipelineVertexInputDivisorStateCreateInfo VkPipelineVertexInputDivisorStateCreateInfoEXT;
16598
16599 typedef VkPhysicalDeviceVertexAttributeDivisorFeatures VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT;
16600
16601
16602
16603 // VK_EXT_pipeline_creation_feedback is a preprocessor guard. Do not pass it to API calls.
16604 #define VK_EXT_pipeline_creation_feedback 1
16605 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION 1
16606 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME "VK_EXT_pipeline_creation_feedback"
16607 typedef VkPipelineCreationFeedbackFlagBits VkPipelineCreationFeedbackFlagBitsEXT;
16608
16609 typedef VkPipelineCreationFeedbackFlags VkPipelineCreationFeedbackFlagsEXT;
16610
16611 typedef VkPipelineCreationFeedbackCreateInfo VkPipelineCreationFeedbackCreateInfoEXT;
16612
16613 typedef VkPipelineCreationFeedback VkPipelineCreationFeedbackEXT;
16614
16615
16616
16617 // VK_NV_shader_subgroup_partitioned is a preprocessor guard. Do not pass it to API calls.
16618 #define VK_NV_shader_subgroup_partitioned 1
16619 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION 1
16620 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME "VK_NV_shader_subgroup_partitioned"
16621
16622
16623 // VK_NV_compute_shader_derivatives is a preprocessor guard. Do not pass it to API calls.
16624 #define VK_NV_compute_shader_derivatives 1
16625 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION 1
16626 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME "VK_NV_compute_shader_derivatives"
16627 typedef VkPhysicalDeviceComputeShaderDerivativesFeaturesKHR VkPhysicalDeviceComputeShaderDerivativesFeaturesNV;
16628
16629
16630
16631 // VK_NV_mesh_shader is a preprocessor guard. Do not pass it to API calls.
16632 #define VK_NV_mesh_shader 1
16633 #define VK_NV_MESH_SHADER_SPEC_VERSION 1
16634 #define VK_NV_MESH_SHADER_EXTENSION_NAME "VK_NV_mesh_shader"
16635 typedef struct VkPhysicalDeviceMeshShaderFeaturesNV {
16636 VkStructureType sType;
16637 void* pNext;
16638 VkBool32 taskShader;
16639 VkBool32 meshShader;
16640 } VkPhysicalDeviceMeshShaderFeaturesNV;
16641
16642 typedef struct VkPhysicalDeviceMeshShaderPropertiesNV {
16643 VkStructureType sType;
16644 void* pNext;
16645 uint32_t maxDrawMeshTasksCount;
16646 uint32_t maxTaskWorkGroupInvocations;
16647 uint32_t maxTaskWorkGroupSize[3];
16648 uint32_t maxTaskTotalMemorySize;
16649 uint32_t maxTaskOutputCount;
16650 uint32_t maxMeshWorkGroupInvocations;
16651 uint32_t maxMeshWorkGroupSize[3];
16652 uint32_t maxMeshTotalMemorySize;
16653 uint32_t maxMeshOutputVertices;
16654 uint32_t maxMeshOutputPrimitives;
16655 uint32_t maxMeshMultiviewViewCount;
16656 uint32_t meshOutputPerVertexGranularity;
16657 uint32_t meshOutputPerPrimitiveGranularity;
16658 } VkPhysicalDeviceMeshShaderPropertiesNV;
16659
16660 typedef struct VkDrawMeshTasksIndirectCommandNV {
16661 uint32_t taskCount;
16662 uint32_t firstTask;
16663 } VkDrawMeshTasksIndirectCommandNV;
16664
16665 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksNV)(VkCommandBuffer commandBuffer, uint32_t taskCount, uint32_t firstTask);
16666 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
16667 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectCountNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
16668
16669 #ifndef VK_NO_PROTOTYPES
16670 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
16671 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksNV(
16672 VkCommandBuffer commandBuffer,
16673 uint32_t taskCount,
16674 uint32_t firstTask);
16675 #endif
16676
16677 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
16678 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectNV(
16679 VkCommandBuffer commandBuffer,
16680 VkBuffer buffer,
16681 VkDeviceSize offset,
16682 uint32_t drawCount,
16683 uint32_t stride);
16684 #endif
16685
16686 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
16687 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectCountNV(
16688 VkCommandBuffer commandBuffer,
16689 VkBuffer buffer,
16690 VkDeviceSize offset,
16691 VkBuffer countBuffer,
16692 VkDeviceSize countBufferOffset,
16693 uint32_t maxDrawCount,
16694 uint32_t stride);
16695 #endif
16696 #endif
16697
16698
16699 // VK_NV_fragment_shader_barycentric is a preprocessor guard. Do not pass it to API calls.
16700 #define VK_NV_fragment_shader_barycentric 1
16701 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1
16702 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_NV_fragment_shader_barycentric"
16703 typedef VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV;
16704
16705
16706
16707 // VK_NV_shader_image_footprint is a preprocessor guard. Do not pass it to API calls.
16708 #define VK_NV_shader_image_footprint 1
16709 #define VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION 2
16710 #define VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME "VK_NV_shader_image_footprint"
16711 typedef struct VkPhysicalDeviceShaderImageFootprintFeaturesNV {
16712 VkStructureType sType;
16713 void* pNext;
16714 VkBool32 imageFootprint;
16715 } VkPhysicalDeviceShaderImageFootprintFeaturesNV;
16716
16717
16718
16719 // VK_NV_scissor_exclusive is a preprocessor guard. Do not pass it to API calls.
16720 #define VK_NV_scissor_exclusive 1
16721 #define VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION 2
16722 #define VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME "VK_NV_scissor_exclusive"
16723 typedef struct VkPipelineViewportExclusiveScissorStateCreateInfoNV {
16724 VkStructureType sType;
16725 const void* pNext;
16726 uint32_t exclusiveScissorCount;
16727 const VkRect2D* pExclusiveScissors;
16728 } VkPipelineViewportExclusiveScissorStateCreateInfoNV;
16729
16730 typedef struct VkPhysicalDeviceExclusiveScissorFeaturesNV {
16731 VkStructureType sType;
16732 void* pNext;
16733 VkBool32 exclusiveScissor;
16734 } VkPhysicalDeviceExclusiveScissorFeaturesNV;
16735
16736 typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorEnableNV)(VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const VkBool32* pExclusiveScissorEnables);
16737 typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorNV)(VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const VkRect2D* pExclusiveScissors);
16738
16739 #ifndef VK_NO_PROTOTYPES
16740 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
16741 VKAPI_ATTR void VKAPI_CALL vkCmdSetExclusiveScissorEnableNV(
16742 VkCommandBuffer commandBuffer,
16743 uint32_t firstExclusiveScissor,
16744 uint32_t exclusiveScissorCount,
16745 const VkBool32* pExclusiveScissorEnables);
16746 #endif
16747
16748 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
16749 VKAPI_ATTR void VKAPI_CALL vkCmdSetExclusiveScissorNV(
16750 VkCommandBuffer commandBuffer,
16751 uint32_t firstExclusiveScissor,
16752 uint32_t exclusiveScissorCount,
16753 const VkRect2D* pExclusiveScissors);
16754 #endif
16755 #endif
16756
16757
16758 // VK_NV_device_diagnostic_checkpoints is a preprocessor guard. Do not pass it to API calls.
16759 #define VK_NV_device_diagnostic_checkpoints 1
16760 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION 2
16761 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME "VK_NV_device_diagnostic_checkpoints"
16762 typedef struct VkQueueFamilyCheckpointPropertiesNV {
16763 VkStructureType sType;
16764 void* pNext;
16765 VkPipelineStageFlags checkpointExecutionStageMask;
16766 } VkQueueFamilyCheckpointPropertiesNV;
16767
16768 typedef struct VkCheckpointDataNV {
16769 VkStructureType sType;
16770 void* pNext;
16771 VkPipelineStageFlagBits stage;
16772 void* pCheckpointMarker;
16773 } VkCheckpointDataNV;
16774
16775 typedef struct VkQueueFamilyCheckpointProperties2NV {
16776 VkStructureType sType;
16777 void* pNext;
16778 VkPipelineStageFlags2 checkpointExecutionStageMask;
16779 } VkQueueFamilyCheckpointProperties2NV;
16780
16781 typedef struct VkCheckpointData2NV {
16782 VkStructureType sType;
16783 void* pNext;
16784 VkPipelineStageFlags2 stage;
16785 void* pCheckpointMarker;
16786 } VkCheckpointData2NV;
16787
16788 typedef void (VKAPI_PTR *PFN_vkCmdSetCheckpointNV)(VkCommandBuffer commandBuffer, const void* pCheckpointMarker);
16789 typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointDataNV)(VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData);
16790 typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointData2NV)(VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointData2NV* pCheckpointData);
16791
16792 #ifndef VK_NO_PROTOTYPES
16793 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
16794 VKAPI_ATTR void VKAPI_CALL vkCmdSetCheckpointNV(
16795 VkCommandBuffer commandBuffer,
16796 const void* pCheckpointMarker);
16797 #endif
16798
16799 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
16800 VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointDataNV(
16801 VkQueue queue,
16802 uint32_t* pCheckpointDataCount,
16803 VkCheckpointDataNV* pCheckpointData);
16804 #endif
16805
16806 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
16807 VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointData2NV(
16808 VkQueue queue,
16809 uint32_t* pCheckpointDataCount,
16810 VkCheckpointData2NV* pCheckpointData);
16811 #endif
16812 #endif
16813
16814
16815 // VK_INTEL_shader_integer_functions2 is a preprocessor guard. Do not pass it to API calls.
16816 #define VK_INTEL_shader_integer_functions2 1
16817 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION 1
16818 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME "VK_INTEL_shader_integer_functions2"
16819 typedef struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
16820 VkStructureType sType;
16821 void* pNext;
16822 VkBool32 shaderIntegerFunctions2;
16823 } VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL;
16824
16825
16826
16827 // VK_INTEL_performance_query is a preprocessor guard. Do not pass it to API calls.
16828 #define VK_INTEL_performance_query 1
16829 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPerformanceConfigurationINTEL)
16830 #define VK_INTEL_PERFORMANCE_QUERY_SPEC_VERSION 2
16831 #define VK_INTEL_PERFORMANCE_QUERY_EXTENSION_NAME "VK_INTEL_performance_query"
16832
16833 typedef enum VkPerformanceConfigurationTypeINTEL {
16834 VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL = 0,
16835 VK_PERFORMANCE_CONFIGURATION_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
16836 } VkPerformanceConfigurationTypeINTEL;
16837
16838 typedef enum VkQueryPoolSamplingModeINTEL {
16839 VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL = 0,
16840 VK_QUERY_POOL_SAMPLING_MODE_MAX_ENUM_INTEL = 0x7FFFFFFF
16841 } VkQueryPoolSamplingModeINTEL;
16842
16843 typedef enum VkPerformanceOverrideTypeINTEL {
16844 VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL = 0,
16845 VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL = 1,
16846 VK_PERFORMANCE_OVERRIDE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
16847 } VkPerformanceOverrideTypeINTEL;
16848
16849 typedef enum VkPerformanceParameterTypeINTEL {
16850 VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL = 0,
16851 VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL = 1,
16852 VK_PERFORMANCE_PARAMETER_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
16853 } VkPerformanceParameterTypeINTEL;
16854
16855 typedef enum VkPerformanceValueTypeINTEL {
16856 VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL = 0,
16857 VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL = 1,
16858 VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL = 2,
16859 VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL = 3,
16860 VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL = 4,
16861 VK_PERFORMANCE_VALUE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
16862 } VkPerformanceValueTypeINTEL;
16863 typedef union VkPerformanceValueDataINTEL {
16864 uint32_t value32;
16865 uint64_t value64;
16866 float valueFloat;
16867 VkBool32 valueBool;
16868 const char* valueString;
16869 } VkPerformanceValueDataINTEL;
16870
16871 typedef struct VkPerformanceValueINTEL {
16872 VkPerformanceValueTypeINTEL type;
16873 VkPerformanceValueDataINTEL data;
16874 } VkPerformanceValueINTEL;
16875
16876 typedef struct VkInitializePerformanceApiInfoINTEL {
16877 VkStructureType sType;
16878 const void* pNext;
16879 void* pUserData;
16880 } VkInitializePerformanceApiInfoINTEL;
16881
16882 typedef struct VkQueryPoolPerformanceQueryCreateInfoINTEL {
16883 VkStructureType sType;
16884 const void* pNext;
16885 VkQueryPoolSamplingModeINTEL performanceCountersSampling;
16886 } VkQueryPoolPerformanceQueryCreateInfoINTEL;
16887
16888 typedef VkQueryPoolPerformanceQueryCreateInfoINTEL VkQueryPoolCreateInfoINTEL;
16889
16890 typedef struct VkPerformanceMarkerInfoINTEL {
16891 VkStructureType sType;
16892 const void* pNext;
16893 uint64_t marker;
16894 } VkPerformanceMarkerInfoINTEL;
16895
16896 typedef struct VkPerformanceStreamMarkerInfoINTEL {
16897 VkStructureType sType;
16898 const void* pNext;
16899 uint32_t marker;
16900 } VkPerformanceStreamMarkerInfoINTEL;
16901
16902 typedef struct VkPerformanceOverrideInfoINTEL {
16903 VkStructureType sType;
16904 const void* pNext;
16905 VkPerformanceOverrideTypeINTEL type;
16906 VkBool32 enable;
16907 uint64_t parameter;
16908 } VkPerformanceOverrideInfoINTEL;
16909
16910 typedef struct VkPerformanceConfigurationAcquireInfoINTEL {
16911 VkStructureType sType;
16912 const void* pNext;
16913 VkPerformanceConfigurationTypeINTEL type;
16914 } VkPerformanceConfigurationAcquireInfoINTEL;
16915
16916 typedef VkResult (VKAPI_PTR *PFN_vkInitializePerformanceApiINTEL)(VkDevice device, const VkInitializePerformanceApiInfoINTEL* pInitializeInfo);
16917 typedef void (VKAPI_PTR *PFN_vkUninitializePerformanceApiINTEL)(VkDevice device);
16918 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL* pMarkerInfo);
16919 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceStreamMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo);
16920 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceOverrideINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL* pOverrideInfo);
16921 typedef VkResult (VKAPI_PTR *PFN_vkAcquirePerformanceConfigurationINTEL)(VkDevice device, const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, VkPerformanceConfigurationINTEL* pConfiguration);
16922 typedef VkResult (VKAPI_PTR *PFN_vkReleasePerformanceConfigurationINTEL)(VkDevice device, VkPerformanceConfigurationINTEL configuration);
16923 typedef VkResult (VKAPI_PTR *PFN_vkQueueSetPerformanceConfigurationINTEL)(VkQueue queue, VkPerformanceConfigurationINTEL configuration);
16924 typedef VkResult (VKAPI_PTR *PFN_vkGetPerformanceParameterINTEL)(VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL* pValue);
16925
16926 #ifndef VK_NO_PROTOTYPES
16927 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
16928 VKAPI_ATTR VkResult VKAPI_CALL vkInitializePerformanceApiINTEL(
16929 VkDevice device,
16930 const VkInitializePerformanceApiInfoINTEL* pInitializeInfo);
16931 #endif
16932
16933 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
16934 VKAPI_ATTR void VKAPI_CALL vkUninitializePerformanceApiINTEL(
16935 VkDevice device);
16936 #endif
16937
16938 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
16939 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceMarkerINTEL(
16940 VkCommandBuffer commandBuffer,
16941 const VkPerformanceMarkerInfoINTEL* pMarkerInfo);
16942 #endif
16943
16944 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
16945 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceStreamMarkerINTEL(
16946 VkCommandBuffer commandBuffer,
16947 const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo);
16948 #endif
16949
16950 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
16951 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceOverrideINTEL(
16952 VkCommandBuffer commandBuffer,
16953 const VkPerformanceOverrideInfoINTEL* pOverrideInfo);
16954 #endif
16955
16956 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
16957 VKAPI_ATTR VkResult VKAPI_CALL vkAcquirePerformanceConfigurationINTEL(
16958 VkDevice device,
16959 const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo,
16960 VkPerformanceConfigurationINTEL* pConfiguration);
16961 #endif
16962
16963 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
16964 VKAPI_ATTR VkResult VKAPI_CALL vkReleasePerformanceConfigurationINTEL(
16965 VkDevice device,
16966 VkPerformanceConfigurationINTEL configuration);
16967 #endif
16968
16969 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
16970 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSetPerformanceConfigurationINTEL(
16971 VkQueue queue,
16972 VkPerformanceConfigurationINTEL configuration);
16973 #endif
16974
16975 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
16976 VKAPI_ATTR VkResult VKAPI_CALL vkGetPerformanceParameterINTEL(
16977 VkDevice device,
16978 VkPerformanceParameterTypeINTEL parameter,
16979 VkPerformanceValueINTEL* pValue);
16980 #endif
16981 #endif
16982
16983
16984 // VK_EXT_pci_bus_info is a preprocessor guard. Do not pass it to API calls.
16985 #define VK_EXT_pci_bus_info 1
16986 #define VK_EXT_PCI_BUS_INFO_SPEC_VERSION 2
16987 #define VK_EXT_PCI_BUS_INFO_EXTENSION_NAME "VK_EXT_pci_bus_info"
16988 typedef struct VkPhysicalDevicePCIBusInfoPropertiesEXT {
16989 VkStructureType sType;
16990 void* pNext;
16991 uint32_t pciDomain;
16992 uint32_t pciBus;
16993 uint32_t pciDevice;
16994 uint32_t pciFunction;
16995 } VkPhysicalDevicePCIBusInfoPropertiesEXT;
16996
16997
16998
16999 // VK_AMD_display_native_hdr is a preprocessor guard. Do not pass it to API calls.
17000 #define VK_AMD_display_native_hdr 1
17001 #define VK_AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION 1
17002 #define VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME "VK_AMD_display_native_hdr"
17003 typedef struct VkDisplayNativeHdrSurfaceCapabilitiesAMD {
17004 VkStructureType sType;
17005 void* pNext;
17006 VkBool32 localDimmingSupport;
17007 } VkDisplayNativeHdrSurfaceCapabilitiesAMD;
17008
17009 typedef struct VkSwapchainDisplayNativeHdrCreateInfoAMD {
17010 VkStructureType sType;
17011 const void* pNext;
17012 VkBool32 localDimmingEnable;
17013 } VkSwapchainDisplayNativeHdrCreateInfoAMD;
17014
17015 typedef void (VKAPI_PTR *PFN_vkSetLocalDimmingAMD)(VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable);
17016
17017 #ifndef VK_NO_PROTOTYPES
17018 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
17019 VKAPI_ATTR void VKAPI_CALL vkSetLocalDimmingAMD(
17020 VkDevice device,
17021 VkSwapchainKHR swapChain,
17022 VkBool32 localDimmingEnable);
17023 #endif
17024 #endif
17025
17026
17027 // VK_EXT_fragment_density_map is a preprocessor guard. Do not pass it to API calls.
17028 #define VK_EXT_fragment_density_map 1
17029 #define VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION 2
17030 #define VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME "VK_EXT_fragment_density_map"
17031 typedef struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT {
17032 VkStructureType sType;
17033 void* pNext;
17034 VkBool32 fragmentDensityMap;
17035 VkBool32 fragmentDensityMapDynamic;
17036 VkBool32 fragmentDensityMapNonSubsampledImages;
17037 } VkPhysicalDeviceFragmentDensityMapFeaturesEXT;
17038
17039 typedef struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT {
17040 VkStructureType sType;
17041 void* pNext;
17042 VkExtent2D minFragmentDensityTexelSize;
17043 VkExtent2D maxFragmentDensityTexelSize;
17044 VkBool32 fragmentDensityInvocations;
17045 } VkPhysicalDeviceFragmentDensityMapPropertiesEXT;
17046
17047 typedef struct VkRenderPassFragmentDensityMapCreateInfoEXT {
17048 VkStructureType sType;
17049 const void* pNext;
17050 VkAttachmentReference fragmentDensityMapAttachment;
17051 } VkRenderPassFragmentDensityMapCreateInfoEXT;
17052
17053 typedef struct VkRenderingFragmentDensityMapAttachmentInfoEXT {
17054 VkStructureType sType;
17055 const void* pNext;
17056 VkImageView imageView;
17057 VkImageLayout imageLayout;
17058 } VkRenderingFragmentDensityMapAttachmentInfoEXT;
17059
17060
17061
17062 // VK_EXT_scalar_block_layout is a preprocessor guard. Do not pass it to API calls.
17063 #define VK_EXT_scalar_block_layout 1
17064 #define VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION 1
17065 #define VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME "VK_EXT_scalar_block_layout"
17066 typedef VkPhysicalDeviceScalarBlockLayoutFeatures VkPhysicalDeviceScalarBlockLayoutFeaturesEXT;
17067
17068
17069
17070 // VK_GOOGLE_hlsl_functionality1 is a preprocessor guard. Do not pass it to API calls.
17071 #define VK_GOOGLE_hlsl_functionality1 1
17072 #define VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION 1
17073 #define VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME "VK_GOOGLE_hlsl_functionality1"
17074 // VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION is a legacy alias
17075 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION
17076 // VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME is a legacy alias
17077 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME
17078
17079
17080 // VK_GOOGLE_decorate_string is a preprocessor guard. Do not pass it to API calls.
17081 #define VK_GOOGLE_decorate_string 1
17082 #define VK_GOOGLE_DECORATE_STRING_SPEC_VERSION 1
17083 #define VK_GOOGLE_DECORATE_STRING_EXTENSION_NAME "VK_GOOGLE_decorate_string"
17084
17085
17086 // VK_EXT_subgroup_size_control is a preprocessor guard. Do not pass it to API calls.
17087 #define VK_EXT_subgroup_size_control 1
17088 #define VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION 2
17089 #define VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME "VK_EXT_subgroup_size_control"
17090 typedef VkPhysicalDeviceSubgroupSizeControlFeatures VkPhysicalDeviceSubgroupSizeControlFeaturesEXT;
17091
17092 typedef VkPhysicalDeviceSubgroupSizeControlProperties VkPhysicalDeviceSubgroupSizeControlPropertiesEXT;
17093
17094 typedef VkPipelineShaderStageRequiredSubgroupSizeCreateInfo VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT;
17095
17096
17097
17098 // VK_AMD_shader_core_properties2 is a preprocessor guard. Do not pass it to API calls.
17099 #define VK_AMD_shader_core_properties2 1
17100 #define VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION 1
17101 #define VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME "VK_AMD_shader_core_properties2"
17102
17103 typedef enum VkShaderCorePropertiesFlagBitsAMD {
17104 VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF
17105 } VkShaderCorePropertiesFlagBitsAMD;
17106 typedef VkFlags VkShaderCorePropertiesFlagsAMD;
17107 typedef struct VkPhysicalDeviceShaderCoreProperties2AMD {
17108 VkStructureType sType;
17109 void* pNext;
17110 VkShaderCorePropertiesFlagsAMD shaderCoreFeatures;
17111 uint32_t activeComputeUnitCount;
17112 } VkPhysicalDeviceShaderCoreProperties2AMD;
17113
17114
17115
17116 // VK_AMD_device_coherent_memory is a preprocessor guard. Do not pass it to API calls.
17117 #define VK_AMD_device_coherent_memory 1
17118 #define VK_AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION 1
17119 #define VK_AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME "VK_AMD_device_coherent_memory"
17120 typedef struct VkPhysicalDeviceCoherentMemoryFeaturesAMD {
17121 VkStructureType sType;
17122 void* pNext;
17123 VkBool32 deviceCoherentMemory;
17124 } VkPhysicalDeviceCoherentMemoryFeaturesAMD;
17125
17126
17127
17128 // VK_EXT_shader_image_atomic_int64 is a preprocessor guard. Do not pass it to API calls.
17129 #define VK_EXT_shader_image_atomic_int64 1
17130 #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION 1
17131 #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME "VK_EXT_shader_image_atomic_int64"
17132 typedef struct VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT {
17133 VkStructureType sType;
17134 void* pNext;
17135 VkBool32 shaderImageInt64Atomics;
17136 VkBool32 sparseImageInt64Atomics;
17137 } VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT;
17138
17139
17140
17141 // VK_EXT_memory_budget is a preprocessor guard. Do not pass it to API calls.
17142 #define VK_EXT_memory_budget 1
17143 #define VK_EXT_MEMORY_BUDGET_SPEC_VERSION 1
17144 #define VK_EXT_MEMORY_BUDGET_EXTENSION_NAME "VK_EXT_memory_budget"
17145 typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT {
17146 VkStructureType sType;
17147 void* pNext;
17148 VkDeviceSize heapBudget[VK_MAX_MEMORY_HEAPS];
17149 VkDeviceSize heapUsage[VK_MAX_MEMORY_HEAPS];
17150 } VkPhysicalDeviceMemoryBudgetPropertiesEXT;
17151
17152
17153
17154 // VK_EXT_memory_priority is a preprocessor guard. Do not pass it to API calls.
17155 #define VK_EXT_memory_priority 1
17156 #define VK_EXT_MEMORY_PRIORITY_SPEC_VERSION 1
17157 #define VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME "VK_EXT_memory_priority"
17158 typedef struct VkPhysicalDeviceMemoryPriorityFeaturesEXT {
17159 VkStructureType sType;
17160 void* pNext;
17161 VkBool32 memoryPriority;
17162 } VkPhysicalDeviceMemoryPriorityFeaturesEXT;
17163
17164 typedef struct VkMemoryPriorityAllocateInfoEXT {
17165 VkStructureType sType;
17166 const void* pNext;
17167 float priority;
17168 } VkMemoryPriorityAllocateInfoEXT;
17169
17170
17171
17172 // VK_NV_dedicated_allocation_image_aliasing is a preprocessor guard. Do not pass it to API calls.
17173 #define VK_NV_dedicated_allocation_image_aliasing 1
17174 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION 1
17175 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME "VK_NV_dedicated_allocation_image_aliasing"
17176 typedef struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
17177 VkStructureType sType;
17178 void* pNext;
17179 VkBool32 dedicatedAllocationImageAliasing;
17180 } VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV;
17181
17182
17183
17184 // VK_EXT_buffer_device_address is a preprocessor guard. Do not pass it to API calls.
17185 #define VK_EXT_buffer_device_address 1
17186 #define VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 2
17187 #define VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_EXT_buffer_device_address"
17188 typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT {
17189 VkStructureType sType;
17190 void* pNext;
17191 VkBool32 bufferDeviceAddress;
17192 VkBool32 bufferDeviceAddressCaptureReplay;
17193 VkBool32 bufferDeviceAddressMultiDevice;
17194 } VkPhysicalDeviceBufferDeviceAddressFeaturesEXT;
17195
17196 typedef VkPhysicalDeviceBufferDeviceAddressFeaturesEXT VkPhysicalDeviceBufferAddressFeaturesEXT;
17197
17198 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoEXT;
17199
17200 typedef struct VkBufferDeviceAddressCreateInfoEXT {
17201 VkStructureType sType;
17202 const void* pNext;
17203 VkDeviceAddress deviceAddress;
17204 } VkBufferDeviceAddressCreateInfoEXT;
17205
17206 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressEXT)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
17207
17208 #ifndef VK_NO_PROTOTYPES
17209 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
17210 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressEXT(
17211 VkDevice device,
17212 const VkBufferDeviceAddressInfo* pInfo);
17213 #endif
17214 #endif
17215
17216
17217 // VK_EXT_tooling_info is a preprocessor guard. Do not pass it to API calls.
17218 #define VK_EXT_tooling_info 1
17219 #define VK_EXT_TOOLING_INFO_SPEC_VERSION 1
17220 #define VK_EXT_TOOLING_INFO_EXTENSION_NAME "VK_EXT_tooling_info"
17221 typedef VkToolPurposeFlagBits VkToolPurposeFlagBitsEXT;
17222
17223 typedef VkToolPurposeFlags VkToolPurposeFlagsEXT;
17224
17225 typedef VkPhysicalDeviceToolProperties VkPhysicalDeviceToolPropertiesEXT;
17226
17227 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceToolPropertiesEXT)(VkPhysicalDevice physicalDevice, uint32_t* pToolCount, VkPhysicalDeviceToolProperties* pToolProperties);
17228
17229 #ifndef VK_NO_PROTOTYPES
17230 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
17231 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceToolPropertiesEXT(
17232 VkPhysicalDevice physicalDevice,
17233 uint32_t* pToolCount,
17234 VkPhysicalDeviceToolProperties* pToolProperties);
17235 #endif
17236 #endif
17237
17238
17239 // VK_EXT_separate_stencil_usage is a preprocessor guard. Do not pass it to API calls.
17240 #define VK_EXT_separate_stencil_usage 1
17241 #define VK_EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION 1
17242 #define VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME "VK_EXT_separate_stencil_usage"
17243 typedef VkImageStencilUsageCreateInfo VkImageStencilUsageCreateInfoEXT;
17244
17245
17246
17247 // VK_EXT_validation_features is a preprocessor guard. Do not pass it to API calls.
17248 #define VK_EXT_validation_features 1
17249 #define VK_EXT_VALIDATION_FEATURES_SPEC_VERSION 6
17250 #define VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME "VK_EXT_validation_features"
17251
17252 typedef enum VkValidationFeatureEnableEXT {
17253 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT = 0,
17254 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT = 1,
17255 VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT = 2,
17256 VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT = 3,
17257 VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT = 4,
17258 VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT = 0x7FFFFFFF
17259 } VkValidationFeatureEnableEXT;
17260
17261 typedef enum VkValidationFeatureDisableEXT {
17262 VK_VALIDATION_FEATURE_DISABLE_ALL_EXT = 0,
17263 VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT = 1,
17264 VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT = 2,
17265 VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT = 3,
17266 VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT = 4,
17267 VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT = 5,
17268 VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT = 6,
17269 VK_VALIDATION_FEATURE_DISABLE_SHADER_VALIDATION_CACHE_EXT = 7,
17270 VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT = 0x7FFFFFFF
17271 } VkValidationFeatureDisableEXT;
17272 typedef struct VkValidationFeaturesEXT {
17273 VkStructureType sType;
17274 const void* pNext;
17275 uint32_t enabledValidationFeatureCount;
17276 const VkValidationFeatureEnableEXT* pEnabledValidationFeatures;
17277 uint32_t disabledValidationFeatureCount;
17278 const VkValidationFeatureDisableEXT* pDisabledValidationFeatures;
17279 } VkValidationFeaturesEXT;
17280
17281
17282
17283 // VK_NV_cooperative_matrix is a preprocessor guard. Do not pass it to API calls.
17284 #define VK_NV_cooperative_matrix 1
17285 #define VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION 1
17286 #define VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_NV_cooperative_matrix"
17287 typedef VkComponentTypeKHR VkComponentTypeNV;
17288
17289 typedef VkScopeKHR VkScopeNV;
17290
17291 typedef struct VkCooperativeMatrixPropertiesNV {
17292 VkStructureType sType;
17293 void* pNext;
17294 uint32_t MSize;
17295 uint32_t NSize;
17296 uint32_t KSize;
17297 VkComponentTypeNV AType;
17298 VkComponentTypeNV BType;
17299 VkComponentTypeNV CType;
17300 VkComponentTypeNV DType;
17301 VkScopeNV scope;
17302 } VkCooperativeMatrixPropertiesNV;
17303
17304 typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesNV {
17305 VkStructureType sType;
17306 void* pNext;
17307 VkBool32 cooperativeMatrix;
17308 VkBool32 cooperativeMatrixRobustBufferAccess;
17309 } VkPhysicalDeviceCooperativeMatrixFeaturesNV;
17310
17311 typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesNV {
17312 VkStructureType sType;
17313 void* pNext;
17314 VkShaderStageFlags cooperativeMatrixSupportedStages;
17315 } VkPhysicalDeviceCooperativeMatrixPropertiesNV;
17316
17317 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkCooperativeMatrixPropertiesNV* pProperties);
17318
17319 #ifndef VK_NO_PROTOTYPES
17320 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
17321 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(
17322 VkPhysicalDevice physicalDevice,
17323 uint32_t* pPropertyCount,
17324 VkCooperativeMatrixPropertiesNV* pProperties);
17325 #endif
17326 #endif
17327
17328
17329 // VK_NV_coverage_reduction_mode is a preprocessor guard. Do not pass it to API calls.
17330 #define VK_NV_coverage_reduction_mode 1
17331 #define VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION 1
17332 #define VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME "VK_NV_coverage_reduction_mode"
17333
17334 typedef enum VkCoverageReductionModeNV {
17335 VK_COVERAGE_REDUCTION_MODE_MERGE_NV = 0,
17336 VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV = 1,
17337 VK_COVERAGE_REDUCTION_MODE_MAX_ENUM_NV = 0x7FFFFFFF
17338 } VkCoverageReductionModeNV;
17339 typedef VkFlags VkPipelineCoverageReductionStateCreateFlagsNV;
17340 typedef struct VkPhysicalDeviceCoverageReductionModeFeaturesNV {
17341 VkStructureType sType;
17342 void* pNext;
17343 VkBool32 coverageReductionMode;
17344 } VkPhysicalDeviceCoverageReductionModeFeaturesNV;
17345
17346 typedef struct VkPipelineCoverageReductionStateCreateInfoNV {
17347 VkStructureType sType;
17348 const void* pNext;
17349 VkPipelineCoverageReductionStateCreateFlagsNV flags;
17350 VkCoverageReductionModeNV coverageReductionMode;
17351 } VkPipelineCoverageReductionStateCreateInfoNV;
17352
17353 typedef struct VkFramebufferMixedSamplesCombinationNV {
17354 VkStructureType sType;
17355 void* pNext;
17356 VkCoverageReductionModeNV coverageReductionMode;
17357 VkSampleCountFlagBits rasterizationSamples;
17358 VkSampleCountFlags depthStencilSamples;
17359 VkSampleCountFlags colorSamples;
17360 } VkFramebufferMixedSamplesCombinationNV;
17361
17362 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV)(VkPhysicalDevice physicalDevice, uint32_t* pCombinationCount, VkFramebufferMixedSamplesCombinationNV* pCombinations);
17363
17364 #ifndef VK_NO_PROTOTYPES
17365 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
17366 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
17367 VkPhysicalDevice physicalDevice,
17368 uint32_t* pCombinationCount,
17369 VkFramebufferMixedSamplesCombinationNV* pCombinations);
17370 #endif
17371 #endif
17372
17373
17374 // VK_EXT_fragment_shader_interlock is a preprocessor guard. Do not pass it to API calls.
17375 #define VK_EXT_fragment_shader_interlock 1
17376 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION 1
17377 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME "VK_EXT_fragment_shader_interlock"
17378 typedef struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT {
17379 VkStructureType sType;
17380 void* pNext;
17381 VkBool32 fragmentShaderSampleInterlock;
17382 VkBool32 fragmentShaderPixelInterlock;
17383 VkBool32 fragmentShaderShadingRateInterlock;
17384 } VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT;
17385
17386
17387
17388 // VK_EXT_ycbcr_image_arrays is a preprocessor guard. Do not pass it to API calls.
17389 #define VK_EXT_ycbcr_image_arrays 1
17390 #define VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION 1
17391 #define VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME "VK_EXT_ycbcr_image_arrays"
17392 typedef struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT {
17393 VkStructureType sType;
17394 void* pNext;
17395 VkBool32 ycbcrImageArrays;
17396 } VkPhysicalDeviceYcbcrImageArraysFeaturesEXT;
17397
17398
17399
17400 // VK_EXT_provoking_vertex is a preprocessor guard. Do not pass it to API calls.
17401 #define VK_EXT_provoking_vertex 1
17402 #define VK_EXT_PROVOKING_VERTEX_SPEC_VERSION 1
17403 #define VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME "VK_EXT_provoking_vertex"
17404
17405 typedef enum VkProvokingVertexModeEXT {
17406 VK_PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT = 0,
17407 VK_PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT = 1,
17408 VK_PROVOKING_VERTEX_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
17409 } VkProvokingVertexModeEXT;
17410 typedef struct VkPhysicalDeviceProvokingVertexFeaturesEXT {
17411 VkStructureType sType;
17412 void* pNext;
17413 VkBool32 provokingVertexLast;
17414 VkBool32 transformFeedbackPreservesProvokingVertex;
17415 } VkPhysicalDeviceProvokingVertexFeaturesEXT;
17416
17417 typedef struct VkPhysicalDeviceProvokingVertexPropertiesEXT {
17418 VkStructureType sType;
17419 void* pNext;
17420 VkBool32 provokingVertexModePerPipeline;
17421 VkBool32 transformFeedbackPreservesTriangleFanProvokingVertex;
17422 } VkPhysicalDeviceProvokingVertexPropertiesEXT;
17423
17424 typedef struct VkPipelineRasterizationProvokingVertexStateCreateInfoEXT {
17425 VkStructureType sType;
17426 const void* pNext;
17427 VkProvokingVertexModeEXT provokingVertexMode;
17428 } VkPipelineRasterizationProvokingVertexStateCreateInfoEXT;
17429
17430
17431
17432 // VK_EXT_headless_surface is a preprocessor guard. Do not pass it to API calls.
17433 #define VK_EXT_headless_surface 1
17434 #define VK_EXT_HEADLESS_SURFACE_SPEC_VERSION 1
17435 #define VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME "VK_EXT_headless_surface"
17436 typedef VkFlags VkHeadlessSurfaceCreateFlagsEXT;
17437 typedef struct VkHeadlessSurfaceCreateInfoEXT {
17438 VkStructureType sType;
17439 const void* pNext;
17440 VkHeadlessSurfaceCreateFlagsEXT flags;
17441 } VkHeadlessSurfaceCreateInfoEXT;
17442
17443 typedef VkResult (VKAPI_PTR *PFN_vkCreateHeadlessSurfaceEXT)(VkInstance instance, const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
17444
17445 #ifndef VK_NO_PROTOTYPES
17446 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
17447 VKAPI_ATTR VkResult VKAPI_CALL vkCreateHeadlessSurfaceEXT(
17448 VkInstance instance,
17449 const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo,
17450 const VkAllocationCallbacks* pAllocator,
17451 VkSurfaceKHR* pSurface);
17452 #endif
17453 #endif
17454
17455
17456 // VK_EXT_line_rasterization is a preprocessor guard. Do not pass it to API calls.
17457 #define VK_EXT_line_rasterization 1
17458 #define VK_EXT_LINE_RASTERIZATION_SPEC_VERSION 1
17459 #define VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME "VK_EXT_line_rasterization"
17460 typedef VkLineRasterizationMode VkLineRasterizationModeEXT;
17461
17462 typedef VkPhysicalDeviceLineRasterizationFeatures VkPhysicalDeviceLineRasterizationFeaturesEXT;
17463
17464 typedef VkPhysicalDeviceLineRasterizationProperties VkPhysicalDeviceLineRasterizationPropertiesEXT;
17465
17466 typedef VkPipelineRasterizationLineStateCreateInfo VkPipelineRasterizationLineStateCreateInfoEXT;
17467
17468 typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleEXT)(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern);
17469
17470 #ifndef VK_NO_PROTOTYPES
17471 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
17472 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleEXT(
17473 VkCommandBuffer commandBuffer,
17474 uint32_t lineStippleFactor,
17475 uint16_t lineStipplePattern);
17476 #endif
17477 #endif
17478
17479
17480 // VK_EXT_shader_atomic_float is a preprocessor guard. Do not pass it to API calls.
17481 #define VK_EXT_shader_atomic_float 1
17482 #define VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION 1
17483 #define VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME "VK_EXT_shader_atomic_float"
17484 typedef struct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT {
17485 VkStructureType sType;
17486 void* pNext;
17487 VkBool32 shaderBufferFloat32Atomics;
17488 VkBool32 shaderBufferFloat32AtomicAdd;
17489 VkBool32 shaderBufferFloat64Atomics;
17490 VkBool32 shaderBufferFloat64AtomicAdd;
17491 VkBool32 shaderSharedFloat32Atomics;
17492 VkBool32 shaderSharedFloat32AtomicAdd;
17493 VkBool32 shaderSharedFloat64Atomics;
17494 VkBool32 shaderSharedFloat64AtomicAdd;
17495 VkBool32 shaderImageFloat32Atomics;
17496 VkBool32 shaderImageFloat32AtomicAdd;
17497 VkBool32 sparseImageFloat32Atomics;
17498 VkBool32 sparseImageFloat32AtomicAdd;
17499 } VkPhysicalDeviceShaderAtomicFloatFeaturesEXT;
17500
17501
17502
17503 // VK_EXT_host_query_reset is a preprocessor guard. Do not pass it to API calls.
17504 #define VK_EXT_host_query_reset 1
17505 #define VK_EXT_HOST_QUERY_RESET_SPEC_VERSION 1
17506 #define VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME "VK_EXT_host_query_reset"
17507 typedef VkPhysicalDeviceHostQueryResetFeatures VkPhysicalDeviceHostQueryResetFeaturesEXT;
17508
17509 typedef void (VKAPI_PTR *PFN_vkResetQueryPoolEXT)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount);
17510
17511 #ifndef VK_NO_PROTOTYPES
17512 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
17513 VKAPI_ATTR void VKAPI_CALL vkResetQueryPoolEXT(
17514 VkDevice device,
17515 VkQueryPool queryPool,
17516 uint32_t firstQuery,
17517 uint32_t queryCount);
17518 #endif
17519 #endif
17520
17521
17522 // VK_EXT_index_type_uint8 is a preprocessor guard. Do not pass it to API calls.
17523 #define VK_EXT_index_type_uint8 1
17524 #define VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION 1
17525 #define VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_EXT_index_type_uint8"
17526 typedef VkPhysicalDeviceIndexTypeUint8Features VkPhysicalDeviceIndexTypeUint8FeaturesEXT;
17527
17528
17529
17530 // VK_EXT_extended_dynamic_state is a preprocessor guard. Do not pass it to API calls.
17531 #define VK_EXT_extended_dynamic_state 1
17532 #define VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION 1
17533 #define VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_extended_dynamic_state"
17534 typedef struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT {
17535 VkStructureType sType;
17536 void* pNext;
17537 VkBool32 extendedDynamicState;
17538 } VkPhysicalDeviceExtendedDynamicStateFeaturesEXT;
17539
17540 typedef void (VKAPI_PTR *PFN_vkCmdSetCullModeEXT)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode);
17541 typedef void (VKAPI_PTR *PFN_vkCmdSetFrontFaceEXT)(VkCommandBuffer commandBuffer, VkFrontFace frontFace);
17542 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveTopologyEXT)(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology);
17543 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWithCountEXT)(VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport* pViewports);
17544 typedef void (VKAPI_PTR *PFN_vkCmdSetScissorWithCountEXT)(VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D* pScissors);
17545 typedef 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);
17546 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable);
17547 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthWriteEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable);
17548 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthCompareOpEXT)(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp);
17549 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBoundsTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable);
17550 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable);
17551 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilOpEXT)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp);
17552
17553 #ifndef VK_NO_PROTOTYPES
17554 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
17555 VKAPI_ATTR void VKAPI_CALL vkCmdSetCullModeEXT(
17556 VkCommandBuffer commandBuffer,
17557 VkCullModeFlags cullMode);
17558 #endif
17559
17560 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
17561 VKAPI_ATTR void VKAPI_CALL vkCmdSetFrontFaceEXT(
17562 VkCommandBuffer commandBuffer,
17563 VkFrontFace frontFace);
17564 #endif
17565
17566 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
17567 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveTopologyEXT(
17568 VkCommandBuffer commandBuffer,
17569 VkPrimitiveTopology primitiveTopology);
17570 #endif
17571
17572 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
17573 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWithCountEXT(
17574 VkCommandBuffer commandBuffer,
17575 uint32_t viewportCount,
17576 const VkViewport* pViewports);
17577 #endif
17578
17579 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
17580 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissorWithCountEXT(
17581 VkCommandBuffer commandBuffer,
17582 uint32_t scissorCount,
17583 const VkRect2D* pScissors);
17584 #endif
17585
17586 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
17587 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers2EXT(
17588 VkCommandBuffer commandBuffer,
17589 uint32_t firstBinding,
17590 uint32_t bindingCount,
17591 const VkBuffer* pBuffers,
17592 const VkDeviceSize* pOffsets,
17593 const VkDeviceSize* pSizes,
17594 const VkDeviceSize* pStrides);
17595 #endif
17596
17597 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
17598 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthTestEnableEXT(
17599 VkCommandBuffer commandBuffer,
17600 VkBool32 depthTestEnable);
17601 #endif
17602
17603 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
17604 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthWriteEnableEXT(
17605 VkCommandBuffer commandBuffer,
17606 VkBool32 depthWriteEnable);
17607 #endif
17608
17609 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
17610 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthCompareOpEXT(
17611 VkCommandBuffer commandBuffer,
17612 VkCompareOp depthCompareOp);
17613 #endif
17614
17615 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
17616 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBoundsTestEnableEXT(
17617 VkCommandBuffer commandBuffer,
17618 VkBool32 depthBoundsTestEnable);
17619 #endif
17620
17621 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
17622 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilTestEnableEXT(
17623 VkCommandBuffer commandBuffer,
17624 VkBool32 stencilTestEnable);
17625 #endif
17626
17627 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
17628 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilOpEXT(
17629 VkCommandBuffer commandBuffer,
17630 VkStencilFaceFlags faceMask,
17631 VkStencilOp failOp,
17632 VkStencilOp passOp,
17633 VkStencilOp depthFailOp,
17634 VkCompareOp compareOp);
17635 #endif
17636 #endif
17637
17638
17639 // VK_EXT_host_image_copy is a preprocessor guard. Do not pass it to API calls.
17640 #define VK_EXT_host_image_copy 1
17641 #define VK_EXT_HOST_IMAGE_COPY_SPEC_VERSION 1
17642 #define VK_EXT_HOST_IMAGE_COPY_EXTENSION_NAME "VK_EXT_host_image_copy"
17643 typedef VkHostImageCopyFlagBits VkHostImageCopyFlagBitsEXT;
17644
17645 typedef VkHostImageCopyFlags VkHostImageCopyFlagsEXT;
17646
17647 typedef VkPhysicalDeviceHostImageCopyFeatures VkPhysicalDeviceHostImageCopyFeaturesEXT;
17648
17649 typedef VkPhysicalDeviceHostImageCopyProperties VkPhysicalDeviceHostImageCopyPropertiesEXT;
17650
17651 typedef VkMemoryToImageCopy VkMemoryToImageCopyEXT;
17652
17653 typedef VkImageToMemoryCopy VkImageToMemoryCopyEXT;
17654
17655 typedef VkCopyMemoryToImageInfo VkCopyMemoryToImageInfoEXT;
17656
17657 typedef VkCopyImageToMemoryInfo VkCopyImageToMemoryInfoEXT;
17658
17659 typedef VkCopyImageToImageInfo VkCopyImageToImageInfoEXT;
17660
17661 typedef VkHostImageLayoutTransitionInfo VkHostImageLayoutTransitionInfoEXT;
17662
17663 typedef VkSubresourceHostMemcpySize VkSubresourceHostMemcpySizeEXT;
17664
17665 typedef VkHostImageCopyDevicePerformanceQuery VkHostImageCopyDevicePerformanceQueryEXT;
17666
17667 typedef VkSubresourceLayout2 VkSubresourceLayout2EXT;
17668
17669 typedef VkImageSubresource2 VkImageSubresource2EXT;
17670
17671 typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToImageEXT)(VkDevice device, const VkCopyMemoryToImageInfo* pCopyMemoryToImageInfo);
17672 typedef VkResult (VKAPI_PTR *PFN_vkCopyImageToMemoryEXT)(VkDevice device, const VkCopyImageToMemoryInfo* pCopyImageToMemoryInfo);
17673 typedef VkResult (VKAPI_PTR *PFN_vkCopyImageToImageEXT)(VkDevice device, const VkCopyImageToImageInfo* pCopyImageToImageInfo);
17674 typedef VkResult (VKAPI_PTR *PFN_vkTransitionImageLayoutEXT)(VkDevice device, uint32_t transitionCount, const VkHostImageLayoutTransitionInfo* pTransitions);
17675 typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout2EXT)(VkDevice device, VkImage image, const VkImageSubresource2* pSubresource, VkSubresourceLayout2* pLayout);
17676
17677 #ifndef VK_NO_PROTOTYPES
17678 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
17679 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToImageEXT(
17680 VkDevice device,
17681 const VkCopyMemoryToImageInfo* pCopyMemoryToImageInfo);
17682 #endif
17683
17684 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
17685 VKAPI_ATTR VkResult VKAPI_CALL vkCopyImageToMemoryEXT(
17686 VkDevice device,
17687 const VkCopyImageToMemoryInfo* pCopyImageToMemoryInfo);
17688 #endif
17689
17690 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
17691 VKAPI_ATTR VkResult VKAPI_CALL vkCopyImageToImageEXT(
17692 VkDevice device,
17693 const VkCopyImageToImageInfo* pCopyImageToImageInfo);
17694 #endif
17695
17696 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
17697 VKAPI_ATTR VkResult VKAPI_CALL vkTransitionImageLayoutEXT(
17698 VkDevice device,
17699 uint32_t transitionCount,
17700 const VkHostImageLayoutTransitionInfo* pTransitions);
17701 #endif
17702
17703 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
17704 VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout2EXT(
17705 VkDevice device,
17706 VkImage image,
17707 const VkImageSubresource2* pSubresource,
17708 VkSubresourceLayout2* pLayout);
17709 #endif
17710 #endif
17711
17712
17713 // VK_EXT_map_memory_placed is a preprocessor guard. Do not pass it to API calls.
17714 #define VK_EXT_map_memory_placed 1
17715 #define VK_EXT_MAP_MEMORY_PLACED_SPEC_VERSION 1
17716 #define VK_EXT_MAP_MEMORY_PLACED_EXTENSION_NAME "VK_EXT_map_memory_placed"
17717 typedef struct VkPhysicalDeviceMapMemoryPlacedFeaturesEXT {
17718 VkStructureType sType;
17719 void* pNext;
17720 VkBool32 memoryMapPlaced;
17721 VkBool32 memoryMapRangePlaced;
17722 VkBool32 memoryUnmapReserve;
17723 } VkPhysicalDeviceMapMemoryPlacedFeaturesEXT;
17724
17725 typedef struct VkPhysicalDeviceMapMemoryPlacedPropertiesEXT {
17726 VkStructureType sType;
17727 void* pNext;
17728 VkDeviceSize minPlacedMemoryMapAlignment;
17729 } VkPhysicalDeviceMapMemoryPlacedPropertiesEXT;
17730
17731 typedef struct VkMemoryMapPlacedInfoEXT {
17732 VkStructureType sType;
17733 const void* pNext;
17734 void* pPlacedAddress;
17735 } VkMemoryMapPlacedInfoEXT;
17736
17737
17738
17739 // VK_EXT_shader_atomic_float2 is a preprocessor guard. Do not pass it to API calls.
17740 #define VK_EXT_shader_atomic_float2 1
17741 #define VK_EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION 1
17742 #define VK_EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME "VK_EXT_shader_atomic_float2"
17743 typedef struct VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT {
17744 VkStructureType sType;
17745 void* pNext;
17746 VkBool32 shaderBufferFloat16Atomics;
17747 VkBool32 shaderBufferFloat16AtomicAdd;
17748 VkBool32 shaderBufferFloat16AtomicMinMax;
17749 VkBool32 shaderBufferFloat32AtomicMinMax;
17750 VkBool32 shaderBufferFloat64AtomicMinMax;
17751 VkBool32 shaderSharedFloat16Atomics;
17752 VkBool32 shaderSharedFloat16AtomicAdd;
17753 VkBool32 shaderSharedFloat16AtomicMinMax;
17754 VkBool32 shaderSharedFloat32AtomicMinMax;
17755 VkBool32 shaderSharedFloat64AtomicMinMax;
17756 VkBool32 shaderImageFloat32AtomicMinMax;
17757 VkBool32 sparseImageFloat32AtomicMinMax;
17758 } VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT;
17759
17760
17761
17762 // VK_EXT_surface_maintenance1 is a preprocessor guard. Do not pass it to API calls.
17763 #define VK_EXT_surface_maintenance1 1
17764 #define VK_EXT_SURFACE_MAINTENANCE_1_SPEC_VERSION 1
17765 #define VK_EXT_SURFACE_MAINTENANCE_1_EXTENSION_NAME "VK_EXT_surface_maintenance1"
17766 typedef VkPresentScalingFlagBitsKHR VkPresentScalingFlagBitsEXT;
17767
17768 typedef VkPresentScalingFlagsKHR VkPresentScalingFlagsEXT;
17769
17770 typedef VkPresentGravityFlagBitsKHR VkPresentGravityFlagBitsEXT;
17771
17772 typedef VkPresentGravityFlagsKHR VkPresentGravityFlagsEXT;
17773
17774 typedef VkSurfacePresentModeKHR VkSurfacePresentModeEXT;
17775
17776 typedef VkSurfacePresentScalingCapabilitiesKHR VkSurfacePresentScalingCapabilitiesEXT;
17777
17778 typedef VkSurfacePresentModeCompatibilityKHR VkSurfacePresentModeCompatibilityEXT;
17779
17780
17781
17782 // VK_EXT_swapchain_maintenance1 is a preprocessor guard. Do not pass it to API calls.
17783 #define VK_EXT_swapchain_maintenance1 1
17784 #define VK_EXT_SWAPCHAIN_MAINTENANCE_1_SPEC_VERSION 1
17785 #define VK_EXT_SWAPCHAIN_MAINTENANCE_1_EXTENSION_NAME "VK_EXT_swapchain_maintenance1"
17786 typedef VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT;
17787
17788 typedef VkSwapchainPresentFenceInfoKHR VkSwapchainPresentFenceInfoEXT;
17789
17790 typedef VkSwapchainPresentModesCreateInfoKHR VkSwapchainPresentModesCreateInfoEXT;
17791
17792 typedef VkSwapchainPresentModeInfoKHR VkSwapchainPresentModeInfoEXT;
17793
17794 typedef VkSwapchainPresentScalingCreateInfoKHR VkSwapchainPresentScalingCreateInfoEXT;
17795
17796 typedef VkReleaseSwapchainImagesInfoKHR VkReleaseSwapchainImagesInfoEXT;
17797
17798 typedef VkResult (VKAPI_PTR *PFN_vkReleaseSwapchainImagesEXT)(VkDevice device, const VkReleaseSwapchainImagesInfoKHR* pReleaseInfo);
17799
17800 #ifndef VK_NO_PROTOTYPES
17801 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
17802 VKAPI_ATTR VkResult VKAPI_CALL vkReleaseSwapchainImagesEXT(
17803 VkDevice device,
17804 const VkReleaseSwapchainImagesInfoKHR* pReleaseInfo);
17805 #endif
17806 #endif
17807
17808
17809 // VK_EXT_shader_demote_to_helper_invocation is a preprocessor guard. Do not pass it to API calls.
17810 #define VK_EXT_shader_demote_to_helper_invocation 1
17811 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION 1
17812 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME "VK_EXT_shader_demote_to_helper_invocation"
17813 typedef VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT;
17814
17815
17816
17817 // VK_NV_device_generated_commands is a preprocessor guard. Do not pass it to API calls.
17818 #define VK_NV_device_generated_commands 1
17819 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutNV)
17820 #define VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION 3
17821 #define VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_NV_device_generated_commands"
17822
17823 typedef enum VkIndirectCommandsTokenTypeNV {
17824 VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV = 0,
17825 VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV = 1,
17826 VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV = 2,
17827 VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV = 3,
17828 VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV = 4,
17829 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV = 5,
17830 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV = 6,
17831 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV = 7,
17832 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_NV = 1000328000,
17833 VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NV = 1000428003,
17834 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NV = 1000428004,
17835 VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
17836 } VkIndirectCommandsTokenTypeNV;
17837
17838 typedef enum VkIndirectStateFlagBitsNV {
17839 VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV = 0x00000001,
17840 VK_INDIRECT_STATE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
17841 } VkIndirectStateFlagBitsNV;
17842 typedef VkFlags VkIndirectStateFlagsNV;
17843
17844 typedef enum VkIndirectCommandsLayoutUsageFlagBitsNV {
17845 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV = 0x00000001,
17846 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV = 0x00000002,
17847 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV = 0x00000004,
17848 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
17849 } VkIndirectCommandsLayoutUsageFlagBitsNV;
17850 typedef VkFlags VkIndirectCommandsLayoutUsageFlagsNV;
17851 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
17852 VkStructureType sType;
17853 void* pNext;
17854 uint32_t maxGraphicsShaderGroupCount;
17855 uint32_t maxIndirectSequenceCount;
17856 uint32_t maxIndirectCommandsTokenCount;
17857 uint32_t maxIndirectCommandsStreamCount;
17858 uint32_t maxIndirectCommandsTokenOffset;
17859 uint32_t maxIndirectCommandsStreamStride;
17860 uint32_t minSequencesCountBufferOffsetAlignment;
17861 uint32_t minSequencesIndexBufferOffsetAlignment;
17862 uint32_t minIndirectCommandsBufferOffsetAlignment;
17863 } VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV;
17864
17865 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
17866 VkStructureType sType;
17867 void* pNext;
17868 VkBool32 deviceGeneratedCommands;
17869 } VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV;
17870
17871 typedef struct VkGraphicsShaderGroupCreateInfoNV {
17872 VkStructureType sType;
17873 const void* pNext;
17874 uint32_t stageCount;
17875 const VkPipelineShaderStageCreateInfo* pStages;
17876 const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
17877 const VkPipelineTessellationStateCreateInfo* pTessellationState;
17878 } VkGraphicsShaderGroupCreateInfoNV;
17879
17880 typedef struct VkGraphicsPipelineShaderGroupsCreateInfoNV {
17881 VkStructureType sType;
17882 const void* pNext;
17883 uint32_t groupCount;
17884 const VkGraphicsShaderGroupCreateInfoNV* pGroups;
17885 uint32_t pipelineCount;
17886 const VkPipeline* pPipelines;
17887 } VkGraphicsPipelineShaderGroupsCreateInfoNV;
17888
17889 typedef struct VkBindShaderGroupIndirectCommandNV {
17890 uint32_t groupIndex;
17891 } VkBindShaderGroupIndirectCommandNV;
17892
17893 typedef struct VkBindIndexBufferIndirectCommandNV {
17894 VkDeviceAddress bufferAddress;
17895 uint32_t size;
17896 VkIndexType indexType;
17897 } VkBindIndexBufferIndirectCommandNV;
17898
17899 typedef struct VkBindVertexBufferIndirectCommandNV {
17900 VkDeviceAddress bufferAddress;
17901 uint32_t size;
17902 uint32_t stride;
17903 } VkBindVertexBufferIndirectCommandNV;
17904
17905 typedef struct VkSetStateFlagsIndirectCommandNV {
17906 uint32_t data;
17907 } VkSetStateFlagsIndirectCommandNV;
17908
17909 typedef struct VkIndirectCommandsStreamNV {
17910 VkBuffer buffer;
17911 VkDeviceSize offset;
17912 } VkIndirectCommandsStreamNV;
17913
17914 typedef struct VkIndirectCommandsLayoutTokenNV {
17915 VkStructureType sType;
17916 const void* pNext;
17917 VkIndirectCommandsTokenTypeNV tokenType;
17918 uint32_t stream;
17919 uint32_t offset;
17920 uint32_t vertexBindingUnit;
17921 VkBool32 vertexDynamicStride;
17922 VkPipelineLayout pushconstantPipelineLayout;
17923 VkShaderStageFlags pushconstantShaderStageFlags;
17924 uint32_t pushconstantOffset;
17925 uint32_t pushconstantSize;
17926 VkIndirectStateFlagsNV indirectStateFlags;
17927 uint32_t indexTypeCount;
17928 const VkIndexType* pIndexTypes;
17929 const uint32_t* pIndexTypeValues;
17930 } VkIndirectCommandsLayoutTokenNV;
17931
17932 typedef struct VkIndirectCommandsLayoutCreateInfoNV {
17933 VkStructureType sType;
17934 const void* pNext;
17935 VkIndirectCommandsLayoutUsageFlagsNV flags;
17936 VkPipelineBindPoint pipelineBindPoint;
17937 uint32_t tokenCount;
17938 const VkIndirectCommandsLayoutTokenNV* pTokens;
17939 uint32_t streamCount;
17940 const uint32_t* pStreamStrides;
17941 } VkIndirectCommandsLayoutCreateInfoNV;
17942
17943 typedef struct VkGeneratedCommandsInfoNV {
17944 VkStructureType sType;
17945 const void* pNext;
17946 VkPipelineBindPoint pipelineBindPoint;
17947 VkPipeline pipeline;
17948 VkIndirectCommandsLayoutNV indirectCommandsLayout;
17949 uint32_t streamCount;
17950 const VkIndirectCommandsStreamNV* pStreams;
17951 uint32_t sequencesCount;
17952 VkBuffer preprocessBuffer;
17953 VkDeviceSize preprocessOffset;
17954 VkDeviceSize preprocessSize;
17955 VkBuffer sequencesCountBuffer;
17956 VkDeviceSize sequencesCountOffset;
17957 VkBuffer sequencesIndexBuffer;
17958 VkDeviceSize sequencesIndexOffset;
17959 } VkGeneratedCommandsInfoNV;
17960
17961 typedef struct VkGeneratedCommandsMemoryRequirementsInfoNV {
17962 VkStructureType sType;
17963 const void* pNext;
17964 VkPipelineBindPoint pipelineBindPoint;
17965 VkPipeline pipeline;
17966 VkIndirectCommandsLayoutNV indirectCommandsLayout;
17967 uint32_t maxSequencesCount;
17968 } VkGeneratedCommandsMemoryRequirementsInfoNV;
17969
17970 typedef void (VKAPI_PTR *PFN_vkGetGeneratedCommandsMemoryRequirementsNV)(VkDevice device, const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2* pMemoryRequirements);
17971 typedef void (VKAPI_PTR *PFN_vkCmdPreprocessGeneratedCommandsNV)(VkCommandBuffer commandBuffer, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
17972 typedef void (VKAPI_PTR *PFN_vkCmdExecuteGeneratedCommandsNV)(VkCommandBuffer commandBuffer, VkBool32 isPreprocessed, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
17973 typedef void (VKAPI_PTR *PFN_vkCmdBindPipelineShaderGroupNV)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline, uint32_t groupIndex);
17974 typedef VkResult (VKAPI_PTR *PFN_vkCreateIndirectCommandsLayoutNV)(VkDevice device, const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNV* pIndirectCommandsLayout);
17975 typedef void (VKAPI_PTR *PFN_vkDestroyIndirectCommandsLayoutNV)(VkDevice device, VkIndirectCommandsLayoutNV indirectCommandsLayout, const VkAllocationCallbacks* pAllocator);
17976
17977 #ifndef VK_NO_PROTOTYPES
17978 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
17979 VKAPI_ATTR void VKAPI_CALL vkGetGeneratedCommandsMemoryRequirementsNV(
17980 VkDevice device,
17981 const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo,
17982 VkMemoryRequirements2* pMemoryRequirements);
17983 #endif
17984
17985 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
17986 VKAPI_ATTR void VKAPI_CALL vkCmdPreprocessGeneratedCommandsNV(
17987 VkCommandBuffer commandBuffer,
17988 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
17989 #endif
17990
17991 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
17992 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteGeneratedCommandsNV(
17993 VkCommandBuffer commandBuffer,
17994 VkBool32 isPreprocessed,
17995 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
17996 #endif
17997
17998 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
17999 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipelineShaderGroupNV(
18000 VkCommandBuffer commandBuffer,
18001 VkPipelineBindPoint pipelineBindPoint,
18002 VkPipeline pipeline,
18003 uint32_t groupIndex);
18004 #endif
18005
18006 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
18007 VKAPI_ATTR VkResult VKAPI_CALL vkCreateIndirectCommandsLayoutNV(
18008 VkDevice device,
18009 const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo,
18010 const VkAllocationCallbacks* pAllocator,
18011 VkIndirectCommandsLayoutNV* pIndirectCommandsLayout);
18012 #endif
18013
18014 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
18015 VKAPI_ATTR void VKAPI_CALL vkDestroyIndirectCommandsLayoutNV(
18016 VkDevice device,
18017 VkIndirectCommandsLayoutNV indirectCommandsLayout,
18018 const VkAllocationCallbacks* pAllocator);
18019 #endif
18020 #endif
18021
18022
18023 // VK_NV_inherited_viewport_scissor is a preprocessor guard. Do not pass it to API calls.
18024 #define VK_NV_inherited_viewport_scissor 1
18025 #define VK_NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION 1
18026 #define VK_NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME "VK_NV_inherited_viewport_scissor"
18027 typedef struct VkPhysicalDeviceInheritedViewportScissorFeaturesNV {
18028 VkStructureType sType;
18029 void* pNext;
18030 VkBool32 inheritedViewportScissor2D;
18031 } VkPhysicalDeviceInheritedViewportScissorFeaturesNV;
18032
18033 typedef struct VkCommandBufferInheritanceViewportScissorInfoNV {
18034 VkStructureType sType;
18035 const void* pNext;
18036 VkBool32 viewportScissor2D;
18037 uint32_t viewportDepthCount;
18038 const VkViewport* pViewportDepths;
18039 } VkCommandBufferInheritanceViewportScissorInfoNV;
18040
18041
18042
18043 // VK_EXT_texel_buffer_alignment is a preprocessor guard. Do not pass it to API calls.
18044 #define VK_EXT_texel_buffer_alignment 1
18045 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION 1
18046 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME "VK_EXT_texel_buffer_alignment"
18047 typedef struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT {
18048 VkStructureType sType;
18049 void* pNext;
18050 VkBool32 texelBufferAlignment;
18051 } VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT;
18052
18053 typedef VkPhysicalDeviceTexelBufferAlignmentProperties VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT;
18054
18055
18056
18057 // VK_QCOM_render_pass_transform is a preprocessor guard. Do not pass it to API calls.
18058 #define VK_QCOM_render_pass_transform 1
18059 #define VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION 5
18060 #define VK_QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME "VK_QCOM_render_pass_transform"
18061 typedef struct VkRenderPassTransformBeginInfoQCOM {
18062 VkStructureType sType;
18063 const void* pNext;
18064 VkSurfaceTransformFlagBitsKHR transform;
18065 } VkRenderPassTransformBeginInfoQCOM;
18066
18067 typedef struct VkCommandBufferInheritanceRenderPassTransformInfoQCOM {
18068 VkStructureType sType;
18069 const void* pNext;
18070 VkSurfaceTransformFlagBitsKHR transform;
18071 VkRect2D renderArea;
18072 } VkCommandBufferInheritanceRenderPassTransformInfoQCOM;
18073
18074
18075
18076 // VK_EXT_depth_bias_control is a preprocessor guard. Do not pass it to API calls.
18077 #define VK_EXT_depth_bias_control 1
18078 #define VK_EXT_DEPTH_BIAS_CONTROL_SPEC_VERSION 1
18079 #define VK_EXT_DEPTH_BIAS_CONTROL_EXTENSION_NAME "VK_EXT_depth_bias_control"
18080
18081 typedef enum VkDepthBiasRepresentationEXT {
18082 VK_DEPTH_BIAS_REPRESENTATION_LEAST_REPRESENTABLE_VALUE_FORMAT_EXT = 0,
18083 VK_DEPTH_BIAS_REPRESENTATION_LEAST_REPRESENTABLE_VALUE_FORCE_UNORM_EXT = 1,
18084 VK_DEPTH_BIAS_REPRESENTATION_FLOAT_EXT = 2,
18085 VK_DEPTH_BIAS_REPRESENTATION_MAX_ENUM_EXT = 0x7FFFFFFF
18086 } VkDepthBiasRepresentationEXT;
18087 typedef struct VkPhysicalDeviceDepthBiasControlFeaturesEXT {
18088 VkStructureType sType;
18089 void* pNext;
18090 VkBool32 depthBiasControl;
18091 VkBool32 leastRepresentableValueForceUnormRepresentation;
18092 VkBool32 floatRepresentation;
18093 VkBool32 depthBiasExact;
18094 } VkPhysicalDeviceDepthBiasControlFeaturesEXT;
18095
18096 typedef struct VkDepthBiasInfoEXT {
18097 VkStructureType sType;
18098 const void* pNext;
18099 float depthBiasConstantFactor;
18100 float depthBiasClamp;
18101 float depthBiasSlopeFactor;
18102 } VkDepthBiasInfoEXT;
18103
18104 typedef struct VkDepthBiasRepresentationInfoEXT {
18105 VkStructureType sType;
18106 const void* pNext;
18107 VkDepthBiasRepresentationEXT depthBiasRepresentation;
18108 VkBool32 depthBiasExact;
18109 } VkDepthBiasRepresentationInfoEXT;
18110
18111 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias2EXT)(VkCommandBuffer commandBuffer, const VkDepthBiasInfoEXT* pDepthBiasInfo);
18112
18113 #ifndef VK_NO_PROTOTYPES
18114 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
18115 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias2EXT(
18116 VkCommandBuffer commandBuffer,
18117 const VkDepthBiasInfoEXT* pDepthBiasInfo);
18118 #endif
18119 #endif
18120
18121
18122 // VK_EXT_device_memory_report is a preprocessor guard. Do not pass it to API calls.
18123 #define VK_EXT_device_memory_report 1
18124 #define VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION 2
18125 #define VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME "VK_EXT_device_memory_report"
18126
18127 typedef enum VkDeviceMemoryReportEventTypeEXT {
18128 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT = 0,
18129 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT = 1,
18130 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT = 2,
18131 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT = 3,
18132 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT = 4,
18133 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
18134 } VkDeviceMemoryReportEventTypeEXT;
18135 typedef VkFlags VkDeviceMemoryReportFlagsEXT;
18136 typedef struct VkPhysicalDeviceDeviceMemoryReportFeaturesEXT {
18137 VkStructureType sType;
18138 void* pNext;
18139 VkBool32 deviceMemoryReport;
18140 } VkPhysicalDeviceDeviceMemoryReportFeaturesEXT;
18141
18142 typedef struct VkDeviceMemoryReportCallbackDataEXT {
18143 VkStructureType sType;
18144 void* pNext;
18145 VkDeviceMemoryReportFlagsEXT flags;
18146 VkDeviceMemoryReportEventTypeEXT type;
18147 uint64_t memoryObjectId;
18148 VkDeviceSize size;
18149 VkObjectType objectType;
18150 uint64_t objectHandle;
18151 uint32_t heapIndex;
18152 } VkDeviceMemoryReportCallbackDataEXT;
18153
18154 typedef void (VKAPI_PTR *PFN_vkDeviceMemoryReportCallbackEXT)(
18155 const VkDeviceMemoryReportCallbackDataEXT* pCallbackData,
18156 void* pUserData);
18157
18158 typedef struct VkDeviceDeviceMemoryReportCreateInfoEXT {
18159 VkStructureType sType;
18160 const void* pNext;
18161 VkDeviceMemoryReportFlagsEXT flags;
18162 PFN_vkDeviceMemoryReportCallbackEXT pfnUserCallback;
18163 void* pUserData;
18164 } VkDeviceDeviceMemoryReportCreateInfoEXT;
18165
18166
18167
18168 // VK_EXT_acquire_drm_display is a preprocessor guard. Do not pass it to API calls.
18169 #define VK_EXT_acquire_drm_display 1
18170 #define VK_EXT_ACQUIRE_DRM_DISPLAY_SPEC_VERSION 1
18171 #define VK_EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME "VK_EXT_acquire_drm_display"
18172 typedef VkResult (VKAPI_PTR *PFN_vkAcquireDrmDisplayEXT)(VkPhysicalDevice physicalDevice, int32_t drmFd, VkDisplayKHR display);
18173 typedef VkResult (VKAPI_PTR *PFN_vkGetDrmDisplayEXT)(VkPhysicalDevice physicalDevice, int32_t drmFd, uint32_t connectorId, VkDisplayKHR* display);
18174
18175 #ifndef VK_NO_PROTOTYPES
18176 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
18177 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireDrmDisplayEXT(
18178 VkPhysicalDevice physicalDevice,
18179 int32_t drmFd,
18180 VkDisplayKHR display);
18181 #endif
18182
18183 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
18184 VKAPI_ATTR VkResult VKAPI_CALL vkGetDrmDisplayEXT(
18185 VkPhysicalDevice physicalDevice,
18186 int32_t drmFd,
18187 uint32_t connectorId,
18188 VkDisplayKHR* display);
18189 #endif
18190 #endif
18191
18192
18193 // VK_EXT_robustness2 is a preprocessor guard. Do not pass it to API calls.
18194 #define VK_EXT_robustness2 1
18195 #define VK_EXT_ROBUSTNESS_2_SPEC_VERSION 1
18196 #define VK_EXT_ROBUSTNESS_2_EXTENSION_NAME "VK_EXT_robustness2"
18197 typedef VkPhysicalDeviceRobustness2FeaturesKHR VkPhysicalDeviceRobustness2FeaturesEXT;
18198
18199 typedef VkPhysicalDeviceRobustness2PropertiesKHR VkPhysicalDeviceRobustness2PropertiesEXT;
18200
18201
18202
18203 // VK_EXT_custom_border_color is a preprocessor guard. Do not pass it to API calls.
18204 #define VK_EXT_custom_border_color 1
18205 #define VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION 12
18206 #define VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME "VK_EXT_custom_border_color"
18207 typedef struct VkSamplerCustomBorderColorCreateInfoEXT {
18208 VkStructureType sType;
18209 const void* pNext;
18210 VkClearColorValue customBorderColor;
18211 VkFormat format;
18212 } VkSamplerCustomBorderColorCreateInfoEXT;
18213
18214 typedef struct VkPhysicalDeviceCustomBorderColorPropertiesEXT {
18215 VkStructureType sType;
18216 void* pNext;
18217 uint32_t maxCustomBorderColorSamplers;
18218 } VkPhysicalDeviceCustomBorderColorPropertiesEXT;
18219
18220 typedef struct VkPhysicalDeviceCustomBorderColorFeaturesEXT {
18221 VkStructureType sType;
18222 void* pNext;
18223 VkBool32 customBorderColors;
18224 VkBool32 customBorderColorWithoutFormat;
18225 } VkPhysicalDeviceCustomBorderColorFeaturesEXT;
18226
18227
18228
18229 // VK_GOOGLE_user_type is a preprocessor guard. Do not pass it to API calls.
18230 #define VK_GOOGLE_user_type 1
18231 #define VK_GOOGLE_USER_TYPE_SPEC_VERSION 1
18232 #define VK_GOOGLE_USER_TYPE_EXTENSION_NAME "VK_GOOGLE_user_type"
18233
18234
18235 // VK_NV_present_barrier is a preprocessor guard. Do not pass it to API calls.
18236 #define VK_NV_present_barrier 1
18237 #define VK_NV_PRESENT_BARRIER_SPEC_VERSION 1
18238 #define VK_NV_PRESENT_BARRIER_EXTENSION_NAME "VK_NV_present_barrier"
18239 typedef struct VkPhysicalDevicePresentBarrierFeaturesNV {
18240 VkStructureType sType;
18241 void* pNext;
18242 VkBool32 presentBarrier;
18243 } VkPhysicalDevicePresentBarrierFeaturesNV;
18244
18245 typedef struct VkSurfaceCapabilitiesPresentBarrierNV {
18246 VkStructureType sType;
18247 void* pNext;
18248 VkBool32 presentBarrierSupported;
18249 } VkSurfaceCapabilitiesPresentBarrierNV;
18250
18251 typedef struct VkSwapchainPresentBarrierCreateInfoNV {
18252 VkStructureType sType;
18253 void* pNext;
18254 VkBool32 presentBarrierEnable;
18255 } VkSwapchainPresentBarrierCreateInfoNV;
18256
18257
18258
18259 // VK_EXT_private_data is a preprocessor guard. Do not pass it to API calls.
18260 #define VK_EXT_private_data 1
18261 typedef VkPrivateDataSlot VkPrivateDataSlotEXT;
18262
18263 #define VK_EXT_PRIVATE_DATA_SPEC_VERSION 1
18264 #define VK_EXT_PRIVATE_DATA_EXTENSION_NAME "VK_EXT_private_data"
18265 typedef VkPrivateDataSlotCreateFlags VkPrivateDataSlotCreateFlagsEXT;
18266
18267 typedef VkPhysicalDevicePrivateDataFeatures VkPhysicalDevicePrivateDataFeaturesEXT;
18268
18269 typedef VkDevicePrivateDataCreateInfo VkDevicePrivateDataCreateInfoEXT;
18270
18271 typedef VkPrivateDataSlotCreateInfo VkPrivateDataSlotCreateInfoEXT;
18272
18273 typedef VkResult (VKAPI_PTR *PFN_vkCreatePrivateDataSlotEXT)(VkDevice device, const VkPrivateDataSlotCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlot* pPrivateDataSlot);
18274 typedef void (VKAPI_PTR *PFN_vkDestroyPrivateDataSlotEXT)(VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks* pAllocator);
18275 typedef VkResult (VKAPI_PTR *PFN_vkSetPrivateDataEXT)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t data);
18276 typedef void (VKAPI_PTR *PFN_vkGetPrivateDataEXT)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t* pData);
18277
18278 #ifndef VK_NO_PROTOTYPES
18279 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
18280 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePrivateDataSlotEXT(
18281 VkDevice device,
18282 const VkPrivateDataSlotCreateInfo* pCreateInfo,
18283 const VkAllocationCallbacks* pAllocator,
18284 VkPrivateDataSlot* pPrivateDataSlot);
18285 #endif
18286
18287 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
18288 VKAPI_ATTR void VKAPI_CALL vkDestroyPrivateDataSlotEXT(
18289 VkDevice device,
18290 VkPrivateDataSlot privateDataSlot,
18291 const VkAllocationCallbacks* pAllocator);
18292 #endif
18293
18294 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
18295 VKAPI_ATTR VkResult VKAPI_CALL vkSetPrivateDataEXT(
18296 VkDevice device,
18297 VkObjectType objectType,
18298 uint64_t objectHandle,
18299 VkPrivateDataSlot privateDataSlot,
18300 uint64_t data);
18301 #endif
18302
18303 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
18304 VKAPI_ATTR void VKAPI_CALL vkGetPrivateDataEXT(
18305 VkDevice device,
18306 VkObjectType objectType,
18307 uint64_t objectHandle,
18308 VkPrivateDataSlot privateDataSlot,
18309 uint64_t* pData);
18310 #endif
18311 #endif
18312
18313
18314 // VK_EXT_pipeline_creation_cache_control is a preprocessor guard. Do not pass it to API calls.
18315 #define VK_EXT_pipeline_creation_cache_control 1
18316 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION 3
18317 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME "VK_EXT_pipeline_creation_cache_control"
18318 typedef VkPhysicalDevicePipelineCreationCacheControlFeatures VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT;
18319
18320
18321
18322 // VK_NV_device_diagnostics_config is a preprocessor guard. Do not pass it to API calls.
18323 #define VK_NV_device_diagnostics_config 1
18324 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION 2
18325 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME "VK_NV_device_diagnostics_config"
18326
18327 typedef enum VkDeviceDiagnosticsConfigFlagBitsNV {
18328 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV = 0x00000001,
18329 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV = 0x00000002,
18330 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV = 0x00000004,
18331 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_ERROR_REPORTING_BIT_NV = 0x00000008,
18332 VK_DEVICE_DIAGNOSTICS_CONFIG_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
18333 } VkDeviceDiagnosticsConfigFlagBitsNV;
18334 typedef VkFlags VkDeviceDiagnosticsConfigFlagsNV;
18335 typedef struct VkPhysicalDeviceDiagnosticsConfigFeaturesNV {
18336 VkStructureType sType;
18337 void* pNext;
18338 VkBool32 diagnosticsConfig;
18339 } VkPhysicalDeviceDiagnosticsConfigFeaturesNV;
18340
18341 typedef struct VkDeviceDiagnosticsConfigCreateInfoNV {
18342 VkStructureType sType;
18343 const void* pNext;
18344 VkDeviceDiagnosticsConfigFlagsNV flags;
18345 } VkDeviceDiagnosticsConfigCreateInfoNV;
18346
18347
18348
18349 // VK_QCOM_render_pass_store_ops is a preprocessor guard. Do not pass it to API calls.
18350 #define VK_QCOM_render_pass_store_ops 1
18351 #define VK_QCOM_RENDER_PASS_STORE_OPS_SPEC_VERSION 2
18352 #define VK_QCOM_RENDER_PASS_STORE_OPS_EXTENSION_NAME "VK_QCOM_render_pass_store_ops"
18353
18354
18355 // VK_QCOM_tile_shading is a preprocessor guard. Do not pass it to API calls.
18356 #define VK_QCOM_tile_shading 1
18357 #define VK_QCOM_TILE_SHADING_SPEC_VERSION 2
18358 #define VK_QCOM_TILE_SHADING_EXTENSION_NAME "VK_QCOM_tile_shading"
18359
18360 typedef enum VkTileShadingRenderPassFlagBitsQCOM {
18361 VK_TILE_SHADING_RENDER_PASS_ENABLE_BIT_QCOM = 0x00000001,
18362 VK_TILE_SHADING_RENDER_PASS_PER_TILE_EXECUTION_BIT_QCOM = 0x00000002,
18363 VK_TILE_SHADING_RENDER_PASS_FLAG_BITS_MAX_ENUM_QCOM = 0x7FFFFFFF
18364 } VkTileShadingRenderPassFlagBitsQCOM;
18365 typedef VkFlags VkTileShadingRenderPassFlagsQCOM;
18366 typedef struct VkPhysicalDeviceTileShadingFeaturesQCOM {
18367 VkStructureType sType;
18368 void* pNext;
18369 VkBool32 tileShading;
18370 VkBool32 tileShadingFragmentStage;
18371 VkBool32 tileShadingColorAttachments;
18372 VkBool32 tileShadingDepthAttachments;
18373 VkBool32 tileShadingStencilAttachments;
18374 VkBool32 tileShadingInputAttachments;
18375 VkBool32 tileShadingSampledAttachments;
18376 VkBool32 tileShadingPerTileDraw;
18377 VkBool32 tileShadingPerTileDispatch;
18378 VkBool32 tileShadingDispatchTile;
18379 VkBool32 tileShadingApron;
18380 VkBool32 tileShadingAnisotropicApron;
18381 VkBool32 tileShadingAtomicOps;
18382 VkBool32 tileShadingImageProcessing;
18383 } VkPhysicalDeviceTileShadingFeaturesQCOM;
18384
18385 typedef struct VkPhysicalDeviceTileShadingPropertiesQCOM {
18386 VkStructureType sType;
18387 void* pNext;
18388 uint32_t maxApronSize;
18389 VkBool32 preferNonCoherent;
18390 VkExtent2D tileGranularity;
18391 VkExtent2D maxTileShadingRate;
18392 } VkPhysicalDeviceTileShadingPropertiesQCOM;
18393
18394 typedef struct VkRenderPassTileShadingCreateInfoQCOM {
18395 VkStructureType sType;
18396 const void* pNext;
18397 VkTileShadingRenderPassFlagsQCOM flags;
18398 VkExtent2D tileApronSize;
18399 } VkRenderPassTileShadingCreateInfoQCOM;
18400
18401 typedef struct VkPerTileBeginInfoQCOM {
18402 VkStructureType sType;
18403 const void* pNext;
18404 } VkPerTileBeginInfoQCOM;
18405
18406 typedef struct VkPerTileEndInfoQCOM {
18407 VkStructureType sType;
18408 const void* pNext;
18409 } VkPerTileEndInfoQCOM;
18410
18411 typedef struct VkDispatchTileInfoQCOM {
18412 VkStructureType sType;
18413 const void* pNext;
18414 } VkDispatchTileInfoQCOM;
18415
18416 typedef void (VKAPI_PTR *PFN_vkCmdDispatchTileQCOM)(VkCommandBuffer commandBuffer, const VkDispatchTileInfoQCOM* pDispatchTileInfo);
18417 typedef void (VKAPI_PTR *PFN_vkCmdBeginPerTileExecutionQCOM)(VkCommandBuffer commandBuffer, const VkPerTileBeginInfoQCOM* pPerTileBeginInfo);
18418 typedef void (VKAPI_PTR *PFN_vkCmdEndPerTileExecutionQCOM)(VkCommandBuffer commandBuffer, const VkPerTileEndInfoQCOM* pPerTileEndInfo);
18419
18420 #ifndef VK_NO_PROTOTYPES
18421 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
18422 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchTileQCOM(
18423 VkCommandBuffer commandBuffer,
18424 const VkDispatchTileInfoQCOM* pDispatchTileInfo);
18425 #endif
18426
18427 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
18428 VKAPI_ATTR void VKAPI_CALL vkCmdBeginPerTileExecutionQCOM(
18429 VkCommandBuffer commandBuffer,
18430 const VkPerTileBeginInfoQCOM* pPerTileBeginInfo);
18431 #endif
18432
18433 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
18434 VKAPI_ATTR void VKAPI_CALL vkCmdEndPerTileExecutionQCOM(
18435 VkCommandBuffer commandBuffer,
18436 const VkPerTileEndInfoQCOM* pPerTileEndInfo);
18437 #endif
18438 #endif
18439
18440
18441 // VK_NV_low_latency is a preprocessor guard. Do not pass it to API calls.
18442 #define VK_NV_low_latency 1
18443 #define VK_NV_LOW_LATENCY_SPEC_VERSION 1
18444 #define VK_NV_LOW_LATENCY_EXTENSION_NAME "VK_NV_low_latency"
18445 typedef struct VkQueryLowLatencySupportNV {
18446 VkStructureType sType;
18447 const void* pNext;
18448 void* pQueriedLowLatencyData;
18449 } VkQueryLowLatencySupportNV;
18450
18451
18452
18453 // VK_EXT_descriptor_buffer is a preprocessor guard. Do not pass it to API calls.
18454 #define VK_EXT_descriptor_buffer 1
18455 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR)
18456 #define VK_EXT_DESCRIPTOR_BUFFER_SPEC_VERSION 1
18457 #define VK_EXT_DESCRIPTOR_BUFFER_EXTENSION_NAME "VK_EXT_descriptor_buffer"
18458 typedef struct VkPhysicalDeviceDescriptorBufferPropertiesEXT {
18459 VkStructureType sType;
18460 void* pNext;
18461 VkBool32 combinedImageSamplerDescriptorSingleArray;
18462 VkBool32 bufferlessPushDescriptors;
18463 VkBool32 allowSamplerImageViewPostSubmitCreation;
18464 VkDeviceSize descriptorBufferOffsetAlignment;
18465 uint32_t maxDescriptorBufferBindings;
18466 uint32_t maxResourceDescriptorBufferBindings;
18467 uint32_t maxSamplerDescriptorBufferBindings;
18468 uint32_t maxEmbeddedImmutableSamplerBindings;
18469 uint32_t maxEmbeddedImmutableSamplers;
18470 size_t bufferCaptureReplayDescriptorDataSize;
18471 size_t imageCaptureReplayDescriptorDataSize;
18472 size_t imageViewCaptureReplayDescriptorDataSize;
18473 size_t samplerCaptureReplayDescriptorDataSize;
18474 size_t accelerationStructureCaptureReplayDescriptorDataSize;
18475 size_t samplerDescriptorSize;
18476 size_t combinedImageSamplerDescriptorSize;
18477 size_t sampledImageDescriptorSize;
18478 size_t storageImageDescriptorSize;
18479 size_t uniformTexelBufferDescriptorSize;
18480 size_t robustUniformTexelBufferDescriptorSize;
18481 size_t storageTexelBufferDescriptorSize;
18482 size_t robustStorageTexelBufferDescriptorSize;
18483 size_t uniformBufferDescriptorSize;
18484 size_t robustUniformBufferDescriptorSize;
18485 size_t storageBufferDescriptorSize;
18486 size_t robustStorageBufferDescriptorSize;
18487 size_t inputAttachmentDescriptorSize;
18488 size_t accelerationStructureDescriptorSize;
18489 VkDeviceSize maxSamplerDescriptorBufferRange;
18490 VkDeviceSize maxResourceDescriptorBufferRange;
18491 VkDeviceSize samplerDescriptorBufferAddressSpaceSize;
18492 VkDeviceSize resourceDescriptorBufferAddressSpaceSize;
18493 VkDeviceSize descriptorBufferAddressSpaceSize;
18494 } VkPhysicalDeviceDescriptorBufferPropertiesEXT;
18495
18496 typedef struct VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT {
18497 VkStructureType sType;
18498 void* pNext;
18499 size_t combinedImageSamplerDensityMapDescriptorSize;
18500 } VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT;
18501
18502 typedef struct VkPhysicalDeviceDescriptorBufferFeaturesEXT {
18503 VkStructureType sType;
18504 void* pNext;
18505 VkBool32 descriptorBuffer;
18506 VkBool32 descriptorBufferCaptureReplay;
18507 VkBool32 descriptorBufferImageLayoutIgnored;
18508 VkBool32 descriptorBufferPushDescriptors;
18509 } VkPhysicalDeviceDescriptorBufferFeaturesEXT;
18510
18511 typedef struct VkDescriptorAddressInfoEXT {
18512 VkStructureType sType;
18513 void* pNext;
18514 VkDeviceAddress address;
18515 VkDeviceSize range;
18516 VkFormat format;
18517 } VkDescriptorAddressInfoEXT;
18518
18519 typedef struct VkDescriptorBufferBindingInfoEXT {
18520 VkStructureType sType;
18521 const void* pNext;
18522 VkDeviceAddress address;
18523 VkBufferUsageFlags usage;
18524 } VkDescriptorBufferBindingInfoEXT;
18525
18526 typedef struct VkDescriptorBufferBindingPushDescriptorBufferHandleEXT {
18527 VkStructureType sType;
18528 const void* pNext;
18529 VkBuffer buffer;
18530 } VkDescriptorBufferBindingPushDescriptorBufferHandleEXT;
18531
18532 typedef union VkDescriptorDataEXT {
18533 const VkSampler* pSampler;
18534 const VkDescriptorImageInfo* pCombinedImageSampler;
18535 const VkDescriptorImageInfo* pInputAttachmentImage;
18536 const VkDescriptorImageInfo* pSampledImage;
18537 const VkDescriptorImageInfo* pStorageImage;
18538 const VkDescriptorAddressInfoEXT* pUniformTexelBuffer;
18539 const VkDescriptorAddressInfoEXT* pStorageTexelBuffer;
18540 const VkDescriptorAddressInfoEXT* pUniformBuffer;
18541 const VkDescriptorAddressInfoEXT* pStorageBuffer;
18542 VkDeviceAddress accelerationStructure;
18543 } VkDescriptorDataEXT;
18544
18545 typedef struct VkDescriptorGetInfoEXT {
18546 VkStructureType sType;
18547 const void* pNext;
18548 VkDescriptorType type;
18549 VkDescriptorDataEXT data;
18550 } VkDescriptorGetInfoEXT;
18551
18552 typedef struct VkBufferCaptureDescriptorDataInfoEXT {
18553 VkStructureType sType;
18554 const void* pNext;
18555 VkBuffer buffer;
18556 } VkBufferCaptureDescriptorDataInfoEXT;
18557
18558 typedef struct VkImageCaptureDescriptorDataInfoEXT {
18559 VkStructureType sType;
18560 const void* pNext;
18561 VkImage image;
18562 } VkImageCaptureDescriptorDataInfoEXT;
18563
18564 typedef struct VkImageViewCaptureDescriptorDataInfoEXT {
18565 VkStructureType sType;
18566 const void* pNext;
18567 VkImageView imageView;
18568 } VkImageViewCaptureDescriptorDataInfoEXT;
18569
18570 typedef struct VkSamplerCaptureDescriptorDataInfoEXT {
18571 VkStructureType sType;
18572 const void* pNext;
18573 VkSampler sampler;
18574 } VkSamplerCaptureDescriptorDataInfoEXT;
18575
18576 typedef struct VkOpaqueCaptureDescriptorDataCreateInfoEXT {
18577 VkStructureType sType;
18578 const void* pNext;
18579 const void* opaqueCaptureDescriptorData;
18580 } VkOpaqueCaptureDescriptorDataCreateInfoEXT;
18581
18582 typedef struct VkAccelerationStructureCaptureDescriptorDataInfoEXT {
18583 VkStructureType sType;
18584 const void* pNext;
18585 VkAccelerationStructureKHR accelerationStructure;
18586 VkAccelerationStructureNV accelerationStructureNV;
18587 } VkAccelerationStructureCaptureDescriptorDataInfoEXT;
18588
18589 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSizeEXT)(VkDevice device, VkDescriptorSetLayout layout, VkDeviceSize* pLayoutSizeInBytes);
18590 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutBindingOffsetEXT)(VkDevice device, VkDescriptorSetLayout layout, uint32_t binding, VkDeviceSize* pOffset);
18591 typedef void (VKAPI_PTR *PFN_vkGetDescriptorEXT)(VkDevice device, const VkDescriptorGetInfoEXT* pDescriptorInfo, size_t dataSize, void* pDescriptor);
18592 typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorBuffersEXT)(VkCommandBuffer commandBuffer, uint32_t bufferCount, const VkDescriptorBufferBindingInfoEXT* pBindingInfos);
18593 typedef void (VKAPI_PTR *PFN_vkCmdSetDescriptorBufferOffsetsEXT)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t setCount, const uint32_t* pBufferIndices, const VkDeviceSize* pOffsets);
18594 typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set);
18595 typedef VkResult (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkBufferCaptureDescriptorDataInfoEXT* pInfo, void* pData);
18596 typedef VkResult (VKAPI_PTR *PFN_vkGetImageOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkImageCaptureDescriptorDataInfoEXT* pInfo, void* pData);
18597 typedef VkResult (VKAPI_PTR *PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkImageViewCaptureDescriptorDataInfoEXT* pInfo, void* pData);
18598 typedef VkResult (VKAPI_PTR *PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkSamplerCaptureDescriptorDataInfoEXT* pInfo, void* pData);
18599 typedef VkResult (VKAPI_PTR *PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkAccelerationStructureCaptureDescriptorDataInfoEXT* pInfo, void* pData);
18600
18601 #ifndef VK_NO_PROTOTYPES
18602 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
18603 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSizeEXT(
18604 VkDevice device,
18605 VkDescriptorSetLayout layout,
18606 VkDeviceSize* pLayoutSizeInBytes);
18607 #endif
18608
18609 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
18610 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutBindingOffsetEXT(
18611 VkDevice device,
18612 VkDescriptorSetLayout layout,
18613 uint32_t binding,
18614 VkDeviceSize* pOffset);
18615 #endif
18616
18617 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
18618 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorEXT(
18619 VkDevice device,
18620 const VkDescriptorGetInfoEXT* pDescriptorInfo,
18621 size_t dataSize,
18622 void* pDescriptor);
18623 #endif
18624
18625 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
18626 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorBuffersEXT(
18627 VkCommandBuffer commandBuffer,
18628 uint32_t bufferCount,
18629 const VkDescriptorBufferBindingInfoEXT* pBindingInfos);
18630 #endif
18631
18632 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
18633 VKAPI_ATTR void VKAPI_CALL vkCmdSetDescriptorBufferOffsetsEXT(
18634 VkCommandBuffer commandBuffer,
18635 VkPipelineBindPoint pipelineBindPoint,
18636 VkPipelineLayout layout,
18637 uint32_t firstSet,
18638 uint32_t setCount,
18639 const uint32_t* pBufferIndices,
18640 const VkDeviceSize* pOffsets);
18641 #endif
18642
18643 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
18644 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorBufferEmbeddedSamplersEXT(
18645 VkCommandBuffer commandBuffer,
18646 VkPipelineBindPoint pipelineBindPoint,
18647 VkPipelineLayout layout,
18648 uint32_t set);
18649 #endif
18650
18651 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
18652 VKAPI_ATTR VkResult VKAPI_CALL vkGetBufferOpaqueCaptureDescriptorDataEXT(
18653 VkDevice device,
18654 const VkBufferCaptureDescriptorDataInfoEXT* pInfo,
18655 void* pData);
18656 #endif
18657
18658 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
18659 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageOpaqueCaptureDescriptorDataEXT(
18660 VkDevice device,
18661 const VkImageCaptureDescriptorDataInfoEXT* pInfo,
18662 void* pData);
18663 #endif
18664
18665 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
18666 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageViewOpaqueCaptureDescriptorDataEXT(
18667 VkDevice device,
18668 const VkImageViewCaptureDescriptorDataInfoEXT* pInfo,
18669 void* pData);
18670 #endif
18671
18672 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
18673 VKAPI_ATTR VkResult VKAPI_CALL vkGetSamplerOpaqueCaptureDescriptorDataEXT(
18674 VkDevice device,
18675 const VkSamplerCaptureDescriptorDataInfoEXT* pInfo,
18676 void* pData);
18677 #endif
18678
18679 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
18680 VKAPI_ATTR VkResult VKAPI_CALL vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT(
18681 VkDevice device,
18682 const VkAccelerationStructureCaptureDescriptorDataInfoEXT* pInfo,
18683 void* pData);
18684 #endif
18685 #endif
18686
18687
18688 // VK_EXT_graphics_pipeline_library is a preprocessor guard. Do not pass it to API calls.
18689 #define VK_EXT_graphics_pipeline_library 1
18690 #define VK_EXT_GRAPHICS_PIPELINE_LIBRARY_SPEC_VERSION 1
18691 #define VK_EXT_GRAPHICS_PIPELINE_LIBRARY_EXTENSION_NAME "VK_EXT_graphics_pipeline_library"
18692
18693 typedef enum VkGraphicsPipelineLibraryFlagBitsEXT {
18694 VK_GRAPHICS_PIPELINE_LIBRARY_VERTEX_INPUT_INTERFACE_BIT_EXT = 0x00000001,
18695 VK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT = 0x00000002,
18696 VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT = 0x00000004,
18697 VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT = 0x00000008,
18698 VK_GRAPHICS_PIPELINE_LIBRARY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
18699 } VkGraphicsPipelineLibraryFlagBitsEXT;
18700 typedef VkFlags VkGraphicsPipelineLibraryFlagsEXT;
18701 typedef struct VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT {
18702 VkStructureType sType;
18703 void* pNext;
18704 VkBool32 graphicsPipelineLibrary;
18705 } VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT;
18706
18707 typedef struct VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT {
18708 VkStructureType sType;
18709 void* pNext;
18710 VkBool32 graphicsPipelineLibraryFastLinking;
18711 VkBool32 graphicsPipelineLibraryIndependentInterpolationDecoration;
18712 } VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT;
18713
18714 typedef struct VkGraphicsPipelineLibraryCreateInfoEXT {
18715 VkStructureType sType;
18716 const void* pNext;
18717 VkGraphicsPipelineLibraryFlagsEXT flags;
18718 } VkGraphicsPipelineLibraryCreateInfoEXT;
18719
18720
18721
18722 // VK_AMD_shader_early_and_late_fragment_tests is a preprocessor guard. Do not pass it to API calls.
18723 #define VK_AMD_shader_early_and_late_fragment_tests 1
18724 #define VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_SPEC_VERSION 1
18725 #define VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_EXTENSION_NAME "VK_AMD_shader_early_and_late_fragment_tests"
18726 typedef struct VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD {
18727 VkStructureType sType;
18728 void* pNext;
18729 VkBool32 shaderEarlyAndLateFragmentTests;
18730 } VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD;
18731
18732
18733
18734 // VK_NV_fragment_shading_rate_enums is a preprocessor guard. Do not pass it to API calls.
18735 #define VK_NV_fragment_shading_rate_enums 1
18736 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION 1
18737 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME "VK_NV_fragment_shading_rate_enums"
18738
18739 typedef enum VkFragmentShadingRateTypeNV {
18740 VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV = 0,
18741 VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV = 1,
18742 VK_FRAGMENT_SHADING_RATE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
18743 } VkFragmentShadingRateTypeNV;
18744
18745 typedef enum VkFragmentShadingRateNV {
18746 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV = 0,
18747 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV = 1,
18748 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV = 4,
18749 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV = 5,
18750 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV = 6,
18751 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV = 9,
18752 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV = 10,
18753 VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV = 11,
18754 VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV = 12,
18755 VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV = 13,
18756 VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV = 14,
18757 VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV = 15,
18758 VK_FRAGMENT_SHADING_RATE_MAX_ENUM_NV = 0x7FFFFFFF
18759 } VkFragmentShadingRateNV;
18760 typedef struct VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV {
18761 VkStructureType sType;
18762 void* pNext;
18763 VkBool32 fragmentShadingRateEnums;
18764 VkBool32 supersampleFragmentShadingRates;
18765 VkBool32 noInvocationFragmentShadingRates;
18766 } VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV;
18767
18768 typedef struct VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV {
18769 VkStructureType sType;
18770 void* pNext;
18771 VkSampleCountFlagBits maxFragmentShadingRateInvocationCount;
18772 } VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV;
18773
18774 typedef struct VkPipelineFragmentShadingRateEnumStateCreateInfoNV {
18775 VkStructureType sType;
18776 const void* pNext;
18777 VkFragmentShadingRateTypeNV shadingRateType;
18778 VkFragmentShadingRateNV shadingRate;
18779 VkFragmentShadingRateCombinerOpKHR combinerOps[2];
18780 } VkPipelineFragmentShadingRateEnumStateCreateInfoNV;
18781
18782 typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateEnumNV)(VkCommandBuffer commandBuffer, VkFragmentShadingRateNV shadingRate, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
18783
18784 #ifndef VK_NO_PROTOTYPES
18785 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
18786 VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateEnumNV(
18787 VkCommandBuffer commandBuffer,
18788 VkFragmentShadingRateNV shadingRate,
18789 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
18790 #endif
18791 #endif
18792
18793
18794 // VK_NV_ray_tracing_motion_blur is a preprocessor guard. Do not pass it to API calls.
18795 #define VK_NV_ray_tracing_motion_blur 1
18796 #define VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION 1
18797 #define VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME "VK_NV_ray_tracing_motion_blur"
18798
18799 typedef enum VkAccelerationStructureMotionInstanceTypeNV {
18800 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_STATIC_NV = 0,
18801 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MATRIX_MOTION_NV = 1,
18802 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_SRT_MOTION_NV = 2,
18803 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
18804 } VkAccelerationStructureMotionInstanceTypeNV;
18805 typedef VkFlags VkAccelerationStructureMotionInfoFlagsNV;
18806 typedef VkFlags VkAccelerationStructureMotionInstanceFlagsNV;
18807 typedef union VkDeviceOrHostAddressConstKHR {
18808 VkDeviceAddress deviceAddress;
18809 const void* hostAddress;
18810 } VkDeviceOrHostAddressConstKHR;
18811
18812 typedef struct VkAccelerationStructureGeometryMotionTrianglesDataNV {
18813 VkStructureType sType;
18814 const void* pNext;
18815 VkDeviceOrHostAddressConstKHR vertexData;
18816 } VkAccelerationStructureGeometryMotionTrianglesDataNV;
18817
18818 typedef struct VkAccelerationStructureMotionInfoNV {
18819 VkStructureType sType;
18820 const void* pNext;
18821 uint32_t maxInstances;
18822 VkAccelerationStructureMotionInfoFlagsNV flags;
18823 } VkAccelerationStructureMotionInfoNV;
18824
18825 typedef struct VkAccelerationStructureMatrixMotionInstanceNV {
18826 VkTransformMatrixKHR transformT0;
18827 VkTransformMatrixKHR transformT1;
18828 uint32_t instanceCustomIndex:24;
18829 uint32_t mask:8;
18830 uint32_t instanceShaderBindingTableRecordOffset:24;
18831 VkGeometryInstanceFlagsKHR flags:8;
18832 uint64_t accelerationStructureReference;
18833 } VkAccelerationStructureMatrixMotionInstanceNV;
18834
18835 typedef struct VkSRTDataNV {
18836 float sx;
18837 float a;
18838 float b;
18839 float pvx;
18840 float sy;
18841 float c;
18842 float pvy;
18843 float sz;
18844 float pvz;
18845 float qx;
18846 float qy;
18847 float qz;
18848 float qw;
18849 float tx;
18850 float ty;
18851 float tz;
18852 } VkSRTDataNV;
18853
18854 typedef struct VkAccelerationStructureSRTMotionInstanceNV {
18855 VkSRTDataNV transformT0;
18856 VkSRTDataNV transformT1;
18857 uint32_t instanceCustomIndex:24;
18858 uint32_t mask:8;
18859 uint32_t instanceShaderBindingTableRecordOffset:24;
18860 VkGeometryInstanceFlagsKHR flags:8;
18861 uint64_t accelerationStructureReference;
18862 } VkAccelerationStructureSRTMotionInstanceNV;
18863
18864 typedef union VkAccelerationStructureMotionInstanceDataNV {
18865 VkAccelerationStructureInstanceKHR staticInstance;
18866 VkAccelerationStructureMatrixMotionInstanceNV matrixMotionInstance;
18867 VkAccelerationStructureSRTMotionInstanceNV srtMotionInstance;
18868 } VkAccelerationStructureMotionInstanceDataNV;
18869
18870 typedef struct VkAccelerationStructureMotionInstanceNV {
18871 VkAccelerationStructureMotionInstanceTypeNV type;
18872 VkAccelerationStructureMotionInstanceFlagsNV flags;
18873 VkAccelerationStructureMotionInstanceDataNV data;
18874 } VkAccelerationStructureMotionInstanceNV;
18875
18876 typedef struct VkPhysicalDeviceRayTracingMotionBlurFeaturesNV {
18877 VkStructureType sType;
18878 void* pNext;
18879 VkBool32 rayTracingMotionBlur;
18880 VkBool32 rayTracingMotionBlurPipelineTraceRaysIndirect;
18881 } VkPhysicalDeviceRayTracingMotionBlurFeaturesNV;
18882
18883
18884
18885 // VK_EXT_ycbcr_2plane_444_formats is a preprocessor guard. Do not pass it to API calls.
18886 #define VK_EXT_ycbcr_2plane_444_formats 1
18887 #define VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION 1
18888 #define VK_EXT_YCBCR_2PLANE_444_FORMATS_EXTENSION_NAME "VK_EXT_ycbcr_2plane_444_formats"
18889 typedef struct VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT {
18890 VkStructureType sType;
18891 void* pNext;
18892 VkBool32 ycbcr2plane444Formats;
18893 } VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT;
18894
18895
18896
18897 // VK_EXT_fragment_density_map2 is a preprocessor guard. Do not pass it to API calls.
18898 #define VK_EXT_fragment_density_map2 1
18899 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION 1
18900 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME "VK_EXT_fragment_density_map2"
18901 typedef struct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT {
18902 VkStructureType sType;
18903 void* pNext;
18904 VkBool32 fragmentDensityMapDeferred;
18905 } VkPhysicalDeviceFragmentDensityMap2FeaturesEXT;
18906
18907 typedef struct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT {
18908 VkStructureType sType;
18909 void* pNext;
18910 VkBool32 subsampledLoads;
18911 VkBool32 subsampledCoarseReconstructionEarlyAccess;
18912 uint32_t maxSubsampledArrayLayers;
18913 uint32_t maxDescriptorSetSubsampledSamplers;
18914 } VkPhysicalDeviceFragmentDensityMap2PropertiesEXT;
18915
18916
18917
18918 // VK_QCOM_rotated_copy_commands is a preprocessor guard. Do not pass it to API calls.
18919 #define VK_QCOM_rotated_copy_commands 1
18920 #define VK_QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION 2
18921 #define VK_QCOM_ROTATED_COPY_COMMANDS_EXTENSION_NAME "VK_QCOM_rotated_copy_commands"
18922 typedef struct VkCopyCommandTransformInfoQCOM {
18923 VkStructureType sType;
18924 const void* pNext;
18925 VkSurfaceTransformFlagBitsKHR transform;
18926 } VkCopyCommandTransformInfoQCOM;
18927
18928
18929
18930 // VK_EXT_image_robustness is a preprocessor guard. Do not pass it to API calls.
18931 #define VK_EXT_image_robustness 1
18932 #define VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION 1
18933 #define VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_image_robustness"
18934 typedef VkPhysicalDeviceImageRobustnessFeatures VkPhysicalDeviceImageRobustnessFeaturesEXT;
18935
18936
18937
18938 // VK_EXT_image_compression_control is a preprocessor guard. Do not pass it to API calls.
18939 #define VK_EXT_image_compression_control 1
18940 #define VK_EXT_IMAGE_COMPRESSION_CONTROL_SPEC_VERSION 1
18941 #define VK_EXT_IMAGE_COMPRESSION_CONTROL_EXTENSION_NAME "VK_EXT_image_compression_control"
18942
18943 typedef enum VkImageCompressionFlagBitsEXT {
18944 VK_IMAGE_COMPRESSION_DEFAULT_EXT = 0,
18945 VK_IMAGE_COMPRESSION_FIXED_RATE_DEFAULT_EXT = 0x00000001,
18946 VK_IMAGE_COMPRESSION_FIXED_RATE_EXPLICIT_EXT = 0x00000002,
18947 VK_IMAGE_COMPRESSION_DISABLED_EXT = 0x00000004,
18948 VK_IMAGE_COMPRESSION_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
18949 } VkImageCompressionFlagBitsEXT;
18950 typedef VkFlags VkImageCompressionFlagsEXT;
18951
18952 typedef enum VkImageCompressionFixedRateFlagBitsEXT {
18953 VK_IMAGE_COMPRESSION_FIXED_RATE_NONE_EXT = 0,
18954 VK_IMAGE_COMPRESSION_FIXED_RATE_1BPC_BIT_EXT = 0x00000001,
18955 VK_IMAGE_COMPRESSION_FIXED_RATE_2BPC_BIT_EXT = 0x00000002,
18956 VK_IMAGE_COMPRESSION_FIXED_RATE_3BPC_BIT_EXT = 0x00000004,
18957 VK_IMAGE_COMPRESSION_FIXED_RATE_4BPC_BIT_EXT = 0x00000008,
18958 VK_IMAGE_COMPRESSION_FIXED_RATE_5BPC_BIT_EXT = 0x00000010,
18959 VK_IMAGE_COMPRESSION_FIXED_RATE_6BPC_BIT_EXT = 0x00000020,
18960 VK_IMAGE_COMPRESSION_FIXED_RATE_7BPC_BIT_EXT = 0x00000040,
18961 VK_IMAGE_COMPRESSION_FIXED_RATE_8BPC_BIT_EXT = 0x00000080,
18962 VK_IMAGE_COMPRESSION_FIXED_RATE_9BPC_BIT_EXT = 0x00000100,
18963 VK_IMAGE_COMPRESSION_FIXED_RATE_10BPC_BIT_EXT = 0x00000200,
18964 VK_IMAGE_COMPRESSION_FIXED_RATE_11BPC_BIT_EXT = 0x00000400,
18965 VK_IMAGE_COMPRESSION_FIXED_RATE_12BPC_BIT_EXT = 0x00000800,
18966 VK_IMAGE_COMPRESSION_FIXED_RATE_13BPC_BIT_EXT = 0x00001000,
18967 VK_IMAGE_COMPRESSION_FIXED_RATE_14BPC_BIT_EXT = 0x00002000,
18968 VK_IMAGE_COMPRESSION_FIXED_RATE_15BPC_BIT_EXT = 0x00004000,
18969 VK_IMAGE_COMPRESSION_FIXED_RATE_16BPC_BIT_EXT = 0x00008000,
18970 VK_IMAGE_COMPRESSION_FIXED_RATE_17BPC_BIT_EXT = 0x00010000,
18971 VK_IMAGE_COMPRESSION_FIXED_RATE_18BPC_BIT_EXT = 0x00020000,
18972 VK_IMAGE_COMPRESSION_FIXED_RATE_19BPC_BIT_EXT = 0x00040000,
18973 VK_IMAGE_COMPRESSION_FIXED_RATE_20BPC_BIT_EXT = 0x00080000,
18974 VK_IMAGE_COMPRESSION_FIXED_RATE_21BPC_BIT_EXT = 0x00100000,
18975 VK_IMAGE_COMPRESSION_FIXED_RATE_22BPC_BIT_EXT = 0x00200000,
18976 VK_IMAGE_COMPRESSION_FIXED_RATE_23BPC_BIT_EXT = 0x00400000,
18977 VK_IMAGE_COMPRESSION_FIXED_RATE_24BPC_BIT_EXT = 0x00800000,
18978 VK_IMAGE_COMPRESSION_FIXED_RATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
18979 } VkImageCompressionFixedRateFlagBitsEXT;
18980 typedef VkFlags VkImageCompressionFixedRateFlagsEXT;
18981 typedef struct VkPhysicalDeviceImageCompressionControlFeaturesEXT {
18982 VkStructureType sType;
18983 void* pNext;
18984 VkBool32 imageCompressionControl;
18985 } VkPhysicalDeviceImageCompressionControlFeaturesEXT;
18986
18987 typedef struct VkImageCompressionControlEXT {
18988 VkStructureType sType;
18989 const void* pNext;
18990 VkImageCompressionFlagsEXT flags;
18991 uint32_t compressionControlPlaneCount;
18992 VkImageCompressionFixedRateFlagsEXT* pFixedRateFlags;
18993 } VkImageCompressionControlEXT;
18994
18995 typedef struct VkImageCompressionPropertiesEXT {
18996 VkStructureType sType;
18997 void* pNext;
18998 VkImageCompressionFlagsEXT imageCompressionFlags;
18999 VkImageCompressionFixedRateFlagsEXT imageCompressionFixedRateFlags;
19000 } VkImageCompressionPropertiesEXT;
19001
19002
19003
19004 // VK_EXT_attachment_feedback_loop_layout is a preprocessor guard. Do not pass it to API calls.
19005 #define VK_EXT_attachment_feedback_loop_layout 1
19006 #define VK_EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_SPEC_VERSION 2
19007 #define VK_EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_EXTENSION_NAME "VK_EXT_attachment_feedback_loop_layout"
19008 typedef struct VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT {
19009 VkStructureType sType;
19010 void* pNext;
19011 VkBool32 attachmentFeedbackLoopLayout;
19012 } VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT;
19013
19014
19015
19016 // VK_EXT_4444_formats is a preprocessor guard. Do not pass it to API calls.
19017 #define VK_EXT_4444_formats 1
19018 #define VK_EXT_4444_FORMATS_SPEC_VERSION 1
19019 #define VK_EXT_4444_FORMATS_EXTENSION_NAME "VK_EXT_4444_formats"
19020 typedef struct VkPhysicalDevice4444FormatsFeaturesEXT {
19021 VkStructureType sType;
19022 void* pNext;
19023 VkBool32 formatA4R4G4B4;
19024 VkBool32 formatA4B4G4R4;
19025 } VkPhysicalDevice4444FormatsFeaturesEXT;
19026
19027
19028
19029 // VK_EXT_device_fault is a preprocessor guard. Do not pass it to API calls.
19030 #define VK_EXT_device_fault 1
19031 #define VK_EXT_DEVICE_FAULT_SPEC_VERSION 2
19032 #define VK_EXT_DEVICE_FAULT_EXTENSION_NAME "VK_EXT_device_fault"
19033
19034 typedef enum VkDeviceFaultAddressTypeEXT {
19035 VK_DEVICE_FAULT_ADDRESS_TYPE_NONE_EXT = 0,
19036 VK_DEVICE_FAULT_ADDRESS_TYPE_READ_INVALID_EXT = 1,
19037 VK_DEVICE_FAULT_ADDRESS_TYPE_WRITE_INVALID_EXT = 2,
19038 VK_DEVICE_FAULT_ADDRESS_TYPE_EXECUTE_INVALID_EXT = 3,
19039 VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_UNKNOWN_EXT = 4,
19040 VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_INVALID_EXT = 5,
19041 VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_FAULT_EXT = 6,
19042 VK_DEVICE_FAULT_ADDRESS_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
19043 } VkDeviceFaultAddressTypeEXT;
19044
19045 typedef enum VkDeviceFaultVendorBinaryHeaderVersionEXT {
19046 VK_DEVICE_FAULT_VENDOR_BINARY_HEADER_VERSION_ONE_EXT = 1,
19047 VK_DEVICE_FAULT_VENDOR_BINARY_HEADER_VERSION_MAX_ENUM_EXT = 0x7FFFFFFF
19048 } VkDeviceFaultVendorBinaryHeaderVersionEXT;
19049 typedef struct VkPhysicalDeviceFaultFeaturesEXT {
19050 VkStructureType sType;
19051 void* pNext;
19052 VkBool32 deviceFault;
19053 VkBool32 deviceFaultVendorBinary;
19054 } VkPhysicalDeviceFaultFeaturesEXT;
19055
19056 typedef struct VkDeviceFaultCountsEXT {
19057 VkStructureType sType;
19058 void* pNext;
19059 uint32_t addressInfoCount;
19060 uint32_t vendorInfoCount;
19061 VkDeviceSize vendorBinarySize;
19062 } VkDeviceFaultCountsEXT;
19063
19064 typedef struct VkDeviceFaultAddressInfoEXT {
19065 VkDeviceFaultAddressTypeEXT addressType;
19066 VkDeviceAddress reportedAddress;
19067 VkDeviceSize addressPrecision;
19068 } VkDeviceFaultAddressInfoEXT;
19069
19070 typedef struct VkDeviceFaultVendorInfoEXT {
19071 char description[VK_MAX_DESCRIPTION_SIZE];
19072 uint64_t vendorFaultCode;
19073 uint64_t vendorFaultData;
19074 } VkDeviceFaultVendorInfoEXT;
19075
19076 typedef struct VkDeviceFaultInfoEXT {
19077 VkStructureType sType;
19078 void* pNext;
19079 char description[VK_MAX_DESCRIPTION_SIZE];
19080 VkDeviceFaultAddressInfoEXT* pAddressInfos;
19081 VkDeviceFaultVendorInfoEXT* pVendorInfos;
19082 void* pVendorBinaryData;
19083 } VkDeviceFaultInfoEXT;
19084
19085 typedef struct VkDeviceFaultVendorBinaryHeaderVersionOneEXT {
19086 uint32_t headerSize;
19087 VkDeviceFaultVendorBinaryHeaderVersionEXT headerVersion;
19088 uint32_t vendorID;
19089 uint32_t deviceID;
19090 uint32_t driverVersion;
19091 uint8_t pipelineCacheUUID[VK_UUID_SIZE];
19092 uint32_t applicationNameOffset;
19093 uint32_t applicationVersion;
19094 uint32_t engineNameOffset;
19095 uint32_t engineVersion;
19096 uint32_t apiVersion;
19097 } VkDeviceFaultVendorBinaryHeaderVersionOneEXT;
19098
19099 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceFaultInfoEXT)(VkDevice device, VkDeviceFaultCountsEXT* pFaultCounts, VkDeviceFaultInfoEXT* pFaultInfo);
19100
19101 #ifndef VK_NO_PROTOTYPES
19102 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
19103 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceFaultInfoEXT(
19104 VkDevice device,
19105 VkDeviceFaultCountsEXT* pFaultCounts,
19106 VkDeviceFaultInfoEXT* pFaultInfo);
19107 #endif
19108 #endif
19109
19110
19111 // VK_ARM_rasterization_order_attachment_access is a preprocessor guard. Do not pass it to API calls.
19112 #define VK_ARM_rasterization_order_attachment_access 1
19113 #define VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION 1
19114 #define VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME "VK_ARM_rasterization_order_attachment_access"
19115 typedef struct VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT {
19116 VkStructureType sType;
19117 void* pNext;
19118 VkBool32 rasterizationOrderColorAttachmentAccess;
19119 VkBool32 rasterizationOrderDepthAttachmentAccess;
19120 VkBool32 rasterizationOrderStencilAttachmentAccess;
19121 } VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT;
19122
19123 typedef VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM;
19124
19125
19126
19127 // VK_EXT_rgba10x6_formats is a preprocessor guard. Do not pass it to API calls.
19128 #define VK_EXT_rgba10x6_formats 1
19129 #define VK_EXT_RGBA10X6_FORMATS_SPEC_VERSION 1
19130 #define VK_EXT_RGBA10X6_FORMATS_EXTENSION_NAME "VK_EXT_rgba10x6_formats"
19131 typedef struct VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT {
19132 VkStructureType sType;
19133 void* pNext;
19134 VkBool32 formatRgba10x6WithoutYCbCrSampler;
19135 } VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT;
19136
19137
19138
19139 // VK_VALVE_mutable_descriptor_type is a preprocessor guard. Do not pass it to API calls.
19140 #define VK_VALVE_mutable_descriptor_type 1
19141 #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION 1
19142 #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME "VK_VALVE_mutable_descriptor_type"
19143 typedef struct VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT {
19144 VkStructureType sType;
19145 void* pNext;
19146 VkBool32 mutableDescriptorType;
19147 } VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT;
19148
19149 typedef VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE;
19150
19151 typedef struct VkMutableDescriptorTypeListEXT {
19152 uint32_t descriptorTypeCount;
19153 const VkDescriptorType* pDescriptorTypes;
19154 } VkMutableDescriptorTypeListEXT;
19155
19156 typedef VkMutableDescriptorTypeListEXT VkMutableDescriptorTypeListVALVE;
19157
19158 typedef struct VkMutableDescriptorTypeCreateInfoEXT {
19159 VkStructureType sType;
19160 const void* pNext;
19161 uint32_t mutableDescriptorTypeListCount;
19162 const VkMutableDescriptorTypeListEXT* pMutableDescriptorTypeLists;
19163 } VkMutableDescriptorTypeCreateInfoEXT;
19164
19165 typedef VkMutableDescriptorTypeCreateInfoEXT VkMutableDescriptorTypeCreateInfoVALVE;
19166
19167
19168
19169 // VK_EXT_vertex_input_dynamic_state is a preprocessor guard. Do not pass it to API calls.
19170 #define VK_EXT_vertex_input_dynamic_state 1
19171 #define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION 2
19172 #define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_vertex_input_dynamic_state"
19173 typedef struct VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT {
19174 VkStructureType sType;
19175 void* pNext;
19176 VkBool32 vertexInputDynamicState;
19177 } VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT;
19178
19179 typedef struct VkVertexInputBindingDescription2EXT {
19180 VkStructureType sType;
19181 void* pNext;
19182 uint32_t binding;
19183 uint32_t stride;
19184 VkVertexInputRate inputRate;
19185 uint32_t divisor;
19186 } VkVertexInputBindingDescription2EXT;
19187
19188 typedef struct VkVertexInputAttributeDescription2EXT {
19189 VkStructureType sType;
19190 void* pNext;
19191 uint32_t location;
19192 uint32_t binding;
19193 VkFormat format;
19194 uint32_t offset;
19195 } VkVertexInputAttributeDescription2EXT;
19196
19197 typedef void (VKAPI_PTR *PFN_vkCmdSetVertexInputEXT)(VkCommandBuffer commandBuffer, uint32_t vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, uint32_t vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions);
19198
19199 #ifndef VK_NO_PROTOTYPES
19200 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
19201 VKAPI_ATTR void VKAPI_CALL vkCmdSetVertexInputEXT(
19202 VkCommandBuffer commandBuffer,
19203 uint32_t vertexBindingDescriptionCount,
19204 const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions,
19205 uint32_t vertexAttributeDescriptionCount,
19206 const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions);
19207 #endif
19208 #endif
19209
19210
19211 // VK_EXT_physical_device_drm is a preprocessor guard. Do not pass it to API calls.
19212 #define VK_EXT_physical_device_drm 1
19213 #define VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION 1
19214 #define VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME "VK_EXT_physical_device_drm"
19215 typedef struct VkPhysicalDeviceDrmPropertiesEXT {
19216 VkStructureType sType;
19217 void* pNext;
19218 VkBool32 hasPrimary;
19219 VkBool32 hasRender;
19220 int64_t primaryMajor;
19221 int64_t primaryMinor;
19222 int64_t renderMajor;
19223 int64_t renderMinor;
19224 } VkPhysicalDeviceDrmPropertiesEXT;
19225
19226
19227
19228 // VK_EXT_device_address_binding_report is a preprocessor guard. Do not pass it to API calls.
19229 #define VK_EXT_device_address_binding_report 1
19230 #define VK_EXT_DEVICE_ADDRESS_BINDING_REPORT_SPEC_VERSION 1
19231 #define VK_EXT_DEVICE_ADDRESS_BINDING_REPORT_EXTENSION_NAME "VK_EXT_device_address_binding_report"
19232
19233 typedef enum VkDeviceAddressBindingTypeEXT {
19234 VK_DEVICE_ADDRESS_BINDING_TYPE_BIND_EXT = 0,
19235 VK_DEVICE_ADDRESS_BINDING_TYPE_UNBIND_EXT = 1,
19236 VK_DEVICE_ADDRESS_BINDING_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
19237 } VkDeviceAddressBindingTypeEXT;
19238
19239 typedef enum VkDeviceAddressBindingFlagBitsEXT {
19240 VK_DEVICE_ADDRESS_BINDING_INTERNAL_OBJECT_BIT_EXT = 0x00000001,
19241 VK_DEVICE_ADDRESS_BINDING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
19242 } VkDeviceAddressBindingFlagBitsEXT;
19243 typedef VkFlags VkDeviceAddressBindingFlagsEXT;
19244 typedef struct VkPhysicalDeviceAddressBindingReportFeaturesEXT {
19245 VkStructureType sType;
19246 void* pNext;
19247 VkBool32 reportAddressBinding;
19248 } VkPhysicalDeviceAddressBindingReportFeaturesEXT;
19249
19250 typedef struct VkDeviceAddressBindingCallbackDataEXT {
19251 VkStructureType sType;
19252 void* pNext;
19253 VkDeviceAddressBindingFlagsEXT flags;
19254 VkDeviceAddress baseAddress;
19255 VkDeviceSize size;
19256 VkDeviceAddressBindingTypeEXT bindingType;
19257 } VkDeviceAddressBindingCallbackDataEXT;
19258
19259
19260
19261 // VK_EXT_depth_clip_control is a preprocessor guard. Do not pass it to API calls.
19262 #define VK_EXT_depth_clip_control 1
19263 #define VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION 1
19264 #define VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME "VK_EXT_depth_clip_control"
19265 typedef struct VkPhysicalDeviceDepthClipControlFeaturesEXT {
19266 VkStructureType sType;
19267 void* pNext;
19268 VkBool32 depthClipControl;
19269 } VkPhysicalDeviceDepthClipControlFeaturesEXT;
19270
19271 typedef struct VkPipelineViewportDepthClipControlCreateInfoEXT {
19272 VkStructureType sType;
19273 const void* pNext;
19274 VkBool32 negativeOneToOne;
19275 } VkPipelineViewportDepthClipControlCreateInfoEXT;
19276
19277
19278
19279 // VK_EXT_primitive_topology_list_restart is a preprocessor guard. Do not pass it to API calls.
19280 #define VK_EXT_primitive_topology_list_restart 1
19281 #define VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION 1
19282 #define VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME "VK_EXT_primitive_topology_list_restart"
19283 typedef struct VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT {
19284 VkStructureType sType;
19285 void* pNext;
19286 VkBool32 primitiveTopologyListRestart;
19287 VkBool32 primitiveTopologyPatchListRestart;
19288 } VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT;
19289
19290
19291
19292 // VK_EXT_present_mode_fifo_latest_ready is a preprocessor guard. Do not pass it to API calls.
19293 #define VK_EXT_present_mode_fifo_latest_ready 1
19294 #define VK_EXT_PRESENT_MODE_FIFO_LATEST_READY_SPEC_VERSION 1
19295 #define VK_EXT_PRESENT_MODE_FIFO_LATEST_READY_EXTENSION_NAME "VK_EXT_present_mode_fifo_latest_ready"
19296 typedef VkPhysicalDevicePresentModeFifoLatestReadyFeaturesKHR VkPhysicalDevicePresentModeFifoLatestReadyFeaturesEXT;
19297
19298
19299
19300 // VK_HUAWEI_subpass_shading is a preprocessor guard. Do not pass it to API calls.
19301 #define VK_HUAWEI_subpass_shading 1
19302 #define VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION 3
19303 #define VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME "VK_HUAWEI_subpass_shading"
19304 typedef struct VkSubpassShadingPipelineCreateInfoHUAWEI {
19305 VkStructureType sType;
19306 void* pNext;
19307 VkRenderPass renderPass;
19308 uint32_t subpass;
19309 } VkSubpassShadingPipelineCreateInfoHUAWEI;
19310
19311 typedef struct VkPhysicalDeviceSubpassShadingFeaturesHUAWEI {
19312 VkStructureType sType;
19313 void* pNext;
19314 VkBool32 subpassShading;
19315 } VkPhysicalDeviceSubpassShadingFeaturesHUAWEI;
19316
19317 typedef struct VkPhysicalDeviceSubpassShadingPropertiesHUAWEI {
19318 VkStructureType sType;
19319 void* pNext;
19320 uint32_t maxSubpassShadingWorkgroupSizeAspectRatio;
19321 } VkPhysicalDeviceSubpassShadingPropertiesHUAWEI;
19322
19323 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI)(VkDevice device, VkRenderPass renderpass, VkExtent2D* pMaxWorkgroupSize);
19324 typedef void (VKAPI_PTR *PFN_vkCmdSubpassShadingHUAWEI)(VkCommandBuffer commandBuffer);
19325
19326 #ifndef VK_NO_PROTOTYPES
19327 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
19328 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(
19329 VkDevice device,
19330 VkRenderPass renderpass,
19331 VkExtent2D* pMaxWorkgroupSize);
19332 #endif
19333
19334 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
19335 VKAPI_ATTR void VKAPI_CALL vkCmdSubpassShadingHUAWEI(
19336 VkCommandBuffer commandBuffer);
19337 #endif
19338 #endif
19339
19340
19341 // VK_HUAWEI_invocation_mask is a preprocessor guard. Do not pass it to API calls.
19342 #define VK_HUAWEI_invocation_mask 1
19343 #define VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION 1
19344 #define VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME "VK_HUAWEI_invocation_mask"
19345 typedef struct VkPhysicalDeviceInvocationMaskFeaturesHUAWEI {
19346 VkStructureType sType;
19347 void* pNext;
19348 VkBool32 invocationMask;
19349 } VkPhysicalDeviceInvocationMaskFeaturesHUAWEI;
19350
19351 typedef void (VKAPI_PTR *PFN_vkCmdBindInvocationMaskHUAWEI)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout);
19352
19353 #ifndef VK_NO_PROTOTYPES
19354 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
19355 VKAPI_ATTR void VKAPI_CALL vkCmdBindInvocationMaskHUAWEI(
19356 VkCommandBuffer commandBuffer,
19357 VkImageView imageView,
19358 VkImageLayout imageLayout);
19359 #endif
19360 #endif
19361
19362
19363 // VK_NV_external_memory_rdma is a preprocessor guard. Do not pass it to API calls.
19364 #define VK_NV_external_memory_rdma 1
19365 typedef void* VkRemoteAddressNV;
19366 #define VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION 1
19367 #define VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME "VK_NV_external_memory_rdma"
19368 typedef struct VkMemoryGetRemoteAddressInfoNV {
19369 VkStructureType sType;
19370 const void* pNext;
19371 VkDeviceMemory memory;
19372 VkExternalMemoryHandleTypeFlagBits handleType;
19373 } VkMemoryGetRemoteAddressInfoNV;
19374
19375 typedef struct VkPhysicalDeviceExternalMemoryRDMAFeaturesNV {
19376 VkStructureType sType;
19377 void* pNext;
19378 VkBool32 externalMemoryRDMA;
19379 } VkPhysicalDeviceExternalMemoryRDMAFeaturesNV;
19380
19381 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryRemoteAddressNV)(VkDevice device, const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo, VkRemoteAddressNV* pAddress);
19382
19383 #ifndef VK_NO_PROTOTYPES
19384 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
19385 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryRemoteAddressNV(
19386 VkDevice device,
19387 const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo,
19388 VkRemoteAddressNV* pAddress);
19389 #endif
19390 #endif
19391
19392
19393 // VK_EXT_pipeline_properties is a preprocessor guard. Do not pass it to API calls.
19394 #define VK_EXT_pipeline_properties 1
19395 #define VK_EXT_PIPELINE_PROPERTIES_SPEC_VERSION 1
19396 #define VK_EXT_PIPELINE_PROPERTIES_EXTENSION_NAME "VK_EXT_pipeline_properties"
19397 typedef VkPipelineInfoKHR VkPipelineInfoEXT;
19398
19399 typedef struct VkPipelinePropertiesIdentifierEXT {
19400 VkStructureType sType;
19401 void* pNext;
19402 uint8_t pipelineIdentifier[VK_UUID_SIZE];
19403 } VkPipelinePropertiesIdentifierEXT;
19404
19405 typedef struct VkPhysicalDevicePipelinePropertiesFeaturesEXT {
19406 VkStructureType sType;
19407 void* pNext;
19408 VkBool32 pipelinePropertiesIdentifier;
19409 } VkPhysicalDevicePipelinePropertiesFeaturesEXT;
19410
19411 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelinePropertiesEXT)(VkDevice device, const VkPipelineInfoEXT* pPipelineInfo, VkBaseOutStructure* pPipelineProperties);
19412
19413 #ifndef VK_NO_PROTOTYPES
19414 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
19415 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelinePropertiesEXT(
19416 VkDevice device,
19417 const VkPipelineInfoEXT* pPipelineInfo,
19418 VkBaseOutStructure* pPipelineProperties);
19419 #endif
19420 #endif
19421
19422
19423 // VK_EXT_frame_boundary is a preprocessor guard. Do not pass it to API calls.
19424 #define VK_EXT_frame_boundary 1
19425 #define VK_EXT_FRAME_BOUNDARY_SPEC_VERSION 1
19426 #define VK_EXT_FRAME_BOUNDARY_EXTENSION_NAME "VK_EXT_frame_boundary"
19427
19428 typedef enum VkFrameBoundaryFlagBitsEXT {
19429 VK_FRAME_BOUNDARY_FRAME_END_BIT_EXT = 0x00000001,
19430 VK_FRAME_BOUNDARY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
19431 } VkFrameBoundaryFlagBitsEXT;
19432 typedef VkFlags VkFrameBoundaryFlagsEXT;
19433 typedef struct VkPhysicalDeviceFrameBoundaryFeaturesEXT {
19434 VkStructureType sType;
19435 void* pNext;
19436 VkBool32 frameBoundary;
19437 } VkPhysicalDeviceFrameBoundaryFeaturesEXT;
19438
19439 typedef struct VkFrameBoundaryEXT {
19440 VkStructureType sType;
19441 const void* pNext;
19442 VkFrameBoundaryFlagsEXT flags;
19443 uint64_t frameID;
19444 uint32_t imageCount;
19445 const VkImage* pImages;
19446 uint32_t bufferCount;
19447 const VkBuffer* pBuffers;
19448 uint64_t tagName;
19449 size_t tagSize;
19450 const void* pTag;
19451 } VkFrameBoundaryEXT;
19452
19453
19454
19455 // VK_EXT_multisampled_render_to_single_sampled is a preprocessor guard. Do not pass it to API calls.
19456 #define VK_EXT_multisampled_render_to_single_sampled 1
19457 #define VK_EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_SPEC_VERSION 1
19458 #define VK_EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_EXTENSION_NAME "VK_EXT_multisampled_render_to_single_sampled"
19459 typedef struct VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT {
19460 VkStructureType sType;
19461 void* pNext;
19462 VkBool32 multisampledRenderToSingleSampled;
19463 } VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT;
19464
19465 typedef struct VkSubpassResolvePerformanceQueryEXT {
19466 VkStructureType sType;
19467 void* pNext;
19468 VkBool32 optimal;
19469 } VkSubpassResolvePerformanceQueryEXT;
19470
19471 typedef struct VkMultisampledRenderToSingleSampledInfoEXT {
19472 VkStructureType sType;
19473 const void* pNext;
19474 VkBool32 multisampledRenderToSingleSampledEnable;
19475 VkSampleCountFlagBits rasterizationSamples;
19476 } VkMultisampledRenderToSingleSampledInfoEXT;
19477
19478
19479
19480 // VK_EXT_extended_dynamic_state2 is a preprocessor guard. Do not pass it to API calls.
19481 #define VK_EXT_extended_dynamic_state2 1
19482 #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION 1
19483 #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME "VK_EXT_extended_dynamic_state2"
19484 typedef struct VkPhysicalDeviceExtendedDynamicState2FeaturesEXT {
19485 VkStructureType sType;
19486 void* pNext;
19487 VkBool32 extendedDynamicState2;
19488 VkBool32 extendedDynamicState2LogicOp;
19489 VkBool32 extendedDynamicState2PatchControlPoints;
19490 } VkPhysicalDeviceExtendedDynamicState2FeaturesEXT;
19491
19492 typedef void (VKAPI_PTR *PFN_vkCmdSetPatchControlPointsEXT)(VkCommandBuffer commandBuffer, uint32_t patchControlPoints);
19493 typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizerDiscardEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable);
19494 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBiasEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable);
19495 typedef void (VKAPI_PTR *PFN_vkCmdSetLogicOpEXT)(VkCommandBuffer commandBuffer, VkLogicOp logicOp);
19496 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveRestartEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable);
19497
19498 #ifndef VK_NO_PROTOTYPES
19499 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
19500 VKAPI_ATTR void VKAPI_CALL vkCmdSetPatchControlPointsEXT(
19501 VkCommandBuffer commandBuffer,
19502 uint32_t patchControlPoints);
19503 #endif
19504
19505 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
19506 VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizerDiscardEnableEXT(
19507 VkCommandBuffer commandBuffer,
19508 VkBool32 rasterizerDiscardEnable);
19509 #endif
19510
19511 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
19512 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBiasEnableEXT(
19513 VkCommandBuffer commandBuffer,
19514 VkBool32 depthBiasEnable);
19515 #endif
19516
19517 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
19518 VKAPI_ATTR void VKAPI_CALL vkCmdSetLogicOpEXT(
19519 VkCommandBuffer commandBuffer,
19520 VkLogicOp logicOp);
19521 #endif
19522
19523 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
19524 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveRestartEnableEXT(
19525 VkCommandBuffer commandBuffer,
19526 VkBool32 primitiveRestartEnable);
19527 #endif
19528 #endif
19529
19530
19531 // VK_EXT_color_write_enable is a preprocessor guard. Do not pass it to API calls.
19532 #define VK_EXT_color_write_enable 1
19533 #define VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION 1
19534 #define VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME "VK_EXT_color_write_enable"
19535 typedef struct VkPhysicalDeviceColorWriteEnableFeaturesEXT {
19536 VkStructureType sType;
19537 void* pNext;
19538 VkBool32 colorWriteEnable;
19539 } VkPhysicalDeviceColorWriteEnableFeaturesEXT;
19540
19541 typedef struct VkPipelineColorWriteCreateInfoEXT {
19542 VkStructureType sType;
19543 const void* pNext;
19544 uint32_t attachmentCount;
19545 const VkBool32* pColorWriteEnables;
19546 } VkPipelineColorWriteCreateInfoEXT;
19547
19548 typedef void (VKAPI_PTR *PFN_vkCmdSetColorWriteEnableEXT)(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkBool32* pColorWriteEnables);
19549
19550 #ifndef VK_NO_PROTOTYPES
19551 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
19552 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorWriteEnableEXT(
19553 VkCommandBuffer commandBuffer,
19554 uint32_t attachmentCount,
19555 const VkBool32* pColorWriteEnables);
19556 #endif
19557 #endif
19558
19559
19560 // VK_EXT_primitives_generated_query is a preprocessor guard. Do not pass it to API calls.
19561 #define VK_EXT_primitives_generated_query 1
19562 #define VK_EXT_PRIMITIVES_GENERATED_QUERY_SPEC_VERSION 1
19563 #define VK_EXT_PRIMITIVES_GENERATED_QUERY_EXTENSION_NAME "VK_EXT_primitives_generated_query"
19564 typedef struct VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT {
19565 VkStructureType sType;
19566 void* pNext;
19567 VkBool32 primitivesGeneratedQuery;
19568 VkBool32 primitivesGeneratedQueryWithRasterizerDiscard;
19569 VkBool32 primitivesGeneratedQueryWithNonZeroStreams;
19570 } VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT;
19571
19572
19573
19574 // VK_EXT_global_priority_query is a preprocessor guard. Do not pass it to API calls.
19575 #define VK_EXT_global_priority_query 1
19576 #define VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION 1
19577 #define VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME "VK_EXT_global_priority_query"
19578 #define VK_MAX_GLOBAL_PRIORITY_SIZE_EXT VK_MAX_GLOBAL_PRIORITY_SIZE
19579 typedef VkPhysicalDeviceGlobalPriorityQueryFeatures VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT;
19580
19581 typedef VkQueueFamilyGlobalPriorityProperties VkQueueFamilyGlobalPriorityPropertiesEXT;
19582
19583
19584
19585 // VK_VALVE_video_encode_rgb_conversion is a preprocessor guard. Do not pass it to API calls.
19586 #define VK_VALVE_video_encode_rgb_conversion 1
19587 #define VK_VALVE_VIDEO_ENCODE_RGB_CONVERSION_SPEC_VERSION 1
19588 #define VK_VALVE_VIDEO_ENCODE_RGB_CONVERSION_EXTENSION_NAME "VK_VALVE_video_encode_rgb_conversion"
19589
19590 typedef enum VkVideoEncodeRgbModelConversionFlagBitsVALVE {
19591 VK_VIDEO_ENCODE_RGB_MODEL_CONVERSION_RGB_IDENTITY_BIT_VALVE = 0x00000001,
19592 VK_VIDEO_ENCODE_RGB_MODEL_CONVERSION_YCBCR_IDENTITY_BIT_VALVE = 0x00000002,
19593 VK_VIDEO_ENCODE_RGB_MODEL_CONVERSION_YCBCR_709_BIT_VALVE = 0x00000004,
19594 VK_VIDEO_ENCODE_RGB_MODEL_CONVERSION_YCBCR_601_BIT_VALVE = 0x00000008,
19595 VK_VIDEO_ENCODE_RGB_MODEL_CONVERSION_YCBCR_2020_BIT_VALVE = 0x00000010,
19596 VK_VIDEO_ENCODE_RGB_MODEL_CONVERSION_FLAG_BITS_MAX_ENUM_VALVE = 0x7FFFFFFF
19597 } VkVideoEncodeRgbModelConversionFlagBitsVALVE;
19598 typedef VkFlags VkVideoEncodeRgbModelConversionFlagsVALVE;
19599
19600 typedef enum VkVideoEncodeRgbRangeCompressionFlagBitsVALVE {
19601 VK_VIDEO_ENCODE_RGB_RANGE_COMPRESSION_FULL_RANGE_BIT_VALVE = 0x00000001,
19602 VK_VIDEO_ENCODE_RGB_RANGE_COMPRESSION_NARROW_RANGE_BIT_VALVE = 0x00000002,
19603 VK_VIDEO_ENCODE_RGB_RANGE_COMPRESSION_FLAG_BITS_MAX_ENUM_VALVE = 0x7FFFFFFF
19604 } VkVideoEncodeRgbRangeCompressionFlagBitsVALVE;
19605 typedef VkFlags VkVideoEncodeRgbRangeCompressionFlagsVALVE;
19606
19607 typedef enum VkVideoEncodeRgbChromaOffsetFlagBitsVALVE {
19608 VK_VIDEO_ENCODE_RGB_CHROMA_OFFSET_COSITED_EVEN_BIT_VALVE = 0x00000001,
19609 VK_VIDEO_ENCODE_RGB_CHROMA_OFFSET_MIDPOINT_BIT_VALVE = 0x00000002,
19610 VK_VIDEO_ENCODE_RGB_CHROMA_OFFSET_FLAG_BITS_MAX_ENUM_VALVE = 0x7FFFFFFF
19611 } VkVideoEncodeRgbChromaOffsetFlagBitsVALVE;
19612 typedef VkFlags VkVideoEncodeRgbChromaOffsetFlagsVALVE;
19613 typedef struct VkPhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE {
19614 VkStructureType sType;
19615 void* pNext;
19616 VkBool32 videoEncodeRgbConversion;
19617 } VkPhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE;
19618
19619 typedef struct VkVideoEncodeRgbConversionCapabilitiesVALVE {
19620 VkStructureType sType;
19621 void* pNext;
19622 VkVideoEncodeRgbModelConversionFlagsVALVE rgbModels;
19623 VkVideoEncodeRgbRangeCompressionFlagsVALVE rgbRanges;
19624 VkVideoEncodeRgbChromaOffsetFlagsVALVE xChromaOffsets;
19625 VkVideoEncodeRgbChromaOffsetFlagsVALVE yChromaOffsets;
19626 } VkVideoEncodeRgbConversionCapabilitiesVALVE;
19627
19628 typedef struct VkVideoEncodeProfileRgbConversionInfoVALVE {
19629 VkStructureType sType;
19630 const void* pNext;
19631 VkBool32 performEncodeRgbConversion;
19632 } VkVideoEncodeProfileRgbConversionInfoVALVE;
19633
19634 typedef struct VkVideoEncodeSessionRgbConversionCreateInfoVALVE {
19635 VkStructureType sType;
19636 const void* pNext;
19637 VkVideoEncodeRgbModelConversionFlagBitsVALVE rgbModel;
19638 VkVideoEncodeRgbRangeCompressionFlagBitsVALVE rgbRange;
19639 VkVideoEncodeRgbChromaOffsetFlagBitsVALVE xChromaOffset;
19640 VkVideoEncodeRgbChromaOffsetFlagBitsVALVE yChromaOffset;
19641 } VkVideoEncodeSessionRgbConversionCreateInfoVALVE;
19642
19643
19644
19645 // VK_EXT_image_view_min_lod is a preprocessor guard. Do not pass it to API calls.
19646 #define VK_EXT_image_view_min_lod 1
19647 #define VK_EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION 1
19648 #define VK_EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME "VK_EXT_image_view_min_lod"
19649 typedef struct VkPhysicalDeviceImageViewMinLodFeaturesEXT {
19650 VkStructureType sType;
19651 void* pNext;
19652 VkBool32 minLod;
19653 } VkPhysicalDeviceImageViewMinLodFeaturesEXT;
19654
19655 typedef struct VkImageViewMinLodCreateInfoEXT {
19656 VkStructureType sType;
19657 const void* pNext;
19658 float minLod;
19659 } VkImageViewMinLodCreateInfoEXT;
19660
19661
19662
19663 // VK_EXT_multi_draw is a preprocessor guard. Do not pass it to API calls.
19664 #define VK_EXT_multi_draw 1
19665 #define VK_EXT_MULTI_DRAW_SPEC_VERSION 1
19666 #define VK_EXT_MULTI_DRAW_EXTENSION_NAME "VK_EXT_multi_draw"
19667 typedef struct VkPhysicalDeviceMultiDrawFeaturesEXT {
19668 VkStructureType sType;
19669 void* pNext;
19670 VkBool32 multiDraw;
19671 } VkPhysicalDeviceMultiDrawFeaturesEXT;
19672
19673 typedef struct VkPhysicalDeviceMultiDrawPropertiesEXT {
19674 VkStructureType sType;
19675 void* pNext;
19676 uint32_t maxMultiDrawCount;
19677 } VkPhysicalDeviceMultiDrawPropertiesEXT;
19678
19679 typedef struct VkMultiDrawInfoEXT {
19680 uint32_t firstVertex;
19681 uint32_t vertexCount;
19682 } VkMultiDrawInfoEXT;
19683
19684 typedef struct VkMultiDrawIndexedInfoEXT {
19685 uint32_t firstIndex;
19686 uint32_t indexCount;
19687 int32_t vertexOffset;
19688 } VkMultiDrawIndexedInfoEXT;
19689
19690 typedef void (VKAPI_PTR *PFN_vkCmdDrawMultiEXT)(VkCommandBuffer commandBuffer, uint32_t drawCount, const VkMultiDrawInfoEXT* pVertexInfo, uint32_t instanceCount, uint32_t firstInstance, uint32_t stride);
19691 typedef 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);
19692
19693 #ifndef VK_NO_PROTOTYPES
19694 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
19695 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMultiEXT(
19696 VkCommandBuffer commandBuffer,
19697 uint32_t drawCount,
19698 const VkMultiDrawInfoEXT* pVertexInfo,
19699 uint32_t instanceCount,
19700 uint32_t firstInstance,
19701 uint32_t stride);
19702 #endif
19703
19704 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
19705 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMultiIndexedEXT(
19706 VkCommandBuffer commandBuffer,
19707 uint32_t drawCount,
19708 const VkMultiDrawIndexedInfoEXT* pIndexInfo,
19709 uint32_t instanceCount,
19710 uint32_t firstInstance,
19711 uint32_t stride,
19712 const int32_t* pVertexOffset);
19713 #endif
19714 #endif
19715
19716
19717 // VK_EXT_image_2d_view_of_3d is a preprocessor guard. Do not pass it to API calls.
19718 #define VK_EXT_image_2d_view_of_3d 1
19719 #define VK_EXT_IMAGE_2D_VIEW_OF_3D_SPEC_VERSION 1
19720 #define VK_EXT_IMAGE_2D_VIEW_OF_3D_EXTENSION_NAME "VK_EXT_image_2d_view_of_3d"
19721 typedef struct VkPhysicalDeviceImage2DViewOf3DFeaturesEXT {
19722 VkStructureType sType;
19723 void* pNext;
19724 VkBool32 image2DViewOf3D;
19725 VkBool32 sampler2DViewOf3D;
19726 } VkPhysicalDeviceImage2DViewOf3DFeaturesEXT;
19727
19728
19729
19730 // VK_EXT_shader_tile_image is a preprocessor guard. Do not pass it to API calls.
19731 #define VK_EXT_shader_tile_image 1
19732 #define VK_EXT_SHADER_TILE_IMAGE_SPEC_VERSION 1
19733 #define VK_EXT_SHADER_TILE_IMAGE_EXTENSION_NAME "VK_EXT_shader_tile_image"
19734 typedef struct VkPhysicalDeviceShaderTileImageFeaturesEXT {
19735 VkStructureType sType;
19736 void* pNext;
19737 VkBool32 shaderTileImageColorReadAccess;
19738 VkBool32 shaderTileImageDepthReadAccess;
19739 VkBool32 shaderTileImageStencilReadAccess;
19740 } VkPhysicalDeviceShaderTileImageFeaturesEXT;
19741
19742 typedef struct VkPhysicalDeviceShaderTileImagePropertiesEXT {
19743 VkStructureType sType;
19744 void* pNext;
19745 VkBool32 shaderTileImageCoherentReadAccelerated;
19746 VkBool32 shaderTileImageReadSampleFromPixelRateInvocation;
19747 VkBool32 shaderTileImageReadFromHelperInvocation;
19748 } VkPhysicalDeviceShaderTileImagePropertiesEXT;
19749
19750
19751
19752 // VK_EXT_opacity_micromap is a preprocessor guard. Do not pass it to API calls.
19753 #define VK_EXT_opacity_micromap 1
19754 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkMicromapEXT)
19755 #define VK_EXT_OPACITY_MICROMAP_SPEC_VERSION 2
19756 #define VK_EXT_OPACITY_MICROMAP_EXTENSION_NAME "VK_EXT_opacity_micromap"
19757
19758 typedef enum VkMicromapTypeEXT {
19759 VK_MICROMAP_TYPE_OPACITY_MICROMAP_EXT = 0,
19760 #ifdef VK_ENABLE_BETA_EXTENSIONS
19761 VK_MICROMAP_TYPE_DISPLACEMENT_MICROMAP_NV = 1000397000,
19762 #endif
19763 VK_MICROMAP_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
19764 } VkMicromapTypeEXT;
19765
19766 typedef enum VkBuildMicromapModeEXT {
19767 VK_BUILD_MICROMAP_MODE_BUILD_EXT = 0,
19768 VK_BUILD_MICROMAP_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
19769 } VkBuildMicromapModeEXT;
19770
19771 typedef enum VkCopyMicromapModeEXT {
19772 VK_COPY_MICROMAP_MODE_CLONE_EXT = 0,
19773 VK_COPY_MICROMAP_MODE_SERIALIZE_EXT = 1,
19774 VK_COPY_MICROMAP_MODE_DESERIALIZE_EXT = 2,
19775 VK_COPY_MICROMAP_MODE_COMPACT_EXT = 3,
19776 VK_COPY_MICROMAP_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
19777 } VkCopyMicromapModeEXT;
19778
19779 typedef enum VkOpacityMicromapFormatEXT {
19780 VK_OPACITY_MICROMAP_FORMAT_2_STATE_EXT = 1,
19781 VK_OPACITY_MICROMAP_FORMAT_4_STATE_EXT = 2,
19782 VK_OPACITY_MICROMAP_FORMAT_MAX_ENUM_EXT = 0x7FFFFFFF
19783 } VkOpacityMicromapFormatEXT;
19784
19785 typedef enum VkOpacityMicromapSpecialIndexEXT {
19786 VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_TRANSPARENT_EXT = -1,
19787 VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_OPAQUE_EXT = -2,
19788 VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_TRANSPARENT_EXT = -3,
19789 VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_OPAQUE_EXT = -4,
19790 VK_OPACITY_MICROMAP_SPECIAL_INDEX_CLUSTER_GEOMETRY_DISABLE_OPACITY_MICROMAP_NV = -5,
19791 VK_OPACITY_MICROMAP_SPECIAL_INDEX_MAX_ENUM_EXT = 0x7FFFFFFF
19792 } VkOpacityMicromapSpecialIndexEXT;
19793
19794 typedef enum VkAccelerationStructureCompatibilityKHR {
19795 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR = 0,
19796 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR = 1,
19797 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_MAX_ENUM_KHR = 0x7FFFFFFF
19798 } VkAccelerationStructureCompatibilityKHR;
19799
19800 typedef enum VkAccelerationStructureBuildTypeKHR {
19801 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR = 0,
19802 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR = 1,
19803 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR = 2,
19804 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
19805 } VkAccelerationStructureBuildTypeKHR;
19806
19807 typedef enum VkBuildMicromapFlagBitsEXT {
19808 VK_BUILD_MICROMAP_PREFER_FAST_TRACE_BIT_EXT = 0x00000001,
19809 VK_BUILD_MICROMAP_PREFER_FAST_BUILD_BIT_EXT = 0x00000002,
19810 VK_BUILD_MICROMAP_ALLOW_COMPACTION_BIT_EXT = 0x00000004,
19811 VK_BUILD_MICROMAP_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
19812 } VkBuildMicromapFlagBitsEXT;
19813 typedef VkFlags VkBuildMicromapFlagsEXT;
19814
19815 typedef enum VkMicromapCreateFlagBitsEXT {
19816 VK_MICROMAP_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = 0x00000001,
19817 VK_MICROMAP_CREATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
19818 } VkMicromapCreateFlagBitsEXT;
19819 typedef VkFlags VkMicromapCreateFlagsEXT;
19820 typedef struct VkMicromapUsageEXT {
19821 uint32_t count;
19822 uint32_t subdivisionLevel;
19823 uint32_t format;
19824 } VkMicromapUsageEXT;
19825
19826 typedef union VkDeviceOrHostAddressKHR {
19827 VkDeviceAddress deviceAddress;
19828 void* hostAddress;
19829 } VkDeviceOrHostAddressKHR;
19830
19831 typedef struct VkMicromapBuildInfoEXT {
19832 VkStructureType sType;
19833 const void* pNext;
19834 VkMicromapTypeEXT type;
19835 VkBuildMicromapFlagsEXT flags;
19836 VkBuildMicromapModeEXT mode;
19837 VkMicromapEXT dstMicromap;
19838 uint32_t usageCountsCount;
19839 const VkMicromapUsageEXT* pUsageCounts;
19840 const VkMicromapUsageEXT* const* ppUsageCounts;
19841 VkDeviceOrHostAddressConstKHR data;
19842 VkDeviceOrHostAddressKHR scratchData;
19843 VkDeviceOrHostAddressConstKHR triangleArray;
19844 VkDeviceSize triangleArrayStride;
19845 } VkMicromapBuildInfoEXT;
19846
19847 typedef struct VkMicromapCreateInfoEXT {
19848 VkStructureType sType;
19849 const void* pNext;
19850 VkMicromapCreateFlagsEXT createFlags;
19851 VkBuffer buffer;
19852 VkDeviceSize offset;
19853 VkDeviceSize size;
19854 VkMicromapTypeEXT type;
19855 VkDeviceAddress deviceAddress;
19856 } VkMicromapCreateInfoEXT;
19857
19858 typedef struct VkPhysicalDeviceOpacityMicromapFeaturesEXT {
19859 VkStructureType sType;
19860 void* pNext;
19861 VkBool32 micromap;
19862 VkBool32 micromapCaptureReplay;
19863 VkBool32 micromapHostCommands;
19864 } VkPhysicalDeviceOpacityMicromapFeaturesEXT;
19865
19866 typedef struct VkPhysicalDeviceOpacityMicromapPropertiesEXT {
19867 VkStructureType sType;
19868 void* pNext;
19869 uint32_t maxOpacity2StateSubdivisionLevel;
19870 uint32_t maxOpacity4StateSubdivisionLevel;
19871 } VkPhysicalDeviceOpacityMicromapPropertiesEXT;
19872
19873 typedef struct VkMicromapVersionInfoEXT {
19874 VkStructureType sType;
19875 const void* pNext;
19876 const uint8_t* pVersionData;
19877 } VkMicromapVersionInfoEXT;
19878
19879 typedef struct VkCopyMicromapToMemoryInfoEXT {
19880 VkStructureType sType;
19881 const void* pNext;
19882 VkMicromapEXT src;
19883 VkDeviceOrHostAddressKHR dst;
19884 VkCopyMicromapModeEXT mode;
19885 } VkCopyMicromapToMemoryInfoEXT;
19886
19887 typedef struct VkCopyMemoryToMicromapInfoEXT {
19888 VkStructureType sType;
19889 const void* pNext;
19890 VkDeviceOrHostAddressConstKHR src;
19891 VkMicromapEXT dst;
19892 VkCopyMicromapModeEXT mode;
19893 } VkCopyMemoryToMicromapInfoEXT;
19894
19895 typedef struct VkCopyMicromapInfoEXT {
19896 VkStructureType sType;
19897 const void* pNext;
19898 VkMicromapEXT src;
19899 VkMicromapEXT dst;
19900 VkCopyMicromapModeEXT mode;
19901 } VkCopyMicromapInfoEXT;
19902
19903 typedef struct VkMicromapBuildSizesInfoEXT {
19904 VkStructureType sType;
19905 const void* pNext;
19906 VkDeviceSize micromapSize;
19907 VkDeviceSize buildScratchSize;
19908 VkBool32 discardable;
19909 } VkMicromapBuildSizesInfoEXT;
19910
19911 typedef struct VkAccelerationStructureTrianglesOpacityMicromapEXT {
19912 VkStructureType sType;
19913 void* pNext;
19914 VkIndexType indexType;
19915 VkDeviceOrHostAddressConstKHR indexBuffer;
19916 VkDeviceSize indexStride;
19917 uint32_t baseTriangle;
19918 uint32_t usageCountsCount;
19919 const VkMicromapUsageEXT* pUsageCounts;
19920 const VkMicromapUsageEXT* const* ppUsageCounts;
19921 VkMicromapEXT micromap;
19922 } VkAccelerationStructureTrianglesOpacityMicromapEXT;
19923
19924 typedef struct VkMicromapTriangleEXT {
19925 uint32_t dataOffset;
19926 uint16_t subdivisionLevel;
19927 uint16_t format;
19928 } VkMicromapTriangleEXT;
19929
19930 typedef VkResult (VKAPI_PTR *PFN_vkCreateMicromapEXT)(VkDevice device, const VkMicromapCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkMicromapEXT* pMicromap);
19931 typedef void (VKAPI_PTR *PFN_vkDestroyMicromapEXT)(VkDevice device, VkMicromapEXT micromap, const VkAllocationCallbacks* pAllocator);
19932 typedef void (VKAPI_PTR *PFN_vkCmdBuildMicromapsEXT)(VkCommandBuffer commandBuffer, uint32_t infoCount, const VkMicromapBuildInfoEXT* pInfos);
19933 typedef VkResult (VKAPI_PTR *PFN_vkBuildMicromapsEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, uint32_t infoCount, const VkMicromapBuildInfoEXT* pInfos);
19934 typedef VkResult (VKAPI_PTR *PFN_vkCopyMicromapEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMicromapInfoEXT* pInfo);
19935 typedef VkResult (VKAPI_PTR *PFN_vkCopyMicromapToMemoryEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMicromapToMemoryInfoEXT* pInfo);
19936 typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToMicromapEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToMicromapInfoEXT* pInfo);
19937 typedef VkResult (VKAPI_PTR *PFN_vkWriteMicromapsPropertiesEXT)(VkDevice device, uint32_t micromapCount, const VkMicromapEXT* pMicromaps, VkQueryType queryType, size_t dataSize, void* pData, size_t stride);
19938 typedef void (VKAPI_PTR *PFN_vkCmdCopyMicromapEXT)(VkCommandBuffer commandBuffer, const VkCopyMicromapInfoEXT* pInfo);
19939 typedef void (VKAPI_PTR *PFN_vkCmdCopyMicromapToMemoryEXT)(VkCommandBuffer commandBuffer, const VkCopyMicromapToMemoryInfoEXT* pInfo);
19940 typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToMicromapEXT)(VkCommandBuffer commandBuffer, const VkCopyMemoryToMicromapInfoEXT* pInfo);
19941 typedef void (VKAPI_PTR *PFN_vkCmdWriteMicromapsPropertiesEXT)(VkCommandBuffer commandBuffer, uint32_t micromapCount, const VkMicromapEXT* pMicromaps, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery);
19942 typedef void (VKAPI_PTR *PFN_vkGetDeviceMicromapCompatibilityEXT)(VkDevice device, const VkMicromapVersionInfoEXT* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility);
19943 typedef void (VKAPI_PTR *PFN_vkGetMicromapBuildSizesEXT)(VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkMicromapBuildInfoEXT* pBuildInfo, VkMicromapBuildSizesInfoEXT* pSizeInfo);
19944
19945 #ifndef VK_NO_PROTOTYPES
19946 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
19947 VKAPI_ATTR VkResult VKAPI_CALL vkCreateMicromapEXT(
19948 VkDevice device,
19949 const VkMicromapCreateInfoEXT* pCreateInfo,
19950 const VkAllocationCallbacks* pAllocator,
19951 VkMicromapEXT* pMicromap);
19952 #endif
19953
19954 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
19955 VKAPI_ATTR void VKAPI_CALL vkDestroyMicromapEXT(
19956 VkDevice device,
19957 VkMicromapEXT micromap,
19958 const VkAllocationCallbacks* pAllocator);
19959 #endif
19960
19961 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
19962 VKAPI_ATTR void VKAPI_CALL vkCmdBuildMicromapsEXT(
19963 VkCommandBuffer commandBuffer,
19964 uint32_t infoCount,
19965 const VkMicromapBuildInfoEXT* pInfos);
19966 #endif
19967
19968 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
19969 VKAPI_ATTR VkResult VKAPI_CALL vkBuildMicromapsEXT(
19970 VkDevice device,
19971 VkDeferredOperationKHR deferredOperation,
19972 uint32_t infoCount,
19973 const VkMicromapBuildInfoEXT* pInfos);
19974 #endif
19975
19976 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
19977 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMicromapEXT(
19978 VkDevice device,
19979 VkDeferredOperationKHR deferredOperation,
19980 const VkCopyMicromapInfoEXT* pInfo);
19981 #endif
19982
19983 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
19984 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMicromapToMemoryEXT(
19985 VkDevice device,
19986 VkDeferredOperationKHR deferredOperation,
19987 const VkCopyMicromapToMemoryInfoEXT* pInfo);
19988 #endif
19989
19990 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
19991 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToMicromapEXT(
19992 VkDevice device,
19993 VkDeferredOperationKHR deferredOperation,
19994 const VkCopyMemoryToMicromapInfoEXT* pInfo);
19995 #endif
19996
19997 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
19998 VKAPI_ATTR VkResult VKAPI_CALL vkWriteMicromapsPropertiesEXT(
19999 VkDevice device,
20000 uint32_t micromapCount,
20001 const VkMicromapEXT* pMicromaps,
20002 VkQueryType queryType,
20003 size_t dataSize,
20004 void* pData,
20005 size_t stride);
20006 #endif
20007
20008 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
20009 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMicromapEXT(
20010 VkCommandBuffer commandBuffer,
20011 const VkCopyMicromapInfoEXT* pInfo);
20012 #endif
20013
20014 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
20015 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMicromapToMemoryEXT(
20016 VkCommandBuffer commandBuffer,
20017 const VkCopyMicromapToMemoryInfoEXT* pInfo);
20018 #endif
20019
20020 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
20021 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToMicromapEXT(
20022 VkCommandBuffer commandBuffer,
20023 const VkCopyMemoryToMicromapInfoEXT* pInfo);
20024 #endif
20025
20026 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
20027 VKAPI_ATTR void VKAPI_CALL vkCmdWriteMicromapsPropertiesEXT(
20028 VkCommandBuffer commandBuffer,
20029 uint32_t micromapCount,
20030 const VkMicromapEXT* pMicromaps,
20031 VkQueryType queryType,
20032 VkQueryPool queryPool,
20033 uint32_t firstQuery);
20034 #endif
20035
20036 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
20037 VKAPI_ATTR void VKAPI_CALL vkGetDeviceMicromapCompatibilityEXT(
20038 VkDevice device,
20039 const VkMicromapVersionInfoEXT* pVersionInfo,
20040 VkAccelerationStructureCompatibilityKHR* pCompatibility);
20041 #endif
20042
20043 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
20044 VKAPI_ATTR void VKAPI_CALL vkGetMicromapBuildSizesEXT(
20045 VkDevice device,
20046 VkAccelerationStructureBuildTypeKHR buildType,
20047 const VkMicromapBuildInfoEXT* pBuildInfo,
20048 VkMicromapBuildSizesInfoEXT* pSizeInfo);
20049 #endif
20050 #endif
20051
20052
20053 // VK_EXT_load_store_op_none is a preprocessor guard. Do not pass it to API calls.
20054 #define VK_EXT_load_store_op_none 1
20055 #define VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION 1
20056 #define VK_EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME "VK_EXT_load_store_op_none"
20057
20058
20059 // VK_HUAWEI_cluster_culling_shader is a preprocessor guard. Do not pass it to API calls.
20060 #define VK_HUAWEI_cluster_culling_shader 1
20061 #define VK_HUAWEI_CLUSTER_CULLING_SHADER_SPEC_VERSION 3
20062 #define VK_HUAWEI_CLUSTER_CULLING_SHADER_EXTENSION_NAME "VK_HUAWEI_cluster_culling_shader"
20063 typedef struct VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI {
20064 VkStructureType sType;
20065 void* pNext;
20066 VkBool32 clustercullingShader;
20067 VkBool32 multiviewClusterCullingShader;
20068 } VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI;
20069
20070 typedef struct VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI {
20071 VkStructureType sType;
20072 void* pNext;
20073 uint32_t maxWorkGroupCount[3];
20074 uint32_t maxWorkGroupSize[3];
20075 uint32_t maxOutputClusterCount;
20076 VkDeviceSize indirectBufferOffsetAlignment;
20077 } VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI;
20078
20079 typedef struct VkPhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI {
20080 VkStructureType sType;
20081 void* pNext;
20082 VkBool32 clusterShadingRate;
20083 } VkPhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI;
20084
20085 typedef void (VKAPI_PTR *PFN_vkCmdDrawClusterHUAWEI)(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ);
20086 typedef void (VKAPI_PTR *PFN_vkCmdDrawClusterIndirectHUAWEI)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset);
20087
20088 #ifndef VK_NO_PROTOTYPES
20089 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
20090 VKAPI_ATTR void VKAPI_CALL vkCmdDrawClusterHUAWEI(
20091 VkCommandBuffer commandBuffer,
20092 uint32_t groupCountX,
20093 uint32_t groupCountY,
20094 uint32_t groupCountZ);
20095 #endif
20096
20097 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
20098 VKAPI_ATTR void VKAPI_CALL vkCmdDrawClusterIndirectHUAWEI(
20099 VkCommandBuffer commandBuffer,
20100 VkBuffer buffer,
20101 VkDeviceSize offset);
20102 #endif
20103 #endif
20104
20105
20106 // VK_EXT_border_color_swizzle is a preprocessor guard. Do not pass it to API calls.
20107 #define VK_EXT_border_color_swizzle 1
20108 #define VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION 1
20109 #define VK_EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME "VK_EXT_border_color_swizzle"
20110 typedef struct VkPhysicalDeviceBorderColorSwizzleFeaturesEXT {
20111 VkStructureType sType;
20112 void* pNext;
20113 VkBool32 borderColorSwizzle;
20114 VkBool32 borderColorSwizzleFromImage;
20115 } VkPhysicalDeviceBorderColorSwizzleFeaturesEXT;
20116
20117 typedef struct VkSamplerBorderColorComponentMappingCreateInfoEXT {
20118 VkStructureType sType;
20119 const void* pNext;
20120 VkComponentMapping components;
20121 VkBool32 srgb;
20122 } VkSamplerBorderColorComponentMappingCreateInfoEXT;
20123
20124
20125
20126 // VK_EXT_pageable_device_local_memory is a preprocessor guard. Do not pass it to API calls.
20127 #define VK_EXT_pageable_device_local_memory 1
20128 #define VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION 1
20129 #define VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME "VK_EXT_pageable_device_local_memory"
20130 typedef struct VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT {
20131 VkStructureType sType;
20132 void* pNext;
20133 VkBool32 pageableDeviceLocalMemory;
20134 } VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT;
20135
20136 typedef void (VKAPI_PTR *PFN_vkSetDeviceMemoryPriorityEXT)(VkDevice device, VkDeviceMemory memory, float priority);
20137
20138 #ifndef VK_NO_PROTOTYPES
20139 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
20140 VKAPI_ATTR void VKAPI_CALL vkSetDeviceMemoryPriorityEXT(
20141 VkDevice device,
20142 VkDeviceMemory memory,
20143 float priority);
20144 #endif
20145 #endif
20146
20147
20148 // VK_ARM_shader_core_properties is a preprocessor guard. Do not pass it to API calls.
20149 #define VK_ARM_shader_core_properties 1
20150 #define VK_ARM_SHADER_CORE_PROPERTIES_SPEC_VERSION 1
20151 #define VK_ARM_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_ARM_shader_core_properties"
20152 typedef struct VkPhysicalDeviceShaderCorePropertiesARM {
20153 VkStructureType sType;
20154 void* pNext;
20155 uint32_t pixelRate;
20156 uint32_t texelRate;
20157 uint32_t fmaRate;
20158 } VkPhysicalDeviceShaderCorePropertiesARM;
20159
20160
20161
20162 // VK_ARM_scheduling_controls is a preprocessor guard. Do not pass it to API calls.
20163 #define VK_ARM_scheduling_controls 1
20164 #define VK_ARM_SCHEDULING_CONTROLS_SPEC_VERSION 1
20165 #define VK_ARM_SCHEDULING_CONTROLS_EXTENSION_NAME "VK_ARM_scheduling_controls"
20166 typedef VkFlags64 VkPhysicalDeviceSchedulingControlsFlagsARM;
20167
20168 // Flag bits for VkPhysicalDeviceSchedulingControlsFlagBitsARM
20169 typedef VkFlags64 VkPhysicalDeviceSchedulingControlsFlagBitsARM;
20170 static const VkPhysicalDeviceSchedulingControlsFlagBitsARM VK_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_SHADER_CORE_COUNT_ARM = 0x00000001ULL;
20171
20172 typedef struct VkDeviceQueueShaderCoreControlCreateInfoARM {
20173 VkStructureType sType;
20174 void* pNext;
20175 uint32_t shaderCoreCount;
20176 } VkDeviceQueueShaderCoreControlCreateInfoARM;
20177
20178 typedef struct VkPhysicalDeviceSchedulingControlsFeaturesARM {
20179 VkStructureType sType;
20180 void* pNext;
20181 VkBool32 schedulingControls;
20182 } VkPhysicalDeviceSchedulingControlsFeaturesARM;
20183
20184 typedef struct VkPhysicalDeviceSchedulingControlsPropertiesARM {
20185 VkStructureType sType;
20186 void* pNext;
20187 VkPhysicalDeviceSchedulingControlsFlagsARM schedulingControlsFlags;
20188 } VkPhysicalDeviceSchedulingControlsPropertiesARM;
20189
20190
20191
20192 // VK_EXT_image_sliced_view_of_3d is a preprocessor guard. Do not pass it to API calls.
20193 #define VK_EXT_image_sliced_view_of_3d 1
20194 #define VK_EXT_IMAGE_SLICED_VIEW_OF_3D_SPEC_VERSION 1
20195 #define VK_EXT_IMAGE_SLICED_VIEW_OF_3D_EXTENSION_NAME "VK_EXT_image_sliced_view_of_3d"
20196 #define VK_REMAINING_3D_SLICES_EXT (~0U)
20197 typedef struct VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT {
20198 VkStructureType sType;
20199 void* pNext;
20200 VkBool32 imageSlicedViewOf3D;
20201 } VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT;
20202
20203 typedef struct VkImageViewSlicedCreateInfoEXT {
20204 VkStructureType sType;
20205 const void* pNext;
20206 uint32_t sliceOffset;
20207 uint32_t sliceCount;
20208 } VkImageViewSlicedCreateInfoEXT;
20209
20210
20211
20212 // VK_VALVE_descriptor_set_host_mapping is a preprocessor guard. Do not pass it to API calls.
20213 #define VK_VALVE_descriptor_set_host_mapping 1
20214 #define VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_SPEC_VERSION 1
20215 #define VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_EXTENSION_NAME "VK_VALVE_descriptor_set_host_mapping"
20216 typedef struct VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE {
20217 VkStructureType sType;
20218 void* pNext;
20219 VkBool32 descriptorSetHostMapping;
20220 } VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE;
20221
20222 typedef struct VkDescriptorSetBindingReferenceVALVE {
20223 VkStructureType sType;
20224 const void* pNext;
20225 VkDescriptorSetLayout descriptorSetLayout;
20226 uint32_t binding;
20227 } VkDescriptorSetBindingReferenceVALVE;
20228
20229 typedef struct VkDescriptorSetLayoutHostMappingInfoVALVE {
20230 VkStructureType sType;
20231 void* pNext;
20232 size_t descriptorOffset;
20233 uint32_t descriptorSize;
20234 } VkDescriptorSetLayoutHostMappingInfoVALVE;
20235
20236 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE)(VkDevice device, const VkDescriptorSetBindingReferenceVALVE* pBindingReference, VkDescriptorSetLayoutHostMappingInfoVALVE* pHostMapping);
20237 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetHostMappingVALVE)(VkDevice device, VkDescriptorSet descriptorSet, void** ppData);
20238
20239 #ifndef VK_NO_PROTOTYPES
20240 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
20241 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutHostMappingInfoVALVE(
20242 VkDevice device,
20243 const VkDescriptorSetBindingReferenceVALVE* pBindingReference,
20244 VkDescriptorSetLayoutHostMappingInfoVALVE* pHostMapping);
20245 #endif
20246
20247 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
20248 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetHostMappingVALVE(
20249 VkDevice device,
20250 VkDescriptorSet descriptorSet,
20251 void** ppData);
20252 #endif
20253 #endif
20254
20255
20256 // VK_EXT_depth_clamp_zero_one is a preprocessor guard. Do not pass it to API calls.
20257 #define VK_EXT_depth_clamp_zero_one 1
20258 #define VK_EXT_DEPTH_CLAMP_ZERO_ONE_SPEC_VERSION 1
20259 #define VK_EXT_DEPTH_CLAMP_ZERO_ONE_EXTENSION_NAME "VK_EXT_depth_clamp_zero_one"
20260 typedef VkPhysicalDeviceDepthClampZeroOneFeaturesKHR VkPhysicalDeviceDepthClampZeroOneFeaturesEXT;
20261
20262
20263
20264 // VK_EXT_non_seamless_cube_map is a preprocessor guard. Do not pass it to API calls.
20265 #define VK_EXT_non_seamless_cube_map 1
20266 #define VK_EXT_NON_SEAMLESS_CUBE_MAP_SPEC_VERSION 1
20267 #define VK_EXT_NON_SEAMLESS_CUBE_MAP_EXTENSION_NAME "VK_EXT_non_seamless_cube_map"
20268 typedef struct VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT {
20269 VkStructureType sType;
20270 void* pNext;
20271 VkBool32 nonSeamlessCubeMap;
20272 } VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT;
20273
20274
20275
20276 // VK_ARM_render_pass_striped is a preprocessor guard. Do not pass it to API calls.
20277 #define VK_ARM_render_pass_striped 1
20278 #define VK_ARM_RENDER_PASS_STRIPED_SPEC_VERSION 1
20279 #define VK_ARM_RENDER_PASS_STRIPED_EXTENSION_NAME "VK_ARM_render_pass_striped"
20280 typedef struct VkPhysicalDeviceRenderPassStripedFeaturesARM {
20281 VkStructureType sType;
20282 void* pNext;
20283 VkBool32 renderPassStriped;
20284 } VkPhysicalDeviceRenderPassStripedFeaturesARM;
20285
20286 typedef struct VkPhysicalDeviceRenderPassStripedPropertiesARM {
20287 VkStructureType sType;
20288 void* pNext;
20289 VkExtent2D renderPassStripeGranularity;
20290 uint32_t maxRenderPassStripes;
20291 } VkPhysicalDeviceRenderPassStripedPropertiesARM;
20292
20293 typedef struct VkRenderPassStripeInfoARM {
20294 VkStructureType sType;
20295 const void* pNext;
20296 VkRect2D stripeArea;
20297 } VkRenderPassStripeInfoARM;
20298
20299 typedef struct VkRenderPassStripeBeginInfoARM {
20300 VkStructureType sType;
20301 const void* pNext;
20302 uint32_t stripeInfoCount;
20303 const VkRenderPassStripeInfoARM* pStripeInfos;
20304 } VkRenderPassStripeBeginInfoARM;
20305
20306 typedef struct VkRenderPassStripeSubmitInfoARM {
20307 VkStructureType sType;
20308 const void* pNext;
20309 uint32_t stripeSemaphoreInfoCount;
20310 const VkSemaphoreSubmitInfo* pStripeSemaphoreInfos;
20311 } VkRenderPassStripeSubmitInfoARM;
20312
20313
20314
20315 // VK_QCOM_fragment_density_map_offset is a preprocessor guard. Do not pass it to API calls.
20316 #define VK_QCOM_fragment_density_map_offset 1
20317 #define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION 3
20318 #define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME "VK_QCOM_fragment_density_map_offset"
20319 typedef struct VkPhysicalDeviceFragmentDensityMapOffsetFeaturesEXT {
20320 VkStructureType sType;
20321 void* pNext;
20322 VkBool32 fragmentDensityMapOffset;
20323 } VkPhysicalDeviceFragmentDensityMapOffsetFeaturesEXT;
20324
20325 typedef VkPhysicalDeviceFragmentDensityMapOffsetFeaturesEXT VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM;
20326
20327 typedef struct VkPhysicalDeviceFragmentDensityMapOffsetPropertiesEXT {
20328 VkStructureType sType;
20329 void* pNext;
20330 VkExtent2D fragmentDensityOffsetGranularity;
20331 } VkPhysicalDeviceFragmentDensityMapOffsetPropertiesEXT;
20332
20333 typedef VkPhysicalDeviceFragmentDensityMapOffsetPropertiesEXT VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM;
20334
20335 typedef struct VkRenderPassFragmentDensityMapOffsetEndInfoEXT {
20336 VkStructureType sType;
20337 const void* pNext;
20338 uint32_t fragmentDensityOffsetCount;
20339 const VkOffset2D* pFragmentDensityOffsets;
20340 } VkRenderPassFragmentDensityMapOffsetEndInfoEXT;
20341
20342 typedef VkRenderPassFragmentDensityMapOffsetEndInfoEXT VkSubpassFragmentDensityMapOffsetEndInfoQCOM;
20343
20344
20345
20346 // VK_NV_copy_memory_indirect is a preprocessor guard. Do not pass it to API calls.
20347 #define VK_NV_copy_memory_indirect 1
20348 #define VK_NV_COPY_MEMORY_INDIRECT_SPEC_VERSION 1
20349 #define VK_NV_COPY_MEMORY_INDIRECT_EXTENSION_NAME "VK_NV_copy_memory_indirect"
20350 typedef VkCopyMemoryIndirectCommandKHR VkCopyMemoryIndirectCommandNV;
20351
20352 typedef VkCopyMemoryToImageIndirectCommandKHR VkCopyMemoryToImageIndirectCommandNV;
20353
20354 typedef struct VkPhysicalDeviceCopyMemoryIndirectFeaturesNV {
20355 VkStructureType sType;
20356 void* pNext;
20357 VkBool32 indirectCopy;
20358 } VkPhysicalDeviceCopyMemoryIndirectFeaturesNV;
20359
20360 typedef VkPhysicalDeviceCopyMemoryIndirectPropertiesKHR VkPhysicalDeviceCopyMemoryIndirectPropertiesNV;
20361
20362 typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryIndirectNV)(VkCommandBuffer commandBuffer, VkDeviceAddress copyBufferAddress, uint32_t copyCount, uint32_t stride);
20363 typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToImageIndirectNV)(VkCommandBuffer commandBuffer, VkDeviceAddress copyBufferAddress, uint32_t copyCount, uint32_t stride, VkImage dstImage, VkImageLayout dstImageLayout, const VkImageSubresourceLayers* pImageSubresources);
20364
20365 #ifndef VK_NO_PROTOTYPES
20366 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
20367 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryIndirectNV(
20368 VkCommandBuffer commandBuffer,
20369 VkDeviceAddress copyBufferAddress,
20370 uint32_t copyCount,
20371 uint32_t stride);
20372 #endif
20373
20374 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
20375 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToImageIndirectNV(
20376 VkCommandBuffer commandBuffer,
20377 VkDeviceAddress copyBufferAddress,
20378 uint32_t copyCount,
20379 uint32_t stride,
20380 VkImage dstImage,
20381 VkImageLayout dstImageLayout,
20382 const VkImageSubresourceLayers* pImageSubresources);
20383 #endif
20384 #endif
20385
20386
20387 // VK_NV_memory_decompression is a preprocessor guard. Do not pass it to API calls.
20388 #define VK_NV_memory_decompression 1
20389 #define VK_NV_MEMORY_DECOMPRESSION_SPEC_VERSION 1
20390 #define VK_NV_MEMORY_DECOMPRESSION_EXTENSION_NAME "VK_NV_memory_decompression"
20391
20392 // Flag bits for VkMemoryDecompressionMethodFlagBitsEXT
20393 typedef VkFlags64 VkMemoryDecompressionMethodFlagBitsEXT;
20394 static const VkMemoryDecompressionMethodFlagBitsEXT VK_MEMORY_DECOMPRESSION_METHOD_GDEFLATE_1_0_BIT_EXT = 0x00000001ULL;
20395 static const VkMemoryDecompressionMethodFlagBitsEXT VK_MEMORY_DECOMPRESSION_METHOD_GDEFLATE_1_0_BIT_NV = 0x00000001ULL;
20396
20397 typedef VkMemoryDecompressionMethodFlagBitsEXT VkMemoryDecompressionMethodFlagBitsNV;
20398
20399 typedef VkFlags64 VkMemoryDecompressionMethodFlagsEXT;
20400 typedef VkMemoryDecompressionMethodFlagsEXT VkMemoryDecompressionMethodFlagsNV;
20401
20402 typedef struct VkDecompressMemoryRegionNV {
20403 VkDeviceAddress srcAddress;
20404 VkDeviceAddress dstAddress;
20405 VkDeviceSize compressedSize;
20406 VkDeviceSize decompressedSize;
20407 VkMemoryDecompressionMethodFlagsNV decompressionMethod;
20408 } VkDecompressMemoryRegionNV;
20409
20410 typedef struct VkPhysicalDeviceMemoryDecompressionFeaturesEXT {
20411 VkStructureType sType;
20412 void* pNext;
20413 VkBool32 memoryDecompression;
20414 } VkPhysicalDeviceMemoryDecompressionFeaturesEXT;
20415
20416 typedef VkPhysicalDeviceMemoryDecompressionFeaturesEXT VkPhysicalDeviceMemoryDecompressionFeaturesNV;
20417
20418 typedef struct VkPhysicalDeviceMemoryDecompressionPropertiesEXT {
20419 VkStructureType sType;
20420 void* pNext;
20421 VkMemoryDecompressionMethodFlagsEXT decompressionMethods;
20422 uint64_t maxDecompressionIndirectCount;
20423 } VkPhysicalDeviceMemoryDecompressionPropertiesEXT;
20424
20425 typedef VkPhysicalDeviceMemoryDecompressionPropertiesEXT VkPhysicalDeviceMemoryDecompressionPropertiesNV;
20426
20427 typedef void (VKAPI_PTR *PFN_vkCmdDecompressMemoryNV)(VkCommandBuffer commandBuffer, uint32_t decompressRegionCount, const VkDecompressMemoryRegionNV* pDecompressMemoryRegions);
20428 typedef void (VKAPI_PTR *PFN_vkCmdDecompressMemoryIndirectCountNV)(VkCommandBuffer commandBuffer, VkDeviceAddress indirectCommandsAddress, VkDeviceAddress indirectCommandsCountAddress, uint32_t stride);
20429
20430 #ifndef VK_NO_PROTOTYPES
20431 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
20432 VKAPI_ATTR void VKAPI_CALL vkCmdDecompressMemoryNV(
20433 VkCommandBuffer commandBuffer,
20434 uint32_t decompressRegionCount,
20435 const VkDecompressMemoryRegionNV* pDecompressMemoryRegions);
20436 #endif
20437
20438 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
20439 VKAPI_ATTR void VKAPI_CALL vkCmdDecompressMemoryIndirectCountNV(
20440 VkCommandBuffer commandBuffer,
20441 VkDeviceAddress indirectCommandsAddress,
20442 VkDeviceAddress indirectCommandsCountAddress,
20443 uint32_t stride);
20444 #endif
20445 #endif
20446
20447
20448 // VK_NV_device_generated_commands_compute is a preprocessor guard. Do not pass it to API calls.
20449 #define VK_NV_device_generated_commands_compute 1
20450 #define VK_NV_DEVICE_GENERATED_COMMANDS_COMPUTE_SPEC_VERSION 2
20451 #define VK_NV_DEVICE_GENERATED_COMMANDS_COMPUTE_EXTENSION_NAME "VK_NV_device_generated_commands_compute"
20452 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV {
20453 VkStructureType sType;
20454 void* pNext;
20455 VkBool32 deviceGeneratedCompute;
20456 VkBool32 deviceGeneratedComputePipelines;
20457 VkBool32 deviceGeneratedComputeCaptureReplay;
20458 } VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV;
20459
20460 typedef struct VkComputePipelineIndirectBufferInfoNV {
20461 VkStructureType sType;
20462 const void* pNext;
20463 VkDeviceAddress deviceAddress;
20464 VkDeviceSize size;
20465 VkDeviceAddress pipelineDeviceAddressCaptureReplay;
20466 } VkComputePipelineIndirectBufferInfoNV;
20467
20468 typedef struct VkPipelineIndirectDeviceAddressInfoNV {
20469 VkStructureType sType;
20470 const void* pNext;
20471 VkPipelineBindPoint pipelineBindPoint;
20472 VkPipeline pipeline;
20473 } VkPipelineIndirectDeviceAddressInfoNV;
20474
20475 typedef struct VkBindPipelineIndirectCommandNV {
20476 VkDeviceAddress pipelineAddress;
20477 } VkBindPipelineIndirectCommandNV;
20478
20479 typedef void (VKAPI_PTR *PFN_vkGetPipelineIndirectMemoryRequirementsNV)(VkDevice device, const VkComputePipelineCreateInfo* pCreateInfo, VkMemoryRequirements2* pMemoryRequirements);
20480 typedef void (VKAPI_PTR *PFN_vkCmdUpdatePipelineIndirectBufferNV)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline);
20481 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetPipelineIndirectDeviceAddressNV)(VkDevice device, const VkPipelineIndirectDeviceAddressInfoNV* pInfo);
20482
20483 #ifndef VK_NO_PROTOTYPES
20484 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
20485 VKAPI_ATTR void VKAPI_CALL vkGetPipelineIndirectMemoryRequirementsNV(
20486 VkDevice device,
20487 const VkComputePipelineCreateInfo* pCreateInfo,
20488 VkMemoryRequirements2* pMemoryRequirements);
20489 #endif
20490
20491 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
20492 VKAPI_ATTR void VKAPI_CALL vkCmdUpdatePipelineIndirectBufferNV(
20493 VkCommandBuffer commandBuffer,
20494 VkPipelineBindPoint pipelineBindPoint,
20495 VkPipeline pipeline);
20496 #endif
20497
20498 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
20499 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetPipelineIndirectDeviceAddressNV(
20500 VkDevice device,
20501 const VkPipelineIndirectDeviceAddressInfoNV* pInfo);
20502 #endif
20503 #endif
20504
20505
20506 // VK_NV_ray_tracing_linear_swept_spheres is a preprocessor guard. Do not pass it to API calls.
20507 #define VK_NV_ray_tracing_linear_swept_spheres 1
20508 #define VK_NV_RAY_TRACING_LINEAR_SWEPT_SPHERES_SPEC_VERSION 1
20509 #define VK_NV_RAY_TRACING_LINEAR_SWEPT_SPHERES_EXTENSION_NAME "VK_NV_ray_tracing_linear_swept_spheres"
20510
20511 typedef enum VkRayTracingLssIndexingModeNV {
20512 VK_RAY_TRACING_LSS_INDEXING_MODE_LIST_NV = 0,
20513 VK_RAY_TRACING_LSS_INDEXING_MODE_SUCCESSIVE_NV = 1,
20514 VK_RAY_TRACING_LSS_INDEXING_MODE_MAX_ENUM_NV = 0x7FFFFFFF
20515 } VkRayTracingLssIndexingModeNV;
20516
20517 typedef enum VkRayTracingLssPrimitiveEndCapsModeNV {
20518 VK_RAY_TRACING_LSS_PRIMITIVE_END_CAPS_MODE_NONE_NV = 0,
20519 VK_RAY_TRACING_LSS_PRIMITIVE_END_CAPS_MODE_CHAINED_NV = 1,
20520 VK_RAY_TRACING_LSS_PRIMITIVE_END_CAPS_MODE_MAX_ENUM_NV = 0x7FFFFFFF
20521 } VkRayTracingLssPrimitiveEndCapsModeNV;
20522 typedef struct VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV {
20523 VkStructureType sType;
20524 void* pNext;
20525 VkBool32 spheres;
20526 VkBool32 linearSweptSpheres;
20527 } VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV;
20528
20529 typedef struct VkAccelerationStructureGeometryLinearSweptSpheresDataNV {
20530 VkStructureType sType;
20531 const void* pNext;
20532 VkFormat vertexFormat;
20533 VkDeviceOrHostAddressConstKHR vertexData;
20534 VkDeviceSize vertexStride;
20535 VkFormat radiusFormat;
20536 VkDeviceOrHostAddressConstKHR radiusData;
20537 VkDeviceSize radiusStride;
20538 VkIndexType indexType;
20539 VkDeviceOrHostAddressConstKHR indexData;
20540 VkDeviceSize indexStride;
20541 VkRayTracingLssIndexingModeNV indexingMode;
20542 VkRayTracingLssPrimitiveEndCapsModeNV endCapsMode;
20543 } VkAccelerationStructureGeometryLinearSweptSpheresDataNV;
20544
20545 typedef struct VkAccelerationStructureGeometrySpheresDataNV {
20546 VkStructureType sType;
20547 const void* pNext;
20548 VkFormat vertexFormat;
20549 VkDeviceOrHostAddressConstKHR vertexData;
20550 VkDeviceSize vertexStride;
20551 VkFormat radiusFormat;
20552 VkDeviceOrHostAddressConstKHR radiusData;
20553 VkDeviceSize radiusStride;
20554 VkIndexType indexType;
20555 VkDeviceOrHostAddressConstKHR indexData;
20556 VkDeviceSize indexStride;
20557 } VkAccelerationStructureGeometrySpheresDataNV;
20558
20559
20560
20561 // VK_NV_linear_color_attachment is a preprocessor guard. Do not pass it to API calls.
20562 #define VK_NV_linear_color_attachment 1
20563 #define VK_NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION 1
20564 #define VK_NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME "VK_NV_linear_color_attachment"
20565 typedef struct VkPhysicalDeviceLinearColorAttachmentFeaturesNV {
20566 VkStructureType sType;
20567 void* pNext;
20568 VkBool32 linearColorAttachment;
20569 } VkPhysicalDeviceLinearColorAttachmentFeaturesNV;
20570
20571
20572
20573 // VK_GOOGLE_surfaceless_query is a preprocessor guard. Do not pass it to API calls.
20574 #define VK_GOOGLE_surfaceless_query 1
20575 #define VK_GOOGLE_SURFACELESS_QUERY_SPEC_VERSION 2
20576 #define VK_GOOGLE_SURFACELESS_QUERY_EXTENSION_NAME "VK_GOOGLE_surfaceless_query"
20577
20578
20579 // VK_EXT_image_compression_control_swapchain is a preprocessor guard. Do not pass it to API calls.
20580 #define VK_EXT_image_compression_control_swapchain 1
20581 #define VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_SPEC_VERSION 1
20582 #define VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_EXTENSION_NAME "VK_EXT_image_compression_control_swapchain"
20583 typedef struct VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT {
20584 VkStructureType sType;
20585 void* pNext;
20586 VkBool32 imageCompressionControlSwapchain;
20587 } VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT;
20588
20589
20590
20591 // VK_QCOM_image_processing is a preprocessor guard. Do not pass it to API calls.
20592 #define VK_QCOM_image_processing 1
20593 #define VK_QCOM_IMAGE_PROCESSING_SPEC_VERSION 1
20594 #define VK_QCOM_IMAGE_PROCESSING_EXTENSION_NAME "VK_QCOM_image_processing"
20595 typedef struct VkImageViewSampleWeightCreateInfoQCOM {
20596 VkStructureType sType;
20597 const void* pNext;
20598 VkOffset2D filterCenter;
20599 VkExtent2D filterSize;
20600 uint32_t numPhases;
20601 } VkImageViewSampleWeightCreateInfoQCOM;
20602
20603 typedef struct VkPhysicalDeviceImageProcessingFeaturesQCOM {
20604 VkStructureType sType;
20605 void* pNext;
20606 VkBool32 textureSampleWeighted;
20607 VkBool32 textureBoxFilter;
20608 VkBool32 textureBlockMatch;
20609 } VkPhysicalDeviceImageProcessingFeaturesQCOM;
20610
20611 typedef struct VkPhysicalDeviceImageProcessingPropertiesQCOM {
20612 VkStructureType sType;
20613 void* pNext;
20614 uint32_t maxWeightFilterPhases;
20615 VkExtent2D maxWeightFilterDimension;
20616 VkExtent2D maxBlockMatchRegion;
20617 VkExtent2D maxBoxFilterBlockSize;
20618 } VkPhysicalDeviceImageProcessingPropertiesQCOM;
20619
20620
20621
20622 // VK_EXT_nested_command_buffer is a preprocessor guard. Do not pass it to API calls.
20623 #define VK_EXT_nested_command_buffer 1
20624 #define VK_EXT_NESTED_COMMAND_BUFFER_SPEC_VERSION 1
20625 #define VK_EXT_NESTED_COMMAND_BUFFER_EXTENSION_NAME "VK_EXT_nested_command_buffer"
20626 typedef struct VkPhysicalDeviceNestedCommandBufferFeaturesEXT {
20627 VkStructureType sType;
20628 void* pNext;
20629 VkBool32 nestedCommandBuffer;
20630 VkBool32 nestedCommandBufferRendering;
20631 VkBool32 nestedCommandBufferSimultaneousUse;
20632 } VkPhysicalDeviceNestedCommandBufferFeaturesEXT;
20633
20634 typedef struct VkPhysicalDeviceNestedCommandBufferPropertiesEXT {
20635 VkStructureType sType;
20636 void* pNext;
20637 uint32_t maxCommandBufferNestingLevel;
20638 } VkPhysicalDeviceNestedCommandBufferPropertiesEXT;
20639
20640
20641
20642 // VK_EXT_external_memory_acquire_unmodified is a preprocessor guard. Do not pass it to API calls.
20643 #define VK_EXT_external_memory_acquire_unmodified 1
20644 #define VK_EXT_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_SPEC_VERSION 1
20645 #define VK_EXT_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_EXTENSION_NAME "VK_EXT_external_memory_acquire_unmodified"
20646 typedef struct VkExternalMemoryAcquireUnmodifiedEXT {
20647 VkStructureType sType;
20648 const void* pNext;
20649 VkBool32 acquireUnmodifiedMemory;
20650 } VkExternalMemoryAcquireUnmodifiedEXT;
20651
20652
20653
20654 // VK_EXT_extended_dynamic_state3 is a preprocessor guard. Do not pass it to API calls.
20655 #define VK_EXT_extended_dynamic_state3 1
20656 #define VK_EXT_EXTENDED_DYNAMIC_STATE_3_SPEC_VERSION 2
20657 #define VK_EXT_EXTENDED_DYNAMIC_STATE_3_EXTENSION_NAME "VK_EXT_extended_dynamic_state3"
20658 typedef struct VkPhysicalDeviceExtendedDynamicState3FeaturesEXT {
20659 VkStructureType sType;
20660 void* pNext;
20661 VkBool32 extendedDynamicState3TessellationDomainOrigin;
20662 VkBool32 extendedDynamicState3DepthClampEnable;
20663 VkBool32 extendedDynamicState3PolygonMode;
20664 VkBool32 extendedDynamicState3RasterizationSamples;
20665 VkBool32 extendedDynamicState3SampleMask;
20666 VkBool32 extendedDynamicState3AlphaToCoverageEnable;
20667 VkBool32 extendedDynamicState3AlphaToOneEnable;
20668 VkBool32 extendedDynamicState3LogicOpEnable;
20669 VkBool32 extendedDynamicState3ColorBlendEnable;
20670 VkBool32 extendedDynamicState3ColorBlendEquation;
20671 VkBool32 extendedDynamicState3ColorWriteMask;
20672 VkBool32 extendedDynamicState3RasterizationStream;
20673 VkBool32 extendedDynamicState3ConservativeRasterizationMode;
20674 VkBool32 extendedDynamicState3ExtraPrimitiveOverestimationSize;
20675 VkBool32 extendedDynamicState3DepthClipEnable;
20676 VkBool32 extendedDynamicState3SampleLocationsEnable;
20677 VkBool32 extendedDynamicState3ColorBlendAdvanced;
20678 VkBool32 extendedDynamicState3ProvokingVertexMode;
20679 VkBool32 extendedDynamicState3LineRasterizationMode;
20680 VkBool32 extendedDynamicState3LineStippleEnable;
20681 VkBool32 extendedDynamicState3DepthClipNegativeOneToOne;
20682 VkBool32 extendedDynamicState3ViewportWScalingEnable;
20683 VkBool32 extendedDynamicState3ViewportSwizzle;
20684 VkBool32 extendedDynamicState3CoverageToColorEnable;
20685 VkBool32 extendedDynamicState3CoverageToColorLocation;
20686 VkBool32 extendedDynamicState3CoverageModulationMode;
20687 VkBool32 extendedDynamicState3CoverageModulationTableEnable;
20688 VkBool32 extendedDynamicState3CoverageModulationTable;
20689 VkBool32 extendedDynamicState3CoverageReductionMode;
20690 VkBool32 extendedDynamicState3RepresentativeFragmentTestEnable;
20691 VkBool32 extendedDynamicState3ShadingRateImageEnable;
20692 } VkPhysicalDeviceExtendedDynamicState3FeaturesEXT;
20693
20694 typedef struct VkPhysicalDeviceExtendedDynamicState3PropertiesEXT {
20695 VkStructureType sType;
20696 void* pNext;
20697 VkBool32 dynamicPrimitiveTopologyUnrestricted;
20698 } VkPhysicalDeviceExtendedDynamicState3PropertiesEXT;
20699
20700 typedef struct VkColorBlendEquationEXT {
20701 VkBlendFactor srcColorBlendFactor;
20702 VkBlendFactor dstColorBlendFactor;
20703 VkBlendOp colorBlendOp;
20704 VkBlendFactor srcAlphaBlendFactor;
20705 VkBlendFactor dstAlphaBlendFactor;
20706 VkBlendOp alphaBlendOp;
20707 } VkColorBlendEquationEXT;
20708
20709 typedef struct VkColorBlendAdvancedEXT {
20710 VkBlendOp advancedBlendOp;
20711 VkBool32 srcPremultiplied;
20712 VkBool32 dstPremultiplied;
20713 VkBlendOverlapEXT blendOverlap;
20714 VkBool32 clampResults;
20715 } VkColorBlendAdvancedEXT;
20716
20717 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthClampEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthClampEnable);
20718 typedef void (VKAPI_PTR *PFN_vkCmdSetPolygonModeEXT)(VkCommandBuffer commandBuffer, VkPolygonMode polygonMode);
20719 typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizationSamplesEXT)(VkCommandBuffer commandBuffer, VkSampleCountFlagBits rasterizationSamples);
20720 typedef void (VKAPI_PTR *PFN_vkCmdSetSampleMaskEXT)(VkCommandBuffer commandBuffer, VkSampleCountFlagBits samples, const VkSampleMask* pSampleMask);
20721 typedef void (VKAPI_PTR *PFN_vkCmdSetAlphaToCoverageEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 alphaToCoverageEnable);
20722 typedef void (VKAPI_PTR *PFN_vkCmdSetAlphaToOneEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 alphaToOneEnable);
20723 typedef void (VKAPI_PTR *PFN_vkCmdSetLogicOpEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 logicOpEnable);
20724 typedef void (VKAPI_PTR *PFN_vkCmdSetColorBlendEnableEXT)(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkBool32* pColorBlendEnables);
20725 typedef void (VKAPI_PTR *PFN_vkCmdSetColorBlendEquationEXT)(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorBlendEquationEXT* pColorBlendEquations);
20726 typedef void (VKAPI_PTR *PFN_vkCmdSetColorWriteMaskEXT)(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorComponentFlags* pColorWriteMasks);
20727 typedef void (VKAPI_PTR *PFN_vkCmdSetTessellationDomainOriginEXT)(VkCommandBuffer commandBuffer, VkTessellationDomainOrigin domainOrigin);
20728 typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizationStreamEXT)(VkCommandBuffer commandBuffer, uint32_t rasterizationStream);
20729 typedef void (VKAPI_PTR *PFN_vkCmdSetConservativeRasterizationModeEXT)(VkCommandBuffer commandBuffer, VkConservativeRasterizationModeEXT conservativeRasterizationMode);
20730 typedef void (VKAPI_PTR *PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT)(VkCommandBuffer commandBuffer, float extraPrimitiveOverestimationSize);
20731 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthClipEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthClipEnable);
20732 typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 sampleLocationsEnable);
20733 typedef void (VKAPI_PTR *PFN_vkCmdSetColorBlendAdvancedEXT)(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorBlendAdvancedEXT* pColorBlendAdvanced);
20734 typedef void (VKAPI_PTR *PFN_vkCmdSetProvokingVertexModeEXT)(VkCommandBuffer commandBuffer, VkProvokingVertexModeEXT provokingVertexMode);
20735 typedef void (VKAPI_PTR *PFN_vkCmdSetLineRasterizationModeEXT)(VkCommandBuffer commandBuffer, VkLineRasterizationModeEXT lineRasterizationMode);
20736 typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 stippledLineEnable);
20737 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthClipNegativeOneToOneEXT)(VkCommandBuffer commandBuffer, VkBool32 negativeOneToOne);
20738 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingEnableNV)(VkCommandBuffer commandBuffer, VkBool32 viewportWScalingEnable);
20739 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportSwizzleNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportSwizzleNV* pViewportSwizzles);
20740 typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageToColorEnableNV)(VkCommandBuffer commandBuffer, VkBool32 coverageToColorEnable);
20741 typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageToColorLocationNV)(VkCommandBuffer commandBuffer, uint32_t coverageToColorLocation);
20742 typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageModulationModeNV)(VkCommandBuffer commandBuffer, VkCoverageModulationModeNV coverageModulationMode);
20743 typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageModulationTableEnableNV)(VkCommandBuffer commandBuffer, VkBool32 coverageModulationTableEnable);
20744 typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageModulationTableNV)(VkCommandBuffer commandBuffer, uint32_t coverageModulationTableCount, const float* pCoverageModulationTable);
20745 typedef void (VKAPI_PTR *PFN_vkCmdSetShadingRateImageEnableNV)(VkCommandBuffer commandBuffer, VkBool32 shadingRateImageEnable);
20746 typedef void (VKAPI_PTR *PFN_vkCmdSetRepresentativeFragmentTestEnableNV)(VkCommandBuffer commandBuffer, VkBool32 representativeFragmentTestEnable);
20747 typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageReductionModeNV)(VkCommandBuffer commandBuffer, VkCoverageReductionModeNV coverageReductionMode);
20748
20749 #ifndef VK_NO_PROTOTYPES
20750 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
20751 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthClampEnableEXT(
20752 VkCommandBuffer commandBuffer,
20753 VkBool32 depthClampEnable);
20754 #endif
20755
20756 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
20757 VKAPI_ATTR void VKAPI_CALL vkCmdSetPolygonModeEXT(
20758 VkCommandBuffer commandBuffer,
20759 VkPolygonMode polygonMode);
20760 #endif
20761
20762 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
20763 VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizationSamplesEXT(
20764 VkCommandBuffer commandBuffer,
20765 VkSampleCountFlagBits rasterizationSamples);
20766 #endif
20767
20768 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
20769 VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleMaskEXT(
20770 VkCommandBuffer commandBuffer,
20771 VkSampleCountFlagBits samples,
20772 const VkSampleMask* pSampleMask);
20773 #endif
20774
20775 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
20776 VKAPI_ATTR void VKAPI_CALL vkCmdSetAlphaToCoverageEnableEXT(
20777 VkCommandBuffer commandBuffer,
20778 VkBool32 alphaToCoverageEnable);
20779 #endif
20780
20781 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
20782 VKAPI_ATTR void VKAPI_CALL vkCmdSetAlphaToOneEnableEXT(
20783 VkCommandBuffer commandBuffer,
20784 VkBool32 alphaToOneEnable);
20785 #endif
20786
20787 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
20788 VKAPI_ATTR void VKAPI_CALL vkCmdSetLogicOpEnableEXT(
20789 VkCommandBuffer commandBuffer,
20790 VkBool32 logicOpEnable);
20791 #endif
20792
20793 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
20794 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorBlendEnableEXT(
20795 VkCommandBuffer commandBuffer,
20796 uint32_t firstAttachment,
20797 uint32_t attachmentCount,
20798 const VkBool32* pColorBlendEnables);
20799 #endif
20800
20801 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
20802 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorBlendEquationEXT(
20803 VkCommandBuffer commandBuffer,
20804 uint32_t firstAttachment,
20805 uint32_t attachmentCount,
20806 const VkColorBlendEquationEXT* pColorBlendEquations);
20807 #endif
20808
20809 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
20810 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorWriteMaskEXT(
20811 VkCommandBuffer commandBuffer,
20812 uint32_t firstAttachment,
20813 uint32_t attachmentCount,
20814 const VkColorComponentFlags* pColorWriteMasks);
20815 #endif
20816
20817 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
20818 VKAPI_ATTR void VKAPI_CALL vkCmdSetTessellationDomainOriginEXT(
20819 VkCommandBuffer commandBuffer,
20820 VkTessellationDomainOrigin domainOrigin);
20821 #endif
20822
20823 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
20824 VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizationStreamEXT(
20825 VkCommandBuffer commandBuffer,
20826 uint32_t rasterizationStream);
20827 #endif
20828
20829 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
20830 VKAPI_ATTR void VKAPI_CALL vkCmdSetConservativeRasterizationModeEXT(
20831 VkCommandBuffer commandBuffer,
20832 VkConservativeRasterizationModeEXT conservativeRasterizationMode);
20833 #endif
20834
20835 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
20836 VKAPI_ATTR void VKAPI_CALL vkCmdSetExtraPrimitiveOverestimationSizeEXT(
20837 VkCommandBuffer commandBuffer,
20838 float extraPrimitiveOverestimationSize);
20839 #endif
20840
20841 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
20842 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthClipEnableEXT(
20843 VkCommandBuffer commandBuffer,
20844 VkBool32 depthClipEnable);
20845 #endif
20846
20847 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
20848 VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleLocationsEnableEXT(
20849 VkCommandBuffer commandBuffer,
20850 VkBool32 sampleLocationsEnable);
20851 #endif
20852
20853 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
20854 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorBlendAdvancedEXT(
20855 VkCommandBuffer commandBuffer,
20856 uint32_t firstAttachment,
20857 uint32_t attachmentCount,
20858 const VkColorBlendAdvancedEXT* pColorBlendAdvanced);
20859 #endif
20860
20861 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
20862 VKAPI_ATTR void VKAPI_CALL vkCmdSetProvokingVertexModeEXT(
20863 VkCommandBuffer commandBuffer,
20864 VkProvokingVertexModeEXT provokingVertexMode);
20865 #endif
20866
20867 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
20868 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineRasterizationModeEXT(
20869 VkCommandBuffer commandBuffer,
20870 VkLineRasterizationModeEXT lineRasterizationMode);
20871 #endif
20872
20873 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
20874 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleEnableEXT(
20875 VkCommandBuffer commandBuffer,
20876 VkBool32 stippledLineEnable);
20877 #endif
20878
20879 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
20880 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthClipNegativeOneToOneEXT(
20881 VkCommandBuffer commandBuffer,
20882 VkBool32 negativeOneToOne);
20883 #endif
20884
20885 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
20886 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWScalingEnableNV(
20887 VkCommandBuffer commandBuffer,
20888 VkBool32 viewportWScalingEnable);
20889 #endif
20890
20891 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
20892 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportSwizzleNV(
20893 VkCommandBuffer commandBuffer,
20894 uint32_t firstViewport,
20895 uint32_t viewportCount,
20896 const VkViewportSwizzleNV* pViewportSwizzles);
20897 #endif
20898
20899 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
20900 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageToColorEnableNV(
20901 VkCommandBuffer commandBuffer,
20902 VkBool32 coverageToColorEnable);
20903 #endif
20904
20905 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
20906 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageToColorLocationNV(
20907 VkCommandBuffer commandBuffer,
20908 uint32_t coverageToColorLocation);
20909 #endif
20910
20911 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
20912 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageModulationModeNV(
20913 VkCommandBuffer commandBuffer,
20914 VkCoverageModulationModeNV coverageModulationMode);
20915 #endif
20916
20917 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
20918 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageModulationTableEnableNV(
20919 VkCommandBuffer commandBuffer,
20920 VkBool32 coverageModulationTableEnable);
20921 #endif
20922
20923 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
20924 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageModulationTableNV(
20925 VkCommandBuffer commandBuffer,
20926 uint32_t coverageModulationTableCount,
20927 const float* pCoverageModulationTable);
20928 #endif
20929
20930 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
20931 VKAPI_ATTR void VKAPI_CALL vkCmdSetShadingRateImageEnableNV(
20932 VkCommandBuffer commandBuffer,
20933 VkBool32 shadingRateImageEnable);
20934 #endif
20935
20936 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
20937 VKAPI_ATTR void VKAPI_CALL vkCmdSetRepresentativeFragmentTestEnableNV(
20938 VkCommandBuffer commandBuffer,
20939 VkBool32 representativeFragmentTestEnable);
20940 #endif
20941
20942 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
20943 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageReductionModeNV(
20944 VkCommandBuffer commandBuffer,
20945 VkCoverageReductionModeNV coverageReductionMode);
20946 #endif
20947 #endif
20948
20949
20950 // VK_EXT_subpass_merge_feedback is a preprocessor guard. Do not pass it to API calls.
20951 #define VK_EXT_subpass_merge_feedback 1
20952 #define VK_EXT_SUBPASS_MERGE_FEEDBACK_SPEC_VERSION 2
20953 #define VK_EXT_SUBPASS_MERGE_FEEDBACK_EXTENSION_NAME "VK_EXT_subpass_merge_feedback"
20954
20955 typedef enum VkSubpassMergeStatusEXT {
20956 VK_SUBPASS_MERGE_STATUS_MERGED_EXT = 0,
20957 VK_SUBPASS_MERGE_STATUS_DISALLOWED_EXT = 1,
20958 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SIDE_EFFECTS_EXT = 2,
20959 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SAMPLES_MISMATCH_EXT = 3,
20960 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_VIEWS_MISMATCH_EXT = 4,
20961 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_ALIASING_EXT = 5,
20962 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPENDENCIES_EXT = 6,
20963 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INCOMPATIBLE_INPUT_ATTACHMENT_EXT = 7,
20964 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_TOO_MANY_ATTACHMENTS_EXT = 8,
20965 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INSUFFICIENT_STORAGE_EXT = 9,
20966 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPTH_STENCIL_COUNT_EXT = 10,
20967 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_RESOLVE_ATTACHMENT_REUSE_EXT = 11,
20968 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SINGLE_SUBPASS_EXT = 12,
20969 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_UNSPECIFIED_EXT = 13,
20970 VK_SUBPASS_MERGE_STATUS_MAX_ENUM_EXT = 0x7FFFFFFF
20971 } VkSubpassMergeStatusEXT;
20972 typedef struct VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT {
20973 VkStructureType sType;
20974 void* pNext;
20975 VkBool32 subpassMergeFeedback;
20976 } VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT;
20977
20978 typedef struct VkRenderPassCreationControlEXT {
20979 VkStructureType sType;
20980 const void* pNext;
20981 VkBool32 disallowMerging;
20982 } VkRenderPassCreationControlEXT;
20983
20984 typedef struct VkRenderPassCreationFeedbackInfoEXT {
20985 uint32_t postMergeSubpassCount;
20986 } VkRenderPassCreationFeedbackInfoEXT;
20987
20988 typedef struct VkRenderPassCreationFeedbackCreateInfoEXT {
20989 VkStructureType sType;
20990 const void* pNext;
20991 VkRenderPassCreationFeedbackInfoEXT* pRenderPassFeedback;
20992 } VkRenderPassCreationFeedbackCreateInfoEXT;
20993
20994 typedef struct VkRenderPassSubpassFeedbackInfoEXT {
20995 VkSubpassMergeStatusEXT subpassMergeStatus;
20996 char description[VK_MAX_DESCRIPTION_SIZE];
20997 uint32_t postMergeIndex;
20998 } VkRenderPassSubpassFeedbackInfoEXT;
20999
21000 typedef struct VkRenderPassSubpassFeedbackCreateInfoEXT {
21001 VkStructureType sType;
21002 const void* pNext;
21003 VkRenderPassSubpassFeedbackInfoEXT* pSubpassFeedback;
21004 } VkRenderPassSubpassFeedbackCreateInfoEXT;
21005
21006
21007
21008 // VK_LUNARG_direct_driver_loading is a preprocessor guard. Do not pass it to API calls.
21009 #define VK_LUNARG_direct_driver_loading 1
21010 #define VK_LUNARG_DIRECT_DRIVER_LOADING_SPEC_VERSION 1
21011 #define VK_LUNARG_DIRECT_DRIVER_LOADING_EXTENSION_NAME "VK_LUNARG_direct_driver_loading"
21012
21013 typedef enum VkDirectDriverLoadingModeLUNARG {
21014 VK_DIRECT_DRIVER_LOADING_MODE_EXCLUSIVE_LUNARG = 0,
21015 VK_DIRECT_DRIVER_LOADING_MODE_INCLUSIVE_LUNARG = 1,
21016 VK_DIRECT_DRIVER_LOADING_MODE_MAX_ENUM_LUNARG = 0x7FFFFFFF
21017 } VkDirectDriverLoadingModeLUNARG;
21018 typedef VkFlags VkDirectDriverLoadingFlagsLUNARG;
21019 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddrLUNARG)(
21020 VkInstance instance, const char* pName);
21021
21022 typedef struct VkDirectDriverLoadingInfoLUNARG {
21023 VkStructureType sType;
21024 void* pNext;
21025 VkDirectDriverLoadingFlagsLUNARG flags;
21026 PFN_vkGetInstanceProcAddrLUNARG pfnGetInstanceProcAddr;
21027 } VkDirectDriverLoadingInfoLUNARG;
21028
21029 typedef struct VkDirectDriverLoadingListLUNARG {
21030 VkStructureType sType;
21031 const void* pNext;
21032 VkDirectDriverLoadingModeLUNARG mode;
21033 uint32_t driverCount;
21034 const VkDirectDriverLoadingInfoLUNARG* pDrivers;
21035 } VkDirectDriverLoadingListLUNARG;
21036
21037
21038
21039 // VK_ARM_tensors is a preprocessor guard. Do not pass it to API calls.
21040 #define VK_ARM_tensors 1
21041 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkTensorARM)
21042 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkTensorViewARM)
21043 #define VK_ARM_TENSORS_SPEC_VERSION 1
21044 #define VK_ARM_TENSORS_EXTENSION_NAME "VK_ARM_tensors"
21045
21046 typedef enum VkTensorTilingARM {
21047 VK_TENSOR_TILING_OPTIMAL_ARM = 0,
21048 VK_TENSOR_TILING_LINEAR_ARM = 1,
21049 VK_TENSOR_TILING_MAX_ENUM_ARM = 0x7FFFFFFF
21050 } VkTensorTilingARM;
21051 typedef VkFlags64 VkTensorCreateFlagsARM;
21052
21053 // Flag bits for VkTensorCreateFlagBitsARM
21054 typedef VkFlags64 VkTensorCreateFlagBitsARM;
21055 static const VkTensorCreateFlagBitsARM VK_TENSOR_CREATE_MUTABLE_FORMAT_BIT_ARM = 0x00000001ULL;
21056 static const VkTensorCreateFlagBitsARM VK_TENSOR_CREATE_PROTECTED_BIT_ARM = 0x00000002ULL;
21057 static const VkTensorCreateFlagBitsARM VK_TENSOR_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_ARM = 0x00000004ULL;
21058
21059 typedef VkFlags64 VkTensorViewCreateFlagsARM;
21060
21061 // Flag bits for VkTensorViewCreateFlagBitsARM
21062 typedef VkFlags64 VkTensorViewCreateFlagBitsARM;
21063 static const VkTensorViewCreateFlagBitsARM VK_TENSOR_VIEW_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_ARM = 0x00000001ULL;
21064
21065 typedef VkFlags64 VkTensorUsageFlagsARM;
21066
21067 // Flag bits for VkTensorUsageFlagBitsARM
21068 typedef VkFlags64 VkTensorUsageFlagBitsARM;
21069 static const VkTensorUsageFlagBitsARM VK_TENSOR_USAGE_SHADER_BIT_ARM = 0x00000002ULL;
21070 static const VkTensorUsageFlagBitsARM VK_TENSOR_USAGE_TRANSFER_SRC_BIT_ARM = 0x00000004ULL;
21071 static const VkTensorUsageFlagBitsARM VK_TENSOR_USAGE_TRANSFER_DST_BIT_ARM = 0x00000008ULL;
21072 static const VkTensorUsageFlagBitsARM VK_TENSOR_USAGE_IMAGE_ALIASING_BIT_ARM = 0x00000010ULL;
21073 static const VkTensorUsageFlagBitsARM VK_TENSOR_USAGE_DATA_GRAPH_BIT_ARM = 0x00000020ULL;
21074
21075 typedef struct VkTensorDescriptionARM {
21076 VkStructureType sType;
21077 const void* pNext;
21078 VkTensorTilingARM tiling;
21079 VkFormat format;
21080 uint32_t dimensionCount;
21081 const int64_t* pDimensions;
21082 const int64_t* pStrides;
21083 VkTensorUsageFlagsARM usage;
21084 } VkTensorDescriptionARM;
21085
21086 typedef struct VkTensorCreateInfoARM {
21087 VkStructureType sType;
21088 const void* pNext;
21089 VkTensorCreateFlagsARM flags;
21090 const VkTensorDescriptionARM* pDescription;
21091 VkSharingMode sharingMode;
21092 uint32_t queueFamilyIndexCount;
21093 const uint32_t* pQueueFamilyIndices;
21094 } VkTensorCreateInfoARM;
21095
21096 typedef struct VkTensorViewCreateInfoARM {
21097 VkStructureType sType;
21098 const void* pNext;
21099 VkTensorViewCreateFlagsARM flags;
21100 VkTensorARM tensor;
21101 VkFormat format;
21102 } VkTensorViewCreateInfoARM;
21103
21104 typedef struct VkTensorMemoryRequirementsInfoARM {
21105 VkStructureType sType;
21106 const void* pNext;
21107 VkTensorARM tensor;
21108 } VkTensorMemoryRequirementsInfoARM;
21109
21110 typedef struct VkBindTensorMemoryInfoARM {
21111 VkStructureType sType;
21112 const void* pNext;
21113 VkTensorARM tensor;
21114 VkDeviceMemory memory;
21115 VkDeviceSize memoryOffset;
21116 } VkBindTensorMemoryInfoARM;
21117
21118 typedef struct VkWriteDescriptorSetTensorARM {
21119 VkStructureType sType;
21120 const void* pNext;
21121 uint32_t tensorViewCount;
21122 const VkTensorViewARM* pTensorViews;
21123 } VkWriteDescriptorSetTensorARM;
21124
21125 typedef struct VkTensorFormatPropertiesARM {
21126 VkStructureType sType;
21127 void* pNext;
21128 VkFormatFeatureFlags2 optimalTilingTensorFeatures;
21129 VkFormatFeatureFlags2 linearTilingTensorFeatures;
21130 } VkTensorFormatPropertiesARM;
21131
21132 typedef struct VkPhysicalDeviceTensorPropertiesARM {
21133 VkStructureType sType;
21134 void* pNext;
21135 uint32_t maxTensorDimensionCount;
21136 uint64_t maxTensorElements;
21137 uint64_t maxPerDimensionTensorElements;
21138 int64_t maxTensorStride;
21139 uint64_t maxTensorSize;
21140 uint32_t maxTensorShaderAccessArrayLength;
21141 uint32_t maxTensorShaderAccessSize;
21142 uint32_t maxDescriptorSetStorageTensors;
21143 uint32_t maxPerStageDescriptorSetStorageTensors;
21144 uint32_t maxDescriptorSetUpdateAfterBindStorageTensors;
21145 uint32_t maxPerStageDescriptorUpdateAfterBindStorageTensors;
21146 VkBool32 shaderStorageTensorArrayNonUniformIndexingNative;
21147 VkShaderStageFlags shaderTensorSupportedStages;
21148 } VkPhysicalDeviceTensorPropertiesARM;
21149
21150 typedef struct VkTensorMemoryBarrierARM {
21151 VkStructureType sType;
21152 const void* pNext;
21153 VkPipelineStageFlags2 srcStageMask;
21154 VkAccessFlags2 srcAccessMask;
21155 VkPipelineStageFlags2 dstStageMask;
21156 VkAccessFlags2 dstAccessMask;
21157 uint32_t srcQueueFamilyIndex;
21158 uint32_t dstQueueFamilyIndex;
21159 VkTensorARM tensor;
21160 } VkTensorMemoryBarrierARM;
21161
21162 typedef struct VkTensorDependencyInfoARM {
21163 VkStructureType sType;
21164 const void* pNext;
21165 uint32_t tensorMemoryBarrierCount;
21166 const VkTensorMemoryBarrierARM* pTensorMemoryBarriers;
21167 } VkTensorDependencyInfoARM;
21168
21169 typedef struct VkPhysicalDeviceTensorFeaturesARM {
21170 VkStructureType sType;
21171 void* pNext;
21172 VkBool32 tensorNonPacked;
21173 VkBool32 shaderTensorAccess;
21174 VkBool32 shaderStorageTensorArrayDynamicIndexing;
21175 VkBool32 shaderStorageTensorArrayNonUniformIndexing;
21176 VkBool32 descriptorBindingStorageTensorUpdateAfterBind;
21177 VkBool32 tensors;
21178 } VkPhysicalDeviceTensorFeaturesARM;
21179
21180 typedef struct VkDeviceTensorMemoryRequirementsARM {
21181 VkStructureType sType;
21182 const void* pNext;
21183 const VkTensorCreateInfoARM* pCreateInfo;
21184 } VkDeviceTensorMemoryRequirementsARM;
21185
21186 typedef struct VkTensorCopyARM {
21187 VkStructureType sType;
21188 const void* pNext;
21189 uint32_t dimensionCount;
21190 const uint64_t* pSrcOffset;
21191 const uint64_t* pDstOffset;
21192 const uint64_t* pExtent;
21193 } VkTensorCopyARM;
21194
21195 typedef struct VkCopyTensorInfoARM {
21196 VkStructureType sType;
21197 const void* pNext;
21198 VkTensorARM srcTensor;
21199 VkTensorARM dstTensor;
21200 uint32_t regionCount;
21201 const VkTensorCopyARM* pRegions;
21202 } VkCopyTensorInfoARM;
21203
21204 typedef struct VkMemoryDedicatedAllocateInfoTensorARM {
21205 VkStructureType sType;
21206 const void* pNext;
21207 VkTensorARM tensor;
21208 } VkMemoryDedicatedAllocateInfoTensorARM;
21209
21210 typedef struct VkPhysicalDeviceExternalTensorInfoARM {
21211 VkStructureType sType;
21212 const void* pNext;
21213 VkTensorCreateFlagsARM flags;
21214 const VkTensorDescriptionARM* pDescription;
21215 VkExternalMemoryHandleTypeFlagBits handleType;
21216 } VkPhysicalDeviceExternalTensorInfoARM;
21217
21218 typedef struct VkExternalTensorPropertiesARM {
21219 VkStructureType sType;
21220 const void* pNext;
21221 VkExternalMemoryProperties externalMemoryProperties;
21222 } VkExternalTensorPropertiesARM;
21223
21224 typedef struct VkExternalMemoryTensorCreateInfoARM {
21225 VkStructureType sType;
21226 const void* pNext;
21227 VkExternalMemoryHandleTypeFlags handleTypes;
21228 } VkExternalMemoryTensorCreateInfoARM;
21229
21230 typedef struct VkPhysicalDeviceDescriptorBufferTensorFeaturesARM {
21231 VkStructureType sType;
21232 void* pNext;
21233 VkBool32 descriptorBufferTensorDescriptors;
21234 } VkPhysicalDeviceDescriptorBufferTensorFeaturesARM;
21235
21236 typedef struct VkPhysicalDeviceDescriptorBufferTensorPropertiesARM {
21237 VkStructureType sType;
21238 void* pNext;
21239 size_t tensorCaptureReplayDescriptorDataSize;
21240 size_t tensorViewCaptureReplayDescriptorDataSize;
21241 size_t tensorDescriptorSize;
21242 } VkPhysicalDeviceDescriptorBufferTensorPropertiesARM;
21243
21244 typedef struct VkDescriptorGetTensorInfoARM {
21245 VkStructureType sType;
21246 const void* pNext;
21247 VkTensorViewARM tensorView;
21248 } VkDescriptorGetTensorInfoARM;
21249
21250 typedef struct VkTensorCaptureDescriptorDataInfoARM {
21251 VkStructureType sType;
21252 const void* pNext;
21253 VkTensorARM tensor;
21254 } VkTensorCaptureDescriptorDataInfoARM;
21255
21256 typedef struct VkTensorViewCaptureDescriptorDataInfoARM {
21257 VkStructureType sType;
21258 const void* pNext;
21259 VkTensorViewARM tensorView;
21260 } VkTensorViewCaptureDescriptorDataInfoARM;
21261
21262 typedef struct VkFrameBoundaryTensorsARM {
21263 VkStructureType sType;
21264 const void* pNext;
21265 uint32_t tensorCount;
21266 const VkTensorARM* pTensors;
21267 } VkFrameBoundaryTensorsARM;
21268
21269 typedef VkResult (VKAPI_PTR *PFN_vkCreateTensorARM)(VkDevice device, const VkTensorCreateInfoARM* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkTensorARM* pTensor);
21270 typedef void (VKAPI_PTR *PFN_vkDestroyTensorARM)(VkDevice device, VkTensorARM tensor, const VkAllocationCallbacks* pAllocator);
21271 typedef VkResult (VKAPI_PTR *PFN_vkCreateTensorViewARM)(VkDevice device, const VkTensorViewCreateInfoARM* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkTensorViewARM* pView);
21272 typedef void (VKAPI_PTR *PFN_vkDestroyTensorViewARM)(VkDevice device, VkTensorViewARM tensorView, const VkAllocationCallbacks* pAllocator);
21273 typedef void (VKAPI_PTR *PFN_vkGetTensorMemoryRequirementsARM)(VkDevice device, const VkTensorMemoryRequirementsInfoARM* pInfo, VkMemoryRequirements2* pMemoryRequirements);
21274 typedef VkResult (VKAPI_PTR *PFN_vkBindTensorMemoryARM)(VkDevice device, uint32_t bindInfoCount, const VkBindTensorMemoryInfoARM* pBindInfos);
21275 typedef void (VKAPI_PTR *PFN_vkGetDeviceTensorMemoryRequirementsARM)(VkDevice device, const VkDeviceTensorMemoryRequirementsARM* pInfo, VkMemoryRequirements2* pMemoryRequirements);
21276 typedef void (VKAPI_PTR *PFN_vkCmdCopyTensorARM)(VkCommandBuffer commandBuffer, const VkCopyTensorInfoARM* pCopyTensorInfo);
21277 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalTensorPropertiesARM)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalTensorInfoARM* pExternalTensorInfo, VkExternalTensorPropertiesARM* pExternalTensorProperties);
21278 typedef VkResult (VKAPI_PTR *PFN_vkGetTensorOpaqueCaptureDescriptorDataARM)(VkDevice device, const VkTensorCaptureDescriptorDataInfoARM* pInfo, void* pData);
21279 typedef VkResult (VKAPI_PTR *PFN_vkGetTensorViewOpaqueCaptureDescriptorDataARM)(VkDevice device, const VkTensorViewCaptureDescriptorDataInfoARM* pInfo, void* pData);
21280
21281 #ifndef VK_NO_PROTOTYPES
21282 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
21283 VKAPI_ATTR VkResult VKAPI_CALL vkCreateTensorARM(
21284 VkDevice device,
21285 const VkTensorCreateInfoARM* pCreateInfo,
21286 const VkAllocationCallbacks* pAllocator,
21287 VkTensorARM* pTensor);
21288 #endif
21289
21290 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
21291 VKAPI_ATTR void VKAPI_CALL vkDestroyTensorARM(
21292 VkDevice device,
21293 VkTensorARM tensor,
21294 const VkAllocationCallbacks* pAllocator);
21295 #endif
21296
21297 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
21298 VKAPI_ATTR VkResult VKAPI_CALL vkCreateTensorViewARM(
21299 VkDevice device,
21300 const VkTensorViewCreateInfoARM* pCreateInfo,
21301 const VkAllocationCallbacks* pAllocator,
21302 VkTensorViewARM* pView);
21303 #endif
21304
21305 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
21306 VKAPI_ATTR void VKAPI_CALL vkDestroyTensorViewARM(
21307 VkDevice device,
21308 VkTensorViewARM tensorView,
21309 const VkAllocationCallbacks* pAllocator);
21310 #endif
21311
21312 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
21313 VKAPI_ATTR void VKAPI_CALL vkGetTensorMemoryRequirementsARM(
21314 VkDevice device,
21315 const VkTensorMemoryRequirementsInfoARM* pInfo,
21316 VkMemoryRequirements2* pMemoryRequirements);
21317 #endif
21318
21319 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
21320 VKAPI_ATTR VkResult VKAPI_CALL vkBindTensorMemoryARM(
21321 VkDevice device,
21322 uint32_t bindInfoCount,
21323 const VkBindTensorMemoryInfoARM* pBindInfos);
21324 #endif
21325
21326 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
21327 VKAPI_ATTR void VKAPI_CALL vkGetDeviceTensorMemoryRequirementsARM(
21328 VkDevice device,
21329 const VkDeviceTensorMemoryRequirementsARM* pInfo,
21330 VkMemoryRequirements2* pMemoryRequirements);
21331 #endif
21332
21333 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
21334 VKAPI_ATTR void VKAPI_CALL vkCmdCopyTensorARM(
21335 VkCommandBuffer commandBuffer,
21336 const VkCopyTensorInfoARM* pCopyTensorInfo);
21337 #endif
21338
21339 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
21340 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalTensorPropertiesARM(
21341 VkPhysicalDevice physicalDevice,
21342 const VkPhysicalDeviceExternalTensorInfoARM* pExternalTensorInfo,
21343 VkExternalTensorPropertiesARM* pExternalTensorProperties);
21344 #endif
21345
21346 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
21347 VKAPI_ATTR VkResult VKAPI_CALL vkGetTensorOpaqueCaptureDescriptorDataARM(
21348 VkDevice device,
21349 const VkTensorCaptureDescriptorDataInfoARM* pInfo,
21350 void* pData);
21351 #endif
21352
21353 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
21354 VKAPI_ATTR VkResult VKAPI_CALL vkGetTensorViewOpaqueCaptureDescriptorDataARM(
21355 VkDevice device,
21356 const VkTensorViewCaptureDescriptorDataInfoARM* pInfo,
21357 void* pData);
21358 #endif
21359 #endif
21360
21361
21362 // VK_EXT_shader_module_identifier is a preprocessor guard. Do not pass it to API calls.
21363 #define VK_EXT_shader_module_identifier 1
21364 #define VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT 32U
21365 #define VK_EXT_SHADER_MODULE_IDENTIFIER_SPEC_VERSION 1
21366 #define VK_EXT_SHADER_MODULE_IDENTIFIER_EXTENSION_NAME "VK_EXT_shader_module_identifier"
21367 typedef struct VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT {
21368 VkStructureType sType;
21369 void* pNext;
21370 VkBool32 shaderModuleIdentifier;
21371 } VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT;
21372
21373 typedef struct VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT {
21374 VkStructureType sType;
21375 void* pNext;
21376 uint8_t shaderModuleIdentifierAlgorithmUUID[VK_UUID_SIZE];
21377 } VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT;
21378
21379 typedef struct VkPipelineShaderStageModuleIdentifierCreateInfoEXT {
21380 VkStructureType sType;
21381 const void* pNext;
21382 uint32_t identifierSize;
21383 const uint8_t* pIdentifier;
21384 } VkPipelineShaderStageModuleIdentifierCreateInfoEXT;
21385
21386 typedef struct VkShaderModuleIdentifierEXT {
21387 VkStructureType sType;
21388 void* pNext;
21389 uint32_t identifierSize;
21390 uint8_t identifier[VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT];
21391 } VkShaderModuleIdentifierEXT;
21392
21393 typedef void (VKAPI_PTR *PFN_vkGetShaderModuleIdentifierEXT)(VkDevice device, VkShaderModule shaderModule, VkShaderModuleIdentifierEXT* pIdentifier);
21394 typedef void (VKAPI_PTR *PFN_vkGetShaderModuleCreateInfoIdentifierEXT)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, VkShaderModuleIdentifierEXT* pIdentifier);
21395
21396 #ifndef VK_NO_PROTOTYPES
21397 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
21398 VKAPI_ATTR void VKAPI_CALL vkGetShaderModuleIdentifierEXT(
21399 VkDevice device,
21400 VkShaderModule shaderModule,
21401 VkShaderModuleIdentifierEXT* pIdentifier);
21402 #endif
21403
21404 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
21405 VKAPI_ATTR void VKAPI_CALL vkGetShaderModuleCreateInfoIdentifierEXT(
21406 VkDevice device,
21407 const VkShaderModuleCreateInfo* pCreateInfo,
21408 VkShaderModuleIdentifierEXT* pIdentifier);
21409 #endif
21410 #endif
21411
21412
21413 // VK_EXT_rasterization_order_attachment_access is a preprocessor guard. Do not pass it to API calls.
21414 #define VK_EXT_rasterization_order_attachment_access 1
21415 #define VK_EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION 1
21416 #define VK_EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME "VK_EXT_rasterization_order_attachment_access"
21417
21418
21419 // VK_NV_optical_flow is a preprocessor guard. Do not pass it to API calls.
21420 #define VK_NV_optical_flow 1
21421 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkOpticalFlowSessionNV)
21422 #define VK_NV_OPTICAL_FLOW_SPEC_VERSION 1
21423 #define VK_NV_OPTICAL_FLOW_EXTENSION_NAME "VK_NV_optical_flow"
21424
21425 typedef enum VkOpticalFlowPerformanceLevelNV {
21426 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_UNKNOWN_NV = 0,
21427 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_SLOW_NV = 1,
21428 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_MEDIUM_NV = 2,
21429 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_FAST_NV = 3,
21430 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_MAX_ENUM_NV = 0x7FFFFFFF
21431 } VkOpticalFlowPerformanceLevelNV;
21432
21433 typedef enum VkOpticalFlowSessionBindingPointNV {
21434 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_UNKNOWN_NV = 0,
21435 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_INPUT_NV = 1,
21436 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_REFERENCE_NV = 2,
21437 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_HINT_NV = 3,
21438 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_FLOW_VECTOR_NV = 4,
21439 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_FLOW_VECTOR_NV = 5,
21440 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_COST_NV = 6,
21441 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_COST_NV = 7,
21442 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_GLOBAL_FLOW_NV = 8,
21443 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_MAX_ENUM_NV = 0x7FFFFFFF
21444 } VkOpticalFlowSessionBindingPointNV;
21445
21446 typedef enum VkOpticalFlowGridSizeFlagBitsNV {
21447 VK_OPTICAL_FLOW_GRID_SIZE_UNKNOWN_NV = 0,
21448 VK_OPTICAL_FLOW_GRID_SIZE_1X1_BIT_NV = 0x00000001,
21449 VK_OPTICAL_FLOW_GRID_SIZE_2X2_BIT_NV = 0x00000002,
21450 VK_OPTICAL_FLOW_GRID_SIZE_4X4_BIT_NV = 0x00000004,
21451 VK_OPTICAL_FLOW_GRID_SIZE_8X8_BIT_NV = 0x00000008,
21452 VK_OPTICAL_FLOW_GRID_SIZE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
21453 } VkOpticalFlowGridSizeFlagBitsNV;
21454 typedef VkFlags VkOpticalFlowGridSizeFlagsNV;
21455
21456 typedef enum VkOpticalFlowUsageFlagBitsNV {
21457 VK_OPTICAL_FLOW_USAGE_UNKNOWN_NV = 0,
21458 VK_OPTICAL_FLOW_USAGE_INPUT_BIT_NV = 0x00000001,
21459 VK_OPTICAL_FLOW_USAGE_OUTPUT_BIT_NV = 0x00000002,
21460 VK_OPTICAL_FLOW_USAGE_HINT_BIT_NV = 0x00000004,
21461 VK_OPTICAL_FLOW_USAGE_COST_BIT_NV = 0x00000008,
21462 VK_OPTICAL_FLOW_USAGE_GLOBAL_FLOW_BIT_NV = 0x00000010,
21463 VK_OPTICAL_FLOW_USAGE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
21464 } VkOpticalFlowUsageFlagBitsNV;
21465 typedef VkFlags VkOpticalFlowUsageFlagsNV;
21466
21467 typedef enum VkOpticalFlowSessionCreateFlagBitsNV {
21468 VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_HINT_BIT_NV = 0x00000001,
21469 VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_COST_BIT_NV = 0x00000002,
21470 VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_GLOBAL_FLOW_BIT_NV = 0x00000004,
21471 VK_OPTICAL_FLOW_SESSION_CREATE_ALLOW_REGIONS_BIT_NV = 0x00000008,
21472 VK_OPTICAL_FLOW_SESSION_CREATE_BOTH_DIRECTIONS_BIT_NV = 0x00000010,
21473 VK_OPTICAL_FLOW_SESSION_CREATE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
21474 } VkOpticalFlowSessionCreateFlagBitsNV;
21475 typedef VkFlags VkOpticalFlowSessionCreateFlagsNV;
21476
21477 typedef enum VkOpticalFlowExecuteFlagBitsNV {
21478 VK_OPTICAL_FLOW_EXECUTE_DISABLE_TEMPORAL_HINTS_BIT_NV = 0x00000001,
21479 VK_OPTICAL_FLOW_EXECUTE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
21480 } VkOpticalFlowExecuteFlagBitsNV;
21481 typedef VkFlags VkOpticalFlowExecuteFlagsNV;
21482 typedef struct VkPhysicalDeviceOpticalFlowFeaturesNV {
21483 VkStructureType sType;
21484 void* pNext;
21485 VkBool32 opticalFlow;
21486 } VkPhysicalDeviceOpticalFlowFeaturesNV;
21487
21488 typedef struct VkPhysicalDeviceOpticalFlowPropertiesNV {
21489 VkStructureType sType;
21490 void* pNext;
21491 VkOpticalFlowGridSizeFlagsNV supportedOutputGridSizes;
21492 VkOpticalFlowGridSizeFlagsNV supportedHintGridSizes;
21493 VkBool32 hintSupported;
21494 VkBool32 costSupported;
21495 VkBool32 bidirectionalFlowSupported;
21496 VkBool32 globalFlowSupported;
21497 uint32_t minWidth;
21498 uint32_t minHeight;
21499 uint32_t maxWidth;
21500 uint32_t maxHeight;
21501 uint32_t maxNumRegionsOfInterest;
21502 } VkPhysicalDeviceOpticalFlowPropertiesNV;
21503
21504 typedef struct VkOpticalFlowImageFormatInfoNV {
21505 VkStructureType sType;
21506 const void* pNext;
21507 VkOpticalFlowUsageFlagsNV usage;
21508 } VkOpticalFlowImageFormatInfoNV;
21509
21510 typedef struct VkOpticalFlowImageFormatPropertiesNV {
21511 VkStructureType sType;
21512 void* pNext;
21513 VkFormat format;
21514 } VkOpticalFlowImageFormatPropertiesNV;
21515
21516 typedef struct VkOpticalFlowSessionCreateInfoNV {
21517 VkStructureType sType;
21518 void* pNext;
21519 uint32_t width;
21520 uint32_t height;
21521 VkFormat imageFormat;
21522 VkFormat flowVectorFormat;
21523 VkFormat costFormat;
21524 VkOpticalFlowGridSizeFlagsNV outputGridSize;
21525 VkOpticalFlowGridSizeFlagsNV hintGridSize;
21526 VkOpticalFlowPerformanceLevelNV performanceLevel;
21527 VkOpticalFlowSessionCreateFlagsNV flags;
21528 } VkOpticalFlowSessionCreateInfoNV;
21529
21530 typedef struct VkOpticalFlowSessionCreatePrivateDataInfoNV {
21531 VkStructureType sType;
21532 void* pNext;
21533 uint32_t id;
21534 uint32_t size;
21535 const void* pPrivateData;
21536 } VkOpticalFlowSessionCreatePrivateDataInfoNV;
21537
21538 typedef struct VkOpticalFlowExecuteInfoNV {
21539 VkStructureType sType;
21540 void* pNext;
21541 VkOpticalFlowExecuteFlagsNV flags;
21542 uint32_t regionCount;
21543 const VkRect2D* pRegions;
21544 } VkOpticalFlowExecuteInfoNV;
21545
21546 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceOpticalFlowImageFormatsNV)(VkPhysicalDevice physicalDevice, const VkOpticalFlowImageFormatInfoNV* pOpticalFlowImageFormatInfo, uint32_t* pFormatCount, VkOpticalFlowImageFormatPropertiesNV* pImageFormatProperties);
21547 typedef VkResult (VKAPI_PTR *PFN_vkCreateOpticalFlowSessionNV)(VkDevice device, const VkOpticalFlowSessionCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkOpticalFlowSessionNV* pSession);
21548 typedef void (VKAPI_PTR *PFN_vkDestroyOpticalFlowSessionNV)(VkDevice device, VkOpticalFlowSessionNV session, const VkAllocationCallbacks* pAllocator);
21549 typedef VkResult (VKAPI_PTR *PFN_vkBindOpticalFlowSessionImageNV)(VkDevice device, VkOpticalFlowSessionNV session, VkOpticalFlowSessionBindingPointNV bindingPoint, VkImageView view, VkImageLayout layout);
21550 typedef void (VKAPI_PTR *PFN_vkCmdOpticalFlowExecuteNV)(VkCommandBuffer commandBuffer, VkOpticalFlowSessionNV session, const VkOpticalFlowExecuteInfoNV* pExecuteInfo);
21551
21552 #ifndef VK_NO_PROTOTYPES
21553 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
21554 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceOpticalFlowImageFormatsNV(
21555 VkPhysicalDevice physicalDevice,
21556 const VkOpticalFlowImageFormatInfoNV* pOpticalFlowImageFormatInfo,
21557 uint32_t* pFormatCount,
21558 VkOpticalFlowImageFormatPropertiesNV* pImageFormatProperties);
21559 #endif
21560
21561 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
21562 VKAPI_ATTR VkResult VKAPI_CALL vkCreateOpticalFlowSessionNV(
21563 VkDevice device,
21564 const VkOpticalFlowSessionCreateInfoNV* pCreateInfo,
21565 const VkAllocationCallbacks* pAllocator,
21566 VkOpticalFlowSessionNV* pSession);
21567 #endif
21568
21569 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
21570 VKAPI_ATTR void VKAPI_CALL vkDestroyOpticalFlowSessionNV(
21571 VkDevice device,
21572 VkOpticalFlowSessionNV session,
21573 const VkAllocationCallbacks* pAllocator);
21574 #endif
21575
21576 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
21577 VKAPI_ATTR VkResult VKAPI_CALL vkBindOpticalFlowSessionImageNV(
21578 VkDevice device,
21579 VkOpticalFlowSessionNV session,
21580 VkOpticalFlowSessionBindingPointNV bindingPoint,
21581 VkImageView view,
21582 VkImageLayout layout);
21583 #endif
21584
21585 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
21586 VKAPI_ATTR void VKAPI_CALL vkCmdOpticalFlowExecuteNV(
21587 VkCommandBuffer commandBuffer,
21588 VkOpticalFlowSessionNV session,
21589 const VkOpticalFlowExecuteInfoNV* pExecuteInfo);
21590 #endif
21591 #endif
21592
21593
21594 // VK_EXT_legacy_dithering is a preprocessor guard. Do not pass it to API calls.
21595 #define VK_EXT_legacy_dithering 1
21596 #define VK_EXT_LEGACY_DITHERING_SPEC_VERSION 2
21597 #define VK_EXT_LEGACY_DITHERING_EXTENSION_NAME "VK_EXT_legacy_dithering"
21598 typedef struct VkPhysicalDeviceLegacyDitheringFeaturesEXT {
21599 VkStructureType sType;
21600 void* pNext;
21601 VkBool32 legacyDithering;
21602 } VkPhysicalDeviceLegacyDitheringFeaturesEXT;
21603
21604
21605
21606 // VK_EXT_pipeline_protected_access is a preprocessor guard. Do not pass it to API calls.
21607 #define VK_EXT_pipeline_protected_access 1
21608 #define VK_EXT_PIPELINE_PROTECTED_ACCESS_SPEC_VERSION 1
21609 #define VK_EXT_PIPELINE_PROTECTED_ACCESS_EXTENSION_NAME "VK_EXT_pipeline_protected_access"
21610 typedef VkPhysicalDevicePipelineProtectedAccessFeatures VkPhysicalDevicePipelineProtectedAccessFeaturesEXT;
21611
21612
21613
21614 // VK_AMD_anti_lag is a preprocessor guard. Do not pass it to API calls.
21615 #define VK_AMD_anti_lag 1
21616 #define VK_AMD_ANTI_LAG_SPEC_VERSION 1
21617 #define VK_AMD_ANTI_LAG_EXTENSION_NAME "VK_AMD_anti_lag"
21618
21619 typedef enum VkAntiLagModeAMD {
21620 VK_ANTI_LAG_MODE_DRIVER_CONTROL_AMD = 0,
21621 VK_ANTI_LAG_MODE_ON_AMD = 1,
21622 VK_ANTI_LAG_MODE_OFF_AMD = 2,
21623 VK_ANTI_LAG_MODE_MAX_ENUM_AMD = 0x7FFFFFFF
21624 } VkAntiLagModeAMD;
21625
21626 typedef enum VkAntiLagStageAMD {
21627 VK_ANTI_LAG_STAGE_INPUT_AMD = 0,
21628 VK_ANTI_LAG_STAGE_PRESENT_AMD = 1,
21629 VK_ANTI_LAG_STAGE_MAX_ENUM_AMD = 0x7FFFFFFF
21630 } VkAntiLagStageAMD;
21631 typedef struct VkPhysicalDeviceAntiLagFeaturesAMD {
21632 VkStructureType sType;
21633 void* pNext;
21634 VkBool32 antiLag;
21635 } VkPhysicalDeviceAntiLagFeaturesAMD;
21636
21637 typedef struct VkAntiLagPresentationInfoAMD {
21638 VkStructureType sType;
21639 void* pNext;
21640 VkAntiLagStageAMD stage;
21641 uint64_t frameIndex;
21642 } VkAntiLagPresentationInfoAMD;
21643
21644 typedef struct VkAntiLagDataAMD {
21645 VkStructureType sType;
21646 const void* pNext;
21647 VkAntiLagModeAMD mode;
21648 uint32_t maxFPS;
21649 const VkAntiLagPresentationInfoAMD* pPresentationInfo;
21650 } VkAntiLagDataAMD;
21651
21652 typedef void (VKAPI_PTR *PFN_vkAntiLagUpdateAMD)(VkDevice device, const VkAntiLagDataAMD* pData);
21653
21654 #ifndef VK_NO_PROTOTYPES
21655 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
21656 VKAPI_ATTR void VKAPI_CALL vkAntiLagUpdateAMD(
21657 VkDevice device,
21658 const VkAntiLagDataAMD* pData);
21659 #endif
21660 #endif
21661
21662
21663 // VK_EXT_shader_object is a preprocessor guard. Do not pass it to API calls.
21664 #define VK_EXT_shader_object 1
21665 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderEXT)
21666 #define VK_EXT_SHADER_OBJECT_SPEC_VERSION 1
21667 #define VK_EXT_SHADER_OBJECT_EXTENSION_NAME "VK_EXT_shader_object"
21668
21669 typedef enum VkShaderCodeTypeEXT {
21670 VK_SHADER_CODE_TYPE_BINARY_EXT = 0,
21671 VK_SHADER_CODE_TYPE_SPIRV_EXT = 1,
21672 VK_SHADER_CODE_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
21673 } VkShaderCodeTypeEXT;
21674
21675 typedef enum VkDepthClampModeEXT {
21676 VK_DEPTH_CLAMP_MODE_VIEWPORT_RANGE_EXT = 0,
21677 VK_DEPTH_CLAMP_MODE_USER_DEFINED_RANGE_EXT = 1,
21678 VK_DEPTH_CLAMP_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
21679 } VkDepthClampModeEXT;
21680
21681 typedef enum VkShaderCreateFlagBitsEXT {
21682 VK_SHADER_CREATE_LINK_STAGE_BIT_EXT = 0x00000001,
21683 VK_SHADER_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = 0x00000002,
21684 VK_SHADER_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = 0x00000004,
21685 VK_SHADER_CREATE_NO_TASK_SHADER_BIT_EXT = 0x00000008,
21686 VK_SHADER_CREATE_DISPATCH_BASE_BIT_EXT = 0x00000010,
21687 VK_SHADER_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_EXT = 0x00000020,
21688 VK_SHADER_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 0x00000040,
21689 VK_SHADER_CREATE_INDIRECT_BINDABLE_BIT_EXT = 0x00000080,
21690 VK_SHADER_CREATE_64_BIT_INDEXING_BIT_EXT = 0x00008000,
21691 VK_SHADER_CREATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
21692 } VkShaderCreateFlagBitsEXT;
21693 typedef VkFlags VkShaderCreateFlagsEXT;
21694 typedef struct VkPhysicalDeviceShaderObjectFeaturesEXT {
21695 VkStructureType sType;
21696 void* pNext;
21697 VkBool32 shaderObject;
21698 } VkPhysicalDeviceShaderObjectFeaturesEXT;
21699
21700 typedef struct VkPhysicalDeviceShaderObjectPropertiesEXT {
21701 VkStructureType sType;
21702 void* pNext;
21703 uint8_t shaderBinaryUUID[VK_UUID_SIZE];
21704 uint32_t shaderBinaryVersion;
21705 } VkPhysicalDeviceShaderObjectPropertiesEXT;
21706
21707 typedef struct VkShaderCreateInfoEXT {
21708 VkStructureType sType;
21709 const void* pNext;
21710 VkShaderCreateFlagsEXT flags;
21711 VkShaderStageFlagBits stage;
21712 VkShaderStageFlags nextStage;
21713 VkShaderCodeTypeEXT codeType;
21714 size_t codeSize;
21715 const void* pCode;
21716 const char* pName;
21717 uint32_t setLayoutCount;
21718 const VkDescriptorSetLayout* pSetLayouts;
21719 uint32_t pushConstantRangeCount;
21720 const VkPushConstantRange* pPushConstantRanges;
21721 const VkSpecializationInfo* pSpecializationInfo;
21722 } VkShaderCreateInfoEXT;
21723
21724 typedef VkPipelineShaderStageRequiredSubgroupSizeCreateInfo VkShaderRequiredSubgroupSizeCreateInfoEXT;
21725
21726 typedef struct VkDepthClampRangeEXT {
21727 float minDepthClamp;
21728 float maxDepthClamp;
21729 } VkDepthClampRangeEXT;
21730
21731 typedef VkResult (VKAPI_PTR *PFN_vkCreateShadersEXT)(VkDevice device, uint32_t createInfoCount, const VkShaderCreateInfoEXT* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkShaderEXT* pShaders);
21732 typedef void (VKAPI_PTR *PFN_vkDestroyShaderEXT)(VkDevice device, VkShaderEXT shader, const VkAllocationCallbacks* pAllocator);
21733 typedef VkResult (VKAPI_PTR *PFN_vkGetShaderBinaryDataEXT)(VkDevice device, VkShaderEXT shader, size_t* pDataSize, void* pData);
21734 typedef void (VKAPI_PTR *PFN_vkCmdBindShadersEXT)(VkCommandBuffer commandBuffer, uint32_t stageCount, const VkShaderStageFlagBits* pStages, const VkShaderEXT* pShaders);
21735 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthClampRangeEXT)(VkCommandBuffer commandBuffer, VkDepthClampModeEXT depthClampMode, const VkDepthClampRangeEXT* pDepthClampRange);
21736
21737 #ifndef VK_NO_PROTOTYPES
21738 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
21739 VKAPI_ATTR VkResult VKAPI_CALL vkCreateShadersEXT(
21740 VkDevice device,
21741 uint32_t createInfoCount,
21742 const VkShaderCreateInfoEXT* pCreateInfos,
21743 const VkAllocationCallbacks* pAllocator,
21744 VkShaderEXT* pShaders);
21745 #endif
21746
21747 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
21748 VKAPI_ATTR void VKAPI_CALL vkDestroyShaderEXT(
21749 VkDevice device,
21750 VkShaderEXT shader,
21751 const VkAllocationCallbacks* pAllocator);
21752 #endif
21753
21754 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
21755 VKAPI_ATTR VkResult VKAPI_CALL vkGetShaderBinaryDataEXT(
21756 VkDevice device,
21757 VkShaderEXT shader,
21758 size_t* pDataSize,
21759 void* pData);
21760 #endif
21761
21762 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
21763 VKAPI_ATTR void VKAPI_CALL vkCmdBindShadersEXT(
21764 VkCommandBuffer commandBuffer,
21765 uint32_t stageCount,
21766 const VkShaderStageFlagBits* pStages,
21767 const VkShaderEXT* pShaders);
21768 #endif
21769
21770 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
21771 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthClampRangeEXT(
21772 VkCommandBuffer commandBuffer,
21773 VkDepthClampModeEXT depthClampMode,
21774 const VkDepthClampRangeEXT* pDepthClampRange);
21775 #endif
21776 #endif
21777
21778
21779 // VK_QCOM_tile_properties is a preprocessor guard. Do not pass it to API calls.
21780 #define VK_QCOM_tile_properties 1
21781 #define VK_QCOM_TILE_PROPERTIES_SPEC_VERSION 1
21782 #define VK_QCOM_TILE_PROPERTIES_EXTENSION_NAME "VK_QCOM_tile_properties"
21783 typedef struct VkPhysicalDeviceTilePropertiesFeaturesQCOM {
21784 VkStructureType sType;
21785 void* pNext;
21786 VkBool32 tileProperties;
21787 } VkPhysicalDeviceTilePropertiesFeaturesQCOM;
21788
21789 typedef struct VkTilePropertiesQCOM {
21790 VkStructureType sType;
21791 void* pNext;
21792 VkExtent3D tileSize;
21793 VkExtent2D apronSize;
21794 VkOffset2D origin;
21795 } VkTilePropertiesQCOM;
21796
21797 typedef VkResult (VKAPI_PTR *PFN_vkGetFramebufferTilePropertiesQCOM)(VkDevice device, VkFramebuffer framebuffer, uint32_t* pPropertiesCount, VkTilePropertiesQCOM* pProperties);
21798 typedef VkResult (VKAPI_PTR *PFN_vkGetDynamicRenderingTilePropertiesQCOM)(VkDevice device, const VkRenderingInfo* pRenderingInfo, VkTilePropertiesQCOM* pProperties);
21799
21800 #ifndef VK_NO_PROTOTYPES
21801 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
21802 VKAPI_ATTR VkResult VKAPI_CALL vkGetFramebufferTilePropertiesQCOM(
21803 VkDevice device,
21804 VkFramebuffer framebuffer,
21805 uint32_t* pPropertiesCount,
21806 VkTilePropertiesQCOM* pProperties);
21807 #endif
21808
21809 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
21810 VKAPI_ATTR VkResult VKAPI_CALL vkGetDynamicRenderingTilePropertiesQCOM(
21811 VkDevice device,
21812 const VkRenderingInfo* pRenderingInfo,
21813 VkTilePropertiesQCOM* pProperties);
21814 #endif
21815 #endif
21816
21817
21818 // VK_SEC_amigo_profiling is a preprocessor guard. Do not pass it to API calls.
21819 #define VK_SEC_amigo_profiling 1
21820 #define VK_SEC_AMIGO_PROFILING_SPEC_VERSION 1
21821 #define VK_SEC_AMIGO_PROFILING_EXTENSION_NAME "VK_SEC_amigo_profiling"
21822 typedef struct VkPhysicalDeviceAmigoProfilingFeaturesSEC {
21823 VkStructureType sType;
21824 void* pNext;
21825 VkBool32 amigoProfiling;
21826 } VkPhysicalDeviceAmigoProfilingFeaturesSEC;
21827
21828 typedef struct VkAmigoProfilingSubmitInfoSEC {
21829 VkStructureType sType;
21830 const void* pNext;
21831 uint64_t firstDrawTimestamp;
21832 uint64_t swapBufferTimestamp;
21833 } VkAmigoProfilingSubmitInfoSEC;
21834
21835
21836
21837 // VK_QCOM_multiview_per_view_viewports is a preprocessor guard. Do not pass it to API calls.
21838 #define VK_QCOM_multiview_per_view_viewports 1
21839 #define VK_QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_SPEC_VERSION 1
21840 #define VK_QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_EXTENSION_NAME "VK_QCOM_multiview_per_view_viewports"
21841 typedef struct VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM {
21842 VkStructureType sType;
21843 void* pNext;
21844 VkBool32 multiviewPerViewViewports;
21845 } VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM;
21846
21847
21848
21849 // VK_NV_ray_tracing_invocation_reorder is a preprocessor guard. Do not pass it to API calls.
21850 #define VK_NV_ray_tracing_invocation_reorder 1
21851 #define VK_NV_RAY_TRACING_INVOCATION_REORDER_SPEC_VERSION 1
21852 #define VK_NV_RAY_TRACING_INVOCATION_REORDER_EXTENSION_NAME "VK_NV_ray_tracing_invocation_reorder"
21853
21854 typedef enum VkRayTracingInvocationReorderModeEXT {
21855 VK_RAY_TRACING_INVOCATION_REORDER_MODE_NONE_EXT = 0,
21856 VK_RAY_TRACING_INVOCATION_REORDER_MODE_REORDER_EXT = 1,
21857 VK_RAY_TRACING_INVOCATION_REORDER_MODE_NONE_NV = VK_RAY_TRACING_INVOCATION_REORDER_MODE_NONE_EXT,
21858 VK_RAY_TRACING_INVOCATION_REORDER_MODE_REORDER_NV = VK_RAY_TRACING_INVOCATION_REORDER_MODE_REORDER_EXT,
21859 VK_RAY_TRACING_INVOCATION_REORDER_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
21860 } VkRayTracingInvocationReorderModeEXT;
21861 typedef VkRayTracingInvocationReorderModeEXT VkRayTracingInvocationReorderModeNV;
21862
21863 typedef struct VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV {
21864 VkStructureType sType;
21865 void* pNext;
21866 VkRayTracingInvocationReorderModeEXT rayTracingInvocationReorderReorderingHint;
21867 } VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV;
21868
21869 typedef struct VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV {
21870 VkStructureType sType;
21871 void* pNext;
21872 VkBool32 rayTracingInvocationReorder;
21873 } VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV;
21874
21875
21876
21877 // VK_NV_cooperative_vector is a preprocessor guard. Do not pass it to API calls.
21878 #define VK_NV_cooperative_vector 1
21879 #define VK_NV_COOPERATIVE_VECTOR_SPEC_VERSION 4
21880 #define VK_NV_COOPERATIVE_VECTOR_EXTENSION_NAME "VK_NV_cooperative_vector"
21881
21882 typedef enum VkCooperativeVectorMatrixLayoutNV {
21883 VK_COOPERATIVE_VECTOR_MATRIX_LAYOUT_ROW_MAJOR_NV = 0,
21884 VK_COOPERATIVE_VECTOR_MATRIX_LAYOUT_COLUMN_MAJOR_NV = 1,
21885 VK_COOPERATIVE_VECTOR_MATRIX_LAYOUT_INFERENCING_OPTIMAL_NV = 2,
21886 VK_COOPERATIVE_VECTOR_MATRIX_LAYOUT_TRAINING_OPTIMAL_NV = 3,
21887 VK_COOPERATIVE_VECTOR_MATRIX_LAYOUT_MAX_ENUM_NV = 0x7FFFFFFF
21888 } VkCooperativeVectorMatrixLayoutNV;
21889 typedef struct VkPhysicalDeviceCooperativeVectorPropertiesNV {
21890 VkStructureType sType;
21891 void* pNext;
21892 VkShaderStageFlags cooperativeVectorSupportedStages;
21893 VkBool32 cooperativeVectorTrainingFloat16Accumulation;
21894 VkBool32 cooperativeVectorTrainingFloat32Accumulation;
21895 uint32_t maxCooperativeVectorComponents;
21896 } VkPhysicalDeviceCooperativeVectorPropertiesNV;
21897
21898 typedef struct VkPhysicalDeviceCooperativeVectorFeaturesNV {
21899 VkStructureType sType;
21900 void* pNext;
21901 VkBool32 cooperativeVector;
21902 VkBool32 cooperativeVectorTraining;
21903 } VkPhysicalDeviceCooperativeVectorFeaturesNV;
21904
21905 typedef struct VkCooperativeVectorPropertiesNV {
21906 VkStructureType sType;
21907 void* pNext;
21908 VkComponentTypeKHR inputType;
21909 VkComponentTypeKHR inputInterpretation;
21910 VkComponentTypeKHR matrixInterpretation;
21911 VkComponentTypeKHR biasInterpretation;
21912 VkComponentTypeKHR resultType;
21913 VkBool32 transpose;
21914 } VkCooperativeVectorPropertiesNV;
21915
21916 typedef struct VkConvertCooperativeVectorMatrixInfoNV {
21917 VkStructureType sType;
21918 const void* pNext;
21919 size_t srcSize;
21920 VkDeviceOrHostAddressConstKHR srcData;
21921 size_t* pDstSize;
21922 VkDeviceOrHostAddressKHR dstData;
21923 VkComponentTypeKHR srcComponentType;
21924 VkComponentTypeKHR dstComponentType;
21925 uint32_t numRows;
21926 uint32_t numColumns;
21927 VkCooperativeVectorMatrixLayoutNV srcLayout;
21928 size_t srcStride;
21929 VkCooperativeVectorMatrixLayoutNV dstLayout;
21930 size_t dstStride;
21931 } VkConvertCooperativeVectorMatrixInfoNV;
21932
21933 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeVectorPropertiesNV)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkCooperativeVectorPropertiesNV* pProperties);
21934 typedef VkResult (VKAPI_PTR *PFN_vkConvertCooperativeVectorMatrixNV)(VkDevice device, const VkConvertCooperativeVectorMatrixInfoNV* pInfo);
21935 typedef void (VKAPI_PTR *PFN_vkCmdConvertCooperativeVectorMatrixNV)(VkCommandBuffer commandBuffer, uint32_t infoCount, const VkConvertCooperativeVectorMatrixInfoNV* pInfos);
21936
21937 #ifndef VK_NO_PROTOTYPES
21938 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
21939 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeVectorPropertiesNV(
21940 VkPhysicalDevice physicalDevice,
21941 uint32_t* pPropertyCount,
21942 VkCooperativeVectorPropertiesNV* pProperties);
21943 #endif
21944
21945 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
21946 VKAPI_ATTR VkResult VKAPI_CALL vkConvertCooperativeVectorMatrixNV(
21947 VkDevice device,
21948 const VkConvertCooperativeVectorMatrixInfoNV* pInfo);
21949 #endif
21950
21951 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
21952 VKAPI_ATTR void VKAPI_CALL vkCmdConvertCooperativeVectorMatrixNV(
21953 VkCommandBuffer commandBuffer,
21954 uint32_t infoCount,
21955 const VkConvertCooperativeVectorMatrixInfoNV* pInfos);
21956 #endif
21957 #endif
21958
21959
21960 // VK_NV_extended_sparse_address_space is a preprocessor guard. Do not pass it to API calls.
21961 #define VK_NV_extended_sparse_address_space 1
21962 #define VK_NV_EXTENDED_SPARSE_ADDRESS_SPACE_SPEC_VERSION 1
21963 #define VK_NV_EXTENDED_SPARSE_ADDRESS_SPACE_EXTENSION_NAME "VK_NV_extended_sparse_address_space"
21964 typedef struct VkPhysicalDeviceExtendedSparseAddressSpaceFeaturesNV {
21965 VkStructureType sType;
21966 void* pNext;
21967 VkBool32 extendedSparseAddressSpace;
21968 } VkPhysicalDeviceExtendedSparseAddressSpaceFeaturesNV;
21969
21970 typedef struct VkPhysicalDeviceExtendedSparseAddressSpacePropertiesNV {
21971 VkStructureType sType;
21972 void* pNext;
21973 VkDeviceSize extendedSparseAddressSpaceSize;
21974 VkImageUsageFlags extendedSparseImageUsageFlags;
21975 VkBufferUsageFlags extendedSparseBufferUsageFlags;
21976 } VkPhysicalDeviceExtendedSparseAddressSpacePropertiesNV;
21977
21978
21979
21980 // VK_EXT_mutable_descriptor_type is a preprocessor guard. Do not pass it to API calls.
21981 #define VK_EXT_mutable_descriptor_type 1
21982 #define VK_EXT_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION 1
21983 #define VK_EXT_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME "VK_EXT_mutable_descriptor_type"
21984
21985
21986 // VK_EXT_legacy_vertex_attributes is a preprocessor guard. Do not pass it to API calls.
21987 #define VK_EXT_legacy_vertex_attributes 1
21988 #define VK_EXT_LEGACY_VERTEX_ATTRIBUTES_SPEC_VERSION 1
21989 #define VK_EXT_LEGACY_VERTEX_ATTRIBUTES_EXTENSION_NAME "VK_EXT_legacy_vertex_attributes"
21990 typedef struct VkPhysicalDeviceLegacyVertexAttributesFeaturesEXT {
21991 VkStructureType sType;
21992 void* pNext;
21993 VkBool32 legacyVertexAttributes;
21994 } VkPhysicalDeviceLegacyVertexAttributesFeaturesEXT;
21995
21996 typedef struct VkPhysicalDeviceLegacyVertexAttributesPropertiesEXT {
21997 VkStructureType sType;
21998 void* pNext;
21999 VkBool32 nativeUnalignedPerformance;
22000 } VkPhysicalDeviceLegacyVertexAttributesPropertiesEXT;
22001
22002
22003
22004 // VK_EXT_layer_settings is a preprocessor guard. Do not pass it to API calls.
22005 #define VK_EXT_layer_settings 1
22006 #define VK_EXT_LAYER_SETTINGS_SPEC_VERSION 2
22007 #define VK_EXT_LAYER_SETTINGS_EXTENSION_NAME "VK_EXT_layer_settings"
22008
22009 typedef enum VkLayerSettingTypeEXT {
22010 VK_LAYER_SETTING_TYPE_BOOL32_EXT = 0,
22011 VK_LAYER_SETTING_TYPE_INT32_EXT = 1,
22012 VK_LAYER_SETTING_TYPE_INT64_EXT = 2,
22013 VK_LAYER_SETTING_TYPE_UINT32_EXT = 3,
22014 VK_LAYER_SETTING_TYPE_UINT64_EXT = 4,
22015 VK_LAYER_SETTING_TYPE_FLOAT32_EXT = 5,
22016 VK_LAYER_SETTING_TYPE_FLOAT64_EXT = 6,
22017 VK_LAYER_SETTING_TYPE_STRING_EXT = 7,
22018 VK_LAYER_SETTING_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
22019 } VkLayerSettingTypeEXT;
22020 typedef struct VkLayerSettingEXT {
22021 const char* pLayerName;
22022 const char* pSettingName;
22023 VkLayerSettingTypeEXT type;
22024 uint32_t valueCount;
22025 const void* pValues;
22026 } VkLayerSettingEXT;
22027
22028 typedef struct VkLayerSettingsCreateInfoEXT {
22029 VkStructureType sType;
22030 const void* pNext;
22031 uint32_t settingCount;
22032 const VkLayerSettingEXT* pSettings;
22033 } VkLayerSettingsCreateInfoEXT;
22034
22035
22036
22037 // VK_ARM_shader_core_builtins is a preprocessor guard. Do not pass it to API calls.
22038 #define VK_ARM_shader_core_builtins 1
22039 #define VK_ARM_SHADER_CORE_BUILTINS_SPEC_VERSION 2
22040 #define VK_ARM_SHADER_CORE_BUILTINS_EXTENSION_NAME "VK_ARM_shader_core_builtins"
22041 typedef struct VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM {
22042 VkStructureType sType;
22043 void* pNext;
22044 VkBool32 shaderCoreBuiltins;
22045 } VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM;
22046
22047 typedef struct VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM {
22048 VkStructureType sType;
22049 void* pNext;
22050 uint64_t shaderCoreMask;
22051 uint32_t shaderCoreCount;
22052 uint32_t shaderWarpsPerCore;
22053 } VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM;
22054
22055
22056
22057 // VK_EXT_pipeline_library_group_handles is a preprocessor guard. Do not pass it to API calls.
22058 #define VK_EXT_pipeline_library_group_handles 1
22059 #define VK_EXT_PIPELINE_LIBRARY_GROUP_HANDLES_SPEC_VERSION 1
22060 #define VK_EXT_PIPELINE_LIBRARY_GROUP_HANDLES_EXTENSION_NAME "VK_EXT_pipeline_library_group_handles"
22061 typedef struct VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT {
22062 VkStructureType sType;
22063 void* pNext;
22064 VkBool32 pipelineLibraryGroupHandles;
22065 } VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT;
22066
22067
22068
22069 // VK_EXT_dynamic_rendering_unused_attachments is a preprocessor guard. Do not pass it to API calls.
22070 #define VK_EXT_dynamic_rendering_unused_attachments 1
22071 #define VK_EXT_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_SPEC_VERSION 1
22072 #define VK_EXT_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_EXTENSION_NAME "VK_EXT_dynamic_rendering_unused_attachments"
22073 typedef struct VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT {
22074 VkStructureType sType;
22075 void* pNext;
22076 VkBool32 dynamicRenderingUnusedAttachments;
22077 } VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT;
22078
22079
22080
22081 // VK_NV_low_latency2 is a preprocessor guard. Do not pass it to API calls.
22082 #define VK_NV_low_latency2 1
22083 #define VK_NV_LOW_LATENCY_2_SPEC_VERSION 2
22084 #define VK_NV_LOW_LATENCY_2_EXTENSION_NAME "VK_NV_low_latency2"
22085
22086 typedef enum VkLatencyMarkerNV {
22087 VK_LATENCY_MARKER_SIMULATION_START_NV = 0,
22088 VK_LATENCY_MARKER_SIMULATION_END_NV = 1,
22089 VK_LATENCY_MARKER_RENDERSUBMIT_START_NV = 2,
22090 VK_LATENCY_MARKER_RENDERSUBMIT_END_NV = 3,
22091 VK_LATENCY_MARKER_PRESENT_START_NV = 4,
22092 VK_LATENCY_MARKER_PRESENT_END_NV = 5,
22093 VK_LATENCY_MARKER_INPUT_SAMPLE_NV = 6,
22094 VK_LATENCY_MARKER_TRIGGER_FLASH_NV = 7,
22095 VK_LATENCY_MARKER_OUT_OF_BAND_RENDERSUBMIT_START_NV = 8,
22096 VK_LATENCY_MARKER_OUT_OF_BAND_RENDERSUBMIT_END_NV = 9,
22097 VK_LATENCY_MARKER_OUT_OF_BAND_PRESENT_START_NV = 10,
22098 VK_LATENCY_MARKER_OUT_OF_BAND_PRESENT_END_NV = 11,
22099 VK_LATENCY_MARKER_MAX_ENUM_NV = 0x7FFFFFFF
22100 } VkLatencyMarkerNV;
22101
22102 typedef enum VkOutOfBandQueueTypeNV {
22103 VK_OUT_OF_BAND_QUEUE_TYPE_RENDER_NV = 0,
22104 VK_OUT_OF_BAND_QUEUE_TYPE_PRESENT_NV = 1,
22105 VK_OUT_OF_BAND_QUEUE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
22106 } VkOutOfBandQueueTypeNV;
22107 typedef struct VkLatencySleepModeInfoNV {
22108 VkStructureType sType;
22109 const void* pNext;
22110 VkBool32 lowLatencyMode;
22111 VkBool32 lowLatencyBoost;
22112 uint32_t minimumIntervalUs;
22113 } VkLatencySleepModeInfoNV;
22114
22115 typedef struct VkLatencySleepInfoNV {
22116 VkStructureType sType;
22117 const void* pNext;
22118 VkSemaphore signalSemaphore;
22119 uint64_t value;
22120 } VkLatencySleepInfoNV;
22121
22122 typedef struct VkSetLatencyMarkerInfoNV {
22123 VkStructureType sType;
22124 const void* pNext;
22125 uint64_t presentID;
22126 VkLatencyMarkerNV marker;
22127 } VkSetLatencyMarkerInfoNV;
22128
22129 typedef struct VkLatencyTimingsFrameReportNV {
22130 VkStructureType sType;
22131 void* pNext;
22132 uint64_t presentID;
22133 uint64_t inputSampleTimeUs;
22134 uint64_t simStartTimeUs;
22135 uint64_t simEndTimeUs;
22136 uint64_t renderSubmitStartTimeUs;
22137 uint64_t renderSubmitEndTimeUs;
22138 uint64_t presentStartTimeUs;
22139 uint64_t presentEndTimeUs;
22140 uint64_t driverStartTimeUs;
22141 uint64_t driverEndTimeUs;
22142 uint64_t osRenderQueueStartTimeUs;
22143 uint64_t osRenderQueueEndTimeUs;
22144 uint64_t gpuRenderStartTimeUs;
22145 uint64_t gpuRenderEndTimeUs;
22146 } VkLatencyTimingsFrameReportNV;
22147
22148 typedef struct VkGetLatencyMarkerInfoNV {
22149 VkStructureType sType;
22150 const void* pNext;
22151 uint32_t timingCount;
22152 VkLatencyTimingsFrameReportNV* pTimings;
22153 } VkGetLatencyMarkerInfoNV;
22154
22155 typedef struct VkLatencySubmissionPresentIdNV {
22156 VkStructureType sType;
22157 const void* pNext;
22158 uint64_t presentID;
22159 } VkLatencySubmissionPresentIdNV;
22160
22161 typedef struct VkSwapchainLatencyCreateInfoNV {
22162 VkStructureType sType;
22163 const void* pNext;
22164 VkBool32 latencyModeEnable;
22165 } VkSwapchainLatencyCreateInfoNV;
22166
22167 typedef struct VkOutOfBandQueueTypeInfoNV {
22168 VkStructureType sType;
22169 const void* pNext;
22170 VkOutOfBandQueueTypeNV queueType;
22171 } VkOutOfBandQueueTypeInfoNV;
22172
22173 typedef struct VkLatencySurfaceCapabilitiesNV {
22174 VkStructureType sType;
22175 const void* pNext;
22176 uint32_t presentModeCount;
22177 VkPresentModeKHR* pPresentModes;
22178 } VkLatencySurfaceCapabilitiesNV;
22179
22180 typedef VkResult (VKAPI_PTR *PFN_vkSetLatencySleepModeNV)(VkDevice device, VkSwapchainKHR swapchain, const VkLatencySleepModeInfoNV* pSleepModeInfo);
22181 typedef VkResult (VKAPI_PTR *PFN_vkLatencySleepNV)(VkDevice device, VkSwapchainKHR swapchain, const VkLatencySleepInfoNV* pSleepInfo);
22182 typedef void (VKAPI_PTR *PFN_vkSetLatencyMarkerNV)(VkDevice device, VkSwapchainKHR swapchain, const VkSetLatencyMarkerInfoNV* pLatencyMarkerInfo);
22183 typedef void (VKAPI_PTR *PFN_vkGetLatencyTimingsNV)(VkDevice device, VkSwapchainKHR swapchain, VkGetLatencyMarkerInfoNV* pLatencyMarkerInfo);
22184 typedef void (VKAPI_PTR *PFN_vkQueueNotifyOutOfBandNV)(VkQueue queue, const VkOutOfBandQueueTypeInfoNV* pQueueTypeInfo);
22185
22186 #ifndef VK_NO_PROTOTYPES
22187 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
22188 VKAPI_ATTR VkResult VKAPI_CALL vkSetLatencySleepModeNV(
22189 VkDevice device,
22190 VkSwapchainKHR swapchain,
22191 const VkLatencySleepModeInfoNV* pSleepModeInfo);
22192 #endif
22193
22194 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
22195 VKAPI_ATTR VkResult VKAPI_CALL vkLatencySleepNV(
22196 VkDevice device,
22197 VkSwapchainKHR swapchain,
22198 const VkLatencySleepInfoNV* pSleepInfo);
22199 #endif
22200
22201 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
22202 VKAPI_ATTR void VKAPI_CALL vkSetLatencyMarkerNV(
22203 VkDevice device,
22204 VkSwapchainKHR swapchain,
22205 const VkSetLatencyMarkerInfoNV* pLatencyMarkerInfo);
22206 #endif
22207
22208 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
22209 VKAPI_ATTR void VKAPI_CALL vkGetLatencyTimingsNV(
22210 VkDevice device,
22211 VkSwapchainKHR swapchain,
22212 VkGetLatencyMarkerInfoNV* pLatencyMarkerInfo);
22213 #endif
22214
22215 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
22216 VKAPI_ATTR void VKAPI_CALL vkQueueNotifyOutOfBandNV(
22217 VkQueue queue,
22218 const VkOutOfBandQueueTypeInfoNV* pQueueTypeInfo);
22219 #endif
22220 #endif
22221
22222
22223 // VK_ARM_data_graph is a preprocessor guard. Do not pass it to API calls.
22224 #define VK_ARM_data_graph 1
22225 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDataGraphPipelineSessionARM)
22226 #define VK_MAX_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_SET_NAME_SIZE_ARM 128U
22227 #define VK_ARM_DATA_GRAPH_SPEC_VERSION 1
22228 #define VK_ARM_DATA_GRAPH_EXTENSION_NAME "VK_ARM_data_graph"
22229
22230 typedef enum VkDataGraphPipelineSessionBindPointARM {
22231 VK_DATA_GRAPH_PIPELINE_SESSION_BIND_POINT_TRANSIENT_ARM = 0,
22232 VK_DATA_GRAPH_PIPELINE_SESSION_BIND_POINT_MAX_ENUM_ARM = 0x7FFFFFFF
22233 } VkDataGraphPipelineSessionBindPointARM;
22234
22235 typedef enum VkDataGraphPipelineSessionBindPointTypeARM {
22236 VK_DATA_GRAPH_PIPELINE_SESSION_BIND_POINT_TYPE_MEMORY_ARM = 0,
22237 VK_DATA_GRAPH_PIPELINE_SESSION_BIND_POINT_TYPE_MAX_ENUM_ARM = 0x7FFFFFFF
22238 } VkDataGraphPipelineSessionBindPointTypeARM;
22239
22240 typedef enum VkDataGraphPipelinePropertyARM {
22241 VK_DATA_GRAPH_PIPELINE_PROPERTY_CREATION_LOG_ARM = 0,
22242 VK_DATA_GRAPH_PIPELINE_PROPERTY_IDENTIFIER_ARM = 1,
22243 VK_DATA_GRAPH_PIPELINE_PROPERTY_MAX_ENUM_ARM = 0x7FFFFFFF
22244 } VkDataGraphPipelinePropertyARM;
22245
22246 typedef enum VkPhysicalDeviceDataGraphProcessingEngineTypeARM {
22247 VK_PHYSICAL_DEVICE_DATA_GRAPH_PROCESSING_ENGINE_TYPE_DEFAULT_ARM = 0,
22248 VK_PHYSICAL_DEVICE_DATA_GRAPH_PROCESSING_ENGINE_TYPE_NEURAL_QCOM = 1000629000,
22249 VK_PHYSICAL_DEVICE_DATA_GRAPH_PROCESSING_ENGINE_TYPE_COMPUTE_QCOM = 1000629001,
22250 VK_PHYSICAL_DEVICE_DATA_GRAPH_PROCESSING_ENGINE_TYPE_MAX_ENUM_ARM = 0x7FFFFFFF
22251 } VkPhysicalDeviceDataGraphProcessingEngineTypeARM;
22252
22253 typedef enum VkPhysicalDeviceDataGraphOperationTypeARM {
22254 VK_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_TYPE_SPIRV_EXTENDED_INSTRUCTION_SET_ARM = 0,
22255 VK_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_TYPE_NEURAL_MODEL_QCOM = 1000629000,
22256 VK_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_TYPE_BUILTIN_MODEL_QCOM = 1000629001,
22257 VK_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_TYPE_MAX_ENUM_ARM = 0x7FFFFFFF
22258 } VkPhysicalDeviceDataGraphOperationTypeARM;
22259 typedef VkFlags64 VkDataGraphPipelineSessionCreateFlagsARM;
22260
22261 // Flag bits for VkDataGraphPipelineSessionCreateFlagBitsARM
22262 typedef VkFlags64 VkDataGraphPipelineSessionCreateFlagBitsARM;
22263 static const VkDataGraphPipelineSessionCreateFlagBitsARM VK_DATA_GRAPH_PIPELINE_SESSION_CREATE_PROTECTED_BIT_ARM = 0x00000001ULL;
22264
22265 typedef VkFlags64 VkDataGraphPipelineDispatchFlagsARM;
22266
22267 // Flag bits for VkDataGraphPipelineDispatchFlagBitsARM
22268 typedef VkFlags64 VkDataGraphPipelineDispatchFlagBitsARM;
22269
22270 typedef struct VkPhysicalDeviceDataGraphFeaturesARM {
22271 VkStructureType sType;
22272 void* pNext;
22273 VkBool32 dataGraph;
22274 VkBool32 dataGraphUpdateAfterBind;
22275 VkBool32 dataGraphSpecializationConstants;
22276 VkBool32 dataGraphDescriptorBuffer;
22277 VkBool32 dataGraphShaderModule;
22278 } VkPhysicalDeviceDataGraphFeaturesARM;
22279
22280 typedef struct VkDataGraphPipelineConstantARM {
22281 VkStructureType sType;
22282 const void* pNext;
22283 uint32_t id;
22284 const void* pConstantData;
22285 } VkDataGraphPipelineConstantARM;
22286
22287 typedef struct VkDataGraphPipelineResourceInfoARM {
22288 VkStructureType sType;
22289 const void* pNext;
22290 uint32_t descriptorSet;
22291 uint32_t binding;
22292 uint32_t arrayElement;
22293 } VkDataGraphPipelineResourceInfoARM;
22294
22295 typedef struct VkDataGraphPipelineCompilerControlCreateInfoARM {
22296 VkStructureType sType;
22297 const void* pNext;
22298 const char* pVendorOptions;
22299 } VkDataGraphPipelineCompilerControlCreateInfoARM;
22300
22301 typedef struct VkDataGraphPipelineCreateInfoARM {
22302 VkStructureType sType;
22303 const void* pNext;
22304 VkPipelineCreateFlags2KHR flags;
22305 VkPipelineLayout layout;
22306 uint32_t resourceInfoCount;
22307 const VkDataGraphPipelineResourceInfoARM* pResourceInfos;
22308 } VkDataGraphPipelineCreateInfoARM;
22309
22310 typedef struct VkDataGraphPipelineShaderModuleCreateInfoARM {
22311 VkStructureType sType;
22312 const void* pNext;
22313 VkShaderModule module;
22314 const char* pName;
22315 const VkSpecializationInfo* pSpecializationInfo;
22316 uint32_t constantCount;
22317 const VkDataGraphPipelineConstantARM* pConstants;
22318 } VkDataGraphPipelineShaderModuleCreateInfoARM;
22319
22320 typedef struct VkDataGraphPipelineSessionCreateInfoARM {
22321 VkStructureType sType;
22322 const void* pNext;
22323 VkDataGraphPipelineSessionCreateFlagsARM flags;
22324 VkPipeline dataGraphPipeline;
22325 } VkDataGraphPipelineSessionCreateInfoARM;
22326
22327 typedef struct VkDataGraphPipelineSessionBindPointRequirementsInfoARM {
22328 VkStructureType sType;
22329 const void* pNext;
22330 VkDataGraphPipelineSessionARM session;
22331 } VkDataGraphPipelineSessionBindPointRequirementsInfoARM;
22332
22333 typedef struct VkDataGraphPipelineSessionBindPointRequirementARM {
22334 VkStructureType sType;
22335 const void* pNext;
22336 VkDataGraphPipelineSessionBindPointARM bindPoint;
22337 VkDataGraphPipelineSessionBindPointTypeARM bindPointType;
22338 uint32_t numObjects;
22339 } VkDataGraphPipelineSessionBindPointRequirementARM;
22340
22341 typedef struct VkDataGraphPipelineSessionMemoryRequirementsInfoARM {
22342 VkStructureType sType;
22343 const void* pNext;
22344 VkDataGraphPipelineSessionARM session;
22345 VkDataGraphPipelineSessionBindPointARM bindPoint;
22346 uint32_t objectIndex;
22347 } VkDataGraphPipelineSessionMemoryRequirementsInfoARM;
22348
22349 typedef struct VkBindDataGraphPipelineSessionMemoryInfoARM {
22350 VkStructureType sType;
22351 const void* pNext;
22352 VkDataGraphPipelineSessionARM session;
22353 VkDataGraphPipelineSessionBindPointARM bindPoint;
22354 uint32_t objectIndex;
22355 VkDeviceMemory memory;
22356 VkDeviceSize memoryOffset;
22357 } VkBindDataGraphPipelineSessionMemoryInfoARM;
22358
22359 typedef struct VkDataGraphPipelineInfoARM {
22360 VkStructureType sType;
22361 const void* pNext;
22362 VkPipeline dataGraphPipeline;
22363 } VkDataGraphPipelineInfoARM;
22364
22365 typedef struct VkDataGraphPipelinePropertyQueryResultARM {
22366 VkStructureType sType;
22367 const void* pNext;
22368 VkDataGraphPipelinePropertyARM property;
22369 VkBool32 isText;
22370 size_t dataSize;
22371 void* pData;
22372 } VkDataGraphPipelinePropertyQueryResultARM;
22373
22374 typedef struct VkDataGraphPipelineIdentifierCreateInfoARM {
22375 VkStructureType sType;
22376 const void* pNext;
22377 uint32_t identifierSize;
22378 const uint8_t* pIdentifier;
22379 } VkDataGraphPipelineIdentifierCreateInfoARM;
22380
22381 typedef struct VkDataGraphPipelineDispatchInfoARM {
22382 VkStructureType sType;
22383 void* pNext;
22384 VkDataGraphPipelineDispatchFlagsARM flags;
22385 } VkDataGraphPipelineDispatchInfoARM;
22386
22387 typedef struct VkPhysicalDeviceDataGraphProcessingEngineARM {
22388 VkPhysicalDeviceDataGraphProcessingEngineTypeARM type;
22389 VkBool32 isForeign;
22390 } VkPhysicalDeviceDataGraphProcessingEngineARM;
22391
22392 typedef struct VkPhysicalDeviceDataGraphOperationSupportARM {
22393 VkPhysicalDeviceDataGraphOperationTypeARM operationType;
22394 char name[VK_MAX_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_SET_NAME_SIZE_ARM];
22395 uint32_t version;
22396 } VkPhysicalDeviceDataGraphOperationSupportARM;
22397
22398 typedef struct VkQueueFamilyDataGraphPropertiesARM {
22399 VkStructureType sType;
22400 const void* pNext;
22401 VkPhysicalDeviceDataGraphProcessingEngineARM engine;
22402 VkPhysicalDeviceDataGraphOperationSupportARM operation;
22403 } VkQueueFamilyDataGraphPropertiesARM;
22404
22405 typedef struct VkDataGraphProcessingEngineCreateInfoARM {
22406 VkStructureType sType;
22407 const void* pNext;
22408 uint32_t processingEngineCount;
22409 VkPhysicalDeviceDataGraphProcessingEngineARM* pProcessingEngines;
22410 } VkDataGraphProcessingEngineCreateInfoARM;
22411
22412 typedef struct VkPhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM {
22413 VkStructureType sType;
22414 const void* pNext;
22415 uint32_t queueFamilyIndex;
22416 VkPhysicalDeviceDataGraphProcessingEngineTypeARM engineType;
22417 } VkPhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM;
22418
22419 typedef struct VkQueueFamilyDataGraphProcessingEnginePropertiesARM {
22420 VkStructureType sType;
22421 const void* pNext;
22422 VkExternalSemaphoreHandleTypeFlags foreignSemaphoreHandleTypes;
22423 VkExternalMemoryHandleTypeFlags foreignMemoryHandleTypes;
22424 } VkQueueFamilyDataGraphProcessingEnginePropertiesARM;
22425
22426 typedef struct VkDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM {
22427 VkStructureType sType;
22428 const void* pNext;
22429 uint32_t dimension;
22430 uint32_t zeroCount;
22431 uint32_t groupSize;
22432 } VkDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM;
22433
22434 typedef VkResult (VKAPI_PTR *PFN_vkCreateDataGraphPipelinesARM)(VkDevice device, VkDeferredOperationKHR deferredOperation, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkDataGraphPipelineCreateInfoARM* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
22435 typedef VkResult (VKAPI_PTR *PFN_vkCreateDataGraphPipelineSessionARM)(VkDevice device, const VkDataGraphPipelineSessionCreateInfoARM* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDataGraphPipelineSessionARM* pSession);
22436 typedef VkResult (VKAPI_PTR *PFN_vkGetDataGraphPipelineSessionBindPointRequirementsARM)(VkDevice device, const VkDataGraphPipelineSessionBindPointRequirementsInfoARM* pInfo, uint32_t* pBindPointRequirementCount, VkDataGraphPipelineSessionBindPointRequirementARM* pBindPointRequirements);
22437 typedef void (VKAPI_PTR *PFN_vkGetDataGraphPipelineSessionMemoryRequirementsARM)(VkDevice device, const VkDataGraphPipelineSessionMemoryRequirementsInfoARM* pInfo, VkMemoryRequirements2* pMemoryRequirements);
22438 typedef VkResult (VKAPI_PTR *PFN_vkBindDataGraphPipelineSessionMemoryARM)(VkDevice device, uint32_t bindInfoCount, const VkBindDataGraphPipelineSessionMemoryInfoARM* pBindInfos);
22439 typedef void (VKAPI_PTR *PFN_vkDestroyDataGraphPipelineSessionARM)(VkDevice device, VkDataGraphPipelineSessionARM session, const VkAllocationCallbacks* pAllocator);
22440 typedef void (VKAPI_PTR *PFN_vkCmdDispatchDataGraphARM)(VkCommandBuffer commandBuffer, VkDataGraphPipelineSessionARM session, const VkDataGraphPipelineDispatchInfoARM* pInfo);
22441 typedef VkResult (VKAPI_PTR *PFN_vkGetDataGraphPipelineAvailablePropertiesARM)(VkDevice device, const VkDataGraphPipelineInfoARM* pPipelineInfo, uint32_t* pPropertiesCount, VkDataGraphPipelinePropertyARM* pProperties);
22442 typedef VkResult (VKAPI_PTR *PFN_vkGetDataGraphPipelinePropertiesARM)(VkDevice device, const VkDataGraphPipelineInfoARM* pPipelineInfo, uint32_t propertiesCount, VkDataGraphPipelinePropertyQueryResultARM* pProperties);
22443 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, uint32_t* pQueueFamilyDataGraphPropertyCount, VkQueueFamilyDataGraphPropertiesARM* pQueueFamilyDataGraphProperties);
22444 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM* pQueueFamilyDataGraphProcessingEngineInfo, VkQueueFamilyDataGraphProcessingEnginePropertiesARM* pQueueFamilyDataGraphProcessingEngineProperties);
22445
22446 #ifndef VK_NO_PROTOTYPES
22447 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
22448 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDataGraphPipelinesARM(
22449 VkDevice device,
22450 VkDeferredOperationKHR deferredOperation,
22451 VkPipelineCache pipelineCache,
22452 uint32_t createInfoCount,
22453 const VkDataGraphPipelineCreateInfoARM* pCreateInfos,
22454 const VkAllocationCallbacks* pAllocator,
22455 VkPipeline* pPipelines);
22456 #endif
22457
22458 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
22459 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDataGraphPipelineSessionARM(
22460 VkDevice device,
22461 const VkDataGraphPipelineSessionCreateInfoARM* pCreateInfo,
22462 const VkAllocationCallbacks* pAllocator,
22463 VkDataGraphPipelineSessionARM* pSession);
22464 #endif
22465
22466 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
22467 VKAPI_ATTR VkResult VKAPI_CALL vkGetDataGraphPipelineSessionBindPointRequirementsARM(
22468 VkDevice device,
22469 const VkDataGraphPipelineSessionBindPointRequirementsInfoARM* pInfo,
22470 uint32_t* pBindPointRequirementCount,
22471 VkDataGraphPipelineSessionBindPointRequirementARM* pBindPointRequirements);
22472 #endif
22473
22474 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
22475 VKAPI_ATTR void VKAPI_CALL vkGetDataGraphPipelineSessionMemoryRequirementsARM(
22476 VkDevice device,
22477 const VkDataGraphPipelineSessionMemoryRequirementsInfoARM* pInfo,
22478 VkMemoryRequirements2* pMemoryRequirements);
22479 #endif
22480
22481 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
22482 VKAPI_ATTR VkResult VKAPI_CALL vkBindDataGraphPipelineSessionMemoryARM(
22483 VkDevice device,
22484 uint32_t bindInfoCount,
22485 const VkBindDataGraphPipelineSessionMemoryInfoARM* pBindInfos);
22486 #endif
22487
22488 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
22489 VKAPI_ATTR void VKAPI_CALL vkDestroyDataGraphPipelineSessionARM(
22490 VkDevice device,
22491 VkDataGraphPipelineSessionARM session,
22492 const VkAllocationCallbacks* pAllocator);
22493 #endif
22494
22495 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
22496 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchDataGraphARM(
22497 VkCommandBuffer commandBuffer,
22498 VkDataGraphPipelineSessionARM session,
22499 const VkDataGraphPipelineDispatchInfoARM* pInfo);
22500 #endif
22501
22502 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
22503 VKAPI_ATTR VkResult VKAPI_CALL vkGetDataGraphPipelineAvailablePropertiesARM(
22504 VkDevice device,
22505 const VkDataGraphPipelineInfoARM* pPipelineInfo,
22506 uint32_t* pPropertiesCount,
22507 VkDataGraphPipelinePropertyARM* pProperties);
22508 #endif
22509
22510 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
22511 VKAPI_ATTR VkResult VKAPI_CALL vkGetDataGraphPipelinePropertiesARM(
22512 VkDevice device,
22513 const VkDataGraphPipelineInfoARM* pPipelineInfo,
22514 uint32_t propertiesCount,
22515 VkDataGraphPipelinePropertyQueryResultARM* pProperties);
22516 #endif
22517
22518 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
22519 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM(
22520 VkPhysicalDevice physicalDevice,
22521 uint32_t queueFamilyIndex,
22522 uint32_t* pQueueFamilyDataGraphPropertyCount,
22523 VkQueueFamilyDataGraphPropertiesARM* pQueueFamilyDataGraphProperties);
22524 #endif
22525
22526 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
22527 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM(
22528 VkPhysicalDevice physicalDevice,
22529 const VkPhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM* pQueueFamilyDataGraphProcessingEngineInfo,
22530 VkQueueFamilyDataGraphProcessingEnginePropertiesARM* pQueueFamilyDataGraphProcessingEngineProperties);
22531 #endif
22532 #endif
22533
22534
22535 // VK_QCOM_multiview_per_view_render_areas is a preprocessor guard. Do not pass it to API calls.
22536 #define VK_QCOM_multiview_per_view_render_areas 1
22537 #define VK_QCOM_MULTIVIEW_PER_VIEW_RENDER_AREAS_SPEC_VERSION 1
22538 #define VK_QCOM_MULTIVIEW_PER_VIEW_RENDER_AREAS_EXTENSION_NAME "VK_QCOM_multiview_per_view_render_areas"
22539 typedef struct VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM {
22540 VkStructureType sType;
22541 void* pNext;
22542 VkBool32 multiviewPerViewRenderAreas;
22543 } VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM;
22544
22545 typedef struct VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM {
22546 VkStructureType sType;
22547 const void* pNext;
22548 uint32_t perViewRenderAreaCount;
22549 const VkRect2D* pPerViewRenderAreas;
22550 } VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM;
22551
22552
22553
22554 // VK_NV_per_stage_descriptor_set is a preprocessor guard. Do not pass it to API calls.
22555 #define VK_NV_per_stage_descriptor_set 1
22556 #define VK_NV_PER_STAGE_DESCRIPTOR_SET_SPEC_VERSION 1
22557 #define VK_NV_PER_STAGE_DESCRIPTOR_SET_EXTENSION_NAME "VK_NV_per_stage_descriptor_set"
22558 typedef struct VkPhysicalDevicePerStageDescriptorSetFeaturesNV {
22559 VkStructureType sType;
22560 void* pNext;
22561 VkBool32 perStageDescriptorSet;
22562 VkBool32 dynamicPipelineLayout;
22563 } VkPhysicalDevicePerStageDescriptorSetFeaturesNV;
22564
22565
22566
22567 // VK_QCOM_image_processing2 is a preprocessor guard. Do not pass it to API calls.
22568 #define VK_QCOM_image_processing2 1
22569 #define VK_QCOM_IMAGE_PROCESSING_2_SPEC_VERSION 1
22570 #define VK_QCOM_IMAGE_PROCESSING_2_EXTENSION_NAME "VK_QCOM_image_processing2"
22571
22572 typedef enum VkBlockMatchWindowCompareModeQCOM {
22573 VK_BLOCK_MATCH_WINDOW_COMPARE_MODE_MIN_QCOM = 0,
22574 VK_BLOCK_MATCH_WINDOW_COMPARE_MODE_MAX_QCOM = 1,
22575 VK_BLOCK_MATCH_WINDOW_COMPARE_MODE_MAX_ENUM_QCOM = 0x7FFFFFFF
22576 } VkBlockMatchWindowCompareModeQCOM;
22577 typedef struct VkPhysicalDeviceImageProcessing2FeaturesQCOM {
22578 VkStructureType sType;
22579 void* pNext;
22580 VkBool32 textureBlockMatch2;
22581 } VkPhysicalDeviceImageProcessing2FeaturesQCOM;
22582
22583 typedef struct VkPhysicalDeviceImageProcessing2PropertiesQCOM {
22584 VkStructureType sType;
22585 void* pNext;
22586 VkExtent2D maxBlockMatchWindow;
22587 } VkPhysicalDeviceImageProcessing2PropertiesQCOM;
22588
22589 typedef struct VkSamplerBlockMatchWindowCreateInfoQCOM {
22590 VkStructureType sType;
22591 const void* pNext;
22592 VkExtent2D windowExtent;
22593 VkBlockMatchWindowCompareModeQCOM windowCompareMode;
22594 } VkSamplerBlockMatchWindowCreateInfoQCOM;
22595
22596
22597
22598 // VK_QCOM_filter_cubic_weights is a preprocessor guard. Do not pass it to API calls.
22599 #define VK_QCOM_filter_cubic_weights 1
22600 #define VK_QCOM_FILTER_CUBIC_WEIGHTS_SPEC_VERSION 1
22601 #define VK_QCOM_FILTER_CUBIC_WEIGHTS_EXTENSION_NAME "VK_QCOM_filter_cubic_weights"
22602
22603 typedef enum VkCubicFilterWeightsQCOM {
22604 VK_CUBIC_FILTER_WEIGHTS_CATMULL_ROM_QCOM = 0,
22605 VK_CUBIC_FILTER_WEIGHTS_ZERO_TANGENT_CARDINAL_QCOM = 1,
22606 VK_CUBIC_FILTER_WEIGHTS_B_SPLINE_QCOM = 2,
22607 VK_CUBIC_FILTER_WEIGHTS_MITCHELL_NETRAVALI_QCOM = 3,
22608 VK_CUBIC_FILTER_WEIGHTS_MAX_ENUM_QCOM = 0x7FFFFFFF
22609 } VkCubicFilterWeightsQCOM;
22610 typedef struct VkPhysicalDeviceCubicWeightsFeaturesQCOM {
22611 VkStructureType sType;
22612 void* pNext;
22613 VkBool32 selectableCubicWeights;
22614 } VkPhysicalDeviceCubicWeightsFeaturesQCOM;
22615
22616 typedef struct VkSamplerCubicWeightsCreateInfoQCOM {
22617 VkStructureType sType;
22618 const void* pNext;
22619 VkCubicFilterWeightsQCOM cubicWeights;
22620 } VkSamplerCubicWeightsCreateInfoQCOM;
22621
22622 typedef struct VkBlitImageCubicWeightsInfoQCOM {
22623 VkStructureType sType;
22624 const void* pNext;
22625 VkCubicFilterWeightsQCOM cubicWeights;
22626 } VkBlitImageCubicWeightsInfoQCOM;
22627
22628
22629
22630 // VK_QCOM_ycbcr_degamma is a preprocessor guard. Do not pass it to API calls.
22631 #define VK_QCOM_ycbcr_degamma 1
22632 #define VK_QCOM_YCBCR_DEGAMMA_SPEC_VERSION 1
22633 #define VK_QCOM_YCBCR_DEGAMMA_EXTENSION_NAME "VK_QCOM_ycbcr_degamma"
22634 typedef struct VkPhysicalDeviceYcbcrDegammaFeaturesQCOM {
22635 VkStructureType sType;
22636 void* pNext;
22637 VkBool32 ycbcrDegamma;
22638 } VkPhysicalDeviceYcbcrDegammaFeaturesQCOM;
22639
22640 typedef struct VkSamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM {
22641 VkStructureType sType;
22642 void* pNext;
22643 VkBool32 enableYDegamma;
22644 VkBool32 enableCbCrDegamma;
22645 } VkSamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM;
22646
22647
22648
22649 // VK_QCOM_filter_cubic_clamp is a preprocessor guard. Do not pass it to API calls.
22650 #define VK_QCOM_filter_cubic_clamp 1
22651 #define VK_QCOM_FILTER_CUBIC_CLAMP_SPEC_VERSION 1
22652 #define VK_QCOM_FILTER_CUBIC_CLAMP_EXTENSION_NAME "VK_QCOM_filter_cubic_clamp"
22653 typedef struct VkPhysicalDeviceCubicClampFeaturesQCOM {
22654 VkStructureType sType;
22655 void* pNext;
22656 VkBool32 cubicRangeClamp;
22657 } VkPhysicalDeviceCubicClampFeaturesQCOM;
22658
22659
22660
22661 // VK_EXT_attachment_feedback_loop_dynamic_state is a preprocessor guard. Do not pass it to API calls.
22662 #define VK_EXT_attachment_feedback_loop_dynamic_state 1
22663 #define VK_EXT_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_SPEC_VERSION 1
22664 #define VK_EXT_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_attachment_feedback_loop_dynamic_state"
22665 typedef struct VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT {
22666 VkStructureType sType;
22667 void* pNext;
22668 VkBool32 attachmentFeedbackLoopDynamicState;
22669 } VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT;
22670
22671 typedef void (VKAPI_PTR *PFN_vkCmdSetAttachmentFeedbackLoopEnableEXT)(VkCommandBuffer commandBuffer, VkImageAspectFlags aspectMask);
22672
22673 #ifndef VK_NO_PROTOTYPES
22674 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
22675 VKAPI_ATTR void VKAPI_CALL vkCmdSetAttachmentFeedbackLoopEnableEXT(
22676 VkCommandBuffer commandBuffer,
22677 VkImageAspectFlags aspectMask);
22678 #endif
22679 #endif
22680
22681
22682 // VK_MSFT_layered_driver is a preprocessor guard. Do not pass it to API calls.
22683 #define VK_MSFT_layered_driver 1
22684 #define VK_MSFT_LAYERED_DRIVER_SPEC_VERSION 1
22685 #define VK_MSFT_LAYERED_DRIVER_EXTENSION_NAME "VK_MSFT_layered_driver"
22686
22687 typedef enum VkLayeredDriverUnderlyingApiMSFT {
22688 VK_LAYERED_DRIVER_UNDERLYING_API_NONE_MSFT = 0,
22689 VK_LAYERED_DRIVER_UNDERLYING_API_D3D12_MSFT = 1,
22690 VK_LAYERED_DRIVER_UNDERLYING_API_MAX_ENUM_MSFT = 0x7FFFFFFF
22691 } VkLayeredDriverUnderlyingApiMSFT;
22692 typedef struct VkPhysicalDeviceLayeredDriverPropertiesMSFT {
22693 VkStructureType sType;
22694 void* pNext;
22695 VkLayeredDriverUnderlyingApiMSFT underlyingAPI;
22696 } VkPhysicalDeviceLayeredDriverPropertiesMSFT;
22697
22698
22699
22700 // VK_NV_descriptor_pool_overallocation is a preprocessor guard. Do not pass it to API calls.
22701 #define VK_NV_descriptor_pool_overallocation 1
22702 #define VK_NV_DESCRIPTOR_POOL_OVERALLOCATION_SPEC_VERSION 1
22703 #define VK_NV_DESCRIPTOR_POOL_OVERALLOCATION_EXTENSION_NAME "VK_NV_descriptor_pool_overallocation"
22704 typedef struct VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV {
22705 VkStructureType sType;
22706 void* pNext;
22707 VkBool32 descriptorPoolOverallocation;
22708 } VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV;
22709
22710
22711
22712 // VK_QCOM_tile_memory_heap is a preprocessor guard. Do not pass it to API calls.
22713 #define VK_QCOM_tile_memory_heap 1
22714 #define VK_QCOM_TILE_MEMORY_HEAP_SPEC_VERSION 1
22715 #define VK_QCOM_TILE_MEMORY_HEAP_EXTENSION_NAME "VK_QCOM_tile_memory_heap"
22716 typedef struct VkPhysicalDeviceTileMemoryHeapFeaturesQCOM {
22717 VkStructureType sType;
22718 void* pNext;
22719 VkBool32 tileMemoryHeap;
22720 } VkPhysicalDeviceTileMemoryHeapFeaturesQCOM;
22721
22722 typedef struct VkPhysicalDeviceTileMemoryHeapPropertiesQCOM {
22723 VkStructureType sType;
22724 void* pNext;
22725 VkBool32 queueSubmitBoundary;
22726 VkBool32 tileBufferTransfers;
22727 } VkPhysicalDeviceTileMemoryHeapPropertiesQCOM;
22728
22729 typedef struct VkTileMemoryRequirementsQCOM {
22730 VkStructureType sType;
22731 void* pNext;
22732 VkDeviceSize size;
22733 VkDeviceSize alignment;
22734 } VkTileMemoryRequirementsQCOM;
22735
22736 typedef struct VkTileMemoryBindInfoQCOM {
22737 VkStructureType sType;
22738 const void* pNext;
22739 VkDeviceMemory memory;
22740 } VkTileMemoryBindInfoQCOM;
22741
22742 typedef struct VkTileMemorySizeInfoQCOM {
22743 VkStructureType sType;
22744 const void* pNext;
22745 VkDeviceSize size;
22746 } VkTileMemorySizeInfoQCOM;
22747
22748 typedef void (VKAPI_PTR *PFN_vkCmdBindTileMemoryQCOM)(VkCommandBuffer commandBuffer, const VkTileMemoryBindInfoQCOM* pTileMemoryBindInfo);
22749
22750 #ifndef VK_NO_PROTOTYPES
22751 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
22752 VKAPI_ATTR void VKAPI_CALL vkCmdBindTileMemoryQCOM(
22753 VkCommandBuffer commandBuffer,
22754 const VkTileMemoryBindInfoQCOM* pTileMemoryBindInfo);
22755 #endif
22756 #endif
22757
22758
22759 // VK_EXT_memory_decompression is a preprocessor guard. Do not pass it to API calls.
22760 #define VK_EXT_memory_decompression 1
22761 #define VK_EXT_MEMORY_DECOMPRESSION_SPEC_VERSION 1
22762 #define VK_EXT_MEMORY_DECOMPRESSION_EXTENSION_NAME "VK_EXT_memory_decompression"
22763 typedef struct VkDecompressMemoryRegionEXT {
22764 VkDeviceAddress srcAddress;
22765 VkDeviceAddress dstAddress;
22766 VkDeviceSize compressedSize;
22767 VkDeviceSize decompressedSize;
22768 } VkDecompressMemoryRegionEXT;
22769
22770 typedef struct VkDecompressMemoryInfoEXT {
22771 VkStructureType sType;
22772 const void* pNext;
22773 VkMemoryDecompressionMethodFlagsEXT decompressionMethod;
22774 uint32_t regionCount;
22775 const VkDecompressMemoryRegionEXT* pRegions;
22776 } VkDecompressMemoryInfoEXT;
22777
22778 typedef void (VKAPI_PTR *PFN_vkCmdDecompressMemoryEXT)(VkCommandBuffer commandBuffer, const VkDecompressMemoryInfoEXT* pDecompressMemoryInfoEXT);
22779 typedef void (VKAPI_PTR *PFN_vkCmdDecompressMemoryIndirectCountEXT)(VkCommandBuffer commandBuffer, VkMemoryDecompressionMethodFlagsEXT decompressionMethod, VkDeviceAddress indirectCommandsAddress, VkDeviceAddress indirectCommandsCountAddress, uint32_t maxDecompressionCount, uint32_t stride);
22780
22781 #ifndef VK_NO_PROTOTYPES
22782 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
22783 VKAPI_ATTR void VKAPI_CALL vkCmdDecompressMemoryEXT(
22784 VkCommandBuffer commandBuffer,
22785 const VkDecompressMemoryInfoEXT* pDecompressMemoryInfoEXT);
22786 #endif
22787
22788 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
22789 VKAPI_ATTR void VKAPI_CALL vkCmdDecompressMemoryIndirectCountEXT(
22790 VkCommandBuffer commandBuffer,
22791 VkMemoryDecompressionMethodFlagsEXT decompressionMethod,
22792 VkDeviceAddress indirectCommandsAddress,
22793 VkDeviceAddress indirectCommandsCountAddress,
22794 uint32_t maxDecompressionCount,
22795 uint32_t stride);
22796 #endif
22797 #endif
22798
22799
22800 // VK_NV_display_stereo is a preprocessor guard. Do not pass it to API calls.
22801 #define VK_NV_display_stereo 1
22802 #define VK_NV_DISPLAY_STEREO_SPEC_VERSION 1
22803 #define VK_NV_DISPLAY_STEREO_EXTENSION_NAME "VK_NV_display_stereo"
22804
22805 typedef enum VkDisplaySurfaceStereoTypeNV {
22806 VK_DISPLAY_SURFACE_STEREO_TYPE_NONE_NV = 0,
22807 VK_DISPLAY_SURFACE_STEREO_TYPE_ONBOARD_DIN_NV = 1,
22808 VK_DISPLAY_SURFACE_STEREO_TYPE_HDMI_3D_NV = 2,
22809 VK_DISPLAY_SURFACE_STEREO_TYPE_INBAND_DISPLAYPORT_NV = 3,
22810 VK_DISPLAY_SURFACE_STEREO_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
22811 } VkDisplaySurfaceStereoTypeNV;
22812 typedef struct VkDisplaySurfaceStereoCreateInfoNV {
22813 VkStructureType sType;
22814 const void* pNext;
22815 VkDisplaySurfaceStereoTypeNV stereoType;
22816 } VkDisplaySurfaceStereoCreateInfoNV;
22817
22818 typedef struct VkDisplayModeStereoPropertiesNV {
22819 VkStructureType sType;
22820 void* pNext;
22821 VkBool32 hdmi3DSupported;
22822 } VkDisplayModeStereoPropertiesNV;
22823
22824
22825
22826 // VK_NV_raw_access_chains is a preprocessor guard. Do not pass it to API calls.
22827 #define VK_NV_raw_access_chains 1
22828 #define VK_NV_RAW_ACCESS_CHAINS_SPEC_VERSION 1
22829 #define VK_NV_RAW_ACCESS_CHAINS_EXTENSION_NAME "VK_NV_raw_access_chains"
22830 typedef struct VkPhysicalDeviceRawAccessChainsFeaturesNV {
22831 VkStructureType sType;
22832 void* pNext;
22833 VkBool32 shaderRawAccessChains;
22834 } VkPhysicalDeviceRawAccessChainsFeaturesNV;
22835
22836
22837
22838 // VK_NV_external_compute_queue is a preprocessor guard. Do not pass it to API calls.
22839 #define VK_NV_external_compute_queue 1
22840 VK_DEFINE_HANDLE(VkExternalComputeQueueNV)
22841 #define VK_NV_EXTERNAL_COMPUTE_QUEUE_SPEC_VERSION 1
22842 #define VK_NV_EXTERNAL_COMPUTE_QUEUE_EXTENSION_NAME "VK_NV_external_compute_queue"
22843 typedef struct VkExternalComputeQueueDeviceCreateInfoNV {
22844 VkStructureType sType;
22845 const void* pNext;
22846 uint32_t reservedExternalQueues;
22847 } VkExternalComputeQueueDeviceCreateInfoNV;
22848
22849 typedef struct VkExternalComputeQueueCreateInfoNV {
22850 VkStructureType sType;
22851 const void* pNext;
22852 VkQueue preferredQueue;
22853 } VkExternalComputeQueueCreateInfoNV;
22854
22855 typedef struct VkExternalComputeQueueDataParamsNV {
22856 VkStructureType sType;
22857 const void* pNext;
22858 uint32_t deviceIndex;
22859 } VkExternalComputeQueueDataParamsNV;
22860
22861 typedef struct VkPhysicalDeviceExternalComputeQueuePropertiesNV {
22862 VkStructureType sType;
22863 void* pNext;
22864 uint32_t externalDataSize;
22865 uint32_t maxExternalQueues;
22866 } VkPhysicalDeviceExternalComputeQueuePropertiesNV;
22867
22868 typedef VkResult (VKAPI_PTR *PFN_vkCreateExternalComputeQueueNV)(VkDevice device, const VkExternalComputeQueueCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkExternalComputeQueueNV* pExternalQueue);
22869 typedef void (VKAPI_PTR *PFN_vkDestroyExternalComputeQueueNV)(VkDevice device, VkExternalComputeQueueNV externalQueue, const VkAllocationCallbacks* pAllocator);
22870 typedef void (VKAPI_PTR *PFN_vkGetExternalComputeQueueDataNV)(VkExternalComputeQueueNV externalQueue, VkExternalComputeQueueDataParamsNV* params, void* pData);
22871
22872 #ifndef VK_NO_PROTOTYPES
22873 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
22874 VKAPI_ATTR VkResult VKAPI_CALL vkCreateExternalComputeQueueNV(
22875 VkDevice device,
22876 const VkExternalComputeQueueCreateInfoNV* pCreateInfo,
22877 const VkAllocationCallbacks* pAllocator,
22878 VkExternalComputeQueueNV* pExternalQueue);
22879 #endif
22880
22881 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
22882 VKAPI_ATTR void VKAPI_CALL vkDestroyExternalComputeQueueNV(
22883 VkDevice device,
22884 VkExternalComputeQueueNV externalQueue,
22885 const VkAllocationCallbacks* pAllocator);
22886 #endif
22887
22888 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
22889 VKAPI_ATTR void VKAPI_CALL vkGetExternalComputeQueueDataNV(
22890 VkExternalComputeQueueNV externalQueue,
22891 VkExternalComputeQueueDataParamsNV* params,
22892 void* pData);
22893 #endif
22894 #endif
22895
22896
22897 // VK_NV_command_buffer_inheritance is a preprocessor guard. Do not pass it to API calls.
22898 #define VK_NV_command_buffer_inheritance 1
22899 #define VK_NV_COMMAND_BUFFER_INHERITANCE_SPEC_VERSION 1
22900 #define VK_NV_COMMAND_BUFFER_INHERITANCE_EXTENSION_NAME "VK_NV_command_buffer_inheritance"
22901 typedef struct VkPhysicalDeviceCommandBufferInheritanceFeaturesNV {
22902 VkStructureType sType;
22903 void* pNext;
22904 VkBool32 commandBufferInheritance;
22905 } VkPhysicalDeviceCommandBufferInheritanceFeaturesNV;
22906
22907
22908
22909 // VK_NV_shader_atomic_float16_vector is a preprocessor guard. Do not pass it to API calls.
22910 #define VK_NV_shader_atomic_float16_vector 1
22911 #define VK_NV_SHADER_ATOMIC_FLOAT16_VECTOR_SPEC_VERSION 1
22912 #define VK_NV_SHADER_ATOMIC_FLOAT16_VECTOR_EXTENSION_NAME "VK_NV_shader_atomic_float16_vector"
22913 typedef struct VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV {
22914 VkStructureType sType;
22915 void* pNext;
22916 VkBool32 shaderFloat16VectorAtomics;
22917 } VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV;
22918
22919
22920
22921 // VK_EXT_shader_replicated_composites is a preprocessor guard. Do not pass it to API calls.
22922 #define VK_EXT_shader_replicated_composites 1
22923 #define VK_EXT_SHADER_REPLICATED_COMPOSITES_SPEC_VERSION 1
22924 #define VK_EXT_SHADER_REPLICATED_COMPOSITES_EXTENSION_NAME "VK_EXT_shader_replicated_composites"
22925 typedef struct VkPhysicalDeviceShaderReplicatedCompositesFeaturesEXT {
22926 VkStructureType sType;
22927 void* pNext;
22928 VkBool32 shaderReplicatedComposites;
22929 } VkPhysicalDeviceShaderReplicatedCompositesFeaturesEXT;
22930
22931
22932
22933 // VK_EXT_shader_float8 is a preprocessor guard. Do not pass it to API calls.
22934 #define VK_EXT_shader_float8 1
22935 #define VK_EXT_SHADER_FLOAT8_SPEC_VERSION 1
22936 #define VK_EXT_SHADER_FLOAT8_EXTENSION_NAME "VK_EXT_shader_float8"
22937 typedef struct VkPhysicalDeviceShaderFloat8FeaturesEXT {
22938 VkStructureType sType;
22939 void* pNext;
22940 VkBool32 shaderFloat8;
22941 VkBool32 shaderFloat8CooperativeMatrix;
22942 } VkPhysicalDeviceShaderFloat8FeaturesEXT;
22943
22944
22945
22946 // VK_NV_ray_tracing_validation is a preprocessor guard. Do not pass it to API calls.
22947 #define VK_NV_ray_tracing_validation 1
22948 #define VK_NV_RAY_TRACING_VALIDATION_SPEC_VERSION 1
22949 #define VK_NV_RAY_TRACING_VALIDATION_EXTENSION_NAME "VK_NV_ray_tracing_validation"
22950 typedef struct VkPhysicalDeviceRayTracingValidationFeaturesNV {
22951 VkStructureType sType;
22952 void* pNext;
22953 VkBool32 rayTracingValidation;
22954 } VkPhysicalDeviceRayTracingValidationFeaturesNV;
22955
22956
22957
22958 // VK_NV_cluster_acceleration_structure is a preprocessor guard. Do not pass it to API calls.
22959 #define VK_NV_cluster_acceleration_structure 1
22960 #define VK_NV_CLUSTER_ACCELERATION_STRUCTURE_SPEC_VERSION 4
22961 #define VK_NV_CLUSTER_ACCELERATION_STRUCTURE_EXTENSION_NAME "VK_NV_cluster_acceleration_structure"
22962
22963 typedef enum VkClusterAccelerationStructureTypeNV {
22964 VK_CLUSTER_ACCELERATION_STRUCTURE_TYPE_CLUSTERS_BOTTOM_LEVEL_NV = 0,
22965 VK_CLUSTER_ACCELERATION_STRUCTURE_TYPE_TRIANGLE_CLUSTER_NV = 1,
22966 VK_CLUSTER_ACCELERATION_STRUCTURE_TYPE_TRIANGLE_CLUSTER_TEMPLATE_NV = 2,
22967 VK_CLUSTER_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
22968 } VkClusterAccelerationStructureTypeNV;
22969
22970 typedef enum VkClusterAccelerationStructureOpTypeNV {
22971 VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_MOVE_OBJECTS_NV = 0,
22972 VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_BUILD_CLUSTERS_BOTTOM_LEVEL_NV = 1,
22973 VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_BUILD_TRIANGLE_CLUSTER_NV = 2,
22974 VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_BUILD_TRIANGLE_CLUSTER_TEMPLATE_NV = 3,
22975 VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_INSTANTIATE_TRIANGLE_CLUSTER_NV = 4,
22976 VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_GET_CLUSTER_TEMPLATE_INDICES_NV = 5,
22977 VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
22978 } VkClusterAccelerationStructureOpTypeNV;
22979
22980 typedef enum VkClusterAccelerationStructureOpModeNV {
22981 VK_CLUSTER_ACCELERATION_STRUCTURE_OP_MODE_IMPLICIT_DESTINATIONS_NV = 0,
22982 VK_CLUSTER_ACCELERATION_STRUCTURE_OP_MODE_EXPLICIT_DESTINATIONS_NV = 1,
22983 VK_CLUSTER_ACCELERATION_STRUCTURE_OP_MODE_COMPUTE_SIZES_NV = 2,
22984 VK_CLUSTER_ACCELERATION_STRUCTURE_OP_MODE_MAX_ENUM_NV = 0x7FFFFFFF
22985 } VkClusterAccelerationStructureOpModeNV;
22986
22987 typedef enum VkClusterAccelerationStructureAddressResolutionFlagBitsNV {
22988 VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_NONE_NV = 0,
22989 VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_INDIRECTED_DST_IMPLICIT_DATA_BIT_NV = 0x00000001,
22990 VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_INDIRECTED_SCRATCH_DATA_BIT_NV = 0x00000002,
22991 VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_INDIRECTED_DST_ADDRESS_ARRAY_BIT_NV = 0x00000004,
22992 VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_INDIRECTED_DST_SIZES_ARRAY_BIT_NV = 0x00000008,
22993 VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_INDIRECTED_SRC_INFOS_ARRAY_BIT_NV = 0x00000010,
22994 VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_INDIRECTED_SRC_INFOS_COUNT_BIT_NV = 0x00000020,
22995 VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
22996 } VkClusterAccelerationStructureAddressResolutionFlagBitsNV;
22997 typedef VkFlags VkClusterAccelerationStructureAddressResolutionFlagsNV;
22998
22999 typedef enum VkClusterAccelerationStructureClusterFlagBitsNV {
23000 VK_CLUSTER_ACCELERATION_STRUCTURE_CLUSTER_ALLOW_DISABLE_OPACITY_MICROMAPS_NV = 0x00000001,
23001 VK_CLUSTER_ACCELERATION_STRUCTURE_CLUSTER_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
23002 } VkClusterAccelerationStructureClusterFlagBitsNV;
23003 typedef VkFlags VkClusterAccelerationStructureClusterFlagsNV;
23004
23005 typedef enum VkClusterAccelerationStructureGeometryFlagBitsNV {
23006 VK_CLUSTER_ACCELERATION_STRUCTURE_GEOMETRY_CULL_DISABLE_BIT_NV = 0x00000001,
23007 VK_CLUSTER_ACCELERATION_STRUCTURE_GEOMETRY_NO_DUPLICATE_ANYHIT_INVOCATION_BIT_NV = 0x00000002,
23008 VK_CLUSTER_ACCELERATION_STRUCTURE_GEOMETRY_OPAQUE_BIT_NV = 0x00000004,
23009 VK_CLUSTER_ACCELERATION_STRUCTURE_GEOMETRY_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
23010 } VkClusterAccelerationStructureGeometryFlagBitsNV;
23011 typedef VkFlags VkClusterAccelerationStructureGeometryFlagsNV;
23012
23013 typedef enum VkClusterAccelerationStructureIndexFormatFlagBitsNV {
23014 VK_CLUSTER_ACCELERATION_STRUCTURE_INDEX_FORMAT_8BIT_NV = 0x00000001,
23015 VK_CLUSTER_ACCELERATION_STRUCTURE_INDEX_FORMAT_16BIT_NV = 0x00000002,
23016 VK_CLUSTER_ACCELERATION_STRUCTURE_INDEX_FORMAT_32BIT_NV = 0x00000004,
23017 VK_CLUSTER_ACCELERATION_STRUCTURE_INDEX_FORMAT_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
23018 } VkClusterAccelerationStructureIndexFormatFlagBitsNV;
23019 typedef VkFlags VkClusterAccelerationStructureIndexFormatFlagsNV;
23020 typedef struct VkPhysicalDeviceClusterAccelerationStructureFeaturesNV {
23021 VkStructureType sType;
23022 void* pNext;
23023 VkBool32 clusterAccelerationStructure;
23024 } VkPhysicalDeviceClusterAccelerationStructureFeaturesNV;
23025
23026 typedef struct VkPhysicalDeviceClusterAccelerationStructurePropertiesNV {
23027 VkStructureType sType;
23028 void* pNext;
23029 uint32_t maxVerticesPerCluster;
23030 uint32_t maxTrianglesPerCluster;
23031 uint32_t clusterScratchByteAlignment;
23032 uint32_t clusterByteAlignment;
23033 uint32_t clusterTemplateByteAlignment;
23034 uint32_t clusterBottomLevelByteAlignment;
23035 uint32_t clusterTemplateBoundsByteAlignment;
23036 uint32_t maxClusterGeometryIndex;
23037 } VkPhysicalDeviceClusterAccelerationStructurePropertiesNV;
23038
23039 typedef struct VkClusterAccelerationStructureClustersBottomLevelInputNV {
23040 VkStructureType sType;
23041 void* pNext;
23042 uint32_t maxTotalClusterCount;
23043 uint32_t maxClusterCountPerAccelerationStructure;
23044 } VkClusterAccelerationStructureClustersBottomLevelInputNV;
23045
23046 typedef struct VkClusterAccelerationStructureTriangleClusterInputNV {
23047 VkStructureType sType;
23048 void* pNext;
23049 VkFormat vertexFormat;
23050 uint32_t maxGeometryIndexValue;
23051 uint32_t maxClusterUniqueGeometryCount;
23052 uint32_t maxClusterTriangleCount;
23053 uint32_t maxClusterVertexCount;
23054 uint32_t maxTotalTriangleCount;
23055 uint32_t maxTotalVertexCount;
23056 uint32_t minPositionTruncateBitCount;
23057 } VkClusterAccelerationStructureTriangleClusterInputNV;
23058
23059 typedef struct VkClusterAccelerationStructureMoveObjectsInputNV {
23060 VkStructureType sType;
23061 void* pNext;
23062 VkClusterAccelerationStructureTypeNV type;
23063 VkBool32 noMoveOverlap;
23064 VkDeviceSize maxMovedBytes;
23065 } VkClusterAccelerationStructureMoveObjectsInputNV;
23066
23067 typedef union VkClusterAccelerationStructureOpInputNV {
23068 VkClusterAccelerationStructureClustersBottomLevelInputNV* pClustersBottomLevel;
23069 VkClusterAccelerationStructureTriangleClusterInputNV* pTriangleClusters;
23070 VkClusterAccelerationStructureMoveObjectsInputNV* pMoveObjects;
23071 } VkClusterAccelerationStructureOpInputNV;
23072
23073 typedef struct VkClusterAccelerationStructureInputInfoNV {
23074 VkStructureType sType;
23075 void* pNext;
23076 uint32_t maxAccelerationStructureCount;
23077 VkBuildAccelerationStructureFlagsKHR flags;
23078 VkClusterAccelerationStructureOpTypeNV opType;
23079 VkClusterAccelerationStructureOpModeNV opMode;
23080 VkClusterAccelerationStructureOpInputNV opInput;
23081 } VkClusterAccelerationStructureInputInfoNV;
23082
23083 typedef struct VkStridedDeviceAddressRegionKHR {
23084 VkDeviceAddress deviceAddress;
23085 VkDeviceSize stride;
23086 VkDeviceSize size;
23087 } VkStridedDeviceAddressRegionKHR;
23088
23089 typedef struct VkClusterAccelerationStructureCommandsInfoNV {
23090 VkStructureType sType;
23091 void* pNext;
23092 VkClusterAccelerationStructureInputInfoNV input;
23093 VkDeviceAddress dstImplicitData;
23094 VkDeviceAddress scratchData;
23095 VkStridedDeviceAddressRegionKHR dstAddressesArray;
23096 VkStridedDeviceAddressRegionKHR dstSizesArray;
23097 VkStridedDeviceAddressRegionKHR srcInfosArray;
23098 VkDeviceAddress srcInfosCount;
23099 VkClusterAccelerationStructureAddressResolutionFlagsNV addressResolutionFlags;
23100 } VkClusterAccelerationStructureCommandsInfoNV;
23101
23102 typedef struct VkStridedDeviceAddressNV {
23103 VkDeviceAddress startAddress;
23104 VkDeviceSize strideInBytes;
23105 } VkStridedDeviceAddressNV;
23106
23107 typedef struct VkClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV {
23108 uint32_t geometryIndex:24;
23109 uint32_t reserved:5;
23110 uint32_t geometryFlags:3;
23111 } VkClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV;
23112
23113 typedef struct VkClusterAccelerationStructureMoveObjectsInfoNV {
23114 VkDeviceAddress srcAccelerationStructure;
23115 } VkClusterAccelerationStructureMoveObjectsInfoNV;
23116
23117 typedef struct VkClusterAccelerationStructureBuildClustersBottomLevelInfoNV {
23118 uint32_t clusterReferencesCount;
23119 uint32_t clusterReferencesStride;
23120 VkDeviceAddress clusterReferences;
23121 } VkClusterAccelerationStructureBuildClustersBottomLevelInfoNV;
23122
23123 typedef struct VkClusterAccelerationStructureBuildTriangleClusterInfoNV {
23124 uint32_t clusterID;
23125 VkClusterAccelerationStructureClusterFlagsNV clusterFlags;
23126 uint32_t triangleCount:9;
23127 uint32_t vertexCount:9;
23128 uint32_t positionTruncateBitCount:6;
23129 uint32_t indexType:4;
23130 uint32_t opacityMicromapIndexType:4;
23131 VkClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV baseGeometryIndexAndGeometryFlags;
23132 uint16_t indexBufferStride;
23133 uint16_t vertexBufferStride;
23134 uint16_t geometryIndexAndFlagsBufferStride;
23135 uint16_t opacityMicromapIndexBufferStride;
23136 VkDeviceAddress indexBuffer;
23137 VkDeviceAddress vertexBuffer;
23138 VkDeviceAddress geometryIndexAndFlagsBuffer;
23139 VkDeviceAddress opacityMicromapArray;
23140 VkDeviceAddress opacityMicromapIndexBuffer;
23141 } VkClusterAccelerationStructureBuildTriangleClusterInfoNV;
23142
23143 typedef struct VkClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV {
23144 uint32_t clusterID;
23145 VkClusterAccelerationStructureClusterFlagsNV clusterFlags;
23146 uint32_t triangleCount:9;
23147 uint32_t vertexCount:9;
23148 uint32_t positionTruncateBitCount:6;
23149 uint32_t indexType:4;
23150 uint32_t opacityMicromapIndexType:4;
23151 VkClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV baseGeometryIndexAndGeometryFlags;
23152 uint16_t indexBufferStride;
23153 uint16_t vertexBufferStride;
23154 uint16_t geometryIndexAndFlagsBufferStride;
23155 uint16_t opacityMicromapIndexBufferStride;
23156 VkDeviceAddress indexBuffer;
23157 VkDeviceAddress vertexBuffer;
23158 VkDeviceAddress geometryIndexAndFlagsBuffer;
23159 VkDeviceAddress opacityMicromapArray;
23160 VkDeviceAddress opacityMicromapIndexBuffer;
23161 VkDeviceAddress instantiationBoundingBoxLimit;
23162 } VkClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV;
23163
23164 typedef struct VkClusterAccelerationStructureInstantiateClusterInfoNV {
23165 uint32_t clusterIdOffset;
23166 uint32_t geometryIndexOffset:24;
23167 uint32_t reserved:8;
23168 VkDeviceAddress clusterTemplateAddress;
23169 VkStridedDeviceAddressNV vertexBuffer;
23170 } VkClusterAccelerationStructureInstantiateClusterInfoNV;
23171
23172 typedef struct VkClusterAccelerationStructureGetTemplateIndicesInfoNV {
23173 VkDeviceAddress clusterTemplateAddress;
23174 } VkClusterAccelerationStructureGetTemplateIndicesInfoNV;
23175
23176 typedef struct VkAccelerationStructureBuildSizesInfoKHR {
23177 VkStructureType sType;
23178 void* pNext;
23179 VkDeviceSize accelerationStructureSize;
23180 VkDeviceSize updateScratchSize;
23181 VkDeviceSize buildScratchSize;
23182 } VkAccelerationStructureBuildSizesInfoKHR;
23183
23184 typedef struct VkRayTracingPipelineClusterAccelerationStructureCreateInfoNV {
23185 VkStructureType sType;
23186 void* pNext;
23187 VkBool32 allowClusterAccelerationStructure;
23188 } VkRayTracingPipelineClusterAccelerationStructureCreateInfoNV;
23189
23190 typedef void (VKAPI_PTR *PFN_vkGetClusterAccelerationStructureBuildSizesNV)(VkDevice device, const VkClusterAccelerationStructureInputInfoNV* pInfo, VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo);
23191 typedef void (VKAPI_PTR *PFN_vkCmdBuildClusterAccelerationStructureIndirectNV)(VkCommandBuffer commandBuffer, const VkClusterAccelerationStructureCommandsInfoNV* pCommandInfos);
23192
23193 #ifndef VK_NO_PROTOTYPES
23194 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
23195 VKAPI_ATTR void VKAPI_CALL vkGetClusterAccelerationStructureBuildSizesNV(
23196 VkDevice device,
23197 const VkClusterAccelerationStructureInputInfoNV* pInfo,
23198 VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo);
23199 #endif
23200
23201 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
23202 VKAPI_ATTR void VKAPI_CALL vkCmdBuildClusterAccelerationStructureIndirectNV(
23203 VkCommandBuffer commandBuffer,
23204 const VkClusterAccelerationStructureCommandsInfoNV* pCommandInfos);
23205 #endif
23206 #endif
23207
23208
23209 // VK_NV_partitioned_acceleration_structure is a preprocessor guard. Do not pass it to API calls.
23210 #define VK_NV_partitioned_acceleration_structure 1
23211 #define VK_NV_PARTITIONED_ACCELERATION_STRUCTURE_SPEC_VERSION 1
23212 #define VK_NV_PARTITIONED_ACCELERATION_STRUCTURE_EXTENSION_NAME "VK_NV_partitioned_acceleration_structure"
23213 #define VK_PARTITIONED_ACCELERATION_STRUCTURE_PARTITION_INDEX_GLOBAL_NV (~0U)
23214
23215 typedef enum VkPartitionedAccelerationStructureOpTypeNV {
23216 VK_PARTITIONED_ACCELERATION_STRUCTURE_OP_TYPE_WRITE_INSTANCE_NV = 0,
23217 VK_PARTITIONED_ACCELERATION_STRUCTURE_OP_TYPE_UPDATE_INSTANCE_NV = 1,
23218 VK_PARTITIONED_ACCELERATION_STRUCTURE_OP_TYPE_WRITE_PARTITION_TRANSLATION_NV = 2,
23219 VK_PARTITIONED_ACCELERATION_STRUCTURE_OP_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
23220 } VkPartitionedAccelerationStructureOpTypeNV;
23221
23222 typedef enum VkPartitionedAccelerationStructureInstanceFlagBitsNV {
23223 VK_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCE_FLAG_TRIANGLE_FACING_CULL_DISABLE_BIT_NV = 0x00000001,
23224 VK_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCE_FLAG_TRIANGLE_FLIP_FACING_BIT_NV = 0x00000002,
23225 VK_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCE_FLAG_FORCE_OPAQUE_BIT_NV = 0x00000004,
23226 VK_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCE_FLAG_FORCE_NO_OPAQUE_BIT_NV = 0x00000008,
23227 VK_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCE_FLAG_ENABLE_EXPLICIT_BOUNDING_BOX_NV = 0x00000010,
23228 VK_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
23229 } VkPartitionedAccelerationStructureInstanceFlagBitsNV;
23230 typedef VkFlags VkPartitionedAccelerationStructureInstanceFlagsNV;
23231 typedef struct VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV {
23232 VkStructureType sType;
23233 void* pNext;
23234 VkBool32 partitionedAccelerationStructure;
23235 } VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV;
23236
23237 typedef struct VkPhysicalDevicePartitionedAccelerationStructurePropertiesNV {
23238 VkStructureType sType;
23239 void* pNext;
23240 uint32_t maxPartitionCount;
23241 } VkPhysicalDevicePartitionedAccelerationStructurePropertiesNV;
23242
23243 typedef struct VkPartitionedAccelerationStructureFlagsNV {
23244 VkStructureType sType;
23245 void* pNext;
23246 VkBool32 enablePartitionTranslation;
23247 } VkPartitionedAccelerationStructureFlagsNV;
23248
23249 typedef struct VkBuildPartitionedAccelerationStructureIndirectCommandNV {
23250 VkPartitionedAccelerationStructureOpTypeNV opType;
23251 uint32_t argCount;
23252 VkStridedDeviceAddressNV argData;
23253 } VkBuildPartitionedAccelerationStructureIndirectCommandNV;
23254
23255 typedef struct VkPartitionedAccelerationStructureWriteInstanceDataNV {
23256 VkTransformMatrixKHR transform;
23257 float explicitAABB[6];
23258 uint32_t instanceID;
23259 uint32_t instanceMask;
23260 uint32_t instanceContributionToHitGroupIndex;
23261 VkPartitionedAccelerationStructureInstanceFlagsNV instanceFlags;
23262 uint32_t instanceIndex;
23263 uint32_t partitionIndex;
23264 VkDeviceAddress accelerationStructure;
23265 } VkPartitionedAccelerationStructureWriteInstanceDataNV;
23266
23267 typedef struct VkPartitionedAccelerationStructureUpdateInstanceDataNV {
23268 uint32_t instanceIndex;
23269 uint32_t instanceContributionToHitGroupIndex;
23270 VkDeviceAddress accelerationStructure;
23271 } VkPartitionedAccelerationStructureUpdateInstanceDataNV;
23272
23273 typedef struct VkPartitionedAccelerationStructureWritePartitionTranslationDataNV {
23274 uint32_t partitionIndex;
23275 float partitionTranslation[3];
23276 } VkPartitionedAccelerationStructureWritePartitionTranslationDataNV;
23277
23278 typedef struct VkWriteDescriptorSetPartitionedAccelerationStructureNV {
23279 VkStructureType sType;
23280 void* pNext;
23281 uint32_t accelerationStructureCount;
23282 const VkDeviceAddress* pAccelerationStructures;
23283 } VkWriteDescriptorSetPartitionedAccelerationStructureNV;
23284
23285 typedef struct VkPartitionedAccelerationStructureInstancesInputNV {
23286 VkStructureType sType;
23287 void* pNext;
23288 VkBuildAccelerationStructureFlagsKHR flags;
23289 uint32_t instanceCount;
23290 uint32_t maxInstancePerPartitionCount;
23291 uint32_t partitionCount;
23292 uint32_t maxInstanceInGlobalPartitionCount;
23293 } VkPartitionedAccelerationStructureInstancesInputNV;
23294
23295 typedef struct VkBuildPartitionedAccelerationStructureInfoNV {
23296 VkStructureType sType;
23297 void* pNext;
23298 VkPartitionedAccelerationStructureInstancesInputNV input;
23299 VkDeviceAddress srcAccelerationStructureData;
23300 VkDeviceAddress dstAccelerationStructureData;
23301 VkDeviceAddress scratchData;
23302 VkDeviceAddress srcInfos;
23303 VkDeviceAddress srcInfosCount;
23304 } VkBuildPartitionedAccelerationStructureInfoNV;
23305
23306 typedef void (VKAPI_PTR *PFN_vkGetPartitionedAccelerationStructuresBuildSizesNV)(VkDevice device, const VkPartitionedAccelerationStructureInstancesInputNV* pInfo, VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo);
23307 typedef void (VKAPI_PTR *PFN_vkCmdBuildPartitionedAccelerationStructuresNV)(VkCommandBuffer commandBuffer, const VkBuildPartitionedAccelerationStructureInfoNV* pBuildInfo);
23308
23309 #ifndef VK_NO_PROTOTYPES
23310 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
23311 VKAPI_ATTR void VKAPI_CALL vkGetPartitionedAccelerationStructuresBuildSizesNV(
23312 VkDevice device,
23313 const VkPartitionedAccelerationStructureInstancesInputNV* pInfo,
23314 VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo);
23315 #endif
23316
23317 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
23318 VKAPI_ATTR void VKAPI_CALL vkCmdBuildPartitionedAccelerationStructuresNV(
23319 VkCommandBuffer commandBuffer,
23320 const VkBuildPartitionedAccelerationStructureInfoNV* pBuildInfo);
23321 #endif
23322 #endif
23323
23324
23325 // VK_EXT_device_generated_commands is a preprocessor guard. Do not pass it to API calls.
23326 #define VK_EXT_device_generated_commands 1
23327 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectExecutionSetEXT)
23328 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutEXT)
23329 #define VK_EXT_DEVICE_GENERATED_COMMANDS_SPEC_VERSION 1
23330 #define VK_EXT_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_EXT_device_generated_commands"
23331
23332 typedef enum VkIndirectExecutionSetInfoTypeEXT {
23333 VK_INDIRECT_EXECUTION_SET_INFO_TYPE_PIPELINES_EXT = 0,
23334 VK_INDIRECT_EXECUTION_SET_INFO_TYPE_SHADER_OBJECTS_EXT = 1,
23335 VK_INDIRECT_EXECUTION_SET_INFO_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
23336 } VkIndirectExecutionSetInfoTypeEXT;
23337
23338 typedef enum VkIndirectCommandsTokenTypeEXT {
23339 VK_INDIRECT_COMMANDS_TOKEN_TYPE_EXECUTION_SET_EXT = 0,
23340 VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_EXT = 1,
23341 VK_INDIRECT_COMMANDS_TOKEN_TYPE_SEQUENCE_INDEX_EXT = 2,
23342 VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_EXT = 3,
23343 VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_EXT = 4,
23344 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_EXT = 5,
23345 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_EXT = 6,
23346 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_COUNT_EXT = 7,
23347 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_COUNT_EXT = 8,
23348 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_EXT = 9,
23349 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_NV_EXT = 1000202002,
23350 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_COUNT_NV_EXT = 1000202003,
23351 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_EXT = 1000328000,
23352 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_COUNT_EXT = 1000328001,
23353 VK_INDIRECT_COMMANDS_TOKEN_TYPE_TRACE_RAYS2_EXT = 1000386004,
23354 VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
23355 } VkIndirectCommandsTokenTypeEXT;
23356
23357 typedef enum VkIndirectCommandsInputModeFlagBitsEXT {
23358 VK_INDIRECT_COMMANDS_INPUT_MODE_VULKAN_INDEX_BUFFER_EXT = 0x00000001,
23359 VK_INDIRECT_COMMANDS_INPUT_MODE_DXGI_INDEX_BUFFER_EXT = 0x00000002,
23360 VK_INDIRECT_COMMANDS_INPUT_MODE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
23361 } VkIndirectCommandsInputModeFlagBitsEXT;
23362 typedef VkFlags VkIndirectCommandsInputModeFlagsEXT;
23363
23364 typedef enum VkIndirectCommandsLayoutUsageFlagBitsEXT {
23365 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_EXT = 0x00000001,
23366 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_EXT = 0x00000002,
23367 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
23368 } VkIndirectCommandsLayoutUsageFlagBitsEXT;
23369 typedef VkFlags VkIndirectCommandsLayoutUsageFlagsEXT;
23370 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesEXT {
23371 VkStructureType sType;
23372 void* pNext;
23373 VkBool32 deviceGeneratedCommands;
23374 VkBool32 dynamicGeneratedPipelineLayout;
23375 } VkPhysicalDeviceDeviceGeneratedCommandsFeaturesEXT;
23376
23377 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesEXT {
23378 VkStructureType sType;
23379 void* pNext;
23380 uint32_t maxIndirectPipelineCount;
23381 uint32_t maxIndirectShaderObjectCount;
23382 uint32_t maxIndirectSequenceCount;
23383 uint32_t maxIndirectCommandsTokenCount;
23384 uint32_t maxIndirectCommandsTokenOffset;
23385 uint32_t maxIndirectCommandsIndirectStride;
23386 VkIndirectCommandsInputModeFlagsEXT supportedIndirectCommandsInputModes;
23387 VkShaderStageFlags supportedIndirectCommandsShaderStages;
23388 VkShaderStageFlags supportedIndirectCommandsShaderStagesPipelineBinding;
23389 VkShaderStageFlags supportedIndirectCommandsShaderStagesShaderBinding;
23390 VkBool32 deviceGeneratedCommandsTransformFeedback;
23391 VkBool32 deviceGeneratedCommandsMultiDrawIndirectCount;
23392 } VkPhysicalDeviceDeviceGeneratedCommandsPropertiesEXT;
23393
23394 typedef struct VkGeneratedCommandsMemoryRequirementsInfoEXT {
23395 VkStructureType sType;
23396 const void* pNext;
23397 VkIndirectExecutionSetEXT indirectExecutionSet;
23398 VkIndirectCommandsLayoutEXT indirectCommandsLayout;
23399 uint32_t maxSequenceCount;
23400 uint32_t maxDrawCount;
23401 } VkGeneratedCommandsMemoryRequirementsInfoEXT;
23402
23403 typedef struct VkIndirectExecutionSetPipelineInfoEXT {
23404 VkStructureType sType;
23405 const void* pNext;
23406 VkPipeline initialPipeline;
23407 uint32_t maxPipelineCount;
23408 } VkIndirectExecutionSetPipelineInfoEXT;
23409
23410 typedef struct VkIndirectExecutionSetShaderLayoutInfoEXT {
23411 VkStructureType sType;
23412 const void* pNext;
23413 uint32_t setLayoutCount;
23414 const VkDescriptorSetLayout* pSetLayouts;
23415 } VkIndirectExecutionSetShaderLayoutInfoEXT;
23416
23417 typedef struct VkIndirectExecutionSetShaderInfoEXT {
23418 VkStructureType sType;
23419 const void* pNext;
23420 uint32_t shaderCount;
23421 const VkShaderEXT* pInitialShaders;
23422 const VkIndirectExecutionSetShaderLayoutInfoEXT* pSetLayoutInfos;
23423 uint32_t maxShaderCount;
23424 uint32_t pushConstantRangeCount;
23425 const VkPushConstantRange* pPushConstantRanges;
23426 } VkIndirectExecutionSetShaderInfoEXT;
23427
23428 typedef union VkIndirectExecutionSetInfoEXT {
23429 const VkIndirectExecutionSetPipelineInfoEXT* pPipelineInfo;
23430 const VkIndirectExecutionSetShaderInfoEXT* pShaderInfo;
23431 } VkIndirectExecutionSetInfoEXT;
23432
23433 typedef struct VkIndirectExecutionSetCreateInfoEXT {
23434 VkStructureType sType;
23435 const void* pNext;
23436 VkIndirectExecutionSetInfoTypeEXT type;
23437 VkIndirectExecutionSetInfoEXT info;
23438 } VkIndirectExecutionSetCreateInfoEXT;
23439
23440 typedef struct VkGeneratedCommandsInfoEXT {
23441 VkStructureType sType;
23442 const void* pNext;
23443 VkShaderStageFlags shaderStages;
23444 VkIndirectExecutionSetEXT indirectExecutionSet;
23445 VkIndirectCommandsLayoutEXT indirectCommandsLayout;
23446 VkDeviceAddress indirectAddress;
23447 VkDeviceSize indirectAddressSize;
23448 VkDeviceAddress preprocessAddress;
23449 VkDeviceSize preprocessSize;
23450 uint32_t maxSequenceCount;
23451 VkDeviceAddress sequenceCountAddress;
23452 uint32_t maxDrawCount;
23453 } VkGeneratedCommandsInfoEXT;
23454
23455 typedef struct VkWriteIndirectExecutionSetPipelineEXT {
23456 VkStructureType sType;
23457 const void* pNext;
23458 uint32_t index;
23459 VkPipeline pipeline;
23460 } VkWriteIndirectExecutionSetPipelineEXT;
23461
23462 typedef struct VkIndirectCommandsPushConstantTokenEXT {
23463 VkPushConstantRange updateRange;
23464 } VkIndirectCommandsPushConstantTokenEXT;
23465
23466 typedef struct VkIndirectCommandsVertexBufferTokenEXT {
23467 uint32_t vertexBindingUnit;
23468 } VkIndirectCommandsVertexBufferTokenEXT;
23469
23470 typedef struct VkIndirectCommandsIndexBufferTokenEXT {
23471 VkIndirectCommandsInputModeFlagBitsEXT mode;
23472 } VkIndirectCommandsIndexBufferTokenEXT;
23473
23474 typedef struct VkIndirectCommandsExecutionSetTokenEXT {
23475 VkIndirectExecutionSetInfoTypeEXT type;
23476 VkShaderStageFlags shaderStages;
23477 } VkIndirectCommandsExecutionSetTokenEXT;
23478
23479 typedef union VkIndirectCommandsTokenDataEXT {
23480 const VkIndirectCommandsPushConstantTokenEXT* pPushConstant;
23481 const VkIndirectCommandsVertexBufferTokenEXT* pVertexBuffer;
23482 const VkIndirectCommandsIndexBufferTokenEXT* pIndexBuffer;
23483 const VkIndirectCommandsExecutionSetTokenEXT* pExecutionSet;
23484 } VkIndirectCommandsTokenDataEXT;
23485
23486 typedef struct VkIndirectCommandsLayoutTokenEXT {
23487 VkStructureType sType;
23488 const void* pNext;
23489 VkIndirectCommandsTokenTypeEXT type;
23490 VkIndirectCommandsTokenDataEXT data;
23491 uint32_t offset;
23492 } VkIndirectCommandsLayoutTokenEXT;
23493
23494 typedef struct VkIndirectCommandsLayoutCreateInfoEXT {
23495 VkStructureType sType;
23496 const void* pNext;
23497 VkIndirectCommandsLayoutUsageFlagsEXT flags;
23498 VkShaderStageFlags shaderStages;
23499 uint32_t indirectStride;
23500 VkPipelineLayout pipelineLayout;
23501 uint32_t tokenCount;
23502 const VkIndirectCommandsLayoutTokenEXT* pTokens;
23503 } VkIndirectCommandsLayoutCreateInfoEXT;
23504
23505 typedef struct VkDrawIndirectCountIndirectCommandEXT {
23506 VkDeviceAddress bufferAddress;
23507 uint32_t stride;
23508 uint32_t commandCount;
23509 } VkDrawIndirectCountIndirectCommandEXT;
23510
23511 typedef struct VkBindVertexBufferIndirectCommandEXT {
23512 VkDeviceAddress bufferAddress;
23513 uint32_t size;
23514 uint32_t stride;
23515 } VkBindVertexBufferIndirectCommandEXT;
23516
23517 typedef struct VkBindIndexBufferIndirectCommandEXT {
23518 VkDeviceAddress bufferAddress;
23519 uint32_t size;
23520 VkIndexType indexType;
23521 } VkBindIndexBufferIndirectCommandEXT;
23522
23523 typedef struct VkGeneratedCommandsPipelineInfoEXT {
23524 VkStructureType sType;
23525 void* pNext;
23526 VkPipeline pipeline;
23527 } VkGeneratedCommandsPipelineInfoEXT;
23528
23529 typedef struct VkGeneratedCommandsShaderInfoEXT {
23530 VkStructureType sType;
23531 void* pNext;
23532 uint32_t shaderCount;
23533 const VkShaderEXT* pShaders;
23534 } VkGeneratedCommandsShaderInfoEXT;
23535
23536 typedef struct VkWriteIndirectExecutionSetShaderEXT {
23537 VkStructureType sType;
23538 const void* pNext;
23539 uint32_t index;
23540 VkShaderEXT shader;
23541 } VkWriteIndirectExecutionSetShaderEXT;
23542
23543 typedef void (VKAPI_PTR *PFN_vkGetGeneratedCommandsMemoryRequirementsEXT)(VkDevice device, const VkGeneratedCommandsMemoryRequirementsInfoEXT* pInfo, VkMemoryRequirements2* pMemoryRequirements);
23544 typedef void (VKAPI_PTR *PFN_vkCmdPreprocessGeneratedCommandsEXT)(VkCommandBuffer commandBuffer, const VkGeneratedCommandsInfoEXT* pGeneratedCommandsInfo, VkCommandBuffer stateCommandBuffer);
23545 typedef void (VKAPI_PTR *PFN_vkCmdExecuteGeneratedCommandsEXT)(VkCommandBuffer commandBuffer, VkBool32 isPreprocessed, const VkGeneratedCommandsInfoEXT* pGeneratedCommandsInfo);
23546 typedef VkResult (VKAPI_PTR *PFN_vkCreateIndirectCommandsLayoutEXT)(VkDevice device, const VkIndirectCommandsLayoutCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutEXT* pIndirectCommandsLayout);
23547 typedef void (VKAPI_PTR *PFN_vkDestroyIndirectCommandsLayoutEXT)(VkDevice device, VkIndirectCommandsLayoutEXT indirectCommandsLayout, const VkAllocationCallbacks* pAllocator);
23548 typedef VkResult (VKAPI_PTR *PFN_vkCreateIndirectExecutionSetEXT)(VkDevice device, const VkIndirectExecutionSetCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectExecutionSetEXT* pIndirectExecutionSet);
23549 typedef void (VKAPI_PTR *PFN_vkDestroyIndirectExecutionSetEXT)(VkDevice device, VkIndirectExecutionSetEXT indirectExecutionSet, const VkAllocationCallbacks* pAllocator);
23550 typedef void (VKAPI_PTR *PFN_vkUpdateIndirectExecutionSetPipelineEXT)(VkDevice device, VkIndirectExecutionSetEXT indirectExecutionSet, uint32_t executionSetWriteCount, const VkWriteIndirectExecutionSetPipelineEXT* pExecutionSetWrites);
23551 typedef void (VKAPI_PTR *PFN_vkUpdateIndirectExecutionSetShaderEXT)(VkDevice device, VkIndirectExecutionSetEXT indirectExecutionSet, uint32_t executionSetWriteCount, const VkWriteIndirectExecutionSetShaderEXT* pExecutionSetWrites);
23552
23553 #ifndef VK_NO_PROTOTYPES
23554 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
23555 VKAPI_ATTR void VKAPI_CALL vkGetGeneratedCommandsMemoryRequirementsEXT(
23556 VkDevice device,
23557 const VkGeneratedCommandsMemoryRequirementsInfoEXT* pInfo,
23558 VkMemoryRequirements2* pMemoryRequirements);
23559 #endif
23560
23561 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
23562 VKAPI_ATTR void VKAPI_CALL vkCmdPreprocessGeneratedCommandsEXT(
23563 VkCommandBuffer commandBuffer,
23564 const VkGeneratedCommandsInfoEXT* pGeneratedCommandsInfo,
23565 VkCommandBuffer stateCommandBuffer);
23566 #endif
23567
23568 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
23569 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteGeneratedCommandsEXT(
23570 VkCommandBuffer commandBuffer,
23571 VkBool32 isPreprocessed,
23572 const VkGeneratedCommandsInfoEXT* pGeneratedCommandsInfo);
23573 #endif
23574
23575 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
23576 VKAPI_ATTR VkResult VKAPI_CALL vkCreateIndirectCommandsLayoutEXT(
23577 VkDevice device,
23578 const VkIndirectCommandsLayoutCreateInfoEXT* pCreateInfo,
23579 const VkAllocationCallbacks* pAllocator,
23580 VkIndirectCommandsLayoutEXT* pIndirectCommandsLayout);
23581 #endif
23582
23583 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
23584 VKAPI_ATTR void VKAPI_CALL vkDestroyIndirectCommandsLayoutEXT(
23585 VkDevice device,
23586 VkIndirectCommandsLayoutEXT indirectCommandsLayout,
23587 const VkAllocationCallbacks* pAllocator);
23588 #endif
23589
23590 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
23591 VKAPI_ATTR VkResult VKAPI_CALL vkCreateIndirectExecutionSetEXT(
23592 VkDevice device,
23593 const VkIndirectExecutionSetCreateInfoEXT* pCreateInfo,
23594 const VkAllocationCallbacks* pAllocator,
23595 VkIndirectExecutionSetEXT* pIndirectExecutionSet);
23596 #endif
23597
23598 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
23599 VKAPI_ATTR void VKAPI_CALL vkDestroyIndirectExecutionSetEXT(
23600 VkDevice device,
23601 VkIndirectExecutionSetEXT indirectExecutionSet,
23602 const VkAllocationCallbacks* pAllocator);
23603 #endif
23604
23605 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
23606 VKAPI_ATTR void VKAPI_CALL vkUpdateIndirectExecutionSetPipelineEXT(
23607 VkDevice device,
23608 VkIndirectExecutionSetEXT indirectExecutionSet,
23609 uint32_t executionSetWriteCount,
23610 const VkWriteIndirectExecutionSetPipelineEXT* pExecutionSetWrites);
23611 #endif
23612
23613 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
23614 VKAPI_ATTR void VKAPI_CALL vkUpdateIndirectExecutionSetShaderEXT(
23615 VkDevice device,
23616 VkIndirectExecutionSetEXT indirectExecutionSet,
23617 uint32_t executionSetWriteCount,
23618 const VkWriteIndirectExecutionSetShaderEXT* pExecutionSetWrites);
23619 #endif
23620 #endif
23621
23622
23623 // VK_MESA_image_alignment_control is a preprocessor guard. Do not pass it to API calls.
23624 #define VK_MESA_image_alignment_control 1
23625 #define VK_MESA_IMAGE_ALIGNMENT_CONTROL_SPEC_VERSION 1
23626 #define VK_MESA_IMAGE_ALIGNMENT_CONTROL_EXTENSION_NAME "VK_MESA_image_alignment_control"
23627 typedef struct VkPhysicalDeviceImageAlignmentControlFeaturesMESA {
23628 VkStructureType sType;
23629 void* pNext;
23630 VkBool32 imageAlignmentControl;
23631 } VkPhysicalDeviceImageAlignmentControlFeaturesMESA;
23632
23633 typedef struct VkPhysicalDeviceImageAlignmentControlPropertiesMESA {
23634 VkStructureType sType;
23635 void* pNext;
23636 uint32_t supportedImageAlignmentMask;
23637 } VkPhysicalDeviceImageAlignmentControlPropertiesMESA;
23638
23639 typedef struct VkImageAlignmentControlCreateInfoMESA {
23640 VkStructureType sType;
23641 const void* pNext;
23642 uint32_t maximumRequestedAlignment;
23643 } VkImageAlignmentControlCreateInfoMESA;
23644
23645
23646
23647 // VK_EXT_ray_tracing_invocation_reorder is a preprocessor guard. Do not pass it to API calls.
23648 #define VK_EXT_ray_tracing_invocation_reorder 1
23649 #define VK_EXT_RAY_TRACING_INVOCATION_REORDER_SPEC_VERSION 1
23650 #define VK_EXT_RAY_TRACING_INVOCATION_REORDER_EXTENSION_NAME "VK_EXT_ray_tracing_invocation_reorder"
23651 typedef struct VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT {
23652 VkStructureType sType;
23653 void* pNext;
23654 VkRayTracingInvocationReorderModeEXT rayTracingInvocationReorderReorderingHint;
23655 uint32_t maxShaderBindingTableRecordIndex;
23656 } VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT;
23657
23658 typedef struct VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT {
23659 VkStructureType sType;
23660 void* pNext;
23661 VkBool32 rayTracingInvocationReorder;
23662 } VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT;
23663
23664
23665
23666 // VK_EXT_depth_clamp_control is a preprocessor guard. Do not pass it to API calls.
23667 #define VK_EXT_depth_clamp_control 1
23668 #define VK_EXT_DEPTH_CLAMP_CONTROL_SPEC_VERSION 1
23669 #define VK_EXT_DEPTH_CLAMP_CONTROL_EXTENSION_NAME "VK_EXT_depth_clamp_control"
23670 typedef struct VkPhysicalDeviceDepthClampControlFeaturesEXT {
23671 VkStructureType sType;
23672 void* pNext;
23673 VkBool32 depthClampControl;
23674 } VkPhysicalDeviceDepthClampControlFeaturesEXT;
23675
23676 typedef struct VkPipelineViewportDepthClampControlCreateInfoEXT {
23677 VkStructureType sType;
23678 const void* pNext;
23679 VkDepthClampModeEXT depthClampMode;
23680 const VkDepthClampRangeEXT* pDepthClampRange;
23681 } VkPipelineViewportDepthClampControlCreateInfoEXT;
23682
23683
23684
23685 // VK_HUAWEI_hdr_vivid is a preprocessor guard. Do not pass it to API calls.
23686 #define VK_HUAWEI_hdr_vivid 1
23687 #define VK_HUAWEI_HDR_VIVID_SPEC_VERSION 1
23688 #define VK_HUAWEI_HDR_VIVID_EXTENSION_NAME "VK_HUAWEI_hdr_vivid"
23689 typedef struct VkPhysicalDeviceHdrVividFeaturesHUAWEI {
23690 VkStructureType sType;
23691 void* pNext;
23692 VkBool32 hdrVivid;
23693 } VkPhysicalDeviceHdrVividFeaturesHUAWEI;
23694
23695 typedef struct VkHdrVividDynamicMetadataHUAWEI {
23696 VkStructureType sType;
23697 const void* pNext;
23698 size_t dynamicMetadataSize;
23699 const void* pDynamicMetadata;
23700 } VkHdrVividDynamicMetadataHUAWEI;
23701
23702
23703
23704 // VK_NV_cooperative_matrix2 is a preprocessor guard. Do not pass it to API calls.
23705 #define VK_NV_cooperative_matrix2 1
23706 #define VK_NV_COOPERATIVE_MATRIX_2_SPEC_VERSION 1
23707 #define VK_NV_COOPERATIVE_MATRIX_2_EXTENSION_NAME "VK_NV_cooperative_matrix2"
23708 typedef struct VkCooperativeMatrixFlexibleDimensionsPropertiesNV {
23709 VkStructureType sType;
23710 void* pNext;
23711 uint32_t MGranularity;
23712 uint32_t NGranularity;
23713 uint32_t KGranularity;
23714 VkComponentTypeKHR AType;
23715 VkComponentTypeKHR BType;
23716 VkComponentTypeKHR CType;
23717 VkComponentTypeKHR ResultType;
23718 VkBool32 saturatingAccumulation;
23719 VkScopeKHR scope;
23720 uint32_t workgroupInvocations;
23721 } VkCooperativeMatrixFlexibleDimensionsPropertiesNV;
23722
23723 typedef struct VkPhysicalDeviceCooperativeMatrix2FeaturesNV {
23724 VkStructureType sType;
23725 void* pNext;
23726 VkBool32 cooperativeMatrixWorkgroupScope;
23727 VkBool32 cooperativeMatrixFlexibleDimensions;
23728 VkBool32 cooperativeMatrixReductions;
23729 VkBool32 cooperativeMatrixConversions;
23730 VkBool32 cooperativeMatrixPerElementOperations;
23731 VkBool32 cooperativeMatrixTensorAddressing;
23732 VkBool32 cooperativeMatrixBlockLoads;
23733 } VkPhysicalDeviceCooperativeMatrix2FeaturesNV;
23734
23735 typedef struct VkPhysicalDeviceCooperativeMatrix2PropertiesNV {
23736 VkStructureType sType;
23737 void* pNext;
23738 uint32_t cooperativeMatrixWorkgroupScopeMaxWorkgroupSize;
23739 uint32_t cooperativeMatrixFlexibleDimensionsMaxDimension;
23740 uint32_t cooperativeMatrixWorkgroupScopeReservedSharedMemory;
23741 } VkPhysicalDeviceCooperativeMatrix2PropertiesNV;
23742
23743 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkCooperativeMatrixFlexibleDimensionsPropertiesNV* pProperties);
23744
23745 #ifndef VK_NO_PROTOTYPES
23746 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
23747 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV(
23748 VkPhysicalDevice physicalDevice,
23749 uint32_t* pPropertyCount,
23750 VkCooperativeMatrixFlexibleDimensionsPropertiesNV* pProperties);
23751 #endif
23752 #endif
23753
23754
23755 // VK_ARM_pipeline_opacity_micromap is a preprocessor guard. Do not pass it to API calls.
23756 #define VK_ARM_pipeline_opacity_micromap 1
23757 #define VK_ARM_PIPELINE_OPACITY_MICROMAP_SPEC_VERSION 1
23758 #define VK_ARM_PIPELINE_OPACITY_MICROMAP_EXTENSION_NAME "VK_ARM_pipeline_opacity_micromap"
23759 typedef struct VkPhysicalDevicePipelineOpacityMicromapFeaturesARM {
23760 VkStructureType sType;
23761 void* pNext;
23762 VkBool32 pipelineOpacityMicromap;
23763 } VkPhysicalDevicePipelineOpacityMicromapFeaturesARM;
23764
23765
23766
23767 // VK_ARM_performance_counters_by_region is a preprocessor guard. Do not pass it to API calls.
23768 #define VK_ARM_performance_counters_by_region 1
23769 #define VK_ARM_PERFORMANCE_COUNTERS_BY_REGION_SPEC_VERSION 1
23770 #define VK_ARM_PERFORMANCE_COUNTERS_BY_REGION_EXTENSION_NAME "VK_ARM_performance_counters_by_region"
23771 typedef VkFlags VkPerformanceCounterDescriptionFlagsARM;
23772 typedef struct VkPhysicalDevicePerformanceCountersByRegionFeaturesARM {
23773 VkStructureType sType;
23774 void* pNext;
23775 VkBool32 performanceCountersByRegion;
23776 } VkPhysicalDevicePerformanceCountersByRegionFeaturesARM;
23777
23778 typedef struct VkPhysicalDevicePerformanceCountersByRegionPropertiesARM {
23779 VkStructureType sType;
23780 void* pNext;
23781 uint32_t maxPerRegionPerformanceCounters;
23782 VkExtent2D performanceCounterRegionSize;
23783 uint32_t rowStrideAlignment;
23784 uint32_t regionAlignment;
23785 VkBool32 identityTransformOrder;
23786 } VkPhysicalDevicePerformanceCountersByRegionPropertiesARM;
23787
23788 typedef struct VkPerformanceCounterARM {
23789 VkStructureType sType;
23790 void* pNext;
23791 uint32_t counterID;
23792 } VkPerformanceCounterARM;
23793
23794 typedef struct VkPerformanceCounterDescriptionARM {
23795 VkStructureType sType;
23796 void* pNext;
23797 VkPerformanceCounterDescriptionFlagsARM flags;
23798 char name[VK_MAX_DESCRIPTION_SIZE];
23799 } VkPerformanceCounterDescriptionARM;
23800
23801 typedef struct VkRenderPassPerformanceCountersByRegionBeginInfoARM {
23802 VkStructureType sType;
23803 void* pNext;
23804 uint32_t counterAddressCount;
23805 const VkDeviceAddress* pCounterAddresses;
23806 VkBool32 serializeRegions;
23807 uint32_t counterIndexCount;
23808 uint32_t* pCounterIndices;
23809 } VkRenderPassPerformanceCountersByRegionBeginInfoARM;
23810
23811 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, uint32_t* pCounterCount, VkPerformanceCounterARM* pCounters, VkPerformanceCounterDescriptionARM* pCounterDescriptions);
23812
23813 #ifndef VK_NO_PROTOTYPES
23814 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
23815 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM(
23816 VkPhysicalDevice physicalDevice,
23817 uint32_t queueFamilyIndex,
23818 uint32_t* pCounterCount,
23819 VkPerformanceCounterARM* pCounters,
23820 VkPerformanceCounterDescriptionARM* pCounterDescriptions);
23821 #endif
23822 #endif
23823
23824
23825 // VK_EXT_vertex_attribute_robustness is a preprocessor guard. Do not pass it to API calls.
23826 #define VK_EXT_vertex_attribute_robustness 1
23827 #define VK_EXT_VERTEX_ATTRIBUTE_ROBUSTNESS_SPEC_VERSION 1
23828 #define VK_EXT_VERTEX_ATTRIBUTE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_vertex_attribute_robustness"
23829 typedef struct VkPhysicalDeviceVertexAttributeRobustnessFeaturesEXT {
23830 VkStructureType sType;
23831 void* pNext;
23832 VkBool32 vertexAttributeRobustness;
23833 } VkPhysicalDeviceVertexAttributeRobustnessFeaturesEXT;
23834
23835
23836
23837 // VK_ARM_format_pack is a preprocessor guard. Do not pass it to API calls.
23838 #define VK_ARM_format_pack 1
23839 #define VK_ARM_FORMAT_PACK_SPEC_VERSION 1
23840 #define VK_ARM_FORMAT_PACK_EXTENSION_NAME "VK_ARM_format_pack"
23841 typedef struct VkPhysicalDeviceFormatPackFeaturesARM {
23842 VkStructureType sType;
23843 void* pNext;
23844 VkBool32 formatPack;
23845 } VkPhysicalDeviceFormatPackFeaturesARM;
23846
23847
23848
23849 // VK_VALVE_fragment_density_map_layered is a preprocessor guard. Do not pass it to API calls.
23850 #define VK_VALVE_fragment_density_map_layered 1
23851 #define VK_VALVE_FRAGMENT_DENSITY_MAP_LAYERED_SPEC_VERSION 1
23852 #define VK_VALVE_FRAGMENT_DENSITY_MAP_LAYERED_EXTENSION_NAME "VK_VALVE_fragment_density_map_layered"
23853 typedef struct VkPhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE {
23854 VkStructureType sType;
23855 void* pNext;
23856 VkBool32 fragmentDensityMapLayered;
23857 } VkPhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE;
23858
23859 typedef struct VkPhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE {
23860 VkStructureType sType;
23861 void* pNext;
23862 uint32_t maxFragmentDensityMapLayers;
23863 } VkPhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE;
23864
23865 typedef struct VkPipelineFragmentDensityMapLayeredCreateInfoVALVE {
23866 VkStructureType sType;
23867 const void* pNext;
23868 uint32_t maxFragmentDensityMapLayers;
23869 } VkPipelineFragmentDensityMapLayeredCreateInfoVALVE;
23870
23871
23872
23873 // VK_NV_present_metering is a preprocessor guard. Do not pass it to API calls.
23874 #define VK_NV_present_metering 1
23875 #define VK_NV_PRESENT_METERING_SPEC_VERSION 1
23876 #define VK_NV_PRESENT_METERING_EXTENSION_NAME "VK_NV_present_metering"
23877 typedef struct VkSetPresentConfigNV {
23878 VkStructureType sType;
23879 const void* pNext;
23880 uint32_t numFramesPerBatch;
23881 uint32_t presentConfigFeedback;
23882 } VkSetPresentConfigNV;
23883
23884 typedef struct VkPhysicalDevicePresentMeteringFeaturesNV {
23885 VkStructureType sType;
23886 void* pNext;
23887 VkBool32 presentMetering;
23888 } VkPhysicalDevicePresentMeteringFeaturesNV;
23889
23890
23891
23892 // VK_EXT_fragment_density_map_offset is a preprocessor guard. Do not pass it to API calls.
23893 #define VK_EXT_fragment_density_map_offset 1
23894 #define VK_EXT_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION 1
23895 #define VK_EXT_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME "VK_EXT_fragment_density_map_offset"
23896 typedef VkRenderingEndInfoKHR VkRenderingEndInfoEXT;
23897
23898 typedef void (VKAPI_PTR *PFN_vkCmdEndRendering2EXT)(VkCommandBuffer commandBuffer, const VkRenderingEndInfoKHR* pRenderingEndInfo);
23899
23900 #ifndef VK_NO_PROTOTYPES
23901 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
23902 VKAPI_ATTR void VKAPI_CALL vkCmdEndRendering2EXT(
23903 VkCommandBuffer commandBuffer,
23904 const VkRenderingEndInfoKHR* pRenderingEndInfo);
23905 #endif
23906 #endif
23907
23908
23909 // VK_EXT_zero_initialize_device_memory is a preprocessor guard. Do not pass it to API calls.
23910 #define VK_EXT_zero_initialize_device_memory 1
23911 #define VK_EXT_ZERO_INITIALIZE_DEVICE_MEMORY_SPEC_VERSION 1
23912 #define VK_EXT_ZERO_INITIALIZE_DEVICE_MEMORY_EXTENSION_NAME "VK_EXT_zero_initialize_device_memory"
23913 typedef struct VkPhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT {
23914 VkStructureType sType;
23915 void* pNext;
23916 VkBool32 zeroInitializeDeviceMemory;
23917 } VkPhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT;
23918
23919
23920
23921 // VK_EXT_shader_64bit_indexing is a preprocessor guard. Do not pass it to API calls.
23922 #define VK_EXT_shader_64bit_indexing 1
23923 #define VK_EXT_SHADER_64BIT_INDEXING_SPEC_VERSION 1
23924 #define VK_EXT_SHADER_64BIT_INDEXING_EXTENSION_NAME "VK_EXT_shader_64bit_indexing"
23925 typedef struct VkPhysicalDeviceShader64BitIndexingFeaturesEXT {
23926 VkStructureType sType;
23927 void* pNext;
23928 VkBool32 shader64BitIndexing;
23929 } VkPhysicalDeviceShader64BitIndexingFeaturesEXT;
23930
23931
23932
23933 // VK_EXT_custom_resolve is a preprocessor guard. Do not pass it to API calls.
23934 #define VK_EXT_custom_resolve 1
23935 #define VK_EXT_CUSTOM_RESOLVE_SPEC_VERSION 1
23936 #define VK_EXT_CUSTOM_RESOLVE_EXTENSION_NAME "VK_EXT_custom_resolve"
23937 typedef struct VkPhysicalDeviceCustomResolveFeaturesEXT {
23938 VkStructureType sType;
23939 void* pNext;
23940 VkBool32 customResolve;
23941 } VkPhysicalDeviceCustomResolveFeaturesEXT;
23942
23943 typedef struct VkBeginCustomResolveInfoEXT {
23944 VkStructureType sType;
23945 void* pNext;
23946 } VkBeginCustomResolveInfoEXT;
23947
23948 typedef struct VkCustomResolveCreateInfoEXT {
23949 VkStructureType sType;
23950 const void* pNext;
23951 VkBool32 customResolve;
23952 uint32_t colorAttachmentCount;
23953 const VkFormat* pColorAttachmentFormats;
23954 VkFormat depthAttachmentFormat;
23955 VkFormat stencilAttachmentFormat;
23956 } VkCustomResolveCreateInfoEXT;
23957
23958 typedef void (VKAPI_PTR *PFN_vkCmdBeginCustomResolveEXT)(VkCommandBuffer commandBuffer, const VkBeginCustomResolveInfoEXT* pBeginCustomResolveInfo);
23959
23960 #ifndef VK_NO_PROTOTYPES
23961 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
23962 VKAPI_ATTR void VKAPI_CALL vkCmdBeginCustomResolveEXT(
23963 VkCommandBuffer commandBuffer,
23964 const VkBeginCustomResolveInfoEXT* pBeginCustomResolveInfo);
23965 #endif
23966 #endif
23967
23968
23969 // VK_QCOM_data_graph_model is a preprocessor guard. Do not pass it to API calls.
23970 #define VK_QCOM_data_graph_model 1
23971 #define VK_DATA_GRAPH_MODEL_TOOLCHAIN_VERSION_LENGTH_QCOM 3U
23972 #define VK_QCOM_DATA_GRAPH_MODEL_SPEC_VERSION 1
23973 #define VK_QCOM_DATA_GRAPH_MODEL_EXTENSION_NAME "VK_QCOM_data_graph_model"
23974
23975 typedef enum VkDataGraphModelCacheTypeQCOM {
23976 VK_DATA_GRAPH_MODEL_CACHE_TYPE_GENERIC_BINARY_QCOM = 0,
23977 VK_DATA_GRAPH_MODEL_CACHE_TYPE_MAX_ENUM_QCOM = 0x7FFFFFFF
23978 } VkDataGraphModelCacheTypeQCOM;
23979 typedef struct VkPipelineCacheHeaderVersionDataGraphQCOM {
23980 uint32_t headerSize;
23981 VkPipelineCacheHeaderVersion headerVersion;
23982 VkDataGraphModelCacheTypeQCOM cacheType;
23983 uint32_t cacheVersion;
23984 uint32_t toolchainVersion[VK_DATA_GRAPH_MODEL_TOOLCHAIN_VERSION_LENGTH_QCOM];
23985 } VkPipelineCacheHeaderVersionDataGraphQCOM;
23986
23987 typedef struct VkDataGraphPipelineBuiltinModelCreateInfoQCOM {
23988 VkStructureType sType;
23989 const void* pNext;
23990 const VkPhysicalDeviceDataGraphOperationSupportARM* pOperation;
23991 } VkDataGraphPipelineBuiltinModelCreateInfoQCOM;
23992
23993 typedef struct VkPhysicalDeviceDataGraphModelFeaturesQCOM {
23994 VkStructureType sType;
23995 void* pNext;
23996 VkBool32 dataGraphModel;
23997 } VkPhysicalDeviceDataGraphModelFeaturesQCOM;
23998
23999
24000
24001 // VK_SEC_pipeline_cache_incremental_mode is a preprocessor guard. Do not pass it to API calls.
24002 #define VK_SEC_pipeline_cache_incremental_mode 1
24003 #define VK_SEC_PIPELINE_CACHE_INCREMENTAL_MODE_SPEC_VERSION 1
24004 #define VK_SEC_PIPELINE_CACHE_INCREMENTAL_MODE_EXTENSION_NAME "VK_SEC_pipeline_cache_incremental_mode"
24005 typedef struct VkPhysicalDevicePipelineCacheIncrementalModeFeaturesSEC {
24006 VkStructureType sType;
24007 void* pNext;
24008 VkBool32 pipelineCacheIncrementalMode;
24009 } VkPhysicalDevicePipelineCacheIncrementalModeFeaturesSEC;
24010
24011
24012
24013 // VK_EXT_shader_uniform_buffer_unsized_array is a preprocessor guard. Do not pass it to API calls.
24014 #define VK_EXT_shader_uniform_buffer_unsized_array 1
24015 #define VK_EXT_SHADER_UNIFORM_BUFFER_UNSIZED_ARRAY_SPEC_VERSION 1
24016 #define VK_EXT_SHADER_UNIFORM_BUFFER_UNSIZED_ARRAY_EXTENSION_NAME "VK_EXT_shader_uniform_buffer_unsized_array"
24017 typedef struct VkPhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT {
24018 VkStructureType sType;
24019 void* pNext;
24020 VkBool32 shaderUniformBufferUnsizedArray;
24021 } VkPhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT;
24022
24023
24024
24025 // VK_KHR_acceleration_structure is a preprocessor guard. Do not pass it to API calls.
24026 #define VK_KHR_acceleration_structure 1
24027 #define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 13
24028 #define VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME "VK_KHR_acceleration_structure"
24029
24030 typedef enum VkBuildAccelerationStructureModeKHR {
24031 VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR = 0,
24032 VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR = 1,
24033 VK_BUILD_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
24034 } VkBuildAccelerationStructureModeKHR;
24035
24036 typedef enum VkAccelerationStructureCreateFlagBitsKHR {
24037 VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = 0x00000001,
24038 VK_ACCELERATION_STRUCTURE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000008,
24039 VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV = 0x00000004,
24040 VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
24041 } VkAccelerationStructureCreateFlagBitsKHR;
24042 typedef VkFlags VkAccelerationStructureCreateFlagsKHR;
24043 typedef struct VkAccelerationStructureBuildRangeInfoKHR {
24044 uint32_t primitiveCount;
24045 uint32_t primitiveOffset;
24046 uint32_t firstVertex;
24047 uint32_t transformOffset;
24048 } VkAccelerationStructureBuildRangeInfoKHR;
24049
24050 typedef struct VkAccelerationStructureGeometryTrianglesDataKHR {
24051 VkStructureType sType;
24052 const void* pNext;
24053 VkFormat vertexFormat;
24054 VkDeviceOrHostAddressConstKHR vertexData;
24055 VkDeviceSize vertexStride;
24056 uint32_t maxVertex;
24057 VkIndexType indexType;
24058 VkDeviceOrHostAddressConstKHR indexData;
24059 VkDeviceOrHostAddressConstKHR transformData;
24060 } VkAccelerationStructureGeometryTrianglesDataKHR;
24061
24062 typedef struct VkAccelerationStructureGeometryAabbsDataKHR {
24063 VkStructureType sType;
24064 const void* pNext;
24065 VkDeviceOrHostAddressConstKHR data;
24066 VkDeviceSize stride;
24067 } VkAccelerationStructureGeometryAabbsDataKHR;
24068
24069 typedef struct VkAccelerationStructureGeometryInstancesDataKHR {
24070 VkStructureType sType;
24071 const void* pNext;
24072 VkBool32 arrayOfPointers;
24073 VkDeviceOrHostAddressConstKHR data;
24074 } VkAccelerationStructureGeometryInstancesDataKHR;
24075
24076 typedef union VkAccelerationStructureGeometryDataKHR {
24077 VkAccelerationStructureGeometryTrianglesDataKHR triangles;
24078 VkAccelerationStructureGeometryAabbsDataKHR aabbs;
24079 VkAccelerationStructureGeometryInstancesDataKHR instances;
24080 } VkAccelerationStructureGeometryDataKHR;
24081
24082 typedef struct VkAccelerationStructureGeometryKHR {
24083 VkStructureType sType;
24084 const void* pNext;
24085 VkGeometryTypeKHR geometryType;
24086 VkAccelerationStructureGeometryDataKHR geometry;
24087 VkGeometryFlagsKHR flags;
24088 } VkAccelerationStructureGeometryKHR;
24089
24090 typedef struct VkAccelerationStructureBuildGeometryInfoKHR {
24091 VkStructureType sType;
24092 const void* pNext;
24093 VkAccelerationStructureTypeKHR type;
24094 VkBuildAccelerationStructureFlagsKHR flags;
24095 VkBuildAccelerationStructureModeKHR mode;
24096 VkAccelerationStructureKHR srcAccelerationStructure;
24097 VkAccelerationStructureKHR dstAccelerationStructure;
24098 uint32_t geometryCount;
24099 const VkAccelerationStructureGeometryKHR* pGeometries;
24100 const VkAccelerationStructureGeometryKHR* const* ppGeometries;
24101 VkDeviceOrHostAddressKHR scratchData;
24102 } VkAccelerationStructureBuildGeometryInfoKHR;
24103
24104 typedef struct VkAccelerationStructureCreateInfoKHR {
24105 VkStructureType sType;
24106 const void* pNext;
24107 VkAccelerationStructureCreateFlagsKHR createFlags;
24108 VkBuffer buffer;
24109 VkDeviceSize offset;
24110 VkDeviceSize size;
24111 VkAccelerationStructureTypeKHR type;
24112 VkDeviceAddress deviceAddress;
24113 } VkAccelerationStructureCreateInfoKHR;
24114
24115 typedef struct VkWriteDescriptorSetAccelerationStructureKHR {
24116 VkStructureType sType;
24117 const void* pNext;
24118 uint32_t accelerationStructureCount;
24119 const VkAccelerationStructureKHR* pAccelerationStructures;
24120 } VkWriteDescriptorSetAccelerationStructureKHR;
24121
24122 typedef struct VkPhysicalDeviceAccelerationStructureFeaturesKHR {
24123 VkStructureType sType;
24124 void* pNext;
24125 VkBool32 accelerationStructure;
24126 VkBool32 accelerationStructureCaptureReplay;
24127 VkBool32 accelerationStructureIndirectBuild;
24128 VkBool32 accelerationStructureHostCommands;
24129 VkBool32 descriptorBindingAccelerationStructureUpdateAfterBind;
24130 } VkPhysicalDeviceAccelerationStructureFeaturesKHR;
24131
24132 typedef struct VkPhysicalDeviceAccelerationStructurePropertiesKHR {
24133 VkStructureType sType;
24134 void* pNext;
24135 uint64_t maxGeometryCount;
24136 uint64_t maxInstanceCount;
24137 uint64_t maxPrimitiveCount;
24138 uint32_t maxPerStageDescriptorAccelerationStructures;
24139 uint32_t maxPerStageDescriptorUpdateAfterBindAccelerationStructures;
24140 uint32_t maxDescriptorSetAccelerationStructures;
24141 uint32_t maxDescriptorSetUpdateAfterBindAccelerationStructures;
24142 uint32_t minAccelerationStructureScratchOffsetAlignment;
24143 } VkPhysicalDeviceAccelerationStructurePropertiesKHR;
24144
24145 typedef struct VkAccelerationStructureDeviceAddressInfoKHR {
24146 VkStructureType sType;
24147 const void* pNext;
24148 VkAccelerationStructureKHR accelerationStructure;
24149 } VkAccelerationStructureDeviceAddressInfoKHR;
24150
24151 typedef struct VkAccelerationStructureVersionInfoKHR {
24152 VkStructureType sType;
24153 const void* pNext;
24154 const uint8_t* pVersionData;
24155 } VkAccelerationStructureVersionInfoKHR;
24156
24157 typedef struct VkCopyAccelerationStructureToMemoryInfoKHR {
24158 VkStructureType sType;
24159 const void* pNext;
24160 VkAccelerationStructureKHR src;
24161 VkDeviceOrHostAddressKHR dst;
24162 VkCopyAccelerationStructureModeKHR mode;
24163 } VkCopyAccelerationStructureToMemoryInfoKHR;
24164
24165 typedef struct VkCopyMemoryToAccelerationStructureInfoKHR {
24166 VkStructureType sType;
24167 const void* pNext;
24168 VkDeviceOrHostAddressConstKHR src;
24169 VkAccelerationStructureKHR dst;
24170 VkCopyAccelerationStructureModeKHR mode;
24171 } VkCopyMemoryToAccelerationStructureInfoKHR;
24172
24173 typedef struct VkCopyAccelerationStructureInfoKHR {
24174 VkStructureType sType;
24175 const void* pNext;
24176 VkAccelerationStructureKHR src;
24177 VkAccelerationStructureKHR dst;
24178 VkCopyAccelerationStructureModeKHR mode;
24179 } VkCopyAccelerationStructureInfoKHR;
24180
24181 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureKHR)(VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure);
24182 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureKHR)(VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator);
24183 typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructuresKHR)(VkCommandBuffer commandBuffer, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
24184 typedef 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);
24185 typedef VkResult (VKAPI_PTR *PFN_vkBuildAccelerationStructuresKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
24186 typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureInfoKHR* pInfo);
24187 typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureToMemoryKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
24188 typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
24189 typedef VkResult (VKAPI_PTR *PFN_vkWriteAccelerationStructuresPropertiesKHR)(VkDevice device, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, size_t dataSize, void* pData, size_t stride);
24190 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureInfoKHR* pInfo);
24191 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureToMemoryKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
24192 typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
24193 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetAccelerationStructureDeviceAddressKHR)(VkDevice device, const VkAccelerationStructureDeviceAddressInfoKHR* pInfo);
24194 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesKHR)(VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery);
24195 typedef void (VKAPI_PTR *PFN_vkGetDeviceAccelerationStructureCompatibilityKHR)(VkDevice device, const VkAccelerationStructureVersionInfoKHR* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility);
24196 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureBuildSizesKHR)(VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo, const uint32_t* pMaxPrimitiveCounts, VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo);
24197
24198 #ifndef VK_NO_PROTOTYPES
24199 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
24200 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureKHR(
24201 VkDevice device,
24202 const VkAccelerationStructureCreateInfoKHR* pCreateInfo,
24203 const VkAllocationCallbacks* pAllocator,
24204 VkAccelerationStructureKHR* pAccelerationStructure);
24205 #endif
24206
24207 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
24208 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureKHR(
24209 VkDevice device,
24210 VkAccelerationStructureKHR accelerationStructure,
24211 const VkAllocationCallbacks* pAllocator);
24212 #endif
24213
24214 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
24215 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresKHR(
24216 VkCommandBuffer commandBuffer,
24217 uint32_t infoCount,
24218 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
24219 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
24220 #endif
24221
24222 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
24223 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresIndirectKHR(
24224 VkCommandBuffer commandBuffer,
24225 uint32_t infoCount,
24226 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
24227 const VkDeviceAddress* pIndirectDeviceAddresses,
24228 const uint32_t* pIndirectStrides,
24229 const uint32_t* const* ppMaxPrimitiveCounts);
24230 #endif
24231
24232 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
24233 VKAPI_ATTR VkResult VKAPI_CALL vkBuildAccelerationStructuresKHR(
24234 VkDevice device,
24235 VkDeferredOperationKHR deferredOperation,
24236 uint32_t infoCount,
24237 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
24238 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
24239 #endif
24240
24241 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
24242 VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureKHR(
24243 VkDevice device,
24244 VkDeferredOperationKHR deferredOperation,
24245 const VkCopyAccelerationStructureInfoKHR* pInfo);
24246 #endif
24247
24248 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
24249 VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureToMemoryKHR(
24250 VkDevice device,
24251 VkDeferredOperationKHR deferredOperation,
24252 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
24253 #endif
24254
24255 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
24256 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToAccelerationStructureKHR(
24257 VkDevice device,
24258 VkDeferredOperationKHR deferredOperation,
24259 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
24260 #endif
24261
24262 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
24263 VKAPI_ATTR VkResult VKAPI_CALL vkWriteAccelerationStructuresPropertiesKHR(
24264 VkDevice device,
24265 uint32_t accelerationStructureCount,
24266 const VkAccelerationStructureKHR* pAccelerationStructures,
24267 VkQueryType queryType,
24268 size_t dataSize,
24269 void* pData,
24270 size_t stride);
24271 #endif
24272
24273 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
24274 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureKHR(
24275 VkCommandBuffer commandBuffer,
24276 const VkCopyAccelerationStructureInfoKHR* pInfo);
24277 #endif
24278
24279 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
24280 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureToMemoryKHR(
24281 VkCommandBuffer commandBuffer,
24282 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
24283 #endif
24284
24285 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
24286 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToAccelerationStructureKHR(
24287 VkCommandBuffer commandBuffer,
24288 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
24289 #endif
24290
24291 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
24292 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetAccelerationStructureDeviceAddressKHR(
24293 VkDevice device,
24294 const VkAccelerationStructureDeviceAddressInfoKHR* pInfo);
24295 #endif
24296
24297 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
24298 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesKHR(
24299 VkCommandBuffer commandBuffer,
24300 uint32_t accelerationStructureCount,
24301 const VkAccelerationStructureKHR* pAccelerationStructures,
24302 VkQueryType queryType,
24303 VkQueryPool queryPool,
24304 uint32_t firstQuery);
24305 #endif
24306
24307 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
24308 VKAPI_ATTR void VKAPI_CALL vkGetDeviceAccelerationStructureCompatibilityKHR(
24309 VkDevice device,
24310 const VkAccelerationStructureVersionInfoKHR* pVersionInfo,
24311 VkAccelerationStructureCompatibilityKHR* pCompatibility);
24312 #endif
24313
24314 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
24315 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureBuildSizesKHR(
24316 VkDevice device,
24317 VkAccelerationStructureBuildTypeKHR buildType,
24318 const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo,
24319 const uint32_t* pMaxPrimitiveCounts,
24320 VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo);
24321 #endif
24322 #endif
24323
24324
24325 // VK_KHR_ray_tracing_pipeline is a preprocessor guard. Do not pass it to API calls.
24326 #define VK_KHR_ray_tracing_pipeline 1
24327 #define VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION 1
24328 #define VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME "VK_KHR_ray_tracing_pipeline"
24329
24330 typedef enum VkShaderGroupShaderKHR {
24331 VK_SHADER_GROUP_SHADER_GENERAL_KHR = 0,
24332 VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR = 1,
24333 VK_SHADER_GROUP_SHADER_ANY_HIT_KHR = 2,
24334 VK_SHADER_GROUP_SHADER_INTERSECTION_KHR = 3,
24335 VK_SHADER_GROUP_SHADER_MAX_ENUM_KHR = 0x7FFFFFFF
24336 } VkShaderGroupShaderKHR;
24337 typedef struct VkRayTracingShaderGroupCreateInfoKHR {
24338 VkStructureType sType;
24339 const void* pNext;
24340 VkRayTracingShaderGroupTypeKHR type;
24341 uint32_t generalShader;
24342 uint32_t closestHitShader;
24343 uint32_t anyHitShader;
24344 uint32_t intersectionShader;
24345 const void* pShaderGroupCaptureReplayHandle;
24346 } VkRayTracingShaderGroupCreateInfoKHR;
24347
24348 typedef struct VkRayTracingPipelineInterfaceCreateInfoKHR {
24349 VkStructureType sType;
24350 const void* pNext;
24351 uint32_t maxPipelineRayPayloadSize;
24352 uint32_t maxPipelineRayHitAttributeSize;
24353 } VkRayTracingPipelineInterfaceCreateInfoKHR;
24354
24355 typedef struct VkRayTracingPipelineCreateInfoKHR {
24356 VkStructureType sType;
24357 const void* pNext;
24358 VkPipelineCreateFlags flags;
24359 uint32_t stageCount;
24360 const VkPipelineShaderStageCreateInfo* pStages;
24361 uint32_t groupCount;
24362 const VkRayTracingShaderGroupCreateInfoKHR* pGroups;
24363 uint32_t maxPipelineRayRecursionDepth;
24364 const VkPipelineLibraryCreateInfoKHR* pLibraryInfo;
24365 const VkRayTracingPipelineInterfaceCreateInfoKHR* pLibraryInterface;
24366 const VkPipelineDynamicStateCreateInfo* pDynamicState;
24367 VkPipelineLayout layout;
24368 VkPipeline basePipelineHandle;
24369 int32_t basePipelineIndex;
24370 } VkRayTracingPipelineCreateInfoKHR;
24371
24372 typedef struct VkPhysicalDeviceRayTracingPipelineFeaturesKHR {
24373 VkStructureType sType;
24374 void* pNext;
24375 VkBool32 rayTracingPipeline;
24376 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplay;
24377 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplayMixed;
24378 VkBool32 rayTracingPipelineTraceRaysIndirect;
24379 VkBool32 rayTraversalPrimitiveCulling;
24380 } VkPhysicalDeviceRayTracingPipelineFeaturesKHR;
24381
24382 typedef struct VkPhysicalDeviceRayTracingPipelinePropertiesKHR {
24383 VkStructureType sType;
24384 void* pNext;
24385 uint32_t shaderGroupHandleSize;
24386 uint32_t maxRayRecursionDepth;
24387 uint32_t maxShaderGroupStride;
24388 uint32_t shaderGroupBaseAlignment;
24389 uint32_t shaderGroupHandleCaptureReplaySize;
24390 uint32_t maxRayDispatchInvocationCount;
24391 uint32_t shaderGroupHandleAlignment;
24392 uint32_t maxRayHitAttributeSize;
24393 } VkPhysicalDeviceRayTracingPipelinePropertiesKHR;
24394
24395 typedef struct VkTraceRaysIndirectCommandKHR {
24396 uint32_t width;
24397 uint32_t height;
24398 uint32_t depth;
24399 } VkTraceRaysIndirectCommandKHR;
24400
24401 typedef 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);
24402 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
24403 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData);
24404 typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysIndirectKHR)(VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, VkDeviceAddress indirectDeviceAddress);
24405 typedef VkDeviceSize (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupStackSizeKHR)(VkDevice device, VkPipeline pipeline, uint32_t group, VkShaderGroupShaderKHR groupShader);
24406 typedef void (VKAPI_PTR *PFN_vkCmdSetRayTracingPipelineStackSizeKHR)(VkCommandBuffer commandBuffer, uint32_t pipelineStackSize);
24407
24408 #ifndef VK_NO_PROTOTYPES
24409 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
24410 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysKHR(
24411 VkCommandBuffer commandBuffer,
24412 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable,
24413 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable,
24414 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable,
24415 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable,
24416 uint32_t width,
24417 uint32_t height,
24418 uint32_t depth);
24419 #endif
24420
24421 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
24422 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesKHR(
24423 VkDevice device,
24424 VkDeferredOperationKHR deferredOperation,
24425 VkPipelineCache pipelineCache,
24426 uint32_t createInfoCount,
24427 const VkRayTracingPipelineCreateInfoKHR* pCreateInfos,
24428 const VkAllocationCallbacks* pAllocator,
24429 VkPipeline* pPipelines);
24430 #endif
24431
24432 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
24433 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
24434 VkDevice device,
24435 VkPipeline pipeline,
24436 uint32_t firstGroup,
24437 uint32_t groupCount,
24438 size_t dataSize,
24439 void* pData);
24440 #endif
24441
24442 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
24443 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysIndirectKHR(
24444 VkCommandBuffer commandBuffer,
24445 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable,
24446 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable,
24447 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable,
24448 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable,
24449 VkDeviceAddress indirectDeviceAddress);
24450 #endif
24451
24452 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
24453 VKAPI_ATTR VkDeviceSize VKAPI_CALL vkGetRayTracingShaderGroupStackSizeKHR(
24454 VkDevice device,
24455 VkPipeline pipeline,
24456 uint32_t group,
24457 VkShaderGroupShaderKHR groupShader);
24458 #endif
24459
24460 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
24461 VKAPI_ATTR void VKAPI_CALL vkCmdSetRayTracingPipelineStackSizeKHR(
24462 VkCommandBuffer commandBuffer,
24463 uint32_t pipelineStackSize);
24464 #endif
24465 #endif
24466
24467
24468 // VK_KHR_ray_query is a preprocessor guard. Do not pass it to API calls.
24469 #define VK_KHR_ray_query 1
24470 #define VK_KHR_RAY_QUERY_SPEC_VERSION 1
24471 #define VK_KHR_RAY_QUERY_EXTENSION_NAME "VK_KHR_ray_query"
24472 typedef struct VkPhysicalDeviceRayQueryFeaturesKHR {
24473 VkStructureType sType;
24474 void* pNext;
24475 VkBool32 rayQuery;
24476 } VkPhysicalDeviceRayQueryFeaturesKHR;
24477
24478
24479
24480 // VK_EXT_mesh_shader is a preprocessor guard. Do not pass it to API calls.
24481 #define VK_EXT_mesh_shader 1
24482 #define VK_EXT_MESH_SHADER_SPEC_VERSION 1
24483 #define VK_EXT_MESH_SHADER_EXTENSION_NAME "VK_EXT_mesh_shader"
24484 typedef struct VkPhysicalDeviceMeshShaderFeaturesEXT {
24485 VkStructureType sType;
24486 void* pNext;
24487 VkBool32 taskShader;
24488 VkBool32 meshShader;
24489 VkBool32 multiviewMeshShader;
24490 VkBool32 primitiveFragmentShadingRateMeshShader;
24491 VkBool32 meshShaderQueries;
24492 } VkPhysicalDeviceMeshShaderFeaturesEXT;
24493
24494 typedef struct VkPhysicalDeviceMeshShaderPropertiesEXT {
24495 VkStructureType sType;
24496 void* pNext;
24497 uint32_t maxTaskWorkGroupTotalCount;
24498 uint32_t maxTaskWorkGroupCount[3];
24499 uint32_t maxTaskWorkGroupInvocations;
24500 uint32_t maxTaskWorkGroupSize[3];
24501 uint32_t maxTaskPayloadSize;
24502 uint32_t maxTaskSharedMemorySize;
24503 uint32_t maxTaskPayloadAndSharedMemorySize;
24504 uint32_t maxMeshWorkGroupTotalCount;
24505 uint32_t maxMeshWorkGroupCount[3];
24506 uint32_t maxMeshWorkGroupInvocations;
24507 uint32_t maxMeshWorkGroupSize[3];
24508 uint32_t maxMeshSharedMemorySize;
24509 uint32_t maxMeshPayloadAndSharedMemorySize;
24510 uint32_t maxMeshOutputMemorySize;
24511 uint32_t maxMeshPayloadAndOutputMemorySize;
24512 uint32_t maxMeshOutputComponents;
24513 uint32_t maxMeshOutputVertices;
24514 uint32_t maxMeshOutputPrimitives;
24515 uint32_t maxMeshOutputLayers;
24516 uint32_t maxMeshMultiviewViewCount;
24517 uint32_t meshOutputPerVertexGranularity;
24518 uint32_t meshOutputPerPrimitiveGranularity;
24519 uint32_t maxPreferredTaskWorkGroupInvocations;
24520 uint32_t maxPreferredMeshWorkGroupInvocations;
24521 VkBool32 prefersLocalInvocationVertexOutput;
24522 VkBool32 prefersLocalInvocationPrimitiveOutput;
24523 VkBool32 prefersCompactVertexOutput;
24524 VkBool32 prefersCompactPrimitiveOutput;
24525 } VkPhysicalDeviceMeshShaderPropertiesEXT;
24526
24527 typedef struct VkDrawMeshTasksIndirectCommandEXT {
24528 uint32_t groupCountX;
24529 uint32_t groupCountY;
24530 uint32_t groupCountZ;
24531 } VkDrawMeshTasksIndirectCommandEXT;
24532
24533 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksEXT)(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ);
24534 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectEXT)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
24535 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectCountEXT)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
24536
24537 #ifndef VK_NO_PROTOTYPES
24538 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
24539 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksEXT(
24540 VkCommandBuffer commandBuffer,
24541 uint32_t groupCountX,
24542 uint32_t groupCountY,
24543 uint32_t groupCountZ);
24544 #endif
24545
24546 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
24547 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectEXT(
24548 VkCommandBuffer commandBuffer,
24549 VkBuffer buffer,
24550 VkDeviceSize offset,
24551 uint32_t drawCount,
24552 uint32_t stride);
24553 #endif
24554
24555 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
24556 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectCountEXT(
24557 VkCommandBuffer commandBuffer,
24558 VkBuffer buffer,
24559 VkDeviceSize offset,
24560 VkBuffer countBuffer,
24561 VkDeviceSize countBufferOffset,
24562 uint32_t maxDrawCount,
24563 uint32_t stride);
24564 #endif
24565 #endif
24566
24567 #ifdef __cplusplus
24568 }
24569 #endif
24570
24571 #endif