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 "vulkan/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 186
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_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT = 1000281000,
758 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT = 1000281001,
759 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM = 1000282000,
760 VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM = 1000282001,
761 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT = 1000284000,
762 VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT = 1000284001,
763 VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT = 1000284002,
764 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT = 1000286000,
765 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT = 1000286001,
766 VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT = 1000287000,
767 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT = 1000287001,
768 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT = 1000287002,
769 VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR = 1000290000,
770 VK_STRUCTURE_TYPE_PRESENT_ID_KHR = 1000294000,
771 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR = 1000294001,
772 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT = 1000295000,
773 VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT = 1000295001,
774 VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT = 1000295002,
775 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT = 1000297000,
776 #ifdef VK_ENABLE_BETA_EXTENSIONS
777 VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR = 1000299000,
779 #ifdef VK_ENABLE_BETA_EXTENSIONS
780 VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR = 1000299001,
782 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV = 1000300000,
783 VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV = 1000300001,
784 VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR = 1000314000,
785 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR = 1000314001,
786 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR = 1000314002,
787 VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR = 1000314003,
788 VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR = 1000314004,
789 VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR = 1000314005,
790 VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR = 1000314006,
791 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR = 1000314007,
792 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV = 1000314008,
793 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV = 1000314009,
794 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR = 1000323000,
795 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = 1000325000,
796 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV = 1000326000,
797 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV = 1000326001,
798 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV = 1000326002,
799 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV = 1000327000,
800 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV = 1000327001,
801 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV = 1000327002,
802 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT = 1000330000,
803 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT = 1000332000,
804 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT = 1000332001,
805 VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM = 1000333000,
806 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT = 1000335000,
807 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR = 1000336000,
808 VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR = 1000337000,
809 VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR = 1000337001,
810 VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR = 1000337002,
811 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR = 1000337003,
812 VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR = 1000337004,
813 VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR = 1000337005,
814 VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR = 1000337006,
815 VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR = 1000337007,
816 VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR = 1000337008,
817 VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR = 1000337009,
818 VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR = 1000337010,
819 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT = 1000340000,
820 VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT = 1000346000,
821 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE = 1000351000,
822 VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE = 1000351002,
823 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT = 1000352000,
824 VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT = 1000352001,
825 VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT = 1000352002,
826 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT = 1000353000,
827 VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364000,
828 VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA = 1000364001,
829 VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364002,
830 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365000,
831 VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365001,
832 VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI = 1000369000,
833 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI = 1000369001,
834 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI = 1000369002,
835 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI = 1000370000,
836 VK_STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV = 1000371000,
837 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV = 1000371001,
838 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT = 1000377000,
839 VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX = 1000378000,
840 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT = 1000381000,
841 VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT = 1000381001,
842 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT = 1000388000,
843 VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT = 1000388001,
844 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT = 1000392000,
845 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT = 1000392001,
846 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
847 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
848 VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
849 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO,
850 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES,
851 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,
852 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2,
853 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2,
854 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2,
855 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2,
856 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2,
857 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2,
858 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2,
859 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2,
860 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2,
861 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO,
862 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO,
863 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO,
864 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO,
865 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO,
866 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO,
867 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO,
868 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES,
869 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO,
870 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO,
871 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES,
872 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO,
873 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES,
874 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES,
875 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO,
876 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO,
877 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO,
878 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO,
879 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES,
880 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO,
881 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
882 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
883 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES,
884 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO,
885 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT,
886 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES,
887 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO,
888 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO,
889 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO,
890 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2,
891 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2,
892 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2,
893 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2,
894 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2,
895 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO,
896 VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_END_INFO,
897 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO,
898 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES,
899 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO,
900 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES,
901 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO,
902 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO,
903 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO,
904 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
905 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR,
906 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS,
907 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO,
908 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES,
909 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO,
910 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2,
911 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2,
912 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2,
913 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2,
914 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2,
915 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO,
916 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO,
917 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO,
918 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO,
919 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO,
920 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,
921 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,
922 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO,
923 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO,
924 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO,
925 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES,
926 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES,
927 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO,
928 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT,
929 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,
930 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT,
931 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES,
932 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES,
933 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES,
934 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES,
935 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES,
936 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES,
937 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE,
938 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES,
939 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES,
940 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO,
941 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO,
942 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO,
943 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO,
944 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL = VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL,
945 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES,
946 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES,
947 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES,
948 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT,
949 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT,
950 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT,
951 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
952 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO,
953 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES,
954 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES,
955 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
956 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO,
957 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO,
958 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO,
959 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES,
960 VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF
963 typedef enum VkImageLayout {
964 VK_IMAGE_LAYOUT_UNDEFINED = 0,
965 VK_IMAGE_LAYOUT_GENERAL = 1,
966 VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2,
967 VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3,
968 VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4,
969 VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5,
970 VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6,
971 VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7,
972 VK_IMAGE_LAYOUT_PREINITIALIZED = 8,
973 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL = 1000117000,
974 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL = 1000117001,
975 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL = 1000241000,
976 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL = 1000241001,
977 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL = 1000241002,
978 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL = 1000241003,
979 VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002,
980 #ifdef VK_ENABLE_BETA_EXTENSIONS
981 VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR = 1000024000,
983 #ifdef VK_ENABLE_BETA_EXTENSIONS
984 VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR = 1000024001,
986 #ifdef VK_ENABLE_BETA_EXTENSIONS
987 VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR = 1000024002,
989 VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR = 1000111000,
990 VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000,
991 VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003,
992 #ifdef VK_ENABLE_BETA_EXTENSIONS
993 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR = 1000299000,
995 #ifdef VK_ENABLE_BETA_EXTENSIONS
996 VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR = 1000299001,
998 #ifdef VK_ENABLE_BETA_EXTENSIONS
999 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR = 1000299002,
1001 VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = 1000314000,
1002 VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = 1000314001,
1003 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,
1004 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,
1005 VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR,
1006 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
1007 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
1008 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL,
1009 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL,
1010 VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF
1013 typedef enum VkObjectType {
1014 VK_OBJECT_TYPE_UNKNOWN = 0,
1015 VK_OBJECT_TYPE_INSTANCE = 1,
1016 VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2,
1017 VK_OBJECT_TYPE_DEVICE = 3,
1018 VK_OBJECT_TYPE_QUEUE = 4,
1019 VK_OBJECT_TYPE_SEMAPHORE = 5,
1020 VK_OBJECT_TYPE_COMMAND_BUFFER = 6,
1021 VK_OBJECT_TYPE_FENCE = 7,
1022 VK_OBJECT_TYPE_DEVICE_MEMORY = 8,
1023 VK_OBJECT_TYPE_BUFFER = 9,
1024 VK_OBJECT_TYPE_IMAGE = 10,
1025 VK_OBJECT_TYPE_EVENT = 11,
1026 VK_OBJECT_TYPE_QUERY_POOL = 12,
1027 VK_OBJECT_TYPE_BUFFER_VIEW = 13,
1028 VK_OBJECT_TYPE_IMAGE_VIEW = 14,
1029 VK_OBJECT_TYPE_SHADER_MODULE = 15,
1030 VK_OBJECT_TYPE_PIPELINE_CACHE = 16,
1031 VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17,
1032 VK_OBJECT_TYPE_RENDER_PASS = 18,
1033 VK_OBJECT_TYPE_PIPELINE = 19,
1034 VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20,
1035 VK_OBJECT_TYPE_SAMPLER = 21,
1036 VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22,
1037 VK_OBJECT_TYPE_DESCRIPTOR_SET = 23,
1038 VK_OBJECT_TYPE_FRAMEBUFFER = 24,
1039 VK_OBJECT_TYPE_COMMAND_POOL = 25,
1040 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION = 1000156000,
1041 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE = 1000085000,
1042 VK_OBJECT_TYPE_SURFACE_KHR = 1000000000,
1043 VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000,
1044 VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000,
1045 VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001,
1046 VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000,
1047 #ifdef VK_ENABLE_BETA_EXTENSIONS
1048 VK_OBJECT_TYPE_VIDEO_SESSION_KHR = 1000023000,
1050 #ifdef VK_ENABLE_BETA_EXTENSIONS
1051 VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR = 1000023001,
1053 VK_OBJECT_TYPE_CU_MODULE_NVX = 1000029000,
1054 VK_OBJECT_TYPE_CU_FUNCTION_NVX = 1000029001,
1055 VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000,
1056 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000,
1057 VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000,
1058 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000,
1059 VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL = 1000210000,
1060 VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR = 1000268000,
1061 VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV = 1000277000,
1062 VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = 1000295000,
1063 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,
1064 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,
1065 VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF
1068 typedef enum VkPipelineCacheHeaderVersion {
1069 VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1,
1070 VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF
1071 } VkPipelineCacheHeaderVersion;
1073 typedef enum VkVendorId {
1074 VK_VENDOR_ID_VIV = 0x10001,
1075 VK_VENDOR_ID_VSI = 0x10002,
1076 VK_VENDOR_ID_KAZAN = 0x10003,
1077 VK_VENDOR_ID_CODEPLAY = 0x10004,
1078 VK_VENDOR_ID_MESA = 0x10005,
1079 VK_VENDOR_ID_POCL = 0x10006,
1080 VK_VENDOR_ID_MAX_ENUM = 0x7FFFFFFF
1083 typedef enum VkSystemAllocationScope {
1084 VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0,
1085 VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1,
1086 VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2,
1087 VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3,
1088 VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4,
1089 VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = 0x7FFFFFFF
1090 } VkSystemAllocationScope;
1092 typedef enum VkInternalAllocationType {
1093 VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0,
1094 VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM = 0x7FFFFFFF
1095 } VkInternalAllocationType;
1097 typedef enum VkFormat {
1098 VK_FORMAT_UNDEFINED = 0,
1099 VK_FORMAT_R4G4_UNORM_PACK8 = 1,
1100 VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2,
1101 VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3,
1102 VK_FORMAT_R5G6B5_UNORM_PACK16 = 4,
1103 VK_FORMAT_B5G6R5_UNORM_PACK16 = 5,
1104 VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6,
1105 VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7,
1106 VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8,
1107 VK_FORMAT_R8_UNORM = 9,
1108 VK_FORMAT_R8_SNORM = 10,
1109 VK_FORMAT_R8_USCALED = 11,
1110 VK_FORMAT_R8_SSCALED = 12,
1111 VK_FORMAT_R8_UINT = 13,
1112 VK_FORMAT_R8_SINT = 14,
1113 VK_FORMAT_R8_SRGB = 15,
1114 VK_FORMAT_R8G8_UNORM = 16,
1115 VK_FORMAT_R8G8_SNORM = 17,
1116 VK_FORMAT_R8G8_USCALED = 18,
1117 VK_FORMAT_R8G8_SSCALED = 19,
1118 VK_FORMAT_R8G8_UINT = 20,
1119 VK_FORMAT_R8G8_SINT = 21,
1120 VK_FORMAT_R8G8_SRGB = 22,
1121 VK_FORMAT_R8G8B8_UNORM = 23,
1122 VK_FORMAT_R8G8B8_SNORM = 24,
1123 VK_FORMAT_R8G8B8_USCALED = 25,
1124 VK_FORMAT_R8G8B8_SSCALED = 26,
1125 VK_FORMAT_R8G8B8_UINT = 27,
1126 VK_FORMAT_R8G8B8_SINT = 28,
1127 VK_FORMAT_R8G8B8_SRGB = 29,
1128 VK_FORMAT_B8G8R8_UNORM = 30,
1129 VK_FORMAT_B8G8R8_SNORM = 31,
1130 VK_FORMAT_B8G8R8_USCALED = 32,
1131 VK_FORMAT_B8G8R8_SSCALED = 33,
1132 VK_FORMAT_B8G8R8_UINT = 34,
1133 VK_FORMAT_B8G8R8_SINT = 35,
1134 VK_FORMAT_B8G8R8_SRGB = 36,
1135 VK_FORMAT_R8G8B8A8_UNORM = 37,
1136 VK_FORMAT_R8G8B8A8_SNORM = 38,
1137 VK_FORMAT_R8G8B8A8_USCALED = 39,
1138 VK_FORMAT_R8G8B8A8_SSCALED = 40,
1139 VK_FORMAT_R8G8B8A8_UINT = 41,
1140 VK_FORMAT_R8G8B8A8_SINT = 42,
1141 VK_FORMAT_R8G8B8A8_SRGB = 43,
1142 VK_FORMAT_B8G8R8A8_UNORM = 44,
1143 VK_FORMAT_B8G8R8A8_SNORM = 45,
1144 VK_FORMAT_B8G8R8A8_USCALED = 46,
1145 VK_FORMAT_B8G8R8A8_SSCALED = 47,
1146 VK_FORMAT_B8G8R8A8_UINT = 48,
1147 VK_FORMAT_B8G8R8A8_SINT = 49,
1148 VK_FORMAT_B8G8R8A8_SRGB = 50,
1149 VK_FORMAT_A8B8G8R8_UNORM_PACK32 = 51,
1150 VK_FORMAT_A8B8G8R8_SNORM_PACK32 = 52,
1151 VK_FORMAT_A8B8G8R8_USCALED_PACK32 = 53,
1152 VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54,
1153 VK_FORMAT_A8B8G8R8_UINT_PACK32 = 55,
1154 VK_FORMAT_A8B8G8R8_SINT_PACK32 = 56,
1155 VK_FORMAT_A8B8G8R8_SRGB_PACK32 = 57,
1156 VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58,
1157 VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59,
1158 VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 60,
1159 VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61,
1160 VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62,
1161 VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63,
1162 VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64,
1163 VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65,
1164 VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 66,
1165 VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67,
1166 VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68,
1167 VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69,
1168 VK_FORMAT_R16_UNORM = 70,
1169 VK_FORMAT_R16_SNORM = 71,
1170 VK_FORMAT_R16_USCALED = 72,
1171 VK_FORMAT_R16_SSCALED = 73,
1172 VK_FORMAT_R16_UINT = 74,
1173 VK_FORMAT_R16_SINT = 75,
1174 VK_FORMAT_R16_SFLOAT = 76,
1175 VK_FORMAT_R16G16_UNORM = 77,
1176 VK_FORMAT_R16G16_SNORM = 78,
1177 VK_FORMAT_R16G16_USCALED = 79,
1178 VK_FORMAT_R16G16_SSCALED = 80,
1179 VK_FORMAT_R16G16_UINT = 81,
1180 VK_FORMAT_R16G16_SINT = 82,
1181 VK_FORMAT_R16G16_SFLOAT = 83,
1182 VK_FORMAT_R16G16B16_UNORM = 84,
1183 VK_FORMAT_R16G16B16_SNORM = 85,
1184 VK_FORMAT_R16G16B16_USCALED = 86,
1185 VK_FORMAT_R16G16B16_SSCALED = 87,
1186 VK_FORMAT_R16G16B16_UINT = 88,
1187 VK_FORMAT_R16G16B16_SINT = 89,
1188 VK_FORMAT_R16G16B16_SFLOAT = 90,
1189 VK_FORMAT_R16G16B16A16_UNORM = 91,
1190 VK_FORMAT_R16G16B16A16_SNORM = 92,
1191 VK_FORMAT_R16G16B16A16_USCALED = 93,
1192 VK_FORMAT_R16G16B16A16_SSCALED = 94,
1193 VK_FORMAT_R16G16B16A16_UINT = 95,
1194 VK_FORMAT_R16G16B16A16_SINT = 96,
1195 VK_FORMAT_R16G16B16A16_SFLOAT = 97,
1196 VK_FORMAT_R32_UINT = 98,
1197 VK_FORMAT_R32_SINT = 99,
1198 VK_FORMAT_R32_SFLOAT = 100,
1199 VK_FORMAT_R32G32_UINT = 101,
1200 VK_FORMAT_R32G32_SINT = 102,
1201 VK_FORMAT_R32G32_SFLOAT = 103,
1202 VK_FORMAT_R32G32B32_UINT = 104,
1203 VK_FORMAT_R32G32B32_SINT = 105,
1204 VK_FORMAT_R32G32B32_SFLOAT = 106,
1205 VK_FORMAT_R32G32B32A32_UINT = 107,
1206 VK_FORMAT_R32G32B32A32_SINT = 108,
1207 VK_FORMAT_R32G32B32A32_SFLOAT = 109,
1208 VK_FORMAT_R64_UINT = 110,
1209 VK_FORMAT_R64_SINT = 111,
1210 VK_FORMAT_R64_SFLOAT = 112,
1211 VK_FORMAT_R64G64_UINT = 113,
1212 VK_FORMAT_R64G64_SINT = 114,
1213 VK_FORMAT_R64G64_SFLOAT = 115,
1214 VK_FORMAT_R64G64B64_UINT = 116,
1215 VK_FORMAT_R64G64B64_SINT = 117,
1216 VK_FORMAT_R64G64B64_SFLOAT = 118,
1217 VK_FORMAT_R64G64B64A64_UINT = 119,
1218 VK_FORMAT_R64G64B64A64_SINT = 120,
1219 VK_FORMAT_R64G64B64A64_SFLOAT = 121,
1220 VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122,
1221 VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123,
1222 VK_FORMAT_D16_UNORM = 124,
1223 VK_FORMAT_X8_D24_UNORM_PACK32 = 125,
1224 VK_FORMAT_D32_SFLOAT = 126,
1225 VK_FORMAT_S8_UINT = 127,
1226 VK_FORMAT_D16_UNORM_S8_UINT = 128,
1227 VK_FORMAT_D24_UNORM_S8_UINT = 129,
1228 VK_FORMAT_D32_SFLOAT_S8_UINT = 130,
1229 VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131,
1230 VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132,
1231 VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133,
1232 VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134,
1233 VK_FORMAT_BC2_UNORM_BLOCK = 135,
1234 VK_FORMAT_BC2_SRGB_BLOCK = 136,
1235 VK_FORMAT_BC3_UNORM_BLOCK = 137,
1236 VK_FORMAT_BC3_SRGB_BLOCK = 138,
1237 VK_FORMAT_BC4_UNORM_BLOCK = 139,
1238 VK_FORMAT_BC4_SNORM_BLOCK = 140,
1239 VK_FORMAT_BC5_UNORM_BLOCK = 141,
1240 VK_FORMAT_BC5_SNORM_BLOCK = 142,
1241 VK_FORMAT_BC6H_UFLOAT_BLOCK = 143,
1242 VK_FORMAT_BC6H_SFLOAT_BLOCK = 144,
1243 VK_FORMAT_BC7_UNORM_BLOCK = 145,
1244 VK_FORMAT_BC7_SRGB_BLOCK = 146,
1245 VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147,
1246 VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148,
1247 VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149,
1248 VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150,
1249 VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151,
1250 VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152,
1251 VK_FORMAT_EAC_R11_UNORM_BLOCK = 153,
1252 VK_FORMAT_EAC_R11_SNORM_BLOCK = 154,
1253 VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155,
1254 VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156,
1255 VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157,
1256 VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158,
1257 VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159,
1258 VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160,
1259 VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161,
1260 VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162,
1261 VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163,
1262 VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164,
1263 VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165,
1264 VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166,
1265 VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167,
1266 VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168,
1267 VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169,
1268 VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170,
1269 VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171,
1270 VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172,
1271 VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173,
1272 VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174,
1273 VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175,
1274 VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176,
1275 VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177,
1276 VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178,
1277 VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179,
1278 VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180,
1279 VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181,
1280 VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182,
1281 VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183,
1282 VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184,
1283 VK_FORMAT_G8B8G8R8_422_UNORM = 1000156000,
1284 VK_FORMAT_B8G8R8G8_422_UNORM = 1000156001,
1285 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM = 1000156002,
1286 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM = 1000156003,
1287 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM = 1000156004,
1288 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM = 1000156005,
1289 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM = 1000156006,
1290 VK_FORMAT_R10X6_UNORM_PACK16 = 1000156007,
1291 VK_FORMAT_R10X6G10X6_UNORM_2PACK16 = 1000156008,
1292 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 1000156009,
1293 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 1000156010,
1294 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 1000156011,
1295 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 1000156012,
1296 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 1000156013,
1297 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 1000156014,
1298 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 1000156015,
1299 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 1000156016,
1300 VK_FORMAT_R12X4_UNORM_PACK16 = 1000156017,
1301 VK_FORMAT_R12X4G12X4_UNORM_2PACK16 = 1000156018,
1302 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 1000156019,
1303 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 1000156020,
1304 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 1000156021,
1305 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 1000156022,
1306 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 1000156023,
1307 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 1000156024,
1308 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 1000156025,
1309 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 1000156026,
1310 VK_FORMAT_G16B16G16R16_422_UNORM = 1000156027,
1311 VK_FORMAT_B16G16R16G16_422_UNORM = 1000156028,
1312 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM = 1000156029,
1313 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM = 1000156030,
1314 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM = 1000156031,
1315 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM = 1000156032,
1316 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM = 1000156033,
1317 VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG = 1000054000,
1318 VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001,
1319 VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = 1000054002,
1320 VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG = 1000054003,
1321 VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG = 1000054004,
1322 VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005,
1323 VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006,
1324 VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007,
1325 VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT = 1000066000,
1326 VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT = 1000066001,
1327 VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT = 1000066002,
1328 VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT = 1000066003,
1329 VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT = 1000066004,
1330 VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT = 1000066005,
1331 VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT = 1000066006,
1332 VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT = 1000066007,
1333 VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT = 1000066008,
1334 VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT = 1000066009,
1335 VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT = 1000066010,
1336 VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT = 1000066011,
1337 VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT = 1000066012,
1338 VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT = 1000066013,
1339 VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT = 1000330000,
1340 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT = 1000330001,
1341 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT = 1000330002,
1342 VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT = 1000330003,
1343 VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT = 1000340000,
1344 VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT = 1000340001,
1345 VK_FORMAT_G8B8G8R8_422_UNORM_KHR = VK_FORMAT_G8B8G8R8_422_UNORM,
1346 VK_FORMAT_B8G8R8G8_422_UNORM_KHR = VK_FORMAT_B8G8R8G8_422_UNORM,
1347 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM,
1348 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM,
1349 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM,
1350 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM,
1351 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM,
1352 VK_FORMAT_R10X6_UNORM_PACK16_KHR = VK_FORMAT_R10X6_UNORM_PACK16,
1353 VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR = VK_FORMAT_R10X6G10X6_UNORM_2PACK16,
1354 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16,
1355 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16,
1356 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16,
1357 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16,
1358 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16,
1359 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16,
1360 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16,
1361 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16,
1362 VK_FORMAT_R12X4_UNORM_PACK16_KHR = VK_FORMAT_R12X4_UNORM_PACK16,
1363 VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR = VK_FORMAT_R12X4G12X4_UNORM_2PACK16,
1364 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16,
1365 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16,
1366 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16,
1367 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16,
1368 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16,
1369 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16,
1370 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16,
1371 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16,
1372 VK_FORMAT_G16B16G16R16_422_UNORM_KHR = VK_FORMAT_G16B16G16R16_422_UNORM,
1373 VK_FORMAT_B16G16R16G16_422_UNORM_KHR = VK_FORMAT_B16G16R16G16_422_UNORM,
1374 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM,
1375 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM,
1376 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM,
1377 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM,
1378 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM,
1379 VK_FORMAT_MAX_ENUM = 0x7FFFFFFF
1382 typedef enum VkImageTiling {
1383 VK_IMAGE_TILING_OPTIMAL = 0,
1384 VK_IMAGE_TILING_LINEAR = 1,
1385 VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT = 1000158000,
1386 VK_IMAGE_TILING_MAX_ENUM = 0x7FFFFFFF
1389 typedef enum VkImageType {
1390 VK_IMAGE_TYPE_1D = 0,
1391 VK_IMAGE_TYPE_2D = 1,
1392 VK_IMAGE_TYPE_3D = 2,
1393 VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF
1396 typedef enum VkPhysicalDeviceType {
1397 VK_PHYSICAL_DEVICE_TYPE_OTHER = 0,
1398 VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1,
1399 VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2,
1400 VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3,
1401 VK_PHYSICAL_DEVICE_TYPE_CPU = 4,
1402 VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM = 0x7FFFFFFF
1403 } VkPhysicalDeviceType;
1405 typedef enum VkQueryType {
1406 VK_QUERY_TYPE_OCCLUSION = 0,
1407 VK_QUERY_TYPE_PIPELINE_STATISTICS = 1,
1408 VK_QUERY_TYPE_TIMESTAMP = 2,
1409 #ifdef VK_ENABLE_BETA_EXTENSIONS
1410 VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR = 1000023000,
1412 VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT = 1000028004,
1413 VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR = 1000116000,
1414 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR = 1000150000,
1415 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR = 1000150001,
1416 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV = 1000165000,
1417 VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL = 1000210000,
1418 #ifdef VK_ENABLE_BETA_EXTENSIONS
1419 VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR = 1000299000,
1421 VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF
1424 typedef enum VkSharingMode {
1425 VK_SHARING_MODE_EXCLUSIVE = 0,
1426 VK_SHARING_MODE_CONCURRENT = 1,
1427 VK_SHARING_MODE_MAX_ENUM = 0x7FFFFFFF
1430 typedef enum VkComponentSwizzle {
1431 VK_COMPONENT_SWIZZLE_IDENTITY = 0,
1432 VK_COMPONENT_SWIZZLE_ZERO = 1,
1433 VK_COMPONENT_SWIZZLE_ONE = 2,
1434 VK_COMPONENT_SWIZZLE_R = 3,
1435 VK_COMPONENT_SWIZZLE_G = 4,
1436 VK_COMPONENT_SWIZZLE_B = 5,
1437 VK_COMPONENT_SWIZZLE_A = 6,
1438 VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF
1439 } VkComponentSwizzle;
1441 typedef enum VkImageViewType {
1442 VK_IMAGE_VIEW_TYPE_1D = 0,
1443 VK_IMAGE_VIEW_TYPE_2D = 1,
1444 VK_IMAGE_VIEW_TYPE_3D = 2,
1445 VK_IMAGE_VIEW_TYPE_CUBE = 3,
1446 VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4,
1447 VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5,
1448 VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6,
1449 VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7FFFFFFF
1452 typedef enum VkBlendFactor {
1453 VK_BLEND_FACTOR_ZERO = 0,
1454 VK_BLEND_FACTOR_ONE = 1,
1455 VK_BLEND_FACTOR_SRC_COLOR = 2,
1456 VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3,
1457 VK_BLEND_FACTOR_DST_COLOR = 4,
1458 VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5,
1459 VK_BLEND_FACTOR_SRC_ALPHA = 6,
1460 VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7,
1461 VK_BLEND_FACTOR_DST_ALPHA = 8,
1462 VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9,
1463 VK_BLEND_FACTOR_CONSTANT_COLOR = 10,
1464 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11,
1465 VK_BLEND_FACTOR_CONSTANT_ALPHA = 12,
1466 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13,
1467 VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14,
1468 VK_BLEND_FACTOR_SRC1_COLOR = 15,
1469 VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16,
1470 VK_BLEND_FACTOR_SRC1_ALPHA = 17,
1471 VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18,
1472 VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF
1475 typedef enum VkBlendOp {
1476 VK_BLEND_OP_ADD = 0,
1477 VK_BLEND_OP_SUBTRACT = 1,
1478 VK_BLEND_OP_REVERSE_SUBTRACT = 2,
1479 VK_BLEND_OP_MIN = 3,
1480 VK_BLEND_OP_MAX = 4,
1481 VK_BLEND_OP_ZERO_EXT = 1000148000,
1482 VK_BLEND_OP_SRC_EXT = 1000148001,
1483 VK_BLEND_OP_DST_EXT = 1000148002,
1484 VK_BLEND_OP_SRC_OVER_EXT = 1000148003,
1485 VK_BLEND_OP_DST_OVER_EXT = 1000148004,
1486 VK_BLEND_OP_SRC_IN_EXT = 1000148005,
1487 VK_BLEND_OP_DST_IN_EXT = 1000148006,
1488 VK_BLEND_OP_SRC_OUT_EXT = 1000148007,
1489 VK_BLEND_OP_DST_OUT_EXT = 1000148008,
1490 VK_BLEND_OP_SRC_ATOP_EXT = 1000148009,
1491 VK_BLEND_OP_DST_ATOP_EXT = 1000148010,
1492 VK_BLEND_OP_XOR_EXT = 1000148011,
1493 VK_BLEND_OP_MULTIPLY_EXT = 1000148012,
1494 VK_BLEND_OP_SCREEN_EXT = 1000148013,
1495 VK_BLEND_OP_OVERLAY_EXT = 1000148014,
1496 VK_BLEND_OP_DARKEN_EXT = 1000148015,
1497 VK_BLEND_OP_LIGHTEN_EXT = 1000148016,
1498 VK_BLEND_OP_COLORDODGE_EXT = 1000148017,
1499 VK_BLEND_OP_COLORBURN_EXT = 1000148018,
1500 VK_BLEND_OP_HARDLIGHT_EXT = 1000148019,
1501 VK_BLEND_OP_SOFTLIGHT_EXT = 1000148020,
1502 VK_BLEND_OP_DIFFERENCE_EXT = 1000148021,
1503 VK_BLEND_OP_EXCLUSION_EXT = 1000148022,
1504 VK_BLEND_OP_INVERT_EXT = 1000148023,
1505 VK_BLEND_OP_INVERT_RGB_EXT = 1000148024,
1506 VK_BLEND_OP_LINEARDODGE_EXT = 1000148025,
1507 VK_BLEND_OP_LINEARBURN_EXT = 1000148026,
1508 VK_BLEND_OP_VIVIDLIGHT_EXT = 1000148027,
1509 VK_BLEND_OP_LINEARLIGHT_EXT = 1000148028,
1510 VK_BLEND_OP_PINLIGHT_EXT = 1000148029,
1511 VK_BLEND_OP_HARDMIX_EXT = 1000148030,
1512 VK_BLEND_OP_HSL_HUE_EXT = 1000148031,
1513 VK_BLEND_OP_HSL_SATURATION_EXT = 1000148032,
1514 VK_BLEND_OP_HSL_COLOR_EXT = 1000148033,
1515 VK_BLEND_OP_HSL_LUMINOSITY_EXT = 1000148034,
1516 VK_BLEND_OP_PLUS_EXT = 1000148035,
1517 VK_BLEND_OP_PLUS_CLAMPED_EXT = 1000148036,
1518 VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT = 1000148037,
1519 VK_BLEND_OP_PLUS_DARKER_EXT = 1000148038,
1520 VK_BLEND_OP_MINUS_EXT = 1000148039,
1521 VK_BLEND_OP_MINUS_CLAMPED_EXT = 1000148040,
1522 VK_BLEND_OP_CONTRAST_EXT = 1000148041,
1523 VK_BLEND_OP_INVERT_OVG_EXT = 1000148042,
1524 VK_BLEND_OP_RED_EXT = 1000148043,
1525 VK_BLEND_OP_GREEN_EXT = 1000148044,
1526 VK_BLEND_OP_BLUE_EXT = 1000148045,
1527 VK_BLEND_OP_MAX_ENUM = 0x7FFFFFFF
1530 typedef enum VkCompareOp {
1531 VK_COMPARE_OP_NEVER = 0,
1532 VK_COMPARE_OP_LESS = 1,
1533 VK_COMPARE_OP_EQUAL = 2,
1534 VK_COMPARE_OP_LESS_OR_EQUAL = 3,
1535 VK_COMPARE_OP_GREATER = 4,
1536 VK_COMPARE_OP_NOT_EQUAL = 5,
1537 VK_COMPARE_OP_GREATER_OR_EQUAL = 6,
1538 VK_COMPARE_OP_ALWAYS = 7,
1539 VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF
1542 typedef enum VkDynamicState {
1543 VK_DYNAMIC_STATE_VIEWPORT = 0,
1544 VK_DYNAMIC_STATE_SCISSOR = 1,
1545 VK_DYNAMIC_STATE_LINE_WIDTH = 2,
1546 VK_DYNAMIC_STATE_DEPTH_BIAS = 3,
1547 VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4,
1548 VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5,
1549 VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6,
1550 VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7,
1551 VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8,
1552 VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV = 1000087000,
1553 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000,
1554 VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT = 1000143000,
1555 VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR = 1000347000,
1556 VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV = 1000164004,
1557 VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV = 1000164006,
1558 VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV = 1000205001,
1559 VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR = 1000226000,
1560 VK_DYNAMIC_STATE_LINE_STIPPLE_EXT = 1000259000,
1561 VK_DYNAMIC_STATE_CULL_MODE_EXT = 1000267000,
1562 VK_DYNAMIC_STATE_FRONT_FACE_EXT = 1000267001,
1563 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = 1000267002,
1564 VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT = 1000267003,
1565 VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT = 1000267004,
1566 VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT = 1000267005,
1567 VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT = 1000267006,
1568 VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT = 1000267007,
1569 VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT = 1000267008,
1570 VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT = 1000267009,
1571 VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT = 1000267010,
1572 VK_DYNAMIC_STATE_STENCIL_OP_EXT = 1000267011,
1573 VK_DYNAMIC_STATE_VERTEX_INPUT_EXT = 1000352000,
1574 VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT = 1000377000,
1575 VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT = 1000377001,
1576 VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT = 1000377002,
1577 VK_DYNAMIC_STATE_LOGIC_OP_EXT = 1000377003,
1578 VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT = 1000377004,
1579 VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT = 1000381000,
1580 VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF
1583 typedef enum VkFrontFace {
1584 VK_FRONT_FACE_COUNTER_CLOCKWISE = 0,
1585 VK_FRONT_FACE_CLOCKWISE = 1,
1586 VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF
1589 typedef enum VkVertexInputRate {
1590 VK_VERTEX_INPUT_RATE_VERTEX = 0,
1591 VK_VERTEX_INPUT_RATE_INSTANCE = 1,
1592 VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF
1593 } VkVertexInputRate;
1595 typedef enum VkPrimitiveTopology {
1596 VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0,
1597 VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1,
1598 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2,
1599 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3,
1600 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4,
1601 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5,
1602 VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6,
1603 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7,
1604 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8,
1605 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9,
1606 VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10,
1607 VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7FFFFFFF
1608 } VkPrimitiveTopology;
1610 typedef enum VkPolygonMode {
1611 VK_POLYGON_MODE_FILL = 0,
1612 VK_POLYGON_MODE_LINE = 1,
1613 VK_POLYGON_MODE_POINT = 2,
1614 VK_POLYGON_MODE_FILL_RECTANGLE_NV = 1000153000,
1615 VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF
1618 typedef enum VkStencilOp {
1619 VK_STENCIL_OP_KEEP = 0,
1620 VK_STENCIL_OP_ZERO = 1,
1621 VK_STENCIL_OP_REPLACE = 2,
1622 VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3,
1623 VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4,
1624 VK_STENCIL_OP_INVERT = 5,
1625 VK_STENCIL_OP_INCREMENT_AND_WRAP = 6,
1626 VK_STENCIL_OP_DECREMENT_AND_WRAP = 7,
1627 VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF
1630 typedef enum VkLogicOp {
1631 VK_LOGIC_OP_CLEAR = 0,
1632 VK_LOGIC_OP_AND = 1,
1633 VK_LOGIC_OP_AND_REVERSE = 2,
1634 VK_LOGIC_OP_COPY = 3,
1635 VK_LOGIC_OP_AND_INVERTED = 4,
1636 VK_LOGIC_OP_NO_OP = 5,
1637 VK_LOGIC_OP_XOR = 6,
1639 VK_LOGIC_OP_NOR = 8,
1640 VK_LOGIC_OP_EQUIVALENT = 9,
1641 VK_LOGIC_OP_INVERT = 10,
1642 VK_LOGIC_OP_OR_REVERSE = 11,
1643 VK_LOGIC_OP_COPY_INVERTED = 12,
1644 VK_LOGIC_OP_OR_INVERTED = 13,
1645 VK_LOGIC_OP_NAND = 14,
1646 VK_LOGIC_OP_SET = 15,
1647 VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF
1650 typedef enum VkBorderColor {
1651 VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0,
1652 VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1,
1653 VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2,
1654 VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3,
1655 VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4,
1656 VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5,
1657 VK_BORDER_COLOR_FLOAT_CUSTOM_EXT = 1000287003,
1658 VK_BORDER_COLOR_INT_CUSTOM_EXT = 1000287004,
1659 VK_BORDER_COLOR_MAX_ENUM = 0x7FFFFFFF
1662 typedef enum VkFilter {
1663 VK_FILTER_NEAREST = 0,
1664 VK_FILTER_LINEAR = 1,
1665 VK_FILTER_CUBIC_IMG = 1000015000,
1666 VK_FILTER_CUBIC_EXT = VK_FILTER_CUBIC_IMG,
1667 VK_FILTER_MAX_ENUM = 0x7FFFFFFF
1670 typedef enum VkSamplerAddressMode {
1671 VK_SAMPLER_ADDRESS_MODE_REPEAT = 0,
1672 VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1,
1673 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2,
1674 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3,
1675 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4,
1676 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE,
1677 VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = 0x7FFFFFFF
1678 } VkSamplerAddressMode;
1680 typedef enum VkSamplerMipmapMode {
1681 VK_SAMPLER_MIPMAP_MODE_NEAREST = 0,
1682 VK_SAMPLER_MIPMAP_MODE_LINEAR = 1,
1683 VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF
1684 } VkSamplerMipmapMode;
1686 typedef enum VkDescriptorType {
1687 VK_DESCRIPTOR_TYPE_SAMPLER = 0,
1688 VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1,
1689 VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2,
1690 VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3,
1691 VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4,
1692 VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5,
1693 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6,
1694 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7,
1695 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8,
1696 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9,
1697 VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10,
1698 VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT = 1000138000,
1699 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000,
1700 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000,
1701 VK_DESCRIPTOR_TYPE_MUTABLE_VALVE = 1000351000,
1702 VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF
1705 typedef enum VkAttachmentLoadOp {
1706 VK_ATTACHMENT_LOAD_OP_LOAD = 0,
1707 VK_ATTACHMENT_LOAD_OP_CLEAR = 1,
1708 VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2,
1709 VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7FFFFFFF
1710 } VkAttachmentLoadOp;
1712 typedef enum VkAttachmentStoreOp {
1713 VK_ATTACHMENT_STORE_OP_STORE = 0,
1714 VK_ATTACHMENT_STORE_OP_DONT_CARE = 1,
1715 VK_ATTACHMENT_STORE_OP_NONE_QCOM = 1000301000,
1716 VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF
1717 } VkAttachmentStoreOp;
1719 typedef enum VkPipelineBindPoint {
1720 VK_PIPELINE_BIND_POINT_GRAPHICS = 0,
1721 VK_PIPELINE_BIND_POINT_COMPUTE = 1,
1722 VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR = 1000165000,
1723 VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI = 1000369003,
1724 VK_PIPELINE_BIND_POINT_RAY_TRACING_NV = VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR,
1725 VK_PIPELINE_BIND_POINT_MAX_ENUM = 0x7FFFFFFF
1726 } VkPipelineBindPoint;
1728 typedef enum VkCommandBufferLevel {
1729 VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0,
1730 VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1,
1731 VK_COMMAND_BUFFER_LEVEL_MAX_ENUM = 0x7FFFFFFF
1732 } VkCommandBufferLevel;
1734 typedef enum VkIndexType {
1735 VK_INDEX_TYPE_UINT16 = 0,
1736 VK_INDEX_TYPE_UINT32 = 1,
1737 VK_INDEX_TYPE_NONE_KHR = 1000165000,
1738 VK_INDEX_TYPE_UINT8_EXT = 1000265000,
1739 VK_INDEX_TYPE_NONE_NV = VK_INDEX_TYPE_NONE_KHR,
1740 VK_INDEX_TYPE_MAX_ENUM = 0x7FFFFFFF
1743 typedef enum VkSubpassContents {
1744 VK_SUBPASS_CONTENTS_INLINE = 0,
1745 VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1,
1746 VK_SUBPASS_CONTENTS_MAX_ENUM = 0x7FFFFFFF
1747 } VkSubpassContents;
1749 typedef enum VkAccessFlagBits {
1750 VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001,
1751 VK_ACCESS_INDEX_READ_BIT = 0x00000002,
1752 VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004,
1753 VK_ACCESS_UNIFORM_READ_BIT = 0x00000008,
1754 VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 0x00000010,
1755 VK_ACCESS_SHADER_READ_BIT = 0x00000020,
1756 VK_ACCESS_SHADER_WRITE_BIT = 0x00000040,
1757 VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 0x00000080,
1758 VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100,
1759 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200,
1760 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400,
1761 VK_ACCESS_TRANSFER_READ_BIT = 0x00000800,
1762 VK_ACCESS_TRANSFER_WRITE_BIT = 0x00001000,
1763 VK_ACCESS_HOST_READ_BIT = 0x00002000,
1764 VK_ACCESS_HOST_WRITE_BIT = 0x00004000,
1765 VK_ACCESS_MEMORY_READ_BIT = 0x00008000,
1766 VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000,
1767 VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000,
1768 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000,
1769 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000,
1770 VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000,
1771 VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000,
1772 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000,
1773 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000,
1774 VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000,
1775 VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000,
1776 VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000,
1777 VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000,
1778 VK_ACCESS_NONE_KHR = 0,
1779 VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR,
1780 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR,
1781 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,
1782 VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1784 typedef VkFlags VkAccessFlags;
1786 typedef enum VkImageAspectFlagBits {
1787 VK_IMAGE_ASPECT_COLOR_BIT = 0x00000001,
1788 VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002,
1789 VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004,
1790 VK_IMAGE_ASPECT_METADATA_BIT = 0x00000008,
1791 VK_IMAGE_ASPECT_PLANE_0_BIT = 0x00000010,
1792 VK_IMAGE_ASPECT_PLANE_1_BIT = 0x00000020,
1793 VK_IMAGE_ASPECT_PLANE_2_BIT = 0x00000040,
1794 VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 0x00000080,
1795 VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 0x00000100,
1796 VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 0x00000200,
1797 VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = 0x00000400,
1798 VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = VK_IMAGE_ASPECT_PLANE_0_BIT,
1799 VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = VK_IMAGE_ASPECT_PLANE_1_BIT,
1800 VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = VK_IMAGE_ASPECT_PLANE_2_BIT,
1801 VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1802 } VkImageAspectFlagBits;
1803 typedef VkFlags VkImageAspectFlags;
1805 typedef enum VkFormatFeatureFlagBits {
1806 VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 0x00000001,
1807 VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 0x00000002,
1808 VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004,
1809 VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008,
1810 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 0x00000010,
1811 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020,
1812 VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 0x00000040,
1813 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 0x00000080,
1814 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100,
1815 VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200,
1816 VK_FORMAT_FEATURE_BLIT_SRC_BIT = 0x00000400,
1817 VK_FORMAT_FEATURE_BLIT_DST_BIT = 0x00000800,
1818 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000,
1819 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT = 0x00004000,
1820 VK_FORMAT_FEATURE_TRANSFER_DST_BIT = 0x00008000,
1821 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000,
1822 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000,
1823 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000,
1824 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000,
1825 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000,
1826 VK_FORMAT_FEATURE_DISJOINT_BIT = 0x00400000,
1827 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT = 0x00800000,
1828 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000,
1829 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = 0x00002000,
1830 #ifdef VK_ENABLE_BETA_EXTENSIONS
1831 VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x02000000,
1833 #ifdef VK_ENABLE_BETA_EXTENSIONS
1834 VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR = 0x04000000,
1836 VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000,
1837 VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000,
1838 VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000,
1839 #ifdef VK_ENABLE_BETA_EXTENSIONS
1840 VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000,
1842 #ifdef VK_ENABLE_BETA_EXTENSIONS
1843 VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000,
1845 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT,
1846 VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_DST_BIT,
1847 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT,
1848 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT,
1849 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT,
1850 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT,
1851 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT,
1852 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,
1853 VK_FORMAT_FEATURE_DISJOINT_BIT_KHR = VK_FORMAT_FEATURE_DISJOINT_BIT,
1854 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT,
1855 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG,
1856 VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1857 } VkFormatFeatureFlagBits;
1858 typedef VkFlags VkFormatFeatureFlags;
1860 typedef enum VkImageCreateFlagBits {
1861 VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 0x00000001,
1862 VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
1863 VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
1864 VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 0x00000008,
1865 VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 0x00000010,
1866 VK_IMAGE_CREATE_ALIAS_BIT = 0x00000400,
1867 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT = 0x00000040,
1868 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT = 0x00000020,
1869 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT = 0x00000080,
1870 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT = 0x00000100,
1871 VK_IMAGE_CREATE_PROTECTED_BIT = 0x00000800,
1872 VK_IMAGE_CREATE_DISJOINT_BIT = 0x00000200,
1873 VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 0x00002000,
1874 VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000,
1875 VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 0x00004000,
1876 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT,
1877 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT,
1878 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT,
1879 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT,
1880 VK_IMAGE_CREATE_DISJOINT_BIT_KHR = VK_IMAGE_CREATE_DISJOINT_BIT,
1881 VK_IMAGE_CREATE_ALIAS_BIT_KHR = VK_IMAGE_CREATE_ALIAS_BIT,
1882 VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1883 } VkImageCreateFlagBits;
1884 typedef VkFlags VkImageCreateFlags;
1886 typedef enum VkSampleCountFlagBits {
1887 VK_SAMPLE_COUNT_1_BIT = 0x00000001,
1888 VK_SAMPLE_COUNT_2_BIT = 0x00000002,
1889 VK_SAMPLE_COUNT_4_BIT = 0x00000004,
1890 VK_SAMPLE_COUNT_8_BIT = 0x00000008,
1891 VK_SAMPLE_COUNT_16_BIT = 0x00000010,
1892 VK_SAMPLE_COUNT_32_BIT = 0x00000020,
1893 VK_SAMPLE_COUNT_64_BIT = 0x00000040,
1894 VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1895 } VkSampleCountFlagBits;
1896 typedef VkFlags VkSampleCountFlags;
1898 typedef enum VkImageUsageFlagBits {
1899 VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 0x00000001,
1900 VK_IMAGE_USAGE_TRANSFER_DST_BIT = 0x00000002,
1901 VK_IMAGE_USAGE_SAMPLED_BIT = 0x00000004,
1902 VK_IMAGE_USAGE_STORAGE_BIT = 0x00000008,
1903 VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000010,
1904 VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000020,
1905 VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000040,
1906 VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0x00000080,
1907 #ifdef VK_ENABLE_BETA_EXTENSIONS
1908 VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00000400,
1910 #ifdef VK_ENABLE_BETA_EXTENSIONS
1911 VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00000800,
1913 #ifdef VK_ENABLE_BETA_EXTENSIONS
1914 VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR = 0x00001000,
1916 VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x00000200,
1917 VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00000100,
1918 #ifdef VK_ENABLE_BETA_EXTENSIONS
1919 VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00002000,
1921 #ifdef VK_ENABLE_BETA_EXTENSIONS
1922 VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00004000,
1924 #ifdef VK_ENABLE_BETA_EXTENSIONS
1925 VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR = 0x00008000,
1927 VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI = 0x00040000,
1928 VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
1929 VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1930 } VkImageUsageFlagBits;
1931 typedef VkFlags VkImageUsageFlags;
1932 typedef VkFlags VkInstanceCreateFlags;
1934 typedef enum VkMemoryHeapFlagBits {
1935 VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0x00000001,
1936 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = 0x00000002,
1937 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT,
1938 VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1939 } VkMemoryHeapFlagBits;
1940 typedef VkFlags VkMemoryHeapFlags;
1942 typedef enum VkMemoryPropertyFlagBits {
1943 VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 0x00000001,
1944 VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 0x00000002,
1945 VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 0x00000004,
1946 VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 0x00000008,
1947 VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 0x00000010,
1948 VK_MEMORY_PROPERTY_PROTECTED_BIT = 0x00000020,
1949 VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD = 0x00000040,
1950 VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD = 0x00000080,
1951 VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV = 0x00000100,
1952 VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1953 } VkMemoryPropertyFlagBits;
1954 typedef VkFlags VkMemoryPropertyFlags;
1956 typedef enum VkQueueFlagBits {
1957 VK_QUEUE_GRAPHICS_BIT = 0x00000001,
1958 VK_QUEUE_COMPUTE_BIT = 0x00000002,
1959 VK_QUEUE_TRANSFER_BIT = 0x00000004,
1960 VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008,
1961 VK_QUEUE_PROTECTED_BIT = 0x00000010,
1962 #ifdef VK_ENABLE_BETA_EXTENSIONS
1963 VK_QUEUE_VIDEO_DECODE_BIT_KHR = 0x00000020,
1965 #ifdef VK_ENABLE_BETA_EXTENSIONS
1966 VK_QUEUE_VIDEO_ENCODE_BIT_KHR = 0x00000040,
1968 VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1970 typedef VkFlags VkQueueFlags;
1971 typedef VkFlags VkDeviceCreateFlags;
1973 typedef enum VkDeviceQueueCreateFlagBits {
1974 VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT = 0x00000001,
1975 VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1976 } VkDeviceQueueCreateFlagBits;
1977 typedef VkFlags VkDeviceQueueCreateFlags;
1979 typedef enum VkPipelineStageFlagBits {
1980 VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 0x00000001,
1981 VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 0x00000002,
1982 VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 0x00000004,
1983 VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 0x00000008,
1984 VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010,
1985 VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020,
1986 VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 0x00000040,
1987 VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 0x00000080,
1988 VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 0x00000100,
1989 VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 0x00000200,
1990 VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400,
1991 VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 0x00000800,
1992 VK_PIPELINE_STAGE_TRANSFER_BIT = 0x00001000,
1993 VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 0x00002000,
1994 VK_PIPELINE_STAGE_HOST_BIT = 0x00004000,
1995 VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0x00008000,
1996 VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00010000,
1997 VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000,
1998 VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000,
1999 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000,
2000 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = 0x00200000,
2001 VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV = 0x00080000,
2002 VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV = 0x00100000,
2003 VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000,
2004 VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000,
2005 VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV = 0x00020000,
2006 VK_PIPELINE_STAGE_NONE_KHR = 0,
2007 VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
2008 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV = VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR,
2009 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
2010 VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2011 } VkPipelineStageFlagBits;
2012 typedef VkFlags VkPipelineStageFlags;
2013 typedef VkFlags VkMemoryMapFlags;
2015 typedef enum VkSparseMemoryBindFlagBits {
2016 VK_SPARSE_MEMORY_BIND_METADATA_BIT = 0x00000001,
2017 VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2018 } VkSparseMemoryBindFlagBits;
2019 typedef VkFlags VkSparseMemoryBindFlags;
2021 typedef enum VkSparseImageFormatFlagBits {
2022 VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 0x00000001,
2023 VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 0x00000002,
2024 VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 0x00000004,
2025 VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2026 } VkSparseImageFormatFlagBits;
2027 typedef VkFlags VkSparseImageFormatFlags;
2029 typedef enum VkFenceCreateFlagBits {
2030 VK_FENCE_CREATE_SIGNALED_BIT = 0x00000001,
2031 VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2032 } VkFenceCreateFlagBits;
2033 typedef VkFlags VkFenceCreateFlags;
2034 typedef VkFlags VkSemaphoreCreateFlags;
2036 typedef enum VkEventCreateFlagBits {
2037 VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR = 0x00000001,
2038 VK_EVENT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2039 } VkEventCreateFlagBits;
2040 typedef VkFlags VkEventCreateFlags;
2042 typedef enum VkQueryPipelineStatisticFlagBits {
2043 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 0x00000001,
2044 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 0x00000002,
2045 VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 0x00000004,
2046 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 0x00000008,
2047 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 0x00000010,
2048 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 0x00000020,
2049 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 0x00000040,
2050 VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 0x00000080,
2051 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 0x00000100,
2052 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 0x00000200,
2053 VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 0x00000400,
2054 VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2055 } VkQueryPipelineStatisticFlagBits;
2056 typedef VkFlags VkQueryPipelineStatisticFlags;
2057 typedef VkFlags VkQueryPoolCreateFlags;
2059 typedef enum VkQueryResultFlagBits {
2060 VK_QUERY_RESULT_64_BIT = 0x00000001,
2061 VK_QUERY_RESULT_WAIT_BIT = 0x00000002,
2062 VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004,
2063 VK_QUERY_RESULT_PARTIAL_BIT = 0x00000008,
2064 #ifdef VK_ENABLE_BETA_EXTENSIONS
2065 VK_QUERY_RESULT_WITH_STATUS_BIT_KHR = 0x00000010,
2067 VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2068 } VkQueryResultFlagBits;
2069 typedef VkFlags VkQueryResultFlags;
2071 typedef enum VkBufferCreateFlagBits {
2072 VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 0x00000001,
2073 VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
2074 VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
2075 VK_BUFFER_CREATE_PROTECTED_BIT = 0x00000008,
2076 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000010,
2077 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
2078 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
2079 VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2080 } VkBufferCreateFlagBits;
2081 typedef VkFlags VkBufferCreateFlags;
2083 typedef enum VkBufferUsageFlagBits {
2084 VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 0x00000001,
2085 VK_BUFFER_USAGE_TRANSFER_DST_BIT = 0x00000002,
2086 VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000004,
2087 VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 0x00000008,
2088 VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 0x00000010,
2089 VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 0x00000020,
2090 VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 0x00000040,
2091 VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 0x00000080,
2092 VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 0x00000100,
2093 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT = 0x00020000,
2094 #ifdef VK_ENABLE_BETA_EXTENSIONS
2095 VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00002000,
2097 #ifdef VK_ENABLE_BETA_EXTENSIONS
2098 VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00004000,
2100 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0x00000800,
2101 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000,
2102 VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200,
2103 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR = 0x00080000,
2104 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR = 0x00100000,
2105 VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR = 0x00000400,
2106 #ifdef VK_ENABLE_BETA_EXTENSIONS
2107 VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00008000,
2109 #ifdef VK_ENABLE_BETA_EXTENSIONS
2110 VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00010000,
2112 VK_BUFFER_USAGE_RAY_TRACING_BIT_NV = VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR,
2113 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
2114 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
2115 VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2116 } VkBufferUsageFlagBits;
2117 typedef VkFlags VkBufferUsageFlags;
2118 typedef VkFlags VkBufferViewCreateFlags;
2120 typedef enum VkImageViewCreateFlagBits {
2121 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT = 0x00000001,
2122 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT = 0x00000002,
2123 VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2124 } VkImageViewCreateFlagBits;
2125 typedef VkFlags VkImageViewCreateFlags;
2127 typedef enum VkShaderModuleCreateFlagBits {
2128 VK_SHADER_MODULE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2129 } VkShaderModuleCreateFlagBits;
2130 typedef VkFlags VkShaderModuleCreateFlags;
2132 typedef enum VkPipelineCacheCreateFlagBits {
2133 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT = 0x00000001,
2134 VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2135 } VkPipelineCacheCreateFlagBits;
2136 typedef VkFlags VkPipelineCacheCreateFlags;
2138 typedef enum VkColorComponentFlagBits {
2139 VK_COLOR_COMPONENT_R_BIT = 0x00000001,
2140 VK_COLOR_COMPONENT_G_BIT = 0x00000002,
2141 VK_COLOR_COMPONENT_B_BIT = 0x00000004,
2142 VK_COLOR_COMPONENT_A_BIT = 0x00000008,
2143 VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2144 } VkColorComponentFlagBits;
2145 typedef VkFlags VkColorComponentFlags;
2147 typedef enum VkPipelineCreateFlagBits {
2148 VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0x00000001,
2149 VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 0x00000002,
2150 VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0x00000004,
2151 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 0x00000008,
2152 VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 0x00000010,
2153 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 0x00004000,
2154 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 0x00008000,
2155 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 0x00010000,
2156 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR = 0x00020000,
2157 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR = 0x00001000,
2158 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR = 0x00002000,
2159 VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR = 0x00080000,
2160 VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV = 0x00000020,
2161 VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR = 0x00000040,
2162 VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 0x00000080,
2163 VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = 0x00040000,
2164 VK_PIPELINE_CREATE_LIBRARY_BIT_KHR = 0x00000800,
2165 VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = 0x00000100,
2166 VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = 0x00000200,
2167 VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV = 0x00100000,
2168 VK_PIPELINE_CREATE_DISPATCH_BASE = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT,
2169 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT,
2170 VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = VK_PIPELINE_CREATE_DISPATCH_BASE,
2171 VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2172 } VkPipelineCreateFlagBits;
2173 typedef VkFlags VkPipelineCreateFlags;
2175 typedef enum VkPipelineShaderStageCreateFlagBits {
2176 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = 0x00000001,
2177 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = 0x00000002,
2178 VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2179 } VkPipelineShaderStageCreateFlagBits;
2180 typedef VkFlags VkPipelineShaderStageCreateFlags;
2182 typedef enum VkShaderStageFlagBits {
2183 VK_SHADER_STAGE_VERTEX_BIT = 0x00000001,
2184 VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 0x00000002,
2185 VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 0x00000004,
2186 VK_SHADER_STAGE_GEOMETRY_BIT = 0x00000008,
2187 VK_SHADER_STAGE_FRAGMENT_BIT = 0x00000010,
2188 VK_SHADER_STAGE_COMPUTE_BIT = 0x00000020,
2189 VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001F,
2190 VK_SHADER_STAGE_ALL = 0x7FFFFFFF,
2191 VK_SHADER_STAGE_RAYGEN_BIT_KHR = 0x00000100,
2192 VK_SHADER_STAGE_ANY_HIT_BIT_KHR = 0x00000200,
2193 VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR = 0x00000400,
2194 VK_SHADER_STAGE_MISS_BIT_KHR = 0x00000800,
2195 VK_SHADER_STAGE_INTERSECTION_BIT_KHR = 0x00001000,
2196 VK_SHADER_STAGE_CALLABLE_BIT_KHR = 0x00002000,
2197 VK_SHADER_STAGE_TASK_BIT_NV = 0x00000040,
2198 VK_SHADER_STAGE_MESH_BIT_NV = 0x00000080,
2199 VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI = 0x00004000,
2200 VK_SHADER_STAGE_RAYGEN_BIT_NV = VK_SHADER_STAGE_RAYGEN_BIT_KHR,
2201 VK_SHADER_STAGE_ANY_HIT_BIT_NV = VK_SHADER_STAGE_ANY_HIT_BIT_KHR,
2202 VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV = VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR,
2203 VK_SHADER_STAGE_MISS_BIT_NV = VK_SHADER_STAGE_MISS_BIT_KHR,
2204 VK_SHADER_STAGE_INTERSECTION_BIT_NV = VK_SHADER_STAGE_INTERSECTION_BIT_KHR,
2205 VK_SHADER_STAGE_CALLABLE_BIT_NV = VK_SHADER_STAGE_CALLABLE_BIT_KHR,
2206 VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2207 } VkShaderStageFlagBits;
2209 typedef enum VkCullModeFlagBits {
2210 VK_CULL_MODE_NONE = 0,
2211 VK_CULL_MODE_FRONT_BIT = 0x00000001,
2212 VK_CULL_MODE_BACK_BIT = 0x00000002,
2213 VK_CULL_MODE_FRONT_AND_BACK = 0x00000003,
2214 VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2215 } VkCullModeFlagBits;
2216 typedef VkFlags VkCullModeFlags;
2217 typedef VkFlags VkPipelineVertexInputStateCreateFlags;
2218 typedef VkFlags VkPipelineInputAssemblyStateCreateFlags;
2219 typedef VkFlags VkPipelineTessellationStateCreateFlags;
2220 typedef VkFlags VkPipelineViewportStateCreateFlags;
2221 typedef VkFlags VkPipelineRasterizationStateCreateFlags;
2222 typedef VkFlags VkPipelineMultisampleStateCreateFlags;
2223 typedef VkFlags VkPipelineDepthStencilStateCreateFlags;
2224 typedef VkFlags VkPipelineColorBlendStateCreateFlags;
2225 typedef VkFlags VkPipelineDynamicStateCreateFlags;
2226 typedef VkFlags VkPipelineLayoutCreateFlags;
2227 typedef VkFlags VkShaderStageFlags;
2229 typedef enum VkSamplerCreateFlagBits {
2230 VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT = 0x00000001,
2231 VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT = 0x00000002,
2232 VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2233 } VkSamplerCreateFlagBits;
2234 typedef VkFlags VkSamplerCreateFlags;
2236 typedef enum VkDescriptorPoolCreateFlagBits {
2237 VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001,
2238 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT = 0x00000002,
2239 VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE = 0x00000004,
2240 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT,
2241 VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2242 } VkDescriptorPoolCreateFlagBits;
2243 typedef VkFlags VkDescriptorPoolCreateFlags;
2244 typedef VkFlags VkDescriptorPoolResetFlags;
2246 typedef enum VkDescriptorSetLayoutCreateFlagBits {
2247 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT = 0x00000002,
2248 VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = 0x00000001,
2249 VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE = 0x00000004,
2250 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT,
2251 VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2252 } VkDescriptorSetLayoutCreateFlagBits;
2253 typedef VkFlags VkDescriptorSetLayoutCreateFlags;
2255 typedef enum VkAttachmentDescriptionFlagBits {
2256 VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001,
2257 VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2258 } VkAttachmentDescriptionFlagBits;
2259 typedef VkFlags VkAttachmentDescriptionFlags;
2261 typedef enum VkDependencyFlagBits {
2262 VK_DEPENDENCY_BY_REGION_BIT = 0x00000001,
2263 VK_DEPENDENCY_DEVICE_GROUP_BIT = 0x00000004,
2264 VK_DEPENDENCY_VIEW_LOCAL_BIT = 0x00000002,
2265 VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR = VK_DEPENDENCY_VIEW_LOCAL_BIT,
2266 VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR = VK_DEPENDENCY_DEVICE_GROUP_BIT,
2267 VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2268 } VkDependencyFlagBits;
2269 typedef VkFlags VkDependencyFlags;
2271 typedef enum VkFramebufferCreateFlagBits {
2272 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT = 0x00000001,
2273 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR = VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT,
2274 VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2275 } VkFramebufferCreateFlagBits;
2276 typedef VkFlags VkFramebufferCreateFlags;
2278 typedef enum VkRenderPassCreateFlagBits {
2279 VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM = 0x00000002,
2280 VK_RENDER_PASS_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2281 } VkRenderPassCreateFlagBits;
2282 typedef VkFlags VkRenderPassCreateFlags;
2284 typedef enum VkSubpassDescriptionFlagBits {
2285 VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX = 0x00000001,
2286 VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 0x00000002,
2287 VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM = 0x00000004,
2288 VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM = 0x00000008,
2289 VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2290 } VkSubpassDescriptionFlagBits;
2291 typedef VkFlags VkSubpassDescriptionFlags;
2293 typedef enum VkCommandPoolCreateFlagBits {
2294 VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 0x00000001,
2295 VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002,
2296 VK_COMMAND_POOL_CREATE_PROTECTED_BIT = 0x00000004,
2297 VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2298 } VkCommandPoolCreateFlagBits;
2299 typedef VkFlags VkCommandPoolCreateFlags;
2301 typedef enum VkCommandPoolResetFlagBits {
2302 VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
2303 VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2304 } VkCommandPoolResetFlagBits;
2305 typedef VkFlags VkCommandPoolResetFlags;
2307 typedef enum VkCommandBufferUsageFlagBits {
2308 VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 0x00000001,
2309 VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 0x00000002,
2310 VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 0x00000004,
2311 VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2312 } VkCommandBufferUsageFlagBits;
2313 typedef VkFlags VkCommandBufferUsageFlags;
2315 typedef enum VkQueryControlFlagBits {
2316 VK_QUERY_CONTROL_PRECISE_BIT = 0x00000001,
2317 VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2318 } VkQueryControlFlagBits;
2319 typedef VkFlags VkQueryControlFlags;
2321 typedef enum VkCommandBufferResetFlagBits {
2322 VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
2323 VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2324 } VkCommandBufferResetFlagBits;
2325 typedef VkFlags VkCommandBufferResetFlags;
2327 typedef enum VkStencilFaceFlagBits {
2328 VK_STENCIL_FACE_FRONT_BIT = 0x00000001,
2329 VK_STENCIL_FACE_BACK_BIT = 0x00000002,
2330 VK_STENCIL_FACE_FRONT_AND_BACK = 0x00000003,
2331 VK_STENCIL_FRONT_AND_BACK = VK_STENCIL_FACE_FRONT_AND_BACK,
2332 VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2333 } VkStencilFaceFlagBits;
2334 typedef VkFlags VkStencilFaceFlags;
2335 typedef struct VkExtent2D {
2340 typedef struct VkExtent3D {
2346 typedef struct VkOffset2D {
2351 typedef struct VkOffset3D {
2357 typedef struct VkRect2D {
2362 typedef struct VkBaseInStructure {
2363 VkStructureType sType;
2364 const struct VkBaseInStructure* pNext;
2365 } VkBaseInStructure;
2367 typedef struct VkBaseOutStructure {
2368 VkStructureType sType;
2369 struct VkBaseOutStructure* pNext;
2370 } VkBaseOutStructure;
2372 typedef struct VkBufferMemoryBarrier {
2373 VkStructureType sType;
2375 VkAccessFlags srcAccessMask;
2376 VkAccessFlags dstAccessMask;
2377 uint32_t srcQueueFamilyIndex;
2378 uint32_t dstQueueFamilyIndex;
2380 VkDeviceSize offset;
2382 } VkBufferMemoryBarrier;
2384 typedef struct VkDispatchIndirectCommand {
2388 } VkDispatchIndirectCommand;
2390 typedef struct VkDrawIndexedIndirectCommand {
2391 uint32_t indexCount;
2392 uint32_t instanceCount;
2393 uint32_t firstIndex;
2394 int32_t vertexOffset;
2395 uint32_t firstInstance;
2396 } VkDrawIndexedIndirectCommand;
2398 typedef struct VkDrawIndirectCommand {
2399 uint32_t vertexCount;
2400 uint32_t instanceCount;
2401 uint32_t firstVertex;
2402 uint32_t firstInstance;
2403 } VkDrawIndirectCommand;
2405 typedef struct VkImageSubresourceRange {
2406 VkImageAspectFlags aspectMask;
2407 uint32_t baseMipLevel;
2408 uint32_t levelCount;
2409 uint32_t baseArrayLayer;
2410 uint32_t layerCount;
2411 } VkImageSubresourceRange;
2413 typedef struct VkImageMemoryBarrier {
2414 VkStructureType sType;
2416 VkAccessFlags srcAccessMask;
2417 VkAccessFlags dstAccessMask;
2418 VkImageLayout oldLayout;
2419 VkImageLayout newLayout;
2420 uint32_t srcQueueFamilyIndex;
2421 uint32_t dstQueueFamilyIndex;
2423 VkImageSubresourceRange subresourceRange;
2424 } VkImageMemoryBarrier;
2426 typedef struct VkMemoryBarrier {
2427 VkStructureType sType;
2429 VkAccessFlags srcAccessMask;
2430 VkAccessFlags dstAccessMask;
2433 typedef struct VkPipelineCacheHeaderVersionOne {
2434 uint32_t headerSize;
2435 VkPipelineCacheHeaderVersion headerVersion;
2438 uint8_t pipelineCacheUUID[VK_UUID_SIZE];
2439 } VkPipelineCacheHeaderVersionOne;
2441 typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
2445 VkSystemAllocationScope allocationScope);
2447 typedef void (VKAPI_PTR *PFN_vkFreeFunction)(
2451 typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(
2454 VkInternalAllocationType allocationType,
2455 VkSystemAllocationScope allocationScope);
2457 typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(
2460 VkInternalAllocationType allocationType,
2461 VkSystemAllocationScope allocationScope);
2463 typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
2468 VkSystemAllocationScope allocationScope);
2470 typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
2471 typedef struct VkAllocationCallbacks {
2473 PFN_vkAllocationFunction pfnAllocation;
2474 PFN_vkReallocationFunction pfnReallocation;
2475 PFN_vkFreeFunction pfnFree;
2476 PFN_vkInternalAllocationNotification pfnInternalAllocation;
2477 PFN_vkInternalFreeNotification pfnInternalFree;
2478 } VkAllocationCallbacks;
2480 typedef struct VkApplicationInfo {
2481 VkStructureType sType;
2483 const char* pApplicationName;
2484 uint32_t applicationVersion;
2485 const char* pEngineName;
2486 uint32_t engineVersion;
2487 uint32_t apiVersion;
2488 } VkApplicationInfo;
2490 typedef struct VkFormatProperties {
2491 VkFormatFeatureFlags linearTilingFeatures;
2492 VkFormatFeatureFlags optimalTilingFeatures;
2493 VkFormatFeatureFlags bufferFeatures;
2494 } VkFormatProperties;
2496 typedef struct VkImageFormatProperties {
2497 VkExtent3D maxExtent;
2498 uint32_t maxMipLevels;
2499 uint32_t maxArrayLayers;
2500 VkSampleCountFlags sampleCounts;
2501 VkDeviceSize maxResourceSize;
2502 } VkImageFormatProperties;
2504 typedef struct VkInstanceCreateInfo {
2505 VkStructureType sType;
2507 VkInstanceCreateFlags flags;
2508 const VkApplicationInfo* pApplicationInfo;
2509 uint32_t enabledLayerCount;
2510 const char* const* ppEnabledLayerNames;
2511 uint32_t enabledExtensionCount;
2512 const char* const* ppEnabledExtensionNames;
2513 } VkInstanceCreateInfo;
2515 typedef struct VkMemoryHeap {
2517 VkMemoryHeapFlags flags;
2520 typedef struct VkMemoryType {
2521 VkMemoryPropertyFlags propertyFlags;
2525 typedef struct VkPhysicalDeviceFeatures {
2526 VkBool32 robustBufferAccess;
2527 VkBool32 fullDrawIndexUint32;
2528 VkBool32 imageCubeArray;
2529 VkBool32 independentBlend;
2530 VkBool32 geometryShader;
2531 VkBool32 tessellationShader;
2532 VkBool32 sampleRateShading;
2533 VkBool32 dualSrcBlend;
2535 VkBool32 multiDrawIndirect;
2536 VkBool32 drawIndirectFirstInstance;
2537 VkBool32 depthClamp;
2538 VkBool32 depthBiasClamp;
2539 VkBool32 fillModeNonSolid;
2540 VkBool32 depthBounds;
2542 VkBool32 largePoints;
2543 VkBool32 alphaToOne;
2544 VkBool32 multiViewport;
2545 VkBool32 samplerAnisotropy;
2546 VkBool32 textureCompressionETC2;
2547 VkBool32 textureCompressionASTC_LDR;
2548 VkBool32 textureCompressionBC;
2549 VkBool32 occlusionQueryPrecise;
2550 VkBool32 pipelineStatisticsQuery;
2551 VkBool32 vertexPipelineStoresAndAtomics;
2552 VkBool32 fragmentStoresAndAtomics;
2553 VkBool32 shaderTessellationAndGeometryPointSize;
2554 VkBool32 shaderImageGatherExtended;
2555 VkBool32 shaderStorageImageExtendedFormats;
2556 VkBool32 shaderStorageImageMultisample;
2557 VkBool32 shaderStorageImageReadWithoutFormat;
2558 VkBool32 shaderStorageImageWriteWithoutFormat;
2559 VkBool32 shaderUniformBufferArrayDynamicIndexing;
2560 VkBool32 shaderSampledImageArrayDynamicIndexing;
2561 VkBool32 shaderStorageBufferArrayDynamicIndexing;
2562 VkBool32 shaderStorageImageArrayDynamicIndexing;
2563 VkBool32 shaderClipDistance;
2564 VkBool32 shaderCullDistance;
2565 VkBool32 shaderFloat64;
2566 VkBool32 shaderInt64;
2567 VkBool32 shaderInt16;
2568 VkBool32 shaderResourceResidency;
2569 VkBool32 shaderResourceMinLod;
2570 VkBool32 sparseBinding;
2571 VkBool32 sparseResidencyBuffer;
2572 VkBool32 sparseResidencyImage2D;
2573 VkBool32 sparseResidencyImage3D;
2574 VkBool32 sparseResidency2Samples;
2575 VkBool32 sparseResidency4Samples;
2576 VkBool32 sparseResidency8Samples;
2577 VkBool32 sparseResidency16Samples;
2578 VkBool32 sparseResidencyAliased;
2579 VkBool32 variableMultisampleRate;
2580 VkBool32 inheritedQueries;
2581 } VkPhysicalDeviceFeatures;
2583 typedef struct VkPhysicalDeviceLimits {
2584 uint32_t maxImageDimension1D;
2585 uint32_t maxImageDimension2D;
2586 uint32_t maxImageDimension3D;
2587 uint32_t maxImageDimensionCube;
2588 uint32_t maxImageArrayLayers;
2589 uint32_t maxTexelBufferElements;
2590 uint32_t maxUniformBufferRange;
2591 uint32_t maxStorageBufferRange;
2592 uint32_t maxPushConstantsSize;
2593 uint32_t maxMemoryAllocationCount;
2594 uint32_t maxSamplerAllocationCount;
2595 VkDeviceSize bufferImageGranularity;
2596 VkDeviceSize sparseAddressSpaceSize;
2597 uint32_t maxBoundDescriptorSets;
2598 uint32_t maxPerStageDescriptorSamplers;
2599 uint32_t maxPerStageDescriptorUniformBuffers;
2600 uint32_t maxPerStageDescriptorStorageBuffers;
2601 uint32_t maxPerStageDescriptorSampledImages;
2602 uint32_t maxPerStageDescriptorStorageImages;
2603 uint32_t maxPerStageDescriptorInputAttachments;
2604 uint32_t maxPerStageResources;
2605 uint32_t maxDescriptorSetSamplers;
2606 uint32_t maxDescriptorSetUniformBuffers;
2607 uint32_t maxDescriptorSetUniformBuffersDynamic;
2608 uint32_t maxDescriptorSetStorageBuffers;
2609 uint32_t maxDescriptorSetStorageBuffersDynamic;
2610 uint32_t maxDescriptorSetSampledImages;
2611 uint32_t maxDescriptorSetStorageImages;
2612 uint32_t maxDescriptorSetInputAttachments;
2613 uint32_t maxVertexInputAttributes;
2614 uint32_t maxVertexInputBindings;
2615 uint32_t maxVertexInputAttributeOffset;
2616 uint32_t maxVertexInputBindingStride;
2617 uint32_t maxVertexOutputComponents;
2618 uint32_t maxTessellationGenerationLevel;
2619 uint32_t maxTessellationPatchSize;
2620 uint32_t maxTessellationControlPerVertexInputComponents;
2621 uint32_t maxTessellationControlPerVertexOutputComponents;
2622 uint32_t maxTessellationControlPerPatchOutputComponents;
2623 uint32_t maxTessellationControlTotalOutputComponents;
2624 uint32_t maxTessellationEvaluationInputComponents;
2625 uint32_t maxTessellationEvaluationOutputComponents;
2626 uint32_t maxGeometryShaderInvocations;
2627 uint32_t maxGeometryInputComponents;
2628 uint32_t maxGeometryOutputComponents;
2629 uint32_t maxGeometryOutputVertices;
2630 uint32_t maxGeometryTotalOutputComponents;
2631 uint32_t maxFragmentInputComponents;
2632 uint32_t maxFragmentOutputAttachments;
2633 uint32_t maxFragmentDualSrcAttachments;
2634 uint32_t maxFragmentCombinedOutputResources;
2635 uint32_t maxComputeSharedMemorySize;
2636 uint32_t maxComputeWorkGroupCount[3];
2637 uint32_t maxComputeWorkGroupInvocations;
2638 uint32_t maxComputeWorkGroupSize[3];
2639 uint32_t subPixelPrecisionBits;
2640 uint32_t subTexelPrecisionBits;
2641 uint32_t mipmapPrecisionBits;
2642 uint32_t maxDrawIndexedIndexValue;
2643 uint32_t maxDrawIndirectCount;
2644 float maxSamplerLodBias;
2645 float maxSamplerAnisotropy;
2646 uint32_t maxViewports;
2647 uint32_t maxViewportDimensions[2];
2648 float viewportBoundsRange[2];
2649 uint32_t viewportSubPixelBits;
2650 size_t minMemoryMapAlignment;
2651 VkDeviceSize minTexelBufferOffsetAlignment;
2652 VkDeviceSize minUniformBufferOffsetAlignment;
2653 VkDeviceSize minStorageBufferOffsetAlignment;
2654 int32_t minTexelOffset;
2655 uint32_t maxTexelOffset;
2656 int32_t minTexelGatherOffset;
2657 uint32_t maxTexelGatherOffset;
2658 float minInterpolationOffset;
2659 float maxInterpolationOffset;
2660 uint32_t subPixelInterpolationOffsetBits;
2661 uint32_t maxFramebufferWidth;
2662 uint32_t maxFramebufferHeight;
2663 uint32_t maxFramebufferLayers;
2664 VkSampleCountFlags framebufferColorSampleCounts;
2665 VkSampleCountFlags framebufferDepthSampleCounts;
2666 VkSampleCountFlags framebufferStencilSampleCounts;
2667 VkSampleCountFlags framebufferNoAttachmentsSampleCounts;
2668 uint32_t maxColorAttachments;
2669 VkSampleCountFlags sampledImageColorSampleCounts;
2670 VkSampleCountFlags sampledImageIntegerSampleCounts;
2671 VkSampleCountFlags sampledImageDepthSampleCounts;
2672 VkSampleCountFlags sampledImageStencilSampleCounts;
2673 VkSampleCountFlags storageImageSampleCounts;
2674 uint32_t maxSampleMaskWords;
2675 VkBool32 timestampComputeAndGraphics;
2676 float timestampPeriod;
2677 uint32_t maxClipDistances;
2678 uint32_t maxCullDistances;
2679 uint32_t maxCombinedClipAndCullDistances;
2680 uint32_t discreteQueuePriorities;
2681 float pointSizeRange[2];
2682 float lineWidthRange[2];
2683 float pointSizeGranularity;
2684 float lineWidthGranularity;
2685 VkBool32 strictLines;
2686 VkBool32 standardSampleLocations;
2687 VkDeviceSize optimalBufferCopyOffsetAlignment;
2688 VkDeviceSize optimalBufferCopyRowPitchAlignment;
2689 VkDeviceSize nonCoherentAtomSize;
2690 } VkPhysicalDeviceLimits;
2692 typedef struct VkPhysicalDeviceMemoryProperties {
2693 uint32_t memoryTypeCount;
2694 VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES];
2695 uint32_t memoryHeapCount;
2696 VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS];
2697 } VkPhysicalDeviceMemoryProperties;
2699 typedef struct VkPhysicalDeviceSparseProperties {
2700 VkBool32 residencyStandard2DBlockShape;
2701 VkBool32 residencyStandard2DMultisampleBlockShape;
2702 VkBool32 residencyStandard3DBlockShape;
2703 VkBool32 residencyAlignedMipSize;
2704 VkBool32 residencyNonResidentStrict;
2705 } VkPhysicalDeviceSparseProperties;
2707 typedef struct VkPhysicalDeviceProperties {
2708 uint32_t apiVersion;
2709 uint32_t driverVersion;
2712 VkPhysicalDeviceType deviceType;
2713 char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
2714 uint8_t pipelineCacheUUID[VK_UUID_SIZE];
2715 VkPhysicalDeviceLimits limits;
2716 VkPhysicalDeviceSparseProperties sparseProperties;
2717 } VkPhysicalDeviceProperties;
2719 typedef struct VkQueueFamilyProperties {
2720 VkQueueFlags queueFlags;
2721 uint32_t queueCount;
2722 uint32_t timestampValidBits;
2723 VkExtent3D minImageTransferGranularity;
2724 } VkQueueFamilyProperties;
2726 typedef struct VkDeviceQueueCreateInfo {
2727 VkStructureType sType;
2729 VkDeviceQueueCreateFlags flags;
2730 uint32_t queueFamilyIndex;
2731 uint32_t queueCount;
2732 const float* pQueuePriorities;
2733 } VkDeviceQueueCreateInfo;
2735 typedef struct VkDeviceCreateInfo {
2736 VkStructureType sType;
2738 VkDeviceCreateFlags flags;
2739 uint32_t queueCreateInfoCount;
2740 const VkDeviceQueueCreateInfo* pQueueCreateInfos;
2741 uint32_t enabledLayerCount;
2742 const char* const* ppEnabledLayerNames;
2743 uint32_t enabledExtensionCount;
2744 const char* const* ppEnabledExtensionNames;
2745 const VkPhysicalDeviceFeatures* pEnabledFeatures;
2746 } VkDeviceCreateInfo;
2748 typedef struct VkExtensionProperties {
2749 char extensionName[VK_MAX_EXTENSION_NAME_SIZE];
2750 uint32_t specVersion;
2751 } VkExtensionProperties;
2753 typedef struct VkLayerProperties {
2754 char layerName[VK_MAX_EXTENSION_NAME_SIZE];
2755 uint32_t specVersion;
2756 uint32_t implementationVersion;
2757 char description[VK_MAX_DESCRIPTION_SIZE];
2758 } VkLayerProperties;
2760 typedef struct VkSubmitInfo {
2761 VkStructureType sType;
2763 uint32_t waitSemaphoreCount;
2764 const VkSemaphore* pWaitSemaphores;
2765 const VkPipelineStageFlags* pWaitDstStageMask;
2766 uint32_t commandBufferCount;
2767 const VkCommandBuffer* pCommandBuffers;
2768 uint32_t signalSemaphoreCount;
2769 const VkSemaphore* pSignalSemaphores;
2772 typedef struct VkMappedMemoryRange {
2773 VkStructureType sType;
2775 VkDeviceMemory memory;
2776 VkDeviceSize offset;
2778 } VkMappedMemoryRange;
2780 typedef struct VkMemoryAllocateInfo {
2781 VkStructureType sType;
2783 VkDeviceSize allocationSize;
2784 uint32_t memoryTypeIndex;
2785 } VkMemoryAllocateInfo;
2787 typedef struct VkMemoryRequirements {
2789 VkDeviceSize alignment;
2790 uint32_t memoryTypeBits;
2791 } VkMemoryRequirements;
2793 typedef struct VkSparseMemoryBind {
2794 VkDeviceSize resourceOffset;
2796 VkDeviceMemory memory;
2797 VkDeviceSize memoryOffset;
2798 VkSparseMemoryBindFlags flags;
2799 } VkSparseMemoryBind;
2801 typedef struct VkSparseBufferMemoryBindInfo {
2804 const VkSparseMemoryBind* pBinds;
2805 } VkSparseBufferMemoryBindInfo;
2807 typedef struct VkSparseImageOpaqueMemoryBindInfo {
2810 const VkSparseMemoryBind* pBinds;
2811 } VkSparseImageOpaqueMemoryBindInfo;
2813 typedef struct VkImageSubresource {
2814 VkImageAspectFlags aspectMask;
2816 uint32_t arrayLayer;
2817 } VkImageSubresource;
2819 typedef struct VkSparseImageMemoryBind {
2820 VkImageSubresource subresource;
2823 VkDeviceMemory memory;
2824 VkDeviceSize memoryOffset;
2825 VkSparseMemoryBindFlags flags;
2826 } VkSparseImageMemoryBind;
2828 typedef struct VkSparseImageMemoryBindInfo {
2831 const VkSparseImageMemoryBind* pBinds;
2832 } VkSparseImageMemoryBindInfo;
2834 typedef struct VkBindSparseInfo {
2835 VkStructureType sType;
2837 uint32_t waitSemaphoreCount;
2838 const VkSemaphore* pWaitSemaphores;
2839 uint32_t bufferBindCount;
2840 const VkSparseBufferMemoryBindInfo* pBufferBinds;
2841 uint32_t imageOpaqueBindCount;
2842 const VkSparseImageOpaqueMemoryBindInfo* pImageOpaqueBinds;
2843 uint32_t imageBindCount;
2844 const VkSparseImageMemoryBindInfo* pImageBinds;
2845 uint32_t signalSemaphoreCount;
2846 const VkSemaphore* pSignalSemaphores;
2849 typedef struct VkSparseImageFormatProperties {
2850 VkImageAspectFlags aspectMask;
2851 VkExtent3D imageGranularity;
2852 VkSparseImageFormatFlags flags;
2853 } VkSparseImageFormatProperties;
2855 typedef struct VkSparseImageMemoryRequirements {
2856 VkSparseImageFormatProperties formatProperties;
2857 uint32_t imageMipTailFirstLod;
2858 VkDeviceSize imageMipTailSize;
2859 VkDeviceSize imageMipTailOffset;
2860 VkDeviceSize imageMipTailStride;
2861 } VkSparseImageMemoryRequirements;
2863 typedef struct VkFenceCreateInfo {
2864 VkStructureType sType;
2866 VkFenceCreateFlags flags;
2867 } VkFenceCreateInfo;
2869 typedef struct VkSemaphoreCreateInfo {
2870 VkStructureType sType;
2872 VkSemaphoreCreateFlags flags;
2873 } VkSemaphoreCreateInfo;
2875 typedef struct VkEventCreateInfo {
2876 VkStructureType sType;
2878 VkEventCreateFlags flags;
2879 } VkEventCreateInfo;
2881 typedef struct VkQueryPoolCreateInfo {
2882 VkStructureType sType;
2884 VkQueryPoolCreateFlags flags;
2885 VkQueryType queryType;
2886 uint32_t queryCount;
2887 VkQueryPipelineStatisticFlags pipelineStatistics;
2888 } VkQueryPoolCreateInfo;
2890 typedef struct VkBufferCreateInfo {
2891 VkStructureType sType;
2893 VkBufferCreateFlags flags;
2895 VkBufferUsageFlags usage;
2896 VkSharingMode sharingMode;
2897 uint32_t queueFamilyIndexCount;
2898 const uint32_t* pQueueFamilyIndices;
2899 } VkBufferCreateInfo;
2901 typedef struct VkBufferViewCreateInfo {
2902 VkStructureType sType;
2904 VkBufferViewCreateFlags flags;
2907 VkDeviceSize offset;
2909 } VkBufferViewCreateInfo;
2911 typedef struct VkImageCreateInfo {
2912 VkStructureType sType;
2914 VkImageCreateFlags flags;
2915 VkImageType imageType;
2919 uint32_t arrayLayers;
2920 VkSampleCountFlagBits samples;
2921 VkImageTiling tiling;
2922 VkImageUsageFlags usage;
2923 VkSharingMode sharingMode;
2924 uint32_t queueFamilyIndexCount;
2925 const uint32_t* pQueueFamilyIndices;
2926 VkImageLayout initialLayout;
2927 } VkImageCreateInfo;
2929 typedef struct VkSubresourceLayout {
2930 VkDeviceSize offset;
2932 VkDeviceSize rowPitch;
2933 VkDeviceSize arrayPitch;
2934 VkDeviceSize depthPitch;
2935 } VkSubresourceLayout;
2937 typedef struct VkComponentMapping {
2938 VkComponentSwizzle r;
2939 VkComponentSwizzle g;
2940 VkComponentSwizzle b;
2941 VkComponentSwizzle a;
2942 } VkComponentMapping;
2944 typedef struct VkImageViewCreateInfo {
2945 VkStructureType sType;
2947 VkImageViewCreateFlags flags;
2949 VkImageViewType viewType;
2951 VkComponentMapping components;
2952 VkImageSubresourceRange subresourceRange;
2953 } VkImageViewCreateInfo;
2955 typedef struct VkShaderModuleCreateInfo {
2956 VkStructureType sType;
2958 VkShaderModuleCreateFlags flags;
2960 const uint32_t* pCode;
2961 } VkShaderModuleCreateInfo;
2963 typedef struct VkPipelineCacheCreateInfo {
2964 VkStructureType sType;
2966 VkPipelineCacheCreateFlags flags;
2967 size_t initialDataSize;
2968 const void* pInitialData;
2969 } VkPipelineCacheCreateInfo;
2971 typedef struct VkSpecializationMapEntry {
2972 uint32_t constantID;
2975 } VkSpecializationMapEntry;
2977 typedef struct VkSpecializationInfo {
2978 uint32_t mapEntryCount;
2979 const VkSpecializationMapEntry* pMapEntries;
2982 } VkSpecializationInfo;
2984 typedef struct VkPipelineShaderStageCreateInfo {
2985 VkStructureType sType;
2987 VkPipelineShaderStageCreateFlags flags;
2988 VkShaderStageFlagBits stage;
2989 VkShaderModule module;
2991 const VkSpecializationInfo* pSpecializationInfo;
2992 } VkPipelineShaderStageCreateInfo;
2994 typedef struct VkComputePipelineCreateInfo {
2995 VkStructureType sType;
2997 VkPipelineCreateFlags flags;
2998 VkPipelineShaderStageCreateInfo stage;
2999 VkPipelineLayout layout;
3000 VkPipeline basePipelineHandle;
3001 int32_t basePipelineIndex;
3002 } VkComputePipelineCreateInfo;
3004 typedef struct VkVertexInputBindingDescription {
3007 VkVertexInputRate inputRate;
3008 } VkVertexInputBindingDescription;
3010 typedef struct VkVertexInputAttributeDescription {
3015 } VkVertexInputAttributeDescription;
3017 typedef struct VkPipelineVertexInputStateCreateInfo {
3018 VkStructureType sType;
3020 VkPipelineVertexInputStateCreateFlags flags;
3021 uint32_t vertexBindingDescriptionCount;
3022 const VkVertexInputBindingDescription* pVertexBindingDescriptions;
3023 uint32_t vertexAttributeDescriptionCount;
3024 const VkVertexInputAttributeDescription* pVertexAttributeDescriptions;
3025 } VkPipelineVertexInputStateCreateInfo;
3027 typedef struct VkPipelineInputAssemblyStateCreateInfo {
3028 VkStructureType sType;
3030 VkPipelineInputAssemblyStateCreateFlags flags;
3031 VkPrimitiveTopology topology;
3032 VkBool32 primitiveRestartEnable;
3033 } VkPipelineInputAssemblyStateCreateInfo;
3035 typedef struct VkPipelineTessellationStateCreateInfo {
3036 VkStructureType sType;
3038 VkPipelineTessellationStateCreateFlags flags;
3039 uint32_t patchControlPoints;
3040 } VkPipelineTessellationStateCreateInfo;
3042 typedef struct VkViewport {
3051 typedef struct VkPipelineViewportStateCreateInfo {
3052 VkStructureType sType;
3054 VkPipelineViewportStateCreateFlags flags;
3055 uint32_t viewportCount;
3056 const VkViewport* pViewports;
3057 uint32_t scissorCount;
3058 const VkRect2D* pScissors;
3059 } VkPipelineViewportStateCreateInfo;
3061 typedef struct VkPipelineRasterizationStateCreateInfo {
3062 VkStructureType sType;
3064 VkPipelineRasterizationStateCreateFlags flags;
3065 VkBool32 depthClampEnable;
3066 VkBool32 rasterizerDiscardEnable;
3067 VkPolygonMode polygonMode;
3068 VkCullModeFlags cullMode;
3069 VkFrontFace frontFace;
3070 VkBool32 depthBiasEnable;
3071 float depthBiasConstantFactor;
3072 float depthBiasClamp;
3073 float depthBiasSlopeFactor;
3075 } VkPipelineRasterizationStateCreateInfo;
3077 typedef struct VkPipelineMultisampleStateCreateInfo {
3078 VkStructureType sType;
3080 VkPipelineMultisampleStateCreateFlags flags;
3081 VkSampleCountFlagBits rasterizationSamples;
3082 VkBool32 sampleShadingEnable;
3083 float minSampleShading;
3084 const VkSampleMask* pSampleMask;
3085 VkBool32 alphaToCoverageEnable;
3086 VkBool32 alphaToOneEnable;
3087 } VkPipelineMultisampleStateCreateInfo;
3089 typedef struct VkStencilOpState {
3092 VkStencilOp depthFailOp;
3093 VkCompareOp compareOp;
3094 uint32_t compareMask;
3099 typedef struct VkPipelineDepthStencilStateCreateInfo {
3100 VkStructureType sType;
3102 VkPipelineDepthStencilStateCreateFlags flags;
3103 VkBool32 depthTestEnable;
3104 VkBool32 depthWriteEnable;
3105 VkCompareOp depthCompareOp;
3106 VkBool32 depthBoundsTestEnable;
3107 VkBool32 stencilTestEnable;
3108 VkStencilOpState front;
3109 VkStencilOpState back;
3110 float minDepthBounds;
3111 float maxDepthBounds;
3112 } VkPipelineDepthStencilStateCreateInfo;
3114 typedef struct VkPipelineColorBlendAttachmentState {
3115 VkBool32 blendEnable;
3116 VkBlendFactor srcColorBlendFactor;
3117 VkBlendFactor dstColorBlendFactor;
3118 VkBlendOp colorBlendOp;
3119 VkBlendFactor srcAlphaBlendFactor;
3120 VkBlendFactor dstAlphaBlendFactor;
3121 VkBlendOp alphaBlendOp;
3122 VkColorComponentFlags colorWriteMask;
3123 } VkPipelineColorBlendAttachmentState;
3125 typedef struct VkPipelineColorBlendStateCreateInfo {
3126 VkStructureType sType;
3128 VkPipelineColorBlendStateCreateFlags flags;
3129 VkBool32 logicOpEnable;
3131 uint32_t attachmentCount;
3132 const VkPipelineColorBlendAttachmentState* pAttachments;
3133 float blendConstants[4];
3134 } VkPipelineColorBlendStateCreateInfo;
3136 typedef struct VkPipelineDynamicStateCreateInfo {
3137 VkStructureType sType;
3139 VkPipelineDynamicStateCreateFlags flags;
3140 uint32_t dynamicStateCount;
3141 const VkDynamicState* pDynamicStates;
3142 } VkPipelineDynamicStateCreateInfo;
3144 typedef struct VkGraphicsPipelineCreateInfo {
3145 VkStructureType sType;
3147 VkPipelineCreateFlags flags;
3148 uint32_t stageCount;
3149 const VkPipelineShaderStageCreateInfo* pStages;
3150 const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
3151 const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState;
3152 const VkPipelineTessellationStateCreateInfo* pTessellationState;
3153 const VkPipelineViewportStateCreateInfo* pViewportState;
3154 const VkPipelineRasterizationStateCreateInfo* pRasterizationState;
3155 const VkPipelineMultisampleStateCreateInfo* pMultisampleState;
3156 const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState;
3157 const VkPipelineColorBlendStateCreateInfo* pColorBlendState;
3158 const VkPipelineDynamicStateCreateInfo* pDynamicState;
3159 VkPipelineLayout layout;
3160 VkRenderPass renderPass;
3162 VkPipeline basePipelineHandle;
3163 int32_t basePipelineIndex;
3164 } VkGraphicsPipelineCreateInfo;
3166 typedef struct VkPushConstantRange {
3167 VkShaderStageFlags stageFlags;
3170 } VkPushConstantRange;
3172 typedef struct VkPipelineLayoutCreateInfo {
3173 VkStructureType sType;
3175 VkPipelineLayoutCreateFlags flags;
3176 uint32_t setLayoutCount;
3177 const VkDescriptorSetLayout* pSetLayouts;
3178 uint32_t pushConstantRangeCount;
3179 const VkPushConstantRange* pPushConstantRanges;
3180 } VkPipelineLayoutCreateInfo;
3182 typedef struct VkSamplerCreateInfo {
3183 VkStructureType sType;
3185 VkSamplerCreateFlags flags;
3188 VkSamplerMipmapMode mipmapMode;
3189 VkSamplerAddressMode addressModeU;
3190 VkSamplerAddressMode addressModeV;
3191 VkSamplerAddressMode addressModeW;
3193 VkBool32 anisotropyEnable;
3194 float maxAnisotropy;
3195 VkBool32 compareEnable;
3196 VkCompareOp compareOp;
3199 VkBorderColor borderColor;
3200 VkBool32 unnormalizedCoordinates;
3201 } VkSamplerCreateInfo;
3203 typedef struct VkCopyDescriptorSet {
3204 VkStructureType sType;
3206 VkDescriptorSet srcSet;
3207 uint32_t srcBinding;
3208 uint32_t srcArrayElement;
3209 VkDescriptorSet dstSet;
3210 uint32_t dstBinding;
3211 uint32_t dstArrayElement;
3212 uint32_t descriptorCount;
3213 } VkCopyDescriptorSet;
3215 typedef struct VkDescriptorBufferInfo {
3217 VkDeviceSize offset;
3219 } VkDescriptorBufferInfo;
3221 typedef struct VkDescriptorImageInfo {
3223 VkImageView imageView;
3224 VkImageLayout imageLayout;
3225 } VkDescriptorImageInfo;
3227 typedef struct VkDescriptorPoolSize {
3228 VkDescriptorType type;
3229 uint32_t descriptorCount;
3230 } VkDescriptorPoolSize;
3232 typedef struct VkDescriptorPoolCreateInfo {
3233 VkStructureType sType;
3235 VkDescriptorPoolCreateFlags flags;
3237 uint32_t poolSizeCount;
3238 const VkDescriptorPoolSize* pPoolSizes;
3239 } VkDescriptorPoolCreateInfo;
3241 typedef struct VkDescriptorSetAllocateInfo {
3242 VkStructureType sType;
3244 VkDescriptorPool descriptorPool;
3245 uint32_t descriptorSetCount;
3246 const VkDescriptorSetLayout* pSetLayouts;
3247 } VkDescriptorSetAllocateInfo;
3249 typedef struct VkDescriptorSetLayoutBinding {
3251 VkDescriptorType descriptorType;
3252 uint32_t descriptorCount;
3253 VkShaderStageFlags stageFlags;
3254 const VkSampler* pImmutableSamplers;
3255 } VkDescriptorSetLayoutBinding;
3257 typedef struct VkDescriptorSetLayoutCreateInfo {
3258 VkStructureType sType;
3260 VkDescriptorSetLayoutCreateFlags flags;
3261 uint32_t bindingCount;
3262 const VkDescriptorSetLayoutBinding* pBindings;
3263 } VkDescriptorSetLayoutCreateInfo;
3265 typedef struct VkWriteDescriptorSet {
3266 VkStructureType sType;
3268 VkDescriptorSet dstSet;
3269 uint32_t dstBinding;
3270 uint32_t dstArrayElement;
3271 uint32_t descriptorCount;
3272 VkDescriptorType descriptorType;
3273 const VkDescriptorImageInfo* pImageInfo;
3274 const VkDescriptorBufferInfo* pBufferInfo;
3275 const VkBufferView* pTexelBufferView;
3276 } VkWriteDescriptorSet;
3278 typedef struct VkAttachmentDescription {
3279 VkAttachmentDescriptionFlags flags;
3281 VkSampleCountFlagBits samples;
3282 VkAttachmentLoadOp loadOp;
3283 VkAttachmentStoreOp storeOp;
3284 VkAttachmentLoadOp stencilLoadOp;
3285 VkAttachmentStoreOp stencilStoreOp;
3286 VkImageLayout initialLayout;
3287 VkImageLayout finalLayout;
3288 } VkAttachmentDescription;
3290 typedef struct VkAttachmentReference {
3291 uint32_t attachment;
3292 VkImageLayout layout;
3293 } VkAttachmentReference;
3295 typedef struct VkFramebufferCreateInfo {
3296 VkStructureType sType;
3298 VkFramebufferCreateFlags flags;
3299 VkRenderPass renderPass;
3300 uint32_t attachmentCount;
3301 const VkImageView* pAttachments;
3305 } VkFramebufferCreateInfo;
3307 typedef struct VkSubpassDescription {
3308 VkSubpassDescriptionFlags flags;
3309 VkPipelineBindPoint pipelineBindPoint;
3310 uint32_t inputAttachmentCount;
3311 const VkAttachmentReference* pInputAttachments;
3312 uint32_t colorAttachmentCount;
3313 const VkAttachmentReference* pColorAttachments;
3314 const VkAttachmentReference* pResolveAttachments;
3315 const VkAttachmentReference* pDepthStencilAttachment;
3316 uint32_t preserveAttachmentCount;
3317 const uint32_t* pPreserveAttachments;
3318 } VkSubpassDescription;
3320 typedef struct VkSubpassDependency {
3321 uint32_t srcSubpass;
3322 uint32_t dstSubpass;
3323 VkPipelineStageFlags srcStageMask;
3324 VkPipelineStageFlags dstStageMask;
3325 VkAccessFlags srcAccessMask;
3326 VkAccessFlags dstAccessMask;
3327 VkDependencyFlags dependencyFlags;
3328 } VkSubpassDependency;
3330 typedef struct VkRenderPassCreateInfo {
3331 VkStructureType sType;
3333 VkRenderPassCreateFlags flags;
3334 uint32_t attachmentCount;
3335 const VkAttachmentDescription* pAttachments;
3336 uint32_t subpassCount;
3337 const VkSubpassDescription* pSubpasses;
3338 uint32_t dependencyCount;
3339 const VkSubpassDependency* pDependencies;
3340 } VkRenderPassCreateInfo;
3342 typedef struct VkCommandPoolCreateInfo {
3343 VkStructureType sType;
3345 VkCommandPoolCreateFlags flags;
3346 uint32_t queueFamilyIndex;
3347 } VkCommandPoolCreateInfo;
3349 typedef struct VkCommandBufferAllocateInfo {
3350 VkStructureType sType;
3352 VkCommandPool commandPool;
3353 VkCommandBufferLevel level;
3354 uint32_t commandBufferCount;
3355 } VkCommandBufferAllocateInfo;
3357 typedef struct VkCommandBufferInheritanceInfo {
3358 VkStructureType sType;
3360 VkRenderPass renderPass;
3362 VkFramebuffer framebuffer;
3363 VkBool32 occlusionQueryEnable;
3364 VkQueryControlFlags queryFlags;
3365 VkQueryPipelineStatisticFlags pipelineStatistics;
3366 } VkCommandBufferInheritanceInfo;
3368 typedef struct VkCommandBufferBeginInfo {
3369 VkStructureType sType;
3371 VkCommandBufferUsageFlags flags;
3372 const VkCommandBufferInheritanceInfo* pInheritanceInfo;
3373 } VkCommandBufferBeginInfo;
3375 typedef struct VkBufferCopy {
3376 VkDeviceSize srcOffset;
3377 VkDeviceSize dstOffset;
3381 typedef struct VkImageSubresourceLayers {
3382 VkImageAspectFlags aspectMask;
3384 uint32_t baseArrayLayer;
3385 uint32_t layerCount;
3386 } VkImageSubresourceLayers;
3388 typedef struct VkBufferImageCopy {
3389 VkDeviceSize bufferOffset;
3390 uint32_t bufferRowLength;
3391 uint32_t bufferImageHeight;
3392 VkImageSubresourceLayers imageSubresource;
3393 VkOffset3D imageOffset;
3394 VkExtent3D imageExtent;
3395 } VkBufferImageCopy;
3397 typedef union VkClearColorValue {
3401 } VkClearColorValue;
3403 typedef struct VkClearDepthStencilValue {
3406 } VkClearDepthStencilValue;
3408 typedef union VkClearValue {
3409 VkClearColorValue color;
3410 VkClearDepthStencilValue depthStencil;
3413 typedef struct VkClearAttachment {
3414 VkImageAspectFlags aspectMask;
3415 uint32_t colorAttachment;
3416 VkClearValue clearValue;
3417 } VkClearAttachment;
3419 typedef struct VkClearRect {
3421 uint32_t baseArrayLayer;
3422 uint32_t layerCount;
3425 typedef struct VkImageBlit {
3426 VkImageSubresourceLayers srcSubresource;
3427 VkOffset3D srcOffsets[2];
3428 VkImageSubresourceLayers dstSubresource;
3429 VkOffset3D dstOffsets[2];
3432 typedef struct VkImageCopy {
3433 VkImageSubresourceLayers srcSubresource;
3434 VkOffset3D srcOffset;
3435 VkImageSubresourceLayers dstSubresource;
3436 VkOffset3D dstOffset;
3440 typedef struct VkImageResolve {
3441 VkImageSubresourceLayers srcSubresource;
3442 VkOffset3D srcOffset;
3443 VkImageSubresourceLayers dstSubresource;
3444 VkOffset3D dstOffset;
3448 typedef struct VkRenderPassBeginInfo {
3449 VkStructureType sType;
3451 VkRenderPass renderPass;
3452 VkFramebuffer framebuffer;
3453 VkRect2D renderArea;
3454 uint32_t clearValueCount;
3455 const VkClearValue* pClearValues;
3456 } VkRenderPassBeginInfo;
3458 typedef VkResult (VKAPI_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance);
3459 typedef void (VKAPI_PTR *PFN_vkDestroyInstance)(VkInstance instance, const VkAllocationCallbacks* pAllocator);
3460 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDevices)(VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices);
3461 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures);
3462 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties);
3463 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties);
3464 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties);
3465 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties);
3466 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties);
3467 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddr)(VkInstance instance, const char* pName);
3468 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetDeviceProcAddr)(VkDevice device, const char* pName);
3469 typedef VkResult (VKAPI_PTR *PFN_vkCreateDevice)(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice);
3470 typedef void (VKAPI_PTR *PFN_vkDestroyDevice)(VkDevice device, const VkAllocationCallbacks* pAllocator);
3471 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceExtensionProperties)(const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties);
3472 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties);
3473 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceLayerProperties)(uint32_t* pPropertyCount, VkLayerProperties* pProperties);
3474 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties);
3475 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue)(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue);
3476 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence);
3477 typedef VkResult (VKAPI_PTR *PFN_vkQueueWaitIdle)(VkQueue queue);
3478 typedef VkResult (VKAPI_PTR *PFN_vkDeviceWaitIdle)(VkDevice device);
3479 typedef VkResult (VKAPI_PTR *PFN_vkAllocateMemory)(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory);
3480 typedef void (VKAPI_PTR *PFN_vkFreeMemory)(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator);
3481 typedef VkResult (VKAPI_PTR *PFN_vkMapMemory)(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData);
3482 typedef void (VKAPI_PTR *PFN_vkUnmapMemory)(VkDevice device, VkDeviceMemory memory);
3483 typedef VkResult (VKAPI_PTR *PFN_vkFlushMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
3484 typedef VkResult (VKAPI_PTR *PFN_vkInvalidateMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
3485 typedef void (VKAPI_PTR *PFN_vkGetDeviceMemoryCommitment)(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes);
3486 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory)(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset);
3487 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory)(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset);
3488 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements)(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements);
3489 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements)(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements);
3490 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements)(VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
3491 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties);
3492 typedef VkResult (VKAPI_PTR *PFN_vkQueueBindSparse)(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence);
3493 typedef VkResult (VKAPI_PTR *PFN_vkCreateFence)(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
3494 typedef void (VKAPI_PTR *PFN_vkDestroyFence)(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator);
3495 typedef VkResult (VKAPI_PTR *PFN_vkResetFences)(VkDevice device, uint32_t fenceCount, const VkFence* pFences);
3496 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceStatus)(VkDevice device, VkFence fence);
3497 typedef VkResult (VKAPI_PTR *PFN_vkWaitForFences)(VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout);
3498 typedef VkResult (VKAPI_PTR *PFN_vkCreateSemaphore)(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore);
3499 typedef void (VKAPI_PTR *PFN_vkDestroySemaphore)(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator);
3500 typedef VkResult (VKAPI_PTR *PFN_vkCreateEvent)(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent);
3501 typedef void (VKAPI_PTR *PFN_vkDestroyEvent)(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator);
3502 typedef VkResult (VKAPI_PTR *PFN_vkGetEventStatus)(VkDevice device, VkEvent event);
3503 typedef VkResult (VKAPI_PTR *PFN_vkSetEvent)(VkDevice device, VkEvent event);
3504 typedef VkResult (VKAPI_PTR *PFN_vkResetEvent)(VkDevice device, VkEvent event);
3505 typedef VkResult (VKAPI_PTR *PFN_vkCreateQueryPool)(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool);
3506 typedef void (VKAPI_PTR *PFN_vkDestroyQueryPool)(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator);
3507 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);
3508 typedef VkResult (VKAPI_PTR *PFN_vkCreateBuffer)(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer);
3509 typedef void (VKAPI_PTR *PFN_vkDestroyBuffer)(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator);
3510 typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferView)(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView);
3511 typedef void (VKAPI_PTR *PFN_vkDestroyBufferView)(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator);
3512 typedef VkResult (VKAPI_PTR *PFN_vkCreateImage)(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage);
3513 typedef void (VKAPI_PTR *PFN_vkDestroyImage)(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator);
3514 typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout)(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout);
3515 typedef VkResult (VKAPI_PTR *PFN_vkCreateImageView)(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView);
3516 typedef void (VKAPI_PTR *PFN_vkDestroyImageView)(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator);
3517 typedef VkResult (VKAPI_PTR *PFN_vkCreateShaderModule)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule);
3518 typedef void (VKAPI_PTR *PFN_vkDestroyShaderModule)(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator);
3519 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineCache)(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache);
3520 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineCache)(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator);
3521 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineCacheData)(VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData);
3522 typedef VkResult (VKAPI_PTR *PFN_vkMergePipelineCaches)(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches);
3523 typedef VkResult (VKAPI_PTR *PFN_vkCreateGraphicsPipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
3524 typedef VkResult (VKAPI_PTR *PFN_vkCreateComputePipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
3525 typedef void (VKAPI_PTR *PFN_vkDestroyPipeline)(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator);
3526 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineLayout)(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout);
3527 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineLayout)(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator);
3528 typedef VkResult (VKAPI_PTR *PFN_vkCreateSampler)(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler);
3529 typedef void (VKAPI_PTR *PFN_vkDestroySampler)(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator);
3530 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorSetLayout)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout);
3531 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorSetLayout)(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator);
3532 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorPool)(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool);
3533 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator);
3534 typedef VkResult (VKAPI_PTR *PFN_vkResetDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags);
3535 typedef VkResult (VKAPI_PTR *PFN_vkAllocateDescriptorSets)(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets);
3536 typedef VkResult (VKAPI_PTR *PFN_vkFreeDescriptorSets)(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets);
3537 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSets)(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies);
3538 typedef VkResult (VKAPI_PTR *PFN_vkCreateFramebuffer)(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer);
3539 typedef void (VKAPI_PTR *PFN_vkDestroyFramebuffer)(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator);
3540 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass)(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
3541 typedef void (VKAPI_PTR *PFN_vkDestroyRenderPass)(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator);
3542 typedef void (VKAPI_PTR *PFN_vkGetRenderAreaGranularity)(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity);
3543 typedef VkResult (VKAPI_PTR *PFN_vkCreateCommandPool)(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool);
3544 typedef void (VKAPI_PTR *PFN_vkDestroyCommandPool)(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator);
3545 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags);
3546 typedef VkResult (VKAPI_PTR *PFN_vkAllocateCommandBuffers)(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers);
3547 typedef void (VKAPI_PTR *PFN_vkFreeCommandBuffers)(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers);
3548 typedef VkResult (VKAPI_PTR *PFN_vkBeginCommandBuffer)(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo);
3549 typedef VkResult (VKAPI_PTR *PFN_vkEndCommandBuffer)(VkCommandBuffer commandBuffer);
3550 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandBuffer)(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags);
3551 typedef void (VKAPI_PTR *PFN_vkCmdBindPipeline)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline);
3552 typedef void (VKAPI_PTR *PFN_vkCmdSetViewport)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports);
3553 typedef void (VKAPI_PTR *PFN_vkCmdSetScissor)(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors);
3554 typedef void (VKAPI_PTR *PFN_vkCmdSetLineWidth)(VkCommandBuffer commandBuffer, float lineWidth);
3555 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias)(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor);
3556 typedef void (VKAPI_PTR *PFN_vkCmdSetBlendConstants)(VkCommandBuffer commandBuffer, const float blendConstants[4]);
3557 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBounds)(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds);
3558 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilCompareMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask);
3559 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilWriteMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask);
3560 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilReference)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference);
3561 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);
3562 typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType);
3563 typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets);
3564 typedef void (VKAPI_PTR *PFN_vkCmdDraw)(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance);
3565 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexed)(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance);
3566 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
3567 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
3568 typedef void (VKAPI_PTR *PFN_vkCmdDispatch)(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ);
3569 typedef void (VKAPI_PTR *PFN_vkCmdDispatchIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset);
3570 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions);
3571 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions);
3572 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter);
3573 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions);
3574 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions);
3575 typedef void (VKAPI_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData);
3576 typedef void (VKAPI_PTR *PFN_vkCmdFillBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data);
3577 typedef void (VKAPI_PTR *PFN_vkCmdClearColorImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges);
3578 typedef void (VKAPI_PTR *PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges);
3579 typedef void (VKAPI_PTR *PFN_vkCmdClearAttachments)(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects);
3580 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions);
3581 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
3582 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
3583 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);
3584 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);
3585 typedef void (VKAPI_PTR *PFN_vkCmdBeginQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags);
3586 typedef void (VKAPI_PTR *PFN_vkCmdEndQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query);
3587 typedef void (VKAPI_PTR *PFN_vkCmdResetQueryPool)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount);
3588 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query);
3589 typedef void (VKAPI_PTR *PFN_vkCmdCopyQueryPoolResults)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags);
3590 typedef void (VKAPI_PTR *PFN_vkCmdPushConstants)(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues);
3591 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents);
3592 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass)(VkCommandBuffer commandBuffer, VkSubpassContents contents);
3593 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass)(VkCommandBuffer commandBuffer);
3594 typedef void (VKAPI_PTR *PFN_vkCmdExecuteCommands)(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers);
3596 #ifndef VK_NO_PROTOTYPES
3597 VKAPI_ATTR VkResult VKAPI_CALL vkCreateInstance(
3598 const VkInstanceCreateInfo* pCreateInfo,
3599 const VkAllocationCallbacks* pAllocator,
3600 VkInstance* pInstance);
3602 VKAPI_ATTR void VKAPI_CALL vkDestroyInstance(
3603 VkInstance instance,
3604 const VkAllocationCallbacks* pAllocator);
3606 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDevices(
3607 VkInstance instance,
3608 uint32_t* pPhysicalDeviceCount,
3609 VkPhysicalDevice* pPhysicalDevices);
3611 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures(
3612 VkPhysicalDevice physicalDevice,
3613 VkPhysicalDeviceFeatures* pFeatures);
3615 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties(
3616 VkPhysicalDevice physicalDevice,
3618 VkFormatProperties* pFormatProperties);
3620 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties(
3621 VkPhysicalDevice physicalDevice,
3624 VkImageTiling tiling,
3625 VkImageUsageFlags usage,
3626 VkImageCreateFlags flags,
3627 VkImageFormatProperties* pImageFormatProperties);
3629 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties(
3630 VkPhysicalDevice physicalDevice,
3631 VkPhysicalDeviceProperties* pProperties);
3633 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties(
3634 VkPhysicalDevice physicalDevice,
3635 uint32_t* pQueueFamilyPropertyCount,
3636 VkQueueFamilyProperties* pQueueFamilyProperties);
3638 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties(
3639 VkPhysicalDevice physicalDevice,
3640 VkPhysicalDeviceMemoryProperties* pMemoryProperties);
3642 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr(
3643 VkInstance instance,
3646 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr(
3650 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDevice(
3651 VkPhysicalDevice physicalDevice,
3652 const VkDeviceCreateInfo* pCreateInfo,
3653 const VkAllocationCallbacks* pAllocator,
3656 VKAPI_ATTR void VKAPI_CALL vkDestroyDevice(
3658 const VkAllocationCallbacks* pAllocator);
3660 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionProperties(
3661 const char* pLayerName,
3662 uint32_t* pPropertyCount,
3663 VkExtensionProperties* pProperties);
3665 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceExtensionProperties(
3666 VkPhysicalDevice physicalDevice,
3667 const char* pLayerName,
3668 uint32_t* pPropertyCount,
3669 VkExtensionProperties* pProperties);
3671 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties(
3672 uint32_t* pPropertyCount,
3673 VkLayerProperties* pProperties);
3675 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceLayerProperties(
3676 VkPhysicalDevice physicalDevice,
3677 uint32_t* pPropertyCount,
3678 VkLayerProperties* pProperties);
3680 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue(
3682 uint32_t queueFamilyIndex,
3683 uint32_t queueIndex,
3686 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit(
3688 uint32_t submitCount,
3689 const VkSubmitInfo* pSubmits,
3692 VKAPI_ATTR VkResult VKAPI_CALL vkQueueWaitIdle(
3695 VKAPI_ATTR VkResult VKAPI_CALL vkDeviceWaitIdle(
3698 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateMemory(
3700 const VkMemoryAllocateInfo* pAllocateInfo,
3701 const VkAllocationCallbacks* pAllocator,
3702 VkDeviceMemory* pMemory);
3704 VKAPI_ATTR void VKAPI_CALL vkFreeMemory(
3706 VkDeviceMemory memory,
3707 const VkAllocationCallbacks* pAllocator);
3709 VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory(
3711 VkDeviceMemory memory,
3712 VkDeviceSize offset,
3714 VkMemoryMapFlags flags,
3717 VKAPI_ATTR void VKAPI_CALL vkUnmapMemory(
3719 VkDeviceMemory memory);
3721 VKAPI_ATTR VkResult VKAPI_CALL vkFlushMappedMemoryRanges(
3723 uint32_t memoryRangeCount,
3724 const VkMappedMemoryRange* pMemoryRanges);
3726 VKAPI_ATTR VkResult VKAPI_CALL vkInvalidateMappedMemoryRanges(
3728 uint32_t memoryRangeCount,
3729 const VkMappedMemoryRange* pMemoryRanges);
3731 VKAPI_ATTR void VKAPI_CALL vkGetDeviceMemoryCommitment(
3733 VkDeviceMemory memory,
3734 VkDeviceSize* pCommittedMemoryInBytes);
3736 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory(
3739 VkDeviceMemory memory,
3740 VkDeviceSize memoryOffset);
3742 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory(
3745 VkDeviceMemory memory,
3746 VkDeviceSize memoryOffset);
3748 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements(
3751 VkMemoryRequirements* pMemoryRequirements);
3753 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements(
3756 VkMemoryRequirements* pMemoryRequirements);
3758 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements(
3761 uint32_t* pSparseMemoryRequirementCount,
3762 VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
3764 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties(
3765 VkPhysicalDevice physicalDevice,
3768 VkSampleCountFlagBits samples,
3769 VkImageUsageFlags usage,
3770 VkImageTiling tiling,
3771 uint32_t* pPropertyCount,
3772 VkSparseImageFormatProperties* pProperties);
3774 VKAPI_ATTR VkResult VKAPI_CALL vkQueueBindSparse(
3776 uint32_t bindInfoCount,
3777 const VkBindSparseInfo* pBindInfo,
3780 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFence(
3782 const VkFenceCreateInfo* pCreateInfo,
3783 const VkAllocationCallbacks* pAllocator,
3786 VKAPI_ATTR void VKAPI_CALL vkDestroyFence(
3789 const VkAllocationCallbacks* pAllocator);
3791 VKAPI_ATTR VkResult VKAPI_CALL vkResetFences(
3793 uint32_t fenceCount,
3794 const VkFence* pFences);
3796 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceStatus(
3800 VKAPI_ATTR VkResult VKAPI_CALL vkWaitForFences(
3802 uint32_t fenceCount,
3803 const VkFence* pFences,
3807 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSemaphore(
3809 const VkSemaphoreCreateInfo* pCreateInfo,
3810 const VkAllocationCallbacks* pAllocator,
3811 VkSemaphore* pSemaphore);
3813 VKAPI_ATTR void VKAPI_CALL vkDestroySemaphore(
3815 VkSemaphore semaphore,
3816 const VkAllocationCallbacks* pAllocator);
3818 VKAPI_ATTR VkResult VKAPI_CALL vkCreateEvent(
3820 const VkEventCreateInfo* pCreateInfo,
3821 const VkAllocationCallbacks* pAllocator,
3824 VKAPI_ATTR void VKAPI_CALL vkDestroyEvent(
3827 const VkAllocationCallbacks* pAllocator);
3829 VKAPI_ATTR VkResult VKAPI_CALL vkGetEventStatus(
3833 VKAPI_ATTR VkResult VKAPI_CALL vkSetEvent(
3837 VKAPI_ATTR VkResult VKAPI_CALL vkResetEvent(
3841 VKAPI_ATTR VkResult VKAPI_CALL vkCreateQueryPool(
3843 const VkQueryPoolCreateInfo* pCreateInfo,
3844 const VkAllocationCallbacks* pAllocator,
3845 VkQueryPool* pQueryPool);
3847 VKAPI_ATTR void VKAPI_CALL vkDestroyQueryPool(
3849 VkQueryPool queryPool,
3850 const VkAllocationCallbacks* pAllocator);
3852 VKAPI_ATTR VkResult VKAPI_CALL vkGetQueryPoolResults(
3854 VkQueryPool queryPool,
3855 uint32_t firstQuery,
3856 uint32_t queryCount,
3859 VkDeviceSize stride,
3860 VkQueryResultFlags flags);
3862 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBuffer(
3864 const VkBufferCreateInfo* pCreateInfo,
3865 const VkAllocationCallbacks* pAllocator,
3868 VKAPI_ATTR void VKAPI_CALL vkDestroyBuffer(
3871 const VkAllocationCallbacks* pAllocator);
3873 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferView(
3875 const VkBufferViewCreateInfo* pCreateInfo,
3876 const VkAllocationCallbacks* pAllocator,
3877 VkBufferView* pView);
3879 VKAPI_ATTR void VKAPI_CALL vkDestroyBufferView(
3881 VkBufferView bufferView,
3882 const VkAllocationCallbacks* pAllocator);
3884 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImage(
3886 const VkImageCreateInfo* pCreateInfo,
3887 const VkAllocationCallbacks* pAllocator,
3890 VKAPI_ATTR void VKAPI_CALL vkDestroyImage(
3893 const VkAllocationCallbacks* pAllocator);
3895 VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout(
3898 const VkImageSubresource* pSubresource,
3899 VkSubresourceLayout* pLayout);
3901 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImageView(
3903 const VkImageViewCreateInfo* pCreateInfo,
3904 const VkAllocationCallbacks* pAllocator,
3905 VkImageView* pView);
3907 VKAPI_ATTR void VKAPI_CALL vkDestroyImageView(
3909 VkImageView imageView,
3910 const VkAllocationCallbacks* pAllocator);
3912 VKAPI_ATTR VkResult VKAPI_CALL vkCreateShaderModule(
3914 const VkShaderModuleCreateInfo* pCreateInfo,
3915 const VkAllocationCallbacks* pAllocator,
3916 VkShaderModule* pShaderModule);
3918 VKAPI_ATTR void VKAPI_CALL vkDestroyShaderModule(
3920 VkShaderModule shaderModule,
3921 const VkAllocationCallbacks* pAllocator);
3923 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineCache(
3925 const VkPipelineCacheCreateInfo* pCreateInfo,
3926 const VkAllocationCallbacks* pAllocator,
3927 VkPipelineCache* pPipelineCache);
3929 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineCache(
3931 VkPipelineCache pipelineCache,
3932 const VkAllocationCallbacks* pAllocator);
3934 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineCacheData(
3936 VkPipelineCache pipelineCache,
3940 VKAPI_ATTR VkResult VKAPI_CALL vkMergePipelineCaches(
3942 VkPipelineCache dstCache,
3943 uint32_t srcCacheCount,
3944 const VkPipelineCache* pSrcCaches);
3946 VKAPI_ATTR VkResult VKAPI_CALL vkCreateGraphicsPipelines(
3948 VkPipelineCache pipelineCache,
3949 uint32_t createInfoCount,
3950 const VkGraphicsPipelineCreateInfo* pCreateInfos,
3951 const VkAllocationCallbacks* pAllocator,
3952 VkPipeline* pPipelines);
3954 VKAPI_ATTR VkResult VKAPI_CALL vkCreateComputePipelines(
3956 VkPipelineCache pipelineCache,
3957 uint32_t createInfoCount,
3958 const VkComputePipelineCreateInfo* pCreateInfos,
3959 const VkAllocationCallbacks* pAllocator,
3960 VkPipeline* pPipelines);
3962 VKAPI_ATTR void VKAPI_CALL vkDestroyPipeline(
3964 VkPipeline pipeline,
3965 const VkAllocationCallbacks* pAllocator);
3967 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineLayout(
3969 const VkPipelineLayoutCreateInfo* pCreateInfo,
3970 const VkAllocationCallbacks* pAllocator,
3971 VkPipelineLayout* pPipelineLayout);
3973 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineLayout(
3975 VkPipelineLayout pipelineLayout,
3976 const VkAllocationCallbacks* pAllocator);
3978 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSampler(
3980 const VkSamplerCreateInfo* pCreateInfo,
3981 const VkAllocationCallbacks* pAllocator,
3982 VkSampler* pSampler);
3984 VKAPI_ATTR void VKAPI_CALL vkDestroySampler(
3987 const VkAllocationCallbacks* pAllocator);
3989 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorSetLayout(
3991 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
3992 const VkAllocationCallbacks* pAllocator,
3993 VkDescriptorSetLayout* pSetLayout);
3995 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorSetLayout(
3997 VkDescriptorSetLayout descriptorSetLayout,
3998 const VkAllocationCallbacks* pAllocator);
4000 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorPool(
4002 const VkDescriptorPoolCreateInfo* pCreateInfo,
4003 const VkAllocationCallbacks* pAllocator,
4004 VkDescriptorPool* pDescriptorPool);
4006 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorPool(
4008 VkDescriptorPool descriptorPool,
4009 const VkAllocationCallbacks* pAllocator);
4011 VKAPI_ATTR VkResult VKAPI_CALL vkResetDescriptorPool(
4013 VkDescriptorPool descriptorPool,
4014 VkDescriptorPoolResetFlags flags);
4016 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateDescriptorSets(
4018 const VkDescriptorSetAllocateInfo* pAllocateInfo,
4019 VkDescriptorSet* pDescriptorSets);
4021 VKAPI_ATTR VkResult VKAPI_CALL vkFreeDescriptorSets(
4023 VkDescriptorPool descriptorPool,
4024 uint32_t descriptorSetCount,
4025 const VkDescriptorSet* pDescriptorSets);
4027 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSets(
4029 uint32_t descriptorWriteCount,
4030 const VkWriteDescriptorSet* pDescriptorWrites,
4031 uint32_t descriptorCopyCount,
4032 const VkCopyDescriptorSet* pDescriptorCopies);
4034 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFramebuffer(
4036 const VkFramebufferCreateInfo* pCreateInfo,
4037 const VkAllocationCallbacks* pAllocator,
4038 VkFramebuffer* pFramebuffer);
4040 VKAPI_ATTR void VKAPI_CALL vkDestroyFramebuffer(
4042 VkFramebuffer framebuffer,
4043 const VkAllocationCallbacks* pAllocator);
4045 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass(
4047 const VkRenderPassCreateInfo* pCreateInfo,
4048 const VkAllocationCallbacks* pAllocator,
4049 VkRenderPass* pRenderPass);
4051 VKAPI_ATTR void VKAPI_CALL vkDestroyRenderPass(
4053 VkRenderPass renderPass,
4054 const VkAllocationCallbacks* pAllocator);
4056 VKAPI_ATTR void VKAPI_CALL vkGetRenderAreaGranularity(
4058 VkRenderPass renderPass,
4059 VkExtent2D* pGranularity);
4061 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCommandPool(
4063 const VkCommandPoolCreateInfo* pCreateInfo,
4064 const VkAllocationCallbacks* pAllocator,
4065 VkCommandPool* pCommandPool);
4067 VKAPI_ATTR void VKAPI_CALL vkDestroyCommandPool(
4069 VkCommandPool commandPool,
4070 const VkAllocationCallbacks* pAllocator);
4072 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandPool(
4074 VkCommandPool commandPool,
4075 VkCommandPoolResetFlags flags);
4077 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateCommandBuffers(
4079 const VkCommandBufferAllocateInfo* pAllocateInfo,
4080 VkCommandBuffer* pCommandBuffers);
4082 VKAPI_ATTR void VKAPI_CALL vkFreeCommandBuffers(
4084 VkCommandPool commandPool,
4085 uint32_t commandBufferCount,
4086 const VkCommandBuffer* pCommandBuffers);
4088 VKAPI_ATTR VkResult VKAPI_CALL vkBeginCommandBuffer(
4089 VkCommandBuffer commandBuffer,
4090 const VkCommandBufferBeginInfo* pBeginInfo);
4092 VKAPI_ATTR VkResult VKAPI_CALL vkEndCommandBuffer(
4093 VkCommandBuffer commandBuffer);
4095 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandBuffer(
4096 VkCommandBuffer commandBuffer,
4097 VkCommandBufferResetFlags flags);
4099 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipeline(
4100 VkCommandBuffer commandBuffer,
4101 VkPipelineBindPoint pipelineBindPoint,
4102 VkPipeline pipeline);
4104 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewport(
4105 VkCommandBuffer commandBuffer,
4106 uint32_t firstViewport,
4107 uint32_t viewportCount,
4108 const VkViewport* pViewports);
4110 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissor(
4111 VkCommandBuffer commandBuffer,
4112 uint32_t firstScissor,
4113 uint32_t scissorCount,
4114 const VkRect2D* pScissors);
4116 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineWidth(
4117 VkCommandBuffer commandBuffer,
4120 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias(
4121 VkCommandBuffer commandBuffer,
4122 float depthBiasConstantFactor,
4123 float depthBiasClamp,
4124 float depthBiasSlopeFactor);
4126 VKAPI_ATTR void VKAPI_CALL vkCmdSetBlendConstants(
4127 VkCommandBuffer commandBuffer,
4128 const float blendConstants[4]);
4130 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBounds(
4131 VkCommandBuffer commandBuffer,
4132 float minDepthBounds,
4133 float maxDepthBounds);
4135 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilCompareMask(
4136 VkCommandBuffer commandBuffer,
4137 VkStencilFaceFlags faceMask,
4138 uint32_t compareMask);
4140 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilWriteMask(
4141 VkCommandBuffer commandBuffer,
4142 VkStencilFaceFlags faceMask,
4143 uint32_t writeMask);
4145 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilReference(
4146 VkCommandBuffer commandBuffer,
4147 VkStencilFaceFlags faceMask,
4148 uint32_t reference);
4150 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets(
4151 VkCommandBuffer commandBuffer,
4152 VkPipelineBindPoint pipelineBindPoint,
4153 VkPipelineLayout layout,
4155 uint32_t descriptorSetCount,
4156 const VkDescriptorSet* pDescriptorSets,
4157 uint32_t dynamicOffsetCount,
4158 const uint32_t* pDynamicOffsets);
4160 VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer(
4161 VkCommandBuffer commandBuffer,
4163 VkDeviceSize offset,
4164 VkIndexType indexType);
4166 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers(
4167 VkCommandBuffer commandBuffer,
4168 uint32_t firstBinding,
4169 uint32_t bindingCount,
4170 const VkBuffer* pBuffers,
4171 const VkDeviceSize* pOffsets);
4173 VKAPI_ATTR void VKAPI_CALL vkCmdDraw(
4174 VkCommandBuffer commandBuffer,
4175 uint32_t vertexCount,
4176 uint32_t instanceCount,
4177 uint32_t firstVertex,
4178 uint32_t firstInstance);
4180 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexed(
4181 VkCommandBuffer commandBuffer,
4182 uint32_t indexCount,
4183 uint32_t instanceCount,
4184 uint32_t firstIndex,
4185 int32_t vertexOffset,
4186 uint32_t firstInstance);
4188 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirect(
4189 VkCommandBuffer commandBuffer,
4191 VkDeviceSize offset,
4195 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirect(
4196 VkCommandBuffer commandBuffer,
4198 VkDeviceSize offset,
4202 VKAPI_ATTR void VKAPI_CALL vkCmdDispatch(
4203 VkCommandBuffer commandBuffer,
4204 uint32_t groupCountX,
4205 uint32_t groupCountY,
4206 uint32_t groupCountZ);
4208 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchIndirect(
4209 VkCommandBuffer commandBuffer,
4211 VkDeviceSize offset);
4213 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer(
4214 VkCommandBuffer commandBuffer,
4217 uint32_t regionCount,
4218 const VkBufferCopy* pRegions);
4220 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage(
4221 VkCommandBuffer commandBuffer,
4223 VkImageLayout srcImageLayout,
4225 VkImageLayout dstImageLayout,
4226 uint32_t regionCount,
4227 const VkImageCopy* pRegions);
4229 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage(
4230 VkCommandBuffer commandBuffer,
4232 VkImageLayout srcImageLayout,
4234 VkImageLayout dstImageLayout,
4235 uint32_t regionCount,
4236 const VkImageBlit* pRegions,
4239 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage(
4240 VkCommandBuffer commandBuffer,
4243 VkImageLayout dstImageLayout,
4244 uint32_t regionCount,
4245 const VkBufferImageCopy* pRegions);
4247 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer(
4248 VkCommandBuffer commandBuffer,
4250 VkImageLayout srcImageLayout,
4252 uint32_t regionCount,
4253 const VkBufferImageCopy* pRegions);
4255 VKAPI_ATTR void VKAPI_CALL vkCmdUpdateBuffer(
4256 VkCommandBuffer commandBuffer,
4258 VkDeviceSize dstOffset,
4259 VkDeviceSize dataSize,
4262 VKAPI_ATTR void VKAPI_CALL vkCmdFillBuffer(
4263 VkCommandBuffer commandBuffer,
4265 VkDeviceSize dstOffset,
4269 VKAPI_ATTR void VKAPI_CALL vkCmdClearColorImage(
4270 VkCommandBuffer commandBuffer,
4272 VkImageLayout imageLayout,
4273 const VkClearColorValue* pColor,
4274 uint32_t rangeCount,
4275 const VkImageSubresourceRange* pRanges);
4277 VKAPI_ATTR void VKAPI_CALL vkCmdClearDepthStencilImage(
4278 VkCommandBuffer commandBuffer,
4280 VkImageLayout imageLayout,
4281 const VkClearDepthStencilValue* pDepthStencil,
4282 uint32_t rangeCount,
4283 const VkImageSubresourceRange* pRanges);
4285 VKAPI_ATTR void VKAPI_CALL vkCmdClearAttachments(
4286 VkCommandBuffer commandBuffer,
4287 uint32_t attachmentCount,
4288 const VkClearAttachment* pAttachments,
4290 const VkClearRect* pRects);
4292 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage(
4293 VkCommandBuffer commandBuffer,
4295 VkImageLayout srcImageLayout,
4297 VkImageLayout dstImageLayout,
4298 uint32_t regionCount,
4299 const VkImageResolve* pRegions);
4301 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent(
4302 VkCommandBuffer commandBuffer,
4304 VkPipelineStageFlags stageMask);
4306 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent(
4307 VkCommandBuffer commandBuffer,
4309 VkPipelineStageFlags stageMask);
4311 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents(
4312 VkCommandBuffer commandBuffer,
4313 uint32_t eventCount,
4314 const VkEvent* pEvents,
4315 VkPipelineStageFlags srcStageMask,
4316 VkPipelineStageFlags dstStageMask,
4317 uint32_t memoryBarrierCount,
4318 const VkMemoryBarrier* pMemoryBarriers,
4319 uint32_t bufferMemoryBarrierCount,
4320 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
4321 uint32_t imageMemoryBarrierCount,
4322 const VkImageMemoryBarrier* pImageMemoryBarriers);
4324 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier(
4325 VkCommandBuffer commandBuffer,
4326 VkPipelineStageFlags srcStageMask,
4327 VkPipelineStageFlags dstStageMask,
4328 VkDependencyFlags dependencyFlags,
4329 uint32_t memoryBarrierCount,
4330 const VkMemoryBarrier* pMemoryBarriers,
4331 uint32_t bufferMemoryBarrierCount,
4332 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
4333 uint32_t imageMemoryBarrierCount,
4334 const VkImageMemoryBarrier* pImageMemoryBarriers);
4336 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQuery(
4337 VkCommandBuffer commandBuffer,
4338 VkQueryPool queryPool,
4340 VkQueryControlFlags flags);
4342 VKAPI_ATTR void VKAPI_CALL vkCmdEndQuery(
4343 VkCommandBuffer commandBuffer,
4344 VkQueryPool queryPool,
4347 VKAPI_ATTR void VKAPI_CALL vkCmdResetQueryPool(
4348 VkCommandBuffer commandBuffer,
4349 VkQueryPool queryPool,
4350 uint32_t firstQuery,
4351 uint32_t queryCount);
4353 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp(
4354 VkCommandBuffer commandBuffer,
4355 VkPipelineStageFlagBits pipelineStage,
4356 VkQueryPool queryPool,
4359 VKAPI_ATTR void VKAPI_CALL vkCmdCopyQueryPoolResults(
4360 VkCommandBuffer commandBuffer,
4361 VkQueryPool queryPool,
4362 uint32_t firstQuery,
4363 uint32_t queryCount,
4365 VkDeviceSize dstOffset,
4366 VkDeviceSize stride,
4367 VkQueryResultFlags flags);
4369 VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants(
4370 VkCommandBuffer commandBuffer,
4371 VkPipelineLayout layout,
4372 VkShaderStageFlags stageFlags,
4375 const void* pValues);
4377 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass(
4378 VkCommandBuffer commandBuffer,
4379 const VkRenderPassBeginInfo* pRenderPassBegin,
4380 VkSubpassContents contents);
4382 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass(
4383 VkCommandBuffer commandBuffer,
4384 VkSubpassContents contents);
4386 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass(
4387 VkCommandBuffer commandBuffer);
4389 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteCommands(
4390 VkCommandBuffer commandBuffer,
4391 uint32_t commandBufferCount,
4392 const VkCommandBuffer* pCommandBuffers);
4396 #define VK_VERSION_1_1 1
4397 // Vulkan 1.1 version number
4398 #define VK_API_VERSION_1_1 VK_MAKE_API_VERSION(0, 1, 1, 0)// Patch version should always be set to 0
4400 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion)
4401 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate)
4402 #define VK_MAX_DEVICE_GROUP_SIZE 32U
4403 #define VK_LUID_SIZE 8U
4404 #define VK_QUEUE_FAMILY_EXTERNAL (~1U)
4406 typedef enum VkPointClippingBehavior {
4407 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES = 0,
4408 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY = 1,
4409 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES,
4410 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY,
4411 VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF
4412 } VkPointClippingBehavior;
4414 typedef enum VkTessellationDomainOrigin {
4415 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT = 0,
4416 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT = 1,
4417 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT,
4418 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT,
4419 VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM = 0x7FFFFFFF
4420 } VkTessellationDomainOrigin;
4422 typedef enum VkSamplerYcbcrModelConversion {
4423 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY = 0,
4424 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY = 1,
4425 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 = 2,
4426 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 = 3,
4427 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 = 4,
4428 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY,
4429 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY,
4430 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709,
4431 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601,
4432 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020,
4433 VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM = 0x7FFFFFFF
4434 } VkSamplerYcbcrModelConversion;
4436 typedef enum VkSamplerYcbcrRange {
4437 VK_SAMPLER_YCBCR_RANGE_ITU_FULL = 0,
4438 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW = 1,
4439 VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_FULL,
4440 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW,
4441 VK_SAMPLER_YCBCR_RANGE_MAX_ENUM = 0x7FFFFFFF
4442 } VkSamplerYcbcrRange;
4444 typedef enum VkChromaLocation {
4445 VK_CHROMA_LOCATION_COSITED_EVEN = 0,
4446 VK_CHROMA_LOCATION_MIDPOINT = 1,
4447 VK_CHROMA_LOCATION_COSITED_EVEN_KHR = VK_CHROMA_LOCATION_COSITED_EVEN,
4448 VK_CHROMA_LOCATION_MIDPOINT_KHR = VK_CHROMA_LOCATION_MIDPOINT,
4449 VK_CHROMA_LOCATION_MAX_ENUM = 0x7FFFFFFF
4452 typedef enum VkDescriptorUpdateTemplateType {
4453 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET = 0,
4454 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR = 1,
4455 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,
4456 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM = 0x7FFFFFFF
4457 } VkDescriptorUpdateTemplateType;
4459 typedef enum VkSubgroupFeatureFlagBits {
4460 VK_SUBGROUP_FEATURE_BASIC_BIT = 0x00000001,
4461 VK_SUBGROUP_FEATURE_VOTE_BIT = 0x00000002,
4462 VK_SUBGROUP_FEATURE_ARITHMETIC_BIT = 0x00000004,
4463 VK_SUBGROUP_FEATURE_BALLOT_BIT = 0x00000008,
4464 VK_SUBGROUP_FEATURE_SHUFFLE_BIT = 0x00000010,
4465 VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = 0x00000020,
4466 VK_SUBGROUP_FEATURE_CLUSTERED_BIT = 0x00000040,
4467 VK_SUBGROUP_FEATURE_QUAD_BIT = 0x00000080,
4468 VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x00000100,
4469 VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4470 } VkSubgroupFeatureFlagBits;
4471 typedef VkFlags VkSubgroupFeatureFlags;
4473 typedef enum VkPeerMemoryFeatureFlagBits {
4474 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT = 0x00000001,
4475 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT = 0x00000002,
4476 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT = 0x00000004,
4477 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT = 0x00000008,
4478 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT,
4479 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_DST_BIT,
4480 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT,
4481 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT,
4482 VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4483 } VkPeerMemoryFeatureFlagBits;
4484 typedef VkFlags VkPeerMemoryFeatureFlags;
4486 typedef enum VkMemoryAllocateFlagBits {
4487 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT = 0x00000001,
4488 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT = 0x00000002,
4489 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000004,
4490 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT,
4491 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT,
4492 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
4493 VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4494 } VkMemoryAllocateFlagBits;
4495 typedef VkFlags VkMemoryAllocateFlags;
4496 typedef VkFlags VkCommandPoolTrimFlags;
4497 typedef VkFlags VkDescriptorUpdateTemplateCreateFlags;
4499 typedef enum VkExternalMemoryHandleTypeFlagBits {
4500 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
4501 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
4502 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
4503 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT = 0x00000008,
4504 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT = 0x00000010,
4505 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT = 0x00000020,
4506 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT = 0x00000040,
4507 VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT = 0x00000200,
4508 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID = 0x00000400,
4509 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 0x00000080,
4510 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 0x00000100,
4511 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA = 0x00000800,
4512 VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV = 0x00001000,
4513 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT,
4514 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT,
4515 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
4516 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT,
4517 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT,
4518 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT,
4519 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT,
4520 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4521 } VkExternalMemoryHandleTypeFlagBits;
4522 typedef VkFlags VkExternalMemoryHandleTypeFlags;
4524 typedef enum VkExternalMemoryFeatureFlagBits {
4525 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT = 0x00000001,
4526 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT = 0x00000002,
4527 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT = 0x00000004,
4528 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT,
4529 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT,
4530 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT,
4531 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4532 } VkExternalMemoryFeatureFlagBits;
4533 typedef VkFlags VkExternalMemoryFeatureFlags;
4535 typedef enum VkExternalFenceHandleTypeFlagBits {
4536 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
4537 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
4538 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
4539 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000008,
4540 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT,
4541 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
4542 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
4543 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT,
4544 VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4545 } VkExternalFenceHandleTypeFlagBits;
4546 typedef VkFlags VkExternalFenceHandleTypeFlags;
4548 typedef enum VkExternalFenceFeatureFlagBits {
4549 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT = 0x00000001,
4550 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT = 0x00000002,
4551 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT,
4552 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT,
4553 VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4554 } VkExternalFenceFeatureFlagBits;
4555 typedef VkFlags VkExternalFenceFeatureFlags;
4557 typedef enum VkFenceImportFlagBits {
4558 VK_FENCE_IMPORT_TEMPORARY_BIT = 0x00000001,
4559 VK_FENCE_IMPORT_TEMPORARY_BIT_KHR = VK_FENCE_IMPORT_TEMPORARY_BIT,
4560 VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4561 } VkFenceImportFlagBits;
4562 typedef VkFlags VkFenceImportFlags;
4564 typedef enum VkSemaphoreImportFlagBits {
4565 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT = 0x00000001,
4566 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT,
4567 VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4568 } VkSemaphoreImportFlagBits;
4569 typedef VkFlags VkSemaphoreImportFlags;
4571 typedef enum VkExternalSemaphoreHandleTypeFlagBits {
4572 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
4573 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
4574 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
4575 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT = 0x00000008,
4576 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000010,
4577 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA = 0x00000080,
4578 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
4579 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT,
4580 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
4581 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
4582 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
4583 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT,
4584 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4585 } VkExternalSemaphoreHandleTypeFlagBits;
4586 typedef VkFlags VkExternalSemaphoreHandleTypeFlags;
4588 typedef enum VkExternalSemaphoreFeatureFlagBits {
4589 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT = 0x00000001,
4590 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT = 0x00000002,
4591 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT,
4592 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT,
4593 VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4594 } VkExternalSemaphoreFeatureFlagBits;
4595 typedef VkFlags VkExternalSemaphoreFeatureFlags;
4596 typedef struct VkPhysicalDeviceSubgroupProperties {
4597 VkStructureType sType;
4599 uint32_t subgroupSize;
4600 VkShaderStageFlags supportedStages;
4601 VkSubgroupFeatureFlags supportedOperations;
4602 VkBool32 quadOperationsInAllStages;
4603 } VkPhysicalDeviceSubgroupProperties;
4605 typedef struct VkBindBufferMemoryInfo {
4606 VkStructureType sType;
4609 VkDeviceMemory memory;
4610 VkDeviceSize memoryOffset;
4611 } VkBindBufferMemoryInfo;
4613 typedef struct VkBindImageMemoryInfo {
4614 VkStructureType sType;
4617 VkDeviceMemory memory;
4618 VkDeviceSize memoryOffset;
4619 } VkBindImageMemoryInfo;
4621 typedef struct VkPhysicalDevice16BitStorageFeatures {
4622 VkStructureType sType;
4624 VkBool32 storageBuffer16BitAccess;
4625 VkBool32 uniformAndStorageBuffer16BitAccess;
4626 VkBool32 storagePushConstant16;
4627 VkBool32 storageInputOutput16;
4628 } VkPhysicalDevice16BitStorageFeatures;
4630 typedef struct VkMemoryDedicatedRequirements {
4631 VkStructureType sType;
4633 VkBool32 prefersDedicatedAllocation;
4634 VkBool32 requiresDedicatedAllocation;
4635 } VkMemoryDedicatedRequirements;
4637 typedef struct VkMemoryDedicatedAllocateInfo {
4638 VkStructureType sType;
4642 } VkMemoryDedicatedAllocateInfo;
4644 typedef struct VkMemoryAllocateFlagsInfo {
4645 VkStructureType sType;
4647 VkMemoryAllocateFlags flags;
4648 uint32_t deviceMask;
4649 } VkMemoryAllocateFlagsInfo;
4651 typedef struct VkDeviceGroupRenderPassBeginInfo {
4652 VkStructureType sType;
4654 uint32_t deviceMask;
4655 uint32_t deviceRenderAreaCount;
4656 const VkRect2D* pDeviceRenderAreas;
4657 } VkDeviceGroupRenderPassBeginInfo;
4659 typedef struct VkDeviceGroupCommandBufferBeginInfo {
4660 VkStructureType sType;
4662 uint32_t deviceMask;
4663 } VkDeviceGroupCommandBufferBeginInfo;
4665 typedef struct VkDeviceGroupSubmitInfo {
4666 VkStructureType sType;
4668 uint32_t waitSemaphoreCount;
4669 const uint32_t* pWaitSemaphoreDeviceIndices;
4670 uint32_t commandBufferCount;
4671 const uint32_t* pCommandBufferDeviceMasks;
4672 uint32_t signalSemaphoreCount;
4673 const uint32_t* pSignalSemaphoreDeviceIndices;
4674 } VkDeviceGroupSubmitInfo;
4676 typedef struct VkDeviceGroupBindSparseInfo {
4677 VkStructureType sType;
4679 uint32_t resourceDeviceIndex;
4680 uint32_t memoryDeviceIndex;
4681 } VkDeviceGroupBindSparseInfo;
4683 typedef struct VkBindBufferMemoryDeviceGroupInfo {
4684 VkStructureType sType;
4686 uint32_t deviceIndexCount;
4687 const uint32_t* pDeviceIndices;
4688 } VkBindBufferMemoryDeviceGroupInfo;
4690 typedef struct VkBindImageMemoryDeviceGroupInfo {
4691 VkStructureType sType;
4693 uint32_t deviceIndexCount;
4694 const uint32_t* pDeviceIndices;
4695 uint32_t splitInstanceBindRegionCount;
4696 const VkRect2D* pSplitInstanceBindRegions;
4697 } VkBindImageMemoryDeviceGroupInfo;
4699 typedef struct VkPhysicalDeviceGroupProperties {
4700 VkStructureType sType;
4702 uint32_t physicalDeviceCount;
4703 VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE];
4704 VkBool32 subsetAllocation;
4705 } VkPhysicalDeviceGroupProperties;
4707 typedef struct VkDeviceGroupDeviceCreateInfo {
4708 VkStructureType sType;
4710 uint32_t physicalDeviceCount;
4711 const VkPhysicalDevice* pPhysicalDevices;
4712 } VkDeviceGroupDeviceCreateInfo;
4714 typedef struct VkBufferMemoryRequirementsInfo2 {
4715 VkStructureType sType;
4718 } VkBufferMemoryRequirementsInfo2;
4720 typedef struct VkImageMemoryRequirementsInfo2 {
4721 VkStructureType sType;
4724 } VkImageMemoryRequirementsInfo2;
4726 typedef struct VkImageSparseMemoryRequirementsInfo2 {
4727 VkStructureType sType;
4730 } VkImageSparseMemoryRequirementsInfo2;
4732 typedef struct VkMemoryRequirements2 {
4733 VkStructureType sType;
4735 VkMemoryRequirements memoryRequirements;
4736 } VkMemoryRequirements2;
4738 typedef struct VkSparseImageMemoryRequirements2 {
4739 VkStructureType sType;
4741 VkSparseImageMemoryRequirements memoryRequirements;
4742 } VkSparseImageMemoryRequirements2;
4744 typedef struct VkPhysicalDeviceFeatures2 {
4745 VkStructureType sType;
4747 VkPhysicalDeviceFeatures features;
4748 } VkPhysicalDeviceFeatures2;
4750 typedef struct VkPhysicalDeviceProperties2 {
4751 VkStructureType sType;
4753 VkPhysicalDeviceProperties properties;
4754 } VkPhysicalDeviceProperties2;
4756 typedef struct VkFormatProperties2 {
4757 VkStructureType sType;
4759 VkFormatProperties formatProperties;
4760 } VkFormatProperties2;
4762 typedef struct VkImageFormatProperties2 {
4763 VkStructureType sType;
4765 VkImageFormatProperties imageFormatProperties;
4766 } VkImageFormatProperties2;
4768 typedef struct VkPhysicalDeviceImageFormatInfo2 {
4769 VkStructureType sType;
4773 VkImageTiling tiling;
4774 VkImageUsageFlags usage;
4775 VkImageCreateFlags flags;
4776 } VkPhysicalDeviceImageFormatInfo2;
4778 typedef struct VkQueueFamilyProperties2 {
4779 VkStructureType sType;
4781 VkQueueFamilyProperties queueFamilyProperties;
4782 } VkQueueFamilyProperties2;
4784 typedef struct VkPhysicalDeviceMemoryProperties2 {
4785 VkStructureType sType;
4787 VkPhysicalDeviceMemoryProperties memoryProperties;
4788 } VkPhysicalDeviceMemoryProperties2;
4790 typedef struct VkSparseImageFormatProperties2 {
4791 VkStructureType sType;
4793 VkSparseImageFormatProperties properties;
4794 } VkSparseImageFormatProperties2;
4796 typedef struct VkPhysicalDeviceSparseImageFormatInfo2 {
4797 VkStructureType sType;
4801 VkSampleCountFlagBits samples;
4802 VkImageUsageFlags usage;
4803 VkImageTiling tiling;
4804 } VkPhysicalDeviceSparseImageFormatInfo2;
4806 typedef struct VkPhysicalDevicePointClippingProperties {
4807 VkStructureType sType;
4809 VkPointClippingBehavior pointClippingBehavior;
4810 } VkPhysicalDevicePointClippingProperties;
4812 typedef struct VkInputAttachmentAspectReference {
4814 uint32_t inputAttachmentIndex;
4815 VkImageAspectFlags aspectMask;
4816 } VkInputAttachmentAspectReference;
4818 typedef struct VkRenderPassInputAttachmentAspectCreateInfo {
4819 VkStructureType sType;
4821 uint32_t aspectReferenceCount;
4822 const VkInputAttachmentAspectReference* pAspectReferences;
4823 } VkRenderPassInputAttachmentAspectCreateInfo;
4825 typedef struct VkImageViewUsageCreateInfo {
4826 VkStructureType sType;
4828 VkImageUsageFlags usage;
4829 } VkImageViewUsageCreateInfo;
4831 typedef struct VkPipelineTessellationDomainOriginStateCreateInfo {
4832 VkStructureType sType;
4834 VkTessellationDomainOrigin domainOrigin;
4835 } VkPipelineTessellationDomainOriginStateCreateInfo;
4837 typedef struct VkRenderPassMultiviewCreateInfo {
4838 VkStructureType sType;
4840 uint32_t subpassCount;
4841 const uint32_t* pViewMasks;
4842 uint32_t dependencyCount;
4843 const int32_t* pViewOffsets;
4844 uint32_t correlationMaskCount;
4845 const uint32_t* pCorrelationMasks;
4846 } VkRenderPassMultiviewCreateInfo;
4848 typedef struct VkPhysicalDeviceMultiviewFeatures {
4849 VkStructureType sType;
4852 VkBool32 multiviewGeometryShader;
4853 VkBool32 multiviewTessellationShader;
4854 } VkPhysicalDeviceMultiviewFeatures;
4856 typedef struct VkPhysicalDeviceMultiviewProperties {
4857 VkStructureType sType;
4859 uint32_t maxMultiviewViewCount;
4860 uint32_t maxMultiviewInstanceIndex;
4861 } VkPhysicalDeviceMultiviewProperties;
4863 typedef struct VkPhysicalDeviceVariablePointersFeatures {
4864 VkStructureType sType;
4866 VkBool32 variablePointersStorageBuffer;
4867 VkBool32 variablePointers;
4868 } VkPhysicalDeviceVariablePointersFeatures;
4870 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeatures;
4872 typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
4873 VkStructureType sType;
4875 VkBool32 protectedMemory;
4876 } VkPhysicalDeviceProtectedMemoryFeatures;
4878 typedef struct VkPhysicalDeviceProtectedMemoryProperties {
4879 VkStructureType sType;
4881 VkBool32 protectedNoFault;
4882 } VkPhysicalDeviceProtectedMemoryProperties;
4884 typedef struct VkDeviceQueueInfo2 {
4885 VkStructureType sType;
4887 VkDeviceQueueCreateFlags flags;
4888 uint32_t queueFamilyIndex;
4889 uint32_t queueIndex;
4890 } VkDeviceQueueInfo2;
4892 typedef struct VkProtectedSubmitInfo {
4893 VkStructureType sType;
4895 VkBool32 protectedSubmit;
4896 } VkProtectedSubmitInfo;
4898 typedef struct VkSamplerYcbcrConversionCreateInfo {
4899 VkStructureType sType;
4902 VkSamplerYcbcrModelConversion ycbcrModel;
4903 VkSamplerYcbcrRange ycbcrRange;
4904 VkComponentMapping components;
4905 VkChromaLocation xChromaOffset;
4906 VkChromaLocation yChromaOffset;
4907 VkFilter chromaFilter;
4908 VkBool32 forceExplicitReconstruction;
4909 } VkSamplerYcbcrConversionCreateInfo;
4911 typedef struct VkSamplerYcbcrConversionInfo {
4912 VkStructureType sType;
4914 VkSamplerYcbcrConversion conversion;
4915 } VkSamplerYcbcrConversionInfo;
4917 typedef struct VkBindImagePlaneMemoryInfo {
4918 VkStructureType sType;
4920 VkImageAspectFlagBits planeAspect;
4921 } VkBindImagePlaneMemoryInfo;
4923 typedef struct VkImagePlaneMemoryRequirementsInfo {
4924 VkStructureType sType;
4926 VkImageAspectFlagBits planeAspect;
4927 } VkImagePlaneMemoryRequirementsInfo;
4929 typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
4930 VkStructureType sType;
4932 VkBool32 samplerYcbcrConversion;
4933 } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
4935 typedef struct VkSamplerYcbcrConversionImageFormatProperties {
4936 VkStructureType sType;
4938 uint32_t combinedImageSamplerDescriptorCount;
4939 } VkSamplerYcbcrConversionImageFormatProperties;
4941 typedef struct VkDescriptorUpdateTemplateEntry {
4942 uint32_t dstBinding;
4943 uint32_t dstArrayElement;
4944 uint32_t descriptorCount;
4945 VkDescriptorType descriptorType;
4948 } VkDescriptorUpdateTemplateEntry;
4950 typedef struct VkDescriptorUpdateTemplateCreateInfo {
4951 VkStructureType sType;
4953 VkDescriptorUpdateTemplateCreateFlags flags;
4954 uint32_t descriptorUpdateEntryCount;
4955 const VkDescriptorUpdateTemplateEntry* pDescriptorUpdateEntries;
4956 VkDescriptorUpdateTemplateType templateType;
4957 VkDescriptorSetLayout descriptorSetLayout;
4958 VkPipelineBindPoint pipelineBindPoint;
4959 VkPipelineLayout pipelineLayout;
4961 } VkDescriptorUpdateTemplateCreateInfo;
4963 typedef struct VkExternalMemoryProperties {
4964 VkExternalMemoryFeatureFlags externalMemoryFeatures;
4965 VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes;
4966 VkExternalMemoryHandleTypeFlags compatibleHandleTypes;
4967 } VkExternalMemoryProperties;
4969 typedef struct VkPhysicalDeviceExternalImageFormatInfo {
4970 VkStructureType sType;
4972 VkExternalMemoryHandleTypeFlagBits handleType;
4973 } VkPhysicalDeviceExternalImageFormatInfo;
4975 typedef struct VkExternalImageFormatProperties {
4976 VkStructureType sType;
4978 VkExternalMemoryProperties externalMemoryProperties;
4979 } VkExternalImageFormatProperties;
4981 typedef struct VkPhysicalDeviceExternalBufferInfo {
4982 VkStructureType sType;
4984 VkBufferCreateFlags flags;
4985 VkBufferUsageFlags usage;
4986 VkExternalMemoryHandleTypeFlagBits handleType;
4987 } VkPhysicalDeviceExternalBufferInfo;
4989 typedef struct VkExternalBufferProperties {
4990 VkStructureType sType;
4992 VkExternalMemoryProperties externalMemoryProperties;
4993 } VkExternalBufferProperties;
4995 typedef struct VkPhysicalDeviceIDProperties {
4996 VkStructureType sType;
4998 uint8_t deviceUUID[VK_UUID_SIZE];
4999 uint8_t driverUUID[VK_UUID_SIZE];
5000 uint8_t deviceLUID[VK_LUID_SIZE];
5001 uint32_t deviceNodeMask;
5002 VkBool32 deviceLUIDValid;
5003 } VkPhysicalDeviceIDProperties;
5005 typedef struct VkExternalMemoryImageCreateInfo {
5006 VkStructureType sType;
5008 VkExternalMemoryHandleTypeFlags handleTypes;
5009 } VkExternalMemoryImageCreateInfo;
5011 typedef struct VkExternalMemoryBufferCreateInfo {
5012 VkStructureType sType;
5014 VkExternalMemoryHandleTypeFlags handleTypes;
5015 } VkExternalMemoryBufferCreateInfo;
5017 typedef struct VkExportMemoryAllocateInfo {
5018 VkStructureType sType;
5020 VkExternalMemoryHandleTypeFlags handleTypes;
5021 } VkExportMemoryAllocateInfo;
5023 typedef struct VkPhysicalDeviceExternalFenceInfo {
5024 VkStructureType sType;
5026 VkExternalFenceHandleTypeFlagBits handleType;
5027 } VkPhysicalDeviceExternalFenceInfo;
5029 typedef struct VkExternalFenceProperties {
5030 VkStructureType sType;
5032 VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes;
5033 VkExternalFenceHandleTypeFlags compatibleHandleTypes;
5034 VkExternalFenceFeatureFlags externalFenceFeatures;
5035 } VkExternalFenceProperties;
5037 typedef struct VkExportFenceCreateInfo {
5038 VkStructureType sType;
5040 VkExternalFenceHandleTypeFlags handleTypes;
5041 } VkExportFenceCreateInfo;
5043 typedef struct VkExportSemaphoreCreateInfo {
5044 VkStructureType sType;
5046 VkExternalSemaphoreHandleTypeFlags handleTypes;
5047 } VkExportSemaphoreCreateInfo;
5049 typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
5050 VkStructureType sType;
5052 VkExternalSemaphoreHandleTypeFlagBits handleType;
5053 } VkPhysicalDeviceExternalSemaphoreInfo;
5055 typedef struct VkExternalSemaphoreProperties {
5056 VkStructureType sType;
5058 VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes;
5059 VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes;
5060 VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures;
5061 } VkExternalSemaphoreProperties;
5063 typedef struct VkPhysicalDeviceMaintenance3Properties {
5064 VkStructureType sType;
5066 uint32_t maxPerSetDescriptors;
5067 VkDeviceSize maxMemoryAllocationSize;
5068 } VkPhysicalDeviceMaintenance3Properties;
5070 typedef struct VkDescriptorSetLayoutSupport {
5071 VkStructureType sType;
5074 } VkDescriptorSetLayoutSupport;
5076 typedef struct VkPhysicalDeviceShaderDrawParametersFeatures {
5077 VkStructureType sType;
5079 VkBool32 shaderDrawParameters;
5080 } VkPhysicalDeviceShaderDrawParametersFeatures;
5082 typedef VkPhysicalDeviceShaderDrawParametersFeatures VkPhysicalDeviceShaderDrawParameterFeatures;
5084 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceVersion)(uint32_t* pApiVersion);
5085 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
5086 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
5087 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeatures)(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
5088 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMask)(VkCommandBuffer commandBuffer, uint32_t deviceMask);
5089 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);
5090 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroups)(VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
5091 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
5092 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
5093 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
5094 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
5095 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
5096 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
5097 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
5098 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
5099 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
5100 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
5101 typedef void (VKAPI_PTR *PFN_vkTrimCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
5102 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue2)(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue);
5103 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversion)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
5104 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversion)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
5105 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplate)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
5106 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplate)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
5107 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplate)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
5108 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
5109 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFenceProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
5110 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphoreProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
5111 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupport)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
5113 #ifndef VK_NO_PROTOTYPES
5114 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceVersion(
5115 uint32_t* pApiVersion);
5117 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2(
5119 uint32_t bindInfoCount,
5120 const VkBindBufferMemoryInfo* pBindInfos);
5122 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2(
5124 uint32_t bindInfoCount,
5125 const VkBindImageMemoryInfo* pBindInfos);
5127 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeatures(
5130 uint32_t localDeviceIndex,
5131 uint32_t remoteDeviceIndex,
5132 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
5134 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMask(
5135 VkCommandBuffer commandBuffer,
5136 uint32_t deviceMask);
5138 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBase(
5139 VkCommandBuffer commandBuffer,
5140 uint32_t baseGroupX,
5141 uint32_t baseGroupY,
5142 uint32_t baseGroupZ,
5143 uint32_t groupCountX,
5144 uint32_t groupCountY,
5145 uint32_t groupCountZ);
5147 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroups(
5148 VkInstance instance,
5149 uint32_t* pPhysicalDeviceGroupCount,
5150 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
5152 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2(
5154 const VkImageMemoryRequirementsInfo2* pInfo,
5155 VkMemoryRequirements2* pMemoryRequirements);
5157 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2(
5159 const VkBufferMemoryRequirementsInfo2* pInfo,
5160 VkMemoryRequirements2* pMemoryRequirements);
5162 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2(
5164 const VkImageSparseMemoryRequirementsInfo2* pInfo,
5165 uint32_t* pSparseMemoryRequirementCount,
5166 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
5168 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2(
5169 VkPhysicalDevice physicalDevice,
5170 VkPhysicalDeviceFeatures2* pFeatures);
5172 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2(
5173 VkPhysicalDevice physicalDevice,
5174 VkPhysicalDeviceProperties2* pProperties);
5176 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2(
5177 VkPhysicalDevice physicalDevice,
5179 VkFormatProperties2* pFormatProperties);
5181 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2(
5182 VkPhysicalDevice physicalDevice,
5183 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
5184 VkImageFormatProperties2* pImageFormatProperties);
5186 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2(
5187 VkPhysicalDevice physicalDevice,
5188 uint32_t* pQueueFamilyPropertyCount,
5189 VkQueueFamilyProperties2* pQueueFamilyProperties);
5191 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2(
5192 VkPhysicalDevice physicalDevice,
5193 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
5195 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2(
5196 VkPhysicalDevice physicalDevice,
5197 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
5198 uint32_t* pPropertyCount,
5199 VkSparseImageFormatProperties2* pProperties);
5201 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPool(
5203 VkCommandPool commandPool,
5204 VkCommandPoolTrimFlags flags);
5206 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue2(
5208 const VkDeviceQueueInfo2* pQueueInfo,
5211 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversion(
5213 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
5214 const VkAllocationCallbacks* pAllocator,
5215 VkSamplerYcbcrConversion* pYcbcrConversion);
5217 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversion(
5219 VkSamplerYcbcrConversion ycbcrConversion,
5220 const VkAllocationCallbacks* pAllocator);
5222 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplate(
5224 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
5225 const VkAllocationCallbacks* pAllocator,
5226 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
5228 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplate(
5230 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
5231 const VkAllocationCallbacks* pAllocator);
5233 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplate(
5235 VkDescriptorSet descriptorSet,
5236 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
5239 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferProperties(
5240 VkPhysicalDevice physicalDevice,
5241 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
5242 VkExternalBufferProperties* pExternalBufferProperties);
5244 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFenceProperties(
5245 VkPhysicalDevice physicalDevice,
5246 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
5247 VkExternalFenceProperties* pExternalFenceProperties);
5249 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphoreProperties(
5250 VkPhysicalDevice physicalDevice,
5251 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
5252 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
5254 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupport(
5256 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
5257 VkDescriptorSetLayoutSupport* pSupport);
5261 #define VK_VERSION_1_2 1
5262 // Vulkan 1.2 version number
5263 #define VK_API_VERSION_1_2 VK_MAKE_API_VERSION(0, 1, 2, 0)// Patch version should always be set to 0
5265 #define VK_MAX_DRIVER_NAME_SIZE 256U
5266 #define VK_MAX_DRIVER_INFO_SIZE 256U
5268 typedef enum VkDriverId {
5269 VK_DRIVER_ID_AMD_PROPRIETARY = 1,
5270 VK_DRIVER_ID_AMD_OPEN_SOURCE = 2,
5271 VK_DRIVER_ID_MESA_RADV = 3,
5272 VK_DRIVER_ID_NVIDIA_PROPRIETARY = 4,
5273 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS = 5,
5274 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA = 6,
5275 VK_DRIVER_ID_IMAGINATION_PROPRIETARY = 7,
5276 VK_DRIVER_ID_QUALCOMM_PROPRIETARY = 8,
5277 VK_DRIVER_ID_ARM_PROPRIETARY = 9,
5278 VK_DRIVER_ID_GOOGLE_SWIFTSHADER = 10,
5279 VK_DRIVER_ID_GGP_PROPRIETARY = 11,
5280 VK_DRIVER_ID_BROADCOM_PROPRIETARY = 12,
5281 VK_DRIVER_ID_MESA_LLVMPIPE = 13,
5282 VK_DRIVER_ID_MOLTENVK = 14,
5283 VK_DRIVER_ID_COREAVI_PROPRIETARY = 15,
5284 VK_DRIVER_ID_JUICE_PROPRIETARY = 16,
5285 VK_DRIVER_ID_AMD_PROPRIETARY_KHR = VK_DRIVER_ID_AMD_PROPRIETARY,
5286 VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = VK_DRIVER_ID_AMD_OPEN_SOURCE,
5287 VK_DRIVER_ID_MESA_RADV_KHR = VK_DRIVER_ID_MESA_RADV,
5288 VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR = VK_DRIVER_ID_NVIDIA_PROPRIETARY,
5289 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR = VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS,
5290 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR = VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA,
5291 VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR = VK_DRIVER_ID_IMAGINATION_PROPRIETARY,
5292 VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR = VK_DRIVER_ID_QUALCOMM_PROPRIETARY,
5293 VK_DRIVER_ID_ARM_PROPRIETARY_KHR = VK_DRIVER_ID_ARM_PROPRIETARY,
5294 VK_DRIVER_ID_GOOGLE_SWIFTSHADER_KHR = VK_DRIVER_ID_GOOGLE_SWIFTSHADER,
5295 VK_DRIVER_ID_GGP_PROPRIETARY_KHR = VK_DRIVER_ID_GGP_PROPRIETARY,
5296 VK_DRIVER_ID_BROADCOM_PROPRIETARY_KHR = VK_DRIVER_ID_BROADCOM_PROPRIETARY,
5297 VK_DRIVER_ID_MAX_ENUM = 0x7FFFFFFF
5300 typedef enum VkShaderFloatControlsIndependence {
5301 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY = 0,
5302 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL = 1,
5303 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE = 2,
5304 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY,
5305 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL,
5306 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE,
5307 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_MAX_ENUM = 0x7FFFFFFF
5308 } VkShaderFloatControlsIndependence;
5310 typedef enum VkSamplerReductionMode {
5311 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE = 0,
5312 VK_SAMPLER_REDUCTION_MODE_MIN = 1,
5313 VK_SAMPLER_REDUCTION_MODE_MAX = 2,
5314 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE,
5315 VK_SAMPLER_REDUCTION_MODE_MIN_EXT = VK_SAMPLER_REDUCTION_MODE_MIN,
5316 VK_SAMPLER_REDUCTION_MODE_MAX_EXT = VK_SAMPLER_REDUCTION_MODE_MAX,
5317 VK_SAMPLER_REDUCTION_MODE_MAX_ENUM = 0x7FFFFFFF
5318 } VkSamplerReductionMode;
5320 typedef enum VkSemaphoreType {
5321 VK_SEMAPHORE_TYPE_BINARY = 0,
5322 VK_SEMAPHORE_TYPE_TIMELINE = 1,
5323 VK_SEMAPHORE_TYPE_BINARY_KHR = VK_SEMAPHORE_TYPE_BINARY,
5324 VK_SEMAPHORE_TYPE_TIMELINE_KHR = VK_SEMAPHORE_TYPE_TIMELINE,
5325 VK_SEMAPHORE_TYPE_MAX_ENUM = 0x7FFFFFFF
5328 typedef enum VkResolveModeFlagBits {
5329 VK_RESOLVE_MODE_NONE = 0,
5330 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT = 0x00000001,
5331 VK_RESOLVE_MODE_AVERAGE_BIT = 0x00000002,
5332 VK_RESOLVE_MODE_MIN_BIT = 0x00000004,
5333 VK_RESOLVE_MODE_MAX_BIT = 0x00000008,
5334 VK_RESOLVE_MODE_NONE_KHR = VK_RESOLVE_MODE_NONE,
5335 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR = VK_RESOLVE_MODE_SAMPLE_ZERO_BIT,
5336 VK_RESOLVE_MODE_AVERAGE_BIT_KHR = VK_RESOLVE_MODE_AVERAGE_BIT,
5337 VK_RESOLVE_MODE_MIN_BIT_KHR = VK_RESOLVE_MODE_MIN_BIT,
5338 VK_RESOLVE_MODE_MAX_BIT_KHR = VK_RESOLVE_MODE_MAX_BIT,
5339 VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5340 } VkResolveModeFlagBits;
5341 typedef VkFlags VkResolveModeFlags;
5343 typedef enum VkDescriptorBindingFlagBits {
5344 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT = 0x00000001,
5345 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT = 0x00000002,
5346 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT = 0x00000004,
5347 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT = 0x00000008,
5348 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT,
5349 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT,
5350 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT = VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT,
5351 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT = VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT,
5352 VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5353 } VkDescriptorBindingFlagBits;
5354 typedef VkFlags VkDescriptorBindingFlags;
5356 typedef enum VkSemaphoreWaitFlagBits {
5357 VK_SEMAPHORE_WAIT_ANY_BIT = 0x00000001,
5358 VK_SEMAPHORE_WAIT_ANY_BIT_KHR = VK_SEMAPHORE_WAIT_ANY_BIT,
5359 VK_SEMAPHORE_WAIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5360 } VkSemaphoreWaitFlagBits;
5361 typedef VkFlags VkSemaphoreWaitFlags;
5362 typedef struct VkPhysicalDeviceVulkan11Features {
5363 VkStructureType sType;
5365 VkBool32 storageBuffer16BitAccess;
5366 VkBool32 uniformAndStorageBuffer16BitAccess;
5367 VkBool32 storagePushConstant16;
5368 VkBool32 storageInputOutput16;
5370 VkBool32 multiviewGeometryShader;
5371 VkBool32 multiviewTessellationShader;
5372 VkBool32 variablePointersStorageBuffer;
5373 VkBool32 variablePointers;
5374 VkBool32 protectedMemory;
5375 VkBool32 samplerYcbcrConversion;
5376 VkBool32 shaderDrawParameters;
5377 } VkPhysicalDeviceVulkan11Features;
5379 typedef struct VkPhysicalDeviceVulkan11Properties {
5380 VkStructureType sType;
5382 uint8_t deviceUUID[VK_UUID_SIZE];
5383 uint8_t driverUUID[VK_UUID_SIZE];
5384 uint8_t deviceLUID[VK_LUID_SIZE];
5385 uint32_t deviceNodeMask;
5386 VkBool32 deviceLUIDValid;
5387 uint32_t subgroupSize;
5388 VkShaderStageFlags subgroupSupportedStages;
5389 VkSubgroupFeatureFlags subgroupSupportedOperations;
5390 VkBool32 subgroupQuadOperationsInAllStages;
5391 VkPointClippingBehavior pointClippingBehavior;
5392 uint32_t maxMultiviewViewCount;
5393 uint32_t maxMultiviewInstanceIndex;
5394 VkBool32 protectedNoFault;
5395 uint32_t maxPerSetDescriptors;
5396 VkDeviceSize maxMemoryAllocationSize;
5397 } VkPhysicalDeviceVulkan11Properties;
5399 typedef struct VkPhysicalDeviceVulkan12Features {
5400 VkStructureType sType;
5402 VkBool32 samplerMirrorClampToEdge;
5403 VkBool32 drawIndirectCount;
5404 VkBool32 storageBuffer8BitAccess;
5405 VkBool32 uniformAndStorageBuffer8BitAccess;
5406 VkBool32 storagePushConstant8;
5407 VkBool32 shaderBufferInt64Atomics;
5408 VkBool32 shaderSharedInt64Atomics;
5409 VkBool32 shaderFloat16;
5410 VkBool32 shaderInt8;
5411 VkBool32 descriptorIndexing;
5412 VkBool32 shaderInputAttachmentArrayDynamicIndexing;
5413 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
5414 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
5415 VkBool32 shaderUniformBufferArrayNonUniformIndexing;
5416 VkBool32 shaderSampledImageArrayNonUniformIndexing;
5417 VkBool32 shaderStorageBufferArrayNonUniformIndexing;
5418 VkBool32 shaderStorageImageArrayNonUniformIndexing;
5419 VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
5420 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
5421 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
5422 VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
5423 VkBool32 descriptorBindingSampledImageUpdateAfterBind;
5424 VkBool32 descriptorBindingStorageImageUpdateAfterBind;
5425 VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
5426 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
5427 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
5428 VkBool32 descriptorBindingUpdateUnusedWhilePending;
5429 VkBool32 descriptorBindingPartiallyBound;
5430 VkBool32 descriptorBindingVariableDescriptorCount;
5431 VkBool32 runtimeDescriptorArray;
5432 VkBool32 samplerFilterMinmax;
5433 VkBool32 scalarBlockLayout;
5434 VkBool32 imagelessFramebuffer;
5435 VkBool32 uniformBufferStandardLayout;
5436 VkBool32 shaderSubgroupExtendedTypes;
5437 VkBool32 separateDepthStencilLayouts;
5438 VkBool32 hostQueryReset;
5439 VkBool32 timelineSemaphore;
5440 VkBool32 bufferDeviceAddress;
5441 VkBool32 bufferDeviceAddressCaptureReplay;
5442 VkBool32 bufferDeviceAddressMultiDevice;
5443 VkBool32 vulkanMemoryModel;
5444 VkBool32 vulkanMemoryModelDeviceScope;
5445 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
5446 VkBool32 shaderOutputViewportIndex;
5447 VkBool32 shaderOutputLayer;
5448 VkBool32 subgroupBroadcastDynamicId;
5449 } VkPhysicalDeviceVulkan12Features;
5451 typedef struct VkConformanceVersion {
5456 } VkConformanceVersion;
5458 typedef struct VkPhysicalDeviceVulkan12Properties {
5459 VkStructureType sType;
5461 VkDriverId driverID;
5462 char driverName[VK_MAX_DRIVER_NAME_SIZE];
5463 char driverInfo[VK_MAX_DRIVER_INFO_SIZE];
5464 VkConformanceVersion conformanceVersion;
5465 VkShaderFloatControlsIndependence denormBehaviorIndependence;
5466 VkShaderFloatControlsIndependence roundingModeIndependence;
5467 VkBool32 shaderSignedZeroInfNanPreserveFloat16;
5468 VkBool32 shaderSignedZeroInfNanPreserveFloat32;
5469 VkBool32 shaderSignedZeroInfNanPreserveFloat64;
5470 VkBool32 shaderDenormPreserveFloat16;
5471 VkBool32 shaderDenormPreserveFloat32;
5472 VkBool32 shaderDenormPreserveFloat64;
5473 VkBool32 shaderDenormFlushToZeroFloat16;
5474 VkBool32 shaderDenormFlushToZeroFloat32;
5475 VkBool32 shaderDenormFlushToZeroFloat64;
5476 VkBool32 shaderRoundingModeRTEFloat16;
5477 VkBool32 shaderRoundingModeRTEFloat32;
5478 VkBool32 shaderRoundingModeRTEFloat64;
5479 VkBool32 shaderRoundingModeRTZFloat16;
5480 VkBool32 shaderRoundingModeRTZFloat32;
5481 VkBool32 shaderRoundingModeRTZFloat64;
5482 uint32_t maxUpdateAfterBindDescriptorsInAllPools;
5483 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
5484 VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
5485 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
5486 VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
5487 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
5488 VkBool32 robustBufferAccessUpdateAfterBind;
5489 VkBool32 quadDivergentImplicitLod;
5490 uint32_t maxPerStageDescriptorUpdateAfterBindSamplers;
5491 uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers;
5492 uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers;
5493 uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages;
5494 uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages;
5495 uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments;
5496 uint32_t maxPerStageUpdateAfterBindResources;
5497 uint32_t maxDescriptorSetUpdateAfterBindSamplers;
5498 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers;
5499 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
5500 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers;
5501 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
5502 uint32_t maxDescriptorSetUpdateAfterBindSampledImages;
5503 uint32_t maxDescriptorSetUpdateAfterBindStorageImages;
5504 uint32_t maxDescriptorSetUpdateAfterBindInputAttachments;
5505 VkResolveModeFlags supportedDepthResolveModes;
5506 VkResolveModeFlags supportedStencilResolveModes;
5507 VkBool32 independentResolveNone;
5508 VkBool32 independentResolve;
5509 VkBool32 filterMinmaxSingleComponentFormats;
5510 VkBool32 filterMinmaxImageComponentMapping;
5511 uint64_t maxTimelineSemaphoreValueDifference;
5512 VkSampleCountFlags framebufferIntegerColorSampleCounts;
5513 } VkPhysicalDeviceVulkan12Properties;
5515 typedef struct VkImageFormatListCreateInfo {
5516 VkStructureType sType;
5518 uint32_t viewFormatCount;
5519 const VkFormat* pViewFormats;
5520 } VkImageFormatListCreateInfo;
5522 typedef struct VkAttachmentDescription2 {
5523 VkStructureType sType;
5525 VkAttachmentDescriptionFlags flags;
5527 VkSampleCountFlagBits samples;
5528 VkAttachmentLoadOp loadOp;
5529 VkAttachmentStoreOp storeOp;
5530 VkAttachmentLoadOp stencilLoadOp;
5531 VkAttachmentStoreOp stencilStoreOp;
5532 VkImageLayout initialLayout;
5533 VkImageLayout finalLayout;
5534 } VkAttachmentDescription2;
5536 typedef struct VkAttachmentReference2 {
5537 VkStructureType sType;
5539 uint32_t attachment;
5540 VkImageLayout layout;
5541 VkImageAspectFlags aspectMask;
5542 } VkAttachmentReference2;
5544 typedef struct VkSubpassDescription2 {
5545 VkStructureType sType;
5547 VkSubpassDescriptionFlags flags;
5548 VkPipelineBindPoint pipelineBindPoint;
5550 uint32_t inputAttachmentCount;
5551 const VkAttachmentReference2* pInputAttachments;
5552 uint32_t colorAttachmentCount;
5553 const VkAttachmentReference2* pColorAttachments;
5554 const VkAttachmentReference2* pResolveAttachments;
5555 const VkAttachmentReference2* pDepthStencilAttachment;
5556 uint32_t preserveAttachmentCount;
5557 const uint32_t* pPreserveAttachments;
5558 } VkSubpassDescription2;
5560 typedef struct VkSubpassDependency2 {
5561 VkStructureType sType;
5563 uint32_t srcSubpass;
5564 uint32_t dstSubpass;
5565 VkPipelineStageFlags srcStageMask;
5566 VkPipelineStageFlags dstStageMask;
5567 VkAccessFlags srcAccessMask;
5568 VkAccessFlags dstAccessMask;
5569 VkDependencyFlags dependencyFlags;
5571 } VkSubpassDependency2;
5573 typedef struct VkRenderPassCreateInfo2 {
5574 VkStructureType sType;
5576 VkRenderPassCreateFlags flags;
5577 uint32_t attachmentCount;
5578 const VkAttachmentDescription2* pAttachments;
5579 uint32_t subpassCount;
5580 const VkSubpassDescription2* pSubpasses;
5581 uint32_t dependencyCount;
5582 const VkSubpassDependency2* pDependencies;
5583 uint32_t correlatedViewMaskCount;
5584 const uint32_t* pCorrelatedViewMasks;
5585 } VkRenderPassCreateInfo2;
5587 typedef struct VkSubpassBeginInfo {
5588 VkStructureType sType;
5590 VkSubpassContents contents;
5591 } VkSubpassBeginInfo;
5593 typedef struct VkSubpassEndInfo {
5594 VkStructureType sType;
5598 typedef struct VkPhysicalDevice8BitStorageFeatures {
5599 VkStructureType sType;
5601 VkBool32 storageBuffer8BitAccess;
5602 VkBool32 uniformAndStorageBuffer8BitAccess;
5603 VkBool32 storagePushConstant8;
5604 } VkPhysicalDevice8BitStorageFeatures;
5606 typedef struct VkPhysicalDeviceDriverProperties {
5607 VkStructureType sType;
5609 VkDriverId driverID;
5610 char driverName[VK_MAX_DRIVER_NAME_SIZE];
5611 char driverInfo[VK_MAX_DRIVER_INFO_SIZE];
5612 VkConformanceVersion conformanceVersion;
5613 } VkPhysicalDeviceDriverProperties;
5615 typedef struct VkPhysicalDeviceShaderAtomicInt64Features {
5616 VkStructureType sType;
5618 VkBool32 shaderBufferInt64Atomics;
5619 VkBool32 shaderSharedInt64Atomics;
5620 } VkPhysicalDeviceShaderAtomicInt64Features;
5622 typedef struct VkPhysicalDeviceShaderFloat16Int8Features {
5623 VkStructureType sType;
5625 VkBool32 shaderFloat16;
5626 VkBool32 shaderInt8;
5627 } VkPhysicalDeviceShaderFloat16Int8Features;
5629 typedef struct VkPhysicalDeviceFloatControlsProperties {
5630 VkStructureType sType;
5632 VkShaderFloatControlsIndependence denormBehaviorIndependence;
5633 VkShaderFloatControlsIndependence roundingModeIndependence;
5634 VkBool32 shaderSignedZeroInfNanPreserveFloat16;
5635 VkBool32 shaderSignedZeroInfNanPreserveFloat32;
5636 VkBool32 shaderSignedZeroInfNanPreserveFloat64;
5637 VkBool32 shaderDenormPreserveFloat16;
5638 VkBool32 shaderDenormPreserveFloat32;
5639 VkBool32 shaderDenormPreserveFloat64;
5640 VkBool32 shaderDenormFlushToZeroFloat16;
5641 VkBool32 shaderDenormFlushToZeroFloat32;
5642 VkBool32 shaderDenormFlushToZeroFloat64;
5643 VkBool32 shaderRoundingModeRTEFloat16;
5644 VkBool32 shaderRoundingModeRTEFloat32;
5645 VkBool32 shaderRoundingModeRTEFloat64;
5646 VkBool32 shaderRoundingModeRTZFloat16;
5647 VkBool32 shaderRoundingModeRTZFloat32;
5648 VkBool32 shaderRoundingModeRTZFloat64;
5649 } VkPhysicalDeviceFloatControlsProperties;
5651 typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfo {
5652 VkStructureType sType;
5654 uint32_t bindingCount;
5655 const VkDescriptorBindingFlags* pBindingFlags;
5656 } VkDescriptorSetLayoutBindingFlagsCreateInfo;
5658 typedef struct VkPhysicalDeviceDescriptorIndexingFeatures {
5659 VkStructureType sType;
5661 VkBool32 shaderInputAttachmentArrayDynamicIndexing;
5662 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
5663 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
5664 VkBool32 shaderUniformBufferArrayNonUniformIndexing;
5665 VkBool32 shaderSampledImageArrayNonUniformIndexing;
5666 VkBool32 shaderStorageBufferArrayNonUniformIndexing;
5667 VkBool32 shaderStorageImageArrayNonUniformIndexing;
5668 VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
5669 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
5670 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
5671 VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
5672 VkBool32 descriptorBindingSampledImageUpdateAfterBind;
5673 VkBool32 descriptorBindingStorageImageUpdateAfterBind;
5674 VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
5675 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
5676 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
5677 VkBool32 descriptorBindingUpdateUnusedWhilePending;
5678 VkBool32 descriptorBindingPartiallyBound;
5679 VkBool32 descriptorBindingVariableDescriptorCount;
5680 VkBool32 runtimeDescriptorArray;
5681 } VkPhysicalDeviceDescriptorIndexingFeatures;
5683 typedef struct VkPhysicalDeviceDescriptorIndexingProperties {
5684 VkStructureType sType;
5686 uint32_t maxUpdateAfterBindDescriptorsInAllPools;
5687 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
5688 VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
5689 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
5690 VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
5691 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
5692 VkBool32 robustBufferAccessUpdateAfterBind;
5693 VkBool32 quadDivergentImplicitLod;
5694 uint32_t maxPerStageDescriptorUpdateAfterBindSamplers;
5695 uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers;
5696 uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers;
5697 uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages;
5698 uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages;
5699 uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments;
5700 uint32_t maxPerStageUpdateAfterBindResources;
5701 uint32_t maxDescriptorSetUpdateAfterBindSamplers;
5702 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers;
5703 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
5704 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers;
5705 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
5706 uint32_t maxDescriptorSetUpdateAfterBindSampledImages;
5707 uint32_t maxDescriptorSetUpdateAfterBindStorageImages;
5708 uint32_t maxDescriptorSetUpdateAfterBindInputAttachments;
5709 } VkPhysicalDeviceDescriptorIndexingProperties;
5711 typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfo {
5712 VkStructureType sType;
5714 uint32_t descriptorSetCount;
5715 const uint32_t* pDescriptorCounts;
5716 } VkDescriptorSetVariableDescriptorCountAllocateInfo;
5718 typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupport {
5719 VkStructureType sType;
5721 uint32_t maxVariableDescriptorCount;
5722 } VkDescriptorSetVariableDescriptorCountLayoutSupport;
5724 typedef struct VkSubpassDescriptionDepthStencilResolve {
5725 VkStructureType sType;
5727 VkResolveModeFlagBits depthResolveMode;
5728 VkResolveModeFlagBits stencilResolveMode;
5729 const VkAttachmentReference2* pDepthStencilResolveAttachment;
5730 } VkSubpassDescriptionDepthStencilResolve;
5732 typedef struct VkPhysicalDeviceDepthStencilResolveProperties {
5733 VkStructureType sType;
5735 VkResolveModeFlags supportedDepthResolveModes;
5736 VkResolveModeFlags supportedStencilResolveModes;
5737 VkBool32 independentResolveNone;
5738 VkBool32 independentResolve;
5739 } VkPhysicalDeviceDepthStencilResolveProperties;
5741 typedef struct VkPhysicalDeviceScalarBlockLayoutFeatures {
5742 VkStructureType sType;
5744 VkBool32 scalarBlockLayout;
5745 } VkPhysicalDeviceScalarBlockLayoutFeatures;
5747 typedef struct VkImageStencilUsageCreateInfo {
5748 VkStructureType sType;
5750 VkImageUsageFlags stencilUsage;
5751 } VkImageStencilUsageCreateInfo;
5753 typedef struct VkSamplerReductionModeCreateInfo {
5754 VkStructureType sType;
5756 VkSamplerReductionMode reductionMode;
5757 } VkSamplerReductionModeCreateInfo;
5759 typedef struct VkPhysicalDeviceSamplerFilterMinmaxProperties {
5760 VkStructureType sType;
5762 VkBool32 filterMinmaxSingleComponentFormats;
5763 VkBool32 filterMinmaxImageComponentMapping;
5764 } VkPhysicalDeviceSamplerFilterMinmaxProperties;
5766 typedef struct VkPhysicalDeviceVulkanMemoryModelFeatures {
5767 VkStructureType sType;
5769 VkBool32 vulkanMemoryModel;
5770 VkBool32 vulkanMemoryModelDeviceScope;
5771 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
5772 } VkPhysicalDeviceVulkanMemoryModelFeatures;
5774 typedef struct VkPhysicalDeviceImagelessFramebufferFeatures {
5775 VkStructureType sType;
5777 VkBool32 imagelessFramebuffer;
5778 } VkPhysicalDeviceImagelessFramebufferFeatures;
5780 typedef struct VkFramebufferAttachmentImageInfo {
5781 VkStructureType sType;
5783 VkImageCreateFlags flags;
5784 VkImageUsageFlags usage;
5787 uint32_t layerCount;
5788 uint32_t viewFormatCount;
5789 const VkFormat* pViewFormats;
5790 } VkFramebufferAttachmentImageInfo;
5792 typedef struct VkFramebufferAttachmentsCreateInfo {
5793 VkStructureType sType;
5795 uint32_t attachmentImageInfoCount;
5796 const VkFramebufferAttachmentImageInfo* pAttachmentImageInfos;
5797 } VkFramebufferAttachmentsCreateInfo;
5799 typedef struct VkRenderPassAttachmentBeginInfo {
5800 VkStructureType sType;
5802 uint32_t attachmentCount;
5803 const VkImageView* pAttachments;
5804 } VkRenderPassAttachmentBeginInfo;
5806 typedef struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures {
5807 VkStructureType sType;
5809 VkBool32 uniformBufferStandardLayout;
5810 } VkPhysicalDeviceUniformBufferStandardLayoutFeatures;
5812 typedef struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures {
5813 VkStructureType sType;
5815 VkBool32 shaderSubgroupExtendedTypes;
5816 } VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures;
5818 typedef struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures {
5819 VkStructureType sType;
5821 VkBool32 separateDepthStencilLayouts;
5822 } VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures;
5824 typedef struct VkAttachmentReferenceStencilLayout {
5825 VkStructureType sType;
5827 VkImageLayout stencilLayout;
5828 } VkAttachmentReferenceStencilLayout;
5830 typedef struct VkAttachmentDescriptionStencilLayout {
5831 VkStructureType sType;
5833 VkImageLayout stencilInitialLayout;
5834 VkImageLayout stencilFinalLayout;
5835 } VkAttachmentDescriptionStencilLayout;
5837 typedef struct VkPhysicalDeviceHostQueryResetFeatures {
5838 VkStructureType sType;
5840 VkBool32 hostQueryReset;
5841 } VkPhysicalDeviceHostQueryResetFeatures;
5843 typedef struct VkPhysicalDeviceTimelineSemaphoreFeatures {
5844 VkStructureType sType;
5846 VkBool32 timelineSemaphore;
5847 } VkPhysicalDeviceTimelineSemaphoreFeatures;
5849 typedef struct VkPhysicalDeviceTimelineSemaphoreProperties {
5850 VkStructureType sType;
5852 uint64_t maxTimelineSemaphoreValueDifference;
5853 } VkPhysicalDeviceTimelineSemaphoreProperties;
5855 typedef struct VkSemaphoreTypeCreateInfo {
5856 VkStructureType sType;
5858 VkSemaphoreType semaphoreType;
5859 uint64_t initialValue;
5860 } VkSemaphoreTypeCreateInfo;
5862 typedef struct VkTimelineSemaphoreSubmitInfo {
5863 VkStructureType sType;
5865 uint32_t waitSemaphoreValueCount;
5866 const uint64_t* pWaitSemaphoreValues;
5867 uint32_t signalSemaphoreValueCount;
5868 const uint64_t* pSignalSemaphoreValues;
5869 } VkTimelineSemaphoreSubmitInfo;
5871 typedef struct VkSemaphoreWaitInfo {
5872 VkStructureType sType;
5874 VkSemaphoreWaitFlags flags;
5875 uint32_t semaphoreCount;
5876 const VkSemaphore* pSemaphores;
5877 const uint64_t* pValues;
5878 } VkSemaphoreWaitInfo;
5880 typedef struct VkSemaphoreSignalInfo {
5881 VkStructureType sType;
5883 VkSemaphore semaphore;
5885 } VkSemaphoreSignalInfo;
5887 typedef struct VkPhysicalDeviceBufferDeviceAddressFeatures {
5888 VkStructureType sType;
5890 VkBool32 bufferDeviceAddress;
5891 VkBool32 bufferDeviceAddressCaptureReplay;
5892 VkBool32 bufferDeviceAddressMultiDevice;
5893 } VkPhysicalDeviceBufferDeviceAddressFeatures;
5895 typedef struct VkBufferDeviceAddressInfo {
5896 VkStructureType sType;
5899 } VkBufferDeviceAddressInfo;
5901 typedef struct VkBufferOpaqueCaptureAddressCreateInfo {
5902 VkStructureType sType;
5904 uint64_t opaqueCaptureAddress;
5905 } VkBufferOpaqueCaptureAddressCreateInfo;
5907 typedef struct VkMemoryOpaqueCaptureAddressAllocateInfo {
5908 VkStructureType sType;
5910 uint64_t opaqueCaptureAddress;
5911 } VkMemoryOpaqueCaptureAddressAllocateInfo;
5913 typedef struct VkDeviceMemoryOpaqueCaptureAddressInfo {
5914 VkStructureType sType;
5916 VkDeviceMemory memory;
5917 } VkDeviceMemoryOpaqueCaptureAddressInfo;
5919 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
5920 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
5921 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
5922 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo);
5923 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo);
5924 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo);
5925 typedef void (VKAPI_PTR *PFN_vkResetQueryPool)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount);
5926 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValue)(VkDevice device, VkSemaphore semaphore, uint64_t* pValue);
5927 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphores)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout);
5928 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphore)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo);
5929 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
5930 typedef uint64_t (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
5931 typedef uint64_t (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddress)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
5933 #ifndef VK_NO_PROTOTYPES
5934 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCount(
5935 VkCommandBuffer commandBuffer,
5937 VkDeviceSize offset,
5938 VkBuffer countBuffer,
5939 VkDeviceSize countBufferOffset,
5940 uint32_t maxDrawCount,
5943 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCount(
5944 VkCommandBuffer commandBuffer,
5946 VkDeviceSize offset,
5947 VkBuffer countBuffer,
5948 VkDeviceSize countBufferOffset,
5949 uint32_t maxDrawCount,
5952 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2(
5954 const VkRenderPassCreateInfo2* pCreateInfo,
5955 const VkAllocationCallbacks* pAllocator,
5956 VkRenderPass* pRenderPass);
5958 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2(
5959 VkCommandBuffer commandBuffer,
5960 const VkRenderPassBeginInfo* pRenderPassBegin,
5961 const VkSubpassBeginInfo* pSubpassBeginInfo);
5963 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2(
5964 VkCommandBuffer commandBuffer,
5965 const VkSubpassBeginInfo* pSubpassBeginInfo,
5966 const VkSubpassEndInfo* pSubpassEndInfo);
5968 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2(
5969 VkCommandBuffer commandBuffer,
5970 const VkSubpassEndInfo* pSubpassEndInfo);
5972 VKAPI_ATTR void VKAPI_CALL vkResetQueryPool(
5974 VkQueryPool queryPool,
5975 uint32_t firstQuery,
5976 uint32_t queryCount);
5978 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValue(
5980 VkSemaphore semaphore,
5983 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphores(
5985 const VkSemaphoreWaitInfo* pWaitInfo,
5988 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphore(
5990 const VkSemaphoreSignalInfo* pSignalInfo);
5992 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddress(
5994 const VkBufferDeviceAddressInfo* pInfo);
5996 VKAPI_ATTR uint64_t VKAPI_CALL vkGetBufferOpaqueCaptureAddress(
5998 const VkBufferDeviceAddressInfo* pInfo);
6000 VKAPI_ATTR uint64_t VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddress(
6002 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
6006 #define VK_KHR_surface 1
6007 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR)
6008 #define VK_KHR_SURFACE_SPEC_VERSION 25
6009 #define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface"
6011 typedef enum VkPresentModeKHR {
6012 VK_PRESENT_MODE_IMMEDIATE_KHR = 0,
6013 VK_PRESENT_MODE_MAILBOX_KHR = 1,
6014 VK_PRESENT_MODE_FIFO_KHR = 2,
6015 VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3,
6016 VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR = 1000111000,
6017 VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = 1000111001,
6018 VK_PRESENT_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
6021 typedef enum VkColorSpaceKHR {
6022 VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0,
6023 VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = 1000104001,
6024 VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT = 1000104002,
6025 VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT = 1000104003,
6026 VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT = 1000104004,
6027 VK_COLOR_SPACE_BT709_LINEAR_EXT = 1000104005,
6028 VK_COLOR_SPACE_BT709_NONLINEAR_EXT = 1000104006,
6029 VK_COLOR_SPACE_BT2020_LINEAR_EXT = 1000104007,
6030 VK_COLOR_SPACE_HDR10_ST2084_EXT = 1000104008,
6031 VK_COLOR_SPACE_DOLBYVISION_EXT = 1000104009,
6032 VK_COLOR_SPACE_HDR10_HLG_EXT = 1000104010,
6033 VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT = 1000104011,
6034 VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT = 1000104012,
6035 VK_COLOR_SPACE_PASS_THROUGH_EXT = 1000104013,
6036 VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT = 1000104014,
6037 VK_COLOR_SPACE_DISPLAY_NATIVE_AMD = 1000213000,
6038 VK_COLORSPACE_SRGB_NONLINEAR_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
6039 VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT,
6040 VK_COLOR_SPACE_MAX_ENUM_KHR = 0x7FFFFFFF
6043 typedef enum VkSurfaceTransformFlagBitsKHR {
6044 VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 0x00000001,
6045 VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 0x00000002,
6046 VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 0x00000004,
6047 VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 0x00000008,
6048 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 0x00000010,
6049 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 0x00000020,
6050 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 0x00000040,
6051 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 0x00000080,
6052 VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 0x00000100,
6053 VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
6054 } VkSurfaceTransformFlagBitsKHR;
6056 typedef enum VkCompositeAlphaFlagBitsKHR {
6057 VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
6058 VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 0x00000002,
6059 VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 0x00000004,
6060 VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 0x00000008,
6061 VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
6062 } VkCompositeAlphaFlagBitsKHR;
6063 typedef VkFlags VkCompositeAlphaFlagsKHR;
6064 typedef VkFlags VkSurfaceTransformFlagsKHR;
6065 typedef struct VkSurfaceCapabilitiesKHR {
6066 uint32_t minImageCount;
6067 uint32_t maxImageCount;
6068 VkExtent2D currentExtent;
6069 VkExtent2D minImageExtent;
6070 VkExtent2D maxImageExtent;
6071 uint32_t maxImageArrayLayers;
6072 VkSurfaceTransformFlagsKHR supportedTransforms;
6073 VkSurfaceTransformFlagBitsKHR currentTransform;
6074 VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
6075 VkImageUsageFlags supportedUsageFlags;
6076 } VkSurfaceCapabilitiesKHR;
6078 typedef struct VkSurfaceFormatKHR {
6080 VkColorSpaceKHR colorSpace;
6081 } VkSurfaceFormatKHR;
6083 typedef void (VKAPI_PTR *PFN_vkDestroySurfaceKHR)(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator);
6084 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported);
6085 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
6086 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats);
6087 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pPresentModeCount, VkPresentModeKHR* pPresentModes);
6089 #ifndef VK_NO_PROTOTYPES
6090 VKAPI_ATTR void VKAPI_CALL vkDestroySurfaceKHR(
6091 VkInstance instance,
6092 VkSurfaceKHR surface,
6093 const VkAllocationCallbacks* pAllocator);
6095 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceSupportKHR(
6096 VkPhysicalDevice physicalDevice,
6097 uint32_t queueFamilyIndex,
6098 VkSurfaceKHR surface,
6099 VkBool32* pSupported);
6101 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilitiesKHR(
6102 VkPhysicalDevice physicalDevice,
6103 VkSurfaceKHR surface,
6104 VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
6106 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormatsKHR(
6107 VkPhysicalDevice physicalDevice,
6108 VkSurfaceKHR surface,
6109 uint32_t* pSurfaceFormatCount,
6110 VkSurfaceFormatKHR* pSurfaceFormats);
6112 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModesKHR(
6113 VkPhysicalDevice physicalDevice,
6114 VkSurfaceKHR surface,
6115 uint32_t* pPresentModeCount,
6116 VkPresentModeKHR* pPresentModes);
6120 #define VK_KHR_swapchain 1
6121 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR)
6122 #define VK_KHR_SWAPCHAIN_SPEC_VERSION 70
6123 #define VK_KHR_SWAPCHAIN_EXTENSION_NAME "VK_KHR_swapchain"
6125 typedef enum VkSwapchainCreateFlagBitsKHR {
6126 VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 0x00000001,
6127 VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR = 0x00000002,
6128 VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR = 0x00000004,
6129 VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
6130 } VkSwapchainCreateFlagBitsKHR;
6131 typedef VkFlags VkSwapchainCreateFlagsKHR;
6133 typedef enum VkDeviceGroupPresentModeFlagBitsKHR {
6134 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR = 0x00000001,
6135 VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR = 0x00000002,
6136 VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR = 0x00000004,
6137 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR = 0x00000008,
6138 VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
6139 } VkDeviceGroupPresentModeFlagBitsKHR;
6140 typedef VkFlags VkDeviceGroupPresentModeFlagsKHR;
6141 typedef struct VkSwapchainCreateInfoKHR {
6142 VkStructureType sType;
6144 VkSwapchainCreateFlagsKHR flags;
6145 VkSurfaceKHR surface;
6146 uint32_t minImageCount;
6147 VkFormat imageFormat;
6148 VkColorSpaceKHR imageColorSpace;
6149 VkExtent2D imageExtent;
6150 uint32_t imageArrayLayers;
6151 VkImageUsageFlags imageUsage;
6152 VkSharingMode imageSharingMode;
6153 uint32_t queueFamilyIndexCount;
6154 const uint32_t* pQueueFamilyIndices;
6155 VkSurfaceTransformFlagBitsKHR preTransform;
6156 VkCompositeAlphaFlagBitsKHR compositeAlpha;
6157 VkPresentModeKHR presentMode;
6159 VkSwapchainKHR oldSwapchain;
6160 } VkSwapchainCreateInfoKHR;
6162 typedef struct VkPresentInfoKHR {
6163 VkStructureType sType;
6165 uint32_t waitSemaphoreCount;
6166 const VkSemaphore* pWaitSemaphores;
6167 uint32_t swapchainCount;
6168 const VkSwapchainKHR* pSwapchains;
6169 const uint32_t* pImageIndices;
6173 typedef struct VkImageSwapchainCreateInfoKHR {
6174 VkStructureType sType;
6176 VkSwapchainKHR swapchain;
6177 } VkImageSwapchainCreateInfoKHR;
6179 typedef struct VkBindImageMemorySwapchainInfoKHR {
6180 VkStructureType sType;
6182 VkSwapchainKHR swapchain;
6183 uint32_t imageIndex;
6184 } VkBindImageMemorySwapchainInfoKHR;
6186 typedef struct VkAcquireNextImageInfoKHR {
6187 VkStructureType sType;
6189 VkSwapchainKHR swapchain;
6191 VkSemaphore semaphore;
6193 uint32_t deviceMask;
6194 } VkAcquireNextImageInfoKHR;
6196 typedef struct VkDeviceGroupPresentCapabilitiesKHR {
6197 VkStructureType sType;
6199 uint32_t presentMask[VK_MAX_DEVICE_GROUP_SIZE];
6200 VkDeviceGroupPresentModeFlagsKHR modes;
6201 } VkDeviceGroupPresentCapabilitiesKHR;
6203 typedef struct VkDeviceGroupPresentInfoKHR {
6204 VkStructureType sType;
6206 uint32_t swapchainCount;
6207 const uint32_t* pDeviceMasks;
6208 VkDeviceGroupPresentModeFlagBitsKHR mode;
6209 } VkDeviceGroupPresentInfoKHR;
6211 typedef struct VkDeviceGroupSwapchainCreateInfoKHR {
6212 VkStructureType sType;
6214 VkDeviceGroupPresentModeFlagsKHR modes;
6215 } VkDeviceGroupSwapchainCreateInfoKHR;
6217 typedef VkResult (VKAPI_PTR *PFN_vkCreateSwapchainKHR)(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain);
6218 typedef void (VKAPI_PTR *PFN_vkDestroySwapchainKHR)(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator);
6219 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainImagesKHR)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages);
6220 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImageKHR)(VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex);
6221 typedef VkResult (VKAPI_PTR *PFN_vkQueuePresentKHR)(VkQueue queue, const VkPresentInfoKHR* pPresentInfo);
6222 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupPresentCapabilitiesKHR)(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
6223 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupSurfacePresentModesKHR)(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes);
6224 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDevicePresentRectanglesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pRectCount, VkRect2D* pRects);
6225 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImage2KHR)(VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, uint32_t* pImageIndex);
6227 #ifndef VK_NO_PROTOTYPES
6228 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSwapchainKHR(
6230 const VkSwapchainCreateInfoKHR* pCreateInfo,
6231 const VkAllocationCallbacks* pAllocator,
6232 VkSwapchainKHR* pSwapchain);
6234 VKAPI_ATTR void VKAPI_CALL vkDestroySwapchainKHR(
6236 VkSwapchainKHR swapchain,
6237 const VkAllocationCallbacks* pAllocator);
6239 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainImagesKHR(
6241 VkSwapchainKHR swapchain,
6242 uint32_t* pSwapchainImageCount,
6243 VkImage* pSwapchainImages);
6245 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImageKHR(
6247 VkSwapchainKHR swapchain,
6249 VkSemaphore semaphore,
6251 uint32_t* pImageIndex);
6253 VKAPI_ATTR VkResult VKAPI_CALL vkQueuePresentKHR(
6255 const VkPresentInfoKHR* pPresentInfo);
6257 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupPresentCapabilitiesKHR(
6259 VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
6261 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupSurfacePresentModesKHR(
6263 VkSurfaceKHR surface,
6264 VkDeviceGroupPresentModeFlagsKHR* pModes);
6266 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDevicePresentRectanglesKHR(
6267 VkPhysicalDevice physicalDevice,
6268 VkSurfaceKHR surface,
6269 uint32_t* pRectCount,
6272 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImage2KHR(
6274 const VkAcquireNextImageInfoKHR* pAcquireInfo,
6275 uint32_t* pImageIndex);
6279 #define VK_KHR_display 1
6280 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR)
6281 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR)
6282 #define VK_KHR_DISPLAY_SPEC_VERSION 23
6283 #define VK_KHR_DISPLAY_EXTENSION_NAME "VK_KHR_display"
6284 typedef VkFlags VkDisplayModeCreateFlagsKHR;
6286 typedef enum VkDisplayPlaneAlphaFlagBitsKHR {
6287 VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
6288 VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR = 0x00000002,
6289 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR = 0x00000004,
6290 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = 0x00000008,
6291 VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
6292 } VkDisplayPlaneAlphaFlagBitsKHR;
6293 typedef VkFlags VkDisplayPlaneAlphaFlagsKHR;
6294 typedef VkFlags VkDisplaySurfaceCreateFlagsKHR;
6295 typedef struct VkDisplayModeParametersKHR {
6296 VkExtent2D visibleRegion;
6297 uint32_t refreshRate;
6298 } VkDisplayModeParametersKHR;
6300 typedef struct VkDisplayModeCreateInfoKHR {
6301 VkStructureType sType;
6303 VkDisplayModeCreateFlagsKHR flags;
6304 VkDisplayModeParametersKHR parameters;
6305 } VkDisplayModeCreateInfoKHR;
6307 typedef struct VkDisplayModePropertiesKHR {
6308 VkDisplayModeKHR displayMode;
6309 VkDisplayModeParametersKHR parameters;
6310 } VkDisplayModePropertiesKHR;
6312 typedef struct VkDisplayPlaneCapabilitiesKHR {
6313 VkDisplayPlaneAlphaFlagsKHR supportedAlpha;
6314 VkOffset2D minSrcPosition;
6315 VkOffset2D maxSrcPosition;
6316 VkExtent2D minSrcExtent;
6317 VkExtent2D maxSrcExtent;
6318 VkOffset2D minDstPosition;
6319 VkOffset2D maxDstPosition;
6320 VkExtent2D minDstExtent;
6321 VkExtent2D maxDstExtent;
6322 } VkDisplayPlaneCapabilitiesKHR;
6324 typedef struct VkDisplayPlanePropertiesKHR {
6325 VkDisplayKHR currentDisplay;
6326 uint32_t currentStackIndex;
6327 } VkDisplayPlanePropertiesKHR;
6329 typedef struct VkDisplayPropertiesKHR {
6330 VkDisplayKHR display;
6331 const char* displayName;
6332 VkExtent2D physicalDimensions;
6333 VkExtent2D physicalResolution;
6334 VkSurfaceTransformFlagsKHR supportedTransforms;
6335 VkBool32 planeReorderPossible;
6336 VkBool32 persistentContent;
6337 } VkDisplayPropertiesKHR;
6339 typedef struct VkDisplaySurfaceCreateInfoKHR {
6340 VkStructureType sType;
6342 VkDisplaySurfaceCreateFlagsKHR flags;
6343 VkDisplayModeKHR displayMode;
6344 uint32_t planeIndex;
6345 uint32_t planeStackIndex;
6346 VkSurfaceTransformFlagBitsKHR transform;
6348 VkDisplayPlaneAlphaFlagBitsKHR alphaMode;
6349 VkExtent2D imageExtent;
6350 } VkDisplaySurfaceCreateInfoKHR;
6352 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPropertiesKHR* pProperties);
6353 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties);
6354 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneSupportedDisplaysKHR)(VkPhysicalDevice physicalDevice, uint32_t planeIndex, uint32_t* pDisplayCount, VkDisplayKHR* pDisplays);
6355 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModePropertiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModePropertiesKHR* pProperties);
6356 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayModeKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode);
6357 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, uint32_t planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities);
6358 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayPlaneSurfaceKHR)(VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
6360 #ifndef VK_NO_PROTOTYPES
6361 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPropertiesKHR(
6362 VkPhysicalDevice physicalDevice,
6363 uint32_t* pPropertyCount,
6364 VkDisplayPropertiesKHR* pProperties);
6366 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlanePropertiesKHR(
6367 VkPhysicalDevice physicalDevice,
6368 uint32_t* pPropertyCount,
6369 VkDisplayPlanePropertiesKHR* pProperties);
6371 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneSupportedDisplaysKHR(
6372 VkPhysicalDevice physicalDevice,
6373 uint32_t planeIndex,
6374 uint32_t* pDisplayCount,
6375 VkDisplayKHR* pDisplays);
6377 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModePropertiesKHR(
6378 VkPhysicalDevice physicalDevice,
6379 VkDisplayKHR display,
6380 uint32_t* pPropertyCount,
6381 VkDisplayModePropertiesKHR* pProperties);
6383 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayModeKHR(
6384 VkPhysicalDevice physicalDevice,
6385 VkDisplayKHR display,
6386 const VkDisplayModeCreateInfoKHR* pCreateInfo,
6387 const VkAllocationCallbacks* pAllocator,
6388 VkDisplayModeKHR* pMode);
6390 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilitiesKHR(
6391 VkPhysicalDevice physicalDevice,
6392 VkDisplayModeKHR mode,
6393 uint32_t planeIndex,
6394 VkDisplayPlaneCapabilitiesKHR* pCapabilities);
6396 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayPlaneSurfaceKHR(
6397 VkInstance instance,
6398 const VkDisplaySurfaceCreateInfoKHR* pCreateInfo,
6399 const VkAllocationCallbacks* pAllocator,
6400 VkSurfaceKHR* pSurface);
6404 #define VK_KHR_display_swapchain 1
6405 #define VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION 10
6406 #define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME "VK_KHR_display_swapchain"
6407 typedef struct VkDisplayPresentInfoKHR {
6408 VkStructureType sType;
6412 VkBool32 persistent;
6413 } VkDisplayPresentInfoKHR;
6415 typedef VkResult (VKAPI_PTR *PFN_vkCreateSharedSwapchainsKHR)(VkDevice device, uint32_t swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains);
6417 #ifndef VK_NO_PROTOTYPES
6418 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSharedSwapchainsKHR(
6420 uint32_t swapchainCount,
6421 const VkSwapchainCreateInfoKHR* pCreateInfos,
6422 const VkAllocationCallbacks* pAllocator,
6423 VkSwapchainKHR* pSwapchains);
6427 #define VK_KHR_sampler_mirror_clamp_to_edge 1
6428 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION 3
6429 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME "VK_KHR_sampler_mirror_clamp_to_edge"
6432 #define VK_KHR_multiview 1
6433 #define VK_KHR_MULTIVIEW_SPEC_VERSION 1
6434 #define VK_KHR_MULTIVIEW_EXTENSION_NAME "VK_KHR_multiview"
6435 typedef VkRenderPassMultiviewCreateInfo VkRenderPassMultiviewCreateInfoKHR;
6437 typedef VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeaturesKHR;
6439 typedef VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewPropertiesKHR;
6443 #define VK_KHR_get_physical_device_properties2 1
6444 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION 2
6445 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_physical_device_properties2"
6446 typedef VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2KHR;
6448 typedef VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2KHR;
6450 typedef VkFormatProperties2 VkFormatProperties2KHR;
6452 typedef VkImageFormatProperties2 VkImageFormatProperties2KHR;
6454 typedef VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2KHR;
6456 typedef VkQueueFamilyProperties2 VkQueueFamilyProperties2KHR;
6458 typedef VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2KHR;
6460 typedef VkSparseImageFormatProperties2 VkSparseImageFormatProperties2KHR;
6462 typedef VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2KHR;
6464 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
6465 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
6466 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2KHR)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
6467 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
6468 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
6469 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
6470 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
6472 #ifndef VK_NO_PROTOTYPES
6473 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2KHR(
6474 VkPhysicalDevice physicalDevice,
6475 VkPhysicalDeviceFeatures2* pFeatures);
6477 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2KHR(
6478 VkPhysicalDevice physicalDevice,
6479 VkPhysicalDeviceProperties2* pProperties);
6481 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2KHR(
6482 VkPhysicalDevice physicalDevice,
6484 VkFormatProperties2* pFormatProperties);
6486 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2KHR(
6487 VkPhysicalDevice physicalDevice,
6488 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
6489 VkImageFormatProperties2* pImageFormatProperties);
6491 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2KHR(
6492 VkPhysicalDevice physicalDevice,
6493 uint32_t* pQueueFamilyPropertyCount,
6494 VkQueueFamilyProperties2* pQueueFamilyProperties);
6496 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2KHR(
6497 VkPhysicalDevice physicalDevice,
6498 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
6500 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
6501 VkPhysicalDevice physicalDevice,
6502 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
6503 uint32_t* pPropertyCount,
6504 VkSparseImageFormatProperties2* pProperties);
6508 #define VK_KHR_device_group 1
6509 #define VK_KHR_DEVICE_GROUP_SPEC_VERSION 4
6510 #define VK_KHR_DEVICE_GROUP_EXTENSION_NAME "VK_KHR_device_group"
6511 typedef VkPeerMemoryFeatureFlags VkPeerMemoryFeatureFlagsKHR;
6513 typedef VkPeerMemoryFeatureFlagBits VkPeerMemoryFeatureFlagBitsKHR;
6515 typedef VkMemoryAllocateFlags VkMemoryAllocateFlagsKHR;
6517 typedef VkMemoryAllocateFlagBits VkMemoryAllocateFlagBitsKHR;
6519 typedef VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfoKHR;
6521 typedef VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfoKHR;
6523 typedef VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfoKHR;
6525 typedef VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfoKHR;
6527 typedef VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfoKHR;
6529 typedef VkBindBufferMemoryDeviceGroupInfo VkBindBufferMemoryDeviceGroupInfoKHR;
6531 typedef VkBindImageMemoryDeviceGroupInfo VkBindImageMemoryDeviceGroupInfoKHR;
6533 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR)(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
6534 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMaskKHR)(VkCommandBuffer commandBuffer, uint32_t deviceMask);
6535 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);
6537 #ifndef VK_NO_PROTOTYPES
6538 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeaturesKHR(
6541 uint32_t localDeviceIndex,
6542 uint32_t remoteDeviceIndex,
6543 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
6545 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMaskKHR(
6546 VkCommandBuffer commandBuffer,
6547 uint32_t deviceMask);
6549 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBaseKHR(
6550 VkCommandBuffer commandBuffer,
6551 uint32_t baseGroupX,
6552 uint32_t baseGroupY,
6553 uint32_t baseGroupZ,
6554 uint32_t groupCountX,
6555 uint32_t groupCountY,
6556 uint32_t groupCountZ);
6560 #define VK_KHR_shader_draw_parameters 1
6561 #define VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION 1
6562 #define VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME "VK_KHR_shader_draw_parameters"
6565 #define VK_KHR_maintenance1 1
6566 #define VK_KHR_MAINTENANCE1_SPEC_VERSION 2
6567 #define VK_KHR_MAINTENANCE1_EXTENSION_NAME "VK_KHR_maintenance1"
6568 typedef VkCommandPoolTrimFlags VkCommandPoolTrimFlagsKHR;
6570 typedef void (VKAPI_PTR *PFN_vkTrimCommandPoolKHR)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
6572 #ifndef VK_NO_PROTOTYPES
6573 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPoolKHR(
6575 VkCommandPool commandPool,
6576 VkCommandPoolTrimFlags flags);
6580 #define VK_KHR_device_group_creation 1
6581 #define VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION 1
6582 #define VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME "VK_KHR_device_group_creation"
6583 #define VK_MAX_DEVICE_GROUP_SIZE_KHR VK_MAX_DEVICE_GROUP_SIZE
6584 typedef VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupPropertiesKHR;
6586 typedef VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfoKHR;
6588 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroupsKHR)(VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
6590 #ifndef VK_NO_PROTOTYPES
6591 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroupsKHR(
6592 VkInstance instance,
6593 uint32_t* pPhysicalDeviceGroupCount,
6594 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
6598 #define VK_KHR_external_memory_capabilities 1
6599 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
6600 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_memory_capabilities"
6601 #define VK_LUID_SIZE_KHR VK_LUID_SIZE
6602 typedef VkExternalMemoryHandleTypeFlags VkExternalMemoryHandleTypeFlagsKHR;
6604 typedef VkExternalMemoryHandleTypeFlagBits VkExternalMemoryHandleTypeFlagBitsKHR;
6606 typedef VkExternalMemoryFeatureFlags VkExternalMemoryFeatureFlagsKHR;
6608 typedef VkExternalMemoryFeatureFlagBits VkExternalMemoryFeatureFlagBitsKHR;
6610 typedef VkExternalMemoryProperties VkExternalMemoryPropertiesKHR;
6612 typedef VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfoKHR;
6614 typedef VkExternalImageFormatProperties VkExternalImageFormatPropertiesKHR;
6616 typedef VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfoKHR;
6618 typedef VkExternalBufferProperties VkExternalBufferPropertiesKHR;
6620 typedef VkPhysicalDeviceIDProperties VkPhysicalDeviceIDPropertiesKHR;
6622 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
6624 #ifndef VK_NO_PROTOTYPES
6625 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferPropertiesKHR(
6626 VkPhysicalDevice physicalDevice,
6627 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
6628 VkExternalBufferProperties* pExternalBufferProperties);
6632 #define VK_KHR_external_memory 1
6633 #define VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION 1
6634 #define VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME "VK_KHR_external_memory"
6635 #define VK_QUEUE_FAMILY_EXTERNAL_KHR VK_QUEUE_FAMILY_EXTERNAL
6636 typedef VkExternalMemoryImageCreateInfo VkExternalMemoryImageCreateInfoKHR;
6638 typedef VkExternalMemoryBufferCreateInfo VkExternalMemoryBufferCreateInfoKHR;
6640 typedef VkExportMemoryAllocateInfo VkExportMemoryAllocateInfoKHR;
6644 #define VK_KHR_external_memory_fd 1
6645 #define VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION 1
6646 #define VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME "VK_KHR_external_memory_fd"
6647 typedef struct VkImportMemoryFdInfoKHR {
6648 VkStructureType sType;
6650 VkExternalMemoryHandleTypeFlagBits handleType;
6652 } VkImportMemoryFdInfoKHR;
6654 typedef struct VkMemoryFdPropertiesKHR {
6655 VkStructureType sType;
6657 uint32_t memoryTypeBits;
6658 } VkMemoryFdPropertiesKHR;
6660 typedef struct VkMemoryGetFdInfoKHR {
6661 VkStructureType sType;
6663 VkDeviceMemory memory;
6664 VkExternalMemoryHandleTypeFlagBits handleType;
6665 } VkMemoryGetFdInfoKHR;
6667 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdKHR)(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd);
6668 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdPropertiesKHR)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties);
6670 #ifndef VK_NO_PROTOTYPES
6671 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdKHR(
6673 const VkMemoryGetFdInfoKHR* pGetFdInfo,
6676 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdPropertiesKHR(
6678 VkExternalMemoryHandleTypeFlagBits handleType,
6680 VkMemoryFdPropertiesKHR* pMemoryFdProperties);
6684 #define VK_KHR_external_semaphore_capabilities 1
6685 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION 1
6686 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_semaphore_capabilities"
6687 typedef VkExternalSemaphoreHandleTypeFlags VkExternalSemaphoreHandleTypeFlagsKHR;
6689 typedef VkExternalSemaphoreHandleTypeFlagBits VkExternalSemaphoreHandleTypeFlagBitsKHR;
6691 typedef VkExternalSemaphoreFeatureFlags VkExternalSemaphoreFeatureFlagsKHR;
6693 typedef VkExternalSemaphoreFeatureFlagBits VkExternalSemaphoreFeatureFlagBitsKHR;
6695 typedef VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfoKHR;
6697 typedef VkExternalSemaphoreProperties VkExternalSemaphorePropertiesKHR;
6699 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
6701 #ifndef VK_NO_PROTOTYPES
6702 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(
6703 VkPhysicalDevice physicalDevice,
6704 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
6705 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
6709 #define VK_KHR_external_semaphore 1
6710 #define VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION 1
6711 #define VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME "VK_KHR_external_semaphore"
6712 typedef VkSemaphoreImportFlags VkSemaphoreImportFlagsKHR;
6714 typedef VkSemaphoreImportFlagBits VkSemaphoreImportFlagBitsKHR;
6716 typedef VkExportSemaphoreCreateInfo VkExportSemaphoreCreateInfoKHR;
6720 #define VK_KHR_external_semaphore_fd 1
6721 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION 1
6722 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME "VK_KHR_external_semaphore_fd"
6723 typedef struct VkImportSemaphoreFdInfoKHR {
6724 VkStructureType sType;
6726 VkSemaphore semaphore;
6727 VkSemaphoreImportFlags flags;
6728 VkExternalSemaphoreHandleTypeFlagBits handleType;
6730 } VkImportSemaphoreFdInfoKHR;
6732 typedef struct VkSemaphoreGetFdInfoKHR {
6733 VkStructureType sType;
6735 VkSemaphore semaphore;
6736 VkExternalSemaphoreHandleTypeFlagBits handleType;
6737 } VkSemaphoreGetFdInfoKHR;
6739 typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreFdKHR)(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
6740 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreFdKHR)(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd);
6742 #ifndef VK_NO_PROTOTYPES
6743 VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreFdKHR(
6745 const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
6747 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreFdKHR(
6749 const VkSemaphoreGetFdInfoKHR* pGetFdInfo,
6754 #define VK_KHR_push_descriptor 1
6755 #define VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION 2
6756 #define VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME "VK_KHR_push_descriptor"
6757 typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
6758 VkStructureType sType;
6760 uint32_t maxPushDescriptors;
6761 } VkPhysicalDevicePushDescriptorPropertiesKHR;
6763 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetKHR)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites);
6764 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplateKHR)(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void* pData);
6766 #ifndef VK_NO_PROTOTYPES
6767 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetKHR(
6768 VkCommandBuffer commandBuffer,
6769 VkPipelineBindPoint pipelineBindPoint,
6770 VkPipelineLayout layout,
6772 uint32_t descriptorWriteCount,
6773 const VkWriteDescriptorSet* pDescriptorWrites);
6775 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplateKHR(
6776 VkCommandBuffer commandBuffer,
6777 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
6778 VkPipelineLayout layout,
6784 #define VK_KHR_shader_float16_int8 1
6785 #define VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION 1
6786 #define VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME "VK_KHR_shader_float16_int8"
6787 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceShaderFloat16Int8FeaturesKHR;
6789 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceFloat16Int8FeaturesKHR;
6793 #define VK_KHR_16bit_storage 1
6794 #define VK_KHR_16BIT_STORAGE_SPEC_VERSION 1
6795 #define VK_KHR_16BIT_STORAGE_EXTENSION_NAME "VK_KHR_16bit_storage"
6796 typedef VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeaturesKHR;
6800 #define VK_KHR_incremental_present 1
6801 #define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 2
6802 #define VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME "VK_KHR_incremental_present"
6803 typedef struct VkRectLayerKHR {
6809 typedef struct VkPresentRegionKHR {
6810 uint32_t rectangleCount;
6811 const VkRectLayerKHR* pRectangles;
6812 } VkPresentRegionKHR;
6814 typedef struct VkPresentRegionsKHR {
6815 VkStructureType sType;
6817 uint32_t swapchainCount;
6818 const VkPresentRegionKHR* pRegions;
6819 } VkPresentRegionsKHR;
6823 #define VK_KHR_descriptor_update_template 1
6824 typedef VkDescriptorUpdateTemplate VkDescriptorUpdateTemplateKHR;
6826 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION 1
6827 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME "VK_KHR_descriptor_update_template"
6828 typedef VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateTypeKHR;
6830 typedef VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlagsKHR;
6832 typedef VkDescriptorUpdateTemplateEntry VkDescriptorUpdateTemplateEntryKHR;
6834 typedef VkDescriptorUpdateTemplateCreateInfo VkDescriptorUpdateTemplateCreateInfoKHR;
6836 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplateKHR)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
6837 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplateKHR)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
6838 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplateKHR)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
6840 #ifndef VK_NO_PROTOTYPES
6841 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplateKHR(
6843 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
6844 const VkAllocationCallbacks* pAllocator,
6845 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
6847 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplateKHR(
6849 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
6850 const VkAllocationCallbacks* pAllocator);
6852 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplateKHR(
6854 VkDescriptorSet descriptorSet,
6855 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
6860 #define VK_KHR_imageless_framebuffer 1
6861 #define VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION 1
6862 #define VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME "VK_KHR_imageless_framebuffer"
6863 typedef VkPhysicalDeviceImagelessFramebufferFeatures VkPhysicalDeviceImagelessFramebufferFeaturesKHR;
6865 typedef VkFramebufferAttachmentsCreateInfo VkFramebufferAttachmentsCreateInfoKHR;
6867 typedef VkFramebufferAttachmentImageInfo VkFramebufferAttachmentImageInfoKHR;
6869 typedef VkRenderPassAttachmentBeginInfo VkRenderPassAttachmentBeginInfoKHR;
6873 #define VK_KHR_create_renderpass2 1
6874 #define VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION 1
6875 #define VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME "VK_KHR_create_renderpass2"
6876 typedef VkRenderPassCreateInfo2 VkRenderPassCreateInfo2KHR;
6878 typedef VkAttachmentDescription2 VkAttachmentDescription2KHR;
6880 typedef VkAttachmentReference2 VkAttachmentReference2KHR;
6882 typedef VkSubpassDescription2 VkSubpassDescription2KHR;
6884 typedef VkSubpassDependency2 VkSubpassDependency2KHR;
6886 typedef VkSubpassBeginInfo VkSubpassBeginInfoKHR;
6888 typedef VkSubpassEndInfo VkSubpassEndInfoKHR;
6890 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2KHR)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
6891 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo);
6892 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo);
6893 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo);
6895 #ifndef VK_NO_PROTOTYPES
6896 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2KHR(
6898 const VkRenderPassCreateInfo2* pCreateInfo,
6899 const VkAllocationCallbacks* pAllocator,
6900 VkRenderPass* pRenderPass);
6902 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2KHR(
6903 VkCommandBuffer commandBuffer,
6904 const VkRenderPassBeginInfo* pRenderPassBegin,
6905 const VkSubpassBeginInfo* pSubpassBeginInfo);
6907 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2KHR(
6908 VkCommandBuffer commandBuffer,
6909 const VkSubpassBeginInfo* pSubpassBeginInfo,
6910 const VkSubpassEndInfo* pSubpassEndInfo);
6912 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2KHR(
6913 VkCommandBuffer commandBuffer,
6914 const VkSubpassEndInfo* pSubpassEndInfo);
6918 #define VK_KHR_shared_presentable_image 1
6919 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION 1
6920 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME "VK_KHR_shared_presentable_image"
6921 typedef struct VkSharedPresentSurfaceCapabilitiesKHR {
6922 VkStructureType sType;
6924 VkImageUsageFlags sharedPresentSupportedUsageFlags;
6925 } VkSharedPresentSurfaceCapabilitiesKHR;
6927 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainStatusKHR)(VkDevice device, VkSwapchainKHR swapchain);
6929 #ifndef VK_NO_PROTOTYPES
6930 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainStatusKHR(
6932 VkSwapchainKHR swapchain);
6936 #define VK_KHR_external_fence_capabilities 1
6937 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION 1
6938 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_fence_capabilities"
6939 typedef VkExternalFenceHandleTypeFlags VkExternalFenceHandleTypeFlagsKHR;
6941 typedef VkExternalFenceHandleTypeFlagBits VkExternalFenceHandleTypeFlagBitsKHR;
6943 typedef VkExternalFenceFeatureFlags VkExternalFenceFeatureFlagsKHR;
6945 typedef VkExternalFenceFeatureFlagBits VkExternalFenceFeatureFlagBitsKHR;
6947 typedef VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfoKHR;
6949 typedef VkExternalFenceProperties VkExternalFencePropertiesKHR;
6951 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
6953 #ifndef VK_NO_PROTOTYPES
6954 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFencePropertiesKHR(
6955 VkPhysicalDevice physicalDevice,
6956 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
6957 VkExternalFenceProperties* pExternalFenceProperties);
6961 #define VK_KHR_external_fence 1
6962 #define VK_KHR_EXTERNAL_FENCE_SPEC_VERSION 1
6963 #define VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME "VK_KHR_external_fence"
6964 typedef VkFenceImportFlags VkFenceImportFlagsKHR;
6966 typedef VkFenceImportFlagBits VkFenceImportFlagBitsKHR;
6968 typedef VkExportFenceCreateInfo VkExportFenceCreateInfoKHR;
6972 #define VK_KHR_external_fence_fd 1
6973 #define VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION 1
6974 #define VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME "VK_KHR_external_fence_fd"
6975 typedef struct VkImportFenceFdInfoKHR {
6976 VkStructureType sType;
6979 VkFenceImportFlags flags;
6980 VkExternalFenceHandleTypeFlagBits handleType;
6982 } VkImportFenceFdInfoKHR;
6984 typedef struct VkFenceGetFdInfoKHR {
6985 VkStructureType sType;
6988 VkExternalFenceHandleTypeFlagBits handleType;
6989 } VkFenceGetFdInfoKHR;
6991 typedef VkResult (VKAPI_PTR *PFN_vkImportFenceFdKHR)(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
6992 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceFdKHR)(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd);
6994 #ifndef VK_NO_PROTOTYPES
6995 VKAPI_ATTR VkResult VKAPI_CALL vkImportFenceFdKHR(
6997 const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
6999 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceFdKHR(
7001 const VkFenceGetFdInfoKHR* pGetFdInfo,
7006 #define VK_KHR_performance_query 1
7007 #define VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION 1
7008 #define VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME "VK_KHR_performance_query"
7010 typedef enum VkPerformanceCounterUnitKHR {
7011 VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR = 0,
7012 VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR = 1,
7013 VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR = 2,
7014 VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR = 3,
7015 VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR = 4,
7016 VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR = 5,
7017 VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR = 6,
7018 VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR = 7,
7019 VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR = 8,
7020 VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR = 9,
7021 VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR = 10,
7022 VK_PERFORMANCE_COUNTER_UNIT_MAX_ENUM_KHR = 0x7FFFFFFF
7023 } VkPerformanceCounterUnitKHR;
7025 typedef enum VkPerformanceCounterScopeKHR {
7026 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR = 0,
7027 VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR = 1,
7028 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR = 2,
7029 VK_QUERY_SCOPE_COMMAND_BUFFER_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR,
7030 VK_QUERY_SCOPE_RENDER_PASS_KHR = VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR,
7031 VK_QUERY_SCOPE_COMMAND_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR,
7032 VK_PERFORMANCE_COUNTER_SCOPE_MAX_ENUM_KHR = 0x7FFFFFFF
7033 } VkPerformanceCounterScopeKHR;
7035 typedef enum VkPerformanceCounterStorageKHR {
7036 VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR = 0,
7037 VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR = 1,
7038 VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR = 2,
7039 VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR = 3,
7040 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR = 4,
7041 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR = 5,
7042 VK_PERFORMANCE_COUNTER_STORAGE_MAX_ENUM_KHR = 0x7FFFFFFF
7043 } VkPerformanceCounterStorageKHR;
7045 typedef enum VkPerformanceCounterDescriptionFlagBitsKHR {
7046 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR = 0x00000001,
7047 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR = 0x00000002,
7048 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR,
7049 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR,
7050 VK_PERFORMANCE_COUNTER_DESCRIPTION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7051 } VkPerformanceCounterDescriptionFlagBitsKHR;
7052 typedef VkFlags VkPerformanceCounterDescriptionFlagsKHR;
7054 typedef enum VkAcquireProfilingLockFlagBitsKHR {
7055 VK_ACQUIRE_PROFILING_LOCK_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7056 } VkAcquireProfilingLockFlagBitsKHR;
7057 typedef VkFlags VkAcquireProfilingLockFlagsKHR;
7058 typedef struct VkPhysicalDevicePerformanceQueryFeaturesKHR {
7059 VkStructureType sType;
7061 VkBool32 performanceCounterQueryPools;
7062 VkBool32 performanceCounterMultipleQueryPools;
7063 } VkPhysicalDevicePerformanceQueryFeaturesKHR;
7065 typedef struct VkPhysicalDevicePerformanceQueryPropertiesKHR {
7066 VkStructureType sType;
7068 VkBool32 allowCommandBufferQueryCopies;
7069 } VkPhysicalDevicePerformanceQueryPropertiesKHR;
7071 typedef struct VkPerformanceCounterKHR {
7072 VkStructureType sType;
7074 VkPerformanceCounterUnitKHR unit;
7075 VkPerformanceCounterScopeKHR scope;
7076 VkPerformanceCounterStorageKHR storage;
7077 uint8_t uuid[VK_UUID_SIZE];
7078 } VkPerformanceCounterKHR;
7080 typedef struct VkPerformanceCounterDescriptionKHR {
7081 VkStructureType sType;
7083 VkPerformanceCounterDescriptionFlagsKHR flags;
7084 char name[VK_MAX_DESCRIPTION_SIZE];
7085 char category[VK_MAX_DESCRIPTION_SIZE];
7086 char description[VK_MAX_DESCRIPTION_SIZE];
7087 } VkPerformanceCounterDescriptionKHR;
7089 typedef struct VkQueryPoolPerformanceCreateInfoKHR {
7090 VkStructureType sType;
7092 uint32_t queueFamilyIndex;
7093 uint32_t counterIndexCount;
7094 const uint32_t* pCounterIndices;
7095 } VkQueryPoolPerformanceCreateInfoKHR;
7097 typedef union VkPerformanceCounterResultKHR {
7104 } VkPerformanceCounterResultKHR;
7106 typedef struct VkAcquireProfilingLockInfoKHR {
7107 VkStructureType sType;
7109 VkAcquireProfilingLockFlagsKHR flags;
7111 } VkAcquireProfilingLockInfoKHR;
7113 typedef struct VkPerformanceQuerySubmitInfoKHR {
7114 VkStructureType sType;
7116 uint32_t counterPassIndex;
7117 } VkPerformanceQuerySubmitInfoKHR;
7119 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, uint32_t* pCounterCount, VkPerformanceCounterKHR* pCounters, VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
7120 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR)(VkPhysicalDevice physicalDevice, const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, uint32_t* pNumPasses);
7121 typedef VkResult (VKAPI_PTR *PFN_vkAcquireProfilingLockKHR)(VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo);
7122 typedef void (VKAPI_PTR *PFN_vkReleaseProfilingLockKHR)(VkDevice device);
7124 #ifndef VK_NO_PROTOTYPES
7125 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
7126 VkPhysicalDevice physicalDevice,
7127 uint32_t queueFamilyIndex,
7128 uint32_t* pCounterCount,
7129 VkPerformanceCounterKHR* pCounters,
7130 VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
7132 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
7133 VkPhysicalDevice physicalDevice,
7134 const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo,
7135 uint32_t* pNumPasses);
7137 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireProfilingLockKHR(
7139 const VkAcquireProfilingLockInfoKHR* pInfo);
7141 VKAPI_ATTR void VKAPI_CALL vkReleaseProfilingLockKHR(
7146 #define VK_KHR_maintenance2 1
7147 #define VK_KHR_MAINTENANCE2_SPEC_VERSION 1
7148 #define VK_KHR_MAINTENANCE2_EXTENSION_NAME "VK_KHR_maintenance2"
7149 typedef VkPointClippingBehavior VkPointClippingBehaviorKHR;
7151 typedef VkTessellationDomainOrigin VkTessellationDomainOriginKHR;
7153 typedef VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingPropertiesKHR;
7155 typedef VkRenderPassInputAttachmentAspectCreateInfo VkRenderPassInputAttachmentAspectCreateInfoKHR;
7157 typedef VkInputAttachmentAspectReference VkInputAttachmentAspectReferenceKHR;
7159 typedef VkImageViewUsageCreateInfo VkImageViewUsageCreateInfoKHR;
7161 typedef VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfoKHR;
7165 #define VK_KHR_get_surface_capabilities2 1
7166 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION 1
7167 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME "VK_KHR_get_surface_capabilities2"
7168 typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
7169 VkStructureType sType;
7171 VkSurfaceKHR surface;
7172 } VkPhysicalDeviceSurfaceInfo2KHR;
7174 typedef struct VkSurfaceCapabilities2KHR {
7175 VkStructureType sType;
7177 VkSurfaceCapabilitiesKHR surfaceCapabilities;
7178 } VkSurfaceCapabilities2KHR;
7180 typedef struct VkSurfaceFormat2KHR {
7181 VkStructureType sType;
7183 VkSurfaceFormatKHR surfaceFormat;
7184 } VkSurfaceFormat2KHR;
7186 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
7187 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormats2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, uint32_t* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats);
7189 #ifndef VK_NO_PROTOTYPES
7190 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2KHR(
7191 VkPhysicalDevice physicalDevice,
7192 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
7193 VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
7195 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormats2KHR(
7196 VkPhysicalDevice physicalDevice,
7197 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
7198 uint32_t* pSurfaceFormatCount,
7199 VkSurfaceFormat2KHR* pSurfaceFormats);
7203 #define VK_KHR_variable_pointers 1
7204 #define VK_KHR_VARIABLE_POINTERS_SPEC_VERSION 1
7205 #define VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME "VK_KHR_variable_pointers"
7206 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeaturesKHR;
7208 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointersFeaturesKHR;
7212 #define VK_KHR_get_display_properties2 1
7213 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION 1
7214 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_display_properties2"
7215 typedef struct VkDisplayProperties2KHR {
7216 VkStructureType sType;
7218 VkDisplayPropertiesKHR displayProperties;
7219 } VkDisplayProperties2KHR;
7221 typedef struct VkDisplayPlaneProperties2KHR {
7222 VkStructureType sType;
7224 VkDisplayPlanePropertiesKHR displayPlaneProperties;
7225 } VkDisplayPlaneProperties2KHR;
7227 typedef struct VkDisplayModeProperties2KHR {
7228 VkStructureType sType;
7230 VkDisplayModePropertiesKHR displayModeProperties;
7231 } VkDisplayModeProperties2KHR;
7233 typedef struct VkDisplayPlaneInfo2KHR {
7234 VkStructureType sType;
7236 VkDisplayModeKHR mode;
7237 uint32_t planeIndex;
7238 } VkDisplayPlaneInfo2KHR;
7240 typedef struct VkDisplayPlaneCapabilities2KHR {
7241 VkStructureType sType;
7243 VkDisplayPlaneCapabilitiesKHR capabilities;
7244 } VkDisplayPlaneCapabilities2KHR;
7246 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayProperties2KHR* pProperties);
7247 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlaneProperties2KHR* pProperties);
7248 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModeProperties2KHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModeProperties2KHR* pProperties);
7249 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, VkDisplayPlaneCapabilities2KHR* pCapabilities);
7251 #ifndef VK_NO_PROTOTYPES
7252 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayProperties2KHR(
7253 VkPhysicalDevice physicalDevice,
7254 uint32_t* pPropertyCount,
7255 VkDisplayProperties2KHR* pProperties);
7257 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlaneProperties2KHR(
7258 VkPhysicalDevice physicalDevice,
7259 uint32_t* pPropertyCount,
7260 VkDisplayPlaneProperties2KHR* pProperties);
7262 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModeProperties2KHR(
7263 VkPhysicalDevice physicalDevice,
7264 VkDisplayKHR display,
7265 uint32_t* pPropertyCount,
7266 VkDisplayModeProperties2KHR* pProperties);
7268 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilities2KHR(
7269 VkPhysicalDevice physicalDevice,
7270 const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo,
7271 VkDisplayPlaneCapabilities2KHR* pCapabilities);
7275 #define VK_KHR_dedicated_allocation 1
7276 #define VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION 3
7277 #define VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_KHR_dedicated_allocation"
7278 typedef VkMemoryDedicatedRequirements VkMemoryDedicatedRequirementsKHR;
7280 typedef VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfoKHR;
7284 #define VK_KHR_storage_buffer_storage_class 1
7285 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION 1
7286 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME "VK_KHR_storage_buffer_storage_class"
7289 #define VK_KHR_relaxed_block_layout 1
7290 #define VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION 1
7291 #define VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME "VK_KHR_relaxed_block_layout"
7294 #define VK_KHR_get_memory_requirements2 1
7295 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION 1
7296 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME "VK_KHR_get_memory_requirements2"
7297 typedef VkBufferMemoryRequirementsInfo2 VkBufferMemoryRequirementsInfo2KHR;
7299 typedef VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2KHR;
7301 typedef VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2KHR;
7303 typedef VkMemoryRequirements2 VkMemoryRequirements2KHR;
7305 typedef VkSparseImageMemoryRequirements2 VkSparseImageMemoryRequirements2KHR;
7307 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2KHR)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
7308 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2KHR)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
7309 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2KHR)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
7311 #ifndef VK_NO_PROTOTYPES
7312 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2KHR(
7314 const VkImageMemoryRequirementsInfo2* pInfo,
7315 VkMemoryRequirements2* pMemoryRequirements);
7317 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2KHR(
7319 const VkBufferMemoryRequirementsInfo2* pInfo,
7320 VkMemoryRequirements2* pMemoryRequirements);
7322 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2KHR(
7324 const VkImageSparseMemoryRequirementsInfo2* pInfo,
7325 uint32_t* pSparseMemoryRequirementCount,
7326 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
7330 #define VK_KHR_image_format_list 1
7331 #define VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION 1
7332 #define VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME "VK_KHR_image_format_list"
7333 typedef VkImageFormatListCreateInfo VkImageFormatListCreateInfoKHR;
7337 #define VK_KHR_sampler_ycbcr_conversion 1
7338 typedef VkSamplerYcbcrConversion VkSamplerYcbcrConversionKHR;
7340 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION 14
7341 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME "VK_KHR_sampler_ycbcr_conversion"
7342 typedef VkSamplerYcbcrModelConversion VkSamplerYcbcrModelConversionKHR;
7344 typedef VkSamplerYcbcrRange VkSamplerYcbcrRangeKHR;
7346 typedef VkChromaLocation VkChromaLocationKHR;
7348 typedef VkSamplerYcbcrConversionCreateInfo VkSamplerYcbcrConversionCreateInfoKHR;
7350 typedef VkSamplerYcbcrConversionInfo VkSamplerYcbcrConversionInfoKHR;
7352 typedef VkBindImagePlaneMemoryInfo VkBindImagePlaneMemoryInfoKHR;
7354 typedef VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfoKHR;
7356 typedef VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR;
7358 typedef VkSamplerYcbcrConversionImageFormatProperties VkSamplerYcbcrConversionImageFormatPropertiesKHR;
7360 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversionKHR)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
7361 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversionKHR)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
7363 #ifndef VK_NO_PROTOTYPES
7364 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversionKHR(
7366 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
7367 const VkAllocationCallbacks* pAllocator,
7368 VkSamplerYcbcrConversion* pYcbcrConversion);
7370 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversionKHR(
7372 VkSamplerYcbcrConversion ycbcrConversion,
7373 const VkAllocationCallbacks* pAllocator);
7377 #define VK_KHR_bind_memory2 1
7378 #define VK_KHR_BIND_MEMORY_2_SPEC_VERSION 1
7379 #define VK_KHR_BIND_MEMORY_2_EXTENSION_NAME "VK_KHR_bind_memory2"
7380 typedef VkBindBufferMemoryInfo VkBindBufferMemoryInfoKHR;
7382 typedef VkBindImageMemoryInfo VkBindImageMemoryInfoKHR;
7384 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2KHR)(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
7385 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2KHR)(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
7387 #ifndef VK_NO_PROTOTYPES
7388 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2KHR(
7390 uint32_t bindInfoCount,
7391 const VkBindBufferMemoryInfo* pBindInfos);
7393 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2KHR(
7395 uint32_t bindInfoCount,
7396 const VkBindImageMemoryInfo* pBindInfos);
7400 #define VK_KHR_maintenance3 1
7401 #define VK_KHR_MAINTENANCE3_SPEC_VERSION 1
7402 #define VK_KHR_MAINTENANCE3_EXTENSION_NAME "VK_KHR_maintenance3"
7403 typedef VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3PropertiesKHR;
7405 typedef VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupportKHR;
7407 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupportKHR)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
7409 #ifndef VK_NO_PROTOTYPES
7410 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupportKHR(
7412 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
7413 VkDescriptorSetLayoutSupport* pSupport);
7417 #define VK_KHR_draw_indirect_count 1
7418 #define VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION 1
7419 #define VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_KHR_draw_indirect_count"
7420 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
7421 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
7423 #ifndef VK_NO_PROTOTYPES
7424 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountKHR(
7425 VkCommandBuffer commandBuffer,
7427 VkDeviceSize offset,
7428 VkBuffer countBuffer,
7429 VkDeviceSize countBufferOffset,
7430 uint32_t maxDrawCount,
7433 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountKHR(
7434 VkCommandBuffer commandBuffer,
7436 VkDeviceSize offset,
7437 VkBuffer countBuffer,
7438 VkDeviceSize countBufferOffset,
7439 uint32_t maxDrawCount,
7444 #define VK_KHR_shader_subgroup_extended_types 1
7445 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION 1
7446 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME "VK_KHR_shader_subgroup_extended_types"
7447 typedef VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR;
7451 #define VK_KHR_8bit_storage 1
7452 #define VK_KHR_8BIT_STORAGE_SPEC_VERSION 1
7453 #define VK_KHR_8BIT_STORAGE_EXTENSION_NAME "VK_KHR_8bit_storage"
7454 typedef VkPhysicalDevice8BitStorageFeatures VkPhysicalDevice8BitStorageFeaturesKHR;
7458 #define VK_KHR_shader_atomic_int64 1
7459 #define VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION 1
7460 #define VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME "VK_KHR_shader_atomic_int64"
7461 typedef VkPhysicalDeviceShaderAtomicInt64Features VkPhysicalDeviceShaderAtomicInt64FeaturesKHR;
7465 #define VK_KHR_shader_clock 1
7466 #define VK_KHR_SHADER_CLOCK_SPEC_VERSION 1
7467 #define VK_KHR_SHADER_CLOCK_EXTENSION_NAME "VK_KHR_shader_clock"
7468 typedef struct VkPhysicalDeviceShaderClockFeaturesKHR {
7469 VkStructureType sType;
7471 VkBool32 shaderSubgroupClock;
7472 VkBool32 shaderDeviceClock;
7473 } VkPhysicalDeviceShaderClockFeaturesKHR;
7477 #define VK_KHR_driver_properties 1
7478 #define VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION 1
7479 #define VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME "VK_KHR_driver_properties"
7480 #define VK_MAX_DRIVER_NAME_SIZE_KHR VK_MAX_DRIVER_NAME_SIZE
7481 #define VK_MAX_DRIVER_INFO_SIZE_KHR VK_MAX_DRIVER_INFO_SIZE
7482 typedef VkDriverId VkDriverIdKHR;
7484 typedef VkConformanceVersion VkConformanceVersionKHR;
7486 typedef VkPhysicalDeviceDriverProperties VkPhysicalDeviceDriverPropertiesKHR;
7490 #define VK_KHR_shader_float_controls 1
7491 #define VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION 4
7492 #define VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME "VK_KHR_shader_float_controls"
7493 typedef VkShaderFloatControlsIndependence VkShaderFloatControlsIndependenceKHR;
7495 typedef VkPhysicalDeviceFloatControlsProperties VkPhysicalDeviceFloatControlsPropertiesKHR;
7499 #define VK_KHR_depth_stencil_resolve 1
7500 #define VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION 1
7501 #define VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME "VK_KHR_depth_stencil_resolve"
7502 typedef VkResolveModeFlagBits VkResolveModeFlagBitsKHR;
7504 typedef VkResolveModeFlags VkResolveModeFlagsKHR;
7506 typedef VkSubpassDescriptionDepthStencilResolve VkSubpassDescriptionDepthStencilResolveKHR;
7508 typedef VkPhysicalDeviceDepthStencilResolveProperties VkPhysicalDeviceDepthStencilResolvePropertiesKHR;
7512 #define VK_KHR_swapchain_mutable_format 1
7513 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION 1
7514 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME "VK_KHR_swapchain_mutable_format"
7517 #define VK_KHR_timeline_semaphore 1
7518 #define VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION 2
7519 #define VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME "VK_KHR_timeline_semaphore"
7520 typedef VkSemaphoreType VkSemaphoreTypeKHR;
7522 typedef VkSemaphoreWaitFlagBits VkSemaphoreWaitFlagBitsKHR;
7524 typedef VkSemaphoreWaitFlags VkSemaphoreWaitFlagsKHR;
7526 typedef VkPhysicalDeviceTimelineSemaphoreFeatures VkPhysicalDeviceTimelineSemaphoreFeaturesKHR;
7528 typedef VkPhysicalDeviceTimelineSemaphoreProperties VkPhysicalDeviceTimelineSemaphorePropertiesKHR;
7530 typedef VkSemaphoreTypeCreateInfo VkSemaphoreTypeCreateInfoKHR;
7532 typedef VkTimelineSemaphoreSubmitInfo VkTimelineSemaphoreSubmitInfoKHR;
7534 typedef VkSemaphoreWaitInfo VkSemaphoreWaitInfoKHR;
7536 typedef VkSemaphoreSignalInfo VkSemaphoreSignalInfoKHR;
7538 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValueKHR)(VkDevice device, VkSemaphore semaphore, uint64_t* pValue);
7539 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphoresKHR)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout);
7540 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphoreKHR)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo);
7542 #ifndef VK_NO_PROTOTYPES
7543 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValueKHR(
7545 VkSemaphore semaphore,
7548 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphoresKHR(
7550 const VkSemaphoreWaitInfo* pWaitInfo,
7553 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphoreKHR(
7555 const VkSemaphoreSignalInfo* pSignalInfo);
7559 #define VK_KHR_vulkan_memory_model 1
7560 #define VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION 3
7561 #define VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME "VK_KHR_vulkan_memory_model"
7562 typedef VkPhysicalDeviceVulkanMemoryModelFeatures VkPhysicalDeviceVulkanMemoryModelFeaturesKHR;
7566 #define VK_KHR_shader_terminate_invocation 1
7567 #define VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION 1
7568 #define VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME "VK_KHR_shader_terminate_invocation"
7569 typedef struct VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR {
7570 VkStructureType sType;
7572 VkBool32 shaderTerminateInvocation;
7573 } VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR;
7577 #define VK_KHR_fragment_shading_rate 1
7578 #define VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION 1
7579 #define VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME "VK_KHR_fragment_shading_rate"
7581 typedef enum VkFragmentShadingRateCombinerOpKHR {
7582 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR = 0,
7583 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR = 1,
7584 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR = 2,
7585 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR = 3,
7586 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR = 4,
7587 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_ENUM_KHR = 0x7FFFFFFF
7588 } VkFragmentShadingRateCombinerOpKHR;
7589 typedef struct VkFragmentShadingRateAttachmentInfoKHR {
7590 VkStructureType sType;
7592 const VkAttachmentReference2* pFragmentShadingRateAttachment;
7593 VkExtent2D shadingRateAttachmentTexelSize;
7594 } VkFragmentShadingRateAttachmentInfoKHR;
7596 typedef struct VkPipelineFragmentShadingRateStateCreateInfoKHR {
7597 VkStructureType sType;
7599 VkExtent2D fragmentSize;
7600 VkFragmentShadingRateCombinerOpKHR combinerOps[2];
7601 } VkPipelineFragmentShadingRateStateCreateInfoKHR;
7603 typedef struct VkPhysicalDeviceFragmentShadingRateFeaturesKHR {
7604 VkStructureType sType;
7606 VkBool32 pipelineFragmentShadingRate;
7607 VkBool32 primitiveFragmentShadingRate;
7608 VkBool32 attachmentFragmentShadingRate;
7609 } VkPhysicalDeviceFragmentShadingRateFeaturesKHR;
7611 typedef struct VkPhysicalDeviceFragmentShadingRatePropertiesKHR {
7612 VkStructureType sType;
7614 VkExtent2D minFragmentShadingRateAttachmentTexelSize;
7615 VkExtent2D maxFragmentShadingRateAttachmentTexelSize;
7616 uint32_t maxFragmentShadingRateAttachmentTexelSizeAspectRatio;
7617 VkBool32 primitiveFragmentShadingRateWithMultipleViewports;
7618 VkBool32 layeredShadingRateAttachments;
7619 VkBool32 fragmentShadingRateNonTrivialCombinerOps;
7620 VkExtent2D maxFragmentSize;
7621 uint32_t maxFragmentSizeAspectRatio;
7622 uint32_t maxFragmentShadingRateCoverageSamples;
7623 VkSampleCountFlagBits maxFragmentShadingRateRasterizationSamples;
7624 VkBool32 fragmentShadingRateWithShaderDepthStencilWrites;
7625 VkBool32 fragmentShadingRateWithSampleMask;
7626 VkBool32 fragmentShadingRateWithShaderSampleMask;
7627 VkBool32 fragmentShadingRateWithConservativeRasterization;
7628 VkBool32 fragmentShadingRateWithFragmentShaderInterlock;
7629 VkBool32 fragmentShadingRateWithCustomSampleLocations;
7630 VkBool32 fragmentShadingRateStrictMultiplyCombiner;
7631 } VkPhysicalDeviceFragmentShadingRatePropertiesKHR;
7633 typedef struct VkPhysicalDeviceFragmentShadingRateKHR {
7634 VkStructureType sType;
7636 VkSampleCountFlags sampleCounts;
7637 VkExtent2D fragmentSize;
7638 } VkPhysicalDeviceFragmentShadingRateKHR;
7640 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pFragmentShadingRateCount, VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates);
7641 typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateKHR)(VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
7643 #ifndef VK_NO_PROTOTYPES
7644 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceFragmentShadingRatesKHR(
7645 VkPhysicalDevice physicalDevice,
7646 uint32_t* pFragmentShadingRateCount,
7647 VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates);
7649 VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateKHR(
7650 VkCommandBuffer commandBuffer,
7651 const VkExtent2D* pFragmentSize,
7652 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
7656 #define VK_KHR_spirv_1_4 1
7657 #define VK_KHR_SPIRV_1_4_SPEC_VERSION 1
7658 #define VK_KHR_SPIRV_1_4_EXTENSION_NAME "VK_KHR_spirv_1_4"
7661 #define VK_KHR_surface_protected_capabilities 1
7662 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION 1
7663 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME "VK_KHR_surface_protected_capabilities"
7664 typedef struct VkSurfaceProtectedCapabilitiesKHR {
7665 VkStructureType sType;
7667 VkBool32 supportsProtected;
7668 } VkSurfaceProtectedCapabilitiesKHR;
7672 #define VK_KHR_separate_depth_stencil_layouts 1
7673 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION 1
7674 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME "VK_KHR_separate_depth_stencil_layouts"
7675 typedef VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR;
7677 typedef VkAttachmentReferenceStencilLayout VkAttachmentReferenceStencilLayoutKHR;
7679 typedef VkAttachmentDescriptionStencilLayout VkAttachmentDescriptionStencilLayoutKHR;
7683 #define VK_KHR_present_wait 1
7684 #define VK_KHR_PRESENT_WAIT_SPEC_VERSION 1
7685 #define VK_KHR_PRESENT_WAIT_EXTENSION_NAME "VK_KHR_present_wait"
7686 typedef struct VkPhysicalDevicePresentWaitFeaturesKHR {
7687 VkStructureType sType;
7689 VkBool32 presentWait;
7690 } VkPhysicalDevicePresentWaitFeaturesKHR;
7692 typedef VkResult (VKAPI_PTR *PFN_vkWaitForPresentKHR)(VkDevice device, VkSwapchainKHR swapchain, uint64_t presentId, uint64_t timeout);
7694 #ifndef VK_NO_PROTOTYPES
7695 VKAPI_ATTR VkResult VKAPI_CALL vkWaitForPresentKHR(
7697 VkSwapchainKHR swapchain,
7703 #define VK_KHR_uniform_buffer_standard_layout 1
7704 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION 1
7705 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME "VK_KHR_uniform_buffer_standard_layout"
7706 typedef VkPhysicalDeviceUniformBufferStandardLayoutFeatures VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR;
7710 #define VK_KHR_buffer_device_address 1
7711 #define VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 1
7712 #define VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_KHR_buffer_device_address"
7713 typedef VkPhysicalDeviceBufferDeviceAddressFeatures VkPhysicalDeviceBufferDeviceAddressFeaturesKHR;
7715 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoKHR;
7717 typedef VkBufferOpaqueCaptureAddressCreateInfo VkBufferOpaqueCaptureAddressCreateInfoKHR;
7719 typedef VkMemoryOpaqueCaptureAddressAllocateInfo VkMemoryOpaqueCaptureAddressAllocateInfoKHR;
7721 typedef VkDeviceMemoryOpaqueCaptureAddressInfo VkDeviceMemoryOpaqueCaptureAddressInfoKHR;
7723 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
7724 typedef uint64_t (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
7725 typedef uint64_t (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
7727 #ifndef VK_NO_PROTOTYPES
7728 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressKHR(
7730 const VkBufferDeviceAddressInfo* pInfo);
7732 VKAPI_ATTR uint64_t VKAPI_CALL vkGetBufferOpaqueCaptureAddressKHR(
7734 const VkBufferDeviceAddressInfo* pInfo);
7736 VKAPI_ATTR uint64_t VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddressKHR(
7738 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
7742 #define VK_KHR_deferred_host_operations 1
7743 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeferredOperationKHR)
7744 #define VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION 4
7745 #define VK_KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME "VK_KHR_deferred_host_operations"
7746 typedef VkResult (VKAPI_PTR *PFN_vkCreateDeferredOperationKHR)(VkDevice device, const VkAllocationCallbacks* pAllocator, VkDeferredOperationKHR* pDeferredOperation);
7747 typedef void (VKAPI_PTR *PFN_vkDestroyDeferredOperationKHR)(VkDevice device, VkDeferredOperationKHR operation, const VkAllocationCallbacks* pAllocator);
7748 typedef uint32_t (VKAPI_PTR *PFN_vkGetDeferredOperationMaxConcurrencyKHR)(VkDevice device, VkDeferredOperationKHR operation);
7749 typedef VkResult (VKAPI_PTR *PFN_vkGetDeferredOperationResultKHR)(VkDevice device, VkDeferredOperationKHR operation);
7750 typedef VkResult (VKAPI_PTR *PFN_vkDeferredOperationJoinKHR)(VkDevice device, VkDeferredOperationKHR operation);
7752 #ifndef VK_NO_PROTOTYPES
7753 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDeferredOperationKHR(
7755 const VkAllocationCallbacks* pAllocator,
7756 VkDeferredOperationKHR* pDeferredOperation);
7758 VKAPI_ATTR void VKAPI_CALL vkDestroyDeferredOperationKHR(
7760 VkDeferredOperationKHR operation,
7761 const VkAllocationCallbacks* pAllocator);
7763 VKAPI_ATTR uint32_t VKAPI_CALL vkGetDeferredOperationMaxConcurrencyKHR(
7765 VkDeferredOperationKHR operation);
7767 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeferredOperationResultKHR(
7769 VkDeferredOperationKHR operation);
7771 VKAPI_ATTR VkResult VKAPI_CALL vkDeferredOperationJoinKHR(
7773 VkDeferredOperationKHR operation);
7777 #define VK_KHR_pipeline_executable_properties 1
7778 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION 1
7779 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME "VK_KHR_pipeline_executable_properties"
7781 typedef enum VkPipelineExecutableStatisticFormatKHR {
7782 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR = 0,
7783 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR = 1,
7784 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR = 2,
7785 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR = 3,
7786 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_MAX_ENUM_KHR = 0x7FFFFFFF
7787 } VkPipelineExecutableStatisticFormatKHR;
7788 typedef struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
7789 VkStructureType sType;
7791 VkBool32 pipelineExecutableInfo;
7792 } VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR;
7794 typedef struct VkPipelineInfoKHR {
7795 VkStructureType sType;
7797 VkPipeline pipeline;
7798 } VkPipelineInfoKHR;
7800 typedef struct VkPipelineExecutablePropertiesKHR {
7801 VkStructureType sType;
7803 VkShaderStageFlags stages;
7804 char name[VK_MAX_DESCRIPTION_SIZE];
7805 char description[VK_MAX_DESCRIPTION_SIZE];
7806 uint32_t subgroupSize;
7807 } VkPipelineExecutablePropertiesKHR;
7809 typedef struct VkPipelineExecutableInfoKHR {
7810 VkStructureType sType;
7812 VkPipeline pipeline;
7813 uint32_t executableIndex;
7814 } VkPipelineExecutableInfoKHR;
7816 typedef union VkPipelineExecutableStatisticValueKHR {
7821 } VkPipelineExecutableStatisticValueKHR;
7823 typedef struct VkPipelineExecutableStatisticKHR {
7824 VkStructureType sType;
7826 char name[VK_MAX_DESCRIPTION_SIZE];
7827 char description[VK_MAX_DESCRIPTION_SIZE];
7828 VkPipelineExecutableStatisticFormatKHR format;
7829 VkPipelineExecutableStatisticValueKHR value;
7830 } VkPipelineExecutableStatisticKHR;
7832 typedef struct VkPipelineExecutableInternalRepresentationKHR {
7833 VkStructureType sType;
7835 char name[VK_MAX_DESCRIPTION_SIZE];
7836 char description[VK_MAX_DESCRIPTION_SIZE];
7840 } VkPipelineExecutableInternalRepresentationKHR;
7842 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutablePropertiesKHR)(VkDevice device, const VkPipelineInfoKHR* pPipelineInfo, uint32_t* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties);
7843 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableStatisticsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics);
7844 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableInternalRepresentationsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
7846 #ifndef VK_NO_PROTOTYPES
7847 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutablePropertiesKHR(
7849 const VkPipelineInfoKHR* pPipelineInfo,
7850 uint32_t* pExecutableCount,
7851 VkPipelineExecutablePropertiesKHR* pProperties);
7853 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableStatisticsKHR(
7855 const VkPipelineExecutableInfoKHR* pExecutableInfo,
7856 uint32_t* pStatisticCount,
7857 VkPipelineExecutableStatisticKHR* pStatistics);
7859 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableInternalRepresentationsKHR(
7861 const VkPipelineExecutableInfoKHR* pExecutableInfo,
7862 uint32_t* pInternalRepresentationCount,
7863 VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
7867 #define VK_KHR_pipeline_library 1
7868 #define VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION 1
7869 #define VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME "VK_KHR_pipeline_library"
7870 typedef struct VkPipelineLibraryCreateInfoKHR {
7871 VkStructureType sType;
7873 uint32_t libraryCount;
7874 const VkPipeline* pLibraries;
7875 } VkPipelineLibraryCreateInfoKHR;
7879 #define VK_KHR_shader_non_semantic_info 1
7880 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION 1
7881 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME "VK_KHR_shader_non_semantic_info"
7884 #define VK_KHR_present_id 1
7885 #define VK_KHR_PRESENT_ID_SPEC_VERSION 1
7886 #define VK_KHR_PRESENT_ID_EXTENSION_NAME "VK_KHR_present_id"
7887 typedef struct VkPresentIdKHR {
7888 VkStructureType sType;
7890 uint32_t swapchainCount;
7891 const uint64_t* pPresentIds;
7894 typedef struct VkPhysicalDevicePresentIdFeaturesKHR {
7895 VkStructureType sType;
7898 } VkPhysicalDevicePresentIdFeaturesKHR;
7902 #define VK_KHR_synchronization2 1
7903 typedef uint64_t VkFlags64;
7904 #define VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION 1
7905 #define VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME "VK_KHR_synchronization2"
7906 typedef VkFlags64 VkPipelineStageFlags2KHR;
7908 // Flag bits for VkPipelineStageFlagBits2KHR
7909 typedef VkFlags64 VkPipelineStageFlagBits2KHR;
7910 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_NONE_KHR = 0ULL;
7911 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR = 0x00000001ULL;
7912 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR = 0x00000002ULL;
7913 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR = 0x00000004ULL;
7914 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR = 0x00000008ULL;
7915 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR = 0x00000010ULL;
7916 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR = 0x00000020ULL;
7917 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR = 0x00000040ULL;
7918 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR = 0x00000080ULL;
7919 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR = 0x00000100ULL;
7920 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR = 0x00000200ULL;
7921 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR = 0x00000400ULL;
7922 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR = 0x00000800ULL;
7923 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR = 0x00001000ULL;
7924 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR = 0x00001000ULL;
7925 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR = 0x00002000ULL;
7926 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_HOST_BIT_KHR = 0x00004000ULL;
7927 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR = 0x00008000ULL;
7928 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR = 0x00010000ULL;
7929 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COPY_BIT_KHR = 0x100000000ULL;
7930 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR = 0x200000000ULL;
7931 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_BLIT_BIT_KHR = 0x400000000ULL;
7932 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR = 0x800000000ULL;
7933 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR = 0x1000000000ULL;
7934 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR = 0x2000000000ULL;
7935 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR = 0x4000000000ULL;
7936 #ifdef VK_ENABLE_BETA_EXTENSIONS
7937 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR = 0x04000000ULL;
7939 #ifdef VK_ENABLE_BETA_EXTENSIONS
7940 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR = 0x08000000ULL;
7942 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000ULL;
7943 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000ULL;
7944 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV = 0x00020000ULL;
7945 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000ULL;
7946 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV = 0x00400000ULL;
7947 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000ULL;
7948 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR = 0x00200000ULL;
7949 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV = 0x00200000ULL;
7950 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 0x02000000ULL;
7951 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000ULL;
7952 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV = 0x00080000ULL;
7953 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV = 0x00100000ULL;
7954 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI = 0x8000000000ULL;
7955 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI = 0x10000000000ULL;
7957 typedef VkFlags64 VkAccessFlags2KHR;
7959 // Flag bits for VkAccessFlagBits2KHR
7960 typedef VkFlags64 VkAccessFlagBits2KHR;
7961 static const VkAccessFlagBits2KHR VK_ACCESS_2_NONE_KHR = 0ULL;
7962 static const VkAccessFlagBits2KHR VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR = 0x00000001ULL;
7963 static const VkAccessFlagBits2KHR VK_ACCESS_2_INDEX_READ_BIT_KHR = 0x00000002ULL;
7964 static const VkAccessFlagBits2KHR VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR = 0x00000004ULL;
7965 static const VkAccessFlagBits2KHR VK_ACCESS_2_UNIFORM_READ_BIT_KHR = 0x00000008ULL;
7966 static const VkAccessFlagBits2KHR VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR = 0x00000010ULL;
7967 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_READ_BIT_KHR = 0x00000020ULL;
7968 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_WRITE_BIT_KHR = 0x00000040ULL;
7969 static const VkAccessFlagBits2KHR VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR = 0x00000080ULL;
7970 static const VkAccessFlagBits2KHR VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR = 0x00000100ULL;
7971 static const VkAccessFlagBits2KHR VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR = 0x00000200ULL;
7972 static const VkAccessFlagBits2KHR VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR = 0x00000400ULL;
7973 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFER_READ_BIT_KHR = 0x00000800ULL;
7974 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR = 0x00001000ULL;
7975 static const VkAccessFlagBits2KHR VK_ACCESS_2_HOST_READ_BIT_KHR = 0x00002000ULL;
7976 static const VkAccessFlagBits2KHR VK_ACCESS_2_HOST_WRITE_BIT_KHR = 0x00004000ULL;
7977 static const VkAccessFlagBits2KHR VK_ACCESS_2_MEMORY_READ_BIT_KHR = 0x00008000ULL;
7978 static const VkAccessFlagBits2KHR VK_ACCESS_2_MEMORY_WRITE_BIT_KHR = 0x00010000ULL;
7979 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR = 0x100000000ULL;
7980 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR = 0x200000000ULL;
7981 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR = 0x400000000ULL;
7982 #ifdef VK_ENABLE_BETA_EXTENSIONS
7983 static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR = 0x800000000ULL;
7985 #ifdef VK_ENABLE_BETA_EXTENSIONS
7986 static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR = 0x1000000000ULL;
7988 #ifdef VK_ENABLE_BETA_EXTENSIONS
7989 static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR = 0x2000000000ULL;
7991 #ifdef VK_ENABLE_BETA_EXTENSIONS
7992 static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR = 0x4000000000ULL;
7994 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000ULL;
7995 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000ULL;
7996 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000ULL;
7997 static const VkAccessFlagBits2KHR VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000ULL;
7998 static const VkAccessFlagBits2KHR VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000ULL;
7999 static const VkAccessFlagBits2KHR VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000ULL;
8000 static const VkAccessFlagBits2KHR VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000ULL;
8001 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000ULL;
8002 static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000ULL;
8003 static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000ULL;
8004 static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV = 0x00200000ULL;
8005 static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 0x00400000ULL;
8006 static const VkAccessFlagBits2KHR VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000ULL;
8007 static const VkAccessFlagBits2KHR VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000ULL;
8008 static const VkAccessFlagBits2KHR VK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI = 0x8000000000ULL;
8011 typedef enum VkSubmitFlagBitsKHR {
8012 VK_SUBMIT_PROTECTED_BIT_KHR = 0x00000001,
8013 VK_SUBMIT_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8014 } VkSubmitFlagBitsKHR;
8015 typedef VkFlags VkSubmitFlagsKHR;
8016 typedef struct VkMemoryBarrier2KHR {
8017 VkStructureType sType;
8019 VkPipelineStageFlags2KHR srcStageMask;
8020 VkAccessFlags2KHR srcAccessMask;
8021 VkPipelineStageFlags2KHR dstStageMask;
8022 VkAccessFlags2KHR dstAccessMask;
8023 } VkMemoryBarrier2KHR;
8025 typedef struct VkBufferMemoryBarrier2KHR {
8026 VkStructureType sType;
8028 VkPipelineStageFlags2KHR srcStageMask;
8029 VkAccessFlags2KHR srcAccessMask;
8030 VkPipelineStageFlags2KHR dstStageMask;
8031 VkAccessFlags2KHR dstAccessMask;
8032 uint32_t srcQueueFamilyIndex;
8033 uint32_t dstQueueFamilyIndex;
8035 VkDeviceSize offset;
8037 } VkBufferMemoryBarrier2KHR;
8039 typedef struct VkImageMemoryBarrier2KHR {
8040 VkStructureType sType;
8042 VkPipelineStageFlags2KHR srcStageMask;
8043 VkAccessFlags2KHR srcAccessMask;
8044 VkPipelineStageFlags2KHR dstStageMask;
8045 VkAccessFlags2KHR dstAccessMask;
8046 VkImageLayout oldLayout;
8047 VkImageLayout newLayout;
8048 uint32_t srcQueueFamilyIndex;
8049 uint32_t dstQueueFamilyIndex;
8051 VkImageSubresourceRange subresourceRange;
8052 } VkImageMemoryBarrier2KHR;
8054 typedef struct VkDependencyInfoKHR {
8055 VkStructureType sType;
8057 VkDependencyFlags dependencyFlags;
8058 uint32_t memoryBarrierCount;
8059 const VkMemoryBarrier2KHR* pMemoryBarriers;
8060 uint32_t bufferMemoryBarrierCount;
8061 const VkBufferMemoryBarrier2KHR* pBufferMemoryBarriers;
8062 uint32_t imageMemoryBarrierCount;
8063 const VkImageMemoryBarrier2KHR* pImageMemoryBarriers;
8064 } VkDependencyInfoKHR;
8066 typedef struct VkSemaphoreSubmitInfoKHR {
8067 VkStructureType sType;
8069 VkSemaphore semaphore;
8071 VkPipelineStageFlags2KHR stageMask;
8072 uint32_t deviceIndex;
8073 } VkSemaphoreSubmitInfoKHR;
8075 typedef struct VkCommandBufferSubmitInfoKHR {
8076 VkStructureType sType;
8078 VkCommandBuffer commandBuffer;
8079 uint32_t deviceMask;
8080 } VkCommandBufferSubmitInfoKHR;
8082 typedef struct VkSubmitInfo2KHR {
8083 VkStructureType sType;
8085 VkSubmitFlagsKHR flags;
8086 uint32_t waitSemaphoreInfoCount;
8087 const VkSemaphoreSubmitInfoKHR* pWaitSemaphoreInfos;
8088 uint32_t commandBufferInfoCount;
8089 const VkCommandBufferSubmitInfoKHR* pCommandBufferInfos;
8090 uint32_t signalSemaphoreInfoCount;
8091 const VkSemaphoreSubmitInfoKHR* pSignalSemaphoreInfos;
8094 typedef struct VkPhysicalDeviceSynchronization2FeaturesKHR {
8095 VkStructureType sType;
8097 VkBool32 synchronization2;
8098 } VkPhysicalDeviceSynchronization2FeaturesKHR;
8100 typedef struct VkQueueFamilyCheckpointProperties2NV {
8101 VkStructureType sType;
8103 VkPipelineStageFlags2KHR checkpointExecutionStageMask;
8104 } VkQueueFamilyCheckpointProperties2NV;
8106 typedef struct VkCheckpointData2NV {
8107 VkStructureType sType;
8109 VkPipelineStageFlags2KHR stage;
8110 void* pCheckpointMarker;
8111 } VkCheckpointData2NV;
8113 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfoKHR* pDependencyInfo);
8114 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2KHR stageMask);
8115 typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents2KHR)(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, const VkDependencyInfoKHR* pDependencyInfos);
8116 typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier2KHR)(VkCommandBuffer commandBuffer, const VkDependencyInfoKHR* pDependencyInfo);
8117 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2KHR)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2KHR stage, VkQueryPool queryPool, uint32_t query);
8118 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2KHR)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo2KHR* pSubmits, VkFence fence);
8119 typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarker2AMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2KHR stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker);
8120 typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointData2NV)(VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointData2NV* pCheckpointData);
8122 #ifndef VK_NO_PROTOTYPES
8123 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent2KHR(
8124 VkCommandBuffer commandBuffer,
8126 const VkDependencyInfoKHR* pDependencyInfo);
8128 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent2KHR(
8129 VkCommandBuffer commandBuffer,
8131 VkPipelineStageFlags2KHR stageMask);
8133 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents2KHR(
8134 VkCommandBuffer commandBuffer,
8135 uint32_t eventCount,
8136 const VkEvent* pEvents,
8137 const VkDependencyInfoKHR* pDependencyInfos);
8139 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier2KHR(
8140 VkCommandBuffer commandBuffer,
8141 const VkDependencyInfoKHR* pDependencyInfo);
8143 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp2KHR(
8144 VkCommandBuffer commandBuffer,
8145 VkPipelineStageFlags2KHR stage,
8146 VkQueryPool queryPool,
8149 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit2KHR(
8151 uint32_t submitCount,
8152 const VkSubmitInfo2KHR* pSubmits,
8155 VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarker2AMD(
8156 VkCommandBuffer commandBuffer,
8157 VkPipelineStageFlags2KHR stage,
8159 VkDeviceSize dstOffset,
8162 VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointData2NV(
8164 uint32_t* pCheckpointDataCount,
8165 VkCheckpointData2NV* pCheckpointData);
8169 #define VK_KHR_shader_subgroup_uniform_control_flow 1
8170 #define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION 1
8171 #define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME "VK_KHR_shader_subgroup_uniform_control_flow"
8172 typedef struct VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR {
8173 VkStructureType sType;
8175 VkBool32 shaderSubgroupUniformControlFlow;
8176 } VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR;
8180 #define VK_KHR_zero_initialize_workgroup_memory 1
8181 #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION 1
8182 #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME "VK_KHR_zero_initialize_workgroup_memory"
8183 typedef struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR {
8184 VkStructureType sType;
8186 VkBool32 shaderZeroInitializeWorkgroupMemory;
8187 } VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR;
8191 #define VK_KHR_workgroup_memory_explicit_layout 1
8192 #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION 1
8193 #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME "VK_KHR_workgroup_memory_explicit_layout"
8194 typedef struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {
8195 VkStructureType sType;
8197 VkBool32 workgroupMemoryExplicitLayout;
8198 VkBool32 workgroupMemoryExplicitLayoutScalarBlockLayout;
8199 VkBool32 workgroupMemoryExplicitLayout8BitAccess;
8200 VkBool32 workgroupMemoryExplicitLayout16BitAccess;
8201 } VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR;
8205 #define VK_KHR_copy_commands2 1
8206 #define VK_KHR_COPY_COMMANDS_2_SPEC_VERSION 1
8207 #define VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME "VK_KHR_copy_commands2"
8208 typedef struct VkBufferCopy2KHR {
8209 VkStructureType sType;
8211 VkDeviceSize srcOffset;
8212 VkDeviceSize dstOffset;
8216 typedef struct VkCopyBufferInfo2KHR {
8217 VkStructureType sType;
8221 uint32_t regionCount;
8222 const VkBufferCopy2KHR* pRegions;
8223 } VkCopyBufferInfo2KHR;
8225 typedef struct VkImageCopy2KHR {
8226 VkStructureType sType;
8228 VkImageSubresourceLayers srcSubresource;
8229 VkOffset3D srcOffset;
8230 VkImageSubresourceLayers dstSubresource;
8231 VkOffset3D dstOffset;
8235 typedef struct VkCopyImageInfo2KHR {
8236 VkStructureType sType;
8239 VkImageLayout srcImageLayout;
8241 VkImageLayout dstImageLayout;
8242 uint32_t regionCount;
8243 const VkImageCopy2KHR* pRegions;
8244 } VkCopyImageInfo2KHR;
8246 typedef struct VkBufferImageCopy2KHR {
8247 VkStructureType sType;
8249 VkDeviceSize bufferOffset;
8250 uint32_t bufferRowLength;
8251 uint32_t bufferImageHeight;
8252 VkImageSubresourceLayers imageSubresource;
8253 VkOffset3D imageOffset;
8254 VkExtent3D imageExtent;
8255 } VkBufferImageCopy2KHR;
8257 typedef struct VkCopyBufferToImageInfo2KHR {
8258 VkStructureType sType;
8262 VkImageLayout dstImageLayout;
8263 uint32_t regionCount;
8264 const VkBufferImageCopy2KHR* pRegions;
8265 } VkCopyBufferToImageInfo2KHR;
8267 typedef struct VkCopyImageToBufferInfo2KHR {
8268 VkStructureType sType;
8271 VkImageLayout srcImageLayout;
8273 uint32_t regionCount;
8274 const VkBufferImageCopy2KHR* pRegions;
8275 } VkCopyImageToBufferInfo2KHR;
8277 typedef struct VkImageBlit2KHR {
8278 VkStructureType sType;
8280 VkImageSubresourceLayers srcSubresource;
8281 VkOffset3D srcOffsets[2];
8282 VkImageSubresourceLayers dstSubresource;
8283 VkOffset3D dstOffsets[2];
8286 typedef struct VkBlitImageInfo2KHR {
8287 VkStructureType sType;
8290 VkImageLayout srcImageLayout;
8292 VkImageLayout dstImageLayout;
8293 uint32_t regionCount;
8294 const VkImageBlit2KHR* pRegions;
8296 } VkBlitImageInfo2KHR;
8298 typedef struct VkImageResolve2KHR {
8299 VkStructureType sType;
8301 VkImageSubresourceLayers srcSubresource;
8302 VkOffset3D srcOffset;
8303 VkImageSubresourceLayers dstSubresource;
8304 VkOffset3D dstOffset;
8306 } VkImageResolve2KHR;
8308 typedef struct VkResolveImageInfo2KHR {
8309 VkStructureType sType;
8312 VkImageLayout srcImageLayout;
8314 VkImageLayout dstImageLayout;
8315 uint32_t regionCount;
8316 const VkImageResolve2KHR* pRegions;
8317 } VkResolveImageInfo2KHR;
8319 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2KHR* pCopyBufferInfo);
8320 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2KHR* pCopyImageInfo);
8321 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2KHR* pCopyBufferToImageInfo);
8322 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2KHR* pCopyImageToBufferInfo);
8323 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage2KHR)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2KHR* pBlitImageInfo);
8324 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage2KHR)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2KHR* pResolveImageInfo);
8326 #ifndef VK_NO_PROTOTYPES
8327 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer2KHR(
8328 VkCommandBuffer commandBuffer,
8329 const VkCopyBufferInfo2KHR* pCopyBufferInfo);
8331 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage2KHR(
8332 VkCommandBuffer commandBuffer,
8333 const VkCopyImageInfo2KHR* pCopyImageInfo);
8335 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage2KHR(
8336 VkCommandBuffer commandBuffer,
8337 const VkCopyBufferToImageInfo2KHR* pCopyBufferToImageInfo);
8339 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer2KHR(
8340 VkCommandBuffer commandBuffer,
8341 const VkCopyImageToBufferInfo2KHR* pCopyImageToBufferInfo);
8343 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage2KHR(
8344 VkCommandBuffer commandBuffer,
8345 const VkBlitImageInfo2KHR* pBlitImageInfo);
8347 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage2KHR(
8348 VkCommandBuffer commandBuffer,
8349 const VkResolveImageInfo2KHR* pResolveImageInfo);
8353 #define VK_EXT_debug_report 1
8354 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT)
8355 #define VK_EXT_DEBUG_REPORT_SPEC_VERSION 10
8356 #define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report"
8358 typedef enum VkDebugReportObjectTypeEXT {
8359 VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT = 0,
8360 VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT = 1,
8361 VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT = 2,
8362 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT = 3,
8363 VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT = 4,
8364 VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT = 5,
8365 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT = 6,
8366 VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT = 7,
8367 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT = 8,
8368 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT = 9,
8369 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT = 10,
8370 VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT = 11,
8371 VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT = 12,
8372 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT = 13,
8373 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT = 14,
8374 VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT = 15,
8375 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT = 16,
8376 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT = 17,
8377 VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT = 18,
8378 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT = 19,
8379 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT = 20,
8380 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT = 21,
8381 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT = 22,
8382 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT = 23,
8383 VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT = 24,
8384 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT = 25,
8385 VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = 26,
8386 VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = 27,
8387 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT = 28,
8388 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT = 29,
8389 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = 30,
8390 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT = 33,
8391 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT = 1000156000,
8392 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT = 1000085000,
8393 VK_DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT = 1000029000,
8394 VK_DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT = 1000029001,
8395 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT = 1000150000,
8396 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT = 1000165000,
8397 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT,
8398 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT,
8399 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT,
8400 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT,
8401 VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
8402 } VkDebugReportObjectTypeEXT;
8404 typedef enum VkDebugReportFlagBitsEXT {
8405 VK_DEBUG_REPORT_INFORMATION_BIT_EXT = 0x00000001,
8406 VK_DEBUG_REPORT_WARNING_BIT_EXT = 0x00000002,
8407 VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = 0x00000004,
8408 VK_DEBUG_REPORT_ERROR_BIT_EXT = 0x00000008,
8409 VK_DEBUG_REPORT_DEBUG_BIT_EXT = 0x00000010,
8410 VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
8411 } VkDebugReportFlagBitsEXT;
8412 typedef VkFlags VkDebugReportFlagsEXT;
8413 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugReportCallbackEXT)(
8414 VkDebugReportFlagsEXT flags,
8415 VkDebugReportObjectTypeEXT objectType,
8418 int32_t messageCode,
8419 const char* pLayerPrefix,
8420 const char* pMessage,
8423 typedef struct VkDebugReportCallbackCreateInfoEXT {
8424 VkStructureType sType;
8426 VkDebugReportFlagsEXT flags;
8427 PFN_vkDebugReportCallbackEXT pfnCallback;
8429 } VkDebugReportCallbackCreateInfoEXT;
8431 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugReportCallbackEXT)(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback);
8432 typedef void (VKAPI_PTR *PFN_vkDestroyDebugReportCallbackEXT)(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator);
8433 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);
8435 #ifndef VK_NO_PROTOTYPES
8436 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugReportCallbackEXT(
8437 VkInstance instance,
8438 const VkDebugReportCallbackCreateInfoEXT* pCreateInfo,
8439 const VkAllocationCallbacks* pAllocator,
8440 VkDebugReportCallbackEXT* pCallback);
8442 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugReportCallbackEXT(
8443 VkInstance instance,
8444 VkDebugReportCallbackEXT callback,
8445 const VkAllocationCallbacks* pAllocator);
8447 VKAPI_ATTR void VKAPI_CALL vkDebugReportMessageEXT(
8448 VkInstance instance,
8449 VkDebugReportFlagsEXT flags,
8450 VkDebugReportObjectTypeEXT objectType,
8453 int32_t messageCode,
8454 const char* pLayerPrefix,
8455 const char* pMessage);
8459 #define VK_NV_glsl_shader 1
8460 #define VK_NV_GLSL_SHADER_SPEC_VERSION 1
8461 #define VK_NV_GLSL_SHADER_EXTENSION_NAME "VK_NV_glsl_shader"
8464 #define VK_EXT_depth_range_unrestricted 1
8465 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION 1
8466 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME "VK_EXT_depth_range_unrestricted"
8469 #define VK_IMG_filter_cubic 1
8470 #define VK_IMG_FILTER_CUBIC_SPEC_VERSION 1
8471 #define VK_IMG_FILTER_CUBIC_EXTENSION_NAME "VK_IMG_filter_cubic"
8474 #define VK_AMD_rasterization_order 1
8475 #define VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION 1
8476 #define VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME "VK_AMD_rasterization_order"
8478 typedef enum VkRasterizationOrderAMD {
8479 VK_RASTERIZATION_ORDER_STRICT_AMD = 0,
8480 VK_RASTERIZATION_ORDER_RELAXED_AMD = 1,
8481 VK_RASTERIZATION_ORDER_MAX_ENUM_AMD = 0x7FFFFFFF
8482 } VkRasterizationOrderAMD;
8483 typedef struct VkPipelineRasterizationStateRasterizationOrderAMD {
8484 VkStructureType sType;
8486 VkRasterizationOrderAMD rasterizationOrder;
8487 } VkPipelineRasterizationStateRasterizationOrderAMD;
8491 #define VK_AMD_shader_trinary_minmax 1
8492 #define VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION 1
8493 #define VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME "VK_AMD_shader_trinary_minmax"
8496 #define VK_AMD_shader_explicit_vertex_parameter 1
8497 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION 1
8498 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME "VK_AMD_shader_explicit_vertex_parameter"
8501 #define VK_EXT_debug_marker 1
8502 #define VK_EXT_DEBUG_MARKER_SPEC_VERSION 4
8503 #define VK_EXT_DEBUG_MARKER_EXTENSION_NAME "VK_EXT_debug_marker"
8504 typedef struct VkDebugMarkerObjectNameInfoEXT {
8505 VkStructureType sType;
8507 VkDebugReportObjectTypeEXT objectType;
8509 const char* pObjectName;
8510 } VkDebugMarkerObjectNameInfoEXT;
8512 typedef struct VkDebugMarkerObjectTagInfoEXT {
8513 VkStructureType sType;
8515 VkDebugReportObjectTypeEXT objectType;
8520 } VkDebugMarkerObjectTagInfoEXT;
8522 typedef struct VkDebugMarkerMarkerInfoEXT {
8523 VkStructureType sType;
8525 const char* pMarkerName;
8527 } VkDebugMarkerMarkerInfoEXT;
8529 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectTagEXT)(VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
8530 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectNameEXT)(VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
8531 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerBeginEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
8532 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerEndEXT)(VkCommandBuffer commandBuffer);
8533 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerInsertEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
8535 #ifndef VK_NO_PROTOTYPES
8536 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectTagEXT(
8538 const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
8540 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectNameEXT(
8542 const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
8544 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerBeginEXT(
8545 VkCommandBuffer commandBuffer,
8546 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
8548 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerEndEXT(
8549 VkCommandBuffer commandBuffer);
8551 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerInsertEXT(
8552 VkCommandBuffer commandBuffer,
8553 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
8557 #define VK_AMD_gcn_shader 1
8558 #define VK_AMD_GCN_SHADER_SPEC_VERSION 1
8559 #define VK_AMD_GCN_SHADER_EXTENSION_NAME "VK_AMD_gcn_shader"
8562 #define VK_NV_dedicated_allocation 1
8563 #define VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION 1
8564 #define VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_NV_dedicated_allocation"
8565 typedef struct VkDedicatedAllocationImageCreateInfoNV {
8566 VkStructureType sType;
8568 VkBool32 dedicatedAllocation;
8569 } VkDedicatedAllocationImageCreateInfoNV;
8571 typedef struct VkDedicatedAllocationBufferCreateInfoNV {
8572 VkStructureType sType;
8574 VkBool32 dedicatedAllocation;
8575 } VkDedicatedAllocationBufferCreateInfoNV;
8577 typedef struct VkDedicatedAllocationMemoryAllocateInfoNV {
8578 VkStructureType sType;
8582 } VkDedicatedAllocationMemoryAllocateInfoNV;
8586 #define VK_EXT_transform_feedback 1
8587 #define VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION 1
8588 #define VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME "VK_EXT_transform_feedback"
8589 typedef VkFlags VkPipelineRasterizationStateStreamCreateFlagsEXT;
8590 typedef struct VkPhysicalDeviceTransformFeedbackFeaturesEXT {
8591 VkStructureType sType;
8593 VkBool32 transformFeedback;
8594 VkBool32 geometryStreams;
8595 } VkPhysicalDeviceTransformFeedbackFeaturesEXT;
8597 typedef struct VkPhysicalDeviceTransformFeedbackPropertiesEXT {
8598 VkStructureType sType;
8600 uint32_t maxTransformFeedbackStreams;
8601 uint32_t maxTransformFeedbackBuffers;
8602 VkDeviceSize maxTransformFeedbackBufferSize;
8603 uint32_t maxTransformFeedbackStreamDataSize;
8604 uint32_t maxTransformFeedbackBufferDataSize;
8605 uint32_t maxTransformFeedbackBufferDataStride;
8606 VkBool32 transformFeedbackQueries;
8607 VkBool32 transformFeedbackStreamsLinesTriangles;
8608 VkBool32 transformFeedbackRasterizationStreamSelect;
8609 VkBool32 transformFeedbackDraw;
8610 } VkPhysicalDeviceTransformFeedbackPropertiesEXT;
8612 typedef struct VkPipelineRasterizationStateStreamCreateInfoEXT {
8613 VkStructureType sType;
8615 VkPipelineRasterizationStateStreamCreateFlagsEXT flags;
8616 uint32_t rasterizationStream;
8617 } VkPipelineRasterizationStateStreamCreateInfoEXT;
8619 typedef void (VKAPI_PTR *PFN_vkCmdBindTransformFeedbackBuffersEXT)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes);
8620 typedef void (VKAPI_PTR *PFN_vkCmdBeginTransformFeedbackEXT)(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
8621 typedef void (VKAPI_PTR *PFN_vkCmdEndTransformFeedbackEXT)(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
8622 typedef void (VKAPI_PTR *PFN_vkCmdBeginQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index);
8623 typedef void (VKAPI_PTR *PFN_vkCmdEndQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index);
8624 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectByteCountEXT)(VkCommandBuffer commandBuffer, uint32_t instanceCount, uint32_t firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, uint32_t counterOffset, uint32_t vertexStride);
8626 #ifndef VK_NO_PROTOTYPES
8627 VKAPI_ATTR void VKAPI_CALL vkCmdBindTransformFeedbackBuffersEXT(
8628 VkCommandBuffer commandBuffer,
8629 uint32_t firstBinding,
8630 uint32_t bindingCount,
8631 const VkBuffer* pBuffers,
8632 const VkDeviceSize* pOffsets,
8633 const VkDeviceSize* pSizes);
8635 VKAPI_ATTR void VKAPI_CALL vkCmdBeginTransformFeedbackEXT(
8636 VkCommandBuffer commandBuffer,
8637 uint32_t firstCounterBuffer,
8638 uint32_t counterBufferCount,
8639 const VkBuffer* pCounterBuffers,
8640 const VkDeviceSize* pCounterBufferOffsets);
8642 VKAPI_ATTR void VKAPI_CALL vkCmdEndTransformFeedbackEXT(
8643 VkCommandBuffer commandBuffer,
8644 uint32_t firstCounterBuffer,
8645 uint32_t counterBufferCount,
8646 const VkBuffer* pCounterBuffers,
8647 const VkDeviceSize* pCounterBufferOffsets);
8649 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQueryIndexedEXT(
8650 VkCommandBuffer commandBuffer,
8651 VkQueryPool queryPool,
8653 VkQueryControlFlags flags,
8656 VKAPI_ATTR void VKAPI_CALL vkCmdEndQueryIndexedEXT(
8657 VkCommandBuffer commandBuffer,
8658 VkQueryPool queryPool,
8662 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectByteCountEXT(
8663 VkCommandBuffer commandBuffer,
8664 uint32_t instanceCount,
8665 uint32_t firstInstance,
8666 VkBuffer counterBuffer,
8667 VkDeviceSize counterBufferOffset,
8668 uint32_t counterOffset,
8669 uint32_t vertexStride);
8673 #define VK_NVX_binary_import 1
8674 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuModuleNVX)
8675 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuFunctionNVX)
8676 #define VK_NVX_BINARY_IMPORT_SPEC_VERSION 1
8677 #define VK_NVX_BINARY_IMPORT_EXTENSION_NAME "VK_NVX_binary_import"
8678 typedef struct VkCuModuleCreateInfoNVX {
8679 VkStructureType sType;
8683 } VkCuModuleCreateInfoNVX;
8685 typedef struct VkCuFunctionCreateInfoNVX {
8686 VkStructureType sType;
8688 VkCuModuleNVX module;
8690 } VkCuFunctionCreateInfoNVX;
8692 typedef struct VkCuLaunchInfoNVX {
8693 VkStructureType sType;
8695 VkCuFunctionNVX function;
8702 uint32_t sharedMemBytes;
8704 const void* const * pParams;
8706 const void* const * pExtras;
8707 } VkCuLaunchInfoNVX;
8709 typedef VkResult (VKAPI_PTR *PFN_vkCreateCuModuleNVX)(VkDevice device, const VkCuModuleCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuModuleNVX* pModule);
8710 typedef VkResult (VKAPI_PTR *PFN_vkCreateCuFunctionNVX)(VkDevice device, const VkCuFunctionCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuFunctionNVX* pFunction);
8711 typedef void (VKAPI_PTR *PFN_vkDestroyCuModuleNVX)(VkDevice device, VkCuModuleNVX module, const VkAllocationCallbacks* pAllocator);
8712 typedef void (VKAPI_PTR *PFN_vkDestroyCuFunctionNVX)(VkDevice device, VkCuFunctionNVX function, const VkAllocationCallbacks* pAllocator);
8713 typedef void (VKAPI_PTR *PFN_vkCmdCuLaunchKernelNVX)(VkCommandBuffer commandBuffer, const VkCuLaunchInfoNVX* pLaunchInfo);
8715 #ifndef VK_NO_PROTOTYPES
8716 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCuModuleNVX(
8718 const VkCuModuleCreateInfoNVX* pCreateInfo,
8719 const VkAllocationCallbacks* pAllocator,
8720 VkCuModuleNVX* pModule);
8722 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCuFunctionNVX(
8724 const VkCuFunctionCreateInfoNVX* pCreateInfo,
8725 const VkAllocationCallbacks* pAllocator,
8726 VkCuFunctionNVX* pFunction);
8728 VKAPI_ATTR void VKAPI_CALL vkDestroyCuModuleNVX(
8730 VkCuModuleNVX module,
8731 const VkAllocationCallbacks* pAllocator);
8733 VKAPI_ATTR void VKAPI_CALL vkDestroyCuFunctionNVX(
8735 VkCuFunctionNVX function,
8736 const VkAllocationCallbacks* pAllocator);
8738 VKAPI_ATTR void VKAPI_CALL vkCmdCuLaunchKernelNVX(
8739 VkCommandBuffer commandBuffer,
8740 const VkCuLaunchInfoNVX* pLaunchInfo);
8744 #define VK_NVX_image_view_handle 1
8745 #define VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION 2
8746 #define VK_NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME "VK_NVX_image_view_handle"
8747 typedef struct VkImageViewHandleInfoNVX {
8748 VkStructureType sType;
8750 VkImageView imageView;
8751 VkDescriptorType descriptorType;
8753 } VkImageViewHandleInfoNVX;
8755 typedef struct VkImageViewAddressPropertiesNVX {
8756 VkStructureType sType;
8758 VkDeviceAddress deviceAddress;
8760 } VkImageViewAddressPropertiesNVX;
8762 typedef uint32_t (VKAPI_PTR *PFN_vkGetImageViewHandleNVX)(VkDevice device, const VkImageViewHandleInfoNVX* pInfo);
8763 typedef VkResult (VKAPI_PTR *PFN_vkGetImageViewAddressNVX)(VkDevice device, VkImageView imageView, VkImageViewAddressPropertiesNVX* pProperties);
8765 #ifndef VK_NO_PROTOTYPES
8766 VKAPI_ATTR uint32_t VKAPI_CALL vkGetImageViewHandleNVX(
8768 const VkImageViewHandleInfoNVX* pInfo);
8770 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageViewAddressNVX(
8772 VkImageView imageView,
8773 VkImageViewAddressPropertiesNVX* pProperties);
8777 #define VK_AMD_draw_indirect_count 1
8778 #define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 2
8779 #define VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_AMD_draw_indirect_count"
8780 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
8781 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
8783 #ifndef VK_NO_PROTOTYPES
8784 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountAMD(
8785 VkCommandBuffer commandBuffer,
8787 VkDeviceSize offset,
8788 VkBuffer countBuffer,
8789 VkDeviceSize countBufferOffset,
8790 uint32_t maxDrawCount,
8793 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountAMD(
8794 VkCommandBuffer commandBuffer,
8796 VkDeviceSize offset,
8797 VkBuffer countBuffer,
8798 VkDeviceSize countBufferOffset,
8799 uint32_t maxDrawCount,
8804 #define VK_AMD_negative_viewport_height 1
8805 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION 1
8806 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME "VK_AMD_negative_viewport_height"
8809 #define VK_AMD_gpu_shader_half_float 1
8810 #define VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION 2
8811 #define VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME "VK_AMD_gpu_shader_half_float"
8814 #define VK_AMD_shader_ballot 1
8815 #define VK_AMD_SHADER_BALLOT_SPEC_VERSION 1
8816 #define VK_AMD_SHADER_BALLOT_EXTENSION_NAME "VK_AMD_shader_ballot"
8819 #define VK_AMD_texture_gather_bias_lod 1
8820 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION 1
8821 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME "VK_AMD_texture_gather_bias_lod"
8822 typedef struct VkTextureLODGatherFormatPropertiesAMD {
8823 VkStructureType sType;
8825 VkBool32 supportsTextureGatherLODBiasAMD;
8826 } VkTextureLODGatherFormatPropertiesAMD;
8830 #define VK_AMD_shader_info 1
8831 #define VK_AMD_SHADER_INFO_SPEC_VERSION 1
8832 #define VK_AMD_SHADER_INFO_EXTENSION_NAME "VK_AMD_shader_info"
8834 typedef enum VkShaderInfoTypeAMD {
8835 VK_SHADER_INFO_TYPE_STATISTICS_AMD = 0,
8836 VK_SHADER_INFO_TYPE_BINARY_AMD = 1,
8837 VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD = 2,
8838 VK_SHADER_INFO_TYPE_MAX_ENUM_AMD = 0x7FFFFFFF
8839 } VkShaderInfoTypeAMD;
8840 typedef struct VkShaderResourceUsageAMD {
8841 uint32_t numUsedVgprs;
8842 uint32_t numUsedSgprs;
8843 uint32_t ldsSizePerLocalWorkGroup;
8844 size_t ldsUsageSizeInBytes;
8845 size_t scratchMemUsageInBytes;
8846 } VkShaderResourceUsageAMD;
8848 typedef struct VkShaderStatisticsInfoAMD {
8849 VkShaderStageFlags shaderStageMask;
8850 VkShaderResourceUsageAMD resourceUsage;
8851 uint32_t numPhysicalVgprs;
8852 uint32_t numPhysicalSgprs;
8853 uint32_t numAvailableVgprs;
8854 uint32_t numAvailableSgprs;
8855 uint32_t computeWorkGroupSize[3];
8856 } VkShaderStatisticsInfoAMD;
8858 typedef VkResult (VKAPI_PTR *PFN_vkGetShaderInfoAMD)(VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, size_t* pInfoSize, void* pInfo);
8860 #ifndef VK_NO_PROTOTYPES
8861 VKAPI_ATTR VkResult VKAPI_CALL vkGetShaderInfoAMD(
8863 VkPipeline pipeline,
8864 VkShaderStageFlagBits shaderStage,
8865 VkShaderInfoTypeAMD infoType,
8871 #define VK_AMD_shader_image_load_store_lod 1
8872 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION 1
8873 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME "VK_AMD_shader_image_load_store_lod"
8876 #define VK_NV_corner_sampled_image 1
8877 #define VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION 2
8878 #define VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME "VK_NV_corner_sampled_image"
8879 typedef struct VkPhysicalDeviceCornerSampledImageFeaturesNV {
8880 VkStructureType sType;
8882 VkBool32 cornerSampledImage;
8883 } VkPhysicalDeviceCornerSampledImageFeaturesNV;
8887 #define VK_IMG_format_pvrtc 1
8888 #define VK_IMG_FORMAT_PVRTC_SPEC_VERSION 1
8889 #define VK_IMG_FORMAT_PVRTC_EXTENSION_NAME "VK_IMG_format_pvrtc"
8892 #define VK_NV_external_memory_capabilities 1
8893 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
8894 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_NV_external_memory_capabilities"
8896 typedef enum VkExternalMemoryHandleTypeFlagBitsNV {
8897 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV = 0x00000001,
8898 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV = 0x00000002,
8899 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV = 0x00000004,
8900 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV = 0x00000008,
8901 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
8902 } VkExternalMemoryHandleTypeFlagBitsNV;
8903 typedef VkFlags VkExternalMemoryHandleTypeFlagsNV;
8905 typedef enum VkExternalMemoryFeatureFlagBitsNV {
8906 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV = 0x00000001,
8907 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV = 0x00000002,
8908 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV = 0x00000004,
8909 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
8910 } VkExternalMemoryFeatureFlagBitsNV;
8911 typedef VkFlags VkExternalMemoryFeatureFlagsNV;
8912 typedef struct VkExternalImageFormatPropertiesNV {
8913 VkImageFormatProperties imageFormatProperties;
8914 VkExternalMemoryFeatureFlagsNV externalMemoryFeatures;
8915 VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes;
8916 VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes;
8917 } VkExternalImageFormatPropertiesNV;
8919 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
8921 #ifndef VK_NO_PROTOTYPES
8922 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
8923 VkPhysicalDevice physicalDevice,
8926 VkImageTiling tiling,
8927 VkImageUsageFlags usage,
8928 VkImageCreateFlags flags,
8929 VkExternalMemoryHandleTypeFlagsNV externalHandleType,
8930 VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
8934 #define VK_NV_external_memory 1
8935 #define VK_NV_EXTERNAL_MEMORY_SPEC_VERSION 1
8936 #define VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME "VK_NV_external_memory"
8937 typedef struct VkExternalMemoryImageCreateInfoNV {
8938 VkStructureType sType;
8940 VkExternalMemoryHandleTypeFlagsNV handleTypes;
8941 } VkExternalMemoryImageCreateInfoNV;
8943 typedef struct VkExportMemoryAllocateInfoNV {
8944 VkStructureType sType;
8946 VkExternalMemoryHandleTypeFlagsNV handleTypes;
8947 } VkExportMemoryAllocateInfoNV;
8951 #define VK_EXT_validation_flags 1
8952 #define VK_EXT_VALIDATION_FLAGS_SPEC_VERSION 2
8953 #define VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME "VK_EXT_validation_flags"
8955 typedef enum VkValidationCheckEXT {
8956 VK_VALIDATION_CHECK_ALL_EXT = 0,
8957 VK_VALIDATION_CHECK_SHADERS_EXT = 1,
8958 VK_VALIDATION_CHECK_MAX_ENUM_EXT = 0x7FFFFFFF
8959 } VkValidationCheckEXT;
8960 typedef struct VkValidationFlagsEXT {
8961 VkStructureType sType;
8963 uint32_t disabledValidationCheckCount;
8964 const VkValidationCheckEXT* pDisabledValidationChecks;
8965 } VkValidationFlagsEXT;
8969 #define VK_EXT_shader_subgroup_ballot 1
8970 #define VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION 1
8971 #define VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME "VK_EXT_shader_subgroup_ballot"
8974 #define VK_EXT_shader_subgroup_vote 1
8975 #define VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION 1
8976 #define VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME "VK_EXT_shader_subgroup_vote"
8979 #define VK_EXT_texture_compression_astc_hdr 1
8980 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION 1
8981 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME "VK_EXT_texture_compression_astc_hdr"
8982 typedef struct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT {
8983 VkStructureType sType;
8985 VkBool32 textureCompressionASTC_HDR;
8986 } VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT;
8990 #define VK_EXT_astc_decode_mode 1
8991 #define VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION 1
8992 #define VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME "VK_EXT_astc_decode_mode"
8993 typedef struct VkImageViewASTCDecodeModeEXT {
8994 VkStructureType sType;
8996 VkFormat decodeMode;
8997 } VkImageViewASTCDecodeModeEXT;
8999 typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT {
9000 VkStructureType sType;
9002 VkBool32 decodeModeSharedExponent;
9003 } VkPhysicalDeviceASTCDecodeFeaturesEXT;
9007 #define VK_EXT_conditional_rendering 1
9008 #define VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION 2
9009 #define VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME "VK_EXT_conditional_rendering"
9011 typedef enum VkConditionalRenderingFlagBitsEXT {
9012 VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT = 0x00000001,
9013 VK_CONDITIONAL_RENDERING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
9014 } VkConditionalRenderingFlagBitsEXT;
9015 typedef VkFlags VkConditionalRenderingFlagsEXT;
9016 typedef struct VkConditionalRenderingBeginInfoEXT {
9017 VkStructureType sType;
9020 VkDeviceSize offset;
9021 VkConditionalRenderingFlagsEXT flags;
9022 } VkConditionalRenderingBeginInfoEXT;
9024 typedef struct VkPhysicalDeviceConditionalRenderingFeaturesEXT {
9025 VkStructureType sType;
9027 VkBool32 conditionalRendering;
9028 VkBool32 inheritedConditionalRendering;
9029 } VkPhysicalDeviceConditionalRenderingFeaturesEXT;
9031 typedef struct VkCommandBufferInheritanceConditionalRenderingInfoEXT {
9032 VkStructureType sType;
9034 VkBool32 conditionalRenderingEnable;
9035 } VkCommandBufferInheritanceConditionalRenderingInfoEXT;
9037 typedef void (VKAPI_PTR *PFN_vkCmdBeginConditionalRenderingEXT)(VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
9038 typedef void (VKAPI_PTR *PFN_vkCmdEndConditionalRenderingEXT)(VkCommandBuffer commandBuffer);
9040 #ifndef VK_NO_PROTOTYPES
9041 VKAPI_ATTR void VKAPI_CALL vkCmdBeginConditionalRenderingEXT(
9042 VkCommandBuffer commandBuffer,
9043 const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
9045 VKAPI_ATTR void VKAPI_CALL vkCmdEndConditionalRenderingEXT(
9046 VkCommandBuffer commandBuffer);
9050 #define VK_NV_clip_space_w_scaling 1
9051 #define VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION 1
9052 #define VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME "VK_NV_clip_space_w_scaling"
9053 typedef struct VkViewportWScalingNV {
9056 } VkViewportWScalingNV;
9058 typedef struct VkPipelineViewportWScalingStateCreateInfoNV {
9059 VkStructureType sType;
9061 VkBool32 viewportWScalingEnable;
9062 uint32_t viewportCount;
9063 const VkViewportWScalingNV* pViewportWScalings;
9064 } VkPipelineViewportWScalingStateCreateInfoNV;
9066 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportWScalingNV* pViewportWScalings);
9068 #ifndef VK_NO_PROTOTYPES
9069 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWScalingNV(
9070 VkCommandBuffer commandBuffer,
9071 uint32_t firstViewport,
9072 uint32_t viewportCount,
9073 const VkViewportWScalingNV* pViewportWScalings);
9077 #define VK_EXT_direct_mode_display 1
9078 #define VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION 1
9079 #define VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME "VK_EXT_direct_mode_display"
9080 typedef VkResult (VKAPI_PTR *PFN_vkReleaseDisplayEXT)(VkPhysicalDevice physicalDevice, VkDisplayKHR display);
9082 #ifndef VK_NO_PROTOTYPES
9083 VKAPI_ATTR VkResult VKAPI_CALL vkReleaseDisplayEXT(
9084 VkPhysicalDevice physicalDevice,
9085 VkDisplayKHR display);
9089 #define VK_EXT_display_surface_counter 1
9090 #define VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION 1
9091 #define VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME "VK_EXT_display_surface_counter"
9093 typedef enum VkSurfaceCounterFlagBitsEXT {
9094 VK_SURFACE_COUNTER_VBLANK_BIT_EXT = 0x00000001,
9095 VK_SURFACE_COUNTER_VBLANK_EXT = VK_SURFACE_COUNTER_VBLANK_BIT_EXT,
9096 VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
9097 } VkSurfaceCounterFlagBitsEXT;
9098 typedef VkFlags VkSurfaceCounterFlagsEXT;
9099 typedef struct VkSurfaceCapabilities2EXT {
9100 VkStructureType sType;
9102 uint32_t minImageCount;
9103 uint32_t maxImageCount;
9104 VkExtent2D currentExtent;
9105 VkExtent2D minImageExtent;
9106 VkExtent2D maxImageExtent;
9107 uint32_t maxImageArrayLayers;
9108 VkSurfaceTransformFlagsKHR supportedTransforms;
9109 VkSurfaceTransformFlagBitsKHR currentTransform;
9110 VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
9111 VkImageUsageFlags supportedUsageFlags;
9112 VkSurfaceCounterFlagsEXT supportedSurfaceCounters;
9113 } VkSurfaceCapabilities2EXT;
9115 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
9117 #ifndef VK_NO_PROTOTYPES
9118 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2EXT(
9119 VkPhysicalDevice physicalDevice,
9120 VkSurfaceKHR surface,
9121 VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
9125 #define VK_EXT_display_control 1
9126 #define VK_EXT_DISPLAY_CONTROL_SPEC_VERSION 1
9127 #define VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME "VK_EXT_display_control"
9129 typedef enum VkDisplayPowerStateEXT {
9130 VK_DISPLAY_POWER_STATE_OFF_EXT = 0,
9131 VK_DISPLAY_POWER_STATE_SUSPEND_EXT = 1,
9132 VK_DISPLAY_POWER_STATE_ON_EXT = 2,
9133 VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT = 0x7FFFFFFF
9134 } VkDisplayPowerStateEXT;
9136 typedef enum VkDeviceEventTypeEXT {
9137 VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT = 0,
9138 VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
9139 } VkDeviceEventTypeEXT;
9141 typedef enum VkDisplayEventTypeEXT {
9142 VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT = 0,
9143 VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
9144 } VkDisplayEventTypeEXT;
9145 typedef struct VkDisplayPowerInfoEXT {
9146 VkStructureType sType;
9148 VkDisplayPowerStateEXT powerState;
9149 } VkDisplayPowerInfoEXT;
9151 typedef struct VkDeviceEventInfoEXT {
9152 VkStructureType sType;
9154 VkDeviceEventTypeEXT deviceEvent;
9155 } VkDeviceEventInfoEXT;
9157 typedef struct VkDisplayEventInfoEXT {
9158 VkStructureType sType;
9160 VkDisplayEventTypeEXT displayEvent;
9161 } VkDisplayEventInfoEXT;
9163 typedef struct VkSwapchainCounterCreateInfoEXT {
9164 VkStructureType sType;
9166 VkSurfaceCounterFlagsEXT surfaceCounters;
9167 } VkSwapchainCounterCreateInfoEXT;
9169 typedef VkResult (VKAPI_PTR *PFN_vkDisplayPowerControlEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
9170 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDeviceEventEXT)(VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
9171 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDisplayEventEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
9172 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainCounterEXT)(VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, uint64_t* pCounterValue);
9174 #ifndef VK_NO_PROTOTYPES
9175 VKAPI_ATTR VkResult VKAPI_CALL vkDisplayPowerControlEXT(
9177 VkDisplayKHR display,
9178 const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
9180 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDeviceEventEXT(
9182 const VkDeviceEventInfoEXT* pDeviceEventInfo,
9183 const VkAllocationCallbacks* pAllocator,
9186 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDisplayEventEXT(
9188 VkDisplayKHR display,
9189 const VkDisplayEventInfoEXT* pDisplayEventInfo,
9190 const VkAllocationCallbacks* pAllocator,
9193 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainCounterEXT(
9195 VkSwapchainKHR swapchain,
9196 VkSurfaceCounterFlagBitsEXT counter,
9197 uint64_t* pCounterValue);
9201 #define VK_GOOGLE_display_timing 1
9202 #define VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION 1
9203 #define VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME "VK_GOOGLE_display_timing"
9204 typedef struct VkRefreshCycleDurationGOOGLE {
9205 uint64_t refreshDuration;
9206 } VkRefreshCycleDurationGOOGLE;
9208 typedef struct VkPastPresentationTimingGOOGLE {
9210 uint64_t desiredPresentTime;
9211 uint64_t actualPresentTime;
9212 uint64_t earliestPresentTime;
9213 uint64_t presentMargin;
9214 } VkPastPresentationTimingGOOGLE;
9216 typedef struct VkPresentTimeGOOGLE {
9218 uint64_t desiredPresentTime;
9219 } VkPresentTimeGOOGLE;
9221 typedef struct VkPresentTimesInfoGOOGLE {
9222 VkStructureType sType;
9224 uint32_t swapchainCount;
9225 const VkPresentTimeGOOGLE* pTimes;
9226 } VkPresentTimesInfoGOOGLE;
9228 typedef VkResult (VKAPI_PTR *PFN_vkGetRefreshCycleDurationGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
9229 typedef VkResult (VKAPI_PTR *PFN_vkGetPastPresentationTimingGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings);
9231 #ifndef VK_NO_PROTOTYPES
9232 VKAPI_ATTR VkResult VKAPI_CALL vkGetRefreshCycleDurationGOOGLE(
9234 VkSwapchainKHR swapchain,
9235 VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
9237 VKAPI_ATTR VkResult VKAPI_CALL vkGetPastPresentationTimingGOOGLE(
9239 VkSwapchainKHR swapchain,
9240 uint32_t* pPresentationTimingCount,
9241 VkPastPresentationTimingGOOGLE* pPresentationTimings);
9245 #define VK_NV_sample_mask_override_coverage 1
9246 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION 1
9247 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME "VK_NV_sample_mask_override_coverage"
9250 #define VK_NV_geometry_shader_passthrough 1
9251 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION 1
9252 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME "VK_NV_geometry_shader_passthrough"
9255 #define VK_NV_viewport_array2 1
9256 #define VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION 1
9257 #define VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME "VK_NV_viewport_array2"
9260 #define VK_NVX_multiview_per_view_attributes 1
9261 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION 1
9262 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME "VK_NVX_multiview_per_view_attributes"
9263 typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
9264 VkStructureType sType;
9266 VkBool32 perViewPositionAllComponents;
9267 } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
9271 #define VK_NV_viewport_swizzle 1
9272 #define VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION 1
9273 #define VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME "VK_NV_viewport_swizzle"
9275 typedef enum VkViewportCoordinateSwizzleNV {
9276 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV = 0,
9277 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV = 1,
9278 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV = 2,
9279 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV = 3,
9280 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV = 4,
9281 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV = 5,
9282 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV = 6,
9283 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV = 7,
9284 VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV = 0x7FFFFFFF
9285 } VkViewportCoordinateSwizzleNV;
9286 typedef VkFlags VkPipelineViewportSwizzleStateCreateFlagsNV;
9287 typedef struct VkViewportSwizzleNV {
9288 VkViewportCoordinateSwizzleNV x;
9289 VkViewportCoordinateSwizzleNV y;
9290 VkViewportCoordinateSwizzleNV z;
9291 VkViewportCoordinateSwizzleNV w;
9292 } VkViewportSwizzleNV;
9294 typedef struct VkPipelineViewportSwizzleStateCreateInfoNV {
9295 VkStructureType sType;
9297 VkPipelineViewportSwizzleStateCreateFlagsNV flags;
9298 uint32_t viewportCount;
9299 const VkViewportSwizzleNV* pViewportSwizzles;
9300 } VkPipelineViewportSwizzleStateCreateInfoNV;
9304 #define VK_EXT_discard_rectangles 1
9305 #define VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION 1
9306 #define VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME "VK_EXT_discard_rectangles"
9308 typedef enum VkDiscardRectangleModeEXT {
9309 VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT = 0,
9310 VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT = 1,
9311 VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
9312 } VkDiscardRectangleModeEXT;
9313 typedef VkFlags VkPipelineDiscardRectangleStateCreateFlagsEXT;
9314 typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
9315 VkStructureType sType;
9317 uint32_t maxDiscardRectangles;
9318 } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
9320 typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT {
9321 VkStructureType sType;
9323 VkPipelineDiscardRectangleStateCreateFlagsEXT flags;
9324 VkDiscardRectangleModeEXT discardRectangleMode;
9325 uint32_t discardRectangleCount;
9326 const VkRect2D* pDiscardRectangles;
9327 } VkPipelineDiscardRectangleStateCreateInfoEXT;
9329 typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEXT)(VkCommandBuffer commandBuffer, uint32_t firstDiscardRectangle, uint32_t discardRectangleCount, const VkRect2D* pDiscardRectangles);
9331 #ifndef VK_NO_PROTOTYPES
9332 VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEXT(
9333 VkCommandBuffer commandBuffer,
9334 uint32_t firstDiscardRectangle,
9335 uint32_t discardRectangleCount,
9336 const VkRect2D* pDiscardRectangles);
9340 #define VK_EXT_conservative_rasterization 1
9341 #define VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION 1
9342 #define VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME "VK_EXT_conservative_rasterization"
9344 typedef enum VkConservativeRasterizationModeEXT {
9345 VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT = 0,
9346 VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT = 1,
9347 VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT = 2,
9348 VK_CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
9349 } VkConservativeRasterizationModeEXT;
9350 typedef VkFlags VkPipelineRasterizationConservativeStateCreateFlagsEXT;
9351 typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT {
9352 VkStructureType sType;
9354 float primitiveOverestimationSize;
9355 float maxExtraPrimitiveOverestimationSize;
9356 float extraPrimitiveOverestimationSizeGranularity;
9357 VkBool32 primitiveUnderestimation;
9358 VkBool32 conservativePointAndLineRasterization;
9359 VkBool32 degenerateTrianglesRasterized;
9360 VkBool32 degenerateLinesRasterized;
9361 VkBool32 fullyCoveredFragmentShaderInputVariable;
9362 VkBool32 conservativeRasterizationPostDepthCoverage;
9363 } VkPhysicalDeviceConservativeRasterizationPropertiesEXT;
9365 typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT {
9366 VkStructureType sType;
9368 VkPipelineRasterizationConservativeStateCreateFlagsEXT flags;
9369 VkConservativeRasterizationModeEXT conservativeRasterizationMode;
9370 float extraPrimitiveOverestimationSize;
9371 } VkPipelineRasterizationConservativeStateCreateInfoEXT;
9375 #define VK_EXT_depth_clip_enable 1
9376 #define VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION 1
9377 #define VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME "VK_EXT_depth_clip_enable"
9378 typedef VkFlags VkPipelineRasterizationDepthClipStateCreateFlagsEXT;
9379 typedef struct VkPhysicalDeviceDepthClipEnableFeaturesEXT {
9380 VkStructureType sType;
9382 VkBool32 depthClipEnable;
9383 } VkPhysicalDeviceDepthClipEnableFeaturesEXT;
9385 typedef struct VkPipelineRasterizationDepthClipStateCreateInfoEXT {
9386 VkStructureType sType;
9388 VkPipelineRasterizationDepthClipStateCreateFlagsEXT flags;
9389 VkBool32 depthClipEnable;
9390 } VkPipelineRasterizationDepthClipStateCreateInfoEXT;
9394 #define VK_EXT_swapchain_colorspace 1
9395 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION 4
9396 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME "VK_EXT_swapchain_colorspace"
9399 #define VK_EXT_hdr_metadata 1
9400 #define VK_EXT_HDR_METADATA_SPEC_VERSION 2
9401 #define VK_EXT_HDR_METADATA_EXTENSION_NAME "VK_EXT_hdr_metadata"
9402 typedef struct VkXYColorEXT {
9407 typedef struct VkHdrMetadataEXT {
9408 VkStructureType sType;
9410 VkXYColorEXT displayPrimaryRed;
9411 VkXYColorEXT displayPrimaryGreen;
9412 VkXYColorEXT displayPrimaryBlue;
9413 VkXYColorEXT whitePoint;
9416 float maxContentLightLevel;
9417 float maxFrameAverageLightLevel;
9420 typedef void (VKAPI_PTR *PFN_vkSetHdrMetadataEXT)(VkDevice device, uint32_t swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata);
9422 #ifndef VK_NO_PROTOTYPES
9423 VKAPI_ATTR void VKAPI_CALL vkSetHdrMetadataEXT(
9425 uint32_t swapchainCount,
9426 const VkSwapchainKHR* pSwapchains,
9427 const VkHdrMetadataEXT* pMetadata);
9431 #define VK_EXT_external_memory_dma_buf 1
9432 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION 1
9433 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME "VK_EXT_external_memory_dma_buf"
9436 #define VK_EXT_queue_family_foreign 1
9437 #define VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION 1
9438 #define VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME "VK_EXT_queue_family_foreign"
9439 #define VK_QUEUE_FAMILY_FOREIGN_EXT (~2U)
9442 #define VK_EXT_debug_utils 1
9443 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugUtilsMessengerEXT)
9444 #define VK_EXT_DEBUG_UTILS_SPEC_VERSION 2
9445 #define VK_EXT_DEBUG_UTILS_EXTENSION_NAME "VK_EXT_debug_utils"
9446 typedef VkFlags VkDebugUtilsMessengerCallbackDataFlagsEXT;
9448 typedef enum VkDebugUtilsMessageSeverityFlagBitsEXT {
9449 VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT = 0x00000001,
9450 VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT = 0x00000010,
9451 VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT = 0x00000100,
9452 VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT = 0x00001000,
9453 VK_DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
9454 } VkDebugUtilsMessageSeverityFlagBitsEXT;
9456 typedef enum VkDebugUtilsMessageTypeFlagBitsEXT {
9457 VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT = 0x00000001,
9458 VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT = 0x00000002,
9459 VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT = 0x00000004,
9460 VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
9461 } VkDebugUtilsMessageTypeFlagBitsEXT;
9462 typedef VkFlags VkDebugUtilsMessageTypeFlagsEXT;
9463 typedef VkFlags VkDebugUtilsMessageSeverityFlagsEXT;
9464 typedef VkFlags VkDebugUtilsMessengerCreateFlagsEXT;
9465 typedef struct VkDebugUtilsLabelEXT {
9466 VkStructureType sType;
9468 const char* pLabelName;
9470 } VkDebugUtilsLabelEXT;
9472 typedef struct VkDebugUtilsObjectNameInfoEXT {
9473 VkStructureType sType;
9475 VkObjectType objectType;
9476 uint64_t objectHandle;
9477 const char* pObjectName;
9478 } VkDebugUtilsObjectNameInfoEXT;
9480 typedef struct VkDebugUtilsMessengerCallbackDataEXT {
9481 VkStructureType sType;
9483 VkDebugUtilsMessengerCallbackDataFlagsEXT flags;
9484 const char* pMessageIdName;
9485 int32_t messageIdNumber;
9486 const char* pMessage;
9487 uint32_t queueLabelCount;
9488 const VkDebugUtilsLabelEXT* pQueueLabels;
9489 uint32_t cmdBufLabelCount;
9490 const VkDebugUtilsLabelEXT* pCmdBufLabels;
9491 uint32_t objectCount;
9492 const VkDebugUtilsObjectNameInfoEXT* pObjects;
9493 } VkDebugUtilsMessengerCallbackDataEXT;
9495 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)(
9496 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
9497 VkDebugUtilsMessageTypeFlagsEXT messageTypes,
9498 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData,
9501 typedef struct VkDebugUtilsMessengerCreateInfoEXT {
9502 VkStructureType sType;
9504 VkDebugUtilsMessengerCreateFlagsEXT flags;
9505 VkDebugUtilsMessageSeverityFlagsEXT messageSeverity;
9506 VkDebugUtilsMessageTypeFlagsEXT messageType;
9507 PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback;
9509 } VkDebugUtilsMessengerCreateInfoEXT;
9511 typedef struct VkDebugUtilsObjectTagInfoEXT {
9512 VkStructureType sType;
9514 VkObjectType objectType;
9515 uint64_t objectHandle;
9519 } VkDebugUtilsObjectTagInfoEXT;
9521 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectNameEXT)(VkDevice device, const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
9522 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectTagEXT)(VkDevice device, const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
9523 typedef void (VKAPI_PTR *PFN_vkQueueBeginDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
9524 typedef void (VKAPI_PTR *PFN_vkQueueEndDebugUtilsLabelEXT)(VkQueue queue);
9525 typedef void (VKAPI_PTR *PFN_vkQueueInsertDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
9526 typedef void (VKAPI_PTR *PFN_vkCmdBeginDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
9527 typedef void (VKAPI_PTR *PFN_vkCmdEndDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer);
9528 typedef void (VKAPI_PTR *PFN_vkCmdInsertDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
9529 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugUtilsMessengerEXT)(VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugUtilsMessengerEXT* pMessenger);
9530 typedef void (VKAPI_PTR *PFN_vkDestroyDebugUtilsMessengerEXT)(VkInstance instance, VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks* pAllocator);
9531 typedef void (VKAPI_PTR *PFN_vkSubmitDebugUtilsMessageEXT)(VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
9533 #ifndef VK_NO_PROTOTYPES
9534 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectNameEXT(
9536 const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
9538 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectTagEXT(
9540 const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
9542 VKAPI_ATTR void VKAPI_CALL vkQueueBeginDebugUtilsLabelEXT(
9544 const VkDebugUtilsLabelEXT* pLabelInfo);
9546 VKAPI_ATTR void VKAPI_CALL vkQueueEndDebugUtilsLabelEXT(
9549 VKAPI_ATTR void VKAPI_CALL vkQueueInsertDebugUtilsLabelEXT(
9551 const VkDebugUtilsLabelEXT* pLabelInfo);
9553 VKAPI_ATTR void VKAPI_CALL vkCmdBeginDebugUtilsLabelEXT(
9554 VkCommandBuffer commandBuffer,
9555 const VkDebugUtilsLabelEXT* pLabelInfo);
9557 VKAPI_ATTR void VKAPI_CALL vkCmdEndDebugUtilsLabelEXT(
9558 VkCommandBuffer commandBuffer);
9560 VKAPI_ATTR void VKAPI_CALL vkCmdInsertDebugUtilsLabelEXT(
9561 VkCommandBuffer commandBuffer,
9562 const VkDebugUtilsLabelEXT* pLabelInfo);
9564 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugUtilsMessengerEXT(
9565 VkInstance instance,
9566 const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo,
9567 const VkAllocationCallbacks* pAllocator,
9568 VkDebugUtilsMessengerEXT* pMessenger);
9570 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugUtilsMessengerEXT(
9571 VkInstance instance,
9572 VkDebugUtilsMessengerEXT messenger,
9573 const VkAllocationCallbacks* pAllocator);
9575 VKAPI_ATTR void VKAPI_CALL vkSubmitDebugUtilsMessageEXT(
9576 VkInstance instance,
9577 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
9578 VkDebugUtilsMessageTypeFlagsEXT messageTypes,
9579 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
9583 #define VK_EXT_sampler_filter_minmax 1
9584 #define VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION 2
9585 #define VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME "VK_EXT_sampler_filter_minmax"
9586 typedef VkSamplerReductionMode VkSamplerReductionModeEXT;
9588 typedef VkSamplerReductionModeCreateInfo VkSamplerReductionModeCreateInfoEXT;
9590 typedef VkPhysicalDeviceSamplerFilterMinmaxProperties VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
9594 #define VK_AMD_gpu_shader_int16 1
9595 #define VK_AMD_GPU_SHADER_INT16_SPEC_VERSION 2
9596 #define VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME "VK_AMD_gpu_shader_int16"
9599 #define VK_AMD_mixed_attachment_samples 1
9600 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION 1
9601 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME "VK_AMD_mixed_attachment_samples"
9604 #define VK_AMD_shader_fragment_mask 1
9605 #define VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION 1
9606 #define VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME "VK_AMD_shader_fragment_mask"
9609 #define VK_EXT_inline_uniform_block 1
9610 #define VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION 1
9611 #define VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME "VK_EXT_inline_uniform_block"
9612 typedef struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT {
9613 VkStructureType sType;
9615 VkBool32 inlineUniformBlock;
9616 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind;
9617 } VkPhysicalDeviceInlineUniformBlockFeaturesEXT;
9619 typedef struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT {
9620 VkStructureType sType;
9622 uint32_t maxInlineUniformBlockSize;
9623 uint32_t maxPerStageDescriptorInlineUniformBlocks;
9624 uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
9625 uint32_t maxDescriptorSetInlineUniformBlocks;
9626 uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
9627 } VkPhysicalDeviceInlineUniformBlockPropertiesEXT;
9629 typedef struct VkWriteDescriptorSetInlineUniformBlockEXT {
9630 VkStructureType sType;
9634 } VkWriteDescriptorSetInlineUniformBlockEXT;
9636 typedef struct VkDescriptorPoolInlineUniformBlockCreateInfoEXT {
9637 VkStructureType sType;
9639 uint32_t maxInlineUniformBlockBindings;
9640 } VkDescriptorPoolInlineUniformBlockCreateInfoEXT;
9644 #define VK_EXT_shader_stencil_export 1
9645 #define VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION 1
9646 #define VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME "VK_EXT_shader_stencil_export"
9649 #define VK_EXT_sample_locations 1
9650 #define VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION 1
9651 #define VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME "VK_EXT_sample_locations"
9652 typedef struct VkSampleLocationEXT {
9655 } VkSampleLocationEXT;
9657 typedef struct VkSampleLocationsInfoEXT {
9658 VkStructureType sType;
9660 VkSampleCountFlagBits sampleLocationsPerPixel;
9661 VkExtent2D sampleLocationGridSize;
9662 uint32_t sampleLocationsCount;
9663 const VkSampleLocationEXT* pSampleLocations;
9664 } VkSampleLocationsInfoEXT;
9666 typedef struct VkAttachmentSampleLocationsEXT {
9667 uint32_t attachmentIndex;
9668 VkSampleLocationsInfoEXT sampleLocationsInfo;
9669 } VkAttachmentSampleLocationsEXT;
9671 typedef struct VkSubpassSampleLocationsEXT {
9672 uint32_t subpassIndex;
9673 VkSampleLocationsInfoEXT sampleLocationsInfo;
9674 } VkSubpassSampleLocationsEXT;
9676 typedef struct VkRenderPassSampleLocationsBeginInfoEXT {
9677 VkStructureType sType;
9679 uint32_t attachmentInitialSampleLocationsCount;
9680 const VkAttachmentSampleLocationsEXT* pAttachmentInitialSampleLocations;
9681 uint32_t postSubpassSampleLocationsCount;
9682 const VkSubpassSampleLocationsEXT* pPostSubpassSampleLocations;
9683 } VkRenderPassSampleLocationsBeginInfoEXT;
9685 typedef struct VkPipelineSampleLocationsStateCreateInfoEXT {
9686 VkStructureType sType;
9688 VkBool32 sampleLocationsEnable;
9689 VkSampleLocationsInfoEXT sampleLocationsInfo;
9690 } VkPipelineSampleLocationsStateCreateInfoEXT;
9692 typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT {
9693 VkStructureType sType;
9695 VkSampleCountFlags sampleLocationSampleCounts;
9696 VkExtent2D maxSampleLocationGridSize;
9697 float sampleLocationCoordinateRange[2];
9698 uint32_t sampleLocationSubPixelBits;
9699 VkBool32 variableSampleLocations;
9700 } VkPhysicalDeviceSampleLocationsPropertiesEXT;
9702 typedef struct VkMultisamplePropertiesEXT {
9703 VkStructureType sType;
9705 VkExtent2D maxSampleLocationGridSize;
9706 } VkMultisamplePropertiesEXT;
9708 typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEXT)(VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
9709 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT)(VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT* pMultisampleProperties);
9711 #ifndef VK_NO_PROTOTYPES
9712 VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleLocationsEXT(
9713 VkCommandBuffer commandBuffer,
9714 const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
9716 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMultisamplePropertiesEXT(
9717 VkPhysicalDevice physicalDevice,
9718 VkSampleCountFlagBits samples,
9719 VkMultisamplePropertiesEXT* pMultisampleProperties);
9723 #define VK_EXT_blend_operation_advanced 1
9724 #define VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION 2
9725 #define VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME "VK_EXT_blend_operation_advanced"
9727 typedef enum VkBlendOverlapEXT {
9728 VK_BLEND_OVERLAP_UNCORRELATED_EXT = 0,
9729 VK_BLEND_OVERLAP_DISJOINT_EXT = 1,
9730 VK_BLEND_OVERLAP_CONJOINT_EXT = 2,
9731 VK_BLEND_OVERLAP_MAX_ENUM_EXT = 0x7FFFFFFF
9732 } VkBlendOverlapEXT;
9733 typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
9734 VkStructureType sType;
9736 VkBool32 advancedBlendCoherentOperations;
9737 } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
9739 typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT {
9740 VkStructureType sType;
9742 uint32_t advancedBlendMaxColorAttachments;
9743 VkBool32 advancedBlendIndependentBlend;
9744 VkBool32 advancedBlendNonPremultipliedSrcColor;
9745 VkBool32 advancedBlendNonPremultipliedDstColor;
9746 VkBool32 advancedBlendCorrelatedOverlap;
9747 VkBool32 advancedBlendAllOperations;
9748 } VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT;
9750 typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT {
9751 VkStructureType sType;
9753 VkBool32 srcPremultiplied;
9754 VkBool32 dstPremultiplied;
9755 VkBlendOverlapEXT blendOverlap;
9756 } VkPipelineColorBlendAdvancedStateCreateInfoEXT;
9760 #define VK_NV_fragment_coverage_to_color 1
9761 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION 1
9762 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME "VK_NV_fragment_coverage_to_color"
9763 typedef VkFlags VkPipelineCoverageToColorStateCreateFlagsNV;
9764 typedef struct VkPipelineCoverageToColorStateCreateInfoNV {
9765 VkStructureType sType;
9767 VkPipelineCoverageToColorStateCreateFlagsNV flags;
9768 VkBool32 coverageToColorEnable;
9769 uint32_t coverageToColorLocation;
9770 } VkPipelineCoverageToColorStateCreateInfoNV;
9774 #define VK_NV_framebuffer_mixed_samples 1
9775 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION 1
9776 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME "VK_NV_framebuffer_mixed_samples"
9778 typedef enum VkCoverageModulationModeNV {
9779 VK_COVERAGE_MODULATION_MODE_NONE_NV = 0,
9780 VK_COVERAGE_MODULATION_MODE_RGB_NV = 1,
9781 VK_COVERAGE_MODULATION_MODE_ALPHA_NV = 2,
9782 VK_COVERAGE_MODULATION_MODE_RGBA_NV = 3,
9783 VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV = 0x7FFFFFFF
9784 } VkCoverageModulationModeNV;
9785 typedef VkFlags VkPipelineCoverageModulationStateCreateFlagsNV;
9786 typedef struct VkPipelineCoverageModulationStateCreateInfoNV {
9787 VkStructureType sType;
9789 VkPipelineCoverageModulationStateCreateFlagsNV flags;
9790 VkCoverageModulationModeNV coverageModulationMode;
9791 VkBool32 coverageModulationTableEnable;
9792 uint32_t coverageModulationTableCount;
9793 const float* pCoverageModulationTable;
9794 } VkPipelineCoverageModulationStateCreateInfoNV;
9798 #define VK_NV_fill_rectangle 1
9799 #define VK_NV_FILL_RECTANGLE_SPEC_VERSION 1
9800 #define VK_NV_FILL_RECTANGLE_EXTENSION_NAME "VK_NV_fill_rectangle"
9803 #define VK_NV_shader_sm_builtins 1
9804 #define VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION 1
9805 #define VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME "VK_NV_shader_sm_builtins"
9806 typedef struct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV {
9807 VkStructureType sType;
9809 uint32_t shaderSMCount;
9810 uint32_t shaderWarpsPerSM;
9811 } VkPhysicalDeviceShaderSMBuiltinsPropertiesNV;
9813 typedef struct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV {
9814 VkStructureType sType;
9816 VkBool32 shaderSMBuiltins;
9817 } VkPhysicalDeviceShaderSMBuiltinsFeaturesNV;
9821 #define VK_EXT_post_depth_coverage 1
9822 #define VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION 1
9823 #define VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME "VK_EXT_post_depth_coverage"
9826 #define VK_EXT_image_drm_format_modifier 1
9827 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION 1
9828 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME "VK_EXT_image_drm_format_modifier"
9829 typedef struct VkDrmFormatModifierPropertiesEXT {
9830 uint64_t drmFormatModifier;
9831 uint32_t drmFormatModifierPlaneCount;
9832 VkFormatFeatureFlags drmFormatModifierTilingFeatures;
9833 } VkDrmFormatModifierPropertiesEXT;
9835 typedef struct VkDrmFormatModifierPropertiesListEXT {
9836 VkStructureType sType;
9838 uint32_t drmFormatModifierCount;
9839 VkDrmFormatModifierPropertiesEXT* pDrmFormatModifierProperties;
9840 } VkDrmFormatModifierPropertiesListEXT;
9842 typedef struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT {
9843 VkStructureType sType;
9845 uint64_t drmFormatModifier;
9846 VkSharingMode sharingMode;
9847 uint32_t queueFamilyIndexCount;
9848 const uint32_t* pQueueFamilyIndices;
9849 } VkPhysicalDeviceImageDrmFormatModifierInfoEXT;
9851 typedef struct VkImageDrmFormatModifierListCreateInfoEXT {
9852 VkStructureType sType;
9854 uint32_t drmFormatModifierCount;
9855 const uint64_t* pDrmFormatModifiers;
9856 } VkImageDrmFormatModifierListCreateInfoEXT;
9858 typedef struct VkImageDrmFormatModifierExplicitCreateInfoEXT {
9859 VkStructureType sType;
9861 uint64_t drmFormatModifier;
9862 uint32_t drmFormatModifierPlaneCount;
9863 const VkSubresourceLayout* pPlaneLayouts;
9864 } VkImageDrmFormatModifierExplicitCreateInfoEXT;
9866 typedef struct VkImageDrmFormatModifierPropertiesEXT {
9867 VkStructureType sType;
9869 uint64_t drmFormatModifier;
9870 } VkImageDrmFormatModifierPropertiesEXT;
9872 typedef VkResult (VKAPI_PTR *PFN_vkGetImageDrmFormatModifierPropertiesEXT)(VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties);
9874 #ifndef VK_NO_PROTOTYPES
9875 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageDrmFormatModifierPropertiesEXT(
9878 VkImageDrmFormatModifierPropertiesEXT* pProperties);
9882 #define VK_EXT_validation_cache 1
9883 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkValidationCacheEXT)
9884 #define VK_EXT_VALIDATION_CACHE_SPEC_VERSION 1
9885 #define VK_EXT_VALIDATION_CACHE_EXTENSION_NAME "VK_EXT_validation_cache"
9887 typedef enum VkValidationCacheHeaderVersionEXT {
9888 VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT = 1,
9889 VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT = 0x7FFFFFFF
9890 } VkValidationCacheHeaderVersionEXT;
9891 typedef VkFlags VkValidationCacheCreateFlagsEXT;
9892 typedef struct VkValidationCacheCreateInfoEXT {
9893 VkStructureType sType;
9895 VkValidationCacheCreateFlagsEXT flags;
9896 size_t initialDataSize;
9897 const void* pInitialData;
9898 } VkValidationCacheCreateInfoEXT;
9900 typedef struct VkShaderModuleValidationCacheCreateInfoEXT {
9901 VkStructureType sType;
9903 VkValidationCacheEXT validationCache;
9904 } VkShaderModuleValidationCacheCreateInfoEXT;
9906 typedef VkResult (VKAPI_PTR *PFN_vkCreateValidationCacheEXT)(VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache);
9907 typedef void (VKAPI_PTR *PFN_vkDestroyValidationCacheEXT)(VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator);
9908 typedef VkResult (VKAPI_PTR *PFN_vkMergeValidationCachesEXT)(VkDevice device, VkValidationCacheEXT dstCache, uint32_t srcCacheCount, const VkValidationCacheEXT* pSrcCaches);
9909 typedef VkResult (VKAPI_PTR *PFN_vkGetValidationCacheDataEXT)(VkDevice device, VkValidationCacheEXT validationCache, size_t* pDataSize, void* pData);
9911 #ifndef VK_NO_PROTOTYPES
9912 VKAPI_ATTR VkResult VKAPI_CALL vkCreateValidationCacheEXT(
9914 const VkValidationCacheCreateInfoEXT* pCreateInfo,
9915 const VkAllocationCallbacks* pAllocator,
9916 VkValidationCacheEXT* pValidationCache);
9918 VKAPI_ATTR void VKAPI_CALL vkDestroyValidationCacheEXT(
9920 VkValidationCacheEXT validationCache,
9921 const VkAllocationCallbacks* pAllocator);
9923 VKAPI_ATTR VkResult VKAPI_CALL vkMergeValidationCachesEXT(
9925 VkValidationCacheEXT dstCache,
9926 uint32_t srcCacheCount,
9927 const VkValidationCacheEXT* pSrcCaches);
9929 VKAPI_ATTR VkResult VKAPI_CALL vkGetValidationCacheDataEXT(
9931 VkValidationCacheEXT validationCache,
9937 #define VK_EXT_descriptor_indexing 1
9938 #define VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION 2
9939 #define VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME "VK_EXT_descriptor_indexing"
9940 typedef VkDescriptorBindingFlagBits VkDescriptorBindingFlagBitsEXT;
9942 typedef VkDescriptorBindingFlags VkDescriptorBindingFlagsEXT;
9944 typedef VkDescriptorSetLayoutBindingFlagsCreateInfo VkDescriptorSetLayoutBindingFlagsCreateInfoEXT;
9946 typedef VkPhysicalDeviceDescriptorIndexingFeatures VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
9948 typedef VkPhysicalDeviceDescriptorIndexingProperties VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
9950 typedef VkDescriptorSetVariableDescriptorCountAllocateInfo VkDescriptorSetVariableDescriptorCountAllocateInfoEXT;
9952 typedef VkDescriptorSetVariableDescriptorCountLayoutSupport VkDescriptorSetVariableDescriptorCountLayoutSupportEXT;
9956 #define VK_EXT_shader_viewport_index_layer 1
9957 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION 1
9958 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME "VK_EXT_shader_viewport_index_layer"
9961 #define VK_NV_shading_rate_image 1
9962 #define VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION 3
9963 #define VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME "VK_NV_shading_rate_image"
9965 typedef enum VkShadingRatePaletteEntryNV {
9966 VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV = 0,
9967 VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV = 1,
9968 VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV = 2,
9969 VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV = 3,
9970 VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV = 4,
9971 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV = 5,
9972 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV = 6,
9973 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV = 7,
9974 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV = 8,
9975 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV = 9,
9976 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV = 10,
9977 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV = 11,
9978 VK_SHADING_RATE_PALETTE_ENTRY_MAX_ENUM_NV = 0x7FFFFFFF
9979 } VkShadingRatePaletteEntryNV;
9981 typedef enum VkCoarseSampleOrderTypeNV {
9982 VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV = 0,
9983 VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV = 1,
9984 VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV = 2,
9985 VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV = 3,
9986 VK_COARSE_SAMPLE_ORDER_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
9987 } VkCoarseSampleOrderTypeNV;
9988 typedef struct VkShadingRatePaletteNV {
9989 uint32_t shadingRatePaletteEntryCount;
9990 const VkShadingRatePaletteEntryNV* pShadingRatePaletteEntries;
9991 } VkShadingRatePaletteNV;
9993 typedef struct VkPipelineViewportShadingRateImageStateCreateInfoNV {
9994 VkStructureType sType;
9996 VkBool32 shadingRateImageEnable;
9997 uint32_t viewportCount;
9998 const VkShadingRatePaletteNV* pShadingRatePalettes;
9999 } VkPipelineViewportShadingRateImageStateCreateInfoNV;
10001 typedef struct VkPhysicalDeviceShadingRateImageFeaturesNV {
10002 VkStructureType sType;
10004 VkBool32 shadingRateImage;
10005 VkBool32 shadingRateCoarseSampleOrder;
10006 } VkPhysicalDeviceShadingRateImageFeaturesNV;
10008 typedef struct VkPhysicalDeviceShadingRateImagePropertiesNV {
10009 VkStructureType sType;
10011 VkExtent2D shadingRateTexelSize;
10012 uint32_t shadingRatePaletteSize;
10013 uint32_t shadingRateMaxCoarseSamples;
10014 } VkPhysicalDeviceShadingRateImagePropertiesNV;
10016 typedef struct VkCoarseSampleLocationNV {
10020 } VkCoarseSampleLocationNV;
10022 typedef struct VkCoarseSampleOrderCustomNV {
10023 VkShadingRatePaletteEntryNV shadingRate;
10024 uint32_t sampleCount;
10025 uint32_t sampleLocationCount;
10026 const VkCoarseSampleLocationNV* pSampleLocations;
10027 } VkCoarseSampleOrderCustomNV;
10029 typedef struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV {
10030 VkStructureType sType;
10032 VkCoarseSampleOrderTypeNV sampleOrderType;
10033 uint32_t customSampleOrderCount;
10034 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders;
10035 } VkPipelineViewportCoarseSampleOrderStateCreateInfoNV;
10037 typedef void (VKAPI_PTR *PFN_vkCmdBindShadingRateImageNV)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout);
10038 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportShadingRatePaletteNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkShadingRatePaletteNV* pShadingRatePalettes);
10039 typedef void (VKAPI_PTR *PFN_vkCmdSetCoarseSampleOrderNV)(VkCommandBuffer commandBuffer, VkCoarseSampleOrderTypeNV sampleOrderType, uint32_t customSampleOrderCount, const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
10041 #ifndef VK_NO_PROTOTYPES
10042 VKAPI_ATTR void VKAPI_CALL vkCmdBindShadingRateImageNV(
10043 VkCommandBuffer commandBuffer,
10044 VkImageView imageView,
10045 VkImageLayout imageLayout);
10047 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportShadingRatePaletteNV(
10048 VkCommandBuffer commandBuffer,
10049 uint32_t firstViewport,
10050 uint32_t viewportCount,
10051 const VkShadingRatePaletteNV* pShadingRatePalettes);
10053 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoarseSampleOrderNV(
10054 VkCommandBuffer commandBuffer,
10055 VkCoarseSampleOrderTypeNV sampleOrderType,
10056 uint32_t customSampleOrderCount,
10057 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
10061 #define VK_NV_ray_tracing 1
10062 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureNV)
10063 #define VK_NV_RAY_TRACING_SPEC_VERSION 3
10064 #define VK_NV_RAY_TRACING_EXTENSION_NAME "VK_NV_ray_tracing"
10065 #define VK_SHADER_UNUSED_KHR (~0U)
10066 #define VK_SHADER_UNUSED_NV VK_SHADER_UNUSED_KHR
10068 typedef enum VkRayTracingShaderGroupTypeKHR {
10069 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR = 0,
10070 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR = 1,
10071 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR = 2,
10072 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR,
10073 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR,
10074 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR,
10075 VK_RAY_TRACING_SHADER_GROUP_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
10076 } VkRayTracingShaderGroupTypeKHR;
10077 typedef VkRayTracingShaderGroupTypeKHR VkRayTracingShaderGroupTypeNV;
10080 typedef enum VkGeometryTypeKHR {
10081 VK_GEOMETRY_TYPE_TRIANGLES_KHR = 0,
10082 VK_GEOMETRY_TYPE_AABBS_KHR = 1,
10083 VK_GEOMETRY_TYPE_INSTANCES_KHR = 2,
10084 VK_GEOMETRY_TYPE_TRIANGLES_NV = VK_GEOMETRY_TYPE_TRIANGLES_KHR,
10085 VK_GEOMETRY_TYPE_AABBS_NV = VK_GEOMETRY_TYPE_AABBS_KHR,
10086 VK_GEOMETRY_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
10087 } VkGeometryTypeKHR;
10088 typedef VkGeometryTypeKHR VkGeometryTypeNV;
10091 typedef enum VkAccelerationStructureTypeKHR {
10092 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR = 0,
10093 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR = 1,
10094 VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR = 2,
10095 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR,
10096 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR,
10097 VK_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
10098 } VkAccelerationStructureTypeKHR;
10099 typedef VkAccelerationStructureTypeKHR VkAccelerationStructureTypeNV;
10102 typedef enum VkCopyAccelerationStructureModeKHR {
10103 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR = 0,
10104 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR = 1,
10105 VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR = 2,
10106 VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR = 3,
10107 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR,
10108 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR,
10109 VK_COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
10110 } VkCopyAccelerationStructureModeKHR;
10111 typedef VkCopyAccelerationStructureModeKHR VkCopyAccelerationStructureModeNV;
10114 typedef enum VkAccelerationStructureMemoryRequirementsTypeNV {
10115 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV = 0,
10116 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV = 1,
10117 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV = 2,
10118 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
10119 } VkAccelerationStructureMemoryRequirementsTypeNV;
10121 typedef enum VkGeometryFlagBitsKHR {
10122 VK_GEOMETRY_OPAQUE_BIT_KHR = 0x00000001,
10123 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR = 0x00000002,
10124 VK_GEOMETRY_OPAQUE_BIT_NV = VK_GEOMETRY_OPAQUE_BIT_KHR,
10125 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV = VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR,
10126 VK_GEOMETRY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
10127 } VkGeometryFlagBitsKHR;
10128 typedef VkFlags VkGeometryFlagsKHR;
10129 typedef VkGeometryFlagsKHR VkGeometryFlagsNV;
10131 typedef VkGeometryFlagBitsKHR VkGeometryFlagBitsNV;
10134 typedef enum VkGeometryInstanceFlagBitsKHR {
10135 VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = 0x00000001,
10136 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = 0x00000002,
10137 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 0x00000004,
10138 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 0x00000008,
10139 VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR,
10140 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR,
10141 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR,
10142 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR,
10143 VK_GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
10144 } VkGeometryInstanceFlagBitsKHR;
10145 typedef VkFlags VkGeometryInstanceFlagsKHR;
10146 typedef VkGeometryInstanceFlagsKHR VkGeometryInstanceFlagsNV;
10148 typedef VkGeometryInstanceFlagBitsKHR VkGeometryInstanceFlagBitsNV;
10151 typedef enum VkBuildAccelerationStructureFlagBitsKHR {
10152 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR = 0x00000001,
10153 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR = 0x00000002,
10154 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR = 0x00000004,
10155 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR = 0x00000008,
10156 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR = 0x00000010,
10157 VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV = 0x00000020,
10158 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR,
10159 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR,
10160 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR,
10161 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR,
10162 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR,
10163 VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
10164 } VkBuildAccelerationStructureFlagBitsKHR;
10165 typedef VkFlags VkBuildAccelerationStructureFlagsKHR;
10166 typedef VkBuildAccelerationStructureFlagsKHR VkBuildAccelerationStructureFlagsNV;
10168 typedef VkBuildAccelerationStructureFlagBitsKHR VkBuildAccelerationStructureFlagBitsNV;
10170 typedef struct VkRayTracingShaderGroupCreateInfoNV {
10171 VkStructureType sType;
10173 VkRayTracingShaderGroupTypeKHR type;
10174 uint32_t generalShader;
10175 uint32_t closestHitShader;
10176 uint32_t anyHitShader;
10177 uint32_t intersectionShader;
10178 } VkRayTracingShaderGroupCreateInfoNV;
10180 typedef struct VkRayTracingPipelineCreateInfoNV {
10181 VkStructureType sType;
10183 VkPipelineCreateFlags flags;
10184 uint32_t stageCount;
10185 const VkPipelineShaderStageCreateInfo* pStages;
10186 uint32_t groupCount;
10187 const VkRayTracingShaderGroupCreateInfoNV* pGroups;
10188 uint32_t maxRecursionDepth;
10189 VkPipelineLayout layout;
10190 VkPipeline basePipelineHandle;
10191 int32_t basePipelineIndex;
10192 } VkRayTracingPipelineCreateInfoNV;
10194 typedef struct VkGeometryTrianglesNV {
10195 VkStructureType sType;
10197 VkBuffer vertexData;
10198 VkDeviceSize vertexOffset;
10199 uint32_t vertexCount;
10200 VkDeviceSize vertexStride;
10201 VkFormat vertexFormat;
10202 VkBuffer indexData;
10203 VkDeviceSize indexOffset;
10204 uint32_t indexCount;
10205 VkIndexType indexType;
10206 VkBuffer transformData;
10207 VkDeviceSize transformOffset;
10208 } VkGeometryTrianglesNV;
10210 typedef struct VkGeometryAABBNV {
10211 VkStructureType sType;
10216 VkDeviceSize offset;
10217 } VkGeometryAABBNV;
10219 typedef struct VkGeometryDataNV {
10220 VkGeometryTrianglesNV triangles;
10221 VkGeometryAABBNV aabbs;
10222 } VkGeometryDataNV;
10224 typedef struct VkGeometryNV {
10225 VkStructureType sType;
10227 VkGeometryTypeKHR geometryType;
10228 VkGeometryDataNV geometry;
10229 VkGeometryFlagsKHR flags;
10232 typedef struct VkAccelerationStructureInfoNV {
10233 VkStructureType sType;
10235 VkAccelerationStructureTypeNV type;
10236 VkBuildAccelerationStructureFlagsNV flags;
10237 uint32_t instanceCount;
10238 uint32_t geometryCount;
10239 const VkGeometryNV* pGeometries;
10240 } VkAccelerationStructureInfoNV;
10242 typedef struct VkAccelerationStructureCreateInfoNV {
10243 VkStructureType sType;
10245 VkDeviceSize compactedSize;
10246 VkAccelerationStructureInfoNV info;
10247 } VkAccelerationStructureCreateInfoNV;
10249 typedef struct VkBindAccelerationStructureMemoryInfoNV {
10250 VkStructureType sType;
10252 VkAccelerationStructureNV accelerationStructure;
10253 VkDeviceMemory memory;
10254 VkDeviceSize memoryOffset;
10255 uint32_t deviceIndexCount;
10256 const uint32_t* pDeviceIndices;
10257 } VkBindAccelerationStructureMemoryInfoNV;
10259 typedef struct VkWriteDescriptorSetAccelerationStructureNV {
10260 VkStructureType sType;
10262 uint32_t accelerationStructureCount;
10263 const VkAccelerationStructureNV* pAccelerationStructures;
10264 } VkWriteDescriptorSetAccelerationStructureNV;
10266 typedef struct VkAccelerationStructureMemoryRequirementsInfoNV {
10267 VkStructureType sType;
10269 VkAccelerationStructureMemoryRequirementsTypeNV type;
10270 VkAccelerationStructureNV accelerationStructure;
10271 } VkAccelerationStructureMemoryRequirementsInfoNV;
10273 typedef struct VkPhysicalDeviceRayTracingPropertiesNV {
10274 VkStructureType sType;
10276 uint32_t shaderGroupHandleSize;
10277 uint32_t maxRecursionDepth;
10278 uint32_t maxShaderGroupStride;
10279 uint32_t shaderGroupBaseAlignment;
10280 uint64_t maxGeometryCount;
10281 uint64_t maxInstanceCount;
10282 uint64_t maxTriangleCount;
10283 uint32_t maxDescriptorSetAccelerationStructures;
10284 } VkPhysicalDeviceRayTracingPropertiesNV;
10286 typedef struct VkTransformMatrixKHR {
10287 float matrix[3][4];
10288 } VkTransformMatrixKHR;
10290 typedef VkTransformMatrixKHR VkTransformMatrixNV;
10292 typedef struct VkAabbPositionsKHR {
10299 } VkAabbPositionsKHR;
10301 typedef VkAabbPositionsKHR VkAabbPositionsNV;
10303 typedef struct VkAccelerationStructureInstanceKHR {
10304 VkTransformMatrixKHR transform;
10305 uint32_t instanceCustomIndex:24;
10307 uint32_t instanceShaderBindingTableRecordOffset:24;
10308 VkGeometryInstanceFlagsKHR flags:8;
10309 uint64_t accelerationStructureReference;
10310 } VkAccelerationStructureInstanceKHR;
10312 typedef VkAccelerationStructureInstanceKHR VkAccelerationStructureInstanceNV;
10314 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureNV)(VkDevice device, const VkAccelerationStructureCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureNV* pAccelerationStructure);
10315 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, const VkAllocationCallbacks* pAllocator);
10316 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureMemoryRequirementsNV)(VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements);
10317 typedef VkResult (VKAPI_PTR *PFN_vkBindAccelerationStructureMemoryNV)(VkDevice device, uint32_t bindInfoCount, const VkBindAccelerationStructureMemoryInfoNV* pBindInfos);
10318 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);
10319 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureNV)(VkCommandBuffer commandBuffer, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkCopyAccelerationStructureModeKHR mode);
10320 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);
10321 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesNV)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoNV* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
10322 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData);
10323 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesNV)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData);
10324 typedef VkResult (VKAPI_PTR *PFN_vkGetAccelerationStructureHandleNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, size_t dataSize, void* pData);
10325 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesNV)(VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureNV* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery);
10326 typedef VkResult (VKAPI_PTR *PFN_vkCompileDeferredNV)(VkDevice device, VkPipeline pipeline, uint32_t shader);
10328 #ifndef VK_NO_PROTOTYPES
10329 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureNV(
10331 const VkAccelerationStructureCreateInfoNV* pCreateInfo,
10332 const VkAllocationCallbacks* pAllocator,
10333 VkAccelerationStructureNV* pAccelerationStructure);
10335 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureNV(
10337 VkAccelerationStructureNV accelerationStructure,
10338 const VkAllocationCallbacks* pAllocator);
10340 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureMemoryRequirementsNV(
10342 const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo,
10343 VkMemoryRequirements2KHR* pMemoryRequirements);
10345 VKAPI_ATTR VkResult VKAPI_CALL vkBindAccelerationStructureMemoryNV(
10347 uint32_t bindInfoCount,
10348 const VkBindAccelerationStructureMemoryInfoNV* pBindInfos);
10350 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructureNV(
10351 VkCommandBuffer commandBuffer,
10352 const VkAccelerationStructureInfoNV* pInfo,
10353 VkBuffer instanceData,
10354 VkDeviceSize instanceOffset,
10356 VkAccelerationStructureNV dst,
10357 VkAccelerationStructureNV src,
10359 VkDeviceSize scratchOffset);
10361 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureNV(
10362 VkCommandBuffer commandBuffer,
10363 VkAccelerationStructureNV dst,
10364 VkAccelerationStructureNV src,
10365 VkCopyAccelerationStructureModeKHR mode);
10367 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysNV(
10368 VkCommandBuffer commandBuffer,
10369 VkBuffer raygenShaderBindingTableBuffer,
10370 VkDeviceSize raygenShaderBindingOffset,
10371 VkBuffer missShaderBindingTableBuffer,
10372 VkDeviceSize missShaderBindingOffset,
10373 VkDeviceSize missShaderBindingStride,
10374 VkBuffer hitShaderBindingTableBuffer,
10375 VkDeviceSize hitShaderBindingOffset,
10376 VkDeviceSize hitShaderBindingStride,
10377 VkBuffer callableShaderBindingTableBuffer,
10378 VkDeviceSize callableShaderBindingOffset,
10379 VkDeviceSize callableShaderBindingStride,
10384 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesNV(
10386 VkPipelineCache pipelineCache,
10387 uint32_t createInfoCount,
10388 const VkRayTracingPipelineCreateInfoNV* pCreateInfos,
10389 const VkAllocationCallbacks* pAllocator,
10390 VkPipeline* pPipelines);
10392 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesKHR(
10394 VkPipeline pipeline,
10395 uint32_t firstGroup,
10396 uint32_t groupCount,
10400 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesNV(
10402 VkPipeline pipeline,
10403 uint32_t firstGroup,
10404 uint32_t groupCount,
10408 VKAPI_ATTR VkResult VKAPI_CALL vkGetAccelerationStructureHandleNV(
10410 VkAccelerationStructureNV accelerationStructure,
10414 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesNV(
10415 VkCommandBuffer commandBuffer,
10416 uint32_t accelerationStructureCount,
10417 const VkAccelerationStructureNV* pAccelerationStructures,
10418 VkQueryType queryType,
10419 VkQueryPool queryPool,
10420 uint32_t firstQuery);
10422 VKAPI_ATTR VkResult VKAPI_CALL vkCompileDeferredNV(
10424 VkPipeline pipeline,
10429 #define VK_NV_representative_fragment_test 1
10430 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION 2
10431 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME "VK_NV_representative_fragment_test"
10432 typedef struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV {
10433 VkStructureType sType;
10435 VkBool32 representativeFragmentTest;
10436 } VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV;
10438 typedef struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV {
10439 VkStructureType sType;
10441 VkBool32 representativeFragmentTestEnable;
10442 } VkPipelineRepresentativeFragmentTestStateCreateInfoNV;
10446 #define VK_EXT_filter_cubic 1
10447 #define VK_EXT_FILTER_CUBIC_SPEC_VERSION 3
10448 #define VK_EXT_FILTER_CUBIC_EXTENSION_NAME "VK_EXT_filter_cubic"
10449 typedef struct VkPhysicalDeviceImageViewImageFormatInfoEXT {
10450 VkStructureType sType;
10452 VkImageViewType imageViewType;
10453 } VkPhysicalDeviceImageViewImageFormatInfoEXT;
10455 typedef struct VkFilterCubicImageViewImageFormatPropertiesEXT {
10456 VkStructureType sType;
10458 VkBool32 filterCubic;
10459 VkBool32 filterCubicMinmax;
10460 } VkFilterCubicImageViewImageFormatPropertiesEXT;
10464 #define VK_QCOM_render_pass_shader_resolve 1
10465 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_SPEC_VERSION 4
10466 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_EXTENSION_NAME "VK_QCOM_render_pass_shader_resolve"
10469 #define VK_EXT_global_priority 1
10470 #define VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION 2
10471 #define VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME "VK_EXT_global_priority"
10473 typedef enum VkQueueGlobalPriorityEXT {
10474 VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT = 128,
10475 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT = 256,
10476 VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT = 512,
10477 VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT = 1024,
10478 VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_EXT = 0x7FFFFFFF
10479 } VkQueueGlobalPriorityEXT;
10480 typedef struct VkDeviceQueueGlobalPriorityCreateInfoEXT {
10481 VkStructureType sType;
10483 VkQueueGlobalPriorityEXT globalPriority;
10484 } VkDeviceQueueGlobalPriorityCreateInfoEXT;
10488 #define VK_EXT_external_memory_host 1
10489 #define VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION 1
10490 #define VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME "VK_EXT_external_memory_host"
10491 typedef struct VkImportMemoryHostPointerInfoEXT {
10492 VkStructureType sType;
10494 VkExternalMemoryHandleTypeFlagBits handleType;
10495 void* pHostPointer;
10496 } VkImportMemoryHostPointerInfoEXT;
10498 typedef struct VkMemoryHostPointerPropertiesEXT {
10499 VkStructureType sType;
10501 uint32_t memoryTypeBits;
10502 } VkMemoryHostPointerPropertiesEXT;
10504 typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
10505 VkStructureType sType;
10507 VkDeviceSize minImportedHostPointerAlignment;
10508 } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
10510 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryHostPointerPropertiesEXT)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
10512 #ifndef VK_NO_PROTOTYPES
10513 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryHostPointerPropertiesEXT(
10515 VkExternalMemoryHandleTypeFlagBits handleType,
10516 const void* pHostPointer,
10517 VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
10521 #define VK_AMD_buffer_marker 1
10522 #define VK_AMD_BUFFER_MARKER_SPEC_VERSION 1
10523 #define VK_AMD_BUFFER_MARKER_EXTENSION_NAME "VK_AMD_buffer_marker"
10524 typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarkerAMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker);
10526 #ifndef VK_NO_PROTOTYPES
10527 VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarkerAMD(
10528 VkCommandBuffer commandBuffer,
10529 VkPipelineStageFlagBits pipelineStage,
10530 VkBuffer dstBuffer,
10531 VkDeviceSize dstOffset,
10536 #define VK_AMD_pipeline_compiler_control 1
10537 #define VK_AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION 1
10538 #define VK_AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME "VK_AMD_pipeline_compiler_control"
10540 typedef enum VkPipelineCompilerControlFlagBitsAMD {
10541 VK_PIPELINE_COMPILER_CONTROL_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF
10542 } VkPipelineCompilerControlFlagBitsAMD;
10543 typedef VkFlags VkPipelineCompilerControlFlagsAMD;
10544 typedef struct VkPipelineCompilerControlCreateInfoAMD {
10545 VkStructureType sType;
10547 VkPipelineCompilerControlFlagsAMD compilerControlFlags;
10548 } VkPipelineCompilerControlCreateInfoAMD;
10552 #define VK_EXT_calibrated_timestamps 1
10553 #define VK_EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION 2
10554 #define VK_EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME "VK_EXT_calibrated_timestamps"
10556 typedef enum VkTimeDomainEXT {
10557 VK_TIME_DOMAIN_DEVICE_EXT = 0,
10558 VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT = 1,
10559 VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT = 2,
10560 VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT = 3,
10561 VK_TIME_DOMAIN_MAX_ENUM_EXT = 0x7FFFFFFF
10563 typedef struct VkCalibratedTimestampInfoEXT {
10564 VkStructureType sType;
10566 VkTimeDomainEXT timeDomain;
10567 } VkCalibratedTimestampInfoEXT;
10569 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT)(VkPhysicalDevice physicalDevice, uint32_t* pTimeDomainCount, VkTimeDomainEXT* pTimeDomains);
10570 typedef VkResult (VKAPI_PTR *PFN_vkGetCalibratedTimestampsEXT)(VkDevice device, uint32_t timestampCount, const VkCalibratedTimestampInfoEXT* pTimestampInfos, uint64_t* pTimestamps, uint64_t* pMaxDeviation);
10572 #ifndef VK_NO_PROTOTYPES
10573 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(
10574 VkPhysicalDevice physicalDevice,
10575 uint32_t* pTimeDomainCount,
10576 VkTimeDomainEXT* pTimeDomains);
10578 VKAPI_ATTR VkResult VKAPI_CALL vkGetCalibratedTimestampsEXT(
10580 uint32_t timestampCount,
10581 const VkCalibratedTimestampInfoEXT* pTimestampInfos,
10582 uint64_t* pTimestamps,
10583 uint64_t* pMaxDeviation);
10587 #define VK_AMD_shader_core_properties 1
10588 #define VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION 2
10589 #define VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_AMD_shader_core_properties"
10590 typedef struct VkPhysicalDeviceShaderCorePropertiesAMD {
10591 VkStructureType sType;
10593 uint32_t shaderEngineCount;
10594 uint32_t shaderArraysPerEngineCount;
10595 uint32_t computeUnitsPerShaderArray;
10596 uint32_t simdPerComputeUnit;
10597 uint32_t wavefrontsPerSimd;
10598 uint32_t wavefrontSize;
10599 uint32_t sgprsPerSimd;
10600 uint32_t minSgprAllocation;
10601 uint32_t maxSgprAllocation;
10602 uint32_t sgprAllocationGranularity;
10603 uint32_t vgprsPerSimd;
10604 uint32_t minVgprAllocation;
10605 uint32_t maxVgprAllocation;
10606 uint32_t vgprAllocationGranularity;
10607 } VkPhysicalDeviceShaderCorePropertiesAMD;
10611 #define VK_AMD_memory_overallocation_behavior 1
10612 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION 1
10613 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME "VK_AMD_memory_overallocation_behavior"
10615 typedef enum VkMemoryOverallocationBehaviorAMD {
10616 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD = 0,
10617 VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD = 1,
10618 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD = 2,
10619 VK_MEMORY_OVERALLOCATION_BEHAVIOR_MAX_ENUM_AMD = 0x7FFFFFFF
10620 } VkMemoryOverallocationBehaviorAMD;
10621 typedef struct VkDeviceMemoryOverallocationCreateInfoAMD {
10622 VkStructureType sType;
10624 VkMemoryOverallocationBehaviorAMD overallocationBehavior;
10625 } VkDeviceMemoryOverallocationCreateInfoAMD;
10629 #define VK_EXT_vertex_attribute_divisor 1
10630 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 3
10631 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_EXT_vertex_attribute_divisor"
10632 typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
10633 VkStructureType sType;
10635 uint32_t maxVertexAttribDivisor;
10636 } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
10638 typedef struct VkVertexInputBindingDivisorDescriptionEXT {
10641 } VkVertexInputBindingDivisorDescriptionEXT;
10643 typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT {
10644 VkStructureType sType;
10646 uint32_t vertexBindingDivisorCount;
10647 const VkVertexInputBindingDivisorDescriptionEXT* pVertexBindingDivisors;
10648 } VkPipelineVertexInputDivisorStateCreateInfoEXT;
10650 typedef struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT {
10651 VkStructureType sType;
10653 VkBool32 vertexAttributeInstanceRateDivisor;
10654 VkBool32 vertexAttributeInstanceRateZeroDivisor;
10655 } VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT;
10659 #define VK_EXT_pipeline_creation_feedback 1
10660 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION 1
10661 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME "VK_EXT_pipeline_creation_feedback"
10663 typedef enum VkPipelineCreationFeedbackFlagBitsEXT {
10664 VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = 0x00000001,
10665 VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = 0x00000002,
10666 VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = 0x00000004,
10667 VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
10668 } VkPipelineCreationFeedbackFlagBitsEXT;
10669 typedef VkFlags VkPipelineCreationFeedbackFlagsEXT;
10670 typedef struct VkPipelineCreationFeedbackEXT {
10671 VkPipelineCreationFeedbackFlagsEXT flags;
10673 } VkPipelineCreationFeedbackEXT;
10675 typedef struct VkPipelineCreationFeedbackCreateInfoEXT {
10676 VkStructureType sType;
10678 VkPipelineCreationFeedbackEXT* pPipelineCreationFeedback;
10679 uint32_t pipelineStageCreationFeedbackCount;
10680 VkPipelineCreationFeedbackEXT* pPipelineStageCreationFeedbacks;
10681 } VkPipelineCreationFeedbackCreateInfoEXT;
10685 #define VK_NV_shader_subgroup_partitioned 1
10686 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION 1
10687 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME "VK_NV_shader_subgroup_partitioned"
10690 #define VK_NV_compute_shader_derivatives 1
10691 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION 1
10692 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME "VK_NV_compute_shader_derivatives"
10693 typedef struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV {
10694 VkStructureType sType;
10696 VkBool32 computeDerivativeGroupQuads;
10697 VkBool32 computeDerivativeGroupLinear;
10698 } VkPhysicalDeviceComputeShaderDerivativesFeaturesNV;
10702 #define VK_NV_mesh_shader 1
10703 #define VK_NV_MESH_SHADER_SPEC_VERSION 1
10704 #define VK_NV_MESH_SHADER_EXTENSION_NAME "VK_NV_mesh_shader"
10705 typedef struct VkPhysicalDeviceMeshShaderFeaturesNV {
10706 VkStructureType sType;
10708 VkBool32 taskShader;
10709 VkBool32 meshShader;
10710 } VkPhysicalDeviceMeshShaderFeaturesNV;
10712 typedef struct VkPhysicalDeviceMeshShaderPropertiesNV {
10713 VkStructureType sType;
10715 uint32_t maxDrawMeshTasksCount;
10716 uint32_t maxTaskWorkGroupInvocations;
10717 uint32_t maxTaskWorkGroupSize[3];
10718 uint32_t maxTaskTotalMemorySize;
10719 uint32_t maxTaskOutputCount;
10720 uint32_t maxMeshWorkGroupInvocations;
10721 uint32_t maxMeshWorkGroupSize[3];
10722 uint32_t maxMeshTotalMemorySize;
10723 uint32_t maxMeshOutputVertices;
10724 uint32_t maxMeshOutputPrimitives;
10725 uint32_t maxMeshMultiviewViewCount;
10726 uint32_t meshOutputPerVertexGranularity;
10727 uint32_t meshOutputPerPrimitiveGranularity;
10728 } VkPhysicalDeviceMeshShaderPropertiesNV;
10730 typedef struct VkDrawMeshTasksIndirectCommandNV {
10731 uint32_t taskCount;
10732 uint32_t firstTask;
10733 } VkDrawMeshTasksIndirectCommandNV;
10735 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksNV)(VkCommandBuffer commandBuffer, uint32_t taskCount, uint32_t firstTask);
10736 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
10737 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectCountNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
10739 #ifndef VK_NO_PROTOTYPES
10740 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksNV(
10741 VkCommandBuffer commandBuffer,
10742 uint32_t taskCount,
10743 uint32_t firstTask);
10745 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectNV(
10746 VkCommandBuffer commandBuffer,
10748 VkDeviceSize offset,
10749 uint32_t drawCount,
10752 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectCountNV(
10753 VkCommandBuffer commandBuffer,
10755 VkDeviceSize offset,
10756 VkBuffer countBuffer,
10757 VkDeviceSize countBufferOffset,
10758 uint32_t maxDrawCount,
10763 #define VK_NV_fragment_shader_barycentric 1
10764 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1
10765 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_NV_fragment_shader_barycentric"
10766 typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV {
10767 VkStructureType sType;
10769 VkBool32 fragmentShaderBarycentric;
10770 } VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV;
10774 #define VK_NV_shader_image_footprint 1
10775 #define VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION 2
10776 #define VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME "VK_NV_shader_image_footprint"
10777 typedef struct VkPhysicalDeviceShaderImageFootprintFeaturesNV {
10778 VkStructureType sType;
10780 VkBool32 imageFootprint;
10781 } VkPhysicalDeviceShaderImageFootprintFeaturesNV;
10785 #define VK_NV_scissor_exclusive 1
10786 #define VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION 1
10787 #define VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME "VK_NV_scissor_exclusive"
10788 typedef struct VkPipelineViewportExclusiveScissorStateCreateInfoNV {
10789 VkStructureType sType;
10791 uint32_t exclusiveScissorCount;
10792 const VkRect2D* pExclusiveScissors;
10793 } VkPipelineViewportExclusiveScissorStateCreateInfoNV;
10795 typedef struct VkPhysicalDeviceExclusiveScissorFeaturesNV {
10796 VkStructureType sType;
10798 VkBool32 exclusiveScissor;
10799 } VkPhysicalDeviceExclusiveScissorFeaturesNV;
10801 typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorNV)(VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const VkRect2D* pExclusiveScissors);
10803 #ifndef VK_NO_PROTOTYPES
10804 VKAPI_ATTR void VKAPI_CALL vkCmdSetExclusiveScissorNV(
10805 VkCommandBuffer commandBuffer,
10806 uint32_t firstExclusiveScissor,
10807 uint32_t exclusiveScissorCount,
10808 const VkRect2D* pExclusiveScissors);
10812 #define VK_NV_device_diagnostic_checkpoints 1
10813 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION 2
10814 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME "VK_NV_device_diagnostic_checkpoints"
10815 typedef struct VkQueueFamilyCheckpointPropertiesNV {
10816 VkStructureType sType;
10818 VkPipelineStageFlags checkpointExecutionStageMask;
10819 } VkQueueFamilyCheckpointPropertiesNV;
10821 typedef struct VkCheckpointDataNV {
10822 VkStructureType sType;
10824 VkPipelineStageFlagBits stage;
10825 void* pCheckpointMarker;
10826 } VkCheckpointDataNV;
10828 typedef void (VKAPI_PTR *PFN_vkCmdSetCheckpointNV)(VkCommandBuffer commandBuffer, const void* pCheckpointMarker);
10829 typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointDataNV)(VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData);
10831 #ifndef VK_NO_PROTOTYPES
10832 VKAPI_ATTR void VKAPI_CALL vkCmdSetCheckpointNV(
10833 VkCommandBuffer commandBuffer,
10834 const void* pCheckpointMarker);
10836 VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointDataNV(
10838 uint32_t* pCheckpointDataCount,
10839 VkCheckpointDataNV* pCheckpointData);
10843 #define VK_INTEL_shader_integer_functions2 1
10844 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION 1
10845 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME "VK_INTEL_shader_integer_functions2"
10846 typedef struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
10847 VkStructureType sType;
10849 VkBool32 shaderIntegerFunctions2;
10850 } VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL;
10854 #define VK_INTEL_performance_query 1
10855 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPerformanceConfigurationINTEL)
10856 #define VK_INTEL_PERFORMANCE_QUERY_SPEC_VERSION 2
10857 #define VK_INTEL_PERFORMANCE_QUERY_EXTENSION_NAME "VK_INTEL_performance_query"
10859 typedef enum VkPerformanceConfigurationTypeINTEL {
10860 VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL = 0,
10861 VK_PERFORMANCE_CONFIGURATION_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
10862 } VkPerformanceConfigurationTypeINTEL;
10864 typedef enum VkQueryPoolSamplingModeINTEL {
10865 VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL = 0,
10866 VK_QUERY_POOL_SAMPLING_MODE_MAX_ENUM_INTEL = 0x7FFFFFFF
10867 } VkQueryPoolSamplingModeINTEL;
10869 typedef enum VkPerformanceOverrideTypeINTEL {
10870 VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL = 0,
10871 VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL = 1,
10872 VK_PERFORMANCE_OVERRIDE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
10873 } VkPerformanceOverrideTypeINTEL;
10875 typedef enum VkPerformanceParameterTypeINTEL {
10876 VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL = 0,
10877 VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL = 1,
10878 VK_PERFORMANCE_PARAMETER_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
10879 } VkPerformanceParameterTypeINTEL;
10881 typedef enum VkPerformanceValueTypeINTEL {
10882 VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL = 0,
10883 VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL = 1,
10884 VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL = 2,
10885 VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL = 3,
10886 VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL = 4,
10887 VK_PERFORMANCE_VALUE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
10888 } VkPerformanceValueTypeINTEL;
10889 typedef union VkPerformanceValueDataINTEL {
10893 VkBool32 valueBool;
10894 const char* valueString;
10895 } VkPerformanceValueDataINTEL;
10897 typedef struct VkPerformanceValueINTEL {
10898 VkPerformanceValueTypeINTEL type;
10899 VkPerformanceValueDataINTEL data;
10900 } VkPerformanceValueINTEL;
10902 typedef struct VkInitializePerformanceApiInfoINTEL {
10903 VkStructureType sType;
10906 } VkInitializePerformanceApiInfoINTEL;
10908 typedef struct VkQueryPoolPerformanceQueryCreateInfoINTEL {
10909 VkStructureType sType;
10911 VkQueryPoolSamplingModeINTEL performanceCountersSampling;
10912 } VkQueryPoolPerformanceQueryCreateInfoINTEL;
10914 typedef VkQueryPoolPerformanceQueryCreateInfoINTEL VkQueryPoolCreateInfoINTEL;
10916 typedef struct VkPerformanceMarkerInfoINTEL {
10917 VkStructureType sType;
10920 } VkPerformanceMarkerInfoINTEL;
10922 typedef struct VkPerformanceStreamMarkerInfoINTEL {
10923 VkStructureType sType;
10926 } VkPerformanceStreamMarkerInfoINTEL;
10928 typedef struct VkPerformanceOverrideInfoINTEL {
10929 VkStructureType sType;
10931 VkPerformanceOverrideTypeINTEL type;
10933 uint64_t parameter;
10934 } VkPerformanceOverrideInfoINTEL;
10936 typedef struct VkPerformanceConfigurationAcquireInfoINTEL {
10937 VkStructureType sType;
10939 VkPerformanceConfigurationTypeINTEL type;
10940 } VkPerformanceConfigurationAcquireInfoINTEL;
10942 typedef VkResult (VKAPI_PTR *PFN_vkInitializePerformanceApiINTEL)(VkDevice device, const VkInitializePerformanceApiInfoINTEL* pInitializeInfo);
10943 typedef void (VKAPI_PTR *PFN_vkUninitializePerformanceApiINTEL)(VkDevice device);
10944 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL* pMarkerInfo);
10945 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceStreamMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo);
10946 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceOverrideINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL* pOverrideInfo);
10947 typedef VkResult (VKAPI_PTR *PFN_vkAcquirePerformanceConfigurationINTEL)(VkDevice device, const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, VkPerformanceConfigurationINTEL* pConfiguration);
10948 typedef VkResult (VKAPI_PTR *PFN_vkReleasePerformanceConfigurationINTEL)(VkDevice device, VkPerformanceConfigurationINTEL configuration);
10949 typedef VkResult (VKAPI_PTR *PFN_vkQueueSetPerformanceConfigurationINTEL)(VkQueue queue, VkPerformanceConfigurationINTEL configuration);
10950 typedef VkResult (VKAPI_PTR *PFN_vkGetPerformanceParameterINTEL)(VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL* pValue);
10952 #ifndef VK_NO_PROTOTYPES
10953 VKAPI_ATTR VkResult VKAPI_CALL vkInitializePerformanceApiINTEL(
10955 const VkInitializePerformanceApiInfoINTEL* pInitializeInfo);
10957 VKAPI_ATTR void VKAPI_CALL vkUninitializePerformanceApiINTEL(
10960 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceMarkerINTEL(
10961 VkCommandBuffer commandBuffer,
10962 const VkPerformanceMarkerInfoINTEL* pMarkerInfo);
10964 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceStreamMarkerINTEL(
10965 VkCommandBuffer commandBuffer,
10966 const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo);
10968 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceOverrideINTEL(
10969 VkCommandBuffer commandBuffer,
10970 const VkPerformanceOverrideInfoINTEL* pOverrideInfo);
10972 VKAPI_ATTR VkResult VKAPI_CALL vkAcquirePerformanceConfigurationINTEL(
10974 const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo,
10975 VkPerformanceConfigurationINTEL* pConfiguration);
10977 VKAPI_ATTR VkResult VKAPI_CALL vkReleasePerformanceConfigurationINTEL(
10979 VkPerformanceConfigurationINTEL configuration);
10981 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSetPerformanceConfigurationINTEL(
10983 VkPerformanceConfigurationINTEL configuration);
10985 VKAPI_ATTR VkResult VKAPI_CALL vkGetPerformanceParameterINTEL(
10987 VkPerformanceParameterTypeINTEL parameter,
10988 VkPerformanceValueINTEL* pValue);
10992 #define VK_EXT_pci_bus_info 1
10993 #define VK_EXT_PCI_BUS_INFO_SPEC_VERSION 2
10994 #define VK_EXT_PCI_BUS_INFO_EXTENSION_NAME "VK_EXT_pci_bus_info"
10995 typedef struct VkPhysicalDevicePCIBusInfoPropertiesEXT {
10996 VkStructureType sType;
10998 uint32_t pciDomain;
11000 uint32_t pciDevice;
11001 uint32_t pciFunction;
11002 } VkPhysicalDevicePCIBusInfoPropertiesEXT;
11006 #define VK_AMD_display_native_hdr 1
11007 #define VK_AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION 1
11008 #define VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME "VK_AMD_display_native_hdr"
11009 typedef struct VkDisplayNativeHdrSurfaceCapabilitiesAMD {
11010 VkStructureType sType;
11012 VkBool32 localDimmingSupport;
11013 } VkDisplayNativeHdrSurfaceCapabilitiesAMD;
11015 typedef struct VkSwapchainDisplayNativeHdrCreateInfoAMD {
11016 VkStructureType sType;
11018 VkBool32 localDimmingEnable;
11019 } VkSwapchainDisplayNativeHdrCreateInfoAMD;
11021 typedef void (VKAPI_PTR *PFN_vkSetLocalDimmingAMD)(VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable);
11023 #ifndef VK_NO_PROTOTYPES
11024 VKAPI_ATTR void VKAPI_CALL vkSetLocalDimmingAMD(
11026 VkSwapchainKHR swapChain,
11027 VkBool32 localDimmingEnable);
11031 #define VK_EXT_fragment_density_map 1
11032 #define VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION 1
11033 #define VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME "VK_EXT_fragment_density_map"
11034 typedef struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT {
11035 VkStructureType sType;
11037 VkBool32 fragmentDensityMap;
11038 VkBool32 fragmentDensityMapDynamic;
11039 VkBool32 fragmentDensityMapNonSubsampledImages;
11040 } VkPhysicalDeviceFragmentDensityMapFeaturesEXT;
11042 typedef struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT {
11043 VkStructureType sType;
11045 VkExtent2D minFragmentDensityTexelSize;
11046 VkExtent2D maxFragmentDensityTexelSize;
11047 VkBool32 fragmentDensityInvocations;
11048 } VkPhysicalDeviceFragmentDensityMapPropertiesEXT;
11050 typedef struct VkRenderPassFragmentDensityMapCreateInfoEXT {
11051 VkStructureType sType;
11053 VkAttachmentReference fragmentDensityMapAttachment;
11054 } VkRenderPassFragmentDensityMapCreateInfoEXT;
11058 #define VK_EXT_scalar_block_layout 1
11059 #define VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION 1
11060 #define VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME "VK_EXT_scalar_block_layout"
11061 typedef VkPhysicalDeviceScalarBlockLayoutFeatures VkPhysicalDeviceScalarBlockLayoutFeaturesEXT;
11065 #define VK_GOOGLE_hlsl_functionality1 1
11066 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION 1
11067 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME "VK_GOOGLE_hlsl_functionality1"
11070 #define VK_GOOGLE_decorate_string 1
11071 #define VK_GOOGLE_DECORATE_STRING_SPEC_VERSION 1
11072 #define VK_GOOGLE_DECORATE_STRING_EXTENSION_NAME "VK_GOOGLE_decorate_string"
11075 #define VK_EXT_subgroup_size_control 1
11076 #define VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION 2
11077 #define VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME "VK_EXT_subgroup_size_control"
11078 typedef struct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT {
11079 VkStructureType sType;
11081 VkBool32 subgroupSizeControl;
11082 VkBool32 computeFullSubgroups;
11083 } VkPhysicalDeviceSubgroupSizeControlFeaturesEXT;
11085 typedef struct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT {
11086 VkStructureType sType;
11088 uint32_t minSubgroupSize;
11089 uint32_t maxSubgroupSize;
11090 uint32_t maxComputeWorkgroupSubgroups;
11091 VkShaderStageFlags requiredSubgroupSizeStages;
11092 } VkPhysicalDeviceSubgroupSizeControlPropertiesEXT;
11094 typedef struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT {
11095 VkStructureType sType;
11097 uint32_t requiredSubgroupSize;
11098 } VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT;
11102 #define VK_AMD_shader_core_properties2 1
11103 #define VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION 1
11104 #define VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME "VK_AMD_shader_core_properties2"
11106 typedef enum VkShaderCorePropertiesFlagBitsAMD {
11107 VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF
11108 } VkShaderCorePropertiesFlagBitsAMD;
11109 typedef VkFlags VkShaderCorePropertiesFlagsAMD;
11110 typedef struct VkPhysicalDeviceShaderCoreProperties2AMD {
11111 VkStructureType sType;
11113 VkShaderCorePropertiesFlagsAMD shaderCoreFeatures;
11114 uint32_t activeComputeUnitCount;
11115 } VkPhysicalDeviceShaderCoreProperties2AMD;
11119 #define VK_AMD_device_coherent_memory 1
11120 #define VK_AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION 1
11121 #define VK_AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME "VK_AMD_device_coherent_memory"
11122 typedef struct VkPhysicalDeviceCoherentMemoryFeaturesAMD {
11123 VkStructureType sType;
11125 VkBool32 deviceCoherentMemory;
11126 } VkPhysicalDeviceCoherentMemoryFeaturesAMD;
11130 #define VK_EXT_shader_image_atomic_int64 1
11131 #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION 1
11132 #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME "VK_EXT_shader_image_atomic_int64"
11133 typedef struct VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT {
11134 VkStructureType sType;
11136 VkBool32 shaderImageInt64Atomics;
11137 VkBool32 sparseImageInt64Atomics;
11138 } VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT;
11142 #define VK_EXT_memory_budget 1
11143 #define VK_EXT_MEMORY_BUDGET_SPEC_VERSION 1
11144 #define VK_EXT_MEMORY_BUDGET_EXTENSION_NAME "VK_EXT_memory_budget"
11145 typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT {
11146 VkStructureType sType;
11148 VkDeviceSize heapBudget[VK_MAX_MEMORY_HEAPS];
11149 VkDeviceSize heapUsage[VK_MAX_MEMORY_HEAPS];
11150 } VkPhysicalDeviceMemoryBudgetPropertiesEXT;
11154 #define VK_EXT_memory_priority 1
11155 #define VK_EXT_MEMORY_PRIORITY_SPEC_VERSION 1
11156 #define VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME "VK_EXT_memory_priority"
11157 typedef struct VkPhysicalDeviceMemoryPriorityFeaturesEXT {
11158 VkStructureType sType;
11160 VkBool32 memoryPriority;
11161 } VkPhysicalDeviceMemoryPriorityFeaturesEXT;
11163 typedef struct VkMemoryPriorityAllocateInfoEXT {
11164 VkStructureType sType;
11167 } VkMemoryPriorityAllocateInfoEXT;
11171 #define VK_NV_dedicated_allocation_image_aliasing 1
11172 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION 1
11173 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME "VK_NV_dedicated_allocation_image_aliasing"
11174 typedef struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
11175 VkStructureType sType;
11177 VkBool32 dedicatedAllocationImageAliasing;
11178 } VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV;
11182 #define VK_EXT_buffer_device_address 1
11183 #define VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 2
11184 #define VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_EXT_buffer_device_address"
11185 typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT {
11186 VkStructureType sType;
11188 VkBool32 bufferDeviceAddress;
11189 VkBool32 bufferDeviceAddressCaptureReplay;
11190 VkBool32 bufferDeviceAddressMultiDevice;
11191 } VkPhysicalDeviceBufferDeviceAddressFeaturesEXT;
11193 typedef VkPhysicalDeviceBufferDeviceAddressFeaturesEXT VkPhysicalDeviceBufferAddressFeaturesEXT;
11195 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoEXT;
11197 typedef struct VkBufferDeviceAddressCreateInfoEXT {
11198 VkStructureType sType;
11200 VkDeviceAddress deviceAddress;
11201 } VkBufferDeviceAddressCreateInfoEXT;
11203 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressEXT)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
11205 #ifndef VK_NO_PROTOTYPES
11206 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressEXT(
11208 const VkBufferDeviceAddressInfo* pInfo);
11212 #define VK_EXT_tooling_info 1
11213 #define VK_EXT_TOOLING_INFO_SPEC_VERSION 1
11214 #define VK_EXT_TOOLING_INFO_EXTENSION_NAME "VK_EXT_tooling_info"
11216 typedef enum VkToolPurposeFlagBitsEXT {
11217 VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = 0x00000001,
11218 VK_TOOL_PURPOSE_PROFILING_BIT_EXT = 0x00000002,
11219 VK_TOOL_PURPOSE_TRACING_BIT_EXT = 0x00000004,
11220 VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = 0x00000008,
11221 VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = 0x00000010,
11222 VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 0x00000020,
11223 VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 0x00000040,
11224 VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
11225 } VkToolPurposeFlagBitsEXT;
11226 typedef VkFlags VkToolPurposeFlagsEXT;
11227 typedef struct VkPhysicalDeviceToolPropertiesEXT {
11228 VkStructureType sType;
11230 char name[VK_MAX_EXTENSION_NAME_SIZE];
11231 char version[VK_MAX_EXTENSION_NAME_SIZE];
11232 VkToolPurposeFlagsEXT purposes;
11233 char description[VK_MAX_DESCRIPTION_SIZE];
11234 char layer[VK_MAX_EXTENSION_NAME_SIZE];
11235 } VkPhysicalDeviceToolPropertiesEXT;
11237 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceToolPropertiesEXT)(VkPhysicalDevice physicalDevice, uint32_t* pToolCount, VkPhysicalDeviceToolPropertiesEXT* pToolProperties);
11239 #ifndef VK_NO_PROTOTYPES
11240 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceToolPropertiesEXT(
11241 VkPhysicalDevice physicalDevice,
11242 uint32_t* pToolCount,
11243 VkPhysicalDeviceToolPropertiesEXT* pToolProperties);
11247 #define VK_EXT_separate_stencil_usage 1
11248 #define VK_EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION 1
11249 #define VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME "VK_EXT_separate_stencil_usage"
11250 typedef VkImageStencilUsageCreateInfo VkImageStencilUsageCreateInfoEXT;
11254 #define VK_EXT_validation_features 1
11255 #define VK_EXT_VALIDATION_FEATURES_SPEC_VERSION 5
11256 #define VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME "VK_EXT_validation_features"
11258 typedef enum VkValidationFeatureEnableEXT {
11259 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT = 0,
11260 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT = 1,
11261 VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT = 2,
11262 VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT = 3,
11263 VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT = 4,
11264 VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT = 0x7FFFFFFF
11265 } VkValidationFeatureEnableEXT;
11267 typedef enum VkValidationFeatureDisableEXT {
11268 VK_VALIDATION_FEATURE_DISABLE_ALL_EXT = 0,
11269 VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT = 1,
11270 VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT = 2,
11271 VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT = 3,
11272 VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT = 4,
11273 VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT = 5,
11274 VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT = 6,
11275 VK_VALIDATION_FEATURE_DISABLE_SHADER_VALIDATION_CACHE_EXT = 7,
11276 VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT = 0x7FFFFFFF
11277 } VkValidationFeatureDisableEXT;
11278 typedef struct VkValidationFeaturesEXT {
11279 VkStructureType sType;
11281 uint32_t enabledValidationFeatureCount;
11282 const VkValidationFeatureEnableEXT* pEnabledValidationFeatures;
11283 uint32_t disabledValidationFeatureCount;
11284 const VkValidationFeatureDisableEXT* pDisabledValidationFeatures;
11285 } VkValidationFeaturesEXT;
11289 #define VK_NV_cooperative_matrix 1
11290 #define VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION 1
11291 #define VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_NV_cooperative_matrix"
11293 typedef enum VkComponentTypeNV {
11294 VK_COMPONENT_TYPE_FLOAT16_NV = 0,
11295 VK_COMPONENT_TYPE_FLOAT32_NV = 1,
11296 VK_COMPONENT_TYPE_FLOAT64_NV = 2,
11297 VK_COMPONENT_TYPE_SINT8_NV = 3,
11298 VK_COMPONENT_TYPE_SINT16_NV = 4,
11299 VK_COMPONENT_TYPE_SINT32_NV = 5,
11300 VK_COMPONENT_TYPE_SINT64_NV = 6,
11301 VK_COMPONENT_TYPE_UINT8_NV = 7,
11302 VK_COMPONENT_TYPE_UINT16_NV = 8,
11303 VK_COMPONENT_TYPE_UINT32_NV = 9,
11304 VK_COMPONENT_TYPE_UINT64_NV = 10,
11305 VK_COMPONENT_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
11306 } VkComponentTypeNV;
11308 typedef enum VkScopeNV {
11309 VK_SCOPE_DEVICE_NV = 1,
11310 VK_SCOPE_WORKGROUP_NV = 2,
11311 VK_SCOPE_SUBGROUP_NV = 3,
11312 VK_SCOPE_QUEUE_FAMILY_NV = 5,
11313 VK_SCOPE_MAX_ENUM_NV = 0x7FFFFFFF
11315 typedef struct VkCooperativeMatrixPropertiesNV {
11316 VkStructureType sType;
11321 VkComponentTypeNV AType;
11322 VkComponentTypeNV BType;
11323 VkComponentTypeNV CType;
11324 VkComponentTypeNV DType;
11326 } VkCooperativeMatrixPropertiesNV;
11328 typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesNV {
11329 VkStructureType sType;
11331 VkBool32 cooperativeMatrix;
11332 VkBool32 cooperativeMatrixRobustBufferAccess;
11333 } VkPhysicalDeviceCooperativeMatrixFeaturesNV;
11335 typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesNV {
11336 VkStructureType sType;
11338 VkShaderStageFlags cooperativeMatrixSupportedStages;
11339 } VkPhysicalDeviceCooperativeMatrixPropertiesNV;
11341 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkCooperativeMatrixPropertiesNV* pProperties);
11343 #ifndef VK_NO_PROTOTYPES
11344 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(
11345 VkPhysicalDevice physicalDevice,
11346 uint32_t* pPropertyCount,
11347 VkCooperativeMatrixPropertiesNV* pProperties);
11351 #define VK_NV_coverage_reduction_mode 1
11352 #define VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION 1
11353 #define VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME "VK_NV_coverage_reduction_mode"
11355 typedef enum VkCoverageReductionModeNV {
11356 VK_COVERAGE_REDUCTION_MODE_MERGE_NV = 0,
11357 VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV = 1,
11358 VK_COVERAGE_REDUCTION_MODE_MAX_ENUM_NV = 0x7FFFFFFF
11359 } VkCoverageReductionModeNV;
11360 typedef VkFlags VkPipelineCoverageReductionStateCreateFlagsNV;
11361 typedef struct VkPhysicalDeviceCoverageReductionModeFeaturesNV {
11362 VkStructureType sType;
11364 VkBool32 coverageReductionMode;
11365 } VkPhysicalDeviceCoverageReductionModeFeaturesNV;
11367 typedef struct VkPipelineCoverageReductionStateCreateInfoNV {
11368 VkStructureType sType;
11370 VkPipelineCoverageReductionStateCreateFlagsNV flags;
11371 VkCoverageReductionModeNV coverageReductionMode;
11372 } VkPipelineCoverageReductionStateCreateInfoNV;
11374 typedef struct VkFramebufferMixedSamplesCombinationNV {
11375 VkStructureType sType;
11377 VkCoverageReductionModeNV coverageReductionMode;
11378 VkSampleCountFlagBits rasterizationSamples;
11379 VkSampleCountFlags depthStencilSamples;
11380 VkSampleCountFlags colorSamples;
11381 } VkFramebufferMixedSamplesCombinationNV;
11383 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV)(VkPhysicalDevice physicalDevice, uint32_t* pCombinationCount, VkFramebufferMixedSamplesCombinationNV* pCombinations);
11385 #ifndef VK_NO_PROTOTYPES
11386 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
11387 VkPhysicalDevice physicalDevice,
11388 uint32_t* pCombinationCount,
11389 VkFramebufferMixedSamplesCombinationNV* pCombinations);
11393 #define VK_EXT_fragment_shader_interlock 1
11394 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION 1
11395 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME "VK_EXT_fragment_shader_interlock"
11396 typedef struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT {
11397 VkStructureType sType;
11399 VkBool32 fragmentShaderSampleInterlock;
11400 VkBool32 fragmentShaderPixelInterlock;
11401 VkBool32 fragmentShaderShadingRateInterlock;
11402 } VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT;
11406 #define VK_EXT_ycbcr_image_arrays 1
11407 #define VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION 1
11408 #define VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME "VK_EXT_ycbcr_image_arrays"
11409 typedef struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT {
11410 VkStructureType sType;
11412 VkBool32 ycbcrImageArrays;
11413 } VkPhysicalDeviceYcbcrImageArraysFeaturesEXT;
11417 #define VK_EXT_provoking_vertex 1
11418 #define VK_EXT_PROVOKING_VERTEX_SPEC_VERSION 1
11419 #define VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME "VK_EXT_provoking_vertex"
11421 typedef enum VkProvokingVertexModeEXT {
11422 VK_PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT = 0,
11423 VK_PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT = 1,
11424 VK_PROVOKING_VERTEX_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
11425 } VkProvokingVertexModeEXT;
11426 typedef struct VkPhysicalDeviceProvokingVertexFeaturesEXT {
11427 VkStructureType sType;
11429 VkBool32 provokingVertexLast;
11430 VkBool32 transformFeedbackPreservesProvokingVertex;
11431 } VkPhysicalDeviceProvokingVertexFeaturesEXT;
11433 typedef struct VkPhysicalDeviceProvokingVertexPropertiesEXT {
11434 VkStructureType sType;
11436 VkBool32 provokingVertexModePerPipeline;
11437 VkBool32 transformFeedbackPreservesTriangleFanProvokingVertex;
11438 } VkPhysicalDeviceProvokingVertexPropertiesEXT;
11440 typedef struct VkPipelineRasterizationProvokingVertexStateCreateInfoEXT {
11441 VkStructureType sType;
11443 VkProvokingVertexModeEXT provokingVertexMode;
11444 } VkPipelineRasterizationProvokingVertexStateCreateInfoEXT;
11448 #define VK_EXT_headless_surface 1
11449 #define VK_EXT_HEADLESS_SURFACE_SPEC_VERSION 1
11450 #define VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME "VK_EXT_headless_surface"
11451 typedef VkFlags VkHeadlessSurfaceCreateFlagsEXT;
11452 typedef struct VkHeadlessSurfaceCreateInfoEXT {
11453 VkStructureType sType;
11455 VkHeadlessSurfaceCreateFlagsEXT flags;
11456 } VkHeadlessSurfaceCreateInfoEXT;
11458 typedef VkResult (VKAPI_PTR *PFN_vkCreateHeadlessSurfaceEXT)(VkInstance instance, const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
11460 #ifndef VK_NO_PROTOTYPES
11461 VKAPI_ATTR VkResult VKAPI_CALL vkCreateHeadlessSurfaceEXT(
11462 VkInstance instance,
11463 const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo,
11464 const VkAllocationCallbacks* pAllocator,
11465 VkSurfaceKHR* pSurface);
11469 #define VK_EXT_line_rasterization 1
11470 #define VK_EXT_LINE_RASTERIZATION_SPEC_VERSION 1
11471 #define VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME "VK_EXT_line_rasterization"
11473 typedef enum VkLineRasterizationModeEXT {
11474 VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT = 0,
11475 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT = 1,
11476 VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT = 2,
11477 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT = 3,
11478 VK_LINE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
11479 } VkLineRasterizationModeEXT;
11480 typedef struct VkPhysicalDeviceLineRasterizationFeaturesEXT {
11481 VkStructureType sType;
11483 VkBool32 rectangularLines;
11484 VkBool32 bresenhamLines;
11485 VkBool32 smoothLines;
11486 VkBool32 stippledRectangularLines;
11487 VkBool32 stippledBresenhamLines;
11488 VkBool32 stippledSmoothLines;
11489 } VkPhysicalDeviceLineRasterizationFeaturesEXT;
11491 typedef struct VkPhysicalDeviceLineRasterizationPropertiesEXT {
11492 VkStructureType sType;
11494 uint32_t lineSubPixelPrecisionBits;
11495 } VkPhysicalDeviceLineRasterizationPropertiesEXT;
11497 typedef struct VkPipelineRasterizationLineStateCreateInfoEXT {
11498 VkStructureType sType;
11500 VkLineRasterizationModeEXT lineRasterizationMode;
11501 VkBool32 stippledLineEnable;
11502 uint32_t lineStippleFactor;
11503 uint16_t lineStipplePattern;
11504 } VkPipelineRasterizationLineStateCreateInfoEXT;
11506 typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleEXT)(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern);
11508 #ifndef VK_NO_PROTOTYPES
11509 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleEXT(
11510 VkCommandBuffer commandBuffer,
11511 uint32_t lineStippleFactor,
11512 uint16_t lineStipplePattern);
11516 #define VK_EXT_shader_atomic_float 1
11517 #define VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION 1
11518 #define VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME "VK_EXT_shader_atomic_float"
11519 typedef struct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT {
11520 VkStructureType sType;
11522 VkBool32 shaderBufferFloat32Atomics;
11523 VkBool32 shaderBufferFloat32AtomicAdd;
11524 VkBool32 shaderBufferFloat64Atomics;
11525 VkBool32 shaderBufferFloat64AtomicAdd;
11526 VkBool32 shaderSharedFloat32Atomics;
11527 VkBool32 shaderSharedFloat32AtomicAdd;
11528 VkBool32 shaderSharedFloat64Atomics;
11529 VkBool32 shaderSharedFloat64AtomicAdd;
11530 VkBool32 shaderImageFloat32Atomics;
11531 VkBool32 shaderImageFloat32AtomicAdd;
11532 VkBool32 sparseImageFloat32Atomics;
11533 VkBool32 sparseImageFloat32AtomicAdd;
11534 } VkPhysicalDeviceShaderAtomicFloatFeaturesEXT;
11538 #define VK_EXT_host_query_reset 1
11539 #define VK_EXT_HOST_QUERY_RESET_SPEC_VERSION 1
11540 #define VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME "VK_EXT_host_query_reset"
11541 typedef VkPhysicalDeviceHostQueryResetFeatures VkPhysicalDeviceHostQueryResetFeaturesEXT;
11543 typedef void (VKAPI_PTR *PFN_vkResetQueryPoolEXT)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount);
11545 #ifndef VK_NO_PROTOTYPES
11546 VKAPI_ATTR void VKAPI_CALL vkResetQueryPoolEXT(
11548 VkQueryPool queryPool,
11549 uint32_t firstQuery,
11550 uint32_t queryCount);
11554 #define VK_EXT_index_type_uint8 1
11555 #define VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION 1
11556 #define VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_EXT_index_type_uint8"
11557 typedef struct VkPhysicalDeviceIndexTypeUint8FeaturesEXT {
11558 VkStructureType sType;
11560 VkBool32 indexTypeUint8;
11561 } VkPhysicalDeviceIndexTypeUint8FeaturesEXT;
11565 #define VK_EXT_extended_dynamic_state 1
11566 #define VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION 1
11567 #define VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_extended_dynamic_state"
11568 typedef struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT {
11569 VkStructureType sType;
11571 VkBool32 extendedDynamicState;
11572 } VkPhysicalDeviceExtendedDynamicStateFeaturesEXT;
11574 typedef void (VKAPI_PTR *PFN_vkCmdSetCullModeEXT)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode);
11575 typedef void (VKAPI_PTR *PFN_vkCmdSetFrontFaceEXT)(VkCommandBuffer commandBuffer, VkFrontFace frontFace);
11576 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveTopologyEXT)(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology);
11577 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWithCountEXT)(VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport* pViewports);
11578 typedef void (VKAPI_PTR *PFN_vkCmdSetScissorWithCountEXT)(VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D* pScissors);
11579 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);
11580 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable);
11581 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthWriteEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable);
11582 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthCompareOpEXT)(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp);
11583 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBoundsTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable);
11584 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable);
11585 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilOpEXT)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp);
11587 #ifndef VK_NO_PROTOTYPES
11588 VKAPI_ATTR void VKAPI_CALL vkCmdSetCullModeEXT(
11589 VkCommandBuffer commandBuffer,
11590 VkCullModeFlags cullMode);
11592 VKAPI_ATTR void VKAPI_CALL vkCmdSetFrontFaceEXT(
11593 VkCommandBuffer commandBuffer,
11594 VkFrontFace frontFace);
11596 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveTopologyEXT(
11597 VkCommandBuffer commandBuffer,
11598 VkPrimitiveTopology primitiveTopology);
11600 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWithCountEXT(
11601 VkCommandBuffer commandBuffer,
11602 uint32_t viewportCount,
11603 const VkViewport* pViewports);
11605 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissorWithCountEXT(
11606 VkCommandBuffer commandBuffer,
11607 uint32_t scissorCount,
11608 const VkRect2D* pScissors);
11610 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers2EXT(
11611 VkCommandBuffer commandBuffer,
11612 uint32_t firstBinding,
11613 uint32_t bindingCount,
11614 const VkBuffer* pBuffers,
11615 const VkDeviceSize* pOffsets,
11616 const VkDeviceSize* pSizes,
11617 const VkDeviceSize* pStrides);
11619 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthTestEnableEXT(
11620 VkCommandBuffer commandBuffer,
11621 VkBool32 depthTestEnable);
11623 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthWriteEnableEXT(
11624 VkCommandBuffer commandBuffer,
11625 VkBool32 depthWriteEnable);
11627 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthCompareOpEXT(
11628 VkCommandBuffer commandBuffer,
11629 VkCompareOp depthCompareOp);
11631 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBoundsTestEnableEXT(
11632 VkCommandBuffer commandBuffer,
11633 VkBool32 depthBoundsTestEnable);
11635 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilTestEnableEXT(
11636 VkCommandBuffer commandBuffer,
11637 VkBool32 stencilTestEnable);
11639 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilOpEXT(
11640 VkCommandBuffer commandBuffer,
11641 VkStencilFaceFlags faceMask,
11642 VkStencilOp failOp,
11643 VkStencilOp passOp,
11644 VkStencilOp depthFailOp,
11645 VkCompareOp compareOp);
11649 #define VK_EXT_shader_atomic_float2 1
11650 #define VK_EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION 1
11651 #define VK_EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME "VK_EXT_shader_atomic_float2"
11652 typedef struct VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT {
11653 VkStructureType sType;
11655 VkBool32 shaderBufferFloat16Atomics;
11656 VkBool32 shaderBufferFloat16AtomicAdd;
11657 VkBool32 shaderBufferFloat16AtomicMinMax;
11658 VkBool32 shaderBufferFloat32AtomicMinMax;
11659 VkBool32 shaderBufferFloat64AtomicMinMax;
11660 VkBool32 shaderSharedFloat16Atomics;
11661 VkBool32 shaderSharedFloat16AtomicAdd;
11662 VkBool32 shaderSharedFloat16AtomicMinMax;
11663 VkBool32 shaderSharedFloat32AtomicMinMax;
11664 VkBool32 shaderSharedFloat64AtomicMinMax;
11665 VkBool32 shaderImageFloat32AtomicMinMax;
11666 VkBool32 sparseImageFloat32AtomicMinMax;
11667 } VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT;
11671 #define VK_EXT_shader_demote_to_helper_invocation 1
11672 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION 1
11673 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME "VK_EXT_shader_demote_to_helper_invocation"
11674 typedef struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT {
11675 VkStructureType sType;
11677 VkBool32 shaderDemoteToHelperInvocation;
11678 } VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT;
11682 #define VK_NV_device_generated_commands 1
11683 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutNV)
11684 #define VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION 3
11685 #define VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_NV_device_generated_commands"
11687 typedef enum VkIndirectCommandsTokenTypeNV {
11688 VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV = 0,
11689 VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV = 1,
11690 VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV = 2,
11691 VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV = 3,
11692 VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV = 4,
11693 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV = 5,
11694 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV = 6,
11695 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV = 7,
11696 VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
11697 } VkIndirectCommandsTokenTypeNV;
11699 typedef enum VkIndirectStateFlagBitsNV {
11700 VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV = 0x00000001,
11701 VK_INDIRECT_STATE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
11702 } VkIndirectStateFlagBitsNV;
11703 typedef VkFlags VkIndirectStateFlagsNV;
11705 typedef enum VkIndirectCommandsLayoutUsageFlagBitsNV {
11706 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV = 0x00000001,
11707 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV = 0x00000002,
11708 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV = 0x00000004,
11709 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
11710 } VkIndirectCommandsLayoutUsageFlagBitsNV;
11711 typedef VkFlags VkIndirectCommandsLayoutUsageFlagsNV;
11712 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
11713 VkStructureType sType;
11715 uint32_t maxGraphicsShaderGroupCount;
11716 uint32_t maxIndirectSequenceCount;
11717 uint32_t maxIndirectCommandsTokenCount;
11718 uint32_t maxIndirectCommandsStreamCount;
11719 uint32_t maxIndirectCommandsTokenOffset;
11720 uint32_t maxIndirectCommandsStreamStride;
11721 uint32_t minSequencesCountBufferOffsetAlignment;
11722 uint32_t minSequencesIndexBufferOffsetAlignment;
11723 uint32_t minIndirectCommandsBufferOffsetAlignment;
11724 } VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV;
11726 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
11727 VkStructureType sType;
11729 VkBool32 deviceGeneratedCommands;
11730 } VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV;
11732 typedef struct VkGraphicsShaderGroupCreateInfoNV {
11733 VkStructureType sType;
11735 uint32_t stageCount;
11736 const VkPipelineShaderStageCreateInfo* pStages;
11737 const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
11738 const VkPipelineTessellationStateCreateInfo* pTessellationState;
11739 } VkGraphicsShaderGroupCreateInfoNV;
11741 typedef struct VkGraphicsPipelineShaderGroupsCreateInfoNV {
11742 VkStructureType sType;
11744 uint32_t groupCount;
11745 const VkGraphicsShaderGroupCreateInfoNV* pGroups;
11746 uint32_t pipelineCount;
11747 const VkPipeline* pPipelines;
11748 } VkGraphicsPipelineShaderGroupsCreateInfoNV;
11750 typedef struct VkBindShaderGroupIndirectCommandNV {
11751 uint32_t groupIndex;
11752 } VkBindShaderGroupIndirectCommandNV;
11754 typedef struct VkBindIndexBufferIndirectCommandNV {
11755 VkDeviceAddress bufferAddress;
11757 VkIndexType indexType;
11758 } VkBindIndexBufferIndirectCommandNV;
11760 typedef struct VkBindVertexBufferIndirectCommandNV {
11761 VkDeviceAddress bufferAddress;
11764 } VkBindVertexBufferIndirectCommandNV;
11766 typedef struct VkSetStateFlagsIndirectCommandNV {
11768 } VkSetStateFlagsIndirectCommandNV;
11770 typedef struct VkIndirectCommandsStreamNV {
11772 VkDeviceSize offset;
11773 } VkIndirectCommandsStreamNV;
11775 typedef struct VkIndirectCommandsLayoutTokenNV {
11776 VkStructureType sType;
11778 VkIndirectCommandsTokenTypeNV tokenType;
11781 uint32_t vertexBindingUnit;
11782 VkBool32 vertexDynamicStride;
11783 VkPipelineLayout pushconstantPipelineLayout;
11784 VkShaderStageFlags pushconstantShaderStageFlags;
11785 uint32_t pushconstantOffset;
11786 uint32_t pushconstantSize;
11787 VkIndirectStateFlagsNV indirectStateFlags;
11788 uint32_t indexTypeCount;
11789 const VkIndexType* pIndexTypes;
11790 const uint32_t* pIndexTypeValues;
11791 } VkIndirectCommandsLayoutTokenNV;
11793 typedef struct VkIndirectCommandsLayoutCreateInfoNV {
11794 VkStructureType sType;
11796 VkIndirectCommandsLayoutUsageFlagsNV flags;
11797 VkPipelineBindPoint pipelineBindPoint;
11798 uint32_t tokenCount;
11799 const VkIndirectCommandsLayoutTokenNV* pTokens;
11800 uint32_t streamCount;
11801 const uint32_t* pStreamStrides;
11802 } VkIndirectCommandsLayoutCreateInfoNV;
11804 typedef struct VkGeneratedCommandsInfoNV {
11805 VkStructureType sType;
11807 VkPipelineBindPoint pipelineBindPoint;
11808 VkPipeline pipeline;
11809 VkIndirectCommandsLayoutNV indirectCommandsLayout;
11810 uint32_t streamCount;
11811 const VkIndirectCommandsStreamNV* pStreams;
11812 uint32_t sequencesCount;
11813 VkBuffer preprocessBuffer;
11814 VkDeviceSize preprocessOffset;
11815 VkDeviceSize preprocessSize;
11816 VkBuffer sequencesCountBuffer;
11817 VkDeviceSize sequencesCountOffset;
11818 VkBuffer sequencesIndexBuffer;
11819 VkDeviceSize sequencesIndexOffset;
11820 } VkGeneratedCommandsInfoNV;
11822 typedef struct VkGeneratedCommandsMemoryRequirementsInfoNV {
11823 VkStructureType sType;
11825 VkPipelineBindPoint pipelineBindPoint;
11826 VkPipeline pipeline;
11827 VkIndirectCommandsLayoutNV indirectCommandsLayout;
11828 uint32_t maxSequencesCount;
11829 } VkGeneratedCommandsMemoryRequirementsInfoNV;
11831 typedef void (VKAPI_PTR *PFN_vkGetGeneratedCommandsMemoryRequirementsNV)(VkDevice device, const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2* pMemoryRequirements);
11832 typedef void (VKAPI_PTR *PFN_vkCmdPreprocessGeneratedCommandsNV)(VkCommandBuffer commandBuffer, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
11833 typedef void (VKAPI_PTR *PFN_vkCmdExecuteGeneratedCommandsNV)(VkCommandBuffer commandBuffer, VkBool32 isPreprocessed, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
11834 typedef void (VKAPI_PTR *PFN_vkCmdBindPipelineShaderGroupNV)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline, uint32_t groupIndex);
11835 typedef VkResult (VKAPI_PTR *PFN_vkCreateIndirectCommandsLayoutNV)(VkDevice device, const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNV* pIndirectCommandsLayout);
11836 typedef void (VKAPI_PTR *PFN_vkDestroyIndirectCommandsLayoutNV)(VkDevice device, VkIndirectCommandsLayoutNV indirectCommandsLayout, const VkAllocationCallbacks* pAllocator);
11838 #ifndef VK_NO_PROTOTYPES
11839 VKAPI_ATTR void VKAPI_CALL vkGetGeneratedCommandsMemoryRequirementsNV(
11841 const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo,
11842 VkMemoryRequirements2* pMemoryRequirements);
11844 VKAPI_ATTR void VKAPI_CALL vkCmdPreprocessGeneratedCommandsNV(
11845 VkCommandBuffer commandBuffer,
11846 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
11848 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteGeneratedCommandsNV(
11849 VkCommandBuffer commandBuffer,
11850 VkBool32 isPreprocessed,
11851 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
11853 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipelineShaderGroupNV(
11854 VkCommandBuffer commandBuffer,
11855 VkPipelineBindPoint pipelineBindPoint,
11856 VkPipeline pipeline,
11857 uint32_t groupIndex);
11859 VKAPI_ATTR VkResult VKAPI_CALL vkCreateIndirectCommandsLayoutNV(
11861 const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo,
11862 const VkAllocationCallbacks* pAllocator,
11863 VkIndirectCommandsLayoutNV* pIndirectCommandsLayout);
11865 VKAPI_ATTR void VKAPI_CALL vkDestroyIndirectCommandsLayoutNV(
11867 VkIndirectCommandsLayoutNV indirectCommandsLayout,
11868 const VkAllocationCallbacks* pAllocator);
11872 #define VK_NV_inherited_viewport_scissor 1
11873 #define VK_NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION 1
11874 #define VK_NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME "VK_NV_inherited_viewport_scissor"
11875 typedef struct VkPhysicalDeviceInheritedViewportScissorFeaturesNV {
11876 VkStructureType sType;
11878 VkBool32 inheritedViewportScissor2D;
11879 } VkPhysicalDeviceInheritedViewportScissorFeaturesNV;
11881 typedef struct VkCommandBufferInheritanceViewportScissorInfoNV {
11882 VkStructureType sType;
11884 VkBool32 viewportScissor2D;
11885 uint32_t viewportDepthCount;
11886 const VkViewport* pViewportDepths;
11887 } VkCommandBufferInheritanceViewportScissorInfoNV;
11891 #define VK_EXT_texel_buffer_alignment 1
11892 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION 1
11893 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME "VK_EXT_texel_buffer_alignment"
11894 typedef struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT {
11895 VkStructureType sType;
11897 VkBool32 texelBufferAlignment;
11898 } VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT;
11900 typedef struct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT {
11901 VkStructureType sType;
11903 VkDeviceSize storageTexelBufferOffsetAlignmentBytes;
11904 VkBool32 storageTexelBufferOffsetSingleTexelAlignment;
11905 VkDeviceSize uniformTexelBufferOffsetAlignmentBytes;
11906 VkBool32 uniformTexelBufferOffsetSingleTexelAlignment;
11907 } VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT;
11911 #define VK_QCOM_render_pass_transform 1
11912 #define VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION 2
11913 #define VK_QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME "VK_QCOM_render_pass_transform"
11914 typedef struct VkRenderPassTransformBeginInfoQCOM {
11915 VkStructureType sType;
11917 VkSurfaceTransformFlagBitsKHR transform;
11918 } VkRenderPassTransformBeginInfoQCOM;
11920 typedef struct VkCommandBufferInheritanceRenderPassTransformInfoQCOM {
11921 VkStructureType sType;
11923 VkSurfaceTransformFlagBitsKHR transform;
11924 VkRect2D renderArea;
11925 } VkCommandBufferInheritanceRenderPassTransformInfoQCOM;
11929 #define VK_EXT_device_memory_report 1
11930 #define VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION 2
11931 #define VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME "VK_EXT_device_memory_report"
11933 typedef enum VkDeviceMemoryReportEventTypeEXT {
11934 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT = 0,
11935 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT = 1,
11936 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT = 2,
11937 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT = 3,
11938 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT = 4,
11939 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
11940 } VkDeviceMemoryReportEventTypeEXT;
11941 typedef VkFlags VkDeviceMemoryReportFlagsEXT;
11942 typedef struct VkPhysicalDeviceDeviceMemoryReportFeaturesEXT {
11943 VkStructureType sType;
11945 VkBool32 deviceMemoryReport;
11946 } VkPhysicalDeviceDeviceMemoryReportFeaturesEXT;
11948 typedef struct VkDeviceMemoryReportCallbackDataEXT {
11949 VkStructureType sType;
11951 VkDeviceMemoryReportFlagsEXT flags;
11952 VkDeviceMemoryReportEventTypeEXT type;
11953 uint64_t memoryObjectId;
11955 VkObjectType objectType;
11956 uint64_t objectHandle;
11957 uint32_t heapIndex;
11958 } VkDeviceMemoryReportCallbackDataEXT;
11960 typedef void (VKAPI_PTR *PFN_vkDeviceMemoryReportCallbackEXT)(
11961 const VkDeviceMemoryReportCallbackDataEXT* pCallbackData,
11964 typedef struct VkDeviceDeviceMemoryReportCreateInfoEXT {
11965 VkStructureType sType;
11967 VkDeviceMemoryReportFlagsEXT flags;
11968 PFN_vkDeviceMemoryReportCallbackEXT pfnUserCallback;
11970 } VkDeviceDeviceMemoryReportCreateInfoEXT;
11974 #define VK_EXT_acquire_drm_display 1
11975 #define VK_EXT_ACQUIRE_DRM_DISPLAY_SPEC_VERSION 1
11976 #define VK_EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME "VK_EXT_acquire_drm_display"
11977 typedef VkResult (VKAPI_PTR *PFN_vkAcquireDrmDisplayEXT)(VkPhysicalDevice physicalDevice, int32_t drmFd, VkDisplayKHR display);
11978 typedef VkResult (VKAPI_PTR *PFN_vkGetDrmDisplayEXT)(VkPhysicalDevice physicalDevice, int32_t drmFd, uint32_t connectorId, VkDisplayKHR* display);
11980 #ifndef VK_NO_PROTOTYPES
11981 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireDrmDisplayEXT(
11982 VkPhysicalDevice physicalDevice,
11984 VkDisplayKHR display);
11986 VKAPI_ATTR VkResult VKAPI_CALL vkGetDrmDisplayEXT(
11987 VkPhysicalDevice physicalDevice,
11989 uint32_t connectorId,
11990 VkDisplayKHR* display);
11994 #define VK_EXT_robustness2 1
11995 #define VK_EXT_ROBUSTNESS_2_SPEC_VERSION 1
11996 #define VK_EXT_ROBUSTNESS_2_EXTENSION_NAME "VK_EXT_robustness2"
11997 typedef struct VkPhysicalDeviceRobustness2FeaturesEXT {
11998 VkStructureType sType;
12000 VkBool32 robustBufferAccess2;
12001 VkBool32 robustImageAccess2;
12002 VkBool32 nullDescriptor;
12003 } VkPhysicalDeviceRobustness2FeaturesEXT;
12005 typedef struct VkPhysicalDeviceRobustness2PropertiesEXT {
12006 VkStructureType sType;
12008 VkDeviceSize robustStorageBufferAccessSizeAlignment;
12009 VkDeviceSize robustUniformBufferAccessSizeAlignment;
12010 } VkPhysicalDeviceRobustness2PropertiesEXT;
12014 #define VK_EXT_custom_border_color 1
12015 #define VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION 12
12016 #define VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME "VK_EXT_custom_border_color"
12017 typedef struct VkSamplerCustomBorderColorCreateInfoEXT {
12018 VkStructureType sType;
12020 VkClearColorValue customBorderColor;
12022 } VkSamplerCustomBorderColorCreateInfoEXT;
12024 typedef struct VkPhysicalDeviceCustomBorderColorPropertiesEXT {
12025 VkStructureType sType;
12027 uint32_t maxCustomBorderColorSamplers;
12028 } VkPhysicalDeviceCustomBorderColorPropertiesEXT;
12030 typedef struct VkPhysicalDeviceCustomBorderColorFeaturesEXT {
12031 VkStructureType sType;
12033 VkBool32 customBorderColors;
12034 VkBool32 customBorderColorWithoutFormat;
12035 } VkPhysicalDeviceCustomBorderColorFeaturesEXT;
12039 #define VK_GOOGLE_user_type 1
12040 #define VK_GOOGLE_USER_TYPE_SPEC_VERSION 1
12041 #define VK_GOOGLE_USER_TYPE_EXTENSION_NAME "VK_GOOGLE_user_type"
12044 #define VK_EXT_private_data 1
12045 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPrivateDataSlotEXT)
12046 #define VK_EXT_PRIVATE_DATA_SPEC_VERSION 1
12047 #define VK_EXT_PRIVATE_DATA_EXTENSION_NAME "VK_EXT_private_data"
12049 typedef enum VkPrivateDataSlotCreateFlagBitsEXT {
12050 VK_PRIVATE_DATA_SLOT_CREATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
12051 } VkPrivateDataSlotCreateFlagBitsEXT;
12052 typedef VkFlags VkPrivateDataSlotCreateFlagsEXT;
12053 typedef struct VkPhysicalDevicePrivateDataFeaturesEXT {
12054 VkStructureType sType;
12056 VkBool32 privateData;
12057 } VkPhysicalDevicePrivateDataFeaturesEXT;
12059 typedef struct VkDevicePrivateDataCreateInfoEXT {
12060 VkStructureType sType;
12062 uint32_t privateDataSlotRequestCount;
12063 } VkDevicePrivateDataCreateInfoEXT;
12065 typedef struct VkPrivateDataSlotCreateInfoEXT {
12066 VkStructureType sType;
12068 VkPrivateDataSlotCreateFlagsEXT flags;
12069 } VkPrivateDataSlotCreateInfoEXT;
12071 typedef VkResult (VKAPI_PTR *PFN_vkCreatePrivateDataSlotEXT)(VkDevice device, const VkPrivateDataSlotCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlotEXT* pPrivateDataSlot);
12072 typedef void (VKAPI_PTR *PFN_vkDestroyPrivateDataSlotEXT)(VkDevice device, VkPrivateDataSlotEXT privateDataSlot, const VkAllocationCallbacks* pAllocator);
12073 typedef VkResult (VKAPI_PTR *PFN_vkSetPrivateDataEXT)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlotEXT privateDataSlot, uint64_t data);
12074 typedef void (VKAPI_PTR *PFN_vkGetPrivateDataEXT)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlotEXT privateDataSlot, uint64_t* pData);
12076 #ifndef VK_NO_PROTOTYPES
12077 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePrivateDataSlotEXT(
12079 const VkPrivateDataSlotCreateInfoEXT* pCreateInfo,
12080 const VkAllocationCallbacks* pAllocator,
12081 VkPrivateDataSlotEXT* pPrivateDataSlot);
12083 VKAPI_ATTR void VKAPI_CALL vkDestroyPrivateDataSlotEXT(
12085 VkPrivateDataSlotEXT privateDataSlot,
12086 const VkAllocationCallbacks* pAllocator);
12088 VKAPI_ATTR VkResult VKAPI_CALL vkSetPrivateDataEXT(
12090 VkObjectType objectType,
12091 uint64_t objectHandle,
12092 VkPrivateDataSlotEXT privateDataSlot,
12095 VKAPI_ATTR void VKAPI_CALL vkGetPrivateDataEXT(
12097 VkObjectType objectType,
12098 uint64_t objectHandle,
12099 VkPrivateDataSlotEXT privateDataSlot,
12104 #define VK_EXT_pipeline_creation_cache_control 1
12105 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION 3
12106 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME "VK_EXT_pipeline_creation_cache_control"
12107 typedef struct VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT {
12108 VkStructureType sType;
12110 VkBool32 pipelineCreationCacheControl;
12111 } VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT;
12115 #define VK_NV_device_diagnostics_config 1
12116 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION 1
12117 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME "VK_NV_device_diagnostics_config"
12119 typedef enum VkDeviceDiagnosticsConfigFlagBitsNV {
12120 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV = 0x00000001,
12121 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV = 0x00000002,
12122 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV = 0x00000004,
12123 VK_DEVICE_DIAGNOSTICS_CONFIG_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
12124 } VkDeviceDiagnosticsConfigFlagBitsNV;
12125 typedef VkFlags VkDeviceDiagnosticsConfigFlagsNV;
12126 typedef struct VkPhysicalDeviceDiagnosticsConfigFeaturesNV {
12127 VkStructureType sType;
12129 VkBool32 diagnosticsConfig;
12130 } VkPhysicalDeviceDiagnosticsConfigFeaturesNV;
12132 typedef struct VkDeviceDiagnosticsConfigCreateInfoNV {
12133 VkStructureType sType;
12135 VkDeviceDiagnosticsConfigFlagsNV flags;
12136 } VkDeviceDiagnosticsConfigCreateInfoNV;
12140 #define VK_QCOM_render_pass_store_ops 1
12141 #define VK_QCOM_RENDER_PASS_STORE_OPS_SPEC_VERSION 2
12142 #define VK_QCOM_RENDER_PASS_STORE_OPS_EXTENSION_NAME "VK_QCOM_render_pass_store_ops"
12145 #define VK_NV_fragment_shading_rate_enums 1
12146 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION 1
12147 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME "VK_NV_fragment_shading_rate_enums"
12149 typedef enum VkFragmentShadingRateTypeNV {
12150 VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV = 0,
12151 VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV = 1,
12152 VK_FRAGMENT_SHADING_RATE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
12153 } VkFragmentShadingRateTypeNV;
12155 typedef enum VkFragmentShadingRateNV {
12156 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV = 0,
12157 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV = 1,
12158 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV = 4,
12159 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV = 5,
12160 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV = 6,
12161 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV = 9,
12162 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV = 10,
12163 VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV = 11,
12164 VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV = 12,
12165 VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV = 13,
12166 VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV = 14,
12167 VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV = 15,
12168 VK_FRAGMENT_SHADING_RATE_MAX_ENUM_NV = 0x7FFFFFFF
12169 } VkFragmentShadingRateNV;
12170 typedef struct VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV {
12171 VkStructureType sType;
12173 VkBool32 fragmentShadingRateEnums;
12174 VkBool32 supersampleFragmentShadingRates;
12175 VkBool32 noInvocationFragmentShadingRates;
12176 } VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV;
12178 typedef struct VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV {
12179 VkStructureType sType;
12181 VkSampleCountFlagBits maxFragmentShadingRateInvocationCount;
12182 } VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV;
12184 typedef struct VkPipelineFragmentShadingRateEnumStateCreateInfoNV {
12185 VkStructureType sType;
12187 VkFragmentShadingRateTypeNV shadingRateType;
12188 VkFragmentShadingRateNV shadingRate;
12189 VkFragmentShadingRateCombinerOpKHR combinerOps[2];
12190 } VkPipelineFragmentShadingRateEnumStateCreateInfoNV;
12192 typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateEnumNV)(VkCommandBuffer commandBuffer, VkFragmentShadingRateNV shadingRate, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
12194 #ifndef VK_NO_PROTOTYPES
12195 VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateEnumNV(
12196 VkCommandBuffer commandBuffer,
12197 VkFragmentShadingRateNV shadingRate,
12198 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
12202 #define VK_NV_ray_tracing_motion_blur 1
12203 #define VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION 1
12204 #define VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME "VK_NV_ray_tracing_motion_blur"
12206 typedef enum VkAccelerationStructureMotionInstanceTypeNV {
12207 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_STATIC_NV = 0,
12208 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MATRIX_MOTION_NV = 1,
12209 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_SRT_MOTION_NV = 2,
12210 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
12211 } VkAccelerationStructureMotionInstanceTypeNV;
12212 typedef VkFlags VkAccelerationStructureMotionInfoFlagsNV;
12213 typedef VkFlags VkAccelerationStructureMotionInstanceFlagsNV;
12214 typedef union VkDeviceOrHostAddressConstKHR {
12215 VkDeviceAddress deviceAddress;
12216 const void* hostAddress;
12217 } VkDeviceOrHostAddressConstKHR;
12219 typedef struct VkAccelerationStructureGeometryMotionTrianglesDataNV {
12220 VkStructureType sType;
12222 VkDeviceOrHostAddressConstKHR vertexData;
12223 } VkAccelerationStructureGeometryMotionTrianglesDataNV;
12225 typedef struct VkAccelerationStructureMotionInfoNV {
12226 VkStructureType sType;
12228 uint32_t maxInstances;
12229 VkAccelerationStructureMotionInfoFlagsNV flags;
12230 } VkAccelerationStructureMotionInfoNV;
12232 typedef struct VkAccelerationStructureMatrixMotionInstanceNV {
12233 VkTransformMatrixKHR transformT0;
12234 VkTransformMatrixKHR transformT1;
12235 uint32_t instanceCustomIndex:24;
12237 uint32_t instanceShaderBindingTableRecordOffset:24;
12238 VkGeometryInstanceFlagsKHR flags:8;
12239 uint64_t accelerationStructureReference;
12240 } VkAccelerationStructureMatrixMotionInstanceNV;
12242 typedef struct VkSRTDataNV {
12261 typedef struct VkAccelerationStructureSRTMotionInstanceNV {
12262 VkSRTDataNV transformT0;
12263 VkSRTDataNV transformT1;
12264 uint32_t instanceCustomIndex:24;
12266 uint32_t instanceShaderBindingTableRecordOffset:24;
12267 VkGeometryInstanceFlagsKHR flags:8;
12268 uint64_t accelerationStructureReference;
12269 } VkAccelerationStructureSRTMotionInstanceNV;
12271 typedef union VkAccelerationStructureMotionInstanceDataNV {
12272 VkAccelerationStructureInstanceKHR staticInstance;
12273 VkAccelerationStructureMatrixMotionInstanceNV matrixMotionInstance;
12274 VkAccelerationStructureSRTMotionInstanceNV srtMotionInstance;
12275 } VkAccelerationStructureMotionInstanceDataNV;
12277 typedef struct VkAccelerationStructureMotionInstanceNV {
12278 VkAccelerationStructureMotionInstanceTypeNV type;
12279 VkAccelerationStructureMotionInstanceFlagsNV flags;
12280 VkAccelerationStructureMotionInstanceDataNV data;
12281 } VkAccelerationStructureMotionInstanceNV;
12283 typedef struct VkPhysicalDeviceRayTracingMotionBlurFeaturesNV {
12284 VkStructureType sType;
12286 VkBool32 rayTracingMotionBlur;
12287 VkBool32 rayTracingMotionBlurPipelineTraceRaysIndirect;
12288 } VkPhysicalDeviceRayTracingMotionBlurFeaturesNV;
12292 #define VK_EXT_ycbcr_2plane_444_formats 1
12293 #define VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION 1
12294 #define VK_EXT_YCBCR_2PLANE_444_FORMATS_EXTENSION_NAME "VK_EXT_ycbcr_2plane_444_formats"
12295 typedef struct VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT {
12296 VkStructureType sType;
12298 VkBool32 ycbcr2plane444Formats;
12299 } VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT;
12303 #define VK_EXT_fragment_density_map2 1
12304 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION 1
12305 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME "VK_EXT_fragment_density_map2"
12306 typedef struct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT {
12307 VkStructureType sType;
12309 VkBool32 fragmentDensityMapDeferred;
12310 } VkPhysicalDeviceFragmentDensityMap2FeaturesEXT;
12312 typedef struct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT {
12313 VkStructureType sType;
12315 VkBool32 subsampledLoads;
12316 VkBool32 subsampledCoarseReconstructionEarlyAccess;
12317 uint32_t maxSubsampledArrayLayers;
12318 uint32_t maxDescriptorSetSubsampledSamplers;
12319 } VkPhysicalDeviceFragmentDensityMap2PropertiesEXT;
12323 #define VK_QCOM_rotated_copy_commands 1
12324 #define VK_QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION 1
12325 #define VK_QCOM_ROTATED_COPY_COMMANDS_EXTENSION_NAME "VK_QCOM_rotated_copy_commands"
12326 typedef struct VkCopyCommandTransformInfoQCOM {
12327 VkStructureType sType;
12329 VkSurfaceTransformFlagBitsKHR transform;
12330 } VkCopyCommandTransformInfoQCOM;
12334 #define VK_EXT_image_robustness 1
12335 #define VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION 1
12336 #define VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_image_robustness"
12337 typedef struct VkPhysicalDeviceImageRobustnessFeaturesEXT {
12338 VkStructureType sType;
12340 VkBool32 robustImageAccess;
12341 } VkPhysicalDeviceImageRobustnessFeaturesEXT;
12345 #define VK_EXT_4444_formats 1
12346 #define VK_EXT_4444_FORMATS_SPEC_VERSION 1
12347 #define VK_EXT_4444_FORMATS_EXTENSION_NAME "VK_EXT_4444_formats"
12348 typedef struct VkPhysicalDevice4444FormatsFeaturesEXT {
12349 VkStructureType sType;
12351 VkBool32 formatA4R4G4B4;
12352 VkBool32 formatA4B4G4R4;
12353 } VkPhysicalDevice4444FormatsFeaturesEXT;
12357 #define VK_NV_acquire_winrt_display 1
12358 #define VK_NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION 1
12359 #define VK_NV_ACQUIRE_WINRT_DISPLAY_EXTENSION_NAME "VK_NV_acquire_winrt_display"
12360 typedef VkResult (VKAPI_PTR *PFN_vkAcquireWinrtDisplayNV)(VkPhysicalDevice physicalDevice, VkDisplayKHR display);
12361 typedef VkResult (VKAPI_PTR *PFN_vkGetWinrtDisplayNV)(VkPhysicalDevice physicalDevice, uint32_t deviceRelativeId, VkDisplayKHR* pDisplay);
12363 #ifndef VK_NO_PROTOTYPES
12364 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireWinrtDisplayNV(
12365 VkPhysicalDevice physicalDevice,
12366 VkDisplayKHR display);
12368 VKAPI_ATTR VkResult VKAPI_CALL vkGetWinrtDisplayNV(
12369 VkPhysicalDevice physicalDevice,
12370 uint32_t deviceRelativeId,
12371 VkDisplayKHR* pDisplay);
12375 #define VK_VALVE_mutable_descriptor_type 1
12376 #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION 1
12377 #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME "VK_VALVE_mutable_descriptor_type"
12378 typedef struct VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE {
12379 VkStructureType sType;
12381 VkBool32 mutableDescriptorType;
12382 } VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE;
12384 typedef struct VkMutableDescriptorTypeListVALVE {
12385 uint32_t descriptorTypeCount;
12386 const VkDescriptorType* pDescriptorTypes;
12387 } VkMutableDescriptorTypeListVALVE;
12389 typedef struct VkMutableDescriptorTypeCreateInfoVALVE {
12390 VkStructureType sType;
12392 uint32_t mutableDescriptorTypeListCount;
12393 const VkMutableDescriptorTypeListVALVE* pMutableDescriptorTypeLists;
12394 } VkMutableDescriptorTypeCreateInfoVALVE;
12398 #define VK_EXT_vertex_input_dynamic_state 1
12399 #define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION 2
12400 #define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_vertex_input_dynamic_state"
12401 typedef struct VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT {
12402 VkStructureType sType;
12404 VkBool32 vertexInputDynamicState;
12405 } VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT;
12407 typedef struct VkVertexInputBindingDescription2EXT {
12408 VkStructureType sType;
12412 VkVertexInputRate inputRate;
12414 } VkVertexInputBindingDescription2EXT;
12416 typedef struct VkVertexInputAttributeDescription2EXT {
12417 VkStructureType sType;
12423 } VkVertexInputAttributeDescription2EXT;
12425 typedef void (VKAPI_PTR *PFN_vkCmdSetVertexInputEXT)(VkCommandBuffer commandBuffer, uint32_t vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, uint32_t vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions);
12427 #ifndef VK_NO_PROTOTYPES
12428 VKAPI_ATTR void VKAPI_CALL vkCmdSetVertexInputEXT(
12429 VkCommandBuffer commandBuffer,
12430 uint32_t vertexBindingDescriptionCount,
12431 const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions,
12432 uint32_t vertexAttributeDescriptionCount,
12433 const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions);
12437 #define VK_EXT_physical_device_drm 1
12438 #define VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION 1
12439 #define VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME "VK_EXT_physical_device_drm"
12440 typedef struct VkPhysicalDeviceDrmPropertiesEXT {
12441 VkStructureType sType;
12443 VkBool32 hasPrimary;
12444 VkBool32 hasRender;
12445 int64_t primaryMajor;
12446 int64_t primaryMinor;
12447 int64_t renderMajor;
12448 int64_t renderMinor;
12449 } VkPhysicalDeviceDrmPropertiesEXT;
12453 #define VK_HUAWEI_subpass_shading 1
12454 #define VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION 2
12455 #define VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME "VK_HUAWEI_subpass_shading"
12456 typedef struct VkSubpassShadingPipelineCreateInfoHUAWEI {
12457 VkStructureType sType;
12459 VkRenderPass renderPass;
12461 } VkSubpassShadingPipelineCreateInfoHUAWEI;
12463 typedef struct VkPhysicalDeviceSubpassShadingFeaturesHUAWEI {
12464 VkStructureType sType;
12466 VkBool32 subpassShading;
12467 } VkPhysicalDeviceSubpassShadingFeaturesHUAWEI;
12469 typedef struct VkPhysicalDeviceSubpassShadingPropertiesHUAWEI {
12470 VkStructureType sType;
12472 uint32_t maxSubpassShadingWorkgroupSizeAspectRatio;
12473 } VkPhysicalDeviceSubpassShadingPropertiesHUAWEI;
12475 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI)(VkDevice device, VkRenderPass renderpass, VkExtent2D* pMaxWorkgroupSize);
12476 typedef void (VKAPI_PTR *PFN_vkCmdSubpassShadingHUAWEI)(VkCommandBuffer commandBuffer);
12478 #ifndef VK_NO_PROTOTYPES
12479 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(
12481 VkRenderPass renderpass,
12482 VkExtent2D* pMaxWorkgroupSize);
12484 VKAPI_ATTR void VKAPI_CALL vkCmdSubpassShadingHUAWEI(
12485 VkCommandBuffer commandBuffer);
12489 #define VK_HUAWEI_invocation_mask 1
12490 #define VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION 1
12491 #define VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME "VK_HUAWEI_invocation_mask"
12492 typedef struct VkPhysicalDeviceInvocationMaskFeaturesHUAWEI {
12493 VkStructureType sType;
12495 VkBool32 invocationMask;
12496 } VkPhysicalDeviceInvocationMaskFeaturesHUAWEI;
12498 typedef void (VKAPI_PTR *PFN_vkCmdBindInvocationMaskHUAWEI)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout);
12500 #ifndef VK_NO_PROTOTYPES
12501 VKAPI_ATTR void VKAPI_CALL vkCmdBindInvocationMaskHUAWEI(
12502 VkCommandBuffer commandBuffer,
12503 VkImageView imageView,
12504 VkImageLayout imageLayout);
12508 #define VK_NV_external_memory_rdma 1
12509 typedef void* VkRemoteAddressNV;
12510 #define VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION 1
12511 #define VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME "VK_NV_external_memory_rdma"
12512 typedef struct VkMemoryGetRemoteAddressInfoNV {
12513 VkStructureType sType;
12515 VkDeviceMemory memory;
12516 VkExternalMemoryHandleTypeFlagBits handleType;
12517 } VkMemoryGetRemoteAddressInfoNV;
12519 typedef struct VkPhysicalDeviceExternalMemoryRDMAFeaturesNV {
12520 VkStructureType sType;
12522 VkBool32 externalMemoryRDMA;
12523 } VkPhysicalDeviceExternalMemoryRDMAFeaturesNV;
12525 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryRemoteAddressNV)(VkDevice device, const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo, VkRemoteAddressNV* pAddress);
12527 #ifndef VK_NO_PROTOTYPES
12528 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryRemoteAddressNV(
12530 const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo,
12531 VkRemoteAddressNV* pAddress);
12535 #define VK_EXT_extended_dynamic_state2 1
12536 #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION 1
12537 #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME "VK_EXT_extended_dynamic_state2"
12538 typedef struct VkPhysicalDeviceExtendedDynamicState2FeaturesEXT {
12539 VkStructureType sType;
12541 VkBool32 extendedDynamicState2;
12542 VkBool32 extendedDynamicState2LogicOp;
12543 VkBool32 extendedDynamicState2PatchControlPoints;
12544 } VkPhysicalDeviceExtendedDynamicState2FeaturesEXT;
12546 typedef void (VKAPI_PTR *PFN_vkCmdSetPatchControlPointsEXT)(VkCommandBuffer commandBuffer, uint32_t patchControlPoints);
12547 typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizerDiscardEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable);
12548 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBiasEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable);
12549 typedef void (VKAPI_PTR *PFN_vkCmdSetLogicOpEXT)(VkCommandBuffer commandBuffer, VkLogicOp logicOp);
12550 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveRestartEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable);
12552 #ifndef VK_NO_PROTOTYPES
12553 VKAPI_ATTR void VKAPI_CALL vkCmdSetPatchControlPointsEXT(
12554 VkCommandBuffer commandBuffer,
12555 uint32_t patchControlPoints);
12557 VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizerDiscardEnableEXT(
12558 VkCommandBuffer commandBuffer,
12559 VkBool32 rasterizerDiscardEnable);
12561 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBiasEnableEXT(
12562 VkCommandBuffer commandBuffer,
12563 VkBool32 depthBiasEnable);
12565 VKAPI_ATTR void VKAPI_CALL vkCmdSetLogicOpEXT(
12566 VkCommandBuffer commandBuffer,
12567 VkLogicOp logicOp);
12569 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveRestartEnableEXT(
12570 VkCommandBuffer commandBuffer,
12571 VkBool32 primitiveRestartEnable);
12575 #define VK_EXT_color_write_enable 1
12576 #define VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION 1
12577 #define VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME "VK_EXT_color_write_enable"
12578 typedef struct VkPhysicalDeviceColorWriteEnableFeaturesEXT {
12579 VkStructureType sType;
12581 VkBool32 colorWriteEnable;
12582 } VkPhysicalDeviceColorWriteEnableFeaturesEXT;
12584 typedef struct VkPipelineColorWriteCreateInfoEXT {
12585 VkStructureType sType;
12587 uint32_t attachmentCount;
12588 const VkBool32* pColorWriteEnables;
12589 } VkPipelineColorWriteCreateInfoEXT;
12591 typedef void (VKAPI_PTR *PFN_vkCmdSetColorWriteEnableEXT)(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkBool32* pColorWriteEnables);
12593 #ifndef VK_NO_PROTOTYPES
12594 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorWriteEnableEXT(
12595 VkCommandBuffer commandBuffer,
12596 uint32_t attachmentCount,
12597 const VkBool32* pColorWriteEnables);
12601 #define VK_EXT_global_priority_query 1
12602 #define VK_MAX_GLOBAL_PRIORITY_SIZE_EXT 16U
12603 #define VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION 1
12604 #define VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME "VK_EXT_global_priority_query"
12605 typedef struct VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT {
12606 VkStructureType sType;
12608 VkBool32 globalPriorityQuery;
12609 } VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT;
12611 typedef struct VkQueueFamilyGlobalPriorityPropertiesEXT {
12612 VkStructureType sType;
12614 uint32_t priorityCount;
12615 VkQueueGlobalPriorityEXT priorities[VK_MAX_GLOBAL_PRIORITY_SIZE_EXT];
12616 } VkQueueFamilyGlobalPriorityPropertiesEXT;
12620 #define VK_EXT_multi_draw 1
12621 #define VK_EXT_MULTI_DRAW_SPEC_VERSION 1
12622 #define VK_EXT_MULTI_DRAW_EXTENSION_NAME "VK_EXT_multi_draw"
12623 typedef struct VkPhysicalDeviceMultiDrawFeaturesEXT {
12624 VkStructureType sType;
12626 VkBool32 multiDraw;
12627 } VkPhysicalDeviceMultiDrawFeaturesEXT;
12629 typedef struct VkPhysicalDeviceMultiDrawPropertiesEXT {
12630 VkStructureType sType;
12632 uint32_t maxMultiDrawCount;
12633 } VkPhysicalDeviceMultiDrawPropertiesEXT;
12635 typedef struct VkMultiDrawInfoEXT {
12636 uint32_t firstVertex;
12637 uint32_t vertexCount;
12638 } VkMultiDrawInfoEXT;
12640 typedef struct VkMultiDrawIndexedInfoEXT {
12641 uint32_t firstIndex;
12642 uint32_t indexCount;
12643 int32_t vertexOffset;
12644 } VkMultiDrawIndexedInfoEXT;
12646 typedef void (VKAPI_PTR *PFN_vkCmdDrawMultiEXT)(VkCommandBuffer commandBuffer, uint32_t drawCount, const VkMultiDrawInfoEXT* pVertexInfo, uint32_t instanceCount, uint32_t firstInstance, uint32_t stride);
12647 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);
12649 #ifndef VK_NO_PROTOTYPES
12650 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMultiEXT(
12651 VkCommandBuffer commandBuffer,
12652 uint32_t drawCount,
12653 const VkMultiDrawInfoEXT* pVertexInfo,
12654 uint32_t instanceCount,
12655 uint32_t firstInstance,
12658 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMultiIndexedEXT(
12659 VkCommandBuffer commandBuffer,
12660 uint32_t drawCount,
12661 const VkMultiDrawIndexedInfoEXT* pIndexInfo,
12662 uint32_t instanceCount,
12663 uint32_t firstInstance,
12665 const int32_t* pVertexOffset);
12669 #define VK_KHR_acceleration_structure 1
12670 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR)
12671 #define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 11
12672 #define VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME "VK_KHR_acceleration_structure"
12674 typedef enum VkBuildAccelerationStructureModeKHR {
12675 VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR = 0,
12676 VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR = 1,
12677 VK_BUILD_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
12678 } VkBuildAccelerationStructureModeKHR;
12680 typedef enum VkAccelerationStructureBuildTypeKHR {
12681 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR = 0,
12682 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR = 1,
12683 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR = 2,
12684 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
12685 } VkAccelerationStructureBuildTypeKHR;
12687 typedef enum VkAccelerationStructureCompatibilityKHR {
12688 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR = 0,
12689 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR = 1,
12690 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_MAX_ENUM_KHR = 0x7FFFFFFF
12691 } VkAccelerationStructureCompatibilityKHR;
12693 typedef enum VkAccelerationStructureCreateFlagBitsKHR {
12694 VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = 0x00000001,
12695 VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV = 0x00000004,
12696 VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
12697 } VkAccelerationStructureCreateFlagBitsKHR;
12698 typedef VkFlags VkAccelerationStructureCreateFlagsKHR;
12699 typedef union VkDeviceOrHostAddressKHR {
12700 VkDeviceAddress deviceAddress;
12702 } VkDeviceOrHostAddressKHR;
12704 typedef struct VkAccelerationStructureBuildRangeInfoKHR {
12705 uint32_t primitiveCount;
12706 uint32_t primitiveOffset;
12707 uint32_t firstVertex;
12708 uint32_t transformOffset;
12709 } VkAccelerationStructureBuildRangeInfoKHR;
12711 typedef struct VkAccelerationStructureGeometryTrianglesDataKHR {
12712 VkStructureType sType;
12714 VkFormat vertexFormat;
12715 VkDeviceOrHostAddressConstKHR vertexData;
12716 VkDeviceSize vertexStride;
12717 uint32_t maxVertex;
12718 VkIndexType indexType;
12719 VkDeviceOrHostAddressConstKHR indexData;
12720 VkDeviceOrHostAddressConstKHR transformData;
12721 } VkAccelerationStructureGeometryTrianglesDataKHR;
12723 typedef struct VkAccelerationStructureGeometryAabbsDataKHR {
12724 VkStructureType sType;
12726 VkDeviceOrHostAddressConstKHR data;
12727 VkDeviceSize stride;
12728 } VkAccelerationStructureGeometryAabbsDataKHR;
12730 typedef struct VkAccelerationStructureGeometryInstancesDataKHR {
12731 VkStructureType sType;
12733 VkBool32 arrayOfPointers;
12734 VkDeviceOrHostAddressConstKHR data;
12735 } VkAccelerationStructureGeometryInstancesDataKHR;
12737 typedef union VkAccelerationStructureGeometryDataKHR {
12738 VkAccelerationStructureGeometryTrianglesDataKHR triangles;
12739 VkAccelerationStructureGeometryAabbsDataKHR aabbs;
12740 VkAccelerationStructureGeometryInstancesDataKHR instances;
12741 } VkAccelerationStructureGeometryDataKHR;
12743 typedef struct VkAccelerationStructureGeometryKHR {
12744 VkStructureType sType;
12746 VkGeometryTypeKHR geometryType;
12747 VkAccelerationStructureGeometryDataKHR geometry;
12748 VkGeometryFlagsKHR flags;
12749 } VkAccelerationStructureGeometryKHR;
12751 typedef struct VkAccelerationStructureBuildGeometryInfoKHR {
12752 VkStructureType sType;
12754 VkAccelerationStructureTypeKHR type;
12755 VkBuildAccelerationStructureFlagsKHR flags;
12756 VkBuildAccelerationStructureModeKHR mode;
12757 VkAccelerationStructureKHR srcAccelerationStructure;
12758 VkAccelerationStructureKHR dstAccelerationStructure;
12759 uint32_t geometryCount;
12760 const VkAccelerationStructureGeometryKHR* pGeometries;
12761 const VkAccelerationStructureGeometryKHR* const* ppGeometries;
12762 VkDeviceOrHostAddressKHR scratchData;
12763 } VkAccelerationStructureBuildGeometryInfoKHR;
12765 typedef struct VkAccelerationStructureCreateInfoKHR {
12766 VkStructureType sType;
12768 VkAccelerationStructureCreateFlagsKHR createFlags;
12770 VkDeviceSize offset;
12772 VkAccelerationStructureTypeKHR type;
12773 VkDeviceAddress deviceAddress;
12774 } VkAccelerationStructureCreateInfoKHR;
12776 typedef struct VkWriteDescriptorSetAccelerationStructureKHR {
12777 VkStructureType sType;
12779 uint32_t accelerationStructureCount;
12780 const VkAccelerationStructureKHR* pAccelerationStructures;
12781 } VkWriteDescriptorSetAccelerationStructureKHR;
12783 typedef struct VkPhysicalDeviceAccelerationStructureFeaturesKHR {
12784 VkStructureType sType;
12786 VkBool32 accelerationStructure;
12787 VkBool32 accelerationStructureCaptureReplay;
12788 VkBool32 accelerationStructureIndirectBuild;
12789 VkBool32 accelerationStructureHostCommands;
12790 VkBool32 descriptorBindingAccelerationStructureUpdateAfterBind;
12791 } VkPhysicalDeviceAccelerationStructureFeaturesKHR;
12793 typedef struct VkPhysicalDeviceAccelerationStructurePropertiesKHR {
12794 VkStructureType sType;
12796 uint64_t maxGeometryCount;
12797 uint64_t maxInstanceCount;
12798 uint64_t maxPrimitiveCount;
12799 uint32_t maxPerStageDescriptorAccelerationStructures;
12800 uint32_t maxPerStageDescriptorUpdateAfterBindAccelerationStructures;
12801 uint32_t maxDescriptorSetAccelerationStructures;
12802 uint32_t maxDescriptorSetUpdateAfterBindAccelerationStructures;
12803 uint32_t minAccelerationStructureScratchOffsetAlignment;
12804 } VkPhysicalDeviceAccelerationStructurePropertiesKHR;
12806 typedef struct VkAccelerationStructureDeviceAddressInfoKHR {
12807 VkStructureType sType;
12809 VkAccelerationStructureKHR accelerationStructure;
12810 } VkAccelerationStructureDeviceAddressInfoKHR;
12812 typedef struct VkAccelerationStructureVersionInfoKHR {
12813 VkStructureType sType;
12815 const uint8_t* pVersionData;
12816 } VkAccelerationStructureVersionInfoKHR;
12818 typedef struct VkCopyAccelerationStructureToMemoryInfoKHR {
12819 VkStructureType sType;
12821 VkAccelerationStructureKHR src;
12822 VkDeviceOrHostAddressKHR dst;
12823 VkCopyAccelerationStructureModeKHR mode;
12824 } VkCopyAccelerationStructureToMemoryInfoKHR;
12826 typedef struct VkCopyMemoryToAccelerationStructureInfoKHR {
12827 VkStructureType sType;
12829 VkDeviceOrHostAddressConstKHR src;
12830 VkAccelerationStructureKHR dst;
12831 VkCopyAccelerationStructureModeKHR mode;
12832 } VkCopyMemoryToAccelerationStructureInfoKHR;
12834 typedef struct VkCopyAccelerationStructureInfoKHR {
12835 VkStructureType sType;
12837 VkAccelerationStructureKHR src;
12838 VkAccelerationStructureKHR dst;
12839 VkCopyAccelerationStructureModeKHR mode;
12840 } VkCopyAccelerationStructureInfoKHR;
12842 typedef struct VkAccelerationStructureBuildSizesInfoKHR {
12843 VkStructureType sType;
12845 VkDeviceSize accelerationStructureSize;
12846 VkDeviceSize updateScratchSize;
12847 VkDeviceSize buildScratchSize;
12848 } VkAccelerationStructureBuildSizesInfoKHR;
12850 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureKHR)(VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure);
12851 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureKHR)(VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator);
12852 typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructuresKHR)(VkCommandBuffer commandBuffer, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
12853 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);
12854 typedef VkResult (VKAPI_PTR *PFN_vkBuildAccelerationStructuresKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
12855 typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureInfoKHR* pInfo);
12856 typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureToMemoryKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
12857 typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
12858 typedef VkResult (VKAPI_PTR *PFN_vkWriteAccelerationStructuresPropertiesKHR)(VkDevice device, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, size_t dataSize, void* pData, size_t stride);
12859 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureInfoKHR* pInfo);
12860 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureToMemoryKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
12861 typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
12862 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetAccelerationStructureDeviceAddressKHR)(VkDevice device, const VkAccelerationStructureDeviceAddressInfoKHR* pInfo);
12863 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesKHR)(VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery);
12864 typedef void (VKAPI_PTR *PFN_vkGetDeviceAccelerationStructureCompatibilityKHR)(VkDevice device, const VkAccelerationStructureVersionInfoKHR* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility);
12865 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureBuildSizesKHR)(VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo, const uint32_t* pMaxPrimitiveCounts, VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo);
12867 #ifndef VK_NO_PROTOTYPES
12868 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureKHR(
12870 const VkAccelerationStructureCreateInfoKHR* pCreateInfo,
12871 const VkAllocationCallbacks* pAllocator,
12872 VkAccelerationStructureKHR* pAccelerationStructure);
12874 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureKHR(
12876 VkAccelerationStructureKHR accelerationStructure,
12877 const VkAllocationCallbacks* pAllocator);
12879 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresKHR(
12880 VkCommandBuffer commandBuffer,
12881 uint32_t infoCount,
12882 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
12883 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
12885 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresIndirectKHR(
12886 VkCommandBuffer commandBuffer,
12887 uint32_t infoCount,
12888 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
12889 const VkDeviceAddress* pIndirectDeviceAddresses,
12890 const uint32_t* pIndirectStrides,
12891 const uint32_t* const* ppMaxPrimitiveCounts);
12893 VKAPI_ATTR VkResult VKAPI_CALL vkBuildAccelerationStructuresKHR(
12895 VkDeferredOperationKHR deferredOperation,
12896 uint32_t infoCount,
12897 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
12898 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
12900 VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureKHR(
12902 VkDeferredOperationKHR deferredOperation,
12903 const VkCopyAccelerationStructureInfoKHR* pInfo);
12905 VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureToMemoryKHR(
12907 VkDeferredOperationKHR deferredOperation,
12908 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
12910 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToAccelerationStructureKHR(
12912 VkDeferredOperationKHR deferredOperation,
12913 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
12915 VKAPI_ATTR VkResult VKAPI_CALL vkWriteAccelerationStructuresPropertiesKHR(
12917 uint32_t accelerationStructureCount,
12918 const VkAccelerationStructureKHR* pAccelerationStructures,
12919 VkQueryType queryType,
12924 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureKHR(
12925 VkCommandBuffer commandBuffer,
12926 const VkCopyAccelerationStructureInfoKHR* pInfo);
12928 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureToMemoryKHR(
12929 VkCommandBuffer commandBuffer,
12930 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
12932 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToAccelerationStructureKHR(
12933 VkCommandBuffer commandBuffer,
12934 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
12936 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetAccelerationStructureDeviceAddressKHR(
12938 const VkAccelerationStructureDeviceAddressInfoKHR* pInfo);
12940 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesKHR(
12941 VkCommandBuffer commandBuffer,
12942 uint32_t accelerationStructureCount,
12943 const VkAccelerationStructureKHR* pAccelerationStructures,
12944 VkQueryType queryType,
12945 VkQueryPool queryPool,
12946 uint32_t firstQuery);
12948 VKAPI_ATTR void VKAPI_CALL vkGetDeviceAccelerationStructureCompatibilityKHR(
12950 const VkAccelerationStructureVersionInfoKHR* pVersionInfo,
12951 VkAccelerationStructureCompatibilityKHR* pCompatibility);
12953 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureBuildSizesKHR(
12955 VkAccelerationStructureBuildTypeKHR buildType,
12956 const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo,
12957 const uint32_t* pMaxPrimitiveCounts,
12958 VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo);
12962 #define VK_KHR_ray_tracing_pipeline 1
12963 #define VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION 1
12964 #define VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME "VK_KHR_ray_tracing_pipeline"
12966 typedef enum VkShaderGroupShaderKHR {
12967 VK_SHADER_GROUP_SHADER_GENERAL_KHR = 0,
12968 VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR = 1,
12969 VK_SHADER_GROUP_SHADER_ANY_HIT_KHR = 2,
12970 VK_SHADER_GROUP_SHADER_INTERSECTION_KHR = 3,
12971 VK_SHADER_GROUP_SHADER_MAX_ENUM_KHR = 0x7FFFFFFF
12972 } VkShaderGroupShaderKHR;
12973 typedef struct VkRayTracingShaderGroupCreateInfoKHR {
12974 VkStructureType sType;
12976 VkRayTracingShaderGroupTypeKHR type;
12977 uint32_t generalShader;
12978 uint32_t closestHitShader;
12979 uint32_t anyHitShader;
12980 uint32_t intersectionShader;
12981 const void* pShaderGroupCaptureReplayHandle;
12982 } VkRayTracingShaderGroupCreateInfoKHR;
12984 typedef struct VkRayTracingPipelineInterfaceCreateInfoKHR {
12985 VkStructureType sType;
12987 uint32_t maxPipelineRayPayloadSize;
12988 uint32_t maxPipelineRayHitAttributeSize;
12989 } VkRayTracingPipelineInterfaceCreateInfoKHR;
12991 typedef struct VkRayTracingPipelineCreateInfoKHR {
12992 VkStructureType sType;
12994 VkPipelineCreateFlags flags;
12995 uint32_t stageCount;
12996 const VkPipelineShaderStageCreateInfo* pStages;
12997 uint32_t groupCount;
12998 const VkRayTracingShaderGroupCreateInfoKHR* pGroups;
12999 uint32_t maxPipelineRayRecursionDepth;
13000 const VkPipelineLibraryCreateInfoKHR* pLibraryInfo;
13001 const VkRayTracingPipelineInterfaceCreateInfoKHR* pLibraryInterface;
13002 const VkPipelineDynamicStateCreateInfo* pDynamicState;
13003 VkPipelineLayout layout;
13004 VkPipeline basePipelineHandle;
13005 int32_t basePipelineIndex;
13006 } VkRayTracingPipelineCreateInfoKHR;
13008 typedef struct VkPhysicalDeviceRayTracingPipelineFeaturesKHR {
13009 VkStructureType sType;
13011 VkBool32 rayTracingPipeline;
13012 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplay;
13013 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplayMixed;
13014 VkBool32 rayTracingPipelineTraceRaysIndirect;
13015 VkBool32 rayTraversalPrimitiveCulling;
13016 } VkPhysicalDeviceRayTracingPipelineFeaturesKHR;
13018 typedef struct VkPhysicalDeviceRayTracingPipelinePropertiesKHR {
13019 VkStructureType sType;
13021 uint32_t shaderGroupHandleSize;
13022 uint32_t maxRayRecursionDepth;
13023 uint32_t maxShaderGroupStride;
13024 uint32_t shaderGroupBaseAlignment;
13025 uint32_t shaderGroupHandleCaptureReplaySize;
13026 uint32_t maxRayDispatchInvocationCount;
13027 uint32_t shaderGroupHandleAlignment;
13028 uint32_t maxRayHitAttributeSize;
13029 } VkPhysicalDeviceRayTracingPipelinePropertiesKHR;
13031 typedef struct VkStridedDeviceAddressRegionKHR {
13032 VkDeviceAddress deviceAddress;
13033 VkDeviceSize stride;
13035 } VkStridedDeviceAddressRegionKHR;
13037 typedef struct VkTraceRaysIndirectCommandKHR {
13041 } VkTraceRaysIndirectCommandKHR;
13043 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);
13044 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
13045 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData);
13046 typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysIndirectKHR)(VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, VkDeviceAddress indirectDeviceAddress);
13047 typedef VkDeviceSize (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupStackSizeKHR)(VkDevice device, VkPipeline pipeline, uint32_t group, VkShaderGroupShaderKHR groupShader);
13048 typedef void (VKAPI_PTR *PFN_vkCmdSetRayTracingPipelineStackSizeKHR)(VkCommandBuffer commandBuffer, uint32_t pipelineStackSize);
13050 #ifndef VK_NO_PROTOTYPES
13051 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysKHR(
13052 VkCommandBuffer commandBuffer,
13053 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable,
13054 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable,
13055 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable,
13056 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable,
13061 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesKHR(
13063 VkDeferredOperationKHR deferredOperation,
13064 VkPipelineCache pipelineCache,
13065 uint32_t createInfoCount,
13066 const VkRayTracingPipelineCreateInfoKHR* pCreateInfos,
13067 const VkAllocationCallbacks* pAllocator,
13068 VkPipeline* pPipelines);
13070 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
13072 VkPipeline pipeline,
13073 uint32_t firstGroup,
13074 uint32_t groupCount,
13078 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysIndirectKHR(
13079 VkCommandBuffer commandBuffer,
13080 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable,
13081 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable,
13082 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable,
13083 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable,
13084 VkDeviceAddress indirectDeviceAddress);
13086 VKAPI_ATTR VkDeviceSize VKAPI_CALL vkGetRayTracingShaderGroupStackSizeKHR(
13088 VkPipeline pipeline,
13090 VkShaderGroupShaderKHR groupShader);
13092 VKAPI_ATTR void VKAPI_CALL vkCmdSetRayTracingPipelineStackSizeKHR(
13093 VkCommandBuffer commandBuffer,
13094 uint32_t pipelineStackSize);
13098 #define VK_KHR_ray_query 1
13099 #define VK_KHR_RAY_QUERY_SPEC_VERSION 1
13100 #define VK_KHR_RAY_QUERY_EXTENSION_NAME "VK_KHR_ray_query"
13101 typedef struct VkPhysicalDeviceRayQueryFeaturesKHR {
13102 VkStructureType sType;
13105 } VkPhysicalDeviceRayQueryFeaturesKHR;