2 #define VULKAN_CORE_H_ 1
5 ** Copyright (c) 2015-2019 The Khronos Group Inc.
7 ** Licensed under the Apache License, Version 2.0 (the "License");
8 ** you may not use this file except in compliance with the License.
9 ** You may obtain a copy of the License at
11 ** http://www.apache.org/licenses/LICENSE-2.0
13 ** Unless required by applicable law or agreed to in writing, software
14 ** distributed under the License is distributed on an "AS IS" BASIS,
15 ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 ** See the License for the specific language governing permissions and
17 ** limitations under the License.
21 ** This header is generated from the Khronos Vulkan XML API Registry.
32 #define VK_VERSION_1_0 1
33 #include "vk_platform.h"
34 #define VK_MAKE_VERSION(major, minor, patch) \
35 (((major) << 22) | ((minor) << 12) | (patch))
37 // 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.
38 //#define VK_API_VERSION VK_MAKE_VERSION(1, 0, 0) // Patch version should always be set to 0
40 // Vulkan 1.0 version number
41 #define VK_API_VERSION_1_0 VK_MAKE_VERSION(1, 0, 0)// Patch version should always be set to 0
43 #define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22)
44 #define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3ff)
45 #define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xfff)
46 // Version of this file
47 #define VK_HEADER_VERSION 124
50 #define VK_NULL_HANDLE 0
53 #define VK_DEFINE_HANDLE(object) typedef struct object##_T* object;
56 #if !defined(VK_DEFINE_NON_DISPATCHABLE_HANDLE)
57 #if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__)
58 #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object;
60 #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t object;
64 typedef uint32_t VkFlags;
65 typedef uint32_t VkBool32;
66 typedef uint64_t VkDeviceSize;
67 typedef uint32_t VkSampleMask;
68 VK_DEFINE_HANDLE(VkInstance)
69 VK_DEFINE_HANDLE(VkPhysicalDevice)
70 VK_DEFINE_HANDLE(VkDevice)
71 VK_DEFINE_HANDLE(VkQueue)
72 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphore)
73 VK_DEFINE_HANDLE(VkCommandBuffer)
74 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFence)
75 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeviceMemory)
76 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer)
77 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage)
78 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkEvent)
79 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkQueryPool)
80 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferView)
81 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImageView)
82 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderModule)
83 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache)
84 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineLayout)
85 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass)
86 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipeline)
87 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout)
88 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSampler)
89 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool)
90 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSet)
91 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer)
92 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool)
93 #define VK_LOD_CLAMP_NONE 1000.0f
94 #define VK_REMAINING_MIP_LEVELS (~0U)
95 #define VK_REMAINING_ARRAY_LAYERS (~0U)
96 #define VK_WHOLE_SIZE (~0ULL)
97 #define VK_ATTACHMENT_UNUSED (~0U)
100 #define VK_QUEUE_FAMILY_IGNORED (~0U)
101 #define VK_SUBPASS_EXTERNAL (~0U)
102 #define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE 256
103 #define VK_UUID_SIZE 16
104 #define VK_MAX_MEMORY_TYPES 32
105 #define VK_MAX_MEMORY_HEAPS 16
106 #define VK_MAX_EXTENSION_NAME_SIZE 256
107 #define VK_MAX_DESCRIPTION_SIZE 256
109 typedef enum VkPipelineCacheHeaderVersion {
110 VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1,
111 VK_PIPELINE_CACHE_HEADER_VERSION_BEGIN_RANGE = VK_PIPELINE_CACHE_HEADER_VERSION_ONE,
112 VK_PIPELINE_CACHE_HEADER_VERSION_END_RANGE = VK_PIPELINE_CACHE_HEADER_VERSION_ONE,
113 VK_PIPELINE_CACHE_HEADER_VERSION_RANGE_SIZE = (VK_PIPELINE_CACHE_HEADER_VERSION_ONE - VK_PIPELINE_CACHE_HEADER_VERSION_ONE + 1),
114 VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF
115 } VkPipelineCacheHeaderVersion;
117 typedef enum VkResult {
124 VK_ERROR_OUT_OF_HOST_MEMORY = -1,
125 VK_ERROR_OUT_OF_DEVICE_MEMORY = -2,
126 VK_ERROR_INITIALIZATION_FAILED = -3,
127 VK_ERROR_DEVICE_LOST = -4,
128 VK_ERROR_MEMORY_MAP_FAILED = -5,
129 VK_ERROR_LAYER_NOT_PRESENT = -6,
130 VK_ERROR_EXTENSION_NOT_PRESENT = -7,
131 VK_ERROR_FEATURE_NOT_PRESENT = -8,
132 VK_ERROR_INCOMPATIBLE_DRIVER = -9,
133 VK_ERROR_TOO_MANY_OBJECTS = -10,
134 VK_ERROR_FORMAT_NOT_SUPPORTED = -11,
135 VK_ERROR_FRAGMENTED_POOL = -12,
136 VK_ERROR_OUT_OF_POOL_MEMORY = -1000069000,
137 VK_ERROR_INVALID_EXTERNAL_HANDLE = -1000072003,
138 VK_ERROR_FRAGMENTATION = -1000161000,
139 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS = -1000257000,
140 VK_ERROR_SURFACE_LOST_KHR = -1000000000,
141 VK_ERROR_NATIVE_WINDOW_IN_USE_KHR = -1000000001,
142 VK_SUBOPTIMAL_KHR = 1000001003,
143 VK_ERROR_OUT_OF_DATE_KHR = -1000001004,
144 VK_ERROR_INCOMPATIBLE_DISPLAY_KHR = -1000003001,
145 VK_ERROR_VALIDATION_FAILED_EXT = -1000011001,
146 VK_ERROR_INVALID_SHADER_NV = -1000012000,
147 VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT = -1000158000,
148 VK_ERROR_NOT_PERMITTED_EXT = -1000174001,
149 VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT = -1000255000,
150 VK_ERROR_OUT_OF_POOL_MEMORY_KHR = VK_ERROR_OUT_OF_POOL_MEMORY,
151 VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = VK_ERROR_INVALID_EXTERNAL_HANDLE,
152 VK_ERROR_FRAGMENTATION_EXT = VK_ERROR_FRAGMENTATION,
153 VK_ERROR_INVALID_DEVICE_ADDRESS_EXT = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS,
154 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS,
155 VK_RESULT_BEGIN_RANGE = VK_ERROR_FRAGMENTED_POOL,
156 VK_RESULT_END_RANGE = VK_INCOMPLETE,
157 VK_RESULT_RANGE_SIZE = (VK_INCOMPLETE - VK_ERROR_FRAGMENTED_POOL + 1),
158 VK_RESULT_MAX_ENUM = 0x7FFFFFFF
161 typedef enum VkStructureType {
162 VK_STRUCTURE_TYPE_APPLICATION_INFO = 0,
163 VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = 1,
164 VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO = 2,
165 VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO = 3,
166 VK_STRUCTURE_TYPE_SUBMIT_INFO = 4,
167 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO = 5,
168 VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = 6,
169 VK_STRUCTURE_TYPE_BIND_SPARSE_INFO = 7,
170 VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = 8,
171 VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO = 9,
172 VK_STRUCTURE_TYPE_EVENT_CREATE_INFO = 10,
173 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO = 11,
174 VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = 12,
175 VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO = 13,
176 VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = 14,
177 VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO = 15,
178 VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO = 16,
179 VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO = 17,
180 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO = 18,
181 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO = 19,
182 VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO = 20,
183 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO = 21,
184 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO = 22,
185 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO = 23,
186 VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO = 24,
187 VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO = 25,
188 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO = 26,
189 VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO = 27,
190 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO = 28,
191 VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO = 29,
192 VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO = 30,
193 VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO = 31,
194 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO = 32,
195 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO = 33,
196 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO = 34,
197 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = 35,
198 VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = 36,
199 VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO = 37,
200 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO = 38,
201 VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO = 39,
202 VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO = 40,
203 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO = 41,
204 VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO = 42,
205 VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = 43,
206 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER = 44,
207 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = 45,
208 VK_STRUCTURE_TYPE_MEMORY_BARRIER = 46,
209 VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO = 47,
210 VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO = 48,
211 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES = 1000094000,
212 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO = 1000157000,
213 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO = 1000157001,
214 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES = 1000083000,
215 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS = 1000127000,
216 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO = 1000127001,
217 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO = 1000060000,
218 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO = 1000060003,
219 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO = 1000060004,
220 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO = 1000060005,
221 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO = 1000060006,
222 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO = 1000060013,
223 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO = 1000060014,
224 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES = 1000070000,
225 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO = 1000070001,
226 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 = 1000146000,
227 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 = 1000146001,
228 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 = 1000146002,
229 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 = 1000146003,
230 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 = 1000146004,
231 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 = 1000059000,
232 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 = 1000059001,
233 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 = 1000059002,
234 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 = 1000059003,
235 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 = 1000059004,
236 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 = 1000059005,
237 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 = 1000059006,
238 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 = 1000059007,
239 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 = 1000059008,
240 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES = 1000117000,
241 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO = 1000117001,
242 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO = 1000117002,
243 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO = 1000117003,
244 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO = 1000053000,
245 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES = 1000053001,
246 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES = 1000053002,
247 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES = 1000120000,
248 VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO = 1000145000,
249 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES = 1000145001,
250 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES = 1000145002,
251 VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 = 1000145003,
252 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO = 1000156000,
253 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO = 1000156001,
254 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO = 1000156002,
255 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO = 1000156003,
256 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES = 1000156004,
257 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES = 1000156005,
258 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO = 1000085000,
259 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO = 1000071000,
260 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES = 1000071001,
261 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO = 1000071002,
262 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES = 1000071003,
263 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES = 1000071004,
264 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO = 1000072000,
265 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO = 1000072001,
266 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO = 1000072002,
267 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO = 1000112000,
268 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES = 1000112001,
269 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO = 1000113000,
270 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO = 1000077000,
271 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO = 1000076000,
272 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES = 1000076001,
273 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES = 1000168000,
274 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT = 1000168001,
275 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES = 1000063000,
276 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES = 49,
277 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES = 50,
278 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES = 51,
279 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES = 52,
280 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO = 1000147000,
281 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 = 1000109000,
282 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 = 1000109001,
283 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 = 1000109002,
284 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 = 1000109003,
285 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 = 1000109004,
286 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO = 1000109005,
287 VK_STRUCTURE_TYPE_SUBPASS_END_INFO = 1000109006,
288 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES = 1000177000,
289 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES = 1000196000,
290 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES = 1000180000,
291 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES = 1000082000,
292 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES = 1000197000,
293 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO = 1000161000,
294 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES = 1000161001,
295 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES = 1000161002,
296 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO = 1000161003,
297 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT = 1000161004,
298 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES = 1000199000,
299 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE = 1000199001,
300 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES = 1000221000,
301 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO = 1000246000,
302 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES = 1000130000,
303 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO = 1000130001,
304 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES = 1000211000,
305 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES = 1000108000,
306 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO = 1000108001,
307 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO = 1000108002,
308 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO = 1000108003,
309 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES = 1000253000,
310 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES = 1000175000,
311 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES = 1000241000,
312 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT = 1000241001,
313 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT = 1000241002,
314 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES = 1000261000,
315 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES = 1000207000,
316 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES = 1000207001,
317 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO = 1000207002,
318 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO = 1000207003,
319 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO = 1000207004,
320 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO = 1000207005,
321 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES = 1000257000,
322 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO = 1000244001,
323 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO = 1000257002,
324 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO = 1000257003,
325 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO = 1000257004,
326 VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR = 1000001000,
327 VK_STRUCTURE_TYPE_PRESENT_INFO_KHR = 1000001001,
328 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR = 1000060007,
329 VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR = 1000060008,
330 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR = 1000060009,
331 VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR = 1000060010,
332 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR = 1000060011,
333 VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR = 1000060012,
334 VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR = 1000002000,
335 VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR = 1000002001,
336 VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR = 1000003000,
337 VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR = 1000004000,
338 VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR = 1000005000,
339 VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR = 1000006000,
340 VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR = 1000008000,
341 VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR = 1000009000,
342 VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT = 1000011000,
343 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD = 1000018000,
344 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT = 1000022000,
345 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT = 1000022001,
346 VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT = 1000022002,
347 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000,
348 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001,
349 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV = 1000026002,
350 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT = 1000028000,
351 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT = 1000028001,
352 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT = 1000028002,
353 VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX = 1000030000,
354 VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000,
355 VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP = 1000049000,
356 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV = 1000050000,
357 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = 1000056000,
358 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV = 1000056001,
359 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057000,
360 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057001,
361 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV = 1000058000,
362 VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT = 1000061000,
363 VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN = 1000062000,
364 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT = 1000066000,
365 VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT = 1000067000,
366 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT = 1000067001,
367 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073000,
368 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073001,
369 VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR = 1000073002,
370 VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR = 1000073003,
371 VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR = 1000074000,
372 VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR = 1000074001,
373 VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR = 1000074002,
374 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR = 1000075000,
375 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078000,
376 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078001,
377 VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR = 1000078002,
378 VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR = 1000078003,
379 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR = 1000079000,
380 VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR = 1000079001,
381 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR = 1000080000,
382 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT = 1000081000,
383 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT = 1000081001,
384 VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT = 1000081002,
385 VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR = 1000084000,
386 VK_STRUCTURE_TYPE_OBJECT_TABLE_CREATE_INFO_NVX = 1000086000,
387 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NVX = 1000086001,
388 VK_STRUCTURE_TYPE_CMD_PROCESS_COMMANDS_INFO_NVX = 1000086002,
389 VK_STRUCTURE_TYPE_CMD_RESERVE_SPACE_FOR_COMMANDS_INFO_NVX = 1000086003,
390 VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_LIMITS_NVX = 1000086004,
391 VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_FEATURES_NVX = 1000086005,
392 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV = 1000087000,
393 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT = 1000090000,
394 VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT = 1000091000,
395 VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT = 1000091001,
396 VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT = 1000091002,
397 VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT = 1000091003,
398 VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE = 1000092000,
399 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX = 1000097000,
400 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV = 1000098000,
401 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT = 1000099000,
402 VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT = 1000099001,
403 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT = 1000101000,
404 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT = 1000101001,
405 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT = 1000102000,
406 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT = 1000102001,
407 VK_STRUCTURE_TYPE_HDR_METADATA_EXT = 1000105000,
408 VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR = 1000111000,
409 VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114000,
410 VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114001,
411 VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR = 1000114002,
412 VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR = 1000115000,
413 VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR = 1000115001,
414 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR = 1000116000,
415 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR = 1000116001,
416 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR = 1000116002,
417 VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR = 1000116003,
418 VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR = 1000116004,
419 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR = 1000116005,
420 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR = 1000116006,
421 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR = 1000119000,
422 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR = 1000119001,
423 VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR = 1000119002,
424 VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR = 1000121000,
425 VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR = 1000121001,
426 VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR = 1000121002,
427 VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR = 1000121003,
428 VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR = 1000121004,
429 VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK = 1000122000,
430 VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK = 1000123000,
431 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT = 1000128000,
432 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT = 1000128001,
433 VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT = 1000128002,
434 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT = 1000128003,
435 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT = 1000128004,
436 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID = 1000129000,
437 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID = 1000129001,
438 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID = 1000129002,
439 VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129003,
440 VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129004,
441 VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID = 1000129005,
442 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT = 1000138000,
443 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT = 1000138001,
444 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT = 1000138002,
445 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT = 1000138003,
446 VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT = 1000143000,
447 VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT = 1000143001,
448 VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT = 1000143002,
449 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT = 1000143003,
450 VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT = 1000143004,
451 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT = 1000148000,
452 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT = 1000148001,
453 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT = 1000148002,
454 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV = 1000149000,
455 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV = 1000152000,
456 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV = 1000154000,
457 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV = 1000154001,
458 VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT = 1000158000,
459 VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT = 1000158001,
460 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT = 1000158002,
461 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT = 1000158003,
462 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT = 1000158004,
463 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT = 1000158005,
464 VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160000,
465 VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160001,
466 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV = 1000164000,
467 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV = 1000164001,
468 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV = 1000164002,
469 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV = 1000164005,
470 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV = 1000165000,
471 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV = 1000165001,
472 VK_STRUCTURE_TYPE_GEOMETRY_NV = 1000165003,
473 VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV = 1000165004,
474 VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV = 1000165005,
475 VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV = 1000165006,
476 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV = 1000165007,
477 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV = 1000165008,
478 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV = 1000165009,
479 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV = 1000165011,
480 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV = 1000165012,
481 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV = 1000166000,
482 VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV = 1000166001,
483 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT = 1000170000,
484 VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT = 1000170001,
485 VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = 1000174000,
486 VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT = 1000178000,
487 VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT = 1000178001,
488 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT = 1000178002,
489 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR = 1000181000,
490 VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD = 1000183000,
491 VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT = 1000184000,
492 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD = 1000185000,
493 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD = 1000189000,
494 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT = 1000190000,
495 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT = 1000190001,
496 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT = 1000190002,
497 VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP = 1000191000,
498 VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT = 1000192000,
499 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV = 1000201000,
500 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV = 1000202000,
501 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV = 1000202001,
502 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV = 1000203000,
503 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV = 1000204000,
504 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV = 1000205000,
505 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV = 1000205002,
506 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV = 1000206000,
507 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV = 1000206001,
508 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL = 1000209000,
509 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL = 1000210000,
510 VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL = 1000210001,
511 VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL = 1000210002,
512 VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL = 1000210003,
513 VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL = 1000210004,
514 VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL = 1000210005,
515 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT = 1000212000,
516 VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD = 1000213000,
517 VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD = 1000213001,
518 VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA = 1000214000,
519 VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT = 1000217000,
520 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT = 1000218000,
521 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT = 1000218001,
522 VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT = 1000218002,
523 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT = 1000225000,
524 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = 1000225001,
525 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT = 1000225002,
526 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD = 1000227000,
527 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD = 1000229000,
528 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT = 1000237000,
529 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT = 1000238000,
530 VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT = 1000238001,
531 VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR = 1000239000,
532 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV = 1000240000,
533 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT = 1000244000,
534 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT = 1000244002,
535 VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT = 1000247000,
536 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV = 1000249000,
537 VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249001,
538 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249002,
539 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV = 1000250000,
540 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV = 1000250001,
541 VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV = 1000250002,
542 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT = 1000251000,
543 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT = 1000252000,
544 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT = 1000255000,
545 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT = 1000255002,
546 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT = 1000255001,
547 VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT = 1000256000,
548 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT = 1000259000,
549 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT = 1000259001,
550 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT = 1000259002,
551 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT = 1000265000,
552 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR = 1000269000,
553 VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR = 1000269001,
554 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR = 1000269002,
555 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR = 1000269003,
556 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR = 1000269004,
557 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR = 1000269005,
558 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = 1000276000,
559 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT = 1000281000,
560 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT = 1000281001,
561 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
562 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
563 VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
564 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO,
565 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES,
566 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,
567 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2,
568 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2,
569 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2,
570 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2,
571 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2,
572 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2,
573 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2,
574 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2,
575 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2,
576 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO,
577 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO,
578 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO,
579 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO,
580 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO,
581 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO,
582 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO,
583 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES,
584 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO,
585 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO,
586 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES,
587 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO,
588 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES,
589 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES,
590 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO,
591 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO,
592 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO,
593 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO,
594 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES,
595 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO,
596 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
597 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
598 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES,
599 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO,
600 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT,
601 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES,
602 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO,
603 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO,
604 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO,
605 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2,
606 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2,
607 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2,
608 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2,
609 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2,
610 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO,
611 VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_END_INFO,
612 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO,
613 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES,
614 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO,
615 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES,
616 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO,
617 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO,
618 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO,
619 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES,
620 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES,
621 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS,
622 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO,
623 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES,
624 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO,
625 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2,
626 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2,
627 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2,
628 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2,
629 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2,
630 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO,
631 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO,
632 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO,
633 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO,
634 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO,
635 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,
636 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,
637 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO,
638 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO,
639 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO,
640 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES,
641 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES,
642 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO,
643 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT,
644 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,
645 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT,
646 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES,
647 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES,
648 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES,
649 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES,
650 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES,
651 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES,
652 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE,
653 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES,
654 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES,
655 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO,
656 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO,
657 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO,
658 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO,
659 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES,
660 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES,
661 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES,
662 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT,
663 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT,
664 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT,
665 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
666 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO,
667 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES,
668 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES,
669 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
670 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO,
671 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO,
672 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO,
673 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES,
674 VK_STRUCTURE_TYPE_BEGIN_RANGE = VK_STRUCTURE_TYPE_APPLICATION_INFO,
675 VK_STRUCTURE_TYPE_END_RANGE = VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO,
676 VK_STRUCTURE_TYPE_RANGE_SIZE = (VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO - VK_STRUCTURE_TYPE_APPLICATION_INFO + 1),
677 VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF
680 typedef enum VkSystemAllocationScope {
681 VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0,
682 VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1,
683 VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2,
684 VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3,
685 VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4,
686 VK_SYSTEM_ALLOCATION_SCOPE_BEGIN_RANGE = VK_SYSTEM_ALLOCATION_SCOPE_COMMAND,
687 VK_SYSTEM_ALLOCATION_SCOPE_END_RANGE = VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE,
688 VK_SYSTEM_ALLOCATION_SCOPE_RANGE_SIZE = (VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE - VK_SYSTEM_ALLOCATION_SCOPE_COMMAND + 1),
689 VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = 0x7FFFFFFF
690 } VkSystemAllocationScope;
692 typedef enum VkInternalAllocationType {
693 VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0,
694 VK_INTERNAL_ALLOCATION_TYPE_BEGIN_RANGE = VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE,
695 VK_INTERNAL_ALLOCATION_TYPE_END_RANGE = VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE,
696 VK_INTERNAL_ALLOCATION_TYPE_RANGE_SIZE = (VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE - VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE + 1),
697 VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM = 0x7FFFFFFF
698 } VkInternalAllocationType;
700 typedef enum VkFormat {
701 VK_FORMAT_UNDEFINED = 0,
702 VK_FORMAT_R4G4_UNORM_PACK8 = 1,
703 VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2,
704 VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3,
705 VK_FORMAT_R5G6B5_UNORM_PACK16 = 4,
706 VK_FORMAT_B5G6R5_UNORM_PACK16 = 5,
707 VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6,
708 VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7,
709 VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8,
710 VK_FORMAT_R8_UNORM = 9,
711 VK_FORMAT_R8_SNORM = 10,
712 VK_FORMAT_R8_USCALED = 11,
713 VK_FORMAT_R8_SSCALED = 12,
714 VK_FORMAT_R8_UINT = 13,
715 VK_FORMAT_R8_SINT = 14,
716 VK_FORMAT_R8_SRGB = 15,
717 VK_FORMAT_R8G8_UNORM = 16,
718 VK_FORMAT_R8G8_SNORM = 17,
719 VK_FORMAT_R8G8_USCALED = 18,
720 VK_FORMAT_R8G8_SSCALED = 19,
721 VK_FORMAT_R8G8_UINT = 20,
722 VK_FORMAT_R8G8_SINT = 21,
723 VK_FORMAT_R8G8_SRGB = 22,
724 VK_FORMAT_R8G8B8_UNORM = 23,
725 VK_FORMAT_R8G8B8_SNORM = 24,
726 VK_FORMAT_R8G8B8_USCALED = 25,
727 VK_FORMAT_R8G8B8_SSCALED = 26,
728 VK_FORMAT_R8G8B8_UINT = 27,
729 VK_FORMAT_R8G8B8_SINT = 28,
730 VK_FORMAT_R8G8B8_SRGB = 29,
731 VK_FORMAT_B8G8R8_UNORM = 30,
732 VK_FORMAT_B8G8R8_SNORM = 31,
733 VK_FORMAT_B8G8R8_USCALED = 32,
734 VK_FORMAT_B8G8R8_SSCALED = 33,
735 VK_FORMAT_B8G8R8_UINT = 34,
736 VK_FORMAT_B8G8R8_SINT = 35,
737 VK_FORMAT_B8G8R8_SRGB = 36,
738 VK_FORMAT_R8G8B8A8_UNORM = 37,
739 VK_FORMAT_R8G8B8A8_SNORM = 38,
740 VK_FORMAT_R8G8B8A8_USCALED = 39,
741 VK_FORMAT_R8G8B8A8_SSCALED = 40,
742 VK_FORMAT_R8G8B8A8_UINT = 41,
743 VK_FORMAT_R8G8B8A8_SINT = 42,
744 VK_FORMAT_R8G8B8A8_SRGB = 43,
745 VK_FORMAT_B8G8R8A8_UNORM = 44,
746 VK_FORMAT_B8G8R8A8_SNORM = 45,
747 VK_FORMAT_B8G8R8A8_USCALED = 46,
748 VK_FORMAT_B8G8R8A8_SSCALED = 47,
749 VK_FORMAT_B8G8R8A8_UINT = 48,
750 VK_FORMAT_B8G8R8A8_SINT = 49,
751 VK_FORMAT_B8G8R8A8_SRGB = 50,
752 VK_FORMAT_A8B8G8R8_UNORM_PACK32 = 51,
753 VK_FORMAT_A8B8G8R8_SNORM_PACK32 = 52,
754 VK_FORMAT_A8B8G8R8_USCALED_PACK32 = 53,
755 VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54,
756 VK_FORMAT_A8B8G8R8_UINT_PACK32 = 55,
757 VK_FORMAT_A8B8G8R8_SINT_PACK32 = 56,
758 VK_FORMAT_A8B8G8R8_SRGB_PACK32 = 57,
759 VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58,
760 VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59,
761 VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 60,
762 VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61,
763 VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62,
764 VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63,
765 VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64,
766 VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65,
767 VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 66,
768 VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67,
769 VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68,
770 VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69,
771 VK_FORMAT_R16_UNORM = 70,
772 VK_FORMAT_R16_SNORM = 71,
773 VK_FORMAT_R16_USCALED = 72,
774 VK_FORMAT_R16_SSCALED = 73,
775 VK_FORMAT_R16_UINT = 74,
776 VK_FORMAT_R16_SINT = 75,
777 VK_FORMAT_R16_SFLOAT = 76,
778 VK_FORMAT_R16G16_UNORM = 77,
779 VK_FORMAT_R16G16_SNORM = 78,
780 VK_FORMAT_R16G16_USCALED = 79,
781 VK_FORMAT_R16G16_SSCALED = 80,
782 VK_FORMAT_R16G16_UINT = 81,
783 VK_FORMAT_R16G16_SINT = 82,
784 VK_FORMAT_R16G16_SFLOAT = 83,
785 VK_FORMAT_R16G16B16_UNORM = 84,
786 VK_FORMAT_R16G16B16_SNORM = 85,
787 VK_FORMAT_R16G16B16_USCALED = 86,
788 VK_FORMAT_R16G16B16_SSCALED = 87,
789 VK_FORMAT_R16G16B16_UINT = 88,
790 VK_FORMAT_R16G16B16_SINT = 89,
791 VK_FORMAT_R16G16B16_SFLOAT = 90,
792 VK_FORMAT_R16G16B16A16_UNORM = 91,
793 VK_FORMAT_R16G16B16A16_SNORM = 92,
794 VK_FORMAT_R16G16B16A16_USCALED = 93,
795 VK_FORMAT_R16G16B16A16_SSCALED = 94,
796 VK_FORMAT_R16G16B16A16_UINT = 95,
797 VK_FORMAT_R16G16B16A16_SINT = 96,
798 VK_FORMAT_R16G16B16A16_SFLOAT = 97,
799 VK_FORMAT_R32_UINT = 98,
800 VK_FORMAT_R32_SINT = 99,
801 VK_FORMAT_R32_SFLOAT = 100,
802 VK_FORMAT_R32G32_UINT = 101,
803 VK_FORMAT_R32G32_SINT = 102,
804 VK_FORMAT_R32G32_SFLOAT = 103,
805 VK_FORMAT_R32G32B32_UINT = 104,
806 VK_FORMAT_R32G32B32_SINT = 105,
807 VK_FORMAT_R32G32B32_SFLOAT = 106,
808 VK_FORMAT_R32G32B32A32_UINT = 107,
809 VK_FORMAT_R32G32B32A32_SINT = 108,
810 VK_FORMAT_R32G32B32A32_SFLOAT = 109,
811 VK_FORMAT_R64_UINT = 110,
812 VK_FORMAT_R64_SINT = 111,
813 VK_FORMAT_R64_SFLOAT = 112,
814 VK_FORMAT_R64G64_UINT = 113,
815 VK_FORMAT_R64G64_SINT = 114,
816 VK_FORMAT_R64G64_SFLOAT = 115,
817 VK_FORMAT_R64G64B64_UINT = 116,
818 VK_FORMAT_R64G64B64_SINT = 117,
819 VK_FORMAT_R64G64B64_SFLOAT = 118,
820 VK_FORMAT_R64G64B64A64_UINT = 119,
821 VK_FORMAT_R64G64B64A64_SINT = 120,
822 VK_FORMAT_R64G64B64A64_SFLOAT = 121,
823 VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122,
824 VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123,
825 VK_FORMAT_D16_UNORM = 124,
826 VK_FORMAT_X8_D24_UNORM_PACK32 = 125,
827 VK_FORMAT_D32_SFLOAT = 126,
828 VK_FORMAT_S8_UINT = 127,
829 VK_FORMAT_D16_UNORM_S8_UINT = 128,
830 VK_FORMAT_D24_UNORM_S8_UINT = 129,
831 VK_FORMAT_D32_SFLOAT_S8_UINT = 130,
832 VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131,
833 VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132,
834 VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133,
835 VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134,
836 VK_FORMAT_BC2_UNORM_BLOCK = 135,
837 VK_FORMAT_BC2_SRGB_BLOCK = 136,
838 VK_FORMAT_BC3_UNORM_BLOCK = 137,
839 VK_FORMAT_BC3_SRGB_BLOCK = 138,
840 VK_FORMAT_BC4_UNORM_BLOCK = 139,
841 VK_FORMAT_BC4_SNORM_BLOCK = 140,
842 VK_FORMAT_BC5_UNORM_BLOCK = 141,
843 VK_FORMAT_BC5_SNORM_BLOCK = 142,
844 VK_FORMAT_BC6H_UFLOAT_BLOCK = 143,
845 VK_FORMAT_BC6H_SFLOAT_BLOCK = 144,
846 VK_FORMAT_BC7_UNORM_BLOCK = 145,
847 VK_FORMAT_BC7_SRGB_BLOCK = 146,
848 VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147,
849 VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148,
850 VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149,
851 VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150,
852 VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151,
853 VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152,
854 VK_FORMAT_EAC_R11_UNORM_BLOCK = 153,
855 VK_FORMAT_EAC_R11_SNORM_BLOCK = 154,
856 VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155,
857 VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156,
858 VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157,
859 VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158,
860 VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159,
861 VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160,
862 VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161,
863 VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162,
864 VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163,
865 VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164,
866 VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165,
867 VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166,
868 VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167,
869 VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168,
870 VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169,
871 VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170,
872 VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171,
873 VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172,
874 VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173,
875 VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174,
876 VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175,
877 VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176,
878 VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177,
879 VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178,
880 VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179,
881 VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180,
882 VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181,
883 VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182,
884 VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183,
885 VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184,
886 VK_FORMAT_G8B8G8R8_422_UNORM = 1000156000,
887 VK_FORMAT_B8G8R8G8_422_UNORM = 1000156001,
888 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM = 1000156002,
889 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM = 1000156003,
890 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM = 1000156004,
891 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM = 1000156005,
892 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM = 1000156006,
893 VK_FORMAT_R10X6_UNORM_PACK16 = 1000156007,
894 VK_FORMAT_R10X6G10X6_UNORM_2PACK16 = 1000156008,
895 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 1000156009,
896 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 1000156010,
897 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 1000156011,
898 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 1000156012,
899 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 1000156013,
900 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 1000156014,
901 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 1000156015,
902 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 1000156016,
903 VK_FORMAT_R12X4_UNORM_PACK16 = 1000156017,
904 VK_FORMAT_R12X4G12X4_UNORM_2PACK16 = 1000156018,
905 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 1000156019,
906 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 1000156020,
907 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 1000156021,
908 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 1000156022,
909 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 1000156023,
910 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 1000156024,
911 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 1000156025,
912 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 1000156026,
913 VK_FORMAT_G16B16G16R16_422_UNORM = 1000156027,
914 VK_FORMAT_B16G16R16G16_422_UNORM = 1000156028,
915 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM = 1000156029,
916 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM = 1000156030,
917 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM = 1000156031,
918 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM = 1000156032,
919 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM = 1000156033,
920 VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG = 1000054000,
921 VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001,
922 VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = 1000054002,
923 VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG = 1000054003,
924 VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG = 1000054004,
925 VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005,
926 VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006,
927 VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007,
928 VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT = 1000066000,
929 VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT = 1000066001,
930 VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT = 1000066002,
931 VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT = 1000066003,
932 VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT = 1000066004,
933 VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT = 1000066005,
934 VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT = 1000066006,
935 VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT = 1000066007,
936 VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT = 1000066008,
937 VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT = 1000066009,
938 VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT = 1000066010,
939 VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT = 1000066011,
940 VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT = 1000066012,
941 VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT = 1000066013,
942 VK_FORMAT_G8B8G8R8_422_UNORM_KHR = VK_FORMAT_G8B8G8R8_422_UNORM,
943 VK_FORMAT_B8G8R8G8_422_UNORM_KHR = VK_FORMAT_B8G8R8G8_422_UNORM,
944 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM,
945 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM,
946 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM,
947 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM,
948 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM,
949 VK_FORMAT_R10X6_UNORM_PACK16_KHR = VK_FORMAT_R10X6_UNORM_PACK16,
950 VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR = VK_FORMAT_R10X6G10X6_UNORM_2PACK16,
951 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16,
952 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16,
953 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16,
954 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16,
955 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16,
956 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16,
957 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16,
958 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16,
959 VK_FORMAT_R12X4_UNORM_PACK16_KHR = VK_FORMAT_R12X4_UNORM_PACK16,
960 VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR = VK_FORMAT_R12X4G12X4_UNORM_2PACK16,
961 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16,
962 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16,
963 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16,
964 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16,
965 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16,
966 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16,
967 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16,
968 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16,
969 VK_FORMAT_G16B16G16R16_422_UNORM_KHR = VK_FORMAT_G16B16G16R16_422_UNORM,
970 VK_FORMAT_B16G16R16G16_422_UNORM_KHR = VK_FORMAT_B16G16R16G16_422_UNORM,
971 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM,
972 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM,
973 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM,
974 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM,
975 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM,
976 VK_FORMAT_BEGIN_RANGE = VK_FORMAT_UNDEFINED,
977 VK_FORMAT_END_RANGE = VK_FORMAT_ASTC_12x12_SRGB_BLOCK,
978 VK_FORMAT_RANGE_SIZE = (VK_FORMAT_ASTC_12x12_SRGB_BLOCK - VK_FORMAT_UNDEFINED + 1),
979 VK_FORMAT_MAX_ENUM = 0x7FFFFFFF
982 typedef enum VkImageType {
983 VK_IMAGE_TYPE_1D = 0,
984 VK_IMAGE_TYPE_2D = 1,
985 VK_IMAGE_TYPE_3D = 2,
986 VK_IMAGE_TYPE_BEGIN_RANGE = VK_IMAGE_TYPE_1D,
987 VK_IMAGE_TYPE_END_RANGE = VK_IMAGE_TYPE_3D,
988 VK_IMAGE_TYPE_RANGE_SIZE = (VK_IMAGE_TYPE_3D - VK_IMAGE_TYPE_1D + 1),
989 VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF
992 typedef enum VkImageTiling {
993 VK_IMAGE_TILING_OPTIMAL = 0,
994 VK_IMAGE_TILING_LINEAR = 1,
995 VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT = 1000158000,
996 VK_IMAGE_TILING_BEGIN_RANGE = VK_IMAGE_TILING_OPTIMAL,
997 VK_IMAGE_TILING_END_RANGE = VK_IMAGE_TILING_LINEAR,
998 VK_IMAGE_TILING_RANGE_SIZE = (VK_IMAGE_TILING_LINEAR - VK_IMAGE_TILING_OPTIMAL + 1),
999 VK_IMAGE_TILING_MAX_ENUM = 0x7FFFFFFF
1002 typedef enum VkPhysicalDeviceType {
1003 VK_PHYSICAL_DEVICE_TYPE_OTHER = 0,
1004 VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1,
1005 VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2,
1006 VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3,
1007 VK_PHYSICAL_DEVICE_TYPE_CPU = 4,
1008 VK_PHYSICAL_DEVICE_TYPE_BEGIN_RANGE = VK_PHYSICAL_DEVICE_TYPE_OTHER,
1009 VK_PHYSICAL_DEVICE_TYPE_END_RANGE = VK_PHYSICAL_DEVICE_TYPE_CPU,
1010 VK_PHYSICAL_DEVICE_TYPE_RANGE_SIZE = (VK_PHYSICAL_DEVICE_TYPE_CPU - VK_PHYSICAL_DEVICE_TYPE_OTHER + 1),
1011 VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM = 0x7FFFFFFF
1012 } VkPhysicalDeviceType;
1014 typedef enum VkQueryType {
1015 VK_QUERY_TYPE_OCCLUSION = 0,
1016 VK_QUERY_TYPE_PIPELINE_STATISTICS = 1,
1017 VK_QUERY_TYPE_TIMESTAMP = 2,
1018 VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT = 1000028004,
1019 VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR = 1000116000,
1020 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV = 1000165000,
1021 VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL = 1000210000,
1022 VK_QUERY_TYPE_BEGIN_RANGE = VK_QUERY_TYPE_OCCLUSION,
1023 VK_QUERY_TYPE_END_RANGE = VK_QUERY_TYPE_TIMESTAMP,
1024 VK_QUERY_TYPE_RANGE_SIZE = (VK_QUERY_TYPE_TIMESTAMP - VK_QUERY_TYPE_OCCLUSION + 1),
1025 VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF
1028 typedef enum VkSharingMode {
1029 VK_SHARING_MODE_EXCLUSIVE = 0,
1030 VK_SHARING_MODE_CONCURRENT = 1,
1031 VK_SHARING_MODE_BEGIN_RANGE = VK_SHARING_MODE_EXCLUSIVE,
1032 VK_SHARING_MODE_END_RANGE = VK_SHARING_MODE_CONCURRENT,
1033 VK_SHARING_MODE_RANGE_SIZE = (VK_SHARING_MODE_CONCURRENT - VK_SHARING_MODE_EXCLUSIVE + 1),
1034 VK_SHARING_MODE_MAX_ENUM = 0x7FFFFFFF
1037 typedef enum VkImageLayout {
1038 VK_IMAGE_LAYOUT_UNDEFINED = 0,
1039 VK_IMAGE_LAYOUT_GENERAL = 1,
1040 VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2,
1041 VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3,
1042 VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4,
1043 VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5,
1044 VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6,
1045 VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7,
1046 VK_IMAGE_LAYOUT_PREINITIALIZED = 8,
1047 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL = 1000117000,
1048 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL = 1000117001,
1049 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL = 1000241000,
1050 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL = 1000241001,
1051 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL = 1000241002,
1052 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL = 1000241003,
1053 VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002,
1054 VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR = 1000111000,
1055 VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = 1000164003,
1056 VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000,
1057 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,
1058 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,
1059 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
1060 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
1061 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL,
1062 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL,
1063 VK_IMAGE_LAYOUT_BEGIN_RANGE = VK_IMAGE_LAYOUT_UNDEFINED,
1064 VK_IMAGE_LAYOUT_END_RANGE = VK_IMAGE_LAYOUT_PREINITIALIZED,
1065 VK_IMAGE_LAYOUT_RANGE_SIZE = (VK_IMAGE_LAYOUT_PREINITIALIZED - VK_IMAGE_LAYOUT_UNDEFINED + 1),
1066 VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF
1069 typedef enum VkImageViewType {
1070 VK_IMAGE_VIEW_TYPE_1D = 0,
1071 VK_IMAGE_VIEW_TYPE_2D = 1,
1072 VK_IMAGE_VIEW_TYPE_3D = 2,
1073 VK_IMAGE_VIEW_TYPE_CUBE = 3,
1074 VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4,
1075 VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5,
1076 VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6,
1077 VK_IMAGE_VIEW_TYPE_BEGIN_RANGE = VK_IMAGE_VIEW_TYPE_1D,
1078 VK_IMAGE_VIEW_TYPE_END_RANGE = VK_IMAGE_VIEW_TYPE_CUBE_ARRAY,
1079 VK_IMAGE_VIEW_TYPE_RANGE_SIZE = (VK_IMAGE_VIEW_TYPE_CUBE_ARRAY - VK_IMAGE_VIEW_TYPE_1D + 1),
1080 VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7FFFFFFF
1083 typedef enum VkComponentSwizzle {
1084 VK_COMPONENT_SWIZZLE_IDENTITY = 0,
1085 VK_COMPONENT_SWIZZLE_ZERO = 1,
1086 VK_COMPONENT_SWIZZLE_ONE = 2,
1087 VK_COMPONENT_SWIZZLE_R = 3,
1088 VK_COMPONENT_SWIZZLE_G = 4,
1089 VK_COMPONENT_SWIZZLE_B = 5,
1090 VK_COMPONENT_SWIZZLE_A = 6,
1091 VK_COMPONENT_SWIZZLE_BEGIN_RANGE = VK_COMPONENT_SWIZZLE_IDENTITY,
1092 VK_COMPONENT_SWIZZLE_END_RANGE = VK_COMPONENT_SWIZZLE_A,
1093 VK_COMPONENT_SWIZZLE_RANGE_SIZE = (VK_COMPONENT_SWIZZLE_A - VK_COMPONENT_SWIZZLE_IDENTITY + 1),
1094 VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF
1095 } VkComponentSwizzle;
1097 typedef enum VkVertexInputRate {
1098 VK_VERTEX_INPUT_RATE_VERTEX = 0,
1099 VK_VERTEX_INPUT_RATE_INSTANCE = 1,
1100 VK_VERTEX_INPUT_RATE_BEGIN_RANGE = VK_VERTEX_INPUT_RATE_VERTEX,
1101 VK_VERTEX_INPUT_RATE_END_RANGE = VK_VERTEX_INPUT_RATE_INSTANCE,
1102 VK_VERTEX_INPUT_RATE_RANGE_SIZE = (VK_VERTEX_INPUT_RATE_INSTANCE - VK_VERTEX_INPUT_RATE_VERTEX + 1),
1103 VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF
1104 } VkVertexInputRate;
1106 typedef enum VkPrimitiveTopology {
1107 VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0,
1108 VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1,
1109 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2,
1110 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3,
1111 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4,
1112 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5,
1113 VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6,
1114 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7,
1115 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8,
1116 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9,
1117 VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10,
1118 VK_PRIMITIVE_TOPOLOGY_BEGIN_RANGE = VK_PRIMITIVE_TOPOLOGY_POINT_LIST,
1119 VK_PRIMITIVE_TOPOLOGY_END_RANGE = VK_PRIMITIVE_TOPOLOGY_PATCH_LIST,
1120 VK_PRIMITIVE_TOPOLOGY_RANGE_SIZE = (VK_PRIMITIVE_TOPOLOGY_PATCH_LIST - VK_PRIMITIVE_TOPOLOGY_POINT_LIST + 1),
1121 VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7FFFFFFF
1122 } VkPrimitiveTopology;
1124 typedef enum VkPolygonMode {
1125 VK_POLYGON_MODE_FILL = 0,
1126 VK_POLYGON_MODE_LINE = 1,
1127 VK_POLYGON_MODE_POINT = 2,
1128 VK_POLYGON_MODE_FILL_RECTANGLE_NV = 1000153000,
1129 VK_POLYGON_MODE_BEGIN_RANGE = VK_POLYGON_MODE_FILL,
1130 VK_POLYGON_MODE_END_RANGE = VK_POLYGON_MODE_POINT,
1131 VK_POLYGON_MODE_RANGE_SIZE = (VK_POLYGON_MODE_POINT - VK_POLYGON_MODE_FILL + 1),
1132 VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF
1135 typedef enum VkFrontFace {
1136 VK_FRONT_FACE_COUNTER_CLOCKWISE = 0,
1137 VK_FRONT_FACE_CLOCKWISE = 1,
1138 VK_FRONT_FACE_BEGIN_RANGE = VK_FRONT_FACE_COUNTER_CLOCKWISE,
1139 VK_FRONT_FACE_END_RANGE = VK_FRONT_FACE_CLOCKWISE,
1140 VK_FRONT_FACE_RANGE_SIZE = (VK_FRONT_FACE_CLOCKWISE - VK_FRONT_FACE_COUNTER_CLOCKWISE + 1),
1141 VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF
1144 typedef enum VkCompareOp {
1145 VK_COMPARE_OP_NEVER = 0,
1146 VK_COMPARE_OP_LESS = 1,
1147 VK_COMPARE_OP_EQUAL = 2,
1148 VK_COMPARE_OP_LESS_OR_EQUAL = 3,
1149 VK_COMPARE_OP_GREATER = 4,
1150 VK_COMPARE_OP_NOT_EQUAL = 5,
1151 VK_COMPARE_OP_GREATER_OR_EQUAL = 6,
1152 VK_COMPARE_OP_ALWAYS = 7,
1153 VK_COMPARE_OP_BEGIN_RANGE = VK_COMPARE_OP_NEVER,
1154 VK_COMPARE_OP_END_RANGE = VK_COMPARE_OP_ALWAYS,
1155 VK_COMPARE_OP_RANGE_SIZE = (VK_COMPARE_OP_ALWAYS - VK_COMPARE_OP_NEVER + 1),
1156 VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF
1159 typedef enum VkStencilOp {
1160 VK_STENCIL_OP_KEEP = 0,
1161 VK_STENCIL_OP_ZERO = 1,
1162 VK_STENCIL_OP_REPLACE = 2,
1163 VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3,
1164 VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4,
1165 VK_STENCIL_OP_INVERT = 5,
1166 VK_STENCIL_OP_INCREMENT_AND_WRAP = 6,
1167 VK_STENCIL_OP_DECREMENT_AND_WRAP = 7,
1168 VK_STENCIL_OP_BEGIN_RANGE = VK_STENCIL_OP_KEEP,
1169 VK_STENCIL_OP_END_RANGE = VK_STENCIL_OP_DECREMENT_AND_WRAP,
1170 VK_STENCIL_OP_RANGE_SIZE = (VK_STENCIL_OP_DECREMENT_AND_WRAP - VK_STENCIL_OP_KEEP + 1),
1171 VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF
1174 typedef enum VkLogicOp {
1175 VK_LOGIC_OP_CLEAR = 0,
1176 VK_LOGIC_OP_AND = 1,
1177 VK_LOGIC_OP_AND_REVERSE = 2,
1178 VK_LOGIC_OP_COPY = 3,
1179 VK_LOGIC_OP_AND_INVERTED = 4,
1180 VK_LOGIC_OP_NO_OP = 5,
1181 VK_LOGIC_OP_XOR = 6,
1183 VK_LOGIC_OP_NOR = 8,
1184 VK_LOGIC_OP_EQUIVALENT = 9,
1185 VK_LOGIC_OP_INVERT = 10,
1186 VK_LOGIC_OP_OR_REVERSE = 11,
1187 VK_LOGIC_OP_COPY_INVERTED = 12,
1188 VK_LOGIC_OP_OR_INVERTED = 13,
1189 VK_LOGIC_OP_NAND = 14,
1190 VK_LOGIC_OP_SET = 15,
1191 VK_LOGIC_OP_BEGIN_RANGE = VK_LOGIC_OP_CLEAR,
1192 VK_LOGIC_OP_END_RANGE = VK_LOGIC_OP_SET,
1193 VK_LOGIC_OP_RANGE_SIZE = (VK_LOGIC_OP_SET - VK_LOGIC_OP_CLEAR + 1),
1194 VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF
1197 typedef enum VkBlendFactor {
1198 VK_BLEND_FACTOR_ZERO = 0,
1199 VK_BLEND_FACTOR_ONE = 1,
1200 VK_BLEND_FACTOR_SRC_COLOR = 2,
1201 VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3,
1202 VK_BLEND_FACTOR_DST_COLOR = 4,
1203 VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5,
1204 VK_BLEND_FACTOR_SRC_ALPHA = 6,
1205 VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7,
1206 VK_BLEND_FACTOR_DST_ALPHA = 8,
1207 VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9,
1208 VK_BLEND_FACTOR_CONSTANT_COLOR = 10,
1209 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11,
1210 VK_BLEND_FACTOR_CONSTANT_ALPHA = 12,
1211 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13,
1212 VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14,
1213 VK_BLEND_FACTOR_SRC1_COLOR = 15,
1214 VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16,
1215 VK_BLEND_FACTOR_SRC1_ALPHA = 17,
1216 VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18,
1217 VK_BLEND_FACTOR_BEGIN_RANGE = VK_BLEND_FACTOR_ZERO,
1218 VK_BLEND_FACTOR_END_RANGE = VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA,
1219 VK_BLEND_FACTOR_RANGE_SIZE = (VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA - VK_BLEND_FACTOR_ZERO + 1),
1220 VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF
1223 typedef enum VkBlendOp {
1224 VK_BLEND_OP_ADD = 0,
1225 VK_BLEND_OP_SUBTRACT = 1,
1226 VK_BLEND_OP_REVERSE_SUBTRACT = 2,
1227 VK_BLEND_OP_MIN = 3,
1228 VK_BLEND_OP_MAX = 4,
1229 VK_BLEND_OP_ZERO_EXT = 1000148000,
1230 VK_BLEND_OP_SRC_EXT = 1000148001,
1231 VK_BLEND_OP_DST_EXT = 1000148002,
1232 VK_BLEND_OP_SRC_OVER_EXT = 1000148003,
1233 VK_BLEND_OP_DST_OVER_EXT = 1000148004,
1234 VK_BLEND_OP_SRC_IN_EXT = 1000148005,
1235 VK_BLEND_OP_DST_IN_EXT = 1000148006,
1236 VK_BLEND_OP_SRC_OUT_EXT = 1000148007,
1237 VK_BLEND_OP_DST_OUT_EXT = 1000148008,
1238 VK_BLEND_OP_SRC_ATOP_EXT = 1000148009,
1239 VK_BLEND_OP_DST_ATOP_EXT = 1000148010,
1240 VK_BLEND_OP_XOR_EXT = 1000148011,
1241 VK_BLEND_OP_MULTIPLY_EXT = 1000148012,
1242 VK_BLEND_OP_SCREEN_EXT = 1000148013,
1243 VK_BLEND_OP_OVERLAY_EXT = 1000148014,
1244 VK_BLEND_OP_DARKEN_EXT = 1000148015,
1245 VK_BLEND_OP_LIGHTEN_EXT = 1000148016,
1246 VK_BLEND_OP_COLORDODGE_EXT = 1000148017,
1247 VK_BLEND_OP_COLORBURN_EXT = 1000148018,
1248 VK_BLEND_OP_HARDLIGHT_EXT = 1000148019,
1249 VK_BLEND_OP_SOFTLIGHT_EXT = 1000148020,
1250 VK_BLEND_OP_DIFFERENCE_EXT = 1000148021,
1251 VK_BLEND_OP_EXCLUSION_EXT = 1000148022,
1252 VK_BLEND_OP_INVERT_EXT = 1000148023,
1253 VK_BLEND_OP_INVERT_RGB_EXT = 1000148024,
1254 VK_BLEND_OP_LINEARDODGE_EXT = 1000148025,
1255 VK_BLEND_OP_LINEARBURN_EXT = 1000148026,
1256 VK_BLEND_OP_VIVIDLIGHT_EXT = 1000148027,
1257 VK_BLEND_OP_LINEARLIGHT_EXT = 1000148028,
1258 VK_BLEND_OP_PINLIGHT_EXT = 1000148029,
1259 VK_BLEND_OP_HARDMIX_EXT = 1000148030,
1260 VK_BLEND_OP_HSL_HUE_EXT = 1000148031,
1261 VK_BLEND_OP_HSL_SATURATION_EXT = 1000148032,
1262 VK_BLEND_OP_HSL_COLOR_EXT = 1000148033,
1263 VK_BLEND_OP_HSL_LUMINOSITY_EXT = 1000148034,
1264 VK_BLEND_OP_PLUS_EXT = 1000148035,
1265 VK_BLEND_OP_PLUS_CLAMPED_EXT = 1000148036,
1266 VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT = 1000148037,
1267 VK_BLEND_OP_PLUS_DARKER_EXT = 1000148038,
1268 VK_BLEND_OP_MINUS_EXT = 1000148039,
1269 VK_BLEND_OP_MINUS_CLAMPED_EXT = 1000148040,
1270 VK_BLEND_OP_CONTRAST_EXT = 1000148041,
1271 VK_BLEND_OP_INVERT_OVG_EXT = 1000148042,
1272 VK_BLEND_OP_RED_EXT = 1000148043,
1273 VK_BLEND_OP_GREEN_EXT = 1000148044,
1274 VK_BLEND_OP_BLUE_EXT = 1000148045,
1275 VK_BLEND_OP_BEGIN_RANGE = VK_BLEND_OP_ADD,
1276 VK_BLEND_OP_END_RANGE = VK_BLEND_OP_MAX,
1277 VK_BLEND_OP_RANGE_SIZE = (VK_BLEND_OP_MAX - VK_BLEND_OP_ADD + 1),
1278 VK_BLEND_OP_MAX_ENUM = 0x7FFFFFFF
1281 typedef enum VkDynamicState {
1282 VK_DYNAMIC_STATE_VIEWPORT = 0,
1283 VK_DYNAMIC_STATE_SCISSOR = 1,
1284 VK_DYNAMIC_STATE_LINE_WIDTH = 2,
1285 VK_DYNAMIC_STATE_DEPTH_BIAS = 3,
1286 VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4,
1287 VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5,
1288 VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6,
1289 VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7,
1290 VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8,
1291 VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV = 1000087000,
1292 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000,
1293 VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT = 1000143000,
1294 VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV = 1000164004,
1295 VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV = 1000164006,
1296 VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV = 1000205001,
1297 VK_DYNAMIC_STATE_LINE_STIPPLE_EXT = 1000259000,
1298 VK_DYNAMIC_STATE_BEGIN_RANGE = VK_DYNAMIC_STATE_VIEWPORT,
1299 VK_DYNAMIC_STATE_END_RANGE = VK_DYNAMIC_STATE_STENCIL_REFERENCE,
1300 VK_DYNAMIC_STATE_RANGE_SIZE = (VK_DYNAMIC_STATE_STENCIL_REFERENCE - VK_DYNAMIC_STATE_VIEWPORT + 1),
1301 VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF
1304 typedef enum VkFilter {
1305 VK_FILTER_NEAREST = 0,
1306 VK_FILTER_LINEAR = 1,
1307 VK_FILTER_CUBIC_IMG = 1000015000,
1308 VK_FILTER_CUBIC_EXT = VK_FILTER_CUBIC_IMG,
1309 VK_FILTER_BEGIN_RANGE = VK_FILTER_NEAREST,
1310 VK_FILTER_END_RANGE = VK_FILTER_LINEAR,
1311 VK_FILTER_RANGE_SIZE = (VK_FILTER_LINEAR - VK_FILTER_NEAREST + 1),
1312 VK_FILTER_MAX_ENUM = 0x7FFFFFFF
1315 typedef enum VkSamplerMipmapMode {
1316 VK_SAMPLER_MIPMAP_MODE_NEAREST = 0,
1317 VK_SAMPLER_MIPMAP_MODE_LINEAR = 1,
1318 VK_SAMPLER_MIPMAP_MODE_BEGIN_RANGE = VK_SAMPLER_MIPMAP_MODE_NEAREST,
1319 VK_SAMPLER_MIPMAP_MODE_END_RANGE = VK_SAMPLER_MIPMAP_MODE_LINEAR,
1320 VK_SAMPLER_MIPMAP_MODE_RANGE_SIZE = (VK_SAMPLER_MIPMAP_MODE_LINEAR - VK_SAMPLER_MIPMAP_MODE_NEAREST + 1),
1321 VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF
1322 } VkSamplerMipmapMode;
1324 typedef enum VkSamplerAddressMode {
1325 VK_SAMPLER_ADDRESS_MODE_REPEAT = 0,
1326 VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1,
1327 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2,
1328 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3,
1329 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4,
1330 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE,
1331 VK_SAMPLER_ADDRESS_MODE_BEGIN_RANGE = VK_SAMPLER_ADDRESS_MODE_REPEAT,
1332 VK_SAMPLER_ADDRESS_MODE_END_RANGE = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER,
1333 VK_SAMPLER_ADDRESS_MODE_RANGE_SIZE = (VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER - VK_SAMPLER_ADDRESS_MODE_REPEAT + 1),
1334 VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = 0x7FFFFFFF
1335 } VkSamplerAddressMode;
1337 typedef enum VkBorderColor {
1338 VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0,
1339 VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1,
1340 VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2,
1341 VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3,
1342 VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4,
1343 VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5,
1344 VK_BORDER_COLOR_BEGIN_RANGE = VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK,
1345 VK_BORDER_COLOR_END_RANGE = VK_BORDER_COLOR_INT_OPAQUE_WHITE,
1346 VK_BORDER_COLOR_RANGE_SIZE = (VK_BORDER_COLOR_INT_OPAQUE_WHITE - VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK + 1),
1347 VK_BORDER_COLOR_MAX_ENUM = 0x7FFFFFFF
1350 typedef enum VkDescriptorType {
1351 VK_DESCRIPTOR_TYPE_SAMPLER = 0,
1352 VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1,
1353 VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2,
1354 VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3,
1355 VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4,
1356 VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5,
1357 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6,
1358 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7,
1359 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8,
1360 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9,
1361 VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10,
1362 VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT = 1000138000,
1363 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000,
1364 VK_DESCRIPTOR_TYPE_BEGIN_RANGE = VK_DESCRIPTOR_TYPE_SAMPLER,
1365 VK_DESCRIPTOR_TYPE_END_RANGE = VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT,
1366 VK_DESCRIPTOR_TYPE_RANGE_SIZE = (VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT - VK_DESCRIPTOR_TYPE_SAMPLER + 1),
1367 VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF
1370 typedef enum VkAttachmentLoadOp {
1371 VK_ATTACHMENT_LOAD_OP_LOAD = 0,
1372 VK_ATTACHMENT_LOAD_OP_CLEAR = 1,
1373 VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2,
1374 VK_ATTACHMENT_LOAD_OP_BEGIN_RANGE = VK_ATTACHMENT_LOAD_OP_LOAD,
1375 VK_ATTACHMENT_LOAD_OP_END_RANGE = VK_ATTACHMENT_LOAD_OP_DONT_CARE,
1376 VK_ATTACHMENT_LOAD_OP_RANGE_SIZE = (VK_ATTACHMENT_LOAD_OP_DONT_CARE - VK_ATTACHMENT_LOAD_OP_LOAD + 1),
1377 VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7FFFFFFF
1378 } VkAttachmentLoadOp;
1380 typedef enum VkAttachmentStoreOp {
1381 VK_ATTACHMENT_STORE_OP_STORE = 0,
1382 VK_ATTACHMENT_STORE_OP_DONT_CARE = 1,
1383 VK_ATTACHMENT_STORE_OP_BEGIN_RANGE = VK_ATTACHMENT_STORE_OP_STORE,
1384 VK_ATTACHMENT_STORE_OP_END_RANGE = VK_ATTACHMENT_STORE_OP_DONT_CARE,
1385 VK_ATTACHMENT_STORE_OP_RANGE_SIZE = (VK_ATTACHMENT_STORE_OP_DONT_CARE - VK_ATTACHMENT_STORE_OP_STORE + 1),
1386 VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF
1387 } VkAttachmentStoreOp;
1389 typedef enum VkPipelineBindPoint {
1390 VK_PIPELINE_BIND_POINT_GRAPHICS = 0,
1391 VK_PIPELINE_BIND_POINT_COMPUTE = 1,
1392 VK_PIPELINE_BIND_POINT_RAY_TRACING_NV = 1000165000,
1393 VK_PIPELINE_BIND_POINT_BEGIN_RANGE = VK_PIPELINE_BIND_POINT_GRAPHICS,
1394 VK_PIPELINE_BIND_POINT_END_RANGE = VK_PIPELINE_BIND_POINT_COMPUTE,
1395 VK_PIPELINE_BIND_POINT_RANGE_SIZE = (VK_PIPELINE_BIND_POINT_COMPUTE - VK_PIPELINE_BIND_POINT_GRAPHICS + 1),
1396 VK_PIPELINE_BIND_POINT_MAX_ENUM = 0x7FFFFFFF
1397 } VkPipelineBindPoint;
1399 typedef enum VkCommandBufferLevel {
1400 VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0,
1401 VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1,
1402 VK_COMMAND_BUFFER_LEVEL_BEGIN_RANGE = VK_COMMAND_BUFFER_LEVEL_PRIMARY,
1403 VK_COMMAND_BUFFER_LEVEL_END_RANGE = VK_COMMAND_BUFFER_LEVEL_SECONDARY,
1404 VK_COMMAND_BUFFER_LEVEL_RANGE_SIZE = (VK_COMMAND_BUFFER_LEVEL_SECONDARY - VK_COMMAND_BUFFER_LEVEL_PRIMARY + 1),
1405 VK_COMMAND_BUFFER_LEVEL_MAX_ENUM = 0x7FFFFFFF
1406 } VkCommandBufferLevel;
1408 typedef enum VkIndexType {
1409 VK_INDEX_TYPE_UINT16 = 0,
1410 VK_INDEX_TYPE_UINT32 = 1,
1411 VK_INDEX_TYPE_NONE_NV = 1000165000,
1412 VK_INDEX_TYPE_UINT8_EXT = 1000265000,
1413 VK_INDEX_TYPE_BEGIN_RANGE = VK_INDEX_TYPE_UINT16,
1414 VK_INDEX_TYPE_END_RANGE = VK_INDEX_TYPE_UINT32,
1415 VK_INDEX_TYPE_RANGE_SIZE = (VK_INDEX_TYPE_UINT32 - VK_INDEX_TYPE_UINT16 + 1),
1416 VK_INDEX_TYPE_MAX_ENUM = 0x7FFFFFFF
1419 typedef enum VkSubpassContents {
1420 VK_SUBPASS_CONTENTS_INLINE = 0,
1421 VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1,
1422 VK_SUBPASS_CONTENTS_BEGIN_RANGE = VK_SUBPASS_CONTENTS_INLINE,
1423 VK_SUBPASS_CONTENTS_END_RANGE = VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS,
1424 VK_SUBPASS_CONTENTS_RANGE_SIZE = (VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS - VK_SUBPASS_CONTENTS_INLINE + 1),
1425 VK_SUBPASS_CONTENTS_MAX_ENUM = 0x7FFFFFFF
1426 } VkSubpassContents;
1428 typedef enum VkObjectType {
1429 VK_OBJECT_TYPE_UNKNOWN = 0,
1430 VK_OBJECT_TYPE_INSTANCE = 1,
1431 VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2,
1432 VK_OBJECT_TYPE_DEVICE = 3,
1433 VK_OBJECT_TYPE_QUEUE = 4,
1434 VK_OBJECT_TYPE_SEMAPHORE = 5,
1435 VK_OBJECT_TYPE_COMMAND_BUFFER = 6,
1436 VK_OBJECT_TYPE_FENCE = 7,
1437 VK_OBJECT_TYPE_DEVICE_MEMORY = 8,
1438 VK_OBJECT_TYPE_BUFFER = 9,
1439 VK_OBJECT_TYPE_IMAGE = 10,
1440 VK_OBJECT_TYPE_EVENT = 11,
1441 VK_OBJECT_TYPE_QUERY_POOL = 12,
1442 VK_OBJECT_TYPE_BUFFER_VIEW = 13,
1443 VK_OBJECT_TYPE_IMAGE_VIEW = 14,
1444 VK_OBJECT_TYPE_SHADER_MODULE = 15,
1445 VK_OBJECT_TYPE_PIPELINE_CACHE = 16,
1446 VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17,
1447 VK_OBJECT_TYPE_RENDER_PASS = 18,
1448 VK_OBJECT_TYPE_PIPELINE = 19,
1449 VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20,
1450 VK_OBJECT_TYPE_SAMPLER = 21,
1451 VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22,
1452 VK_OBJECT_TYPE_DESCRIPTOR_SET = 23,
1453 VK_OBJECT_TYPE_FRAMEBUFFER = 24,
1454 VK_OBJECT_TYPE_COMMAND_POOL = 25,
1455 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION = 1000156000,
1456 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE = 1000085000,
1457 VK_OBJECT_TYPE_SURFACE_KHR = 1000000000,
1458 VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000,
1459 VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000,
1460 VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001,
1461 VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000,
1462 VK_OBJECT_TYPE_OBJECT_TABLE_NVX = 1000086000,
1463 VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX = 1000086001,
1464 VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000,
1465 VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000,
1466 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000,
1467 VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL = 1000210000,
1468 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,
1469 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,
1470 VK_OBJECT_TYPE_BEGIN_RANGE = VK_OBJECT_TYPE_UNKNOWN,
1471 VK_OBJECT_TYPE_END_RANGE = VK_OBJECT_TYPE_COMMAND_POOL,
1472 VK_OBJECT_TYPE_RANGE_SIZE = (VK_OBJECT_TYPE_COMMAND_POOL - VK_OBJECT_TYPE_UNKNOWN + 1),
1473 VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF
1476 typedef enum VkVendorId {
1477 VK_VENDOR_ID_VIV = 0x10001,
1478 VK_VENDOR_ID_VSI = 0x10002,
1479 VK_VENDOR_ID_KAZAN = 0x10003,
1480 VK_VENDOR_ID_BEGIN_RANGE = VK_VENDOR_ID_VIV,
1481 VK_VENDOR_ID_END_RANGE = VK_VENDOR_ID_KAZAN,
1482 VK_VENDOR_ID_RANGE_SIZE = (VK_VENDOR_ID_KAZAN - VK_VENDOR_ID_VIV + 1),
1483 VK_VENDOR_ID_MAX_ENUM = 0x7FFFFFFF
1485 typedef VkFlags VkInstanceCreateFlags;
1487 typedef enum VkFormatFeatureFlagBits {
1488 VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 0x00000001,
1489 VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 0x00000002,
1490 VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004,
1491 VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008,
1492 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 0x00000010,
1493 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020,
1494 VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 0x00000040,
1495 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 0x00000080,
1496 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100,
1497 VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200,
1498 VK_FORMAT_FEATURE_BLIT_SRC_BIT = 0x00000400,
1499 VK_FORMAT_FEATURE_BLIT_DST_BIT = 0x00000800,
1500 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000,
1501 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT = 0x00004000,
1502 VK_FORMAT_FEATURE_TRANSFER_DST_BIT = 0x00008000,
1503 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000,
1504 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000,
1505 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000,
1506 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000,
1507 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000,
1508 VK_FORMAT_FEATURE_DISJOINT_BIT = 0x00400000,
1509 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT = 0x00800000,
1510 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000,
1511 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = 0x00002000,
1512 VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000,
1513 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT,
1514 VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_DST_BIT,
1515 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT,
1516 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT,
1517 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT,
1518 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT,
1519 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT,
1520 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,
1521 VK_FORMAT_FEATURE_DISJOINT_BIT_KHR = VK_FORMAT_FEATURE_DISJOINT_BIT,
1522 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT,
1523 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG,
1524 VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1525 } VkFormatFeatureFlagBits;
1526 typedef VkFlags VkFormatFeatureFlags;
1528 typedef enum VkImageUsageFlagBits {
1529 VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 0x00000001,
1530 VK_IMAGE_USAGE_TRANSFER_DST_BIT = 0x00000002,
1531 VK_IMAGE_USAGE_SAMPLED_BIT = 0x00000004,
1532 VK_IMAGE_USAGE_STORAGE_BIT = 0x00000008,
1533 VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000010,
1534 VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000020,
1535 VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000040,
1536 VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0x00000080,
1537 VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = 0x00000100,
1538 VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x00000200,
1539 VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1540 } VkImageUsageFlagBits;
1541 typedef VkFlags VkImageUsageFlags;
1543 typedef enum VkImageCreateFlagBits {
1544 VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 0x00000001,
1545 VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
1546 VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
1547 VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 0x00000008,
1548 VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 0x00000010,
1549 VK_IMAGE_CREATE_ALIAS_BIT = 0x00000400,
1550 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT = 0x00000040,
1551 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT = 0x00000020,
1552 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT = 0x00000080,
1553 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT = 0x00000100,
1554 VK_IMAGE_CREATE_PROTECTED_BIT = 0x00000800,
1555 VK_IMAGE_CREATE_DISJOINT_BIT = 0x00000200,
1556 VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 0x00002000,
1557 VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000,
1558 VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 0x00004000,
1559 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT,
1560 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT,
1561 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT,
1562 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT,
1563 VK_IMAGE_CREATE_DISJOINT_BIT_KHR = VK_IMAGE_CREATE_DISJOINT_BIT,
1564 VK_IMAGE_CREATE_ALIAS_BIT_KHR = VK_IMAGE_CREATE_ALIAS_BIT,
1565 VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1566 } VkImageCreateFlagBits;
1567 typedef VkFlags VkImageCreateFlags;
1569 typedef enum VkSampleCountFlagBits {
1570 VK_SAMPLE_COUNT_1_BIT = 0x00000001,
1571 VK_SAMPLE_COUNT_2_BIT = 0x00000002,
1572 VK_SAMPLE_COUNT_4_BIT = 0x00000004,
1573 VK_SAMPLE_COUNT_8_BIT = 0x00000008,
1574 VK_SAMPLE_COUNT_16_BIT = 0x00000010,
1575 VK_SAMPLE_COUNT_32_BIT = 0x00000020,
1576 VK_SAMPLE_COUNT_64_BIT = 0x00000040,
1577 VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1578 } VkSampleCountFlagBits;
1579 typedef VkFlags VkSampleCountFlags;
1581 typedef enum VkQueueFlagBits {
1582 VK_QUEUE_GRAPHICS_BIT = 0x00000001,
1583 VK_QUEUE_COMPUTE_BIT = 0x00000002,
1584 VK_QUEUE_TRANSFER_BIT = 0x00000004,
1585 VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008,
1586 VK_QUEUE_PROTECTED_BIT = 0x00000010,
1587 VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1589 typedef VkFlags VkQueueFlags;
1591 typedef enum VkMemoryPropertyFlagBits {
1592 VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 0x00000001,
1593 VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 0x00000002,
1594 VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 0x00000004,
1595 VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 0x00000008,
1596 VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 0x00000010,
1597 VK_MEMORY_PROPERTY_PROTECTED_BIT = 0x00000020,
1598 VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD = 0x00000040,
1599 VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD = 0x00000080,
1600 VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1601 } VkMemoryPropertyFlagBits;
1602 typedef VkFlags VkMemoryPropertyFlags;
1604 typedef enum VkMemoryHeapFlagBits {
1605 VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0x00000001,
1606 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = 0x00000002,
1607 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT,
1608 VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1609 } VkMemoryHeapFlagBits;
1610 typedef VkFlags VkMemoryHeapFlags;
1611 typedef VkFlags VkDeviceCreateFlags;
1613 typedef enum VkDeviceQueueCreateFlagBits {
1614 VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT = 0x00000001,
1615 VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1616 } VkDeviceQueueCreateFlagBits;
1617 typedef VkFlags VkDeviceQueueCreateFlags;
1619 typedef enum VkPipelineStageFlagBits {
1620 VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 0x00000001,
1621 VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 0x00000002,
1622 VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 0x00000004,
1623 VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 0x00000008,
1624 VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010,
1625 VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020,
1626 VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 0x00000040,
1627 VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 0x00000080,
1628 VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 0x00000100,
1629 VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 0x00000200,
1630 VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400,
1631 VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 0x00000800,
1632 VK_PIPELINE_STAGE_TRANSFER_BIT = 0x00001000,
1633 VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 0x00002000,
1634 VK_PIPELINE_STAGE_HOST_BIT = 0x00004000,
1635 VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0x00008000,
1636 VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00010000,
1637 VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000,
1638 VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000,
1639 VK_PIPELINE_STAGE_COMMAND_PROCESS_BIT_NVX = 0x00020000,
1640 VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = 0x00400000,
1641 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV = 0x00200000,
1642 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 0x02000000,
1643 VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV = 0x00080000,
1644 VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV = 0x00100000,
1645 VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000,
1646 VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1647 } VkPipelineStageFlagBits;
1648 typedef VkFlags VkPipelineStageFlags;
1649 typedef VkFlags VkMemoryMapFlags;
1651 typedef enum VkImageAspectFlagBits {
1652 VK_IMAGE_ASPECT_COLOR_BIT = 0x00000001,
1653 VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002,
1654 VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004,
1655 VK_IMAGE_ASPECT_METADATA_BIT = 0x00000008,
1656 VK_IMAGE_ASPECT_PLANE_0_BIT = 0x00000010,
1657 VK_IMAGE_ASPECT_PLANE_1_BIT = 0x00000020,
1658 VK_IMAGE_ASPECT_PLANE_2_BIT = 0x00000040,
1659 VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 0x00000080,
1660 VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 0x00000100,
1661 VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 0x00000200,
1662 VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = 0x00000400,
1663 VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = VK_IMAGE_ASPECT_PLANE_0_BIT,
1664 VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = VK_IMAGE_ASPECT_PLANE_1_BIT,
1665 VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = VK_IMAGE_ASPECT_PLANE_2_BIT,
1666 VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1667 } VkImageAspectFlagBits;
1668 typedef VkFlags VkImageAspectFlags;
1670 typedef enum VkSparseImageFormatFlagBits {
1671 VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 0x00000001,
1672 VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 0x00000002,
1673 VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 0x00000004,
1674 VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1675 } VkSparseImageFormatFlagBits;
1676 typedef VkFlags VkSparseImageFormatFlags;
1678 typedef enum VkSparseMemoryBindFlagBits {
1679 VK_SPARSE_MEMORY_BIND_METADATA_BIT = 0x00000001,
1680 VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1681 } VkSparseMemoryBindFlagBits;
1682 typedef VkFlags VkSparseMemoryBindFlags;
1684 typedef enum VkFenceCreateFlagBits {
1685 VK_FENCE_CREATE_SIGNALED_BIT = 0x00000001,
1686 VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1687 } VkFenceCreateFlagBits;
1688 typedef VkFlags VkFenceCreateFlags;
1689 typedef VkFlags VkSemaphoreCreateFlags;
1690 typedef VkFlags VkEventCreateFlags;
1691 typedef VkFlags VkQueryPoolCreateFlags;
1693 typedef enum VkQueryPipelineStatisticFlagBits {
1694 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 0x00000001,
1695 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 0x00000002,
1696 VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 0x00000004,
1697 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 0x00000008,
1698 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 0x00000010,
1699 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 0x00000020,
1700 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 0x00000040,
1701 VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 0x00000080,
1702 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 0x00000100,
1703 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 0x00000200,
1704 VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 0x00000400,
1705 VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1706 } VkQueryPipelineStatisticFlagBits;
1707 typedef VkFlags VkQueryPipelineStatisticFlags;
1709 typedef enum VkQueryResultFlagBits {
1710 VK_QUERY_RESULT_64_BIT = 0x00000001,
1711 VK_QUERY_RESULT_WAIT_BIT = 0x00000002,
1712 VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004,
1713 VK_QUERY_RESULT_PARTIAL_BIT = 0x00000008,
1714 VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1715 } VkQueryResultFlagBits;
1716 typedef VkFlags VkQueryResultFlags;
1718 typedef enum VkBufferCreateFlagBits {
1719 VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 0x00000001,
1720 VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
1721 VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
1722 VK_BUFFER_CREATE_PROTECTED_BIT = 0x00000008,
1723 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000010,
1724 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
1725 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
1726 VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1727 } VkBufferCreateFlagBits;
1728 typedef VkFlags VkBufferCreateFlags;
1730 typedef enum VkBufferUsageFlagBits {
1731 VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 0x00000001,
1732 VK_BUFFER_USAGE_TRANSFER_DST_BIT = 0x00000002,
1733 VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000004,
1734 VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 0x00000008,
1735 VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 0x00000010,
1736 VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 0x00000020,
1737 VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 0x00000040,
1738 VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 0x00000080,
1739 VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 0x00000100,
1740 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT = 0x00020000,
1741 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0x00000800,
1742 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000,
1743 VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200,
1744 VK_BUFFER_USAGE_RAY_TRACING_BIT_NV = 0x00000400,
1745 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
1746 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
1747 VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1748 } VkBufferUsageFlagBits;
1749 typedef VkFlags VkBufferUsageFlags;
1750 typedef VkFlags VkBufferViewCreateFlags;
1752 typedef enum VkImageViewCreateFlagBits {
1753 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT = 0x00000001,
1754 VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1755 } VkImageViewCreateFlagBits;
1756 typedef VkFlags VkImageViewCreateFlags;
1758 typedef enum VkShaderModuleCreateFlagBits {
1759 VK_SHADER_MODULE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1760 } VkShaderModuleCreateFlagBits;
1761 typedef VkFlags VkShaderModuleCreateFlags;
1762 typedef VkFlags VkPipelineCacheCreateFlags;
1764 typedef enum VkPipelineCreateFlagBits {
1765 VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0x00000001,
1766 VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 0x00000002,
1767 VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0x00000004,
1768 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 0x00000008,
1769 VK_PIPELINE_CREATE_DISPATCH_BASE = 0x00000010,
1770 VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV = 0x00000020,
1771 VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR = 0x00000040,
1772 VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 0x00000080,
1773 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT,
1774 VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = VK_PIPELINE_CREATE_DISPATCH_BASE,
1775 VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1776 } VkPipelineCreateFlagBits;
1777 typedef VkFlags VkPipelineCreateFlags;
1779 typedef enum VkPipelineShaderStageCreateFlagBits {
1780 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = 0x00000001,
1781 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = 0x00000002,
1782 VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1783 } VkPipelineShaderStageCreateFlagBits;
1784 typedef VkFlags VkPipelineShaderStageCreateFlags;
1786 typedef enum VkShaderStageFlagBits {
1787 VK_SHADER_STAGE_VERTEX_BIT = 0x00000001,
1788 VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 0x00000002,
1789 VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 0x00000004,
1790 VK_SHADER_STAGE_GEOMETRY_BIT = 0x00000008,
1791 VK_SHADER_STAGE_FRAGMENT_BIT = 0x00000010,
1792 VK_SHADER_STAGE_COMPUTE_BIT = 0x00000020,
1793 VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001F,
1794 VK_SHADER_STAGE_ALL = 0x7FFFFFFF,
1795 VK_SHADER_STAGE_RAYGEN_BIT_NV = 0x00000100,
1796 VK_SHADER_STAGE_ANY_HIT_BIT_NV = 0x00000200,
1797 VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV = 0x00000400,
1798 VK_SHADER_STAGE_MISS_BIT_NV = 0x00000800,
1799 VK_SHADER_STAGE_INTERSECTION_BIT_NV = 0x00001000,
1800 VK_SHADER_STAGE_CALLABLE_BIT_NV = 0x00002000,
1801 VK_SHADER_STAGE_TASK_BIT_NV = 0x00000040,
1802 VK_SHADER_STAGE_MESH_BIT_NV = 0x00000080,
1803 VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1804 } VkShaderStageFlagBits;
1805 typedef VkFlags VkPipelineVertexInputStateCreateFlags;
1806 typedef VkFlags VkPipelineInputAssemblyStateCreateFlags;
1807 typedef VkFlags VkPipelineTessellationStateCreateFlags;
1808 typedef VkFlags VkPipelineViewportStateCreateFlags;
1809 typedef VkFlags VkPipelineRasterizationStateCreateFlags;
1811 typedef enum VkCullModeFlagBits {
1812 VK_CULL_MODE_NONE = 0,
1813 VK_CULL_MODE_FRONT_BIT = 0x00000001,
1814 VK_CULL_MODE_BACK_BIT = 0x00000002,
1815 VK_CULL_MODE_FRONT_AND_BACK = 0x00000003,
1816 VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1817 } VkCullModeFlagBits;
1818 typedef VkFlags VkCullModeFlags;
1819 typedef VkFlags VkPipelineMultisampleStateCreateFlags;
1820 typedef VkFlags VkPipelineDepthStencilStateCreateFlags;
1821 typedef VkFlags VkPipelineColorBlendStateCreateFlags;
1823 typedef enum VkColorComponentFlagBits {
1824 VK_COLOR_COMPONENT_R_BIT = 0x00000001,
1825 VK_COLOR_COMPONENT_G_BIT = 0x00000002,
1826 VK_COLOR_COMPONENT_B_BIT = 0x00000004,
1827 VK_COLOR_COMPONENT_A_BIT = 0x00000008,
1828 VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1829 } VkColorComponentFlagBits;
1830 typedef VkFlags VkColorComponentFlags;
1831 typedef VkFlags VkPipelineDynamicStateCreateFlags;
1832 typedef VkFlags VkPipelineLayoutCreateFlags;
1833 typedef VkFlags VkShaderStageFlags;
1835 typedef enum VkSamplerCreateFlagBits {
1836 VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT = 0x00000001,
1837 VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT = 0x00000002,
1838 VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1839 } VkSamplerCreateFlagBits;
1840 typedef VkFlags VkSamplerCreateFlags;
1842 typedef enum VkDescriptorSetLayoutCreateFlagBits {
1843 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT = 0x00000002,
1844 VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = 0x00000001,
1845 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT,
1846 VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1847 } VkDescriptorSetLayoutCreateFlagBits;
1848 typedef VkFlags VkDescriptorSetLayoutCreateFlags;
1850 typedef enum VkDescriptorPoolCreateFlagBits {
1851 VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001,
1852 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT = 0x00000002,
1853 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT,
1854 VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1855 } VkDescriptorPoolCreateFlagBits;
1856 typedef VkFlags VkDescriptorPoolCreateFlags;
1857 typedef VkFlags VkDescriptorPoolResetFlags;
1859 typedef enum VkFramebufferCreateFlagBits {
1860 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT = 0x00000001,
1861 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR = VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT,
1862 VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1863 } VkFramebufferCreateFlagBits;
1864 typedef VkFlags VkFramebufferCreateFlags;
1866 typedef enum VkRenderPassCreateFlagBits {
1867 VK_RENDER_PASS_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1868 } VkRenderPassCreateFlagBits;
1869 typedef VkFlags VkRenderPassCreateFlags;
1871 typedef enum VkAttachmentDescriptionFlagBits {
1872 VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001,
1873 VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1874 } VkAttachmentDescriptionFlagBits;
1875 typedef VkFlags VkAttachmentDescriptionFlags;
1877 typedef enum VkSubpassDescriptionFlagBits {
1878 VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX = 0x00000001,
1879 VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 0x00000002,
1880 VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1881 } VkSubpassDescriptionFlagBits;
1882 typedef VkFlags VkSubpassDescriptionFlags;
1884 typedef enum VkAccessFlagBits {
1885 VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001,
1886 VK_ACCESS_INDEX_READ_BIT = 0x00000002,
1887 VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004,
1888 VK_ACCESS_UNIFORM_READ_BIT = 0x00000008,
1889 VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 0x00000010,
1890 VK_ACCESS_SHADER_READ_BIT = 0x00000020,
1891 VK_ACCESS_SHADER_WRITE_BIT = 0x00000040,
1892 VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 0x00000080,
1893 VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100,
1894 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200,
1895 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400,
1896 VK_ACCESS_TRANSFER_READ_BIT = 0x00000800,
1897 VK_ACCESS_TRANSFER_WRITE_BIT = 0x00001000,
1898 VK_ACCESS_HOST_READ_BIT = 0x00002000,
1899 VK_ACCESS_HOST_WRITE_BIT = 0x00004000,
1900 VK_ACCESS_MEMORY_READ_BIT = 0x00008000,
1901 VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000,
1902 VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000,
1903 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000,
1904 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000,
1905 VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000,
1906 VK_ACCESS_COMMAND_PROCESS_READ_BIT_NVX = 0x00020000,
1907 VK_ACCESS_COMMAND_PROCESS_WRITE_BIT_NVX = 0x00040000,
1908 VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000,
1909 VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000,
1910 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = 0x00200000,
1911 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 0x00400000,
1912 VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000,
1913 VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1915 typedef VkFlags VkAccessFlags;
1917 typedef enum VkDependencyFlagBits {
1918 VK_DEPENDENCY_BY_REGION_BIT = 0x00000001,
1919 VK_DEPENDENCY_DEVICE_GROUP_BIT = 0x00000004,
1920 VK_DEPENDENCY_VIEW_LOCAL_BIT = 0x00000002,
1921 VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR = VK_DEPENDENCY_VIEW_LOCAL_BIT,
1922 VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR = VK_DEPENDENCY_DEVICE_GROUP_BIT,
1923 VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1924 } VkDependencyFlagBits;
1925 typedef VkFlags VkDependencyFlags;
1927 typedef enum VkCommandPoolCreateFlagBits {
1928 VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 0x00000001,
1929 VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002,
1930 VK_COMMAND_POOL_CREATE_PROTECTED_BIT = 0x00000004,
1931 VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1932 } VkCommandPoolCreateFlagBits;
1933 typedef VkFlags VkCommandPoolCreateFlags;
1935 typedef enum VkCommandPoolResetFlagBits {
1936 VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
1937 VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1938 } VkCommandPoolResetFlagBits;
1939 typedef VkFlags VkCommandPoolResetFlags;
1941 typedef enum VkCommandBufferUsageFlagBits {
1942 VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 0x00000001,
1943 VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 0x00000002,
1944 VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 0x00000004,
1945 VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1946 } VkCommandBufferUsageFlagBits;
1947 typedef VkFlags VkCommandBufferUsageFlags;
1949 typedef enum VkQueryControlFlagBits {
1950 VK_QUERY_CONTROL_PRECISE_BIT = 0x00000001,
1951 VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1952 } VkQueryControlFlagBits;
1953 typedef VkFlags VkQueryControlFlags;
1955 typedef enum VkCommandBufferResetFlagBits {
1956 VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
1957 VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1958 } VkCommandBufferResetFlagBits;
1959 typedef VkFlags VkCommandBufferResetFlags;
1961 typedef enum VkStencilFaceFlagBits {
1962 VK_STENCIL_FACE_FRONT_BIT = 0x00000001,
1963 VK_STENCIL_FACE_BACK_BIT = 0x00000002,
1964 VK_STENCIL_FACE_FRONT_AND_BACK = 0x00000003,
1965 VK_STENCIL_FRONT_AND_BACK = VK_STENCIL_FACE_FRONT_AND_BACK,
1966 VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1967 } VkStencilFaceFlagBits;
1968 typedef VkFlags VkStencilFaceFlags;
1969 typedef struct VkApplicationInfo {
1970 VkStructureType sType;
1972 const char* pApplicationName;
1973 uint32_t applicationVersion;
1974 const char* pEngineName;
1975 uint32_t engineVersion;
1976 uint32_t apiVersion;
1977 } VkApplicationInfo;
1979 typedef struct VkInstanceCreateInfo {
1980 VkStructureType sType;
1982 VkInstanceCreateFlags flags;
1983 const VkApplicationInfo* pApplicationInfo;
1984 uint32_t enabledLayerCount;
1985 const char* const* ppEnabledLayerNames;
1986 uint32_t enabledExtensionCount;
1987 const char* const* ppEnabledExtensionNames;
1988 } VkInstanceCreateInfo;
1990 typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
1994 VkSystemAllocationScope allocationScope);
1996 typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
2001 VkSystemAllocationScope allocationScope);
2003 typedef void (VKAPI_PTR *PFN_vkFreeFunction)(
2007 typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(
2010 VkInternalAllocationType allocationType,
2011 VkSystemAllocationScope allocationScope);
2013 typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(
2016 VkInternalAllocationType allocationType,
2017 VkSystemAllocationScope allocationScope);
2019 typedef struct VkAllocationCallbacks {
2021 PFN_vkAllocationFunction pfnAllocation;
2022 PFN_vkReallocationFunction pfnReallocation;
2023 PFN_vkFreeFunction pfnFree;
2024 PFN_vkInternalAllocationNotification pfnInternalAllocation;
2025 PFN_vkInternalFreeNotification pfnInternalFree;
2026 } VkAllocationCallbacks;
2028 typedef struct VkPhysicalDeviceFeatures {
2029 VkBool32 robustBufferAccess;
2030 VkBool32 fullDrawIndexUint32;
2031 VkBool32 imageCubeArray;
2032 VkBool32 independentBlend;
2033 VkBool32 geometryShader;
2034 VkBool32 tessellationShader;
2035 VkBool32 sampleRateShading;
2036 VkBool32 dualSrcBlend;
2038 VkBool32 multiDrawIndirect;
2039 VkBool32 drawIndirectFirstInstance;
2040 VkBool32 depthClamp;
2041 VkBool32 depthBiasClamp;
2042 VkBool32 fillModeNonSolid;
2043 VkBool32 depthBounds;
2045 VkBool32 largePoints;
2046 VkBool32 alphaToOne;
2047 VkBool32 multiViewport;
2048 VkBool32 samplerAnisotropy;
2049 VkBool32 textureCompressionETC2;
2050 VkBool32 textureCompressionASTC_LDR;
2051 VkBool32 textureCompressionBC;
2052 VkBool32 occlusionQueryPrecise;
2053 VkBool32 pipelineStatisticsQuery;
2054 VkBool32 vertexPipelineStoresAndAtomics;
2055 VkBool32 fragmentStoresAndAtomics;
2056 VkBool32 shaderTessellationAndGeometryPointSize;
2057 VkBool32 shaderImageGatherExtended;
2058 VkBool32 shaderStorageImageExtendedFormats;
2059 VkBool32 shaderStorageImageMultisample;
2060 VkBool32 shaderStorageImageReadWithoutFormat;
2061 VkBool32 shaderStorageImageWriteWithoutFormat;
2062 VkBool32 shaderUniformBufferArrayDynamicIndexing;
2063 VkBool32 shaderSampledImageArrayDynamicIndexing;
2064 VkBool32 shaderStorageBufferArrayDynamicIndexing;
2065 VkBool32 shaderStorageImageArrayDynamicIndexing;
2066 VkBool32 shaderClipDistance;
2067 VkBool32 shaderCullDistance;
2068 VkBool32 shaderFloat64;
2069 VkBool32 shaderInt64;
2070 VkBool32 shaderInt16;
2071 VkBool32 shaderResourceResidency;
2072 VkBool32 shaderResourceMinLod;
2073 VkBool32 sparseBinding;
2074 VkBool32 sparseResidencyBuffer;
2075 VkBool32 sparseResidencyImage2D;
2076 VkBool32 sparseResidencyImage3D;
2077 VkBool32 sparseResidency2Samples;
2078 VkBool32 sparseResidency4Samples;
2079 VkBool32 sparseResidency8Samples;
2080 VkBool32 sparseResidency16Samples;
2081 VkBool32 sparseResidencyAliased;
2082 VkBool32 variableMultisampleRate;
2083 VkBool32 inheritedQueries;
2084 } VkPhysicalDeviceFeatures;
2086 typedef struct VkFormatProperties {
2087 VkFormatFeatureFlags linearTilingFeatures;
2088 VkFormatFeatureFlags optimalTilingFeatures;
2089 VkFormatFeatureFlags bufferFeatures;
2090 } VkFormatProperties;
2092 typedef struct VkExtent3D {
2098 typedef struct VkImageFormatProperties {
2099 VkExtent3D maxExtent;
2100 uint32_t maxMipLevels;
2101 uint32_t maxArrayLayers;
2102 VkSampleCountFlags sampleCounts;
2103 VkDeviceSize maxResourceSize;
2104 } VkImageFormatProperties;
2106 typedef struct VkPhysicalDeviceLimits {
2107 uint32_t maxImageDimension1D;
2108 uint32_t maxImageDimension2D;
2109 uint32_t maxImageDimension3D;
2110 uint32_t maxImageDimensionCube;
2111 uint32_t maxImageArrayLayers;
2112 uint32_t maxTexelBufferElements;
2113 uint32_t maxUniformBufferRange;
2114 uint32_t maxStorageBufferRange;
2115 uint32_t maxPushConstantsSize;
2116 uint32_t maxMemoryAllocationCount;
2117 uint32_t maxSamplerAllocationCount;
2118 VkDeviceSize bufferImageGranularity;
2119 VkDeviceSize sparseAddressSpaceSize;
2120 uint32_t maxBoundDescriptorSets;
2121 uint32_t maxPerStageDescriptorSamplers;
2122 uint32_t maxPerStageDescriptorUniformBuffers;
2123 uint32_t maxPerStageDescriptorStorageBuffers;
2124 uint32_t maxPerStageDescriptorSampledImages;
2125 uint32_t maxPerStageDescriptorStorageImages;
2126 uint32_t maxPerStageDescriptorInputAttachments;
2127 uint32_t maxPerStageResources;
2128 uint32_t maxDescriptorSetSamplers;
2129 uint32_t maxDescriptorSetUniformBuffers;
2130 uint32_t maxDescriptorSetUniformBuffersDynamic;
2131 uint32_t maxDescriptorSetStorageBuffers;
2132 uint32_t maxDescriptorSetStorageBuffersDynamic;
2133 uint32_t maxDescriptorSetSampledImages;
2134 uint32_t maxDescriptorSetStorageImages;
2135 uint32_t maxDescriptorSetInputAttachments;
2136 uint32_t maxVertexInputAttributes;
2137 uint32_t maxVertexInputBindings;
2138 uint32_t maxVertexInputAttributeOffset;
2139 uint32_t maxVertexInputBindingStride;
2140 uint32_t maxVertexOutputComponents;
2141 uint32_t maxTessellationGenerationLevel;
2142 uint32_t maxTessellationPatchSize;
2143 uint32_t maxTessellationControlPerVertexInputComponents;
2144 uint32_t maxTessellationControlPerVertexOutputComponents;
2145 uint32_t maxTessellationControlPerPatchOutputComponents;
2146 uint32_t maxTessellationControlTotalOutputComponents;
2147 uint32_t maxTessellationEvaluationInputComponents;
2148 uint32_t maxTessellationEvaluationOutputComponents;
2149 uint32_t maxGeometryShaderInvocations;
2150 uint32_t maxGeometryInputComponents;
2151 uint32_t maxGeometryOutputComponents;
2152 uint32_t maxGeometryOutputVertices;
2153 uint32_t maxGeometryTotalOutputComponents;
2154 uint32_t maxFragmentInputComponents;
2155 uint32_t maxFragmentOutputAttachments;
2156 uint32_t maxFragmentDualSrcAttachments;
2157 uint32_t maxFragmentCombinedOutputResources;
2158 uint32_t maxComputeSharedMemorySize;
2159 uint32_t maxComputeWorkGroupCount[3];
2160 uint32_t maxComputeWorkGroupInvocations;
2161 uint32_t maxComputeWorkGroupSize[3];
2162 uint32_t subPixelPrecisionBits;
2163 uint32_t subTexelPrecisionBits;
2164 uint32_t mipmapPrecisionBits;
2165 uint32_t maxDrawIndexedIndexValue;
2166 uint32_t maxDrawIndirectCount;
2167 float maxSamplerLodBias;
2168 float maxSamplerAnisotropy;
2169 uint32_t maxViewports;
2170 uint32_t maxViewportDimensions[2];
2171 float viewportBoundsRange[2];
2172 uint32_t viewportSubPixelBits;
2173 size_t minMemoryMapAlignment;
2174 VkDeviceSize minTexelBufferOffsetAlignment;
2175 VkDeviceSize minUniformBufferOffsetAlignment;
2176 VkDeviceSize minStorageBufferOffsetAlignment;
2177 int32_t minTexelOffset;
2178 uint32_t maxTexelOffset;
2179 int32_t minTexelGatherOffset;
2180 uint32_t maxTexelGatherOffset;
2181 float minInterpolationOffset;
2182 float maxInterpolationOffset;
2183 uint32_t subPixelInterpolationOffsetBits;
2184 uint32_t maxFramebufferWidth;
2185 uint32_t maxFramebufferHeight;
2186 uint32_t maxFramebufferLayers;
2187 VkSampleCountFlags framebufferColorSampleCounts;
2188 VkSampleCountFlags framebufferDepthSampleCounts;
2189 VkSampleCountFlags framebufferStencilSampleCounts;
2190 VkSampleCountFlags framebufferNoAttachmentsSampleCounts;
2191 uint32_t maxColorAttachments;
2192 VkSampleCountFlags sampledImageColorSampleCounts;
2193 VkSampleCountFlags sampledImageIntegerSampleCounts;
2194 VkSampleCountFlags sampledImageDepthSampleCounts;
2195 VkSampleCountFlags sampledImageStencilSampleCounts;
2196 VkSampleCountFlags storageImageSampleCounts;
2197 uint32_t maxSampleMaskWords;
2198 VkBool32 timestampComputeAndGraphics;
2199 float timestampPeriod;
2200 uint32_t maxClipDistances;
2201 uint32_t maxCullDistances;
2202 uint32_t maxCombinedClipAndCullDistances;
2203 uint32_t discreteQueuePriorities;
2204 float pointSizeRange[2];
2205 float lineWidthRange[2];
2206 float pointSizeGranularity;
2207 float lineWidthGranularity;
2208 VkBool32 strictLines;
2209 VkBool32 standardSampleLocations;
2210 VkDeviceSize optimalBufferCopyOffsetAlignment;
2211 VkDeviceSize optimalBufferCopyRowPitchAlignment;
2212 VkDeviceSize nonCoherentAtomSize;
2213 } VkPhysicalDeviceLimits;
2215 typedef struct VkPhysicalDeviceSparseProperties {
2216 VkBool32 residencyStandard2DBlockShape;
2217 VkBool32 residencyStandard2DMultisampleBlockShape;
2218 VkBool32 residencyStandard3DBlockShape;
2219 VkBool32 residencyAlignedMipSize;
2220 VkBool32 residencyNonResidentStrict;
2221 } VkPhysicalDeviceSparseProperties;
2223 typedef struct VkPhysicalDeviceProperties {
2224 uint32_t apiVersion;
2225 uint32_t driverVersion;
2228 VkPhysicalDeviceType deviceType;
2229 char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
2230 uint8_t pipelineCacheUUID[VK_UUID_SIZE];
2231 VkPhysicalDeviceLimits limits;
2232 VkPhysicalDeviceSparseProperties sparseProperties;
2233 } VkPhysicalDeviceProperties;
2235 typedef struct VkQueueFamilyProperties {
2236 VkQueueFlags queueFlags;
2237 uint32_t queueCount;
2238 uint32_t timestampValidBits;
2239 VkExtent3D minImageTransferGranularity;
2240 } VkQueueFamilyProperties;
2242 typedef struct VkMemoryType {
2243 VkMemoryPropertyFlags propertyFlags;
2247 typedef struct VkMemoryHeap {
2249 VkMemoryHeapFlags flags;
2252 typedef struct VkPhysicalDeviceMemoryProperties {
2253 uint32_t memoryTypeCount;
2254 VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES];
2255 uint32_t memoryHeapCount;
2256 VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS];
2257 } VkPhysicalDeviceMemoryProperties;
2259 typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
2260 typedef struct VkDeviceQueueCreateInfo {
2261 VkStructureType sType;
2263 VkDeviceQueueCreateFlags flags;
2264 uint32_t queueFamilyIndex;
2265 uint32_t queueCount;
2266 const float* pQueuePriorities;
2267 } VkDeviceQueueCreateInfo;
2269 typedef struct VkDeviceCreateInfo {
2270 VkStructureType sType;
2272 VkDeviceCreateFlags flags;
2273 uint32_t queueCreateInfoCount;
2274 const VkDeviceQueueCreateInfo* pQueueCreateInfos;
2275 uint32_t enabledLayerCount;
2276 const char* const* ppEnabledLayerNames;
2277 uint32_t enabledExtensionCount;
2278 const char* const* ppEnabledExtensionNames;
2279 const VkPhysicalDeviceFeatures* pEnabledFeatures;
2280 } VkDeviceCreateInfo;
2282 typedef struct VkExtensionProperties {
2283 char extensionName[VK_MAX_EXTENSION_NAME_SIZE];
2284 uint32_t specVersion;
2285 } VkExtensionProperties;
2287 typedef struct VkLayerProperties {
2288 char layerName[VK_MAX_EXTENSION_NAME_SIZE];
2289 uint32_t specVersion;
2290 uint32_t implementationVersion;
2291 char description[VK_MAX_DESCRIPTION_SIZE];
2292 } VkLayerProperties;
2294 typedef struct VkSubmitInfo {
2295 VkStructureType sType;
2297 uint32_t waitSemaphoreCount;
2298 const VkSemaphore* pWaitSemaphores;
2299 const VkPipelineStageFlags* pWaitDstStageMask;
2300 uint32_t commandBufferCount;
2301 const VkCommandBuffer* pCommandBuffers;
2302 uint32_t signalSemaphoreCount;
2303 const VkSemaphore* pSignalSemaphores;
2306 typedef struct VkMemoryAllocateInfo {
2307 VkStructureType sType;
2309 VkDeviceSize allocationSize;
2310 uint32_t memoryTypeIndex;
2311 } VkMemoryAllocateInfo;
2313 typedef struct VkMappedMemoryRange {
2314 VkStructureType sType;
2316 VkDeviceMemory memory;
2317 VkDeviceSize offset;
2319 } VkMappedMemoryRange;
2321 typedef struct VkMemoryRequirements {
2323 VkDeviceSize alignment;
2324 uint32_t memoryTypeBits;
2325 } VkMemoryRequirements;
2327 typedef struct VkSparseImageFormatProperties {
2328 VkImageAspectFlags aspectMask;
2329 VkExtent3D imageGranularity;
2330 VkSparseImageFormatFlags flags;
2331 } VkSparseImageFormatProperties;
2333 typedef struct VkSparseImageMemoryRequirements {
2334 VkSparseImageFormatProperties formatProperties;
2335 uint32_t imageMipTailFirstLod;
2336 VkDeviceSize imageMipTailSize;
2337 VkDeviceSize imageMipTailOffset;
2338 VkDeviceSize imageMipTailStride;
2339 } VkSparseImageMemoryRequirements;
2341 typedef struct VkSparseMemoryBind {
2342 VkDeviceSize resourceOffset;
2344 VkDeviceMemory memory;
2345 VkDeviceSize memoryOffset;
2346 VkSparseMemoryBindFlags flags;
2347 } VkSparseMemoryBind;
2349 typedef struct VkSparseBufferMemoryBindInfo {
2352 const VkSparseMemoryBind* pBinds;
2353 } VkSparseBufferMemoryBindInfo;
2355 typedef struct VkSparseImageOpaqueMemoryBindInfo {
2358 const VkSparseMemoryBind* pBinds;
2359 } VkSparseImageOpaqueMemoryBindInfo;
2361 typedef struct VkImageSubresource {
2362 VkImageAspectFlags aspectMask;
2364 uint32_t arrayLayer;
2365 } VkImageSubresource;
2367 typedef struct VkOffset3D {
2373 typedef struct VkSparseImageMemoryBind {
2374 VkImageSubresource subresource;
2377 VkDeviceMemory memory;
2378 VkDeviceSize memoryOffset;
2379 VkSparseMemoryBindFlags flags;
2380 } VkSparseImageMemoryBind;
2382 typedef struct VkSparseImageMemoryBindInfo {
2385 const VkSparseImageMemoryBind* pBinds;
2386 } VkSparseImageMemoryBindInfo;
2388 typedef struct VkBindSparseInfo {
2389 VkStructureType sType;
2391 uint32_t waitSemaphoreCount;
2392 const VkSemaphore* pWaitSemaphores;
2393 uint32_t bufferBindCount;
2394 const VkSparseBufferMemoryBindInfo* pBufferBinds;
2395 uint32_t imageOpaqueBindCount;
2396 const VkSparseImageOpaqueMemoryBindInfo* pImageOpaqueBinds;
2397 uint32_t imageBindCount;
2398 const VkSparseImageMemoryBindInfo* pImageBinds;
2399 uint32_t signalSemaphoreCount;
2400 const VkSemaphore* pSignalSemaphores;
2403 typedef struct VkFenceCreateInfo {
2404 VkStructureType sType;
2406 VkFenceCreateFlags flags;
2407 } VkFenceCreateInfo;
2409 typedef struct VkSemaphoreCreateInfo {
2410 VkStructureType sType;
2412 VkSemaphoreCreateFlags flags;
2413 } VkSemaphoreCreateInfo;
2415 typedef struct VkEventCreateInfo {
2416 VkStructureType sType;
2418 VkEventCreateFlags flags;
2419 } VkEventCreateInfo;
2421 typedef struct VkQueryPoolCreateInfo {
2422 VkStructureType sType;
2424 VkQueryPoolCreateFlags flags;
2425 VkQueryType queryType;
2426 uint32_t queryCount;
2427 VkQueryPipelineStatisticFlags pipelineStatistics;
2428 } VkQueryPoolCreateInfo;
2430 typedef struct VkBufferCreateInfo {
2431 VkStructureType sType;
2433 VkBufferCreateFlags flags;
2435 VkBufferUsageFlags usage;
2436 VkSharingMode sharingMode;
2437 uint32_t queueFamilyIndexCount;
2438 const uint32_t* pQueueFamilyIndices;
2439 } VkBufferCreateInfo;
2441 typedef struct VkBufferViewCreateInfo {
2442 VkStructureType sType;
2444 VkBufferViewCreateFlags flags;
2447 VkDeviceSize offset;
2449 } VkBufferViewCreateInfo;
2451 typedef struct VkImageCreateInfo {
2452 VkStructureType sType;
2454 VkImageCreateFlags flags;
2455 VkImageType imageType;
2459 uint32_t arrayLayers;
2460 VkSampleCountFlagBits samples;
2461 VkImageTiling tiling;
2462 VkImageUsageFlags usage;
2463 VkSharingMode sharingMode;
2464 uint32_t queueFamilyIndexCount;
2465 const uint32_t* pQueueFamilyIndices;
2466 VkImageLayout initialLayout;
2467 } VkImageCreateInfo;
2469 typedef struct VkSubresourceLayout {
2470 VkDeviceSize offset;
2472 VkDeviceSize rowPitch;
2473 VkDeviceSize arrayPitch;
2474 VkDeviceSize depthPitch;
2475 } VkSubresourceLayout;
2477 typedef struct VkComponentMapping {
2478 VkComponentSwizzle r;
2479 VkComponentSwizzle g;
2480 VkComponentSwizzle b;
2481 VkComponentSwizzle a;
2482 } VkComponentMapping;
2484 typedef struct VkImageSubresourceRange {
2485 VkImageAspectFlags aspectMask;
2486 uint32_t baseMipLevel;
2487 uint32_t levelCount;
2488 uint32_t baseArrayLayer;
2489 uint32_t layerCount;
2490 } VkImageSubresourceRange;
2492 typedef struct VkImageViewCreateInfo {
2493 VkStructureType sType;
2495 VkImageViewCreateFlags flags;
2497 VkImageViewType viewType;
2499 VkComponentMapping components;
2500 VkImageSubresourceRange subresourceRange;
2501 } VkImageViewCreateInfo;
2503 typedef struct VkShaderModuleCreateInfo {
2504 VkStructureType sType;
2506 VkShaderModuleCreateFlags flags;
2508 const uint32_t* pCode;
2509 } VkShaderModuleCreateInfo;
2511 typedef struct VkPipelineCacheCreateInfo {
2512 VkStructureType sType;
2514 VkPipelineCacheCreateFlags flags;
2515 size_t initialDataSize;
2516 const void* pInitialData;
2517 } VkPipelineCacheCreateInfo;
2519 typedef struct VkSpecializationMapEntry {
2520 uint32_t constantID;
2523 } VkSpecializationMapEntry;
2525 typedef struct VkSpecializationInfo {
2526 uint32_t mapEntryCount;
2527 const VkSpecializationMapEntry* pMapEntries;
2530 } VkSpecializationInfo;
2532 typedef struct VkPipelineShaderStageCreateInfo {
2533 VkStructureType sType;
2535 VkPipelineShaderStageCreateFlags flags;
2536 VkShaderStageFlagBits stage;
2537 VkShaderModule module;
2539 const VkSpecializationInfo* pSpecializationInfo;
2540 } VkPipelineShaderStageCreateInfo;
2542 typedef struct VkVertexInputBindingDescription {
2545 VkVertexInputRate inputRate;
2546 } VkVertexInputBindingDescription;
2548 typedef struct VkVertexInputAttributeDescription {
2553 } VkVertexInputAttributeDescription;
2555 typedef struct VkPipelineVertexInputStateCreateInfo {
2556 VkStructureType sType;
2558 VkPipelineVertexInputStateCreateFlags flags;
2559 uint32_t vertexBindingDescriptionCount;
2560 const VkVertexInputBindingDescription* pVertexBindingDescriptions;
2561 uint32_t vertexAttributeDescriptionCount;
2562 const VkVertexInputAttributeDescription* pVertexAttributeDescriptions;
2563 } VkPipelineVertexInputStateCreateInfo;
2565 typedef struct VkPipelineInputAssemblyStateCreateInfo {
2566 VkStructureType sType;
2568 VkPipelineInputAssemblyStateCreateFlags flags;
2569 VkPrimitiveTopology topology;
2570 VkBool32 primitiveRestartEnable;
2571 } VkPipelineInputAssemblyStateCreateInfo;
2573 typedef struct VkPipelineTessellationStateCreateInfo {
2574 VkStructureType sType;
2576 VkPipelineTessellationStateCreateFlags flags;
2577 uint32_t patchControlPoints;
2578 } VkPipelineTessellationStateCreateInfo;
2580 typedef struct VkViewport {
2589 typedef struct VkOffset2D {
2594 typedef struct VkExtent2D {
2599 typedef struct VkRect2D {
2604 typedef struct VkPipelineViewportStateCreateInfo {
2605 VkStructureType sType;
2607 VkPipelineViewportStateCreateFlags flags;
2608 uint32_t viewportCount;
2609 const VkViewport* pViewports;
2610 uint32_t scissorCount;
2611 const VkRect2D* pScissors;
2612 } VkPipelineViewportStateCreateInfo;
2614 typedef struct VkPipelineRasterizationStateCreateInfo {
2615 VkStructureType sType;
2617 VkPipelineRasterizationStateCreateFlags flags;
2618 VkBool32 depthClampEnable;
2619 VkBool32 rasterizerDiscardEnable;
2620 VkPolygonMode polygonMode;
2621 VkCullModeFlags cullMode;
2622 VkFrontFace frontFace;
2623 VkBool32 depthBiasEnable;
2624 float depthBiasConstantFactor;
2625 float depthBiasClamp;
2626 float depthBiasSlopeFactor;
2628 } VkPipelineRasterizationStateCreateInfo;
2630 typedef struct VkPipelineMultisampleStateCreateInfo {
2631 VkStructureType sType;
2633 VkPipelineMultisampleStateCreateFlags flags;
2634 VkSampleCountFlagBits rasterizationSamples;
2635 VkBool32 sampleShadingEnable;
2636 float minSampleShading;
2637 const VkSampleMask* pSampleMask;
2638 VkBool32 alphaToCoverageEnable;
2639 VkBool32 alphaToOneEnable;
2640 } VkPipelineMultisampleStateCreateInfo;
2642 typedef struct VkStencilOpState {
2645 VkStencilOp depthFailOp;
2646 VkCompareOp compareOp;
2647 uint32_t compareMask;
2652 typedef struct VkPipelineDepthStencilStateCreateInfo {
2653 VkStructureType sType;
2655 VkPipelineDepthStencilStateCreateFlags flags;
2656 VkBool32 depthTestEnable;
2657 VkBool32 depthWriteEnable;
2658 VkCompareOp depthCompareOp;
2659 VkBool32 depthBoundsTestEnable;
2660 VkBool32 stencilTestEnable;
2661 VkStencilOpState front;
2662 VkStencilOpState back;
2663 float minDepthBounds;
2664 float maxDepthBounds;
2665 } VkPipelineDepthStencilStateCreateInfo;
2667 typedef struct VkPipelineColorBlendAttachmentState {
2668 VkBool32 blendEnable;
2669 VkBlendFactor srcColorBlendFactor;
2670 VkBlendFactor dstColorBlendFactor;
2671 VkBlendOp colorBlendOp;
2672 VkBlendFactor srcAlphaBlendFactor;
2673 VkBlendFactor dstAlphaBlendFactor;
2674 VkBlendOp alphaBlendOp;
2675 VkColorComponentFlags colorWriteMask;
2676 } VkPipelineColorBlendAttachmentState;
2678 typedef struct VkPipelineColorBlendStateCreateInfo {
2679 VkStructureType sType;
2681 VkPipelineColorBlendStateCreateFlags flags;
2682 VkBool32 logicOpEnable;
2684 uint32_t attachmentCount;
2685 const VkPipelineColorBlendAttachmentState* pAttachments;
2686 float blendConstants[4];
2687 } VkPipelineColorBlendStateCreateInfo;
2689 typedef struct VkPipelineDynamicStateCreateInfo {
2690 VkStructureType sType;
2692 VkPipelineDynamicStateCreateFlags flags;
2693 uint32_t dynamicStateCount;
2694 const VkDynamicState* pDynamicStates;
2695 } VkPipelineDynamicStateCreateInfo;
2697 typedef struct VkGraphicsPipelineCreateInfo {
2698 VkStructureType sType;
2700 VkPipelineCreateFlags flags;
2701 uint32_t stageCount;
2702 const VkPipelineShaderStageCreateInfo* pStages;
2703 const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
2704 const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState;
2705 const VkPipelineTessellationStateCreateInfo* pTessellationState;
2706 const VkPipelineViewportStateCreateInfo* pViewportState;
2707 const VkPipelineRasterizationStateCreateInfo* pRasterizationState;
2708 const VkPipelineMultisampleStateCreateInfo* pMultisampleState;
2709 const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState;
2710 const VkPipelineColorBlendStateCreateInfo* pColorBlendState;
2711 const VkPipelineDynamicStateCreateInfo* pDynamicState;
2712 VkPipelineLayout layout;
2713 VkRenderPass renderPass;
2715 VkPipeline basePipelineHandle;
2716 int32_t basePipelineIndex;
2717 } VkGraphicsPipelineCreateInfo;
2719 typedef struct VkComputePipelineCreateInfo {
2720 VkStructureType sType;
2722 VkPipelineCreateFlags flags;
2723 VkPipelineShaderStageCreateInfo stage;
2724 VkPipelineLayout layout;
2725 VkPipeline basePipelineHandle;
2726 int32_t basePipelineIndex;
2727 } VkComputePipelineCreateInfo;
2729 typedef struct VkPushConstantRange {
2730 VkShaderStageFlags stageFlags;
2733 } VkPushConstantRange;
2735 typedef struct VkPipelineLayoutCreateInfo {
2736 VkStructureType sType;
2738 VkPipelineLayoutCreateFlags flags;
2739 uint32_t setLayoutCount;
2740 const VkDescriptorSetLayout* pSetLayouts;
2741 uint32_t pushConstantRangeCount;
2742 const VkPushConstantRange* pPushConstantRanges;
2743 } VkPipelineLayoutCreateInfo;
2745 typedef struct VkSamplerCreateInfo {
2746 VkStructureType sType;
2748 VkSamplerCreateFlags flags;
2751 VkSamplerMipmapMode mipmapMode;
2752 VkSamplerAddressMode addressModeU;
2753 VkSamplerAddressMode addressModeV;
2754 VkSamplerAddressMode addressModeW;
2756 VkBool32 anisotropyEnable;
2757 float maxAnisotropy;
2758 VkBool32 compareEnable;
2759 VkCompareOp compareOp;
2762 VkBorderColor borderColor;
2763 VkBool32 unnormalizedCoordinates;
2764 } VkSamplerCreateInfo;
2766 typedef struct VkDescriptorSetLayoutBinding {
2768 VkDescriptorType descriptorType;
2769 uint32_t descriptorCount;
2770 VkShaderStageFlags stageFlags;
2771 const VkSampler* pImmutableSamplers;
2772 } VkDescriptorSetLayoutBinding;
2774 typedef struct VkDescriptorSetLayoutCreateInfo {
2775 VkStructureType sType;
2777 VkDescriptorSetLayoutCreateFlags flags;
2778 uint32_t bindingCount;
2779 const VkDescriptorSetLayoutBinding* pBindings;
2780 } VkDescriptorSetLayoutCreateInfo;
2782 typedef struct VkDescriptorPoolSize {
2783 VkDescriptorType type;
2784 uint32_t descriptorCount;
2785 } VkDescriptorPoolSize;
2787 typedef struct VkDescriptorPoolCreateInfo {
2788 VkStructureType sType;
2790 VkDescriptorPoolCreateFlags flags;
2792 uint32_t poolSizeCount;
2793 const VkDescriptorPoolSize* pPoolSizes;
2794 } VkDescriptorPoolCreateInfo;
2796 typedef struct VkDescriptorSetAllocateInfo {
2797 VkStructureType sType;
2799 VkDescriptorPool descriptorPool;
2800 uint32_t descriptorSetCount;
2801 const VkDescriptorSetLayout* pSetLayouts;
2802 } VkDescriptorSetAllocateInfo;
2804 typedef struct VkDescriptorImageInfo {
2806 VkImageView imageView;
2807 VkImageLayout imageLayout;
2808 } VkDescriptorImageInfo;
2810 typedef struct VkDescriptorBufferInfo {
2812 VkDeviceSize offset;
2814 } VkDescriptorBufferInfo;
2816 typedef struct VkWriteDescriptorSet {
2817 VkStructureType sType;
2819 VkDescriptorSet dstSet;
2820 uint32_t dstBinding;
2821 uint32_t dstArrayElement;
2822 uint32_t descriptorCount;
2823 VkDescriptorType descriptorType;
2824 const VkDescriptorImageInfo* pImageInfo;
2825 const VkDescriptorBufferInfo* pBufferInfo;
2826 const VkBufferView* pTexelBufferView;
2827 } VkWriteDescriptorSet;
2829 typedef struct VkCopyDescriptorSet {
2830 VkStructureType sType;
2832 VkDescriptorSet srcSet;
2833 uint32_t srcBinding;
2834 uint32_t srcArrayElement;
2835 VkDescriptorSet dstSet;
2836 uint32_t dstBinding;
2837 uint32_t dstArrayElement;
2838 uint32_t descriptorCount;
2839 } VkCopyDescriptorSet;
2841 typedef struct VkFramebufferCreateInfo {
2842 VkStructureType sType;
2844 VkFramebufferCreateFlags flags;
2845 VkRenderPass renderPass;
2846 uint32_t attachmentCount;
2847 const VkImageView* pAttachments;
2851 } VkFramebufferCreateInfo;
2853 typedef struct VkAttachmentDescription {
2854 VkAttachmentDescriptionFlags flags;
2856 VkSampleCountFlagBits samples;
2857 VkAttachmentLoadOp loadOp;
2858 VkAttachmentStoreOp storeOp;
2859 VkAttachmentLoadOp stencilLoadOp;
2860 VkAttachmentStoreOp stencilStoreOp;
2861 VkImageLayout initialLayout;
2862 VkImageLayout finalLayout;
2863 } VkAttachmentDescription;
2865 typedef struct VkAttachmentReference {
2866 uint32_t attachment;
2867 VkImageLayout layout;
2868 } VkAttachmentReference;
2870 typedef struct VkSubpassDescription {
2871 VkSubpassDescriptionFlags flags;
2872 VkPipelineBindPoint pipelineBindPoint;
2873 uint32_t inputAttachmentCount;
2874 const VkAttachmentReference* pInputAttachments;
2875 uint32_t colorAttachmentCount;
2876 const VkAttachmentReference* pColorAttachments;
2877 const VkAttachmentReference* pResolveAttachments;
2878 const VkAttachmentReference* pDepthStencilAttachment;
2879 uint32_t preserveAttachmentCount;
2880 const uint32_t* pPreserveAttachments;
2881 } VkSubpassDescription;
2883 typedef struct VkSubpassDependency {
2884 uint32_t srcSubpass;
2885 uint32_t dstSubpass;
2886 VkPipelineStageFlags srcStageMask;
2887 VkPipelineStageFlags dstStageMask;
2888 VkAccessFlags srcAccessMask;
2889 VkAccessFlags dstAccessMask;
2890 VkDependencyFlags dependencyFlags;
2891 } VkSubpassDependency;
2893 typedef struct VkRenderPassCreateInfo {
2894 VkStructureType sType;
2896 VkRenderPassCreateFlags flags;
2897 uint32_t attachmentCount;
2898 const VkAttachmentDescription* pAttachments;
2899 uint32_t subpassCount;
2900 const VkSubpassDescription* pSubpasses;
2901 uint32_t dependencyCount;
2902 const VkSubpassDependency* pDependencies;
2903 } VkRenderPassCreateInfo;
2905 typedef struct VkCommandPoolCreateInfo {
2906 VkStructureType sType;
2908 VkCommandPoolCreateFlags flags;
2909 uint32_t queueFamilyIndex;
2910 } VkCommandPoolCreateInfo;
2912 typedef struct VkCommandBufferAllocateInfo {
2913 VkStructureType sType;
2915 VkCommandPool commandPool;
2916 VkCommandBufferLevel level;
2917 uint32_t commandBufferCount;
2918 } VkCommandBufferAllocateInfo;
2920 typedef struct VkCommandBufferInheritanceInfo {
2921 VkStructureType sType;
2923 VkRenderPass renderPass;
2925 VkFramebuffer framebuffer;
2926 VkBool32 occlusionQueryEnable;
2927 VkQueryControlFlags queryFlags;
2928 VkQueryPipelineStatisticFlags pipelineStatistics;
2929 } VkCommandBufferInheritanceInfo;
2931 typedef struct VkCommandBufferBeginInfo {
2932 VkStructureType sType;
2934 VkCommandBufferUsageFlags flags;
2935 const VkCommandBufferInheritanceInfo* pInheritanceInfo;
2936 } VkCommandBufferBeginInfo;
2938 typedef struct VkBufferCopy {
2939 VkDeviceSize srcOffset;
2940 VkDeviceSize dstOffset;
2944 typedef struct VkImageSubresourceLayers {
2945 VkImageAspectFlags aspectMask;
2947 uint32_t baseArrayLayer;
2948 uint32_t layerCount;
2949 } VkImageSubresourceLayers;
2951 typedef struct VkImageCopy {
2952 VkImageSubresourceLayers srcSubresource;
2953 VkOffset3D srcOffset;
2954 VkImageSubresourceLayers dstSubresource;
2955 VkOffset3D dstOffset;
2959 typedef struct VkImageBlit {
2960 VkImageSubresourceLayers srcSubresource;
2961 VkOffset3D srcOffsets[2];
2962 VkImageSubresourceLayers dstSubresource;
2963 VkOffset3D dstOffsets[2];
2966 typedef struct VkBufferImageCopy {
2967 VkDeviceSize bufferOffset;
2968 uint32_t bufferRowLength;
2969 uint32_t bufferImageHeight;
2970 VkImageSubresourceLayers imageSubresource;
2971 VkOffset3D imageOffset;
2972 VkExtent3D imageExtent;
2973 } VkBufferImageCopy;
2975 typedef union VkClearColorValue {
2979 } VkClearColorValue;
2981 typedef struct VkClearDepthStencilValue {
2984 } VkClearDepthStencilValue;
2986 typedef union VkClearValue {
2987 VkClearColorValue color;
2988 VkClearDepthStencilValue depthStencil;
2991 typedef struct VkClearAttachment {
2992 VkImageAspectFlags aspectMask;
2993 uint32_t colorAttachment;
2994 VkClearValue clearValue;
2995 } VkClearAttachment;
2997 typedef struct VkClearRect {
2999 uint32_t baseArrayLayer;
3000 uint32_t layerCount;
3003 typedef struct VkImageResolve {
3004 VkImageSubresourceLayers srcSubresource;
3005 VkOffset3D srcOffset;
3006 VkImageSubresourceLayers dstSubresource;
3007 VkOffset3D dstOffset;
3011 typedef struct VkMemoryBarrier {
3012 VkStructureType sType;
3014 VkAccessFlags srcAccessMask;
3015 VkAccessFlags dstAccessMask;
3018 typedef struct VkBufferMemoryBarrier {
3019 VkStructureType sType;
3021 VkAccessFlags srcAccessMask;
3022 VkAccessFlags dstAccessMask;
3023 uint32_t srcQueueFamilyIndex;
3024 uint32_t dstQueueFamilyIndex;
3026 VkDeviceSize offset;
3028 } VkBufferMemoryBarrier;
3030 typedef struct VkImageMemoryBarrier {
3031 VkStructureType sType;
3033 VkAccessFlags srcAccessMask;
3034 VkAccessFlags dstAccessMask;
3035 VkImageLayout oldLayout;
3036 VkImageLayout newLayout;
3037 uint32_t srcQueueFamilyIndex;
3038 uint32_t dstQueueFamilyIndex;
3040 VkImageSubresourceRange subresourceRange;
3041 } VkImageMemoryBarrier;
3043 typedef struct VkRenderPassBeginInfo {
3044 VkStructureType sType;
3046 VkRenderPass renderPass;
3047 VkFramebuffer framebuffer;
3048 VkRect2D renderArea;
3049 uint32_t clearValueCount;
3050 const VkClearValue* pClearValues;
3051 } VkRenderPassBeginInfo;
3053 typedef struct VkDispatchIndirectCommand {
3057 } VkDispatchIndirectCommand;
3059 typedef struct VkDrawIndexedIndirectCommand {
3060 uint32_t indexCount;
3061 uint32_t instanceCount;
3062 uint32_t firstIndex;
3063 int32_t vertexOffset;
3064 uint32_t firstInstance;
3065 } VkDrawIndexedIndirectCommand;
3067 typedef struct VkDrawIndirectCommand {
3068 uint32_t vertexCount;
3069 uint32_t instanceCount;
3070 uint32_t firstVertex;
3071 uint32_t firstInstance;
3072 } VkDrawIndirectCommand;
3074 typedef struct VkBaseOutStructure {
3075 VkStructureType sType;
3076 struct VkBaseOutStructure* pNext;
3077 } VkBaseOutStructure;
3079 typedef struct VkBaseInStructure {
3080 VkStructureType sType;
3081 const struct VkBaseInStructure* pNext;
3082 } VkBaseInStructure;
3084 typedef VkResult (VKAPI_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance);
3085 typedef void (VKAPI_PTR *PFN_vkDestroyInstance)(VkInstance instance, const VkAllocationCallbacks* pAllocator);
3086 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDevices)(VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices);
3087 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures);
3088 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties);
3089 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties);
3090 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties);
3091 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties);
3092 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties);
3093 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddr)(VkInstance instance, const char* pName);
3094 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetDeviceProcAddr)(VkDevice device, const char* pName);
3095 typedef VkResult (VKAPI_PTR *PFN_vkCreateDevice)(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice);
3096 typedef void (VKAPI_PTR *PFN_vkDestroyDevice)(VkDevice device, const VkAllocationCallbacks* pAllocator);
3097 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceExtensionProperties)(const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties);
3098 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties);
3099 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceLayerProperties)(uint32_t* pPropertyCount, VkLayerProperties* pProperties);
3100 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties);
3101 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue)(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue);
3102 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence);
3103 typedef VkResult (VKAPI_PTR *PFN_vkQueueWaitIdle)(VkQueue queue);
3104 typedef VkResult (VKAPI_PTR *PFN_vkDeviceWaitIdle)(VkDevice device);
3105 typedef VkResult (VKAPI_PTR *PFN_vkAllocateMemory)(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory);
3106 typedef void (VKAPI_PTR *PFN_vkFreeMemory)(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator);
3107 typedef VkResult (VKAPI_PTR *PFN_vkMapMemory)(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData);
3108 typedef void (VKAPI_PTR *PFN_vkUnmapMemory)(VkDevice device, VkDeviceMemory memory);
3109 typedef VkResult (VKAPI_PTR *PFN_vkFlushMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
3110 typedef VkResult (VKAPI_PTR *PFN_vkInvalidateMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
3111 typedef void (VKAPI_PTR *PFN_vkGetDeviceMemoryCommitment)(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes);
3112 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory)(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset);
3113 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory)(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset);
3114 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements)(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements);
3115 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements)(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements);
3116 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements)(VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
3117 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties);
3118 typedef VkResult (VKAPI_PTR *PFN_vkQueueBindSparse)(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence);
3119 typedef VkResult (VKAPI_PTR *PFN_vkCreateFence)(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
3120 typedef void (VKAPI_PTR *PFN_vkDestroyFence)(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator);
3121 typedef VkResult (VKAPI_PTR *PFN_vkResetFences)(VkDevice device, uint32_t fenceCount, const VkFence* pFences);
3122 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceStatus)(VkDevice device, VkFence fence);
3123 typedef VkResult (VKAPI_PTR *PFN_vkWaitForFences)(VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout);
3124 typedef VkResult (VKAPI_PTR *PFN_vkCreateSemaphore)(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore);
3125 typedef void (VKAPI_PTR *PFN_vkDestroySemaphore)(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator);
3126 typedef VkResult (VKAPI_PTR *PFN_vkCreateEvent)(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent);
3127 typedef void (VKAPI_PTR *PFN_vkDestroyEvent)(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator);
3128 typedef VkResult (VKAPI_PTR *PFN_vkGetEventStatus)(VkDevice device, VkEvent event);
3129 typedef VkResult (VKAPI_PTR *PFN_vkSetEvent)(VkDevice device, VkEvent event);
3130 typedef VkResult (VKAPI_PTR *PFN_vkResetEvent)(VkDevice device, VkEvent event);
3131 typedef VkResult (VKAPI_PTR *PFN_vkCreateQueryPool)(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool);
3132 typedef void (VKAPI_PTR *PFN_vkDestroyQueryPool)(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator);
3133 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);
3134 typedef VkResult (VKAPI_PTR *PFN_vkCreateBuffer)(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer);
3135 typedef void (VKAPI_PTR *PFN_vkDestroyBuffer)(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator);
3136 typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferView)(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView);
3137 typedef void (VKAPI_PTR *PFN_vkDestroyBufferView)(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator);
3138 typedef VkResult (VKAPI_PTR *PFN_vkCreateImage)(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage);
3139 typedef void (VKAPI_PTR *PFN_vkDestroyImage)(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator);
3140 typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout)(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout);
3141 typedef VkResult (VKAPI_PTR *PFN_vkCreateImageView)(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView);
3142 typedef void (VKAPI_PTR *PFN_vkDestroyImageView)(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator);
3143 typedef VkResult (VKAPI_PTR *PFN_vkCreateShaderModule)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule);
3144 typedef void (VKAPI_PTR *PFN_vkDestroyShaderModule)(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator);
3145 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineCache)(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache);
3146 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineCache)(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator);
3147 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineCacheData)(VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData);
3148 typedef VkResult (VKAPI_PTR *PFN_vkMergePipelineCaches)(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches);
3149 typedef VkResult (VKAPI_PTR *PFN_vkCreateGraphicsPipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
3150 typedef VkResult (VKAPI_PTR *PFN_vkCreateComputePipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
3151 typedef void (VKAPI_PTR *PFN_vkDestroyPipeline)(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator);
3152 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineLayout)(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout);
3153 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineLayout)(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator);
3154 typedef VkResult (VKAPI_PTR *PFN_vkCreateSampler)(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler);
3155 typedef void (VKAPI_PTR *PFN_vkDestroySampler)(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator);
3156 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorSetLayout)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout);
3157 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorSetLayout)(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator);
3158 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorPool)(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool);
3159 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator);
3160 typedef VkResult (VKAPI_PTR *PFN_vkResetDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags);
3161 typedef VkResult (VKAPI_PTR *PFN_vkAllocateDescriptorSets)(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets);
3162 typedef VkResult (VKAPI_PTR *PFN_vkFreeDescriptorSets)(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets);
3163 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSets)(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies);
3164 typedef VkResult (VKAPI_PTR *PFN_vkCreateFramebuffer)(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer);
3165 typedef void (VKAPI_PTR *PFN_vkDestroyFramebuffer)(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator);
3166 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass)(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
3167 typedef void (VKAPI_PTR *PFN_vkDestroyRenderPass)(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator);
3168 typedef void (VKAPI_PTR *PFN_vkGetRenderAreaGranularity)(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity);
3169 typedef VkResult (VKAPI_PTR *PFN_vkCreateCommandPool)(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool);
3170 typedef void (VKAPI_PTR *PFN_vkDestroyCommandPool)(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator);
3171 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags);
3172 typedef VkResult (VKAPI_PTR *PFN_vkAllocateCommandBuffers)(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers);
3173 typedef void (VKAPI_PTR *PFN_vkFreeCommandBuffers)(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers);
3174 typedef VkResult (VKAPI_PTR *PFN_vkBeginCommandBuffer)(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo);
3175 typedef VkResult (VKAPI_PTR *PFN_vkEndCommandBuffer)(VkCommandBuffer commandBuffer);
3176 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandBuffer)(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags);
3177 typedef void (VKAPI_PTR *PFN_vkCmdBindPipeline)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline);
3178 typedef void (VKAPI_PTR *PFN_vkCmdSetViewport)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports);
3179 typedef void (VKAPI_PTR *PFN_vkCmdSetScissor)(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors);
3180 typedef void (VKAPI_PTR *PFN_vkCmdSetLineWidth)(VkCommandBuffer commandBuffer, float lineWidth);
3181 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias)(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor);
3182 typedef void (VKAPI_PTR *PFN_vkCmdSetBlendConstants)(VkCommandBuffer commandBuffer, const float blendConstants[4]);
3183 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBounds)(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds);
3184 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilCompareMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask);
3185 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilWriteMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask);
3186 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilReference)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference);
3187 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);
3188 typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType);
3189 typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets);
3190 typedef void (VKAPI_PTR *PFN_vkCmdDraw)(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance);
3191 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexed)(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance);
3192 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
3193 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
3194 typedef void (VKAPI_PTR *PFN_vkCmdDispatch)(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ);
3195 typedef void (VKAPI_PTR *PFN_vkCmdDispatchIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset);
3196 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions);
3197 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions);
3198 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter);
3199 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions);
3200 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions);
3201 typedef void (VKAPI_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData);
3202 typedef void (VKAPI_PTR *PFN_vkCmdFillBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data);
3203 typedef void (VKAPI_PTR *PFN_vkCmdClearColorImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges);
3204 typedef void (VKAPI_PTR *PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges);
3205 typedef void (VKAPI_PTR *PFN_vkCmdClearAttachments)(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects);
3206 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions);
3207 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
3208 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
3209 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);
3210 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);
3211 typedef void (VKAPI_PTR *PFN_vkCmdBeginQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags);
3212 typedef void (VKAPI_PTR *PFN_vkCmdEndQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query);
3213 typedef void (VKAPI_PTR *PFN_vkCmdResetQueryPool)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount);
3214 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query);
3215 typedef void (VKAPI_PTR *PFN_vkCmdCopyQueryPoolResults)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags);
3216 typedef void (VKAPI_PTR *PFN_vkCmdPushConstants)(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues);
3217 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents);
3218 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass)(VkCommandBuffer commandBuffer, VkSubpassContents contents);
3219 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass)(VkCommandBuffer commandBuffer);
3220 typedef void (VKAPI_PTR *PFN_vkCmdExecuteCommands)(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers);
3222 #ifndef VK_NO_PROTOTYPES
3223 VKAPI_ATTR VkResult VKAPI_CALL vkCreateInstance(
3224 const VkInstanceCreateInfo* pCreateInfo,
3225 const VkAllocationCallbacks* pAllocator,
3226 VkInstance* pInstance);
3228 VKAPI_ATTR void VKAPI_CALL vkDestroyInstance(
3229 VkInstance instance,
3230 const VkAllocationCallbacks* pAllocator);
3232 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDevices(
3233 VkInstance instance,
3234 uint32_t* pPhysicalDeviceCount,
3235 VkPhysicalDevice* pPhysicalDevices);
3237 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures(
3238 VkPhysicalDevice physicalDevice,
3239 VkPhysicalDeviceFeatures* pFeatures);
3241 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties(
3242 VkPhysicalDevice physicalDevice,
3244 VkFormatProperties* pFormatProperties);
3246 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties(
3247 VkPhysicalDevice physicalDevice,
3250 VkImageTiling tiling,
3251 VkImageUsageFlags usage,
3252 VkImageCreateFlags flags,
3253 VkImageFormatProperties* pImageFormatProperties);
3255 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties(
3256 VkPhysicalDevice physicalDevice,
3257 VkPhysicalDeviceProperties* pProperties);
3259 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties(
3260 VkPhysicalDevice physicalDevice,
3261 uint32_t* pQueueFamilyPropertyCount,
3262 VkQueueFamilyProperties* pQueueFamilyProperties);
3264 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties(
3265 VkPhysicalDevice physicalDevice,
3266 VkPhysicalDeviceMemoryProperties* pMemoryProperties);
3268 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr(
3269 VkInstance instance,
3272 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr(
3276 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDevice(
3277 VkPhysicalDevice physicalDevice,
3278 const VkDeviceCreateInfo* pCreateInfo,
3279 const VkAllocationCallbacks* pAllocator,
3282 VKAPI_ATTR void VKAPI_CALL vkDestroyDevice(
3284 const VkAllocationCallbacks* pAllocator);
3286 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionProperties(
3287 const char* pLayerName,
3288 uint32_t* pPropertyCount,
3289 VkExtensionProperties* pProperties);
3291 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceExtensionProperties(
3292 VkPhysicalDevice physicalDevice,
3293 const char* pLayerName,
3294 uint32_t* pPropertyCount,
3295 VkExtensionProperties* pProperties);
3297 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties(
3298 uint32_t* pPropertyCount,
3299 VkLayerProperties* pProperties);
3301 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceLayerProperties(
3302 VkPhysicalDevice physicalDevice,
3303 uint32_t* pPropertyCount,
3304 VkLayerProperties* pProperties);
3306 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue(
3308 uint32_t queueFamilyIndex,
3309 uint32_t queueIndex,
3312 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit(
3314 uint32_t submitCount,
3315 const VkSubmitInfo* pSubmits,
3318 VKAPI_ATTR VkResult VKAPI_CALL vkQueueWaitIdle(
3321 VKAPI_ATTR VkResult VKAPI_CALL vkDeviceWaitIdle(
3324 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateMemory(
3326 const VkMemoryAllocateInfo* pAllocateInfo,
3327 const VkAllocationCallbacks* pAllocator,
3328 VkDeviceMemory* pMemory);
3330 VKAPI_ATTR void VKAPI_CALL vkFreeMemory(
3332 VkDeviceMemory memory,
3333 const VkAllocationCallbacks* pAllocator);
3335 VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory(
3337 VkDeviceMemory memory,
3338 VkDeviceSize offset,
3340 VkMemoryMapFlags flags,
3343 VKAPI_ATTR void VKAPI_CALL vkUnmapMemory(
3345 VkDeviceMemory memory);
3347 VKAPI_ATTR VkResult VKAPI_CALL vkFlushMappedMemoryRanges(
3349 uint32_t memoryRangeCount,
3350 const VkMappedMemoryRange* pMemoryRanges);
3352 VKAPI_ATTR VkResult VKAPI_CALL vkInvalidateMappedMemoryRanges(
3354 uint32_t memoryRangeCount,
3355 const VkMappedMemoryRange* pMemoryRanges);
3357 VKAPI_ATTR void VKAPI_CALL vkGetDeviceMemoryCommitment(
3359 VkDeviceMemory memory,
3360 VkDeviceSize* pCommittedMemoryInBytes);
3362 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory(
3365 VkDeviceMemory memory,
3366 VkDeviceSize memoryOffset);
3368 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory(
3371 VkDeviceMemory memory,
3372 VkDeviceSize memoryOffset);
3374 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements(
3377 VkMemoryRequirements* pMemoryRequirements);
3379 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements(
3382 VkMemoryRequirements* pMemoryRequirements);
3384 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements(
3387 uint32_t* pSparseMemoryRequirementCount,
3388 VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
3390 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties(
3391 VkPhysicalDevice physicalDevice,
3394 VkSampleCountFlagBits samples,
3395 VkImageUsageFlags usage,
3396 VkImageTiling tiling,
3397 uint32_t* pPropertyCount,
3398 VkSparseImageFormatProperties* pProperties);
3400 VKAPI_ATTR VkResult VKAPI_CALL vkQueueBindSparse(
3402 uint32_t bindInfoCount,
3403 const VkBindSparseInfo* pBindInfo,
3406 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFence(
3408 const VkFenceCreateInfo* pCreateInfo,
3409 const VkAllocationCallbacks* pAllocator,
3412 VKAPI_ATTR void VKAPI_CALL vkDestroyFence(
3415 const VkAllocationCallbacks* pAllocator);
3417 VKAPI_ATTR VkResult VKAPI_CALL vkResetFences(
3419 uint32_t fenceCount,
3420 const VkFence* pFences);
3422 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceStatus(
3426 VKAPI_ATTR VkResult VKAPI_CALL vkWaitForFences(
3428 uint32_t fenceCount,
3429 const VkFence* pFences,
3433 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSemaphore(
3435 const VkSemaphoreCreateInfo* pCreateInfo,
3436 const VkAllocationCallbacks* pAllocator,
3437 VkSemaphore* pSemaphore);
3439 VKAPI_ATTR void VKAPI_CALL vkDestroySemaphore(
3441 VkSemaphore semaphore,
3442 const VkAllocationCallbacks* pAllocator);
3444 VKAPI_ATTR VkResult VKAPI_CALL vkCreateEvent(
3446 const VkEventCreateInfo* pCreateInfo,
3447 const VkAllocationCallbacks* pAllocator,
3450 VKAPI_ATTR void VKAPI_CALL vkDestroyEvent(
3453 const VkAllocationCallbacks* pAllocator);
3455 VKAPI_ATTR VkResult VKAPI_CALL vkGetEventStatus(
3459 VKAPI_ATTR VkResult VKAPI_CALL vkSetEvent(
3463 VKAPI_ATTR VkResult VKAPI_CALL vkResetEvent(
3467 VKAPI_ATTR VkResult VKAPI_CALL vkCreateQueryPool(
3469 const VkQueryPoolCreateInfo* pCreateInfo,
3470 const VkAllocationCallbacks* pAllocator,
3471 VkQueryPool* pQueryPool);
3473 VKAPI_ATTR void VKAPI_CALL vkDestroyQueryPool(
3475 VkQueryPool queryPool,
3476 const VkAllocationCallbacks* pAllocator);
3478 VKAPI_ATTR VkResult VKAPI_CALL vkGetQueryPoolResults(
3480 VkQueryPool queryPool,
3481 uint32_t firstQuery,
3482 uint32_t queryCount,
3485 VkDeviceSize stride,
3486 VkQueryResultFlags flags);
3488 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBuffer(
3490 const VkBufferCreateInfo* pCreateInfo,
3491 const VkAllocationCallbacks* pAllocator,
3494 VKAPI_ATTR void VKAPI_CALL vkDestroyBuffer(
3497 const VkAllocationCallbacks* pAllocator);
3499 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferView(
3501 const VkBufferViewCreateInfo* pCreateInfo,
3502 const VkAllocationCallbacks* pAllocator,
3503 VkBufferView* pView);
3505 VKAPI_ATTR void VKAPI_CALL vkDestroyBufferView(
3507 VkBufferView bufferView,
3508 const VkAllocationCallbacks* pAllocator);
3510 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImage(
3512 const VkImageCreateInfo* pCreateInfo,
3513 const VkAllocationCallbacks* pAllocator,
3516 VKAPI_ATTR void VKAPI_CALL vkDestroyImage(
3519 const VkAllocationCallbacks* pAllocator);
3521 VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout(
3524 const VkImageSubresource* pSubresource,
3525 VkSubresourceLayout* pLayout);
3527 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImageView(
3529 const VkImageViewCreateInfo* pCreateInfo,
3530 const VkAllocationCallbacks* pAllocator,
3531 VkImageView* pView);
3533 VKAPI_ATTR void VKAPI_CALL vkDestroyImageView(
3535 VkImageView imageView,
3536 const VkAllocationCallbacks* pAllocator);
3538 VKAPI_ATTR VkResult VKAPI_CALL vkCreateShaderModule(
3540 const VkShaderModuleCreateInfo* pCreateInfo,
3541 const VkAllocationCallbacks* pAllocator,
3542 VkShaderModule* pShaderModule);
3544 VKAPI_ATTR void VKAPI_CALL vkDestroyShaderModule(
3546 VkShaderModule shaderModule,
3547 const VkAllocationCallbacks* pAllocator);
3549 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineCache(
3551 const VkPipelineCacheCreateInfo* pCreateInfo,
3552 const VkAllocationCallbacks* pAllocator,
3553 VkPipelineCache* pPipelineCache);
3555 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineCache(
3557 VkPipelineCache pipelineCache,
3558 const VkAllocationCallbacks* pAllocator);
3560 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineCacheData(
3562 VkPipelineCache pipelineCache,
3566 VKAPI_ATTR VkResult VKAPI_CALL vkMergePipelineCaches(
3568 VkPipelineCache dstCache,
3569 uint32_t srcCacheCount,
3570 const VkPipelineCache* pSrcCaches);
3572 VKAPI_ATTR VkResult VKAPI_CALL vkCreateGraphicsPipelines(
3574 VkPipelineCache pipelineCache,
3575 uint32_t createInfoCount,
3576 const VkGraphicsPipelineCreateInfo* pCreateInfos,
3577 const VkAllocationCallbacks* pAllocator,
3578 VkPipeline* pPipelines);
3580 VKAPI_ATTR VkResult VKAPI_CALL vkCreateComputePipelines(
3582 VkPipelineCache pipelineCache,
3583 uint32_t createInfoCount,
3584 const VkComputePipelineCreateInfo* pCreateInfos,
3585 const VkAllocationCallbacks* pAllocator,
3586 VkPipeline* pPipelines);
3588 VKAPI_ATTR void VKAPI_CALL vkDestroyPipeline(
3590 VkPipeline pipeline,
3591 const VkAllocationCallbacks* pAllocator);
3593 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineLayout(
3595 const VkPipelineLayoutCreateInfo* pCreateInfo,
3596 const VkAllocationCallbacks* pAllocator,
3597 VkPipelineLayout* pPipelineLayout);
3599 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineLayout(
3601 VkPipelineLayout pipelineLayout,
3602 const VkAllocationCallbacks* pAllocator);
3604 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSampler(
3606 const VkSamplerCreateInfo* pCreateInfo,
3607 const VkAllocationCallbacks* pAllocator,
3608 VkSampler* pSampler);
3610 VKAPI_ATTR void VKAPI_CALL vkDestroySampler(
3613 const VkAllocationCallbacks* pAllocator);
3615 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorSetLayout(
3617 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
3618 const VkAllocationCallbacks* pAllocator,
3619 VkDescriptorSetLayout* pSetLayout);
3621 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorSetLayout(
3623 VkDescriptorSetLayout descriptorSetLayout,
3624 const VkAllocationCallbacks* pAllocator);
3626 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorPool(
3628 const VkDescriptorPoolCreateInfo* pCreateInfo,
3629 const VkAllocationCallbacks* pAllocator,
3630 VkDescriptorPool* pDescriptorPool);
3632 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorPool(
3634 VkDescriptorPool descriptorPool,
3635 const VkAllocationCallbacks* pAllocator);
3637 VKAPI_ATTR VkResult VKAPI_CALL vkResetDescriptorPool(
3639 VkDescriptorPool descriptorPool,
3640 VkDescriptorPoolResetFlags flags);
3642 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateDescriptorSets(
3644 const VkDescriptorSetAllocateInfo* pAllocateInfo,
3645 VkDescriptorSet* pDescriptorSets);
3647 VKAPI_ATTR VkResult VKAPI_CALL vkFreeDescriptorSets(
3649 VkDescriptorPool descriptorPool,
3650 uint32_t descriptorSetCount,
3651 const VkDescriptorSet* pDescriptorSets);
3653 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSets(
3655 uint32_t descriptorWriteCount,
3656 const VkWriteDescriptorSet* pDescriptorWrites,
3657 uint32_t descriptorCopyCount,
3658 const VkCopyDescriptorSet* pDescriptorCopies);
3660 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFramebuffer(
3662 const VkFramebufferCreateInfo* pCreateInfo,
3663 const VkAllocationCallbacks* pAllocator,
3664 VkFramebuffer* pFramebuffer);
3666 VKAPI_ATTR void VKAPI_CALL vkDestroyFramebuffer(
3668 VkFramebuffer framebuffer,
3669 const VkAllocationCallbacks* pAllocator);
3671 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass(
3673 const VkRenderPassCreateInfo* pCreateInfo,
3674 const VkAllocationCallbacks* pAllocator,
3675 VkRenderPass* pRenderPass);
3677 VKAPI_ATTR void VKAPI_CALL vkDestroyRenderPass(
3679 VkRenderPass renderPass,
3680 const VkAllocationCallbacks* pAllocator);
3682 VKAPI_ATTR void VKAPI_CALL vkGetRenderAreaGranularity(
3684 VkRenderPass renderPass,
3685 VkExtent2D* pGranularity);
3687 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCommandPool(
3689 const VkCommandPoolCreateInfo* pCreateInfo,
3690 const VkAllocationCallbacks* pAllocator,
3691 VkCommandPool* pCommandPool);
3693 VKAPI_ATTR void VKAPI_CALL vkDestroyCommandPool(
3695 VkCommandPool commandPool,
3696 const VkAllocationCallbacks* pAllocator);
3698 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandPool(
3700 VkCommandPool commandPool,
3701 VkCommandPoolResetFlags flags);
3703 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateCommandBuffers(
3705 const VkCommandBufferAllocateInfo* pAllocateInfo,
3706 VkCommandBuffer* pCommandBuffers);
3708 VKAPI_ATTR void VKAPI_CALL vkFreeCommandBuffers(
3710 VkCommandPool commandPool,
3711 uint32_t commandBufferCount,
3712 const VkCommandBuffer* pCommandBuffers);
3714 VKAPI_ATTR VkResult VKAPI_CALL vkBeginCommandBuffer(
3715 VkCommandBuffer commandBuffer,
3716 const VkCommandBufferBeginInfo* pBeginInfo);
3718 VKAPI_ATTR VkResult VKAPI_CALL vkEndCommandBuffer(
3719 VkCommandBuffer commandBuffer);
3721 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandBuffer(
3722 VkCommandBuffer commandBuffer,
3723 VkCommandBufferResetFlags flags);
3725 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipeline(
3726 VkCommandBuffer commandBuffer,
3727 VkPipelineBindPoint pipelineBindPoint,
3728 VkPipeline pipeline);
3730 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewport(
3731 VkCommandBuffer commandBuffer,
3732 uint32_t firstViewport,
3733 uint32_t viewportCount,
3734 const VkViewport* pViewports);
3736 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissor(
3737 VkCommandBuffer commandBuffer,
3738 uint32_t firstScissor,
3739 uint32_t scissorCount,
3740 const VkRect2D* pScissors);
3742 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineWidth(
3743 VkCommandBuffer commandBuffer,
3746 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias(
3747 VkCommandBuffer commandBuffer,
3748 float depthBiasConstantFactor,
3749 float depthBiasClamp,
3750 float depthBiasSlopeFactor);
3752 VKAPI_ATTR void VKAPI_CALL vkCmdSetBlendConstants(
3753 VkCommandBuffer commandBuffer,
3754 const float blendConstants[4]);
3756 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBounds(
3757 VkCommandBuffer commandBuffer,
3758 float minDepthBounds,
3759 float maxDepthBounds);
3761 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilCompareMask(
3762 VkCommandBuffer commandBuffer,
3763 VkStencilFaceFlags faceMask,
3764 uint32_t compareMask);
3766 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilWriteMask(
3767 VkCommandBuffer commandBuffer,
3768 VkStencilFaceFlags faceMask,
3769 uint32_t writeMask);
3771 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilReference(
3772 VkCommandBuffer commandBuffer,
3773 VkStencilFaceFlags faceMask,
3774 uint32_t reference);
3776 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets(
3777 VkCommandBuffer commandBuffer,
3778 VkPipelineBindPoint pipelineBindPoint,
3779 VkPipelineLayout layout,
3781 uint32_t descriptorSetCount,
3782 const VkDescriptorSet* pDescriptorSets,
3783 uint32_t dynamicOffsetCount,
3784 const uint32_t* pDynamicOffsets);
3786 VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer(
3787 VkCommandBuffer commandBuffer,
3789 VkDeviceSize offset,
3790 VkIndexType indexType);
3792 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers(
3793 VkCommandBuffer commandBuffer,
3794 uint32_t firstBinding,
3795 uint32_t bindingCount,
3796 const VkBuffer* pBuffers,
3797 const VkDeviceSize* pOffsets);
3799 VKAPI_ATTR void VKAPI_CALL vkCmdDraw(
3800 VkCommandBuffer commandBuffer,
3801 uint32_t vertexCount,
3802 uint32_t instanceCount,
3803 uint32_t firstVertex,
3804 uint32_t firstInstance);
3806 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexed(
3807 VkCommandBuffer commandBuffer,
3808 uint32_t indexCount,
3809 uint32_t instanceCount,
3810 uint32_t firstIndex,
3811 int32_t vertexOffset,
3812 uint32_t firstInstance);
3814 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirect(
3815 VkCommandBuffer commandBuffer,
3817 VkDeviceSize offset,
3821 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirect(
3822 VkCommandBuffer commandBuffer,
3824 VkDeviceSize offset,
3828 VKAPI_ATTR void VKAPI_CALL vkCmdDispatch(
3829 VkCommandBuffer commandBuffer,
3830 uint32_t groupCountX,
3831 uint32_t groupCountY,
3832 uint32_t groupCountZ);
3834 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchIndirect(
3835 VkCommandBuffer commandBuffer,
3837 VkDeviceSize offset);
3839 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer(
3840 VkCommandBuffer commandBuffer,
3843 uint32_t regionCount,
3844 const VkBufferCopy* pRegions);
3846 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage(
3847 VkCommandBuffer commandBuffer,
3849 VkImageLayout srcImageLayout,
3851 VkImageLayout dstImageLayout,
3852 uint32_t regionCount,
3853 const VkImageCopy* pRegions);
3855 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage(
3856 VkCommandBuffer commandBuffer,
3858 VkImageLayout srcImageLayout,
3860 VkImageLayout dstImageLayout,
3861 uint32_t regionCount,
3862 const VkImageBlit* pRegions,
3865 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage(
3866 VkCommandBuffer commandBuffer,
3869 VkImageLayout dstImageLayout,
3870 uint32_t regionCount,
3871 const VkBufferImageCopy* pRegions);
3873 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer(
3874 VkCommandBuffer commandBuffer,
3876 VkImageLayout srcImageLayout,
3878 uint32_t regionCount,
3879 const VkBufferImageCopy* pRegions);
3881 VKAPI_ATTR void VKAPI_CALL vkCmdUpdateBuffer(
3882 VkCommandBuffer commandBuffer,
3884 VkDeviceSize dstOffset,
3885 VkDeviceSize dataSize,
3888 VKAPI_ATTR void VKAPI_CALL vkCmdFillBuffer(
3889 VkCommandBuffer commandBuffer,
3891 VkDeviceSize dstOffset,
3895 VKAPI_ATTR void VKAPI_CALL vkCmdClearColorImage(
3896 VkCommandBuffer commandBuffer,
3898 VkImageLayout imageLayout,
3899 const VkClearColorValue* pColor,
3900 uint32_t rangeCount,
3901 const VkImageSubresourceRange* pRanges);
3903 VKAPI_ATTR void VKAPI_CALL vkCmdClearDepthStencilImage(
3904 VkCommandBuffer commandBuffer,
3906 VkImageLayout imageLayout,
3907 const VkClearDepthStencilValue* pDepthStencil,
3908 uint32_t rangeCount,
3909 const VkImageSubresourceRange* pRanges);
3911 VKAPI_ATTR void VKAPI_CALL vkCmdClearAttachments(
3912 VkCommandBuffer commandBuffer,
3913 uint32_t attachmentCount,
3914 const VkClearAttachment* pAttachments,
3916 const VkClearRect* pRects);
3918 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage(
3919 VkCommandBuffer commandBuffer,
3921 VkImageLayout srcImageLayout,
3923 VkImageLayout dstImageLayout,
3924 uint32_t regionCount,
3925 const VkImageResolve* pRegions);
3927 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent(
3928 VkCommandBuffer commandBuffer,
3930 VkPipelineStageFlags stageMask);
3932 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent(
3933 VkCommandBuffer commandBuffer,
3935 VkPipelineStageFlags stageMask);
3937 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents(
3938 VkCommandBuffer commandBuffer,
3939 uint32_t eventCount,
3940 const VkEvent* pEvents,
3941 VkPipelineStageFlags srcStageMask,
3942 VkPipelineStageFlags dstStageMask,
3943 uint32_t memoryBarrierCount,
3944 const VkMemoryBarrier* pMemoryBarriers,
3945 uint32_t bufferMemoryBarrierCount,
3946 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
3947 uint32_t imageMemoryBarrierCount,
3948 const VkImageMemoryBarrier* pImageMemoryBarriers);
3950 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier(
3951 VkCommandBuffer commandBuffer,
3952 VkPipelineStageFlags srcStageMask,
3953 VkPipelineStageFlags dstStageMask,
3954 VkDependencyFlags dependencyFlags,
3955 uint32_t memoryBarrierCount,
3956 const VkMemoryBarrier* pMemoryBarriers,
3957 uint32_t bufferMemoryBarrierCount,
3958 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
3959 uint32_t imageMemoryBarrierCount,
3960 const VkImageMemoryBarrier* pImageMemoryBarriers);
3962 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQuery(
3963 VkCommandBuffer commandBuffer,
3964 VkQueryPool queryPool,
3966 VkQueryControlFlags flags);
3968 VKAPI_ATTR void VKAPI_CALL vkCmdEndQuery(
3969 VkCommandBuffer commandBuffer,
3970 VkQueryPool queryPool,
3973 VKAPI_ATTR void VKAPI_CALL vkCmdResetQueryPool(
3974 VkCommandBuffer commandBuffer,
3975 VkQueryPool queryPool,
3976 uint32_t firstQuery,
3977 uint32_t queryCount);
3979 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp(
3980 VkCommandBuffer commandBuffer,
3981 VkPipelineStageFlagBits pipelineStage,
3982 VkQueryPool queryPool,
3985 VKAPI_ATTR void VKAPI_CALL vkCmdCopyQueryPoolResults(
3986 VkCommandBuffer commandBuffer,
3987 VkQueryPool queryPool,
3988 uint32_t firstQuery,
3989 uint32_t queryCount,
3991 VkDeviceSize dstOffset,
3992 VkDeviceSize stride,
3993 VkQueryResultFlags flags);
3995 VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants(
3996 VkCommandBuffer commandBuffer,
3997 VkPipelineLayout layout,
3998 VkShaderStageFlags stageFlags,
4001 const void* pValues);
4003 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass(
4004 VkCommandBuffer commandBuffer,
4005 const VkRenderPassBeginInfo* pRenderPassBegin,
4006 VkSubpassContents contents);
4008 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass(
4009 VkCommandBuffer commandBuffer,
4010 VkSubpassContents contents);
4012 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass(
4013 VkCommandBuffer commandBuffer);
4015 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteCommands(
4016 VkCommandBuffer commandBuffer,
4017 uint32_t commandBufferCount,
4018 const VkCommandBuffer* pCommandBuffers);
4022 #define VK_VERSION_1_1 1
4023 // Vulkan 1.1 version number
4024 #define VK_API_VERSION_1_1 VK_MAKE_VERSION(1, 1, 0)// Patch version should always be set to 0
4026 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion)
4027 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate)
4028 #define VK_MAX_DEVICE_GROUP_SIZE 32
4029 #define VK_LUID_SIZE 8
4030 #define VK_QUEUE_FAMILY_EXTERNAL (~0U-1)
4032 typedef enum VkPointClippingBehavior {
4033 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES = 0,
4034 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY = 1,
4035 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES,
4036 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY,
4037 VK_POINT_CLIPPING_BEHAVIOR_BEGIN_RANGE = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES,
4038 VK_POINT_CLIPPING_BEHAVIOR_END_RANGE = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY,
4039 VK_POINT_CLIPPING_BEHAVIOR_RANGE_SIZE = (VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY - VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES + 1),
4040 VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF
4041 } VkPointClippingBehavior;
4043 typedef enum VkTessellationDomainOrigin {
4044 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT = 0,
4045 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT = 1,
4046 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT,
4047 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT,
4048 VK_TESSELLATION_DOMAIN_ORIGIN_BEGIN_RANGE = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT,
4049 VK_TESSELLATION_DOMAIN_ORIGIN_END_RANGE = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT,
4050 VK_TESSELLATION_DOMAIN_ORIGIN_RANGE_SIZE = (VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT - VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT + 1),
4051 VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM = 0x7FFFFFFF
4052 } VkTessellationDomainOrigin;
4054 typedef enum VkSamplerYcbcrModelConversion {
4055 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY = 0,
4056 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY = 1,
4057 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 = 2,
4058 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 = 3,
4059 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 = 4,
4060 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY,
4061 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY,
4062 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709,
4063 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601,
4064 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020,
4065 VK_SAMPLER_YCBCR_MODEL_CONVERSION_BEGIN_RANGE = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY,
4066 VK_SAMPLER_YCBCR_MODEL_CONVERSION_END_RANGE = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020,
4067 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RANGE_SIZE = (VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 - VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY + 1),
4068 VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM = 0x7FFFFFFF
4069 } VkSamplerYcbcrModelConversion;
4071 typedef enum VkSamplerYcbcrRange {
4072 VK_SAMPLER_YCBCR_RANGE_ITU_FULL = 0,
4073 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW = 1,
4074 VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_FULL,
4075 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW,
4076 VK_SAMPLER_YCBCR_RANGE_BEGIN_RANGE = VK_SAMPLER_YCBCR_RANGE_ITU_FULL,
4077 VK_SAMPLER_YCBCR_RANGE_END_RANGE = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW,
4078 VK_SAMPLER_YCBCR_RANGE_RANGE_SIZE = (VK_SAMPLER_YCBCR_RANGE_ITU_NARROW - VK_SAMPLER_YCBCR_RANGE_ITU_FULL + 1),
4079 VK_SAMPLER_YCBCR_RANGE_MAX_ENUM = 0x7FFFFFFF
4080 } VkSamplerYcbcrRange;
4082 typedef enum VkChromaLocation {
4083 VK_CHROMA_LOCATION_COSITED_EVEN = 0,
4084 VK_CHROMA_LOCATION_MIDPOINT = 1,
4085 VK_CHROMA_LOCATION_COSITED_EVEN_KHR = VK_CHROMA_LOCATION_COSITED_EVEN,
4086 VK_CHROMA_LOCATION_MIDPOINT_KHR = VK_CHROMA_LOCATION_MIDPOINT,
4087 VK_CHROMA_LOCATION_BEGIN_RANGE = VK_CHROMA_LOCATION_COSITED_EVEN,
4088 VK_CHROMA_LOCATION_END_RANGE = VK_CHROMA_LOCATION_MIDPOINT,
4089 VK_CHROMA_LOCATION_RANGE_SIZE = (VK_CHROMA_LOCATION_MIDPOINT - VK_CHROMA_LOCATION_COSITED_EVEN + 1),
4090 VK_CHROMA_LOCATION_MAX_ENUM = 0x7FFFFFFF
4093 typedef enum VkDescriptorUpdateTemplateType {
4094 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET = 0,
4095 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR = 1,
4096 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,
4097 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_BEGIN_RANGE = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,
4098 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_END_RANGE = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,
4099 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_RANGE_SIZE = (VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET - VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET + 1),
4100 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM = 0x7FFFFFFF
4101 } VkDescriptorUpdateTemplateType;
4103 typedef enum VkSubgroupFeatureFlagBits {
4104 VK_SUBGROUP_FEATURE_BASIC_BIT = 0x00000001,
4105 VK_SUBGROUP_FEATURE_VOTE_BIT = 0x00000002,
4106 VK_SUBGROUP_FEATURE_ARITHMETIC_BIT = 0x00000004,
4107 VK_SUBGROUP_FEATURE_BALLOT_BIT = 0x00000008,
4108 VK_SUBGROUP_FEATURE_SHUFFLE_BIT = 0x00000010,
4109 VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = 0x00000020,
4110 VK_SUBGROUP_FEATURE_CLUSTERED_BIT = 0x00000040,
4111 VK_SUBGROUP_FEATURE_QUAD_BIT = 0x00000080,
4112 VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x00000100,
4113 VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4114 } VkSubgroupFeatureFlagBits;
4115 typedef VkFlags VkSubgroupFeatureFlags;
4117 typedef enum VkPeerMemoryFeatureFlagBits {
4118 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT = 0x00000001,
4119 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT = 0x00000002,
4120 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT = 0x00000004,
4121 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT = 0x00000008,
4122 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT,
4123 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_DST_BIT,
4124 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT,
4125 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT,
4126 VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4127 } VkPeerMemoryFeatureFlagBits;
4128 typedef VkFlags VkPeerMemoryFeatureFlags;
4130 typedef enum VkMemoryAllocateFlagBits {
4131 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT = 0x00000001,
4132 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT = 0x00000002,
4133 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000004,
4134 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT,
4135 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT,
4136 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
4137 VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4138 } VkMemoryAllocateFlagBits;
4139 typedef VkFlags VkMemoryAllocateFlags;
4140 typedef VkFlags VkCommandPoolTrimFlags;
4141 typedef VkFlags VkDescriptorUpdateTemplateCreateFlags;
4143 typedef enum VkExternalMemoryHandleTypeFlagBits {
4144 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
4145 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
4146 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
4147 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT = 0x00000008,
4148 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT = 0x00000010,
4149 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT = 0x00000020,
4150 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT = 0x00000040,
4151 VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT = 0x00000200,
4152 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID = 0x00000400,
4153 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 0x00000080,
4154 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 0x00000100,
4155 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT,
4156 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT,
4157 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
4158 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT,
4159 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT,
4160 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT,
4161 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT,
4162 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4163 } VkExternalMemoryHandleTypeFlagBits;
4164 typedef VkFlags VkExternalMemoryHandleTypeFlags;
4166 typedef enum VkExternalMemoryFeatureFlagBits {
4167 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT = 0x00000001,
4168 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT = 0x00000002,
4169 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT = 0x00000004,
4170 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT,
4171 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT,
4172 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT,
4173 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4174 } VkExternalMemoryFeatureFlagBits;
4175 typedef VkFlags VkExternalMemoryFeatureFlags;
4177 typedef enum VkExternalFenceHandleTypeFlagBits {
4178 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
4179 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
4180 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
4181 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000008,
4182 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT,
4183 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
4184 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
4185 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT,
4186 VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4187 } VkExternalFenceHandleTypeFlagBits;
4188 typedef VkFlags VkExternalFenceHandleTypeFlags;
4190 typedef enum VkExternalFenceFeatureFlagBits {
4191 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT = 0x00000001,
4192 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT = 0x00000002,
4193 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT,
4194 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT,
4195 VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4196 } VkExternalFenceFeatureFlagBits;
4197 typedef VkFlags VkExternalFenceFeatureFlags;
4199 typedef enum VkFenceImportFlagBits {
4200 VK_FENCE_IMPORT_TEMPORARY_BIT = 0x00000001,
4201 VK_FENCE_IMPORT_TEMPORARY_BIT_KHR = VK_FENCE_IMPORT_TEMPORARY_BIT,
4202 VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4203 } VkFenceImportFlagBits;
4204 typedef VkFlags VkFenceImportFlags;
4206 typedef enum VkSemaphoreImportFlagBits {
4207 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT = 0x00000001,
4208 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT,
4209 VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4210 } VkSemaphoreImportFlagBits;
4211 typedef VkFlags VkSemaphoreImportFlags;
4213 typedef enum VkExternalSemaphoreHandleTypeFlagBits {
4214 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
4215 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
4216 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
4217 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT = 0x00000008,
4218 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000010,
4219 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT,
4220 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
4221 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
4222 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
4223 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT,
4224 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4225 } VkExternalSemaphoreHandleTypeFlagBits;
4226 typedef VkFlags VkExternalSemaphoreHandleTypeFlags;
4228 typedef enum VkExternalSemaphoreFeatureFlagBits {
4229 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT = 0x00000001,
4230 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT = 0x00000002,
4231 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT,
4232 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT,
4233 VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4234 } VkExternalSemaphoreFeatureFlagBits;
4235 typedef VkFlags VkExternalSemaphoreFeatureFlags;
4236 typedef struct VkPhysicalDeviceSubgroupProperties {
4237 VkStructureType sType;
4239 uint32_t subgroupSize;
4240 VkShaderStageFlags supportedStages;
4241 VkSubgroupFeatureFlags supportedOperations;
4242 VkBool32 quadOperationsInAllStages;
4243 } VkPhysicalDeviceSubgroupProperties;
4245 typedef struct VkBindBufferMemoryInfo {
4246 VkStructureType sType;
4249 VkDeviceMemory memory;
4250 VkDeviceSize memoryOffset;
4251 } VkBindBufferMemoryInfo;
4253 typedef struct VkBindImageMemoryInfo {
4254 VkStructureType sType;
4257 VkDeviceMemory memory;
4258 VkDeviceSize memoryOffset;
4259 } VkBindImageMemoryInfo;
4261 typedef struct VkPhysicalDevice16BitStorageFeatures {
4262 VkStructureType sType;
4264 VkBool32 storageBuffer16BitAccess;
4265 VkBool32 uniformAndStorageBuffer16BitAccess;
4266 VkBool32 storagePushConstant16;
4267 VkBool32 storageInputOutput16;
4268 } VkPhysicalDevice16BitStorageFeatures;
4270 typedef struct VkMemoryDedicatedRequirements {
4271 VkStructureType sType;
4273 VkBool32 prefersDedicatedAllocation;
4274 VkBool32 requiresDedicatedAllocation;
4275 } VkMemoryDedicatedRequirements;
4277 typedef struct VkMemoryDedicatedAllocateInfo {
4278 VkStructureType sType;
4282 } VkMemoryDedicatedAllocateInfo;
4284 typedef struct VkMemoryAllocateFlagsInfo {
4285 VkStructureType sType;
4287 VkMemoryAllocateFlags flags;
4288 uint32_t deviceMask;
4289 } VkMemoryAllocateFlagsInfo;
4291 typedef struct VkDeviceGroupRenderPassBeginInfo {
4292 VkStructureType sType;
4294 uint32_t deviceMask;
4295 uint32_t deviceRenderAreaCount;
4296 const VkRect2D* pDeviceRenderAreas;
4297 } VkDeviceGroupRenderPassBeginInfo;
4299 typedef struct VkDeviceGroupCommandBufferBeginInfo {
4300 VkStructureType sType;
4302 uint32_t deviceMask;
4303 } VkDeviceGroupCommandBufferBeginInfo;
4305 typedef struct VkDeviceGroupSubmitInfo {
4306 VkStructureType sType;
4308 uint32_t waitSemaphoreCount;
4309 const uint32_t* pWaitSemaphoreDeviceIndices;
4310 uint32_t commandBufferCount;
4311 const uint32_t* pCommandBufferDeviceMasks;
4312 uint32_t signalSemaphoreCount;
4313 const uint32_t* pSignalSemaphoreDeviceIndices;
4314 } VkDeviceGroupSubmitInfo;
4316 typedef struct VkDeviceGroupBindSparseInfo {
4317 VkStructureType sType;
4319 uint32_t resourceDeviceIndex;
4320 uint32_t memoryDeviceIndex;
4321 } VkDeviceGroupBindSparseInfo;
4323 typedef struct VkBindBufferMemoryDeviceGroupInfo {
4324 VkStructureType sType;
4326 uint32_t deviceIndexCount;
4327 const uint32_t* pDeviceIndices;
4328 } VkBindBufferMemoryDeviceGroupInfo;
4330 typedef struct VkBindImageMemoryDeviceGroupInfo {
4331 VkStructureType sType;
4333 uint32_t deviceIndexCount;
4334 const uint32_t* pDeviceIndices;
4335 uint32_t splitInstanceBindRegionCount;
4336 const VkRect2D* pSplitInstanceBindRegions;
4337 } VkBindImageMemoryDeviceGroupInfo;
4339 typedef struct VkPhysicalDeviceGroupProperties {
4340 VkStructureType sType;
4342 uint32_t physicalDeviceCount;
4343 VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE];
4344 VkBool32 subsetAllocation;
4345 } VkPhysicalDeviceGroupProperties;
4347 typedef struct VkDeviceGroupDeviceCreateInfo {
4348 VkStructureType sType;
4350 uint32_t physicalDeviceCount;
4351 const VkPhysicalDevice* pPhysicalDevices;
4352 } VkDeviceGroupDeviceCreateInfo;
4354 typedef struct VkBufferMemoryRequirementsInfo2 {
4355 VkStructureType sType;
4358 } VkBufferMemoryRequirementsInfo2;
4360 typedef struct VkImageMemoryRequirementsInfo2 {
4361 VkStructureType sType;
4364 } VkImageMemoryRequirementsInfo2;
4366 typedef struct VkImageSparseMemoryRequirementsInfo2 {
4367 VkStructureType sType;
4370 } VkImageSparseMemoryRequirementsInfo2;
4372 typedef struct VkMemoryRequirements2 {
4373 VkStructureType sType;
4375 VkMemoryRequirements memoryRequirements;
4376 } VkMemoryRequirements2;
4378 typedef VkMemoryRequirements2 VkMemoryRequirements2KHR;
4380 typedef struct VkSparseImageMemoryRequirements2 {
4381 VkStructureType sType;
4383 VkSparseImageMemoryRequirements memoryRequirements;
4384 } VkSparseImageMemoryRequirements2;
4386 typedef struct VkPhysicalDeviceFeatures2 {
4387 VkStructureType sType;
4389 VkPhysicalDeviceFeatures features;
4390 } VkPhysicalDeviceFeatures2;
4392 typedef struct VkPhysicalDeviceProperties2 {
4393 VkStructureType sType;
4395 VkPhysicalDeviceProperties properties;
4396 } VkPhysicalDeviceProperties2;
4398 typedef struct VkFormatProperties2 {
4399 VkStructureType sType;
4401 VkFormatProperties formatProperties;
4402 } VkFormatProperties2;
4404 typedef struct VkImageFormatProperties2 {
4405 VkStructureType sType;
4407 VkImageFormatProperties imageFormatProperties;
4408 } VkImageFormatProperties2;
4410 typedef struct VkPhysicalDeviceImageFormatInfo2 {
4411 VkStructureType sType;
4415 VkImageTiling tiling;
4416 VkImageUsageFlags usage;
4417 VkImageCreateFlags flags;
4418 } VkPhysicalDeviceImageFormatInfo2;
4420 typedef struct VkQueueFamilyProperties2 {
4421 VkStructureType sType;
4423 VkQueueFamilyProperties queueFamilyProperties;
4424 } VkQueueFamilyProperties2;
4426 typedef struct VkPhysicalDeviceMemoryProperties2 {
4427 VkStructureType sType;
4429 VkPhysicalDeviceMemoryProperties memoryProperties;
4430 } VkPhysicalDeviceMemoryProperties2;
4432 typedef struct VkSparseImageFormatProperties2 {
4433 VkStructureType sType;
4435 VkSparseImageFormatProperties properties;
4436 } VkSparseImageFormatProperties2;
4438 typedef struct VkPhysicalDeviceSparseImageFormatInfo2 {
4439 VkStructureType sType;
4443 VkSampleCountFlagBits samples;
4444 VkImageUsageFlags usage;
4445 VkImageTiling tiling;
4446 } VkPhysicalDeviceSparseImageFormatInfo2;
4448 typedef struct VkPhysicalDevicePointClippingProperties {
4449 VkStructureType sType;
4451 VkPointClippingBehavior pointClippingBehavior;
4452 } VkPhysicalDevicePointClippingProperties;
4454 typedef struct VkInputAttachmentAspectReference {
4456 uint32_t inputAttachmentIndex;
4457 VkImageAspectFlags aspectMask;
4458 } VkInputAttachmentAspectReference;
4460 typedef struct VkRenderPassInputAttachmentAspectCreateInfo {
4461 VkStructureType sType;
4463 uint32_t aspectReferenceCount;
4464 const VkInputAttachmentAspectReference* pAspectReferences;
4465 } VkRenderPassInputAttachmentAspectCreateInfo;
4467 typedef struct VkImageViewUsageCreateInfo {
4468 VkStructureType sType;
4470 VkImageUsageFlags usage;
4471 } VkImageViewUsageCreateInfo;
4473 typedef struct VkPipelineTessellationDomainOriginStateCreateInfo {
4474 VkStructureType sType;
4476 VkTessellationDomainOrigin domainOrigin;
4477 } VkPipelineTessellationDomainOriginStateCreateInfo;
4479 typedef struct VkRenderPassMultiviewCreateInfo {
4480 VkStructureType sType;
4482 uint32_t subpassCount;
4483 const uint32_t* pViewMasks;
4484 uint32_t dependencyCount;
4485 const int32_t* pViewOffsets;
4486 uint32_t correlationMaskCount;
4487 const uint32_t* pCorrelationMasks;
4488 } VkRenderPassMultiviewCreateInfo;
4490 typedef struct VkPhysicalDeviceMultiviewFeatures {
4491 VkStructureType sType;
4494 VkBool32 multiviewGeometryShader;
4495 VkBool32 multiviewTessellationShader;
4496 } VkPhysicalDeviceMultiviewFeatures;
4498 typedef struct VkPhysicalDeviceMultiviewProperties {
4499 VkStructureType sType;
4501 uint32_t maxMultiviewViewCount;
4502 uint32_t maxMultiviewInstanceIndex;
4503 } VkPhysicalDeviceMultiviewProperties;
4505 typedef struct VkPhysicalDeviceVariablePointersFeatures {
4506 VkStructureType sType;
4508 VkBool32 variablePointersStorageBuffer;
4509 VkBool32 variablePointers;
4510 } VkPhysicalDeviceVariablePointersFeatures;
4512 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeatures;
4514 typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
4515 VkStructureType sType;
4517 VkBool32 protectedMemory;
4518 } VkPhysicalDeviceProtectedMemoryFeatures;
4520 typedef struct VkPhysicalDeviceProtectedMemoryProperties {
4521 VkStructureType sType;
4523 VkBool32 protectedNoFault;
4524 } VkPhysicalDeviceProtectedMemoryProperties;
4526 typedef struct VkDeviceQueueInfo2 {
4527 VkStructureType sType;
4529 VkDeviceQueueCreateFlags flags;
4530 uint32_t queueFamilyIndex;
4531 uint32_t queueIndex;
4532 } VkDeviceQueueInfo2;
4534 typedef struct VkProtectedSubmitInfo {
4535 VkStructureType sType;
4537 VkBool32 protectedSubmit;
4538 } VkProtectedSubmitInfo;
4540 typedef struct VkSamplerYcbcrConversionCreateInfo {
4541 VkStructureType sType;
4544 VkSamplerYcbcrModelConversion ycbcrModel;
4545 VkSamplerYcbcrRange ycbcrRange;
4546 VkComponentMapping components;
4547 VkChromaLocation xChromaOffset;
4548 VkChromaLocation yChromaOffset;
4549 VkFilter chromaFilter;
4550 VkBool32 forceExplicitReconstruction;
4551 } VkSamplerYcbcrConversionCreateInfo;
4553 typedef struct VkSamplerYcbcrConversionInfo {
4554 VkStructureType sType;
4556 VkSamplerYcbcrConversion conversion;
4557 } VkSamplerYcbcrConversionInfo;
4559 typedef struct VkBindImagePlaneMemoryInfo {
4560 VkStructureType sType;
4562 VkImageAspectFlagBits planeAspect;
4563 } VkBindImagePlaneMemoryInfo;
4565 typedef struct VkImagePlaneMemoryRequirementsInfo {
4566 VkStructureType sType;
4568 VkImageAspectFlagBits planeAspect;
4569 } VkImagePlaneMemoryRequirementsInfo;
4571 typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
4572 VkStructureType sType;
4574 VkBool32 samplerYcbcrConversion;
4575 } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
4577 typedef struct VkSamplerYcbcrConversionImageFormatProperties {
4578 VkStructureType sType;
4580 uint32_t combinedImageSamplerDescriptorCount;
4581 } VkSamplerYcbcrConversionImageFormatProperties;
4583 typedef struct VkDescriptorUpdateTemplateEntry {
4584 uint32_t dstBinding;
4585 uint32_t dstArrayElement;
4586 uint32_t descriptorCount;
4587 VkDescriptorType descriptorType;
4590 } VkDescriptorUpdateTemplateEntry;
4592 typedef struct VkDescriptorUpdateTemplateCreateInfo {
4593 VkStructureType sType;
4595 VkDescriptorUpdateTemplateCreateFlags flags;
4596 uint32_t descriptorUpdateEntryCount;
4597 const VkDescriptorUpdateTemplateEntry* pDescriptorUpdateEntries;
4598 VkDescriptorUpdateTemplateType templateType;
4599 VkDescriptorSetLayout descriptorSetLayout;
4600 VkPipelineBindPoint pipelineBindPoint;
4601 VkPipelineLayout pipelineLayout;
4603 } VkDescriptorUpdateTemplateCreateInfo;
4605 typedef struct VkExternalMemoryProperties {
4606 VkExternalMemoryFeatureFlags externalMemoryFeatures;
4607 VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes;
4608 VkExternalMemoryHandleTypeFlags compatibleHandleTypes;
4609 } VkExternalMemoryProperties;
4611 typedef struct VkPhysicalDeviceExternalImageFormatInfo {
4612 VkStructureType sType;
4614 VkExternalMemoryHandleTypeFlagBits handleType;
4615 } VkPhysicalDeviceExternalImageFormatInfo;
4617 typedef struct VkExternalImageFormatProperties {
4618 VkStructureType sType;
4620 VkExternalMemoryProperties externalMemoryProperties;
4621 } VkExternalImageFormatProperties;
4623 typedef struct VkPhysicalDeviceExternalBufferInfo {
4624 VkStructureType sType;
4626 VkBufferCreateFlags flags;
4627 VkBufferUsageFlags usage;
4628 VkExternalMemoryHandleTypeFlagBits handleType;
4629 } VkPhysicalDeviceExternalBufferInfo;
4631 typedef struct VkExternalBufferProperties {
4632 VkStructureType sType;
4634 VkExternalMemoryProperties externalMemoryProperties;
4635 } VkExternalBufferProperties;
4637 typedef struct VkPhysicalDeviceIDProperties {
4638 VkStructureType sType;
4640 uint8_t deviceUUID[VK_UUID_SIZE];
4641 uint8_t driverUUID[VK_UUID_SIZE];
4642 uint8_t deviceLUID[VK_LUID_SIZE];
4643 uint32_t deviceNodeMask;
4644 VkBool32 deviceLUIDValid;
4645 } VkPhysicalDeviceIDProperties;
4647 typedef struct VkExternalMemoryImageCreateInfo {
4648 VkStructureType sType;
4650 VkExternalMemoryHandleTypeFlags handleTypes;
4651 } VkExternalMemoryImageCreateInfo;
4653 typedef struct VkExternalMemoryBufferCreateInfo {
4654 VkStructureType sType;
4656 VkExternalMemoryHandleTypeFlags handleTypes;
4657 } VkExternalMemoryBufferCreateInfo;
4659 typedef struct VkExportMemoryAllocateInfo {
4660 VkStructureType sType;
4662 VkExternalMemoryHandleTypeFlags handleTypes;
4663 } VkExportMemoryAllocateInfo;
4665 typedef struct VkPhysicalDeviceExternalFenceInfo {
4666 VkStructureType sType;
4668 VkExternalFenceHandleTypeFlagBits handleType;
4669 } VkPhysicalDeviceExternalFenceInfo;
4671 typedef struct VkExternalFenceProperties {
4672 VkStructureType sType;
4674 VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes;
4675 VkExternalFenceHandleTypeFlags compatibleHandleTypes;
4676 VkExternalFenceFeatureFlags externalFenceFeatures;
4677 } VkExternalFenceProperties;
4679 typedef struct VkExportFenceCreateInfo {
4680 VkStructureType sType;
4682 VkExternalFenceHandleTypeFlags handleTypes;
4683 } VkExportFenceCreateInfo;
4685 typedef struct VkExportSemaphoreCreateInfo {
4686 VkStructureType sType;
4688 VkExternalSemaphoreHandleTypeFlags handleTypes;
4689 } VkExportSemaphoreCreateInfo;
4691 typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
4692 VkStructureType sType;
4694 VkExternalSemaphoreHandleTypeFlagBits handleType;
4695 } VkPhysicalDeviceExternalSemaphoreInfo;
4697 typedef struct VkExternalSemaphoreProperties {
4698 VkStructureType sType;
4700 VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes;
4701 VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes;
4702 VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures;
4703 } VkExternalSemaphoreProperties;
4705 typedef struct VkPhysicalDeviceMaintenance3Properties {
4706 VkStructureType sType;
4708 uint32_t maxPerSetDescriptors;
4709 VkDeviceSize maxMemoryAllocationSize;
4710 } VkPhysicalDeviceMaintenance3Properties;
4712 typedef struct VkDescriptorSetLayoutSupport {
4713 VkStructureType sType;
4716 } VkDescriptorSetLayoutSupport;
4718 typedef struct VkPhysicalDeviceShaderDrawParametersFeatures {
4719 VkStructureType sType;
4721 VkBool32 shaderDrawParameters;
4722 } VkPhysicalDeviceShaderDrawParametersFeatures;
4724 typedef VkPhysicalDeviceShaderDrawParametersFeatures VkPhysicalDeviceShaderDrawParameterFeatures;
4726 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceVersion)(uint32_t* pApiVersion);
4727 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
4728 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
4729 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeatures)(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
4730 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMask)(VkCommandBuffer commandBuffer, uint32_t deviceMask);
4731 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);
4732 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroups)(VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
4733 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
4734 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
4735 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
4736 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
4737 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
4738 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
4739 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
4740 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
4741 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
4742 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
4743 typedef void (VKAPI_PTR *PFN_vkTrimCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
4744 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue2)(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue);
4745 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversion)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
4746 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversion)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
4747 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplate)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
4748 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplate)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
4749 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplate)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
4750 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
4751 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFenceProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
4752 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphoreProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
4753 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupport)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
4755 #ifndef VK_NO_PROTOTYPES
4756 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceVersion(
4757 uint32_t* pApiVersion);
4759 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2(
4761 uint32_t bindInfoCount,
4762 const VkBindBufferMemoryInfo* pBindInfos);
4764 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2(
4766 uint32_t bindInfoCount,
4767 const VkBindImageMemoryInfo* pBindInfos);
4769 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeatures(
4772 uint32_t localDeviceIndex,
4773 uint32_t remoteDeviceIndex,
4774 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
4776 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMask(
4777 VkCommandBuffer commandBuffer,
4778 uint32_t deviceMask);
4780 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBase(
4781 VkCommandBuffer commandBuffer,
4782 uint32_t baseGroupX,
4783 uint32_t baseGroupY,
4784 uint32_t baseGroupZ,
4785 uint32_t groupCountX,
4786 uint32_t groupCountY,
4787 uint32_t groupCountZ);
4789 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroups(
4790 VkInstance instance,
4791 uint32_t* pPhysicalDeviceGroupCount,
4792 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
4794 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2(
4796 const VkImageMemoryRequirementsInfo2* pInfo,
4797 VkMemoryRequirements2* pMemoryRequirements);
4799 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2(
4801 const VkBufferMemoryRequirementsInfo2* pInfo,
4802 VkMemoryRequirements2* pMemoryRequirements);
4804 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2(
4806 const VkImageSparseMemoryRequirementsInfo2* pInfo,
4807 uint32_t* pSparseMemoryRequirementCount,
4808 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
4810 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2(
4811 VkPhysicalDevice physicalDevice,
4812 VkPhysicalDeviceFeatures2* pFeatures);
4814 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2(
4815 VkPhysicalDevice physicalDevice,
4816 VkPhysicalDeviceProperties2* pProperties);
4818 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2(
4819 VkPhysicalDevice physicalDevice,
4821 VkFormatProperties2* pFormatProperties);
4823 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2(
4824 VkPhysicalDevice physicalDevice,
4825 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
4826 VkImageFormatProperties2* pImageFormatProperties);
4828 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2(
4829 VkPhysicalDevice physicalDevice,
4830 uint32_t* pQueueFamilyPropertyCount,
4831 VkQueueFamilyProperties2* pQueueFamilyProperties);
4833 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2(
4834 VkPhysicalDevice physicalDevice,
4835 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
4837 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2(
4838 VkPhysicalDevice physicalDevice,
4839 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
4840 uint32_t* pPropertyCount,
4841 VkSparseImageFormatProperties2* pProperties);
4843 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPool(
4845 VkCommandPool commandPool,
4846 VkCommandPoolTrimFlags flags);
4848 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue2(
4850 const VkDeviceQueueInfo2* pQueueInfo,
4853 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversion(
4855 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
4856 const VkAllocationCallbacks* pAllocator,
4857 VkSamplerYcbcrConversion* pYcbcrConversion);
4859 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversion(
4861 VkSamplerYcbcrConversion ycbcrConversion,
4862 const VkAllocationCallbacks* pAllocator);
4864 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplate(
4866 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
4867 const VkAllocationCallbacks* pAllocator,
4868 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
4870 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplate(
4872 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
4873 const VkAllocationCallbacks* pAllocator);
4875 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplate(
4877 VkDescriptorSet descriptorSet,
4878 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
4881 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferProperties(
4882 VkPhysicalDevice physicalDevice,
4883 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
4884 VkExternalBufferProperties* pExternalBufferProperties);
4886 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFenceProperties(
4887 VkPhysicalDevice physicalDevice,
4888 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
4889 VkExternalFenceProperties* pExternalFenceProperties);
4891 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphoreProperties(
4892 VkPhysicalDevice physicalDevice,
4893 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
4894 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
4896 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupport(
4898 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
4899 VkDescriptorSetLayoutSupport* pSupport);
4903 #define VK_VERSION_1_2 1
4904 // Vulkan 1.2 version number
4905 #define VK_API_VERSION_1_2 VK_MAKE_VERSION(1, 2, 0)// Patch version should always be set to 0
4907 typedef uint64_t VkDeviceAddress;
4908 #define VK_MAX_DRIVER_NAME_SIZE 256
4909 #define VK_MAX_DRIVER_INFO_SIZE 256
4911 typedef enum VkDriverId {
4912 VK_DRIVER_ID_AMD_PROPRIETARY = 1,
4913 VK_DRIVER_ID_AMD_OPEN_SOURCE = 2,
4914 VK_DRIVER_ID_MESA_RADV = 3,
4915 VK_DRIVER_ID_NVIDIA_PROPRIETARY = 4,
4916 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS = 5,
4917 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA = 6,
4918 VK_DRIVER_ID_IMAGINATION_PROPRIETARY = 7,
4919 VK_DRIVER_ID_QUALCOMM_PROPRIETARY = 8,
4920 VK_DRIVER_ID_ARM_PROPRIETARY = 9,
4921 VK_DRIVER_ID_GOOGLE_SWIFTSHADER = 10,
4922 VK_DRIVER_ID_GGP_PROPRIETARY = 11,
4923 VK_DRIVER_ID_BROADCOM_PROPRIETARY = 12,
4924 VK_DRIVER_ID_AMD_PROPRIETARY_KHR = VK_DRIVER_ID_AMD_PROPRIETARY,
4925 VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = VK_DRIVER_ID_AMD_OPEN_SOURCE,
4926 VK_DRIVER_ID_MESA_RADV_KHR = VK_DRIVER_ID_MESA_RADV,
4927 VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR = VK_DRIVER_ID_NVIDIA_PROPRIETARY,
4928 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR = VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS,
4929 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR = VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA,
4930 VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR = VK_DRIVER_ID_IMAGINATION_PROPRIETARY,
4931 VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR = VK_DRIVER_ID_QUALCOMM_PROPRIETARY,
4932 VK_DRIVER_ID_ARM_PROPRIETARY_KHR = VK_DRIVER_ID_ARM_PROPRIETARY,
4933 VK_DRIVER_ID_GOOGLE_SWIFTSHADER_KHR = VK_DRIVER_ID_GOOGLE_SWIFTSHADER,
4934 VK_DRIVER_ID_GGP_PROPRIETARY_KHR = VK_DRIVER_ID_GGP_PROPRIETARY,
4935 VK_DRIVER_ID_BROADCOM_PROPRIETARY_KHR = VK_DRIVER_ID_BROADCOM_PROPRIETARY,
4936 VK_DRIVER_ID_BEGIN_RANGE = VK_DRIVER_ID_AMD_PROPRIETARY,
4937 VK_DRIVER_ID_END_RANGE = VK_DRIVER_ID_BROADCOM_PROPRIETARY,
4938 VK_DRIVER_ID_RANGE_SIZE = (VK_DRIVER_ID_BROADCOM_PROPRIETARY - VK_DRIVER_ID_AMD_PROPRIETARY + 1),
4939 VK_DRIVER_ID_MAX_ENUM = 0x7FFFFFFF
4942 typedef enum VkShaderFloatControlsIndependence {
4943 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY = 0,
4944 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL = 1,
4945 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE = 2,
4946 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY,
4947 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL,
4948 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE,
4949 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_BEGIN_RANGE = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY,
4950 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_END_RANGE = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE,
4951 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_RANGE_SIZE = (VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE - VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY + 1),
4952 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_MAX_ENUM = 0x7FFFFFFF
4953 } VkShaderFloatControlsIndependence;
4955 typedef enum VkSamplerReductionMode {
4956 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE = 0,
4957 VK_SAMPLER_REDUCTION_MODE_MIN = 1,
4958 VK_SAMPLER_REDUCTION_MODE_MAX = 2,
4959 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE,
4960 VK_SAMPLER_REDUCTION_MODE_MIN_EXT = VK_SAMPLER_REDUCTION_MODE_MIN,
4961 VK_SAMPLER_REDUCTION_MODE_MAX_EXT = VK_SAMPLER_REDUCTION_MODE_MAX,
4962 VK_SAMPLER_REDUCTION_MODE_BEGIN_RANGE = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE,
4963 VK_SAMPLER_REDUCTION_MODE_END_RANGE = VK_SAMPLER_REDUCTION_MODE_MAX,
4964 VK_SAMPLER_REDUCTION_MODE_RANGE_SIZE = (VK_SAMPLER_REDUCTION_MODE_MAX - VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE + 1),
4965 VK_SAMPLER_REDUCTION_MODE_MAX_ENUM = 0x7FFFFFFF
4966 } VkSamplerReductionMode;
4968 typedef enum VkSemaphoreType {
4969 VK_SEMAPHORE_TYPE_BINARY = 0,
4970 VK_SEMAPHORE_TYPE_TIMELINE = 1,
4971 VK_SEMAPHORE_TYPE_BINARY_KHR = VK_SEMAPHORE_TYPE_BINARY,
4972 VK_SEMAPHORE_TYPE_TIMELINE_KHR = VK_SEMAPHORE_TYPE_TIMELINE,
4973 VK_SEMAPHORE_TYPE_BEGIN_RANGE = VK_SEMAPHORE_TYPE_BINARY,
4974 VK_SEMAPHORE_TYPE_END_RANGE = VK_SEMAPHORE_TYPE_TIMELINE,
4975 VK_SEMAPHORE_TYPE_RANGE_SIZE = (VK_SEMAPHORE_TYPE_TIMELINE - VK_SEMAPHORE_TYPE_BINARY + 1),
4976 VK_SEMAPHORE_TYPE_MAX_ENUM = 0x7FFFFFFF
4979 typedef enum VkResolveModeFlagBits {
4980 VK_RESOLVE_MODE_NONE = 0,
4981 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT = 0x00000001,
4982 VK_RESOLVE_MODE_AVERAGE_BIT = 0x00000002,
4983 VK_RESOLVE_MODE_MIN_BIT = 0x00000004,
4984 VK_RESOLVE_MODE_MAX_BIT = 0x00000008,
4985 VK_RESOLVE_MODE_NONE_KHR = VK_RESOLVE_MODE_NONE,
4986 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR = VK_RESOLVE_MODE_SAMPLE_ZERO_BIT,
4987 VK_RESOLVE_MODE_AVERAGE_BIT_KHR = VK_RESOLVE_MODE_AVERAGE_BIT,
4988 VK_RESOLVE_MODE_MIN_BIT_KHR = VK_RESOLVE_MODE_MIN_BIT,
4989 VK_RESOLVE_MODE_MAX_BIT_KHR = VK_RESOLVE_MODE_MAX_BIT,
4990 VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4991 } VkResolveModeFlagBits;
4992 typedef VkFlags VkResolveModeFlags;
4994 typedef enum VkDescriptorBindingFlagBits {
4995 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT = 0x00000001,
4996 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT = 0x00000002,
4997 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT = 0x00000004,
4998 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT = 0x00000008,
4999 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT,
5000 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT,
5001 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT = VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT,
5002 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT = VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT,
5003 VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5004 } VkDescriptorBindingFlagBits;
5005 typedef VkFlags VkDescriptorBindingFlags;
5007 typedef enum VkSemaphoreWaitFlagBits {
5008 VK_SEMAPHORE_WAIT_ANY_BIT = 0x00000001,
5009 VK_SEMAPHORE_WAIT_ANY_BIT_KHR = VK_SEMAPHORE_WAIT_ANY_BIT,
5010 VK_SEMAPHORE_WAIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5011 } VkSemaphoreWaitFlagBits;
5012 typedef VkFlags VkSemaphoreWaitFlags;
5013 typedef struct VkPhysicalDeviceVulkan11Features {
5014 VkStructureType sType;
5016 VkBool32 storageBuffer16BitAccess;
5017 VkBool32 uniformAndStorageBuffer16BitAccess;
5018 VkBool32 storagePushConstant16;
5019 VkBool32 storageInputOutput16;
5021 VkBool32 multiviewGeometryShader;
5022 VkBool32 multiviewTessellationShader;
5023 VkBool32 variablePointersStorageBuffer;
5024 VkBool32 variablePointers;
5025 VkBool32 protectedMemory;
5026 VkBool32 samplerYcbcrConversion;
5027 VkBool32 shaderDrawParameters;
5028 } VkPhysicalDeviceVulkan11Features;
5030 typedef struct VkPhysicalDeviceVulkan11Properties {
5031 VkStructureType sType;
5033 uint8_t deviceUUID[VK_UUID_SIZE];
5034 uint8_t driverUUID[VK_UUID_SIZE];
5035 uint8_t deviceLUID[VK_LUID_SIZE];
5036 uint32_t deviceNodeMask;
5037 VkBool32 deviceLUIDValid;
5038 uint32_t subgroupSize;
5039 VkShaderStageFlags subgroupSupportedStages;
5040 VkSubgroupFeatureFlags subgroupSupportedOperations;
5041 VkBool32 subgroupQuadOperationsInAllStages;
5042 VkPointClippingBehavior pointClippingBehavior;
5043 uint32_t maxMultiviewViewCount;
5044 uint32_t maxMultiviewInstanceIndex;
5045 VkBool32 protectedNoFault;
5046 uint32_t maxPerSetDescriptors;
5047 VkDeviceSize maxMemoryAllocationSize;
5048 } VkPhysicalDeviceVulkan11Properties;
5050 typedef struct VkPhysicalDeviceVulkan12Features {
5051 VkStructureType sType;
5053 VkBool32 samplerMirrorClampToEdge;
5054 VkBool32 drawIndirectCount;
5055 VkBool32 storageBuffer8BitAccess;
5056 VkBool32 uniformAndStorageBuffer8BitAccess;
5057 VkBool32 storagePushConstant8;
5058 VkBool32 shaderBufferInt64Atomics;
5059 VkBool32 shaderSharedInt64Atomics;
5060 VkBool32 shaderFloat16;
5061 VkBool32 shaderInt8;
5062 VkBool32 descriptorIndexing;
5063 VkBool32 shaderInputAttachmentArrayDynamicIndexing;
5064 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
5065 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
5066 VkBool32 shaderUniformBufferArrayNonUniformIndexing;
5067 VkBool32 shaderSampledImageArrayNonUniformIndexing;
5068 VkBool32 shaderStorageBufferArrayNonUniformIndexing;
5069 VkBool32 shaderStorageImageArrayNonUniformIndexing;
5070 VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
5071 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
5072 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
5073 VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
5074 VkBool32 descriptorBindingSampledImageUpdateAfterBind;
5075 VkBool32 descriptorBindingStorageImageUpdateAfterBind;
5076 VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
5077 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
5078 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
5079 VkBool32 descriptorBindingUpdateUnusedWhilePending;
5080 VkBool32 descriptorBindingPartiallyBound;
5081 VkBool32 descriptorBindingVariableDescriptorCount;
5082 VkBool32 runtimeDescriptorArray;
5083 VkBool32 samplerFilterMinmax;
5084 VkBool32 scalarBlockLayout;
5085 VkBool32 imagelessFramebuffer;
5086 VkBool32 uniformBufferStandardLayout;
5087 VkBool32 shaderSubgroupExtendedTypes;
5088 VkBool32 separateDepthStencilLayouts;
5089 VkBool32 hostQueryReset;
5090 VkBool32 timelineSemaphore;
5091 VkBool32 bufferDeviceAddress;
5092 VkBool32 bufferDeviceAddressCaptureReplay;
5093 VkBool32 bufferDeviceAddressMultiDevice;
5094 VkBool32 vulkanMemoryModel;
5095 VkBool32 vulkanMemoryModelDeviceScope;
5096 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
5097 VkBool32 shaderOutputViewportIndex;
5098 VkBool32 shaderOutputLayer;
5099 VkBool32 subgroupBroadcastDynamicId;
5100 } VkPhysicalDeviceVulkan12Features;
5102 typedef struct VkConformanceVersion {
5107 } VkConformanceVersion;
5109 typedef struct VkPhysicalDeviceVulkan12Properties {
5110 VkStructureType sType;
5112 VkDriverId driverID;
5113 char driverName[VK_MAX_DRIVER_NAME_SIZE];
5114 char driverInfo[VK_MAX_DRIVER_INFO_SIZE];
5115 VkConformanceVersion conformanceVersion;
5116 VkShaderFloatControlsIndependence denormBehaviorIndependence;
5117 VkShaderFloatControlsIndependence roundingModeIndependence;
5118 VkBool32 shaderSignedZeroInfNanPreserveFloat16;
5119 VkBool32 shaderSignedZeroInfNanPreserveFloat32;
5120 VkBool32 shaderSignedZeroInfNanPreserveFloat64;
5121 VkBool32 shaderDenormPreserveFloat16;
5122 VkBool32 shaderDenormPreserveFloat32;
5123 VkBool32 shaderDenormPreserveFloat64;
5124 VkBool32 shaderDenormFlushToZeroFloat16;
5125 VkBool32 shaderDenormFlushToZeroFloat32;
5126 VkBool32 shaderDenormFlushToZeroFloat64;
5127 VkBool32 shaderRoundingModeRTEFloat16;
5128 VkBool32 shaderRoundingModeRTEFloat32;
5129 VkBool32 shaderRoundingModeRTEFloat64;
5130 VkBool32 shaderRoundingModeRTZFloat16;
5131 VkBool32 shaderRoundingModeRTZFloat32;
5132 VkBool32 shaderRoundingModeRTZFloat64;
5133 uint32_t maxUpdateAfterBindDescriptorsInAllPools;
5134 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
5135 VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
5136 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
5137 VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
5138 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
5139 VkBool32 robustBufferAccessUpdateAfterBind;
5140 VkBool32 quadDivergentImplicitLod;
5141 uint32_t maxPerStageDescriptorUpdateAfterBindSamplers;
5142 uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers;
5143 uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers;
5144 uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages;
5145 uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages;
5146 uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments;
5147 uint32_t maxPerStageUpdateAfterBindResources;
5148 uint32_t maxDescriptorSetUpdateAfterBindSamplers;
5149 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers;
5150 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
5151 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers;
5152 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
5153 uint32_t maxDescriptorSetUpdateAfterBindSampledImages;
5154 uint32_t maxDescriptorSetUpdateAfterBindStorageImages;
5155 uint32_t maxDescriptorSetUpdateAfterBindInputAttachments;
5156 VkResolveModeFlags supportedDepthResolveModes;
5157 VkResolveModeFlags supportedStencilResolveModes;
5158 VkBool32 independentResolveNone;
5159 VkBool32 independentResolve;
5160 VkBool32 filterMinmaxSingleComponentFormats;
5161 VkBool32 filterMinmaxImageComponentMapping;
5162 uint64_t maxTimelineSemaphoreValueDifference;
5163 VkSampleCountFlags framebufferIntegerColorSampleCounts;
5164 } VkPhysicalDeviceVulkan12Properties;
5166 typedef struct VkImageFormatListCreateInfo {
5167 VkStructureType sType;
5169 uint32_t viewFormatCount;
5170 const VkFormat* pViewFormats;
5171 } VkImageFormatListCreateInfo;
5173 typedef struct VkAttachmentDescription2 {
5174 VkStructureType sType;
5176 VkAttachmentDescriptionFlags flags;
5178 VkSampleCountFlagBits samples;
5179 VkAttachmentLoadOp loadOp;
5180 VkAttachmentStoreOp storeOp;
5181 VkAttachmentLoadOp stencilLoadOp;
5182 VkAttachmentStoreOp stencilStoreOp;
5183 VkImageLayout initialLayout;
5184 VkImageLayout finalLayout;
5185 } VkAttachmentDescription2;
5187 typedef struct VkAttachmentReference2 {
5188 VkStructureType sType;
5190 uint32_t attachment;
5191 VkImageLayout layout;
5192 VkImageAspectFlags aspectMask;
5193 } VkAttachmentReference2;
5195 typedef struct VkSubpassDescription2 {
5196 VkStructureType sType;
5198 VkSubpassDescriptionFlags flags;
5199 VkPipelineBindPoint pipelineBindPoint;
5201 uint32_t inputAttachmentCount;
5202 const VkAttachmentReference2* pInputAttachments;
5203 uint32_t colorAttachmentCount;
5204 const VkAttachmentReference2* pColorAttachments;
5205 const VkAttachmentReference2* pResolveAttachments;
5206 const VkAttachmentReference2* pDepthStencilAttachment;
5207 uint32_t preserveAttachmentCount;
5208 const uint32_t* pPreserveAttachments;
5209 } VkSubpassDescription2;
5211 typedef struct VkSubpassDependency2 {
5212 VkStructureType sType;
5214 uint32_t srcSubpass;
5215 uint32_t dstSubpass;
5216 VkPipelineStageFlags srcStageMask;
5217 VkPipelineStageFlags dstStageMask;
5218 VkAccessFlags srcAccessMask;
5219 VkAccessFlags dstAccessMask;
5220 VkDependencyFlags dependencyFlags;
5222 } VkSubpassDependency2;
5224 typedef struct VkRenderPassCreateInfo2 {
5225 VkStructureType sType;
5227 VkRenderPassCreateFlags flags;
5228 uint32_t attachmentCount;
5229 const VkAttachmentDescription2* pAttachments;
5230 uint32_t subpassCount;
5231 const VkSubpassDescription2* pSubpasses;
5232 uint32_t dependencyCount;
5233 const VkSubpassDependency2* pDependencies;
5234 uint32_t correlatedViewMaskCount;
5235 const uint32_t* pCorrelatedViewMasks;
5236 } VkRenderPassCreateInfo2;
5238 typedef struct VkSubpassBeginInfo {
5239 VkStructureType sType;
5241 VkSubpassContents contents;
5242 } VkSubpassBeginInfo;
5244 typedef struct VkSubpassEndInfo {
5245 VkStructureType sType;
5249 typedef struct VkPhysicalDevice8BitStorageFeatures {
5250 VkStructureType sType;
5252 VkBool32 storageBuffer8BitAccess;
5253 VkBool32 uniformAndStorageBuffer8BitAccess;
5254 VkBool32 storagePushConstant8;
5255 } VkPhysicalDevice8BitStorageFeatures;
5257 typedef struct VkPhysicalDeviceDriverProperties {
5258 VkStructureType sType;
5260 VkDriverId driverID;
5261 char driverName[VK_MAX_DRIVER_NAME_SIZE];
5262 char driverInfo[VK_MAX_DRIVER_INFO_SIZE];
5263 VkConformanceVersion conformanceVersion;
5264 } VkPhysicalDeviceDriverProperties;
5266 typedef struct VkPhysicalDeviceShaderAtomicInt64Features {
5267 VkStructureType sType;
5269 VkBool32 shaderBufferInt64Atomics;
5270 VkBool32 shaderSharedInt64Atomics;
5271 } VkPhysicalDeviceShaderAtomicInt64Features;
5273 typedef struct VkPhysicalDeviceShaderFloat16Int8Features {
5274 VkStructureType sType;
5276 VkBool32 shaderFloat16;
5277 VkBool32 shaderInt8;
5278 } VkPhysicalDeviceShaderFloat16Int8Features;
5280 typedef struct VkPhysicalDeviceFloatControlsProperties {
5281 VkStructureType sType;
5283 VkShaderFloatControlsIndependence denormBehaviorIndependence;
5284 VkShaderFloatControlsIndependence roundingModeIndependence;
5285 VkBool32 shaderSignedZeroInfNanPreserveFloat16;
5286 VkBool32 shaderSignedZeroInfNanPreserveFloat32;
5287 VkBool32 shaderSignedZeroInfNanPreserveFloat64;
5288 VkBool32 shaderDenormPreserveFloat16;
5289 VkBool32 shaderDenormPreserveFloat32;
5290 VkBool32 shaderDenormPreserveFloat64;
5291 VkBool32 shaderDenormFlushToZeroFloat16;
5292 VkBool32 shaderDenormFlushToZeroFloat32;
5293 VkBool32 shaderDenormFlushToZeroFloat64;
5294 VkBool32 shaderRoundingModeRTEFloat16;
5295 VkBool32 shaderRoundingModeRTEFloat32;
5296 VkBool32 shaderRoundingModeRTEFloat64;
5297 VkBool32 shaderRoundingModeRTZFloat16;
5298 VkBool32 shaderRoundingModeRTZFloat32;
5299 VkBool32 shaderRoundingModeRTZFloat64;
5300 } VkPhysicalDeviceFloatControlsProperties;
5302 typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfo {
5303 VkStructureType sType;
5305 uint32_t bindingCount;
5306 const VkDescriptorBindingFlags* pBindingFlags;
5307 } VkDescriptorSetLayoutBindingFlagsCreateInfo;
5309 typedef struct VkPhysicalDeviceDescriptorIndexingFeatures {
5310 VkStructureType sType;
5312 VkBool32 shaderInputAttachmentArrayDynamicIndexing;
5313 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
5314 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
5315 VkBool32 shaderUniformBufferArrayNonUniformIndexing;
5316 VkBool32 shaderSampledImageArrayNonUniformIndexing;
5317 VkBool32 shaderStorageBufferArrayNonUniformIndexing;
5318 VkBool32 shaderStorageImageArrayNonUniformIndexing;
5319 VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
5320 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
5321 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
5322 VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
5323 VkBool32 descriptorBindingSampledImageUpdateAfterBind;
5324 VkBool32 descriptorBindingStorageImageUpdateAfterBind;
5325 VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
5326 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
5327 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
5328 VkBool32 descriptorBindingUpdateUnusedWhilePending;
5329 VkBool32 descriptorBindingPartiallyBound;
5330 VkBool32 descriptorBindingVariableDescriptorCount;
5331 VkBool32 runtimeDescriptorArray;
5332 } VkPhysicalDeviceDescriptorIndexingFeatures;
5334 typedef struct VkPhysicalDeviceDescriptorIndexingProperties {
5335 VkStructureType sType;
5337 uint32_t maxUpdateAfterBindDescriptorsInAllPools;
5338 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
5339 VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
5340 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
5341 VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
5342 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
5343 VkBool32 robustBufferAccessUpdateAfterBind;
5344 VkBool32 quadDivergentImplicitLod;
5345 uint32_t maxPerStageDescriptorUpdateAfterBindSamplers;
5346 uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers;
5347 uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers;
5348 uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages;
5349 uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages;
5350 uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments;
5351 uint32_t maxPerStageUpdateAfterBindResources;
5352 uint32_t maxDescriptorSetUpdateAfterBindSamplers;
5353 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers;
5354 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
5355 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers;
5356 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
5357 uint32_t maxDescriptorSetUpdateAfterBindSampledImages;
5358 uint32_t maxDescriptorSetUpdateAfterBindStorageImages;
5359 uint32_t maxDescriptorSetUpdateAfterBindInputAttachments;
5360 } VkPhysicalDeviceDescriptorIndexingProperties;
5362 typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfo {
5363 VkStructureType sType;
5365 uint32_t descriptorSetCount;
5366 const uint32_t* pDescriptorCounts;
5367 } VkDescriptorSetVariableDescriptorCountAllocateInfo;
5369 typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupport {
5370 VkStructureType sType;
5372 uint32_t maxVariableDescriptorCount;
5373 } VkDescriptorSetVariableDescriptorCountLayoutSupport;
5375 typedef struct VkSubpassDescriptionDepthStencilResolve {
5376 VkStructureType sType;
5378 VkResolveModeFlagBits depthResolveMode;
5379 VkResolveModeFlagBits stencilResolveMode;
5380 const VkAttachmentReference2* pDepthStencilResolveAttachment;
5381 } VkSubpassDescriptionDepthStencilResolve;
5383 typedef struct VkPhysicalDeviceDepthStencilResolveProperties {
5384 VkStructureType sType;
5386 VkResolveModeFlags supportedDepthResolveModes;
5387 VkResolveModeFlags supportedStencilResolveModes;
5388 VkBool32 independentResolveNone;
5389 VkBool32 independentResolve;
5390 } VkPhysicalDeviceDepthStencilResolveProperties;
5392 typedef struct VkPhysicalDeviceScalarBlockLayoutFeatures {
5393 VkStructureType sType;
5395 VkBool32 scalarBlockLayout;
5396 } VkPhysicalDeviceScalarBlockLayoutFeatures;
5398 typedef struct VkImageStencilUsageCreateInfo {
5399 VkStructureType sType;
5401 VkImageUsageFlags stencilUsage;
5402 } VkImageStencilUsageCreateInfo;
5404 typedef struct VkSamplerReductionModeCreateInfo {
5405 VkStructureType sType;
5407 VkSamplerReductionMode reductionMode;
5408 } VkSamplerReductionModeCreateInfo;
5410 typedef struct VkPhysicalDeviceSamplerFilterMinmaxProperties {
5411 VkStructureType sType;
5413 VkBool32 filterMinmaxSingleComponentFormats;
5414 VkBool32 filterMinmaxImageComponentMapping;
5415 } VkPhysicalDeviceSamplerFilterMinmaxProperties;
5417 typedef struct VkPhysicalDeviceVulkanMemoryModelFeatures {
5418 VkStructureType sType;
5420 VkBool32 vulkanMemoryModel;
5421 VkBool32 vulkanMemoryModelDeviceScope;
5422 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
5423 } VkPhysicalDeviceVulkanMemoryModelFeatures;
5425 typedef struct VkPhysicalDeviceImagelessFramebufferFeatures {
5426 VkStructureType sType;
5428 VkBool32 imagelessFramebuffer;
5429 } VkPhysicalDeviceImagelessFramebufferFeatures;
5431 typedef struct VkFramebufferAttachmentImageInfo {
5432 VkStructureType sType;
5434 VkImageCreateFlags flags;
5435 VkImageUsageFlags usage;
5438 uint32_t layerCount;
5439 uint32_t viewFormatCount;
5440 const VkFormat* pViewFormats;
5441 } VkFramebufferAttachmentImageInfo;
5443 typedef struct VkFramebufferAttachmentsCreateInfo {
5444 VkStructureType sType;
5446 uint32_t attachmentImageInfoCount;
5447 const VkFramebufferAttachmentImageInfo* pAttachmentImageInfos;
5448 } VkFramebufferAttachmentsCreateInfo;
5450 typedef struct VkRenderPassAttachmentBeginInfo {
5451 VkStructureType sType;
5453 uint32_t attachmentCount;
5454 const VkImageView* pAttachments;
5455 } VkRenderPassAttachmentBeginInfo;
5457 typedef struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures {
5458 VkStructureType sType;
5460 VkBool32 uniformBufferStandardLayout;
5461 } VkPhysicalDeviceUniformBufferStandardLayoutFeatures;
5463 typedef struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures {
5464 VkStructureType sType;
5466 VkBool32 shaderSubgroupExtendedTypes;
5467 } VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures;
5469 typedef struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures {
5470 VkStructureType sType;
5472 VkBool32 separateDepthStencilLayouts;
5473 } VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures;
5475 typedef struct VkAttachmentReferenceStencilLayout {
5476 VkStructureType sType;
5478 VkImageLayout stencilLayout;
5479 } VkAttachmentReferenceStencilLayout;
5481 typedef struct VkAttachmentDescriptionStencilLayout {
5482 VkStructureType sType;
5484 VkImageLayout stencilInitialLayout;
5485 VkImageLayout stencilFinalLayout;
5486 } VkAttachmentDescriptionStencilLayout;
5488 typedef struct VkPhysicalDeviceHostQueryResetFeatures {
5489 VkStructureType sType;
5491 VkBool32 hostQueryReset;
5492 } VkPhysicalDeviceHostQueryResetFeatures;
5494 typedef struct VkPhysicalDeviceTimelineSemaphoreFeatures {
5495 VkStructureType sType;
5497 VkBool32 timelineSemaphore;
5498 } VkPhysicalDeviceTimelineSemaphoreFeatures;
5500 typedef struct VkPhysicalDeviceTimelineSemaphoreProperties {
5501 VkStructureType sType;
5503 uint64_t maxTimelineSemaphoreValueDifference;
5504 } VkPhysicalDeviceTimelineSemaphoreProperties;
5506 typedef struct VkSemaphoreTypeCreateInfo {
5507 VkStructureType sType;
5509 VkSemaphoreType semaphoreType;
5510 uint64_t initialValue;
5511 } VkSemaphoreTypeCreateInfo;
5513 typedef struct VkTimelineSemaphoreSubmitInfo {
5514 VkStructureType sType;
5516 uint32_t waitSemaphoreValueCount;
5517 const uint64_t* pWaitSemaphoreValues;
5518 uint32_t signalSemaphoreValueCount;
5519 const uint64_t* pSignalSemaphoreValues;
5520 } VkTimelineSemaphoreSubmitInfo;
5522 typedef struct VkSemaphoreWaitInfo {
5523 VkStructureType sType;
5525 VkSemaphoreWaitFlags flags;
5526 uint32_t semaphoreCount;
5527 const VkSemaphore* pSemaphores;
5528 const uint64_t* pValues;
5529 } VkSemaphoreWaitInfo;
5531 typedef struct VkSemaphoreSignalInfo {
5532 VkStructureType sType;
5534 VkSemaphore semaphore;
5536 } VkSemaphoreSignalInfo;
5538 typedef struct VkPhysicalDeviceBufferDeviceAddressFeatures {
5539 VkStructureType sType;
5541 VkBool32 bufferDeviceAddress;
5542 VkBool32 bufferDeviceAddressCaptureReplay;
5543 VkBool32 bufferDeviceAddressMultiDevice;
5544 } VkPhysicalDeviceBufferDeviceAddressFeatures;
5546 typedef struct VkBufferDeviceAddressInfo {
5547 VkStructureType sType;
5550 } VkBufferDeviceAddressInfo;
5552 typedef struct VkBufferOpaqueCaptureAddressCreateInfo {
5553 VkStructureType sType;
5555 uint64_t opaqueCaptureAddress;
5556 } VkBufferOpaqueCaptureAddressCreateInfo;
5558 typedef struct VkMemoryOpaqueCaptureAddressAllocateInfo {
5559 VkStructureType sType;
5561 uint64_t opaqueCaptureAddress;
5562 } VkMemoryOpaqueCaptureAddressAllocateInfo;
5564 typedef struct VkDeviceMemoryOpaqueCaptureAddressInfo {
5565 VkStructureType sType;
5567 VkDeviceMemory memory;
5568 } VkDeviceMemoryOpaqueCaptureAddressInfo;
5570 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
5571 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
5572 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
5573 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo);
5574 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo);
5575 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo);
5576 typedef void (VKAPI_PTR *PFN_vkResetQueryPool)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount);
5577 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValue)(VkDevice device, VkSemaphore semaphore, uint64_t* pValue);
5578 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphores)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout);
5579 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphore)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo);
5580 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
5581 typedef uint64_t (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
5582 typedef uint64_t (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddress)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
5584 #ifndef VK_NO_PROTOTYPES
5585 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCount(
5586 VkCommandBuffer commandBuffer,
5588 VkDeviceSize offset,
5589 VkBuffer countBuffer,
5590 VkDeviceSize countBufferOffset,
5591 uint32_t maxDrawCount,
5594 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCount(
5595 VkCommandBuffer commandBuffer,
5597 VkDeviceSize offset,
5598 VkBuffer countBuffer,
5599 VkDeviceSize countBufferOffset,
5600 uint32_t maxDrawCount,
5603 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2(
5605 const VkRenderPassCreateInfo2* pCreateInfo,
5606 const VkAllocationCallbacks* pAllocator,
5607 VkRenderPass* pRenderPass);
5609 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2(
5610 VkCommandBuffer commandBuffer,
5611 const VkRenderPassBeginInfo* pRenderPassBegin,
5612 const VkSubpassBeginInfo* pSubpassBeginInfo);
5614 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2(
5615 VkCommandBuffer commandBuffer,
5616 const VkSubpassBeginInfo* pSubpassBeginInfo,
5617 const VkSubpassEndInfo* pSubpassEndInfo);
5619 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2(
5620 VkCommandBuffer commandBuffer,
5621 const VkSubpassEndInfo* pSubpassEndInfo);
5623 VKAPI_ATTR void VKAPI_CALL vkResetQueryPool(
5625 VkQueryPool queryPool,
5626 uint32_t firstQuery,
5627 uint32_t queryCount);
5629 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValue(
5631 VkSemaphore semaphore,
5634 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphores(
5636 const VkSemaphoreWaitInfo* pWaitInfo,
5639 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphore(
5641 const VkSemaphoreSignalInfo* pSignalInfo);
5643 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddress(
5645 const VkBufferDeviceAddressInfo* pInfo);
5647 VKAPI_ATTR uint64_t VKAPI_CALL vkGetBufferOpaqueCaptureAddress(
5649 const VkBufferDeviceAddressInfo* pInfo);
5651 VKAPI_ATTR uint64_t VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddress(
5653 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
5657 #define VK_KHR_surface 1
5658 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR)
5659 #define VK_KHR_SURFACE_SPEC_VERSION 25
5660 #define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface"
5662 typedef enum VkColorSpaceKHR {
5663 VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0,
5664 VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = 1000104001,
5665 VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT = 1000104002,
5666 VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT = 1000104003,
5667 VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT = 1000104004,
5668 VK_COLOR_SPACE_BT709_LINEAR_EXT = 1000104005,
5669 VK_COLOR_SPACE_BT709_NONLINEAR_EXT = 1000104006,
5670 VK_COLOR_SPACE_BT2020_LINEAR_EXT = 1000104007,
5671 VK_COLOR_SPACE_HDR10_ST2084_EXT = 1000104008,
5672 VK_COLOR_SPACE_DOLBYVISION_EXT = 1000104009,
5673 VK_COLOR_SPACE_HDR10_HLG_EXT = 1000104010,
5674 VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT = 1000104011,
5675 VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT = 1000104012,
5676 VK_COLOR_SPACE_PASS_THROUGH_EXT = 1000104013,
5677 VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT = 1000104014,
5678 VK_COLOR_SPACE_DISPLAY_NATIVE_AMD = 1000213000,
5679 VK_COLORSPACE_SRGB_NONLINEAR_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
5680 VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT,
5681 VK_COLOR_SPACE_BEGIN_RANGE_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
5682 VK_COLOR_SPACE_END_RANGE_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
5683 VK_COLOR_SPACE_RANGE_SIZE_KHR = (VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - VK_COLOR_SPACE_SRGB_NONLINEAR_KHR + 1),
5684 VK_COLOR_SPACE_MAX_ENUM_KHR = 0x7FFFFFFF
5687 typedef enum VkPresentModeKHR {
5688 VK_PRESENT_MODE_IMMEDIATE_KHR = 0,
5689 VK_PRESENT_MODE_MAILBOX_KHR = 1,
5690 VK_PRESENT_MODE_FIFO_KHR = 2,
5691 VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3,
5692 VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR = 1000111000,
5693 VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = 1000111001,
5694 VK_PRESENT_MODE_BEGIN_RANGE_KHR = VK_PRESENT_MODE_IMMEDIATE_KHR,
5695 VK_PRESENT_MODE_END_RANGE_KHR = VK_PRESENT_MODE_FIFO_RELAXED_KHR,
5696 VK_PRESENT_MODE_RANGE_SIZE_KHR = (VK_PRESENT_MODE_FIFO_RELAXED_KHR - VK_PRESENT_MODE_IMMEDIATE_KHR + 1),
5697 VK_PRESENT_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
5700 typedef enum VkSurfaceTransformFlagBitsKHR {
5701 VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 0x00000001,
5702 VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 0x00000002,
5703 VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 0x00000004,
5704 VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 0x00000008,
5705 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 0x00000010,
5706 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 0x00000020,
5707 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 0x00000040,
5708 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 0x00000080,
5709 VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 0x00000100,
5710 VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
5711 } VkSurfaceTransformFlagBitsKHR;
5712 typedef VkFlags VkSurfaceTransformFlagsKHR;
5714 typedef enum VkCompositeAlphaFlagBitsKHR {
5715 VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
5716 VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 0x00000002,
5717 VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 0x00000004,
5718 VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 0x00000008,
5719 VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
5720 } VkCompositeAlphaFlagBitsKHR;
5721 typedef VkFlags VkCompositeAlphaFlagsKHR;
5722 typedef struct VkSurfaceCapabilitiesKHR {
5723 uint32_t minImageCount;
5724 uint32_t maxImageCount;
5725 VkExtent2D currentExtent;
5726 VkExtent2D minImageExtent;
5727 VkExtent2D maxImageExtent;
5728 uint32_t maxImageArrayLayers;
5729 VkSurfaceTransformFlagsKHR supportedTransforms;
5730 VkSurfaceTransformFlagBitsKHR currentTransform;
5731 VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
5732 VkImageUsageFlags supportedUsageFlags;
5733 } VkSurfaceCapabilitiesKHR;
5735 typedef struct VkSurfaceFormatKHR {
5737 VkColorSpaceKHR colorSpace;
5738 } VkSurfaceFormatKHR;
5740 typedef void (VKAPI_PTR *PFN_vkDestroySurfaceKHR)(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator);
5741 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported);
5742 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
5743 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats);
5744 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pPresentModeCount, VkPresentModeKHR* pPresentModes);
5746 #ifndef VK_NO_PROTOTYPES
5747 VKAPI_ATTR void VKAPI_CALL vkDestroySurfaceKHR(
5748 VkInstance instance,
5749 VkSurfaceKHR surface,
5750 const VkAllocationCallbacks* pAllocator);
5752 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceSupportKHR(
5753 VkPhysicalDevice physicalDevice,
5754 uint32_t queueFamilyIndex,
5755 VkSurfaceKHR surface,
5756 VkBool32* pSupported);
5758 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilitiesKHR(
5759 VkPhysicalDevice physicalDevice,
5760 VkSurfaceKHR surface,
5761 VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
5763 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormatsKHR(
5764 VkPhysicalDevice physicalDevice,
5765 VkSurfaceKHR surface,
5766 uint32_t* pSurfaceFormatCount,
5767 VkSurfaceFormatKHR* pSurfaceFormats);
5769 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModesKHR(
5770 VkPhysicalDevice physicalDevice,
5771 VkSurfaceKHR surface,
5772 uint32_t* pPresentModeCount,
5773 VkPresentModeKHR* pPresentModes);
5777 #define VK_KHR_swapchain 1
5778 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR)
5779 #define VK_KHR_SWAPCHAIN_SPEC_VERSION 70
5780 #define VK_KHR_SWAPCHAIN_EXTENSION_NAME "VK_KHR_swapchain"
5782 typedef enum VkSwapchainCreateFlagBitsKHR {
5783 VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 0x00000001,
5784 VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR = 0x00000002,
5785 VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR = 0x00000004,
5786 VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
5787 } VkSwapchainCreateFlagBitsKHR;
5788 typedef VkFlags VkSwapchainCreateFlagsKHR;
5790 typedef enum VkDeviceGroupPresentModeFlagBitsKHR {
5791 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR = 0x00000001,
5792 VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR = 0x00000002,
5793 VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR = 0x00000004,
5794 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR = 0x00000008,
5795 VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
5796 } VkDeviceGroupPresentModeFlagBitsKHR;
5797 typedef VkFlags VkDeviceGroupPresentModeFlagsKHR;
5798 typedef struct VkSwapchainCreateInfoKHR {
5799 VkStructureType sType;
5801 VkSwapchainCreateFlagsKHR flags;
5802 VkSurfaceKHR surface;
5803 uint32_t minImageCount;
5804 VkFormat imageFormat;
5805 VkColorSpaceKHR imageColorSpace;
5806 VkExtent2D imageExtent;
5807 uint32_t imageArrayLayers;
5808 VkImageUsageFlags imageUsage;
5809 VkSharingMode imageSharingMode;
5810 uint32_t queueFamilyIndexCount;
5811 const uint32_t* pQueueFamilyIndices;
5812 VkSurfaceTransformFlagBitsKHR preTransform;
5813 VkCompositeAlphaFlagBitsKHR compositeAlpha;
5814 VkPresentModeKHR presentMode;
5816 VkSwapchainKHR oldSwapchain;
5817 } VkSwapchainCreateInfoKHR;
5819 typedef struct VkPresentInfoKHR {
5820 VkStructureType sType;
5822 uint32_t waitSemaphoreCount;
5823 const VkSemaphore* pWaitSemaphores;
5824 uint32_t swapchainCount;
5825 const VkSwapchainKHR* pSwapchains;
5826 const uint32_t* pImageIndices;
5830 typedef struct VkImageSwapchainCreateInfoKHR {
5831 VkStructureType sType;
5833 VkSwapchainKHR swapchain;
5834 } VkImageSwapchainCreateInfoKHR;
5836 typedef struct VkBindImageMemorySwapchainInfoKHR {
5837 VkStructureType sType;
5839 VkSwapchainKHR swapchain;
5840 uint32_t imageIndex;
5841 } VkBindImageMemorySwapchainInfoKHR;
5843 typedef struct VkAcquireNextImageInfoKHR {
5844 VkStructureType sType;
5846 VkSwapchainKHR swapchain;
5848 VkSemaphore semaphore;
5850 uint32_t deviceMask;
5851 } VkAcquireNextImageInfoKHR;
5853 typedef struct VkDeviceGroupPresentCapabilitiesKHR {
5854 VkStructureType sType;
5856 uint32_t presentMask[VK_MAX_DEVICE_GROUP_SIZE];
5857 VkDeviceGroupPresentModeFlagsKHR modes;
5858 } VkDeviceGroupPresentCapabilitiesKHR;
5860 typedef struct VkDeviceGroupPresentInfoKHR {
5861 VkStructureType sType;
5863 uint32_t swapchainCount;
5864 const uint32_t* pDeviceMasks;
5865 VkDeviceGroupPresentModeFlagBitsKHR mode;
5866 } VkDeviceGroupPresentInfoKHR;
5868 typedef struct VkDeviceGroupSwapchainCreateInfoKHR {
5869 VkStructureType sType;
5871 VkDeviceGroupPresentModeFlagsKHR modes;
5872 } VkDeviceGroupSwapchainCreateInfoKHR;
5874 typedef VkResult (VKAPI_PTR *PFN_vkCreateSwapchainKHR)(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain);
5875 typedef void (VKAPI_PTR *PFN_vkDestroySwapchainKHR)(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator);
5876 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainImagesKHR)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages);
5877 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImageKHR)(VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex);
5878 typedef VkResult (VKAPI_PTR *PFN_vkQueuePresentKHR)(VkQueue queue, const VkPresentInfoKHR* pPresentInfo);
5879 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupPresentCapabilitiesKHR)(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
5880 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupSurfacePresentModesKHR)(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes);
5881 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDevicePresentRectanglesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pRectCount, VkRect2D* pRects);
5882 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImage2KHR)(VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, uint32_t* pImageIndex);
5884 #ifndef VK_NO_PROTOTYPES
5885 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSwapchainKHR(
5887 const VkSwapchainCreateInfoKHR* pCreateInfo,
5888 const VkAllocationCallbacks* pAllocator,
5889 VkSwapchainKHR* pSwapchain);
5891 VKAPI_ATTR void VKAPI_CALL vkDestroySwapchainKHR(
5893 VkSwapchainKHR swapchain,
5894 const VkAllocationCallbacks* pAllocator);
5896 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainImagesKHR(
5898 VkSwapchainKHR swapchain,
5899 uint32_t* pSwapchainImageCount,
5900 VkImage* pSwapchainImages);
5902 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImageKHR(
5904 VkSwapchainKHR swapchain,
5906 VkSemaphore semaphore,
5908 uint32_t* pImageIndex);
5910 VKAPI_ATTR VkResult VKAPI_CALL vkQueuePresentKHR(
5912 const VkPresentInfoKHR* pPresentInfo);
5914 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupPresentCapabilitiesKHR(
5916 VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
5918 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupSurfacePresentModesKHR(
5920 VkSurfaceKHR surface,
5921 VkDeviceGroupPresentModeFlagsKHR* pModes);
5923 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDevicePresentRectanglesKHR(
5924 VkPhysicalDevice physicalDevice,
5925 VkSurfaceKHR surface,
5926 uint32_t* pRectCount,
5929 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImage2KHR(
5931 const VkAcquireNextImageInfoKHR* pAcquireInfo,
5932 uint32_t* pImageIndex);
5936 #define VK_KHR_display 1
5937 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR)
5938 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR)
5939 #define VK_KHR_DISPLAY_SPEC_VERSION 23
5940 #define VK_KHR_DISPLAY_EXTENSION_NAME "VK_KHR_display"
5942 typedef enum VkDisplayPlaneAlphaFlagBitsKHR {
5943 VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
5944 VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR = 0x00000002,
5945 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR = 0x00000004,
5946 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = 0x00000008,
5947 VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
5948 } VkDisplayPlaneAlphaFlagBitsKHR;
5949 typedef VkFlags VkDisplayPlaneAlphaFlagsKHR;
5950 typedef VkFlags VkDisplayModeCreateFlagsKHR;
5951 typedef VkFlags VkDisplaySurfaceCreateFlagsKHR;
5952 typedef struct VkDisplayPropertiesKHR {
5953 VkDisplayKHR display;
5954 const char* displayName;
5955 VkExtent2D physicalDimensions;
5956 VkExtent2D physicalResolution;
5957 VkSurfaceTransformFlagsKHR supportedTransforms;
5958 VkBool32 planeReorderPossible;
5959 VkBool32 persistentContent;
5960 } VkDisplayPropertiesKHR;
5962 typedef struct VkDisplayModeParametersKHR {
5963 VkExtent2D visibleRegion;
5964 uint32_t refreshRate;
5965 } VkDisplayModeParametersKHR;
5967 typedef struct VkDisplayModePropertiesKHR {
5968 VkDisplayModeKHR displayMode;
5969 VkDisplayModeParametersKHR parameters;
5970 } VkDisplayModePropertiesKHR;
5972 typedef struct VkDisplayModeCreateInfoKHR {
5973 VkStructureType sType;
5975 VkDisplayModeCreateFlagsKHR flags;
5976 VkDisplayModeParametersKHR parameters;
5977 } VkDisplayModeCreateInfoKHR;
5979 typedef struct VkDisplayPlaneCapabilitiesKHR {
5980 VkDisplayPlaneAlphaFlagsKHR supportedAlpha;
5981 VkOffset2D minSrcPosition;
5982 VkOffset2D maxSrcPosition;
5983 VkExtent2D minSrcExtent;
5984 VkExtent2D maxSrcExtent;
5985 VkOffset2D minDstPosition;
5986 VkOffset2D maxDstPosition;
5987 VkExtent2D minDstExtent;
5988 VkExtent2D maxDstExtent;
5989 } VkDisplayPlaneCapabilitiesKHR;
5991 typedef struct VkDisplayPlanePropertiesKHR {
5992 VkDisplayKHR currentDisplay;
5993 uint32_t currentStackIndex;
5994 } VkDisplayPlanePropertiesKHR;
5996 typedef struct VkDisplaySurfaceCreateInfoKHR {
5997 VkStructureType sType;
5999 VkDisplaySurfaceCreateFlagsKHR flags;
6000 VkDisplayModeKHR displayMode;
6001 uint32_t planeIndex;
6002 uint32_t planeStackIndex;
6003 VkSurfaceTransformFlagBitsKHR transform;
6005 VkDisplayPlaneAlphaFlagBitsKHR alphaMode;
6006 VkExtent2D imageExtent;
6007 } VkDisplaySurfaceCreateInfoKHR;
6009 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPropertiesKHR* pProperties);
6010 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties);
6011 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneSupportedDisplaysKHR)(VkPhysicalDevice physicalDevice, uint32_t planeIndex, uint32_t* pDisplayCount, VkDisplayKHR* pDisplays);
6012 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModePropertiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModePropertiesKHR* pProperties);
6013 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayModeKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode);
6014 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, uint32_t planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities);
6015 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayPlaneSurfaceKHR)(VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
6017 #ifndef VK_NO_PROTOTYPES
6018 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPropertiesKHR(
6019 VkPhysicalDevice physicalDevice,
6020 uint32_t* pPropertyCount,
6021 VkDisplayPropertiesKHR* pProperties);
6023 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlanePropertiesKHR(
6024 VkPhysicalDevice physicalDevice,
6025 uint32_t* pPropertyCount,
6026 VkDisplayPlanePropertiesKHR* pProperties);
6028 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneSupportedDisplaysKHR(
6029 VkPhysicalDevice physicalDevice,
6030 uint32_t planeIndex,
6031 uint32_t* pDisplayCount,
6032 VkDisplayKHR* pDisplays);
6034 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModePropertiesKHR(
6035 VkPhysicalDevice physicalDevice,
6036 VkDisplayKHR display,
6037 uint32_t* pPropertyCount,
6038 VkDisplayModePropertiesKHR* pProperties);
6040 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayModeKHR(
6041 VkPhysicalDevice physicalDevice,
6042 VkDisplayKHR display,
6043 const VkDisplayModeCreateInfoKHR* pCreateInfo,
6044 const VkAllocationCallbacks* pAllocator,
6045 VkDisplayModeKHR* pMode);
6047 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilitiesKHR(
6048 VkPhysicalDevice physicalDevice,
6049 VkDisplayModeKHR mode,
6050 uint32_t planeIndex,
6051 VkDisplayPlaneCapabilitiesKHR* pCapabilities);
6053 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayPlaneSurfaceKHR(
6054 VkInstance instance,
6055 const VkDisplaySurfaceCreateInfoKHR* pCreateInfo,
6056 const VkAllocationCallbacks* pAllocator,
6057 VkSurfaceKHR* pSurface);
6061 #define VK_KHR_display_swapchain 1
6062 #define VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION 10
6063 #define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME "VK_KHR_display_swapchain"
6064 typedef struct VkDisplayPresentInfoKHR {
6065 VkStructureType sType;
6069 VkBool32 persistent;
6070 } VkDisplayPresentInfoKHR;
6072 typedef VkResult (VKAPI_PTR *PFN_vkCreateSharedSwapchainsKHR)(VkDevice device, uint32_t swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains);
6074 #ifndef VK_NO_PROTOTYPES
6075 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSharedSwapchainsKHR(
6077 uint32_t swapchainCount,
6078 const VkSwapchainCreateInfoKHR* pCreateInfos,
6079 const VkAllocationCallbacks* pAllocator,
6080 VkSwapchainKHR* pSwapchains);
6084 #define VK_KHR_sampler_mirror_clamp_to_edge 1
6085 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION 3
6086 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME "VK_KHR_sampler_mirror_clamp_to_edge"
6089 #define VK_KHR_multiview 1
6090 #define VK_KHR_MULTIVIEW_SPEC_VERSION 1
6091 #define VK_KHR_MULTIVIEW_EXTENSION_NAME "VK_KHR_multiview"
6092 typedef VkRenderPassMultiviewCreateInfo VkRenderPassMultiviewCreateInfoKHR;
6094 typedef VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeaturesKHR;
6096 typedef VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewPropertiesKHR;
6100 #define VK_KHR_get_physical_device_properties2 1
6101 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION 2
6102 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_physical_device_properties2"
6103 typedef VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2KHR;
6105 typedef VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2KHR;
6107 typedef VkFormatProperties2 VkFormatProperties2KHR;
6109 typedef VkImageFormatProperties2 VkImageFormatProperties2KHR;
6111 typedef VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2KHR;
6113 typedef VkQueueFamilyProperties2 VkQueueFamilyProperties2KHR;
6115 typedef VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2KHR;
6117 typedef VkSparseImageFormatProperties2 VkSparseImageFormatProperties2KHR;
6119 typedef VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2KHR;
6121 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
6122 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
6123 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2KHR)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
6124 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
6125 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
6126 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
6127 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
6129 #ifndef VK_NO_PROTOTYPES
6130 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2KHR(
6131 VkPhysicalDevice physicalDevice,
6132 VkPhysicalDeviceFeatures2* pFeatures);
6134 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2KHR(
6135 VkPhysicalDevice physicalDevice,
6136 VkPhysicalDeviceProperties2* pProperties);
6138 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2KHR(
6139 VkPhysicalDevice physicalDevice,
6141 VkFormatProperties2* pFormatProperties);
6143 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2KHR(
6144 VkPhysicalDevice physicalDevice,
6145 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
6146 VkImageFormatProperties2* pImageFormatProperties);
6148 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2KHR(
6149 VkPhysicalDevice physicalDevice,
6150 uint32_t* pQueueFamilyPropertyCount,
6151 VkQueueFamilyProperties2* pQueueFamilyProperties);
6153 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2KHR(
6154 VkPhysicalDevice physicalDevice,
6155 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
6157 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
6158 VkPhysicalDevice physicalDevice,
6159 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
6160 uint32_t* pPropertyCount,
6161 VkSparseImageFormatProperties2* pProperties);
6165 #define VK_KHR_device_group 1
6166 #define VK_KHR_DEVICE_GROUP_SPEC_VERSION 4
6167 #define VK_KHR_DEVICE_GROUP_EXTENSION_NAME "VK_KHR_device_group"
6168 typedef VkPeerMemoryFeatureFlags VkPeerMemoryFeatureFlagsKHR;
6170 typedef VkPeerMemoryFeatureFlagBits VkPeerMemoryFeatureFlagBitsKHR;
6172 typedef VkMemoryAllocateFlags VkMemoryAllocateFlagsKHR;
6174 typedef VkMemoryAllocateFlagBits VkMemoryAllocateFlagBitsKHR;
6176 typedef VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfoKHR;
6178 typedef VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfoKHR;
6180 typedef VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfoKHR;
6182 typedef VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfoKHR;
6184 typedef VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfoKHR;
6186 typedef VkBindBufferMemoryDeviceGroupInfo VkBindBufferMemoryDeviceGroupInfoKHR;
6188 typedef VkBindImageMemoryDeviceGroupInfo VkBindImageMemoryDeviceGroupInfoKHR;
6190 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR)(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
6191 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMaskKHR)(VkCommandBuffer commandBuffer, uint32_t deviceMask);
6192 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);
6194 #ifndef VK_NO_PROTOTYPES
6195 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeaturesKHR(
6198 uint32_t localDeviceIndex,
6199 uint32_t remoteDeviceIndex,
6200 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
6202 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMaskKHR(
6203 VkCommandBuffer commandBuffer,
6204 uint32_t deviceMask);
6206 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBaseKHR(
6207 VkCommandBuffer commandBuffer,
6208 uint32_t baseGroupX,
6209 uint32_t baseGroupY,
6210 uint32_t baseGroupZ,
6211 uint32_t groupCountX,
6212 uint32_t groupCountY,
6213 uint32_t groupCountZ);
6217 #define VK_KHR_shader_draw_parameters 1
6218 #define VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION 1
6219 #define VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME "VK_KHR_shader_draw_parameters"
6222 #define VK_KHR_maintenance1 1
6223 #define VK_KHR_MAINTENANCE1_SPEC_VERSION 2
6224 #define VK_KHR_MAINTENANCE1_EXTENSION_NAME "VK_KHR_maintenance1"
6225 typedef VkCommandPoolTrimFlags VkCommandPoolTrimFlagsKHR;
6227 typedef void (VKAPI_PTR *PFN_vkTrimCommandPoolKHR)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
6229 #ifndef VK_NO_PROTOTYPES
6230 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPoolKHR(
6232 VkCommandPool commandPool,
6233 VkCommandPoolTrimFlags flags);
6237 #define VK_KHR_device_group_creation 1
6238 #define VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION 1
6239 #define VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME "VK_KHR_device_group_creation"
6240 #define VK_MAX_DEVICE_GROUP_SIZE_KHR VK_MAX_DEVICE_GROUP_SIZE
6241 typedef VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupPropertiesKHR;
6243 typedef VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfoKHR;
6245 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroupsKHR)(VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
6247 #ifndef VK_NO_PROTOTYPES
6248 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroupsKHR(
6249 VkInstance instance,
6250 uint32_t* pPhysicalDeviceGroupCount,
6251 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
6255 #define VK_KHR_external_memory_capabilities 1
6256 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
6257 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_memory_capabilities"
6258 #define VK_LUID_SIZE_KHR VK_LUID_SIZE
6259 typedef VkExternalMemoryHandleTypeFlags VkExternalMemoryHandleTypeFlagsKHR;
6261 typedef VkExternalMemoryHandleTypeFlagBits VkExternalMemoryHandleTypeFlagBitsKHR;
6263 typedef VkExternalMemoryFeatureFlags VkExternalMemoryFeatureFlagsKHR;
6265 typedef VkExternalMemoryFeatureFlagBits VkExternalMemoryFeatureFlagBitsKHR;
6267 typedef VkExternalMemoryProperties VkExternalMemoryPropertiesKHR;
6269 typedef VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfoKHR;
6271 typedef VkExternalImageFormatProperties VkExternalImageFormatPropertiesKHR;
6273 typedef VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfoKHR;
6275 typedef VkExternalBufferProperties VkExternalBufferPropertiesKHR;
6277 typedef VkPhysicalDeviceIDProperties VkPhysicalDeviceIDPropertiesKHR;
6279 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
6281 #ifndef VK_NO_PROTOTYPES
6282 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferPropertiesKHR(
6283 VkPhysicalDevice physicalDevice,
6284 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
6285 VkExternalBufferProperties* pExternalBufferProperties);
6289 #define VK_KHR_external_memory 1
6290 #define VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION 1
6291 #define VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME "VK_KHR_external_memory"
6292 #define VK_QUEUE_FAMILY_EXTERNAL_KHR VK_QUEUE_FAMILY_EXTERNAL
6293 typedef VkExternalMemoryImageCreateInfo VkExternalMemoryImageCreateInfoKHR;
6295 typedef VkExternalMemoryBufferCreateInfo VkExternalMemoryBufferCreateInfoKHR;
6297 typedef VkExportMemoryAllocateInfo VkExportMemoryAllocateInfoKHR;
6301 #define VK_KHR_external_memory_fd 1
6302 #define VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION 1
6303 #define VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME "VK_KHR_external_memory_fd"
6304 typedef struct VkImportMemoryFdInfoKHR {
6305 VkStructureType sType;
6307 VkExternalMemoryHandleTypeFlagBits handleType;
6309 } VkImportMemoryFdInfoKHR;
6311 typedef struct VkMemoryFdPropertiesKHR {
6312 VkStructureType sType;
6314 uint32_t memoryTypeBits;
6315 } VkMemoryFdPropertiesKHR;
6317 typedef struct VkMemoryGetFdInfoKHR {
6318 VkStructureType sType;
6320 VkDeviceMemory memory;
6321 VkExternalMemoryHandleTypeFlagBits handleType;
6322 } VkMemoryGetFdInfoKHR;
6324 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdKHR)(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd);
6325 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdPropertiesKHR)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties);
6327 #ifndef VK_NO_PROTOTYPES
6328 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdKHR(
6330 const VkMemoryGetFdInfoKHR* pGetFdInfo,
6333 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdPropertiesKHR(
6335 VkExternalMemoryHandleTypeFlagBits handleType,
6337 VkMemoryFdPropertiesKHR* pMemoryFdProperties);
6341 #define VK_KHR_external_semaphore_capabilities 1
6342 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION 1
6343 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_semaphore_capabilities"
6344 typedef VkExternalSemaphoreHandleTypeFlags VkExternalSemaphoreHandleTypeFlagsKHR;
6346 typedef VkExternalSemaphoreHandleTypeFlagBits VkExternalSemaphoreHandleTypeFlagBitsKHR;
6348 typedef VkExternalSemaphoreFeatureFlags VkExternalSemaphoreFeatureFlagsKHR;
6350 typedef VkExternalSemaphoreFeatureFlagBits VkExternalSemaphoreFeatureFlagBitsKHR;
6352 typedef VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfoKHR;
6354 typedef VkExternalSemaphoreProperties VkExternalSemaphorePropertiesKHR;
6356 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
6358 #ifndef VK_NO_PROTOTYPES
6359 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(
6360 VkPhysicalDevice physicalDevice,
6361 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
6362 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
6366 #define VK_KHR_external_semaphore 1
6367 #define VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION 1
6368 #define VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME "VK_KHR_external_semaphore"
6369 typedef VkSemaphoreImportFlags VkSemaphoreImportFlagsKHR;
6371 typedef VkSemaphoreImportFlagBits VkSemaphoreImportFlagBitsKHR;
6373 typedef VkExportSemaphoreCreateInfo VkExportSemaphoreCreateInfoKHR;
6377 #define VK_KHR_external_semaphore_fd 1
6378 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION 1
6379 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME "VK_KHR_external_semaphore_fd"
6380 typedef struct VkImportSemaphoreFdInfoKHR {
6381 VkStructureType sType;
6383 VkSemaphore semaphore;
6384 VkSemaphoreImportFlags flags;
6385 VkExternalSemaphoreHandleTypeFlagBits handleType;
6387 } VkImportSemaphoreFdInfoKHR;
6389 typedef struct VkSemaphoreGetFdInfoKHR {
6390 VkStructureType sType;
6392 VkSemaphore semaphore;
6393 VkExternalSemaphoreHandleTypeFlagBits handleType;
6394 } VkSemaphoreGetFdInfoKHR;
6396 typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreFdKHR)(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
6397 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreFdKHR)(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd);
6399 #ifndef VK_NO_PROTOTYPES
6400 VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreFdKHR(
6402 const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
6404 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreFdKHR(
6406 const VkSemaphoreGetFdInfoKHR* pGetFdInfo,
6411 #define VK_KHR_push_descriptor 1
6412 #define VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION 2
6413 #define VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME "VK_KHR_push_descriptor"
6414 typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
6415 VkStructureType sType;
6417 uint32_t maxPushDescriptors;
6418 } VkPhysicalDevicePushDescriptorPropertiesKHR;
6420 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetKHR)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites);
6421 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplateKHR)(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void* pData);
6423 #ifndef VK_NO_PROTOTYPES
6424 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetKHR(
6425 VkCommandBuffer commandBuffer,
6426 VkPipelineBindPoint pipelineBindPoint,
6427 VkPipelineLayout layout,
6429 uint32_t descriptorWriteCount,
6430 const VkWriteDescriptorSet* pDescriptorWrites);
6432 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplateKHR(
6433 VkCommandBuffer commandBuffer,
6434 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
6435 VkPipelineLayout layout,
6441 #define VK_KHR_shader_float16_int8 1
6442 #define VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION 1
6443 #define VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME "VK_KHR_shader_float16_int8"
6444 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceShaderFloat16Int8FeaturesKHR;
6446 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceFloat16Int8FeaturesKHR;
6450 #define VK_KHR_16bit_storage 1
6451 #define VK_KHR_16BIT_STORAGE_SPEC_VERSION 1
6452 #define VK_KHR_16BIT_STORAGE_EXTENSION_NAME "VK_KHR_16bit_storage"
6453 typedef VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeaturesKHR;
6457 #define VK_KHR_incremental_present 1
6458 #define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 1
6459 #define VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME "VK_KHR_incremental_present"
6460 typedef struct VkRectLayerKHR {
6466 typedef struct VkPresentRegionKHR {
6467 uint32_t rectangleCount;
6468 const VkRectLayerKHR* pRectangles;
6469 } VkPresentRegionKHR;
6471 typedef struct VkPresentRegionsKHR {
6472 VkStructureType sType;
6474 uint32_t swapchainCount;
6475 const VkPresentRegionKHR* pRegions;
6476 } VkPresentRegionsKHR;
6480 #define VK_KHR_descriptor_update_template 1
6481 typedef VkDescriptorUpdateTemplate VkDescriptorUpdateTemplateKHR;
6483 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION 1
6484 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME "VK_KHR_descriptor_update_template"
6485 typedef VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateTypeKHR;
6487 typedef VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlagsKHR;
6489 typedef VkDescriptorUpdateTemplateEntry VkDescriptorUpdateTemplateEntryKHR;
6491 typedef VkDescriptorUpdateTemplateCreateInfo VkDescriptorUpdateTemplateCreateInfoKHR;
6493 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplateKHR)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
6494 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplateKHR)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
6495 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplateKHR)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
6497 #ifndef VK_NO_PROTOTYPES
6498 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplateKHR(
6500 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
6501 const VkAllocationCallbacks* pAllocator,
6502 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
6504 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplateKHR(
6506 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
6507 const VkAllocationCallbacks* pAllocator);
6509 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplateKHR(
6511 VkDescriptorSet descriptorSet,
6512 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
6517 #define VK_KHR_imageless_framebuffer 1
6518 #define VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION 1
6519 #define VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME "VK_KHR_imageless_framebuffer"
6520 typedef VkPhysicalDeviceImagelessFramebufferFeatures VkPhysicalDeviceImagelessFramebufferFeaturesKHR;
6522 typedef VkFramebufferAttachmentsCreateInfo VkFramebufferAttachmentsCreateInfoKHR;
6524 typedef VkFramebufferAttachmentImageInfo VkFramebufferAttachmentImageInfoKHR;
6526 typedef VkRenderPassAttachmentBeginInfo VkRenderPassAttachmentBeginInfoKHR;
6530 #define VK_KHR_create_renderpass2 1
6531 #define VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION 1
6532 #define VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME "VK_KHR_create_renderpass2"
6533 typedef VkRenderPassCreateInfo2 VkRenderPassCreateInfo2KHR;
6535 typedef VkAttachmentDescription2 VkAttachmentDescription2KHR;
6537 typedef VkAttachmentReference2 VkAttachmentReference2KHR;
6539 typedef VkSubpassDescription2 VkSubpassDescription2KHR;
6541 typedef VkSubpassDependency2 VkSubpassDependency2KHR;
6543 typedef VkSubpassBeginInfo VkSubpassBeginInfoKHR;
6545 typedef VkSubpassEndInfo VkSubpassEndInfoKHR;
6547 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2KHR)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
6548 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo);
6549 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo);
6550 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo);
6552 #ifndef VK_NO_PROTOTYPES
6553 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2KHR(
6555 const VkRenderPassCreateInfo2* pCreateInfo,
6556 const VkAllocationCallbacks* pAllocator,
6557 VkRenderPass* pRenderPass);
6559 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2KHR(
6560 VkCommandBuffer commandBuffer,
6561 const VkRenderPassBeginInfo* pRenderPassBegin,
6562 const VkSubpassBeginInfo* pSubpassBeginInfo);
6564 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2KHR(
6565 VkCommandBuffer commandBuffer,
6566 const VkSubpassBeginInfo* pSubpassBeginInfo,
6567 const VkSubpassEndInfo* pSubpassEndInfo);
6569 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2KHR(
6570 VkCommandBuffer commandBuffer,
6571 const VkSubpassEndInfo* pSubpassEndInfo);
6575 #define VK_KHR_shared_presentable_image 1
6576 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION 1
6577 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME "VK_KHR_shared_presentable_image"
6578 typedef struct VkSharedPresentSurfaceCapabilitiesKHR {
6579 VkStructureType sType;
6581 VkImageUsageFlags sharedPresentSupportedUsageFlags;
6582 } VkSharedPresentSurfaceCapabilitiesKHR;
6584 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainStatusKHR)(VkDevice device, VkSwapchainKHR swapchain);
6586 #ifndef VK_NO_PROTOTYPES
6587 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainStatusKHR(
6589 VkSwapchainKHR swapchain);
6593 #define VK_KHR_external_fence_capabilities 1
6594 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION 1
6595 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_fence_capabilities"
6596 typedef VkExternalFenceHandleTypeFlags VkExternalFenceHandleTypeFlagsKHR;
6598 typedef VkExternalFenceHandleTypeFlagBits VkExternalFenceHandleTypeFlagBitsKHR;
6600 typedef VkExternalFenceFeatureFlags VkExternalFenceFeatureFlagsKHR;
6602 typedef VkExternalFenceFeatureFlagBits VkExternalFenceFeatureFlagBitsKHR;
6604 typedef VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfoKHR;
6606 typedef VkExternalFenceProperties VkExternalFencePropertiesKHR;
6608 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
6610 #ifndef VK_NO_PROTOTYPES
6611 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFencePropertiesKHR(
6612 VkPhysicalDevice physicalDevice,
6613 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
6614 VkExternalFenceProperties* pExternalFenceProperties);
6618 #define VK_KHR_external_fence 1
6619 #define VK_KHR_EXTERNAL_FENCE_SPEC_VERSION 1
6620 #define VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME "VK_KHR_external_fence"
6621 typedef VkFenceImportFlags VkFenceImportFlagsKHR;
6623 typedef VkFenceImportFlagBits VkFenceImportFlagBitsKHR;
6625 typedef VkExportFenceCreateInfo VkExportFenceCreateInfoKHR;
6629 #define VK_KHR_external_fence_fd 1
6630 #define VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION 1
6631 #define VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME "VK_KHR_external_fence_fd"
6632 typedef struct VkImportFenceFdInfoKHR {
6633 VkStructureType sType;
6636 VkFenceImportFlags flags;
6637 VkExternalFenceHandleTypeFlagBits handleType;
6639 } VkImportFenceFdInfoKHR;
6641 typedef struct VkFenceGetFdInfoKHR {
6642 VkStructureType sType;
6645 VkExternalFenceHandleTypeFlagBits handleType;
6646 } VkFenceGetFdInfoKHR;
6648 typedef VkResult (VKAPI_PTR *PFN_vkImportFenceFdKHR)(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
6649 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceFdKHR)(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd);
6651 #ifndef VK_NO_PROTOTYPES
6652 VKAPI_ATTR VkResult VKAPI_CALL vkImportFenceFdKHR(
6654 const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
6656 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceFdKHR(
6658 const VkFenceGetFdInfoKHR* pGetFdInfo,
6662 #define VK_KHR_performance_query 1
6663 #define VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION 1
6664 #define VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME "VK_KHR_performance_query"
6666 typedef enum VkPerformanceCounterUnitKHR {
6667 VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR = 0,
6668 VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR = 1,
6669 VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR = 2,
6670 VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR = 3,
6671 VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR = 4,
6672 VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR = 5,
6673 VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR = 6,
6674 VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR = 7,
6675 VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR = 8,
6676 VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR = 9,
6677 VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR = 10,
6678 VK_PERFORMANCE_COUNTER_UNIT_BEGIN_RANGE_KHR = VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR,
6679 VK_PERFORMANCE_COUNTER_UNIT_END_RANGE_KHR = VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR,
6680 VK_PERFORMANCE_COUNTER_UNIT_RANGE_SIZE_KHR = (VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR - VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR + 1),
6681 VK_PERFORMANCE_COUNTER_UNIT_MAX_ENUM_KHR = 0x7FFFFFFF
6682 } VkPerformanceCounterUnitKHR;
6684 typedef enum VkPerformanceCounterScopeKHR {
6685 VK_QUERY_SCOPE_COMMAND_BUFFER_KHR = 0,
6686 VK_QUERY_SCOPE_RENDER_PASS_KHR = 1,
6687 VK_QUERY_SCOPE_COMMAND_KHR = 2,
6688 VK_PERFORMANCE_COUNTER_SCOPE_BEGIN_RANGE_KHR = VK_QUERY_SCOPE_COMMAND_BUFFER_KHR,
6689 VK_PERFORMANCE_COUNTER_SCOPE_END_RANGE_KHR = VK_QUERY_SCOPE_COMMAND_KHR,
6690 VK_PERFORMANCE_COUNTER_SCOPE_RANGE_SIZE_KHR = (VK_QUERY_SCOPE_COMMAND_KHR - VK_QUERY_SCOPE_COMMAND_BUFFER_KHR + 1),
6691 VK_PERFORMANCE_COUNTER_SCOPE_MAX_ENUM_KHR = 0x7FFFFFFF
6692 } VkPerformanceCounterScopeKHR;
6694 typedef enum VkPerformanceCounterStorageKHR {
6695 VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR = 0,
6696 VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR = 1,
6697 VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR = 2,
6698 VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR = 3,
6699 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR = 4,
6700 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR = 5,
6701 VK_PERFORMANCE_COUNTER_STORAGE_BEGIN_RANGE_KHR = VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR,
6702 VK_PERFORMANCE_COUNTER_STORAGE_END_RANGE_KHR = VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR,
6703 VK_PERFORMANCE_COUNTER_STORAGE_RANGE_SIZE_KHR = (VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR - VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR + 1),
6704 VK_PERFORMANCE_COUNTER_STORAGE_MAX_ENUM_KHR = 0x7FFFFFFF
6705 } VkPerformanceCounterStorageKHR;
6707 typedef enum VkPerformanceCounterDescriptionFlagBitsKHR {
6708 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR = 0x00000001,
6709 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR = 0x00000002,
6710 VK_PERFORMANCE_COUNTER_DESCRIPTION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
6711 } VkPerformanceCounterDescriptionFlagBitsKHR;
6712 typedef VkFlags VkPerformanceCounterDescriptionFlagsKHR;
6714 typedef enum VkAcquireProfilingLockFlagBitsKHR {
6715 VK_ACQUIRE_PROFILING_LOCK_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
6716 } VkAcquireProfilingLockFlagBitsKHR;
6717 typedef VkFlags VkAcquireProfilingLockFlagsKHR;
6718 typedef struct VkPhysicalDevicePerformanceQueryFeaturesKHR {
6719 VkStructureType sType;
6721 VkBool32 performanceCounterQueryPools;
6722 VkBool32 performanceCounterMultipleQueryPools;
6723 } VkPhysicalDevicePerformanceQueryFeaturesKHR;
6725 typedef struct VkPhysicalDevicePerformanceQueryPropertiesKHR {
6726 VkStructureType sType;
6728 VkBool32 allowCommandBufferQueryCopies;
6729 } VkPhysicalDevicePerformanceQueryPropertiesKHR;
6731 typedef struct VkPerformanceCounterKHR {
6732 VkStructureType sType;
6734 VkPerformanceCounterUnitKHR unit;
6735 VkPerformanceCounterScopeKHR scope;
6736 VkPerformanceCounterStorageKHR storage;
6737 uint8_t uuid[VK_UUID_SIZE];
6738 } VkPerformanceCounterKHR;
6740 typedef struct VkPerformanceCounterDescriptionKHR {
6741 VkStructureType sType;
6743 VkPerformanceCounterDescriptionFlagsKHR flags;
6744 char name[VK_MAX_DESCRIPTION_SIZE];
6745 char category[VK_MAX_DESCRIPTION_SIZE];
6746 char description[VK_MAX_DESCRIPTION_SIZE];
6747 } VkPerformanceCounterDescriptionKHR;
6749 typedef struct VkQueryPoolPerformanceCreateInfoKHR {
6750 VkStructureType sType;
6752 uint32_t queueFamilyIndex;
6753 uint32_t counterIndexCount;
6754 const uint32_t* pCounterIndices;
6755 } VkQueryPoolPerformanceCreateInfoKHR;
6757 typedef union VkPerformanceCounterResultKHR {
6764 } VkPerformanceCounterResultKHR;
6766 typedef struct VkAcquireProfilingLockInfoKHR {
6767 VkStructureType sType;
6769 VkAcquireProfilingLockFlagsKHR flags;
6771 } VkAcquireProfilingLockInfoKHR;
6773 typedef struct VkPerformanceQuerySubmitInfoKHR {
6774 VkStructureType sType;
6776 uint32_t counterPassIndex;
6777 } VkPerformanceQuerySubmitInfoKHR;
6779 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, uint32_t* pCounterCount, VkPerformanceCounterKHR* pCounters, VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
6780 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR)(VkPhysicalDevice physicalDevice, const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, uint32_t* pNumPasses);
6781 typedef VkResult (VKAPI_PTR *PFN_vkAcquireProfilingLockKHR)(VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo);
6782 typedef void (VKAPI_PTR *PFN_vkReleaseProfilingLockKHR)(VkDevice device);
6784 #ifndef VK_NO_PROTOTYPES
6785 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
6786 VkPhysicalDevice physicalDevice,
6787 uint32_t queueFamilyIndex,
6788 uint32_t* pCounterCount,
6789 VkPerformanceCounterKHR* pCounters,
6790 VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
6792 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
6793 VkPhysicalDevice physicalDevice,
6794 const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo,
6795 uint32_t* pNumPasses);
6797 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireProfilingLockKHR(
6799 const VkAcquireProfilingLockInfoKHR* pInfo);
6801 VKAPI_ATTR void VKAPI_CALL vkReleaseProfilingLockKHR(
6806 #define VK_KHR_maintenance2 1
6807 #define VK_KHR_MAINTENANCE2_SPEC_VERSION 1
6808 #define VK_KHR_MAINTENANCE2_EXTENSION_NAME "VK_KHR_maintenance2"
6809 typedef VkPointClippingBehavior VkPointClippingBehaviorKHR;
6811 typedef VkTessellationDomainOrigin VkTessellationDomainOriginKHR;
6813 typedef VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingPropertiesKHR;
6815 typedef VkRenderPassInputAttachmentAspectCreateInfo VkRenderPassInputAttachmentAspectCreateInfoKHR;
6817 typedef VkInputAttachmentAspectReference VkInputAttachmentAspectReferenceKHR;
6819 typedef VkImageViewUsageCreateInfo VkImageViewUsageCreateInfoKHR;
6821 typedef VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfoKHR;
6825 #define VK_KHR_get_surface_capabilities2 1
6826 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION 1
6827 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME "VK_KHR_get_surface_capabilities2"
6828 typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
6829 VkStructureType sType;
6831 VkSurfaceKHR surface;
6832 } VkPhysicalDeviceSurfaceInfo2KHR;
6834 typedef struct VkSurfaceCapabilities2KHR {
6835 VkStructureType sType;
6837 VkSurfaceCapabilitiesKHR surfaceCapabilities;
6838 } VkSurfaceCapabilities2KHR;
6840 typedef struct VkSurfaceFormat2KHR {
6841 VkStructureType sType;
6843 VkSurfaceFormatKHR surfaceFormat;
6844 } VkSurfaceFormat2KHR;
6846 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
6847 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormats2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, uint32_t* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats);
6849 #ifndef VK_NO_PROTOTYPES
6850 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2KHR(
6851 VkPhysicalDevice physicalDevice,
6852 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
6853 VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
6855 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormats2KHR(
6856 VkPhysicalDevice physicalDevice,
6857 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
6858 uint32_t* pSurfaceFormatCount,
6859 VkSurfaceFormat2KHR* pSurfaceFormats);
6863 #define VK_KHR_variable_pointers 1
6864 #define VK_KHR_VARIABLE_POINTERS_SPEC_VERSION 1
6865 #define VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME "VK_KHR_variable_pointers"
6866 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeaturesKHR;
6868 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointersFeaturesKHR;
6872 #define VK_KHR_get_display_properties2 1
6873 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION 1
6874 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_display_properties2"
6875 typedef struct VkDisplayProperties2KHR {
6876 VkStructureType sType;
6878 VkDisplayPropertiesKHR displayProperties;
6879 } VkDisplayProperties2KHR;
6881 typedef struct VkDisplayPlaneProperties2KHR {
6882 VkStructureType sType;
6884 VkDisplayPlanePropertiesKHR displayPlaneProperties;
6885 } VkDisplayPlaneProperties2KHR;
6887 typedef struct VkDisplayModeProperties2KHR {
6888 VkStructureType sType;
6890 VkDisplayModePropertiesKHR displayModeProperties;
6891 } VkDisplayModeProperties2KHR;
6893 typedef struct VkDisplayPlaneInfo2KHR {
6894 VkStructureType sType;
6896 VkDisplayModeKHR mode;
6897 uint32_t planeIndex;
6898 } VkDisplayPlaneInfo2KHR;
6900 typedef struct VkDisplayPlaneCapabilities2KHR {
6901 VkStructureType sType;
6903 VkDisplayPlaneCapabilitiesKHR capabilities;
6904 } VkDisplayPlaneCapabilities2KHR;
6906 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayProperties2KHR* pProperties);
6907 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlaneProperties2KHR* pProperties);
6908 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModeProperties2KHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModeProperties2KHR* pProperties);
6909 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, VkDisplayPlaneCapabilities2KHR* pCapabilities);
6911 #ifndef VK_NO_PROTOTYPES
6912 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayProperties2KHR(
6913 VkPhysicalDevice physicalDevice,
6914 uint32_t* pPropertyCount,
6915 VkDisplayProperties2KHR* pProperties);
6917 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlaneProperties2KHR(
6918 VkPhysicalDevice physicalDevice,
6919 uint32_t* pPropertyCount,
6920 VkDisplayPlaneProperties2KHR* pProperties);
6922 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModeProperties2KHR(
6923 VkPhysicalDevice physicalDevice,
6924 VkDisplayKHR display,
6925 uint32_t* pPropertyCount,
6926 VkDisplayModeProperties2KHR* pProperties);
6928 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilities2KHR(
6929 VkPhysicalDevice physicalDevice,
6930 const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo,
6931 VkDisplayPlaneCapabilities2KHR* pCapabilities);
6935 #define VK_KHR_dedicated_allocation 1
6936 #define VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION 3
6937 #define VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_KHR_dedicated_allocation"
6938 typedef VkMemoryDedicatedRequirements VkMemoryDedicatedRequirementsKHR;
6940 typedef VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfoKHR;
6944 #define VK_KHR_storage_buffer_storage_class 1
6945 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION 1
6946 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME "VK_KHR_storage_buffer_storage_class"
6949 #define VK_KHR_relaxed_block_layout 1
6950 #define VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION 1
6951 #define VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME "VK_KHR_relaxed_block_layout"
6954 #define VK_KHR_get_memory_requirements2 1
6955 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION 1
6956 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME "VK_KHR_get_memory_requirements2"
6957 typedef VkBufferMemoryRequirementsInfo2 VkBufferMemoryRequirementsInfo2KHR;
6959 typedef VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2KHR;
6961 typedef VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2KHR;
6963 typedef VkSparseImageMemoryRequirements2 VkSparseImageMemoryRequirements2KHR;
6965 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2KHR)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
6966 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2KHR)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
6967 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2KHR)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
6969 #ifndef VK_NO_PROTOTYPES
6970 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2KHR(
6972 const VkImageMemoryRequirementsInfo2* pInfo,
6973 VkMemoryRequirements2* pMemoryRequirements);
6975 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2KHR(
6977 const VkBufferMemoryRequirementsInfo2* pInfo,
6978 VkMemoryRequirements2* pMemoryRequirements);
6980 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2KHR(
6982 const VkImageSparseMemoryRequirementsInfo2* pInfo,
6983 uint32_t* pSparseMemoryRequirementCount,
6984 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
6988 #define VK_KHR_image_format_list 1
6989 #define VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION 1
6990 #define VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME "VK_KHR_image_format_list"
6991 typedef VkImageFormatListCreateInfo VkImageFormatListCreateInfoKHR;
6995 #define VK_KHR_sampler_ycbcr_conversion 1
6996 typedef VkSamplerYcbcrConversion VkSamplerYcbcrConversionKHR;
6998 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION 14
6999 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME "VK_KHR_sampler_ycbcr_conversion"
7000 typedef VkSamplerYcbcrModelConversion VkSamplerYcbcrModelConversionKHR;
7002 typedef VkSamplerYcbcrRange VkSamplerYcbcrRangeKHR;
7004 typedef VkChromaLocation VkChromaLocationKHR;
7006 typedef VkSamplerYcbcrConversionCreateInfo VkSamplerYcbcrConversionCreateInfoKHR;
7008 typedef VkSamplerYcbcrConversionInfo VkSamplerYcbcrConversionInfoKHR;
7010 typedef VkBindImagePlaneMemoryInfo VkBindImagePlaneMemoryInfoKHR;
7012 typedef VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfoKHR;
7014 typedef VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR;
7016 typedef VkSamplerYcbcrConversionImageFormatProperties VkSamplerYcbcrConversionImageFormatPropertiesKHR;
7018 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversionKHR)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
7019 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversionKHR)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
7021 #ifndef VK_NO_PROTOTYPES
7022 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversionKHR(
7024 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
7025 const VkAllocationCallbacks* pAllocator,
7026 VkSamplerYcbcrConversion* pYcbcrConversion);
7028 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversionKHR(
7030 VkSamplerYcbcrConversion ycbcrConversion,
7031 const VkAllocationCallbacks* pAllocator);
7035 #define VK_KHR_bind_memory2 1
7036 #define VK_KHR_BIND_MEMORY_2_SPEC_VERSION 1
7037 #define VK_KHR_BIND_MEMORY_2_EXTENSION_NAME "VK_KHR_bind_memory2"
7038 typedef VkBindBufferMemoryInfo VkBindBufferMemoryInfoKHR;
7040 typedef VkBindImageMemoryInfo VkBindImageMemoryInfoKHR;
7042 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2KHR)(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
7043 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2KHR)(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
7045 #ifndef VK_NO_PROTOTYPES
7046 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2KHR(
7048 uint32_t bindInfoCount,
7049 const VkBindBufferMemoryInfo* pBindInfos);
7051 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2KHR(
7053 uint32_t bindInfoCount,
7054 const VkBindImageMemoryInfo* pBindInfos);
7058 #define VK_KHR_maintenance3 1
7059 #define VK_KHR_MAINTENANCE3_SPEC_VERSION 1
7060 #define VK_KHR_MAINTENANCE3_EXTENSION_NAME "VK_KHR_maintenance3"
7061 typedef VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3PropertiesKHR;
7063 typedef VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupportKHR;
7065 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupportKHR)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
7067 #ifndef VK_NO_PROTOTYPES
7068 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupportKHR(
7070 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
7071 VkDescriptorSetLayoutSupport* pSupport);
7075 #define VK_KHR_draw_indirect_count 1
7076 #define VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION 1
7077 #define VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_KHR_draw_indirect_count"
7078 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
7079 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
7081 #ifndef VK_NO_PROTOTYPES
7082 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountKHR(
7083 VkCommandBuffer commandBuffer,
7085 VkDeviceSize offset,
7086 VkBuffer countBuffer,
7087 VkDeviceSize countBufferOffset,
7088 uint32_t maxDrawCount,
7091 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountKHR(
7092 VkCommandBuffer commandBuffer,
7094 VkDeviceSize offset,
7095 VkBuffer countBuffer,
7096 VkDeviceSize countBufferOffset,
7097 uint32_t maxDrawCount,
7102 #define VK_KHR_shader_subgroup_extended_types 1
7103 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION 1
7104 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME "VK_KHR_shader_subgroup_extended_types"
7105 typedef VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR;
7109 #define VK_KHR_8bit_storage 1
7110 #define VK_KHR_8BIT_STORAGE_SPEC_VERSION 1
7111 #define VK_KHR_8BIT_STORAGE_EXTENSION_NAME "VK_KHR_8bit_storage"
7112 typedef VkPhysicalDevice8BitStorageFeatures VkPhysicalDevice8BitStorageFeaturesKHR;
7116 #define VK_KHR_shader_atomic_int64 1
7117 #define VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION 1
7118 #define VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME "VK_KHR_shader_atomic_int64"
7119 typedef VkPhysicalDeviceShaderAtomicInt64Features VkPhysicalDeviceShaderAtomicInt64FeaturesKHR;
7123 #define VK_KHR_shader_clock 1
7124 #define VK_KHR_SHADER_CLOCK_SPEC_VERSION 1
7125 #define VK_KHR_SHADER_CLOCK_EXTENSION_NAME "VK_KHR_shader_clock"
7126 typedef struct VkPhysicalDeviceShaderClockFeaturesKHR {
7127 VkStructureType sType;
7129 VkBool32 shaderSubgroupClock;
7130 VkBool32 shaderDeviceClock;
7131 } VkPhysicalDeviceShaderClockFeaturesKHR;
7135 #define VK_KHR_driver_properties 1
7136 #define VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION 1
7137 #define VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME "VK_KHR_driver_properties"
7138 #define VK_MAX_DRIVER_NAME_SIZE_KHR VK_MAX_DRIVER_NAME_SIZE
7139 #define VK_MAX_DRIVER_INFO_SIZE_KHR VK_MAX_DRIVER_INFO_SIZE
7140 typedef VkDriverId VkDriverIdKHR;
7142 typedef VkConformanceVersion VkConformanceVersionKHR;
7144 typedef VkPhysicalDeviceDriverProperties VkPhysicalDeviceDriverPropertiesKHR;
7148 #define VK_KHR_shader_float_controls 1
7149 #define VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION 4
7150 #define VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME "VK_KHR_shader_float_controls"
7151 typedef VkShaderFloatControlsIndependence VkShaderFloatControlsIndependenceKHR;
7153 typedef VkPhysicalDeviceFloatControlsProperties VkPhysicalDeviceFloatControlsPropertiesKHR;
7157 #define VK_KHR_depth_stencil_resolve 1
7158 #define VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION 1
7159 #define VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME "VK_KHR_depth_stencil_resolve"
7160 typedef VkResolveModeFlagBits VkResolveModeFlagBitsKHR;
7162 typedef VkResolveModeFlags VkResolveModeFlagsKHR;
7164 typedef VkSubpassDescriptionDepthStencilResolve VkSubpassDescriptionDepthStencilResolveKHR;
7166 typedef VkPhysicalDeviceDepthStencilResolveProperties VkPhysicalDeviceDepthStencilResolvePropertiesKHR;
7170 #define VK_KHR_swapchain_mutable_format 1
7171 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION 1
7172 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME "VK_KHR_swapchain_mutable_format"
7175 #define VK_KHR_timeline_semaphore 1
7176 #define VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION 2
7177 #define VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME "VK_KHR_timeline_semaphore"
7178 typedef VkSemaphoreType VkSemaphoreTypeKHR;
7180 typedef VkSemaphoreWaitFlagBits VkSemaphoreWaitFlagBitsKHR;
7182 typedef VkSemaphoreWaitFlags VkSemaphoreWaitFlagsKHR;
7184 typedef VkPhysicalDeviceTimelineSemaphoreFeatures VkPhysicalDeviceTimelineSemaphoreFeaturesKHR;
7186 typedef VkPhysicalDeviceTimelineSemaphoreProperties VkPhysicalDeviceTimelineSemaphorePropertiesKHR;
7188 typedef VkSemaphoreTypeCreateInfo VkSemaphoreTypeCreateInfoKHR;
7190 typedef VkTimelineSemaphoreSubmitInfo VkTimelineSemaphoreSubmitInfoKHR;
7192 typedef VkSemaphoreWaitInfo VkSemaphoreWaitInfoKHR;
7194 typedef VkSemaphoreSignalInfo VkSemaphoreSignalInfoKHR;
7196 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValueKHR)(VkDevice device, VkSemaphore semaphore, uint64_t* pValue);
7197 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphoresKHR)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout);
7198 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphoreKHR)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo);
7200 #ifndef VK_NO_PROTOTYPES
7201 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValueKHR(
7203 VkSemaphore semaphore,
7206 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphoresKHR(
7208 const VkSemaphoreWaitInfo* pWaitInfo,
7211 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphoreKHR(
7213 const VkSemaphoreSignalInfo* pSignalInfo);
7217 #define VK_KHR_vulkan_memory_model 1
7218 #define VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION 3
7219 #define VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME "VK_KHR_vulkan_memory_model"
7220 typedef VkPhysicalDeviceVulkanMemoryModelFeatures VkPhysicalDeviceVulkanMemoryModelFeaturesKHR;
7223 #define VK_KHR_spirv_1_4 1
7224 #define VK_KHR_SPIRV_1_4_SPEC_VERSION 1
7225 #define VK_KHR_SPIRV_1_4_EXTENSION_NAME "VK_KHR_spirv_1_4"
7228 #define VK_KHR_surface_protected_capabilities 1
7229 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION 1
7230 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME "VK_KHR_surface_protected_capabilities"
7231 typedef struct VkSurfaceProtectedCapabilitiesKHR {
7232 VkStructureType sType;
7234 VkBool32 supportsProtected;
7235 } VkSurfaceProtectedCapabilitiesKHR;
7239 #define VK_KHR_separate_depth_stencil_layouts 1
7240 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION 1
7241 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME "VK_KHR_separate_depth_stencil_layouts"
7242 typedef VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR;
7244 typedef VkAttachmentReferenceStencilLayout VkAttachmentReferenceStencilLayoutKHR;
7246 typedef VkAttachmentDescriptionStencilLayout VkAttachmentDescriptionStencilLayoutKHR;
7250 #define VK_KHR_uniform_buffer_standard_layout 1
7251 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION 1
7252 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME "VK_KHR_uniform_buffer_standard_layout"
7253 typedef VkPhysicalDeviceUniformBufferStandardLayoutFeatures VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR;
7257 #define VK_KHR_buffer_device_address 1
7258 #define VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 1
7259 #define VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_KHR_buffer_device_address"
7260 typedef VkPhysicalDeviceBufferDeviceAddressFeatures VkPhysicalDeviceBufferDeviceAddressFeaturesKHR;
7262 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoKHR;
7264 typedef VkBufferOpaqueCaptureAddressCreateInfo VkBufferOpaqueCaptureAddressCreateInfoKHR;
7266 typedef VkMemoryOpaqueCaptureAddressAllocateInfo VkMemoryOpaqueCaptureAddressAllocateInfoKHR;
7268 typedef VkDeviceMemoryOpaqueCaptureAddressInfo VkDeviceMemoryOpaqueCaptureAddressInfoKHR;
7270 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
7271 typedef uint64_t (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
7272 typedef uint64_t (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
7274 #ifndef VK_NO_PROTOTYPES
7275 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressKHR(
7277 const VkBufferDeviceAddressInfo* pInfo);
7279 VKAPI_ATTR uint64_t VKAPI_CALL vkGetBufferOpaqueCaptureAddressKHR(
7281 const VkBufferDeviceAddressInfo* pInfo);
7283 VKAPI_ATTR uint64_t VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddressKHR(
7285 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
7289 #define VK_KHR_pipeline_executable_properties 1
7290 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION 1
7291 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME "VK_KHR_pipeline_executable_properties"
7293 typedef enum VkPipelineExecutableStatisticFormatKHR {
7294 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR = 0,
7295 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR = 1,
7296 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR = 2,
7297 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR = 3,
7298 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BEGIN_RANGE_KHR = VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR,
7299 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_END_RANGE_KHR = VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR,
7300 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_RANGE_SIZE_KHR = (VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR - VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR + 1),
7301 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_MAX_ENUM_KHR = 0x7FFFFFFF
7302 } VkPipelineExecutableStatisticFormatKHR;
7303 typedef struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
7304 VkStructureType sType;
7306 VkBool32 pipelineExecutableInfo;
7307 } VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR;
7309 typedef struct VkPipelineInfoKHR {
7310 VkStructureType sType;
7312 VkPipeline pipeline;
7313 } VkPipelineInfoKHR;
7315 typedef struct VkPipelineExecutablePropertiesKHR {
7316 VkStructureType sType;
7318 VkShaderStageFlags stages;
7319 char name[VK_MAX_DESCRIPTION_SIZE];
7320 char description[VK_MAX_DESCRIPTION_SIZE];
7321 uint32_t subgroupSize;
7322 } VkPipelineExecutablePropertiesKHR;
7324 typedef struct VkPipelineExecutableInfoKHR {
7325 VkStructureType sType;
7327 VkPipeline pipeline;
7328 uint32_t executableIndex;
7329 } VkPipelineExecutableInfoKHR;
7331 typedef union VkPipelineExecutableStatisticValueKHR {
7336 } VkPipelineExecutableStatisticValueKHR;
7338 typedef struct VkPipelineExecutableStatisticKHR {
7339 VkStructureType sType;
7341 char name[VK_MAX_DESCRIPTION_SIZE];
7342 char description[VK_MAX_DESCRIPTION_SIZE];
7343 VkPipelineExecutableStatisticFormatKHR format;
7344 VkPipelineExecutableStatisticValueKHR value;
7345 } VkPipelineExecutableStatisticKHR;
7347 typedef struct VkPipelineExecutableInternalRepresentationKHR {
7348 VkStructureType sType;
7350 char name[VK_MAX_DESCRIPTION_SIZE];
7351 char description[VK_MAX_DESCRIPTION_SIZE];
7355 } VkPipelineExecutableInternalRepresentationKHR;
7357 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutablePropertiesKHR)(VkDevice device, const VkPipelineInfoKHR* pPipelineInfo, uint32_t* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties);
7358 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableStatisticsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics);
7359 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableInternalRepresentationsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
7361 #ifndef VK_NO_PROTOTYPES
7362 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutablePropertiesKHR(
7364 const VkPipelineInfoKHR* pPipelineInfo,
7365 uint32_t* pExecutableCount,
7366 VkPipelineExecutablePropertiesKHR* pProperties);
7368 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableStatisticsKHR(
7370 const VkPipelineExecutableInfoKHR* pExecutableInfo,
7371 uint32_t* pStatisticCount,
7372 VkPipelineExecutableStatisticKHR* pStatistics);
7374 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableInternalRepresentationsKHR(
7376 const VkPipelineExecutableInfoKHR* pExecutableInfo,
7377 uint32_t* pInternalRepresentationCount,
7378 VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
7381 #define VK_EXT_debug_report 1
7382 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT)
7383 #define VK_EXT_DEBUG_REPORT_SPEC_VERSION 9
7384 #define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report"
7386 typedef enum VkDebugReportObjectTypeEXT {
7387 VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT = 0,
7388 VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT = 1,
7389 VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT = 2,
7390 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT = 3,
7391 VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT = 4,
7392 VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT = 5,
7393 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT = 6,
7394 VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT = 7,
7395 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT = 8,
7396 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT = 9,
7397 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT = 10,
7398 VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT = 11,
7399 VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT = 12,
7400 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT = 13,
7401 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT = 14,
7402 VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT = 15,
7403 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT = 16,
7404 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT = 17,
7405 VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT = 18,
7406 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT = 19,
7407 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT = 20,
7408 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT = 21,
7409 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT = 22,
7410 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT = 23,
7411 VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT = 24,
7412 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT = 25,
7413 VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = 26,
7414 VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = 27,
7415 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT = 28,
7416 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT = 29,
7417 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = 30,
7418 VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT = 31,
7419 VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT = 32,
7420 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT = 33,
7421 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT = 1000156000,
7422 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT = 1000085000,
7423 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT = 1000165000,
7424 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT,
7425 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT,
7426 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT,
7427 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT,
7428 VK_DEBUG_REPORT_OBJECT_TYPE_BEGIN_RANGE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT,
7429 VK_DEBUG_REPORT_OBJECT_TYPE_END_RANGE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT,
7430 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),
7431 VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
7432 } VkDebugReportObjectTypeEXT;
7434 typedef enum VkDebugReportFlagBitsEXT {
7435 VK_DEBUG_REPORT_INFORMATION_BIT_EXT = 0x00000001,
7436 VK_DEBUG_REPORT_WARNING_BIT_EXT = 0x00000002,
7437 VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = 0x00000004,
7438 VK_DEBUG_REPORT_ERROR_BIT_EXT = 0x00000008,
7439 VK_DEBUG_REPORT_DEBUG_BIT_EXT = 0x00000010,
7440 VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
7441 } VkDebugReportFlagBitsEXT;
7442 typedef VkFlags VkDebugReportFlagsEXT;
7443 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugReportCallbackEXT)(
7444 VkDebugReportFlagsEXT flags,
7445 VkDebugReportObjectTypeEXT objectType,
7448 int32_t messageCode,
7449 const char* pLayerPrefix,
7450 const char* pMessage,
7453 typedef struct VkDebugReportCallbackCreateInfoEXT {
7454 VkStructureType sType;
7456 VkDebugReportFlagsEXT flags;
7457 PFN_vkDebugReportCallbackEXT pfnCallback;
7459 } VkDebugReportCallbackCreateInfoEXT;
7461 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugReportCallbackEXT)(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback);
7462 typedef void (VKAPI_PTR *PFN_vkDestroyDebugReportCallbackEXT)(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator);
7463 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);
7465 #ifndef VK_NO_PROTOTYPES
7466 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugReportCallbackEXT(
7467 VkInstance instance,
7468 const VkDebugReportCallbackCreateInfoEXT* pCreateInfo,
7469 const VkAllocationCallbacks* pAllocator,
7470 VkDebugReportCallbackEXT* pCallback);
7472 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugReportCallbackEXT(
7473 VkInstance instance,
7474 VkDebugReportCallbackEXT callback,
7475 const VkAllocationCallbacks* pAllocator);
7477 VKAPI_ATTR void VKAPI_CALL vkDebugReportMessageEXT(
7478 VkInstance instance,
7479 VkDebugReportFlagsEXT flags,
7480 VkDebugReportObjectTypeEXT objectType,
7483 int32_t messageCode,
7484 const char* pLayerPrefix,
7485 const char* pMessage);
7489 #define VK_NV_glsl_shader 1
7490 #define VK_NV_GLSL_SHADER_SPEC_VERSION 1
7491 #define VK_NV_GLSL_SHADER_EXTENSION_NAME "VK_NV_glsl_shader"
7494 #define VK_EXT_depth_range_unrestricted 1
7495 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION 1
7496 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME "VK_EXT_depth_range_unrestricted"
7499 #define VK_IMG_filter_cubic 1
7500 #define VK_IMG_FILTER_CUBIC_SPEC_VERSION 1
7501 #define VK_IMG_FILTER_CUBIC_EXTENSION_NAME "VK_IMG_filter_cubic"
7504 #define VK_AMD_rasterization_order 1
7505 #define VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION 1
7506 #define VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME "VK_AMD_rasterization_order"
7508 typedef enum VkRasterizationOrderAMD {
7509 VK_RASTERIZATION_ORDER_STRICT_AMD = 0,
7510 VK_RASTERIZATION_ORDER_RELAXED_AMD = 1,
7511 VK_RASTERIZATION_ORDER_BEGIN_RANGE_AMD = VK_RASTERIZATION_ORDER_STRICT_AMD,
7512 VK_RASTERIZATION_ORDER_END_RANGE_AMD = VK_RASTERIZATION_ORDER_RELAXED_AMD,
7513 VK_RASTERIZATION_ORDER_RANGE_SIZE_AMD = (VK_RASTERIZATION_ORDER_RELAXED_AMD - VK_RASTERIZATION_ORDER_STRICT_AMD + 1),
7514 VK_RASTERIZATION_ORDER_MAX_ENUM_AMD = 0x7FFFFFFF
7515 } VkRasterizationOrderAMD;
7516 typedef struct VkPipelineRasterizationStateRasterizationOrderAMD {
7517 VkStructureType sType;
7519 VkRasterizationOrderAMD rasterizationOrder;
7520 } VkPipelineRasterizationStateRasterizationOrderAMD;
7524 #define VK_AMD_shader_trinary_minmax 1
7525 #define VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION 1
7526 #define VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME "VK_AMD_shader_trinary_minmax"
7529 #define VK_AMD_shader_explicit_vertex_parameter 1
7530 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION 1
7531 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME "VK_AMD_shader_explicit_vertex_parameter"
7534 #define VK_EXT_debug_marker 1
7535 #define VK_EXT_DEBUG_MARKER_SPEC_VERSION 4
7536 #define VK_EXT_DEBUG_MARKER_EXTENSION_NAME "VK_EXT_debug_marker"
7537 typedef struct VkDebugMarkerObjectNameInfoEXT {
7538 VkStructureType sType;
7540 VkDebugReportObjectTypeEXT objectType;
7542 const char* pObjectName;
7543 } VkDebugMarkerObjectNameInfoEXT;
7545 typedef struct VkDebugMarkerObjectTagInfoEXT {
7546 VkStructureType sType;
7548 VkDebugReportObjectTypeEXT objectType;
7553 } VkDebugMarkerObjectTagInfoEXT;
7555 typedef struct VkDebugMarkerMarkerInfoEXT {
7556 VkStructureType sType;
7558 const char* pMarkerName;
7560 } VkDebugMarkerMarkerInfoEXT;
7562 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectTagEXT)(VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
7563 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectNameEXT)(VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
7564 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerBeginEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
7565 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerEndEXT)(VkCommandBuffer commandBuffer);
7566 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerInsertEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
7568 #ifndef VK_NO_PROTOTYPES
7569 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectTagEXT(
7571 const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
7573 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectNameEXT(
7575 const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
7577 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerBeginEXT(
7578 VkCommandBuffer commandBuffer,
7579 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
7581 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerEndEXT(
7582 VkCommandBuffer commandBuffer);
7584 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerInsertEXT(
7585 VkCommandBuffer commandBuffer,
7586 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
7590 #define VK_AMD_gcn_shader 1
7591 #define VK_AMD_GCN_SHADER_SPEC_VERSION 1
7592 #define VK_AMD_GCN_SHADER_EXTENSION_NAME "VK_AMD_gcn_shader"
7595 #define VK_NV_dedicated_allocation 1
7596 #define VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION 1
7597 #define VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_NV_dedicated_allocation"
7598 typedef struct VkDedicatedAllocationImageCreateInfoNV {
7599 VkStructureType sType;
7601 VkBool32 dedicatedAllocation;
7602 } VkDedicatedAllocationImageCreateInfoNV;
7604 typedef struct VkDedicatedAllocationBufferCreateInfoNV {
7605 VkStructureType sType;
7607 VkBool32 dedicatedAllocation;
7608 } VkDedicatedAllocationBufferCreateInfoNV;
7610 typedef struct VkDedicatedAllocationMemoryAllocateInfoNV {
7611 VkStructureType sType;
7615 } VkDedicatedAllocationMemoryAllocateInfoNV;
7619 #define VK_EXT_transform_feedback 1
7620 #define VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION 1
7621 #define VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME "VK_EXT_transform_feedback"
7622 typedef VkFlags VkPipelineRasterizationStateStreamCreateFlagsEXT;
7623 typedef struct VkPhysicalDeviceTransformFeedbackFeaturesEXT {
7624 VkStructureType sType;
7626 VkBool32 transformFeedback;
7627 VkBool32 geometryStreams;
7628 } VkPhysicalDeviceTransformFeedbackFeaturesEXT;
7630 typedef struct VkPhysicalDeviceTransformFeedbackPropertiesEXT {
7631 VkStructureType sType;
7633 uint32_t maxTransformFeedbackStreams;
7634 uint32_t maxTransformFeedbackBuffers;
7635 VkDeviceSize maxTransformFeedbackBufferSize;
7636 uint32_t maxTransformFeedbackStreamDataSize;
7637 uint32_t maxTransformFeedbackBufferDataSize;
7638 uint32_t maxTransformFeedbackBufferDataStride;
7639 VkBool32 transformFeedbackQueries;
7640 VkBool32 transformFeedbackStreamsLinesTriangles;
7641 VkBool32 transformFeedbackRasterizationStreamSelect;
7642 VkBool32 transformFeedbackDraw;
7643 } VkPhysicalDeviceTransformFeedbackPropertiesEXT;
7645 typedef struct VkPipelineRasterizationStateStreamCreateInfoEXT {
7646 VkStructureType sType;
7648 VkPipelineRasterizationStateStreamCreateFlagsEXT flags;
7649 uint32_t rasterizationStream;
7650 } VkPipelineRasterizationStateStreamCreateInfoEXT;
7652 typedef void (VKAPI_PTR *PFN_vkCmdBindTransformFeedbackBuffersEXT)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes);
7653 typedef void (VKAPI_PTR *PFN_vkCmdBeginTransformFeedbackEXT)(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
7654 typedef void (VKAPI_PTR *PFN_vkCmdEndTransformFeedbackEXT)(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
7655 typedef void (VKAPI_PTR *PFN_vkCmdBeginQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index);
7656 typedef void (VKAPI_PTR *PFN_vkCmdEndQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index);
7657 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectByteCountEXT)(VkCommandBuffer commandBuffer, uint32_t instanceCount, uint32_t firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, uint32_t counterOffset, uint32_t vertexStride);
7659 #ifndef VK_NO_PROTOTYPES
7660 VKAPI_ATTR void VKAPI_CALL vkCmdBindTransformFeedbackBuffersEXT(
7661 VkCommandBuffer commandBuffer,
7662 uint32_t firstBinding,
7663 uint32_t bindingCount,
7664 const VkBuffer* pBuffers,
7665 const VkDeviceSize* pOffsets,
7666 const VkDeviceSize* pSizes);
7668 VKAPI_ATTR void VKAPI_CALL vkCmdBeginTransformFeedbackEXT(
7669 VkCommandBuffer commandBuffer,
7670 uint32_t firstCounterBuffer,
7671 uint32_t counterBufferCount,
7672 const VkBuffer* pCounterBuffers,
7673 const VkDeviceSize* pCounterBufferOffsets);
7675 VKAPI_ATTR void VKAPI_CALL vkCmdEndTransformFeedbackEXT(
7676 VkCommandBuffer commandBuffer,
7677 uint32_t firstCounterBuffer,
7678 uint32_t counterBufferCount,
7679 const VkBuffer* pCounterBuffers,
7680 const VkDeviceSize* pCounterBufferOffsets);
7682 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQueryIndexedEXT(
7683 VkCommandBuffer commandBuffer,
7684 VkQueryPool queryPool,
7686 VkQueryControlFlags flags,
7689 VKAPI_ATTR void VKAPI_CALL vkCmdEndQueryIndexedEXT(
7690 VkCommandBuffer commandBuffer,
7691 VkQueryPool queryPool,
7695 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectByteCountEXT(
7696 VkCommandBuffer commandBuffer,
7697 uint32_t instanceCount,
7698 uint32_t firstInstance,
7699 VkBuffer counterBuffer,
7700 VkDeviceSize counterBufferOffset,
7701 uint32_t counterOffset,
7702 uint32_t vertexStride);
7706 #define VK_NVX_image_view_handle 1
7707 #define VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION 1
7708 #define VK_NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME "VK_NVX_image_view_handle"
7709 typedef struct VkImageViewHandleInfoNVX {
7710 VkStructureType sType;
7712 VkImageView imageView;
7713 VkDescriptorType descriptorType;
7715 } VkImageViewHandleInfoNVX;
7717 typedef uint32_t (VKAPI_PTR *PFN_vkGetImageViewHandleNVX)(VkDevice device, const VkImageViewHandleInfoNVX* pInfo);
7719 #ifndef VK_NO_PROTOTYPES
7720 VKAPI_ATTR uint32_t VKAPI_CALL vkGetImageViewHandleNVX(
7722 const VkImageViewHandleInfoNVX* pInfo);
7726 #define VK_AMD_draw_indirect_count 1
7727 #define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 2
7728 #define VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_AMD_draw_indirect_count"
7729 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
7730 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
7732 #ifndef VK_NO_PROTOTYPES
7733 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountAMD(
7734 VkCommandBuffer commandBuffer,
7736 VkDeviceSize offset,
7737 VkBuffer countBuffer,
7738 VkDeviceSize countBufferOffset,
7739 uint32_t maxDrawCount,
7742 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountAMD(
7743 VkCommandBuffer commandBuffer,
7745 VkDeviceSize offset,
7746 VkBuffer countBuffer,
7747 VkDeviceSize countBufferOffset,
7748 uint32_t maxDrawCount,
7753 #define VK_AMD_negative_viewport_height 1
7754 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION 1
7755 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME "VK_AMD_negative_viewport_height"
7758 #define VK_AMD_gpu_shader_half_float 1
7759 #define VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION 2
7760 #define VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME "VK_AMD_gpu_shader_half_float"
7763 #define VK_AMD_shader_ballot 1
7764 #define VK_AMD_SHADER_BALLOT_SPEC_VERSION 1
7765 #define VK_AMD_SHADER_BALLOT_EXTENSION_NAME "VK_AMD_shader_ballot"
7768 #define VK_AMD_texture_gather_bias_lod 1
7769 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION 1
7770 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME "VK_AMD_texture_gather_bias_lod"
7771 typedef struct VkTextureLODGatherFormatPropertiesAMD {
7772 VkStructureType sType;
7774 VkBool32 supportsTextureGatherLODBiasAMD;
7775 } VkTextureLODGatherFormatPropertiesAMD;
7779 #define VK_AMD_shader_info 1
7780 #define VK_AMD_SHADER_INFO_SPEC_VERSION 1
7781 #define VK_AMD_SHADER_INFO_EXTENSION_NAME "VK_AMD_shader_info"
7783 typedef enum VkShaderInfoTypeAMD {
7784 VK_SHADER_INFO_TYPE_STATISTICS_AMD = 0,
7785 VK_SHADER_INFO_TYPE_BINARY_AMD = 1,
7786 VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD = 2,
7787 VK_SHADER_INFO_TYPE_BEGIN_RANGE_AMD = VK_SHADER_INFO_TYPE_STATISTICS_AMD,
7788 VK_SHADER_INFO_TYPE_END_RANGE_AMD = VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD,
7789 VK_SHADER_INFO_TYPE_RANGE_SIZE_AMD = (VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD - VK_SHADER_INFO_TYPE_STATISTICS_AMD + 1),
7790 VK_SHADER_INFO_TYPE_MAX_ENUM_AMD = 0x7FFFFFFF
7791 } VkShaderInfoTypeAMD;
7792 typedef struct VkShaderResourceUsageAMD {
7793 uint32_t numUsedVgprs;
7794 uint32_t numUsedSgprs;
7795 uint32_t ldsSizePerLocalWorkGroup;
7796 size_t ldsUsageSizeInBytes;
7797 size_t scratchMemUsageInBytes;
7798 } VkShaderResourceUsageAMD;
7800 typedef struct VkShaderStatisticsInfoAMD {
7801 VkShaderStageFlags shaderStageMask;
7802 VkShaderResourceUsageAMD resourceUsage;
7803 uint32_t numPhysicalVgprs;
7804 uint32_t numPhysicalSgprs;
7805 uint32_t numAvailableVgprs;
7806 uint32_t numAvailableSgprs;
7807 uint32_t computeWorkGroupSize[3];
7808 } VkShaderStatisticsInfoAMD;
7810 typedef VkResult (VKAPI_PTR *PFN_vkGetShaderInfoAMD)(VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, size_t* pInfoSize, void* pInfo);
7812 #ifndef VK_NO_PROTOTYPES
7813 VKAPI_ATTR VkResult VKAPI_CALL vkGetShaderInfoAMD(
7815 VkPipeline pipeline,
7816 VkShaderStageFlagBits shaderStage,
7817 VkShaderInfoTypeAMD infoType,
7823 #define VK_AMD_shader_image_load_store_lod 1
7824 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION 1
7825 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME "VK_AMD_shader_image_load_store_lod"
7828 #define VK_NV_corner_sampled_image 1
7829 #define VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION 2
7830 #define VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME "VK_NV_corner_sampled_image"
7831 typedef struct VkPhysicalDeviceCornerSampledImageFeaturesNV {
7832 VkStructureType sType;
7834 VkBool32 cornerSampledImage;
7835 } VkPhysicalDeviceCornerSampledImageFeaturesNV;
7839 #define VK_IMG_format_pvrtc 1
7840 #define VK_IMG_FORMAT_PVRTC_SPEC_VERSION 1
7841 #define VK_IMG_FORMAT_PVRTC_EXTENSION_NAME "VK_IMG_format_pvrtc"
7844 #define VK_NV_external_memory_capabilities 1
7845 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
7846 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_NV_external_memory_capabilities"
7848 typedef enum VkExternalMemoryHandleTypeFlagBitsNV {
7849 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV = 0x00000001,
7850 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV = 0x00000002,
7851 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV = 0x00000004,
7852 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV = 0x00000008,
7853 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
7854 } VkExternalMemoryHandleTypeFlagBitsNV;
7855 typedef VkFlags VkExternalMemoryHandleTypeFlagsNV;
7857 typedef enum VkExternalMemoryFeatureFlagBitsNV {
7858 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV = 0x00000001,
7859 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV = 0x00000002,
7860 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV = 0x00000004,
7861 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
7862 } VkExternalMemoryFeatureFlagBitsNV;
7863 typedef VkFlags VkExternalMemoryFeatureFlagsNV;
7864 typedef struct VkExternalImageFormatPropertiesNV {
7865 VkImageFormatProperties imageFormatProperties;
7866 VkExternalMemoryFeatureFlagsNV externalMemoryFeatures;
7867 VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes;
7868 VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes;
7869 } VkExternalImageFormatPropertiesNV;
7871 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
7873 #ifndef VK_NO_PROTOTYPES
7874 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
7875 VkPhysicalDevice physicalDevice,
7878 VkImageTiling tiling,
7879 VkImageUsageFlags usage,
7880 VkImageCreateFlags flags,
7881 VkExternalMemoryHandleTypeFlagsNV externalHandleType,
7882 VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
7886 #define VK_NV_external_memory 1
7887 #define VK_NV_EXTERNAL_MEMORY_SPEC_VERSION 1
7888 #define VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME "VK_NV_external_memory"
7889 typedef struct VkExternalMemoryImageCreateInfoNV {
7890 VkStructureType sType;
7892 VkExternalMemoryHandleTypeFlagsNV handleTypes;
7893 } VkExternalMemoryImageCreateInfoNV;
7895 typedef struct VkExportMemoryAllocateInfoNV {
7896 VkStructureType sType;
7898 VkExternalMemoryHandleTypeFlagsNV handleTypes;
7899 } VkExportMemoryAllocateInfoNV;
7903 #define VK_EXT_validation_flags 1
7904 #define VK_EXT_VALIDATION_FLAGS_SPEC_VERSION 2
7905 #define VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME "VK_EXT_validation_flags"
7907 typedef enum VkValidationCheckEXT {
7908 VK_VALIDATION_CHECK_ALL_EXT = 0,
7909 VK_VALIDATION_CHECK_SHADERS_EXT = 1,
7910 VK_VALIDATION_CHECK_BEGIN_RANGE_EXT = VK_VALIDATION_CHECK_ALL_EXT,
7911 VK_VALIDATION_CHECK_END_RANGE_EXT = VK_VALIDATION_CHECK_SHADERS_EXT,
7912 VK_VALIDATION_CHECK_RANGE_SIZE_EXT = (VK_VALIDATION_CHECK_SHADERS_EXT - VK_VALIDATION_CHECK_ALL_EXT + 1),
7913 VK_VALIDATION_CHECK_MAX_ENUM_EXT = 0x7FFFFFFF
7914 } VkValidationCheckEXT;
7915 typedef struct VkValidationFlagsEXT {
7916 VkStructureType sType;
7918 uint32_t disabledValidationCheckCount;
7919 const VkValidationCheckEXT* pDisabledValidationChecks;
7920 } VkValidationFlagsEXT;
7924 #define VK_EXT_shader_subgroup_ballot 1
7925 #define VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION 1
7926 #define VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME "VK_EXT_shader_subgroup_ballot"
7929 #define VK_EXT_shader_subgroup_vote 1
7930 #define VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION 1
7931 #define VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME "VK_EXT_shader_subgroup_vote"
7934 #define VK_EXT_texture_compression_astc_hdr 1
7935 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION 1
7936 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME "VK_EXT_texture_compression_astc_hdr"
7937 typedef struct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT {
7938 VkStructureType sType;
7940 VkBool32 textureCompressionASTC_HDR;
7941 } VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT;
7945 #define VK_EXT_astc_decode_mode 1
7946 #define VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION 1
7947 #define VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME "VK_EXT_astc_decode_mode"
7948 typedef struct VkImageViewASTCDecodeModeEXT {
7949 VkStructureType sType;
7951 VkFormat decodeMode;
7952 } VkImageViewASTCDecodeModeEXT;
7954 typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT {
7955 VkStructureType sType;
7957 VkBool32 decodeModeSharedExponent;
7958 } VkPhysicalDeviceASTCDecodeFeaturesEXT;
7962 #define VK_EXT_conditional_rendering 1
7963 #define VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION 2
7964 #define VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME "VK_EXT_conditional_rendering"
7966 typedef enum VkConditionalRenderingFlagBitsEXT {
7967 VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT = 0x00000001,
7968 VK_CONDITIONAL_RENDERING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
7969 } VkConditionalRenderingFlagBitsEXT;
7970 typedef VkFlags VkConditionalRenderingFlagsEXT;
7971 typedef struct VkConditionalRenderingBeginInfoEXT {
7972 VkStructureType sType;
7975 VkDeviceSize offset;
7976 VkConditionalRenderingFlagsEXT flags;
7977 } VkConditionalRenderingBeginInfoEXT;
7979 typedef struct VkPhysicalDeviceConditionalRenderingFeaturesEXT {
7980 VkStructureType sType;
7982 VkBool32 conditionalRendering;
7983 VkBool32 inheritedConditionalRendering;
7984 } VkPhysicalDeviceConditionalRenderingFeaturesEXT;
7986 typedef struct VkCommandBufferInheritanceConditionalRenderingInfoEXT {
7987 VkStructureType sType;
7989 VkBool32 conditionalRenderingEnable;
7990 } VkCommandBufferInheritanceConditionalRenderingInfoEXT;
7992 typedef void (VKAPI_PTR *PFN_vkCmdBeginConditionalRenderingEXT)(VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
7993 typedef void (VKAPI_PTR *PFN_vkCmdEndConditionalRenderingEXT)(VkCommandBuffer commandBuffer);
7995 #ifndef VK_NO_PROTOTYPES
7996 VKAPI_ATTR void VKAPI_CALL vkCmdBeginConditionalRenderingEXT(
7997 VkCommandBuffer commandBuffer,
7998 const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
8000 VKAPI_ATTR void VKAPI_CALL vkCmdEndConditionalRenderingEXT(
8001 VkCommandBuffer commandBuffer);
8005 #define VK_NVX_device_generated_commands 1
8006 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkObjectTableNVX)
8007 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutNVX)
8008 #define VK_NVX_DEVICE_GENERATED_COMMANDS_SPEC_VERSION 3
8009 #define VK_NVX_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_NVX_device_generated_commands"
8011 typedef enum VkIndirectCommandsTokenTypeNVX {
8012 VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX = 0,
8013 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DESCRIPTOR_SET_NVX = 1,
8014 VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NVX = 2,
8015 VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NVX = 3,
8016 VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NVX = 4,
8017 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NVX = 5,
8018 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NVX = 6,
8019 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX = 7,
8020 VK_INDIRECT_COMMANDS_TOKEN_TYPE_BEGIN_RANGE_NVX = VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX,
8021 VK_INDIRECT_COMMANDS_TOKEN_TYPE_END_RANGE_NVX = VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX,
8022 VK_INDIRECT_COMMANDS_TOKEN_TYPE_RANGE_SIZE_NVX = (VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX - VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX + 1),
8023 VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NVX = 0x7FFFFFFF
8024 } VkIndirectCommandsTokenTypeNVX;
8026 typedef enum VkObjectEntryTypeNVX {
8027 VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX = 0,
8028 VK_OBJECT_ENTRY_TYPE_PIPELINE_NVX = 1,
8029 VK_OBJECT_ENTRY_TYPE_INDEX_BUFFER_NVX = 2,
8030 VK_OBJECT_ENTRY_TYPE_VERTEX_BUFFER_NVX = 3,
8031 VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX = 4,
8032 VK_OBJECT_ENTRY_TYPE_BEGIN_RANGE_NVX = VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX,
8033 VK_OBJECT_ENTRY_TYPE_END_RANGE_NVX = VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX,
8034 VK_OBJECT_ENTRY_TYPE_RANGE_SIZE_NVX = (VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX - VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX + 1),
8035 VK_OBJECT_ENTRY_TYPE_MAX_ENUM_NVX = 0x7FFFFFFF
8036 } VkObjectEntryTypeNVX;
8038 typedef enum VkIndirectCommandsLayoutUsageFlagBitsNVX {
8039 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NVX = 0x00000001,
8040 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_SPARSE_SEQUENCES_BIT_NVX = 0x00000002,
8041 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EMPTY_EXECUTIONS_BIT_NVX = 0x00000004,
8042 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NVX = 0x00000008,
8043 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NVX = 0x7FFFFFFF
8044 } VkIndirectCommandsLayoutUsageFlagBitsNVX;
8045 typedef VkFlags VkIndirectCommandsLayoutUsageFlagsNVX;
8047 typedef enum VkObjectEntryUsageFlagBitsNVX {
8048 VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX = 0x00000001,
8049 VK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX = 0x00000002,
8050 VK_OBJECT_ENTRY_USAGE_FLAG_BITS_MAX_ENUM_NVX = 0x7FFFFFFF
8051 } VkObjectEntryUsageFlagBitsNVX;
8052 typedef VkFlags VkObjectEntryUsageFlagsNVX;
8053 typedef struct VkDeviceGeneratedCommandsFeaturesNVX {
8054 VkStructureType sType;
8056 VkBool32 computeBindingPointSupport;
8057 } VkDeviceGeneratedCommandsFeaturesNVX;
8059 typedef struct VkDeviceGeneratedCommandsLimitsNVX {
8060 VkStructureType sType;
8062 uint32_t maxIndirectCommandsLayoutTokenCount;
8063 uint32_t maxObjectEntryCounts;
8064 uint32_t minSequenceCountBufferOffsetAlignment;
8065 uint32_t minSequenceIndexBufferOffsetAlignment;
8066 uint32_t minCommandsTokenBufferOffsetAlignment;
8067 } VkDeviceGeneratedCommandsLimitsNVX;
8069 typedef struct VkIndirectCommandsTokenNVX {
8070 VkIndirectCommandsTokenTypeNVX tokenType;
8072 VkDeviceSize offset;
8073 } VkIndirectCommandsTokenNVX;
8075 typedef struct VkIndirectCommandsLayoutTokenNVX {
8076 VkIndirectCommandsTokenTypeNVX tokenType;
8077 uint32_t bindingUnit;
8078 uint32_t dynamicCount;
8080 } VkIndirectCommandsLayoutTokenNVX;
8082 typedef struct VkIndirectCommandsLayoutCreateInfoNVX {
8083 VkStructureType sType;
8085 VkPipelineBindPoint pipelineBindPoint;
8086 VkIndirectCommandsLayoutUsageFlagsNVX flags;
8087 uint32_t tokenCount;
8088 const VkIndirectCommandsLayoutTokenNVX* pTokens;
8089 } VkIndirectCommandsLayoutCreateInfoNVX;
8091 typedef struct VkCmdProcessCommandsInfoNVX {
8092 VkStructureType sType;
8094 VkObjectTableNVX objectTable;
8095 VkIndirectCommandsLayoutNVX indirectCommandsLayout;
8096 uint32_t indirectCommandsTokenCount;
8097 const VkIndirectCommandsTokenNVX* pIndirectCommandsTokens;
8098 uint32_t maxSequencesCount;
8099 VkCommandBuffer targetCommandBuffer;
8100 VkBuffer sequencesCountBuffer;
8101 VkDeviceSize sequencesCountOffset;
8102 VkBuffer sequencesIndexBuffer;
8103 VkDeviceSize sequencesIndexOffset;
8104 } VkCmdProcessCommandsInfoNVX;
8106 typedef struct VkCmdReserveSpaceForCommandsInfoNVX {
8107 VkStructureType sType;
8109 VkObjectTableNVX objectTable;
8110 VkIndirectCommandsLayoutNVX indirectCommandsLayout;
8111 uint32_t maxSequencesCount;
8112 } VkCmdReserveSpaceForCommandsInfoNVX;
8114 typedef struct VkObjectTableCreateInfoNVX {
8115 VkStructureType sType;
8117 uint32_t objectCount;
8118 const VkObjectEntryTypeNVX* pObjectEntryTypes;
8119 const uint32_t* pObjectEntryCounts;
8120 const VkObjectEntryUsageFlagsNVX* pObjectEntryUsageFlags;
8121 uint32_t maxUniformBuffersPerDescriptor;
8122 uint32_t maxStorageBuffersPerDescriptor;
8123 uint32_t maxStorageImagesPerDescriptor;
8124 uint32_t maxSampledImagesPerDescriptor;
8125 uint32_t maxPipelineLayouts;
8126 } VkObjectTableCreateInfoNVX;
8128 typedef struct VkObjectTableEntryNVX {
8129 VkObjectEntryTypeNVX type;
8130 VkObjectEntryUsageFlagsNVX flags;
8131 } VkObjectTableEntryNVX;
8133 typedef struct VkObjectTablePipelineEntryNVX {
8134 VkObjectEntryTypeNVX type;
8135 VkObjectEntryUsageFlagsNVX flags;
8136 VkPipeline pipeline;
8137 } VkObjectTablePipelineEntryNVX;
8139 typedef struct VkObjectTableDescriptorSetEntryNVX {
8140 VkObjectEntryTypeNVX type;
8141 VkObjectEntryUsageFlagsNVX flags;
8142 VkPipelineLayout pipelineLayout;
8143 VkDescriptorSet descriptorSet;
8144 } VkObjectTableDescriptorSetEntryNVX;
8146 typedef struct VkObjectTableVertexBufferEntryNVX {
8147 VkObjectEntryTypeNVX type;
8148 VkObjectEntryUsageFlagsNVX flags;
8150 } VkObjectTableVertexBufferEntryNVX;
8152 typedef struct VkObjectTableIndexBufferEntryNVX {
8153 VkObjectEntryTypeNVX type;
8154 VkObjectEntryUsageFlagsNVX flags;
8156 VkIndexType indexType;
8157 } VkObjectTableIndexBufferEntryNVX;
8159 typedef struct VkObjectTablePushConstantEntryNVX {
8160 VkObjectEntryTypeNVX type;
8161 VkObjectEntryUsageFlagsNVX flags;
8162 VkPipelineLayout pipelineLayout;
8163 VkShaderStageFlags stageFlags;
8164 } VkObjectTablePushConstantEntryNVX;
8166 typedef void (VKAPI_PTR *PFN_vkCmdProcessCommandsNVX)(VkCommandBuffer commandBuffer, const VkCmdProcessCommandsInfoNVX* pProcessCommandsInfo);
8167 typedef void (VKAPI_PTR *PFN_vkCmdReserveSpaceForCommandsNVX)(VkCommandBuffer commandBuffer, const VkCmdReserveSpaceForCommandsInfoNVX* pReserveSpaceInfo);
8168 typedef VkResult (VKAPI_PTR *PFN_vkCreateIndirectCommandsLayoutNVX)(VkDevice device, const VkIndirectCommandsLayoutCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNVX* pIndirectCommandsLayout);
8169 typedef void (VKAPI_PTR *PFN_vkDestroyIndirectCommandsLayoutNVX)(VkDevice device, VkIndirectCommandsLayoutNVX indirectCommandsLayout, const VkAllocationCallbacks* pAllocator);
8170 typedef VkResult (VKAPI_PTR *PFN_vkCreateObjectTableNVX)(VkDevice device, const VkObjectTableCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkObjectTableNVX* pObjectTable);
8171 typedef void (VKAPI_PTR *PFN_vkDestroyObjectTableNVX)(VkDevice device, VkObjectTableNVX objectTable, const VkAllocationCallbacks* pAllocator);
8172 typedef VkResult (VKAPI_PTR *PFN_vkRegisterObjectsNVX)(VkDevice device, VkObjectTableNVX objectTable, uint32_t objectCount, const VkObjectTableEntryNVX* const* ppObjectTableEntries, const uint32_t* pObjectIndices);
8173 typedef VkResult (VKAPI_PTR *PFN_vkUnregisterObjectsNVX)(VkDevice device, VkObjectTableNVX objectTable, uint32_t objectCount, const VkObjectEntryTypeNVX* pObjectEntryTypes, const uint32_t* pObjectIndices);
8174 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX)(VkPhysicalDevice physicalDevice, VkDeviceGeneratedCommandsFeaturesNVX* pFeatures, VkDeviceGeneratedCommandsLimitsNVX* pLimits);
8176 #ifndef VK_NO_PROTOTYPES
8177 VKAPI_ATTR void VKAPI_CALL vkCmdProcessCommandsNVX(
8178 VkCommandBuffer commandBuffer,
8179 const VkCmdProcessCommandsInfoNVX* pProcessCommandsInfo);
8181 VKAPI_ATTR void VKAPI_CALL vkCmdReserveSpaceForCommandsNVX(
8182 VkCommandBuffer commandBuffer,
8183 const VkCmdReserveSpaceForCommandsInfoNVX* pReserveSpaceInfo);
8185 VKAPI_ATTR VkResult VKAPI_CALL vkCreateIndirectCommandsLayoutNVX(
8187 const VkIndirectCommandsLayoutCreateInfoNVX* pCreateInfo,
8188 const VkAllocationCallbacks* pAllocator,
8189 VkIndirectCommandsLayoutNVX* pIndirectCommandsLayout);
8191 VKAPI_ATTR void VKAPI_CALL vkDestroyIndirectCommandsLayoutNVX(
8193 VkIndirectCommandsLayoutNVX indirectCommandsLayout,
8194 const VkAllocationCallbacks* pAllocator);
8196 VKAPI_ATTR VkResult VKAPI_CALL vkCreateObjectTableNVX(
8198 const VkObjectTableCreateInfoNVX* pCreateInfo,
8199 const VkAllocationCallbacks* pAllocator,
8200 VkObjectTableNVX* pObjectTable);
8202 VKAPI_ATTR void VKAPI_CALL vkDestroyObjectTableNVX(
8204 VkObjectTableNVX objectTable,
8205 const VkAllocationCallbacks* pAllocator);
8207 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterObjectsNVX(
8209 VkObjectTableNVX objectTable,
8210 uint32_t objectCount,
8211 const VkObjectTableEntryNVX* const* ppObjectTableEntries,
8212 const uint32_t* pObjectIndices);
8214 VKAPI_ATTR VkResult VKAPI_CALL vkUnregisterObjectsNVX(
8216 VkObjectTableNVX objectTable,
8217 uint32_t objectCount,
8218 const VkObjectEntryTypeNVX* pObjectEntryTypes,
8219 const uint32_t* pObjectIndices);
8221 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX(
8222 VkPhysicalDevice physicalDevice,
8223 VkDeviceGeneratedCommandsFeaturesNVX* pFeatures,
8224 VkDeviceGeneratedCommandsLimitsNVX* pLimits);
8228 #define VK_NV_clip_space_w_scaling 1
8229 #define VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION 1
8230 #define VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME "VK_NV_clip_space_w_scaling"
8231 typedef struct VkViewportWScalingNV {
8234 } VkViewportWScalingNV;
8236 typedef struct VkPipelineViewportWScalingStateCreateInfoNV {
8237 VkStructureType sType;
8239 VkBool32 viewportWScalingEnable;
8240 uint32_t viewportCount;
8241 const VkViewportWScalingNV* pViewportWScalings;
8242 } VkPipelineViewportWScalingStateCreateInfoNV;
8244 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportWScalingNV* pViewportWScalings);
8246 #ifndef VK_NO_PROTOTYPES
8247 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWScalingNV(
8248 VkCommandBuffer commandBuffer,
8249 uint32_t firstViewport,
8250 uint32_t viewportCount,
8251 const VkViewportWScalingNV* pViewportWScalings);
8255 #define VK_EXT_direct_mode_display 1
8256 #define VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION 1
8257 #define VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME "VK_EXT_direct_mode_display"
8258 typedef VkResult (VKAPI_PTR *PFN_vkReleaseDisplayEXT)(VkPhysicalDevice physicalDevice, VkDisplayKHR display);
8260 #ifndef VK_NO_PROTOTYPES
8261 VKAPI_ATTR VkResult VKAPI_CALL vkReleaseDisplayEXT(
8262 VkPhysicalDevice physicalDevice,
8263 VkDisplayKHR display);
8267 #define VK_EXT_display_surface_counter 1
8268 #define VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION 1
8269 #define VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME "VK_EXT_display_surface_counter"
8271 typedef enum VkSurfaceCounterFlagBitsEXT {
8272 VK_SURFACE_COUNTER_VBLANK_EXT = 0x00000001,
8273 VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
8274 } VkSurfaceCounterFlagBitsEXT;
8275 typedef VkFlags VkSurfaceCounterFlagsEXT;
8276 typedef struct VkSurfaceCapabilities2EXT {
8277 VkStructureType sType;
8279 uint32_t minImageCount;
8280 uint32_t maxImageCount;
8281 VkExtent2D currentExtent;
8282 VkExtent2D minImageExtent;
8283 VkExtent2D maxImageExtent;
8284 uint32_t maxImageArrayLayers;
8285 VkSurfaceTransformFlagsKHR supportedTransforms;
8286 VkSurfaceTransformFlagBitsKHR currentTransform;
8287 VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
8288 VkImageUsageFlags supportedUsageFlags;
8289 VkSurfaceCounterFlagsEXT supportedSurfaceCounters;
8290 } VkSurfaceCapabilities2EXT;
8292 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
8294 #ifndef VK_NO_PROTOTYPES
8295 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2EXT(
8296 VkPhysicalDevice physicalDevice,
8297 VkSurfaceKHR surface,
8298 VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
8302 #define VK_EXT_display_control 1
8303 #define VK_EXT_DISPLAY_CONTROL_SPEC_VERSION 1
8304 #define VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME "VK_EXT_display_control"
8306 typedef enum VkDisplayPowerStateEXT {
8307 VK_DISPLAY_POWER_STATE_OFF_EXT = 0,
8308 VK_DISPLAY_POWER_STATE_SUSPEND_EXT = 1,
8309 VK_DISPLAY_POWER_STATE_ON_EXT = 2,
8310 VK_DISPLAY_POWER_STATE_BEGIN_RANGE_EXT = VK_DISPLAY_POWER_STATE_OFF_EXT,
8311 VK_DISPLAY_POWER_STATE_END_RANGE_EXT = VK_DISPLAY_POWER_STATE_ON_EXT,
8312 VK_DISPLAY_POWER_STATE_RANGE_SIZE_EXT = (VK_DISPLAY_POWER_STATE_ON_EXT - VK_DISPLAY_POWER_STATE_OFF_EXT + 1),
8313 VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT = 0x7FFFFFFF
8314 } VkDisplayPowerStateEXT;
8316 typedef enum VkDeviceEventTypeEXT {
8317 VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT = 0,
8318 VK_DEVICE_EVENT_TYPE_BEGIN_RANGE_EXT = VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT,
8319 VK_DEVICE_EVENT_TYPE_END_RANGE_EXT = VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT,
8320 VK_DEVICE_EVENT_TYPE_RANGE_SIZE_EXT = (VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT - VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT + 1),
8321 VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
8322 } VkDeviceEventTypeEXT;
8324 typedef enum VkDisplayEventTypeEXT {
8325 VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT = 0,
8326 VK_DISPLAY_EVENT_TYPE_BEGIN_RANGE_EXT = VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT,
8327 VK_DISPLAY_EVENT_TYPE_END_RANGE_EXT = VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT,
8328 VK_DISPLAY_EVENT_TYPE_RANGE_SIZE_EXT = (VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT - VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT + 1),
8329 VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
8330 } VkDisplayEventTypeEXT;
8331 typedef struct VkDisplayPowerInfoEXT {
8332 VkStructureType sType;
8334 VkDisplayPowerStateEXT powerState;
8335 } VkDisplayPowerInfoEXT;
8337 typedef struct VkDeviceEventInfoEXT {
8338 VkStructureType sType;
8340 VkDeviceEventTypeEXT deviceEvent;
8341 } VkDeviceEventInfoEXT;
8343 typedef struct VkDisplayEventInfoEXT {
8344 VkStructureType sType;
8346 VkDisplayEventTypeEXT displayEvent;
8347 } VkDisplayEventInfoEXT;
8349 typedef struct VkSwapchainCounterCreateInfoEXT {
8350 VkStructureType sType;
8352 VkSurfaceCounterFlagsEXT surfaceCounters;
8353 } VkSwapchainCounterCreateInfoEXT;
8355 typedef VkResult (VKAPI_PTR *PFN_vkDisplayPowerControlEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
8356 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDeviceEventEXT)(VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
8357 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDisplayEventEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
8358 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainCounterEXT)(VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, uint64_t* pCounterValue);
8360 #ifndef VK_NO_PROTOTYPES
8361 VKAPI_ATTR VkResult VKAPI_CALL vkDisplayPowerControlEXT(
8363 VkDisplayKHR display,
8364 const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
8366 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDeviceEventEXT(
8368 const VkDeviceEventInfoEXT* pDeviceEventInfo,
8369 const VkAllocationCallbacks* pAllocator,
8372 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDisplayEventEXT(
8374 VkDisplayKHR display,
8375 const VkDisplayEventInfoEXT* pDisplayEventInfo,
8376 const VkAllocationCallbacks* pAllocator,
8379 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainCounterEXT(
8381 VkSwapchainKHR swapchain,
8382 VkSurfaceCounterFlagBitsEXT counter,
8383 uint64_t* pCounterValue);
8387 #define VK_GOOGLE_display_timing 1
8388 #define VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION 1
8389 #define VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME "VK_GOOGLE_display_timing"
8390 typedef struct VkRefreshCycleDurationGOOGLE {
8391 uint64_t refreshDuration;
8392 } VkRefreshCycleDurationGOOGLE;
8394 typedef struct VkPastPresentationTimingGOOGLE {
8396 uint64_t desiredPresentTime;
8397 uint64_t actualPresentTime;
8398 uint64_t earliestPresentTime;
8399 uint64_t presentMargin;
8400 } VkPastPresentationTimingGOOGLE;
8402 typedef struct VkPresentTimeGOOGLE {
8404 uint64_t desiredPresentTime;
8405 } VkPresentTimeGOOGLE;
8407 typedef struct VkPresentTimesInfoGOOGLE {
8408 VkStructureType sType;
8410 uint32_t swapchainCount;
8411 const VkPresentTimeGOOGLE* pTimes;
8412 } VkPresentTimesInfoGOOGLE;
8414 typedef VkResult (VKAPI_PTR *PFN_vkGetRefreshCycleDurationGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
8415 typedef VkResult (VKAPI_PTR *PFN_vkGetPastPresentationTimingGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings);
8417 #ifndef VK_NO_PROTOTYPES
8418 VKAPI_ATTR VkResult VKAPI_CALL vkGetRefreshCycleDurationGOOGLE(
8420 VkSwapchainKHR swapchain,
8421 VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
8423 VKAPI_ATTR VkResult VKAPI_CALL vkGetPastPresentationTimingGOOGLE(
8425 VkSwapchainKHR swapchain,
8426 uint32_t* pPresentationTimingCount,
8427 VkPastPresentationTimingGOOGLE* pPresentationTimings);
8431 #define VK_NV_sample_mask_override_coverage 1
8432 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION 1
8433 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME "VK_NV_sample_mask_override_coverage"
8436 #define VK_NV_geometry_shader_passthrough 1
8437 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION 1
8438 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME "VK_NV_geometry_shader_passthrough"
8441 #define VK_NV_viewport_array2 1
8442 #define VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION 1
8443 #define VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME "VK_NV_viewport_array2"
8446 #define VK_NVX_multiview_per_view_attributes 1
8447 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION 1
8448 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME "VK_NVX_multiview_per_view_attributes"
8449 typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
8450 VkStructureType sType;
8452 VkBool32 perViewPositionAllComponents;
8453 } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
8457 #define VK_NV_viewport_swizzle 1
8458 #define VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION 1
8459 #define VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME "VK_NV_viewport_swizzle"
8461 typedef enum VkViewportCoordinateSwizzleNV {
8462 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV = 0,
8463 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV = 1,
8464 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV = 2,
8465 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV = 3,
8466 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV = 4,
8467 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV = 5,
8468 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV = 6,
8469 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV = 7,
8470 VK_VIEWPORT_COORDINATE_SWIZZLE_BEGIN_RANGE_NV = VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV,
8471 VK_VIEWPORT_COORDINATE_SWIZZLE_END_RANGE_NV = VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV,
8472 VK_VIEWPORT_COORDINATE_SWIZZLE_RANGE_SIZE_NV = (VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV - VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV + 1),
8473 VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV = 0x7FFFFFFF
8474 } VkViewportCoordinateSwizzleNV;
8475 typedef VkFlags VkPipelineViewportSwizzleStateCreateFlagsNV;
8476 typedef struct VkViewportSwizzleNV {
8477 VkViewportCoordinateSwizzleNV x;
8478 VkViewportCoordinateSwizzleNV y;
8479 VkViewportCoordinateSwizzleNV z;
8480 VkViewportCoordinateSwizzleNV w;
8481 } VkViewportSwizzleNV;
8483 typedef struct VkPipelineViewportSwizzleStateCreateInfoNV {
8484 VkStructureType sType;
8486 VkPipelineViewportSwizzleStateCreateFlagsNV flags;
8487 uint32_t viewportCount;
8488 const VkViewportSwizzleNV* pViewportSwizzles;
8489 } VkPipelineViewportSwizzleStateCreateInfoNV;
8493 #define VK_EXT_discard_rectangles 1
8494 #define VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION 1
8495 #define VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME "VK_EXT_discard_rectangles"
8497 typedef enum VkDiscardRectangleModeEXT {
8498 VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT = 0,
8499 VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT = 1,
8500 VK_DISCARD_RECTANGLE_MODE_BEGIN_RANGE_EXT = VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT,
8501 VK_DISCARD_RECTANGLE_MODE_END_RANGE_EXT = VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT,
8502 VK_DISCARD_RECTANGLE_MODE_RANGE_SIZE_EXT = (VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT - VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT + 1),
8503 VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
8504 } VkDiscardRectangleModeEXT;
8505 typedef VkFlags VkPipelineDiscardRectangleStateCreateFlagsEXT;
8506 typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
8507 VkStructureType sType;
8509 uint32_t maxDiscardRectangles;
8510 } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
8512 typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT {
8513 VkStructureType sType;
8515 VkPipelineDiscardRectangleStateCreateFlagsEXT flags;
8516 VkDiscardRectangleModeEXT discardRectangleMode;
8517 uint32_t discardRectangleCount;
8518 const VkRect2D* pDiscardRectangles;
8519 } VkPipelineDiscardRectangleStateCreateInfoEXT;
8521 typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEXT)(VkCommandBuffer commandBuffer, uint32_t firstDiscardRectangle, uint32_t discardRectangleCount, const VkRect2D* pDiscardRectangles);
8523 #ifndef VK_NO_PROTOTYPES
8524 VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEXT(
8525 VkCommandBuffer commandBuffer,
8526 uint32_t firstDiscardRectangle,
8527 uint32_t discardRectangleCount,
8528 const VkRect2D* pDiscardRectangles);
8532 #define VK_EXT_conservative_rasterization 1
8533 #define VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION 1
8534 #define VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME "VK_EXT_conservative_rasterization"
8536 typedef enum VkConservativeRasterizationModeEXT {
8537 VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT = 0,
8538 VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT = 1,
8539 VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT = 2,
8540 VK_CONSERVATIVE_RASTERIZATION_MODE_BEGIN_RANGE_EXT = VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT,
8541 VK_CONSERVATIVE_RASTERIZATION_MODE_END_RANGE_EXT = VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT,
8542 VK_CONSERVATIVE_RASTERIZATION_MODE_RANGE_SIZE_EXT = (VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT - VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT + 1),
8543 VK_CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
8544 } VkConservativeRasterizationModeEXT;
8545 typedef VkFlags VkPipelineRasterizationConservativeStateCreateFlagsEXT;
8546 typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT {
8547 VkStructureType sType;
8549 float primitiveOverestimationSize;
8550 float maxExtraPrimitiveOverestimationSize;
8551 float extraPrimitiveOverestimationSizeGranularity;
8552 VkBool32 primitiveUnderestimation;
8553 VkBool32 conservativePointAndLineRasterization;
8554 VkBool32 degenerateTrianglesRasterized;
8555 VkBool32 degenerateLinesRasterized;
8556 VkBool32 fullyCoveredFragmentShaderInputVariable;
8557 VkBool32 conservativeRasterizationPostDepthCoverage;
8558 } VkPhysicalDeviceConservativeRasterizationPropertiesEXT;
8560 typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT {
8561 VkStructureType sType;
8563 VkPipelineRasterizationConservativeStateCreateFlagsEXT flags;
8564 VkConservativeRasterizationModeEXT conservativeRasterizationMode;
8565 float extraPrimitiveOverestimationSize;
8566 } VkPipelineRasterizationConservativeStateCreateInfoEXT;
8570 #define VK_EXT_depth_clip_enable 1
8571 #define VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION 1
8572 #define VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME "VK_EXT_depth_clip_enable"
8573 typedef VkFlags VkPipelineRasterizationDepthClipStateCreateFlagsEXT;
8574 typedef struct VkPhysicalDeviceDepthClipEnableFeaturesEXT {
8575 VkStructureType sType;
8577 VkBool32 depthClipEnable;
8578 } VkPhysicalDeviceDepthClipEnableFeaturesEXT;
8580 typedef struct VkPipelineRasterizationDepthClipStateCreateInfoEXT {
8581 VkStructureType sType;
8583 VkPipelineRasterizationDepthClipStateCreateFlagsEXT flags;
8584 VkBool32 depthClipEnable;
8585 } VkPipelineRasterizationDepthClipStateCreateInfoEXT;
8589 #define VK_EXT_swapchain_colorspace 1
8590 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION 4
8591 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME "VK_EXT_swapchain_colorspace"
8594 #define VK_EXT_hdr_metadata 1
8595 #define VK_EXT_HDR_METADATA_SPEC_VERSION 2
8596 #define VK_EXT_HDR_METADATA_EXTENSION_NAME "VK_EXT_hdr_metadata"
8597 typedef struct VkXYColorEXT {
8602 typedef struct VkHdrMetadataEXT {
8603 VkStructureType sType;
8605 VkXYColorEXT displayPrimaryRed;
8606 VkXYColorEXT displayPrimaryGreen;
8607 VkXYColorEXT displayPrimaryBlue;
8608 VkXYColorEXT whitePoint;
8611 float maxContentLightLevel;
8612 float maxFrameAverageLightLevel;
8615 typedef void (VKAPI_PTR *PFN_vkSetHdrMetadataEXT)(VkDevice device, uint32_t swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata);
8617 #ifndef VK_NO_PROTOTYPES
8618 VKAPI_ATTR void VKAPI_CALL vkSetHdrMetadataEXT(
8620 uint32_t swapchainCount,
8621 const VkSwapchainKHR* pSwapchains,
8622 const VkHdrMetadataEXT* pMetadata);
8626 #define VK_EXT_external_memory_dma_buf 1
8627 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION 1
8628 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME "VK_EXT_external_memory_dma_buf"
8631 #define VK_EXT_queue_family_foreign 1
8632 #define VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION 1
8633 #define VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME "VK_EXT_queue_family_foreign"
8634 #define VK_QUEUE_FAMILY_FOREIGN_EXT (~0U-2)
8637 #define VK_EXT_debug_utils 1
8638 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugUtilsMessengerEXT)
8639 #define VK_EXT_DEBUG_UTILS_SPEC_VERSION 1
8640 #define VK_EXT_DEBUG_UTILS_EXTENSION_NAME "VK_EXT_debug_utils"
8641 typedef VkFlags VkDebugUtilsMessengerCallbackDataFlagsEXT;
8642 typedef VkFlags VkDebugUtilsMessengerCreateFlagsEXT;
8644 typedef enum VkDebugUtilsMessageSeverityFlagBitsEXT {
8645 VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT = 0x00000001,
8646 VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT = 0x00000010,
8647 VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT = 0x00000100,
8648 VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT = 0x00001000,
8649 VK_DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
8650 } VkDebugUtilsMessageSeverityFlagBitsEXT;
8651 typedef VkFlags VkDebugUtilsMessageSeverityFlagsEXT;
8653 typedef enum VkDebugUtilsMessageTypeFlagBitsEXT {
8654 VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT = 0x00000001,
8655 VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT = 0x00000002,
8656 VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT = 0x00000004,
8657 VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
8658 } VkDebugUtilsMessageTypeFlagBitsEXT;
8659 typedef VkFlags VkDebugUtilsMessageTypeFlagsEXT;
8660 typedef struct VkDebugUtilsObjectNameInfoEXT {
8661 VkStructureType sType;
8663 VkObjectType objectType;
8664 uint64_t objectHandle;
8665 const char* pObjectName;
8666 } VkDebugUtilsObjectNameInfoEXT;
8668 typedef struct VkDebugUtilsObjectTagInfoEXT {
8669 VkStructureType sType;
8671 VkObjectType objectType;
8672 uint64_t objectHandle;
8676 } VkDebugUtilsObjectTagInfoEXT;
8678 typedef struct VkDebugUtilsLabelEXT {
8679 VkStructureType sType;
8681 const char* pLabelName;
8683 } VkDebugUtilsLabelEXT;
8685 typedef struct VkDebugUtilsMessengerCallbackDataEXT {
8686 VkStructureType sType;
8688 VkDebugUtilsMessengerCallbackDataFlagsEXT flags;
8689 const char* pMessageIdName;
8690 int32_t messageIdNumber;
8691 const char* pMessage;
8692 uint32_t queueLabelCount;
8693 const VkDebugUtilsLabelEXT* pQueueLabels;
8694 uint32_t cmdBufLabelCount;
8695 const VkDebugUtilsLabelEXT* pCmdBufLabels;
8696 uint32_t objectCount;
8697 const VkDebugUtilsObjectNameInfoEXT* pObjects;
8698 } VkDebugUtilsMessengerCallbackDataEXT;
8700 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)(
8701 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
8702 VkDebugUtilsMessageTypeFlagsEXT messageTypes,
8703 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData,
8706 typedef struct VkDebugUtilsMessengerCreateInfoEXT {
8707 VkStructureType sType;
8709 VkDebugUtilsMessengerCreateFlagsEXT flags;
8710 VkDebugUtilsMessageSeverityFlagsEXT messageSeverity;
8711 VkDebugUtilsMessageTypeFlagsEXT messageType;
8712 PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback;
8714 } VkDebugUtilsMessengerCreateInfoEXT;
8716 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectNameEXT)(VkDevice device, const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
8717 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectTagEXT)(VkDevice device, const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
8718 typedef void (VKAPI_PTR *PFN_vkQueueBeginDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
8719 typedef void (VKAPI_PTR *PFN_vkQueueEndDebugUtilsLabelEXT)(VkQueue queue);
8720 typedef void (VKAPI_PTR *PFN_vkQueueInsertDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
8721 typedef void (VKAPI_PTR *PFN_vkCmdBeginDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
8722 typedef void (VKAPI_PTR *PFN_vkCmdEndDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer);
8723 typedef void (VKAPI_PTR *PFN_vkCmdInsertDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
8724 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugUtilsMessengerEXT)(VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugUtilsMessengerEXT* pMessenger);
8725 typedef void (VKAPI_PTR *PFN_vkDestroyDebugUtilsMessengerEXT)(VkInstance instance, VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks* pAllocator);
8726 typedef void (VKAPI_PTR *PFN_vkSubmitDebugUtilsMessageEXT)(VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
8728 #ifndef VK_NO_PROTOTYPES
8729 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectNameEXT(
8731 const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
8733 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectTagEXT(
8735 const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
8737 VKAPI_ATTR void VKAPI_CALL vkQueueBeginDebugUtilsLabelEXT(
8739 const VkDebugUtilsLabelEXT* pLabelInfo);
8741 VKAPI_ATTR void VKAPI_CALL vkQueueEndDebugUtilsLabelEXT(
8744 VKAPI_ATTR void VKAPI_CALL vkQueueInsertDebugUtilsLabelEXT(
8746 const VkDebugUtilsLabelEXT* pLabelInfo);
8748 VKAPI_ATTR void VKAPI_CALL vkCmdBeginDebugUtilsLabelEXT(
8749 VkCommandBuffer commandBuffer,
8750 const VkDebugUtilsLabelEXT* pLabelInfo);
8752 VKAPI_ATTR void VKAPI_CALL vkCmdEndDebugUtilsLabelEXT(
8753 VkCommandBuffer commandBuffer);
8755 VKAPI_ATTR void VKAPI_CALL vkCmdInsertDebugUtilsLabelEXT(
8756 VkCommandBuffer commandBuffer,
8757 const VkDebugUtilsLabelEXT* pLabelInfo);
8759 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugUtilsMessengerEXT(
8760 VkInstance instance,
8761 const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo,
8762 const VkAllocationCallbacks* pAllocator,
8763 VkDebugUtilsMessengerEXT* pMessenger);
8765 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugUtilsMessengerEXT(
8766 VkInstance instance,
8767 VkDebugUtilsMessengerEXT messenger,
8768 const VkAllocationCallbacks* pAllocator);
8770 VKAPI_ATTR void VKAPI_CALL vkSubmitDebugUtilsMessageEXT(
8771 VkInstance instance,
8772 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
8773 VkDebugUtilsMessageTypeFlagsEXT messageTypes,
8774 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
8778 #define VK_EXT_sampler_filter_minmax 1
8779 #define VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION 2
8780 #define VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME "VK_EXT_sampler_filter_minmax"
8781 typedef VkSamplerReductionMode VkSamplerReductionModeEXT;
8783 typedef VkSamplerReductionModeCreateInfo VkSamplerReductionModeCreateInfoEXT;
8785 typedef VkPhysicalDeviceSamplerFilterMinmaxProperties VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
8789 #define VK_AMD_gpu_shader_int16 1
8790 #define VK_AMD_GPU_SHADER_INT16_SPEC_VERSION 2
8791 #define VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME "VK_AMD_gpu_shader_int16"
8794 #define VK_AMD_mixed_attachment_samples 1
8795 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION 1
8796 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME "VK_AMD_mixed_attachment_samples"
8799 #define VK_AMD_shader_fragment_mask 1
8800 #define VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION 1
8801 #define VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME "VK_AMD_shader_fragment_mask"
8804 #define VK_EXT_inline_uniform_block 1
8805 #define VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION 1
8806 #define VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME "VK_EXT_inline_uniform_block"
8807 typedef struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT {
8808 VkStructureType sType;
8810 VkBool32 inlineUniformBlock;
8811 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind;
8812 } VkPhysicalDeviceInlineUniformBlockFeaturesEXT;
8814 typedef struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT {
8815 VkStructureType sType;
8817 uint32_t maxInlineUniformBlockSize;
8818 uint32_t maxPerStageDescriptorInlineUniformBlocks;
8819 uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
8820 uint32_t maxDescriptorSetInlineUniformBlocks;
8821 uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
8822 } VkPhysicalDeviceInlineUniformBlockPropertiesEXT;
8824 typedef struct VkWriteDescriptorSetInlineUniformBlockEXT {
8825 VkStructureType sType;
8829 } VkWriteDescriptorSetInlineUniformBlockEXT;
8831 typedef struct VkDescriptorPoolInlineUniformBlockCreateInfoEXT {
8832 VkStructureType sType;
8834 uint32_t maxInlineUniformBlockBindings;
8835 } VkDescriptorPoolInlineUniformBlockCreateInfoEXT;
8839 #define VK_EXT_shader_stencil_export 1
8840 #define VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION 1
8841 #define VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME "VK_EXT_shader_stencil_export"
8844 #define VK_EXT_sample_locations 1
8845 #define VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION 1
8846 #define VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME "VK_EXT_sample_locations"
8847 typedef struct VkSampleLocationEXT {
8850 } VkSampleLocationEXT;
8852 typedef struct VkSampleLocationsInfoEXT {
8853 VkStructureType sType;
8855 VkSampleCountFlagBits sampleLocationsPerPixel;
8856 VkExtent2D sampleLocationGridSize;
8857 uint32_t sampleLocationsCount;
8858 const VkSampleLocationEXT* pSampleLocations;
8859 } VkSampleLocationsInfoEXT;
8861 typedef struct VkAttachmentSampleLocationsEXT {
8862 uint32_t attachmentIndex;
8863 VkSampleLocationsInfoEXT sampleLocationsInfo;
8864 } VkAttachmentSampleLocationsEXT;
8866 typedef struct VkSubpassSampleLocationsEXT {
8867 uint32_t subpassIndex;
8868 VkSampleLocationsInfoEXT sampleLocationsInfo;
8869 } VkSubpassSampleLocationsEXT;
8871 typedef struct VkRenderPassSampleLocationsBeginInfoEXT {
8872 VkStructureType sType;
8874 uint32_t attachmentInitialSampleLocationsCount;
8875 const VkAttachmentSampleLocationsEXT* pAttachmentInitialSampleLocations;
8876 uint32_t postSubpassSampleLocationsCount;
8877 const VkSubpassSampleLocationsEXT* pPostSubpassSampleLocations;
8878 } VkRenderPassSampleLocationsBeginInfoEXT;
8880 typedef struct VkPipelineSampleLocationsStateCreateInfoEXT {
8881 VkStructureType sType;
8883 VkBool32 sampleLocationsEnable;
8884 VkSampleLocationsInfoEXT sampleLocationsInfo;
8885 } VkPipelineSampleLocationsStateCreateInfoEXT;
8887 typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT {
8888 VkStructureType sType;
8890 VkSampleCountFlags sampleLocationSampleCounts;
8891 VkExtent2D maxSampleLocationGridSize;
8892 float sampleLocationCoordinateRange[2];
8893 uint32_t sampleLocationSubPixelBits;
8894 VkBool32 variableSampleLocations;
8895 } VkPhysicalDeviceSampleLocationsPropertiesEXT;
8897 typedef struct VkMultisamplePropertiesEXT {
8898 VkStructureType sType;
8900 VkExtent2D maxSampleLocationGridSize;
8901 } VkMultisamplePropertiesEXT;
8903 typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEXT)(VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
8904 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT)(VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT* pMultisampleProperties);
8906 #ifndef VK_NO_PROTOTYPES
8907 VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleLocationsEXT(
8908 VkCommandBuffer commandBuffer,
8909 const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
8911 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMultisamplePropertiesEXT(
8912 VkPhysicalDevice physicalDevice,
8913 VkSampleCountFlagBits samples,
8914 VkMultisamplePropertiesEXT* pMultisampleProperties);
8918 #define VK_EXT_blend_operation_advanced 1
8919 #define VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION 2
8920 #define VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME "VK_EXT_blend_operation_advanced"
8922 typedef enum VkBlendOverlapEXT {
8923 VK_BLEND_OVERLAP_UNCORRELATED_EXT = 0,
8924 VK_BLEND_OVERLAP_DISJOINT_EXT = 1,
8925 VK_BLEND_OVERLAP_CONJOINT_EXT = 2,
8926 VK_BLEND_OVERLAP_BEGIN_RANGE_EXT = VK_BLEND_OVERLAP_UNCORRELATED_EXT,
8927 VK_BLEND_OVERLAP_END_RANGE_EXT = VK_BLEND_OVERLAP_CONJOINT_EXT,
8928 VK_BLEND_OVERLAP_RANGE_SIZE_EXT = (VK_BLEND_OVERLAP_CONJOINT_EXT - VK_BLEND_OVERLAP_UNCORRELATED_EXT + 1),
8929 VK_BLEND_OVERLAP_MAX_ENUM_EXT = 0x7FFFFFFF
8930 } VkBlendOverlapEXT;
8931 typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
8932 VkStructureType sType;
8934 VkBool32 advancedBlendCoherentOperations;
8935 } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
8937 typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT {
8938 VkStructureType sType;
8940 uint32_t advancedBlendMaxColorAttachments;
8941 VkBool32 advancedBlendIndependentBlend;
8942 VkBool32 advancedBlendNonPremultipliedSrcColor;
8943 VkBool32 advancedBlendNonPremultipliedDstColor;
8944 VkBool32 advancedBlendCorrelatedOverlap;
8945 VkBool32 advancedBlendAllOperations;
8946 } VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT;
8948 typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT {
8949 VkStructureType sType;
8951 VkBool32 srcPremultiplied;
8952 VkBool32 dstPremultiplied;
8953 VkBlendOverlapEXT blendOverlap;
8954 } VkPipelineColorBlendAdvancedStateCreateInfoEXT;
8958 #define VK_NV_fragment_coverage_to_color 1
8959 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION 1
8960 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME "VK_NV_fragment_coverage_to_color"
8961 typedef VkFlags VkPipelineCoverageToColorStateCreateFlagsNV;
8962 typedef struct VkPipelineCoverageToColorStateCreateInfoNV {
8963 VkStructureType sType;
8965 VkPipelineCoverageToColorStateCreateFlagsNV flags;
8966 VkBool32 coverageToColorEnable;
8967 uint32_t coverageToColorLocation;
8968 } VkPipelineCoverageToColorStateCreateInfoNV;
8972 #define VK_NV_framebuffer_mixed_samples 1
8973 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION 1
8974 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME "VK_NV_framebuffer_mixed_samples"
8976 typedef enum VkCoverageModulationModeNV {
8977 VK_COVERAGE_MODULATION_MODE_NONE_NV = 0,
8978 VK_COVERAGE_MODULATION_MODE_RGB_NV = 1,
8979 VK_COVERAGE_MODULATION_MODE_ALPHA_NV = 2,
8980 VK_COVERAGE_MODULATION_MODE_RGBA_NV = 3,
8981 VK_COVERAGE_MODULATION_MODE_BEGIN_RANGE_NV = VK_COVERAGE_MODULATION_MODE_NONE_NV,
8982 VK_COVERAGE_MODULATION_MODE_END_RANGE_NV = VK_COVERAGE_MODULATION_MODE_RGBA_NV,
8983 VK_COVERAGE_MODULATION_MODE_RANGE_SIZE_NV = (VK_COVERAGE_MODULATION_MODE_RGBA_NV - VK_COVERAGE_MODULATION_MODE_NONE_NV + 1),
8984 VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV = 0x7FFFFFFF
8985 } VkCoverageModulationModeNV;
8986 typedef VkFlags VkPipelineCoverageModulationStateCreateFlagsNV;
8987 typedef struct VkPipelineCoverageModulationStateCreateInfoNV {
8988 VkStructureType sType;
8990 VkPipelineCoverageModulationStateCreateFlagsNV flags;
8991 VkCoverageModulationModeNV coverageModulationMode;
8992 VkBool32 coverageModulationTableEnable;
8993 uint32_t coverageModulationTableCount;
8994 const float* pCoverageModulationTable;
8995 } VkPipelineCoverageModulationStateCreateInfoNV;
8999 #define VK_NV_fill_rectangle 1
9000 #define VK_NV_FILL_RECTANGLE_SPEC_VERSION 1
9001 #define VK_NV_FILL_RECTANGLE_EXTENSION_NAME "VK_NV_fill_rectangle"
9003 #define VK_NV_shader_sm_builtins 1
9004 #define VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION 1
9005 #define VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME "VK_NV_shader_sm_builtins"
9006 typedef struct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV {
9007 VkStructureType sType;
9009 uint32_t shaderSMCount;
9010 uint32_t shaderWarpsPerSM;
9011 } VkPhysicalDeviceShaderSMBuiltinsPropertiesNV;
9013 typedef struct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV {
9014 VkStructureType sType;
9016 VkBool32 shaderSMBuiltins;
9017 } VkPhysicalDeviceShaderSMBuiltinsFeaturesNV;
9019 #define VK_EXT_post_depth_coverage 1
9020 #define VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION 1
9021 #define VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME "VK_EXT_post_depth_coverage"
9024 #define VK_EXT_image_drm_format_modifier 1
9025 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION 1
9026 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME "VK_EXT_image_drm_format_modifier"
9027 typedef struct VkDrmFormatModifierPropertiesEXT {
9028 uint64_t drmFormatModifier;
9029 uint32_t drmFormatModifierPlaneCount;
9030 VkFormatFeatureFlags drmFormatModifierTilingFeatures;
9031 } VkDrmFormatModifierPropertiesEXT;
9033 typedef struct VkDrmFormatModifierPropertiesListEXT {
9034 VkStructureType sType;
9036 uint32_t drmFormatModifierCount;
9037 VkDrmFormatModifierPropertiesEXT* pDrmFormatModifierProperties;
9038 } VkDrmFormatModifierPropertiesListEXT;
9040 typedef struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT {
9041 VkStructureType sType;
9043 uint64_t drmFormatModifier;
9044 VkSharingMode sharingMode;
9045 uint32_t queueFamilyIndexCount;
9046 const uint32_t* pQueueFamilyIndices;
9047 } VkPhysicalDeviceImageDrmFormatModifierInfoEXT;
9049 typedef struct VkImageDrmFormatModifierListCreateInfoEXT {
9050 VkStructureType sType;
9052 uint32_t drmFormatModifierCount;
9053 const uint64_t* pDrmFormatModifiers;
9054 } VkImageDrmFormatModifierListCreateInfoEXT;
9056 typedef struct VkImageDrmFormatModifierExplicitCreateInfoEXT {
9057 VkStructureType sType;
9059 uint64_t drmFormatModifier;
9060 uint32_t drmFormatModifierPlaneCount;
9061 const VkSubresourceLayout* pPlaneLayouts;
9062 } VkImageDrmFormatModifierExplicitCreateInfoEXT;
9064 typedef struct VkImageDrmFormatModifierPropertiesEXT {
9065 VkStructureType sType;
9067 uint64_t drmFormatModifier;
9068 } VkImageDrmFormatModifierPropertiesEXT;
9070 typedef VkResult (VKAPI_PTR *PFN_vkGetImageDrmFormatModifierPropertiesEXT)(VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties);
9072 #ifndef VK_NO_PROTOTYPES
9073 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageDrmFormatModifierPropertiesEXT(
9076 VkImageDrmFormatModifierPropertiesEXT* pProperties);
9080 #define VK_EXT_validation_cache 1
9081 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkValidationCacheEXT)
9082 #define VK_EXT_VALIDATION_CACHE_SPEC_VERSION 1
9083 #define VK_EXT_VALIDATION_CACHE_EXTENSION_NAME "VK_EXT_validation_cache"
9085 typedef enum VkValidationCacheHeaderVersionEXT {
9086 VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT = 1,
9087 VK_VALIDATION_CACHE_HEADER_VERSION_BEGIN_RANGE_EXT = VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT,
9088 VK_VALIDATION_CACHE_HEADER_VERSION_END_RANGE_EXT = VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT,
9089 VK_VALIDATION_CACHE_HEADER_VERSION_RANGE_SIZE_EXT = (VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT - VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT + 1),
9090 VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT = 0x7FFFFFFF
9091 } VkValidationCacheHeaderVersionEXT;
9092 typedef VkFlags VkValidationCacheCreateFlagsEXT;
9093 typedef struct VkValidationCacheCreateInfoEXT {
9094 VkStructureType sType;
9096 VkValidationCacheCreateFlagsEXT flags;
9097 size_t initialDataSize;
9098 const void* pInitialData;
9099 } VkValidationCacheCreateInfoEXT;
9101 typedef struct VkShaderModuleValidationCacheCreateInfoEXT {
9102 VkStructureType sType;
9104 VkValidationCacheEXT validationCache;
9105 } VkShaderModuleValidationCacheCreateInfoEXT;
9107 typedef VkResult (VKAPI_PTR *PFN_vkCreateValidationCacheEXT)(VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache);
9108 typedef void (VKAPI_PTR *PFN_vkDestroyValidationCacheEXT)(VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator);
9109 typedef VkResult (VKAPI_PTR *PFN_vkMergeValidationCachesEXT)(VkDevice device, VkValidationCacheEXT dstCache, uint32_t srcCacheCount, const VkValidationCacheEXT* pSrcCaches);
9110 typedef VkResult (VKAPI_PTR *PFN_vkGetValidationCacheDataEXT)(VkDevice device, VkValidationCacheEXT validationCache, size_t* pDataSize, void* pData);
9112 #ifndef VK_NO_PROTOTYPES
9113 VKAPI_ATTR VkResult VKAPI_CALL vkCreateValidationCacheEXT(
9115 const VkValidationCacheCreateInfoEXT* pCreateInfo,
9116 const VkAllocationCallbacks* pAllocator,
9117 VkValidationCacheEXT* pValidationCache);
9119 VKAPI_ATTR void VKAPI_CALL vkDestroyValidationCacheEXT(
9121 VkValidationCacheEXT validationCache,
9122 const VkAllocationCallbacks* pAllocator);
9124 VKAPI_ATTR VkResult VKAPI_CALL vkMergeValidationCachesEXT(
9126 VkValidationCacheEXT dstCache,
9127 uint32_t srcCacheCount,
9128 const VkValidationCacheEXT* pSrcCaches);
9130 VKAPI_ATTR VkResult VKAPI_CALL vkGetValidationCacheDataEXT(
9132 VkValidationCacheEXT validationCache,
9138 #define VK_EXT_descriptor_indexing 1
9139 #define VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION 2
9140 #define VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME "VK_EXT_descriptor_indexing"
9141 typedef VkDescriptorBindingFlagBits VkDescriptorBindingFlagBitsEXT;
9143 typedef VkDescriptorBindingFlags VkDescriptorBindingFlagsEXT;
9145 typedef VkDescriptorSetLayoutBindingFlagsCreateInfo VkDescriptorSetLayoutBindingFlagsCreateInfoEXT;
9147 typedef VkPhysicalDeviceDescriptorIndexingFeatures VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
9149 typedef VkPhysicalDeviceDescriptorIndexingProperties VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
9151 typedef VkDescriptorSetVariableDescriptorCountAllocateInfo VkDescriptorSetVariableDescriptorCountAllocateInfoEXT;
9153 typedef VkDescriptorSetVariableDescriptorCountLayoutSupport VkDescriptorSetVariableDescriptorCountLayoutSupportEXT;
9157 #define VK_EXT_shader_viewport_index_layer 1
9158 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION 1
9159 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME "VK_EXT_shader_viewport_index_layer"
9162 #define VK_NV_shading_rate_image 1
9163 #define VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION 3
9164 #define VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME "VK_NV_shading_rate_image"
9166 typedef enum VkShadingRatePaletteEntryNV {
9167 VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV = 0,
9168 VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV = 1,
9169 VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV = 2,
9170 VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV = 3,
9171 VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV = 4,
9172 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV = 5,
9173 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV = 6,
9174 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV = 7,
9175 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV = 8,
9176 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV = 9,
9177 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV = 10,
9178 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV = 11,
9179 VK_SHADING_RATE_PALETTE_ENTRY_BEGIN_RANGE_NV = VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV,
9180 VK_SHADING_RATE_PALETTE_ENTRY_END_RANGE_NV = VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV,
9181 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),
9182 VK_SHADING_RATE_PALETTE_ENTRY_MAX_ENUM_NV = 0x7FFFFFFF
9183 } VkShadingRatePaletteEntryNV;
9185 typedef enum VkCoarseSampleOrderTypeNV {
9186 VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV = 0,
9187 VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV = 1,
9188 VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV = 2,
9189 VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV = 3,
9190 VK_COARSE_SAMPLE_ORDER_TYPE_BEGIN_RANGE_NV = VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV,
9191 VK_COARSE_SAMPLE_ORDER_TYPE_END_RANGE_NV = VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV,
9192 VK_COARSE_SAMPLE_ORDER_TYPE_RANGE_SIZE_NV = (VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV - VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV + 1),
9193 VK_COARSE_SAMPLE_ORDER_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
9194 } VkCoarseSampleOrderTypeNV;
9195 typedef struct VkShadingRatePaletteNV {
9196 uint32_t shadingRatePaletteEntryCount;
9197 const VkShadingRatePaletteEntryNV* pShadingRatePaletteEntries;
9198 } VkShadingRatePaletteNV;
9200 typedef struct VkPipelineViewportShadingRateImageStateCreateInfoNV {
9201 VkStructureType sType;
9203 VkBool32 shadingRateImageEnable;
9204 uint32_t viewportCount;
9205 const VkShadingRatePaletteNV* pShadingRatePalettes;
9206 } VkPipelineViewportShadingRateImageStateCreateInfoNV;
9208 typedef struct VkPhysicalDeviceShadingRateImageFeaturesNV {
9209 VkStructureType sType;
9211 VkBool32 shadingRateImage;
9212 VkBool32 shadingRateCoarseSampleOrder;
9213 } VkPhysicalDeviceShadingRateImageFeaturesNV;
9215 typedef struct VkPhysicalDeviceShadingRateImagePropertiesNV {
9216 VkStructureType sType;
9218 VkExtent2D shadingRateTexelSize;
9219 uint32_t shadingRatePaletteSize;
9220 uint32_t shadingRateMaxCoarseSamples;
9221 } VkPhysicalDeviceShadingRateImagePropertiesNV;
9223 typedef struct VkCoarseSampleLocationNV {
9227 } VkCoarseSampleLocationNV;
9229 typedef struct VkCoarseSampleOrderCustomNV {
9230 VkShadingRatePaletteEntryNV shadingRate;
9231 uint32_t sampleCount;
9232 uint32_t sampleLocationCount;
9233 const VkCoarseSampleLocationNV* pSampleLocations;
9234 } VkCoarseSampleOrderCustomNV;
9236 typedef struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV {
9237 VkStructureType sType;
9239 VkCoarseSampleOrderTypeNV sampleOrderType;
9240 uint32_t customSampleOrderCount;
9241 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders;
9242 } VkPipelineViewportCoarseSampleOrderStateCreateInfoNV;
9244 typedef void (VKAPI_PTR *PFN_vkCmdBindShadingRateImageNV)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout);
9245 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportShadingRatePaletteNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkShadingRatePaletteNV* pShadingRatePalettes);
9246 typedef void (VKAPI_PTR *PFN_vkCmdSetCoarseSampleOrderNV)(VkCommandBuffer commandBuffer, VkCoarseSampleOrderTypeNV sampleOrderType, uint32_t customSampleOrderCount, const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
9248 #ifndef VK_NO_PROTOTYPES
9249 VKAPI_ATTR void VKAPI_CALL vkCmdBindShadingRateImageNV(
9250 VkCommandBuffer commandBuffer,
9251 VkImageView imageView,
9252 VkImageLayout imageLayout);
9254 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportShadingRatePaletteNV(
9255 VkCommandBuffer commandBuffer,
9256 uint32_t firstViewport,
9257 uint32_t viewportCount,
9258 const VkShadingRatePaletteNV* pShadingRatePalettes);
9260 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoarseSampleOrderNV(
9261 VkCommandBuffer commandBuffer,
9262 VkCoarseSampleOrderTypeNV sampleOrderType,
9263 uint32_t customSampleOrderCount,
9264 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
9268 #define VK_NV_ray_tracing 1
9269 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureNV)
9270 #define VK_NV_RAY_TRACING_SPEC_VERSION 3
9271 #define VK_NV_RAY_TRACING_EXTENSION_NAME "VK_NV_ray_tracing"
9272 #define VK_SHADER_UNUSED_NV (~0U)
9274 typedef enum VkAccelerationStructureTypeNV {
9275 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV = 0,
9276 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV = 1,
9277 VK_ACCELERATION_STRUCTURE_TYPE_BEGIN_RANGE_NV = VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV,
9278 VK_ACCELERATION_STRUCTURE_TYPE_END_RANGE_NV = VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV,
9279 VK_ACCELERATION_STRUCTURE_TYPE_RANGE_SIZE_NV = (VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV - VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV + 1),
9280 VK_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
9281 } VkAccelerationStructureTypeNV;
9283 typedef enum VkRayTracingShaderGroupTypeNV {
9284 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV = 0,
9285 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV = 1,
9286 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV = 2,
9287 VK_RAY_TRACING_SHADER_GROUP_TYPE_BEGIN_RANGE_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV,
9288 VK_RAY_TRACING_SHADER_GROUP_TYPE_END_RANGE_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV,
9289 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),
9290 VK_RAY_TRACING_SHADER_GROUP_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
9291 } VkRayTracingShaderGroupTypeNV;
9293 typedef enum VkGeometryTypeNV {
9294 VK_GEOMETRY_TYPE_TRIANGLES_NV = 0,
9295 VK_GEOMETRY_TYPE_AABBS_NV = 1,
9296 VK_GEOMETRY_TYPE_BEGIN_RANGE_NV = VK_GEOMETRY_TYPE_TRIANGLES_NV,
9297 VK_GEOMETRY_TYPE_END_RANGE_NV = VK_GEOMETRY_TYPE_AABBS_NV,
9298 VK_GEOMETRY_TYPE_RANGE_SIZE_NV = (VK_GEOMETRY_TYPE_AABBS_NV - VK_GEOMETRY_TYPE_TRIANGLES_NV + 1),
9299 VK_GEOMETRY_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
9302 typedef enum VkCopyAccelerationStructureModeNV {
9303 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV = 0,
9304 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV = 1,
9305 VK_COPY_ACCELERATION_STRUCTURE_MODE_BEGIN_RANGE_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV,
9306 VK_COPY_ACCELERATION_STRUCTURE_MODE_END_RANGE_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV,
9307 VK_COPY_ACCELERATION_STRUCTURE_MODE_RANGE_SIZE_NV = (VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV - VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV + 1),
9308 VK_COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_NV = 0x7FFFFFFF
9309 } VkCopyAccelerationStructureModeNV;
9311 typedef enum VkAccelerationStructureMemoryRequirementsTypeNV {
9312 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV = 0,
9313 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV = 1,
9314 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV = 2,
9315 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BEGIN_RANGE_NV = VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV,
9316 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_END_RANGE_NV = VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV,
9317 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),
9318 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
9319 } VkAccelerationStructureMemoryRequirementsTypeNV;
9321 typedef enum VkGeometryFlagBitsNV {
9322 VK_GEOMETRY_OPAQUE_BIT_NV = 0x00000001,
9323 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV = 0x00000002,
9324 VK_GEOMETRY_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
9325 } VkGeometryFlagBitsNV;
9326 typedef VkFlags VkGeometryFlagsNV;
9328 typedef enum VkGeometryInstanceFlagBitsNV {
9329 VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV = 0x00000001,
9330 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = 0x00000002,
9331 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV = 0x00000004,
9332 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV = 0x00000008,
9333 VK_GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
9334 } VkGeometryInstanceFlagBitsNV;
9335 typedef VkFlags VkGeometryInstanceFlagsNV;
9337 typedef enum VkBuildAccelerationStructureFlagBitsNV {
9338 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV = 0x00000001,
9339 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV = 0x00000002,
9340 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV = 0x00000004,
9341 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV = 0x00000008,
9342 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV = 0x00000010,
9343 VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
9344 } VkBuildAccelerationStructureFlagBitsNV;
9345 typedef VkFlags VkBuildAccelerationStructureFlagsNV;
9346 typedef struct VkRayTracingShaderGroupCreateInfoNV {
9347 VkStructureType sType;
9349 VkRayTracingShaderGroupTypeNV type;
9350 uint32_t generalShader;
9351 uint32_t closestHitShader;
9352 uint32_t anyHitShader;
9353 uint32_t intersectionShader;
9354 } VkRayTracingShaderGroupCreateInfoNV;
9356 typedef struct VkRayTracingPipelineCreateInfoNV {
9357 VkStructureType sType;
9359 VkPipelineCreateFlags flags;
9360 uint32_t stageCount;
9361 const VkPipelineShaderStageCreateInfo* pStages;
9362 uint32_t groupCount;
9363 const VkRayTracingShaderGroupCreateInfoNV* pGroups;
9364 uint32_t maxRecursionDepth;
9365 VkPipelineLayout layout;
9366 VkPipeline basePipelineHandle;
9367 int32_t basePipelineIndex;
9368 } VkRayTracingPipelineCreateInfoNV;
9370 typedef struct VkGeometryTrianglesNV {
9371 VkStructureType sType;
9373 VkBuffer vertexData;
9374 VkDeviceSize vertexOffset;
9375 uint32_t vertexCount;
9376 VkDeviceSize vertexStride;
9377 VkFormat vertexFormat;
9379 VkDeviceSize indexOffset;
9380 uint32_t indexCount;
9381 VkIndexType indexType;
9382 VkBuffer transformData;
9383 VkDeviceSize transformOffset;
9384 } VkGeometryTrianglesNV;
9386 typedef struct VkGeometryAABBNV {
9387 VkStructureType sType;
9392 VkDeviceSize offset;
9395 typedef struct VkGeometryDataNV {
9396 VkGeometryTrianglesNV triangles;
9397 VkGeometryAABBNV aabbs;
9400 typedef struct VkGeometryNV {
9401 VkStructureType sType;
9403 VkGeometryTypeNV geometryType;
9404 VkGeometryDataNV geometry;
9405 VkGeometryFlagsNV flags;
9408 typedef struct VkAccelerationStructureInfoNV {
9409 VkStructureType sType;
9411 VkAccelerationStructureTypeNV type;
9412 VkBuildAccelerationStructureFlagsNV flags;
9413 uint32_t instanceCount;
9414 uint32_t geometryCount;
9415 const VkGeometryNV* pGeometries;
9416 } VkAccelerationStructureInfoNV;
9418 typedef struct VkAccelerationStructureCreateInfoNV {
9419 VkStructureType sType;
9421 VkDeviceSize compactedSize;
9422 VkAccelerationStructureInfoNV info;
9423 } VkAccelerationStructureCreateInfoNV;
9425 typedef struct VkBindAccelerationStructureMemoryInfoNV {
9426 VkStructureType sType;
9428 VkAccelerationStructureNV accelerationStructure;
9429 VkDeviceMemory memory;
9430 VkDeviceSize memoryOffset;
9431 uint32_t deviceIndexCount;
9432 const uint32_t* pDeviceIndices;
9433 } VkBindAccelerationStructureMemoryInfoNV;
9435 typedef struct VkWriteDescriptorSetAccelerationStructureNV {
9436 VkStructureType sType;
9438 uint32_t accelerationStructureCount;
9439 const VkAccelerationStructureNV* pAccelerationStructures;
9440 } VkWriteDescriptorSetAccelerationStructureNV;
9442 typedef struct VkAccelerationStructureMemoryRequirementsInfoNV {
9443 VkStructureType sType;
9445 VkAccelerationStructureMemoryRequirementsTypeNV type;
9446 VkAccelerationStructureNV accelerationStructure;
9447 } VkAccelerationStructureMemoryRequirementsInfoNV;
9449 typedef struct VkPhysicalDeviceRayTracingPropertiesNV {
9450 VkStructureType sType;
9452 uint32_t shaderGroupHandleSize;
9453 uint32_t maxRecursionDepth;
9454 uint32_t maxShaderGroupStride;
9455 uint32_t shaderGroupBaseAlignment;
9456 uint64_t maxGeometryCount;
9457 uint64_t maxInstanceCount;
9458 uint64_t maxTriangleCount;
9459 uint32_t maxDescriptorSetAccelerationStructures;
9460 } VkPhysicalDeviceRayTracingPropertiesNV;
9462 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureNV)(VkDevice device, const VkAccelerationStructureCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureNV* pAccelerationStructure);
9463 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, const VkAllocationCallbacks* pAllocator);
9464 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureMemoryRequirementsNV)(VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements);
9465 typedef VkResult (VKAPI_PTR *PFN_vkBindAccelerationStructureMemoryNV)(VkDevice device, uint32_t bindInfoCount, const VkBindAccelerationStructureMemoryInfoNV* pBindInfos);
9466 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);
9467 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureNV)(VkCommandBuffer commandBuffer, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkCopyAccelerationStructureModeNV mode);
9468 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);
9469 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesNV)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoNV* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
9470 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesNV)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData);
9471 typedef VkResult (VKAPI_PTR *PFN_vkGetAccelerationStructureHandleNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, size_t dataSize, void* pData);
9472 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesNV)(VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureNV* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery);
9473 typedef VkResult (VKAPI_PTR *PFN_vkCompileDeferredNV)(VkDevice device, VkPipeline pipeline, uint32_t shader);
9475 #ifndef VK_NO_PROTOTYPES
9476 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureNV(
9478 const VkAccelerationStructureCreateInfoNV* pCreateInfo,
9479 const VkAllocationCallbacks* pAllocator,
9480 VkAccelerationStructureNV* pAccelerationStructure);
9482 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureNV(
9484 VkAccelerationStructureNV accelerationStructure,
9485 const VkAllocationCallbacks* pAllocator);
9487 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureMemoryRequirementsNV(
9489 const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo,
9490 VkMemoryRequirements2KHR* pMemoryRequirements);
9492 VKAPI_ATTR VkResult VKAPI_CALL vkBindAccelerationStructureMemoryNV(
9494 uint32_t bindInfoCount,
9495 const VkBindAccelerationStructureMemoryInfoNV* pBindInfos);
9497 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructureNV(
9498 VkCommandBuffer commandBuffer,
9499 const VkAccelerationStructureInfoNV* pInfo,
9500 VkBuffer instanceData,
9501 VkDeviceSize instanceOffset,
9503 VkAccelerationStructureNV dst,
9504 VkAccelerationStructureNV src,
9506 VkDeviceSize scratchOffset);
9508 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureNV(
9509 VkCommandBuffer commandBuffer,
9510 VkAccelerationStructureNV dst,
9511 VkAccelerationStructureNV src,
9512 VkCopyAccelerationStructureModeNV mode);
9514 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysNV(
9515 VkCommandBuffer commandBuffer,
9516 VkBuffer raygenShaderBindingTableBuffer,
9517 VkDeviceSize raygenShaderBindingOffset,
9518 VkBuffer missShaderBindingTableBuffer,
9519 VkDeviceSize missShaderBindingOffset,
9520 VkDeviceSize missShaderBindingStride,
9521 VkBuffer hitShaderBindingTableBuffer,
9522 VkDeviceSize hitShaderBindingOffset,
9523 VkDeviceSize hitShaderBindingStride,
9524 VkBuffer callableShaderBindingTableBuffer,
9525 VkDeviceSize callableShaderBindingOffset,
9526 VkDeviceSize callableShaderBindingStride,
9531 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesNV(
9533 VkPipelineCache pipelineCache,
9534 uint32_t createInfoCount,
9535 const VkRayTracingPipelineCreateInfoNV* pCreateInfos,
9536 const VkAllocationCallbacks* pAllocator,
9537 VkPipeline* pPipelines);
9539 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesNV(
9541 VkPipeline pipeline,
9542 uint32_t firstGroup,
9543 uint32_t groupCount,
9547 VKAPI_ATTR VkResult VKAPI_CALL vkGetAccelerationStructureHandleNV(
9549 VkAccelerationStructureNV accelerationStructure,
9553 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesNV(
9554 VkCommandBuffer commandBuffer,
9555 uint32_t accelerationStructureCount,
9556 const VkAccelerationStructureNV* pAccelerationStructures,
9557 VkQueryType queryType,
9558 VkQueryPool queryPool,
9559 uint32_t firstQuery);
9561 VKAPI_ATTR VkResult VKAPI_CALL vkCompileDeferredNV(
9563 VkPipeline pipeline,
9568 #define VK_NV_representative_fragment_test 1
9569 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION 2
9570 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME "VK_NV_representative_fragment_test"
9571 typedef struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV {
9572 VkStructureType sType;
9574 VkBool32 representativeFragmentTest;
9575 } VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV;
9577 typedef struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV {
9578 VkStructureType sType;
9580 VkBool32 representativeFragmentTestEnable;
9581 } VkPipelineRepresentativeFragmentTestStateCreateInfoNV;
9585 #define VK_EXT_filter_cubic 1
9586 #define VK_EXT_FILTER_CUBIC_SPEC_VERSION 2
9587 #define VK_EXT_FILTER_CUBIC_EXTENSION_NAME "VK_EXT_filter_cubic"
9588 typedef struct VkPhysicalDeviceImageViewImageFormatInfoEXT {
9589 VkStructureType sType;
9591 VkImageViewType imageViewType;
9592 } VkPhysicalDeviceImageViewImageFormatInfoEXT;
9594 typedef struct VkFilterCubicImageViewImageFormatPropertiesEXT {
9595 VkStructureType sType;
9597 VkBool32 filterCubic;
9598 VkBool32 filterCubicMinmax;
9599 } VkFilterCubicImageViewImageFormatPropertiesEXT;
9603 #define VK_EXT_global_priority 1
9604 #define VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION 2
9605 #define VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME "VK_EXT_global_priority"
9607 typedef enum VkQueueGlobalPriorityEXT {
9608 VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT = 128,
9609 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT = 256,
9610 VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT = 512,
9611 VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT = 1024,
9612 VK_QUEUE_GLOBAL_PRIORITY_BEGIN_RANGE_EXT = VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT,
9613 VK_QUEUE_GLOBAL_PRIORITY_END_RANGE_EXT = VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT,
9614 VK_QUEUE_GLOBAL_PRIORITY_RANGE_SIZE_EXT = (VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT - VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT + 1),
9615 VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_EXT = 0x7FFFFFFF
9616 } VkQueueGlobalPriorityEXT;
9617 typedef struct VkDeviceQueueGlobalPriorityCreateInfoEXT {
9618 VkStructureType sType;
9620 VkQueueGlobalPriorityEXT globalPriority;
9621 } VkDeviceQueueGlobalPriorityCreateInfoEXT;
9625 #define VK_EXT_external_memory_host 1
9626 #define VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION 1
9627 #define VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME "VK_EXT_external_memory_host"
9628 typedef struct VkImportMemoryHostPointerInfoEXT {
9629 VkStructureType sType;
9631 VkExternalMemoryHandleTypeFlagBits handleType;
9633 } VkImportMemoryHostPointerInfoEXT;
9635 typedef struct VkMemoryHostPointerPropertiesEXT {
9636 VkStructureType sType;
9638 uint32_t memoryTypeBits;
9639 } VkMemoryHostPointerPropertiesEXT;
9641 typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
9642 VkStructureType sType;
9644 VkDeviceSize minImportedHostPointerAlignment;
9645 } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
9647 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryHostPointerPropertiesEXT)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
9649 #ifndef VK_NO_PROTOTYPES
9650 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryHostPointerPropertiesEXT(
9652 VkExternalMemoryHandleTypeFlagBits handleType,
9653 const void* pHostPointer,
9654 VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
9658 #define VK_AMD_buffer_marker 1
9659 #define VK_AMD_BUFFER_MARKER_SPEC_VERSION 1
9660 #define VK_AMD_BUFFER_MARKER_EXTENSION_NAME "VK_AMD_buffer_marker"
9661 typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarkerAMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker);
9663 #ifndef VK_NO_PROTOTYPES
9664 VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarkerAMD(
9665 VkCommandBuffer commandBuffer,
9666 VkPipelineStageFlagBits pipelineStage,
9668 VkDeviceSize dstOffset,
9673 #define VK_AMD_pipeline_compiler_control 1
9674 #define VK_AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION 1
9675 #define VK_AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME "VK_AMD_pipeline_compiler_control"
9677 typedef enum VkPipelineCompilerControlFlagBitsAMD {
9678 VK_PIPELINE_COMPILER_CONTROL_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF
9679 } VkPipelineCompilerControlFlagBitsAMD;
9680 typedef VkFlags VkPipelineCompilerControlFlagsAMD;
9681 typedef struct VkPipelineCompilerControlCreateInfoAMD {
9682 VkStructureType sType;
9684 VkPipelineCompilerControlFlagsAMD compilerControlFlags;
9685 } VkPipelineCompilerControlCreateInfoAMD;
9689 #define VK_EXT_calibrated_timestamps 1
9690 #define VK_EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION 1
9691 #define VK_EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME "VK_EXT_calibrated_timestamps"
9693 typedef enum VkTimeDomainEXT {
9694 VK_TIME_DOMAIN_DEVICE_EXT = 0,
9695 VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT = 1,
9696 VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT = 2,
9697 VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT = 3,
9698 VK_TIME_DOMAIN_BEGIN_RANGE_EXT = VK_TIME_DOMAIN_DEVICE_EXT,
9699 VK_TIME_DOMAIN_END_RANGE_EXT = VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT,
9700 VK_TIME_DOMAIN_RANGE_SIZE_EXT = (VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT - VK_TIME_DOMAIN_DEVICE_EXT + 1),
9701 VK_TIME_DOMAIN_MAX_ENUM_EXT = 0x7FFFFFFF
9703 typedef struct VkCalibratedTimestampInfoEXT {
9704 VkStructureType sType;
9706 VkTimeDomainEXT timeDomain;
9707 } VkCalibratedTimestampInfoEXT;
9709 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT)(VkPhysicalDevice physicalDevice, uint32_t* pTimeDomainCount, VkTimeDomainEXT* pTimeDomains);
9710 typedef VkResult (VKAPI_PTR *PFN_vkGetCalibratedTimestampsEXT)(VkDevice device, uint32_t timestampCount, const VkCalibratedTimestampInfoEXT* pTimestampInfos, uint64_t* pTimestamps, uint64_t* pMaxDeviation);
9712 #ifndef VK_NO_PROTOTYPES
9713 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(
9714 VkPhysicalDevice physicalDevice,
9715 uint32_t* pTimeDomainCount,
9716 VkTimeDomainEXT* pTimeDomains);
9718 VKAPI_ATTR VkResult VKAPI_CALL vkGetCalibratedTimestampsEXT(
9720 uint32_t timestampCount,
9721 const VkCalibratedTimestampInfoEXT* pTimestampInfos,
9722 uint64_t* pTimestamps,
9723 uint64_t* pMaxDeviation);
9727 #define VK_AMD_shader_core_properties 1
9728 #define VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION 2
9729 #define VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_AMD_shader_core_properties"
9730 typedef struct VkPhysicalDeviceShaderCorePropertiesAMD {
9731 VkStructureType sType;
9733 uint32_t shaderEngineCount;
9734 uint32_t shaderArraysPerEngineCount;
9735 uint32_t computeUnitsPerShaderArray;
9736 uint32_t simdPerComputeUnit;
9737 uint32_t wavefrontsPerSimd;
9738 uint32_t wavefrontSize;
9739 uint32_t sgprsPerSimd;
9740 uint32_t minSgprAllocation;
9741 uint32_t maxSgprAllocation;
9742 uint32_t sgprAllocationGranularity;
9743 uint32_t vgprsPerSimd;
9744 uint32_t minVgprAllocation;
9745 uint32_t maxVgprAllocation;
9746 uint32_t vgprAllocationGranularity;
9747 } VkPhysicalDeviceShaderCorePropertiesAMD;
9751 #define VK_AMD_memory_overallocation_behavior 1
9752 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION 1
9753 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME "VK_AMD_memory_overallocation_behavior"
9755 typedef enum VkMemoryOverallocationBehaviorAMD {
9756 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD = 0,
9757 VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD = 1,
9758 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD = 2,
9759 VK_MEMORY_OVERALLOCATION_BEHAVIOR_BEGIN_RANGE_AMD = VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD,
9760 VK_MEMORY_OVERALLOCATION_BEHAVIOR_END_RANGE_AMD = VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD,
9761 VK_MEMORY_OVERALLOCATION_BEHAVIOR_RANGE_SIZE_AMD = (VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD - VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD + 1),
9762 VK_MEMORY_OVERALLOCATION_BEHAVIOR_MAX_ENUM_AMD = 0x7FFFFFFF
9763 } VkMemoryOverallocationBehaviorAMD;
9764 typedef struct VkDeviceMemoryOverallocationCreateInfoAMD {
9765 VkStructureType sType;
9767 VkMemoryOverallocationBehaviorAMD overallocationBehavior;
9768 } VkDeviceMemoryOverallocationCreateInfoAMD;
9772 #define VK_EXT_vertex_attribute_divisor 1
9773 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 3
9774 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_EXT_vertex_attribute_divisor"
9775 typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
9776 VkStructureType sType;
9778 uint32_t maxVertexAttribDivisor;
9779 } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
9781 typedef struct VkVertexInputBindingDivisorDescriptionEXT {
9784 } VkVertexInputBindingDivisorDescriptionEXT;
9786 typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT {
9787 VkStructureType sType;
9789 uint32_t vertexBindingDivisorCount;
9790 const VkVertexInputBindingDivisorDescriptionEXT* pVertexBindingDivisors;
9791 } VkPipelineVertexInputDivisorStateCreateInfoEXT;
9793 typedef struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT {
9794 VkStructureType sType;
9796 VkBool32 vertexAttributeInstanceRateDivisor;
9797 VkBool32 vertexAttributeInstanceRateZeroDivisor;
9798 } VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT;
9802 #define VK_EXT_pipeline_creation_feedback 1
9803 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION 1
9804 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME "VK_EXT_pipeline_creation_feedback"
9806 typedef enum VkPipelineCreationFeedbackFlagBitsEXT {
9807 VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = 0x00000001,
9808 VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = 0x00000002,
9809 VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = 0x00000004,
9810 VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
9811 } VkPipelineCreationFeedbackFlagBitsEXT;
9812 typedef VkFlags VkPipelineCreationFeedbackFlagsEXT;
9813 typedef struct VkPipelineCreationFeedbackEXT {
9814 VkPipelineCreationFeedbackFlagsEXT flags;
9816 } VkPipelineCreationFeedbackEXT;
9818 typedef struct VkPipelineCreationFeedbackCreateInfoEXT {
9819 VkStructureType sType;
9821 VkPipelineCreationFeedbackEXT* pPipelineCreationFeedback;
9822 uint32_t pipelineStageCreationFeedbackCount;
9823 VkPipelineCreationFeedbackEXT* pPipelineStageCreationFeedbacks;
9824 } VkPipelineCreationFeedbackCreateInfoEXT;
9828 #define VK_NV_shader_subgroup_partitioned 1
9829 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION 1
9830 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME "VK_NV_shader_subgroup_partitioned"
9833 #define VK_NV_compute_shader_derivatives 1
9834 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION 1
9835 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME "VK_NV_compute_shader_derivatives"
9836 typedef struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV {
9837 VkStructureType sType;
9839 VkBool32 computeDerivativeGroupQuads;
9840 VkBool32 computeDerivativeGroupLinear;
9841 } VkPhysicalDeviceComputeShaderDerivativesFeaturesNV;
9845 #define VK_NV_mesh_shader 1
9846 #define VK_NV_MESH_SHADER_SPEC_VERSION 1
9847 #define VK_NV_MESH_SHADER_EXTENSION_NAME "VK_NV_mesh_shader"
9848 typedef struct VkPhysicalDeviceMeshShaderFeaturesNV {
9849 VkStructureType sType;
9851 VkBool32 taskShader;
9852 VkBool32 meshShader;
9853 } VkPhysicalDeviceMeshShaderFeaturesNV;
9855 typedef struct VkPhysicalDeviceMeshShaderPropertiesNV {
9856 VkStructureType sType;
9858 uint32_t maxDrawMeshTasksCount;
9859 uint32_t maxTaskWorkGroupInvocations;
9860 uint32_t maxTaskWorkGroupSize[3];
9861 uint32_t maxTaskTotalMemorySize;
9862 uint32_t maxTaskOutputCount;
9863 uint32_t maxMeshWorkGroupInvocations;
9864 uint32_t maxMeshWorkGroupSize[3];
9865 uint32_t maxMeshTotalMemorySize;
9866 uint32_t maxMeshOutputVertices;
9867 uint32_t maxMeshOutputPrimitives;
9868 uint32_t maxMeshMultiviewViewCount;
9869 uint32_t meshOutputPerVertexGranularity;
9870 uint32_t meshOutputPerPrimitiveGranularity;
9871 } VkPhysicalDeviceMeshShaderPropertiesNV;
9873 typedef struct VkDrawMeshTasksIndirectCommandNV {
9876 } VkDrawMeshTasksIndirectCommandNV;
9878 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksNV)(VkCommandBuffer commandBuffer, uint32_t taskCount, uint32_t firstTask);
9879 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
9880 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectCountNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
9882 #ifndef VK_NO_PROTOTYPES
9883 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksNV(
9884 VkCommandBuffer commandBuffer,
9886 uint32_t firstTask);
9888 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectNV(
9889 VkCommandBuffer commandBuffer,
9891 VkDeviceSize offset,
9895 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectCountNV(
9896 VkCommandBuffer commandBuffer,
9898 VkDeviceSize offset,
9899 VkBuffer countBuffer,
9900 VkDeviceSize countBufferOffset,
9901 uint32_t maxDrawCount,
9906 #define VK_NV_fragment_shader_barycentric 1
9907 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1
9908 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_NV_fragment_shader_barycentric"
9909 typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV {
9910 VkStructureType sType;
9912 VkBool32 fragmentShaderBarycentric;
9913 } VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV;
9917 #define VK_NV_shader_image_footprint 1
9918 #define VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION 2
9919 #define VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME "VK_NV_shader_image_footprint"
9920 typedef struct VkPhysicalDeviceShaderImageFootprintFeaturesNV {
9921 VkStructureType sType;
9923 VkBool32 imageFootprint;
9924 } VkPhysicalDeviceShaderImageFootprintFeaturesNV;
9928 #define VK_NV_scissor_exclusive 1
9929 #define VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION 1
9930 #define VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME "VK_NV_scissor_exclusive"
9931 typedef struct VkPipelineViewportExclusiveScissorStateCreateInfoNV {
9932 VkStructureType sType;
9934 uint32_t exclusiveScissorCount;
9935 const VkRect2D* pExclusiveScissors;
9936 } VkPipelineViewportExclusiveScissorStateCreateInfoNV;
9938 typedef struct VkPhysicalDeviceExclusiveScissorFeaturesNV {
9939 VkStructureType sType;
9941 VkBool32 exclusiveScissor;
9942 } VkPhysicalDeviceExclusiveScissorFeaturesNV;
9944 typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorNV)(VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const VkRect2D* pExclusiveScissors);
9946 #ifndef VK_NO_PROTOTYPES
9947 VKAPI_ATTR void VKAPI_CALL vkCmdSetExclusiveScissorNV(
9948 VkCommandBuffer commandBuffer,
9949 uint32_t firstExclusiveScissor,
9950 uint32_t exclusiveScissorCount,
9951 const VkRect2D* pExclusiveScissors);
9955 #define VK_NV_device_diagnostic_checkpoints 1
9956 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION 2
9957 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME "VK_NV_device_diagnostic_checkpoints"
9958 typedef struct VkQueueFamilyCheckpointPropertiesNV {
9959 VkStructureType sType;
9961 VkPipelineStageFlags checkpointExecutionStageMask;
9962 } VkQueueFamilyCheckpointPropertiesNV;
9964 typedef struct VkCheckpointDataNV {
9965 VkStructureType sType;
9967 VkPipelineStageFlagBits stage;
9968 void* pCheckpointMarker;
9969 } VkCheckpointDataNV;
9971 typedef void (VKAPI_PTR *PFN_vkCmdSetCheckpointNV)(VkCommandBuffer commandBuffer, const void* pCheckpointMarker);
9972 typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointDataNV)(VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData);
9974 #ifndef VK_NO_PROTOTYPES
9975 VKAPI_ATTR void VKAPI_CALL vkCmdSetCheckpointNV(
9976 VkCommandBuffer commandBuffer,
9977 const void* pCheckpointMarker);
9979 VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointDataNV(
9981 uint32_t* pCheckpointDataCount,
9982 VkCheckpointDataNV* pCheckpointData);
9986 #define VK_INTEL_shader_integer_functions2 1
9987 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION 1
9988 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME "VK_INTEL_shader_integer_functions2"
9989 typedef struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
9990 VkStructureType sType;
9992 VkBool32 shaderIntegerFunctions2;
9993 } VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL;
9997 #define VK_INTEL_performance_query 1
9998 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPerformanceConfigurationINTEL)
9999 #define VK_INTEL_PERFORMANCE_QUERY_SPEC_VERSION 1
10000 #define VK_INTEL_PERFORMANCE_QUERY_EXTENSION_NAME "VK_INTEL_performance_query"
10002 typedef enum VkPerformanceConfigurationTypeINTEL {
10003 VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL = 0,
10004 VK_PERFORMANCE_CONFIGURATION_TYPE_BEGIN_RANGE_INTEL = VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL,
10005 VK_PERFORMANCE_CONFIGURATION_TYPE_END_RANGE_INTEL = VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL,
10006 VK_PERFORMANCE_CONFIGURATION_TYPE_RANGE_SIZE_INTEL = (VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL - VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL + 1),
10007 VK_PERFORMANCE_CONFIGURATION_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
10008 } VkPerformanceConfigurationTypeINTEL;
10010 typedef enum VkQueryPoolSamplingModeINTEL {
10011 VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL = 0,
10012 VK_QUERY_POOL_SAMPLING_MODE_BEGIN_RANGE_INTEL = VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL,
10013 VK_QUERY_POOL_SAMPLING_MODE_END_RANGE_INTEL = VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL,
10014 VK_QUERY_POOL_SAMPLING_MODE_RANGE_SIZE_INTEL = (VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL - VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL + 1),
10015 VK_QUERY_POOL_SAMPLING_MODE_MAX_ENUM_INTEL = 0x7FFFFFFF
10016 } VkQueryPoolSamplingModeINTEL;
10018 typedef enum VkPerformanceOverrideTypeINTEL {
10019 VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL = 0,
10020 VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL = 1,
10021 VK_PERFORMANCE_OVERRIDE_TYPE_BEGIN_RANGE_INTEL = VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL,
10022 VK_PERFORMANCE_OVERRIDE_TYPE_END_RANGE_INTEL = VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL,
10023 VK_PERFORMANCE_OVERRIDE_TYPE_RANGE_SIZE_INTEL = (VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL - VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL + 1),
10024 VK_PERFORMANCE_OVERRIDE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
10025 } VkPerformanceOverrideTypeINTEL;
10027 typedef enum VkPerformanceParameterTypeINTEL {
10028 VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL = 0,
10029 VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL = 1,
10030 VK_PERFORMANCE_PARAMETER_TYPE_BEGIN_RANGE_INTEL = VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL,
10031 VK_PERFORMANCE_PARAMETER_TYPE_END_RANGE_INTEL = VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL,
10032 VK_PERFORMANCE_PARAMETER_TYPE_RANGE_SIZE_INTEL = (VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL - VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL + 1),
10033 VK_PERFORMANCE_PARAMETER_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
10034 } VkPerformanceParameterTypeINTEL;
10036 typedef enum VkPerformanceValueTypeINTEL {
10037 VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL = 0,
10038 VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL = 1,
10039 VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL = 2,
10040 VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL = 3,
10041 VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL = 4,
10042 VK_PERFORMANCE_VALUE_TYPE_BEGIN_RANGE_INTEL = VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL,
10043 VK_PERFORMANCE_VALUE_TYPE_END_RANGE_INTEL = VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL,
10044 VK_PERFORMANCE_VALUE_TYPE_RANGE_SIZE_INTEL = (VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL - VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL + 1),
10045 VK_PERFORMANCE_VALUE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
10046 } VkPerformanceValueTypeINTEL;
10047 typedef union VkPerformanceValueDataINTEL {
10051 VkBool32 valueBool;
10052 const char* valueString;
10053 } VkPerformanceValueDataINTEL;
10055 typedef struct VkPerformanceValueINTEL {
10056 VkPerformanceValueTypeINTEL type;
10057 VkPerformanceValueDataINTEL data;
10058 } VkPerformanceValueINTEL;
10060 typedef struct VkInitializePerformanceApiInfoINTEL {
10061 VkStructureType sType;
10064 } VkInitializePerformanceApiInfoINTEL;
10066 typedef struct VkQueryPoolCreateInfoINTEL {
10067 VkStructureType sType;
10069 VkQueryPoolSamplingModeINTEL performanceCountersSampling;
10070 } VkQueryPoolCreateInfoINTEL;
10072 typedef struct VkPerformanceMarkerInfoINTEL {
10073 VkStructureType sType;
10076 } VkPerformanceMarkerInfoINTEL;
10078 typedef struct VkPerformanceStreamMarkerInfoINTEL {
10079 VkStructureType sType;
10082 } VkPerformanceStreamMarkerInfoINTEL;
10084 typedef struct VkPerformanceOverrideInfoINTEL {
10085 VkStructureType sType;
10087 VkPerformanceOverrideTypeINTEL type;
10089 uint64_t parameter;
10090 } VkPerformanceOverrideInfoINTEL;
10092 typedef struct VkPerformanceConfigurationAcquireInfoINTEL {
10093 VkStructureType sType;
10095 VkPerformanceConfigurationTypeINTEL type;
10096 } VkPerformanceConfigurationAcquireInfoINTEL;
10098 typedef VkResult (VKAPI_PTR *PFN_vkInitializePerformanceApiINTEL)(VkDevice device, const VkInitializePerformanceApiInfoINTEL* pInitializeInfo);
10099 typedef void (VKAPI_PTR *PFN_vkUninitializePerformanceApiINTEL)(VkDevice device);
10100 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL* pMarkerInfo);
10101 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceStreamMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo);
10102 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceOverrideINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL* pOverrideInfo);
10103 typedef VkResult (VKAPI_PTR *PFN_vkAcquirePerformanceConfigurationINTEL)(VkDevice device, const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, VkPerformanceConfigurationINTEL* pConfiguration);
10104 typedef VkResult (VKAPI_PTR *PFN_vkReleasePerformanceConfigurationINTEL)(VkDevice device, VkPerformanceConfigurationINTEL configuration);
10105 typedef VkResult (VKAPI_PTR *PFN_vkQueueSetPerformanceConfigurationINTEL)(VkQueue queue, VkPerformanceConfigurationINTEL configuration);
10106 typedef VkResult (VKAPI_PTR *PFN_vkGetPerformanceParameterINTEL)(VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL* pValue);
10108 #ifndef VK_NO_PROTOTYPES
10109 VKAPI_ATTR VkResult VKAPI_CALL vkInitializePerformanceApiINTEL(
10111 const VkInitializePerformanceApiInfoINTEL* pInitializeInfo);
10113 VKAPI_ATTR void VKAPI_CALL vkUninitializePerformanceApiINTEL(
10116 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceMarkerINTEL(
10117 VkCommandBuffer commandBuffer,
10118 const VkPerformanceMarkerInfoINTEL* pMarkerInfo);
10120 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceStreamMarkerINTEL(
10121 VkCommandBuffer commandBuffer,
10122 const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo);
10124 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceOverrideINTEL(
10125 VkCommandBuffer commandBuffer,
10126 const VkPerformanceOverrideInfoINTEL* pOverrideInfo);
10128 VKAPI_ATTR VkResult VKAPI_CALL vkAcquirePerformanceConfigurationINTEL(
10130 const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo,
10131 VkPerformanceConfigurationINTEL* pConfiguration);
10133 VKAPI_ATTR VkResult VKAPI_CALL vkReleasePerformanceConfigurationINTEL(
10135 VkPerformanceConfigurationINTEL configuration);
10137 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSetPerformanceConfigurationINTEL(
10139 VkPerformanceConfigurationINTEL configuration);
10141 VKAPI_ATTR VkResult VKAPI_CALL vkGetPerformanceParameterINTEL(
10143 VkPerformanceParameterTypeINTEL parameter,
10144 VkPerformanceValueINTEL* pValue);
10148 #define VK_EXT_pci_bus_info 1
10149 #define VK_EXT_PCI_BUS_INFO_SPEC_VERSION 2
10150 #define VK_EXT_PCI_BUS_INFO_EXTENSION_NAME "VK_EXT_pci_bus_info"
10151 typedef struct VkPhysicalDevicePCIBusInfoPropertiesEXT {
10152 VkStructureType sType;
10154 uint32_t pciDomain;
10156 uint32_t pciDevice;
10157 uint32_t pciFunction;
10158 } VkPhysicalDevicePCIBusInfoPropertiesEXT;
10162 #define VK_AMD_display_native_hdr 1
10163 #define VK_AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION 1
10164 #define VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME "VK_AMD_display_native_hdr"
10165 typedef struct VkDisplayNativeHdrSurfaceCapabilitiesAMD {
10166 VkStructureType sType;
10168 VkBool32 localDimmingSupport;
10169 } VkDisplayNativeHdrSurfaceCapabilitiesAMD;
10171 typedef struct VkSwapchainDisplayNativeHdrCreateInfoAMD {
10172 VkStructureType sType;
10174 VkBool32 localDimmingEnable;
10175 } VkSwapchainDisplayNativeHdrCreateInfoAMD;
10177 typedef void (VKAPI_PTR *PFN_vkSetLocalDimmingAMD)(VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable);
10179 #ifndef VK_NO_PROTOTYPES
10180 VKAPI_ATTR void VKAPI_CALL vkSetLocalDimmingAMD(
10182 VkSwapchainKHR swapChain,
10183 VkBool32 localDimmingEnable);
10187 #define VK_EXT_fragment_density_map 1
10188 #define VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION 1
10189 #define VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME "VK_EXT_fragment_density_map"
10190 typedef struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT {
10191 VkStructureType sType;
10193 VkBool32 fragmentDensityMap;
10194 VkBool32 fragmentDensityMapDynamic;
10195 VkBool32 fragmentDensityMapNonSubsampledImages;
10196 } VkPhysicalDeviceFragmentDensityMapFeaturesEXT;
10198 typedef struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT {
10199 VkStructureType sType;
10201 VkExtent2D minFragmentDensityTexelSize;
10202 VkExtent2D maxFragmentDensityTexelSize;
10203 VkBool32 fragmentDensityInvocations;
10204 } VkPhysicalDeviceFragmentDensityMapPropertiesEXT;
10206 typedef struct VkRenderPassFragmentDensityMapCreateInfoEXT {
10207 VkStructureType sType;
10209 VkAttachmentReference fragmentDensityMapAttachment;
10210 } VkRenderPassFragmentDensityMapCreateInfoEXT;
10214 #define VK_EXT_scalar_block_layout 1
10215 #define VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION 1
10216 #define VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME "VK_EXT_scalar_block_layout"
10217 typedef VkPhysicalDeviceScalarBlockLayoutFeatures VkPhysicalDeviceScalarBlockLayoutFeaturesEXT;
10221 #define VK_GOOGLE_hlsl_functionality1 1
10222 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION 1
10223 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME "VK_GOOGLE_hlsl_functionality1"
10226 #define VK_GOOGLE_decorate_string 1
10227 #define VK_GOOGLE_DECORATE_STRING_SPEC_VERSION 1
10228 #define VK_GOOGLE_DECORATE_STRING_EXTENSION_NAME "VK_GOOGLE_decorate_string"
10231 #define VK_EXT_subgroup_size_control 1
10232 #define VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION 2
10233 #define VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME "VK_EXT_subgroup_size_control"
10234 typedef struct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT {
10235 VkStructureType sType;
10237 VkBool32 subgroupSizeControl;
10238 VkBool32 computeFullSubgroups;
10239 } VkPhysicalDeviceSubgroupSizeControlFeaturesEXT;
10241 typedef struct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT {
10242 VkStructureType sType;
10244 uint32_t minSubgroupSize;
10245 uint32_t maxSubgroupSize;
10246 uint32_t maxComputeWorkgroupSubgroups;
10247 VkShaderStageFlags requiredSubgroupSizeStages;
10248 } VkPhysicalDeviceSubgroupSizeControlPropertiesEXT;
10250 typedef struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT {
10251 VkStructureType sType;
10253 uint32_t requiredSubgroupSize;
10254 } VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT;
10258 #define VK_AMD_shader_core_properties2 1
10259 #define VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION 1
10260 #define VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME "VK_AMD_shader_core_properties2"
10262 typedef enum VkShaderCorePropertiesFlagBitsAMD {
10263 VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF
10264 } VkShaderCorePropertiesFlagBitsAMD;
10265 typedef VkFlags VkShaderCorePropertiesFlagsAMD;
10266 typedef struct VkPhysicalDeviceShaderCoreProperties2AMD {
10267 VkStructureType sType;
10269 VkShaderCorePropertiesFlagsAMD shaderCoreFeatures;
10270 uint32_t activeComputeUnitCount;
10271 } VkPhysicalDeviceShaderCoreProperties2AMD;
10275 #define VK_AMD_device_coherent_memory 1
10276 #define VK_AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION 1
10277 #define VK_AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME "VK_AMD_device_coherent_memory"
10278 typedef struct VkPhysicalDeviceCoherentMemoryFeaturesAMD {
10279 VkStructureType sType;
10281 VkBool32 deviceCoherentMemory;
10282 } VkPhysicalDeviceCoherentMemoryFeaturesAMD;
10286 #define VK_EXT_memory_budget 1
10287 #define VK_EXT_MEMORY_BUDGET_SPEC_VERSION 1
10288 #define VK_EXT_MEMORY_BUDGET_EXTENSION_NAME "VK_EXT_memory_budget"
10289 typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT {
10290 VkStructureType sType;
10292 VkDeviceSize heapBudget[VK_MAX_MEMORY_HEAPS];
10293 VkDeviceSize heapUsage[VK_MAX_MEMORY_HEAPS];
10294 } VkPhysicalDeviceMemoryBudgetPropertiesEXT;
10298 #define VK_EXT_memory_priority 1
10299 #define VK_EXT_MEMORY_PRIORITY_SPEC_VERSION 1
10300 #define VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME "VK_EXT_memory_priority"
10301 typedef struct VkPhysicalDeviceMemoryPriorityFeaturesEXT {
10302 VkStructureType sType;
10304 VkBool32 memoryPriority;
10305 } VkPhysicalDeviceMemoryPriorityFeaturesEXT;
10307 typedef struct VkMemoryPriorityAllocateInfoEXT {
10308 VkStructureType sType;
10311 } VkMemoryPriorityAllocateInfoEXT;
10315 #define VK_NV_dedicated_allocation_image_aliasing 1
10316 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION 1
10317 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME "VK_NV_dedicated_allocation_image_aliasing"
10318 typedef struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
10319 VkStructureType sType;
10321 VkBool32 dedicatedAllocationImageAliasing;
10322 } VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV;
10326 #define VK_EXT_buffer_device_address 1
10327 #define VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 2
10328 #define VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_EXT_buffer_device_address"
10329 typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT {
10330 VkStructureType sType;
10332 VkBool32 bufferDeviceAddress;
10333 VkBool32 bufferDeviceAddressCaptureReplay;
10334 VkBool32 bufferDeviceAddressMultiDevice;
10335 } VkPhysicalDeviceBufferDeviceAddressFeaturesEXT;
10337 typedef VkPhysicalDeviceBufferDeviceAddressFeaturesEXT VkPhysicalDeviceBufferAddressFeaturesEXT;
10339 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoEXT;
10341 typedef struct VkBufferDeviceAddressCreateInfoEXT {
10342 VkStructureType sType;
10344 VkDeviceAddress deviceAddress;
10345 } VkBufferDeviceAddressCreateInfoEXT;
10347 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressEXT)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
10349 #ifndef VK_NO_PROTOTYPES
10350 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressEXT(
10352 const VkBufferDeviceAddressInfo* pInfo);
10356 #define VK_EXT_separate_stencil_usage 1
10357 #define VK_EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION 1
10358 #define VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME "VK_EXT_separate_stencil_usage"
10359 typedef VkImageStencilUsageCreateInfo VkImageStencilUsageCreateInfoEXT;
10363 #define VK_EXT_validation_features 1
10364 #define VK_EXT_VALIDATION_FEATURES_SPEC_VERSION 2
10365 #define VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME "VK_EXT_validation_features"
10367 typedef enum VkValidationFeatureEnableEXT {
10368 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT = 0,
10369 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT = 1,
10370 VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT = 2,
10371 VK_VALIDATION_FEATURE_ENABLE_BEGIN_RANGE_EXT = VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT,
10372 VK_VALIDATION_FEATURE_ENABLE_END_RANGE_EXT = VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT,
10373 VK_VALIDATION_FEATURE_ENABLE_RANGE_SIZE_EXT = (VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT - VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT + 1),
10374 VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT = 0x7FFFFFFF
10375 } VkValidationFeatureEnableEXT;
10377 typedef enum VkValidationFeatureDisableEXT {
10378 VK_VALIDATION_FEATURE_DISABLE_ALL_EXT = 0,
10379 VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT = 1,
10380 VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT = 2,
10381 VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT = 3,
10382 VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT = 4,
10383 VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT = 5,
10384 VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT = 6,
10385 VK_VALIDATION_FEATURE_DISABLE_BEGIN_RANGE_EXT = VK_VALIDATION_FEATURE_DISABLE_ALL_EXT,
10386 VK_VALIDATION_FEATURE_DISABLE_END_RANGE_EXT = VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT,
10387 VK_VALIDATION_FEATURE_DISABLE_RANGE_SIZE_EXT = (VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT - VK_VALIDATION_FEATURE_DISABLE_ALL_EXT + 1),
10388 VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT = 0x7FFFFFFF
10389 } VkValidationFeatureDisableEXT;
10390 typedef struct VkValidationFeaturesEXT {
10391 VkStructureType sType;
10393 uint32_t enabledValidationFeatureCount;
10394 const VkValidationFeatureEnableEXT* pEnabledValidationFeatures;
10395 uint32_t disabledValidationFeatureCount;
10396 const VkValidationFeatureDisableEXT* pDisabledValidationFeatures;
10397 } VkValidationFeaturesEXT;
10401 #define VK_NV_cooperative_matrix 1
10402 #define VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION 1
10403 #define VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_NV_cooperative_matrix"
10405 typedef enum VkComponentTypeNV {
10406 VK_COMPONENT_TYPE_FLOAT16_NV = 0,
10407 VK_COMPONENT_TYPE_FLOAT32_NV = 1,
10408 VK_COMPONENT_TYPE_FLOAT64_NV = 2,
10409 VK_COMPONENT_TYPE_SINT8_NV = 3,
10410 VK_COMPONENT_TYPE_SINT16_NV = 4,
10411 VK_COMPONENT_TYPE_SINT32_NV = 5,
10412 VK_COMPONENT_TYPE_SINT64_NV = 6,
10413 VK_COMPONENT_TYPE_UINT8_NV = 7,
10414 VK_COMPONENT_TYPE_UINT16_NV = 8,
10415 VK_COMPONENT_TYPE_UINT32_NV = 9,
10416 VK_COMPONENT_TYPE_UINT64_NV = 10,
10417 VK_COMPONENT_TYPE_BEGIN_RANGE_NV = VK_COMPONENT_TYPE_FLOAT16_NV,
10418 VK_COMPONENT_TYPE_END_RANGE_NV = VK_COMPONENT_TYPE_UINT64_NV,
10419 VK_COMPONENT_TYPE_RANGE_SIZE_NV = (VK_COMPONENT_TYPE_UINT64_NV - VK_COMPONENT_TYPE_FLOAT16_NV + 1),
10420 VK_COMPONENT_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
10421 } VkComponentTypeNV;
10423 typedef enum VkScopeNV {
10424 VK_SCOPE_DEVICE_NV = 1,
10425 VK_SCOPE_WORKGROUP_NV = 2,
10426 VK_SCOPE_SUBGROUP_NV = 3,
10427 VK_SCOPE_QUEUE_FAMILY_NV = 5,
10428 VK_SCOPE_BEGIN_RANGE_NV = VK_SCOPE_DEVICE_NV,
10429 VK_SCOPE_END_RANGE_NV = VK_SCOPE_QUEUE_FAMILY_NV,
10430 VK_SCOPE_RANGE_SIZE_NV = (VK_SCOPE_QUEUE_FAMILY_NV - VK_SCOPE_DEVICE_NV + 1),
10431 VK_SCOPE_MAX_ENUM_NV = 0x7FFFFFFF
10433 typedef struct VkCooperativeMatrixPropertiesNV {
10434 VkStructureType sType;
10439 VkComponentTypeNV AType;
10440 VkComponentTypeNV BType;
10441 VkComponentTypeNV CType;
10442 VkComponentTypeNV DType;
10444 } VkCooperativeMatrixPropertiesNV;
10446 typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesNV {
10447 VkStructureType sType;
10449 VkBool32 cooperativeMatrix;
10450 VkBool32 cooperativeMatrixRobustBufferAccess;
10451 } VkPhysicalDeviceCooperativeMatrixFeaturesNV;
10453 typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesNV {
10454 VkStructureType sType;
10456 VkShaderStageFlags cooperativeMatrixSupportedStages;
10457 } VkPhysicalDeviceCooperativeMatrixPropertiesNV;
10459 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkCooperativeMatrixPropertiesNV* pProperties);
10461 #ifndef VK_NO_PROTOTYPES
10462 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(
10463 VkPhysicalDevice physicalDevice,
10464 uint32_t* pPropertyCount,
10465 VkCooperativeMatrixPropertiesNV* pProperties);
10469 #define VK_NV_coverage_reduction_mode 1
10470 #define VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION 1
10471 #define VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME "VK_NV_coverage_reduction_mode"
10473 typedef enum VkCoverageReductionModeNV {
10474 VK_COVERAGE_REDUCTION_MODE_MERGE_NV = 0,
10475 VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV = 1,
10476 VK_COVERAGE_REDUCTION_MODE_BEGIN_RANGE_NV = VK_COVERAGE_REDUCTION_MODE_MERGE_NV,
10477 VK_COVERAGE_REDUCTION_MODE_END_RANGE_NV = VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV,
10478 VK_COVERAGE_REDUCTION_MODE_RANGE_SIZE_NV = (VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV - VK_COVERAGE_REDUCTION_MODE_MERGE_NV + 1),
10479 VK_COVERAGE_REDUCTION_MODE_MAX_ENUM_NV = 0x7FFFFFFF
10480 } VkCoverageReductionModeNV;
10481 typedef VkFlags VkPipelineCoverageReductionStateCreateFlagsNV;
10482 typedef struct VkPhysicalDeviceCoverageReductionModeFeaturesNV {
10483 VkStructureType sType;
10485 VkBool32 coverageReductionMode;
10486 } VkPhysicalDeviceCoverageReductionModeFeaturesNV;
10488 typedef struct VkPipelineCoverageReductionStateCreateInfoNV {
10489 VkStructureType sType;
10491 VkPipelineCoverageReductionStateCreateFlagsNV flags;
10492 VkCoverageReductionModeNV coverageReductionMode;
10493 } VkPipelineCoverageReductionStateCreateInfoNV;
10495 typedef struct VkFramebufferMixedSamplesCombinationNV {
10496 VkStructureType sType;
10498 VkCoverageReductionModeNV coverageReductionMode;
10499 VkSampleCountFlagBits rasterizationSamples;
10500 VkSampleCountFlags depthStencilSamples;
10501 VkSampleCountFlags colorSamples;
10502 } VkFramebufferMixedSamplesCombinationNV;
10504 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV)(VkPhysicalDevice physicalDevice, uint32_t* pCombinationCount, VkFramebufferMixedSamplesCombinationNV* pCombinations);
10506 #ifndef VK_NO_PROTOTYPES
10507 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
10508 VkPhysicalDevice physicalDevice,
10509 uint32_t* pCombinationCount,
10510 VkFramebufferMixedSamplesCombinationNV* pCombinations);
10514 #define VK_EXT_fragment_shader_interlock 1
10515 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION 1
10516 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME "VK_EXT_fragment_shader_interlock"
10517 typedef struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT {
10518 VkStructureType sType;
10520 VkBool32 fragmentShaderSampleInterlock;
10521 VkBool32 fragmentShaderPixelInterlock;
10522 VkBool32 fragmentShaderShadingRateInterlock;
10523 } VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT;
10527 #define VK_EXT_ycbcr_image_arrays 1
10528 #define VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION 1
10529 #define VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME "VK_EXT_ycbcr_image_arrays"
10530 typedef struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT {
10531 VkStructureType sType;
10533 VkBool32 ycbcrImageArrays;
10534 } VkPhysicalDeviceYcbcrImageArraysFeaturesEXT;
10538 #define VK_EXT_headless_surface 1
10539 #define VK_EXT_HEADLESS_SURFACE_SPEC_VERSION 1
10540 #define VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME "VK_EXT_headless_surface"
10541 typedef VkFlags VkHeadlessSurfaceCreateFlagsEXT;
10542 typedef struct VkHeadlessSurfaceCreateInfoEXT {
10543 VkStructureType sType;
10545 VkHeadlessSurfaceCreateFlagsEXT flags;
10546 } VkHeadlessSurfaceCreateInfoEXT;
10548 typedef VkResult (VKAPI_PTR *PFN_vkCreateHeadlessSurfaceEXT)(VkInstance instance, const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
10550 #ifndef VK_NO_PROTOTYPES
10551 VKAPI_ATTR VkResult VKAPI_CALL vkCreateHeadlessSurfaceEXT(
10552 VkInstance instance,
10553 const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo,
10554 const VkAllocationCallbacks* pAllocator,
10555 VkSurfaceKHR* pSurface);
10559 #define VK_EXT_line_rasterization 1
10560 #define VK_EXT_LINE_RASTERIZATION_SPEC_VERSION 1
10561 #define VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME "VK_EXT_line_rasterization"
10563 typedef enum VkLineRasterizationModeEXT {
10564 VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT = 0,
10565 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT = 1,
10566 VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT = 2,
10567 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT = 3,
10568 VK_LINE_RASTERIZATION_MODE_BEGIN_RANGE_EXT = VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT,
10569 VK_LINE_RASTERIZATION_MODE_END_RANGE_EXT = VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT,
10570 VK_LINE_RASTERIZATION_MODE_RANGE_SIZE_EXT = (VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT - VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT + 1),
10571 VK_LINE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
10572 } VkLineRasterizationModeEXT;
10573 typedef struct VkPhysicalDeviceLineRasterizationFeaturesEXT {
10574 VkStructureType sType;
10576 VkBool32 rectangularLines;
10577 VkBool32 bresenhamLines;
10578 VkBool32 smoothLines;
10579 VkBool32 stippledRectangularLines;
10580 VkBool32 stippledBresenhamLines;
10581 VkBool32 stippledSmoothLines;
10582 } VkPhysicalDeviceLineRasterizationFeaturesEXT;
10584 typedef struct VkPhysicalDeviceLineRasterizationPropertiesEXT {
10585 VkStructureType sType;
10587 uint32_t lineSubPixelPrecisionBits;
10588 } VkPhysicalDeviceLineRasterizationPropertiesEXT;
10590 typedef struct VkPipelineRasterizationLineStateCreateInfoEXT {
10591 VkStructureType sType;
10593 VkLineRasterizationModeEXT lineRasterizationMode;
10594 VkBool32 stippledLineEnable;
10595 uint32_t lineStippleFactor;
10596 uint16_t lineStipplePattern;
10597 } VkPipelineRasterizationLineStateCreateInfoEXT;
10599 typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleEXT)(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern);
10601 #ifndef VK_NO_PROTOTYPES
10602 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleEXT(
10603 VkCommandBuffer commandBuffer,
10604 uint32_t lineStippleFactor,
10605 uint16_t lineStipplePattern);
10609 #define VK_EXT_host_query_reset 1
10610 #define VK_EXT_HOST_QUERY_RESET_SPEC_VERSION 1
10611 #define VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME "VK_EXT_host_query_reset"
10612 typedef VkPhysicalDeviceHostQueryResetFeatures VkPhysicalDeviceHostQueryResetFeaturesEXT;
10614 typedef void (VKAPI_PTR *PFN_vkResetQueryPoolEXT)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount);
10616 #ifndef VK_NO_PROTOTYPES
10617 VKAPI_ATTR void VKAPI_CALL vkResetQueryPoolEXT(
10619 VkQueryPool queryPool,
10620 uint32_t firstQuery,
10621 uint32_t queryCount);
10625 #define VK_EXT_index_type_uint8 1
10626 #define VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION 1
10627 #define VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_EXT_index_type_uint8"
10628 typedef struct VkPhysicalDeviceIndexTypeUint8FeaturesEXT {
10629 VkStructureType sType;
10631 VkBool32 indexTypeUint8;
10632 } VkPhysicalDeviceIndexTypeUint8FeaturesEXT;
10636 #define VK_EXT_shader_demote_to_helper_invocation 1
10637 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION 1
10638 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME "VK_EXT_shader_demote_to_helper_invocation"
10639 typedef struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT {
10640 VkStructureType sType;
10642 VkBool32 shaderDemoteToHelperInvocation;
10643 } VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT;
10647 #define VK_EXT_texel_buffer_alignment 1
10648 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION 1
10649 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME "VK_EXT_texel_buffer_alignment"
10650 typedef struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT {
10651 VkStructureType sType;
10653 VkBool32 texelBufferAlignment;
10654 } VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT;
10656 typedef struct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT {
10657 VkStructureType sType;
10659 VkDeviceSize storageTexelBufferOffsetAlignmentBytes;
10660 VkBool32 storageTexelBufferOffsetSingleTexelAlignment;
10661 VkDeviceSize uniformTexelBufferOffsetAlignmentBytes;
10662 VkBool32 uniformTexelBufferOffsetSingleTexelAlignment;
10663 } VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT;
10667 #define VK_GOOGLE_user_type 1
10668 #define VK_GOOGLE_USER_TYPE_SPEC_VERSION 1
10669 #define VK_GOOGLE_USER_TYPE_EXTENSION_NAME "VK_GOOGLE_user_type"