2 #define VULKAN_CORE_H_ 1
9 ** Copyright (c) 2015-2019 The Khronos Group Inc.
11 ** Licensed under the Apache License, Version 2.0 (the "License");
12 ** you may not use this file except in compliance with the License.
13 ** You may obtain a copy of the License at
15 ** http://www.apache.org/licenses/LICENSE-2.0
17 ** Unless required by applicable law or agreed to in writing, software
18 ** distributed under the License is distributed on an "AS IS" BASIS,
19 ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20 ** See the License for the specific language governing permissions and
21 ** limitations under the License.
25 ** This header is generated from the Khronos Vulkan XML API Registry.
31 #define VK_VERSION_1_0 1
32 #include "vk_platform.h"
33 #define VK_MAKE_VERSION(major, minor, patch) \
34 (((major) << 22) | ((minor) << 12) | (patch))
36 // 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.
37 //#define VK_API_VERSION VK_MAKE_VERSION(1, 0, 0) // Patch version should always be set to 0
39 // Vulkan 1.0 version number
40 #define VK_API_VERSION_1_0 VK_MAKE_VERSION(1, 0, 0)// Patch version should always be set to 0
42 #define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22)
43 #define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3ff)
44 #define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xfff)
45 // Version of this file
46 #define VK_HEADER_VERSION 108
49 #define VK_NULL_HANDLE 0
52 #define VK_DEFINE_HANDLE(object) typedef struct object##_T* object;
55 #if !defined(VK_DEFINE_NON_DISPATCHABLE_HANDLE)
56 #if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__)
57 #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object;
59 #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t object;
63 typedef uint32_t VkFlags;
64 typedef uint32_t VkBool32;
65 typedef uint64_t VkDeviceSize;
66 typedef uint32_t VkSampleMask;
67 VK_DEFINE_HANDLE(VkInstance)
68 VK_DEFINE_HANDLE(VkPhysicalDevice)
69 VK_DEFINE_HANDLE(VkDevice)
70 VK_DEFINE_HANDLE(VkQueue)
71 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphore)
72 VK_DEFINE_HANDLE(VkCommandBuffer)
73 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFence)
74 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeviceMemory)
75 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer)
76 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage)
77 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkEvent)
78 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkQueryPool)
79 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferView)
80 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImageView)
81 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderModule)
82 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache)
83 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineLayout)
84 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass)
85 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipeline)
86 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout)
87 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSampler)
88 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool)
89 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSet)
90 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer)
91 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool)
92 #define VK_LOD_CLAMP_NONE 1000.0f
93 #define VK_REMAINING_MIP_LEVELS (~0U)
94 #define VK_REMAINING_ARRAY_LAYERS (~0U)
95 #define VK_WHOLE_SIZE (~0ULL)
96 #define VK_ATTACHMENT_UNUSED (~0U)
99 #define VK_QUEUE_FAMILY_IGNORED (~0U)
100 #define VK_SUBPASS_EXTERNAL (~0U)
101 #define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE 256
102 #define VK_UUID_SIZE 16
103 #define VK_MAX_MEMORY_TYPES 32
104 #define VK_MAX_MEMORY_HEAPS 16
105 #define VK_MAX_EXTENSION_NAME_SIZE 256
106 #define VK_MAX_DESCRIPTION_SIZE 256
108 typedef enum VkPipelineCacheHeaderVersion {
109 VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1,
110 VK_PIPELINE_CACHE_HEADER_VERSION_BEGIN_RANGE = VK_PIPELINE_CACHE_HEADER_VERSION_ONE,
111 VK_PIPELINE_CACHE_HEADER_VERSION_END_RANGE = VK_PIPELINE_CACHE_HEADER_VERSION_ONE,
112 VK_PIPELINE_CACHE_HEADER_VERSION_RANGE_SIZE = (VK_PIPELINE_CACHE_HEADER_VERSION_ONE - VK_PIPELINE_CACHE_HEADER_VERSION_ONE + 1),
113 VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF
114 } VkPipelineCacheHeaderVersion;
116 typedef enum VkResult {
123 VK_ERROR_OUT_OF_HOST_MEMORY = -1,
124 VK_ERROR_OUT_OF_DEVICE_MEMORY = -2,
125 VK_ERROR_INITIALIZATION_FAILED = -3,
126 VK_ERROR_DEVICE_LOST = -4,
127 VK_ERROR_MEMORY_MAP_FAILED = -5,
128 VK_ERROR_LAYER_NOT_PRESENT = -6,
129 VK_ERROR_EXTENSION_NOT_PRESENT = -7,
130 VK_ERROR_FEATURE_NOT_PRESENT = -8,
131 VK_ERROR_INCOMPATIBLE_DRIVER = -9,
132 VK_ERROR_TOO_MANY_OBJECTS = -10,
133 VK_ERROR_FORMAT_NOT_SUPPORTED = -11,
134 VK_ERROR_FRAGMENTED_POOL = -12,
135 VK_ERROR_OUT_OF_POOL_MEMORY = -1000069000,
136 VK_ERROR_INVALID_EXTERNAL_HANDLE = -1000072003,
137 VK_ERROR_SURFACE_LOST_KHR = -1000000000,
138 VK_ERROR_NATIVE_WINDOW_IN_USE_KHR = -1000000001,
139 VK_SUBOPTIMAL_KHR = 1000001003,
140 VK_ERROR_OUT_OF_DATE_KHR = -1000001004,
141 VK_ERROR_INCOMPATIBLE_DISPLAY_KHR = -1000003001,
142 VK_ERROR_VALIDATION_FAILED_EXT = -1000011001,
143 VK_ERROR_INVALID_SHADER_NV = -1000012000,
144 VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT = -1000158000,
145 VK_ERROR_FRAGMENTATION_EXT = -1000161000,
146 VK_ERROR_NOT_PERMITTED_EXT = -1000174001,
147 VK_ERROR_INVALID_DEVICE_ADDRESS_EXT = -1000244000,
148 VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT = -1000255000,
149 VK_ERROR_OUT_OF_POOL_MEMORY_KHR = VK_ERROR_OUT_OF_POOL_MEMORY,
150 VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = VK_ERROR_INVALID_EXTERNAL_HANDLE,
151 VK_RESULT_BEGIN_RANGE = VK_ERROR_FRAGMENTED_POOL,
152 VK_RESULT_END_RANGE = VK_INCOMPLETE,
153 VK_RESULT_RANGE_SIZE = (VK_INCOMPLETE - VK_ERROR_FRAGMENTED_POOL + 1),
154 VK_RESULT_MAX_ENUM = 0x7FFFFFFF
157 typedef enum VkStructureType {
158 VK_STRUCTURE_TYPE_APPLICATION_INFO = 0,
159 VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = 1,
160 VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO = 2,
161 VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO = 3,
162 VK_STRUCTURE_TYPE_SUBMIT_INFO = 4,
163 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO = 5,
164 VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = 6,
165 VK_STRUCTURE_TYPE_BIND_SPARSE_INFO = 7,
166 VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = 8,
167 VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO = 9,
168 VK_STRUCTURE_TYPE_EVENT_CREATE_INFO = 10,
169 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO = 11,
170 VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = 12,
171 VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO = 13,
172 VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = 14,
173 VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO = 15,
174 VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO = 16,
175 VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO = 17,
176 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO = 18,
177 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO = 19,
178 VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO = 20,
179 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO = 21,
180 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO = 22,
181 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO = 23,
182 VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO = 24,
183 VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO = 25,
184 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO = 26,
185 VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO = 27,
186 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO = 28,
187 VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO = 29,
188 VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO = 30,
189 VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO = 31,
190 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO = 32,
191 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO = 33,
192 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO = 34,
193 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = 35,
194 VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = 36,
195 VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO = 37,
196 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO = 38,
197 VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO = 39,
198 VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO = 40,
199 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO = 41,
200 VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO = 42,
201 VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = 43,
202 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER = 44,
203 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = 45,
204 VK_STRUCTURE_TYPE_MEMORY_BARRIER = 46,
205 VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO = 47,
206 VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO = 48,
207 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES = 1000094000,
208 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO = 1000157000,
209 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO = 1000157001,
210 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES = 1000083000,
211 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS = 1000127000,
212 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO = 1000127001,
213 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO = 1000060000,
214 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO = 1000060003,
215 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO = 1000060004,
216 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO = 1000060005,
217 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO = 1000060006,
218 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO = 1000060013,
219 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO = 1000060014,
220 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES = 1000070000,
221 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO = 1000070001,
222 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 = 1000146000,
223 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 = 1000146001,
224 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 = 1000146002,
225 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 = 1000146003,
226 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 = 1000146004,
227 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 = 1000059000,
228 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 = 1000059001,
229 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 = 1000059002,
230 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 = 1000059003,
231 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 = 1000059004,
232 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 = 1000059005,
233 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 = 1000059006,
234 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 = 1000059007,
235 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 = 1000059008,
236 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES = 1000117000,
237 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO = 1000117001,
238 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO = 1000117002,
239 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO = 1000117003,
240 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO = 1000053000,
241 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES = 1000053001,
242 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES = 1000053002,
243 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES = 1000120000,
244 VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO = 1000145000,
245 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES = 1000145001,
246 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES = 1000145002,
247 VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 = 1000145003,
248 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO = 1000156000,
249 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO = 1000156001,
250 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO = 1000156002,
251 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO = 1000156003,
252 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES = 1000156004,
253 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES = 1000156005,
254 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO = 1000085000,
255 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO = 1000071000,
256 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES = 1000071001,
257 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO = 1000071002,
258 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES = 1000071003,
259 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES = 1000071004,
260 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO = 1000072000,
261 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO = 1000072001,
262 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO = 1000072002,
263 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO = 1000112000,
264 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES = 1000112001,
265 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO = 1000113000,
266 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO = 1000077000,
267 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO = 1000076000,
268 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES = 1000076001,
269 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES = 1000168000,
270 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT = 1000168001,
271 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES = 1000063000,
272 VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR = 1000001000,
273 VK_STRUCTURE_TYPE_PRESENT_INFO_KHR = 1000001001,
274 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR = 1000060007,
275 VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR = 1000060008,
276 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR = 1000060009,
277 VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR = 1000060010,
278 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR = 1000060011,
279 VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR = 1000060012,
280 VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR = 1000002000,
281 VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR = 1000002001,
282 VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR = 1000003000,
283 VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR = 1000004000,
284 VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR = 1000005000,
285 VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR = 1000006000,
286 VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR = 1000008000,
287 VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR = 1000009000,
288 VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT = 1000011000,
289 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD = 1000018000,
290 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT = 1000022000,
291 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT = 1000022001,
292 VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT = 1000022002,
293 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000,
294 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001,
295 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV = 1000026002,
296 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT = 1000028000,
297 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT = 1000028001,
298 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT = 1000028002,
299 VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX = 1000030000,
300 VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000,
301 VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP = 1000049000,
302 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV = 1000050000,
303 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = 1000056000,
304 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV = 1000056001,
305 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057000,
306 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057001,
307 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV = 1000058000,
308 VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT = 1000061000,
309 VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN = 1000062000,
310 VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT = 1000067000,
311 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT = 1000067001,
312 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073000,
313 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073001,
314 VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR = 1000073002,
315 VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR = 1000073003,
316 VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR = 1000074000,
317 VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR = 1000074001,
318 VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR = 1000074002,
319 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR = 1000075000,
320 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078000,
321 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078001,
322 VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR = 1000078002,
323 VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR = 1000078003,
324 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR = 1000079000,
325 VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR = 1000079001,
326 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR = 1000080000,
327 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT = 1000081000,
328 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT = 1000081001,
329 VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT = 1000081002,
330 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR = 1000082000,
331 VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR = 1000084000,
332 VK_STRUCTURE_TYPE_OBJECT_TABLE_CREATE_INFO_NVX = 1000086000,
333 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NVX = 1000086001,
334 VK_STRUCTURE_TYPE_CMD_PROCESS_COMMANDS_INFO_NVX = 1000086002,
335 VK_STRUCTURE_TYPE_CMD_RESERVE_SPACE_FOR_COMMANDS_INFO_NVX = 1000086003,
336 VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_LIMITS_NVX = 1000086004,
337 VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_FEATURES_NVX = 1000086005,
338 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV = 1000087000,
339 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT = 1000090000,
340 VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT = 1000091000,
341 VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT = 1000091001,
342 VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT = 1000091002,
343 VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT = 1000091003,
344 VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE = 1000092000,
345 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX = 1000097000,
346 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV = 1000098000,
347 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT = 1000099000,
348 VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT = 1000099001,
349 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT = 1000101000,
350 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT = 1000101001,
351 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT = 1000102000,
352 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT = 1000102001,
353 VK_STRUCTURE_TYPE_HDR_METADATA_EXT = 1000105000,
354 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR = 1000108000,
355 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR = 1000108001,
356 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR = 1000108002,
357 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR = 1000108003,
358 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR = 1000109000,
359 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR = 1000109001,
360 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR = 1000109002,
361 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR = 1000109003,
362 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR = 1000109004,
363 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR = 1000109005,
364 VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR = 1000109006,
365 VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR = 1000111000,
366 VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114000,
367 VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114001,
368 VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR = 1000114002,
369 VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR = 1000115000,
370 VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR = 1000115001,
371 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR = 1000119000,
372 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR = 1000119001,
373 VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR = 1000119002,
374 VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR = 1000121000,
375 VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR = 1000121001,
376 VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR = 1000121002,
377 VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR = 1000121003,
378 VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR = 1000121004,
379 VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK = 1000122000,
380 VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK = 1000123000,
381 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT = 1000128000,
382 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT = 1000128001,
383 VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT = 1000128002,
384 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT = 1000128003,
385 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT = 1000128004,
386 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID = 1000129000,
387 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID = 1000129001,
388 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID = 1000129002,
389 VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129003,
390 VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129004,
391 VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID = 1000129005,
392 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = 1000130000,
393 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = 1000130001,
394 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT = 1000138000,
395 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT = 1000138001,
396 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT = 1000138002,
397 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT = 1000138003,
398 VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT = 1000143000,
399 VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT = 1000143001,
400 VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT = 1000143002,
401 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT = 1000143003,
402 VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT = 1000143004,
403 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR = 1000147000,
404 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT = 1000148000,
405 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT = 1000148001,
406 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT = 1000148002,
407 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV = 1000149000,
408 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV = 1000152000,
409 VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT = 1000158000,
410 VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT = 1000158001,
411 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT = 1000158002,
412 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT = 1000158003,
413 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT = 1000158004,
414 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT = 1000158005,
415 VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160000,
416 VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160001,
417 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT = 1000161000,
418 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT = 1000161001,
419 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT = 1000161002,
420 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT = 1000161003,
421 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = 1000161004,
422 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV = 1000164000,
423 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV = 1000164001,
424 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV = 1000164002,
425 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV = 1000164005,
426 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV = 1000165000,
427 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV = 1000165001,
428 VK_STRUCTURE_TYPE_GEOMETRY_NV = 1000165003,
429 VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV = 1000165004,
430 VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV = 1000165005,
431 VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV = 1000165006,
432 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV = 1000165007,
433 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV = 1000165008,
434 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV = 1000165009,
435 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV = 1000165011,
436 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV = 1000165012,
437 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV = 1000166000,
438 VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV = 1000166001,
439 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT = 1000170000,
440 VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT = 1000170001,
441 VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = 1000174000,
442 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = 1000177000,
443 VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT = 1000178000,
444 VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT = 1000178001,
445 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT = 1000178002,
446 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = 1000180000,
447 VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT = 1000184000,
448 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD = 1000185000,
449 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD = 1000189000,
450 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT = 1000190000,
451 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT = 1000190001,
452 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT = 1000190002,
453 VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP = 1000191000,
454 VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT = 1000192000,
455 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = 1000196000,
456 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = 1000197000,
457 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = 1000199000,
458 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR = 1000199001,
459 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV = 1000201000,
460 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV = 1000202000,
461 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV = 1000202001,
462 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV = 1000203000,
463 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV = 1000204000,
464 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV = 1000205000,
465 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV = 1000205002,
466 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV = 1000206000,
467 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV = 1000206001,
468 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS2_FEATURES_INTEL = 1000209000,
469 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = 1000211000,
470 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT = 1000212000,
471 VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD = 1000213000,
472 VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD = 1000213001,
473 VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA = 1000214000,
474 VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT = 1000217000,
475 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT = 1000218000,
476 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT = 1000218001,
477 VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT = 1000218002,
478 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT = 1000221000,
479 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT = 1000237000,
480 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT = 1000238000,
481 VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT = 1000238001,
482 VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR = 1000239000,
483 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV = 1000240000,
484 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT = 1000244000,
485 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = 1000244001,
486 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT = 1000244002,
487 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = 1000246000,
488 VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT = 1000247000,
489 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV = 1000249000,
490 VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249001,
491 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249002,
492 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV = 1000250000,
493 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV = 1000250001,
494 VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV = 1000250002,
495 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT = 1000252000,
496 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = 1000253000,
497 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT = 1000255000,
498 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT = 1000255002,
499 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT = 1000255001,
500 VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT = 1000256000,
501 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = 1000261000,
502 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT = 1000265000,
503 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = 1000276000,
504 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR = 1000269000,
505 VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR = 1000269001,
506 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR = 1000269002,
507 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR = 1000269003,
508 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR = 1000269004,
509 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR = 1000269005,
510 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
511 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
512 VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
513 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO,
514 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES,
515 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,
516 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2,
517 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2,
518 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2,
519 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2,
520 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2,
521 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2,
522 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2,
523 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2,
524 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2,
525 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO,
526 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO,
527 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO,
528 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO,
529 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO,
530 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO,
531 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO,
532 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES,
533 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO,
534 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO,
535 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES,
536 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO,
537 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES,
538 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES,
539 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO,
540 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO,
541 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO,
542 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO,
543 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES,
544 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO,
545 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES,
546 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO,
547 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT,
548 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO,
549 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES,
550 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO,
551 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES,
552 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO,
553 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO,
554 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO,
555 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES,
556 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES,
557 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS,
558 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO,
559 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2,
560 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2,
561 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2,
562 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2,
563 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2,
564 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO,
565 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO,
566 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO,
567 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO,
568 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,
569 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,
570 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO,
571 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO,
572 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,
573 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT,
574 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT,
575 VK_STRUCTURE_TYPE_BEGIN_RANGE = VK_STRUCTURE_TYPE_APPLICATION_INFO,
576 VK_STRUCTURE_TYPE_END_RANGE = VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO,
577 VK_STRUCTURE_TYPE_RANGE_SIZE = (VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO - VK_STRUCTURE_TYPE_APPLICATION_INFO + 1),
578 VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF
581 typedef enum VkSystemAllocationScope {
582 VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0,
583 VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1,
584 VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2,
585 VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3,
586 VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4,
587 VK_SYSTEM_ALLOCATION_SCOPE_BEGIN_RANGE = VK_SYSTEM_ALLOCATION_SCOPE_COMMAND,
588 VK_SYSTEM_ALLOCATION_SCOPE_END_RANGE = VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE,
589 VK_SYSTEM_ALLOCATION_SCOPE_RANGE_SIZE = (VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE - VK_SYSTEM_ALLOCATION_SCOPE_COMMAND + 1),
590 VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = 0x7FFFFFFF
591 } VkSystemAllocationScope;
593 typedef enum VkInternalAllocationType {
594 VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0,
595 VK_INTERNAL_ALLOCATION_TYPE_BEGIN_RANGE = VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE,
596 VK_INTERNAL_ALLOCATION_TYPE_END_RANGE = VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE,
597 VK_INTERNAL_ALLOCATION_TYPE_RANGE_SIZE = (VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE - VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE + 1),
598 VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM = 0x7FFFFFFF
599 } VkInternalAllocationType;
601 typedef enum VkFormat {
602 VK_FORMAT_UNDEFINED = 0,
603 VK_FORMAT_R4G4_UNORM_PACK8 = 1,
604 VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2,
605 VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3,
606 VK_FORMAT_R5G6B5_UNORM_PACK16 = 4,
607 VK_FORMAT_B5G6R5_UNORM_PACK16 = 5,
608 VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6,
609 VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7,
610 VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8,
611 VK_FORMAT_R8_UNORM = 9,
612 VK_FORMAT_R8_SNORM = 10,
613 VK_FORMAT_R8_USCALED = 11,
614 VK_FORMAT_R8_SSCALED = 12,
615 VK_FORMAT_R8_UINT = 13,
616 VK_FORMAT_R8_SINT = 14,
617 VK_FORMAT_R8_SRGB = 15,
618 VK_FORMAT_R8G8_UNORM = 16,
619 VK_FORMAT_R8G8_SNORM = 17,
620 VK_FORMAT_R8G8_USCALED = 18,
621 VK_FORMAT_R8G8_SSCALED = 19,
622 VK_FORMAT_R8G8_UINT = 20,
623 VK_FORMAT_R8G8_SINT = 21,
624 VK_FORMAT_R8G8_SRGB = 22,
625 VK_FORMAT_R8G8B8_UNORM = 23,
626 VK_FORMAT_R8G8B8_SNORM = 24,
627 VK_FORMAT_R8G8B8_USCALED = 25,
628 VK_FORMAT_R8G8B8_SSCALED = 26,
629 VK_FORMAT_R8G8B8_UINT = 27,
630 VK_FORMAT_R8G8B8_SINT = 28,
631 VK_FORMAT_R8G8B8_SRGB = 29,
632 VK_FORMAT_B8G8R8_UNORM = 30,
633 VK_FORMAT_B8G8R8_SNORM = 31,
634 VK_FORMAT_B8G8R8_USCALED = 32,
635 VK_FORMAT_B8G8R8_SSCALED = 33,
636 VK_FORMAT_B8G8R8_UINT = 34,
637 VK_FORMAT_B8G8R8_SINT = 35,
638 VK_FORMAT_B8G8R8_SRGB = 36,
639 VK_FORMAT_R8G8B8A8_UNORM = 37,
640 VK_FORMAT_R8G8B8A8_SNORM = 38,
641 VK_FORMAT_R8G8B8A8_USCALED = 39,
642 VK_FORMAT_R8G8B8A8_SSCALED = 40,
643 VK_FORMAT_R8G8B8A8_UINT = 41,
644 VK_FORMAT_R8G8B8A8_SINT = 42,
645 VK_FORMAT_R8G8B8A8_SRGB = 43,
646 VK_FORMAT_B8G8R8A8_UNORM = 44,
647 VK_FORMAT_B8G8R8A8_SNORM = 45,
648 VK_FORMAT_B8G8R8A8_USCALED = 46,
649 VK_FORMAT_B8G8R8A8_SSCALED = 47,
650 VK_FORMAT_B8G8R8A8_UINT = 48,
651 VK_FORMAT_B8G8R8A8_SINT = 49,
652 VK_FORMAT_B8G8R8A8_SRGB = 50,
653 VK_FORMAT_A8B8G8R8_UNORM_PACK32 = 51,
654 VK_FORMAT_A8B8G8R8_SNORM_PACK32 = 52,
655 VK_FORMAT_A8B8G8R8_USCALED_PACK32 = 53,
656 VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54,
657 VK_FORMAT_A8B8G8R8_UINT_PACK32 = 55,
658 VK_FORMAT_A8B8G8R8_SINT_PACK32 = 56,
659 VK_FORMAT_A8B8G8R8_SRGB_PACK32 = 57,
660 VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58,
661 VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59,
662 VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 60,
663 VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61,
664 VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62,
665 VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63,
666 VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64,
667 VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65,
668 VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 66,
669 VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67,
670 VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68,
671 VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69,
672 VK_FORMAT_R16_UNORM = 70,
673 VK_FORMAT_R16_SNORM = 71,
674 VK_FORMAT_R16_USCALED = 72,
675 VK_FORMAT_R16_SSCALED = 73,
676 VK_FORMAT_R16_UINT = 74,
677 VK_FORMAT_R16_SINT = 75,
678 VK_FORMAT_R16_SFLOAT = 76,
679 VK_FORMAT_R16G16_UNORM = 77,
680 VK_FORMAT_R16G16_SNORM = 78,
681 VK_FORMAT_R16G16_USCALED = 79,
682 VK_FORMAT_R16G16_SSCALED = 80,
683 VK_FORMAT_R16G16_UINT = 81,
684 VK_FORMAT_R16G16_SINT = 82,
685 VK_FORMAT_R16G16_SFLOAT = 83,
686 VK_FORMAT_R16G16B16_UNORM = 84,
687 VK_FORMAT_R16G16B16_SNORM = 85,
688 VK_FORMAT_R16G16B16_USCALED = 86,
689 VK_FORMAT_R16G16B16_SSCALED = 87,
690 VK_FORMAT_R16G16B16_UINT = 88,
691 VK_FORMAT_R16G16B16_SINT = 89,
692 VK_FORMAT_R16G16B16_SFLOAT = 90,
693 VK_FORMAT_R16G16B16A16_UNORM = 91,
694 VK_FORMAT_R16G16B16A16_SNORM = 92,
695 VK_FORMAT_R16G16B16A16_USCALED = 93,
696 VK_FORMAT_R16G16B16A16_SSCALED = 94,
697 VK_FORMAT_R16G16B16A16_UINT = 95,
698 VK_FORMAT_R16G16B16A16_SINT = 96,
699 VK_FORMAT_R16G16B16A16_SFLOAT = 97,
700 VK_FORMAT_R32_UINT = 98,
701 VK_FORMAT_R32_SINT = 99,
702 VK_FORMAT_R32_SFLOAT = 100,
703 VK_FORMAT_R32G32_UINT = 101,
704 VK_FORMAT_R32G32_SINT = 102,
705 VK_FORMAT_R32G32_SFLOAT = 103,
706 VK_FORMAT_R32G32B32_UINT = 104,
707 VK_FORMAT_R32G32B32_SINT = 105,
708 VK_FORMAT_R32G32B32_SFLOAT = 106,
709 VK_FORMAT_R32G32B32A32_UINT = 107,
710 VK_FORMAT_R32G32B32A32_SINT = 108,
711 VK_FORMAT_R32G32B32A32_SFLOAT = 109,
712 VK_FORMAT_R64_UINT = 110,
713 VK_FORMAT_R64_SINT = 111,
714 VK_FORMAT_R64_SFLOAT = 112,
715 VK_FORMAT_R64G64_UINT = 113,
716 VK_FORMAT_R64G64_SINT = 114,
717 VK_FORMAT_R64G64_SFLOAT = 115,
718 VK_FORMAT_R64G64B64_UINT = 116,
719 VK_FORMAT_R64G64B64_SINT = 117,
720 VK_FORMAT_R64G64B64_SFLOAT = 118,
721 VK_FORMAT_R64G64B64A64_UINT = 119,
722 VK_FORMAT_R64G64B64A64_SINT = 120,
723 VK_FORMAT_R64G64B64A64_SFLOAT = 121,
724 VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122,
725 VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123,
726 VK_FORMAT_D16_UNORM = 124,
727 VK_FORMAT_X8_D24_UNORM_PACK32 = 125,
728 VK_FORMAT_D32_SFLOAT = 126,
729 VK_FORMAT_S8_UINT = 127,
730 VK_FORMAT_D16_UNORM_S8_UINT = 128,
731 VK_FORMAT_D24_UNORM_S8_UINT = 129,
732 VK_FORMAT_D32_SFLOAT_S8_UINT = 130,
733 VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131,
734 VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132,
735 VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133,
736 VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134,
737 VK_FORMAT_BC2_UNORM_BLOCK = 135,
738 VK_FORMAT_BC2_SRGB_BLOCK = 136,
739 VK_FORMAT_BC3_UNORM_BLOCK = 137,
740 VK_FORMAT_BC3_SRGB_BLOCK = 138,
741 VK_FORMAT_BC4_UNORM_BLOCK = 139,
742 VK_FORMAT_BC4_SNORM_BLOCK = 140,
743 VK_FORMAT_BC5_UNORM_BLOCK = 141,
744 VK_FORMAT_BC5_SNORM_BLOCK = 142,
745 VK_FORMAT_BC6H_UFLOAT_BLOCK = 143,
746 VK_FORMAT_BC6H_SFLOAT_BLOCK = 144,
747 VK_FORMAT_BC7_UNORM_BLOCK = 145,
748 VK_FORMAT_BC7_SRGB_BLOCK = 146,
749 VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147,
750 VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148,
751 VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149,
752 VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150,
753 VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151,
754 VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152,
755 VK_FORMAT_EAC_R11_UNORM_BLOCK = 153,
756 VK_FORMAT_EAC_R11_SNORM_BLOCK = 154,
757 VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155,
758 VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156,
759 VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157,
760 VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158,
761 VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159,
762 VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160,
763 VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161,
764 VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162,
765 VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163,
766 VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164,
767 VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165,
768 VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166,
769 VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167,
770 VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168,
771 VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169,
772 VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170,
773 VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171,
774 VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172,
775 VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173,
776 VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174,
777 VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175,
778 VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176,
779 VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177,
780 VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178,
781 VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179,
782 VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180,
783 VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181,
784 VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182,
785 VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183,
786 VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184,
787 VK_FORMAT_G8B8G8R8_422_UNORM = 1000156000,
788 VK_FORMAT_B8G8R8G8_422_UNORM = 1000156001,
789 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM = 1000156002,
790 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM = 1000156003,
791 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM = 1000156004,
792 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM = 1000156005,
793 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM = 1000156006,
794 VK_FORMAT_R10X6_UNORM_PACK16 = 1000156007,
795 VK_FORMAT_R10X6G10X6_UNORM_2PACK16 = 1000156008,
796 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 1000156009,
797 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 1000156010,
798 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 1000156011,
799 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 1000156012,
800 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 1000156013,
801 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 1000156014,
802 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 1000156015,
803 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 1000156016,
804 VK_FORMAT_R12X4_UNORM_PACK16 = 1000156017,
805 VK_FORMAT_R12X4G12X4_UNORM_2PACK16 = 1000156018,
806 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 1000156019,
807 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 1000156020,
808 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 1000156021,
809 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 1000156022,
810 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 1000156023,
811 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 1000156024,
812 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 1000156025,
813 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 1000156026,
814 VK_FORMAT_G16B16G16R16_422_UNORM = 1000156027,
815 VK_FORMAT_B16G16R16G16_422_UNORM = 1000156028,
816 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM = 1000156029,
817 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM = 1000156030,
818 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM = 1000156031,
819 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM = 1000156032,
820 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM = 1000156033,
821 VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG = 1000054000,
822 VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001,
823 VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = 1000054002,
824 VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG = 1000054003,
825 VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG = 1000054004,
826 VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005,
827 VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006,
828 VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007,
829 VK_FORMAT_G8B8G8R8_422_UNORM_KHR = VK_FORMAT_G8B8G8R8_422_UNORM,
830 VK_FORMAT_B8G8R8G8_422_UNORM_KHR = VK_FORMAT_B8G8R8G8_422_UNORM,
831 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM,
832 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM,
833 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM,
834 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM,
835 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM,
836 VK_FORMAT_R10X6_UNORM_PACK16_KHR = VK_FORMAT_R10X6_UNORM_PACK16,
837 VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR = VK_FORMAT_R10X6G10X6_UNORM_2PACK16,
838 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16,
839 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16,
840 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16,
841 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16,
842 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16,
843 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16,
844 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16,
845 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16,
846 VK_FORMAT_R12X4_UNORM_PACK16_KHR = VK_FORMAT_R12X4_UNORM_PACK16,
847 VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR = VK_FORMAT_R12X4G12X4_UNORM_2PACK16,
848 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16,
849 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16,
850 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16,
851 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16,
852 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16,
853 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16,
854 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16,
855 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16,
856 VK_FORMAT_G16B16G16R16_422_UNORM_KHR = VK_FORMAT_G16B16G16R16_422_UNORM,
857 VK_FORMAT_B16G16R16G16_422_UNORM_KHR = VK_FORMAT_B16G16R16G16_422_UNORM,
858 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM,
859 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM,
860 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM,
861 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM,
862 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM,
863 VK_FORMAT_BEGIN_RANGE = VK_FORMAT_UNDEFINED,
864 VK_FORMAT_END_RANGE = VK_FORMAT_ASTC_12x12_SRGB_BLOCK,
865 VK_FORMAT_RANGE_SIZE = (VK_FORMAT_ASTC_12x12_SRGB_BLOCK - VK_FORMAT_UNDEFINED + 1),
866 VK_FORMAT_MAX_ENUM = 0x7FFFFFFF
869 typedef enum VkImageType {
870 VK_IMAGE_TYPE_1D = 0,
871 VK_IMAGE_TYPE_2D = 1,
872 VK_IMAGE_TYPE_3D = 2,
873 VK_IMAGE_TYPE_BEGIN_RANGE = VK_IMAGE_TYPE_1D,
874 VK_IMAGE_TYPE_END_RANGE = VK_IMAGE_TYPE_3D,
875 VK_IMAGE_TYPE_RANGE_SIZE = (VK_IMAGE_TYPE_3D - VK_IMAGE_TYPE_1D + 1),
876 VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF
879 typedef enum VkImageTiling {
880 VK_IMAGE_TILING_OPTIMAL = 0,
881 VK_IMAGE_TILING_LINEAR = 1,
882 VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT = 1000158000,
883 VK_IMAGE_TILING_BEGIN_RANGE = VK_IMAGE_TILING_OPTIMAL,
884 VK_IMAGE_TILING_END_RANGE = VK_IMAGE_TILING_LINEAR,
885 VK_IMAGE_TILING_RANGE_SIZE = (VK_IMAGE_TILING_LINEAR - VK_IMAGE_TILING_OPTIMAL + 1),
886 VK_IMAGE_TILING_MAX_ENUM = 0x7FFFFFFF
889 typedef enum VkPhysicalDeviceType {
890 VK_PHYSICAL_DEVICE_TYPE_OTHER = 0,
891 VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1,
892 VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2,
893 VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3,
894 VK_PHYSICAL_DEVICE_TYPE_CPU = 4,
895 VK_PHYSICAL_DEVICE_TYPE_BEGIN_RANGE = VK_PHYSICAL_DEVICE_TYPE_OTHER,
896 VK_PHYSICAL_DEVICE_TYPE_END_RANGE = VK_PHYSICAL_DEVICE_TYPE_CPU,
897 VK_PHYSICAL_DEVICE_TYPE_RANGE_SIZE = (VK_PHYSICAL_DEVICE_TYPE_CPU - VK_PHYSICAL_DEVICE_TYPE_OTHER + 1),
898 VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM = 0x7FFFFFFF
899 } VkPhysicalDeviceType;
901 typedef enum VkQueryType {
902 VK_QUERY_TYPE_OCCLUSION = 0,
903 VK_QUERY_TYPE_PIPELINE_STATISTICS = 1,
904 VK_QUERY_TYPE_TIMESTAMP = 2,
905 VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT = 1000028004,
906 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV = 1000165000,
907 VK_QUERY_TYPE_BEGIN_RANGE = VK_QUERY_TYPE_OCCLUSION,
908 VK_QUERY_TYPE_END_RANGE = VK_QUERY_TYPE_TIMESTAMP,
909 VK_QUERY_TYPE_RANGE_SIZE = (VK_QUERY_TYPE_TIMESTAMP - VK_QUERY_TYPE_OCCLUSION + 1),
910 VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF
913 typedef enum VkSharingMode {
914 VK_SHARING_MODE_EXCLUSIVE = 0,
915 VK_SHARING_MODE_CONCURRENT = 1,
916 VK_SHARING_MODE_BEGIN_RANGE = VK_SHARING_MODE_EXCLUSIVE,
917 VK_SHARING_MODE_END_RANGE = VK_SHARING_MODE_CONCURRENT,
918 VK_SHARING_MODE_RANGE_SIZE = (VK_SHARING_MODE_CONCURRENT - VK_SHARING_MODE_EXCLUSIVE + 1),
919 VK_SHARING_MODE_MAX_ENUM = 0x7FFFFFFF
922 typedef enum VkImageLayout {
923 VK_IMAGE_LAYOUT_UNDEFINED = 0,
924 VK_IMAGE_LAYOUT_GENERAL = 1,
925 VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2,
926 VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3,
927 VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4,
928 VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5,
929 VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6,
930 VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7,
931 VK_IMAGE_LAYOUT_PREINITIALIZED = 8,
932 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL = 1000117000,
933 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL = 1000117001,
934 VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002,
935 VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR = 1000111000,
936 VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = 1000164003,
937 VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000,
938 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,
939 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,
940 VK_IMAGE_LAYOUT_BEGIN_RANGE = VK_IMAGE_LAYOUT_UNDEFINED,
941 VK_IMAGE_LAYOUT_END_RANGE = VK_IMAGE_LAYOUT_PREINITIALIZED,
942 VK_IMAGE_LAYOUT_RANGE_SIZE = (VK_IMAGE_LAYOUT_PREINITIALIZED - VK_IMAGE_LAYOUT_UNDEFINED + 1),
943 VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF
946 typedef enum VkImageViewType {
947 VK_IMAGE_VIEW_TYPE_1D = 0,
948 VK_IMAGE_VIEW_TYPE_2D = 1,
949 VK_IMAGE_VIEW_TYPE_3D = 2,
950 VK_IMAGE_VIEW_TYPE_CUBE = 3,
951 VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4,
952 VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5,
953 VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6,
954 VK_IMAGE_VIEW_TYPE_BEGIN_RANGE = VK_IMAGE_VIEW_TYPE_1D,
955 VK_IMAGE_VIEW_TYPE_END_RANGE = VK_IMAGE_VIEW_TYPE_CUBE_ARRAY,
956 VK_IMAGE_VIEW_TYPE_RANGE_SIZE = (VK_IMAGE_VIEW_TYPE_CUBE_ARRAY - VK_IMAGE_VIEW_TYPE_1D + 1),
957 VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7FFFFFFF
960 typedef enum VkComponentSwizzle {
961 VK_COMPONENT_SWIZZLE_IDENTITY = 0,
962 VK_COMPONENT_SWIZZLE_ZERO = 1,
963 VK_COMPONENT_SWIZZLE_ONE = 2,
964 VK_COMPONENT_SWIZZLE_R = 3,
965 VK_COMPONENT_SWIZZLE_G = 4,
966 VK_COMPONENT_SWIZZLE_B = 5,
967 VK_COMPONENT_SWIZZLE_A = 6,
968 VK_COMPONENT_SWIZZLE_BEGIN_RANGE = VK_COMPONENT_SWIZZLE_IDENTITY,
969 VK_COMPONENT_SWIZZLE_END_RANGE = VK_COMPONENT_SWIZZLE_A,
970 VK_COMPONENT_SWIZZLE_RANGE_SIZE = (VK_COMPONENT_SWIZZLE_A - VK_COMPONENT_SWIZZLE_IDENTITY + 1),
971 VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF
972 } VkComponentSwizzle;
974 typedef enum VkVertexInputRate {
975 VK_VERTEX_INPUT_RATE_VERTEX = 0,
976 VK_VERTEX_INPUT_RATE_INSTANCE = 1,
977 VK_VERTEX_INPUT_RATE_BEGIN_RANGE = VK_VERTEX_INPUT_RATE_VERTEX,
978 VK_VERTEX_INPUT_RATE_END_RANGE = VK_VERTEX_INPUT_RATE_INSTANCE,
979 VK_VERTEX_INPUT_RATE_RANGE_SIZE = (VK_VERTEX_INPUT_RATE_INSTANCE - VK_VERTEX_INPUT_RATE_VERTEX + 1),
980 VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF
983 typedef enum VkPrimitiveTopology {
984 VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0,
985 VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1,
986 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2,
987 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3,
988 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4,
989 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5,
990 VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6,
991 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7,
992 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8,
993 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9,
994 VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10,
995 VK_PRIMITIVE_TOPOLOGY_BEGIN_RANGE = VK_PRIMITIVE_TOPOLOGY_POINT_LIST,
996 VK_PRIMITIVE_TOPOLOGY_END_RANGE = VK_PRIMITIVE_TOPOLOGY_PATCH_LIST,
997 VK_PRIMITIVE_TOPOLOGY_RANGE_SIZE = (VK_PRIMITIVE_TOPOLOGY_PATCH_LIST - VK_PRIMITIVE_TOPOLOGY_POINT_LIST + 1),
998 VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7FFFFFFF
999 } VkPrimitiveTopology;
1001 typedef enum VkPolygonMode {
1002 VK_POLYGON_MODE_FILL = 0,
1003 VK_POLYGON_MODE_LINE = 1,
1004 VK_POLYGON_MODE_POINT = 2,
1005 VK_POLYGON_MODE_FILL_RECTANGLE_NV = 1000153000,
1006 VK_POLYGON_MODE_BEGIN_RANGE = VK_POLYGON_MODE_FILL,
1007 VK_POLYGON_MODE_END_RANGE = VK_POLYGON_MODE_POINT,
1008 VK_POLYGON_MODE_RANGE_SIZE = (VK_POLYGON_MODE_POINT - VK_POLYGON_MODE_FILL + 1),
1009 VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF
1012 typedef enum VkFrontFace {
1013 VK_FRONT_FACE_COUNTER_CLOCKWISE = 0,
1014 VK_FRONT_FACE_CLOCKWISE = 1,
1015 VK_FRONT_FACE_BEGIN_RANGE = VK_FRONT_FACE_COUNTER_CLOCKWISE,
1016 VK_FRONT_FACE_END_RANGE = VK_FRONT_FACE_CLOCKWISE,
1017 VK_FRONT_FACE_RANGE_SIZE = (VK_FRONT_FACE_CLOCKWISE - VK_FRONT_FACE_COUNTER_CLOCKWISE + 1),
1018 VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF
1021 typedef enum VkCompareOp {
1022 VK_COMPARE_OP_NEVER = 0,
1023 VK_COMPARE_OP_LESS = 1,
1024 VK_COMPARE_OP_EQUAL = 2,
1025 VK_COMPARE_OP_LESS_OR_EQUAL = 3,
1026 VK_COMPARE_OP_GREATER = 4,
1027 VK_COMPARE_OP_NOT_EQUAL = 5,
1028 VK_COMPARE_OP_GREATER_OR_EQUAL = 6,
1029 VK_COMPARE_OP_ALWAYS = 7,
1030 VK_COMPARE_OP_BEGIN_RANGE = VK_COMPARE_OP_NEVER,
1031 VK_COMPARE_OP_END_RANGE = VK_COMPARE_OP_ALWAYS,
1032 VK_COMPARE_OP_RANGE_SIZE = (VK_COMPARE_OP_ALWAYS - VK_COMPARE_OP_NEVER + 1),
1033 VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF
1036 typedef enum VkStencilOp {
1037 VK_STENCIL_OP_KEEP = 0,
1038 VK_STENCIL_OP_ZERO = 1,
1039 VK_STENCIL_OP_REPLACE = 2,
1040 VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3,
1041 VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4,
1042 VK_STENCIL_OP_INVERT = 5,
1043 VK_STENCIL_OP_INCREMENT_AND_WRAP = 6,
1044 VK_STENCIL_OP_DECREMENT_AND_WRAP = 7,
1045 VK_STENCIL_OP_BEGIN_RANGE = VK_STENCIL_OP_KEEP,
1046 VK_STENCIL_OP_END_RANGE = VK_STENCIL_OP_DECREMENT_AND_WRAP,
1047 VK_STENCIL_OP_RANGE_SIZE = (VK_STENCIL_OP_DECREMENT_AND_WRAP - VK_STENCIL_OP_KEEP + 1),
1048 VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF
1051 typedef enum VkLogicOp {
1052 VK_LOGIC_OP_CLEAR = 0,
1053 VK_LOGIC_OP_AND = 1,
1054 VK_LOGIC_OP_AND_REVERSE = 2,
1055 VK_LOGIC_OP_COPY = 3,
1056 VK_LOGIC_OP_AND_INVERTED = 4,
1057 VK_LOGIC_OP_NO_OP = 5,
1058 VK_LOGIC_OP_XOR = 6,
1060 VK_LOGIC_OP_NOR = 8,
1061 VK_LOGIC_OP_EQUIVALENT = 9,
1062 VK_LOGIC_OP_INVERT = 10,
1063 VK_LOGIC_OP_OR_REVERSE = 11,
1064 VK_LOGIC_OP_COPY_INVERTED = 12,
1065 VK_LOGIC_OP_OR_INVERTED = 13,
1066 VK_LOGIC_OP_NAND = 14,
1067 VK_LOGIC_OP_SET = 15,
1068 VK_LOGIC_OP_BEGIN_RANGE = VK_LOGIC_OP_CLEAR,
1069 VK_LOGIC_OP_END_RANGE = VK_LOGIC_OP_SET,
1070 VK_LOGIC_OP_RANGE_SIZE = (VK_LOGIC_OP_SET - VK_LOGIC_OP_CLEAR + 1),
1071 VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF
1074 typedef enum VkBlendFactor {
1075 VK_BLEND_FACTOR_ZERO = 0,
1076 VK_BLEND_FACTOR_ONE = 1,
1077 VK_BLEND_FACTOR_SRC_COLOR = 2,
1078 VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3,
1079 VK_BLEND_FACTOR_DST_COLOR = 4,
1080 VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5,
1081 VK_BLEND_FACTOR_SRC_ALPHA = 6,
1082 VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7,
1083 VK_BLEND_FACTOR_DST_ALPHA = 8,
1084 VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9,
1085 VK_BLEND_FACTOR_CONSTANT_COLOR = 10,
1086 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11,
1087 VK_BLEND_FACTOR_CONSTANT_ALPHA = 12,
1088 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13,
1089 VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14,
1090 VK_BLEND_FACTOR_SRC1_COLOR = 15,
1091 VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16,
1092 VK_BLEND_FACTOR_SRC1_ALPHA = 17,
1093 VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18,
1094 VK_BLEND_FACTOR_BEGIN_RANGE = VK_BLEND_FACTOR_ZERO,
1095 VK_BLEND_FACTOR_END_RANGE = VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA,
1096 VK_BLEND_FACTOR_RANGE_SIZE = (VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA - VK_BLEND_FACTOR_ZERO + 1),
1097 VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF
1100 typedef enum VkBlendOp {
1101 VK_BLEND_OP_ADD = 0,
1102 VK_BLEND_OP_SUBTRACT = 1,
1103 VK_BLEND_OP_REVERSE_SUBTRACT = 2,
1104 VK_BLEND_OP_MIN = 3,
1105 VK_BLEND_OP_MAX = 4,
1106 VK_BLEND_OP_ZERO_EXT = 1000148000,
1107 VK_BLEND_OP_SRC_EXT = 1000148001,
1108 VK_BLEND_OP_DST_EXT = 1000148002,
1109 VK_BLEND_OP_SRC_OVER_EXT = 1000148003,
1110 VK_BLEND_OP_DST_OVER_EXT = 1000148004,
1111 VK_BLEND_OP_SRC_IN_EXT = 1000148005,
1112 VK_BLEND_OP_DST_IN_EXT = 1000148006,
1113 VK_BLEND_OP_SRC_OUT_EXT = 1000148007,
1114 VK_BLEND_OP_DST_OUT_EXT = 1000148008,
1115 VK_BLEND_OP_SRC_ATOP_EXT = 1000148009,
1116 VK_BLEND_OP_DST_ATOP_EXT = 1000148010,
1117 VK_BLEND_OP_XOR_EXT = 1000148011,
1118 VK_BLEND_OP_MULTIPLY_EXT = 1000148012,
1119 VK_BLEND_OP_SCREEN_EXT = 1000148013,
1120 VK_BLEND_OP_OVERLAY_EXT = 1000148014,
1121 VK_BLEND_OP_DARKEN_EXT = 1000148015,
1122 VK_BLEND_OP_LIGHTEN_EXT = 1000148016,
1123 VK_BLEND_OP_COLORDODGE_EXT = 1000148017,
1124 VK_BLEND_OP_COLORBURN_EXT = 1000148018,
1125 VK_BLEND_OP_HARDLIGHT_EXT = 1000148019,
1126 VK_BLEND_OP_SOFTLIGHT_EXT = 1000148020,
1127 VK_BLEND_OP_DIFFERENCE_EXT = 1000148021,
1128 VK_BLEND_OP_EXCLUSION_EXT = 1000148022,
1129 VK_BLEND_OP_INVERT_EXT = 1000148023,
1130 VK_BLEND_OP_INVERT_RGB_EXT = 1000148024,
1131 VK_BLEND_OP_LINEARDODGE_EXT = 1000148025,
1132 VK_BLEND_OP_LINEARBURN_EXT = 1000148026,
1133 VK_BLEND_OP_VIVIDLIGHT_EXT = 1000148027,
1134 VK_BLEND_OP_LINEARLIGHT_EXT = 1000148028,
1135 VK_BLEND_OP_PINLIGHT_EXT = 1000148029,
1136 VK_BLEND_OP_HARDMIX_EXT = 1000148030,
1137 VK_BLEND_OP_HSL_HUE_EXT = 1000148031,
1138 VK_BLEND_OP_HSL_SATURATION_EXT = 1000148032,
1139 VK_BLEND_OP_HSL_COLOR_EXT = 1000148033,
1140 VK_BLEND_OP_HSL_LUMINOSITY_EXT = 1000148034,
1141 VK_BLEND_OP_PLUS_EXT = 1000148035,
1142 VK_BLEND_OP_PLUS_CLAMPED_EXT = 1000148036,
1143 VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT = 1000148037,
1144 VK_BLEND_OP_PLUS_DARKER_EXT = 1000148038,
1145 VK_BLEND_OP_MINUS_EXT = 1000148039,
1146 VK_BLEND_OP_MINUS_CLAMPED_EXT = 1000148040,
1147 VK_BLEND_OP_CONTRAST_EXT = 1000148041,
1148 VK_BLEND_OP_INVERT_OVG_EXT = 1000148042,
1149 VK_BLEND_OP_RED_EXT = 1000148043,
1150 VK_BLEND_OP_GREEN_EXT = 1000148044,
1151 VK_BLEND_OP_BLUE_EXT = 1000148045,
1152 VK_BLEND_OP_BEGIN_RANGE = VK_BLEND_OP_ADD,
1153 VK_BLEND_OP_END_RANGE = VK_BLEND_OP_MAX,
1154 VK_BLEND_OP_RANGE_SIZE = (VK_BLEND_OP_MAX - VK_BLEND_OP_ADD + 1),
1155 VK_BLEND_OP_MAX_ENUM = 0x7FFFFFFF
1158 typedef enum VkDynamicState {
1159 VK_DYNAMIC_STATE_VIEWPORT = 0,
1160 VK_DYNAMIC_STATE_SCISSOR = 1,
1161 VK_DYNAMIC_STATE_LINE_WIDTH = 2,
1162 VK_DYNAMIC_STATE_DEPTH_BIAS = 3,
1163 VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4,
1164 VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5,
1165 VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6,
1166 VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7,
1167 VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8,
1168 VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV = 1000087000,
1169 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000,
1170 VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT = 1000143000,
1171 VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV = 1000164004,
1172 VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV = 1000164006,
1173 VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV = 1000205001,
1174 VK_DYNAMIC_STATE_BEGIN_RANGE = VK_DYNAMIC_STATE_VIEWPORT,
1175 VK_DYNAMIC_STATE_END_RANGE = VK_DYNAMIC_STATE_STENCIL_REFERENCE,
1176 VK_DYNAMIC_STATE_RANGE_SIZE = (VK_DYNAMIC_STATE_STENCIL_REFERENCE - VK_DYNAMIC_STATE_VIEWPORT + 1),
1177 VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF
1180 typedef enum VkFilter {
1181 VK_FILTER_NEAREST = 0,
1182 VK_FILTER_LINEAR = 1,
1183 VK_FILTER_CUBIC_IMG = 1000015000,
1184 VK_FILTER_CUBIC_EXT = VK_FILTER_CUBIC_IMG,
1185 VK_FILTER_BEGIN_RANGE = VK_FILTER_NEAREST,
1186 VK_FILTER_END_RANGE = VK_FILTER_LINEAR,
1187 VK_FILTER_RANGE_SIZE = (VK_FILTER_LINEAR - VK_FILTER_NEAREST + 1),
1188 VK_FILTER_MAX_ENUM = 0x7FFFFFFF
1191 typedef enum VkSamplerMipmapMode {
1192 VK_SAMPLER_MIPMAP_MODE_NEAREST = 0,
1193 VK_SAMPLER_MIPMAP_MODE_LINEAR = 1,
1194 VK_SAMPLER_MIPMAP_MODE_BEGIN_RANGE = VK_SAMPLER_MIPMAP_MODE_NEAREST,
1195 VK_SAMPLER_MIPMAP_MODE_END_RANGE = VK_SAMPLER_MIPMAP_MODE_LINEAR,
1196 VK_SAMPLER_MIPMAP_MODE_RANGE_SIZE = (VK_SAMPLER_MIPMAP_MODE_LINEAR - VK_SAMPLER_MIPMAP_MODE_NEAREST + 1),
1197 VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF
1198 } VkSamplerMipmapMode;
1200 typedef enum VkSamplerAddressMode {
1201 VK_SAMPLER_ADDRESS_MODE_REPEAT = 0,
1202 VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1,
1203 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2,
1204 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3,
1205 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4,
1206 VK_SAMPLER_ADDRESS_MODE_BEGIN_RANGE = VK_SAMPLER_ADDRESS_MODE_REPEAT,
1207 VK_SAMPLER_ADDRESS_MODE_END_RANGE = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER,
1208 VK_SAMPLER_ADDRESS_MODE_RANGE_SIZE = (VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER - VK_SAMPLER_ADDRESS_MODE_REPEAT + 1),
1209 VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = 0x7FFFFFFF
1210 } VkSamplerAddressMode;
1212 typedef enum VkBorderColor {
1213 VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0,
1214 VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1,
1215 VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2,
1216 VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3,
1217 VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4,
1218 VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5,
1219 VK_BORDER_COLOR_BEGIN_RANGE = VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK,
1220 VK_BORDER_COLOR_END_RANGE = VK_BORDER_COLOR_INT_OPAQUE_WHITE,
1221 VK_BORDER_COLOR_RANGE_SIZE = (VK_BORDER_COLOR_INT_OPAQUE_WHITE - VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK + 1),
1222 VK_BORDER_COLOR_MAX_ENUM = 0x7FFFFFFF
1225 typedef enum VkDescriptorType {
1226 VK_DESCRIPTOR_TYPE_SAMPLER = 0,
1227 VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1,
1228 VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2,
1229 VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3,
1230 VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4,
1231 VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5,
1232 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6,
1233 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7,
1234 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8,
1235 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9,
1236 VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10,
1237 VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT = 1000138000,
1238 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000,
1239 VK_DESCRIPTOR_TYPE_BEGIN_RANGE = VK_DESCRIPTOR_TYPE_SAMPLER,
1240 VK_DESCRIPTOR_TYPE_END_RANGE = VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT,
1241 VK_DESCRIPTOR_TYPE_RANGE_SIZE = (VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT - VK_DESCRIPTOR_TYPE_SAMPLER + 1),
1242 VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF
1245 typedef enum VkAttachmentLoadOp {
1246 VK_ATTACHMENT_LOAD_OP_LOAD = 0,
1247 VK_ATTACHMENT_LOAD_OP_CLEAR = 1,
1248 VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2,
1249 VK_ATTACHMENT_LOAD_OP_BEGIN_RANGE = VK_ATTACHMENT_LOAD_OP_LOAD,
1250 VK_ATTACHMENT_LOAD_OP_END_RANGE = VK_ATTACHMENT_LOAD_OP_DONT_CARE,
1251 VK_ATTACHMENT_LOAD_OP_RANGE_SIZE = (VK_ATTACHMENT_LOAD_OP_DONT_CARE - VK_ATTACHMENT_LOAD_OP_LOAD + 1),
1252 VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7FFFFFFF
1253 } VkAttachmentLoadOp;
1255 typedef enum VkAttachmentStoreOp {
1256 VK_ATTACHMENT_STORE_OP_STORE = 0,
1257 VK_ATTACHMENT_STORE_OP_DONT_CARE = 1,
1258 VK_ATTACHMENT_STORE_OP_BEGIN_RANGE = VK_ATTACHMENT_STORE_OP_STORE,
1259 VK_ATTACHMENT_STORE_OP_END_RANGE = VK_ATTACHMENT_STORE_OP_DONT_CARE,
1260 VK_ATTACHMENT_STORE_OP_RANGE_SIZE = (VK_ATTACHMENT_STORE_OP_DONT_CARE - VK_ATTACHMENT_STORE_OP_STORE + 1),
1261 VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF
1262 } VkAttachmentStoreOp;
1264 typedef enum VkPipelineBindPoint {
1265 VK_PIPELINE_BIND_POINT_GRAPHICS = 0,
1266 VK_PIPELINE_BIND_POINT_COMPUTE = 1,
1267 VK_PIPELINE_BIND_POINT_RAY_TRACING_NV = 1000165000,
1268 VK_PIPELINE_BIND_POINT_BEGIN_RANGE = VK_PIPELINE_BIND_POINT_GRAPHICS,
1269 VK_PIPELINE_BIND_POINT_END_RANGE = VK_PIPELINE_BIND_POINT_COMPUTE,
1270 VK_PIPELINE_BIND_POINT_RANGE_SIZE = (VK_PIPELINE_BIND_POINT_COMPUTE - VK_PIPELINE_BIND_POINT_GRAPHICS + 1),
1271 VK_PIPELINE_BIND_POINT_MAX_ENUM = 0x7FFFFFFF
1272 } VkPipelineBindPoint;
1274 typedef enum VkCommandBufferLevel {
1275 VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0,
1276 VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1,
1277 VK_COMMAND_BUFFER_LEVEL_BEGIN_RANGE = VK_COMMAND_BUFFER_LEVEL_PRIMARY,
1278 VK_COMMAND_BUFFER_LEVEL_END_RANGE = VK_COMMAND_BUFFER_LEVEL_SECONDARY,
1279 VK_COMMAND_BUFFER_LEVEL_RANGE_SIZE = (VK_COMMAND_BUFFER_LEVEL_SECONDARY - VK_COMMAND_BUFFER_LEVEL_PRIMARY + 1),
1280 VK_COMMAND_BUFFER_LEVEL_MAX_ENUM = 0x7FFFFFFF
1281 } VkCommandBufferLevel;
1283 typedef enum VkIndexType {
1284 VK_INDEX_TYPE_UINT16 = 0,
1285 VK_INDEX_TYPE_UINT32 = 1,
1286 VK_INDEX_TYPE_NONE_NV = 1000165000,
1287 VK_INDEX_TYPE_UINT8_EXT = 1000265000,
1288 VK_INDEX_TYPE_BEGIN_RANGE = VK_INDEX_TYPE_UINT16,
1289 VK_INDEX_TYPE_END_RANGE = VK_INDEX_TYPE_UINT32,
1290 VK_INDEX_TYPE_RANGE_SIZE = (VK_INDEX_TYPE_UINT32 - VK_INDEX_TYPE_UINT16 + 1),
1291 VK_INDEX_TYPE_MAX_ENUM = 0x7FFFFFFF
1294 typedef enum VkSubpassContents {
1295 VK_SUBPASS_CONTENTS_INLINE = 0,
1296 VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1,
1297 VK_SUBPASS_CONTENTS_BEGIN_RANGE = VK_SUBPASS_CONTENTS_INLINE,
1298 VK_SUBPASS_CONTENTS_END_RANGE = VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS,
1299 VK_SUBPASS_CONTENTS_RANGE_SIZE = (VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS - VK_SUBPASS_CONTENTS_INLINE + 1),
1300 VK_SUBPASS_CONTENTS_MAX_ENUM = 0x7FFFFFFF
1301 } VkSubpassContents;
1303 typedef enum VkObjectType {
1304 VK_OBJECT_TYPE_UNKNOWN = 0,
1305 VK_OBJECT_TYPE_INSTANCE = 1,
1306 VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2,
1307 VK_OBJECT_TYPE_DEVICE = 3,
1308 VK_OBJECT_TYPE_QUEUE = 4,
1309 VK_OBJECT_TYPE_SEMAPHORE = 5,
1310 VK_OBJECT_TYPE_COMMAND_BUFFER = 6,
1311 VK_OBJECT_TYPE_FENCE = 7,
1312 VK_OBJECT_TYPE_DEVICE_MEMORY = 8,
1313 VK_OBJECT_TYPE_BUFFER = 9,
1314 VK_OBJECT_TYPE_IMAGE = 10,
1315 VK_OBJECT_TYPE_EVENT = 11,
1316 VK_OBJECT_TYPE_QUERY_POOL = 12,
1317 VK_OBJECT_TYPE_BUFFER_VIEW = 13,
1318 VK_OBJECT_TYPE_IMAGE_VIEW = 14,
1319 VK_OBJECT_TYPE_SHADER_MODULE = 15,
1320 VK_OBJECT_TYPE_PIPELINE_CACHE = 16,
1321 VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17,
1322 VK_OBJECT_TYPE_RENDER_PASS = 18,
1323 VK_OBJECT_TYPE_PIPELINE = 19,
1324 VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20,
1325 VK_OBJECT_TYPE_SAMPLER = 21,
1326 VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22,
1327 VK_OBJECT_TYPE_DESCRIPTOR_SET = 23,
1328 VK_OBJECT_TYPE_FRAMEBUFFER = 24,
1329 VK_OBJECT_TYPE_COMMAND_POOL = 25,
1330 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION = 1000156000,
1331 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE = 1000085000,
1332 VK_OBJECT_TYPE_SURFACE_KHR = 1000000000,
1333 VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000,
1334 VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000,
1335 VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001,
1336 VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000,
1337 VK_OBJECT_TYPE_OBJECT_TABLE_NVX = 1000086000,
1338 VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX = 1000086001,
1339 VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000,
1340 VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000,
1341 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000,
1342 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,
1343 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,
1344 VK_OBJECT_TYPE_BEGIN_RANGE = VK_OBJECT_TYPE_UNKNOWN,
1345 VK_OBJECT_TYPE_END_RANGE = VK_OBJECT_TYPE_COMMAND_POOL,
1346 VK_OBJECT_TYPE_RANGE_SIZE = (VK_OBJECT_TYPE_COMMAND_POOL - VK_OBJECT_TYPE_UNKNOWN + 1),
1347 VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF
1350 typedef enum VkVendorId {
1351 VK_VENDOR_ID_VIV = 0x10001,
1352 VK_VENDOR_ID_VSI = 0x10002,
1353 VK_VENDOR_ID_KAZAN = 0x10003,
1354 VK_VENDOR_ID_BEGIN_RANGE = VK_VENDOR_ID_VIV,
1355 VK_VENDOR_ID_END_RANGE = VK_VENDOR_ID_KAZAN,
1356 VK_VENDOR_ID_RANGE_SIZE = (VK_VENDOR_ID_KAZAN - VK_VENDOR_ID_VIV + 1),
1357 VK_VENDOR_ID_MAX_ENUM = 0x7FFFFFFF
1359 typedef VkFlags VkInstanceCreateFlags;
1361 typedef enum VkFormatFeatureFlagBits {
1362 VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 0x00000001,
1363 VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 0x00000002,
1364 VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004,
1365 VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008,
1366 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 0x00000010,
1367 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020,
1368 VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 0x00000040,
1369 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 0x00000080,
1370 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100,
1371 VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200,
1372 VK_FORMAT_FEATURE_BLIT_SRC_BIT = 0x00000400,
1373 VK_FORMAT_FEATURE_BLIT_DST_BIT = 0x00000800,
1374 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000,
1375 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT = 0x00004000,
1376 VK_FORMAT_FEATURE_TRANSFER_DST_BIT = 0x00008000,
1377 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000,
1378 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000,
1379 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000,
1380 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000,
1381 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000,
1382 VK_FORMAT_FEATURE_DISJOINT_BIT = 0x00400000,
1383 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT = 0x00800000,
1384 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = 0x00002000,
1385 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT = 0x00010000,
1386 VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000,
1387 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT,
1388 VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_DST_BIT,
1389 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT,
1390 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT,
1391 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT,
1392 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT,
1393 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,
1394 VK_FORMAT_FEATURE_DISJOINT_BIT_KHR = VK_FORMAT_FEATURE_DISJOINT_BIT,
1395 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT,
1396 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG,
1397 VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1398 } VkFormatFeatureFlagBits;
1399 typedef VkFlags VkFormatFeatureFlags;
1401 typedef enum VkImageUsageFlagBits {
1402 VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 0x00000001,
1403 VK_IMAGE_USAGE_TRANSFER_DST_BIT = 0x00000002,
1404 VK_IMAGE_USAGE_SAMPLED_BIT = 0x00000004,
1405 VK_IMAGE_USAGE_STORAGE_BIT = 0x00000008,
1406 VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000010,
1407 VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000020,
1408 VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000040,
1409 VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0x00000080,
1410 VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = 0x00000100,
1411 VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x00000200,
1412 VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1413 } VkImageUsageFlagBits;
1414 typedef VkFlags VkImageUsageFlags;
1416 typedef enum VkImageCreateFlagBits {
1417 VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 0x00000001,
1418 VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
1419 VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
1420 VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 0x00000008,
1421 VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 0x00000010,
1422 VK_IMAGE_CREATE_ALIAS_BIT = 0x00000400,
1423 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT = 0x00000040,
1424 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT = 0x00000020,
1425 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT = 0x00000080,
1426 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT = 0x00000100,
1427 VK_IMAGE_CREATE_PROTECTED_BIT = 0x00000800,
1428 VK_IMAGE_CREATE_DISJOINT_BIT = 0x00000200,
1429 VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 0x00002000,
1430 VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000,
1431 VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 0x00004000,
1432 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT,
1433 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT,
1434 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT,
1435 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT,
1436 VK_IMAGE_CREATE_DISJOINT_BIT_KHR = VK_IMAGE_CREATE_DISJOINT_BIT,
1437 VK_IMAGE_CREATE_ALIAS_BIT_KHR = VK_IMAGE_CREATE_ALIAS_BIT,
1438 VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1439 } VkImageCreateFlagBits;
1440 typedef VkFlags VkImageCreateFlags;
1442 typedef enum VkSampleCountFlagBits {
1443 VK_SAMPLE_COUNT_1_BIT = 0x00000001,
1444 VK_SAMPLE_COUNT_2_BIT = 0x00000002,
1445 VK_SAMPLE_COUNT_4_BIT = 0x00000004,
1446 VK_SAMPLE_COUNT_8_BIT = 0x00000008,
1447 VK_SAMPLE_COUNT_16_BIT = 0x00000010,
1448 VK_SAMPLE_COUNT_32_BIT = 0x00000020,
1449 VK_SAMPLE_COUNT_64_BIT = 0x00000040,
1450 VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1451 } VkSampleCountFlagBits;
1452 typedef VkFlags VkSampleCountFlags;
1454 typedef enum VkQueueFlagBits {
1455 VK_QUEUE_GRAPHICS_BIT = 0x00000001,
1456 VK_QUEUE_COMPUTE_BIT = 0x00000002,
1457 VK_QUEUE_TRANSFER_BIT = 0x00000004,
1458 VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008,
1459 VK_QUEUE_PROTECTED_BIT = 0x00000010,
1460 VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1462 typedef VkFlags VkQueueFlags;
1464 typedef enum VkMemoryPropertyFlagBits {
1465 VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 0x00000001,
1466 VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 0x00000002,
1467 VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 0x00000004,
1468 VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 0x00000008,
1469 VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 0x00000010,
1470 VK_MEMORY_PROPERTY_PROTECTED_BIT = 0x00000020,
1471 VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1472 } VkMemoryPropertyFlagBits;
1473 typedef VkFlags VkMemoryPropertyFlags;
1475 typedef enum VkMemoryHeapFlagBits {
1476 VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0x00000001,
1477 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = 0x00000002,
1478 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT,
1479 VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1480 } VkMemoryHeapFlagBits;
1481 typedef VkFlags VkMemoryHeapFlags;
1482 typedef VkFlags VkDeviceCreateFlags;
1484 typedef enum VkDeviceQueueCreateFlagBits {
1485 VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT = 0x00000001,
1486 VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1487 } VkDeviceQueueCreateFlagBits;
1488 typedef VkFlags VkDeviceQueueCreateFlags;
1490 typedef enum VkPipelineStageFlagBits {
1491 VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 0x00000001,
1492 VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 0x00000002,
1493 VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 0x00000004,
1494 VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 0x00000008,
1495 VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010,
1496 VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020,
1497 VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 0x00000040,
1498 VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 0x00000080,
1499 VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 0x00000100,
1500 VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 0x00000200,
1501 VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400,
1502 VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 0x00000800,
1503 VK_PIPELINE_STAGE_TRANSFER_BIT = 0x00001000,
1504 VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 0x00002000,
1505 VK_PIPELINE_STAGE_HOST_BIT = 0x00004000,
1506 VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0x00008000,
1507 VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00010000,
1508 VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000,
1509 VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000,
1510 VK_PIPELINE_STAGE_COMMAND_PROCESS_BIT_NVX = 0x00020000,
1511 VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = 0x00400000,
1512 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV = 0x00200000,
1513 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 0x02000000,
1514 VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV = 0x00080000,
1515 VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV = 0x00100000,
1516 VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000,
1517 VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1518 } VkPipelineStageFlagBits;
1519 typedef VkFlags VkPipelineStageFlags;
1520 typedef VkFlags VkMemoryMapFlags;
1522 typedef enum VkImageAspectFlagBits {
1523 VK_IMAGE_ASPECT_COLOR_BIT = 0x00000001,
1524 VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002,
1525 VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004,
1526 VK_IMAGE_ASPECT_METADATA_BIT = 0x00000008,
1527 VK_IMAGE_ASPECT_PLANE_0_BIT = 0x00000010,
1528 VK_IMAGE_ASPECT_PLANE_1_BIT = 0x00000020,
1529 VK_IMAGE_ASPECT_PLANE_2_BIT = 0x00000040,
1530 VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 0x00000080,
1531 VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 0x00000100,
1532 VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 0x00000200,
1533 VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = 0x00000400,
1534 VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = VK_IMAGE_ASPECT_PLANE_0_BIT,
1535 VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = VK_IMAGE_ASPECT_PLANE_1_BIT,
1536 VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = VK_IMAGE_ASPECT_PLANE_2_BIT,
1537 VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1538 } VkImageAspectFlagBits;
1539 typedef VkFlags VkImageAspectFlags;
1541 typedef enum VkSparseImageFormatFlagBits {
1542 VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 0x00000001,
1543 VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 0x00000002,
1544 VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 0x00000004,
1545 VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1546 } VkSparseImageFormatFlagBits;
1547 typedef VkFlags VkSparseImageFormatFlags;
1549 typedef enum VkSparseMemoryBindFlagBits {
1550 VK_SPARSE_MEMORY_BIND_METADATA_BIT = 0x00000001,
1551 VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1552 } VkSparseMemoryBindFlagBits;
1553 typedef VkFlags VkSparseMemoryBindFlags;
1555 typedef enum VkFenceCreateFlagBits {
1556 VK_FENCE_CREATE_SIGNALED_BIT = 0x00000001,
1557 VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1558 } VkFenceCreateFlagBits;
1559 typedef VkFlags VkFenceCreateFlags;
1560 typedef VkFlags VkSemaphoreCreateFlags;
1561 typedef VkFlags VkEventCreateFlags;
1562 typedef VkFlags VkQueryPoolCreateFlags;
1564 typedef enum VkQueryPipelineStatisticFlagBits {
1565 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 0x00000001,
1566 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 0x00000002,
1567 VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 0x00000004,
1568 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 0x00000008,
1569 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 0x00000010,
1570 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 0x00000020,
1571 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 0x00000040,
1572 VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 0x00000080,
1573 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 0x00000100,
1574 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 0x00000200,
1575 VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 0x00000400,
1576 VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1577 } VkQueryPipelineStatisticFlagBits;
1578 typedef VkFlags VkQueryPipelineStatisticFlags;
1580 typedef enum VkQueryResultFlagBits {
1581 VK_QUERY_RESULT_64_BIT = 0x00000001,
1582 VK_QUERY_RESULT_WAIT_BIT = 0x00000002,
1583 VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004,
1584 VK_QUERY_RESULT_PARTIAL_BIT = 0x00000008,
1585 VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1586 } VkQueryResultFlagBits;
1587 typedef VkFlags VkQueryResultFlags;
1589 typedef enum VkBufferCreateFlagBits {
1590 VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 0x00000001,
1591 VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
1592 VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
1593 VK_BUFFER_CREATE_PROTECTED_BIT = 0x00000008,
1594 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = 0x00000010,
1595 VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1596 } VkBufferCreateFlagBits;
1597 typedef VkFlags VkBufferCreateFlags;
1599 typedef enum VkBufferUsageFlagBits {
1600 VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 0x00000001,
1601 VK_BUFFER_USAGE_TRANSFER_DST_BIT = 0x00000002,
1602 VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000004,
1603 VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 0x00000008,
1604 VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 0x00000010,
1605 VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 0x00000020,
1606 VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 0x00000040,
1607 VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 0x00000080,
1608 VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 0x00000100,
1609 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0x00000800,
1610 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000,
1611 VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200,
1612 VK_BUFFER_USAGE_RAY_TRACING_BIT_NV = 0x00000400,
1613 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT = 0x00020000,
1614 VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1615 } VkBufferUsageFlagBits;
1616 typedef VkFlags VkBufferUsageFlags;
1617 typedef VkFlags VkBufferViewCreateFlags;
1619 typedef enum VkImageViewCreateFlagBits {
1620 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT = 0x00000001,
1621 VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1622 } VkImageViewCreateFlagBits;
1623 typedef VkFlags VkImageViewCreateFlags;
1624 typedef VkFlags VkShaderModuleCreateFlags;
1625 typedef VkFlags VkPipelineCacheCreateFlags;
1627 typedef enum VkPipelineCreateFlagBits {
1628 VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0x00000001,
1629 VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 0x00000002,
1630 VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0x00000004,
1631 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 0x00000008,
1632 VK_PIPELINE_CREATE_DISPATCH_BASE = 0x00000010,
1633 VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV = 0x00000020,
1634 VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR = 0x00000040,
1635 VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 0x00000080,
1636 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT,
1637 VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = VK_PIPELINE_CREATE_DISPATCH_BASE,
1638 VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1639 } VkPipelineCreateFlagBits;
1640 typedef VkFlags VkPipelineCreateFlags;
1641 typedef VkFlags VkPipelineShaderStageCreateFlags;
1643 typedef enum VkShaderStageFlagBits {
1644 VK_SHADER_STAGE_VERTEX_BIT = 0x00000001,
1645 VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 0x00000002,
1646 VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 0x00000004,
1647 VK_SHADER_STAGE_GEOMETRY_BIT = 0x00000008,
1648 VK_SHADER_STAGE_FRAGMENT_BIT = 0x00000010,
1649 VK_SHADER_STAGE_COMPUTE_BIT = 0x00000020,
1650 VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001F,
1651 VK_SHADER_STAGE_ALL = 0x7FFFFFFF,
1652 VK_SHADER_STAGE_RAYGEN_BIT_NV = 0x00000100,
1653 VK_SHADER_STAGE_ANY_HIT_BIT_NV = 0x00000200,
1654 VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV = 0x00000400,
1655 VK_SHADER_STAGE_MISS_BIT_NV = 0x00000800,
1656 VK_SHADER_STAGE_INTERSECTION_BIT_NV = 0x00001000,
1657 VK_SHADER_STAGE_CALLABLE_BIT_NV = 0x00002000,
1658 VK_SHADER_STAGE_TASK_BIT_NV = 0x00000040,
1659 VK_SHADER_STAGE_MESH_BIT_NV = 0x00000080,
1660 VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1661 } VkShaderStageFlagBits;
1662 typedef VkFlags VkPipelineVertexInputStateCreateFlags;
1663 typedef VkFlags VkPipelineInputAssemblyStateCreateFlags;
1664 typedef VkFlags VkPipelineTessellationStateCreateFlags;
1665 typedef VkFlags VkPipelineViewportStateCreateFlags;
1666 typedef VkFlags VkPipelineRasterizationStateCreateFlags;
1668 typedef enum VkCullModeFlagBits {
1669 VK_CULL_MODE_NONE = 0,
1670 VK_CULL_MODE_FRONT_BIT = 0x00000001,
1671 VK_CULL_MODE_BACK_BIT = 0x00000002,
1672 VK_CULL_MODE_FRONT_AND_BACK = 0x00000003,
1673 VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1674 } VkCullModeFlagBits;
1675 typedef VkFlags VkCullModeFlags;
1676 typedef VkFlags VkPipelineMultisampleStateCreateFlags;
1677 typedef VkFlags VkPipelineDepthStencilStateCreateFlags;
1678 typedef VkFlags VkPipelineColorBlendStateCreateFlags;
1680 typedef enum VkColorComponentFlagBits {
1681 VK_COLOR_COMPONENT_R_BIT = 0x00000001,
1682 VK_COLOR_COMPONENT_G_BIT = 0x00000002,
1683 VK_COLOR_COMPONENT_B_BIT = 0x00000004,
1684 VK_COLOR_COMPONENT_A_BIT = 0x00000008,
1685 VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1686 } VkColorComponentFlagBits;
1687 typedef VkFlags VkColorComponentFlags;
1688 typedef VkFlags VkPipelineDynamicStateCreateFlags;
1689 typedef VkFlags VkPipelineLayoutCreateFlags;
1690 typedef VkFlags VkShaderStageFlags;
1692 typedef enum VkSamplerCreateFlagBits {
1693 VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT = 0x00000001,
1694 VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT = 0x00000002,
1695 VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1696 } VkSamplerCreateFlagBits;
1697 typedef VkFlags VkSamplerCreateFlags;
1699 typedef enum VkDescriptorSetLayoutCreateFlagBits {
1700 VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = 0x00000001,
1701 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT = 0x00000002,
1702 VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1703 } VkDescriptorSetLayoutCreateFlagBits;
1704 typedef VkFlags VkDescriptorSetLayoutCreateFlags;
1706 typedef enum VkDescriptorPoolCreateFlagBits {
1707 VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001,
1708 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT = 0x00000002,
1709 VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1710 } VkDescriptorPoolCreateFlagBits;
1711 typedef VkFlags VkDescriptorPoolCreateFlags;
1712 typedef VkFlags VkDescriptorPoolResetFlags;
1714 typedef enum VkFramebufferCreateFlagBits {
1715 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR = 0x00000001,
1716 VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1717 } VkFramebufferCreateFlagBits;
1718 typedef VkFlags VkFramebufferCreateFlags;
1719 typedef VkFlags VkRenderPassCreateFlags;
1721 typedef enum VkAttachmentDescriptionFlagBits {
1722 VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001,
1723 VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1724 } VkAttachmentDescriptionFlagBits;
1725 typedef VkFlags VkAttachmentDescriptionFlags;
1727 typedef enum VkSubpassDescriptionFlagBits {
1728 VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX = 0x00000001,
1729 VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 0x00000002,
1730 VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1731 } VkSubpassDescriptionFlagBits;
1732 typedef VkFlags VkSubpassDescriptionFlags;
1734 typedef enum VkAccessFlagBits {
1735 VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001,
1736 VK_ACCESS_INDEX_READ_BIT = 0x00000002,
1737 VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004,
1738 VK_ACCESS_UNIFORM_READ_BIT = 0x00000008,
1739 VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 0x00000010,
1740 VK_ACCESS_SHADER_READ_BIT = 0x00000020,
1741 VK_ACCESS_SHADER_WRITE_BIT = 0x00000040,
1742 VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 0x00000080,
1743 VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100,
1744 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200,
1745 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400,
1746 VK_ACCESS_TRANSFER_READ_BIT = 0x00000800,
1747 VK_ACCESS_TRANSFER_WRITE_BIT = 0x00001000,
1748 VK_ACCESS_HOST_READ_BIT = 0x00002000,
1749 VK_ACCESS_HOST_WRITE_BIT = 0x00004000,
1750 VK_ACCESS_MEMORY_READ_BIT = 0x00008000,
1751 VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000,
1752 VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000,
1753 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000,
1754 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000,
1755 VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000,
1756 VK_ACCESS_COMMAND_PROCESS_READ_BIT_NVX = 0x00020000,
1757 VK_ACCESS_COMMAND_PROCESS_WRITE_BIT_NVX = 0x00040000,
1758 VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000,
1759 VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000,
1760 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = 0x00200000,
1761 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 0x00400000,
1762 VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000,
1763 VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1765 typedef VkFlags VkAccessFlags;
1767 typedef enum VkDependencyFlagBits {
1768 VK_DEPENDENCY_BY_REGION_BIT = 0x00000001,
1769 VK_DEPENDENCY_DEVICE_GROUP_BIT = 0x00000004,
1770 VK_DEPENDENCY_VIEW_LOCAL_BIT = 0x00000002,
1771 VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR = VK_DEPENDENCY_VIEW_LOCAL_BIT,
1772 VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR = VK_DEPENDENCY_DEVICE_GROUP_BIT,
1773 VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1774 } VkDependencyFlagBits;
1775 typedef VkFlags VkDependencyFlags;
1777 typedef enum VkCommandPoolCreateFlagBits {
1778 VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 0x00000001,
1779 VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002,
1780 VK_COMMAND_POOL_CREATE_PROTECTED_BIT = 0x00000004,
1781 VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1782 } VkCommandPoolCreateFlagBits;
1783 typedef VkFlags VkCommandPoolCreateFlags;
1785 typedef enum VkCommandPoolResetFlagBits {
1786 VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
1787 VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1788 } VkCommandPoolResetFlagBits;
1789 typedef VkFlags VkCommandPoolResetFlags;
1791 typedef enum VkCommandBufferUsageFlagBits {
1792 VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 0x00000001,
1793 VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 0x00000002,
1794 VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 0x00000004,
1795 VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1796 } VkCommandBufferUsageFlagBits;
1797 typedef VkFlags VkCommandBufferUsageFlags;
1799 typedef enum VkQueryControlFlagBits {
1800 VK_QUERY_CONTROL_PRECISE_BIT = 0x00000001,
1801 VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1802 } VkQueryControlFlagBits;
1803 typedef VkFlags VkQueryControlFlags;
1805 typedef enum VkCommandBufferResetFlagBits {
1806 VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
1807 VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1808 } VkCommandBufferResetFlagBits;
1809 typedef VkFlags VkCommandBufferResetFlags;
1811 typedef enum VkStencilFaceFlagBits {
1812 VK_STENCIL_FACE_FRONT_BIT = 0x00000001,
1813 VK_STENCIL_FACE_BACK_BIT = 0x00000002,
1814 VK_STENCIL_FRONT_AND_BACK = 0x00000003,
1815 VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1816 } VkStencilFaceFlagBits;
1817 typedef VkFlags VkStencilFaceFlags;
1818 typedef struct VkApplicationInfo {
1819 VkStructureType sType;
1821 const char* pApplicationName;
1822 uint32_t applicationVersion;
1823 const char* pEngineName;
1824 uint32_t engineVersion;
1825 uint32_t apiVersion;
1826 } VkApplicationInfo;
1828 typedef struct VkInstanceCreateInfo {
1829 VkStructureType sType;
1831 VkInstanceCreateFlags flags;
1832 const VkApplicationInfo* pApplicationInfo;
1833 uint32_t enabledLayerCount;
1834 const char* const* ppEnabledLayerNames;
1835 uint32_t enabledExtensionCount;
1836 const char* const* ppEnabledExtensionNames;
1837 } VkInstanceCreateInfo;
1839 typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
1843 VkSystemAllocationScope allocationScope);
1845 typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
1850 VkSystemAllocationScope allocationScope);
1852 typedef void (VKAPI_PTR *PFN_vkFreeFunction)(
1856 typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(
1859 VkInternalAllocationType allocationType,
1860 VkSystemAllocationScope allocationScope);
1862 typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(
1865 VkInternalAllocationType allocationType,
1866 VkSystemAllocationScope allocationScope);
1868 typedef struct VkAllocationCallbacks {
1870 PFN_vkAllocationFunction pfnAllocation;
1871 PFN_vkReallocationFunction pfnReallocation;
1872 PFN_vkFreeFunction pfnFree;
1873 PFN_vkInternalAllocationNotification pfnInternalAllocation;
1874 PFN_vkInternalFreeNotification pfnInternalFree;
1875 } VkAllocationCallbacks;
1877 typedef struct VkPhysicalDeviceFeatures {
1878 VkBool32 robustBufferAccess;
1879 VkBool32 fullDrawIndexUint32;
1880 VkBool32 imageCubeArray;
1881 VkBool32 independentBlend;
1882 VkBool32 geometryShader;
1883 VkBool32 tessellationShader;
1884 VkBool32 sampleRateShading;
1885 VkBool32 dualSrcBlend;
1887 VkBool32 multiDrawIndirect;
1888 VkBool32 drawIndirectFirstInstance;
1889 VkBool32 depthClamp;
1890 VkBool32 depthBiasClamp;
1891 VkBool32 fillModeNonSolid;
1892 VkBool32 depthBounds;
1894 VkBool32 largePoints;
1895 VkBool32 alphaToOne;
1896 VkBool32 multiViewport;
1897 VkBool32 samplerAnisotropy;
1898 VkBool32 textureCompressionETC2;
1899 VkBool32 textureCompressionASTC_LDR;
1900 VkBool32 textureCompressionBC;
1901 VkBool32 occlusionQueryPrecise;
1902 VkBool32 pipelineStatisticsQuery;
1903 VkBool32 vertexPipelineStoresAndAtomics;
1904 VkBool32 fragmentStoresAndAtomics;
1905 VkBool32 shaderTessellationAndGeometryPointSize;
1906 VkBool32 shaderImageGatherExtended;
1907 VkBool32 shaderStorageImageExtendedFormats;
1908 VkBool32 shaderStorageImageMultisample;
1909 VkBool32 shaderStorageImageReadWithoutFormat;
1910 VkBool32 shaderStorageImageWriteWithoutFormat;
1911 VkBool32 shaderUniformBufferArrayDynamicIndexing;
1912 VkBool32 shaderSampledImageArrayDynamicIndexing;
1913 VkBool32 shaderStorageBufferArrayDynamicIndexing;
1914 VkBool32 shaderStorageImageArrayDynamicIndexing;
1915 VkBool32 shaderClipDistance;
1916 VkBool32 shaderCullDistance;
1917 VkBool32 shaderFloat64;
1918 VkBool32 shaderInt64;
1919 VkBool32 shaderInt16;
1920 VkBool32 shaderResourceResidency;
1921 VkBool32 shaderResourceMinLod;
1922 VkBool32 sparseBinding;
1923 VkBool32 sparseResidencyBuffer;
1924 VkBool32 sparseResidencyImage2D;
1925 VkBool32 sparseResidencyImage3D;
1926 VkBool32 sparseResidency2Samples;
1927 VkBool32 sparseResidency4Samples;
1928 VkBool32 sparseResidency8Samples;
1929 VkBool32 sparseResidency16Samples;
1930 VkBool32 sparseResidencyAliased;
1931 VkBool32 variableMultisampleRate;
1932 VkBool32 inheritedQueries;
1933 } VkPhysicalDeviceFeatures;
1935 typedef struct VkFormatProperties {
1936 VkFormatFeatureFlags linearTilingFeatures;
1937 VkFormatFeatureFlags optimalTilingFeatures;
1938 VkFormatFeatureFlags bufferFeatures;
1939 } VkFormatProperties;
1941 typedef struct VkExtent3D {
1947 typedef struct VkImageFormatProperties {
1948 VkExtent3D maxExtent;
1949 uint32_t maxMipLevels;
1950 uint32_t maxArrayLayers;
1951 VkSampleCountFlags sampleCounts;
1952 VkDeviceSize maxResourceSize;
1953 } VkImageFormatProperties;
1955 typedef struct VkPhysicalDeviceLimits {
1956 uint32_t maxImageDimension1D;
1957 uint32_t maxImageDimension2D;
1958 uint32_t maxImageDimension3D;
1959 uint32_t maxImageDimensionCube;
1960 uint32_t maxImageArrayLayers;
1961 uint32_t maxTexelBufferElements;
1962 uint32_t maxUniformBufferRange;
1963 uint32_t maxStorageBufferRange;
1964 uint32_t maxPushConstantsSize;
1965 uint32_t maxMemoryAllocationCount;
1966 uint32_t maxSamplerAllocationCount;
1967 VkDeviceSize bufferImageGranularity;
1968 VkDeviceSize sparseAddressSpaceSize;
1969 uint32_t maxBoundDescriptorSets;
1970 uint32_t maxPerStageDescriptorSamplers;
1971 uint32_t maxPerStageDescriptorUniformBuffers;
1972 uint32_t maxPerStageDescriptorStorageBuffers;
1973 uint32_t maxPerStageDescriptorSampledImages;
1974 uint32_t maxPerStageDescriptorStorageImages;
1975 uint32_t maxPerStageDescriptorInputAttachments;
1976 uint32_t maxPerStageResources;
1977 uint32_t maxDescriptorSetSamplers;
1978 uint32_t maxDescriptorSetUniformBuffers;
1979 uint32_t maxDescriptorSetUniformBuffersDynamic;
1980 uint32_t maxDescriptorSetStorageBuffers;
1981 uint32_t maxDescriptorSetStorageBuffersDynamic;
1982 uint32_t maxDescriptorSetSampledImages;
1983 uint32_t maxDescriptorSetStorageImages;
1984 uint32_t maxDescriptorSetInputAttachments;
1985 uint32_t maxVertexInputAttributes;
1986 uint32_t maxVertexInputBindings;
1987 uint32_t maxVertexInputAttributeOffset;
1988 uint32_t maxVertexInputBindingStride;
1989 uint32_t maxVertexOutputComponents;
1990 uint32_t maxTessellationGenerationLevel;
1991 uint32_t maxTessellationPatchSize;
1992 uint32_t maxTessellationControlPerVertexInputComponents;
1993 uint32_t maxTessellationControlPerVertexOutputComponents;
1994 uint32_t maxTessellationControlPerPatchOutputComponents;
1995 uint32_t maxTessellationControlTotalOutputComponents;
1996 uint32_t maxTessellationEvaluationInputComponents;
1997 uint32_t maxTessellationEvaluationOutputComponents;
1998 uint32_t maxGeometryShaderInvocations;
1999 uint32_t maxGeometryInputComponents;
2000 uint32_t maxGeometryOutputComponents;
2001 uint32_t maxGeometryOutputVertices;
2002 uint32_t maxGeometryTotalOutputComponents;
2003 uint32_t maxFragmentInputComponents;
2004 uint32_t maxFragmentOutputAttachments;
2005 uint32_t maxFragmentDualSrcAttachments;
2006 uint32_t maxFragmentCombinedOutputResources;
2007 uint32_t maxComputeSharedMemorySize;
2008 uint32_t maxComputeWorkGroupCount[3];
2009 uint32_t maxComputeWorkGroupInvocations;
2010 uint32_t maxComputeWorkGroupSize[3];
2011 uint32_t subPixelPrecisionBits;
2012 uint32_t subTexelPrecisionBits;
2013 uint32_t mipmapPrecisionBits;
2014 uint32_t maxDrawIndexedIndexValue;
2015 uint32_t maxDrawIndirectCount;
2016 float maxSamplerLodBias;
2017 float maxSamplerAnisotropy;
2018 uint32_t maxViewports;
2019 uint32_t maxViewportDimensions[2];
2020 float viewportBoundsRange[2];
2021 uint32_t viewportSubPixelBits;
2022 size_t minMemoryMapAlignment;
2023 VkDeviceSize minTexelBufferOffsetAlignment;
2024 VkDeviceSize minUniformBufferOffsetAlignment;
2025 VkDeviceSize minStorageBufferOffsetAlignment;
2026 int32_t minTexelOffset;
2027 uint32_t maxTexelOffset;
2028 int32_t minTexelGatherOffset;
2029 uint32_t maxTexelGatherOffset;
2030 float minInterpolationOffset;
2031 float maxInterpolationOffset;
2032 uint32_t subPixelInterpolationOffsetBits;
2033 uint32_t maxFramebufferWidth;
2034 uint32_t maxFramebufferHeight;
2035 uint32_t maxFramebufferLayers;
2036 VkSampleCountFlags framebufferColorSampleCounts;
2037 VkSampleCountFlags framebufferDepthSampleCounts;
2038 VkSampleCountFlags framebufferStencilSampleCounts;
2039 VkSampleCountFlags framebufferNoAttachmentsSampleCounts;
2040 uint32_t maxColorAttachments;
2041 VkSampleCountFlags sampledImageColorSampleCounts;
2042 VkSampleCountFlags sampledImageIntegerSampleCounts;
2043 VkSampleCountFlags sampledImageDepthSampleCounts;
2044 VkSampleCountFlags sampledImageStencilSampleCounts;
2045 VkSampleCountFlags storageImageSampleCounts;
2046 uint32_t maxSampleMaskWords;
2047 VkBool32 timestampComputeAndGraphics;
2048 float timestampPeriod;
2049 uint32_t maxClipDistances;
2050 uint32_t maxCullDistances;
2051 uint32_t maxCombinedClipAndCullDistances;
2052 uint32_t discreteQueuePriorities;
2053 float pointSizeRange[2];
2054 float lineWidthRange[2];
2055 float pointSizeGranularity;
2056 float lineWidthGranularity;
2057 VkBool32 strictLines;
2058 VkBool32 standardSampleLocations;
2059 VkDeviceSize optimalBufferCopyOffsetAlignment;
2060 VkDeviceSize optimalBufferCopyRowPitchAlignment;
2061 VkDeviceSize nonCoherentAtomSize;
2062 } VkPhysicalDeviceLimits;
2064 typedef struct VkPhysicalDeviceSparseProperties {
2065 VkBool32 residencyStandard2DBlockShape;
2066 VkBool32 residencyStandard2DMultisampleBlockShape;
2067 VkBool32 residencyStandard3DBlockShape;
2068 VkBool32 residencyAlignedMipSize;
2069 VkBool32 residencyNonResidentStrict;
2070 } VkPhysicalDeviceSparseProperties;
2072 typedef struct VkPhysicalDeviceProperties {
2073 uint32_t apiVersion;
2074 uint32_t driverVersion;
2077 VkPhysicalDeviceType deviceType;
2078 char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
2079 uint8_t pipelineCacheUUID[VK_UUID_SIZE];
2080 VkPhysicalDeviceLimits limits;
2081 VkPhysicalDeviceSparseProperties sparseProperties;
2082 } VkPhysicalDeviceProperties;
2084 typedef struct VkQueueFamilyProperties {
2085 VkQueueFlags queueFlags;
2086 uint32_t queueCount;
2087 uint32_t timestampValidBits;
2088 VkExtent3D minImageTransferGranularity;
2089 } VkQueueFamilyProperties;
2091 typedef struct VkMemoryType {
2092 VkMemoryPropertyFlags propertyFlags;
2096 typedef struct VkMemoryHeap {
2098 VkMemoryHeapFlags flags;
2101 typedef struct VkPhysicalDeviceMemoryProperties {
2102 uint32_t memoryTypeCount;
2103 VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES];
2104 uint32_t memoryHeapCount;
2105 VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS];
2106 } VkPhysicalDeviceMemoryProperties;
2108 typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
2109 typedef struct VkDeviceQueueCreateInfo {
2110 VkStructureType sType;
2112 VkDeviceQueueCreateFlags flags;
2113 uint32_t queueFamilyIndex;
2114 uint32_t queueCount;
2115 const float* pQueuePriorities;
2116 } VkDeviceQueueCreateInfo;
2118 typedef struct VkDeviceCreateInfo {
2119 VkStructureType sType;
2121 VkDeviceCreateFlags flags;
2122 uint32_t queueCreateInfoCount;
2123 const VkDeviceQueueCreateInfo* pQueueCreateInfos;
2124 uint32_t enabledLayerCount;
2125 const char* const* ppEnabledLayerNames;
2126 uint32_t enabledExtensionCount;
2127 const char* const* ppEnabledExtensionNames;
2128 const VkPhysicalDeviceFeatures* pEnabledFeatures;
2129 } VkDeviceCreateInfo;
2131 typedef struct VkExtensionProperties {
2132 char extensionName[VK_MAX_EXTENSION_NAME_SIZE];
2133 uint32_t specVersion;
2134 } VkExtensionProperties;
2136 typedef struct VkLayerProperties {
2137 char layerName[VK_MAX_EXTENSION_NAME_SIZE];
2138 uint32_t specVersion;
2139 uint32_t implementationVersion;
2140 char description[VK_MAX_DESCRIPTION_SIZE];
2141 } VkLayerProperties;
2143 typedef struct VkSubmitInfo {
2144 VkStructureType sType;
2146 uint32_t waitSemaphoreCount;
2147 const VkSemaphore* pWaitSemaphores;
2148 const VkPipelineStageFlags* pWaitDstStageMask;
2149 uint32_t commandBufferCount;
2150 const VkCommandBuffer* pCommandBuffers;
2151 uint32_t signalSemaphoreCount;
2152 const VkSemaphore* pSignalSemaphores;
2155 typedef struct VkMemoryAllocateInfo {
2156 VkStructureType sType;
2158 VkDeviceSize allocationSize;
2159 uint32_t memoryTypeIndex;
2160 } VkMemoryAllocateInfo;
2162 typedef struct VkMappedMemoryRange {
2163 VkStructureType sType;
2165 VkDeviceMemory memory;
2166 VkDeviceSize offset;
2168 } VkMappedMemoryRange;
2170 typedef struct VkMemoryRequirements {
2172 VkDeviceSize alignment;
2173 uint32_t memoryTypeBits;
2174 } VkMemoryRequirements;
2176 typedef struct VkSparseImageFormatProperties {
2177 VkImageAspectFlags aspectMask;
2178 VkExtent3D imageGranularity;
2179 VkSparseImageFormatFlags flags;
2180 } VkSparseImageFormatProperties;
2182 typedef struct VkSparseImageMemoryRequirements {
2183 VkSparseImageFormatProperties formatProperties;
2184 uint32_t imageMipTailFirstLod;
2185 VkDeviceSize imageMipTailSize;
2186 VkDeviceSize imageMipTailOffset;
2187 VkDeviceSize imageMipTailStride;
2188 } VkSparseImageMemoryRequirements;
2190 typedef struct VkSparseMemoryBind {
2191 VkDeviceSize resourceOffset;
2193 VkDeviceMemory memory;
2194 VkDeviceSize memoryOffset;
2195 VkSparseMemoryBindFlags flags;
2196 } VkSparseMemoryBind;
2198 typedef struct VkSparseBufferMemoryBindInfo {
2201 const VkSparseMemoryBind* pBinds;
2202 } VkSparseBufferMemoryBindInfo;
2204 typedef struct VkSparseImageOpaqueMemoryBindInfo {
2207 const VkSparseMemoryBind* pBinds;
2208 } VkSparseImageOpaqueMemoryBindInfo;
2210 typedef struct VkImageSubresource {
2211 VkImageAspectFlags aspectMask;
2213 uint32_t arrayLayer;
2214 } VkImageSubresource;
2216 typedef struct VkOffset3D {
2222 typedef struct VkSparseImageMemoryBind {
2223 VkImageSubresource subresource;
2226 VkDeviceMemory memory;
2227 VkDeviceSize memoryOffset;
2228 VkSparseMemoryBindFlags flags;
2229 } VkSparseImageMemoryBind;
2231 typedef struct VkSparseImageMemoryBindInfo {
2234 const VkSparseImageMemoryBind* pBinds;
2235 } VkSparseImageMemoryBindInfo;
2237 typedef struct VkBindSparseInfo {
2238 VkStructureType sType;
2240 uint32_t waitSemaphoreCount;
2241 const VkSemaphore* pWaitSemaphores;
2242 uint32_t bufferBindCount;
2243 const VkSparseBufferMemoryBindInfo* pBufferBinds;
2244 uint32_t imageOpaqueBindCount;
2245 const VkSparseImageOpaqueMemoryBindInfo* pImageOpaqueBinds;
2246 uint32_t imageBindCount;
2247 const VkSparseImageMemoryBindInfo* pImageBinds;
2248 uint32_t signalSemaphoreCount;
2249 const VkSemaphore* pSignalSemaphores;
2252 typedef struct VkFenceCreateInfo {
2253 VkStructureType sType;
2255 VkFenceCreateFlags flags;
2256 } VkFenceCreateInfo;
2258 typedef struct VkSemaphoreCreateInfo {
2259 VkStructureType sType;
2261 VkSemaphoreCreateFlags flags;
2262 } VkSemaphoreCreateInfo;
2264 typedef struct VkEventCreateInfo {
2265 VkStructureType sType;
2267 VkEventCreateFlags flags;
2268 } VkEventCreateInfo;
2270 typedef struct VkQueryPoolCreateInfo {
2271 VkStructureType sType;
2273 VkQueryPoolCreateFlags flags;
2274 VkQueryType queryType;
2275 uint32_t queryCount;
2276 VkQueryPipelineStatisticFlags pipelineStatistics;
2277 } VkQueryPoolCreateInfo;
2279 typedef struct VkBufferCreateInfo {
2280 VkStructureType sType;
2282 VkBufferCreateFlags flags;
2284 VkBufferUsageFlags usage;
2285 VkSharingMode sharingMode;
2286 uint32_t queueFamilyIndexCount;
2287 const uint32_t* pQueueFamilyIndices;
2288 } VkBufferCreateInfo;
2290 typedef struct VkBufferViewCreateInfo {
2291 VkStructureType sType;
2293 VkBufferViewCreateFlags flags;
2296 VkDeviceSize offset;
2298 } VkBufferViewCreateInfo;
2300 typedef struct VkImageCreateInfo {
2301 VkStructureType sType;
2303 VkImageCreateFlags flags;
2304 VkImageType imageType;
2308 uint32_t arrayLayers;
2309 VkSampleCountFlagBits samples;
2310 VkImageTiling tiling;
2311 VkImageUsageFlags usage;
2312 VkSharingMode sharingMode;
2313 uint32_t queueFamilyIndexCount;
2314 const uint32_t* pQueueFamilyIndices;
2315 VkImageLayout initialLayout;
2316 } VkImageCreateInfo;
2318 typedef struct VkSubresourceLayout {
2319 VkDeviceSize offset;
2321 VkDeviceSize rowPitch;
2322 VkDeviceSize arrayPitch;
2323 VkDeviceSize depthPitch;
2324 } VkSubresourceLayout;
2326 typedef struct VkComponentMapping {
2327 VkComponentSwizzle r;
2328 VkComponentSwizzle g;
2329 VkComponentSwizzle b;
2330 VkComponentSwizzle a;
2331 } VkComponentMapping;
2333 typedef struct VkImageSubresourceRange {
2334 VkImageAspectFlags aspectMask;
2335 uint32_t baseMipLevel;
2336 uint32_t levelCount;
2337 uint32_t baseArrayLayer;
2338 uint32_t layerCount;
2339 } VkImageSubresourceRange;
2341 typedef struct VkImageViewCreateInfo {
2342 VkStructureType sType;
2344 VkImageViewCreateFlags flags;
2346 VkImageViewType viewType;
2348 VkComponentMapping components;
2349 VkImageSubresourceRange subresourceRange;
2350 } VkImageViewCreateInfo;
2352 typedef struct VkShaderModuleCreateInfo {
2353 VkStructureType sType;
2355 VkShaderModuleCreateFlags flags;
2357 const uint32_t* pCode;
2358 } VkShaderModuleCreateInfo;
2360 typedef struct VkPipelineCacheCreateInfo {
2361 VkStructureType sType;
2363 VkPipelineCacheCreateFlags flags;
2364 size_t initialDataSize;
2365 const void* pInitialData;
2366 } VkPipelineCacheCreateInfo;
2368 typedef struct VkSpecializationMapEntry {
2369 uint32_t constantID;
2372 } VkSpecializationMapEntry;
2374 typedef struct VkSpecializationInfo {
2375 uint32_t mapEntryCount;
2376 const VkSpecializationMapEntry* pMapEntries;
2379 } VkSpecializationInfo;
2381 typedef struct VkPipelineShaderStageCreateInfo {
2382 VkStructureType sType;
2384 VkPipelineShaderStageCreateFlags flags;
2385 VkShaderStageFlagBits stage;
2386 VkShaderModule module;
2388 const VkSpecializationInfo* pSpecializationInfo;
2389 } VkPipelineShaderStageCreateInfo;
2391 typedef struct VkVertexInputBindingDescription {
2394 VkVertexInputRate inputRate;
2395 } VkVertexInputBindingDescription;
2397 typedef struct VkVertexInputAttributeDescription {
2402 } VkVertexInputAttributeDescription;
2404 typedef struct VkPipelineVertexInputStateCreateInfo {
2405 VkStructureType sType;
2407 VkPipelineVertexInputStateCreateFlags flags;
2408 uint32_t vertexBindingDescriptionCount;
2409 const VkVertexInputBindingDescription* pVertexBindingDescriptions;
2410 uint32_t vertexAttributeDescriptionCount;
2411 const VkVertexInputAttributeDescription* pVertexAttributeDescriptions;
2412 } VkPipelineVertexInputStateCreateInfo;
2414 typedef struct VkPipelineInputAssemblyStateCreateInfo {
2415 VkStructureType sType;
2417 VkPipelineInputAssemblyStateCreateFlags flags;
2418 VkPrimitiveTopology topology;
2419 VkBool32 primitiveRestartEnable;
2420 } VkPipelineInputAssemblyStateCreateInfo;
2422 typedef struct VkPipelineTessellationStateCreateInfo {
2423 VkStructureType sType;
2425 VkPipelineTessellationStateCreateFlags flags;
2426 uint32_t patchControlPoints;
2427 } VkPipelineTessellationStateCreateInfo;
2429 typedef struct VkViewport {
2438 typedef struct VkOffset2D {
2443 typedef struct VkExtent2D {
2448 typedef struct VkRect2D {
2453 typedef struct VkPipelineViewportStateCreateInfo {
2454 VkStructureType sType;
2456 VkPipelineViewportStateCreateFlags flags;
2457 uint32_t viewportCount;
2458 const VkViewport* pViewports;
2459 uint32_t scissorCount;
2460 const VkRect2D* pScissors;
2461 } VkPipelineViewportStateCreateInfo;
2463 typedef struct VkPipelineRasterizationStateCreateInfo {
2464 VkStructureType sType;
2466 VkPipelineRasterizationStateCreateFlags flags;
2467 VkBool32 depthClampEnable;
2468 VkBool32 rasterizerDiscardEnable;
2469 VkPolygonMode polygonMode;
2470 VkCullModeFlags cullMode;
2471 VkFrontFace frontFace;
2472 VkBool32 depthBiasEnable;
2473 float depthBiasConstantFactor;
2474 float depthBiasClamp;
2475 float depthBiasSlopeFactor;
2477 } VkPipelineRasterizationStateCreateInfo;
2479 typedef struct VkPipelineMultisampleStateCreateInfo {
2480 VkStructureType sType;
2482 VkPipelineMultisampleStateCreateFlags flags;
2483 VkSampleCountFlagBits rasterizationSamples;
2484 VkBool32 sampleShadingEnable;
2485 float minSampleShading;
2486 const VkSampleMask* pSampleMask;
2487 VkBool32 alphaToCoverageEnable;
2488 VkBool32 alphaToOneEnable;
2489 } VkPipelineMultisampleStateCreateInfo;
2491 typedef struct VkStencilOpState {
2494 VkStencilOp depthFailOp;
2495 VkCompareOp compareOp;
2496 uint32_t compareMask;
2501 typedef struct VkPipelineDepthStencilStateCreateInfo {
2502 VkStructureType sType;
2504 VkPipelineDepthStencilStateCreateFlags flags;
2505 VkBool32 depthTestEnable;
2506 VkBool32 depthWriteEnable;
2507 VkCompareOp depthCompareOp;
2508 VkBool32 depthBoundsTestEnable;
2509 VkBool32 stencilTestEnable;
2510 VkStencilOpState front;
2511 VkStencilOpState back;
2512 float minDepthBounds;
2513 float maxDepthBounds;
2514 } VkPipelineDepthStencilStateCreateInfo;
2516 typedef struct VkPipelineColorBlendAttachmentState {
2517 VkBool32 blendEnable;
2518 VkBlendFactor srcColorBlendFactor;
2519 VkBlendFactor dstColorBlendFactor;
2520 VkBlendOp colorBlendOp;
2521 VkBlendFactor srcAlphaBlendFactor;
2522 VkBlendFactor dstAlphaBlendFactor;
2523 VkBlendOp alphaBlendOp;
2524 VkColorComponentFlags colorWriteMask;
2525 } VkPipelineColorBlendAttachmentState;
2527 typedef struct VkPipelineColorBlendStateCreateInfo {
2528 VkStructureType sType;
2530 VkPipelineColorBlendStateCreateFlags flags;
2531 VkBool32 logicOpEnable;
2533 uint32_t attachmentCount;
2534 const VkPipelineColorBlendAttachmentState* pAttachments;
2535 float blendConstants[4];
2536 } VkPipelineColorBlendStateCreateInfo;
2538 typedef struct VkPipelineDynamicStateCreateInfo {
2539 VkStructureType sType;
2541 VkPipelineDynamicStateCreateFlags flags;
2542 uint32_t dynamicStateCount;
2543 const VkDynamicState* pDynamicStates;
2544 } VkPipelineDynamicStateCreateInfo;
2546 typedef struct VkGraphicsPipelineCreateInfo {
2547 VkStructureType sType;
2549 VkPipelineCreateFlags flags;
2550 uint32_t stageCount;
2551 const VkPipelineShaderStageCreateInfo* pStages;
2552 const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
2553 const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState;
2554 const VkPipelineTessellationStateCreateInfo* pTessellationState;
2555 const VkPipelineViewportStateCreateInfo* pViewportState;
2556 const VkPipelineRasterizationStateCreateInfo* pRasterizationState;
2557 const VkPipelineMultisampleStateCreateInfo* pMultisampleState;
2558 const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState;
2559 const VkPipelineColorBlendStateCreateInfo* pColorBlendState;
2560 const VkPipelineDynamicStateCreateInfo* pDynamicState;
2561 VkPipelineLayout layout;
2562 VkRenderPass renderPass;
2564 VkPipeline basePipelineHandle;
2565 int32_t basePipelineIndex;
2566 } VkGraphicsPipelineCreateInfo;
2568 typedef struct VkComputePipelineCreateInfo {
2569 VkStructureType sType;
2571 VkPipelineCreateFlags flags;
2572 VkPipelineShaderStageCreateInfo stage;
2573 VkPipelineLayout layout;
2574 VkPipeline basePipelineHandle;
2575 int32_t basePipelineIndex;
2576 } VkComputePipelineCreateInfo;
2578 typedef struct VkPushConstantRange {
2579 VkShaderStageFlags stageFlags;
2582 } VkPushConstantRange;
2584 typedef struct VkPipelineLayoutCreateInfo {
2585 VkStructureType sType;
2587 VkPipelineLayoutCreateFlags flags;
2588 uint32_t setLayoutCount;
2589 const VkDescriptorSetLayout* pSetLayouts;
2590 uint32_t pushConstantRangeCount;
2591 const VkPushConstantRange* pPushConstantRanges;
2592 } VkPipelineLayoutCreateInfo;
2594 typedef struct VkSamplerCreateInfo {
2595 VkStructureType sType;
2597 VkSamplerCreateFlags flags;
2600 VkSamplerMipmapMode mipmapMode;
2601 VkSamplerAddressMode addressModeU;
2602 VkSamplerAddressMode addressModeV;
2603 VkSamplerAddressMode addressModeW;
2605 VkBool32 anisotropyEnable;
2606 float maxAnisotropy;
2607 VkBool32 compareEnable;
2608 VkCompareOp compareOp;
2611 VkBorderColor borderColor;
2612 VkBool32 unnormalizedCoordinates;
2613 } VkSamplerCreateInfo;
2615 typedef struct VkDescriptorSetLayoutBinding {
2617 VkDescriptorType descriptorType;
2618 uint32_t descriptorCount;
2619 VkShaderStageFlags stageFlags;
2620 const VkSampler* pImmutableSamplers;
2621 } VkDescriptorSetLayoutBinding;
2623 typedef struct VkDescriptorSetLayoutCreateInfo {
2624 VkStructureType sType;
2626 VkDescriptorSetLayoutCreateFlags flags;
2627 uint32_t bindingCount;
2628 const VkDescriptorSetLayoutBinding* pBindings;
2629 } VkDescriptorSetLayoutCreateInfo;
2631 typedef struct VkDescriptorPoolSize {
2632 VkDescriptorType type;
2633 uint32_t descriptorCount;
2634 } VkDescriptorPoolSize;
2636 typedef struct VkDescriptorPoolCreateInfo {
2637 VkStructureType sType;
2639 VkDescriptorPoolCreateFlags flags;
2641 uint32_t poolSizeCount;
2642 const VkDescriptorPoolSize* pPoolSizes;
2643 } VkDescriptorPoolCreateInfo;
2645 typedef struct VkDescriptorSetAllocateInfo {
2646 VkStructureType sType;
2648 VkDescriptorPool descriptorPool;
2649 uint32_t descriptorSetCount;
2650 const VkDescriptorSetLayout* pSetLayouts;
2651 } VkDescriptorSetAllocateInfo;
2653 typedef struct VkDescriptorImageInfo {
2655 VkImageView imageView;
2656 VkImageLayout imageLayout;
2657 } VkDescriptorImageInfo;
2659 typedef struct VkDescriptorBufferInfo {
2661 VkDeviceSize offset;
2663 } VkDescriptorBufferInfo;
2665 typedef struct VkWriteDescriptorSet {
2666 VkStructureType sType;
2668 VkDescriptorSet dstSet;
2669 uint32_t dstBinding;
2670 uint32_t dstArrayElement;
2671 uint32_t descriptorCount;
2672 VkDescriptorType descriptorType;
2673 const VkDescriptorImageInfo* pImageInfo;
2674 const VkDescriptorBufferInfo* pBufferInfo;
2675 const VkBufferView* pTexelBufferView;
2676 } VkWriteDescriptorSet;
2678 typedef struct VkCopyDescriptorSet {
2679 VkStructureType sType;
2681 VkDescriptorSet srcSet;
2682 uint32_t srcBinding;
2683 uint32_t srcArrayElement;
2684 VkDescriptorSet dstSet;
2685 uint32_t dstBinding;
2686 uint32_t dstArrayElement;
2687 uint32_t descriptorCount;
2688 } VkCopyDescriptorSet;
2690 typedef struct VkFramebufferCreateInfo {
2691 VkStructureType sType;
2693 VkFramebufferCreateFlags flags;
2694 VkRenderPass renderPass;
2695 uint32_t attachmentCount;
2696 const VkImageView* pAttachments;
2700 } VkFramebufferCreateInfo;
2702 typedef struct VkAttachmentDescription {
2703 VkAttachmentDescriptionFlags flags;
2705 VkSampleCountFlagBits samples;
2706 VkAttachmentLoadOp loadOp;
2707 VkAttachmentStoreOp storeOp;
2708 VkAttachmentLoadOp stencilLoadOp;
2709 VkAttachmentStoreOp stencilStoreOp;
2710 VkImageLayout initialLayout;
2711 VkImageLayout finalLayout;
2712 } VkAttachmentDescription;
2714 typedef struct VkAttachmentReference {
2715 uint32_t attachment;
2716 VkImageLayout layout;
2717 } VkAttachmentReference;
2719 typedef struct VkSubpassDescription {
2720 VkSubpassDescriptionFlags flags;
2721 VkPipelineBindPoint pipelineBindPoint;
2722 uint32_t inputAttachmentCount;
2723 const VkAttachmentReference* pInputAttachments;
2724 uint32_t colorAttachmentCount;
2725 const VkAttachmentReference* pColorAttachments;
2726 const VkAttachmentReference* pResolveAttachments;
2727 const VkAttachmentReference* pDepthStencilAttachment;
2728 uint32_t preserveAttachmentCount;
2729 const uint32_t* pPreserveAttachments;
2730 } VkSubpassDescription;
2732 typedef struct VkSubpassDependency {
2733 uint32_t srcSubpass;
2734 uint32_t dstSubpass;
2735 VkPipelineStageFlags srcStageMask;
2736 VkPipelineStageFlags dstStageMask;
2737 VkAccessFlags srcAccessMask;
2738 VkAccessFlags dstAccessMask;
2739 VkDependencyFlags dependencyFlags;
2740 } VkSubpassDependency;
2742 typedef struct VkRenderPassCreateInfo {
2743 VkStructureType sType;
2745 VkRenderPassCreateFlags flags;
2746 uint32_t attachmentCount;
2747 const VkAttachmentDescription* pAttachments;
2748 uint32_t subpassCount;
2749 const VkSubpassDescription* pSubpasses;
2750 uint32_t dependencyCount;
2751 const VkSubpassDependency* pDependencies;
2752 } VkRenderPassCreateInfo;
2754 typedef struct VkCommandPoolCreateInfo {
2755 VkStructureType sType;
2757 VkCommandPoolCreateFlags flags;
2758 uint32_t queueFamilyIndex;
2759 } VkCommandPoolCreateInfo;
2761 typedef struct VkCommandBufferAllocateInfo {
2762 VkStructureType sType;
2764 VkCommandPool commandPool;
2765 VkCommandBufferLevel level;
2766 uint32_t commandBufferCount;
2767 } VkCommandBufferAllocateInfo;
2769 typedef struct VkCommandBufferInheritanceInfo {
2770 VkStructureType sType;
2772 VkRenderPass renderPass;
2774 VkFramebuffer framebuffer;
2775 VkBool32 occlusionQueryEnable;
2776 VkQueryControlFlags queryFlags;
2777 VkQueryPipelineStatisticFlags pipelineStatistics;
2778 } VkCommandBufferInheritanceInfo;
2780 typedef struct VkCommandBufferBeginInfo {
2781 VkStructureType sType;
2783 VkCommandBufferUsageFlags flags;
2784 const VkCommandBufferInheritanceInfo* pInheritanceInfo;
2785 } VkCommandBufferBeginInfo;
2787 typedef struct VkBufferCopy {
2788 VkDeviceSize srcOffset;
2789 VkDeviceSize dstOffset;
2793 typedef struct VkImageSubresourceLayers {
2794 VkImageAspectFlags aspectMask;
2796 uint32_t baseArrayLayer;
2797 uint32_t layerCount;
2798 } VkImageSubresourceLayers;
2800 typedef struct VkImageCopy {
2801 VkImageSubresourceLayers srcSubresource;
2802 VkOffset3D srcOffset;
2803 VkImageSubresourceLayers dstSubresource;
2804 VkOffset3D dstOffset;
2808 typedef struct VkImageBlit {
2809 VkImageSubresourceLayers srcSubresource;
2810 VkOffset3D srcOffsets[2];
2811 VkImageSubresourceLayers dstSubresource;
2812 VkOffset3D dstOffsets[2];
2815 typedef struct VkBufferImageCopy {
2816 VkDeviceSize bufferOffset;
2817 uint32_t bufferRowLength;
2818 uint32_t bufferImageHeight;
2819 VkImageSubresourceLayers imageSubresource;
2820 VkOffset3D imageOffset;
2821 VkExtent3D imageExtent;
2822 } VkBufferImageCopy;
2824 typedef union VkClearColorValue {
2828 } VkClearColorValue;
2830 typedef struct VkClearDepthStencilValue {
2833 } VkClearDepthStencilValue;
2835 typedef union VkClearValue {
2836 VkClearColorValue color;
2837 VkClearDepthStencilValue depthStencil;
2840 typedef struct VkClearAttachment {
2841 VkImageAspectFlags aspectMask;
2842 uint32_t colorAttachment;
2843 VkClearValue clearValue;
2844 } VkClearAttachment;
2846 typedef struct VkClearRect {
2848 uint32_t baseArrayLayer;
2849 uint32_t layerCount;
2852 typedef struct VkImageResolve {
2853 VkImageSubresourceLayers srcSubresource;
2854 VkOffset3D srcOffset;
2855 VkImageSubresourceLayers dstSubresource;
2856 VkOffset3D dstOffset;
2860 typedef struct VkMemoryBarrier {
2861 VkStructureType sType;
2863 VkAccessFlags srcAccessMask;
2864 VkAccessFlags dstAccessMask;
2867 typedef struct VkBufferMemoryBarrier {
2868 VkStructureType sType;
2870 VkAccessFlags srcAccessMask;
2871 VkAccessFlags dstAccessMask;
2872 uint32_t srcQueueFamilyIndex;
2873 uint32_t dstQueueFamilyIndex;
2875 VkDeviceSize offset;
2877 } VkBufferMemoryBarrier;
2879 typedef struct VkImageMemoryBarrier {
2880 VkStructureType sType;
2882 VkAccessFlags srcAccessMask;
2883 VkAccessFlags dstAccessMask;
2884 VkImageLayout oldLayout;
2885 VkImageLayout newLayout;
2886 uint32_t srcQueueFamilyIndex;
2887 uint32_t dstQueueFamilyIndex;
2889 VkImageSubresourceRange subresourceRange;
2890 } VkImageMemoryBarrier;
2892 typedef struct VkRenderPassBeginInfo {
2893 VkStructureType sType;
2895 VkRenderPass renderPass;
2896 VkFramebuffer framebuffer;
2897 VkRect2D renderArea;
2898 uint32_t clearValueCount;
2899 const VkClearValue* pClearValues;
2900 } VkRenderPassBeginInfo;
2902 typedef struct VkDispatchIndirectCommand {
2906 } VkDispatchIndirectCommand;
2908 typedef struct VkDrawIndexedIndirectCommand {
2909 uint32_t indexCount;
2910 uint32_t instanceCount;
2911 uint32_t firstIndex;
2912 int32_t vertexOffset;
2913 uint32_t firstInstance;
2914 } VkDrawIndexedIndirectCommand;
2916 typedef struct VkDrawIndirectCommand {
2917 uint32_t vertexCount;
2918 uint32_t instanceCount;
2919 uint32_t firstVertex;
2920 uint32_t firstInstance;
2921 } VkDrawIndirectCommand;
2923 typedef struct VkBaseOutStructure {
2924 VkStructureType sType;
2925 struct VkBaseOutStructure* pNext;
2926 } VkBaseOutStructure;
2928 typedef struct VkBaseInStructure {
2929 VkStructureType sType;
2930 const struct VkBaseInStructure* pNext;
2931 } VkBaseInStructure;
2933 typedef VkResult (VKAPI_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance);
2934 typedef void (VKAPI_PTR *PFN_vkDestroyInstance)(VkInstance instance, const VkAllocationCallbacks* pAllocator);
2935 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDevices)(VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices);
2936 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures);
2937 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties);
2938 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties);
2939 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties);
2940 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties);
2941 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties);
2942 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddr)(VkInstance instance, const char* pName);
2943 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetDeviceProcAddr)(VkDevice device, const char* pName);
2944 typedef VkResult (VKAPI_PTR *PFN_vkCreateDevice)(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice);
2945 typedef void (VKAPI_PTR *PFN_vkDestroyDevice)(VkDevice device, const VkAllocationCallbacks* pAllocator);
2946 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceExtensionProperties)(const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties);
2947 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties);
2948 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceLayerProperties)(uint32_t* pPropertyCount, VkLayerProperties* pProperties);
2949 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties);
2950 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue)(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue);
2951 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence);
2952 typedef VkResult (VKAPI_PTR *PFN_vkQueueWaitIdle)(VkQueue queue);
2953 typedef VkResult (VKAPI_PTR *PFN_vkDeviceWaitIdle)(VkDevice device);
2954 typedef VkResult (VKAPI_PTR *PFN_vkAllocateMemory)(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory);
2955 typedef void (VKAPI_PTR *PFN_vkFreeMemory)(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator);
2956 typedef VkResult (VKAPI_PTR *PFN_vkMapMemory)(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData);
2957 typedef void (VKAPI_PTR *PFN_vkUnmapMemory)(VkDevice device, VkDeviceMemory memory);
2958 typedef VkResult (VKAPI_PTR *PFN_vkFlushMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
2959 typedef VkResult (VKAPI_PTR *PFN_vkInvalidateMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
2960 typedef void (VKAPI_PTR *PFN_vkGetDeviceMemoryCommitment)(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes);
2961 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory)(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset);
2962 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory)(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset);
2963 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements)(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements);
2964 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements)(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements);
2965 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements)(VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
2966 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties);
2967 typedef VkResult (VKAPI_PTR *PFN_vkQueueBindSparse)(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence);
2968 typedef VkResult (VKAPI_PTR *PFN_vkCreateFence)(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
2969 typedef void (VKAPI_PTR *PFN_vkDestroyFence)(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator);
2970 typedef VkResult (VKAPI_PTR *PFN_vkResetFences)(VkDevice device, uint32_t fenceCount, const VkFence* pFences);
2971 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceStatus)(VkDevice device, VkFence fence);
2972 typedef VkResult (VKAPI_PTR *PFN_vkWaitForFences)(VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout);
2973 typedef VkResult (VKAPI_PTR *PFN_vkCreateSemaphore)(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore);
2974 typedef void (VKAPI_PTR *PFN_vkDestroySemaphore)(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator);
2975 typedef VkResult (VKAPI_PTR *PFN_vkCreateEvent)(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent);
2976 typedef void (VKAPI_PTR *PFN_vkDestroyEvent)(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator);
2977 typedef VkResult (VKAPI_PTR *PFN_vkGetEventStatus)(VkDevice device, VkEvent event);
2978 typedef VkResult (VKAPI_PTR *PFN_vkSetEvent)(VkDevice device, VkEvent event);
2979 typedef VkResult (VKAPI_PTR *PFN_vkResetEvent)(VkDevice device, VkEvent event);
2980 typedef VkResult (VKAPI_PTR *PFN_vkCreateQueryPool)(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool);
2981 typedef void (VKAPI_PTR *PFN_vkDestroyQueryPool)(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator);
2982 typedef VkResult (VKAPI_PTR *PFN_vkGetQueryPoolResults)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags);
2983 typedef VkResult (VKAPI_PTR *PFN_vkCreateBuffer)(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer);
2984 typedef void (VKAPI_PTR *PFN_vkDestroyBuffer)(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator);
2985 typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferView)(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView);
2986 typedef void (VKAPI_PTR *PFN_vkDestroyBufferView)(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator);
2987 typedef VkResult (VKAPI_PTR *PFN_vkCreateImage)(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage);
2988 typedef void (VKAPI_PTR *PFN_vkDestroyImage)(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator);
2989 typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout)(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout);
2990 typedef VkResult (VKAPI_PTR *PFN_vkCreateImageView)(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView);
2991 typedef void (VKAPI_PTR *PFN_vkDestroyImageView)(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator);
2992 typedef VkResult (VKAPI_PTR *PFN_vkCreateShaderModule)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule);
2993 typedef void (VKAPI_PTR *PFN_vkDestroyShaderModule)(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator);
2994 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineCache)(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache);
2995 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineCache)(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator);
2996 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineCacheData)(VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData);
2997 typedef VkResult (VKAPI_PTR *PFN_vkMergePipelineCaches)(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches);
2998 typedef VkResult (VKAPI_PTR *PFN_vkCreateGraphicsPipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
2999 typedef VkResult (VKAPI_PTR *PFN_vkCreateComputePipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
3000 typedef void (VKAPI_PTR *PFN_vkDestroyPipeline)(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator);
3001 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineLayout)(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout);
3002 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineLayout)(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator);
3003 typedef VkResult (VKAPI_PTR *PFN_vkCreateSampler)(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler);
3004 typedef void (VKAPI_PTR *PFN_vkDestroySampler)(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator);
3005 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorSetLayout)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout);
3006 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorSetLayout)(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator);
3007 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorPool)(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool);
3008 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator);
3009 typedef VkResult (VKAPI_PTR *PFN_vkResetDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags);
3010 typedef VkResult (VKAPI_PTR *PFN_vkAllocateDescriptorSets)(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets);
3011 typedef VkResult (VKAPI_PTR *PFN_vkFreeDescriptorSets)(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets);
3012 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSets)(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies);
3013 typedef VkResult (VKAPI_PTR *PFN_vkCreateFramebuffer)(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer);
3014 typedef void (VKAPI_PTR *PFN_vkDestroyFramebuffer)(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator);
3015 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass)(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
3016 typedef void (VKAPI_PTR *PFN_vkDestroyRenderPass)(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator);
3017 typedef void (VKAPI_PTR *PFN_vkGetRenderAreaGranularity)(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity);
3018 typedef VkResult (VKAPI_PTR *PFN_vkCreateCommandPool)(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool);
3019 typedef void (VKAPI_PTR *PFN_vkDestroyCommandPool)(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator);
3020 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags);
3021 typedef VkResult (VKAPI_PTR *PFN_vkAllocateCommandBuffers)(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers);
3022 typedef void (VKAPI_PTR *PFN_vkFreeCommandBuffers)(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers);
3023 typedef VkResult (VKAPI_PTR *PFN_vkBeginCommandBuffer)(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo);
3024 typedef VkResult (VKAPI_PTR *PFN_vkEndCommandBuffer)(VkCommandBuffer commandBuffer);
3025 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandBuffer)(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags);
3026 typedef void (VKAPI_PTR *PFN_vkCmdBindPipeline)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline);
3027 typedef void (VKAPI_PTR *PFN_vkCmdSetViewport)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports);
3028 typedef void (VKAPI_PTR *PFN_vkCmdSetScissor)(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors);
3029 typedef void (VKAPI_PTR *PFN_vkCmdSetLineWidth)(VkCommandBuffer commandBuffer, float lineWidth);
3030 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias)(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor);
3031 typedef void (VKAPI_PTR *PFN_vkCmdSetBlendConstants)(VkCommandBuffer commandBuffer, const float blendConstants[4]);
3032 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBounds)(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds);
3033 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilCompareMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask);
3034 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilWriteMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask);
3035 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilReference)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference);
3036 typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorSets)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets);
3037 typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType);
3038 typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets);
3039 typedef void (VKAPI_PTR *PFN_vkCmdDraw)(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance);
3040 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexed)(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance);
3041 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
3042 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
3043 typedef void (VKAPI_PTR *PFN_vkCmdDispatch)(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ);
3044 typedef void (VKAPI_PTR *PFN_vkCmdDispatchIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset);
3045 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions);
3046 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions);
3047 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter);
3048 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions);
3049 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions);
3050 typedef void (VKAPI_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData);
3051 typedef void (VKAPI_PTR *PFN_vkCmdFillBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data);
3052 typedef void (VKAPI_PTR *PFN_vkCmdClearColorImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges);
3053 typedef void (VKAPI_PTR *PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges);
3054 typedef void (VKAPI_PTR *PFN_vkCmdClearAttachments)(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects);
3055 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions);
3056 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
3057 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
3058 typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents)(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers);
3059 typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier)(VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers);
3060 typedef void (VKAPI_PTR *PFN_vkCmdBeginQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags);
3061 typedef void (VKAPI_PTR *PFN_vkCmdEndQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query);
3062 typedef void (VKAPI_PTR *PFN_vkCmdResetQueryPool)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount);
3063 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query);
3064 typedef void (VKAPI_PTR *PFN_vkCmdCopyQueryPoolResults)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags);
3065 typedef void (VKAPI_PTR *PFN_vkCmdPushConstants)(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues);
3066 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents);
3067 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass)(VkCommandBuffer commandBuffer, VkSubpassContents contents);
3068 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass)(VkCommandBuffer commandBuffer);
3069 typedef void (VKAPI_PTR *PFN_vkCmdExecuteCommands)(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers);
3071 #ifndef VK_NO_PROTOTYPES
3072 VKAPI_ATTR VkResult VKAPI_CALL vkCreateInstance(
3073 const VkInstanceCreateInfo* pCreateInfo,
3074 const VkAllocationCallbacks* pAllocator,
3075 VkInstance* pInstance);
3077 VKAPI_ATTR void VKAPI_CALL vkDestroyInstance(
3078 VkInstance instance,
3079 const VkAllocationCallbacks* pAllocator);
3081 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDevices(
3082 VkInstance instance,
3083 uint32_t* pPhysicalDeviceCount,
3084 VkPhysicalDevice* pPhysicalDevices);
3086 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures(
3087 VkPhysicalDevice physicalDevice,
3088 VkPhysicalDeviceFeatures* pFeatures);
3090 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties(
3091 VkPhysicalDevice physicalDevice,
3093 VkFormatProperties* pFormatProperties);
3095 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties(
3096 VkPhysicalDevice physicalDevice,
3099 VkImageTiling tiling,
3100 VkImageUsageFlags usage,
3101 VkImageCreateFlags flags,
3102 VkImageFormatProperties* pImageFormatProperties);
3104 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties(
3105 VkPhysicalDevice physicalDevice,
3106 VkPhysicalDeviceProperties* pProperties);
3108 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties(
3109 VkPhysicalDevice physicalDevice,
3110 uint32_t* pQueueFamilyPropertyCount,
3111 VkQueueFamilyProperties* pQueueFamilyProperties);
3113 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties(
3114 VkPhysicalDevice physicalDevice,
3115 VkPhysicalDeviceMemoryProperties* pMemoryProperties);
3117 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr(
3118 VkInstance instance,
3121 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr(
3125 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDevice(
3126 VkPhysicalDevice physicalDevice,
3127 const VkDeviceCreateInfo* pCreateInfo,
3128 const VkAllocationCallbacks* pAllocator,
3131 VKAPI_ATTR void VKAPI_CALL vkDestroyDevice(
3133 const VkAllocationCallbacks* pAllocator);
3135 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionProperties(
3136 const char* pLayerName,
3137 uint32_t* pPropertyCount,
3138 VkExtensionProperties* pProperties);
3140 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceExtensionProperties(
3141 VkPhysicalDevice physicalDevice,
3142 const char* pLayerName,
3143 uint32_t* pPropertyCount,
3144 VkExtensionProperties* pProperties);
3146 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties(
3147 uint32_t* pPropertyCount,
3148 VkLayerProperties* pProperties);
3150 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceLayerProperties(
3151 VkPhysicalDevice physicalDevice,
3152 uint32_t* pPropertyCount,
3153 VkLayerProperties* pProperties);
3155 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue(
3157 uint32_t queueFamilyIndex,
3158 uint32_t queueIndex,
3161 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit(
3163 uint32_t submitCount,
3164 const VkSubmitInfo* pSubmits,
3167 VKAPI_ATTR VkResult VKAPI_CALL vkQueueWaitIdle(
3170 VKAPI_ATTR VkResult VKAPI_CALL vkDeviceWaitIdle(
3173 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateMemory(
3175 const VkMemoryAllocateInfo* pAllocateInfo,
3176 const VkAllocationCallbacks* pAllocator,
3177 VkDeviceMemory* pMemory);
3179 VKAPI_ATTR void VKAPI_CALL vkFreeMemory(
3181 VkDeviceMemory memory,
3182 const VkAllocationCallbacks* pAllocator);
3184 VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory(
3186 VkDeviceMemory memory,
3187 VkDeviceSize offset,
3189 VkMemoryMapFlags flags,
3192 VKAPI_ATTR void VKAPI_CALL vkUnmapMemory(
3194 VkDeviceMemory memory);
3196 VKAPI_ATTR VkResult VKAPI_CALL vkFlushMappedMemoryRanges(
3198 uint32_t memoryRangeCount,
3199 const VkMappedMemoryRange* pMemoryRanges);
3201 VKAPI_ATTR VkResult VKAPI_CALL vkInvalidateMappedMemoryRanges(
3203 uint32_t memoryRangeCount,
3204 const VkMappedMemoryRange* pMemoryRanges);
3206 VKAPI_ATTR void VKAPI_CALL vkGetDeviceMemoryCommitment(
3208 VkDeviceMemory memory,
3209 VkDeviceSize* pCommittedMemoryInBytes);
3211 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory(
3214 VkDeviceMemory memory,
3215 VkDeviceSize memoryOffset);
3217 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory(
3220 VkDeviceMemory memory,
3221 VkDeviceSize memoryOffset);
3223 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements(
3226 VkMemoryRequirements* pMemoryRequirements);
3228 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements(
3231 VkMemoryRequirements* pMemoryRequirements);
3233 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements(
3236 uint32_t* pSparseMemoryRequirementCount,
3237 VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
3239 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties(
3240 VkPhysicalDevice physicalDevice,
3243 VkSampleCountFlagBits samples,
3244 VkImageUsageFlags usage,
3245 VkImageTiling tiling,
3246 uint32_t* pPropertyCount,
3247 VkSparseImageFormatProperties* pProperties);
3249 VKAPI_ATTR VkResult VKAPI_CALL vkQueueBindSparse(
3251 uint32_t bindInfoCount,
3252 const VkBindSparseInfo* pBindInfo,
3255 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFence(
3257 const VkFenceCreateInfo* pCreateInfo,
3258 const VkAllocationCallbacks* pAllocator,
3261 VKAPI_ATTR void VKAPI_CALL vkDestroyFence(
3264 const VkAllocationCallbacks* pAllocator);
3266 VKAPI_ATTR VkResult VKAPI_CALL vkResetFences(
3268 uint32_t fenceCount,
3269 const VkFence* pFences);
3271 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceStatus(
3275 VKAPI_ATTR VkResult VKAPI_CALL vkWaitForFences(
3277 uint32_t fenceCount,
3278 const VkFence* pFences,
3282 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSemaphore(
3284 const VkSemaphoreCreateInfo* pCreateInfo,
3285 const VkAllocationCallbacks* pAllocator,
3286 VkSemaphore* pSemaphore);
3288 VKAPI_ATTR void VKAPI_CALL vkDestroySemaphore(
3290 VkSemaphore semaphore,
3291 const VkAllocationCallbacks* pAllocator);
3293 VKAPI_ATTR VkResult VKAPI_CALL vkCreateEvent(
3295 const VkEventCreateInfo* pCreateInfo,
3296 const VkAllocationCallbacks* pAllocator,
3299 VKAPI_ATTR void VKAPI_CALL vkDestroyEvent(
3302 const VkAllocationCallbacks* pAllocator);
3304 VKAPI_ATTR VkResult VKAPI_CALL vkGetEventStatus(
3308 VKAPI_ATTR VkResult VKAPI_CALL vkSetEvent(
3312 VKAPI_ATTR VkResult VKAPI_CALL vkResetEvent(
3316 VKAPI_ATTR VkResult VKAPI_CALL vkCreateQueryPool(
3318 const VkQueryPoolCreateInfo* pCreateInfo,
3319 const VkAllocationCallbacks* pAllocator,
3320 VkQueryPool* pQueryPool);
3322 VKAPI_ATTR void VKAPI_CALL vkDestroyQueryPool(
3324 VkQueryPool queryPool,
3325 const VkAllocationCallbacks* pAllocator);
3327 VKAPI_ATTR VkResult VKAPI_CALL vkGetQueryPoolResults(
3329 VkQueryPool queryPool,
3330 uint32_t firstQuery,
3331 uint32_t queryCount,
3334 VkDeviceSize stride,
3335 VkQueryResultFlags flags);
3337 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBuffer(
3339 const VkBufferCreateInfo* pCreateInfo,
3340 const VkAllocationCallbacks* pAllocator,
3343 VKAPI_ATTR void VKAPI_CALL vkDestroyBuffer(
3346 const VkAllocationCallbacks* pAllocator);
3348 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferView(
3350 const VkBufferViewCreateInfo* pCreateInfo,
3351 const VkAllocationCallbacks* pAllocator,
3352 VkBufferView* pView);
3354 VKAPI_ATTR void VKAPI_CALL vkDestroyBufferView(
3356 VkBufferView bufferView,
3357 const VkAllocationCallbacks* pAllocator);
3359 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImage(
3361 const VkImageCreateInfo* pCreateInfo,
3362 const VkAllocationCallbacks* pAllocator,
3365 VKAPI_ATTR void VKAPI_CALL vkDestroyImage(
3368 const VkAllocationCallbacks* pAllocator);
3370 VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout(
3373 const VkImageSubresource* pSubresource,
3374 VkSubresourceLayout* pLayout);
3376 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImageView(
3378 const VkImageViewCreateInfo* pCreateInfo,
3379 const VkAllocationCallbacks* pAllocator,
3380 VkImageView* pView);
3382 VKAPI_ATTR void VKAPI_CALL vkDestroyImageView(
3384 VkImageView imageView,
3385 const VkAllocationCallbacks* pAllocator);
3387 VKAPI_ATTR VkResult VKAPI_CALL vkCreateShaderModule(
3389 const VkShaderModuleCreateInfo* pCreateInfo,
3390 const VkAllocationCallbacks* pAllocator,
3391 VkShaderModule* pShaderModule);
3393 VKAPI_ATTR void VKAPI_CALL vkDestroyShaderModule(
3395 VkShaderModule shaderModule,
3396 const VkAllocationCallbacks* pAllocator);
3398 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineCache(
3400 const VkPipelineCacheCreateInfo* pCreateInfo,
3401 const VkAllocationCallbacks* pAllocator,
3402 VkPipelineCache* pPipelineCache);
3404 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineCache(
3406 VkPipelineCache pipelineCache,
3407 const VkAllocationCallbacks* pAllocator);
3409 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineCacheData(
3411 VkPipelineCache pipelineCache,
3415 VKAPI_ATTR VkResult VKAPI_CALL vkMergePipelineCaches(
3417 VkPipelineCache dstCache,
3418 uint32_t srcCacheCount,
3419 const VkPipelineCache* pSrcCaches);
3421 VKAPI_ATTR VkResult VKAPI_CALL vkCreateGraphicsPipelines(
3423 VkPipelineCache pipelineCache,
3424 uint32_t createInfoCount,
3425 const VkGraphicsPipelineCreateInfo* pCreateInfos,
3426 const VkAllocationCallbacks* pAllocator,
3427 VkPipeline* pPipelines);
3429 VKAPI_ATTR VkResult VKAPI_CALL vkCreateComputePipelines(
3431 VkPipelineCache pipelineCache,
3432 uint32_t createInfoCount,
3433 const VkComputePipelineCreateInfo* pCreateInfos,
3434 const VkAllocationCallbacks* pAllocator,
3435 VkPipeline* pPipelines);
3437 VKAPI_ATTR void VKAPI_CALL vkDestroyPipeline(
3439 VkPipeline pipeline,
3440 const VkAllocationCallbacks* pAllocator);
3442 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineLayout(
3444 const VkPipelineLayoutCreateInfo* pCreateInfo,
3445 const VkAllocationCallbacks* pAllocator,
3446 VkPipelineLayout* pPipelineLayout);
3448 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineLayout(
3450 VkPipelineLayout pipelineLayout,
3451 const VkAllocationCallbacks* pAllocator);
3453 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSampler(
3455 const VkSamplerCreateInfo* pCreateInfo,
3456 const VkAllocationCallbacks* pAllocator,
3457 VkSampler* pSampler);
3459 VKAPI_ATTR void VKAPI_CALL vkDestroySampler(
3462 const VkAllocationCallbacks* pAllocator);
3464 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorSetLayout(
3466 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
3467 const VkAllocationCallbacks* pAllocator,
3468 VkDescriptorSetLayout* pSetLayout);
3470 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorSetLayout(
3472 VkDescriptorSetLayout descriptorSetLayout,
3473 const VkAllocationCallbacks* pAllocator);
3475 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorPool(
3477 const VkDescriptorPoolCreateInfo* pCreateInfo,
3478 const VkAllocationCallbacks* pAllocator,
3479 VkDescriptorPool* pDescriptorPool);
3481 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorPool(
3483 VkDescriptorPool descriptorPool,
3484 const VkAllocationCallbacks* pAllocator);
3486 VKAPI_ATTR VkResult VKAPI_CALL vkResetDescriptorPool(
3488 VkDescriptorPool descriptorPool,
3489 VkDescriptorPoolResetFlags flags);
3491 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateDescriptorSets(
3493 const VkDescriptorSetAllocateInfo* pAllocateInfo,
3494 VkDescriptorSet* pDescriptorSets);
3496 VKAPI_ATTR VkResult VKAPI_CALL vkFreeDescriptorSets(
3498 VkDescriptorPool descriptorPool,
3499 uint32_t descriptorSetCount,
3500 const VkDescriptorSet* pDescriptorSets);
3502 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSets(
3504 uint32_t descriptorWriteCount,
3505 const VkWriteDescriptorSet* pDescriptorWrites,
3506 uint32_t descriptorCopyCount,
3507 const VkCopyDescriptorSet* pDescriptorCopies);
3509 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFramebuffer(
3511 const VkFramebufferCreateInfo* pCreateInfo,
3512 const VkAllocationCallbacks* pAllocator,
3513 VkFramebuffer* pFramebuffer);
3515 VKAPI_ATTR void VKAPI_CALL vkDestroyFramebuffer(
3517 VkFramebuffer framebuffer,
3518 const VkAllocationCallbacks* pAllocator);
3520 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass(
3522 const VkRenderPassCreateInfo* pCreateInfo,
3523 const VkAllocationCallbacks* pAllocator,
3524 VkRenderPass* pRenderPass);
3526 VKAPI_ATTR void VKAPI_CALL vkDestroyRenderPass(
3528 VkRenderPass renderPass,
3529 const VkAllocationCallbacks* pAllocator);
3531 VKAPI_ATTR void VKAPI_CALL vkGetRenderAreaGranularity(
3533 VkRenderPass renderPass,
3534 VkExtent2D* pGranularity);
3536 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCommandPool(
3538 const VkCommandPoolCreateInfo* pCreateInfo,
3539 const VkAllocationCallbacks* pAllocator,
3540 VkCommandPool* pCommandPool);
3542 VKAPI_ATTR void VKAPI_CALL vkDestroyCommandPool(
3544 VkCommandPool commandPool,
3545 const VkAllocationCallbacks* pAllocator);
3547 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandPool(
3549 VkCommandPool commandPool,
3550 VkCommandPoolResetFlags flags);
3552 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateCommandBuffers(
3554 const VkCommandBufferAllocateInfo* pAllocateInfo,
3555 VkCommandBuffer* pCommandBuffers);
3557 VKAPI_ATTR void VKAPI_CALL vkFreeCommandBuffers(
3559 VkCommandPool commandPool,
3560 uint32_t commandBufferCount,
3561 const VkCommandBuffer* pCommandBuffers);
3563 VKAPI_ATTR VkResult VKAPI_CALL vkBeginCommandBuffer(
3564 VkCommandBuffer commandBuffer,
3565 const VkCommandBufferBeginInfo* pBeginInfo);
3567 VKAPI_ATTR VkResult VKAPI_CALL vkEndCommandBuffer(
3568 VkCommandBuffer commandBuffer);
3570 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandBuffer(
3571 VkCommandBuffer commandBuffer,
3572 VkCommandBufferResetFlags flags);
3574 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipeline(
3575 VkCommandBuffer commandBuffer,
3576 VkPipelineBindPoint pipelineBindPoint,
3577 VkPipeline pipeline);
3579 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewport(
3580 VkCommandBuffer commandBuffer,
3581 uint32_t firstViewport,
3582 uint32_t viewportCount,
3583 const VkViewport* pViewports);
3585 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissor(
3586 VkCommandBuffer commandBuffer,
3587 uint32_t firstScissor,
3588 uint32_t scissorCount,
3589 const VkRect2D* pScissors);
3591 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineWidth(
3592 VkCommandBuffer commandBuffer,
3595 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias(
3596 VkCommandBuffer commandBuffer,
3597 float depthBiasConstantFactor,
3598 float depthBiasClamp,
3599 float depthBiasSlopeFactor);
3601 VKAPI_ATTR void VKAPI_CALL vkCmdSetBlendConstants(
3602 VkCommandBuffer commandBuffer,
3603 const float blendConstants[4]);
3605 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBounds(
3606 VkCommandBuffer commandBuffer,
3607 float minDepthBounds,
3608 float maxDepthBounds);
3610 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilCompareMask(
3611 VkCommandBuffer commandBuffer,
3612 VkStencilFaceFlags faceMask,
3613 uint32_t compareMask);
3615 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilWriteMask(
3616 VkCommandBuffer commandBuffer,
3617 VkStencilFaceFlags faceMask,
3618 uint32_t writeMask);
3620 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilReference(
3621 VkCommandBuffer commandBuffer,
3622 VkStencilFaceFlags faceMask,
3623 uint32_t reference);
3625 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets(
3626 VkCommandBuffer commandBuffer,
3627 VkPipelineBindPoint pipelineBindPoint,
3628 VkPipelineLayout layout,
3630 uint32_t descriptorSetCount,
3631 const VkDescriptorSet* pDescriptorSets,
3632 uint32_t dynamicOffsetCount,
3633 const uint32_t* pDynamicOffsets);
3635 VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer(
3636 VkCommandBuffer commandBuffer,
3638 VkDeviceSize offset,
3639 VkIndexType indexType);
3641 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers(
3642 VkCommandBuffer commandBuffer,
3643 uint32_t firstBinding,
3644 uint32_t bindingCount,
3645 const VkBuffer* pBuffers,
3646 const VkDeviceSize* pOffsets);
3648 VKAPI_ATTR void VKAPI_CALL vkCmdDraw(
3649 VkCommandBuffer commandBuffer,
3650 uint32_t vertexCount,
3651 uint32_t instanceCount,
3652 uint32_t firstVertex,
3653 uint32_t firstInstance);
3655 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexed(
3656 VkCommandBuffer commandBuffer,
3657 uint32_t indexCount,
3658 uint32_t instanceCount,
3659 uint32_t firstIndex,
3660 int32_t vertexOffset,
3661 uint32_t firstInstance);
3663 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirect(
3664 VkCommandBuffer commandBuffer,
3666 VkDeviceSize offset,
3670 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirect(
3671 VkCommandBuffer commandBuffer,
3673 VkDeviceSize offset,
3677 VKAPI_ATTR void VKAPI_CALL vkCmdDispatch(
3678 VkCommandBuffer commandBuffer,
3679 uint32_t groupCountX,
3680 uint32_t groupCountY,
3681 uint32_t groupCountZ);
3683 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchIndirect(
3684 VkCommandBuffer commandBuffer,
3686 VkDeviceSize offset);
3688 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer(
3689 VkCommandBuffer commandBuffer,
3692 uint32_t regionCount,
3693 const VkBufferCopy* pRegions);
3695 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage(
3696 VkCommandBuffer commandBuffer,
3698 VkImageLayout srcImageLayout,
3700 VkImageLayout dstImageLayout,
3701 uint32_t regionCount,
3702 const VkImageCopy* pRegions);
3704 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage(
3705 VkCommandBuffer commandBuffer,
3707 VkImageLayout srcImageLayout,
3709 VkImageLayout dstImageLayout,
3710 uint32_t regionCount,
3711 const VkImageBlit* pRegions,
3714 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage(
3715 VkCommandBuffer commandBuffer,
3718 VkImageLayout dstImageLayout,
3719 uint32_t regionCount,
3720 const VkBufferImageCopy* pRegions);
3722 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer(
3723 VkCommandBuffer commandBuffer,
3725 VkImageLayout srcImageLayout,
3727 uint32_t regionCount,
3728 const VkBufferImageCopy* pRegions);
3730 VKAPI_ATTR void VKAPI_CALL vkCmdUpdateBuffer(
3731 VkCommandBuffer commandBuffer,
3733 VkDeviceSize dstOffset,
3734 VkDeviceSize dataSize,
3737 VKAPI_ATTR void VKAPI_CALL vkCmdFillBuffer(
3738 VkCommandBuffer commandBuffer,
3740 VkDeviceSize dstOffset,
3744 VKAPI_ATTR void VKAPI_CALL vkCmdClearColorImage(
3745 VkCommandBuffer commandBuffer,
3747 VkImageLayout imageLayout,
3748 const VkClearColorValue* pColor,
3749 uint32_t rangeCount,
3750 const VkImageSubresourceRange* pRanges);
3752 VKAPI_ATTR void VKAPI_CALL vkCmdClearDepthStencilImage(
3753 VkCommandBuffer commandBuffer,
3755 VkImageLayout imageLayout,
3756 const VkClearDepthStencilValue* pDepthStencil,
3757 uint32_t rangeCount,
3758 const VkImageSubresourceRange* pRanges);
3760 VKAPI_ATTR void VKAPI_CALL vkCmdClearAttachments(
3761 VkCommandBuffer commandBuffer,
3762 uint32_t attachmentCount,
3763 const VkClearAttachment* pAttachments,
3765 const VkClearRect* pRects);
3767 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage(
3768 VkCommandBuffer commandBuffer,
3770 VkImageLayout srcImageLayout,
3772 VkImageLayout dstImageLayout,
3773 uint32_t regionCount,
3774 const VkImageResolve* pRegions);
3776 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent(
3777 VkCommandBuffer commandBuffer,
3779 VkPipelineStageFlags stageMask);
3781 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent(
3782 VkCommandBuffer commandBuffer,
3784 VkPipelineStageFlags stageMask);
3786 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents(
3787 VkCommandBuffer commandBuffer,
3788 uint32_t eventCount,
3789 const VkEvent* pEvents,
3790 VkPipelineStageFlags srcStageMask,
3791 VkPipelineStageFlags dstStageMask,
3792 uint32_t memoryBarrierCount,
3793 const VkMemoryBarrier* pMemoryBarriers,
3794 uint32_t bufferMemoryBarrierCount,
3795 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
3796 uint32_t imageMemoryBarrierCount,
3797 const VkImageMemoryBarrier* pImageMemoryBarriers);
3799 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier(
3800 VkCommandBuffer commandBuffer,
3801 VkPipelineStageFlags srcStageMask,
3802 VkPipelineStageFlags dstStageMask,
3803 VkDependencyFlags dependencyFlags,
3804 uint32_t memoryBarrierCount,
3805 const VkMemoryBarrier* pMemoryBarriers,
3806 uint32_t bufferMemoryBarrierCount,
3807 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
3808 uint32_t imageMemoryBarrierCount,
3809 const VkImageMemoryBarrier* pImageMemoryBarriers);
3811 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQuery(
3812 VkCommandBuffer commandBuffer,
3813 VkQueryPool queryPool,
3815 VkQueryControlFlags flags);
3817 VKAPI_ATTR void VKAPI_CALL vkCmdEndQuery(
3818 VkCommandBuffer commandBuffer,
3819 VkQueryPool queryPool,
3822 VKAPI_ATTR void VKAPI_CALL vkCmdResetQueryPool(
3823 VkCommandBuffer commandBuffer,
3824 VkQueryPool queryPool,
3825 uint32_t firstQuery,
3826 uint32_t queryCount);
3828 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp(
3829 VkCommandBuffer commandBuffer,
3830 VkPipelineStageFlagBits pipelineStage,
3831 VkQueryPool queryPool,
3834 VKAPI_ATTR void VKAPI_CALL vkCmdCopyQueryPoolResults(
3835 VkCommandBuffer commandBuffer,
3836 VkQueryPool queryPool,
3837 uint32_t firstQuery,
3838 uint32_t queryCount,
3840 VkDeviceSize dstOffset,
3841 VkDeviceSize stride,
3842 VkQueryResultFlags flags);
3844 VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants(
3845 VkCommandBuffer commandBuffer,
3846 VkPipelineLayout layout,
3847 VkShaderStageFlags stageFlags,
3850 const void* pValues);
3852 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass(
3853 VkCommandBuffer commandBuffer,
3854 const VkRenderPassBeginInfo* pRenderPassBegin,
3855 VkSubpassContents contents);
3857 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass(
3858 VkCommandBuffer commandBuffer,
3859 VkSubpassContents contents);
3861 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass(
3862 VkCommandBuffer commandBuffer);
3864 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteCommands(
3865 VkCommandBuffer commandBuffer,
3866 uint32_t commandBufferCount,
3867 const VkCommandBuffer* pCommandBuffers);
3871 #define VK_VERSION_1_1 1
3872 // Vulkan 1.1 version number
3873 #define VK_API_VERSION_1_1 VK_MAKE_VERSION(1, 1, 0)// Patch version should always be set to 0
3875 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion)
3876 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate)
3877 #define VK_MAX_DEVICE_GROUP_SIZE 32
3878 #define VK_LUID_SIZE 8
3879 #define VK_QUEUE_FAMILY_EXTERNAL (~0U-1)
3881 typedef enum VkPointClippingBehavior {
3882 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES = 0,
3883 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY = 1,
3884 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES,
3885 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY,
3886 VK_POINT_CLIPPING_BEHAVIOR_BEGIN_RANGE = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES,
3887 VK_POINT_CLIPPING_BEHAVIOR_END_RANGE = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY,
3888 VK_POINT_CLIPPING_BEHAVIOR_RANGE_SIZE = (VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY - VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES + 1),
3889 VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF
3890 } VkPointClippingBehavior;
3892 typedef enum VkTessellationDomainOrigin {
3893 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT = 0,
3894 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT = 1,
3895 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT,
3896 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT,
3897 VK_TESSELLATION_DOMAIN_ORIGIN_BEGIN_RANGE = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT,
3898 VK_TESSELLATION_DOMAIN_ORIGIN_END_RANGE = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT,
3899 VK_TESSELLATION_DOMAIN_ORIGIN_RANGE_SIZE = (VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT - VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT + 1),
3900 VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM = 0x7FFFFFFF
3901 } VkTessellationDomainOrigin;
3903 typedef enum VkSamplerYcbcrModelConversion {
3904 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY = 0,
3905 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY = 1,
3906 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 = 2,
3907 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 = 3,
3908 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 = 4,
3909 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY,
3910 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY,
3911 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709,
3912 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601,
3913 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020,
3914 VK_SAMPLER_YCBCR_MODEL_CONVERSION_BEGIN_RANGE = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY,
3915 VK_SAMPLER_YCBCR_MODEL_CONVERSION_END_RANGE = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020,
3916 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RANGE_SIZE = (VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 - VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY + 1),
3917 VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM = 0x7FFFFFFF
3918 } VkSamplerYcbcrModelConversion;
3920 typedef enum VkSamplerYcbcrRange {
3921 VK_SAMPLER_YCBCR_RANGE_ITU_FULL = 0,
3922 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW = 1,
3923 VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_FULL,
3924 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW,
3925 VK_SAMPLER_YCBCR_RANGE_BEGIN_RANGE = VK_SAMPLER_YCBCR_RANGE_ITU_FULL,
3926 VK_SAMPLER_YCBCR_RANGE_END_RANGE = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW,
3927 VK_SAMPLER_YCBCR_RANGE_RANGE_SIZE = (VK_SAMPLER_YCBCR_RANGE_ITU_NARROW - VK_SAMPLER_YCBCR_RANGE_ITU_FULL + 1),
3928 VK_SAMPLER_YCBCR_RANGE_MAX_ENUM = 0x7FFFFFFF
3929 } VkSamplerYcbcrRange;
3931 typedef enum VkChromaLocation {
3932 VK_CHROMA_LOCATION_COSITED_EVEN = 0,
3933 VK_CHROMA_LOCATION_MIDPOINT = 1,
3934 VK_CHROMA_LOCATION_COSITED_EVEN_KHR = VK_CHROMA_LOCATION_COSITED_EVEN,
3935 VK_CHROMA_LOCATION_MIDPOINT_KHR = VK_CHROMA_LOCATION_MIDPOINT,
3936 VK_CHROMA_LOCATION_BEGIN_RANGE = VK_CHROMA_LOCATION_COSITED_EVEN,
3937 VK_CHROMA_LOCATION_END_RANGE = VK_CHROMA_LOCATION_MIDPOINT,
3938 VK_CHROMA_LOCATION_RANGE_SIZE = (VK_CHROMA_LOCATION_MIDPOINT - VK_CHROMA_LOCATION_COSITED_EVEN + 1),
3939 VK_CHROMA_LOCATION_MAX_ENUM = 0x7FFFFFFF
3942 typedef enum VkDescriptorUpdateTemplateType {
3943 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET = 0,
3944 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR = 1,
3945 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,
3946 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_BEGIN_RANGE = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,
3947 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_END_RANGE = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,
3948 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_RANGE_SIZE = (VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET - VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET + 1),
3949 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM = 0x7FFFFFFF
3950 } VkDescriptorUpdateTemplateType;
3952 typedef enum VkSubgroupFeatureFlagBits {
3953 VK_SUBGROUP_FEATURE_BASIC_BIT = 0x00000001,
3954 VK_SUBGROUP_FEATURE_VOTE_BIT = 0x00000002,
3955 VK_SUBGROUP_FEATURE_ARITHMETIC_BIT = 0x00000004,
3956 VK_SUBGROUP_FEATURE_BALLOT_BIT = 0x00000008,
3957 VK_SUBGROUP_FEATURE_SHUFFLE_BIT = 0x00000010,
3958 VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = 0x00000020,
3959 VK_SUBGROUP_FEATURE_CLUSTERED_BIT = 0x00000040,
3960 VK_SUBGROUP_FEATURE_QUAD_BIT = 0x00000080,
3961 VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x00000100,
3962 VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3963 } VkSubgroupFeatureFlagBits;
3964 typedef VkFlags VkSubgroupFeatureFlags;
3966 typedef enum VkPeerMemoryFeatureFlagBits {
3967 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT = 0x00000001,
3968 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT = 0x00000002,
3969 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT = 0x00000004,
3970 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT = 0x00000008,
3971 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT,
3972 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_DST_BIT,
3973 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT,
3974 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT,
3975 VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3976 } VkPeerMemoryFeatureFlagBits;
3977 typedef VkFlags VkPeerMemoryFeatureFlags;
3979 typedef enum VkMemoryAllocateFlagBits {
3980 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT = 0x00000001,
3981 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT,
3982 VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3983 } VkMemoryAllocateFlagBits;
3984 typedef VkFlags VkMemoryAllocateFlags;
3985 typedef VkFlags VkCommandPoolTrimFlags;
3986 typedef VkFlags VkDescriptorUpdateTemplateCreateFlags;
3988 typedef enum VkExternalMemoryHandleTypeFlagBits {
3989 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
3990 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
3991 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
3992 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT = 0x00000008,
3993 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT = 0x00000010,
3994 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT = 0x00000020,
3995 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT = 0x00000040,
3996 VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT = 0x00000200,
3997 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID = 0x00000400,
3998 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 0x00000080,
3999 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 0x00000100,
4000 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT,
4001 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT,
4002 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
4003 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT,
4004 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT,
4005 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT,
4006 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT,
4007 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4008 } VkExternalMemoryHandleTypeFlagBits;
4009 typedef VkFlags VkExternalMemoryHandleTypeFlags;
4011 typedef enum VkExternalMemoryFeatureFlagBits {
4012 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT = 0x00000001,
4013 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT = 0x00000002,
4014 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT = 0x00000004,
4015 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT,
4016 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT,
4017 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT,
4018 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4019 } VkExternalMemoryFeatureFlagBits;
4020 typedef VkFlags VkExternalMemoryFeatureFlags;
4022 typedef enum VkExternalFenceHandleTypeFlagBits {
4023 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
4024 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
4025 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
4026 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000008,
4027 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT,
4028 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
4029 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
4030 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT,
4031 VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4032 } VkExternalFenceHandleTypeFlagBits;
4033 typedef VkFlags VkExternalFenceHandleTypeFlags;
4035 typedef enum VkExternalFenceFeatureFlagBits {
4036 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT = 0x00000001,
4037 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT = 0x00000002,
4038 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT,
4039 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT,
4040 VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4041 } VkExternalFenceFeatureFlagBits;
4042 typedef VkFlags VkExternalFenceFeatureFlags;
4044 typedef enum VkFenceImportFlagBits {
4045 VK_FENCE_IMPORT_TEMPORARY_BIT = 0x00000001,
4046 VK_FENCE_IMPORT_TEMPORARY_BIT_KHR = VK_FENCE_IMPORT_TEMPORARY_BIT,
4047 VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4048 } VkFenceImportFlagBits;
4049 typedef VkFlags VkFenceImportFlags;
4051 typedef enum VkSemaphoreImportFlagBits {
4052 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT = 0x00000001,
4053 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT,
4054 VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4055 } VkSemaphoreImportFlagBits;
4056 typedef VkFlags VkSemaphoreImportFlags;
4058 typedef enum VkExternalSemaphoreHandleTypeFlagBits {
4059 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
4060 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
4061 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
4062 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT = 0x00000008,
4063 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000010,
4064 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT,
4065 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
4066 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
4067 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
4068 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT,
4069 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4070 } VkExternalSemaphoreHandleTypeFlagBits;
4071 typedef VkFlags VkExternalSemaphoreHandleTypeFlags;
4073 typedef enum VkExternalSemaphoreFeatureFlagBits {
4074 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT = 0x00000001,
4075 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT = 0x00000002,
4076 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT,
4077 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT,
4078 VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4079 } VkExternalSemaphoreFeatureFlagBits;
4080 typedef VkFlags VkExternalSemaphoreFeatureFlags;
4081 typedef struct VkPhysicalDeviceSubgroupProperties {
4082 VkStructureType sType;
4084 uint32_t subgroupSize;
4085 VkShaderStageFlags supportedStages;
4086 VkSubgroupFeatureFlags supportedOperations;
4087 VkBool32 quadOperationsInAllStages;
4088 } VkPhysicalDeviceSubgroupProperties;
4090 typedef struct VkBindBufferMemoryInfo {
4091 VkStructureType sType;
4094 VkDeviceMemory memory;
4095 VkDeviceSize memoryOffset;
4096 } VkBindBufferMemoryInfo;
4098 typedef struct VkBindImageMemoryInfo {
4099 VkStructureType sType;
4102 VkDeviceMemory memory;
4103 VkDeviceSize memoryOffset;
4104 } VkBindImageMemoryInfo;
4106 typedef struct VkPhysicalDevice16BitStorageFeatures {
4107 VkStructureType sType;
4109 VkBool32 storageBuffer16BitAccess;
4110 VkBool32 uniformAndStorageBuffer16BitAccess;
4111 VkBool32 storagePushConstant16;
4112 VkBool32 storageInputOutput16;
4113 } VkPhysicalDevice16BitStorageFeatures;
4115 typedef struct VkMemoryDedicatedRequirements {
4116 VkStructureType sType;
4118 VkBool32 prefersDedicatedAllocation;
4119 VkBool32 requiresDedicatedAllocation;
4120 } VkMemoryDedicatedRequirements;
4122 typedef struct VkMemoryDedicatedAllocateInfo {
4123 VkStructureType sType;
4127 } VkMemoryDedicatedAllocateInfo;
4129 typedef struct VkMemoryAllocateFlagsInfo {
4130 VkStructureType sType;
4132 VkMemoryAllocateFlags flags;
4133 uint32_t deviceMask;
4134 } VkMemoryAllocateFlagsInfo;
4136 typedef struct VkDeviceGroupRenderPassBeginInfo {
4137 VkStructureType sType;
4139 uint32_t deviceMask;
4140 uint32_t deviceRenderAreaCount;
4141 const VkRect2D* pDeviceRenderAreas;
4142 } VkDeviceGroupRenderPassBeginInfo;
4144 typedef struct VkDeviceGroupCommandBufferBeginInfo {
4145 VkStructureType sType;
4147 uint32_t deviceMask;
4148 } VkDeviceGroupCommandBufferBeginInfo;
4150 typedef struct VkDeviceGroupSubmitInfo {
4151 VkStructureType sType;
4153 uint32_t waitSemaphoreCount;
4154 const uint32_t* pWaitSemaphoreDeviceIndices;
4155 uint32_t commandBufferCount;
4156 const uint32_t* pCommandBufferDeviceMasks;
4157 uint32_t signalSemaphoreCount;
4158 const uint32_t* pSignalSemaphoreDeviceIndices;
4159 } VkDeviceGroupSubmitInfo;
4161 typedef struct VkDeviceGroupBindSparseInfo {
4162 VkStructureType sType;
4164 uint32_t resourceDeviceIndex;
4165 uint32_t memoryDeviceIndex;
4166 } VkDeviceGroupBindSparseInfo;
4168 typedef struct VkBindBufferMemoryDeviceGroupInfo {
4169 VkStructureType sType;
4171 uint32_t deviceIndexCount;
4172 const uint32_t* pDeviceIndices;
4173 } VkBindBufferMemoryDeviceGroupInfo;
4175 typedef struct VkBindImageMemoryDeviceGroupInfo {
4176 VkStructureType sType;
4178 uint32_t deviceIndexCount;
4179 const uint32_t* pDeviceIndices;
4180 uint32_t splitInstanceBindRegionCount;
4181 const VkRect2D* pSplitInstanceBindRegions;
4182 } VkBindImageMemoryDeviceGroupInfo;
4184 typedef struct VkPhysicalDeviceGroupProperties {
4185 VkStructureType sType;
4187 uint32_t physicalDeviceCount;
4188 VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE];
4189 VkBool32 subsetAllocation;
4190 } VkPhysicalDeviceGroupProperties;
4192 typedef struct VkDeviceGroupDeviceCreateInfo {
4193 VkStructureType sType;
4195 uint32_t physicalDeviceCount;
4196 const VkPhysicalDevice* pPhysicalDevices;
4197 } VkDeviceGroupDeviceCreateInfo;
4199 typedef struct VkBufferMemoryRequirementsInfo2 {
4200 VkStructureType sType;
4203 } VkBufferMemoryRequirementsInfo2;
4205 typedef struct VkImageMemoryRequirementsInfo2 {
4206 VkStructureType sType;
4209 } VkImageMemoryRequirementsInfo2;
4211 typedef struct VkImageSparseMemoryRequirementsInfo2 {
4212 VkStructureType sType;
4215 } VkImageSparseMemoryRequirementsInfo2;
4217 typedef struct VkMemoryRequirements2 {
4218 VkStructureType sType;
4220 VkMemoryRequirements memoryRequirements;
4221 } VkMemoryRequirements2;
4223 typedef VkMemoryRequirements2 VkMemoryRequirements2KHR;
4225 typedef struct VkSparseImageMemoryRequirements2 {
4226 VkStructureType sType;
4228 VkSparseImageMemoryRequirements memoryRequirements;
4229 } VkSparseImageMemoryRequirements2;
4231 typedef struct VkPhysicalDeviceFeatures2 {
4232 VkStructureType sType;
4234 VkPhysicalDeviceFeatures features;
4235 } VkPhysicalDeviceFeatures2;
4237 typedef struct VkPhysicalDeviceProperties2 {
4238 VkStructureType sType;
4240 VkPhysicalDeviceProperties properties;
4241 } VkPhysicalDeviceProperties2;
4243 typedef struct VkFormatProperties2 {
4244 VkStructureType sType;
4246 VkFormatProperties formatProperties;
4247 } VkFormatProperties2;
4249 typedef struct VkImageFormatProperties2 {
4250 VkStructureType sType;
4252 VkImageFormatProperties imageFormatProperties;
4253 } VkImageFormatProperties2;
4255 typedef struct VkPhysicalDeviceImageFormatInfo2 {
4256 VkStructureType sType;
4260 VkImageTiling tiling;
4261 VkImageUsageFlags usage;
4262 VkImageCreateFlags flags;
4263 } VkPhysicalDeviceImageFormatInfo2;
4265 typedef struct VkQueueFamilyProperties2 {
4266 VkStructureType sType;
4268 VkQueueFamilyProperties queueFamilyProperties;
4269 } VkQueueFamilyProperties2;
4271 typedef struct VkPhysicalDeviceMemoryProperties2 {
4272 VkStructureType sType;
4274 VkPhysicalDeviceMemoryProperties memoryProperties;
4275 } VkPhysicalDeviceMemoryProperties2;
4277 typedef struct VkSparseImageFormatProperties2 {
4278 VkStructureType sType;
4280 VkSparseImageFormatProperties properties;
4281 } VkSparseImageFormatProperties2;
4283 typedef struct VkPhysicalDeviceSparseImageFormatInfo2 {
4284 VkStructureType sType;
4288 VkSampleCountFlagBits samples;
4289 VkImageUsageFlags usage;
4290 VkImageTiling tiling;
4291 } VkPhysicalDeviceSparseImageFormatInfo2;
4293 typedef struct VkPhysicalDevicePointClippingProperties {
4294 VkStructureType sType;
4296 VkPointClippingBehavior pointClippingBehavior;
4297 } VkPhysicalDevicePointClippingProperties;
4299 typedef struct VkInputAttachmentAspectReference {
4301 uint32_t inputAttachmentIndex;
4302 VkImageAspectFlags aspectMask;
4303 } VkInputAttachmentAspectReference;
4305 typedef struct VkRenderPassInputAttachmentAspectCreateInfo {
4306 VkStructureType sType;
4308 uint32_t aspectReferenceCount;
4309 const VkInputAttachmentAspectReference* pAspectReferences;
4310 } VkRenderPassInputAttachmentAspectCreateInfo;
4312 typedef struct VkImageViewUsageCreateInfo {
4313 VkStructureType sType;
4315 VkImageUsageFlags usage;
4316 } VkImageViewUsageCreateInfo;
4318 typedef struct VkPipelineTessellationDomainOriginStateCreateInfo {
4319 VkStructureType sType;
4321 VkTessellationDomainOrigin domainOrigin;
4322 } VkPipelineTessellationDomainOriginStateCreateInfo;
4324 typedef struct VkRenderPassMultiviewCreateInfo {
4325 VkStructureType sType;
4327 uint32_t subpassCount;
4328 const uint32_t* pViewMasks;
4329 uint32_t dependencyCount;
4330 const int32_t* pViewOffsets;
4331 uint32_t correlationMaskCount;
4332 const uint32_t* pCorrelationMasks;
4333 } VkRenderPassMultiviewCreateInfo;
4335 typedef struct VkPhysicalDeviceMultiviewFeatures {
4336 VkStructureType sType;
4339 VkBool32 multiviewGeometryShader;
4340 VkBool32 multiviewTessellationShader;
4341 } VkPhysicalDeviceMultiviewFeatures;
4343 typedef struct VkPhysicalDeviceMultiviewProperties {
4344 VkStructureType sType;
4346 uint32_t maxMultiviewViewCount;
4347 uint32_t maxMultiviewInstanceIndex;
4348 } VkPhysicalDeviceMultiviewProperties;
4350 typedef struct VkPhysicalDeviceVariablePointersFeatures {
4351 VkStructureType sType;
4353 VkBool32 variablePointersStorageBuffer;
4354 VkBool32 variablePointers;
4355 } VkPhysicalDeviceVariablePointersFeatures;
4357 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeatures;
4359 typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
4360 VkStructureType sType;
4362 VkBool32 protectedMemory;
4363 } VkPhysicalDeviceProtectedMemoryFeatures;
4365 typedef struct VkPhysicalDeviceProtectedMemoryProperties {
4366 VkStructureType sType;
4368 VkBool32 protectedNoFault;
4369 } VkPhysicalDeviceProtectedMemoryProperties;
4371 typedef struct VkDeviceQueueInfo2 {
4372 VkStructureType sType;
4374 VkDeviceQueueCreateFlags flags;
4375 uint32_t queueFamilyIndex;
4376 uint32_t queueIndex;
4377 } VkDeviceQueueInfo2;
4379 typedef struct VkProtectedSubmitInfo {
4380 VkStructureType sType;
4382 VkBool32 protectedSubmit;
4383 } VkProtectedSubmitInfo;
4385 typedef struct VkSamplerYcbcrConversionCreateInfo {
4386 VkStructureType sType;
4389 VkSamplerYcbcrModelConversion ycbcrModel;
4390 VkSamplerYcbcrRange ycbcrRange;
4391 VkComponentMapping components;
4392 VkChromaLocation xChromaOffset;
4393 VkChromaLocation yChromaOffset;
4394 VkFilter chromaFilter;
4395 VkBool32 forceExplicitReconstruction;
4396 } VkSamplerYcbcrConversionCreateInfo;
4398 typedef struct VkSamplerYcbcrConversionInfo {
4399 VkStructureType sType;
4401 VkSamplerYcbcrConversion conversion;
4402 } VkSamplerYcbcrConversionInfo;
4404 typedef struct VkBindImagePlaneMemoryInfo {
4405 VkStructureType sType;
4407 VkImageAspectFlagBits planeAspect;
4408 } VkBindImagePlaneMemoryInfo;
4410 typedef struct VkImagePlaneMemoryRequirementsInfo {
4411 VkStructureType sType;
4413 VkImageAspectFlagBits planeAspect;
4414 } VkImagePlaneMemoryRequirementsInfo;
4416 typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
4417 VkStructureType sType;
4419 VkBool32 samplerYcbcrConversion;
4420 } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
4422 typedef struct VkSamplerYcbcrConversionImageFormatProperties {
4423 VkStructureType sType;
4425 uint32_t combinedImageSamplerDescriptorCount;
4426 } VkSamplerYcbcrConversionImageFormatProperties;
4428 typedef struct VkDescriptorUpdateTemplateEntry {
4429 uint32_t dstBinding;
4430 uint32_t dstArrayElement;
4431 uint32_t descriptorCount;
4432 VkDescriptorType descriptorType;
4435 } VkDescriptorUpdateTemplateEntry;
4437 typedef struct VkDescriptorUpdateTemplateCreateInfo {
4438 VkStructureType sType;
4440 VkDescriptorUpdateTemplateCreateFlags flags;
4441 uint32_t descriptorUpdateEntryCount;
4442 const VkDescriptorUpdateTemplateEntry* pDescriptorUpdateEntries;
4443 VkDescriptorUpdateTemplateType templateType;
4444 VkDescriptorSetLayout descriptorSetLayout;
4445 VkPipelineBindPoint pipelineBindPoint;
4446 VkPipelineLayout pipelineLayout;
4448 } VkDescriptorUpdateTemplateCreateInfo;
4450 typedef struct VkExternalMemoryProperties {
4451 VkExternalMemoryFeatureFlags externalMemoryFeatures;
4452 VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes;
4453 VkExternalMemoryHandleTypeFlags compatibleHandleTypes;
4454 } VkExternalMemoryProperties;
4456 typedef struct VkPhysicalDeviceExternalImageFormatInfo {
4457 VkStructureType sType;
4459 VkExternalMemoryHandleTypeFlagBits handleType;
4460 } VkPhysicalDeviceExternalImageFormatInfo;
4462 typedef struct VkExternalImageFormatProperties {
4463 VkStructureType sType;
4465 VkExternalMemoryProperties externalMemoryProperties;
4466 } VkExternalImageFormatProperties;
4468 typedef struct VkPhysicalDeviceExternalBufferInfo {
4469 VkStructureType sType;
4471 VkBufferCreateFlags flags;
4472 VkBufferUsageFlags usage;
4473 VkExternalMemoryHandleTypeFlagBits handleType;
4474 } VkPhysicalDeviceExternalBufferInfo;
4476 typedef struct VkExternalBufferProperties {
4477 VkStructureType sType;
4479 VkExternalMemoryProperties externalMemoryProperties;
4480 } VkExternalBufferProperties;
4482 typedef struct VkPhysicalDeviceIDProperties {
4483 VkStructureType sType;
4485 uint8_t deviceUUID[VK_UUID_SIZE];
4486 uint8_t driverUUID[VK_UUID_SIZE];
4487 uint8_t deviceLUID[VK_LUID_SIZE];
4488 uint32_t deviceNodeMask;
4489 VkBool32 deviceLUIDValid;
4490 } VkPhysicalDeviceIDProperties;
4492 typedef struct VkExternalMemoryImageCreateInfo {
4493 VkStructureType sType;
4495 VkExternalMemoryHandleTypeFlags handleTypes;
4496 } VkExternalMemoryImageCreateInfo;
4498 typedef struct VkExternalMemoryBufferCreateInfo {
4499 VkStructureType sType;
4501 VkExternalMemoryHandleTypeFlags handleTypes;
4502 } VkExternalMemoryBufferCreateInfo;
4504 typedef struct VkExportMemoryAllocateInfo {
4505 VkStructureType sType;
4507 VkExternalMemoryHandleTypeFlags handleTypes;
4508 } VkExportMemoryAllocateInfo;
4510 typedef struct VkPhysicalDeviceExternalFenceInfo {
4511 VkStructureType sType;
4513 VkExternalFenceHandleTypeFlagBits handleType;
4514 } VkPhysicalDeviceExternalFenceInfo;
4516 typedef struct VkExternalFenceProperties {
4517 VkStructureType sType;
4519 VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes;
4520 VkExternalFenceHandleTypeFlags compatibleHandleTypes;
4521 VkExternalFenceFeatureFlags externalFenceFeatures;
4522 } VkExternalFenceProperties;
4524 typedef struct VkExportFenceCreateInfo {
4525 VkStructureType sType;
4527 VkExternalFenceHandleTypeFlags handleTypes;
4528 } VkExportFenceCreateInfo;
4530 typedef struct VkExportSemaphoreCreateInfo {
4531 VkStructureType sType;
4533 VkExternalSemaphoreHandleTypeFlags handleTypes;
4534 } VkExportSemaphoreCreateInfo;
4536 typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
4537 VkStructureType sType;
4539 VkExternalSemaphoreHandleTypeFlagBits handleType;
4540 } VkPhysicalDeviceExternalSemaphoreInfo;
4542 typedef struct VkExternalSemaphoreProperties {
4543 VkStructureType sType;
4545 VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes;
4546 VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes;
4547 VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures;
4548 } VkExternalSemaphoreProperties;
4550 typedef struct VkPhysicalDeviceMaintenance3Properties {
4551 VkStructureType sType;
4553 uint32_t maxPerSetDescriptors;
4554 VkDeviceSize maxMemoryAllocationSize;
4555 } VkPhysicalDeviceMaintenance3Properties;
4557 typedef struct VkDescriptorSetLayoutSupport {
4558 VkStructureType sType;
4561 } VkDescriptorSetLayoutSupport;
4563 typedef struct VkPhysicalDeviceShaderDrawParametersFeatures {
4564 VkStructureType sType;
4566 VkBool32 shaderDrawParameters;
4567 } VkPhysicalDeviceShaderDrawParametersFeatures;
4569 typedef VkPhysicalDeviceShaderDrawParametersFeatures VkPhysicalDeviceShaderDrawParameterFeatures;
4571 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceVersion)(uint32_t* pApiVersion);
4572 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
4573 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
4574 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeatures)(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
4575 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMask)(VkCommandBuffer commandBuffer, uint32_t deviceMask);
4576 typedef void (VKAPI_PTR *PFN_vkCmdDispatchBase)(VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ);
4577 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroups)(VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
4578 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
4579 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
4580 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
4581 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
4582 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
4583 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
4584 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
4585 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
4586 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
4587 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
4588 typedef void (VKAPI_PTR *PFN_vkTrimCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
4589 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue2)(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue);
4590 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversion)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
4591 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversion)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
4592 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplate)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
4593 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplate)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
4594 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplate)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
4595 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
4596 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFenceProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
4597 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphoreProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
4598 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupport)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
4600 #ifndef VK_NO_PROTOTYPES
4601 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceVersion(
4602 uint32_t* pApiVersion);
4604 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2(
4606 uint32_t bindInfoCount,
4607 const VkBindBufferMemoryInfo* pBindInfos);
4609 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2(
4611 uint32_t bindInfoCount,
4612 const VkBindImageMemoryInfo* pBindInfos);
4614 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeatures(
4617 uint32_t localDeviceIndex,
4618 uint32_t remoteDeviceIndex,
4619 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
4621 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMask(
4622 VkCommandBuffer commandBuffer,
4623 uint32_t deviceMask);
4625 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBase(
4626 VkCommandBuffer commandBuffer,
4627 uint32_t baseGroupX,
4628 uint32_t baseGroupY,
4629 uint32_t baseGroupZ,
4630 uint32_t groupCountX,
4631 uint32_t groupCountY,
4632 uint32_t groupCountZ);
4634 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroups(
4635 VkInstance instance,
4636 uint32_t* pPhysicalDeviceGroupCount,
4637 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
4639 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2(
4641 const VkImageMemoryRequirementsInfo2* pInfo,
4642 VkMemoryRequirements2* pMemoryRequirements);
4644 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2(
4646 const VkBufferMemoryRequirementsInfo2* pInfo,
4647 VkMemoryRequirements2* pMemoryRequirements);
4649 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2(
4651 const VkImageSparseMemoryRequirementsInfo2* pInfo,
4652 uint32_t* pSparseMemoryRequirementCount,
4653 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
4655 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2(
4656 VkPhysicalDevice physicalDevice,
4657 VkPhysicalDeviceFeatures2* pFeatures);
4659 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2(
4660 VkPhysicalDevice physicalDevice,
4661 VkPhysicalDeviceProperties2* pProperties);
4663 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2(
4664 VkPhysicalDevice physicalDevice,
4666 VkFormatProperties2* pFormatProperties);
4668 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2(
4669 VkPhysicalDevice physicalDevice,
4670 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
4671 VkImageFormatProperties2* pImageFormatProperties);
4673 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2(
4674 VkPhysicalDevice physicalDevice,
4675 uint32_t* pQueueFamilyPropertyCount,
4676 VkQueueFamilyProperties2* pQueueFamilyProperties);
4678 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2(
4679 VkPhysicalDevice physicalDevice,
4680 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
4682 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2(
4683 VkPhysicalDevice physicalDevice,
4684 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
4685 uint32_t* pPropertyCount,
4686 VkSparseImageFormatProperties2* pProperties);
4688 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPool(
4690 VkCommandPool commandPool,
4691 VkCommandPoolTrimFlags flags);
4693 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue2(
4695 const VkDeviceQueueInfo2* pQueueInfo,
4698 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversion(
4700 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
4701 const VkAllocationCallbacks* pAllocator,
4702 VkSamplerYcbcrConversion* pYcbcrConversion);
4704 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversion(
4706 VkSamplerYcbcrConversion ycbcrConversion,
4707 const VkAllocationCallbacks* pAllocator);
4709 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplate(
4711 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
4712 const VkAllocationCallbacks* pAllocator,
4713 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
4715 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplate(
4717 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
4718 const VkAllocationCallbacks* pAllocator);
4720 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplate(
4722 VkDescriptorSet descriptorSet,
4723 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
4726 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferProperties(
4727 VkPhysicalDevice physicalDevice,
4728 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
4729 VkExternalBufferProperties* pExternalBufferProperties);
4731 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFenceProperties(
4732 VkPhysicalDevice physicalDevice,
4733 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
4734 VkExternalFenceProperties* pExternalFenceProperties);
4736 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphoreProperties(
4737 VkPhysicalDevice physicalDevice,
4738 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
4739 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
4741 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupport(
4743 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
4744 VkDescriptorSetLayoutSupport* pSupport);
4748 #define VK_KHR_surface 1
4749 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR)
4750 #define VK_KHR_SURFACE_SPEC_VERSION 25
4751 #define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface"
4753 typedef enum VkColorSpaceKHR {
4754 VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0,
4755 VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = 1000104001,
4756 VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT = 1000104002,
4757 VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT = 1000104003,
4758 VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT = 1000104004,
4759 VK_COLOR_SPACE_BT709_LINEAR_EXT = 1000104005,
4760 VK_COLOR_SPACE_BT709_NONLINEAR_EXT = 1000104006,
4761 VK_COLOR_SPACE_BT2020_LINEAR_EXT = 1000104007,
4762 VK_COLOR_SPACE_HDR10_ST2084_EXT = 1000104008,
4763 VK_COLOR_SPACE_DOLBYVISION_EXT = 1000104009,
4764 VK_COLOR_SPACE_HDR10_HLG_EXT = 1000104010,
4765 VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT = 1000104011,
4766 VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT = 1000104012,
4767 VK_COLOR_SPACE_PASS_THROUGH_EXT = 1000104013,
4768 VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT = 1000104014,
4769 VK_COLOR_SPACE_DISPLAY_NATIVE_AMD = 1000213000,
4770 VK_COLORSPACE_SRGB_NONLINEAR_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
4771 VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT,
4772 VK_COLOR_SPACE_BEGIN_RANGE_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
4773 VK_COLOR_SPACE_END_RANGE_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
4774 VK_COLOR_SPACE_RANGE_SIZE_KHR = (VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - VK_COLOR_SPACE_SRGB_NONLINEAR_KHR + 1),
4775 VK_COLOR_SPACE_MAX_ENUM_KHR = 0x7FFFFFFF
4778 typedef enum VkPresentModeKHR {
4779 VK_PRESENT_MODE_IMMEDIATE_KHR = 0,
4780 VK_PRESENT_MODE_MAILBOX_KHR = 1,
4781 VK_PRESENT_MODE_FIFO_KHR = 2,
4782 VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3,
4783 VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR = 1000111000,
4784 VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = 1000111001,
4785 VK_PRESENT_MODE_BEGIN_RANGE_KHR = VK_PRESENT_MODE_IMMEDIATE_KHR,
4786 VK_PRESENT_MODE_END_RANGE_KHR = VK_PRESENT_MODE_FIFO_RELAXED_KHR,
4787 VK_PRESENT_MODE_RANGE_SIZE_KHR = (VK_PRESENT_MODE_FIFO_RELAXED_KHR - VK_PRESENT_MODE_IMMEDIATE_KHR + 1),
4788 VK_PRESENT_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
4791 typedef enum VkSurfaceTransformFlagBitsKHR {
4792 VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 0x00000001,
4793 VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 0x00000002,
4794 VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 0x00000004,
4795 VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 0x00000008,
4796 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 0x00000010,
4797 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 0x00000020,
4798 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 0x00000040,
4799 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 0x00000080,
4800 VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 0x00000100,
4801 VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
4802 } VkSurfaceTransformFlagBitsKHR;
4803 typedef VkFlags VkSurfaceTransformFlagsKHR;
4805 typedef enum VkCompositeAlphaFlagBitsKHR {
4806 VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
4807 VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 0x00000002,
4808 VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 0x00000004,
4809 VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 0x00000008,
4810 VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
4811 } VkCompositeAlphaFlagBitsKHR;
4812 typedef VkFlags VkCompositeAlphaFlagsKHR;
4813 typedef struct VkSurfaceCapabilitiesKHR {
4814 uint32_t minImageCount;
4815 uint32_t maxImageCount;
4816 VkExtent2D currentExtent;
4817 VkExtent2D minImageExtent;
4818 VkExtent2D maxImageExtent;
4819 uint32_t maxImageArrayLayers;
4820 VkSurfaceTransformFlagsKHR supportedTransforms;
4821 VkSurfaceTransformFlagBitsKHR currentTransform;
4822 VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
4823 VkImageUsageFlags supportedUsageFlags;
4824 } VkSurfaceCapabilitiesKHR;
4826 typedef struct VkSurfaceFormatKHR {
4828 VkColorSpaceKHR colorSpace;
4829 } VkSurfaceFormatKHR;
4831 typedef void (VKAPI_PTR *PFN_vkDestroySurfaceKHR)(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator);
4832 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported);
4833 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
4834 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats);
4835 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pPresentModeCount, VkPresentModeKHR* pPresentModes);
4837 #ifndef VK_NO_PROTOTYPES
4838 VKAPI_ATTR void VKAPI_CALL vkDestroySurfaceKHR(
4839 VkInstance instance,
4840 VkSurfaceKHR surface,
4841 const VkAllocationCallbacks* pAllocator);
4843 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceSupportKHR(
4844 VkPhysicalDevice physicalDevice,
4845 uint32_t queueFamilyIndex,
4846 VkSurfaceKHR surface,
4847 VkBool32* pSupported);
4849 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilitiesKHR(
4850 VkPhysicalDevice physicalDevice,
4851 VkSurfaceKHR surface,
4852 VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
4854 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormatsKHR(
4855 VkPhysicalDevice physicalDevice,
4856 VkSurfaceKHR surface,
4857 uint32_t* pSurfaceFormatCount,
4858 VkSurfaceFormatKHR* pSurfaceFormats);
4860 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModesKHR(
4861 VkPhysicalDevice physicalDevice,
4862 VkSurfaceKHR surface,
4863 uint32_t* pPresentModeCount,
4864 VkPresentModeKHR* pPresentModes);
4868 #define VK_KHR_swapchain 1
4869 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR)
4870 #define VK_KHR_SWAPCHAIN_SPEC_VERSION 70
4871 #define VK_KHR_SWAPCHAIN_EXTENSION_NAME "VK_KHR_swapchain"
4873 typedef enum VkSwapchainCreateFlagBitsKHR {
4874 VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 0x00000001,
4875 VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR = 0x00000002,
4876 VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR = 0x00000004,
4877 VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
4878 } VkSwapchainCreateFlagBitsKHR;
4879 typedef VkFlags VkSwapchainCreateFlagsKHR;
4881 typedef enum VkDeviceGroupPresentModeFlagBitsKHR {
4882 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR = 0x00000001,
4883 VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR = 0x00000002,
4884 VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR = 0x00000004,
4885 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR = 0x00000008,
4886 VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
4887 } VkDeviceGroupPresentModeFlagBitsKHR;
4888 typedef VkFlags VkDeviceGroupPresentModeFlagsKHR;
4889 typedef struct VkSwapchainCreateInfoKHR {
4890 VkStructureType sType;
4892 VkSwapchainCreateFlagsKHR flags;
4893 VkSurfaceKHR surface;
4894 uint32_t minImageCount;
4895 VkFormat imageFormat;
4896 VkColorSpaceKHR imageColorSpace;
4897 VkExtent2D imageExtent;
4898 uint32_t imageArrayLayers;
4899 VkImageUsageFlags imageUsage;
4900 VkSharingMode imageSharingMode;
4901 uint32_t queueFamilyIndexCount;
4902 const uint32_t* pQueueFamilyIndices;
4903 VkSurfaceTransformFlagBitsKHR preTransform;
4904 VkCompositeAlphaFlagBitsKHR compositeAlpha;
4905 VkPresentModeKHR presentMode;
4907 VkSwapchainKHR oldSwapchain;
4908 } VkSwapchainCreateInfoKHR;
4910 typedef struct VkPresentInfoKHR {
4911 VkStructureType sType;
4913 uint32_t waitSemaphoreCount;
4914 const VkSemaphore* pWaitSemaphores;
4915 uint32_t swapchainCount;
4916 const VkSwapchainKHR* pSwapchains;
4917 const uint32_t* pImageIndices;
4921 typedef struct VkImageSwapchainCreateInfoKHR {
4922 VkStructureType sType;
4924 VkSwapchainKHR swapchain;
4925 } VkImageSwapchainCreateInfoKHR;
4927 typedef struct VkBindImageMemorySwapchainInfoKHR {
4928 VkStructureType sType;
4930 VkSwapchainKHR swapchain;
4931 uint32_t imageIndex;
4932 } VkBindImageMemorySwapchainInfoKHR;
4934 typedef struct VkAcquireNextImageInfoKHR {
4935 VkStructureType sType;
4937 VkSwapchainKHR swapchain;
4939 VkSemaphore semaphore;
4941 uint32_t deviceMask;
4942 } VkAcquireNextImageInfoKHR;
4944 typedef struct VkDeviceGroupPresentCapabilitiesKHR {
4945 VkStructureType sType;
4947 uint32_t presentMask[VK_MAX_DEVICE_GROUP_SIZE];
4948 VkDeviceGroupPresentModeFlagsKHR modes;
4949 } VkDeviceGroupPresentCapabilitiesKHR;
4951 typedef struct VkDeviceGroupPresentInfoKHR {
4952 VkStructureType sType;
4954 uint32_t swapchainCount;
4955 const uint32_t* pDeviceMasks;
4956 VkDeviceGroupPresentModeFlagBitsKHR mode;
4957 } VkDeviceGroupPresentInfoKHR;
4959 typedef struct VkDeviceGroupSwapchainCreateInfoKHR {
4960 VkStructureType sType;
4962 VkDeviceGroupPresentModeFlagsKHR modes;
4963 } VkDeviceGroupSwapchainCreateInfoKHR;
4965 typedef VkResult (VKAPI_PTR *PFN_vkCreateSwapchainKHR)(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain);
4966 typedef void (VKAPI_PTR *PFN_vkDestroySwapchainKHR)(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator);
4967 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainImagesKHR)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages);
4968 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImageKHR)(VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex);
4969 typedef VkResult (VKAPI_PTR *PFN_vkQueuePresentKHR)(VkQueue queue, const VkPresentInfoKHR* pPresentInfo);
4970 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupPresentCapabilitiesKHR)(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
4971 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupSurfacePresentModesKHR)(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes);
4972 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDevicePresentRectanglesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pRectCount, VkRect2D* pRects);
4973 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImage2KHR)(VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, uint32_t* pImageIndex);
4975 #ifndef VK_NO_PROTOTYPES
4976 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSwapchainKHR(
4978 const VkSwapchainCreateInfoKHR* pCreateInfo,
4979 const VkAllocationCallbacks* pAllocator,
4980 VkSwapchainKHR* pSwapchain);
4982 VKAPI_ATTR void VKAPI_CALL vkDestroySwapchainKHR(
4984 VkSwapchainKHR swapchain,
4985 const VkAllocationCallbacks* pAllocator);
4987 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainImagesKHR(
4989 VkSwapchainKHR swapchain,
4990 uint32_t* pSwapchainImageCount,
4991 VkImage* pSwapchainImages);
4993 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImageKHR(
4995 VkSwapchainKHR swapchain,
4997 VkSemaphore semaphore,
4999 uint32_t* pImageIndex);
5001 VKAPI_ATTR VkResult VKAPI_CALL vkQueuePresentKHR(
5003 const VkPresentInfoKHR* pPresentInfo);
5005 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupPresentCapabilitiesKHR(
5007 VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
5009 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupSurfacePresentModesKHR(
5011 VkSurfaceKHR surface,
5012 VkDeviceGroupPresentModeFlagsKHR* pModes);
5014 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDevicePresentRectanglesKHR(
5015 VkPhysicalDevice physicalDevice,
5016 VkSurfaceKHR surface,
5017 uint32_t* pRectCount,
5020 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImage2KHR(
5022 const VkAcquireNextImageInfoKHR* pAcquireInfo,
5023 uint32_t* pImageIndex);
5027 #define VK_KHR_display 1
5028 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR)
5029 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR)
5030 #define VK_KHR_DISPLAY_SPEC_VERSION 21
5031 #define VK_KHR_DISPLAY_EXTENSION_NAME "VK_KHR_display"
5033 typedef enum VkDisplayPlaneAlphaFlagBitsKHR {
5034 VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
5035 VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR = 0x00000002,
5036 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR = 0x00000004,
5037 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = 0x00000008,
5038 VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
5039 } VkDisplayPlaneAlphaFlagBitsKHR;
5040 typedef VkFlags VkDisplayPlaneAlphaFlagsKHR;
5041 typedef VkFlags VkDisplayModeCreateFlagsKHR;
5042 typedef VkFlags VkDisplaySurfaceCreateFlagsKHR;
5043 typedef struct VkDisplayPropertiesKHR {
5044 VkDisplayKHR display;
5045 const char* displayName;
5046 VkExtent2D physicalDimensions;
5047 VkExtent2D physicalResolution;
5048 VkSurfaceTransformFlagsKHR supportedTransforms;
5049 VkBool32 planeReorderPossible;
5050 VkBool32 persistentContent;
5051 } VkDisplayPropertiesKHR;
5053 typedef struct VkDisplayModeParametersKHR {
5054 VkExtent2D visibleRegion;
5055 uint32_t refreshRate;
5056 } VkDisplayModeParametersKHR;
5058 typedef struct VkDisplayModePropertiesKHR {
5059 VkDisplayModeKHR displayMode;
5060 VkDisplayModeParametersKHR parameters;
5061 } VkDisplayModePropertiesKHR;
5063 typedef struct VkDisplayModeCreateInfoKHR {
5064 VkStructureType sType;
5066 VkDisplayModeCreateFlagsKHR flags;
5067 VkDisplayModeParametersKHR parameters;
5068 } VkDisplayModeCreateInfoKHR;
5070 typedef struct VkDisplayPlaneCapabilitiesKHR {
5071 VkDisplayPlaneAlphaFlagsKHR supportedAlpha;
5072 VkOffset2D minSrcPosition;
5073 VkOffset2D maxSrcPosition;
5074 VkExtent2D minSrcExtent;
5075 VkExtent2D maxSrcExtent;
5076 VkOffset2D minDstPosition;
5077 VkOffset2D maxDstPosition;
5078 VkExtent2D minDstExtent;
5079 VkExtent2D maxDstExtent;
5080 } VkDisplayPlaneCapabilitiesKHR;
5082 typedef struct VkDisplayPlanePropertiesKHR {
5083 VkDisplayKHR currentDisplay;
5084 uint32_t currentStackIndex;
5085 } VkDisplayPlanePropertiesKHR;
5087 typedef struct VkDisplaySurfaceCreateInfoKHR {
5088 VkStructureType sType;
5090 VkDisplaySurfaceCreateFlagsKHR flags;
5091 VkDisplayModeKHR displayMode;
5092 uint32_t planeIndex;
5093 uint32_t planeStackIndex;
5094 VkSurfaceTransformFlagBitsKHR transform;
5096 VkDisplayPlaneAlphaFlagBitsKHR alphaMode;
5097 VkExtent2D imageExtent;
5098 } VkDisplaySurfaceCreateInfoKHR;
5100 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPropertiesKHR* pProperties);
5101 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties);
5102 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneSupportedDisplaysKHR)(VkPhysicalDevice physicalDevice, uint32_t planeIndex, uint32_t* pDisplayCount, VkDisplayKHR* pDisplays);
5103 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModePropertiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModePropertiesKHR* pProperties);
5104 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayModeKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode);
5105 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, uint32_t planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities);
5106 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayPlaneSurfaceKHR)(VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
5108 #ifndef VK_NO_PROTOTYPES
5109 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPropertiesKHR(
5110 VkPhysicalDevice physicalDevice,
5111 uint32_t* pPropertyCount,
5112 VkDisplayPropertiesKHR* pProperties);
5114 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlanePropertiesKHR(
5115 VkPhysicalDevice physicalDevice,
5116 uint32_t* pPropertyCount,
5117 VkDisplayPlanePropertiesKHR* pProperties);
5119 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneSupportedDisplaysKHR(
5120 VkPhysicalDevice physicalDevice,
5121 uint32_t planeIndex,
5122 uint32_t* pDisplayCount,
5123 VkDisplayKHR* pDisplays);
5125 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModePropertiesKHR(
5126 VkPhysicalDevice physicalDevice,
5127 VkDisplayKHR display,
5128 uint32_t* pPropertyCount,
5129 VkDisplayModePropertiesKHR* pProperties);
5131 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayModeKHR(
5132 VkPhysicalDevice physicalDevice,
5133 VkDisplayKHR display,
5134 const VkDisplayModeCreateInfoKHR* pCreateInfo,
5135 const VkAllocationCallbacks* pAllocator,
5136 VkDisplayModeKHR* pMode);
5138 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilitiesKHR(
5139 VkPhysicalDevice physicalDevice,
5140 VkDisplayModeKHR mode,
5141 uint32_t planeIndex,
5142 VkDisplayPlaneCapabilitiesKHR* pCapabilities);
5144 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayPlaneSurfaceKHR(
5145 VkInstance instance,
5146 const VkDisplaySurfaceCreateInfoKHR* pCreateInfo,
5147 const VkAllocationCallbacks* pAllocator,
5148 VkSurfaceKHR* pSurface);
5152 #define VK_KHR_display_swapchain 1
5153 #define VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION 9
5154 #define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME "VK_KHR_display_swapchain"
5155 typedef struct VkDisplayPresentInfoKHR {
5156 VkStructureType sType;
5160 VkBool32 persistent;
5161 } VkDisplayPresentInfoKHR;
5163 typedef VkResult (VKAPI_PTR *PFN_vkCreateSharedSwapchainsKHR)(VkDevice device, uint32_t swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains);
5165 #ifndef VK_NO_PROTOTYPES
5166 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSharedSwapchainsKHR(
5168 uint32_t swapchainCount,
5169 const VkSwapchainCreateInfoKHR* pCreateInfos,
5170 const VkAllocationCallbacks* pAllocator,
5171 VkSwapchainKHR* pSwapchains);
5175 #define VK_KHR_sampler_mirror_clamp_to_edge 1
5176 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION 1
5177 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME "VK_KHR_sampler_mirror_clamp_to_edge"
5180 #define VK_KHR_multiview 1
5181 #define VK_KHR_MULTIVIEW_SPEC_VERSION 1
5182 #define VK_KHR_MULTIVIEW_EXTENSION_NAME "VK_KHR_multiview"
5183 typedef VkRenderPassMultiviewCreateInfo VkRenderPassMultiviewCreateInfoKHR;
5185 typedef VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeaturesKHR;
5187 typedef VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewPropertiesKHR;
5191 #define VK_KHR_get_physical_device_properties2 1
5192 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION 1
5193 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_physical_device_properties2"
5194 typedef VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2KHR;
5196 typedef VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2KHR;
5198 typedef VkFormatProperties2 VkFormatProperties2KHR;
5200 typedef VkImageFormatProperties2 VkImageFormatProperties2KHR;
5202 typedef VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2KHR;
5204 typedef VkQueueFamilyProperties2 VkQueueFamilyProperties2KHR;
5206 typedef VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2KHR;
5208 typedef VkSparseImageFormatProperties2 VkSparseImageFormatProperties2KHR;
5210 typedef VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2KHR;
5212 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
5213 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
5214 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2KHR)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
5215 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
5216 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
5217 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
5218 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
5220 #ifndef VK_NO_PROTOTYPES
5221 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2KHR(
5222 VkPhysicalDevice physicalDevice,
5223 VkPhysicalDeviceFeatures2* pFeatures);
5225 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2KHR(
5226 VkPhysicalDevice physicalDevice,
5227 VkPhysicalDeviceProperties2* pProperties);
5229 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2KHR(
5230 VkPhysicalDevice physicalDevice,
5232 VkFormatProperties2* pFormatProperties);
5234 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2KHR(
5235 VkPhysicalDevice physicalDevice,
5236 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
5237 VkImageFormatProperties2* pImageFormatProperties);
5239 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2KHR(
5240 VkPhysicalDevice physicalDevice,
5241 uint32_t* pQueueFamilyPropertyCount,
5242 VkQueueFamilyProperties2* pQueueFamilyProperties);
5244 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2KHR(
5245 VkPhysicalDevice physicalDevice,
5246 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
5248 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
5249 VkPhysicalDevice physicalDevice,
5250 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
5251 uint32_t* pPropertyCount,
5252 VkSparseImageFormatProperties2* pProperties);
5256 #define VK_KHR_device_group 1
5257 #define VK_KHR_DEVICE_GROUP_SPEC_VERSION 3
5258 #define VK_KHR_DEVICE_GROUP_EXTENSION_NAME "VK_KHR_device_group"
5259 typedef VkPeerMemoryFeatureFlags VkPeerMemoryFeatureFlagsKHR;
5261 typedef VkPeerMemoryFeatureFlagBits VkPeerMemoryFeatureFlagBitsKHR;
5263 typedef VkMemoryAllocateFlags VkMemoryAllocateFlagsKHR;
5265 typedef VkMemoryAllocateFlagBits VkMemoryAllocateFlagBitsKHR;
5267 typedef VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfoKHR;
5269 typedef VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfoKHR;
5271 typedef VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfoKHR;
5273 typedef VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfoKHR;
5275 typedef VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfoKHR;
5277 typedef VkBindBufferMemoryDeviceGroupInfo VkBindBufferMemoryDeviceGroupInfoKHR;
5279 typedef VkBindImageMemoryDeviceGroupInfo VkBindImageMemoryDeviceGroupInfoKHR;
5281 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR)(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
5282 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMaskKHR)(VkCommandBuffer commandBuffer, uint32_t deviceMask);
5283 typedef void (VKAPI_PTR *PFN_vkCmdDispatchBaseKHR)(VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ);
5285 #ifndef VK_NO_PROTOTYPES
5286 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeaturesKHR(
5289 uint32_t localDeviceIndex,
5290 uint32_t remoteDeviceIndex,
5291 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
5293 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMaskKHR(
5294 VkCommandBuffer commandBuffer,
5295 uint32_t deviceMask);
5297 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBaseKHR(
5298 VkCommandBuffer commandBuffer,
5299 uint32_t baseGroupX,
5300 uint32_t baseGroupY,
5301 uint32_t baseGroupZ,
5302 uint32_t groupCountX,
5303 uint32_t groupCountY,
5304 uint32_t groupCountZ);
5308 #define VK_KHR_shader_draw_parameters 1
5309 #define VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION 1
5310 #define VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME "VK_KHR_shader_draw_parameters"
5313 #define VK_KHR_maintenance1 1
5314 #define VK_KHR_MAINTENANCE1_SPEC_VERSION 2
5315 #define VK_KHR_MAINTENANCE1_EXTENSION_NAME "VK_KHR_maintenance1"
5316 typedef VkCommandPoolTrimFlags VkCommandPoolTrimFlagsKHR;
5318 typedef void (VKAPI_PTR *PFN_vkTrimCommandPoolKHR)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
5320 #ifndef VK_NO_PROTOTYPES
5321 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPoolKHR(
5323 VkCommandPool commandPool,
5324 VkCommandPoolTrimFlags flags);
5328 #define VK_KHR_device_group_creation 1
5329 #define VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION 1
5330 #define VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME "VK_KHR_device_group_creation"
5331 #define VK_MAX_DEVICE_GROUP_SIZE_KHR VK_MAX_DEVICE_GROUP_SIZE
5332 typedef VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupPropertiesKHR;
5334 typedef VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfoKHR;
5336 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroupsKHR)(VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
5338 #ifndef VK_NO_PROTOTYPES
5339 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroupsKHR(
5340 VkInstance instance,
5341 uint32_t* pPhysicalDeviceGroupCount,
5342 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
5346 #define VK_KHR_external_memory_capabilities 1
5347 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
5348 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_memory_capabilities"
5349 #define VK_LUID_SIZE_KHR VK_LUID_SIZE
5350 typedef VkExternalMemoryHandleTypeFlags VkExternalMemoryHandleTypeFlagsKHR;
5352 typedef VkExternalMemoryHandleTypeFlagBits VkExternalMemoryHandleTypeFlagBitsKHR;
5354 typedef VkExternalMemoryFeatureFlags VkExternalMemoryFeatureFlagsKHR;
5356 typedef VkExternalMemoryFeatureFlagBits VkExternalMemoryFeatureFlagBitsKHR;
5358 typedef VkExternalMemoryProperties VkExternalMemoryPropertiesKHR;
5360 typedef VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfoKHR;
5362 typedef VkExternalImageFormatProperties VkExternalImageFormatPropertiesKHR;
5364 typedef VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfoKHR;
5366 typedef VkExternalBufferProperties VkExternalBufferPropertiesKHR;
5368 typedef VkPhysicalDeviceIDProperties VkPhysicalDeviceIDPropertiesKHR;
5370 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
5372 #ifndef VK_NO_PROTOTYPES
5373 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferPropertiesKHR(
5374 VkPhysicalDevice physicalDevice,
5375 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
5376 VkExternalBufferProperties* pExternalBufferProperties);
5380 #define VK_KHR_external_memory 1
5381 #define VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION 1
5382 #define VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME "VK_KHR_external_memory"
5383 #define VK_QUEUE_FAMILY_EXTERNAL_KHR VK_QUEUE_FAMILY_EXTERNAL
5384 typedef VkExternalMemoryImageCreateInfo VkExternalMemoryImageCreateInfoKHR;
5386 typedef VkExternalMemoryBufferCreateInfo VkExternalMemoryBufferCreateInfoKHR;
5388 typedef VkExportMemoryAllocateInfo VkExportMemoryAllocateInfoKHR;
5392 #define VK_KHR_external_memory_fd 1
5393 #define VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION 1
5394 #define VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME "VK_KHR_external_memory_fd"
5395 typedef struct VkImportMemoryFdInfoKHR {
5396 VkStructureType sType;
5398 VkExternalMemoryHandleTypeFlagBits handleType;
5400 } VkImportMemoryFdInfoKHR;
5402 typedef struct VkMemoryFdPropertiesKHR {
5403 VkStructureType sType;
5405 uint32_t memoryTypeBits;
5406 } VkMemoryFdPropertiesKHR;
5408 typedef struct VkMemoryGetFdInfoKHR {
5409 VkStructureType sType;
5411 VkDeviceMemory memory;
5412 VkExternalMemoryHandleTypeFlagBits handleType;
5413 } VkMemoryGetFdInfoKHR;
5415 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdKHR)(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd);
5416 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdPropertiesKHR)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties);
5418 #ifndef VK_NO_PROTOTYPES
5419 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdKHR(
5421 const VkMemoryGetFdInfoKHR* pGetFdInfo,
5424 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdPropertiesKHR(
5426 VkExternalMemoryHandleTypeFlagBits handleType,
5428 VkMemoryFdPropertiesKHR* pMemoryFdProperties);
5432 #define VK_KHR_external_semaphore_capabilities 1
5433 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION 1
5434 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_semaphore_capabilities"
5435 typedef VkExternalSemaphoreHandleTypeFlags VkExternalSemaphoreHandleTypeFlagsKHR;
5437 typedef VkExternalSemaphoreHandleTypeFlagBits VkExternalSemaphoreHandleTypeFlagBitsKHR;
5439 typedef VkExternalSemaphoreFeatureFlags VkExternalSemaphoreFeatureFlagsKHR;
5441 typedef VkExternalSemaphoreFeatureFlagBits VkExternalSemaphoreFeatureFlagBitsKHR;
5443 typedef VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfoKHR;
5445 typedef VkExternalSemaphoreProperties VkExternalSemaphorePropertiesKHR;
5447 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
5449 #ifndef VK_NO_PROTOTYPES
5450 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(
5451 VkPhysicalDevice physicalDevice,
5452 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
5453 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
5457 #define VK_KHR_external_semaphore 1
5458 #define VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION 1
5459 #define VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME "VK_KHR_external_semaphore"
5460 typedef VkSemaphoreImportFlags VkSemaphoreImportFlagsKHR;
5462 typedef VkSemaphoreImportFlagBits VkSemaphoreImportFlagBitsKHR;
5464 typedef VkExportSemaphoreCreateInfo VkExportSemaphoreCreateInfoKHR;
5468 #define VK_KHR_external_semaphore_fd 1
5469 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION 1
5470 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME "VK_KHR_external_semaphore_fd"
5471 typedef struct VkImportSemaphoreFdInfoKHR {
5472 VkStructureType sType;
5474 VkSemaphore semaphore;
5475 VkSemaphoreImportFlags flags;
5476 VkExternalSemaphoreHandleTypeFlagBits handleType;
5478 } VkImportSemaphoreFdInfoKHR;
5480 typedef struct VkSemaphoreGetFdInfoKHR {
5481 VkStructureType sType;
5483 VkSemaphore semaphore;
5484 VkExternalSemaphoreHandleTypeFlagBits handleType;
5485 } VkSemaphoreGetFdInfoKHR;
5487 typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreFdKHR)(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
5488 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreFdKHR)(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd);
5490 #ifndef VK_NO_PROTOTYPES
5491 VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreFdKHR(
5493 const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
5495 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreFdKHR(
5497 const VkSemaphoreGetFdInfoKHR* pGetFdInfo,
5502 #define VK_KHR_push_descriptor 1
5503 #define VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION 2
5504 #define VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME "VK_KHR_push_descriptor"
5505 typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
5506 VkStructureType sType;
5508 uint32_t maxPushDescriptors;
5509 } VkPhysicalDevicePushDescriptorPropertiesKHR;
5511 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetKHR)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites);
5512 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplateKHR)(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void* pData);
5514 #ifndef VK_NO_PROTOTYPES
5515 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetKHR(
5516 VkCommandBuffer commandBuffer,
5517 VkPipelineBindPoint pipelineBindPoint,
5518 VkPipelineLayout layout,
5520 uint32_t descriptorWriteCount,
5521 const VkWriteDescriptorSet* pDescriptorWrites);
5523 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplateKHR(
5524 VkCommandBuffer commandBuffer,
5525 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
5526 VkPipelineLayout layout,
5532 #define VK_KHR_shader_float16_int8 1
5533 #define VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION 1
5534 #define VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME "VK_KHR_shader_float16_int8"
5535 typedef struct VkPhysicalDeviceFloat16Int8FeaturesKHR {
5536 VkStructureType sType;
5538 VkBool32 shaderFloat16;
5539 VkBool32 shaderInt8;
5540 } VkPhysicalDeviceFloat16Int8FeaturesKHR;
5544 #define VK_KHR_16bit_storage 1
5545 #define VK_KHR_16BIT_STORAGE_SPEC_VERSION 1
5546 #define VK_KHR_16BIT_STORAGE_EXTENSION_NAME "VK_KHR_16bit_storage"
5547 typedef VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeaturesKHR;
5551 #define VK_KHR_incremental_present 1
5552 #define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 1
5553 #define VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME "VK_KHR_incremental_present"
5554 typedef struct VkRectLayerKHR {
5560 typedef struct VkPresentRegionKHR {
5561 uint32_t rectangleCount;
5562 const VkRectLayerKHR* pRectangles;
5563 } VkPresentRegionKHR;
5565 typedef struct VkPresentRegionsKHR {
5566 VkStructureType sType;
5568 uint32_t swapchainCount;
5569 const VkPresentRegionKHR* pRegions;
5570 } VkPresentRegionsKHR;
5574 #define VK_KHR_descriptor_update_template 1
5575 typedef VkDescriptorUpdateTemplate VkDescriptorUpdateTemplateKHR;
5577 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION 1
5578 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME "VK_KHR_descriptor_update_template"
5579 typedef VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateTypeKHR;
5581 typedef VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlagsKHR;
5583 typedef VkDescriptorUpdateTemplateEntry VkDescriptorUpdateTemplateEntryKHR;
5585 typedef VkDescriptorUpdateTemplateCreateInfo VkDescriptorUpdateTemplateCreateInfoKHR;
5587 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplateKHR)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
5588 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplateKHR)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
5589 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplateKHR)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
5591 #ifndef VK_NO_PROTOTYPES
5592 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplateKHR(
5594 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
5595 const VkAllocationCallbacks* pAllocator,
5596 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
5598 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplateKHR(
5600 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
5601 const VkAllocationCallbacks* pAllocator);
5603 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplateKHR(
5605 VkDescriptorSet descriptorSet,
5606 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
5610 #define VK_KHR_imageless_framebuffer 1
5611 #define VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION 1
5612 #define VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME "VK_KHR_imageless_framebuffer"
5614 typedef struct VkPhysicalDeviceImagelessFramebufferFeaturesKHR {
5615 VkStructureType sType;
5617 VkBool32 imagelessFramebuffer;
5618 } VkPhysicalDeviceImagelessFramebufferFeaturesKHR;
5620 typedef struct VkFramebufferAttachmentImageInfoKHR {
5621 VkStructureType sType;
5623 VkImageCreateFlags flags;
5624 VkImageUsageFlags usage;
5627 uint32_t layerCount;
5628 uint32_t viewFormatCount;
5629 const VkFormat* pViewFormats;
5630 } VkFramebufferAttachmentImageInfoKHR;
5632 typedef struct VkFramebufferAttachmentsCreateInfoKHR {
5633 VkStructureType sType;
5635 uint32_t attachmentImageInfoCount;
5636 const VkFramebufferAttachmentImageInfoKHR* pAttachmentImageInfos;
5637 } VkFramebufferAttachmentsCreateInfoKHR;
5639 typedef struct VkRenderPassAttachmentBeginInfoKHR {
5640 VkStructureType sType;
5642 uint32_t attachmentCount;
5643 const VkImageView* pAttachments;
5644 } VkRenderPassAttachmentBeginInfoKHR;
5648 #define VK_KHR_create_renderpass2 1
5649 #define VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION 1
5650 #define VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME "VK_KHR_create_renderpass2"
5651 typedef struct VkAttachmentDescription2KHR {
5652 VkStructureType sType;
5654 VkAttachmentDescriptionFlags flags;
5656 VkSampleCountFlagBits samples;
5657 VkAttachmentLoadOp loadOp;
5658 VkAttachmentStoreOp storeOp;
5659 VkAttachmentLoadOp stencilLoadOp;
5660 VkAttachmentStoreOp stencilStoreOp;
5661 VkImageLayout initialLayout;
5662 VkImageLayout finalLayout;
5663 } VkAttachmentDescription2KHR;
5665 typedef struct VkAttachmentReference2KHR {
5666 VkStructureType sType;
5668 uint32_t attachment;
5669 VkImageLayout layout;
5670 VkImageAspectFlags aspectMask;
5671 } VkAttachmentReference2KHR;
5673 typedef struct VkSubpassDescription2KHR {
5674 VkStructureType sType;
5676 VkSubpassDescriptionFlags flags;
5677 VkPipelineBindPoint pipelineBindPoint;
5679 uint32_t inputAttachmentCount;
5680 const VkAttachmentReference2KHR* pInputAttachments;
5681 uint32_t colorAttachmentCount;
5682 const VkAttachmentReference2KHR* pColorAttachments;
5683 const VkAttachmentReference2KHR* pResolveAttachments;
5684 const VkAttachmentReference2KHR* pDepthStencilAttachment;
5685 uint32_t preserveAttachmentCount;
5686 const uint32_t* pPreserveAttachments;
5687 } VkSubpassDescription2KHR;
5689 typedef struct VkSubpassDependency2KHR {
5690 VkStructureType sType;
5692 uint32_t srcSubpass;
5693 uint32_t dstSubpass;
5694 VkPipelineStageFlags srcStageMask;
5695 VkPipelineStageFlags dstStageMask;
5696 VkAccessFlags srcAccessMask;
5697 VkAccessFlags dstAccessMask;
5698 VkDependencyFlags dependencyFlags;
5700 } VkSubpassDependency2KHR;
5702 typedef struct VkRenderPassCreateInfo2KHR {
5703 VkStructureType sType;
5705 VkRenderPassCreateFlags flags;
5706 uint32_t attachmentCount;
5707 const VkAttachmentDescription2KHR* pAttachments;
5708 uint32_t subpassCount;
5709 const VkSubpassDescription2KHR* pSubpasses;
5710 uint32_t dependencyCount;
5711 const VkSubpassDependency2KHR* pDependencies;
5712 uint32_t correlatedViewMaskCount;
5713 const uint32_t* pCorrelatedViewMasks;
5714 } VkRenderPassCreateInfo2KHR;
5716 typedef struct VkSubpassBeginInfoKHR {
5717 VkStructureType sType;
5719 VkSubpassContents contents;
5720 } VkSubpassBeginInfoKHR;
5722 typedef struct VkSubpassEndInfoKHR {
5723 VkStructureType sType;
5725 } VkSubpassEndInfoKHR;
5727 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2KHR)(VkDevice device, const VkRenderPassCreateInfo2KHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
5728 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfoKHR* pSubpassBeginInfo);
5729 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfoKHR* pSubpassBeginInfo, const VkSubpassEndInfoKHR* pSubpassEndInfo);
5730 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassEndInfoKHR* pSubpassEndInfo);
5732 #ifndef VK_NO_PROTOTYPES
5733 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2KHR(
5735 const VkRenderPassCreateInfo2KHR* pCreateInfo,
5736 const VkAllocationCallbacks* pAllocator,
5737 VkRenderPass* pRenderPass);
5739 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2KHR(
5740 VkCommandBuffer commandBuffer,
5741 const VkRenderPassBeginInfo* pRenderPassBegin,
5742 const VkSubpassBeginInfoKHR* pSubpassBeginInfo);
5744 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2KHR(
5745 VkCommandBuffer commandBuffer,
5746 const VkSubpassBeginInfoKHR* pSubpassBeginInfo,
5747 const VkSubpassEndInfoKHR* pSubpassEndInfo);
5749 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2KHR(
5750 VkCommandBuffer commandBuffer,
5751 const VkSubpassEndInfoKHR* pSubpassEndInfo);
5755 #define VK_KHR_shared_presentable_image 1
5756 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION 1
5757 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME "VK_KHR_shared_presentable_image"
5758 typedef struct VkSharedPresentSurfaceCapabilitiesKHR {
5759 VkStructureType sType;
5761 VkImageUsageFlags sharedPresentSupportedUsageFlags;
5762 } VkSharedPresentSurfaceCapabilitiesKHR;
5764 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainStatusKHR)(VkDevice device, VkSwapchainKHR swapchain);
5766 #ifndef VK_NO_PROTOTYPES
5767 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainStatusKHR(
5769 VkSwapchainKHR swapchain);
5773 #define VK_KHR_external_fence_capabilities 1
5774 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION 1
5775 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_fence_capabilities"
5776 typedef VkExternalFenceHandleTypeFlags VkExternalFenceHandleTypeFlagsKHR;
5778 typedef VkExternalFenceHandleTypeFlagBits VkExternalFenceHandleTypeFlagBitsKHR;
5780 typedef VkExternalFenceFeatureFlags VkExternalFenceFeatureFlagsKHR;
5782 typedef VkExternalFenceFeatureFlagBits VkExternalFenceFeatureFlagBitsKHR;
5784 typedef VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfoKHR;
5786 typedef VkExternalFenceProperties VkExternalFencePropertiesKHR;
5788 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
5790 #ifndef VK_NO_PROTOTYPES
5791 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFencePropertiesKHR(
5792 VkPhysicalDevice physicalDevice,
5793 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
5794 VkExternalFenceProperties* pExternalFenceProperties);
5798 #define VK_KHR_external_fence 1
5799 #define VK_KHR_EXTERNAL_FENCE_SPEC_VERSION 1
5800 #define VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME "VK_KHR_external_fence"
5801 typedef VkFenceImportFlags VkFenceImportFlagsKHR;
5803 typedef VkFenceImportFlagBits VkFenceImportFlagBitsKHR;
5805 typedef VkExportFenceCreateInfo VkExportFenceCreateInfoKHR;
5809 #define VK_KHR_external_fence_fd 1
5810 #define VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION 1
5811 #define VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME "VK_KHR_external_fence_fd"
5812 typedef struct VkImportFenceFdInfoKHR {
5813 VkStructureType sType;
5816 VkFenceImportFlags flags;
5817 VkExternalFenceHandleTypeFlagBits handleType;
5819 } VkImportFenceFdInfoKHR;
5821 typedef struct VkFenceGetFdInfoKHR {
5822 VkStructureType sType;
5825 VkExternalFenceHandleTypeFlagBits handleType;
5826 } VkFenceGetFdInfoKHR;
5828 typedef VkResult (VKAPI_PTR *PFN_vkImportFenceFdKHR)(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
5829 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceFdKHR)(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd);
5831 #ifndef VK_NO_PROTOTYPES
5832 VKAPI_ATTR VkResult VKAPI_CALL vkImportFenceFdKHR(
5834 const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
5836 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceFdKHR(
5838 const VkFenceGetFdInfoKHR* pGetFdInfo,
5843 #define VK_KHR_maintenance2 1
5844 #define VK_KHR_MAINTENANCE2_SPEC_VERSION 1
5845 #define VK_KHR_MAINTENANCE2_EXTENSION_NAME "VK_KHR_maintenance2"
5846 typedef VkPointClippingBehavior VkPointClippingBehaviorKHR;
5848 typedef VkTessellationDomainOrigin VkTessellationDomainOriginKHR;
5850 typedef VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingPropertiesKHR;
5852 typedef VkRenderPassInputAttachmentAspectCreateInfo VkRenderPassInputAttachmentAspectCreateInfoKHR;
5854 typedef VkInputAttachmentAspectReference VkInputAttachmentAspectReferenceKHR;
5856 typedef VkImageViewUsageCreateInfo VkImageViewUsageCreateInfoKHR;
5858 typedef VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfoKHR;
5862 #define VK_KHR_get_surface_capabilities2 1
5863 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION 1
5864 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME "VK_KHR_get_surface_capabilities2"
5865 typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
5866 VkStructureType sType;
5868 VkSurfaceKHR surface;
5869 } VkPhysicalDeviceSurfaceInfo2KHR;
5871 typedef struct VkSurfaceCapabilities2KHR {
5872 VkStructureType sType;
5874 VkSurfaceCapabilitiesKHR surfaceCapabilities;
5875 } VkSurfaceCapabilities2KHR;
5877 typedef struct VkSurfaceFormat2KHR {
5878 VkStructureType sType;
5880 VkSurfaceFormatKHR surfaceFormat;
5881 } VkSurfaceFormat2KHR;
5883 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
5884 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormats2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, uint32_t* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats);
5886 #ifndef VK_NO_PROTOTYPES
5887 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2KHR(
5888 VkPhysicalDevice physicalDevice,
5889 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
5890 VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
5892 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormats2KHR(
5893 VkPhysicalDevice physicalDevice,
5894 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
5895 uint32_t* pSurfaceFormatCount,
5896 VkSurfaceFormat2KHR* pSurfaceFormats);
5900 #define VK_KHR_variable_pointers 1
5901 #define VK_KHR_VARIABLE_POINTERS_SPEC_VERSION 1
5902 #define VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME "VK_KHR_variable_pointers"
5903 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeaturesKHR;
5905 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointersFeaturesKHR;
5909 #define VK_KHR_get_display_properties2 1
5910 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION 1
5911 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_display_properties2"
5912 typedef struct VkDisplayProperties2KHR {
5913 VkStructureType sType;
5915 VkDisplayPropertiesKHR displayProperties;
5916 } VkDisplayProperties2KHR;
5918 typedef struct VkDisplayPlaneProperties2KHR {
5919 VkStructureType sType;
5921 VkDisplayPlanePropertiesKHR displayPlaneProperties;
5922 } VkDisplayPlaneProperties2KHR;
5924 typedef struct VkDisplayModeProperties2KHR {
5925 VkStructureType sType;
5927 VkDisplayModePropertiesKHR displayModeProperties;
5928 } VkDisplayModeProperties2KHR;
5930 typedef struct VkDisplayPlaneInfo2KHR {
5931 VkStructureType sType;
5933 VkDisplayModeKHR mode;
5934 uint32_t planeIndex;
5935 } VkDisplayPlaneInfo2KHR;
5937 typedef struct VkDisplayPlaneCapabilities2KHR {
5938 VkStructureType sType;
5940 VkDisplayPlaneCapabilitiesKHR capabilities;
5941 } VkDisplayPlaneCapabilities2KHR;
5943 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayProperties2KHR* pProperties);
5944 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlaneProperties2KHR* pProperties);
5945 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModeProperties2KHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModeProperties2KHR* pProperties);
5946 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, VkDisplayPlaneCapabilities2KHR* pCapabilities);
5948 #ifndef VK_NO_PROTOTYPES
5949 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayProperties2KHR(
5950 VkPhysicalDevice physicalDevice,
5951 uint32_t* pPropertyCount,
5952 VkDisplayProperties2KHR* pProperties);
5954 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlaneProperties2KHR(
5955 VkPhysicalDevice physicalDevice,
5956 uint32_t* pPropertyCount,
5957 VkDisplayPlaneProperties2KHR* pProperties);
5959 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModeProperties2KHR(
5960 VkPhysicalDevice physicalDevice,
5961 VkDisplayKHR display,
5962 uint32_t* pPropertyCount,
5963 VkDisplayModeProperties2KHR* pProperties);
5965 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilities2KHR(
5966 VkPhysicalDevice physicalDevice,
5967 const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo,
5968 VkDisplayPlaneCapabilities2KHR* pCapabilities);
5972 #define VK_KHR_dedicated_allocation 1
5973 #define VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION 3
5974 #define VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_KHR_dedicated_allocation"
5975 typedef VkMemoryDedicatedRequirements VkMemoryDedicatedRequirementsKHR;
5977 typedef VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfoKHR;
5981 #define VK_KHR_storage_buffer_storage_class 1
5982 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION 1
5983 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME "VK_KHR_storage_buffer_storage_class"
5986 #define VK_KHR_relaxed_block_layout 1
5987 #define VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION 1
5988 #define VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME "VK_KHR_relaxed_block_layout"
5991 #define VK_KHR_get_memory_requirements2 1
5992 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION 1
5993 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME "VK_KHR_get_memory_requirements2"
5994 typedef VkBufferMemoryRequirementsInfo2 VkBufferMemoryRequirementsInfo2KHR;
5996 typedef VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2KHR;
5998 typedef VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2KHR;
6000 typedef VkSparseImageMemoryRequirements2 VkSparseImageMemoryRequirements2KHR;
6002 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2KHR)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
6003 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2KHR)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
6004 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2KHR)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
6006 #ifndef VK_NO_PROTOTYPES
6007 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2KHR(
6009 const VkImageMemoryRequirementsInfo2* pInfo,
6010 VkMemoryRequirements2* pMemoryRequirements);
6012 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2KHR(
6014 const VkBufferMemoryRequirementsInfo2* pInfo,
6015 VkMemoryRequirements2* pMemoryRequirements);
6017 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2KHR(
6019 const VkImageSparseMemoryRequirementsInfo2* pInfo,
6020 uint32_t* pSparseMemoryRequirementCount,
6021 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
6025 #define VK_KHR_image_format_list 1
6026 #define VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION 1
6027 #define VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME "VK_KHR_image_format_list"
6028 typedef struct VkImageFormatListCreateInfoKHR {
6029 VkStructureType sType;
6031 uint32_t viewFormatCount;
6032 const VkFormat* pViewFormats;
6033 } VkImageFormatListCreateInfoKHR;
6037 #define VK_KHR_sampler_ycbcr_conversion 1
6038 typedef VkSamplerYcbcrConversion VkSamplerYcbcrConversionKHR;
6040 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION 1
6041 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME "VK_KHR_sampler_ycbcr_conversion"
6042 typedef VkSamplerYcbcrModelConversion VkSamplerYcbcrModelConversionKHR;
6044 typedef VkSamplerYcbcrRange VkSamplerYcbcrRangeKHR;
6046 typedef VkChromaLocation VkChromaLocationKHR;
6048 typedef VkSamplerYcbcrConversionCreateInfo VkSamplerYcbcrConversionCreateInfoKHR;
6050 typedef VkSamplerYcbcrConversionInfo VkSamplerYcbcrConversionInfoKHR;
6052 typedef VkBindImagePlaneMemoryInfo VkBindImagePlaneMemoryInfoKHR;
6054 typedef VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfoKHR;
6056 typedef VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR;
6058 typedef VkSamplerYcbcrConversionImageFormatProperties VkSamplerYcbcrConversionImageFormatPropertiesKHR;
6060 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversionKHR)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
6061 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversionKHR)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
6063 #ifndef VK_NO_PROTOTYPES
6064 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversionKHR(
6066 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
6067 const VkAllocationCallbacks* pAllocator,
6068 VkSamplerYcbcrConversion* pYcbcrConversion);
6070 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversionKHR(
6072 VkSamplerYcbcrConversion ycbcrConversion,
6073 const VkAllocationCallbacks* pAllocator);
6077 #define VK_KHR_bind_memory2 1
6078 #define VK_KHR_BIND_MEMORY_2_SPEC_VERSION 1
6079 #define VK_KHR_BIND_MEMORY_2_EXTENSION_NAME "VK_KHR_bind_memory2"
6080 typedef VkBindBufferMemoryInfo VkBindBufferMemoryInfoKHR;
6082 typedef VkBindImageMemoryInfo VkBindImageMemoryInfoKHR;
6084 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2KHR)(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
6085 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2KHR)(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
6087 #ifndef VK_NO_PROTOTYPES
6088 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2KHR(
6090 uint32_t bindInfoCount,
6091 const VkBindBufferMemoryInfo* pBindInfos);
6093 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2KHR(
6095 uint32_t bindInfoCount,
6096 const VkBindImageMemoryInfo* pBindInfos);
6100 #define VK_KHR_maintenance3 1
6101 #define VK_KHR_MAINTENANCE3_SPEC_VERSION 1
6102 #define VK_KHR_MAINTENANCE3_EXTENSION_NAME "VK_KHR_maintenance3"
6103 typedef VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3PropertiesKHR;
6105 typedef VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupportKHR;
6107 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupportKHR)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
6109 #ifndef VK_NO_PROTOTYPES
6110 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupportKHR(
6112 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
6113 VkDescriptorSetLayoutSupport* pSupport);
6117 #define VK_KHR_draw_indirect_count 1
6118 #define VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION 1
6119 #define VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_KHR_draw_indirect_count"
6120 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
6121 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
6123 #ifndef VK_NO_PROTOTYPES
6124 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountKHR(
6125 VkCommandBuffer commandBuffer,
6127 VkDeviceSize offset,
6128 VkBuffer countBuffer,
6129 VkDeviceSize countBufferOffset,
6130 uint32_t maxDrawCount,
6133 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountKHR(
6134 VkCommandBuffer commandBuffer,
6136 VkDeviceSize offset,
6137 VkBuffer countBuffer,
6138 VkDeviceSize countBufferOffset,
6139 uint32_t maxDrawCount,
6144 #define VK_KHR_8bit_storage 1
6145 #define VK_KHR_8BIT_STORAGE_SPEC_VERSION 1
6146 #define VK_KHR_8BIT_STORAGE_EXTENSION_NAME "VK_KHR_8bit_storage"
6147 typedef struct VkPhysicalDevice8BitStorageFeaturesKHR {
6148 VkStructureType sType;
6150 VkBool32 storageBuffer8BitAccess;
6151 VkBool32 uniformAndStorageBuffer8BitAccess;
6152 VkBool32 storagePushConstant8;
6153 } VkPhysicalDevice8BitStorageFeaturesKHR;
6157 #define VK_KHR_shader_atomic_int64 1
6158 #define VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION 1
6159 #define VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME "VK_KHR_shader_atomic_int64"
6160 typedef struct VkPhysicalDeviceShaderAtomicInt64FeaturesKHR {
6161 VkStructureType sType;
6163 VkBool32 shaderBufferInt64Atomics;
6164 VkBool32 shaderSharedInt64Atomics;
6165 } VkPhysicalDeviceShaderAtomicInt64FeaturesKHR;
6169 #define VK_KHR_driver_properties 1
6170 #define VK_MAX_DRIVER_NAME_SIZE_KHR 256
6171 #define VK_MAX_DRIVER_INFO_SIZE_KHR 256
6172 #define VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION 1
6173 #define VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME "VK_KHR_driver_properties"
6175 typedef enum VkDriverIdKHR {
6176 VK_DRIVER_ID_AMD_PROPRIETARY_KHR = 1,
6177 VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = 2,
6178 VK_DRIVER_ID_MESA_RADV_KHR = 3,
6179 VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR = 4,
6180 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR = 5,
6181 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR = 6,
6182 VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR = 7,
6183 VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR = 8,
6184 VK_DRIVER_ID_ARM_PROPRIETARY_KHR = 9,
6185 VK_DRIVER_ID_GOOGLE_PASTEL_KHR = 10,
6186 VK_DRIVER_ID_GGP_PROPRIETARY_KHR = 11,
6187 VK_DRIVER_ID_BEGIN_RANGE_KHR = VK_DRIVER_ID_AMD_PROPRIETARY_KHR,
6188 VK_DRIVER_ID_END_RANGE_KHR = VK_DRIVER_ID_GGP_PROPRIETARY_KHR,
6189 VK_DRIVER_ID_RANGE_SIZE_KHR = (VK_DRIVER_ID_GGP_PROPRIETARY_KHR - VK_DRIVER_ID_AMD_PROPRIETARY_KHR + 1),
6190 VK_DRIVER_ID_MAX_ENUM_KHR = 0x7FFFFFFF
6192 typedef struct VkConformanceVersionKHR {
6197 } VkConformanceVersionKHR;
6199 typedef struct VkPhysicalDeviceDriverPropertiesKHR {
6200 VkStructureType sType;
6202 VkDriverIdKHR driverID;
6203 char driverName[VK_MAX_DRIVER_NAME_SIZE_KHR];
6204 char driverInfo[VK_MAX_DRIVER_INFO_SIZE_KHR];
6205 VkConformanceVersionKHR conformanceVersion;
6206 } VkPhysicalDeviceDriverPropertiesKHR;
6210 #define VK_KHR_shader_float_controls 1
6211 #define VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION 1
6212 #define VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME "VK_KHR_shader_float_controls"
6213 typedef struct VkPhysicalDeviceFloatControlsPropertiesKHR {
6214 VkStructureType sType;
6216 VkBool32 separateDenormSettings;
6217 VkBool32 separateRoundingModeSettings;
6218 VkBool32 shaderSignedZeroInfNanPreserveFloat16;
6219 VkBool32 shaderSignedZeroInfNanPreserveFloat32;
6220 VkBool32 shaderSignedZeroInfNanPreserveFloat64;
6221 VkBool32 shaderDenormPreserveFloat16;
6222 VkBool32 shaderDenormPreserveFloat32;
6223 VkBool32 shaderDenormPreserveFloat64;
6224 VkBool32 shaderDenormFlushToZeroFloat16;
6225 VkBool32 shaderDenormFlushToZeroFloat32;
6226 VkBool32 shaderDenormFlushToZeroFloat64;
6227 VkBool32 shaderRoundingModeRTEFloat16;
6228 VkBool32 shaderRoundingModeRTEFloat32;
6229 VkBool32 shaderRoundingModeRTEFloat64;
6230 VkBool32 shaderRoundingModeRTZFloat16;
6231 VkBool32 shaderRoundingModeRTZFloat32;
6232 VkBool32 shaderRoundingModeRTZFloat64;
6233 } VkPhysicalDeviceFloatControlsPropertiesKHR;
6237 #define VK_KHR_depth_stencil_resolve 1
6238 #define VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION 1
6239 #define VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME "VK_KHR_depth_stencil_resolve"
6241 typedef enum VkResolveModeFlagBitsKHR {
6242 VK_RESOLVE_MODE_NONE_KHR = 0,
6243 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR = 0x00000001,
6244 VK_RESOLVE_MODE_AVERAGE_BIT_KHR = 0x00000002,
6245 VK_RESOLVE_MODE_MIN_BIT_KHR = 0x00000004,
6246 VK_RESOLVE_MODE_MAX_BIT_KHR = 0x00000008,
6247 VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
6248 } VkResolveModeFlagBitsKHR;
6249 typedef VkFlags VkResolveModeFlagsKHR;
6250 typedef struct VkSubpassDescriptionDepthStencilResolveKHR {
6251 VkStructureType sType;
6253 VkResolveModeFlagBitsKHR depthResolveMode;
6254 VkResolveModeFlagBitsKHR stencilResolveMode;
6255 const VkAttachmentReference2KHR* pDepthStencilResolveAttachment;
6256 } VkSubpassDescriptionDepthStencilResolveKHR;
6258 typedef struct VkPhysicalDeviceDepthStencilResolvePropertiesKHR {
6259 VkStructureType sType;
6261 VkResolveModeFlagsKHR supportedDepthResolveModes;
6262 VkResolveModeFlagsKHR supportedStencilResolveModes;
6263 VkBool32 independentResolveNone;
6264 VkBool32 independentResolve;
6265 } VkPhysicalDeviceDepthStencilResolvePropertiesKHR;
6269 #define VK_KHR_swapchain_mutable_format 1
6270 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION 1
6271 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME "VK_KHR_swapchain_mutable_format"
6274 #define VK_KHR_vulkan_memory_model 1
6275 #define VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION 3
6276 #define VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME "VK_KHR_vulkan_memory_model"
6277 typedef struct VkPhysicalDeviceVulkanMemoryModelFeaturesKHR {
6278 VkStructureType sType;
6280 VkBool32 vulkanMemoryModel;
6281 VkBool32 vulkanMemoryModelDeviceScope;
6282 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
6283 } VkPhysicalDeviceVulkanMemoryModelFeaturesKHR;
6287 #define VK_KHR_surface_protected_capabilities 1
6288 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION 1
6289 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME "VK_KHR_surface_protected_capabilities"
6290 typedef struct VkSurfaceProtectedCapabilitiesKHR {
6291 VkStructureType sType;
6293 VkBool32 supportsProtected;
6294 } VkSurfaceProtectedCapabilitiesKHR;
6298 #define VK_KHR_uniform_buffer_standard_layout 1
6299 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION 1
6300 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME "VK_KHR_uniform_buffer_standard_layout"
6301 typedef struct VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR {
6302 VkStructureType sType;
6304 VkBool32 uniformBufferStandardLayout;
6305 } VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR;
6309 #define VK_KHR_pipeline_executable_properties 1
6310 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION 1
6311 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME "VK_KHR_pipeline_executable_properties"
6313 typedef enum VkPipelineExecutableStatisticFormatKHR {
6314 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR = 0,
6315 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR = 1,
6316 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR = 2,
6317 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR = 3,
6318 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BEGIN_RANGE_KHR = VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR,
6319 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_END_RANGE_KHR = VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR,
6320 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_RANGE_SIZE_KHR = (VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR - VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR + 1),
6321 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_MAX_ENUM_KHR = 0x7FFFFFFF
6322 } VkPipelineExecutableStatisticFormatKHR;
6323 typedef struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
6324 VkStructureType sType;
6326 VkBool32 pipelineExecutableInfo;
6327 } VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR;
6329 typedef struct VkPipelineInfoKHR {
6330 VkStructureType sType;
6332 VkPipeline pipeline;
6333 } VkPipelineInfoKHR;
6335 typedef struct VkPipelineExecutablePropertiesKHR {
6336 VkStructureType sType;
6338 VkShaderStageFlags stages;
6339 char name[VK_MAX_DESCRIPTION_SIZE];
6340 char description[VK_MAX_DESCRIPTION_SIZE];
6341 uint32_t subgroupSize;
6342 } VkPipelineExecutablePropertiesKHR;
6344 typedef struct VkPipelineExecutableInfoKHR {
6345 VkStructureType sType;
6347 VkPipeline pipeline;
6348 uint32_t executableIndex;
6349 } VkPipelineExecutableInfoKHR;
6351 typedef union VkPipelineExecutableStatisticValueKHR {
6356 } VkPipelineExecutableStatisticValueKHR;
6358 typedef struct VkPipelineExecutableStatisticKHR {
6359 VkStructureType sType;
6361 char name[VK_MAX_DESCRIPTION_SIZE];
6362 char description[VK_MAX_DESCRIPTION_SIZE];
6363 VkPipelineExecutableStatisticFormatKHR format;
6364 VkPipelineExecutableStatisticValueKHR value;
6365 } VkPipelineExecutableStatisticKHR;
6367 typedef struct VkPipelineExecutableInternalRepresentationKHR {
6368 VkStructureType sType;
6370 char name[VK_MAX_DESCRIPTION_SIZE];
6371 char description[VK_MAX_DESCRIPTION_SIZE];
6375 } VkPipelineExecutableInternalRepresentationKHR;
6377 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutablePropertiesKHR)(VkDevice device, const VkPipelineInfoKHR* pPipelineInfo, uint32_t* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties);
6378 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableStatisticsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics);
6379 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableInternalRepresentationsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
6381 #ifndef VK_NO_PROTOTYPES
6382 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutablePropertiesKHR(
6384 const VkPipelineInfoKHR* pPipelineInfo,
6385 uint32_t* pExecutableCount,
6386 VkPipelineExecutablePropertiesKHR* pProperties);
6388 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableStatisticsKHR(
6390 const VkPipelineExecutableInfoKHR* pExecutableInfo,
6391 uint32_t* pStatisticCount,
6392 VkPipelineExecutableStatisticKHR* pStatistics);
6394 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableInternalRepresentationsKHR(
6396 const VkPipelineExecutableInfoKHR* pExecutableInfo,
6397 uint32_t* pInternalRepresentationCount,
6398 VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
6403 #define VK_EXT_debug_report 1
6404 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT)
6405 #define VK_EXT_DEBUG_REPORT_SPEC_VERSION 9
6406 #define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report"
6408 typedef enum VkDebugReportObjectTypeEXT {
6409 VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT = 0,
6410 VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT = 1,
6411 VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT = 2,
6412 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT = 3,
6413 VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT = 4,
6414 VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT = 5,
6415 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT = 6,
6416 VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT = 7,
6417 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT = 8,
6418 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT = 9,
6419 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT = 10,
6420 VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT = 11,
6421 VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT = 12,
6422 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT = 13,
6423 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT = 14,
6424 VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT = 15,
6425 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT = 16,
6426 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT = 17,
6427 VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT = 18,
6428 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT = 19,
6429 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT = 20,
6430 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT = 21,
6431 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT = 22,
6432 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT = 23,
6433 VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT = 24,
6434 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT = 25,
6435 VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = 26,
6436 VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = 27,
6437 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT = 28,
6438 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT = 29,
6439 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = 30,
6440 VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT = 31,
6441 VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT = 32,
6442 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT = 33,
6443 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT = 1000156000,
6444 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT = 1000085000,
6445 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT = 1000165000,
6446 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT,
6447 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT,
6448 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT,
6449 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT,
6450 VK_DEBUG_REPORT_OBJECT_TYPE_BEGIN_RANGE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT,
6451 VK_DEBUG_REPORT_OBJECT_TYPE_END_RANGE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT,
6452 VK_DEBUG_REPORT_OBJECT_TYPE_RANGE_SIZE_EXT = (VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT - VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT + 1),
6453 VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
6454 } VkDebugReportObjectTypeEXT;
6456 typedef enum VkDebugReportFlagBitsEXT {
6457 VK_DEBUG_REPORT_INFORMATION_BIT_EXT = 0x00000001,
6458 VK_DEBUG_REPORT_WARNING_BIT_EXT = 0x00000002,
6459 VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = 0x00000004,
6460 VK_DEBUG_REPORT_ERROR_BIT_EXT = 0x00000008,
6461 VK_DEBUG_REPORT_DEBUG_BIT_EXT = 0x00000010,
6462 VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
6463 } VkDebugReportFlagBitsEXT;
6464 typedef VkFlags VkDebugReportFlagsEXT;
6465 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugReportCallbackEXT)(
6466 VkDebugReportFlagsEXT flags,
6467 VkDebugReportObjectTypeEXT objectType,
6470 int32_t messageCode,
6471 const char* pLayerPrefix,
6472 const char* pMessage,
6475 typedef struct VkDebugReportCallbackCreateInfoEXT {
6476 VkStructureType sType;
6478 VkDebugReportFlagsEXT flags;
6479 PFN_vkDebugReportCallbackEXT pfnCallback;
6481 } VkDebugReportCallbackCreateInfoEXT;
6483 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugReportCallbackEXT)(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback);
6484 typedef void (VKAPI_PTR *PFN_vkDestroyDebugReportCallbackEXT)(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator);
6485 typedef void (VKAPI_PTR *PFN_vkDebugReportMessageEXT)(VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, uint64_t object, size_t location, int32_t messageCode, const char* pLayerPrefix, const char* pMessage);
6487 #ifndef VK_NO_PROTOTYPES
6488 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugReportCallbackEXT(
6489 VkInstance instance,
6490 const VkDebugReportCallbackCreateInfoEXT* pCreateInfo,
6491 const VkAllocationCallbacks* pAllocator,
6492 VkDebugReportCallbackEXT* pCallback);
6494 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugReportCallbackEXT(
6495 VkInstance instance,
6496 VkDebugReportCallbackEXT callback,
6497 const VkAllocationCallbacks* pAllocator);
6499 VKAPI_ATTR void VKAPI_CALL vkDebugReportMessageEXT(
6500 VkInstance instance,
6501 VkDebugReportFlagsEXT flags,
6502 VkDebugReportObjectTypeEXT objectType,
6505 int32_t messageCode,
6506 const char* pLayerPrefix,
6507 const char* pMessage);
6511 #define VK_NV_glsl_shader 1
6512 #define VK_NV_GLSL_SHADER_SPEC_VERSION 1
6513 #define VK_NV_GLSL_SHADER_EXTENSION_NAME "VK_NV_glsl_shader"
6516 #define VK_EXT_depth_range_unrestricted 1
6517 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION 1
6518 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME "VK_EXT_depth_range_unrestricted"
6521 #define VK_IMG_filter_cubic 1
6522 #define VK_IMG_FILTER_CUBIC_SPEC_VERSION 1
6523 #define VK_IMG_FILTER_CUBIC_EXTENSION_NAME "VK_IMG_filter_cubic"
6526 #define VK_AMD_rasterization_order 1
6527 #define VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION 1
6528 #define VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME "VK_AMD_rasterization_order"
6530 typedef enum VkRasterizationOrderAMD {
6531 VK_RASTERIZATION_ORDER_STRICT_AMD = 0,
6532 VK_RASTERIZATION_ORDER_RELAXED_AMD = 1,
6533 VK_RASTERIZATION_ORDER_BEGIN_RANGE_AMD = VK_RASTERIZATION_ORDER_STRICT_AMD,
6534 VK_RASTERIZATION_ORDER_END_RANGE_AMD = VK_RASTERIZATION_ORDER_RELAXED_AMD,
6535 VK_RASTERIZATION_ORDER_RANGE_SIZE_AMD = (VK_RASTERIZATION_ORDER_RELAXED_AMD - VK_RASTERIZATION_ORDER_STRICT_AMD + 1),
6536 VK_RASTERIZATION_ORDER_MAX_ENUM_AMD = 0x7FFFFFFF
6537 } VkRasterizationOrderAMD;
6538 typedef struct VkPipelineRasterizationStateRasterizationOrderAMD {
6539 VkStructureType sType;
6541 VkRasterizationOrderAMD rasterizationOrder;
6542 } VkPipelineRasterizationStateRasterizationOrderAMD;
6546 #define VK_AMD_shader_trinary_minmax 1
6547 #define VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION 1
6548 #define VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME "VK_AMD_shader_trinary_minmax"
6551 #define VK_AMD_shader_explicit_vertex_parameter 1
6552 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION 1
6553 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME "VK_AMD_shader_explicit_vertex_parameter"
6556 #define VK_EXT_debug_marker 1
6557 #define VK_EXT_DEBUG_MARKER_SPEC_VERSION 4
6558 #define VK_EXT_DEBUG_MARKER_EXTENSION_NAME "VK_EXT_debug_marker"
6559 typedef struct VkDebugMarkerObjectNameInfoEXT {
6560 VkStructureType sType;
6562 VkDebugReportObjectTypeEXT objectType;
6564 const char* pObjectName;
6565 } VkDebugMarkerObjectNameInfoEXT;
6567 typedef struct VkDebugMarkerObjectTagInfoEXT {
6568 VkStructureType sType;
6570 VkDebugReportObjectTypeEXT objectType;
6575 } VkDebugMarkerObjectTagInfoEXT;
6577 typedef struct VkDebugMarkerMarkerInfoEXT {
6578 VkStructureType sType;
6580 const char* pMarkerName;
6582 } VkDebugMarkerMarkerInfoEXT;
6584 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectTagEXT)(VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
6585 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectNameEXT)(VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
6586 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerBeginEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
6587 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerEndEXT)(VkCommandBuffer commandBuffer);
6588 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerInsertEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
6590 #ifndef VK_NO_PROTOTYPES
6591 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectTagEXT(
6593 const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
6595 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectNameEXT(
6597 const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
6599 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerBeginEXT(
6600 VkCommandBuffer commandBuffer,
6601 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
6603 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerEndEXT(
6604 VkCommandBuffer commandBuffer);
6606 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerInsertEXT(
6607 VkCommandBuffer commandBuffer,
6608 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
6612 #define VK_AMD_gcn_shader 1
6613 #define VK_AMD_GCN_SHADER_SPEC_VERSION 1
6614 #define VK_AMD_GCN_SHADER_EXTENSION_NAME "VK_AMD_gcn_shader"
6617 #define VK_NV_dedicated_allocation 1
6618 #define VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION 1
6619 #define VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_NV_dedicated_allocation"
6620 typedef struct VkDedicatedAllocationImageCreateInfoNV {
6621 VkStructureType sType;
6623 VkBool32 dedicatedAllocation;
6624 } VkDedicatedAllocationImageCreateInfoNV;
6626 typedef struct VkDedicatedAllocationBufferCreateInfoNV {
6627 VkStructureType sType;
6629 VkBool32 dedicatedAllocation;
6630 } VkDedicatedAllocationBufferCreateInfoNV;
6632 typedef struct VkDedicatedAllocationMemoryAllocateInfoNV {
6633 VkStructureType sType;
6637 } VkDedicatedAllocationMemoryAllocateInfoNV;
6641 #define VK_EXT_transform_feedback 1
6642 #define VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION 1
6643 #define VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME "VK_EXT_transform_feedback"
6644 typedef VkFlags VkPipelineRasterizationStateStreamCreateFlagsEXT;
6645 typedef struct VkPhysicalDeviceTransformFeedbackFeaturesEXT {
6646 VkStructureType sType;
6648 VkBool32 transformFeedback;
6649 VkBool32 geometryStreams;
6650 } VkPhysicalDeviceTransformFeedbackFeaturesEXT;
6652 typedef struct VkPhysicalDeviceTransformFeedbackPropertiesEXT {
6653 VkStructureType sType;
6655 uint32_t maxTransformFeedbackStreams;
6656 uint32_t maxTransformFeedbackBuffers;
6657 VkDeviceSize maxTransformFeedbackBufferSize;
6658 uint32_t maxTransformFeedbackStreamDataSize;
6659 uint32_t maxTransformFeedbackBufferDataSize;
6660 uint32_t maxTransformFeedbackBufferDataStride;
6661 VkBool32 transformFeedbackQueries;
6662 VkBool32 transformFeedbackStreamsLinesTriangles;
6663 VkBool32 transformFeedbackRasterizationStreamSelect;
6664 VkBool32 transformFeedbackDraw;
6665 } VkPhysicalDeviceTransformFeedbackPropertiesEXT;
6667 typedef struct VkPipelineRasterizationStateStreamCreateInfoEXT {
6668 VkStructureType sType;
6670 VkPipelineRasterizationStateStreamCreateFlagsEXT flags;
6671 uint32_t rasterizationStream;
6672 } VkPipelineRasterizationStateStreamCreateInfoEXT;
6674 typedef void (VKAPI_PTR *PFN_vkCmdBindTransformFeedbackBuffersEXT)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes);
6675 typedef void (VKAPI_PTR *PFN_vkCmdBeginTransformFeedbackEXT)(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
6676 typedef void (VKAPI_PTR *PFN_vkCmdEndTransformFeedbackEXT)(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
6677 typedef void (VKAPI_PTR *PFN_vkCmdBeginQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index);
6678 typedef void (VKAPI_PTR *PFN_vkCmdEndQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index);
6679 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectByteCountEXT)(VkCommandBuffer commandBuffer, uint32_t instanceCount, uint32_t firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, uint32_t counterOffset, uint32_t vertexStride);
6681 #ifndef VK_NO_PROTOTYPES
6682 VKAPI_ATTR void VKAPI_CALL vkCmdBindTransformFeedbackBuffersEXT(
6683 VkCommandBuffer commandBuffer,
6684 uint32_t firstBinding,
6685 uint32_t bindingCount,
6686 const VkBuffer* pBuffers,
6687 const VkDeviceSize* pOffsets,
6688 const VkDeviceSize* pSizes);
6690 VKAPI_ATTR void VKAPI_CALL vkCmdBeginTransformFeedbackEXT(
6691 VkCommandBuffer commandBuffer,
6692 uint32_t firstCounterBuffer,
6693 uint32_t counterBufferCount,
6694 const VkBuffer* pCounterBuffers,
6695 const VkDeviceSize* pCounterBufferOffsets);
6697 VKAPI_ATTR void VKAPI_CALL vkCmdEndTransformFeedbackEXT(
6698 VkCommandBuffer commandBuffer,
6699 uint32_t firstCounterBuffer,
6700 uint32_t counterBufferCount,
6701 const VkBuffer* pCounterBuffers,
6702 const VkDeviceSize* pCounterBufferOffsets);
6704 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQueryIndexedEXT(
6705 VkCommandBuffer commandBuffer,
6706 VkQueryPool queryPool,
6708 VkQueryControlFlags flags,
6711 VKAPI_ATTR void VKAPI_CALL vkCmdEndQueryIndexedEXT(
6712 VkCommandBuffer commandBuffer,
6713 VkQueryPool queryPool,
6717 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectByteCountEXT(
6718 VkCommandBuffer commandBuffer,
6719 uint32_t instanceCount,
6720 uint32_t firstInstance,
6721 VkBuffer counterBuffer,
6722 VkDeviceSize counterBufferOffset,
6723 uint32_t counterOffset,
6724 uint32_t vertexStride);
6728 #define VK_NVX_image_view_handle 1
6729 #define VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION 1
6730 #define VK_NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME "VK_NVX_image_view_handle"
6731 typedef struct VkImageViewHandleInfoNVX {
6732 VkStructureType sType;
6734 VkImageView imageView;
6735 VkDescriptorType descriptorType;
6737 } VkImageViewHandleInfoNVX;
6739 typedef uint32_t (VKAPI_PTR *PFN_vkGetImageViewHandleNVX)(VkDevice device, const VkImageViewHandleInfoNVX* pInfo);
6741 #ifndef VK_NO_PROTOTYPES
6742 VKAPI_ATTR uint32_t VKAPI_CALL vkGetImageViewHandleNVX(
6744 const VkImageViewHandleInfoNVX* pInfo);
6748 #define VK_AMD_draw_indirect_count 1
6749 #define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 1
6750 #define VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_AMD_draw_indirect_count"
6751 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
6752 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
6754 #ifndef VK_NO_PROTOTYPES
6755 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountAMD(
6756 VkCommandBuffer commandBuffer,
6758 VkDeviceSize offset,
6759 VkBuffer countBuffer,
6760 VkDeviceSize countBufferOffset,
6761 uint32_t maxDrawCount,
6764 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountAMD(
6765 VkCommandBuffer commandBuffer,
6767 VkDeviceSize offset,
6768 VkBuffer countBuffer,
6769 VkDeviceSize countBufferOffset,
6770 uint32_t maxDrawCount,
6775 #define VK_AMD_negative_viewport_height 1
6776 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION 1
6777 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME "VK_AMD_negative_viewport_height"
6780 #define VK_AMD_gpu_shader_half_float 1
6781 #define VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION 2
6782 #define VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME "VK_AMD_gpu_shader_half_float"
6785 #define VK_AMD_shader_ballot 1
6786 #define VK_AMD_SHADER_BALLOT_SPEC_VERSION 1
6787 #define VK_AMD_SHADER_BALLOT_EXTENSION_NAME "VK_AMD_shader_ballot"
6790 #define VK_AMD_texture_gather_bias_lod 1
6791 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION 1
6792 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME "VK_AMD_texture_gather_bias_lod"
6793 typedef struct VkTextureLODGatherFormatPropertiesAMD {
6794 VkStructureType sType;
6796 VkBool32 supportsTextureGatherLODBiasAMD;
6797 } VkTextureLODGatherFormatPropertiesAMD;
6801 #define VK_AMD_shader_info 1
6802 #define VK_AMD_SHADER_INFO_SPEC_VERSION 1
6803 #define VK_AMD_SHADER_INFO_EXTENSION_NAME "VK_AMD_shader_info"
6805 typedef enum VkShaderInfoTypeAMD {
6806 VK_SHADER_INFO_TYPE_STATISTICS_AMD = 0,
6807 VK_SHADER_INFO_TYPE_BINARY_AMD = 1,
6808 VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD = 2,
6809 VK_SHADER_INFO_TYPE_BEGIN_RANGE_AMD = VK_SHADER_INFO_TYPE_STATISTICS_AMD,
6810 VK_SHADER_INFO_TYPE_END_RANGE_AMD = VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD,
6811 VK_SHADER_INFO_TYPE_RANGE_SIZE_AMD = (VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD - VK_SHADER_INFO_TYPE_STATISTICS_AMD + 1),
6812 VK_SHADER_INFO_TYPE_MAX_ENUM_AMD = 0x7FFFFFFF
6813 } VkShaderInfoTypeAMD;
6814 typedef struct VkShaderResourceUsageAMD {
6815 uint32_t numUsedVgprs;
6816 uint32_t numUsedSgprs;
6817 uint32_t ldsSizePerLocalWorkGroup;
6818 size_t ldsUsageSizeInBytes;
6819 size_t scratchMemUsageInBytes;
6820 } VkShaderResourceUsageAMD;
6822 typedef struct VkShaderStatisticsInfoAMD {
6823 VkShaderStageFlags shaderStageMask;
6824 VkShaderResourceUsageAMD resourceUsage;
6825 uint32_t numPhysicalVgprs;
6826 uint32_t numPhysicalSgprs;
6827 uint32_t numAvailableVgprs;
6828 uint32_t numAvailableSgprs;
6829 uint32_t computeWorkGroupSize[3];
6830 } VkShaderStatisticsInfoAMD;
6832 typedef VkResult (VKAPI_PTR *PFN_vkGetShaderInfoAMD)(VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, size_t* pInfoSize, void* pInfo);
6834 #ifndef VK_NO_PROTOTYPES
6835 VKAPI_ATTR VkResult VKAPI_CALL vkGetShaderInfoAMD(
6837 VkPipeline pipeline,
6838 VkShaderStageFlagBits shaderStage,
6839 VkShaderInfoTypeAMD infoType,
6845 #define VK_AMD_shader_image_load_store_lod 1
6846 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION 1
6847 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME "VK_AMD_shader_image_load_store_lod"
6850 #define VK_NV_corner_sampled_image 1
6851 #define VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION 2
6852 #define VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME "VK_NV_corner_sampled_image"
6853 typedef struct VkPhysicalDeviceCornerSampledImageFeaturesNV {
6854 VkStructureType sType;
6856 VkBool32 cornerSampledImage;
6857 } VkPhysicalDeviceCornerSampledImageFeaturesNV;
6861 #define VK_IMG_format_pvrtc 1
6862 #define VK_IMG_FORMAT_PVRTC_SPEC_VERSION 1
6863 #define VK_IMG_FORMAT_PVRTC_EXTENSION_NAME "VK_IMG_format_pvrtc"
6866 #define VK_NV_external_memory_capabilities 1
6867 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
6868 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_NV_external_memory_capabilities"
6870 typedef enum VkExternalMemoryHandleTypeFlagBitsNV {
6871 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV = 0x00000001,
6872 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV = 0x00000002,
6873 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV = 0x00000004,
6874 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV = 0x00000008,
6875 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
6876 } VkExternalMemoryHandleTypeFlagBitsNV;
6877 typedef VkFlags VkExternalMemoryHandleTypeFlagsNV;
6879 typedef enum VkExternalMemoryFeatureFlagBitsNV {
6880 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV = 0x00000001,
6881 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV = 0x00000002,
6882 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV = 0x00000004,
6883 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
6884 } VkExternalMemoryFeatureFlagBitsNV;
6885 typedef VkFlags VkExternalMemoryFeatureFlagsNV;
6886 typedef struct VkExternalImageFormatPropertiesNV {
6887 VkImageFormatProperties imageFormatProperties;
6888 VkExternalMemoryFeatureFlagsNV externalMemoryFeatures;
6889 VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes;
6890 VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes;
6891 } VkExternalImageFormatPropertiesNV;
6893 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
6895 #ifndef VK_NO_PROTOTYPES
6896 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
6897 VkPhysicalDevice physicalDevice,
6900 VkImageTiling tiling,
6901 VkImageUsageFlags usage,
6902 VkImageCreateFlags flags,
6903 VkExternalMemoryHandleTypeFlagsNV externalHandleType,
6904 VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
6908 #define VK_NV_external_memory 1
6909 #define VK_NV_EXTERNAL_MEMORY_SPEC_VERSION 1
6910 #define VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME "VK_NV_external_memory"
6911 typedef struct VkExternalMemoryImageCreateInfoNV {
6912 VkStructureType sType;
6914 VkExternalMemoryHandleTypeFlagsNV handleTypes;
6915 } VkExternalMemoryImageCreateInfoNV;
6917 typedef struct VkExportMemoryAllocateInfoNV {
6918 VkStructureType sType;
6920 VkExternalMemoryHandleTypeFlagsNV handleTypes;
6921 } VkExportMemoryAllocateInfoNV;
6925 #define VK_EXT_validation_flags 1
6926 #define VK_EXT_VALIDATION_FLAGS_SPEC_VERSION 1
6927 #define VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME "VK_EXT_validation_flags"
6929 typedef enum VkValidationCheckEXT {
6930 VK_VALIDATION_CHECK_ALL_EXT = 0,
6931 VK_VALIDATION_CHECK_SHADERS_EXT = 1,
6932 VK_VALIDATION_CHECK_BEGIN_RANGE_EXT = VK_VALIDATION_CHECK_ALL_EXT,
6933 VK_VALIDATION_CHECK_END_RANGE_EXT = VK_VALIDATION_CHECK_SHADERS_EXT,
6934 VK_VALIDATION_CHECK_RANGE_SIZE_EXT = (VK_VALIDATION_CHECK_SHADERS_EXT - VK_VALIDATION_CHECK_ALL_EXT + 1),
6935 VK_VALIDATION_CHECK_MAX_ENUM_EXT = 0x7FFFFFFF
6936 } VkValidationCheckEXT;
6937 typedef struct VkValidationFlagsEXT {
6938 VkStructureType sType;
6940 uint32_t disabledValidationCheckCount;
6941 const VkValidationCheckEXT* pDisabledValidationChecks;
6942 } VkValidationFlagsEXT;
6946 #define VK_EXT_shader_subgroup_ballot 1
6947 #define VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION 1
6948 #define VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME "VK_EXT_shader_subgroup_ballot"
6951 #define VK_EXT_shader_subgroup_vote 1
6952 #define VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION 1
6953 #define VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME "VK_EXT_shader_subgroup_vote"
6956 #define VK_EXT_astc_decode_mode 1
6957 #define VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION 1
6958 #define VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME "VK_EXT_astc_decode_mode"
6959 typedef struct VkImageViewASTCDecodeModeEXT {
6960 VkStructureType sType;
6962 VkFormat decodeMode;
6963 } VkImageViewASTCDecodeModeEXT;
6965 typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT {
6966 VkStructureType sType;
6968 VkBool32 decodeModeSharedExponent;
6969 } VkPhysicalDeviceASTCDecodeFeaturesEXT;
6973 #define VK_EXT_conditional_rendering 1
6974 #define VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION 1
6975 #define VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME "VK_EXT_conditional_rendering"
6977 typedef enum VkConditionalRenderingFlagBitsEXT {
6978 VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT = 0x00000001,
6979 VK_CONDITIONAL_RENDERING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
6980 } VkConditionalRenderingFlagBitsEXT;
6981 typedef VkFlags VkConditionalRenderingFlagsEXT;
6982 typedef struct VkConditionalRenderingBeginInfoEXT {
6983 VkStructureType sType;
6986 VkDeviceSize offset;
6987 VkConditionalRenderingFlagsEXT flags;
6988 } VkConditionalRenderingBeginInfoEXT;
6990 typedef struct VkPhysicalDeviceConditionalRenderingFeaturesEXT {
6991 VkStructureType sType;
6993 VkBool32 conditionalRendering;
6994 VkBool32 inheritedConditionalRendering;
6995 } VkPhysicalDeviceConditionalRenderingFeaturesEXT;
6997 typedef struct VkCommandBufferInheritanceConditionalRenderingInfoEXT {
6998 VkStructureType sType;
7000 VkBool32 conditionalRenderingEnable;
7001 } VkCommandBufferInheritanceConditionalRenderingInfoEXT;
7003 typedef void (VKAPI_PTR *PFN_vkCmdBeginConditionalRenderingEXT)(VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
7004 typedef void (VKAPI_PTR *PFN_vkCmdEndConditionalRenderingEXT)(VkCommandBuffer commandBuffer);
7006 #ifndef VK_NO_PROTOTYPES
7007 VKAPI_ATTR void VKAPI_CALL vkCmdBeginConditionalRenderingEXT(
7008 VkCommandBuffer commandBuffer,
7009 const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
7011 VKAPI_ATTR void VKAPI_CALL vkCmdEndConditionalRenderingEXT(
7012 VkCommandBuffer commandBuffer);
7016 #define VK_NVX_device_generated_commands 1
7017 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkObjectTableNVX)
7018 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutNVX)
7019 #define VK_NVX_DEVICE_GENERATED_COMMANDS_SPEC_VERSION 3
7020 #define VK_NVX_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_NVX_device_generated_commands"
7022 typedef enum VkIndirectCommandsTokenTypeNVX {
7023 VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX = 0,
7024 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DESCRIPTOR_SET_NVX = 1,
7025 VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NVX = 2,
7026 VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NVX = 3,
7027 VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NVX = 4,
7028 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NVX = 5,
7029 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NVX = 6,
7030 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX = 7,
7031 VK_INDIRECT_COMMANDS_TOKEN_TYPE_BEGIN_RANGE_NVX = VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX,
7032 VK_INDIRECT_COMMANDS_TOKEN_TYPE_END_RANGE_NVX = VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX,
7033 VK_INDIRECT_COMMANDS_TOKEN_TYPE_RANGE_SIZE_NVX = (VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX - VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX + 1),
7034 VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NVX = 0x7FFFFFFF
7035 } VkIndirectCommandsTokenTypeNVX;
7037 typedef enum VkObjectEntryTypeNVX {
7038 VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX = 0,
7039 VK_OBJECT_ENTRY_TYPE_PIPELINE_NVX = 1,
7040 VK_OBJECT_ENTRY_TYPE_INDEX_BUFFER_NVX = 2,
7041 VK_OBJECT_ENTRY_TYPE_VERTEX_BUFFER_NVX = 3,
7042 VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX = 4,
7043 VK_OBJECT_ENTRY_TYPE_BEGIN_RANGE_NVX = VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX,
7044 VK_OBJECT_ENTRY_TYPE_END_RANGE_NVX = VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX,
7045 VK_OBJECT_ENTRY_TYPE_RANGE_SIZE_NVX = (VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX - VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX + 1),
7046 VK_OBJECT_ENTRY_TYPE_MAX_ENUM_NVX = 0x7FFFFFFF
7047 } VkObjectEntryTypeNVX;
7049 typedef enum VkIndirectCommandsLayoutUsageFlagBitsNVX {
7050 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NVX = 0x00000001,
7051 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_SPARSE_SEQUENCES_BIT_NVX = 0x00000002,
7052 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EMPTY_EXECUTIONS_BIT_NVX = 0x00000004,
7053 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NVX = 0x00000008,
7054 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NVX = 0x7FFFFFFF
7055 } VkIndirectCommandsLayoutUsageFlagBitsNVX;
7056 typedef VkFlags VkIndirectCommandsLayoutUsageFlagsNVX;
7058 typedef enum VkObjectEntryUsageFlagBitsNVX {
7059 VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX = 0x00000001,
7060 VK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX = 0x00000002,
7061 VK_OBJECT_ENTRY_USAGE_FLAG_BITS_MAX_ENUM_NVX = 0x7FFFFFFF
7062 } VkObjectEntryUsageFlagBitsNVX;
7063 typedef VkFlags VkObjectEntryUsageFlagsNVX;
7064 typedef struct VkDeviceGeneratedCommandsFeaturesNVX {
7065 VkStructureType sType;
7067 VkBool32 computeBindingPointSupport;
7068 } VkDeviceGeneratedCommandsFeaturesNVX;
7070 typedef struct VkDeviceGeneratedCommandsLimitsNVX {
7071 VkStructureType sType;
7073 uint32_t maxIndirectCommandsLayoutTokenCount;
7074 uint32_t maxObjectEntryCounts;
7075 uint32_t minSequenceCountBufferOffsetAlignment;
7076 uint32_t minSequenceIndexBufferOffsetAlignment;
7077 uint32_t minCommandsTokenBufferOffsetAlignment;
7078 } VkDeviceGeneratedCommandsLimitsNVX;
7080 typedef struct VkIndirectCommandsTokenNVX {
7081 VkIndirectCommandsTokenTypeNVX tokenType;
7083 VkDeviceSize offset;
7084 } VkIndirectCommandsTokenNVX;
7086 typedef struct VkIndirectCommandsLayoutTokenNVX {
7087 VkIndirectCommandsTokenTypeNVX tokenType;
7088 uint32_t bindingUnit;
7089 uint32_t dynamicCount;
7091 } VkIndirectCommandsLayoutTokenNVX;
7093 typedef struct VkIndirectCommandsLayoutCreateInfoNVX {
7094 VkStructureType sType;
7096 VkPipelineBindPoint pipelineBindPoint;
7097 VkIndirectCommandsLayoutUsageFlagsNVX flags;
7098 uint32_t tokenCount;
7099 const VkIndirectCommandsLayoutTokenNVX* pTokens;
7100 } VkIndirectCommandsLayoutCreateInfoNVX;
7102 typedef struct VkCmdProcessCommandsInfoNVX {
7103 VkStructureType sType;
7105 VkObjectTableNVX objectTable;
7106 VkIndirectCommandsLayoutNVX indirectCommandsLayout;
7107 uint32_t indirectCommandsTokenCount;
7108 const VkIndirectCommandsTokenNVX* pIndirectCommandsTokens;
7109 uint32_t maxSequencesCount;
7110 VkCommandBuffer targetCommandBuffer;
7111 VkBuffer sequencesCountBuffer;
7112 VkDeviceSize sequencesCountOffset;
7113 VkBuffer sequencesIndexBuffer;
7114 VkDeviceSize sequencesIndexOffset;
7115 } VkCmdProcessCommandsInfoNVX;
7117 typedef struct VkCmdReserveSpaceForCommandsInfoNVX {
7118 VkStructureType sType;
7120 VkObjectTableNVX objectTable;
7121 VkIndirectCommandsLayoutNVX indirectCommandsLayout;
7122 uint32_t maxSequencesCount;
7123 } VkCmdReserveSpaceForCommandsInfoNVX;
7125 typedef struct VkObjectTableCreateInfoNVX {
7126 VkStructureType sType;
7128 uint32_t objectCount;
7129 const VkObjectEntryTypeNVX* pObjectEntryTypes;
7130 const uint32_t* pObjectEntryCounts;
7131 const VkObjectEntryUsageFlagsNVX* pObjectEntryUsageFlags;
7132 uint32_t maxUniformBuffersPerDescriptor;
7133 uint32_t maxStorageBuffersPerDescriptor;
7134 uint32_t maxStorageImagesPerDescriptor;
7135 uint32_t maxSampledImagesPerDescriptor;
7136 uint32_t maxPipelineLayouts;
7137 } VkObjectTableCreateInfoNVX;
7139 typedef struct VkObjectTableEntryNVX {
7140 VkObjectEntryTypeNVX type;
7141 VkObjectEntryUsageFlagsNVX flags;
7142 } VkObjectTableEntryNVX;
7144 typedef struct VkObjectTablePipelineEntryNVX {
7145 VkObjectEntryTypeNVX type;
7146 VkObjectEntryUsageFlagsNVX flags;
7147 VkPipeline pipeline;
7148 } VkObjectTablePipelineEntryNVX;
7150 typedef struct VkObjectTableDescriptorSetEntryNVX {
7151 VkObjectEntryTypeNVX type;
7152 VkObjectEntryUsageFlagsNVX flags;
7153 VkPipelineLayout pipelineLayout;
7154 VkDescriptorSet descriptorSet;
7155 } VkObjectTableDescriptorSetEntryNVX;
7157 typedef struct VkObjectTableVertexBufferEntryNVX {
7158 VkObjectEntryTypeNVX type;
7159 VkObjectEntryUsageFlagsNVX flags;
7161 } VkObjectTableVertexBufferEntryNVX;
7163 typedef struct VkObjectTableIndexBufferEntryNVX {
7164 VkObjectEntryTypeNVX type;
7165 VkObjectEntryUsageFlagsNVX flags;
7167 VkIndexType indexType;
7168 } VkObjectTableIndexBufferEntryNVX;
7170 typedef struct VkObjectTablePushConstantEntryNVX {
7171 VkObjectEntryTypeNVX type;
7172 VkObjectEntryUsageFlagsNVX flags;
7173 VkPipelineLayout pipelineLayout;
7174 VkShaderStageFlags stageFlags;
7175 } VkObjectTablePushConstantEntryNVX;
7177 typedef void (VKAPI_PTR *PFN_vkCmdProcessCommandsNVX)(VkCommandBuffer commandBuffer, const VkCmdProcessCommandsInfoNVX* pProcessCommandsInfo);
7178 typedef void (VKAPI_PTR *PFN_vkCmdReserveSpaceForCommandsNVX)(VkCommandBuffer commandBuffer, const VkCmdReserveSpaceForCommandsInfoNVX* pReserveSpaceInfo);
7179 typedef VkResult (VKAPI_PTR *PFN_vkCreateIndirectCommandsLayoutNVX)(VkDevice device, const VkIndirectCommandsLayoutCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNVX* pIndirectCommandsLayout);
7180 typedef void (VKAPI_PTR *PFN_vkDestroyIndirectCommandsLayoutNVX)(VkDevice device, VkIndirectCommandsLayoutNVX indirectCommandsLayout, const VkAllocationCallbacks* pAllocator);
7181 typedef VkResult (VKAPI_PTR *PFN_vkCreateObjectTableNVX)(VkDevice device, const VkObjectTableCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkObjectTableNVX* pObjectTable);
7182 typedef void (VKAPI_PTR *PFN_vkDestroyObjectTableNVX)(VkDevice device, VkObjectTableNVX objectTable, const VkAllocationCallbacks* pAllocator);
7183 typedef VkResult (VKAPI_PTR *PFN_vkRegisterObjectsNVX)(VkDevice device, VkObjectTableNVX objectTable, uint32_t objectCount, const VkObjectTableEntryNVX* const* ppObjectTableEntries, const uint32_t* pObjectIndices);
7184 typedef VkResult (VKAPI_PTR *PFN_vkUnregisterObjectsNVX)(VkDevice device, VkObjectTableNVX objectTable, uint32_t objectCount, const VkObjectEntryTypeNVX* pObjectEntryTypes, const uint32_t* pObjectIndices);
7185 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX)(VkPhysicalDevice physicalDevice, VkDeviceGeneratedCommandsFeaturesNVX* pFeatures, VkDeviceGeneratedCommandsLimitsNVX* pLimits);
7187 #ifndef VK_NO_PROTOTYPES
7188 VKAPI_ATTR void VKAPI_CALL vkCmdProcessCommandsNVX(
7189 VkCommandBuffer commandBuffer,
7190 const VkCmdProcessCommandsInfoNVX* pProcessCommandsInfo);
7192 VKAPI_ATTR void VKAPI_CALL vkCmdReserveSpaceForCommandsNVX(
7193 VkCommandBuffer commandBuffer,
7194 const VkCmdReserveSpaceForCommandsInfoNVX* pReserveSpaceInfo);
7196 VKAPI_ATTR VkResult VKAPI_CALL vkCreateIndirectCommandsLayoutNVX(
7198 const VkIndirectCommandsLayoutCreateInfoNVX* pCreateInfo,
7199 const VkAllocationCallbacks* pAllocator,
7200 VkIndirectCommandsLayoutNVX* pIndirectCommandsLayout);
7202 VKAPI_ATTR void VKAPI_CALL vkDestroyIndirectCommandsLayoutNVX(
7204 VkIndirectCommandsLayoutNVX indirectCommandsLayout,
7205 const VkAllocationCallbacks* pAllocator);
7207 VKAPI_ATTR VkResult VKAPI_CALL vkCreateObjectTableNVX(
7209 const VkObjectTableCreateInfoNVX* pCreateInfo,
7210 const VkAllocationCallbacks* pAllocator,
7211 VkObjectTableNVX* pObjectTable);
7213 VKAPI_ATTR void VKAPI_CALL vkDestroyObjectTableNVX(
7215 VkObjectTableNVX objectTable,
7216 const VkAllocationCallbacks* pAllocator);
7218 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterObjectsNVX(
7220 VkObjectTableNVX objectTable,
7221 uint32_t objectCount,
7222 const VkObjectTableEntryNVX* const* ppObjectTableEntries,
7223 const uint32_t* pObjectIndices);
7225 VKAPI_ATTR VkResult VKAPI_CALL vkUnregisterObjectsNVX(
7227 VkObjectTableNVX objectTable,
7228 uint32_t objectCount,
7229 const VkObjectEntryTypeNVX* pObjectEntryTypes,
7230 const uint32_t* pObjectIndices);
7232 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX(
7233 VkPhysicalDevice physicalDevice,
7234 VkDeviceGeneratedCommandsFeaturesNVX* pFeatures,
7235 VkDeviceGeneratedCommandsLimitsNVX* pLimits);
7239 #define VK_NV_clip_space_w_scaling 1
7240 #define VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION 1
7241 #define VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME "VK_NV_clip_space_w_scaling"
7242 typedef struct VkViewportWScalingNV {
7245 } VkViewportWScalingNV;
7247 typedef struct VkPipelineViewportWScalingStateCreateInfoNV {
7248 VkStructureType sType;
7250 VkBool32 viewportWScalingEnable;
7251 uint32_t viewportCount;
7252 const VkViewportWScalingNV* pViewportWScalings;
7253 } VkPipelineViewportWScalingStateCreateInfoNV;
7255 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportWScalingNV* pViewportWScalings);
7257 #ifndef VK_NO_PROTOTYPES
7258 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWScalingNV(
7259 VkCommandBuffer commandBuffer,
7260 uint32_t firstViewport,
7261 uint32_t viewportCount,
7262 const VkViewportWScalingNV* pViewportWScalings);
7266 #define VK_EXT_direct_mode_display 1
7267 #define VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION 1
7268 #define VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME "VK_EXT_direct_mode_display"
7269 typedef VkResult (VKAPI_PTR *PFN_vkReleaseDisplayEXT)(VkPhysicalDevice physicalDevice, VkDisplayKHR display);
7271 #ifndef VK_NO_PROTOTYPES
7272 VKAPI_ATTR VkResult VKAPI_CALL vkReleaseDisplayEXT(
7273 VkPhysicalDevice physicalDevice,
7274 VkDisplayKHR display);
7278 #define VK_EXT_display_surface_counter 1
7279 #define VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION 1
7280 #define VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME "VK_EXT_display_surface_counter"
7282 typedef enum VkSurfaceCounterFlagBitsEXT {
7283 VK_SURFACE_COUNTER_VBLANK_EXT = 0x00000001,
7284 VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
7285 } VkSurfaceCounterFlagBitsEXT;
7286 typedef VkFlags VkSurfaceCounterFlagsEXT;
7287 typedef struct VkSurfaceCapabilities2EXT {
7288 VkStructureType sType;
7290 uint32_t minImageCount;
7291 uint32_t maxImageCount;
7292 VkExtent2D currentExtent;
7293 VkExtent2D minImageExtent;
7294 VkExtent2D maxImageExtent;
7295 uint32_t maxImageArrayLayers;
7296 VkSurfaceTransformFlagsKHR supportedTransforms;
7297 VkSurfaceTransformFlagBitsKHR currentTransform;
7298 VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
7299 VkImageUsageFlags supportedUsageFlags;
7300 VkSurfaceCounterFlagsEXT supportedSurfaceCounters;
7301 } VkSurfaceCapabilities2EXT;
7303 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
7305 #ifndef VK_NO_PROTOTYPES
7306 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2EXT(
7307 VkPhysicalDevice physicalDevice,
7308 VkSurfaceKHR surface,
7309 VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
7313 #define VK_EXT_display_control 1
7314 #define VK_EXT_DISPLAY_CONTROL_SPEC_VERSION 1
7315 #define VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME "VK_EXT_display_control"
7317 typedef enum VkDisplayPowerStateEXT {
7318 VK_DISPLAY_POWER_STATE_OFF_EXT = 0,
7319 VK_DISPLAY_POWER_STATE_SUSPEND_EXT = 1,
7320 VK_DISPLAY_POWER_STATE_ON_EXT = 2,
7321 VK_DISPLAY_POWER_STATE_BEGIN_RANGE_EXT = VK_DISPLAY_POWER_STATE_OFF_EXT,
7322 VK_DISPLAY_POWER_STATE_END_RANGE_EXT = VK_DISPLAY_POWER_STATE_ON_EXT,
7323 VK_DISPLAY_POWER_STATE_RANGE_SIZE_EXT = (VK_DISPLAY_POWER_STATE_ON_EXT - VK_DISPLAY_POWER_STATE_OFF_EXT + 1),
7324 VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT = 0x7FFFFFFF
7325 } VkDisplayPowerStateEXT;
7327 typedef enum VkDeviceEventTypeEXT {
7328 VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT = 0,
7329 VK_DEVICE_EVENT_TYPE_BEGIN_RANGE_EXT = VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT,
7330 VK_DEVICE_EVENT_TYPE_END_RANGE_EXT = VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT,
7331 VK_DEVICE_EVENT_TYPE_RANGE_SIZE_EXT = (VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT - VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT + 1),
7332 VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
7333 } VkDeviceEventTypeEXT;
7335 typedef enum VkDisplayEventTypeEXT {
7336 VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT = 0,
7337 VK_DISPLAY_EVENT_TYPE_BEGIN_RANGE_EXT = VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT,
7338 VK_DISPLAY_EVENT_TYPE_END_RANGE_EXT = VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT,
7339 VK_DISPLAY_EVENT_TYPE_RANGE_SIZE_EXT = (VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT - VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT + 1),
7340 VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
7341 } VkDisplayEventTypeEXT;
7342 typedef struct VkDisplayPowerInfoEXT {
7343 VkStructureType sType;
7345 VkDisplayPowerStateEXT powerState;
7346 } VkDisplayPowerInfoEXT;
7348 typedef struct VkDeviceEventInfoEXT {
7349 VkStructureType sType;
7351 VkDeviceEventTypeEXT deviceEvent;
7352 } VkDeviceEventInfoEXT;
7354 typedef struct VkDisplayEventInfoEXT {
7355 VkStructureType sType;
7357 VkDisplayEventTypeEXT displayEvent;
7358 } VkDisplayEventInfoEXT;
7360 typedef struct VkSwapchainCounterCreateInfoEXT {
7361 VkStructureType sType;
7363 VkSurfaceCounterFlagsEXT surfaceCounters;
7364 } VkSwapchainCounterCreateInfoEXT;
7366 typedef VkResult (VKAPI_PTR *PFN_vkDisplayPowerControlEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
7367 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDeviceEventEXT)(VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
7368 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDisplayEventEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
7369 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainCounterEXT)(VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, uint64_t* pCounterValue);
7371 #ifndef VK_NO_PROTOTYPES
7372 VKAPI_ATTR VkResult VKAPI_CALL vkDisplayPowerControlEXT(
7374 VkDisplayKHR display,
7375 const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
7377 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDeviceEventEXT(
7379 const VkDeviceEventInfoEXT* pDeviceEventInfo,
7380 const VkAllocationCallbacks* pAllocator,
7383 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDisplayEventEXT(
7385 VkDisplayKHR display,
7386 const VkDisplayEventInfoEXT* pDisplayEventInfo,
7387 const VkAllocationCallbacks* pAllocator,
7390 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainCounterEXT(
7392 VkSwapchainKHR swapchain,
7393 VkSurfaceCounterFlagBitsEXT counter,
7394 uint64_t* pCounterValue);
7398 #define VK_GOOGLE_display_timing 1
7399 #define VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION 1
7400 #define VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME "VK_GOOGLE_display_timing"
7401 typedef struct VkRefreshCycleDurationGOOGLE {
7402 uint64_t refreshDuration;
7403 } VkRefreshCycleDurationGOOGLE;
7405 typedef struct VkPastPresentationTimingGOOGLE {
7407 uint64_t desiredPresentTime;
7408 uint64_t actualPresentTime;
7409 uint64_t earliestPresentTime;
7410 uint64_t presentMargin;
7411 } VkPastPresentationTimingGOOGLE;
7413 typedef struct VkPresentTimeGOOGLE {
7415 uint64_t desiredPresentTime;
7416 } VkPresentTimeGOOGLE;
7418 typedef struct VkPresentTimesInfoGOOGLE {
7419 VkStructureType sType;
7421 uint32_t swapchainCount;
7422 const VkPresentTimeGOOGLE* pTimes;
7423 } VkPresentTimesInfoGOOGLE;
7425 typedef VkResult (VKAPI_PTR *PFN_vkGetRefreshCycleDurationGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
7426 typedef VkResult (VKAPI_PTR *PFN_vkGetPastPresentationTimingGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings);
7428 #ifndef VK_NO_PROTOTYPES
7429 VKAPI_ATTR VkResult VKAPI_CALL vkGetRefreshCycleDurationGOOGLE(
7431 VkSwapchainKHR swapchain,
7432 VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
7434 VKAPI_ATTR VkResult VKAPI_CALL vkGetPastPresentationTimingGOOGLE(
7436 VkSwapchainKHR swapchain,
7437 uint32_t* pPresentationTimingCount,
7438 VkPastPresentationTimingGOOGLE* pPresentationTimings);
7442 #define VK_NV_sample_mask_override_coverage 1
7443 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION 1
7444 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME "VK_NV_sample_mask_override_coverage"
7447 #define VK_NV_geometry_shader_passthrough 1
7448 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION 1
7449 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME "VK_NV_geometry_shader_passthrough"
7452 #define VK_NV_viewport_array2 1
7453 #define VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION 1
7454 #define VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME "VK_NV_viewport_array2"
7457 #define VK_NVX_multiview_per_view_attributes 1
7458 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION 1
7459 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME "VK_NVX_multiview_per_view_attributes"
7460 typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
7461 VkStructureType sType;
7463 VkBool32 perViewPositionAllComponents;
7464 } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
7468 #define VK_NV_viewport_swizzle 1
7469 #define VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION 1
7470 #define VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME "VK_NV_viewport_swizzle"
7472 typedef enum VkViewportCoordinateSwizzleNV {
7473 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV = 0,
7474 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV = 1,
7475 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV = 2,
7476 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV = 3,
7477 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV = 4,
7478 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV = 5,
7479 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV = 6,
7480 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV = 7,
7481 VK_VIEWPORT_COORDINATE_SWIZZLE_BEGIN_RANGE_NV = VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV,
7482 VK_VIEWPORT_COORDINATE_SWIZZLE_END_RANGE_NV = VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV,
7483 VK_VIEWPORT_COORDINATE_SWIZZLE_RANGE_SIZE_NV = (VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV - VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV + 1),
7484 VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV = 0x7FFFFFFF
7485 } VkViewportCoordinateSwizzleNV;
7486 typedef VkFlags VkPipelineViewportSwizzleStateCreateFlagsNV;
7487 typedef struct VkViewportSwizzleNV {
7488 VkViewportCoordinateSwizzleNV x;
7489 VkViewportCoordinateSwizzleNV y;
7490 VkViewportCoordinateSwizzleNV z;
7491 VkViewportCoordinateSwizzleNV w;
7492 } VkViewportSwizzleNV;
7494 typedef struct VkPipelineViewportSwizzleStateCreateInfoNV {
7495 VkStructureType sType;
7497 VkPipelineViewportSwizzleStateCreateFlagsNV flags;
7498 uint32_t viewportCount;
7499 const VkViewportSwizzleNV* pViewportSwizzles;
7500 } VkPipelineViewportSwizzleStateCreateInfoNV;
7504 #define VK_EXT_discard_rectangles 1
7505 #define VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION 1
7506 #define VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME "VK_EXT_discard_rectangles"
7508 typedef enum VkDiscardRectangleModeEXT {
7509 VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT = 0,
7510 VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT = 1,
7511 VK_DISCARD_RECTANGLE_MODE_BEGIN_RANGE_EXT = VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT,
7512 VK_DISCARD_RECTANGLE_MODE_END_RANGE_EXT = VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT,
7513 VK_DISCARD_RECTANGLE_MODE_RANGE_SIZE_EXT = (VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT - VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT + 1),
7514 VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
7515 } VkDiscardRectangleModeEXT;
7516 typedef VkFlags VkPipelineDiscardRectangleStateCreateFlagsEXT;
7517 typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
7518 VkStructureType sType;
7520 uint32_t maxDiscardRectangles;
7521 } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
7523 typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT {
7524 VkStructureType sType;
7526 VkPipelineDiscardRectangleStateCreateFlagsEXT flags;
7527 VkDiscardRectangleModeEXT discardRectangleMode;
7528 uint32_t discardRectangleCount;
7529 const VkRect2D* pDiscardRectangles;
7530 } VkPipelineDiscardRectangleStateCreateInfoEXT;
7532 typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEXT)(VkCommandBuffer commandBuffer, uint32_t firstDiscardRectangle, uint32_t discardRectangleCount, const VkRect2D* pDiscardRectangles);
7534 #ifndef VK_NO_PROTOTYPES
7535 VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEXT(
7536 VkCommandBuffer commandBuffer,
7537 uint32_t firstDiscardRectangle,
7538 uint32_t discardRectangleCount,
7539 const VkRect2D* pDiscardRectangles);
7543 #define VK_EXT_conservative_rasterization 1
7544 #define VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION 1
7545 #define VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME "VK_EXT_conservative_rasterization"
7547 typedef enum VkConservativeRasterizationModeEXT {
7548 VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT = 0,
7549 VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT = 1,
7550 VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT = 2,
7551 VK_CONSERVATIVE_RASTERIZATION_MODE_BEGIN_RANGE_EXT = VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT,
7552 VK_CONSERVATIVE_RASTERIZATION_MODE_END_RANGE_EXT = VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT,
7553 VK_CONSERVATIVE_RASTERIZATION_MODE_RANGE_SIZE_EXT = (VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT - VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT + 1),
7554 VK_CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
7555 } VkConservativeRasterizationModeEXT;
7556 typedef VkFlags VkPipelineRasterizationConservativeStateCreateFlagsEXT;
7557 typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT {
7558 VkStructureType sType;
7560 float primitiveOverestimationSize;
7561 float maxExtraPrimitiveOverestimationSize;
7562 float extraPrimitiveOverestimationSizeGranularity;
7563 VkBool32 primitiveUnderestimation;
7564 VkBool32 conservativePointAndLineRasterization;
7565 VkBool32 degenerateTrianglesRasterized;
7566 VkBool32 degenerateLinesRasterized;
7567 VkBool32 fullyCoveredFragmentShaderInputVariable;
7568 VkBool32 conservativeRasterizationPostDepthCoverage;
7569 } VkPhysicalDeviceConservativeRasterizationPropertiesEXT;
7571 typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT {
7572 VkStructureType sType;
7574 VkPipelineRasterizationConservativeStateCreateFlagsEXT flags;
7575 VkConservativeRasterizationModeEXT conservativeRasterizationMode;
7576 float extraPrimitiveOverestimationSize;
7577 } VkPipelineRasterizationConservativeStateCreateInfoEXT;
7581 #define VK_EXT_depth_clip_enable 1
7582 #define VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION 1
7583 #define VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME "VK_EXT_depth_clip_enable"
7584 typedef VkFlags VkPipelineRasterizationDepthClipStateCreateFlagsEXT;
7585 typedef struct VkPhysicalDeviceDepthClipEnableFeaturesEXT {
7586 VkStructureType sType;
7588 VkBool32 depthClipEnable;
7589 } VkPhysicalDeviceDepthClipEnableFeaturesEXT;
7591 typedef struct VkPipelineRasterizationDepthClipStateCreateInfoEXT {
7592 VkStructureType sType;
7594 VkPipelineRasterizationDepthClipStateCreateFlagsEXT flags;
7595 VkBool32 depthClipEnable;
7596 } VkPipelineRasterizationDepthClipStateCreateInfoEXT;
7600 #define VK_EXT_swapchain_colorspace 1
7601 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION 4
7602 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME "VK_EXT_swapchain_colorspace"
7605 #define VK_EXT_hdr_metadata 1
7606 #define VK_EXT_HDR_METADATA_SPEC_VERSION 1
7607 #define VK_EXT_HDR_METADATA_EXTENSION_NAME "VK_EXT_hdr_metadata"
7608 typedef struct VkXYColorEXT {
7613 typedef struct VkHdrMetadataEXT {
7614 VkStructureType sType;
7616 VkXYColorEXT displayPrimaryRed;
7617 VkXYColorEXT displayPrimaryGreen;
7618 VkXYColorEXT displayPrimaryBlue;
7619 VkXYColorEXT whitePoint;
7622 float maxContentLightLevel;
7623 float maxFrameAverageLightLevel;
7626 typedef void (VKAPI_PTR *PFN_vkSetHdrMetadataEXT)(VkDevice device, uint32_t swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata);
7628 #ifndef VK_NO_PROTOTYPES
7629 VKAPI_ATTR void VKAPI_CALL vkSetHdrMetadataEXT(
7631 uint32_t swapchainCount,
7632 const VkSwapchainKHR* pSwapchains,
7633 const VkHdrMetadataEXT* pMetadata);
7637 #define VK_EXT_external_memory_dma_buf 1
7638 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION 1
7639 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME "VK_EXT_external_memory_dma_buf"
7642 #define VK_EXT_queue_family_foreign 1
7643 #define VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION 1
7644 #define VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME "VK_EXT_queue_family_foreign"
7645 #define VK_QUEUE_FAMILY_FOREIGN_EXT (~0U-2)
7648 #define VK_EXT_debug_utils 1
7649 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugUtilsMessengerEXT)
7650 #define VK_EXT_DEBUG_UTILS_SPEC_VERSION 1
7651 #define VK_EXT_DEBUG_UTILS_EXTENSION_NAME "VK_EXT_debug_utils"
7652 typedef VkFlags VkDebugUtilsMessengerCallbackDataFlagsEXT;
7653 typedef VkFlags VkDebugUtilsMessengerCreateFlagsEXT;
7655 typedef enum VkDebugUtilsMessageSeverityFlagBitsEXT {
7656 VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT = 0x00000001,
7657 VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT = 0x00000010,
7658 VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT = 0x00000100,
7659 VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT = 0x00001000,
7660 VK_DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
7661 } VkDebugUtilsMessageSeverityFlagBitsEXT;
7662 typedef VkFlags VkDebugUtilsMessageSeverityFlagsEXT;
7664 typedef enum VkDebugUtilsMessageTypeFlagBitsEXT {
7665 VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT = 0x00000001,
7666 VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT = 0x00000002,
7667 VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT = 0x00000004,
7668 VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
7669 } VkDebugUtilsMessageTypeFlagBitsEXT;
7670 typedef VkFlags VkDebugUtilsMessageTypeFlagsEXT;
7671 typedef struct VkDebugUtilsObjectNameInfoEXT {
7672 VkStructureType sType;
7674 VkObjectType objectType;
7675 uint64_t objectHandle;
7676 const char* pObjectName;
7677 } VkDebugUtilsObjectNameInfoEXT;
7679 typedef struct VkDebugUtilsObjectTagInfoEXT {
7680 VkStructureType sType;
7682 VkObjectType objectType;
7683 uint64_t objectHandle;
7687 } VkDebugUtilsObjectTagInfoEXT;
7689 typedef struct VkDebugUtilsLabelEXT {
7690 VkStructureType sType;
7692 const char* pLabelName;
7694 } VkDebugUtilsLabelEXT;
7696 typedef struct VkDebugUtilsMessengerCallbackDataEXT {
7697 VkStructureType sType;
7699 VkDebugUtilsMessengerCallbackDataFlagsEXT flags;
7700 const char* pMessageIdName;
7701 int32_t messageIdNumber;
7702 const char* pMessage;
7703 uint32_t queueLabelCount;
7704 const VkDebugUtilsLabelEXT* pQueueLabels;
7705 uint32_t cmdBufLabelCount;
7706 const VkDebugUtilsLabelEXT* pCmdBufLabels;
7707 uint32_t objectCount;
7708 const VkDebugUtilsObjectNameInfoEXT* pObjects;
7709 } VkDebugUtilsMessengerCallbackDataEXT;
7711 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)(
7712 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
7713 VkDebugUtilsMessageTypeFlagsEXT messageTypes,
7714 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData,
7717 typedef struct VkDebugUtilsMessengerCreateInfoEXT {
7718 VkStructureType sType;
7720 VkDebugUtilsMessengerCreateFlagsEXT flags;
7721 VkDebugUtilsMessageSeverityFlagsEXT messageSeverity;
7722 VkDebugUtilsMessageTypeFlagsEXT messageType;
7723 PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback;
7725 } VkDebugUtilsMessengerCreateInfoEXT;
7727 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectNameEXT)(VkDevice device, const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
7728 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectTagEXT)(VkDevice device, const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
7729 typedef void (VKAPI_PTR *PFN_vkQueueBeginDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
7730 typedef void (VKAPI_PTR *PFN_vkQueueEndDebugUtilsLabelEXT)(VkQueue queue);
7731 typedef void (VKAPI_PTR *PFN_vkQueueInsertDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
7732 typedef void (VKAPI_PTR *PFN_vkCmdBeginDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
7733 typedef void (VKAPI_PTR *PFN_vkCmdEndDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer);
7734 typedef void (VKAPI_PTR *PFN_vkCmdInsertDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
7735 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugUtilsMessengerEXT)(VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugUtilsMessengerEXT* pMessenger);
7736 typedef void (VKAPI_PTR *PFN_vkDestroyDebugUtilsMessengerEXT)(VkInstance instance, VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks* pAllocator);
7737 typedef void (VKAPI_PTR *PFN_vkSubmitDebugUtilsMessageEXT)(VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
7739 #ifndef VK_NO_PROTOTYPES
7740 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectNameEXT(
7742 const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
7744 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectTagEXT(
7746 const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
7748 VKAPI_ATTR void VKAPI_CALL vkQueueBeginDebugUtilsLabelEXT(
7750 const VkDebugUtilsLabelEXT* pLabelInfo);
7752 VKAPI_ATTR void VKAPI_CALL vkQueueEndDebugUtilsLabelEXT(
7755 VKAPI_ATTR void VKAPI_CALL vkQueueInsertDebugUtilsLabelEXT(
7757 const VkDebugUtilsLabelEXT* pLabelInfo);
7759 VKAPI_ATTR void VKAPI_CALL vkCmdBeginDebugUtilsLabelEXT(
7760 VkCommandBuffer commandBuffer,
7761 const VkDebugUtilsLabelEXT* pLabelInfo);
7763 VKAPI_ATTR void VKAPI_CALL vkCmdEndDebugUtilsLabelEXT(
7764 VkCommandBuffer commandBuffer);
7766 VKAPI_ATTR void VKAPI_CALL vkCmdInsertDebugUtilsLabelEXT(
7767 VkCommandBuffer commandBuffer,
7768 const VkDebugUtilsLabelEXT* pLabelInfo);
7770 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugUtilsMessengerEXT(
7771 VkInstance instance,
7772 const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo,
7773 const VkAllocationCallbacks* pAllocator,
7774 VkDebugUtilsMessengerEXT* pMessenger);
7776 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugUtilsMessengerEXT(
7777 VkInstance instance,
7778 VkDebugUtilsMessengerEXT messenger,
7779 const VkAllocationCallbacks* pAllocator);
7781 VKAPI_ATTR void VKAPI_CALL vkSubmitDebugUtilsMessageEXT(
7782 VkInstance instance,
7783 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
7784 VkDebugUtilsMessageTypeFlagsEXT messageTypes,
7785 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
7789 #define VK_EXT_sampler_filter_minmax 1
7790 #define VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION 1
7791 #define VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME "VK_EXT_sampler_filter_minmax"
7793 typedef enum VkSamplerReductionModeEXT {
7794 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT = 0,
7795 VK_SAMPLER_REDUCTION_MODE_MIN_EXT = 1,
7796 VK_SAMPLER_REDUCTION_MODE_MAX_EXT = 2,
7797 VK_SAMPLER_REDUCTION_MODE_BEGIN_RANGE_EXT = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT,
7798 VK_SAMPLER_REDUCTION_MODE_END_RANGE_EXT = VK_SAMPLER_REDUCTION_MODE_MAX_EXT,
7799 VK_SAMPLER_REDUCTION_MODE_RANGE_SIZE_EXT = (VK_SAMPLER_REDUCTION_MODE_MAX_EXT - VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT + 1),
7800 VK_SAMPLER_REDUCTION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
7801 } VkSamplerReductionModeEXT;
7802 typedef struct VkSamplerReductionModeCreateInfoEXT {
7803 VkStructureType sType;
7805 VkSamplerReductionModeEXT reductionMode;
7806 } VkSamplerReductionModeCreateInfoEXT;
7808 typedef struct VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT {
7809 VkStructureType sType;
7811 VkBool32 filterMinmaxSingleComponentFormats;
7812 VkBool32 filterMinmaxImageComponentMapping;
7813 } VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
7817 #define VK_AMD_gpu_shader_int16 1
7818 #define VK_AMD_GPU_SHADER_INT16_SPEC_VERSION 2
7819 #define VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME "VK_AMD_gpu_shader_int16"
7822 #define VK_AMD_mixed_attachment_samples 1
7823 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION 1
7824 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME "VK_AMD_mixed_attachment_samples"
7827 #define VK_AMD_shader_fragment_mask 1
7828 #define VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION 1
7829 #define VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME "VK_AMD_shader_fragment_mask"
7832 #define VK_EXT_inline_uniform_block 1
7833 #define VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION 1
7834 #define VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME "VK_EXT_inline_uniform_block"
7835 typedef struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT {
7836 VkStructureType sType;
7838 VkBool32 inlineUniformBlock;
7839 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind;
7840 } VkPhysicalDeviceInlineUniformBlockFeaturesEXT;
7842 typedef struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT {
7843 VkStructureType sType;
7845 uint32_t maxInlineUniformBlockSize;
7846 uint32_t maxPerStageDescriptorInlineUniformBlocks;
7847 uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
7848 uint32_t maxDescriptorSetInlineUniformBlocks;
7849 uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
7850 } VkPhysicalDeviceInlineUniformBlockPropertiesEXT;
7852 typedef struct VkWriteDescriptorSetInlineUniformBlockEXT {
7853 VkStructureType sType;
7857 } VkWriteDescriptorSetInlineUniformBlockEXT;
7859 typedef struct VkDescriptorPoolInlineUniformBlockCreateInfoEXT {
7860 VkStructureType sType;
7862 uint32_t maxInlineUniformBlockBindings;
7863 } VkDescriptorPoolInlineUniformBlockCreateInfoEXT;
7867 #define VK_EXT_shader_stencil_export 1
7868 #define VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION 1
7869 #define VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME "VK_EXT_shader_stencil_export"
7872 #define VK_EXT_sample_locations 1
7873 #define VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION 1
7874 #define VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME "VK_EXT_sample_locations"
7875 typedef struct VkSampleLocationEXT {
7878 } VkSampleLocationEXT;
7880 typedef struct VkSampleLocationsInfoEXT {
7881 VkStructureType sType;
7883 VkSampleCountFlagBits sampleLocationsPerPixel;
7884 VkExtent2D sampleLocationGridSize;
7885 uint32_t sampleLocationsCount;
7886 const VkSampleLocationEXT* pSampleLocations;
7887 } VkSampleLocationsInfoEXT;
7889 typedef struct VkAttachmentSampleLocationsEXT {
7890 uint32_t attachmentIndex;
7891 VkSampleLocationsInfoEXT sampleLocationsInfo;
7892 } VkAttachmentSampleLocationsEXT;
7894 typedef struct VkSubpassSampleLocationsEXT {
7895 uint32_t subpassIndex;
7896 VkSampleLocationsInfoEXT sampleLocationsInfo;
7897 } VkSubpassSampleLocationsEXT;
7899 typedef struct VkRenderPassSampleLocationsBeginInfoEXT {
7900 VkStructureType sType;
7902 uint32_t attachmentInitialSampleLocationsCount;
7903 const VkAttachmentSampleLocationsEXT* pAttachmentInitialSampleLocations;
7904 uint32_t postSubpassSampleLocationsCount;
7905 const VkSubpassSampleLocationsEXT* pPostSubpassSampleLocations;
7906 } VkRenderPassSampleLocationsBeginInfoEXT;
7908 typedef struct VkPipelineSampleLocationsStateCreateInfoEXT {
7909 VkStructureType sType;
7911 VkBool32 sampleLocationsEnable;
7912 VkSampleLocationsInfoEXT sampleLocationsInfo;
7913 } VkPipelineSampleLocationsStateCreateInfoEXT;
7915 typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT {
7916 VkStructureType sType;
7918 VkSampleCountFlags sampleLocationSampleCounts;
7919 VkExtent2D maxSampleLocationGridSize;
7920 float sampleLocationCoordinateRange[2];
7921 uint32_t sampleLocationSubPixelBits;
7922 VkBool32 variableSampleLocations;
7923 } VkPhysicalDeviceSampleLocationsPropertiesEXT;
7925 typedef struct VkMultisamplePropertiesEXT {
7926 VkStructureType sType;
7928 VkExtent2D maxSampleLocationGridSize;
7929 } VkMultisamplePropertiesEXT;
7931 typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEXT)(VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
7932 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT)(VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT* pMultisampleProperties);
7934 #ifndef VK_NO_PROTOTYPES
7935 VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleLocationsEXT(
7936 VkCommandBuffer commandBuffer,
7937 const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
7939 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMultisamplePropertiesEXT(
7940 VkPhysicalDevice physicalDevice,
7941 VkSampleCountFlagBits samples,
7942 VkMultisamplePropertiesEXT* pMultisampleProperties);
7946 #define VK_EXT_blend_operation_advanced 1
7947 #define VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION 2
7948 #define VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME "VK_EXT_blend_operation_advanced"
7950 typedef enum VkBlendOverlapEXT {
7951 VK_BLEND_OVERLAP_UNCORRELATED_EXT = 0,
7952 VK_BLEND_OVERLAP_DISJOINT_EXT = 1,
7953 VK_BLEND_OVERLAP_CONJOINT_EXT = 2,
7954 VK_BLEND_OVERLAP_BEGIN_RANGE_EXT = VK_BLEND_OVERLAP_UNCORRELATED_EXT,
7955 VK_BLEND_OVERLAP_END_RANGE_EXT = VK_BLEND_OVERLAP_CONJOINT_EXT,
7956 VK_BLEND_OVERLAP_RANGE_SIZE_EXT = (VK_BLEND_OVERLAP_CONJOINT_EXT - VK_BLEND_OVERLAP_UNCORRELATED_EXT + 1),
7957 VK_BLEND_OVERLAP_MAX_ENUM_EXT = 0x7FFFFFFF
7958 } VkBlendOverlapEXT;
7959 typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
7960 VkStructureType sType;
7962 VkBool32 advancedBlendCoherentOperations;
7963 } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
7965 typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT {
7966 VkStructureType sType;
7968 uint32_t advancedBlendMaxColorAttachments;
7969 VkBool32 advancedBlendIndependentBlend;
7970 VkBool32 advancedBlendNonPremultipliedSrcColor;
7971 VkBool32 advancedBlendNonPremultipliedDstColor;
7972 VkBool32 advancedBlendCorrelatedOverlap;
7973 VkBool32 advancedBlendAllOperations;
7974 } VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT;
7976 typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT {
7977 VkStructureType sType;
7979 VkBool32 srcPremultiplied;
7980 VkBool32 dstPremultiplied;
7981 VkBlendOverlapEXT blendOverlap;
7982 } VkPipelineColorBlendAdvancedStateCreateInfoEXT;
7986 #define VK_NV_fragment_coverage_to_color 1
7987 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION 1
7988 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME "VK_NV_fragment_coverage_to_color"
7989 typedef VkFlags VkPipelineCoverageToColorStateCreateFlagsNV;
7990 typedef struct VkPipelineCoverageToColorStateCreateInfoNV {
7991 VkStructureType sType;
7993 VkPipelineCoverageToColorStateCreateFlagsNV flags;
7994 VkBool32 coverageToColorEnable;
7995 uint32_t coverageToColorLocation;
7996 } VkPipelineCoverageToColorStateCreateInfoNV;
8000 #define VK_NV_framebuffer_mixed_samples 1
8001 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION 1
8002 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME "VK_NV_framebuffer_mixed_samples"
8004 typedef enum VkCoverageModulationModeNV {
8005 VK_COVERAGE_MODULATION_MODE_NONE_NV = 0,
8006 VK_COVERAGE_MODULATION_MODE_RGB_NV = 1,
8007 VK_COVERAGE_MODULATION_MODE_ALPHA_NV = 2,
8008 VK_COVERAGE_MODULATION_MODE_RGBA_NV = 3,
8009 VK_COVERAGE_MODULATION_MODE_BEGIN_RANGE_NV = VK_COVERAGE_MODULATION_MODE_NONE_NV,
8010 VK_COVERAGE_MODULATION_MODE_END_RANGE_NV = VK_COVERAGE_MODULATION_MODE_RGBA_NV,
8011 VK_COVERAGE_MODULATION_MODE_RANGE_SIZE_NV = (VK_COVERAGE_MODULATION_MODE_RGBA_NV - VK_COVERAGE_MODULATION_MODE_NONE_NV + 1),
8012 VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV = 0x7FFFFFFF
8013 } VkCoverageModulationModeNV;
8014 typedef VkFlags VkPipelineCoverageModulationStateCreateFlagsNV;
8015 typedef struct VkPipelineCoverageModulationStateCreateInfoNV {
8016 VkStructureType sType;
8018 VkPipelineCoverageModulationStateCreateFlagsNV flags;
8019 VkCoverageModulationModeNV coverageModulationMode;
8020 VkBool32 coverageModulationTableEnable;
8021 uint32_t coverageModulationTableCount;
8022 const float* pCoverageModulationTable;
8023 } VkPipelineCoverageModulationStateCreateInfoNV;
8027 #define VK_NV_fill_rectangle 1
8028 #define VK_NV_FILL_RECTANGLE_SPEC_VERSION 1
8029 #define VK_NV_FILL_RECTANGLE_EXTENSION_NAME "VK_NV_fill_rectangle"
8032 #define VK_EXT_post_depth_coverage 1
8033 #define VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION 1
8034 #define VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME "VK_EXT_post_depth_coverage"
8037 #define VK_EXT_image_drm_format_modifier 1
8038 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION 1
8039 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME "VK_EXT_image_drm_format_modifier"
8040 typedef struct VkDrmFormatModifierPropertiesEXT {
8041 uint64_t drmFormatModifier;
8042 uint32_t drmFormatModifierPlaneCount;
8043 VkFormatFeatureFlags drmFormatModifierTilingFeatures;
8044 } VkDrmFormatModifierPropertiesEXT;
8046 typedef struct VkDrmFormatModifierPropertiesListEXT {
8047 VkStructureType sType;
8049 uint32_t drmFormatModifierCount;
8050 VkDrmFormatModifierPropertiesEXT* pDrmFormatModifierProperties;
8051 } VkDrmFormatModifierPropertiesListEXT;
8053 typedef struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT {
8054 VkStructureType sType;
8056 uint64_t drmFormatModifier;
8057 VkSharingMode sharingMode;
8058 uint32_t queueFamilyIndexCount;
8059 const uint32_t* pQueueFamilyIndices;
8060 } VkPhysicalDeviceImageDrmFormatModifierInfoEXT;
8062 typedef struct VkImageDrmFormatModifierListCreateInfoEXT {
8063 VkStructureType sType;
8065 uint32_t drmFormatModifierCount;
8066 const uint64_t* pDrmFormatModifiers;
8067 } VkImageDrmFormatModifierListCreateInfoEXT;
8069 typedef struct VkImageDrmFormatModifierExplicitCreateInfoEXT {
8070 VkStructureType sType;
8072 uint64_t drmFormatModifier;
8073 uint32_t drmFormatModifierPlaneCount;
8074 const VkSubresourceLayout* pPlaneLayouts;
8075 } VkImageDrmFormatModifierExplicitCreateInfoEXT;
8077 typedef struct VkImageDrmFormatModifierPropertiesEXT {
8078 VkStructureType sType;
8080 uint64_t drmFormatModifier;
8081 } VkImageDrmFormatModifierPropertiesEXT;
8083 typedef VkResult (VKAPI_PTR *PFN_vkGetImageDrmFormatModifierPropertiesEXT)(VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties);
8085 #ifndef VK_NO_PROTOTYPES
8086 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageDrmFormatModifierPropertiesEXT(
8089 VkImageDrmFormatModifierPropertiesEXT* pProperties);
8093 #define VK_EXT_validation_cache 1
8094 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkValidationCacheEXT)
8095 #define VK_EXT_VALIDATION_CACHE_SPEC_VERSION 1
8096 #define VK_EXT_VALIDATION_CACHE_EXTENSION_NAME "VK_EXT_validation_cache"
8098 typedef enum VkValidationCacheHeaderVersionEXT {
8099 VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT = 1,
8100 VK_VALIDATION_CACHE_HEADER_VERSION_BEGIN_RANGE_EXT = VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT,
8101 VK_VALIDATION_CACHE_HEADER_VERSION_END_RANGE_EXT = VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT,
8102 VK_VALIDATION_CACHE_HEADER_VERSION_RANGE_SIZE_EXT = (VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT - VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT + 1),
8103 VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT = 0x7FFFFFFF
8104 } VkValidationCacheHeaderVersionEXT;
8105 typedef VkFlags VkValidationCacheCreateFlagsEXT;
8106 typedef struct VkValidationCacheCreateInfoEXT {
8107 VkStructureType sType;
8109 VkValidationCacheCreateFlagsEXT flags;
8110 size_t initialDataSize;
8111 const void* pInitialData;
8112 } VkValidationCacheCreateInfoEXT;
8114 typedef struct VkShaderModuleValidationCacheCreateInfoEXT {
8115 VkStructureType sType;
8117 VkValidationCacheEXT validationCache;
8118 } VkShaderModuleValidationCacheCreateInfoEXT;
8120 typedef VkResult (VKAPI_PTR *PFN_vkCreateValidationCacheEXT)(VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache);
8121 typedef void (VKAPI_PTR *PFN_vkDestroyValidationCacheEXT)(VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator);
8122 typedef VkResult (VKAPI_PTR *PFN_vkMergeValidationCachesEXT)(VkDevice device, VkValidationCacheEXT dstCache, uint32_t srcCacheCount, const VkValidationCacheEXT* pSrcCaches);
8123 typedef VkResult (VKAPI_PTR *PFN_vkGetValidationCacheDataEXT)(VkDevice device, VkValidationCacheEXT validationCache, size_t* pDataSize, void* pData);
8125 #ifndef VK_NO_PROTOTYPES
8126 VKAPI_ATTR VkResult VKAPI_CALL vkCreateValidationCacheEXT(
8128 const VkValidationCacheCreateInfoEXT* pCreateInfo,
8129 const VkAllocationCallbacks* pAllocator,
8130 VkValidationCacheEXT* pValidationCache);
8132 VKAPI_ATTR void VKAPI_CALL vkDestroyValidationCacheEXT(
8134 VkValidationCacheEXT validationCache,
8135 const VkAllocationCallbacks* pAllocator);
8137 VKAPI_ATTR VkResult VKAPI_CALL vkMergeValidationCachesEXT(
8139 VkValidationCacheEXT dstCache,
8140 uint32_t srcCacheCount,
8141 const VkValidationCacheEXT* pSrcCaches);
8143 VKAPI_ATTR VkResult VKAPI_CALL vkGetValidationCacheDataEXT(
8145 VkValidationCacheEXT validationCache,
8151 #define VK_EXT_descriptor_indexing 1
8152 #define VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION 2
8153 #define VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME "VK_EXT_descriptor_indexing"
8155 typedef enum VkDescriptorBindingFlagBitsEXT {
8156 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT = 0x00000001,
8157 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT = 0x00000002,
8158 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT = 0x00000004,
8159 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT = 0x00000008,
8160 VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
8161 } VkDescriptorBindingFlagBitsEXT;
8162 typedef VkFlags VkDescriptorBindingFlagsEXT;
8163 typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfoEXT {
8164 VkStructureType sType;
8166 uint32_t bindingCount;
8167 const VkDescriptorBindingFlagsEXT* pBindingFlags;
8168 } VkDescriptorSetLayoutBindingFlagsCreateInfoEXT;
8170 typedef struct VkPhysicalDeviceDescriptorIndexingFeaturesEXT {
8171 VkStructureType sType;
8173 VkBool32 shaderInputAttachmentArrayDynamicIndexing;
8174 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
8175 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
8176 VkBool32 shaderUniformBufferArrayNonUniformIndexing;
8177 VkBool32 shaderSampledImageArrayNonUniformIndexing;
8178 VkBool32 shaderStorageBufferArrayNonUniformIndexing;
8179 VkBool32 shaderStorageImageArrayNonUniformIndexing;
8180 VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
8181 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
8182 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
8183 VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
8184 VkBool32 descriptorBindingSampledImageUpdateAfterBind;
8185 VkBool32 descriptorBindingStorageImageUpdateAfterBind;
8186 VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
8187 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
8188 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
8189 VkBool32 descriptorBindingUpdateUnusedWhilePending;
8190 VkBool32 descriptorBindingPartiallyBound;
8191 VkBool32 descriptorBindingVariableDescriptorCount;
8192 VkBool32 runtimeDescriptorArray;
8193 } VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
8195 typedef struct VkPhysicalDeviceDescriptorIndexingPropertiesEXT {
8196 VkStructureType sType;
8198 uint32_t maxUpdateAfterBindDescriptorsInAllPools;
8199 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
8200 VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
8201 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
8202 VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
8203 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
8204 VkBool32 robustBufferAccessUpdateAfterBind;
8205 VkBool32 quadDivergentImplicitLod;
8206 uint32_t maxPerStageDescriptorUpdateAfterBindSamplers;
8207 uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers;
8208 uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers;
8209 uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages;
8210 uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages;
8211 uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments;
8212 uint32_t maxPerStageUpdateAfterBindResources;
8213 uint32_t maxDescriptorSetUpdateAfterBindSamplers;
8214 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers;
8215 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
8216 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers;
8217 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
8218 uint32_t maxDescriptorSetUpdateAfterBindSampledImages;
8219 uint32_t maxDescriptorSetUpdateAfterBindStorageImages;
8220 uint32_t maxDescriptorSetUpdateAfterBindInputAttachments;
8221 } VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
8223 typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfoEXT {
8224 VkStructureType sType;
8226 uint32_t descriptorSetCount;
8227 const uint32_t* pDescriptorCounts;
8228 } VkDescriptorSetVariableDescriptorCountAllocateInfoEXT;
8230 typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupportEXT {
8231 VkStructureType sType;
8233 uint32_t maxVariableDescriptorCount;
8234 } VkDescriptorSetVariableDescriptorCountLayoutSupportEXT;
8238 #define VK_EXT_shader_viewport_index_layer 1
8239 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION 1
8240 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME "VK_EXT_shader_viewport_index_layer"
8243 #define VK_NV_shading_rate_image 1
8244 #define VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION 3
8245 #define VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME "VK_NV_shading_rate_image"
8247 typedef enum VkShadingRatePaletteEntryNV {
8248 VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV = 0,
8249 VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV = 1,
8250 VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV = 2,
8251 VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV = 3,
8252 VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV = 4,
8253 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV = 5,
8254 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV = 6,
8255 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV = 7,
8256 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV = 8,
8257 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV = 9,
8258 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV = 10,
8259 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV = 11,
8260 VK_SHADING_RATE_PALETTE_ENTRY_BEGIN_RANGE_NV = VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV,
8261 VK_SHADING_RATE_PALETTE_ENTRY_END_RANGE_NV = VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV,
8262 VK_SHADING_RATE_PALETTE_ENTRY_RANGE_SIZE_NV = (VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV - VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV + 1),
8263 VK_SHADING_RATE_PALETTE_ENTRY_MAX_ENUM_NV = 0x7FFFFFFF
8264 } VkShadingRatePaletteEntryNV;
8266 typedef enum VkCoarseSampleOrderTypeNV {
8267 VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV = 0,
8268 VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV = 1,
8269 VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV = 2,
8270 VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV = 3,
8271 VK_COARSE_SAMPLE_ORDER_TYPE_BEGIN_RANGE_NV = VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV,
8272 VK_COARSE_SAMPLE_ORDER_TYPE_END_RANGE_NV = VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV,
8273 VK_COARSE_SAMPLE_ORDER_TYPE_RANGE_SIZE_NV = (VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV - VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV + 1),
8274 VK_COARSE_SAMPLE_ORDER_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
8275 } VkCoarseSampleOrderTypeNV;
8276 typedef struct VkShadingRatePaletteNV {
8277 uint32_t shadingRatePaletteEntryCount;
8278 const VkShadingRatePaletteEntryNV* pShadingRatePaletteEntries;
8279 } VkShadingRatePaletteNV;
8281 typedef struct VkPipelineViewportShadingRateImageStateCreateInfoNV {
8282 VkStructureType sType;
8284 VkBool32 shadingRateImageEnable;
8285 uint32_t viewportCount;
8286 const VkShadingRatePaletteNV* pShadingRatePalettes;
8287 } VkPipelineViewportShadingRateImageStateCreateInfoNV;
8289 typedef struct VkPhysicalDeviceShadingRateImageFeaturesNV {
8290 VkStructureType sType;
8292 VkBool32 shadingRateImage;
8293 VkBool32 shadingRateCoarseSampleOrder;
8294 } VkPhysicalDeviceShadingRateImageFeaturesNV;
8296 typedef struct VkPhysicalDeviceShadingRateImagePropertiesNV {
8297 VkStructureType sType;
8299 VkExtent2D shadingRateTexelSize;
8300 uint32_t shadingRatePaletteSize;
8301 uint32_t shadingRateMaxCoarseSamples;
8302 } VkPhysicalDeviceShadingRateImagePropertiesNV;
8304 typedef struct VkCoarseSampleLocationNV {
8308 } VkCoarseSampleLocationNV;
8310 typedef struct VkCoarseSampleOrderCustomNV {
8311 VkShadingRatePaletteEntryNV shadingRate;
8312 uint32_t sampleCount;
8313 uint32_t sampleLocationCount;
8314 const VkCoarseSampleLocationNV* pSampleLocations;
8315 } VkCoarseSampleOrderCustomNV;
8317 typedef struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV {
8318 VkStructureType sType;
8320 VkCoarseSampleOrderTypeNV sampleOrderType;
8321 uint32_t customSampleOrderCount;
8322 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders;
8323 } VkPipelineViewportCoarseSampleOrderStateCreateInfoNV;
8325 typedef void (VKAPI_PTR *PFN_vkCmdBindShadingRateImageNV)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout);
8326 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportShadingRatePaletteNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkShadingRatePaletteNV* pShadingRatePalettes);
8327 typedef void (VKAPI_PTR *PFN_vkCmdSetCoarseSampleOrderNV)(VkCommandBuffer commandBuffer, VkCoarseSampleOrderTypeNV sampleOrderType, uint32_t customSampleOrderCount, const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
8329 #ifndef VK_NO_PROTOTYPES
8330 VKAPI_ATTR void VKAPI_CALL vkCmdBindShadingRateImageNV(
8331 VkCommandBuffer commandBuffer,
8332 VkImageView imageView,
8333 VkImageLayout imageLayout);
8335 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportShadingRatePaletteNV(
8336 VkCommandBuffer commandBuffer,
8337 uint32_t firstViewport,
8338 uint32_t viewportCount,
8339 const VkShadingRatePaletteNV* pShadingRatePalettes);
8341 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoarseSampleOrderNV(
8342 VkCommandBuffer commandBuffer,
8343 VkCoarseSampleOrderTypeNV sampleOrderType,
8344 uint32_t customSampleOrderCount,
8345 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
8349 #define VK_NV_ray_tracing 1
8350 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureNV)
8351 #define VK_NV_RAY_TRACING_SPEC_VERSION 3
8352 #define VK_NV_RAY_TRACING_EXTENSION_NAME "VK_NV_ray_tracing"
8353 #define VK_SHADER_UNUSED_NV (~0U)
8355 typedef enum VkRayTracingShaderGroupTypeNV {
8356 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV = 0,
8357 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV = 1,
8358 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV = 2,
8359 VK_RAY_TRACING_SHADER_GROUP_TYPE_BEGIN_RANGE_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV,
8360 VK_RAY_TRACING_SHADER_GROUP_TYPE_END_RANGE_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV,
8361 VK_RAY_TRACING_SHADER_GROUP_TYPE_RANGE_SIZE_NV = (VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV - VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV + 1),
8362 VK_RAY_TRACING_SHADER_GROUP_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
8363 } VkRayTracingShaderGroupTypeNV;
8365 typedef enum VkGeometryTypeNV {
8366 VK_GEOMETRY_TYPE_TRIANGLES_NV = 0,
8367 VK_GEOMETRY_TYPE_AABBS_NV = 1,
8368 VK_GEOMETRY_TYPE_BEGIN_RANGE_NV = VK_GEOMETRY_TYPE_TRIANGLES_NV,
8369 VK_GEOMETRY_TYPE_END_RANGE_NV = VK_GEOMETRY_TYPE_AABBS_NV,
8370 VK_GEOMETRY_TYPE_RANGE_SIZE_NV = (VK_GEOMETRY_TYPE_AABBS_NV - VK_GEOMETRY_TYPE_TRIANGLES_NV + 1),
8371 VK_GEOMETRY_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
8374 typedef enum VkAccelerationStructureTypeNV {
8375 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV = 0,
8376 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV = 1,
8377 VK_ACCELERATION_STRUCTURE_TYPE_BEGIN_RANGE_NV = VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV,
8378 VK_ACCELERATION_STRUCTURE_TYPE_END_RANGE_NV = VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV,
8379 VK_ACCELERATION_STRUCTURE_TYPE_RANGE_SIZE_NV = (VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV - VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV + 1),
8380 VK_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
8381 } VkAccelerationStructureTypeNV;
8383 typedef enum VkCopyAccelerationStructureModeNV {
8384 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV = 0,
8385 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV = 1,
8386 VK_COPY_ACCELERATION_STRUCTURE_MODE_BEGIN_RANGE_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV,
8387 VK_COPY_ACCELERATION_STRUCTURE_MODE_END_RANGE_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV,
8388 VK_COPY_ACCELERATION_STRUCTURE_MODE_RANGE_SIZE_NV = (VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV - VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV + 1),
8389 VK_COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_NV = 0x7FFFFFFF
8390 } VkCopyAccelerationStructureModeNV;
8392 typedef enum VkAccelerationStructureMemoryRequirementsTypeNV {
8393 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV = 0,
8394 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV = 1,
8395 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV = 2,
8396 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BEGIN_RANGE_NV = VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV,
8397 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_END_RANGE_NV = VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV,
8398 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_RANGE_SIZE_NV = (VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV - VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV + 1),
8399 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
8400 } VkAccelerationStructureMemoryRequirementsTypeNV;
8402 typedef enum VkGeometryFlagBitsNV {
8403 VK_GEOMETRY_OPAQUE_BIT_NV = 0x00000001,
8404 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV = 0x00000002,
8405 VK_GEOMETRY_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
8406 } VkGeometryFlagBitsNV;
8407 typedef VkFlags VkGeometryFlagsNV;
8409 typedef enum VkGeometryInstanceFlagBitsNV {
8410 VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV = 0x00000001,
8411 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = 0x00000002,
8412 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV = 0x00000004,
8413 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV = 0x00000008,
8414 VK_GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
8415 } VkGeometryInstanceFlagBitsNV;
8416 typedef VkFlags VkGeometryInstanceFlagsNV;
8418 typedef enum VkBuildAccelerationStructureFlagBitsNV {
8419 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV = 0x00000001,
8420 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV = 0x00000002,
8421 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV = 0x00000004,
8422 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV = 0x00000008,
8423 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV = 0x00000010,
8424 VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
8425 } VkBuildAccelerationStructureFlagBitsNV;
8426 typedef VkFlags VkBuildAccelerationStructureFlagsNV;
8427 typedef struct VkRayTracingShaderGroupCreateInfoNV {
8428 VkStructureType sType;
8430 VkRayTracingShaderGroupTypeNV type;
8431 uint32_t generalShader;
8432 uint32_t closestHitShader;
8433 uint32_t anyHitShader;
8434 uint32_t intersectionShader;
8435 } VkRayTracingShaderGroupCreateInfoNV;
8437 typedef struct VkRayTracingPipelineCreateInfoNV {
8438 VkStructureType sType;
8440 VkPipelineCreateFlags flags;
8441 uint32_t stageCount;
8442 const VkPipelineShaderStageCreateInfo* pStages;
8443 uint32_t groupCount;
8444 const VkRayTracingShaderGroupCreateInfoNV* pGroups;
8445 uint32_t maxRecursionDepth;
8446 VkPipelineLayout layout;
8447 VkPipeline basePipelineHandle;
8448 int32_t basePipelineIndex;
8449 } VkRayTracingPipelineCreateInfoNV;
8451 typedef struct VkGeometryTrianglesNV {
8452 VkStructureType sType;
8454 VkBuffer vertexData;
8455 VkDeviceSize vertexOffset;
8456 uint32_t vertexCount;
8457 VkDeviceSize vertexStride;
8458 VkFormat vertexFormat;
8460 VkDeviceSize indexOffset;
8461 uint32_t indexCount;
8462 VkIndexType indexType;
8463 VkBuffer transformData;
8464 VkDeviceSize transformOffset;
8465 } VkGeometryTrianglesNV;
8467 typedef struct VkGeometryAABBNV {
8468 VkStructureType sType;
8473 VkDeviceSize offset;
8476 typedef struct VkGeometryDataNV {
8477 VkGeometryTrianglesNV triangles;
8478 VkGeometryAABBNV aabbs;
8481 typedef struct VkGeometryNV {
8482 VkStructureType sType;
8484 VkGeometryTypeNV geometryType;
8485 VkGeometryDataNV geometry;
8486 VkGeometryFlagsNV flags;
8489 typedef struct VkAccelerationStructureInfoNV {
8490 VkStructureType sType;
8492 VkAccelerationStructureTypeNV type;
8493 VkBuildAccelerationStructureFlagsNV flags;
8494 uint32_t instanceCount;
8495 uint32_t geometryCount;
8496 const VkGeometryNV* pGeometries;
8497 } VkAccelerationStructureInfoNV;
8499 typedef struct VkAccelerationStructureCreateInfoNV {
8500 VkStructureType sType;
8502 VkDeviceSize compactedSize;
8503 VkAccelerationStructureInfoNV info;
8504 } VkAccelerationStructureCreateInfoNV;
8506 typedef struct VkBindAccelerationStructureMemoryInfoNV {
8507 VkStructureType sType;
8509 VkAccelerationStructureNV accelerationStructure;
8510 VkDeviceMemory memory;
8511 VkDeviceSize memoryOffset;
8512 uint32_t deviceIndexCount;
8513 const uint32_t* pDeviceIndices;
8514 } VkBindAccelerationStructureMemoryInfoNV;
8516 typedef struct VkWriteDescriptorSetAccelerationStructureNV {
8517 VkStructureType sType;
8519 uint32_t accelerationStructureCount;
8520 const VkAccelerationStructureNV* pAccelerationStructures;
8521 } VkWriteDescriptorSetAccelerationStructureNV;
8523 typedef struct VkAccelerationStructureMemoryRequirementsInfoNV {
8524 VkStructureType sType;
8526 VkAccelerationStructureMemoryRequirementsTypeNV type;
8527 VkAccelerationStructureNV accelerationStructure;
8528 } VkAccelerationStructureMemoryRequirementsInfoNV;
8530 typedef struct VkPhysicalDeviceRayTracingPropertiesNV {
8531 VkStructureType sType;
8533 uint32_t shaderGroupHandleSize;
8534 uint32_t maxRecursionDepth;
8535 uint32_t maxShaderGroupStride;
8536 uint32_t shaderGroupBaseAlignment;
8537 uint64_t maxGeometryCount;
8538 uint64_t maxInstanceCount;
8539 uint64_t maxTriangleCount;
8540 uint32_t maxDescriptorSetAccelerationStructures;
8541 } VkPhysicalDeviceRayTracingPropertiesNV;
8543 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureNV)(VkDevice device, const VkAccelerationStructureCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureNV* pAccelerationStructure);
8544 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, const VkAllocationCallbacks* pAllocator);
8545 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureMemoryRequirementsNV)(VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements);
8546 typedef VkResult (VKAPI_PTR *PFN_vkBindAccelerationStructureMemoryNV)(VkDevice device, uint32_t bindInfoCount, const VkBindAccelerationStructureMemoryInfoNV* pBindInfos);
8547 typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructureNV)(VkCommandBuffer commandBuffer, const VkAccelerationStructureInfoNV* pInfo, VkBuffer instanceData, VkDeviceSize instanceOffset, VkBool32 update, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkBuffer scratch, VkDeviceSize scratchOffset);
8548 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureNV)(VkCommandBuffer commandBuffer, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkCopyAccelerationStructureModeNV mode);
8549 typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysNV)(VkCommandBuffer commandBuffer, VkBuffer raygenShaderBindingTableBuffer, VkDeviceSize raygenShaderBindingOffset, VkBuffer missShaderBindingTableBuffer, VkDeviceSize missShaderBindingOffset, VkDeviceSize missShaderBindingStride, VkBuffer hitShaderBindingTableBuffer, VkDeviceSize hitShaderBindingOffset, VkDeviceSize hitShaderBindingStride, VkBuffer callableShaderBindingTableBuffer, VkDeviceSize callableShaderBindingOffset, VkDeviceSize callableShaderBindingStride, uint32_t width, uint32_t height, uint32_t depth);
8550 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesNV)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoNV* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
8551 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesNV)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData);
8552 typedef VkResult (VKAPI_PTR *PFN_vkGetAccelerationStructureHandleNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, size_t dataSize, void* pData);
8553 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesNV)(VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureNV* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery);
8554 typedef VkResult (VKAPI_PTR *PFN_vkCompileDeferredNV)(VkDevice device, VkPipeline pipeline, uint32_t shader);
8556 #ifndef VK_NO_PROTOTYPES
8557 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureNV(
8559 const VkAccelerationStructureCreateInfoNV* pCreateInfo,
8560 const VkAllocationCallbacks* pAllocator,
8561 VkAccelerationStructureNV* pAccelerationStructure);
8563 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureNV(
8565 VkAccelerationStructureNV accelerationStructure,
8566 const VkAllocationCallbacks* pAllocator);
8568 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureMemoryRequirementsNV(
8570 const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo,
8571 VkMemoryRequirements2KHR* pMemoryRequirements);
8573 VKAPI_ATTR VkResult VKAPI_CALL vkBindAccelerationStructureMemoryNV(
8575 uint32_t bindInfoCount,
8576 const VkBindAccelerationStructureMemoryInfoNV* pBindInfos);
8578 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructureNV(
8579 VkCommandBuffer commandBuffer,
8580 const VkAccelerationStructureInfoNV* pInfo,
8581 VkBuffer instanceData,
8582 VkDeviceSize instanceOffset,
8584 VkAccelerationStructureNV dst,
8585 VkAccelerationStructureNV src,
8587 VkDeviceSize scratchOffset);
8589 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureNV(
8590 VkCommandBuffer commandBuffer,
8591 VkAccelerationStructureNV dst,
8592 VkAccelerationStructureNV src,
8593 VkCopyAccelerationStructureModeNV mode);
8595 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysNV(
8596 VkCommandBuffer commandBuffer,
8597 VkBuffer raygenShaderBindingTableBuffer,
8598 VkDeviceSize raygenShaderBindingOffset,
8599 VkBuffer missShaderBindingTableBuffer,
8600 VkDeviceSize missShaderBindingOffset,
8601 VkDeviceSize missShaderBindingStride,
8602 VkBuffer hitShaderBindingTableBuffer,
8603 VkDeviceSize hitShaderBindingOffset,
8604 VkDeviceSize hitShaderBindingStride,
8605 VkBuffer callableShaderBindingTableBuffer,
8606 VkDeviceSize callableShaderBindingOffset,
8607 VkDeviceSize callableShaderBindingStride,
8612 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesNV(
8614 VkPipelineCache pipelineCache,
8615 uint32_t createInfoCount,
8616 const VkRayTracingPipelineCreateInfoNV* pCreateInfos,
8617 const VkAllocationCallbacks* pAllocator,
8618 VkPipeline* pPipelines);
8620 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesNV(
8622 VkPipeline pipeline,
8623 uint32_t firstGroup,
8624 uint32_t groupCount,
8628 VKAPI_ATTR VkResult VKAPI_CALL vkGetAccelerationStructureHandleNV(
8630 VkAccelerationStructureNV accelerationStructure,
8634 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesNV(
8635 VkCommandBuffer commandBuffer,
8636 uint32_t accelerationStructureCount,
8637 const VkAccelerationStructureNV* pAccelerationStructures,
8638 VkQueryType queryType,
8639 VkQueryPool queryPool,
8640 uint32_t firstQuery);
8642 VKAPI_ATTR VkResult VKAPI_CALL vkCompileDeferredNV(
8644 VkPipeline pipeline,
8649 #define VK_NV_representative_fragment_test 1
8650 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION 1
8651 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME "VK_NV_representative_fragment_test"
8652 typedef struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV {
8653 VkStructureType sType;
8655 VkBool32 representativeFragmentTest;
8656 } VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV;
8658 typedef struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV {
8659 VkStructureType sType;
8661 VkBool32 representativeFragmentTestEnable;
8662 } VkPipelineRepresentativeFragmentTestStateCreateInfoNV;
8666 #define VK_EXT_filter_cubic 1
8667 #define VK_EXT_FILTER_CUBIC_SPEC_VERSION 1
8668 #define VK_EXT_FILTER_CUBIC_EXTENSION_NAME "VK_EXT_filter_cubic"
8669 typedef struct VkPhysicalDeviceImageViewImageFormatInfoEXT {
8670 VkStructureType sType;
8672 VkImageViewType imageViewType;
8673 } VkPhysicalDeviceImageViewImageFormatInfoEXT;
8675 typedef struct VkFilterCubicImageViewImageFormatPropertiesEXT {
8676 VkStructureType sType;
8678 VkBool32 filterCubic;
8679 VkBool32 filterCubicMinmax ;
8680 } VkFilterCubicImageViewImageFormatPropertiesEXT;
8684 #define VK_EXT_global_priority 1
8685 #define VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION 2
8686 #define VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME "VK_EXT_global_priority"
8688 typedef enum VkQueueGlobalPriorityEXT {
8689 VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT = 128,
8690 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT = 256,
8691 VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT = 512,
8692 VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT = 1024,
8693 VK_QUEUE_GLOBAL_PRIORITY_BEGIN_RANGE_EXT = VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT,
8694 VK_QUEUE_GLOBAL_PRIORITY_END_RANGE_EXT = VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT,
8695 VK_QUEUE_GLOBAL_PRIORITY_RANGE_SIZE_EXT = (VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT - VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT + 1),
8696 VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_EXT = 0x7FFFFFFF
8697 } VkQueueGlobalPriorityEXT;
8698 typedef struct VkDeviceQueueGlobalPriorityCreateInfoEXT {
8699 VkStructureType sType;
8701 VkQueueGlobalPriorityEXT globalPriority;
8702 } VkDeviceQueueGlobalPriorityCreateInfoEXT;
8706 #define VK_EXT_external_memory_host 1
8707 #define VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION 1
8708 #define VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME "VK_EXT_external_memory_host"
8709 typedef struct VkImportMemoryHostPointerInfoEXT {
8710 VkStructureType sType;
8712 VkExternalMemoryHandleTypeFlagBits handleType;
8714 } VkImportMemoryHostPointerInfoEXT;
8716 typedef struct VkMemoryHostPointerPropertiesEXT {
8717 VkStructureType sType;
8719 uint32_t memoryTypeBits;
8720 } VkMemoryHostPointerPropertiesEXT;
8722 typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
8723 VkStructureType sType;
8725 VkDeviceSize minImportedHostPointerAlignment;
8726 } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
8728 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryHostPointerPropertiesEXT)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
8730 #ifndef VK_NO_PROTOTYPES
8731 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryHostPointerPropertiesEXT(
8733 VkExternalMemoryHandleTypeFlagBits handleType,
8734 const void* pHostPointer,
8735 VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
8739 #define VK_AMD_buffer_marker 1
8740 #define VK_AMD_BUFFER_MARKER_SPEC_VERSION 1
8741 #define VK_AMD_BUFFER_MARKER_EXTENSION_NAME "VK_AMD_buffer_marker"
8742 typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarkerAMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker);
8744 #ifndef VK_NO_PROTOTYPES
8745 VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarkerAMD(
8746 VkCommandBuffer commandBuffer,
8747 VkPipelineStageFlagBits pipelineStage,
8749 VkDeviceSize dstOffset,
8754 #define VK_EXT_calibrated_timestamps 1
8755 #define VK_EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION 1
8756 #define VK_EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME "VK_EXT_calibrated_timestamps"
8758 typedef enum VkTimeDomainEXT {
8759 VK_TIME_DOMAIN_DEVICE_EXT = 0,
8760 VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT = 1,
8761 VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT = 2,
8762 VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT = 3,
8763 VK_TIME_DOMAIN_BEGIN_RANGE_EXT = VK_TIME_DOMAIN_DEVICE_EXT,
8764 VK_TIME_DOMAIN_END_RANGE_EXT = VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT,
8765 VK_TIME_DOMAIN_RANGE_SIZE_EXT = (VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT - VK_TIME_DOMAIN_DEVICE_EXT + 1),
8766 VK_TIME_DOMAIN_MAX_ENUM_EXT = 0x7FFFFFFF
8768 typedef struct VkCalibratedTimestampInfoEXT {
8769 VkStructureType sType;
8771 VkTimeDomainEXT timeDomain;
8772 } VkCalibratedTimestampInfoEXT;
8774 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT)(VkPhysicalDevice physicalDevice, uint32_t* pTimeDomainCount, VkTimeDomainEXT* pTimeDomains);
8775 typedef VkResult (VKAPI_PTR *PFN_vkGetCalibratedTimestampsEXT)(VkDevice device, uint32_t timestampCount, const VkCalibratedTimestampInfoEXT* pTimestampInfos, uint64_t* pTimestamps, uint64_t* pMaxDeviation);
8777 #ifndef VK_NO_PROTOTYPES
8778 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(
8779 VkPhysicalDevice physicalDevice,
8780 uint32_t* pTimeDomainCount,
8781 VkTimeDomainEXT* pTimeDomains);
8783 VKAPI_ATTR VkResult VKAPI_CALL vkGetCalibratedTimestampsEXT(
8785 uint32_t timestampCount,
8786 const VkCalibratedTimestampInfoEXT* pTimestampInfos,
8787 uint64_t* pTimestamps,
8788 uint64_t* pMaxDeviation);
8792 #define VK_AMD_shader_core_properties 1
8793 #define VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION 1
8794 #define VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_AMD_shader_core_properties"
8795 typedef struct VkPhysicalDeviceShaderCorePropertiesAMD {
8796 VkStructureType sType;
8798 uint32_t shaderEngineCount;
8799 uint32_t shaderArraysPerEngineCount;
8800 uint32_t computeUnitsPerShaderArray;
8801 uint32_t simdPerComputeUnit;
8802 uint32_t wavefrontsPerSimd;
8803 uint32_t wavefrontSize;
8804 uint32_t sgprsPerSimd;
8805 uint32_t minSgprAllocation;
8806 uint32_t maxSgprAllocation;
8807 uint32_t sgprAllocationGranularity;
8808 uint32_t vgprsPerSimd;
8809 uint32_t minVgprAllocation;
8810 uint32_t maxVgprAllocation;
8811 uint32_t vgprAllocationGranularity;
8812 } VkPhysicalDeviceShaderCorePropertiesAMD;
8816 #define VK_AMD_memory_overallocation_behavior 1
8817 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION 1
8818 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME "VK_AMD_memory_overallocation_behavior"
8820 typedef enum VkMemoryOverallocationBehaviorAMD {
8821 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD = 0,
8822 VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD = 1,
8823 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD = 2,
8824 VK_MEMORY_OVERALLOCATION_BEHAVIOR_BEGIN_RANGE_AMD = VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD,
8825 VK_MEMORY_OVERALLOCATION_BEHAVIOR_END_RANGE_AMD = VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD,
8826 VK_MEMORY_OVERALLOCATION_BEHAVIOR_RANGE_SIZE_AMD = (VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD - VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD + 1),
8827 VK_MEMORY_OVERALLOCATION_BEHAVIOR_MAX_ENUM_AMD = 0x7FFFFFFF
8828 } VkMemoryOverallocationBehaviorAMD;
8829 typedef struct VkDeviceMemoryOverallocationCreateInfoAMD {
8830 VkStructureType sType;
8832 VkMemoryOverallocationBehaviorAMD overallocationBehavior;
8833 } VkDeviceMemoryOverallocationCreateInfoAMD;
8837 #define VK_EXT_vertex_attribute_divisor 1
8838 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 3
8839 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_EXT_vertex_attribute_divisor"
8840 typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
8841 VkStructureType sType;
8843 uint32_t maxVertexAttribDivisor;
8844 } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
8846 typedef struct VkVertexInputBindingDivisorDescriptionEXT {
8849 } VkVertexInputBindingDivisorDescriptionEXT;
8851 typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT {
8852 VkStructureType sType;
8854 uint32_t vertexBindingDivisorCount;
8855 const VkVertexInputBindingDivisorDescriptionEXT* pVertexBindingDivisors;
8856 } VkPipelineVertexInputDivisorStateCreateInfoEXT;
8858 typedef struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT {
8859 VkStructureType sType;
8861 VkBool32 vertexAttributeInstanceRateDivisor;
8862 VkBool32 vertexAttributeInstanceRateZeroDivisor;
8863 } VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT;
8867 #define VK_EXT_pipeline_creation_feedback 1
8868 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION 1
8869 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME "VK_EXT_pipeline_creation_feedback"
8871 typedef enum VkPipelineCreationFeedbackFlagBitsEXT {
8872 VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = 0x00000001,
8873 VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = 0x00000002,
8874 VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = 0x00000004,
8875 VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
8876 } VkPipelineCreationFeedbackFlagBitsEXT;
8877 typedef VkFlags VkPipelineCreationFeedbackFlagsEXT;
8878 typedef struct VkPipelineCreationFeedbackEXT {
8879 VkPipelineCreationFeedbackFlagsEXT flags;
8881 } VkPipelineCreationFeedbackEXT;
8883 typedef struct VkPipelineCreationFeedbackCreateInfoEXT {
8884 VkStructureType sType;
8886 VkPipelineCreationFeedbackEXT* pPipelineCreationFeedback;
8887 uint32_t pipelineStageCreationFeedbackCount;
8888 VkPipelineCreationFeedbackEXT* pPipelineStageCreationFeedbacks;
8889 } VkPipelineCreationFeedbackCreateInfoEXT;
8893 #define VK_NV_shader_subgroup_partitioned 1
8894 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION 1
8895 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME "VK_NV_shader_subgroup_partitioned"
8898 #define VK_NV_compute_shader_derivatives 1
8899 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION 1
8900 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME "VK_NV_compute_shader_derivatives"
8901 typedef struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV {
8902 VkStructureType sType;
8904 VkBool32 computeDerivativeGroupQuads;
8905 VkBool32 computeDerivativeGroupLinear;
8906 } VkPhysicalDeviceComputeShaderDerivativesFeaturesNV;
8910 #define VK_NV_mesh_shader 1
8911 #define VK_NV_MESH_SHADER_SPEC_VERSION 1
8912 #define VK_NV_MESH_SHADER_EXTENSION_NAME "VK_NV_mesh_shader"
8913 typedef struct VkPhysicalDeviceMeshShaderFeaturesNV {
8914 VkStructureType sType;
8916 VkBool32 taskShader;
8917 VkBool32 meshShader;
8918 } VkPhysicalDeviceMeshShaderFeaturesNV;
8920 typedef struct VkPhysicalDeviceMeshShaderPropertiesNV {
8921 VkStructureType sType;
8923 uint32_t maxDrawMeshTasksCount;
8924 uint32_t maxTaskWorkGroupInvocations;
8925 uint32_t maxTaskWorkGroupSize[3];
8926 uint32_t maxTaskTotalMemorySize;
8927 uint32_t maxTaskOutputCount;
8928 uint32_t maxMeshWorkGroupInvocations;
8929 uint32_t maxMeshWorkGroupSize[3];
8930 uint32_t maxMeshTotalMemorySize;
8931 uint32_t maxMeshOutputVertices;
8932 uint32_t maxMeshOutputPrimitives;
8933 uint32_t maxMeshMultiviewViewCount;
8934 uint32_t meshOutputPerVertexGranularity;
8935 uint32_t meshOutputPerPrimitiveGranularity;
8936 } VkPhysicalDeviceMeshShaderPropertiesNV;
8938 typedef struct VkDrawMeshTasksIndirectCommandNV {
8941 } VkDrawMeshTasksIndirectCommandNV;
8943 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksNV)(VkCommandBuffer commandBuffer, uint32_t taskCount, uint32_t firstTask);
8944 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
8945 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectCountNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
8947 #ifndef VK_NO_PROTOTYPES
8948 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksNV(
8949 VkCommandBuffer commandBuffer,
8951 uint32_t firstTask);
8953 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectNV(
8954 VkCommandBuffer commandBuffer,
8956 VkDeviceSize offset,
8960 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectCountNV(
8961 VkCommandBuffer commandBuffer,
8963 VkDeviceSize offset,
8964 VkBuffer countBuffer,
8965 VkDeviceSize countBufferOffset,
8966 uint32_t maxDrawCount,
8971 #define VK_NV_fragment_shader_barycentric 1
8972 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1
8973 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_NV_fragment_shader_barycentric"
8974 typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV {
8975 VkStructureType sType;
8977 VkBool32 fragmentShaderBarycentric;
8978 } VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV;
8982 #define VK_NV_shader_image_footprint 1
8983 #define VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION 1
8984 #define VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME "VK_NV_shader_image_footprint"
8985 typedef struct VkPhysicalDeviceShaderImageFootprintFeaturesNV {
8986 VkStructureType sType;
8988 VkBool32 imageFootprint;
8989 } VkPhysicalDeviceShaderImageFootprintFeaturesNV;
8993 #define VK_NV_scissor_exclusive 1
8994 #define VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION 1
8995 #define VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME "VK_NV_scissor_exclusive"
8996 typedef struct VkPipelineViewportExclusiveScissorStateCreateInfoNV {
8997 VkStructureType sType;
8999 uint32_t exclusiveScissorCount;
9000 const VkRect2D* pExclusiveScissors;
9001 } VkPipelineViewportExclusiveScissorStateCreateInfoNV;
9003 typedef struct VkPhysicalDeviceExclusiveScissorFeaturesNV {
9004 VkStructureType sType;
9006 VkBool32 exclusiveScissor;
9007 } VkPhysicalDeviceExclusiveScissorFeaturesNV;
9009 typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorNV)(VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const VkRect2D* pExclusiveScissors);
9011 #ifndef VK_NO_PROTOTYPES
9012 VKAPI_ATTR void VKAPI_CALL vkCmdSetExclusiveScissorNV(
9013 VkCommandBuffer commandBuffer,
9014 uint32_t firstExclusiveScissor,
9015 uint32_t exclusiveScissorCount,
9016 const VkRect2D* pExclusiveScissors);
9020 #define VK_NV_device_diagnostic_checkpoints 1
9021 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION 2
9022 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME "VK_NV_device_diagnostic_checkpoints"
9023 typedef struct VkQueueFamilyCheckpointPropertiesNV {
9024 VkStructureType sType;
9026 VkPipelineStageFlags checkpointExecutionStageMask;
9027 } VkQueueFamilyCheckpointPropertiesNV;
9029 typedef struct VkCheckpointDataNV {
9030 VkStructureType sType;
9032 VkPipelineStageFlagBits stage;
9033 void* pCheckpointMarker;
9034 } VkCheckpointDataNV;
9036 typedef void (VKAPI_PTR *PFN_vkCmdSetCheckpointNV)(VkCommandBuffer commandBuffer, const void* pCheckpointMarker);
9037 typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointDataNV)(VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData);
9039 #ifndef VK_NO_PROTOTYPES
9040 VKAPI_ATTR void VKAPI_CALL vkCmdSetCheckpointNV(
9041 VkCommandBuffer commandBuffer,
9042 const void* pCheckpointMarker);
9044 VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointDataNV(
9046 uint32_t* pCheckpointDataCount,
9047 VkCheckpointDataNV* pCheckpointData);
9051 #define VK_INTEL_shader_integer_functions2 1
9052 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS2_SPEC_VERSION 1
9053 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS2_EXTENSION_NAME "VK_INTEL_shader_integer_functions2"
9054 typedef struct VkPhysicalDeviceShaderIntegerFunctions2INTEL {
9055 VkStructureType sType;
9057 VkBool32 shaderIntegerFunctions2;
9058 } VkPhysicalDeviceShaderIntegerFunctions2INTEL;
9062 #define VK_EXT_pci_bus_info 1
9063 #define VK_EXT_PCI_BUS_INFO_SPEC_VERSION 2
9064 #define VK_EXT_PCI_BUS_INFO_EXTENSION_NAME "VK_EXT_pci_bus_info"
9065 typedef struct VkPhysicalDevicePCIBusInfoPropertiesEXT {
9066 VkStructureType sType;
9071 uint32_t pciFunction;
9072 } VkPhysicalDevicePCIBusInfoPropertiesEXT;
9076 #define VK_AMD_display_native_hdr 1
9077 #define VK_AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION 1
9078 #define VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME "VK_AMD_display_native_hdr"
9079 typedef struct VkDisplayNativeHdrSurfaceCapabilitiesAMD {
9080 VkStructureType sType;
9082 VkBool32 localDimmingSupport;
9083 } VkDisplayNativeHdrSurfaceCapabilitiesAMD;
9085 typedef struct VkSwapchainDisplayNativeHdrCreateInfoAMD {
9086 VkStructureType sType;
9088 VkBool32 localDimmingEnable;
9089 } VkSwapchainDisplayNativeHdrCreateInfoAMD;
9091 typedef void (VKAPI_PTR *PFN_vkSetLocalDimmingAMD)(VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable);
9093 #ifndef VK_NO_PROTOTYPES
9094 VKAPI_ATTR void VKAPI_CALL vkSetLocalDimmingAMD(
9096 VkSwapchainKHR swapChain,
9097 VkBool32 localDimmingEnable);
9101 #define VK_EXT_fragment_density_map 1
9102 #define VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION 1
9103 #define VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME "VK_EXT_fragment_density_map"
9104 typedef struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT {
9105 VkStructureType sType;
9107 VkBool32 fragmentDensityMap;
9108 VkBool32 fragmentDensityMapDynamic;
9109 VkBool32 fragmentDensityMapNonSubsampledImages;
9110 } VkPhysicalDeviceFragmentDensityMapFeaturesEXT;
9112 typedef struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT {
9113 VkStructureType sType;
9115 VkExtent2D minFragmentDensityTexelSize;
9116 VkExtent2D maxFragmentDensityTexelSize;
9117 VkBool32 fragmentDensityInvocations;
9118 } VkPhysicalDeviceFragmentDensityMapPropertiesEXT;
9120 typedef struct VkRenderPassFragmentDensityMapCreateInfoEXT {
9121 VkStructureType sType;
9123 VkAttachmentReference fragmentDensityMapAttachment;
9124 } VkRenderPassFragmentDensityMapCreateInfoEXT;
9128 #define VK_EXT_scalar_block_layout 1
9129 #define VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION 1
9130 #define VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME "VK_EXT_scalar_block_layout"
9131 typedef struct VkPhysicalDeviceScalarBlockLayoutFeaturesEXT {
9132 VkStructureType sType;
9134 VkBool32 scalarBlockLayout;
9135 } VkPhysicalDeviceScalarBlockLayoutFeaturesEXT;
9139 #define VK_GOOGLE_hlsl_functionality1 1
9140 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION 1
9141 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME "VK_GOOGLE_hlsl_functionality1"
9144 #define VK_GOOGLE_decorate_string 1
9145 #define VK_GOOGLE_DECORATE_STRING_SPEC_VERSION 1
9146 #define VK_GOOGLE_DECORATE_STRING_EXTENSION_NAME "VK_GOOGLE_decorate_string"
9149 #define VK_EXT_memory_budget 1
9150 #define VK_EXT_MEMORY_BUDGET_SPEC_VERSION 1
9151 #define VK_EXT_MEMORY_BUDGET_EXTENSION_NAME "VK_EXT_memory_budget"
9152 typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT {
9153 VkStructureType sType;
9155 VkDeviceSize heapBudget[VK_MAX_MEMORY_HEAPS];
9156 VkDeviceSize heapUsage[VK_MAX_MEMORY_HEAPS];
9157 } VkPhysicalDeviceMemoryBudgetPropertiesEXT;
9161 #define VK_EXT_memory_priority 1
9162 #define VK_EXT_MEMORY_PRIORITY_SPEC_VERSION 1
9163 #define VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME "VK_EXT_memory_priority"
9164 typedef struct VkPhysicalDeviceMemoryPriorityFeaturesEXT {
9165 VkStructureType sType;
9167 VkBool32 memoryPriority;
9168 } VkPhysicalDeviceMemoryPriorityFeaturesEXT;
9170 typedef struct VkMemoryPriorityAllocateInfoEXT {
9171 VkStructureType sType;
9174 } VkMemoryPriorityAllocateInfoEXT;
9178 #define VK_NV_dedicated_allocation_image_aliasing 1
9179 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION 1
9180 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME "VK_NV_dedicated_allocation_image_aliasing"
9181 typedef struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
9182 VkStructureType sType;
9184 VkBool32 dedicatedAllocationImageAliasing;
9185 } VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV;
9189 #define VK_EXT_buffer_device_address 1
9190 typedef uint64_t VkDeviceAddress;
9191 #define VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 2
9192 #define VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_EXT_buffer_device_address"
9193 typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT {
9194 VkStructureType sType;
9196 VkBool32 bufferDeviceAddress;
9197 VkBool32 bufferDeviceAddressCaptureReplay;
9198 VkBool32 bufferDeviceAddressMultiDevice;
9199 } VkPhysicalDeviceBufferDeviceAddressFeaturesEXT;
9201 typedef VkPhysicalDeviceBufferDeviceAddressFeaturesEXT VkPhysicalDeviceBufferAddressFeaturesEXT;
9203 typedef struct VkBufferDeviceAddressInfoEXT {
9204 VkStructureType sType;
9207 } VkBufferDeviceAddressInfoEXT;
9209 typedef struct VkBufferDeviceAddressCreateInfoEXT {
9210 VkStructureType sType;
9212 VkDeviceAddress deviceAddress;
9213 } VkBufferDeviceAddressCreateInfoEXT;
9215 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressEXT)(VkDevice device, const VkBufferDeviceAddressInfoEXT* pInfo);
9217 #ifndef VK_NO_PROTOTYPES
9218 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressEXT(
9220 const VkBufferDeviceAddressInfoEXT* pInfo);
9224 #define VK_EXT_separate_stencil_usage 1
9225 #define VK_EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION 1
9226 #define VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME "VK_EXT_separate_stencil_usage"
9228 typedef struct VkImageStencilUsageCreateInfoEXT {
9229 VkStructureType sType;
9231 VkImageUsageFlags stencilUsage;
9232 } VkImageStencilUsageCreateInfoEXT;
9235 #define VK_EXT_validation_features 1
9236 #define VK_EXT_VALIDATION_FEATURES_SPEC_VERSION 1
9237 #define VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME "VK_EXT_validation_features"
9239 typedef enum VkValidationFeatureEnableEXT {
9240 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT = 0,
9241 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT = 1,
9242 VK_VALIDATION_FEATURE_ENABLE_BEGIN_RANGE_EXT = VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT,
9243 VK_VALIDATION_FEATURE_ENABLE_END_RANGE_EXT = VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT,
9244 VK_VALIDATION_FEATURE_ENABLE_RANGE_SIZE_EXT = (VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT - VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT + 1),
9245 VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT = 0x7FFFFFFF
9246 } VkValidationFeatureEnableEXT;
9248 typedef enum VkValidationFeatureDisableEXT {
9249 VK_VALIDATION_FEATURE_DISABLE_ALL_EXT = 0,
9250 VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT = 1,
9251 VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT = 2,
9252 VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT = 3,
9253 VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT = 4,
9254 VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT = 5,
9255 VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT = 6,
9256 VK_VALIDATION_FEATURE_DISABLE_BEGIN_RANGE_EXT = VK_VALIDATION_FEATURE_DISABLE_ALL_EXT,
9257 VK_VALIDATION_FEATURE_DISABLE_END_RANGE_EXT = VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT,
9258 VK_VALIDATION_FEATURE_DISABLE_RANGE_SIZE_EXT = (VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT - VK_VALIDATION_FEATURE_DISABLE_ALL_EXT + 1),
9259 VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT = 0x7FFFFFFF
9260 } VkValidationFeatureDisableEXT;
9261 typedef struct VkValidationFeaturesEXT {
9262 VkStructureType sType;
9264 uint32_t enabledValidationFeatureCount;
9265 const VkValidationFeatureEnableEXT* pEnabledValidationFeatures;
9266 uint32_t disabledValidationFeatureCount;
9267 const VkValidationFeatureDisableEXT* pDisabledValidationFeatures;
9268 } VkValidationFeaturesEXT;
9271 #define VK_NV_cooperative_matrix 1
9272 #define VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION 1
9273 #define VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_NV_cooperative_matrix"
9275 typedef enum VkComponentTypeNV {
9276 VK_COMPONENT_TYPE_FLOAT16_NV = 0,
9277 VK_COMPONENT_TYPE_FLOAT32_NV = 1,
9278 VK_COMPONENT_TYPE_FLOAT64_NV = 2,
9279 VK_COMPONENT_TYPE_SINT8_NV = 3,
9280 VK_COMPONENT_TYPE_SINT16_NV = 4,
9281 VK_COMPONENT_TYPE_SINT32_NV = 5,
9282 VK_COMPONENT_TYPE_SINT64_NV = 6,
9283 VK_COMPONENT_TYPE_UINT8_NV = 7,
9284 VK_COMPONENT_TYPE_UINT16_NV = 8,
9285 VK_COMPONENT_TYPE_UINT32_NV = 9,
9286 VK_COMPONENT_TYPE_UINT64_NV = 10,
9287 VK_COMPONENT_TYPE_BEGIN_RANGE_NV = VK_COMPONENT_TYPE_FLOAT16_NV,
9288 VK_COMPONENT_TYPE_END_RANGE_NV = VK_COMPONENT_TYPE_UINT64_NV,
9289 VK_COMPONENT_TYPE_RANGE_SIZE_NV = (VK_COMPONENT_TYPE_UINT64_NV - VK_COMPONENT_TYPE_FLOAT16_NV + 1),
9290 VK_COMPONENT_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
9291 } VkComponentTypeNV;
9293 typedef enum VkScopeNV {
9294 VK_SCOPE_DEVICE_NV = 1,
9295 VK_SCOPE_WORKGROUP_NV = 2,
9296 VK_SCOPE_SUBGROUP_NV = 3,
9297 VK_SCOPE_QUEUE_FAMILY_NV = 5,
9298 VK_SCOPE_BEGIN_RANGE_NV = VK_SCOPE_DEVICE_NV,
9299 VK_SCOPE_END_RANGE_NV = VK_SCOPE_QUEUE_FAMILY_NV,
9300 VK_SCOPE_RANGE_SIZE_NV = (VK_SCOPE_QUEUE_FAMILY_NV - VK_SCOPE_DEVICE_NV + 1),
9301 VK_SCOPE_MAX_ENUM_NV = 0x7FFFFFFF
9303 typedef struct VkCooperativeMatrixPropertiesNV {
9304 VkStructureType sType;
9309 VkComponentTypeNV AType;
9310 VkComponentTypeNV BType;
9311 VkComponentTypeNV CType;
9312 VkComponentTypeNV DType;
9314 } VkCooperativeMatrixPropertiesNV;
9316 typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesNV {
9317 VkStructureType sType;
9319 VkBool32 cooperativeMatrix;
9320 VkBool32 cooperativeMatrixRobustBufferAccess;
9321 } VkPhysicalDeviceCooperativeMatrixFeaturesNV;
9323 typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesNV {
9324 VkStructureType sType;
9326 VkShaderStageFlags cooperativeMatrixSupportedStages;
9327 } VkPhysicalDeviceCooperativeMatrixPropertiesNV;
9329 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkCooperativeMatrixPropertiesNV* pProperties);
9331 #ifndef VK_NO_PROTOTYPES
9332 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(
9333 VkPhysicalDevice physicalDevice,
9334 uint32_t* pPropertyCount,
9335 VkCooperativeMatrixPropertiesNV* pProperties);
9339 #define VK_NV_coverage_reduction_mode 1
9340 #define VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION 1
9341 #define VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME "VK_NV_coverage_reduction_mode"
9343 typedef enum VkCoverageReductionModeNV {
9344 VK_COVERAGE_REDUCTION_MODE_MERGE_NV = 0,
9345 VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV = 1,
9346 VK_COVERAGE_REDUCTION_MODE_BEGIN_RANGE_NV = VK_COVERAGE_REDUCTION_MODE_MERGE_NV,
9347 VK_COVERAGE_REDUCTION_MODE_END_RANGE_NV = VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV,
9348 VK_COVERAGE_REDUCTION_MODE_RANGE_SIZE_NV = (VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV - VK_COVERAGE_REDUCTION_MODE_MERGE_NV + 1),
9349 VK_COVERAGE_REDUCTION_MODE_MAX_ENUM_NV = 0x7FFFFFFF
9350 } VkCoverageReductionModeNV;
9351 typedef VkFlags VkPipelineCoverageReductionStateCreateFlagsNV;
9352 typedef struct VkPhysicalDeviceCoverageReductionModeFeaturesNV {
9353 VkStructureType sType;
9355 VkBool32 coverageReductionMode;
9356 } VkPhysicalDeviceCoverageReductionModeFeaturesNV;
9358 typedef struct VkPipelineCoverageReductionStateCreateInfoNV {
9359 VkStructureType sType;
9361 VkPipelineCoverageReductionStateCreateFlagsNV flags;
9362 VkCoverageReductionModeNV coverageReductionMode;
9363 } VkPipelineCoverageReductionStateCreateInfoNV;
9365 typedef struct VkFramebufferMixedSamplesCombinationNV {
9366 VkStructureType sType;
9368 VkCoverageReductionModeNV coverageReductionMode;
9369 VkSampleCountFlagBits rasterizationSamples;
9370 VkSampleCountFlags depthStencilSamples;
9371 VkSampleCountFlags colorSamples;
9372 } VkFramebufferMixedSamplesCombinationNV;
9374 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV)(VkPhysicalDevice physicalDevice, uint32_t* pCombinationCount, VkFramebufferMixedSamplesCombinationNV* pCombinations);
9376 #ifndef VK_NO_PROTOTYPES
9377 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
9378 VkPhysicalDevice physicalDevice,
9379 uint32_t* pCombinationCount,
9380 VkFramebufferMixedSamplesCombinationNV* pCombinations);
9384 #define VK_EXT_ycbcr_image_arrays 1
9385 #define VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION 1
9386 #define VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME "VK_EXT_ycbcr_image_arrays"
9387 typedef struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT {
9388 VkStructureType sType;
9390 VkBool32 ycbcrImageArrays;
9391 } VkPhysicalDeviceYcbcrImageArraysFeaturesEXT;
9395 #define VK_EXT_headless_surface 1
9396 #define VK_EXT_HEADLESS_SURFACE_SPEC_VERSION 0
9397 #define VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME "VK_EXT_headless_surface"
9398 typedef VkFlags VkHeadlessSurfaceCreateFlagsEXT;
9399 typedef struct VkHeadlessSurfaceCreateInfoEXT {
9400 VkStructureType sType;
9402 VkHeadlessSurfaceCreateFlagsEXT flags;
9403 } VkHeadlessSurfaceCreateInfoEXT;
9405 typedef VkResult (VKAPI_PTR *PFN_vkCreateHeadlessSurfaceEXT)(VkInstance instance, const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
9407 #ifndef VK_NO_PROTOTYPES
9408 VKAPI_ATTR VkResult VKAPI_CALL vkCreateHeadlessSurfaceEXT(
9409 VkInstance instance,
9410 const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo,
9411 const VkAllocationCallbacks* pAllocator,
9412 VkSurfaceKHR* pSurface);
9416 #define VK_EXT_host_query_reset 1
9417 #define VK_EXT_HOST_QUERY_RESET_SPEC_VERSION 1
9418 #define VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME "VK_EXT_host_query_reset"
9419 typedef struct VkPhysicalDeviceHostQueryResetFeaturesEXT {
9420 VkStructureType sType;
9422 VkBool32 hostQueryReset;
9423 } VkPhysicalDeviceHostQueryResetFeaturesEXT;
9425 typedef void (VKAPI_PTR *PFN_vkResetQueryPoolEXT)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount);
9427 #ifndef VK_NO_PROTOTYPES
9428 VKAPI_ATTR void VKAPI_CALL vkResetQueryPoolEXT(
9430 VkQueryPool queryPool,
9431 uint32_t firstQuery,
9432 uint32_t queryCount);
9435 #define VK_EXT_index_type_uint8 1
9436 #define VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION 1
9437 #define VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_EXT_index_type_uint8"
9438 typedef struct VkPhysicalDeviceIndexTypeUint8FeaturesEXT {
9439 VkStructureType sType;
9441 VkBool32 indexTypeUint8;
9442 } VkPhysicalDeviceIndexTypeUint8FeaturesEXT;
9445 #define VK_EXT_shader_demote_to_helper_invocation 1
9446 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION 1
9447 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME "VK_EXT_shader_demote_to_helper_invocation"
9448 typedef struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT {
9449 VkStructureType sType;
9451 VkBool32 shaderDemoteToHelperInvocation;
9452 } VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT;