2 #define VULKAN_CORE_H_ 1
5 ** Copyright 2015-2021 The Khronos Group Inc.
7 ** SPDX-License-Identifier: Apache-2.0
11 ** This header is generated from the Khronos Vulkan XML API Registry.
22 #define VK_VERSION_1_0 1
23 #include "vk_platform.h"
25 #define VK_DEFINE_HANDLE(object) typedef struct object##_T* object;
28 #ifndef VK_USE_64_BIT_PTR_DEFINES
29 #if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__)
30 #define VK_USE_64_BIT_PTR_DEFINES 1
32 #define VK_USE_64_BIT_PTR_DEFINES 0
37 #ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE
38 #if (VK_USE_64_BIT_PTR_DEFINES==1)
39 #if (defined(__cplusplus) && (__cplusplus >= 201103L)) || (defined(_MSVC_LANG) && (_MSVC_LANG >= 201103L))
40 #define VK_NULL_HANDLE nullptr
42 #define VK_NULL_HANDLE ((void*)0)
45 #define VK_NULL_HANDLE 0ULL
48 #ifndef VK_NULL_HANDLE
49 #define VK_NULL_HANDLE 0
53 #ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE
54 #if (VK_USE_64_BIT_PTR_DEFINES==1)
55 #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object;
57 #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t object;
61 // DEPRECATED: This define is deprecated. VK_MAKE_API_VERSION should be used instead.
62 #define VK_MAKE_VERSION(major, minor, patch) \
63 ((((uint32_t)(major)) << 22) | (((uint32_t)(minor)) << 12) | ((uint32_t)(patch)))
65 // DEPRECATED: This define has been removed. Specific version defines (e.g. VK_API_VERSION_1_0), or the VK_MAKE_VERSION macro, should be used instead.
66 //#define VK_API_VERSION VK_MAKE_VERSION(1, 0, 0) // Patch version should always be set to 0
68 #define VK_MAKE_API_VERSION(variant, major, minor, patch) \
69 ((((uint32_t)(variant)) << 29) | (((uint32_t)(major)) << 22) | (((uint32_t)(minor)) << 12) | ((uint32_t)(patch)))
71 // Vulkan 1.0 version number
72 #define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0
74 // Version of this file
75 #define VK_HEADER_VERSION 191
77 // Complete version of this file
78 #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 2, VK_HEADER_VERSION)
80 // DEPRECATED: This define is deprecated. VK_API_VERSION_MAJOR should be used instead.
81 #define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22)
83 // DEPRECATED: This define is deprecated. VK_API_VERSION_MINOR should be used instead.
84 #define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3FFU)
86 // DEPRECATED: This define is deprecated. VK_API_VERSION_PATCH should be used instead.
87 #define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU)
89 #define VK_API_VERSION_VARIANT(version) ((uint32_t)(version) >> 29)
90 #define VK_API_VERSION_MAJOR(version) (((uint32_t)(version) >> 22) & 0x7FU)
91 #define VK_API_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3FFU)
92 #define VK_API_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU)
93 typedef uint32_t VkBool32;
94 typedef uint64_t VkDeviceAddress;
95 typedef uint64_t VkDeviceSize;
96 typedef uint32_t VkFlags;
97 typedef uint32_t VkSampleMask;
98 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer)
99 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage)
100 VK_DEFINE_HANDLE(VkInstance)
101 VK_DEFINE_HANDLE(VkPhysicalDevice)
102 VK_DEFINE_HANDLE(VkDevice)
103 VK_DEFINE_HANDLE(VkQueue)
104 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphore)
105 VK_DEFINE_HANDLE(VkCommandBuffer)
106 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFence)
107 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeviceMemory)
108 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkEvent)
109 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkQueryPool)
110 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferView)
111 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImageView)
112 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderModule)
113 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache)
114 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineLayout)
115 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipeline)
116 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass)
117 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout)
118 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSampler)
119 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSet)
120 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool)
121 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer)
122 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool)
123 #define VK_UUID_SIZE 16U
124 #define VK_ATTACHMENT_UNUSED (~0U)
126 #define VK_LOD_CLAMP_NONE 1000.0F
127 #define VK_QUEUE_FAMILY_IGNORED (~0U)
128 #define VK_REMAINING_ARRAY_LAYERS (~0U)
129 #define VK_REMAINING_MIP_LEVELS (~0U)
130 #define VK_SUBPASS_EXTERNAL (~0U)
132 #define VK_WHOLE_SIZE (~0ULL)
133 #define VK_MAX_MEMORY_TYPES 32U
134 #define VK_MAX_MEMORY_HEAPS 16U
135 #define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE 256U
136 #define VK_MAX_EXTENSION_NAME_SIZE 256U
137 #define VK_MAX_DESCRIPTION_SIZE 256U
139 typedef enum VkResult {
146 VK_ERROR_OUT_OF_HOST_MEMORY = -1,
147 VK_ERROR_OUT_OF_DEVICE_MEMORY = -2,
148 VK_ERROR_INITIALIZATION_FAILED = -3,
149 VK_ERROR_DEVICE_LOST = -4,
150 VK_ERROR_MEMORY_MAP_FAILED = -5,
151 VK_ERROR_LAYER_NOT_PRESENT = -6,
152 VK_ERROR_EXTENSION_NOT_PRESENT = -7,
153 VK_ERROR_FEATURE_NOT_PRESENT = -8,
154 VK_ERROR_INCOMPATIBLE_DRIVER = -9,
155 VK_ERROR_TOO_MANY_OBJECTS = -10,
156 VK_ERROR_FORMAT_NOT_SUPPORTED = -11,
157 VK_ERROR_FRAGMENTED_POOL = -12,
158 VK_ERROR_UNKNOWN = -13,
159 VK_ERROR_OUT_OF_POOL_MEMORY = -1000069000,
160 VK_ERROR_INVALID_EXTERNAL_HANDLE = -1000072003,
161 VK_ERROR_FRAGMENTATION = -1000161000,
162 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS = -1000257000,
163 VK_ERROR_SURFACE_LOST_KHR = -1000000000,
164 VK_ERROR_NATIVE_WINDOW_IN_USE_KHR = -1000000001,
165 VK_SUBOPTIMAL_KHR = 1000001003,
166 VK_ERROR_OUT_OF_DATE_KHR = -1000001004,
167 VK_ERROR_INCOMPATIBLE_DISPLAY_KHR = -1000003001,
168 VK_ERROR_VALIDATION_FAILED_EXT = -1000011001,
169 VK_ERROR_INVALID_SHADER_NV = -1000012000,
170 VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT = -1000158000,
171 VK_ERROR_NOT_PERMITTED_EXT = -1000174001,
172 VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT = -1000255000,
173 VK_THREAD_IDLE_KHR = 1000268000,
174 VK_THREAD_DONE_KHR = 1000268001,
175 VK_OPERATION_DEFERRED_KHR = 1000268002,
176 VK_OPERATION_NOT_DEFERRED_KHR = 1000268003,
177 VK_PIPELINE_COMPILE_REQUIRED_EXT = 1000297000,
178 VK_ERROR_OUT_OF_POOL_MEMORY_KHR = VK_ERROR_OUT_OF_POOL_MEMORY,
179 VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = VK_ERROR_INVALID_EXTERNAL_HANDLE,
180 VK_ERROR_FRAGMENTATION_EXT = VK_ERROR_FRAGMENTATION,
181 VK_ERROR_INVALID_DEVICE_ADDRESS_EXT = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS,
182 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS,
183 VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT = VK_PIPELINE_COMPILE_REQUIRED_EXT,
184 VK_RESULT_MAX_ENUM = 0x7FFFFFFF
187 typedef enum VkStructureType {
188 VK_STRUCTURE_TYPE_APPLICATION_INFO = 0,
189 VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = 1,
190 VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO = 2,
191 VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO = 3,
192 VK_STRUCTURE_TYPE_SUBMIT_INFO = 4,
193 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO = 5,
194 VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = 6,
195 VK_STRUCTURE_TYPE_BIND_SPARSE_INFO = 7,
196 VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = 8,
197 VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO = 9,
198 VK_STRUCTURE_TYPE_EVENT_CREATE_INFO = 10,
199 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO = 11,
200 VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = 12,
201 VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO = 13,
202 VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = 14,
203 VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO = 15,
204 VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO = 16,
205 VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO = 17,
206 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO = 18,
207 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO = 19,
208 VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO = 20,
209 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO = 21,
210 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO = 22,
211 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO = 23,
212 VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO = 24,
213 VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO = 25,
214 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO = 26,
215 VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO = 27,
216 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO = 28,
217 VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO = 29,
218 VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO = 30,
219 VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO = 31,
220 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO = 32,
221 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO = 33,
222 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO = 34,
223 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = 35,
224 VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = 36,
225 VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO = 37,
226 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO = 38,
227 VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO = 39,
228 VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO = 40,
229 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO = 41,
230 VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO = 42,
231 VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = 43,
232 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER = 44,
233 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = 45,
234 VK_STRUCTURE_TYPE_MEMORY_BARRIER = 46,
235 VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO = 47,
236 VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO = 48,
237 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES = 1000094000,
238 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO = 1000157000,
239 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO = 1000157001,
240 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES = 1000083000,
241 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS = 1000127000,
242 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO = 1000127001,
243 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO = 1000060000,
244 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO = 1000060003,
245 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO = 1000060004,
246 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO = 1000060005,
247 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO = 1000060006,
248 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO = 1000060013,
249 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO = 1000060014,
250 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES = 1000070000,
251 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO = 1000070001,
252 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 = 1000146000,
253 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 = 1000146001,
254 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 = 1000146002,
255 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 = 1000146003,
256 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 = 1000146004,
257 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 = 1000059000,
258 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 = 1000059001,
259 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 = 1000059002,
260 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 = 1000059003,
261 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 = 1000059004,
262 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 = 1000059005,
263 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 = 1000059006,
264 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 = 1000059007,
265 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 = 1000059008,
266 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES = 1000117000,
267 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO = 1000117001,
268 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO = 1000117002,
269 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO = 1000117003,
270 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO = 1000053000,
271 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES = 1000053001,
272 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES = 1000053002,
273 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES = 1000120000,
274 VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO = 1000145000,
275 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES = 1000145001,
276 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES = 1000145002,
277 VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 = 1000145003,
278 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO = 1000156000,
279 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO = 1000156001,
280 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO = 1000156002,
281 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO = 1000156003,
282 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES = 1000156004,
283 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES = 1000156005,
284 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO = 1000085000,
285 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO = 1000071000,
286 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES = 1000071001,
287 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO = 1000071002,
288 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES = 1000071003,
289 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES = 1000071004,
290 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO = 1000072000,
291 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO = 1000072001,
292 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO = 1000072002,
293 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO = 1000112000,
294 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES = 1000112001,
295 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO = 1000113000,
296 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO = 1000077000,
297 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO = 1000076000,
298 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES = 1000076001,
299 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES = 1000168000,
300 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT = 1000168001,
301 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES = 1000063000,
302 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES = 49,
303 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES = 50,
304 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES = 51,
305 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES = 52,
306 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO = 1000147000,
307 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 = 1000109000,
308 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 = 1000109001,
309 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 = 1000109002,
310 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 = 1000109003,
311 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 = 1000109004,
312 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO = 1000109005,
313 VK_STRUCTURE_TYPE_SUBPASS_END_INFO = 1000109006,
314 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES = 1000177000,
315 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES = 1000196000,
316 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES = 1000180000,
317 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES = 1000082000,
318 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES = 1000197000,
319 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO = 1000161000,
320 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES = 1000161001,
321 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES = 1000161002,
322 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO = 1000161003,
323 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT = 1000161004,
324 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES = 1000199000,
325 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE = 1000199001,
326 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES = 1000221000,
327 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO = 1000246000,
328 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES = 1000130000,
329 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO = 1000130001,
330 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES = 1000211000,
331 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES = 1000108000,
332 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO = 1000108001,
333 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO = 1000108002,
334 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO = 1000108003,
335 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES = 1000253000,
336 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES = 1000175000,
337 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES = 1000241000,
338 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT = 1000241001,
339 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT = 1000241002,
340 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES = 1000261000,
341 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES = 1000207000,
342 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES = 1000207001,
343 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO = 1000207002,
344 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO = 1000207003,
345 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO = 1000207004,
346 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO = 1000207005,
347 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES = 1000257000,
348 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO = 1000244001,
349 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO = 1000257002,
350 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO = 1000257003,
351 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO = 1000257004,
352 VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR = 1000001000,
353 VK_STRUCTURE_TYPE_PRESENT_INFO_KHR = 1000001001,
354 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR = 1000060007,
355 VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR = 1000060008,
356 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR = 1000060009,
357 VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR = 1000060010,
358 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR = 1000060011,
359 VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR = 1000060012,
360 VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR = 1000002000,
361 VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR = 1000002001,
362 VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR = 1000003000,
363 VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR = 1000004000,
364 VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR = 1000005000,
365 VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR = 1000006000,
366 VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR = 1000008000,
367 VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR = 1000009000,
368 VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT = 1000011000,
369 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD = 1000018000,
370 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT = 1000022000,
371 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT = 1000022001,
372 VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT = 1000022002,
373 #ifdef VK_ENABLE_BETA_EXTENSIONS
374 VK_STRUCTURE_TYPE_VIDEO_PROFILE_KHR = 1000023000,
376 #ifdef VK_ENABLE_BETA_EXTENSIONS
377 VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR = 1000023001,
379 #ifdef VK_ENABLE_BETA_EXTENSIONS
380 VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_KHR = 1000023002,
382 #ifdef VK_ENABLE_BETA_EXTENSIONS
383 VK_STRUCTURE_TYPE_VIDEO_GET_MEMORY_PROPERTIES_KHR = 1000023003,
385 #ifdef VK_ENABLE_BETA_EXTENSIONS
386 VK_STRUCTURE_TYPE_VIDEO_BIND_MEMORY_KHR = 1000023004,
388 #ifdef VK_ENABLE_BETA_EXTENSIONS
389 VK_STRUCTURE_TYPE_VIDEO_SESSION_CREATE_INFO_KHR = 1000023005,
391 #ifdef VK_ENABLE_BETA_EXTENSIONS
392 VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000023006,
394 #ifdef VK_ENABLE_BETA_EXTENSIONS
395 VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR = 1000023007,
397 #ifdef VK_ENABLE_BETA_EXTENSIONS
398 VK_STRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHR = 1000023008,
400 #ifdef VK_ENABLE_BETA_EXTENSIONS
401 VK_STRUCTURE_TYPE_VIDEO_END_CODING_INFO_KHR = 1000023009,
403 #ifdef VK_ENABLE_BETA_EXTENSIONS
404 VK_STRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHR = 1000023010,
406 #ifdef VK_ENABLE_BETA_EXTENSIONS
407 VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_KHR = 1000023011,
409 #ifdef VK_ENABLE_BETA_EXTENSIONS
410 VK_STRUCTURE_TYPE_VIDEO_QUEUE_FAMILY_PROPERTIES_2_KHR = 1000023012,
412 #ifdef VK_ENABLE_BETA_EXTENSIONS
413 VK_STRUCTURE_TYPE_VIDEO_PROFILES_KHR = 1000023013,
415 #ifdef VK_ENABLE_BETA_EXTENSIONS
416 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR = 1000023014,
418 #ifdef VK_ENABLE_BETA_EXTENSIONS
419 VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR = 1000023015,
421 #ifdef VK_ENABLE_BETA_EXTENSIONS
422 VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR = 1000024000,
424 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000,
425 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001,
426 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV = 1000026002,
427 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT = 1000028000,
428 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT = 1000028001,
429 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT = 1000028002,
430 VK_STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX = 1000029000,
431 VK_STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX = 1000029001,
432 VK_STRUCTURE_TYPE_CU_LAUNCH_INFO_NVX = 1000029002,
433 VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX = 1000030000,
434 VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX = 1000030001,
435 #ifdef VK_ENABLE_BETA_EXTENSIONS
436 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT = 1000038000,
438 #ifdef VK_ENABLE_BETA_EXTENSIONS
439 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_EXT = 1000038001,
441 #ifdef VK_ENABLE_BETA_EXTENSIONS
442 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000038002,
444 #ifdef VK_ENABLE_BETA_EXTENSIONS
445 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT = 1000038003,
447 #ifdef VK_ENABLE_BETA_EXTENSIONS
448 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT = 1000038004,
450 #ifdef VK_ENABLE_BETA_EXTENSIONS
451 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT = 1000038005,
453 #ifdef VK_ENABLE_BETA_EXTENSIONS
454 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_EXT = 1000038006,
456 #ifdef VK_ENABLE_BETA_EXTENSIONS
457 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_EXT = 1000038007,
459 #ifdef VK_ENABLE_BETA_EXTENSIONS
460 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_EXT = 1000038008,
462 #ifdef VK_ENABLE_BETA_EXTENSIONS
463 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_EXT = 1000040000,
465 #ifdef VK_ENABLE_BETA_EXTENSIONS
466 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_CREATE_INFO_EXT = 1000040001,
468 #ifdef VK_ENABLE_BETA_EXTENSIONS
469 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_EXT = 1000040002,
471 #ifdef VK_ENABLE_BETA_EXTENSIONS
472 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_MVC_EXT = 1000040003,
474 #ifdef VK_ENABLE_BETA_EXTENSIONS
475 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_EXT = 1000040004,
477 #ifdef VK_ENABLE_BETA_EXTENSIONS
478 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000040005,
480 #ifdef VK_ENABLE_BETA_EXTENSIONS
481 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT = 1000040006,
483 #ifdef VK_ENABLE_BETA_EXTENSIONS
484 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT = 1000040007,
486 VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000,
487 VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP = 1000049000,
488 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV = 1000050000,
489 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = 1000056000,
490 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV = 1000056001,
491 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057000,
492 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057001,
493 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV = 1000058000,
494 VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT = 1000061000,
495 VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN = 1000062000,
496 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT = 1000066000,
497 VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT = 1000067000,
498 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT = 1000067001,
499 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073000,
500 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073001,
501 VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR = 1000073002,
502 VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR = 1000073003,
503 VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR = 1000074000,
504 VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR = 1000074001,
505 VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR = 1000074002,
506 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR = 1000075000,
507 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078000,
508 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078001,
509 VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR = 1000078002,
510 VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR = 1000078003,
511 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR = 1000079000,
512 VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR = 1000079001,
513 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR = 1000080000,
514 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT = 1000081000,
515 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT = 1000081001,
516 VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT = 1000081002,
517 VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR = 1000084000,
518 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV = 1000087000,
519 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT = 1000090000,
520 VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT = 1000091000,
521 VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT = 1000091001,
522 VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT = 1000091002,
523 VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT = 1000091003,
524 VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE = 1000092000,
525 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX = 1000097000,
526 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV = 1000098000,
527 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT = 1000099000,
528 VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT = 1000099001,
529 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT = 1000101000,
530 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT = 1000101001,
531 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT = 1000102000,
532 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT = 1000102001,
533 VK_STRUCTURE_TYPE_HDR_METADATA_EXT = 1000105000,
534 VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR = 1000111000,
535 VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114000,
536 VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114001,
537 VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR = 1000114002,
538 VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR = 1000115000,
539 VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR = 1000115001,
540 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR = 1000116000,
541 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR = 1000116001,
542 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR = 1000116002,
543 VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR = 1000116003,
544 VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR = 1000116004,
545 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR = 1000116005,
546 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR = 1000116006,
547 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR = 1000119000,
548 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR = 1000119001,
549 VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR = 1000119002,
550 VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR = 1000121000,
551 VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR = 1000121001,
552 VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR = 1000121002,
553 VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR = 1000121003,
554 VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR = 1000121004,
555 VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK = 1000122000,
556 VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK = 1000123000,
557 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT = 1000128000,
558 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT = 1000128001,
559 VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT = 1000128002,
560 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT = 1000128003,
561 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT = 1000128004,
562 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID = 1000129000,
563 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID = 1000129001,
564 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID = 1000129002,
565 VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129003,
566 VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129004,
567 VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID = 1000129005,
568 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT = 1000138000,
569 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT = 1000138001,
570 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT = 1000138002,
571 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT = 1000138003,
572 VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT = 1000143000,
573 VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT = 1000143001,
574 VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT = 1000143002,
575 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT = 1000143003,
576 VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT = 1000143004,
577 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT = 1000148000,
578 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT = 1000148001,
579 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT = 1000148002,
580 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV = 1000149000,
581 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR = 1000150007,
582 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR = 1000150000,
583 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR = 1000150002,
584 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR = 1000150003,
585 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR = 1000150004,
586 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR = 1000150005,
587 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR = 1000150006,
588 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR = 1000150009,
589 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR = 1000150010,
590 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR = 1000150011,
591 VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR = 1000150012,
592 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR = 1000150013,
593 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR = 1000150014,
594 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR = 1000150017,
595 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR = 1000150020,
596 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR = 1000347000,
597 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR = 1000347001,
598 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR = 1000150015,
599 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR = 1000150016,
600 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR = 1000150018,
601 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR = 1000348013,
602 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV = 1000152000,
603 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV = 1000154000,
604 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV = 1000154001,
605 VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT = 1000158000,
606 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT = 1000158002,
607 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT = 1000158003,
608 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT = 1000158004,
609 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT = 1000158005,
610 VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160000,
611 VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160001,
612 #ifdef VK_ENABLE_BETA_EXTENSIONS
613 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR = 1000163000,
615 #ifdef VK_ENABLE_BETA_EXTENSIONS
616 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR = 1000163001,
618 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV = 1000164000,
619 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV = 1000164001,
620 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV = 1000164002,
621 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV = 1000164005,
622 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV = 1000165000,
623 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV = 1000165001,
624 VK_STRUCTURE_TYPE_GEOMETRY_NV = 1000165003,
625 VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV = 1000165004,
626 VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV = 1000165005,
627 VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV = 1000165006,
628 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV = 1000165007,
629 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV = 1000165008,
630 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV = 1000165009,
631 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV = 1000165011,
632 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV = 1000165012,
633 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV = 1000166000,
634 VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV = 1000166001,
635 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT = 1000170000,
636 VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT = 1000170001,
637 VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = 1000174000,
638 VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT = 1000178000,
639 VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT = 1000178001,
640 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT = 1000178002,
641 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR = 1000181000,
642 VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD = 1000183000,
643 VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT = 1000184000,
644 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD = 1000185000,
645 #ifdef VK_ENABLE_BETA_EXTENSIONS
646 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_EXT = 1000187000,
648 #ifdef VK_ENABLE_BETA_EXTENSIONS
649 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_CREATE_INFO_EXT = 1000187001,
651 #ifdef VK_ENABLE_BETA_EXTENSIONS
652 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000187002,
654 #ifdef VK_ENABLE_BETA_EXTENSIONS
655 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT = 1000187003,
657 #ifdef VK_ENABLE_BETA_EXTENSIONS
658 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_EXT = 1000187004,
660 #ifdef VK_ENABLE_BETA_EXTENSIONS
661 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_EXT = 1000187005,
663 #ifdef VK_ENABLE_BETA_EXTENSIONS
664 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_EXT = 1000187006,
666 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD = 1000189000,
667 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT = 1000190000,
668 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT = 1000190001,
669 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT = 1000190002,
670 VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP = 1000191000,
671 VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT = 1000192000,
672 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV = 1000201000,
673 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV = 1000202000,
674 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV = 1000202001,
675 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV = 1000203000,
676 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV = 1000204000,
677 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV = 1000205000,
678 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV = 1000205002,
679 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV = 1000206000,
680 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV = 1000206001,
681 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL = 1000209000,
682 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL = 1000210000,
683 VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL = 1000210001,
684 VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL = 1000210002,
685 VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL = 1000210003,
686 VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL = 1000210004,
687 VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL = 1000210005,
688 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT = 1000212000,
689 VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD = 1000213000,
690 VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD = 1000213001,
691 VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA = 1000214000,
692 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR = 1000215000,
693 VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT = 1000217000,
694 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT = 1000218000,
695 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT = 1000218001,
696 VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT = 1000218002,
697 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT = 1000225000,
698 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = 1000225001,
699 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT = 1000225002,
700 VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000226000,
701 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR = 1000226001,
702 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR = 1000226002,
703 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR = 1000226003,
704 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR = 1000226004,
705 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD = 1000227000,
706 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD = 1000229000,
707 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT = 1000234000,
708 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT = 1000237000,
709 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT = 1000238000,
710 VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT = 1000238001,
711 VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR = 1000239000,
712 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV = 1000240000,
713 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT = 1000244000,
714 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT = 1000244002,
715 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT = 1000245000,
716 VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT = 1000247000,
717 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR = 1000248000,
718 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV = 1000249000,
719 VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249001,
720 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249002,
721 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV = 1000250000,
722 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV = 1000250001,
723 VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV = 1000250002,
724 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT = 1000251000,
725 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT = 1000252000,
726 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT = 1000254000,
727 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT = 1000254001,
728 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT = 1000254002,
729 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT = 1000255000,
730 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT = 1000255002,
731 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT = 1000255001,
732 VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT = 1000256000,
733 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT = 1000259000,
734 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT = 1000259001,
735 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT = 1000259002,
736 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT = 1000260000,
737 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT = 1000265000,
738 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT = 1000267000,
739 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR = 1000269000,
740 VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR = 1000269001,
741 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR = 1000269002,
742 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR = 1000269003,
743 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR = 1000269004,
744 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR = 1000269005,
745 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT = 1000273000,
746 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = 1000276000,
747 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV = 1000277000,
748 VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV = 1000277001,
749 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV = 1000277002,
750 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV = 1000277003,
751 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV = 1000277004,
752 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV = 1000277005,
753 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV = 1000277006,
754 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV = 1000277007,
755 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV = 1000278000,
756 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV = 1000278001,
757 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR = 1000280000,
758 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR = 1000280001,
759 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT = 1000281000,
760 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT = 1000281001,
761 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM = 1000282000,
762 VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM = 1000282001,
763 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT = 1000284000,
764 VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT = 1000284001,
765 VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT = 1000284002,
766 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT = 1000286000,
767 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT = 1000286001,
768 VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT = 1000287000,
769 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT = 1000287001,
770 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT = 1000287002,
771 VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR = 1000290000,
772 VK_STRUCTURE_TYPE_PRESENT_ID_KHR = 1000294000,
773 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR = 1000294001,
774 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT = 1000295000,
775 VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT = 1000295001,
776 VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT = 1000295002,
777 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT = 1000297000,
778 #ifdef VK_ENABLE_BETA_EXTENSIONS
779 VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR = 1000299000,
781 #ifdef VK_ENABLE_BETA_EXTENSIONS
782 VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR = 1000299001,
784 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV = 1000300000,
785 VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV = 1000300001,
786 VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR = 1000314000,
787 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR = 1000314001,
788 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR = 1000314002,
789 VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR = 1000314003,
790 VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR = 1000314004,
791 VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR = 1000314005,
792 VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR = 1000314006,
793 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR = 1000314007,
794 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV = 1000314008,
795 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV = 1000314009,
796 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR = 1000323000,
797 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = 1000325000,
798 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV = 1000326000,
799 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV = 1000326001,
800 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV = 1000326002,
801 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV = 1000327000,
802 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV = 1000327001,
803 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV = 1000327002,
804 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT = 1000330000,
805 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT = 1000332000,
806 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT = 1000332001,
807 VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM = 1000333000,
808 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT = 1000335000,
809 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR = 1000336000,
810 VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR = 1000337000,
811 VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR = 1000337001,
812 VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR = 1000337002,
813 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR = 1000337003,
814 VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR = 1000337004,
815 VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR = 1000337005,
816 VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR = 1000337006,
817 VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR = 1000337007,
818 VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR = 1000337008,
819 VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR = 1000337009,
820 VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR = 1000337010,
821 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT = 1000340000,
822 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT = 1000344000,
823 VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT = 1000346000,
824 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE = 1000351000,
825 VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE = 1000351002,
826 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT = 1000352000,
827 VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT = 1000352001,
828 VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT = 1000352002,
829 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT = 1000353000,
830 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT = 1000356000,
831 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_EXTENDED_KHR = 1000360000,
832 VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364000,
833 VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA = 1000364001,
834 VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364002,
835 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365000,
836 VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365001,
837 VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI = 1000369000,
838 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI = 1000369001,
839 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI = 1000369002,
840 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI = 1000370000,
841 VK_STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV = 1000371000,
842 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV = 1000371001,
843 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT = 1000377000,
844 VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX = 1000378000,
845 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT = 1000381000,
846 VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT = 1000381001,
847 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT = 1000388000,
848 VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT = 1000388001,
849 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT = 1000392000,
850 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT = 1000392001,
851 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT = 1000411000,
852 VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT = 1000411001,
853 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT = 1000412000,
854 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR = 1000413000,
855 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR = 1000413001,
856 VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR = 1000413002,
857 VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR = 1000413003,
858 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
859 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
860 VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
861 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO,
862 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES,
863 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,
864 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2,
865 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2,
866 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2,
867 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2,
868 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2,
869 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2,
870 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2,
871 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2,
872 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2,
873 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO,
874 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO,
875 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO,
876 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO,
877 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO,
878 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO,
879 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO,
880 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES,
881 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO,
882 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO,
883 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES,
884 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO,
885 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES,
886 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES,
887 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO,
888 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO,
889 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO,
890 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO,
891 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES,
892 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO,
893 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
894 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
895 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES,
896 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO,
897 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT,
898 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES,
899 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO,
900 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO,
901 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO,
902 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2,
903 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2,
904 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2,
905 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2,
906 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2,
907 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO,
908 VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_END_INFO,
909 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO,
910 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES,
911 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO,
912 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES,
913 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO,
914 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO,
915 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO,
916 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
917 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR,
918 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS,
919 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO,
920 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES,
921 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO,
922 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2,
923 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2,
924 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2,
925 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2,
926 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2,
927 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO,
928 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO,
929 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO,
930 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO,
931 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO,
932 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,
933 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,
934 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO,
935 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO,
936 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO,
937 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES,
938 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES,
939 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO,
940 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT,
941 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,
942 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT,
943 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES,
944 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES,
945 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES,
946 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES,
947 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES,
948 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES,
949 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE,
950 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES,
951 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES,
952 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO,
953 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO,
954 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO,
955 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO,
956 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL = VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL,
957 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES,
958 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES,
959 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES,
960 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT,
961 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT,
962 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT,
963 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
964 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO,
965 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES,
966 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES,
967 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
968 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO,
969 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO,
970 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO,
971 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES,
972 VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF
975 typedef enum VkImageLayout {
976 VK_IMAGE_LAYOUT_UNDEFINED = 0,
977 VK_IMAGE_LAYOUT_GENERAL = 1,
978 VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2,
979 VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3,
980 VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4,
981 VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5,
982 VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6,
983 VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7,
984 VK_IMAGE_LAYOUT_PREINITIALIZED = 8,
985 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL = 1000117000,
986 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL = 1000117001,
987 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL = 1000241000,
988 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL = 1000241001,
989 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL = 1000241002,
990 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL = 1000241003,
991 VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002,
992 #ifdef VK_ENABLE_BETA_EXTENSIONS
993 VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR = 1000024000,
995 #ifdef VK_ENABLE_BETA_EXTENSIONS
996 VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR = 1000024001,
998 #ifdef VK_ENABLE_BETA_EXTENSIONS
999 VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR = 1000024002,
1001 VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR = 1000111000,
1002 VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000,
1003 VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003,
1004 #ifdef VK_ENABLE_BETA_EXTENSIONS
1005 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR = 1000299000,
1007 #ifdef VK_ENABLE_BETA_EXTENSIONS
1008 VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR = 1000299001,
1010 #ifdef VK_ENABLE_BETA_EXTENSIONS
1011 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR = 1000299002,
1013 VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = 1000314000,
1014 VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = 1000314001,
1015 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,
1016 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,
1017 VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR,
1018 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
1019 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
1020 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL,
1021 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL,
1022 VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF
1025 typedef enum VkObjectType {
1026 VK_OBJECT_TYPE_UNKNOWN = 0,
1027 VK_OBJECT_TYPE_INSTANCE = 1,
1028 VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2,
1029 VK_OBJECT_TYPE_DEVICE = 3,
1030 VK_OBJECT_TYPE_QUEUE = 4,
1031 VK_OBJECT_TYPE_SEMAPHORE = 5,
1032 VK_OBJECT_TYPE_COMMAND_BUFFER = 6,
1033 VK_OBJECT_TYPE_FENCE = 7,
1034 VK_OBJECT_TYPE_DEVICE_MEMORY = 8,
1035 VK_OBJECT_TYPE_BUFFER = 9,
1036 VK_OBJECT_TYPE_IMAGE = 10,
1037 VK_OBJECT_TYPE_EVENT = 11,
1038 VK_OBJECT_TYPE_QUERY_POOL = 12,
1039 VK_OBJECT_TYPE_BUFFER_VIEW = 13,
1040 VK_OBJECT_TYPE_IMAGE_VIEW = 14,
1041 VK_OBJECT_TYPE_SHADER_MODULE = 15,
1042 VK_OBJECT_TYPE_PIPELINE_CACHE = 16,
1043 VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17,
1044 VK_OBJECT_TYPE_RENDER_PASS = 18,
1045 VK_OBJECT_TYPE_PIPELINE = 19,
1046 VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20,
1047 VK_OBJECT_TYPE_SAMPLER = 21,
1048 VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22,
1049 VK_OBJECT_TYPE_DESCRIPTOR_SET = 23,
1050 VK_OBJECT_TYPE_FRAMEBUFFER = 24,
1051 VK_OBJECT_TYPE_COMMAND_POOL = 25,
1052 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION = 1000156000,
1053 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE = 1000085000,
1054 VK_OBJECT_TYPE_SURFACE_KHR = 1000000000,
1055 VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000,
1056 VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000,
1057 VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001,
1058 VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000,
1059 #ifdef VK_ENABLE_BETA_EXTENSIONS
1060 VK_OBJECT_TYPE_VIDEO_SESSION_KHR = 1000023000,
1062 #ifdef VK_ENABLE_BETA_EXTENSIONS
1063 VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR = 1000023001,
1065 VK_OBJECT_TYPE_CU_MODULE_NVX = 1000029000,
1066 VK_OBJECT_TYPE_CU_FUNCTION_NVX = 1000029001,
1067 VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000,
1068 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000,
1069 VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000,
1070 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000,
1071 VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL = 1000210000,
1072 VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR = 1000268000,
1073 VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV = 1000277000,
1074 VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = 1000295000,
1075 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,
1076 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,
1077 VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF
1080 typedef enum VkPipelineCacheHeaderVersion {
1081 VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1,
1082 VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF
1083 } VkPipelineCacheHeaderVersion;
1085 typedef enum VkVendorId {
1086 VK_VENDOR_ID_VIV = 0x10001,
1087 VK_VENDOR_ID_VSI = 0x10002,
1088 VK_VENDOR_ID_KAZAN = 0x10003,
1089 VK_VENDOR_ID_CODEPLAY = 0x10004,
1090 VK_VENDOR_ID_MESA = 0x10005,
1091 VK_VENDOR_ID_POCL = 0x10006,
1092 VK_VENDOR_ID_MAX_ENUM = 0x7FFFFFFF
1095 typedef enum VkSystemAllocationScope {
1096 VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0,
1097 VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1,
1098 VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2,
1099 VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3,
1100 VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4,
1101 VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = 0x7FFFFFFF
1102 } VkSystemAllocationScope;
1104 typedef enum VkInternalAllocationType {
1105 VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0,
1106 VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM = 0x7FFFFFFF
1107 } VkInternalAllocationType;
1109 typedef enum VkFormat {
1110 VK_FORMAT_UNDEFINED = 0,
1111 VK_FORMAT_R4G4_UNORM_PACK8 = 1,
1112 VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2,
1113 VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3,
1114 VK_FORMAT_R5G6B5_UNORM_PACK16 = 4,
1115 VK_FORMAT_B5G6R5_UNORM_PACK16 = 5,
1116 VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6,
1117 VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7,
1118 VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8,
1119 VK_FORMAT_R8_UNORM = 9,
1120 VK_FORMAT_R8_SNORM = 10,
1121 VK_FORMAT_R8_USCALED = 11,
1122 VK_FORMAT_R8_SSCALED = 12,
1123 VK_FORMAT_R8_UINT = 13,
1124 VK_FORMAT_R8_SINT = 14,
1125 VK_FORMAT_R8_SRGB = 15,
1126 VK_FORMAT_R8G8_UNORM = 16,
1127 VK_FORMAT_R8G8_SNORM = 17,
1128 VK_FORMAT_R8G8_USCALED = 18,
1129 VK_FORMAT_R8G8_SSCALED = 19,
1130 VK_FORMAT_R8G8_UINT = 20,
1131 VK_FORMAT_R8G8_SINT = 21,
1132 VK_FORMAT_R8G8_SRGB = 22,
1133 VK_FORMAT_R8G8B8_UNORM = 23,
1134 VK_FORMAT_R8G8B8_SNORM = 24,
1135 VK_FORMAT_R8G8B8_USCALED = 25,
1136 VK_FORMAT_R8G8B8_SSCALED = 26,
1137 VK_FORMAT_R8G8B8_UINT = 27,
1138 VK_FORMAT_R8G8B8_SINT = 28,
1139 VK_FORMAT_R8G8B8_SRGB = 29,
1140 VK_FORMAT_B8G8R8_UNORM = 30,
1141 VK_FORMAT_B8G8R8_SNORM = 31,
1142 VK_FORMAT_B8G8R8_USCALED = 32,
1143 VK_FORMAT_B8G8R8_SSCALED = 33,
1144 VK_FORMAT_B8G8R8_UINT = 34,
1145 VK_FORMAT_B8G8R8_SINT = 35,
1146 VK_FORMAT_B8G8R8_SRGB = 36,
1147 VK_FORMAT_R8G8B8A8_UNORM = 37,
1148 VK_FORMAT_R8G8B8A8_SNORM = 38,
1149 VK_FORMAT_R8G8B8A8_USCALED = 39,
1150 VK_FORMAT_R8G8B8A8_SSCALED = 40,
1151 VK_FORMAT_R8G8B8A8_UINT = 41,
1152 VK_FORMAT_R8G8B8A8_SINT = 42,
1153 VK_FORMAT_R8G8B8A8_SRGB = 43,
1154 VK_FORMAT_B8G8R8A8_UNORM = 44,
1155 VK_FORMAT_B8G8R8A8_SNORM = 45,
1156 VK_FORMAT_B8G8R8A8_USCALED = 46,
1157 VK_FORMAT_B8G8R8A8_SSCALED = 47,
1158 VK_FORMAT_B8G8R8A8_UINT = 48,
1159 VK_FORMAT_B8G8R8A8_SINT = 49,
1160 VK_FORMAT_B8G8R8A8_SRGB = 50,
1161 VK_FORMAT_A8B8G8R8_UNORM_PACK32 = 51,
1162 VK_FORMAT_A8B8G8R8_SNORM_PACK32 = 52,
1163 VK_FORMAT_A8B8G8R8_USCALED_PACK32 = 53,
1164 VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54,
1165 VK_FORMAT_A8B8G8R8_UINT_PACK32 = 55,
1166 VK_FORMAT_A8B8G8R8_SINT_PACK32 = 56,
1167 VK_FORMAT_A8B8G8R8_SRGB_PACK32 = 57,
1168 VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58,
1169 VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59,
1170 VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 60,
1171 VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61,
1172 VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62,
1173 VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63,
1174 VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64,
1175 VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65,
1176 VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 66,
1177 VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67,
1178 VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68,
1179 VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69,
1180 VK_FORMAT_R16_UNORM = 70,
1181 VK_FORMAT_R16_SNORM = 71,
1182 VK_FORMAT_R16_USCALED = 72,
1183 VK_FORMAT_R16_SSCALED = 73,
1184 VK_FORMAT_R16_UINT = 74,
1185 VK_FORMAT_R16_SINT = 75,
1186 VK_FORMAT_R16_SFLOAT = 76,
1187 VK_FORMAT_R16G16_UNORM = 77,
1188 VK_FORMAT_R16G16_SNORM = 78,
1189 VK_FORMAT_R16G16_USCALED = 79,
1190 VK_FORMAT_R16G16_SSCALED = 80,
1191 VK_FORMAT_R16G16_UINT = 81,
1192 VK_FORMAT_R16G16_SINT = 82,
1193 VK_FORMAT_R16G16_SFLOAT = 83,
1194 VK_FORMAT_R16G16B16_UNORM = 84,
1195 VK_FORMAT_R16G16B16_SNORM = 85,
1196 VK_FORMAT_R16G16B16_USCALED = 86,
1197 VK_FORMAT_R16G16B16_SSCALED = 87,
1198 VK_FORMAT_R16G16B16_UINT = 88,
1199 VK_FORMAT_R16G16B16_SINT = 89,
1200 VK_FORMAT_R16G16B16_SFLOAT = 90,
1201 VK_FORMAT_R16G16B16A16_UNORM = 91,
1202 VK_FORMAT_R16G16B16A16_SNORM = 92,
1203 VK_FORMAT_R16G16B16A16_USCALED = 93,
1204 VK_FORMAT_R16G16B16A16_SSCALED = 94,
1205 VK_FORMAT_R16G16B16A16_UINT = 95,
1206 VK_FORMAT_R16G16B16A16_SINT = 96,
1207 VK_FORMAT_R16G16B16A16_SFLOAT = 97,
1208 VK_FORMAT_R32_UINT = 98,
1209 VK_FORMAT_R32_SINT = 99,
1210 VK_FORMAT_R32_SFLOAT = 100,
1211 VK_FORMAT_R32G32_UINT = 101,
1212 VK_FORMAT_R32G32_SINT = 102,
1213 VK_FORMAT_R32G32_SFLOAT = 103,
1214 VK_FORMAT_R32G32B32_UINT = 104,
1215 VK_FORMAT_R32G32B32_SINT = 105,
1216 VK_FORMAT_R32G32B32_SFLOAT = 106,
1217 VK_FORMAT_R32G32B32A32_UINT = 107,
1218 VK_FORMAT_R32G32B32A32_SINT = 108,
1219 VK_FORMAT_R32G32B32A32_SFLOAT = 109,
1220 VK_FORMAT_R64_UINT = 110,
1221 VK_FORMAT_R64_SINT = 111,
1222 VK_FORMAT_R64_SFLOAT = 112,
1223 VK_FORMAT_R64G64_UINT = 113,
1224 VK_FORMAT_R64G64_SINT = 114,
1225 VK_FORMAT_R64G64_SFLOAT = 115,
1226 VK_FORMAT_R64G64B64_UINT = 116,
1227 VK_FORMAT_R64G64B64_SINT = 117,
1228 VK_FORMAT_R64G64B64_SFLOAT = 118,
1229 VK_FORMAT_R64G64B64A64_UINT = 119,
1230 VK_FORMAT_R64G64B64A64_SINT = 120,
1231 VK_FORMAT_R64G64B64A64_SFLOAT = 121,
1232 VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122,
1233 VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123,
1234 VK_FORMAT_D16_UNORM = 124,
1235 VK_FORMAT_X8_D24_UNORM_PACK32 = 125,
1236 VK_FORMAT_D32_SFLOAT = 126,
1237 VK_FORMAT_S8_UINT = 127,
1238 VK_FORMAT_D16_UNORM_S8_UINT = 128,
1239 VK_FORMAT_D24_UNORM_S8_UINT = 129,
1240 VK_FORMAT_D32_SFLOAT_S8_UINT = 130,
1241 VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131,
1242 VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132,
1243 VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133,
1244 VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134,
1245 VK_FORMAT_BC2_UNORM_BLOCK = 135,
1246 VK_FORMAT_BC2_SRGB_BLOCK = 136,
1247 VK_FORMAT_BC3_UNORM_BLOCK = 137,
1248 VK_FORMAT_BC3_SRGB_BLOCK = 138,
1249 VK_FORMAT_BC4_UNORM_BLOCK = 139,
1250 VK_FORMAT_BC4_SNORM_BLOCK = 140,
1251 VK_FORMAT_BC5_UNORM_BLOCK = 141,
1252 VK_FORMAT_BC5_SNORM_BLOCK = 142,
1253 VK_FORMAT_BC6H_UFLOAT_BLOCK = 143,
1254 VK_FORMAT_BC6H_SFLOAT_BLOCK = 144,
1255 VK_FORMAT_BC7_UNORM_BLOCK = 145,
1256 VK_FORMAT_BC7_SRGB_BLOCK = 146,
1257 VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147,
1258 VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148,
1259 VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149,
1260 VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150,
1261 VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151,
1262 VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152,
1263 VK_FORMAT_EAC_R11_UNORM_BLOCK = 153,
1264 VK_FORMAT_EAC_R11_SNORM_BLOCK = 154,
1265 VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155,
1266 VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156,
1267 VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157,
1268 VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158,
1269 VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159,
1270 VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160,
1271 VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161,
1272 VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162,
1273 VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163,
1274 VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164,
1275 VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165,
1276 VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166,
1277 VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167,
1278 VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168,
1279 VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169,
1280 VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170,
1281 VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171,
1282 VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172,
1283 VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173,
1284 VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174,
1285 VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175,
1286 VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176,
1287 VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177,
1288 VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178,
1289 VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179,
1290 VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180,
1291 VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181,
1292 VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182,
1293 VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183,
1294 VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184,
1295 VK_FORMAT_G8B8G8R8_422_UNORM = 1000156000,
1296 VK_FORMAT_B8G8R8G8_422_UNORM = 1000156001,
1297 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM = 1000156002,
1298 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM = 1000156003,
1299 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM = 1000156004,
1300 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM = 1000156005,
1301 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM = 1000156006,
1302 VK_FORMAT_R10X6_UNORM_PACK16 = 1000156007,
1303 VK_FORMAT_R10X6G10X6_UNORM_2PACK16 = 1000156008,
1304 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 1000156009,
1305 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 1000156010,
1306 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 1000156011,
1307 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 1000156012,
1308 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 1000156013,
1309 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 1000156014,
1310 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 1000156015,
1311 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 1000156016,
1312 VK_FORMAT_R12X4_UNORM_PACK16 = 1000156017,
1313 VK_FORMAT_R12X4G12X4_UNORM_2PACK16 = 1000156018,
1314 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 1000156019,
1315 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 1000156020,
1316 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 1000156021,
1317 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 1000156022,
1318 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 1000156023,
1319 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 1000156024,
1320 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 1000156025,
1321 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 1000156026,
1322 VK_FORMAT_G16B16G16R16_422_UNORM = 1000156027,
1323 VK_FORMAT_B16G16R16G16_422_UNORM = 1000156028,
1324 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM = 1000156029,
1325 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM = 1000156030,
1326 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM = 1000156031,
1327 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM = 1000156032,
1328 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM = 1000156033,
1329 VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG = 1000054000,
1330 VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001,
1331 VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = 1000054002,
1332 VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG = 1000054003,
1333 VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG = 1000054004,
1334 VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005,
1335 VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006,
1336 VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007,
1337 VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT = 1000066000,
1338 VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT = 1000066001,
1339 VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT = 1000066002,
1340 VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT = 1000066003,
1341 VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT = 1000066004,
1342 VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT = 1000066005,
1343 VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT = 1000066006,
1344 VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT = 1000066007,
1345 VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT = 1000066008,
1346 VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT = 1000066009,
1347 VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT = 1000066010,
1348 VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT = 1000066011,
1349 VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT = 1000066012,
1350 VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT = 1000066013,
1351 VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT = 1000330000,
1352 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT = 1000330001,
1353 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT = 1000330002,
1354 VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT = 1000330003,
1355 VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT = 1000340000,
1356 VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT = 1000340001,
1357 VK_FORMAT_G8B8G8R8_422_UNORM_KHR = VK_FORMAT_G8B8G8R8_422_UNORM,
1358 VK_FORMAT_B8G8R8G8_422_UNORM_KHR = VK_FORMAT_B8G8R8G8_422_UNORM,
1359 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM,
1360 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM,
1361 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM,
1362 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM,
1363 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM,
1364 VK_FORMAT_R10X6_UNORM_PACK16_KHR = VK_FORMAT_R10X6_UNORM_PACK16,
1365 VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR = VK_FORMAT_R10X6G10X6_UNORM_2PACK16,
1366 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16,
1367 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16,
1368 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16,
1369 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16,
1370 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16,
1371 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16,
1372 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16,
1373 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16,
1374 VK_FORMAT_R12X4_UNORM_PACK16_KHR = VK_FORMAT_R12X4_UNORM_PACK16,
1375 VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR = VK_FORMAT_R12X4G12X4_UNORM_2PACK16,
1376 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16,
1377 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16,
1378 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16,
1379 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16,
1380 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16,
1381 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16,
1382 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16,
1383 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16,
1384 VK_FORMAT_G16B16G16R16_422_UNORM_KHR = VK_FORMAT_G16B16G16R16_422_UNORM,
1385 VK_FORMAT_B16G16R16G16_422_UNORM_KHR = VK_FORMAT_B16G16R16G16_422_UNORM,
1386 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM,
1387 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM,
1388 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM,
1389 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM,
1390 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM,
1391 VK_FORMAT_MAX_ENUM = 0x7FFFFFFF
1394 typedef enum VkImageTiling {
1395 VK_IMAGE_TILING_OPTIMAL = 0,
1396 VK_IMAGE_TILING_LINEAR = 1,
1397 VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT = 1000158000,
1398 VK_IMAGE_TILING_MAX_ENUM = 0x7FFFFFFF
1401 typedef enum VkImageType {
1402 VK_IMAGE_TYPE_1D = 0,
1403 VK_IMAGE_TYPE_2D = 1,
1404 VK_IMAGE_TYPE_3D = 2,
1405 VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF
1408 typedef enum VkPhysicalDeviceType {
1409 VK_PHYSICAL_DEVICE_TYPE_OTHER = 0,
1410 VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1,
1411 VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2,
1412 VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3,
1413 VK_PHYSICAL_DEVICE_TYPE_CPU = 4,
1414 VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM = 0x7FFFFFFF
1415 } VkPhysicalDeviceType;
1417 typedef enum VkQueryType {
1418 VK_QUERY_TYPE_OCCLUSION = 0,
1419 VK_QUERY_TYPE_PIPELINE_STATISTICS = 1,
1420 VK_QUERY_TYPE_TIMESTAMP = 2,
1421 #ifdef VK_ENABLE_BETA_EXTENSIONS
1422 VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR = 1000023000,
1424 VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT = 1000028004,
1425 VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR = 1000116000,
1426 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR = 1000150000,
1427 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR = 1000150001,
1428 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV = 1000165000,
1429 VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL = 1000210000,
1430 #ifdef VK_ENABLE_BETA_EXTENSIONS
1431 VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR = 1000299000,
1433 VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF
1436 typedef enum VkSharingMode {
1437 VK_SHARING_MODE_EXCLUSIVE = 0,
1438 VK_SHARING_MODE_CONCURRENT = 1,
1439 VK_SHARING_MODE_MAX_ENUM = 0x7FFFFFFF
1442 typedef enum VkComponentSwizzle {
1443 VK_COMPONENT_SWIZZLE_IDENTITY = 0,
1444 VK_COMPONENT_SWIZZLE_ZERO = 1,
1445 VK_COMPONENT_SWIZZLE_ONE = 2,
1446 VK_COMPONENT_SWIZZLE_R = 3,
1447 VK_COMPONENT_SWIZZLE_G = 4,
1448 VK_COMPONENT_SWIZZLE_B = 5,
1449 VK_COMPONENT_SWIZZLE_A = 6,
1450 VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF
1451 } VkComponentSwizzle;
1453 typedef enum VkImageViewType {
1454 VK_IMAGE_VIEW_TYPE_1D = 0,
1455 VK_IMAGE_VIEW_TYPE_2D = 1,
1456 VK_IMAGE_VIEW_TYPE_3D = 2,
1457 VK_IMAGE_VIEW_TYPE_CUBE = 3,
1458 VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4,
1459 VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5,
1460 VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6,
1461 VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7FFFFFFF
1464 typedef enum VkBlendFactor {
1465 VK_BLEND_FACTOR_ZERO = 0,
1466 VK_BLEND_FACTOR_ONE = 1,
1467 VK_BLEND_FACTOR_SRC_COLOR = 2,
1468 VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3,
1469 VK_BLEND_FACTOR_DST_COLOR = 4,
1470 VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5,
1471 VK_BLEND_FACTOR_SRC_ALPHA = 6,
1472 VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7,
1473 VK_BLEND_FACTOR_DST_ALPHA = 8,
1474 VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9,
1475 VK_BLEND_FACTOR_CONSTANT_COLOR = 10,
1476 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11,
1477 VK_BLEND_FACTOR_CONSTANT_ALPHA = 12,
1478 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13,
1479 VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14,
1480 VK_BLEND_FACTOR_SRC1_COLOR = 15,
1481 VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16,
1482 VK_BLEND_FACTOR_SRC1_ALPHA = 17,
1483 VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18,
1484 VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF
1487 typedef enum VkBlendOp {
1488 VK_BLEND_OP_ADD = 0,
1489 VK_BLEND_OP_SUBTRACT = 1,
1490 VK_BLEND_OP_REVERSE_SUBTRACT = 2,
1491 VK_BLEND_OP_MIN = 3,
1492 VK_BLEND_OP_MAX = 4,
1493 VK_BLEND_OP_ZERO_EXT = 1000148000,
1494 VK_BLEND_OP_SRC_EXT = 1000148001,
1495 VK_BLEND_OP_DST_EXT = 1000148002,
1496 VK_BLEND_OP_SRC_OVER_EXT = 1000148003,
1497 VK_BLEND_OP_DST_OVER_EXT = 1000148004,
1498 VK_BLEND_OP_SRC_IN_EXT = 1000148005,
1499 VK_BLEND_OP_DST_IN_EXT = 1000148006,
1500 VK_BLEND_OP_SRC_OUT_EXT = 1000148007,
1501 VK_BLEND_OP_DST_OUT_EXT = 1000148008,
1502 VK_BLEND_OP_SRC_ATOP_EXT = 1000148009,
1503 VK_BLEND_OP_DST_ATOP_EXT = 1000148010,
1504 VK_BLEND_OP_XOR_EXT = 1000148011,
1505 VK_BLEND_OP_MULTIPLY_EXT = 1000148012,
1506 VK_BLEND_OP_SCREEN_EXT = 1000148013,
1507 VK_BLEND_OP_OVERLAY_EXT = 1000148014,
1508 VK_BLEND_OP_DARKEN_EXT = 1000148015,
1509 VK_BLEND_OP_LIGHTEN_EXT = 1000148016,
1510 VK_BLEND_OP_COLORDODGE_EXT = 1000148017,
1511 VK_BLEND_OP_COLORBURN_EXT = 1000148018,
1512 VK_BLEND_OP_HARDLIGHT_EXT = 1000148019,
1513 VK_BLEND_OP_SOFTLIGHT_EXT = 1000148020,
1514 VK_BLEND_OP_DIFFERENCE_EXT = 1000148021,
1515 VK_BLEND_OP_EXCLUSION_EXT = 1000148022,
1516 VK_BLEND_OP_INVERT_EXT = 1000148023,
1517 VK_BLEND_OP_INVERT_RGB_EXT = 1000148024,
1518 VK_BLEND_OP_LINEARDODGE_EXT = 1000148025,
1519 VK_BLEND_OP_LINEARBURN_EXT = 1000148026,
1520 VK_BLEND_OP_VIVIDLIGHT_EXT = 1000148027,
1521 VK_BLEND_OP_LINEARLIGHT_EXT = 1000148028,
1522 VK_BLEND_OP_PINLIGHT_EXT = 1000148029,
1523 VK_BLEND_OP_HARDMIX_EXT = 1000148030,
1524 VK_BLEND_OP_HSL_HUE_EXT = 1000148031,
1525 VK_BLEND_OP_HSL_SATURATION_EXT = 1000148032,
1526 VK_BLEND_OP_HSL_COLOR_EXT = 1000148033,
1527 VK_BLEND_OP_HSL_LUMINOSITY_EXT = 1000148034,
1528 VK_BLEND_OP_PLUS_EXT = 1000148035,
1529 VK_BLEND_OP_PLUS_CLAMPED_EXT = 1000148036,
1530 VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT = 1000148037,
1531 VK_BLEND_OP_PLUS_DARKER_EXT = 1000148038,
1532 VK_BLEND_OP_MINUS_EXT = 1000148039,
1533 VK_BLEND_OP_MINUS_CLAMPED_EXT = 1000148040,
1534 VK_BLEND_OP_CONTRAST_EXT = 1000148041,
1535 VK_BLEND_OP_INVERT_OVG_EXT = 1000148042,
1536 VK_BLEND_OP_RED_EXT = 1000148043,
1537 VK_BLEND_OP_GREEN_EXT = 1000148044,
1538 VK_BLEND_OP_BLUE_EXT = 1000148045,
1539 VK_BLEND_OP_MAX_ENUM = 0x7FFFFFFF
1542 typedef enum VkCompareOp {
1543 VK_COMPARE_OP_NEVER = 0,
1544 VK_COMPARE_OP_LESS = 1,
1545 VK_COMPARE_OP_EQUAL = 2,
1546 VK_COMPARE_OP_LESS_OR_EQUAL = 3,
1547 VK_COMPARE_OP_GREATER = 4,
1548 VK_COMPARE_OP_NOT_EQUAL = 5,
1549 VK_COMPARE_OP_GREATER_OR_EQUAL = 6,
1550 VK_COMPARE_OP_ALWAYS = 7,
1551 VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF
1554 typedef enum VkDynamicState {
1555 VK_DYNAMIC_STATE_VIEWPORT = 0,
1556 VK_DYNAMIC_STATE_SCISSOR = 1,
1557 VK_DYNAMIC_STATE_LINE_WIDTH = 2,
1558 VK_DYNAMIC_STATE_DEPTH_BIAS = 3,
1559 VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4,
1560 VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5,
1561 VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6,
1562 VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7,
1563 VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8,
1564 VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV = 1000087000,
1565 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000,
1566 VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT = 1000143000,
1567 VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR = 1000347000,
1568 VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV = 1000164004,
1569 VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV = 1000164006,
1570 VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV = 1000205001,
1571 VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR = 1000226000,
1572 VK_DYNAMIC_STATE_LINE_STIPPLE_EXT = 1000259000,
1573 VK_DYNAMIC_STATE_CULL_MODE_EXT = 1000267000,
1574 VK_DYNAMIC_STATE_FRONT_FACE_EXT = 1000267001,
1575 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = 1000267002,
1576 VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT = 1000267003,
1577 VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT = 1000267004,
1578 VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT = 1000267005,
1579 VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT = 1000267006,
1580 VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT = 1000267007,
1581 VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT = 1000267008,
1582 VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT = 1000267009,
1583 VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT = 1000267010,
1584 VK_DYNAMIC_STATE_STENCIL_OP_EXT = 1000267011,
1585 VK_DYNAMIC_STATE_VERTEX_INPUT_EXT = 1000352000,
1586 VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT = 1000377000,
1587 VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT = 1000377001,
1588 VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT = 1000377002,
1589 VK_DYNAMIC_STATE_LOGIC_OP_EXT = 1000377003,
1590 VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT = 1000377004,
1591 VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT = 1000381000,
1592 VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF
1595 typedef enum VkFrontFace {
1596 VK_FRONT_FACE_COUNTER_CLOCKWISE = 0,
1597 VK_FRONT_FACE_CLOCKWISE = 1,
1598 VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF
1601 typedef enum VkVertexInputRate {
1602 VK_VERTEX_INPUT_RATE_VERTEX = 0,
1603 VK_VERTEX_INPUT_RATE_INSTANCE = 1,
1604 VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF
1605 } VkVertexInputRate;
1607 typedef enum VkPrimitiveTopology {
1608 VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0,
1609 VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1,
1610 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2,
1611 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3,
1612 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4,
1613 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5,
1614 VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6,
1615 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7,
1616 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8,
1617 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9,
1618 VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10,
1619 VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7FFFFFFF
1620 } VkPrimitiveTopology;
1622 typedef enum VkPolygonMode {
1623 VK_POLYGON_MODE_FILL = 0,
1624 VK_POLYGON_MODE_LINE = 1,
1625 VK_POLYGON_MODE_POINT = 2,
1626 VK_POLYGON_MODE_FILL_RECTANGLE_NV = 1000153000,
1627 VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF
1630 typedef enum VkStencilOp {
1631 VK_STENCIL_OP_KEEP = 0,
1632 VK_STENCIL_OP_ZERO = 1,
1633 VK_STENCIL_OP_REPLACE = 2,
1634 VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3,
1635 VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4,
1636 VK_STENCIL_OP_INVERT = 5,
1637 VK_STENCIL_OP_INCREMENT_AND_WRAP = 6,
1638 VK_STENCIL_OP_DECREMENT_AND_WRAP = 7,
1639 VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF
1642 typedef enum VkLogicOp {
1643 VK_LOGIC_OP_CLEAR = 0,
1644 VK_LOGIC_OP_AND = 1,
1645 VK_LOGIC_OP_AND_REVERSE = 2,
1646 VK_LOGIC_OP_COPY = 3,
1647 VK_LOGIC_OP_AND_INVERTED = 4,
1648 VK_LOGIC_OP_NO_OP = 5,
1649 VK_LOGIC_OP_XOR = 6,
1651 VK_LOGIC_OP_NOR = 8,
1652 VK_LOGIC_OP_EQUIVALENT = 9,
1653 VK_LOGIC_OP_INVERT = 10,
1654 VK_LOGIC_OP_OR_REVERSE = 11,
1655 VK_LOGIC_OP_COPY_INVERTED = 12,
1656 VK_LOGIC_OP_OR_INVERTED = 13,
1657 VK_LOGIC_OP_NAND = 14,
1658 VK_LOGIC_OP_SET = 15,
1659 VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF
1662 typedef enum VkBorderColor {
1663 VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0,
1664 VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1,
1665 VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2,
1666 VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3,
1667 VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4,
1668 VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5,
1669 VK_BORDER_COLOR_FLOAT_CUSTOM_EXT = 1000287003,
1670 VK_BORDER_COLOR_INT_CUSTOM_EXT = 1000287004,
1671 VK_BORDER_COLOR_MAX_ENUM = 0x7FFFFFFF
1674 typedef enum VkFilter {
1675 VK_FILTER_NEAREST = 0,
1676 VK_FILTER_LINEAR = 1,
1677 VK_FILTER_CUBIC_IMG = 1000015000,
1678 VK_FILTER_CUBIC_EXT = VK_FILTER_CUBIC_IMG,
1679 VK_FILTER_MAX_ENUM = 0x7FFFFFFF
1682 typedef enum VkSamplerAddressMode {
1683 VK_SAMPLER_ADDRESS_MODE_REPEAT = 0,
1684 VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1,
1685 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2,
1686 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3,
1687 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4,
1688 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE,
1689 VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = 0x7FFFFFFF
1690 } VkSamplerAddressMode;
1692 typedef enum VkSamplerMipmapMode {
1693 VK_SAMPLER_MIPMAP_MODE_NEAREST = 0,
1694 VK_SAMPLER_MIPMAP_MODE_LINEAR = 1,
1695 VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF
1696 } VkSamplerMipmapMode;
1698 typedef enum VkDescriptorType {
1699 VK_DESCRIPTOR_TYPE_SAMPLER = 0,
1700 VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1,
1701 VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2,
1702 VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3,
1703 VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4,
1704 VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5,
1705 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6,
1706 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7,
1707 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8,
1708 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9,
1709 VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10,
1710 VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT = 1000138000,
1711 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000,
1712 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000,
1713 VK_DESCRIPTOR_TYPE_MUTABLE_VALVE = 1000351000,
1714 VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF
1717 typedef enum VkAttachmentLoadOp {
1718 VK_ATTACHMENT_LOAD_OP_LOAD = 0,
1719 VK_ATTACHMENT_LOAD_OP_CLEAR = 1,
1720 VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2,
1721 VK_ATTACHMENT_LOAD_OP_NONE_EXT = 1000400000,
1722 VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7FFFFFFF
1723 } VkAttachmentLoadOp;
1725 typedef enum VkAttachmentStoreOp {
1726 VK_ATTACHMENT_STORE_OP_STORE = 0,
1727 VK_ATTACHMENT_STORE_OP_DONT_CARE = 1,
1728 VK_ATTACHMENT_STORE_OP_NONE_EXT = 1000301000,
1729 VK_ATTACHMENT_STORE_OP_NONE_QCOM = VK_ATTACHMENT_STORE_OP_NONE_EXT,
1730 VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF
1731 } VkAttachmentStoreOp;
1733 typedef enum VkPipelineBindPoint {
1734 VK_PIPELINE_BIND_POINT_GRAPHICS = 0,
1735 VK_PIPELINE_BIND_POINT_COMPUTE = 1,
1736 VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR = 1000165000,
1737 VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI = 1000369003,
1738 VK_PIPELINE_BIND_POINT_RAY_TRACING_NV = VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR,
1739 VK_PIPELINE_BIND_POINT_MAX_ENUM = 0x7FFFFFFF
1740 } VkPipelineBindPoint;
1742 typedef enum VkCommandBufferLevel {
1743 VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0,
1744 VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1,
1745 VK_COMMAND_BUFFER_LEVEL_MAX_ENUM = 0x7FFFFFFF
1746 } VkCommandBufferLevel;
1748 typedef enum VkIndexType {
1749 VK_INDEX_TYPE_UINT16 = 0,
1750 VK_INDEX_TYPE_UINT32 = 1,
1751 VK_INDEX_TYPE_NONE_KHR = 1000165000,
1752 VK_INDEX_TYPE_UINT8_EXT = 1000265000,
1753 VK_INDEX_TYPE_NONE_NV = VK_INDEX_TYPE_NONE_KHR,
1754 VK_INDEX_TYPE_MAX_ENUM = 0x7FFFFFFF
1757 typedef enum VkSubpassContents {
1758 VK_SUBPASS_CONTENTS_INLINE = 0,
1759 VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1,
1760 VK_SUBPASS_CONTENTS_MAX_ENUM = 0x7FFFFFFF
1761 } VkSubpassContents;
1763 typedef enum VkAccessFlagBits {
1764 VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001,
1765 VK_ACCESS_INDEX_READ_BIT = 0x00000002,
1766 VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004,
1767 VK_ACCESS_UNIFORM_READ_BIT = 0x00000008,
1768 VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 0x00000010,
1769 VK_ACCESS_SHADER_READ_BIT = 0x00000020,
1770 VK_ACCESS_SHADER_WRITE_BIT = 0x00000040,
1771 VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 0x00000080,
1772 VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100,
1773 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200,
1774 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400,
1775 VK_ACCESS_TRANSFER_READ_BIT = 0x00000800,
1776 VK_ACCESS_TRANSFER_WRITE_BIT = 0x00001000,
1777 VK_ACCESS_HOST_READ_BIT = 0x00002000,
1778 VK_ACCESS_HOST_WRITE_BIT = 0x00004000,
1779 VK_ACCESS_MEMORY_READ_BIT = 0x00008000,
1780 VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000,
1781 VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000,
1782 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000,
1783 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000,
1784 VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000,
1785 VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000,
1786 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000,
1787 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000,
1788 VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000,
1789 VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000,
1790 VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000,
1791 VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000,
1792 VK_ACCESS_NONE_KHR = 0,
1793 VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR,
1794 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR,
1795 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,
1796 VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1798 typedef VkFlags VkAccessFlags;
1800 typedef enum VkImageAspectFlagBits {
1801 VK_IMAGE_ASPECT_COLOR_BIT = 0x00000001,
1802 VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002,
1803 VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004,
1804 VK_IMAGE_ASPECT_METADATA_BIT = 0x00000008,
1805 VK_IMAGE_ASPECT_PLANE_0_BIT = 0x00000010,
1806 VK_IMAGE_ASPECT_PLANE_1_BIT = 0x00000020,
1807 VK_IMAGE_ASPECT_PLANE_2_BIT = 0x00000040,
1808 VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 0x00000080,
1809 VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 0x00000100,
1810 VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 0x00000200,
1811 VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = 0x00000400,
1812 VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = VK_IMAGE_ASPECT_PLANE_0_BIT,
1813 VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = VK_IMAGE_ASPECT_PLANE_1_BIT,
1814 VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = VK_IMAGE_ASPECT_PLANE_2_BIT,
1815 VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1816 } VkImageAspectFlagBits;
1817 typedef VkFlags VkImageAspectFlags;
1819 typedef enum VkFormatFeatureFlagBits {
1820 VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 0x00000001,
1821 VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 0x00000002,
1822 VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004,
1823 VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008,
1824 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 0x00000010,
1825 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020,
1826 VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 0x00000040,
1827 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 0x00000080,
1828 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100,
1829 VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200,
1830 VK_FORMAT_FEATURE_BLIT_SRC_BIT = 0x00000400,
1831 VK_FORMAT_FEATURE_BLIT_DST_BIT = 0x00000800,
1832 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000,
1833 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT = 0x00004000,
1834 VK_FORMAT_FEATURE_TRANSFER_DST_BIT = 0x00008000,
1835 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000,
1836 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000,
1837 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000,
1838 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000,
1839 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000,
1840 VK_FORMAT_FEATURE_DISJOINT_BIT = 0x00400000,
1841 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT = 0x00800000,
1842 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000,
1843 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = 0x00002000,
1844 #ifdef VK_ENABLE_BETA_EXTENSIONS
1845 VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x02000000,
1847 #ifdef VK_ENABLE_BETA_EXTENSIONS
1848 VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR = 0x04000000,
1850 VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000,
1851 VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000,
1852 VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000,
1853 #ifdef VK_ENABLE_BETA_EXTENSIONS
1854 VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000,
1856 #ifdef VK_ENABLE_BETA_EXTENSIONS
1857 VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000,
1859 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT,
1860 VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_DST_BIT,
1861 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT,
1862 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT,
1863 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT,
1864 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT,
1865 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT,
1866 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,
1867 VK_FORMAT_FEATURE_DISJOINT_BIT_KHR = VK_FORMAT_FEATURE_DISJOINT_BIT,
1868 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT,
1869 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG,
1870 VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1871 } VkFormatFeatureFlagBits;
1872 typedef VkFlags VkFormatFeatureFlags;
1874 typedef enum VkImageCreateFlagBits {
1875 VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 0x00000001,
1876 VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
1877 VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
1878 VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 0x00000008,
1879 VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 0x00000010,
1880 VK_IMAGE_CREATE_ALIAS_BIT = 0x00000400,
1881 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT = 0x00000040,
1882 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT = 0x00000020,
1883 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT = 0x00000080,
1884 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT = 0x00000100,
1885 VK_IMAGE_CREATE_PROTECTED_BIT = 0x00000800,
1886 VK_IMAGE_CREATE_DISJOINT_BIT = 0x00000200,
1887 VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 0x00002000,
1888 VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000,
1889 VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 0x00004000,
1890 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT,
1891 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT,
1892 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT,
1893 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT,
1894 VK_IMAGE_CREATE_DISJOINT_BIT_KHR = VK_IMAGE_CREATE_DISJOINT_BIT,
1895 VK_IMAGE_CREATE_ALIAS_BIT_KHR = VK_IMAGE_CREATE_ALIAS_BIT,
1896 VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1897 } VkImageCreateFlagBits;
1898 typedef VkFlags VkImageCreateFlags;
1900 typedef enum VkSampleCountFlagBits {
1901 VK_SAMPLE_COUNT_1_BIT = 0x00000001,
1902 VK_SAMPLE_COUNT_2_BIT = 0x00000002,
1903 VK_SAMPLE_COUNT_4_BIT = 0x00000004,
1904 VK_SAMPLE_COUNT_8_BIT = 0x00000008,
1905 VK_SAMPLE_COUNT_16_BIT = 0x00000010,
1906 VK_SAMPLE_COUNT_32_BIT = 0x00000020,
1907 VK_SAMPLE_COUNT_64_BIT = 0x00000040,
1908 VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1909 } VkSampleCountFlagBits;
1910 typedef VkFlags VkSampleCountFlags;
1912 typedef enum VkImageUsageFlagBits {
1913 VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 0x00000001,
1914 VK_IMAGE_USAGE_TRANSFER_DST_BIT = 0x00000002,
1915 VK_IMAGE_USAGE_SAMPLED_BIT = 0x00000004,
1916 VK_IMAGE_USAGE_STORAGE_BIT = 0x00000008,
1917 VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000010,
1918 VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000020,
1919 VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000040,
1920 VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0x00000080,
1921 #ifdef VK_ENABLE_BETA_EXTENSIONS
1922 VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00000400,
1924 #ifdef VK_ENABLE_BETA_EXTENSIONS
1925 VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00000800,
1927 #ifdef VK_ENABLE_BETA_EXTENSIONS
1928 VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR = 0x00001000,
1930 VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x00000200,
1931 VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00000100,
1932 #ifdef VK_ENABLE_BETA_EXTENSIONS
1933 VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00002000,
1935 #ifdef VK_ENABLE_BETA_EXTENSIONS
1936 VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00004000,
1938 #ifdef VK_ENABLE_BETA_EXTENSIONS
1939 VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR = 0x00008000,
1941 VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI = 0x00040000,
1942 VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
1943 VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1944 } VkImageUsageFlagBits;
1945 typedef VkFlags VkImageUsageFlags;
1946 typedef VkFlags VkInstanceCreateFlags;
1948 typedef enum VkMemoryHeapFlagBits {
1949 VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0x00000001,
1950 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = 0x00000002,
1951 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT,
1952 VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1953 } VkMemoryHeapFlagBits;
1954 typedef VkFlags VkMemoryHeapFlags;
1956 typedef enum VkMemoryPropertyFlagBits {
1957 VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 0x00000001,
1958 VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 0x00000002,
1959 VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 0x00000004,
1960 VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 0x00000008,
1961 VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 0x00000010,
1962 VK_MEMORY_PROPERTY_PROTECTED_BIT = 0x00000020,
1963 VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD = 0x00000040,
1964 VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD = 0x00000080,
1965 VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV = 0x00000100,
1966 VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1967 } VkMemoryPropertyFlagBits;
1968 typedef VkFlags VkMemoryPropertyFlags;
1970 typedef enum VkQueueFlagBits {
1971 VK_QUEUE_GRAPHICS_BIT = 0x00000001,
1972 VK_QUEUE_COMPUTE_BIT = 0x00000002,
1973 VK_QUEUE_TRANSFER_BIT = 0x00000004,
1974 VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008,
1975 VK_QUEUE_PROTECTED_BIT = 0x00000010,
1976 #ifdef VK_ENABLE_BETA_EXTENSIONS
1977 VK_QUEUE_VIDEO_DECODE_BIT_KHR = 0x00000020,
1979 #ifdef VK_ENABLE_BETA_EXTENSIONS
1980 VK_QUEUE_VIDEO_ENCODE_BIT_KHR = 0x00000040,
1982 VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1984 typedef VkFlags VkQueueFlags;
1985 typedef VkFlags VkDeviceCreateFlags;
1987 typedef enum VkDeviceQueueCreateFlagBits {
1988 VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT = 0x00000001,
1989 VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1990 } VkDeviceQueueCreateFlagBits;
1991 typedef VkFlags VkDeviceQueueCreateFlags;
1993 typedef enum VkPipelineStageFlagBits {
1994 VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 0x00000001,
1995 VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 0x00000002,
1996 VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 0x00000004,
1997 VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 0x00000008,
1998 VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010,
1999 VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020,
2000 VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 0x00000040,
2001 VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 0x00000080,
2002 VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 0x00000100,
2003 VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 0x00000200,
2004 VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400,
2005 VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 0x00000800,
2006 VK_PIPELINE_STAGE_TRANSFER_BIT = 0x00001000,
2007 VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 0x00002000,
2008 VK_PIPELINE_STAGE_HOST_BIT = 0x00004000,
2009 VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0x00008000,
2010 VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00010000,
2011 VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000,
2012 VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000,
2013 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000,
2014 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = 0x00200000,
2015 VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV = 0x00080000,
2016 VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV = 0x00100000,
2017 VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000,
2018 VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000,
2019 VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV = 0x00020000,
2020 VK_PIPELINE_STAGE_NONE_KHR = 0,
2021 VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
2022 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV = VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR,
2023 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
2024 VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2025 } VkPipelineStageFlagBits;
2026 typedef VkFlags VkPipelineStageFlags;
2027 typedef VkFlags VkMemoryMapFlags;
2029 typedef enum VkSparseMemoryBindFlagBits {
2030 VK_SPARSE_MEMORY_BIND_METADATA_BIT = 0x00000001,
2031 VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2032 } VkSparseMemoryBindFlagBits;
2033 typedef VkFlags VkSparseMemoryBindFlags;
2035 typedef enum VkSparseImageFormatFlagBits {
2036 VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 0x00000001,
2037 VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 0x00000002,
2038 VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 0x00000004,
2039 VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2040 } VkSparseImageFormatFlagBits;
2041 typedef VkFlags VkSparseImageFormatFlags;
2043 typedef enum VkFenceCreateFlagBits {
2044 VK_FENCE_CREATE_SIGNALED_BIT = 0x00000001,
2045 VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2046 } VkFenceCreateFlagBits;
2047 typedef VkFlags VkFenceCreateFlags;
2048 typedef VkFlags VkSemaphoreCreateFlags;
2050 typedef enum VkEventCreateFlagBits {
2051 VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR = 0x00000001,
2052 VK_EVENT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2053 } VkEventCreateFlagBits;
2054 typedef VkFlags VkEventCreateFlags;
2056 typedef enum VkQueryPipelineStatisticFlagBits {
2057 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 0x00000001,
2058 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 0x00000002,
2059 VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 0x00000004,
2060 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 0x00000008,
2061 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 0x00000010,
2062 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 0x00000020,
2063 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 0x00000040,
2064 VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 0x00000080,
2065 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 0x00000100,
2066 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 0x00000200,
2067 VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 0x00000400,
2068 VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2069 } VkQueryPipelineStatisticFlagBits;
2070 typedef VkFlags VkQueryPipelineStatisticFlags;
2071 typedef VkFlags VkQueryPoolCreateFlags;
2073 typedef enum VkQueryResultFlagBits {
2074 VK_QUERY_RESULT_64_BIT = 0x00000001,
2075 VK_QUERY_RESULT_WAIT_BIT = 0x00000002,
2076 VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004,
2077 VK_QUERY_RESULT_PARTIAL_BIT = 0x00000008,
2078 #ifdef VK_ENABLE_BETA_EXTENSIONS
2079 VK_QUERY_RESULT_WITH_STATUS_BIT_KHR = 0x00000010,
2081 VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2082 } VkQueryResultFlagBits;
2083 typedef VkFlags VkQueryResultFlags;
2085 typedef enum VkBufferCreateFlagBits {
2086 VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 0x00000001,
2087 VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
2088 VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
2089 VK_BUFFER_CREATE_PROTECTED_BIT = 0x00000008,
2090 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000010,
2091 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
2092 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
2093 VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2094 } VkBufferCreateFlagBits;
2095 typedef VkFlags VkBufferCreateFlags;
2097 typedef enum VkBufferUsageFlagBits {
2098 VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 0x00000001,
2099 VK_BUFFER_USAGE_TRANSFER_DST_BIT = 0x00000002,
2100 VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000004,
2101 VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 0x00000008,
2102 VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 0x00000010,
2103 VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 0x00000020,
2104 VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 0x00000040,
2105 VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 0x00000080,
2106 VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 0x00000100,
2107 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT = 0x00020000,
2108 #ifdef VK_ENABLE_BETA_EXTENSIONS
2109 VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00002000,
2111 #ifdef VK_ENABLE_BETA_EXTENSIONS
2112 VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00004000,
2114 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0x00000800,
2115 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000,
2116 VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200,
2117 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR = 0x00080000,
2118 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR = 0x00100000,
2119 VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR = 0x00000400,
2120 #ifdef VK_ENABLE_BETA_EXTENSIONS
2121 VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00008000,
2123 #ifdef VK_ENABLE_BETA_EXTENSIONS
2124 VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00010000,
2126 VK_BUFFER_USAGE_RAY_TRACING_BIT_NV = VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR,
2127 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
2128 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
2129 VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2130 } VkBufferUsageFlagBits;
2131 typedef VkFlags VkBufferUsageFlags;
2132 typedef VkFlags VkBufferViewCreateFlags;
2134 typedef enum VkImageViewCreateFlagBits {
2135 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT = 0x00000001,
2136 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT = 0x00000002,
2137 VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2138 } VkImageViewCreateFlagBits;
2139 typedef VkFlags VkImageViewCreateFlags;
2140 typedef VkFlags VkShaderModuleCreateFlags;
2142 typedef enum VkPipelineCacheCreateFlagBits {
2143 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT = 0x00000001,
2144 VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2145 } VkPipelineCacheCreateFlagBits;
2146 typedef VkFlags VkPipelineCacheCreateFlags;
2148 typedef enum VkColorComponentFlagBits {
2149 VK_COLOR_COMPONENT_R_BIT = 0x00000001,
2150 VK_COLOR_COMPONENT_G_BIT = 0x00000002,
2151 VK_COLOR_COMPONENT_B_BIT = 0x00000004,
2152 VK_COLOR_COMPONENT_A_BIT = 0x00000008,
2153 VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2154 } VkColorComponentFlagBits;
2155 typedef VkFlags VkColorComponentFlags;
2157 typedef enum VkPipelineCreateFlagBits {
2158 VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0x00000001,
2159 VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 0x00000002,
2160 VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0x00000004,
2161 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 0x00000008,
2162 VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 0x00000010,
2163 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 0x00004000,
2164 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 0x00008000,
2165 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 0x00010000,
2166 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR = 0x00020000,
2167 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR = 0x00001000,
2168 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR = 0x00002000,
2169 VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR = 0x00080000,
2170 VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV = 0x00000020,
2171 VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR = 0x00000040,
2172 VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 0x00000080,
2173 VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = 0x00040000,
2174 VK_PIPELINE_CREATE_LIBRARY_BIT_KHR = 0x00000800,
2175 VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = 0x00000100,
2176 VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = 0x00000200,
2177 VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV = 0x00100000,
2178 VK_PIPELINE_CREATE_DISPATCH_BASE = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT,
2179 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT,
2180 VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = VK_PIPELINE_CREATE_DISPATCH_BASE,
2181 VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2182 } VkPipelineCreateFlagBits;
2183 typedef VkFlags VkPipelineCreateFlags;
2185 typedef enum VkPipelineShaderStageCreateFlagBits {
2186 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = 0x00000001,
2187 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = 0x00000002,
2188 VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2189 } VkPipelineShaderStageCreateFlagBits;
2190 typedef VkFlags VkPipelineShaderStageCreateFlags;
2192 typedef enum VkShaderStageFlagBits {
2193 VK_SHADER_STAGE_VERTEX_BIT = 0x00000001,
2194 VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 0x00000002,
2195 VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 0x00000004,
2196 VK_SHADER_STAGE_GEOMETRY_BIT = 0x00000008,
2197 VK_SHADER_STAGE_FRAGMENT_BIT = 0x00000010,
2198 VK_SHADER_STAGE_COMPUTE_BIT = 0x00000020,
2199 VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001F,
2200 VK_SHADER_STAGE_ALL = 0x7FFFFFFF,
2201 VK_SHADER_STAGE_RAYGEN_BIT_KHR = 0x00000100,
2202 VK_SHADER_STAGE_ANY_HIT_BIT_KHR = 0x00000200,
2203 VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR = 0x00000400,
2204 VK_SHADER_STAGE_MISS_BIT_KHR = 0x00000800,
2205 VK_SHADER_STAGE_INTERSECTION_BIT_KHR = 0x00001000,
2206 VK_SHADER_STAGE_CALLABLE_BIT_KHR = 0x00002000,
2207 VK_SHADER_STAGE_TASK_BIT_NV = 0x00000040,
2208 VK_SHADER_STAGE_MESH_BIT_NV = 0x00000080,
2209 VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI = 0x00004000,
2210 VK_SHADER_STAGE_RAYGEN_BIT_NV = VK_SHADER_STAGE_RAYGEN_BIT_KHR,
2211 VK_SHADER_STAGE_ANY_HIT_BIT_NV = VK_SHADER_STAGE_ANY_HIT_BIT_KHR,
2212 VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV = VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR,
2213 VK_SHADER_STAGE_MISS_BIT_NV = VK_SHADER_STAGE_MISS_BIT_KHR,
2214 VK_SHADER_STAGE_INTERSECTION_BIT_NV = VK_SHADER_STAGE_INTERSECTION_BIT_KHR,
2215 VK_SHADER_STAGE_CALLABLE_BIT_NV = VK_SHADER_STAGE_CALLABLE_BIT_KHR,
2216 VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2217 } VkShaderStageFlagBits;
2219 typedef enum VkCullModeFlagBits {
2220 VK_CULL_MODE_NONE = 0,
2221 VK_CULL_MODE_FRONT_BIT = 0x00000001,
2222 VK_CULL_MODE_BACK_BIT = 0x00000002,
2223 VK_CULL_MODE_FRONT_AND_BACK = 0x00000003,
2224 VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2225 } VkCullModeFlagBits;
2226 typedef VkFlags VkCullModeFlags;
2227 typedef VkFlags VkPipelineVertexInputStateCreateFlags;
2228 typedef VkFlags VkPipelineInputAssemblyStateCreateFlags;
2229 typedef VkFlags VkPipelineTessellationStateCreateFlags;
2230 typedef VkFlags VkPipelineViewportStateCreateFlags;
2231 typedef VkFlags VkPipelineRasterizationStateCreateFlags;
2232 typedef VkFlags VkPipelineMultisampleStateCreateFlags;
2233 typedef VkFlags VkPipelineDepthStencilStateCreateFlags;
2234 typedef VkFlags VkPipelineColorBlendStateCreateFlags;
2235 typedef VkFlags VkPipelineDynamicStateCreateFlags;
2236 typedef VkFlags VkPipelineLayoutCreateFlags;
2237 typedef VkFlags VkShaderStageFlags;
2239 typedef enum VkSamplerCreateFlagBits {
2240 VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT = 0x00000001,
2241 VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT = 0x00000002,
2242 VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2243 } VkSamplerCreateFlagBits;
2244 typedef VkFlags VkSamplerCreateFlags;
2246 typedef enum VkDescriptorPoolCreateFlagBits {
2247 VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001,
2248 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT = 0x00000002,
2249 VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE = 0x00000004,
2250 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT,
2251 VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2252 } VkDescriptorPoolCreateFlagBits;
2253 typedef VkFlags VkDescriptorPoolCreateFlags;
2254 typedef VkFlags VkDescriptorPoolResetFlags;
2256 typedef enum VkDescriptorSetLayoutCreateFlagBits {
2257 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT = 0x00000002,
2258 VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = 0x00000001,
2259 VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE = 0x00000004,
2260 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT,
2261 VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2262 } VkDescriptorSetLayoutCreateFlagBits;
2263 typedef VkFlags VkDescriptorSetLayoutCreateFlags;
2265 typedef enum VkAttachmentDescriptionFlagBits {
2266 VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001,
2267 VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2268 } VkAttachmentDescriptionFlagBits;
2269 typedef VkFlags VkAttachmentDescriptionFlags;
2271 typedef enum VkDependencyFlagBits {
2272 VK_DEPENDENCY_BY_REGION_BIT = 0x00000001,
2273 VK_DEPENDENCY_DEVICE_GROUP_BIT = 0x00000004,
2274 VK_DEPENDENCY_VIEW_LOCAL_BIT = 0x00000002,
2275 VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR = VK_DEPENDENCY_VIEW_LOCAL_BIT,
2276 VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR = VK_DEPENDENCY_DEVICE_GROUP_BIT,
2277 VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2278 } VkDependencyFlagBits;
2279 typedef VkFlags VkDependencyFlags;
2281 typedef enum VkFramebufferCreateFlagBits {
2282 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT = 0x00000001,
2283 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR = VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT,
2284 VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2285 } VkFramebufferCreateFlagBits;
2286 typedef VkFlags VkFramebufferCreateFlags;
2288 typedef enum VkRenderPassCreateFlagBits {
2289 VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM = 0x00000002,
2290 VK_RENDER_PASS_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2291 } VkRenderPassCreateFlagBits;
2292 typedef VkFlags VkRenderPassCreateFlags;
2294 typedef enum VkSubpassDescriptionFlagBits {
2295 VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX = 0x00000001,
2296 VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 0x00000002,
2297 VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM = 0x00000004,
2298 VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM = 0x00000008,
2299 VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2300 } VkSubpassDescriptionFlagBits;
2301 typedef VkFlags VkSubpassDescriptionFlags;
2303 typedef enum VkCommandPoolCreateFlagBits {
2304 VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 0x00000001,
2305 VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002,
2306 VK_COMMAND_POOL_CREATE_PROTECTED_BIT = 0x00000004,
2307 VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2308 } VkCommandPoolCreateFlagBits;
2309 typedef VkFlags VkCommandPoolCreateFlags;
2311 typedef enum VkCommandPoolResetFlagBits {
2312 VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
2313 VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2314 } VkCommandPoolResetFlagBits;
2315 typedef VkFlags VkCommandPoolResetFlags;
2317 typedef enum VkCommandBufferUsageFlagBits {
2318 VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 0x00000001,
2319 VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 0x00000002,
2320 VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 0x00000004,
2321 VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2322 } VkCommandBufferUsageFlagBits;
2323 typedef VkFlags VkCommandBufferUsageFlags;
2325 typedef enum VkQueryControlFlagBits {
2326 VK_QUERY_CONTROL_PRECISE_BIT = 0x00000001,
2327 VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2328 } VkQueryControlFlagBits;
2329 typedef VkFlags VkQueryControlFlags;
2331 typedef enum VkCommandBufferResetFlagBits {
2332 VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
2333 VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2334 } VkCommandBufferResetFlagBits;
2335 typedef VkFlags VkCommandBufferResetFlags;
2337 typedef enum VkStencilFaceFlagBits {
2338 VK_STENCIL_FACE_FRONT_BIT = 0x00000001,
2339 VK_STENCIL_FACE_BACK_BIT = 0x00000002,
2340 VK_STENCIL_FACE_FRONT_AND_BACK = 0x00000003,
2341 VK_STENCIL_FRONT_AND_BACK = VK_STENCIL_FACE_FRONT_AND_BACK,
2342 VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2343 } VkStencilFaceFlagBits;
2344 typedef VkFlags VkStencilFaceFlags;
2345 typedef struct VkExtent2D {
2350 typedef struct VkExtent3D {
2356 typedef struct VkOffset2D {
2361 typedef struct VkOffset3D {
2367 typedef struct VkRect2D {
2372 typedef struct VkBaseInStructure {
2373 VkStructureType sType;
2374 const struct VkBaseInStructure* pNext;
2375 } VkBaseInStructure;
2377 typedef struct VkBaseOutStructure {
2378 VkStructureType sType;
2379 struct VkBaseOutStructure* pNext;
2380 } VkBaseOutStructure;
2382 typedef struct VkBufferMemoryBarrier {
2383 VkStructureType sType;
2385 VkAccessFlags srcAccessMask;
2386 VkAccessFlags dstAccessMask;
2387 uint32_t srcQueueFamilyIndex;
2388 uint32_t dstQueueFamilyIndex;
2390 VkDeviceSize offset;
2392 } VkBufferMemoryBarrier;
2394 typedef struct VkDispatchIndirectCommand {
2398 } VkDispatchIndirectCommand;
2400 typedef struct VkDrawIndexedIndirectCommand {
2401 uint32_t indexCount;
2402 uint32_t instanceCount;
2403 uint32_t firstIndex;
2404 int32_t vertexOffset;
2405 uint32_t firstInstance;
2406 } VkDrawIndexedIndirectCommand;
2408 typedef struct VkDrawIndirectCommand {
2409 uint32_t vertexCount;
2410 uint32_t instanceCount;
2411 uint32_t firstVertex;
2412 uint32_t firstInstance;
2413 } VkDrawIndirectCommand;
2415 typedef struct VkImageSubresourceRange {
2416 VkImageAspectFlags aspectMask;
2417 uint32_t baseMipLevel;
2418 uint32_t levelCount;
2419 uint32_t baseArrayLayer;
2420 uint32_t layerCount;
2421 } VkImageSubresourceRange;
2423 typedef struct VkImageMemoryBarrier {
2424 VkStructureType sType;
2426 VkAccessFlags srcAccessMask;
2427 VkAccessFlags dstAccessMask;
2428 VkImageLayout oldLayout;
2429 VkImageLayout newLayout;
2430 uint32_t srcQueueFamilyIndex;
2431 uint32_t dstQueueFamilyIndex;
2433 VkImageSubresourceRange subresourceRange;
2434 } VkImageMemoryBarrier;
2436 typedef struct VkMemoryBarrier {
2437 VkStructureType sType;
2439 VkAccessFlags srcAccessMask;
2440 VkAccessFlags dstAccessMask;
2443 typedef struct VkPipelineCacheHeaderVersionOne {
2444 uint32_t headerSize;
2445 VkPipelineCacheHeaderVersion headerVersion;
2448 uint8_t pipelineCacheUUID[VK_UUID_SIZE];
2449 } VkPipelineCacheHeaderVersionOne;
2451 typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
2455 VkSystemAllocationScope allocationScope);
2457 typedef void (VKAPI_PTR *PFN_vkFreeFunction)(
2461 typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(
2464 VkInternalAllocationType allocationType,
2465 VkSystemAllocationScope allocationScope);
2467 typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(
2470 VkInternalAllocationType allocationType,
2471 VkSystemAllocationScope allocationScope);
2473 typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
2478 VkSystemAllocationScope allocationScope);
2480 typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
2481 typedef struct VkAllocationCallbacks {
2483 PFN_vkAllocationFunction pfnAllocation;
2484 PFN_vkReallocationFunction pfnReallocation;
2485 PFN_vkFreeFunction pfnFree;
2486 PFN_vkInternalAllocationNotification pfnInternalAllocation;
2487 PFN_vkInternalFreeNotification pfnInternalFree;
2488 } VkAllocationCallbacks;
2490 typedef struct VkApplicationInfo {
2491 VkStructureType sType;
2493 const char* pApplicationName;
2494 uint32_t applicationVersion;
2495 const char* pEngineName;
2496 uint32_t engineVersion;
2497 uint32_t apiVersion;
2498 } VkApplicationInfo;
2500 typedef struct VkFormatProperties {
2501 VkFormatFeatureFlags linearTilingFeatures;
2502 VkFormatFeatureFlags optimalTilingFeatures;
2503 VkFormatFeatureFlags bufferFeatures;
2504 } VkFormatProperties;
2506 typedef struct VkImageFormatProperties {
2507 VkExtent3D maxExtent;
2508 uint32_t maxMipLevels;
2509 uint32_t maxArrayLayers;
2510 VkSampleCountFlags sampleCounts;
2511 VkDeviceSize maxResourceSize;
2512 } VkImageFormatProperties;
2514 typedef struct VkInstanceCreateInfo {
2515 VkStructureType sType;
2517 VkInstanceCreateFlags flags;
2518 const VkApplicationInfo* pApplicationInfo;
2519 uint32_t enabledLayerCount;
2520 const char* const* ppEnabledLayerNames;
2521 uint32_t enabledExtensionCount;
2522 const char* const* ppEnabledExtensionNames;
2523 } VkInstanceCreateInfo;
2525 typedef struct VkMemoryHeap {
2527 VkMemoryHeapFlags flags;
2530 typedef struct VkMemoryType {
2531 VkMemoryPropertyFlags propertyFlags;
2535 typedef struct VkPhysicalDeviceFeatures {
2536 VkBool32 robustBufferAccess;
2537 VkBool32 fullDrawIndexUint32;
2538 VkBool32 imageCubeArray;
2539 VkBool32 independentBlend;
2540 VkBool32 geometryShader;
2541 VkBool32 tessellationShader;
2542 VkBool32 sampleRateShading;
2543 VkBool32 dualSrcBlend;
2545 VkBool32 multiDrawIndirect;
2546 VkBool32 drawIndirectFirstInstance;
2547 VkBool32 depthClamp;
2548 VkBool32 depthBiasClamp;
2549 VkBool32 fillModeNonSolid;
2550 VkBool32 depthBounds;
2552 VkBool32 largePoints;
2553 VkBool32 alphaToOne;
2554 VkBool32 multiViewport;
2555 VkBool32 samplerAnisotropy;
2556 VkBool32 textureCompressionETC2;
2557 VkBool32 textureCompressionASTC_LDR;
2558 VkBool32 textureCompressionBC;
2559 VkBool32 occlusionQueryPrecise;
2560 VkBool32 pipelineStatisticsQuery;
2561 VkBool32 vertexPipelineStoresAndAtomics;
2562 VkBool32 fragmentStoresAndAtomics;
2563 VkBool32 shaderTessellationAndGeometryPointSize;
2564 VkBool32 shaderImageGatherExtended;
2565 VkBool32 shaderStorageImageExtendedFormats;
2566 VkBool32 shaderStorageImageMultisample;
2567 VkBool32 shaderStorageImageReadWithoutFormat;
2568 VkBool32 shaderStorageImageWriteWithoutFormat;
2569 VkBool32 shaderUniformBufferArrayDynamicIndexing;
2570 VkBool32 shaderSampledImageArrayDynamicIndexing;
2571 VkBool32 shaderStorageBufferArrayDynamicIndexing;
2572 VkBool32 shaderStorageImageArrayDynamicIndexing;
2573 VkBool32 shaderClipDistance;
2574 VkBool32 shaderCullDistance;
2575 VkBool32 shaderFloat64;
2576 VkBool32 shaderInt64;
2577 VkBool32 shaderInt16;
2578 VkBool32 shaderResourceResidency;
2579 VkBool32 shaderResourceMinLod;
2580 VkBool32 sparseBinding;
2581 VkBool32 sparseResidencyBuffer;
2582 VkBool32 sparseResidencyImage2D;
2583 VkBool32 sparseResidencyImage3D;
2584 VkBool32 sparseResidency2Samples;
2585 VkBool32 sparseResidency4Samples;
2586 VkBool32 sparseResidency8Samples;
2587 VkBool32 sparseResidency16Samples;
2588 VkBool32 sparseResidencyAliased;
2589 VkBool32 variableMultisampleRate;
2590 VkBool32 inheritedQueries;
2591 } VkPhysicalDeviceFeatures;
2593 typedef struct VkPhysicalDeviceLimits {
2594 uint32_t maxImageDimension1D;
2595 uint32_t maxImageDimension2D;
2596 uint32_t maxImageDimension3D;
2597 uint32_t maxImageDimensionCube;
2598 uint32_t maxImageArrayLayers;
2599 uint32_t maxTexelBufferElements;
2600 uint32_t maxUniformBufferRange;
2601 uint32_t maxStorageBufferRange;
2602 uint32_t maxPushConstantsSize;
2603 uint32_t maxMemoryAllocationCount;
2604 uint32_t maxSamplerAllocationCount;
2605 VkDeviceSize bufferImageGranularity;
2606 VkDeviceSize sparseAddressSpaceSize;
2607 uint32_t maxBoundDescriptorSets;
2608 uint32_t maxPerStageDescriptorSamplers;
2609 uint32_t maxPerStageDescriptorUniformBuffers;
2610 uint32_t maxPerStageDescriptorStorageBuffers;
2611 uint32_t maxPerStageDescriptorSampledImages;
2612 uint32_t maxPerStageDescriptorStorageImages;
2613 uint32_t maxPerStageDescriptorInputAttachments;
2614 uint32_t maxPerStageResources;
2615 uint32_t maxDescriptorSetSamplers;
2616 uint32_t maxDescriptorSetUniformBuffers;
2617 uint32_t maxDescriptorSetUniformBuffersDynamic;
2618 uint32_t maxDescriptorSetStorageBuffers;
2619 uint32_t maxDescriptorSetStorageBuffersDynamic;
2620 uint32_t maxDescriptorSetSampledImages;
2621 uint32_t maxDescriptorSetStorageImages;
2622 uint32_t maxDescriptorSetInputAttachments;
2623 uint32_t maxVertexInputAttributes;
2624 uint32_t maxVertexInputBindings;
2625 uint32_t maxVertexInputAttributeOffset;
2626 uint32_t maxVertexInputBindingStride;
2627 uint32_t maxVertexOutputComponents;
2628 uint32_t maxTessellationGenerationLevel;
2629 uint32_t maxTessellationPatchSize;
2630 uint32_t maxTessellationControlPerVertexInputComponents;
2631 uint32_t maxTessellationControlPerVertexOutputComponents;
2632 uint32_t maxTessellationControlPerPatchOutputComponents;
2633 uint32_t maxTessellationControlTotalOutputComponents;
2634 uint32_t maxTessellationEvaluationInputComponents;
2635 uint32_t maxTessellationEvaluationOutputComponents;
2636 uint32_t maxGeometryShaderInvocations;
2637 uint32_t maxGeometryInputComponents;
2638 uint32_t maxGeometryOutputComponents;
2639 uint32_t maxGeometryOutputVertices;
2640 uint32_t maxGeometryTotalOutputComponents;
2641 uint32_t maxFragmentInputComponents;
2642 uint32_t maxFragmentOutputAttachments;
2643 uint32_t maxFragmentDualSrcAttachments;
2644 uint32_t maxFragmentCombinedOutputResources;
2645 uint32_t maxComputeSharedMemorySize;
2646 uint32_t maxComputeWorkGroupCount[3];
2647 uint32_t maxComputeWorkGroupInvocations;
2648 uint32_t maxComputeWorkGroupSize[3];
2649 uint32_t subPixelPrecisionBits;
2650 uint32_t subTexelPrecisionBits;
2651 uint32_t mipmapPrecisionBits;
2652 uint32_t maxDrawIndexedIndexValue;
2653 uint32_t maxDrawIndirectCount;
2654 float maxSamplerLodBias;
2655 float maxSamplerAnisotropy;
2656 uint32_t maxViewports;
2657 uint32_t maxViewportDimensions[2];
2658 float viewportBoundsRange[2];
2659 uint32_t viewportSubPixelBits;
2660 size_t minMemoryMapAlignment;
2661 VkDeviceSize minTexelBufferOffsetAlignment;
2662 VkDeviceSize minUniformBufferOffsetAlignment;
2663 VkDeviceSize minStorageBufferOffsetAlignment;
2664 int32_t minTexelOffset;
2665 uint32_t maxTexelOffset;
2666 int32_t minTexelGatherOffset;
2667 uint32_t maxTexelGatherOffset;
2668 float minInterpolationOffset;
2669 float maxInterpolationOffset;
2670 uint32_t subPixelInterpolationOffsetBits;
2671 uint32_t maxFramebufferWidth;
2672 uint32_t maxFramebufferHeight;
2673 uint32_t maxFramebufferLayers;
2674 VkSampleCountFlags framebufferColorSampleCounts;
2675 VkSampleCountFlags framebufferDepthSampleCounts;
2676 VkSampleCountFlags framebufferStencilSampleCounts;
2677 VkSampleCountFlags framebufferNoAttachmentsSampleCounts;
2678 uint32_t maxColorAttachments;
2679 VkSampleCountFlags sampledImageColorSampleCounts;
2680 VkSampleCountFlags sampledImageIntegerSampleCounts;
2681 VkSampleCountFlags sampledImageDepthSampleCounts;
2682 VkSampleCountFlags sampledImageStencilSampleCounts;
2683 VkSampleCountFlags storageImageSampleCounts;
2684 uint32_t maxSampleMaskWords;
2685 VkBool32 timestampComputeAndGraphics;
2686 float timestampPeriod;
2687 uint32_t maxClipDistances;
2688 uint32_t maxCullDistances;
2689 uint32_t maxCombinedClipAndCullDistances;
2690 uint32_t discreteQueuePriorities;
2691 float pointSizeRange[2];
2692 float lineWidthRange[2];
2693 float pointSizeGranularity;
2694 float lineWidthGranularity;
2695 VkBool32 strictLines;
2696 VkBool32 standardSampleLocations;
2697 VkDeviceSize optimalBufferCopyOffsetAlignment;
2698 VkDeviceSize optimalBufferCopyRowPitchAlignment;
2699 VkDeviceSize nonCoherentAtomSize;
2700 } VkPhysicalDeviceLimits;
2702 typedef struct VkPhysicalDeviceMemoryProperties {
2703 uint32_t memoryTypeCount;
2704 VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES];
2705 uint32_t memoryHeapCount;
2706 VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS];
2707 } VkPhysicalDeviceMemoryProperties;
2709 typedef struct VkPhysicalDeviceSparseProperties {
2710 VkBool32 residencyStandard2DBlockShape;
2711 VkBool32 residencyStandard2DMultisampleBlockShape;
2712 VkBool32 residencyStandard3DBlockShape;
2713 VkBool32 residencyAlignedMipSize;
2714 VkBool32 residencyNonResidentStrict;
2715 } VkPhysicalDeviceSparseProperties;
2717 typedef struct VkPhysicalDeviceProperties {
2718 uint32_t apiVersion;
2719 uint32_t driverVersion;
2722 VkPhysicalDeviceType deviceType;
2723 char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
2724 uint8_t pipelineCacheUUID[VK_UUID_SIZE];
2725 VkPhysicalDeviceLimits limits;
2726 VkPhysicalDeviceSparseProperties sparseProperties;
2727 } VkPhysicalDeviceProperties;
2729 typedef struct VkQueueFamilyProperties {
2730 VkQueueFlags queueFlags;
2731 uint32_t queueCount;
2732 uint32_t timestampValidBits;
2733 VkExtent3D minImageTransferGranularity;
2734 } VkQueueFamilyProperties;
2736 typedef struct VkDeviceQueueCreateInfo {
2737 VkStructureType sType;
2739 VkDeviceQueueCreateFlags flags;
2740 uint32_t queueFamilyIndex;
2741 uint32_t queueCount;
2742 const float* pQueuePriorities;
2743 } VkDeviceQueueCreateInfo;
2745 typedef struct VkDeviceCreateInfo {
2746 VkStructureType sType;
2748 VkDeviceCreateFlags flags;
2749 uint32_t queueCreateInfoCount;
2750 const VkDeviceQueueCreateInfo* pQueueCreateInfos;
2751 uint32_t enabledLayerCount;
2752 const char* const* ppEnabledLayerNames;
2753 uint32_t enabledExtensionCount;
2754 const char* const* ppEnabledExtensionNames;
2755 const VkPhysicalDeviceFeatures* pEnabledFeatures;
2756 } VkDeviceCreateInfo;
2758 typedef struct VkExtensionProperties {
2759 char extensionName[VK_MAX_EXTENSION_NAME_SIZE];
2760 uint32_t specVersion;
2761 } VkExtensionProperties;
2763 typedef struct VkLayerProperties {
2764 char layerName[VK_MAX_EXTENSION_NAME_SIZE];
2765 uint32_t specVersion;
2766 uint32_t implementationVersion;
2767 char description[VK_MAX_DESCRIPTION_SIZE];
2768 } VkLayerProperties;
2770 typedef struct VkSubmitInfo {
2771 VkStructureType sType;
2773 uint32_t waitSemaphoreCount;
2774 const VkSemaphore* pWaitSemaphores;
2775 const VkPipelineStageFlags* pWaitDstStageMask;
2776 uint32_t commandBufferCount;
2777 const VkCommandBuffer* pCommandBuffers;
2778 uint32_t signalSemaphoreCount;
2779 const VkSemaphore* pSignalSemaphores;
2782 typedef struct VkMappedMemoryRange {
2783 VkStructureType sType;
2785 VkDeviceMemory memory;
2786 VkDeviceSize offset;
2788 } VkMappedMemoryRange;
2790 typedef struct VkMemoryAllocateInfo {
2791 VkStructureType sType;
2793 VkDeviceSize allocationSize;
2794 uint32_t memoryTypeIndex;
2795 } VkMemoryAllocateInfo;
2797 typedef struct VkMemoryRequirements {
2799 VkDeviceSize alignment;
2800 uint32_t memoryTypeBits;
2801 } VkMemoryRequirements;
2803 typedef struct VkSparseMemoryBind {
2804 VkDeviceSize resourceOffset;
2806 VkDeviceMemory memory;
2807 VkDeviceSize memoryOffset;
2808 VkSparseMemoryBindFlags flags;
2809 } VkSparseMemoryBind;
2811 typedef struct VkSparseBufferMemoryBindInfo {
2814 const VkSparseMemoryBind* pBinds;
2815 } VkSparseBufferMemoryBindInfo;
2817 typedef struct VkSparseImageOpaqueMemoryBindInfo {
2820 const VkSparseMemoryBind* pBinds;
2821 } VkSparseImageOpaqueMemoryBindInfo;
2823 typedef struct VkImageSubresource {
2824 VkImageAspectFlags aspectMask;
2826 uint32_t arrayLayer;
2827 } VkImageSubresource;
2829 typedef struct VkSparseImageMemoryBind {
2830 VkImageSubresource subresource;
2833 VkDeviceMemory memory;
2834 VkDeviceSize memoryOffset;
2835 VkSparseMemoryBindFlags flags;
2836 } VkSparseImageMemoryBind;
2838 typedef struct VkSparseImageMemoryBindInfo {
2841 const VkSparseImageMemoryBind* pBinds;
2842 } VkSparseImageMemoryBindInfo;
2844 typedef struct VkBindSparseInfo {
2845 VkStructureType sType;
2847 uint32_t waitSemaphoreCount;
2848 const VkSemaphore* pWaitSemaphores;
2849 uint32_t bufferBindCount;
2850 const VkSparseBufferMemoryBindInfo* pBufferBinds;
2851 uint32_t imageOpaqueBindCount;
2852 const VkSparseImageOpaqueMemoryBindInfo* pImageOpaqueBinds;
2853 uint32_t imageBindCount;
2854 const VkSparseImageMemoryBindInfo* pImageBinds;
2855 uint32_t signalSemaphoreCount;
2856 const VkSemaphore* pSignalSemaphores;
2859 typedef struct VkSparseImageFormatProperties {
2860 VkImageAspectFlags aspectMask;
2861 VkExtent3D imageGranularity;
2862 VkSparseImageFormatFlags flags;
2863 } VkSparseImageFormatProperties;
2865 typedef struct VkSparseImageMemoryRequirements {
2866 VkSparseImageFormatProperties formatProperties;
2867 uint32_t imageMipTailFirstLod;
2868 VkDeviceSize imageMipTailSize;
2869 VkDeviceSize imageMipTailOffset;
2870 VkDeviceSize imageMipTailStride;
2871 } VkSparseImageMemoryRequirements;
2873 typedef struct VkFenceCreateInfo {
2874 VkStructureType sType;
2876 VkFenceCreateFlags flags;
2877 } VkFenceCreateInfo;
2879 typedef struct VkSemaphoreCreateInfo {
2880 VkStructureType sType;
2882 VkSemaphoreCreateFlags flags;
2883 } VkSemaphoreCreateInfo;
2885 typedef struct VkEventCreateInfo {
2886 VkStructureType sType;
2888 VkEventCreateFlags flags;
2889 } VkEventCreateInfo;
2891 typedef struct VkQueryPoolCreateInfo {
2892 VkStructureType sType;
2894 VkQueryPoolCreateFlags flags;
2895 VkQueryType queryType;
2896 uint32_t queryCount;
2897 VkQueryPipelineStatisticFlags pipelineStatistics;
2898 } VkQueryPoolCreateInfo;
2900 typedef struct VkBufferCreateInfo {
2901 VkStructureType sType;
2903 VkBufferCreateFlags flags;
2905 VkBufferUsageFlags usage;
2906 VkSharingMode sharingMode;
2907 uint32_t queueFamilyIndexCount;
2908 const uint32_t* pQueueFamilyIndices;
2909 } VkBufferCreateInfo;
2911 typedef struct VkBufferViewCreateInfo {
2912 VkStructureType sType;
2914 VkBufferViewCreateFlags flags;
2917 VkDeviceSize offset;
2919 } VkBufferViewCreateInfo;
2921 typedef struct VkImageCreateInfo {
2922 VkStructureType sType;
2924 VkImageCreateFlags flags;
2925 VkImageType imageType;
2929 uint32_t arrayLayers;
2930 VkSampleCountFlagBits samples;
2931 VkImageTiling tiling;
2932 VkImageUsageFlags usage;
2933 VkSharingMode sharingMode;
2934 uint32_t queueFamilyIndexCount;
2935 const uint32_t* pQueueFamilyIndices;
2936 VkImageLayout initialLayout;
2937 } VkImageCreateInfo;
2939 typedef struct VkSubresourceLayout {
2940 VkDeviceSize offset;
2942 VkDeviceSize rowPitch;
2943 VkDeviceSize arrayPitch;
2944 VkDeviceSize depthPitch;
2945 } VkSubresourceLayout;
2947 typedef struct VkComponentMapping {
2948 VkComponentSwizzle r;
2949 VkComponentSwizzle g;
2950 VkComponentSwizzle b;
2951 VkComponentSwizzle a;
2952 } VkComponentMapping;
2954 typedef struct VkImageViewCreateInfo {
2955 VkStructureType sType;
2957 VkImageViewCreateFlags flags;
2959 VkImageViewType viewType;
2961 VkComponentMapping components;
2962 VkImageSubresourceRange subresourceRange;
2963 } VkImageViewCreateInfo;
2965 typedef struct VkShaderModuleCreateInfo {
2966 VkStructureType sType;
2968 VkShaderModuleCreateFlags flags;
2970 const uint32_t* pCode;
2971 } VkShaderModuleCreateInfo;
2973 typedef struct VkPipelineCacheCreateInfo {
2974 VkStructureType sType;
2976 VkPipelineCacheCreateFlags flags;
2977 size_t initialDataSize;
2978 const void* pInitialData;
2979 } VkPipelineCacheCreateInfo;
2981 typedef struct VkSpecializationMapEntry {
2982 uint32_t constantID;
2985 } VkSpecializationMapEntry;
2987 typedef struct VkSpecializationInfo {
2988 uint32_t mapEntryCount;
2989 const VkSpecializationMapEntry* pMapEntries;
2992 } VkSpecializationInfo;
2994 typedef struct VkPipelineShaderStageCreateInfo {
2995 VkStructureType sType;
2997 VkPipelineShaderStageCreateFlags flags;
2998 VkShaderStageFlagBits stage;
2999 VkShaderModule module;
3001 const VkSpecializationInfo* pSpecializationInfo;
3002 } VkPipelineShaderStageCreateInfo;
3004 typedef struct VkComputePipelineCreateInfo {
3005 VkStructureType sType;
3007 VkPipelineCreateFlags flags;
3008 VkPipelineShaderStageCreateInfo stage;
3009 VkPipelineLayout layout;
3010 VkPipeline basePipelineHandle;
3011 int32_t basePipelineIndex;
3012 } VkComputePipelineCreateInfo;
3014 typedef struct VkVertexInputBindingDescription {
3017 VkVertexInputRate inputRate;
3018 } VkVertexInputBindingDescription;
3020 typedef struct VkVertexInputAttributeDescription {
3025 } VkVertexInputAttributeDescription;
3027 typedef struct VkPipelineVertexInputStateCreateInfo {
3028 VkStructureType sType;
3030 VkPipelineVertexInputStateCreateFlags flags;
3031 uint32_t vertexBindingDescriptionCount;
3032 const VkVertexInputBindingDescription* pVertexBindingDescriptions;
3033 uint32_t vertexAttributeDescriptionCount;
3034 const VkVertexInputAttributeDescription* pVertexAttributeDescriptions;
3035 } VkPipelineVertexInputStateCreateInfo;
3037 typedef struct VkPipelineInputAssemblyStateCreateInfo {
3038 VkStructureType sType;
3040 VkPipelineInputAssemblyStateCreateFlags flags;
3041 VkPrimitiveTopology topology;
3042 VkBool32 primitiveRestartEnable;
3043 } VkPipelineInputAssemblyStateCreateInfo;
3045 typedef struct VkPipelineTessellationStateCreateInfo {
3046 VkStructureType sType;
3048 VkPipelineTessellationStateCreateFlags flags;
3049 uint32_t patchControlPoints;
3050 } VkPipelineTessellationStateCreateInfo;
3052 typedef struct VkViewport {
3061 typedef struct VkPipelineViewportStateCreateInfo {
3062 VkStructureType sType;
3064 VkPipelineViewportStateCreateFlags flags;
3065 uint32_t viewportCount;
3066 const VkViewport* pViewports;
3067 uint32_t scissorCount;
3068 const VkRect2D* pScissors;
3069 } VkPipelineViewportStateCreateInfo;
3071 typedef struct VkPipelineRasterizationStateCreateInfo {
3072 VkStructureType sType;
3074 VkPipelineRasterizationStateCreateFlags flags;
3075 VkBool32 depthClampEnable;
3076 VkBool32 rasterizerDiscardEnable;
3077 VkPolygonMode polygonMode;
3078 VkCullModeFlags cullMode;
3079 VkFrontFace frontFace;
3080 VkBool32 depthBiasEnable;
3081 float depthBiasConstantFactor;
3082 float depthBiasClamp;
3083 float depthBiasSlopeFactor;
3085 } VkPipelineRasterizationStateCreateInfo;
3087 typedef struct VkPipelineMultisampleStateCreateInfo {
3088 VkStructureType sType;
3090 VkPipelineMultisampleStateCreateFlags flags;
3091 VkSampleCountFlagBits rasterizationSamples;
3092 VkBool32 sampleShadingEnable;
3093 float minSampleShading;
3094 const VkSampleMask* pSampleMask;
3095 VkBool32 alphaToCoverageEnable;
3096 VkBool32 alphaToOneEnable;
3097 } VkPipelineMultisampleStateCreateInfo;
3099 typedef struct VkStencilOpState {
3102 VkStencilOp depthFailOp;
3103 VkCompareOp compareOp;
3104 uint32_t compareMask;
3109 typedef struct VkPipelineDepthStencilStateCreateInfo {
3110 VkStructureType sType;
3112 VkPipelineDepthStencilStateCreateFlags flags;
3113 VkBool32 depthTestEnable;
3114 VkBool32 depthWriteEnable;
3115 VkCompareOp depthCompareOp;
3116 VkBool32 depthBoundsTestEnable;
3117 VkBool32 stencilTestEnable;
3118 VkStencilOpState front;
3119 VkStencilOpState back;
3120 float minDepthBounds;
3121 float maxDepthBounds;
3122 } VkPipelineDepthStencilStateCreateInfo;
3124 typedef struct VkPipelineColorBlendAttachmentState {
3125 VkBool32 blendEnable;
3126 VkBlendFactor srcColorBlendFactor;
3127 VkBlendFactor dstColorBlendFactor;
3128 VkBlendOp colorBlendOp;
3129 VkBlendFactor srcAlphaBlendFactor;
3130 VkBlendFactor dstAlphaBlendFactor;
3131 VkBlendOp alphaBlendOp;
3132 VkColorComponentFlags colorWriteMask;
3133 } VkPipelineColorBlendAttachmentState;
3135 typedef struct VkPipelineColorBlendStateCreateInfo {
3136 VkStructureType sType;
3138 VkPipelineColorBlendStateCreateFlags flags;
3139 VkBool32 logicOpEnable;
3141 uint32_t attachmentCount;
3142 const VkPipelineColorBlendAttachmentState* pAttachments;
3143 float blendConstants[4];
3144 } VkPipelineColorBlendStateCreateInfo;
3146 typedef struct VkPipelineDynamicStateCreateInfo {
3147 VkStructureType sType;
3149 VkPipelineDynamicStateCreateFlags flags;
3150 uint32_t dynamicStateCount;
3151 const VkDynamicState* pDynamicStates;
3152 } VkPipelineDynamicStateCreateInfo;
3154 typedef struct VkGraphicsPipelineCreateInfo {
3155 VkStructureType sType;
3157 VkPipelineCreateFlags flags;
3158 uint32_t stageCount;
3159 const VkPipelineShaderStageCreateInfo* pStages;
3160 const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
3161 const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState;
3162 const VkPipelineTessellationStateCreateInfo* pTessellationState;
3163 const VkPipelineViewportStateCreateInfo* pViewportState;
3164 const VkPipelineRasterizationStateCreateInfo* pRasterizationState;
3165 const VkPipelineMultisampleStateCreateInfo* pMultisampleState;
3166 const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState;
3167 const VkPipelineColorBlendStateCreateInfo* pColorBlendState;
3168 const VkPipelineDynamicStateCreateInfo* pDynamicState;
3169 VkPipelineLayout layout;
3170 VkRenderPass renderPass;
3172 VkPipeline basePipelineHandle;
3173 int32_t basePipelineIndex;
3174 } VkGraphicsPipelineCreateInfo;
3176 typedef struct VkPushConstantRange {
3177 VkShaderStageFlags stageFlags;
3180 } VkPushConstantRange;
3182 typedef struct VkPipelineLayoutCreateInfo {
3183 VkStructureType sType;
3185 VkPipelineLayoutCreateFlags flags;
3186 uint32_t setLayoutCount;
3187 const VkDescriptorSetLayout* pSetLayouts;
3188 uint32_t pushConstantRangeCount;
3189 const VkPushConstantRange* pPushConstantRanges;
3190 } VkPipelineLayoutCreateInfo;
3192 typedef struct VkSamplerCreateInfo {
3193 VkStructureType sType;
3195 VkSamplerCreateFlags flags;
3198 VkSamplerMipmapMode mipmapMode;
3199 VkSamplerAddressMode addressModeU;
3200 VkSamplerAddressMode addressModeV;
3201 VkSamplerAddressMode addressModeW;
3203 VkBool32 anisotropyEnable;
3204 float maxAnisotropy;
3205 VkBool32 compareEnable;
3206 VkCompareOp compareOp;
3209 VkBorderColor borderColor;
3210 VkBool32 unnormalizedCoordinates;
3211 } VkSamplerCreateInfo;
3213 typedef struct VkCopyDescriptorSet {
3214 VkStructureType sType;
3216 VkDescriptorSet srcSet;
3217 uint32_t srcBinding;
3218 uint32_t srcArrayElement;
3219 VkDescriptorSet dstSet;
3220 uint32_t dstBinding;
3221 uint32_t dstArrayElement;
3222 uint32_t descriptorCount;
3223 } VkCopyDescriptorSet;
3225 typedef struct VkDescriptorBufferInfo {
3227 VkDeviceSize offset;
3229 } VkDescriptorBufferInfo;
3231 typedef struct VkDescriptorImageInfo {
3233 VkImageView imageView;
3234 VkImageLayout imageLayout;
3235 } VkDescriptorImageInfo;
3237 typedef struct VkDescriptorPoolSize {
3238 VkDescriptorType type;
3239 uint32_t descriptorCount;
3240 } VkDescriptorPoolSize;
3242 typedef struct VkDescriptorPoolCreateInfo {
3243 VkStructureType sType;
3245 VkDescriptorPoolCreateFlags flags;
3247 uint32_t poolSizeCount;
3248 const VkDescriptorPoolSize* pPoolSizes;
3249 } VkDescriptorPoolCreateInfo;
3251 typedef struct VkDescriptorSetAllocateInfo {
3252 VkStructureType sType;
3254 VkDescriptorPool descriptorPool;
3255 uint32_t descriptorSetCount;
3256 const VkDescriptorSetLayout* pSetLayouts;
3257 } VkDescriptorSetAllocateInfo;
3259 typedef struct VkDescriptorSetLayoutBinding {
3261 VkDescriptorType descriptorType;
3262 uint32_t descriptorCount;
3263 VkShaderStageFlags stageFlags;
3264 const VkSampler* pImmutableSamplers;
3265 } VkDescriptorSetLayoutBinding;
3267 typedef struct VkDescriptorSetLayoutCreateInfo {
3268 VkStructureType sType;
3270 VkDescriptorSetLayoutCreateFlags flags;
3271 uint32_t bindingCount;
3272 const VkDescriptorSetLayoutBinding* pBindings;
3273 } VkDescriptorSetLayoutCreateInfo;
3275 typedef struct VkWriteDescriptorSet {
3276 VkStructureType sType;
3278 VkDescriptorSet dstSet;
3279 uint32_t dstBinding;
3280 uint32_t dstArrayElement;
3281 uint32_t descriptorCount;
3282 VkDescriptorType descriptorType;
3283 const VkDescriptorImageInfo* pImageInfo;
3284 const VkDescriptorBufferInfo* pBufferInfo;
3285 const VkBufferView* pTexelBufferView;
3286 } VkWriteDescriptorSet;
3288 typedef struct VkAttachmentDescription {
3289 VkAttachmentDescriptionFlags flags;
3291 VkSampleCountFlagBits samples;
3292 VkAttachmentLoadOp loadOp;
3293 VkAttachmentStoreOp storeOp;
3294 VkAttachmentLoadOp stencilLoadOp;
3295 VkAttachmentStoreOp stencilStoreOp;
3296 VkImageLayout initialLayout;
3297 VkImageLayout finalLayout;
3298 } VkAttachmentDescription;
3300 typedef struct VkAttachmentReference {
3301 uint32_t attachment;
3302 VkImageLayout layout;
3303 } VkAttachmentReference;
3305 typedef struct VkFramebufferCreateInfo {
3306 VkStructureType sType;
3308 VkFramebufferCreateFlags flags;
3309 VkRenderPass renderPass;
3310 uint32_t attachmentCount;
3311 const VkImageView* pAttachments;
3315 } VkFramebufferCreateInfo;
3317 typedef struct VkSubpassDescription {
3318 VkSubpassDescriptionFlags flags;
3319 VkPipelineBindPoint pipelineBindPoint;
3320 uint32_t inputAttachmentCount;
3321 const VkAttachmentReference* pInputAttachments;
3322 uint32_t colorAttachmentCount;
3323 const VkAttachmentReference* pColorAttachments;
3324 const VkAttachmentReference* pResolveAttachments;
3325 const VkAttachmentReference* pDepthStencilAttachment;
3326 uint32_t preserveAttachmentCount;
3327 const uint32_t* pPreserveAttachments;
3328 } VkSubpassDescription;
3330 typedef struct VkSubpassDependency {
3331 uint32_t srcSubpass;
3332 uint32_t dstSubpass;
3333 VkPipelineStageFlags srcStageMask;
3334 VkPipelineStageFlags dstStageMask;
3335 VkAccessFlags srcAccessMask;
3336 VkAccessFlags dstAccessMask;
3337 VkDependencyFlags dependencyFlags;
3338 } VkSubpassDependency;
3340 typedef struct VkRenderPassCreateInfo {
3341 VkStructureType sType;
3343 VkRenderPassCreateFlags flags;
3344 uint32_t attachmentCount;
3345 const VkAttachmentDescription* pAttachments;
3346 uint32_t subpassCount;
3347 const VkSubpassDescription* pSubpasses;
3348 uint32_t dependencyCount;
3349 const VkSubpassDependency* pDependencies;
3350 } VkRenderPassCreateInfo;
3352 typedef struct VkCommandPoolCreateInfo {
3353 VkStructureType sType;
3355 VkCommandPoolCreateFlags flags;
3356 uint32_t queueFamilyIndex;
3357 } VkCommandPoolCreateInfo;
3359 typedef struct VkCommandBufferAllocateInfo {
3360 VkStructureType sType;
3362 VkCommandPool commandPool;
3363 VkCommandBufferLevel level;
3364 uint32_t commandBufferCount;
3365 } VkCommandBufferAllocateInfo;
3367 typedef struct VkCommandBufferInheritanceInfo {
3368 VkStructureType sType;
3370 VkRenderPass renderPass;
3372 VkFramebuffer framebuffer;
3373 VkBool32 occlusionQueryEnable;
3374 VkQueryControlFlags queryFlags;
3375 VkQueryPipelineStatisticFlags pipelineStatistics;
3376 } VkCommandBufferInheritanceInfo;
3378 typedef struct VkCommandBufferBeginInfo {
3379 VkStructureType sType;
3381 VkCommandBufferUsageFlags flags;
3382 const VkCommandBufferInheritanceInfo* pInheritanceInfo;
3383 } VkCommandBufferBeginInfo;
3385 typedef struct VkBufferCopy {
3386 VkDeviceSize srcOffset;
3387 VkDeviceSize dstOffset;
3391 typedef struct VkImageSubresourceLayers {
3392 VkImageAspectFlags aspectMask;
3394 uint32_t baseArrayLayer;
3395 uint32_t layerCount;
3396 } VkImageSubresourceLayers;
3398 typedef struct VkBufferImageCopy {
3399 VkDeviceSize bufferOffset;
3400 uint32_t bufferRowLength;
3401 uint32_t bufferImageHeight;
3402 VkImageSubresourceLayers imageSubresource;
3403 VkOffset3D imageOffset;
3404 VkExtent3D imageExtent;
3405 } VkBufferImageCopy;
3407 typedef union VkClearColorValue {
3411 } VkClearColorValue;
3413 typedef struct VkClearDepthStencilValue {
3416 } VkClearDepthStencilValue;
3418 typedef union VkClearValue {
3419 VkClearColorValue color;
3420 VkClearDepthStencilValue depthStencil;
3423 typedef struct VkClearAttachment {
3424 VkImageAspectFlags aspectMask;
3425 uint32_t colorAttachment;
3426 VkClearValue clearValue;
3427 } VkClearAttachment;
3429 typedef struct VkClearRect {
3431 uint32_t baseArrayLayer;
3432 uint32_t layerCount;
3435 typedef struct VkImageBlit {
3436 VkImageSubresourceLayers srcSubresource;
3437 VkOffset3D srcOffsets[2];
3438 VkImageSubresourceLayers dstSubresource;
3439 VkOffset3D dstOffsets[2];
3442 typedef struct VkImageCopy {
3443 VkImageSubresourceLayers srcSubresource;
3444 VkOffset3D srcOffset;
3445 VkImageSubresourceLayers dstSubresource;
3446 VkOffset3D dstOffset;
3450 typedef struct VkImageResolve {
3451 VkImageSubresourceLayers srcSubresource;
3452 VkOffset3D srcOffset;
3453 VkImageSubresourceLayers dstSubresource;
3454 VkOffset3D dstOffset;
3458 typedef struct VkRenderPassBeginInfo {
3459 VkStructureType sType;
3461 VkRenderPass renderPass;
3462 VkFramebuffer framebuffer;
3463 VkRect2D renderArea;
3464 uint32_t clearValueCount;
3465 const VkClearValue* pClearValues;
3466 } VkRenderPassBeginInfo;
3468 typedef VkResult (VKAPI_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance);
3469 typedef void (VKAPI_PTR *PFN_vkDestroyInstance)(VkInstance instance, const VkAllocationCallbacks* pAllocator);
3470 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDevices)(VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices);
3471 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures);
3472 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties);
3473 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties);
3474 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties);
3475 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties);
3476 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties);
3477 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddr)(VkInstance instance, const char* pName);
3478 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetDeviceProcAddr)(VkDevice device, const char* pName);
3479 typedef VkResult (VKAPI_PTR *PFN_vkCreateDevice)(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice);
3480 typedef void (VKAPI_PTR *PFN_vkDestroyDevice)(VkDevice device, const VkAllocationCallbacks* pAllocator);
3481 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceExtensionProperties)(const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties);
3482 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties);
3483 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceLayerProperties)(uint32_t* pPropertyCount, VkLayerProperties* pProperties);
3484 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties);
3485 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue)(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue);
3486 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence);
3487 typedef VkResult (VKAPI_PTR *PFN_vkQueueWaitIdle)(VkQueue queue);
3488 typedef VkResult (VKAPI_PTR *PFN_vkDeviceWaitIdle)(VkDevice device);
3489 typedef VkResult (VKAPI_PTR *PFN_vkAllocateMemory)(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory);
3490 typedef void (VKAPI_PTR *PFN_vkFreeMemory)(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator);
3491 typedef VkResult (VKAPI_PTR *PFN_vkMapMemory)(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData);
3492 typedef void (VKAPI_PTR *PFN_vkUnmapMemory)(VkDevice device, VkDeviceMemory memory);
3493 typedef VkResult (VKAPI_PTR *PFN_vkFlushMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
3494 typedef VkResult (VKAPI_PTR *PFN_vkInvalidateMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
3495 typedef void (VKAPI_PTR *PFN_vkGetDeviceMemoryCommitment)(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes);
3496 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory)(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset);
3497 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory)(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset);
3498 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements)(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements);
3499 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements)(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements);
3500 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements)(VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
3501 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties);
3502 typedef VkResult (VKAPI_PTR *PFN_vkQueueBindSparse)(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence);
3503 typedef VkResult (VKAPI_PTR *PFN_vkCreateFence)(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
3504 typedef void (VKAPI_PTR *PFN_vkDestroyFence)(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator);
3505 typedef VkResult (VKAPI_PTR *PFN_vkResetFences)(VkDevice device, uint32_t fenceCount, const VkFence* pFences);
3506 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceStatus)(VkDevice device, VkFence fence);
3507 typedef VkResult (VKAPI_PTR *PFN_vkWaitForFences)(VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout);
3508 typedef VkResult (VKAPI_PTR *PFN_vkCreateSemaphore)(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore);
3509 typedef void (VKAPI_PTR *PFN_vkDestroySemaphore)(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator);
3510 typedef VkResult (VKAPI_PTR *PFN_vkCreateEvent)(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent);
3511 typedef void (VKAPI_PTR *PFN_vkDestroyEvent)(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator);
3512 typedef VkResult (VKAPI_PTR *PFN_vkGetEventStatus)(VkDevice device, VkEvent event);
3513 typedef VkResult (VKAPI_PTR *PFN_vkSetEvent)(VkDevice device, VkEvent event);
3514 typedef VkResult (VKAPI_PTR *PFN_vkResetEvent)(VkDevice device, VkEvent event);
3515 typedef VkResult (VKAPI_PTR *PFN_vkCreateQueryPool)(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool);
3516 typedef void (VKAPI_PTR *PFN_vkDestroyQueryPool)(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator);
3517 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);
3518 typedef VkResult (VKAPI_PTR *PFN_vkCreateBuffer)(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer);
3519 typedef void (VKAPI_PTR *PFN_vkDestroyBuffer)(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator);
3520 typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferView)(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView);
3521 typedef void (VKAPI_PTR *PFN_vkDestroyBufferView)(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator);
3522 typedef VkResult (VKAPI_PTR *PFN_vkCreateImage)(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage);
3523 typedef void (VKAPI_PTR *PFN_vkDestroyImage)(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator);
3524 typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout)(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout);
3525 typedef VkResult (VKAPI_PTR *PFN_vkCreateImageView)(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView);
3526 typedef void (VKAPI_PTR *PFN_vkDestroyImageView)(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator);
3527 typedef VkResult (VKAPI_PTR *PFN_vkCreateShaderModule)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule);
3528 typedef void (VKAPI_PTR *PFN_vkDestroyShaderModule)(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator);
3529 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineCache)(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache);
3530 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineCache)(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator);
3531 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineCacheData)(VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData);
3532 typedef VkResult (VKAPI_PTR *PFN_vkMergePipelineCaches)(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches);
3533 typedef VkResult (VKAPI_PTR *PFN_vkCreateGraphicsPipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
3534 typedef VkResult (VKAPI_PTR *PFN_vkCreateComputePipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
3535 typedef void (VKAPI_PTR *PFN_vkDestroyPipeline)(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator);
3536 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineLayout)(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout);
3537 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineLayout)(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator);
3538 typedef VkResult (VKAPI_PTR *PFN_vkCreateSampler)(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler);
3539 typedef void (VKAPI_PTR *PFN_vkDestroySampler)(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator);
3540 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorSetLayout)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout);
3541 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorSetLayout)(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator);
3542 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorPool)(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool);
3543 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator);
3544 typedef VkResult (VKAPI_PTR *PFN_vkResetDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags);
3545 typedef VkResult (VKAPI_PTR *PFN_vkAllocateDescriptorSets)(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets);
3546 typedef VkResult (VKAPI_PTR *PFN_vkFreeDescriptorSets)(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets);
3547 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSets)(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies);
3548 typedef VkResult (VKAPI_PTR *PFN_vkCreateFramebuffer)(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer);
3549 typedef void (VKAPI_PTR *PFN_vkDestroyFramebuffer)(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator);
3550 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass)(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
3551 typedef void (VKAPI_PTR *PFN_vkDestroyRenderPass)(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator);
3552 typedef void (VKAPI_PTR *PFN_vkGetRenderAreaGranularity)(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity);
3553 typedef VkResult (VKAPI_PTR *PFN_vkCreateCommandPool)(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool);
3554 typedef void (VKAPI_PTR *PFN_vkDestroyCommandPool)(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator);
3555 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags);
3556 typedef VkResult (VKAPI_PTR *PFN_vkAllocateCommandBuffers)(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers);
3557 typedef void (VKAPI_PTR *PFN_vkFreeCommandBuffers)(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers);
3558 typedef VkResult (VKAPI_PTR *PFN_vkBeginCommandBuffer)(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo);
3559 typedef VkResult (VKAPI_PTR *PFN_vkEndCommandBuffer)(VkCommandBuffer commandBuffer);
3560 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandBuffer)(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags);
3561 typedef void (VKAPI_PTR *PFN_vkCmdBindPipeline)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline);
3562 typedef void (VKAPI_PTR *PFN_vkCmdSetViewport)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports);
3563 typedef void (VKAPI_PTR *PFN_vkCmdSetScissor)(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors);
3564 typedef void (VKAPI_PTR *PFN_vkCmdSetLineWidth)(VkCommandBuffer commandBuffer, float lineWidth);
3565 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias)(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor);
3566 typedef void (VKAPI_PTR *PFN_vkCmdSetBlendConstants)(VkCommandBuffer commandBuffer, const float blendConstants[4]);
3567 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBounds)(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds);
3568 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilCompareMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask);
3569 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilWriteMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask);
3570 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilReference)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference);
3571 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);
3572 typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType);
3573 typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets);
3574 typedef void (VKAPI_PTR *PFN_vkCmdDraw)(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance);
3575 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexed)(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance);
3576 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
3577 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
3578 typedef void (VKAPI_PTR *PFN_vkCmdDispatch)(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ);
3579 typedef void (VKAPI_PTR *PFN_vkCmdDispatchIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset);
3580 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions);
3581 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions);
3582 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter);
3583 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions);
3584 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions);
3585 typedef void (VKAPI_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData);
3586 typedef void (VKAPI_PTR *PFN_vkCmdFillBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data);
3587 typedef void (VKAPI_PTR *PFN_vkCmdClearColorImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges);
3588 typedef void (VKAPI_PTR *PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges);
3589 typedef void (VKAPI_PTR *PFN_vkCmdClearAttachments)(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects);
3590 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions);
3591 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
3592 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
3593 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);
3594 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);
3595 typedef void (VKAPI_PTR *PFN_vkCmdBeginQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags);
3596 typedef void (VKAPI_PTR *PFN_vkCmdEndQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query);
3597 typedef void (VKAPI_PTR *PFN_vkCmdResetQueryPool)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount);
3598 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query);
3599 typedef void (VKAPI_PTR *PFN_vkCmdCopyQueryPoolResults)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags);
3600 typedef void (VKAPI_PTR *PFN_vkCmdPushConstants)(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues);
3601 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents);
3602 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass)(VkCommandBuffer commandBuffer, VkSubpassContents contents);
3603 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass)(VkCommandBuffer commandBuffer);
3604 typedef void (VKAPI_PTR *PFN_vkCmdExecuteCommands)(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers);
3606 #ifndef VK_NO_PROTOTYPES
3607 VKAPI_ATTR VkResult VKAPI_CALL vkCreateInstance(
3608 const VkInstanceCreateInfo* pCreateInfo,
3609 const VkAllocationCallbacks* pAllocator,
3610 VkInstance* pInstance);
3612 VKAPI_ATTR void VKAPI_CALL vkDestroyInstance(
3613 VkInstance instance,
3614 const VkAllocationCallbacks* pAllocator);
3616 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDevices(
3617 VkInstance instance,
3618 uint32_t* pPhysicalDeviceCount,
3619 VkPhysicalDevice* pPhysicalDevices);
3621 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures(
3622 VkPhysicalDevice physicalDevice,
3623 VkPhysicalDeviceFeatures* pFeatures);
3625 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties(
3626 VkPhysicalDevice physicalDevice,
3628 VkFormatProperties* pFormatProperties);
3630 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties(
3631 VkPhysicalDevice physicalDevice,
3634 VkImageTiling tiling,
3635 VkImageUsageFlags usage,
3636 VkImageCreateFlags flags,
3637 VkImageFormatProperties* pImageFormatProperties);
3639 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties(
3640 VkPhysicalDevice physicalDevice,
3641 VkPhysicalDeviceProperties* pProperties);
3643 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties(
3644 VkPhysicalDevice physicalDevice,
3645 uint32_t* pQueueFamilyPropertyCount,
3646 VkQueueFamilyProperties* pQueueFamilyProperties);
3648 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties(
3649 VkPhysicalDevice physicalDevice,
3650 VkPhysicalDeviceMemoryProperties* pMemoryProperties);
3652 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr(
3653 VkInstance instance,
3656 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr(
3660 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDevice(
3661 VkPhysicalDevice physicalDevice,
3662 const VkDeviceCreateInfo* pCreateInfo,
3663 const VkAllocationCallbacks* pAllocator,
3666 VKAPI_ATTR void VKAPI_CALL vkDestroyDevice(
3668 const VkAllocationCallbacks* pAllocator);
3670 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionProperties(
3671 const char* pLayerName,
3672 uint32_t* pPropertyCount,
3673 VkExtensionProperties* pProperties);
3675 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceExtensionProperties(
3676 VkPhysicalDevice physicalDevice,
3677 const char* pLayerName,
3678 uint32_t* pPropertyCount,
3679 VkExtensionProperties* pProperties);
3681 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties(
3682 uint32_t* pPropertyCount,
3683 VkLayerProperties* pProperties);
3685 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceLayerProperties(
3686 VkPhysicalDevice physicalDevice,
3687 uint32_t* pPropertyCount,
3688 VkLayerProperties* pProperties);
3690 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue(
3692 uint32_t queueFamilyIndex,
3693 uint32_t queueIndex,
3696 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit(
3698 uint32_t submitCount,
3699 const VkSubmitInfo* pSubmits,
3702 VKAPI_ATTR VkResult VKAPI_CALL vkQueueWaitIdle(
3705 VKAPI_ATTR VkResult VKAPI_CALL vkDeviceWaitIdle(
3708 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateMemory(
3710 const VkMemoryAllocateInfo* pAllocateInfo,
3711 const VkAllocationCallbacks* pAllocator,
3712 VkDeviceMemory* pMemory);
3714 VKAPI_ATTR void VKAPI_CALL vkFreeMemory(
3716 VkDeviceMemory memory,
3717 const VkAllocationCallbacks* pAllocator);
3719 VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory(
3721 VkDeviceMemory memory,
3722 VkDeviceSize offset,
3724 VkMemoryMapFlags flags,
3727 VKAPI_ATTR void VKAPI_CALL vkUnmapMemory(
3729 VkDeviceMemory memory);
3731 VKAPI_ATTR VkResult VKAPI_CALL vkFlushMappedMemoryRanges(
3733 uint32_t memoryRangeCount,
3734 const VkMappedMemoryRange* pMemoryRanges);
3736 VKAPI_ATTR VkResult VKAPI_CALL vkInvalidateMappedMemoryRanges(
3738 uint32_t memoryRangeCount,
3739 const VkMappedMemoryRange* pMemoryRanges);
3741 VKAPI_ATTR void VKAPI_CALL vkGetDeviceMemoryCommitment(
3743 VkDeviceMemory memory,
3744 VkDeviceSize* pCommittedMemoryInBytes);
3746 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory(
3749 VkDeviceMemory memory,
3750 VkDeviceSize memoryOffset);
3752 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory(
3755 VkDeviceMemory memory,
3756 VkDeviceSize memoryOffset);
3758 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements(
3761 VkMemoryRequirements* pMemoryRequirements);
3763 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements(
3766 VkMemoryRequirements* pMemoryRequirements);
3768 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements(
3771 uint32_t* pSparseMemoryRequirementCount,
3772 VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
3774 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties(
3775 VkPhysicalDevice physicalDevice,
3778 VkSampleCountFlagBits samples,
3779 VkImageUsageFlags usage,
3780 VkImageTiling tiling,
3781 uint32_t* pPropertyCount,
3782 VkSparseImageFormatProperties* pProperties);
3784 VKAPI_ATTR VkResult VKAPI_CALL vkQueueBindSparse(
3786 uint32_t bindInfoCount,
3787 const VkBindSparseInfo* pBindInfo,
3790 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFence(
3792 const VkFenceCreateInfo* pCreateInfo,
3793 const VkAllocationCallbacks* pAllocator,
3796 VKAPI_ATTR void VKAPI_CALL vkDestroyFence(
3799 const VkAllocationCallbacks* pAllocator);
3801 VKAPI_ATTR VkResult VKAPI_CALL vkResetFences(
3803 uint32_t fenceCount,
3804 const VkFence* pFences);
3806 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceStatus(
3810 VKAPI_ATTR VkResult VKAPI_CALL vkWaitForFences(
3812 uint32_t fenceCount,
3813 const VkFence* pFences,
3817 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSemaphore(
3819 const VkSemaphoreCreateInfo* pCreateInfo,
3820 const VkAllocationCallbacks* pAllocator,
3821 VkSemaphore* pSemaphore);
3823 VKAPI_ATTR void VKAPI_CALL vkDestroySemaphore(
3825 VkSemaphore semaphore,
3826 const VkAllocationCallbacks* pAllocator);
3828 VKAPI_ATTR VkResult VKAPI_CALL vkCreateEvent(
3830 const VkEventCreateInfo* pCreateInfo,
3831 const VkAllocationCallbacks* pAllocator,
3834 VKAPI_ATTR void VKAPI_CALL vkDestroyEvent(
3837 const VkAllocationCallbacks* pAllocator);
3839 VKAPI_ATTR VkResult VKAPI_CALL vkGetEventStatus(
3843 VKAPI_ATTR VkResult VKAPI_CALL vkSetEvent(
3847 VKAPI_ATTR VkResult VKAPI_CALL vkResetEvent(
3851 VKAPI_ATTR VkResult VKAPI_CALL vkCreateQueryPool(
3853 const VkQueryPoolCreateInfo* pCreateInfo,
3854 const VkAllocationCallbacks* pAllocator,
3855 VkQueryPool* pQueryPool);
3857 VKAPI_ATTR void VKAPI_CALL vkDestroyQueryPool(
3859 VkQueryPool queryPool,
3860 const VkAllocationCallbacks* pAllocator);
3862 VKAPI_ATTR VkResult VKAPI_CALL vkGetQueryPoolResults(
3864 VkQueryPool queryPool,
3865 uint32_t firstQuery,
3866 uint32_t queryCount,
3869 VkDeviceSize stride,
3870 VkQueryResultFlags flags);
3872 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBuffer(
3874 const VkBufferCreateInfo* pCreateInfo,
3875 const VkAllocationCallbacks* pAllocator,
3878 VKAPI_ATTR void VKAPI_CALL vkDestroyBuffer(
3881 const VkAllocationCallbacks* pAllocator);
3883 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferView(
3885 const VkBufferViewCreateInfo* pCreateInfo,
3886 const VkAllocationCallbacks* pAllocator,
3887 VkBufferView* pView);
3889 VKAPI_ATTR void VKAPI_CALL vkDestroyBufferView(
3891 VkBufferView bufferView,
3892 const VkAllocationCallbacks* pAllocator);
3894 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImage(
3896 const VkImageCreateInfo* pCreateInfo,
3897 const VkAllocationCallbacks* pAllocator,
3900 VKAPI_ATTR void VKAPI_CALL vkDestroyImage(
3903 const VkAllocationCallbacks* pAllocator);
3905 VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout(
3908 const VkImageSubresource* pSubresource,
3909 VkSubresourceLayout* pLayout);
3911 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImageView(
3913 const VkImageViewCreateInfo* pCreateInfo,
3914 const VkAllocationCallbacks* pAllocator,
3915 VkImageView* pView);
3917 VKAPI_ATTR void VKAPI_CALL vkDestroyImageView(
3919 VkImageView imageView,
3920 const VkAllocationCallbacks* pAllocator);
3922 VKAPI_ATTR VkResult VKAPI_CALL vkCreateShaderModule(
3924 const VkShaderModuleCreateInfo* pCreateInfo,
3925 const VkAllocationCallbacks* pAllocator,
3926 VkShaderModule* pShaderModule);
3928 VKAPI_ATTR void VKAPI_CALL vkDestroyShaderModule(
3930 VkShaderModule shaderModule,
3931 const VkAllocationCallbacks* pAllocator);
3933 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineCache(
3935 const VkPipelineCacheCreateInfo* pCreateInfo,
3936 const VkAllocationCallbacks* pAllocator,
3937 VkPipelineCache* pPipelineCache);
3939 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineCache(
3941 VkPipelineCache pipelineCache,
3942 const VkAllocationCallbacks* pAllocator);
3944 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineCacheData(
3946 VkPipelineCache pipelineCache,
3950 VKAPI_ATTR VkResult VKAPI_CALL vkMergePipelineCaches(
3952 VkPipelineCache dstCache,
3953 uint32_t srcCacheCount,
3954 const VkPipelineCache* pSrcCaches);
3956 VKAPI_ATTR VkResult VKAPI_CALL vkCreateGraphicsPipelines(
3958 VkPipelineCache pipelineCache,
3959 uint32_t createInfoCount,
3960 const VkGraphicsPipelineCreateInfo* pCreateInfos,
3961 const VkAllocationCallbacks* pAllocator,
3962 VkPipeline* pPipelines);
3964 VKAPI_ATTR VkResult VKAPI_CALL vkCreateComputePipelines(
3966 VkPipelineCache pipelineCache,
3967 uint32_t createInfoCount,
3968 const VkComputePipelineCreateInfo* pCreateInfos,
3969 const VkAllocationCallbacks* pAllocator,
3970 VkPipeline* pPipelines);
3972 VKAPI_ATTR void VKAPI_CALL vkDestroyPipeline(
3974 VkPipeline pipeline,
3975 const VkAllocationCallbacks* pAllocator);
3977 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineLayout(
3979 const VkPipelineLayoutCreateInfo* pCreateInfo,
3980 const VkAllocationCallbacks* pAllocator,
3981 VkPipelineLayout* pPipelineLayout);
3983 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineLayout(
3985 VkPipelineLayout pipelineLayout,
3986 const VkAllocationCallbacks* pAllocator);
3988 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSampler(
3990 const VkSamplerCreateInfo* pCreateInfo,
3991 const VkAllocationCallbacks* pAllocator,
3992 VkSampler* pSampler);
3994 VKAPI_ATTR void VKAPI_CALL vkDestroySampler(
3997 const VkAllocationCallbacks* pAllocator);
3999 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorSetLayout(
4001 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
4002 const VkAllocationCallbacks* pAllocator,
4003 VkDescriptorSetLayout* pSetLayout);
4005 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorSetLayout(
4007 VkDescriptorSetLayout descriptorSetLayout,
4008 const VkAllocationCallbacks* pAllocator);
4010 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorPool(
4012 const VkDescriptorPoolCreateInfo* pCreateInfo,
4013 const VkAllocationCallbacks* pAllocator,
4014 VkDescriptorPool* pDescriptorPool);
4016 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorPool(
4018 VkDescriptorPool descriptorPool,
4019 const VkAllocationCallbacks* pAllocator);
4021 VKAPI_ATTR VkResult VKAPI_CALL vkResetDescriptorPool(
4023 VkDescriptorPool descriptorPool,
4024 VkDescriptorPoolResetFlags flags);
4026 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateDescriptorSets(
4028 const VkDescriptorSetAllocateInfo* pAllocateInfo,
4029 VkDescriptorSet* pDescriptorSets);
4031 VKAPI_ATTR VkResult VKAPI_CALL vkFreeDescriptorSets(
4033 VkDescriptorPool descriptorPool,
4034 uint32_t descriptorSetCount,
4035 const VkDescriptorSet* pDescriptorSets);
4037 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSets(
4039 uint32_t descriptorWriteCount,
4040 const VkWriteDescriptorSet* pDescriptorWrites,
4041 uint32_t descriptorCopyCount,
4042 const VkCopyDescriptorSet* pDescriptorCopies);
4044 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFramebuffer(
4046 const VkFramebufferCreateInfo* pCreateInfo,
4047 const VkAllocationCallbacks* pAllocator,
4048 VkFramebuffer* pFramebuffer);
4050 VKAPI_ATTR void VKAPI_CALL vkDestroyFramebuffer(
4052 VkFramebuffer framebuffer,
4053 const VkAllocationCallbacks* pAllocator);
4055 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass(
4057 const VkRenderPassCreateInfo* pCreateInfo,
4058 const VkAllocationCallbacks* pAllocator,
4059 VkRenderPass* pRenderPass);
4061 VKAPI_ATTR void VKAPI_CALL vkDestroyRenderPass(
4063 VkRenderPass renderPass,
4064 const VkAllocationCallbacks* pAllocator);
4066 VKAPI_ATTR void VKAPI_CALL vkGetRenderAreaGranularity(
4068 VkRenderPass renderPass,
4069 VkExtent2D* pGranularity);
4071 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCommandPool(
4073 const VkCommandPoolCreateInfo* pCreateInfo,
4074 const VkAllocationCallbacks* pAllocator,
4075 VkCommandPool* pCommandPool);
4077 VKAPI_ATTR void VKAPI_CALL vkDestroyCommandPool(
4079 VkCommandPool commandPool,
4080 const VkAllocationCallbacks* pAllocator);
4082 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandPool(
4084 VkCommandPool commandPool,
4085 VkCommandPoolResetFlags flags);
4087 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateCommandBuffers(
4089 const VkCommandBufferAllocateInfo* pAllocateInfo,
4090 VkCommandBuffer* pCommandBuffers);
4092 VKAPI_ATTR void VKAPI_CALL vkFreeCommandBuffers(
4094 VkCommandPool commandPool,
4095 uint32_t commandBufferCount,
4096 const VkCommandBuffer* pCommandBuffers);
4098 VKAPI_ATTR VkResult VKAPI_CALL vkBeginCommandBuffer(
4099 VkCommandBuffer commandBuffer,
4100 const VkCommandBufferBeginInfo* pBeginInfo);
4102 VKAPI_ATTR VkResult VKAPI_CALL vkEndCommandBuffer(
4103 VkCommandBuffer commandBuffer);
4105 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandBuffer(
4106 VkCommandBuffer commandBuffer,
4107 VkCommandBufferResetFlags flags);
4109 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipeline(
4110 VkCommandBuffer commandBuffer,
4111 VkPipelineBindPoint pipelineBindPoint,
4112 VkPipeline pipeline);
4114 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewport(
4115 VkCommandBuffer commandBuffer,
4116 uint32_t firstViewport,
4117 uint32_t viewportCount,
4118 const VkViewport* pViewports);
4120 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissor(
4121 VkCommandBuffer commandBuffer,
4122 uint32_t firstScissor,
4123 uint32_t scissorCount,
4124 const VkRect2D* pScissors);
4126 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineWidth(
4127 VkCommandBuffer commandBuffer,
4130 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias(
4131 VkCommandBuffer commandBuffer,
4132 float depthBiasConstantFactor,
4133 float depthBiasClamp,
4134 float depthBiasSlopeFactor);
4136 VKAPI_ATTR void VKAPI_CALL vkCmdSetBlendConstants(
4137 VkCommandBuffer commandBuffer,
4138 const float blendConstants[4]);
4140 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBounds(
4141 VkCommandBuffer commandBuffer,
4142 float minDepthBounds,
4143 float maxDepthBounds);
4145 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilCompareMask(
4146 VkCommandBuffer commandBuffer,
4147 VkStencilFaceFlags faceMask,
4148 uint32_t compareMask);
4150 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilWriteMask(
4151 VkCommandBuffer commandBuffer,
4152 VkStencilFaceFlags faceMask,
4153 uint32_t writeMask);
4155 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilReference(
4156 VkCommandBuffer commandBuffer,
4157 VkStencilFaceFlags faceMask,
4158 uint32_t reference);
4160 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets(
4161 VkCommandBuffer commandBuffer,
4162 VkPipelineBindPoint pipelineBindPoint,
4163 VkPipelineLayout layout,
4165 uint32_t descriptorSetCount,
4166 const VkDescriptorSet* pDescriptorSets,
4167 uint32_t dynamicOffsetCount,
4168 const uint32_t* pDynamicOffsets);
4170 VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer(
4171 VkCommandBuffer commandBuffer,
4173 VkDeviceSize offset,
4174 VkIndexType indexType);
4176 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers(
4177 VkCommandBuffer commandBuffer,
4178 uint32_t firstBinding,
4179 uint32_t bindingCount,
4180 const VkBuffer* pBuffers,
4181 const VkDeviceSize* pOffsets);
4183 VKAPI_ATTR void VKAPI_CALL vkCmdDraw(
4184 VkCommandBuffer commandBuffer,
4185 uint32_t vertexCount,
4186 uint32_t instanceCount,
4187 uint32_t firstVertex,
4188 uint32_t firstInstance);
4190 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexed(
4191 VkCommandBuffer commandBuffer,
4192 uint32_t indexCount,
4193 uint32_t instanceCount,
4194 uint32_t firstIndex,
4195 int32_t vertexOffset,
4196 uint32_t firstInstance);
4198 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirect(
4199 VkCommandBuffer commandBuffer,
4201 VkDeviceSize offset,
4205 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirect(
4206 VkCommandBuffer commandBuffer,
4208 VkDeviceSize offset,
4212 VKAPI_ATTR void VKAPI_CALL vkCmdDispatch(
4213 VkCommandBuffer commandBuffer,
4214 uint32_t groupCountX,
4215 uint32_t groupCountY,
4216 uint32_t groupCountZ);
4218 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchIndirect(
4219 VkCommandBuffer commandBuffer,
4221 VkDeviceSize offset);
4223 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer(
4224 VkCommandBuffer commandBuffer,
4227 uint32_t regionCount,
4228 const VkBufferCopy* pRegions);
4230 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage(
4231 VkCommandBuffer commandBuffer,
4233 VkImageLayout srcImageLayout,
4235 VkImageLayout dstImageLayout,
4236 uint32_t regionCount,
4237 const VkImageCopy* pRegions);
4239 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage(
4240 VkCommandBuffer commandBuffer,
4242 VkImageLayout srcImageLayout,
4244 VkImageLayout dstImageLayout,
4245 uint32_t regionCount,
4246 const VkImageBlit* pRegions,
4249 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage(
4250 VkCommandBuffer commandBuffer,
4253 VkImageLayout dstImageLayout,
4254 uint32_t regionCount,
4255 const VkBufferImageCopy* pRegions);
4257 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer(
4258 VkCommandBuffer commandBuffer,
4260 VkImageLayout srcImageLayout,
4262 uint32_t regionCount,
4263 const VkBufferImageCopy* pRegions);
4265 VKAPI_ATTR void VKAPI_CALL vkCmdUpdateBuffer(
4266 VkCommandBuffer commandBuffer,
4268 VkDeviceSize dstOffset,
4269 VkDeviceSize dataSize,
4272 VKAPI_ATTR void VKAPI_CALL vkCmdFillBuffer(
4273 VkCommandBuffer commandBuffer,
4275 VkDeviceSize dstOffset,
4279 VKAPI_ATTR void VKAPI_CALL vkCmdClearColorImage(
4280 VkCommandBuffer commandBuffer,
4282 VkImageLayout imageLayout,
4283 const VkClearColorValue* pColor,
4284 uint32_t rangeCount,
4285 const VkImageSubresourceRange* pRanges);
4287 VKAPI_ATTR void VKAPI_CALL vkCmdClearDepthStencilImage(
4288 VkCommandBuffer commandBuffer,
4290 VkImageLayout imageLayout,
4291 const VkClearDepthStencilValue* pDepthStencil,
4292 uint32_t rangeCount,
4293 const VkImageSubresourceRange* pRanges);
4295 VKAPI_ATTR void VKAPI_CALL vkCmdClearAttachments(
4296 VkCommandBuffer commandBuffer,
4297 uint32_t attachmentCount,
4298 const VkClearAttachment* pAttachments,
4300 const VkClearRect* pRects);
4302 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage(
4303 VkCommandBuffer commandBuffer,
4305 VkImageLayout srcImageLayout,
4307 VkImageLayout dstImageLayout,
4308 uint32_t regionCount,
4309 const VkImageResolve* pRegions);
4311 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent(
4312 VkCommandBuffer commandBuffer,
4314 VkPipelineStageFlags stageMask);
4316 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent(
4317 VkCommandBuffer commandBuffer,
4319 VkPipelineStageFlags stageMask);
4321 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents(
4322 VkCommandBuffer commandBuffer,
4323 uint32_t eventCount,
4324 const VkEvent* pEvents,
4325 VkPipelineStageFlags srcStageMask,
4326 VkPipelineStageFlags dstStageMask,
4327 uint32_t memoryBarrierCount,
4328 const VkMemoryBarrier* pMemoryBarriers,
4329 uint32_t bufferMemoryBarrierCount,
4330 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
4331 uint32_t imageMemoryBarrierCount,
4332 const VkImageMemoryBarrier* pImageMemoryBarriers);
4334 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier(
4335 VkCommandBuffer commandBuffer,
4336 VkPipelineStageFlags srcStageMask,
4337 VkPipelineStageFlags dstStageMask,
4338 VkDependencyFlags dependencyFlags,
4339 uint32_t memoryBarrierCount,
4340 const VkMemoryBarrier* pMemoryBarriers,
4341 uint32_t bufferMemoryBarrierCount,
4342 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
4343 uint32_t imageMemoryBarrierCount,
4344 const VkImageMemoryBarrier* pImageMemoryBarriers);
4346 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQuery(
4347 VkCommandBuffer commandBuffer,
4348 VkQueryPool queryPool,
4350 VkQueryControlFlags flags);
4352 VKAPI_ATTR void VKAPI_CALL vkCmdEndQuery(
4353 VkCommandBuffer commandBuffer,
4354 VkQueryPool queryPool,
4357 VKAPI_ATTR void VKAPI_CALL vkCmdResetQueryPool(
4358 VkCommandBuffer commandBuffer,
4359 VkQueryPool queryPool,
4360 uint32_t firstQuery,
4361 uint32_t queryCount);
4363 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp(
4364 VkCommandBuffer commandBuffer,
4365 VkPipelineStageFlagBits pipelineStage,
4366 VkQueryPool queryPool,
4369 VKAPI_ATTR void VKAPI_CALL vkCmdCopyQueryPoolResults(
4370 VkCommandBuffer commandBuffer,
4371 VkQueryPool queryPool,
4372 uint32_t firstQuery,
4373 uint32_t queryCount,
4375 VkDeviceSize dstOffset,
4376 VkDeviceSize stride,
4377 VkQueryResultFlags flags);
4379 VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants(
4380 VkCommandBuffer commandBuffer,
4381 VkPipelineLayout layout,
4382 VkShaderStageFlags stageFlags,
4385 const void* pValues);
4387 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass(
4388 VkCommandBuffer commandBuffer,
4389 const VkRenderPassBeginInfo* pRenderPassBegin,
4390 VkSubpassContents contents);
4392 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass(
4393 VkCommandBuffer commandBuffer,
4394 VkSubpassContents contents);
4396 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass(
4397 VkCommandBuffer commandBuffer);
4399 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteCommands(
4400 VkCommandBuffer commandBuffer,
4401 uint32_t commandBufferCount,
4402 const VkCommandBuffer* pCommandBuffers);
4406 #define VK_VERSION_1_1 1
4407 // Vulkan 1.1 version number
4408 #define VK_API_VERSION_1_1 VK_MAKE_API_VERSION(0, 1, 1, 0)// Patch version should always be set to 0
4410 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion)
4411 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate)
4412 #define VK_MAX_DEVICE_GROUP_SIZE 32U
4413 #define VK_LUID_SIZE 8U
4414 #define VK_QUEUE_FAMILY_EXTERNAL (~1U)
4416 typedef enum VkPointClippingBehavior {
4417 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES = 0,
4418 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY = 1,
4419 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES,
4420 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY,
4421 VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF
4422 } VkPointClippingBehavior;
4424 typedef enum VkTessellationDomainOrigin {
4425 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT = 0,
4426 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT = 1,
4427 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT,
4428 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT,
4429 VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM = 0x7FFFFFFF
4430 } VkTessellationDomainOrigin;
4432 typedef enum VkSamplerYcbcrModelConversion {
4433 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY = 0,
4434 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY = 1,
4435 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 = 2,
4436 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 = 3,
4437 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 = 4,
4438 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY,
4439 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY,
4440 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709,
4441 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601,
4442 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020,
4443 VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM = 0x7FFFFFFF
4444 } VkSamplerYcbcrModelConversion;
4446 typedef enum VkSamplerYcbcrRange {
4447 VK_SAMPLER_YCBCR_RANGE_ITU_FULL = 0,
4448 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW = 1,
4449 VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_FULL,
4450 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW,
4451 VK_SAMPLER_YCBCR_RANGE_MAX_ENUM = 0x7FFFFFFF
4452 } VkSamplerYcbcrRange;
4454 typedef enum VkChromaLocation {
4455 VK_CHROMA_LOCATION_COSITED_EVEN = 0,
4456 VK_CHROMA_LOCATION_MIDPOINT = 1,
4457 VK_CHROMA_LOCATION_COSITED_EVEN_KHR = VK_CHROMA_LOCATION_COSITED_EVEN,
4458 VK_CHROMA_LOCATION_MIDPOINT_KHR = VK_CHROMA_LOCATION_MIDPOINT,
4459 VK_CHROMA_LOCATION_MAX_ENUM = 0x7FFFFFFF
4462 typedef enum VkDescriptorUpdateTemplateType {
4463 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET = 0,
4464 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR = 1,
4465 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,
4466 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM = 0x7FFFFFFF
4467 } VkDescriptorUpdateTemplateType;
4469 typedef enum VkSubgroupFeatureFlagBits {
4470 VK_SUBGROUP_FEATURE_BASIC_BIT = 0x00000001,
4471 VK_SUBGROUP_FEATURE_VOTE_BIT = 0x00000002,
4472 VK_SUBGROUP_FEATURE_ARITHMETIC_BIT = 0x00000004,
4473 VK_SUBGROUP_FEATURE_BALLOT_BIT = 0x00000008,
4474 VK_SUBGROUP_FEATURE_SHUFFLE_BIT = 0x00000010,
4475 VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = 0x00000020,
4476 VK_SUBGROUP_FEATURE_CLUSTERED_BIT = 0x00000040,
4477 VK_SUBGROUP_FEATURE_QUAD_BIT = 0x00000080,
4478 VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x00000100,
4479 VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4480 } VkSubgroupFeatureFlagBits;
4481 typedef VkFlags VkSubgroupFeatureFlags;
4483 typedef enum VkPeerMemoryFeatureFlagBits {
4484 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT = 0x00000001,
4485 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT = 0x00000002,
4486 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT = 0x00000004,
4487 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT = 0x00000008,
4488 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT,
4489 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_DST_BIT,
4490 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT,
4491 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT,
4492 VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4493 } VkPeerMemoryFeatureFlagBits;
4494 typedef VkFlags VkPeerMemoryFeatureFlags;
4496 typedef enum VkMemoryAllocateFlagBits {
4497 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT = 0x00000001,
4498 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT = 0x00000002,
4499 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000004,
4500 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT,
4501 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT,
4502 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
4503 VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4504 } VkMemoryAllocateFlagBits;
4505 typedef VkFlags VkMemoryAllocateFlags;
4506 typedef VkFlags VkCommandPoolTrimFlags;
4507 typedef VkFlags VkDescriptorUpdateTemplateCreateFlags;
4509 typedef enum VkExternalMemoryHandleTypeFlagBits {
4510 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
4511 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
4512 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
4513 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT = 0x00000008,
4514 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT = 0x00000010,
4515 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT = 0x00000020,
4516 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT = 0x00000040,
4517 VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT = 0x00000200,
4518 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID = 0x00000400,
4519 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 0x00000080,
4520 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 0x00000100,
4521 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA = 0x00000800,
4522 VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV = 0x00001000,
4523 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT,
4524 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT,
4525 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
4526 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT,
4527 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT,
4528 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT,
4529 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT,
4530 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4531 } VkExternalMemoryHandleTypeFlagBits;
4532 typedef VkFlags VkExternalMemoryHandleTypeFlags;
4534 typedef enum VkExternalMemoryFeatureFlagBits {
4535 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT = 0x00000001,
4536 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT = 0x00000002,
4537 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT = 0x00000004,
4538 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT,
4539 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT,
4540 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT,
4541 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4542 } VkExternalMemoryFeatureFlagBits;
4543 typedef VkFlags VkExternalMemoryFeatureFlags;
4545 typedef enum VkExternalFenceHandleTypeFlagBits {
4546 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
4547 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
4548 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
4549 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000008,
4550 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT,
4551 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
4552 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
4553 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT,
4554 VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4555 } VkExternalFenceHandleTypeFlagBits;
4556 typedef VkFlags VkExternalFenceHandleTypeFlags;
4558 typedef enum VkExternalFenceFeatureFlagBits {
4559 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT = 0x00000001,
4560 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT = 0x00000002,
4561 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT,
4562 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT,
4563 VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4564 } VkExternalFenceFeatureFlagBits;
4565 typedef VkFlags VkExternalFenceFeatureFlags;
4567 typedef enum VkFenceImportFlagBits {
4568 VK_FENCE_IMPORT_TEMPORARY_BIT = 0x00000001,
4569 VK_FENCE_IMPORT_TEMPORARY_BIT_KHR = VK_FENCE_IMPORT_TEMPORARY_BIT,
4570 VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4571 } VkFenceImportFlagBits;
4572 typedef VkFlags VkFenceImportFlags;
4574 typedef enum VkSemaphoreImportFlagBits {
4575 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT = 0x00000001,
4576 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT,
4577 VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4578 } VkSemaphoreImportFlagBits;
4579 typedef VkFlags VkSemaphoreImportFlags;
4581 typedef enum VkExternalSemaphoreHandleTypeFlagBits {
4582 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
4583 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
4584 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
4585 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT = 0x00000008,
4586 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000010,
4587 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA = 0x00000080,
4588 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
4589 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT,
4590 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
4591 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
4592 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
4593 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT,
4594 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4595 } VkExternalSemaphoreHandleTypeFlagBits;
4596 typedef VkFlags VkExternalSemaphoreHandleTypeFlags;
4598 typedef enum VkExternalSemaphoreFeatureFlagBits {
4599 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT = 0x00000001,
4600 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT = 0x00000002,
4601 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT,
4602 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT,
4603 VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4604 } VkExternalSemaphoreFeatureFlagBits;
4605 typedef VkFlags VkExternalSemaphoreFeatureFlags;
4606 typedef struct VkPhysicalDeviceSubgroupProperties {
4607 VkStructureType sType;
4609 uint32_t subgroupSize;
4610 VkShaderStageFlags supportedStages;
4611 VkSubgroupFeatureFlags supportedOperations;
4612 VkBool32 quadOperationsInAllStages;
4613 } VkPhysicalDeviceSubgroupProperties;
4615 typedef struct VkBindBufferMemoryInfo {
4616 VkStructureType sType;
4619 VkDeviceMemory memory;
4620 VkDeviceSize memoryOffset;
4621 } VkBindBufferMemoryInfo;
4623 typedef struct VkBindImageMemoryInfo {
4624 VkStructureType sType;
4627 VkDeviceMemory memory;
4628 VkDeviceSize memoryOffset;
4629 } VkBindImageMemoryInfo;
4631 typedef struct VkPhysicalDevice16BitStorageFeatures {
4632 VkStructureType sType;
4634 VkBool32 storageBuffer16BitAccess;
4635 VkBool32 uniformAndStorageBuffer16BitAccess;
4636 VkBool32 storagePushConstant16;
4637 VkBool32 storageInputOutput16;
4638 } VkPhysicalDevice16BitStorageFeatures;
4640 typedef struct VkMemoryDedicatedRequirements {
4641 VkStructureType sType;
4643 VkBool32 prefersDedicatedAllocation;
4644 VkBool32 requiresDedicatedAllocation;
4645 } VkMemoryDedicatedRequirements;
4647 typedef struct VkMemoryDedicatedAllocateInfo {
4648 VkStructureType sType;
4652 } VkMemoryDedicatedAllocateInfo;
4654 typedef struct VkMemoryAllocateFlagsInfo {
4655 VkStructureType sType;
4657 VkMemoryAllocateFlags flags;
4658 uint32_t deviceMask;
4659 } VkMemoryAllocateFlagsInfo;
4661 typedef struct VkDeviceGroupRenderPassBeginInfo {
4662 VkStructureType sType;
4664 uint32_t deviceMask;
4665 uint32_t deviceRenderAreaCount;
4666 const VkRect2D* pDeviceRenderAreas;
4667 } VkDeviceGroupRenderPassBeginInfo;
4669 typedef struct VkDeviceGroupCommandBufferBeginInfo {
4670 VkStructureType sType;
4672 uint32_t deviceMask;
4673 } VkDeviceGroupCommandBufferBeginInfo;
4675 typedef struct VkDeviceGroupSubmitInfo {
4676 VkStructureType sType;
4678 uint32_t waitSemaphoreCount;
4679 const uint32_t* pWaitSemaphoreDeviceIndices;
4680 uint32_t commandBufferCount;
4681 const uint32_t* pCommandBufferDeviceMasks;
4682 uint32_t signalSemaphoreCount;
4683 const uint32_t* pSignalSemaphoreDeviceIndices;
4684 } VkDeviceGroupSubmitInfo;
4686 typedef struct VkDeviceGroupBindSparseInfo {
4687 VkStructureType sType;
4689 uint32_t resourceDeviceIndex;
4690 uint32_t memoryDeviceIndex;
4691 } VkDeviceGroupBindSparseInfo;
4693 typedef struct VkBindBufferMemoryDeviceGroupInfo {
4694 VkStructureType sType;
4696 uint32_t deviceIndexCount;
4697 const uint32_t* pDeviceIndices;
4698 } VkBindBufferMemoryDeviceGroupInfo;
4700 typedef struct VkBindImageMemoryDeviceGroupInfo {
4701 VkStructureType sType;
4703 uint32_t deviceIndexCount;
4704 const uint32_t* pDeviceIndices;
4705 uint32_t splitInstanceBindRegionCount;
4706 const VkRect2D* pSplitInstanceBindRegions;
4707 } VkBindImageMemoryDeviceGroupInfo;
4709 typedef struct VkPhysicalDeviceGroupProperties {
4710 VkStructureType sType;
4712 uint32_t physicalDeviceCount;
4713 VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE];
4714 VkBool32 subsetAllocation;
4715 } VkPhysicalDeviceGroupProperties;
4717 typedef struct VkDeviceGroupDeviceCreateInfo {
4718 VkStructureType sType;
4720 uint32_t physicalDeviceCount;
4721 const VkPhysicalDevice* pPhysicalDevices;
4722 } VkDeviceGroupDeviceCreateInfo;
4724 typedef struct VkBufferMemoryRequirementsInfo2 {
4725 VkStructureType sType;
4728 } VkBufferMemoryRequirementsInfo2;
4730 typedef struct VkImageMemoryRequirementsInfo2 {
4731 VkStructureType sType;
4734 } VkImageMemoryRequirementsInfo2;
4736 typedef struct VkImageSparseMemoryRequirementsInfo2 {
4737 VkStructureType sType;
4740 } VkImageSparseMemoryRequirementsInfo2;
4742 typedef struct VkMemoryRequirements2 {
4743 VkStructureType sType;
4745 VkMemoryRequirements memoryRequirements;
4746 } VkMemoryRequirements2;
4748 typedef struct VkSparseImageMemoryRequirements2 {
4749 VkStructureType sType;
4751 VkSparseImageMemoryRequirements memoryRequirements;
4752 } VkSparseImageMemoryRequirements2;
4754 typedef struct VkPhysicalDeviceFeatures2 {
4755 VkStructureType sType;
4757 VkPhysicalDeviceFeatures features;
4758 } VkPhysicalDeviceFeatures2;
4760 typedef struct VkPhysicalDeviceProperties2 {
4761 VkStructureType sType;
4763 VkPhysicalDeviceProperties properties;
4764 } VkPhysicalDeviceProperties2;
4766 typedef struct VkFormatProperties2 {
4767 VkStructureType sType;
4769 VkFormatProperties formatProperties;
4770 } VkFormatProperties2;
4772 typedef struct VkImageFormatProperties2 {
4773 VkStructureType sType;
4775 VkImageFormatProperties imageFormatProperties;
4776 } VkImageFormatProperties2;
4778 typedef struct VkPhysicalDeviceImageFormatInfo2 {
4779 VkStructureType sType;
4783 VkImageTiling tiling;
4784 VkImageUsageFlags usage;
4785 VkImageCreateFlags flags;
4786 } VkPhysicalDeviceImageFormatInfo2;
4788 typedef struct VkQueueFamilyProperties2 {
4789 VkStructureType sType;
4791 VkQueueFamilyProperties queueFamilyProperties;
4792 } VkQueueFamilyProperties2;
4794 typedef struct VkPhysicalDeviceMemoryProperties2 {
4795 VkStructureType sType;
4797 VkPhysicalDeviceMemoryProperties memoryProperties;
4798 } VkPhysicalDeviceMemoryProperties2;
4800 typedef struct VkSparseImageFormatProperties2 {
4801 VkStructureType sType;
4803 VkSparseImageFormatProperties properties;
4804 } VkSparseImageFormatProperties2;
4806 typedef struct VkPhysicalDeviceSparseImageFormatInfo2 {
4807 VkStructureType sType;
4811 VkSampleCountFlagBits samples;
4812 VkImageUsageFlags usage;
4813 VkImageTiling tiling;
4814 } VkPhysicalDeviceSparseImageFormatInfo2;
4816 typedef struct VkPhysicalDevicePointClippingProperties {
4817 VkStructureType sType;
4819 VkPointClippingBehavior pointClippingBehavior;
4820 } VkPhysicalDevicePointClippingProperties;
4822 typedef struct VkInputAttachmentAspectReference {
4824 uint32_t inputAttachmentIndex;
4825 VkImageAspectFlags aspectMask;
4826 } VkInputAttachmentAspectReference;
4828 typedef struct VkRenderPassInputAttachmentAspectCreateInfo {
4829 VkStructureType sType;
4831 uint32_t aspectReferenceCount;
4832 const VkInputAttachmentAspectReference* pAspectReferences;
4833 } VkRenderPassInputAttachmentAspectCreateInfo;
4835 typedef struct VkImageViewUsageCreateInfo {
4836 VkStructureType sType;
4838 VkImageUsageFlags usage;
4839 } VkImageViewUsageCreateInfo;
4841 typedef struct VkPipelineTessellationDomainOriginStateCreateInfo {
4842 VkStructureType sType;
4844 VkTessellationDomainOrigin domainOrigin;
4845 } VkPipelineTessellationDomainOriginStateCreateInfo;
4847 typedef struct VkRenderPassMultiviewCreateInfo {
4848 VkStructureType sType;
4850 uint32_t subpassCount;
4851 const uint32_t* pViewMasks;
4852 uint32_t dependencyCount;
4853 const int32_t* pViewOffsets;
4854 uint32_t correlationMaskCount;
4855 const uint32_t* pCorrelationMasks;
4856 } VkRenderPassMultiviewCreateInfo;
4858 typedef struct VkPhysicalDeviceMultiviewFeatures {
4859 VkStructureType sType;
4862 VkBool32 multiviewGeometryShader;
4863 VkBool32 multiviewTessellationShader;
4864 } VkPhysicalDeviceMultiviewFeatures;
4866 typedef struct VkPhysicalDeviceMultiviewProperties {
4867 VkStructureType sType;
4869 uint32_t maxMultiviewViewCount;
4870 uint32_t maxMultiviewInstanceIndex;
4871 } VkPhysicalDeviceMultiviewProperties;
4873 typedef struct VkPhysicalDeviceVariablePointersFeatures {
4874 VkStructureType sType;
4876 VkBool32 variablePointersStorageBuffer;
4877 VkBool32 variablePointers;
4878 } VkPhysicalDeviceVariablePointersFeatures;
4880 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeatures;
4882 typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
4883 VkStructureType sType;
4885 VkBool32 protectedMemory;
4886 } VkPhysicalDeviceProtectedMemoryFeatures;
4888 typedef struct VkPhysicalDeviceProtectedMemoryProperties {
4889 VkStructureType sType;
4891 VkBool32 protectedNoFault;
4892 } VkPhysicalDeviceProtectedMemoryProperties;
4894 typedef struct VkDeviceQueueInfo2 {
4895 VkStructureType sType;
4897 VkDeviceQueueCreateFlags flags;
4898 uint32_t queueFamilyIndex;
4899 uint32_t queueIndex;
4900 } VkDeviceQueueInfo2;
4902 typedef struct VkProtectedSubmitInfo {
4903 VkStructureType sType;
4905 VkBool32 protectedSubmit;
4906 } VkProtectedSubmitInfo;
4908 typedef struct VkSamplerYcbcrConversionCreateInfo {
4909 VkStructureType sType;
4912 VkSamplerYcbcrModelConversion ycbcrModel;
4913 VkSamplerYcbcrRange ycbcrRange;
4914 VkComponentMapping components;
4915 VkChromaLocation xChromaOffset;
4916 VkChromaLocation yChromaOffset;
4917 VkFilter chromaFilter;
4918 VkBool32 forceExplicitReconstruction;
4919 } VkSamplerYcbcrConversionCreateInfo;
4921 typedef struct VkSamplerYcbcrConversionInfo {
4922 VkStructureType sType;
4924 VkSamplerYcbcrConversion conversion;
4925 } VkSamplerYcbcrConversionInfo;
4927 typedef struct VkBindImagePlaneMemoryInfo {
4928 VkStructureType sType;
4930 VkImageAspectFlagBits planeAspect;
4931 } VkBindImagePlaneMemoryInfo;
4933 typedef struct VkImagePlaneMemoryRequirementsInfo {
4934 VkStructureType sType;
4936 VkImageAspectFlagBits planeAspect;
4937 } VkImagePlaneMemoryRequirementsInfo;
4939 typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
4940 VkStructureType sType;
4942 VkBool32 samplerYcbcrConversion;
4943 } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
4945 typedef struct VkSamplerYcbcrConversionImageFormatProperties {
4946 VkStructureType sType;
4948 uint32_t combinedImageSamplerDescriptorCount;
4949 } VkSamplerYcbcrConversionImageFormatProperties;
4951 typedef struct VkDescriptorUpdateTemplateEntry {
4952 uint32_t dstBinding;
4953 uint32_t dstArrayElement;
4954 uint32_t descriptorCount;
4955 VkDescriptorType descriptorType;
4958 } VkDescriptorUpdateTemplateEntry;
4960 typedef struct VkDescriptorUpdateTemplateCreateInfo {
4961 VkStructureType sType;
4963 VkDescriptorUpdateTemplateCreateFlags flags;
4964 uint32_t descriptorUpdateEntryCount;
4965 const VkDescriptorUpdateTemplateEntry* pDescriptorUpdateEntries;
4966 VkDescriptorUpdateTemplateType templateType;
4967 VkDescriptorSetLayout descriptorSetLayout;
4968 VkPipelineBindPoint pipelineBindPoint;
4969 VkPipelineLayout pipelineLayout;
4971 } VkDescriptorUpdateTemplateCreateInfo;
4973 typedef struct VkExternalMemoryProperties {
4974 VkExternalMemoryFeatureFlags externalMemoryFeatures;
4975 VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes;
4976 VkExternalMemoryHandleTypeFlags compatibleHandleTypes;
4977 } VkExternalMemoryProperties;
4979 typedef struct VkPhysicalDeviceExternalImageFormatInfo {
4980 VkStructureType sType;
4982 VkExternalMemoryHandleTypeFlagBits handleType;
4983 } VkPhysicalDeviceExternalImageFormatInfo;
4985 typedef struct VkExternalImageFormatProperties {
4986 VkStructureType sType;
4988 VkExternalMemoryProperties externalMemoryProperties;
4989 } VkExternalImageFormatProperties;
4991 typedef struct VkPhysicalDeviceExternalBufferInfo {
4992 VkStructureType sType;
4994 VkBufferCreateFlags flags;
4995 VkBufferUsageFlags usage;
4996 VkExternalMemoryHandleTypeFlagBits handleType;
4997 } VkPhysicalDeviceExternalBufferInfo;
4999 typedef struct VkExternalBufferProperties {
5000 VkStructureType sType;
5002 VkExternalMemoryProperties externalMemoryProperties;
5003 } VkExternalBufferProperties;
5005 typedef struct VkPhysicalDeviceIDProperties {
5006 VkStructureType sType;
5008 uint8_t deviceUUID[VK_UUID_SIZE];
5009 uint8_t driverUUID[VK_UUID_SIZE];
5010 uint8_t deviceLUID[VK_LUID_SIZE];
5011 uint32_t deviceNodeMask;
5012 VkBool32 deviceLUIDValid;
5013 } VkPhysicalDeviceIDProperties;
5015 typedef struct VkExternalMemoryImageCreateInfo {
5016 VkStructureType sType;
5018 VkExternalMemoryHandleTypeFlags handleTypes;
5019 } VkExternalMemoryImageCreateInfo;
5021 typedef struct VkExternalMemoryBufferCreateInfo {
5022 VkStructureType sType;
5024 VkExternalMemoryHandleTypeFlags handleTypes;
5025 } VkExternalMemoryBufferCreateInfo;
5027 typedef struct VkExportMemoryAllocateInfo {
5028 VkStructureType sType;
5030 VkExternalMemoryHandleTypeFlags handleTypes;
5031 } VkExportMemoryAllocateInfo;
5033 typedef struct VkPhysicalDeviceExternalFenceInfo {
5034 VkStructureType sType;
5036 VkExternalFenceHandleTypeFlagBits handleType;
5037 } VkPhysicalDeviceExternalFenceInfo;
5039 typedef struct VkExternalFenceProperties {
5040 VkStructureType sType;
5042 VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes;
5043 VkExternalFenceHandleTypeFlags compatibleHandleTypes;
5044 VkExternalFenceFeatureFlags externalFenceFeatures;
5045 } VkExternalFenceProperties;
5047 typedef struct VkExportFenceCreateInfo {
5048 VkStructureType sType;
5050 VkExternalFenceHandleTypeFlags handleTypes;
5051 } VkExportFenceCreateInfo;
5053 typedef struct VkExportSemaphoreCreateInfo {
5054 VkStructureType sType;
5056 VkExternalSemaphoreHandleTypeFlags handleTypes;
5057 } VkExportSemaphoreCreateInfo;
5059 typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
5060 VkStructureType sType;
5062 VkExternalSemaphoreHandleTypeFlagBits handleType;
5063 } VkPhysicalDeviceExternalSemaphoreInfo;
5065 typedef struct VkExternalSemaphoreProperties {
5066 VkStructureType sType;
5068 VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes;
5069 VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes;
5070 VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures;
5071 } VkExternalSemaphoreProperties;
5073 typedef struct VkPhysicalDeviceMaintenance3Properties {
5074 VkStructureType sType;
5076 uint32_t maxPerSetDescriptors;
5077 VkDeviceSize maxMemoryAllocationSize;
5078 } VkPhysicalDeviceMaintenance3Properties;
5080 typedef struct VkDescriptorSetLayoutSupport {
5081 VkStructureType sType;
5084 } VkDescriptorSetLayoutSupport;
5086 typedef struct VkPhysicalDeviceShaderDrawParametersFeatures {
5087 VkStructureType sType;
5089 VkBool32 shaderDrawParameters;
5090 } VkPhysicalDeviceShaderDrawParametersFeatures;
5092 typedef VkPhysicalDeviceShaderDrawParametersFeatures VkPhysicalDeviceShaderDrawParameterFeatures;
5094 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceVersion)(uint32_t* pApiVersion);
5095 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
5096 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
5097 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeatures)(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
5098 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMask)(VkCommandBuffer commandBuffer, uint32_t deviceMask);
5099 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);
5100 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroups)(VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
5101 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
5102 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
5103 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
5104 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
5105 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
5106 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
5107 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
5108 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
5109 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
5110 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
5111 typedef void (VKAPI_PTR *PFN_vkTrimCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
5112 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue2)(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue);
5113 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversion)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
5114 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversion)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
5115 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplate)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
5116 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplate)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
5117 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplate)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
5118 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
5119 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFenceProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
5120 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphoreProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
5121 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupport)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
5123 #ifndef VK_NO_PROTOTYPES
5124 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceVersion(
5125 uint32_t* pApiVersion);
5127 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2(
5129 uint32_t bindInfoCount,
5130 const VkBindBufferMemoryInfo* pBindInfos);
5132 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2(
5134 uint32_t bindInfoCount,
5135 const VkBindImageMemoryInfo* pBindInfos);
5137 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeatures(
5140 uint32_t localDeviceIndex,
5141 uint32_t remoteDeviceIndex,
5142 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
5144 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMask(
5145 VkCommandBuffer commandBuffer,
5146 uint32_t deviceMask);
5148 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBase(
5149 VkCommandBuffer commandBuffer,
5150 uint32_t baseGroupX,
5151 uint32_t baseGroupY,
5152 uint32_t baseGroupZ,
5153 uint32_t groupCountX,
5154 uint32_t groupCountY,
5155 uint32_t groupCountZ);
5157 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroups(
5158 VkInstance instance,
5159 uint32_t* pPhysicalDeviceGroupCount,
5160 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
5162 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2(
5164 const VkImageMemoryRequirementsInfo2* pInfo,
5165 VkMemoryRequirements2* pMemoryRequirements);
5167 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2(
5169 const VkBufferMemoryRequirementsInfo2* pInfo,
5170 VkMemoryRequirements2* pMemoryRequirements);
5172 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2(
5174 const VkImageSparseMemoryRequirementsInfo2* pInfo,
5175 uint32_t* pSparseMemoryRequirementCount,
5176 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
5178 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2(
5179 VkPhysicalDevice physicalDevice,
5180 VkPhysicalDeviceFeatures2* pFeatures);
5182 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2(
5183 VkPhysicalDevice physicalDevice,
5184 VkPhysicalDeviceProperties2* pProperties);
5186 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2(
5187 VkPhysicalDevice physicalDevice,
5189 VkFormatProperties2* pFormatProperties);
5191 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2(
5192 VkPhysicalDevice physicalDevice,
5193 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
5194 VkImageFormatProperties2* pImageFormatProperties);
5196 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2(
5197 VkPhysicalDevice physicalDevice,
5198 uint32_t* pQueueFamilyPropertyCount,
5199 VkQueueFamilyProperties2* pQueueFamilyProperties);
5201 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2(
5202 VkPhysicalDevice physicalDevice,
5203 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
5205 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2(
5206 VkPhysicalDevice physicalDevice,
5207 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
5208 uint32_t* pPropertyCount,
5209 VkSparseImageFormatProperties2* pProperties);
5211 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPool(
5213 VkCommandPool commandPool,
5214 VkCommandPoolTrimFlags flags);
5216 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue2(
5218 const VkDeviceQueueInfo2* pQueueInfo,
5221 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversion(
5223 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
5224 const VkAllocationCallbacks* pAllocator,
5225 VkSamplerYcbcrConversion* pYcbcrConversion);
5227 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversion(
5229 VkSamplerYcbcrConversion ycbcrConversion,
5230 const VkAllocationCallbacks* pAllocator);
5232 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplate(
5234 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
5235 const VkAllocationCallbacks* pAllocator,
5236 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
5238 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplate(
5240 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
5241 const VkAllocationCallbacks* pAllocator);
5243 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplate(
5245 VkDescriptorSet descriptorSet,
5246 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
5249 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferProperties(
5250 VkPhysicalDevice physicalDevice,
5251 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
5252 VkExternalBufferProperties* pExternalBufferProperties);
5254 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFenceProperties(
5255 VkPhysicalDevice physicalDevice,
5256 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
5257 VkExternalFenceProperties* pExternalFenceProperties);
5259 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphoreProperties(
5260 VkPhysicalDevice physicalDevice,
5261 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
5262 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
5264 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupport(
5266 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
5267 VkDescriptorSetLayoutSupport* pSupport);
5271 #define VK_VERSION_1_2 1
5272 // Vulkan 1.2 version number
5273 #define VK_API_VERSION_1_2 VK_MAKE_API_VERSION(0, 1, 2, 0)// Patch version should always be set to 0
5275 #define VK_MAX_DRIVER_NAME_SIZE 256U
5276 #define VK_MAX_DRIVER_INFO_SIZE 256U
5278 typedef enum VkDriverId {
5279 VK_DRIVER_ID_AMD_PROPRIETARY = 1,
5280 VK_DRIVER_ID_AMD_OPEN_SOURCE = 2,
5281 VK_DRIVER_ID_MESA_RADV = 3,
5282 VK_DRIVER_ID_NVIDIA_PROPRIETARY = 4,
5283 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS = 5,
5284 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA = 6,
5285 VK_DRIVER_ID_IMAGINATION_PROPRIETARY = 7,
5286 VK_DRIVER_ID_QUALCOMM_PROPRIETARY = 8,
5287 VK_DRIVER_ID_ARM_PROPRIETARY = 9,
5288 VK_DRIVER_ID_GOOGLE_SWIFTSHADER = 10,
5289 VK_DRIVER_ID_GGP_PROPRIETARY = 11,
5290 VK_DRIVER_ID_BROADCOM_PROPRIETARY = 12,
5291 VK_DRIVER_ID_MESA_LLVMPIPE = 13,
5292 VK_DRIVER_ID_MOLTENVK = 14,
5293 VK_DRIVER_ID_COREAVI_PROPRIETARY = 15,
5294 VK_DRIVER_ID_JUICE_PROPRIETARY = 16,
5295 VK_DRIVER_ID_VERISILICON_PROPRIETARY = 17,
5296 VK_DRIVER_ID_MESA_TURNIP = 18,
5297 VK_DRIVER_ID_MESA_V3DV = 19,
5298 VK_DRIVER_ID_MESA_PANVK = 20,
5299 VK_DRIVER_ID_AMD_PROPRIETARY_KHR = VK_DRIVER_ID_AMD_PROPRIETARY,
5300 VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = VK_DRIVER_ID_AMD_OPEN_SOURCE,
5301 VK_DRIVER_ID_MESA_RADV_KHR = VK_DRIVER_ID_MESA_RADV,
5302 VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR = VK_DRIVER_ID_NVIDIA_PROPRIETARY,
5303 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR = VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS,
5304 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR = VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA,
5305 VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR = VK_DRIVER_ID_IMAGINATION_PROPRIETARY,
5306 VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR = VK_DRIVER_ID_QUALCOMM_PROPRIETARY,
5307 VK_DRIVER_ID_ARM_PROPRIETARY_KHR = VK_DRIVER_ID_ARM_PROPRIETARY,
5308 VK_DRIVER_ID_GOOGLE_SWIFTSHADER_KHR = VK_DRIVER_ID_GOOGLE_SWIFTSHADER,
5309 VK_DRIVER_ID_GGP_PROPRIETARY_KHR = VK_DRIVER_ID_GGP_PROPRIETARY,
5310 VK_DRIVER_ID_BROADCOM_PROPRIETARY_KHR = VK_DRIVER_ID_BROADCOM_PROPRIETARY,
5311 VK_DRIVER_ID_MAX_ENUM = 0x7FFFFFFF
5314 typedef enum VkShaderFloatControlsIndependence {
5315 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY = 0,
5316 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL = 1,
5317 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE = 2,
5318 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY,
5319 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL,
5320 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE,
5321 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_MAX_ENUM = 0x7FFFFFFF
5322 } VkShaderFloatControlsIndependence;
5324 typedef enum VkSamplerReductionMode {
5325 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE = 0,
5326 VK_SAMPLER_REDUCTION_MODE_MIN = 1,
5327 VK_SAMPLER_REDUCTION_MODE_MAX = 2,
5328 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE,
5329 VK_SAMPLER_REDUCTION_MODE_MIN_EXT = VK_SAMPLER_REDUCTION_MODE_MIN,
5330 VK_SAMPLER_REDUCTION_MODE_MAX_EXT = VK_SAMPLER_REDUCTION_MODE_MAX,
5331 VK_SAMPLER_REDUCTION_MODE_MAX_ENUM = 0x7FFFFFFF
5332 } VkSamplerReductionMode;
5334 typedef enum VkSemaphoreType {
5335 VK_SEMAPHORE_TYPE_BINARY = 0,
5336 VK_SEMAPHORE_TYPE_TIMELINE = 1,
5337 VK_SEMAPHORE_TYPE_BINARY_KHR = VK_SEMAPHORE_TYPE_BINARY,
5338 VK_SEMAPHORE_TYPE_TIMELINE_KHR = VK_SEMAPHORE_TYPE_TIMELINE,
5339 VK_SEMAPHORE_TYPE_MAX_ENUM = 0x7FFFFFFF
5342 typedef enum VkResolveModeFlagBits {
5343 VK_RESOLVE_MODE_NONE = 0,
5344 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT = 0x00000001,
5345 VK_RESOLVE_MODE_AVERAGE_BIT = 0x00000002,
5346 VK_RESOLVE_MODE_MIN_BIT = 0x00000004,
5347 VK_RESOLVE_MODE_MAX_BIT = 0x00000008,
5348 VK_RESOLVE_MODE_NONE_KHR = VK_RESOLVE_MODE_NONE,
5349 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR = VK_RESOLVE_MODE_SAMPLE_ZERO_BIT,
5350 VK_RESOLVE_MODE_AVERAGE_BIT_KHR = VK_RESOLVE_MODE_AVERAGE_BIT,
5351 VK_RESOLVE_MODE_MIN_BIT_KHR = VK_RESOLVE_MODE_MIN_BIT,
5352 VK_RESOLVE_MODE_MAX_BIT_KHR = VK_RESOLVE_MODE_MAX_BIT,
5353 VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5354 } VkResolveModeFlagBits;
5355 typedef VkFlags VkResolveModeFlags;
5357 typedef enum VkDescriptorBindingFlagBits {
5358 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT = 0x00000001,
5359 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT = 0x00000002,
5360 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT = 0x00000004,
5361 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT = 0x00000008,
5362 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT,
5363 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT,
5364 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT = VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT,
5365 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT = VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT,
5366 VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5367 } VkDescriptorBindingFlagBits;
5368 typedef VkFlags VkDescriptorBindingFlags;
5370 typedef enum VkSemaphoreWaitFlagBits {
5371 VK_SEMAPHORE_WAIT_ANY_BIT = 0x00000001,
5372 VK_SEMAPHORE_WAIT_ANY_BIT_KHR = VK_SEMAPHORE_WAIT_ANY_BIT,
5373 VK_SEMAPHORE_WAIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5374 } VkSemaphoreWaitFlagBits;
5375 typedef VkFlags VkSemaphoreWaitFlags;
5376 typedef struct VkPhysicalDeviceVulkan11Features {
5377 VkStructureType sType;
5379 VkBool32 storageBuffer16BitAccess;
5380 VkBool32 uniformAndStorageBuffer16BitAccess;
5381 VkBool32 storagePushConstant16;
5382 VkBool32 storageInputOutput16;
5384 VkBool32 multiviewGeometryShader;
5385 VkBool32 multiviewTessellationShader;
5386 VkBool32 variablePointersStorageBuffer;
5387 VkBool32 variablePointers;
5388 VkBool32 protectedMemory;
5389 VkBool32 samplerYcbcrConversion;
5390 VkBool32 shaderDrawParameters;
5391 } VkPhysicalDeviceVulkan11Features;
5393 typedef struct VkPhysicalDeviceVulkan11Properties {
5394 VkStructureType sType;
5396 uint8_t deviceUUID[VK_UUID_SIZE];
5397 uint8_t driverUUID[VK_UUID_SIZE];
5398 uint8_t deviceLUID[VK_LUID_SIZE];
5399 uint32_t deviceNodeMask;
5400 VkBool32 deviceLUIDValid;
5401 uint32_t subgroupSize;
5402 VkShaderStageFlags subgroupSupportedStages;
5403 VkSubgroupFeatureFlags subgroupSupportedOperations;
5404 VkBool32 subgroupQuadOperationsInAllStages;
5405 VkPointClippingBehavior pointClippingBehavior;
5406 uint32_t maxMultiviewViewCount;
5407 uint32_t maxMultiviewInstanceIndex;
5408 VkBool32 protectedNoFault;
5409 uint32_t maxPerSetDescriptors;
5410 VkDeviceSize maxMemoryAllocationSize;
5411 } VkPhysicalDeviceVulkan11Properties;
5413 typedef struct VkPhysicalDeviceVulkan12Features {
5414 VkStructureType sType;
5416 VkBool32 samplerMirrorClampToEdge;
5417 VkBool32 drawIndirectCount;
5418 VkBool32 storageBuffer8BitAccess;
5419 VkBool32 uniformAndStorageBuffer8BitAccess;
5420 VkBool32 storagePushConstant8;
5421 VkBool32 shaderBufferInt64Atomics;
5422 VkBool32 shaderSharedInt64Atomics;
5423 VkBool32 shaderFloat16;
5424 VkBool32 shaderInt8;
5425 VkBool32 descriptorIndexing;
5426 VkBool32 shaderInputAttachmentArrayDynamicIndexing;
5427 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
5428 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
5429 VkBool32 shaderUniformBufferArrayNonUniformIndexing;
5430 VkBool32 shaderSampledImageArrayNonUniformIndexing;
5431 VkBool32 shaderStorageBufferArrayNonUniformIndexing;
5432 VkBool32 shaderStorageImageArrayNonUniformIndexing;
5433 VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
5434 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
5435 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
5436 VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
5437 VkBool32 descriptorBindingSampledImageUpdateAfterBind;
5438 VkBool32 descriptorBindingStorageImageUpdateAfterBind;
5439 VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
5440 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
5441 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
5442 VkBool32 descriptorBindingUpdateUnusedWhilePending;
5443 VkBool32 descriptorBindingPartiallyBound;
5444 VkBool32 descriptorBindingVariableDescriptorCount;
5445 VkBool32 runtimeDescriptorArray;
5446 VkBool32 samplerFilterMinmax;
5447 VkBool32 scalarBlockLayout;
5448 VkBool32 imagelessFramebuffer;
5449 VkBool32 uniformBufferStandardLayout;
5450 VkBool32 shaderSubgroupExtendedTypes;
5451 VkBool32 separateDepthStencilLayouts;
5452 VkBool32 hostQueryReset;
5453 VkBool32 timelineSemaphore;
5454 VkBool32 bufferDeviceAddress;
5455 VkBool32 bufferDeviceAddressCaptureReplay;
5456 VkBool32 bufferDeviceAddressMultiDevice;
5457 VkBool32 vulkanMemoryModel;
5458 VkBool32 vulkanMemoryModelDeviceScope;
5459 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
5460 VkBool32 shaderOutputViewportIndex;
5461 VkBool32 shaderOutputLayer;
5462 VkBool32 subgroupBroadcastDynamicId;
5463 } VkPhysicalDeviceVulkan12Features;
5465 typedef struct VkConformanceVersion {
5470 } VkConformanceVersion;
5472 typedef struct VkPhysicalDeviceVulkan12Properties {
5473 VkStructureType sType;
5475 VkDriverId driverID;
5476 char driverName[VK_MAX_DRIVER_NAME_SIZE];
5477 char driverInfo[VK_MAX_DRIVER_INFO_SIZE];
5478 VkConformanceVersion conformanceVersion;
5479 VkShaderFloatControlsIndependence denormBehaviorIndependence;
5480 VkShaderFloatControlsIndependence roundingModeIndependence;
5481 VkBool32 shaderSignedZeroInfNanPreserveFloat16;
5482 VkBool32 shaderSignedZeroInfNanPreserveFloat32;
5483 VkBool32 shaderSignedZeroInfNanPreserveFloat64;
5484 VkBool32 shaderDenormPreserveFloat16;
5485 VkBool32 shaderDenormPreserveFloat32;
5486 VkBool32 shaderDenormPreserveFloat64;
5487 VkBool32 shaderDenormFlushToZeroFloat16;
5488 VkBool32 shaderDenormFlushToZeroFloat32;
5489 VkBool32 shaderDenormFlushToZeroFloat64;
5490 VkBool32 shaderRoundingModeRTEFloat16;
5491 VkBool32 shaderRoundingModeRTEFloat32;
5492 VkBool32 shaderRoundingModeRTEFloat64;
5493 VkBool32 shaderRoundingModeRTZFloat16;
5494 VkBool32 shaderRoundingModeRTZFloat32;
5495 VkBool32 shaderRoundingModeRTZFloat64;
5496 uint32_t maxUpdateAfterBindDescriptorsInAllPools;
5497 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
5498 VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
5499 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
5500 VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
5501 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
5502 VkBool32 robustBufferAccessUpdateAfterBind;
5503 VkBool32 quadDivergentImplicitLod;
5504 uint32_t maxPerStageDescriptorUpdateAfterBindSamplers;
5505 uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers;
5506 uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers;
5507 uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages;
5508 uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages;
5509 uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments;
5510 uint32_t maxPerStageUpdateAfterBindResources;
5511 uint32_t maxDescriptorSetUpdateAfterBindSamplers;
5512 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers;
5513 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
5514 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers;
5515 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
5516 uint32_t maxDescriptorSetUpdateAfterBindSampledImages;
5517 uint32_t maxDescriptorSetUpdateAfterBindStorageImages;
5518 uint32_t maxDescriptorSetUpdateAfterBindInputAttachments;
5519 VkResolveModeFlags supportedDepthResolveModes;
5520 VkResolveModeFlags supportedStencilResolveModes;
5521 VkBool32 independentResolveNone;
5522 VkBool32 independentResolve;
5523 VkBool32 filterMinmaxSingleComponentFormats;
5524 VkBool32 filterMinmaxImageComponentMapping;
5525 uint64_t maxTimelineSemaphoreValueDifference;
5526 VkSampleCountFlags framebufferIntegerColorSampleCounts;
5527 } VkPhysicalDeviceVulkan12Properties;
5529 typedef struct VkImageFormatListCreateInfo {
5530 VkStructureType sType;
5532 uint32_t viewFormatCount;
5533 const VkFormat* pViewFormats;
5534 } VkImageFormatListCreateInfo;
5536 typedef struct VkAttachmentDescription2 {
5537 VkStructureType sType;
5539 VkAttachmentDescriptionFlags flags;
5541 VkSampleCountFlagBits samples;
5542 VkAttachmentLoadOp loadOp;
5543 VkAttachmentStoreOp storeOp;
5544 VkAttachmentLoadOp stencilLoadOp;
5545 VkAttachmentStoreOp stencilStoreOp;
5546 VkImageLayout initialLayout;
5547 VkImageLayout finalLayout;
5548 } VkAttachmentDescription2;
5550 typedef struct VkAttachmentReference2 {
5551 VkStructureType sType;
5553 uint32_t attachment;
5554 VkImageLayout layout;
5555 VkImageAspectFlags aspectMask;
5556 } VkAttachmentReference2;
5558 typedef struct VkSubpassDescription2 {
5559 VkStructureType sType;
5561 VkSubpassDescriptionFlags flags;
5562 VkPipelineBindPoint pipelineBindPoint;
5564 uint32_t inputAttachmentCount;
5565 const VkAttachmentReference2* pInputAttachments;
5566 uint32_t colorAttachmentCount;
5567 const VkAttachmentReference2* pColorAttachments;
5568 const VkAttachmentReference2* pResolveAttachments;
5569 const VkAttachmentReference2* pDepthStencilAttachment;
5570 uint32_t preserveAttachmentCount;
5571 const uint32_t* pPreserveAttachments;
5572 } VkSubpassDescription2;
5574 typedef struct VkSubpassDependency2 {
5575 VkStructureType sType;
5577 uint32_t srcSubpass;
5578 uint32_t dstSubpass;
5579 VkPipelineStageFlags srcStageMask;
5580 VkPipelineStageFlags dstStageMask;
5581 VkAccessFlags srcAccessMask;
5582 VkAccessFlags dstAccessMask;
5583 VkDependencyFlags dependencyFlags;
5585 } VkSubpassDependency2;
5587 typedef struct VkRenderPassCreateInfo2 {
5588 VkStructureType sType;
5590 VkRenderPassCreateFlags flags;
5591 uint32_t attachmentCount;
5592 const VkAttachmentDescription2* pAttachments;
5593 uint32_t subpassCount;
5594 const VkSubpassDescription2* pSubpasses;
5595 uint32_t dependencyCount;
5596 const VkSubpassDependency2* pDependencies;
5597 uint32_t correlatedViewMaskCount;
5598 const uint32_t* pCorrelatedViewMasks;
5599 } VkRenderPassCreateInfo2;
5601 typedef struct VkSubpassBeginInfo {
5602 VkStructureType sType;
5604 VkSubpassContents contents;
5605 } VkSubpassBeginInfo;
5607 typedef struct VkSubpassEndInfo {
5608 VkStructureType sType;
5612 typedef struct VkPhysicalDevice8BitStorageFeatures {
5613 VkStructureType sType;
5615 VkBool32 storageBuffer8BitAccess;
5616 VkBool32 uniformAndStorageBuffer8BitAccess;
5617 VkBool32 storagePushConstant8;
5618 } VkPhysicalDevice8BitStorageFeatures;
5620 typedef struct VkPhysicalDeviceDriverProperties {
5621 VkStructureType sType;
5623 VkDriverId driverID;
5624 char driverName[VK_MAX_DRIVER_NAME_SIZE];
5625 char driverInfo[VK_MAX_DRIVER_INFO_SIZE];
5626 VkConformanceVersion conformanceVersion;
5627 } VkPhysicalDeviceDriverProperties;
5629 typedef struct VkPhysicalDeviceShaderAtomicInt64Features {
5630 VkStructureType sType;
5632 VkBool32 shaderBufferInt64Atomics;
5633 VkBool32 shaderSharedInt64Atomics;
5634 } VkPhysicalDeviceShaderAtomicInt64Features;
5636 typedef struct VkPhysicalDeviceShaderFloat16Int8Features {
5637 VkStructureType sType;
5639 VkBool32 shaderFloat16;
5640 VkBool32 shaderInt8;
5641 } VkPhysicalDeviceShaderFloat16Int8Features;
5643 typedef struct VkPhysicalDeviceFloatControlsProperties {
5644 VkStructureType sType;
5646 VkShaderFloatControlsIndependence denormBehaviorIndependence;
5647 VkShaderFloatControlsIndependence roundingModeIndependence;
5648 VkBool32 shaderSignedZeroInfNanPreserveFloat16;
5649 VkBool32 shaderSignedZeroInfNanPreserveFloat32;
5650 VkBool32 shaderSignedZeroInfNanPreserveFloat64;
5651 VkBool32 shaderDenormPreserveFloat16;
5652 VkBool32 shaderDenormPreserveFloat32;
5653 VkBool32 shaderDenormPreserveFloat64;
5654 VkBool32 shaderDenormFlushToZeroFloat16;
5655 VkBool32 shaderDenormFlushToZeroFloat32;
5656 VkBool32 shaderDenormFlushToZeroFloat64;
5657 VkBool32 shaderRoundingModeRTEFloat16;
5658 VkBool32 shaderRoundingModeRTEFloat32;
5659 VkBool32 shaderRoundingModeRTEFloat64;
5660 VkBool32 shaderRoundingModeRTZFloat16;
5661 VkBool32 shaderRoundingModeRTZFloat32;
5662 VkBool32 shaderRoundingModeRTZFloat64;
5663 } VkPhysicalDeviceFloatControlsProperties;
5665 typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfo {
5666 VkStructureType sType;
5668 uint32_t bindingCount;
5669 const VkDescriptorBindingFlags* pBindingFlags;
5670 } VkDescriptorSetLayoutBindingFlagsCreateInfo;
5672 typedef struct VkPhysicalDeviceDescriptorIndexingFeatures {
5673 VkStructureType sType;
5675 VkBool32 shaderInputAttachmentArrayDynamicIndexing;
5676 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
5677 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
5678 VkBool32 shaderUniformBufferArrayNonUniformIndexing;
5679 VkBool32 shaderSampledImageArrayNonUniformIndexing;
5680 VkBool32 shaderStorageBufferArrayNonUniformIndexing;
5681 VkBool32 shaderStorageImageArrayNonUniformIndexing;
5682 VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
5683 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
5684 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
5685 VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
5686 VkBool32 descriptorBindingSampledImageUpdateAfterBind;
5687 VkBool32 descriptorBindingStorageImageUpdateAfterBind;
5688 VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
5689 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
5690 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
5691 VkBool32 descriptorBindingUpdateUnusedWhilePending;
5692 VkBool32 descriptorBindingPartiallyBound;
5693 VkBool32 descriptorBindingVariableDescriptorCount;
5694 VkBool32 runtimeDescriptorArray;
5695 } VkPhysicalDeviceDescriptorIndexingFeatures;
5697 typedef struct VkPhysicalDeviceDescriptorIndexingProperties {
5698 VkStructureType sType;
5700 uint32_t maxUpdateAfterBindDescriptorsInAllPools;
5701 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
5702 VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
5703 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
5704 VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
5705 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
5706 VkBool32 robustBufferAccessUpdateAfterBind;
5707 VkBool32 quadDivergentImplicitLod;
5708 uint32_t maxPerStageDescriptorUpdateAfterBindSamplers;
5709 uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers;
5710 uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers;
5711 uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages;
5712 uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages;
5713 uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments;
5714 uint32_t maxPerStageUpdateAfterBindResources;
5715 uint32_t maxDescriptorSetUpdateAfterBindSamplers;
5716 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers;
5717 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
5718 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers;
5719 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
5720 uint32_t maxDescriptorSetUpdateAfterBindSampledImages;
5721 uint32_t maxDescriptorSetUpdateAfterBindStorageImages;
5722 uint32_t maxDescriptorSetUpdateAfterBindInputAttachments;
5723 } VkPhysicalDeviceDescriptorIndexingProperties;
5725 typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfo {
5726 VkStructureType sType;
5728 uint32_t descriptorSetCount;
5729 const uint32_t* pDescriptorCounts;
5730 } VkDescriptorSetVariableDescriptorCountAllocateInfo;
5732 typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupport {
5733 VkStructureType sType;
5735 uint32_t maxVariableDescriptorCount;
5736 } VkDescriptorSetVariableDescriptorCountLayoutSupport;
5738 typedef struct VkSubpassDescriptionDepthStencilResolve {
5739 VkStructureType sType;
5741 VkResolveModeFlagBits depthResolveMode;
5742 VkResolveModeFlagBits stencilResolveMode;
5743 const VkAttachmentReference2* pDepthStencilResolveAttachment;
5744 } VkSubpassDescriptionDepthStencilResolve;
5746 typedef struct VkPhysicalDeviceDepthStencilResolveProperties {
5747 VkStructureType sType;
5749 VkResolveModeFlags supportedDepthResolveModes;
5750 VkResolveModeFlags supportedStencilResolveModes;
5751 VkBool32 independentResolveNone;
5752 VkBool32 independentResolve;
5753 } VkPhysicalDeviceDepthStencilResolveProperties;
5755 typedef struct VkPhysicalDeviceScalarBlockLayoutFeatures {
5756 VkStructureType sType;
5758 VkBool32 scalarBlockLayout;
5759 } VkPhysicalDeviceScalarBlockLayoutFeatures;
5761 typedef struct VkImageStencilUsageCreateInfo {
5762 VkStructureType sType;
5764 VkImageUsageFlags stencilUsage;
5765 } VkImageStencilUsageCreateInfo;
5767 typedef struct VkSamplerReductionModeCreateInfo {
5768 VkStructureType sType;
5770 VkSamplerReductionMode reductionMode;
5771 } VkSamplerReductionModeCreateInfo;
5773 typedef struct VkPhysicalDeviceSamplerFilterMinmaxProperties {
5774 VkStructureType sType;
5776 VkBool32 filterMinmaxSingleComponentFormats;
5777 VkBool32 filterMinmaxImageComponentMapping;
5778 } VkPhysicalDeviceSamplerFilterMinmaxProperties;
5780 typedef struct VkPhysicalDeviceVulkanMemoryModelFeatures {
5781 VkStructureType sType;
5783 VkBool32 vulkanMemoryModel;
5784 VkBool32 vulkanMemoryModelDeviceScope;
5785 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
5786 } VkPhysicalDeviceVulkanMemoryModelFeatures;
5788 typedef struct VkPhysicalDeviceImagelessFramebufferFeatures {
5789 VkStructureType sType;
5791 VkBool32 imagelessFramebuffer;
5792 } VkPhysicalDeviceImagelessFramebufferFeatures;
5794 typedef struct VkFramebufferAttachmentImageInfo {
5795 VkStructureType sType;
5797 VkImageCreateFlags flags;
5798 VkImageUsageFlags usage;
5801 uint32_t layerCount;
5802 uint32_t viewFormatCount;
5803 const VkFormat* pViewFormats;
5804 } VkFramebufferAttachmentImageInfo;
5806 typedef struct VkFramebufferAttachmentsCreateInfo {
5807 VkStructureType sType;
5809 uint32_t attachmentImageInfoCount;
5810 const VkFramebufferAttachmentImageInfo* pAttachmentImageInfos;
5811 } VkFramebufferAttachmentsCreateInfo;
5813 typedef struct VkRenderPassAttachmentBeginInfo {
5814 VkStructureType sType;
5816 uint32_t attachmentCount;
5817 const VkImageView* pAttachments;
5818 } VkRenderPassAttachmentBeginInfo;
5820 typedef struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures {
5821 VkStructureType sType;
5823 VkBool32 uniformBufferStandardLayout;
5824 } VkPhysicalDeviceUniformBufferStandardLayoutFeatures;
5826 typedef struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures {
5827 VkStructureType sType;
5829 VkBool32 shaderSubgroupExtendedTypes;
5830 } VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures;
5832 typedef struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures {
5833 VkStructureType sType;
5835 VkBool32 separateDepthStencilLayouts;
5836 } VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures;
5838 typedef struct VkAttachmentReferenceStencilLayout {
5839 VkStructureType sType;
5841 VkImageLayout stencilLayout;
5842 } VkAttachmentReferenceStencilLayout;
5844 typedef struct VkAttachmentDescriptionStencilLayout {
5845 VkStructureType sType;
5847 VkImageLayout stencilInitialLayout;
5848 VkImageLayout stencilFinalLayout;
5849 } VkAttachmentDescriptionStencilLayout;
5851 typedef struct VkPhysicalDeviceHostQueryResetFeatures {
5852 VkStructureType sType;
5854 VkBool32 hostQueryReset;
5855 } VkPhysicalDeviceHostQueryResetFeatures;
5857 typedef struct VkPhysicalDeviceTimelineSemaphoreFeatures {
5858 VkStructureType sType;
5860 VkBool32 timelineSemaphore;
5861 } VkPhysicalDeviceTimelineSemaphoreFeatures;
5863 typedef struct VkPhysicalDeviceTimelineSemaphoreProperties {
5864 VkStructureType sType;
5866 uint64_t maxTimelineSemaphoreValueDifference;
5867 } VkPhysicalDeviceTimelineSemaphoreProperties;
5869 typedef struct VkSemaphoreTypeCreateInfo {
5870 VkStructureType sType;
5872 VkSemaphoreType semaphoreType;
5873 uint64_t initialValue;
5874 } VkSemaphoreTypeCreateInfo;
5876 typedef struct VkTimelineSemaphoreSubmitInfo {
5877 VkStructureType sType;
5879 uint32_t waitSemaphoreValueCount;
5880 const uint64_t* pWaitSemaphoreValues;
5881 uint32_t signalSemaphoreValueCount;
5882 const uint64_t* pSignalSemaphoreValues;
5883 } VkTimelineSemaphoreSubmitInfo;
5885 typedef struct VkSemaphoreWaitInfo {
5886 VkStructureType sType;
5888 VkSemaphoreWaitFlags flags;
5889 uint32_t semaphoreCount;
5890 const VkSemaphore* pSemaphores;
5891 const uint64_t* pValues;
5892 } VkSemaphoreWaitInfo;
5894 typedef struct VkSemaphoreSignalInfo {
5895 VkStructureType sType;
5897 VkSemaphore semaphore;
5899 } VkSemaphoreSignalInfo;
5901 typedef struct VkPhysicalDeviceBufferDeviceAddressFeatures {
5902 VkStructureType sType;
5904 VkBool32 bufferDeviceAddress;
5905 VkBool32 bufferDeviceAddressCaptureReplay;
5906 VkBool32 bufferDeviceAddressMultiDevice;
5907 } VkPhysicalDeviceBufferDeviceAddressFeatures;
5909 typedef struct VkBufferDeviceAddressInfo {
5910 VkStructureType sType;
5913 } VkBufferDeviceAddressInfo;
5915 typedef struct VkBufferOpaqueCaptureAddressCreateInfo {
5916 VkStructureType sType;
5918 uint64_t opaqueCaptureAddress;
5919 } VkBufferOpaqueCaptureAddressCreateInfo;
5921 typedef struct VkMemoryOpaqueCaptureAddressAllocateInfo {
5922 VkStructureType sType;
5924 uint64_t opaqueCaptureAddress;
5925 } VkMemoryOpaqueCaptureAddressAllocateInfo;
5927 typedef struct VkDeviceMemoryOpaqueCaptureAddressInfo {
5928 VkStructureType sType;
5930 VkDeviceMemory memory;
5931 } VkDeviceMemoryOpaqueCaptureAddressInfo;
5933 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
5934 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
5935 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
5936 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo);
5937 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo);
5938 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo);
5939 typedef void (VKAPI_PTR *PFN_vkResetQueryPool)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount);
5940 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValue)(VkDevice device, VkSemaphore semaphore, uint64_t* pValue);
5941 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphores)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout);
5942 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphore)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo);
5943 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
5944 typedef uint64_t (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
5945 typedef uint64_t (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddress)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
5947 #ifndef VK_NO_PROTOTYPES
5948 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCount(
5949 VkCommandBuffer commandBuffer,
5951 VkDeviceSize offset,
5952 VkBuffer countBuffer,
5953 VkDeviceSize countBufferOffset,
5954 uint32_t maxDrawCount,
5957 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCount(
5958 VkCommandBuffer commandBuffer,
5960 VkDeviceSize offset,
5961 VkBuffer countBuffer,
5962 VkDeviceSize countBufferOffset,
5963 uint32_t maxDrawCount,
5966 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2(
5968 const VkRenderPassCreateInfo2* pCreateInfo,
5969 const VkAllocationCallbacks* pAllocator,
5970 VkRenderPass* pRenderPass);
5972 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2(
5973 VkCommandBuffer commandBuffer,
5974 const VkRenderPassBeginInfo* pRenderPassBegin,
5975 const VkSubpassBeginInfo* pSubpassBeginInfo);
5977 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2(
5978 VkCommandBuffer commandBuffer,
5979 const VkSubpassBeginInfo* pSubpassBeginInfo,
5980 const VkSubpassEndInfo* pSubpassEndInfo);
5982 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2(
5983 VkCommandBuffer commandBuffer,
5984 const VkSubpassEndInfo* pSubpassEndInfo);
5986 VKAPI_ATTR void VKAPI_CALL vkResetQueryPool(
5988 VkQueryPool queryPool,
5989 uint32_t firstQuery,
5990 uint32_t queryCount);
5992 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValue(
5994 VkSemaphore semaphore,
5997 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphores(
5999 const VkSemaphoreWaitInfo* pWaitInfo,
6002 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphore(
6004 const VkSemaphoreSignalInfo* pSignalInfo);
6006 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddress(
6008 const VkBufferDeviceAddressInfo* pInfo);
6010 VKAPI_ATTR uint64_t VKAPI_CALL vkGetBufferOpaqueCaptureAddress(
6012 const VkBufferDeviceAddressInfo* pInfo);
6014 VKAPI_ATTR uint64_t VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddress(
6016 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
6020 #define VK_KHR_surface 1
6021 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR)
6022 #define VK_KHR_SURFACE_SPEC_VERSION 25
6023 #define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface"
6025 typedef enum VkPresentModeKHR {
6026 VK_PRESENT_MODE_IMMEDIATE_KHR = 0,
6027 VK_PRESENT_MODE_MAILBOX_KHR = 1,
6028 VK_PRESENT_MODE_FIFO_KHR = 2,
6029 VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3,
6030 VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR = 1000111000,
6031 VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = 1000111001,
6032 VK_PRESENT_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
6035 typedef enum VkColorSpaceKHR {
6036 VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0,
6037 VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = 1000104001,
6038 VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT = 1000104002,
6039 VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT = 1000104003,
6040 VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT = 1000104004,
6041 VK_COLOR_SPACE_BT709_LINEAR_EXT = 1000104005,
6042 VK_COLOR_SPACE_BT709_NONLINEAR_EXT = 1000104006,
6043 VK_COLOR_SPACE_BT2020_LINEAR_EXT = 1000104007,
6044 VK_COLOR_SPACE_HDR10_ST2084_EXT = 1000104008,
6045 VK_COLOR_SPACE_DOLBYVISION_EXT = 1000104009,
6046 VK_COLOR_SPACE_HDR10_HLG_EXT = 1000104010,
6047 VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT = 1000104011,
6048 VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT = 1000104012,
6049 VK_COLOR_SPACE_PASS_THROUGH_EXT = 1000104013,
6050 VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT = 1000104014,
6051 VK_COLOR_SPACE_DISPLAY_NATIVE_AMD = 1000213000,
6052 VK_COLORSPACE_SRGB_NONLINEAR_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
6053 VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT,
6054 VK_COLOR_SPACE_MAX_ENUM_KHR = 0x7FFFFFFF
6057 typedef enum VkSurfaceTransformFlagBitsKHR {
6058 VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 0x00000001,
6059 VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 0x00000002,
6060 VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 0x00000004,
6061 VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 0x00000008,
6062 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 0x00000010,
6063 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 0x00000020,
6064 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 0x00000040,
6065 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 0x00000080,
6066 VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 0x00000100,
6067 VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
6068 } VkSurfaceTransformFlagBitsKHR;
6070 typedef enum VkCompositeAlphaFlagBitsKHR {
6071 VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
6072 VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 0x00000002,
6073 VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 0x00000004,
6074 VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 0x00000008,
6075 VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
6076 } VkCompositeAlphaFlagBitsKHR;
6077 typedef VkFlags VkCompositeAlphaFlagsKHR;
6078 typedef VkFlags VkSurfaceTransformFlagsKHR;
6079 typedef struct VkSurfaceCapabilitiesKHR {
6080 uint32_t minImageCount;
6081 uint32_t maxImageCount;
6082 VkExtent2D currentExtent;
6083 VkExtent2D minImageExtent;
6084 VkExtent2D maxImageExtent;
6085 uint32_t maxImageArrayLayers;
6086 VkSurfaceTransformFlagsKHR supportedTransforms;
6087 VkSurfaceTransformFlagBitsKHR currentTransform;
6088 VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
6089 VkImageUsageFlags supportedUsageFlags;
6090 } VkSurfaceCapabilitiesKHR;
6092 typedef struct VkSurfaceFormatKHR {
6094 VkColorSpaceKHR colorSpace;
6095 } VkSurfaceFormatKHR;
6097 typedef void (VKAPI_PTR *PFN_vkDestroySurfaceKHR)(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator);
6098 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported);
6099 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
6100 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats);
6101 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pPresentModeCount, VkPresentModeKHR* pPresentModes);
6103 #ifndef VK_NO_PROTOTYPES
6104 VKAPI_ATTR void VKAPI_CALL vkDestroySurfaceKHR(
6105 VkInstance instance,
6106 VkSurfaceKHR surface,
6107 const VkAllocationCallbacks* pAllocator);
6109 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceSupportKHR(
6110 VkPhysicalDevice physicalDevice,
6111 uint32_t queueFamilyIndex,
6112 VkSurfaceKHR surface,
6113 VkBool32* pSupported);
6115 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilitiesKHR(
6116 VkPhysicalDevice physicalDevice,
6117 VkSurfaceKHR surface,
6118 VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
6120 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormatsKHR(
6121 VkPhysicalDevice physicalDevice,
6122 VkSurfaceKHR surface,
6123 uint32_t* pSurfaceFormatCount,
6124 VkSurfaceFormatKHR* pSurfaceFormats);
6126 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModesKHR(
6127 VkPhysicalDevice physicalDevice,
6128 VkSurfaceKHR surface,
6129 uint32_t* pPresentModeCount,
6130 VkPresentModeKHR* pPresentModes);
6134 #define VK_KHR_swapchain 1
6135 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR)
6136 #define VK_KHR_SWAPCHAIN_SPEC_VERSION 70
6137 #define VK_KHR_SWAPCHAIN_EXTENSION_NAME "VK_KHR_swapchain"
6139 typedef enum VkSwapchainCreateFlagBitsKHR {
6140 VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 0x00000001,
6141 VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR = 0x00000002,
6142 VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR = 0x00000004,
6143 VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
6144 } VkSwapchainCreateFlagBitsKHR;
6145 typedef VkFlags VkSwapchainCreateFlagsKHR;
6147 typedef enum VkDeviceGroupPresentModeFlagBitsKHR {
6148 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR = 0x00000001,
6149 VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR = 0x00000002,
6150 VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR = 0x00000004,
6151 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR = 0x00000008,
6152 VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
6153 } VkDeviceGroupPresentModeFlagBitsKHR;
6154 typedef VkFlags VkDeviceGroupPresentModeFlagsKHR;
6155 typedef struct VkSwapchainCreateInfoKHR {
6156 VkStructureType sType;
6158 VkSwapchainCreateFlagsKHR flags;
6159 VkSurfaceKHR surface;
6160 uint32_t minImageCount;
6161 VkFormat imageFormat;
6162 VkColorSpaceKHR imageColorSpace;
6163 VkExtent2D imageExtent;
6164 uint32_t imageArrayLayers;
6165 VkImageUsageFlags imageUsage;
6166 VkSharingMode imageSharingMode;
6167 uint32_t queueFamilyIndexCount;
6168 const uint32_t* pQueueFamilyIndices;
6169 VkSurfaceTransformFlagBitsKHR preTransform;
6170 VkCompositeAlphaFlagBitsKHR compositeAlpha;
6171 VkPresentModeKHR presentMode;
6173 VkSwapchainKHR oldSwapchain;
6174 } VkSwapchainCreateInfoKHR;
6176 typedef struct VkPresentInfoKHR {
6177 VkStructureType sType;
6179 uint32_t waitSemaphoreCount;
6180 const VkSemaphore* pWaitSemaphores;
6181 uint32_t swapchainCount;
6182 const VkSwapchainKHR* pSwapchains;
6183 const uint32_t* pImageIndices;
6187 typedef struct VkImageSwapchainCreateInfoKHR {
6188 VkStructureType sType;
6190 VkSwapchainKHR swapchain;
6191 } VkImageSwapchainCreateInfoKHR;
6193 typedef struct VkBindImageMemorySwapchainInfoKHR {
6194 VkStructureType sType;
6196 VkSwapchainKHR swapchain;
6197 uint32_t imageIndex;
6198 } VkBindImageMemorySwapchainInfoKHR;
6200 typedef struct VkAcquireNextImageInfoKHR {
6201 VkStructureType sType;
6203 VkSwapchainKHR swapchain;
6205 VkSemaphore semaphore;
6207 uint32_t deviceMask;
6208 } VkAcquireNextImageInfoKHR;
6210 typedef struct VkDeviceGroupPresentCapabilitiesKHR {
6211 VkStructureType sType;
6213 uint32_t presentMask[VK_MAX_DEVICE_GROUP_SIZE];
6214 VkDeviceGroupPresentModeFlagsKHR modes;
6215 } VkDeviceGroupPresentCapabilitiesKHR;
6217 typedef struct VkDeviceGroupPresentInfoKHR {
6218 VkStructureType sType;
6220 uint32_t swapchainCount;
6221 const uint32_t* pDeviceMasks;
6222 VkDeviceGroupPresentModeFlagBitsKHR mode;
6223 } VkDeviceGroupPresentInfoKHR;
6225 typedef struct VkDeviceGroupSwapchainCreateInfoKHR {
6226 VkStructureType sType;
6228 VkDeviceGroupPresentModeFlagsKHR modes;
6229 } VkDeviceGroupSwapchainCreateInfoKHR;
6231 typedef VkResult (VKAPI_PTR *PFN_vkCreateSwapchainKHR)(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain);
6232 typedef void (VKAPI_PTR *PFN_vkDestroySwapchainKHR)(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator);
6233 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainImagesKHR)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages);
6234 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImageKHR)(VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex);
6235 typedef VkResult (VKAPI_PTR *PFN_vkQueuePresentKHR)(VkQueue queue, const VkPresentInfoKHR* pPresentInfo);
6236 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupPresentCapabilitiesKHR)(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
6237 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupSurfacePresentModesKHR)(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes);
6238 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDevicePresentRectanglesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pRectCount, VkRect2D* pRects);
6239 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImage2KHR)(VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, uint32_t* pImageIndex);
6241 #ifndef VK_NO_PROTOTYPES
6242 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSwapchainKHR(
6244 const VkSwapchainCreateInfoKHR* pCreateInfo,
6245 const VkAllocationCallbacks* pAllocator,
6246 VkSwapchainKHR* pSwapchain);
6248 VKAPI_ATTR void VKAPI_CALL vkDestroySwapchainKHR(
6250 VkSwapchainKHR swapchain,
6251 const VkAllocationCallbacks* pAllocator);
6253 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainImagesKHR(
6255 VkSwapchainKHR swapchain,
6256 uint32_t* pSwapchainImageCount,
6257 VkImage* pSwapchainImages);
6259 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImageKHR(
6261 VkSwapchainKHR swapchain,
6263 VkSemaphore semaphore,
6265 uint32_t* pImageIndex);
6267 VKAPI_ATTR VkResult VKAPI_CALL vkQueuePresentKHR(
6269 const VkPresentInfoKHR* pPresentInfo);
6271 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupPresentCapabilitiesKHR(
6273 VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
6275 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupSurfacePresentModesKHR(
6277 VkSurfaceKHR surface,
6278 VkDeviceGroupPresentModeFlagsKHR* pModes);
6280 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDevicePresentRectanglesKHR(
6281 VkPhysicalDevice physicalDevice,
6282 VkSurfaceKHR surface,
6283 uint32_t* pRectCount,
6286 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImage2KHR(
6288 const VkAcquireNextImageInfoKHR* pAcquireInfo,
6289 uint32_t* pImageIndex);
6293 #define VK_KHR_display 1
6294 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR)
6295 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR)
6296 #define VK_KHR_DISPLAY_SPEC_VERSION 23
6297 #define VK_KHR_DISPLAY_EXTENSION_NAME "VK_KHR_display"
6298 typedef VkFlags VkDisplayModeCreateFlagsKHR;
6300 typedef enum VkDisplayPlaneAlphaFlagBitsKHR {
6301 VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
6302 VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR = 0x00000002,
6303 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR = 0x00000004,
6304 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = 0x00000008,
6305 VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
6306 } VkDisplayPlaneAlphaFlagBitsKHR;
6307 typedef VkFlags VkDisplayPlaneAlphaFlagsKHR;
6308 typedef VkFlags VkDisplaySurfaceCreateFlagsKHR;
6309 typedef struct VkDisplayModeParametersKHR {
6310 VkExtent2D visibleRegion;
6311 uint32_t refreshRate;
6312 } VkDisplayModeParametersKHR;
6314 typedef struct VkDisplayModeCreateInfoKHR {
6315 VkStructureType sType;
6317 VkDisplayModeCreateFlagsKHR flags;
6318 VkDisplayModeParametersKHR parameters;
6319 } VkDisplayModeCreateInfoKHR;
6321 typedef struct VkDisplayModePropertiesKHR {
6322 VkDisplayModeKHR displayMode;
6323 VkDisplayModeParametersKHR parameters;
6324 } VkDisplayModePropertiesKHR;
6326 typedef struct VkDisplayPlaneCapabilitiesKHR {
6327 VkDisplayPlaneAlphaFlagsKHR supportedAlpha;
6328 VkOffset2D minSrcPosition;
6329 VkOffset2D maxSrcPosition;
6330 VkExtent2D minSrcExtent;
6331 VkExtent2D maxSrcExtent;
6332 VkOffset2D minDstPosition;
6333 VkOffset2D maxDstPosition;
6334 VkExtent2D minDstExtent;
6335 VkExtent2D maxDstExtent;
6336 } VkDisplayPlaneCapabilitiesKHR;
6338 typedef struct VkDisplayPlanePropertiesKHR {
6339 VkDisplayKHR currentDisplay;
6340 uint32_t currentStackIndex;
6341 } VkDisplayPlanePropertiesKHR;
6343 typedef struct VkDisplayPropertiesKHR {
6344 VkDisplayKHR display;
6345 const char* displayName;
6346 VkExtent2D physicalDimensions;
6347 VkExtent2D physicalResolution;
6348 VkSurfaceTransformFlagsKHR supportedTransforms;
6349 VkBool32 planeReorderPossible;
6350 VkBool32 persistentContent;
6351 } VkDisplayPropertiesKHR;
6353 typedef struct VkDisplaySurfaceCreateInfoKHR {
6354 VkStructureType sType;
6356 VkDisplaySurfaceCreateFlagsKHR flags;
6357 VkDisplayModeKHR displayMode;
6358 uint32_t planeIndex;
6359 uint32_t planeStackIndex;
6360 VkSurfaceTransformFlagBitsKHR transform;
6362 VkDisplayPlaneAlphaFlagBitsKHR alphaMode;
6363 VkExtent2D imageExtent;
6364 } VkDisplaySurfaceCreateInfoKHR;
6366 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPropertiesKHR* pProperties);
6367 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties);
6368 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneSupportedDisplaysKHR)(VkPhysicalDevice physicalDevice, uint32_t planeIndex, uint32_t* pDisplayCount, VkDisplayKHR* pDisplays);
6369 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModePropertiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModePropertiesKHR* pProperties);
6370 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayModeKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode);
6371 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, uint32_t planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities);
6372 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayPlaneSurfaceKHR)(VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
6374 #ifndef VK_NO_PROTOTYPES
6375 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPropertiesKHR(
6376 VkPhysicalDevice physicalDevice,
6377 uint32_t* pPropertyCount,
6378 VkDisplayPropertiesKHR* pProperties);
6380 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlanePropertiesKHR(
6381 VkPhysicalDevice physicalDevice,
6382 uint32_t* pPropertyCount,
6383 VkDisplayPlanePropertiesKHR* pProperties);
6385 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneSupportedDisplaysKHR(
6386 VkPhysicalDevice physicalDevice,
6387 uint32_t planeIndex,
6388 uint32_t* pDisplayCount,
6389 VkDisplayKHR* pDisplays);
6391 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModePropertiesKHR(
6392 VkPhysicalDevice physicalDevice,
6393 VkDisplayKHR display,
6394 uint32_t* pPropertyCount,
6395 VkDisplayModePropertiesKHR* pProperties);
6397 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayModeKHR(
6398 VkPhysicalDevice physicalDevice,
6399 VkDisplayKHR display,
6400 const VkDisplayModeCreateInfoKHR* pCreateInfo,
6401 const VkAllocationCallbacks* pAllocator,
6402 VkDisplayModeKHR* pMode);
6404 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilitiesKHR(
6405 VkPhysicalDevice physicalDevice,
6406 VkDisplayModeKHR mode,
6407 uint32_t planeIndex,
6408 VkDisplayPlaneCapabilitiesKHR* pCapabilities);
6410 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayPlaneSurfaceKHR(
6411 VkInstance instance,
6412 const VkDisplaySurfaceCreateInfoKHR* pCreateInfo,
6413 const VkAllocationCallbacks* pAllocator,
6414 VkSurfaceKHR* pSurface);
6418 #define VK_KHR_display_swapchain 1
6419 #define VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION 10
6420 #define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME "VK_KHR_display_swapchain"
6421 typedef struct VkDisplayPresentInfoKHR {
6422 VkStructureType sType;
6426 VkBool32 persistent;
6427 } VkDisplayPresentInfoKHR;
6429 typedef VkResult (VKAPI_PTR *PFN_vkCreateSharedSwapchainsKHR)(VkDevice device, uint32_t swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains);
6431 #ifndef VK_NO_PROTOTYPES
6432 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSharedSwapchainsKHR(
6434 uint32_t swapchainCount,
6435 const VkSwapchainCreateInfoKHR* pCreateInfos,
6436 const VkAllocationCallbacks* pAllocator,
6437 VkSwapchainKHR* pSwapchains);
6441 #define VK_KHR_sampler_mirror_clamp_to_edge 1
6442 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION 3
6443 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME "VK_KHR_sampler_mirror_clamp_to_edge"
6446 #define VK_KHR_multiview 1
6447 #define VK_KHR_MULTIVIEW_SPEC_VERSION 1
6448 #define VK_KHR_MULTIVIEW_EXTENSION_NAME "VK_KHR_multiview"
6449 typedef VkRenderPassMultiviewCreateInfo VkRenderPassMultiviewCreateInfoKHR;
6451 typedef VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeaturesKHR;
6453 typedef VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewPropertiesKHR;
6457 #define VK_KHR_get_physical_device_properties2 1
6458 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION 2
6459 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_physical_device_properties2"
6460 typedef VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2KHR;
6462 typedef VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2KHR;
6464 typedef VkFormatProperties2 VkFormatProperties2KHR;
6466 typedef VkImageFormatProperties2 VkImageFormatProperties2KHR;
6468 typedef VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2KHR;
6470 typedef VkQueueFamilyProperties2 VkQueueFamilyProperties2KHR;
6472 typedef VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2KHR;
6474 typedef VkSparseImageFormatProperties2 VkSparseImageFormatProperties2KHR;
6476 typedef VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2KHR;
6478 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
6479 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
6480 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2KHR)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
6481 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
6482 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
6483 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
6484 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
6486 #ifndef VK_NO_PROTOTYPES
6487 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2KHR(
6488 VkPhysicalDevice physicalDevice,
6489 VkPhysicalDeviceFeatures2* pFeatures);
6491 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2KHR(
6492 VkPhysicalDevice physicalDevice,
6493 VkPhysicalDeviceProperties2* pProperties);
6495 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2KHR(
6496 VkPhysicalDevice physicalDevice,
6498 VkFormatProperties2* pFormatProperties);
6500 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2KHR(
6501 VkPhysicalDevice physicalDevice,
6502 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
6503 VkImageFormatProperties2* pImageFormatProperties);
6505 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2KHR(
6506 VkPhysicalDevice physicalDevice,
6507 uint32_t* pQueueFamilyPropertyCount,
6508 VkQueueFamilyProperties2* pQueueFamilyProperties);
6510 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2KHR(
6511 VkPhysicalDevice physicalDevice,
6512 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
6514 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
6515 VkPhysicalDevice physicalDevice,
6516 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
6517 uint32_t* pPropertyCount,
6518 VkSparseImageFormatProperties2* pProperties);
6522 #define VK_KHR_device_group 1
6523 #define VK_KHR_DEVICE_GROUP_SPEC_VERSION 4
6524 #define VK_KHR_DEVICE_GROUP_EXTENSION_NAME "VK_KHR_device_group"
6525 typedef VkPeerMemoryFeatureFlags VkPeerMemoryFeatureFlagsKHR;
6527 typedef VkPeerMemoryFeatureFlagBits VkPeerMemoryFeatureFlagBitsKHR;
6529 typedef VkMemoryAllocateFlags VkMemoryAllocateFlagsKHR;
6531 typedef VkMemoryAllocateFlagBits VkMemoryAllocateFlagBitsKHR;
6533 typedef VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfoKHR;
6535 typedef VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfoKHR;
6537 typedef VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfoKHR;
6539 typedef VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfoKHR;
6541 typedef VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfoKHR;
6543 typedef VkBindBufferMemoryDeviceGroupInfo VkBindBufferMemoryDeviceGroupInfoKHR;
6545 typedef VkBindImageMemoryDeviceGroupInfo VkBindImageMemoryDeviceGroupInfoKHR;
6547 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR)(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
6548 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMaskKHR)(VkCommandBuffer commandBuffer, uint32_t deviceMask);
6549 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);
6551 #ifndef VK_NO_PROTOTYPES
6552 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeaturesKHR(
6555 uint32_t localDeviceIndex,
6556 uint32_t remoteDeviceIndex,
6557 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
6559 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMaskKHR(
6560 VkCommandBuffer commandBuffer,
6561 uint32_t deviceMask);
6563 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBaseKHR(
6564 VkCommandBuffer commandBuffer,
6565 uint32_t baseGroupX,
6566 uint32_t baseGroupY,
6567 uint32_t baseGroupZ,
6568 uint32_t groupCountX,
6569 uint32_t groupCountY,
6570 uint32_t groupCountZ);
6574 #define VK_KHR_shader_draw_parameters 1
6575 #define VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION 1
6576 #define VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME "VK_KHR_shader_draw_parameters"
6579 #define VK_KHR_maintenance1 1
6580 #define VK_KHR_MAINTENANCE1_SPEC_VERSION 2
6581 #define VK_KHR_MAINTENANCE1_EXTENSION_NAME "VK_KHR_maintenance1"
6582 typedef VkCommandPoolTrimFlags VkCommandPoolTrimFlagsKHR;
6584 typedef void (VKAPI_PTR *PFN_vkTrimCommandPoolKHR)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
6586 #ifndef VK_NO_PROTOTYPES
6587 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPoolKHR(
6589 VkCommandPool commandPool,
6590 VkCommandPoolTrimFlags flags);
6594 #define VK_KHR_device_group_creation 1
6595 #define VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION 1
6596 #define VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME "VK_KHR_device_group_creation"
6597 #define VK_MAX_DEVICE_GROUP_SIZE_KHR VK_MAX_DEVICE_GROUP_SIZE
6598 typedef VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupPropertiesKHR;
6600 typedef VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfoKHR;
6602 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroupsKHR)(VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
6604 #ifndef VK_NO_PROTOTYPES
6605 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroupsKHR(
6606 VkInstance instance,
6607 uint32_t* pPhysicalDeviceGroupCount,
6608 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
6612 #define VK_KHR_external_memory_capabilities 1
6613 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
6614 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_memory_capabilities"
6615 #define VK_LUID_SIZE_KHR VK_LUID_SIZE
6616 typedef VkExternalMemoryHandleTypeFlags VkExternalMemoryHandleTypeFlagsKHR;
6618 typedef VkExternalMemoryHandleTypeFlagBits VkExternalMemoryHandleTypeFlagBitsKHR;
6620 typedef VkExternalMemoryFeatureFlags VkExternalMemoryFeatureFlagsKHR;
6622 typedef VkExternalMemoryFeatureFlagBits VkExternalMemoryFeatureFlagBitsKHR;
6624 typedef VkExternalMemoryProperties VkExternalMemoryPropertiesKHR;
6626 typedef VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfoKHR;
6628 typedef VkExternalImageFormatProperties VkExternalImageFormatPropertiesKHR;
6630 typedef VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfoKHR;
6632 typedef VkExternalBufferProperties VkExternalBufferPropertiesKHR;
6634 typedef VkPhysicalDeviceIDProperties VkPhysicalDeviceIDPropertiesKHR;
6636 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
6638 #ifndef VK_NO_PROTOTYPES
6639 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferPropertiesKHR(
6640 VkPhysicalDevice physicalDevice,
6641 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
6642 VkExternalBufferProperties* pExternalBufferProperties);
6646 #define VK_KHR_external_memory 1
6647 #define VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION 1
6648 #define VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME "VK_KHR_external_memory"
6649 #define VK_QUEUE_FAMILY_EXTERNAL_KHR VK_QUEUE_FAMILY_EXTERNAL
6650 typedef VkExternalMemoryImageCreateInfo VkExternalMemoryImageCreateInfoKHR;
6652 typedef VkExternalMemoryBufferCreateInfo VkExternalMemoryBufferCreateInfoKHR;
6654 typedef VkExportMemoryAllocateInfo VkExportMemoryAllocateInfoKHR;
6658 #define VK_KHR_external_memory_fd 1
6659 #define VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION 1
6660 #define VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME "VK_KHR_external_memory_fd"
6661 typedef struct VkImportMemoryFdInfoKHR {
6662 VkStructureType sType;
6664 VkExternalMemoryHandleTypeFlagBits handleType;
6666 } VkImportMemoryFdInfoKHR;
6668 typedef struct VkMemoryFdPropertiesKHR {
6669 VkStructureType sType;
6671 uint32_t memoryTypeBits;
6672 } VkMemoryFdPropertiesKHR;
6674 typedef struct VkMemoryGetFdInfoKHR {
6675 VkStructureType sType;
6677 VkDeviceMemory memory;
6678 VkExternalMemoryHandleTypeFlagBits handleType;
6679 } VkMemoryGetFdInfoKHR;
6681 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdKHR)(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd);
6682 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdPropertiesKHR)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties);
6684 #ifndef VK_NO_PROTOTYPES
6685 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdKHR(
6687 const VkMemoryGetFdInfoKHR* pGetFdInfo,
6690 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdPropertiesKHR(
6692 VkExternalMemoryHandleTypeFlagBits handleType,
6694 VkMemoryFdPropertiesKHR* pMemoryFdProperties);
6698 #define VK_KHR_external_semaphore_capabilities 1
6699 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION 1
6700 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_semaphore_capabilities"
6701 typedef VkExternalSemaphoreHandleTypeFlags VkExternalSemaphoreHandleTypeFlagsKHR;
6703 typedef VkExternalSemaphoreHandleTypeFlagBits VkExternalSemaphoreHandleTypeFlagBitsKHR;
6705 typedef VkExternalSemaphoreFeatureFlags VkExternalSemaphoreFeatureFlagsKHR;
6707 typedef VkExternalSemaphoreFeatureFlagBits VkExternalSemaphoreFeatureFlagBitsKHR;
6709 typedef VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfoKHR;
6711 typedef VkExternalSemaphoreProperties VkExternalSemaphorePropertiesKHR;
6713 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
6715 #ifndef VK_NO_PROTOTYPES
6716 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(
6717 VkPhysicalDevice physicalDevice,
6718 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
6719 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
6723 #define VK_KHR_external_semaphore 1
6724 #define VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION 1
6725 #define VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME "VK_KHR_external_semaphore"
6726 typedef VkSemaphoreImportFlags VkSemaphoreImportFlagsKHR;
6728 typedef VkSemaphoreImportFlagBits VkSemaphoreImportFlagBitsKHR;
6730 typedef VkExportSemaphoreCreateInfo VkExportSemaphoreCreateInfoKHR;
6734 #define VK_KHR_external_semaphore_fd 1
6735 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION 1
6736 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME "VK_KHR_external_semaphore_fd"
6737 typedef struct VkImportSemaphoreFdInfoKHR {
6738 VkStructureType sType;
6740 VkSemaphore semaphore;
6741 VkSemaphoreImportFlags flags;
6742 VkExternalSemaphoreHandleTypeFlagBits handleType;
6744 } VkImportSemaphoreFdInfoKHR;
6746 typedef struct VkSemaphoreGetFdInfoKHR {
6747 VkStructureType sType;
6749 VkSemaphore semaphore;
6750 VkExternalSemaphoreHandleTypeFlagBits handleType;
6751 } VkSemaphoreGetFdInfoKHR;
6753 typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreFdKHR)(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
6754 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreFdKHR)(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd);
6756 #ifndef VK_NO_PROTOTYPES
6757 VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreFdKHR(
6759 const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
6761 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreFdKHR(
6763 const VkSemaphoreGetFdInfoKHR* pGetFdInfo,
6768 #define VK_KHR_push_descriptor 1
6769 #define VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION 2
6770 #define VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME "VK_KHR_push_descriptor"
6771 typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
6772 VkStructureType sType;
6774 uint32_t maxPushDescriptors;
6775 } VkPhysicalDevicePushDescriptorPropertiesKHR;
6777 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetKHR)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites);
6778 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplateKHR)(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void* pData);
6780 #ifndef VK_NO_PROTOTYPES
6781 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetKHR(
6782 VkCommandBuffer commandBuffer,
6783 VkPipelineBindPoint pipelineBindPoint,
6784 VkPipelineLayout layout,
6786 uint32_t descriptorWriteCount,
6787 const VkWriteDescriptorSet* pDescriptorWrites);
6789 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplateKHR(
6790 VkCommandBuffer commandBuffer,
6791 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
6792 VkPipelineLayout layout,
6798 #define VK_KHR_shader_float16_int8 1
6799 #define VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION 1
6800 #define VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME "VK_KHR_shader_float16_int8"
6801 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceShaderFloat16Int8FeaturesKHR;
6803 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceFloat16Int8FeaturesKHR;
6807 #define VK_KHR_16bit_storage 1
6808 #define VK_KHR_16BIT_STORAGE_SPEC_VERSION 1
6809 #define VK_KHR_16BIT_STORAGE_EXTENSION_NAME "VK_KHR_16bit_storage"
6810 typedef VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeaturesKHR;
6814 #define VK_KHR_incremental_present 1
6815 #define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 2
6816 #define VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME "VK_KHR_incremental_present"
6817 typedef struct VkRectLayerKHR {
6823 typedef struct VkPresentRegionKHR {
6824 uint32_t rectangleCount;
6825 const VkRectLayerKHR* pRectangles;
6826 } VkPresentRegionKHR;
6828 typedef struct VkPresentRegionsKHR {
6829 VkStructureType sType;
6831 uint32_t swapchainCount;
6832 const VkPresentRegionKHR* pRegions;
6833 } VkPresentRegionsKHR;
6837 #define VK_KHR_descriptor_update_template 1
6838 typedef VkDescriptorUpdateTemplate VkDescriptorUpdateTemplateKHR;
6840 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION 1
6841 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME "VK_KHR_descriptor_update_template"
6842 typedef VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateTypeKHR;
6844 typedef VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlagsKHR;
6846 typedef VkDescriptorUpdateTemplateEntry VkDescriptorUpdateTemplateEntryKHR;
6848 typedef VkDescriptorUpdateTemplateCreateInfo VkDescriptorUpdateTemplateCreateInfoKHR;
6850 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplateKHR)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
6851 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplateKHR)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
6852 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplateKHR)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
6854 #ifndef VK_NO_PROTOTYPES
6855 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplateKHR(
6857 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
6858 const VkAllocationCallbacks* pAllocator,
6859 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
6861 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplateKHR(
6863 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
6864 const VkAllocationCallbacks* pAllocator);
6866 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplateKHR(
6868 VkDescriptorSet descriptorSet,
6869 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
6874 #define VK_KHR_imageless_framebuffer 1
6875 #define VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION 1
6876 #define VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME "VK_KHR_imageless_framebuffer"
6877 typedef VkPhysicalDeviceImagelessFramebufferFeatures VkPhysicalDeviceImagelessFramebufferFeaturesKHR;
6879 typedef VkFramebufferAttachmentsCreateInfo VkFramebufferAttachmentsCreateInfoKHR;
6881 typedef VkFramebufferAttachmentImageInfo VkFramebufferAttachmentImageInfoKHR;
6883 typedef VkRenderPassAttachmentBeginInfo VkRenderPassAttachmentBeginInfoKHR;
6887 #define VK_KHR_create_renderpass2 1
6888 #define VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION 1
6889 #define VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME "VK_KHR_create_renderpass2"
6890 typedef VkRenderPassCreateInfo2 VkRenderPassCreateInfo2KHR;
6892 typedef VkAttachmentDescription2 VkAttachmentDescription2KHR;
6894 typedef VkAttachmentReference2 VkAttachmentReference2KHR;
6896 typedef VkSubpassDescription2 VkSubpassDescription2KHR;
6898 typedef VkSubpassDependency2 VkSubpassDependency2KHR;
6900 typedef VkSubpassBeginInfo VkSubpassBeginInfoKHR;
6902 typedef VkSubpassEndInfo VkSubpassEndInfoKHR;
6904 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2KHR)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
6905 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo);
6906 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo);
6907 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo);
6909 #ifndef VK_NO_PROTOTYPES
6910 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2KHR(
6912 const VkRenderPassCreateInfo2* pCreateInfo,
6913 const VkAllocationCallbacks* pAllocator,
6914 VkRenderPass* pRenderPass);
6916 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2KHR(
6917 VkCommandBuffer commandBuffer,
6918 const VkRenderPassBeginInfo* pRenderPassBegin,
6919 const VkSubpassBeginInfo* pSubpassBeginInfo);
6921 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2KHR(
6922 VkCommandBuffer commandBuffer,
6923 const VkSubpassBeginInfo* pSubpassBeginInfo,
6924 const VkSubpassEndInfo* pSubpassEndInfo);
6926 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2KHR(
6927 VkCommandBuffer commandBuffer,
6928 const VkSubpassEndInfo* pSubpassEndInfo);
6932 #define VK_KHR_shared_presentable_image 1
6933 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION 1
6934 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME "VK_KHR_shared_presentable_image"
6935 typedef struct VkSharedPresentSurfaceCapabilitiesKHR {
6936 VkStructureType sType;
6938 VkImageUsageFlags sharedPresentSupportedUsageFlags;
6939 } VkSharedPresentSurfaceCapabilitiesKHR;
6941 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainStatusKHR)(VkDevice device, VkSwapchainKHR swapchain);
6943 #ifndef VK_NO_PROTOTYPES
6944 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainStatusKHR(
6946 VkSwapchainKHR swapchain);
6950 #define VK_KHR_external_fence_capabilities 1
6951 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION 1
6952 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_fence_capabilities"
6953 typedef VkExternalFenceHandleTypeFlags VkExternalFenceHandleTypeFlagsKHR;
6955 typedef VkExternalFenceHandleTypeFlagBits VkExternalFenceHandleTypeFlagBitsKHR;
6957 typedef VkExternalFenceFeatureFlags VkExternalFenceFeatureFlagsKHR;
6959 typedef VkExternalFenceFeatureFlagBits VkExternalFenceFeatureFlagBitsKHR;
6961 typedef VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfoKHR;
6963 typedef VkExternalFenceProperties VkExternalFencePropertiesKHR;
6965 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
6967 #ifndef VK_NO_PROTOTYPES
6968 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFencePropertiesKHR(
6969 VkPhysicalDevice physicalDevice,
6970 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
6971 VkExternalFenceProperties* pExternalFenceProperties);
6975 #define VK_KHR_external_fence 1
6976 #define VK_KHR_EXTERNAL_FENCE_SPEC_VERSION 1
6977 #define VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME "VK_KHR_external_fence"
6978 typedef VkFenceImportFlags VkFenceImportFlagsKHR;
6980 typedef VkFenceImportFlagBits VkFenceImportFlagBitsKHR;
6982 typedef VkExportFenceCreateInfo VkExportFenceCreateInfoKHR;
6986 #define VK_KHR_external_fence_fd 1
6987 #define VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION 1
6988 #define VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME "VK_KHR_external_fence_fd"
6989 typedef struct VkImportFenceFdInfoKHR {
6990 VkStructureType sType;
6993 VkFenceImportFlags flags;
6994 VkExternalFenceHandleTypeFlagBits handleType;
6996 } VkImportFenceFdInfoKHR;
6998 typedef struct VkFenceGetFdInfoKHR {
6999 VkStructureType sType;
7002 VkExternalFenceHandleTypeFlagBits handleType;
7003 } VkFenceGetFdInfoKHR;
7005 typedef VkResult (VKAPI_PTR *PFN_vkImportFenceFdKHR)(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
7006 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceFdKHR)(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd);
7008 #ifndef VK_NO_PROTOTYPES
7009 VKAPI_ATTR VkResult VKAPI_CALL vkImportFenceFdKHR(
7011 const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
7013 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceFdKHR(
7015 const VkFenceGetFdInfoKHR* pGetFdInfo,
7020 #define VK_KHR_performance_query 1
7021 #define VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION 1
7022 #define VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME "VK_KHR_performance_query"
7024 typedef enum VkPerformanceCounterUnitKHR {
7025 VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR = 0,
7026 VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR = 1,
7027 VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR = 2,
7028 VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR = 3,
7029 VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR = 4,
7030 VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR = 5,
7031 VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR = 6,
7032 VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR = 7,
7033 VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR = 8,
7034 VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR = 9,
7035 VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR = 10,
7036 VK_PERFORMANCE_COUNTER_UNIT_MAX_ENUM_KHR = 0x7FFFFFFF
7037 } VkPerformanceCounterUnitKHR;
7039 typedef enum VkPerformanceCounterScopeKHR {
7040 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR = 0,
7041 VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR = 1,
7042 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR = 2,
7043 VK_QUERY_SCOPE_COMMAND_BUFFER_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR,
7044 VK_QUERY_SCOPE_RENDER_PASS_KHR = VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR,
7045 VK_QUERY_SCOPE_COMMAND_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR,
7046 VK_PERFORMANCE_COUNTER_SCOPE_MAX_ENUM_KHR = 0x7FFFFFFF
7047 } VkPerformanceCounterScopeKHR;
7049 typedef enum VkPerformanceCounterStorageKHR {
7050 VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR = 0,
7051 VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR = 1,
7052 VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR = 2,
7053 VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR = 3,
7054 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR = 4,
7055 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR = 5,
7056 VK_PERFORMANCE_COUNTER_STORAGE_MAX_ENUM_KHR = 0x7FFFFFFF
7057 } VkPerformanceCounterStorageKHR;
7059 typedef enum VkPerformanceCounterDescriptionFlagBitsKHR {
7060 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR = 0x00000001,
7061 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR = 0x00000002,
7062 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR,
7063 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR,
7064 VK_PERFORMANCE_COUNTER_DESCRIPTION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7065 } VkPerformanceCounterDescriptionFlagBitsKHR;
7066 typedef VkFlags VkPerformanceCounterDescriptionFlagsKHR;
7068 typedef enum VkAcquireProfilingLockFlagBitsKHR {
7069 VK_ACQUIRE_PROFILING_LOCK_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7070 } VkAcquireProfilingLockFlagBitsKHR;
7071 typedef VkFlags VkAcquireProfilingLockFlagsKHR;
7072 typedef struct VkPhysicalDevicePerformanceQueryFeaturesKHR {
7073 VkStructureType sType;
7075 VkBool32 performanceCounterQueryPools;
7076 VkBool32 performanceCounterMultipleQueryPools;
7077 } VkPhysicalDevicePerformanceQueryFeaturesKHR;
7079 typedef struct VkPhysicalDevicePerformanceQueryPropertiesKHR {
7080 VkStructureType sType;
7082 VkBool32 allowCommandBufferQueryCopies;
7083 } VkPhysicalDevicePerformanceQueryPropertiesKHR;
7085 typedef struct VkPerformanceCounterKHR {
7086 VkStructureType sType;
7088 VkPerformanceCounterUnitKHR unit;
7089 VkPerformanceCounterScopeKHR scope;
7090 VkPerformanceCounterStorageKHR storage;
7091 uint8_t uuid[VK_UUID_SIZE];
7092 } VkPerformanceCounterKHR;
7094 typedef struct VkPerformanceCounterDescriptionKHR {
7095 VkStructureType sType;
7097 VkPerformanceCounterDescriptionFlagsKHR flags;
7098 char name[VK_MAX_DESCRIPTION_SIZE];
7099 char category[VK_MAX_DESCRIPTION_SIZE];
7100 char description[VK_MAX_DESCRIPTION_SIZE];
7101 } VkPerformanceCounterDescriptionKHR;
7103 typedef struct VkQueryPoolPerformanceCreateInfoKHR {
7104 VkStructureType sType;
7106 uint32_t queueFamilyIndex;
7107 uint32_t counterIndexCount;
7108 const uint32_t* pCounterIndices;
7109 } VkQueryPoolPerformanceCreateInfoKHR;
7111 typedef union VkPerformanceCounterResultKHR {
7118 } VkPerformanceCounterResultKHR;
7120 typedef struct VkAcquireProfilingLockInfoKHR {
7121 VkStructureType sType;
7123 VkAcquireProfilingLockFlagsKHR flags;
7125 } VkAcquireProfilingLockInfoKHR;
7127 typedef struct VkPerformanceQuerySubmitInfoKHR {
7128 VkStructureType sType;
7130 uint32_t counterPassIndex;
7131 } VkPerformanceQuerySubmitInfoKHR;
7133 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, uint32_t* pCounterCount, VkPerformanceCounterKHR* pCounters, VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
7134 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR)(VkPhysicalDevice physicalDevice, const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, uint32_t* pNumPasses);
7135 typedef VkResult (VKAPI_PTR *PFN_vkAcquireProfilingLockKHR)(VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo);
7136 typedef void (VKAPI_PTR *PFN_vkReleaseProfilingLockKHR)(VkDevice device);
7138 #ifndef VK_NO_PROTOTYPES
7139 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
7140 VkPhysicalDevice physicalDevice,
7141 uint32_t queueFamilyIndex,
7142 uint32_t* pCounterCount,
7143 VkPerformanceCounterKHR* pCounters,
7144 VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
7146 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
7147 VkPhysicalDevice physicalDevice,
7148 const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo,
7149 uint32_t* pNumPasses);
7151 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireProfilingLockKHR(
7153 const VkAcquireProfilingLockInfoKHR* pInfo);
7155 VKAPI_ATTR void VKAPI_CALL vkReleaseProfilingLockKHR(
7160 #define VK_KHR_maintenance2 1
7161 #define VK_KHR_MAINTENANCE2_SPEC_VERSION 1
7162 #define VK_KHR_MAINTENANCE2_EXTENSION_NAME "VK_KHR_maintenance2"
7163 typedef VkPointClippingBehavior VkPointClippingBehaviorKHR;
7165 typedef VkTessellationDomainOrigin VkTessellationDomainOriginKHR;
7167 typedef VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingPropertiesKHR;
7169 typedef VkRenderPassInputAttachmentAspectCreateInfo VkRenderPassInputAttachmentAspectCreateInfoKHR;
7171 typedef VkInputAttachmentAspectReference VkInputAttachmentAspectReferenceKHR;
7173 typedef VkImageViewUsageCreateInfo VkImageViewUsageCreateInfoKHR;
7175 typedef VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfoKHR;
7179 #define VK_KHR_get_surface_capabilities2 1
7180 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION 1
7181 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME "VK_KHR_get_surface_capabilities2"
7182 typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
7183 VkStructureType sType;
7185 VkSurfaceKHR surface;
7186 } VkPhysicalDeviceSurfaceInfo2KHR;
7188 typedef struct VkSurfaceCapabilities2KHR {
7189 VkStructureType sType;
7191 VkSurfaceCapabilitiesKHR surfaceCapabilities;
7192 } VkSurfaceCapabilities2KHR;
7194 typedef struct VkSurfaceFormat2KHR {
7195 VkStructureType sType;
7197 VkSurfaceFormatKHR surfaceFormat;
7198 } VkSurfaceFormat2KHR;
7200 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
7201 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormats2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, uint32_t* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats);
7203 #ifndef VK_NO_PROTOTYPES
7204 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2KHR(
7205 VkPhysicalDevice physicalDevice,
7206 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
7207 VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
7209 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormats2KHR(
7210 VkPhysicalDevice physicalDevice,
7211 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
7212 uint32_t* pSurfaceFormatCount,
7213 VkSurfaceFormat2KHR* pSurfaceFormats);
7217 #define VK_KHR_variable_pointers 1
7218 #define VK_KHR_VARIABLE_POINTERS_SPEC_VERSION 1
7219 #define VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME "VK_KHR_variable_pointers"
7220 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeaturesKHR;
7222 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointersFeaturesKHR;
7226 #define VK_KHR_get_display_properties2 1
7227 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION 1
7228 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_display_properties2"
7229 typedef struct VkDisplayProperties2KHR {
7230 VkStructureType sType;
7232 VkDisplayPropertiesKHR displayProperties;
7233 } VkDisplayProperties2KHR;
7235 typedef struct VkDisplayPlaneProperties2KHR {
7236 VkStructureType sType;
7238 VkDisplayPlanePropertiesKHR displayPlaneProperties;
7239 } VkDisplayPlaneProperties2KHR;
7241 typedef struct VkDisplayModeProperties2KHR {
7242 VkStructureType sType;
7244 VkDisplayModePropertiesKHR displayModeProperties;
7245 } VkDisplayModeProperties2KHR;
7247 typedef struct VkDisplayPlaneInfo2KHR {
7248 VkStructureType sType;
7250 VkDisplayModeKHR mode;
7251 uint32_t planeIndex;
7252 } VkDisplayPlaneInfo2KHR;
7254 typedef struct VkDisplayPlaneCapabilities2KHR {
7255 VkStructureType sType;
7257 VkDisplayPlaneCapabilitiesKHR capabilities;
7258 } VkDisplayPlaneCapabilities2KHR;
7260 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayProperties2KHR* pProperties);
7261 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlaneProperties2KHR* pProperties);
7262 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModeProperties2KHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModeProperties2KHR* pProperties);
7263 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, VkDisplayPlaneCapabilities2KHR* pCapabilities);
7265 #ifndef VK_NO_PROTOTYPES
7266 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayProperties2KHR(
7267 VkPhysicalDevice physicalDevice,
7268 uint32_t* pPropertyCount,
7269 VkDisplayProperties2KHR* pProperties);
7271 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlaneProperties2KHR(
7272 VkPhysicalDevice physicalDevice,
7273 uint32_t* pPropertyCount,
7274 VkDisplayPlaneProperties2KHR* pProperties);
7276 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModeProperties2KHR(
7277 VkPhysicalDevice physicalDevice,
7278 VkDisplayKHR display,
7279 uint32_t* pPropertyCount,
7280 VkDisplayModeProperties2KHR* pProperties);
7282 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilities2KHR(
7283 VkPhysicalDevice physicalDevice,
7284 const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo,
7285 VkDisplayPlaneCapabilities2KHR* pCapabilities);
7289 #define VK_KHR_dedicated_allocation 1
7290 #define VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION 3
7291 #define VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_KHR_dedicated_allocation"
7292 typedef VkMemoryDedicatedRequirements VkMemoryDedicatedRequirementsKHR;
7294 typedef VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfoKHR;
7298 #define VK_KHR_storage_buffer_storage_class 1
7299 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION 1
7300 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME "VK_KHR_storage_buffer_storage_class"
7303 #define VK_KHR_relaxed_block_layout 1
7304 #define VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION 1
7305 #define VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME "VK_KHR_relaxed_block_layout"
7308 #define VK_KHR_get_memory_requirements2 1
7309 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION 1
7310 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME "VK_KHR_get_memory_requirements2"
7311 typedef VkBufferMemoryRequirementsInfo2 VkBufferMemoryRequirementsInfo2KHR;
7313 typedef VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2KHR;
7315 typedef VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2KHR;
7317 typedef VkMemoryRequirements2 VkMemoryRequirements2KHR;
7319 typedef VkSparseImageMemoryRequirements2 VkSparseImageMemoryRequirements2KHR;
7321 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2KHR)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
7322 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2KHR)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
7323 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2KHR)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
7325 #ifndef VK_NO_PROTOTYPES
7326 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2KHR(
7328 const VkImageMemoryRequirementsInfo2* pInfo,
7329 VkMemoryRequirements2* pMemoryRequirements);
7331 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2KHR(
7333 const VkBufferMemoryRequirementsInfo2* pInfo,
7334 VkMemoryRequirements2* pMemoryRequirements);
7336 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2KHR(
7338 const VkImageSparseMemoryRequirementsInfo2* pInfo,
7339 uint32_t* pSparseMemoryRequirementCount,
7340 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
7344 #define VK_KHR_image_format_list 1
7345 #define VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION 1
7346 #define VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME "VK_KHR_image_format_list"
7347 typedef VkImageFormatListCreateInfo VkImageFormatListCreateInfoKHR;
7351 #define VK_KHR_sampler_ycbcr_conversion 1
7352 typedef VkSamplerYcbcrConversion VkSamplerYcbcrConversionKHR;
7354 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION 14
7355 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME "VK_KHR_sampler_ycbcr_conversion"
7356 typedef VkSamplerYcbcrModelConversion VkSamplerYcbcrModelConversionKHR;
7358 typedef VkSamplerYcbcrRange VkSamplerYcbcrRangeKHR;
7360 typedef VkChromaLocation VkChromaLocationKHR;
7362 typedef VkSamplerYcbcrConversionCreateInfo VkSamplerYcbcrConversionCreateInfoKHR;
7364 typedef VkSamplerYcbcrConversionInfo VkSamplerYcbcrConversionInfoKHR;
7366 typedef VkBindImagePlaneMemoryInfo VkBindImagePlaneMemoryInfoKHR;
7368 typedef VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfoKHR;
7370 typedef VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR;
7372 typedef VkSamplerYcbcrConversionImageFormatProperties VkSamplerYcbcrConversionImageFormatPropertiesKHR;
7374 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversionKHR)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
7375 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversionKHR)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
7377 #ifndef VK_NO_PROTOTYPES
7378 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversionKHR(
7380 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
7381 const VkAllocationCallbacks* pAllocator,
7382 VkSamplerYcbcrConversion* pYcbcrConversion);
7384 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversionKHR(
7386 VkSamplerYcbcrConversion ycbcrConversion,
7387 const VkAllocationCallbacks* pAllocator);
7391 #define VK_KHR_bind_memory2 1
7392 #define VK_KHR_BIND_MEMORY_2_SPEC_VERSION 1
7393 #define VK_KHR_BIND_MEMORY_2_EXTENSION_NAME "VK_KHR_bind_memory2"
7394 typedef VkBindBufferMemoryInfo VkBindBufferMemoryInfoKHR;
7396 typedef VkBindImageMemoryInfo VkBindImageMemoryInfoKHR;
7398 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2KHR)(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
7399 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2KHR)(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
7401 #ifndef VK_NO_PROTOTYPES
7402 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2KHR(
7404 uint32_t bindInfoCount,
7405 const VkBindBufferMemoryInfo* pBindInfos);
7407 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2KHR(
7409 uint32_t bindInfoCount,
7410 const VkBindImageMemoryInfo* pBindInfos);
7414 #define VK_KHR_maintenance3 1
7415 #define VK_KHR_MAINTENANCE3_SPEC_VERSION 1
7416 #define VK_KHR_MAINTENANCE3_EXTENSION_NAME "VK_KHR_maintenance3"
7417 typedef VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3PropertiesKHR;
7419 typedef VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupportKHR;
7421 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupportKHR)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
7423 #ifndef VK_NO_PROTOTYPES
7424 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupportKHR(
7426 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
7427 VkDescriptorSetLayoutSupport* pSupport);
7431 #define VK_KHR_draw_indirect_count 1
7432 #define VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION 1
7433 #define VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_KHR_draw_indirect_count"
7434 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
7435 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
7437 #ifndef VK_NO_PROTOTYPES
7438 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountKHR(
7439 VkCommandBuffer commandBuffer,
7441 VkDeviceSize offset,
7442 VkBuffer countBuffer,
7443 VkDeviceSize countBufferOffset,
7444 uint32_t maxDrawCount,
7447 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountKHR(
7448 VkCommandBuffer commandBuffer,
7450 VkDeviceSize offset,
7451 VkBuffer countBuffer,
7452 VkDeviceSize countBufferOffset,
7453 uint32_t maxDrawCount,
7458 #define VK_KHR_shader_subgroup_extended_types 1
7459 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION 1
7460 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME "VK_KHR_shader_subgroup_extended_types"
7461 typedef VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR;
7465 #define VK_KHR_8bit_storage 1
7466 #define VK_KHR_8BIT_STORAGE_SPEC_VERSION 1
7467 #define VK_KHR_8BIT_STORAGE_EXTENSION_NAME "VK_KHR_8bit_storage"
7468 typedef VkPhysicalDevice8BitStorageFeatures VkPhysicalDevice8BitStorageFeaturesKHR;
7472 #define VK_KHR_shader_atomic_int64 1
7473 #define VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION 1
7474 #define VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME "VK_KHR_shader_atomic_int64"
7475 typedef VkPhysicalDeviceShaderAtomicInt64Features VkPhysicalDeviceShaderAtomicInt64FeaturesKHR;
7479 #define VK_KHR_shader_clock 1
7480 #define VK_KHR_SHADER_CLOCK_SPEC_VERSION 1
7481 #define VK_KHR_SHADER_CLOCK_EXTENSION_NAME "VK_KHR_shader_clock"
7482 typedef struct VkPhysicalDeviceShaderClockFeaturesKHR {
7483 VkStructureType sType;
7485 VkBool32 shaderSubgroupClock;
7486 VkBool32 shaderDeviceClock;
7487 } VkPhysicalDeviceShaderClockFeaturesKHR;
7491 #define VK_KHR_driver_properties 1
7492 #define VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION 1
7493 #define VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME "VK_KHR_driver_properties"
7494 #define VK_MAX_DRIVER_NAME_SIZE_KHR VK_MAX_DRIVER_NAME_SIZE
7495 #define VK_MAX_DRIVER_INFO_SIZE_KHR VK_MAX_DRIVER_INFO_SIZE
7496 typedef VkDriverId VkDriverIdKHR;
7498 typedef VkConformanceVersion VkConformanceVersionKHR;
7500 typedef VkPhysicalDeviceDriverProperties VkPhysicalDeviceDriverPropertiesKHR;
7504 #define VK_KHR_shader_float_controls 1
7505 #define VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION 4
7506 #define VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME "VK_KHR_shader_float_controls"
7507 typedef VkShaderFloatControlsIndependence VkShaderFloatControlsIndependenceKHR;
7509 typedef VkPhysicalDeviceFloatControlsProperties VkPhysicalDeviceFloatControlsPropertiesKHR;
7513 #define VK_KHR_depth_stencil_resolve 1
7514 #define VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION 1
7515 #define VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME "VK_KHR_depth_stencil_resolve"
7516 typedef VkResolveModeFlagBits VkResolveModeFlagBitsKHR;
7518 typedef VkResolveModeFlags VkResolveModeFlagsKHR;
7520 typedef VkSubpassDescriptionDepthStencilResolve VkSubpassDescriptionDepthStencilResolveKHR;
7522 typedef VkPhysicalDeviceDepthStencilResolveProperties VkPhysicalDeviceDepthStencilResolvePropertiesKHR;
7526 #define VK_KHR_swapchain_mutable_format 1
7527 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION 1
7528 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME "VK_KHR_swapchain_mutable_format"
7531 #define VK_KHR_timeline_semaphore 1
7532 #define VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION 2
7533 #define VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME "VK_KHR_timeline_semaphore"
7534 typedef VkSemaphoreType VkSemaphoreTypeKHR;
7536 typedef VkSemaphoreWaitFlagBits VkSemaphoreWaitFlagBitsKHR;
7538 typedef VkSemaphoreWaitFlags VkSemaphoreWaitFlagsKHR;
7540 typedef VkPhysicalDeviceTimelineSemaphoreFeatures VkPhysicalDeviceTimelineSemaphoreFeaturesKHR;
7542 typedef VkPhysicalDeviceTimelineSemaphoreProperties VkPhysicalDeviceTimelineSemaphorePropertiesKHR;
7544 typedef VkSemaphoreTypeCreateInfo VkSemaphoreTypeCreateInfoKHR;
7546 typedef VkTimelineSemaphoreSubmitInfo VkTimelineSemaphoreSubmitInfoKHR;
7548 typedef VkSemaphoreWaitInfo VkSemaphoreWaitInfoKHR;
7550 typedef VkSemaphoreSignalInfo VkSemaphoreSignalInfoKHR;
7552 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValueKHR)(VkDevice device, VkSemaphore semaphore, uint64_t* pValue);
7553 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphoresKHR)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout);
7554 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphoreKHR)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo);
7556 #ifndef VK_NO_PROTOTYPES
7557 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValueKHR(
7559 VkSemaphore semaphore,
7562 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphoresKHR(
7564 const VkSemaphoreWaitInfo* pWaitInfo,
7567 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphoreKHR(
7569 const VkSemaphoreSignalInfo* pSignalInfo);
7573 #define VK_KHR_vulkan_memory_model 1
7574 #define VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION 3
7575 #define VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME "VK_KHR_vulkan_memory_model"
7576 typedef VkPhysicalDeviceVulkanMemoryModelFeatures VkPhysicalDeviceVulkanMemoryModelFeaturesKHR;
7580 #define VK_KHR_shader_terminate_invocation 1
7581 #define VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION 1
7582 #define VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME "VK_KHR_shader_terminate_invocation"
7583 typedef struct VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR {
7584 VkStructureType sType;
7586 VkBool32 shaderTerminateInvocation;
7587 } VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR;
7591 #define VK_KHR_fragment_shading_rate 1
7592 #define VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION 1
7593 #define VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME "VK_KHR_fragment_shading_rate"
7595 typedef enum VkFragmentShadingRateCombinerOpKHR {
7596 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR = 0,
7597 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR = 1,
7598 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR = 2,
7599 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR = 3,
7600 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR = 4,
7601 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_ENUM_KHR = 0x7FFFFFFF
7602 } VkFragmentShadingRateCombinerOpKHR;
7603 typedef struct VkFragmentShadingRateAttachmentInfoKHR {
7604 VkStructureType sType;
7606 const VkAttachmentReference2* pFragmentShadingRateAttachment;
7607 VkExtent2D shadingRateAttachmentTexelSize;
7608 } VkFragmentShadingRateAttachmentInfoKHR;
7610 typedef struct VkPipelineFragmentShadingRateStateCreateInfoKHR {
7611 VkStructureType sType;
7613 VkExtent2D fragmentSize;
7614 VkFragmentShadingRateCombinerOpKHR combinerOps[2];
7615 } VkPipelineFragmentShadingRateStateCreateInfoKHR;
7617 typedef struct VkPhysicalDeviceFragmentShadingRateFeaturesKHR {
7618 VkStructureType sType;
7620 VkBool32 pipelineFragmentShadingRate;
7621 VkBool32 primitiveFragmentShadingRate;
7622 VkBool32 attachmentFragmentShadingRate;
7623 } VkPhysicalDeviceFragmentShadingRateFeaturesKHR;
7625 typedef struct VkPhysicalDeviceFragmentShadingRatePropertiesKHR {
7626 VkStructureType sType;
7628 VkExtent2D minFragmentShadingRateAttachmentTexelSize;
7629 VkExtent2D maxFragmentShadingRateAttachmentTexelSize;
7630 uint32_t maxFragmentShadingRateAttachmentTexelSizeAspectRatio;
7631 VkBool32 primitiveFragmentShadingRateWithMultipleViewports;
7632 VkBool32 layeredShadingRateAttachments;
7633 VkBool32 fragmentShadingRateNonTrivialCombinerOps;
7634 VkExtent2D maxFragmentSize;
7635 uint32_t maxFragmentSizeAspectRatio;
7636 uint32_t maxFragmentShadingRateCoverageSamples;
7637 VkSampleCountFlagBits maxFragmentShadingRateRasterizationSamples;
7638 VkBool32 fragmentShadingRateWithShaderDepthStencilWrites;
7639 VkBool32 fragmentShadingRateWithSampleMask;
7640 VkBool32 fragmentShadingRateWithShaderSampleMask;
7641 VkBool32 fragmentShadingRateWithConservativeRasterization;
7642 VkBool32 fragmentShadingRateWithFragmentShaderInterlock;
7643 VkBool32 fragmentShadingRateWithCustomSampleLocations;
7644 VkBool32 fragmentShadingRateStrictMultiplyCombiner;
7645 } VkPhysicalDeviceFragmentShadingRatePropertiesKHR;
7647 typedef struct VkPhysicalDeviceFragmentShadingRateKHR {
7648 VkStructureType sType;
7650 VkSampleCountFlags sampleCounts;
7651 VkExtent2D fragmentSize;
7652 } VkPhysicalDeviceFragmentShadingRateKHR;
7654 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pFragmentShadingRateCount, VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates);
7655 typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateKHR)(VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
7657 #ifndef VK_NO_PROTOTYPES
7658 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceFragmentShadingRatesKHR(
7659 VkPhysicalDevice physicalDevice,
7660 uint32_t* pFragmentShadingRateCount,
7661 VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates);
7663 VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateKHR(
7664 VkCommandBuffer commandBuffer,
7665 const VkExtent2D* pFragmentSize,
7666 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
7670 #define VK_KHR_spirv_1_4 1
7671 #define VK_KHR_SPIRV_1_4_SPEC_VERSION 1
7672 #define VK_KHR_SPIRV_1_4_EXTENSION_NAME "VK_KHR_spirv_1_4"
7675 #define VK_KHR_surface_protected_capabilities 1
7676 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION 1
7677 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME "VK_KHR_surface_protected_capabilities"
7678 typedef struct VkSurfaceProtectedCapabilitiesKHR {
7679 VkStructureType sType;
7681 VkBool32 supportsProtected;
7682 } VkSurfaceProtectedCapabilitiesKHR;
7686 #define VK_KHR_separate_depth_stencil_layouts 1
7687 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION 1
7688 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME "VK_KHR_separate_depth_stencil_layouts"
7689 typedef VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR;
7691 typedef VkAttachmentReferenceStencilLayout VkAttachmentReferenceStencilLayoutKHR;
7693 typedef VkAttachmentDescriptionStencilLayout VkAttachmentDescriptionStencilLayoutKHR;
7697 #define VK_KHR_present_wait 1
7698 #define VK_KHR_PRESENT_WAIT_SPEC_VERSION 1
7699 #define VK_KHR_PRESENT_WAIT_EXTENSION_NAME "VK_KHR_present_wait"
7700 typedef struct VkPhysicalDevicePresentWaitFeaturesKHR {
7701 VkStructureType sType;
7703 VkBool32 presentWait;
7704 } VkPhysicalDevicePresentWaitFeaturesKHR;
7706 typedef VkResult (VKAPI_PTR *PFN_vkWaitForPresentKHR)(VkDevice device, VkSwapchainKHR swapchain, uint64_t presentId, uint64_t timeout);
7708 #ifndef VK_NO_PROTOTYPES
7709 VKAPI_ATTR VkResult VKAPI_CALL vkWaitForPresentKHR(
7711 VkSwapchainKHR swapchain,
7717 #define VK_KHR_uniform_buffer_standard_layout 1
7718 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION 1
7719 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME "VK_KHR_uniform_buffer_standard_layout"
7720 typedef VkPhysicalDeviceUniformBufferStandardLayoutFeatures VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR;
7724 #define VK_KHR_buffer_device_address 1
7725 #define VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 1
7726 #define VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_KHR_buffer_device_address"
7727 typedef VkPhysicalDeviceBufferDeviceAddressFeatures VkPhysicalDeviceBufferDeviceAddressFeaturesKHR;
7729 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoKHR;
7731 typedef VkBufferOpaqueCaptureAddressCreateInfo VkBufferOpaqueCaptureAddressCreateInfoKHR;
7733 typedef VkMemoryOpaqueCaptureAddressAllocateInfo VkMemoryOpaqueCaptureAddressAllocateInfoKHR;
7735 typedef VkDeviceMemoryOpaqueCaptureAddressInfo VkDeviceMemoryOpaqueCaptureAddressInfoKHR;
7737 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
7738 typedef uint64_t (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
7739 typedef uint64_t (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
7741 #ifndef VK_NO_PROTOTYPES
7742 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressKHR(
7744 const VkBufferDeviceAddressInfo* pInfo);
7746 VKAPI_ATTR uint64_t VKAPI_CALL vkGetBufferOpaqueCaptureAddressKHR(
7748 const VkBufferDeviceAddressInfo* pInfo);
7750 VKAPI_ATTR uint64_t VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddressKHR(
7752 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
7756 #define VK_KHR_deferred_host_operations 1
7757 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeferredOperationKHR)
7758 #define VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION 4
7759 #define VK_KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME "VK_KHR_deferred_host_operations"
7760 typedef VkResult (VKAPI_PTR *PFN_vkCreateDeferredOperationKHR)(VkDevice device, const VkAllocationCallbacks* pAllocator, VkDeferredOperationKHR* pDeferredOperation);
7761 typedef void (VKAPI_PTR *PFN_vkDestroyDeferredOperationKHR)(VkDevice device, VkDeferredOperationKHR operation, const VkAllocationCallbacks* pAllocator);
7762 typedef uint32_t (VKAPI_PTR *PFN_vkGetDeferredOperationMaxConcurrencyKHR)(VkDevice device, VkDeferredOperationKHR operation);
7763 typedef VkResult (VKAPI_PTR *PFN_vkGetDeferredOperationResultKHR)(VkDevice device, VkDeferredOperationKHR operation);
7764 typedef VkResult (VKAPI_PTR *PFN_vkDeferredOperationJoinKHR)(VkDevice device, VkDeferredOperationKHR operation);
7766 #ifndef VK_NO_PROTOTYPES
7767 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDeferredOperationKHR(
7769 const VkAllocationCallbacks* pAllocator,
7770 VkDeferredOperationKHR* pDeferredOperation);
7772 VKAPI_ATTR void VKAPI_CALL vkDestroyDeferredOperationKHR(
7774 VkDeferredOperationKHR operation,
7775 const VkAllocationCallbacks* pAllocator);
7777 VKAPI_ATTR uint32_t VKAPI_CALL vkGetDeferredOperationMaxConcurrencyKHR(
7779 VkDeferredOperationKHR operation);
7781 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeferredOperationResultKHR(
7783 VkDeferredOperationKHR operation);
7785 VKAPI_ATTR VkResult VKAPI_CALL vkDeferredOperationJoinKHR(
7787 VkDeferredOperationKHR operation);
7791 #define VK_KHR_pipeline_executable_properties 1
7792 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION 1
7793 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME "VK_KHR_pipeline_executable_properties"
7795 typedef enum VkPipelineExecutableStatisticFormatKHR {
7796 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR = 0,
7797 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR = 1,
7798 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR = 2,
7799 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR = 3,
7800 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_MAX_ENUM_KHR = 0x7FFFFFFF
7801 } VkPipelineExecutableStatisticFormatKHR;
7802 typedef struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
7803 VkStructureType sType;
7805 VkBool32 pipelineExecutableInfo;
7806 } VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR;
7808 typedef struct VkPipelineInfoKHR {
7809 VkStructureType sType;
7811 VkPipeline pipeline;
7812 } VkPipelineInfoKHR;
7814 typedef struct VkPipelineExecutablePropertiesKHR {
7815 VkStructureType sType;
7817 VkShaderStageFlags stages;
7818 char name[VK_MAX_DESCRIPTION_SIZE];
7819 char description[VK_MAX_DESCRIPTION_SIZE];
7820 uint32_t subgroupSize;
7821 } VkPipelineExecutablePropertiesKHR;
7823 typedef struct VkPipelineExecutableInfoKHR {
7824 VkStructureType sType;
7826 VkPipeline pipeline;
7827 uint32_t executableIndex;
7828 } VkPipelineExecutableInfoKHR;
7830 typedef union VkPipelineExecutableStatisticValueKHR {
7835 } VkPipelineExecutableStatisticValueKHR;
7837 typedef struct VkPipelineExecutableStatisticKHR {
7838 VkStructureType sType;
7840 char name[VK_MAX_DESCRIPTION_SIZE];
7841 char description[VK_MAX_DESCRIPTION_SIZE];
7842 VkPipelineExecutableStatisticFormatKHR format;
7843 VkPipelineExecutableStatisticValueKHR value;
7844 } VkPipelineExecutableStatisticKHR;
7846 typedef struct VkPipelineExecutableInternalRepresentationKHR {
7847 VkStructureType sType;
7849 char name[VK_MAX_DESCRIPTION_SIZE];
7850 char description[VK_MAX_DESCRIPTION_SIZE];
7854 } VkPipelineExecutableInternalRepresentationKHR;
7856 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutablePropertiesKHR)(VkDevice device, const VkPipelineInfoKHR* pPipelineInfo, uint32_t* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties);
7857 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableStatisticsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics);
7858 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableInternalRepresentationsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
7860 #ifndef VK_NO_PROTOTYPES
7861 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutablePropertiesKHR(
7863 const VkPipelineInfoKHR* pPipelineInfo,
7864 uint32_t* pExecutableCount,
7865 VkPipelineExecutablePropertiesKHR* pProperties);
7867 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableStatisticsKHR(
7869 const VkPipelineExecutableInfoKHR* pExecutableInfo,
7870 uint32_t* pStatisticCount,
7871 VkPipelineExecutableStatisticKHR* pStatistics);
7873 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableInternalRepresentationsKHR(
7875 const VkPipelineExecutableInfoKHR* pExecutableInfo,
7876 uint32_t* pInternalRepresentationCount,
7877 VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
7881 #define VK_KHR_shader_integer_dot_product 1
7882 #define VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION 1
7883 #define VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME "VK_KHR_shader_integer_dot_product"
7884 typedef struct VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR {
7885 VkStructureType sType;
7887 VkBool32 shaderIntegerDotProduct;
7888 } VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR;
7890 typedef struct VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR {
7891 VkStructureType sType;
7893 VkBool32 integerDotProduct8BitUnsignedAccelerated;
7894 VkBool32 integerDotProduct8BitSignedAccelerated;
7895 VkBool32 integerDotProduct8BitMixedSignednessAccelerated;
7896 VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated;
7897 VkBool32 integerDotProduct4x8BitPackedSignedAccelerated;
7898 VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated;
7899 VkBool32 integerDotProduct16BitUnsignedAccelerated;
7900 VkBool32 integerDotProduct16BitSignedAccelerated;
7901 VkBool32 integerDotProduct16BitMixedSignednessAccelerated;
7902 VkBool32 integerDotProduct32BitUnsignedAccelerated;
7903 VkBool32 integerDotProduct32BitSignedAccelerated;
7904 VkBool32 integerDotProduct32BitMixedSignednessAccelerated;
7905 VkBool32 integerDotProduct64BitUnsignedAccelerated;
7906 VkBool32 integerDotProduct64BitSignedAccelerated;
7907 VkBool32 integerDotProduct64BitMixedSignednessAccelerated;
7908 VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated;
7909 VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated;
7910 VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated;
7911 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated;
7912 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated;
7913 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated;
7914 VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated;
7915 VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated;
7916 VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated;
7917 VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated;
7918 VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated;
7919 VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated;
7920 VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated;
7921 VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated;
7922 VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated;
7923 } VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR;
7927 #define VK_KHR_pipeline_library 1
7928 #define VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION 1
7929 #define VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME "VK_KHR_pipeline_library"
7930 typedef struct VkPipelineLibraryCreateInfoKHR {
7931 VkStructureType sType;
7933 uint32_t libraryCount;
7934 const VkPipeline* pLibraries;
7935 } VkPipelineLibraryCreateInfoKHR;
7939 #define VK_KHR_shader_non_semantic_info 1
7940 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION 1
7941 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME "VK_KHR_shader_non_semantic_info"
7944 #define VK_KHR_present_id 1
7945 #define VK_KHR_PRESENT_ID_SPEC_VERSION 1
7946 #define VK_KHR_PRESENT_ID_EXTENSION_NAME "VK_KHR_present_id"
7947 typedef struct VkPresentIdKHR {
7948 VkStructureType sType;
7950 uint32_t swapchainCount;
7951 const uint64_t* pPresentIds;
7954 typedef struct VkPhysicalDevicePresentIdFeaturesKHR {
7955 VkStructureType sType;
7958 } VkPhysicalDevicePresentIdFeaturesKHR;
7962 #define VK_KHR_synchronization2 1
7963 typedef uint64_t VkFlags64;
7964 #define VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION 1
7965 #define VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME "VK_KHR_synchronization2"
7966 typedef VkFlags64 VkPipelineStageFlags2KHR;
7968 // Flag bits for VkPipelineStageFlagBits2KHR
7969 typedef VkFlags64 VkPipelineStageFlagBits2KHR;
7970 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_NONE_KHR = 0ULL;
7971 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR = 0x00000001ULL;
7972 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR = 0x00000002ULL;
7973 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR = 0x00000004ULL;
7974 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR = 0x00000008ULL;
7975 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR = 0x00000010ULL;
7976 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR = 0x00000020ULL;
7977 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR = 0x00000040ULL;
7978 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR = 0x00000080ULL;
7979 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR = 0x00000100ULL;
7980 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR = 0x00000200ULL;
7981 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR = 0x00000400ULL;
7982 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR = 0x00000800ULL;
7983 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR = 0x00001000ULL;
7984 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR = 0x00001000ULL;
7985 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR = 0x00002000ULL;
7986 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_HOST_BIT_KHR = 0x00004000ULL;
7987 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR = 0x00008000ULL;
7988 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR = 0x00010000ULL;
7989 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COPY_BIT_KHR = 0x100000000ULL;
7990 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR = 0x200000000ULL;
7991 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_BLIT_BIT_KHR = 0x400000000ULL;
7992 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR = 0x800000000ULL;
7993 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR = 0x1000000000ULL;
7994 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR = 0x2000000000ULL;
7995 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR = 0x4000000000ULL;
7996 #ifdef VK_ENABLE_BETA_EXTENSIONS
7997 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR = 0x04000000ULL;
7999 #ifdef VK_ENABLE_BETA_EXTENSIONS
8000 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR = 0x08000000ULL;
8002 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000ULL;
8003 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000ULL;
8004 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV = 0x00020000ULL;
8005 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000ULL;
8006 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV = 0x00400000ULL;
8007 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000ULL;
8008 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR = 0x00200000ULL;
8009 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV = 0x00200000ULL;
8010 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 0x02000000ULL;
8011 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000ULL;
8012 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV = 0x00080000ULL;
8013 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV = 0x00100000ULL;
8014 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI = 0x8000000000ULL;
8015 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI = 0x10000000000ULL;
8017 typedef VkFlags64 VkAccessFlags2KHR;
8019 // Flag bits for VkAccessFlagBits2KHR
8020 typedef VkFlags64 VkAccessFlagBits2KHR;
8021 static const VkAccessFlagBits2KHR VK_ACCESS_2_NONE_KHR = 0ULL;
8022 static const VkAccessFlagBits2KHR VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR = 0x00000001ULL;
8023 static const VkAccessFlagBits2KHR VK_ACCESS_2_INDEX_READ_BIT_KHR = 0x00000002ULL;
8024 static const VkAccessFlagBits2KHR VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR = 0x00000004ULL;
8025 static const VkAccessFlagBits2KHR VK_ACCESS_2_UNIFORM_READ_BIT_KHR = 0x00000008ULL;
8026 static const VkAccessFlagBits2KHR VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR = 0x00000010ULL;
8027 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_READ_BIT_KHR = 0x00000020ULL;
8028 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_WRITE_BIT_KHR = 0x00000040ULL;
8029 static const VkAccessFlagBits2KHR VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR = 0x00000080ULL;
8030 static const VkAccessFlagBits2KHR VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR = 0x00000100ULL;
8031 static const VkAccessFlagBits2KHR VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR = 0x00000200ULL;
8032 static const VkAccessFlagBits2KHR VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR = 0x00000400ULL;
8033 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFER_READ_BIT_KHR = 0x00000800ULL;
8034 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR = 0x00001000ULL;
8035 static const VkAccessFlagBits2KHR VK_ACCESS_2_HOST_READ_BIT_KHR = 0x00002000ULL;
8036 static const VkAccessFlagBits2KHR VK_ACCESS_2_HOST_WRITE_BIT_KHR = 0x00004000ULL;
8037 static const VkAccessFlagBits2KHR VK_ACCESS_2_MEMORY_READ_BIT_KHR = 0x00008000ULL;
8038 static const VkAccessFlagBits2KHR VK_ACCESS_2_MEMORY_WRITE_BIT_KHR = 0x00010000ULL;
8039 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR = 0x100000000ULL;
8040 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR = 0x200000000ULL;
8041 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR = 0x400000000ULL;
8042 #ifdef VK_ENABLE_BETA_EXTENSIONS
8043 static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR = 0x800000000ULL;
8045 #ifdef VK_ENABLE_BETA_EXTENSIONS
8046 static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR = 0x1000000000ULL;
8048 #ifdef VK_ENABLE_BETA_EXTENSIONS
8049 static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR = 0x2000000000ULL;
8051 #ifdef VK_ENABLE_BETA_EXTENSIONS
8052 static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR = 0x4000000000ULL;
8054 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000ULL;
8055 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000ULL;
8056 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000ULL;
8057 static const VkAccessFlagBits2KHR VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000ULL;
8058 static const VkAccessFlagBits2KHR VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000ULL;
8059 static const VkAccessFlagBits2KHR VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000ULL;
8060 static const VkAccessFlagBits2KHR VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000ULL;
8061 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000ULL;
8062 static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000ULL;
8063 static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000ULL;
8064 static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV = 0x00200000ULL;
8065 static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 0x00400000ULL;
8066 static const VkAccessFlagBits2KHR VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000ULL;
8067 static const VkAccessFlagBits2KHR VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000ULL;
8068 static const VkAccessFlagBits2KHR VK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI = 0x8000000000ULL;
8071 typedef enum VkSubmitFlagBitsKHR {
8072 VK_SUBMIT_PROTECTED_BIT_KHR = 0x00000001,
8073 VK_SUBMIT_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8074 } VkSubmitFlagBitsKHR;
8075 typedef VkFlags VkSubmitFlagsKHR;
8076 typedef struct VkMemoryBarrier2KHR {
8077 VkStructureType sType;
8079 VkPipelineStageFlags2KHR srcStageMask;
8080 VkAccessFlags2KHR srcAccessMask;
8081 VkPipelineStageFlags2KHR dstStageMask;
8082 VkAccessFlags2KHR dstAccessMask;
8083 } VkMemoryBarrier2KHR;
8085 typedef struct VkBufferMemoryBarrier2KHR {
8086 VkStructureType sType;
8088 VkPipelineStageFlags2KHR srcStageMask;
8089 VkAccessFlags2KHR srcAccessMask;
8090 VkPipelineStageFlags2KHR dstStageMask;
8091 VkAccessFlags2KHR dstAccessMask;
8092 uint32_t srcQueueFamilyIndex;
8093 uint32_t dstQueueFamilyIndex;
8095 VkDeviceSize offset;
8097 } VkBufferMemoryBarrier2KHR;
8099 typedef struct VkImageMemoryBarrier2KHR {
8100 VkStructureType sType;
8102 VkPipelineStageFlags2KHR srcStageMask;
8103 VkAccessFlags2KHR srcAccessMask;
8104 VkPipelineStageFlags2KHR dstStageMask;
8105 VkAccessFlags2KHR dstAccessMask;
8106 VkImageLayout oldLayout;
8107 VkImageLayout newLayout;
8108 uint32_t srcQueueFamilyIndex;
8109 uint32_t dstQueueFamilyIndex;
8111 VkImageSubresourceRange subresourceRange;
8112 } VkImageMemoryBarrier2KHR;
8114 typedef struct VkDependencyInfoKHR {
8115 VkStructureType sType;
8117 VkDependencyFlags dependencyFlags;
8118 uint32_t memoryBarrierCount;
8119 const VkMemoryBarrier2KHR* pMemoryBarriers;
8120 uint32_t bufferMemoryBarrierCount;
8121 const VkBufferMemoryBarrier2KHR* pBufferMemoryBarriers;
8122 uint32_t imageMemoryBarrierCount;
8123 const VkImageMemoryBarrier2KHR* pImageMemoryBarriers;
8124 } VkDependencyInfoKHR;
8126 typedef struct VkSemaphoreSubmitInfoKHR {
8127 VkStructureType sType;
8129 VkSemaphore semaphore;
8131 VkPipelineStageFlags2KHR stageMask;
8132 uint32_t deviceIndex;
8133 } VkSemaphoreSubmitInfoKHR;
8135 typedef struct VkCommandBufferSubmitInfoKHR {
8136 VkStructureType sType;
8138 VkCommandBuffer commandBuffer;
8139 uint32_t deviceMask;
8140 } VkCommandBufferSubmitInfoKHR;
8142 typedef struct VkSubmitInfo2KHR {
8143 VkStructureType sType;
8145 VkSubmitFlagsKHR flags;
8146 uint32_t waitSemaphoreInfoCount;
8147 const VkSemaphoreSubmitInfoKHR* pWaitSemaphoreInfos;
8148 uint32_t commandBufferInfoCount;
8149 const VkCommandBufferSubmitInfoKHR* pCommandBufferInfos;
8150 uint32_t signalSemaphoreInfoCount;
8151 const VkSemaphoreSubmitInfoKHR* pSignalSemaphoreInfos;
8154 typedef struct VkPhysicalDeviceSynchronization2FeaturesKHR {
8155 VkStructureType sType;
8157 VkBool32 synchronization2;
8158 } VkPhysicalDeviceSynchronization2FeaturesKHR;
8160 typedef struct VkQueueFamilyCheckpointProperties2NV {
8161 VkStructureType sType;
8163 VkPipelineStageFlags2KHR checkpointExecutionStageMask;
8164 } VkQueueFamilyCheckpointProperties2NV;
8166 typedef struct VkCheckpointData2NV {
8167 VkStructureType sType;
8169 VkPipelineStageFlags2KHR stage;
8170 void* pCheckpointMarker;
8171 } VkCheckpointData2NV;
8173 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfoKHR* pDependencyInfo);
8174 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2KHR stageMask);
8175 typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents2KHR)(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, const VkDependencyInfoKHR* pDependencyInfos);
8176 typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier2KHR)(VkCommandBuffer commandBuffer, const VkDependencyInfoKHR* pDependencyInfo);
8177 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2KHR)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2KHR stage, VkQueryPool queryPool, uint32_t query);
8178 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2KHR)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo2KHR* pSubmits, VkFence fence);
8179 typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarker2AMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2KHR stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker);
8180 typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointData2NV)(VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointData2NV* pCheckpointData);
8182 #ifndef VK_NO_PROTOTYPES
8183 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent2KHR(
8184 VkCommandBuffer commandBuffer,
8186 const VkDependencyInfoKHR* pDependencyInfo);
8188 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent2KHR(
8189 VkCommandBuffer commandBuffer,
8191 VkPipelineStageFlags2KHR stageMask);
8193 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents2KHR(
8194 VkCommandBuffer commandBuffer,
8195 uint32_t eventCount,
8196 const VkEvent* pEvents,
8197 const VkDependencyInfoKHR* pDependencyInfos);
8199 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier2KHR(
8200 VkCommandBuffer commandBuffer,
8201 const VkDependencyInfoKHR* pDependencyInfo);
8203 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp2KHR(
8204 VkCommandBuffer commandBuffer,
8205 VkPipelineStageFlags2KHR stage,
8206 VkQueryPool queryPool,
8209 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit2KHR(
8211 uint32_t submitCount,
8212 const VkSubmitInfo2KHR* pSubmits,
8215 VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarker2AMD(
8216 VkCommandBuffer commandBuffer,
8217 VkPipelineStageFlags2KHR stage,
8219 VkDeviceSize dstOffset,
8222 VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointData2NV(
8224 uint32_t* pCheckpointDataCount,
8225 VkCheckpointData2NV* pCheckpointData);
8229 #define VK_KHR_shader_subgroup_uniform_control_flow 1
8230 #define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION 1
8231 #define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME "VK_KHR_shader_subgroup_uniform_control_flow"
8232 typedef struct VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR {
8233 VkStructureType sType;
8235 VkBool32 shaderSubgroupUniformControlFlow;
8236 } VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR;
8240 #define VK_KHR_zero_initialize_workgroup_memory 1
8241 #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION 1
8242 #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME "VK_KHR_zero_initialize_workgroup_memory"
8243 typedef struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR {
8244 VkStructureType sType;
8246 VkBool32 shaderZeroInitializeWorkgroupMemory;
8247 } VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR;
8251 #define VK_KHR_workgroup_memory_explicit_layout 1
8252 #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION 1
8253 #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME "VK_KHR_workgroup_memory_explicit_layout"
8254 typedef struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {
8255 VkStructureType sType;
8257 VkBool32 workgroupMemoryExplicitLayout;
8258 VkBool32 workgroupMemoryExplicitLayoutScalarBlockLayout;
8259 VkBool32 workgroupMemoryExplicitLayout8BitAccess;
8260 VkBool32 workgroupMemoryExplicitLayout16BitAccess;
8261 } VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR;
8265 #define VK_KHR_copy_commands2 1
8266 #define VK_KHR_COPY_COMMANDS_2_SPEC_VERSION 1
8267 #define VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME "VK_KHR_copy_commands2"
8268 typedef struct VkBufferCopy2KHR {
8269 VkStructureType sType;
8271 VkDeviceSize srcOffset;
8272 VkDeviceSize dstOffset;
8276 typedef struct VkCopyBufferInfo2KHR {
8277 VkStructureType sType;
8281 uint32_t regionCount;
8282 const VkBufferCopy2KHR* pRegions;
8283 } VkCopyBufferInfo2KHR;
8285 typedef struct VkImageCopy2KHR {
8286 VkStructureType sType;
8288 VkImageSubresourceLayers srcSubresource;
8289 VkOffset3D srcOffset;
8290 VkImageSubresourceLayers dstSubresource;
8291 VkOffset3D dstOffset;
8295 typedef struct VkCopyImageInfo2KHR {
8296 VkStructureType sType;
8299 VkImageLayout srcImageLayout;
8301 VkImageLayout dstImageLayout;
8302 uint32_t regionCount;
8303 const VkImageCopy2KHR* pRegions;
8304 } VkCopyImageInfo2KHR;
8306 typedef struct VkBufferImageCopy2KHR {
8307 VkStructureType sType;
8309 VkDeviceSize bufferOffset;
8310 uint32_t bufferRowLength;
8311 uint32_t bufferImageHeight;
8312 VkImageSubresourceLayers imageSubresource;
8313 VkOffset3D imageOffset;
8314 VkExtent3D imageExtent;
8315 } VkBufferImageCopy2KHR;
8317 typedef struct VkCopyBufferToImageInfo2KHR {
8318 VkStructureType sType;
8322 VkImageLayout dstImageLayout;
8323 uint32_t regionCount;
8324 const VkBufferImageCopy2KHR* pRegions;
8325 } VkCopyBufferToImageInfo2KHR;
8327 typedef struct VkCopyImageToBufferInfo2KHR {
8328 VkStructureType sType;
8331 VkImageLayout srcImageLayout;
8333 uint32_t regionCount;
8334 const VkBufferImageCopy2KHR* pRegions;
8335 } VkCopyImageToBufferInfo2KHR;
8337 typedef struct VkImageBlit2KHR {
8338 VkStructureType sType;
8340 VkImageSubresourceLayers srcSubresource;
8341 VkOffset3D srcOffsets[2];
8342 VkImageSubresourceLayers dstSubresource;
8343 VkOffset3D dstOffsets[2];
8346 typedef struct VkBlitImageInfo2KHR {
8347 VkStructureType sType;
8350 VkImageLayout srcImageLayout;
8352 VkImageLayout dstImageLayout;
8353 uint32_t regionCount;
8354 const VkImageBlit2KHR* pRegions;
8356 } VkBlitImageInfo2KHR;
8358 typedef struct VkImageResolve2KHR {
8359 VkStructureType sType;
8361 VkImageSubresourceLayers srcSubresource;
8362 VkOffset3D srcOffset;
8363 VkImageSubresourceLayers dstSubresource;
8364 VkOffset3D dstOffset;
8366 } VkImageResolve2KHR;
8368 typedef struct VkResolveImageInfo2KHR {
8369 VkStructureType sType;
8372 VkImageLayout srcImageLayout;
8374 VkImageLayout dstImageLayout;
8375 uint32_t regionCount;
8376 const VkImageResolve2KHR* pRegions;
8377 } VkResolveImageInfo2KHR;
8379 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2KHR* pCopyBufferInfo);
8380 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2KHR* pCopyImageInfo);
8381 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2KHR* pCopyBufferToImageInfo);
8382 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2KHR* pCopyImageToBufferInfo);
8383 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage2KHR)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2KHR* pBlitImageInfo);
8384 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage2KHR)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2KHR* pResolveImageInfo);
8386 #ifndef VK_NO_PROTOTYPES
8387 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer2KHR(
8388 VkCommandBuffer commandBuffer,
8389 const VkCopyBufferInfo2KHR* pCopyBufferInfo);
8391 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage2KHR(
8392 VkCommandBuffer commandBuffer,
8393 const VkCopyImageInfo2KHR* pCopyImageInfo);
8395 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage2KHR(
8396 VkCommandBuffer commandBuffer,
8397 const VkCopyBufferToImageInfo2KHR* pCopyBufferToImageInfo);
8399 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer2KHR(
8400 VkCommandBuffer commandBuffer,
8401 const VkCopyImageToBufferInfo2KHR* pCopyImageToBufferInfo);
8403 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage2KHR(
8404 VkCommandBuffer commandBuffer,
8405 const VkBlitImageInfo2KHR* pBlitImageInfo);
8407 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage2KHR(
8408 VkCommandBuffer commandBuffer,
8409 const VkResolveImageInfo2KHR* pResolveImageInfo);
8413 #define VK_KHR_format_feature_flags2 1
8414 #define VK_KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION 1
8415 #define VK_KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME "VK_KHR_format_feature_flags2"
8416 typedef VkFlags64 VkFormatFeatureFlags2KHR;
8418 // Flag bits for VkFormatFeatureFlagBits2KHR
8419 typedef VkFlags64 VkFormatFeatureFlagBits2KHR;
8420 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR = 0x00000001ULL;
8421 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT_KHR = 0x00000002ULL;
8422 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT_KHR = 0x00000004ULL;
8423 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR = 0x00000008ULL;
8424 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT_KHR = 0x00000010ULL;
8425 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT_KHR = 0x00000020ULL;
8426 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT_KHR = 0x00000040ULL;
8427 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT_KHR = 0x00000080ULL;
8428 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT_KHR = 0x00000100ULL;
8429 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHR = 0x00000200ULL;
8430 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR = 0x00000400ULL;
8431 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_BLIT_DST_BIT_KHR = 0x00000800ULL;
8432 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT_KHR = 0x00001000ULL;
8433 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = 0x00002000ULL;
8434 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT_KHR = 0x00004000ULL;
8435 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT_KHR = 0x00008000ULL;
8436 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT_KHR = 0x00010000ULL;
8437 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = 0x00020000ULL;
8438 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = 0x00040000ULL;
8439 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = 0x00080000ULL;
8440 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = 0x00100000ULL;
8441 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR = 0x00200000ULL;
8442 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_DISJOINT_BIT_KHR = 0x00400000ULL;
8443 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT_KHR = 0x00800000ULL;
8444 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000ULL;
8445 #ifdef VK_ENABLE_BETA_EXTENSIONS
8446 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x02000000ULL;
8448 #ifdef VK_ENABLE_BETA_EXTENSIONS
8449 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_VIDEO_DECODE_DPB_BIT_KHR = 0x04000000ULL;
8451 #ifdef VK_ENABLE_BETA_EXTENSIONS
8452 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000ULL;
8454 #ifdef VK_ENABLE_BETA_EXTENSIONS
8455 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000ULL;
8457 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000ULL;
8458 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000ULL;
8459 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR = 0x80000000ULL;
8460 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR = 0x100000000ULL;
8461 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR = 0x200000000ULL;
8463 typedef struct VkFormatPropertiesExtendedKHR {
8464 VkStructureType sType;
8466 VkFormatFeatureFlags2KHR linearTilingFeatures;
8467 VkFormatFeatureFlags2KHR optimalTilingFeatures;
8468 VkFormatFeatureFlags2KHR bufferFeatures;
8469 } VkFormatPropertiesExtendedKHR;
8471 #define VK_KHR_maintenance4 1
8472 #define VK_KHR_MAINTENANCE4_SPEC_VERSION 1
8473 #define VK_KHR_MAINTENANCE4_EXTENSION_NAME "VK_KHR_maintenance4"
8474 typedef struct VkPhysicalDeviceMaintenance4FeaturesKHR {
8475 VkStructureType sType;
8477 VkBool32 maintenance4;
8478 } VkPhysicalDeviceMaintenance4FeaturesKHR;
8480 typedef struct VkPhysicalDeviceMaintenance4PropertiesKHR {
8481 VkStructureType sType;
8483 VkDeviceSize maxBufferSize;
8484 } VkPhysicalDeviceMaintenance4PropertiesKHR;
8486 typedef struct VkDeviceBufferMemoryRequirementsKHR {
8487 VkStructureType sType;
8489 const VkBufferCreateInfo* pCreateInfo;
8490 } VkDeviceBufferMemoryRequirementsKHR;
8492 typedef struct VkDeviceImageMemoryRequirementsKHR {
8493 VkStructureType sType;
8495 const VkImageCreateInfo* pCreateInfo;
8496 VkImageAspectFlagBits planeAspect;
8497 } VkDeviceImageMemoryRequirementsKHR;
8499 typedef void (VKAPI_PTR *PFN_vkGetDeviceBufferMemoryRequirementsKHR)(VkDevice device, const VkDeviceBufferMemoryRequirementsKHR *pInfo, VkMemoryRequirements2 *pMemoryRequirements);
8500 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageMemoryRequirementsKHR)(VkDevice device, const VkDeviceImageMemoryRequirementsKHR *pInfo, VkMemoryRequirements2 *pMemoryRequirements);
8501 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageSparseMemoryRequirementsKHR)(VkDevice device, const VkDeviceImageMemoryRequirementsKHR *pInfo, uint32_t *pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2 *pSparseMemoryRequirements);
8503 #ifndef VK_NO_PROTOTYPES
8504 VKAPI_ATTR void VKAPI_CALL vkGetDeviceBufferMemoryRequirementsKHR(
8506 const VkDeviceBufferMemoryRequirementsKHR* pInfo,
8507 VkMemoryRequirements2* pMemoryRequirements);
8509 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageMemoryRequirementsKHR(
8511 const VkDeviceImageMemoryRequirementsKHR* pInfo,
8512 VkMemoryRequirements2* pMemoryRequirements);
8514 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageSparseMemoryRequirementsKHR(
8516 const VkDeviceImageMemoryRequirementsKHR* pInfo,
8517 uint32_t* pSparseMemoryRequirementCount,
8518 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
8522 #define VK_EXT_debug_report 1
8523 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT)
8524 #define VK_EXT_DEBUG_REPORT_SPEC_VERSION 10
8525 #define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report"
8527 typedef enum VkDebugReportObjectTypeEXT {
8528 VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT = 0,
8529 VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT = 1,
8530 VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT = 2,
8531 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT = 3,
8532 VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT = 4,
8533 VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT = 5,
8534 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT = 6,
8535 VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT = 7,
8536 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT = 8,
8537 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT = 9,
8538 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT = 10,
8539 VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT = 11,
8540 VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT = 12,
8541 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT = 13,
8542 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT = 14,
8543 VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT = 15,
8544 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT = 16,
8545 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT = 17,
8546 VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT = 18,
8547 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT = 19,
8548 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT = 20,
8549 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT = 21,
8550 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT = 22,
8551 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT = 23,
8552 VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT = 24,
8553 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT = 25,
8554 VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = 26,
8555 VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = 27,
8556 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT = 28,
8557 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT = 29,
8558 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = 30,
8559 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT = 33,
8560 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT = 1000156000,
8561 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT = 1000085000,
8562 VK_DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT = 1000029000,
8563 VK_DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT = 1000029001,
8564 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT = 1000150000,
8565 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT = 1000165000,
8566 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT,
8567 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT,
8568 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT,
8569 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT,
8570 VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
8571 } VkDebugReportObjectTypeEXT;
8573 typedef enum VkDebugReportFlagBitsEXT {
8574 VK_DEBUG_REPORT_INFORMATION_BIT_EXT = 0x00000001,
8575 VK_DEBUG_REPORT_WARNING_BIT_EXT = 0x00000002,
8576 VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = 0x00000004,
8577 VK_DEBUG_REPORT_ERROR_BIT_EXT = 0x00000008,
8578 VK_DEBUG_REPORT_DEBUG_BIT_EXT = 0x00000010,
8579 VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
8580 } VkDebugReportFlagBitsEXT;
8581 typedef VkFlags VkDebugReportFlagsEXT;
8582 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugReportCallbackEXT)(
8583 VkDebugReportFlagsEXT flags,
8584 VkDebugReportObjectTypeEXT objectType,
8587 int32_t messageCode,
8588 const char* pLayerPrefix,
8589 const char* pMessage,
8592 typedef struct VkDebugReportCallbackCreateInfoEXT {
8593 VkStructureType sType;
8595 VkDebugReportFlagsEXT flags;
8596 PFN_vkDebugReportCallbackEXT pfnCallback;
8598 } VkDebugReportCallbackCreateInfoEXT;
8600 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugReportCallbackEXT)(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback);
8601 typedef void (VKAPI_PTR *PFN_vkDestroyDebugReportCallbackEXT)(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator);
8602 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);
8604 #ifndef VK_NO_PROTOTYPES
8605 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugReportCallbackEXT(
8606 VkInstance instance,
8607 const VkDebugReportCallbackCreateInfoEXT* pCreateInfo,
8608 const VkAllocationCallbacks* pAllocator,
8609 VkDebugReportCallbackEXT* pCallback);
8611 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugReportCallbackEXT(
8612 VkInstance instance,
8613 VkDebugReportCallbackEXT callback,
8614 const VkAllocationCallbacks* pAllocator);
8616 VKAPI_ATTR void VKAPI_CALL vkDebugReportMessageEXT(
8617 VkInstance instance,
8618 VkDebugReportFlagsEXT flags,
8619 VkDebugReportObjectTypeEXT objectType,
8622 int32_t messageCode,
8623 const char* pLayerPrefix,
8624 const char* pMessage);
8628 #define VK_NV_glsl_shader 1
8629 #define VK_NV_GLSL_SHADER_SPEC_VERSION 1
8630 #define VK_NV_GLSL_SHADER_EXTENSION_NAME "VK_NV_glsl_shader"
8633 #define VK_EXT_depth_range_unrestricted 1
8634 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION 1
8635 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME "VK_EXT_depth_range_unrestricted"
8638 #define VK_IMG_filter_cubic 1
8639 #define VK_IMG_FILTER_CUBIC_SPEC_VERSION 1
8640 #define VK_IMG_FILTER_CUBIC_EXTENSION_NAME "VK_IMG_filter_cubic"
8643 #define VK_AMD_rasterization_order 1
8644 #define VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION 1
8645 #define VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME "VK_AMD_rasterization_order"
8647 typedef enum VkRasterizationOrderAMD {
8648 VK_RASTERIZATION_ORDER_STRICT_AMD = 0,
8649 VK_RASTERIZATION_ORDER_RELAXED_AMD = 1,
8650 VK_RASTERIZATION_ORDER_MAX_ENUM_AMD = 0x7FFFFFFF
8651 } VkRasterizationOrderAMD;
8652 typedef struct VkPipelineRasterizationStateRasterizationOrderAMD {
8653 VkStructureType sType;
8655 VkRasterizationOrderAMD rasterizationOrder;
8656 } VkPipelineRasterizationStateRasterizationOrderAMD;
8660 #define VK_AMD_shader_trinary_minmax 1
8661 #define VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION 1
8662 #define VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME "VK_AMD_shader_trinary_minmax"
8665 #define VK_AMD_shader_explicit_vertex_parameter 1
8666 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION 1
8667 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME "VK_AMD_shader_explicit_vertex_parameter"
8670 #define VK_EXT_debug_marker 1
8671 #define VK_EXT_DEBUG_MARKER_SPEC_VERSION 4
8672 #define VK_EXT_DEBUG_MARKER_EXTENSION_NAME "VK_EXT_debug_marker"
8673 typedef struct VkDebugMarkerObjectNameInfoEXT {
8674 VkStructureType sType;
8676 VkDebugReportObjectTypeEXT objectType;
8678 const char* pObjectName;
8679 } VkDebugMarkerObjectNameInfoEXT;
8681 typedef struct VkDebugMarkerObjectTagInfoEXT {
8682 VkStructureType sType;
8684 VkDebugReportObjectTypeEXT objectType;
8689 } VkDebugMarkerObjectTagInfoEXT;
8691 typedef struct VkDebugMarkerMarkerInfoEXT {
8692 VkStructureType sType;
8694 const char* pMarkerName;
8696 } VkDebugMarkerMarkerInfoEXT;
8698 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectTagEXT)(VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
8699 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectNameEXT)(VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
8700 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerBeginEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
8701 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerEndEXT)(VkCommandBuffer commandBuffer);
8702 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerInsertEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
8704 #ifndef VK_NO_PROTOTYPES
8705 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectTagEXT(
8707 const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
8709 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectNameEXT(
8711 const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
8713 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerBeginEXT(
8714 VkCommandBuffer commandBuffer,
8715 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
8717 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerEndEXT(
8718 VkCommandBuffer commandBuffer);
8720 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerInsertEXT(
8721 VkCommandBuffer commandBuffer,
8722 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
8726 #define VK_AMD_gcn_shader 1
8727 #define VK_AMD_GCN_SHADER_SPEC_VERSION 1
8728 #define VK_AMD_GCN_SHADER_EXTENSION_NAME "VK_AMD_gcn_shader"
8731 #define VK_NV_dedicated_allocation 1
8732 #define VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION 1
8733 #define VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_NV_dedicated_allocation"
8734 typedef struct VkDedicatedAllocationImageCreateInfoNV {
8735 VkStructureType sType;
8737 VkBool32 dedicatedAllocation;
8738 } VkDedicatedAllocationImageCreateInfoNV;
8740 typedef struct VkDedicatedAllocationBufferCreateInfoNV {
8741 VkStructureType sType;
8743 VkBool32 dedicatedAllocation;
8744 } VkDedicatedAllocationBufferCreateInfoNV;
8746 typedef struct VkDedicatedAllocationMemoryAllocateInfoNV {
8747 VkStructureType sType;
8751 } VkDedicatedAllocationMemoryAllocateInfoNV;
8755 #define VK_EXT_transform_feedback 1
8756 #define VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION 1
8757 #define VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME "VK_EXT_transform_feedback"
8758 typedef VkFlags VkPipelineRasterizationStateStreamCreateFlagsEXT;
8759 typedef struct VkPhysicalDeviceTransformFeedbackFeaturesEXT {
8760 VkStructureType sType;
8762 VkBool32 transformFeedback;
8763 VkBool32 geometryStreams;
8764 } VkPhysicalDeviceTransformFeedbackFeaturesEXT;
8766 typedef struct VkPhysicalDeviceTransformFeedbackPropertiesEXT {
8767 VkStructureType sType;
8769 uint32_t maxTransformFeedbackStreams;
8770 uint32_t maxTransformFeedbackBuffers;
8771 VkDeviceSize maxTransformFeedbackBufferSize;
8772 uint32_t maxTransformFeedbackStreamDataSize;
8773 uint32_t maxTransformFeedbackBufferDataSize;
8774 uint32_t maxTransformFeedbackBufferDataStride;
8775 VkBool32 transformFeedbackQueries;
8776 VkBool32 transformFeedbackStreamsLinesTriangles;
8777 VkBool32 transformFeedbackRasterizationStreamSelect;
8778 VkBool32 transformFeedbackDraw;
8779 } VkPhysicalDeviceTransformFeedbackPropertiesEXT;
8781 typedef struct VkPipelineRasterizationStateStreamCreateInfoEXT {
8782 VkStructureType sType;
8784 VkPipelineRasterizationStateStreamCreateFlagsEXT flags;
8785 uint32_t rasterizationStream;
8786 } VkPipelineRasterizationStateStreamCreateInfoEXT;
8788 typedef void (VKAPI_PTR *PFN_vkCmdBindTransformFeedbackBuffersEXT)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes);
8789 typedef void (VKAPI_PTR *PFN_vkCmdBeginTransformFeedbackEXT)(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
8790 typedef void (VKAPI_PTR *PFN_vkCmdEndTransformFeedbackEXT)(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
8791 typedef void (VKAPI_PTR *PFN_vkCmdBeginQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index);
8792 typedef void (VKAPI_PTR *PFN_vkCmdEndQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index);
8793 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectByteCountEXT)(VkCommandBuffer commandBuffer, uint32_t instanceCount, uint32_t firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, uint32_t counterOffset, uint32_t vertexStride);
8795 #ifndef VK_NO_PROTOTYPES
8796 VKAPI_ATTR void VKAPI_CALL vkCmdBindTransformFeedbackBuffersEXT(
8797 VkCommandBuffer commandBuffer,
8798 uint32_t firstBinding,
8799 uint32_t bindingCount,
8800 const VkBuffer* pBuffers,
8801 const VkDeviceSize* pOffsets,
8802 const VkDeviceSize* pSizes);
8804 VKAPI_ATTR void VKAPI_CALL vkCmdBeginTransformFeedbackEXT(
8805 VkCommandBuffer commandBuffer,
8806 uint32_t firstCounterBuffer,
8807 uint32_t counterBufferCount,
8808 const VkBuffer* pCounterBuffers,
8809 const VkDeviceSize* pCounterBufferOffsets);
8811 VKAPI_ATTR void VKAPI_CALL vkCmdEndTransformFeedbackEXT(
8812 VkCommandBuffer commandBuffer,
8813 uint32_t firstCounterBuffer,
8814 uint32_t counterBufferCount,
8815 const VkBuffer* pCounterBuffers,
8816 const VkDeviceSize* pCounterBufferOffsets);
8818 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQueryIndexedEXT(
8819 VkCommandBuffer commandBuffer,
8820 VkQueryPool queryPool,
8822 VkQueryControlFlags flags,
8825 VKAPI_ATTR void VKAPI_CALL vkCmdEndQueryIndexedEXT(
8826 VkCommandBuffer commandBuffer,
8827 VkQueryPool queryPool,
8831 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectByteCountEXT(
8832 VkCommandBuffer commandBuffer,
8833 uint32_t instanceCount,
8834 uint32_t firstInstance,
8835 VkBuffer counterBuffer,
8836 VkDeviceSize counterBufferOffset,
8837 uint32_t counterOffset,
8838 uint32_t vertexStride);
8842 #define VK_NVX_binary_import 1
8843 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuModuleNVX)
8844 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuFunctionNVX)
8845 #define VK_NVX_BINARY_IMPORT_SPEC_VERSION 1
8846 #define VK_NVX_BINARY_IMPORT_EXTENSION_NAME "VK_NVX_binary_import"
8847 typedef struct VkCuModuleCreateInfoNVX {
8848 VkStructureType sType;
8852 } VkCuModuleCreateInfoNVX;
8854 typedef struct VkCuFunctionCreateInfoNVX {
8855 VkStructureType sType;
8857 VkCuModuleNVX module;
8859 } VkCuFunctionCreateInfoNVX;
8861 typedef struct VkCuLaunchInfoNVX {
8862 VkStructureType sType;
8864 VkCuFunctionNVX function;
8871 uint32_t sharedMemBytes;
8873 const void* const * pParams;
8875 const void* const * pExtras;
8876 } VkCuLaunchInfoNVX;
8878 typedef VkResult (VKAPI_PTR *PFN_vkCreateCuModuleNVX)(VkDevice device, const VkCuModuleCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuModuleNVX* pModule);
8879 typedef VkResult (VKAPI_PTR *PFN_vkCreateCuFunctionNVX)(VkDevice device, const VkCuFunctionCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuFunctionNVX* pFunction);
8880 typedef void (VKAPI_PTR *PFN_vkDestroyCuModuleNVX)(VkDevice device, VkCuModuleNVX module, const VkAllocationCallbacks* pAllocator);
8881 typedef void (VKAPI_PTR *PFN_vkDestroyCuFunctionNVX)(VkDevice device, VkCuFunctionNVX function, const VkAllocationCallbacks* pAllocator);
8882 typedef void (VKAPI_PTR *PFN_vkCmdCuLaunchKernelNVX)(VkCommandBuffer commandBuffer, const VkCuLaunchInfoNVX* pLaunchInfo);
8884 #ifndef VK_NO_PROTOTYPES
8885 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCuModuleNVX(
8887 const VkCuModuleCreateInfoNVX* pCreateInfo,
8888 const VkAllocationCallbacks* pAllocator,
8889 VkCuModuleNVX* pModule);
8891 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCuFunctionNVX(
8893 const VkCuFunctionCreateInfoNVX* pCreateInfo,
8894 const VkAllocationCallbacks* pAllocator,
8895 VkCuFunctionNVX* pFunction);
8897 VKAPI_ATTR void VKAPI_CALL vkDestroyCuModuleNVX(
8899 VkCuModuleNVX module,
8900 const VkAllocationCallbacks* pAllocator);
8902 VKAPI_ATTR void VKAPI_CALL vkDestroyCuFunctionNVX(
8904 VkCuFunctionNVX function,
8905 const VkAllocationCallbacks* pAllocator);
8907 VKAPI_ATTR void VKAPI_CALL vkCmdCuLaunchKernelNVX(
8908 VkCommandBuffer commandBuffer,
8909 const VkCuLaunchInfoNVX* pLaunchInfo);
8913 #define VK_NVX_image_view_handle 1
8914 #define VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION 2
8915 #define VK_NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME "VK_NVX_image_view_handle"
8916 typedef struct VkImageViewHandleInfoNVX {
8917 VkStructureType sType;
8919 VkImageView imageView;
8920 VkDescriptorType descriptorType;
8922 } VkImageViewHandleInfoNVX;
8924 typedef struct VkImageViewAddressPropertiesNVX {
8925 VkStructureType sType;
8927 VkDeviceAddress deviceAddress;
8929 } VkImageViewAddressPropertiesNVX;
8931 typedef uint32_t (VKAPI_PTR *PFN_vkGetImageViewHandleNVX)(VkDevice device, const VkImageViewHandleInfoNVX* pInfo);
8932 typedef VkResult (VKAPI_PTR *PFN_vkGetImageViewAddressNVX)(VkDevice device, VkImageView imageView, VkImageViewAddressPropertiesNVX* pProperties);
8934 #ifndef VK_NO_PROTOTYPES
8935 VKAPI_ATTR uint32_t VKAPI_CALL vkGetImageViewHandleNVX(
8937 const VkImageViewHandleInfoNVX* pInfo);
8939 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageViewAddressNVX(
8941 VkImageView imageView,
8942 VkImageViewAddressPropertiesNVX* pProperties);
8946 #define VK_AMD_draw_indirect_count 1
8947 #define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 2
8948 #define VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_AMD_draw_indirect_count"
8949 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
8950 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
8952 #ifndef VK_NO_PROTOTYPES
8953 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountAMD(
8954 VkCommandBuffer commandBuffer,
8956 VkDeviceSize offset,
8957 VkBuffer countBuffer,
8958 VkDeviceSize countBufferOffset,
8959 uint32_t maxDrawCount,
8962 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountAMD(
8963 VkCommandBuffer commandBuffer,
8965 VkDeviceSize offset,
8966 VkBuffer countBuffer,
8967 VkDeviceSize countBufferOffset,
8968 uint32_t maxDrawCount,
8973 #define VK_AMD_negative_viewport_height 1
8974 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION 1
8975 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME "VK_AMD_negative_viewport_height"
8978 #define VK_AMD_gpu_shader_half_float 1
8979 #define VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION 2
8980 #define VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME "VK_AMD_gpu_shader_half_float"
8983 #define VK_AMD_shader_ballot 1
8984 #define VK_AMD_SHADER_BALLOT_SPEC_VERSION 1
8985 #define VK_AMD_SHADER_BALLOT_EXTENSION_NAME "VK_AMD_shader_ballot"
8988 #define VK_AMD_texture_gather_bias_lod 1
8989 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION 1
8990 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME "VK_AMD_texture_gather_bias_lod"
8991 typedef struct VkTextureLODGatherFormatPropertiesAMD {
8992 VkStructureType sType;
8994 VkBool32 supportsTextureGatherLODBiasAMD;
8995 } VkTextureLODGatherFormatPropertiesAMD;
8999 #define VK_AMD_shader_info 1
9000 #define VK_AMD_SHADER_INFO_SPEC_VERSION 1
9001 #define VK_AMD_SHADER_INFO_EXTENSION_NAME "VK_AMD_shader_info"
9003 typedef enum VkShaderInfoTypeAMD {
9004 VK_SHADER_INFO_TYPE_STATISTICS_AMD = 0,
9005 VK_SHADER_INFO_TYPE_BINARY_AMD = 1,
9006 VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD = 2,
9007 VK_SHADER_INFO_TYPE_MAX_ENUM_AMD = 0x7FFFFFFF
9008 } VkShaderInfoTypeAMD;
9009 typedef struct VkShaderResourceUsageAMD {
9010 uint32_t numUsedVgprs;
9011 uint32_t numUsedSgprs;
9012 uint32_t ldsSizePerLocalWorkGroup;
9013 size_t ldsUsageSizeInBytes;
9014 size_t scratchMemUsageInBytes;
9015 } VkShaderResourceUsageAMD;
9017 typedef struct VkShaderStatisticsInfoAMD {
9018 VkShaderStageFlags shaderStageMask;
9019 VkShaderResourceUsageAMD resourceUsage;
9020 uint32_t numPhysicalVgprs;
9021 uint32_t numPhysicalSgprs;
9022 uint32_t numAvailableVgprs;
9023 uint32_t numAvailableSgprs;
9024 uint32_t computeWorkGroupSize[3];
9025 } VkShaderStatisticsInfoAMD;
9027 typedef VkResult (VKAPI_PTR *PFN_vkGetShaderInfoAMD)(VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, size_t* pInfoSize, void* pInfo);
9029 #ifndef VK_NO_PROTOTYPES
9030 VKAPI_ATTR VkResult VKAPI_CALL vkGetShaderInfoAMD(
9032 VkPipeline pipeline,
9033 VkShaderStageFlagBits shaderStage,
9034 VkShaderInfoTypeAMD infoType,
9040 #define VK_AMD_shader_image_load_store_lod 1
9041 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION 1
9042 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME "VK_AMD_shader_image_load_store_lod"
9045 #define VK_NV_corner_sampled_image 1
9046 #define VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION 2
9047 #define VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME "VK_NV_corner_sampled_image"
9048 typedef struct VkPhysicalDeviceCornerSampledImageFeaturesNV {
9049 VkStructureType sType;
9051 VkBool32 cornerSampledImage;
9052 } VkPhysicalDeviceCornerSampledImageFeaturesNV;
9056 #define VK_IMG_format_pvrtc 1
9057 #define VK_IMG_FORMAT_PVRTC_SPEC_VERSION 1
9058 #define VK_IMG_FORMAT_PVRTC_EXTENSION_NAME "VK_IMG_format_pvrtc"
9061 #define VK_NV_external_memory_capabilities 1
9062 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
9063 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_NV_external_memory_capabilities"
9065 typedef enum VkExternalMemoryHandleTypeFlagBitsNV {
9066 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV = 0x00000001,
9067 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV = 0x00000002,
9068 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV = 0x00000004,
9069 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV = 0x00000008,
9070 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
9071 } VkExternalMemoryHandleTypeFlagBitsNV;
9072 typedef VkFlags VkExternalMemoryHandleTypeFlagsNV;
9074 typedef enum VkExternalMemoryFeatureFlagBitsNV {
9075 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV = 0x00000001,
9076 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV = 0x00000002,
9077 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV = 0x00000004,
9078 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
9079 } VkExternalMemoryFeatureFlagBitsNV;
9080 typedef VkFlags VkExternalMemoryFeatureFlagsNV;
9081 typedef struct VkExternalImageFormatPropertiesNV {
9082 VkImageFormatProperties imageFormatProperties;
9083 VkExternalMemoryFeatureFlagsNV externalMemoryFeatures;
9084 VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes;
9085 VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes;
9086 } VkExternalImageFormatPropertiesNV;
9088 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
9090 #ifndef VK_NO_PROTOTYPES
9091 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
9092 VkPhysicalDevice physicalDevice,
9095 VkImageTiling tiling,
9096 VkImageUsageFlags usage,
9097 VkImageCreateFlags flags,
9098 VkExternalMemoryHandleTypeFlagsNV externalHandleType,
9099 VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
9103 #define VK_NV_external_memory 1
9104 #define VK_NV_EXTERNAL_MEMORY_SPEC_VERSION 1
9105 #define VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME "VK_NV_external_memory"
9106 typedef struct VkExternalMemoryImageCreateInfoNV {
9107 VkStructureType sType;
9109 VkExternalMemoryHandleTypeFlagsNV handleTypes;
9110 } VkExternalMemoryImageCreateInfoNV;
9112 typedef struct VkExportMemoryAllocateInfoNV {
9113 VkStructureType sType;
9115 VkExternalMemoryHandleTypeFlagsNV handleTypes;
9116 } VkExportMemoryAllocateInfoNV;
9120 #define VK_EXT_validation_flags 1
9121 #define VK_EXT_VALIDATION_FLAGS_SPEC_VERSION 2
9122 #define VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME "VK_EXT_validation_flags"
9124 typedef enum VkValidationCheckEXT {
9125 VK_VALIDATION_CHECK_ALL_EXT = 0,
9126 VK_VALIDATION_CHECK_SHADERS_EXT = 1,
9127 VK_VALIDATION_CHECK_MAX_ENUM_EXT = 0x7FFFFFFF
9128 } VkValidationCheckEXT;
9129 typedef struct VkValidationFlagsEXT {
9130 VkStructureType sType;
9132 uint32_t disabledValidationCheckCount;
9133 const VkValidationCheckEXT* pDisabledValidationChecks;
9134 } VkValidationFlagsEXT;
9138 #define VK_EXT_shader_subgroup_ballot 1
9139 #define VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION 1
9140 #define VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME "VK_EXT_shader_subgroup_ballot"
9143 #define VK_EXT_shader_subgroup_vote 1
9144 #define VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION 1
9145 #define VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME "VK_EXT_shader_subgroup_vote"
9148 #define VK_EXT_texture_compression_astc_hdr 1
9149 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION 1
9150 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME "VK_EXT_texture_compression_astc_hdr"
9151 typedef struct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT {
9152 VkStructureType sType;
9154 VkBool32 textureCompressionASTC_HDR;
9155 } VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT;
9159 #define VK_EXT_astc_decode_mode 1
9160 #define VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION 1
9161 #define VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME "VK_EXT_astc_decode_mode"
9162 typedef struct VkImageViewASTCDecodeModeEXT {
9163 VkStructureType sType;
9165 VkFormat decodeMode;
9166 } VkImageViewASTCDecodeModeEXT;
9168 typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT {
9169 VkStructureType sType;
9171 VkBool32 decodeModeSharedExponent;
9172 } VkPhysicalDeviceASTCDecodeFeaturesEXT;
9176 #define VK_EXT_conditional_rendering 1
9177 #define VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION 2
9178 #define VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME "VK_EXT_conditional_rendering"
9180 typedef enum VkConditionalRenderingFlagBitsEXT {
9181 VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT = 0x00000001,
9182 VK_CONDITIONAL_RENDERING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
9183 } VkConditionalRenderingFlagBitsEXT;
9184 typedef VkFlags VkConditionalRenderingFlagsEXT;
9185 typedef struct VkConditionalRenderingBeginInfoEXT {
9186 VkStructureType sType;
9189 VkDeviceSize offset;
9190 VkConditionalRenderingFlagsEXT flags;
9191 } VkConditionalRenderingBeginInfoEXT;
9193 typedef struct VkPhysicalDeviceConditionalRenderingFeaturesEXT {
9194 VkStructureType sType;
9196 VkBool32 conditionalRendering;
9197 VkBool32 inheritedConditionalRendering;
9198 } VkPhysicalDeviceConditionalRenderingFeaturesEXT;
9200 typedef struct VkCommandBufferInheritanceConditionalRenderingInfoEXT {
9201 VkStructureType sType;
9203 VkBool32 conditionalRenderingEnable;
9204 } VkCommandBufferInheritanceConditionalRenderingInfoEXT;
9206 typedef void (VKAPI_PTR *PFN_vkCmdBeginConditionalRenderingEXT)(VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
9207 typedef void (VKAPI_PTR *PFN_vkCmdEndConditionalRenderingEXT)(VkCommandBuffer commandBuffer);
9209 #ifndef VK_NO_PROTOTYPES
9210 VKAPI_ATTR void VKAPI_CALL vkCmdBeginConditionalRenderingEXT(
9211 VkCommandBuffer commandBuffer,
9212 const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
9214 VKAPI_ATTR void VKAPI_CALL vkCmdEndConditionalRenderingEXT(
9215 VkCommandBuffer commandBuffer);
9219 #define VK_NV_clip_space_w_scaling 1
9220 #define VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION 1
9221 #define VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME "VK_NV_clip_space_w_scaling"
9222 typedef struct VkViewportWScalingNV {
9225 } VkViewportWScalingNV;
9227 typedef struct VkPipelineViewportWScalingStateCreateInfoNV {
9228 VkStructureType sType;
9230 VkBool32 viewportWScalingEnable;
9231 uint32_t viewportCount;
9232 const VkViewportWScalingNV* pViewportWScalings;
9233 } VkPipelineViewportWScalingStateCreateInfoNV;
9235 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportWScalingNV* pViewportWScalings);
9237 #ifndef VK_NO_PROTOTYPES
9238 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWScalingNV(
9239 VkCommandBuffer commandBuffer,
9240 uint32_t firstViewport,
9241 uint32_t viewportCount,
9242 const VkViewportWScalingNV* pViewportWScalings);
9246 #define VK_EXT_direct_mode_display 1
9247 #define VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION 1
9248 #define VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME "VK_EXT_direct_mode_display"
9249 typedef VkResult (VKAPI_PTR *PFN_vkReleaseDisplayEXT)(VkPhysicalDevice physicalDevice, VkDisplayKHR display);
9251 #ifndef VK_NO_PROTOTYPES
9252 VKAPI_ATTR VkResult VKAPI_CALL vkReleaseDisplayEXT(
9253 VkPhysicalDevice physicalDevice,
9254 VkDisplayKHR display);
9258 #define VK_EXT_display_surface_counter 1
9259 #define VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION 1
9260 #define VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME "VK_EXT_display_surface_counter"
9262 typedef enum VkSurfaceCounterFlagBitsEXT {
9263 VK_SURFACE_COUNTER_VBLANK_BIT_EXT = 0x00000001,
9264 VK_SURFACE_COUNTER_VBLANK_EXT = VK_SURFACE_COUNTER_VBLANK_BIT_EXT,
9265 VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
9266 } VkSurfaceCounterFlagBitsEXT;
9267 typedef VkFlags VkSurfaceCounterFlagsEXT;
9268 typedef struct VkSurfaceCapabilities2EXT {
9269 VkStructureType sType;
9271 uint32_t minImageCount;
9272 uint32_t maxImageCount;
9273 VkExtent2D currentExtent;
9274 VkExtent2D minImageExtent;
9275 VkExtent2D maxImageExtent;
9276 uint32_t maxImageArrayLayers;
9277 VkSurfaceTransformFlagsKHR supportedTransforms;
9278 VkSurfaceTransformFlagBitsKHR currentTransform;
9279 VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
9280 VkImageUsageFlags supportedUsageFlags;
9281 VkSurfaceCounterFlagsEXT supportedSurfaceCounters;
9282 } VkSurfaceCapabilities2EXT;
9284 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
9286 #ifndef VK_NO_PROTOTYPES
9287 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2EXT(
9288 VkPhysicalDevice physicalDevice,
9289 VkSurfaceKHR surface,
9290 VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
9294 #define VK_EXT_display_control 1
9295 #define VK_EXT_DISPLAY_CONTROL_SPEC_VERSION 1
9296 #define VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME "VK_EXT_display_control"
9298 typedef enum VkDisplayPowerStateEXT {
9299 VK_DISPLAY_POWER_STATE_OFF_EXT = 0,
9300 VK_DISPLAY_POWER_STATE_SUSPEND_EXT = 1,
9301 VK_DISPLAY_POWER_STATE_ON_EXT = 2,
9302 VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT = 0x7FFFFFFF
9303 } VkDisplayPowerStateEXT;
9305 typedef enum VkDeviceEventTypeEXT {
9306 VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT = 0,
9307 VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
9308 } VkDeviceEventTypeEXT;
9310 typedef enum VkDisplayEventTypeEXT {
9311 VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT = 0,
9312 VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
9313 } VkDisplayEventTypeEXT;
9314 typedef struct VkDisplayPowerInfoEXT {
9315 VkStructureType sType;
9317 VkDisplayPowerStateEXT powerState;
9318 } VkDisplayPowerInfoEXT;
9320 typedef struct VkDeviceEventInfoEXT {
9321 VkStructureType sType;
9323 VkDeviceEventTypeEXT deviceEvent;
9324 } VkDeviceEventInfoEXT;
9326 typedef struct VkDisplayEventInfoEXT {
9327 VkStructureType sType;
9329 VkDisplayEventTypeEXT displayEvent;
9330 } VkDisplayEventInfoEXT;
9332 typedef struct VkSwapchainCounterCreateInfoEXT {
9333 VkStructureType sType;
9335 VkSurfaceCounterFlagsEXT surfaceCounters;
9336 } VkSwapchainCounterCreateInfoEXT;
9338 typedef VkResult (VKAPI_PTR *PFN_vkDisplayPowerControlEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
9339 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDeviceEventEXT)(VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
9340 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDisplayEventEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
9341 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainCounterEXT)(VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, uint64_t* pCounterValue);
9343 #ifndef VK_NO_PROTOTYPES
9344 VKAPI_ATTR VkResult VKAPI_CALL vkDisplayPowerControlEXT(
9346 VkDisplayKHR display,
9347 const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
9349 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDeviceEventEXT(
9351 const VkDeviceEventInfoEXT* pDeviceEventInfo,
9352 const VkAllocationCallbacks* pAllocator,
9355 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDisplayEventEXT(
9357 VkDisplayKHR display,
9358 const VkDisplayEventInfoEXT* pDisplayEventInfo,
9359 const VkAllocationCallbacks* pAllocator,
9362 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainCounterEXT(
9364 VkSwapchainKHR swapchain,
9365 VkSurfaceCounterFlagBitsEXT counter,
9366 uint64_t* pCounterValue);
9370 #define VK_GOOGLE_display_timing 1
9371 #define VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION 1
9372 #define VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME "VK_GOOGLE_display_timing"
9373 typedef struct VkRefreshCycleDurationGOOGLE {
9374 uint64_t refreshDuration;
9375 } VkRefreshCycleDurationGOOGLE;
9377 typedef struct VkPastPresentationTimingGOOGLE {
9379 uint64_t desiredPresentTime;
9380 uint64_t actualPresentTime;
9381 uint64_t earliestPresentTime;
9382 uint64_t presentMargin;
9383 } VkPastPresentationTimingGOOGLE;
9385 typedef struct VkPresentTimeGOOGLE {
9387 uint64_t desiredPresentTime;
9388 } VkPresentTimeGOOGLE;
9390 typedef struct VkPresentTimesInfoGOOGLE {
9391 VkStructureType sType;
9393 uint32_t swapchainCount;
9394 const VkPresentTimeGOOGLE* pTimes;
9395 } VkPresentTimesInfoGOOGLE;
9397 typedef VkResult (VKAPI_PTR *PFN_vkGetRefreshCycleDurationGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
9398 typedef VkResult (VKAPI_PTR *PFN_vkGetPastPresentationTimingGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings);
9400 #ifndef VK_NO_PROTOTYPES
9401 VKAPI_ATTR VkResult VKAPI_CALL vkGetRefreshCycleDurationGOOGLE(
9403 VkSwapchainKHR swapchain,
9404 VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
9406 VKAPI_ATTR VkResult VKAPI_CALL vkGetPastPresentationTimingGOOGLE(
9408 VkSwapchainKHR swapchain,
9409 uint32_t* pPresentationTimingCount,
9410 VkPastPresentationTimingGOOGLE* pPresentationTimings);
9414 #define VK_NV_sample_mask_override_coverage 1
9415 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION 1
9416 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME "VK_NV_sample_mask_override_coverage"
9419 #define VK_NV_geometry_shader_passthrough 1
9420 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION 1
9421 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME "VK_NV_geometry_shader_passthrough"
9424 #define VK_NV_viewport_array2 1
9425 #define VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION 1
9426 #define VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME "VK_NV_viewport_array2"
9429 #define VK_NVX_multiview_per_view_attributes 1
9430 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION 1
9431 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME "VK_NVX_multiview_per_view_attributes"
9432 typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
9433 VkStructureType sType;
9435 VkBool32 perViewPositionAllComponents;
9436 } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
9440 #define VK_NV_viewport_swizzle 1
9441 #define VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION 1
9442 #define VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME "VK_NV_viewport_swizzle"
9444 typedef enum VkViewportCoordinateSwizzleNV {
9445 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV = 0,
9446 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV = 1,
9447 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV = 2,
9448 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV = 3,
9449 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV = 4,
9450 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV = 5,
9451 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV = 6,
9452 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV = 7,
9453 VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV = 0x7FFFFFFF
9454 } VkViewportCoordinateSwizzleNV;
9455 typedef VkFlags VkPipelineViewportSwizzleStateCreateFlagsNV;
9456 typedef struct VkViewportSwizzleNV {
9457 VkViewportCoordinateSwizzleNV x;
9458 VkViewportCoordinateSwizzleNV y;
9459 VkViewportCoordinateSwizzleNV z;
9460 VkViewportCoordinateSwizzleNV w;
9461 } VkViewportSwizzleNV;
9463 typedef struct VkPipelineViewportSwizzleStateCreateInfoNV {
9464 VkStructureType sType;
9466 VkPipelineViewportSwizzleStateCreateFlagsNV flags;
9467 uint32_t viewportCount;
9468 const VkViewportSwizzleNV* pViewportSwizzles;
9469 } VkPipelineViewportSwizzleStateCreateInfoNV;
9473 #define VK_EXT_discard_rectangles 1
9474 #define VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION 1
9475 #define VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME "VK_EXT_discard_rectangles"
9477 typedef enum VkDiscardRectangleModeEXT {
9478 VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT = 0,
9479 VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT = 1,
9480 VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
9481 } VkDiscardRectangleModeEXT;
9482 typedef VkFlags VkPipelineDiscardRectangleStateCreateFlagsEXT;
9483 typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
9484 VkStructureType sType;
9486 uint32_t maxDiscardRectangles;
9487 } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
9489 typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT {
9490 VkStructureType sType;
9492 VkPipelineDiscardRectangleStateCreateFlagsEXT flags;
9493 VkDiscardRectangleModeEXT discardRectangleMode;
9494 uint32_t discardRectangleCount;
9495 const VkRect2D* pDiscardRectangles;
9496 } VkPipelineDiscardRectangleStateCreateInfoEXT;
9498 typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEXT)(VkCommandBuffer commandBuffer, uint32_t firstDiscardRectangle, uint32_t discardRectangleCount, const VkRect2D* pDiscardRectangles);
9500 #ifndef VK_NO_PROTOTYPES
9501 VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEXT(
9502 VkCommandBuffer commandBuffer,
9503 uint32_t firstDiscardRectangle,
9504 uint32_t discardRectangleCount,
9505 const VkRect2D* pDiscardRectangles);
9509 #define VK_EXT_conservative_rasterization 1
9510 #define VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION 1
9511 #define VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME "VK_EXT_conservative_rasterization"
9513 typedef enum VkConservativeRasterizationModeEXT {
9514 VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT = 0,
9515 VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT = 1,
9516 VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT = 2,
9517 VK_CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
9518 } VkConservativeRasterizationModeEXT;
9519 typedef VkFlags VkPipelineRasterizationConservativeStateCreateFlagsEXT;
9520 typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT {
9521 VkStructureType sType;
9523 float primitiveOverestimationSize;
9524 float maxExtraPrimitiveOverestimationSize;
9525 float extraPrimitiveOverestimationSizeGranularity;
9526 VkBool32 primitiveUnderestimation;
9527 VkBool32 conservativePointAndLineRasterization;
9528 VkBool32 degenerateTrianglesRasterized;
9529 VkBool32 degenerateLinesRasterized;
9530 VkBool32 fullyCoveredFragmentShaderInputVariable;
9531 VkBool32 conservativeRasterizationPostDepthCoverage;
9532 } VkPhysicalDeviceConservativeRasterizationPropertiesEXT;
9534 typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT {
9535 VkStructureType sType;
9537 VkPipelineRasterizationConservativeStateCreateFlagsEXT flags;
9538 VkConservativeRasterizationModeEXT conservativeRasterizationMode;
9539 float extraPrimitiveOverestimationSize;
9540 } VkPipelineRasterizationConservativeStateCreateInfoEXT;
9544 #define VK_EXT_depth_clip_enable 1
9545 #define VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION 1
9546 #define VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME "VK_EXT_depth_clip_enable"
9547 typedef VkFlags VkPipelineRasterizationDepthClipStateCreateFlagsEXT;
9548 typedef struct VkPhysicalDeviceDepthClipEnableFeaturesEXT {
9549 VkStructureType sType;
9551 VkBool32 depthClipEnable;
9552 } VkPhysicalDeviceDepthClipEnableFeaturesEXT;
9554 typedef struct VkPipelineRasterizationDepthClipStateCreateInfoEXT {
9555 VkStructureType sType;
9557 VkPipelineRasterizationDepthClipStateCreateFlagsEXT flags;
9558 VkBool32 depthClipEnable;
9559 } VkPipelineRasterizationDepthClipStateCreateInfoEXT;
9563 #define VK_EXT_swapchain_colorspace 1
9564 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION 4
9565 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME "VK_EXT_swapchain_colorspace"
9568 #define VK_EXT_hdr_metadata 1
9569 #define VK_EXT_HDR_METADATA_SPEC_VERSION 2
9570 #define VK_EXT_HDR_METADATA_EXTENSION_NAME "VK_EXT_hdr_metadata"
9571 typedef struct VkXYColorEXT {
9576 typedef struct VkHdrMetadataEXT {
9577 VkStructureType sType;
9579 VkXYColorEXT displayPrimaryRed;
9580 VkXYColorEXT displayPrimaryGreen;
9581 VkXYColorEXT displayPrimaryBlue;
9582 VkXYColorEXT whitePoint;
9585 float maxContentLightLevel;
9586 float maxFrameAverageLightLevel;
9589 typedef void (VKAPI_PTR *PFN_vkSetHdrMetadataEXT)(VkDevice device, uint32_t swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata);
9591 #ifndef VK_NO_PROTOTYPES
9592 VKAPI_ATTR void VKAPI_CALL vkSetHdrMetadataEXT(
9594 uint32_t swapchainCount,
9595 const VkSwapchainKHR* pSwapchains,
9596 const VkHdrMetadataEXT* pMetadata);
9600 #define VK_EXT_external_memory_dma_buf 1
9601 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION 1
9602 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME "VK_EXT_external_memory_dma_buf"
9605 #define VK_EXT_queue_family_foreign 1
9606 #define VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION 1
9607 #define VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME "VK_EXT_queue_family_foreign"
9608 #define VK_QUEUE_FAMILY_FOREIGN_EXT (~2U)
9611 #define VK_EXT_debug_utils 1
9612 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugUtilsMessengerEXT)
9613 #define VK_EXT_DEBUG_UTILS_SPEC_VERSION 2
9614 #define VK_EXT_DEBUG_UTILS_EXTENSION_NAME "VK_EXT_debug_utils"
9615 typedef VkFlags VkDebugUtilsMessengerCallbackDataFlagsEXT;
9617 typedef enum VkDebugUtilsMessageSeverityFlagBitsEXT {
9618 VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT = 0x00000001,
9619 VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT = 0x00000010,
9620 VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT = 0x00000100,
9621 VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT = 0x00001000,
9622 VK_DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
9623 } VkDebugUtilsMessageSeverityFlagBitsEXT;
9625 typedef enum VkDebugUtilsMessageTypeFlagBitsEXT {
9626 VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT = 0x00000001,
9627 VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT = 0x00000002,
9628 VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT = 0x00000004,
9629 VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
9630 } VkDebugUtilsMessageTypeFlagBitsEXT;
9631 typedef VkFlags VkDebugUtilsMessageTypeFlagsEXT;
9632 typedef VkFlags VkDebugUtilsMessageSeverityFlagsEXT;
9633 typedef VkFlags VkDebugUtilsMessengerCreateFlagsEXT;
9634 typedef struct VkDebugUtilsLabelEXT {
9635 VkStructureType sType;
9637 const char* pLabelName;
9639 } VkDebugUtilsLabelEXT;
9641 typedef struct VkDebugUtilsObjectNameInfoEXT {
9642 VkStructureType sType;
9644 VkObjectType objectType;
9645 uint64_t objectHandle;
9646 const char* pObjectName;
9647 } VkDebugUtilsObjectNameInfoEXT;
9649 typedef struct VkDebugUtilsMessengerCallbackDataEXT {
9650 VkStructureType sType;
9652 VkDebugUtilsMessengerCallbackDataFlagsEXT flags;
9653 const char* pMessageIdName;
9654 int32_t messageIdNumber;
9655 const char* pMessage;
9656 uint32_t queueLabelCount;
9657 const VkDebugUtilsLabelEXT* pQueueLabels;
9658 uint32_t cmdBufLabelCount;
9659 const VkDebugUtilsLabelEXT* pCmdBufLabels;
9660 uint32_t objectCount;
9661 const VkDebugUtilsObjectNameInfoEXT* pObjects;
9662 } VkDebugUtilsMessengerCallbackDataEXT;
9664 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)(
9665 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
9666 VkDebugUtilsMessageTypeFlagsEXT messageTypes,
9667 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData,
9670 typedef struct VkDebugUtilsMessengerCreateInfoEXT {
9671 VkStructureType sType;
9673 VkDebugUtilsMessengerCreateFlagsEXT flags;
9674 VkDebugUtilsMessageSeverityFlagsEXT messageSeverity;
9675 VkDebugUtilsMessageTypeFlagsEXT messageType;
9676 PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback;
9678 } VkDebugUtilsMessengerCreateInfoEXT;
9680 typedef struct VkDebugUtilsObjectTagInfoEXT {
9681 VkStructureType sType;
9683 VkObjectType objectType;
9684 uint64_t objectHandle;
9688 } VkDebugUtilsObjectTagInfoEXT;
9690 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectNameEXT)(VkDevice device, const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
9691 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectTagEXT)(VkDevice device, const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
9692 typedef void (VKAPI_PTR *PFN_vkQueueBeginDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
9693 typedef void (VKAPI_PTR *PFN_vkQueueEndDebugUtilsLabelEXT)(VkQueue queue);
9694 typedef void (VKAPI_PTR *PFN_vkQueueInsertDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
9695 typedef void (VKAPI_PTR *PFN_vkCmdBeginDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
9696 typedef void (VKAPI_PTR *PFN_vkCmdEndDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer);
9697 typedef void (VKAPI_PTR *PFN_vkCmdInsertDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
9698 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugUtilsMessengerEXT)(VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugUtilsMessengerEXT* pMessenger);
9699 typedef void (VKAPI_PTR *PFN_vkDestroyDebugUtilsMessengerEXT)(VkInstance instance, VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks* pAllocator);
9700 typedef void (VKAPI_PTR *PFN_vkSubmitDebugUtilsMessageEXT)(VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
9702 #ifndef VK_NO_PROTOTYPES
9703 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectNameEXT(
9705 const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
9707 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectTagEXT(
9709 const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
9711 VKAPI_ATTR void VKAPI_CALL vkQueueBeginDebugUtilsLabelEXT(
9713 const VkDebugUtilsLabelEXT* pLabelInfo);
9715 VKAPI_ATTR void VKAPI_CALL vkQueueEndDebugUtilsLabelEXT(
9718 VKAPI_ATTR void VKAPI_CALL vkQueueInsertDebugUtilsLabelEXT(
9720 const VkDebugUtilsLabelEXT* pLabelInfo);
9722 VKAPI_ATTR void VKAPI_CALL vkCmdBeginDebugUtilsLabelEXT(
9723 VkCommandBuffer commandBuffer,
9724 const VkDebugUtilsLabelEXT* pLabelInfo);
9726 VKAPI_ATTR void VKAPI_CALL vkCmdEndDebugUtilsLabelEXT(
9727 VkCommandBuffer commandBuffer);
9729 VKAPI_ATTR void VKAPI_CALL vkCmdInsertDebugUtilsLabelEXT(
9730 VkCommandBuffer commandBuffer,
9731 const VkDebugUtilsLabelEXT* pLabelInfo);
9733 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugUtilsMessengerEXT(
9734 VkInstance instance,
9735 const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo,
9736 const VkAllocationCallbacks* pAllocator,
9737 VkDebugUtilsMessengerEXT* pMessenger);
9739 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugUtilsMessengerEXT(
9740 VkInstance instance,
9741 VkDebugUtilsMessengerEXT messenger,
9742 const VkAllocationCallbacks* pAllocator);
9744 VKAPI_ATTR void VKAPI_CALL vkSubmitDebugUtilsMessageEXT(
9745 VkInstance instance,
9746 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
9747 VkDebugUtilsMessageTypeFlagsEXT messageTypes,
9748 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
9752 #define VK_EXT_sampler_filter_minmax 1
9753 #define VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION 2
9754 #define VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME "VK_EXT_sampler_filter_minmax"
9755 typedef VkSamplerReductionMode VkSamplerReductionModeEXT;
9757 typedef VkSamplerReductionModeCreateInfo VkSamplerReductionModeCreateInfoEXT;
9759 typedef VkPhysicalDeviceSamplerFilterMinmaxProperties VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
9763 #define VK_AMD_gpu_shader_int16 1
9764 #define VK_AMD_GPU_SHADER_INT16_SPEC_VERSION 2
9765 #define VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME "VK_AMD_gpu_shader_int16"
9768 #define VK_AMD_mixed_attachment_samples 1
9769 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION 1
9770 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME "VK_AMD_mixed_attachment_samples"
9773 #define VK_AMD_shader_fragment_mask 1
9774 #define VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION 1
9775 #define VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME "VK_AMD_shader_fragment_mask"
9778 #define VK_EXT_inline_uniform_block 1
9779 #define VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION 1
9780 #define VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME "VK_EXT_inline_uniform_block"
9781 typedef struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT {
9782 VkStructureType sType;
9784 VkBool32 inlineUniformBlock;
9785 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind;
9786 } VkPhysicalDeviceInlineUniformBlockFeaturesEXT;
9788 typedef struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT {
9789 VkStructureType sType;
9791 uint32_t maxInlineUniformBlockSize;
9792 uint32_t maxPerStageDescriptorInlineUniformBlocks;
9793 uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
9794 uint32_t maxDescriptorSetInlineUniformBlocks;
9795 uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
9796 } VkPhysicalDeviceInlineUniformBlockPropertiesEXT;
9798 typedef struct VkWriteDescriptorSetInlineUniformBlockEXT {
9799 VkStructureType sType;
9803 } VkWriteDescriptorSetInlineUniformBlockEXT;
9805 typedef struct VkDescriptorPoolInlineUniformBlockCreateInfoEXT {
9806 VkStructureType sType;
9808 uint32_t maxInlineUniformBlockBindings;
9809 } VkDescriptorPoolInlineUniformBlockCreateInfoEXT;
9813 #define VK_EXT_shader_stencil_export 1
9814 #define VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION 1
9815 #define VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME "VK_EXT_shader_stencil_export"
9818 #define VK_EXT_sample_locations 1
9819 #define VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION 1
9820 #define VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME "VK_EXT_sample_locations"
9821 typedef struct VkSampleLocationEXT {
9824 } VkSampleLocationEXT;
9826 typedef struct VkSampleLocationsInfoEXT {
9827 VkStructureType sType;
9829 VkSampleCountFlagBits sampleLocationsPerPixel;
9830 VkExtent2D sampleLocationGridSize;
9831 uint32_t sampleLocationsCount;
9832 const VkSampleLocationEXT* pSampleLocations;
9833 } VkSampleLocationsInfoEXT;
9835 typedef struct VkAttachmentSampleLocationsEXT {
9836 uint32_t attachmentIndex;
9837 VkSampleLocationsInfoEXT sampleLocationsInfo;
9838 } VkAttachmentSampleLocationsEXT;
9840 typedef struct VkSubpassSampleLocationsEXT {
9841 uint32_t subpassIndex;
9842 VkSampleLocationsInfoEXT sampleLocationsInfo;
9843 } VkSubpassSampleLocationsEXT;
9845 typedef struct VkRenderPassSampleLocationsBeginInfoEXT {
9846 VkStructureType sType;
9848 uint32_t attachmentInitialSampleLocationsCount;
9849 const VkAttachmentSampleLocationsEXT* pAttachmentInitialSampleLocations;
9850 uint32_t postSubpassSampleLocationsCount;
9851 const VkSubpassSampleLocationsEXT* pPostSubpassSampleLocations;
9852 } VkRenderPassSampleLocationsBeginInfoEXT;
9854 typedef struct VkPipelineSampleLocationsStateCreateInfoEXT {
9855 VkStructureType sType;
9857 VkBool32 sampleLocationsEnable;
9858 VkSampleLocationsInfoEXT sampleLocationsInfo;
9859 } VkPipelineSampleLocationsStateCreateInfoEXT;
9861 typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT {
9862 VkStructureType sType;
9864 VkSampleCountFlags sampleLocationSampleCounts;
9865 VkExtent2D maxSampleLocationGridSize;
9866 float sampleLocationCoordinateRange[2];
9867 uint32_t sampleLocationSubPixelBits;
9868 VkBool32 variableSampleLocations;
9869 } VkPhysicalDeviceSampleLocationsPropertiesEXT;
9871 typedef struct VkMultisamplePropertiesEXT {
9872 VkStructureType sType;
9874 VkExtent2D maxSampleLocationGridSize;
9875 } VkMultisamplePropertiesEXT;
9877 typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEXT)(VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
9878 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT)(VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT* pMultisampleProperties);
9880 #ifndef VK_NO_PROTOTYPES
9881 VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleLocationsEXT(
9882 VkCommandBuffer commandBuffer,
9883 const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
9885 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMultisamplePropertiesEXT(
9886 VkPhysicalDevice physicalDevice,
9887 VkSampleCountFlagBits samples,
9888 VkMultisamplePropertiesEXT* pMultisampleProperties);
9892 #define VK_EXT_blend_operation_advanced 1
9893 #define VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION 2
9894 #define VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME "VK_EXT_blend_operation_advanced"
9896 typedef enum VkBlendOverlapEXT {
9897 VK_BLEND_OVERLAP_UNCORRELATED_EXT = 0,
9898 VK_BLEND_OVERLAP_DISJOINT_EXT = 1,
9899 VK_BLEND_OVERLAP_CONJOINT_EXT = 2,
9900 VK_BLEND_OVERLAP_MAX_ENUM_EXT = 0x7FFFFFFF
9901 } VkBlendOverlapEXT;
9902 typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
9903 VkStructureType sType;
9905 VkBool32 advancedBlendCoherentOperations;
9906 } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
9908 typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT {
9909 VkStructureType sType;
9911 uint32_t advancedBlendMaxColorAttachments;
9912 VkBool32 advancedBlendIndependentBlend;
9913 VkBool32 advancedBlendNonPremultipliedSrcColor;
9914 VkBool32 advancedBlendNonPremultipliedDstColor;
9915 VkBool32 advancedBlendCorrelatedOverlap;
9916 VkBool32 advancedBlendAllOperations;
9917 } VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT;
9919 typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT {
9920 VkStructureType sType;
9922 VkBool32 srcPremultiplied;
9923 VkBool32 dstPremultiplied;
9924 VkBlendOverlapEXT blendOverlap;
9925 } VkPipelineColorBlendAdvancedStateCreateInfoEXT;
9929 #define VK_NV_fragment_coverage_to_color 1
9930 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION 1
9931 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME "VK_NV_fragment_coverage_to_color"
9932 typedef VkFlags VkPipelineCoverageToColorStateCreateFlagsNV;
9933 typedef struct VkPipelineCoverageToColorStateCreateInfoNV {
9934 VkStructureType sType;
9936 VkPipelineCoverageToColorStateCreateFlagsNV flags;
9937 VkBool32 coverageToColorEnable;
9938 uint32_t coverageToColorLocation;
9939 } VkPipelineCoverageToColorStateCreateInfoNV;
9943 #define VK_NV_framebuffer_mixed_samples 1
9944 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION 1
9945 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME "VK_NV_framebuffer_mixed_samples"
9947 typedef enum VkCoverageModulationModeNV {
9948 VK_COVERAGE_MODULATION_MODE_NONE_NV = 0,
9949 VK_COVERAGE_MODULATION_MODE_RGB_NV = 1,
9950 VK_COVERAGE_MODULATION_MODE_ALPHA_NV = 2,
9951 VK_COVERAGE_MODULATION_MODE_RGBA_NV = 3,
9952 VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV = 0x7FFFFFFF
9953 } VkCoverageModulationModeNV;
9954 typedef VkFlags VkPipelineCoverageModulationStateCreateFlagsNV;
9955 typedef struct VkPipelineCoverageModulationStateCreateInfoNV {
9956 VkStructureType sType;
9958 VkPipelineCoverageModulationStateCreateFlagsNV flags;
9959 VkCoverageModulationModeNV coverageModulationMode;
9960 VkBool32 coverageModulationTableEnable;
9961 uint32_t coverageModulationTableCount;
9962 const float* pCoverageModulationTable;
9963 } VkPipelineCoverageModulationStateCreateInfoNV;
9967 #define VK_NV_fill_rectangle 1
9968 #define VK_NV_FILL_RECTANGLE_SPEC_VERSION 1
9969 #define VK_NV_FILL_RECTANGLE_EXTENSION_NAME "VK_NV_fill_rectangle"
9972 #define VK_NV_shader_sm_builtins 1
9973 #define VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION 1
9974 #define VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME "VK_NV_shader_sm_builtins"
9975 typedef struct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV {
9976 VkStructureType sType;
9978 uint32_t shaderSMCount;
9979 uint32_t shaderWarpsPerSM;
9980 } VkPhysicalDeviceShaderSMBuiltinsPropertiesNV;
9982 typedef struct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV {
9983 VkStructureType sType;
9985 VkBool32 shaderSMBuiltins;
9986 } VkPhysicalDeviceShaderSMBuiltinsFeaturesNV;
9990 #define VK_EXT_post_depth_coverage 1
9991 #define VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION 1
9992 #define VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME "VK_EXT_post_depth_coverage"
9995 #define VK_EXT_image_drm_format_modifier 1
9996 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION 1
9997 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME "VK_EXT_image_drm_format_modifier"
9998 typedef struct VkDrmFormatModifierPropertiesEXT {
9999 uint64_t drmFormatModifier;
10000 uint32_t drmFormatModifierPlaneCount;
10001 VkFormatFeatureFlags drmFormatModifierTilingFeatures;
10002 } VkDrmFormatModifierPropertiesEXT;
10004 typedef struct VkDrmFormatModifierPropertiesListEXT {
10005 VkStructureType sType;
10007 uint32_t drmFormatModifierCount;
10008 VkDrmFormatModifierPropertiesEXT* pDrmFormatModifierProperties;
10009 } VkDrmFormatModifierPropertiesListEXT;
10011 typedef struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT {
10012 VkStructureType sType;
10014 uint64_t drmFormatModifier;
10015 VkSharingMode sharingMode;
10016 uint32_t queueFamilyIndexCount;
10017 const uint32_t* pQueueFamilyIndices;
10018 } VkPhysicalDeviceImageDrmFormatModifierInfoEXT;
10020 typedef struct VkImageDrmFormatModifierListCreateInfoEXT {
10021 VkStructureType sType;
10023 uint32_t drmFormatModifierCount;
10024 const uint64_t* pDrmFormatModifiers;
10025 } VkImageDrmFormatModifierListCreateInfoEXT;
10027 typedef struct VkImageDrmFormatModifierExplicitCreateInfoEXT {
10028 VkStructureType sType;
10030 uint64_t drmFormatModifier;
10031 uint32_t drmFormatModifierPlaneCount;
10032 const VkSubresourceLayout* pPlaneLayouts;
10033 } VkImageDrmFormatModifierExplicitCreateInfoEXT;
10035 typedef struct VkImageDrmFormatModifierPropertiesEXT {
10036 VkStructureType sType;
10038 uint64_t drmFormatModifier;
10039 } VkImageDrmFormatModifierPropertiesEXT;
10041 typedef VkResult (VKAPI_PTR *PFN_vkGetImageDrmFormatModifierPropertiesEXT)(VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties);
10043 #ifndef VK_NO_PROTOTYPES
10044 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageDrmFormatModifierPropertiesEXT(
10047 VkImageDrmFormatModifierPropertiesEXT* pProperties);
10051 #define VK_EXT_validation_cache 1
10052 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkValidationCacheEXT)
10053 #define VK_EXT_VALIDATION_CACHE_SPEC_VERSION 1
10054 #define VK_EXT_VALIDATION_CACHE_EXTENSION_NAME "VK_EXT_validation_cache"
10056 typedef enum VkValidationCacheHeaderVersionEXT {
10057 VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT = 1,
10058 VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT = 0x7FFFFFFF
10059 } VkValidationCacheHeaderVersionEXT;
10060 typedef VkFlags VkValidationCacheCreateFlagsEXT;
10061 typedef struct VkValidationCacheCreateInfoEXT {
10062 VkStructureType sType;
10064 VkValidationCacheCreateFlagsEXT flags;
10065 size_t initialDataSize;
10066 const void* pInitialData;
10067 } VkValidationCacheCreateInfoEXT;
10069 typedef struct VkShaderModuleValidationCacheCreateInfoEXT {
10070 VkStructureType sType;
10072 VkValidationCacheEXT validationCache;
10073 } VkShaderModuleValidationCacheCreateInfoEXT;
10075 typedef VkResult (VKAPI_PTR *PFN_vkCreateValidationCacheEXT)(VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache);
10076 typedef void (VKAPI_PTR *PFN_vkDestroyValidationCacheEXT)(VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator);
10077 typedef VkResult (VKAPI_PTR *PFN_vkMergeValidationCachesEXT)(VkDevice device, VkValidationCacheEXT dstCache, uint32_t srcCacheCount, const VkValidationCacheEXT* pSrcCaches);
10078 typedef VkResult (VKAPI_PTR *PFN_vkGetValidationCacheDataEXT)(VkDevice device, VkValidationCacheEXT validationCache, size_t* pDataSize, void* pData);
10080 #ifndef VK_NO_PROTOTYPES
10081 VKAPI_ATTR VkResult VKAPI_CALL vkCreateValidationCacheEXT(
10083 const VkValidationCacheCreateInfoEXT* pCreateInfo,
10084 const VkAllocationCallbacks* pAllocator,
10085 VkValidationCacheEXT* pValidationCache);
10087 VKAPI_ATTR void VKAPI_CALL vkDestroyValidationCacheEXT(
10089 VkValidationCacheEXT validationCache,
10090 const VkAllocationCallbacks* pAllocator);
10092 VKAPI_ATTR VkResult VKAPI_CALL vkMergeValidationCachesEXT(
10094 VkValidationCacheEXT dstCache,
10095 uint32_t srcCacheCount,
10096 const VkValidationCacheEXT* pSrcCaches);
10098 VKAPI_ATTR VkResult VKAPI_CALL vkGetValidationCacheDataEXT(
10100 VkValidationCacheEXT validationCache,
10106 #define VK_EXT_descriptor_indexing 1
10107 #define VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION 2
10108 #define VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME "VK_EXT_descriptor_indexing"
10109 typedef VkDescriptorBindingFlagBits VkDescriptorBindingFlagBitsEXT;
10111 typedef VkDescriptorBindingFlags VkDescriptorBindingFlagsEXT;
10113 typedef VkDescriptorSetLayoutBindingFlagsCreateInfo VkDescriptorSetLayoutBindingFlagsCreateInfoEXT;
10115 typedef VkPhysicalDeviceDescriptorIndexingFeatures VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
10117 typedef VkPhysicalDeviceDescriptorIndexingProperties VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
10119 typedef VkDescriptorSetVariableDescriptorCountAllocateInfo VkDescriptorSetVariableDescriptorCountAllocateInfoEXT;
10121 typedef VkDescriptorSetVariableDescriptorCountLayoutSupport VkDescriptorSetVariableDescriptorCountLayoutSupportEXT;
10125 #define VK_EXT_shader_viewport_index_layer 1
10126 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION 1
10127 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME "VK_EXT_shader_viewport_index_layer"
10130 #define VK_NV_shading_rate_image 1
10131 #define VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION 3
10132 #define VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME "VK_NV_shading_rate_image"
10134 typedef enum VkShadingRatePaletteEntryNV {
10135 VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV = 0,
10136 VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV = 1,
10137 VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV = 2,
10138 VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV = 3,
10139 VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV = 4,
10140 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV = 5,
10141 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV = 6,
10142 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV = 7,
10143 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV = 8,
10144 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV = 9,
10145 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV = 10,
10146 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV = 11,
10147 VK_SHADING_RATE_PALETTE_ENTRY_MAX_ENUM_NV = 0x7FFFFFFF
10148 } VkShadingRatePaletteEntryNV;
10150 typedef enum VkCoarseSampleOrderTypeNV {
10151 VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV = 0,
10152 VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV = 1,
10153 VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV = 2,
10154 VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV = 3,
10155 VK_COARSE_SAMPLE_ORDER_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
10156 } VkCoarseSampleOrderTypeNV;
10157 typedef struct VkShadingRatePaletteNV {
10158 uint32_t shadingRatePaletteEntryCount;
10159 const VkShadingRatePaletteEntryNV* pShadingRatePaletteEntries;
10160 } VkShadingRatePaletteNV;
10162 typedef struct VkPipelineViewportShadingRateImageStateCreateInfoNV {
10163 VkStructureType sType;
10165 VkBool32 shadingRateImageEnable;
10166 uint32_t viewportCount;
10167 const VkShadingRatePaletteNV* pShadingRatePalettes;
10168 } VkPipelineViewportShadingRateImageStateCreateInfoNV;
10170 typedef struct VkPhysicalDeviceShadingRateImageFeaturesNV {
10171 VkStructureType sType;
10173 VkBool32 shadingRateImage;
10174 VkBool32 shadingRateCoarseSampleOrder;
10175 } VkPhysicalDeviceShadingRateImageFeaturesNV;
10177 typedef struct VkPhysicalDeviceShadingRateImagePropertiesNV {
10178 VkStructureType sType;
10180 VkExtent2D shadingRateTexelSize;
10181 uint32_t shadingRatePaletteSize;
10182 uint32_t shadingRateMaxCoarseSamples;
10183 } VkPhysicalDeviceShadingRateImagePropertiesNV;
10185 typedef struct VkCoarseSampleLocationNV {
10189 } VkCoarseSampleLocationNV;
10191 typedef struct VkCoarseSampleOrderCustomNV {
10192 VkShadingRatePaletteEntryNV shadingRate;
10193 uint32_t sampleCount;
10194 uint32_t sampleLocationCount;
10195 const VkCoarseSampleLocationNV* pSampleLocations;
10196 } VkCoarseSampleOrderCustomNV;
10198 typedef struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV {
10199 VkStructureType sType;
10201 VkCoarseSampleOrderTypeNV sampleOrderType;
10202 uint32_t customSampleOrderCount;
10203 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders;
10204 } VkPipelineViewportCoarseSampleOrderStateCreateInfoNV;
10206 typedef void (VKAPI_PTR *PFN_vkCmdBindShadingRateImageNV)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout);
10207 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportShadingRatePaletteNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkShadingRatePaletteNV* pShadingRatePalettes);
10208 typedef void (VKAPI_PTR *PFN_vkCmdSetCoarseSampleOrderNV)(VkCommandBuffer commandBuffer, VkCoarseSampleOrderTypeNV sampleOrderType, uint32_t customSampleOrderCount, const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
10210 #ifndef VK_NO_PROTOTYPES
10211 VKAPI_ATTR void VKAPI_CALL vkCmdBindShadingRateImageNV(
10212 VkCommandBuffer commandBuffer,
10213 VkImageView imageView,
10214 VkImageLayout imageLayout);
10216 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportShadingRatePaletteNV(
10217 VkCommandBuffer commandBuffer,
10218 uint32_t firstViewport,
10219 uint32_t viewportCount,
10220 const VkShadingRatePaletteNV* pShadingRatePalettes);
10222 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoarseSampleOrderNV(
10223 VkCommandBuffer commandBuffer,
10224 VkCoarseSampleOrderTypeNV sampleOrderType,
10225 uint32_t customSampleOrderCount,
10226 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
10230 #define VK_NV_ray_tracing 1
10231 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureNV)
10232 #define VK_NV_RAY_TRACING_SPEC_VERSION 3
10233 #define VK_NV_RAY_TRACING_EXTENSION_NAME "VK_NV_ray_tracing"
10234 #define VK_SHADER_UNUSED_KHR (~0U)
10235 #define VK_SHADER_UNUSED_NV VK_SHADER_UNUSED_KHR
10237 typedef enum VkRayTracingShaderGroupTypeKHR {
10238 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR = 0,
10239 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR = 1,
10240 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR = 2,
10241 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR,
10242 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR,
10243 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR,
10244 VK_RAY_TRACING_SHADER_GROUP_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
10245 } VkRayTracingShaderGroupTypeKHR;
10246 typedef VkRayTracingShaderGroupTypeKHR VkRayTracingShaderGroupTypeNV;
10249 typedef enum VkGeometryTypeKHR {
10250 VK_GEOMETRY_TYPE_TRIANGLES_KHR = 0,
10251 VK_GEOMETRY_TYPE_AABBS_KHR = 1,
10252 VK_GEOMETRY_TYPE_INSTANCES_KHR = 2,
10253 VK_GEOMETRY_TYPE_TRIANGLES_NV = VK_GEOMETRY_TYPE_TRIANGLES_KHR,
10254 VK_GEOMETRY_TYPE_AABBS_NV = VK_GEOMETRY_TYPE_AABBS_KHR,
10255 VK_GEOMETRY_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
10256 } VkGeometryTypeKHR;
10257 typedef VkGeometryTypeKHR VkGeometryTypeNV;
10260 typedef enum VkAccelerationStructureTypeKHR {
10261 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR = 0,
10262 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR = 1,
10263 VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR = 2,
10264 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR,
10265 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR,
10266 VK_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
10267 } VkAccelerationStructureTypeKHR;
10268 typedef VkAccelerationStructureTypeKHR VkAccelerationStructureTypeNV;
10271 typedef enum VkCopyAccelerationStructureModeKHR {
10272 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR = 0,
10273 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR = 1,
10274 VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR = 2,
10275 VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR = 3,
10276 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR,
10277 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR,
10278 VK_COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
10279 } VkCopyAccelerationStructureModeKHR;
10280 typedef VkCopyAccelerationStructureModeKHR VkCopyAccelerationStructureModeNV;
10283 typedef enum VkAccelerationStructureMemoryRequirementsTypeNV {
10284 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV = 0,
10285 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV = 1,
10286 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV = 2,
10287 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
10288 } VkAccelerationStructureMemoryRequirementsTypeNV;
10290 typedef enum VkGeometryFlagBitsKHR {
10291 VK_GEOMETRY_OPAQUE_BIT_KHR = 0x00000001,
10292 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR = 0x00000002,
10293 VK_GEOMETRY_OPAQUE_BIT_NV = VK_GEOMETRY_OPAQUE_BIT_KHR,
10294 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV = VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR,
10295 VK_GEOMETRY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
10296 } VkGeometryFlagBitsKHR;
10297 typedef VkFlags VkGeometryFlagsKHR;
10298 typedef VkGeometryFlagsKHR VkGeometryFlagsNV;
10300 typedef VkGeometryFlagBitsKHR VkGeometryFlagBitsNV;
10303 typedef enum VkGeometryInstanceFlagBitsKHR {
10304 VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = 0x00000001,
10305 VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR = 0x00000002,
10306 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 0x00000004,
10307 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 0x00000008,
10308 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR,
10309 VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR,
10310 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR,
10311 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR,
10312 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR,
10313 VK_GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
10314 } VkGeometryInstanceFlagBitsKHR;
10315 typedef VkFlags VkGeometryInstanceFlagsKHR;
10316 typedef VkGeometryInstanceFlagsKHR VkGeometryInstanceFlagsNV;
10318 typedef VkGeometryInstanceFlagBitsKHR VkGeometryInstanceFlagBitsNV;
10321 typedef enum VkBuildAccelerationStructureFlagBitsKHR {
10322 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR = 0x00000001,
10323 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR = 0x00000002,
10324 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR = 0x00000004,
10325 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR = 0x00000008,
10326 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR = 0x00000010,
10327 VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV = 0x00000020,
10328 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR,
10329 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR,
10330 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR,
10331 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR,
10332 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR,
10333 VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
10334 } VkBuildAccelerationStructureFlagBitsKHR;
10335 typedef VkFlags VkBuildAccelerationStructureFlagsKHR;
10336 typedef VkBuildAccelerationStructureFlagsKHR VkBuildAccelerationStructureFlagsNV;
10338 typedef VkBuildAccelerationStructureFlagBitsKHR VkBuildAccelerationStructureFlagBitsNV;
10340 typedef struct VkRayTracingShaderGroupCreateInfoNV {
10341 VkStructureType sType;
10343 VkRayTracingShaderGroupTypeKHR type;
10344 uint32_t generalShader;
10345 uint32_t closestHitShader;
10346 uint32_t anyHitShader;
10347 uint32_t intersectionShader;
10348 } VkRayTracingShaderGroupCreateInfoNV;
10350 typedef struct VkRayTracingPipelineCreateInfoNV {
10351 VkStructureType sType;
10353 VkPipelineCreateFlags flags;
10354 uint32_t stageCount;
10355 const VkPipelineShaderStageCreateInfo* pStages;
10356 uint32_t groupCount;
10357 const VkRayTracingShaderGroupCreateInfoNV* pGroups;
10358 uint32_t maxRecursionDepth;
10359 VkPipelineLayout layout;
10360 VkPipeline basePipelineHandle;
10361 int32_t basePipelineIndex;
10362 } VkRayTracingPipelineCreateInfoNV;
10364 typedef struct VkGeometryTrianglesNV {
10365 VkStructureType sType;
10367 VkBuffer vertexData;
10368 VkDeviceSize vertexOffset;
10369 uint32_t vertexCount;
10370 VkDeviceSize vertexStride;
10371 VkFormat vertexFormat;
10372 VkBuffer indexData;
10373 VkDeviceSize indexOffset;
10374 uint32_t indexCount;
10375 VkIndexType indexType;
10376 VkBuffer transformData;
10377 VkDeviceSize transformOffset;
10378 } VkGeometryTrianglesNV;
10380 typedef struct VkGeometryAABBNV {
10381 VkStructureType sType;
10386 VkDeviceSize offset;
10387 } VkGeometryAABBNV;
10389 typedef struct VkGeometryDataNV {
10390 VkGeometryTrianglesNV triangles;
10391 VkGeometryAABBNV aabbs;
10392 } VkGeometryDataNV;
10394 typedef struct VkGeometryNV {
10395 VkStructureType sType;
10397 VkGeometryTypeKHR geometryType;
10398 VkGeometryDataNV geometry;
10399 VkGeometryFlagsKHR flags;
10402 typedef struct VkAccelerationStructureInfoNV {
10403 VkStructureType sType;
10405 VkAccelerationStructureTypeNV type;
10406 VkBuildAccelerationStructureFlagsNV flags;
10407 uint32_t instanceCount;
10408 uint32_t geometryCount;
10409 const VkGeometryNV* pGeometries;
10410 } VkAccelerationStructureInfoNV;
10412 typedef struct VkAccelerationStructureCreateInfoNV {
10413 VkStructureType sType;
10415 VkDeviceSize compactedSize;
10416 VkAccelerationStructureInfoNV info;
10417 } VkAccelerationStructureCreateInfoNV;
10419 typedef struct VkBindAccelerationStructureMemoryInfoNV {
10420 VkStructureType sType;
10422 VkAccelerationStructureNV accelerationStructure;
10423 VkDeviceMemory memory;
10424 VkDeviceSize memoryOffset;
10425 uint32_t deviceIndexCount;
10426 const uint32_t* pDeviceIndices;
10427 } VkBindAccelerationStructureMemoryInfoNV;
10429 typedef struct VkWriteDescriptorSetAccelerationStructureNV {
10430 VkStructureType sType;
10432 uint32_t accelerationStructureCount;
10433 const VkAccelerationStructureNV* pAccelerationStructures;
10434 } VkWriteDescriptorSetAccelerationStructureNV;
10436 typedef struct VkAccelerationStructureMemoryRequirementsInfoNV {
10437 VkStructureType sType;
10439 VkAccelerationStructureMemoryRequirementsTypeNV type;
10440 VkAccelerationStructureNV accelerationStructure;
10441 } VkAccelerationStructureMemoryRequirementsInfoNV;
10443 typedef struct VkPhysicalDeviceRayTracingPropertiesNV {
10444 VkStructureType sType;
10446 uint32_t shaderGroupHandleSize;
10447 uint32_t maxRecursionDepth;
10448 uint32_t maxShaderGroupStride;
10449 uint32_t shaderGroupBaseAlignment;
10450 uint64_t maxGeometryCount;
10451 uint64_t maxInstanceCount;
10452 uint64_t maxTriangleCount;
10453 uint32_t maxDescriptorSetAccelerationStructures;
10454 } VkPhysicalDeviceRayTracingPropertiesNV;
10456 typedef struct VkTransformMatrixKHR {
10457 float matrix[3][4];
10458 } VkTransformMatrixKHR;
10460 typedef VkTransformMatrixKHR VkTransformMatrixNV;
10462 typedef struct VkAabbPositionsKHR {
10469 } VkAabbPositionsKHR;
10471 typedef VkAabbPositionsKHR VkAabbPositionsNV;
10473 typedef struct VkAccelerationStructureInstanceKHR {
10474 VkTransformMatrixKHR transform;
10475 uint32_t instanceCustomIndex:24;
10477 uint32_t instanceShaderBindingTableRecordOffset:24;
10478 VkGeometryInstanceFlagsKHR flags:8;
10479 uint64_t accelerationStructureReference;
10480 } VkAccelerationStructureInstanceKHR;
10482 typedef VkAccelerationStructureInstanceKHR VkAccelerationStructureInstanceNV;
10484 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureNV)(VkDevice device, const VkAccelerationStructureCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureNV* pAccelerationStructure);
10485 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, const VkAllocationCallbacks* pAllocator);
10486 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureMemoryRequirementsNV)(VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements);
10487 typedef VkResult (VKAPI_PTR *PFN_vkBindAccelerationStructureMemoryNV)(VkDevice device, uint32_t bindInfoCount, const VkBindAccelerationStructureMemoryInfoNV* pBindInfos);
10488 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);
10489 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureNV)(VkCommandBuffer commandBuffer, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkCopyAccelerationStructureModeKHR mode);
10490 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);
10491 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesNV)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoNV* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
10492 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData);
10493 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesNV)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData);
10494 typedef VkResult (VKAPI_PTR *PFN_vkGetAccelerationStructureHandleNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, size_t dataSize, void* pData);
10495 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesNV)(VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureNV* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery);
10496 typedef VkResult (VKAPI_PTR *PFN_vkCompileDeferredNV)(VkDevice device, VkPipeline pipeline, uint32_t shader);
10498 #ifndef VK_NO_PROTOTYPES
10499 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureNV(
10501 const VkAccelerationStructureCreateInfoNV* pCreateInfo,
10502 const VkAllocationCallbacks* pAllocator,
10503 VkAccelerationStructureNV* pAccelerationStructure);
10505 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureNV(
10507 VkAccelerationStructureNV accelerationStructure,
10508 const VkAllocationCallbacks* pAllocator);
10510 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureMemoryRequirementsNV(
10512 const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo,
10513 VkMemoryRequirements2KHR* pMemoryRequirements);
10515 VKAPI_ATTR VkResult VKAPI_CALL vkBindAccelerationStructureMemoryNV(
10517 uint32_t bindInfoCount,
10518 const VkBindAccelerationStructureMemoryInfoNV* pBindInfos);
10520 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructureNV(
10521 VkCommandBuffer commandBuffer,
10522 const VkAccelerationStructureInfoNV* pInfo,
10523 VkBuffer instanceData,
10524 VkDeviceSize instanceOffset,
10526 VkAccelerationStructureNV dst,
10527 VkAccelerationStructureNV src,
10529 VkDeviceSize scratchOffset);
10531 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureNV(
10532 VkCommandBuffer commandBuffer,
10533 VkAccelerationStructureNV dst,
10534 VkAccelerationStructureNV src,
10535 VkCopyAccelerationStructureModeKHR mode);
10537 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysNV(
10538 VkCommandBuffer commandBuffer,
10539 VkBuffer raygenShaderBindingTableBuffer,
10540 VkDeviceSize raygenShaderBindingOffset,
10541 VkBuffer missShaderBindingTableBuffer,
10542 VkDeviceSize missShaderBindingOffset,
10543 VkDeviceSize missShaderBindingStride,
10544 VkBuffer hitShaderBindingTableBuffer,
10545 VkDeviceSize hitShaderBindingOffset,
10546 VkDeviceSize hitShaderBindingStride,
10547 VkBuffer callableShaderBindingTableBuffer,
10548 VkDeviceSize callableShaderBindingOffset,
10549 VkDeviceSize callableShaderBindingStride,
10554 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesNV(
10556 VkPipelineCache pipelineCache,
10557 uint32_t createInfoCount,
10558 const VkRayTracingPipelineCreateInfoNV* pCreateInfos,
10559 const VkAllocationCallbacks* pAllocator,
10560 VkPipeline* pPipelines);
10562 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesKHR(
10564 VkPipeline pipeline,
10565 uint32_t firstGroup,
10566 uint32_t groupCount,
10570 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesNV(
10572 VkPipeline pipeline,
10573 uint32_t firstGroup,
10574 uint32_t groupCount,
10578 VKAPI_ATTR VkResult VKAPI_CALL vkGetAccelerationStructureHandleNV(
10580 VkAccelerationStructureNV accelerationStructure,
10584 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesNV(
10585 VkCommandBuffer commandBuffer,
10586 uint32_t accelerationStructureCount,
10587 const VkAccelerationStructureNV* pAccelerationStructures,
10588 VkQueryType queryType,
10589 VkQueryPool queryPool,
10590 uint32_t firstQuery);
10592 VKAPI_ATTR VkResult VKAPI_CALL vkCompileDeferredNV(
10594 VkPipeline pipeline,
10599 #define VK_NV_representative_fragment_test 1
10600 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION 2
10601 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME "VK_NV_representative_fragment_test"
10602 typedef struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV {
10603 VkStructureType sType;
10605 VkBool32 representativeFragmentTest;
10606 } VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV;
10608 typedef struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV {
10609 VkStructureType sType;
10611 VkBool32 representativeFragmentTestEnable;
10612 } VkPipelineRepresentativeFragmentTestStateCreateInfoNV;
10616 #define VK_EXT_filter_cubic 1
10617 #define VK_EXT_FILTER_CUBIC_SPEC_VERSION 3
10618 #define VK_EXT_FILTER_CUBIC_EXTENSION_NAME "VK_EXT_filter_cubic"
10619 typedef struct VkPhysicalDeviceImageViewImageFormatInfoEXT {
10620 VkStructureType sType;
10622 VkImageViewType imageViewType;
10623 } VkPhysicalDeviceImageViewImageFormatInfoEXT;
10625 typedef struct VkFilterCubicImageViewImageFormatPropertiesEXT {
10626 VkStructureType sType;
10628 VkBool32 filterCubic;
10629 VkBool32 filterCubicMinmax;
10630 } VkFilterCubicImageViewImageFormatPropertiesEXT;
10634 #define VK_QCOM_render_pass_shader_resolve 1
10635 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_SPEC_VERSION 4
10636 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_EXTENSION_NAME "VK_QCOM_render_pass_shader_resolve"
10639 #define VK_EXT_global_priority 1
10640 #define VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION 2
10641 #define VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME "VK_EXT_global_priority"
10643 typedef enum VkQueueGlobalPriorityEXT {
10644 VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT = 128,
10645 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT = 256,
10646 VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT = 512,
10647 VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT = 1024,
10648 VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_EXT = 0x7FFFFFFF
10649 } VkQueueGlobalPriorityEXT;
10650 typedef struct VkDeviceQueueGlobalPriorityCreateInfoEXT {
10651 VkStructureType sType;
10653 VkQueueGlobalPriorityEXT globalPriority;
10654 } VkDeviceQueueGlobalPriorityCreateInfoEXT;
10658 #define VK_EXT_external_memory_host 1
10659 #define VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION 1
10660 #define VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME "VK_EXT_external_memory_host"
10661 typedef struct VkImportMemoryHostPointerInfoEXT {
10662 VkStructureType sType;
10664 VkExternalMemoryHandleTypeFlagBits handleType;
10665 void* pHostPointer;
10666 } VkImportMemoryHostPointerInfoEXT;
10668 typedef struct VkMemoryHostPointerPropertiesEXT {
10669 VkStructureType sType;
10671 uint32_t memoryTypeBits;
10672 } VkMemoryHostPointerPropertiesEXT;
10674 typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
10675 VkStructureType sType;
10677 VkDeviceSize minImportedHostPointerAlignment;
10678 } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
10680 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryHostPointerPropertiesEXT)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
10682 #ifndef VK_NO_PROTOTYPES
10683 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryHostPointerPropertiesEXT(
10685 VkExternalMemoryHandleTypeFlagBits handleType,
10686 const void* pHostPointer,
10687 VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
10691 #define VK_AMD_buffer_marker 1
10692 #define VK_AMD_BUFFER_MARKER_SPEC_VERSION 1
10693 #define VK_AMD_BUFFER_MARKER_EXTENSION_NAME "VK_AMD_buffer_marker"
10694 typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarkerAMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker);
10696 #ifndef VK_NO_PROTOTYPES
10697 VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarkerAMD(
10698 VkCommandBuffer commandBuffer,
10699 VkPipelineStageFlagBits pipelineStage,
10700 VkBuffer dstBuffer,
10701 VkDeviceSize dstOffset,
10706 #define VK_AMD_pipeline_compiler_control 1
10707 #define VK_AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION 1
10708 #define VK_AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME "VK_AMD_pipeline_compiler_control"
10710 typedef enum VkPipelineCompilerControlFlagBitsAMD {
10711 VK_PIPELINE_COMPILER_CONTROL_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF
10712 } VkPipelineCompilerControlFlagBitsAMD;
10713 typedef VkFlags VkPipelineCompilerControlFlagsAMD;
10714 typedef struct VkPipelineCompilerControlCreateInfoAMD {
10715 VkStructureType sType;
10717 VkPipelineCompilerControlFlagsAMD compilerControlFlags;
10718 } VkPipelineCompilerControlCreateInfoAMD;
10722 #define VK_EXT_calibrated_timestamps 1
10723 #define VK_EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION 2
10724 #define VK_EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME "VK_EXT_calibrated_timestamps"
10726 typedef enum VkTimeDomainEXT {
10727 VK_TIME_DOMAIN_DEVICE_EXT = 0,
10728 VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT = 1,
10729 VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT = 2,
10730 VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT = 3,
10731 VK_TIME_DOMAIN_MAX_ENUM_EXT = 0x7FFFFFFF
10733 typedef struct VkCalibratedTimestampInfoEXT {
10734 VkStructureType sType;
10736 VkTimeDomainEXT timeDomain;
10737 } VkCalibratedTimestampInfoEXT;
10739 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT)(VkPhysicalDevice physicalDevice, uint32_t* pTimeDomainCount, VkTimeDomainEXT* pTimeDomains);
10740 typedef VkResult (VKAPI_PTR *PFN_vkGetCalibratedTimestampsEXT)(VkDevice device, uint32_t timestampCount, const VkCalibratedTimestampInfoEXT* pTimestampInfos, uint64_t* pTimestamps, uint64_t* pMaxDeviation);
10742 #ifndef VK_NO_PROTOTYPES
10743 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(
10744 VkPhysicalDevice physicalDevice,
10745 uint32_t* pTimeDomainCount,
10746 VkTimeDomainEXT* pTimeDomains);
10748 VKAPI_ATTR VkResult VKAPI_CALL vkGetCalibratedTimestampsEXT(
10750 uint32_t timestampCount,
10751 const VkCalibratedTimestampInfoEXT* pTimestampInfos,
10752 uint64_t* pTimestamps,
10753 uint64_t* pMaxDeviation);
10757 #define VK_AMD_shader_core_properties 1
10758 #define VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION 2
10759 #define VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_AMD_shader_core_properties"
10760 typedef struct VkPhysicalDeviceShaderCorePropertiesAMD {
10761 VkStructureType sType;
10763 uint32_t shaderEngineCount;
10764 uint32_t shaderArraysPerEngineCount;
10765 uint32_t computeUnitsPerShaderArray;
10766 uint32_t simdPerComputeUnit;
10767 uint32_t wavefrontsPerSimd;
10768 uint32_t wavefrontSize;
10769 uint32_t sgprsPerSimd;
10770 uint32_t minSgprAllocation;
10771 uint32_t maxSgprAllocation;
10772 uint32_t sgprAllocationGranularity;
10773 uint32_t vgprsPerSimd;
10774 uint32_t minVgprAllocation;
10775 uint32_t maxVgprAllocation;
10776 uint32_t vgprAllocationGranularity;
10777 } VkPhysicalDeviceShaderCorePropertiesAMD;
10781 #define VK_AMD_memory_overallocation_behavior 1
10782 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION 1
10783 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME "VK_AMD_memory_overallocation_behavior"
10785 typedef enum VkMemoryOverallocationBehaviorAMD {
10786 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD = 0,
10787 VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD = 1,
10788 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD = 2,
10789 VK_MEMORY_OVERALLOCATION_BEHAVIOR_MAX_ENUM_AMD = 0x7FFFFFFF
10790 } VkMemoryOverallocationBehaviorAMD;
10791 typedef struct VkDeviceMemoryOverallocationCreateInfoAMD {
10792 VkStructureType sType;
10794 VkMemoryOverallocationBehaviorAMD overallocationBehavior;
10795 } VkDeviceMemoryOverallocationCreateInfoAMD;
10799 #define VK_EXT_vertex_attribute_divisor 1
10800 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 3
10801 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_EXT_vertex_attribute_divisor"
10802 typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
10803 VkStructureType sType;
10805 uint32_t maxVertexAttribDivisor;
10806 } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
10808 typedef struct VkVertexInputBindingDivisorDescriptionEXT {
10811 } VkVertexInputBindingDivisorDescriptionEXT;
10813 typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT {
10814 VkStructureType sType;
10816 uint32_t vertexBindingDivisorCount;
10817 const VkVertexInputBindingDivisorDescriptionEXT* pVertexBindingDivisors;
10818 } VkPipelineVertexInputDivisorStateCreateInfoEXT;
10820 typedef struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT {
10821 VkStructureType sType;
10823 VkBool32 vertexAttributeInstanceRateDivisor;
10824 VkBool32 vertexAttributeInstanceRateZeroDivisor;
10825 } VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT;
10829 #define VK_EXT_pipeline_creation_feedback 1
10830 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION 1
10831 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME "VK_EXT_pipeline_creation_feedback"
10833 typedef enum VkPipelineCreationFeedbackFlagBitsEXT {
10834 VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = 0x00000001,
10835 VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = 0x00000002,
10836 VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = 0x00000004,
10837 VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
10838 } VkPipelineCreationFeedbackFlagBitsEXT;
10839 typedef VkFlags VkPipelineCreationFeedbackFlagsEXT;
10840 typedef struct VkPipelineCreationFeedbackEXT {
10841 VkPipelineCreationFeedbackFlagsEXT flags;
10843 } VkPipelineCreationFeedbackEXT;
10845 typedef struct VkPipelineCreationFeedbackCreateInfoEXT {
10846 VkStructureType sType;
10848 VkPipelineCreationFeedbackEXT* pPipelineCreationFeedback;
10849 uint32_t pipelineStageCreationFeedbackCount;
10850 VkPipelineCreationFeedbackEXT* pPipelineStageCreationFeedbacks;
10851 } VkPipelineCreationFeedbackCreateInfoEXT;
10855 #define VK_NV_shader_subgroup_partitioned 1
10856 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION 1
10857 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME "VK_NV_shader_subgroup_partitioned"
10860 #define VK_NV_compute_shader_derivatives 1
10861 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION 1
10862 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME "VK_NV_compute_shader_derivatives"
10863 typedef struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV {
10864 VkStructureType sType;
10866 VkBool32 computeDerivativeGroupQuads;
10867 VkBool32 computeDerivativeGroupLinear;
10868 } VkPhysicalDeviceComputeShaderDerivativesFeaturesNV;
10872 #define VK_NV_mesh_shader 1
10873 #define VK_NV_MESH_SHADER_SPEC_VERSION 1
10874 #define VK_NV_MESH_SHADER_EXTENSION_NAME "VK_NV_mesh_shader"
10875 typedef struct VkPhysicalDeviceMeshShaderFeaturesNV {
10876 VkStructureType sType;
10878 VkBool32 taskShader;
10879 VkBool32 meshShader;
10880 } VkPhysicalDeviceMeshShaderFeaturesNV;
10882 typedef struct VkPhysicalDeviceMeshShaderPropertiesNV {
10883 VkStructureType sType;
10885 uint32_t maxDrawMeshTasksCount;
10886 uint32_t maxTaskWorkGroupInvocations;
10887 uint32_t maxTaskWorkGroupSize[3];
10888 uint32_t maxTaskTotalMemorySize;
10889 uint32_t maxTaskOutputCount;
10890 uint32_t maxMeshWorkGroupInvocations;
10891 uint32_t maxMeshWorkGroupSize[3];
10892 uint32_t maxMeshTotalMemorySize;
10893 uint32_t maxMeshOutputVertices;
10894 uint32_t maxMeshOutputPrimitives;
10895 uint32_t maxMeshMultiviewViewCount;
10896 uint32_t meshOutputPerVertexGranularity;
10897 uint32_t meshOutputPerPrimitiveGranularity;
10898 } VkPhysicalDeviceMeshShaderPropertiesNV;
10900 typedef struct VkDrawMeshTasksIndirectCommandNV {
10901 uint32_t taskCount;
10902 uint32_t firstTask;
10903 } VkDrawMeshTasksIndirectCommandNV;
10905 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksNV)(VkCommandBuffer commandBuffer, uint32_t taskCount, uint32_t firstTask);
10906 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
10907 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectCountNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
10909 #ifndef VK_NO_PROTOTYPES
10910 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksNV(
10911 VkCommandBuffer commandBuffer,
10912 uint32_t taskCount,
10913 uint32_t firstTask);
10915 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectNV(
10916 VkCommandBuffer commandBuffer,
10918 VkDeviceSize offset,
10919 uint32_t drawCount,
10922 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectCountNV(
10923 VkCommandBuffer commandBuffer,
10925 VkDeviceSize offset,
10926 VkBuffer countBuffer,
10927 VkDeviceSize countBufferOffset,
10928 uint32_t maxDrawCount,
10933 #define VK_NV_fragment_shader_barycentric 1
10934 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1
10935 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_NV_fragment_shader_barycentric"
10936 typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV {
10937 VkStructureType sType;
10939 VkBool32 fragmentShaderBarycentric;
10940 } VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV;
10944 #define VK_NV_shader_image_footprint 1
10945 #define VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION 2
10946 #define VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME "VK_NV_shader_image_footprint"
10947 typedef struct VkPhysicalDeviceShaderImageFootprintFeaturesNV {
10948 VkStructureType sType;
10950 VkBool32 imageFootprint;
10951 } VkPhysicalDeviceShaderImageFootprintFeaturesNV;
10955 #define VK_NV_scissor_exclusive 1
10956 #define VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION 1
10957 #define VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME "VK_NV_scissor_exclusive"
10958 typedef struct VkPipelineViewportExclusiveScissorStateCreateInfoNV {
10959 VkStructureType sType;
10961 uint32_t exclusiveScissorCount;
10962 const VkRect2D* pExclusiveScissors;
10963 } VkPipelineViewportExclusiveScissorStateCreateInfoNV;
10965 typedef struct VkPhysicalDeviceExclusiveScissorFeaturesNV {
10966 VkStructureType sType;
10968 VkBool32 exclusiveScissor;
10969 } VkPhysicalDeviceExclusiveScissorFeaturesNV;
10971 typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorNV)(VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const VkRect2D* pExclusiveScissors);
10973 #ifndef VK_NO_PROTOTYPES
10974 VKAPI_ATTR void VKAPI_CALL vkCmdSetExclusiveScissorNV(
10975 VkCommandBuffer commandBuffer,
10976 uint32_t firstExclusiveScissor,
10977 uint32_t exclusiveScissorCount,
10978 const VkRect2D* pExclusiveScissors);
10982 #define VK_NV_device_diagnostic_checkpoints 1
10983 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION 2
10984 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME "VK_NV_device_diagnostic_checkpoints"
10985 typedef struct VkQueueFamilyCheckpointPropertiesNV {
10986 VkStructureType sType;
10988 VkPipelineStageFlags checkpointExecutionStageMask;
10989 } VkQueueFamilyCheckpointPropertiesNV;
10991 typedef struct VkCheckpointDataNV {
10992 VkStructureType sType;
10994 VkPipelineStageFlagBits stage;
10995 void* pCheckpointMarker;
10996 } VkCheckpointDataNV;
10998 typedef void (VKAPI_PTR *PFN_vkCmdSetCheckpointNV)(VkCommandBuffer commandBuffer, const void* pCheckpointMarker);
10999 typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointDataNV)(VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData);
11001 #ifndef VK_NO_PROTOTYPES
11002 VKAPI_ATTR void VKAPI_CALL vkCmdSetCheckpointNV(
11003 VkCommandBuffer commandBuffer,
11004 const void* pCheckpointMarker);
11006 VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointDataNV(
11008 uint32_t* pCheckpointDataCount,
11009 VkCheckpointDataNV* pCheckpointData);
11013 #define VK_INTEL_shader_integer_functions2 1
11014 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION 1
11015 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME "VK_INTEL_shader_integer_functions2"
11016 typedef struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
11017 VkStructureType sType;
11019 VkBool32 shaderIntegerFunctions2;
11020 } VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL;
11024 #define VK_INTEL_performance_query 1
11025 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPerformanceConfigurationINTEL)
11026 #define VK_INTEL_PERFORMANCE_QUERY_SPEC_VERSION 2
11027 #define VK_INTEL_PERFORMANCE_QUERY_EXTENSION_NAME "VK_INTEL_performance_query"
11029 typedef enum VkPerformanceConfigurationTypeINTEL {
11030 VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL = 0,
11031 VK_PERFORMANCE_CONFIGURATION_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
11032 } VkPerformanceConfigurationTypeINTEL;
11034 typedef enum VkQueryPoolSamplingModeINTEL {
11035 VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL = 0,
11036 VK_QUERY_POOL_SAMPLING_MODE_MAX_ENUM_INTEL = 0x7FFFFFFF
11037 } VkQueryPoolSamplingModeINTEL;
11039 typedef enum VkPerformanceOverrideTypeINTEL {
11040 VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL = 0,
11041 VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL = 1,
11042 VK_PERFORMANCE_OVERRIDE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
11043 } VkPerformanceOverrideTypeINTEL;
11045 typedef enum VkPerformanceParameterTypeINTEL {
11046 VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL = 0,
11047 VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL = 1,
11048 VK_PERFORMANCE_PARAMETER_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
11049 } VkPerformanceParameterTypeINTEL;
11051 typedef enum VkPerformanceValueTypeINTEL {
11052 VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL = 0,
11053 VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL = 1,
11054 VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL = 2,
11055 VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL = 3,
11056 VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL = 4,
11057 VK_PERFORMANCE_VALUE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
11058 } VkPerformanceValueTypeINTEL;
11059 typedef union VkPerformanceValueDataINTEL {
11063 VkBool32 valueBool;
11064 const char* valueString;
11065 } VkPerformanceValueDataINTEL;
11067 typedef struct VkPerformanceValueINTEL {
11068 VkPerformanceValueTypeINTEL type;
11069 VkPerformanceValueDataINTEL data;
11070 } VkPerformanceValueINTEL;
11072 typedef struct VkInitializePerformanceApiInfoINTEL {
11073 VkStructureType sType;
11076 } VkInitializePerformanceApiInfoINTEL;
11078 typedef struct VkQueryPoolPerformanceQueryCreateInfoINTEL {
11079 VkStructureType sType;
11081 VkQueryPoolSamplingModeINTEL performanceCountersSampling;
11082 } VkQueryPoolPerformanceQueryCreateInfoINTEL;
11084 typedef VkQueryPoolPerformanceQueryCreateInfoINTEL VkQueryPoolCreateInfoINTEL;
11086 typedef struct VkPerformanceMarkerInfoINTEL {
11087 VkStructureType sType;
11090 } VkPerformanceMarkerInfoINTEL;
11092 typedef struct VkPerformanceStreamMarkerInfoINTEL {
11093 VkStructureType sType;
11096 } VkPerformanceStreamMarkerInfoINTEL;
11098 typedef struct VkPerformanceOverrideInfoINTEL {
11099 VkStructureType sType;
11101 VkPerformanceOverrideTypeINTEL type;
11103 uint64_t parameter;
11104 } VkPerformanceOverrideInfoINTEL;
11106 typedef struct VkPerformanceConfigurationAcquireInfoINTEL {
11107 VkStructureType sType;
11109 VkPerformanceConfigurationTypeINTEL type;
11110 } VkPerformanceConfigurationAcquireInfoINTEL;
11112 typedef VkResult (VKAPI_PTR *PFN_vkInitializePerformanceApiINTEL)(VkDevice device, const VkInitializePerformanceApiInfoINTEL* pInitializeInfo);
11113 typedef void (VKAPI_PTR *PFN_vkUninitializePerformanceApiINTEL)(VkDevice device);
11114 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL* pMarkerInfo);
11115 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceStreamMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo);
11116 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceOverrideINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL* pOverrideInfo);
11117 typedef VkResult (VKAPI_PTR *PFN_vkAcquirePerformanceConfigurationINTEL)(VkDevice device, const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, VkPerformanceConfigurationINTEL* pConfiguration);
11118 typedef VkResult (VKAPI_PTR *PFN_vkReleasePerformanceConfigurationINTEL)(VkDevice device, VkPerformanceConfigurationINTEL configuration);
11119 typedef VkResult (VKAPI_PTR *PFN_vkQueueSetPerformanceConfigurationINTEL)(VkQueue queue, VkPerformanceConfigurationINTEL configuration);
11120 typedef VkResult (VKAPI_PTR *PFN_vkGetPerformanceParameterINTEL)(VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL* pValue);
11122 #ifndef VK_NO_PROTOTYPES
11123 VKAPI_ATTR VkResult VKAPI_CALL vkInitializePerformanceApiINTEL(
11125 const VkInitializePerformanceApiInfoINTEL* pInitializeInfo);
11127 VKAPI_ATTR void VKAPI_CALL vkUninitializePerformanceApiINTEL(
11130 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceMarkerINTEL(
11131 VkCommandBuffer commandBuffer,
11132 const VkPerformanceMarkerInfoINTEL* pMarkerInfo);
11134 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceStreamMarkerINTEL(
11135 VkCommandBuffer commandBuffer,
11136 const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo);
11138 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceOverrideINTEL(
11139 VkCommandBuffer commandBuffer,
11140 const VkPerformanceOverrideInfoINTEL* pOverrideInfo);
11142 VKAPI_ATTR VkResult VKAPI_CALL vkAcquirePerformanceConfigurationINTEL(
11144 const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo,
11145 VkPerformanceConfigurationINTEL* pConfiguration);
11147 VKAPI_ATTR VkResult VKAPI_CALL vkReleasePerformanceConfigurationINTEL(
11149 VkPerformanceConfigurationINTEL configuration);
11151 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSetPerformanceConfigurationINTEL(
11153 VkPerformanceConfigurationINTEL configuration);
11155 VKAPI_ATTR VkResult VKAPI_CALL vkGetPerformanceParameterINTEL(
11157 VkPerformanceParameterTypeINTEL parameter,
11158 VkPerformanceValueINTEL* pValue);
11162 #define VK_EXT_pci_bus_info 1
11163 #define VK_EXT_PCI_BUS_INFO_SPEC_VERSION 2
11164 #define VK_EXT_PCI_BUS_INFO_EXTENSION_NAME "VK_EXT_pci_bus_info"
11165 typedef struct VkPhysicalDevicePCIBusInfoPropertiesEXT {
11166 VkStructureType sType;
11168 uint32_t pciDomain;
11170 uint32_t pciDevice;
11171 uint32_t pciFunction;
11172 } VkPhysicalDevicePCIBusInfoPropertiesEXT;
11176 #define VK_AMD_display_native_hdr 1
11177 #define VK_AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION 1
11178 #define VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME "VK_AMD_display_native_hdr"
11179 typedef struct VkDisplayNativeHdrSurfaceCapabilitiesAMD {
11180 VkStructureType sType;
11182 VkBool32 localDimmingSupport;
11183 } VkDisplayNativeHdrSurfaceCapabilitiesAMD;
11185 typedef struct VkSwapchainDisplayNativeHdrCreateInfoAMD {
11186 VkStructureType sType;
11188 VkBool32 localDimmingEnable;
11189 } VkSwapchainDisplayNativeHdrCreateInfoAMD;
11191 typedef void (VKAPI_PTR *PFN_vkSetLocalDimmingAMD)(VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable);
11193 #ifndef VK_NO_PROTOTYPES
11194 VKAPI_ATTR void VKAPI_CALL vkSetLocalDimmingAMD(
11196 VkSwapchainKHR swapChain,
11197 VkBool32 localDimmingEnable);
11201 #define VK_EXT_fragment_density_map 1
11202 #define VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION 1
11203 #define VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME "VK_EXT_fragment_density_map"
11204 typedef struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT {
11205 VkStructureType sType;
11207 VkBool32 fragmentDensityMap;
11208 VkBool32 fragmentDensityMapDynamic;
11209 VkBool32 fragmentDensityMapNonSubsampledImages;
11210 } VkPhysicalDeviceFragmentDensityMapFeaturesEXT;
11212 typedef struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT {
11213 VkStructureType sType;
11215 VkExtent2D minFragmentDensityTexelSize;
11216 VkExtent2D maxFragmentDensityTexelSize;
11217 VkBool32 fragmentDensityInvocations;
11218 } VkPhysicalDeviceFragmentDensityMapPropertiesEXT;
11220 typedef struct VkRenderPassFragmentDensityMapCreateInfoEXT {
11221 VkStructureType sType;
11223 VkAttachmentReference fragmentDensityMapAttachment;
11224 } VkRenderPassFragmentDensityMapCreateInfoEXT;
11228 #define VK_EXT_scalar_block_layout 1
11229 #define VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION 1
11230 #define VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME "VK_EXT_scalar_block_layout"
11231 typedef VkPhysicalDeviceScalarBlockLayoutFeatures VkPhysicalDeviceScalarBlockLayoutFeaturesEXT;
11235 #define VK_GOOGLE_hlsl_functionality1 1
11236 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION 1
11237 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME "VK_GOOGLE_hlsl_functionality1"
11240 #define VK_GOOGLE_decorate_string 1
11241 #define VK_GOOGLE_DECORATE_STRING_SPEC_VERSION 1
11242 #define VK_GOOGLE_DECORATE_STRING_EXTENSION_NAME "VK_GOOGLE_decorate_string"
11245 #define VK_EXT_subgroup_size_control 1
11246 #define VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION 2
11247 #define VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME "VK_EXT_subgroup_size_control"
11248 typedef struct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT {
11249 VkStructureType sType;
11251 VkBool32 subgroupSizeControl;
11252 VkBool32 computeFullSubgroups;
11253 } VkPhysicalDeviceSubgroupSizeControlFeaturesEXT;
11255 typedef struct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT {
11256 VkStructureType sType;
11258 uint32_t minSubgroupSize;
11259 uint32_t maxSubgroupSize;
11260 uint32_t maxComputeWorkgroupSubgroups;
11261 VkShaderStageFlags requiredSubgroupSizeStages;
11262 } VkPhysicalDeviceSubgroupSizeControlPropertiesEXT;
11264 typedef struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT {
11265 VkStructureType sType;
11267 uint32_t requiredSubgroupSize;
11268 } VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT;
11272 #define VK_AMD_shader_core_properties2 1
11273 #define VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION 1
11274 #define VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME "VK_AMD_shader_core_properties2"
11276 typedef enum VkShaderCorePropertiesFlagBitsAMD {
11277 VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF
11278 } VkShaderCorePropertiesFlagBitsAMD;
11279 typedef VkFlags VkShaderCorePropertiesFlagsAMD;
11280 typedef struct VkPhysicalDeviceShaderCoreProperties2AMD {
11281 VkStructureType sType;
11283 VkShaderCorePropertiesFlagsAMD shaderCoreFeatures;
11284 uint32_t activeComputeUnitCount;
11285 } VkPhysicalDeviceShaderCoreProperties2AMD;
11289 #define VK_AMD_device_coherent_memory 1
11290 #define VK_AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION 1
11291 #define VK_AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME "VK_AMD_device_coherent_memory"
11292 typedef struct VkPhysicalDeviceCoherentMemoryFeaturesAMD {
11293 VkStructureType sType;
11295 VkBool32 deviceCoherentMemory;
11296 } VkPhysicalDeviceCoherentMemoryFeaturesAMD;
11300 #define VK_EXT_shader_image_atomic_int64 1
11301 #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION 1
11302 #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME "VK_EXT_shader_image_atomic_int64"
11303 typedef struct VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT {
11304 VkStructureType sType;
11306 VkBool32 shaderImageInt64Atomics;
11307 VkBool32 sparseImageInt64Atomics;
11308 } VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT;
11312 #define VK_EXT_memory_budget 1
11313 #define VK_EXT_MEMORY_BUDGET_SPEC_VERSION 1
11314 #define VK_EXT_MEMORY_BUDGET_EXTENSION_NAME "VK_EXT_memory_budget"
11315 typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT {
11316 VkStructureType sType;
11318 VkDeviceSize heapBudget[VK_MAX_MEMORY_HEAPS];
11319 VkDeviceSize heapUsage[VK_MAX_MEMORY_HEAPS];
11320 } VkPhysicalDeviceMemoryBudgetPropertiesEXT;
11324 #define VK_EXT_memory_priority 1
11325 #define VK_EXT_MEMORY_PRIORITY_SPEC_VERSION 1
11326 #define VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME "VK_EXT_memory_priority"
11327 typedef struct VkPhysicalDeviceMemoryPriorityFeaturesEXT {
11328 VkStructureType sType;
11330 VkBool32 memoryPriority;
11331 } VkPhysicalDeviceMemoryPriorityFeaturesEXT;
11333 typedef struct VkMemoryPriorityAllocateInfoEXT {
11334 VkStructureType sType;
11337 } VkMemoryPriorityAllocateInfoEXT;
11341 #define VK_NV_dedicated_allocation_image_aliasing 1
11342 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION 1
11343 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME "VK_NV_dedicated_allocation_image_aliasing"
11344 typedef struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
11345 VkStructureType sType;
11347 VkBool32 dedicatedAllocationImageAliasing;
11348 } VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV;
11352 #define VK_EXT_buffer_device_address 1
11353 #define VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 2
11354 #define VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_EXT_buffer_device_address"
11355 typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT {
11356 VkStructureType sType;
11358 VkBool32 bufferDeviceAddress;
11359 VkBool32 bufferDeviceAddressCaptureReplay;
11360 VkBool32 bufferDeviceAddressMultiDevice;
11361 } VkPhysicalDeviceBufferDeviceAddressFeaturesEXT;
11363 typedef VkPhysicalDeviceBufferDeviceAddressFeaturesEXT VkPhysicalDeviceBufferAddressFeaturesEXT;
11365 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoEXT;
11367 typedef struct VkBufferDeviceAddressCreateInfoEXT {
11368 VkStructureType sType;
11370 VkDeviceAddress deviceAddress;
11371 } VkBufferDeviceAddressCreateInfoEXT;
11373 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressEXT)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
11375 #ifndef VK_NO_PROTOTYPES
11376 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressEXT(
11378 const VkBufferDeviceAddressInfo* pInfo);
11382 #define VK_EXT_tooling_info 1
11383 #define VK_EXT_TOOLING_INFO_SPEC_VERSION 1
11384 #define VK_EXT_TOOLING_INFO_EXTENSION_NAME "VK_EXT_tooling_info"
11386 typedef enum VkToolPurposeFlagBitsEXT {
11387 VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = 0x00000001,
11388 VK_TOOL_PURPOSE_PROFILING_BIT_EXT = 0x00000002,
11389 VK_TOOL_PURPOSE_TRACING_BIT_EXT = 0x00000004,
11390 VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = 0x00000008,
11391 VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = 0x00000010,
11392 VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 0x00000020,
11393 VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 0x00000040,
11394 VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
11395 } VkToolPurposeFlagBitsEXT;
11396 typedef VkFlags VkToolPurposeFlagsEXT;
11397 typedef struct VkPhysicalDeviceToolPropertiesEXT {
11398 VkStructureType sType;
11400 char name[VK_MAX_EXTENSION_NAME_SIZE];
11401 char version[VK_MAX_EXTENSION_NAME_SIZE];
11402 VkToolPurposeFlagsEXT purposes;
11403 char description[VK_MAX_DESCRIPTION_SIZE];
11404 char layer[VK_MAX_EXTENSION_NAME_SIZE];
11405 } VkPhysicalDeviceToolPropertiesEXT;
11407 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceToolPropertiesEXT)(VkPhysicalDevice physicalDevice, uint32_t* pToolCount, VkPhysicalDeviceToolPropertiesEXT* pToolProperties);
11409 #ifndef VK_NO_PROTOTYPES
11410 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceToolPropertiesEXT(
11411 VkPhysicalDevice physicalDevice,
11412 uint32_t* pToolCount,
11413 VkPhysicalDeviceToolPropertiesEXT* pToolProperties);
11417 #define VK_EXT_separate_stencil_usage 1
11418 #define VK_EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION 1
11419 #define VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME "VK_EXT_separate_stencil_usage"
11420 typedef VkImageStencilUsageCreateInfo VkImageStencilUsageCreateInfoEXT;
11424 #define VK_EXT_validation_features 1
11425 #define VK_EXT_VALIDATION_FEATURES_SPEC_VERSION 5
11426 #define VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME "VK_EXT_validation_features"
11428 typedef enum VkValidationFeatureEnableEXT {
11429 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT = 0,
11430 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT = 1,
11431 VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT = 2,
11432 VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT = 3,
11433 VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT = 4,
11434 VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT = 0x7FFFFFFF
11435 } VkValidationFeatureEnableEXT;
11437 typedef enum VkValidationFeatureDisableEXT {
11438 VK_VALIDATION_FEATURE_DISABLE_ALL_EXT = 0,
11439 VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT = 1,
11440 VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT = 2,
11441 VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT = 3,
11442 VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT = 4,
11443 VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT = 5,
11444 VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT = 6,
11445 VK_VALIDATION_FEATURE_DISABLE_SHADER_VALIDATION_CACHE_EXT = 7,
11446 VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT = 0x7FFFFFFF
11447 } VkValidationFeatureDisableEXT;
11448 typedef struct VkValidationFeaturesEXT {
11449 VkStructureType sType;
11451 uint32_t enabledValidationFeatureCount;
11452 const VkValidationFeatureEnableEXT* pEnabledValidationFeatures;
11453 uint32_t disabledValidationFeatureCount;
11454 const VkValidationFeatureDisableEXT* pDisabledValidationFeatures;
11455 } VkValidationFeaturesEXT;
11459 #define VK_NV_cooperative_matrix 1
11460 #define VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION 1
11461 #define VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_NV_cooperative_matrix"
11463 typedef enum VkComponentTypeNV {
11464 VK_COMPONENT_TYPE_FLOAT16_NV = 0,
11465 VK_COMPONENT_TYPE_FLOAT32_NV = 1,
11466 VK_COMPONENT_TYPE_FLOAT64_NV = 2,
11467 VK_COMPONENT_TYPE_SINT8_NV = 3,
11468 VK_COMPONENT_TYPE_SINT16_NV = 4,
11469 VK_COMPONENT_TYPE_SINT32_NV = 5,
11470 VK_COMPONENT_TYPE_SINT64_NV = 6,
11471 VK_COMPONENT_TYPE_UINT8_NV = 7,
11472 VK_COMPONENT_TYPE_UINT16_NV = 8,
11473 VK_COMPONENT_TYPE_UINT32_NV = 9,
11474 VK_COMPONENT_TYPE_UINT64_NV = 10,
11475 VK_COMPONENT_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
11476 } VkComponentTypeNV;
11478 typedef enum VkScopeNV {
11479 VK_SCOPE_DEVICE_NV = 1,
11480 VK_SCOPE_WORKGROUP_NV = 2,
11481 VK_SCOPE_SUBGROUP_NV = 3,
11482 VK_SCOPE_QUEUE_FAMILY_NV = 5,
11483 VK_SCOPE_MAX_ENUM_NV = 0x7FFFFFFF
11485 typedef struct VkCooperativeMatrixPropertiesNV {
11486 VkStructureType sType;
11491 VkComponentTypeNV AType;
11492 VkComponentTypeNV BType;
11493 VkComponentTypeNV CType;
11494 VkComponentTypeNV DType;
11496 } VkCooperativeMatrixPropertiesNV;
11498 typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesNV {
11499 VkStructureType sType;
11501 VkBool32 cooperativeMatrix;
11502 VkBool32 cooperativeMatrixRobustBufferAccess;
11503 } VkPhysicalDeviceCooperativeMatrixFeaturesNV;
11505 typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesNV {
11506 VkStructureType sType;
11508 VkShaderStageFlags cooperativeMatrixSupportedStages;
11509 } VkPhysicalDeviceCooperativeMatrixPropertiesNV;
11511 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkCooperativeMatrixPropertiesNV* pProperties);
11513 #ifndef VK_NO_PROTOTYPES
11514 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(
11515 VkPhysicalDevice physicalDevice,
11516 uint32_t* pPropertyCount,
11517 VkCooperativeMatrixPropertiesNV* pProperties);
11521 #define VK_NV_coverage_reduction_mode 1
11522 #define VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION 1
11523 #define VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME "VK_NV_coverage_reduction_mode"
11525 typedef enum VkCoverageReductionModeNV {
11526 VK_COVERAGE_REDUCTION_MODE_MERGE_NV = 0,
11527 VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV = 1,
11528 VK_COVERAGE_REDUCTION_MODE_MAX_ENUM_NV = 0x7FFFFFFF
11529 } VkCoverageReductionModeNV;
11530 typedef VkFlags VkPipelineCoverageReductionStateCreateFlagsNV;
11531 typedef struct VkPhysicalDeviceCoverageReductionModeFeaturesNV {
11532 VkStructureType sType;
11534 VkBool32 coverageReductionMode;
11535 } VkPhysicalDeviceCoverageReductionModeFeaturesNV;
11537 typedef struct VkPipelineCoverageReductionStateCreateInfoNV {
11538 VkStructureType sType;
11540 VkPipelineCoverageReductionStateCreateFlagsNV flags;
11541 VkCoverageReductionModeNV coverageReductionMode;
11542 } VkPipelineCoverageReductionStateCreateInfoNV;
11544 typedef struct VkFramebufferMixedSamplesCombinationNV {
11545 VkStructureType sType;
11547 VkCoverageReductionModeNV coverageReductionMode;
11548 VkSampleCountFlagBits rasterizationSamples;
11549 VkSampleCountFlags depthStencilSamples;
11550 VkSampleCountFlags colorSamples;
11551 } VkFramebufferMixedSamplesCombinationNV;
11553 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV)(VkPhysicalDevice physicalDevice, uint32_t* pCombinationCount, VkFramebufferMixedSamplesCombinationNV* pCombinations);
11555 #ifndef VK_NO_PROTOTYPES
11556 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
11557 VkPhysicalDevice physicalDevice,
11558 uint32_t* pCombinationCount,
11559 VkFramebufferMixedSamplesCombinationNV* pCombinations);
11563 #define VK_EXT_fragment_shader_interlock 1
11564 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION 1
11565 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME "VK_EXT_fragment_shader_interlock"
11566 typedef struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT {
11567 VkStructureType sType;
11569 VkBool32 fragmentShaderSampleInterlock;
11570 VkBool32 fragmentShaderPixelInterlock;
11571 VkBool32 fragmentShaderShadingRateInterlock;
11572 } VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT;
11576 #define VK_EXT_ycbcr_image_arrays 1
11577 #define VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION 1
11578 #define VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME "VK_EXT_ycbcr_image_arrays"
11579 typedef struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT {
11580 VkStructureType sType;
11582 VkBool32 ycbcrImageArrays;
11583 } VkPhysicalDeviceYcbcrImageArraysFeaturesEXT;
11587 #define VK_EXT_provoking_vertex 1
11588 #define VK_EXT_PROVOKING_VERTEX_SPEC_VERSION 1
11589 #define VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME "VK_EXT_provoking_vertex"
11591 typedef enum VkProvokingVertexModeEXT {
11592 VK_PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT = 0,
11593 VK_PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT = 1,
11594 VK_PROVOKING_VERTEX_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
11595 } VkProvokingVertexModeEXT;
11596 typedef struct VkPhysicalDeviceProvokingVertexFeaturesEXT {
11597 VkStructureType sType;
11599 VkBool32 provokingVertexLast;
11600 VkBool32 transformFeedbackPreservesProvokingVertex;
11601 } VkPhysicalDeviceProvokingVertexFeaturesEXT;
11603 typedef struct VkPhysicalDeviceProvokingVertexPropertiesEXT {
11604 VkStructureType sType;
11606 VkBool32 provokingVertexModePerPipeline;
11607 VkBool32 transformFeedbackPreservesTriangleFanProvokingVertex;
11608 } VkPhysicalDeviceProvokingVertexPropertiesEXT;
11610 typedef struct VkPipelineRasterizationProvokingVertexStateCreateInfoEXT {
11611 VkStructureType sType;
11613 VkProvokingVertexModeEXT provokingVertexMode;
11614 } VkPipelineRasterizationProvokingVertexStateCreateInfoEXT;
11618 #define VK_EXT_headless_surface 1
11619 #define VK_EXT_HEADLESS_SURFACE_SPEC_VERSION 1
11620 #define VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME "VK_EXT_headless_surface"
11621 typedef VkFlags VkHeadlessSurfaceCreateFlagsEXT;
11622 typedef struct VkHeadlessSurfaceCreateInfoEXT {
11623 VkStructureType sType;
11625 VkHeadlessSurfaceCreateFlagsEXT flags;
11626 } VkHeadlessSurfaceCreateInfoEXT;
11628 typedef VkResult (VKAPI_PTR *PFN_vkCreateHeadlessSurfaceEXT)(VkInstance instance, const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
11630 #ifndef VK_NO_PROTOTYPES
11631 VKAPI_ATTR VkResult VKAPI_CALL vkCreateHeadlessSurfaceEXT(
11632 VkInstance instance,
11633 const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo,
11634 const VkAllocationCallbacks* pAllocator,
11635 VkSurfaceKHR* pSurface);
11639 #define VK_EXT_line_rasterization 1
11640 #define VK_EXT_LINE_RASTERIZATION_SPEC_VERSION 1
11641 #define VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME "VK_EXT_line_rasterization"
11643 typedef enum VkLineRasterizationModeEXT {
11644 VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT = 0,
11645 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT = 1,
11646 VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT = 2,
11647 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT = 3,
11648 VK_LINE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
11649 } VkLineRasterizationModeEXT;
11650 typedef struct VkPhysicalDeviceLineRasterizationFeaturesEXT {
11651 VkStructureType sType;
11653 VkBool32 rectangularLines;
11654 VkBool32 bresenhamLines;
11655 VkBool32 smoothLines;
11656 VkBool32 stippledRectangularLines;
11657 VkBool32 stippledBresenhamLines;
11658 VkBool32 stippledSmoothLines;
11659 } VkPhysicalDeviceLineRasterizationFeaturesEXT;
11661 typedef struct VkPhysicalDeviceLineRasterizationPropertiesEXT {
11662 VkStructureType sType;
11664 uint32_t lineSubPixelPrecisionBits;
11665 } VkPhysicalDeviceLineRasterizationPropertiesEXT;
11667 typedef struct VkPipelineRasterizationLineStateCreateInfoEXT {
11668 VkStructureType sType;
11670 VkLineRasterizationModeEXT lineRasterizationMode;
11671 VkBool32 stippledLineEnable;
11672 uint32_t lineStippleFactor;
11673 uint16_t lineStipplePattern;
11674 } VkPipelineRasterizationLineStateCreateInfoEXT;
11676 typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleEXT)(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern);
11678 #ifndef VK_NO_PROTOTYPES
11679 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleEXT(
11680 VkCommandBuffer commandBuffer,
11681 uint32_t lineStippleFactor,
11682 uint16_t lineStipplePattern);
11686 #define VK_EXT_shader_atomic_float 1
11687 #define VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION 1
11688 #define VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME "VK_EXT_shader_atomic_float"
11689 typedef struct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT {
11690 VkStructureType sType;
11692 VkBool32 shaderBufferFloat32Atomics;
11693 VkBool32 shaderBufferFloat32AtomicAdd;
11694 VkBool32 shaderBufferFloat64Atomics;
11695 VkBool32 shaderBufferFloat64AtomicAdd;
11696 VkBool32 shaderSharedFloat32Atomics;
11697 VkBool32 shaderSharedFloat32AtomicAdd;
11698 VkBool32 shaderSharedFloat64Atomics;
11699 VkBool32 shaderSharedFloat64AtomicAdd;
11700 VkBool32 shaderImageFloat32Atomics;
11701 VkBool32 shaderImageFloat32AtomicAdd;
11702 VkBool32 sparseImageFloat32Atomics;
11703 VkBool32 sparseImageFloat32AtomicAdd;
11704 } VkPhysicalDeviceShaderAtomicFloatFeaturesEXT;
11708 #define VK_EXT_host_query_reset 1
11709 #define VK_EXT_HOST_QUERY_RESET_SPEC_VERSION 1
11710 #define VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME "VK_EXT_host_query_reset"
11711 typedef VkPhysicalDeviceHostQueryResetFeatures VkPhysicalDeviceHostQueryResetFeaturesEXT;
11713 typedef void (VKAPI_PTR *PFN_vkResetQueryPoolEXT)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount);
11715 #ifndef VK_NO_PROTOTYPES
11716 VKAPI_ATTR void VKAPI_CALL vkResetQueryPoolEXT(
11718 VkQueryPool queryPool,
11719 uint32_t firstQuery,
11720 uint32_t queryCount);
11724 #define VK_EXT_index_type_uint8 1
11725 #define VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION 1
11726 #define VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_EXT_index_type_uint8"
11727 typedef struct VkPhysicalDeviceIndexTypeUint8FeaturesEXT {
11728 VkStructureType sType;
11730 VkBool32 indexTypeUint8;
11731 } VkPhysicalDeviceIndexTypeUint8FeaturesEXT;
11735 #define VK_EXT_extended_dynamic_state 1
11736 #define VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION 1
11737 #define VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_extended_dynamic_state"
11738 typedef struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT {
11739 VkStructureType sType;
11741 VkBool32 extendedDynamicState;
11742 } VkPhysicalDeviceExtendedDynamicStateFeaturesEXT;
11744 typedef void (VKAPI_PTR *PFN_vkCmdSetCullModeEXT)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode);
11745 typedef void (VKAPI_PTR *PFN_vkCmdSetFrontFaceEXT)(VkCommandBuffer commandBuffer, VkFrontFace frontFace);
11746 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveTopologyEXT)(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology);
11747 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWithCountEXT)(VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport* pViewports);
11748 typedef void (VKAPI_PTR *PFN_vkCmdSetScissorWithCountEXT)(VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D* pScissors);
11749 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);
11750 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable);
11751 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthWriteEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable);
11752 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthCompareOpEXT)(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp);
11753 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBoundsTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable);
11754 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable);
11755 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilOpEXT)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp);
11757 #ifndef VK_NO_PROTOTYPES
11758 VKAPI_ATTR void VKAPI_CALL vkCmdSetCullModeEXT(
11759 VkCommandBuffer commandBuffer,
11760 VkCullModeFlags cullMode);
11762 VKAPI_ATTR void VKAPI_CALL vkCmdSetFrontFaceEXT(
11763 VkCommandBuffer commandBuffer,
11764 VkFrontFace frontFace);
11766 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveTopologyEXT(
11767 VkCommandBuffer commandBuffer,
11768 VkPrimitiveTopology primitiveTopology);
11770 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWithCountEXT(
11771 VkCommandBuffer commandBuffer,
11772 uint32_t viewportCount,
11773 const VkViewport* pViewports);
11775 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissorWithCountEXT(
11776 VkCommandBuffer commandBuffer,
11777 uint32_t scissorCount,
11778 const VkRect2D* pScissors);
11780 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers2EXT(
11781 VkCommandBuffer commandBuffer,
11782 uint32_t firstBinding,
11783 uint32_t bindingCount,
11784 const VkBuffer* pBuffers,
11785 const VkDeviceSize* pOffsets,
11786 const VkDeviceSize* pSizes,
11787 const VkDeviceSize* pStrides);
11789 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthTestEnableEXT(
11790 VkCommandBuffer commandBuffer,
11791 VkBool32 depthTestEnable);
11793 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthWriteEnableEXT(
11794 VkCommandBuffer commandBuffer,
11795 VkBool32 depthWriteEnable);
11797 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthCompareOpEXT(
11798 VkCommandBuffer commandBuffer,
11799 VkCompareOp depthCompareOp);
11801 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBoundsTestEnableEXT(
11802 VkCommandBuffer commandBuffer,
11803 VkBool32 depthBoundsTestEnable);
11805 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilTestEnableEXT(
11806 VkCommandBuffer commandBuffer,
11807 VkBool32 stencilTestEnable);
11809 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilOpEXT(
11810 VkCommandBuffer commandBuffer,
11811 VkStencilFaceFlags faceMask,
11812 VkStencilOp failOp,
11813 VkStencilOp passOp,
11814 VkStencilOp depthFailOp,
11815 VkCompareOp compareOp);
11819 #define VK_EXT_shader_atomic_float2 1
11820 #define VK_EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION 1
11821 #define VK_EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME "VK_EXT_shader_atomic_float2"
11822 typedef struct VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT {
11823 VkStructureType sType;
11825 VkBool32 shaderBufferFloat16Atomics;
11826 VkBool32 shaderBufferFloat16AtomicAdd;
11827 VkBool32 shaderBufferFloat16AtomicMinMax;
11828 VkBool32 shaderBufferFloat32AtomicMinMax;
11829 VkBool32 shaderBufferFloat64AtomicMinMax;
11830 VkBool32 shaderSharedFloat16Atomics;
11831 VkBool32 shaderSharedFloat16AtomicAdd;
11832 VkBool32 shaderSharedFloat16AtomicMinMax;
11833 VkBool32 shaderSharedFloat32AtomicMinMax;
11834 VkBool32 shaderSharedFloat64AtomicMinMax;
11835 VkBool32 shaderImageFloat32AtomicMinMax;
11836 VkBool32 sparseImageFloat32AtomicMinMax;
11837 } VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT;
11841 #define VK_EXT_shader_demote_to_helper_invocation 1
11842 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION 1
11843 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME "VK_EXT_shader_demote_to_helper_invocation"
11844 typedef struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT {
11845 VkStructureType sType;
11847 VkBool32 shaderDemoteToHelperInvocation;
11848 } VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT;
11852 #define VK_NV_device_generated_commands 1
11853 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutNV)
11854 #define VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION 3
11855 #define VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_NV_device_generated_commands"
11857 typedef enum VkIndirectCommandsTokenTypeNV {
11858 VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV = 0,
11859 VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV = 1,
11860 VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV = 2,
11861 VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV = 3,
11862 VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV = 4,
11863 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV = 5,
11864 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV = 6,
11865 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV = 7,
11866 VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
11867 } VkIndirectCommandsTokenTypeNV;
11869 typedef enum VkIndirectStateFlagBitsNV {
11870 VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV = 0x00000001,
11871 VK_INDIRECT_STATE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
11872 } VkIndirectStateFlagBitsNV;
11873 typedef VkFlags VkIndirectStateFlagsNV;
11875 typedef enum VkIndirectCommandsLayoutUsageFlagBitsNV {
11876 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV = 0x00000001,
11877 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV = 0x00000002,
11878 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV = 0x00000004,
11879 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
11880 } VkIndirectCommandsLayoutUsageFlagBitsNV;
11881 typedef VkFlags VkIndirectCommandsLayoutUsageFlagsNV;
11882 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
11883 VkStructureType sType;
11885 uint32_t maxGraphicsShaderGroupCount;
11886 uint32_t maxIndirectSequenceCount;
11887 uint32_t maxIndirectCommandsTokenCount;
11888 uint32_t maxIndirectCommandsStreamCount;
11889 uint32_t maxIndirectCommandsTokenOffset;
11890 uint32_t maxIndirectCommandsStreamStride;
11891 uint32_t minSequencesCountBufferOffsetAlignment;
11892 uint32_t minSequencesIndexBufferOffsetAlignment;
11893 uint32_t minIndirectCommandsBufferOffsetAlignment;
11894 } VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV;
11896 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
11897 VkStructureType sType;
11899 VkBool32 deviceGeneratedCommands;
11900 } VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV;
11902 typedef struct VkGraphicsShaderGroupCreateInfoNV {
11903 VkStructureType sType;
11905 uint32_t stageCount;
11906 const VkPipelineShaderStageCreateInfo* pStages;
11907 const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
11908 const VkPipelineTessellationStateCreateInfo* pTessellationState;
11909 } VkGraphicsShaderGroupCreateInfoNV;
11911 typedef struct VkGraphicsPipelineShaderGroupsCreateInfoNV {
11912 VkStructureType sType;
11914 uint32_t groupCount;
11915 const VkGraphicsShaderGroupCreateInfoNV* pGroups;
11916 uint32_t pipelineCount;
11917 const VkPipeline* pPipelines;
11918 } VkGraphicsPipelineShaderGroupsCreateInfoNV;
11920 typedef struct VkBindShaderGroupIndirectCommandNV {
11921 uint32_t groupIndex;
11922 } VkBindShaderGroupIndirectCommandNV;
11924 typedef struct VkBindIndexBufferIndirectCommandNV {
11925 VkDeviceAddress bufferAddress;
11927 VkIndexType indexType;
11928 } VkBindIndexBufferIndirectCommandNV;
11930 typedef struct VkBindVertexBufferIndirectCommandNV {
11931 VkDeviceAddress bufferAddress;
11934 } VkBindVertexBufferIndirectCommandNV;
11936 typedef struct VkSetStateFlagsIndirectCommandNV {
11938 } VkSetStateFlagsIndirectCommandNV;
11940 typedef struct VkIndirectCommandsStreamNV {
11942 VkDeviceSize offset;
11943 } VkIndirectCommandsStreamNV;
11945 typedef struct VkIndirectCommandsLayoutTokenNV {
11946 VkStructureType sType;
11948 VkIndirectCommandsTokenTypeNV tokenType;
11951 uint32_t vertexBindingUnit;
11952 VkBool32 vertexDynamicStride;
11953 VkPipelineLayout pushconstantPipelineLayout;
11954 VkShaderStageFlags pushconstantShaderStageFlags;
11955 uint32_t pushconstantOffset;
11956 uint32_t pushconstantSize;
11957 VkIndirectStateFlagsNV indirectStateFlags;
11958 uint32_t indexTypeCount;
11959 const VkIndexType* pIndexTypes;
11960 const uint32_t* pIndexTypeValues;
11961 } VkIndirectCommandsLayoutTokenNV;
11963 typedef struct VkIndirectCommandsLayoutCreateInfoNV {
11964 VkStructureType sType;
11966 VkIndirectCommandsLayoutUsageFlagsNV flags;
11967 VkPipelineBindPoint pipelineBindPoint;
11968 uint32_t tokenCount;
11969 const VkIndirectCommandsLayoutTokenNV* pTokens;
11970 uint32_t streamCount;
11971 const uint32_t* pStreamStrides;
11972 } VkIndirectCommandsLayoutCreateInfoNV;
11974 typedef struct VkGeneratedCommandsInfoNV {
11975 VkStructureType sType;
11977 VkPipelineBindPoint pipelineBindPoint;
11978 VkPipeline pipeline;
11979 VkIndirectCommandsLayoutNV indirectCommandsLayout;
11980 uint32_t streamCount;
11981 const VkIndirectCommandsStreamNV* pStreams;
11982 uint32_t sequencesCount;
11983 VkBuffer preprocessBuffer;
11984 VkDeviceSize preprocessOffset;
11985 VkDeviceSize preprocessSize;
11986 VkBuffer sequencesCountBuffer;
11987 VkDeviceSize sequencesCountOffset;
11988 VkBuffer sequencesIndexBuffer;
11989 VkDeviceSize sequencesIndexOffset;
11990 } VkGeneratedCommandsInfoNV;
11992 typedef struct VkGeneratedCommandsMemoryRequirementsInfoNV {
11993 VkStructureType sType;
11995 VkPipelineBindPoint pipelineBindPoint;
11996 VkPipeline pipeline;
11997 VkIndirectCommandsLayoutNV indirectCommandsLayout;
11998 uint32_t maxSequencesCount;
11999 } VkGeneratedCommandsMemoryRequirementsInfoNV;
12001 typedef void (VKAPI_PTR *PFN_vkGetGeneratedCommandsMemoryRequirementsNV)(VkDevice device, const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2* pMemoryRequirements);
12002 typedef void (VKAPI_PTR *PFN_vkCmdPreprocessGeneratedCommandsNV)(VkCommandBuffer commandBuffer, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
12003 typedef void (VKAPI_PTR *PFN_vkCmdExecuteGeneratedCommandsNV)(VkCommandBuffer commandBuffer, VkBool32 isPreprocessed, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
12004 typedef void (VKAPI_PTR *PFN_vkCmdBindPipelineShaderGroupNV)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline, uint32_t groupIndex);
12005 typedef VkResult (VKAPI_PTR *PFN_vkCreateIndirectCommandsLayoutNV)(VkDevice device, const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNV* pIndirectCommandsLayout);
12006 typedef void (VKAPI_PTR *PFN_vkDestroyIndirectCommandsLayoutNV)(VkDevice device, VkIndirectCommandsLayoutNV indirectCommandsLayout, const VkAllocationCallbacks* pAllocator);
12008 #ifndef VK_NO_PROTOTYPES
12009 VKAPI_ATTR void VKAPI_CALL vkGetGeneratedCommandsMemoryRequirementsNV(
12011 const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo,
12012 VkMemoryRequirements2* pMemoryRequirements);
12014 VKAPI_ATTR void VKAPI_CALL vkCmdPreprocessGeneratedCommandsNV(
12015 VkCommandBuffer commandBuffer,
12016 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
12018 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteGeneratedCommandsNV(
12019 VkCommandBuffer commandBuffer,
12020 VkBool32 isPreprocessed,
12021 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
12023 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipelineShaderGroupNV(
12024 VkCommandBuffer commandBuffer,
12025 VkPipelineBindPoint pipelineBindPoint,
12026 VkPipeline pipeline,
12027 uint32_t groupIndex);
12029 VKAPI_ATTR VkResult VKAPI_CALL vkCreateIndirectCommandsLayoutNV(
12031 const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo,
12032 const VkAllocationCallbacks* pAllocator,
12033 VkIndirectCommandsLayoutNV* pIndirectCommandsLayout);
12035 VKAPI_ATTR void VKAPI_CALL vkDestroyIndirectCommandsLayoutNV(
12037 VkIndirectCommandsLayoutNV indirectCommandsLayout,
12038 const VkAllocationCallbacks* pAllocator);
12042 #define VK_NV_inherited_viewport_scissor 1
12043 #define VK_NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION 1
12044 #define VK_NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME "VK_NV_inherited_viewport_scissor"
12045 typedef struct VkPhysicalDeviceInheritedViewportScissorFeaturesNV {
12046 VkStructureType sType;
12048 VkBool32 inheritedViewportScissor2D;
12049 } VkPhysicalDeviceInheritedViewportScissorFeaturesNV;
12051 typedef struct VkCommandBufferInheritanceViewportScissorInfoNV {
12052 VkStructureType sType;
12054 VkBool32 viewportScissor2D;
12055 uint32_t viewportDepthCount;
12056 const VkViewport* pViewportDepths;
12057 } VkCommandBufferInheritanceViewportScissorInfoNV;
12061 #define VK_EXT_texel_buffer_alignment 1
12062 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION 1
12063 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME "VK_EXT_texel_buffer_alignment"
12064 typedef struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT {
12065 VkStructureType sType;
12067 VkBool32 texelBufferAlignment;
12068 } VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT;
12070 typedef struct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT {
12071 VkStructureType sType;
12073 VkDeviceSize storageTexelBufferOffsetAlignmentBytes;
12074 VkBool32 storageTexelBufferOffsetSingleTexelAlignment;
12075 VkDeviceSize uniformTexelBufferOffsetAlignmentBytes;
12076 VkBool32 uniformTexelBufferOffsetSingleTexelAlignment;
12077 } VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT;
12081 #define VK_QCOM_render_pass_transform 1
12082 #define VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION 2
12083 #define VK_QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME "VK_QCOM_render_pass_transform"
12084 typedef struct VkRenderPassTransformBeginInfoQCOM {
12085 VkStructureType sType;
12087 VkSurfaceTransformFlagBitsKHR transform;
12088 } VkRenderPassTransformBeginInfoQCOM;
12090 typedef struct VkCommandBufferInheritanceRenderPassTransformInfoQCOM {
12091 VkStructureType sType;
12093 VkSurfaceTransformFlagBitsKHR transform;
12094 VkRect2D renderArea;
12095 } VkCommandBufferInheritanceRenderPassTransformInfoQCOM;
12099 #define VK_EXT_device_memory_report 1
12100 #define VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION 2
12101 #define VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME "VK_EXT_device_memory_report"
12103 typedef enum VkDeviceMemoryReportEventTypeEXT {
12104 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT = 0,
12105 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT = 1,
12106 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT = 2,
12107 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT = 3,
12108 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT = 4,
12109 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
12110 } VkDeviceMemoryReportEventTypeEXT;
12111 typedef VkFlags VkDeviceMemoryReportFlagsEXT;
12112 typedef struct VkPhysicalDeviceDeviceMemoryReportFeaturesEXT {
12113 VkStructureType sType;
12115 VkBool32 deviceMemoryReport;
12116 } VkPhysicalDeviceDeviceMemoryReportFeaturesEXT;
12118 typedef struct VkDeviceMemoryReportCallbackDataEXT {
12119 VkStructureType sType;
12121 VkDeviceMemoryReportFlagsEXT flags;
12122 VkDeviceMemoryReportEventTypeEXT type;
12123 uint64_t memoryObjectId;
12125 VkObjectType objectType;
12126 uint64_t objectHandle;
12127 uint32_t heapIndex;
12128 } VkDeviceMemoryReportCallbackDataEXT;
12130 typedef void (VKAPI_PTR *PFN_vkDeviceMemoryReportCallbackEXT)(
12131 const VkDeviceMemoryReportCallbackDataEXT* pCallbackData,
12134 typedef struct VkDeviceDeviceMemoryReportCreateInfoEXT {
12135 VkStructureType sType;
12137 VkDeviceMemoryReportFlagsEXT flags;
12138 PFN_vkDeviceMemoryReportCallbackEXT pfnUserCallback;
12140 } VkDeviceDeviceMemoryReportCreateInfoEXT;
12143 #define VK_EXT_rgba10x6_formats 1
12144 #define VK_EXT_RGBA10X6_FORMATS_SPEC_VERSION 1
12145 #define VK_EXT_RGBA10X6_FORMATS_EXTENSION_NAME "VK_EXT_rgba10x6_formats"
12146 typedef struct VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT {
12147 VkStructureType sType;
12149 VkBool32 formatRgba10x6WithoutYCbCrSampler;
12150 } VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT;
12152 #define VK_EXT_acquire_drm_display 1
12153 #define VK_EXT_ACQUIRE_DRM_DISPLAY_SPEC_VERSION 1
12154 #define VK_EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME "VK_EXT_acquire_drm_display"
12155 typedef VkResult (VKAPI_PTR *PFN_vkAcquireDrmDisplayEXT)(VkPhysicalDevice physicalDevice, int32_t drmFd, VkDisplayKHR display);
12156 typedef VkResult (VKAPI_PTR *PFN_vkGetDrmDisplayEXT)(VkPhysicalDevice physicalDevice, int32_t drmFd, uint32_t connectorId, VkDisplayKHR* display);
12158 #ifndef VK_NO_PROTOTYPES
12159 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireDrmDisplayEXT(
12160 VkPhysicalDevice physicalDevice,
12162 VkDisplayKHR display);
12164 VKAPI_ATTR VkResult VKAPI_CALL vkGetDrmDisplayEXT(
12165 VkPhysicalDevice physicalDevice,
12167 uint32_t connectorId,
12168 VkDisplayKHR* display);
12172 #define VK_EXT_robustness2 1
12173 #define VK_EXT_ROBUSTNESS_2_SPEC_VERSION 1
12174 #define VK_EXT_ROBUSTNESS_2_EXTENSION_NAME "VK_EXT_robustness2"
12175 typedef struct VkPhysicalDeviceRobustness2FeaturesEXT {
12176 VkStructureType sType;
12178 VkBool32 robustBufferAccess2;
12179 VkBool32 robustImageAccess2;
12180 VkBool32 nullDescriptor;
12181 } VkPhysicalDeviceRobustness2FeaturesEXT;
12183 typedef struct VkPhysicalDeviceRobustness2PropertiesEXT {
12184 VkStructureType sType;
12186 VkDeviceSize robustStorageBufferAccessSizeAlignment;
12187 VkDeviceSize robustUniformBufferAccessSizeAlignment;
12188 } VkPhysicalDeviceRobustness2PropertiesEXT;
12192 #define VK_EXT_custom_border_color 1
12193 #define VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION 12
12194 #define VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME "VK_EXT_custom_border_color"
12195 typedef struct VkSamplerCustomBorderColorCreateInfoEXT {
12196 VkStructureType sType;
12198 VkClearColorValue customBorderColor;
12200 } VkSamplerCustomBorderColorCreateInfoEXT;
12202 typedef struct VkPhysicalDeviceCustomBorderColorPropertiesEXT {
12203 VkStructureType sType;
12205 uint32_t maxCustomBorderColorSamplers;
12206 } VkPhysicalDeviceCustomBorderColorPropertiesEXT;
12208 typedef struct VkPhysicalDeviceCustomBorderColorFeaturesEXT {
12209 VkStructureType sType;
12211 VkBool32 customBorderColors;
12212 VkBool32 customBorderColorWithoutFormat;
12213 } VkPhysicalDeviceCustomBorderColorFeaturesEXT;
12217 #define VK_GOOGLE_user_type 1
12218 #define VK_GOOGLE_USER_TYPE_SPEC_VERSION 1
12219 #define VK_GOOGLE_USER_TYPE_EXTENSION_NAME "VK_GOOGLE_user_type"
12222 #define VK_EXT_private_data 1
12223 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPrivateDataSlotEXT)
12224 #define VK_EXT_PRIVATE_DATA_SPEC_VERSION 1
12225 #define VK_EXT_PRIVATE_DATA_EXTENSION_NAME "VK_EXT_private_data"
12227 typedef enum VkPrivateDataSlotCreateFlagBitsEXT {
12228 VK_PRIVATE_DATA_SLOT_CREATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
12229 } VkPrivateDataSlotCreateFlagBitsEXT;
12230 typedef VkFlags VkPrivateDataSlotCreateFlagsEXT;
12231 typedef struct VkPhysicalDevicePrivateDataFeaturesEXT {
12232 VkStructureType sType;
12234 VkBool32 privateData;
12235 } VkPhysicalDevicePrivateDataFeaturesEXT;
12237 typedef struct VkDevicePrivateDataCreateInfoEXT {
12238 VkStructureType sType;
12240 uint32_t privateDataSlotRequestCount;
12241 } VkDevicePrivateDataCreateInfoEXT;
12243 typedef struct VkPrivateDataSlotCreateInfoEXT {
12244 VkStructureType sType;
12246 VkPrivateDataSlotCreateFlagsEXT flags;
12247 } VkPrivateDataSlotCreateInfoEXT;
12249 typedef VkResult (VKAPI_PTR *PFN_vkCreatePrivateDataSlotEXT)(VkDevice device, const VkPrivateDataSlotCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlotEXT* pPrivateDataSlot);
12250 typedef void (VKAPI_PTR *PFN_vkDestroyPrivateDataSlotEXT)(VkDevice device, VkPrivateDataSlotEXT privateDataSlot, const VkAllocationCallbacks* pAllocator);
12251 typedef VkResult (VKAPI_PTR *PFN_vkSetPrivateDataEXT)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlotEXT privateDataSlot, uint64_t data);
12252 typedef void (VKAPI_PTR *PFN_vkGetPrivateDataEXT)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlotEXT privateDataSlot, uint64_t* pData);
12254 #ifndef VK_NO_PROTOTYPES
12255 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePrivateDataSlotEXT(
12257 const VkPrivateDataSlotCreateInfoEXT* pCreateInfo,
12258 const VkAllocationCallbacks* pAllocator,
12259 VkPrivateDataSlotEXT* pPrivateDataSlot);
12261 VKAPI_ATTR void VKAPI_CALL vkDestroyPrivateDataSlotEXT(
12263 VkPrivateDataSlotEXT privateDataSlot,
12264 const VkAllocationCallbacks* pAllocator);
12266 VKAPI_ATTR VkResult VKAPI_CALL vkSetPrivateDataEXT(
12268 VkObjectType objectType,
12269 uint64_t objectHandle,
12270 VkPrivateDataSlotEXT privateDataSlot,
12273 VKAPI_ATTR void VKAPI_CALL vkGetPrivateDataEXT(
12275 VkObjectType objectType,
12276 uint64_t objectHandle,
12277 VkPrivateDataSlotEXT privateDataSlot,
12282 #define VK_EXT_pipeline_creation_cache_control 1
12283 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION 3
12284 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME "VK_EXT_pipeline_creation_cache_control"
12285 typedef struct VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT {
12286 VkStructureType sType;
12288 VkBool32 pipelineCreationCacheControl;
12289 } VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT;
12293 #define VK_NV_device_diagnostics_config 1
12294 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION 1
12295 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME "VK_NV_device_diagnostics_config"
12297 typedef enum VkDeviceDiagnosticsConfigFlagBitsNV {
12298 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV = 0x00000001,
12299 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV = 0x00000002,
12300 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV = 0x00000004,
12301 VK_DEVICE_DIAGNOSTICS_CONFIG_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
12302 } VkDeviceDiagnosticsConfigFlagBitsNV;
12303 typedef VkFlags VkDeviceDiagnosticsConfigFlagsNV;
12304 typedef struct VkPhysicalDeviceDiagnosticsConfigFeaturesNV {
12305 VkStructureType sType;
12307 VkBool32 diagnosticsConfig;
12308 } VkPhysicalDeviceDiagnosticsConfigFeaturesNV;
12310 typedef struct VkDeviceDiagnosticsConfigCreateInfoNV {
12311 VkStructureType sType;
12313 VkDeviceDiagnosticsConfigFlagsNV flags;
12314 } VkDeviceDiagnosticsConfigCreateInfoNV;
12318 #define VK_QCOM_render_pass_store_ops 1
12319 #define VK_QCOM_RENDER_PASS_STORE_OPS_SPEC_VERSION 2
12320 #define VK_QCOM_RENDER_PASS_STORE_OPS_EXTENSION_NAME "VK_QCOM_render_pass_store_ops"
12323 #define VK_NV_fragment_shading_rate_enums 1
12324 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION 1
12325 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME "VK_NV_fragment_shading_rate_enums"
12327 typedef enum VkFragmentShadingRateTypeNV {
12328 VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV = 0,
12329 VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV = 1,
12330 VK_FRAGMENT_SHADING_RATE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
12331 } VkFragmentShadingRateTypeNV;
12333 typedef enum VkFragmentShadingRateNV {
12334 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV = 0,
12335 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV = 1,
12336 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV = 4,
12337 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV = 5,
12338 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV = 6,
12339 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV = 9,
12340 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV = 10,
12341 VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV = 11,
12342 VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV = 12,
12343 VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV = 13,
12344 VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV = 14,
12345 VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV = 15,
12346 VK_FRAGMENT_SHADING_RATE_MAX_ENUM_NV = 0x7FFFFFFF
12347 } VkFragmentShadingRateNV;
12348 typedef struct VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV {
12349 VkStructureType sType;
12351 VkBool32 fragmentShadingRateEnums;
12352 VkBool32 supersampleFragmentShadingRates;
12353 VkBool32 noInvocationFragmentShadingRates;
12354 } VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV;
12356 typedef struct VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV {
12357 VkStructureType sType;
12359 VkSampleCountFlagBits maxFragmentShadingRateInvocationCount;
12360 } VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV;
12362 typedef struct VkPipelineFragmentShadingRateEnumStateCreateInfoNV {
12363 VkStructureType sType;
12365 VkFragmentShadingRateTypeNV shadingRateType;
12366 VkFragmentShadingRateNV shadingRate;
12367 VkFragmentShadingRateCombinerOpKHR combinerOps[2];
12368 } VkPipelineFragmentShadingRateEnumStateCreateInfoNV;
12370 typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateEnumNV)(VkCommandBuffer commandBuffer, VkFragmentShadingRateNV shadingRate, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
12372 #ifndef VK_NO_PROTOTYPES
12373 VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateEnumNV(
12374 VkCommandBuffer commandBuffer,
12375 VkFragmentShadingRateNV shadingRate,
12376 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
12380 #define VK_NV_ray_tracing_motion_blur 1
12381 #define VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION 1
12382 #define VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME "VK_NV_ray_tracing_motion_blur"
12384 typedef enum VkAccelerationStructureMotionInstanceTypeNV {
12385 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_STATIC_NV = 0,
12386 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MATRIX_MOTION_NV = 1,
12387 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_SRT_MOTION_NV = 2,
12388 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
12389 } VkAccelerationStructureMotionInstanceTypeNV;
12390 typedef VkFlags VkAccelerationStructureMotionInfoFlagsNV;
12391 typedef VkFlags VkAccelerationStructureMotionInstanceFlagsNV;
12392 typedef union VkDeviceOrHostAddressConstKHR {
12393 VkDeviceAddress deviceAddress;
12394 const void* hostAddress;
12395 } VkDeviceOrHostAddressConstKHR;
12397 typedef struct VkAccelerationStructureGeometryMotionTrianglesDataNV {
12398 VkStructureType sType;
12400 VkDeviceOrHostAddressConstKHR vertexData;
12401 } VkAccelerationStructureGeometryMotionTrianglesDataNV;
12403 typedef struct VkAccelerationStructureMotionInfoNV {
12404 VkStructureType sType;
12406 uint32_t maxInstances;
12407 VkAccelerationStructureMotionInfoFlagsNV flags;
12408 } VkAccelerationStructureMotionInfoNV;
12410 typedef struct VkAccelerationStructureMatrixMotionInstanceNV {
12411 VkTransformMatrixKHR transformT0;
12412 VkTransformMatrixKHR transformT1;
12413 uint32_t instanceCustomIndex:24;
12415 uint32_t instanceShaderBindingTableRecordOffset:24;
12416 VkGeometryInstanceFlagsKHR flags:8;
12417 uint64_t accelerationStructureReference;
12418 } VkAccelerationStructureMatrixMotionInstanceNV;
12420 typedef struct VkSRTDataNV {
12439 typedef struct VkAccelerationStructureSRTMotionInstanceNV {
12440 VkSRTDataNV transformT0;
12441 VkSRTDataNV transformT1;
12442 uint32_t instanceCustomIndex:24;
12444 uint32_t instanceShaderBindingTableRecordOffset:24;
12445 VkGeometryInstanceFlagsKHR flags:8;
12446 uint64_t accelerationStructureReference;
12447 } VkAccelerationStructureSRTMotionInstanceNV;
12449 typedef union VkAccelerationStructureMotionInstanceDataNV {
12450 VkAccelerationStructureInstanceKHR staticInstance;
12451 VkAccelerationStructureMatrixMotionInstanceNV matrixMotionInstance;
12452 VkAccelerationStructureSRTMotionInstanceNV srtMotionInstance;
12453 } VkAccelerationStructureMotionInstanceDataNV;
12455 typedef struct VkAccelerationStructureMotionInstanceNV {
12456 VkAccelerationStructureMotionInstanceTypeNV type;
12457 VkAccelerationStructureMotionInstanceFlagsNV flags;
12458 VkAccelerationStructureMotionInstanceDataNV data;
12459 } VkAccelerationStructureMotionInstanceNV;
12461 typedef struct VkPhysicalDeviceRayTracingMotionBlurFeaturesNV {
12462 VkStructureType sType;
12464 VkBool32 rayTracingMotionBlur;
12465 VkBool32 rayTracingMotionBlurPipelineTraceRaysIndirect;
12466 } VkPhysicalDeviceRayTracingMotionBlurFeaturesNV;
12470 #define VK_EXT_ycbcr_2plane_444_formats 1
12471 #define VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION 1
12472 #define VK_EXT_YCBCR_2PLANE_444_FORMATS_EXTENSION_NAME "VK_EXT_ycbcr_2plane_444_formats"
12473 typedef struct VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT {
12474 VkStructureType sType;
12476 VkBool32 ycbcr2plane444Formats;
12477 } VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT;
12481 #define VK_EXT_fragment_density_map2 1
12482 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION 1
12483 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME "VK_EXT_fragment_density_map2"
12484 typedef struct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT {
12485 VkStructureType sType;
12487 VkBool32 fragmentDensityMapDeferred;
12488 } VkPhysicalDeviceFragmentDensityMap2FeaturesEXT;
12490 typedef struct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT {
12491 VkStructureType sType;
12493 VkBool32 subsampledLoads;
12494 VkBool32 subsampledCoarseReconstructionEarlyAccess;
12495 uint32_t maxSubsampledArrayLayers;
12496 uint32_t maxDescriptorSetSubsampledSamplers;
12497 } VkPhysicalDeviceFragmentDensityMap2PropertiesEXT;
12501 #define VK_QCOM_rotated_copy_commands 1
12502 #define VK_QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION 1
12503 #define VK_QCOM_ROTATED_COPY_COMMANDS_EXTENSION_NAME "VK_QCOM_rotated_copy_commands"
12504 typedef struct VkCopyCommandTransformInfoQCOM {
12505 VkStructureType sType;
12507 VkSurfaceTransformFlagBitsKHR transform;
12508 } VkCopyCommandTransformInfoQCOM;
12512 #define VK_EXT_image_robustness 1
12513 #define VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION 1
12514 #define VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_image_robustness"
12515 typedef struct VkPhysicalDeviceImageRobustnessFeaturesEXT {
12516 VkStructureType sType;
12518 VkBool32 robustImageAccess;
12519 } VkPhysicalDeviceImageRobustnessFeaturesEXT;
12523 #define VK_EXT_4444_formats 1
12524 #define VK_EXT_4444_FORMATS_SPEC_VERSION 1
12525 #define VK_EXT_4444_FORMATS_EXTENSION_NAME "VK_EXT_4444_formats"
12526 typedef struct VkPhysicalDevice4444FormatsFeaturesEXT {
12527 VkStructureType sType;
12529 VkBool32 formatA4R4G4B4;
12530 VkBool32 formatA4B4G4R4;
12531 } VkPhysicalDevice4444FormatsFeaturesEXT;
12535 #define VK_NV_acquire_winrt_display 1
12536 #define VK_NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION 1
12537 #define VK_NV_ACQUIRE_WINRT_DISPLAY_EXTENSION_NAME "VK_NV_acquire_winrt_display"
12538 typedef VkResult (VKAPI_PTR *PFN_vkAcquireWinrtDisplayNV)(VkPhysicalDevice physicalDevice, VkDisplayKHR display);
12539 typedef VkResult (VKAPI_PTR *PFN_vkGetWinrtDisplayNV)(VkPhysicalDevice physicalDevice, uint32_t deviceRelativeId, VkDisplayKHR* pDisplay);
12541 #ifndef VK_NO_PROTOTYPES
12542 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireWinrtDisplayNV(
12543 VkPhysicalDevice physicalDevice,
12544 VkDisplayKHR display);
12546 VKAPI_ATTR VkResult VKAPI_CALL vkGetWinrtDisplayNV(
12547 VkPhysicalDevice physicalDevice,
12548 uint32_t deviceRelativeId,
12549 VkDisplayKHR* pDisplay);
12553 #define VK_VALVE_mutable_descriptor_type 1
12554 #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION 1
12555 #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME "VK_VALVE_mutable_descriptor_type"
12556 typedef struct VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE {
12557 VkStructureType sType;
12559 VkBool32 mutableDescriptorType;
12560 } VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE;
12562 typedef struct VkMutableDescriptorTypeListVALVE {
12563 uint32_t descriptorTypeCount;
12564 const VkDescriptorType* pDescriptorTypes;
12565 } VkMutableDescriptorTypeListVALVE;
12567 typedef struct VkMutableDescriptorTypeCreateInfoVALVE {
12568 VkStructureType sType;
12570 uint32_t mutableDescriptorTypeListCount;
12571 const VkMutableDescriptorTypeListVALVE* pMutableDescriptorTypeLists;
12572 } VkMutableDescriptorTypeCreateInfoVALVE;
12576 #define VK_EXT_vertex_input_dynamic_state 1
12577 #define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION 2
12578 #define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_vertex_input_dynamic_state"
12579 typedef struct VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT {
12580 VkStructureType sType;
12582 VkBool32 vertexInputDynamicState;
12583 } VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT;
12585 typedef struct VkVertexInputBindingDescription2EXT {
12586 VkStructureType sType;
12590 VkVertexInputRate inputRate;
12592 } VkVertexInputBindingDescription2EXT;
12594 typedef struct VkVertexInputAttributeDescription2EXT {
12595 VkStructureType sType;
12601 } VkVertexInputAttributeDescription2EXT;
12603 typedef void (VKAPI_PTR *PFN_vkCmdSetVertexInputEXT)(VkCommandBuffer commandBuffer, uint32_t vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, uint32_t vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions);
12605 #ifndef VK_NO_PROTOTYPES
12606 VKAPI_ATTR void VKAPI_CALL vkCmdSetVertexInputEXT(
12607 VkCommandBuffer commandBuffer,
12608 uint32_t vertexBindingDescriptionCount,
12609 const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions,
12610 uint32_t vertexAttributeDescriptionCount,
12611 const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions);
12615 #define VK_EXT_physical_device_drm 1
12616 #define VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION 1
12617 #define VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME "VK_EXT_physical_device_drm"
12618 typedef struct VkPhysicalDeviceDrmPropertiesEXT {
12619 VkStructureType sType;
12621 VkBool32 hasPrimary;
12622 VkBool32 hasRender;
12623 int64_t primaryMajor;
12624 int64_t primaryMinor;
12625 int64_t renderMajor;
12626 int64_t renderMinor;
12627 } VkPhysicalDeviceDrmPropertiesEXT;
12631 #define VK_EXT_primitive_topology_list_restart 1
12632 #define VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION 1
12633 #define VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME "VK_EXT_primitive_topology_list_restart"
12634 typedef struct VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT {
12635 VkStructureType sType;
12637 VkBool32 primitiveTopologyListRestart;
12638 VkBool32 primitiveTopologyPatchListRestart;
12639 } VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT;
12643 #define VK_HUAWEI_subpass_shading 1
12644 #define VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION 2
12645 #define VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME "VK_HUAWEI_subpass_shading"
12646 typedef struct VkSubpassShadingPipelineCreateInfoHUAWEI {
12647 VkStructureType sType;
12649 VkRenderPass renderPass;
12651 } VkSubpassShadingPipelineCreateInfoHUAWEI;
12653 typedef struct VkPhysicalDeviceSubpassShadingFeaturesHUAWEI {
12654 VkStructureType sType;
12656 VkBool32 subpassShading;
12657 } VkPhysicalDeviceSubpassShadingFeaturesHUAWEI;
12659 typedef struct VkPhysicalDeviceSubpassShadingPropertiesHUAWEI {
12660 VkStructureType sType;
12662 uint32_t maxSubpassShadingWorkgroupSizeAspectRatio;
12663 } VkPhysicalDeviceSubpassShadingPropertiesHUAWEI;
12665 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI)(VkDevice device, VkRenderPass renderpass, VkExtent2D* pMaxWorkgroupSize);
12666 typedef void (VKAPI_PTR *PFN_vkCmdSubpassShadingHUAWEI)(VkCommandBuffer commandBuffer);
12668 #ifndef VK_NO_PROTOTYPES
12669 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(
12671 VkRenderPass renderpass,
12672 VkExtent2D* pMaxWorkgroupSize);
12674 VKAPI_ATTR void VKAPI_CALL vkCmdSubpassShadingHUAWEI(
12675 VkCommandBuffer commandBuffer);
12679 #define VK_HUAWEI_invocation_mask 1
12680 #define VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION 1
12681 #define VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME "VK_HUAWEI_invocation_mask"
12682 typedef struct VkPhysicalDeviceInvocationMaskFeaturesHUAWEI {
12683 VkStructureType sType;
12685 VkBool32 invocationMask;
12686 } VkPhysicalDeviceInvocationMaskFeaturesHUAWEI;
12688 typedef void (VKAPI_PTR *PFN_vkCmdBindInvocationMaskHUAWEI)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout);
12690 #ifndef VK_NO_PROTOTYPES
12691 VKAPI_ATTR void VKAPI_CALL vkCmdBindInvocationMaskHUAWEI(
12692 VkCommandBuffer commandBuffer,
12693 VkImageView imageView,
12694 VkImageLayout imageLayout);
12698 #define VK_NV_external_memory_rdma 1
12699 typedef void* VkRemoteAddressNV;
12700 #define VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION 1
12701 #define VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME "VK_NV_external_memory_rdma"
12702 typedef struct VkMemoryGetRemoteAddressInfoNV {
12703 VkStructureType sType;
12705 VkDeviceMemory memory;
12706 VkExternalMemoryHandleTypeFlagBits handleType;
12707 } VkMemoryGetRemoteAddressInfoNV;
12709 typedef struct VkPhysicalDeviceExternalMemoryRDMAFeaturesNV {
12710 VkStructureType sType;
12712 VkBool32 externalMemoryRDMA;
12713 } VkPhysicalDeviceExternalMemoryRDMAFeaturesNV;
12715 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryRemoteAddressNV)(VkDevice device, const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo, VkRemoteAddressNV* pAddress);
12717 #ifndef VK_NO_PROTOTYPES
12718 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryRemoteAddressNV(
12720 const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo,
12721 VkRemoteAddressNV* pAddress);
12725 #define VK_EXT_extended_dynamic_state2 1
12726 #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION 1
12727 #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME "VK_EXT_extended_dynamic_state2"
12728 typedef struct VkPhysicalDeviceExtendedDynamicState2FeaturesEXT {
12729 VkStructureType sType;
12731 VkBool32 extendedDynamicState2;
12732 VkBool32 extendedDynamicState2LogicOp;
12733 VkBool32 extendedDynamicState2PatchControlPoints;
12734 } VkPhysicalDeviceExtendedDynamicState2FeaturesEXT;
12736 typedef void (VKAPI_PTR *PFN_vkCmdSetPatchControlPointsEXT)(VkCommandBuffer commandBuffer, uint32_t patchControlPoints);
12737 typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizerDiscardEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable);
12738 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBiasEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable);
12739 typedef void (VKAPI_PTR *PFN_vkCmdSetLogicOpEXT)(VkCommandBuffer commandBuffer, VkLogicOp logicOp);
12740 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveRestartEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable);
12742 #ifndef VK_NO_PROTOTYPES
12743 VKAPI_ATTR void VKAPI_CALL vkCmdSetPatchControlPointsEXT(
12744 VkCommandBuffer commandBuffer,
12745 uint32_t patchControlPoints);
12747 VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizerDiscardEnableEXT(
12748 VkCommandBuffer commandBuffer,
12749 VkBool32 rasterizerDiscardEnable);
12751 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBiasEnableEXT(
12752 VkCommandBuffer commandBuffer,
12753 VkBool32 depthBiasEnable);
12755 VKAPI_ATTR void VKAPI_CALL vkCmdSetLogicOpEXT(
12756 VkCommandBuffer commandBuffer,
12757 VkLogicOp logicOp);
12759 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveRestartEnableEXT(
12760 VkCommandBuffer commandBuffer,
12761 VkBool32 primitiveRestartEnable);
12765 #define VK_EXT_color_write_enable 1
12766 #define VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION 1
12767 #define VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME "VK_EXT_color_write_enable"
12768 typedef struct VkPhysicalDeviceColorWriteEnableFeaturesEXT {
12769 VkStructureType sType;
12771 VkBool32 colorWriteEnable;
12772 } VkPhysicalDeviceColorWriteEnableFeaturesEXT;
12774 typedef struct VkPipelineColorWriteCreateInfoEXT {
12775 VkStructureType sType;
12777 uint32_t attachmentCount;
12778 const VkBool32* pColorWriteEnables;
12779 } VkPipelineColorWriteCreateInfoEXT;
12781 typedef void (VKAPI_PTR *PFN_vkCmdSetColorWriteEnableEXT)(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkBool32* pColorWriteEnables);
12783 #ifndef VK_NO_PROTOTYPES
12784 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorWriteEnableEXT(
12785 VkCommandBuffer commandBuffer,
12786 uint32_t attachmentCount,
12787 const VkBool32* pColorWriteEnables);
12791 #define VK_EXT_global_priority_query 1
12792 #define VK_MAX_GLOBAL_PRIORITY_SIZE_EXT 16U
12793 #define VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION 1
12794 #define VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME "VK_EXT_global_priority_query"
12795 typedef struct VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT {
12796 VkStructureType sType;
12798 VkBool32 globalPriorityQuery;
12799 } VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT;
12801 typedef struct VkQueueFamilyGlobalPriorityPropertiesEXT {
12802 VkStructureType sType;
12804 uint32_t priorityCount;
12805 VkQueueGlobalPriorityEXT priorities[VK_MAX_GLOBAL_PRIORITY_SIZE_EXT];
12806 } VkQueueFamilyGlobalPriorityPropertiesEXT;
12810 #define VK_EXT_multi_draw 1
12811 #define VK_EXT_MULTI_DRAW_SPEC_VERSION 1
12812 #define VK_EXT_MULTI_DRAW_EXTENSION_NAME "VK_EXT_multi_draw"
12813 typedef struct VkPhysicalDeviceMultiDrawFeaturesEXT {
12814 VkStructureType sType;
12816 VkBool32 multiDraw;
12817 } VkPhysicalDeviceMultiDrawFeaturesEXT;
12819 typedef struct VkPhysicalDeviceMultiDrawPropertiesEXT {
12820 VkStructureType sType;
12822 uint32_t maxMultiDrawCount;
12823 } VkPhysicalDeviceMultiDrawPropertiesEXT;
12825 typedef struct VkMultiDrawInfoEXT {
12826 uint32_t firstVertex;
12827 uint32_t vertexCount;
12828 } VkMultiDrawInfoEXT;
12830 typedef struct VkMultiDrawIndexedInfoEXT {
12831 uint32_t firstIndex;
12832 uint32_t indexCount;
12833 int32_t vertexOffset;
12834 } VkMultiDrawIndexedInfoEXT;
12836 typedef void (VKAPI_PTR *PFN_vkCmdDrawMultiEXT)(VkCommandBuffer commandBuffer, uint32_t drawCount, const VkMultiDrawInfoEXT* pVertexInfo, uint32_t instanceCount, uint32_t firstInstance, uint32_t stride);
12837 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);
12839 #ifndef VK_NO_PROTOTYPES
12840 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMultiEXT(
12841 VkCommandBuffer commandBuffer,
12842 uint32_t drawCount,
12843 const VkMultiDrawInfoEXT* pVertexInfo,
12844 uint32_t instanceCount,
12845 uint32_t firstInstance,
12848 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMultiIndexedEXT(
12849 VkCommandBuffer commandBuffer,
12850 uint32_t drawCount,
12851 const VkMultiDrawIndexedInfoEXT* pIndexInfo,
12852 uint32_t instanceCount,
12853 uint32_t firstInstance,
12855 const int32_t* pVertexOffset);
12859 #define VK_EXT_load_store_op_none 1
12860 #define VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION 1
12861 #define VK_EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME "VK_EXT_load_store_op_none"
12864 #define VK_EXT_border_color_swizzle 1
12865 #define VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION 1
12866 #define VK_EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME "VK_EXT_border_color_swizzle"
12867 typedef struct VkPhysicalDeviceBorderColorSwizzleFeaturesEXT {
12868 VkStructureType sType;
12870 VkBool32 borderColorSwizzle;
12871 VkBool32 borderColorSwizzleFromImage;
12872 } VkPhysicalDeviceBorderColorSwizzleFeaturesEXT;
12874 typedef struct VkSamplerBorderColorComponentMappingCreateInfoEXT {
12875 VkStructureType sType;
12877 VkComponentMapping components;
12879 } VkSamplerBorderColorComponentMappingCreateInfoEXT;
12883 #define VK_EXT_pageable_device_local_memory 1
12884 #define VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION 1
12885 #define VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME "VK_EXT_pageable_device_local_memory"
12886 typedef struct VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT {
12887 VkStructureType sType;
12889 VkBool32 pageableDeviceLocalMemory;
12890 } VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT;
12892 typedef void (VKAPI_PTR *PFN_vkSetDeviceMemoryPriorityEXT)(VkDevice device, VkDeviceMemory memory, float priority);
12894 #ifndef VK_NO_PROTOTYPES
12895 VKAPI_ATTR void VKAPI_CALL vkSetDeviceMemoryPriorityEXT(
12897 VkDeviceMemory memory,
12902 #define VK_KHR_acceleration_structure 1
12903 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR)
12904 #define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 12
12905 #define VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME "VK_KHR_acceleration_structure"
12907 typedef enum VkBuildAccelerationStructureModeKHR {
12908 VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR = 0,
12909 VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR = 1,
12910 VK_BUILD_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
12911 } VkBuildAccelerationStructureModeKHR;
12913 typedef enum VkAccelerationStructureBuildTypeKHR {
12914 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR = 0,
12915 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR = 1,
12916 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR = 2,
12917 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
12918 } VkAccelerationStructureBuildTypeKHR;
12920 typedef enum VkAccelerationStructureCompatibilityKHR {
12921 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR = 0,
12922 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR = 1,
12923 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_MAX_ENUM_KHR = 0x7FFFFFFF
12924 } VkAccelerationStructureCompatibilityKHR;
12926 typedef enum VkAccelerationStructureCreateFlagBitsKHR {
12927 VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = 0x00000001,
12928 VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV = 0x00000004,
12929 VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
12930 } VkAccelerationStructureCreateFlagBitsKHR;
12931 typedef VkFlags VkAccelerationStructureCreateFlagsKHR;
12932 typedef union VkDeviceOrHostAddressKHR {
12933 VkDeviceAddress deviceAddress;
12935 } VkDeviceOrHostAddressKHR;
12937 typedef struct VkAccelerationStructureBuildRangeInfoKHR {
12938 uint32_t primitiveCount;
12939 uint32_t primitiveOffset;
12940 uint32_t firstVertex;
12941 uint32_t transformOffset;
12942 } VkAccelerationStructureBuildRangeInfoKHR;
12944 typedef struct VkAccelerationStructureGeometryTrianglesDataKHR {
12945 VkStructureType sType;
12947 VkFormat vertexFormat;
12948 VkDeviceOrHostAddressConstKHR vertexData;
12949 VkDeviceSize vertexStride;
12950 uint32_t maxVertex;
12951 VkIndexType indexType;
12952 VkDeviceOrHostAddressConstKHR indexData;
12953 VkDeviceOrHostAddressConstKHR transformData;
12954 } VkAccelerationStructureGeometryTrianglesDataKHR;
12956 typedef struct VkAccelerationStructureGeometryAabbsDataKHR {
12957 VkStructureType sType;
12959 VkDeviceOrHostAddressConstKHR data;
12960 VkDeviceSize stride;
12961 } VkAccelerationStructureGeometryAabbsDataKHR;
12963 typedef struct VkAccelerationStructureGeometryInstancesDataKHR {
12964 VkStructureType sType;
12966 VkBool32 arrayOfPointers;
12967 VkDeviceOrHostAddressConstKHR data;
12968 } VkAccelerationStructureGeometryInstancesDataKHR;
12970 typedef union VkAccelerationStructureGeometryDataKHR {
12971 VkAccelerationStructureGeometryTrianglesDataKHR triangles;
12972 VkAccelerationStructureGeometryAabbsDataKHR aabbs;
12973 VkAccelerationStructureGeometryInstancesDataKHR instances;
12974 } VkAccelerationStructureGeometryDataKHR;
12976 typedef struct VkAccelerationStructureGeometryKHR {
12977 VkStructureType sType;
12979 VkGeometryTypeKHR geometryType;
12980 VkAccelerationStructureGeometryDataKHR geometry;
12981 VkGeometryFlagsKHR flags;
12982 } VkAccelerationStructureGeometryKHR;
12984 typedef struct VkAccelerationStructureBuildGeometryInfoKHR {
12985 VkStructureType sType;
12987 VkAccelerationStructureTypeKHR type;
12988 VkBuildAccelerationStructureFlagsKHR flags;
12989 VkBuildAccelerationStructureModeKHR mode;
12990 VkAccelerationStructureKHR srcAccelerationStructure;
12991 VkAccelerationStructureKHR dstAccelerationStructure;
12992 uint32_t geometryCount;
12993 const VkAccelerationStructureGeometryKHR* pGeometries;
12994 const VkAccelerationStructureGeometryKHR* const* ppGeometries;
12995 VkDeviceOrHostAddressKHR scratchData;
12996 } VkAccelerationStructureBuildGeometryInfoKHR;
12998 typedef struct VkAccelerationStructureCreateInfoKHR {
12999 VkStructureType sType;
13001 VkAccelerationStructureCreateFlagsKHR createFlags;
13003 VkDeviceSize offset;
13005 VkAccelerationStructureTypeKHR type;
13006 VkDeviceAddress deviceAddress;
13007 } VkAccelerationStructureCreateInfoKHR;
13009 typedef struct VkWriteDescriptorSetAccelerationStructureKHR {
13010 VkStructureType sType;
13012 uint32_t accelerationStructureCount;
13013 const VkAccelerationStructureKHR* pAccelerationStructures;
13014 } VkWriteDescriptorSetAccelerationStructureKHR;
13016 typedef struct VkPhysicalDeviceAccelerationStructureFeaturesKHR {
13017 VkStructureType sType;
13019 VkBool32 accelerationStructure;
13020 VkBool32 accelerationStructureCaptureReplay;
13021 VkBool32 accelerationStructureIndirectBuild;
13022 VkBool32 accelerationStructureHostCommands;
13023 VkBool32 descriptorBindingAccelerationStructureUpdateAfterBind;
13024 } VkPhysicalDeviceAccelerationStructureFeaturesKHR;
13026 typedef struct VkPhysicalDeviceAccelerationStructurePropertiesKHR {
13027 VkStructureType sType;
13029 uint64_t maxGeometryCount;
13030 uint64_t maxInstanceCount;
13031 uint64_t maxPrimitiveCount;
13032 uint32_t maxPerStageDescriptorAccelerationStructures;
13033 uint32_t maxPerStageDescriptorUpdateAfterBindAccelerationStructures;
13034 uint32_t maxDescriptorSetAccelerationStructures;
13035 uint32_t maxDescriptorSetUpdateAfterBindAccelerationStructures;
13036 uint32_t minAccelerationStructureScratchOffsetAlignment;
13037 } VkPhysicalDeviceAccelerationStructurePropertiesKHR;
13039 typedef struct VkAccelerationStructureDeviceAddressInfoKHR {
13040 VkStructureType sType;
13042 VkAccelerationStructureKHR accelerationStructure;
13043 } VkAccelerationStructureDeviceAddressInfoKHR;
13045 typedef struct VkAccelerationStructureVersionInfoKHR {
13046 VkStructureType sType;
13048 const uint8_t* pVersionData;
13049 } VkAccelerationStructureVersionInfoKHR;
13051 typedef struct VkCopyAccelerationStructureToMemoryInfoKHR {
13052 VkStructureType sType;
13054 VkAccelerationStructureKHR src;
13055 VkDeviceOrHostAddressKHR dst;
13056 VkCopyAccelerationStructureModeKHR mode;
13057 } VkCopyAccelerationStructureToMemoryInfoKHR;
13059 typedef struct VkCopyMemoryToAccelerationStructureInfoKHR {
13060 VkStructureType sType;
13062 VkDeviceOrHostAddressConstKHR src;
13063 VkAccelerationStructureKHR dst;
13064 VkCopyAccelerationStructureModeKHR mode;
13065 } VkCopyMemoryToAccelerationStructureInfoKHR;
13067 typedef struct VkCopyAccelerationStructureInfoKHR {
13068 VkStructureType sType;
13070 VkAccelerationStructureKHR src;
13071 VkAccelerationStructureKHR dst;
13072 VkCopyAccelerationStructureModeKHR mode;
13073 } VkCopyAccelerationStructureInfoKHR;
13075 typedef struct VkAccelerationStructureBuildSizesInfoKHR {
13076 VkStructureType sType;
13078 VkDeviceSize accelerationStructureSize;
13079 VkDeviceSize updateScratchSize;
13080 VkDeviceSize buildScratchSize;
13081 } VkAccelerationStructureBuildSizesInfoKHR;
13083 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureKHR)(VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure);
13084 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureKHR)(VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator);
13085 typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructuresKHR)(VkCommandBuffer commandBuffer, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
13086 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);
13087 typedef VkResult (VKAPI_PTR *PFN_vkBuildAccelerationStructuresKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
13088 typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureInfoKHR* pInfo);
13089 typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureToMemoryKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
13090 typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
13091 typedef VkResult (VKAPI_PTR *PFN_vkWriteAccelerationStructuresPropertiesKHR)(VkDevice device, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, size_t dataSize, void* pData, size_t stride);
13092 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureInfoKHR* pInfo);
13093 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureToMemoryKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
13094 typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
13095 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetAccelerationStructureDeviceAddressKHR)(VkDevice device, const VkAccelerationStructureDeviceAddressInfoKHR* pInfo);
13096 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesKHR)(VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery);
13097 typedef void (VKAPI_PTR *PFN_vkGetDeviceAccelerationStructureCompatibilityKHR)(VkDevice device, const VkAccelerationStructureVersionInfoKHR* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility);
13098 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureBuildSizesKHR)(VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo, const uint32_t* pMaxPrimitiveCounts, VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo);
13100 #ifndef VK_NO_PROTOTYPES
13101 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureKHR(
13103 const VkAccelerationStructureCreateInfoKHR* pCreateInfo,
13104 const VkAllocationCallbacks* pAllocator,
13105 VkAccelerationStructureKHR* pAccelerationStructure);
13107 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureKHR(
13109 VkAccelerationStructureKHR accelerationStructure,
13110 const VkAllocationCallbacks* pAllocator);
13112 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresKHR(
13113 VkCommandBuffer commandBuffer,
13114 uint32_t infoCount,
13115 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
13116 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
13118 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresIndirectKHR(
13119 VkCommandBuffer commandBuffer,
13120 uint32_t infoCount,
13121 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
13122 const VkDeviceAddress* pIndirectDeviceAddresses,
13123 const uint32_t* pIndirectStrides,
13124 const uint32_t* const* ppMaxPrimitiveCounts);
13126 VKAPI_ATTR VkResult VKAPI_CALL vkBuildAccelerationStructuresKHR(
13128 VkDeferredOperationKHR deferredOperation,
13129 uint32_t infoCount,
13130 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
13131 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
13133 VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureKHR(
13135 VkDeferredOperationKHR deferredOperation,
13136 const VkCopyAccelerationStructureInfoKHR* pInfo);
13138 VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureToMemoryKHR(
13140 VkDeferredOperationKHR deferredOperation,
13141 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
13143 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToAccelerationStructureKHR(
13145 VkDeferredOperationKHR deferredOperation,
13146 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
13148 VKAPI_ATTR VkResult VKAPI_CALL vkWriteAccelerationStructuresPropertiesKHR(
13150 uint32_t accelerationStructureCount,
13151 const VkAccelerationStructureKHR* pAccelerationStructures,
13152 VkQueryType queryType,
13157 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureKHR(
13158 VkCommandBuffer commandBuffer,
13159 const VkCopyAccelerationStructureInfoKHR* pInfo);
13161 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureToMemoryKHR(
13162 VkCommandBuffer commandBuffer,
13163 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
13165 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToAccelerationStructureKHR(
13166 VkCommandBuffer commandBuffer,
13167 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
13169 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetAccelerationStructureDeviceAddressKHR(
13171 const VkAccelerationStructureDeviceAddressInfoKHR* pInfo);
13173 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesKHR(
13174 VkCommandBuffer commandBuffer,
13175 uint32_t accelerationStructureCount,
13176 const VkAccelerationStructureKHR* pAccelerationStructures,
13177 VkQueryType queryType,
13178 VkQueryPool queryPool,
13179 uint32_t firstQuery);
13181 VKAPI_ATTR void VKAPI_CALL vkGetDeviceAccelerationStructureCompatibilityKHR(
13183 const VkAccelerationStructureVersionInfoKHR* pVersionInfo,
13184 VkAccelerationStructureCompatibilityKHR* pCompatibility);
13186 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureBuildSizesKHR(
13188 VkAccelerationStructureBuildTypeKHR buildType,
13189 const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo,
13190 const uint32_t* pMaxPrimitiveCounts,
13191 VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo);
13195 #define VK_KHR_ray_tracing_pipeline 1
13196 #define VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION 1
13197 #define VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME "VK_KHR_ray_tracing_pipeline"
13199 typedef enum VkShaderGroupShaderKHR {
13200 VK_SHADER_GROUP_SHADER_GENERAL_KHR = 0,
13201 VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR = 1,
13202 VK_SHADER_GROUP_SHADER_ANY_HIT_KHR = 2,
13203 VK_SHADER_GROUP_SHADER_INTERSECTION_KHR = 3,
13204 VK_SHADER_GROUP_SHADER_MAX_ENUM_KHR = 0x7FFFFFFF
13205 } VkShaderGroupShaderKHR;
13206 typedef struct VkRayTracingShaderGroupCreateInfoKHR {
13207 VkStructureType sType;
13209 VkRayTracingShaderGroupTypeKHR type;
13210 uint32_t generalShader;
13211 uint32_t closestHitShader;
13212 uint32_t anyHitShader;
13213 uint32_t intersectionShader;
13214 const void* pShaderGroupCaptureReplayHandle;
13215 } VkRayTracingShaderGroupCreateInfoKHR;
13217 typedef struct VkRayTracingPipelineInterfaceCreateInfoKHR {
13218 VkStructureType sType;
13220 uint32_t maxPipelineRayPayloadSize;
13221 uint32_t maxPipelineRayHitAttributeSize;
13222 } VkRayTracingPipelineInterfaceCreateInfoKHR;
13224 typedef struct VkRayTracingPipelineCreateInfoKHR {
13225 VkStructureType sType;
13227 VkPipelineCreateFlags flags;
13228 uint32_t stageCount;
13229 const VkPipelineShaderStageCreateInfo* pStages;
13230 uint32_t groupCount;
13231 const VkRayTracingShaderGroupCreateInfoKHR* pGroups;
13232 uint32_t maxPipelineRayRecursionDepth;
13233 const VkPipelineLibraryCreateInfoKHR* pLibraryInfo;
13234 const VkRayTracingPipelineInterfaceCreateInfoKHR* pLibraryInterface;
13235 const VkPipelineDynamicStateCreateInfo* pDynamicState;
13236 VkPipelineLayout layout;
13237 VkPipeline basePipelineHandle;
13238 int32_t basePipelineIndex;
13239 } VkRayTracingPipelineCreateInfoKHR;
13241 typedef struct VkPhysicalDeviceRayTracingPipelineFeaturesKHR {
13242 VkStructureType sType;
13244 VkBool32 rayTracingPipeline;
13245 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplay;
13246 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplayMixed;
13247 VkBool32 rayTracingPipelineTraceRaysIndirect;
13248 VkBool32 rayTraversalPrimitiveCulling;
13249 } VkPhysicalDeviceRayTracingPipelineFeaturesKHR;
13251 typedef struct VkPhysicalDeviceRayTracingPipelinePropertiesKHR {
13252 VkStructureType sType;
13254 uint32_t shaderGroupHandleSize;
13255 uint32_t maxRayRecursionDepth;
13256 uint32_t maxShaderGroupStride;
13257 uint32_t shaderGroupBaseAlignment;
13258 uint32_t shaderGroupHandleCaptureReplaySize;
13259 uint32_t maxRayDispatchInvocationCount;
13260 uint32_t shaderGroupHandleAlignment;
13261 uint32_t maxRayHitAttributeSize;
13262 } VkPhysicalDeviceRayTracingPipelinePropertiesKHR;
13264 typedef struct VkStridedDeviceAddressRegionKHR {
13265 VkDeviceAddress deviceAddress;
13266 VkDeviceSize stride;
13268 } VkStridedDeviceAddressRegionKHR;
13270 typedef struct VkTraceRaysIndirectCommandKHR {
13274 } VkTraceRaysIndirectCommandKHR;
13276 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);
13277 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
13278 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData);
13279 typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysIndirectKHR)(VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, VkDeviceAddress indirectDeviceAddress);
13280 typedef VkDeviceSize (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupStackSizeKHR)(VkDevice device, VkPipeline pipeline, uint32_t group, VkShaderGroupShaderKHR groupShader);
13281 typedef void (VKAPI_PTR *PFN_vkCmdSetRayTracingPipelineStackSizeKHR)(VkCommandBuffer commandBuffer, uint32_t pipelineStackSize);
13283 #ifndef VK_NO_PROTOTYPES
13284 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysKHR(
13285 VkCommandBuffer commandBuffer,
13286 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable,
13287 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable,
13288 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable,
13289 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable,
13294 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesKHR(
13296 VkDeferredOperationKHR deferredOperation,
13297 VkPipelineCache pipelineCache,
13298 uint32_t createInfoCount,
13299 const VkRayTracingPipelineCreateInfoKHR* pCreateInfos,
13300 const VkAllocationCallbacks* pAllocator,
13301 VkPipeline* pPipelines);
13303 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
13305 VkPipeline pipeline,
13306 uint32_t firstGroup,
13307 uint32_t groupCount,
13311 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysIndirectKHR(
13312 VkCommandBuffer commandBuffer,
13313 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable,
13314 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable,
13315 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable,
13316 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable,
13317 VkDeviceAddress indirectDeviceAddress);
13319 VKAPI_ATTR VkDeviceSize VKAPI_CALL vkGetRayTracingShaderGroupStackSizeKHR(
13321 VkPipeline pipeline,
13323 VkShaderGroupShaderKHR groupShader);
13325 VKAPI_ATTR void VKAPI_CALL vkCmdSetRayTracingPipelineStackSizeKHR(
13326 VkCommandBuffer commandBuffer,
13327 uint32_t pipelineStackSize);
13331 #define VK_KHR_ray_query 1
13332 #define VK_KHR_RAY_QUERY_SPEC_VERSION 1
13333 #define VK_KHR_RAY_QUERY_EXTENSION_NAME "VK_KHR_ray_query"
13334 typedef struct VkPhysicalDeviceRayQueryFeaturesKHR {
13335 VkStructureType sType;
13338 } VkPhysicalDeviceRayQueryFeaturesKHR;