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 184
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_COOPERATIVE_MATRIX_FEATURES_NV = 1000249000,
718 VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249001,
719 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249002,
720 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV = 1000250000,
721 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV = 1000250001,
722 VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV = 1000250002,
723 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT = 1000251000,
724 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT = 1000252000,
725 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT = 1000254000,
726 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT = 1000254001,
727 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT = 1000254002,
728 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT = 1000255000,
729 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT = 1000255002,
730 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT = 1000255001,
731 VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT = 1000256000,
732 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT = 1000259000,
733 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT = 1000259001,
734 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT = 1000259002,
735 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT = 1000260000,
736 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT = 1000265000,
737 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT = 1000267000,
738 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR = 1000269000,
739 VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR = 1000269001,
740 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR = 1000269002,
741 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR = 1000269003,
742 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR = 1000269004,
743 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR = 1000269005,
744 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = 1000276000,
745 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV = 1000277000,
746 VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV = 1000277001,
747 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV = 1000277002,
748 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV = 1000277003,
749 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV = 1000277004,
750 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV = 1000277005,
751 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV = 1000277006,
752 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV = 1000277007,
753 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV = 1000278000,
754 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV = 1000278001,
755 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT = 1000281000,
756 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT = 1000281001,
757 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM = 1000282000,
758 VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM = 1000282001,
759 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT = 1000284000,
760 VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT = 1000284001,
761 VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT = 1000284002,
762 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT = 1000286000,
763 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT = 1000286001,
764 VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT = 1000287000,
765 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT = 1000287001,
766 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT = 1000287002,
767 VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR = 1000290000,
768 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT = 1000295000,
769 VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT = 1000295001,
770 VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT = 1000295002,
771 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT = 1000297000,
772 #ifdef VK_ENABLE_BETA_EXTENSIONS
773 VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR = 1000299000,
775 #ifdef VK_ENABLE_BETA_EXTENSIONS
776 VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR = 1000299001,
778 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV = 1000300000,
779 VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV = 1000300001,
780 VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR = 1000314000,
781 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR = 1000314001,
782 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR = 1000314002,
783 VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR = 1000314003,
784 VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR = 1000314004,
785 VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR = 1000314005,
786 VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR = 1000314006,
787 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR = 1000314007,
788 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV = 1000314008,
789 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV = 1000314009,
790 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR = 1000323000,
791 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = 1000325000,
792 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV = 1000326000,
793 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV = 1000326001,
794 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV = 1000326002,
795 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV = 1000327000,
796 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV = 1000327001,
797 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV = 1000327002,
798 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT = 1000330000,
799 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT = 1000332000,
800 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT = 1000332001,
801 VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM = 1000333000,
802 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT = 1000335000,
803 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR = 1000336000,
804 VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR = 1000337000,
805 VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR = 1000337001,
806 VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR = 1000337002,
807 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR = 1000337003,
808 VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR = 1000337004,
809 VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR = 1000337005,
810 VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR = 1000337006,
811 VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR = 1000337007,
812 VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR = 1000337008,
813 VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR = 1000337009,
814 VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR = 1000337010,
815 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT = 1000340000,
816 VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT = 1000346000,
817 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE = 1000351000,
818 VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE = 1000351002,
819 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT = 1000352000,
820 VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT = 1000352001,
821 VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT = 1000352002,
822 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT = 1000353000,
823 VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364000,
824 VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA = 1000364001,
825 VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364002,
826 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365000,
827 VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365001,
828 VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI = 1000369000,
829 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI = 1000369001,
830 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI = 1000369002,
831 VK_STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV = 1000371000,
832 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV = 1000371001,
833 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT = 1000377000,
834 VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX = 1000378000,
835 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT = 1000381000,
836 VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT = 1000381001,
837 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT = 1000388000,
838 VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT = 1000388001,
839 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT = 1000392000,
840 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT = 1000392001,
841 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
842 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
843 VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
844 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO,
845 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES,
846 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,
847 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2,
848 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2,
849 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2,
850 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2,
851 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2,
852 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2,
853 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2,
854 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2,
855 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2,
856 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO,
857 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO,
858 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO,
859 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO,
860 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO,
861 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO,
862 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO,
863 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES,
864 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO,
865 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO,
866 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES,
867 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO,
868 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES,
869 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES,
870 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO,
871 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO,
872 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO,
873 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO,
874 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES,
875 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO,
876 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
877 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
878 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES,
879 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO,
880 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT,
881 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES,
882 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO,
883 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO,
884 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO,
885 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2,
886 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2,
887 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2,
888 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2,
889 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2,
890 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO,
891 VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_END_INFO,
892 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO,
893 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES,
894 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO,
895 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES,
896 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO,
897 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO,
898 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO,
899 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
900 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR,
901 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS,
902 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO,
903 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES,
904 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO,
905 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2,
906 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2,
907 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2,
908 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2,
909 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2,
910 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO,
911 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO,
912 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO,
913 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO,
914 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO,
915 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,
916 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,
917 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO,
918 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO,
919 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO,
920 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES,
921 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES,
922 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO,
923 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT,
924 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,
925 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT,
926 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES,
927 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES,
928 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES,
929 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES,
930 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES,
931 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES,
932 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE,
933 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES,
934 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES,
935 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO,
936 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO,
937 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO,
938 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO,
939 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL = VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL,
940 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES,
941 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES,
942 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES,
943 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT,
944 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT,
945 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT,
946 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
947 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO,
948 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES,
949 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES,
950 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
951 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO,
952 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO,
953 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO,
954 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES,
955 VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF
958 typedef enum VkImageLayout {
959 VK_IMAGE_LAYOUT_UNDEFINED = 0,
960 VK_IMAGE_LAYOUT_GENERAL = 1,
961 VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2,
962 VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3,
963 VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4,
964 VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5,
965 VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6,
966 VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7,
967 VK_IMAGE_LAYOUT_PREINITIALIZED = 8,
968 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL = 1000117000,
969 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL = 1000117001,
970 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL = 1000241000,
971 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL = 1000241001,
972 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL = 1000241002,
973 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL = 1000241003,
974 VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002,
975 #ifdef VK_ENABLE_BETA_EXTENSIONS
976 VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR = 1000024000,
978 #ifdef VK_ENABLE_BETA_EXTENSIONS
979 VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR = 1000024001,
981 #ifdef VK_ENABLE_BETA_EXTENSIONS
982 VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR = 1000024002,
984 VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR = 1000111000,
985 VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000,
986 VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003,
987 #ifdef VK_ENABLE_BETA_EXTENSIONS
988 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR = 1000299000,
990 #ifdef VK_ENABLE_BETA_EXTENSIONS
991 VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR = 1000299001,
993 #ifdef VK_ENABLE_BETA_EXTENSIONS
994 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR = 1000299002,
996 VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = 1000314000,
997 VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = 1000314001,
998 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,
999 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,
1000 VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR,
1001 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
1002 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
1003 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL,
1004 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL,
1005 VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF
1008 typedef enum VkObjectType {
1009 VK_OBJECT_TYPE_UNKNOWN = 0,
1010 VK_OBJECT_TYPE_INSTANCE = 1,
1011 VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2,
1012 VK_OBJECT_TYPE_DEVICE = 3,
1013 VK_OBJECT_TYPE_QUEUE = 4,
1014 VK_OBJECT_TYPE_SEMAPHORE = 5,
1015 VK_OBJECT_TYPE_COMMAND_BUFFER = 6,
1016 VK_OBJECT_TYPE_FENCE = 7,
1017 VK_OBJECT_TYPE_DEVICE_MEMORY = 8,
1018 VK_OBJECT_TYPE_BUFFER = 9,
1019 VK_OBJECT_TYPE_IMAGE = 10,
1020 VK_OBJECT_TYPE_EVENT = 11,
1021 VK_OBJECT_TYPE_QUERY_POOL = 12,
1022 VK_OBJECT_TYPE_BUFFER_VIEW = 13,
1023 VK_OBJECT_TYPE_IMAGE_VIEW = 14,
1024 VK_OBJECT_TYPE_SHADER_MODULE = 15,
1025 VK_OBJECT_TYPE_PIPELINE_CACHE = 16,
1026 VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17,
1027 VK_OBJECT_TYPE_RENDER_PASS = 18,
1028 VK_OBJECT_TYPE_PIPELINE = 19,
1029 VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20,
1030 VK_OBJECT_TYPE_SAMPLER = 21,
1031 VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22,
1032 VK_OBJECT_TYPE_DESCRIPTOR_SET = 23,
1033 VK_OBJECT_TYPE_FRAMEBUFFER = 24,
1034 VK_OBJECT_TYPE_COMMAND_POOL = 25,
1035 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION = 1000156000,
1036 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE = 1000085000,
1037 VK_OBJECT_TYPE_SURFACE_KHR = 1000000000,
1038 VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000,
1039 VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000,
1040 VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001,
1041 VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000,
1042 #ifdef VK_ENABLE_BETA_EXTENSIONS
1043 VK_OBJECT_TYPE_VIDEO_SESSION_KHR = 1000023000,
1045 #ifdef VK_ENABLE_BETA_EXTENSIONS
1046 VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR = 1000023001,
1048 VK_OBJECT_TYPE_CU_MODULE_NVX = 1000029000,
1049 VK_OBJECT_TYPE_CU_FUNCTION_NVX = 1000029001,
1050 VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000,
1051 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000,
1052 VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000,
1053 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000,
1054 VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL = 1000210000,
1055 VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR = 1000268000,
1056 VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV = 1000277000,
1057 VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = 1000295000,
1058 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,
1059 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,
1060 VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF
1063 typedef enum VkPipelineCacheHeaderVersion {
1064 VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1,
1065 VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF
1066 } VkPipelineCacheHeaderVersion;
1068 typedef enum VkVendorId {
1069 VK_VENDOR_ID_VIV = 0x10001,
1070 VK_VENDOR_ID_VSI = 0x10002,
1071 VK_VENDOR_ID_KAZAN = 0x10003,
1072 VK_VENDOR_ID_CODEPLAY = 0x10004,
1073 VK_VENDOR_ID_MESA = 0x10005,
1074 VK_VENDOR_ID_POCL = 0x10006,
1075 VK_VENDOR_ID_MAX_ENUM = 0x7FFFFFFF
1078 typedef enum VkSystemAllocationScope {
1079 VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0,
1080 VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1,
1081 VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2,
1082 VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3,
1083 VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4,
1084 VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = 0x7FFFFFFF
1085 } VkSystemAllocationScope;
1087 typedef enum VkInternalAllocationType {
1088 VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0,
1089 VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM = 0x7FFFFFFF
1090 } VkInternalAllocationType;
1092 typedef enum VkFormat {
1093 VK_FORMAT_UNDEFINED = 0,
1094 VK_FORMAT_R4G4_UNORM_PACK8 = 1,
1095 VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2,
1096 VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3,
1097 VK_FORMAT_R5G6B5_UNORM_PACK16 = 4,
1098 VK_FORMAT_B5G6R5_UNORM_PACK16 = 5,
1099 VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6,
1100 VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7,
1101 VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8,
1102 VK_FORMAT_R8_UNORM = 9,
1103 VK_FORMAT_R8_SNORM = 10,
1104 VK_FORMAT_R8_USCALED = 11,
1105 VK_FORMAT_R8_SSCALED = 12,
1106 VK_FORMAT_R8_UINT = 13,
1107 VK_FORMAT_R8_SINT = 14,
1108 VK_FORMAT_R8_SRGB = 15,
1109 VK_FORMAT_R8G8_UNORM = 16,
1110 VK_FORMAT_R8G8_SNORM = 17,
1111 VK_FORMAT_R8G8_USCALED = 18,
1112 VK_FORMAT_R8G8_SSCALED = 19,
1113 VK_FORMAT_R8G8_UINT = 20,
1114 VK_FORMAT_R8G8_SINT = 21,
1115 VK_FORMAT_R8G8_SRGB = 22,
1116 VK_FORMAT_R8G8B8_UNORM = 23,
1117 VK_FORMAT_R8G8B8_SNORM = 24,
1118 VK_FORMAT_R8G8B8_USCALED = 25,
1119 VK_FORMAT_R8G8B8_SSCALED = 26,
1120 VK_FORMAT_R8G8B8_UINT = 27,
1121 VK_FORMAT_R8G8B8_SINT = 28,
1122 VK_FORMAT_R8G8B8_SRGB = 29,
1123 VK_FORMAT_B8G8R8_UNORM = 30,
1124 VK_FORMAT_B8G8R8_SNORM = 31,
1125 VK_FORMAT_B8G8R8_USCALED = 32,
1126 VK_FORMAT_B8G8R8_SSCALED = 33,
1127 VK_FORMAT_B8G8R8_UINT = 34,
1128 VK_FORMAT_B8G8R8_SINT = 35,
1129 VK_FORMAT_B8G8R8_SRGB = 36,
1130 VK_FORMAT_R8G8B8A8_UNORM = 37,
1131 VK_FORMAT_R8G8B8A8_SNORM = 38,
1132 VK_FORMAT_R8G8B8A8_USCALED = 39,
1133 VK_FORMAT_R8G8B8A8_SSCALED = 40,
1134 VK_FORMAT_R8G8B8A8_UINT = 41,
1135 VK_FORMAT_R8G8B8A8_SINT = 42,
1136 VK_FORMAT_R8G8B8A8_SRGB = 43,
1137 VK_FORMAT_B8G8R8A8_UNORM = 44,
1138 VK_FORMAT_B8G8R8A8_SNORM = 45,
1139 VK_FORMAT_B8G8R8A8_USCALED = 46,
1140 VK_FORMAT_B8G8R8A8_SSCALED = 47,
1141 VK_FORMAT_B8G8R8A8_UINT = 48,
1142 VK_FORMAT_B8G8R8A8_SINT = 49,
1143 VK_FORMAT_B8G8R8A8_SRGB = 50,
1144 VK_FORMAT_A8B8G8R8_UNORM_PACK32 = 51,
1145 VK_FORMAT_A8B8G8R8_SNORM_PACK32 = 52,
1146 VK_FORMAT_A8B8G8R8_USCALED_PACK32 = 53,
1147 VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54,
1148 VK_FORMAT_A8B8G8R8_UINT_PACK32 = 55,
1149 VK_FORMAT_A8B8G8R8_SINT_PACK32 = 56,
1150 VK_FORMAT_A8B8G8R8_SRGB_PACK32 = 57,
1151 VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58,
1152 VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59,
1153 VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 60,
1154 VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61,
1155 VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62,
1156 VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63,
1157 VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64,
1158 VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65,
1159 VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 66,
1160 VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67,
1161 VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68,
1162 VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69,
1163 VK_FORMAT_R16_UNORM = 70,
1164 VK_FORMAT_R16_SNORM = 71,
1165 VK_FORMAT_R16_USCALED = 72,
1166 VK_FORMAT_R16_SSCALED = 73,
1167 VK_FORMAT_R16_UINT = 74,
1168 VK_FORMAT_R16_SINT = 75,
1169 VK_FORMAT_R16_SFLOAT = 76,
1170 VK_FORMAT_R16G16_UNORM = 77,
1171 VK_FORMAT_R16G16_SNORM = 78,
1172 VK_FORMAT_R16G16_USCALED = 79,
1173 VK_FORMAT_R16G16_SSCALED = 80,
1174 VK_FORMAT_R16G16_UINT = 81,
1175 VK_FORMAT_R16G16_SINT = 82,
1176 VK_FORMAT_R16G16_SFLOAT = 83,
1177 VK_FORMAT_R16G16B16_UNORM = 84,
1178 VK_FORMAT_R16G16B16_SNORM = 85,
1179 VK_FORMAT_R16G16B16_USCALED = 86,
1180 VK_FORMAT_R16G16B16_SSCALED = 87,
1181 VK_FORMAT_R16G16B16_UINT = 88,
1182 VK_FORMAT_R16G16B16_SINT = 89,
1183 VK_FORMAT_R16G16B16_SFLOAT = 90,
1184 VK_FORMAT_R16G16B16A16_UNORM = 91,
1185 VK_FORMAT_R16G16B16A16_SNORM = 92,
1186 VK_FORMAT_R16G16B16A16_USCALED = 93,
1187 VK_FORMAT_R16G16B16A16_SSCALED = 94,
1188 VK_FORMAT_R16G16B16A16_UINT = 95,
1189 VK_FORMAT_R16G16B16A16_SINT = 96,
1190 VK_FORMAT_R16G16B16A16_SFLOAT = 97,
1191 VK_FORMAT_R32_UINT = 98,
1192 VK_FORMAT_R32_SINT = 99,
1193 VK_FORMAT_R32_SFLOAT = 100,
1194 VK_FORMAT_R32G32_UINT = 101,
1195 VK_FORMAT_R32G32_SINT = 102,
1196 VK_FORMAT_R32G32_SFLOAT = 103,
1197 VK_FORMAT_R32G32B32_UINT = 104,
1198 VK_FORMAT_R32G32B32_SINT = 105,
1199 VK_FORMAT_R32G32B32_SFLOAT = 106,
1200 VK_FORMAT_R32G32B32A32_UINT = 107,
1201 VK_FORMAT_R32G32B32A32_SINT = 108,
1202 VK_FORMAT_R32G32B32A32_SFLOAT = 109,
1203 VK_FORMAT_R64_UINT = 110,
1204 VK_FORMAT_R64_SINT = 111,
1205 VK_FORMAT_R64_SFLOAT = 112,
1206 VK_FORMAT_R64G64_UINT = 113,
1207 VK_FORMAT_R64G64_SINT = 114,
1208 VK_FORMAT_R64G64_SFLOAT = 115,
1209 VK_FORMAT_R64G64B64_UINT = 116,
1210 VK_FORMAT_R64G64B64_SINT = 117,
1211 VK_FORMAT_R64G64B64_SFLOAT = 118,
1212 VK_FORMAT_R64G64B64A64_UINT = 119,
1213 VK_FORMAT_R64G64B64A64_SINT = 120,
1214 VK_FORMAT_R64G64B64A64_SFLOAT = 121,
1215 VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122,
1216 VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123,
1217 VK_FORMAT_D16_UNORM = 124,
1218 VK_FORMAT_X8_D24_UNORM_PACK32 = 125,
1219 VK_FORMAT_D32_SFLOAT = 126,
1220 VK_FORMAT_S8_UINT = 127,
1221 VK_FORMAT_D16_UNORM_S8_UINT = 128,
1222 VK_FORMAT_D24_UNORM_S8_UINT = 129,
1223 VK_FORMAT_D32_SFLOAT_S8_UINT = 130,
1224 VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131,
1225 VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132,
1226 VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133,
1227 VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134,
1228 VK_FORMAT_BC2_UNORM_BLOCK = 135,
1229 VK_FORMAT_BC2_SRGB_BLOCK = 136,
1230 VK_FORMAT_BC3_UNORM_BLOCK = 137,
1231 VK_FORMAT_BC3_SRGB_BLOCK = 138,
1232 VK_FORMAT_BC4_UNORM_BLOCK = 139,
1233 VK_FORMAT_BC4_SNORM_BLOCK = 140,
1234 VK_FORMAT_BC5_UNORM_BLOCK = 141,
1235 VK_FORMAT_BC5_SNORM_BLOCK = 142,
1236 VK_FORMAT_BC6H_UFLOAT_BLOCK = 143,
1237 VK_FORMAT_BC6H_SFLOAT_BLOCK = 144,
1238 VK_FORMAT_BC7_UNORM_BLOCK = 145,
1239 VK_FORMAT_BC7_SRGB_BLOCK = 146,
1240 VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147,
1241 VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148,
1242 VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149,
1243 VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150,
1244 VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151,
1245 VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152,
1246 VK_FORMAT_EAC_R11_UNORM_BLOCK = 153,
1247 VK_FORMAT_EAC_R11_SNORM_BLOCK = 154,
1248 VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155,
1249 VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156,
1250 VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157,
1251 VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158,
1252 VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159,
1253 VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160,
1254 VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161,
1255 VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162,
1256 VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163,
1257 VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164,
1258 VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165,
1259 VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166,
1260 VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167,
1261 VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168,
1262 VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169,
1263 VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170,
1264 VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171,
1265 VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172,
1266 VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173,
1267 VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174,
1268 VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175,
1269 VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176,
1270 VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177,
1271 VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178,
1272 VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179,
1273 VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180,
1274 VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181,
1275 VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182,
1276 VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183,
1277 VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184,
1278 VK_FORMAT_G8B8G8R8_422_UNORM = 1000156000,
1279 VK_FORMAT_B8G8R8G8_422_UNORM = 1000156001,
1280 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM = 1000156002,
1281 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM = 1000156003,
1282 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM = 1000156004,
1283 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM = 1000156005,
1284 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM = 1000156006,
1285 VK_FORMAT_R10X6_UNORM_PACK16 = 1000156007,
1286 VK_FORMAT_R10X6G10X6_UNORM_2PACK16 = 1000156008,
1287 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 1000156009,
1288 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 1000156010,
1289 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 1000156011,
1290 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 1000156012,
1291 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 1000156013,
1292 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 1000156014,
1293 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 1000156015,
1294 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 1000156016,
1295 VK_FORMAT_R12X4_UNORM_PACK16 = 1000156017,
1296 VK_FORMAT_R12X4G12X4_UNORM_2PACK16 = 1000156018,
1297 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 1000156019,
1298 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 1000156020,
1299 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 1000156021,
1300 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 1000156022,
1301 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 1000156023,
1302 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 1000156024,
1303 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 1000156025,
1304 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 1000156026,
1305 VK_FORMAT_G16B16G16R16_422_UNORM = 1000156027,
1306 VK_FORMAT_B16G16R16G16_422_UNORM = 1000156028,
1307 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM = 1000156029,
1308 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM = 1000156030,
1309 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM = 1000156031,
1310 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM = 1000156032,
1311 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM = 1000156033,
1312 VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG = 1000054000,
1313 VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001,
1314 VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = 1000054002,
1315 VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG = 1000054003,
1316 VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG = 1000054004,
1317 VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005,
1318 VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006,
1319 VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007,
1320 VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT = 1000066000,
1321 VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT = 1000066001,
1322 VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT = 1000066002,
1323 VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT = 1000066003,
1324 VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT = 1000066004,
1325 VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT = 1000066005,
1326 VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT = 1000066006,
1327 VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT = 1000066007,
1328 VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT = 1000066008,
1329 VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT = 1000066009,
1330 VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT = 1000066010,
1331 VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT = 1000066011,
1332 VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT = 1000066012,
1333 VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT = 1000066013,
1334 VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT = 1000330000,
1335 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT = 1000330001,
1336 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT = 1000330002,
1337 VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT = 1000330003,
1338 VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT = 1000340000,
1339 VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT = 1000340001,
1340 VK_FORMAT_G8B8G8R8_422_UNORM_KHR = VK_FORMAT_G8B8G8R8_422_UNORM,
1341 VK_FORMAT_B8G8R8G8_422_UNORM_KHR = VK_FORMAT_B8G8R8G8_422_UNORM,
1342 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM,
1343 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM,
1344 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM,
1345 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM,
1346 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM,
1347 VK_FORMAT_R10X6_UNORM_PACK16_KHR = VK_FORMAT_R10X6_UNORM_PACK16,
1348 VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR = VK_FORMAT_R10X6G10X6_UNORM_2PACK16,
1349 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16,
1350 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16,
1351 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16,
1352 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16,
1353 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16,
1354 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16,
1355 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16,
1356 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16,
1357 VK_FORMAT_R12X4_UNORM_PACK16_KHR = VK_FORMAT_R12X4_UNORM_PACK16,
1358 VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR = VK_FORMAT_R12X4G12X4_UNORM_2PACK16,
1359 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16,
1360 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16,
1361 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16,
1362 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16,
1363 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16,
1364 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16,
1365 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16,
1366 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16,
1367 VK_FORMAT_G16B16G16R16_422_UNORM_KHR = VK_FORMAT_G16B16G16R16_422_UNORM,
1368 VK_FORMAT_B16G16R16G16_422_UNORM_KHR = VK_FORMAT_B16G16R16G16_422_UNORM,
1369 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM,
1370 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM,
1371 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM,
1372 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM,
1373 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM,
1374 VK_FORMAT_MAX_ENUM = 0x7FFFFFFF
1377 typedef enum VkImageTiling {
1378 VK_IMAGE_TILING_OPTIMAL = 0,
1379 VK_IMAGE_TILING_LINEAR = 1,
1380 VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT = 1000158000,
1381 VK_IMAGE_TILING_MAX_ENUM = 0x7FFFFFFF
1384 typedef enum VkImageType {
1385 VK_IMAGE_TYPE_1D = 0,
1386 VK_IMAGE_TYPE_2D = 1,
1387 VK_IMAGE_TYPE_3D = 2,
1388 VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF
1391 typedef enum VkPhysicalDeviceType {
1392 VK_PHYSICAL_DEVICE_TYPE_OTHER = 0,
1393 VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1,
1394 VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2,
1395 VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3,
1396 VK_PHYSICAL_DEVICE_TYPE_CPU = 4,
1397 VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM = 0x7FFFFFFF
1398 } VkPhysicalDeviceType;
1400 typedef enum VkQueryType {
1401 VK_QUERY_TYPE_OCCLUSION = 0,
1402 VK_QUERY_TYPE_PIPELINE_STATISTICS = 1,
1403 VK_QUERY_TYPE_TIMESTAMP = 2,
1404 #ifdef VK_ENABLE_BETA_EXTENSIONS
1405 VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR = 1000023000,
1407 VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT = 1000028004,
1408 VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR = 1000116000,
1409 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR = 1000150000,
1410 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR = 1000150001,
1411 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV = 1000165000,
1412 VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL = 1000210000,
1413 #ifdef VK_ENABLE_BETA_EXTENSIONS
1414 VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR = 1000299000,
1416 VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF
1419 typedef enum VkSharingMode {
1420 VK_SHARING_MODE_EXCLUSIVE = 0,
1421 VK_SHARING_MODE_CONCURRENT = 1,
1422 VK_SHARING_MODE_MAX_ENUM = 0x7FFFFFFF
1425 typedef enum VkComponentSwizzle {
1426 VK_COMPONENT_SWIZZLE_IDENTITY = 0,
1427 VK_COMPONENT_SWIZZLE_ZERO = 1,
1428 VK_COMPONENT_SWIZZLE_ONE = 2,
1429 VK_COMPONENT_SWIZZLE_R = 3,
1430 VK_COMPONENT_SWIZZLE_G = 4,
1431 VK_COMPONENT_SWIZZLE_B = 5,
1432 VK_COMPONENT_SWIZZLE_A = 6,
1433 VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF
1434 } VkComponentSwizzle;
1436 typedef enum VkImageViewType {
1437 VK_IMAGE_VIEW_TYPE_1D = 0,
1438 VK_IMAGE_VIEW_TYPE_2D = 1,
1439 VK_IMAGE_VIEW_TYPE_3D = 2,
1440 VK_IMAGE_VIEW_TYPE_CUBE = 3,
1441 VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4,
1442 VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5,
1443 VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6,
1444 VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7FFFFFFF
1447 typedef enum VkBlendFactor {
1448 VK_BLEND_FACTOR_ZERO = 0,
1449 VK_BLEND_FACTOR_ONE = 1,
1450 VK_BLEND_FACTOR_SRC_COLOR = 2,
1451 VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3,
1452 VK_BLEND_FACTOR_DST_COLOR = 4,
1453 VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5,
1454 VK_BLEND_FACTOR_SRC_ALPHA = 6,
1455 VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7,
1456 VK_BLEND_FACTOR_DST_ALPHA = 8,
1457 VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9,
1458 VK_BLEND_FACTOR_CONSTANT_COLOR = 10,
1459 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11,
1460 VK_BLEND_FACTOR_CONSTANT_ALPHA = 12,
1461 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13,
1462 VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14,
1463 VK_BLEND_FACTOR_SRC1_COLOR = 15,
1464 VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16,
1465 VK_BLEND_FACTOR_SRC1_ALPHA = 17,
1466 VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18,
1467 VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF
1470 typedef enum VkBlendOp {
1471 VK_BLEND_OP_ADD = 0,
1472 VK_BLEND_OP_SUBTRACT = 1,
1473 VK_BLEND_OP_REVERSE_SUBTRACT = 2,
1474 VK_BLEND_OP_MIN = 3,
1475 VK_BLEND_OP_MAX = 4,
1476 VK_BLEND_OP_ZERO_EXT = 1000148000,
1477 VK_BLEND_OP_SRC_EXT = 1000148001,
1478 VK_BLEND_OP_DST_EXT = 1000148002,
1479 VK_BLEND_OP_SRC_OVER_EXT = 1000148003,
1480 VK_BLEND_OP_DST_OVER_EXT = 1000148004,
1481 VK_BLEND_OP_SRC_IN_EXT = 1000148005,
1482 VK_BLEND_OP_DST_IN_EXT = 1000148006,
1483 VK_BLEND_OP_SRC_OUT_EXT = 1000148007,
1484 VK_BLEND_OP_DST_OUT_EXT = 1000148008,
1485 VK_BLEND_OP_SRC_ATOP_EXT = 1000148009,
1486 VK_BLEND_OP_DST_ATOP_EXT = 1000148010,
1487 VK_BLEND_OP_XOR_EXT = 1000148011,
1488 VK_BLEND_OP_MULTIPLY_EXT = 1000148012,
1489 VK_BLEND_OP_SCREEN_EXT = 1000148013,
1490 VK_BLEND_OP_OVERLAY_EXT = 1000148014,
1491 VK_BLEND_OP_DARKEN_EXT = 1000148015,
1492 VK_BLEND_OP_LIGHTEN_EXT = 1000148016,
1493 VK_BLEND_OP_COLORDODGE_EXT = 1000148017,
1494 VK_BLEND_OP_COLORBURN_EXT = 1000148018,
1495 VK_BLEND_OP_HARDLIGHT_EXT = 1000148019,
1496 VK_BLEND_OP_SOFTLIGHT_EXT = 1000148020,
1497 VK_BLEND_OP_DIFFERENCE_EXT = 1000148021,
1498 VK_BLEND_OP_EXCLUSION_EXT = 1000148022,
1499 VK_BLEND_OP_INVERT_EXT = 1000148023,
1500 VK_BLEND_OP_INVERT_RGB_EXT = 1000148024,
1501 VK_BLEND_OP_LINEARDODGE_EXT = 1000148025,
1502 VK_BLEND_OP_LINEARBURN_EXT = 1000148026,
1503 VK_BLEND_OP_VIVIDLIGHT_EXT = 1000148027,
1504 VK_BLEND_OP_LINEARLIGHT_EXT = 1000148028,
1505 VK_BLEND_OP_PINLIGHT_EXT = 1000148029,
1506 VK_BLEND_OP_HARDMIX_EXT = 1000148030,
1507 VK_BLEND_OP_HSL_HUE_EXT = 1000148031,
1508 VK_BLEND_OP_HSL_SATURATION_EXT = 1000148032,
1509 VK_BLEND_OP_HSL_COLOR_EXT = 1000148033,
1510 VK_BLEND_OP_HSL_LUMINOSITY_EXT = 1000148034,
1511 VK_BLEND_OP_PLUS_EXT = 1000148035,
1512 VK_BLEND_OP_PLUS_CLAMPED_EXT = 1000148036,
1513 VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT = 1000148037,
1514 VK_BLEND_OP_PLUS_DARKER_EXT = 1000148038,
1515 VK_BLEND_OP_MINUS_EXT = 1000148039,
1516 VK_BLEND_OP_MINUS_CLAMPED_EXT = 1000148040,
1517 VK_BLEND_OP_CONTRAST_EXT = 1000148041,
1518 VK_BLEND_OP_INVERT_OVG_EXT = 1000148042,
1519 VK_BLEND_OP_RED_EXT = 1000148043,
1520 VK_BLEND_OP_GREEN_EXT = 1000148044,
1521 VK_BLEND_OP_BLUE_EXT = 1000148045,
1522 VK_BLEND_OP_MAX_ENUM = 0x7FFFFFFF
1525 typedef enum VkCompareOp {
1526 VK_COMPARE_OP_NEVER = 0,
1527 VK_COMPARE_OP_LESS = 1,
1528 VK_COMPARE_OP_EQUAL = 2,
1529 VK_COMPARE_OP_LESS_OR_EQUAL = 3,
1530 VK_COMPARE_OP_GREATER = 4,
1531 VK_COMPARE_OP_NOT_EQUAL = 5,
1532 VK_COMPARE_OP_GREATER_OR_EQUAL = 6,
1533 VK_COMPARE_OP_ALWAYS = 7,
1534 VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF
1537 typedef enum VkDynamicState {
1538 VK_DYNAMIC_STATE_VIEWPORT = 0,
1539 VK_DYNAMIC_STATE_SCISSOR = 1,
1540 VK_DYNAMIC_STATE_LINE_WIDTH = 2,
1541 VK_DYNAMIC_STATE_DEPTH_BIAS = 3,
1542 VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4,
1543 VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5,
1544 VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6,
1545 VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7,
1546 VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8,
1547 VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV = 1000087000,
1548 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000,
1549 VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT = 1000143000,
1550 VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR = 1000347000,
1551 VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV = 1000164004,
1552 VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV = 1000164006,
1553 VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV = 1000205001,
1554 VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR = 1000226000,
1555 VK_DYNAMIC_STATE_LINE_STIPPLE_EXT = 1000259000,
1556 VK_DYNAMIC_STATE_CULL_MODE_EXT = 1000267000,
1557 VK_DYNAMIC_STATE_FRONT_FACE_EXT = 1000267001,
1558 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = 1000267002,
1559 VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT = 1000267003,
1560 VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT = 1000267004,
1561 VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT = 1000267005,
1562 VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT = 1000267006,
1563 VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT = 1000267007,
1564 VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT = 1000267008,
1565 VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT = 1000267009,
1566 VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT = 1000267010,
1567 VK_DYNAMIC_STATE_STENCIL_OP_EXT = 1000267011,
1568 VK_DYNAMIC_STATE_VERTEX_INPUT_EXT = 1000352000,
1569 VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT = 1000377000,
1570 VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT = 1000377001,
1571 VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT = 1000377002,
1572 VK_DYNAMIC_STATE_LOGIC_OP_EXT = 1000377003,
1573 VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT = 1000377004,
1574 VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT = 1000381000,
1575 VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF
1578 typedef enum VkFrontFace {
1579 VK_FRONT_FACE_COUNTER_CLOCKWISE = 0,
1580 VK_FRONT_FACE_CLOCKWISE = 1,
1581 VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF
1584 typedef enum VkVertexInputRate {
1585 VK_VERTEX_INPUT_RATE_VERTEX = 0,
1586 VK_VERTEX_INPUT_RATE_INSTANCE = 1,
1587 VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF
1588 } VkVertexInputRate;
1590 typedef enum VkPrimitiveTopology {
1591 VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0,
1592 VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1,
1593 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2,
1594 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3,
1595 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4,
1596 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5,
1597 VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6,
1598 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7,
1599 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8,
1600 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9,
1601 VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10,
1602 VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7FFFFFFF
1603 } VkPrimitiveTopology;
1605 typedef enum VkPolygonMode {
1606 VK_POLYGON_MODE_FILL = 0,
1607 VK_POLYGON_MODE_LINE = 1,
1608 VK_POLYGON_MODE_POINT = 2,
1609 VK_POLYGON_MODE_FILL_RECTANGLE_NV = 1000153000,
1610 VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF
1613 typedef enum VkStencilOp {
1614 VK_STENCIL_OP_KEEP = 0,
1615 VK_STENCIL_OP_ZERO = 1,
1616 VK_STENCIL_OP_REPLACE = 2,
1617 VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3,
1618 VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4,
1619 VK_STENCIL_OP_INVERT = 5,
1620 VK_STENCIL_OP_INCREMENT_AND_WRAP = 6,
1621 VK_STENCIL_OP_DECREMENT_AND_WRAP = 7,
1622 VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF
1625 typedef enum VkLogicOp {
1626 VK_LOGIC_OP_CLEAR = 0,
1627 VK_LOGIC_OP_AND = 1,
1628 VK_LOGIC_OP_AND_REVERSE = 2,
1629 VK_LOGIC_OP_COPY = 3,
1630 VK_LOGIC_OP_AND_INVERTED = 4,
1631 VK_LOGIC_OP_NO_OP = 5,
1632 VK_LOGIC_OP_XOR = 6,
1634 VK_LOGIC_OP_NOR = 8,
1635 VK_LOGIC_OP_EQUIVALENT = 9,
1636 VK_LOGIC_OP_INVERT = 10,
1637 VK_LOGIC_OP_OR_REVERSE = 11,
1638 VK_LOGIC_OP_COPY_INVERTED = 12,
1639 VK_LOGIC_OP_OR_INVERTED = 13,
1640 VK_LOGIC_OP_NAND = 14,
1641 VK_LOGIC_OP_SET = 15,
1642 VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF
1645 typedef enum VkBorderColor {
1646 VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0,
1647 VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1,
1648 VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2,
1649 VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3,
1650 VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4,
1651 VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5,
1652 VK_BORDER_COLOR_FLOAT_CUSTOM_EXT = 1000287003,
1653 VK_BORDER_COLOR_INT_CUSTOM_EXT = 1000287004,
1654 VK_BORDER_COLOR_MAX_ENUM = 0x7FFFFFFF
1657 typedef enum VkFilter {
1658 VK_FILTER_NEAREST = 0,
1659 VK_FILTER_LINEAR = 1,
1660 VK_FILTER_CUBIC_IMG = 1000015000,
1661 VK_FILTER_CUBIC_EXT = VK_FILTER_CUBIC_IMG,
1662 VK_FILTER_MAX_ENUM = 0x7FFFFFFF
1665 typedef enum VkSamplerAddressMode {
1666 VK_SAMPLER_ADDRESS_MODE_REPEAT = 0,
1667 VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1,
1668 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2,
1669 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3,
1670 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4,
1671 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE,
1672 VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = 0x7FFFFFFF
1673 } VkSamplerAddressMode;
1675 typedef enum VkSamplerMipmapMode {
1676 VK_SAMPLER_MIPMAP_MODE_NEAREST = 0,
1677 VK_SAMPLER_MIPMAP_MODE_LINEAR = 1,
1678 VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF
1679 } VkSamplerMipmapMode;
1681 typedef enum VkDescriptorType {
1682 VK_DESCRIPTOR_TYPE_SAMPLER = 0,
1683 VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1,
1684 VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2,
1685 VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3,
1686 VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4,
1687 VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5,
1688 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6,
1689 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7,
1690 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8,
1691 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9,
1692 VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10,
1693 VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT = 1000138000,
1694 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000,
1695 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000,
1696 VK_DESCRIPTOR_TYPE_MUTABLE_VALVE = 1000351000,
1697 VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF
1700 typedef enum VkAttachmentLoadOp {
1701 VK_ATTACHMENT_LOAD_OP_LOAD = 0,
1702 VK_ATTACHMENT_LOAD_OP_CLEAR = 1,
1703 VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2,
1704 VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7FFFFFFF
1705 } VkAttachmentLoadOp;
1707 typedef enum VkAttachmentStoreOp {
1708 VK_ATTACHMENT_STORE_OP_STORE = 0,
1709 VK_ATTACHMENT_STORE_OP_DONT_CARE = 1,
1710 VK_ATTACHMENT_STORE_OP_NONE_QCOM = 1000301000,
1711 VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF
1712 } VkAttachmentStoreOp;
1714 typedef enum VkPipelineBindPoint {
1715 VK_PIPELINE_BIND_POINT_GRAPHICS = 0,
1716 VK_PIPELINE_BIND_POINT_COMPUTE = 1,
1717 VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR = 1000165000,
1718 VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI = 1000369003,
1719 VK_PIPELINE_BIND_POINT_RAY_TRACING_NV = VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR,
1720 VK_PIPELINE_BIND_POINT_MAX_ENUM = 0x7FFFFFFF
1721 } VkPipelineBindPoint;
1723 typedef enum VkCommandBufferLevel {
1724 VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0,
1725 VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1,
1726 VK_COMMAND_BUFFER_LEVEL_MAX_ENUM = 0x7FFFFFFF
1727 } VkCommandBufferLevel;
1729 typedef enum VkIndexType {
1730 VK_INDEX_TYPE_UINT16 = 0,
1731 VK_INDEX_TYPE_UINT32 = 1,
1732 VK_INDEX_TYPE_NONE_KHR = 1000165000,
1733 VK_INDEX_TYPE_UINT8_EXT = 1000265000,
1734 VK_INDEX_TYPE_NONE_NV = VK_INDEX_TYPE_NONE_KHR,
1735 VK_INDEX_TYPE_MAX_ENUM = 0x7FFFFFFF
1738 typedef enum VkSubpassContents {
1739 VK_SUBPASS_CONTENTS_INLINE = 0,
1740 VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1,
1741 VK_SUBPASS_CONTENTS_MAX_ENUM = 0x7FFFFFFF
1742 } VkSubpassContents;
1744 typedef enum VkAccessFlagBits {
1745 VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001,
1746 VK_ACCESS_INDEX_READ_BIT = 0x00000002,
1747 VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004,
1748 VK_ACCESS_UNIFORM_READ_BIT = 0x00000008,
1749 VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 0x00000010,
1750 VK_ACCESS_SHADER_READ_BIT = 0x00000020,
1751 VK_ACCESS_SHADER_WRITE_BIT = 0x00000040,
1752 VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 0x00000080,
1753 VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100,
1754 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200,
1755 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400,
1756 VK_ACCESS_TRANSFER_READ_BIT = 0x00000800,
1757 VK_ACCESS_TRANSFER_WRITE_BIT = 0x00001000,
1758 VK_ACCESS_HOST_READ_BIT = 0x00002000,
1759 VK_ACCESS_HOST_WRITE_BIT = 0x00004000,
1760 VK_ACCESS_MEMORY_READ_BIT = 0x00008000,
1761 VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000,
1762 VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000,
1763 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000,
1764 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000,
1765 VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000,
1766 VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000,
1767 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000,
1768 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000,
1769 VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000,
1770 VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000,
1771 VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000,
1772 VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000,
1773 VK_ACCESS_NONE_KHR = 0,
1774 VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR,
1775 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR,
1776 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,
1777 VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1779 typedef VkFlags VkAccessFlags;
1781 typedef enum VkImageAspectFlagBits {
1782 VK_IMAGE_ASPECT_COLOR_BIT = 0x00000001,
1783 VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002,
1784 VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004,
1785 VK_IMAGE_ASPECT_METADATA_BIT = 0x00000008,
1786 VK_IMAGE_ASPECT_PLANE_0_BIT = 0x00000010,
1787 VK_IMAGE_ASPECT_PLANE_1_BIT = 0x00000020,
1788 VK_IMAGE_ASPECT_PLANE_2_BIT = 0x00000040,
1789 VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 0x00000080,
1790 VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 0x00000100,
1791 VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 0x00000200,
1792 VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = 0x00000400,
1793 VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = VK_IMAGE_ASPECT_PLANE_0_BIT,
1794 VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = VK_IMAGE_ASPECT_PLANE_1_BIT,
1795 VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = VK_IMAGE_ASPECT_PLANE_2_BIT,
1796 VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1797 } VkImageAspectFlagBits;
1798 typedef VkFlags VkImageAspectFlags;
1800 typedef enum VkFormatFeatureFlagBits {
1801 VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 0x00000001,
1802 VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 0x00000002,
1803 VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004,
1804 VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008,
1805 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 0x00000010,
1806 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020,
1807 VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 0x00000040,
1808 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 0x00000080,
1809 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100,
1810 VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200,
1811 VK_FORMAT_FEATURE_BLIT_SRC_BIT = 0x00000400,
1812 VK_FORMAT_FEATURE_BLIT_DST_BIT = 0x00000800,
1813 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000,
1814 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT = 0x00004000,
1815 VK_FORMAT_FEATURE_TRANSFER_DST_BIT = 0x00008000,
1816 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000,
1817 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000,
1818 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000,
1819 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000,
1820 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000,
1821 VK_FORMAT_FEATURE_DISJOINT_BIT = 0x00400000,
1822 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT = 0x00800000,
1823 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000,
1824 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = 0x00002000,
1825 #ifdef VK_ENABLE_BETA_EXTENSIONS
1826 VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x02000000,
1828 #ifdef VK_ENABLE_BETA_EXTENSIONS
1829 VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR = 0x04000000,
1831 VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000,
1832 VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000,
1833 VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000,
1834 #ifdef VK_ENABLE_BETA_EXTENSIONS
1835 VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000,
1837 #ifdef VK_ENABLE_BETA_EXTENSIONS
1838 VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000,
1840 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT,
1841 VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_DST_BIT,
1842 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT,
1843 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT,
1844 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT,
1845 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT,
1846 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT,
1847 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,
1848 VK_FORMAT_FEATURE_DISJOINT_BIT_KHR = VK_FORMAT_FEATURE_DISJOINT_BIT,
1849 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT,
1850 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG,
1851 VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1852 } VkFormatFeatureFlagBits;
1853 typedef VkFlags VkFormatFeatureFlags;
1855 typedef enum VkImageCreateFlagBits {
1856 VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 0x00000001,
1857 VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
1858 VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
1859 VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 0x00000008,
1860 VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 0x00000010,
1861 VK_IMAGE_CREATE_ALIAS_BIT = 0x00000400,
1862 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT = 0x00000040,
1863 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT = 0x00000020,
1864 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT = 0x00000080,
1865 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT = 0x00000100,
1866 VK_IMAGE_CREATE_PROTECTED_BIT = 0x00000800,
1867 VK_IMAGE_CREATE_DISJOINT_BIT = 0x00000200,
1868 VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 0x00002000,
1869 VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000,
1870 VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 0x00004000,
1871 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT,
1872 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT,
1873 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT,
1874 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT,
1875 VK_IMAGE_CREATE_DISJOINT_BIT_KHR = VK_IMAGE_CREATE_DISJOINT_BIT,
1876 VK_IMAGE_CREATE_ALIAS_BIT_KHR = VK_IMAGE_CREATE_ALIAS_BIT,
1877 VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1878 } VkImageCreateFlagBits;
1879 typedef VkFlags VkImageCreateFlags;
1881 typedef enum VkSampleCountFlagBits {
1882 VK_SAMPLE_COUNT_1_BIT = 0x00000001,
1883 VK_SAMPLE_COUNT_2_BIT = 0x00000002,
1884 VK_SAMPLE_COUNT_4_BIT = 0x00000004,
1885 VK_SAMPLE_COUNT_8_BIT = 0x00000008,
1886 VK_SAMPLE_COUNT_16_BIT = 0x00000010,
1887 VK_SAMPLE_COUNT_32_BIT = 0x00000020,
1888 VK_SAMPLE_COUNT_64_BIT = 0x00000040,
1889 VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1890 } VkSampleCountFlagBits;
1891 typedef VkFlags VkSampleCountFlags;
1893 typedef enum VkImageUsageFlagBits {
1894 VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 0x00000001,
1895 VK_IMAGE_USAGE_TRANSFER_DST_BIT = 0x00000002,
1896 VK_IMAGE_USAGE_SAMPLED_BIT = 0x00000004,
1897 VK_IMAGE_USAGE_STORAGE_BIT = 0x00000008,
1898 VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000010,
1899 VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000020,
1900 VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000040,
1901 VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0x00000080,
1902 #ifdef VK_ENABLE_BETA_EXTENSIONS
1903 VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00000400,
1905 #ifdef VK_ENABLE_BETA_EXTENSIONS
1906 VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00000800,
1908 #ifdef VK_ENABLE_BETA_EXTENSIONS
1909 VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR = 0x00001000,
1911 VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x00000200,
1912 VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00000100,
1913 #ifdef VK_ENABLE_BETA_EXTENSIONS
1914 VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00002000,
1916 #ifdef VK_ENABLE_BETA_EXTENSIONS
1917 VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00004000,
1919 #ifdef VK_ENABLE_BETA_EXTENSIONS
1920 VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR = 0x00008000,
1922 VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
1923 VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1924 } VkImageUsageFlagBits;
1925 typedef VkFlags VkImageUsageFlags;
1926 typedef VkFlags VkInstanceCreateFlags;
1928 typedef enum VkMemoryHeapFlagBits {
1929 VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0x00000001,
1930 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = 0x00000002,
1931 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT,
1932 VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1933 } VkMemoryHeapFlagBits;
1934 typedef VkFlags VkMemoryHeapFlags;
1936 typedef enum VkMemoryPropertyFlagBits {
1937 VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 0x00000001,
1938 VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 0x00000002,
1939 VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 0x00000004,
1940 VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 0x00000008,
1941 VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 0x00000010,
1942 VK_MEMORY_PROPERTY_PROTECTED_BIT = 0x00000020,
1943 VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD = 0x00000040,
1944 VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD = 0x00000080,
1945 VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV = 0x00000100,
1946 VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1947 } VkMemoryPropertyFlagBits;
1948 typedef VkFlags VkMemoryPropertyFlags;
1950 typedef enum VkQueueFlagBits {
1951 VK_QUEUE_GRAPHICS_BIT = 0x00000001,
1952 VK_QUEUE_COMPUTE_BIT = 0x00000002,
1953 VK_QUEUE_TRANSFER_BIT = 0x00000004,
1954 VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008,
1955 VK_QUEUE_PROTECTED_BIT = 0x00000010,
1956 #ifdef VK_ENABLE_BETA_EXTENSIONS
1957 VK_QUEUE_VIDEO_DECODE_BIT_KHR = 0x00000020,
1959 #ifdef VK_ENABLE_BETA_EXTENSIONS
1960 VK_QUEUE_VIDEO_ENCODE_BIT_KHR = 0x00000040,
1962 VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1964 typedef VkFlags VkQueueFlags;
1965 typedef VkFlags VkDeviceCreateFlags;
1967 typedef enum VkDeviceQueueCreateFlagBits {
1968 VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT = 0x00000001,
1969 VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1970 } VkDeviceQueueCreateFlagBits;
1971 typedef VkFlags VkDeviceQueueCreateFlags;
1973 typedef enum VkPipelineStageFlagBits {
1974 VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 0x00000001,
1975 VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 0x00000002,
1976 VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 0x00000004,
1977 VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 0x00000008,
1978 VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010,
1979 VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020,
1980 VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 0x00000040,
1981 VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 0x00000080,
1982 VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 0x00000100,
1983 VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 0x00000200,
1984 VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400,
1985 VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 0x00000800,
1986 VK_PIPELINE_STAGE_TRANSFER_BIT = 0x00001000,
1987 VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 0x00002000,
1988 VK_PIPELINE_STAGE_HOST_BIT = 0x00004000,
1989 VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0x00008000,
1990 VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00010000,
1991 VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000,
1992 VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000,
1993 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000,
1994 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = 0x00200000,
1995 VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV = 0x00080000,
1996 VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV = 0x00100000,
1997 VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000,
1998 VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000,
1999 VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV = 0x00020000,
2000 VK_PIPELINE_STAGE_NONE_KHR = 0,
2001 VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
2002 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV = VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR,
2003 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
2004 VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2005 } VkPipelineStageFlagBits;
2006 typedef VkFlags VkPipelineStageFlags;
2007 typedef VkFlags VkMemoryMapFlags;
2009 typedef enum VkSparseMemoryBindFlagBits {
2010 VK_SPARSE_MEMORY_BIND_METADATA_BIT = 0x00000001,
2011 VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2012 } VkSparseMemoryBindFlagBits;
2013 typedef VkFlags VkSparseMemoryBindFlags;
2015 typedef enum VkSparseImageFormatFlagBits {
2016 VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 0x00000001,
2017 VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 0x00000002,
2018 VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 0x00000004,
2019 VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2020 } VkSparseImageFormatFlagBits;
2021 typedef VkFlags VkSparseImageFormatFlags;
2023 typedef enum VkFenceCreateFlagBits {
2024 VK_FENCE_CREATE_SIGNALED_BIT = 0x00000001,
2025 VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2026 } VkFenceCreateFlagBits;
2027 typedef VkFlags VkFenceCreateFlags;
2028 typedef VkFlags VkSemaphoreCreateFlags;
2030 typedef enum VkEventCreateFlagBits {
2031 VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR = 0x00000001,
2032 VK_EVENT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2033 } VkEventCreateFlagBits;
2034 typedef VkFlags VkEventCreateFlags;
2036 typedef enum VkQueryPipelineStatisticFlagBits {
2037 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 0x00000001,
2038 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 0x00000002,
2039 VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 0x00000004,
2040 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 0x00000008,
2041 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 0x00000010,
2042 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 0x00000020,
2043 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 0x00000040,
2044 VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 0x00000080,
2045 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 0x00000100,
2046 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 0x00000200,
2047 VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 0x00000400,
2048 VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2049 } VkQueryPipelineStatisticFlagBits;
2050 typedef VkFlags VkQueryPipelineStatisticFlags;
2051 typedef VkFlags VkQueryPoolCreateFlags;
2053 typedef enum VkQueryResultFlagBits {
2054 VK_QUERY_RESULT_64_BIT = 0x00000001,
2055 VK_QUERY_RESULT_WAIT_BIT = 0x00000002,
2056 VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004,
2057 VK_QUERY_RESULT_PARTIAL_BIT = 0x00000008,
2058 #ifdef VK_ENABLE_BETA_EXTENSIONS
2059 VK_QUERY_RESULT_WITH_STATUS_BIT_KHR = 0x00000010,
2061 VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2062 } VkQueryResultFlagBits;
2063 typedef VkFlags VkQueryResultFlags;
2065 typedef enum VkBufferCreateFlagBits {
2066 VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 0x00000001,
2067 VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
2068 VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
2069 VK_BUFFER_CREATE_PROTECTED_BIT = 0x00000008,
2070 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000010,
2071 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
2072 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
2073 VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2074 } VkBufferCreateFlagBits;
2075 typedef VkFlags VkBufferCreateFlags;
2077 typedef enum VkBufferUsageFlagBits {
2078 VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 0x00000001,
2079 VK_BUFFER_USAGE_TRANSFER_DST_BIT = 0x00000002,
2080 VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000004,
2081 VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 0x00000008,
2082 VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 0x00000010,
2083 VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 0x00000020,
2084 VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 0x00000040,
2085 VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 0x00000080,
2086 VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 0x00000100,
2087 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT = 0x00020000,
2088 #ifdef VK_ENABLE_BETA_EXTENSIONS
2089 VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00002000,
2091 #ifdef VK_ENABLE_BETA_EXTENSIONS
2092 VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00004000,
2094 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0x00000800,
2095 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000,
2096 VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200,
2097 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR = 0x00080000,
2098 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR = 0x00100000,
2099 VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR = 0x00000400,
2100 #ifdef VK_ENABLE_BETA_EXTENSIONS
2101 VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00008000,
2103 #ifdef VK_ENABLE_BETA_EXTENSIONS
2104 VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00010000,
2106 VK_BUFFER_USAGE_RAY_TRACING_BIT_NV = VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR,
2107 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
2108 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
2109 VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2110 } VkBufferUsageFlagBits;
2111 typedef VkFlags VkBufferUsageFlags;
2112 typedef VkFlags VkBufferViewCreateFlags;
2114 typedef enum VkImageViewCreateFlagBits {
2115 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT = 0x00000001,
2116 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT = 0x00000002,
2117 VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2118 } VkImageViewCreateFlagBits;
2119 typedef VkFlags VkImageViewCreateFlags;
2121 typedef enum VkShaderModuleCreateFlagBits {
2122 VK_SHADER_MODULE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2123 } VkShaderModuleCreateFlagBits;
2124 typedef VkFlags VkShaderModuleCreateFlags;
2126 typedef enum VkPipelineCacheCreateFlagBits {
2127 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT = 0x00000001,
2128 VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2129 } VkPipelineCacheCreateFlagBits;
2130 typedef VkFlags VkPipelineCacheCreateFlags;
2132 typedef enum VkColorComponentFlagBits {
2133 VK_COLOR_COMPONENT_R_BIT = 0x00000001,
2134 VK_COLOR_COMPONENT_G_BIT = 0x00000002,
2135 VK_COLOR_COMPONENT_B_BIT = 0x00000004,
2136 VK_COLOR_COMPONENT_A_BIT = 0x00000008,
2137 VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2138 } VkColorComponentFlagBits;
2139 typedef VkFlags VkColorComponentFlags;
2141 typedef enum VkPipelineCreateFlagBits {
2142 VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0x00000001,
2143 VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 0x00000002,
2144 VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0x00000004,
2145 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 0x00000008,
2146 VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 0x00000010,
2147 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 0x00004000,
2148 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 0x00008000,
2149 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 0x00010000,
2150 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR = 0x00020000,
2151 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR = 0x00001000,
2152 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR = 0x00002000,
2153 VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR = 0x00080000,
2154 VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV = 0x00000020,
2155 VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR = 0x00000040,
2156 VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 0x00000080,
2157 VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = 0x00040000,
2158 VK_PIPELINE_CREATE_LIBRARY_BIT_KHR = 0x00000800,
2159 VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = 0x00000100,
2160 VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = 0x00000200,
2161 VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV = 0x00100000,
2162 VK_PIPELINE_CREATE_DISPATCH_BASE = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT,
2163 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT,
2164 VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = VK_PIPELINE_CREATE_DISPATCH_BASE,
2165 VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2166 } VkPipelineCreateFlagBits;
2167 typedef VkFlags VkPipelineCreateFlags;
2169 typedef enum VkPipelineShaderStageCreateFlagBits {
2170 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = 0x00000001,
2171 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = 0x00000002,
2172 VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2173 } VkPipelineShaderStageCreateFlagBits;
2174 typedef VkFlags VkPipelineShaderStageCreateFlags;
2176 typedef enum VkShaderStageFlagBits {
2177 VK_SHADER_STAGE_VERTEX_BIT = 0x00000001,
2178 VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 0x00000002,
2179 VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 0x00000004,
2180 VK_SHADER_STAGE_GEOMETRY_BIT = 0x00000008,
2181 VK_SHADER_STAGE_FRAGMENT_BIT = 0x00000010,
2182 VK_SHADER_STAGE_COMPUTE_BIT = 0x00000020,
2183 VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001F,
2184 VK_SHADER_STAGE_ALL = 0x7FFFFFFF,
2185 VK_SHADER_STAGE_RAYGEN_BIT_KHR = 0x00000100,
2186 VK_SHADER_STAGE_ANY_HIT_BIT_KHR = 0x00000200,
2187 VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR = 0x00000400,
2188 VK_SHADER_STAGE_MISS_BIT_KHR = 0x00000800,
2189 VK_SHADER_STAGE_INTERSECTION_BIT_KHR = 0x00001000,
2190 VK_SHADER_STAGE_CALLABLE_BIT_KHR = 0x00002000,
2191 VK_SHADER_STAGE_TASK_BIT_NV = 0x00000040,
2192 VK_SHADER_STAGE_MESH_BIT_NV = 0x00000080,
2193 VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI = 0x00004000,
2194 VK_SHADER_STAGE_RAYGEN_BIT_NV = VK_SHADER_STAGE_RAYGEN_BIT_KHR,
2195 VK_SHADER_STAGE_ANY_HIT_BIT_NV = VK_SHADER_STAGE_ANY_HIT_BIT_KHR,
2196 VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV = VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR,
2197 VK_SHADER_STAGE_MISS_BIT_NV = VK_SHADER_STAGE_MISS_BIT_KHR,
2198 VK_SHADER_STAGE_INTERSECTION_BIT_NV = VK_SHADER_STAGE_INTERSECTION_BIT_KHR,
2199 VK_SHADER_STAGE_CALLABLE_BIT_NV = VK_SHADER_STAGE_CALLABLE_BIT_KHR,
2200 VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2201 } VkShaderStageFlagBits;
2203 typedef enum VkCullModeFlagBits {
2204 VK_CULL_MODE_NONE = 0,
2205 VK_CULL_MODE_FRONT_BIT = 0x00000001,
2206 VK_CULL_MODE_BACK_BIT = 0x00000002,
2207 VK_CULL_MODE_FRONT_AND_BACK = 0x00000003,
2208 VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2209 } VkCullModeFlagBits;
2210 typedef VkFlags VkCullModeFlags;
2211 typedef VkFlags VkPipelineVertexInputStateCreateFlags;
2212 typedef VkFlags VkPipelineInputAssemblyStateCreateFlags;
2213 typedef VkFlags VkPipelineTessellationStateCreateFlags;
2214 typedef VkFlags VkPipelineViewportStateCreateFlags;
2215 typedef VkFlags VkPipelineRasterizationStateCreateFlags;
2216 typedef VkFlags VkPipelineMultisampleStateCreateFlags;
2217 typedef VkFlags VkPipelineDepthStencilStateCreateFlags;
2218 typedef VkFlags VkPipelineColorBlendStateCreateFlags;
2219 typedef VkFlags VkPipelineDynamicStateCreateFlags;
2220 typedef VkFlags VkPipelineLayoutCreateFlags;
2221 typedef VkFlags VkShaderStageFlags;
2223 typedef enum VkSamplerCreateFlagBits {
2224 VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT = 0x00000001,
2225 VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT = 0x00000002,
2226 VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2227 } VkSamplerCreateFlagBits;
2228 typedef VkFlags VkSamplerCreateFlags;
2230 typedef enum VkDescriptorPoolCreateFlagBits {
2231 VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001,
2232 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT = 0x00000002,
2233 VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE = 0x00000004,
2234 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT,
2235 VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2236 } VkDescriptorPoolCreateFlagBits;
2237 typedef VkFlags VkDescriptorPoolCreateFlags;
2238 typedef VkFlags VkDescriptorPoolResetFlags;
2240 typedef enum VkDescriptorSetLayoutCreateFlagBits {
2241 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT = 0x00000002,
2242 VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = 0x00000001,
2243 VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE = 0x00000004,
2244 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT,
2245 VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2246 } VkDescriptorSetLayoutCreateFlagBits;
2247 typedef VkFlags VkDescriptorSetLayoutCreateFlags;
2249 typedef enum VkAttachmentDescriptionFlagBits {
2250 VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001,
2251 VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2252 } VkAttachmentDescriptionFlagBits;
2253 typedef VkFlags VkAttachmentDescriptionFlags;
2255 typedef enum VkDependencyFlagBits {
2256 VK_DEPENDENCY_BY_REGION_BIT = 0x00000001,
2257 VK_DEPENDENCY_DEVICE_GROUP_BIT = 0x00000004,
2258 VK_DEPENDENCY_VIEW_LOCAL_BIT = 0x00000002,
2259 VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR = VK_DEPENDENCY_VIEW_LOCAL_BIT,
2260 VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR = VK_DEPENDENCY_DEVICE_GROUP_BIT,
2261 VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2262 } VkDependencyFlagBits;
2263 typedef VkFlags VkDependencyFlags;
2265 typedef enum VkFramebufferCreateFlagBits {
2266 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT = 0x00000001,
2267 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR = VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT,
2268 VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2269 } VkFramebufferCreateFlagBits;
2270 typedef VkFlags VkFramebufferCreateFlags;
2272 typedef enum VkRenderPassCreateFlagBits {
2273 VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM = 0x00000002,
2274 VK_RENDER_PASS_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2275 } VkRenderPassCreateFlagBits;
2276 typedef VkFlags VkRenderPassCreateFlags;
2278 typedef enum VkSubpassDescriptionFlagBits {
2279 VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX = 0x00000001,
2280 VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 0x00000002,
2281 VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM = 0x00000004,
2282 VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM = 0x00000008,
2283 VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2284 } VkSubpassDescriptionFlagBits;
2285 typedef VkFlags VkSubpassDescriptionFlags;
2287 typedef enum VkCommandPoolCreateFlagBits {
2288 VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 0x00000001,
2289 VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002,
2290 VK_COMMAND_POOL_CREATE_PROTECTED_BIT = 0x00000004,
2291 VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2292 } VkCommandPoolCreateFlagBits;
2293 typedef VkFlags VkCommandPoolCreateFlags;
2295 typedef enum VkCommandPoolResetFlagBits {
2296 VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
2297 VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2298 } VkCommandPoolResetFlagBits;
2299 typedef VkFlags VkCommandPoolResetFlags;
2301 typedef enum VkCommandBufferUsageFlagBits {
2302 VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 0x00000001,
2303 VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 0x00000002,
2304 VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 0x00000004,
2305 VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2306 } VkCommandBufferUsageFlagBits;
2307 typedef VkFlags VkCommandBufferUsageFlags;
2309 typedef enum VkQueryControlFlagBits {
2310 VK_QUERY_CONTROL_PRECISE_BIT = 0x00000001,
2311 VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2312 } VkQueryControlFlagBits;
2313 typedef VkFlags VkQueryControlFlags;
2315 typedef enum VkCommandBufferResetFlagBits {
2316 VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
2317 VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2318 } VkCommandBufferResetFlagBits;
2319 typedef VkFlags VkCommandBufferResetFlags;
2321 typedef enum VkStencilFaceFlagBits {
2322 VK_STENCIL_FACE_FRONT_BIT = 0x00000001,
2323 VK_STENCIL_FACE_BACK_BIT = 0x00000002,
2324 VK_STENCIL_FACE_FRONT_AND_BACK = 0x00000003,
2325 VK_STENCIL_FRONT_AND_BACK = VK_STENCIL_FACE_FRONT_AND_BACK,
2326 VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2327 } VkStencilFaceFlagBits;
2328 typedef VkFlags VkStencilFaceFlags;
2329 typedef struct VkExtent2D {
2334 typedef struct VkExtent3D {
2340 typedef struct VkOffset2D {
2345 typedef struct VkOffset3D {
2351 typedef struct VkRect2D {
2356 typedef struct VkBaseInStructure {
2357 VkStructureType sType;
2358 const struct VkBaseInStructure* pNext;
2359 } VkBaseInStructure;
2361 typedef struct VkBaseOutStructure {
2362 VkStructureType sType;
2363 struct VkBaseOutStructure* pNext;
2364 } VkBaseOutStructure;
2366 typedef struct VkBufferMemoryBarrier {
2367 VkStructureType sType;
2369 VkAccessFlags srcAccessMask;
2370 VkAccessFlags dstAccessMask;
2371 uint32_t srcQueueFamilyIndex;
2372 uint32_t dstQueueFamilyIndex;
2374 VkDeviceSize offset;
2376 } VkBufferMemoryBarrier;
2378 typedef struct VkDispatchIndirectCommand {
2382 } VkDispatchIndirectCommand;
2384 typedef struct VkDrawIndexedIndirectCommand {
2385 uint32_t indexCount;
2386 uint32_t instanceCount;
2387 uint32_t firstIndex;
2388 int32_t vertexOffset;
2389 uint32_t firstInstance;
2390 } VkDrawIndexedIndirectCommand;
2392 typedef struct VkDrawIndirectCommand {
2393 uint32_t vertexCount;
2394 uint32_t instanceCount;
2395 uint32_t firstVertex;
2396 uint32_t firstInstance;
2397 } VkDrawIndirectCommand;
2399 typedef struct VkImageSubresourceRange {
2400 VkImageAspectFlags aspectMask;
2401 uint32_t baseMipLevel;
2402 uint32_t levelCount;
2403 uint32_t baseArrayLayer;
2404 uint32_t layerCount;
2405 } VkImageSubresourceRange;
2407 typedef struct VkImageMemoryBarrier {
2408 VkStructureType sType;
2410 VkAccessFlags srcAccessMask;
2411 VkAccessFlags dstAccessMask;
2412 VkImageLayout oldLayout;
2413 VkImageLayout newLayout;
2414 uint32_t srcQueueFamilyIndex;
2415 uint32_t dstQueueFamilyIndex;
2417 VkImageSubresourceRange subresourceRange;
2418 } VkImageMemoryBarrier;
2420 typedef struct VkMemoryBarrier {
2421 VkStructureType sType;
2423 VkAccessFlags srcAccessMask;
2424 VkAccessFlags dstAccessMask;
2427 typedef struct VkPipelineCacheHeaderVersionOne {
2428 uint32_t headerSize;
2429 VkPipelineCacheHeaderVersion headerVersion;
2432 uint8_t pipelineCacheUUID[VK_UUID_SIZE];
2433 } VkPipelineCacheHeaderVersionOne;
2435 typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
2439 VkSystemAllocationScope allocationScope);
2441 typedef void (VKAPI_PTR *PFN_vkFreeFunction)(
2445 typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(
2448 VkInternalAllocationType allocationType,
2449 VkSystemAllocationScope allocationScope);
2451 typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(
2454 VkInternalAllocationType allocationType,
2455 VkSystemAllocationScope allocationScope);
2457 typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
2462 VkSystemAllocationScope allocationScope);
2464 typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
2465 typedef struct VkAllocationCallbacks {
2467 PFN_vkAllocationFunction pfnAllocation;
2468 PFN_vkReallocationFunction pfnReallocation;
2469 PFN_vkFreeFunction pfnFree;
2470 PFN_vkInternalAllocationNotification pfnInternalAllocation;
2471 PFN_vkInternalFreeNotification pfnInternalFree;
2472 } VkAllocationCallbacks;
2474 typedef struct VkApplicationInfo {
2475 VkStructureType sType;
2477 const char* pApplicationName;
2478 uint32_t applicationVersion;
2479 const char* pEngineName;
2480 uint32_t engineVersion;
2481 uint32_t apiVersion;
2482 } VkApplicationInfo;
2484 typedef struct VkFormatProperties {
2485 VkFormatFeatureFlags linearTilingFeatures;
2486 VkFormatFeatureFlags optimalTilingFeatures;
2487 VkFormatFeatureFlags bufferFeatures;
2488 } VkFormatProperties;
2490 typedef struct VkImageFormatProperties {
2491 VkExtent3D maxExtent;
2492 uint32_t maxMipLevels;
2493 uint32_t maxArrayLayers;
2494 VkSampleCountFlags sampleCounts;
2495 VkDeviceSize maxResourceSize;
2496 } VkImageFormatProperties;
2498 typedef struct VkInstanceCreateInfo {
2499 VkStructureType sType;
2501 VkInstanceCreateFlags flags;
2502 const VkApplicationInfo* pApplicationInfo;
2503 uint32_t enabledLayerCount;
2504 const char* const* ppEnabledLayerNames;
2505 uint32_t enabledExtensionCount;
2506 const char* const* ppEnabledExtensionNames;
2507 } VkInstanceCreateInfo;
2509 typedef struct VkMemoryHeap {
2511 VkMemoryHeapFlags flags;
2514 typedef struct VkMemoryType {
2515 VkMemoryPropertyFlags propertyFlags;
2519 typedef struct VkPhysicalDeviceFeatures {
2520 VkBool32 robustBufferAccess;
2521 VkBool32 fullDrawIndexUint32;
2522 VkBool32 imageCubeArray;
2523 VkBool32 independentBlend;
2524 VkBool32 geometryShader;
2525 VkBool32 tessellationShader;
2526 VkBool32 sampleRateShading;
2527 VkBool32 dualSrcBlend;
2529 VkBool32 multiDrawIndirect;
2530 VkBool32 drawIndirectFirstInstance;
2531 VkBool32 depthClamp;
2532 VkBool32 depthBiasClamp;
2533 VkBool32 fillModeNonSolid;
2534 VkBool32 depthBounds;
2536 VkBool32 largePoints;
2537 VkBool32 alphaToOne;
2538 VkBool32 multiViewport;
2539 VkBool32 samplerAnisotropy;
2540 VkBool32 textureCompressionETC2;
2541 VkBool32 textureCompressionASTC_LDR;
2542 VkBool32 textureCompressionBC;
2543 VkBool32 occlusionQueryPrecise;
2544 VkBool32 pipelineStatisticsQuery;
2545 VkBool32 vertexPipelineStoresAndAtomics;
2546 VkBool32 fragmentStoresAndAtomics;
2547 VkBool32 shaderTessellationAndGeometryPointSize;
2548 VkBool32 shaderImageGatherExtended;
2549 VkBool32 shaderStorageImageExtendedFormats;
2550 VkBool32 shaderStorageImageMultisample;
2551 VkBool32 shaderStorageImageReadWithoutFormat;
2552 VkBool32 shaderStorageImageWriteWithoutFormat;
2553 VkBool32 shaderUniformBufferArrayDynamicIndexing;
2554 VkBool32 shaderSampledImageArrayDynamicIndexing;
2555 VkBool32 shaderStorageBufferArrayDynamicIndexing;
2556 VkBool32 shaderStorageImageArrayDynamicIndexing;
2557 VkBool32 shaderClipDistance;
2558 VkBool32 shaderCullDistance;
2559 VkBool32 shaderFloat64;
2560 VkBool32 shaderInt64;
2561 VkBool32 shaderInt16;
2562 VkBool32 shaderResourceResidency;
2563 VkBool32 shaderResourceMinLod;
2564 VkBool32 sparseBinding;
2565 VkBool32 sparseResidencyBuffer;
2566 VkBool32 sparseResidencyImage2D;
2567 VkBool32 sparseResidencyImage3D;
2568 VkBool32 sparseResidency2Samples;
2569 VkBool32 sparseResidency4Samples;
2570 VkBool32 sparseResidency8Samples;
2571 VkBool32 sparseResidency16Samples;
2572 VkBool32 sparseResidencyAliased;
2573 VkBool32 variableMultisampleRate;
2574 VkBool32 inheritedQueries;
2575 } VkPhysicalDeviceFeatures;
2577 typedef struct VkPhysicalDeviceLimits {
2578 uint32_t maxImageDimension1D;
2579 uint32_t maxImageDimension2D;
2580 uint32_t maxImageDimension3D;
2581 uint32_t maxImageDimensionCube;
2582 uint32_t maxImageArrayLayers;
2583 uint32_t maxTexelBufferElements;
2584 uint32_t maxUniformBufferRange;
2585 uint32_t maxStorageBufferRange;
2586 uint32_t maxPushConstantsSize;
2587 uint32_t maxMemoryAllocationCount;
2588 uint32_t maxSamplerAllocationCount;
2589 VkDeviceSize bufferImageGranularity;
2590 VkDeviceSize sparseAddressSpaceSize;
2591 uint32_t maxBoundDescriptorSets;
2592 uint32_t maxPerStageDescriptorSamplers;
2593 uint32_t maxPerStageDescriptorUniformBuffers;
2594 uint32_t maxPerStageDescriptorStorageBuffers;
2595 uint32_t maxPerStageDescriptorSampledImages;
2596 uint32_t maxPerStageDescriptorStorageImages;
2597 uint32_t maxPerStageDescriptorInputAttachments;
2598 uint32_t maxPerStageResources;
2599 uint32_t maxDescriptorSetSamplers;
2600 uint32_t maxDescriptorSetUniformBuffers;
2601 uint32_t maxDescriptorSetUniformBuffersDynamic;
2602 uint32_t maxDescriptorSetStorageBuffers;
2603 uint32_t maxDescriptorSetStorageBuffersDynamic;
2604 uint32_t maxDescriptorSetSampledImages;
2605 uint32_t maxDescriptorSetStorageImages;
2606 uint32_t maxDescriptorSetInputAttachments;
2607 uint32_t maxVertexInputAttributes;
2608 uint32_t maxVertexInputBindings;
2609 uint32_t maxVertexInputAttributeOffset;
2610 uint32_t maxVertexInputBindingStride;
2611 uint32_t maxVertexOutputComponents;
2612 uint32_t maxTessellationGenerationLevel;
2613 uint32_t maxTessellationPatchSize;
2614 uint32_t maxTessellationControlPerVertexInputComponents;
2615 uint32_t maxTessellationControlPerVertexOutputComponents;
2616 uint32_t maxTessellationControlPerPatchOutputComponents;
2617 uint32_t maxTessellationControlTotalOutputComponents;
2618 uint32_t maxTessellationEvaluationInputComponents;
2619 uint32_t maxTessellationEvaluationOutputComponents;
2620 uint32_t maxGeometryShaderInvocations;
2621 uint32_t maxGeometryInputComponents;
2622 uint32_t maxGeometryOutputComponents;
2623 uint32_t maxGeometryOutputVertices;
2624 uint32_t maxGeometryTotalOutputComponents;
2625 uint32_t maxFragmentInputComponents;
2626 uint32_t maxFragmentOutputAttachments;
2627 uint32_t maxFragmentDualSrcAttachments;
2628 uint32_t maxFragmentCombinedOutputResources;
2629 uint32_t maxComputeSharedMemorySize;
2630 uint32_t maxComputeWorkGroupCount[3];
2631 uint32_t maxComputeWorkGroupInvocations;
2632 uint32_t maxComputeWorkGroupSize[3];
2633 uint32_t subPixelPrecisionBits;
2634 uint32_t subTexelPrecisionBits;
2635 uint32_t mipmapPrecisionBits;
2636 uint32_t maxDrawIndexedIndexValue;
2637 uint32_t maxDrawIndirectCount;
2638 float maxSamplerLodBias;
2639 float maxSamplerAnisotropy;
2640 uint32_t maxViewports;
2641 uint32_t maxViewportDimensions[2];
2642 float viewportBoundsRange[2];
2643 uint32_t viewportSubPixelBits;
2644 size_t minMemoryMapAlignment;
2645 VkDeviceSize minTexelBufferOffsetAlignment;
2646 VkDeviceSize minUniformBufferOffsetAlignment;
2647 VkDeviceSize minStorageBufferOffsetAlignment;
2648 int32_t minTexelOffset;
2649 uint32_t maxTexelOffset;
2650 int32_t minTexelGatherOffset;
2651 uint32_t maxTexelGatherOffset;
2652 float minInterpolationOffset;
2653 float maxInterpolationOffset;
2654 uint32_t subPixelInterpolationOffsetBits;
2655 uint32_t maxFramebufferWidth;
2656 uint32_t maxFramebufferHeight;
2657 uint32_t maxFramebufferLayers;
2658 VkSampleCountFlags framebufferColorSampleCounts;
2659 VkSampleCountFlags framebufferDepthSampleCounts;
2660 VkSampleCountFlags framebufferStencilSampleCounts;
2661 VkSampleCountFlags framebufferNoAttachmentsSampleCounts;
2662 uint32_t maxColorAttachments;
2663 VkSampleCountFlags sampledImageColorSampleCounts;
2664 VkSampleCountFlags sampledImageIntegerSampleCounts;
2665 VkSampleCountFlags sampledImageDepthSampleCounts;
2666 VkSampleCountFlags sampledImageStencilSampleCounts;
2667 VkSampleCountFlags storageImageSampleCounts;
2668 uint32_t maxSampleMaskWords;
2669 VkBool32 timestampComputeAndGraphics;
2670 float timestampPeriod;
2671 uint32_t maxClipDistances;
2672 uint32_t maxCullDistances;
2673 uint32_t maxCombinedClipAndCullDistances;
2674 uint32_t discreteQueuePriorities;
2675 float pointSizeRange[2];
2676 float lineWidthRange[2];
2677 float pointSizeGranularity;
2678 float lineWidthGranularity;
2679 VkBool32 strictLines;
2680 VkBool32 standardSampleLocations;
2681 VkDeviceSize optimalBufferCopyOffsetAlignment;
2682 VkDeviceSize optimalBufferCopyRowPitchAlignment;
2683 VkDeviceSize nonCoherentAtomSize;
2684 } VkPhysicalDeviceLimits;
2686 typedef struct VkPhysicalDeviceMemoryProperties {
2687 uint32_t memoryTypeCount;
2688 VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES];
2689 uint32_t memoryHeapCount;
2690 VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS];
2691 } VkPhysicalDeviceMemoryProperties;
2693 typedef struct VkPhysicalDeviceSparseProperties {
2694 VkBool32 residencyStandard2DBlockShape;
2695 VkBool32 residencyStandard2DMultisampleBlockShape;
2696 VkBool32 residencyStandard3DBlockShape;
2697 VkBool32 residencyAlignedMipSize;
2698 VkBool32 residencyNonResidentStrict;
2699 } VkPhysicalDeviceSparseProperties;
2701 typedef struct VkPhysicalDeviceProperties {
2702 uint32_t apiVersion;
2703 uint32_t driverVersion;
2706 VkPhysicalDeviceType deviceType;
2707 char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
2708 uint8_t pipelineCacheUUID[VK_UUID_SIZE];
2709 VkPhysicalDeviceLimits limits;
2710 VkPhysicalDeviceSparseProperties sparseProperties;
2711 } VkPhysicalDeviceProperties;
2713 typedef struct VkQueueFamilyProperties {
2714 VkQueueFlags queueFlags;
2715 uint32_t queueCount;
2716 uint32_t timestampValidBits;
2717 VkExtent3D minImageTransferGranularity;
2718 } VkQueueFamilyProperties;
2720 typedef struct VkDeviceQueueCreateInfo {
2721 VkStructureType sType;
2723 VkDeviceQueueCreateFlags flags;
2724 uint32_t queueFamilyIndex;
2725 uint32_t queueCount;
2726 const float* pQueuePriorities;
2727 } VkDeviceQueueCreateInfo;
2729 typedef struct VkDeviceCreateInfo {
2730 VkStructureType sType;
2732 VkDeviceCreateFlags flags;
2733 uint32_t queueCreateInfoCount;
2734 const VkDeviceQueueCreateInfo* pQueueCreateInfos;
2735 uint32_t enabledLayerCount;
2736 const char* const* ppEnabledLayerNames;
2737 uint32_t enabledExtensionCount;
2738 const char* const* ppEnabledExtensionNames;
2739 const VkPhysicalDeviceFeatures* pEnabledFeatures;
2740 } VkDeviceCreateInfo;
2742 typedef struct VkExtensionProperties {
2743 char extensionName[VK_MAX_EXTENSION_NAME_SIZE];
2744 uint32_t specVersion;
2745 } VkExtensionProperties;
2747 typedef struct VkLayerProperties {
2748 char layerName[VK_MAX_EXTENSION_NAME_SIZE];
2749 uint32_t specVersion;
2750 uint32_t implementationVersion;
2751 char description[VK_MAX_DESCRIPTION_SIZE];
2752 } VkLayerProperties;
2754 typedef struct VkSubmitInfo {
2755 VkStructureType sType;
2757 uint32_t waitSemaphoreCount;
2758 const VkSemaphore* pWaitSemaphores;
2759 const VkPipelineStageFlags* pWaitDstStageMask;
2760 uint32_t commandBufferCount;
2761 const VkCommandBuffer* pCommandBuffers;
2762 uint32_t signalSemaphoreCount;
2763 const VkSemaphore* pSignalSemaphores;
2766 typedef struct VkMappedMemoryRange {
2767 VkStructureType sType;
2769 VkDeviceMemory memory;
2770 VkDeviceSize offset;
2772 } VkMappedMemoryRange;
2774 typedef struct VkMemoryAllocateInfo {
2775 VkStructureType sType;
2777 VkDeviceSize allocationSize;
2778 uint32_t memoryTypeIndex;
2779 } VkMemoryAllocateInfo;
2781 typedef struct VkMemoryRequirements {
2783 VkDeviceSize alignment;
2784 uint32_t memoryTypeBits;
2785 } VkMemoryRequirements;
2787 typedef struct VkSparseMemoryBind {
2788 VkDeviceSize resourceOffset;
2790 VkDeviceMemory memory;
2791 VkDeviceSize memoryOffset;
2792 VkSparseMemoryBindFlags flags;
2793 } VkSparseMemoryBind;
2795 typedef struct VkSparseBufferMemoryBindInfo {
2798 const VkSparseMemoryBind* pBinds;
2799 } VkSparseBufferMemoryBindInfo;
2801 typedef struct VkSparseImageOpaqueMemoryBindInfo {
2804 const VkSparseMemoryBind* pBinds;
2805 } VkSparseImageOpaqueMemoryBindInfo;
2807 typedef struct VkImageSubresource {
2808 VkImageAspectFlags aspectMask;
2810 uint32_t arrayLayer;
2811 } VkImageSubresource;
2813 typedef struct VkSparseImageMemoryBind {
2814 VkImageSubresource subresource;
2817 VkDeviceMemory memory;
2818 VkDeviceSize memoryOffset;
2819 VkSparseMemoryBindFlags flags;
2820 } VkSparseImageMemoryBind;
2822 typedef struct VkSparseImageMemoryBindInfo {
2825 const VkSparseImageMemoryBind* pBinds;
2826 } VkSparseImageMemoryBindInfo;
2828 typedef struct VkBindSparseInfo {
2829 VkStructureType sType;
2831 uint32_t waitSemaphoreCount;
2832 const VkSemaphore* pWaitSemaphores;
2833 uint32_t bufferBindCount;
2834 const VkSparseBufferMemoryBindInfo* pBufferBinds;
2835 uint32_t imageOpaqueBindCount;
2836 const VkSparseImageOpaqueMemoryBindInfo* pImageOpaqueBinds;
2837 uint32_t imageBindCount;
2838 const VkSparseImageMemoryBindInfo* pImageBinds;
2839 uint32_t signalSemaphoreCount;
2840 const VkSemaphore* pSignalSemaphores;
2843 typedef struct VkSparseImageFormatProperties {
2844 VkImageAspectFlags aspectMask;
2845 VkExtent3D imageGranularity;
2846 VkSparseImageFormatFlags flags;
2847 } VkSparseImageFormatProperties;
2849 typedef struct VkSparseImageMemoryRequirements {
2850 VkSparseImageFormatProperties formatProperties;
2851 uint32_t imageMipTailFirstLod;
2852 VkDeviceSize imageMipTailSize;
2853 VkDeviceSize imageMipTailOffset;
2854 VkDeviceSize imageMipTailStride;
2855 } VkSparseImageMemoryRequirements;
2857 typedef struct VkFenceCreateInfo {
2858 VkStructureType sType;
2860 VkFenceCreateFlags flags;
2861 } VkFenceCreateInfo;
2863 typedef struct VkSemaphoreCreateInfo {
2864 VkStructureType sType;
2866 VkSemaphoreCreateFlags flags;
2867 } VkSemaphoreCreateInfo;
2869 typedef struct VkEventCreateInfo {
2870 VkStructureType sType;
2872 VkEventCreateFlags flags;
2873 } VkEventCreateInfo;
2875 typedef struct VkQueryPoolCreateInfo {
2876 VkStructureType sType;
2878 VkQueryPoolCreateFlags flags;
2879 VkQueryType queryType;
2880 uint32_t queryCount;
2881 VkQueryPipelineStatisticFlags pipelineStatistics;
2882 } VkQueryPoolCreateInfo;
2884 typedef struct VkBufferCreateInfo {
2885 VkStructureType sType;
2887 VkBufferCreateFlags flags;
2889 VkBufferUsageFlags usage;
2890 VkSharingMode sharingMode;
2891 uint32_t queueFamilyIndexCount;
2892 const uint32_t* pQueueFamilyIndices;
2893 } VkBufferCreateInfo;
2895 typedef struct VkBufferViewCreateInfo {
2896 VkStructureType sType;
2898 VkBufferViewCreateFlags flags;
2901 VkDeviceSize offset;
2903 } VkBufferViewCreateInfo;
2905 typedef struct VkImageCreateInfo {
2906 VkStructureType sType;
2908 VkImageCreateFlags flags;
2909 VkImageType imageType;
2913 uint32_t arrayLayers;
2914 VkSampleCountFlagBits samples;
2915 VkImageTiling tiling;
2916 VkImageUsageFlags usage;
2917 VkSharingMode sharingMode;
2918 uint32_t queueFamilyIndexCount;
2919 const uint32_t* pQueueFamilyIndices;
2920 VkImageLayout initialLayout;
2921 } VkImageCreateInfo;
2923 typedef struct VkSubresourceLayout {
2924 VkDeviceSize offset;
2926 VkDeviceSize rowPitch;
2927 VkDeviceSize arrayPitch;
2928 VkDeviceSize depthPitch;
2929 } VkSubresourceLayout;
2931 typedef struct VkComponentMapping {
2932 VkComponentSwizzle r;
2933 VkComponentSwizzle g;
2934 VkComponentSwizzle b;
2935 VkComponentSwizzle a;
2936 } VkComponentMapping;
2938 typedef struct VkImageViewCreateInfo {
2939 VkStructureType sType;
2941 VkImageViewCreateFlags flags;
2943 VkImageViewType viewType;
2945 VkComponentMapping components;
2946 VkImageSubresourceRange subresourceRange;
2947 } VkImageViewCreateInfo;
2949 typedef struct VkShaderModuleCreateInfo {
2950 VkStructureType sType;
2952 VkShaderModuleCreateFlags flags;
2954 const uint32_t* pCode;
2955 } VkShaderModuleCreateInfo;
2957 typedef struct VkPipelineCacheCreateInfo {
2958 VkStructureType sType;
2960 VkPipelineCacheCreateFlags flags;
2961 size_t initialDataSize;
2962 const void* pInitialData;
2963 } VkPipelineCacheCreateInfo;
2965 typedef struct VkSpecializationMapEntry {
2966 uint32_t constantID;
2969 } VkSpecializationMapEntry;
2971 typedef struct VkSpecializationInfo {
2972 uint32_t mapEntryCount;
2973 const VkSpecializationMapEntry* pMapEntries;
2976 } VkSpecializationInfo;
2978 typedef struct VkPipelineShaderStageCreateInfo {
2979 VkStructureType sType;
2981 VkPipelineShaderStageCreateFlags flags;
2982 VkShaderStageFlagBits stage;
2983 VkShaderModule module;
2985 const VkSpecializationInfo* pSpecializationInfo;
2986 } VkPipelineShaderStageCreateInfo;
2988 typedef struct VkComputePipelineCreateInfo {
2989 VkStructureType sType;
2991 VkPipelineCreateFlags flags;
2992 VkPipelineShaderStageCreateInfo stage;
2993 VkPipelineLayout layout;
2994 VkPipeline basePipelineHandle;
2995 int32_t basePipelineIndex;
2996 } VkComputePipelineCreateInfo;
2998 typedef struct VkVertexInputBindingDescription {
3001 VkVertexInputRate inputRate;
3002 } VkVertexInputBindingDescription;
3004 typedef struct VkVertexInputAttributeDescription {
3009 } VkVertexInputAttributeDescription;
3011 typedef struct VkPipelineVertexInputStateCreateInfo {
3012 VkStructureType sType;
3014 VkPipelineVertexInputStateCreateFlags flags;
3015 uint32_t vertexBindingDescriptionCount;
3016 const VkVertexInputBindingDescription* pVertexBindingDescriptions;
3017 uint32_t vertexAttributeDescriptionCount;
3018 const VkVertexInputAttributeDescription* pVertexAttributeDescriptions;
3019 } VkPipelineVertexInputStateCreateInfo;
3021 typedef struct VkPipelineInputAssemblyStateCreateInfo {
3022 VkStructureType sType;
3024 VkPipelineInputAssemblyStateCreateFlags flags;
3025 VkPrimitiveTopology topology;
3026 VkBool32 primitiveRestartEnable;
3027 } VkPipelineInputAssemblyStateCreateInfo;
3029 typedef struct VkPipelineTessellationStateCreateInfo {
3030 VkStructureType sType;
3032 VkPipelineTessellationStateCreateFlags flags;
3033 uint32_t patchControlPoints;
3034 } VkPipelineTessellationStateCreateInfo;
3036 typedef struct VkViewport {
3045 typedef struct VkPipelineViewportStateCreateInfo {
3046 VkStructureType sType;
3048 VkPipelineViewportStateCreateFlags flags;
3049 uint32_t viewportCount;
3050 const VkViewport* pViewports;
3051 uint32_t scissorCount;
3052 const VkRect2D* pScissors;
3053 } VkPipelineViewportStateCreateInfo;
3055 typedef struct VkPipelineRasterizationStateCreateInfo {
3056 VkStructureType sType;
3058 VkPipelineRasterizationStateCreateFlags flags;
3059 VkBool32 depthClampEnable;
3060 VkBool32 rasterizerDiscardEnable;
3061 VkPolygonMode polygonMode;
3062 VkCullModeFlags cullMode;
3063 VkFrontFace frontFace;
3064 VkBool32 depthBiasEnable;
3065 float depthBiasConstantFactor;
3066 float depthBiasClamp;
3067 float depthBiasSlopeFactor;
3069 } VkPipelineRasterizationStateCreateInfo;
3071 typedef struct VkPipelineMultisampleStateCreateInfo {
3072 VkStructureType sType;
3074 VkPipelineMultisampleStateCreateFlags flags;
3075 VkSampleCountFlagBits rasterizationSamples;
3076 VkBool32 sampleShadingEnable;
3077 float minSampleShading;
3078 const VkSampleMask* pSampleMask;
3079 VkBool32 alphaToCoverageEnable;
3080 VkBool32 alphaToOneEnable;
3081 } VkPipelineMultisampleStateCreateInfo;
3083 typedef struct VkStencilOpState {
3086 VkStencilOp depthFailOp;
3087 VkCompareOp compareOp;
3088 uint32_t compareMask;
3093 typedef struct VkPipelineDepthStencilStateCreateInfo {
3094 VkStructureType sType;
3096 VkPipelineDepthStencilStateCreateFlags flags;
3097 VkBool32 depthTestEnable;
3098 VkBool32 depthWriteEnable;
3099 VkCompareOp depthCompareOp;
3100 VkBool32 depthBoundsTestEnable;
3101 VkBool32 stencilTestEnable;
3102 VkStencilOpState front;
3103 VkStencilOpState back;
3104 float minDepthBounds;
3105 float maxDepthBounds;
3106 } VkPipelineDepthStencilStateCreateInfo;
3108 typedef struct VkPipelineColorBlendAttachmentState {
3109 VkBool32 blendEnable;
3110 VkBlendFactor srcColorBlendFactor;
3111 VkBlendFactor dstColorBlendFactor;
3112 VkBlendOp colorBlendOp;
3113 VkBlendFactor srcAlphaBlendFactor;
3114 VkBlendFactor dstAlphaBlendFactor;
3115 VkBlendOp alphaBlendOp;
3116 VkColorComponentFlags colorWriteMask;
3117 } VkPipelineColorBlendAttachmentState;
3119 typedef struct VkPipelineColorBlendStateCreateInfo {
3120 VkStructureType sType;
3122 VkPipelineColorBlendStateCreateFlags flags;
3123 VkBool32 logicOpEnable;
3125 uint32_t attachmentCount;
3126 const VkPipelineColorBlendAttachmentState* pAttachments;
3127 float blendConstants[4];
3128 } VkPipelineColorBlendStateCreateInfo;
3130 typedef struct VkPipelineDynamicStateCreateInfo {
3131 VkStructureType sType;
3133 VkPipelineDynamicStateCreateFlags flags;
3134 uint32_t dynamicStateCount;
3135 const VkDynamicState* pDynamicStates;
3136 } VkPipelineDynamicStateCreateInfo;
3138 typedef struct VkGraphicsPipelineCreateInfo {
3139 VkStructureType sType;
3141 VkPipelineCreateFlags flags;
3142 uint32_t stageCount;
3143 const VkPipelineShaderStageCreateInfo* pStages;
3144 const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
3145 const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState;
3146 const VkPipelineTessellationStateCreateInfo* pTessellationState;
3147 const VkPipelineViewportStateCreateInfo* pViewportState;
3148 const VkPipelineRasterizationStateCreateInfo* pRasterizationState;
3149 const VkPipelineMultisampleStateCreateInfo* pMultisampleState;
3150 const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState;
3151 const VkPipelineColorBlendStateCreateInfo* pColorBlendState;
3152 const VkPipelineDynamicStateCreateInfo* pDynamicState;
3153 VkPipelineLayout layout;
3154 VkRenderPass renderPass;
3156 VkPipeline basePipelineHandle;
3157 int32_t basePipelineIndex;
3158 } VkGraphicsPipelineCreateInfo;
3160 typedef struct VkPushConstantRange {
3161 VkShaderStageFlags stageFlags;
3164 } VkPushConstantRange;
3166 typedef struct VkPipelineLayoutCreateInfo {
3167 VkStructureType sType;
3169 VkPipelineLayoutCreateFlags flags;
3170 uint32_t setLayoutCount;
3171 const VkDescriptorSetLayout* pSetLayouts;
3172 uint32_t pushConstantRangeCount;
3173 const VkPushConstantRange* pPushConstantRanges;
3174 } VkPipelineLayoutCreateInfo;
3176 typedef struct VkSamplerCreateInfo {
3177 VkStructureType sType;
3179 VkSamplerCreateFlags flags;
3182 VkSamplerMipmapMode mipmapMode;
3183 VkSamplerAddressMode addressModeU;
3184 VkSamplerAddressMode addressModeV;
3185 VkSamplerAddressMode addressModeW;
3187 VkBool32 anisotropyEnable;
3188 float maxAnisotropy;
3189 VkBool32 compareEnable;
3190 VkCompareOp compareOp;
3193 VkBorderColor borderColor;
3194 VkBool32 unnormalizedCoordinates;
3195 } VkSamplerCreateInfo;
3197 typedef struct VkCopyDescriptorSet {
3198 VkStructureType sType;
3200 VkDescriptorSet srcSet;
3201 uint32_t srcBinding;
3202 uint32_t srcArrayElement;
3203 VkDescriptorSet dstSet;
3204 uint32_t dstBinding;
3205 uint32_t dstArrayElement;
3206 uint32_t descriptorCount;
3207 } VkCopyDescriptorSet;
3209 typedef struct VkDescriptorBufferInfo {
3211 VkDeviceSize offset;
3213 } VkDescriptorBufferInfo;
3215 typedef struct VkDescriptorImageInfo {
3217 VkImageView imageView;
3218 VkImageLayout imageLayout;
3219 } VkDescriptorImageInfo;
3221 typedef struct VkDescriptorPoolSize {
3222 VkDescriptorType type;
3223 uint32_t descriptorCount;
3224 } VkDescriptorPoolSize;
3226 typedef struct VkDescriptorPoolCreateInfo {
3227 VkStructureType sType;
3229 VkDescriptorPoolCreateFlags flags;
3231 uint32_t poolSizeCount;
3232 const VkDescriptorPoolSize* pPoolSizes;
3233 } VkDescriptorPoolCreateInfo;
3235 typedef struct VkDescriptorSetAllocateInfo {
3236 VkStructureType sType;
3238 VkDescriptorPool descriptorPool;
3239 uint32_t descriptorSetCount;
3240 const VkDescriptorSetLayout* pSetLayouts;
3241 } VkDescriptorSetAllocateInfo;
3243 typedef struct VkDescriptorSetLayoutBinding {
3245 VkDescriptorType descriptorType;
3246 uint32_t descriptorCount;
3247 VkShaderStageFlags stageFlags;
3248 const VkSampler* pImmutableSamplers;
3249 } VkDescriptorSetLayoutBinding;
3251 typedef struct VkDescriptorSetLayoutCreateInfo {
3252 VkStructureType sType;
3254 VkDescriptorSetLayoutCreateFlags flags;
3255 uint32_t bindingCount;
3256 const VkDescriptorSetLayoutBinding* pBindings;
3257 } VkDescriptorSetLayoutCreateInfo;
3259 typedef struct VkWriteDescriptorSet {
3260 VkStructureType sType;
3262 VkDescriptorSet dstSet;
3263 uint32_t dstBinding;
3264 uint32_t dstArrayElement;
3265 uint32_t descriptorCount;
3266 VkDescriptorType descriptorType;
3267 const VkDescriptorImageInfo* pImageInfo;
3268 const VkDescriptorBufferInfo* pBufferInfo;
3269 const VkBufferView* pTexelBufferView;
3270 } VkWriteDescriptorSet;
3272 typedef struct VkAttachmentDescription {
3273 VkAttachmentDescriptionFlags flags;
3275 VkSampleCountFlagBits samples;
3276 VkAttachmentLoadOp loadOp;
3277 VkAttachmentStoreOp storeOp;
3278 VkAttachmentLoadOp stencilLoadOp;
3279 VkAttachmentStoreOp stencilStoreOp;
3280 VkImageLayout initialLayout;
3281 VkImageLayout finalLayout;
3282 } VkAttachmentDescription;
3284 typedef struct VkAttachmentReference {
3285 uint32_t attachment;
3286 VkImageLayout layout;
3287 } VkAttachmentReference;
3289 typedef struct VkFramebufferCreateInfo {
3290 VkStructureType sType;
3292 VkFramebufferCreateFlags flags;
3293 VkRenderPass renderPass;
3294 uint32_t attachmentCount;
3295 const VkImageView* pAttachments;
3299 } VkFramebufferCreateInfo;
3301 typedef struct VkSubpassDescription {
3302 VkSubpassDescriptionFlags flags;
3303 VkPipelineBindPoint pipelineBindPoint;
3304 uint32_t inputAttachmentCount;
3305 const VkAttachmentReference* pInputAttachments;
3306 uint32_t colorAttachmentCount;
3307 const VkAttachmentReference* pColorAttachments;
3308 const VkAttachmentReference* pResolveAttachments;
3309 const VkAttachmentReference* pDepthStencilAttachment;
3310 uint32_t preserveAttachmentCount;
3311 const uint32_t* pPreserveAttachments;
3312 } VkSubpassDescription;
3314 typedef struct VkSubpassDependency {
3315 uint32_t srcSubpass;
3316 uint32_t dstSubpass;
3317 VkPipelineStageFlags srcStageMask;
3318 VkPipelineStageFlags dstStageMask;
3319 VkAccessFlags srcAccessMask;
3320 VkAccessFlags dstAccessMask;
3321 VkDependencyFlags dependencyFlags;
3322 } VkSubpassDependency;
3324 typedef struct VkRenderPassCreateInfo {
3325 VkStructureType sType;
3327 VkRenderPassCreateFlags flags;
3328 uint32_t attachmentCount;
3329 const VkAttachmentDescription* pAttachments;
3330 uint32_t subpassCount;
3331 const VkSubpassDescription* pSubpasses;
3332 uint32_t dependencyCount;
3333 const VkSubpassDependency* pDependencies;
3334 } VkRenderPassCreateInfo;
3336 typedef struct VkCommandPoolCreateInfo {
3337 VkStructureType sType;
3339 VkCommandPoolCreateFlags flags;
3340 uint32_t queueFamilyIndex;
3341 } VkCommandPoolCreateInfo;
3343 typedef struct VkCommandBufferAllocateInfo {
3344 VkStructureType sType;
3346 VkCommandPool commandPool;
3347 VkCommandBufferLevel level;
3348 uint32_t commandBufferCount;
3349 } VkCommandBufferAllocateInfo;
3351 typedef struct VkCommandBufferInheritanceInfo {
3352 VkStructureType sType;
3354 VkRenderPass renderPass;
3356 VkFramebuffer framebuffer;
3357 VkBool32 occlusionQueryEnable;
3358 VkQueryControlFlags queryFlags;
3359 VkQueryPipelineStatisticFlags pipelineStatistics;
3360 } VkCommandBufferInheritanceInfo;
3362 typedef struct VkCommandBufferBeginInfo {
3363 VkStructureType sType;
3365 VkCommandBufferUsageFlags flags;
3366 const VkCommandBufferInheritanceInfo* pInheritanceInfo;
3367 } VkCommandBufferBeginInfo;
3369 typedef struct VkBufferCopy {
3370 VkDeviceSize srcOffset;
3371 VkDeviceSize dstOffset;
3375 typedef struct VkImageSubresourceLayers {
3376 VkImageAspectFlags aspectMask;
3378 uint32_t baseArrayLayer;
3379 uint32_t layerCount;
3380 } VkImageSubresourceLayers;
3382 typedef struct VkBufferImageCopy {
3383 VkDeviceSize bufferOffset;
3384 uint32_t bufferRowLength;
3385 uint32_t bufferImageHeight;
3386 VkImageSubresourceLayers imageSubresource;
3387 VkOffset3D imageOffset;
3388 VkExtent3D imageExtent;
3389 } VkBufferImageCopy;
3391 typedef union VkClearColorValue {
3395 } VkClearColorValue;
3397 typedef struct VkClearDepthStencilValue {
3400 } VkClearDepthStencilValue;
3402 typedef union VkClearValue {
3403 VkClearColorValue color;
3404 VkClearDepthStencilValue depthStencil;
3407 typedef struct VkClearAttachment {
3408 VkImageAspectFlags aspectMask;
3409 uint32_t colorAttachment;
3410 VkClearValue clearValue;
3411 } VkClearAttachment;
3413 typedef struct VkClearRect {
3415 uint32_t baseArrayLayer;
3416 uint32_t layerCount;
3419 typedef struct VkImageBlit {
3420 VkImageSubresourceLayers srcSubresource;
3421 VkOffset3D srcOffsets[2];
3422 VkImageSubresourceLayers dstSubresource;
3423 VkOffset3D dstOffsets[2];
3426 typedef struct VkImageCopy {
3427 VkImageSubresourceLayers srcSubresource;
3428 VkOffset3D srcOffset;
3429 VkImageSubresourceLayers dstSubresource;
3430 VkOffset3D dstOffset;
3434 typedef struct VkImageResolve {
3435 VkImageSubresourceLayers srcSubresource;
3436 VkOffset3D srcOffset;
3437 VkImageSubresourceLayers dstSubresource;
3438 VkOffset3D dstOffset;
3442 typedef struct VkRenderPassBeginInfo {
3443 VkStructureType sType;
3445 VkRenderPass renderPass;
3446 VkFramebuffer framebuffer;
3447 VkRect2D renderArea;
3448 uint32_t clearValueCount;
3449 const VkClearValue* pClearValues;
3450 } VkRenderPassBeginInfo;
3452 typedef VkResult (VKAPI_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance);
3453 typedef void (VKAPI_PTR *PFN_vkDestroyInstance)(VkInstance instance, const VkAllocationCallbacks* pAllocator);
3454 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDevices)(VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices);
3455 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures);
3456 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties);
3457 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties);
3458 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties);
3459 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties);
3460 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties);
3461 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddr)(VkInstance instance, const char* pName);
3462 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetDeviceProcAddr)(VkDevice device, const char* pName);
3463 typedef VkResult (VKAPI_PTR *PFN_vkCreateDevice)(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice);
3464 typedef void (VKAPI_PTR *PFN_vkDestroyDevice)(VkDevice device, const VkAllocationCallbacks* pAllocator);
3465 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceExtensionProperties)(const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties);
3466 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties);
3467 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceLayerProperties)(uint32_t* pPropertyCount, VkLayerProperties* pProperties);
3468 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties);
3469 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue)(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue);
3470 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence);
3471 typedef VkResult (VKAPI_PTR *PFN_vkQueueWaitIdle)(VkQueue queue);
3472 typedef VkResult (VKAPI_PTR *PFN_vkDeviceWaitIdle)(VkDevice device);
3473 typedef VkResult (VKAPI_PTR *PFN_vkAllocateMemory)(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory);
3474 typedef void (VKAPI_PTR *PFN_vkFreeMemory)(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator);
3475 typedef VkResult (VKAPI_PTR *PFN_vkMapMemory)(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData);
3476 typedef void (VKAPI_PTR *PFN_vkUnmapMemory)(VkDevice device, VkDeviceMemory memory);
3477 typedef VkResult (VKAPI_PTR *PFN_vkFlushMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
3478 typedef VkResult (VKAPI_PTR *PFN_vkInvalidateMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
3479 typedef void (VKAPI_PTR *PFN_vkGetDeviceMemoryCommitment)(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes);
3480 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory)(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset);
3481 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory)(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset);
3482 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements)(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements);
3483 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements)(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements);
3484 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements)(VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
3485 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties);
3486 typedef VkResult (VKAPI_PTR *PFN_vkQueueBindSparse)(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence);
3487 typedef VkResult (VKAPI_PTR *PFN_vkCreateFence)(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
3488 typedef void (VKAPI_PTR *PFN_vkDestroyFence)(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator);
3489 typedef VkResult (VKAPI_PTR *PFN_vkResetFences)(VkDevice device, uint32_t fenceCount, const VkFence* pFences);
3490 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceStatus)(VkDevice device, VkFence fence);
3491 typedef VkResult (VKAPI_PTR *PFN_vkWaitForFences)(VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout);
3492 typedef VkResult (VKAPI_PTR *PFN_vkCreateSemaphore)(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore);
3493 typedef void (VKAPI_PTR *PFN_vkDestroySemaphore)(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator);
3494 typedef VkResult (VKAPI_PTR *PFN_vkCreateEvent)(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent);
3495 typedef void (VKAPI_PTR *PFN_vkDestroyEvent)(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator);
3496 typedef VkResult (VKAPI_PTR *PFN_vkGetEventStatus)(VkDevice device, VkEvent event);
3497 typedef VkResult (VKAPI_PTR *PFN_vkSetEvent)(VkDevice device, VkEvent event);
3498 typedef VkResult (VKAPI_PTR *PFN_vkResetEvent)(VkDevice device, VkEvent event);
3499 typedef VkResult (VKAPI_PTR *PFN_vkCreateQueryPool)(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool);
3500 typedef void (VKAPI_PTR *PFN_vkDestroyQueryPool)(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator);
3501 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);
3502 typedef VkResult (VKAPI_PTR *PFN_vkCreateBuffer)(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer);
3503 typedef void (VKAPI_PTR *PFN_vkDestroyBuffer)(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator);
3504 typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferView)(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView);
3505 typedef void (VKAPI_PTR *PFN_vkDestroyBufferView)(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator);
3506 typedef VkResult (VKAPI_PTR *PFN_vkCreateImage)(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage);
3507 typedef void (VKAPI_PTR *PFN_vkDestroyImage)(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator);
3508 typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout)(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout);
3509 typedef VkResult (VKAPI_PTR *PFN_vkCreateImageView)(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView);
3510 typedef void (VKAPI_PTR *PFN_vkDestroyImageView)(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator);
3511 typedef VkResult (VKAPI_PTR *PFN_vkCreateShaderModule)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule);
3512 typedef void (VKAPI_PTR *PFN_vkDestroyShaderModule)(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator);
3513 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineCache)(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache);
3514 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineCache)(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator);
3515 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineCacheData)(VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData);
3516 typedef VkResult (VKAPI_PTR *PFN_vkMergePipelineCaches)(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches);
3517 typedef VkResult (VKAPI_PTR *PFN_vkCreateGraphicsPipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
3518 typedef VkResult (VKAPI_PTR *PFN_vkCreateComputePipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
3519 typedef void (VKAPI_PTR *PFN_vkDestroyPipeline)(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator);
3520 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineLayout)(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout);
3521 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineLayout)(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator);
3522 typedef VkResult (VKAPI_PTR *PFN_vkCreateSampler)(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler);
3523 typedef void (VKAPI_PTR *PFN_vkDestroySampler)(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator);
3524 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorSetLayout)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout);
3525 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorSetLayout)(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator);
3526 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorPool)(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool);
3527 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator);
3528 typedef VkResult (VKAPI_PTR *PFN_vkResetDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags);
3529 typedef VkResult (VKAPI_PTR *PFN_vkAllocateDescriptorSets)(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets);
3530 typedef VkResult (VKAPI_PTR *PFN_vkFreeDescriptorSets)(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets);
3531 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSets)(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies);
3532 typedef VkResult (VKAPI_PTR *PFN_vkCreateFramebuffer)(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer);
3533 typedef void (VKAPI_PTR *PFN_vkDestroyFramebuffer)(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator);
3534 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass)(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
3535 typedef void (VKAPI_PTR *PFN_vkDestroyRenderPass)(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator);
3536 typedef void (VKAPI_PTR *PFN_vkGetRenderAreaGranularity)(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity);
3537 typedef VkResult (VKAPI_PTR *PFN_vkCreateCommandPool)(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool);
3538 typedef void (VKAPI_PTR *PFN_vkDestroyCommandPool)(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator);
3539 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags);
3540 typedef VkResult (VKAPI_PTR *PFN_vkAllocateCommandBuffers)(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers);
3541 typedef void (VKAPI_PTR *PFN_vkFreeCommandBuffers)(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers);
3542 typedef VkResult (VKAPI_PTR *PFN_vkBeginCommandBuffer)(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo);
3543 typedef VkResult (VKAPI_PTR *PFN_vkEndCommandBuffer)(VkCommandBuffer commandBuffer);
3544 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandBuffer)(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags);
3545 typedef void (VKAPI_PTR *PFN_vkCmdBindPipeline)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline);
3546 typedef void (VKAPI_PTR *PFN_vkCmdSetViewport)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports);
3547 typedef void (VKAPI_PTR *PFN_vkCmdSetScissor)(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors);
3548 typedef void (VKAPI_PTR *PFN_vkCmdSetLineWidth)(VkCommandBuffer commandBuffer, float lineWidth);
3549 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias)(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor);
3550 typedef void (VKAPI_PTR *PFN_vkCmdSetBlendConstants)(VkCommandBuffer commandBuffer, const float blendConstants[4]);
3551 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBounds)(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds);
3552 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilCompareMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask);
3553 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilWriteMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask);
3554 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilReference)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference);
3555 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);
3556 typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType);
3557 typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets);
3558 typedef void (VKAPI_PTR *PFN_vkCmdDraw)(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance);
3559 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexed)(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance);
3560 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
3561 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
3562 typedef void (VKAPI_PTR *PFN_vkCmdDispatch)(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ);
3563 typedef void (VKAPI_PTR *PFN_vkCmdDispatchIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset);
3564 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions);
3565 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions);
3566 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter);
3567 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions);
3568 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions);
3569 typedef void (VKAPI_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData);
3570 typedef void (VKAPI_PTR *PFN_vkCmdFillBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data);
3571 typedef void (VKAPI_PTR *PFN_vkCmdClearColorImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges);
3572 typedef void (VKAPI_PTR *PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges);
3573 typedef void (VKAPI_PTR *PFN_vkCmdClearAttachments)(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects);
3574 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions);
3575 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
3576 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
3577 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);
3578 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);
3579 typedef void (VKAPI_PTR *PFN_vkCmdBeginQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags);
3580 typedef void (VKAPI_PTR *PFN_vkCmdEndQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query);
3581 typedef void (VKAPI_PTR *PFN_vkCmdResetQueryPool)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount);
3582 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query);
3583 typedef void (VKAPI_PTR *PFN_vkCmdCopyQueryPoolResults)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags);
3584 typedef void (VKAPI_PTR *PFN_vkCmdPushConstants)(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues);
3585 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents);
3586 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass)(VkCommandBuffer commandBuffer, VkSubpassContents contents);
3587 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass)(VkCommandBuffer commandBuffer);
3588 typedef void (VKAPI_PTR *PFN_vkCmdExecuteCommands)(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers);
3590 #ifndef VK_NO_PROTOTYPES
3591 VKAPI_ATTR VkResult VKAPI_CALL vkCreateInstance(
3592 const VkInstanceCreateInfo* pCreateInfo,
3593 const VkAllocationCallbacks* pAllocator,
3594 VkInstance* pInstance);
3596 VKAPI_ATTR void VKAPI_CALL vkDestroyInstance(
3597 VkInstance instance,
3598 const VkAllocationCallbacks* pAllocator);
3600 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDevices(
3601 VkInstance instance,
3602 uint32_t* pPhysicalDeviceCount,
3603 VkPhysicalDevice* pPhysicalDevices);
3605 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures(
3606 VkPhysicalDevice physicalDevice,
3607 VkPhysicalDeviceFeatures* pFeatures);
3609 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties(
3610 VkPhysicalDevice physicalDevice,
3612 VkFormatProperties* pFormatProperties);
3614 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties(
3615 VkPhysicalDevice physicalDevice,
3618 VkImageTiling tiling,
3619 VkImageUsageFlags usage,
3620 VkImageCreateFlags flags,
3621 VkImageFormatProperties* pImageFormatProperties);
3623 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties(
3624 VkPhysicalDevice physicalDevice,
3625 VkPhysicalDeviceProperties* pProperties);
3627 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties(
3628 VkPhysicalDevice physicalDevice,
3629 uint32_t* pQueueFamilyPropertyCount,
3630 VkQueueFamilyProperties* pQueueFamilyProperties);
3632 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties(
3633 VkPhysicalDevice physicalDevice,
3634 VkPhysicalDeviceMemoryProperties* pMemoryProperties);
3636 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr(
3637 VkInstance instance,
3640 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr(
3644 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDevice(
3645 VkPhysicalDevice physicalDevice,
3646 const VkDeviceCreateInfo* pCreateInfo,
3647 const VkAllocationCallbacks* pAllocator,
3650 VKAPI_ATTR void VKAPI_CALL vkDestroyDevice(
3652 const VkAllocationCallbacks* pAllocator);
3654 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionProperties(
3655 const char* pLayerName,
3656 uint32_t* pPropertyCount,
3657 VkExtensionProperties* pProperties);
3659 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceExtensionProperties(
3660 VkPhysicalDevice physicalDevice,
3661 const char* pLayerName,
3662 uint32_t* pPropertyCount,
3663 VkExtensionProperties* pProperties);
3665 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties(
3666 uint32_t* pPropertyCount,
3667 VkLayerProperties* pProperties);
3669 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceLayerProperties(
3670 VkPhysicalDevice physicalDevice,
3671 uint32_t* pPropertyCount,
3672 VkLayerProperties* pProperties);
3674 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue(
3676 uint32_t queueFamilyIndex,
3677 uint32_t queueIndex,
3680 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit(
3682 uint32_t submitCount,
3683 const VkSubmitInfo* pSubmits,
3686 VKAPI_ATTR VkResult VKAPI_CALL vkQueueWaitIdle(
3689 VKAPI_ATTR VkResult VKAPI_CALL vkDeviceWaitIdle(
3692 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateMemory(
3694 const VkMemoryAllocateInfo* pAllocateInfo,
3695 const VkAllocationCallbacks* pAllocator,
3696 VkDeviceMemory* pMemory);
3698 VKAPI_ATTR void VKAPI_CALL vkFreeMemory(
3700 VkDeviceMemory memory,
3701 const VkAllocationCallbacks* pAllocator);
3703 VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory(
3705 VkDeviceMemory memory,
3706 VkDeviceSize offset,
3708 VkMemoryMapFlags flags,
3711 VKAPI_ATTR void VKAPI_CALL vkUnmapMemory(
3713 VkDeviceMemory memory);
3715 VKAPI_ATTR VkResult VKAPI_CALL vkFlushMappedMemoryRanges(
3717 uint32_t memoryRangeCount,
3718 const VkMappedMemoryRange* pMemoryRanges);
3720 VKAPI_ATTR VkResult VKAPI_CALL vkInvalidateMappedMemoryRanges(
3722 uint32_t memoryRangeCount,
3723 const VkMappedMemoryRange* pMemoryRanges);
3725 VKAPI_ATTR void VKAPI_CALL vkGetDeviceMemoryCommitment(
3727 VkDeviceMemory memory,
3728 VkDeviceSize* pCommittedMemoryInBytes);
3730 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory(
3733 VkDeviceMemory memory,
3734 VkDeviceSize memoryOffset);
3736 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory(
3739 VkDeviceMemory memory,
3740 VkDeviceSize memoryOffset);
3742 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements(
3745 VkMemoryRequirements* pMemoryRequirements);
3747 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements(
3750 VkMemoryRequirements* pMemoryRequirements);
3752 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements(
3755 uint32_t* pSparseMemoryRequirementCount,
3756 VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
3758 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties(
3759 VkPhysicalDevice physicalDevice,
3762 VkSampleCountFlagBits samples,
3763 VkImageUsageFlags usage,
3764 VkImageTiling tiling,
3765 uint32_t* pPropertyCount,
3766 VkSparseImageFormatProperties* pProperties);
3768 VKAPI_ATTR VkResult VKAPI_CALL vkQueueBindSparse(
3770 uint32_t bindInfoCount,
3771 const VkBindSparseInfo* pBindInfo,
3774 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFence(
3776 const VkFenceCreateInfo* pCreateInfo,
3777 const VkAllocationCallbacks* pAllocator,
3780 VKAPI_ATTR void VKAPI_CALL vkDestroyFence(
3783 const VkAllocationCallbacks* pAllocator);
3785 VKAPI_ATTR VkResult VKAPI_CALL vkResetFences(
3787 uint32_t fenceCount,
3788 const VkFence* pFences);
3790 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceStatus(
3794 VKAPI_ATTR VkResult VKAPI_CALL vkWaitForFences(
3796 uint32_t fenceCount,
3797 const VkFence* pFences,
3801 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSemaphore(
3803 const VkSemaphoreCreateInfo* pCreateInfo,
3804 const VkAllocationCallbacks* pAllocator,
3805 VkSemaphore* pSemaphore);
3807 VKAPI_ATTR void VKAPI_CALL vkDestroySemaphore(
3809 VkSemaphore semaphore,
3810 const VkAllocationCallbacks* pAllocator);
3812 VKAPI_ATTR VkResult VKAPI_CALL vkCreateEvent(
3814 const VkEventCreateInfo* pCreateInfo,
3815 const VkAllocationCallbacks* pAllocator,
3818 VKAPI_ATTR void VKAPI_CALL vkDestroyEvent(
3821 const VkAllocationCallbacks* pAllocator);
3823 VKAPI_ATTR VkResult VKAPI_CALL vkGetEventStatus(
3827 VKAPI_ATTR VkResult VKAPI_CALL vkSetEvent(
3831 VKAPI_ATTR VkResult VKAPI_CALL vkResetEvent(
3835 VKAPI_ATTR VkResult VKAPI_CALL vkCreateQueryPool(
3837 const VkQueryPoolCreateInfo* pCreateInfo,
3838 const VkAllocationCallbacks* pAllocator,
3839 VkQueryPool* pQueryPool);
3841 VKAPI_ATTR void VKAPI_CALL vkDestroyQueryPool(
3843 VkQueryPool queryPool,
3844 const VkAllocationCallbacks* pAllocator);
3846 VKAPI_ATTR VkResult VKAPI_CALL vkGetQueryPoolResults(
3848 VkQueryPool queryPool,
3849 uint32_t firstQuery,
3850 uint32_t queryCount,
3853 VkDeviceSize stride,
3854 VkQueryResultFlags flags);
3856 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBuffer(
3858 const VkBufferCreateInfo* pCreateInfo,
3859 const VkAllocationCallbacks* pAllocator,
3862 VKAPI_ATTR void VKAPI_CALL vkDestroyBuffer(
3865 const VkAllocationCallbacks* pAllocator);
3867 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferView(
3869 const VkBufferViewCreateInfo* pCreateInfo,
3870 const VkAllocationCallbacks* pAllocator,
3871 VkBufferView* pView);
3873 VKAPI_ATTR void VKAPI_CALL vkDestroyBufferView(
3875 VkBufferView bufferView,
3876 const VkAllocationCallbacks* pAllocator);
3878 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImage(
3880 const VkImageCreateInfo* pCreateInfo,
3881 const VkAllocationCallbacks* pAllocator,
3884 VKAPI_ATTR void VKAPI_CALL vkDestroyImage(
3887 const VkAllocationCallbacks* pAllocator);
3889 VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout(
3892 const VkImageSubresource* pSubresource,
3893 VkSubresourceLayout* pLayout);
3895 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImageView(
3897 const VkImageViewCreateInfo* pCreateInfo,
3898 const VkAllocationCallbacks* pAllocator,
3899 VkImageView* pView);
3901 VKAPI_ATTR void VKAPI_CALL vkDestroyImageView(
3903 VkImageView imageView,
3904 const VkAllocationCallbacks* pAllocator);
3906 VKAPI_ATTR VkResult VKAPI_CALL vkCreateShaderModule(
3908 const VkShaderModuleCreateInfo* pCreateInfo,
3909 const VkAllocationCallbacks* pAllocator,
3910 VkShaderModule* pShaderModule);
3912 VKAPI_ATTR void VKAPI_CALL vkDestroyShaderModule(
3914 VkShaderModule shaderModule,
3915 const VkAllocationCallbacks* pAllocator);
3917 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineCache(
3919 const VkPipelineCacheCreateInfo* pCreateInfo,
3920 const VkAllocationCallbacks* pAllocator,
3921 VkPipelineCache* pPipelineCache);
3923 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineCache(
3925 VkPipelineCache pipelineCache,
3926 const VkAllocationCallbacks* pAllocator);
3928 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineCacheData(
3930 VkPipelineCache pipelineCache,
3934 VKAPI_ATTR VkResult VKAPI_CALL vkMergePipelineCaches(
3936 VkPipelineCache dstCache,
3937 uint32_t srcCacheCount,
3938 const VkPipelineCache* pSrcCaches);
3940 VKAPI_ATTR VkResult VKAPI_CALL vkCreateGraphicsPipelines(
3942 VkPipelineCache pipelineCache,
3943 uint32_t createInfoCount,
3944 const VkGraphicsPipelineCreateInfo* pCreateInfos,
3945 const VkAllocationCallbacks* pAllocator,
3946 VkPipeline* pPipelines);
3948 VKAPI_ATTR VkResult VKAPI_CALL vkCreateComputePipelines(
3950 VkPipelineCache pipelineCache,
3951 uint32_t createInfoCount,
3952 const VkComputePipelineCreateInfo* pCreateInfos,
3953 const VkAllocationCallbacks* pAllocator,
3954 VkPipeline* pPipelines);
3956 VKAPI_ATTR void VKAPI_CALL vkDestroyPipeline(
3958 VkPipeline pipeline,
3959 const VkAllocationCallbacks* pAllocator);
3961 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineLayout(
3963 const VkPipelineLayoutCreateInfo* pCreateInfo,
3964 const VkAllocationCallbacks* pAllocator,
3965 VkPipelineLayout* pPipelineLayout);
3967 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineLayout(
3969 VkPipelineLayout pipelineLayout,
3970 const VkAllocationCallbacks* pAllocator);
3972 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSampler(
3974 const VkSamplerCreateInfo* pCreateInfo,
3975 const VkAllocationCallbacks* pAllocator,
3976 VkSampler* pSampler);
3978 VKAPI_ATTR void VKAPI_CALL vkDestroySampler(
3981 const VkAllocationCallbacks* pAllocator);
3983 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorSetLayout(
3985 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
3986 const VkAllocationCallbacks* pAllocator,
3987 VkDescriptorSetLayout* pSetLayout);
3989 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorSetLayout(
3991 VkDescriptorSetLayout descriptorSetLayout,
3992 const VkAllocationCallbacks* pAllocator);
3994 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorPool(
3996 const VkDescriptorPoolCreateInfo* pCreateInfo,
3997 const VkAllocationCallbacks* pAllocator,
3998 VkDescriptorPool* pDescriptorPool);
4000 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorPool(
4002 VkDescriptorPool descriptorPool,
4003 const VkAllocationCallbacks* pAllocator);
4005 VKAPI_ATTR VkResult VKAPI_CALL vkResetDescriptorPool(
4007 VkDescriptorPool descriptorPool,
4008 VkDescriptorPoolResetFlags flags);
4010 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateDescriptorSets(
4012 const VkDescriptorSetAllocateInfo* pAllocateInfo,
4013 VkDescriptorSet* pDescriptorSets);
4015 VKAPI_ATTR VkResult VKAPI_CALL vkFreeDescriptorSets(
4017 VkDescriptorPool descriptorPool,
4018 uint32_t descriptorSetCount,
4019 const VkDescriptorSet* pDescriptorSets);
4021 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSets(
4023 uint32_t descriptorWriteCount,
4024 const VkWriteDescriptorSet* pDescriptorWrites,
4025 uint32_t descriptorCopyCount,
4026 const VkCopyDescriptorSet* pDescriptorCopies);
4028 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFramebuffer(
4030 const VkFramebufferCreateInfo* pCreateInfo,
4031 const VkAllocationCallbacks* pAllocator,
4032 VkFramebuffer* pFramebuffer);
4034 VKAPI_ATTR void VKAPI_CALL vkDestroyFramebuffer(
4036 VkFramebuffer framebuffer,
4037 const VkAllocationCallbacks* pAllocator);
4039 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass(
4041 const VkRenderPassCreateInfo* pCreateInfo,
4042 const VkAllocationCallbacks* pAllocator,
4043 VkRenderPass* pRenderPass);
4045 VKAPI_ATTR void VKAPI_CALL vkDestroyRenderPass(
4047 VkRenderPass renderPass,
4048 const VkAllocationCallbacks* pAllocator);
4050 VKAPI_ATTR void VKAPI_CALL vkGetRenderAreaGranularity(
4052 VkRenderPass renderPass,
4053 VkExtent2D* pGranularity);
4055 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCommandPool(
4057 const VkCommandPoolCreateInfo* pCreateInfo,
4058 const VkAllocationCallbacks* pAllocator,
4059 VkCommandPool* pCommandPool);
4061 VKAPI_ATTR void VKAPI_CALL vkDestroyCommandPool(
4063 VkCommandPool commandPool,
4064 const VkAllocationCallbacks* pAllocator);
4066 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandPool(
4068 VkCommandPool commandPool,
4069 VkCommandPoolResetFlags flags);
4071 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateCommandBuffers(
4073 const VkCommandBufferAllocateInfo* pAllocateInfo,
4074 VkCommandBuffer* pCommandBuffers);
4076 VKAPI_ATTR void VKAPI_CALL vkFreeCommandBuffers(
4078 VkCommandPool commandPool,
4079 uint32_t commandBufferCount,
4080 const VkCommandBuffer* pCommandBuffers);
4082 VKAPI_ATTR VkResult VKAPI_CALL vkBeginCommandBuffer(
4083 VkCommandBuffer commandBuffer,
4084 const VkCommandBufferBeginInfo* pBeginInfo);
4086 VKAPI_ATTR VkResult VKAPI_CALL vkEndCommandBuffer(
4087 VkCommandBuffer commandBuffer);
4089 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandBuffer(
4090 VkCommandBuffer commandBuffer,
4091 VkCommandBufferResetFlags flags);
4093 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipeline(
4094 VkCommandBuffer commandBuffer,
4095 VkPipelineBindPoint pipelineBindPoint,
4096 VkPipeline pipeline);
4098 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewport(
4099 VkCommandBuffer commandBuffer,
4100 uint32_t firstViewport,
4101 uint32_t viewportCount,
4102 const VkViewport* pViewports);
4104 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissor(
4105 VkCommandBuffer commandBuffer,
4106 uint32_t firstScissor,
4107 uint32_t scissorCount,
4108 const VkRect2D* pScissors);
4110 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineWidth(
4111 VkCommandBuffer commandBuffer,
4114 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias(
4115 VkCommandBuffer commandBuffer,
4116 float depthBiasConstantFactor,
4117 float depthBiasClamp,
4118 float depthBiasSlopeFactor);
4120 VKAPI_ATTR void VKAPI_CALL vkCmdSetBlendConstants(
4121 VkCommandBuffer commandBuffer,
4122 const float blendConstants[4]);
4124 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBounds(
4125 VkCommandBuffer commandBuffer,
4126 float minDepthBounds,
4127 float maxDepthBounds);
4129 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilCompareMask(
4130 VkCommandBuffer commandBuffer,
4131 VkStencilFaceFlags faceMask,
4132 uint32_t compareMask);
4134 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilWriteMask(
4135 VkCommandBuffer commandBuffer,
4136 VkStencilFaceFlags faceMask,
4137 uint32_t writeMask);
4139 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilReference(
4140 VkCommandBuffer commandBuffer,
4141 VkStencilFaceFlags faceMask,
4142 uint32_t reference);
4144 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets(
4145 VkCommandBuffer commandBuffer,
4146 VkPipelineBindPoint pipelineBindPoint,
4147 VkPipelineLayout layout,
4149 uint32_t descriptorSetCount,
4150 const VkDescriptorSet* pDescriptorSets,
4151 uint32_t dynamicOffsetCount,
4152 const uint32_t* pDynamicOffsets);
4154 VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer(
4155 VkCommandBuffer commandBuffer,
4157 VkDeviceSize offset,
4158 VkIndexType indexType);
4160 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers(
4161 VkCommandBuffer commandBuffer,
4162 uint32_t firstBinding,
4163 uint32_t bindingCount,
4164 const VkBuffer* pBuffers,
4165 const VkDeviceSize* pOffsets);
4167 VKAPI_ATTR void VKAPI_CALL vkCmdDraw(
4168 VkCommandBuffer commandBuffer,
4169 uint32_t vertexCount,
4170 uint32_t instanceCount,
4171 uint32_t firstVertex,
4172 uint32_t firstInstance);
4174 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexed(
4175 VkCommandBuffer commandBuffer,
4176 uint32_t indexCount,
4177 uint32_t instanceCount,
4178 uint32_t firstIndex,
4179 int32_t vertexOffset,
4180 uint32_t firstInstance);
4182 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirect(
4183 VkCommandBuffer commandBuffer,
4185 VkDeviceSize offset,
4189 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirect(
4190 VkCommandBuffer commandBuffer,
4192 VkDeviceSize offset,
4196 VKAPI_ATTR void VKAPI_CALL vkCmdDispatch(
4197 VkCommandBuffer commandBuffer,
4198 uint32_t groupCountX,
4199 uint32_t groupCountY,
4200 uint32_t groupCountZ);
4202 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchIndirect(
4203 VkCommandBuffer commandBuffer,
4205 VkDeviceSize offset);
4207 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer(
4208 VkCommandBuffer commandBuffer,
4211 uint32_t regionCount,
4212 const VkBufferCopy* pRegions);
4214 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage(
4215 VkCommandBuffer commandBuffer,
4217 VkImageLayout srcImageLayout,
4219 VkImageLayout dstImageLayout,
4220 uint32_t regionCount,
4221 const VkImageCopy* pRegions);
4223 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage(
4224 VkCommandBuffer commandBuffer,
4226 VkImageLayout srcImageLayout,
4228 VkImageLayout dstImageLayout,
4229 uint32_t regionCount,
4230 const VkImageBlit* pRegions,
4233 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage(
4234 VkCommandBuffer commandBuffer,
4237 VkImageLayout dstImageLayout,
4238 uint32_t regionCount,
4239 const VkBufferImageCopy* pRegions);
4241 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer(
4242 VkCommandBuffer commandBuffer,
4244 VkImageLayout srcImageLayout,
4246 uint32_t regionCount,
4247 const VkBufferImageCopy* pRegions);
4249 VKAPI_ATTR void VKAPI_CALL vkCmdUpdateBuffer(
4250 VkCommandBuffer commandBuffer,
4252 VkDeviceSize dstOffset,
4253 VkDeviceSize dataSize,
4256 VKAPI_ATTR void VKAPI_CALL vkCmdFillBuffer(
4257 VkCommandBuffer commandBuffer,
4259 VkDeviceSize dstOffset,
4263 VKAPI_ATTR void VKAPI_CALL vkCmdClearColorImage(
4264 VkCommandBuffer commandBuffer,
4266 VkImageLayout imageLayout,
4267 const VkClearColorValue* pColor,
4268 uint32_t rangeCount,
4269 const VkImageSubresourceRange* pRanges);
4271 VKAPI_ATTR void VKAPI_CALL vkCmdClearDepthStencilImage(
4272 VkCommandBuffer commandBuffer,
4274 VkImageLayout imageLayout,
4275 const VkClearDepthStencilValue* pDepthStencil,
4276 uint32_t rangeCount,
4277 const VkImageSubresourceRange* pRanges);
4279 VKAPI_ATTR void VKAPI_CALL vkCmdClearAttachments(
4280 VkCommandBuffer commandBuffer,
4281 uint32_t attachmentCount,
4282 const VkClearAttachment* pAttachments,
4284 const VkClearRect* pRects);
4286 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage(
4287 VkCommandBuffer commandBuffer,
4289 VkImageLayout srcImageLayout,
4291 VkImageLayout dstImageLayout,
4292 uint32_t regionCount,
4293 const VkImageResolve* pRegions);
4295 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent(
4296 VkCommandBuffer commandBuffer,
4298 VkPipelineStageFlags stageMask);
4300 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent(
4301 VkCommandBuffer commandBuffer,
4303 VkPipelineStageFlags stageMask);
4305 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents(
4306 VkCommandBuffer commandBuffer,
4307 uint32_t eventCount,
4308 const VkEvent* pEvents,
4309 VkPipelineStageFlags srcStageMask,
4310 VkPipelineStageFlags dstStageMask,
4311 uint32_t memoryBarrierCount,
4312 const VkMemoryBarrier* pMemoryBarriers,
4313 uint32_t bufferMemoryBarrierCount,
4314 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
4315 uint32_t imageMemoryBarrierCount,
4316 const VkImageMemoryBarrier* pImageMemoryBarriers);
4318 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier(
4319 VkCommandBuffer commandBuffer,
4320 VkPipelineStageFlags srcStageMask,
4321 VkPipelineStageFlags dstStageMask,
4322 VkDependencyFlags dependencyFlags,
4323 uint32_t memoryBarrierCount,
4324 const VkMemoryBarrier* pMemoryBarriers,
4325 uint32_t bufferMemoryBarrierCount,
4326 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
4327 uint32_t imageMemoryBarrierCount,
4328 const VkImageMemoryBarrier* pImageMemoryBarriers);
4330 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQuery(
4331 VkCommandBuffer commandBuffer,
4332 VkQueryPool queryPool,
4334 VkQueryControlFlags flags);
4336 VKAPI_ATTR void VKAPI_CALL vkCmdEndQuery(
4337 VkCommandBuffer commandBuffer,
4338 VkQueryPool queryPool,
4341 VKAPI_ATTR void VKAPI_CALL vkCmdResetQueryPool(
4342 VkCommandBuffer commandBuffer,
4343 VkQueryPool queryPool,
4344 uint32_t firstQuery,
4345 uint32_t queryCount);
4347 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp(
4348 VkCommandBuffer commandBuffer,
4349 VkPipelineStageFlagBits pipelineStage,
4350 VkQueryPool queryPool,
4353 VKAPI_ATTR void VKAPI_CALL vkCmdCopyQueryPoolResults(
4354 VkCommandBuffer commandBuffer,
4355 VkQueryPool queryPool,
4356 uint32_t firstQuery,
4357 uint32_t queryCount,
4359 VkDeviceSize dstOffset,
4360 VkDeviceSize stride,
4361 VkQueryResultFlags flags);
4363 VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants(
4364 VkCommandBuffer commandBuffer,
4365 VkPipelineLayout layout,
4366 VkShaderStageFlags stageFlags,
4369 const void* pValues);
4371 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass(
4372 VkCommandBuffer commandBuffer,
4373 const VkRenderPassBeginInfo* pRenderPassBegin,
4374 VkSubpassContents contents);
4376 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass(
4377 VkCommandBuffer commandBuffer,
4378 VkSubpassContents contents);
4380 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass(
4381 VkCommandBuffer commandBuffer);
4383 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteCommands(
4384 VkCommandBuffer commandBuffer,
4385 uint32_t commandBufferCount,
4386 const VkCommandBuffer* pCommandBuffers);
4390 #define VK_VERSION_1_1 1
4391 // Vulkan 1.1 version number
4392 #define VK_API_VERSION_1_1 VK_MAKE_API_VERSION(0, 1, 1, 0)// Patch version should always be set to 0
4394 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion)
4395 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate)
4396 #define VK_MAX_DEVICE_GROUP_SIZE 32U
4397 #define VK_LUID_SIZE 8U
4398 #define VK_QUEUE_FAMILY_EXTERNAL (~1U)
4400 typedef enum VkPointClippingBehavior {
4401 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES = 0,
4402 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY = 1,
4403 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES,
4404 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY,
4405 VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF
4406 } VkPointClippingBehavior;
4408 typedef enum VkTessellationDomainOrigin {
4409 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT = 0,
4410 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT = 1,
4411 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT,
4412 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT,
4413 VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM = 0x7FFFFFFF
4414 } VkTessellationDomainOrigin;
4416 typedef enum VkSamplerYcbcrModelConversion {
4417 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY = 0,
4418 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY = 1,
4419 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 = 2,
4420 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 = 3,
4421 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 = 4,
4422 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY,
4423 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY,
4424 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709,
4425 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601,
4426 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020,
4427 VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM = 0x7FFFFFFF
4428 } VkSamplerYcbcrModelConversion;
4430 typedef enum VkSamplerYcbcrRange {
4431 VK_SAMPLER_YCBCR_RANGE_ITU_FULL = 0,
4432 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW = 1,
4433 VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_FULL,
4434 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW,
4435 VK_SAMPLER_YCBCR_RANGE_MAX_ENUM = 0x7FFFFFFF
4436 } VkSamplerYcbcrRange;
4438 typedef enum VkChromaLocation {
4439 VK_CHROMA_LOCATION_COSITED_EVEN = 0,
4440 VK_CHROMA_LOCATION_MIDPOINT = 1,
4441 VK_CHROMA_LOCATION_COSITED_EVEN_KHR = VK_CHROMA_LOCATION_COSITED_EVEN,
4442 VK_CHROMA_LOCATION_MIDPOINT_KHR = VK_CHROMA_LOCATION_MIDPOINT,
4443 VK_CHROMA_LOCATION_MAX_ENUM = 0x7FFFFFFF
4446 typedef enum VkDescriptorUpdateTemplateType {
4447 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET = 0,
4448 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR = 1,
4449 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,
4450 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM = 0x7FFFFFFF
4451 } VkDescriptorUpdateTemplateType;
4453 typedef enum VkSubgroupFeatureFlagBits {
4454 VK_SUBGROUP_FEATURE_BASIC_BIT = 0x00000001,
4455 VK_SUBGROUP_FEATURE_VOTE_BIT = 0x00000002,
4456 VK_SUBGROUP_FEATURE_ARITHMETIC_BIT = 0x00000004,
4457 VK_SUBGROUP_FEATURE_BALLOT_BIT = 0x00000008,
4458 VK_SUBGROUP_FEATURE_SHUFFLE_BIT = 0x00000010,
4459 VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = 0x00000020,
4460 VK_SUBGROUP_FEATURE_CLUSTERED_BIT = 0x00000040,
4461 VK_SUBGROUP_FEATURE_QUAD_BIT = 0x00000080,
4462 VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x00000100,
4463 VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4464 } VkSubgroupFeatureFlagBits;
4465 typedef VkFlags VkSubgroupFeatureFlags;
4467 typedef enum VkPeerMemoryFeatureFlagBits {
4468 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT = 0x00000001,
4469 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT = 0x00000002,
4470 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT = 0x00000004,
4471 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT = 0x00000008,
4472 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT,
4473 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_DST_BIT,
4474 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT,
4475 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT,
4476 VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4477 } VkPeerMemoryFeatureFlagBits;
4478 typedef VkFlags VkPeerMemoryFeatureFlags;
4480 typedef enum VkMemoryAllocateFlagBits {
4481 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT = 0x00000001,
4482 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT = 0x00000002,
4483 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000004,
4484 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT,
4485 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT,
4486 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
4487 VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4488 } VkMemoryAllocateFlagBits;
4489 typedef VkFlags VkMemoryAllocateFlags;
4490 typedef VkFlags VkCommandPoolTrimFlags;
4491 typedef VkFlags VkDescriptorUpdateTemplateCreateFlags;
4493 typedef enum VkExternalMemoryHandleTypeFlagBits {
4494 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
4495 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
4496 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
4497 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT = 0x00000008,
4498 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT = 0x00000010,
4499 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT = 0x00000020,
4500 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT = 0x00000040,
4501 VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT = 0x00000200,
4502 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID = 0x00000400,
4503 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 0x00000080,
4504 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 0x00000100,
4505 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA = 0x00000800,
4506 VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV = 0x00001000,
4507 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT,
4508 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT,
4509 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
4510 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT,
4511 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT,
4512 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT,
4513 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT,
4514 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4515 } VkExternalMemoryHandleTypeFlagBits;
4516 typedef VkFlags VkExternalMemoryHandleTypeFlags;
4518 typedef enum VkExternalMemoryFeatureFlagBits {
4519 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT = 0x00000001,
4520 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT = 0x00000002,
4521 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT = 0x00000004,
4522 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT,
4523 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT,
4524 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT,
4525 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4526 } VkExternalMemoryFeatureFlagBits;
4527 typedef VkFlags VkExternalMemoryFeatureFlags;
4529 typedef enum VkExternalFenceHandleTypeFlagBits {
4530 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
4531 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
4532 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
4533 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000008,
4534 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT,
4535 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
4536 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
4537 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT,
4538 VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4539 } VkExternalFenceHandleTypeFlagBits;
4540 typedef VkFlags VkExternalFenceHandleTypeFlags;
4542 typedef enum VkExternalFenceFeatureFlagBits {
4543 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT = 0x00000001,
4544 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT = 0x00000002,
4545 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT,
4546 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT,
4547 VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4548 } VkExternalFenceFeatureFlagBits;
4549 typedef VkFlags VkExternalFenceFeatureFlags;
4551 typedef enum VkFenceImportFlagBits {
4552 VK_FENCE_IMPORT_TEMPORARY_BIT = 0x00000001,
4553 VK_FENCE_IMPORT_TEMPORARY_BIT_KHR = VK_FENCE_IMPORT_TEMPORARY_BIT,
4554 VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4555 } VkFenceImportFlagBits;
4556 typedef VkFlags VkFenceImportFlags;
4558 typedef enum VkSemaphoreImportFlagBits {
4559 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT = 0x00000001,
4560 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT,
4561 VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4562 } VkSemaphoreImportFlagBits;
4563 typedef VkFlags VkSemaphoreImportFlags;
4565 typedef enum VkExternalSemaphoreHandleTypeFlagBits {
4566 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
4567 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
4568 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
4569 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT = 0x00000008,
4570 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000010,
4571 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA = 0x00000080,
4572 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
4573 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT,
4574 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
4575 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
4576 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
4577 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT,
4578 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4579 } VkExternalSemaphoreHandleTypeFlagBits;
4580 typedef VkFlags VkExternalSemaphoreHandleTypeFlags;
4582 typedef enum VkExternalSemaphoreFeatureFlagBits {
4583 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT = 0x00000001,
4584 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT = 0x00000002,
4585 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT,
4586 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT,
4587 VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4588 } VkExternalSemaphoreFeatureFlagBits;
4589 typedef VkFlags VkExternalSemaphoreFeatureFlags;
4590 typedef struct VkPhysicalDeviceSubgroupProperties {
4591 VkStructureType sType;
4593 uint32_t subgroupSize;
4594 VkShaderStageFlags supportedStages;
4595 VkSubgroupFeatureFlags supportedOperations;
4596 VkBool32 quadOperationsInAllStages;
4597 } VkPhysicalDeviceSubgroupProperties;
4599 typedef struct VkBindBufferMemoryInfo {
4600 VkStructureType sType;
4603 VkDeviceMemory memory;
4604 VkDeviceSize memoryOffset;
4605 } VkBindBufferMemoryInfo;
4607 typedef struct VkBindImageMemoryInfo {
4608 VkStructureType sType;
4611 VkDeviceMemory memory;
4612 VkDeviceSize memoryOffset;
4613 } VkBindImageMemoryInfo;
4615 typedef struct VkPhysicalDevice16BitStorageFeatures {
4616 VkStructureType sType;
4618 VkBool32 storageBuffer16BitAccess;
4619 VkBool32 uniformAndStorageBuffer16BitAccess;
4620 VkBool32 storagePushConstant16;
4621 VkBool32 storageInputOutput16;
4622 } VkPhysicalDevice16BitStorageFeatures;
4624 typedef struct VkMemoryDedicatedRequirements {
4625 VkStructureType sType;
4627 VkBool32 prefersDedicatedAllocation;
4628 VkBool32 requiresDedicatedAllocation;
4629 } VkMemoryDedicatedRequirements;
4631 typedef struct VkMemoryDedicatedAllocateInfo {
4632 VkStructureType sType;
4636 } VkMemoryDedicatedAllocateInfo;
4638 typedef struct VkMemoryAllocateFlagsInfo {
4639 VkStructureType sType;
4641 VkMemoryAllocateFlags flags;
4642 uint32_t deviceMask;
4643 } VkMemoryAllocateFlagsInfo;
4645 typedef struct VkDeviceGroupRenderPassBeginInfo {
4646 VkStructureType sType;
4648 uint32_t deviceMask;
4649 uint32_t deviceRenderAreaCount;
4650 const VkRect2D* pDeviceRenderAreas;
4651 } VkDeviceGroupRenderPassBeginInfo;
4653 typedef struct VkDeviceGroupCommandBufferBeginInfo {
4654 VkStructureType sType;
4656 uint32_t deviceMask;
4657 } VkDeviceGroupCommandBufferBeginInfo;
4659 typedef struct VkDeviceGroupSubmitInfo {
4660 VkStructureType sType;
4662 uint32_t waitSemaphoreCount;
4663 const uint32_t* pWaitSemaphoreDeviceIndices;
4664 uint32_t commandBufferCount;
4665 const uint32_t* pCommandBufferDeviceMasks;
4666 uint32_t signalSemaphoreCount;
4667 const uint32_t* pSignalSemaphoreDeviceIndices;
4668 } VkDeviceGroupSubmitInfo;
4670 typedef struct VkDeviceGroupBindSparseInfo {
4671 VkStructureType sType;
4673 uint32_t resourceDeviceIndex;
4674 uint32_t memoryDeviceIndex;
4675 } VkDeviceGroupBindSparseInfo;
4677 typedef struct VkBindBufferMemoryDeviceGroupInfo {
4678 VkStructureType sType;
4680 uint32_t deviceIndexCount;
4681 const uint32_t* pDeviceIndices;
4682 } VkBindBufferMemoryDeviceGroupInfo;
4684 typedef struct VkBindImageMemoryDeviceGroupInfo {
4685 VkStructureType sType;
4687 uint32_t deviceIndexCount;
4688 const uint32_t* pDeviceIndices;
4689 uint32_t splitInstanceBindRegionCount;
4690 const VkRect2D* pSplitInstanceBindRegions;
4691 } VkBindImageMemoryDeviceGroupInfo;
4693 typedef struct VkPhysicalDeviceGroupProperties {
4694 VkStructureType sType;
4696 uint32_t physicalDeviceCount;
4697 VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE];
4698 VkBool32 subsetAllocation;
4699 } VkPhysicalDeviceGroupProperties;
4701 typedef struct VkDeviceGroupDeviceCreateInfo {
4702 VkStructureType sType;
4704 uint32_t physicalDeviceCount;
4705 const VkPhysicalDevice* pPhysicalDevices;
4706 } VkDeviceGroupDeviceCreateInfo;
4708 typedef struct VkBufferMemoryRequirementsInfo2 {
4709 VkStructureType sType;
4712 } VkBufferMemoryRequirementsInfo2;
4714 typedef struct VkImageMemoryRequirementsInfo2 {
4715 VkStructureType sType;
4718 } VkImageMemoryRequirementsInfo2;
4720 typedef struct VkImageSparseMemoryRequirementsInfo2 {
4721 VkStructureType sType;
4724 } VkImageSparseMemoryRequirementsInfo2;
4726 typedef struct VkMemoryRequirements2 {
4727 VkStructureType sType;
4729 VkMemoryRequirements memoryRequirements;
4730 } VkMemoryRequirements2;
4732 typedef struct VkSparseImageMemoryRequirements2 {
4733 VkStructureType sType;
4735 VkSparseImageMemoryRequirements memoryRequirements;
4736 } VkSparseImageMemoryRequirements2;
4738 typedef struct VkPhysicalDeviceFeatures2 {
4739 VkStructureType sType;
4741 VkPhysicalDeviceFeatures features;
4742 } VkPhysicalDeviceFeatures2;
4744 typedef struct VkPhysicalDeviceProperties2 {
4745 VkStructureType sType;
4747 VkPhysicalDeviceProperties properties;
4748 } VkPhysicalDeviceProperties2;
4750 typedef struct VkFormatProperties2 {
4751 VkStructureType sType;
4753 VkFormatProperties formatProperties;
4754 } VkFormatProperties2;
4756 typedef struct VkImageFormatProperties2 {
4757 VkStructureType sType;
4759 VkImageFormatProperties imageFormatProperties;
4760 } VkImageFormatProperties2;
4762 typedef struct VkPhysicalDeviceImageFormatInfo2 {
4763 VkStructureType sType;
4767 VkImageTiling tiling;
4768 VkImageUsageFlags usage;
4769 VkImageCreateFlags flags;
4770 } VkPhysicalDeviceImageFormatInfo2;
4772 typedef struct VkQueueFamilyProperties2 {
4773 VkStructureType sType;
4775 VkQueueFamilyProperties queueFamilyProperties;
4776 } VkQueueFamilyProperties2;
4778 typedef struct VkPhysicalDeviceMemoryProperties2 {
4779 VkStructureType sType;
4781 VkPhysicalDeviceMemoryProperties memoryProperties;
4782 } VkPhysicalDeviceMemoryProperties2;
4784 typedef struct VkSparseImageFormatProperties2 {
4785 VkStructureType sType;
4787 VkSparseImageFormatProperties properties;
4788 } VkSparseImageFormatProperties2;
4790 typedef struct VkPhysicalDeviceSparseImageFormatInfo2 {
4791 VkStructureType sType;
4795 VkSampleCountFlagBits samples;
4796 VkImageUsageFlags usage;
4797 VkImageTiling tiling;
4798 } VkPhysicalDeviceSparseImageFormatInfo2;
4800 typedef struct VkPhysicalDevicePointClippingProperties {
4801 VkStructureType sType;
4803 VkPointClippingBehavior pointClippingBehavior;
4804 } VkPhysicalDevicePointClippingProperties;
4806 typedef struct VkInputAttachmentAspectReference {
4808 uint32_t inputAttachmentIndex;
4809 VkImageAspectFlags aspectMask;
4810 } VkInputAttachmentAspectReference;
4812 typedef struct VkRenderPassInputAttachmentAspectCreateInfo {
4813 VkStructureType sType;
4815 uint32_t aspectReferenceCount;
4816 const VkInputAttachmentAspectReference* pAspectReferences;
4817 } VkRenderPassInputAttachmentAspectCreateInfo;
4819 typedef struct VkImageViewUsageCreateInfo {
4820 VkStructureType sType;
4822 VkImageUsageFlags usage;
4823 } VkImageViewUsageCreateInfo;
4825 typedef struct VkPipelineTessellationDomainOriginStateCreateInfo {
4826 VkStructureType sType;
4828 VkTessellationDomainOrigin domainOrigin;
4829 } VkPipelineTessellationDomainOriginStateCreateInfo;
4831 typedef struct VkRenderPassMultiviewCreateInfo {
4832 VkStructureType sType;
4834 uint32_t subpassCount;
4835 const uint32_t* pViewMasks;
4836 uint32_t dependencyCount;
4837 const int32_t* pViewOffsets;
4838 uint32_t correlationMaskCount;
4839 const uint32_t* pCorrelationMasks;
4840 } VkRenderPassMultiviewCreateInfo;
4842 typedef struct VkPhysicalDeviceMultiviewFeatures {
4843 VkStructureType sType;
4846 VkBool32 multiviewGeometryShader;
4847 VkBool32 multiviewTessellationShader;
4848 } VkPhysicalDeviceMultiviewFeatures;
4850 typedef struct VkPhysicalDeviceMultiviewProperties {
4851 VkStructureType sType;
4853 uint32_t maxMultiviewViewCount;
4854 uint32_t maxMultiviewInstanceIndex;
4855 } VkPhysicalDeviceMultiviewProperties;
4857 typedef struct VkPhysicalDeviceVariablePointersFeatures {
4858 VkStructureType sType;
4860 VkBool32 variablePointersStorageBuffer;
4861 VkBool32 variablePointers;
4862 } VkPhysicalDeviceVariablePointersFeatures;
4864 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeatures;
4866 typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
4867 VkStructureType sType;
4869 VkBool32 protectedMemory;
4870 } VkPhysicalDeviceProtectedMemoryFeatures;
4872 typedef struct VkPhysicalDeviceProtectedMemoryProperties {
4873 VkStructureType sType;
4875 VkBool32 protectedNoFault;
4876 } VkPhysicalDeviceProtectedMemoryProperties;
4878 typedef struct VkDeviceQueueInfo2 {
4879 VkStructureType sType;
4881 VkDeviceQueueCreateFlags flags;
4882 uint32_t queueFamilyIndex;
4883 uint32_t queueIndex;
4884 } VkDeviceQueueInfo2;
4886 typedef struct VkProtectedSubmitInfo {
4887 VkStructureType sType;
4889 VkBool32 protectedSubmit;
4890 } VkProtectedSubmitInfo;
4892 typedef struct VkSamplerYcbcrConversionCreateInfo {
4893 VkStructureType sType;
4896 VkSamplerYcbcrModelConversion ycbcrModel;
4897 VkSamplerYcbcrRange ycbcrRange;
4898 VkComponentMapping components;
4899 VkChromaLocation xChromaOffset;
4900 VkChromaLocation yChromaOffset;
4901 VkFilter chromaFilter;
4902 VkBool32 forceExplicitReconstruction;
4903 } VkSamplerYcbcrConversionCreateInfo;
4905 typedef struct VkSamplerYcbcrConversionInfo {
4906 VkStructureType sType;
4908 VkSamplerYcbcrConversion conversion;
4909 } VkSamplerYcbcrConversionInfo;
4911 typedef struct VkBindImagePlaneMemoryInfo {
4912 VkStructureType sType;
4914 VkImageAspectFlagBits planeAspect;
4915 } VkBindImagePlaneMemoryInfo;
4917 typedef struct VkImagePlaneMemoryRequirementsInfo {
4918 VkStructureType sType;
4920 VkImageAspectFlagBits planeAspect;
4921 } VkImagePlaneMemoryRequirementsInfo;
4923 typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
4924 VkStructureType sType;
4926 VkBool32 samplerYcbcrConversion;
4927 } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
4929 typedef struct VkSamplerYcbcrConversionImageFormatProperties {
4930 VkStructureType sType;
4932 uint32_t combinedImageSamplerDescriptorCount;
4933 } VkSamplerYcbcrConversionImageFormatProperties;
4935 typedef struct VkDescriptorUpdateTemplateEntry {
4936 uint32_t dstBinding;
4937 uint32_t dstArrayElement;
4938 uint32_t descriptorCount;
4939 VkDescriptorType descriptorType;
4942 } VkDescriptorUpdateTemplateEntry;
4944 typedef struct VkDescriptorUpdateTemplateCreateInfo {
4945 VkStructureType sType;
4947 VkDescriptorUpdateTemplateCreateFlags flags;
4948 uint32_t descriptorUpdateEntryCount;
4949 const VkDescriptorUpdateTemplateEntry* pDescriptorUpdateEntries;
4950 VkDescriptorUpdateTemplateType templateType;
4951 VkDescriptorSetLayout descriptorSetLayout;
4952 VkPipelineBindPoint pipelineBindPoint;
4953 VkPipelineLayout pipelineLayout;
4955 } VkDescriptorUpdateTemplateCreateInfo;
4957 typedef struct VkExternalMemoryProperties {
4958 VkExternalMemoryFeatureFlags externalMemoryFeatures;
4959 VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes;
4960 VkExternalMemoryHandleTypeFlags compatibleHandleTypes;
4961 } VkExternalMemoryProperties;
4963 typedef struct VkPhysicalDeviceExternalImageFormatInfo {
4964 VkStructureType sType;
4966 VkExternalMemoryHandleTypeFlagBits handleType;
4967 } VkPhysicalDeviceExternalImageFormatInfo;
4969 typedef struct VkExternalImageFormatProperties {
4970 VkStructureType sType;
4972 VkExternalMemoryProperties externalMemoryProperties;
4973 } VkExternalImageFormatProperties;
4975 typedef struct VkPhysicalDeviceExternalBufferInfo {
4976 VkStructureType sType;
4978 VkBufferCreateFlags flags;
4979 VkBufferUsageFlags usage;
4980 VkExternalMemoryHandleTypeFlagBits handleType;
4981 } VkPhysicalDeviceExternalBufferInfo;
4983 typedef struct VkExternalBufferProperties {
4984 VkStructureType sType;
4986 VkExternalMemoryProperties externalMemoryProperties;
4987 } VkExternalBufferProperties;
4989 typedef struct VkPhysicalDeviceIDProperties {
4990 VkStructureType sType;
4992 uint8_t deviceUUID[VK_UUID_SIZE];
4993 uint8_t driverUUID[VK_UUID_SIZE];
4994 uint8_t deviceLUID[VK_LUID_SIZE];
4995 uint32_t deviceNodeMask;
4996 VkBool32 deviceLUIDValid;
4997 } VkPhysicalDeviceIDProperties;
4999 typedef struct VkExternalMemoryImageCreateInfo {
5000 VkStructureType sType;
5002 VkExternalMemoryHandleTypeFlags handleTypes;
5003 } VkExternalMemoryImageCreateInfo;
5005 typedef struct VkExternalMemoryBufferCreateInfo {
5006 VkStructureType sType;
5008 VkExternalMemoryHandleTypeFlags handleTypes;
5009 } VkExternalMemoryBufferCreateInfo;
5011 typedef struct VkExportMemoryAllocateInfo {
5012 VkStructureType sType;
5014 VkExternalMemoryHandleTypeFlags handleTypes;
5015 } VkExportMemoryAllocateInfo;
5017 typedef struct VkPhysicalDeviceExternalFenceInfo {
5018 VkStructureType sType;
5020 VkExternalFenceHandleTypeFlagBits handleType;
5021 } VkPhysicalDeviceExternalFenceInfo;
5023 typedef struct VkExternalFenceProperties {
5024 VkStructureType sType;
5026 VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes;
5027 VkExternalFenceHandleTypeFlags compatibleHandleTypes;
5028 VkExternalFenceFeatureFlags externalFenceFeatures;
5029 } VkExternalFenceProperties;
5031 typedef struct VkExportFenceCreateInfo {
5032 VkStructureType sType;
5034 VkExternalFenceHandleTypeFlags handleTypes;
5035 } VkExportFenceCreateInfo;
5037 typedef struct VkExportSemaphoreCreateInfo {
5038 VkStructureType sType;
5040 VkExternalSemaphoreHandleTypeFlags handleTypes;
5041 } VkExportSemaphoreCreateInfo;
5043 typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
5044 VkStructureType sType;
5046 VkExternalSemaphoreHandleTypeFlagBits handleType;
5047 } VkPhysicalDeviceExternalSemaphoreInfo;
5049 typedef struct VkExternalSemaphoreProperties {
5050 VkStructureType sType;
5052 VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes;
5053 VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes;
5054 VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures;
5055 } VkExternalSemaphoreProperties;
5057 typedef struct VkPhysicalDeviceMaintenance3Properties {
5058 VkStructureType sType;
5060 uint32_t maxPerSetDescriptors;
5061 VkDeviceSize maxMemoryAllocationSize;
5062 } VkPhysicalDeviceMaintenance3Properties;
5064 typedef struct VkDescriptorSetLayoutSupport {
5065 VkStructureType sType;
5068 } VkDescriptorSetLayoutSupport;
5070 typedef struct VkPhysicalDeviceShaderDrawParametersFeatures {
5071 VkStructureType sType;
5073 VkBool32 shaderDrawParameters;
5074 } VkPhysicalDeviceShaderDrawParametersFeatures;
5076 typedef VkPhysicalDeviceShaderDrawParametersFeatures VkPhysicalDeviceShaderDrawParameterFeatures;
5078 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceVersion)(uint32_t* pApiVersion);
5079 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
5080 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
5081 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeatures)(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
5082 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMask)(VkCommandBuffer commandBuffer, uint32_t deviceMask);
5083 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);
5084 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroups)(VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
5085 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
5086 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
5087 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
5088 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
5089 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
5090 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
5091 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
5092 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
5093 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
5094 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
5095 typedef void (VKAPI_PTR *PFN_vkTrimCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
5096 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue2)(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue);
5097 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversion)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
5098 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversion)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
5099 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplate)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
5100 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplate)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
5101 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplate)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
5102 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
5103 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFenceProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
5104 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphoreProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
5105 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupport)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
5107 #ifndef VK_NO_PROTOTYPES
5108 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceVersion(
5109 uint32_t* pApiVersion);
5111 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2(
5113 uint32_t bindInfoCount,
5114 const VkBindBufferMemoryInfo* pBindInfos);
5116 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2(
5118 uint32_t bindInfoCount,
5119 const VkBindImageMemoryInfo* pBindInfos);
5121 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeatures(
5124 uint32_t localDeviceIndex,
5125 uint32_t remoteDeviceIndex,
5126 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
5128 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMask(
5129 VkCommandBuffer commandBuffer,
5130 uint32_t deviceMask);
5132 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBase(
5133 VkCommandBuffer commandBuffer,
5134 uint32_t baseGroupX,
5135 uint32_t baseGroupY,
5136 uint32_t baseGroupZ,
5137 uint32_t groupCountX,
5138 uint32_t groupCountY,
5139 uint32_t groupCountZ);
5141 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroups(
5142 VkInstance instance,
5143 uint32_t* pPhysicalDeviceGroupCount,
5144 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
5146 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2(
5148 const VkImageMemoryRequirementsInfo2* pInfo,
5149 VkMemoryRequirements2* pMemoryRequirements);
5151 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2(
5153 const VkBufferMemoryRequirementsInfo2* pInfo,
5154 VkMemoryRequirements2* pMemoryRequirements);
5156 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2(
5158 const VkImageSparseMemoryRequirementsInfo2* pInfo,
5159 uint32_t* pSparseMemoryRequirementCount,
5160 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
5162 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2(
5163 VkPhysicalDevice physicalDevice,
5164 VkPhysicalDeviceFeatures2* pFeatures);
5166 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2(
5167 VkPhysicalDevice physicalDevice,
5168 VkPhysicalDeviceProperties2* pProperties);
5170 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2(
5171 VkPhysicalDevice physicalDevice,
5173 VkFormatProperties2* pFormatProperties);
5175 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2(
5176 VkPhysicalDevice physicalDevice,
5177 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
5178 VkImageFormatProperties2* pImageFormatProperties);
5180 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2(
5181 VkPhysicalDevice physicalDevice,
5182 uint32_t* pQueueFamilyPropertyCount,
5183 VkQueueFamilyProperties2* pQueueFamilyProperties);
5185 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2(
5186 VkPhysicalDevice physicalDevice,
5187 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
5189 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2(
5190 VkPhysicalDevice physicalDevice,
5191 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
5192 uint32_t* pPropertyCount,
5193 VkSparseImageFormatProperties2* pProperties);
5195 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPool(
5197 VkCommandPool commandPool,
5198 VkCommandPoolTrimFlags flags);
5200 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue2(
5202 const VkDeviceQueueInfo2* pQueueInfo,
5205 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversion(
5207 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
5208 const VkAllocationCallbacks* pAllocator,
5209 VkSamplerYcbcrConversion* pYcbcrConversion);
5211 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversion(
5213 VkSamplerYcbcrConversion ycbcrConversion,
5214 const VkAllocationCallbacks* pAllocator);
5216 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplate(
5218 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
5219 const VkAllocationCallbacks* pAllocator,
5220 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
5222 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplate(
5224 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
5225 const VkAllocationCallbacks* pAllocator);
5227 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplate(
5229 VkDescriptorSet descriptorSet,
5230 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
5233 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferProperties(
5234 VkPhysicalDevice physicalDevice,
5235 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
5236 VkExternalBufferProperties* pExternalBufferProperties);
5238 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFenceProperties(
5239 VkPhysicalDevice physicalDevice,
5240 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
5241 VkExternalFenceProperties* pExternalFenceProperties);
5243 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphoreProperties(
5244 VkPhysicalDevice physicalDevice,
5245 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
5246 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
5248 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupport(
5250 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
5251 VkDescriptorSetLayoutSupport* pSupport);
5255 #define VK_VERSION_1_2 1
5256 // Vulkan 1.2 version number
5257 #define VK_API_VERSION_1_2 VK_MAKE_API_VERSION(0, 1, 2, 0)// Patch version should always be set to 0
5259 #define VK_MAX_DRIVER_NAME_SIZE 256U
5260 #define VK_MAX_DRIVER_INFO_SIZE 256U
5262 typedef enum VkDriverId {
5263 VK_DRIVER_ID_AMD_PROPRIETARY = 1,
5264 VK_DRIVER_ID_AMD_OPEN_SOURCE = 2,
5265 VK_DRIVER_ID_MESA_RADV = 3,
5266 VK_DRIVER_ID_NVIDIA_PROPRIETARY = 4,
5267 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS = 5,
5268 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA = 6,
5269 VK_DRIVER_ID_IMAGINATION_PROPRIETARY = 7,
5270 VK_DRIVER_ID_QUALCOMM_PROPRIETARY = 8,
5271 VK_DRIVER_ID_ARM_PROPRIETARY = 9,
5272 VK_DRIVER_ID_GOOGLE_SWIFTSHADER = 10,
5273 VK_DRIVER_ID_GGP_PROPRIETARY = 11,
5274 VK_DRIVER_ID_BROADCOM_PROPRIETARY = 12,
5275 VK_DRIVER_ID_MESA_LLVMPIPE = 13,
5276 VK_DRIVER_ID_MOLTENVK = 14,
5277 VK_DRIVER_ID_COREAVI_PROPRIETARY = 15,
5278 VK_DRIVER_ID_JUICE_PROPRIETARY = 16,
5279 VK_DRIVER_ID_AMD_PROPRIETARY_KHR = VK_DRIVER_ID_AMD_PROPRIETARY,
5280 VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = VK_DRIVER_ID_AMD_OPEN_SOURCE,
5281 VK_DRIVER_ID_MESA_RADV_KHR = VK_DRIVER_ID_MESA_RADV,
5282 VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR = VK_DRIVER_ID_NVIDIA_PROPRIETARY,
5283 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR = VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS,
5284 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR = VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA,
5285 VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR = VK_DRIVER_ID_IMAGINATION_PROPRIETARY,
5286 VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR = VK_DRIVER_ID_QUALCOMM_PROPRIETARY,
5287 VK_DRIVER_ID_ARM_PROPRIETARY_KHR = VK_DRIVER_ID_ARM_PROPRIETARY,
5288 VK_DRIVER_ID_GOOGLE_SWIFTSHADER_KHR = VK_DRIVER_ID_GOOGLE_SWIFTSHADER,
5289 VK_DRIVER_ID_GGP_PROPRIETARY_KHR = VK_DRIVER_ID_GGP_PROPRIETARY,
5290 VK_DRIVER_ID_BROADCOM_PROPRIETARY_KHR = VK_DRIVER_ID_BROADCOM_PROPRIETARY,
5291 VK_DRIVER_ID_MAX_ENUM = 0x7FFFFFFF
5294 typedef enum VkShaderFloatControlsIndependence {
5295 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY = 0,
5296 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL = 1,
5297 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE = 2,
5298 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY,
5299 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL,
5300 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE,
5301 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_MAX_ENUM = 0x7FFFFFFF
5302 } VkShaderFloatControlsIndependence;
5304 typedef enum VkSamplerReductionMode {
5305 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE = 0,
5306 VK_SAMPLER_REDUCTION_MODE_MIN = 1,
5307 VK_SAMPLER_REDUCTION_MODE_MAX = 2,
5308 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE,
5309 VK_SAMPLER_REDUCTION_MODE_MIN_EXT = VK_SAMPLER_REDUCTION_MODE_MIN,
5310 VK_SAMPLER_REDUCTION_MODE_MAX_EXT = VK_SAMPLER_REDUCTION_MODE_MAX,
5311 VK_SAMPLER_REDUCTION_MODE_MAX_ENUM = 0x7FFFFFFF
5312 } VkSamplerReductionMode;
5314 typedef enum VkSemaphoreType {
5315 VK_SEMAPHORE_TYPE_BINARY = 0,
5316 VK_SEMAPHORE_TYPE_TIMELINE = 1,
5317 VK_SEMAPHORE_TYPE_BINARY_KHR = VK_SEMAPHORE_TYPE_BINARY,
5318 VK_SEMAPHORE_TYPE_TIMELINE_KHR = VK_SEMAPHORE_TYPE_TIMELINE,
5319 VK_SEMAPHORE_TYPE_MAX_ENUM = 0x7FFFFFFF
5322 typedef enum VkResolveModeFlagBits {
5323 VK_RESOLVE_MODE_NONE = 0,
5324 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT = 0x00000001,
5325 VK_RESOLVE_MODE_AVERAGE_BIT = 0x00000002,
5326 VK_RESOLVE_MODE_MIN_BIT = 0x00000004,
5327 VK_RESOLVE_MODE_MAX_BIT = 0x00000008,
5328 VK_RESOLVE_MODE_NONE_KHR = VK_RESOLVE_MODE_NONE,
5329 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR = VK_RESOLVE_MODE_SAMPLE_ZERO_BIT,
5330 VK_RESOLVE_MODE_AVERAGE_BIT_KHR = VK_RESOLVE_MODE_AVERAGE_BIT,
5331 VK_RESOLVE_MODE_MIN_BIT_KHR = VK_RESOLVE_MODE_MIN_BIT,
5332 VK_RESOLVE_MODE_MAX_BIT_KHR = VK_RESOLVE_MODE_MAX_BIT,
5333 VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5334 } VkResolveModeFlagBits;
5335 typedef VkFlags VkResolveModeFlags;
5337 typedef enum VkDescriptorBindingFlagBits {
5338 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT = 0x00000001,
5339 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT = 0x00000002,
5340 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT = 0x00000004,
5341 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT = 0x00000008,
5342 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT,
5343 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT,
5344 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT = VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT,
5345 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT = VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT,
5346 VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5347 } VkDescriptorBindingFlagBits;
5348 typedef VkFlags VkDescriptorBindingFlags;
5350 typedef enum VkSemaphoreWaitFlagBits {
5351 VK_SEMAPHORE_WAIT_ANY_BIT = 0x00000001,
5352 VK_SEMAPHORE_WAIT_ANY_BIT_KHR = VK_SEMAPHORE_WAIT_ANY_BIT,
5353 VK_SEMAPHORE_WAIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5354 } VkSemaphoreWaitFlagBits;
5355 typedef VkFlags VkSemaphoreWaitFlags;
5356 typedef struct VkPhysicalDeviceVulkan11Features {
5357 VkStructureType sType;
5359 VkBool32 storageBuffer16BitAccess;
5360 VkBool32 uniformAndStorageBuffer16BitAccess;
5361 VkBool32 storagePushConstant16;
5362 VkBool32 storageInputOutput16;
5364 VkBool32 multiviewGeometryShader;
5365 VkBool32 multiviewTessellationShader;
5366 VkBool32 variablePointersStorageBuffer;
5367 VkBool32 variablePointers;
5368 VkBool32 protectedMemory;
5369 VkBool32 samplerYcbcrConversion;
5370 VkBool32 shaderDrawParameters;
5371 } VkPhysicalDeviceVulkan11Features;
5373 typedef struct VkPhysicalDeviceVulkan11Properties {
5374 VkStructureType sType;
5376 uint8_t deviceUUID[VK_UUID_SIZE];
5377 uint8_t driverUUID[VK_UUID_SIZE];
5378 uint8_t deviceLUID[VK_LUID_SIZE];
5379 uint32_t deviceNodeMask;
5380 VkBool32 deviceLUIDValid;
5381 uint32_t subgroupSize;
5382 VkShaderStageFlags subgroupSupportedStages;
5383 VkSubgroupFeatureFlags subgroupSupportedOperations;
5384 VkBool32 subgroupQuadOperationsInAllStages;
5385 VkPointClippingBehavior pointClippingBehavior;
5386 uint32_t maxMultiviewViewCount;
5387 uint32_t maxMultiviewInstanceIndex;
5388 VkBool32 protectedNoFault;
5389 uint32_t maxPerSetDescriptors;
5390 VkDeviceSize maxMemoryAllocationSize;
5391 } VkPhysicalDeviceVulkan11Properties;
5393 typedef struct VkPhysicalDeviceVulkan12Features {
5394 VkStructureType sType;
5396 VkBool32 samplerMirrorClampToEdge;
5397 VkBool32 drawIndirectCount;
5398 VkBool32 storageBuffer8BitAccess;
5399 VkBool32 uniformAndStorageBuffer8BitAccess;
5400 VkBool32 storagePushConstant8;
5401 VkBool32 shaderBufferInt64Atomics;
5402 VkBool32 shaderSharedInt64Atomics;
5403 VkBool32 shaderFloat16;
5404 VkBool32 shaderInt8;
5405 VkBool32 descriptorIndexing;
5406 VkBool32 shaderInputAttachmentArrayDynamicIndexing;
5407 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
5408 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
5409 VkBool32 shaderUniformBufferArrayNonUniformIndexing;
5410 VkBool32 shaderSampledImageArrayNonUniformIndexing;
5411 VkBool32 shaderStorageBufferArrayNonUniformIndexing;
5412 VkBool32 shaderStorageImageArrayNonUniformIndexing;
5413 VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
5414 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
5415 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
5416 VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
5417 VkBool32 descriptorBindingSampledImageUpdateAfterBind;
5418 VkBool32 descriptorBindingStorageImageUpdateAfterBind;
5419 VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
5420 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
5421 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
5422 VkBool32 descriptorBindingUpdateUnusedWhilePending;
5423 VkBool32 descriptorBindingPartiallyBound;
5424 VkBool32 descriptorBindingVariableDescriptorCount;
5425 VkBool32 runtimeDescriptorArray;
5426 VkBool32 samplerFilterMinmax;
5427 VkBool32 scalarBlockLayout;
5428 VkBool32 imagelessFramebuffer;
5429 VkBool32 uniformBufferStandardLayout;
5430 VkBool32 shaderSubgroupExtendedTypes;
5431 VkBool32 separateDepthStencilLayouts;
5432 VkBool32 hostQueryReset;
5433 VkBool32 timelineSemaphore;
5434 VkBool32 bufferDeviceAddress;
5435 VkBool32 bufferDeviceAddressCaptureReplay;
5436 VkBool32 bufferDeviceAddressMultiDevice;
5437 VkBool32 vulkanMemoryModel;
5438 VkBool32 vulkanMemoryModelDeviceScope;
5439 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
5440 VkBool32 shaderOutputViewportIndex;
5441 VkBool32 shaderOutputLayer;
5442 VkBool32 subgroupBroadcastDynamicId;
5443 } VkPhysicalDeviceVulkan12Features;
5445 typedef struct VkConformanceVersion {
5450 } VkConformanceVersion;
5452 typedef struct VkPhysicalDeviceVulkan12Properties {
5453 VkStructureType sType;
5455 VkDriverId driverID;
5456 char driverName[VK_MAX_DRIVER_NAME_SIZE];
5457 char driverInfo[VK_MAX_DRIVER_INFO_SIZE];
5458 VkConformanceVersion conformanceVersion;
5459 VkShaderFloatControlsIndependence denormBehaviorIndependence;
5460 VkShaderFloatControlsIndependence roundingModeIndependence;
5461 VkBool32 shaderSignedZeroInfNanPreserveFloat16;
5462 VkBool32 shaderSignedZeroInfNanPreserveFloat32;
5463 VkBool32 shaderSignedZeroInfNanPreserveFloat64;
5464 VkBool32 shaderDenormPreserveFloat16;
5465 VkBool32 shaderDenormPreserveFloat32;
5466 VkBool32 shaderDenormPreserveFloat64;
5467 VkBool32 shaderDenormFlushToZeroFloat16;
5468 VkBool32 shaderDenormFlushToZeroFloat32;
5469 VkBool32 shaderDenormFlushToZeroFloat64;
5470 VkBool32 shaderRoundingModeRTEFloat16;
5471 VkBool32 shaderRoundingModeRTEFloat32;
5472 VkBool32 shaderRoundingModeRTEFloat64;
5473 VkBool32 shaderRoundingModeRTZFloat16;
5474 VkBool32 shaderRoundingModeRTZFloat32;
5475 VkBool32 shaderRoundingModeRTZFloat64;
5476 uint32_t maxUpdateAfterBindDescriptorsInAllPools;
5477 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
5478 VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
5479 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
5480 VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
5481 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
5482 VkBool32 robustBufferAccessUpdateAfterBind;
5483 VkBool32 quadDivergentImplicitLod;
5484 uint32_t maxPerStageDescriptorUpdateAfterBindSamplers;
5485 uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers;
5486 uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers;
5487 uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages;
5488 uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages;
5489 uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments;
5490 uint32_t maxPerStageUpdateAfterBindResources;
5491 uint32_t maxDescriptorSetUpdateAfterBindSamplers;
5492 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers;
5493 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
5494 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers;
5495 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
5496 uint32_t maxDescriptorSetUpdateAfterBindSampledImages;
5497 uint32_t maxDescriptorSetUpdateAfterBindStorageImages;
5498 uint32_t maxDescriptorSetUpdateAfterBindInputAttachments;
5499 VkResolveModeFlags supportedDepthResolveModes;
5500 VkResolveModeFlags supportedStencilResolveModes;
5501 VkBool32 independentResolveNone;
5502 VkBool32 independentResolve;
5503 VkBool32 filterMinmaxSingleComponentFormats;
5504 VkBool32 filterMinmaxImageComponentMapping;
5505 uint64_t maxTimelineSemaphoreValueDifference;
5506 VkSampleCountFlags framebufferIntegerColorSampleCounts;
5507 } VkPhysicalDeviceVulkan12Properties;
5509 typedef struct VkImageFormatListCreateInfo {
5510 VkStructureType sType;
5512 uint32_t viewFormatCount;
5513 const VkFormat* pViewFormats;
5514 } VkImageFormatListCreateInfo;
5516 typedef struct VkAttachmentDescription2 {
5517 VkStructureType sType;
5519 VkAttachmentDescriptionFlags flags;
5521 VkSampleCountFlagBits samples;
5522 VkAttachmentLoadOp loadOp;
5523 VkAttachmentStoreOp storeOp;
5524 VkAttachmentLoadOp stencilLoadOp;
5525 VkAttachmentStoreOp stencilStoreOp;
5526 VkImageLayout initialLayout;
5527 VkImageLayout finalLayout;
5528 } VkAttachmentDescription2;
5530 typedef struct VkAttachmentReference2 {
5531 VkStructureType sType;
5533 uint32_t attachment;
5534 VkImageLayout layout;
5535 VkImageAspectFlags aspectMask;
5536 } VkAttachmentReference2;
5538 typedef struct VkSubpassDescription2 {
5539 VkStructureType sType;
5541 VkSubpassDescriptionFlags flags;
5542 VkPipelineBindPoint pipelineBindPoint;
5544 uint32_t inputAttachmentCount;
5545 const VkAttachmentReference2* pInputAttachments;
5546 uint32_t colorAttachmentCount;
5547 const VkAttachmentReference2* pColorAttachments;
5548 const VkAttachmentReference2* pResolveAttachments;
5549 const VkAttachmentReference2* pDepthStencilAttachment;
5550 uint32_t preserveAttachmentCount;
5551 const uint32_t* pPreserveAttachments;
5552 } VkSubpassDescription2;
5554 typedef struct VkSubpassDependency2 {
5555 VkStructureType sType;
5557 uint32_t srcSubpass;
5558 uint32_t dstSubpass;
5559 VkPipelineStageFlags srcStageMask;
5560 VkPipelineStageFlags dstStageMask;
5561 VkAccessFlags srcAccessMask;
5562 VkAccessFlags dstAccessMask;
5563 VkDependencyFlags dependencyFlags;
5565 } VkSubpassDependency2;
5567 typedef struct VkRenderPassCreateInfo2 {
5568 VkStructureType sType;
5570 VkRenderPassCreateFlags flags;
5571 uint32_t attachmentCount;
5572 const VkAttachmentDescription2* pAttachments;
5573 uint32_t subpassCount;
5574 const VkSubpassDescription2* pSubpasses;
5575 uint32_t dependencyCount;
5576 const VkSubpassDependency2* pDependencies;
5577 uint32_t correlatedViewMaskCount;
5578 const uint32_t* pCorrelatedViewMasks;
5579 } VkRenderPassCreateInfo2;
5581 typedef struct VkSubpassBeginInfo {
5582 VkStructureType sType;
5584 VkSubpassContents contents;
5585 } VkSubpassBeginInfo;
5587 typedef struct VkSubpassEndInfo {
5588 VkStructureType sType;
5592 typedef struct VkPhysicalDevice8BitStorageFeatures {
5593 VkStructureType sType;
5595 VkBool32 storageBuffer8BitAccess;
5596 VkBool32 uniformAndStorageBuffer8BitAccess;
5597 VkBool32 storagePushConstant8;
5598 } VkPhysicalDevice8BitStorageFeatures;
5600 typedef struct VkPhysicalDeviceDriverProperties {
5601 VkStructureType sType;
5603 VkDriverId driverID;
5604 char driverName[VK_MAX_DRIVER_NAME_SIZE];
5605 char driverInfo[VK_MAX_DRIVER_INFO_SIZE];
5606 VkConformanceVersion conformanceVersion;
5607 } VkPhysicalDeviceDriverProperties;
5609 typedef struct VkPhysicalDeviceShaderAtomicInt64Features {
5610 VkStructureType sType;
5612 VkBool32 shaderBufferInt64Atomics;
5613 VkBool32 shaderSharedInt64Atomics;
5614 } VkPhysicalDeviceShaderAtomicInt64Features;
5616 typedef struct VkPhysicalDeviceShaderFloat16Int8Features {
5617 VkStructureType sType;
5619 VkBool32 shaderFloat16;
5620 VkBool32 shaderInt8;
5621 } VkPhysicalDeviceShaderFloat16Int8Features;
5623 typedef struct VkPhysicalDeviceFloatControlsProperties {
5624 VkStructureType sType;
5626 VkShaderFloatControlsIndependence denormBehaviorIndependence;
5627 VkShaderFloatControlsIndependence roundingModeIndependence;
5628 VkBool32 shaderSignedZeroInfNanPreserveFloat16;
5629 VkBool32 shaderSignedZeroInfNanPreserveFloat32;
5630 VkBool32 shaderSignedZeroInfNanPreserveFloat64;
5631 VkBool32 shaderDenormPreserveFloat16;
5632 VkBool32 shaderDenormPreserveFloat32;
5633 VkBool32 shaderDenormPreserveFloat64;
5634 VkBool32 shaderDenormFlushToZeroFloat16;
5635 VkBool32 shaderDenormFlushToZeroFloat32;
5636 VkBool32 shaderDenormFlushToZeroFloat64;
5637 VkBool32 shaderRoundingModeRTEFloat16;
5638 VkBool32 shaderRoundingModeRTEFloat32;
5639 VkBool32 shaderRoundingModeRTEFloat64;
5640 VkBool32 shaderRoundingModeRTZFloat16;
5641 VkBool32 shaderRoundingModeRTZFloat32;
5642 VkBool32 shaderRoundingModeRTZFloat64;
5643 } VkPhysicalDeviceFloatControlsProperties;
5645 typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfo {
5646 VkStructureType sType;
5648 uint32_t bindingCount;
5649 const VkDescriptorBindingFlags* pBindingFlags;
5650 } VkDescriptorSetLayoutBindingFlagsCreateInfo;
5652 typedef struct VkPhysicalDeviceDescriptorIndexingFeatures {
5653 VkStructureType sType;
5655 VkBool32 shaderInputAttachmentArrayDynamicIndexing;
5656 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
5657 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
5658 VkBool32 shaderUniformBufferArrayNonUniformIndexing;
5659 VkBool32 shaderSampledImageArrayNonUniformIndexing;
5660 VkBool32 shaderStorageBufferArrayNonUniformIndexing;
5661 VkBool32 shaderStorageImageArrayNonUniformIndexing;
5662 VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
5663 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
5664 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
5665 VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
5666 VkBool32 descriptorBindingSampledImageUpdateAfterBind;
5667 VkBool32 descriptorBindingStorageImageUpdateAfterBind;
5668 VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
5669 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
5670 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
5671 VkBool32 descriptorBindingUpdateUnusedWhilePending;
5672 VkBool32 descriptorBindingPartiallyBound;
5673 VkBool32 descriptorBindingVariableDescriptorCount;
5674 VkBool32 runtimeDescriptorArray;
5675 } VkPhysicalDeviceDescriptorIndexingFeatures;
5677 typedef struct VkPhysicalDeviceDescriptorIndexingProperties {
5678 VkStructureType sType;
5680 uint32_t maxUpdateAfterBindDescriptorsInAllPools;
5681 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
5682 VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
5683 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
5684 VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
5685 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
5686 VkBool32 robustBufferAccessUpdateAfterBind;
5687 VkBool32 quadDivergentImplicitLod;
5688 uint32_t maxPerStageDescriptorUpdateAfterBindSamplers;
5689 uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers;
5690 uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers;
5691 uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages;
5692 uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages;
5693 uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments;
5694 uint32_t maxPerStageUpdateAfterBindResources;
5695 uint32_t maxDescriptorSetUpdateAfterBindSamplers;
5696 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers;
5697 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
5698 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers;
5699 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
5700 uint32_t maxDescriptorSetUpdateAfterBindSampledImages;
5701 uint32_t maxDescriptorSetUpdateAfterBindStorageImages;
5702 uint32_t maxDescriptorSetUpdateAfterBindInputAttachments;
5703 } VkPhysicalDeviceDescriptorIndexingProperties;
5705 typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfo {
5706 VkStructureType sType;
5708 uint32_t descriptorSetCount;
5709 const uint32_t* pDescriptorCounts;
5710 } VkDescriptorSetVariableDescriptorCountAllocateInfo;
5712 typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupport {
5713 VkStructureType sType;
5715 uint32_t maxVariableDescriptorCount;
5716 } VkDescriptorSetVariableDescriptorCountLayoutSupport;
5718 typedef struct VkSubpassDescriptionDepthStencilResolve {
5719 VkStructureType sType;
5721 VkResolveModeFlagBits depthResolveMode;
5722 VkResolveModeFlagBits stencilResolveMode;
5723 const VkAttachmentReference2* pDepthStencilResolveAttachment;
5724 } VkSubpassDescriptionDepthStencilResolve;
5726 typedef struct VkPhysicalDeviceDepthStencilResolveProperties {
5727 VkStructureType sType;
5729 VkResolveModeFlags supportedDepthResolveModes;
5730 VkResolveModeFlags supportedStencilResolveModes;
5731 VkBool32 independentResolveNone;
5732 VkBool32 independentResolve;
5733 } VkPhysicalDeviceDepthStencilResolveProperties;
5735 typedef struct VkPhysicalDeviceScalarBlockLayoutFeatures {
5736 VkStructureType sType;
5738 VkBool32 scalarBlockLayout;
5739 } VkPhysicalDeviceScalarBlockLayoutFeatures;
5741 typedef struct VkImageStencilUsageCreateInfo {
5742 VkStructureType sType;
5744 VkImageUsageFlags stencilUsage;
5745 } VkImageStencilUsageCreateInfo;
5747 typedef struct VkSamplerReductionModeCreateInfo {
5748 VkStructureType sType;
5750 VkSamplerReductionMode reductionMode;
5751 } VkSamplerReductionModeCreateInfo;
5753 typedef struct VkPhysicalDeviceSamplerFilterMinmaxProperties {
5754 VkStructureType sType;
5756 VkBool32 filterMinmaxSingleComponentFormats;
5757 VkBool32 filterMinmaxImageComponentMapping;
5758 } VkPhysicalDeviceSamplerFilterMinmaxProperties;
5760 typedef struct VkPhysicalDeviceVulkanMemoryModelFeatures {
5761 VkStructureType sType;
5763 VkBool32 vulkanMemoryModel;
5764 VkBool32 vulkanMemoryModelDeviceScope;
5765 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
5766 } VkPhysicalDeviceVulkanMemoryModelFeatures;
5768 typedef struct VkPhysicalDeviceImagelessFramebufferFeatures {
5769 VkStructureType sType;
5771 VkBool32 imagelessFramebuffer;
5772 } VkPhysicalDeviceImagelessFramebufferFeatures;
5774 typedef struct VkFramebufferAttachmentImageInfo {
5775 VkStructureType sType;
5777 VkImageCreateFlags flags;
5778 VkImageUsageFlags usage;
5781 uint32_t layerCount;
5782 uint32_t viewFormatCount;
5783 const VkFormat* pViewFormats;
5784 } VkFramebufferAttachmentImageInfo;
5786 typedef struct VkFramebufferAttachmentsCreateInfo {
5787 VkStructureType sType;
5789 uint32_t attachmentImageInfoCount;
5790 const VkFramebufferAttachmentImageInfo* pAttachmentImageInfos;
5791 } VkFramebufferAttachmentsCreateInfo;
5793 typedef struct VkRenderPassAttachmentBeginInfo {
5794 VkStructureType sType;
5796 uint32_t attachmentCount;
5797 const VkImageView* pAttachments;
5798 } VkRenderPassAttachmentBeginInfo;
5800 typedef struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures {
5801 VkStructureType sType;
5803 VkBool32 uniformBufferStandardLayout;
5804 } VkPhysicalDeviceUniformBufferStandardLayoutFeatures;
5806 typedef struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures {
5807 VkStructureType sType;
5809 VkBool32 shaderSubgroupExtendedTypes;
5810 } VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures;
5812 typedef struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures {
5813 VkStructureType sType;
5815 VkBool32 separateDepthStencilLayouts;
5816 } VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures;
5818 typedef struct VkAttachmentReferenceStencilLayout {
5819 VkStructureType sType;
5821 VkImageLayout stencilLayout;
5822 } VkAttachmentReferenceStencilLayout;
5824 typedef struct VkAttachmentDescriptionStencilLayout {
5825 VkStructureType sType;
5827 VkImageLayout stencilInitialLayout;
5828 VkImageLayout stencilFinalLayout;
5829 } VkAttachmentDescriptionStencilLayout;
5831 typedef struct VkPhysicalDeviceHostQueryResetFeatures {
5832 VkStructureType sType;
5834 VkBool32 hostQueryReset;
5835 } VkPhysicalDeviceHostQueryResetFeatures;
5837 typedef struct VkPhysicalDeviceTimelineSemaphoreFeatures {
5838 VkStructureType sType;
5840 VkBool32 timelineSemaphore;
5841 } VkPhysicalDeviceTimelineSemaphoreFeatures;
5843 typedef struct VkPhysicalDeviceTimelineSemaphoreProperties {
5844 VkStructureType sType;
5846 uint64_t maxTimelineSemaphoreValueDifference;
5847 } VkPhysicalDeviceTimelineSemaphoreProperties;
5849 typedef struct VkSemaphoreTypeCreateInfo {
5850 VkStructureType sType;
5852 VkSemaphoreType semaphoreType;
5853 uint64_t initialValue;
5854 } VkSemaphoreTypeCreateInfo;
5856 typedef struct VkTimelineSemaphoreSubmitInfo {
5857 VkStructureType sType;
5859 uint32_t waitSemaphoreValueCount;
5860 const uint64_t* pWaitSemaphoreValues;
5861 uint32_t signalSemaphoreValueCount;
5862 const uint64_t* pSignalSemaphoreValues;
5863 } VkTimelineSemaphoreSubmitInfo;
5865 typedef struct VkSemaphoreWaitInfo {
5866 VkStructureType sType;
5868 VkSemaphoreWaitFlags flags;
5869 uint32_t semaphoreCount;
5870 const VkSemaphore* pSemaphores;
5871 const uint64_t* pValues;
5872 } VkSemaphoreWaitInfo;
5874 typedef struct VkSemaphoreSignalInfo {
5875 VkStructureType sType;
5877 VkSemaphore semaphore;
5879 } VkSemaphoreSignalInfo;
5881 typedef struct VkPhysicalDeviceBufferDeviceAddressFeatures {
5882 VkStructureType sType;
5884 VkBool32 bufferDeviceAddress;
5885 VkBool32 bufferDeviceAddressCaptureReplay;
5886 VkBool32 bufferDeviceAddressMultiDevice;
5887 } VkPhysicalDeviceBufferDeviceAddressFeatures;
5889 typedef struct VkBufferDeviceAddressInfo {
5890 VkStructureType sType;
5893 } VkBufferDeviceAddressInfo;
5895 typedef struct VkBufferOpaqueCaptureAddressCreateInfo {
5896 VkStructureType sType;
5898 uint64_t opaqueCaptureAddress;
5899 } VkBufferOpaqueCaptureAddressCreateInfo;
5901 typedef struct VkMemoryOpaqueCaptureAddressAllocateInfo {
5902 VkStructureType sType;
5904 uint64_t opaqueCaptureAddress;
5905 } VkMemoryOpaqueCaptureAddressAllocateInfo;
5907 typedef struct VkDeviceMemoryOpaqueCaptureAddressInfo {
5908 VkStructureType sType;
5910 VkDeviceMemory memory;
5911 } VkDeviceMemoryOpaqueCaptureAddressInfo;
5913 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
5914 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
5915 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
5916 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo);
5917 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo);
5918 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo);
5919 typedef void (VKAPI_PTR *PFN_vkResetQueryPool)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount);
5920 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValue)(VkDevice device, VkSemaphore semaphore, uint64_t* pValue);
5921 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphores)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout);
5922 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphore)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo);
5923 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
5924 typedef uint64_t (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
5925 typedef uint64_t (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddress)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
5927 #ifndef VK_NO_PROTOTYPES
5928 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCount(
5929 VkCommandBuffer commandBuffer,
5931 VkDeviceSize offset,
5932 VkBuffer countBuffer,
5933 VkDeviceSize countBufferOffset,
5934 uint32_t maxDrawCount,
5937 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCount(
5938 VkCommandBuffer commandBuffer,
5940 VkDeviceSize offset,
5941 VkBuffer countBuffer,
5942 VkDeviceSize countBufferOffset,
5943 uint32_t maxDrawCount,
5946 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2(
5948 const VkRenderPassCreateInfo2* pCreateInfo,
5949 const VkAllocationCallbacks* pAllocator,
5950 VkRenderPass* pRenderPass);
5952 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2(
5953 VkCommandBuffer commandBuffer,
5954 const VkRenderPassBeginInfo* pRenderPassBegin,
5955 const VkSubpassBeginInfo* pSubpassBeginInfo);
5957 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2(
5958 VkCommandBuffer commandBuffer,
5959 const VkSubpassBeginInfo* pSubpassBeginInfo,
5960 const VkSubpassEndInfo* pSubpassEndInfo);
5962 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2(
5963 VkCommandBuffer commandBuffer,
5964 const VkSubpassEndInfo* pSubpassEndInfo);
5966 VKAPI_ATTR void VKAPI_CALL vkResetQueryPool(
5968 VkQueryPool queryPool,
5969 uint32_t firstQuery,
5970 uint32_t queryCount);
5972 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValue(
5974 VkSemaphore semaphore,
5977 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphores(
5979 const VkSemaphoreWaitInfo* pWaitInfo,
5982 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphore(
5984 const VkSemaphoreSignalInfo* pSignalInfo);
5986 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddress(
5988 const VkBufferDeviceAddressInfo* pInfo);
5990 VKAPI_ATTR uint64_t VKAPI_CALL vkGetBufferOpaqueCaptureAddress(
5992 const VkBufferDeviceAddressInfo* pInfo);
5994 VKAPI_ATTR uint64_t VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddress(
5996 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
6000 #define VK_KHR_surface 1
6001 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR)
6002 #define VK_KHR_SURFACE_SPEC_VERSION 25
6003 #define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface"
6005 typedef enum VkPresentModeKHR {
6006 VK_PRESENT_MODE_IMMEDIATE_KHR = 0,
6007 VK_PRESENT_MODE_MAILBOX_KHR = 1,
6008 VK_PRESENT_MODE_FIFO_KHR = 2,
6009 VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3,
6010 VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR = 1000111000,
6011 VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = 1000111001,
6012 VK_PRESENT_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
6015 typedef enum VkColorSpaceKHR {
6016 VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0,
6017 VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = 1000104001,
6018 VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT = 1000104002,
6019 VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT = 1000104003,
6020 VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT = 1000104004,
6021 VK_COLOR_SPACE_BT709_LINEAR_EXT = 1000104005,
6022 VK_COLOR_SPACE_BT709_NONLINEAR_EXT = 1000104006,
6023 VK_COLOR_SPACE_BT2020_LINEAR_EXT = 1000104007,
6024 VK_COLOR_SPACE_HDR10_ST2084_EXT = 1000104008,
6025 VK_COLOR_SPACE_DOLBYVISION_EXT = 1000104009,
6026 VK_COLOR_SPACE_HDR10_HLG_EXT = 1000104010,
6027 VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT = 1000104011,
6028 VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT = 1000104012,
6029 VK_COLOR_SPACE_PASS_THROUGH_EXT = 1000104013,
6030 VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT = 1000104014,
6031 VK_COLOR_SPACE_DISPLAY_NATIVE_AMD = 1000213000,
6032 VK_COLORSPACE_SRGB_NONLINEAR_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
6033 VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT,
6034 VK_COLOR_SPACE_MAX_ENUM_KHR = 0x7FFFFFFF
6037 typedef enum VkSurfaceTransformFlagBitsKHR {
6038 VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 0x00000001,
6039 VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 0x00000002,
6040 VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 0x00000004,
6041 VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 0x00000008,
6042 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 0x00000010,
6043 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 0x00000020,
6044 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 0x00000040,
6045 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 0x00000080,
6046 VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 0x00000100,
6047 VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
6048 } VkSurfaceTransformFlagBitsKHR;
6050 typedef enum VkCompositeAlphaFlagBitsKHR {
6051 VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
6052 VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 0x00000002,
6053 VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 0x00000004,
6054 VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 0x00000008,
6055 VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
6056 } VkCompositeAlphaFlagBitsKHR;
6057 typedef VkFlags VkCompositeAlphaFlagsKHR;
6058 typedef VkFlags VkSurfaceTransformFlagsKHR;
6059 typedef struct VkSurfaceCapabilitiesKHR {
6060 uint32_t minImageCount;
6061 uint32_t maxImageCount;
6062 VkExtent2D currentExtent;
6063 VkExtent2D minImageExtent;
6064 VkExtent2D maxImageExtent;
6065 uint32_t maxImageArrayLayers;
6066 VkSurfaceTransformFlagsKHR supportedTransforms;
6067 VkSurfaceTransformFlagBitsKHR currentTransform;
6068 VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
6069 VkImageUsageFlags supportedUsageFlags;
6070 } VkSurfaceCapabilitiesKHR;
6072 typedef struct VkSurfaceFormatKHR {
6074 VkColorSpaceKHR colorSpace;
6075 } VkSurfaceFormatKHR;
6077 typedef void (VKAPI_PTR *PFN_vkDestroySurfaceKHR)(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator);
6078 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported);
6079 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
6080 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats);
6081 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pPresentModeCount, VkPresentModeKHR* pPresentModes);
6083 #ifndef VK_NO_PROTOTYPES
6084 VKAPI_ATTR void VKAPI_CALL vkDestroySurfaceKHR(
6085 VkInstance instance,
6086 VkSurfaceKHR surface,
6087 const VkAllocationCallbacks* pAllocator);
6089 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceSupportKHR(
6090 VkPhysicalDevice physicalDevice,
6091 uint32_t queueFamilyIndex,
6092 VkSurfaceKHR surface,
6093 VkBool32* pSupported);
6095 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilitiesKHR(
6096 VkPhysicalDevice physicalDevice,
6097 VkSurfaceKHR surface,
6098 VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
6100 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormatsKHR(
6101 VkPhysicalDevice physicalDevice,
6102 VkSurfaceKHR surface,
6103 uint32_t* pSurfaceFormatCount,
6104 VkSurfaceFormatKHR* pSurfaceFormats);
6106 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModesKHR(
6107 VkPhysicalDevice physicalDevice,
6108 VkSurfaceKHR surface,
6109 uint32_t* pPresentModeCount,
6110 VkPresentModeKHR* pPresentModes);
6114 #define VK_KHR_swapchain 1
6115 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR)
6116 #define VK_KHR_SWAPCHAIN_SPEC_VERSION 70
6117 #define VK_KHR_SWAPCHAIN_EXTENSION_NAME "VK_KHR_swapchain"
6119 typedef enum VkSwapchainCreateFlagBitsKHR {
6120 VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 0x00000001,
6121 VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR = 0x00000002,
6122 VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR = 0x00000004,
6123 VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
6124 } VkSwapchainCreateFlagBitsKHR;
6125 typedef VkFlags VkSwapchainCreateFlagsKHR;
6127 typedef enum VkDeviceGroupPresentModeFlagBitsKHR {
6128 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR = 0x00000001,
6129 VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR = 0x00000002,
6130 VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR = 0x00000004,
6131 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR = 0x00000008,
6132 VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
6133 } VkDeviceGroupPresentModeFlagBitsKHR;
6134 typedef VkFlags VkDeviceGroupPresentModeFlagsKHR;
6135 typedef struct VkSwapchainCreateInfoKHR {
6136 VkStructureType sType;
6138 VkSwapchainCreateFlagsKHR flags;
6139 VkSurfaceKHR surface;
6140 uint32_t minImageCount;
6141 VkFormat imageFormat;
6142 VkColorSpaceKHR imageColorSpace;
6143 VkExtent2D imageExtent;
6144 uint32_t imageArrayLayers;
6145 VkImageUsageFlags imageUsage;
6146 VkSharingMode imageSharingMode;
6147 uint32_t queueFamilyIndexCount;
6148 const uint32_t* pQueueFamilyIndices;
6149 VkSurfaceTransformFlagBitsKHR preTransform;
6150 VkCompositeAlphaFlagBitsKHR compositeAlpha;
6151 VkPresentModeKHR presentMode;
6153 VkSwapchainKHR oldSwapchain;
6154 } VkSwapchainCreateInfoKHR;
6156 typedef struct VkPresentInfoKHR {
6157 VkStructureType sType;
6159 uint32_t waitSemaphoreCount;
6160 const VkSemaphore* pWaitSemaphores;
6161 uint32_t swapchainCount;
6162 const VkSwapchainKHR* pSwapchains;
6163 const uint32_t* pImageIndices;
6167 typedef struct VkImageSwapchainCreateInfoKHR {
6168 VkStructureType sType;
6170 VkSwapchainKHR swapchain;
6171 } VkImageSwapchainCreateInfoKHR;
6173 typedef struct VkBindImageMemorySwapchainInfoKHR {
6174 VkStructureType sType;
6176 VkSwapchainKHR swapchain;
6177 uint32_t imageIndex;
6178 } VkBindImageMemorySwapchainInfoKHR;
6180 typedef struct VkAcquireNextImageInfoKHR {
6181 VkStructureType sType;
6183 VkSwapchainKHR swapchain;
6185 VkSemaphore semaphore;
6187 uint32_t deviceMask;
6188 } VkAcquireNextImageInfoKHR;
6190 typedef struct VkDeviceGroupPresentCapabilitiesKHR {
6191 VkStructureType sType;
6193 uint32_t presentMask[VK_MAX_DEVICE_GROUP_SIZE];
6194 VkDeviceGroupPresentModeFlagsKHR modes;
6195 } VkDeviceGroupPresentCapabilitiesKHR;
6197 typedef struct VkDeviceGroupPresentInfoKHR {
6198 VkStructureType sType;
6200 uint32_t swapchainCount;
6201 const uint32_t* pDeviceMasks;
6202 VkDeviceGroupPresentModeFlagBitsKHR mode;
6203 } VkDeviceGroupPresentInfoKHR;
6205 typedef struct VkDeviceGroupSwapchainCreateInfoKHR {
6206 VkStructureType sType;
6208 VkDeviceGroupPresentModeFlagsKHR modes;
6209 } VkDeviceGroupSwapchainCreateInfoKHR;
6211 typedef VkResult (VKAPI_PTR *PFN_vkCreateSwapchainKHR)(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain);
6212 typedef void (VKAPI_PTR *PFN_vkDestroySwapchainKHR)(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator);
6213 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainImagesKHR)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages);
6214 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImageKHR)(VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex);
6215 typedef VkResult (VKAPI_PTR *PFN_vkQueuePresentKHR)(VkQueue queue, const VkPresentInfoKHR* pPresentInfo);
6216 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupPresentCapabilitiesKHR)(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
6217 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupSurfacePresentModesKHR)(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes);
6218 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDevicePresentRectanglesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pRectCount, VkRect2D* pRects);
6219 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImage2KHR)(VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, uint32_t* pImageIndex);
6221 #ifndef VK_NO_PROTOTYPES
6222 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSwapchainKHR(
6224 const VkSwapchainCreateInfoKHR* pCreateInfo,
6225 const VkAllocationCallbacks* pAllocator,
6226 VkSwapchainKHR* pSwapchain);
6228 VKAPI_ATTR void VKAPI_CALL vkDestroySwapchainKHR(
6230 VkSwapchainKHR swapchain,
6231 const VkAllocationCallbacks* pAllocator);
6233 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainImagesKHR(
6235 VkSwapchainKHR swapchain,
6236 uint32_t* pSwapchainImageCount,
6237 VkImage* pSwapchainImages);
6239 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImageKHR(
6241 VkSwapchainKHR swapchain,
6243 VkSemaphore semaphore,
6245 uint32_t* pImageIndex);
6247 VKAPI_ATTR VkResult VKAPI_CALL vkQueuePresentKHR(
6249 const VkPresentInfoKHR* pPresentInfo);
6251 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupPresentCapabilitiesKHR(
6253 VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
6255 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupSurfacePresentModesKHR(
6257 VkSurfaceKHR surface,
6258 VkDeviceGroupPresentModeFlagsKHR* pModes);
6260 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDevicePresentRectanglesKHR(
6261 VkPhysicalDevice physicalDevice,
6262 VkSurfaceKHR surface,
6263 uint32_t* pRectCount,
6266 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImage2KHR(
6268 const VkAcquireNextImageInfoKHR* pAcquireInfo,
6269 uint32_t* pImageIndex);
6273 #define VK_KHR_display 1
6274 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR)
6275 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR)
6276 #define VK_KHR_DISPLAY_SPEC_VERSION 23
6277 #define VK_KHR_DISPLAY_EXTENSION_NAME "VK_KHR_display"
6278 typedef VkFlags VkDisplayModeCreateFlagsKHR;
6280 typedef enum VkDisplayPlaneAlphaFlagBitsKHR {
6281 VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
6282 VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR = 0x00000002,
6283 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR = 0x00000004,
6284 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = 0x00000008,
6285 VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
6286 } VkDisplayPlaneAlphaFlagBitsKHR;
6287 typedef VkFlags VkDisplayPlaneAlphaFlagsKHR;
6288 typedef VkFlags VkDisplaySurfaceCreateFlagsKHR;
6289 typedef struct VkDisplayModeParametersKHR {
6290 VkExtent2D visibleRegion;
6291 uint32_t refreshRate;
6292 } VkDisplayModeParametersKHR;
6294 typedef struct VkDisplayModeCreateInfoKHR {
6295 VkStructureType sType;
6297 VkDisplayModeCreateFlagsKHR flags;
6298 VkDisplayModeParametersKHR parameters;
6299 } VkDisplayModeCreateInfoKHR;
6301 typedef struct VkDisplayModePropertiesKHR {
6302 VkDisplayModeKHR displayMode;
6303 VkDisplayModeParametersKHR parameters;
6304 } VkDisplayModePropertiesKHR;
6306 typedef struct VkDisplayPlaneCapabilitiesKHR {
6307 VkDisplayPlaneAlphaFlagsKHR supportedAlpha;
6308 VkOffset2D minSrcPosition;
6309 VkOffset2D maxSrcPosition;
6310 VkExtent2D minSrcExtent;
6311 VkExtent2D maxSrcExtent;
6312 VkOffset2D minDstPosition;
6313 VkOffset2D maxDstPosition;
6314 VkExtent2D minDstExtent;
6315 VkExtent2D maxDstExtent;
6316 } VkDisplayPlaneCapabilitiesKHR;
6318 typedef struct VkDisplayPlanePropertiesKHR {
6319 VkDisplayKHR currentDisplay;
6320 uint32_t currentStackIndex;
6321 } VkDisplayPlanePropertiesKHR;
6323 typedef struct VkDisplayPropertiesKHR {
6324 VkDisplayKHR display;
6325 const char* displayName;
6326 VkExtent2D physicalDimensions;
6327 VkExtent2D physicalResolution;
6328 VkSurfaceTransformFlagsKHR supportedTransforms;
6329 VkBool32 planeReorderPossible;
6330 VkBool32 persistentContent;
6331 } VkDisplayPropertiesKHR;
6333 typedef struct VkDisplaySurfaceCreateInfoKHR {
6334 VkStructureType sType;
6336 VkDisplaySurfaceCreateFlagsKHR flags;
6337 VkDisplayModeKHR displayMode;
6338 uint32_t planeIndex;
6339 uint32_t planeStackIndex;
6340 VkSurfaceTransformFlagBitsKHR transform;
6342 VkDisplayPlaneAlphaFlagBitsKHR alphaMode;
6343 VkExtent2D imageExtent;
6344 } VkDisplaySurfaceCreateInfoKHR;
6346 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPropertiesKHR* pProperties);
6347 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties);
6348 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneSupportedDisplaysKHR)(VkPhysicalDevice physicalDevice, uint32_t planeIndex, uint32_t* pDisplayCount, VkDisplayKHR* pDisplays);
6349 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModePropertiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModePropertiesKHR* pProperties);
6350 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayModeKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode);
6351 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, uint32_t planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities);
6352 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayPlaneSurfaceKHR)(VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
6354 #ifndef VK_NO_PROTOTYPES
6355 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPropertiesKHR(
6356 VkPhysicalDevice physicalDevice,
6357 uint32_t* pPropertyCount,
6358 VkDisplayPropertiesKHR* pProperties);
6360 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlanePropertiesKHR(
6361 VkPhysicalDevice physicalDevice,
6362 uint32_t* pPropertyCount,
6363 VkDisplayPlanePropertiesKHR* pProperties);
6365 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneSupportedDisplaysKHR(
6366 VkPhysicalDevice physicalDevice,
6367 uint32_t planeIndex,
6368 uint32_t* pDisplayCount,
6369 VkDisplayKHR* pDisplays);
6371 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModePropertiesKHR(
6372 VkPhysicalDevice physicalDevice,
6373 VkDisplayKHR display,
6374 uint32_t* pPropertyCount,
6375 VkDisplayModePropertiesKHR* pProperties);
6377 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayModeKHR(
6378 VkPhysicalDevice physicalDevice,
6379 VkDisplayKHR display,
6380 const VkDisplayModeCreateInfoKHR* pCreateInfo,
6381 const VkAllocationCallbacks* pAllocator,
6382 VkDisplayModeKHR* pMode);
6384 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilitiesKHR(
6385 VkPhysicalDevice physicalDevice,
6386 VkDisplayModeKHR mode,
6387 uint32_t planeIndex,
6388 VkDisplayPlaneCapabilitiesKHR* pCapabilities);
6390 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayPlaneSurfaceKHR(
6391 VkInstance instance,
6392 const VkDisplaySurfaceCreateInfoKHR* pCreateInfo,
6393 const VkAllocationCallbacks* pAllocator,
6394 VkSurfaceKHR* pSurface);
6398 #define VK_KHR_display_swapchain 1
6399 #define VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION 10
6400 #define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME "VK_KHR_display_swapchain"
6401 typedef struct VkDisplayPresentInfoKHR {
6402 VkStructureType sType;
6406 VkBool32 persistent;
6407 } VkDisplayPresentInfoKHR;
6409 typedef VkResult (VKAPI_PTR *PFN_vkCreateSharedSwapchainsKHR)(VkDevice device, uint32_t swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains);
6411 #ifndef VK_NO_PROTOTYPES
6412 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSharedSwapchainsKHR(
6414 uint32_t swapchainCount,
6415 const VkSwapchainCreateInfoKHR* pCreateInfos,
6416 const VkAllocationCallbacks* pAllocator,
6417 VkSwapchainKHR* pSwapchains);
6421 #define VK_KHR_sampler_mirror_clamp_to_edge 1
6422 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION 3
6423 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME "VK_KHR_sampler_mirror_clamp_to_edge"
6426 #define VK_KHR_multiview 1
6427 #define VK_KHR_MULTIVIEW_SPEC_VERSION 1
6428 #define VK_KHR_MULTIVIEW_EXTENSION_NAME "VK_KHR_multiview"
6429 typedef VkRenderPassMultiviewCreateInfo VkRenderPassMultiviewCreateInfoKHR;
6431 typedef VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeaturesKHR;
6433 typedef VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewPropertiesKHR;
6437 #define VK_KHR_get_physical_device_properties2 1
6438 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION 2
6439 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_physical_device_properties2"
6440 typedef VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2KHR;
6442 typedef VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2KHR;
6444 typedef VkFormatProperties2 VkFormatProperties2KHR;
6446 typedef VkImageFormatProperties2 VkImageFormatProperties2KHR;
6448 typedef VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2KHR;
6450 typedef VkQueueFamilyProperties2 VkQueueFamilyProperties2KHR;
6452 typedef VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2KHR;
6454 typedef VkSparseImageFormatProperties2 VkSparseImageFormatProperties2KHR;
6456 typedef VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2KHR;
6458 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
6459 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
6460 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2KHR)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
6461 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
6462 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
6463 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
6464 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
6466 #ifndef VK_NO_PROTOTYPES
6467 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2KHR(
6468 VkPhysicalDevice physicalDevice,
6469 VkPhysicalDeviceFeatures2* pFeatures);
6471 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2KHR(
6472 VkPhysicalDevice physicalDevice,
6473 VkPhysicalDeviceProperties2* pProperties);
6475 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2KHR(
6476 VkPhysicalDevice physicalDevice,
6478 VkFormatProperties2* pFormatProperties);
6480 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2KHR(
6481 VkPhysicalDevice physicalDevice,
6482 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
6483 VkImageFormatProperties2* pImageFormatProperties);
6485 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2KHR(
6486 VkPhysicalDevice physicalDevice,
6487 uint32_t* pQueueFamilyPropertyCount,
6488 VkQueueFamilyProperties2* pQueueFamilyProperties);
6490 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2KHR(
6491 VkPhysicalDevice physicalDevice,
6492 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
6494 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
6495 VkPhysicalDevice physicalDevice,
6496 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
6497 uint32_t* pPropertyCount,
6498 VkSparseImageFormatProperties2* pProperties);
6502 #define VK_KHR_device_group 1
6503 #define VK_KHR_DEVICE_GROUP_SPEC_VERSION 4
6504 #define VK_KHR_DEVICE_GROUP_EXTENSION_NAME "VK_KHR_device_group"
6505 typedef VkPeerMemoryFeatureFlags VkPeerMemoryFeatureFlagsKHR;
6507 typedef VkPeerMemoryFeatureFlagBits VkPeerMemoryFeatureFlagBitsKHR;
6509 typedef VkMemoryAllocateFlags VkMemoryAllocateFlagsKHR;
6511 typedef VkMemoryAllocateFlagBits VkMemoryAllocateFlagBitsKHR;
6513 typedef VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfoKHR;
6515 typedef VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfoKHR;
6517 typedef VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfoKHR;
6519 typedef VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfoKHR;
6521 typedef VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfoKHR;
6523 typedef VkBindBufferMemoryDeviceGroupInfo VkBindBufferMemoryDeviceGroupInfoKHR;
6525 typedef VkBindImageMemoryDeviceGroupInfo VkBindImageMemoryDeviceGroupInfoKHR;
6527 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR)(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
6528 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMaskKHR)(VkCommandBuffer commandBuffer, uint32_t deviceMask);
6529 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);
6531 #ifndef VK_NO_PROTOTYPES
6532 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeaturesKHR(
6535 uint32_t localDeviceIndex,
6536 uint32_t remoteDeviceIndex,
6537 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
6539 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMaskKHR(
6540 VkCommandBuffer commandBuffer,
6541 uint32_t deviceMask);
6543 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBaseKHR(
6544 VkCommandBuffer commandBuffer,
6545 uint32_t baseGroupX,
6546 uint32_t baseGroupY,
6547 uint32_t baseGroupZ,
6548 uint32_t groupCountX,
6549 uint32_t groupCountY,
6550 uint32_t groupCountZ);
6554 #define VK_KHR_shader_draw_parameters 1
6555 #define VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION 1
6556 #define VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME "VK_KHR_shader_draw_parameters"
6559 #define VK_KHR_maintenance1 1
6560 #define VK_KHR_MAINTENANCE1_SPEC_VERSION 2
6561 #define VK_KHR_MAINTENANCE1_EXTENSION_NAME "VK_KHR_maintenance1"
6562 typedef VkCommandPoolTrimFlags VkCommandPoolTrimFlagsKHR;
6564 typedef void (VKAPI_PTR *PFN_vkTrimCommandPoolKHR)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
6566 #ifndef VK_NO_PROTOTYPES
6567 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPoolKHR(
6569 VkCommandPool commandPool,
6570 VkCommandPoolTrimFlags flags);
6574 #define VK_KHR_device_group_creation 1
6575 #define VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION 1
6576 #define VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME "VK_KHR_device_group_creation"
6577 #define VK_MAX_DEVICE_GROUP_SIZE_KHR VK_MAX_DEVICE_GROUP_SIZE
6578 typedef VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupPropertiesKHR;
6580 typedef VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfoKHR;
6582 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroupsKHR)(VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
6584 #ifndef VK_NO_PROTOTYPES
6585 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroupsKHR(
6586 VkInstance instance,
6587 uint32_t* pPhysicalDeviceGroupCount,
6588 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
6592 #define VK_KHR_external_memory_capabilities 1
6593 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
6594 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_memory_capabilities"
6595 #define VK_LUID_SIZE_KHR VK_LUID_SIZE
6596 typedef VkExternalMemoryHandleTypeFlags VkExternalMemoryHandleTypeFlagsKHR;
6598 typedef VkExternalMemoryHandleTypeFlagBits VkExternalMemoryHandleTypeFlagBitsKHR;
6600 typedef VkExternalMemoryFeatureFlags VkExternalMemoryFeatureFlagsKHR;
6602 typedef VkExternalMemoryFeatureFlagBits VkExternalMemoryFeatureFlagBitsKHR;
6604 typedef VkExternalMemoryProperties VkExternalMemoryPropertiesKHR;
6606 typedef VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfoKHR;
6608 typedef VkExternalImageFormatProperties VkExternalImageFormatPropertiesKHR;
6610 typedef VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfoKHR;
6612 typedef VkExternalBufferProperties VkExternalBufferPropertiesKHR;
6614 typedef VkPhysicalDeviceIDProperties VkPhysicalDeviceIDPropertiesKHR;
6616 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
6618 #ifndef VK_NO_PROTOTYPES
6619 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferPropertiesKHR(
6620 VkPhysicalDevice physicalDevice,
6621 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
6622 VkExternalBufferProperties* pExternalBufferProperties);
6626 #define VK_KHR_external_memory 1
6627 #define VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION 1
6628 #define VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME "VK_KHR_external_memory"
6629 #define VK_QUEUE_FAMILY_EXTERNAL_KHR VK_QUEUE_FAMILY_EXTERNAL
6630 typedef VkExternalMemoryImageCreateInfo VkExternalMemoryImageCreateInfoKHR;
6632 typedef VkExternalMemoryBufferCreateInfo VkExternalMemoryBufferCreateInfoKHR;
6634 typedef VkExportMemoryAllocateInfo VkExportMemoryAllocateInfoKHR;
6638 #define VK_KHR_external_memory_fd 1
6639 #define VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION 1
6640 #define VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME "VK_KHR_external_memory_fd"
6641 typedef struct VkImportMemoryFdInfoKHR {
6642 VkStructureType sType;
6644 VkExternalMemoryHandleTypeFlagBits handleType;
6646 } VkImportMemoryFdInfoKHR;
6648 typedef struct VkMemoryFdPropertiesKHR {
6649 VkStructureType sType;
6651 uint32_t memoryTypeBits;
6652 } VkMemoryFdPropertiesKHR;
6654 typedef struct VkMemoryGetFdInfoKHR {
6655 VkStructureType sType;
6657 VkDeviceMemory memory;
6658 VkExternalMemoryHandleTypeFlagBits handleType;
6659 } VkMemoryGetFdInfoKHR;
6661 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdKHR)(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd);
6662 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdPropertiesKHR)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties);
6664 #ifndef VK_NO_PROTOTYPES
6665 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdKHR(
6667 const VkMemoryGetFdInfoKHR* pGetFdInfo,
6670 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdPropertiesKHR(
6672 VkExternalMemoryHandleTypeFlagBits handleType,
6674 VkMemoryFdPropertiesKHR* pMemoryFdProperties);
6678 #define VK_KHR_external_semaphore_capabilities 1
6679 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION 1
6680 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_semaphore_capabilities"
6681 typedef VkExternalSemaphoreHandleTypeFlags VkExternalSemaphoreHandleTypeFlagsKHR;
6683 typedef VkExternalSemaphoreHandleTypeFlagBits VkExternalSemaphoreHandleTypeFlagBitsKHR;
6685 typedef VkExternalSemaphoreFeatureFlags VkExternalSemaphoreFeatureFlagsKHR;
6687 typedef VkExternalSemaphoreFeatureFlagBits VkExternalSemaphoreFeatureFlagBitsKHR;
6689 typedef VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfoKHR;
6691 typedef VkExternalSemaphoreProperties VkExternalSemaphorePropertiesKHR;
6693 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
6695 #ifndef VK_NO_PROTOTYPES
6696 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(
6697 VkPhysicalDevice physicalDevice,
6698 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
6699 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
6703 #define VK_KHR_external_semaphore 1
6704 #define VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION 1
6705 #define VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME "VK_KHR_external_semaphore"
6706 typedef VkSemaphoreImportFlags VkSemaphoreImportFlagsKHR;
6708 typedef VkSemaphoreImportFlagBits VkSemaphoreImportFlagBitsKHR;
6710 typedef VkExportSemaphoreCreateInfo VkExportSemaphoreCreateInfoKHR;
6714 #define VK_KHR_external_semaphore_fd 1
6715 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION 1
6716 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME "VK_KHR_external_semaphore_fd"
6717 typedef struct VkImportSemaphoreFdInfoKHR {
6718 VkStructureType sType;
6720 VkSemaphore semaphore;
6721 VkSemaphoreImportFlags flags;
6722 VkExternalSemaphoreHandleTypeFlagBits handleType;
6724 } VkImportSemaphoreFdInfoKHR;
6726 typedef struct VkSemaphoreGetFdInfoKHR {
6727 VkStructureType sType;
6729 VkSemaphore semaphore;
6730 VkExternalSemaphoreHandleTypeFlagBits handleType;
6731 } VkSemaphoreGetFdInfoKHR;
6733 typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreFdKHR)(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
6734 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreFdKHR)(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd);
6736 #ifndef VK_NO_PROTOTYPES
6737 VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreFdKHR(
6739 const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
6741 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreFdKHR(
6743 const VkSemaphoreGetFdInfoKHR* pGetFdInfo,
6748 #define VK_KHR_push_descriptor 1
6749 #define VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION 2
6750 #define VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME "VK_KHR_push_descriptor"
6751 typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
6752 VkStructureType sType;
6754 uint32_t maxPushDescriptors;
6755 } VkPhysicalDevicePushDescriptorPropertiesKHR;
6757 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetKHR)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites);
6758 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplateKHR)(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void* pData);
6760 #ifndef VK_NO_PROTOTYPES
6761 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetKHR(
6762 VkCommandBuffer commandBuffer,
6763 VkPipelineBindPoint pipelineBindPoint,
6764 VkPipelineLayout layout,
6766 uint32_t descriptorWriteCount,
6767 const VkWriteDescriptorSet* pDescriptorWrites);
6769 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplateKHR(
6770 VkCommandBuffer commandBuffer,
6771 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
6772 VkPipelineLayout layout,
6778 #define VK_KHR_shader_float16_int8 1
6779 #define VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION 1
6780 #define VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME "VK_KHR_shader_float16_int8"
6781 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceShaderFloat16Int8FeaturesKHR;
6783 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceFloat16Int8FeaturesKHR;
6787 #define VK_KHR_16bit_storage 1
6788 #define VK_KHR_16BIT_STORAGE_SPEC_VERSION 1
6789 #define VK_KHR_16BIT_STORAGE_EXTENSION_NAME "VK_KHR_16bit_storage"
6790 typedef VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeaturesKHR;
6794 #define VK_KHR_incremental_present 1
6795 #define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 2
6796 #define VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME "VK_KHR_incremental_present"
6797 typedef struct VkRectLayerKHR {
6803 typedef struct VkPresentRegionKHR {
6804 uint32_t rectangleCount;
6805 const VkRectLayerKHR* pRectangles;
6806 } VkPresentRegionKHR;
6808 typedef struct VkPresentRegionsKHR {
6809 VkStructureType sType;
6811 uint32_t swapchainCount;
6812 const VkPresentRegionKHR* pRegions;
6813 } VkPresentRegionsKHR;
6817 #define VK_KHR_descriptor_update_template 1
6818 typedef VkDescriptorUpdateTemplate VkDescriptorUpdateTemplateKHR;
6820 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION 1
6821 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME "VK_KHR_descriptor_update_template"
6822 typedef VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateTypeKHR;
6824 typedef VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlagsKHR;
6826 typedef VkDescriptorUpdateTemplateEntry VkDescriptorUpdateTemplateEntryKHR;
6828 typedef VkDescriptorUpdateTemplateCreateInfo VkDescriptorUpdateTemplateCreateInfoKHR;
6830 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplateKHR)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
6831 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplateKHR)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
6832 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplateKHR)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
6834 #ifndef VK_NO_PROTOTYPES
6835 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplateKHR(
6837 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
6838 const VkAllocationCallbacks* pAllocator,
6839 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
6841 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplateKHR(
6843 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
6844 const VkAllocationCallbacks* pAllocator);
6846 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplateKHR(
6848 VkDescriptorSet descriptorSet,
6849 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
6854 #define VK_KHR_imageless_framebuffer 1
6855 #define VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION 1
6856 #define VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME "VK_KHR_imageless_framebuffer"
6857 typedef VkPhysicalDeviceImagelessFramebufferFeatures VkPhysicalDeviceImagelessFramebufferFeaturesKHR;
6859 typedef VkFramebufferAttachmentsCreateInfo VkFramebufferAttachmentsCreateInfoKHR;
6861 typedef VkFramebufferAttachmentImageInfo VkFramebufferAttachmentImageInfoKHR;
6863 typedef VkRenderPassAttachmentBeginInfo VkRenderPassAttachmentBeginInfoKHR;
6867 #define VK_KHR_create_renderpass2 1
6868 #define VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION 1
6869 #define VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME "VK_KHR_create_renderpass2"
6870 typedef VkRenderPassCreateInfo2 VkRenderPassCreateInfo2KHR;
6872 typedef VkAttachmentDescription2 VkAttachmentDescription2KHR;
6874 typedef VkAttachmentReference2 VkAttachmentReference2KHR;
6876 typedef VkSubpassDescription2 VkSubpassDescription2KHR;
6878 typedef VkSubpassDependency2 VkSubpassDependency2KHR;
6880 typedef VkSubpassBeginInfo VkSubpassBeginInfoKHR;
6882 typedef VkSubpassEndInfo VkSubpassEndInfoKHR;
6884 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2KHR)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
6885 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo);
6886 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo);
6887 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo);
6889 #ifndef VK_NO_PROTOTYPES
6890 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2KHR(
6892 const VkRenderPassCreateInfo2* pCreateInfo,
6893 const VkAllocationCallbacks* pAllocator,
6894 VkRenderPass* pRenderPass);
6896 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2KHR(
6897 VkCommandBuffer commandBuffer,
6898 const VkRenderPassBeginInfo* pRenderPassBegin,
6899 const VkSubpassBeginInfo* pSubpassBeginInfo);
6901 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2KHR(
6902 VkCommandBuffer commandBuffer,
6903 const VkSubpassBeginInfo* pSubpassBeginInfo,
6904 const VkSubpassEndInfo* pSubpassEndInfo);
6906 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2KHR(
6907 VkCommandBuffer commandBuffer,
6908 const VkSubpassEndInfo* pSubpassEndInfo);
6912 #define VK_KHR_shared_presentable_image 1
6913 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION 1
6914 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME "VK_KHR_shared_presentable_image"
6915 typedef struct VkSharedPresentSurfaceCapabilitiesKHR {
6916 VkStructureType sType;
6918 VkImageUsageFlags sharedPresentSupportedUsageFlags;
6919 } VkSharedPresentSurfaceCapabilitiesKHR;
6921 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainStatusKHR)(VkDevice device, VkSwapchainKHR swapchain);
6923 #ifndef VK_NO_PROTOTYPES
6924 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainStatusKHR(
6926 VkSwapchainKHR swapchain);
6930 #define VK_KHR_external_fence_capabilities 1
6931 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION 1
6932 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_fence_capabilities"
6933 typedef VkExternalFenceHandleTypeFlags VkExternalFenceHandleTypeFlagsKHR;
6935 typedef VkExternalFenceHandleTypeFlagBits VkExternalFenceHandleTypeFlagBitsKHR;
6937 typedef VkExternalFenceFeatureFlags VkExternalFenceFeatureFlagsKHR;
6939 typedef VkExternalFenceFeatureFlagBits VkExternalFenceFeatureFlagBitsKHR;
6941 typedef VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfoKHR;
6943 typedef VkExternalFenceProperties VkExternalFencePropertiesKHR;
6945 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
6947 #ifndef VK_NO_PROTOTYPES
6948 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFencePropertiesKHR(
6949 VkPhysicalDevice physicalDevice,
6950 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
6951 VkExternalFenceProperties* pExternalFenceProperties);
6955 #define VK_KHR_external_fence 1
6956 #define VK_KHR_EXTERNAL_FENCE_SPEC_VERSION 1
6957 #define VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME "VK_KHR_external_fence"
6958 typedef VkFenceImportFlags VkFenceImportFlagsKHR;
6960 typedef VkFenceImportFlagBits VkFenceImportFlagBitsKHR;
6962 typedef VkExportFenceCreateInfo VkExportFenceCreateInfoKHR;
6966 #define VK_KHR_external_fence_fd 1
6967 #define VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION 1
6968 #define VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME "VK_KHR_external_fence_fd"
6969 typedef struct VkImportFenceFdInfoKHR {
6970 VkStructureType sType;
6973 VkFenceImportFlags flags;
6974 VkExternalFenceHandleTypeFlagBits handleType;
6976 } VkImportFenceFdInfoKHR;
6978 typedef struct VkFenceGetFdInfoKHR {
6979 VkStructureType sType;
6982 VkExternalFenceHandleTypeFlagBits handleType;
6983 } VkFenceGetFdInfoKHR;
6985 typedef VkResult (VKAPI_PTR *PFN_vkImportFenceFdKHR)(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
6986 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceFdKHR)(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd);
6988 #ifndef VK_NO_PROTOTYPES
6989 VKAPI_ATTR VkResult VKAPI_CALL vkImportFenceFdKHR(
6991 const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
6993 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceFdKHR(
6995 const VkFenceGetFdInfoKHR* pGetFdInfo,
7000 #define VK_KHR_performance_query 1
7001 #define VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION 1
7002 #define VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME "VK_KHR_performance_query"
7004 typedef enum VkPerformanceCounterUnitKHR {
7005 VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR = 0,
7006 VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR = 1,
7007 VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR = 2,
7008 VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR = 3,
7009 VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR = 4,
7010 VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR = 5,
7011 VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR = 6,
7012 VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR = 7,
7013 VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR = 8,
7014 VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR = 9,
7015 VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR = 10,
7016 VK_PERFORMANCE_COUNTER_UNIT_MAX_ENUM_KHR = 0x7FFFFFFF
7017 } VkPerformanceCounterUnitKHR;
7019 typedef enum VkPerformanceCounterScopeKHR {
7020 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR = 0,
7021 VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR = 1,
7022 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR = 2,
7023 VK_QUERY_SCOPE_COMMAND_BUFFER_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR,
7024 VK_QUERY_SCOPE_RENDER_PASS_KHR = VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR,
7025 VK_QUERY_SCOPE_COMMAND_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR,
7026 VK_PERFORMANCE_COUNTER_SCOPE_MAX_ENUM_KHR = 0x7FFFFFFF
7027 } VkPerformanceCounterScopeKHR;
7029 typedef enum VkPerformanceCounterStorageKHR {
7030 VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR = 0,
7031 VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR = 1,
7032 VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR = 2,
7033 VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR = 3,
7034 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR = 4,
7035 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR = 5,
7036 VK_PERFORMANCE_COUNTER_STORAGE_MAX_ENUM_KHR = 0x7FFFFFFF
7037 } VkPerformanceCounterStorageKHR;
7039 typedef enum VkPerformanceCounterDescriptionFlagBitsKHR {
7040 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR = 0x00000001,
7041 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR = 0x00000002,
7042 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR,
7043 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR,
7044 VK_PERFORMANCE_COUNTER_DESCRIPTION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7045 } VkPerformanceCounterDescriptionFlagBitsKHR;
7046 typedef VkFlags VkPerformanceCounterDescriptionFlagsKHR;
7048 typedef enum VkAcquireProfilingLockFlagBitsKHR {
7049 VK_ACQUIRE_PROFILING_LOCK_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7050 } VkAcquireProfilingLockFlagBitsKHR;
7051 typedef VkFlags VkAcquireProfilingLockFlagsKHR;
7052 typedef struct VkPhysicalDevicePerformanceQueryFeaturesKHR {
7053 VkStructureType sType;
7055 VkBool32 performanceCounterQueryPools;
7056 VkBool32 performanceCounterMultipleQueryPools;
7057 } VkPhysicalDevicePerformanceQueryFeaturesKHR;
7059 typedef struct VkPhysicalDevicePerformanceQueryPropertiesKHR {
7060 VkStructureType sType;
7062 VkBool32 allowCommandBufferQueryCopies;
7063 } VkPhysicalDevicePerformanceQueryPropertiesKHR;
7065 typedef struct VkPerformanceCounterKHR {
7066 VkStructureType sType;
7068 VkPerformanceCounterUnitKHR unit;
7069 VkPerformanceCounterScopeKHR scope;
7070 VkPerformanceCounterStorageKHR storage;
7071 uint8_t uuid[VK_UUID_SIZE];
7072 } VkPerformanceCounterKHR;
7074 typedef struct VkPerformanceCounterDescriptionKHR {
7075 VkStructureType sType;
7077 VkPerformanceCounterDescriptionFlagsKHR flags;
7078 char name[VK_MAX_DESCRIPTION_SIZE];
7079 char category[VK_MAX_DESCRIPTION_SIZE];
7080 char description[VK_MAX_DESCRIPTION_SIZE];
7081 } VkPerformanceCounterDescriptionKHR;
7083 typedef struct VkQueryPoolPerformanceCreateInfoKHR {
7084 VkStructureType sType;
7086 uint32_t queueFamilyIndex;
7087 uint32_t counterIndexCount;
7088 const uint32_t* pCounterIndices;
7089 } VkQueryPoolPerformanceCreateInfoKHR;
7091 typedef union VkPerformanceCounterResultKHR {
7098 } VkPerformanceCounterResultKHR;
7100 typedef struct VkAcquireProfilingLockInfoKHR {
7101 VkStructureType sType;
7103 VkAcquireProfilingLockFlagsKHR flags;
7105 } VkAcquireProfilingLockInfoKHR;
7107 typedef struct VkPerformanceQuerySubmitInfoKHR {
7108 VkStructureType sType;
7110 uint32_t counterPassIndex;
7111 } VkPerformanceQuerySubmitInfoKHR;
7113 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, uint32_t* pCounterCount, VkPerformanceCounterKHR* pCounters, VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
7114 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR)(VkPhysicalDevice physicalDevice, const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, uint32_t* pNumPasses);
7115 typedef VkResult (VKAPI_PTR *PFN_vkAcquireProfilingLockKHR)(VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo);
7116 typedef void (VKAPI_PTR *PFN_vkReleaseProfilingLockKHR)(VkDevice device);
7118 #ifndef VK_NO_PROTOTYPES
7119 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
7120 VkPhysicalDevice physicalDevice,
7121 uint32_t queueFamilyIndex,
7122 uint32_t* pCounterCount,
7123 VkPerformanceCounterKHR* pCounters,
7124 VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
7126 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
7127 VkPhysicalDevice physicalDevice,
7128 const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo,
7129 uint32_t* pNumPasses);
7131 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireProfilingLockKHR(
7133 const VkAcquireProfilingLockInfoKHR* pInfo);
7135 VKAPI_ATTR void VKAPI_CALL vkReleaseProfilingLockKHR(
7140 #define VK_KHR_maintenance2 1
7141 #define VK_KHR_MAINTENANCE2_SPEC_VERSION 1
7142 #define VK_KHR_MAINTENANCE2_EXTENSION_NAME "VK_KHR_maintenance2"
7143 typedef VkPointClippingBehavior VkPointClippingBehaviorKHR;
7145 typedef VkTessellationDomainOrigin VkTessellationDomainOriginKHR;
7147 typedef VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingPropertiesKHR;
7149 typedef VkRenderPassInputAttachmentAspectCreateInfo VkRenderPassInputAttachmentAspectCreateInfoKHR;
7151 typedef VkInputAttachmentAspectReference VkInputAttachmentAspectReferenceKHR;
7153 typedef VkImageViewUsageCreateInfo VkImageViewUsageCreateInfoKHR;
7155 typedef VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfoKHR;
7159 #define VK_KHR_get_surface_capabilities2 1
7160 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION 1
7161 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME "VK_KHR_get_surface_capabilities2"
7162 typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
7163 VkStructureType sType;
7165 VkSurfaceKHR surface;
7166 } VkPhysicalDeviceSurfaceInfo2KHR;
7168 typedef struct VkSurfaceCapabilities2KHR {
7169 VkStructureType sType;
7171 VkSurfaceCapabilitiesKHR surfaceCapabilities;
7172 } VkSurfaceCapabilities2KHR;
7174 typedef struct VkSurfaceFormat2KHR {
7175 VkStructureType sType;
7177 VkSurfaceFormatKHR surfaceFormat;
7178 } VkSurfaceFormat2KHR;
7180 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
7181 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormats2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, uint32_t* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats);
7183 #ifndef VK_NO_PROTOTYPES
7184 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2KHR(
7185 VkPhysicalDevice physicalDevice,
7186 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
7187 VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
7189 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormats2KHR(
7190 VkPhysicalDevice physicalDevice,
7191 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
7192 uint32_t* pSurfaceFormatCount,
7193 VkSurfaceFormat2KHR* pSurfaceFormats);
7197 #define VK_KHR_variable_pointers 1
7198 #define VK_KHR_VARIABLE_POINTERS_SPEC_VERSION 1
7199 #define VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME "VK_KHR_variable_pointers"
7200 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeaturesKHR;
7202 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointersFeaturesKHR;
7206 #define VK_KHR_get_display_properties2 1
7207 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION 1
7208 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_display_properties2"
7209 typedef struct VkDisplayProperties2KHR {
7210 VkStructureType sType;
7212 VkDisplayPropertiesKHR displayProperties;
7213 } VkDisplayProperties2KHR;
7215 typedef struct VkDisplayPlaneProperties2KHR {
7216 VkStructureType sType;
7218 VkDisplayPlanePropertiesKHR displayPlaneProperties;
7219 } VkDisplayPlaneProperties2KHR;
7221 typedef struct VkDisplayModeProperties2KHR {
7222 VkStructureType sType;
7224 VkDisplayModePropertiesKHR displayModeProperties;
7225 } VkDisplayModeProperties2KHR;
7227 typedef struct VkDisplayPlaneInfo2KHR {
7228 VkStructureType sType;
7230 VkDisplayModeKHR mode;
7231 uint32_t planeIndex;
7232 } VkDisplayPlaneInfo2KHR;
7234 typedef struct VkDisplayPlaneCapabilities2KHR {
7235 VkStructureType sType;
7237 VkDisplayPlaneCapabilitiesKHR capabilities;
7238 } VkDisplayPlaneCapabilities2KHR;
7240 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayProperties2KHR* pProperties);
7241 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlaneProperties2KHR* pProperties);
7242 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModeProperties2KHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModeProperties2KHR* pProperties);
7243 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, VkDisplayPlaneCapabilities2KHR* pCapabilities);
7245 #ifndef VK_NO_PROTOTYPES
7246 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayProperties2KHR(
7247 VkPhysicalDevice physicalDevice,
7248 uint32_t* pPropertyCount,
7249 VkDisplayProperties2KHR* pProperties);
7251 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlaneProperties2KHR(
7252 VkPhysicalDevice physicalDevice,
7253 uint32_t* pPropertyCount,
7254 VkDisplayPlaneProperties2KHR* pProperties);
7256 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModeProperties2KHR(
7257 VkPhysicalDevice physicalDevice,
7258 VkDisplayKHR display,
7259 uint32_t* pPropertyCount,
7260 VkDisplayModeProperties2KHR* pProperties);
7262 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilities2KHR(
7263 VkPhysicalDevice physicalDevice,
7264 const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo,
7265 VkDisplayPlaneCapabilities2KHR* pCapabilities);
7269 #define VK_KHR_dedicated_allocation 1
7270 #define VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION 3
7271 #define VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_KHR_dedicated_allocation"
7272 typedef VkMemoryDedicatedRequirements VkMemoryDedicatedRequirementsKHR;
7274 typedef VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfoKHR;
7278 #define VK_KHR_storage_buffer_storage_class 1
7279 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION 1
7280 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME "VK_KHR_storage_buffer_storage_class"
7283 #define VK_KHR_relaxed_block_layout 1
7284 #define VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION 1
7285 #define VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME "VK_KHR_relaxed_block_layout"
7288 #define VK_KHR_get_memory_requirements2 1
7289 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION 1
7290 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME "VK_KHR_get_memory_requirements2"
7291 typedef VkBufferMemoryRequirementsInfo2 VkBufferMemoryRequirementsInfo2KHR;
7293 typedef VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2KHR;
7295 typedef VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2KHR;
7297 typedef VkMemoryRequirements2 VkMemoryRequirements2KHR;
7299 typedef VkSparseImageMemoryRequirements2 VkSparseImageMemoryRequirements2KHR;
7301 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2KHR)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
7302 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2KHR)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
7303 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2KHR)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
7305 #ifndef VK_NO_PROTOTYPES
7306 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2KHR(
7308 const VkImageMemoryRequirementsInfo2* pInfo,
7309 VkMemoryRequirements2* pMemoryRequirements);
7311 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2KHR(
7313 const VkBufferMemoryRequirementsInfo2* pInfo,
7314 VkMemoryRequirements2* pMemoryRequirements);
7316 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2KHR(
7318 const VkImageSparseMemoryRequirementsInfo2* pInfo,
7319 uint32_t* pSparseMemoryRequirementCount,
7320 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
7324 #define VK_KHR_image_format_list 1
7325 #define VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION 1
7326 #define VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME "VK_KHR_image_format_list"
7327 typedef VkImageFormatListCreateInfo VkImageFormatListCreateInfoKHR;
7331 #define VK_KHR_sampler_ycbcr_conversion 1
7332 typedef VkSamplerYcbcrConversion VkSamplerYcbcrConversionKHR;
7334 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION 14
7335 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME "VK_KHR_sampler_ycbcr_conversion"
7336 typedef VkSamplerYcbcrModelConversion VkSamplerYcbcrModelConversionKHR;
7338 typedef VkSamplerYcbcrRange VkSamplerYcbcrRangeKHR;
7340 typedef VkChromaLocation VkChromaLocationKHR;
7342 typedef VkSamplerYcbcrConversionCreateInfo VkSamplerYcbcrConversionCreateInfoKHR;
7344 typedef VkSamplerYcbcrConversionInfo VkSamplerYcbcrConversionInfoKHR;
7346 typedef VkBindImagePlaneMemoryInfo VkBindImagePlaneMemoryInfoKHR;
7348 typedef VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfoKHR;
7350 typedef VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR;
7352 typedef VkSamplerYcbcrConversionImageFormatProperties VkSamplerYcbcrConversionImageFormatPropertiesKHR;
7354 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversionKHR)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
7355 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversionKHR)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
7357 #ifndef VK_NO_PROTOTYPES
7358 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversionKHR(
7360 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
7361 const VkAllocationCallbacks* pAllocator,
7362 VkSamplerYcbcrConversion* pYcbcrConversion);
7364 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversionKHR(
7366 VkSamplerYcbcrConversion ycbcrConversion,
7367 const VkAllocationCallbacks* pAllocator);
7371 #define VK_KHR_bind_memory2 1
7372 #define VK_KHR_BIND_MEMORY_2_SPEC_VERSION 1
7373 #define VK_KHR_BIND_MEMORY_2_EXTENSION_NAME "VK_KHR_bind_memory2"
7374 typedef VkBindBufferMemoryInfo VkBindBufferMemoryInfoKHR;
7376 typedef VkBindImageMemoryInfo VkBindImageMemoryInfoKHR;
7378 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2KHR)(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
7379 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2KHR)(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
7381 #ifndef VK_NO_PROTOTYPES
7382 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2KHR(
7384 uint32_t bindInfoCount,
7385 const VkBindBufferMemoryInfo* pBindInfos);
7387 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2KHR(
7389 uint32_t bindInfoCount,
7390 const VkBindImageMemoryInfo* pBindInfos);
7394 #define VK_KHR_maintenance3 1
7395 #define VK_KHR_MAINTENANCE3_SPEC_VERSION 1
7396 #define VK_KHR_MAINTENANCE3_EXTENSION_NAME "VK_KHR_maintenance3"
7397 typedef VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3PropertiesKHR;
7399 typedef VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupportKHR;
7401 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupportKHR)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
7403 #ifndef VK_NO_PROTOTYPES
7404 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupportKHR(
7406 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
7407 VkDescriptorSetLayoutSupport* pSupport);
7411 #define VK_KHR_draw_indirect_count 1
7412 #define VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION 1
7413 #define VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_KHR_draw_indirect_count"
7414 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
7415 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
7417 #ifndef VK_NO_PROTOTYPES
7418 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountKHR(
7419 VkCommandBuffer commandBuffer,
7421 VkDeviceSize offset,
7422 VkBuffer countBuffer,
7423 VkDeviceSize countBufferOffset,
7424 uint32_t maxDrawCount,
7427 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountKHR(
7428 VkCommandBuffer commandBuffer,
7430 VkDeviceSize offset,
7431 VkBuffer countBuffer,
7432 VkDeviceSize countBufferOffset,
7433 uint32_t maxDrawCount,
7438 #define VK_KHR_shader_subgroup_extended_types 1
7439 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION 1
7440 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME "VK_KHR_shader_subgroup_extended_types"
7441 typedef VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR;
7445 #define VK_KHR_8bit_storage 1
7446 #define VK_KHR_8BIT_STORAGE_SPEC_VERSION 1
7447 #define VK_KHR_8BIT_STORAGE_EXTENSION_NAME "VK_KHR_8bit_storage"
7448 typedef VkPhysicalDevice8BitStorageFeatures VkPhysicalDevice8BitStorageFeaturesKHR;
7452 #define VK_KHR_shader_atomic_int64 1
7453 #define VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION 1
7454 #define VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME "VK_KHR_shader_atomic_int64"
7455 typedef VkPhysicalDeviceShaderAtomicInt64Features VkPhysicalDeviceShaderAtomicInt64FeaturesKHR;
7459 #define VK_KHR_shader_clock 1
7460 #define VK_KHR_SHADER_CLOCK_SPEC_VERSION 1
7461 #define VK_KHR_SHADER_CLOCK_EXTENSION_NAME "VK_KHR_shader_clock"
7462 typedef struct VkPhysicalDeviceShaderClockFeaturesKHR {
7463 VkStructureType sType;
7465 VkBool32 shaderSubgroupClock;
7466 VkBool32 shaderDeviceClock;
7467 } VkPhysicalDeviceShaderClockFeaturesKHR;
7471 #define VK_KHR_driver_properties 1
7472 #define VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION 1
7473 #define VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME "VK_KHR_driver_properties"
7474 #define VK_MAX_DRIVER_NAME_SIZE_KHR VK_MAX_DRIVER_NAME_SIZE
7475 #define VK_MAX_DRIVER_INFO_SIZE_KHR VK_MAX_DRIVER_INFO_SIZE
7476 typedef VkDriverId VkDriverIdKHR;
7478 typedef VkConformanceVersion VkConformanceVersionKHR;
7480 typedef VkPhysicalDeviceDriverProperties VkPhysicalDeviceDriverPropertiesKHR;
7484 #define VK_KHR_shader_float_controls 1
7485 #define VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION 4
7486 #define VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME "VK_KHR_shader_float_controls"
7487 typedef VkShaderFloatControlsIndependence VkShaderFloatControlsIndependenceKHR;
7489 typedef VkPhysicalDeviceFloatControlsProperties VkPhysicalDeviceFloatControlsPropertiesKHR;
7493 #define VK_KHR_depth_stencil_resolve 1
7494 #define VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION 1
7495 #define VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME "VK_KHR_depth_stencil_resolve"
7496 typedef VkResolveModeFlagBits VkResolveModeFlagBitsKHR;
7498 typedef VkResolveModeFlags VkResolveModeFlagsKHR;
7500 typedef VkSubpassDescriptionDepthStencilResolve VkSubpassDescriptionDepthStencilResolveKHR;
7502 typedef VkPhysicalDeviceDepthStencilResolveProperties VkPhysicalDeviceDepthStencilResolvePropertiesKHR;
7506 #define VK_KHR_swapchain_mutable_format 1
7507 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION 1
7508 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME "VK_KHR_swapchain_mutable_format"
7511 #define VK_KHR_timeline_semaphore 1
7512 #define VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION 2
7513 #define VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME "VK_KHR_timeline_semaphore"
7514 typedef VkSemaphoreType VkSemaphoreTypeKHR;
7516 typedef VkSemaphoreWaitFlagBits VkSemaphoreWaitFlagBitsKHR;
7518 typedef VkSemaphoreWaitFlags VkSemaphoreWaitFlagsKHR;
7520 typedef VkPhysicalDeviceTimelineSemaphoreFeatures VkPhysicalDeviceTimelineSemaphoreFeaturesKHR;
7522 typedef VkPhysicalDeviceTimelineSemaphoreProperties VkPhysicalDeviceTimelineSemaphorePropertiesKHR;
7524 typedef VkSemaphoreTypeCreateInfo VkSemaphoreTypeCreateInfoKHR;
7526 typedef VkTimelineSemaphoreSubmitInfo VkTimelineSemaphoreSubmitInfoKHR;
7528 typedef VkSemaphoreWaitInfo VkSemaphoreWaitInfoKHR;
7530 typedef VkSemaphoreSignalInfo VkSemaphoreSignalInfoKHR;
7532 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValueKHR)(VkDevice device, VkSemaphore semaphore, uint64_t* pValue);
7533 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphoresKHR)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout);
7534 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphoreKHR)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo);
7536 #ifndef VK_NO_PROTOTYPES
7537 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValueKHR(
7539 VkSemaphore semaphore,
7542 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphoresKHR(
7544 const VkSemaphoreWaitInfo* pWaitInfo,
7547 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphoreKHR(
7549 const VkSemaphoreSignalInfo* pSignalInfo);
7553 #define VK_KHR_vulkan_memory_model 1
7554 #define VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION 3
7555 #define VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME "VK_KHR_vulkan_memory_model"
7556 typedef VkPhysicalDeviceVulkanMemoryModelFeatures VkPhysicalDeviceVulkanMemoryModelFeaturesKHR;
7560 #define VK_KHR_shader_terminate_invocation 1
7561 #define VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION 1
7562 #define VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME "VK_KHR_shader_terminate_invocation"
7563 typedef struct VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR {
7564 VkStructureType sType;
7566 VkBool32 shaderTerminateInvocation;
7567 } VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR;
7571 #define VK_KHR_fragment_shading_rate 1
7572 #define VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION 1
7573 #define VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME "VK_KHR_fragment_shading_rate"
7575 typedef enum VkFragmentShadingRateCombinerOpKHR {
7576 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR = 0,
7577 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR = 1,
7578 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR = 2,
7579 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR = 3,
7580 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR = 4,
7581 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_ENUM_KHR = 0x7FFFFFFF
7582 } VkFragmentShadingRateCombinerOpKHR;
7583 typedef struct VkFragmentShadingRateAttachmentInfoKHR {
7584 VkStructureType sType;
7586 const VkAttachmentReference2* pFragmentShadingRateAttachment;
7587 VkExtent2D shadingRateAttachmentTexelSize;
7588 } VkFragmentShadingRateAttachmentInfoKHR;
7590 typedef struct VkPipelineFragmentShadingRateStateCreateInfoKHR {
7591 VkStructureType sType;
7593 VkExtent2D fragmentSize;
7594 VkFragmentShadingRateCombinerOpKHR combinerOps[2];
7595 } VkPipelineFragmentShadingRateStateCreateInfoKHR;
7597 typedef struct VkPhysicalDeviceFragmentShadingRateFeaturesKHR {
7598 VkStructureType sType;
7600 VkBool32 pipelineFragmentShadingRate;
7601 VkBool32 primitiveFragmentShadingRate;
7602 VkBool32 attachmentFragmentShadingRate;
7603 } VkPhysicalDeviceFragmentShadingRateFeaturesKHR;
7605 typedef struct VkPhysicalDeviceFragmentShadingRatePropertiesKHR {
7606 VkStructureType sType;
7608 VkExtent2D minFragmentShadingRateAttachmentTexelSize;
7609 VkExtent2D maxFragmentShadingRateAttachmentTexelSize;
7610 uint32_t maxFragmentShadingRateAttachmentTexelSizeAspectRatio;
7611 VkBool32 primitiveFragmentShadingRateWithMultipleViewports;
7612 VkBool32 layeredShadingRateAttachments;
7613 VkBool32 fragmentShadingRateNonTrivialCombinerOps;
7614 VkExtent2D maxFragmentSize;
7615 uint32_t maxFragmentSizeAspectRatio;
7616 uint32_t maxFragmentShadingRateCoverageSamples;
7617 VkSampleCountFlagBits maxFragmentShadingRateRasterizationSamples;
7618 VkBool32 fragmentShadingRateWithShaderDepthStencilWrites;
7619 VkBool32 fragmentShadingRateWithSampleMask;
7620 VkBool32 fragmentShadingRateWithShaderSampleMask;
7621 VkBool32 fragmentShadingRateWithConservativeRasterization;
7622 VkBool32 fragmentShadingRateWithFragmentShaderInterlock;
7623 VkBool32 fragmentShadingRateWithCustomSampleLocations;
7624 VkBool32 fragmentShadingRateStrictMultiplyCombiner;
7625 } VkPhysicalDeviceFragmentShadingRatePropertiesKHR;
7627 typedef struct VkPhysicalDeviceFragmentShadingRateKHR {
7628 VkStructureType sType;
7630 VkSampleCountFlags sampleCounts;
7631 VkExtent2D fragmentSize;
7632 } VkPhysicalDeviceFragmentShadingRateKHR;
7634 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pFragmentShadingRateCount, VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates);
7635 typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateKHR)(VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
7637 #ifndef VK_NO_PROTOTYPES
7638 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceFragmentShadingRatesKHR(
7639 VkPhysicalDevice physicalDevice,
7640 uint32_t* pFragmentShadingRateCount,
7641 VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates);
7643 VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateKHR(
7644 VkCommandBuffer commandBuffer,
7645 const VkExtent2D* pFragmentSize,
7646 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
7650 #define VK_KHR_spirv_1_4 1
7651 #define VK_KHR_SPIRV_1_4_SPEC_VERSION 1
7652 #define VK_KHR_SPIRV_1_4_EXTENSION_NAME "VK_KHR_spirv_1_4"
7655 #define VK_KHR_surface_protected_capabilities 1
7656 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION 1
7657 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME "VK_KHR_surface_protected_capabilities"
7658 typedef struct VkSurfaceProtectedCapabilitiesKHR {
7659 VkStructureType sType;
7661 VkBool32 supportsProtected;
7662 } VkSurfaceProtectedCapabilitiesKHR;
7666 #define VK_KHR_separate_depth_stencil_layouts 1
7667 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION 1
7668 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME "VK_KHR_separate_depth_stencil_layouts"
7669 typedef VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR;
7671 typedef VkAttachmentReferenceStencilLayout VkAttachmentReferenceStencilLayoutKHR;
7673 typedef VkAttachmentDescriptionStencilLayout VkAttachmentDescriptionStencilLayoutKHR;
7677 #define VK_KHR_uniform_buffer_standard_layout 1
7678 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION 1
7679 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME "VK_KHR_uniform_buffer_standard_layout"
7680 typedef VkPhysicalDeviceUniformBufferStandardLayoutFeatures VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR;
7684 #define VK_KHR_buffer_device_address 1
7685 #define VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 1
7686 #define VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_KHR_buffer_device_address"
7687 typedef VkPhysicalDeviceBufferDeviceAddressFeatures VkPhysicalDeviceBufferDeviceAddressFeaturesKHR;
7689 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoKHR;
7691 typedef VkBufferOpaqueCaptureAddressCreateInfo VkBufferOpaqueCaptureAddressCreateInfoKHR;
7693 typedef VkMemoryOpaqueCaptureAddressAllocateInfo VkMemoryOpaqueCaptureAddressAllocateInfoKHR;
7695 typedef VkDeviceMemoryOpaqueCaptureAddressInfo VkDeviceMemoryOpaqueCaptureAddressInfoKHR;
7697 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
7698 typedef uint64_t (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
7699 typedef uint64_t (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
7701 #ifndef VK_NO_PROTOTYPES
7702 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressKHR(
7704 const VkBufferDeviceAddressInfo* pInfo);
7706 VKAPI_ATTR uint64_t VKAPI_CALL vkGetBufferOpaqueCaptureAddressKHR(
7708 const VkBufferDeviceAddressInfo* pInfo);
7710 VKAPI_ATTR uint64_t VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddressKHR(
7712 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
7716 #define VK_KHR_deferred_host_operations 1
7717 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeferredOperationKHR)
7718 #define VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION 4
7719 #define VK_KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME "VK_KHR_deferred_host_operations"
7720 typedef VkResult (VKAPI_PTR *PFN_vkCreateDeferredOperationKHR)(VkDevice device, const VkAllocationCallbacks* pAllocator, VkDeferredOperationKHR* pDeferredOperation);
7721 typedef void (VKAPI_PTR *PFN_vkDestroyDeferredOperationKHR)(VkDevice device, VkDeferredOperationKHR operation, const VkAllocationCallbacks* pAllocator);
7722 typedef uint32_t (VKAPI_PTR *PFN_vkGetDeferredOperationMaxConcurrencyKHR)(VkDevice device, VkDeferredOperationKHR operation);
7723 typedef VkResult (VKAPI_PTR *PFN_vkGetDeferredOperationResultKHR)(VkDevice device, VkDeferredOperationKHR operation);
7724 typedef VkResult (VKAPI_PTR *PFN_vkDeferredOperationJoinKHR)(VkDevice device, VkDeferredOperationKHR operation);
7726 #ifndef VK_NO_PROTOTYPES
7727 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDeferredOperationKHR(
7729 const VkAllocationCallbacks* pAllocator,
7730 VkDeferredOperationKHR* pDeferredOperation);
7732 VKAPI_ATTR void VKAPI_CALL vkDestroyDeferredOperationKHR(
7734 VkDeferredOperationKHR operation,
7735 const VkAllocationCallbacks* pAllocator);
7737 VKAPI_ATTR uint32_t VKAPI_CALL vkGetDeferredOperationMaxConcurrencyKHR(
7739 VkDeferredOperationKHR operation);
7741 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeferredOperationResultKHR(
7743 VkDeferredOperationKHR operation);
7745 VKAPI_ATTR VkResult VKAPI_CALL vkDeferredOperationJoinKHR(
7747 VkDeferredOperationKHR operation);
7751 #define VK_KHR_pipeline_executable_properties 1
7752 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION 1
7753 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME "VK_KHR_pipeline_executable_properties"
7755 typedef enum VkPipelineExecutableStatisticFormatKHR {
7756 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR = 0,
7757 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR = 1,
7758 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR = 2,
7759 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR = 3,
7760 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_MAX_ENUM_KHR = 0x7FFFFFFF
7761 } VkPipelineExecutableStatisticFormatKHR;
7762 typedef struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
7763 VkStructureType sType;
7765 VkBool32 pipelineExecutableInfo;
7766 } VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR;
7768 typedef struct VkPipelineInfoKHR {
7769 VkStructureType sType;
7771 VkPipeline pipeline;
7772 } VkPipelineInfoKHR;
7774 typedef struct VkPipelineExecutablePropertiesKHR {
7775 VkStructureType sType;
7777 VkShaderStageFlags stages;
7778 char name[VK_MAX_DESCRIPTION_SIZE];
7779 char description[VK_MAX_DESCRIPTION_SIZE];
7780 uint32_t subgroupSize;
7781 } VkPipelineExecutablePropertiesKHR;
7783 typedef struct VkPipelineExecutableInfoKHR {
7784 VkStructureType sType;
7786 VkPipeline pipeline;
7787 uint32_t executableIndex;
7788 } VkPipelineExecutableInfoKHR;
7790 typedef union VkPipelineExecutableStatisticValueKHR {
7795 } VkPipelineExecutableStatisticValueKHR;
7797 typedef struct VkPipelineExecutableStatisticKHR {
7798 VkStructureType sType;
7800 char name[VK_MAX_DESCRIPTION_SIZE];
7801 char description[VK_MAX_DESCRIPTION_SIZE];
7802 VkPipelineExecutableStatisticFormatKHR format;
7803 VkPipelineExecutableStatisticValueKHR value;
7804 } VkPipelineExecutableStatisticKHR;
7806 typedef struct VkPipelineExecutableInternalRepresentationKHR {
7807 VkStructureType sType;
7809 char name[VK_MAX_DESCRIPTION_SIZE];
7810 char description[VK_MAX_DESCRIPTION_SIZE];
7814 } VkPipelineExecutableInternalRepresentationKHR;
7816 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutablePropertiesKHR)(VkDevice device, const VkPipelineInfoKHR* pPipelineInfo, uint32_t* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties);
7817 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableStatisticsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics);
7818 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableInternalRepresentationsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
7820 #ifndef VK_NO_PROTOTYPES
7821 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutablePropertiesKHR(
7823 const VkPipelineInfoKHR* pPipelineInfo,
7824 uint32_t* pExecutableCount,
7825 VkPipelineExecutablePropertiesKHR* pProperties);
7827 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableStatisticsKHR(
7829 const VkPipelineExecutableInfoKHR* pExecutableInfo,
7830 uint32_t* pStatisticCount,
7831 VkPipelineExecutableStatisticKHR* pStatistics);
7833 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableInternalRepresentationsKHR(
7835 const VkPipelineExecutableInfoKHR* pExecutableInfo,
7836 uint32_t* pInternalRepresentationCount,
7837 VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
7841 #define VK_KHR_pipeline_library 1
7842 #define VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION 1
7843 #define VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME "VK_KHR_pipeline_library"
7844 typedef struct VkPipelineLibraryCreateInfoKHR {
7845 VkStructureType sType;
7847 uint32_t libraryCount;
7848 const VkPipeline* pLibraries;
7849 } VkPipelineLibraryCreateInfoKHR;
7853 #define VK_KHR_shader_non_semantic_info 1
7854 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION 1
7855 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME "VK_KHR_shader_non_semantic_info"
7858 #define VK_KHR_synchronization2 1
7859 typedef uint64_t VkFlags64;
7860 #define VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION 1
7861 #define VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME "VK_KHR_synchronization2"
7862 typedef VkFlags64 VkPipelineStageFlags2KHR;
7864 // Flag bits for VkPipelineStageFlagBits2KHR
7865 typedef VkFlags64 VkPipelineStageFlagBits2KHR;
7866 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_NONE_KHR = 0ULL;
7867 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR = 0x00000001ULL;
7868 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR = 0x00000002ULL;
7869 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR = 0x00000004ULL;
7870 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR = 0x00000008ULL;
7871 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR = 0x00000010ULL;
7872 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR = 0x00000020ULL;
7873 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR = 0x00000040ULL;
7874 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR = 0x00000080ULL;
7875 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR = 0x00000100ULL;
7876 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR = 0x00000200ULL;
7877 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR = 0x00000400ULL;
7878 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR = 0x00000800ULL;
7879 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR = 0x00001000ULL;
7880 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR = 0x00001000;
7881 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR = 0x00002000ULL;
7882 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_HOST_BIT_KHR = 0x00004000ULL;
7883 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR = 0x00008000ULL;
7884 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR = 0x00010000ULL;
7885 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COPY_BIT_KHR = 0x100000000ULL;
7886 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR = 0x200000000ULL;
7887 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_BLIT_BIT_KHR = 0x400000000ULL;
7888 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR = 0x800000000ULL;
7889 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR = 0x1000000000ULL;
7890 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR = 0x2000000000ULL;
7891 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR = 0x4000000000ULL;
7892 #ifdef VK_ENABLE_BETA_EXTENSIONS
7893 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR = 0x04000000ULL;
7895 #ifdef VK_ENABLE_BETA_EXTENSIONS
7896 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR = 0x08000000ULL;
7898 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000ULL;
7899 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000ULL;
7900 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV = 0x00020000ULL;
7901 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000ULL;
7902 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV = 0x00400000;
7903 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000ULL;
7904 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR = 0x00200000ULL;
7905 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV = 0x00200000;
7906 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 0x02000000;
7907 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000ULL;
7908 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV = 0x00080000ULL;
7909 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV = 0x00100000ULL;
7910 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI = 0x8000000000ULL;
7912 typedef VkFlags64 VkAccessFlags2KHR;
7914 // Flag bits for VkAccessFlagBits2KHR
7915 typedef VkFlags64 VkAccessFlagBits2KHR;
7916 static const VkAccessFlagBits2KHR VK_ACCESS_2_NONE_KHR = 0ULL;
7917 static const VkAccessFlagBits2KHR VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR = 0x00000001ULL;
7918 static const VkAccessFlagBits2KHR VK_ACCESS_2_INDEX_READ_BIT_KHR = 0x00000002ULL;
7919 static const VkAccessFlagBits2KHR VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR = 0x00000004ULL;
7920 static const VkAccessFlagBits2KHR VK_ACCESS_2_UNIFORM_READ_BIT_KHR = 0x00000008ULL;
7921 static const VkAccessFlagBits2KHR VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR = 0x00000010ULL;
7922 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_READ_BIT_KHR = 0x00000020ULL;
7923 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_WRITE_BIT_KHR = 0x00000040ULL;
7924 static const VkAccessFlagBits2KHR VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR = 0x00000080ULL;
7925 static const VkAccessFlagBits2KHR VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR = 0x00000100ULL;
7926 static const VkAccessFlagBits2KHR VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR = 0x00000200ULL;
7927 static const VkAccessFlagBits2KHR VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR = 0x00000400ULL;
7928 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFER_READ_BIT_KHR = 0x00000800ULL;
7929 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR = 0x00001000ULL;
7930 static const VkAccessFlagBits2KHR VK_ACCESS_2_HOST_READ_BIT_KHR = 0x00002000ULL;
7931 static const VkAccessFlagBits2KHR VK_ACCESS_2_HOST_WRITE_BIT_KHR = 0x00004000ULL;
7932 static const VkAccessFlagBits2KHR VK_ACCESS_2_MEMORY_READ_BIT_KHR = 0x00008000ULL;
7933 static const VkAccessFlagBits2KHR VK_ACCESS_2_MEMORY_WRITE_BIT_KHR = 0x00010000ULL;
7934 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR = 0x100000000ULL;
7935 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR = 0x200000000ULL;
7936 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR = 0x400000000ULL;
7937 #ifdef VK_ENABLE_BETA_EXTENSIONS
7938 static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR = 0x800000000ULL;
7940 #ifdef VK_ENABLE_BETA_EXTENSIONS
7941 static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR = 0x1000000000ULL;
7943 #ifdef VK_ENABLE_BETA_EXTENSIONS
7944 static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR = 0x2000000000ULL;
7946 #ifdef VK_ENABLE_BETA_EXTENSIONS
7947 static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR = 0x4000000000ULL;
7949 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000ULL;
7950 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000ULL;
7951 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000ULL;
7952 static const VkAccessFlagBits2KHR VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000ULL;
7953 static const VkAccessFlagBits2KHR VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000ULL;
7954 static const VkAccessFlagBits2KHR VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000ULL;
7955 static const VkAccessFlagBits2KHR VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000ULL;
7956 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000;
7957 static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000ULL;
7958 static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000ULL;
7959 static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV = 0x00200000;
7960 static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 0x00400000;
7961 static const VkAccessFlagBits2KHR VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000ULL;
7962 static const VkAccessFlagBits2KHR VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000ULL;
7965 typedef enum VkSubmitFlagBitsKHR {
7966 VK_SUBMIT_PROTECTED_BIT_KHR = 0x00000001,
7967 VK_SUBMIT_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7968 } VkSubmitFlagBitsKHR;
7969 typedef VkFlags VkSubmitFlagsKHR;
7970 typedef struct VkMemoryBarrier2KHR {
7971 VkStructureType sType;
7973 VkPipelineStageFlags2KHR srcStageMask;
7974 VkAccessFlags2KHR srcAccessMask;
7975 VkPipelineStageFlags2KHR dstStageMask;
7976 VkAccessFlags2KHR dstAccessMask;
7977 } VkMemoryBarrier2KHR;
7979 typedef struct VkBufferMemoryBarrier2KHR {
7980 VkStructureType sType;
7982 VkPipelineStageFlags2KHR srcStageMask;
7983 VkAccessFlags2KHR srcAccessMask;
7984 VkPipelineStageFlags2KHR dstStageMask;
7985 VkAccessFlags2KHR dstAccessMask;
7986 uint32_t srcQueueFamilyIndex;
7987 uint32_t dstQueueFamilyIndex;
7989 VkDeviceSize offset;
7991 } VkBufferMemoryBarrier2KHR;
7993 typedef struct VkImageMemoryBarrier2KHR {
7994 VkStructureType sType;
7996 VkPipelineStageFlags2KHR srcStageMask;
7997 VkAccessFlags2KHR srcAccessMask;
7998 VkPipelineStageFlags2KHR dstStageMask;
7999 VkAccessFlags2KHR dstAccessMask;
8000 VkImageLayout oldLayout;
8001 VkImageLayout newLayout;
8002 uint32_t srcQueueFamilyIndex;
8003 uint32_t dstQueueFamilyIndex;
8005 VkImageSubresourceRange subresourceRange;
8006 } VkImageMemoryBarrier2KHR;
8008 typedef struct VkDependencyInfoKHR {
8009 VkStructureType sType;
8011 VkDependencyFlags dependencyFlags;
8012 uint32_t memoryBarrierCount;
8013 const VkMemoryBarrier2KHR* pMemoryBarriers;
8014 uint32_t bufferMemoryBarrierCount;
8015 const VkBufferMemoryBarrier2KHR* pBufferMemoryBarriers;
8016 uint32_t imageMemoryBarrierCount;
8017 const VkImageMemoryBarrier2KHR* pImageMemoryBarriers;
8018 } VkDependencyInfoKHR;
8020 typedef struct VkSemaphoreSubmitInfoKHR {
8021 VkStructureType sType;
8023 VkSemaphore semaphore;
8025 VkPipelineStageFlags2KHR stageMask;
8026 uint32_t deviceIndex;
8027 } VkSemaphoreSubmitInfoKHR;
8029 typedef struct VkCommandBufferSubmitInfoKHR {
8030 VkStructureType sType;
8032 VkCommandBuffer commandBuffer;
8033 uint32_t deviceMask;
8034 } VkCommandBufferSubmitInfoKHR;
8036 typedef struct VkSubmitInfo2KHR {
8037 VkStructureType sType;
8039 VkSubmitFlagsKHR flags;
8040 uint32_t waitSemaphoreInfoCount;
8041 const VkSemaphoreSubmitInfoKHR* pWaitSemaphoreInfos;
8042 uint32_t commandBufferInfoCount;
8043 const VkCommandBufferSubmitInfoKHR* pCommandBufferInfos;
8044 uint32_t signalSemaphoreInfoCount;
8045 const VkSemaphoreSubmitInfoKHR* pSignalSemaphoreInfos;
8048 typedef struct VkPhysicalDeviceSynchronization2FeaturesKHR {
8049 VkStructureType sType;
8051 VkBool32 synchronization2;
8052 } VkPhysicalDeviceSynchronization2FeaturesKHR;
8054 typedef struct VkQueueFamilyCheckpointProperties2NV {
8055 VkStructureType sType;
8057 VkPipelineStageFlags2KHR checkpointExecutionStageMask;
8058 } VkQueueFamilyCheckpointProperties2NV;
8060 typedef struct VkCheckpointData2NV {
8061 VkStructureType sType;
8063 VkPipelineStageFlags2KHR stage;
8064 void* pCheckpointMarker;
8065 } VkCheckpointData2NV;
8067 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfoKHR* pDependencyInfo);
8068 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2KHR stageMask);
8069 typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents2KHR)(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, const VkDependencyInfoKHR* pDependencyInfos);
8070 typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier2KHR)(VkCommandBuffer commandBuffer, const VkDependencyInfoKHR* pDependencyInfo);
8071 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2KHR)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2KHR stage, VkQueryPool queryPool, uint32_t query);
8072 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2KHR)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo2KHR* pSubmits, VkFence fence);
8073 typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarker2AMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2KHR stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker);
8074 typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointData2NV)(VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointData2NV* pCheckpointData);
8076 #ifndef VK_NO_PROTOTYPES
8077 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent2KHR(
8078 VkCommandBuffer commandBuffer,
8080 const VkDependencyInfoKHR* pDependencyInfo);
8082 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent2KHR(
8083 VkCommandBuffer commandBuffer,
8085 VkPipelineStageFlags2KHR stageMask);
8087 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents2KHR(
8088 VkCommandBuffer commandBuffer,
8089 uint32_t eventCount,
8090 const VkEvent* pEvents,
8091 const VkDependencyInfoKHR* pDependencyInfos);
8093 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier2KHR(
8094 VkCommandBuffer commandBuffer,
8095 const VkDependencyInfoKHR* pDependencyInfo);
8097 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp2KHR(
8098 VkCommandBuffer commandBuffer,
8099 VkPipelineStageFlags2KHR stage,
8100 VkQueryPool queryPool,
8103 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit2KHR(
8105 uint32_t submitCount,
8106 const VkSubmitInfo2KHR* pSubmits,
8109 VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarker2AMD(
8110 VkCommandBuffer commandBuffer,
8111 VkPipelineStageFlags2KHR stage,
8113 VkDeviceSize dstOffset,
8116 VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointData2NV(
8118 uint32_t* pCheckpointDataCount,
8119 VkCheckpointData2NV* pCheckpointData);
8123 #define VK_KHR_shader_subgroup_uniform_control_flow 1
8124 #define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION 1
8125 #define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME "VK_KHR_shader_subgroup_uniform_control_flow"
8126 typedef struct VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR {
8127 VkStructureType sType;
8129 VkBool32 shaderSubgroupUniformControlFlow;
8130 } VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR;
8134 #define VK_KHR_zero_initialize_workgroup_memory 1
8135 #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION 1
8136 #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME "VK_KHR_zero_initialize_workgroup_memory"
8137 typedef struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR {
8138 VkStructureType sType;
8140 VkBool32 shaderZeroInitializeWorkgroupMemory;
8141 } VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR;
8145 #define VK_KHR_workgroup_memory_explicit_layout 1
8146 #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION 1
8147 #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME "VK_KHR_workgroup_memory_explicit_layout"
8148 typedef struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {
8149 VkStructureType sType;
8151 VkBool32 workgroupMemoryExplicitLayout;
8152 VkBool32 workgroupMemoryExplicitLayoutScalarBlockLayout;
8153 VkBool32 workgroupMemoryExplicitLayout8BitAccess;
8154 VkBool32 workgroupMemoryExplicitLayout16BitAccess;
8155 } VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR;
8159 #define VK_KHR_copy_commands2 1
8160 #define VK_KHR_COPY_COMMANDS_2_SPEC_VERSION 1
8161 #define VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME "VK_KHR_copy_commands2"
8162 typedef struct VkBufferCopy2KHR {
8163 VkStructureType sType;
8165 VkDeviceSize srcOffset;
8166 VkDeviceSize dstOffset;
8170 typedef struct VkCopyBufferInfo2KHR {
8171 VkStructureType sType;
8175 uint32_t regionCount;
8176 const VkBufferCopy2KHR* pRegions;
8177 } VkCopyBufferInfo2KHR;
8179 typedef struct VkImageCopy2KHR {
8180 VkStructureType sType;
8182 VkImageSubresourceLayers srcSubresource;
8183 VkOffset3D srcOffset;
8184 VkImageSubresourceLayers dstSubresource;
8185 VkOffset3D dstOffset;
8189 typedef struct VkCopyImageInfo2KHR {
8190 VkStructureType sType;
8193 VkImageLayout srcImageLayout;
8195 VkImageLayout dstImageLayout;
8196 uint32_t regionCount;
8197 const VkImageCopy2KHR* pRegions;
8198 } VkCopyImageInfo2KHR;
8200 typedef struct VkBufferImageCopy2KHR {
8201 VkStructureType sType;
8203 VkDeviceSize bufferOffset;
8204 uint32_t bufferRowLength;
8205 uint32_t bufferImageHeight;
8206 VkImageSubresourceLayers imageSubresource;
8207 VkOffset3D imageOffset;
8208 VkExtent3D imageExtent;
8209 } VkBufferImageCopy2KHR;
8211 typedef struct VkCopyBufferToImageInfo2KHR {
8212 VkStructureType sType;
8216 VkImageLayout dstImageLayout;
8217 uint32_t regionCount;
8218 const VkBufferImageCopy2KHR* pRegions;
8219 } VkCopyBufferToImageInfo2KHR;
8221 typedef struct VkCopyImageToBufferInfo2KHR {
8222 VkStructureType sType;
8225 VkImageLayout srcImageLayout;
8227 uint32_t regionCount;
8228 const VkBufferImageCopy2KHR* pRegions;
8229 } VkCopyImageToBufferInfo2KHR;
8231 typedef struct VkImageBlit2KHR {
8232 VkStructureType sType;
8234 VkImageSubresourceLayers srcSubresource;
8235 VkOffset3D srcOffsets[2];
8236 VkImageSubresourceLayers dstSubresource;
8237 VkOffset3D dstOffsets[2];
8240 typedef struct VkBlitImageInfo2KHR {
8241 VkStructureType sType;
8244 VkImageLayout srcImageLayout;
8246 VkImageLayout dstImageLayout;
8247 uint32_t regionCount;
8248 const VkImageBlit2KHR* pRegions;
8250 } VkBlitImageInfo2KHR;
8252 typedef struct VkImageResolve2KHR {
8253 VkStructureType sType;
8255 VkImageSubresourceLayers srcSubresource;
8256 VkOffset3D srcOffset;
8257 VkImageSubresourceLayers dstSubresource;
8258 VkOffset3D dstOffset;
8260 } VkImageResolve2KHR;
8262 typedef struct VkResolveImageInfo2KHR {
8263 VkStructureType sType;
8266 VkImageLayout srcImageLayout;
8268 VkImageLayout dstImageLayout;
8269 uint32_t regionCount;
8270 const VkImageResolve2KHR* pRegions;
8271 } VkResolveImageInfo2KHR;
8273 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2KHR* pCopyBufferInfo);
8274 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2KHR* pCopyImageInfo);
8275 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2KHR* pCopyBufferToImageInfo);
8276 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2KHR* pCopyImageToBufferInfo);
8277 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage2KHR)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2KHR* pBlitImageInfo);
8278 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage2KHR)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2KHR* pResolveImageInfo);
8280 #ifndef VK_NO_PROTOTYPES
8281 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer2KHR(
8282 VkCommandBuffer commandBuffer,
8283 const VkCopyBufferInfo2KHR* pCopyBufferInfo);
8285 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage2KHR(
8286 VkCommandBuffer commandBuffer,
8287 const VkCopyImageInfo2KHR* pCopyImageInfo);
8289 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage2KHR(
8290 VkCommandBuffer commandBuffer,
8291 const VkCopyBufferToImageInfo2KHR* pCopyBufferToImageInfo);
8293 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer2KHR(
8294 VkCommandBuffer commandBuffer,
8295 const VkCopyImageToBufferInfo2KHR* pCopyImageToBufferInfo);
8297 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage2KHR(
8298 VkCommandBuffer commandBuffer,
8299 const VkBlitImageInfo2KHR* pBlitImageInfo);
8301 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage2KHR(
8302 VkCommandBuffer commandBuffer,
8303 const VkResolveImageInfo2KHR* pResolveImageInfo);
8307 #define VK_EXT_debug_report 1
8308 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT)
8309 #define VK_EXT_DEBUG_REPORT_SPEC_VERSION 10
8310 #define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report"
8312 typedef enum VkDebugReportObjectTypeEXT {
8313 VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT = 0,
8314 VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT = 1,
8315 VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT = 2,
8316 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT = 3,
8317 VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT = 4,
8318 VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT = 5,
8319 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT = 6,
8320 VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT = 7,
8321 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT = 8,
8322 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT = 9,
8323 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT = 10,
8324 VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT = 11,
8325 VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT = 12,
8326 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT = 13,
8327 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT = 14,
8328 VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT = 15,
8329 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT = 16,
8330 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT = 17,
8331 VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT = 18,
8332 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT = 19,
8333 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT = 20,
8334 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT = 21,
8335 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT = 22,
8336 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT = 23,
8337 VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT = 24,
8338 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT = 25,
8339 VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = 26,
8340 VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = 27,
8341 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT = 28,
8342 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT = 29,
8343 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = 30,
8344 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT = 33,
8345 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT = 1000156000,
8346 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT = 1000085000,
8347 VK_DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT = 1000029000,
8348 VK_DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT = 1000029001,
8349 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT = 1000150000,
8350 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT = 1000165000,
8351 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT,
8352 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT,
8353 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT,
8354 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT,
8355 VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
8356 } VkDebugReportObjectTypeEXT;
8358 typedef enum VkDebugReportFlagBitsEXT {
8359 VK_DEBUG_REPORT_INFORMATION_BIT_EXT = 0x00000001,
8360 VK_DEBUG_REPORT_WARNING_BIT_EXT = 0x00000002,
8361 VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = 0x00000004,
8362 VK_DEBUG_REPORT_ERROR_BIT_EXT = 0x00000008,
8363 VK_DEBUG_REPORT_DEBUG_BIT_EXT = 0x00000010,
8364 VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
8365 } VkDebugReportFlagBitsEXT;
8366 typedef VkFlags VkDebugReportFlagsEXT;
8367 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugReportCallbackEXT)(
8368 VkDebugReportFlagsEXT flags,
8369 VkDebugReportObjectTypeEXT objectType,
8372 int32_t messageCode,
8373 const char* pLayerPrefix,
8374 const char* pMessage,
8377 typedef struct VkDebugReportCallbackCreateInfoEXT {
8378 VkStructureType sType;
8380 VkDebugReportFlagsEXT flags;
8381 PFN_vkDebugReportCallbackEXT pfnCallback;
8383 } VkDebugReportCallbackCreateInfoEXT;
8385 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugReportCallbackEXT)(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback);
8386 typedef void (VKAPI_PTR *PFN_vkDestroyDebugReportCallbackEXT)(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator);
8387 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);
8389 #ifndef VK_NO_PROTOTYPES
8390 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugReportCallbackEXT(
8391 VkInstance instance,
8392 const VkDebugReportCallbackCreateInfoEXT* pCreateInfo,
8393 const VkAllocationCallbacks* pAllocator,
8394 VkDebugReportCallbackEXT* pCallback);
8396 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugReportCallbackEXT(
8397 VkInstance instance,
8398 VkDebugReportCallbackEXT callback,
8399 const VkAllocationCallbacks* pAllocator);
8401 VKAPI_ATTR void VKAPI_CALL vkDebugReportMessageEXT(
8402 VkInstance instance,
8403 VkDebugReportFlagsEXT flags,
8404 VkDebugReportObjectTypeEXT objectType,
8407 int32_t messageCode,
8408 const char* pLayerPrefix,
8409 const char* pMessage);
8413 #define VK_NV_glsl_shader 1
8414 #define VK_NV_GLSL_SHADER_SPEC_VERSION 1
8415 #define VK_NV_GLSL_SHADER_EXTENSION_NAME "VK_NV_glsl_shader"
8418 #define VK_EXT_depth_range_unrestricted 1
8419 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION 1
8420 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME "VK_EXT_depth_range_unrestricted"
8423 #define VK_IMG_filter_cubic 1
8424 #define VK_IMG_FILTER_CUBIC_SPEC_VERSION 1
8425 #define VK_IMG_FILTER_CUBIC_EXTENSION_NAME "VK_IMG_filter_cubic"
8428 #define VK_AMD_rasterization_order 1
8429 #define VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION 1
8430 #define VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME "VK_AMD_rasterization_order"
8432 typedef enum VkRasterizationOrderAMD {
8433 VK_RASTERIZATION_ORDER_STRICT_AMD = 0,
8434 VK_RASTERIZATION_ORDER_RELAXED_AMD = 1,
8435 VK_RASTERIZATION_ORDER_MAX_ENUM_AMD = 0x7FFFFFFF
8436 } VkRasterizationOrderAMD;
8437 typedef struct VkPipelineRasterizationStateRasterizationOrderAMD {
8438 VkStructureType sType;
8440 VkRasterizationOrderAMD rasterizationOrder;
8441 } VkPipelineRasterizationStateRasterizationOrderAMD;
8445 #define VK_AMD_shader_trinary_minmax 1
8446 #define VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION 1
8447 #define VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME "VK_AMD_shader_trinary_minmax"
8450 #define VK_AMD_shader_explicit_vertex_parameter 1
8451 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION 1
8452 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME "VK_AMD_shader_explicit_vertex_parameter"
8455 #define VK_EXT_debug_marker 1
8456 #define VK_EXT_DEBUG_MARKER_SPEC_VERSION 4
8457 #define VK_EXT_DEBUG_MARKER_EXTENSION_NAME "VK_EXT_debug_marker"
8458 typedef struct VkDebugMarkerObjectNameInfoEXT {
8459 VkStructureType sType;
8461 VkDebugReportObjectTypeEXT objectType;
8463 const char* pObjectName;
8464 } VkDebugMarkerObjectNameInfoEXT;
8466 typedef struct VkDebugMarkerObjectTagInfoEXT {
8467 VkStructureType sType;
8469 VkDebugReportObjectTypeEXT objectType;
8474 } VkDebugMarkerObjectTagInfoEXT;
8476 typedef struct VkDebugMarkerMarkerInfoEXT {
8477 VkStructureType sType;
8479 const char* pMarkerName;
8481 } VkDebugMarkerMarkerInfoEXT;
8483 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectTagEXT)(VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
8484 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectNameEXT)(VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
8485 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerBeginEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
8486 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerEndEXT)(VkCommandBuffer commandBuffer);
8487 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerInsertEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
8489 #ifndef VK_NO_PROTOTYPES
8490 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectTagEXT(
8492 const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
8494 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectNameEXT(
8496 const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
8498 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerBeginEXT(
8499 VkCommandBuffer commandBuffer,
8500 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
8502 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerEndEXT(
8503 VkCommandBuffer commandBuffer);
8505 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerInsertEXT(
8506 VkCommandBuffer commandBuffer,
8507 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
8511 #define VK_AMD_gcn_shader 1
8512 #define VK_AMD_GCN_SHADER_SPEC_VERSION 1
8513 #define VK_AMD_GCN_SHADER_EXTENSION_NAME "VK_AMD_gcn_shader"
8516 #define VK_NV_dedicated_allocation 1
8517 #define VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION 1
8518 #define VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_NV_dedicated_allocation"
8519 typedef struct VkDedicatedAllocationImageCreateInfoNV {
8520 VkStructureType sType;
8522 VkBool32 dedicatedAllocation;
8523 } VkDedicatedAllocationImageCreateInfoNV;
8525 typedef struct VkDedicatedAllocationBufferCreateInfoNV {
8526 VkStructureType sType;
8528 VkBool32 dedicatedAllocation;
8529 } VkDedicatedAllocationBufferCreateInfoNV;
8531 typedef struct VkDedicatedAllocationMemoryAllocateInfoNV {
8532 VkStructureType sType;
8536 } VkDedicatedAllocationMemoryAllocateInfoNV;
8540 #define VK_EXT_transform_feedback 1
8541 #define VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION 1
8542 #define VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME "VK_EXT_transform_feedback"
8543 typedef VkFlags VkPipelineRasterizationStateStreamCreateFlagsEXT;
8544 typedef struct VkPhysicalDeviceTransformFeedbackFeaturesEXT {
8545 VkStructureType sType;
8547 VkBool32 transformFeedback;
8548 VkBool32 geometryStreams;
8549 } VkPhysicalDeviceTransformFeedbackFeaturesEXT;
8551 typedef struct VkPhysicalDeviceTransformFeedbackPropertiesEXT {
8552 VkStructureType sType;
8554 uint32_t maxTransformFeedbackStreams;
8555 uint32_t maxTransformFeedbackBuffers;
8556 VkDeviceSize maxTransformFeedbackBufferSize;
8557 uint32_t maxTransformFeedbackStreamDataSize;
8558 uint32_t maxTransformFeedbackBufferDataSize;
8559 uint32_t maxTransformFeedbackBufferDataStride;
8560 VkBool32 transformFeedbackQueries;
8561 VkBool32 transformFeedbackStreamsLinesTriangles;
8562 VkBool32 transformFeedbackRasterizationStreamSelect;
8563 VkBool32 transformFeedbackDraw;
8564 } VkPhysicalDeviceTransformFeedbackPropertiesEXT;
8566 typedef struct VkPipelineRasterizationStateStreamCreateInfoEXT {
8567 VkStructureType sType;
8569 VkPipelineRasterizationStateStreamCreateFlagsEXT flags;
8570 uint32_t rasterizationStream;
8571 } VkPipelineRasterizationStateStreamCreateInfoEXT;
8573 typedef void (VKAPI_PTR *PFN_vkCmdBindTransformFeedbackBuffersEXT)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes);
8574 typedef void (VKAPI_PTR *PFN_vkCmdBeginTransformFeedbackEXT)(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
8575 typedef void (VKAPI_PTR *PFN_vkCmdEndTransformFeedbackEXT)(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
8576 typedef void (VKAPI_PTR *PFN_vkCmdBeginQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index);
8577 typedef void (VKAPI_PTR *PFN_vkCmdEndQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index);
8578 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectByteCountEXT)(VkCommandBuffer commandBuffer, uint32_t instanceCount, uint32_t firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, uint32_t counterOffset, uint32_t vertexStride);
8580 #ifndef VK_NO_PROTOTYPES
8581 VKAPI_ATTR void VKAPI_CALL vkCmdBindTransformFeedbackBuffersEXT(
8582 VkCommandBuffer commandBuffer,
8583 uint32_t firstBinding,
8584 uint32_t bindingCount,
8585 const VkBuffer* pBuffers,
8586 const VkDeviceSize* pOffsets,
8587 const VkDeviceSize* pSizes);
8589 VKAPI_ATTR void VKAPI_CALL vkCmdBeginTransformFeedbackEXT(
8590 VkCommandBuffer commandBuffer,
8591 uint32_t firstCounterBuffer,
8592 uint32_t counterBufferCount,
8593 const VkBuffer* pCounterBuffers,
8594 const VkDeviceSize* pCounterBufferOffsets);
8596 VKAPI_ATTR void VKAPI_CALL vkCmdEndTransformFeedbackEXT(
8597 VkCommandBuffer commandBuffer,
8598 uint32_t firstCounterBuffer,
8599 uint32_t counterBufferCount,
8600 const VkBuffer* pCounterBuffers,
8601 const VkDeviceSize* pCounterBufferOffsets);
8603 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQueryIndexedEXT(
8604 VkCommandBuffer commandBuffer,
8605 VkQueryPool queryPool,
8607 VkQueryControlFlags flags,
8610 VKAPI_ATTR void VKAPI_CALL vkCmdEndQueryIndexedEXT(
8611 VkCommandBuffer commandBuffer,
8612 VkQueryPool queryPool,
8616 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectByteCountEXT(
8617 VkCommandBuffer commandBuffer,
8618 uint32_t instanceCount,
8619 uint32_t firstInstance,
8620 VkBuffer counterBuffer,
8621 VkDeviceSize counterBufferOffset,
8622 uint32_t counterOffset,
8623 uint32_t vertexStride);
8627 #define VK_NVX_binary_import 1
8628 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuModuleNVX)
8629 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuFunctionNVX)
8630 #define VK_NVX_BINARY_IMPORT_SPEC_VERSION 1
8631 #define VK_NVX_BINARY_IMPORT_EXTENSION_NAME "VK_NVX_binary_import"
8632 typedef struct VkCuModuleCreateInfoNVX {
8633 VkStructureType sType;
8637 } VkCuModuleCreateInfoNVX;
8639 typedef struct VkCuFunctionCreateInfoNVX {
8640 VkStructureType sType;
8642 VkCuModuleNVX module;
8644 } VkCuFunctionCreateInfoNVX;
8646 typedef struct VkCuLaunchInfoNVX {
8647 VkStructureType sType;
8649 VkCuFunctionNVX function;
8656 uint32_t sharedMemBytes;
8658 const void* const * pParams;
8660 const void* const * pExtras;
8661 } VkCuLaunchInfoNVX;
8663 typedef VkResult (VKAPI_PTR *PFN_vkCreateCuModuleNVX)(VkDevice device, const VkCuModuleCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuModuleNVX* pModule);
8664 typedef VkResult (VKAPI_PTR *PFN_vkCreateCuFunctionNVX)(VkDevice device, const VkCuFunctionCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuFunctionNVX* pFunction);
8665 typedef void (VKAPI_PTR *PFN_vkDestroyCuModuleNVX)(VkDevice device, VkCuModuleNVX module, const VkAllocationCallbacks* pAllocator);
8666 typedef void (VKAPI_PTR *PFN_vkDestroyCuFunctionNVX)(VkDevice device, VkCuFunctionNVX function, const VkAllocationCallbacks* pAllocator);
8667 typedef void (VKAPI_PTR *PFN_vkCmdCuLaunchKernelNVX)(VkCommandBuffer commandBuffer, const VkCuLaunchInfoNVX* pLaunchInfo);
8669 #ifndef VK_NO_PROTOTYPES
8670 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCuModuleNVX(
8672 const VkCuModuleCreateInfoNVX* pCreateInfo,
8673 const VkAllocationCallbacks* pAllocator,
8674 VkCuModuleNVX* pModule);
8676 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCuFunctionNVX(
8678 const VkCuFunctionCreateInfoNVX* pCreateInfo,
8679 const VkAllocationCallbacks* pAllocator,
8680 VkCuFunctionNVX* pFunction);
8682 VKAPI_ATTR void VKAPI_CALL vkDestroyCuModuleNVX(
8684 VkCuModuleNVX module,
8685 const VkAllocationCallbacks* pAllocator);
8687 VKAPI_ATTR void VKAPI_CALL vkDestroyCuFunctionNVX(
8689 VkCuFunctionNVX function,
8690 const VkAllocationCallbacks* pAllocator);
8692 VKAPI_ATTR void VKAPI_CALL vkCmdCuLaunchKernelNVX(
8693 VkCommandBuffer commandBuffer,
8694 const VkCuLaunchInfoNVX* pLaunchInfo);
8698 #define VK_NVX_image_view_handle 1
8699 #define VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION 2
8700 #define VK_NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME "VK_NVX_image_view_handle"
8701 typedef struct VkImageViewHandleInfoNVX {
8702 VkStructureType sType;
8704 VkImageView imageView;
8705 VkDescriptorType descriptorType;
8707 } VkImageViewHandleInfoNVX;
8709 typedef struct VkImageViewAddressPropertiesNVX {
8710 VkStructureType sType;
8712 VkDeviceAddress deviceAddress;
8714 } VkImageViewAddressPropertiesNVX;
8716 typedef uint32_t (VKAPI_PTR *PFN_vkGetImageViewHandleNVX)(VkDevice device, const VkImageViewHandleInfoNVX* pInfo);
8717 typedef VkResult (VKAPI_PTR *PFN_vkGetImageViewAddressNVX)(VkDevice device, VkImageView imageView, VkImageViewAddressPropertiesNVX* pProperties);
8719 #ifndef VK_NO_PROTOTYPES
8720 VKAPI_ATTR uint32_t VKAPI_CALL vkGetImageViewHandleNVX(
8722 const VkImageViewHandleInfoNVX* pInfo);
8724 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageViewAddressNVX(
8726 VkImageView imageView,
8727 VkImageViewAddressPropertiesNVX* pProperties);
8731 #define VK_AMD_draw_indirect_count 1
8732 #define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 2
8733 #define VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_AMD_draw_indirect_count"
8734 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
8735 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
8737 #ifndef VK_NO_PROTOTYPES
8738 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountAMD(
8739 VkCommandBuffer commandBuffer,
8741 VkDeviceSize offset,
8742 VkBuffer countBuffer,
8743 VkDeviceSize countBufferOffset,
8744 uint32_t maxDrawCount,
8747 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountAMD(
8748 VkCommandBuffer commandBuffer,
8750 VkDeviceSize offset,
8751 VkBuffer countBuffer,
8752 VkDeviceSize countBufferOffset,
8753 uint32_t maxDrawCount,
8758 #define VK_AMD_negative_viewport_height 1
8759 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION 1
8760 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME "VK_AMD_negative_viewport_height"
8763 #define VK_AMD_gpu_shader_half_float 1
8764 #define VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION 2
8765 #define VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME "VK_AMD_gpu_shader_half_float"
8768 #define VK_AMD_shader_ballot 1
8769 #define VK_AMD_SHADER_BALLOT_SPEC_VERSION 1
8770 #define VK_AMD_SHADER_BALLOT_EXTENSION_NAME "VK_AMD_shader_ballot"
8773 #define VK_AMD_texture_gather_bias_lod 1
8774 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION 1
8775 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME "VK_AMD_texture_gather_bias_lod"
8776 typedef struct VkTextureLODGatherFormatPropertiesAMD {
8777 VkStructureType sType;
8779 VkBool32 supportsTextureGatherLODBiasAMD;
8780 } VkTextureLODGatherFormatPropertiesAMD;
8784 #define VK_AMD_shader_info 1
8785 #define VK_AMD_SHADER_INFO_SPEC_VERSION 1
8786 #define VK_AMD_SHADER_INFO_EXTENSION_NAME "VK_AMD_shader_info"
8788 typedef enum VkShaderInfoTypeAMD {
8789 VK_SHADER_INFO_TYPE_STATISTICS_AMD = 0,
8790 VK_SHADER_INFO_TYPE_BINARY_AMD = 1,
8791 VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD = 2,
8792 VK_SHADER_INFO_TYPE_MAX_ENUM_AMD = 0x7FFFFFFF
8793 } VkShaderInfoTypeAMD;
8794 typedef struct VkShaderResourceUsageAMD {
8795 uint32_t numUsedVgprs;
8796 uint32_t numUsedSgprs;
8797 uint32_t ldsSizePerLocalWorkGroup;
8798 size_t ldsUsageSizeInBytes;
8799 size_t scratchMemUsageInBytes;
8800 } VkShaderResourceUsageAMD;
8802 typedef struct VkShaderStatisticsInfoAMD {
8803 VkShaderStageFlags shaderStageMask;
8804 VkShaderResourceUsageAMD resourceUsage;
8805 uint32_t numPhysicalVgprs;
8806 uint32_t numPhysicalSgprs;
8807 uint32_t numAvailableVgprs;
8808 uint32_t numAvailableSgprs;
8809 uint32_t computeWorkGroupSize[3];
8810 } VkShaderStatisticsInfoAMD;
8812 typedef VkResult (VKAPI_PTR *PFN_vkGetShaderInfoAMD)(VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, size_t* pInfoSize, void* pInfo);
8814 #ifndef VK_NO_PROTOTYPES
8815 VKAPI_ATTR VkResult VKAPI_CALL vkGetShaderInfoAMD(
8817 VkPipeline pipeline,
8818 VkShaderStageFlagBits shaderStage,
8819 VkShaderInfoTypeAMD infoType,
8825 #define VK_AMD_shader_image_load_store_lod 1
8826 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION 1
8827 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME "VK_AMD_shader_image_load_store_lod"
8830 #define VK_NV_corner_sampled_image 1
8831 #define VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION 2
8832 #define VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME "VK_NV_corner_sampled_image"
8833 typedef struct VkPhysicalDeviceCornerSampledImageFeaturesNV {
8834 VkStructureType sType;
8836 VkBool32 cornerSampledImage;
8837 } VkPhysicalDeviceCornerSampledImageFeaturesNV;
8841 #define VK_IMG_format_pvrtc 1
8842 #define VK_IMG_FORMAT_PVRTC_SPEC_VERSION 1
8843 #define VK_IMG_FORMAT_PVRTC_EXTENSION_NAME "VK_IMG_format_pvrtc"
8846 #define VK_NV_external_memory_capabilities 1
8847 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
8848 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_NV_external_memory_capabilities"
8850 typedef enum VkExternalMemoryHandleTypeFlagBitsNV {
8851 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV = 0x00000001,
8852 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV = 0x00000002,
8853 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV = 0x00000004,
8854 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV = 0x00000008,
8855 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
8856 } VkExternalMemoryHandleTypeFlagBitsNV;
8857 typedef VkFlags VkExternalMemoryHandleTypeFlagsNV;
8859 typedef enum VkExternalMemoryFeatureFlagBitsNV {
8860 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV = 0x00000001,
8861 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV = 0x00000002,
8862 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV = 0x00000004,
8863 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
8864 } VkExternalMemoryFeatureFlagBitsNV;
8865 typedef VkFlags VkExternalMemoryFeatureFlagsNV;
8866 typedef struct VkExternalImageFormatPropertiesNV {
8867 VkImageFormatProperties imageFormatProperties;
8868 VkExternalMemoryFeatureFlagsNV externalMemoryFeatures;
8869 VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes;
8870 VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes;
8871 } VkExternalImageFormatPropertiesNV;
8873 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
8875 #ifndef VK_NO_PROTOTYPES
8876 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
8877 VkPhysicalDevice physicalDevice,
8880 VkImageTiling tiling,
8881 VkImageUsageFlags usage,
8882 VkImageCreateFlags flags,
8883 VkExternalMemoryHandleTypeFlagsNV externalHandleType,
8884 VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
8888 #define VK_NV_external_memory 1
8889 #define VK_NV_EXTERNAL_MEMORY_SPEC_VERSION 1
8890 #define VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME "VK_NV_external_memory"
8891 typedef struct VkExternalMemoryImageCreateInfoNV {
8892 VkStructureType sType;
8894 VkExternalMemoryHandleTypeFlagsNV handleTypes;
8895 } VkExternalMemoryImageCreateInfoNV;
8897 typedef struct VkExportMemoryAllocateInfoNV {
8898 VkStructureType sType;
8900 VkExternalMemoryHandleTypeFlagsNV handleTypes;
8901 } VkExportMemoryAllocateInfoNV;
8905 #define VK_EXT_validation_flags 1
8906 #define VK_EXT_VALIDATION_FLAGS_SPEC_VERSION 2
8907 #define VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME "VK_EXT_validation_flags"
8909 typedef enum VkValidationCheckEXT {
8910 VK_VALIDATION_CHECK_ALL_EXT = 0,
8911 VK_VALIDATION_CHECK_SHADERS_EXT = 1,
8912 VK_VALIDATION_CHECK_MAX_ENUM_EXT = 0x7FFFFFFF
8913 } VkValidationCheckEXT;
8914 typedef struct VkValidationFlagsEXT {
8915 VkStructureType sType;
8917 uint32_t disabledValidationCheckCount;
8918 const VkValidationCheckEXT* pDisabledValidationChecks;
8919 } VkValidationFlagsEXT;
8923 #define VK_EXT_shader_subgroup_ballot 1
8924 #define VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION 1
8925 #define VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME "VK_EXT_shader_subgroup_ballot"
8928 #define VK_EXT_shader_subgroup_vote 1
8929 #define VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION 1
8930 #define VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME "VK_EXT_shader_subgroup_vote"
8933 #define VK_EXT_texture_compression_astc_hdr 1
8934 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION 1
8935 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME "VK_EXT_texture_compression_astc_hdr"
8936 typedef struct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT {
8937 VkStructureType sType;
8939 VkBool32 textureCompressionASTC_HDR;
8940 } VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT;
8944 #define VK_EXT_astc_decode_mode 1
8945 #define VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION 1
8946 #define VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME "VK_EXT_astc_decode_mode"
8947 typedef struct VkImageViewASTCDecodeModeEXT {
8948 VkStructureType sType;
8950 VkFormat decodeMode;
8951 } VkImageViewASTCDecodeModeEXT;
8953 typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT {
8954 VkStructureType sType;
8956 VkBool32 decodeModeSharedExponent;
8957 } VkPhysicalDeviceASTCDecodeFeaturesEXT;
8961 #define VK_EXT_conditional_rendering 1
8962 #define VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION 2
8963 #define VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME "VK_EXT_conditional_rendering"
8965 typedef enum VkConditionalRenderingFlagBitsEXT {
8966 VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT = 0x00000001,
8967 VK_CONDITIONAL_RENDERING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
8968 } VkConditionalRenderingFlagBitsEXT;
8969 typedef VkFlags VkConditionalRenderingFlagsEXT;
8970 typedef struct VkConditionalRenderingBeginInfoEXT {
8971 VkStructureType sType;
8974 VkDeviceSize offset;
8975 VkConditionalRenderingFlagsEXT flags;
8976 } VkConditionalRenderingBeginInfoEXT;
8978 typedef struct VkPhysicalDeviceConditionalRenderingFeaturesEXT {
8979 VkStructureType sType;
8981 VkBool32 conditionalRendering;
8982 VkBool32 inheritedConditionalRendering;
8983 } VkPhysicalDeviceConditionalRenderingFeaturesEXT;
8985 typedef struct VkCommandBufferInheritanceConditionalRenderingInfoEXT {
8986 VkStructureType sType;
8988 VkBool32 conditionalRenderingEnable;
8989 } VkCommandBufferInheritanceConditionalRenderingInfoEXT;
8991 typedef void (VKAPI_PTR *PFN_vkCmdBeginConditionalRenderingEXT)(VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
8992 typedef void (VKAPI_PTR *PFN_vkCmdEndConditionalRenderingEXT)(VkCommandBuffer commandBuffer);
8994 #ifndef VK_NO_PROTOTYPES
8995 VKAPI_ATTR void VKAPI_CALL vkCmdBeginConditionalRenderingEXT(
8996 VkCommandBuffer commandBuffer,
8997 const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
8999 VKAPI_ATTR void VKAPI_CALL vkCmdEndConditionalRenderingEXT(
9000 VkCommandBuffer commandBuffer);
9004 #define VK_NV_clip_space_w_scaling 1
9005 #define VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION 1
9006 #define VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME "VK_NV_clip_space_w_scaling"
9007 typedef struct VkViewportWScalingNV {
9010 } VkViewportWScalingNV;
9012 typedef struct VkPipelineViewportWScalingStateCreateInfoNV {
9013 VkStructureType sType;
9015 VkBool32 viewportWScalingEnable;
9016 uint32_t viewportCount;
9017 const VkViewportWScalingNV* pViewportWScalings;
9018 } VkPipelineViewportWScalingStateCreateInfoNV;
9020 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportWScalingNV* pViewportWScalings);
9022 #ifndef VK_NO_PROTOTYPES
9023 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWScalingNV(
9024 VkCommandBuffer commandBuffer,
9025 uint32_t firstViewport,
9026 uint32_t viewportCount,
9027 const VkViewportWScalingNV* pViewportWScalings);
9031 #define VK_EXT_direct_mode_display 1
9032 #define VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION 1
9033 #define VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME "VK_EXT_direct_mode_display"
9034 typedef VkResult (VKAPI_PTR *PFN_vkReleaseDisplayEXT)(VkPhysicalDevice physicalDevice, VkDisplayKHR display);
9036 #ifndef VK_NO_PROTOTYPES
9037 VKAPI_ATTR VkResult VKAPI_CALL vkReleaseDisplayEXT(
9038 VkPhysicalDevice physicalDevice,
9039 VkDisplayKHR display);
9043 #define VK_EXT_display_surface_counter 1
9044 #define VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION 1
9045 #define VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME "VK_EXT_display_surface_counter"
9047 typedef enum VkSurfaceCounterFlagBitsEXT {
9048 VK_SURFACE_COUNTER_VBLANK_BIT_EXT = 0x00000001,
9049 VK_SURFACE_COUNTER_VBLANK_EXT = VK_SURFACE_COUNTER_VBLANK_BIT_EXT,
9050 VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
9051 } VkSurfaceCounterFlagBitsEXT;
9052 typedef VkFlags VkSurfaceCounterFlagsEXT;
9053 typedef struct VkSurfaceCapabilities2EXT {
9054 VkStructureType sType;
9056 uint32_t minImageCount;
9057 uint32_t maxImageCount;
9058 VkExtent2D currentExtent;
9059 VkExtent2D minImageExtent;
9060 VkExtent2D maxImageExtent;
9061 uint32_t maxImageArrayLayers;
9062 VkSurfaceTransformFlagsKHR supportedTransforms;
9063 VkSurfaceTransformFlagBitsKHR currentTransform;
9064 VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
9065 VkImageUsageFlags supportedUsageFlags;
9066 VkSurfaceCounterFlagsEXT supportedSurfaceCounters;
9067 } VkSurfaceCapabilities2EXT;
9069 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
9071 #ifndef VK_NO_PROTOTYPES
9072 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2EXT(
9073 VkPhysicalDevice physicalDevice,
9074 VkSurfaceKHR surface,
9075 VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
9079 #define VK_EXT_display_control 1
9080 #define VK_EXT_DISPLAY_CONTROL_SPEC_VERSION 1
9081 #define VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME "VK_EXT_display_control"
9083 typedef enum VkDisplayPowerStateEXT {
9084 VK_DISPLAY_POWER_STATE_OFF_EXT = 0,
9085 VK_DISPLAY_POWER_STATE_SUSPEND_EXT = 1,
9086 VK_DISPLAY_POWER_STATE_ON_EXT = 2,
9087 VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT = 0x7FFFFFFF
9088 } VkDisplayPowerStateEXT;
9090 typedef enum VkDeviceEventTypeEXT {
9091 VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT = 0,
9092 VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
9093 } VkDeviceEventTypeEXT;
9095 typedef enum VkDisplayEventTypeEXT {
9096 VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT = 0,
9097 VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
9098 } VkDisplayEventTypeEXT;
9099 typedef struct VkDisplayPowerInfoEXT {
9100 VkStructureType sType;
9102 VkDisplayPowerStateEXT powerState;
9103 } VkDisplayPowerInfoEXT;
9105 typedef struct VkDeviceEventInfoEXT {
9106 VkStructureType sType;
9108 VkDeviceEventTypeEXT deviceEvent;
9109 } VkDeviceEventInfoEXT;
9111 typedef struct VkDisplayEventInfoEXT {
9112 VkStructureType sType;
9114 VkDisplayEventTypeEXT displayEvent;
9115 } VkDisplayEventInfoEXT;
9117 typedef struct VkSwapchainCounterCreateInfoEXT {
9118 VkStructureType sType;
9120 VkSurfaceCounterFlagsEXT surfaceCounters;
9121 } VkSwapchainCounterCreateInfoEXT;
9123 typedef VkResult (VKAPI_PTR *PFN_vkDisplayPowerControlEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
9124 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDeviceEventEXT)(VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
9125 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDisplayEventEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
9126 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainCounterEXT)(VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, uint64_t* pCounterValue);
9128 #ifndef VK_NO_PROTOTYPES
9129 VKAPI_ATTR VkResult VKAPI_CALL vkDisplayPowerControlEXT(
9131 VkDisplayKHR display,
9132 const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
9134 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDeviceEventEXT(
9136 const VkDeviceEventInfoEXT* pDeviceEventInfo,
9137 const VkAllocationCallbacks* pAllocator,
9140 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDisplayEventEXT(
9142 VkDisplayKHR display,
9143 const VkDisplayEventInfoEXT* pDisplayEventInfo,
9144 const VkAllocationCallbacks* pAllocator,
9147 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainCounterEXT(
9149 VkSwapchainKHR swapchain,
9150 VkSurfaceCounterFlagBitsEXT counter,
9151 uint64_t* pCounterValue);
9155 #define VK_GOOGLE_display_timing 1
9156 #define VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION 1
9157 #define VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME "VK_GOOGLE_display_timing"
9158 typedef struct VkRefreshCycleDurationGOOGLE {
9159 uint64_t refreshDuration;
9160 } VkRefreshCycleDurationGOOGLE;
9162 typedef struct VkPastPresentationTimingGOOGLE {
9164 uint64_t desiredPresentTime;
9165 uint64_t actualPresentTime;
9166 uint64_t earliestPresentTime;
9167 uint64_t presentMargin;
9168 } VkPastPresentationTimingGOOGLE;
9170 typedef struct VkPresentTimeGOOGLE {
9172 uint64_t desiredPresentTime;
9173 } VkPresentTimeGOOGLE;
9175 typedef struct VkPresentTimesInfoGOOGLE {
9176 VkStructureType sType;
9178 uint32_t swapchainCount;
9179 const VkPresentTimeGOOGLE* pTimes;
9180 } VkPresentTimesInfoGOOGLE;
9182 typedef VkResult (VKAPI_PTR *PFN_vkGetRefreshCycleDurationGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
9183 typedef VkResult (VKAPI_PTR *PFN_vkGetPastPresentationTimingGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings);
9185 #ifndef VK_NO_PROTOTYPES
9186 VKAPI_ATTR VkResult VKAPI_CALL vkGetRefreshCycleDurationGOOGLE(
9188 VkSwapchainKHR swapchain,
9189 VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
9191 VKAPI_ATTR VkResult VKAPI_CALL vkGetPastPresentationTimingGOOGLE(
9193 VkSwapchainKHR swapchain,
9194 uint32_t* pPresentationTimingCount,
9195 VkPastPresentationTimingGOOGLE* pPresentationTimings);
9199 #define VK_NV_sample_mask_override_coverage 1
9200 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION 1
9201 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME "VK_NV_sample_mask_override_coverage"
9204 #define VK_NV_geometry_shader_passthrough 1
9205 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION 1
9206 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME "VK_NV_geometry_shader_passthrough"
9209 #define VK_NV_viewport_array2 1
9210 #define VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION 1
9211 #define VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME "VK_NV_viewport_array2"
9214 #define VK_NVX_multiview_per_view_attributes 1
9215 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION 1
9216 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME "VK_NVX_multiview_per_view_attributes"
9217 typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
9218 VkStructureType sType;
9220 VkBool32 perViewPositionAllComponents;
9221 } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
9225 #define VK_NV_viewport_swizzle 1
9226 #define VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION 1
9227 #define VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME "VK_NV_viewport_swizzle"
9229 typedef enum VkViewportCoordinateSwizzleNV {
9230 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV = 0,
9231 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV = 1,
9232 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV = 2,
9233 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV = 3,
9234 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV = 4,
9235 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV = 5,
9236 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV = 6,
9237 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV = 7,
9238 VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV = 0x7FFFFFFF
9239 } VkViewportCoordinateSwizzleNV;
9240 typedef VkFlags VkPipelineViewportSwizzleStateCreateFlagsNV;
9241 typedef struct VkViewportSwizzleNV {
9242 VkViewportCoordinateSwizzleNV x;
9243 VkViewportCoordinateSwizzleNV y;
9244 VkViewportCoordinateSwizzleNV z;
9245 VkViewportCoordinateSwizzleNV w;
9246 } VkViewportSwizzleNV;
9248 typedef struct VkPipelineViewportSwizzleStateCreateInfoNV {
9249 VkStructureType sType;
9251 VkPipelineViewportSwizzleStateCreateFlagsNV flags;
9252 uint32_t viewportCount;
9253 const VkViewportSwizzleNV* pViewportSwizzles;
9254 } VkPipelineViewportSwizzleStateCreateInfoNV;
9258 #define VK_EXT_discard_rectangles 1
9259 #define VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION 1
9260 #define VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME "VK_EXT_discard_rectangles"
9262 typedef enum VkDiscardRectangleModeEXT {
9263 VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT = 0,
9264 VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT = 1,
9265 VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
9266 } VkDiscardRectangleModeEXT;
9267 typedef VkFlags VkPipelineDiscardRectangleStateCreateFlagsEXT;
9268 typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
9269 VkStructureType sType;
9271 uint32_t maxDiscardRectangles;
9272 } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
9274 typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT {
9275 VkStructureType sType;
9277 VkPipelineDiscardRectangleStateCreateFlagsEXT flags;
9278 VkDiscardRectangleModeEXT discardRectangleMode;
9279 uint32_t discardRectangleCount;
9280 const VkRect2D* pDiscardRectangles;
9281 } VkPipelineDiscardRectangleStateCreateInfoEXT;
9283 typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEXT)(VkCommandBuffer commandBuffer, uint32_t firstDiscardRectangle, uint32_t discardRectangleCount, const VkRect2D* pDiscardRectangles);
9285 #ifndef VK_NO_PROTOTYPES
9286 VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEXT(
9287 VkCommandBuffer commandBuffer,
9288 uint32_t firstDiscardRectangle,
9289 uint32_t discardRectangleCount,
9290 const VkRect2D* pDiscardRectangles);
9294 #define VK_EXT_conservative_rasterization 1
9295 #define VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION 1
9296 #define VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME "VK_EXT_conservative_rasterization"
9298 typedef enum VkConservativeRasterizationModeEXT {
9299 VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT = 0,
9300 VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT = 1,
9301 VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT = 2,
9302 VK_CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
9303 } VkConservativeRasterizationModeEXT;
9304 typedef VkFlags VkPipelineRasterizationConservativeStateCreateFlagsEXT;
9305 typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT {
9306 VkStructureType sType;
9308 float primitiveOverestimationSize;
9309 float maxExtraPrimitiveOverestimationSize;
9310 float extraPrimitiveOverestimationSizeGranularity;
9311 VkBool32 primitiveUnderestimation;
9312 VkBool32 conservativePointAndLineRasterization;
9313 VkBool32 degenerateTrianglesRasterized;
9314 VkBool32 degenerateLinesRasterized;
9315 VkBool32 fullyCoveredFragmentShaderInputVariable;
9316 VkBool32 conservativeRasterizationPostDepthCoverage;
9317 } VkPhysicalDeviceConservativeRasterizationPropertiesEXT;
9319 typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT {
9320 VkStructureType sType;
9322 VkPipelineRasterizationConservativeStateCreateFlagsEXT flags;
9323 VkConservativeRasterizationModeEXT conservativeRasterizationMode;
9324 float extraPrimitiveOverestimationSize;
9325 } VkPipelineRasterizationConservativeStateCreateInfoEXT;
9329 #define VK_EXT_depth_clip_enable 1
9330 #define VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION 1
9331 #define VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME "VK_EXT_depth_clip_enable"
9332 typedef VkFlags VkPipelineRasterizationDepthClipStateCreateFlagsEXT;
9333 typedef struct VkPhysicalDeviceDepthClipEnableFeaturesEXT {
9334 VkStructureType sType;
9336 VkBool32 depthClipEnable;
9337 } VkPhysicalDeviceDepthClipEnableFeaturesEXT;
9339 typedef struct VkPipelineRasterizationDepthClipStateCreateInfoEXT {
9340 VkStructureType sType;
9342 VkPipelineRasterizationDepthClipStateCreateFlagsEXT flags;
9343 VkBool32 depthClipEnable;
9344 } VkPipelineRasterizationDepthClipStateCreateInfoEXT;
9348 #define VK_EXT_swapchain_colorspace 1
9349 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION 4
9350 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME "VK_EXT_swapchain_colorspace"
9353 #define VK_EXT_hdr_metadata 1
9354 #define VK_EXT_HDR_METADATA_SPEC_VERSION 2
9355 #define VK_EXT_HDR_METADATA_EXTENSION_NAME "VK_EXT_hdr_metadata"
9356 typedef struct VkXYColorEXT {
9361 typedef struct VkHdrMetadataEXT {
9362 VkStructureType sType;
9364 VkXYColorEXT displayPrimaryRed;
9365 VkXYColorEXT displayPrimaryGreen;
9366 VkXYColorEXT displayPrimaryBlue;
9367 VkXYColorEXT whitePoint;
9370 float maxContentLightLevel;
9371 float maxFrameAverageLightLevel;
9374 typedef void (VKAPI_PTR *PFN_vkSetHdrMetadataEXT)(VkDevice device, uint32_t swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata);
9376 #ifndef VK_NO_PROTOTYPES
9377 VKAPI_ATTR void VKAPI_CALL vkSetHdrMetadataEXT(
9379 uint32_t swapchainCount,
9380 const VkSwapchainKHR* pSwapchains,
9381 const VkHdrMetadataEXT* pMetadata);
9385 #define VK_EXT_external_memory_dma_buf 1
9386 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION 1
9387 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME "VK_EXT_external_memory_dma_buf"
9390 #define VK_EXT_queue_family_foreign 1
9391 #define VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION 1
9392 #define VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME "VK_EXT_queue_family_foreign"
9393 #define VK_QUEUE_FAMILY_FOREIGN_EXT (~2U)
9396 #define VK_EXT_debug_utils 1
9397 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugUtilsMessengerEXT)
9398 #define VK_EXT_DEBUG_UTILS_SPEC_VERSION 2
9399 #define VK_EXT_DEBUG_UTILS_EXTENSION_NAME "VK_EXT_debug_utils"
9400 typedef VkFlags VkDebugUtilsMessengerCallbackDataFlagsEXT;
9402 typedef enum VkDebugUtilsMessageSeverityFlagBitsEXT {
9403 VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT = 0x00000001,
9404 VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT = 0x00000010,
9405 VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT = 0x00000100,
9406 VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT = 0x00001000,
9407 VK_DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
9408 } VkDebugUtilsMessageSeverityFlagBitsEXT;
9410 typedef enum VkDebugUtilsMessageTypeFlagBitsEXT {
9411 VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT = 0x00000001,
9412 VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT = 0x00000002,
9413 VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT = 0x00000004,
9414 VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
9415 } VkDebugUtilsMessageTypeFlagBitsEXT;
9416 typedef VkFlags VkDebugUtilsMessageTypeFlagsEXT;
9417 typedef VkFlags VkDebugUtilsMessageSeverityFlagsEXT;
9418 typedef VkFlags VkDebugUtilsMessengerCreateFlagsEXT;
9419 typedef struct VkDebugUtilsLabelEXT {
9420 VkStructureType sType;
9422 const char* pLabelName;
9424 } VkDebugUtilsLabelEXT;
9426 typedef struct VkDebugUtilsObjectNameInfoEXT {
9427 VkStructureType sType;
9429 VkObjectType objectType;
9430 uint64_t objectHandle;
9431 const char* pObjectName;
9432 } VkDebugUtilsObjectNameInfoEXT;
9434 typedef struct VkDebugUtilsMessengerCallbackDataEXT {
9435 VkStructureType sType;
9437 VkDebugUtilsMessengerCallbackDataFlagsEXT flags;
9438 const char* pMessageIdName;
9439 int32_t messageIdNumber;
9440 const char* pMessage;
9441 uint32_t queueLabelCount;
9442 const VkDebugUtilsLabelEXT* pQueueLabels;
9443 uint32_t cmdBufLabelCount;
9444 const VkDebugUtilsLabelEXT* pCmdBufLabels;
9445 uint32_t objectCount;
9446 const VkDebugUtilsObjectNameInfoEXT* pObjects;
9447 } VkDebugUtilsMessengerCallbackDataEXT;
9449 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)(
9450 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
9451 VkDebugUtilsMessageTypeFlagsEXT messageTypes,
9452 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData,
9455 typedef struct VkDebugUtilsMessengerCreateInfoEXT {
9456 VkStructureType sType;
9458 VkDebugUtilsMessengerCreateFlagsEXT flags;
9459 VkDebugUtilsMessageSeverityFlagsEXT messageSeverity;
9460 VkDebugUtilsMessageTypeFlagsEXT messageType;
9461 PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback;
9463 } VkDebugUtilsMessengerCreateInfoEXT;
9465 typedef struct VkDebugUtilsObjectTagInfoEXT {
9466 VkStructureType sType;
9468 VkObjectType objectType;
9469 uint64_t objectHandle;
9473 } VkDebugUtilsObjectTagInfoEXT;
9475 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectNameEXT)(VkDevice device, const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
9476 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectTagEXT)(VkDevice device, const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
9477 typedef void (VKAPI_PTR *PFN_vkQueueBeginDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
9478 typedef void (VKAPI_PTR *PFN_vkQueueEndDebugUtilsLabelEXT)(VkQueue queue);
9479 typedef void (VKAPI_PTR *PFN_vkQueueInsertDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
9480 typedef void (VKAPI_PTR *PFN_vkCmdBeginDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
9481 typedef void (VKAPI_PTR *PFN_vkCmdEndDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer);
9482 typedef void (VKAPI_PTR *PFN_vkCmdInsertDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
9483 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugUtilsMessengerEXT)(VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugUtilsMessengerEXT* pMessenger);
9484 typedef void (VKAPI_PTR *PFN_vkDestroyDebugUtilsMessengerEXT)(VkInstance instance, VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks* pAllocator);
9485 typedef void (VKAPI_PTR *PFN_vkSubmitDebugUtilsMessageEXT)(VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
9487 #ifndef VK_NO_PROTOTYPES
9488 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectNameEXT(
9490 const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
9492 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectTagEXT(
9494 const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
9496 VKAPI_ATTR void VKAPI_CALL vkQueueBeginDebugUtilsLabelEXT(
9498 const VkDebugUtilsLabelEXT* pLabelInfo);
9500 VKAPI_ATTR void VKAPI_CALL vkQueueEndDebugUtilsLabelEXT(
9503 VKAPI_ATTR void VKAPI_CALL vkQueueInsertDebugUtilsLabelEXT(
9505 const VkDebugUtilsLabelEXT* pLabelInfo);
9507 VKAPI_ATTR void VKAPI_CALL vkCmdBeginDebugUtilsLabelEXT(
9508 VkCommandBuffer commandBuffer,
9509 const VkDebugUtilsLabelEXT* pLabelInfo);
9511 VKAPI_ATTR void VKAPI_CALL vkCmdEndDebugUtilsLabelEXT(
9512 VkCommandBuffer commandBuffer);
9514 VKAPI_ATTR void VKAPI_CALL vkCmdInsertDebugUtilsLabelEXT(
9515 VkCommandBuffer commandBuffer,
9516 const VkDebugUtilsLabelEXT* pLabelInfo);
9518 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugUtilsMessengerEXT(
9519 VkInstance instance,
9520 const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo,
9521 const VkAllocationCallbacks* pAllocator,
9522 VkDebugUtilsMessengerEXT* pMessenger);
9524 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugUtilsMessengerEXT(
9525 VkInstance instance,
9526 VkDebugUtilsMessengerEXT messenger,
9527 const VkAllocationCallbacks* pAllocator);
9529 VKAPI_ATTR void VKAPI_CALL vkSubmitDebugUtilsMessageEXT(
9530 VkInstance instance,
9531 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
9532 VkDebugUtilsMessageTypeFlagsEXT messageTypes,
9533 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
9537 #define VK_EXT_sampler_filter_minmax 1
9538 #define VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION 2
9539 #define VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME "VK_EXT_sampler_filter_minmax"
9540 typedef VkSamplerReductionMode VkSamplerReductionModeEXT;
9542 typedef VkSamplerReductionModeCreateInfo VkSamplerReductionModeCreateInfoEXT;
9544 typedef VkPhysicalDeviceSamplerFilterMinmaxProperties VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
9548 #define VK_AMD_gpu_shader_int16 1
9549 #define VK_AMD_GPU_SHADER_INT16_SPEC_VERSION 2
9550 #define VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME "VK_AMD_gpu_shader_int16"
9553 #define VK_AMD_mixed_attachment_samples 1
9554 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION 1
9555 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME "VK_AMD_mixed_attachment_samples"
9558 #define VK_AMD_shader_fragment_mask 1
9559 #define VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION 1
9560 #define VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME "VK_AMD_shader_fragment_mask"
9563 #define VK_EXT_inline_uniform_block 1
9564 #define VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION 1
9565 #define VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME "VK_EXT_inline_uniform_block"
9566 typedef struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT {
9567 VkStructureType sType;
9569 VkBool32 inlineUniformBlock;
9570 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind;
9571 } VkPhysicalDeviceInlineUniformBlockFeaturesEXT;
9573 typedef struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT {
9574 VkStructureType sType;
9576 uint32_t maxInlineUniformBlockSize;
9577 uint32_t maxPerStageDescriptorInlineUniformBlocks;
9578 uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
9579 uint32_t maxDescriptorSetInlineUniformBlocks;
9580 uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
9581 } VkPhysicalDeviceInlineUniformBlockPropertiesEXT;
9583 typedef struct VkWriteDescriptorSetInlineUniformBlockEXT {
9584 VkStructureType sType;
9588 } VkWriteDescriptorSetInlineUniformBlockEXT;
9590 typedef struct VkDescriptorPoolInlineUniformBlockCreateInfoEXT {
9591 VkStructureType sType;
9593 uint32_t maxInlineUniformBlockBindings;
9594 } VkDescriptorPoolInlineUniformBlockCreateInfoEXT;
9598 #define VK_EXT_shader_stencil_export 1
9599 #define VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION 1
9600 #define VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME "VK_EXT_shader_stencil_export"
9603 #define VK_EXT_sample_locations 1
9604 #define VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION 1
9605 #define VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME "VK_EXT_sample_locations"
9606 typedef struct VkSampleLocationEXT {
9609 } VkSampleLocationEXT;
9611 typedef struct VkSampleLocationsInfoEXT {
9612 VkStructureType sType;
9614 VkSampleCountFlagBits sampleLocationsPerPixel;
9615 VkExtent2D sampleLocationGridSize;
9616 uint32_t sampleLocationsCount;
9617 const VkSampleLocationEXT* pSampleLocations;
9618 } VkSampleLocationsInfoEXT;
9620 typedef struct VkAttachmentSampleLocationsEXT {
9621 uint32_t attachmentIndex;
9622 VkSampleLocationsInfoEXT sampleLocationsInfo;
9623 } VkAttachmentSampleLocationsEXT;
9625 typedef struct VkSubpassSampleLocationsEXT {
9626 uint32_t subpassIndex;
9627 VkSampleLocationsInfoEXT sampleLocationsInfo;
9628 } VkSubpassSampleLocationsEXT;
9630 typedef struct VkRenderPassSampleLocationsBeginInfoEXT {
9631 VkStructureType sType;
9633 uint32_t attachmentInitialSampleLocationsCount;
9634 const VkAttachmentSampleLocationsEXT* pAttachmentInitialSampleLocations;
9635 uint32_t postSubpassSampleLocationsCount;
9636 const VkSubpassSampleLocationsEXT* pPostSubpassSampleLocations;
9637 } VkRenderPassSampleLocationsBeginInfoEXT;
9639 typedef struct VkPipelineSampleLocationsStateCreateInfoEXT {
9640 VkStructureType sType;
9642 VkBool32 sampleLocationsEnable;
9643 VkSampleLocationsInfoEXT sampleLocationsInfo;
9644 } VkPipelineSampleLocationsStateCreateInfoEXT;
9646 typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT {
9647 VkStructureType sType;
9649 VkSampleCountFlags sampleLocationSampleCounts;
9650 VkExtent2D maxSampleLocationGridSize;
9651 float sampleLocationCoordinateRange[2];
9652 uint32_t sampleLocationSubPixelBits;
9653 VkBool32 variableSampleLocations;
9654 } VkPhysicalDeviceSampleLocationsPropertiesEXT;
9656 typedef struct VkMultisamplePropertiesEXT {
9657 VkStructureType sType;
9659 VkExtent2D maxSampleLocationGridSize;
9660 } VkMultisamplePropertiesEXT;
9662 typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEXT)(VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
9663 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT)(VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT* pMultisampleProperties);
9665 #ifndef VK_NO_PROTOTYPES
9666 VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleLocationsEXT(
9667 VkCommandBuffer commandBuffer,
9668 const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
9670 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMultisamplePropertiesEXT(
9671 VkPhysicalDevice physicalDevice,
9672 VkSampleCountFlagBits samples,
9673 VkMultisamplePropertiesEXT* pMultisampleProperties);
9677 #define VK_EXT_blend_operation_advanced 1
9678 #define VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION 2
9679 #define VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME "VK_EXT_blend_operation_advanced"
9681 typedef enum VkBlendOverlapEXT {
9682 VK_BLEND_OVERLAP_UNCORRELATED_EXT = 0,
9683 VK_BLEND_OVERLAP_DISJOINT_EXT = 1,
9684 VK_BLEND_OVERLAP_CONJOINT_EXT = 2,
9685 VK_BLEND_OVERLAP_MAX_ENUM_EXT = 0x7FFFFFFF
9686 } VkBlendOverlapEXT;
9687 typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
9688 VkStructureType sType;
9690 VkBool32 advancedBlendCoherentOperations;
9691 } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
9693 typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT {
9694 VkStructureType sType;
9696 uint32_t advancedBlendMaxColorAttachments;
9697 VkBool32 advancedBlendIndependentBlend;
9698 VkBool32 advancedBlendNonPremultipliedSrcColor;
9699 VkBool32 advancedBlendNonPremultipliedDstColor;
9700 VkBool32 advancedBlendCorrelatedOverlap;
9701 VkBool32 advancedBlendAllOperations;
9702 } VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT;
9704 typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT {
9705 VkStructureType sType;
9707 VkBool32 srcPremultiplied;
9708 VkBool32 dstPremultiplied;
9709 VkBlendOverlapEXT blendOverlap;
9710 } VkPipelineColorBlendAdvancedStateCreateInfoEXT;
9714 #define VK_NV_fragment_coverage_to_color 1
9715 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION 1
9716 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME "VK_NV_fragment_coverage_to_color"
9717 typedef VkFlags VkPipelineCoverageToColorStateCreateFlagsNV;
9718 typedef struct VkPipelineCoverageToColorStateCreateInfoNV {
9719 VkStructureType sType;
9721 VkPipelineCoverageToColorStateCreateFlagsNV flags;
9722 VkBool32 coverageToColorEnable;
9723 uint32_t coverageToColorLocation;
9724 } VkPipelineCoverageToColorStateCreateInfoNV;
9728 #define VK_NV_framebuffer_mixed_samples 1
9729 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION 1
9730 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME "VK_NV_framebuffer_mixed_samples"
9732 typedef enum VkCoverageModulationModeNV {
9733 VK_COVERAGE_MODULATION_MODE_NONE_NV = 0,
9734 VK_COVERAGE_MODULATION_MODE_RGB_NV = 1,
9735 VK_COVERAGE_MODULATION_MODE_ALPHA_NV = 2,
9736 VK_COVERAGE_MODULATION_MODE_RGBA_NV = 3,
9737 VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV = 0x7FFFFFFF
9738 } VkCoverageModulationModeNV;
9739 typedef VkFlags VkPipelineCoverageModulationStateCreateFlagsNV;
9740 typedef struct VkPipelineCoverageModulationStateCreateInfoNV {
9741 VkStructureType sType;
9743 VkPipelineCoverageModulationStateCreateFlagsNV flags;
9744 VkCoverageModulationModeNV coverageModulationMode;
9745 VkBool32 coverageModulationTableEnable;
9746 uint32_t coverageModulationTableCount;
9747 const float* pCoverageModulationTable;
9748 } VkPipelineCoverageModulationStateCreateInfoNV;
9752 #define VK_NV_fill_rectangle 1
9753 #define VK_NV_FILL_RECTANGLE_SPEC_VERSION 1
9754 #define VK_NV_FILL_RECTANGLE_EXTENSION_NAME "VK_NV_fill_rectangle"
9757 #define VK_NV_shader_sm_builtins 1
9758 #define VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION 1
9759 #define VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME "VK_NV_shader_sm_builtins"
9760 typedef struct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV {
9761 VkStructureType sType;
9763 uint32_t shaderSMCount;
9764 uint32_t shaderWarpsPerSM;
9765 } VkPhysicalDeviceShaderSMBuiltinsPropertiesNV;
9767 typedef struct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV {
9768 VkStructureType sType;
9770 VkBool32 shaderSMBuiltins;
9771 } VkPhysicalDeviceShaderSMBuiltinsFeaturesNV;
9775 #define VK_EXT_post_depth_coverage 1
9776 #define VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION 1
9777 #define VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME "VK_EXT_post_depth_coverage"
9780 #define VK_EXT_image_drm_format_modifier 1
9781 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION 1
9782 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME "VK_EXT_image_drm_format_modifier"
9783 typedef struct VkDrmFormatModifierPropertiesEXT {
9784 uint64_t drmFormatModifier;
9785 uint32_t drmFormatModifierPlaneCount;
9786 VkFormatFeatureFlags drmFormatModifierTilingFeatures;
9787 } VkDrmFormatModifierPropertiesEXT;
9789 typedef struct VkDrmFormatModifierPropertiesListEXT {
9790 VkStructureType sType;
9792 uint32_t drmFormatModifierCount;
9793 VkDrmFormatModifierPropertiesEXT* pDrmFormatModifierProperties;
9794 } VkDrmFormatModifierPropertiesListEXT;
9796 typedef struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT {
9797 VkStructureType sType;
9799 uint64_t drmFormatModifier;
9800 VkSharingMode sharingMode;
9801 uint32_t queueFamilyIndexCount;
9802 const uint32_t* pQueueFamilyIndices;
9803 } VkPhysicalDeviceImageDrmFormatModifierInfoEXT;
9805 typedef struct VkImageDrmFormatModifierListCreateInfoEXT {
9806 VkStructureType sType;
9808 uint32_t drmFormatModifierCount;
9809 const uint64_t* pDrmFormatModifiers;
9810 } VkImageDrmFormatModifierListCreateInfoEXT;
9812 typedef struct VkImageDrmFormatModifierExplicitCreateInfoEXT {
9813 VkStructureType sType;
9815 uint64_t drmFormatModifier;
9816 uint32_t drmFormatModifierPlaneCount;
9817 const VkSubresourceLayout* pPlaneLayouts;
9818 } VkImageDrmFormatModifierExplicitCreateInfoEXT;
9820 typedef struct VkImageDrmFormatModifierPropertiesEXT {
9821 VkStructureType sType;
9823 uint64_t drmFormatModifier;
9824 } VkImageDrmFormatModifierPropertiesEXT;
9826 typedef VkResult (VKAPI_PTR *PFN_vkGetImageDrmFormatModifierPropertiesEXT)(VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties);
9828 #ifndef VK_NO_PROTOTYPES
9829 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageDrmFormatModifierPropertiesEXT(
9832 VkImageDrmFormatModifierPropertiesEXT* pProperties);
9836 #define VK_EXT_validation_cache 1
9837 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkValidationCacheEXT)
9838 #define VK_EXT_VALIDATION_CACHE_SPEC_VERSION 1
9839 #define VK_EXT_VALIDATION_CACHE_EXTENSION_NAME "VK_EXT_validation_cache"
9841 typedef enum VkValidationCacheHeaderVersionEXT {
9842 VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT = 1,
9843 VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT = 0x7FFFFFFF
9844 } VkValidationCacheHeaderVersionEXT;
9845 typedef VkFlags VkValidationCacheCreateFlagsEXT;
9846 typedef struct VkValidationCacheCreateInfoEXT {
9847 VkStructureType sType;
9849 VkValidationCacheCreateFlagsEXT flags;
9850 size_t initialDataSize;
9851 const void* pInitialData;
9852 } VkValidationCacheCreateInfoEXT;
9854 typedef struct VkShaderModuleValidationCacheCreateInfoEXT {
9855 VkStructureType sType;
9857 VkValidationCacheEXT validationCache;
9858 } VkShaderModuleValidationCacheCreateInfoEXT;
9860 typedef VkResult (VKAPI_PTR *PFN_vkCreateValidationCacheEXT)(VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache);
9861 typedef void (VKAPI_PTR *PFN_vkDestroyValidationCacheEXT)(VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator);
9862 typedef VkResult (VKAPI_PTR *PFN_vkMergeValidationCachesEXT)(VkDevice device, VkValidationCacheEXT dstCache, uint32_t srcCacheCount, const VkValidationCacheEXT* pSrcCaches);
9863 typedef VkResult (VKAPI_PTR *PFN_vkGetValidationCacheDataEXT)(VkDevice device, VkValidationCacheEXT validationCache, size_t* pDataSize, void* pData);
9865 #ifndef VK_NO_PROTOTYPES
9866 VKAPI_ATTR VkResult VKAPI_CALL vkCreateValidationCacheEXT(
9868 const VkValidationCacheCreateInfoEXT* pCreateInfo,
9869 const VkAllocationCallbacks* pAllocator,
9870 VkValidationCacheEXT* pValidationCache);
9872 VKAPI_ATTR void VKAPI_CALL vkDestroyValidationCacheEXT(
9874 VkValidationCacheEXT validationCache,
9875 const VkAllocationCallbacks* pAllocator);
9877 VKAPI_ATTR VkResult VKAPI_CALL vkMergeValidationCachesEXT(
9879 VkValidationCacheEXT dstCache,
9880 uint32_t srcCacheCount,
9881 const VkValidationCacheEXT* pSrcCaches);
9883 VKAPI_ATTR VkResult VKAPI_CALL vkGetValidationCacheDataEXT(
9885 VkValidationCacheEXT validationCache,
9891 #define VK_EXT_descriptor_indexing 1
9892 #define VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION 2
9893 #define VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME "VK_EXT_descriptor_indexing"
9894 typedef VkDescriptorBindingFlagBits VkDescriptorBindingFlagBitsEXT;
9896 typedef VkDescriptorBindingFlags VkDescriptorBindingFlagsEXT;
9898 typedef VkDescriptorSetLayoutBindingFlagsCreateInfo VkDescriptorSetLayoutBindingFlagsCreateInfoEXT;
9900 typedef VkPhysicalDeviceDescriptorIndexingFeatures VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
9902 typedef VkPhysicalDeviceDescriptorIndexingProperties VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
9904 typedef VkDescriptorSetVariableDescriptorCountAllocateInfo VkDescriptorSetVariableDescriptorCountAllocateInfoEXT;
9906 typedef VkDescriptorSetVariableDescriptorCountLayoutSupport VkDescriptorSetVariableDescriptorCountLayoutSupportEXT;
9910 #define VK_EXT_shader_viewport_index_layer 1
9911 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION 1
9912 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME "VK_EXT_shader_viewport_index_layer"
9915 #define VK_NV_shading_rate_image 1
9916 #define VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION 3
9917 #define VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME "VK_NV_shading_rate_image"
9919 typedef enum VkShadingRatePaletteEntryNV {
9920 VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV = 0,
9921 VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV = 1,
9922 VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV = 2,
9923 VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV = 3,
9924 VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV = 4,
9925 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV = 5,
9926 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV = 6,
9927 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV = 7,
9928 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV = 8,
9929 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV = 9,
9930 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV = 10,
9931 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV = 11,
9932 VK_SHADING_RATE_PALETTE_ENTRY_MAX_ENUM_NV = 0x7FFFFFFF
9933 } VkShadingRatePaletteEntryNV;
9935 typedef enum VkCoarseSampleOrderTypeNV {
9936 VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV = 0,
9937 VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV = 1,
9938 VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV = 2,
9939 VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV = 3,
9940 VK_COARSE_SAMPLE_ORDER_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
9941 } VkCoarseSampleOrderTypeNV;
9942 typedef struct VkShadingRatePaletteNV {
9943 uint32_t shadingRatePaletteEntryCount;
9944 const VkShadingRatePaletteEntryNV* pShadingRatePaletteEntries;
9945 } VkShadingRatePaletteNV;
9947 typedef struct VkPipelineViewportShadingRateImageStateCreateInfoNV {
9948 VkStructureType sType;
9950 VkBool32 shadingRateImageEnable;
9951 uint32_t viewportCount;
9952 const VkShadingRatePaletteNV* pShadingRatePalettes;
9953 } VkPipelineViewportShadingRateImageStateCreateInfoNV;
9955 typedef struct VkPhysicalDeviceShadingRateImageFeaturesNV {
9956 VkStructureType sType;
9958 VkBool32 shadingRateImage;
9959 VkBool32 shadingRateCoarseSampleOrder;
9960 } VkPhysicalDeviceShadingRateImageFeaturesNV;
9962 typedef struct VkPhysicalDeviceShadingRateImagePropertiesNV {
9963 VkStructureType sType;
9965 VkExtent2D shadingRateTexelSize;
9966 uint32_t shadingRatePaletteSize;
9967 uint32_t shadingRateMaxCoarseSamples;
9968 } VkPhysicalDeviceShadingRateImagePropertiesNV;
9970 typedef struct VkCoarseSampleLocationNV {
9974 } VkCoarseSampleLocationNV;
9976 typedef struct VkCoarseSampleOrderCustomNV {
9977 VkShadingRatePaletteEntryNV shadingRate;
9978 uint32_t sampleCount;
9979 uint32_t sampleLocationCount;
9980 const VkCoarseSampleLocationNV* pSampleLocations;
9981 } VkCoarseSampleOrderCustomNV;
9983 typedef struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV {
9984 VkStructureType sType;
9986 VkCoarseSampleOrderTypeNV sampleOrderType;
9987 uint32_t customSampleOrderCount;
9988 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders;
9989 } VkPipelineViewportCoarseSampleOrderStateCreateInfoNV;
9991 typedef void (VKAPI_PTR *PFN_vkCmdBindShadingRateImageNV)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout);
9992 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportShadingRatePaletteNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkShadingRatePaletteNV* pShadingRatePalettes);
9993 typedef void (VKAPI_PTR *PFN_vkCmdSetCoarseSampleOrderNV)(VkCommandBuffer commandBuffer, VkCoarseSampleOrderTypeNV sampleOrderType, uint32_t customSampleOrderCount, const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
9995 #ifndef VK_NO_PROTOTYPES
9996 VKAPI_ATTR void VKAPI_CALL vkCmdBindShadingRateImageNV(
9997 VkCommandBuffer commandBuffer,
9998 VkImageView imageView,
9999 VkImageLayout imageLayout);
10001 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportShadingRatePaletteNV(
10002 VkCommandBuffer commandBuffer,
10003 uint32_t firstViewport,
10004 uint32_t viewportCount,
10005 const VkShadingRatePaletteNV* pShadingRatePalettes);
10007 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoarseSampleOrderNV(
10008 VkCommandBuffer commandBuffer,
10009 VkCoarseSampleOrderTypeNV sampleOrderType,
10010 uint32_t customSampleOrderCount,
10011 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
10015 #define VK_NV_ray_tracing 1
10016 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureNV)
10017 #define VK_NV_RAY_TRACING_SPEC_VERSION 3
10018 #define VK_NV_RAY_TRACING_EXTENSION_NAME "VK_NV_ray_tracing"
10019 #define VK_SHADER_UNUSED_KHR (~0U)
10020 #define VK_SHADER_UNUSED_NV VK_SHADER_UNUSED_KHR
10022 typedef enum VkRayTracingShaderGroupTypeKHR {
10023 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR = 0,
10024 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR = 1,
10025 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR = 2,
10026 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR,
10027 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR,
10028 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR,
10029 VK_RAY_TRACING_SHADER_GROUP_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
10030 } VkRayTracingShaderGroupTypeKHR;
10031 typedef VkRayTracingShaderGroupTypeKHR VkRayTracingShaderGroupTypeNV;
10034 typedef enum VkGeometryTypeKHR {
10035 VK_GEOMETRY_TYPE_TRIANGLES_KHR = 0,
10036 VK_GEOMETRY_TYPE_AABBS_KHR = 1,
10037 VK_GEOMETRY_TYPE_INSTANCES_KHR = 2,
10038 VK_GEOMETRY_TYPE_TRIANGLES_NV = VK_GEOMETRY_TYPE_TRIANGLES_KHR,
10039 VK_GEOMETRY_TYPE_AABBS_NV = VK_GEOMETRY_TYPE_AABBS_KHR,
10040 VK_GEOMETRY_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
10041 } VkGeometryTypeKHR;
10042 typedef VkGeometryTypeKHR VkGeometryTypeNV;
10045 typedef enum VkAccelerationStructureTypeKHR {
10046 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR = 0,
10047 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR = 1,
10048 VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR = 2,
10049 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR,
10050 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR,
10051 VK_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
10052 } VkAccelerationStructureTypeKHR;
10053 typedef VkAccelerationStructureTypeKHR VkAccelerationStructureTypeNV;
10056 typedef enum VkCopyAccelerationStructureModeKHR {
10057 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR = 0,
10058 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR = 1,
10059 VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR = 2,
10060 VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR = 3,
10061 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR,
10062 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR,
10063 VK_COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
10064 } VkCopyAccelerationStructureModeKHR;
10065 typedef VkCopyAccelerationStructureModeKHR VkCopyAccelerationStructureModeNV;
10068 typedef enum VkAccelerationStructureMemoryRequirementsTypeNV {
10069 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV = 0,
10070 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV = 1,
10071 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV = 2,
10072 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
10073 } VkAccelerationStructureMemoryRequirementsTypeNV;
10075 typedef enum VkGeometryFlagBitsKHR {
10076 VK_GEOMETRY_OPAQUE_BIT_KHR = 0x00000001,
10077 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR = 0x00000002,
10078 VK_GEOMETRY_OPAQUE_BIT_NV = VK_GEOMETRY_OPAQUE_BIT_KHR,
10079 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV = VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR,
10080 VK_GEOMETRY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
10081 } VkGeometryFlagBitsKHR;
10082 typedef VkFlags VkGeometryFlagsKHR;
10083 typedef VkGeometryFlagsKHR VkGeometryFlagsNV;
10085 typedef VkGeometryFlagBitsKHR VkGeometryFlagBitsNV;
10088 typedef enum VkGeometryInstanceFlagBitsKHR {
10089 VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = 0x00000001,
10090 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = 0x00000002,
10091 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 0x00000004,
10092 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 0x00000008,
10093 VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR,
10094 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR,
10095 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR,
10096 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR,
10097 VK_GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
10098 } VkGeometryInstanceFlagBitsKHR;
10099 typedef VkFlags VkGeometryInstanceFlagsKHR;
10100 typedef VkGeometryInstanceFlagsKHR VkGeometryInstanceFlagsNV;
10102 typedef VkGeometryInstanceFlagBitsKHR VkGeometryInstanceFlagBitsNV;
10105 typedef enum VkBuildAccelerationStructureFlagBitsKHR {
10106 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR = 0x00000001,
10107 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR = 0x00000002,
10108 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR = 0x00000004,
10109 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR = 0x00000008,
10110 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR = 0x00000010,
10111 VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV = 0x00000020,
10112 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR,
10113 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR,
10114 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR,
10115 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR,
10116 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR,
10117 VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
10118 } VkBuildAccelerationStructureFlagBitsKHR;
10119 typedef VkFlags VkBuildAccelerationStructureFlagsKHR;
10120 typedef VkBuildAccelerationStructureFlagsKHR VkBuildAccelerationStructureFlagsNV;
10122 typedef VkBuildAccelerationStructureFlagBitsKHR VkBuildAccelerationStructureFlagBitsNV;
10124 typedef struct VkRayTracingShaderGroupCreateInfoNV {
10125 VkStructureType sType;
10127 VkRayTracingShaderGroupTypeKHR type;
10128 uint32_t generalShader;
10129 uint32_t closestHitShader;
10130 uint32_t anyHitShader;
10131 uint32_t intersectionShader;
10132 } VkRayTracingShaderGroupCreateInfoNV;
10134 typedef struct VkRayTracingPipelineCreateInfoNV {
10135 VkStructureType sType;
10137 VkPipelineCreateFlags flags;
10138 uint32_t stageCount;
10139 const VkPipelineShaderStageCreateInfo* pStages;
10140 uint32_t groupCount;
10141 const VkRayTracingShaderGroupCreateInfoNV* pGroups;
10142 uint32_t maxRecursionDepth;
10143 VkPipelineLayout layout;
10144 VkPipeline basePipelineHandle;
10145 int32_t basePipelineIndex;
10146 } VkRayTracingPipelineCreateInfoNV;
10148 typedef struct VkGeometryTrianglesNV {
10149 VkStructureType sType;
10151 VkBuffer vertexData;
10152 VkDeviceSize vertexOffset;
10153 uint32_t vertexCount;
10154 VkDeviceSize vertexStride;
10155 VkFormat vertexFormat;
10156 VkBuffer indexData;
10157 VkDeviceSize indexOffset;
10158 uint32_t indexCount;
10159 VkIndexType indexType;
10160 VkBuffer transformData;
10161 VkDeviceSize transformOffset;
10162 } VkGeometryTrianglesNV;
10164 typedef struct VkGeometryAABBNV {
10165 VkStructureType sType;
10170 VkDeviceSize offset;
10171 } VkGeometryAABBNV;
10173 typedef struct VkGeometryDataNV {
10174 VkGeometryTrianglesNV triangles;
10175 VkGeometryAABBNV aabbs;
10176 } VkGeometryDataNV;
10178 typedef struct VkGeometryNV {
10179 VkStructureType sType;
10181 VkGeometryTypeKHR geometryType;
10182 VkGeometryDataNV geometry;
10183 VkGeometryFlagsKHR flags;
10186 typedef struct VkAccelerationStructureInfoNV {
10187 VkStructureType sType;
10189 VkAccelerationStructureTypeNV type;
10190 VkBuildAccelerationStructureFlagsNV flags;
10191 uint32_t instanceCount;
10192 uint32_t geometryCount;
10193 const VkGeometryNV* pGeometries;
10194 } VkAccelerationStructureInfoNV;
10196 typedef struct VkAccelerationStructureCreateInfoNV {
10197 VkStructureType sType;
10199 VkDeviceSize compactedSize;
10200 VkAccelerationStructureInfoNV info;
10201 } VkAccelerationStructureCreateInfoNV;
10203 typedef struct VkBindAccelerationStructureMemoryInfoNV {
10204 VkStructureType sType;
10206 VkAccelerationStructureNV accelerationStructure;
10207 VkDeviceMemory memory;
10208 VkDeviceSize memoryOffset;
10209 uint32_t deviceIndexCount;
10210 const uint32_t* pDeviceIndices;
10211 } VkBindAccelerationStructureMemoryInfoNV;
10213 typedef struct VkWriteDescriptorSetAccelerationStructureNV {
10214 VkStructureType sType;
10216 uint32_t accelerationStructureCount;
10217 const VkAccelerationStructureNV* pAccelerationStructures;
10218 } VkWriteDescriptorSetAccelerationStructureNV;
10220 typedef struct VkAccelerationStructureMemoryRequirementsInfoNV {
10221 VkStructureType sType;
10223 VkAccelerationStructureMemoryRequirementsTypeNV type;
10224 VkAccelerationStructureNV accelerationStructure;
10225 } VkAccelerationStructureMemoryRequirementsInfoNV;
10227 typedef struct VkPhysicalDeviceRayTracingPropertiesNV {
10228 VkStructureType sType;
10230 uint32_t shaderGroupHandleSize;
10231 uint32_t maxRecursionDepth;
10232 uint32_t maxShaderGroupStride;
10233 uint32_t shaderGroupBaseAlignment;
10234 uint64_t maxGeometryCount;
10235 uint64_t maxInstanceCount;
10236 uint64_t maxTriangleCount;
10237 uint32_t maxDescriptorSetAccelerationStructures;
10238 } VkPhysicalDeviceRayTracingPropertiesNV;
10240 typedef struct VkTransformMatrixKHR {
10241 float matrix[3][4];
10242 } VkTransformMatrixKHR;
10244 typedef VkTransformMatrixKHR VkTransformMatrixNV;
10246 typedef struct VkAabbPositionsKHR {
10253 } VkAabbPositionsKHR;
10255 typedef VkAabbPositionsKHR VkAabbPositionsNV;
10257 typedef struct VkAccelerationStructureInstanceKHR {
10258 VkTransformMatrixKHR transform;
10259 uint32_t instanceCustomIndex:24;
10261 uint32_t instanceShaderBindingTableRecordOffset:24;
10262 VkGeometryInstanceFlagsKHR flags:8;
10263 uint64_t accelerationStructureReference;
10264 } VkAccelerationStructureInstanceKHR;
10266 typedef VkAccelerationStructureInstanceKHR VkAccelerationStructureInstanceNV;
10268 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureNV)(VkDevice device, const VkAccelerationStructureCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureNV* pAccelerationStructure);
10269 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, const VkAllocationCallbacks* pAllocator);
10270 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureMemoryRequirementsNV)(VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements);
10271 typedef VkResult (VKAPI_PTR *PFN_vkBindAccelerationStructureMemoryNV)(VkDevice device, uint32_t bindInfoCount, const VkBindAccelerationStructureMemoryInfoNV* pBindInfos);
10272 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);
10273 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureNV)(VkCommandBuffer commandBuffer, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkCopyAccelerationStructureModeKHR mode);
10274 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);
10275 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesNV)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoNV* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
10276 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData);
10277 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesNV)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData);
10278 typedef VkResult (VKAPI_PTR *PFN_vkGetAccelerationStructureHandleNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, size_t dataSize, void* pData);
10279 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesNV)(VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureNV* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery);
10280 typedef VkResult (VKAPI_PTR *PFN_vkCompileDeferredNV)(VkDevice device, VkPipeline pipeline, uint32_t shader);
10282 #ifndef VK_NO_PROTOTYPES
10283 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureNV(
10285 const VkAccelerationStructureCreateInfoNV* pCreateInfo,
10286 const VkAllocationCallbacks* pAllocator,
10287 VkAccelerationStructureNV* pAccelerationStructure);
10289 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureNV(
10291 VkAccelerationStructureNV accelerationStructure,
10292 const VkAllocationCallbacks* pAllocator);
10294 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureMemoryRequirementsNV(
10296 const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo,
10297 VkMemoryRequirements2KHR* pMemoryRequirements);
10299 VKAPI_ATTR VkResult VKAPI_CALL vkBindAccelerationStructureMemoryNV(
10301 uint32_t bindInfoCount,
10302 const VkBindAccelerationStructureMemoryInfoNV* pBindInfos);
10304 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructureNV(
10305 VkCommandBuffer commandBuffer,
10306 const VkAccelerationStructureInfoNV* pInfo,
10307 VkBuffer instanceData,
10308 VkDeviceSize instanceOffset,
10310 VkAccelerationStructureNV dst,
10311 VkAccelerationStructureNV src,
10313 VkDeviceSize scratchOffset);
10315 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureNV(
10316 VkCommandBuffer commandBuffer,
10317 VkAccelerationStructureNV dst,
10318 VkAccelerationStructureNV src,
10319 VkCopyAccelerationStructureModeKHR mode);
10321 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysNV(
10322 VkCommandBuffer commandBuffer,
10323 VkBuffer raygenShaderBindingTableBuffer,
10324 VkDeviceSize raygenShaderBindingOffset,
10325 VkBuffer missShaderBindingTableBuffer,
10326 VkDeviceSize missShaderBindingOffset,
10327 VkDeviceSize missShaderBindingStride,
10328 VkBuffer hitShaderBindingTableBuffer,
10329 VkDeviceSize hitShaderBindingOffset,
10330 VkDeviceSize hitShaderBindingStride,
10331 VkBuffer callableShaderBindingTableBuffer,
10332 VkDeviceSize callableShaderBindingOffset,
10333 VkDeviceSize callableShaderBindingStride,
10338 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesNV(
10340 VkPipelineCache pipelineCache,
10341 uint32_t createInfoCount,
10342 const VkRayTracingPipelineCreateInfoNV* pCreateInfos,
10343 const VkAllocationCallbacks* pAllocator,
10344 VkPipeline* pPipelines);
10346 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesKHR(
10348 VkPipeline pipeline,
10349 uint32_t firstGroup,
10350 uint32_t groupCount,
10354 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesNV(
10356 VkPipeline pipeline,
10357 uint32_t firstGroup,
10358 uint32_t groupCount,
10362 VKAPI_ATTR VkResult VKAPI_CALL vkGetAccelerationStructureHandleNV(
10364 VkAccelerationStructureNV accelerationStructure,
10368 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesNV(
10369 VkCommandBuffer commandBuffer,
10370 uint32_t accelerationStructureCount,
10371 const VkAccelerationStructureNV* pAccelerationStructures,
10372 VkQueryType queryType,
10373 VkQueryPool queryPool,
10374 uint32_t firstQuery);
10376 VKAPI_ATTR VkResult VKAPI_CALL vkCompileDeferredNV(
10378 VkPipeline pipeline,
10383 #define VK_NV_representative_fragment_test 1
10384 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION 2
10385 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME "VK_NV_representative_fragment_test"
10386 typedef struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV {
10387 VkStructureType sType;
10389 VkBool32 representativeFragmentTest;
10390 } VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV;
10392 typedef struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV {
10393 VkStructureType sType;
10395 VkBool32 representativeFragmentTestEnable;
10396 } VkPipelineRepresentativeFragmentTestStateCreateInfoNV;
10400 #define VK_EXT_filter_cubic 1
10401 #define VK_EXT_FILTER_CUBIC_SPEC_VERSION 3
10402 #define VK_EXT_FILTER_CUBIC_EXTENSION_NAME "VK_EXT_filter_cubic"
10403 typedef struct VkPhysicalDeviceImageViewImageFormatInfoEXT {
10404 VkStructureType sType;
10406 VkImageViewType imageViewType;
10407 } VkPhysicalDeviceImageViewImageFormatInfoEXT;
10409 typedef struct VkFilterCubicImageViewImageFormatPropertiesEXT {
10410 VkStructureType sType;
10412 VkBool32 filterCubic;
10413 VkBool32 filterCubicMinmax;
10414 } VkFilterCubicImageViewImageFormatPropertiesEXT;
10418 #define VK_QCOM_render_pass_shader_resolve 1
10419 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_SPEC_VERSION 4
10420 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_EXTENSION_NAME "VK_QCOM_render_pass_shader_resolve"
10423 #define VK_EXT_global_priority 1
10424 #define VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION 2
10425 #define VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME "VK_EXT_global_priority"
10427 typedef enum VkQueueGlobalPriorityEXT {
10428 VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT = 128,
10429 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT = 256,
10430 VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT = 512,
10431 VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT = 1024,
10432 VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_EXT = 0x7FFFFFFF
10433 } VkQueueGlobalPriorityEXT;
10434 typedef struct VkDeviceQueueGlobalPriorityCreateInfoEXT {
10435 VkStructureType sType;
10437 VkQueueGlobalPriorityEXT globalPriority;
10438 } VkDeviceQueueGlobalPriorityCreateInfoEXT;
10442 #define VK_EXT_external_memory_host 1
10443 #define VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION 1
10444 #define VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME "VK_EXT_external_memory_host"
10445 typedef struct VkImportMemoryHostPointerInfoEXT {
10446 VkStructureType sType;
10448 VkExternalMemoryHandleTypeFlagBits handleType;
10449 void* pHostPointer;
10450 } VkImportMemoryHostPointerInfoEXT;
10452 typedef struct VkMemoryHostPointerPropertiesEXT {
10453 VkStructureType sType;
10455 uint32_t memoryTypeBits;
10456 } VkMemoryHostPointerPropertiesEXT;
10458 typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
10459 VkStructureType sType;
10461 VkDeviceSize minImportedHostPointerAlignment;
10462 } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
10464 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryHostPointerPropertiesEXT)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
10466 #ifndef VK_NO_PROTOTYPES
10467 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryHostPointerPropertiesEXT(
10469 VkExternalMemoryHandleTypeFlagBits handleType,
10470 const void* pHostPointer,
10471 VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
10475 #define VK_AMD_buffer_marker 1
10476 #define VK_AMD_BUFFER_MARKER_SPEC_VERSION 1
10477 #define VK_AMD_BUFFER_MARKER_EXTENSION_NAME "VK_AMD_buffer_marker"
10478 typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarkerAMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker);
10480 #ifndef VK_NO_PROTOTYPES
10481 VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarkerAMD(
10482 VkCommandBuffer commandBuffer,
10483 VkPipelineStageFlagBits pipelineStage,
10484 VkBuffer dstBuffer,
10485 VkDeviceSize dstOffset,
10490 #define VK_AMD_pipeline_compiler_control 1
10491 #define VK_AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION 1
10492 #define VK_AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME "VK_AMD_pipeline_compiler_control"
10494 typedef enum VkPipelineCompilerControlFlagBitsAMD {
10495 VK_PIPELINE_COMPILER_CONTROL_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF
10496 } VkPipelineCompilerControlFlagBitsAMD;
10497 typedef VkFlags VkPipelineCompilerControlFlagsAMD;
10498 typedef struct VkPipelineCompilerControlCreateInfoAMD {
10499 VkStructureType sType;
10501 VkPipelineCompilerControlFlagsAMD compilerControlFlags;
10502 } VkPipelineCompilerControlCreateInfoAMD;
10506 #define VK_EXT_calibrated_timestamps 1
10507 #define VK_EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION 2
10508 #define VK_EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME "VK_EXT_calibrated_timestamps"
10510 typedef enum VkTimeDomainEXT {
10511 VK_TIME_DOMAIN_DEVICE_EXT = 0,
10512 VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT = 1,
10513 VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT = 2,
10514 VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT = 3,
10515 VK_TIME_DOMAIN_MAX_ENUM_EXT = 0x7FFFFFFF
10517 typedef struct VkCalibratedTimestampInfoEXT {
10518 VkStructureType sType;
10520 VkTimeDomainEXT timeDomain;
10521 } VkCalibratedTimestampInfoEXT;
10523 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT)(VkPhysicalDevice physicalDevice, uint32_t* pTimeDomainCount, VkTimeDomainEXT* pTimeDomains);
10524 typedef VkResult (VKAPI_PTR *PFN_vkGetCalibratedTimestampsEXT)(VkDevice device, uint32_t timestampCount, const VkCalibratedTimestampInfoEXT* pTimestampInfos, uint64_t* pTimestamps, uint64_t* pMaxDeviation);
10526 #ifndef VK_NO_PROTOTYPES
10527 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(
10528 VkPhysicalDevice physicalDevice,
10529 uint32_t* pTimeDomainCount,
10530 VkTimeDomainEXT* pTimeDomains);
10532 VKAPI_ATTR VkResult VKAPI_CALL vkGetCalibratedTimestampsEXT(
10534 uint32_t timestampCount,
10535 const VkCalibratedTimestampInfoEXT* pTimestampInfos,
10536 uint64_t* pTimestamps,
10537 uint64_t* pMaxDeviation);
10541 #define VK_AMD_shader_core_properties 1
10542 #define VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION 2
10543 #define VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_AMD_shader_core_properties"
10544 typedef struct VkPhysicalDeviceShaderCorePropertiesAMD {
10545 VkStructureType sType;
10547 uint32_t shaderEngineCount;
10548 uint32_t shaderArraysPerEngineCount;
10549 uint32_t computeUnitsPerShaderArray;
10550 uint32_t simdPerComputeUnit;
10551 uint32_t wavefrontsPerSimd;
10552 uint32_t wavefrontSize;
10553 uint32_t sgprsPerSimd;
10554 uint32_t minSgprAllocation;
10555 uint32_t maxSgprAllocation;
10556 uint32_t sgprAllocationGranularity;
10557 uint32_t vgprsPerSimd;
10558 uint32_t minVgprAllocation;
10559 uint32_t maxVgprAllocation;
10560 uint32_t vgprAllocationGranularity;
10561 } VkPhysicalDeviceShaderCorePropertiesAMD;
10565 #define VK_AMD_memory_overallocation_behavior 1
10566 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION 1
10567 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME "VK_AMD_memory_overallocation_behavior"
10569 typedef enum VkMemoryOverallocationBehaviorAMD {
10570 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD = 0,
10571 VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD = 1,
10572 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD = 2,
10573 VK_MEMORY_OVERALLOCATION_BEHAVIOR_MAX_ENUM_AMD = 0x7FFFFFFF
10574 } VkMemoryOverallocationBehaviorAMD;
10575 typedef struct VkDeviceMemoryOverallocationCreateInfoAMD {
10576 VkStructureType sType;
10578 VkMemoryOverallocationBehaviorAMD overallocationBehavior;
10579 } VkDeviceMemoryOverallocationCreateInfoAMD;
10583 #define VK_EXT_vertex_attribute_divisor 1
10584 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 3
10585 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_EXT_vertex_attribute_divisor"
10586 typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
10587 VkStructureType sType;
10589 uint32_t maxVertexAttribDivisor;
10590 } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
10592 typedef struct VkVertexInputBindingDivisorDescriptionEXT {
10595 } VkVertexInputBindingDivisorDescriptionEXT;
10597 typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT {
10598 VkStructureType sType;
10600 uint32_t vertexBindingDivisorCount;
10601 const VkVertexInputBindingDivisorDescriptionEXT* pVertexBindingDivisors;
10602 } VkPipelineVertexInputDivisorStateCreateInfoEXT;
10604 typedef struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT {
10605 VkStructureType sType;
10607 VkBool32 vertexAttributeInstanceRateDivisor;
10608 VkBool32 vertexAttributeInstanceRateZeroDivisor;
10609 } VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT;
10613 #define VK_EXT_pipeline_creation_feedback 1
10614 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION 1
10615 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME "VK_EXT_pipeline_creation_feedback"
10617 typedef enum VkPipelineCreationFeedbackFlagBitsEXT {
10618 VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = 0x00000001,
10619 VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = 0x00000002,
10620 VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = 0x00000004,
10621 VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
10622 } VkPipelineCreationFeedbackFlagBitsEXT;
10623 typedef VkFlags VkPipelineCreationFeedbackFlagsEXT;
10624 typedef struct VkPipelineCreationFeedbackEXT {
10625 VkPipelineCreationFeedbackFlagsEXT flags;
10627 } VkPipelineCreationFeedbackEXT;
10629 typedef struct VkPipelineCreationFeedbackCreateInfoEXT {
10630 VkStructureType sType;
10632 VkPipelineCreationFeedbackEXT* pPipelineCreationFeedback;
10633 uint32_t pipelineStageCreationFeedbackCount;
10634 VkPipelineCreationFeedbackEXT* pPipelineStageCreationFeedbacks;
10635 } VkPipelineCreationFeedbackCreateInfoEXT;
10639 #define VK_NV_shader_subgroup_partitioned 1
10640 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION 1
10641 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME "VK_NV_shader_subgroup_partitioned"
10644 #define VK_NV_compute_shader_derivatives 1
10645 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION 1
10646 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME "VK_NV_compute_shader_derivatives"
10647 typedef struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV {
10648 VkStructureType sType;
10650 VkBool32 computeDerivativeGroupQuads;
10651 VkBool32 computeDerivativeGroupLinear;
10652 } VkPhysicalDeviceComputeShaderDerivativesFeaturesNV;
10656 #define VK_NV_mesh_shader 1
10657 #define VK_NV_MESH_SHADER_SPEC_VERSION 1
10658 #define VK_NV_MESH_SHADER_EXTENSION_NAME "VK_NV_mesh_shader"
10659 typedef struct VkPhysicalDeviceMeshShaderFeaturesNV {
10660 VkStructureType sType;
10662 VkBool32 taskShader;
10663 VkBool32 meshShader;
10664 } VkPhysicalDeviceMeshShaderFeaturesNV;
10666 typedef struct VkPhysicalDeviceMeshShaderPropertiesNV {
10667 VkStructureType sType;
10669 uint32_t maxDrawMeshTasksCount;
10670 uint32_t maxTaskWorkGroupInvocations;
10671 uint32_t maxTaskWorkGroupSize[3];
10672 uint32_t maxTaskTotalMemorySize;
10673 uint32_t maxTaskOutputCount;
10674 uint32_t maxMeshWorkGroupInvocations;
10675 uint32_t maxMeshWorkGroupSize[3];
10676 uint32_t maxMeshTotalMemorySize;
10677 uint32_t maxMeshOutputVertices;
10678 uint32_t maxMeshOutputPrimitives;
10679 uint32_t maxMeshMultiviewViewCount;
10680 uint32_t meshOutputPerVertexGranularity;
10681 uint32_t meshOutputPerPrimitiveGranularity;
10682 } VkPhysicalDeviceMeshShaderPropertiesNV;
10684 typedef struct VkDrawMeshTasksIndirectCommandNV {
10685 uint32_t taskCount;
10686 uint32_t firstTask;
10687 } VkDrawMeshTasksIndirectCommandNV;
10689 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksNV)(VkCommandBuffer commandBuffer, uint32_t taskCount, uint32_t firstTask);
10690 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
10691 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectCountNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
10693 #ifndef VK_NO_PROTOTYPES
10694 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksNV(
10695 VkCommandBuffer commandBuffer,
10696 uint32_t taskCount,
10697 uint32_t firstTask);
10699 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectNV(
10700 VkCommandBuffer commandBuffer,
10702 VkDeviceSize offset,
10703 uint32_t drawCount,
10706 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectCountNV(
10707 VkCommandBuffer commandBuffer,
10709 VkDeviceSize offset,
10710 VkBuffer countBuffer,
10711 VkDeviceSize countBufferOffset,
10712 uint32_t maxDrawCount,
10717 #define VK_NV_fragment_shader_barycentric 1
10718 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1
10719 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_NV_fragment_shader_barycentric"
10720 typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV {
10721 VkStructureType sType;
10723 VkBool32 fragmentShaderBarycentric;
10724 } VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV;
10728 #define VK_NV_shader_image_footprint 1
10729 #define VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION 2
10730 #define VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME "VK_NV_shader_image_footprint"
10731 typedef struct VkPhysicalDeviceShaderImageFootprintFeaturesNV {
10732 VkStructureType sType;
10734 VkBool32 imageFootprint;
10735 } VkPhysicalDeviceShaderImageFootprintFeaturesNV;
10739 #define VK_NV_scissor_exclusive 1
10740 #define VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION 1
10741 #define VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME "VK_NV_scissor_exclusive"
10742 typedef struct VkPipelineViewportExclusiveScissorStateCreateInfoNV {
10743 VkStructureType sType;
10745 uint32_t exclusiveScissorCount;
10746 const VkRect2D* pExclusiveScissors;
10747 } VkPipelineViewportExclusiveScissorStateCreateInfoNV;
10749 typedef struct VkPhysicalDeviceExclusiveScissorFeaturesNV {
10750 VkStructureType sType;
10752 VkBool32 exclusiveScissor;
10753 } VkPhysicalDeviceExclusiveScissorFeaturesNV;
10755 typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorNV)(VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const VkRect2D* pExclusiveScissors);
10757 #ifndef VK_NO_PROTOTYPES
10758 VKAPI_ATTR void VKAPI_CALL vkCmdSetExclusiveScissorNV(
10759 VkCommandBuffer commandBuffer,
10760 uint32_t firstExclusiveScissor,
10761 uint32_t exclusiveScissorCount,
10762 const VkRect2D* pExclusiveScissors);
10766 #define VK_NV_device_diagnostic_checkpoints 1
10767 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION 2
10768 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME "VK_NV_device_diagnostic_checkpoints"
10769 typedef struct VkQueueFamilyCheckpointPropertiesNV {
10770 VkStructureType sType;
10772 VkPipelineStageFlags checkpointExecutionStageMask;
10773 } VkQueueFamilyCheckpointPropertiesNV;
10775 typedef struct VkCheckpointDataNV {
10776 VkStructureType sType;
10778 VkPipelineStageFlagBits stage;
10779 void* pCheckpointMarker;
10780 } VkCheckpointDataNV;
10782 typedef void (VKAPI_PTR *PFN_vkCmdSetCheckpointNV)(VkCommandBuffer commandBuffer, const void* pCheckpointMarker);
10783 typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointDataNV)(VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData);
10785 #ifndef VK_NO_PROTOTYPES
10786 VKAPI_ATTR void VKAPI_CALL vkCmdSetCheckpointNV(
10787 VkCommandBuffer commandBuffer,
10788 const void* pCheckpointMarker);
10790 VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointDataNV(
10792 uint32_t* pCheckpointDataCount,
10793 VkCheckpointDataNV* pCheckpointData);
10797 #define VK_INTEL_shader_integer_functions2 1
10798 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION 1
10799 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME "VK_INTEL_shader_integer_functions2"
10800 typedef struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
10801 VkStructureType sType;
10803 VkBool32 shaderIntegerFunctions2;
10804 } VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL;
10808 #define VK_INTEL_performance_query 1
10809 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPerformanceConfigurationINTEL)
10810 #define VK_INTEL_PERFORMANCE_QUERY_SPEC_VERSION 2
10811 #define VK_INTEL_PERFORMANCE_QUERY_EXTENSION_NAME "VK_INTEL_performance_query"
10813 typedef enum VkPerformanceConfigurationTypeINTEL {
10814 VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL = 0,
10815 VK_PERFORMANCE_CONFIGURATION_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
10816 } VkPerformanceConfigurationTypeINTEL;
10818 typedef enum VkQueryPoolSamplingModeINTEL {
10819 VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL = 0,
10820 VK_QUERY_POOL_SAMPLING_MODE_MAX_ENUM_INTEL = 0x7FFFFFFF
10821 } VkQueryPoolSamplingModeINTEL;
10823 typedef enum VkPerformanceOverrideTypeINTEL {
10824 VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL = 0,
10825 VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL = 1,
10826 VK_PERFORMANCE_OVERRIDE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
10827 } VkPerformanceOverrideTypeINTEL;
10829 typedef enum VkPerformanceParameterTypeINTEL {
10830 VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL = 0,
10831 VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL = 1,
10832 VK_PERFORMANCE_PARAMETER_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
10833 } VkPerformanceParameterTypeINTEL;
10835 typedef enum VkPerformanceValueTypeINTEL {
10836 VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL = 0,
10837 VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL = 1,
10838 VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL = 2,
10839 VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL = 3,
10840 VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL = 4,
10841 VK_PERFORMANCE_VALUE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
10842 } VkPerformanceValueTypeINTEL;
10843 typedef union VkPerformanceValueDataINTEL {
10847 VkBool32 valueBool;
10848 const char* valueString;
10849 } VkPerformanceValueDataINTEL;
10851 typedef struct VkPerformanceValueINTEL {
10852 VkPerformanceValueTypeINTEL type;
10853 VkPerformanceValueDataINTEL data;
10854 } VkPerformanceValueINTEL;
10856 typedef struct VkInitializePerformanceApiInfoINTEL {
10857 VkStructureType sType;
10860 } VkInitializePerformanceApiInfoINTEL;
10862 typedef struct VkQueryPoolPerformanceQueryCreateInfoINTEL {
10863 VkStructureType sType;
10865 VkQueryPoolSamplingModeINTEL performanceCountersSampling;
10866 } VkQueryPoolPerformanceQueryCreateInfoINTEL;
10868 typedef VkQueryPoolPerformanceQueryCreateInfoINTEL VkQueryPoolCreateInfoINTEL;
10870 typedef struct VkPerformanceMarkerInfoINTEL {
10871 VkStructureType sType;
10874 } VkPerformanceMarkerInfoINTEL;
10876 typedef struct VkPerformanceStreamMarkerInfoINTEL {
10877 VkStructureType sType;
10880 } VkPerformanceStreamMarkerInfoINTEL;
10882 typedef struct VkPerformanceOverrideInfoINTEL {
10883 VkStructureType sType;
10885 VkPerformanceOverrideTypeINTEL type;
10887 uint64_t parameter;
10888 } VkPerformanceOverrideInfoINTEL;
10890 typedef struct VkPerformanceConfigurationAcquireInfoINTEL {
10891 VkStructureType sType;
10893 VkPerformanceConfigurationTypeINTEL type;
10894 } VkPerformanceConfigurationAcquireInfoINTEL;
10896 typedef VkResult (VKAPI_PTR *PFN_vkInitializePerformanceApiINTEL)(VkDevice device, const VkInitializePerformanceApiInfoINTEL* pInitializeInfo);
10897 typedef void (VKAPI_PTR *PFN_vkUninitializePerformanceApiINTEL)(VkDevice device);
10898 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL* pMarkerInfo);
10899 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceStreamMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo);
10900 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceOverrideINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL* pOverrideInfo);
10901 typedef VkResult (VKAPI_PTR *PFN_vkAcquirePerformanceConfigurationINTEL)(VkDevice device, const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, VkPerformanceConfigurationINTEL* pConfiguration);
10902 typedef VkResult (VKAPI_PTR *PFN_vkReleasePerformanceConfigurationINTEL)(VkDevice device, VkPerformanceConfigurationINTEL configuration);
10903 typedef VkResult (VKAPI_PTR *PFN_vkQueueSetPerformanceConfigurationINTEL)(VkQueue queue, VkPerformanceConfigurationINTEL configuration);
10904 typedef VkResult (VKAPI_PTR *PFN_vkGetPerformanceParameterINTEL)(VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL* pValue);
10906 #ifndef VK_NO_PROTOTYPES
10907 VKAPI_ATTR VkResult VKAPI_CALL vkInitializePerformanceApiINTEL(
10909 const VkInitializePerformanceApiInfoINTEL* pInitializeInfo);
10911 VKAPI_ATTR void VKAPI_CALL vkUninitializePerformanceApiINTEL(
10914 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceMarkerINTEL(
10915 VkCommandBuffer commandBuffer,
10916 const VkPerformanceMarkerInfoINTEL* pMarkerInfo);
10918 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceStreamMarkerINTEL(
10919 VkCommandBuffer commandBuffer,
10920 const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo);
10922 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceOverrideINTEL(
10923 VkCommandBuffer commandBuffer,
10924 const VkPerformanceOverrideInfoINTEL* pOverrideInfo);
10926 VKAPI_ATTR VkResult VKAPI_CALL vkAcquirePerformanceConfigurationINTEL(
10928 const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo,
10929 VkPerformanceConfigurationINTEL* pConfiguration);
10931 VKAPI_ATTR VkResult VKAPI_CALL vkReleasePerformanceConfigurationINTEL(
10933 VkPerformanceConfigurationINTEL configuration);
10935 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSetPerformanceConfigurationINTEL(
10937 VkPerformanceConfigurationINTEL configuration);
10939 VKAPI_ATTR VkResult VKAPI_CALL vkGetPerformanceParameterINTEL(
10941 VkPerformanceParameterTypeINTEL parameter,
10942 VkPerformanceValueINTEL* pValue);
10946 #define VK_EXT_pci_bus_info 1
10947 #define VK_EXT_PCI_BUS_INFO_SPEC_VERSION 2
10948 #define VK_EXT_PCI_BUS_INFO_EXTENSION_NAME "VK_EXT_pci_bus_info"
10949 typedef struct VkPhysicalDevicePCIBusInfoPropertiesEXT {
10950 VkStructureType sType;
10952 uint32_t pciDomain;
10954 uint32_t pciDevice;
10955 uint32_t pciFunction;
10956 } VkPhysicalDevicePCIBusInfoPropertiesEXT;
10960 #define VK_AMD_display_native_hdr 1
10961 #define VK_AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION 1
10962 #define VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME "VK_AMD_display_native_hdr"
10963 typedef struct VkDisplayNativeHdrSurfaceCapabilitiesAMD {
10964 VkStructureType sType;
10966 VkBool32 localDimmingSupport;
10967 } VkDisplayNativeHdrSurfaceCapabilitiesAMD;
10969 typedef struct VkSwapchainDisplayNativeHdrCreateInfoAMD {
10970 VkStructureType sType;
10972 VkBool32 localDimmingEnable;
10973 } VkSwapchainDisplayNativeHdrCreateInfoAMD;
10975 typedef void (VKAPI_PTR *PFN_vkSetLocalDimmingAMD)(VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable);
10977 #ifndef VK_NO_PROTOTYPES
10978 VKAPI_ATTR void VKAPI_CALL vkSetLocalDimmingAMD(
10980 VkSwapchainKHR swapChain,
10981 VkBool32 localDimmingEnable);
10985 #define VK_EXT_fragment_density_map 1
10986 #define VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION 1
10987 #define VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME "VK_EXT_fragment_density_map"
10988 typedef struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT {
10989 VkStructureType sType;
10991 VkBool32 fragmentDensityMap;
10992 VkBool32 fragmentDensityMapDynamic;
10993 VkBool32 fragmentDensityMapNonSubsampledImages;
10994 } VkPhysicalDeviceFragmentDensityMapFeaturesEXT;
10996 typedef struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT {
10997 VkStructureType sType;
10999 VkExtent2D minFragmentDensityTexelSize;
11000 VkExtent2D maxFragmentDensityTexelSize;
11001 VkBool32 fragmentDensityInvocations;
11002 } VkPhysicalDeviceFragmentDensityMapPropertiesEXT;
11004 typedef struct VkRenderPassFragmentDensityMapCreateInfoEXT {
11005 VkStructureType sType;
11007 VkAttachmentReference fragmentDensityMapAttachment;
11008 } VkRenderPassFragmentDensityMapCreateInfoEXT;
11012 #define VK_EXT_scalar_block_layout 1
11013 #define VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION 1
11014 #define VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME "VK_EXT_scalar_block_layout"
11015 typedef VkPhysicalDeviceScalarBlockLayoutFeatures VkPhysicalDeviceScalarBlockLayoutFeaturesEXT;
11019 #define VK_GOOGLE_hlsl_functionality1 1
11020 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION 1
11021 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME "VK_GOOGLE_hlsl_functionality1"
11024 #define VK_GOOGLE_decorate_string 1
11025 #define VK_GOOGLE_DECORATE_STRING_SPEC_VERSION 1
11026 #define VK_GOOGLE_DECORATE_STRING_EXTENSION_NAME "VK_GOOGLE_decorate_string"
11029 #define VK_EXT_subgroup_size_control 1
11030 #define VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION 2
11031 #define VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME "VK_EXT_subgroup_size_control"
11032 typedef struct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT {
11033 VkStructureType sType;
11035 VkBool32 subgroupSizeControl;
11036 VkBool32 computeFullSubgroups;
11037 } VkPhysicalDeviceSubgroupSizeControlFeaturesEXT;
11039 typedef struct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT {
11040 VkStructureType sType;
11042 uint32_t minSubgroupSize;
11043 uint32_t maxSubgroupSize;
11044 uint32_t maxComputeWorkgroupSubgroups;
11045 VkShaderStageFlags requiredSubgroupSizeStages;
11046 } VkPhysicalDeviceSubgroupSizeControlPropertiesEXT;
11048 typedef struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT {
11049 VkStructureType sType;
11051 uint32_t requiredSubgroupSize;
11052 } VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT;
11056 #define VK_AMD_shader_core_properties2 1
11057 #define VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION 1
11058 #define VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME "VK_AMD_shader_core_properties2"
11060 typedef enum VkShaderCorePropertiesFlagBitsAMD {
11061 VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF
11062 } VkShaderCorePropertiesFlagBitsAMD;
11063 typedef VkFlags VkShaderCorePropertiesFlagsAMD;
11064 typedef struct VkPhysicalDeviceShaderCoreProperties2AMD {
11065 VkStructureType sType;
11067 VkShaderCorePropertiesFlagsAMD shaderCoreFeatures;
11068 uint32_t activeComputeUnitCount;
11069 } VkPhysicalDeviceShaderCoreProperties2AMD;
11073 #define VK_AMD_device_coherent_memory 1
11074 #define VK_AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION 1
11075 #define VK_AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME "VK_AMD_device_coherent_memory"
11076 typedef struct VkPhysicalDeviceCoherentMemoryFeaturesAMD {
11077 VkStructureType sType;
11079 VkBool32 deviceCoherentMemory;
11080 } VkPhysicalDeviceCoherentMemoryFeaturesAMD;
11084 #define VK_EXT_shader_image_atomic_int64 1
11085 #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION 1
11086 #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME "VK_EXT_shader_image_atomic_int64"
11087 typedef struct VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT {
11088 VkStructureType sType;
11090 VkBool32 shaderImageInt64Atomics;
11091 VkBool32 sparseImageInt64Atomics;
11092 } VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT;
11096 #define VK_EXT_memory_budget 1
11097 #define VK_EXT_MEMORY_BUDGET_SPEC_VERSION 1
11098 #define VK_EXT_MEMORY_BUDGET_EXTENSION_NAME "VK_EXT_memory_budget"
11099 typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT {
11100 VkStructureType sType;
11102 VkDeviceSize heapBudget[VK_MAX_MEMORY_HEAPS];
11103 VkDeviceSize heapUsage[VK_MAX_MEMORY_HEAPS];
11104 } VkPhysicalDeviceMemoryBudgetPropertiesEXT;
11108 #define VK_EXT_memory_priority 1
11109 #define VK_EXT_MEMORY_PRIORITY_SPEC_VERSION 1
11110 #define VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME "VK_EXT_memory_priority"
11111 typedef struct VkPhysicalDeviceMemoryPriorityFeaturesEXT {
11112 VkStructureType sType;
11114 VkBool32 memoryPriority;
11115 } VkPhysicalDeviceMemoryPriorityFeaturesEXT;
11117 typedef struct VkMemoryPriorityAllocateInfoEXT {
11118 VkStructureType sType;
11121 } VkMemoryPriorityAllocateInfoEXT;
11125 #define VK_NV_dedicated_allocation_image_aliasing 1
11126 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION 1
11127 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME "VK_NV_dedicated_allocation_image_aliasing"
11128 typedef struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
11129 VkStructureType sType;
11131 VkBool32 dedicatedAllocationImageAliasing;
11132 } VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV;
11136 #define VK_EXT_buffer_device_address 1
11137 #define VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 2
11138 #define VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_EXT_buffer_device_address"
11139 typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT {
11140 VkStructureType sType;
11142 VkBool32 bufferDeviceAddress;
11143 VkBool32 bufferDeviceAddressCaptureReplay;
11144 VkBool32 bufferDeviceAddressMultiDevice;
11145 } VkPhysicalDeviceBufferDeviceAddressFeaturesEXT;
11147 typedef VkPhysicalDeviceBufferDeviceAddressFeaturesEXT VkPhysicalDeviceBufferAddressFeaturesEXT;
11149 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoEXT;
11151 typedef struct VkBufferDeviceAddressCreateInfoEXT {
11152 VkStructureType sType;
11154 VkDeviceAddress deviceAddress;
11155 } VkBufferDeviceAddressCreateInfoEXT;
11157 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressEXT)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
11159 #ifndef VK_NO_PROTOTYPES
11160 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressEXT(
11162 const VkBufferDeviceAddressInfo* pInfo);
11166 #define VK_EXT_tooling_info 1
11167 #define VK_EXT_TOOLING_INFO_SPEC_VERSION 1
11168 #define VK_EXT_TOOLING_INFO_EXTENSION_NAME "VK_EXT_tooling_info"
11170 typedef enum VkToolPurposeFlagBitsEXT {
11171 VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = 0x00000001,
11172 VK_TOOL_PURPOSE_PROFILING_BIT_EXT = 0x00000002,
11173 VK_TOOL_PURPOSE_TRACING_BIT_EXT = 0x00000004,
11174 VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = 0x00000008,
11175 VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = 0x00000010,
11176 VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 0x00000020,
11177 VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 0x00000040,
11178 VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
11179 } VkToolPurposeFlagBitsEXT;
11180 typedef VkFlags VkToolPurposeFlagsEXT;
11181 typedef struct VkPhysicalDeviceToolPropertiesEXT {
11182 VkStructureType sType;
11184 char name[VK_MAX_EXTENSION_NAME_SIZE];
11185 char version[VK_MAX_EXTENSION_NAME_SIZE];
11186 VkToolPurposeFlagsEXT purposes;
11187 char description[VK_MAX_DESCRIPTION_SIZE];
11188 char layer[VK_MAX_EXTENSION_NAME_SIZE];
11189 } VkPhysicalDeviceToolPropertiesEXT;
11191 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceToolPropertiesEXT)(VkPhysicalDevice physicalDevice, uint32_t* pToolCount, VkPhysicalDeviceToolPropertiesEXT* pToolProperties);
11193 #ifndef VK_NO_PROTOTYPES
11194 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceToolPropertiesEXT(
11195 VkPhysicalDevice physicalDevice,
11196 uint32_t* pToolCount,
11197 VkPhysicalDeviceToolPropertiesEXT* pToolProperties);
11201 #define VK_EXT_separate_stencil_usage 1
11202 #define VK_EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION 1
11203 #define VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME "VK_EXT_separate_stencil_usage"
11204 typedef VkImageStencilUsageCreateInfo VkImageStencilUsageCreateInfoEXT;
11208 #define VK_EXT_validation_features 1
11209 #define VK_EXT_VALIDATION_FEATURES_SPEC_VERSION 5
11210 #define VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME "VK_EXT_validation_features"
11212 typedef enum VkValidationFeatureEnableEXT {
11213 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT = 0,
11214 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT = 1,
11215 VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT = 2,
11216 VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT = 3,
11217 VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT = 4,
11218 VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT = 0x7FFFFFFF
11219 } VkValidationFeatureEnableEXT;
11221 typedef enum VkValidationFeatureDisableEXT {
11222 VK_VALIDATION_FEATURE_DISABLE_ALL_EXT = 0,
11223 VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT = 1,
11224 VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT = 2,
11225 VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT = 3,
11226 VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT = 4,
11227 VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT = 5,
11228 VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT = 6,
11229 VK_VALIDATION_FEATURE_DISABLE_SHADER_VALIDATION_CACHE_EXT = 7,
11230 VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT = 0x7FFFFFFF
11231 } VkValidationFeatureDisableEXT;
11232 typedef struct VkValidationFeaturesEXT {
11233 VkStructureType sType;
11235 uint32_t enabledValidationFeatureCount;
11236 const VkValidationFeatureEnableEXT* pEnabledValidationFeatures;
11237 uint32_t disabledValidationFeatureCount;
11238 const VkValidationFeatureDisableEXT* pDisabledValidationFeatures;
11239 } VkValidationFeaturesEXT;
11243 #define VK_NV_cooperative_matrix 1
11244 #define VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION 1
11245 #define VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_NV_cooperative_matrix"
11247 typedef enum VkComponentTypeNV {
11248 VK_COMPONENT_TYPE_FLOAT16_NV = 0,
11249 VK_COMPONENT_TYPE_FLOAT32_NV = 1,
11250 VK_COMPONENT_TYPE_FLOAT64_NV = 2,
11251 VK_COMPONENT_TYPE_SINT8_NV = 3,
11252 VK_COMPONENT_TYPE_SINT16_NV = 4,
11253 VK_COMPONENT_TYPE_SINT32_NV = 5,
11254 VK_COMPONENT_TYPE_SINT64_NV = 6,
11255 VK_COMPONENT_TYPE_UINT8_NV = 7,
11256 VK_COMPONENT_TYPE_UINT16_NV = 8,
11257 VK_COMPONENT_TYPE_UINT32_NV = 9,
11258 VK_COMPONENT_TYPE_UINT64_NV = 10,
11259 VK_COMPONENT_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
11260 } VkComponentTypeNV;
11262 typedef enum VkScopeNV {
11263 VK_SCOPE_DEVICE_NV = 1,
11264 VK_SCOPE_WORKGROUP_NV = 2,
11265 VK_SCOPE_SUBGROUP_NV = 3,
11266 VK_SCOPE_QUEUE_FAMILY_NV = 5,
11267 VK_SCOPE_MAX_ENUM_NV = 0x7FFFFFFF
11269 typedef struct VkCooperativeMatrixPropertiesNV {
11270 VkStructureType sType;
11275 VkComponentTypeNV AType;
11276 VkComponentTypeNV BType;
11277 VkComponentTypeNV CType;
11278 VkComponentTypeNV DType;
11280 } VkCooperativeMatrixPropertiesNV;
11282 typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesNV {
11283 VkStructureType sType;
11285 VkBool32 cooperativeMatrix;
11286 VkBool32 cooperativeMatrixRobustBufferAccess;
11287 } VkPhysicalDeviceCooperativeMatrixFeaturesNV;
11289 typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesNV {
11290 VkStructureType sType;
11292 VkShaderStageFlags cooperativeMatrixSupportedStages;
11293 } VkPhysicalDeviceCooperativeMatrixPropertiesNV;
11295 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkCooperativeMatrixPropertiesNV* pProperties);
11297 #ifndef VK_NO_PROTOTYPES
11298 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(
11299 VkPhysicalDevice physicalDevice,
11300 uint32_t* pPropertyCount,
11301 VkCooperativeMatrixPropertiesNV* pProperties);
11305 #define VK_NV_coverage_reduction_mode 1
11306 #define VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION 1
11307 #define VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME "VK_NV_coverage_reduction_mode"
11309 typedef enum VkCoverageReductionModeNV {
11310 VK_COVERAGE_REDUCTION_MODE_MERGE_NV = 0,
11311 VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV = 1,
11312 VK_COVERAGE_REDUCTION_MODE_MAX_ENUM_NV = 0x7FFFFFFF
11313 } VkCoverageReductionModeNV;
11314 typedef VkFlags VkPipelineCoverageReductionStateCreateFlagsNV;
11315 typedef struct VkPhysicalDeviceCoverageReductionModeFeaturesNV {
11316 VkStructureType sType;
11318 VkBool32 coverageReductionMode;
11319 } VkPhysicalDeviceCoverageReductionModeFeaturesNV;
11321 typedef struct VkPipelineCoverageReductionStateCreateInfoNV {
11322 VkStructureType sType;
11324 VkPipelineCoverageReductionStateCreateFlagsNV flags;
11325 VkCoverageReductionModeNV coverageReductionMode;
11326 } VkPipelineCoverageReductionStateCreateInfoNV;
11328 typedef struct VkFramebufferMixedSamplesCombinationNV {
11329 VkStructureType sType;
11331 VkCoverageReductionModeNV coverageReductionMode;
11332 VkSampleCountFlagBits rasterizationSamples;
11333 VkSampleCountFlags depthStencilSamples;
11334 VkSampleCountFlags colorSamples;
11335 } VkFramebufferMixedSamplesCombinationNV;
11337 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV)(VkPhysicalDevice physicalDevice, uint32_t* pCombinationCount, VkFramebufferMixedSamplesCombinationNV* pCombinations);
11339 #ifndef VK_NO_PROTOTYPES
11340 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
11341 VkPhysicalDevice physicalDevice,
11342 uint32_t* pCombinationCount,
11343 VkFramebufferMixedSamplesCombinationNV* pCombinations);
11347 #define VK_EXT_fragment_shader_interlock 1
11348 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION 1
11349 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME "VK_EXT_fragment_shader_interlock"
11350 typedef struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT {
11351 VkStructureType sType;
11353 VkBool32 fragmentShaderSampleInterlock;
11354 VkBool32 fragmentShaderPixelInterlock;
11355 VkBool32 fragmentShaderShadingRateInterlock;
11356 } VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT;
11360 #define VK_EXT_ycbcr_image_arrays 1
11361 #define VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION 1
11362 #define VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME "VK_EXT_ycbcr_image_arrays"
11363 typedef struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT {
11364 VkStructureType sType;
11366 VkBool32 ycbcrImageArrays;
11367 } VkPhysicalDeviceYcbcrImageArraysFeaturesEXT;
11371 #define VK_EXT_provoking_vertex 1
11372 #define VK_EXT_PROVOKING_VERTEX_SPEC_VERSION 1
11373 #define VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME "VK_EXT_provoking_vertex"
11375 typedef enum VkProvokingVertexModeEXT {
11376 VK_PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT = 0,
11377 VK_PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT = 1,
11378 VK_PROVOKING_VERTEX_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
11379 } VkProvokingVertexModeEXT;
11380 typedef struct VkPhysicalDeviceProvokingVertexFeaturesEXT {
11381 VkStructureType sType;
11383 VkBool32 provokingVertexLast;
11384 VkBool32 transformFeedbackPreservesProvokingVertex;
11385 } VkPhysicalDeviceProvokingVertexFeaturesEXT;
11387 typedef struct VkPhysicalDeviceProvokingVertexPropertiesEXT {
11388 VkStructureType sType;
11390 VkBool32 provokingVertexModePerPipeline;
11391 VkBool32 transformFeedbackPreservesTriangleFanProvokingVertex;
11392 } VkPhysicalDeviceProvokingVertexPropertiesEXT;
11394 typedef struct VkPipelineRasterizationProvokingVertexStateCreateInfoEXT {
11395 VkStructureType sType;
11397 VkProvokingVertexModeEXT provokingVertexMode;
11398 } VkPipelineRasterizationProvokingVertexStateCreateInfoEXT;
11402 #define VK_EXT_headless_surface 1
11403 #define VK_EXT_HEADLESS_SURFACE_SPEC_VERSION 1
11404 #define VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME "VK_EXT_headless_surface"
11405 typedef VkFlags VkHeadlessSurfaceCreateFlagsEXT;
11406 typedef struct VkHeadlessSurfaceCreateInfoEXT {
11407 VkStructureType sType;
11409 VkHeadlessSurfaceCreateFlagsEXT flags;
11410 } VkHeadlessSurfaceCreateInfoEXT;
11412 typedef VkResult (VKAPI_PTR *PFN_vkCreateHeadlessSurfaceEXT)(VkInstance instance, const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
11414 #ifndef VK_NO_PROTOTYPES
11415 VKAPI_ATTR VkResult VKAPI_CALL vkCreateHeadlessSurfaceEXT(
11416 VkInstance instance,
11417 const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo,
11418 const VkAllocationCallbacks* pAllocator,
11419 VkSurfaceKHR* pSurface);
11423 #define VK_EXT_line_rasterization 1
11424 #define VK_EXT_LINE_RASTERIZATION_SPEC_VERSION 1
11425 #define VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME "VK_EXT_line_rasterization"
11427 typedef enum VkLineRasterizationModeEXT {
11428 VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT = 0,
11429 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT = 1,
11430 VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT = 2,
11431 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT = 3,
11432 VK_LINE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
11433 } VkLineRasterizationModeEXT;
11434 typedef struct VkPhysicalDeviceLineRasterizationFeaturesEXT {
11435 VkStructureType sType;
11437 VkBool32 rectangularLines;
11438 VkBool32 bresenhamLines;
11439 VkBool32 smoothLines;
11440 VkBool32 stippledRectangularLines;
11441 VkBool32 stippledBresenhamLines;
11442 VkBool32 stippledSmoothLines;
11443 } VkPhysicalDeviceLineRasterizationFeaturesEXT;
11445 typedef struct VkPhysicalDeviceLineRasterizationPropertiesEXT {
11446 VkStructureType sType;
11448 uint32_t lineSubPixelPrecisionBits;
11449 } VkPhysicalDeviceLineRasterizationPropertiesEXT;
11451 typedef struct VkPipelineRasterizationLineStateCreateInfoEXT {
11452 VkStructureType sType;
11454 VkLineRasterizationModeEXT lineRasterizationMode;
11455 VkBool32 stippledLineEnable;
11456 uint32_t lineStippleFactor;
11457 uint16_t lineStipplePattern;
11458 } VkPipelineRasterizationLineStateCreateInfoEXT;
11460 typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleEXT)(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern);
11462 #ifndef VK_NO_PROTOTYPES
11463 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleEXT(
11464 VkCommandBuffer commandBuffer,
11465 uint32_t lineStippleFactor,
11466 uint16_t lineStipplePattern);
11470 #define VK_EXT_shader_atomic_float 1
11471 #define VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION 1
11472 #define VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME "VK_EXT_shader_atomic_float"
11473 typedef struct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT {
11474 VkStructureType sType;
11476 VkBool32 shaderBufferFloat32Atomics;
11477 VkBool32 shaderBufferFloat32AtomicAdd;
11478 VkBool32 shaderBufferFloat64Atomics;
11479 VkBool32 shaderBufferFloat64AtomicAdd;
11480 VkBool32 shaderSharedFloat32Atomics;
11481 VkBool32 shaderSharedFloat32AtomicAdd;
11482 VkBool32 shaderSharedFloat64Atomics;
11483 VkBool32 shaderSharedFloat64AtomicAdd;
11484 VkBool32 shaderImageFloat32Atomics;
11485 VkBool32 shaderImageFloat32AtomicAdd;
11486 VkBool32 sparseImageFloat32Atomics;
11487 VkBool32 sparseImageFloat32AtomicAdd;
11488 } VkPhysicalDeviceShaderAtomicFloatFeaturesEXT;
11492 #define VK_EXT_host_query_reset 1
11493 #define VK_EXT_HOST_QUERY_RESET_SPEC_VERSION 1
11494 #define VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME "VK_EXT_host_query_reset"
11495 typedef VkPhysicalDeviceHostQueryResetFeatures VkPhysicalDeviceHostQueryResetFeaturesEXT;
11497 typedef void (VKAPI_PTR *PFN_vkResetQueryPoolEXT)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount);
11499 #ifndef VK_NO_PROTOTYPES
11500 VKAPI_ATTR void VKAPI_CALL vkResetQueryPoolEXT(
11502 VkQueryPool queryPool,
11503 uint32_t firstQuery,
11504 uint32_t queryCount);
11508 #define VK_EXT_index_type_uint8 1
11509 #define VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION 1
11510 #define VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_EXT_index_type_uint8"
11511 typedef struct VkPhysicalDeviceIndexTypeUint8FeaturesEXT {
11512 VkStructureType sType;
11514 VkBool32 indexTypeUint8;
11515 } VkPhysicalDeviceIndexTypeUint8FeaturesEXT;
11519 #define VK_EXT_extended_dynamic_state 1
11520 #define VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION 1
11521 #define VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_extended_dynamic_state"
11522 typedef struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT {
11523 VkStructureType sType;
11525 VkBool32 extendedDynamicState;
11526 } VkPhysicalDeviceExtendedDynamicStateFeaturesEXT;
11528 typedef void (VKAPI_PTR *PFN_vkCmdSetCullModeEXT)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode);
11529 typedef void (VKAPI_PTR *PFN_vkCmdSetFrontFaceEXT)(VkCommandBuffer commandBuffer, VkFrontFace frontFace);
11530 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveTopologyEXT)(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology);
11531 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWithCountEXT)(VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport* pViewports);
11532 typedef void (VKAPI_PTR *PFN_vkCmdSetScissorWithCountEXT)(VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D* pScissors);
11533 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);
11534 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable);
11535 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthWriteEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable);
11536 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthCompareOpEXT)(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp);
11537 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBoundsTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable);
11538 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable);
11539 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilOpEXT)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp);
11541 #ifndef VK_NO_PROTOTYPES
11542 VKAPI_ATTR void VKAPI_CALL vkCmdSetCullModeEXT(
11543 VkCommandBuffer commandBuffer,
11544 VkCullModeFlags cullMode);
11546 VKAPI_ATTR void VKAPI_CALL vkCmdSetFrontFaceEXT(
11547 VkCommandBuffer commandBuffer,
11548 VkFrontFace frontFace);
11550 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveTopologyEXT(
11551 VkCommandBuffer commandBuffer,
11552 VkPrimitiveTopology primitiveTopology);
11554 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWithCountEXT(
11555 VkCommandBuffer commandBuffer,
11556 uint32_t viewportCount,
11557 const VkViewport* pViewports);
11559 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissorWithCountEXT(
11560 VkCommandBuffer commandBuffer,
11561 uint32_t scissorCount,
11562 const VkRect2D* pScissors);
11564 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers2EXT(
11565 VkCommandBuffer commandBuffer,
11566 uint32_t firstBinding,
11567 uint32_t bindingCount,
11568 const VkBuffer* pBuffers,
11569 const VkDeviceSize* pOffsets,
11570 const VkDeviceSize* pSizes,
11571 const VkDeviceSize* pStrides);
11573 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthTestEnableEXT(
11574 VkCommandBuffer commandBuffer,
11575 VkBool32 depthTestEnable);
11577 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthWriteEnableEXT(
11578 VkCommandBuffer commandBuffer,
11579 VkBool32 depthWriteEnable);
11581 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthCompareOpEXT(
11582 VkCommandBuffer commandBuffer,
11583 VkCompareOp depthCompareOp);
11585 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBoundsTestEnableEXT(
11586 VkCommandBuffer commandBuffer,
11587 VkBool32 depthBoundsTestEnable);
11589 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilTestEnableEXT(
11590 VkCommandBuffer commandBuffer,
11591 VkBool32 stencilTestEnable);
11593 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilOpEXT(
11594 VkCommandBuffer commandBuffer,
11595 VkStencilFaceFlags faceMask,
11596 VkStencilOp failOp,
11597 VkStencilOp passOp,
11598 VkStencilOp depthFailOp,
11599 VkCompareOp compareOp);
11603 #define VK_EXT_shader_demote_to_helper_invocation 1
11604 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION 1
11605 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME "VK_EXT_shader_demote_to_helper_invocation"
11606 typedef struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT {
11607 VkStructureType sType;
11609 VkBool32 shaderDemoteToHelperInvocation;
11610 } VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT;
11614 #define VK_NV_device_generated_commands 1
11615 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutNV)
11616 #define VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION 3
11617 #define VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_NV_device_generated_commands"
11619 typedef enum VkIndirectCommandsTokenTypeNV {
11620 VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV = 0,
11621 VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV = 1,
11622 VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV = 2,
11623 VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV = 3,
11624 VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV = 4,
11625 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV = 5,
11626 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV = 6,
11627 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV = 7,
11628 VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
11629 } VkIndirectCommandsTokenTypeNV;
11631 typedef enum VkIndirectStateFlagBitsNV {
11632 VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV = 0x00000001,
11633 VK_INDIRECT_STATE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
11634 } VkIndirectStateFlagBitsNV;
11635 typedef VkFlags VkIndirectStateFlagsNV;
11637 typedef enum VkIndirectCommandsLayoutUsageFlagBitsNV {
11638 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV = 0x00000001,
11639 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV = 0x00000002,
11640 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV = 0x00000004,
11641 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
11642 } VkIndirectCommandsLayoutUsageFlagBitsNV;
11643 typedef VkFlags VkIndirectCommandsLayoutUsageFlagsNV;
11644 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
11645 VkStructureType sType;
11647 uint32_t maxGraphicsShaderGroupCount;
11648 uint32_t maxIndirectSequenceCount;
11649 uint32_t maxIndirectCommandsTokenCount;
11650 uint32_t maxIndirectCommandsStreamCount;
11651 uint32_t maxIndirectCommandsTokenOffset;
11652 uint32_t maxIndirectCommandsStreamStride;
11653 uint32_t minSequencesCountBufferOffsetAlignment;
11654 uint32_t minSequencesIndexBufferOffsetAlignment;
11655 uint32_t minIndirectCommandsBufferOffsetAlignment;
11656 } VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV;
11658 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
11659 VkStructureType sType;
11661 VkBool32 deviceGeneratedCommands;
11662 } VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV;
11664 typedef struct VkGraphicsShaderGroupCreateInfoNV {
11665 VkStructureType sType;
11667 uint32_t stageCount;
11668 const VkPipelineShaderStageCreateInfo* pStages;
11669 const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
11670 const VkPipelineTessellationStateCreateInfo* pTessellationState;
11671 } VkGraphicsShaderGroupCreateInfoNV;
11673 typedef struct VkGraphicsPipelineShaderGroupsCreateInfoNV {
11674 VkStructureType sType;
11676 uint32_t groupCount;
11677 const VkGraphicsShaderGroupCreateInfoNV* pGroups;
11678 uint32_t pipelineCount;
11679 const VkPipeline* pPipelines;
11680 } VkGraphicsPipelineShaderGroupsCreateInfoNV;
11682 typedef struct VkBindShaderGroupIndirectCommandNV {
11683 uint32_t groupIndex;
11684 } VkBindShaderGroupIndirectCommandNV;
11686 typedef struct VkBindIndexBufferIndirectCommandNV {
11687 VkDeviceAddress bufferAddress;
11689 VkIndexType indexType;
11690 } VkBindIndexBufferIndirectCommandNV;
11692 typedef struct VkBindVertexBufferIndirectCommandNV {
11693 VkDeviceAddress bufferAddress;
11696 } VkBindVertexBufferIndirectCommandNV;
11698 typedef struct VkSetStateFlagsIndirectCommandNV {
11700 } VkSetStateFlagsIndirectCommandNV;
11702 typedef struct VkIndirectCommandsStreamNV {
11704 VkDeviceSize offset;
11705 } VkIndirectCommandsStreamNV;
11707 typedef struct VkIndirectCommandsLayoutTokenNV {
11708 VkStructureType sType;
11710 VkIndirectCommandsTokenTypeNV tokenType;
11713 uint32_t vertexBindingUnit;
11714 VkBool32 vertexDynamicStride;
11715 VkPipelineLayout pushconstantPipelineLayout;
11716 VkShaderStageFlags pushconstantShaderStageFlags;
11717 uint32_t pushconstantOffset;
11718 uint32_t pushconstantSize;
11719 VkIndirectStateFlagsNV indirectStateFlags;
11720 uint32_t indexTypeCount;
11721 const VkIndexType* pIndexTypes;
11722 const uint32_t* pIndexTypeValues;
11723 } VkIndirectCommandsLayoutTokenNV;
11725 typedef struct VkIndirectCommandsLayoutCreateInfoNV {
11726 VkStructureType sType;
11728 VkIndirectCommandsLayoutUsageFlagsNV flags;
11729 VkPipelineBindPoint pipelineBindPoint;
11730 uint32_t tokenCount;
11731 const VkIndirectCommandsLayoutTokenNV* pTokens;
11732 uint32_t streamCount;
11733 const uint32_t* pStreamStrides;
11734 } VkIndirectCommandsLayoutCreateInfoNV;
11736 typedef struct VkGeneratedCommandsInfoNV {
11737 VkStructureType sType;
11739 VkPipelineBindPoint pipelineBindPoint;
11740 VkPipeline pipeline;
11741 VkIndirectCommandsLayoutNV indirectCommandsLayout;
11742 uint32_t streamCount;
11743 const VkIndirectCommandsStreamNV* pStreams;
11744 uint32_t sequencesCount;
11745 VkBuffer preprocessBuffer;
11746 VkDeviceSize preprocessOffset;
11747 VkDeviceSize preprocessSize;
11748 VkBuffer sequencesCountBuffer;
11749 VkDeviceSize sequencesCountOffset;
11750 VkBuffer sequencesIndexBuffer;
11751 VkDeviceSize sequencesIndexOffset;
11752 } VkGeneratedCommandsInfoNV;
11754 typedef struct VkGeneratedCommandsMemoryRequirementsInfoNV {
11755 VkStructureType sType;
11757 VkPipelineBindPoint pipelineBindPoint;
11758 VkPipeline pipeline;
11759 VkIndirectCommandsLayoutNV indirectCommandsLayout;
11760 uint32_t maxSequencesCount;
11761 } VkGeneratedCommandsMemoryRequirementsInfoNV;
11763 typedef void (VKAPI_PTR *PFN_vkGetGeneratedCommandsMemoryRequirementsNV)(VkDevice device, const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2* pMemoryRequirements);
11764 typedef void (VKAPI_PTR *PFN_vkCmdPreprocessGeneratedCommandsNV)(VkCommandBuffer commandBuffer, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
11765 typedef void (VKAPI_PTR *PFN_vkCmdExecuteGeneratedCommandsNV)(VkCommandBuffer commandBuffer, VkBool32 isPreprocessed, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
11766 typedef void (VKAPI_PTR *PFN_vkCmdBindPipelineShaderGroupNV)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline, uint32_t groupIndex);
11767 typedef VkResult (VKAPI_PTR *PFN_vkCreateIndirectCommandsLayoutNV)(VkDevice device, const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNV* pIndirectCommandsLayout);
11768 typedef void (VKAPI_PTR *PFN_vkDestroyIndirectCommandsLayoutNV)(VkDevice device, VkIndirectCommandsLayoutNV indirectCommandsLayout, const VkAllocationCallbacks* pAllocator);
11770 #ifndef VK_NO_PROTOTYPES
11771 VKAPI_ATTR void VKAPI_CALL vkGetGeneratedCommandsMemoryRequirementsNV(
11773 const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo,
11774 VkMemoryRequirements2* pMemoryRequirements);
11776 VKAPI_ATTR void VKAPI_CALL vkCmdPreprocessGeneratedCommandsNV(
11777 VkCommandBuffer commandBuffer,
11778 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
11780 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteGeneratedCommandsNV(
11781 VkCommandBuffer commandBuffer,
11782 VkBool32 isPreprocessed,
11783 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
11785 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipelineShaderGroupNV(
11786 VkCommandBuffer commandBuffer,
11787 VkPipelineBindPoint pipelineBindPoint,
11788 VkPipeline pipeline,
11789 uint32_t groupIndex);
11791 VKAPI_ATTR VkResult VKAPI_CALL vkCreateIndirectCommandsLayoutNV(
11793 const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo,
11794 const VkAllocationCallbacks* pAllocator,
11795 VkIndirectCommandsLayoutNV* pIndirectCommandsLayout);
11797 VKAPI_ATTR void VKAPI_CALL vkDestroyIndirectCommandsLayoutNV(
11799 VkIndirectCommandsLayoutNV indirectCommandsLayout,
11800 const VkAllocationCallbacks* pAllocator);
11804 #define VK_NV_inherited_viewport_scissor 1
11805 #define VK_NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION 1
11806 #define VK_NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME "VK_NV_inherited_viewport_scissor"
11807 typedef struct VkPhysicalDeviceInheritedViewportScissorFeaturesNV {
11808 VkStructureType sType;
11810 VkBool32 inheritedViewportScissor2D;
11811 } VkPhysicalDeviceInheritedViewportScissorFeaturesNV;
11813 typedef struct VkCommandBufferInheritanceViewportScissorInfoNV {
11814 VkStructureType sType;
11816 VkBool32 viewportScissor2D;
11817 uint32_t viewportDepthCount;
11818 const VkViewport* pViewportDepths;
11819 } VkCommandBufferInheritanceViewportScissorInfoNV;
11823 #define VK_EXT_texel_buffer_alignment 1
11824 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION 1
11825 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME "VK_EXT_texel_buffer_alignment"
11826 typedef struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT {
11827 VkStructureType sType;
11829 VkBool32 texelBufferAlignment;
11830 } VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT;
11832 typedef struct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT {
11833 VkStructureType sType;
11835 VkDeviceSize storageTexelBufferOffsetAlignmentBytes;
11836 VkBool32 storageTexelBufferOffsetSingleTexelAlignment;
11837 VkDeviceSize uniformTexelBufferOffsetAlignmentBytes;
11838 VkBool32 uniformTexelBufferOffsetSingleTexelAlignment;
11839 } VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT;
11843 #define VK_QCOM_render_pass_transform 1
11844 #define VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION 2
11845 #define VK_QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME "VK_QCOM_render_pass_transform"
11846 typedef struct VkRenderPassTransformBeginInfoQCOM {
11847 VkStructureType sType;
11849 VkSurfaceTransformFlagBitsKHR transform;
11850 } VkRenderPassTransformBeginInfoQCOM;
11852 typedef struct VkCommandBufferInheritanceRenderPassTransformInfoQCOM {
11853 VkStructureType sType;
11855 VkSurfaceTransformFlagBitsKHR transform;
11856 VkRect2D renderArea;
11857 } VkCommandBufferInheritanceRenderPassTransformInfoQCOM;
11861 #define VK_EXT_device_memory_report 1
11862 #define VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION 2
11863 #define VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME "VK_EXT_device_memory_report"
11865 typedef enum VkDeviceMemoryReportEventTypeEXT {
11866 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT = 0,
11867 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT = 1,
11868 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT = 2,
11869 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT = 3,
11870 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT = 4,
11871 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
11872 } VkDeviceMemoryReportEventTypeEXT;
11873 typedef VkFlags VkDeviceMemoryReportFlagsEXT;
11874 typedef struct VkPhysicalDeviceDeviceMemoryReportFeaturesEXT {
11875 VkStructureType sType;
11877 VkBool32 deviceMemoryReport;
11878 } VkPhysicalDeviceDeviceMemoryReportFeaturesEXT;
11880 typedef struct VkDeviceMemoryReportCallbackDataEXT {
11881 VkStructureType sType;
11883 VkDeviceMemoryReportFlagsEXT flags;
11884 VkDeviceMemoryReportEventTypeEXT type;
11885 uint64_t memoryObjectId;
11887 VkObjectType objectType;
11888 uint64_t objectHandle;
11889 uint32_t heapIndex;
11890 } VkDeviceMemoryReportCallbackDataEXT;
11892 typedef void (VKAPI_PTR *PFN_vkDeviceMemoryReportCallbackEXT)(
11893 const VkDeviceMemoryReportCallbackDataEXT* pCallbackData,
11896 typedef struct VkDeviceDeviceMemoryReportCreateInfoEXT {
11897 VkStructureType sType;
11899 VkDeviceMemoryReportFlagsEXT flags;
11900 PFN_vkDeviceMemoryReportCallbackEXT pfnUserCallback;
11902 } VkDeviceDeviceMemoryReportCreateInfoEXT;
11906 #define VK_EXT_acquire_drm_display 1
11907 #define VK_EXT_ACQUIRE_DRM_DISPLAY_SPEC_VERSION 1
11908 #define VK_EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME "VK_EXT_acquire_drm_display"
11909 typedef VkResult (VKAPI_PTR *PFN_vkAcquireDrmDisplayEXT)(VkPhysicalDevice physicalDevice, int32_t drmFd, VkDisplayKHR display);
11910 typedef VkResult (VKAPI_PTR *PFN_vkGetDrmDisplayEXT)(VkPhysicalDevice physicalDevice, int32_t drmFd, uint32_t connectorId, VkDisplayKHR* display);
11912 #ifndef VK_NO_PROTOTYPES
11913 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireDrmDisplayEXT(
11914 VkPhysicalDevice physicalDevice,
11916 VkDisplayKHR display);
11918 VKAPI_ATTR VkResult VKAPI_CALL vkGetDrmDisplayEXT(
11919 VkPhysicalDevice physicalDevice,
11921 uint32_t connectorId,
11922 VkDisplayKHR* display);
11926 #define VK_EXT_robustness2 1
11927 #define VK_EXT_ROBUSTNESS_2_SPEC_VERSION 1
11928 #define VK_EXT_ROBUSTNESS_2_EXTENSION_NAME "VK_EXT_robustness2"
11929 typedef struct VkPhysicalDeviceRobustness2FeaturesEXT {
11930 VkStructureType sType;
11932 VkBool32 robustBufferAccess2;
11933 VkBool32 robustImageAccess2;
11934 VkBool32 nullDescriptor;
11935 } VkPhysicalDeviceRobustness2FeaturesEXT;
11937 typedef struct VkPhysicalDeviceRobustness2PropertiesEXT {
11938 VkStructureType sType;
11940 VkDeviceSize robustStorageBufferAccessSizeAlignment;
11941 VkDeviceSize robustUniformBufferAccessSizeAlignment;
11942 } VkPhysicalDeviceRobustness2PropertiesEXT;
11946 #define VK_EXT_custom_border_color 1
11947 #define VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION 12
11948 #define VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME "VK_EXT_custom_border_color"
11949 typedef struct VkSamplerCustomBorderColorCreateInfoEXT {
11950 VkStructureType sType;
11952 VkClearColorValue customBorderColor;
11954 } VkSamplerCustomBorderColorCreateInfoEXT;
11956 typedef struct VkPhysicalDeviceCustomBorderColorPropertiesEXT {
11957 VkStructureType sType;
11959 uint32_t maxCustomBorderColorSamplers;
11960 } VkPhysicalDeviceCustomBorderColorPropertiesEXT;
11962 typedef struct VkPhysicalDeviceCustomBorderColorFeaturesEXT {
11963 VkStructureType sType;
11965 VkBool32 customBorderColors;
11966 VkBool32 customBorderColorWithoutFormat;
11967 } VkPhysicalDeviceCustomBorderColorFeaturesEXT;
11971 #define VK_GOOGLE_user_type 1
11972 #define VK_GOOGLE_USER_TYPE_SPEC_VERSION 1
11973 #define VK_GOOGLE_USER_TYPE_EXTENSION_NAME "VK_GOOGLE_user_type"
11976 #define VK_EXT_private_data 1
11977 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPrivateDataSlotEXT)
11978 #define VK_EXT_PRIVATE_DATA_SPEC_VERSION 1
11979 #define VK_EXT_PRIVATE_DATA_EXTENSION_NAME "VK_EXT_private_data"
11981 typedef enum VkPrivateDataSlotCreateFlagBitsEXT {
11982 VK_PRIVATE_DATA_SLOT_CREATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
11983 } VkPrivateDataSlotCreateFlagBitsEXT;
11984 typedef VkFlags VkPrivateDataSlotCreateFlagsEXT;
11985 typedef struct VkPhysicalDevicePrivateDataFeaturesEXT {
11986 VkStructureType sType;
11988 VkBool32 privateData;
11989 } VkPhysicalDevicePrivateDataFeaturesEXT;
11991 typedef struct VkDevicePrivateDataCreateInfoEXT {
11992 VkStructureType sType;
11994 uint32_t privateDataSlotRequestCount;
11995 } VkDevicePrivateDataCreateInfoEXT;
11997 typedef struct VkPrivateDataSlotCreateInfoEXT {
11998 VkStructureType sType;
12000 VkPrivateDataSlotCreateFlagsEXT flags;
12001 } VkPrivateDataSlotCreateInfoEXT;
12003 typedef VkResult (VKAPI_PTR *PFN_vkCreatePrivateDataSlotEXT)(VkDevice device, const VkPrivateDataSlotCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlotEXT* pPrivateDataSlot);
12004 typedef void (VKAPI_PTR *PFN_vkDestroyPrivateDataSlotEXT)(VkDevice device, VkPrivateDataSlotEXT privateDataSlot, const VkAllocationCallbacks* pAllocator);
12005 typedef VkResult (VKAPI_PTR *PFN_vkSetPrivateDataEXT)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlotEXT privateDataSlot, uint64_t data);
12006 typedef void (VKAPI_PTR *PFN_vkGetPrivateDataEXT)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlotEXT privateDataSlot, uint64_t* pData);
12008 #ifndef VK_NO_PROTOTYPES
12009 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePrivateDataSlotEXT(
12011 const VkPrivateDataSlotCreateInfoEXT* pCreateInfo,
12012 const VkAllocationCallbacks* pAllocator,
12013 VkPrivateDataSlotEXT* pPrivateDataSlot);
12015 VKAPI_ATTR void VKAPI_CALL vkDestroyPrivateDataSlotEXT(
12017 VkPrivateDataSlotEXT privateDataSlot,
12018 const VkAllocationCallbacks* pAllocator);
12020 VKAPI_ATTR VkResult VKAPI_CALL vkSetPrivateDataEXT(
12022 VkObjectType objectType,
12023 uint64_t objectHandle,
12024 VkPrivateDataSlotEXT privateDataSlot,
12027 VKAPI_ATTR void VKAPI_CALL vkGetPrivateDataEXT(
12029 VkObjectType objectType,
12030 uint64_t objectHandle,
12031 VkPrivateDataSlotEXT privateDataSlot,
12036 #define VK_EXT_pipeline_creation_cache_control 1
12037 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION 3
12038 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME "VK_EXT_pipeline_creation_cache_control"
12039 typedef struct VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT {
12040 VkStructureType sType;
12042 VkBool32 pipelineCreationCacheControl;
12043 } VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT;
12047 #define VK_NV_device_diagnostics_config 1
12048 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION 1
12049 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME "VK_NV_device_diagnostics_config"
12051 typedef enum VkDeviceDiagnosticsConfigFlagBitsNV {
12052 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV = 0x00000001,
12053 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV = 0x00000002,
12054 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV = 0x00000004,
12055 VK_DEVICE_DIAGNOSTICS_CONFIG_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
12056 } VkDeviceDiagnosticsConfigFlagBitsNV;
12057 typedef VkFlags VkDeviceDiagnosticsConfigFlagsNV;
12058 typedef struct VkPhysicalDeviceDiagnosticsConfigFeaturesNV {
12059 VkStructureType sType;
12061 VkBool32 diagnosticsConfig;
12062 } VkPhysicalDeviceDiagnosticsConfigFeaturesNV;
12064 typedef struct VkDeviceDiagnosticsConfigCreateInfoNV {
12065 VkStructureType sType;
12067 VkDeviceDiagnosticsConfigFlagsNV flags;
12068 } VkDeviceDiagnosticsConfigCreateInfoNV;
12072 #define VK_QCOM_render_pass_store_ops 1
12073 #define VK_QCOM_RENDER_PASS_STORE_OPS_SPEC_VERSION 2
12074 #define VK_QCOM_RENDER_PASS_STORE_OPS_EXTENSION_NAME "VK_QCOM_render_pass_store_ops"
12077 #define VK_NV_fragment_shading_rate_enums 1
12078 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION 1
12079 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME "VK_NV_fragment_shading_rate_enums"
12081 typedef enum VkFragmentShadingRateTypeNV {
12082 VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV = 0,
12083 VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV = 1,
12084 VK_FRAGMENT_SHADING_RATE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
12085 } VkFragmentShadingRateTypeNV;
12087 typedef enum VkFragmentShadingRateNV {
12088 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV = 0,
12089 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV = 1,
12090 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV = 4,
12091 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV = 5,
12092 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV = 6,
12093 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV = 9,
12094 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV = 10,
12095 VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV = 11,
12096 VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV = 12,
12097 VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV = 13,
12098 VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV = 14,
12099 VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV = 15,
12100 VK_FRAGMENT_SHADING_RATE_MAX_ENUM_NV = 0x7FFFFFFF
12101 } VkFragmentShadingRateNV;
12102 typedef struct VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV {
12103 VkStructureType sType;
12105 VkBool32 fragmentShadingRateEnums;
12106 VkBool32 supersampleFragmentShadingRates;
12107 VkBool32 noInvocationFragmentShadingRates;
12108 } VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV;
12110 typedef struct VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV {
12111 VkStructureType sType;
12113 VkSampleCountFlagBits maxFragmentShadingRateInvocationCount;
12114 } VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV;
12116 typedef struct VkPipelineFragmentShadingRateEnumStateCreateInfoNV {
12117 VkStructureType sType;
12119 VkFragmentShadingRateTypeNV shadingRateType;
12120 VkFragmentShadingRateNV shadingRate;
12121 VkFragmentShadingRateCombinerOpKHR combinerOps[2];
12122 } VkPipelineFragmentShadingRateEnumStateCreateInfoNV;
12124 typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateEnumNV)(VkCommandBuffer commandBuffer, VkFragmentShadingRateNV shadingRate, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
12126 #ifndef VK_NO_PROTOTYPES
12127 VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateEnumNV(
12128 VkCommandBuffer commandBuffer,
12129 VkFragmentShadingRateNV shadingRate,
12130 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
12134 #define VK_NV_ray_tracing_motion_blur 1
12135 #define VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION 1
12136 #define VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME "VK_NV_ray_tracing_motion_blur"
12138 typedef enum VkAccelerationStructureMotionInstanceTypeNV {
12139 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_STATIC_NV = 0,
12140 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MATRIX_MOTION_NV = 1,
12141 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_SRT_MOTION_NV = 2,
12142 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
12143 } VkAccelerationStructureMotionInstanceTypeNV;
12144 typedef VkFlags VkAccelerationStructureMotionInfoFlagsNV;
12145 typedef VkFlags VkAccelerationStructureMotionInstanceFlagsNV;
12146 typedef union VkDeviceOrHostAddressConstKHR {
12147 VkDeviceAddress deviceAddress;
12148 const void* hostAddress;
12149 } VkDeviceOrHostAddressConstKHR;
12151 typedef struct VkAccelerationStructureGeometryMotionTrianglesDataNV {
12152 VkStructureType sType;
12154 VkDeviceOrHostAddressConstKHR vertexData;
12155 } VkAccelerationStructureGeometryMotionTrianglesDataNV;
12157 typedef struct VkAccelerationStructureMotionInfoNV {
12158 VkStructureType sType;
12160 uint32_t maxInstances;
12161 VkAccelerationStructureMotionInfoFlagsNV flags;
12162 } VkAccelerationStructureMotionInfoNV;
12164 typedef struct VkAccelerationStructureMatrixMotionInstanceNV {
12165 VkTransformMatrixKHR transformT0;
12166 VkTransformMatrixKHR transformT1;
12167 uint32_t instanceCustomIndex:24;
12169 uint32_t instanceShaderBindingTableRecordOffset:24;
12170 VkGeometryInstanceFlagsKHR flags:8;
12171 uint64_t accelerationStructureReference;
12172 } VkAccelerationStructureMatrixMotionInstanceNV;
12174 typedef struct VkSRTDataNV {
12193 typedef struct VkAccelerationStructureSRTMotionInstanceNV {
12194 VkSRTDataNV transformT0;
12195 VkSRTDataNV transformT1;
12196 uint32_t instanceCustomIndex:24;
12198 uint32_t instanceShaderBindingTableRecordOffset:24;
12199 VkGeometryInstanceFlagsKHR flags:8;
12200 uint64_t accelerationStructureReference;
12201 } VkAccelerationStructureSRTMotionInstanceNV;
12203 typedef union VkAccelerationStructureMotionInstanceDataNV {
12204 VkAccelerationStructureInstanceKHR staticInstance;
12205 VkAccelerationStructureMatrixMotionInstanceNV matrixMotionInstance;
12206 VkAccelerationStructureSRTMotionInstanceNV srtMotionInstance;
12207 } VkAccelerationStructureMotionInstanceDataNV;
12209 typedef struct VkAccelerationStructureMotionInstanceNV {
12210 VkAccelerationStructureMotionInstanceTypeNV type;
12211 VkAccelerationStructureMotionInstanceFlagsNV flags;
12212 VkAccelerationStructureMotionInstanceDataNV data;
12213 } VkAccelerationStructureMotionInstanceNV;
12215 typedef struct VkPhysicalDeviceRayTracingMotionBlurFeaturesNV {
12216 VkStructureType sType;
12218 VkBool32 rayTracingMotionBlur;
12219 VkBool32 rayTracingMotionBlurPipelineTraceRaysIndirect;
12220 } VkPhysicalDeviceRayTracingMotionBlurFeaturesNV;
12224 #define VK_EXT_ycbcr_2plane_444_formats 1
12225 #define VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION 1
12226 #define VK_EXT_YCBCR_2PLANE_444_FORMATS_EXTENSION_NAME "VK_EXT_ycbcr_2plane_444_formats"
12227 typedef struct VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT {
12228 VkStructureType sType;
12230 VkBool32 ycbcr2plane444Formats;
12231 } VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT;
12235 #define VK_EXT_fragment_density_map2 1
12236 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION 1
12237 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME "VK_EXT_fragment_density_map2"
12238 typedef struct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT {
12239 VkStructureType sType;
12241 VkBool32 fragmentDensityMapDeferred;
12242 } VkPhysicalDeviceFragmentDensityMap2FeaturesEXT;
12244 typedef struct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT {
12245 VkStructureType sType;
12247 VkBool32 subsampledLoads;
12248 VkBool32 subsampledCoarseReconstructionEarlyAccess;
12249 uint32_t maxSubsampledArrayLayers;
12250 uint32_t maxDescriptorSetSubsampledSamplers;
12251 } VkPhysicalDeviceFragmentDensityMap2PropertiesEXT;
12255 #define VK_QCOM_rotated_copy_commands 1
12256 #define VK_QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION 1
12257 #define VK_QCOM_ROTATED_COPY_COMMANDS_EXTENSION_NAME "VK_QCOM_rotated_copy_commands"
12258 typedef struct VkCopyCommandTransformInfoQCOM {
12259 VkStructureType sType;
12261 VkSurfaceTransformFlagBitsKHR transform;
12262 } VkCopyCommandTransformInfoQCOM;
12266 #define VK_EXT_image_robustness 1
12267 #define VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION 1
12268 #define VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_image_robustness"
12269 typedef struct VkPhysicalDeviceImageRobustnessFeaturesEXT {
12270 VkStructureType sType;
12272 VkBool32 robustImageAccess;
12273 } VkPhysicalDeviceImageRobustnessFeaturesEXT;
12277 #define VK_EXT_4444_formats 1
12278 #define VK_EXT_4444_FORMATS_SPEC_VERSION 1
12279 #define VK_EXT_4444_FORMATS_EXTENSION_NAME "VK_EXT_4444_formats"
12280 typedef struct VkPhysicalDevice4444FormatsFeaturesEXT {
12281 VkStructureType sType;
12283 VkBool32 formatA4R4G4B4;
12284 VkBool32 formatA4B4G4R4;
12285 } VkPhysicalDevice4444FormatsFeaturesEXT;
12289 #define VK_NV_acquire_winrt_display 1
12290 #define VK_NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION 1
12291 #define VK_NV_ACQUIRE_WINRT_DISPLAY_EXTENSION_NAME "VK_NV_acquire_winrt_display"
12292 typedef VkResult (VKAPI_PTR *PFN_vkAcquireWinrtDisplayNV)(VkPhysicalDevice physicalDevice, VkDisplayKHR display);
12293 typedef VkResult (VKAPI_PTR *PFN_vkGetWinrtDisplayNV)(VkPhysicalDevice physicalDevice, uint32_t deviceRelativeId, VkDisplayKHR* pDisplay);
12295 #ifndef VK_NO_PROTOTYPES
12296 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireWinrtDisplayNV(
12297 VkPhysicalDevice physicalDevice,
12298 VkDisplayKHR display);
12300 VKAPI_ATTR VkResult VKAPI_CALL vkGetWinrtDisplayNV(
12301 VkPhysicalDevice physicalDevice,
12302 uint32_t deviceRelativeId,
12303 VkDisplayKHR* pDisplay);
12307 #define VK_VALVE_mutable_descriptor_type 1
12308 #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION 1
12309 #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME "VK_VALVE_mutable_descriptor_type"
12310 typedef struct VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE {
12311 VkStructureType sType;
12313 VkBool32 mutableDescriptorType;
12314 } VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE;
12316 typedef struct VkMutableDescriptorTypeListVALVE {
12317 uint32_t descriptorTypeCount;
12318 const VkDescriptorType* pDescriptorTypes;
12319 } VkMutableDescriptorTypeListVALVE;
12321 typedef struct VkMutableDescriptorTypeCreateInfoVALVE {
12322 VkStructureType sType;
12324 uint32_t mutableDescriptorTypeListCount;
12325 const VkMutableDescriptorTypeListVALVE* pMutableDescriptorTypeLists;
12326 } VkMutableDescriptorTypeCreateInfoVALVE;
12330 #define VK_EXT_vertex_input_dynamic_state 1
12331 #define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION 2
12332 #define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_vertex_input_dynamic_state"
12333 typedef struct VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT {
12334 VkStructureType sType;
12336 VkBool32 vertexInputDynamicState;
12337 } VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT;
12339 typedef struct VkVertexInputBindingDescription2EXT {
12340 VkStructureType sType;
12344 VkVertexInputRate inputRate;
12346 } VkVertexInputBindingDescription2EXT;
12348 typedef struct VkVertexInputAttributeDescription2EXT {
12349 VkStructureType sType;
12355 } VkVertexInputAttributeDescription2EXT;
12357 typedef void (VKAPI_PTR *PFN_vkCmdSetVertexInputEXT)(VkCommandBuffer commandBuffer, uint32_t vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, uint32_t vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions);
12359 #ifndef VK_NO_PROTOTYPES
12360 VKAPI_ATTR void VKAPI_CALL vkCmdSetVertexInputEXT(
12361 VkCommandBuffer commandBuffer,
12362 uint32_t vertexBindingDescriptionCount,
12363 const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions,
12364 uint32_t vertexAttributeDescriptionCount,
12365 const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions);
12369 #define VK_EXT_physical_device_drm 1
12370 #define VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION 1
12371 #define VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME "VK_EXT_physical_device_drm"
12372 typedef struct VkPhysicalDeviceDrmPropertiesEXT {
12373 VkStructureType sType;
12375 VkBool32 hasPrimary;
12376 VkBool32 hasRender;
12377 int64_t primaryMajor;
12378 int64_t primaryMinor;
12379 int64_t renderMajor;
12380 int64_t renderMinor;
12381 } VkPhysicalDeviceDrmPropertiesEXT;
12385 #define VK_HUAWEI_subpass_shading 1
12386 #define VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION 2
12387 #define VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME "VK_HUAWEI_subpass_shading"
12388 typedef struct VkSubpassShadingPipelineCreateInfoHUAWEI {
12389 VkStructureType sType;
12391 VkRenderPass renderPass;
12393 } VkSubpassShadingPipelineCreateInfoHUAWEI;
12395 typedef struct VkPhysicalDeviceSubpassShadingFeaturesHUAWEI {
12396 VkStructureType sType;
12398 VkBool32 subpassShading;
12399 } VkPhysicalDeviceSubpassShadingFeaturesHUAWEI;
12401 typedef struct VkPhysicalDeviceSubpassShadingPropertiesHUAWEI {
12402 VkStructureType sType;
12404 uint32_t maxSubpassShadingWorkgroupSizeAspectRatio;
12405 } VkPhysicalDeviceSubpassShadingPropertiesHUAWEI;
12407 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI)(VkDevice device, VkRenderPass renderpass, VkExtent2D* pMaxWorkgroupSize);
12408 typedef void (VKAPI_PTR *PFN_vkCmdSubpassShadingHUAWEI)(VkCommandBuffer commandBuffer);
12410 #ifndef VK_NO_PROTOTYPES
12411 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(
12413 VkRenderPass renderpass,
12414 VkExtent2D* pMaxWorkgroupSize);
12416 VKAPI_ATTR void VKAPI_CALL vkCmdSubpassShadingHUAWEI(
12417 VkCommandBuffer commandBuffer);
12421 #define VK_NV_external_memory_rdma 1
12422 typedef void* VkRemoteAddressNV;
12423 #define VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION 1
12424 #define VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME "VK_NV_external_memory_rdma"
12425 typedef struct VkMemoryGetRemoteAddressInfoNV {
12426 VkStructureType sType;
12428 VkDeviceMemory memory;
12429 VkExternalMemoryHandleTypeFlagBits handleType;
12430 } VkMemoryGetRemoteAddressInfoNV;
12432 typedef struct VkPhysicalDeviceExternalMemoryRDMAFeaturesNV {
12433 VkStructureType sType;
12435 VkBool32 externalMemoryRDMA;
12436 } VkPhysicalDeviceExternalMemoryRDMAFeaturesNV;
12438 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryRemoteAddressNV)(VkDevice device, const VkMemoryGetRemoteAddressInfoNV* getMemoryRemoteAddressInfo, VkRemoteAddressNV* pAddress);
12440 #ifndef VK_NO_PROTOTYPES
12441 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryRemoteAddressNV(
12443 const VkMemoryGetRemoteAddressInfoNV* getMemoryRemoteAddressInfo,
12444 VkRemoteAddressNV* pAddress);
12448 #define VK_EXT_extended_dynamic_state2 1
12449 #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION 1
12450 #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME "VK_EXT_extended_dynamic_state2"
12451 typedef struct VkPhysicalDeviceExtendedDynamicState2FeaturesEXT {
12452 VkStructureType sType;
12454 VkBool32 extendedDynamicState2;
12455 VkBool32 extendedDynamicState2LogicOp;
12456 VkBool32 extendedDynamicState2PatchControlPoints;
12457 } VkPhysicalDeviceExtendedDynamicState2FeaturesEXT;
12459 typedef void (VKAPI_PTR *PFN_vkCmdSetPatchControlPointsEXT)(VkCommandBuffer commandBuffer, uint32_t patchControlPoints);
12460 typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizerDiscardEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable);
12461 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBiasEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable);
12462 typedef void (VKAPI_PTR *PFN_vkCmdSetLogicOpEXT)(VkCommandBuffer commandBuffer, VkLogicOp logicOp);
12463 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveRestartEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable);
12465 #ifndef VK_NO_PROTOTYPES
12466 VKAPI_ATTR void VKAPI_CALL vkCmdSetPatchControlPointsEXT(
12467 VkCommandBuffer commandBuffer,
12468 uint32_t patchControlPoints);
12470 VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizerDiscardEnableEXT(
12471 VkCommandBuffer commandBuffer,
12472 VkBool32 rasterizerDiscardEnable);
12474 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBiasEnableEXT(
12475 VkCommandBuffer commandBuffer,
12476 VkBool32 depthBiasEnable);
12478 VKAPI_ATTR void VKAPI_CALL vkCmdSetLogicOpEXT(
12479 VkCommandBuffer commandBuffer,
12480 VkLogicOp logicOp);
12482 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveRestartEnableEXT(
12483 VkCommandBuffer commandBuffer,
12484 VkBool32 primitiveRestartEnable);
12488 #define VK_EXT_color_write_enable 1
12489 #define VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION 1
12490 #define VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME "VK_EXT_color_write_enable"
12491 typedef struct VkPhysicalDeviceColorWriteEnableFeaturesEXT {
12492 VkStructureType sType;
12494 VkBool32 colorWriteEnable;
12495 } VkPhysicalDeviceColorWriteEnableFeaturesEXT;
12497 typedef struct VkPipelineColorWriteCreateInfoEXT {
12498 VkStructureType sType;
12500 uint32_t attachmentCount;
12501 const VkBool32* pColorWriteEnables;
12502 } VkPipelineColorWriteCreateInfoEXT;
12504 typedef void (VKAPI_PTR *PFN_vkCmdSetColorWriteEnableEXT)(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkBool32* pColorWriteEnables);
12506 #ifndef VK_NO_PROTOTYPES
12507 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorWriteEnableEXT(
12508 VkCommandBuffer commandBuffer,
12509 uint32_t attachmentCount,
12510 const VkBool32* pColorWriteEnables);
12514 #define VK_EXT_global_priority_query 1
12515 #define VK_MAX_GLOBAL_PRIORITY_SIZE_EXT 16U
12516 #define VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION 1
12517 #define VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME "VK_EXT_global_priority_query"
12518 typedef struct VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT {
12519 VkStructureType sType;
12521 VkBool32 globalPriorityQuery;
12522 } VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT;
12524 typedef struct VkQueueFamilyGlobalPriorityPropertiesEXT {
12525 VkStructureType sType;
12527 uint32_t priorityCount;
12528 VkQueueGlobalPriorityEXT priorities[VK_MAX_GLOBAL_PRIORITY_SIZE_EXT];
12529 } VkQueueFamilyGlobalPriorityPropertiesEXT;
12533 #define VK_EXT_multi_draw 1
12534 #define VK_EXT_MULTI_DRAW_SPEC_VERSION 1
12535 #define VK_EXT_MULTI_DRAW_EXTENSION_NAME "VK_EXT_multi_draw"
12536 typedef struct VkPhysicalDeviceMultiDrawFeaturesEXT {
12537 VkStructureType sType;
12539 VkBool32 multiDraw;
12540 } VkPhysicalDeviceMultiDrawFeaturesEXT;
12542 typedef struct VkPhysicalDeviceMultiDrawPropertiesEXT {
12543 VkStructureType sType;
12545 uint32_t maxMultiDrawCount;
12546 } VkPhysicalDeviceMultiDrawPropertiesEXT;
12548 typedef struct VkMultiDrawInfoEXT {
12549 uint32_t firstVertex;
12550 uint32_t vertexCount;
12551 } VkMultiDrawInfoEXT;
12553 typedef struct VkMultiDrawIndexedInfoEXT {
12554 uint32_t firstIndex;
12555 uint32_t indexCount;
12556 int32_t vertexOffset;
12557 } VkMultiDrawIndexedInfoEXT;
12559 typedef void (VKAPI_PTR *PFN_vkCmdDrawMultiEXT)(VkCommandBuffer commandBuffer, uint32_t drawCount, const VkMultiDrawInfoEXT* pVertexInfo, uint32_t instanceCount, uint32_t firstInstance, uint32_t stride);
12560 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);
12562 #ifndef VK_NO_PROTOTYPES
12563 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMultiEXT(
12564 VkCommandBuffer commandBuffer,
12565 uint32_t drawCount,
12566 const VkMultiDrawInfoEXT* pVertexInfo,
12567 uint32_t instanceCount,
12568 uint32_t firstInstance,
12571 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMultiIndexedEXT(
12572 VkCommandBuffer commandBuffer,
12573 uint32_t drawCount,
12574 const VkMultiDrawIndexedInfoEXT* pIndexInfo,
12575 uint32_t instanceCount,
12576 uint32_t firstInstance,
12578 const int32_t* pVertexOffset);
12582 #define VK_KHR_acceleration_structure 1
12583 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR)
12584 #define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 11
12585 #define VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME "VK_KHR_acceleration_structure"
12587 typedef enum VkBuildAccelerationStructureModeKHR {
12588 VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR = 0,
12589 VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR = 1,
12590 VK_BUILD_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
12591 } VkBuildAccelerationStructureModeKHR;
12593 typedef enum VkAccelerationStructureBuildTypeKHR {
12594 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR = 0,
12595 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR = 1,
12596 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR = 2,
12597 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
12598 } VkAccelerationStructureBuildTypeKHR;
12600 typedef enum VkAccelerationStructureCompatibilityKHR {
12601 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR = 0,
12602 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR = 1,
12603 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_MAX_ENUM_KHR = 0x7FFFFFFF
12604 } VkAccelerationStructureCompatibilityKHR;
12606 typedef enum VkAccelerationStructureCreateFlagBitsKHR {
12607 VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = 0x00000001,
12608 VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV = 0x00000004,
12609 VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
12610 } VkAccelerationStructureCreateFlagBitsKHR;
12611 typedef VkFlags VkAccelerationStructureCreateFlagsKHR;
12612 typedef union VkDeviceOrHostAddressKHR {
12613 VkDeviceAddress deviceAddress;
12615 } VkDeviceOrHostAddressKHR;
12617 typedef struct VkAccelerationStructureBuildRangeInfoKHR {
12618 uint32_t primitiveCount;
12619 uint32_t primitiveOffset;
12620 uint32_t firstVertex;
12621 uint32_t transformOffset;
12622 } VkAccelerationStructureBuildRangeInfoKHR;
12624 typedef struct VkAccelerationStructureGeometryTrianglesDataKHR {
12625 VkStructureType sType;
12627 VkFormat vertexFormat;
12628 VkDeviceOrHostAddressConstKHR vertexData;
12629 VkDeviceSize vertexStride;
12630 uint32_t maxVertex;
12631 VkIndexType indexType;
12632 VkDeviceOrHostAddressConstKHR indexData;
12633 VkDeviceOrHostAddressConstKHR transformData;
12634 } VkAccelerationStructureGeometryTrianglesDataKHR;
12636 typedef struct VkAccelerationStructureGeometryAabbsDataKHR {
12637 VkStructureType sType;
12639 VkDeviceOrHostAddressConstKHR data;
12640 VkDeviceSize stride;
12641 } VkAccelerationStructureGeometryAabbsDataKHR;
12643 typedef struct VkAccelerationStructureGeometryInstancesDataKHR {
12644 VkStructureType sType;
12646 VkBool32 arrayOfPointers;
12647 VkDeviceOrHostAddressConstKHR data;
12648 } VkAccelerationStructureGeometryInstancesDataKHR;
12650 typedef union VkAccelerationStructureGeometryDataKHR {
12651 VkAccelerationStructureGeometryTrianglesDataKHR triangles;
12652 VkAccelerationStructureGeometryAabbsDataKHR aabbs;
12653 VkAccelerationStructureGeometryInstancesDataKHR instances;
12654 } VkAccelerationStructureGeometryDataKHR;
12656 typedef struct VkAccelerationStructureGeometryKHR {
12657 VkStructureType sType;
12659 VkGeometryTypeKHR geometryType;
12660 VkAccelerationStructureGeometryDataKHR geometry;
12661 VkGeometryFlagsKHR flags;
12662 } VkAccelerationStructureGeometryKHR;
12664 typedef struct VkAccelerationStructureBuildGeometryInfoKHR {
12665 VkStructureType sType;
12667 VkAccelerationStructureTypeKHR type;
12668 VkBuildAccelerationStructureFlagsKHR flags;
12669 VkBuildAccelerationStructureModeKHR mode;
12670 VkAccelerationStructureKHR srcAccelerationStructure;
12671 VkAccelerationStructureKHR dstAccelerationStructure;
12672 uint32_t geometryCount;
12673 const VkAccelerationStructureGeometryKHR* pGeometries;
12674 const VkAccelerationStructureGeometryKHR* const* ppGeometries;
12675 VkDeviceOrHostAddressKHR scratchData;
12676 } VkAccelerationStructureBuildGeometryInfoKHR;
12678 typedef struct VkAccelerationStructureCreateInfoKHR {
12679 VkStructureType sType;
12681 VkAccelerationStructureCreateFlagsKHR createFlags;
12683 VkDeviceSize offset;
12685 VkAccelerationStructureTypeKHR type;
12686 VkDeviceAddress deviceAddress;
12687 } VkAccelerationStructureCreateInfoKHR;
12689 typedef struct VkWriteDescriptorSetAccelerationStructureKHR {
12690 VkStructureType sType;
12692 uint32_t accelerationStructureCount;
12693 const VkAccelerationStructureKHR* pAccelerationStructures;
12694 } VkWriteDescriptorSetAccelerationStructureKHR;
12696 typedef struct VkPhysicalDeviceAccelerationStructureFeaturesKHR {
12697 VkStructureType sType;
12699 VkBool32 accelerationStructure;
12700 VkBool32 accelerationStructureCaptureReplay;
12701 VkBool32 accelerationStructureIndirectBuild;
12702 VkBool32 accelerationStructureHostCommands;
12703 VkBool32 descriptorBindingAccelerationStructureUpdateAfterBind;
12704 } VkPhysicalDeviceAccelerationStructureFeaturesKHR;
12706 typedef struct VkPhysicalDeviceAccelerationStructurePropertiesKHR {
12707 VkStructureType sType;
12709 uint64_t maxGeometryCount;
12710 uint64_t maxInstanceCount;
12711 uint64_t maxPrimitiveCount;
12712 uint32_t maxPerStageDescriptorAccelerationStructures;
12713 uint32_t maxPerStageDescriptorUpdateAfterBindAccelerationStructures;
12714 uint32_t maxDescriptorSetAccelerationStructures;
12715 uint32_t maxDescriptorSetUpdateAfterBindAccelerationStructures;
12716 uint32_t minAccelerationStructureScratchOffsetAlignment;
12717 } VkPhysicalDeviceAccelerationStructurePropertiesKHR;
12719 typedef struct VkAccelerationStructureDeviceAddressInfoKHR {
12720 VkStructureType sType;
12722 VkAccelerationStructureKHR accelerationStructure;
12723 } VkAccelerationStructureDeviceAddressInfoKHR;
12725 typedef struct VkAccelerationStructureVersionInfoKHR {
12726 VkStructureType sType;
12728 const uint8_t* pVersionData;
12729 } VkAccelerationStructureVersionInfoKHR;
12731 typedef struct VkCopyAccelerationStructureToMemoryInfoKHR {
12732 VkStructureType sType;
12734 VkAccelerationStructureKHR src;
12735 VkDeviceOrHostAddressKHR dst;
12736 VkCopyAccelerationStructureModeKHR mode;
12737 } VkCopyAccelerationStructureToMemoryInfoKHR;
12739 typedef struct VkCopyMemoryToAccelerationStructureInfoKHR {
12740 VkStructureType sType;
12742 VkDeviceOrHostAddressConstKHR src;
12743 VkAccelerationStructureKHR dst;
12744 VkCopyAccelerationStructureModeKHR mode;
12745 } VkCopyMemoryToAccelerationStructureInfoKHR;
12747 typedef struct VkCopyAccelerationStructureInfoKHR {
12748 VkStructureType sType;
12750 VkAccelerationStructureKHR src;
12751 VkAccelerationStructureKHR dst;
12752 VkCopyAccelerationStructureModeKHR mode;
12753 } VkCopyAccelerationStructureInfoKHR;
12755 typedef struct VkAccelerationStructureBuildSizesInfoKHR {
12756 VkStructureType sType;
12758 VkDeviceSize accelerationStructureSize;
12759 VkDeviceSize updateScratchSize;
12760 VkDeviceSize buildScratchSize;
12761 } VkAccelerationStructureBuildSizesInfoKHR;
12763 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureKHR)(VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure);
12764 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureKHR)(VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator);
12765 typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructuresKHR)(VkCommandBuffer commandBuffer, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
12766 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);
12767 typedef VkResult (VKAPI_PTR *PFN_vkBuildAccelerationStructuresKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
12768 typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureInfoKHR* pInfo);
12769 typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureToMemoryKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
12770 typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
12771 typedef VkResult (VKAPI_PTR *PFN_vkWriteAccelerationStructuresPropertiesKHR)(VkDevice device, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, size_t dataSize, void* pData, size_t stride);
12772 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureInfoKHR* pInfo);
12773 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureToMemoryKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
12774 typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
12775 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetAccelerationStructureDeviceAddressKHR)(VkDevice device, const VkAccelerationStructureDeviceAddressInfoKHR* pInfo);
12776 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesKHR)(VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery);
12777 typedef void (VKAPI_PTR *PFN_vkGetDeviceAccelerationStructureCompatibilityKHR)(VkDevice device, const VkAccelerationStructureVersionInfoKHR* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility);
12778 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureBuildSizesKHR)(VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo, const uint32_t* pMaxPrimitiveCounts, VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo);
12780 #ifndef VK_NO_PROTOTYPES
12781 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureKHR(
12783 const VkAccelerationStructureCreateInfoKHR* pCreateInfo,
12784 const VkAllocationCallbacks* pAllocator,
12785 VkAccelerationStructureKHR* pAccelerationStructure);
12787 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureKHR(
12789 VkAccelerationStructureKHR accelerationStructure,
12790 const VkAllocationCallbacks* pAllocator);
12792 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresKHR(
12793 VkCommandBuffer commandBuffer,
12794 uint32_t infoCount,
12795 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
12796 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
12798 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresIndirectKHR(
12799 VkCommandBuffer commandBuffer,
12800 uint32_t infoCount,
12801 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
12802 const VkDeviceAddress* pIndirectDeviceAddresses,
12803 const uint32_t* pIndirectStrides,
12804 const uint32_t* const* ppMaxPrimitiveCounts);
12806 VKAPI_ATTR VkResult VKAPI_CALL vkBuildAccelerationStructuresKHR(
12808 VkDeferredOperationKHR deferredOperation,
12809 uint32_t infoCount,
12810 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
12811 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
12813 VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureKHR(
12815 VkDeferredOperationKHR deferredOperation,
12816 const VkCopyAccelerationStructureInfoKHR* pInfo);
12818 VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureToMemoryKHR(
12820 VkDeferredOperationKHR deferredOperation,
12821 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
12823 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToAccelerationStructureKHR(
12825 VkDeferredOperationKHR deferredOperation,
12826 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
12828 VKAPI_ATTR VkResult VKAPI_CALL vkWriteAccelerationStructuresPropertiesKHR(
12830 uint32_t accelerationStructureCount,
12831 const VkAccelerationStructureKHR* pAccelerationStructures,
12832 VkQueryType queryType,
12837 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureKHR(
12838 VkCommandBuffer commandBuffer,
12839 const VkCopyAccelerationStructureInfoKHR* pInfo);
12841 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureToMemoryKHR(
12842 VkCommandBuffer commandBuffer,
12843 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
12845 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToAccelerationStructureKHR(
12846 VkCommandBuffer commandBuffer,
12847 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
12849 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetAccelerationStructureDeviceAddressKHR(
12851 const VkAccelerationStructureDeviceAddressInfoKHR* pInfo);
12853 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesKHR(
12854 VkCommandBuffer commandBuffer,
12855 uint32_t accelerationStructureCount,
12856 const VkAccelerationStructureKHR* pAccelerationStructures,
12857 VkQueryType queryType,
12858 VkQueryPool queryPool,
12859 uint32_t firstQuery);
12861 VKAPI_ATTR void VKAPI_CALL vkGetDeviceAccelerationStructureCompatibilityKHR(
12863 const VkAccelerationStructureVersionInfoKHR* pVersionInfo,
12864 VkAccelerationStructureCompatibilityKHR* pCompatibility);
12866 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureBuildSizesKHR(
12868 VkAccelerationStructureBuildTypeKHR buildType,
12869 const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo,
12870 const uint32_t* pMaxPrimitiveCounts,
12871 VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo);
12875 #define VK_KHR_ray_tracing_pipeline 1
12876 #define VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION 1
12877 #define VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME "VK_KHR_ray_tracing_pipeline"
12879 typedef enum VkShaderGroupShaderKHR {
12880 VK_SHADER_GROUP_SHADER_GENERAL_KHR = 0,
12881 VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR = 1,
12882 VK_SHADER_GROUP_SHADER_ANY_HIT_KHR = 2,
12883 VK_SHADER_GROUP_SHADER_INTERSECTION_KHR = 3,
12884 VK_SHADER_GROUP_SHADER_MAX_ENUM_KHR = 0x7FFFFFFF
12885 } VkShaderGroupShaderKHR;
12886 typedef struct VkRayTracingShaderGroupCreateInfoKHR {
12887 VkStructureType sType;
12889 VkRayTracingShaderGroupTypeKHR type;
12890 uint32_t generalShader;
12891 uint32_t closestHitShader;
12892 uint32_t anyHitShader;
12893 uint32_t intersectionShader;
12894 const void* pShaderGroupCaptureReplayHandle;
12895 } VkRayTracingShaderGroupCreateInfoKHR;
12897 typedef struct VkRayTracingPipelineInterfaceCreateInfoKHR {
12898 VkStructureType sType;
12900 uint32_t maxPipelineRayPayloadSize;
12901 uint32_t maxPipelineRayHitAttributeSize;
12902 } VkRayTracingPipelineInterfaceCreateInfoKHR;
12904 typedef struct VkRayTracingPipelineCreateInfoKHR {
12905 VkStructureType sType;
12907 VkPipelineCreateFlags flags;
12908 uint32_t stageCount;
12909 const VkPipelineShaderStageCreateInfo* pStages;
12910 uint32_t groupCount;
12911 const VkRayTracingShaderGroupCreateInfoKHR* pGroups;
12912 uint32_t maxPipelineRayRecursionDepth;
12913 const VkPipelineLibraryCreateInfoKHR* pLibraryInfo;
12914 const VkRayTracingPipelineInterfaceCreateInfoKHR* pLibraryInterface;
12915 const VkPipelineDynamicStateCreateInfo* pDynamicState;
12916 VkPipelineLayout layout;
12917 VkPipeline basePipelineHandle;
12918 int32_t basePipelineIndex;
12919 } VkRayTracingPipelineCreateInfoKHR;
12921 typedef struct VkPhysicalDeviceRayTracingPipelineFeaturesKHR {
12922 VkStructureType sType;
12924 VkBool32 rayTracingPipeline;
12925 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplay;
12926 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplayMixed;
12927 VkBool32 rayTracingPipelineTraceRaysIndirect;
12928 VkBool32 rayTraversalPrimitiveCulling;
12929 } VkPhysicalDeviceRayTracingPipelineFeaturesKHR;
12931 typedef struct VkPhysicalDeviceRayTracingPipelinePropertiesKHR {
12932 VkStructureType sType;
12934 uint32_t shaderGroupHandleSize;
12935 uint32_t maxRayRecursionDepth;
12936 uint32_t maxShaderGroupStride;
12937 uint32_t shaderGroupBaseAlignment;
12938 uint32_t shaderGroupHandleCaptureReplaySize;
12939 uint32_t maxRayDispatchInvocationCount;
12940 uint32_t shaderGroupHandleAlignment;
12941 uint32_t maxRayHitAttributeSize;
12942 } VkPhysicalDeviceRayTracingPipelinePropertiesKHR;
12944 typedef struct VkStridedDeviceAddressRegionKHR {
12945 VkDeviceAddress deviceAddress;
12946 VkDeviceSize stride;
12948 } VkStridedDeviceAddressRegionKHR;
12950 typedef struct VkTraceRaysIndirectCommandKHR {
12954 } VkTraceRaysIndirectCommandKHR;
12956 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);
12957 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
12958 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData);
12959 typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysIndirectKHR)(VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, VkDeviceAddress indirectDeviceAddress);
12960 typedef VkDeviceSize (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupStackSizeKHR)(VkDevice device, VkPipeline pipeline, uint32_t group, VkShaderGroupShaderKHR groupShader);
12961 typedef void (VKAPI_PTR *PFN_vkCmdSetRayTracingPipelineStackSizeKHR)(VkCommandBuffer commandBuffer, uint32_t pipelineStackSize);
12963 #ifndef VK_NO_PROTOTYPES
12964 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysKHR(
12965 VkCommandBuffer commandBuffer,
12966 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable,
12967 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable,
12968 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable,
12969 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable,
12974 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesKHR(
12976 VkDeferredOperationKHR deferredOperation,
12977 VkPipelineCache pipelineCache,
12978 uint32_t createInfoCount,
12979 const VkRayTracingPipelineCreateInfoKHR* pCreateInfos,
12980 const VkAllocationCallbacks* pAllocator,
12981 VkPipeline* pPipelines);
12983 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
12985 VkPipeline pipeline,
12986 uint32_t firstGroup,
12987 uint32_t groupCount,
12991 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysIndirectKHR(
12992 VkCommandBuffer commandBuffer,
12993 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable,
12994 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable,
12995 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable,
12996 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable,
12997 VkDeviceAddress indirectDeviceAddress);
12999 VKAPI_ATTR VkDeviceSize VKAPI_CALL vkGetRayTracingShaderGroupStackSizeKHR(
13001 VkPipeline pipeline,
13003 VkShaderGroupShaderKHR groupShader);
13005 VKAPI_ATTR void VKAPI_CALL vkCmdSetRayTracingPipelineStackSizeKHR(
13006 VkCommandBuffer commandBuffer,
13007 uint32_t pipelineStackSize);
13011 #define VK_KHR_ray_query 1
13012 #define VK_KHR_RAY_QUERY_SPEC_VERSION 1
13013 #define VK_KHR_RAY_QUERY_EXTENSION_NAME "VK_KHR_ray_query"
13014 typedef struct VkPhysicalDeviceRayQueryFeaturesKHR {
13015 VkStructureType sType;
13018 } VkPhysicalDeviceRayQueryFeaturesKHR;