1#ifndef VULKAN_CORE_H_
2#define VULKAN_CORE_H_ 1
3
4/*
5** Copyright (c) 2015-2020 The Khronos Group Inc.
6**
7** SPDX-License-Identifier: Apache-2.0
8*/
9
10/*
11** This header is generated from the Khronos Vulkan XML API Registry.
12**
13*/
14
15
16#ifdef __cplusplus
17extern "C" {
18#endif
19
20
21
22#define VK_VERSION_1_0 1
23#include "vk_platform.h"
24
25#define VK_DEFINE_HANDLE(object) typedef struct object##_T* object;
26
27
28#if !defined(VK_DEFINE_NON_DISPATCHABLE_HANDLE)
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_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object;
31#else
32 #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t object;
33#endif
34#endif
35
36#define VK_MAKE_VERSION(major, minor, patch) \
37 ((((uint32_t)(major)) << 22) | (((uint32_t)(minor)) << 12) | ((uint32_t)(patch)))
38
39// 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.
40//#define VK_API_VERSION VK_MAKE_VERSION(1, 0, 0) // Patch version should always be set to 0
41
42// Vulkan 1.0 version number
43#define VK_API_VERSION_1_0 VK_MAKE_VERSION(1, 0, 0)// Patch version should always be set to 0
44
45// Version of this file
46#define VK_HEADER_VERSION 158
47
48// Complete version of this file
49#define VK_HEADER_VERSION_COMPLETE VK_MAKE_VERSION(1, 2, VK_HEADER_VERSION)
50
51#define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22)
52#define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3ff)
53#define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xfff)
54
55#define VK_NULL_HANDLE 0
56
57typedef uint32_t VkBool32;
58typedef uint64_t VkDeviceAddress;
59typedef uint64_t VkDeviceSize;
60typedef uint32_t VkFlags;
61typedef uint32_t VkSampleMask;
62VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer)
63VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage)
64VK_DEFINE_HANDLE(VkInstance)
65VK_DEFINE_HANDLE(VkPhysicalDevice)
66VK_DEFINE_HANDLE(VkDevice)
67VK_DEFINE_HANDLE(VkQueue)
68VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphore)
69VK_DEFINE_HANDLE(VkCommandBuffer)
70VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFence)
71VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeviceMemory)
72VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkEvent)
73VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkQueryPool)
74VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferView)
75VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImageView)
76VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderModule)
77VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache)
78VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineLayout)
79VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipeline)
80VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass)
81VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout)
82VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSampler)
83VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSet)
84VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool)
85VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer)
86VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool)
87#define VK_ATTACHMENT_UNUSED (~0U)
88#define VK_FALSE 0
89#define VK_LOD_CLAMP_NONE 1000.0f
90#define VK_QUEUE_FAMILY_IGNORED (~0U)
91#define VK_REMAINING_ARRAY_LAYERS (~0U)
92#define VK_REMAINING_MIP_LEVELS (~0U)
93#define VK_SUBPASS_EXTERNAL (~0U)
94#define VK_TRUE 1
95#define VK_WHOLE_SIZE (~0ULL)
96#define VK_MAX_MEMORY_TYPES 32
97#define VK_MAX_MEMORY_HEAPS 16
98#define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE 256
99#define VK_UUID_SIZE 16
100#define VK_MAX_EXTENSION_NAME_SIZE 256
101#define VK_MAX_DESCRIPTION_SIZE 256
102
103typedef enum VkResult {
104 VK_SUCCESS = 0,
105 VK_NOT_READY = 1,
106 VK_TIMEOUT = 2,
107 VK_EVENT_SET = 3,
108 VK_EVENT_RESET = 4,
109 VK_INCOMPLETE = 5,
110 VK_ERROR_OUT_OF_HOST_MEMORY = -1,
111 VK_ERROR_OUT_OF_DEVICE_MEMORY = -2,
112 VK_ERROR_INITIALIZATION_FAILED = -3,
113 VK_ERROR_DEVICE_LOST = -4,
114 VK_ERROR_MEMORY_MAP_FAILED = -5,
115 VK_ERROR_LAYER_NOT_PRESENT = -6,
116 VK_ERROR_EXTENSION_NOT_PRESENT = -7,
117 VK_ERROR_FEATURE_NOT_PRESENT = -8,
118 VK_ERROR_INCOMPATIBLE_DRIVER = -9,
119 VK_ERROR_TOO_MANY_OBJECTS = -10,
120 VK_ERROR_FORMAT_NOT_SUPPORTED = -11,
121 VK_ERROR_FRAGMENTED_POOL = -12,
122 VK_ERROR_UNKNOWN = -13,
123 VK_ERROR_OUT_OF_POOL_MEMORY = -1000069000,
124 VK_ERROR_INVALID_EXTERNAL_HANDLE = -1000072003,
125 VK_ERROR_FRAGMENTATION = -1000161000,
126 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS = -1000257000,
127 VK_ERROR_SURFACE_LOST_KHR = -1000000000,
128 VK_ERROR_NATIVE_WINDOW_IN_USE_KHR = -1000000001,
129 VK_SUBOPTIMAL_KHR = 1000001003,
130 VK_ERROR_OUT_OF_DATE_KHR = -1000001004,
131 VK_ERROR_INCOMPATIBLE_DISPLAY_KHR = -1000003001,
132 VK_ERROR_VALIDATION_FAILED_EXT = -1000011001,
133 VK_ERROR_INVALID_SHADER_NV = -1000012000,
134 VK_ERROR_INCOMPATIBLE_VERSION_KHR = -1000150000,
135 VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT = -1000158000,
136 VK_ERROR_NOT_PERMITTED_EXT = -1000174001,
137 VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT = -1000255000,
138 VK_THREAD_IDLE_KHR = 1000268000,
139 VK_THREAD_DONE_KHR = 1000268001,
140 VK_OPERATION_DEFERRED_KHR = 1000268002,
141 VK_OPERATION_NOT_DEFERRED_KHR = 1000268003,
142 VK_PIPELINE_COMPILE_REQUIRED_EXT = 1000297000,
143 VK_ERROR_OUT_OF_POOL_MEMORY_KHR = VK_ERROR_OUT_OF_POOL_MEMORY,
144 VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = VK_ERROR_INVALID_EXTERNAL_HANDLE,
145 VK_ERROR_FRAGMENTATION_EXT = VK_ERROR_FRAGMENTATION,
146 VK_ERROR_INVALID_DEVICE_ADDRESS_EXT = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS,
147 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS,
148 VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT = VK_PIPELINE_COMPILE_REQUIRED_EXT,
149 VK_RESULT_MAX_ENUM = 0x7FFFFFFF
150} VkResult;
151
152typedef enum VkStructureType {
153 VK_STRUCTURE_TYPE_APPLICATION_INFO = 0,
154 VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = 1,
155 VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO = 2,
156 VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO = 3,
157 VK_STRUCTURE_TYPE_SUBMIT_INFO = 4,
158 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO = 5,
159 VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = 6,
160 VK_STRUCTURE_TYPE_BIND_SPARSE_INFO = 7,
161 VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = 8,
162 VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO = 9,
163 VK_STRUCTURE_TYPE_EVENT_CREATE_INFO = 10,
164 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO = 11,
165 VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = 12,
166 VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO = 13,
167 VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = 14,
168 VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO = 15,
169 VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO = 16,
170 VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO = 17,
171 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO = 18,
172 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO = 19,
173 VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO = 20,
174 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO = 21,
175 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO = 22,
176 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO = 23,
177 VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO = 24,
178 VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO = 25,
179 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO = 26,
180 VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO = 27,
181 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO = 28,
182 VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO = 29,
183 VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO = 30,
184 VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO = 31,
185 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO = 32,
186 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO = 33,
187 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO = 34,
188 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = 35,
189 VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = 36,
190 VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO = 37,
191 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO = 38,
192 VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO = 39,
193 VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO = 40,
194 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO = 41,
195 VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO = 42,
196 VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = 43,
197 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER = 44,
198 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = 45,
199 VK_STRUCTURE_TYPE_MEMORY_BARRIER = 46,
200 VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO = 47,
201 VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO = 48,
202 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES = 1000094000,
203 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO = 1000157000,
204 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO = 1000157001,
205 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES = 1000083000,
206 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS = 1000127000,
207 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO = 1000127001,
208 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO = 1000060000,
209 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO = 1000060003,
210 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO = 1000060004,
211 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO = 1000060005,
212 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO = 1000060006,
213 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO = 1000060013,
214 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO = 1000060014,
215 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES = 1000070000,
216 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO = 1000070001,
217 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 = 1000146000,
218 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 = 1000146001,
219 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 = 1000146002,
220 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 = 1000146003,
221 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 = 1000146004,
222 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 = 1000059000,
223 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 = 1000059001,
224 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 = 1000059002,
225 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 = 1000059003,
226 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 = 1000059004,
227 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 = 1000059005,
228 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 = 1000059006,
229 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 = 1000059007,
230 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 = 1000059008,
231 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES = 1000117000,
232 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO = 1000117001,
233 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO = 1000117002,
234 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO = 1000117003,
235 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO = 1000053000,
236 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES = 1000053001,
237 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES = 1000053002,
238 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES = 1000120000,
239 VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO = 1000145000,
240 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES = 1000145001,
241 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES = 1000145002,
242 VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 = 1000145003,
243 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO = 1000156000,
244 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO = 1000156001,
245 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO = 1000156002,
246 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO = 1000156003,
247 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES = 1000156004,
248 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES = 1000156005,
249 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO = 1000085000,
250 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO = 1000071000,
251 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES = 1000071001,
252 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO = 1000071002,
253 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES = 1000071003,
254 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES = 1000071004,
255 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO = 1000072000,
256 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO = 1000072001,
257 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO = 1000072002,
258 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO = 1000112000,
259 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES = 1000112001,
260 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO = 1000113000,
261 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO = 1000077000,
262 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO = 1000076000,
263 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES = 1000076001,
264 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES = 1000168000,
265 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT = 1000168001,
266 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES = 1000063000,
267 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES = 49,
268 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES = 50,
269 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES = 51,
270 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES = 52,
271 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO = 1000147000,
272 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 = 1000109000,
273 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 = 1000109001,
274 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 = 1000109002,
275 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 = 1000109003,
276 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 = 1000109004,
277 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO = 1000109005,
278 VK_STRUCTURE_TYPE_SUBPASS_END_INFO = 1000109006,
279 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES = 1000177000,
280 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES = 1000196000,
281 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES = 1000180000,
282 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES = 1000082000,
283 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES = 1000197000,
284 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO = 1000161000,
285 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES = 1000161001,
286 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES = 1000161002,
287 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO = 1000161003,
288 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT = 1000161004,
289 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES = 1000199000,
290 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE = 1000199001,
291 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES = 1000221000,
292 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO = 1000246000,
293 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES = 1000130000,
294 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO = 1000130001,
295 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES = 1000211000,
296 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES = 1000108000,
297 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO = 1000108001,
298 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO = 1000108002,
299 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO = 1000108003,
300 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES = 1000253000,
301 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES = 1000175000,
302 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES = 1000241000,
303 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT = 1000241001,
304 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT = 1000241002,
305 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES = 1000261000,
306 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES = 1000207000,
307 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES = 1000207001,
308 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO = 1000207002,
309 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO = 1000207003,
310 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO = 1000207004,
311 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO = 1000207005,
312 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES = 1000257000,
313 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO = 1000244001,
314 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO = 1000257002,
315 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO = 1000257003,
316 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO = 1000257004,
317 VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR = 1000001000,
318 VK_STRUCTURE_TYPE_PRESENT_INFO_KHR = 1000001001,
319 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR = 1000060007,
320 VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR = 1000060008,
321 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR = 1000060009,
322 VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR = 1000060010,
323 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR = 1000060011,
324 VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR = 1000060012,
325 VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR = 1000002000,
326 VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR = 1000002001,
327 VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR = 1000003000,
328 VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR = 1000004000,
329 VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR = 1000005000,
330 VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR = 1000006000,
331 VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR = 1000008000,
332 VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR = 1000009000,
333 VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT = 1000011000,
334 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD = 1000018000,
335 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT = 1000022000,
336 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT = 1000022001,
337 VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT = 1000022002,
338 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000,
339 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001,
340 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV = 1000026002,
341 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT = 1000028000,
342 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT = 1000028001,
343 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT = 1000028002,
344 VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX = 1000030000,
345 VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX = 1000030001,
346 VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000,
347 VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP = 1000049000,
348 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV = 1000050000,
349 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = 1000056000,
350 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV = 1000056001,
351 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057000,
352 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057001,
353 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV = 1000058000,
354 VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT = 1000061000,
355 VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN = 1000062000,
356 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT = 1000066000,
357 VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT = 1000067000,
358 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT = 1000067001,
359 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073000,
360 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073001,
361 VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR = 1000073002,
362 VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR = 1000073003,
363 VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR = 1000074000,
364 VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR = 1000074001,
365 VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR = 1000074002,
366 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR = 1000075000,
367 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078000,
368 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078001,
369 VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR = 1000078002,
370 VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR = 1000078003,
371 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR = 1000079000,
372 VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR = 1000079001,
373 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR = 1000080000,
374 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT = 1000081000,
375 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT = 1000081001,
376 VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT = 1000081002,
377 VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR = 1000084000,
378 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV = 1000087000,
379 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT = 1000090000,
380 VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT = 1000091000,
381 VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT = 1000091001,
382 VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT = 1000091002,
383 VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT = 1000091003,
384 VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE = 1000092000,
385 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX = 1000097000,
386 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV = 1000098000,
387 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT = 1000099000,
388 VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT = 1000099001,
389 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT = 1000101000,
390 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT = 1000101001,
391 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT = 1000102000,
392 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT = 1000102001,
393 VK_STRUCTURE_TYPE_HDR_METADATA_EXT = 1000105000,
394 VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR = 1000111000,
395 VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114000,
396 VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114001,
397 VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR = 1000114002,
398 VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR = 1000115000,
399 VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR = 1000115001,
400 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR = 1000116000,
401 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR = 1000116001,
402 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR = 1000116002,
403 VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR = 1000116003,
404 VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR = 1000116004,
405 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR = 1000116005,
406 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR = 1000116006,
407 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR = 1000119000,
408 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR = 1000119001,
409 VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR = 1000119002,
410 VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR = 1000121000,
411 VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR = 1000121001,
412 VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR = 1000121002,
413 VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR = 1000121003,
414 VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR = 1000121004,
415 VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK = 1000122000,
416 VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK = 1000123000,
417 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT = 1000128000,
418 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT = 1000128001,
419 VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT = 1000128002,
420 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT = 1000128003,
421 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT = 1000128004,
422 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID = 1000129000,
423 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID = 1000129001,
424 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID = 1000129002,
425 VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129003,
426 VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129004,
427 VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID = 1000129005,
428 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT = 1000138000,
429 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT = 1000138001,
430 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT = 1000138002,
431 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT = 1000138003,
432 VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT = 1000143000,
433 VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT = 1000143001,
434 VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT = 1000143002,
435 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT = 1000143003,
436 VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT = 1000143004,
437 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT = 1000148000,
438 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT = 1000148001,
439 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT = 1000148002,
440 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV = 1000149000,
441 VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_KHR = 1000165006,
442 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR = 1000165007,
443 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR = 1000150000,
444 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_GEOMETRY_TYPE_INFO_KHR = 1000150001,
445 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR = 1000150002,
446 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR = 1000150003,
447 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR = 1000150004,
448 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR = 1000150005,
449 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR = 1000150006,
450 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_KHR = 1000150008,
451 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_KHR = 1000150009,
452 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR = 1000150010,
453 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR = 1000150011,
454 VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR = 1000150012,
455 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_FEATURES_KHR = 1000150013,
456 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_KHR = 1000150014,
457 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR = 1000150015,
458 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR = 1000150016,
459 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR = 1000150017,
460 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR = 1000150018,
461 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV = 1000152000,
462 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV = 1000154000,
463 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV = 1000154001,
464 VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT = 1000158000,
465 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT = 1000158002,
466 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT = 1000158003,
467 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT = 1000158004,
468 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT = 1000158005,
469 VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160000,
470 VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160001,
471 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR = 1000163000,
472 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR = 1000163001,
473 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV = 1000164000,
474 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV = 1000164001,
475 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV = 1000164002,
476 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV = 1000164005,
477 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV = 1000165000,
478 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV = 1000165001,
479 VK_STRUCTURE_TYPE_GEOMETRY_NV = 1000165003,
480 VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV = 1000165004,
481 VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV = 1000165005,
482 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV = 1000165008,
483 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV = 1000165009,
484 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV = 1000165011,
485 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV = 1000165012,
486 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV = 1000166000,
487 VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV = 1000166001,
488 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT = 1000170000,
489 VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT = 1000170001,
490 VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = 1000174000,
491 VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT = 1000178000,
492 VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT = 1000178001,
493 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT = 1000178002,
494 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR = 1000181000,
495 VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD = 1000183000,
496 VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT = 1000184000,
497 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD = 1000185000,
498 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD = 1000189000,
499 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT = 1000190000,
500 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT = 1000190001,
501 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT = 1000190002,
502 VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP = 1000191000,
503 VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT = 1000192000,
504 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV = 1000201000,
505 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV = 1000202000,
506 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV = 1000202001,
507 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV = 1000203000,
508 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV = 1000204000,
509 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV = 1000205000,
510 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV = 1000205002,
511 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV = 1000206000,
512 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV = 1000206001,
513 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL = 1000209000,
514 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL = 1000210000,
515 VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL = 1000210001,
516 VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL = 1000210002,
517 VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL = 1000210003,
518 VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL = 1000210004,
519 VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL = 1000210005,
520 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT = 1000212000,
521 VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD = 1000213000,
522 VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD = 1000213001,
523 VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA = 1000214000,
524 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR = 1000215000,
525 VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT = 1000217000,
526 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT = 1000218000,
527 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT = 1000218001,
528 VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT = 1000218002,
529 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT = 1000225000,
530 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = 1000225001,
531 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT = 1000225002,
532 VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000226000,
533 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR = 1000226001,
534 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR = 1000226002,
535 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR = 1000226003,
536 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR = 1000226004,
537 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD = 1000227000,
538 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD = 1000229000,
539 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT = 1000234000,
540 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT = 1000237000,
541 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT = 1000238000,
542 VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT = 1000238001,
543 VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR = 1000239000,
544 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV = 1000240000,
545 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT = 1000244000,
546 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT = 1000244002,
547 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT = 1000245000,
548 VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT = 1000247000,
549 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV = 1000249000,
550 VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249001,
551 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249002,
552 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV = 1000250000,
553 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV = 1000250001,
554 VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV = 1000250002,
555 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT = 1000251000,
556 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT = 1000252000,
557 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT = 1000255000,
558 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT = 1000255002,
559 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT = 1000255001,
560 VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT = 1000256000,
561 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT = 1000259000,
562 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT = 1000259001,
563 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT = 1000259002,
564 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT = 1000260000,
565 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT = 1000265000,
566 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT = 1000267000,
567 VK_STRUCTURE_TYPE_DEFERRED_OPERATION_INFO_KHR = 1000268000,
568 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR = 1000269000,
569 VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR = 1000269001,
570 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR = 1000269002,
571 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR = 1000269003,
572 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR = 1000269004,
573 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR = 1000269005,
574 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = 1000276000,
575 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV = 1000277000,
576 VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV = 1000277001,
577 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV = 1000277002,
578 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV = 1000277003,
579 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV = 1000277004,
580 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV = 1000277005,
581 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV = 1000277006,
582 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV = 1000277007,
583 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT = 1000281000,
584 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT = 1000281001,
585 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM = 1000282000,
586 VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM = 1000282001,
587 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT = 1000284000,
588 VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT = 1000284001,
589 VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT = 1000284002,
590 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT = 1000286000,
591 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT = 1000286001,
592 VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT = 1000287000,
593 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT = 1000287001,
594 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT = 1000287002,
595 VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR = 1000290000,
596 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT = 1000295000,
597 VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT = 1000295001,
598 VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT = 1000295002,
599 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT = 1000297000,
600 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV = 1000300000,
601 VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV = 1000300001,
602 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT = 1000332000,
603 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT = 1000332001,
604 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT = 1000335000,
605 VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR = 1000337000,
606 VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR = 1000337001,
607 VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR = 1000337002,
608 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR = 1000337003,
609 VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR = 1000337004,
610 VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR = 1000337005,
611 VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR = 1000337006,
612 VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR = 1000337007,
613 VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR = 1000337008,
614 VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR = 1000337009,
615 VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR = 1000337010,
616 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT = 1000340000,
617 VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT = 1000346000,
618 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
619 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
620 VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
621 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO,
622 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES,
623 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,
624 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2,
625 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2,
626 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2,
627 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2,
628 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2,
629 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2,
630 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2,
631 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2,
632 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2,
633 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO,
634 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO,
635 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO,
636 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO,
637 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO,
638 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO,
639 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO,
640 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES,
641 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO,
642 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO,
643 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES,
644 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO,
645 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES,
646 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES,
647 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO,
648 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO,
649 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO,
650 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO,
651 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES,
652 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO,
653 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
654 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
655 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES,
656 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO,
657 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT,
658 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES,
659 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO,
660 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO,
661 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO,
662 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2,
663 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2,
664 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2,
665 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2,
666 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2,
667 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO,
668 VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_END_INFO,
669 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO,
670 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES,
671 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO,
672 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES,
673 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO,
674 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO,
675 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO,
676 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
677 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR,
678 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS,
679 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO,
680 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES,
681 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO,
682 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2,
683 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2,
684 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2,
685 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2,
686 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2,
687 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO,
688 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO,
689 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO,
690 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO,
691 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO,
692 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,
693 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,
694 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO,
695 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO,
696 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO,
697 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES,
698 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES,
699 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO,
700 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT,
701 VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV = VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_KHR,
702 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR,
703 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,
704 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT,
705 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES,
706 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES,
707 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES,
708 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES,
709 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES,
710 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES,
711 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE,
712 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES,
713 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES,
714 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO,
715 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO,
716 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO,
717 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO,
718 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL = VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL,
719 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES,
720 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES,
721 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES,
722 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT,
723 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT,
724 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT,
725 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
726 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO,
727 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES,
728 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES,
729 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
730 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO,
731 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO,
732 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO,
733 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES,
734 VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF
735} VkStructureType;
736
737typedef enum VkImageLayout {
738 VK_IMAGE_LAYOUT_UNDEFINED = 0,
739 VK_IMAGE_LAYOUT_GENERAL = 1,
740 VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2,
741 VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3,
742 VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4,
743 VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5,
744 VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6,
745 VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7,
746 VK_IMAGE_LAYOUT_PREINITIALIZED = 8,
747 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL = 1000117000,
748 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL = 1000117001,
749 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL = 1000241000,
750 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL = 1000241001,
751 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL = 1000241002,
752 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL = 1000241003,
753 VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002,
754 VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR = 1000111000,
755 VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = 1000164003,
756 VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000,
757 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,
758 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,
759 VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV,
760 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
761 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
762 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL,
763 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL,
764 VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF
765} VkImageLayout;
766
767typedef enum VkObjectType {
768 VK_OBJECT_TYPE_UNKNOWN = 0,
769 VK_OBJECT_TYPE_INSTANCE = 1,
770 VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2,
771 VK_OBJECT_TYPE_DEVICE = 3,
772 VK_OBJECT_TYPE_QUEUE = 4,
773 VK_OBJECT_TYPE_SEMAPHORE = 5,
774 VK_OBJECT_TYPE_COMMAND_BUFFER = 6,
775 VK_OBJECT_TYPE_FENCE = 7,
776 VK_OBJECT_TYPE_DEVICE_MEMORY = 8,
777 VK_OBJECT_TYPE_BUFFER = 9,
778 VK_OBJECT_TYPE_IMAGE = 10,
779 VK_OBJECT_TYPE_EVENT = 11,
780 VK_OBJECT_TYPE_QUERY_POOL = 12,
781 VK_OBJECT_TYPE_BUFFER_VIEW = 13,
782 VK_OBJECT_TYPE_IMAGE_VIEW = 14,
783 VK_OBJECT_TYPE_SHADER_MODULE = 15,
784 VK_OBJECT_TYPE_PIPELINE_CACHE = 16,
785 VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17,
786 VK_OBJECT_TYPE_RENDER_PASS = 18,
787 VK_OBJECT_TYPE_PIPELINE = 19,
788 VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20,
789 VK_OBJECT_TYPE_SAMPLER = 21,
790 VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22,
791 VK_OBJECT_TYPE_DESCRIPTOR_SET = 23,
792 VK_OBJECT_TYPE_FRAMEBUFFER = 24,
793 VK_OBJECT_TYPE_COMMAND_POOL = 25,
794 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION = 1000156000,
795 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE = 1000085000,
796 VK_OBJECT_TYPE_SURFACE_KHR = 1000000000,
797 VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000,
798 VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000,
799 VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001,
800 VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000,
801 VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000,
802 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR = 1000165000,
803 VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000,
804 VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL = 1000210000,
805 VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR = 1000268000,
806 VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV = 1000277000,
807 VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = 1000295000,
808 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,
809 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,
810 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV = VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR,
811 VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF
812} VkObjectType;
813
814typedef enum VkVendorId {
815 VK_VENDOR_ID_VIV = 0x10001,
816 VK_VENDOR_ID_VSI = 0x10002,
817 VK_VENDOR_ID_KAZAN = 0x10003,
818 VK_VENDOR_ID_CODEPLAY = 0x10004,
819 VK_VENDOR_ID_MESA = 0x10005,
820 VK_VENDOR_ID_MAX_ENUM = 0x7FFFFFFF
821} VkVendorId;
822
823typedef enum VkPipelineCacheHeaderVersion {
824 VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1,
825 VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF
826} VkPipelineCacheHeaderVersion;
827
828typedef enum VkSystemAllocationScope {
829 VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0,
830 VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1,
831 VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2,
832 VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3,
833 VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4,
834 VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = 0x7FFFFFFF
835} VkSystemAllocationScope;
836
837typedef enum VkInternalAllocationType {
838 VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0,
839 VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM = 0x7FFFFFFF
840} VkInternalAllocationType;
841
842typedef enum VkFormat {
843 VK_FORMAT_UNDEFINED = 0,
844 VK_FORMAT_R4G4_UNORM_PACK8 = 1,
845 VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2,
846 VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3,
847 VK_FORMAT_R5G6B5_UNORM_PACK16 = 4,
848 VK_FORMAT_B5G6R5_UNORM_PACK16 = 5,
849 VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6,
850 VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7,
851 VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8,
852 VK_FORMAT_R8_UNORM = 9,
853 VK_FORMAT_R8_SNORM = 10,
854 VK_FORMAT_R8_USCALED = 11,
855 VK_FORMAT_R8_SSCALED = 12,
856 VK_FORMAT_R8_UINT = 13,
857 VK_FORMAT_R8_SINT = 14,
858 VK_FORMAT_R8_SRGB = 15,
859 VK_FORMAT_R8G8_UNORM = 16,
860 VK_FORMAT_R8G8_SNORM = 17,
861 VK_FORMAT_R8G8_USCALED = 18,
862 VK_FORMAT_R8G8_SSCALED = 19,
863 VK_FORMAT_R8G8_UINT = 20,
864 VK_FORMAT_R8G8_SINT = 21,
865 VK_FORMAT_R8G8_SRGB = 22,
866 VK_FORMAT_R8G8B8_UNORM = 23,
867 VK_FORMAT_R8G8B8_SNORM = 24,
868 VK_FORMAT_R8G8B8_USCALED = 25,
869 VK_FORMAT_R8G8B8_SSCALED = 26,
870 VK_FORMAT_R8G8B8_UINT = 27,
871 VK_FORMAT_R8G8B8_SINT = 28,
872 VK_FORMAT_R8G8B8_SRGB = 29,
873 VK_FORMAT_B8G8R8_UNORM = 30,
874 VK_FORMAT_B8G8R8_SNORM = 31,
875 VK_FORMAT_B8G8R8_USCALED = 32,
876 VK_FORMAT_B8G8R8_SSCALED = 33,
877 VK_FORMAT_B8G8R8_UINT = 34,
878 VK_FORMAT_B8G8R8_SINT = 35,
879 VK_FORMAT_B8G8R8_SRGB = 36,
880 VK_FORMAT_R8G8B8A8_UNORM = 37,
881 VK_FORMAT_R8G8B8A8_SNORM = 38,
882 VK_FORMAT_R8G8B8A8_USCALED = 39,
883 VK_FORMAT_R8G8B8A8_SSCALED = 40,
884 VK_FORMAT_R8G8B8A8_UINT = 41,
885 VK_FORMAT_R8G8B8A8_SINT = 42,
886 VK_FORMAT_R8G8B8A8_SRGB = 43,
887 VK_FORMAT_B8G8R8A8_UNORM = 44,
888 VK_FORMAT_B8G8R8A8_SNORM = 45,
889 VK_FORMAT_B8G8R8A8_USCALED = 46,
890 VK_FORMAT_B8G8R8A8_SSCALED = 47,
891 VK_FORMAT_B8G8R8A8_UINT = 48,
892 VK_FORMAT_B8G8R8A8_SINT = 49,
893 VK_FORMAT_B8G8R8A8_SRGB = 50,
894 VK_FORMAT_A8B8G8R8_UNORM_PACK32 = 51,
895 VK_FORMAT_A8B8G8R8_SNORM_PACK32 = 52,
896 VK_FORMAT_A8B8G8R8_USCALED_PACK32 = 53,
897 VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54,
898 VK_FORMAT_A8B8G8R8_UINT_PACK32 = 55,
899 VK_FORMAT_A8B8G8R8_SINT_PACK32 = 56,
900 VK_FORMAT_A8B8G8R8_SRGB_PACK32 = 57,
901 VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58,
902 VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59,
903 VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 60,
904 VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61,
905 VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62,
906 VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63,
907 VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64,
908 VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65,
909 VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 66,
910 VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67,
911 VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68,
912 VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69,
913 VK_FORMAT_R16_UNORM = 70,
914 VK_FORMAT_R16_SNORM = 71,
915 VK_FORMAT_R16_USCALED = 72,
916 VK_FORMAT_R16_SSCALED = 73,
917 VK_FORMAT_R16_UINT = 74,
918 VK_FORMAT_R16_SINT = 75,
919 VK_FORMAT_R16_SFLOAT = 76,
920 VK_FORMAT_R16G16_UNORM = 77,
921 VK_FORMAT_R16G16_SNORM = 78,
922 VK_FORMAT_R16G16_USCALED = 79,
923 VK_FORMAT_R16G16_SSCALED = 80,
924 VK_FORMAT_R16G16_UINT = 81,
925 VK_FORMAT_R16G16_SINT = 82,
926 VK_FORMAT_R16G16_SFLOAT = 83,
927 VK_FORMAT_R16G16B16_UNORM = 84,
928 VK_FORMAT_R16G16B16_SNORM = 85,
929 VK_FORMAT_R16G16B16_USCALED = 86,
930 VK_FORMAT_R16G16B16_SSCALED = 87,
931 VK_FORMAT_R16G16B16_UINT = 88,
932 VK_FORMAT_R16G16B16_SINT = 89,
933 VK_FORMAT_R16G16B16_SFLOAT = 90,
934 VK_FORMAT_R16G16B16A16_UNORM = 91,
935 VK_FORMAT_R16G16B16A16_SNORM = 92,
936 VK_FORMAT_R16G16B16A16_USCALED = 93,
937 VK_FORMAT_R16G16B16A16_SSCALED = 94,
938 VK_FORMAT_R16G16B16A16_UINT = 95,
939 VK_FORMAT_R16G16B16A16_SINT = 96,
940 VK_FORMAT_R16G16B16A16_SFLOAT = 97,
941 VK_FORMAT_R32_UINT = 98,
942 VK_FORMAT_R32_SINT = 99,
943 VK_FORMAT_R32_SFLOAT = 100,
944 VK_FORMAT_R32G32_UINT = 101,
945 VK_FORMAT_R32G32_SINT = 102,
946 VK_FORMAT_R32G32_SFLOAT = 103,
947 VK_FORMAT_R32G32B32_UINT = 104,
948 VK_FORMAT_R32G32B32_SINT = 105,
949 VK_FORMAT_R32G32B32_SFLOAT = 106,
950 VK_FORMAT_R32G32B32A32_UINT = 107,
951 VK_FORMAT_R32G32B32A32_SINT = 108,
952 VK_FORMAT_R32G32B32A32_SFLOAT = 109,
953 VK_FORMAT_R64_UINT = 110,
954 VK_FORMAT_R64_SINT = 111,
955 VK_FORMAT_R64_SFLOAT = 112,
956 VK_FORMAT_R64G64_UINT = 113,
957 VK_FORMAT_R64G64_SINT = 114,
958 VK_FORMAT_R64G64_SFLOAT = 115,
959 VK_FORMAT_R64G64B64_UINT = 116,
960 VK_FORMAT_R64G64B64_SINT = 117,
961 VK_FORMAT_R64G64B64_SFLOAT = 118,
962 VK_FORMAT_R64G64B64A64_UINT = 119,
963 VK_FORMAT_R64G64B64A64_SINT = 120,
964 VK_FORMAT_R64G64B64A64_SFLOAT = 121,
965 VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122,
966 VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123,
967 VK_FORMAT_D16_UNORM = 124,
968 VK_FORMAT_X8_D24_UNORM_PACK32 = 125,
969 VK_FORMAT_D32_SFLOAT = 126,
970 VK_FORMAT_S8_UINT = 127,
971 VK_FORMAT_D16_UNORM_S8_UINT = 128,
972 VK_FORMAT_D24_UNORM_S8_UINT = 129,
973 VK_FORMAT_D32_SFLOAT_S8_UINT = 130,
974 VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131,
975 VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132,
976 VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133,
977 VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134,
978 VK_FORMAT_BC2_UNORM_BLOCK = 135,
979 VK_FORMAT_BC2_SRGB_BLOCK = 136,
980 VK_FORMAT_BC3_UNORM_BLOCK = 137,
981 VK_FORMAT_BC3_SRGB_BLOCK = 138,
982 VK_FORMAT_BC4_UNORM_BLOCK = 139,
983 VK_FORMAT_BC4_SNORM_BLOCK = 140,
984 VK_FORMAT_BC5_UNORM_BLOCK = 141,
985 VK_FORMAT_BC5_SNORM_BLOCK = 142,
986 VK_FORMAT_BC6H_UFLOAT_BLOCK = 143,
987 VK_FORMAT_BC6H_SFLOAT_BLOCK = 144,
988 VK_FORMAT_BC7_UNORM_BLOCK = 145,
989 VK_FORMAT_BC7_SRGB_BLOCK = 146,
990 VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147,
991 VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148,
992 VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149,
993 VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150,
994 VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151,
995 VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152,
996 VK_FORMAT_EAC_R11_UNORM_BLOCK = 153,
997 VK_FORMAT_EAC_R11_SNORM_BLOCK = 154,
998 VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155,
999 VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156,
1000 VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157,
1001 VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158,
1002 VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159,
1003 VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160,
1004 VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161,
1005 VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162,
1006 VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163,
1007 VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164,
1008 VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165,
1009 VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166,
1010 VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167,
1011 VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168,
1012 VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169,
1013 VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170,
1014 VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171,
1015 VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172,
1016 VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173,
1017 VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174,
1018 VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175,
1019 VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176,
1020 VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177,
1021 VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178,
1022 VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179,
1023 VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180,
1024 VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181,
1025 VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182,
1026 VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183,
1027 VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184,
1028 VK_FORMAT_G8B8G8R8_422_UNORM = 1000156000,
1029 VK_FORMAT_B8G8R8G8_422_UNORM = 1000156001,
1030 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM = 1000156002,
1031 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM = 1000156003,
1032 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM = 1000156004,
1033 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM = 1000156005,
1034 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM = 1000156006,
1035 VK_FORMAT_R10X6_UNORM_PACK16 = 1000156007,
1036 VK_FORMAT_R10X6G10X6_UNORM_2PACK16 = 1000156008,
1037 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 1000156009,
1038 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 1000156010,
1039 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 1000156011,
1040 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 1000156012,
1041 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 1000156013,
1042 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 1000156014,
1043 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 1000156015,
1044 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 1000156016,
1045 VK_FORMAT_R12X4_UNORM_PACK16 = 1000156017,
1046 VK_FORMAT_R12X4G12X4_UNORM_2PACK16 = 1000156018,
1047 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 1000156019,
1048 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 1000156020,
1049 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 1000156021,
1050 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 1000156022,
1051 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 1000156023,
1052 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 1000156024,
1053 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 1000156025,
1054 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 1000156026,
1055 VK_FORMAT_G16B16G16R16_422_UNORM = 1000156027,
1056 VK_FORMAT_B16G16R16G16_422_UNORM = 1000156028,
1057 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM = 1000156029,
1058 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM = 1000156030,
1059 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM = 1000156031,
1060 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM = 1000156032,
1061 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM = 1000156033,
1062 VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG = 1000054000,
1063 VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001,
1064 VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = 1000054002,
1065 VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG = 1000054003,
1066 VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG = 1000054004,
1067 VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005,
1068 VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006,
1069 VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007,
1070 VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT = 1000066000,
1071 VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT = 1000066001,
1072 VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT = 1000066002,
1073 VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT = 1000066003,
1074 VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT = 1000066004,
1075 VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT = 1000066005,
1076 VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT = 1000066006,
1077 VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT = 1000066007,
1078 VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT = 1000066008,
1079 VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT = 1000066009,
1080 VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT = 1000066010,
1081 VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT = 1000066011,
1082 VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT = 1000066012,
1083 VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT = 1000066013,
1084 VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT = 1000340000,
1085 VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT = 1000340001,
1086 VK_FORMAT_G8B8G8R8_422_UNORM_KHR = VK_FORMAT_G8B8G8R8_422_UNORM,
1087 VK_FORMAT_B8G8R8G8_422_UNORM_KHR = VK_FORMAT_B8G8R8G8_422_UNORM,
1088 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM,
1089 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM,
1090 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM,
1091 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM,
1092 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM,
1093 VK_FORMAT_R10X6_UNORM_PACK16_KHR = VK_FORMAT_R10X6_UNORM_PACK16,
1094 VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR = VK_FORMAT_R10X6G10X6_UNORM_2PACK16,
1095 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16,
1096 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16,
1097 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16,
1098 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16,
1099 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16,
1100 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16,
1101 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16,
1102 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16,
1103 VK_FORMAT_R12X4_UNORM_PACK16_KHR = VK_FORMAT_R12X4_UNORM_PACK16,
1104 VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR = VK_FORMAT_R12X4G12X4_UNORM_2PACK16,
1105 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16,
1106 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16,
1107 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16,
1108 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16,
1109 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16,
1110 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16,
1111 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16,
1112 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16,
1113 VK_FORMAT_G16B16G16R16_422_UNORM_KHR = VK_FORMAT_G16B16G16R16_422_UNORM,
1114 VK_FORMAT_B16G16R16G16_422_UNORM_KHR = VK_FORMAT_B16G16R16G16_422_UNORM,
1115 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM,
1116 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM,
1117 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM,
1118 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM,
1119 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM,
1120 VK_FORMAT_MAX_ENUM = 0x7FFFFFFF
1121} VkFormat;
1122
1123typedef enum VkImageTiling {
1124 VK_IMAGE_TILING_OPTIMAL = 0,
1125 VK_IMAGE_TILING_LINEAR = 1,
1126 VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT = 1000158000,
1127 VK_IMAGE_TILING_MAX_ENUM = 0x7FFFFFFF
1128} VkImageTiling;
1129
1130typedef enum VkImageType {
1131 VK_IMAGE_TYPE_1D = 0,
1132 VK_IMAGE_TYPE_2D = 1,
1133 VK_IMAGE_TYPE_3D = 2,
1134 VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF
1135} VkImageType;
1136
1137typedef enum VkPhysicalDeviceType {
1138 VK_PHYSICAL_DEVICE_TYPE_OTHER = 0,
1139 VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1,
1140 VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2,
1141 VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3,
1142 VK_PHYSICAL_DEVICE_TYPE_CPU = 4,
1143 VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM = 0x7FFFFFFF
1144} VkPhysicalDeviceType;
1145
1146typedef enum VkQueryType {
1147 VK_QUERY_TYPE_OCCLUSION = 0,
1148 VK_QUERY_TYPE_PIPELINE_STATISTICS = 1,
1149 VK_QUERY_TYPE_TIMESTAMP = 2,
1150 VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT = 1000028004,
1151 VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR = 1000116000,
1152 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR = 1000165000,
1153 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR = 1000150000,
1154 VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL = 1000210000,
1155 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV = VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR,
1156 VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF
1157} VkQueryType;
1158
1159typedef enum VkSharingMode {
1160 VK_SHARING_MODE_EXCLUSIVE = 0,
1161 VK_SHARING_MODE_CONCURRENT = 1,
1162 VK_SHARING_MODE_MAX_ENUM = 0x7FFFFFFF
1163} VkSharingMode;
1164
1165typedef enum VkComponentSwizzle {
1166 VK_COMPONENT_SWIZZLE_IDENTITY = 0,
1167 VK_COMPONENT_SWIZZLE_ZERO = 1,
1168 VK_COMPONENT_SWIZZLE_ONE = 2,
1169 VK_COMPONENT_SWIZZLE_R = 3,
1170 VK_COMPONENT_SWIZZLE_G = 4,
1171 VK_COMPONENT_SWIZZLE_B = 5,
1172 VK_COMPONENT_SWIZZLE_A = 6,
1173 VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF
1174} VkComponentSwizzle;
1175
1176typedef enum VkImageViewType {
1177 VK_IMAGE_VIEW_TYPE_1D = 0,
1178 VK_IMAGE_VIEW_TYPE_2D = 1,
1179 VK_IMAGE_VIEW_TYPE_3D = 2,
1180 VK_IMAGE_VIEW_TYPE_CUBE = 3,
1181 VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4,
1182 VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5,
1183 VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6,
1184 VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7FFFFFFF
1185} VkImageViewType;
1186
1187typedef enum VkBlendFactor {
1188 VK_BLEND_FACTOR_ZERO = 0,
1189 VK_BLEND_FACTOR_ONE = 1,
1190 VK_BLEND_FACTOR_SRC_COLOR = 2,
1191 VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3,
1192 VK_BLEND_FACTOR_DST_COLOR = 4,
1193 VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5,
1194 VK_BLEND_FACTOR_SRC_ALPHA = 6,
1195 VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7,
1196 VK_BLEND_FACTOR_DST_ALPHA = 8,
1197 VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9,
1198 VK_BLEND_FACTOR_CONSTANT_COLOR = 10,
1199 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11,
1200 VK_BLEND_FACTOR_CONSTANT_ALPHA = 12,
1201 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13,
1202 VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14,
1203 VK_BLEND_FACTOR_SRC1_COLOR = 15,
1204 VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16,
1205 VK_BLEND_FACTOR_SRC1_ALPHA = 17,
1206 VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18,
1207 VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF
1208} VkBlendFactor;
1209
1210typedef enum VkBlendOp {
1211 VK_BLEND_OP_ADD = 0,
1212 VK_BLEND_OP_SUBTRACT = 1,
1213 VK_BLEND_OP_REVERSE_SUBTRACT = 2,
1214 VK_BLEND_OP_MIN = 3,
1215 VK_BLEND_OP_MAX = 4,
1216 VK_BLEND_OP_ZERO_EXT = 1000148000,
1217 VK_BLEND_OP_SRC_EXT = 1000148001,
1218 VK_BLEND_OP_DST_EXT = 1000148002,
1219 VK_BLEND_OP_SRC_OVER_EXT = 1000148003,
1220 VK_BLEND_OP_DST_OVER_EXT = 1000148004,
1221 VK_BLEND_OP_SRC_IN_EXT = 1000148005,
1222 VK_BLEND_OP_DST_IN_EXT = 1000148006,
1223 VK_BLEND_OP_SRC_OUT_EXT = 1000148007,
1224 VK_BLEND_OP_DST_OUT_EXT = 1000148008,
1225 VK_BLEND_OP_SRC_ATOP_EXT = 1000148009,
1226 VK_BLEND_OP_DST_ATOP_EXT = 1000148010,
1227 VK_BLEND_OP_XOR_EXT = 1000148011,
1228 VK_BLEND_OP_MULTIPLY_EXT = 1000148012,
1229 VK_BLEND_OP_SCREEN_EXT = 1000148013,
1230 VK_BLEND_OP_OVERLAY_EXT = 1000148014,
1231 VK_BLEND_OP_DARKEN_EXT = 1000148015,
1232 VK_BLEND_OP_LIGHTEN_EXT = 1000148016,
1233 VK_BLEND_OP_COLORDODGE_EXT = 1000148017,
1234 VK_BLEND_OP_COLORBURN_EXT = 1000148018,
1235 VK_BLEND_OP_HARDLIGHT_EXT = 1000148019,
1236 VK_BLEND_OP_SOFTLIGHT_EXT = 1000148020,
1237 VK_BLEND_OP_DIFFERENCE_EXT = 1000148021,
1238 VK_BLEND_OP_EXCLUSION_EXT = 1000148022,
1239 VK_BLEND_OP_INVERT_EXT = 1000148023,
1240 VK_BLEND_OP_INVERT_RGB_EXT = 1000148024,
1241 VK_BLEND_OP_LINEARDODGE_EXT = 1000148025,
1242 VK_BLEND_OP_LINEARBURN_EXT = 1000148026,
1243 VK_BLEND_OP_VIVIDLIGHT_EXT = 1000148027,
1244 VK_BLEND_OP_LINEARLIGHT_EXT = 1000148028,
1245 VK_BLEND_OP_PINLIGHT_EXT = 1000148029,
1246 VK_BLEND_OP_HARDMIX_EXT = 1000148030,
1247 VK_BLEND_OP_HSL_HUE_EXT = 1000148031,
1248 VK_BLEND_OP_HSL_SATURATION_EXT = 1000148032,
1249 VK_BLEND_OP_HSL_COLOR_EXT = 1000148033,
1250 VK_BLEND_OP_HSL_LUMINOSITY_EXT = 1000148034,
1251 VK_BLEND_OP_PLUS_EXT = 1000148035,
1252 VK_BLEND_OP_PLUS_CLAMPED_EXT = 1000148036,
1253 VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT = 1000148037,
1254 VK_BLEND_OP_PLUS_DARKER_EXT = 1000148038,
1255 VK_BLEND_OP_MINUS_EXT = 1000148039,
1256 VK_BLEND_OP_MINUS_CLAMPED_EXT = 1000148040,
1257 VK_BLEND_OP_CONTRAST_EXT = 1000148041,
1258 VK_BLEND_OP_INVERT_OVG_EXT = 1000148042,
1259 VK_BLEND_OP_RED_EXT = 1000148043,
1260 VK_BLEND_OP_GREEN_EXT = 1000148044,
1261 VK_BLEND_OP_BLUE_EXT = 1000148045,
1262 VK_BLEND_OP_MAX_ENUM = 0x7FFFFFFF
1263} VkBlendOp;
1264
1265typedef enum VkCompareOp {
1266 VK_COMPARE_OP_NEVER = 0,
1267 VK_COMPARE_OP_LESS = 1,
1268 VK_COMPARE_OP_EQUAL = 2,
1269 VK_COMPARE_OP_LESS_OR_EQUAL = 3,
1270 VK_COMPARE_OP_GREATER = 4,
1271 VK_COMPARE_OP_NOT_EQUAL = 5,
1272 VK_COMPARE_OP_GREATER_OR_EQUAL = 6,
1273 VK_COMPARE_OP_ALWAYS = 7,
1274 VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF
1275} VkCompareOp;
1276
1277typedef enum VkDynamicState {
1278 VK_DYNAMIC_STATE_VIEWPORT = 0,
1279 VK_DYNAMIC_STATE_SCISSOR = 1,
1280 VK_DYNAMIC_STATE_LINE_WIDTH = 2,
1281 VK_DYNAMIC_STATE_DEPTH_BIAS = 3,
1282 VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4,
1283 VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5,
1284 VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6,
1285 VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7,
1286 VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8,
1287 VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV = 1000087000,
1288 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000,
1289 VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT = 1000143000,
1290 VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV = 1000164004,
1291 VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV = 1000164006,
1292 VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV = 1000205001,
1293 VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR = 1000226000,
1294 VK_DYNAMIC_STATE_LINE_STIPPLE_EXT = 1000259000,
1295 VK_DYNAMIC_STATE_CULL_MODE_EXT = 1000267000,
1296 VK_DYNAMIC_STATE_FRONT_FACE_EXT = 1000267001,
1297 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = 1000267002,
1298 VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT = 1000267003,
1299 VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT = 1000267004,
1300 VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT = 1000267005,
1301 VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT = 1000267006,
1302 VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT = 1000267007,
1303 VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT = 1000267008,
1304 VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT = 1000267009,
1305 VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT = 1000267010,
1306 VK_DYNAMIC_STATE_STENCIL_OP_EXT = 1000267011,
1307 VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF
1308} VkDynamicState;
1309
1310typedef enum VkFrontFace {
1311 VK_FRONT_FACE_COUNTER_CLOCKWISE = 0,
1312 VK_FRONT_FACE_CLOCKWISE = 1,
1313 VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF
1314} VkFrontFace;
1315
1316typedef enum VkVertexInputRate {
1317 VK_VERTEX_INPUT_RATE_VERTEX = 0,
1318 VK_VERTEX_INPUT_RATE_INSTANCE = 1,
1319 VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF
1320} VkVertexInputRate;
1321
1322typedef enum VkPrimitiveTopology {
1323 VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0,
1324 VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1,
1325 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2,
1326 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3,
1327 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4,
1328 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5,
1329 VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6,
1330 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7,
1331 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8,
1332 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9,
1333 VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10,
1334 VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7FFFFFFF
1335} VkPrimitiveTopology;
1336
1337typedef enum VkPolygonMode {
1338 VK_POLYGON_MODE_FILL = 0,
1339 VK_POLYGON_MODE_LINE = 1,
1340 VK_POLYGON_MODE_POINT = 2,
1341 VK_POLYGON_MODE_FILL_RECTANGLE_NV = 1000153000,
1342 VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF
1343} VkPolygonMode;
1344
1345typedef enum VkStencilOp {
1346 VK_STENCIL_OP_KEEP = 0,
1347 VK_STENCIL_OP_ZERO = 1,
1348 VK_STENCIL_OP_REPLACE = 2,
1349 VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3,
1350 VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4,
1351 VK_STENCIL_OP_INVERT = 5,
1352 VK_STENCIL_OP_INCREMENT_AND_WRAP = 6,
1353 VK_STENCIL_OP_DECREMENT_AND_WRAP = 7,
1354 VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF
1355} VkStencilOp;
1356
1357typedef enum VkLogicOp {
1358 VK_LOGIC_OP_CLEAR = 0,
1359 VK_LOGIC_OP_AND = 1,
1360 VK_LOGIC_OP_AND_REVERSE = 2,
1361 VK_LOGIC_OP_COPY = 3,
1362 VK_LOGIC_OP_AND_INVERTED = 4,
1363 VK_LOGIC_OP_NO_OP = 5,
1364 VK_LOGIC_OP_XOR = 6,
1365 VK_LOGIC_OP_OR = 7,
1366 VK_LOGIC_OP_NOR = 8,
1367 VK_LOGIC_OP_EQUIVALENT = 9,
1368 VK_LOGIC_OP_INVERT = 10,
1369 VK_LOGIC_OP_OR_REVERSE = 11,
1370 VK_LOGIC_OP_COPY_INVERTED = 12,
1371 VK_LOGIC_OP_OR_INVERTED = 13,
1372 VK_LOGIC_OP_NAND = 14,
1373 VK_LOGIC_OP_SET = 15,
1374 VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF
1375} VkLogicOp;
1376
1377typedef enum VkBorderColor {
1378 VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0,
1379 VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1,
1380 VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2,
1381 VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3,
1382 VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4,
1383 VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5,
1384 VK_BORDER_COLOR_FLOAT_CUSTOM_EXT = 1000287003,
1385 VK_BORDER_COLOR_INT_CUSTOM_EXT = 1000287004,
1386 VK_BORDER_COLOR_MAX_ENUM = 0x7FFFFFFF
1387} VkBorderColor;
1388
1389typedef enum VkFilter {
1390 VK_FILTER_NEAREST = 0,
1391 VK_FILTER_LINEAR = 1,
1392 VK_FILTER_CUBIC_IMG = 1000015000,
1393 VK_FILTER_CUBIC_EXT = VK_FILTER_CUBIC_IMG,
1394 VK_FILTER_MAX_ENUM = 0x7FFFFFFF
1395} VkFilter;
1396
1397typedef enum VkSamplerAddressMode {
1398 VK_SAMPLER_ADDRESS_MODE_REPEAT = 0,
1399 VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1,
1400 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2,
1401 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3,
1402 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4,
1403 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE,
1404 VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = 0x7FFFFFFF
1405} VkSamplerAddressMode;
1406
1407typedef enum VkSamplerMipmapMode {
1408 VK_SAMPLER_MIPMAP_MODE_NEAREST = 0,
1409 VK_SAMPLER_MIPMAP_MODE_LINEAR = 1,
1410 VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF
1411} VkSamplerMipmapMode;
1412
1413typedef enum VkDescriptorType {
1414 VK_DESCRIPTOR_TYPE_SAMPLER = 0,
1415 VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1,
1416 VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2,
1417 VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3,
1418 VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4,
1419 VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5,
1420 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6,
1421 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7,
1422 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8,
1423 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9,
1424 VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10,
1425 VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT = 1000138000,
1426 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR = 1000165000,
1427 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV = VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR,
1428 VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF
1429} VkDescriptorType;
1430
1431typedef enum VkAttachmentLoadOp {
1432 VK_ATTACHMENT_LOAD_OP_LOAD = 0,
1433 VK_ATTACHMENT_LOAD_OP_CLEAR = 1,
1434 VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2,
1435 VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7FFFFFFF
1436} VkAttachmentLoadOp;
1437
1438typedef enum VkAttachmentStoreOp {
1439 VK_ATTACHMENT_STORE_OP_STORE = 0,
1440 VK_ATTACHMENT_STORE_OP_DONT_CARE = 1,
1441 VK_ATTACHMENT_STORE_OP_NONE_QCOM = 1000301000,
1442 VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF
1443} VkAttachmentStoreOp;
1444
1445typedef enum VkPipelineBindPoint {
1446 VK_PIPELINE_BIND_POINT_GRAPHICS = 0,
1447 VK_PIPELINE_BIND_POINT_COMPUTE = 1,
1448 VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR = 1000165000,
1449 VK_PIPELINE_BIND_POINT_RAY_TRACING_NV = VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR,
1450 VK_PIPELINE_BIND_POINT_MAX_ENUM = 0x7FFFFFFF
1451} VkPipelineBindPoint;
1452
1453typedef enum VkCommandBufferLevel {
1454 VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0,
1455 VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1,
1456 VK_COMMAND_BUFFER_LEVEL_MAX_ENUM = 0x7FFFFFFF
1457} VkCommandBufferLevel;
1458
1459typedef enum VkIndexType {
1460 VK_INDEX_TYPE_UINT16 = 0,
1461 VK_INDEX_TYPE_UINT32 = 1,
1462 VK_INDEX_TYPE_NONE_KHR = 1000165000,
1463 VK_INDEX_TYPE_UINT8_EXT = 1000265000,
1464 VK_INDEX_TYPE_NONE_NV = VK_INDEX_TYPE_NONE_KHR,
1465 VK_INDEX_TYPE_MAX_ENUM = 0x7FFFFFFF
1466} VkIndexType;
1467
1468typedef enum VkSubpassContents {
1469 VK_SUBPASS_CONTENTS_INLINE = 0,
1470 VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1,
1471 VK_SUBPASS_CONTENTS_MAX_ENUM = 0x7FFFFFFF
1472} VkSubpassContents;
1473
1474typedef enum VkAccessFlagBits {
1475 VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001,
1476 VK_ACCESS_INDEX_READ_BIT = 0x00000002,
1477 VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004,
1478 VK_ACCESS_UNIFORM_READ_BIT = 0x00000008,
1479 VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 0x00000010,
1480 VK_ACCESS_SHADER_READ_BIT = 0x00000020,
1481 VK_ACCESS_SHADER_WRITE_BIT = 0x00000040,
1482 VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 0x00000080,
1483 VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100,
1484 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200,
1485 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400,
1486 VK_ACCESS_TRANSFER_READ_BIT = 0x00000800,
1487 VK_ACCESS_TRANSFER_WRITE_BIT = 0x00001000,
1488 VK_ACCESS_HOST_READ_BIT = 0x00002000,
1489 VK_ACCESS_HOST_WRITE_BIT = 0x00004000,
1490 VK_ACCESS_MEMORY_READ_BIT = 0x00008000,
1491 VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000,
1492 VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000,
1493 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000,
1494 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000,
1495 VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000,
1496 VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000,
1497 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000,
1498 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000,
1499 VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000,
1500 VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000,
1501 VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000,
1502 VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000,
1503 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR,
1504 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,
1505 VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV,
1506 VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1507} VkAccessFlagBits;
1508typedef VkFlags VkAccessFlags;
1509
1510typedef enum VkImageAspectFlagBits {
1511 VK_IMAGE_ASPECT_COLOR_BIT = 0x00000001,
1512 VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002,
1513 VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004,
1514 VK_IMAGE_ASPECT_METADATA_BIT = 0x00000008,
1515 VK_IMAGE_ASPECT_PLANE_0_BIT = 0x00000010,
1516 VK_IMAGE_ASPECT_PLANE_1_BIT = 0x00000020,
1517 VK_IMAGE_ASPECT_PLANE_2_BIT = 0x00000040,
1518 VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 0x00000080,
1519 VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 0x00000100,
1520 VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 0x00000200,
1521 VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = 0x00000400,
1522 VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = VK_IMAGE_ASPECT_PLANE_0_BIT,
1523 VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = VK_IMAGE_ASPECT_PLANE_1_BIT,
1524 VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = VK_IMAGE_ASPECT_PLANE_2_BIT,
1525 VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1526} VkImageAspectFlagBits;
1527typedef VkFlags VkImageAspectFlags;
1528
1529typedef enum VkFormatFeatureFlagBits {
1530 VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 0x00000001,
1531 VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 0x00000002,
1532 VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004,
1533 VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008,
1534 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 0x00000010,
1535 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020,
1536 VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 0x00000040,
1537 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 0x00000080,
1538 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100,
1539 VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200,
1540 VK_FORMAT_FEATURE_BLIT_SRC_BIT = 0x00000400,
1541 VK_FORMAT_FEATURE_BLIT_DST_BIT = 0x00000800,
1542 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000,
1543 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT = 0x00004000,
1544 VK_FORMAT_FEATURE_TRANSFER_DST_BIT = 0x00008000,
1545 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000,
1546 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000,
1547 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000,
1548 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000,
1549 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000,
1550 VK_FORMAT_FEATURE_DISJOINT_BIT = 0x00400000,
1551 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT = 0x00800000,
1552 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000,
1553 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = 0x00002000,
1554 VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000,
1555 VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000,
1556 VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000,
1557 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT,
1558 VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_DST_BIT,
1559 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT,
1560 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT,
1561 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT,
1562 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT,
1563 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT,
1564 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,
1565 VK_FORMAT_FEATURE_DISJOINT_BIT_KHR = VK_FORMAT_FEATURE_DISJOINT_BIT,
1566 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT,
1567 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG,
1568 VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1569} VkFormatFeatureFlagBits;
1570typedef VkFlags VkFormatFeatureFlags;
1571
1572typedef enum VkImageCreateFlagBits {
1573 VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 0x00000001,
1574 VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
1575 VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
1576 VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 0x00000008,
1577 VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 0x00000010,
1578 VK_IMAGE_CREATE_ALIAS_BIT = 0x00000400,
1579 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT = 0x00000040,
1580 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT = 0x00000020,
1581 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT = 0x00000080,
1582 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT = 0x00000100,
1583 VK_IMAGE_CREATE_PROTECTED_BIT = 0x00000800,
1584 VK_IMAGE_CREATE_DISJOINT_BIT = 0x00000200,
1585 VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 0x00002000,
1586 VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000,
1587 VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 0x00004000,
1588 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT,
1589 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT,
1590 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT,
1591 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT,
1592 VK_IMAGE_CREATE_DISJOINT_BIT_KHR = VK_IMAGE_CREATE_DISJOINT_BIT,
1593 VK_IMAGE_CREATE_ALIAS_BIT_KHR = VK_IMAGE_CREATE_ALIAS_BIT,
1594 VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1595} VkImageCreateFlagBits;
1596typedef VkFlags VkImageCreateFlags;
1597
1598typedef enum VkSampleCountFlagBits {
1599 VK_SAMPLE_COUNT_1_BIT = 0x00000001,
1600 VK_SAMPLE_COUNT_2_BIT = 0x00000002,
1601 VK_SAMPLE_COUNT_4_BIT = 0x00000004,
1602 VK_SAMPLE_COUNT_8_BIT = 0x00000008,
1603 VK_SAMPLE_COUNT_16_BIT = 0x00000010,
1604 VK_SAMPLE_COUNT_32_BIT = 0x00000020,
1605 VK_SAMPLE_COUNT_64_BIT = 0x00000040,
1606 VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1607} VkSampleCountFlagBits;
1608typedef VkFlags VkSampleCountFlags;
1609
1610typedef enum VkImageUsageFlagBits {
1611 VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 0x00000001,
1612 VK_IMAGE_USAGE_TRANSFER_DST_BIT = 0x00000002,
1613 VK_IMAGE_USAGE_SAMPLED_BIT = 0x00000004,
1614 VK_IMAGE_USAGE_STORAGE_BIT = 0x00000008,
1615 VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000010,
1616 VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000020,
1617 VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000040,
1618 VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0x00000080,
1619 VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = 0x00000100,
1620 VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x00000200,
1621 VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV,
1622 VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1623} VkImageUsageFlagBits;
1624typedef VkFlags VkImageUsageFlags;
1625typedef VkFlags VkInstanceCreateFlags;
1626
1627typedef enum VkMemoryHeapFlagBits {
1628 VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0x00000001,
1629 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = 0x00000002,
1630 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT,
1631 VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1632} VkMemoryHeapFlagBits;
1633typedef VkFlags VkMemoryHeapFlags;
1634
1635typedef enum VkMemoryPropertyFlagBits {
1636 VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 0x00000001,
1637 VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 0x00000002,
1638 VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 0x00000004,
1639 VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 0x00000008,
1640 VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 0x00000010,
1641 VK_MEMORY_PROPERTY_PROTECTED_BIT = 0x00000020,
1642 VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD = 0x00000040,
1643 VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD = 0x00000080,
1644 VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1645} VkMemoryPropertyFlagBits;
1646typedef VkFlags VkMemoryPropertyFlags;
1647
1648typedef enum VkQueueFlagBits {
1649 VK_QUEUE_GRAPHICS_BIT = 0x00000001,
1650 VK_QUEUE_COMPUTE_BIT = 0x00000002,
1651 VK_QUEUE_TRANSFER_BIT = 0x00000004,
1652 VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008,
1653 VK_QUEUE_PROTECTED_BIT = 0x00000010,
1654 VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1655} VkQueueFlagBits;
1656typedef VkFlags VkQueueFlags;
1657typedef VkFlags VkDeviceCreateFlags;
1658
1659typedef enum VkDeviceQueueCreateFlagBits {
1660 VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT = 0x00000001,
1661 VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1662} VkDeviceQueueCreateFlagBits;
1663typedef VkFlags VkDeviceQueueCreateFlags;
1664
1665typedef enum VkPipelineStageFlagBits {
1666 VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 0x00000001,
1667 VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 0x00000002,
1668 VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 0x00000004,
1669 VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 0x00000008,
1670 VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010,
1671 VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020,
1672 VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 0x00000040,
1673 VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 0x00000080,
1674 VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 0x00000100,
1675 VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 0x00000200,
1676 VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400,
1677 VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 0x00000800,
1678 VK_PIPELINE_STAGE_TRANSFER_BIT = 0x00001000,
1679 VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 0x00002000,
1680 VK_PIPELINE_STAGE_HOST_BIT = 0x00004000,
1681 VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0x00008000,
1682 VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00010000,
1683 VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000,
1684 VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000,
1685 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = 0x00200000,
1686 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000,
1687 VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = 0x00400000,
1688 VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV = 0x00080000,
1689 VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV = 0x00100000,
1690 VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000,
1691 VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV = 0x00020000,
1692 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV = VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR,
1693 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
1694 VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV,
1695 VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1696} VkPipelineStageFlagBits;
1697typedef VkFlags VkPipelineStageFlags;
1698typedef VkFlags VkMemoryMapFlags;
1699
1700typedef enum VkSparseMemoryBindFlagBits {
1701 VK_SPARSE_MEMORY_BIND_METADATA_BIT = 0x00000001,
1702 VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1703} VkSparseMemoryBindFlagBits;
1704typedef VkFlags VkSparseMemoryBindFlags;
1705
1706typedef enum VkSparseImageFormatFlagBits {
1707 VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 0x00000001,
1708 VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 0x00000002,
1709 VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 0x00000004,
1710 VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1711} VkSparseImageFormatFlagBits;
1712typedef VkFlags VkSparseImageFormatFlags;
1713
1714typedef enum VkFenceCreateFlagBits {
1715 VK_FENCE_CREATE_SIGNALED_BIT = 0x00000001,
1716 VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1717} VkFenceCreateFlagBits;
1718typedef VkFlags VkFenceCreateFlags;
1719typedef VkFlags VkSemaphoreCreateFlags;
1720typedef VkFlags VkEventCreateFlags;
1721
1722typedef enum VkQueryPipelineStatisticFlagBits {
1723 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 0x00000001,
1724 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 0x00000002,
1725 VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 0x00000004,
1726 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 0x00000008,
1727 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 0x00000010,
1728 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 0x00000020,
1729 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 0x00000040,
1730 VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 0x00000080,
1731 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 0x00000100,
1732 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 0x00000200,
1733 VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 0x00000400,
1734 VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1735} VkQueryPipelineStatisticFlagBits;
1736typedef VkFlags VkQueryPipelineStatisticFlags;
1737typedef VkFlags VkQueryPoolCreateFlags;
1738
1739typedef enum VkQueryResultFlagBits {
1740 VK_QUERY_RESULT_64_BIT = 0x00000001,
1741 VK_QUERY_RESULT_WAIT_BIT = 0x00000002,
1742 VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004,
1743 VK_QUERY_RESULT_PARTIAL_BIT = 0x00000008,
1744 VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1745} VkQueryResultFlagBits;
1746typedef VkFlags VkQueryResultFlags;
1747
1748typedef enum VkBufferCreateFlagBits {
1749 VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 0x00000001,
1750 VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
1751 VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
1752 VK_BUFFER_CREATE_PROTECTED_BIT = 0x00000008,
1753 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000010,
1754 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
1755 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
1756 VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1757} VkBufferCreateFlagBits;
1758typedef VkFlags VkBufferCreateFlags;
1759
1760typedef enum VkBufferUsageFlagBits {
1761 VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 0x00000001,
1762 VK_BUFFER_USAGE_TRANSFER_DST_BIT = 0x00000002,
1763 VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000004,
1764 VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 0x00000008,
1765 VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 0x00000010,
1766 VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 0x00000020,
1767 VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 0x00000040,
1768 VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 0x00000080,
1769 VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 0x00000100,
1770 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT = 0x00020000,
1771 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0x00000800,
1772 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000,
1773 VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200,
1774 VK_BUFFER_USAGE_RAY_TRACING_BIT_KHR = 0x00000400,
1775 VK_BUFFER_USAGE_RAY_TRACING_BIT_NV = VK_BUFFER_USAGE_RAY_TRACING_BIT_KHR,
1776 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
1777 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
1778 VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1779} VkBufferUsageFlagBits;
1780typedef VkFlags VkBufferUsageFlags;
1781typedef VkFlags VkBufferViewCreateFlags;
1782
1783typedef enum VkImageViewCreateFlagBits {
1784 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT = 0x00000001,
1785 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT = 0x00000002,
1786 VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1787} VkImageViewCreateFlagBits;
1788typedef VkFlags VkImageViewCreateFlags;
1789
1790typedef enum VkShaderModuleCreateFlagBits {
1791 VK_SHADER_MODULE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1792} VkShaderModuleCreateFlagBits;
1793typedef VkFlags VkShaderModuleCreateFlags;
1794
1795typedef enum VkPipelineCacheCreateFlagBits {
1796 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT = 0x00000001,
1797 VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1798} VkPipelineCacheCreateFlagBits;
1799typedef VkFlags VkPipelineCacheCreateFlags;
1800
1801typedef enum VkColorComponentFlagBits {
1802 VK_COLOR_COMPONENT_R_BIT = 0x00000001,
1803 VK_COLOR_COMPONENT_G_BIT = 0x00000002,
1804 VK_COLOR_COMPONENT_B_BIT = 0x00000004,
1805 VK_COLOR_COMPONENT_A_BIT = 0x00000008,
1806 VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1807} VkColorComponentFlagBits;
1808typedef VkFlags VkColorComponentFlags;
1809
1810typedef enum VkPipelineCreateFlagBits {
1811 VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0x00000001,
1812 VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 0x00000002,
1813 VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0x00000004,
1814 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 0x00000008,
1815 VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 0x00000010,
1816 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 0x00004000,
1817 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 0x00008000,
1818 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 0x00010000,
1819 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR = 0x00020000,
1820 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR = 0x00001000,
1821 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR = 0x00002000,
1822 VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV = 0x00000020,
1823 VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR = 0x00000040,
1824 VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 0x00000080,
1825 VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = 0x00040000,
1826 VK_PIPELINE_CREATE_LIBRARY_BIT_KHR = 0x00000800,
1827 VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = 0x00000100,
1828 VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = 0x00000200,
1829 VK_PIPELINE_CREATE_DISPATCH_BASE = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT,
1830 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT,
1831 VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = VK_PIPELINE_CREATE_DISPATCH_BASE,
1832 VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1833} VkPipelineCreateFlagBits;
1834typedef VkFlags VkPipelineCreateFlags;
1835
1836typedef enum VkPipelineShaderStageCreateFlagBits {
1837 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = 0x00000001,
1838 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = 0x00000002,
1839 VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1840} VkPipelineShaderStageCreateFlagBits;
1841typedef VkFlags VkPipelineShaderStageCreateFlags;
1842
1843typedef enum VkShaderStageFlagBits {
1844 VK_SHADER_STAGE_VERTEX_BIT = 0x00000001,
1845 VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 0x00000002,
1846 VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 0x00000004,
1847 VK_SHADER_STAGE_GEOMETRY_BIT = 0x00000008,
1848 VK_SHADER_STAGE_FRAGMENT_BIT = 0x00000010,
1849 VK_SHADER_STAGE_COMPUTE_BIT = 0x00000020,
1850 VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001F,
1851 VK_SHADER_STAGE_ALL = 0x7FFFFFFF,
1852 VK_SHADER_STAGE_RAYGEN_BIT_KHR = 0x00000100,
1853 VK_SHADER_STAGE_ANY_HIT_BIT_KHR = 0x00000200,
1854 VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR = 0x00000400,
1855 VK_SHADER_STAGE_MISS_BIT_KHR = 0x00000800,
1856 VK_SHADER_STAGE_INTERSECTION_BIT_KHR = 0x00001000,
1857 VK_SHADER_STAGE_CALLABLE_BIT_KHR = 0x00002000,
1858 VK_SHADER_STAGE_TASK_BIT_NV = 0x00000040,
1859 VK_SHADER_STAGE_MESH_BIT_NV = 0x00000080,
1860 VK_SHADER_STAGE_RAYGEN_BIT_NV = VK_SHADER_STAGE_RAYGEN_BIT_KHR,
1861 VK_SHADER_STAGE_ANY_HIT_BIT_NV = VK_SHADER_STAGE_ANY_HIT_BIT_KHR,
1862 VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV = VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR,
1863 VK_SHADER_STAGE_MISS_BIT_NV = VK_SHADER_STAGE_MISS_BIT_KHR,
1864 VK_SHADER_STAGE_INTERSECTION_BIT_NV = VK_SHADER_STAGE_INTERSECTION_BIT_KHR,
1865 VK_SHADER_STAGE_CALLABLE_BIT_NV = VK_SHADER_STAGE_CALLABLE_BIT_KHR,
1866 VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1867} VkShaderStageFlagBits;
1868
1869typedef enum VkCullModeFlagBits {
1870 VK_CULL_MODE_NONE = 0,
1871 VK_CULL_MODE_FRONT_BIT = 0x00000001,
1872 VK_CULL_MODE_BACK_BIT = 0x00000002,
1873 VK_CULL_MODE_FRONT_AND_BACK = 0x00000003,
1874 VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1875} VkCullModeFlagBits;
1876typedef VkFlags VkCullModeFlags;
1877typedef VkFlags VkPipelineVertexInputStateCreateFlags;
1878typedef VkFlags VkPipelineInputAssemblyStateCreateFlags;
1879typedef VkFlags VkPipelineTessellationStateCreateFlags;
1880typedef VkFlags VkPipelineViewportStateCreateFlags;
1881typedef VkFlags VkPipelineRasterizationStateCreateFlags;
1882typedef VkFlags VkPipelineMultisampleStateCreateFlags;
1883typedef VkFlags VkPipelineDepthStencilStateCreateFlags;
1884typedef VkFlags VkPipelineColorBlendStateCreateFlags;
1885typedef VkFlags VkPipelineDynamicStateCreateFlags;
1886typedef VkFlags VkPipelineLayoutCreateFlags;
1887typedef VkFlags VkShaderStageFlags;
1888
1889typedef enum VkSamplerCreateFlagBits {
1890 VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT = 0x00000001,
1891 VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT = 0x00000002,
1892 VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1893} VkSamplerCreateFlagBits;
1894typedef VkFlags VkSamplerCreateFlags;
1895
1896typedef enum VkDescriptorPoolCreateFlagBits {
1897 VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001,
1898 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT = 0x00000002,
1899 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT,
1900 VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1901} VkDescriptorPoolCreateFlagBits;
1902typedef VkFlags VkDescriptorPoolCreateFlags;
1903typedef VkFlags VkDescriptorPoolResetFlags;
1904
1905typedef enum VkDescriptorSetLayoutCreateFlagBits {
1906 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT = 0x00000002,
1907 VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = 0x00000001,
1908 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT,
1909 VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1910} VkDescriptorSetLayoutCreateFlagBits;
1911typedef VkFlags VkDescriptorSetLayoutCreateFlags;
1912
1913typedef enum VkAttachmentDescriptionFlagBits {
1914 VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001,
1915 VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1916} VkAttachmentDescriptionFlagBits;
1917typedef VkFlags VkAttachmentDescriptionFlags;
1918
1919typedef enum VkDependencyFlagBits {
1920 VK_DEPENDENCY_BY_REGION_BIT = 0x00000001,
1921 VK_DEPENDENCY_DEVICE_GROUP_BIT = 0x00000004,
1922 VK_DEPENDENCY_VIEW_LOCAL_BIT = 0x00000002,
1923 VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR = VK_DEPENDENCY_VIEW_LOCAL_BIT,
1924 VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR = VK_DEPENDENCY_DEVICE_GROUP_BIT,
1925 VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1926} VkDependencyFlagBits;
1927typedef VkFlags VkDependencyFlags;
1928
1929typedef enum VkFramebufferCreateFlagBits {
1930 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT = 0x00000001,
1931 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR = VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT,
1932 VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1933} VkFramebufferCreateFlagBits;
1934typedef VkFlags VkFramebufferCreateFlags;
1935
1936typedef enum VkRenderPassCreateFlagBits {
1937 VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM = 0x00000002,
1938 VK_RENDER_PASS_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1939} VkRenderPassCreateFlagBits;
1940typedef VkFlags VkRenderPassCreateFlags;
1941
1942typedef enum VkSubpassDescriptionFlagBits {
1943 VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX = 0x00000001,
1944 VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 0x00000002,
1945 VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM = 0x00000004,
1946 VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM = 0x00000008,
1947 VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1948} VkSubpassDescriptionFlagBits;
1949typedef VkFlags VkSubpassDescriptionFlags;
1950
1951typedef enum VkCommandPoolCreateFlagBits {
1952 VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 0x00000001,
1953 VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002,
1954 VK_COMMAND_POOL_CREATE_PROTECTED_BIT = 0x00000004,
1955 VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1956} VkCommandPoolCreateFlagBits;
1957typedef VkFlags VkCommandPoolCreateFlags;
1958
1959typedef enum VkCommandPoolResetFlagBits {
1960 VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
1961 VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1962} VkCommandPoolResetFlagBits;
1963typedef VkFlags VkCommandPoolResetFlags;
1964
1965typedef enum VkCommandBufferUsageFlagBits {
1966 VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 0x00000001,
1967 VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 0x00000002,
1968 VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 0x00000004,
1969 VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1970} VkCommandBufferUsageFlagBits;
1971typedef VkFlags VkCommandBufferUsageFlags;
1972
1973typedef enum VkQueryControlFlagBits {
1974 VK_QUERY_CONTROL_PRECISE_BIT = 0x00000001,
1975 VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1976} VkQueryControlFlagBits;
1977typedef VkFlags VkQueryControlFlags;
1978
1979typedef enum VkCommandBufferResetFlagBits {
1980 VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
1981 VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1982} VkCommandBufferResetFlagBits;
1983typedef VkFlags VkCommandBufferResetFlags;
1984
1985typedef enum VkStencilFaceFlagBits {
1986 VK_STENCIL_FACE_FRONT_BIT = 0x00000001,
1987 VK_STENCIL_FACE_BACK_BIT = 0x00000002,
1988 VK_STENCIL_FACE_FRONT_AND_BACK = 0x00000003,
1989 VK_STENCIL_FRONT_AND_BACK = VK_STENCIL_FACE_FRONT_AND_BACK,
1990 VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1991} VkStencilFaceFlagBits;
1992typedef VkFlags VkStencilFaceFlags;
1993typedef struct VkExtent2D {
1994 uint32_t width;
1995 uint32_t height;
1996} VkExtent2D;
1997
1998typedef struct VkExtent3D {
1999 uint32_t width;
2000 uint32_t height;
2001 uint32_t depth;
2002} VkExtent3D;
2003
2004typedef struct VkOffset2D {
2005 int32_t x;
2006 int32_t y;
2007} VkOffset2D;
2008
2009typedef struct VkOffset3D {
2010 int32_t x;
2011 int32_t y;
2012 int32_t z;
2013} VkOffset3D;
2014
2015typedef struct VkRect2D {
2016 VkOffset2D offset;
2017 VkExtent2D extent;
2018} VkRect2D;
2019
2020typedef struct VkBaseInStructure {
2021 VkStructureType sType;
2022 const struct VkBaseInStructure* pNext;
2023} VkBaseInStructure;
2024
2025typedef struct VkBaseOutStructure {
2026 VkStructureType sType;
2027 struct VkBaseOutStructure* pNext;
2028} VkBaseOutStructure;
2029
2030typedef struct VkBufferMemoryBarrier {
2031 VkStructureType sType;
2032 const void* pNext;
2033 VkAccessFlags srcAccessMask;
2034 VkAccessFlags dstAccessMask;
2035 uint32_t srcQueueFamilyIndex;
2036 uint32_t dstQueueFamilyIndex;
2037 VkBuffer buffer;
2038 VkDeviceSize offset;
2039 VkDeviceSize size;
2040} VkBufferMemoryBarrier;
2041
2042typedef struct VkDispatchIndirectCommand {
2043 uint32_t x;
2044 uint32_t y;
2045 uint32_t z;
2046} VkDispatchIndirectCommand;
2047
2048typedef struct VkDrawIndexedIndirectCommand {
2049 uint32_t indexCount;
2050 uint32_t instanceCount;
2051 uint32_t firstIndex;
2052 int32_t vertexOffset;
2053 uint32_t firstInstance;
2054} VkDrawIndexedIndirectCommand;
2055
2056typedef struct VkDrawIndirectCommand {
2057 uint32_t vertexCount;
2058 uint32_t instanceCount;
2059 uint32_t firstVertex;
2060 uint32_t firstInstance;
2061} VkDrawIndirectCommand;
2062
2063typedef struct VkImageSubresourceRange {
2064 VkImageAspectFlags aspectMask;
2065 uint32_t baseMipLevel;
2066 uint32_t levelCount;
2067 uint32_t baseArrayLayer;
2068 uint32_t layerCount;
2069} VkImageSubresourceRange;
2070
2071typedef struct VkImageMemoryBarrier {
2072 VkStructureType sType;
2073 const void* pNext;
2074 VkAccessFlags srcAccessMask;
2075 VkAccessFlags dstAccessMask;
2076 VkImageLayout oldLayout;
2077 VkImageLayout newLayout;
2078 uint32_t srcQueueFamilyIndex;
2079 uint32_t dstQueueFamilyIndex;
2080 VkImage image;
2081 VkImageSubresourceRange subresourceRange;
2082} VkImageMemoryBarrier;
2083
2084typedef struct VkMemoryBarrier {
2085 VkStructureType sType;
2086 const void* pNext;
2087 VkAccessFlags srcAccessMask;
2088 VkAccessFlags dstAccessMask;
2089} VkMemoryBarrier;
2090
2091typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
2092 void* pUserData,
2093 size_t size,
2094 size_t alignment,
2095 VkSystemAllocationScope allocationScope);
2096
2097typedef void (VKAPI_PTR *PFN_vkFreeFunction)(
2098 void* pUserData,
2099 void* pMemory);
2100
2101typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(
2102 void* pUserData,
2103 size_t size,
2104 VkInternalAllocationType allocationType,
2105 VkSystemAllocationScope allocationScope);
2106
2107typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(
2108 void* pUserData,
2109 size_t size,
2110 VkInternalAllocationType allocationType,
2111 VkSystemAllocationScope allocationScope);
2112
2113typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
2114 void* pUserData,
2115 void* pOriginal,
2116 size_t size,
2117 size_t alignment,
2118 VkSystemAllocationScope allocationScope);
2119
2120typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
2121typedef struct VkAllocationCallbacks {
2122 void* pUserData;
2123 PFN_vkAllocationFunction pfnAllocation;
2124 PFN_vkReallocationFunction pfnReallocation;
2125 PFN_vkFreeFunction pfnFree;
2126 PFN_vkInternalAllocationNotification pfnInternalAllocation;
2127 PFN_vkInternalFreeNotification pfnInternalFree;
2128} VkAllocationCallbacks;
2129
2130typedef struct VkApplicationInfo {
2131 VkStructureType sType;
2132 const void* pNext;
2133 const char* pApplicationName;
2134 uint32_t applicationVersion;
2135 const char* pEngineName;
2136 uint32_t engineVersion;
2137 uint32_t apiVersion;
2138} VkApplicationInfo;
2139
2140typedef struct VkFormatProperties {
2141 VkFormatFeatureFlags linearTilingFeatures;
2142 VkFormatFeatureFlags optimalTilingFeatures;
2143 VkFormatFeatureFlags bufferFeatures;
2144} VkFormatProperties;
2145
2146typedef struct VkImageFormatProperties {
2147 VkExtent3D maxExtent;
2148 uint32_t maxMipLevels;
2149 uint32_t maxArrayLayers;
2150 VkSampleCountFlags sampleCounts;
2151 VkDeviceSize maxResourceSize;
2152} VkImageFormatProperties;
2153
2154typedef struct VkInstanceCreateInfo {
2155 VkStructureType sType;
2156 const void* pNext;
2157 VkInstanceCreateFlags flags;
2158 const VkApplicationInfo* pApplicationInfo;
2159 uint32_t enabledLayerCount;
2160 const char* const* ppEnabledLayerNames;
2161 uint32_t enabledExtensionCount;
2162 const char* const* ppEnabledExtensionNames;
2163} VkInstanceCreateInfo;
2164
2165typedef struct VkMemoryHeap {
2166 VkDeviceSize size;
2167 VkMemoryHeapFlags flags;
2168} VkMemoryHeap;
2169
2170typedef struct VkMemoryType {
2171 VkMemoryPropertyFlags propertyFlags;
2172 uint32_t heapIndex;
2173} VkMemoryType;
2174
2175typedef struct VkPhysicalDeviceFeatures {
2176 VkBool32 robustBufferAccess;
2177 VkBool32 fullDrawIndexUint32;
2178 VkBool32 imageCubeArray;
2179 VkBool32 independentBlend;
2180 VkBool32 geometryShader;
2181 VkBool32 tessellationShader;
2182 VkBool32 sampleRateShading;
2183 VkBool32 dualSrcBlend;
2184 VkBool32 logicOp;
2185 VkBool32 multiDrawIndirect;
2186 VkBool32 drawIndirectFirstInstance;
2187 VkBool32 depthClamp;
2188 VkBool32 depthBiasClamp;
2189 VkBool32 fillModeNonSolid;
2190 VkBool32 depthBounds;
2191 VkBool32 wideLines;
2192 VkBool32 largePoints;
2193 VkBool32 alphaToOne;
2194 VkBool32 multiViewport;
2195 VkBool32 samplerAnisotropy;
2196 VkBool32 textureCompressionETC2;
2197 VkBool32 textureCompressionASTC_LDR;
2198 VkBool32 textureCompressionBC;
2199 VkBool32 occlusionQueryPrecise;
2200 VkBool32 pipelineStatisticsQuery;
2201 VkBool32 vertexPipelineStoresAndAtomics;
2202 VkBool32 fragmentStoresAndAtomics;
2203 VkBool32 shaderTessellationAndGeometryPointSize;
2204 VkBool32 shaderImageGatherExtended;
2205 VkBool32 shaderStorageImageExtendedFormats;
2206 VkBool32 shaderStorageImageMultisample;
2207 VkBool32 shaderStorageImageReadWithoutFormat;
2208 VkBool32 shaderStorageImageWriteWithoutFormat;
2209 VkBool32 shaderUniformBufferArrayDynamicIndexing;
2210 VkBool32 shaderSampledImageArrayDynamicIndexing;
2211 VkBool32 shaderStorageBufferArrayDynamicIndexing;
2212 VkBool32 shaderStorageImageArrayDynamicIndexing;
2213 VkBool32 shaderClipDistance;
2214 VkBool32 shaderCullDistance;
2215 VkBool32 shaderFloat64;
2216 VkBool32 shaderInt64;
2217 VkBool32 shaderInt16;
2218 VkBool32 shaderResourceResidency;
2219 VkBool32 shaderResourceMinLod;
2220 VkBool32 sparseBinding;
2221 VkBool32 sparseResidencyBuffer;
2222 VkBool32 sparseResidencyImage2D;
2223 VkBool32 sparseResidencyImage3D;
2224 VkBool32 sparseResidency2Samples;
2225 VkBool32 sparseResidency4Samples;
2226 VkBool32 sparseResidency8Samples;
2227 VkBool32 sparseResidency16Samples;
2228 VkBool32 sparseResidencyAliased;
2229 VkBool32 variableMultisampleRate;
2230 VkBool32 inheritedQueries;
2231} VkPhysicalDeviceFeatures;
2232
2233typedef struct VkPhysicalDeviceLimits {
2234 uint32_t maxImageDimension1D;
2235 uint32_t maxImageDimension2D;
2236 uint32_t maxImageDimension3D;
2237 uint32_t maxImageDimensionCube;
2238 uint32_t maxImageArrayLayers;
2239 uint32_t maxTexelBufferElements;
2240 uint32_t maxUniformBufferRange;
2241 uint32_t maxStorageBufferRange;
2242 uint32_t maxPushConstantsSize;
2243 uint32_t maxMemoryAllocationCount;
2244 uint32_t maxSamplerAllocationCount;
2245 VkDeviceSize bufferImageGranularity;
2246 VkDeviceSize sparseAddressSpaceSize;
2247 uint32_t maxBoundDescriptorSets;
2248 uint32_t maxPerStageDescriptorSamplers;
2249 uint32_t maxPerStageDescriptorUniformBuffers;
2250 uint32_t maxPerStageDescriptorStorageBuffers;
2251 uint32_t maxPerStageDescriptorSampledImages;
2252 uint32_t maxPerStageDescriptorStorageImages;
2253 uint32_t maxPerStageDescriptorInputAttachments;
2254 uint32_t maxPerStageResources;
2255 uint32_t maxDescriptorSetSamplers;
2256 uint32_t maxDescriptorSetUniformBuffers;
2257 uint32_t maxDescriptorSetUniformBuffersDynamic;
2258 uint32_t maxDescriptorSetStorageBuffers;
2259 uint32_t maxDescriptorSetStorageBuffersDynamic;
2260 uint32_t maxDescriptorSetSampledImages;
2261 uint32_t maxDescriptorSetStorageImages;
2262 uint32_t maxDescriptorSetInputAttachments;
2263 uint32_t maxVertexInputAttributes;
2264 uint32_t maxVertexInputBindings;
2265 uint32_t maxVertexInputAttributeOffset;
2266 uint32_t maxVertexInputBindingStride;
2267 uint32_t maxVertexOutputComponents;
2268 uint32_t maxTessellationGenerationLevel;
2269 uint32_t maxTessellationPatchSize;
2270 uint32_t maxTessellationControlPerVertexInputComponents;
2271 uint32_t maxTessellationControlPerVertexOutputComponents;
2272 uint32_t maxTessellationControlPerPatchOutputComponents;
2273 uint32_t maxTessellationControlTotalOutputComponents;
2274 uint32_t maxTessellationEvaluationInputComponents;
2275 uint32_t maxTessellationEvaluationOutputComponents;
2276 uint32_t maxGeometryShaderInvocations;
2277 uint32_t maxGeometryInputComponents;
2278 uint32_t maxGeometryOutputComponents;
2279 uint32_t maxGeometryOutputVertices;
2280 uint32_t maxGeometryTotalOutputComponents;
2281 uint32_t maxFragmentInputComponents;
2282 uint32_t maxFragmentOutputAttachments;
2283 uint32_t maxFragmentDualSrcAttachments;
2284 uint32_t maxFragmentCombinedOutputResources;
2285 uint32_t maxComputeSharedMemorySize;
2286 uint32_t maxComputeWorkGroupCount[3];
2287 uint32_t maxComputeWorkGroupInvocations;
2288 uint32_t maxComputeWorkGroupSize[3];
2289 uint32_t subPixelPrecisionBits;
2290 uint32_t subTexelPrecisionBits;
2291 uint32_t mipmapPrecisionBits;
2292 uint32_t maxDrawIndexedIndexValue;
2293 uint32_t maxDrawIndirectCount;
2294 float maxSamplerLodBias;
2295 float maxSamplerAnisotropy;
2296 uint32_t maxViewports;
2297 uint32_t maxViewportDimensions[2];
2298 float viewportBoundsRange[2];
2299 uint32_t viewportSubPixelBits;
2300 size_t minMemoryMapAlignment;
2301 VkDeviceSize minTexelBufferOffsetAlignment;
2302 VkDeviceSize minUniformBufferOffsetAlignment;
2303 VkDeviceSize minStorageBufferOffsetAlignment;
2304 int32_t minTexelOffset;
2305 uint32_t maxTexelOffset;
2306 int32_t minTexelGatherOffset;
2307 uint32_t maxTexelGatherOffset;
2308 float minInterpolationOffset;
2309 float maxInterpolationOffset;
2310 uint32_t subPixelInterpolationOffsetBits;
2311 uint32_t maxFramebufferWidth;
2312 uint32_t maxFramebufferHeight;
2313 uint32_t maxFramebufferLayers;
2314 VkSampleCountFlags framebufferColorSampleCounts;
2315 VkSampleCountFlags framebufferDepthSampleCounts;
2316 VkSampleCountFlags framebufferStencilSampleCounts;
2317 VkSampleCountFlags framebufferNoAttachmentsSampleCounts;
2318 uint32_t maxColorAttachments;
2319 VkSampleCountFlags sampledImageColorSampleCounts;
2320 VkSampleCountFlags sampledImageIntegerSampleCounts;
2321 VkSampleCountFlags sampledImageDepthSampleCounts;
2322 VkSampleCountFlags sampledImageStencilSampleCounts;
2323 VkSampleCountFlags storageImageSampleCounts;
2324 uint32_t maxSampleMaskWords;
2325 VkBool32 timestampComputeAndGraphics;
2326 float timestampPeriod;
2327 uint32_t maxClipDistances;
2328 uint32_t maxCullDistances;
2329 uint32_t maxCombinedClipAndCullDistances;
2330 uint32_t discreteQueuePriorities;
2331 float pointSizeRange[2];
2332 float lineWidthRange[2];
2333 float pointSizeGranularity;
2334 float lineWidthGranularity;
2335 VkBool32 strictLines;
2336 VkBool32 standardSampleLocations;
2337 VkDeviceSize optimalBufferCopyOffsetAlignment;
2338 VkDeviceSize optimalBufferCopyRowPitchAlignment;
2339 VkDeviceSize nonCoherentAtomSize;
2340} VkPhysicalDeviceLimits;
2341
2342typedef struct VkPhysicalDeviceMemoryProperties {
2343 uint32_t memoryTypeCount;
2344 VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES];
2345 uint32_t memoryHeapCount;
2346 VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS];
2347} VkPhysicalDeviceMemoryProperties;
2348
2349typedef struct VkPhysicalDeviceSparseProperties {
2350 VkBool32 residencyStandard2DBlockShape;
2351 VkBool32 residencyStandard2DMultisampleBlockShape;
2352 VkBool32 residencyStandard3DBlockShape;
2353 VkBool32 residencyAlignedMipSize;
2354 VkBool32 residencyNonResidentStrict;
2355} VkPhysicalDeviceSparseProperties;
2356
2357typedef struct VkPhysicalDeviceProperties {
2358 uint32_t apiVersion;
2359 uint32_t driverVersion;
2360 uint32_t vendorID;
2361 uint32_t deviceID;
2362 VkPhysicalDeviceType deviceType;
2363 char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
2364 uint8_t pipelineCacheUUID[VK_UUID_SIZE];
2365 VkPhysicalDeviceLimits limits;
2366 VkPhysicalDeviceSparseProperties sparseProperties;
2367} VkPhysicalDeviceProperties;
2368
2369typedef struct VkQueueFamilyProperties {
2370 VkQueueFlags queueFlags;
2371 uint32_t queueCount;
2372 uint32_t timestampValidBits;
2373 VkExtent3D minImageTransferGranularity;
2374} VkQueueFamilyProperties;
2375
2376typedef struct VkDeviceQueueCreateInfo {
2377 VkStructureType sType;
2378 const void* pNext;
2379 VkDeviceQueueCreateFlags flags;
2380 uint32_t queueFamilyIndex;
2381 uint32_t queueCount;
2382 const float* pQueuePriorities;
2383} VkDeviceQueueCreateInfo;
2384
2385typedef struct VkDeviceCreateInfo {
2386 VkStructureType sType;
2387 const void* pNext;
2388 VkDeviceCreateFlags flags;
2389 uint32_t queueCreateInfoCount;
2390 const VkDeviceQueueCreateInfo* pQueueCreateInfos;
2391 uint32_t enabledLayerCount;
2392 const char* const* ppEnabledLayerNames;
2393 uint32_t enabledExtensionCount;
2394 const char* const* ppEnabledExtensionNames;
2395 const VkPhysicalDeviceFeatures* pEnabledFeatures;
2396} VkDeviceCreateInfo;
2397
2398typedef struct VkExtensionProperties {
2399 char extensionName[VK_MAX_EXTENSION_NAME_SIZE];
2400 uint32_t specVersion;
2401} VkExtensionProperties;
2402
2403typedef struct VkLayerProperties {
2404 char layerName[VK_MAX_EXTENSION_NAME_SIZE];
2405 uint32_t specVersion;
2406 uint32_t implementationVersion;
2407 char description[VK_MAX_DESCRIPTION_SIZE];
2408} VkLayerProperties;
2409
2410typedef struct VkSubmitInfo {
2411 VkStructureType sType;
2412 const void* pNext;
2413 uint32_t waitSemaphoreCount;
2414 const VkSemaphore* pWaitSemaphores;
2415 const VkPipelineStageFlags* pWaitDstStageMask;
2416 uint32_t commandBufferCount;
2417 const VkCommandBuffer* pCommandBuffers;
2418 uint32_t signalSemaphoreCount;
2419 const VkSemaphore* pSignalSemaphores;
2420} VkSubmitInfo;
2421
2422typedef struct VkMappedMemoryRange {
2423 VkStructureType sType;
2424 const void* pNext;
2425 VkDeviceMemory memory;
2426 VkDeviceSize offset;
2427 VkDeviceSize size;
2428} VkMappedMemoryRange;
2429
2430typedef struct VkMemoryAllocateInfo {
2431 VkStructureType sType;
2432 const void* pNext;
2433 VkDeviceSize allocationSize;
2434 uint32_t memoryTypeIndex;
2435} VkMemoryAllocateInfo;
2436
2437typedef struct VkMemoryRequirements {
2438 VkDeviceSize size;
2439 VkDeviceSize alignment;
2440 uint32_t memoryTypeBits;
2441} VkMemoryRequirements;
2442
2443typedef struct VkSparseMemoryBind {
2444 VkDeviceSize resourceOffset;
2445 VkDeviceSize size;
2446 VkDeviceMemory memory;
2447 VkDeviceSize memoryOffset;
2448 VkSparseMemoryBindFlags flags;
2449} VkSparseMemoryBind;
2450
2451typedef struct VkSparseBufferMemoryBindInfo {
2452 VkBuffer buffer;
2453 uint32_t bindCount;
2454 const VkSparseMemoryBind* pBinds;
2455} VkSparseBufferMemoryBindInfo;
2456
2457typedef struct VkSparseImageOpaqueMemoryBindInfo {
2458 VkImage image;
2459 uint32_t bindCount;
2460 const VkSparseMemoryBind* pBinds;
2461} VkSparseImageOpaqueMemoryBindInfo;
2462
2463typedef struct VkImageSubresource {
2464 VkImageAspectFlags aspectMask;
2465 uint32_t mipLevel;
2466 uint32_t arrayLayer;
2467} VkImageSubresource;
2468
2469typedef struct VkSparseImageMemoryBind {
2470 VkImageSubresource subresource;
2471 VkOffset3D offset;
2472 VkExtent3D extent;
2473 VkDeviceMemory memory;
2474 VkDeviceSize memoryOffset;
2475 VkSparseMemoryBindFlags flags;
2476} VkSparseImageMemoryBind;
2477
2478typedef struct VkSparseImageMemoryBindInfo {
2479 VkImage image;
2480 uint32_t bindCount;
2481 const VkSparseImageMemoryBind* pBinds;
2482} VkSparseImageMemoryBindInfo;
2483
2484typedef struct VkBindSparseInfo {
2485 VkStructureType sType;
2486 const void* pNext;
2487 uint32_t waitSemaphoreCount;
2488 const VkSemaphore* pWaitSemaphores;
2489 uint32_t bufferBindCount;
2490 const VkSparseBufferMemoryBindInfo* pBufferBinds;
2491 uint32_t imageOpaqueBindCount;
2492 const VkSparseImageOpaqueMemoryBindInfo* pImageOpaqueBinds;
2493 uint32_t imageBindCount;
2494 const VkSparseImageMemoryBindInfo* pImageBinds;
2495 uint32_t signalSemaphoreCount;
2496 const VkSemaphore* pSignalSemaphores;
2497} VkBindSparseInfo;
2498
2499typedef struct VkSparseImageFormatProperties {
2500 VkImageAspectFlags aspectMask;
2501 VkExtent3D imageGranularity;
2502 VkSparseImageFormatFlags flags;
2503} VkSparseImageFormatProperties;
2504
2505typedef struct VkSparseImageMemoryRequirements {
2506 VkSparseImageFormatProperties formatProperties;
2507 uint32_t imageMipTailFirstLod;
2508 VkDeviceSize imageMipTailSize;
2509 VkDeviceSize imageMipTailOffset;
2510 VkDeviceSize imageMipTailStride;
2511} VkSparseImageMemoryRequirements;
2512
2513typedef struct VkFenceCreateInfo {
2514 VkStructureType sType;
2515 const void* pNext;
2516 VkFenceCreateFlags flags;
2517} VkFenceCreateInfo;
2518
2519typedef struct VkSemaphoreCreateInfo {
2520 VkStructureType sType;
2521 const void* pNext;
2522 VkSemaphoreCreateFlags flags;
2523} VkSemaphoreCreateInfo;
2524
2525typedef struct VkEventCreateInfo {
2526 VkStructureType sType;
2527 const void* pNext;
2528 VkEventCreateFlags flags;
2529} VkEventCreateInfo;
2530
2531typedef struct VkQueryPoolCreateInfo {
2532 VkStructureType sType;
2533 const void* pNext;
2534 VkQueryPoolCreateFlags flags;
2535 VkQueryType queryType;
2536 uint32_t queryCount;
2537 VkQueryPipelineStatisticFlags pipelineStatistics;
2538} VkQueryPoolCreateInfo;
2539
2540typedef struct VkBufferCreateInfo {
2541 VkStructureType sType;
2542 const void* pNext;
2543 VkBufferCreateFlags flags;
2544 VkDeviceSize size;
2545 VkBufferUsageFlags usage;
2546 VkSharingMode sharingMode;
2547 uint32_t queueFamilyIndexCount;
2548 const uint32_t* pQueueFamilyIndices;
2549} VkBufferCreateInfo;
2550
2551typedef struct VkBufferViewCreateInfo {
2552 VkStructureType sType;
2553 const void* pNext;
2554 VkBufferViewCreateFlags flags;
2555 VkBuffer buffer;
2556 VkFormat format;
2557 VkDeviceSize offset;
2558 VkDeviceSize range;
2559} VkBufferViewCreateInfo;
2560
2561typedef struct VkImageCreateInfo {
2562 VkStructureType sType;
2563 const void* pNext;
2564 VkImageCreateFlags flags;
2565 VkImageType imageType;
2566 VkFormat format;
2567 VkExtent3D extent;
2568 uint32_t mipLevels;
2569 uint32_t arrayLayers;
2570 VkSampleCountFlagBits samples;
2571 VkImageTiling tiling;
2572 VkImageUsageFlags usage;
2573 VkSharingMode sharingMode;
2574 uint32_t queueFamilyIndexCount;
2575 const uint32_t* pQueueFamilyIndices;
2576 VkImageLayout initialLayout;
2577} VkImageCreateInfo;
2578
2579typedef struct VkSubresourceLayout {
2580 VkDeviceSize offset;
2581 VkDeviceSize size;
2582 VkDeviceSize rowPitch;
2583 VkDeviceSize arrayPitch;
2584 VkDeviceSize depthPitch;
2585} VkSubresourceLayout;
2586
2587typedef struct VkComponentMapping {
2588 VkComponentSwizzle r;
2589 VkComponentSwizzle g;
2590 VkComponentSwizzle b;
2591 VkComponentSwizzle a;
2592} VkComponentMapping;
2593
2594typedef struct VkImageViewCreateInfo {
2595 VkStructureType sType;
2596 const void* pNext;
2597 VkImageViewCreateFlags flags;
2598 VkImage image;
2599 VkImageViewType viewType;
2600 VkFormat format;
2601 VkComponentMapping components;
2602 VkImageSubresourceRange subresourceRange;
2603} VkImageViewCreateInfo;
2604
2605typedef struct VkShaderModuleCreateInfo {
2606 VkStructureType sType;
2607 const void* pNext;
2608 VkShaderModuleCreateFlags flags;
2609 size_t codeSize;
2610 const uint32_t* pCode;
2611} VkShaderModuleCreateInfo;
2612
2613typedef struct VkPipelineCacheCreateInfo {
2614 VkStructureType sType;
2615 const void* pNext;
2616 VkPipelineCacheCreateFlags flags;
2617 size_t initialDataSize;
2618 const void* pInitialData;
2619} VkPipelineCacheCreateInfo;
2620
2621typedef struct VkSpecializationMapEntry {
2622 uint32_t constantID;
2623 uint32_t offset;
2624 size_t size;
2625} VkSpecializationMapEntry;
2626
2627typedef struct VkSpecializationInfo {
2628 uint32_t mapEntryCount;
2629 const VkSpecializationMapEntry* pMapEntries;
2630 size_t dataSize;
2631 const void* pData;
2632} VkSpecializationInfo;
2633
2634typedef struct VkPipelineShaderStageCreateInfo {
2635 VkStructureType sType;
2636 const void* pNext;
2637 VkPipelineShaderStageCreateFlags flags;
2638 VkShaderStageFlagBits stage;
2639 VkShaderModule module;
2640 const char* pName;
2641 const VkSpecializationInfo* pSpecializationInfo;
2642} VkPipelineShaderStageCreateInfo;
2643
2644typedef struct VkComputePipelineCreateInfo {
2645 VkStructureType sType;
2646 const void* pNext;
2647 VkPipelineCreateFlags flags;
2648 VkPipelineShaderStageCreateInfo stage;
2649 VkPipelineLayout layout;
2650 VkPipeline basePipelineHandle;
2651 int32_t basePipelineIndex;
2652} VkComputePipelineCreateInfo;
2653
2654typedef struct VkVertexInputBindingDescription {
2655 uint32_t binding;
2656 uint32_t stride;
2657 VkVertexInputRate inputRate;
2658} VkVertexInputBindingDescription;
2659
2660typedef struct VkVertexInputAttributeDescription {
2661 uint32_t location;
2662 uint32_t binding;
2663 VkFormat format;
2664 uint32_t offset;
2665} VkVertexInputAttributeDescription;
2666
2667typedef struct VkPipelineVertexInputStateCreateInfo {
2668 VkStructureType sType;
2669 const void* pNext;
2670 VkPipelineVertexInputStateCreateFlags flags;
2671 uint32_t vertexBindingDescriptionCount;
2672 const VkVertexInputBindingDescription* pVertexBindingDescriptions;
2673 uint32_t vertexAttributeDescriptionCount;
2674 const VkVertexInputAttributeDescription* pVertexAttributeDescriptions;
2675} VkPipelineVertexInputStateCreateInfo;
2676
2677typedef struct VkPipelineInputAssemblyStateCreateInfo {
2678 VkStructureType sType;
2679 const void* pNext;
2680 VkPipelineInputAssemblyStateCreateFlags flags;
2681 VkPrimitiveTopology topology;
2682 VkBool32 primitiveRestartEnable;
2683} VkPipelineInputAssemblyStateCreateInfo;
2684
2685typedef struct VkPipelineTessellationStateCreateInfo {
2686 VkStructureType sType;
2687 const void* pNext;
2688 VkPipelineTessellationStateCreateFlags flags;
2689 uint32_t patchControlPoints;
2690} VkPipelineTessellationStateCreateInfo;
2691
2692typedef struct VkViewport {
2693 float x;
2694 float y;
2695 float width;
2696 float height;
2697 float minDepth;
2698 float maxDepth;
2699} VkViewport;
2700
2701typedef struct VkPipelineViewportStateCreateInfo {
2702 VkStructureType sType;
2703 const void* pNext;
2704 VkPipelineViewportStateCreateFlags flags;
2705 uint32_t viewportCount;
2706 const VkViewport* pViewports;
2707 uint32_t scissorCount;
2708 const VkRect2D* pScissors;
2709} VkPipelineViewportStateCreateInfo;
2710
2711typedef struct VkPipelineRasterizationStateCreateInfo {
2712 VkStructureType sType;
2713 const void* pNext;
2714 VkPipelineRasterizationStateCreateFlags flags;
2715 VkBool32 depthClampEnable;
2716 VkBool32 rasterizerDiscardEnable;
2717 VkPolygonMode polygonMode;
2718 VkCullModeFlags cullMode;
2719 VkFrontFace frontFace;
2720 VkBool32 depthBiasEnable;
2721 float depthBiasConstantFactor;
2722 float depthBiasClamp;
2723 float depthBiasSlopeFactor;
2724 float lineWidth;
2725} VkPipelineRasterizationStateCreateInfo;
2726
2727typedef struct VkPipelineMultisampleStateCreateInfo {
2728 VkStructureType sType;
2729 const void* pNext;
2730 VkPipelineMultisampleStateCreateFlags flags;
2731 VkSampleCountFlagBits rasterizationSamples;
2732 VkBool32 sampleShadingEnable;
2733 float minSampleShading;
2734 const VkSampleMask* pSampleMask;
2735 VkBool32 alphaToCoverageEnable;
2736 VkBool32 alphaToOneEnable;
2737} VkPipelineMultisampleStateCreateInfo;
2738
2739typedef struct VkStencilOpState {
2740 VkStencilOp failOp;
2741 VkStencilOp passOp;
2742 VkStencilOp depthFailOp;
2743 VkCompareOp compareOp;
2744 uint32_t compareMask;
2745 uint32_t writeMask;
2746 uint32_t reference;
2747} VkStencilOpState;
2748
2749typedef struct VkPipelineDepthStencilStateCreateInfo {
2750 VkStructureType sType;
2751 const void* pNext;
2752 VkPipelineDepthStencilStateCreateFlags flags;
2753 VkBool32 depthTestEnable;
2754 VkBool32 depthWriteEnable;
2755 VkCompareOp depthCompareOp;
2756 VkBool32 depthBoundsTestEnable;
2757 VkBool32 stencilTestEnable;
2758 VkStencilOpState front;
2759 VkStencilOpState back;
2760 float minDepthBounds;
2761 float maxDepthBounds;
2762} VkPipelineDepthStencilStateCreateInfo;
2763
2764typedef struct VkPipelineColorBlendAttachmentState {
2765 VkBool32 blendEnable;
2766 VkBlendFactor srcColorBlendFactor;
2767 VkBlendFactor dstColorBlendFactor;
2768 VkBlendOp colorBlendOp;
2769 VkBlendFactor srcAlphaBlendFactor;
2770 VkBlendFactor dstAlphaBlendFactor;
2771 VkBlendOp alphaBlendOp;
2772 VkColorComponentFlags colorWriteMask;
2773} VkPipelineColorBlendAttachmentState;
2774
2775typedef struct VkPipelineColorBlendStateCreateInfo {
2776 VkStructureType sType;
2777 const void* pNext;
2778 VkPipelineColorBlendStateCreateFlags flags;
2779 VkBool32 logicOpEnable;
2780 VkLogicOp logicOp;
2781 uint32_t attachmentCount;
2782 const VkPipelineColorBlendAttachmentState* pAttachments;
2783 float blendConstants[4];
2784} VkPipelineColorBlendStateCreateInfo;
2785
2786typedef struct VkPipelineDynamicStateCreateInfo {
2787 VkStructureType sType;
2788 const void* pNext;
2789 VkPipelineDynamicStateCreateFlags flags;
2790 uint32_t dynamicStateCount;
2791 const VkDynamicState* pDynamicStates;
2792} VkPipelineDynamicStateCreateInfo;
2793
2794typedef struct VkGraphicsPipelineCreateInfo {
2795 VkStructureType sType;
2796 const void* pNext;
2797 VkPipelineCreateFlags flags;
2798 uint32_t stageCount;
2799 const VkPipelineShaderStageCreateInfo* pStages;
2800 const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
2801 const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState;
2802 const VkPipelineTessellationStateCreateInfo* pTessellationState;
2803 const VkPipelineViewportStateCreateInfo* pViewportState;
2804 const VkPipelineRasterizationStateCreateInfo* pRasterizationState;
2805 const VkPipelineMultisampleStateCreateInfo* pMultisampleState;
2806 const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState;
2807 const VkPipelineColorBlendStateCreateInfo* pColorBlendState;
2808 const VkPipelineDynamicStateCreateInfo* pDynamicState;
2809 VkPipelineLayout layout;
2810 VkRenderPass renderPass;
2811 uint32_t subpass;
2812 VkPipeline basePipelineHandle;
2813 int32_t basePipelineIndex;
2814} VkGraphicsPipelineCreateInfo;
2815
2816typedef struct VkPushConstantRange {
2817 VkShaderStageFlags stageFlags;
2818 uint32_t offset;
2819 uint32_t size;
2820} VkPushConstantRange;
2821
2822typedef struct VkPipelineLayoutCreateInfo {
2823 VkStructureType sType;
2824 const void* pNext;
2825 VkPipelineLayoutCreateFlags flags;
2826 uint32_t setLayoutCount;
2827 const VkDescriptorSetLayout* pSetLayouts;
2828 uint32_t pushConstantRangeCount;
2829 const VkPushConstantRange* pPushConstantRanges;
2830} VkPipelineLayoutCreateInfo;
2831
2832typedef struct VkSamplerCreateInfo {
2833 VkStructureType sType;
2834 const void* pNext;
2835 VkSamplerCreateFlags flags;
2836 VkFilter magFilter;
2837 VkFilter minFilter;
2838 VkSamplerMipmapMode mipmapMode;
2839 VkSamplerAddressMode addressModeU;
2840 VkSamplerAddressMode addressModeV;
2841 VkSamplerAddressMode addressModeW;
2842 float mipLodBias;
2843 VkBool32 anisotropyEnable;
2844 float maxAnisotropy;
2845 VkBool32 compareEnable;
2846 VkCompareOp compareOp;
2847 float minLod;
2848 float maxLod;
2849 VkBorderColor borderColor;
2850 VkBool32 unnormalizedCoordinates;
2851} VkSamplerCreateInfo;
2852
2853typedef struct VkCopyDescriptorSet {
2854 VkStructureType sType;
2855 const void* pNext;
2856 VkDescriptorSet srcSet;
2857 uint32_t srcBinding;
2858 uint32_t srcArrayElement;
2859 VkDescriptorSet dstSet;
2860 uint32_t dstBinding;
2861 uint32_t dstArrayElement;
2862 uint32_t descriptorCount;
2863} VkCopyDescriptorSet;
2864
2865typedef struct VkDescriptorBufferInfo {
2866 VkBuffer buffer;
2867 VkDeviceSize offset;
2868 VkDeviceSize range;
2869} VkDescriptorBufferInfo;
2870
2871typedef struct VkDescriptorImageInfo {
2872 VkSampler sampler;
2873 VkImageView imageView;
2874 VkImageLayout imageLayout;
2875} VkDescriptorImageInfo;
2876
2877typedef struct VkDescriptorPoolSize {
2878 VkDescriptorType type;
2879 uint32_t descriptorCount;
2880} VkDescriptorPoolSize;
2881
2882typedef struct VkDescriptorPoolCreateInfo {
2883 VkStructureType sType;
2884 const void* pNext;
2885 VkDescriptorPoolCreateFlags flags;
2886 uint32_t maxSets;
2887 uint32_t poolSizeCount;
2888 const VkDescriptorPoolSize* pPoolSizes;
2889} VkDescriptorPoolCreateInfo;
2890
2891typedef struct VkDescriptorSetAllocateInfo {
2892 VkStructureType sType;
2893 const void* pNext;
2894 VkDescriptorPool descriptorPool;
2895 uint32_t descriptorSetCount;
2896 const VkDescriptorSetLayout* pSetLayouts;
2897} VkDescriptorSetAllocateInfo;
2898
2899typedef struct VkDescriptorSetLayoutBinding {
2900 uint32_t binding;
2901 VkDescriptorType descriptorType;
2902 uint32_t descriptorCount;
2903 VkShaderStageFlags stageFlags;
2904 const VkSampler* pImmutableSamplers;
2905} VkDescriptorSetLayoutBinding;
2906
2907typedef struct VkDescriptorSetLayoutCreateInfo {
2908 VkStructureType sType;
2909 const void* pNext;
2910 VkDescriptorSetLayoutCreateFlags flags;
2911 uint32_t bindingCount;
2912 const VkDescriptorSetLayoutBinding* pBindings;
2913} VkDescriptorSetLayoutCreateInfo;
2914
2915typedef struct VkWriteDescriptorSet {
2916 VkStructureType sType;
2917 const void* pNext;
2918 VkDescriptorSet dstSet;
2919 uint32_t dstBinding;
2920 uint32_t dstArrayElement;
2921 uint32_t descriptorCount;
2922 VkDescriptorType descriptorType;
2923 const VkDescriptorImageInfo* pImageInfo;
2924 const VkDescriptorBufferInfo* pBufferInfo;
2925 const VkBufferView* pTexelBufferView;
2926} VkWriteDescriptorSet;
2927
2928typedef struct VkAttachmentDescription {
2929 VkAttachmentDescriptionFlags flags;
2930 VkFormat format;
2931 VkSampleCountFlagBits samples;
2932 VkAttachmentLoadOp loadOp;
2933 VkAttachmentStoreOp storeOp;
2934 VkAttachmentLoadOp stencilLoadOp;
2935 VkAttachmentStoreOp stencilStoreOp;
2936 VkImageLayout initialLayout;
2937 VkImageLayout finalLayout;
2938} VkAttachmentDescription;
2939
2940typedef struct VkAttachmentReference {
2941 uint32_t attachment;
2942 VkImageLayout layout;
2943} VkAttachmentReference;
2944
2945typedef struct VkFramebufferCreateInfo {
2946 VkStructureType sType;
2947 const void* pNext;
2948 VkFramebufferCreateFlags flags;
2949 VkRenderPass renderPass;
2950 uint32_t attachmentCount;
2951 const VkImageView* pAttachments;
2952 uint32_t width;
2953 uint32_t height;
2954 uint32_t layers;
2955} VkFramebufferCreateInfo;
2956
2957typedef struct VkSubpassDescription {
2958 VkSubpassDescriptionFlags flags;
2959 VkPipelineBindPoint pipelineBindPoint;
2960 uint32_t inputAttachmentCount;
2961 const VkAttachmentReference* pInputAttachments;
2962 uint32_t colorAttachmentCount;
2963 const VkAttachmentReference* pColorAttachments;
2964 const VkAttachmentReference* pResolveAttachments;
2965 const VkAttachmentReference* pDepthStencilAttachment;
2966 uint32_t preserveAttachmentCount;
2967 const uint32_t* pPreserveAttachments;
2968} VkSubpassDescription;
2969
2970typedef struct VkSubpassDependency {
2971 uint32_t srcSubpass;
2972 uint32_t dstSubpass;
2973 VkPipelineStageFlags srcStageMask;
2974 VkPipelineStageFlags dstStageMask;
2975 VkAccessFlags srcAccessMask;
2976 VkAccessFlags dstAccessMask;
2977 VkDependencyFlags dependencyFlags;
2978} VkSubpassDependency;
2979
2980typedef struct VkRenderPassCreateInfo {
2981 VkStructureType sType;
2982 const void* pNext;
2983 VkRenderPassCreateFlags flags;
2984 uint32_t attachmentCount;
2985 const VkAttachmentDescription* pAttachments;
2986 uint32_t subpassCount;
2987 const VkSubpassDescription* pSubpasses;
2988 uint32_t dependencyCount;
2989 const VkSubpassDependency* pDependencies;
2990} VkRenderPassCreateInfo;
2991
2992typedef struct VkCommandPoolCreateInfo {
2993 VkStructureType sType;
2994 const void* pNext;
2995 VkCommandPoolCreateFlags flags;
2996 uint32_t queueFamilyIndex;
2997} VkCommandPoolCreateInfo;
2998
2999typedef struct VkCommandBufferAllocateInfo {
3000 VkStructureType sType;
3001 const void* pNext;
3002 VkCommandPool commandPool;
3003 VkCommandBufferLevel level;
3004 uint32_t commandBufferCount;
3005} VkCommandBufferAllocateInfo;
3006
3007typedef struct VkCommandBufferInheritanceInfo {
3008 VkStructureType sType;
3009 const void* pNext;
3010 VkRenderPass renderPass;
3011 uint32_t subpass;
3012 VkFramebuffer framebuffer;
3013 VkBool32 occlusionQueryEnable;
3014 VkQueryControlFlags queryFlags;
3015 VkQueryPipelineStatisticFlags pipelineStatistics;
3016} VkCommandBufferInheritanceInfo;
3017
3018typedef struct VkCommandBufferBeginInfo {
3019 VkStructureType sType;
3020 const void* pNext;
3021 VkCommandBufferUsageFlags flags;
3022 const VkCommandBufferInheritanceInfo* pInheritanceInfo;
3023} VkCommandBufferBeginInfo;
3024
3025typedef struct VkBufferCopy {
3026 VkDeviceSize srcOffset;
3027 VkDeviceSize dstOffset;
3028 VkDeviceSize size;
3029} VkBufferCopy;
3030
3031typedef struct VkImageSubresourceLayers {
3032 VkImageAspectFlags aspectMask;
3033 uint32_t mipLevel;
3034 uint32_t baseArrayLayer;
3035 uint32_t layerCount;
3036} VkImageSubresourceLayers;
3037
3038typedef struct VkBufferImageCopy {
3039 VkDeviceSize bufferOffset;
3040 uint32_t bufferRowLength;
3041 uint32_t bufferImageHeight;
3042 VkImageSubresourceLayers imageSubresource;
3043 VkOffset3D imageOffset;
3044 VkExtent3D imageExtent;
3045} VkBufferImageCopy;
3046
3047typedef union VkClearColorValue {
3048 float float32[4];
3049 int32_t int32[4];
3050 uint32_t uint32[4];
3051} VkClearColorValue;
3052
3053typedef struct VkClearDepthStencilValue {
3054 float depth;
3055 uint32_t stencil;
3056} VkClearDepthStencilValue;
3057
3058typedef union VkClearValue {
3059 VkClearColorValue color;
3060 VkClearDepthStencilValue depthStencil;
3061} VkClearValue;
3062
3063typedef struct VkClearAttachment {
3064 VkImageAspectFlags aspectMask;
3065 uint32_t colorAttachment;
3066 VkClearValue clearValue;
3067} VkClearAttachment;
3068
3069typedef struct VkClearRect {
3070 VkRect2D rect;
3071 uint32_t baseArrayLayer;
3072 uint32_t layerCount;
3073} VkClearRect;
3074
3075typedef struct VkImageBlit {
3076 VkImageSubresourceLayers srcSubresource;
3077 VkOffset3D srcOffsets[2];
3078 VkImageSubresourceLayers dstSubresource;
3079 VkOffset3D dstOffsets[2];
3080} VkImageBlit;
3081
3082typedef struct VkImageCopy {
3083 VkImageSubresourceLayers srcSubresource;
3084 VkOffset3D srcOffset;
3085 VkImageSubresourceLayers dstSubresource;
3086 VkOffset3D dstOffset;
3087 VkExtent3D extent;
3088} VkImageCopy;
3089
3090typedef struct VkImageResolve {
3091 VkImageSubresourceLayers srcSubresource;
3092 VkOffset3D srcOffset;
3093 VkImageSubresourceLayers dstSubresource;
3094 VkOffset3D dstOffset;
3095 VkExtent3D extent;
3096} VkImageResolve;
3097
3098typedef struct VkRenderPassBeginInfo {
3099 VkStructureType sType;
3100 const void* pNext;
3101 VkRenderPass renderPass;
3102 VkFramebuffer framebuffer;
3103 VkRect2D renderArea;
3104 uint32_t clearValueCount;
3105 const VkClearValue* pClearValues;
3106} VkRenderPassBeginInfo;
3107
3108typedef VkResult (VKAPI_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance);
3109typedef void (VKAPI_PTR *PFN_vkDestroyInstance)(VkInstance instance, const VkAllocationCallbacks* pAllocator);
3110typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDevices)(VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices);
3111typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures);
3112typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties);
3113typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties);
3114typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties);
3115typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties);
3116typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties);
3117typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddr)(VkInstance instance, const char* pName);
3118typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetDeviceProcAddr)(VkDevice device, const char* pName);
3119typedef VkResult (VKAPI_PTR *PFN_vkCreateDevice)(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice);
3120typedef void (VKAPI_PTR *PFN_vkDestroyDevice)(VkDevice device, const VkAllocationCallbacks* pAllocator);
3121typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceExtensionProperties)(const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties);
3122typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties);
3123typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceLayerProperties)(uint32_t* pPropertyCount, VkLayerProperties* pProperties);
3124typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties);
3125typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue)(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue);
3126typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence);
3127typedef VkResult (VKAPI_PTR *PFN_vkQueueWaitIdle)(VkQueue queue);
3128typedef VkResult (VKAPI_PTR *PFN_vkDeviceWaitIdle)(VkDevice device);
3129typedef VkResult (VKAPI_PTR *PFN_vkAllocateMemory)(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory);
3130typedef void (VKAPI_PTR *PFN_vkFreeMemory)(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator);
3131typedef VkResult (VKAPI_PTR *PFN_vkMapMemory)(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData);
3132typedef void (VKAPI_PTR *PFN_vkUnmapMemory)(VkDevice device, VkDeviceMemory memory);
3133typedef VkResult (VKAPI_PTR *PFN_vkFlushMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
3134typedef VkResult (VKAPI_PTR *PFN_vkInvalidateMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
3135typedef void (VKAPI_PTR *PFN_vkGetDeviceMemoryCommitment)(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes);
3136typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory)(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset);
3137typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory)(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset);
3138typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements)(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements);
3139typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements)(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements);
3140typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements)(VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
3141typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties);
3142typedef VkResult (VKAPI_PTR *PFN_vkQueueBindSparse)(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence);
3143typedef VkResult (VKAPI_PTR *PFN_vkCreateFence)(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
3144typedef void (VKAPI_PTR *PFN_vkDestroyFence)(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator);
3145typedef VkResult (VKAPI_PTR *PFN_vkResetFences)(VkDevice device, uint32_t fenceCount, const VkFence* pFences);
3146typedef VkResult (VKAPI_PTR *PFN_vkGetFenceStatus)(VkDevice device, VkFence fence);
3147typedef VkResult (VKAPI_PTR *PFN_vkWaitForFences)(VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout);
3148typedef VkResult (VKAPI_PTR *PFN_vkCreateSemaphore)(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore);
3149typedef void (VKAPI_PTR *PFN_vkDestroySemaphore)(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator);
3150typedef VkResult (VKAPI_PTR *PFN_vkCreateEvent)(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent);
3151typedef void (VKAPI_PTR *PFN_vkDestroyEvent)(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator);
3152typedef VkResult (VKAPI_PTR *PFN_vkGetEventStatus)(VkDevice device, VkEvent event);
3153typedef VkResult (VKAPI_PTR *PFN_vkSetEvent)(VkDevice device, VkEvent event);
3154typedef VkResult (VKAPI_PTR *PFN_vkResetEvent)(VkDevice device, VkEvent event);
3155typedef VkResult (VKAPI_PTR *PFN_vkCreateQueryPool)(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool);
3156typedef void (VKAPI_PTR *PFN_vkDestroyQueryPool)(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator);
3157typedef VkResult (VKAPI_PTR *PFN_vkGetQueryPoolResults)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags);
3158typedef VkResult (VKAPI_PTR *PFN_vkCreateBuffer)(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer);
3159typedef void (VKAPI_PTR *PFN_vkDestroyBuffer)(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator);
3160typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferView)(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView);
3161typedef void (VKAPI_PTR *PFN_vkDestroyBufferView)(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator);
3162typedef VkResult (VKAPI_PTR *PFN_vkCreateImage)(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage);
3163typedef void (VKAPI_PTR *PFN_vkDestroyImage)(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator);
3164typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout)(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout);
3165typedef VkResult (VKAPI_PTR *PFN_vkCreateImageView)(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView);
3166typedef void (VKAPI_PTR *PFN_vkDestroyImageView)(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator);
3167typedef VkResult (VKAPI_PTR *PFN_vkCreateShaderModule)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule);
3168typedef void (VKAPI_PTR *PFN_vkDestroyShaderModule)(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator);
3169typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineCache)(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache);
3170typedef void (VKAPI_PTR *PFN_vkDestroyPipelineCache)(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator);
3171typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineCacheData)(VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData);
3172typedef VkResult (VKAPI_PTR *PFN_vkMergePipelineCaches)(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches);
3173typedef VkResult (VKAPI_PTR *PFN_vkCreateGraphicsPipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
3174typedef VkResult (VKAPI_PTR *PFN_vkCreateComputePipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
3175typedef void (VKAPI_PTR *PFN_vkDestroyPipeline)(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator);
3176typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineLayout)(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout);
3177typedef void (VKAPI_PTR *PFN_vkDestroyPipelineLayout)(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator);
3178typedef VkResult (VKAPI_PTR *PFN_vkCreateSampler)(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler);
3179typedef void (VKAPI_PTR *PFN_vkDestroySampler)(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator);
3180typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorSetLayout)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout);
3181typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorSetLayout)(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator);
3182typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorPool)(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool);
3183typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator);
3184typedef VkResult (VKAPI_PTR *PFN_vkResetDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags);
3185typedef VkResult (VKAPI_PTR *PFN_vkAllocateDescriptorSets)(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets);
3186typedef VkResult (VKAPI_PTR *PFN_vkFreeDescriptorSets)(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets);
3187typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSets)(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies);
3188typedef VkResult (VKAPI_PTR *PFN_vkCreateFramebuffer)(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer);
3189typedef void (VKAPI_PTR *PFN_vkDestroyFramebuffer)(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator);
3190typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass)(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
3191typedef void (VKAPI_PTR *PFN_vkDestroyRenderPass)(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator);
3192typedef void (VKAPI_PTR *PFN_vkGetRenderAreaGranularity)(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity);
3193typedef VkResult (VKAPI_PTR *PFN_vkCreateCommandPool)(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool);
3194typedef void (VKAPI_PTR *PFN_vkDestroyCommandPool)(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator);
3195typedef VkResult (VKAPI_PTR *PFN_vkResetCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags);
3196typedef VkResult (VKAPI_PTR *PFN_vkAllocateCommandBuffers)(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers);
3197typedef void (VKAPI_PTR *PFN_vkFreeCommandBuffers)(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers);
3198typedef VkResult (VKAPI_PTR *PFN_vkBeginCommandBuffer)(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo);
3199typedef VkResult (VKAPI_PTR *PFN_vkEndCommandBuffer)(VkCommandBuffer commandBuffer);
3200typedef VkResult (VKAPI_PTR *PFN_vkResetCommandBuffer)(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags);
3201typedef void (VKAPI_PTR *PFN_vkCmdBindPipeline)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline);
3202typedef void (VKAPI_PTR *PFN_vkCmdSetViewport)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports);
3203typedef void (VKAPI_PTR *PFN_vkCmdSetScissor)(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors);
3204typedef void (VKAPI_PTR *PFN_vkCmdSetLineWidth)(VkCommandBuffer commandBuffer, float lineWidth);
3205typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias)(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor);
3206typedef void (VKAPI_PTR *PFN_vkCmdSetBlendConstants)(VkCommandBuffer commandBuffer, const float blendConstants[4]);
3207typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBounds)(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds);
3208typedef void (VKAPI_PTR *PFN_vkCmdSetStencilCompareMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask);
3209typedef void (VKAPI_PTR *PFN_vkCmdSetStencilWriteMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask);
3210typedef void (VKAPI_PTR *PFN_vkCmdSetStencilReference)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference);
3211typedef 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);
3212typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType);
3213typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets);
3214typedef void (VKAPI_PTR *PFN_vkCmdDraw)(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance);
3215typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexed)(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance);
3216typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
3217typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
3218typedef void (VKAPI_PTR *PFN_vkCmdDispatch)(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ);
3219typedef void (VKAPI_PTR *PFN_vkCmdDispatchIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset);
3220typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions);
3221typedef void (VKAPI_PTR *PFN_vkCmdCopyImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions);
3222typedef void (VKAPI_PTR *PFN_vkCmdBlitImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter);
3223typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions);
3224typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions);
3225typedef void (VKAPI_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData);
3226typedef void (VKAPI_PTR *PFN_vkCmdFillBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data);
3227typedef void (VKAPI_PTR *PFN_vkCmdClearColorImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges);
3228typedef void (VKAPI_PTR *PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges);
3229typedef void (VKAPI_PTR *PFN_vkCmdClearAttachments)(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects);
3230typedef void (VKAPI_PTR *PFN_vkCmdResolveImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions);
3231typedef void (VKAPI_PTR *PFN_vkCmdSetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
3232typedef void (VKAPI_PTR *PFN_vkCmdResetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
3233typedef 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);
3234typedef 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);
3235typedef void (VKAPI_PTR *PFN_vkCmdBeginQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags);
3236typedef void (VKAPI_PTR *PFN_vkCmdEndQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query);
3237typedef void (VKAPI_PTR *PFN_vkCmdResetQueryPool)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount);
3238typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query);
3239typedef void (VKAPI_PTR *PFN_vkCmdCopyQueryPoolResults)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags);
3240typedef void (VKAPI_PTR *PFN_vkCmdPushConstants)(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues);
3241typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents);
3242typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass)(VkCommandBuffer commandBuffer, VkSubpassContents contents);
3243typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass)(VkCommandBuffer commandBuffer);
3244typedef void (VKAPI_PTR *PFN_vkCmdExecuteCommands)(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers);
3245
3246#ifndef VK_NO_PROTOTYPES
3247VKAPI_ATTR VkResult VKAPI_CALL vkCreateInstance(
3248 const VkInstanceCreateInfo* pCreateInfo,
3249 const VkAllocationCallbacks* pAllocator,
3250 VkInstance* pInstance);
3251
3252VKAPI_ATTR void VKAPI_CALL vkDestroyInstance(
3253 VkInstance instance,
3254 const VkAllocationCallbacks* pAllocator);
3255
3256VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDevices(
3257 VkInstance instance,
3258 uint32_t* pPhysicalDeviceCount,
3259 VkPhysicalDevice* pPhysicalDevices);
3260
3261VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures(
3262 VkPhysicalDevice physicalDevice,
3263 VkPhysicalDeviceFeatures* pFeatures);
3264
3265VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties(
3266 VkPhysicalDevice physicalDevice,
3267 VkFormat format,
3268 VkFormatProperties* pFormatProperties);
3269
3270VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties(
3271 VkPhysicalDevice physicalDevice,
3272 VkFormat format,
3273 VkImageType type,
3274 VkImageTiling tiling,
3275 VkImageUsageFlags usage,
3276 VkImageCreateFlags flags,
3277 VkImageFormatProperties* pImageFormatProperties);
3278
3279VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties(
3280 VkPhysicalDevice physicalDevice,
3281 VkPhysicalDeviceProperties* pProperties);
3282
3283VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties(
3284 VkPhysicalDevice physicalDevice,
3285 uint32_t* pQueueFamilyPropertyCount,
3286 VkQueueFamilyProperties* pQueueFamilyProperties);
3287
3288VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties(
3289 VkPhysicalDevice physicalDevice,
3290 VkPhysicalDeviceMemoryProperties* pMemoryProperties);
3291
3292VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr(
3293 VkInstance instance,
3294 const char* pName);
3295
3296VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr(
3297 VkDevice device,
3298 const char* pName);
3299
3300VKAPI_ATTR VkResult VKAPI_CALL vkCreateDevice(
3301 VkPhysicalDevice physicalDevice,
3302 const VkDeviceCreateInfo* pCreateInfo,
3303 const VkAllocationCallbacks* pAllocator,
3304 VkDevice* pDevice);
3305
3306VKAPI_ATTR void VKAPI_CALL vkDestroyDevice(
3307 VkDevice device,
3308 const VkAllocationCallbacks* pAllocator);
3309
3310VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionProperties(
3311 const char* pLayerName,
3312 uint32_t* pPropertyCount,
3313 VkExtensionProperties* pProperties);
3314
3315VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceExtensionProperties(
3316 VkPhysicalDevice physicalDevice,
3317 const char* pLayerName,
3318 uint32_t* pPropertyCount,
3319 VkExtensionProperties* pProperties);
3320
3321VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties(
3322 uint32_t* pPropertyCount,
3323 VkLayerProperties* pProperties);
3324
3325VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceLayerProperties(
3326 VkPhysicalDevice physicalDevice,
3327 uint32_t* pPropertyCount,
3328 VkLayerProperties* pProperties);
3329
3330VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue(
3331 VkDevice device,
3332 uint32_t queueFamilyIndex,
3333 uint32_t queueIndex,
3334 VkQueue* pQueue);
3335
3336VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit(
3337 VkQueue queue,
3338 uint32_t submitCount,
3339 const VkSubmitInfo* pSubmits,
3340 VkFence fence);
3341
3342VKAPI_ATTR VkResult VKAPI_CALL vkQueueWaitIdle(
3343 VkQueue queue);
3344
3345VKAPI_ATTR VkResult VKAPI_CALL vkDeviceWaitIdle(
3346 VkDevice device);
3347
3348VKAPI_ATTR VkResult VKAPI_CALL vkAllocateMemory(
3349 VkDevice device,
3350 const VkMemoryAllocateInfo* pAllocateInfo,
3351 const VkAllocationCallbacks* pAllocator,
3352 VkDeviceMemory* pMemory);
3353
3354VKAPI_ATTR void VKAPI_CALL vkFreeMemory(
3355 VkDevice device,
3356 VkDeviceMemory memory,
3357 const VkAllocationCallbacks* pAllocator);
3358
3359VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory(
3360 VkDevice device,
3361 VkDeviceMemory memory,
3362 VkDeviceSize offset,
3363 VkDeviceSize size,
3364 VkMemoryMapFlags flags,
3365 void** ppData);
3366
3367VKAPI_ATTR void VKAPI_CALL vkUnmapMemory(
3368 VkDevice device,
3369 VkDeviceMemory memory);
3370
3371VKAPI_ATTR VkResult VKAPI_CALL vkFlushMappedMemoryRanges(
3372 VkDevice device,
3373 uint32_t memoryRangeCount,
3374 const VkMappedMemoryRange* pMemoryRanges);
3375
3376VKAPI_ATTR VkResult VKAPI_CALL vkInvalidateMappedMemoryRanges(
3377 VkDevice device,
3378 uint32_t memoryRangeCount,
3379 const VkMappedMemoryRange* pMemoryRanges);
3380
3381VKAPI_ATTR void VKAPI_CALL vkGetDeviceMemoryCommitment(
3382 VkDevice device,
3383 VkDeviceMemory memory,
3384 VkDeviceSize* pCommittedMemoryInBytes);
3385
3386VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory(
3387 VkDevice device,
3388 VkBuffer buffer,
3389 VkDeviceMemory memory,
3390 VkDeviceSize memoryOffset);
3391
3392VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory(
3393 VkDevice device,
3394 VkImage image,
3395 VkDeviceMemory memory,
3396 VkDeviceSize memoryOffset);
3397
3398VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements(
3399 VkDevice device,
3400 VkBuffer buffer,
3401 VkMemoryRequirements* pMemoryRequirements);
3402
3403VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements(
3404 VkDevice device,
3405 VkImage image,
3406 VkMemoryRequirements* pMemoryRequirements);
3407
3408VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements(
3409 VkDevice device,
3410 VkImage image,
3411 uint32_t* pSparseMemoryRequirementCount,
3412 VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
3413
3414VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties(
3415 VkPhysicalDevice physicalDevice,
3416 VkFormat format,
3417 VkImageType type,
3418 VkSampleCountFlagBits samples,
3419 VkImageUsageFlags usage,
3420 VkImageTiling tiling,
3421 uint32_t* pPropertyCount,
3422 VkSparseImageFormatProperties* pProperties);
3423
3424VKAPI_ATTR VkResult VKAPI_CALL vkQueueBindSparse(
3425 VkQueue queue,
3426 uint32_t bindInfoCount,
3427 const VkBindSparseInfo* pBindInfo,
3428 VkFence fence);
3429
3430VKAPI_ATTR VkResult VKAPI_CALL vkCreateFence(
3431 VkDevice device,
3432 const VkFenceCreateInfo* pCreateInfo,
3433 const VkAllocationCallbacks* pAllocator,
3434 VkFence* pFence);
3435
3436VKAPI_ATTR void VKAPI_CALL vkDestroyFence(
3437 VkDevice device,
3438 VkFence fence,
3439 const VkAllocationCallbacks* pAllocator);
3440
3441VKAPI_ATTR VkResult VKAPI_CALL vkResetFences(
3442 VkDevice device,
3443 uint32_t fenceCount,
3444 const VkFence* pFences);
3445
3446VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceStatus(
3447 VkDevice device,
3448 VkFence fence);
3449
3450VKAPI_ATTR VkResult VKAPI_CALL vkWaitForFences(
3451 VkDevice device,
3452 uint32_t fenceCount,
3453 const VkFence* pFences,
3454 VkBool32 waitAll,
3455 uint64_t timeout);
3456
3457VKAPI_ATTR VkResult VKAPI_CALL vkCreateSemaphore(
3458 VkDevice device,
3459 const VkSemaphoreCreateInfo* pCreateInfo,
3460 const VkAllocationCallbacks* pAllocator,
3461 VkSemaphore* pSemaphore);
3462
3463VKAPI_ATTR void VKAPI_CALL vkDestroySemaphore(
3464 VkDevice device,
3465 VkSemaphore semaphore,
3466 const VkAllocationCallbacks* pAllocator);
3467
3468VKAPI_ATTR VkResult VKAPI_CALL vkCreateEvent(
3469 VkDevice device,
3470 const VkEventCreateInfo* pCreateInfo,
3471 const VkAllocationCallbacks* pAllocator,
3472 VkEvent* pEvent);
3473
3474VKAPI_ATTR void VKAPI_CALL vkDestroyEvent(
3475 VkDevice device,
3476 VkEvent event,
3477 const VkAllocationCallbacks* pAllocator);
3478
3479VKAPI_ATTR VkResult VKAPI_CALL vkGetEventStatus(
3480 VkDevice device,
3481 VkEvent event);
3482
3483VKAPI_ATTR VkResult VKAPI_CALL vkSetEvent(
3484 VkDevice device,
3485 VkEvent event);
3486
3487VKAPI_ATTR VkResult VKAPI_CALL vkResetEvent(
3488 VkDevice device,
3489 VkEvent event);
3490
3491VKAPI_ATTR VkResult VKAPI_CALL vkCreateQueryPool(
3492 VkDevice device,
3493 const VkQueryPoolCreateInfo* pCreateInfo,
3494 const VkAllocationCallbacks* pAllocator,
3495 VkQueryPool* pQueryPool);
3496
3497VKAPI_ATTR void VKAPI_CALL vkDestroyQueryPool(
3498 VkDevice device,
3499 VkQueryPool queryPool,
3500 const VkAllocationCallbacks* pAllocator);
3501
3502VKAPI_ATTR VkResult VKAPI_CALL vkGetQueryPoolResults(
3503 VkDevice device,
3504 VkQueryPool queryPool,
3505 uint32_t firstQuery,
3506 uint32_t queryCount,
3507 size_t dataSize,
3508 void* pData,
3509 VkDeviceSize stride,
3510 VkQueryResultFlags flags);
3511
3512VKAPI_ATTR VkResult VKAPI_CALL vkCreateBuffer(
3513 VkDevice device,
3514 const VkBufferCreateInfo* pCreateInfo,
3515 const VkAllocationCallbacks* pAllocator,
3516 VkBuffer* pBuffer);
3517
3518VKAPI_ATTR void VKAPI_CALL vkDestroyBuffer(
3519 VkDevice device,
3520 VkBuffer buffer,
3521 const VkAllocationCallbacks* pAllocator);
3522
3523VKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferView(
3524 VkDevice device,
3525 const VkBufferViewCreateInfo* pCreateInfo,
3526 const VkAllocationCallbacks* pAllocator,
3527 VkBufferView* pView);
3528
3529VKAPI_ATTR void VKAPI_CALL vkDestroyBufferView(
3530 VkDevice device,
3531 VkBufferView bufferView,
3532 const VkAllocationCallbacks* pAllocator);
3533
3534VKAPI_ATTR VkResult VKAPI_CALL vkCreateImage(
3535 VkDevice device,
3536 const VkImageCreateInfo* pCreateInfo,
3537 const VkAllocationCallbacks* pAllocator,
3538 VkImage* pImage);
3539
3540VKAPI_ATTR void VKAPI_CALL vkDestroyImage(
3541 VkDevice device,
3542 VkImage image,
3543 const VkAllocationCallbacks* pAllocator);
3544
3545VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout(
3546 VkDevice device,
3547 VkImage image,
3548 const VkImageSubresource* pSubresource,
3549 VkSubresourceLayout* pLayout);
3550
3551VKAPI_ATTR VkResult VKAPI_CALL vkCreateImageView(
3552 VkDevice device,
3553 const VkImageViewCreateInfo* pCreateInfo,
3554 const VkAllocationCallbacks* pAllocator,
3555 VkImageView* pView);
3556
3557VKAPI_ATTR void VKAPI_CALL vkDestroyImageView(
3558 VkDevice device,
3559 VkImageView imageView,
3560 const VkAllocationCallbacks* pAllocator);
3561
3562VKAPI_ATTR VkResult VKAPI_CALL vkCreateShaderModule(
3563 VkDevice device,
3564 const VkShaderModuleCreateInfo* pCreateInfo,
3565 const VkAllocationCallbacks* pAllocator,
3566 VkShaderModule* pShaderModule);
3567
3568VKAPI_ATTR void VKAPI_CALL vkDestroyShaderModule(
3569 VkDevice device,
3570 VkShaderModule shaderModule,
3571 const VkAllocationCallbacks* pAllocator);
3572
3573VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineCache(
3574 VkDevice device,
3575 const VkPipelineCacheCreateInfo* pCreateInfo,
3576 const VkAllocationCallbacks* pAllocator,
3577 VkPipelineCache* pPipelineCache);
3578
3579VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineCache(
3580 VkDevice device,
3581 VkPipelineCache pipelineCache,
3582 const VkAllocationCallbacks* pAllocator);
3583
3584VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineCacheData(
3585 VkDevice device,
3586 VkPipelineCache pipelineCache,
3587 size_t* pDataSize,
3588 void* pData);
3589
3590VKAPI_ATTR VkResult VKAPI_CALL vkMergePipelineCaches(
3591 VkDevice device,
3592 VkPipelineCache dstCache,
3593 uint32_t srcCacheCount,
3594 const VkPipelineCache* pSrcCaches);
3595
3596VKAPI_ATTR VkResult VKAPI_CALL vkCreateGraphicsPipelines(
3597 VkDevice device,
3598 VkPipelineCache pipelineCache,
3599 uint32_t createInfoCount,
3600 const VkGraphicsPipelineCreateInfo* pCreateInfos,
3601 const VkAllocationCallbacks* pAllocator,
3602 VkPipeline* pPipelines);
3603
3604VKAPI_ATTR VkResult VKAPI_CALL vkCreateComputePipelines(
3605 VkDevice device,
3606 VkPipelineCache pipelineCache,
3607 uint32_t createInfoCount,
3608 const VkComputePipelineCreateInfo* pCreateInfos,
3609 const VkAllocationCallbacks* pAllocator,
3610 VkPipeline* pPipelines);
3611
3612VKAPI_ATTR void VKAPI_CALL vkDestroyPipeline(
3613 VkDevice device,
3614 VkPipeline pipeline,
3615 const VkAllocationCallbacks* pAllocator);
3616
3617VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineLayout(
3618 VkDevice device,
3619 const VkPipelineLayoutCreateInfo* pCreateInfo,
3620 const VkAllocationCallbacks* pAllocator,
3621 VkPipelineLayout* pPipelineLayout);
3622
3623VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineLayout(
3624 VkDevice device,
3625 VkPipelineLayout pipelineLayout,
3626 const VkAllocationCallbacks* pAllocator);
3627
3628VKAPI_ATTR VkResult VKAPI_CALL vkCreateSampler(
3629 VkDevice device,
3630 const VkSamplerCreateInfo* pCreateInfo,
3631 const VkAllocationCallbacks* pAllocator,
3632 VkSampler* pSampler);
3633
3634VKAPI_ATTR void VKAPI_CALL vkDestroySampler(
3635 VkDevice device,
3636 VkSampler sampler,
3637 const VkAllocationCallbacks* pAllocator);
3638
3639VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorSetLayout(
3640 VkDevice device,
3641 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
3642 const VkAllocationCallbacks* pAllocator,
3643 VkDescriptorSetLayout* pSetLayout);
3644
3645VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorSetLayout(
3646 VkDevice device,
3647 VkDescriptorSetLayout descriptorSetLayout,
3648 const VkAllocationCallbacks* pAllocator);
3649
3650VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorPool(
3651 VkDevice device,
3652 const VkDescriptorPoolCreateInfo* pCreateInfo,
3653 const VkAllocationCallbacks* pAllocator,
3654 VkDescriptorPool* pDescriptorPool);
3655
3656VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorPool(
3657 VkDevice device,
3658 VkDescriptorPool descriptorPool,
3659 const VkAllocationCallbacks* pAllocator);
3660
3661VKAPI_ATTR VkResult VKAPI_CALL vkResetDescriptorPool(
3662 VkDevice device,
3663 VkDescriptorPool descriptorPool,
3664 VkDescriptorPoolResetFlags flags);
3665
3666VKAPI_ATTR VkResult VKAPI_CALL vkAllocateDescriptorSets(
3667 VkDevice device,
3668 const VkDescriptorSetAllocateInfo* pAllocateInfo,
3669 VkDescriptorSet* pDescriptorSets);
3670
3671VKAPI_ATTR VkResult VKAPI_CALL vkFreeDescriptorSets(
3672 VkDevice device,
3673 VkDescriptorPool descriptorPool,
3674 uint32_t descriptorSetCount,
3675 const VkDescriptorSet* pDescriptorSets);
3676
3677VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSets(
3678 VkDevice device,
3679 uint32_t descriptorWriteCount,
3680 const VkWriteDescriptorSet* pDescriptorWrites,
3681 uint32_t descriptorCopyCount,
3682 const VkCopyDescriptorSet* pDescriptorCopies);
3683
3684VKAPI_ATTR VkResult VKAPI_CALL vkCreateFramebuffer(
3685 VkDevice device,
3686 const VkFramebufferCreateInfo* pCreateInfo,
3687 const VkAllocationCallbacks* pAllocator,
3688 VkFramebuffer* pFramebuffer);
3689
3690VKAPI_ATTR void VKAPI_CALL vkDestroyFramebuffer(
3691 VkDevice device,
3692 VkFramebuffer framebuffer,
3693 const VkAllocationCallbacks* pAllocator);
3694
3695VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass(
3696 VkDevice device,
3697 const VkRenderPassCreateInfo* pCreateInfo,
3698 const VkAllocationCallbacks* pAllocator,
3699 VkRenderPass* pRenderPass);
3700
3701VKAPI_ATTR void VKAPI_CALL vkDestroyRenderPass(
3702 VkDevice device,
3703 VkRenderPass renderPass,
3704 const VkAllocationCallbacks* pAllocator);
3705
3706VKAPI_ATTR void VKAPI_CALL vkGetRenderAreaGranularity(
3707 VkDevice device,
3708 VkRenderPass renderPass,
3709 VkExtent2D* pGranularity);
3710
3711VKAPI_ATTR VkResult VKAPI_CALL vkCreateCommandPool(
3712 VkDevice device,
3713 const VkCommandPoolCreateInfo* pCreateInfo,
3714 const VkAllocationCallbacks* pAllocator,
3715 VkCommandPool* pCommandPool);
3716
3717VKAPI_ATTR void VKAPI_CALL vkDestroyCommandPool(
3718 VkDevice device,
3719 VkCommandPool commandPool,
3720 const VkAllocationCallbacks* pAllocator);
3721
3722VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandPool(
3723 VkDevice device,
3724 VkCommandPool commandPool,
3725 VkCommandPoolResetFlags flags);
3726
3727VKAPI_ATTR VkResult VKAPI_CALL vkAllocateCommandBuffers(
3728 VkDevice device,
3729 const VkCommandBufferAllocateInfo* pAllocateInfo,
3730 VkCommandBuffer* pCommandBuffers);
3731
3732VKAPI_ATTR void VKAPI_CALL vkFreeCommandBuffers(
3733 VkDevice device,
3734 VkCommandPool commandPool,
3735 uint32_t commandBufferCount,
3736 const VkCommandBuffer* pCommandBuffers);
3737
3738VKAPI_ATTR VkResult VKAPI_CALL vkBeginCommandBuffer(
3739 VkCommandBuffer commandBuffer,
3740 const VkCommandBufferBeginInfo* pBeginInfo);
3741
3742VKAPI_ATTR VkResult VKAPI_CALL vkEndCommandBuffer(
3743 VkCommandBuffer commandBuffer);
3744
3745VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandBuffer(
3746 VkCommandBuffer commandBuffer,
3747 VkCommandBufferResetFlags flags);
3748
3749VKAPI_ATTR void VKAPI_CALL vkCmdBindPipeline(
3750 VkCommandBuffer commandBuffer,
3751 VkPipelineBindPoint pipelineBindPoint,
3752 VkPipeline pipeline);
3753
3754VKAPI_ATTR void VKAPI_CALL vkCmdSetViewport(
3755 VkCommandBuffer commandBuffer,
3756 uint32_t firstViewport,
3757 uint32_t viewportCount,
3758 const VkViewport* pViewports);
3759
3760VKAPI_ATTR void VKAPI_CALL vkCmdSetScissor(
3761 VkCommandBuffer commandBuffer,
3762 uint32_t firstScissor,
3763 uint32_t scissorCount,
3764 const VkRect2D* pScissors);
3765
3766VKAPI_ATTR void VKAPI_CALL vkCmdSetLineWidth(
3767 VkCommandBuffer commandBuffer,
3768 float lineWidth);
3769
3770VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias(
3771 VkCommandBuffer commandBuffer,
3772 float depthBiasConstantFactor,
3773 float depthBiasClamp,
3774 float depthBiasSlopeFactor);
3775
3776VKAPI_ATTR void VKAPI_CALL vkCmdSetBlendConstants(
3777 VkCommandBuffer commandBuffer,
3778 const float blendConstants[4]);
3779
3780VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBounds(
3781 VkCommandBuffer commandBuffer,
3782 float minDepthBounds,
3783 float maxDepthBounds);
3784
3785VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilCompareMask(
3786 VkCommandBuffer commandBuffer,
3787 VkStencilFaceFlags faceMask,
3788 uint32_t compareMask);
3789
3790VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilWriteMask(
3791 VkCommandBuffer commandBuffer,
3792 VkStencilFaceFlags faceMask,
3793 uint32_t writeMask);
3794
3795VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilReference(
3796 VkCommandBuffer commandBuffer,
3797 VkStencilFaceFlags faceMask,
3798 uint32_t reference);
3799
3800VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets(
3801 VkCommandBuffer commandBuffer,
3802 VkPipelineBindPoint pipelineBindPoint,
3803 VkPipelineLayout layout,
3804 uint32_t firstSet,
3805 uint32_t descriptorSetCount,
3806 const VkDescriptorSet* pDescriptorSets,
3807 uint32_t dynamicOffsetCount,
3808 const uint32_t* pDynamicOffsets);
3809
3810VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer(
3811 VkCommandBuffer commandBuffer,
3812 VkBuffer buffer,
3813 VkDeviceSize offset,
3814 VkIndexType indexType);
3815
3816VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers(
3817 VkCommandBuffer commandBuffer,
3818 uint32_t firstBinding,
3819 uint32_t bindingCount,
3820 const VkBuffer* pBuffers,
3821 const VkDeviceSize* pOffsets);
3822
3823VKAPI_ATTR void VKAPI_CALL vkCmdDraw(
3824 VkCommandBuffer commandBuffer,
3825 uint32_t vertexCount,
3826 uint32_t instanceCount,
3827 uint32_t firstVertex,
3828 uint32_t firstInstance);
3829
3830VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexed(
3831 VkCommandBuffer commandBuffer,
3832 uint32_t indexCount,
3833 uint32_t instanceCount,
3834 uint32_t firstIndex,
3835 int32_t vertexOffset,
3836 uint32_t firstInstance);
3837
3838VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirect(
3839 VkCommandBuffer commandBuffer,
3840 VkBuffer buffer,
3841 VkDeviceSize offset,
3842 uint32_t drawCount,
3843 uint32_t stride);
3844
3845VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirect(
3846 VkCommandBuffer commandBuffer,
3847 VkBuffer buffer,
3848 VkDeviceSize offset,
3849 uint32_t drawCount,
3850 uint32_t stride);
3851
3852VKAPI_ATTR void VKAPI_CALL vkCmdDispatch(
3853 VkCommandBuffer commandBuffer,
3854 uint32_t groupCountX,
3855 uint32_t groupCountY,
3856 uint32_t groupCountZ);
3857
3858VKAPI_ATTR void VKAPI_CALL vkCmdDispatchIndirect(
3859 VkCommandBuffer commandBuffer,
3860 VkBuffer buffer,
3861 VkDeviceSize offset);
3862
3863VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer(
3864 VkCommandBuffer commandBuffer,
3865 VkBuffer srcBuffer,
3866 VkBuffer dstBuffer,
3867 uint32_t regionCount,
3868 const VkBufferCopy* pRegions);
3869
3870VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage(
3871 VkCommandBuffer commandBuffer,
3872 VkImage srcImage,
3873 VkImageLayout srcImageLayout,
3874 VkImage dstImage,
3875 VkImageLayout dstImageLayout,
3876 uint32_t regionCount,
3877 const VkImageCopy* pRegions);
3878
3879VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage(
3880 VkCommandBuffer commandBuffer,
3881 VkImage srcImage,
3882 VkImageLayout srcImageLayout,
3883 VkImage dstImage,
3884 VkImageLayout dstImageLayout,
3885 uint32_t regionCount,
3886 const VkImageBlit* pRegions,
3887 VkFilter filter);
3888
3889VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage(
3890 VkCommandBuffer commandBuffer,
3891 VkBuffer srcBuffer,
3892 VkImage dstImage,
3893 VkImageLayout dstImageLayout,
3894 uint32_t regionCount,
3895 const VkBufferImageCopy* pRegions);
3896
3897VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer(
3898 VkCommandBuffer commandBuffer,
3899 VkImage srcImage,
3900 VkImageLayout srcImageLayout,
3901 VkBuffer dstBuffer,
3902 uint32_t regionCount,
3903 const VkBufferImageCopy* pRegions);
3904
3905VKAPI_ATTR void VKAPI_CALL vkCmdUpdateBuffer(
3906 VkCommandBuffer commandBuffer,
3907 VkBuffer dstBuffer,
3908 VkDeviceSize dstOffset,
3909 VkDeviceSize dataSize,
3910 const void* pData);
3911
3912VKAPI_ATTR void VKAPI_CALL vkCmdFillBuffer(
3913 VkCommandBuffer commandBuffer,
3914 VkBuffer dstBuffer,
3915 VkDeviceSize dstOffset,
3916 VkDeviceSize size,
3917 uint32_t data);
3918
3919VKAPI_ATTR void VKAPI_CALL vkCmdClearColorImage(
3920 VkCommandBuffer commandBuffer,
3921 VkImage image,
3922 VkImageLayout imageLayout,
3923 const VkClearColorValue* pColor,
3924 uint32_t rangeCount,
3925 const VkImageSubresourceRange* pRanges);
3926
3927VKAPI_ATTR void VKAPI_CALL vkCmdClearDepthStencilImage(
3928 VkCommandBuffer commandBuffer,
3929 VkImage image,
3930 VkImageLayout imageLayout,
3931 const VkClearDepthStencilValue* pDepthStencil,
3932 uint32_t rangeCount,
3933 const VkImageSubresourceRange* pRanges);
3934
3935VKAPI_ATTR void VKAPI_CALL vkCmdClearAttachments(
3936 VkCommandBuffer commandBuffer,
3937 uint32_t attachmentCount,
3938 const VkClearAttachment* pAttachments,
3939 uint32_t rectCount,
3940 const VkClearRect* pRects);
3941
3942VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage(
3943 VkCommandBuffer commandBuffer,
3944 VkImage srcImage,
3945 VkImageLayout srcImageLayout,
3946 VkImage dstImage,
3947 VkImageLayout dstImageLayout,
3948 uint32_t regionCount,
3949 const VkImageResolve* pRegions);
3950
3951VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent(
3952 VkCommandBuffer commandBuffer,
3953 VkEvent event,
3954 VkPipelineStageFlags stageMask);
3955
3956VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent(
3957 VkCommandBuffer commandBuffer,
3958 VkEvent event,
3959 VkPipelineStageFlags stageMask);
3960
3961VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents(
3962 VkCommandBuffer commandBuffer,
3963 uint32_t eventCount,
3964 const VkEvent* pEvents,
3965 VkPipelineStageFlags srcStageMask,
3966 VkPipelineStageFlags dstStageMask,
3967 uint32_t memoryBarrierCount,
3968 const VkMemoryBarrier* pMemoryBarriers,
3969 uint32_t bufferMemoryBarrierCount,
3970 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
3971 uint32_t imageMemoryBarrierCount,
3972 const VkImageMemoryBarrier* pImageMemoryBarriers);
3973
3974VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier(
3975 VkCommandBuffer commandBuffer,
3976 VkPipelineStageFlags srcStageMask,
3977 VkPipelineStageFlags dstStageMask,
3978 VkDependencyFlags dependencyFlags,
3979 uint32_t memoryBarrierCount,
3980 const VkMemoryBarrier* pMemoryBarriers,
3981 uint32_t bufferMemoryBarrierCount,
3982 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
3983 uint32_t imageMemoryBarrierCount,
3984 const VkImageMemoryBarrier* pImageMemoryBarriers);
3985
3986VKAPI_ATTR void VKAPI_CALL vkCmdBeginQuery(
3987 VkCommandBuffer commandBuffer,
3988 VkQueryPool queryPool,
3989 uint32_t query,
3990 VkQueryControlFlags flags);
3991
3992VKAPI_ATTR void VKAPI_CALL vkCmdEndQuery(
3993 VkCommandBuffer commandBuffer,
3994 VkQueryPool queryPool,
3995 uint32_t query);
3996
3997VKAPI_ATTR void VKAPI_CALL vkCmdResetQueryPool(
3998 VkCommandBuffer commandBuffer,
3999 VkQueryPool queryPool,
4000 uint32_t firstQuery,
4001 uint32_t queryCount);
4002
4003VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp(
4004 VkCommandBuffer commandBuffer,
4005 VkPipelineStageFlagBits pipelineStage,
4006 VkQueryPool queryPool,
4007 uint32_t query);
4008
4009VKAPI_ATTR void VKAPI_CALL vkCmdCopyQueryPoolResults(
4010 VkCommandBuffer commandBuffer,
4011 VkQueryPool queryPool,
4012 uint32_t firstQuery,
4013 uint32_t queryCount,
4014 VkBuffer dstBuffer,
4015 VkDeviceSize dstOffset,
4016 VkDeviceSize stride,
4017 VkQueryResultFlags flags);
4018
4019VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants(
4020 VkCommandBuffer commandBuffer,
4021 VkPipelineLayout layout,
4022 VkShaderStageFlags stageFlags,
4023 uint32_t offset,
4024 uint32_t size,
4025 const void* pValues);
4026
4027VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass(
4028 VkCommandBuffer commandBuffer,
4029 const VkRenderPassBeginInfo* pRenderPassBegin,
4030 VkSubpassContents contents);
4031
4032VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass(
4033 VkCommandBuffer commandBuffer,
4034 VkSubpassContents contents);
4035
4036VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass(
4037 VkCommandBuffer commandBuffer);
4038
4039VKAPI_ATTR void VKAPI_CALL vkCmdExecuteCommands(
4040 VkCommandBuffer commandBuffer,
4041 uint32_t commandBufferCount,
4042 const VkCommandBuffer* pCommandBuffers);
4043#endif
4044
4045
4046#define VK_VERSION_1_1 1
4047// Vulkan 1.1 version number
4048#define VK_API_VERSION_1_1 VK_MAKE_VERSION(1, 1, 0)// Patch version should always be set to 0
4049
4050VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion)
4051VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate)
4052#define VK_MAX_DEVICE_GROUP_SIZE 32
4053#define VK_LUID_SIZE 8
4054#define VK_QUEUE_FAMILY_EXTERNAL (~0U-1)
4055
4056typedef enum VkPointClippingBehavior {
4057 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES = 0,
4058 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY = 1,
4059 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES,
4060 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY,
4061 VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF
4062} VkPointClippingBehavior;
4063
4064typedef enum VkTessellationDomainOrigin {
4065 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT = 0,
4066 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT = 1,
4067 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT,
4068 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT,
4069 VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM = 0x7FFFFFFF
4070} VkTessellationDomainOrigin;
4071
4072typedef enum VkSamplerYcbcrModelConversion {
4073 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY = 0,
4074 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY = 1,
4075 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 = 2,
4076 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 = 3,
4077 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 = 4,
4078 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY,
4079 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY,
4080 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709,
4081 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601,
4082 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020,
4083 VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM = 0x7FFFFFFF
4084} VkSamplerYcbcrModelConversion;
4085
4086typedef enum VkSamplerYcbcrRange {
4087 VK_SAMPLER_YCBCR_RANGE_ITU_FULL = 0,
4088 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW = 1,
4089 VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_FULL,
4090 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW,
4091 VK_SAMPLER_YCBCR_RANGE_MAX_ENUM = 0x7FFFFFFF
4092} VkSamplerYcbcrRange;
4093
4094typedef enum VkChromaLocation {
4095 VK_CHROMA_LOCATION_COSITED_EVEN = 0,
4096 VK_CHROMA_LOCATION_MIDPOINT = 1,
4097 VK_CHROMA_LOCATION_COSITED_EVEN_KHR = VK_CHROMA_LOCATION_COSITED_EVEN,
4098 VK_CHROMA_LOCATION_MIDPOINT_KHR = VK_CHROMA_LOCATION_MIDPOINT,
4099 VK_CHROMA_LOCATION_MAX_ENUM = 0x7FFFFFFF
4100} VkChromaLocation;
4101
4102typedef enum VkDescriptorUpdateTemplateType {
4103 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET = 0,
4104 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR = 1,
4105 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,
4106 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM = 0x7FFFFFFF
4107} VkDescriptorUpdateTemplateType;
4108
4109typedef enum VkSubgroupFeatureFlagBits {
4110 VK_SUBGROUP_FEATURE_BASIC_BIT = 0x00000001,
4111 VK_SUBGROUP_FEATURE_VOTE_BIT = 0x00000002,
4112 VK_SUBGROUP_FEATURE_ARITHMETIC_BIT = 0x00000004,
4113 VK_SUBGROUP_FEATURE_BALLOT_BIT = 0x00000008,
4114 VK_SUBGROUP_FEATURE_SHUFFLE_BIT = 0x00000010,
4115 VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = 0x00000020,
4116 VK_SUBGROUP_FEATURE_CLUSTERED_BIT = 0x00000040,
4117 VK_SUBGROUP_FEATURE_QUAD_BIT = 0x00000080,
4118 VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x00000100,
4119 VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4120} VkSubgroupFeatureFlagBits;
4121typedef VkFlags VkSubgroupFeatureFlags;
4122
4123typedef enum VkPeerMemoryFeatureFlagBits {
4124 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT = 0x00000001,
4125 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT = 0x00000002,
4126 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT = 0x00000004,
4127 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT = 0x00000008,
4128 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT,
4129 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_DST_BIT,
4130 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT,
4131 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT,
4132 VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4133} VkPeerMemoryFeatureFlagBits;
4134typedef VkFlags VkPeerMemoryFeatureFlags;
4135
4136typedef enum VkMemoryAllocateFlagBits {
4137 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT = 0x00000001,
4138 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT = 0x00000002,
4139 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000004,
4140 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT,
4141 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT,
4142 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
4143 VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4144} VkMemoryAllocateFlagBits;
4145typedef VkFlags VkMemoryAllocateFlags;
4146typedef VkFlags VkCommandPoolTrimFlags;
4147typedef VkFlags VkDescriptorUpdateTemplateCreateFlags;
4148
4149typedef enum VkExternalMemoryHandleTypeFlagBits {
4150 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
4151 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
4152 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
4153 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT = 0x00000008,
4154 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT = 0x00000010,
4155 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT = 0x00000020,
4156 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT = 0x00000040,
4157 VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT = 0x00000200,
4158 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID = 0x00000400,
4159 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 0x00000080,
4160 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 0x00000100,
4161 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT,
4162 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT,
4163 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
4164 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT,
4165 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT,
4166 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT,
4167 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT,
4168 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4169} VkExternalMemoryHandleTypeFlagBits;
4170typedef VkFlags VkExternalMemoryHandleTypeFlags;
4171
4172typedef enum VkExternalMemoryFeatureFlagBits {
4173 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT = 0x00000001,
4174 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT = 0x00000002,
4175 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT = 0x00000004,
4176 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT,
4177 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT,
4178 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT,
4179 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4180} VkExternalMemoryFeatureFlagBits;
4181typedef VkFlags VkExternalMemoryFeatureFlags;
4182
4183typedef enum VkExternalFenceHandleTypeFlagBits {
4184 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
4185 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
4186 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
4187 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000008,
4188 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT,
4189 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
4190 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
4191 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT,
4192 VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4193} VkExternalFenceHandleTypeFlagBits;
4194typedef VkFlags VkExternalFenceHandleTypeFlags;
4195
4196typedef enum VkExternalFenceFeatureFlagBits {
4197 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT = 0x00000001,
4198 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT = 0x00000002,
4199 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT,
4200 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT,
4201 VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4202} VkExternalFenceFeatureFlagBits;
4203typedef VkFlags VkExternalFenceFeatureFlags;
4204
4205typedef enum VkFenceImportFlagBits {
4206 VK_FENCE_IMPORT_TEMPORARY_BIT = 0x00000001,
4207 VK_FENCE_IMPORT_TEMPORARY_BIT_KHR = VK_FENCE_IMPORT_TEMPORARY_BIT,
4208 VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4209} VkFenceImportFlagBits;
4210typedef VkFlags VkFenceImportFlags;
4211
4212typedef enum VkSemaphoreImportFlagBits {
4213 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT = 0x00000001,
4214 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT,
4215 VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4216} VkSemaphoreImportFlagBits;
4217typedef VkFlags VkSemaphoreImportFlags;
4218
4219typedef enum VkExternalSemaphoreHandleTypeFlagBits {
4220 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
4221 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
4222 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
4223 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT = 0x00000008,
4224 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000010,
4225 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
4226 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT,
4227 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
4228 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
4229 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
4230 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT,
4231 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4232} VkExternalSemaphoreHandleTypeFlagBits;
4233typedef VkFlags VkExternalSemaphoreHandleTypeFlags;
4234
4235typedef enum VkExternalSemaphoreFeatureFlagBits {
4236 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT = 0x00000001,
4237 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT = 0x00000002,
4238 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT,
4239 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT,
4240 VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4241} VkExternalSemaphoreFeatureFlagBits;
4242typedef VkFlags VkExternalSemaphoreFeatureFlags;
4243typedef struct VkPhysicalDeviceSubgroupProperties {
4244 VkStructureType sType;
4245 void* pNext;
4246 uint32_t subgroupSize;
4247 VkShaderStageFlags supportedStages;
4248 VkSubgroupFeatureFlags supportedOperations;
4249 VkBool32 quadOperationsInAllStages;
4250} VkPhysicalDeviceSubgroupProperties;
4251
4252typedef struct VkBindBufferMemoryInfo {
4253 VkStructureType sType;
4254 const void* pNext;
4255 VkBuffer buffer;
4256 VkDeviceMemory memory;
4257 VkDeviceSize memoryOffset;
4258} VkBindBufferMemoryInfo;
4259
4260typedef struct VkBindImageMemoryInfo {
4261 VkStructureType sType;
4262 const void* pNext;
4263 VkImage image;
4264 VkDeviceMemory memory;
4265 VkDeviceSize memoryOffset;
4266} VkBindImageMemoryInfo;
4267
4268typedef struct VkPhysicalDevice16BitStorageFeatures {
4269 VkStructureType sType;
4270 void* pNext;
4271 VkBool32 storageBuffer16BitAccess;
4272 VkBool32 uniformAndStorageBuffer16BitAccess;
4273 VkBool32 storagePushConstant16;
4274 VkBool32 storageInputOutput16;
4275} VkPhysicalDevice16BitStorageFeatures;
4276
4277typedef struct VkMemoryDedicatedRequirements {
4278 VkStructureType sType;
4279 void* pNext;
4280 VkBool32 prefersDedicatedAllocation;
4281 VkBool32 requiresDedicatedAllocation;
4282} VkMemoryDedicatedRequirements;
4283
4284typedef struct VkMemoryDedicatedAllocateInfo {
4285 VkStructureType sType;
4286 const void* pNext;
4287 VkImage image;
4288 VkBuffer buffer;
4289} VkMemoryDedicatedAllocateInfo;
4290
4291typedef struct VkMemoryAllocateFlagsInfo {
4292 VkStructureType sType;
4293 const void* pNext;
4294 VkMemoryAllocateFlags flags;
4295 uint32_t deviceMask;
4296} VkMemoryAllocateFlagsInfo;
4297
4298typedef struct VkDeviceGroupRenderPassBeginInfo {
4299 VkStructureType sType;
4300 const void* pNext;
4301 uint32_t deviceMask;
4302 uint32_t deviceRenderAreaCount;
4303 const VkRect2D* pDeviceRenderAreas;
4304} VkDeviceGroupRenderPassBeginInfo;
4305
4306typedef struct VkDeviceGroupCommandBufferBeginInfo {
4307 VkStructureType sType;
4308 const void* pNext;
4309 uint32_t deviceMask;
4310} VkDeviceGroupCommandBufferBeginInfo;
4311
4312typedef struct VkDeviceGroupSubmitInfo {
4313 VkStructureType sType;
4314 const void* pNext;
4315 uint32_t waitSemaphoreCount;
4316 const uint32_t* pWaitSemaphoreDeviceIndices;
4317 uint32_t commandBufferCount;
4318 const uint32_t* pCommandBufferDeviceMasks;
4319 uint32_t signalSemaphoreCount;
4320 const uint32_t* pSignalSemaphoreDeviceIndices;
4321} VkDeviceGroupSubmitInfo;
4322
4323typedef struct VkDeviceGroupBindSparseInfo {
4324 VkStructureType sType;
4325 const void* pNext;
4326 uint32_t resourceDeviceIndex;
4327 uint32_t memoryDeviceIndex;
4328} VkDeviceGroupBindSparseInfo;
4329
4330typedef struct VkBindBufferMemoryDeviceGroupInfo {
4331 VkStructureType sType;
4332 const void* pNext;
4333 uint32_t deviceIndexCount;
4334 const uint32_t* pDeviceIndices;
4335} VkBindBufferMemoryDeviceGroupInfo;
4336
4337typedef struct VkBindImageMemoryDeviceGroupInfo {
4338 VkStructureType sType;
4339 const void* pNext;
4340 uint32_t deviceIndexCount;
4341 const uint32_t* pDeviceIndices;
4342 uint32_t splitInstanceBindRegionCount;
4343 const VkRect2D* pSplitInstanceBindRegions;
4344} VkBindImageMemoryDeviceGroupInfo;
4345
4346typedef struct VkPhysicalDeviceGroupProperties {
4347 VkStructureType sType;
4348 void* pNext;
4349 uint32_t physicalDeviceCount;
4350 VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE];
4351 VkBool32 subsetAllocation;
4352} VkPhysicalDeviceGroupProperties;
4353
4354typedef struct VkDeviceGroupDeviceCreateInfo {
4355 VkStructureType sType;
4356 const void* pNext;
4357 uint32_t physicalDeviceCount;
4358 const VkPhysicalDevice* pPhysicalDevices;
4359} VkDeviceGroupDeviceCreateInfo;
4360
4361typedef struct VkBufferMemoryRequirementsInfo2 {
4362 VkStructureType sType;
4363 const void* pNext;
4364 VkBuffer buffer;
4365} VkBufferMemoryRequirementsInfo2;
4366
4367typedef struct VkImageMemoryRequirementsInfo2 {
4368 VkStructureType sType;
4369 const void* pNext;
4370 VkImage image;
4371} VkImageMemoryRequirementsInfo2;
4372
4373typedef struct VkImageSparseMemoryRequirementsInfo2 {
4374 VkStructureType sType;
4375 const void* pNext;
4376 VkImage image;
4377} VkImageSparseMemoryRequirementsInfo2;
4378
4379typedef struct VkMemoryRequirements2 {
4380 VkStructureType sType;
4381 void* pNext;
4382 VkMemoryRequirements memoryRequirements;
4383} VkMemoryRequirements2;
4384
4385typedef struct VkSparseImageMemoryRequirements2 {
4386 VkStructureType sType;
4387 void* pNext;
4388 VkSparseImageMemoryRequirements memoryRequirements;
4389} VkSparseImageMemoryRequirements2;
4390
4391typedef struct VkPhysicalDeviceFeatures2 {
4392 VkStructureType sType;
4393 void* pNext;
4394 VkPhysicalDeviceFeatures features;
4395} VkPhysicalDeviceFeatures2;
4396
4397typedef struct VkPhysicalDeviceProperties2 {
4398 VkStructureType sType;
4399 void* pNext;
4400 VkPhysicalDeviceProperties properties;
4401} VkPhysicalDeviceProperties2;
4402
4403typedef struct VkFormatProperties2 {
4404 VkStructureType sType;
4405 void* pNext;
4406 VkFormatProperties formatProperties;
4407} VkFormatProperties2;
4408
4409typedef struct VkImageFormatProperties2 {
4410 VkStructureType sType;
4411 void* pNext;
4412 VkImageFormatProperties imageFormatProperties;
4413} VkImageFormatProperties2;
4414
4415typedef struct VkPhysicalDeviceImageFormatInfo2 {
4416 VkStructureType sType;
4417 const void* pNext;
4418 VkFormat format;
4419 VkImageType type;
4420 VkImageTiling tiling;
4421 VkImageUsageFlags usage;
4422 VkImageCreateFlags flags;
4423} VkPhysicalDeviceImageFormatInfo2;
4424
4425typedef struct VkQueueFamilyProperties2 {
4426 VkStructureType sType;
4427 void* pNext;
4428 VkQueueFamilyProperties queueFamilyProperties;
4429} VkQueueFamilyProperties2;
4430
4431typedef struct VkPhysicalDeviceMemoryProperties2 {
4432 VkStructureType sType;
4433 void* pNext;
4434 VkPhysicalDeviceMemoryProperties memoryProperties;
4435} VkPhysicalDeviceMemoryProperties2;
4436
4437typedef struct VkSparseImageFormatProperties2 {
4438 VkStructureType sType;
4439 void* pNext;
4440 VkSparseImageFormatProperties properties;
4441} VkSparseImageFormatProperties2;
4442
4443typedef struct VkPhysicalDeviceSparseImageFormatInfo2 {
4444 VkStructureType sType;
4445 const void* pNext;
4446 VkFormat format;
4447 VkImageType type;
4448 VkSampleCountFlagBits samples;
4449 VkImageUsageFlags usage;
4450 VkImageTiling tiling;
4451} VkPhysicalDeviceSparseImageFormatInfo2;
4452
4453typedef struct VkPhysicalDevicePointClippingProperties {
4454 VkStructureType sType;
4455 void* pNext;
4456 VkPointClippingBehavior pointClippingBehavior;
4457} VkPhysicalDevicePointClippingProperties;
4458
4459typedef struct VkInputAttachmentAspectReference {
4460 uint32_t subpass;
4461 uint32_t inputAttachmentIndex;
4462 VkImageAspectFlags aspectMask;
4463} VkInputAttachmentAspectReference;
4464
4465typedef struct VkRenderPassInputAttachmentAspectCreateInfo {
4466 VkStructureType sType;
4467 const void* pNext;
4468 uint32_t aspectReferenceCount;
4469 const VkInputAttachmentAspectReference* pAspectReferences;
4470} VkRenderPassInputAttachmentAspectCreateInfo;
4471
4472typedef struct VkImageViewUsageCreateInfo {
4473 VkStructureType sType;
4474 const void* pNext;
4475 VkImageUsageFlags usage;
4476} VkImageViewUsageCreateInfo;
4477
4478typedef struct VkPipelineTessellationDomainOriginStateCreateInfo {
4479 VkStructureType sType;
4480 const void* pNext;
4481 VkTessellationDomainOrigin domainOrigin;
4482} VkPipelineTessellationDomainOriginStateCreateInfo;
4483
4484typedef struct VkRenderPassMultiviewCreateInfo {
4485 VkStructureType sType;
4486 const void* pNext;
4487 uint32_t subpassCount;
4488 const uint32_t* pViewMasks;
4489 uint32_t dependencyCount;
4490 const int32_t* pViewOffsets;
4491 uint32_t correlationMaskCount;
4492 const uint32_t* pCorrelationMasks;
4493} VkRenderPassMultiviewCreateInfo;
4494
4495typedef struct VkPhysicalDeviceMultiviewFeatures {
4496 VkStructureType sType;
4497 void* pNext;
4498 VkBool32 multiview;
4499 VkBool32 multiviewGeometryShader;
4500 VkBool32 multiviewTessellationShader;
4501} VkPhysicalDeviceMultiviewFeatures;
4502
4503typedef struct VkPhysicalDeviceMultiviewProperties {
4504 VkStructureType sType;
4505 void* pNext;
4506 uint32_t maxMultiviewViewCount;
4507 uint32_t maxMultiviewInstanceIndex;
4508} VkPhysicalDeviceMultiviewProperties;
4509
4510typedef struct VkPhysicalDeviceVariablePointersFeatures {
4511 VkStructureType sType;
4512 void* pNext;
4513 VkBool32 variablePointersStorageBuffer;
4514 VkBool32 variablePointers;
4515} VkPhysicalDeviceVariablePointersFeatures;
4516
4517typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeatures;
4518
4519typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
4520 VkStructureType sType;
4521 void* pNext;
4522 VkBool32 protectedMemory;
4523} VkPhysicalDeviceProtectedMemoryFeatures;
4524
4525typedef struct VkPhysicalDeviceProtectedMemoryProperties {
4526 VkStructureType sType;
4527 void* pNext;
4528 VkBool32 protectedNoFault;
4529} VkPhysicalDeviceProtectedMemoryProperties;
4530
4531typedef struct VkDeviceQueueInfo2 {
4532 VkStructureType sType;
4533 const void* pNext;
4534 VkDeviceQueueCreateFlags flags;
4535 uint32_t queueFamilyIndex;
4536 uint32_t queueIndex;
4537} VkDeviceQueueInfo2;
4538
4539typedef struct VkProtectedSubmitInfo {
4540 VkStructureType sType;
4541 const void* pNext;
4542 VkBool32 protectedSubmit;
4543} VkProtectedSubmitInfo;
4544
4545typedef struct VkSamplerYcbcrConversionCreateInfo {
4546 VkStructureType sType;
4547 const void* pNext;
4548 VkFormat format;
4549 VkSamplerYcbcrModelConversion ycbcrModel;
4550 VkSamplerYcbcrRange ycbcrRange;
4551 VkComponentMapping components;
4552 VkChromaLocation xChromaOffset;
4553 VkChromaLocation yChromaOffset;
4554 VkFilter chromaFilter;
4555 VkBool32 forceExplicitReconstruction;
4556} VkSamplerYcbcrConversionCreateInfo;
4557
4558typedef struct VkSamplerYcbcrConversionInfo {
4559 VkStructureType sType;
4560 const void* pNext;
4561 VkSamplerYcbcrConversion conversion;
4562} VkSamplerYcbcrConversionInfo;
4563
4564typedef struct VkBindImagePlaneMemoryInfo {
4565 VkStructureType sType;
4566 const void* pNext;
4567 VkImageAspectFlagBits planeAspect;
4568} VkBindImagePlaneMemoryInfo;
4569
4570typedef struct VkImagePlaneMemoryRequirementsInfo {
4571 VkStructureType sType;
4572 const void* pNext;
4573 VkImageAspectFlagBits planeAspect;
4574} VkImagePlaneMemoryRequirementsInfo;
4575
4576typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
4577 VkStructureType sType;
4578 void* pNext;
4579 VkBool32 samplerYcbcrConversion;
4580} VkPhysicalDeviceSamplerYcbcrConversionFeatures;
4581
4582typedef struct VkSamplerYcbcrConversionImageFormatProperties {
4583 VkStructureType sType;
4584 void* pNext;
4585 uint32_t combinedImageSamplerDescriptorCount;
4586} VkSamplerYcbcrConversionImageFormatProperties;
4587
4588typedef struct VkDescriptorUpdateTemplateEntry {
4589 uint32_t dstBinding;
4590 uint32_t dstArrayElement;
4591 uint32_t descriptorCount;
4592 VkDescriptorType descriptorType;
4593 size_t offset;
4594 size_t stride;
4595} VkDescriptorUpdateTemplateEntry;
4596
4597typedef struct VkDescriptorUpdateTemplateCreateInfo {
4598 VkStructureType sType;
4599 const void* pNext;
4600 VkDescriptorUpdateTemplateCreateFlags flags;
4601 uint32_t descriptorUpdateEntryCount;
4602 const VkDescriptorUpdateTemplateEntry* pDescriptorUpdateEntries;
4603 VkDescriptorUpdateTemplateType templateType;
4604 VkDescriptorSetLayout descriptorSetLayout;
4605 VkPipelineBindPoint pipelineBindPoint;
4606 VkPipelineLayout pipelineLayout;
4607 uint32_t set;
4608} VkDescriptorUpdateTemplateCreateInfo;
4609
4610typedef struct VkExternalMemoryProperties {
4611 VkExternalMemoryFeatureFlags externalMemoryFeatures;
4612 VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes;
4613 VkExternalMemoryHandleTypeFlags compatibleHandleTypes;
4614} VkExternalMemoryProperties;
4615
4616typedef struct VkPhysicalDeviceExternalImageFormatInfo {
4617 VkStructureType sType;
4618 const void* pNext;
4619 VkExternalMemoryHandleTypeFlagBits handleType;
4620} VkPhysicalDeviceExternalImageFormatInfo;
4621
4622typedef struct VkExternalImageFormatProperties {
4623 VkStructureType sType;
4624 void* pNext;
4625 VkExternalMemoryProperties externalMemoryProperties;
4626} VkExternalImageFormatProperties;
4627
4628typedef struct VkPhysicalDeviceExternalBufferInfo {
4629 VkStructureType sType;
4630 const void* pNext;
4631 VkBufferCreateFlags flags;
4632 VkBufferUsageFlags usage;
4633 VkExternalMemoryHandleTypeFlagBits handleType;
4634} VkPhysicalDeviceExternalBufferInfo;
4635
4636typedef struct VkExternalBufferProperties {
4637 VkStructureType sType;
4638 void* pNext;
4639 VkExternalMemoryProperties externalMemoryProperties;
4640} VkExternalBufferProperties;
4641
4642typedef struct VkPhysicalDeviceIDProperties {
4643 VkStructureType sType;
4644 void* pNext;
4645 uint8_t deviceUUID[VK_UUID_SIZE];
4646 uint8_t driverUUID[VK_UUID_SIZE];
4647 uint8_t deviceLUID[VK_LUID_SIZE];
4648 uint32_t deviceNodeMask;
4649 VkBool32 deviceLUIDValid;
4650} VkPhysicalDeviceIDProperties;
4651
4652typedef struct VkExternalMemoryImageCreateInfo {
4653 VkStructureType sType;
4654 const void* pNext;
4655 VkExternalMemoryHandleTypeFlags handleTypes;
4656} VkExternalMemoryImageCreateInfo;
4657
4658typedef struct VkExternalMemoryBufferCreateInfo {
4659 VkStructureType sType;
4660 const void* pNext;
4661 VkExternalMemoryHandleTypeFlags handleTypes;
4662} VkExternalMemoryBufferCreateInfo;
4663
4664typedef struct VkExportMemoryAllocateInfo {
4665 VkStructureType sType;
4666 const void* pNext;
4667 VkExternalMemoryHandleTypeFlags handleTypes;
4668} VkExportMemoryAllocateInfo;
4669
4670typedef struct VkPhysicalDeviceExternalFenceInfo {
4671 VkStructureType sType;
4672 const void* pNext;
4673 VkExternalFenceHandleTypeFlagBits handleType;
4674} VkPhysicalDeviceExternalFenceInfo;
4675
4676typedef struct VkExternalFenceProperties {
4677 VkStructureType sType;
4678 void* pNext;
4679 VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes;
4680 VkExternalFenceHandleTypeFlags compatibleHandleTypes;
4681 VkExternalFenceFeatureFlags externalFenceFeatures;
4682} VkExternalFenceProperties;
4683
4684typedef struct VkExportFenceCreateInfo {
4685 VkStructureType sType;
4686 const void* pNext;
4687 VkExternalFenceHandleTypeFlags handleTypes;
4688} VkExportFenceCreateInfo;
4689
4690typedef struct VkExportSemaphoreCreateInfo {
4691 VkStructureType sType;
4692 const void* pNext;
4693 VkExternalSemaphoreHandleTypeFlags handleTypes;
4694} VkExportSemaphoreCreateInfo;
4695
4696typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
4697 VkStructureType sType;
4698 const void* pNext;
4699 VkExternalSemaphoreHandleTypeFlagBits handleType;
4700} VkPhysicalDeviceExternalSemaphoreInfo;
4701
4702typedef struct VkExternalSemaphoreProperties {
4703 VkStructureType sType;
4704 void* pNext;
4705 VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes;
4706 VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes;
4707 VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures;
4708} VkExternalSemaphoreProperties;
4709
4710typedef struct VkPhysicalDeviceMaintenance3Properties {
4711 VkStructureType sType;
4712 void* pNext;
4713 uint32_t maxPerSetDescriptors;
4714 VkDeviceSize maxMemoryAllocationSize;
4715} VkPhysicalDeviceMaintenance3Properties;
4716
4717typedef struct VkDescriptorSetLayoutSupport {
4718 VkStructureType sType;
4719 void* pNext;
4720 VkBool32 supported;
4721} VkDescriptorSetLayoutSupport;
4722
4723typedef struct VkPhysicalDeviceShaderDrawParametersFeatures {
4724 VkStructureType sType;
4725 void* pNext;
4726 VkBool32 shaderDrawParameters;
4727} VkPhysicalDeviceShaderDrawParametersFeatures;
4728
4729typedef VkPhysicalDeviceShaderDrawParametersFeatures VkPhysicalDeviceShaderDrawParameterFeatures;
4730
4731typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceVersion)(uint32_t* pApiVersion);
4732typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
4733typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
4734typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeatures)(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
4735typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMask)(VkCommandBuffer commandBuffer, uint32_t deviceMask);
4736typedef 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);
4737typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroups)(VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
4738typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
4739typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
4740typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
4741typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
4742typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
4743typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
4744typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
4745typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
4746typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
4747typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
4748typedef void (VKAPI_PTR *PFN_vkTrimCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
4749typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue2)(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue);
4750typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversion)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
4751typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversion)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
4752typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplate)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
4753typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplate)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
4754typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplate)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
4755typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
4756typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFenceProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
4757typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphoreProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
4758typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupport)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
4759
4760#ifndef VK_NO_PROTOTYPES
4761VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceVersion(
4762 uint32_t* pApiVersion);
4763
4764VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2(
4765 VkDevice device,
4766 uint32_t bindInfoCount,
4767 const VkBindBufferMemoryInfo* pBindInfos);
4768
4769VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2(
4770 VkDevice device,
4771 uint32_t bindInfoCount,
4772 const VkBindImageMemoryInfo* pBindInfos);
4773
4774VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeatures(
4775 VkDevice device,
4776 uint32_t heapIndex,
4777 uint32_t localDeviceIndex,
4778 uint32_t remoteDeviceIndex,
4779 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
4780
4781VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMask(
4782 VkCommandBuffer commandBuffer,
4783 uint32_t deviceMask);
4784
4785VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBase(
4786 VkCommandBuffer commandBuffer,
4787 uint32_t baseGroupX,
4788 uint32_t baseGroupY,
4789 uint32_t baseGroupZ,
4790 uint32_t groupCountX,
4791 uint32_t groupCountY,
4792 uint32_t groupCountZ);
4793
4794VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroups(
4795 VkInstance instance,
4796 uint32_t* pPhysicalDeviceGroupCount,
4797 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
4798
4799VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2(
4800 VkDevice device,
4801 const VkImageMemoryRequirementsInfo2* pInfo,
4802 VkMemoryRequirements2* pMemoryRequirements);
4803
4804VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2(
4805 VkDevice device,
4806 const VkBufferMemoryRequirementsInfo2* pInfo,
4807 VkMemoryRequirements2* pMemoryRequirements);
4808
4809VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2(
4810 VkDevice device,
4811 const VkImageSparseMemoryRequirementsInfo2* pInfo,
4812 uint32_t* pSparseMemoryRequirementCount,
4813 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
4814
4815VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2(
4816 VkPhysicalDevice physicalDevice,
4817 VkPhysicalDeviceFeatures2* pFeatures);
4818
4819VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2(
4820 VkPhysicalDevice physicalDevice,
4821 VkPhysicalDeviceProperties2* pProperties);
4822
4823VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2(
4824 VkPhysicalDevice physicalDevice,
4825 VkFormat format,
4826 VkFormatProperties2* pFormatProperties);
4827
4828VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2(
4829 VkPhysicalDevice physicalDevice,
4830 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
4831 VkImageFormatProperties2* pImageFormatProperties);
4832
4833VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2(
4834 VkPhysicalDevice physicalDevice,
4835 uint32_t* pQueueFamilyPropertyCount,
4836 VkQueueFamilyProperties2* pQueueFamilyProperties);
4837
4838VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2(
4839 VkPhysicalDevice physicalDevice,
4840 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
4841
4842VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2(
4843 VkPhysicalDevice physicalDevice,
4844 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
4845 uint32_t* pPropertyCount,
4846 VkSparseImageFormatProperties2* pProperties);
4847
4848VKAPI_ATTR void VKAPI_CALL vkTrimCommandPool(
4849 VkDevice device,
4850 VkCommandPool commandPool,
4851 VkCommandPoolTrimFlags flags);
4852
4853VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue2(
4854 VkDevice device,
4855 const VkDeviceQueueInfo2* pQueueInfo,
4856 VkQueue* pQueue);
4857
4858VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversion(
4859 VkDevice device,
4860 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
4861 const VkAllocationCallbacks* pAllocator,
4862 VkSamplerYcbcrConversion* pYcbcrConversion);
4863
4864VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversion(
4865 VkDevice device,
4866 VkSamplerYcbcrConversion ycbcrConversion,
4867 const VkAllocationCallbacks* pAllocator);
4868
4869VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplate(
4870 VkDevice device,
4871 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
4872 const VkAllocationCallbacks* pAllocator,
4873 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
4874
4875VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplate(
4876 VkDevice device,
4877 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
4878 const VkAllocationCallbacks* pAllocator);
4879
4880VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplate(
4881 VkDevice device,
4882 VkDescriptorSet descriptorSet,
4883 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
4884 const void* pData);
4885
4886VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferProperties(
4887 VkPhysicalDevice physicalDevice,
4888 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
4889 VkExternalBufferProperties* pExternalBufferProperties);
4890
4891VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFenceProperties(
4892 VkPhysicalDevice physicalDevice,
4893 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
4894 VkExternalFenceProperties* pExternalFenceProperties);
4895
4896VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphoreProperties(
4897 VkPhysicalDevice physicalDevice,
4898 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
4899 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
4900
4901VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupport(
4902 VkDevice device,
4903 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
4904 VkDescriptorSetLayoutSupport* pSupport);
4905#endif
4906
4907
4908#define VK_VERSION_1_2 1
4909// Vulkan 1.2 version number
4910#define VK_API_VERSION_1_2 VK_MAKE_VERSION(1, 2, 0)// Patch version should always be set to 0
4911
4912#define VK_MAX_DRIVER_NAME_SIZE 256
4913#define VK_MAX_DRIVER_INFO_SIZE 256
4914
4915typedef enum VkDriverId {
4916 VK_DRIVER_ID_AMD_PROPRIETARY = 1,
4917 VK_DRIVER_ID_AMD_OPEN_SOURCE = 2,
4918 VK_DRIVER_ID_MESA_RADV = 3,
4919 VK_DRIVER_ID_NVIDIA_PROPRIETARY = 4,
4920 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS = 5,
4921 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA = 6,
4922 VK_DRIVER_ID_IMAGINATION_PROPRIETARY = 7,
4923 VK_DRIVER_ID_QUALCOMM_PROPRIETARY = 8,
4924 VK_DRIVER_ID_ARM_PROPRIETARY = 9,
4925 VK_DRIVER_ID_GOOGLE_SWIFTSHADER = 10,
4926 VK_DRIVER_ID_GGP_PROPRIETARY = 11,
4927 VK_DRIVER_ID_BROADCOM_PROPRIETARY = 12,
4928 VK_DRIVER_ID_MESA_LLVMPIPE = 13,
4929 VK_DRIVER_ID_MOLTENVK = 14,
4930 VK_DRIVER_ID_AMD_PROPRIETARY_KHR = VK_DRIVER_ID_AMD_PROPRIETARY,
4931 VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = VK_DRIVER_ID_AMD_OPEN_SOURCE,
4932 VK_DRIVER_ID_MESA_RADV_KHR = VK_DRIVER_ID_MESA_RADV,
4933 VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR = VK_DRIVER_ID_NVIDIA_PROPRIETARY,
4934 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR = VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS,
4935 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR = VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA,
4936 VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR = VK_DRIVER_ID_IMAGINATION_PROPRIETARY,
4937 VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR = VK_DRIVER_ID_QUALCOMM_PROPRIETARY,
4938 VK_DRIVER_ID_ARM_PROPRIETARY_KHR = VK_DRIVER_ID_ARM_PROPRIETARY,
4939 VK_DRIVER_ID_GOOGLE_SWIFTSHADER_KHR = VK_DRIVER_ID_GOOGLE_SWIFTSHADER,
4940 VK_DRIVER_ID_GGP_PROPRIETARY_KHR = VK_DRIVER_ID_GGP_PROPRIETARY,
4941 VK_DRIVER_ID_BROADCOM_PROPRIETARY_KHR = VK_DRIVER_ID_BROADCOM_PROPRIETARY,
4942 VK_DRIVER_ID_MAX_ENUM = 0x7FFFFFFF
4943} VkDriverId;
4944
4945typedef enum VkShaderFloatControlsIndependence {
4946 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY = 0,
4947 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL = 1,
4948 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE = 2,
4949 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY,
4950 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL,
4951 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE,
4952 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_MAX_ENUM = 0x7FFFFFFF
4953} VkShaderFloatControlsIndependence;
4954
4955typedef enum VkSamplerReductionMode {
4956 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE = 0,
4957 VK_SAMPLER_REDUCTION_MODE_MIN = 1,
4958 VK_SAMPLER_REDUCTION_MODE_MAX = 2,
4959 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE,
4960 VK_SAMPLER_REDUCTION_MODE_MIN_EXT = VK_SAMPLER_REDUCTION_MODE_MIN,
4961 VK_SAMPLER_REDUCTION_MODE_MAX_EXT = VK_SAMPLER_REDUCTION_MODE_MAX,
4962 VK_SAMPLER_REDUCTION_MODE_MAX_ENUM = 0x7FFFFFFF
4963} VkSamplerReductionMode;
4964
4965typedef enum VkSemaphoreType {
4966 VK_SEMAPHORE_TYPE_BINARY = 0,
4967 VK_SEMAPHORE_TYPE_TIMELINE = 1,
4968 VK_SEMAPHORE_TYPE_BINARY_KHR = VK_SEMAPHORE_TYPE_BINARY,
4969 VK_SEMAPHORE_TYPE_TIMELINE_KHR = VK_SEMAPHORE_TYPE_TIMELINE,
4970 VK_SEMAPHORE_TYPE_MAX_ENUM = 0x7FFFFFFF
4971} VkSemaphoreType;
4972
4973typedef enum VkResolveModeFlagBits {
4974 VK_RESOLVE_MODE_NONE = 0,
4975 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT = 0x00000001,
4976 VK_RESOLVE_MODE_AVERAGE_BIT = 0x00000002,
4977 VK_RESOLVE_MODE_MIN_BIT = 0x00000004,
4978 VK_RESOLVE_MODE_MAX_BIT = 0x00000008,
4979 VK_RESOLVE_MODE_NONE_KHR = VK_RESOLVE_MODE_NONE,
4980 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR = VK_RESOLVE_MODE_SAMPLE_ZERO_BIT,
4981 VK_RESOLVE_MODE_AVERAGE_BIT_KHR = VK_RESOLVE_MODE_AVERAGE_BIT,
4982 VK_RESOLVE_MODE_MIN_BIT_KHR = VK_RESOLVE_MODE_MIN_BIT,
4983 VK_RESOLVE_MODE_MAX_BIT_KHR = VK_RESOLVE_MODE_MAX_BIT,
4984 VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4985} VkResolveModeFlagBits;
4986typedef VkFlags VkResolveModeFlags;
4987
4988typedef enum VkDescriptorBindingFlagBits {
4989 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT = 0x00000001,
4990 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT = 0x00000002,
4991 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT = 0x00000004,
4992 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT = 0x00000008,
4993 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT,
4994 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT,
4995 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT = VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT,
4996 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT = VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT,
4997 VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4998} VkDescriptorBindingFlagBits;
4999typedef VkFlags VkDescriptorBindingFlags;
5000
5001typedef enum VkSemaphoreWaitFlagBits {
5002 VK_SEMAPHORE_WAIT_ANY_BIT = 0x00000001,
5003 VK_SEMAPHORE_WAIT_ANY_BIT_KHR = VK_SEMAPHORE_WAIT_ANY_BIT,
5004 VK_SEMAPHORE_WAIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5005} VkSemaphoreWaitFlagBits;
5006typedef VkFlags VkSemaphoreWaitFlags;
5007typedef struct VkPhysicalDeviceVulkan11Features {
5008 VkStructureType sType;
5009 void* pNext;
5010 VkBool32 storageBuffer16BitAccess;
5011 VkBool32 uniformAndStorageBuffer16BitAccess;
5012 VkBool32 storagePushConstant16;
5013 VkBool32 storageInputOutput16;
5014 VkBool32 multiview;
5015 VkBool32 multiviewGeometryShader;
5016 VkBool32 multiviewTessellationShader;
5017 VkBool32 variablePointersStorageBuffer;
5018 VkBool32 variablePointers;
5019 VkBool32 protectedMemory;
5020 VkBool32 samplerYcbcrConversion;
5021 VkBool32 shaderDrawParameters;
5022} VkPhysicalDeviceVulkan11Features;
5023
5024typedef struct VkPhysicalDeviceVulkan11Properties {
5025 VkStructureType sType;
5026 void* pNext;
5027 uint8_t deviceUUID[VK_UUID_SIZE];
5028 uint8_t driverUUID[VK_UUID_SIZE];
5029 uint8_t deviceLUID[VK_LUID_SIZE];
5030 uint32_t deviceNodeMask;
5031 VkBool32 deviceLUIDValid;
5032 uint32_t subgroupSize;
5033 VkShaderStageFlags subgroupSupportedStages;
5034 VkSubgroupFeatureFlags subgroupSupportedOperations;
5035 VkBool32 subgroupQuadOperationsInAllStages;
5036 VkPointClippingBehavior pointClippingBehavior;
5037 uint32_t maxMultiviewViewCount;
5038 uint32_t maxMultiviewInstanceIndex;
5039 VkBool32 protectedNoFault;
5040 uint32_t maxPerSetDescriptors;
5041 VkDeviceSize maxMemoryAllocationSize;
5042} VkPhysicalDeviceVulkan11Properties;
5043
5044typedef struct VkPhysicalDeviceVulkan12Features {
5045 VkStructureType sType;
5046 void* pNext;
5047 VkBool32 samplerMirrorClampToEdge;
5048 VkBool32 drawIndirectCount;
5049 VkBool32 storageBuffer8BitAccess;
5050 VkBool32 uniformAndStorageBuffer8BitAccess;
5051 VkBool32 storagePushConstant8;
5052 VkBool32 shaderBufferInt64Atomics;
5053 VkBool32 shaderSharedInt64Atomics;
5054 VkBool32 shaderFloat16;
5055 VkBool32 shaderInt8;
5056 VkBool32 descriptorIndexing;
5057 VkBool32 shaderInputAttachmentArrayDynamicIndexing;
5058 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
5059 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
5060 VkBool32 shaderUniformBufferArrayNonUniformIndexing;
5061 VkBool32 shaderSampledImageArrayNonUniformIndexing;
5062 VkBool32 shaderStorageBufferArrayNonUniformIndexing;
5063 VkBool32 shaderStorageImageArrayNonUniformIndexing;
5064 VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
5065 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
5066 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
5067 VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
5068 VkBool32 descriptorBindingSampledImageUpdateAfterBind;
5069 VkBool32 descriptorBindingStorageImageUpdateAfterBind;
5070 VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
5071 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
5072 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
5073 VkBool32 descriptorBindingUpdateUnusedWhilePending;
5074 VkBool32 descriptorBindingPartiallyBound;
5075 VkBool32 descriptorBindingVariableDescriptorCount;
5076 VkBool32 runtimeDescriptorArray;
5077 VkBool32 samplerFilterMinmax;
5078 VkBool32 scalarBlockLayout;
5079 VkBool32 imagelessFramebuffer;
5080 VkBool32 uniformBufferStandardLayout;
5081 VkBool32 shaderSubgroupExtendedTypes;
5082 VkBool32 separateDepthStencilLayouts;
5083 VkBool32 hostQueryReset;
5084 VkBool32 timelineSemaphore;
5085 VkBool32 bufferDeviceAddress;
5086 VkBool32 bufferDeviceAddressCaptureReplay;
5087 VkBool32 bufferDeviceAddressMultiDevice;
5088 VkBool32 vulkanMemoryModel;
5089 VkBool32 vulkanMemoryModelDeviceScope;
5090 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
5091 VkBool32 shaderOutputViewportIndex;
5092 VkBool32 shaderOutputLayer;
5093 VkBool32 subgroupBroadcastDynamicId;
5094} VkPhysicalDeviceVulkan12Features;
5095
5096typedef struct VkConformanceVersion {
5097 uint8_t major;
5098 uint8_t minor;
5099 uint8_t subminor;
5100 uint8_t patch;
5101} VkConformanceVersion;
5102
5103typedef struct VkPhysicalDeviceVulkan12Properties {
5104 VkStructureType sType;
5105 void* pNext;
5106 VkDriverId driverID;
5107 char driverName[VK_MAX_DRIVER_NAME_SIZE];
5108 char driverInfo[VK_MAX_DRIVER_INFO_SIZE];
5109 VkConformanceVersion conformanceVersion;
5110 VkShaderFloatControlsIndependence denormBehaviorIndependence;
5111 VkShaderFloatControlsIndependence roundingModeIndependence;
5112 VkBool32 shaderSignedZeroInfNanPreserveFloat16;
5113 VkBool32 shaderSignedZeroInfNanPreserveFloat32;
5114 VkBool32 shaderSignedZeroInfNanPreserveFloat64;
5115 VkBool32 shaderDenormPreserveFloat16;
5116 VkBool32 shaderDenormPreserveFloat32;
5117 VkBool32 shaderDenormPreserveFloat64;
5118 VkBool32 shaderDenormFlushToZeroFloat16;
5119 VkBool32 shaderDenormFlushToZeroFloat32;
5120 VkBool32 shaderDenormFlushToZeroFloat64;
5121 VkBool32 shaderRoundingModeRTEFloat16;
5122 VkBool32 shaderRoundingModeRTEFloat32;
5123 VkBool32 shaderRoundingModeRTEFloat64;
5124 VkBool32 shaderRoundingModeRTZFloat16;
5125 VkBool32 shaderRoundingModeRTZFloat32;
5126 VkBool32 shaderRoundingModeRTZFloat64;
5127 uint32_t maxUpdateAfterBindDescriptorsInAllPools;
5128 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
5129 VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
5130 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
5131 VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
5132 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
5133 VkBool32 robustBufferAccessUpdateAfterBind;
5134 VkBool32 quadDivergentImplicitLod;
5135 uint32_t maxPerStageDescriptorUpdateAfterBindSamplers;
5136 uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers;
5137 uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers;
5138 uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages;
5139 uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages;
5140 uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments;
5141 uint32_t maxPerStageUpdateAfterBindResources;
5142 uint32_t maxDescriptorSetUpdateAfterBindSamplers;
5143 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers;
5144 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
5145 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers;
5146 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
5147 uint32_t maxDescriptorSetUpdateAfterBindSampledImages;
5148 uint32_t maxDescriptorSetUpdateAfterBindStorageImages;
5149 uint32_t maxDescriptorSetUpdateAfterBindInputAttachments;
5150 VkResolveModeFlags supportedDepthResolveModes;
5151 VkResolveModeFlags supportedStencilResolveModes;
5152 VkBool32 independentResolveNone;
5153 VkBool32 independentResolve;
5154 VkBool32 filterMinmaxSingleComponentFormats;
5155 VkBool32 filterMinmaxImageComponentMapping;
5156 uint64_t maxTimelineSemaphoreValueDifference;
5157 VkSampleCountFlags framebufferIntegerColorSampleCounts;
5158} VkPhysicalDeviceVulkan12Properties;
5159
5160typedef struct VkImageFormatListCreateInfo {
5161 VkStructureType sType;
5162 const void* pNext;
5163 uint32_t viewFormatCount;
5164 const VkFormat* pViewFormats;
5165} VkImageFormatListCreateInfo;
5166
5167typedef struct VkAttachmentDescription2 {
5168 VkStructureType sType;
5169 const void* pNext;
5170 VkAttachmentDescriptionFlags flags;
5171 VkFormat format;
5172 VkSampleCountFlagBits samples;
5173 VkAttachmentLoadOp loadOp;
5174 VkAttachmentStoreOp storeOp;
5175 VkAttachmentLoadOp stencilLoadOp;
5176 VkAttachmentStoreOp stencilStoreOp;
5177 VkImageLayout initialLayout;
5178 VkImageLayout finalLayout;
5179} VkAttachmentDescription2;
5180
5181typedef struct VkAttachmentReference2 {
5182 VkStructureType sType;
5183 const void* pNext;
5184 uint32_t attachment;
5185 VkImageLayout layout;
5186 VkImageAspectFlags aspectMask;
5187} VkAttachmentReference2;
5188
5189typedef struct VkSubpassDescription2 {
5190 VkStructureType sType;
5191 const void* pNext;
5192 VkSubpassDescriptionFlags flags;
5193 VkPipelineBindPoint pipelineBindPoint;
5194 uint32_t viewMask;
5195 uint32_t inputAttachmentCount;
5196 const VkAttachmentReference2* pInputAttachments;
5197 uint32_t colorAttachmentCount;
5198 const VkAttachmentReference2* pColorAttachments;
5199 const VkAttachmentReference2* pResolveAttachments;
5200 const VkAttachmentReference2* pDepthStencilAttachment;
5201 uint32_t preserveAttachmentCount;
5202 const uint32_t* pPreserveAttachments;
5203} VkSubpassDescription2;
5204
5205typedef struct VkSubpassDependency2 {
5206 VkStructureType sType;
5207 const void* pNext;
5208 uint32_t srcSubpass;
5209 uint32_t dstSubpass;
5210 VkPipelineStageFlags srcStageMask;
5211 VkPipelineStageFlags dstStageMask;
5212 VkAccessFlags srcAccessMask;
5213 VkAccessFlags dstAccessMask;
5214 VkDependencyFlags dependencyFlags;
5215 int32_t viewOffset;
5216} VkSubpassDependency2;
5217
5218typedef struct VkRenderPassCreateInfo2 {
5219 VkStructureType sType;
5220 const void* pNext;
5221 VkRenderPassCreateFlags flags;
5222 uint32_t attachmentCount;
5223 const VkAttachmentDescription2* pAttachments;
5224 uint32_t subpassCount;
5225 const VkSubpassDescription2* pSubpasses;
5226 uint32_t dependencyCount;
5227 const VkSubpassDependency2* pDependencies;
5228 uint32_t correlatedViewMaskCount;
5229 const uint32_t* pCorrelatedViewMasks;
5230} VkRenderPassCreateInfo2;
5231
5232typedef struct VkSubpassBeginInfo {
5233 VkStructureType sType;
5234 const void* pNext;
5235 VkSubpassContents contents;
5236} VkSubpassBeginInfo;
5237
5238typedef struct VkSubpassEndInfo {
5239 VkStructureType sType;
5240 const void* pNext;
5241} VkSubpassEndInfo;
5242
5243typedef struct VkPhysicalDevice8BitStorageFeatures {
5244 VkStructureType sType;
5245 void* pNext;
5246 VkBool32 storageBuffer8BitAccess;
5247 VkBool32 uniformAndStorageBuffer8BitAccess;
5248 VkBool32 storagePushConstant8;
5249} VkPhysicalDevice8BitStorageFeatures;
5250
5251typedef struct VkPhysicalDeviceDriverProperties {
5252 VkStructureType sType;
5253 void* pNext;
5254 VkDriverId driverID;
5255 char driverName[VK_MAX_DRIVER_NAME_SIZE];
5256 char driverInfo[VK_MAX_DRIVER_INFO_SIZE];
5257 VkConformanceVersion conformanceVersion;
5258} VkPhysicalDeviceDriverProperties;
5259
5260typedef struct VkPhysicalDeviceShaderAtomicInt64Features {
5261 VkStructureType sType;
5262 void* pNext;
5263 VkBool32 shaderBufferInt64Atomics;
5264 VkBool32 shaderSharedInt64Atomics;
5265} VkPhysicalDeviceShaderAtomicInt64Features;
5266
5267typedef struct VkPhysicalDeviceShaderFloat16Int8Features {
5268 VkStructureType sType;
5269 void* pNext;
5270 VkBool32 shaderFloat16;
5271 VkBool32 shaderInt8;
5272} VkPhysicalDeviceShaderFloat16Int8Features;
5273
5274typedef struct VkPhysicalDeviceFloatControlsProperties {
5275 VkStructureType sType;
5276 void* pNext;
5277 VkShaderFloatControlsIndependence denormBehaviorIndependence;
5278 VkShaderFloatControlsIndependence roundingModeIndependence;
5279 VkBool32 shaderSignedZeroInfNanPreserveFloat16;
5280 VkBool32 shaderSignedZeroInfNanPreserveFloat32;
5281 VkBool32 shaderSignedZeroInfNanPreserveFloat64;
5282 VkBool32 shaderDenormPreserveFloat16;
5283 VkBool32 shaderDenormPreserveFloat32;
5284 VkBool32 shaderDenormPreserveFloat64;
5285 VkBool32 shaderDenormFlushToZeroFloat16;
5286 VkBool32 shaderDenormFlushToZeroFloat32;
5287 VkBool32 shaderDenormFlushToZeroFloat64;
5288 VkBool32 shaderRoundingModeRTEFloat16;
5289 VkBool32 shaderRoundingModeRTEFloat32;
5290 VkBool32 shaderRoundingModeRTEFloat64;
5291 VkBool32 shaderRoundingModeRTZFloat16;
5292 VkBool32 shaderRoundingModeRTZFloat32;
5293 VkBool32 shaderRoundingModeRTZFloat64;
5294} VkPhysicalDeviceFloatControlsProperties;
5295
5296typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfo {
5297 VkStructureType sType;
5298 const void* pNext;
5299 uint32_t bindingCount;
5300 const VkDescriptorBindingFlags* pBindingFlags;
5301} VkDescriptorSetLayoutBindingFlagsCreateInfo;
5302
5303typedef struct VkPhysicalDeviceDescriptorIndexingFeatures {
5304 VkStructureType sType;
5305 void* pNext;
5306 VkBool32 shaderInputAttachmentArrayDynamicIndexing;
5307 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
5308 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
5309 VkBool32 shaderUniformBufferArrayNonUniformIndexing;
5310 VkBool32 shaderSampledImageArrayNonUniformIndexing;
5311 VkBool32 shaderStorageBufferArrayNonUniformIndexing;
5312 VkBool32 shaderStorageImageArrayNonUniformIndexing;
5313 VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
5314 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
5315 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
5316 VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
5317 VkBool32 descriptorBindingSampledImageUpdateAfterBind;
5318 VkBool32 descriptorBindingStorageImageUpdateAfterBind;
5319 VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
5320 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
5321 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
5322 VkBool32 descriptorBindingUpdateUnusedWhilePending;
5323 VkBool32 descriptorBindingPartiallyBound;
5324 VkBool32 descriptorBindingVariableDescriptorCount;
5325 VkBool32 runtimeDescriptorArray;
5326} VkPhysicalDeviceDescriptorIndexingFeatures;
5327
5328typedef struct VkPhysicalDeviceDescriptorIndexingProperties {
5329 VkStructureType sType;
5330 void* pNext;
5331 uint32_t maxUpdateAfterBindDescriptorsInAllPools;
5332 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
5333 VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
5334 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
5335 VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
5336 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
5337 VkBool32 robustBufferAccessUpdateAfterBind;
5338 VkBool32 quadDivergentImplicitLod;
5339 uint32_t maxPerStageDescriptorUpdateAfterBindSamplers;
5340 uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers;
5341 uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers;
5342 uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages;
5343 uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages;
5344 uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments;
5345 uint32_t maxPerStageUpdateAfterBindResources;
5346 uint32_t maxDescriptorSetUpdateAfterBindSamplers;
5347 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers;
5348 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
5349 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers;
5350 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
5351 uint32_t maxDescriptorSetUpdateAfterBindSampledImages;
5352 uint32_t maxDescriptorSetUpdateAfterBindStorageImages;
5353 uint32_t maxDescriptorSetUpdateAfterBindInputAttachments;
5354} VkPhysicalDeviceDescriptorIndexingProperties;
5355
5356typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfo {
5357 VkStructureType sType;
5358 const void* pNext;
5359 uint32_t descriptorSetCount;
5360 const uint32_t* pDescriptorCounts;
5361} VkDescriptorSetVariableDescriptorCountAllocateInfo;
5362
5363typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupport {
5364 VkStructureType sType;
5365 void* pNext;
5366 uint32_t maxVariableDescriptorCount;
5367} VkDescriptorSetVariableDescriptorCountLayoutSupport;
5368
5369typedef struct VkSubpassDescriptionDepthStencilResolve {
5370 VkStructureType sType;
5371 const void* pNext;
5372 VkResolveModeFlagBits depthResolveMode;
5373 VkResolveModeFlagBits stencilResolveMode;
5374 const VkAttachmentReference2* pDepthStencilResolveAttachment;
5375} VkSubpassDescriptionDepthStencilResolve;
5376
5377typedef struct VkPhysicalDeviceDepthStencilResolveProperties {
5378 VkStructureType sType;
5379 void* pNext;
5380 VkResolveModeFlags supportedDepthResolveModes;
5381 VkResolveModeFlags supportedStencilResolveModes;
5382 VkBool32 independentResolveNone;
5383 VkBool32 independentResolve;
5384} VkPhysicalDeviceDepthStencilResolveProperties;
5385
5386typedef struct VkPhysicalDeviceScalarBlockLayoutFeatures {
5387 VkStructureType sType;
5388 void* pNext;
5389 VkBool32 scalarBlockLayout;
5390} VkPhysicalDeviceScalarBlockLayoutFeatures;
5391
5392typedef struct VkImageStencilUsageCreateInfo {
5393 VkStructureType sType;
5394 const void* pNext;
5395 VkImageUsageFlags stencilUsage;
5396} VkImageStencilUsageCreateInfo;
5397
5398typedef struct VkSamplerReductionModeCreateInfo {
5399 VkStructureType sType;
5400 const void* pNext;
5401 VkSamplerReductionMode reductionMode;
5402} VkSamplerReductionModeCreateInfo;
5403
5404typedef struct VkPhysicalDeviceSamplerFilterMinmaxProperties {
5405 VkStructureType sType;
5406 void* pNext;
5407 VkBool32 filterMinmaxSingleComponentFormats;
5408 VkBool32 filterMinmaxImageComponentMapping;
5409} VkPhysicalDeviceSamplerFilterMinmaxProperties;
5410
5411typedef struct VkPhysicalDeviceVulkanMemoryModelFeatures {
5412 VkStructureType sType;
5413 void* pNext;
5414 VkBool32 vulkanMemoryModel;
5415 VkBool32 vulkanMemoryModelDeviceScope;
5416 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
5417} VkPhysicalDeviceVulkanMemoryModelFeatures;
5418
5419typedef struct VkPhysicalDeviceImagelessFramebufferFeatures {
5420 VkStructureType sType;
5421 void* pNext;
5422 VkBool32 imagelessFramebuffer;
5423} VkPhysicalDeviceImagelessFramebufferFeatures;
5424
5425typedef struct VkFramebufferAttachmentImageInfo {
5426 VkStructureType sType;
5427 const void* pNext;
5428 VkImageCreateFlags flags;
5429 VkImageUsageFlags usage;
5430 uint32_t width;
5431 uint32_t height;
5432 uint32_t layerCount;
5433 uint32_t viewFormatCount;
5434 const VkFormat* pViewFormats;
5435} VkFramebufferAttachmentImageInfo;
5436
5437typedef struct VkFramebufferAttachmentsCreateInfo {
5438 VkStructureType sType;
5439 const void* pNext;
5440 uint32_t attachmentImageInfoCount;
5441 const VkFramebufferAttachmentImageInfo* pAttachmentImageInfos;
5442} VkFramebufferAttachmentsCreateInfo;
5443
5444typedef struct VkRenderPassAttachmentBeginInfo {
5445 VkStructureType sType;
5446 const void* pNext;
5447 uint32_t attachmentCount;
5448 const VkImageView* pAttachments;
5449} VkRenderPassAttachmentBeginInfo;
5450
5451typedef struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures {
5452 VkStructureType sType;
5453 void* pNext;
5454 VkBool32 uniformBufferStandardLayout;
5455} VkPhysicalDeviceUniformBufferStandardLayoutFeatures;
5456
5457typedef struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures {
5458 VkStructureType sType;
5459 void* pNext;
5460 VkBool32 shaderSubgroupExtendedTypes;
5461} VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures;
5462
5463typedef struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures {
5464 VkStructureType sType;
5465 void* pNext;
5466 VkBool32 separateDepthStencilLayouts;
5467} VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures;
5468
5469typedef struct VkAttachmentReferenceStencilLayout {
5470 VkStructureType sType;
5471 void* pNext;
5472 VkImageLayout stencilLayout;
5473} VkAttachmentReferenceStencilLayout;
5474
5475typedef struct VkAttachmentDescriptionStencilLayout {
5476 VkStructureType sType;
5477 void* pNext;
5478 VkImageLayout stencilInitialLayout;
5479 VkImageLayout stencilFinalLayout;
5480} VkAttachmentDescriptionStencilLayout;
5481
5482typedef struct VkPhysicalDeviceHostQueryResetFeatures {
5483 VkStructureType sType;
5484 void* pNext;
5485 VkBool32 hostQueryReset;
5486} VkPhysicalDeviceHostQueryResetFeatures;
5487
5488typedef struct VkPhysicalDeviceTimelineSemaphoreFeatures {
5489 VkStructureType sType;
5490 void* pNext;
5491 VkBool32 timelineSemaphore;
5492} VkPhysicalDeviceTimelineSemaphoreFeatures;
5493
5494typedef struct VkPhysicalDeviceTimelineSemaphoreProperties {
5495 VkStructureType sType;
5496 void* pNext;
5497 uint64_t maxTimelineSemaphoreValueDifference;
5498} VkPhysicalDeviceTimelineSemaphoreProperties;
5499
5500typedef struct VkSemaphoreTypeCreateInfo {
5501 VkStructureType sType;
5502 const void* pNext;
5503 VkSemaphoreType semaphoreType;
5504 uint64_t initialValue;
5505} VkSemaphoreTypeCreateInfo;
5506
5507typedef struct VkTimelineSemaphoreSubmitInfo {
5508 VkStructureType sType;
5509 const void* pNext;
5510 uint32_t waitSemaphoreValueCount;
5511 const uint64_t* pWaitSemaphoreValues;
5512 uint32_t signalSemaphoreValueCount;
5513 const uint64_t* pSignalSemaphoreValues;
5514} VkTimelineSemaphoreSubmitInfo;
5515
5516typedef struct VkSemaphoreWaitInfo {
5517 VkStructureType sType;
5518 const void* pNext;
5519 VkSemaphoreWaitFlags flags;
5520 uint32_t semaphoreCount;
5521 const VkSemaphore* pSemaphores;
5522 const uint64_t* pValues;
5523} VkSemaphoreWaitInfo;
5524
5525typedef struct VkSemaphoreSignalInfo {
5526 VkStructureType sType;
5527 const void* pNext;
5528 VkSemaphore semaphore;
5529 uint64_t value;
5530} VkSemaphoreSignalInfo;
5531
5532typedef struct VkPhysicalDeviceBufferDeviceAddressFeatures {
5533 VkStructureType sType;
5534 void* pNext;
5535 VkBool32 bufferDeviceAddress;
5536 VkBool32 bufferDeviceAddressCaptureReplay;
5537 VkBool32 bufferDeviceAddressMultiDevice;
5538} VkPhysicalDeviceBufferDeviceAddressFeatures;
5539
5540typedef struct VkBufferDeviceAddressInfo {
5541 VkStructureType sType;
5542 const void* pNext;
5543 VkBuffer buffer;
5544} VkBufferDeviceAddressInfo;
5545
5546typedef struct VkBufferOpaqueCaptureAddressCreateInfo {
5547 VkStructureType sType;
5548 const void* pNext;
5549 uint64_t opaqueCaptureAddress;
5550} VkBufferOpaqueCaptureAddressCreateInfo;
5551
5552typedef struct VkMemoryOpaqueCaptureAddressAllocateInfo {
5553 VkStructureType sType;
5554 const void* pNext;
5555 uint64_t opaqueCaptureAddress;
5556} VkMemoryOpaqueCaptureAddressAllocateInfo;
5557
5558typedef struct VkDeviceMemoryOpaqueCaptureAddressInfo {
5559 VkStructureType sType;
5560 const void* pNext;
5561 VkDeviceMemory memory;
5562} VkDeviceMemoryOpaqueCaptureAddressInfo;
5563
5564typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
5565typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
5566typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
5567typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo);
5568typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo);
5569typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo);
5570typedef void (VKAPI_PTR *PFN_vkResetQueryPool)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount);
5571typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValue)(VkDevice device, VkSemaphore semaphore, uint64_t* pValue);
5572typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphores)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout);
5573typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphore)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo);
5574typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
5575typedef uint64_t (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
5576typedef uint64_t (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddress)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
5577
5578#ifndef VK_NO_PROTOTYPES
5579VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCount(
5580 VkCommandBuffer commandBuffer,
5581 VkBuffer buffer,
5582 VkDeviceSize offset,
5583 VkBuffer countBuffer,
5584 VkDeviceSize countBufferOffset,
5585 uint32_t maxDrawCount,
5586 uint32_t stride);
5587
5588VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCount(
5589 VkCommandBuffer commandBuffer,
5590 VkBuffer buffer,
5591 VkDeviceSize offset,
5592 VkBuffer countBuffer,
5593 VkDeviceSize countBufferOffset,
5594 uint32_t maxDrawCount,
5595 uint32_t stride);
5596
5597VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2(
5598 VkDevice device,
5599 const VkRenderPassCreateInfo2* pCreateInfo,
5600 const VkAllocationCallbacks* pAllocator,
5601 VkRenderPass* pRenderPass);
5602
5603VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2(
5604 VkCommandBuffer commandBuffer,
5605 const VkRenderPassBeginInfo* pRenderPassBegin,
5606 const VkSubpassBeginInfo* pSubpassBeginInfo);
5607
5608VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2(
5609 VkCommandBuffer commandBuffer,
5610 const VkSubpassBeginInfo* pSubpassBeginInfo,
5611 const VkSubpassEndInfo* pSubpassEndInfo);
5612
5613VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2(
5614 VkCommandBuffer commandBuffer,
5615 const VkSubpassEndInfo* pSubpassEndInfo);
5616
5617VKAPI_ATTR void VKAPI_CALL vkResetQueryPool(
5618 VkDevice device,
5619 VkQueryPool queryPool,
5620 uint32_t firstQuery,
5621 uint32_t queryCount);
5622
5623VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValue(
5624 VkDevice device,
5625 VkSemaphore semaphore,
5626 uint64_t* pValue);
5627
5628VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphores(
5629 VkDevice device,
5630 const VkSemaphoreWaitInfo* pWaitInfo,
5631 uint64_t timeout);
5632
5633VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphore(
5634 VkDevice device,
5635 const VkSemaphoreSignalInfo* pSignalInfo);
5636
5637VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddress(
5638 VkDevice device,
5639 const VkBufferDeviceAddressInfo* pInfo);
5640
5641VKAPI_ATTR uint64_t VKAPI_CALL vkGetBufferOpaqueCaptureAddress(
5642 VkDevice device,
5643 const VkBufferDeviceAddressInfo* pInfo);
5644
5645VKAPI_ATTR uint64_t VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddress(
5646 VkDevice device,
5647 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
5648#endif
5649
5650
5651#define VK_KHR_surface 1
5652VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR)
5653#define VK_KHR_SURFACE_SPEC_VERSION 25
5654#define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface"
5655
5656typedef enum VkPresentModeKHR {
5657 VK_PRESENT_MODE_IMMEDIATE_KHR = 0,
5658 VK_PRESENT_MODE_MAILBOX_KHR = 1,
5659 VK_PRESENT_MODE_FIFO_KHR = 2,
5660 VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3,
5661 VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR = 1000111000,
5662 VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = 1000111001,
5663 VK_PRESENT_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
5664} VkPresentModeKHR;
5665
5666typedef enum VkColorSpaceKHR {
5667 VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0,
5668 VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = 1000104001,
5669 VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT = 1000104002,
5670 VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT = 1000104003,
5671 VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT = 1000104004,
5672 VK_COLOR_SPACE_BT709_LINEAR_EXT = 1000104005,
5673 VK_COLOR_SPACE_BT709_NONLINEAR_EXT = 1000104006,
5674 VK_COLOR_SPACE_BT2020_LINEAR_EXT = 1000104007,
5675 VK_COLOR_SPACE_HDR10_ST2084_EXT = 1000104008,
5676 VK_COLOR_SPACE_DOLBYVISION_EXT = 1000104009,
5677 VK_COLOR_SPACE_HDR10_HLG_EXT = 1000104010,
5678 VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT = 1000104011,
5679 VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT = 1000104012,
5680 VK_COLOR_SPACE_PASS_THROUGH_EXT = 1000104013,
5681 VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT = 1000104014,
5682 VK_COLOR_SPACE_DISPLAY_NATIVE_AMD = 1000213000,
5683 VK_COLORSPACE_SRGB_NONLINEAR_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
5684 VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT,
5685 VK_COLOR_SPACE_MAX_ENUM_KHR = 0x7FFFFFFF
5686} VkColorSpaceKHR;
5687
5688typedef enum VkSurfaceTransformFlagBitsKHR {
5689 VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 0x00000001,
5690 VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 0x00000002,
5691 VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 0x00000004,
5692 VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 0x00000008,
5693 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 0x00000010,
5694 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 0x00000020,
5695 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 0x00000040,
5696 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 0x00000080,
5697 VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 0x00000100,
5698 VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
5699} VkSurfaceTransformFlagBitsKHR;
5700
5701typedef enum VkCompositeAlphaFlagBitsKHR {
5702 VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
5703 VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 0x00000002,
5704 VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 0x00000004,
5705 VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 0x00000008,
5706 VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
5707} VkCompositeAlphaFlagBitsKHR;
5708typedef VkFlags VkCompositeAlphaFlagsKHR;
5709typedef VkFlags VkSurfaceTransformFlagsKHR;
5710typedef struct VkSurfaceCapabilitiesKHR {
5711 uint32_t minImageCount;
5712 uint32_t maxImageCount;
5713 VkExtent2D currentExtent;
5714 VkExtent2D minImageExtent;
5715 VkExtent2D maxImageExtent;
5716 uint32_t maxImageArrayLayers;
5717 VkSurfaceTransformFlagsKHR supportedTransforms;
5718 VkSurfaceTransformFlagBitsKHR currentTransform;
5719 VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
5720 VkImageUsageFlags supportedUsageFlags;
5721} VkSurfaceCapabilitiesKHR;
5722
5723typedef struct VkSurfaceFormatKHR {
5724 VkFormat format;
5725 VkColorSpaceKHR colorSpace;
5726} VkSurfaceFormatKHR;
5727
5728typedef void (VKAPI_PTR *PFN_vkDestroySurfaceKHR)(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator);
5729typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported);
5730typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
5731typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats);
5732typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pPresentModeCount, VkPresentModeKHR* pPresentModes);
5733
5734#ifndef VK_NO_PROTOTYPES
5735VKAPI_ATTR void VKAPI_CALL vkDestroySurfaceKHR(
5736 VkInstance instance,
5737 VkSurfaceKHR surface,
5738 const VkAllocationCallbacks* pAllocator);
5739
5740VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceSupportKHR(
5741 VkPhysicalDevice physicalDevice,
5742 uint32_t queueFamilyIndex,
5743 VkSurfaceKHR surface,
5744 VkBool32* pSupported);
5745
5746VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilitiesKHR(
5747 VkPhysicalDevice physicalDevice,
5748 VkSurfaceKHR surface,
5749 VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
5750
5751VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormatsKHR(
5752 VkPhysicalDevice physicalDevice,
5753 VkSurfaceKHR surface,
5754 uint32_t* pSurfaceFormatCount,
5755 VkSurfaceFormatKHR* pSurfaceFormats);
5756
5757VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModesKHR(
5758 VkPhysicalDevice physicalDevice,
5759 VkSurfaceKHR surface,
5760 uint32_t* pPresentModeCount,
5761 VkPresentModeKHR* pPresentModes);
5762#endif
5763
5764
5765#define VK_KHR_swapchain 1
5766VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR)
5767#define VK_KHR_SWAPCHAIN_SPEC_VERSION 70
5768#define VK_KHR_SWAPCHAIN_EXTENSION_NAME "VK_KHR_swapchain"
5769
5770typedef enum VkSwapchainCreateFlagBitsKHR {
5771 VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 0x00000001,
5772 VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR = 0x00000002,
5773 VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR = 0x00000004,
5774 VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
5775} VkSwapchainCreateFlagBitsKHR;
5776typedef VkFlags VkSwapchainCreateFlagsKHR;
5777
5778typedef enum VkDeviceGroupPresentModeFlagBitsKHR {
5779 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR = 0x00000001,
5780 VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR = 0x00000002,
5781 VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR = 0x00000004,
5782 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR = 0x00000008,
5783 VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
5784} VkDeviceGroupPresentModeFlagBitsKHR;
5785typedef VkFlags VkDeviceGroupPresentModeFlagsKHR;
5786typedef struct VkSwapchainCreateInfoKHR {
5787 VkStructureType sType;
5788 const void* pNext;
5789 VkSwapchainCreateFlagsKHR flags;
5790 VkSurfaceKHR surface;
5791 uint32_t minImageCount;
5792 VkFormat imageFormat;
5793 VkColorSpaceKHR imageColorSpace;
5794 VkExtent2D imageExtent;
5795 uint32_t imageArrayLayers;
5796 VkImageUsageFlags imageUsage;
5797 VkSharingMode imageSharingMode;
5798 uint32_t queueFamilyIndexCount;
5799 const uint32_t* pQueueFamilyIndices;
5800 VkSurfaceTransformFlagBitsKHR preTransform;
5801 VkCompositeAlphaFlagBitsKHR compositeAlpha;
5802 VkPresentModeKHR presentMode;
5803 VkBool32 clipped;
5804 VkSwapchainKHR oldSwapchain;
5805} VkSwapchainCreateInfoKHR;
5806
5807typedef struct VkPresentInfoKHR {
5808 VkStructureType sType;
5809 const void* pNext;
5810 uint32_t waitSemaphoreCount;
5811 const VkSemaphore* pWaitSemaphores;
5812 uint32_t swapchainCount;
5813 const VkSwapchainKHR* pSwapchains;
5814 const uint32_t* pImageIndices;
5815 VkResult* pResults;
5816} VkPresentInfoKHR;
5817
5818typedef struct VkImageSwapchainCreateInfoKHR {
5819 VkStructureType sType;
5820 const void* pNext;
5821 VkSwapchainKHR swapchain;
5822} VkImageSwapchainCreateInfoKHR;
5823
5824typedef struct VkBindImageMemorySwapchainInfoKHR {
5825 VkStructureType sType;
5826 const void* pNext;
5827 VkSwapchainKHR swapchain;
5828 uint32_t imageIndex;
5829} VkBindImageMemorySwapchainInfoKHR;
5830
5831typedef struct VkAcquireNextImageInfoKHR {
5832 VkStructureType sType;
5833 const void* pNext;
5834 VkSwapchainKHR swapchain;
5835 uint64_t timeout;
5836 VkSemaphore semaphore;
5837 VkFence fence;
5838 uint32_t deviceMask;
5839} VkAcquireNextImageInfoKHR;
5840
5841typedef struct VkDeviceGroupPresentCapabilitiesKHR {
5842 VkStructureType sType;
5843 const void* pNext;
5844 uint32_t presentMask[VK_MAX_DEVICE_GROUP_SIZE];
5845 VkDeviceGroupPresentModeFlagsKHR modes;
5846} VkDeviceGroupPresentCapabilitiesKHR;
5847
5848typedef struct VkDeviceGroupPresentInfoKHR {
5849 VkStructureType sType;
5850 const void* pNext;
5851 uint32_t swapchainCount;
5852 const uint32_t* pDeviceMasks;
5853 VkDeviceGroupPresentModeFlagBitsKHR mode;
5854} VkDeviceGroupPresentInfoKHR;
5855
5856typedef struct VkDeviceGroupSwapchainCreateInfoKHR {
5857 VkStructureType sType;
5858 const void* pNext;
5859 VkDeviceGroupPresentModeFlagsKHR modes;
5860} VkDeviceGroupSwapchainCreateInfoKHR;
5861
5862typedef VkResult (VKAPI_PTR *PFN_vkCreateSwapchainKHR)(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain);
5863typedef void (VKAPI_PTR *PFN_vkDestroySwapchainKHR)(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator);
5864typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainImagesKHR)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages);
5865typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImageKHR)(VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex);
5866typedef VkResult (VKAPI_PTR *PFN_vkQueuePresentKHR)(VkQueue queue, const VkPresentInfoKHR* pPresentInfo);
5867typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupPresentCapabilitiesKHR)(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
5868typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupSurfacePresentModesKHR)(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes);
5869typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDevicePresentRectanglesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pRectCount, VkRect2D* pRects);
5870typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImage2KHR)(VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, uint32_t* pImageIndex);
5871
5872#ifndef VK_NO_PROTOTYPES
5873VKAPI_ATTR VkResult VKAPI_CALL vkCreateSwapchainKHR(
5874 VkDevice device,
5875 const VkSwapchainCreateInfoKHR* pCreateInfo,
5876 const VkAllocationCallbacks* pAllocator,
5877 VkSwapchainKHR* pSwapchain);
5878
5879VKAPI_ATTR void VKAPI_CALL vkDestroySwapchainKHR(
5880 VkDevice device,
5881 VkSwapchainKHR swapchain,
5882 const VkAllocationCallbacks* pAllocator);
5883
5884VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainImagesKHR(
5885 VkDevice device,
5886 VkSwapchainKHR swapchain,
5887 uint32_t* pSwapchainImageCount,
5888 VkImage* pSwapchainImages);
5889
5890VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImageKHR(
5891 VkDevice device,
5892 VkSwapchainKHR swapchain,
5893 uint64_t timeout,
5894 VkSemaphore semaphore,
5895 VkFence fence,
5896 uint32_t* pImageIndex);
5897
5898VKAPI_ATTR VkResult VKAPI_CALL vkQueuePresentKHR(
5899 VkQueue queue,
5900 const VkPresentInfoKHR* pPresentInfo);
5901
5902VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupPresentCapabilitiesKHR(
5903 VkDevice device,
5904 VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
5905
5906VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupSurfacePresentModesKHR(
5907 VkDevice device,
5908 VkSurfaceKHR surface,
5909 VkDeviceGroupPresentModeFlagsKHR* pModes);
5910
5911VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDevicePresentRectanglesKHR(
5912 VkPhysicalDevice physicalDevice,
5913 VkSurfaceKHR surface,
5914 uint32_t* pRectCount,
5915 VkRect2D* pRects);
5916
5917VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImage2KHR(
5918 VkDevice device,
5919 const VkAcquireNextImageInfoKHR* pAcquireInfo,
5920 uint32_t* pImageIndex);
5921#endif
5922
5923
5924#define VK_KHR_display 1
5925VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR)
5926VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR)
5927#define VK_KHR_DISPLAY_SPEC_VERSION 23
5928#define VK_KHR_DISPLAY_EXTENSION_NAME "VK_KHR_display"
5929typedef VkFlags VkDisplayModeCreateFlagsKHR;
5930
5931typedef enum VkDisplayPlaneAlphaFlagBitsKHR {
5932 VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
5933 VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR = 0x00000002,
5934 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR = 0x00000004,
5935 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = 0x00000008,
5936 VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
5937} VkDisplayPlaneAlphaFlagBitsKHR;
5938typedef VkFlags VkDisplayPlaneAlphaFlagsKHR;
5939typedef VkFlags VkDisplaySurfaceCreateFlagsKHR;
5940typedef struct VkDisplayModeParametersKHR {
5941 VkExtent2D visibleRegion;
5942 uint32_t refreshRate;
5943} VkDisplayModeParametersKHR;
5944
5945typedef struct VkDisplayModeCreateInfoKHR {
5946 VkStructureType sType;
5947 const void* pNext;
5948 VkDisplayModeCreateFlagsKHR flags;
5949 VkDisplayModeParametersKHR parameters;
5950} VkDisplayModeCreateInfoKHR;
5951
5952typedef struct VkDisplayModePropertiesKHR {
5953 VkDisplayModeKHR displayMode;
5954 VkDisplayModeParametersKHR parameters;
5955} VkDisplayModePropertiesKHR;
5956
5957typedef struct VkDisplayPlaneCapabilitiesKHR {
5958 VkDisplayPlaneAlphaFlagsKHR supportedAlpha;
5959 VkOffset2D minSrcPosition;
5960 VkOffset2D maxSrcPosition;
5961 VkExtent2D minSrcExtent;
5962 VkExtent2D maxSrcExtent;
5963 VkOffset2D minDstPosition;
5964 VkOffset2D maxDstPosition;
5965 VkExtent2D minDstExtent;
5966 VkExtent2D maxDstExtent;
5967} VkDisplayPlaneCapabilitiesKHR;
5968
5969typedef struct VkDisplayPlanePropertiesKHR {
5970 VkDisplayKHR currentDisplay;
5971 uint32_t currentStackIndex;
5972} VkDisplayPlanePropertiesKHR;
5973
5974typedef struct VkDisplayPropertiesKHR {
5975 VkDisplayKHR display;
5976 const char* displayName;
5977 VkExtent2D physicalDimensions;
5978 VkExtent2D physicalResolution;
5979 VkSurfaceTransformFlagsKHR supportedTransforms;
5980 VkBool32 planeReorderPossible;
5981 VkBool32 persistentContent;
5982} VkDisplayPropertiesKHR;
5983
5984typedef struct VkDisplaySurfaceCreateInfoKHR {
5985 VkStructureType sType;
5986 const void* pNext;
5987 VkDisplaySurfaceCreateFlagsKHR flags;
5988 VkDisplayModeKHR displayMode;
5989 uint32_t planeIndex;
5990 uint32_t planeStackIndex;
5991 VkSurfaceTransformFlagBitsKHR transform;
5992 float globalAlpha;
5993 VkDisplayPlaneAlphaFlagBitsKHR alphaMode;
5994 VkExtent2D imageExtent;
5995} VkDisplaySurfaceCreateInfoKHR;
5996
5997typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPropertiesKHR* pProperties);
5998typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties);
5999typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneSupportedDisplaysKHR)(VkPhysicalDevice physicalDevice, uint32_t planeIndex, uint32_t* pDisplayCount, VkDisplayKHR* pDisplays);
6000typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModePropertiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModePropertiesKHR* pProperties);
6001typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayModeKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode);
6002typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, uint32_t planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities);
6003typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayPlaneSurfaceKHR)(VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
6004
6005#ifndef VK_NO_PROTOTYPES
6006VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPropertiesKHR(
6007 VkPhysicalDevice physicalDevice,
6008 uint32_t* pPropertyCount,
6009 VkDisplayPropertiesKHR* pProperties);
6010
6011VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlanePropertiesKHR(
6012 VkPhysicalDevice physicalDevice,
6013 uint32_t* pPropertyCount,
6014 VkDisplayPlanePropertiesKHR* pProperties);
6015
6016VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneSupportedDisplaysKHR(
6017 VkPhysicalDevice physicalDevice,
6018 uint32_t planeIndex,
6019 uint32_t* pDisplayCount,
6020 VkDisplayKHR* pDisplays);
6021
6022VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModePropertiesKHR(
6023 VkPhysicalDevice physicalDevice,
6024 VkDisplayKHR display,
6025 uint32_t* pPropertyCount,
6026 VkDisplayModePropertiesKHR* pProperties);
6027
6028VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayModeKHR(
6029 VkPhysicalDevice physicalDevice,
6030 VkDisplayKHR display,
6031 const VkDisplayModeCreateInfoKHR* pCreateInfo,
6032 const VkAllocationCallbacks* pAllocator,
6033 VkDisplayModeKHR* pMode);
6034
6035VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilitiesKHR(
6036 VkPhysicalDevice physicalDevice,
6037 VkDisplayModeKHR mode,
6038 uint32_t planeIndex,
6039 VkDisplayPlaneCapabilitiesKHR* pCapabilities);
6040
6041VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayPlaneSurfaceKHR(
6042 VkInstance instance,
6043 const VkDisplaySurfaceCreateInfoKHR* pCreateInfo,
6044 const VkAllocationCallbacks* pAllocator,
6045 VkSurfaceKHR* pSurface);
6046#endif
6047
6048
6049#define VK_KHR_display_swapchain 1
6050#define VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION 10
6051#define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME "VK_KHR_display_swapchain"
6052typedef struct VkDisplayPresentInfoKHR {
6053 VkStructureType sType;
6054 const void* pNext;
6055 VkRect2D srcRect;
6056 VkRect2D dstRect;
6057 VkBool32 persistent;
6058} VkDisplayPresentInfoKHR;
6059
6060typedef VkResult (VKAPI_PTR *PFN_vkCreateSharedSwapchainsKHR)(VkDevice device, uint32_t swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains);
6061
6062#ifndef VK_NO_PROTOTYPES
6063VKAPI_ATTR VkResult VKAPI_CALL vkCreateSharedSwapchainsKHR(
6064 VkDevice device,
6065 uint32_t swapchainCount,
6066 const VkSwapchainCreateInfoKHR* pCreateInfos,
6067 const VkAllocationCallbacks* pAllocator,
6068 VkSwapchainKHR* pSwapchains);
6069#endif
6070
6071
6072#define VK_KHR_sampler_mirror_clamp_to_edge 1
6073#define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION 3
6074#define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME "VK_KHR_sampler_mirror_clamp_to_edge"
6075
6076
6077#define VK_KHR_multiview 1
6078#define VK_KHR_MULTIVIEW_SPEC_VERSION 1
6079#define VK_KHR_MULTIVIEW_EXTENSION_NAME "VK_KHR_multiview"
6080typedef VkRenderPassMultiviewCreateInfo VkRenderPassMultiviewCreateInfoKHR;
6081
6082typedef VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeaturesKHR;
6083
6084typedef VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewPropertiesKHR;
6085
6086
6087
6088#define VK_KHR_get_physical_device_properties2 1
6089#define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION 2
6090#define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_physical_device_properties2"
6091typedef VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2KHR;
6092
6093typedef VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2KHR;
6094
6095typedef VkFormatProperties2 VkFormatProperties2KHR;
6096
6097typedef VkImageFormatProperties2 VkImageFormatProperties2KHR;
6098
6099typedef VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2KHR;
6100
6101typedef VkQueueFamilyProperties2 VkQueueFamilyProperties2KHR;
6102
6103typedef VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2KHR;
6104
6105typedef VkSparseImageFormatProperties2 VkSparseImageFormatProperties2KHR;
6106
6107typedef VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2KHR;
6108
6109typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
6110typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
6111typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2KHR)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
6112typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
6113typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
6114typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
6115typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
6116
6117#ifndef VK_NO_PROTOTYPES
6118VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2KHR(
6119 VkPhysicalDevice physicalDevice,
6120 VkPhysicalDeviceFeatures2* pFeatures);
6121
6122VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2KHR(
6123 VkPhysicalDevice physicalDevice,
6124 VkPhysicalDeviceProperties2* pProperties);
6125
6126VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2KHR(
6127 VkPhysicalDevice physicalDevice,
6128 VkFormat format,
6129 VkFormatProperties2* pFormatProperties);
6130
6131VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2KHR(
6132 VkPhysicalDevice physicalDevice,
6133 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
6134 VkImageFormatProperties2* pImageFormatProperties);
6135
6136VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2KHR(
6137 VkPhysicalDevice physicalDevice,
6138 uint32_t* pQueueFamilyPropertyCount,
6139 VkQueueFamilyProperties2* pQueueFamilyProperties);
6140
6141VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2KHR(
6142 VkPhysicalDevice physicalDevice,
6143 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
6144
6145VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
6146 VkPhysicalDevice physicalDevice,
6147 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
6148 uint32_t* pPropertyCount,
6149 VkSparseImageFormatProperties2* pProperties);
6150#endif
6151
6152
6153#define VK_KHR_device_group 1
6154#define VK_KHR_DEVICE_GROUP_SPEC_VERSION 4
6155#define VK_KHR_DEVICE_GROUP_EXTENSION_NAME "VK_KHR_device_group"
6156typedef VkPeerMemoryFeatureFlags VkPeerMemoryFeatureFlagsKHR;
6157
6158typedef VkPeerMemoryFeatureFlagBits VkPeerMemoryFeatureFlagBitsKHR;
6159
6160typedef VkMemoryAllocateFlags VkMemoryAllocateFlagsKHR;
6161
6162typedef VkMemoryAllocateFlagBits VkMemoryAllocateFlagBitsKHR;
6163
6164typedef VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfoKHR;
6165
6166typedef VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfoKHR;
6167
6168typedef VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfoKHR;
6169
6170typedef VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfoKHR;
6171
6172typedef VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfoKHR;
6173
6174typedef VkBindBufferMemoryDeviceGroupInfo VkBindBufferMemoryDeviceGroupInfoKHR;
6175
6176typedef VkBindImageMemoryDeviceGroupInfo VkBindImageMemoryDeviceGroupInfoKHR;
6177
6178typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR)(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
6179typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMaskKHR)(VkCommandBuffer commandBuffer, uint32_t deviceMask);
6180typedef 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);
6181
6182#ifndef VK_NO_PROTOTYPES
6183VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeaturesKHR(
6184 VkDevice device,
6185 uint32_t heapIndex,
6186 uint32_t localDeviceIndex,
6187 uint32_t remoteDeviceIndex,
6188 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
6189
6190VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMaskKHR(
6191 VkCommandBuffer commandBuffer,
6192 uint32_t deviceMask);
6193
6194VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBaseKHR(
6195 VkCommandBuffer commandBuffer,
6196 uint32_t baseGroupX,
6197 uint32_t baseGroupY,
6198 uint32_t baseGroupZ,
6199 uint32_t groupCountX,
6200 uint32_t groupCountY,
6201 uint32_t groupCountZ);
6202#endif
6203
6204
6205#define VK_KHR_shader_draw_parameters 1
6206#define VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION 1
6207#define VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME "VK_KHR_shader_draw_parameters"
6208
6209
6210#define VK_KHR_maintenance1 1
6211#define VK_KHR_MAINTENANCE1_SPEC_VERSION 2
6212#define VK_KHR_MAINTENANCE1_EXTENSION_NAME "VK_KHR_maintenance1"
6213typedef VkCommandPoolTrimFlags VkCommandPoolTrimFlagsKHR;
6214
6215typedef void (VKAPI_PTR *PFN_vkTrimCommandPoolKHR)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
6216
6217#ifndef VK_NO_PROTOTYPES
6218VKAPI_ATTR void VKAPI_CALL vkTrimCommandPoolKHR(
6219 VkDevice device,
6220 VkCommandPool commandPool,
6221 VkCommandPoolTrimFlags flags);
6222#endif
6223
6224
6225#define VK_KHR_device_group_creation 1
6226#define VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION 1
6227#define VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME "VK_KHR_device_group_creation"
6228#define VK_MAX_DEVICE_GROUP_SIZE_KHR VK_MAX_DEVICE_GROUP_SIZE
6229typedef VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupPropertiesKHR;
6230
6231typedef VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfoKHR;
6232
6233typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroupsKHR)(VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
6234
6235#ifndef VK_NO_PROTOTYPES
6236VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroupsKHR(
6237 VkInstance instance,
6238 uint32_t* pPhysicalDeviceGroupCount,
6239 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
6240#endif
6241
6242
6243#define VK_KHR_external_memory_capabilities 1
6244#define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
6245#define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_memory_capabilities"
6246#define VK_LUID_SIZE_KHR VK_LUID_SIZE
6247typedef VkExternalMemoryHandleTypeFlags VkExternalMemoryHandleTypeFlagsKHR;
6248
6249typedef VkExternalMemoryHandleTypeFlagBits VkExternalMemoryHandleTypeFlagBitsKHR;
6250
6251typedef VkExternalMemoryFeatureFlags VkExternalMemoryFeatureFlagsKHR;
6252
6253typedef VkExternalMemoryFeatureFlagBits VkExternalMemoryFeatureFlagBitsKHR;
6254
6255typedef VkExternalMemoryProperties VkExternalMemoryPropertiesKHR;
6256
6257typedef VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfoKHR;
6258
6259typedef VkExternalImageFormatProperties VkExternalImageFormatPropertiesKHR;
6260
6261typedef VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfoKHR;
6262
6263typedef VkExternalBufferProperties VkExternalBufferPropertiesKHR;
6264
6265typedef VkPhysicalDeviceIDProperties VkPhysicalDeviceIDPropertiesKHR;
6266
6267typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
6268
6269#ifndef VK_NO_PROTOTYPES
6270VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferPropertiesKHR(
6271 VkPhysicalDevice physicalDevice,
6272 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
6273 VkExternalBufferProperties* pExternalBufferProperties);
6274#endif
6275
6276
6277#define VK_KHR_external_memory 1
6278#define VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION 1
6279#define VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME "VK_KHR_external_memory"
6280#define VK_QUEUE_FAMILY_EXTERNAL_KHR VK_QUEUE_FAMILY_EXTERNAL
6281typedef VkExternalMemoryImageCreateInfo VkExternalMemoryImageCreateInfoKHR;
6282
6283typedef VkExternalMemoryBufferCreateInfo VkExternalMemoryBufferCreateInfoKHR;
6284
6285typedef VkExportMemoryAllocateInfo VkExportMemoryAllocateInfoKHR;
6286
6287
6288
6289#define VK_KHR_external_memory_fd 1
6290#define VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION 1
6291#define VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME "VK_KHR_external_memory_fd"
6292typedef struct VkImportMemoryFdInfoKHR {
6293 VkStructureType sType;
6294 const void* pNext;
6295 VkExternalMemoryHandleTypeFlagBits handleType;
6296 int fd;
6297} VkImportMemoryFdInfoKHR;
6298
6299typedef struct VkMemoryFdPropertiesKHR {
6300 VkStructureType sType;
6301 void* pNext;
6302 uint32_t memoryTypeBits;
6303} VkMemoryFdPropertiesKHR;
6304
6305typedef struct VkMemoryGetFdInfoKHR {
6306 VkStructureType sType;
6307 const void* pNext;
6308 VkDeviceMemory memory;
6309 VkExternalMemoryHandleTypeFlagBits handleType;
6310} VkMemoryGetFdInfoKHR;
6311
6312typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdKHR)(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd);
6313typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdPropertiesKHR)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties);
6314
6315#ifndef VK_NO_PROTOTYPES
6316VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdKHR(
6317 VkDevice device,
6318 const VkMemoryGetFdInfoKHR* pGetFdInfo,
6319 int* pFd);
6320
6321VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdPropertiesKHR(
6322 VkDevice device,
6323 VkExternalMemoryHandleTypeFlagBits handleType,
6324 int fd,
6325 VkMemoryFdPropertiesKHR* pMemoryFdProperties);
6326#endif
6327
6328
6329#define VK_KHR_external_semaphore_capabilities 1
6330#define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION 1
6331#define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_semaphore_capabilities"
6332typedef VkExternalSemaphoreHandleTypeFlags VkExternalSemaphoreHandleTypeFlagsKHR;
6333
6334typedef VkExternalSemaphoreHandleTypeFlagBits VkExternalSemaphoreHandleTypeFlagBitsKHR;
6335
6336typedef VkExternalSemaphoreFeatureFlags VkExternalSemaphoreFeatureFlagsKHR;
6337
6338typedef VkExternalSemaphoreFeatureFlagBits VkExternalSemaphoreFeatureFlagBitsKHR;
6339
6340typedef VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfoKHR;
6341
6342typedef VkExternalSemaphoreProperties VkExternalSemaphorePropertiesKHR;
6343
6344typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
6345
6346#ifndef VK_NO_PROTOTYPES
6347VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(
6348 VkPhysicalDevice physicalDevice,
6349 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
6350 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
6351#endif
6352
6353
6354#define VK_KHR_external_semaphore 1
6355#define VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION 1
6356#define VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME "VK_KHR_external_semaphore"
6357typedef VkSemaphoreImportFlags VkSemaphoreImportFlagsKHR;
6358
6359typedef VkSemaphoreImportFlagBits VkSemaphoreImportFlagBitsKHR;
6360
6361typedef VkExportSemaphoreCreateInfo VkExportSemaphoreCreateInfoKHR;
6362
6363
6364
6365#define VK_KHR_external_semaphore_fd 1
6366#define VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION 1
6367#define VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME "VK_KHR_external_semaphore_fd"
6368typedef struct VkImportSemaphoreFdInfoKHR {
6369 VkStructureType sType;
6370 const void* pNext;
6371 VkSemaphore semaphore;
6372 VkSemaphoreImportFlags flags;
6373 VkExternalSemaphoreHandleTypeFlagBits handleType;
6374 int fd;
6375} VkImportSemaphoreFdInfoKHR;
6376
6377typedef struct VkSemaphoreGetFdInfoKHR {
6378 VkStructureType sType;
6379 const void* pNext;
6380 VkSemaphore semaphore;
6381 VkExternalSemaphoreHandleTypeFlagBits handleType;
6382} VkSemaphoreGetFdInfoKHR;
6383
6384typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreFdKHR)(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
6385typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreFdKHR)(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd);
6386
6387#ifndef VK_NO_PROTOTYPES
6388VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreFdKHR(
6389 VkDevice device,
6390 const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
6391
6392VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreFdKHR(
6393 VkDevice device,
6394 const VkSemaphoreGetFdInfoKHR* pGetFdInfo,
6395 int* pFd);
6396#endif
6397
6398
6399#define VK_KHR_push_descriptor 1
6400#define VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION 2
6401#define VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME "VK_KHR_push_descriptor"
6402typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
6403 VkStructureType sType;
6404 void* pNext;
6405 uint32_t maxPushDescriptors;
6406} VkPhysicalDevicePushDescriptorPropertiesKHR;
6407
6408typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetKHR)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites);
6409typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplateKHR)(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void* pData);
6410
6411#ifndef VK_NO_PROTOTYPES
6412VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetKHR(
6413 VkCommandBuffer commandBuffer,
6414 VkPipelineBindPoint pipelineBindPoint,
6415 VkPipelineLayout layout,
6416 uint32_t set,
6417 uint32_t descriptorWriteCount,
6418 const VkWriteDescriptorSet* pDescriptorWrites);
6419
6420VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplateKHR(
6421 VkCommandBuffer commandBuffer,
6422 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
6423 VkPipelineLayout layout,
6424 uint32_t set,
6425 const void* pData);
6426#endif
6427
6428
6429#define VK_KHR_shader_float16_int8 1
6430#define VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION 1
6431#define VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME "VK_KHR_shader_float16_int8"
6432typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceShaderFloat16Int8FeaturesKHR;
6433
6434typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceFloat16Int8FeaturesKHR;
6435
6436
6437
6438#define VK_KHR_16bit_storage 1
6439#define VK_KHR_16BIT_STORAGE_SPEC_VERSION 1
6440#define VK_KHR_16BIT_STORAGE_EXTENSION_NAME "VK_KHR_16bit_storage"
6441typedef VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeaturesKHR;
6442
6443
6444
6445#define VK_KHR_incremental_present 1
6446#define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 1
6447#define VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME "VK_KHR_incremental_present"
6448typedef struct VkRectLayerKHR {
6449 VkOffset2D offset;
6450 VkExtent2D extent;
6451 uint32_t layer;
6452} VkRectLayerKHR;
6453
6454typedef struct VkPresentRegionKHR {
6455 uint32_t rectangleCount;
6456 const VkRectLayerKHR* pRectangles;
6457} VkPresentRegionKHR;
6458
6459typedef struct VkPresentRegionsKHR {
6460 VkStructureType sType;
6461 const void* pNext;
6462 uint32_t swapchainCount;
6463 const VkPresentRegionKHR* pRegions;
6464} VkPresentRegionsKHR;
6465
6466
6467
6468#define VK_KHR_descriptor_update_template 1
6469typedef VkDescriptorUpdateTemplate VkDescriptorUpdateTemplateKHR;
6470
6471#define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION 1
6472#define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME "VK_KHR_descriptor_update_template"
6473typedef VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateTypeKHR;
6474
6475typedef VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlagsKHR;
6476
6477typedef VkDescriptorUpdateTemplateEntry VkDescriptorUpdateTemplateEntryKHR;
6478
6479typedef VkDescriptorUpdateTemplateCreateInfo VkDescriptorUpdateTemplateCreateInfoKHR;
6480
6481typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplateKHR)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
6482typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplateKHR)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
6483typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplateKHR)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
6484
6485#ifndef VK_NO_PROTOTYPES
6486VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplateKHR(
6487 VkDevice device,
6488 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
6489 const VkAllocationCallbacks* pAllocator,
6490 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
6491
6492VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplateKHR(
6493 VkDevice device,
6494 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
6495 const VkAllocationCallbacks* pAllocator);
6496
6497VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplateKHR(
6498 VkDevice device,
6499 VkDescriptorSet descriptorSet,
6500 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
6501 const void* pData);
6502#endif
6503
6504
6505#define VK_KHR_imageless_framebuffer 1
6506#define VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION 1
6507#define VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME "VK_KHR_imageless_framebuffer"
6508typedef VkPhysicalDeviceImagelessFramebufferFeatures VkPhysicalDeviceImagelessFramebufferFeaturesKHR;
6509
6510typedef VkFramebufferAttachmentsCreateInfo VkFramebufferAttachmentsCreateInfoKHR;
6511
6512typedef VkFramebufferAttachmentImageInfo VkFramebufferAttachmentImageInfoKHR;
6513
6514typedef VkRenderPassAttachmentBeginInfo VkRenderPassAttachmentBeginInfoKHR;
6515
6516
6517
6518#define VK_KHR_create_renderpass2 1
6519#define VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION 1
6520#define VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME "VK_KHR_create_renderpass2"
6521typedef VkRenderPassCreateInfo2 VkRenderPassCreateInfo2KHR;
6522
6523typedef VkAttachmentDescription2 VkAttachmentDescription2KHR;
6524
6525typedef VkAttachmentReference2 VkAttachmentReference2KHR;
6526
6527typedef VkSubpassDescription2 VkSubpassDescription2KHR;
6528
6529typedef VkSubpassDependency2 VkSubpassDependency2KHR;
6530
6531typedef VkSubpassBeginInfo VkSubpassBeginInfoKHR;
6532
6533typedef VkSubpassEndInfo VkSubpassEndInfoKHR;
6534
6535typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2KHR)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
6536typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo);
6537typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo);
6538typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo);
6539
6540#ifndef VK_NO_PROTOTYPES
6541VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2KHR(
6542 VkDevice device,
6543 const VkRenderPassCreateInfo2* pCreateInfo,
6544 const VkAllocationCallbacks* pAllocator,
6545 VkRenderPass* pRenderPass);
6546
6547VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2KHR(
6548 VkCommandBuffer commandBuffer,
6549 const VkRenderPassBeginInfo* pRenderPassBegin,
6550 const VkSubpassBeginInfo* pSubpassBeginInfo);
6551
6552VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2KHR(
6553 VkCommandBuffer commandBuffer,
6554 const VkSubpassBeginInfo* pSubpassBeginInfo,
6555 const VkSubpassEndInfo* pSubpassEndInfo);
6556
6557VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2KHR(
6558 VkCommandBuffer commandBuffer,
6559 const VkSubpassEndInfo* pSubpassEndInfo);
6560#endif
6561
6562
6563#define VK_KHR_shared_presentable_image 1
6564#define VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION 1
6565#define VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME "VK_KHR_shared_presentable_image"
6566typedef struct VkSharedPresentSurfaceCapabilitiesKHR {
6567 VkStructureType sType;
6568 void* pNext;
6569 VkImageUsageFlags sharedPresentSupportedUsageFlags;
6570} VkSharedPresentSurfaceCapabilitiesKHR;
6571
6572typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainStatusKHR)(VkDevice device, VkSwapchainKHR swapchain);
6573
6574#ifndef VK_NO_PROTOTYPES
6575VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainStatusKHR(
6576 VkDevice device,
6577 VkSwapchainKHR swapchain);
6578#endif
6579
6580
6581#define VK_KHR_external_fence_capabilities 1
6582#define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION 1
6583#define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_fence_capabilities"
6584typedef VkExternalFenceHandleTypeFlags VkExternalFenceHandleTypeFlagsKHR;
6585
6586typedef VkExternalFenceHandleTypeFlagBits VkExternalFenceHandleTypeFlagBitsKHR;
6587
6588typedef VkExternalFenceFeatureFlags VkExternalFenceFeatureFlagsKHR;
6589
6590typedef VkExternalFenceFeatureFlagBits VkExternalFenceFeatureFlagBitsKHR;
6591
6592typedef VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfoKHR;
6593
6594typedef VkExternalFenceProperties VkExternalFencePropertiesKHR;
6595
6596typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
6597
6598#ifndef VK_NO_PROTOTYPES
6599VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFencePropertiesKHR(
6600 VkPhysicalDevice physicalDevice,
6601 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
6602 VkExternalFenceProperties* pExternalFenceProperties);
6603#endif
6604
6605
6606#define VK_KHR_external_fence 1
6607#define VK_KHR_EXTERNAL_FENCE_SPEC_VERSION 1
6608#define VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME "VK_KHR_external_fence"
6609typedef VkFenceImportFlags VkFenceImportFlagsKHR;
6610
6611typedef VkFenceImportFlagBits VkFenceImportFlagBitsKHR;
6612
6613typedef VkExportFenceCreateInfo VkExportFenceCreateInfoKHR;
6614
6615
6616
6617#define VK_KHR_external_fence_fd 1
6618#define VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION 1
6619#define VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME "VK_KHR_external_fence_fd"
6620typedef struct VkImportFenceFdInfoKHR {
6621 VkStructureType sType;
6622 const void* pNext;
6623 VkFence fence;
6624 VkFenceImportFlags flags;
6625 VkExternalFenceHandleTypeFlagBits handleType;
6626 int fd;
6627} VkImportFenceFdInfoKHR;
6628
6629typedef struct VkFenceGetFdInfoKHR {
6630 VkStructureType sType;
6631 const void* pNext;
6632 VkFence fence;
6633 VkExternalFenceHandleTypeFlagBits handleType;
6634} VkFenceGetFdInfoKHR;
6635
6636typedef VkResult (VKAPI_PTR *PFN_vkImportFenceFdKHR)(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
6637typedef VkResult (VKAPI_PTR *PFN_vkGetFenceFdKHR)(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd);
6638
6639#ifndef VK_NO_PROTOTYPES
6640VKAPI_ATTR VkResult VKAPI_CALL vkImportFenceFdKHR(
6641 VkDevice device,
6642 const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
6643
6644VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceFdKHR(
6645 VkDevice device,
6646 const VkFenceGetFdInfoKHR* pGetFdInfo,
6647 int* pFd);
6648#endif
6649
6650
6651#define VK_KHR_performance_query 1
6652#define VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION 1
6653#define VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME "VK_KHR_performance_query"
6654
6655typedef enum VkPerformanceCounterUnitKHR {
6656 VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR = 0,
6657 VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR = 1,
6658 VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR = 2,
6659 VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR = 3,
6660 VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR = 4,
6661 VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR = 5,
6662 VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR = 6,
6663 VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR = 7,
6664 VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR = 8,
6665 VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR = 9,
6666 VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR = 10,
6667 VK_PERFORMANCE_COUNTER_UNIT_MAX_ENUM_KHR = 0x7FFFFFFF
6668} VkPerformanceCounterUnitKHR;
6669
6670typedef enum VkPerformanceCounterScopeKHR {
6671 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR = 0,
6672 VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR = 1,
6673 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR = 2,
6674 VK_QUERY_SCOPE_COMMAND_BUFFER_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR,
6675 VK_QUERY_SCOPE_RENDER_PASS_KHR = VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR,
6676 VK_QUERY_SCOPE_COMMAND_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR,
6677 VK_PERFORMANCE_COUNTER_SCOPE_MAX_ENUM_KHR = 0x7FFFFFFF
6678} VkPerformanceCounterScopeKHR;
6679
6680typedef enum VkPerformanceCounterStorageKHR {
6681 VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR = 0,
6682 VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR = 1,
6683 VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR = 2,
6684 VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR = 3,
6685 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR = 4,
6686 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR = 5,
6687 VK_PERFORMANCE_COUNTER_STORAGE_MAX_ENUM_KHR = 0x7FFFFFFF
6688} VkPerformanceCounterStorageKHR;
6689
6690typedef enum VkPerformanceCounterDescriptionFlagBitsKHR {
6691 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR = 0x00000001,
6692 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR = 0x00000002,
6693 VK_PERFORMANCE_COUNTER_DESCRIPTION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
6694} VkPerformanceCounterDescriptionFlagBitsKHR;
6695typedef VkFlags VkPerformanceCounterDescriptionFlagsKHR;
6696
6697typedef enum VkAcquireProfilingLockFlagBitsKHR {
6698 VK_ACQUIRE_PROFILING_LOCK_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
6699} VkAcquireProfilingLockFlagBitsKHR;
6700typedef VkFlags VkAcquireProfilingLockFlagsKHR;
6701typedef struct VkPhysicalDevicePerformanceQueryFeaturesKHR {
6702 VkStructureType sType;
6703 void* pNext;
6704 VkBool32 performanceCounterQueryPools;
6705 VkBool32 performanceCounterMultipleQueryPools;
6706} VkPhysicalDevicePerformanceQueryFeaturesKHR;
6707
6708typedef struct VkPhysicalDevicePerformanceQueryPropertiesKHR {
6709 VkStructureType sType;
6710 void* pNext;
6711 VkBool32 allowCommandBufferQueryCopies;
6712} VkPhysicalDevicePerformanceQueryPropertiesKHR;
6713
6714typedef struct VkPerformanceCounterKHR {
6715 VkStructureType sType;
6716 const void* pNext;
6717 VkPerformanceCounterUnitKHR unit;
6718 VkPerformanceCounterScopeKHR scope;
6719 VkPerformanceCounterStorageKHR storage;
6720 uint8_t uuid[VK_UUID_SIZE];
6721} VkPerformanceCounterKHR;
6722
6723typedef struct VkPerformanceCounterDescriptionKHR {
6724 VkStructureType sType;
6725 const void* pNext;
6726 VkPerformanceCounterDescriptionFlagsKHR flags;
6727 char name[VK_MAX_DESCRIPTION_SIZE];
6728 char category[VK_MAX_DESCRIPTION_SIZE];
6729 char description[VK_MAX_DESCRIPTION_SIZE];
6730} VkPerformanceCounterDescriptionKHR;
6731
6732typedef struct VkQueryPoolPerformanceCreateInfoKHR {
6733 VkStructureType sType;
6734 const void* pNext;
6735 uint32_t queueFamilyIndex;
6736 uint32_t counterIndexCount;
6737 const uint32_t* pCounterIndices;
6738} VkQueryPoolPerformanceCreateInfoKHR;
6739
6740typedef union VkPerformanceCounterResultKHR {
6741 int32_t int32;
6742 int64_t int64;
6743 uint32_t uint32;
6744 uint64_t uint64;
6745 float float32;
6746 double float64;
6747} VkPerformanceCounterResultKHR;
6748
6749typedef struct VkAcquireProfilingLockInfoKHR {
6750 VkStructureType sType;
6751 const void* pNext;
6752 VkAcquireProfilingLockFlagsKHR flags;
6753 uint64_t timeout;
6754} VkAcquireProfilingLockInfoKHR;
6755
6756typedef struct VkPerformanceQuerySubmitInfoKHR {
6757 VkStructureType sType;
6758 const void* pNext;
6759 uint32_t counterPassIndex;
6760} VkPerformanceQuerySubmitInfoKHR;
6761
6762typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, uint32_t* pCounterCount, VkPerformanceCounterKHR* pCounters, VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
6763typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR)(VkPhysicalDevice physicalDevice, const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, uint32_t* pNumPasses);
6764typedef VkResult (VKAPI_PTR *PFN_vkAcquireProfilingLockKHR)(VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo);
6765typedef void (VKAPI_PTR *PFN_vkReleaseProfilingLockKHR)(VkDevice device);
6766
6767#ifndef VK_NO_PROTOTYPES
6768VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
6769 VkPhysicalDevice physicalDevice,
6770 uint32_t queueFamilyIndex,
6771 uint32_t* pCounterCount,
6772 VkPerformanceCounterKHR* pCounters,
6773 VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
6774
6775VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
6776 VkPhysicalDevice physicalDevice,
6777 const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo,
6778 uint32_t* pNumPasses);
6779
6780VKAPI_ATTR VkResult VKAPI_CALL vkAcquireProfilingLockKHR(
6781 VkDevice device,
6782 const VkAcquireProfilingLockInfoKHR* pInfo);
6783
6784VKAPI_ATTR void VKAPI_CALL vkReleaseProfilingLockKHR(
6785 VkDevice device);
6786#endif
6787
6788
6789#define VK_KHR_maintenance2 1
6790#define VK_KHR_MAINTENANCE2_SPEC_VERSION 1
6791#define VK_KHR_MAINTENANCE2_EXTENSION_NAME "VK_KHR_maintenance2"
6792typedef VkPointClippingBehavior VkPointClippingBehaviorKHR;
6793
6794typedef VkTessellationDomainOrigin VkTessellationDomainOriginKHR;
6795
6796typedef VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingPropertiesKHR;
6797
6798typedef VkRenderPassInputAttachmentAspectCreateInfo VkRenderPassInputAttachmentAspectCreateInfoKHR;
6799
6800typedef VkInputAttachmentAspectReference VkInputAttachmentAspectReferenceKHR;
6801
6802typedef VkImageViewUsageCreateInfo VkImageViewUsageCreateInfoKHR;
6803
6804typedef VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfoKHR;
6805
6806
6807
6808#define VK_KHR_get_surface_capabilities2 1
6809#define VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION 1
6810#define VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME "VK_KHR_get_surface_capabilities2"
6811typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
6812 VkStructureType sType;
6813 const void* pNext;
6814 VkSurfaceKHR surface;
6815} VkPhysicalDeviceSurfaceInfo2KHR;
6816
6817typedef struct VkSurfaceCapabilities2KHR {
6818 VkStructureType sType;
6819 void* pNext;
6820 VkSurfaceCapabilitiesKHR surfaceCapabilities;
6821} VkSurfaceCapabilities2KHR;
6822
6823typedef struct VkSurfaceFormat2KHR {
6824 VkStructureType sType;
6825 void* pNext;
6826 VkSurfaceFormatKHR surfaceFormat;
6827} VkSurfaceFormat2KHR;
6828
6829typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
6830typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormats2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, uint32_t* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats);
6831
6832#ifndef VK_NO_PROTOTYPES
6833VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2KHR(
6834 VkPhysicalDevice physicalDevice,
6835 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
6836 VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
6837
6838VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormats2KHR(
6839 VkPhysicalDevice physicalDevice,
6840 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
6841 uint32_t* pSurfaceFormatCount,
6842 VkSurfaceFormat2KHR* pSurfaceFormats);
6843#endif
6844
6845
6846#define VK_KHR_variable_pointers 1
6847#define VK_KHR_VARIABLE_POINTERS_SPEC_VERSION 1
6848#define VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME "VK_KHR_variable_pointers"
6849typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeaturesKHR;
6850
6851typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointersFeaturesKHR;
6852
6853
6854
6855#define VK_KHR_get_display_properties2 1
6856#define VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION 1
6857#define VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_display_properties2"
6858typedef struct VkDisplayProperties2KHR {
6859 VkStructureType sType;
6860 void* pNext;
6861 VkDisplayPropertiesKHR displayProperties;
6862} VkDisplayProperties2KHR;
6863
6864typedef struct VkDisplayPlaneProperties2KHR {
6865 VkStructureType sType;
6866 void* pNext;
6867 VkDisplayPlanePropertiesKHR displayPlaneProperties;
6868} VkDisplayPlaneProperties2KHR;
6869
6870typedef struct VkDisplayModeProperties2KHR {
6871 VkStructureType sType;
6872 void* pNext;
6873 VkDisplayModePropertiesKHR displayModeProperties;
6874} VkDisplayModeProperties2KHR;
6875
6876typedef struct VkDisplayPlaneInfo2KHR {
6877 VkStructureType sType;
6878 const void* pNext;
6879 VkDisplayModeKHR mode;
6880 uint32_t planeIndex;
6881} VkDisplayPlaneInfo2KHR;
6882
6883typedef struct VkDisplayPlaneCapabilities2KHR {
6884 VkStructureType sType;
6885 void* pNext;
6886 VkDisplayPlaneCapabilitiesKHR capabilities;
6887} VkDisplayPlaneCapabilities2KHR;
6888
6889typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayProperties2KHR* pProperties);
6890typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlaneProperties2KHR* pProperties);
6891typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModeProperties2KHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModeProperties2KHR* pProperties);
6892typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, VkDisplayPlaneCapabilities2KHR* pCapabilities);
6893
6894#ifndef VK_NO_PROTOTYPES
6895VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayProperties2KHR(
6896 VkPhysicalDevice physicalDevice,
6897 uint32_t* pPropertyCount,
6898 VkDisplayProperties2KHR* pProperties);
6899
6900VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlaneProperties2KHR(
6901 VkPhysicalDevice physicalDevice,
6902 uint32_t* pPropertyCount,
6903 VkDisplayPlaneProperties2KHR* pProperties);
6904
6905VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModeProperties2KHR(
6906 VkPhysicalDevice physicalDevice,
6907 VkDisplayKHR display,
6908 uint32_t* pPropertyCount,
6909 VkDisplayModeProperties2KHR* pProperties);
6910
6911VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilities2KHR(
6912 VkPhysicalDevice physicalDevice,
6913 const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo,
6914 VkDisplayPlaneCapabilities2KHR* pCapabilities);
6915#endif
6916
6917
6918#define VK_KHR_dedicated_allocation 1
6919#define VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION 3
6920#define VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_KHR_dedicated_allocation"
6921typedef VkMemoryDedicatedRequirements VkMemoryDedicatedRequirementsKHR;
6922
6923typedef VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfoKHR;
6924
6925
6926
6927#define VK_KHR_storage_buffer_storage_class 1
6928#define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION 1
6929#define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME "VK_KHR_storage_buffer_storage_class"
6930
6931
6932#define VK_KHR_relaxed_block_layout 1
6933#define VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION 1
6934#define VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME "VK_KHR_relaxed_block_layout"
6935
6936
6937#define VK_KHR_get_memory_requirements2 1
6938#define VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION 1
6939#define VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME "VK_KHR_get_memory_requirements2"
6940typedef VkBufferMemoryRequirementsInfo2 VkBufferMemoryRequirementsInfo2KHR;
6941
6942typedef VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2KHR;
6943
6944typedef VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2KHR;
6945
6946typedef VkMemoryRequirements2 VkMemoryRequirements2KHR;
6947
6948typedef VkSparseImageMemoryRequirements2 VkSparseImageMemoryRequirements2KHR;
6949
6950typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2KHR)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
6951typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2KHR)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
6952typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2KHR)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
6953
6954#ifndef VK_NO_PROTOTYPES
6955VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2KHR(
6956 VkDevice device,
6957 const VkImageMemoryRequirementsInfo2* pInfo,
6958 VkMemoryRequirements2* pMemoryRequirements);
6959
6960VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2KHR(
6961 VkDevice device,
6962 const VkBufferMemoryRequirementsInfo2* pInfo,
6963 VkMemoryRequirements2* pMemoryRequirements);
6964
6965VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2KHR(
6966 VkDevice device,
6967 const VkImageSparseMemoryRequirementsInfo2* pInfo,
6968 uint32_t* pSparseMemoryRequirementCount,
6969 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
6970#endif
6971
6972
6973#define VK_KHR_image_format_list 1
6974#define VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION 1
6975#define VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME "VK_KHR_image_format_list"
6976typedef VkImageFormatListCreateInfo VkImageFormatListCreateInfoKHR;
6977
6978
6979
6980#define VK_KHR_sampler_ycbcr_conversion 1
6981typedef VkSamplerYcbcrConversion VkSamplerYcbcrConversionKHR;
6982
6983#define VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION 14
6984#define VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME "VK_KHR_sampler_ycbcr_conversion"
6985typedef VkSamplerYcbcrModelConversion VkSamplerYcbcrModelConversionKHR;
6986
6987typedef VkSamplerYcbcrRange VkSamplerYcbcrRangeKHR;
6988
6989typedef VkChromaLocation VkChromaLocationKHR;
6990
6991typedef VkSamplerYcbcrConversionCreateInfo VkSamplerYcbcrConversionCreateInfoKHR;
6992
6993typedef VkSamplerYcbcrConversionInfo VkSamplerYcbcrConversionInfoKHR;
6994
6995typedef VkBindImagePlaneMemoryInfo VkBindImagePlaneMemoryInfoKHR;
6996
6997typedef VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfoKHR;
6998
6999typedef VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR;
7000
7001typedef VkSamplerYcbcrConversionImageFormatProperties VkSamplerYcbcrConversionImageFormatPropertiesKHR;
7002
7003typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversionKHR)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
7004typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversionKHR)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
7005
7006#ifndef VK_NO_PROTOTYPES
7007VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversionKHR(
7008 VkDevice device,
7009 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
7010 const VkAllocationCallbacks* pAllocator,
7011 VkSamplerYcbcrConversion* pYcbcrConversion);
7012
7013VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversionKHR(
7014 VkDevice device,
7015 VkSamplerYcbcrConversion ycbcrConversion,
7016 const VkAllocationCallbacks* pAllocator);
7017#endif
7018
7019
7020#define VK_KHR_bind_memory2 1
7021#define VK_KHR_BIND_MEMORY_2_SPEC_VERSION 1
7022#define VK_KHR_BIND_MEMORY_2_EXTENSION_NAME "VK_KHR_bind_memory2"
7023typedef VkBindBufferMemoryInfo VkBindBufferMemoryInfoKHR;
7024
7025typedef VkBindImageMemoryInfo VkBindImageMemoryInfoKHR;
7026
7027typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2KHR)(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
7028typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2KHR)(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
7029
7030#ifndef VK_NO_PROTOTYPES
7031VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2KHR(
7032 VkDevice device,
7033 uint32_t bindInfoCount,
7034 const VkBindBufferMemoryInfo* pBindInfos);
7035
7036VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2KHR(
7037 VkDevice device,
7038 uint32_t bindInfoCount,
7039 const VkBindImageMemoryInfo* pBindInfos);
7040#endif
7041
7042
7043#define VK_KHR_maintenance3 1
7044#define VK_KHR_MAINTENANCE3_SPEC_VERSION 1
7045#define VK_KHR_MAINTENANCE3_EXTENSION_NAME "VK_KHR_maintenance3"
7046typedef VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3PropertiesKHR;
7047
7048typedef VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupportKHR;
7049
7050typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupportKHR)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
7051
7052#ifndef VK_NO_PROTOTYPES
7053VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupportKHR(
7054 VkDevice device,
7055 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
7056 VkDescriptorSetLayoutSupport* pSupport);
7057#endif
7058
7059
7060#define VK_KHR_draw_indirect_count 1
7061#define VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION 1
7062#define VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_KHR_draw_indirect_count"
7063typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
7064typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
7065
7066#ifndef VK_NO_PROTOTYPES
7067VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountKHR(
7068 VkCommandBuffer commandBuffer,
7069 VkBuffer buffer,
7070 VkDeviceSize offset,
7071 VkBuffer countBuffer,
7072 VkDeviceSize countBufferOffset,
7073 uint32_t maxDrawCount,
7074 uint32_t stride);
7075
7076VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountKHR(
7077 VkCommandBuffer commandBuffer,
7078 VkBuffer buffer,
7079 VkDeviceSize offset,
7080 VkBuffer countBuffer,
7081 VkDeviceSize countBufferOffset,
7082 uint32_t maxDrawCount,
7083 uint32_t stride);
7084#endif
7085
7086
7087#define VK_KHR_shader_subgroup_extended_types 1
7088#define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION 1
7089#define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME "VK_KHR_shader_subgroup_extended_types"
7090typedef VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR;
7091
7092
7093
7094#define VK_KHR_8bit_storage 1
7095#define VK_KHR_8BIT_STORAGE_SPEC_VERSION 1
7096#define VK_KHR_8BIT_STORAGE_EXTENSION_NAME "VK_KHR_8bit_storage"
7097typedef VkPhysicalDevice8BitStorageFeatures VkPhysicalDevice8BitStorageFeaturesKHR;
7098
7099
7100
7101#define VK_KHR_shader_atomic_int64 1
7102#define VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION 1
7103#define VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME "VK_KHR_shader_atomic_int64"
7104typedef VkPhysicalDeviceShaderAtomicInt64Features VkPhysicalDeviceShaderAtomicInt64FeaturesKHR;
7105
7106
7107
7108#define VK_KHR_shader_clock 1
7109#define VK_KHR_SHADER_CLOCK_SPEC_VERSION 1
7110#define VK_KHR_SHADER_CLOCK_EXTENSION_NAME "VK_KHR_shader_clock"
7111typedef struct VkPhysicalDeviceShaderClockFeaturesKHR {
7112 VkStructureType sType;
7113 void* pNext;
7114 VkBool32 shaderSubgroupClock;
7115 VkBool32 shaderDeviceClock;
7116} VkPhysicalDeviceShaderClockFeaturesKHR;
7117
7118
7119
7120#define VK_KHR_driver_properties 1
7121#define VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION 1
7122#define VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME "VK_KHR_driver_properties"
7123#define VK_MAX_DRIVER_NAME_SIZE_KHR VK_MAX_DRIVER_NAME_SIZE
7124#define VK_MAX_DRIVER_INFO_SIZE_KHR VK_MAX_DRIVER_INFO_SIZE
7125typedef VkDriverId VkDriverIdKHR;
7126
7127typedef VkConformanceVersion VkConformanceVersionKHR;
7128
7129typedef VkPhysicalDeviceDriverProperties VkPhysicalDeviceDriverPropertiesKHR;
7130
7131
7132
7133#define VK_KHR_shader_float_controls 1
7134#define VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION 4
7135#define VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME "VK_KHR_shader_float_controls"
7136typedef VkShaderFloatControlsIndependence VkShaderFloatControlsIndependenceKHR;
7137
7138typedef VkPhysicalDeviceFloatControlsProperties VkPhysicalDeviceFloatControlsPropertiesKHR;
7139
7140
7141
7142#define VK_KHR_depth_stencil_resolve 1
7143#define VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION 1
7144#define VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME "VK_KHR_depth_stencil_resolve"
7145typedef VkResolveModeFlagBits VkResolveModeFlagBitsKHR;
7146
7147typedef VkResolveModeFlags VkResolveModeFlagsKHR;
7148
7149typedef VkSubpassDescriptionDepthStencilResolve VkSubpassDescriptionDepthStencilResolveKHR;
7150
7151typedef VkPhysicalDeviceDepthStencilResolveProperties VkPhysicalDeviceDepthStencilResolvePropertiesKHR;
7152
7153
7154
7155#define VK_KHR_swapchain_mutable_format 1
7156#define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION 1
7157#define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME "VK_KHR_swapchain_mutable_format"
7158
7159
7160#define VK_KHR_timeline_semaphore 1
7161#define VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION 2
7162#define VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME "VK_KHR_timeline_semaphore"
7163typedef VkSemaphoreType VkSemaphoreTypeKHR;
7164
7165typedef VkSemaphoreWaitFlagBits VkSemaphoreWaitFlagBitsKHR;
7166
7167typedef VkSemaphoreWaitFlags VkSemaphoreWaitFlagsKHR;
7168
7169typedef VkPhysicalDeviceTimelineSemaphoreFeatures VkPhysicalDeviceTimelineSemaphoreFeaturesKHR;
7170
7171typedef VkPhysicalDeviceTimelineSemaphoreProperties VkPhysicalDeviceTimelineSemaphorePropertiesKHR;
7172
7173typedef VkSemaphoreTypeCreateInfo VkSemaphoreTypeCreateInfoKHR;
7174
7175typedef VkTimelineSemaphoreSubmitInfo VkTimelineSemaphoreSubmitInfoKHR;
7176
7177typedef VkSemaphoreWaitInfo VkSemaphoreWaitInfoKHR;
7178
7179typedef VkSemaphoreSignalInfo VkSemaphoreSignalInfoKHR;
7180
7181typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValueKHR)(VkDevice device, VkSemaphore semaphore, uint64_t* pValue);
7182typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphoresKHR)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout);
7183typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphoreKHR)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo);
7184
7185#ifndef VK_NO_PROTOTYPES
7186VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValueKHR(
7187 VkDevice device,
7188 VkSemaphore semaphore,
7189 uint64_t* pValue);
7190
7191VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphoresKHR(
7192 VkDevice device,
7193 const VkSemaphoreWaitInfo* pWaitInfo,
7194 uint64_t timeout);
7195
7196VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphoreKHR(
7197 VkDevice device,
7198 const VkSemaphoreSignalInfo* pSignalInfo);
7199#endif
7200
7201
7202#define VK_KHR_vulkan_memory_model 1
7203#define VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION 3
7204#define VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME "VK_KHR_vulkan_memory_model"
7205typedef VkPhysicalDeviceVulkanMemoryModelFeatures VkPhysicalDeviceVulkanMemoryModelFeaturesKHR;
7206
7207
7208
7209#define VK_KHR_shader_terminate_invocation 1
7210#define VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION 1
7211#define VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME "VK_KHR_shader_terminate_invocation"
7212typedef struct VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR {
7213 VkStructureType sType;
7214 void* pNext;
7215 VkBool32 shaderTerminateInvocation;
7216} VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR;
7217
7218
7219
7220#define VK_KHR_fragment_shading_rate 1
7221#define VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION 1
7222#define VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME "VK_KHR_fragment_shading_rate"
7223
7224typedef enum VkFragmentShadingRateCombinerOpKHR {
7225 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR = 0,
7226 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR = 1,
7227 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR = 2,
7228 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR = 3,
7229 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR = 4,
7230 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_ENUM_KHR = 0x7FFFFFFF
7231} VkFragmentShadingRateCombinerOpKHR;
7232typedef struct VkFragmentShadingRateAttachmentInfoKHR {
7233 VkStructureType sType;
7234 const void* pNext;
7235 const VkAttachmentReference2* pFragmentShadingRateAttachment;
7236 VkExtent2D shadingRateAttachmentTexelSize;
7237} VkFragmentShadingRateAttachmentInfoKHR;
7238
7239typedef struct VkPipelineFragmentShadingRateStateCreateInfoKHR {
7240 VkStructureType sType;
7241 const void* pNext;
7242 VkExtent2D fragmentSize;
7243 VkFragmentShadingRateCombinerOpKHR combinerOps[2];
7244} VkPipelineFragmentShadingRateStateCreateInfoKHR;
7245
7246typedef struct VkPhysicalDeviceFragmentShadingRateFeaturesKHR {
7247 VkStructureType sType;
7248 void* pNext;
7249 VkBool32 pipelineFragmentShadingRate;
7250 VkBool32 primitiveFragmentShadingRate;
7251 VkBool32 attachmentFragmentShadingRate;
7252} VkPhysicalDeviceFragmentShadingRateFeaturesKHR;
7253
7254typedef struct VkPhysicalDeviceFragmentShadingRatePropertiesKHR {
7255 VkStructureType sType;
7256 void* pNext;
7257 VkExtent2D minFragmentShadingRateAttachmentTexelSize;
7258 VkExtent2D maxFragmentShadingRateAttachmentTexelSize;
7259 uint32_t maxFragmentShadingRateAttachmentTexelSizeAspectRatio;
7260 VkBool32 primitiveFragmentShadingRateWithMultipleViewports;
7261 VkBool32 layeredShadingRateAttachments;
7262 VkBool32 fragmentShadingRateNonTrivialCombinerOps;
7263 VkExtent2D maxFragmentSize;
7264 uint32_t maxFragmentSizeAspectRatio;
7265 uint32_t maxFragmentShadingRateCoverageSamples;
7266 VkSampleCountFlagBits maxFragmentShadingRateRasterizationSamples;
7267 VkBool32 fragmentShadingRateWithShaderDepthStencilWrites;
7268 VkBool32 fragmentShadingRateWithSampleMask;
7269 VkBool32 fragmentShadingRateWithShaderSampleMask;
7270 VkBool32 fragmentShadingRateWithConservativeRasterization;
7271 VkBool32 fragmentShadingRateWithFragmentShaderInterlock;
7272 VkBool32 fragmentShadingRateWithCustomSampleLocations;
7273 VkBool32 fragmentShadingRateStrictMultiplyCombiner;
7274} VkPhysicalDeviceFragmentShadingRatePropertiesKHR;
7275
7276typedef struct VkPhysicalDeviceFragmentShadingRateKHR {
7277 VkStructureType sType;
7278 void* pNext;
7279 VkSampleCountFlags sampleCounts;
7280 VkExtent2D fragmentSize;
7281} VkPhysicalDeviceFragmentShadingRateKHR;
7282
7283typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pFragmentShadingRateCount, VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates);
7284typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateKHR)(VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
7285
7286#ifndef VK_NO_PROTOTYPES
7287VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceFragmentShadingRatesKHR(
7288 VkPhysicalDevice physicalDevice,
7289 uint32_t* pFragmentShadingRateCount,
7290 VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates);
7291
7292VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateKHR(
7293 VkCommandBuffer commandBuffer,
7294 const VkExtent2D* pFragmentSize,
7295 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
7296#endif
7297
7298
7299#define VK_KHR_spirv_1_4 1
7300#define VK_KHR_SPIRV_1_4_SPEC_VERSION 1
7301#define VK_KHR_SPIRV_1_4_EXTENSION_NAME "VK_KHR_spirv_1_4"
7302
7303
7304#define VK_KHR_surface_protected_capabilities 1
7305#define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION 1
7306#define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME "VK_KHR_surface_protected_capabilities"
7307typedef struct VkSurfaceProtectedCapabilitiesKHR {
7308 VkStructureType sType;
7309 const void* pNext;
7310 VkBool32 supportsProtected;
7311} VkSurfaceProtectedCapabilitiesKHR;
7312
7313
7314
7315#define VK_KHR_separate_depth_stencil_layouts 1
7316#define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION 1
7317#define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME "VK_KHR_separate_depth_stencil_layouts"
7318typedef VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR;
7319
7320typedef VkAttachmentReferenceStencilLayout VkAttachmentReferenceStencilLayoutKHR;
7321
7322typedef VkAttachmentDescriptionStencilLayout VkAttachmentDescriptionStencilLayoutKHR;
7323
7324
7325
7326#define VK_KHR_uniform_buffer_standard_layout 1
7327#define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION 1
7328#define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME "VK_KHR_uniform_buffer_standard_layout"
7329typedef VkPhysicalDeviceUniformBufferStandardLayoutFeatures VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR;
7330
7331
7332
7333#define VK_KHR_buffer_device_address 1
7334#define VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 1
7335#define VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_KHR_buffer_device_address"
7336typedef VkPhysicalDeviceBufferDeviceAddressFeatures VkPhysicalDeviceBufferDeviceAddressFeaturesKHR;
7337
7338typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoKHR;
7339
7340typedef VkBufferOpaqueCaptureAddressCreateInfo VkBufferOpaqueCaptureAddressCreateInfoKHR;
7341
7342typedef VkMemoryOpaqueCaptureAddressAllocateInfo VkMemoryOpaqueCaptureAddressAllocateInfoKHR;
7343
7344typedef VkDeviceMemoryOpaqueCaptureAddressInfo VkDeviceMemoryOpaqueCaptureAddressInfoKHR;
7345
7346typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
7347typedef uint64_t (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
7348typedef uint64_t (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
7349
7350#ifndef VK_NO_PROTOTYPES
7351VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressKHR(
7352 VkDevice device,
7353 const VkBufferDeviceAddressInfo* pInfo);
7354
7355VKAPI_ATTR uint64_t VKAPI_CALL vkGetBufferOpaqueCaptureAddressKHR(
7356 VkDevice device,
7357 const VkBufferDeviceAddressInfo* pInfo);
7358
7359VKAPI_ATTR uint64_t VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddressKHR(
7360 VkDevice device,
7361 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
7362#endif
7363
7364
7365#define VK_KHR_pipeline_executable_properties 1
7366#define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION 1
7367#define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME "VK_KHR_pipeline_executable_properties"
7368
7369typedef enum VkPipelineExecutableStatisticFormatKHR {
7370 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR = 0,
7371 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR = 1,
7372 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR = 2,
7373 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR = 3,
7374 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_MAX_ENUM_KHR = 0x7FFFFFFF
7375} VkPipelineExecutableStatisticFormatKHR;
7376typedef struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
7377 VkStructureType sType;
7378 void* pNext;
7379 VkBool32 pipelineExecutableInfo;
7380} VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR;
7381
7382typedef struct VkPipelineInfoKHR {
7383 VkStructureType sType;
7384 const void* pNext;
7385 VkPipeline pipeline;
7386} VkPipelineInfoKHR;
7387
7388typedef struct VkPipelineExecutablePropertiesKHR {
7389 VkStructureType sType;
7390 void* pNext;
7391 VkShaderStageFlags stages;
7392 char name[VK_MAX_DESCRIPTION_SIZE];
7393 char description[VK_MAX_DESCRIPTION_SIZE];
7394 uint32_t subgroupSize;
7395} VkPipelineExecutablePropertiesKHR;
7396
7397typedef struct VkPipelineExecutableInfoKHR {
7398 VkStructureType sType;
7399 const void* pNext;
7400 VkPipeline pipeline;
7401 uint32_t executableIndex;
7402} VkPipelineExecutableInfoKHR;
7403
7404typedef union VkPipelineExecutableStatisticValueKHR {
7405 VkBool32 b32;
7406 int64_t i64;
7407 uint64_t u64;
7408 double f64;
7409} VkPipelineExecutableStatisticValueKHR;
7410
7411typedef struct VkPipelineExecutableStatisticKHR {
7412 VkStructureType sType;
7413 void* pNext;
7414 char name[VK_MAX_DESCRIPTION_SIZE];
7415 char description[VK_MAX_DESCRIPTION_SIZE];
7416 VkPipelineExecutableStatisticFormatKHR format;
7417 VkPipelineExecutableStatisticValueKHR value;
7418} VkPipelineExecutableStatisticKHR;
7419
7420typedef struct VkPipelineExecutableInternalRepresentationKHR {
7421 VkStructureType sType;
7422 void* pNext;
7423 char name[VK_MAX_DESCRIPTION_SIZE];
7424 char description[VK_MAX_DESCRIPTION_SIZE];
7425 VkBool32 isText;
7426 size_t dataSize;
7427 void* pData;
7428} VkPipelineExecutableInternalRepresentationKHR;
7429
7430typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutablePropertiesKHR)(VkDevice device, const VkPipelineInfoKHR* pPipelineInfo, uint32_t* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties);
7431typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableStatisticsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics);
7432typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableInternalRepresentationsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
7433
7434#ifndef VK_NO_PROTOTYPES
7435VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutablePropertiesKHR(
7436 VkDevice device,
7437 const VkPipelineInfoKHR* pPipelineInfo,
7438 uint32_t* pExecutableCount,
7439 VkPipelineExecutablePropertiesKHR* pProperties);
7440
7441VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableStatisticsKHR(
7442 VkDevice device,
7443 const VkPipelineExecutableInfoKHR* pExecutableInfo,
7444 uint32_t* pStatisticCount,
7445 VkPipelineExecutableStatisticKHR* pStatistics);
7446
7447VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableInternalRepresentationsKHR(
7448 VkDevice device,
7449 const VkPipelineExecutableInfoKHR* pExecutableInfo,
7450 uint32_t* pInternalRepresentationCount,
7451 VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
7452#endif
7453
7454
7455#define VK_KHR_shader_non_semantic_info 1
7456#define VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION 1
7457#define VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME "VK_KHR_shader_non_semantic_info"
7458
7459
7460#define VK_KHR_copy_commands2 1
7461#define VK_KHR_COPY_COMMANDS_2_SPEC_VERSION 1
7462#define VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME "VK_KHR_copy_commands2"
7463typedef struct VkBufferCopy2KHR {
7464 VkStructureType sType;
7465 const void* pNext;
7466 VkDeviceSize srcOffset;
7467 VkDeviceSize dstOffset;
7468 VkDeviceSize size;
7469} VkBufferCopy2KHR;
7470
7471typedef struct VkCopyBufferInfo2KHR {
7472 VkStructureType sType;
7473 const void* pNext;
7474 VkBuffer srcBuffer;
7475 VkBuffer dstBuffer;
7476 uint32_t regionCount;
7477 const VkBufferCopy2KHR* pRegions;
7478} VkCopyBufferInfo2KHR;
7479
7480typedef struct VkImageCopy2KHR {
7481 VkStructureType sType;
7482 const void* pNext;
7483 VkImageSubresourceLayers srcSubresource;
7484 VkOffset3D srcOffset;
7485 VkImageSubresourceLayers dstSubresource;
7486 VkOffset3D dstOffset;
7487 VkExtent3D extent;
7488} VkImageCopy2KHR;
7489
7490typedef struct VkCopyImageInfo2KHR {
7491 VkStructureType sType;
7492 const void* pNext;
7493 VkImage srcImage;
7494 VkImageLayout srcImageLayout;
7495 VkImage dstImage;
7496 VkImageLayout dstImageLayout;
7497 uint32_t regionCount;
7498 const VkImageCopy2KHR* pRegions;
7499} VkCopyImageInfo2KHR;
7500
7501typedef struct VkBufferImageCopy2KHR {
7502 VkStructureType sType;
7503 const void* pNext;
7504 VkDeviceSize bufferOffset;
7505 uint32_t bufferRowLength;
7506 uint32_t bufferImageHeight;
7507 VkImageSubresourceLayers imageSubresource;
7508 VkOffset3D imageOffset;
7509 VkExtent3D imageExtent;
7510} VkBufferImageCopy2KHR;
7511
7512typedef struct VkCopyBufferToImageInfo2KHR {
7513 VkStructureType sType;
7514 const void* pNext;
7515 VkBuffer srcBuffer;
7516 VkImage dstImage;
7517 VkImageLayout dstImageLayout;
7518 uint32_t regionCount;
7519 const VkBufferImageCopy2KHR* pRegions;
7520} VkCopyBufferToImageInfo2KHR;
7521
7522typedef struct VkCopyImageToBufferInfo2KHR {
7523 VkStructureType sType;
7524 const void* pNext;
7525 VkImage srcImage;
7526 VkImageLayout srcImageLayout;
7527 VkBuffer dstBuffer;
7528 uint32_t regionCount;
7529 const VkBufferImageCopy2KHR* pRegions;
7530} VkCopyImageToBufferInfo2KHR;
7531
7532typedef struct VkImageBlit2KHR {
7533 VkStructureType sType;
7534 const void* pNext;
7535 VkImageSubresourceLayers srcSubresource;
7536 VkOffset3D srcOffsets[2];
7537 VkImageSubresourceLayers dstSubresource;
7538 VkOffset3D dstOffsets[2];
7539} VkImageBlit2KHR;
7540
7541typedef struct VkBlitImageInfo2KHR {
7542 VkStructureType sType;
7543 const void* pNext;
7544 VkImage srcImage;
7545 VkImageLayout srcImageLayout;
7546 VkImage dstImage;
7547 VkImageLayout dstImageLayout;
7548 uint32_t regionCount;
7549 const VkImageBlit2KHR* pRegions;
7550 VkFilter filter;
7551} VkBlitImageInfo2KHR;
7552
7553typedef struct VkImageResolve2KHR {
7554 VkStructureType sType;
7555 const void* pNext;
7556 VkImageSubresourceLayers srcSubresource;
7557 VkOffset3D srcOffset;
7558 VkImageSubresourceLayers dstSubresource;
7559 VkOffset3D dstOffset;
7560 VkExtent3D extent;
7561} VkImageResolve2KHR;
7562
7563typedef struct VkResolveImageInfo2KHR {
7564 VkStructureType sType;
7565 const void* pNext;
7566 VkImage srcImage;
7567 VkImageLayout srcImageLayout;
7568 VkImage dstImage;
7569 VkImageLayout dstImageLayout;
7570 uint32_t regionCount;
7571 const VkImageResolve2KHR* pRegions;
7572} VkResolveImageInfo2KHR;
7573
7574typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2KHR* pCopyBufferInfo);
7575typedef void (VKAPI_PTR *PFN_vkCmdCopyImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2KHR* pCopyImageInfo);
7576typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2KHR* pCopyBufferToImageInfo);
7577typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2KHR* pCopyImageToBufferInfo);
7578typedef void (VKAPI_PTR *PFN_vkCmdBlitImage2KHR)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2KHR* pBlitImageInfo);
7579typedef void (VKAPI_PTR *PFN_vkCmdResolveImage2KHR)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2KHR* pResolveImageInfo);
7580
7581#ifndef VK_NO_PROTOTYPES
7582VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer2KHR(
7583 VkCommandBuffer commandBuffer,
7584 const VkCopyBufferInfo2KHR* pCopyBufferInfo);
7585
7586VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage2KHR(
7587 VkCommandBuffer commandBuffer,
7588 const VkCopyImageInfo2KHR* pCopyImageInfo);
7589
7590VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage2KHR(
7591 VkCommandBuffer commandBuffer,
7592 const VkCopyBufferToImageInfo2KHR* pCopyBufferToImageInfo);
7593
7594VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer2KHR(
7595 VkCommandBuffer commandBuffer,
7596 const VkCopyImageToBufferInfo2KHR* pCopyImageToBufferInfo);
7597
7598VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage2KHR(
7599 VkCommandBuffer commandBuffer,
7600 const VkBlitImageInfo2KHR* pBlitImageInfo);
7601
7602VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage2KHR(
7603 VkCommandBuffer commandBuffer,
7604 const VkResolveImageInfo2KHR* pResolveImageInfo);
7605#endif
7606
7607
7608#define VK_EXT_debug_report 1
7609VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT)
7610#define VK_EXT_DEBUG_REPORT_SPEC_VERSION 9
7611#define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report"
7612
7613typedef enum VkDebugReportObjectTypeEXT {
7614 VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT = 0,
7615 VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT = 1,
7616 VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT = 2,
7617 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT = 3,
7618 VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT = 4,
7619 VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT = 5,
7620 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT = 6,
7621 VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT = 7,
7622 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT = 8,
7623 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT = 9,
7624 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT = 10,
7625 VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT = 11,
7626 VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT = 12,
7627 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT = 13,
7628 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT = 14,
7629 VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT = 15,
7630 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT = 16,
7631 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT = 17,
7632 VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT = 18,
7633 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT = 19,
7634 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT = 20,
7635 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT = 21,
7636 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT = 22,
7637 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT = 23,
7638 VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT = 24,
7639 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT = 25,
7640 VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = 26,
7641 VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = 27,
7642 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT = 28,
7643 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT = 29,
7644 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = 30,
7645 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT = 33,
7646 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT = 1000156000,
7647 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT = 1000085000,
7648 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT = 1000165000,
7649 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT,
7650 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT,
7651 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT,
7652 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT,
7653 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT,
7654 VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
7655} VkDebugReportObjectTypeEXT;
7656
7657typedef enum VkDebugReportFlagBitsEXT {
7658 VK_DEBUG_REPORT_INFORMATION_BIT_EXT = 0x00000001,
7659 VK_DEBUG_REPORT_WARNING_BIT_EXT = 0x00000002,
7660 VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = 0x00000004,
7661 VK_DEBUG_REPORT_ERROR_BIT_EXT = 0x00000008,
7662 VK_DEBUG_REPORT_DEBUG_BIT_EXT = 0x00000010,
7663 VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
7664} VkDebugReportFlagBitsEXT;
7665typedef VkFlags VkDebugReportFlagsEXT;
7666typedef VkBool32 (VKAPI_PTR *PFN_vkDebugReportCallbackEXT)(
7667 VkDebugReportFlagsEXT flags,
7668 VkDebugReportObjectTypeEXT objectType,
7669 uint64_t object,
7670 size_t location,
7671 int32_t messageCode,
7672 const char* pLayerPrefix,
7673 const char* pMessage,
7674 void* pUserData);
7675
7676typedef struct VkDebugReportCallbackCreateInfoEXT {
7677 VkStructureType sType;
7678 const void* pNext;
7679 VkDebugReportFlagsEXT flags;
7680 PFN_vkDebugReportCallbackEXT pfnCallback;
7681 void* pUserData;
7682} VkDebugReportCallbackCreateInfoEXT;
7683
7684typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugReportCallbackEXT)(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback);
7685typedef void (VKAPI_PTR *PFN_vkDestroyDebugReportCallbackEXT)(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator);
7686typedef 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);
7687
7688#ifndef VK_NO_PROTOTYPES
7689VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugReportCallbackEXT(
7690 VkInstance instance,
7691 const VkDebugReportCallbackCreateInfoEXT* pCreateInfo,
7692 const VkAllocationCallbacks* pAllocator,
7693 VkDebugReportCallbackEXT* pCallback);
7694
7695VKAPI_ATTR void VKAPI_CALL vkDestroyDebugReportCallbackEXT(
7696 VkInstance instance,
7697 VkDebugReportCallbackEXT callback,
7698 const VkAllocationCallbacks* pAllocator);
7699
7700VKAPI_ATTR void VKAPI_CALL vkDebugReportMessageEXT(
7701 VkInstance instance,
7702 VkDebugReportFlagsEXT flags,
7703 VkDebugReportObjectTypeEXT objectType,
7704 uint64_t object,
7705 size_t location,
7706 int32_t messageCode,
7707 const char* pLayerPrefix,
7708 const char* pMessage);
7709#endif
7710
7711
7712#define VK_NV_glsl_shader 1
7713#define VK_NV_GLSL_SHADER_SPEC_VERSION 1
7714#define VK_NV_GLSL_SHADER_EXTENSION_NAME "VK_NV_glsl_shader"
7715
7716
7717#define VK_EXT_depth_range_unrestricted 1
7718#define VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION 1
7719#define VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME "VK_EXT_depth_range_unrestricted"
7720
7721
7722#define VK_IMG_filter_cubic 1
7723#define VK_IMG_FILTER_CUBIC_SPEC_VERSION 1
7724#define VK_IMG_FILTER_CUBIC_EXTENSION_NAME "VK_IMG_filter_cubic"
7725
7726
7727#define VK_AMD_rasterization_order 1
7728#define VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION 1
7729#define VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME "VK_AMD_rasterization_order"
7730
7731typedef enum VkRasterizationOrderAMD {
7732 VK_RASTERIZATION_ORDER_STRICT_AMD = 0,
7733 VK_RASTERIZATION_ORDER_RELAXED_AMD = 1,
7734 VK_RASTERIZATION_ORDER_MAX_ENUM_AMD = 0x7FFFFFFF
7735} VkRasterizationOrderAMD;
7736typedef struct VkPipelineRasterizationStateRasterizationOrderAMD {
7737 VkStructureType sType;
7738 const void* pNext;
7739 VkRasterizationOrderAMD rasterizationOrder;
7740} VkPipelineRasterizationStateRasterizationOrderAMD;
7741
7742
7743
7744#define VK_AMD_shader_trinary_minmax 1
7745#define VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION 1
7746#define VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME "VK_AMD_shader_trinary_minmax"
7747
7748
7749#define VK_AMD_shader_explicit_vertex_parameter 1
7750#define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION 1
7751#define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME "VK_AMD_shader_explicit_vertex_parameter"
7752
7753
7754#define VK_EXT_debug_marker 1
7755#define VK_EXT_DEBUG_MARKER_SPEC_VERSION 4
7756#define VK_EXT_DEBUG_MARKER_EXTENSION_NAME "VK_EXT_debug_marker"
7757typedef struct VkDebugMarkerObjectNameInfoEXT {
7758 VkStructureType sType;
7759 const void* pNext;
7760 VkDebugReportObjectTypeEXT objectType;
7761 uint64_t object;
7762 const char* pObjectName;
7763} VkDebugMarkerObjectNameInfoEXT;
7764
7765typedef struct VkDebugMarkerObjectTagInfoEXT {
7766 VkStructureType sType;
7767 const void* pNext;
7768 VkDebugReportObjectTypeEXT objectType;
7769 uint64_t object;
7770 uint64_t tagName;
7771 size_t tagSize;
7772 const void* pTag;
7773} VkDebugMarkerObjectTagInfoEXT;
7774
7775typedef struct VkDebugMarkerMarkerInfoEXT {
7776 VkStructureType sType;
7777 const void* pNext;
7778 const char* pMarkerName;
7779 float color[4];
7780} VkDebugMarkerMarkerInfoEXT;
7781
7782typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectTagEXT)(VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
7783typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectNameEXT)(VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
7784typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerBeginEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
7785typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerEndEXT)(VkCommandBuffer commandBuffer);
7786typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerInsertEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
7787
7788#ifndef VK_NO_PROTOTYPES
7789VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectTagEXT(
7790 VkDevice device,
7791 const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
7792
7793VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectNameEXT(
7794 VkDevice device,
7795 const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
7796
7797VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerBeginEXT(
7798 VkCommandBuffer commandBuffer,
7799 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
7800
7801VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerEndEXT(
7802 VkCommandBuffer commandBuffer);
7803
7804VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerInsertEXT(
7805 VkCommandBuffer commandBuffer,
7806 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
7807#endif
7808
7809
7810#define VK_AMD_gcn_shader 1
7811#define VK_AMD_GCN_SHADER_SPEC_VERSION 1
7812#define VK_AMD_GCN_SHADER_EXTENSION_NAME "VK_AMD_gcn_shader"
7813
7814
7815#define VK_NV_dedicated_allocation 1
7816#define VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION 1
7817#define VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_NV_dedicated_allocation"
7818typedef struct VkDedicatedAllocationImageCreateInfoNV {
7819 VkStructureType sType;
7820 const void* pNext;
7821 VkBool32 dedicatedAllocation;
7822} VkDedicatedAllocationImageCreateInfoNV;
7823
7824typedef struct VkDedicatedAllocationBufferCreateInfoNV {
7825 VkStructureType sType;
7826 const void* pNext;
7827 VkBool32 dedicatedAllocation;
7828} VkDedicatedAllocationBufferCreateInfoNV;
7829
7830typedef struct VkDedicatedAllocationMemoryAllocateInfoNV {
7831 VkStructureType sType;
7832 const void* pNext;
7833 VkImage image;
7834 VkBuffer buffer;
7835} VkDedicatedAllocationMemoryAllocateInfoNV;
7836
7837
7838
7839#define VK_EXT_transform_feedback 1
7840#define VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION 1
7841#define VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME "VK_EXT_transform_feedback"
7842typedef VkFlags VkPipelineRasterizationStateStreamCreateFlagsEXT;
7843typedef struct VkPhysicalDeviceTransformFeedbackFeaturesEXT {
7844 VkStructureType sType;
7845 void* pNext;
7846 VkBool32 transformFeedback;
7847 VkBool32 geometryStreams;
7848} VkPhysicalDeviceTransformFeedbackFeaturesEXT;
7849
7850typedef struct VkPhysicalDeviceTransformFeedbackPropertiesEXT {
7851 VkStructureType sType;
7852 void* pNext;
7853 uint32_t maxTransformFeedbackStreams;
7854 uint32_t maxTransformFeedbackBuffers;
7855 VkDeviceSize maxTransformFeedbackBufferSize;
7856 uint32_t maxTransformFeedbackStreamDataSize;
7857 uint32_t maxTransformFeedbackBufferDataSize;
7858 uint32_t maxTransformFeedbackBufferDataStride;
7859 VkBool32 transformFeedbackQueries;
7860 VkBool32 transformFeedbackStreamsLinesTriangles;
7861 VkBool32 transformFeedbackRasterizationStreamSelect;
7862 VkBool32 transformFeedbackDraw;
7863} VkPhysicalDeviceTransformFeedbackPropertiesEXT;
7864
7865typedef struct VkPipelineRasterizationStateStreamCreateInfoEXT {
7866 VkStructureType sType;
7867 const void* pNext;
7868 VkPipelineRasterizationStateStreamCreateFlagsEXT flags;
7869 uint32_t rasterizationStream;
7870} VkPipelineRasterizationStateStreamCreateInfoEXT;
7871
7872typedef void (VKAPI_PTR *PFN_vkCmdBindTransformFeedbackBuffersEXT)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes);
7873typedef void (VKAPI_PTR *PFN_vkCmdBeginTransformFeedbackEXT)(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
7874typedef void (VKAPI_PTR *PFN_vkCmdEndTransformFeedbackEXT)(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
7875typedef void (VKAPI_PTR *PFN_vkCmdBeginQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index);
7876typedef void (VKAPI_PTR *PFN_vkCmdEndQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index);
7877typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectByteCountEXT)(VkCommandBuffer commandBuffer, uint32_t instanceCount, uint32_t firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, uint32_t counterOffset, uint32_t vertexStride);
7878
7879#ifndef VK_NO_PROTOTYPES
7880VKAPI_ATTR void VKAPI_CALL vkCmdBindTransformFeedbackBuffersEXT(
7881 VkCommandBuffer commandBuffer,
7882 uint32_t firstBinding,
7883 uint32_t bindingCount,
7884 const VkBuffer* pBuffers,
7885 const VkDeviceSize* pOffsets,
7886 const VkDeviceSize* pSizes);
7887
7888VKAPI_ATTR void VKAPI_CALL vkCmdBeginTransformFeedbackEXT(
7889 VkCommandBuffer commandBuffer,
7890 uint32_t firstCounterBuffer,
7891 uint32_t counterBufferCount,
7892 const VkBuffer* pCounterBuffers,
7893 const VkDeviceSize* pCounterBufferOffsets);
7894
7895VKAPI_ATTR void VKAPI_CALL vkCmdEndTransformFeedbackEXT(
7896 VkCommandBuffer commandBuffer,
7897 uint32_t firstCounterBuffer,
7898 uint32_t counterBufferCount,
7899 const VkBuffer* pCounterBuffers,
7900 const VkDeviceSize* pCounterBufferOffsets);
7901
7902VKAPI_ATTR void VKAPI_CALL vkCmdBeginQueryIndexedEXT(
7903 VkCommandBuffer commandBuffer,
7904 VkQueryPool queryPool,
7905 uint32_t query,
7906 VkQueryControlFlags flags,
7907 uint32_t index);
7908
7909VKAPI_ATTR void VKAPI_CALL vkCmdEndQueryIndexedEXT(
7910 VkCommandBuffer commandBuffer,
7911 VkQueryPool queryPool,
7912 uint32_t query,
7913 uint32_t index);
7914
7915VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectByteCountEXT(
7916 VkCommandBuffer commandBuffer,
7917 uint32_t instanceCount,
7918 uint32_t firstInstance,
7919 VkBuffer counterBuffer,
7920 VkDeviceSize counterBufferOffset,
7921 uint32_t counterOffset,
7922 uint32_t vertexStride);
7923#endif
7924
7925
7926#define VK_NVX_image_view_handle 1
7927#define VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION 2
7928#define VK_NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME "VK_NVX_image_view_handle"
7929typedef struct VkImageViewHandleInfoNVX {
7930 VkStructureType sType;
7931 const void* pNext;
7932 VkImageView imageView;
7933 VkDescriptorType descriptorType;
7934 VkSampler sampler;
7935} VkImageViewHandleInfoNVX;
7936
7937typedef struct VkImageViewAddressPropertiesNVX {
7938 VkStructureType sType;
7939 void* pNext;
7940 VkDeviceAddress deviceAddress;
7941 VkDeviceSize size;
7942} VkImageViewAddressPropertiesNVX;
7943
7944typedef uint32_t (VKAPI_PTR *PFN_vkGetImageViewHandleNVX)(VkDevice device, const VkImageViewHandleInfoNVX* pInfo);
7945typedef VkResult (VKAPI_PTR *PFN_vkGetImageViewAddressNVX)(VkDevice device, VkImageView imageView, VkImageViewAddressPropertiesNVX* pProperties);
7946
7947#ifndef VK_NO_PROTOTYPES
7948VKAPI_ATTR uint32_t VKAPI_CALL vkGetImageViewHandleNVX(
7949 VkDevice device,
7950 const VkImageViewHandleInfoNVX* pInfo);
7951
7952VKAPI_ATTR VkResult VKAPI_CALL vkGetImageViewAddressNVX(
7953 VkDevice device,
7954 VkImageView imageView,
7955 VkImageViewAddressPropertiesNVX* pProperties);
7956#endif
7957
7958
7959#define VK_AMD_draw_indirect_count 1
7960#define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 2
7961#define VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_AMD_draw_indirect_count"
7962typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
7963typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
7964
7965#ifndef VK_NO_PROTOTYPES
7966VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountAMD(
7967 VkCommandBuffer commandBuffer,
7968 VkBuffer buffer,
7969 VkDeviceSize offset,
7970 VkBuffer countBuffer,
7971 VkDeviceSize countBufferOffset,
7972 uint32_t maxDrawCount,
7973 uint32_t stride);
7974
7975VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountAMD(
7976 VkCommandBuffer commandBuffer,
7977 VkBuffer buffer,
7978 VkDeviceSize offset,
7979 VkBuffer countBuffer,
7980 VkDeviceSize countBufferOffset,
7981 uint32_t maxDrawCount,
7982 uint32_t stride);
7983#endif
7984
7985
7986#define VK_AMD_negative_viewport_height 1
7987#define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION 1
7988#define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME "VK_AMD_negative_viewport_height"
7989
7990
7991#define VK_AMD_gpu_shader_half_float 1
7992#define VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION 2
7993#define VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME "VK_AMD_gpu_shader_half_float"
7994
7995
7996#define VK_AMD_shader_ballot 1
7997#define VK_AMD_SHADER_BALLOT_SPEC_VERSION 1
7998#define VK_AMD_SHADER_BALLOT_EXTENSION_NAME "VK_AMD_shader_ballot"
7999
8000
8001#define VK_AMD_texture_gather_bias_lod 1
8002#define VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION 1
8003#define VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME "VK_AMD_texture_gather_bias_lod"
8004typedef struct VkTextureLODGatherFormatPropertiesAMD {
8005 VkStructureType sType;
8006 void* pNext;
8007 VkBool32 supportsTextureGatherLODBiasAMD;
8008} VkTextureLODGatherFormatPropertiesAMD;
8009
8010
8011
8012#define VK_AMD_shader_info 1
8013#define VK_AMD_SHADER_INFO_SPEC_VERSION 1
8014#define VK_AMD_SHADER_INFO_EXTENSION_NAME "VK_AMD_shader_info"
8015
8016typedef enum VkShaderInfoTypeAMD {
8017 VK_SHADER_INFO_TYPE_STATISTICS_AMD = 0,
8018 VK_SHADER_INFO_TYPE_BINARY_AMD = 1,
8019 VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD = 2,
8020 VK_SHADER_INFO_TYPE_MAX_ENUM_AMD = 0x7FFFFFFF
8021} VkShaderInfoTypeAMD;
8022typedef struct VkShaderResourceUsageAMD {
8023 uint32_t numUsedVgprs;
8024 uint32_t numUsedSgprs;
8025 uint32_t ldsSizePerLocalWorkGroup;
8026 size_t ldsUsageSizeInBytes;
8027 size_t scratchMemUsageInBytes;
8028} VkShaderResourceUsageAMD;
8029
8030typedef struct VkShaderStatisticsInfoAMD {
8031 VkShaderStageFlags shaderStageMask;
8032 VkShaderResourceUsageAMD resourceUsage;
8033 uint32_t numPhysicalVgprs;
8034 uint32_t numPhysicalSgprs;
8035 uint32_t numAvailableVgprs;
8036 uint32_t numAvailableSgprs;
8037 uint32_t computeWorkGroupSize[3];
8038} VkShaderStatisticsInfoAMD;
8039
8040typedef VkResult (VKAPI_PTR *PFN_vkGetShaderInfoAMD)(VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, size_t* pInfoSize, void* pInfo);
8041
8042#ifndef VK_NO_PROTOTYPES
8043VKAPI_ATTR VkResult VKAPI_CALL vkGetShaderInfoAMD(
8044 VkDevice device,
8045 VkPipeline pipeline,
8046 VkShaderStageFlagBits shaderStage,
8047 VkShaderInfoTypeAMD infoType,
8048 size_t* pInfoSize,
8049 void* pInfo);
8050#endif
8051
8052
8053#define VK_AMD_shader_image_load_store_lod 1
8054#define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION 1
8055#define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME "VK_AMD_shader_image_load_store_lod"
8056
8057
8058#define VK_NV_corner_sampled_image 1
8059#define VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION 2
8060#define VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME "VK_NV_corner_sampled_image"
8061typedef struct VkPhysicalDeviceCornerSampledImageFeaturesNV {
8062 VkStructureType sType;
8063 void* pNext;
8064 VkBool32 cornerSampledImage;
8065} VkPhysicalDeviceCornerSampledImageFeaturesNV;
8066
8067
8068
8069#define VK_IMG_format_pvrtc 1
8070#define VK_IMG_FORMAT_PVRTC_SPEC_VERSION 1
8071#define VK_IMG_FORMAT_PVRTC_EXTENSION_NAME "VK_IMG_format_pvrtc"
8072
8073
8074#define VK_NV_external_memory_capabilities 1
8075#define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
8076#define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_NV_external_memory_capabilities"
8077
8078typedef enum VkExternalMemoryHandleTypeFlagBitsNV {
8079 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV = 0x00000001,
8080 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV = 0x00000002,
8081 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV = 0x00000004,
8082 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV = 0x00000008,
8083 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
8084} VkExternalMemoryHandleTypeFlagBitsNV;
8085typedef VkFlags VkExternalMemoryHandleTypeFlagsNV;
8086
8087typedef enum VkExternalMemoryFeatureFlagBitsNV {
8088 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV = 0x00000001,
8089 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV = 0x00000002,
8090 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV = 0x00000004,
8091 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
8092} VkExternalMemoryFeatureFlagBitsNV;
8093typedef VkFlags VkExternalMemoryFeatureFlagsNV;
8094typedef struct VkExternalImageFormatPropertiesNV {
8095 VkImageFormatProperties imageFormatProperties;
8096 VkExternalMemoryFeatureFlagsNV externalMemoryFeatures;
8097 VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes;
8098 VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes;
8099} VkExternalImageFormatPropertiesNV;
8100
8101typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
8102
8103#ifndef VK_NO_PROTOTYPES
8104VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
8105 VkPhysicalDevice physicalDevice,
8106 VkFormat format,
8107 VkImageType type,
8108 VkImageTiling tiling,
8109 VkImageUsageFlags usage,
8110 VkImageCreateFlags flags,
8111 VkExternalMemoryHandleTypeFlagsNV externalHandleType,
8112 VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
8113#endif
8114
8115
8116#define VK_NV_external_memory 1
8117#define VK_NV_EXTERNAL_MEMORY_SPEC_VERSION 1
8118#define VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME "VK_NV_external_memory"
8119typedef struct VkExternalMemoryImageCreateInfoNV {
8120 VkStructureType sType;
8121 const void* pNext;
8122 VkExternalMemoryHandleTypeFlagsNV handleTypes;
8123} VkExternalMemoryImageCreateInfoNV;
8124
8125typedef struct VkExportMemoryAllocateInfoNV {
8126 VkStructureType sType;
8127 const void* pNext;
8128 VkExternalMemoryHandleTypeFlagsNV handleTypes;
8129} VkExportMemoryAllocateInfoNV;
8130
8131
8132
8133#define VK_EXT_validation_flags 1
8134#define VK_EXT_VALIDATION_FLAGS_SPEC_VERSION 2
8135#define VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME "VK_EXT_validation_flags"
8136
8137typedef enum VkValidationCheckEXT {
8138 VK_VALIDATION_CHECK_ALL_EXT = 0,
8139 VK_VALIDATION_CHECK_SHADERS_EXT = 1,
8140 VK_VALIDATION_CHECK_MAX_ENUM_EXT = 0x7FFFFFFF
8141} VkValidationCheckEXT;
8142typedef struct VkValidationFlagsEXT {
8143 VkStructureType sType;
8144 const void* pNext;
8145 uint32_t disabledValidationCheckCount;
8146 const VkValidationCheckEXT* pDisabledValidationChecks;
8147} VkValidationFlagsEXT;
8148
8149
8150
8151#define VK_EXT_shader_subgroup_ballot 1
8152#define VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION 1
8153#define VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME "VK_EXT_shader_subgroup_ballot"
8154
8155
8156#define VK_EXT_shader_subgroup_vote 1
8157#define VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION 1
8158#define VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME "VK_EXT_shader_subgroup_vote"
8159
8160
8161#define VK_EXT_texture_compression_astc_hdr 1
8162#define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION 1
8163#define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME "VK_EXT_texture_compression_astc_hdr"
8164typedef struct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT {
8165 VkStructureType sType;
8166 void* pNext;
8167 VkBool32 textureCompressionASTC_HDR;
8168} VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT;
8169
8170
8171
8172#define VK_EXT_astc_decode_mode 1
8173#define VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION 1
8174#define VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME "VK_EXT_astc_decode_mode"
8175typedef struct VkImageViewASTCDecodeModeEXT {
8176 VkStructureType sType;
8177 const void* pNext;
8178 VkFormat decodeMode;
8179} VkImageViewASTCDecodeModeEXT;
8180
8181typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT {
8182 VkStructureType sType;
8183 void* pNext;
8184 VkBool32 decodeModeSharedExponent;
8185} VkPhysicalDeviceASTCDecodeFeaturesEXT;
8186
8187
8188
8189#define VK_EXT_conditional_rendering 1
8190#define VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION 2
8191#define VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME "VK_EXT_conditional_rendering"
8192
8193typedef enum VkConditionalRenderingFlagBitsEXT {
8194 VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT = 0x00000001,
8195 VK_CONDITIONAL_RENDERING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
8196} VkConditionalRenderingFlagBitsEXT;
8197typedef VkFlags VkConditionalRenderingFlagsEXT;
8198typedef struct VkConditionalRenderingBeginInfoEXT {
8199 VkStructureType sType;
8200 const void* pNext;
8201 VkBuffer buffer;
8202 VkDeviceSize offset;
8203 VkConditionalRenderingFlagsEXT flags;
8204} VkConditionalRenderingBeginInfoEXT;
8205
8206typedef struct VkPhysicalDeviceConditionalRenderingFeaturesEXT {
8207 VkStructureType sType;
8208 void* pNext;
8209 VkBool32 conditionalRendering;
8210 VkBool32 inheritedConditionalRendering;
8211} VkPhysicalDeviceConditionalRenderingFeaturesEXT;
8212
8213typedef struct VkCommandBufferInheritanceConditionalRenderingInfoEXT {
8214 VkStructureType sType;
8215 const void* pNext;
8216 VkBool32 conditionalRenderingEnable;
8217} VkCommandBufferInheritanceConditionalRenderingInfoEXT;
8218
8219typedef void (VKAPI_PTR *PFN_vkCmdBeginConditionalRenderingEXT)(VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
8220typedef void (VKAPI_PTR *PFN_vkCmdEndConditionalRenderingEXT)(VkCommandBuffer commandBuffer);
8221
8222#ifndef VK_NO_PROTOTYPES
8223VKAPI_ATTR void VKAPI_CALL vkCmdBeginConditionalRenderingEXT(
8224 VkCommandBuffer commandBuffer,
8225 const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
8226
8227VKAPI_ATTR void VKAPI_CALL vkCmdEndConditionalRenderingEXT(
8228 VkCommandBuffer commandBuffer);
8229#endif
8230
8231
8232#define VK_NV_clip_space_w_scaling 1
8233#define VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION 1
8234#define VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME "VK_NV_clip_space_w_scaling"
8235typedef struct VkViewportWScalingNV {
8236 float xcoeff;
8237 float ycoeff;
8238} VkViewportWScalingNV;
8239
8240typedef struct VkPipelineViewportWScalingStateCreateInfoNV {
8241 VkStructureType sType;
8242 const void* pNext;
8243 VkBool32 viewportWScalingEnable;
8244 uint32_t viewportCount;
8245 const VkViewportWScalingNV* pViewportWScalings;
8246} VkPipelineViewportWScalingStateCreateInfoNV;
8247
8248typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportWScalingNV* pViewportWScalings);
8249
8250#ifndef VK_NO_PROTOTYPES
8251VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWScalingNV(
8252 VkCommandBuffer commandBuffer,
8253 uint32_t firstViewport,
8254 uint32_t viewportCount,
8255 const VkViewportWScalingNV* pViewportWScalings);
8256#endif
8257
8258
8259#define VK_EXT_direct_mode_display 1
8260#define VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION 1
8261#define VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME "VK_EXT_direct_mode_display"
8262typedef VkResult (VKAPI_PTR *PFN_vkReleaseDisplayEXT)(VkPhysicalDevice physicalDevice, VkDisplayKHR display);
8263
8264#ifndef VK_NO_PROTOTYPES
8265VKAPI_ATTR VkResult VKAPI_CALL vkReleaseDisplayEXT(
8266 VkPhysicalDevice physicalDevice,
8267 VkDisplayKHR display);
8268#endif
8269
8270
8271#define VK_EXT_display_surface_counter 1
8272#define VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION 1
8273#define VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME "VK_EXT_display_surface_counter"
8274
8275typedef enum VkSurfaceCounterFlagBitsEXT {
8276 VK_SURFACE_COUNTER_VBLANK_EXT = 0x00000001,
8277 VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
8278} VkSurfaceCounterFlagBitsEXT;
8279typedef VkFlags VkSurfaceCounterFlagsEXT;
8280typedef struct VkSurfaceCapabilities2EXT {
8281 VkStructureType sType;
8282 void* pNext;
8283 uint32_t minImageCount;
8284 uint32_t maxImageCount;
8285 VkExtent2D currentExtent;
8286 VkExtent2D minImageExtent;
8287 VkExtent2D maxImageExtent;
8288 uint32_t maxImageArrayLayers;
8289 VkSurfaceTransformFlagsKHR supportedTransforms;
8290 VkSurfaceTransformFlagBitsKHR currentTransform;
8291 VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
8292 VkImageUsageFlags supportedUsageFlags;
8293 VkSurfaceCounterFlagsEXT supportedSurfaceCounters;
8294} VkSurfaceCapabilities2EXT;
8295
8296typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
8297
8298#ifndef VK_NO_PROTOTYPES
8299VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2EXT(
8300 VkPhysicalDevice physicalDevice,
8301 VkSurfaceKHR surface,
8302 VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
8303#endif
8304
8305
8306#define VK_EXT_display_control 1
8307#define VK_EXT_DISPLAY_CONTROL_SPEC_VERSION 1
8308#define VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME "VK_EXT_display_control"
8309
8310typedef enum VkDisplayPowerStateEXT {
8311 VK_DISPLAY_POWER_STATE_OFF_EXT = 0,
8312 VK_DISPLAY_POWER_STATE_SUSPEND_EXT = 1,
8313 VK_DISPLAY_POWER_STATE_ON_EXT = 2,
8314 VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT = 0x7FFFFFFF
8315} VkDisplayPowerStateEXT;
8316
8317typedef enum VkDeviceEventTypeEXT {
8318 VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT = 0,
8319 VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
8320} VkDeviceEventTypeEXT;
8321
8322typedef enum VkDisplayEventTypeEXT {
8323 VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT = 0,
8324 VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
8325} VkDisplayEventTypeEXT;
8326typedef struct VkDisplayPowerInfoEXT {
8327 VkStructureType sType;
8328 const void* pNext;
8329 VkDisplayPowerStateEXT powerState;
8330} VkDisplayPowerInfoEXT;
8331
8332typedef struct VkDeviceEventInfoEXT {
8333 VkStructureType sType;
8334 const void* pNext;
8335 VkDeviceEventTypeEXT deviceEvent;
8336} VkDeviceEventInfoEXT;
8337
8338typedef struct VkDisplayEventInfoEXT {
8339 VkStructureType sType;
8340 const void* pNext;
8341 VkDisplayEventTypeEXT displayEvent;
8342} VkDisplayEventInfoEXT;
8343
8344typedef struct VkSwapchainCounterCreateInfoEXT {
8345 VkStructureType sType;
8346 const void* pNext;
8347 VkSurfaceCounterFlagsEXT surfaceCounters;
8348} VkSwapchainCounterCreateInfoEXT;
8349
8350typedef VkResult (VKAPI_PTR *PFN_vkDisplayPowerControlEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
8351typedef VkResult (VKAPI_PTR *PFN_vkRegisterDeviceEventEXT)(VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
8352typedef VkResult (VKAPI_PTR *PFN_vkRegisterDisplayEventEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
8353typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainCounterEXT)(VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, uint64_t* pCounterValue);
8354
8355#ifndef VK_NO_PROTOTYPES
8356VKAPI_ATTR VkResult VKAPI_CALL vkDisplayPowerControlEXT(
8357 VkDevice device,
8358 VkDisplayKHR display,
8359 const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
8360
8361VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDeviceEventEXT(
8362 VkDevice device,
8363 const VkDeviceEventInfoEXT* pDeviceEventInfo,
8364 const VkAllocationCallbacks* pAllocator,
8365 VkFence* pFence);
8366
8367VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDisplayEventEXT(
8368 VkDevice device,
8369 VkDisplayKHR display,
8370 const VkDisplayEventInfoEXT* pDisplayEventInfo,
8371 const VkAllocationCallbacks* pAllocator,
8372 VkFence* pFence);
8373
8374VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainCounterEXT(
8375 VkDevice device,
8376 VkSwapchainKHR swapchain,
8377 VkSurfaceCounterFlagBitsEXT counter,
8378 uint64_t* pCounterValue);
8379#endif
8380
8381
8382#define VK_GOOGLE_display_timing 1
8383#define VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION 1
8384#define VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME "VK_GOOGLE_display_timing"
8385typedef struct VkRefreshCycleDurationGOOGLE {
8386 uint64_t refreshDuration;
8387} VkRefreshCycleDurationGOOGLE;
8388
8389typedef struct VkPastPresentationTimingGOOGLE {
8390 uint32_t presentID;
8391 uint64_t desiredPresentTime;
8392 uint64_t actualPresentTime;
8393 uint64_t earliestPresentTime;
8394 uint64_t presentMargin;
8395} VkPastPresentationTimingGOOGLE;
8396
8397typedef struct VkPresentTimeGOOGLE {
8398 uint32_t presentID;
8399 uint64_t desiredPresentTime;
8400} VkPresentTimeGOOGLE;
8401
8402typedef struct VkPresentTimesInfoGOOGLE {
8403 VkStructureType sType;
8404 const void* pNext;
8405 uint32_t swapchainCount;
8406 const VkPresentTimeGOOGLE* pTimes;
8407} VkPresentTimesInfoGOOGLE;
8408
8409typedef VkResult (VKAPI_PTR *PFN_vkGetRefreshCycleDurationGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
8410typedef VkResult (VKAPI_PTR *PFN_vkGetPastPresentationTimingGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings);
8411
8412#ifndef VK_NO_PROTOTYPES
8413VKAPI_ATTR VkResult VKAPI_CALL vkGetRefreshCycleDurationGOOGLE(
8414 VkDevice device,
8415 VkSwapchainKHR swapchain,
8416 VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
8417
8418VKAPI_ATTR VkResult VKAPI_CALL vkGetPastPresentationTimingGOOGLE(
8419 VkDevice device,
8420 VkSwapchainKHR swapchain,
8421 uint32_t* pPresentationTimingCount,
8422 VkPastPresentationTimingGOOGLE* pPresentationTimings);
8423#endif
8424
8425
8426#define VK_NV_sample_mask_override_coverage 1
8427#define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION 1
8428#define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME "VK_NV_sample_mask_override_coverage"
8429
8430
8431#define VK_NV_geometry_shader_passthrough 1
8432#define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION 1
8433#define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME "VK_NV_geometry_shader_passthrough"
8434
8435
8436#define VK_NV_viewport_array2 1
8437#define VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION 1
8438#define VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME "VK_NV_viewport_array2"
8439
8440
8441#define VK_NVX_multiview_per_view_attributes 1
8442#define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION 1
8443#define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME "VK_NVX_multiview_per_view_attributes"
8444typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
8445 VkStructureType sType;
8446 void* pNext;
8447 VkBool32 perViewPositionAllComponents;
8448} VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
8449
8450
8451
8452#define VK_NV_viewport_swizzle 1
8453#define VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION 1
8454#define VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME "VK_NV_viewport_swizzle"
8455
8456typedef enum VkViewportCoordinateSwizzleNV {
8457 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV = 0,
8458 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV = 1,
8459 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV = 2,
8460 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV = 3,
8461 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV = 4,
8462 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV = 5,
8463 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV = 6,
8464 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV = 7,
8465 VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV = 0x7FFFFFFF
8466} VkViewportCoordinateSwizzleNV;
8467typedef VkFlags VkPipelineViewportSwizzleStateCreateFlagsNV;
8468typedef struct VkViewportSwizzleNV {
8469 VkViewportCoordinateSwizzleNV x;
8470 VkViewportCoordinateSwizzleNV y;
8471 VkViewportCoordinateSwizzleNV z;
8472 VkViewportCoordinateSwizzleNV w;
8473} VkViewportSwizzleNV;
8474
8475typedef struct VkPipelineViewportSwizzleStateCreateInfoNV {
8476 VkStructureType sType;
8477 const void* pNext;
8478 VkPipelineViewportSwizzleStateCreateFlagsNV flags;
8479 uint32_t viewportCount;
8480 const VkViewportSwizzleNV* pViewportSwizzles;
8481} VkPipelineViewportSwizzleStateCreateInfoNV;
8482
8483
8484
8485#define VK_EXT_discard_rectangles 1
8486#define VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION 1
8487#define VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME "VK_EXT_discard_rectangles"
8488
8489typedef enum VkDiscardRectangleModeEXT {
8490 VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT = 0,
8491 VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT = 1,
8492 VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
8493} VkDiscardRectangleModeEXT;
8494typedef VkFlags VkPipelineDiscardRectangleStateCreateFlagsEXT;
8495typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
8496 VkStructureType sType;
8497 void* pNext;
8498 uint32_t maxDiscardRectangles;
8499} VkPhysicalDeviceDiscardRectanglePropertiesEXT;
8500
8501typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT {
8502 VkStructureType sType;
8503 const void* pNext;
8504 VkPipelineDiscardRectangleStateCreateFlagsEXT flags;
8505 VkDiscardRectangleModeEXT discardRectangleMode;
8506 uint32_t discardRectangleCount;
8507 const VkRect2D* pDiscardRectangles;
8508} VkPipelineDiscardRectangleStateCreateInfoEXT;
8509
8510typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEXT)(VkCommandBuffer commandBuffer, uint32_t firstDiscardRectangle, uint32_t discardRectangleCount, const VkRect2D* pDiscardRectangles);
8511
8512#ifndef VK_NO_PROTOTYPES
8513VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEXT(
8514 VkCommandBuffer commandBuffer,
8515 uint32_t firstDiscardRectangle,
8516 uint32_t discardRectangleCount,
8517 const VkRect2D* pDiscardRectangles);
8518#endif
8519
8520
8521#define VK_EXT_conservative_rasterization 1
8522#define VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION 1
8523#define VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME "VK_EXT_conservative_rasterization"
8524
8525typedef enum VkConservativeRasterizationModeEXT {
8526 VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT = 0,
8527 VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT = 1,
8528 VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT = 2,
8529 VK_CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
8530} VkConservativeRasterizationModeEXT;
8531typedef VkFlags VkPipelineRasterizationConservativeStateCreateFlagsEXT;
8532typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT {
8533 VkStructureType sType;
8534 void* pNext;
8535 float primitiveOverestimationSize;
8536 float maxExtraPrimitiveOverestimationSize;
8537 float extraPrimitiveOverestimationSizeGranularity;
8538 VkBool32 primitiveUnderestimation;
8539 VkBool32 conservativePointAndLineRasterization;
8540 VkBool32 degenerateTrianglesRasterized;
8541 VkBool32 degenerateLinesRasterized;
8542 VkBool32 fullyCoveredFragmentShaderInputVariable;
8543 VkBool32 conservativeRasterizationPostDepthCoverage;
8544} VkPhysicalDeviceConservativeRasterizationPropertiesEXT;
8545
8546typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT {
8547 VkStructureType sType;
8548 const void* pNext;
8549 VkPipelineRasterizationConservativeStateCreateFlagsEXT flags;
8550 VkConservativeRasterizationModeEXT conservativeRasterizationMode;
8551 float extraPrimitiveOverestimationSize;
8552} VkPipelineRasterizationConservativeStateCreateInfoEXT;
8553
8554
8555
8556#define VK_EXT_depth_clip_enable 1
8557#define VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION 1
8558#define VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME "VK_EXT_depth_clip_enable"
8559typedef VkFlags VkPipelineRasterizationDepthClipStateCreateFlagsEXT;
8560typedef struct VkPhysicalDeviceDepthClipEnableFeaturesEXT {
8561 VkStructureType sType;
8562 void* pNext;
8563 VkBool32 depthClipEnable;
8564} VkPhysicalDeviceDepthClipEnableFeaturesEXT;
8565
8566typedef struct VkPipelineRasterizationDepthClipStateCreateInfoEXT {
8567 VkStructureType sType;
8568 const void* pNext;
8569 VkPipelineRasterizationDepthClipStateCreateFlagsEXT flags;
8570 VkBool32 depthClipEnable;
8571} VkPipelineRasterizationDepthClipStateCreateInfoEXT;
8572
8573
8574
8575#define VK_EXT_swapchain_colorspace 1
8576#define VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION 4
8577#define VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME "VK_EXT_swapchain_colorspace"
8578
8579
8580#define VK_EXT_hdr_metadata 1
8581#define VK_EXT_HDR_METADATA_SPEC_VERSION 2
8582#define VK_EXT_HDR_METADATA_EXTENSION_NAME "VK_EXT_hdr_metadata"
8583typedef struct VkXYColorEXT {
8584 float x;
8585 float y;
8586} VkXYColorEXT;
8587
8588typedef struct VkHdrMetadataEXT {
8589 VkStructureType sType;
8590 const void* pNext;
8591 VkXYColorEXT displayPrimaryRed;
8592 VkXYColorEXT displayPrimaryGreen;
8593 VkXYColorEXT displayPrimaryBlue;
8594 VkXYColorEXT whitePoint;
8595 float maxLuminance;
8596 float minLuminance;
8597 float maxContentLightLevel;
8598 float maxFrameAverageLightLevel;
8599} VkHdrMetadataEXT;
8600
8601typedef void (VKAPI_PTR *PFN_vkSetHdrMetadataEXT)(VkDevice device, uint32_t swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata);
8602
8603#ifndef VK_NO_PROTOTYPES
8604VKAPI_ATTR void VKAPI_CALL vkSetHdrMetadataEXT(
8605 VkDevice device,
8606 uint32_t swapchainCount,
8607 const VkSwapchainKHR* pSwapchains,
8608 const VkHdrMetadataEXT* pMetadata);
8609#endif
8610
8611
8612#define VK_EXT_external_memory_dma_buf 1
8613#define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION 1
8614#define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME "VK_EXT_external_memory_dma_buf"
8615
8616
8617#define VK_EXT_queue_family_foreign 1
8618#define VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION 1
8619#define VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME "VK_EXT_queue_family_foreign"
8620#define VK_QUEUE_FAMILY_FOREIGN_EXT (~0U-2)
8621
8622
8623#define VK_EXT_debug_utils 1
8624VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugUtilsMessengerEXT)
8625#define VK_EXT_DEBUG_UTILS_SPEC_VERSION 2
8626#define VK_EXT_DEBUG_UTILS_EXTENSION_NAME "VK_EXT_debug_utils"
8627typedef VkFlags VkDebugUtilsMessengerCallbackDataFlagsEXT;
8628
8629typedef enum VkDebugUtilsMessageSeverityFlagBitsEXT {
8630 VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT = 0x00000001,
8631 VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT = 0x00000010,
8632 VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT = 0x00000100,
8633 VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT = 0x00001000,
8634 VK_DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
8635} VkDebugUtilsMessageSeverityFlagBitsEXT;
8636
8637typedef enum VkDebugUtilsMessageTypeFlagBitsEXT {
8638 VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT = 0x00000001,
8639 VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT = 0x00000002,
8640 VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT = 0x00000004,
8641 VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
8642} VkDebugUtilsMessageTypeFlagBitsEXT;
8643typedef VkFlags VkDebugUtilsMessageTypeFlagsEXT;
8644typedef VkFlags VkDebugUtilsMessageSeverityFlagsEXT;
8645typedef VkFlags VkDebugUtilsMessengerCreateFlagsEXT;
8646typedef struct VkDebugUtilsLabelEXT {
8647 VkStructureType sType;
8648 const void* pNext;
8649 const char* pLabelName;
8650 float color[4];
8651} VkDebugUtilsLabelEXT;
8652
8653typedef struct VkDebugUtilsObjectNameInfoEXT {
8654 VkStructureType sType;
8655 const void* pNext;
8656 VkObjectType objectType;
8657 uint64_t objectHandle;
8658 const char* pObjectName;
8659} VkDebugUtilsObjectNameInfoEXT;
8660
8661typedef struct VkDebugUtilsMessengerCallbackDataEXT {
8662 VkStructureType sType;
8663 const void* pNext;
8664 VkDebugUtilsMessengerCallbackDataFlagsEXT flags;
8665 const char* pMessageIdName;
8666 int32_t messageIdNumber;
8667 const char* pMessage;
8668 uint32_t queueLabelCount;
8669 const VkDebugUtilsLabelEXT* pQueueLabels;
8670 uint32_t cmdBufLabelCount;
8671 const VkDebugUtilsLabelEXT* pCmdBufLabels;
8672 uint32_t objectCount;
8673 const VkDebugUtilsObjectNameInfoEXT* pObjects;
8674} VkDebugUtilsMessengerCallbackDataEXT;
8675
8676typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)(
8677 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
8678 VkDebugUtilsMessageTypeFlagsEXT messageTypes,
8679 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData,
8680 void* pUserData);
8681
8682typedef struct VkDebugUtilsMessengerCreateInfoEXT {
8683 VkStructureType sType;
8684 const void* pNext;
8685 VkDebugUtilsMessengerCreateFlagsEXT flags;
8686 VkDebugUtilsMessageSeverityFlagsEXT messageSeverity;
8687 VkDebugUtilsMessageTypeFlagsEXT messageType;
8688 PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback;
8689 void* pUserData;
8690} VkDebugUtilsMessengerCreateInfoEXT;
8691
8692typedef struct VkDebugUtilsObjectTagInfoEXT {
8693 VkStructureType sType;
8694 const void* pNext;
8695 VkObjectType objectType;
8696 uint64_t objectHandle;
8697 uint64_t tagName;
8698 size_t tagSize;
8699 const void* pTag;
8700} VkDebugUtilsObjectTagInfoEXT;
8701
8702typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectNameEXT)(VkDevice device, const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
8703typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectTagEXT)(VkDevice device, const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
8704typedef void (VKAPI_PTR *PFN_vkQueueBeginDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
8705typedef void (VKAPI_PTR *PFN_vkQueueEndDebugUtilsLabelEXT)(VkQueue queue);
8706typedef void (VKAPI_PTR *PFN_vkQueueInsertDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
8707typedef void (VKAPI_PTR *PFN_vkCmdBeginDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
8708typedef void (VKAPI_PTR *PFN_vkCmdEndDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer);
8709typedef void (VKAPI_PTR *PFN_vkCmdInsertDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
8710typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugUtilsMessengerEXT)(VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugUtilsMessengerEXT* pMessenger);
8711typedef void (VKAPI_PTR *PFN_vkDestroyDebugUtilsMessengerEXT)(VkInstance instance, VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks* pAllocator);
8712typedef void (VKAPI_PTR *PFN_vkSubmitDebugUtilsMessageEXT)(VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
8713
8714#ifndef VK_NO_PROTOTYPES
8715VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectNameEXT(
8716 VkDevice device,
8717 const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
8718
8719VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectTagEXT(
8720 VkDevice device,
8721 const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
8722
8723VKAPI_ATTR void VKAPI_CALL vkQueueBeginDebugUtilsLabelEXT(
8724 VkQueue queue,
8725 const VkDebugUtilsLabelEXT* pLabelInfo);
8726
8727VKAPI_ATTR void VKAPI_CALL vkQueueEndDebugUtilsLabelEXT(
8728 VkQueue queue);
8729
8730VKAPI_ATTR void VKAPI_CALL vkQueueInsertDebugUtilsLabelEXT(
8731 VkQueue queue,
8732 const VkDebugUtilsLabelEXT* pLabelInfo);
8733
8734VKAPI_ATTR void VKAPI_CALL vkCmdBeginDebugUtilsLabelEXT(
8735 VkCommandBuffer commandBuffer,
8736 const VkDebugUtilsLabelEXT* pLabelInfo);
8737
8738VKAPI_ATTR void VKAPI_CALL vkCmdEndDebugUtilsLabelEXT(
8739 VkCommandBuffer commandBuffer);
8740
8741VKAPI_ATTR void VKAPI_CALL vkCmdInsertDebugUtilsLabelEXT(
8742 VkCommandBuffer commandBuffer,
8743 const VkDebugUtilsLabelEXT* pLabelInfo);
8744
8745VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugUtilsMessengerEXT(
8746 VkInstance instance,
8747 const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo,
8748 const VkAllocationCallbacks* pAllocator,
8749 VkDebugUtilsMessengerEXT* pMessenger);
8750
8751VKAPI_ATTR void VKAPI_CALL vkDestroyDebugUtilsMessengerEXT(
8752 VkInstance instance,
8753 VkDebugUtilsMessengerEXT messenger,
8754 const VkAllocationCallbacks* pAllocator);
8755
8756VKAPI_ATTR void VKAPI_CALL vkSubmitDebugUtilsMessageEXT(
8757 VkInstance instance,
8758 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
8759 VkDebugUtilsMessageTypeFlagsEXT messageTypes,
8760 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
8761#endif
8762
8763
8764#define VK_EXT_sampler_filter_minmax 1
8765#define VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION 2
8766#define VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME "VK_EXT_sampler_filter_minmax"
8767typedef VkSamplerReductionMode VkSamplerReductionModeEXT;
8768
8769typedef VkSamplerReductionModeCreateInfo VkSamplerReductionModeCreateInfoEXT;
8770
8771typedef VkPhysicalDeviceSamplerFilterMinmaxProperties VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
8772
8773
8774
8775#define VK_AMD_gpu_shader_int16 1
8776#define VK_AMD_GPU_SHADER_INT16_SPEC_VERSION 2
8777#define VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME "VK_AMD_gpu_shader_int16"
8778
8779
8780#define VK_AMD_mixed_attachment_samples 1
8781#define VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION 1
8782#define VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME "VK_AMD_mixed_attachment_samples"
8783
8784
8785#define VK_AMD_shader_fragment_mask 1
8786#define VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION 1
8787#define VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME "VK_AMD_shader_fragment_mask"
8788
8789
8790#define VK_EXT_inline_uniform_block 1
8791#define VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION 1
8792#define VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME "VK_EXT_inline_uniform_block"
8793typedef struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT {
8794 VkStructureType sType;
8795 void* pNext;
8796 VkBool32 inlineUniformBlock;
8797 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind;
8798} VkPhysicalDeviceInlineUniformBlockFeaturesEXT;
8799
8800typedef struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT {
8801 VkStructureType sType;
8802 void* pNext;
8803 uint32_t maxInlineUniformBlockSize;
8804 uint32_t maxPerStageDescriptorInlineUniformBlocks;
8805 uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
8806 uint32_t maxDescriptorSetInlineUniformBlocks;
8807 uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
8808} VkPhysicalDeviceInlineUniformBlockPropertiesEXT;
8809
8810typedef struct VkWriteDescriptorSetInlineUniformBlockEXT {
8811 VkStructureType sType;
8812 const void* pNext;
8813 uint32_t dataSize;
8814 const void* pData;
8815} VkWriteDescriptorSetInlineUniformBlockEXT;
8816
8817typedef struct VkDescriptorPoolInlineUniformBlockCreateInfoEXT {
8818 VkStructureType sType;
8819 const void* pNext;
8820 uint32_t maxInlineUniformBlockBindings;
8821} VkDescriptorPoolInlineUniformBlockCreateInfoEXT;
8822
8823
8824
8825#define VK_EXT_shader_stencil_export 1
8826#define VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION 1
8827#define VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME "VK_EXT_shader_stencil_export"
8828
8829
8830#define VK_EXT_sample_locations 1
8831#define VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION 1
8832#define VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME "VK_EXT_sample_locations"
8833typedef struct VkSampleLocationEXT {
8834 float x;
8835 float y;
8836} VkSampleLocationEXT;
8837
8838typedef struct VkSampleLocationsInfoEXT {
8839 VkStructureType sType;
8840 const void* pNext;
8841 VkSampleCountFlagBits sampleLocationsPerPixel;
8842 VkExtent2D sampleLocationGridSize;
8843 uint32_t sampleLocationsCount;
8844 const VkSampleLocationEXT* pSampleLocations;
8845} VkSampleLocationsInfoEXT;
8846
8847typedef struct VkAttachmentSampleLocationsEXT {
8848 uint32_t attachmentIndex;
8849 VkSampleLocationsInfoEXT sampleLocationsInfo;
8850} VkAttachmentSampleLocationsEXT;
8851
8852typedef struct VkSubpassSampleLocationsEXT {
8853 uint32_t subpassIndex;
8854 VkSampleLocationsInfoEXT sampleLocationsInfo;
8855} VkSubpassSampleLocationsEXT;
8856
8857typedef struct VkRenderPassSampleLocationsBeginInfoEXT {
8858 VkStructureType sType;
8859 const void* pNext;
8860 uint32_t attachmentInitialSampleLocationsCount;
8861 const VkAttachmentSampleLocationsEXT* pAttachmentInitialSampleLocations;
8862 uint32_t postSubpassSampleLocationsCount;
8863 const VkSubpassSampleLocationsEXT* pPostSubpassSampleLocations;
8864} VkRenderPassSampleLocationsBeginInfoEXT;
8865
8866typedef struct VkPipelineSampleLocationsStateCreateInfoEXT {
8867 VkStructureType sType;
8868 const void* pNext;
8869 VkBool32 sampleLocationsEnable;
8870 VkSampleLocationsInfoEXT sampleLocationsInfo;
8871} VkPipelineSampleLocationsStateCreateInfoEXT;
8872
8873typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT {
8874 VkStructureType sType;
8875 void* pNext;
8876 VkSampleCountFlags sampleLocationSampleCounts;
8877 VkExtent2D maxSampleLocationGridSize;
8878 float sampleLocationCoordinateRange[2];
8879 uint32_t sampleLocationSubPixelBits;
8880 VkBool32 variableSampleLocations;
8881} VkPhysicalDeviceSampleLocationsPropertiesEXT;
8882
8883typedef struct VkMultisamplePropertiesEXT {
8884 VkStructureType sType;
8885 void* pNext;
8886 VkExtent2D maxSampleLocationGridSize;
8887} VkMultisamplePropertiesEXT;
8888
8889typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEXT)(VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
8890typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT)(VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT* pMultisampleProperties);
8891
8892#ifndef VK_NO_PROTOTYPES
8893VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleLocationsEXT(
8894 VkCommandBuffer commandBuffer,
8895 const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
8896
8897VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMultisamplePropertiesEXT(
8898 VkPhysicalDevice physicalDevice,
8899 VkSampleCountFlagBits samples,
8900 VkMultisamplePropertiesEXT* pMultisampleProperties);
8901#endif
8902
8903
8904#define VK_EXT_blend_operation_advanced 1
8905#define VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION 2
8906#define VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME "VK_EXT_blend_operation_advanced"
8907
8908typedef enum VkBlendOverlapEXT {
8909 VK_BLEND_OVERLAP_UNCORRELATED_EXT = 0,
8910 VK_BLEND_OVERLAP_DISJOINT_EXT = 1,
8911 VK_BLEND_OVERLAP_CONJOINT_EXT = 2,
8912 VK_BLEND_OVERLAP_MAX_ENUM_EXT = 0x7FFFFFFF
8913} VkBlendOverlapEXT;
8914typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
8915 VkStructureType sType;
8916 void* pNext;
8917 VkBool32 advancedBlendCoherentOperations;
8918} VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
8919
8920typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT {
8921 VkStructureType sType;
8922 void* pNext;
8923 uint32_t advancedBlendMaxColorAttachments;
8924 VkBool32 advancedBlendIndependentBlend;
8925 VkBool32 advancedBlendNonPremultipliedSrcColor;
8926 VkBool32 advancedBlendNonPremultipliedDstColor;
8927 VkBool32 advancedBlendCorrelatedOverlap;
8928 VkBool32 advancedBlendAllOperations;
8929} VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT;
8930
8931typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT {
8932 VkStructureType sType;
8933 const void* pNext;
8934 VkBool32 srcPremultiplied;
8935 VkBool32 dstPremultiplied;
8936 VkBlendOverlapEXT blendOverlap;
8937} VkPipelineColorBlendAdvancedStateCreateInfoEXT;
8938
8939
8940
8941#define VK_NV_fragment_coverage_to_color 1
8942#define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION 1
8943#define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME "VK_NV_fragment_coverage_to_color"
8944typedef VkFlags VkPipelineCoverageToColorStateCreateFlagsNV;
8945typedef struct VkPipelineCoverageToColorStateCreateInfoNV {
8946 VkStructureType sType;
8947 const void* pNext;
8948 VkPipelineCoverageToColorStateCreateFlagsNV flags;
8949 VkBool32 coverageToColorEnable;
8950 uint32_t coverageToColorLocation;
8951} VkPipelineCoverageToColorStateCreateInfoNV;
8952
8953
8954
8955#define VK_NV_framebuffer_mixed_samples 1
8956#define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION 1
8957#define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME "VK_NV_framebuffer_mixed_samples"
8958
8959typedef enum VkCoverageModulationModeNV {
8960 VK_COVERAGE_MODULATION_MODE_NONE_NV = 0,
8961 VK_COVERAGE_MODULATION_MODE_RGB_NV = 1,
8962 VK_COVERAGE_MODULATION_MODE_ALPHA_NV = 2,
8963 VK_COVERAGE_MODULATION_MODE_RGBA_NV = 3,
8964 VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV = 0x7FFFFFFF
8965} VkCoverageModulationModeNV;
8966typedef VkFlags VkPipelineCoverageModulationStateCreateFlagsNV;
8967typedef struct VkPipelineCoverageModulationStateCreateInfoNV {
8968 VkStructureType sType;
8969 const void* pNext;
8970 VkPipelineCoverageModulationStateCreateFlagsNV flags;
8971 VkCoverageModulationModeNV coverageModulationMode;
8972 VkBool32 coverageModulationTableEnable;
8973 uint32_t coverageModulationTableCount;
8974 const float* pCoverageModulationTable;
8975} VkPipelineCoverageModulationStateCreateInfoNV;
8976
8977
8978
8979#define VK_NV_fill_rectangle 1
8980#define VK_NV_FILL_RECTANGLE_SPEC_VERSION 1
8981#define VK_NV_FILL_RECTANGLE_EXTENSION_NAME "VK_NV_fill_rectangle"
8982
8983
8984#define VK_NV_shader_sm_builtins 1
8985#define VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION 1
8986#define VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME "VK_NV_shader_sm_builtins"
8987typedef struct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV {
8988 VkStructureType sType;
8989 void* pNext;
8990 uint32_t shaderSMCount;
8991 uint32_t shaderWarpsPerSM;
8992} VkPhysicalDeviceShaderSMBuiltinsPropertiesNV;
8993
8994typedef struct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV {
8995 VkStructureType sType;
8996 void* pNext;
8997 VkBool32 shaderSMBuiltins;
8998} VkPhysicalDeviceShaderSMBuiltinsFeaturesNV;
8999
9000
9001
9002#define VK_EXT_post_depth_coverage 1
9003#define VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION 1
9004#define VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME "VK_EXT_post_depth_coverage"
9005
9006
9007#define VK_EXT_image_drm_format_modifier 1
9008#define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION 1
9009#define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME "VK_EXT_image_drm_format_modifier"
9010typedef struct VkDrmFormatModifierPropertiesEXT {
9011 uint64_t drmFormatModifier;
9012 uint32_t drmFormatModifierPlaneCount;
9013 VkFormatFeatureFlags drmFormatModifierTilingFeatures;
9014} VkDrmFormatModifierPropertiesEXT;
9015
9016typedef struct VkDrmFormatModifierPropertiesListEXT {
9017 VkStructureType sType;
9018 void* pNext;
9019 uint32_t drmFormatModifierCount;
9020 VkDrmFormatModifierPropertiesEXT* pDrmFormatModifierProperties;
9021} VkDrmFormatModifierPropertiesListEXT;
9022
9023typedef struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT {
9024 VkStructureType sType;
9025 const void* pNext;
9026 uint64_t drmFormatModifier;
9027 VkSharingMode sharingMode;
9028 uint32_t queueFamilyIndexCount;
9029 const uint32_t* pQueueFamilyIndices;
9030} VkPhysicalDeviceImageDrmFormatModifierInfoEXT;
9031
9032typedef struct VkImageDrmFormatModifierListCreateInfoEXT {
9033 VkStructureType sType;
9034 const void* pNext;
9035 uint32_t drmFormatModifierCount;
9036 const uint64_t* pDrmFormatModifiers;
9037} VkImageDrmFormatModifierListCreateInfoEXT;
9038
9039typedef struct VkImageDrmFormatModifierExplicitCreateInfoEXT {
9040 VkStructureType sType;
9041 const void* pNext;
9042 uint64_t drmFormatModifier;
9043 uint32_t drmFormatModifierPlaneCount;
9044 const VkSubresourceLayout* pPlaneLayouts;
9045} VkImageDrmFormatModifierExplicitCreateInfoEXT;
9046
9047typedef struct VkImageDrmFormatModifierPropertiesEXT {
9048 VkStructureType sType;
9049 void* pNext;
9050 uint64_t drmFormatModifier;
9051} VkImageDrmFormatModifierPropertiesEXT;
9052
9053typedef VkResult (VKAPI_PTR *PFN_vkGetImageDrmFormatModifierPropertiesEXT)(VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties);
9054
9055#ifndef VK_NO_PROTOTYPES
9056VKAPI_ATTR VkResult VKAPI_CALL vkGetImageDrmFormatModifierPropertiesEXT(
9057 VkDevice device,
9058 VkImage image,
9059 VkImageDrmFormatModifierPropertiesEXT* pProperties);
9060#endif
9061
9062
9063#define VK_EXT_validation_cache 1
9064VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkValidationCacheEXT)
9065#define VK_EXT_VALIDATION_CACHE_SPEC_VERSION 1
9066#define VK_EXT_VALIDATION_CACHE_EXTENSION_NAME "VK_EXT_validation_cache"
9067
9068typedef enum VkValidationCacheHeaderVersionEXT {
9069 VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT = 1,
9070 VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT = 0x7FFFFFFF
9071} VkValidationCacheHeaderVersionEXT;
9072typedef VkFlags VkValidationCacheCreateFlagsEXT;
9073typedef struct VkValidationCacheCreateInfoEXT {
9074 VkStructureType sType;
9075 const void* pNext;
9076 VkValidationCacheCreateFlagsEXT flags;
9077 size_t initialDataSize;
9078 const void* pInitialData;
9079} VkValidationCacheCreateInfoEXT;
9080
9081typedef struct VkShaderModuleValidationCacheCreateInfoEXT {
9082 VkStructureType sType;
9083 const void* pNext;
9084 VkValidationCacheEXT validationCache;
9085} VkShaderModuleValidationCacheCreateInfoEXT;
9086
9087typedef VkResult (VKAPI_PTR *PFN_vkCreateValidationCacheEXT)(VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache);
9088typedef void (VKAPI_PTR *PFN_vkDestroyValidationCacheEXT)(VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator);
9089typedef VkResult (VKAPI_PTR *PFN_vkMergeValidationCachesEXT)(VkDevice device, VkValidationCacheEXT dstCache, uint32_t srcCacheCount, const VkValidationCacheEXT* pSrcCaches);
9090typedef VkResult (VKAPI_PTR *PFN_vkGetValidationCacheDataEXT)(VkDevice device, VkValidationCacheEXT validationCache, size_t* pDataSize, void* pData);
9091
9092#ifndef VK_NO_PROTOTYPES
9093VKAPI_ATTR VkResult VKAPI_CALL vkCreateValidationCacheEXT(
9094 VkDevice device,
9095 const VkValidationCacheCreateInfoEXT* pCreateInfo,
9096 const VkAllocationCallbacks* pAllocator,
9097 VkValidationCacheEXT* pValidationCache);
9098
9099VKAPI_ATTR void VKAPI_CALL vkDestroyValidationCacheEXT(
9100 VkDevice device,
9101 VkValidationCacheEXT validationCache,
9102 const VkAllocationCallbacks* pAllocator);
9103
9104VKAPI_ATTR VkResult VKAPI_CALL vkMergeValidationCachesEXT(
9105 VkDevice device,
9106 VkValidationCacheEXT dstCache,
9107 uint32_t srcCacheCount,
9108 const VkValidationCacheEXT* pSrcCaches);
9109
9110VKAPI_ATTR VkResult VKAPI_CALL vkGetValidationCacheDataEXT(
9111 VkDevice device,
9112 VkValidationCacheEXT validationCache,
9113 size_t* pDataSize,
9114 void* pData);
9115#endif
9116
9117
9118#define VK_EXT_descriptor_indexing 1
9119#define VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION 2
9120#define VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME "VK_EXT_descriptor_indexing"
9121typedef VkDescriptorBindingFlagBits VkDescriptorBindingFlagBitsEXT;
9122
9123typedef VkDescriptorBindingFlags VkDescriptorBindingFlagsEXT;
9124
9125typedef VkDescriptorSetLayoutBindingFlagsCreateInfo VkDescriptorSetLayoutBindingFlagsCreateInfoEXT;
9126
9127typedef VkPhysicalDeviceDescriptorIndexingFeatures VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
9128
9129typedef VkPhysicalDeviceDescriptorIndexingProperties VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
9130
9131typedef VkDescriptorSetVariableDescriptorCountAllocateInfo VkDescriptorSetVariableDescriptorCountAllocateInfoEXT;
9132
9133typedef VkDescriptorSetVariableDescriptorCountLayoutSupport VkDescriptorSetVariableDescriptorCountLayoutSupportEXT;
9134
9135
9136
9137#define VK_EXT_shader_viewport_index_layer 1
9138#define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION 1
9139#define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME "VK_EXT_shader_viewport_index_layer"
9140
9141
9142#define VK_NV_shading_rate_image 1
9143#define VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION 3
9144#define VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME "VK_NV_shading_rate_image"
9145
9146typedef enum VkShadingRatePaletteEntryNV {
9147 VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV = 0,
9148 VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV = 1,
9149 VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV = 2,
9150 VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV = 3,
9151 VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV = 4,
9152 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV = 5,
9153 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV = 6,
9154 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV = 7,
9155 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV = 8,
9156 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV = 9,
9157 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV = 10,
9158 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV = 11,
9159 VK_SHADING_RATE_PALETTE_ENTRY_MAX_ENUM_NV = 0x7FFFFFFF
9160} VkShadingRatePaletteEntryNV;
9161
9162typedef enum VkCoarseSampleOrderTypeNV {
9163 VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV = 0,
9164 VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV = 1,
9165 VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV = 2,
9166 VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV = 3,
9167 VK_COARSE_SAMPLE_ORDER_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
9168} VkCoarseSampleOrderTypeNV;
9169typedef struct VkShadingRatePaletteNV {
9170 uint32_t shadingRatePaletteEntryCount;
9171 const VkShadingRatePaletteEntryNV* pShadingRatePaletteEntries;
9172} VkShadingRatePaletteNV;
9173
9174typedef struct VkPipelineViewportShadingRateImageStateCreateInfoNV {
9175 VkStructureType sType;
9176 const void* pNext;
9177 VkBool32 shadingRateImageEnable;
9178 uint32_t viewportCount;
9179 const VkShadingRatePaletteNV* pShadingRatePalettes;
9180} VkPipelineViewportShadingRateImageStateCreateInfoNV;
9181
9182typedef struct VkPhysicalDeviceShadingRateImageFeaturesNV {
9183 VkStructureType sType;
9184 void* pNext;
9185 VkBool32 shadingRateImage;
9186 VkBool32 shadingRateCoarseSampleOrder;
9187} VkPhysicalDeviceShadingRateImageFeaturesNV;
9188
9189typedef struct VkPhysicalDeviceShadingRateImagePropertiesNV {
9190 VkStructureType sType;
9191 void* pNext;
9192 VkExtent2D shadingRateTexelSize;
9193 uint32_t shadingRatePaletteSize;
9194 uint32_t shadingRateMaxCoarseSamples;
9195} VkPhysicalDeviceShadingRateImagePropertiesNV;
9196
9197typedef struct VkCoarseSampleLocationNV {
9198 uint32_t pixelX;
9199 uint32_t pixelY;
9200 uint32_t sample;
9201} VkCoarseSampleLocationNV;
9202
9203typedef struct VkCoarseSampleOrderCustomNV {
9204 VkShadingRatePaletteEntryNV shadingRate;
9205 uint32_t sampleCount;
9206 uint32_t sampleLocationCount;
9207 const VkCoarseSampleLocationNV* pSampleLocations;
9208} VkCoarseSampleOrderCustomNV;
9209
9210typedef struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV {
9211 VkStructureType sType;
9212 const void* pNext;
9213 VkCoarseSampleOrderTypeNV sampleOrderType;
9214 uint32_t customSampleOrderCount;
9215 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders;
9216} VkPipelineViewportCoarseSampleOrderStateCreateInfoNV;
9217
9218typedef void (VKAPI_PTR *PFN_vkCmdBindShadingRateImageNV)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout);
9219typedef void (VKAPI_PTR *PFN_vkCmdSetViewportShadingRatePaletteNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkShadingRatePaletteNV* pShadingRatePalettes);
9220typedef void (VKAPI_PTR *PFN_vkCmdSetCoarseSampleOrderNV)(VkCommandBuffer commandBuffer, VkCoarseSampleOrderTypeNV sampleOrderType, uint32_t customSampleOrderCount, const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
9221
9222#ifndef VK_NO_PROTOTYPES
9223VKAPI_ATTR void VKAPI_CALL vkCmdBindShadingRateImageNV(
9224 VkCommandBuffer commandBuffer,
9225 VkImageView imageView,
9226 VkImageLayout imageLayout);
9227
9228VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportShadingRatePaletteNV(
9229 VkCommandBuffer commandBuffer,
9230 uint32_t firstViewport,
9231 uint32_t viewportCount,
9232 const VkShadingRatePaletteNV* pShadingRatePalettes);
9233
9234VKAPI_ATTR void VKAPI_CALL vkCmdSetCoarseSampleOrderNV(
9235 VkCommandBuffer commandBuffer,
9236 VkCoarseSampleOrderTypeNV sampleOrderType,
9237 uint32_t customSampleOrderCount,
9238 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
9239#endif
9240
9241
9242#define VK_NV_ray_tracing 1
9243VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR)
9244typedef VkAccelerationStructureKHR VkAccelerationStructureNV;
9245
9246#define VK_NV_RAY_TRACING_SPEC_VERSION 3
9247#define VK_NV_RAY_TRACING_EXTENSION_NAME "VK_NV_ray_tracing"
9248#define VK_SHADER_UNUSED_KHR (~0U)
9249#define VK_SHADER_UNUSED_NV VK_SHADER_UNUSED_KHR
9250
9251typedef enum VkRayTracingShaderGroupTypeKHR {
9252 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR = 0,
9253 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR = 1,
9254 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR = 2,
9255 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR,
9256 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR,
9257 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR,
9258 VK_RAY_TRACING_SHADER_GROUP_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
9259} VkRayTracingShaderGroupTypeKHR;
9260typedef VkRayTracingShaderGroupTypeKHR VkRayTracingShaderGroupTypeNV;
9261
9262
9263typedef enum VkGeometryTypeKHR {
9264 VK_GEOMETRY_TYPE_TRIANGLES_KHR = 0,
9265 VK_GEOMETRY_TYPE_AABBS_KHR = 1,
9266 VK_GEOMETRY_TYPE_INSTANCES_KHR = 1000150000,
9267 VK_GEOMETRY_TYPE_TRIANGLES_NV = VK_GEOMETRY_TYPE_TRIANGLES_KHR,
9268 VK_GEOMETRY_TYPE_AABBS_NV = VK_GEOMETRY_TYPE_AABBS_KHR,
9269 VK_GEOMETRY_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
9270} VkGeometryTypeKHR;
9271typedef VkGeometryTypeKHR VkGeometryTypeNV;
9272
9273
9274typedef enum VkAccelerationStructureTypeKHR {
9275 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR = 0,
9276 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR = 1,
9277 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR,
9278 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR,
9279 VK_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
9280} VkAccelerationStructureTypeKHR;
9281typedef VkAccelerationStructureTypeKHR VkAccelerationStructureTypeNV;
9282
9283
9284typedef enum VkCopyAccelerationStructureModeKHR {
9285 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR = 0,
9286 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR = 1,
9287 VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR = 2,
9288 VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR = 3,
9289 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR,
9290 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR,
9291 VK_COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
9292} VkCopyAccelerationStructureModeKHR;
9293typedef VkCopyAccelerationStructureModeKHR VkCopyAccelerationStructureModeNV;
9294
9295
9296typedef enum VkAccelerationStructureMemoryRequirementsTypeKHR {
9297 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_KHR = 0,
9298 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_KHR = 1,
9299 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_KHR = 2,
9300 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV = VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_KHR,
9301 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV = VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_KHR,
9302 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV = VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_KHR,
9303 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
9304} VkAccelerationStructureMemoryRequirementsTypeKHR;
9305typedef VkAccelerationStructureMemoryRequirementsTypeKHR VkAccelerationStructureMemoryRequirementsTypeNV;
9306
9307
9308typedef enum VkGeometryFlagBitsKHR {
9309 VK_GEOMETRY_OPAQUE_BIT_KHR = 0x00000001,
9310 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR = 0x00000002,
9311 VK_GEOMETRY_OPAQUE_BIT_NV = VK_GEOMETRY_OPAQUE_BIT_KHR,
9312 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV = VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR,
9313 VK_GEOMETRY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
9314} VkGeometryFlagBitsKHR;
9315typedef VkFlags VkGeometryFlagsKHR;
9316typedef VkGeometryFlagsKHR VkGeometryFlagsNV;
9317
9318typedef VkGeometryFlagBitsKHR VkGeometryFlagBitsNV;
9319
9320
9321typedef enum VkGeometryInstanceFlagBitsKHR {
9322 VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = 0x00000001,
9323 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = 0x00000002,
9324 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 0x00000004,
9325 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 0x00000008,
9326 VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR,
9327 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR,
9328 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR,
9329 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR,
9330 VK_GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
9331} VkGeometryInstanceFlagBitsKHR;
9332typedef VkFlags VkGeometryInstanceFlagsKHR;
9333typedef VkGeometryInstanceFlagsKHR VkGeometryInstanceFlagsNV;
9334
9335typedef VkGeometryInstanceFlagBitsKHR VkGeometryInstanceFlagBitsNV;
9336
9337
9338typedef enum VkBuildAccelerationStructureFlagBitsKHR {
9339 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR = 0x00000001,
9340 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR = 0x00000002,
9341 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR = 0x00000004,
9342 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR = 0x00000008,
9343 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR = 0x00000010,
9344 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR,
9345 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR,
9346 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR,
9347 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR,
9348 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR,
9349 VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
9350} VkBuildAccelerationStructureFlagBitsKHR;
9351typedef VkFlags VkBuildAccelerationStructureFlagsKHR;
9352typedef VkBuildAccelerationStructureFlagsKHR VkBuildAccelerationStructureFlagsNV;
9353
9354typedef VkBuildAccelerationStructureFlagBitsKHR VkBuildAccelerationStructureFlagBitsNV;
9355
9356typedef struct VkRayTracingShaderGroupCreateInfoNV {
9357 VkStructureType sType;
9358 const void* pNext;
9359 VkRayTracingShaderGroupTypeKHR type;
9360 uint32_t generalShader;
9361 uint32_t closestHitShader;
9362 uint32_t anyHitShader;
9363 uint32_t intersectionShader;
9364} VkRayTracingShaderGroupCreateInfoNV;
9365
9366typedef struct VkRayTracingPipelineCreateInfoNV {
9367 VkStructureType sType;
9368 const void* pNext;
9369 VkPipelineCreateFlags flags;
9370 uint32_t stageCount;
9371 const VkPipelineShaderStageCreateInfo* pStages;
9372 uint32_t groupCount;
9373 const VkRayTracingShaderGroupCreateInfoNV* pGroups;
9374 uint32_t maxRecursionDepth;
9375 VkPipelineLayout layout;
9376 VkPipeline basePipelineHandle;
9377 int32_t basePipelineIndex;
9378} VkRayTracingPipelineCreateInfoNV;
9379
9380typedef struct VkGeometryTrianglesNV {
9381 VkStructureType sType;
9382 const void* pNext;
9383 VkBuffer vertexData;
9384 VkDeviceSize vertexOffset;
9385 uint32_t vertexCount;
9386 VkDeviceSize vertexStride;
9387 VkFormat vertexFormat;
9388 VkBuffer indexData;
9389 VkDeviceSize indexOffset;
9390 uint32_t indexCount;
9391 VkIndexType indexType;
9392 VkBuffer transformData;
9393 VkDeviceSize transformOffset;
9394} VkGeometryTrianglesNV;
9395
9396typedef struct VkGeometryAABBNV {
9397 VkStructureType sType;
9398 const void* pNext;
9399 VkBuffer aabbData;
9400 uint32_t numAABBs;
9401 uint32_t stride;
9402 VkDeviceSize offset;
9403} VkGeometryAABBNV;
9404
9405typedef struct VkGeometryDataNV {
9406 VkGeometryTrianglesNV triangles;
9407 VkGeometryAABBNV aabbs;
9408} VkGeometryDataNV;
9409
9410typedef struct VkGeometryNV {
9411 VkStructureType sType;
9412 const void* pNext;
9413 VkGeometryTypeKHR geometryType;
9414 VkGeometryDataNV geometry;
9415 VkGeometryFlagsKHR flags;
9416} VkGeometryNV;
9417
9418typedef struct VkAccelerationStructureInfoNV {
9419 VkStructureType sType;
9420 const void* pNext;
9421 VkAccelerationStructureTypeNV type;
9422 VkBuildAccelerationStructureFlagsNV flags;
9423 uint32_t instanceCount;
9424 uint32_t geometryCount;
9425 const VkGeometryNV* pGeometries;
9426} VkAccelerationStructureInfoNV;
9427
9428typedef struct VkAccelerationStructureCreateInfoNV {
9429 VkStructureType sType;
9430 const void* pNext;
9431 VkDeviceSize compactedSize;
9432 VkAccelerationStructureInfoNV info;
9433} VkAccelerationStructureCreateInfoNV;
9434
9435typedef struct VkBindAccelerationStructureMemoryInfoKHR {
9436 VkStructureType sType;
9437 const void* pNext;
9438 VkAccelerationStructureKHR accelerationStructure;
9439 VkDeviceMemory memory;
9440 VkDeviceSize memoryOffset;
9441 uint32_t deviceIndexCount;
9442 const uint32_t* pDeviceIndices;
9443} VkBindAccelerationStructureMemoryInfoKHR;
9444
9445typedef VkBindAccelerationStructureMemoryInfoKHR VkBindAccelerationStructureMemoryInfoNV;
9446
9447typedef struct VkWriteDescriptorSetAccelerationStructureKHR {
9448 VkStructureType sType;
9449 const void* pNext;
9450 uint32_t accelerationStructureCount;
9451 const VkAccelerationStructureKHR* pAccelerationStructures;
9452} VkWriteDescriptorSetAccelerationStructureKHR;
9453
9454typedef VkWriteDescriptorSetAccelerationStructureKHR VkWriteDescriptorSetAccelerationStructureNV;
9455
9456typedef struct VkAccelerationStructureMemoryRequirementsInfoNV {
9457 VkStructureType sType;
9458 const void* pNext;
9459 VkAccelerationStructureMemoryRequirementsTypeNV type;
9460 VkAccelerationStructureNV accelerationStructure;
9461} VkAccelerationStructureMemoryRequirementsInfoNV;
9462
9463typedef struct VkPhysicalDeviceRayTracingPropertiesNV {
9464 VkStructureType sType;
9465 void* pNext;
9466 uint32_t shaderGroupHandleSize;
9467 uint32_t maxRecursionDepth;
9468 uint32_t maxShaderGroupStride;
9469 uint32_t shaderGroupBaseAlignment;
9470 uint64_t maxGeometryCount;
9471 uint64_t maxInstanceCount;
9472 uint64_t maxTriangleCount;
9473 uint32_t maxDescriptorSetAccelerationStructures;
9474} VkPhysicalDeviceRayTracingPropertiesNV;
9475
9476typedef struct VkTransformMatrixKHR {
9477 float matrix[3][4];
9478} VkTransformMatrixKHR;
9479
9480typedef VkTransformMatrixKHR VkTransformMatrixNV;
9481
9482typedef struct VkAabbPositionsKHR {
9483 float minX;
9484 float minY;
9485 float minZ;
9486 float maxX;
9487 float maxY;
9488 float maxZ;
9489} VkAabbPositionsKHR;
9490
9491typedef VkAabbPositionsKHR VkAabbPositionsNV;
9492
9493typedef struct VkAccelerationStructureInstanceKHR {
9494 VkTransformMatrixKHR transform;
9495 uint32_t instanceCustomIndex:24;
9496 uint32_t mask:8;
9497 uint32_t instanceShaderBindingTableRecordOffset:24;
9498 VkGeometryInstanceFlagsKHR flags:8;
9499 uint64_t accelerationStructureReference;
9500} VkAccelerationStructureInstanceKHR;
9501
9502typedef VkAccelerationStructureInstanceKHR VkAccelerationStructureInstanceNV;
9503
9504typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureNV)(VkDevice device, const VkAccelerationStructureCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureNV* pAccelerationStructure);
9505typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureKHR)(VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator);
9506typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureNV)(VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator);
9507typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureMemoryRequirementsNV)(VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements);
9508typedef VkResult (VKAPI_PTR *PFN_vkBindAccelerationStructureMemoryKHR)(VkDevice device, uint32_t bindInfoCount, const VkBindAccelerationStructureMemoryInfoKHR* pBindInfos);
9509typedef VkResult (VKAPI_PTR *PFN_vkBindAccelerationStructureMemoryNV)(VkDevice device, uint32_t bindInfoCount, const VkBindAccelerationStructureMemoryInfoKHR* pBindInfos);
9510typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructureNV)(VkCommandBuffer commandBuffer, const VkAccelerationStructureInfoNV* pInfo, VkBuffer instanceData, VkDeviceSize instanceOffset, VkBool32 update, VkAccelerationStructureKHR dst, VkAccelerationStructureKHR src, VkBuffer scratch, VkDeviceSize scratchOffset);
9511typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureNV)(VkCommandBuffer commandBuffer, VkAccelerationStructureKHR dst, VkAccelerationStructureKHR src, VkCopyAccelerationStructureModeKHR mode);
9512typedef 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);
9513typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesNV)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoNV* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
9514typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData);
9515typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesNV)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData);
9516typedef VkResult (VKAPI_PTR *PFN_vkGetAccelerationStructureHandleNV)(VkDevice device, VkAccelerationStructureKHR accelerationStructure, size_t dataSize, void* pData);
9517typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesKHR)(VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery);
9518typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesNV)(VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery);
9519typedef VkResult (VKAPI_PTR *PFN_vkCompileDeferredNV)(VkDevice device, VkPipeline pipeline, uint32_t shader);
9520
9521#ifndef VK_NO_PROTOTYPES
9522VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureNV(
9523 VkDevice device,
9524 const VkAccelerationStructureCreateInfoNV* pCreateInfo,
9525 const VkAllocationCallbacks* pAllocator,
9526 VkAccelerationStructureNV* pAccelerationStructure);
9527
9528VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureKHR(
9529 VkDevice device,
9530 VkAccelerationStructureKHR accelerationStructure,
9531 const VkAllocationCallbacks* pAllocator);
9532
9533VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureNV(
9534 VkDevice device,
9535 VkAccelerationStructureKHR accelerationStructure,
9536 const VkAllocationCallbacks* pAllocator);
9537
9538VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureMemoryRequirementsNV(
9539 VkDevice device,
9540 const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo,
9541 VkMemoryRequirements2KHR* pMemoryRequirements);
9542
9543VKAPI_ATTR VkResult VKAPI_CALL vkBindAccelerationStructureMemoryKHR(
9544 VkDevice device,
9545 uint32_t bindInfoCount,
9546 const VkBindAccelerationStructureMemoryInfoKHR* pBindInfos);
9547
9548VKAPI_ATTR VkResult VKAPI_CALL vkBindAccelerationStructureMemoryNV(
9549 VkDevice device,
9550 uint32_t bindInfoCount,
9551 const VkBindAccelerationStructureMemoryInfoKHR* pBindInfos);
9552
9553VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructureNV(
9554 VkCommandBuffer commandBuffer,
9555 const VkAccelerationStructureInfoNV* pInfo,
9556 VkBuffer instanceData,
9557 VkDeviceSize instanceOffset,
9558 VkBool32 update,
9559 VkAccelerationStructureKHR dst,
9560 VkAccelerationStructureKHR src,
9561 VkBuffer scratch,
9562 VkDeviceSize scratchOffset);
9563
9564VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureNV(
9565 VkCommandBuffer commandBuffer,
9566 VkAccelerationStructureKHR dst,
9567 VkAccelerationStructureKHR src,
9568 VkCopyAccelerationStructureModeKHR mode);
9569
9570VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysNV(
9571 VkCommandBuffer commandBuffer,
9572 VkBuffer raygenShaderBindingTableBuffer,
9573 VkDeviceSize raygenShaderBindingOffset,
9574 VkBuffer missShaderBindingTableBuffer,
9575 VkDeviceSize missShaderBindingOffset,
9576 VkDeviceSize missShaderBindingStride,
9577 VkBuffer hitShaderBindingTableBuffer,
9578 VkDeviceSize hitShaderBindingOffset,
9579 VkDeviceSize hitShaderBindingStride,
9580 VkBuffer callableShaderBindingTableBuffer,
9581 VkDeviceSize callableShaderBindingOffset,
9582 VkDeviceSize callableShaderBindingStride,
9583 uint32_t width,
9584 uint32_t height,
9585 uint32_t depth);
9586
9587VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesNV(
9588 VkDevice device,
9589 VkPipelineCache pipelineCache,
9590 uint32_t createInfoCount,
9591 const VkRayTracingPipelineCreateInfoNV* pCreateInfos,
9592 const VkAllocationCallbacks* pAllocator,
9593 VkPipeline* pPipelines);
9594
9595VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesKHR(
9596 VkDevice device,
9597 VkPipeline pipeline,
9598 uint32_t firstGroup,
9599 uint32_t groupCount,
9600 size_t dataSize,
9601 void* pData);
9602
9603VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesNV(
9604 VkDevice device,
9605 VkPipeline pipeline,
9606 uint32_t firstGroup,
9607 uint32_t groupCount,
9608 size_t dataSize,
9609 void* pData);
9610
9611VKAPI_ATTR VkResult VKAPI_CALL vkGetAccelerationStructureHandleNV(
9612 VkDevice device,
9613 VkAccelerationStructureKHR accelerationStructure,
9614 size_t dataSize,
9615 void* pData);
9616
9617VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesKHR(
9618 VkCommandBuffer commandBuffer,
9619 uint32_t accelerationStructureCount,
9620 const VkAccelerationStructureKHR* pAccelerationStructures,
9621 VkQueryType queryType,
9622 VkQueryPool queryPool,
9623 uint32_t firstQuery);
9624
9625VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesNV(
9626 VkCommandBuffer commandBuffer,
9627 uint32_t accelerationStructureCount,
9628 const VkAccelerationStructureKHR* pAccelerationStructures,
9629 VkQueryType queryType,
9630 VkQueryPool queryPool,
9631 uint32_t firstQuery);
9632
9633VKAPI_ATTR VkResult VKAPI_CALL vkCompileDeferredNV(
9634 VkDevice device,
9635 VkPipeline pipeline,
9636 uint32_t shader);
9637#endif
9638
9639
9640#define VK_NV_representative_fragment_test 1
9641#define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION 2
9642#define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME "VK_NV_representative_fragment_test"
9643typedef struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV {
9644 VkStructureType sType;
9645 void* pNext;
9646 VkBool32 representativeFragmentTest;
9647} VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV;
9648
9649typedef struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV {
9650 VkStructureType sType;
9651 const void* pNext;
9652 VkBool32 representativeFragmentTestEnable;
9653} VkPipelineRepresentativeFragmentTestStateCreateInfoNV;
9654
9655
9656
9657#define VK_EXT_filter_cubic 1
9658#define VK_EXT_FILTER_CUBIC_SPEC_VERSION 3
9659#define VK_EXT_FILTER_CUBIC_EXTENSION_NAME "VK_EXT_filter_cubic"
9660typedef struct VkPhysicalDeviceImageViewImageFormatInfoEXT {
9661 VkStructureType sType;
9662 void* pNext;
9663 VkImageViewType imageViewType;
9664} VkPhysicalDeviceImageViewImageFormatInfoEXT;
9665
9666typedef struct VkFilterCubicImageViewImageFormatPropertiesEXT {
9667 VkStructureType sType;
9668 void* pNext;
9669 VkBool32 filterCubic;
9670 VkBool32 filterCubicMinmax;
9671} VkFilterCubicImageViewImageFormatPropertiesEXT;
9672
9673
9674
9675#define VK_QCOM_render_pass_shader_resolve 1
9676#define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_SPEC_VERSION 4
9677#define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_EXTENSION_NAME "VK_QCOM_render_pass_shader_resolve"
9678
9679
9680#define VK_EXT_global_priority 1
9681#define VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION 2
9682#define VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME "VK_EXT_global_priority"
9683
9684typedef enum VkQueueGlobalPriorityEXT {
9685 VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT = 128,
9686 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT = 256,
9687 VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT = 512,
9688 VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT = 1024,
9689 VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_EXT = 0x7FFFFFFF
9690} VkQueueGlobalPriorityEXT;
9691typedef struct VkDeviceQueueGlobalPriorityCreateInfoEXT {
9692 VkStructureType sType;
9693 const void* pNext;
9694 VkQueueGlobalPriorityEXT globalPriority;
9695} VkDeviceQueueGlobalPriorityCreateInfoEXT;
9696
9697
9698
9699#define VK_EXT_external_memory_host 1
9700#define VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION 1
9701#define VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME "VK_EXT_external_memory_host"
9702typedef struct VkImportMemoryHostPointerInfoEXT {
9703 VkStructureType sType;
9704 const void* pNext;
9705 VkExternalMemoryHandleTypeFlagBits handleType;
9706 void* pHostPointer;
9707} VkImportMemoryHostPointerInfoEXT;
9708
9709typedef struct VkMemoryHostPointerPropertiesEXT {
9710 VkStructureType sType;
9711 void* pNext;
9712 uint32_t memoryTypeBits;
9713} VkMemoryHostPointerPropertiesEXT;
9714
9715typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
9716 VkStructureType sType;
9717 void* pNext;
9718 VkDeviceSize minImportedHostPointerAlignment;
9719} VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
9720
9721typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryHostPointerPropertiesEXT)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
9722
9723#ifndef VK_NO_PROTOTYPES
9724VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryHostPointerPropertiesEXT(
9725 VkDevice device,
9726 VkExternalMemoryHandleTypeFlagBits handleType,
9727 const void* pHostPointer,
9728 VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
9729#endif
9730
9731
9732#define VK_AMD_buffer_marker 1
9733#define VK_AMD_BUFFER_MARKER_SPEC_VERSION 1
9734#define VK_AMD_BUFFER_MARKER_EXTENSION_NAME "VK_AMD_buffer_marker"
9735typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarkerAMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker);
9736
9737#ifndef VK_NO_PROTOTYPES
9738VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarkerAMD(
9739 VkCommandBuffer commandBuffer,
9740 VkPipelineStageFlagBits pipelineStage,
9741 VkBuffer dstBuffer,
9742 VkDeviceSize dstOffset,
9743 uint32_t marker);
9744#endif
9745
9746
9747#define VK_AMD_pipeline_compiler_control 1
9748#define VK_AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION 1
9749#define VK_AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME "VK_AMD_pipeline_compiler_control"
9750
9751typedef enum VkPipelineCompilerControlFlagBitsAMD {
9752 VK_PIPELINE_COMPILER_CONTROL_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF
9753} VkPipelineCompilerControlFlagBitsAMD;
9754typedef VkFlags VkPipelineCompilerControlFlagsAMD;
9755typedef struct VkPipelineCompilerControlCreateInfoAMD {
9756 VkStructureType sType;
9757 const void* pNext;
9758 VkPipelineCompilerControlFlagsAMD compilerControlFlags;
9759} VkPipelineCompilerControlCreateInfoAMD;
9760
9761
9762
9763#define VK_EXT_calibrated_timestamps 1
9764#define VK_EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION 1
9765#define VK_EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME "VK_EXT_calibrated_timestamps"
9766
9767typedef enum VkTimeDomainEXT {
9768 VK_TIME_DOMAIN_DEVICE_EXT = 0,
9769 VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT = 1,
9770 VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT = 2,
9771 VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT = 3,
9772 VK_TIME_DOMAIN_MAX_ENUM_EXT = 0x7FFFFFFF
9773} VkTimeDomainEXT;
9774typedef struct VkCalibratedTimestampInfoEXT {
9775 VkStructureType sType;
9776 const void* pNext;
9777 VkTimeDomainEXT timeDomain;
9778} VkCalibratedTimestampInfoEXT;
9779
9780typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT)(VkPhysicalDevice physicalDevice, uint32_t* pTimeDomainCount, VkTimeDomainEXT* pTimeDomains);
9781typedef VkResult (VKAPI_PTR *PFN_vkGetCalibratedTimestampsEXT)(VkDevice device, uint32_t timestampCount, const VkCalibratedTimestampInfoEXT* pTimestampInfos, uint64_t* pTimestamps, uint64_t* pMaxDeviation);
9782
9783#ifndef VK_NO_PROTOTYPES
9784VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(
9785 VkPhysicalDevice physicalDevice,
9786 uint32_t* pTimeDomainCount,
9787 VkTimeDomainEXT* pTimeDomains);
9788
9789VKAPI_ATTR VkResult VKAPI_CALL vkGetCalibratedTimestampsEXT(
9790 VkDevice device,
9791 uint32_t timestampCount,
9792 const VkCalibratedTimestampInfoEXT* pTimestampInfos,
9793 uint64_t* pTimestamps,
9794 uint64_t* pMaxDeviation);
9795#endif
9796
9797
9798#define VK_AMD_shader_core_properties 1
9799#define VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION 2
9800#define VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_AMD_shader_core_properties"
9801typedef struct VkPhysicalDeviceShaderCorePropertiesAMD {
9802 VkStructureType sType;
9803 void* pNext;
9804 uint32_t shaderEngineCount;
9805 uint32_t shaderArraysPerEngineCount;
9806 uint32_t computeUnitsPerShaderArray;
9807 uint32_t simdPerComputeUnit;
9808 uint32_t wavefrontsPerSimd;
9809 uint32_t wavefrontSize;
9810 uint32_t sgprsPerSimd;
9811 uint32_t minSgprAllocation;
9812 uint32_t maxSgprAllocation;
9813 uint32_t sgprAllocationGranularity;
9814 uint32_t vgprsPerSimd;
9815 uint32_t minVgprAllocation;
9816 uint32_t maxVgprAllocation;
9817 uint32_t vgprAllocationGranularity;
9818} VkPhysicalDeviceShaderCorePropertiesAMD;
9819
9820
9821
9822#define VK_AMD_memory_overallocation_behavior 1
9823#define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION 1
9824#define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME "VK_AMD_memory_overallocation_behavior"
9825
9826typedef enum VkMemoryOverallocationBehaviorAMD {
9827 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD = 0,
9828 VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD = 1,
9829 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD = 2,
9830 VK_MEMORY_OVERALLOCATION_BEHAVIOR_MAX_ENUM_AMD = 0x7FFFFFFF
9831} VkMemoryOverallocationBehaviorAMD;
9832typedef struct VkDeviceMemoryOverallocationCreateInfoAMD {
9833 VkStructureType sType;
9834 const void* pNext;
9835 VkMemoryOverallocationBehaviorAMD overallocationBehavior;
9836} VkDeviceMemoryOverallocationCreateInfoAMD;
9837
9838
9839
9840#define VK_EXT_vertex_attribute_divisor 1
9841#define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 3
9842#define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_EXT_vertex_attribute_divisor"
9843typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
9844 VkStructureType sType;
9845 void* pNext;
9846 uint32_t maxVertexAttribDivisor;
9847} VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
9848
9849typedef struct VkVertexInputBindingDivisorDescriptionEXT {
9850 uint32_t binding;
9851 uint32_t divisor;
9852} VkVertexInputBindingDivisorDescriptionEXT;
9853
9854typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT {
9855 VkStructureType sType;
9856 const void* pNext;
9857 uint32_t vertexBindingDivisorCount;
9858 const VkVertexInputBindingDivisorDescriptionEXT* pVertexBindingDivisors;
9859} VkPipelineVertexInputDivisorStateCreateInfoEXT;
9860
9861typedef struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT {
9862 VkStructureType sType;
9863 void* pNext;
9864 VkBool32 vertexAttributeInstanceRateDivisor;
9865 VkBool32 vertexAttributeInstanceRateZeroDivisor;
9866} VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT;
9867
9868
9869
9870#define VK_EXT_pipeline_creation_feedback 1
9871#define VK_EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION 1
9872#define VK_EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME "VK_EXT_pipeline_creation_feedback"
9873
9874typedef enum VkPipelineCreationFeedbackFlagBitsEXT {
9875 VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = 0x00000001,
9876 VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = 0x00000002,
9877 VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = 0x00000004,
9878 VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
9879} VkPipelineCreationFeedbackFlagBitsEXT;
9880typedef VkFlags VkPipelineCreationFeedbackFlagsEXT;
9881typedef struct VkPipelineCreationFeedbackEXT {
9882 VkPipelineCreationFeedbackFlagsEXT flags;
9883 uint64_t duration;
9884} VkPipelineCreationFeedbackEXT;
9885
9886typedef struct VkPipelineCreationFeedbackCreateInfoEXT {
9887 VkStructureType sType;
9888 const void* pNext;
9889 VkPipelineCreationFeedbackEXT* pPipelineCreationFeedback;
9890 uint32_t pipelineStageCreationFeedbackCount;
9891 VkPipelineCreationFeedbackEXT* pPipelineStageCreationFeedbacks;
9892} VkPipelineCreationFeedbackCreateInfoEXT;
9893
9894
9895
9896#define VK_NV_shader_subgroup_partitioned 1
9897#define VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION 1
9898#define VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME "VK_NV_shader_subgroup_partitioned"
9899
9900
9901#define VK_NV_compute_shader_derivatives 1
9902#define VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION 1
9903#define VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME "VK_NV_compute_shader_derivatives"
9904typedef struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV {
9905 VkStructureType sType;
9906 void* pNext;
9907 VkBool32 computeDerivativeGroupQuads;
9908 VkBool32 computeDerivativeGroupLinear;
9909} VkPhysicalDeviceComputeShaderDerivativesFeaturesNV;
9910
9911
9912
9913#define VK_NV_mesh_shader 1
9914#define VK_NV_MESH_SHADER_SPEC_VERSION 1
9915#define VK_NV_MESH_SHADER_EXTENSION_NAME "VK_NV_mesh_shader"
9916typedef struct VkPhysicalDeviceMeshShaderFeaturesNV {
9917 VkStructureType sType;
9918 void* pNext;
9919 VkBool32 taskShader;
9920 VkBool32 meshShader;
9921} VkPhysicalDeviceMeshShaderFeaturesNV;
9922
9923typedef struct VkPhysicalDeviceMeshShaderPropertiesNV {
9924 VkStructureType sType;
9925 void* pNext;
9926 uint32_t maxDrawMeshTasksCount;
9927 uint32_t maxTaskWorkGroupInvocations;
9928 uint32_t maxTaskWorkGroupSize[3];
9929 uint32_t maxTaskTotalMemorySize;
9930 uint32_t maxTaskOutputCount;
9931 uint32_t maxMeshWorkGroupInvocations;
9932 uint32_t maxMeshWorkGroupSize[3];
9933 uint32_t maxMeshTotalMemorySize;
9934 uint32_t maxMeshOutputVertices;
9935 uint32_t maxMeshOutputPrimitives;
9936 uint32_t maxMeshMultiviewViewCount;
9937 uint32_t meshOutputPerVertexGranularity;
9938 uint32_t meshOutputPerPrimitiveGranularity;
9939} VkPhysicalDeviceMeshShaderPropertiesNV;
9940
9941typedef struct VkDrawMeshTasksIndirectCommandNV {
9942 uint32_t taskCount;
9943 uint32_t firstTask;
9944} VkDrawMeshTasksIndirectCommandNV;
9945
9946typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksNV)(VkCommandBuffer commandBuffer, uint32_t taskCount, uint32_t firstTask);
9947typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
9948typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectCountNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
9949
9950#ifndef VK_NO_PROTOTYPES
9951VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksNV(
9952 VkCommandBuffer commandBuffer,
9953 uint32_t taskCount,
9954 uint32_t firstTask);
9955
9956VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectNV(
9957 VkCommandBuffer commandBuffer,
9958 VkBuffer buffer,
9959 VkDeviceSize offset,
9960 uint32_t drawCount,
9961 uint32_t stride);
9962
9963VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectCountNV(
9964 VkCommandBuffer commandBuffer,
9965 VkBuffer buffer,
9966 VkDeviceSize offset,
9967 VkBuffer countBuffer,
9968 VkDeviceSize countBufferOffset,
9969 uint32_t maxDrawCount,
9970 uint32_t stride);
9971#endif
9972
9973
9974#define VK_NV_fragment_shader_barycentric 1
9975#define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1
9976#define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_NV_fragment_shader_barycentric"
9977typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV {
9978 VkStructureType sType;
9979 void* pNext;
9980 VkBool32 fragmentShaderBarycentric;
9981} VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV;
9982
9983
9984
9985#define VK_NV_shader_image_footprint 1
9986#define VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION 2
9987#define VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME "VK_NV_shader_image_footprint"
9988typedef struct VkPhysicalDeviceShaderImageFootprintFeaturesNV {
9989 VkStructureType sType;
9990 void* pNext;
9991 VkBool32 imageFootprint;
9992} VkPhysicalDeviceShaderImageFootprintFeaturesNV;
9993
9994
9995
9996#define VK_NV_scissor_exclusive 1
9997#define VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION 1
9998#define VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME "VK_NV_scissor_exclusive"
9999typedef struct VkPipelineViewportExclusiveScissorStateCreateInfoNV {
10000 VkStructureType sType;
10001 const void* pNext;
10002 uint32_t exclusiveScissorCount;
10003 const VkRect2D* pExclusiveScissors;
10004} VkPipelineViewportExclusiveScissorStateCreateInfoNV;
10005
10006typedef struct VkPhysicalDeviceExclusiveScissorFeaturesNV {
10007 VkStructureType sType;
10008 void* pNext;
10009 VkBool32 exclusiveScissor;
10010} VkPhysicalDeviceExclusiveScissorFeaturesNV;
10011
10012typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorNV)(VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const VkRect2D* pExclusiveScissors);
10013
10014#ifndef VK_NO_PROTOTYPES
10015VKAPI_ATTR void VKAPI_CALL vkCmdSetExclusiveScissorNV(
10016 VkCommandBuffer commandBuffer,
10017 uint32_t firstExclusiveScissor,
10018 uint32_t exclusiveScissorCount,
10019 const VkRect2D* pExclusiveScissors);
10020#endif
10021
10022
10023#define VK_NV_device_diagnostic_checkpoints 1
10024#define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION 2
10025#define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME "VK_NV_device_diagnostic_checkpoints"
10026typedef struct VkQueueFamilyCheckpointPropertiesNV {
10027 VkStructureType sType;
10028 void* pNext;
10029 VkPipelineStageFlags checkpointExecutionStageMask;
10030} VkQueueFamilyCheckpointPropertiesNV;
10031
10032typedef struct VkCheckpointDataNV {
10033 VkStructureType sType;
10034 void* pNext;
10035 VkPipelineStageFlagBits stage;
10036 void* pCheckpointMarker;
10037} VkCheckpointDataNV;
10038
10039typedef void (VKAPI_PTR *PFN_vkCmdSetCheckpointNV)(VkCommandBuffer commandBuffer, const void* pCheckpointMarker);
10040typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointDataNV)(VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData);
10041
10042#ifndef VK_NO_PROTOTYPES
10043VKAPI_ATTR void VKAPI_CALL vkCmdSetCheckpointNV(
10044 VkCommandBuffer commandBuffer,
10045 const void* pCheckpointMarker);
10046
10047VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointDataNV(
10048 VkQueue queue,
10049 uint32_t* pCheckpointDataCount,
10050 VkCheckpointDataNV* pCheckpointData);
10051#endif
10052
10053
10054#define VK_INTEL_shader_integer_functions2 1
10055#define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION 1
10056#define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME "VK_INTEL_shader_integer_functions2"
10057typedef struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
10058 VkStructureType sType;
10059 void* pNext;
10060 VkBool32 shaderIntegerFunctions2;
10061} VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL;
10062
10063
10064
10065#define VK_INTEL_performance_query 1
10066VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPerformanceConfigurationINTEL)
10067#define VK_INTEL_PERFORMANCE_QUERY_SPEC_VERSION 2
10068#define VK_INTEL_PERFORMANCE_QUERY_EXTENSION_NAME "VK_INTEL_performance_query"
10069
10070typedef enum VkPerformanceConfigurationTypeINTEL {
10071 VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL = 0,
10072 VK_PERFORMANCE_CONFIGURATION_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
10073} VkPerformanceConfigurationTypeINTEL;
10074
10075typedef enum VkQueryPoolSamplingModeINTEL {
10076 VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL = 0,
10077 VK_QUERY_POOL_SAMPLING_MODE_MAX_ENUM_INTEL = 0x7FFFFFFF
10078} VkQueryPoolSamplingModeINTEL;
10079
10080typedef enum VkPerformanceOverrideTypeINTEL {
10081 VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL = 0,
10082 VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL = 1,
10083 VK_PERFORMANCE_OVERRIDE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
10084} VkPerformanceOverrideTypeINTEL;
10085
10086typedef enum VkPerformanceParameterTypeINTEL {
10087 VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL = 0,
10088 VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL = 1,
10089 VK_PERFORMANCE_PARAMETER_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
10090} VkPerformanceParameterTypeINTEL;
10091
10092typedef enum VkPerformanceValueTypeINTEL {
10093 VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL = 0,
10094 VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL = 1,
10095 VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL = 2,
10096 VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL = 3,
10097 VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL = 4,
10098 VK_PERFORMANCE_VALUE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
10099} VkPerformanceValueTypeINTEL;
10100typedef union VkPerformanceValueDataINTEL {
10101 uint32_t value32;
10102 uint64_t value64;
10103 float valueFloat;
10104 VkBool32 valueBool;
10105 const char* valueString;
10106} VkPerformanceValueDataINTEL;
10107
10108typedef struct VkPerformanceValueINTEL {
10109 VkPerformanceValueTypeINTEL type;
10110 VkPerformanceValueDataINTEL data;
10111} VkPerformanceValueINTEL;
10112
10113typedef struct VkInitializePerformanceApiInfoINTEL {
10114 VkStructureType sType;
10115 const void* pNext;
10116 void* pUserData;
10117} VkInitializePerformanceApiInfoINTEL;
10118
10119typedef struct VkQueryPoolPerformanceQueryCreateInfoINTEL {
10120 VkStructureType sType;
10121 const void* pNext;
10122 VkQueryPoolSamplingModeINTEL performanceCountersSampling;
10123} VkQueryPoolPerformanceQueryCreateInfoINTEL;
10124
10125typedef VkQueryPoolPerformanceQueryCreateInfoINTEL VkQueryPoolCreateInfoINTEL;
10126
10127typedef struct VkPerformanceMarkerInfoINTEL {
10128 VkStructureType sType;
10129 const void* pNext;
10130 uint64_t marker;
10131} VkPerformanceMarkerInfoINTEL;
10132
10133typedef struct VkPerformanceStreamMarkerInfoINTEL {
10134 VkStructureType sType;
10135 const void* pNext;
10136 uint32_t marker;
10137} VkPerformanceStreamMarkerInfoINTEL;
10138
10139typedef struct VkPerformanceOverrideInfoINTEL {
10140 VkStructureType sType;
10141 const void* pNext;
10142 VkPerformanceOverrideTypeINTEL type;
10143 VkBool32 enable;
10144 uint64_t parameter;
10145} VkPerformanceOverrideInfoINTEL;
10146
10147typedef struct VkPerformanceConfigurationAcquireInfoINTEL {
10148 VkStructureType sType;
10149 const void* pNext;
10150 VkPerformanceConfigurationTypeINTEL type;
10151} VkPerformanceConfigurationAcquireInfoINTEL;
10152
10153typedef VkResult (VKAPI_PTR *PFN_vkInitializePerformanceApiINTEL)(VkDevice device, const VkInitializePerformanceApiInfoINTEL* pInitializeInfo);
10154typedef void (VKAPI_PTR *PFN_vkUninitializePerformanceApiINTEL)(VkDevice device);
10155typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL* pMarkerInfo);
10156typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceStreamMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo);
10157typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceOverrideINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL* pOverrideInfo);
10158typedef VkResult (VKAPI_PTR *PFN_vkAcquirePerformanceConfigurationINTEL)(VkDevice device, const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, VkPerformanceConfigurationINTEL* pConfiguration);
10159typedef VkResult (VKAPI_PTR *PFN_vkReleasePerformanceConfigurationINTEL)(VkDevice device, VkPerformanceConfigurationINTEL configuration);
10160typedef VkResult (VKAPI_PTR *PFN_vkQueueSetPerformanceConfigurationINTEL)(VkQueue queue, VkPerformanceConfigurationINTEL configuration);
10161typedef VkResult (VKAPI_PTR *PFN_vkGetPerformanceParameterINTEL)(VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL* pValue);
10162
10163#ifndef VK_NO_PROTOTYPES
10164VKAPI_ATTR VkResult VKAPI_CALL vkInitializePerformanceApiINTEL(
10165 VkDevice device,
10166 const VkInitializePerformanceApiInfoINTEL* pInitializeInfo);
10167
10168VKAPI_ATTR void VKAPI_CALL vkUninitializePerformanceApiINTEL(
10169 VkDevice device);
10170
10171VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceMarkerINTEL(
10172 VkCommandBuffer commandBuffer,
10173 const VkPerformanceMarkerInfoINTEL* pMarkerInfo);
10174
10175VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceStreamMarkerINTEL(
10176 VkCommandBuffer commandBuffer,
10177 const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo);
10178
10179VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceOverrideINTEL(
10180 VkCommandBuffer commandBuffer,
10181 const VkPerformanceOverrideInfoINTEL* pOverrideInfo);
10182
10183VKAPI_ATTR VkResult VKAPI_CALL vkAcquirePerformanceConfigurationINTEL(
10184 VkDevice device,
10185 const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo,
10186 VkPerformanceConfigurationINTEL* pConfiguration);
10187
10188VKAPI_ATTR VkResult VKAPI_CALL vkReleasePerformanceConfigurationINTEL(
10189 VkDevice device,
10190 VkPerformanceConfigurationINTEL configuration);
10191
10192VKAPI_ATTR VkResult VKAPI_CALL vkQueueSetPerformanceConfigurationINTEL(
10193 VkQueue queue,
10194 VkPerformanceConfigurationINTEL configuration);
10195
10196VKAPI_ATTR VkResult VKAPI_CALL vkGetPerformanceParameterINTEL(
10197 VkDevice device,
10198 VkPerformanceParameterTypeINTEL parameter,
10199 VkPerformanceValueINTEL* pValue);
10200#endif
10201
10202
10203#define VK_EXT_pci_bus_info 1
10204#define VK_EXT_PCI_BUS_INFO_SPEC_VERSION 2
10205#define VK_EXT_PCI_BUS_INFO_EXTENSION_NAME "VK_EXT_pci_bus_info"
10206typedef struct VkPhysicalDevicePCIBusInfoPropertiesEXT {
10207 VkStructureType sType;
10208 void* pNext;
10209 uint32_t pciDomain;
10210 uint32_t pciBus;
10211 uint32_t pciDevice;
10212 uint32_t pciFunction;
10213} VkPhysicalDevicePCIBusInfoPropertiesEXT;
10214
10215
10216
10217#define VK_AMD_display_native_hdr 1
10218#define VK_AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION 1
10219#define VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME "VK_AMD_display_native_hdr"
10220typedef struct VkDisplayNativeHdrSurfaceCapabilitiesAMD {
10221 VkStructureType sType;
10222 void* pNext;
10223 VkBool32 localDimmingSupport;
10224} VkDisplayNativeHdrSurfaceCapabilitiesAMD;
10225
10226typedef struct VkSwapchainDisplayNativeHdrCreateInfoAMD {
10227 VkStructureType sType;
10228 const void* pNext;
10229 VkBool32 localDimmingEnable;
10230} VkSwapchainDisplayNativeHdrCreateInfoAMD;
10231
10232typedef void (VKAPI_PTR *PFN_vkSetLocalDimmingAMD)(VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable);
10233
10234#ifndef VK_NO_PROTOTYPES
10235VKAPI_ATTR void VKAPI_CALL vkSetLocalDimmingAMD(
10236 VkDevice device,
10237 VkSwapchainKHR swapChain,
10238 VkBool32 localDimmingEnable);
10239#endif
10240
10241
10242#define VK_EXT_fragment_density_map 1
10243#define VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION 1
10244#define VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME "VK_EXT_fragment_density_map"
10245typedef struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT {
10246 VkStructureType sType;
10247 void* pNext;
10248 VkBool32 fragmentDensityMap;
10249 VkBool32 fragmentDensityMapDynamic;
10250 VkBool32 fragmentDensityMapNonSubsampledImages;
10251} VkPhysicalDeviceFragmentDensityMapFeaturesEXT;
10252
10253typedef struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT {
10254 VkStructureType sType;
10255 void* pNext;
10256 VkExtent2D minFragmentDensityTexelSize;
10257 VkExtent2D maxFragmentDensityTexelSize;
10258 VkBool32 fragmentDensityInvocations;
10259} VkPhysicalDeviceFragmentDensityMapPropertiesEXT;
10260
10261typedef struct VkRenderPassFragmentDensityMapCreateInfoEXT {
10262 VkStructureType sType;
10263 const void* pNext;
10264 VkAttachmentReference fragmentDensityMapAttachment;
10265} VkRenderPassFragmentDensityMapCreateInfoEXT;
10266
10267
10268
10269#define VK_EXT_scalar_block_layout 1
10270#define VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION 1
10271#define VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME "VK_EXT_scalar_block_layout"
10272typedef VkPhysicalDeviceScalarBlockLayoutFeatures VkPhysicalDeviceScalarBlockLayoutFeaturesEXT;
10273
10274
10275
10276#define VK_GOOGLE_hlsl_functionality1 1
10277#define VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION 1
10278#define VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME "VK_GOOGLE_hlsl_functionality1"
10279
10280
10281#define VK_GOOGLE_decorate_string 1
10282#define VK_GOOGLE_DECORATE_STRING_SPEC_VERSION 1
10283#define VK_GOOGLE_DECORATE_STRING_EXTENSION_NAME "VK_GOOGLE_decorate_string"
10284
10285
10286#define VK_EXT_subgroup_size_control 1
10287#define VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION 2
10288#define VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME "VK_EXT_subgroup_size_control"
10289typedef struct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT {
10290 VkStructureType sType;
10291 void* pNext;
10292 VkBool32 subgroupSizeControl;
10293 VkBool32 computeFullSubgroups;
10294} VkPhysicalDeviceSubgroupSizeControlFeaturesEXT;
10295
10296typedef struct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT {
10297 VkStructureType sType;
10298 void* pNext;
10299 uint32_t minSubgroupSize;
10300 uint32_t maxSubgroupSize;
10301 uint32_t maxComputeWorkgroupSubgroups;
10302 VkShaderStageFlags requiredSubgroupSizeStages;
10303} VkPhysicalDeviceSubgroupSizeControlPropertiesEXT;
10304
10305typedef struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT {
10306 VkStructureType sType;
10307 void* pNext;
10308 uint32_t requiredSubgroupSize;
10309} VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT;
10310
10311
10312
10313#define VK_AMD_shader_core_properties2 1
10314#define VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION 1
10315#define VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME "VK_AMD_shader_core_properties2"
10316
10317typedef enum VkShaderCorePropertiesFlagBitsAMD {
10318 VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF
10319} VkShaderCorePropertiesFlagBitsAMD;
10320typedef VkFlags VkShaderCorePropertiesFlagsAMD;
10321typedef struct VkPhysicalDeviceShaderCoreProperties2AMD {
10322 VkStructureType sType;
10323 void* pNext;
10324 VkShaderCorePropertiesFlagsAMD shaderCoreFeatures;
10325 uint32_t activeComputeUnitCount;
10326} VkPhysicalDeviceShaderCoreProperties2AMD;
10327
10328
10329
10330#define VK_AMD_device_coherent_memory 1
10331#define VK_AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION 1
10332#define VK_AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME "VK_AMD_device_coherent_memory"
10333typedef struct VkPhysicalDeviceCoherentMemoryFeaturesAMD {
10334 VkStructureType sType;
10335 void* pNext;
10336 VkBool32 deviceCoherentMemory;
10337} VkPhysicalDeviceCoherentMemoryFeaturesAMD;
10338
10339
10340
10341#define VK_EXT_shader_image_atomic_int64 1
10342#define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION 1
10343#define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME "VK_EXT_shader_image_atomic_int64"
10344typedef struct VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT {
10345 VkStructureType sType;
10346 void* pNext;
10347 VkBool32 shaderImageInt64Atomics;
10348 VkBool32 sparseImageInt64Atomics;
10349} VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT;
10350
10351
10352
10353#define VK_EXT_memory_budget 1
10354#define VK_EXT_MEMORY_BUDGET_SPEC_VERSION 1
10355#define VK_EXT_MEMORY_BUDGET_EXTENSION_NAME "VK_EXT_memory_budget"
10356typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT {
10357 VkStructureType sType;
10358 void* pNext;
10359 VkDeviceSize heapBudget[VK_MAX_MEMORY_HEAPS];
10360 VkDeviceSize heapUsage[VK_MAX_MEMORY_HEAPS];
10361} VkPhysicalDeviceMemoryBudgetPropertiesEXT;
10362
10363
10364
10365#define VK_EXT_memory_priority 1
10366#define VK_EXT_MEMORY_PRIORITY_SPEC_VERSION 1
10367#define VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME "VK_EXT_memory_priority"
10368typedef struct VkPhysicalDeviceMemoryPriorityFeaturesEXT {
10369 VkStructureType sType;
10370 void* pNext;
10371 VkBool32 memoryPriority;
10372} VkPhysicalDeviceMemoryPriorityFeaturesEXT;
10373
10374typedef struct VkMemoryPriorityAllocateInfoEXT {
10375 VkStructureType sType;
10376 const void* pNext;
10377 float priority;
10378} VkMemoryPriorityAllocateInfoEXT;
10379
10380
10381
10382#define VK_NV_dedicated_allocation_image_aliasing 1
10383#define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION 1
10384#define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME "VK_NV_dedicated_allocation_image_aliasing"
10385typedef struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
10386 VkStructureType sType;
10387 void* pNext;
10388 VkBool32 dedicatedAllocationImageAliasing;
10389} VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV;
10390
10391
10392
10393#define VK_EXT_buffer_device_address 1
10394#define VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 2
10395#define VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_EXT_buffer_device_address"
10396typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT {
10397 VkStructureType sType;
10398 void* pNext;
10399 VkBool32 bufferDeviceAddress;
10400 VkBool32 bufferDeviceAddressCaptureReplay;
10401 VkBool32 bufferDeviceAddressMultiDevice;
10402} VkPhysicalDeviceBufferDeviceAddressFeaturesEXT;
10403
10404typedef VkPhysicalDeviceBufferDeviceAddressFeaturesEXT VkPhysicalDeviceBufferAddressFeaturesEXT;
10405
10406typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoEXT;
10407
10408typedef struct VkBufferDeviceAddressCreateInfoEXT {
10409 VkStructureType sType;
10410 const void* pNext;
10411 VkDeviceAddress deviceAddress;
10412} VkBufferDeviceAddressCreateInfoEXT;
10413
10414typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressEXT)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
10415
10416#ifndef VK_NO_PROTOTYPES
10417VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressEXT(
10418 VkDevice device,
10419 const VkBufferDeviceAddressInfo* pInfo);
10420#endif
10421
10422
10423#define VK_EXT_tooling_info 1
10424#define VK_EXT_TOOLING_INFO_SPEC_VERSION 1
10425#define VK_EXT_TOOLING_INFO_EXTENSION_NAME "VK_EXT_tooling_info"
10426
10427typedef enum VkToolPurposeFlagBitsEXT {
10428 VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = 0x00000001,
10429 VK_TOOL_PURPOSE_PROFILING_BIT_EXT = 0x00000002,
10430 VK_TOOL_PURPOSE_TRACING_BIT_EXT = 0x00000004,
10431 VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = 0x00000008,
10432 VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = 0x00000010,
10433 VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 0x00000020,
10434 VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 0x00000040,
10435 VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
10436} VkToolPurposeFlagBitsEXT;
10437typedef VkFlags VkToolPurposeFlagsEXT;
10438typedef struct VkPhysicalDeviceToolPropertiesEXT {
10439 VkStructureType sType;
10440 void* pNext;
10441 char name[VK_MAX_EXTENSION_NAME_SIZE];
10442 char version[VK_MAX_EXTENSION_NAME_SIZE];
10443 VkToolPurposeFlagsEXT purposes;
10444 char description[VK_MAX_DESCRIPTION_SIZE];
10445 char layer[VK_MAX_EXTENSION_NAME_SIZE];
10446} VkPhysicalDeviceToolPropertiesEXT;
10447
10448typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceToolPropertiesEXT)(VkPhysicalDevice physicalDevice, uint32_t* pToolCount, VkPhysicalDeviceToolPropertiesEXT* pToolProperties);
10449
10450#ifndef VK_NO_PROTOTYPES
10451VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceToolPropertiesEXT(
10452 VkPhysicalDevice physicalDevice,
10453 uint32_t* pToolCount,
10454 VkPhysicalDeviceToolPropertiesEXT* pToolProperties);
10455#endif
10456
10457
10458#define VK_EXT_separate_stencil_usage 1
10459#define VK_EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION 1
10460#define VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME "VK_EXT_separate_stencil_usage"
10461typedef VkImageStencilUsageCreateInfo VkImageStencilUsageCreateInfoEXT;
10462
10463
10464
10465#define VK_EXT_validation_features 1
10466#define VK_EXT_VALIDATION_FEATURES_SPEC_VERSION 4
10467#define VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME "VK_EXT_validation_features"
10468
10469typedef enum VkValidationFeatureEnableEXT {
10470 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT = 0,
10471 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT = 1,
10472 VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT = 2,
10473 VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT = 3,
10474 VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT = 4,
10475 VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT = 0x7FFFFFFF
10476} VkValidationFeatureEnableEXT;
10477
10478typedef enum VkValidationFeatureDisableEXT {
10479 VK_VALIDATION_FEATURE_DISABLE_ALL_EXT = 0,
10480 VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT = 1,
10481 VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT = 2,
10482 VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT = 3,
10483 VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT = 4,
10484 VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT = 5,
10485 VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT = 6,
10486 VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT = 0x7FFFFFFF
10487} VkValidationFeatureDisableEXT;
10488typedef struct VkValidationFeaturesEXT {
10489 VkStructureType sType;
10490 const void* pNext;
10491 uint32_t enabledValidationFeatureCount;
10492 const VkValidationFeatureEnableEXT* pEnabledValidationFeatures;
10493 uint32_t disabledValidationFeatureCount;
10494 const VkValidationFeatureDisableEXT* pDisabledValidationFeatures;
10495} VkValidationFeaturesEXT;
10496
10497
10498
10499#define VK_NV_cooperative_matrix 1
10500#define VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION 1
10501#define VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_NV_cooperative_matrix"
10502
10503typedef enum VkComponentTypeNV {
10504 VK_COMPONENT_TYPE_FLOAT16_NV = 0,
10505 VK_COMPONENT_TYPE_FLOAT32_NV = 1,
10506 VK_COMPONENT_TYPE_FLOAT64_NV = 2,
10507 VK_COMPONENT_TYPE_SINT8_NV = 3,
10508 VK_COMPONENT_TYPE_SINT16_NV = 4,
10509 VK_COMPONENT_TYPE_SINT32_NV = 5,
10510 VK_COMPONENT_TYPE_SINT64_NV = 6,
10511 VK_COMPONENT_TYPE_UINT8_NV = 7,
10512 VK_COMPONENT_TYPE_UINT16_NV = 8,
10513 VK_COMPONENT_TYPE_UINT32_NV = 9,
10514 VK_COMPONENT_TYPE_UINT64_NV = 10,
10515 VK_COMPONENT_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
10516} VkComponentTypeNV;
10517
10518typedef enum VkScopeNV {
10519 VK_SCOPE_DEVICE_NV = 1,
10520 VK_SCOPE_WORKGROUP_NV = 2,
10521 VK_SCOPE_SUBGROUP_NV = 3,
10522 VK_SCOPE_QUEUE_FAMILY_NV = 5,
10523 VK_SCOPE_MAX_ENUM_NV = 0x7FFFFFFF
10524} VkScopeNV;
10525typedef struct VkCooperativeMatrixPropertiesNV {
10526 VkStructureType sType;
10527 void* pNext;
10528 uint32_t MSize;
10529 uint32_t NSize;
10530 uint32_t KSize;
10531 VkComponentTypeNV AType;
10532 VkComponentTypeNV BType;
10533 VkComponentTypeNV CType;
10534 VkComponentTypeNV DType;
10535 VkScopeNV scope;
10536} VkCooperativeMatrixPropertiesNV;
10537
10538typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesNV {
10539 VkStructureType sType;
10540 void* pNext;
10541 VkBool32 cooperativeMatrix;
10542 VkBool32 cooperativeMatrixRobustBufferAccess;
10543} VkPhysicalDeviceCooperativeMatrixFeaturesNV;
10544
10545typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesNV {
10546 VkStructureType sType;
10547 void* pNext;
10548 VkShaderStageFlags cooperativeMatrixSupportedStages;
10549} VkPhysicalDeviceCooperativeMatrixPropertiesNV;
10550
10551typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkCooperativeMatrixPropertiesNV* pProperties);
10552
10553#ifndef VK_NO_PROTOTYPES
10554VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(
10555 VkPhysicalDevice physicalDevice,
10556 uint32_t* pPropertyCount,
10557 VkCooperativeMatrixPropertiesNV* pProperties);
10558#endif
10559
10560
10561#define VK_NV_coverage_reduction_mode 1
10562#define VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION 1
10563#define VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME "VK_NV_coverage_reduction_mode"
10564
10565typedef enum VkCoverageReductionModeNV {
10566 VK_COVERAGE_REDUCTION_MODE_MERGE_NV = 0,
10567 VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV = 1,
10568 VK_COVERAGE_REDUCTION_MODE_MAX_ENUM_NV = 0x7FFFFFFF
10569} VkCoverageReductionModeNV;
10570typedef VkFlags VkPipelineCoverageReductionStateCreateFlagsNV;
10571typedef struct VkPhysicalDeviceCoverageReductionModeFeaturesNV {
10572 VkStructureType sType;
10573 void* pNext;
10574 VkBool32 coverageReductionMode;
10575} VkPhysicalDeviceCoverageReductionModeFeaturesNV;
10576
10577typedef struct VkPipelineCoverageReductionStateCreateInfoNV {
10578 VkStructureType sType;
10579 const void* pNext;
10580 VkPipelineCoverageReductionStateCreateFlagsNV flags;
10581 VkCoverageReductionModeNV coverageReductionMode;
10582} VkPipelineCoverageReductionStateCreateInfoNV;
10583
10584typedef struct VkFramebufferMixedSamplesCombinationNV {
10585 VkStructureType sType;
10586 void* pNext;
10587 VkCoverageReductionModeNV coverageReductionMode;
10588 VkSampleCountFlagBits rasterizationSamples;
10589 VkSampleCountFlags depthStencilSamples;
10590 VkSampleCountFlags colorSamples;
10591} VkFramebufferMixedSamplesCombinationNV;
10592
10593typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV)(VkPhysicalDevice physicalDevice, uint32_t* pCombinationCount, VkFramebufferMixedSamplesCombinationNV* pCombinations);
10594
10595#ifndef VK_NO_PROTOTYPES
10596VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
10597 VkPhysicalDevice physicalDevice,
10598 uint32_t* pCombinationCount,
10599 VkFramebufferMixedSamplesCombinationNV* pCombinations);
10600#endif
10601
10602
10603#define VK_EXT_fragment_shader_interlock 1
10604#define VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION 1
10605#define VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME "VK_EXT_fragment_shader_interlock"
10606typedef struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT {
10607 VkStructureType sType;
10608 void* pNext;
10609 VkBool32 fragmentShaderSampleInterlock;
10610 VkBool32 fragmentShaderPixelInterlock;
10611 VkBool32 fragmentShaderShadingRateInterlock;
10612} VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT;
10613
10614
10615
10616#define VK_EXT_ycbcr_image_arrays 1
10617#define VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION 1
10618#define VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME "VK_EXT_ycbcr_image_arrays"
10619typedef struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT {
10620 VkStructureType sType;
10621 void* pNext;
10622 VkBool32 ycbcrImageArrays;
10623} VkPhysicalDeviceYcbcrImageArraysFeaturesEXT;
10624
10625
10626
10627#define VK_EXT_headless_surface 1
10628#define VK_EXT_HEADLESS_SURFACE_SPEC_VERSION 1
10629#define VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME "VK_EXT_headless_surface"
10630typedef VkFlags VkHeadlessSurfaceCreateFlagsEXT;
10631typedef struct VkHeadlessSurfaceCreateInfoEXT {
10632 VkStructureType sType;
10633 const void* pNext;
10634 VkHeadlessSurfaceCreateFlagsEXT flags;
10635} VkHeadlessSurfaceCreateInfoEXT;
10636
10637typedef VkResult (VKAPI_PTR *PFN_vkCreateHeadlessSurfaceEXT)(VkInstance instance, const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
10638
10639#ifndef VK_NO_PROTOTYPES
10640VKAPI_ATTR VkResult VKAPI_CALL vkCreateHeadlessSurfaceEXT(
10641 VkInstance instance,
10642 const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo,
10643 const VkAllocationCallbacks* pAllocator,
10644 VkSurfaceKHR* pSurface);
10645#endif
10646
10647
10648#define VK_EXT_line_rasterization 1
10649#define VK_EXT_LINE_RASTERIZATION_SPEC_VERSION 1
10650#define VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME "VK_EXT_line_rasterization"
10651
10652typedef enum VkLineRasterizationModeEXT {
10653 VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT = 0,
10654 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT = 1,
10655 VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT = 2,
10656 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT = 3,
10657 VK_LINE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
10658} VkLineRasterizationModeEXT;
10659typedef struct VkPhysicalDeviceLineRasterizationFeaturesEXT {
10660 VkStructureType sType;
10661 void* pNext;
10662 VkBool32 rectangularLines;
10663 VkBool32 bresenhamLines;
10664 VkBool32 smoothLines;
10665 VkBool32 stippledRectangularLines;
10666 VkBool32 stippledBresenhamLines;
10667 VkBool32 stippledSmoothLines;
10668} VkPhysicalDeviceLineRasterizationFeaturesEXT;
10669
10670typedef struct VkPhysicalDeviceLineRasterizationPropertiesEXT {
10671 VkStructureType sType;
10672 void* pNext;
10673 uint32_t lineSubPixelPrecisionBits;
10674} VkPhysicalDeviceLineRasterizationPropertiesEXT;
10675
10676typedef struct VkPipelineRasterizationLineStateCreateInfoEXT {
10677 VkStructureType sType;
10678 const void* pNext;
10679 VkLineRasterizationModeEXT lineRasterizationMode;
10680 VkBool32 stippledLineEnable;
10681 uint32_t lineStippleFactor;
10682 uint16_t lineStipplePattern;
10683} VkPipelineRasterizationLineStateCreateInfoEXT;
10684
10685typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleEXT)(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern);
10686
10687#ifndef VK_NO_PROTOTYPES
10688VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleEXT(
10689 VkCommandBuffer commandBuffer,
10690 uint32_t lineStippleFactor,
10691 uint16_t lineStipplePattern);
10692#endif
10693
10694
10695#define VK_EXT_shader_atomic_float 1
10696#define VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION 1
10697#define VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME "VK_EXT_shader_atomic_float"
10698typedef struct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT {
10699 VkStructureType sType;
10700 void* pNext;
10701 VkBool32 shaderBufferFloat32Atomics;
10702 VkBool32 shaderBufferFloat32AtomicAdd;
10703 VkBool32 shaderBufferFloat64Atomics;
10704 VkBool32 shaderBufferFloat64AtomicAdd;
10705 VkBool32 shaderSharedFloat32Atomics;
10706 VkBool32 shaderSharedFloat32AtomicAdd;
10707 VkBool32 shaderSharedFloat64Atomics;
10708 VkBool32 shaderSharedFloat64AtomicAdd;
10709 VkBool32 shaderImageFloat32Atomics;
10710 VkBool32 shaderImageFloat32AtomicAdd;
10711 VkBool32 sparseImageFloat32Atomics;
10712 VkBool32 sparseImageFloat32AtomicAdd;
10713} VkPhysicalDeviceShaderAtomicFloatFeaturesEXT;
10714
10715
10716
10717#define VK_EXT_host_query_reset 1
10718#define VK_EXT_HOST_QUERY_RESET_SPEC_VERSION 1
10719#define VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME "VK_EXT_host_query_reset"
10720typedef VkPhysicalDeviceHostQueryResetFeatures VkPhysicalDeviceHostQueryResetFeaturesEXT;
10721
10722typedef void (VKAPI_PTR *PFN_vkResetQueryPoolEXT)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount);
10723
10724#ifndef VK_NO_PROTOTYPES
10725VKAPI_ATTR void VKAPI_CALL vkResetQueryPoolEXT(
10726 VkDevice device,
10727 VkQueryPool queryPool,
10728 uint32_t firstQuery,
10729 uint32_t queryCount);
10730#endif
10731
10732
10733#define VK_EXT_index_type_uint8 1
10734#define VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION 1
10735#define VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_EXT_index_type_uint8"
10736typedef struct VkPhysicalDeviceIndexTypeUint8FeaturesEXT {
10737 VkStructureType sType;
10738 void* pNext;
10739 VkBool32 indexTypeUint8;
10740} VkPhysicalDeviceIndexTypeUint8FeaturesEXT;
10741
10742
10743
10744#define VK_EXT_extended_dynamic_state 1
10745#define VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION 1
10746#define VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_extended_dynamic_state"
10747typedef struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT {
10748 VkStructureType sType;
10749 void* pNext;
10750 VkBool32 extendedDynamicState;
10751} VkPhysicalDeviceExtendedDynamicStateFeaturesEXT;
10752
10753typedef void (VKAPI_PTR *PFN_vkCmdSetCullModeEXT)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode);
10754typedef void (VKAPI_PTR *PFN_vkCmdSetFrontFaceEXT)(VkCommandBuffer commandBuffer, VkFrontFace frontFace);
10755typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveTopologyEXT)(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology);
10756typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWithCountEXT)(VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport* pViewports);
10757typedef void (VKAPI_PTR *PFN_vkCmdSetScissorWithCountEXT)(VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D* pScissors);
10758typedef 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);
10759typedef void (VKAPI_PTR *PFN_vkCmdSetDepthTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable);
10760typedef void (VKAPI_PTR *PFN_vkCmdSetDepthWriteEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable);
10761typedef void (VKAPI_PTR *PFN_vkCmdSetDepthCompareOpEXT)(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp);
10762typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBoundsTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable);
10763typedef void (VKAPI_PTR *PFN_vkCmdSetStencilTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable);
10764typedef void (VKAPI_PTR *PFN_vkCmdSetStencilOpEXT)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp);
10765
10766#ifndef VK_NO_PROTOTYPES
10767VKAPI_ATTR void VKAPI_CALL vkCmdSetCullModeEXT(
10768 VkCommandBuffer commandBuffer,
10769 VkCullModeFlags cullMode);
10770
10771VKAPI_ATTR void VKAPI_CALL vkCmdSetFrontFaceEXT(
10772 VkCommandBuffer commandBuffer,
10773 VkFrontFace frontFace);
10774
10775VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveTopologyEXT(
10776 VkCommandBuffer commandBuffer,
10777 VkPrimitiveTopology primitiveTopology);
10778
10779VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWithCountEXT(
10780 VkCommandBuffer commandBuffer,
10781 uint32_t viewportCount,
10782 const VkViewport* pViewports);
10783
10784VKAPI_ATTR void VKAPI_CALL vkCmdSetScissorWithCountEXT(
10785 VkCommandBuffer commandBuffer,
10786 uint32_t scissorCount,
10787 const VkRect2D* pScissors);
10788
10789VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers2EXT(
10790 VkCommandBuffer commandBuffer,
10791 uint32_t firstBinding,
10792 uint32_t bindingCount,
10793 const VkBuffer* pBuffers,
10794 const VkDeviceSize* pOffsets,
10795 const VkDeviceSize* pSizes,
10796 const VkDeviceSize* pStrides);
10797
10798VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthTestEnableEXT(
10799 VkCommandBuffer commandBuffer,
10800 VkBool32 depthTestEnable);
10801
10802VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthWriteEnableEXT(
10803 VkCommandBuffer commandBuffer,
10804 VkBool32 depthWriteEnable);
10805
10806VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthCompareOpEXT(
10807 VkCommandBuffer commandBuffer,
10808 VkCompareOp depthCompareOp);
10809
10810VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBoundsTestEnableEXT(
10811 VkCommandBuffer commandBuffer,
10812 VkBool32 depthBoundsTestEnable);
10813
10814VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilTestEnableEXT(
10815 VkCommandBuffer commandBuffer,
10816 VkBool32 stencilTestEnable);
10817
10818VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilOpEXT(
10819 VkCommandBuffer commandBuffer,
10820 VkStencilFaceFlags faceMask,
10821 VkStencilOp failOp,
10822 VkStencilOp passOp,
10823 VkStencilOp depthFailOp,
10824 VkCompareOp compareOp);
10825#endif
10826
10827
10828#define VK_EXT_shader_demote_to_helper_invocation 1
10829#define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION 1
10830#define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME "VK_EXT_shader_demote_to_helper_invocation"
10831typedef struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT {
10832 VkStructureType sType;
10833 void* pNext;
10834 VkBool32 shaderDemoteToHelperInvocation;
10835} VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT;
10836
10837
10838
10839#define VK_NV_device_generated_commands 1
10840VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutNV)
10841#define VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION 3
10842#define VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_NV_device_generated_commands"
10843
10844typedef enum VkIndirectCommandsTokenTypeNV {
10845 VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV = 0,
10846 VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV = 1,
10847 VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV = 2,
10848 VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV = 3,
10849 VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV = 4,
10850 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV = 5,
10851 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV = 6,
10852 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV = 7,
10853 VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
10854} VkIndirectCommandsTokenTypeNV;
10855
10856typedef enum VkIndirectStateFlagBitsNV {
10857 VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV = 0x00000001,
10858 VK_INDIRECT_STATE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
10859} VkIndirectStateFlagBitsNV;
10860typedef VkFlags VkIndirectStateFlagsNV;
10861
10862typedef enum VkIndirectCommandsLayoutUsageFlagBitsNV {
10863 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV = 0x00000001,
10864 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV = 0x00000002,
10865 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV = 0x00000004,
10866 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
10867} VkIndirectCommandsLayoutUsageFlagBitsNV;
10868typedef VkFlags VkIndirectCommandsLayoutUsageFlagsNV;
10869typedef struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
10870 VkStructureType sType;
10871 void* pNext;
10872 uint32_t maxGraphicsShaderGroupCount;
10873 uint32_t maxIndirectSequenceCount;
10874 uint32_t maxIndirectCommandsTokenCount;
10875 uint32_t maxIndirectCommandsStreamCount;
10876 uint32_t maxIndirectCommandsTokenOffset;
10877 uint32_t maxIndirectCommandsStreamStride;
10878 uint32_t minSequencesCountBufferOffsetAlignment;
10879 uint32_t minSequencesIndexBufferOffsetAlignment;
10880 uint32_t minIndirectCommandsBufferOffsetAlignment;
10881} VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV;
10882
10883typedef struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
10884 VkStructureType sType;
10885 void* pNext;
10886 VkBool32 deviceGeneratedCommands;
10887} VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV;
10888
10889typedef struct VkGraphicsShaderGroupCreateInfoNV {
10890 VkStructureType sType;
10891 const void* pNext;
10892 uint32_t stageCount;
10893 const VkPipelineShaderStageCreateInfo* pStages;
10894 const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
10895 const VkPipelineTessellationStateCreateInfo* pTessellationState;
10896} VkGraphicsShaderGroupCreateInfoNV;
10897
10898typedef struct VkGraphicsPipelineShaderGroupsCreateInfoNV {
10899 VkStructureType sType;
10900 const void* pNext;
10901 uint32_t groupCount;
10902 const VkGraphicsShaderGroupCreateInfoNV* pGroups;
10903 uint32_t pipelineCount;
10904 const VkPipeline* pPipelines;
10905} VkGraphicsPipelineShaderGroupsCreateInfoNV;
10906
10907typedef struct VkBindShaderGroupIndirectCommandNV {
10908 uint32_t groupIndex;
10909} VkBindShaderGroupIndirectCommandNV;
10910
10911typedef struct VkBindIndexBufferIndirectCommandNV {
10912 VkDeviceAddress bufferAddress;
10913 uint32_t size;
10914 VkIndexType indexType;
10915} VkBindIndexBufferIndirectCommandNV;
10916
10917typedef struct VkBindVertexBufferIndirectCommandNV {
10918 VkDeviceAddress bufferAddress;
10919 uint32_t size;
10920 uint32_t stride;
10921} VkBindVertexBufferIndirectCommandNV;
10922
10923typedef struct VkSetStateFlagsIndirectCommandNV {
10924 uint32_t data;
10925} VkSetStateFlagsIndirectCommandNV;
10926
10927typedef struct VkIndirectCommandsStreamNV {
10928 VkBuffer buffer;
10929 VkDeviceSize offset;
10930} VkIndirectCommandsStreamNV;
10931
10932typedef struct VkIndirectCommandsLayoutTokenNV {
10933 VkStructureType sType;
10934 const void* pNext;
10935 VkIndirectCommandsTokenTypeNV tokenType;
10936 uint32_t stream;
10937 uint32_t offset;
10938 uint32_t vertexBindingUnit;
10939 VkBool32 vertexDynamicStride;
10940 VkPipelineLayout pushconstantPipelineLayout;
10941 VkShaderStageFlags pushconstantShaderStageFlags;
10942 uint32_t pushconstantOffset;
10943 uint32_t pushconstantSize;
10944 VkIndirectStateFlagsNV indirectStateFlags;
10945 uint32_t indexTypeCount;
10946 const VkIndexType* pIndexTypes;
10947 const uint32_t* pIndexTypeValues;
10948} VkIndirectCommandsLayoutTokenNV;
10949
10950typedef struct VkIndirectCommandsLayoutCreateInfoNV {
10951 VkStructureType sType;
10952 const void* pNext;
10953 VkIndirectCommandsLayoutUsageFlagsNV flags;
10954 VkPipelineBindPoint pipelineBindPoint;
10955 uint32_t tokenCount;
10956 const VkIndirectCommandsLayoutTokenNV* pTokens;
10957 uint32_t streamCount;
10958 const uint32_t* pStreamStrides;
10959} VkIndirectCommandsLayoutCreateInfoNV;
10960
10961typedef struct VkGeneratedCommandsInfoNV {
10962 VkStructureType sType;
10963 const void* pNext;
10964 VkPipelineBindPoint pipelineBindPoint;
10965 VkPipeline pipeline;
10966 VkIndirectCommandsLayoutNV indirectCommandsLayout;
10967 uint32_t streamCount;
10968 const VkIndirectCommandsStreamNV* pStreams;
10969 uint32_t sequencesCount;
10970 VkBuffer preprocessBuffer;
10971 VkDeviceSize preprocessOffset;
10972 VkDeviceSize preprocessSize;
10973 VkBuffer sequencesCountBuffer;
10974 VkDeviceSize sequencesCountOffset;
10975 VkBuffer sequencesIndexBuffer;
10976 VkDeviceSize sequencesIndexOffset;
10977} VkGeneratedCommandsInfoNV;
10978
10979typedef struct VkGeneratedCommandsMemoryRequirementsInfoNV {
10980 VkStructureType sType;
10981 const void* pNext;
10982 VkPipelineBindPoint pipelineBindPoint;
10983 VkPipeline pipeline;
10984 VkIndirectCommandsLayoutNV indirectCommandsLayout;
10985 uint32_t maxSequencesCount;
10986} VkGeneratedCommandsMemoryRequirementsInfoNV;
10987
10988typedef void (VKAPI_PTR *PFN_vkGetGeneratedCommandsMemoryRequirementsNV)(VkDevice device, const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2* pMemoryRequirements);
10989typedef void (VKAPI_PTR *PFN_vkCmdPreprocessGeneratedCommandsNV)(VkCommandBuffer commandBuffer, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
10990typedef void (VKAPI_PTR *PFN_vkCmdExecuteGeneratedCommandsNV)(VkCommandBuffer commandBuffer, VkBool32 isPreprocessed, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
10991typedef void (VKAPI_PTR *PFN_vkCmdBindPipelineShaderGroupNV)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline, uint32_t groupIndex);
10992typedef VkResult (VKAPI_PTR *PFN_vkCreateIndirectCommandsLayoutNV)(VkDevice device, const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNV* pIndirectCommandsLayout);
10993typedef void (VKAPI_PTR *PFN_vkDestroyIndirectCommandsLayoutNV)(VkDevice device, VkIndirectCommandsLayoutNV indirectCommandsLayout, const VkAllocationCallbacks* pAllocator);
10994
10995#ifndef VK_NO_PROTOTYPES
10996VKAPI_ATTR void VKAPI_CALL vkGetGeneratedCommandsMemoryRequirementsNV(
10997 VkDevice device,
10998 const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo,
10999 VkMemoryRequirements2* pMemoryRequirements);
11000
11001VKAPI_ATTR void VKAPI_CALL vkCmdPreprocessGeneratedCommandsNV(
11002 VkCommandBuffer commandBuffer,
11003 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
11004
11005VKAPI_ATTR void VKAPI_CALL vkCmdExecuteGeneratedCommandsNV(
11006 VkCommandBuffer commandBuffer,
11007 VkBool32 isPreprocessed,
11008 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
11009
11010VKAPI_ATTR void VKAPI_CALL vkCmdBindPipelineShaderGroupNV(
11011 VkCommandBuffer commandBuffer,
11012 VkPipelineBindPoint pipelineBindPoint,
11013 VkPipeline pipeline,
11014 uint32_t groupIndex);
11015
11016VKAPI_ATTR VkResult VKAPI_CALL vkCreateIndirectCommandsLayoutNV(
11017 VkDevice device,
11018 const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo,
11019 const VkAllocationCallbacks* pAllocator,
11020 VkIndirectCommandsLayoutNV* pIndirectCommandsLayout);
11021
11022VKAPI_ATTR void VKAPI_CALL vkDestroyIndirectCommandsLayoutNV(
11023 VkDevice device,
11024 VkIndirectCommandsLayoutNV indirectCommandsLayout,
11025 const VkAllocationCallbacks* pAllocator);
11026#endif
11027
11028
11029#define VK_EXT_texel_buffer_alignment 1
11030#define VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION 1
11031#define VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME "VK_EXT_texel_buffer_alignment"
11032typedef struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT {
11033 VkStructureType sType;
11034 void* pNext;
11035 VkBool32 texelBufferAlignment;
11036} VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT;
11037
11038typedef struct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT {
11039 VkStructureType sType;
11040 void* pNext;
11041 VkDeviceSize storageTexelBufferOffsetAlignmentBytes;
11042 VkBool32 storageTexelBufferOffsetSingleTexelAlignment;
11043 VkDeviceSize uniformTexelBufferOffsetAlignmentBytes;
11044 VkBool32 uniformTexelBufferOffsetSingleTexelAlignment;
11045} VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT;
11046
11047
11048
11049#define VK_QCOM_render_pass_transform 1
11050#define VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION 1
11051#define VK_QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME "VK_QCOM_render_pass_transform"
11052typedef struct VkRenderPassTransformBeginInfoQCOM {
11053 VkStructureType sType;
11054 void* pNext;
11055 VkSurfaceTransformFlagBitsKHR transform;
11056} VkRenderPassTransformBeginInfoQCOM;
11057
11058typedef struct VkCommandBufferInheritanceRenderPassTransformInfoQCOM {
11059 VkStructureType sType;
11060 void* pNext;
11061 VkSurfaceTransformFlagBitsKHR transform;
11062 VkRect2D renderArea;
11063} VkCommandBufferInheritanceRenderPassTransformInfoQCOM;
11064
11065
11066
11067#define VK_EXT_device_memory_report 1
11068#define VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION 1
11069#define VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME "VK_EXT_device_memory_report"
11070
11071typedef enum VkDeviceMemoryReportEventTypeEXT {
11072 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT = 0,
11073 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT = 1,
11074 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT = 2,
11075 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT = 3,
11076 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT = 4,
11077 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
11078} VkDeviceMemoryReportEventTypeEXT;
11079typedef VkFlags VkDeviceMemoryReportFlagsEXT;
11080typedef struct VkPhysicalDeviceDeviceMemoryReportFeaturesEXT {
11081 VkStructureType sType;
11082 void* pNext;
11083 VkBool32 deviceMemoryReport;
11084} VkPhysicalDeviceDeviceMemoryReportFeaturesEXT;
11085
11086typedef struct VkDeviceMemoryReportCallbackDataEXT {
11087 VkStructureType sType;
11088 const void* pNext;
11089 VkDeviceMemoryReportFlagsEXT flags;
11090 VkDeviceMemoryReportEventTypeEXT type;
11091 uint64_t memoryObjectId;
11092 VkDeviceSize size;
11093 VkObjectType objectType;
11094 uint64_t objectHandle;
11095 uint32_t heapIndex;
11096} VkDeviceMemoryReportCallbackDataEXT;
11097
11098typedef void (VKAPI_PTR *PFN_vkDeviceMemoryReportCallbackEXT)(
11099 const VkDeviceMemoryReportCallbackDataEXT* pCallbackData,
11100 void* pUserData);
11101
11102typedef struct VkDeviceDeviceMemoryReportCreateInfoEXT {
11103 VkStructureType sType;
11104 const void* pNext;
11105 VkDeviceMemoryReportFlagsEXT flags;
11106 PFN_vkDeviceMemoryReportCallbackEXT pfnUserCallback;
11107 void* pUserData;
11108} VkDeviceDeviceMemoryReportCreateInfoEXT;
11109
11110
11111
11112#define VK_EXT_robustness2 1
11113#define VK_EXT_ROBUSTNESS_2_SPEC_VERSION 1
11114#define VK_EXT_ROBUSTNESS_2_EXTENSION_NAME "VK_EXT_robustness2"
11115typedef struct VkPhysicalDeviceRobustness2FeaturesEXT {
11116 VkStructureType sType;
11117 void* pNext;
11118 VkBool32 robustBufferAccess2;
11119 VkBool32 robustImageAccess2;
11120 VkBool32 nullDescriptor;
11121} VkPhysicalDeviceRobustness2FeaturesEXT;
11122
11123typedef struct VkPhysicalDeviceRobustness2PropertiesEXT {
11124 VkStructureType sType;
11125 void* pNext;
11126 VkDeviceSize robustStorageBufferAccessSizeAlignment;
11127 VkDeviceSize robustUniformBufferAccessSizeAlignment;
11128} VkPhysicalDeviceRobustness2PropertiesEXT;
11129
11130
11131
11132#define VK_EXT_custom_border_color 1
11133#define VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION 12
11134#define VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME "VK_EXT_custom_border_color"
11135typedef struct VkSamplerCustomBorderColorCreateInfoEXT {
11136 VkStructureType sType;
11137 const void* pNext;
11138 VkClearColorValue customBorderColor;
11139 VkFormat format;
11140} VkSamplerCustomBorderColorCreateInfoEXT;
11141
11142typedef struct VkPhysicalDeviceCustomBorderColorPropertiesEXT {
11143 VkStructureType sType;
11144 void* pNext;
11145 uint32_t maxCustomBorderColorSamplers;
11146} VkPhysicalDeviceCustomBorderColorPropertiesEXT;
11147
11148typedef struct VkPhysicalDeviceCustomBorderColorFeaturesEXT {
11149 VkStructureType sType;
11150 void* pNext;
11151 VkBool32 customBorderColors;
11152 VkBool32 customBorderColorWithoutFormat;
11153} VkPhysicalDeviceCustomBorderColorFeaturesEXT;
11154
11155
11156
11157#define VK_GOOGLE_user_type 1
11158#define VK_GOOGLE_USER_TYPE_SPEC_VERSION 1
11159#define VK_GOOGLE_USER_TYPE_EXTENSION_NAME "VK_GOOGLE_user_type"
11160
11161
11162#define VK_EXT_private_data 1
11163VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPrivateDataSlotEXT)
11164#define VK_EXT_PRIVATE_DATA_SPEC_VERSION 1
11165#define VK_EXT_PRIVATE_DATA_EXTENSION_NAME "VK_EXT_private_data"
11166
11167typedef enum VkPrivateDataSlotCreateFlagBitsEXT {
11168 VK_PRIVATE_DATA_SLOT_CREATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
11169} VkPrivateDataSlotCreateFlagBitsEXT;
11170typedef VkFlags VkPrivateDataSlotCreateFlagsEXT;
11171typedef struct VkPhysicalDevicePrivateDataFeaturesEXT {
11172 VkStructureType sType;
11173 void* pNext;
11174 VkBool32 privateData;
11175} VkPhysicalDevicePrivateDataFeaturesEXT;
11176
11177typedef struct VkDevicePrivateDataCreateInfoEXT {
11178 VkStructureType sType;
11179 const void* pNext;
11180 uint32_t privateDataSlotRequestCount;
11181} VkDevicePrivateDataCreateInfoEXT;
11182
11183typedef struct VkPrivateDataSlotCreateInfoEXT {
11184 VkStructureType sType;
11185 const void* pNext;
11186 VkPrivateDataSlotCreateFlagsEXT flags;
11187} VkPrivateDataSlotCreateInfoEXT;
11188
11189typedef VkResult (VKAPI_PTR *PFN_vkCreatePrivateDataSlotEXT)(VkDevice device, const VkPrivateDataSlotCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlotEXT* pPrivateDataSlot);
11190typedef void (VKAPI_PTR *PFN_vkDestroyPrivateDataSlotEXT)(VkDevice device, VkPrivateDataSlotEXT privateDataSlot, const VkAllocationCallbacks* pAllocator);
11191typedef VkResult (VKAPI_PTR *PFN_vkSetPrivateDataEXT)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlotEXT privateDataSlot, uint64_t data);
11192typedef void (VKAPI_PTR *PFN_vkGetPrivateDataEXT)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlotEXT privateDataSlot, uint64_t* pData);
11193
11194#ifndef VK_NO_PROTOTYPES
11195VKAPI_ATTR VkResult VKAPI_CALL vkCreatePrivateDataSlotEXT(
11196 VkDevice device,
11197 const VkPrivateDataSlotCreateInfoEXT* pCreateInfo,
11198 const VkAllocationCallbacks* pAllocator,
11199 VkPrivateDataSlotEXT* pPrivateDataSlot);
11200
11201VKAPI_ATTR void VKAPI_CALL vkDestroyPrivateDataSlotEXT(
11202 VkDevice device,
11203 VkPrivateDataSlotEXT privateDataSlot,
11204 const VkAllocationCallbacks* pAllocator);
11205
11206VKAPI_ATTR VkResult VKAPI_CALL vkSetPrivateDataEXT(
11207 VkDevice device,
11208 VkObjectType objectType,
11209 uint64_t objectHandle,
11210 VkPrivateDataSlotEXT privateDataSlot,
11211 uint64_t data);
11212
11213VKAPI_ATTR void VKAPI_CALL vkGetPrivateDataEXT(
11214 VkDevice device,
11215 VkObjectType objectType,
11216 uint64_t objectHandle,
11217 VkPrivateDataSlotEXT privateDataSlot,
11218 uint64_t* pData);
11219#endif
11220
11221
11222#define VK_EXT_pipeline_creation_cache_control 1
11223#define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION 3
11224#define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME "VK_EXT_pipeline_creation_cache_control"
11225typedef struct VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT {
11226 VkStructureType sType;
11227 void* pNext;
11228 VkBool32 pipelineCreationCacheControl;
11229} VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT;
11230
11231
11232
11233#define VK_NV_device_diagnostics_config 1
11234#define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION 1
11235#define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME "VK_NV_device_diagnostics_config"
11236
11237typedef enum VkDeviceDiagnosticsConfigFlagBitsNV {
11238 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV = 0x00000001,
11239 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV = 0x00000002,
11240 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV = 0x00000004,
11241 VK_DEVICE_DIAGNOSTICS_CONFIG_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
11242} VkDeviceDiagnosticsConfigFlagBitsNV;
11243typedef VkFlags VkDeviceDiagnosticsConfigFlagsNV;
11244typedef struct VkPhysicalDeviceDiagnosticsConfigFeaturesNV {
11245 VkStructureType sType;
11246 void* pNext;
11247 VkBool32 diagnosticsConfig;
11248} VkPhysicalDeviceDiagnosticsConfigFeaturesNV;
11249
11250typedef struct VkDeviceDiagnosticsConfigCreateInfoNV {
11251 VkStructureType sType;
11252 const void* pNext;
11253 VkDeviceDiagnosticsConfigFlagsNV flags;
11254} VkDeviceDiagnosticsConfigCreateInfoNV;
11255
11256
11257
11258#define VK_QCOM_render_pass_store_ops 1
11259#define VK_QCOM_render_pass_store_ops_SPEC_VERSION 2
11260#define VK_QCOM_render_pass_store_ops_EXTENSION_NAME "VK_QCOM_render_pass_store_ops"
11261
11262
11263#define VK_EXT_fragment_density_map2 1
11264#define VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION 1
11265#define VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME "VK_EXT_fragment_density_map2"
11266typedef struct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT {
11267 VkStructureType sType;
11268 void* pNext;
11269 VkBool32 fragmentDensityMapDeferred;
11270} VkPhysicalDeviceFragmentDensityMap2FeaturesEXT;
11271
11272typedef struct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT {
11273 VkStructureType sType;
11274 void* pNext;
11275 VkBool32 subsampledLoads;
11276 VkBool32 subsampledCoarseReconstructionEarlyAccess;
11277 uint32_t maxSubsampledArrayLayers;
11278 uint32_t maxDescriptorSetSubsampledSamplers;
11279} VkPhysicalDeviceFragmentDensityMap2PropertiesEXT;
11280
11281
11282
11283#define VK_EXT_image_robustness 1
11284#define VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION 1
11285#define VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_image_robustness"
11286typedef struct VkPhysicalDeviceImageRobustnessFeaturesEXT {
11287 VkStructureType sType;
11288 void* pNext;
11289 VkBool32 robustImageAccess;
11290} VkPhysicalDeviceImageRobustnessFeaturesEXT;
11291
11292
11293
11294#define VK_EXT_4444_formats 1
11295#define VK_EXT_4444_FORMATS_SPEC_VERSION 1
11296#define VK_EXT_4444_FORMATS_EXTENSION_NAME "VK_EXT_4444_formats"
11297typedef struct VkPhysicalDevice4444FormatsFeaturesEXT {
11298 VkStructureType sType;
11299 void* pNext;
11300 VkBool32 formatA4R4G4B4;
11301 VkBool32 formatA4B4G4R4;
11302} VkPhysicalDevice4444FormatsFeaturesEXT;
11303
11304
11305#ifdef __cplusplus
11306}
11307#endif
11308
11309#endif
11310