1 /* WARNING: This is auto-generated file. Do not modify, since changes will
2 * be lost! Modify the generating script instead.
5 #define VULKAN_CORE_H_ 1
8 ** Copyright 2015-2021 The Khronos Group Inc.
10 ** SPDX-License-Identifier: Apache-2.0
14 ** This header is generated from the Khronos Vulkan XML API Registry.
25 #define VK_VERSION_1_0 1
28 #define VK_DEFINE_HANDLE(object) typedef struct object##_T* object;
31 #ifndef VK_USE_64_BIT_PTR_DEFINES
32 #if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__)
33 #define VK_USE_64_BIT_PTR_DEFINES 1
35 #define VK_USE_64_BIT_PTR_DEFINES 0
40 #ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE
41 #if (VK_USE_64_BIT_PTR_DEFINES==1)
42 #if __cplusplus >= 201103L
43 #define VK_NULL_HANDLE nullptr
45 #define VK_NULL_HANDLE 0
48 #define VK_NULL_HANDLE 0ULL
51 #ifndef VK_NULL_HANDLE
52 #define VK_NULL_HANDLE 0
56 #ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE
57 #if (VK_USE_64_BIT_PTR_DEFINES==1)
58 #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object;
60 #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef deUint64 object;
64 // DEPRECATED: This define is deprecated. VK_MAKE_API_VERSION should be used instead.
65 #define VK_MAKE_VERSION(major, minor, patch) \
66 ((((deUint32)(major)) << 22) | (((deUint32)(minor)) << 12) | ((deUint32)(patch)))
68 // 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.
69 //#define VK_API_VERSION VK_MAKE_VERSION(1, 0, 0) // Patch version should always be set to 0
71 #define VK_MAKE_API_VERSION(variant, major, minor, patch) \
72 ((((deUint32)(variant)) << 29) | (((deUint32)(major)) << 22) | (((deUint32)(minor)) << 12) | ((deUint32)(patch)))
74 // Vulkan 1.0 version number
75 #define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0
77 // Version of this file
78 #define VK_HEADER_VERSION 175
80 // Complete version of this file
81 #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 2, VK_HEADER_VERSION)
83 // DEPRECATED: This define is deprecated. VK_API_VERSION_MAJOR should be used instead.
84 #define VK_VERSION_MAJOR(version) ((deUint32)(version) >> 22)
86 // DEPRECATED: This define is deprecated. VK_API_VERSION_MINOR should be used instead.
87 #define VK_VERSION_MINOR(version) (((deUint32)(version) >> 12) & 0x3FFU)
89 // DEPRECATED: This define is deprecated. VK_API_VERSION_PATCH should be used instead.
90 #define VK_VERSION_PATCH(version) ((deUint32)(version) & 0xFFFU)
92 #define VK_API_VERSION_VARIANT(version) ((deUint32)(version) >> 29)
93 #define VK_API_VERSION_MAJOR(version) (((deUint32)(version) >> 22) & 0x7FU)
94 #define VK_API_VERSION_MINOR(version) (((deUint32)(version) >> 12) & 0x3FFU)
95 #define VK_API_VERSION_PATCH(version) ((deUint32)(version) & 0xFFFU)
96 typedef deUint32 VkBool32;
97 typedef deUint64 VkDeviceAddress;
98 typedef deUint64 VkDeviceSize;
99 typedef deUint32 VkFlags;
100 typedef deUint32 VkSampleMask;
101 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer)
102 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage)
103 VK_DEFINE_HANDLE(VkInstance)
104 VK_DEFINE_HANDLE(VkPhysicalDevice)
105 VK_DEFINE_HANDLE(VkDevice)
106 VK_DEFINE_HANDLE(VkQueue)
107 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphore)
108 VK_DEFINE_HANDLE(VkCommandBuffer)
109 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFence)
110 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeviceMemory)
111 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkEvent)
112 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkQueryPool)
113 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferView)
114 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImageView)
115 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderModule)
116 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache)
117 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineLayout)
118 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipeline)
119 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass)
120 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout)
121 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSampler)
122 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSet)
123 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool)
124 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer)
125 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool)
126 #define VK_ATTACHMENT_UNUSED (~0U)
128 #define VK_LOD_CLAMP_NONE 1000.0F
129 #define VK_QUEUE_FAMILY_IGNORED (~0U)
130 #define VK_REMAINING_ARRAY_LAYERS (~0U)
131 #define VK_REMAINING_MIP_LEVELS (~0U)
132 #define VK_SUBPASS_EXTERNAL (~0U)
134 #define VK_WHOLE_SIZE (~0ULL)
135 #define VK_MAX_MEMORY_TYPES 32U
136 #define VK_MAX_MEMORY_HEAPS 16U
137 #define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE 256U
138 #define VK_UUID_SIZE 16U
139 #define VK_MAX_EXTENSION_NAME_SIZE 256U
140 #define VK_MAX_DESCRIPTION_SIZE 256U
142 typedef enum VkResult {
149 VK_ERROR_OUT_OF_HOST_MEMORY = -1,
150 VK_ERROR_OUT_OF_DEVICE_MEMORY = -2,
151 VK_ERROR_INITIALIZATION_FAILED = -3,
152 VK_ERROR_DEVICE_LOST = -4,
153 VK_ERROR_MEMORY_MAP_FAILED = -5,
154 VK_ERROR_LAYER_NOT_PRESENT = -6,
155 VK_ERROR_EXTENSION_NOT_PRESENT = -7,
156 VK_ERROR_FEATURE_NOT_PRESENT = -8,
157 VK_ERROR_INCOMPATIBLE_DRIVER = -9,
158 VK_ERROR_TOO_MANY_OBJECTS = -10,
159 VK_ERROR_FORMAT_NOT_SUPPORTED = -11,
160 VK_ERROR_FRAGMENTED_POOL = -12,
161 VK_ERROR_UNKNOWN = -13,
162 VK_ERROR_OUT_OF_POOL_MEMORY = -1000069000,
163 VK_ERROR_INVALID_EXTERNAL_HANDLE = -1000072003,
164 VK_ERROR_FRAGMENTATION = -1000161000,
165 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS = -1000257000,
166 VK_ERROR_SURFACE_LOST_KHR = -1000000000,
167 VK_ERROR_NATIVE_WINDOW_IN_USE_KHR = -1000000001,
168 VK_SUBOPTIMAL_KHR = 1000001003,
169 VK_ERROR_OUT_OF_DATE_KHR = -1000001004,
170 VK_ERROR_INCOMPATIBLE_DISPLAY_KHR = -1000003001,
171 VK_ERROR_VALIDATION_FAILED_EXT = -1000011001,
172 VK_ERROR_INVALID_SHADER_NV = -1000012000,
173 VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT = -1000158000,
174 VK_ERROR_NOT_PERMITTED_EXT = -1000174001,
175 VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT = -1000255000,
176 VK_THREAD_IDLE_KHR = 1000268000,
177 VK_THREAD_DONE_KHR = 1000268001,
178 VK_OPERATION_DEFERRED_KHR = 1000268002,
179 VK_OPERATION_NOT_DEFERRED_KHR = 1000268003,
180 VK_PIPELINE_COMPILE_REQUIRED_EXT = 1000297000,
181 VK_ERROR_OUT_OF_POOL_MEMORY_KHR = VK_ERROR_OUT_OF_POOL_MEMORY,
182 VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = VK_ERROR_INVALID_EXTERNAL_HANDLE,
183 VK_ERROR_FRAGMENTATION_EXT = VK_ERROR_FRAGMENTATION,
184 VK_ERROR_INVALID_DEVICE_ADDRESS_EXT = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS,
185 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS,
186 VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT = VK_PIPELINE_COMPILE_REQUIRED_EXT,
187 VK_RESULT_MAX_ENUM = 0x7FFFFFFF
190 typedef enum VkStructureType {
191 VK_STRUCTURE_TYPE_APPLICATION_INFO = 0,
192 VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = 1,
193 VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO = 2,
194 VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO = 3,
195 VK_STRUCTURE_TYPE_SUBMIT_INFO = 4,
196 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO = 5,
197 VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = 6,
198 VK_STRUCTURE_TYPE_BIND_SPARSE_INFO = 7,
199 VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = 8,
200 VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO = 9,
201 VK_STRUCTURE_TYPE_EVENT_CREATE_INFO = 10,
202 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO = 11,
203 VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = 12,
204 VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO = 13,
205 VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = 14,
206 VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO = 15,
207 VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO = 16,
208 VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO = 17,
209 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO = 18,
210 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO = 19,
211 VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO = 20,
212 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO = 21,
213 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO = 22,
214 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO = 23,
215 VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO = 24,
216 VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO = 25,
217 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO = 26,
218 VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO = 27,
219 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO = 28,
220 VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO = 29,
221 VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO = 30,
222 VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO = 31,
223 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO = 32,
224 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO = 33,
225 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO = 34,
226 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = 35,
227 VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = 36,
228 VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO = 37,
229 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO = 38,
230 VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO = 39,
231 VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO = 40,
232 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO = 41,
233 VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO = 42,
234 VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = 43,
235 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER = 44,
236 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = 45,
237 VK_STRUCTURE_TYPE_MEMORY_BARRIER = 46,
238 VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO = 47,
239 VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO = 48,
240 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES = 1000094000,
241 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO = 1000157000,
242 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO = 1000157001,
243 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES = 1000083000,
244 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS = 1000127000,
245 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO = 1000127001,
246 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO = 1000060000,
247 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO = 1000060003,
248 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO = 1000060004,
249 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO = 1000060005,
250 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO = 1000060006,
251 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO = 1000060013,
252 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO = 1000060014,
253 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES = 1000070000,
254 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO = 1000070001,
255 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 = 1000146000,
256 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 = 1000146001,
257 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 = 1000146002,
258 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 = 1000146003,
259 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 = 1000146004,
260 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 = 1000059000,
261 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 = 1000059001,
262 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 = 1000059002,
263 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 = 1000059003,
264 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 = 1000059004,
265 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 = 1000059005,
266 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 = 1000059006,
267 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 = 1000059007,
268 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 = 1000059008,
269 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES = 1000117000,
270 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO = 1000117001,
271 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO = 1000117002,
272 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO = 1000117003,
273 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO = 1000053000,
274 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES = 1000053001,
275 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES = 1000053002,
276 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES = 1000120000,
277 VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO = 1000145000,
278 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES = 1000145001,
279 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES = 1000145002,
280 VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 = 1000145003,
281 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO = 1000156000,
282 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO = 1000156001,
283 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO = 1000156002,
284 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO = 1000156003,
285 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES = 1000156004,
286 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES = 1000156005,
287 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO = 1000085000,
288 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO = 1000071000,
289 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES = 1000071001,
290 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO = 1000071002,
291 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES = 1000071003,
292 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES = 1000071004,
293 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO = 1000072000,
294 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO = 1000072001,
295 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO = 1000072002,
296 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO = 1000112000,
297 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES = 1000112001,
298 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO = 1000113000,
299 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO = 1000077000,
300 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO = 1000076000,
301 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES = 1000076001,
302 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES = 1000168000,
303 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT = 1000168001,
304 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES = 1000063000,
305 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES = 49,
306 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES = 50,
307 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES = 51,
308 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES = 52,
309 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO = 1000147000,
310 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 = 1000109000,
311 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 = 1000109001,
312 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 = 1000109002,
313 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 = 1000109003,
314 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 = 1000109004,
315 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO = 1000109005,
316 VK_STRUCTURE_TYPE_SUBPASS_END_INFO = 1000109006,
317 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES = 1000177000,
318 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES = 1000196000,
319 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES = 1000180000,
320 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES = 1000082000,
321 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES = 1000197000,
322 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO = 1000161000,
323 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES = 1000161001,
324 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES = 1000161002,
325 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO = 1000161003,
326 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT = 1000161004,
327 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES = 1000199000,
328 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE = 1000199001,
329 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES = 1000221000,
330 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO = 1000246000,
331 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES = 1000130000,
332 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO = 1000130001,
333 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES = 1000211000,
334 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES = 1000108000,
335 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO = 1000108001,
336 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO = 1000108002,
337 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO = 1000108003,
338 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES = 1000253000,
339 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES = 1000175000,
340 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES = 1000241000,
341 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT = 1000241001,
342 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT = 1000241002,
343 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES = 1000261000,
344 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES = 1000207000,
345 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES = 1000207001,
346 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO = 1000207002,
347 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO = 1000207003,
348 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO = 1000207004,
349 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO = 1000207005,
350 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES = 1000257000,
351 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO = 1000244001,
352 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO = 1000257002,
353 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO = 1000257003,
354 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO = 1000257004,
355 VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR = 1000001000,
356 VK_STRUCTURE_TYPE_PRESENT_INFO_KHR = 1000001001,
357 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR = 1000060007,
358 VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR = 1000060008,
359 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR = 1000060009,
360 VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR = 1000060010,
361 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR = 1000060011,
362 VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR = 1000060012,
363 VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR = 1000002000,
364 VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR = 1000002001,
365 VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR = 1000003000,
366 VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR = 1000004000,
367 VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR = 1000005000,
368 VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR = 1000006000,
369 VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR = 1000008000,
370 VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR = 1000009000,
371 VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT = 1000011000,
372 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD = 1000018000,
373 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT = 1000022000,
374 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT = 1000022001,
375 VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT = 1000022002,
376 #ifdef VK_ENABLE_BETA_EXTENSIONS
377 VK_STRUCTURE_TYPE_VIDEO_PROFILE_KHR = 1000023000,
379 #ifdef VK_ENABLE_BETA_EXTENSIONS
380 VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR = 1000023001,
382 #ifdef VK_ENABLE_BETA_EXTENSIONS
383 VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_KHR = 1000023002,
385 #ifdef VK_ENABLE_BETA_EXTENSIONS
386 VK_STRUCTURE_TYPE_VIDEO_GET_MEMORY_PROPERTIES_KHR = 1000023003,
388 #ifdef VK_ENABLE_BETA_EXTENSIONS
389 VK_STRUCTURE_TYPE_VIDEO_BIND_MEMORY_KHR = 1000023004,
391 #ifdef VK_ENABLE_BETA_EXTENSIONS
392 VK_STRUCTURE_TYPE_VIDEO_SESSION_CREATE_INFO_KHR = 1000023005,
394 #ifdef VK_ENABLE_BETA_EXTENSIONS
395 VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000023006,
397 #ifdef VK_ENABLE_BETA_EXTENSIONS
398 VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR = 1000023007,
400 #ifdef VK_ENABLE_BETA_EXTENSIONS
401 VK_STRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHR = 1000023008,
403 #ifdef VK_ENABLE_BETA_EXTENSIONS
404 VK_STRUCTURE_TYPE_VIDEO_END_CODING_INFO_KHR = 1000023009,
406 #ifdef VK_ENABLE_BETA_EXTENSIONS
407 VK_STRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHR = 1000023010,
409 #ifdef VK_ENABLE_BETA_EXTENSIONS
410 VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_KHR = 1000023011,
412 #ifdef VK_ENABLE_BETA_EXTENSIONS
413 VK_STRUCTURE_TYPE_VIDEO_QUEUE_FAMILY_PROPERTIES_2_KHR = 1000023012,
415 #ifdef VK_ENABLE_BETA_EXTENSIONS
416 VK_STRUCTURE_TYPE_VIDEO_PROFILES_KHR = 1000023013,
418 #ifdef VK_ENABLE_BETA_EXTENSIONS
419 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR = 1000023014,
421 #ifdef VK_ENABLE_BETA_EXTENSIONS
422 VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR = 1000023015,
424 #ifdef VK_ENABLE_BETA_EXTENSIONS
425 VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR = 1000024000,
427 #ifdef VK_ENABLE_BETA_EXTENSIONS
428 VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR = 1000299000,
430 #ifdef VK_ENABLE_BETA_EXTENSIONS
431 VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR = 1000299001,
433 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000,
434 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001,
435 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV = 1000026002,
436 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT = 1000028000,
437 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT = 1000028001,
438 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT = 1000028002,
439 VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX = 1000030000,
440 VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX = 1000030001,
441 #ifdef VK_ENABLE_BETA_EXTENSIONS
442 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT = 1000038000,
444 #ifdef VK_ENABLE_BETA_EXTENSIONS
445 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_EXT = 1000038001,
447 #ifdef VK_ENABLE_BETA_EXTENSIONS
448 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000038002,
450 #ifdef VK_ENABLE_BETA_EXTENSIONS
451 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT = 1000038003,
453 #ifdef VK_ENABLE_BETA_EXTENSIONS
454 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT = 1000038004,
456 #ifdef VK_ENABLE_BETA_EXTENSIONS
457 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT = 1000038005,
459 #ifdef VK_ENABLE_BETA_EXTENSIONS
460 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_EXT = 1000038006,
462 #ifdef VK_ENABLE_BETA_EXTENSIONS
463 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_EXT = 1000038007,
465 #ifdef VK_ENABLE_BETA_EXTENSIONS
466 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_EXT = 1000038008,
468 #ifdef VK_ENABLE_BETA_EXTENSIONS
469 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_EXT = 1000040000,
471 #ifdef VK_ENABLE_BETA_EXTENSIONS
472 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_CREATE_INFO_EXT = 1000040001,
474 #ifdef VK_ENABLE_BETA_EXTENSIONS
475 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_EXT = 1000040002,
477 #ifdef VK_ENABLE_BETA_EXTENSIONS
478 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_MVC_EXT = 1000040003,
480 #ifdef VK_ENABLE_BETA_EXTENSIONS
481 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_EXT = 1000040004,
483 #ifdef VK_ENABLE_BETA_EXTENSIONS
484 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000040005,
486 #ifdef VK_ENABLE_BETA_EXTENSIONS
487 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT = 1000040006,
489 #ifdef VK_ENABLE_BETA_EXTENSIONS
490 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT = 1000040007,
492 VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000,
493 VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP = 1000049000,
494 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV = 1000050000,
495 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = 1000056000,
496 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV = 1000056001,
497 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057000,
498 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057001,
499 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV = 1000058000,
500 VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT = 1000061000,
501 VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN = 1000062000,
502 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT = 1000066000,
503 VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT = 1000067000,
504 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT = 1000067001,
505 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073000,
506 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073001,
507 VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR = 1000073002,
508 VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR = 1000073003,
509 VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR = 1000074000,
510 VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR = 1000074001,
511 VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR = 1000074002,
512 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR = 1000075000,
513 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078000,
514 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078001,
515 VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR = 1000078002,
516 VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR = 1000078003,
517 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR = 1000079000,
518 VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR = 1000079001,
519 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR = 1000080000,
520 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT = 1000081000,
521 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT = 1000081001,
522 VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT = 1000081002,
523 VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR = 1000084000,
524 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV = 1000087000,
525 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT = 1000090000,
526 VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT = 1000091000,
527 VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT = 1000091001,
528 VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT = 1000091002,
529 VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT = 1000091003,
530 VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE = 1000092000,
531 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX = 1000097000,
532 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV = 1000098000,
533 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT = 1000099000,
534 VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT = 1000099001,
535 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT = 1000101000,
536 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT = 1000101001,
537 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT = 1000102000,
538 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT = 1000102001,
539 VK_STRUCTURE_TYPE_HDR_METADATA_EXT = 1000105000,
540 VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR = 1000111000,
541 VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114000,
542 VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114001,
543 VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR = 1000114002,
544 VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR = 1000115000,
545 VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR = 1000115001,
546 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR = 1000116000,
547 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR = 1000116001,
548 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR = 1000116002,
549 VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR = 1000116003,
550 VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR = 1000116004,
551 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR = 1000116005,
552 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR = 1000116006,
553 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR = 1000119000,
554 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR = 1000119001,
555 VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR = 1000119002,
556 VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR = 1000121000,
557 VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR = 1000121001,
558 VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR = 1000121002,
559 VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR = 1000121003,
560 VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR = 1000121004,
561 VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK = 1000122000,
562 VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK = 1000123000,
563 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT = 1000128000,
564 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT = 1000128001,
565 VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT = 1000128002,
566 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT = 1000128003,
567 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT = 1000128004,
568 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID = 1000129000,
569 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID = 1000129001,
570 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID = 1000129002,
571 VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129003,
572 VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129004,
573 VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID = 1000129005,
574 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT = 1000138000,
575 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT = 1000138001,
576 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT = 1000138002,
577 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT = 1000138003,
578 VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT = 1000143000,
579 VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT = 1000143001,
580 VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT = 1000143002,
581 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT = 1000143003,
582 VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT = 1000143004,
583 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT = 1000148000,
584 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT = 1000148001,
585 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT = 1000148002,
586 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV = 1000149000,
587 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR = 1000150007,
588 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR = 1000150000,
589 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR = 1000150002,
590 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR = 1000150003,
591 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR = 1000150004,
592 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR = 1000150005,
593 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR = 1000150006,
594 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR = 1000150009,
595 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR = 1000150010,
596 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR = 1000150011,
597 VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR = 1000150012,
598 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR = 1000150013,
599 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR = 1000150014,
600 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR = 1000150017,
601 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR = 1000150020,
602 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR = 1000347000,
603 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR = 1000347001,
604 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR = 1000150015,
605 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR = 1000150016,
606 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR = 1000150018,
607 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR = 1000348013,
608 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV = 1000152000,
609 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV = 1000154000,
610 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV = 1000154001,
611 VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT = 1000158000,
612 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT = 1000158002,
613 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT = 1000158003,
614 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT = 1000158004,
615 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT = 1000158005,
616 VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160000,
617 VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160001,
618 #ifdef VK_ENABLE_BETA_EXTENSIONS
619 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR = 1000163000,
621 #ifdef VK_ENABLE_BETA_EXTENSIONS
622 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR = 1000163001,
624 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV = 1000164000,
625 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV = 1000164001,
626 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV = 1000164002,
627 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV = 1000164005,
628 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV = 1000165000,
629 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV = 1000165001,
630 VK_STRUCTURE_TYPE_GEOMETRY_NV = 1000165003,
631 VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV = 1000165004,
632 VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV = 1000165005,
633 VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV = 1000165006,
634 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV = 1000165007,
635 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV = 1000165008,
636 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV = 1000165009,
637 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV = 1000165011,
638 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV = 1000165012,
639 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV = 1000166000,
640 VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV = 1000166001,
641 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT = 1000170000,
642 VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT = 1000170001,
643 VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = 1000174000,
644 VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT = 1000178000,
645 VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT = 1000178001,
646 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT = 1000178002,
647 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR = 1000181000,
648 VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD = 1000183000,
649 VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT = 1000184000,
650 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD = 1000185000,
651 #ifdef VK_ENABLE_BETA_EXTENSIONS
652 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_EXT = 1000187000,
654 #ifdef VK_ENABLE_BETA_EXTENSIONS
655 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_CREATE_INFO_EXT = 1000187001,
657 #ifdef VK_ENABLE_BETA_EXTENSIONS
658 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000187002,
660 #ifdef VK_ENABLE_BETA_EXTENSIONS
661 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT = 1000187003,
663 #ifdef VK_ENABLE_BETA_EXTENSIONS
664 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_EXT = 1000187004,
666 #ifdef VK_ENABLE_BETA_EXTENSIONS
667 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_EXT = 1000187005,
669 #ifdef VK_ENABLE_BETA_EXTENSIONS
670 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_EXT = 1000187006,
672 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD = 1000189000,
673 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT = 1000190000,
674 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT = 1000190001,
675 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT = 1000190002,
676 VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP = 1000191000,
677 VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT = 1000192000,
678 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV = 1000201000,
679 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV = 1000202000,
680 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV = 1000202001,
681 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV = 1000203000,
682 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV = 1000204000,
683 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV = 1000205000,
684 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV = 1000205002,
685 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV = 1000206000,
686 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV = 1000206001,
687 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL = 1000209000,
688 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL = 1000210000,
689 VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL = 1000210001,
690 VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL = 1000210002,
691 VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL = 1000210003,
692 VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL = 1000210004,
693 VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL = 1000210005,
694 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT = 1000212000,
695 VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD = 1000213000,
696 VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD = 1000213001,
697 VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA = 1000214000,
698 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR = 1000215000,
699 VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT = 1000217000,
700 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT = 1000218000,
701 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT = 1000218001,
702 VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT = 1000218002,
703 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT = 1000225000,
704 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = 1000225001,
705 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT = 1000225002,
706 VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000226000,
707 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR = 1000226001,
708 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR = 1000226002,
709 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR = 1000226003,
710 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR = 1000226004,
711 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD = 1000227000,
712 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD = 1000229000,
713 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT = 1000234000,
714 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT = 1000237000,
715 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT = 1000238000,
716 VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT = 1000238001,
717 VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR = 1000239000,
718 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV = 1000240000,
719 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT = 1000244000,
720 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT = 1000244002,
721 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT = 1000245000,
722 VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT = 1000247000,
723 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV = 1000249000,
724 VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249001,
725 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249002,
726 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV = 1000250000,
727 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV = 1000250001,
728 VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV = 1000250002,
729 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT = 1000251000,
730 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT = 1000252000,
731 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT = 1000255000,
732 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT = 1000255002,
733 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT = 1000255001,
734 VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT = 1000256000,
735 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT = 1000259000,
736 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT = 1000259001,
737 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT = 1000259002,
738 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT = 1000260000,
739 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT = 1000265000,
740 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT = 1000267000,
741 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR = 1000269000,
742 VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR = 1000269001,
743 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR = 1000269002,
744 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR = 1000269003,
745 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR = 1000269004,
746 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR = 1000269005,
747 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = 1000276000,
748 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV = 1000277000,
749 VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV = 1000277001,
750 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV = 1000277002,
751 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV = 1000277003,
752 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV = 1000277004,
753 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV = 1000277005,
754 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV = 1000277006,
755 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV = 1000277007,
756 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV = 1000278000,
757 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV = 1000278001,
758 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT = 1000281000,
759 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT = 1000281001,
760 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM = 1000282000,
761 VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM = 1000282001,
762 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT = 1000284000,
763 VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT = 1000284001,
764 VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT = 1000284002,
765 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT = 1000286000,
766 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT = 1000286001,
767 VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT = 1000287000,
768 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT = 1000287001,
769 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT = 1000287002,
770 VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR = 1000290000,
771 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT = 1000295000,
772 VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT = 1000295001,
773 VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT = 1000295002,
774 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT = 1000297000,
775 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV = 1000300000,
776 VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV = 1000300001,
777 VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR = 1000314000,
778 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR = 1000314001,
779 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR = 1000314002,
780 VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR = 1000314003,
781 VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR = 1000314004,
782 VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR = 1000314005,
783 VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR = 1000314006,
784 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR = 1000314007,
785 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV = 1000314008,
786 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV = 1000314009,
787 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = 1000325000,
788 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV = 1000326000,
789 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV = 1000326001,
790 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV = 1000326002,
791 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT = 1000330000,
792 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT = 1000332000,
793 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT = 1000332001,
794 VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM = 1000333000,
795 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT = 1000335000,
796 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR = 1000336000,
797 VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR = 1000337000,
798 VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR = 1000337001,
799 VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR = 1000337002,
800 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR = 1000337003,
801 VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR = 1000337004,
802 VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR = 1000337005,
803 VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR = 1000337006,
804 VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR = 1000337007,
805 VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR = 1000337008,
806 VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR = 1000337009,
807 VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR = 1000337010,
808 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT = 1000340000,
809 VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT = 1000346000,
810 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE = 1000351000,
811 VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE = 1000351002,
812 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT = 1000352000,
813 VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT = 1000352001,
814 VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT = 1000352002,
815 VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364000,
816 VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA = 1000364001,
817 VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364002,
818 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365000,
819 VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365001,
820 VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX = 1000378000,
821 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT = 1000381000,
822 VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT = 1000381001,
823 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
824 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
825 VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
826 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO,
827 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES,
828 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,
829 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2,
830 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2,
831 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2,
832 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2,
833 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2,
834 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2,
835 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2,
836 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2,
837 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2,
838 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO,
839 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO,
840 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO,
841 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO,
842 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO,
843 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO,
844 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO,
845 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES,
846 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO,
847 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO,
848 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES,
849 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO,
850 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES,
851 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES,
852 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO,
853 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO,
854 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO,
855 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO,
856 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES,
857 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO,
858 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
859 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
860 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES,
861 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO,
862 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT,
863 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES,
864 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO,
865 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO,
866 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO,
867 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2,
868 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2,
869 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2,
870 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2,
871 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2,
872 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO,
873 VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_END_INFO,
874 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO,
875 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES,
876 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO,
877 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES,
878 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO,
879 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO,
880 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO,
881 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
882 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR,
883 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS,
884 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO,
885 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES,
886 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO,
887 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2,
888 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2,
889 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2,
890 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2,
891 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2,
892 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO,
893 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO,
894 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO,
895 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO,
896 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO,
897 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,
898 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,
899 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO,
900 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO,
901 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO,
902 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES,
903 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES,
904 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO,
905 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT,
906 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,
907 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT,
908 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES,
909 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES,
910 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES,
911 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES,
912 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES,
913 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES,
914 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE,
915 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES,
916 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES,
917 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO,
918 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO,
919 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO,
920 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO,
921 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL = VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL,
922 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES,
923 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES,
924 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES,
925 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT,
926 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT,
927 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT,
928 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
929 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO,
930 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES,
931 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES,
932 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
933 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO,
934 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO,
935 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO,
936 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES,
937 VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF
940 typedef enum VkImageLayout {
941 VK_IMAGE_LAYOUT_UNDEFINED = 0,
942 VK_IMAGE_LAYOUT_GENERAL = 1,
943 VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2,
944 VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3,
945 VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4,
946 VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5,
947 VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6,
948 VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7,
949 VK_IMAGE_LAYOUT_PREINITIALIZED = 8,
950 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL = 1000117000,
951 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL = 1000117001,
952 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL = 1000241000,
953 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL = 1000241001,
954 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL = 1000241002,
955 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL = 1000241003,
956 VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002,
957 #ifdef VK_ENABLE_BETA_EXTENSIONS
958 VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR = 1000024000,
960 #ifdef VK_ENABLE_BETA_EXTENSIONS
961 VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR = 1000024001,
963 #ifdef VK_ENABLE_BETA_EXTENSIONS
964 VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR = 1000024002,
966 #ifdef VK_ENABLE_BETA_EXTENSIONS
967 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR = 1000299000,
969 #ifdef VK_ENABLE_BETA_EXTENSIONS
970 VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR = 1000299001,
972 #ifdef VK_ENABLE_BETA_EXTENSIONS
973 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR = 1000299002,
975 VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR = 1000111000,
976 VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = 1000164003,
977 VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000,
978 VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = 1000314000,
979 VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = 1000314001,
980 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,
981 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,
982 VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV,
983 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
984 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
985 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL,
986 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL,
987 VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF
990 typedef enum VkObjectType {
991 VK_OBJECT_TYPE_UNKNOWN = 0,
992 VK_OBJECT_TYPE_INSTANCE = 1,
993 VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2,
994 VK_OBJECT_TYPE_DEVICE = 3,
995 VK_OBJECT_TYPE_QUEUE = 4,
996 VK_OBJECT_TYPE_SEMAPHORE = 5,
997 VK_OBJECT_TYPE_COMMAND_BUFFER = 6,
998 VK_OBJECT_TYPE_FENCE = 7,
999 VK_OBJECT_TYPE_DEVICE_MEMORY = 8,
1000 VK_OBJECT_TYPE_BUFFER = 9,
1001 VK_OBJECT_TYPE_IMAGE = 10,
1002 VK_OBJECT_TYPE_EVENT = 11,
1003 VK_OBJECT_TYPE_QUERY_POOL = 12,
1004 VK_OBJECT_TYPE_BUFFER_VIEW = 13,
1005 VK_OBJECT_TYPE_IMAGE_VIEW = 14,
1006 VK_OBJECT_TYPE_SHADER_MODULE = 15,
1007 VK_OBJECT_TYPE_PIPELINE_CACHE = 16,
1008 VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17,
1009 VK_OBJECT_TYPE_RENDER_PASS = 18,
1010 VK_OBJECT_TYPE_PIPELINE = 19,
1011 VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20,
1012 VK_OBJECT_TYPE_SAMPLER = 21,
1013 VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22,
1014 VK_OBJECT_TYPE_DESCRIPTOR_SET = 23,
1015 VK_OBJECT_TYPE_FRAMEBUFFER = 24,
1016 VK_OBJECT_TYPE_COMMAND_POOL = 25,
1017 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION = 1000156000,
1018 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE = 1000085000,
1019 VK_OBJECT_TYPE_SURFACE_KHR = 1000000000,
1020 VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000,
1021 VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000,
1022 VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001,
1023 VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000,
1024 #ifdef VK_ENABLE_BETA_EXTENSIONS
1025 VK_OBJECT_TYPE_VIDEO_SESSION_KHR = 1000023000,
1027 #ifdef VK_ENABLE_BETA_EXTENSIONS
1028 VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR = 1000023001,
1030 VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000,
1031 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000,
1032 VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000,
1033 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000,
1034 VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL = 1000210000,
1035 VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR = 1000268000,
1036 VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV = 1000277000,
1037 VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = 1000295000,
1038 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,
1039 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,
1040 VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF
1043 typedef enum VkVendorId {
1044 VK_VENDOR_ID_VIV = 0x10001,
1045 VK_VENDOR_ID_VSI = 0x10002,
1046 VK_VENDOR_ID_KAZAN = 0x10003,
1047 VK_VENDOR_ID_CODEPLAY = 0x10004,
1048 VK_VENDOR_ID_MESA = 0x10005,
1049 VK_VENDOR_ID_POCL = 0x10006,
1050 VK_VENDOR_ID_MAX_ENUM = 0x7FFFFFFF
1053 typedef enum VkPipelineCacheHeaderVersion {
1054 VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1,
1055 VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF
1056 } VkPipelineCacheHeaderVersion;
1058 typedef enum VkSystemAllocationScope {
1059 VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0,
1060 VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1,
1061 VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2,
1062 VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3,
1063 VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4,
1064 VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = 0x7FFFFFFF
1065 } VkSystemAllocationScope;
1067 typedef enum VkInternalAllocationType {
1068 VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0,
1069 VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM = 0x7FFFFFFF
1070 } VkInternalAllocationType;
1072 typedef enum VkFormat {
1073 VK_FORMAT_UNDEFINED = 0,
1074 VK_FORMAT_R4G4_UNORM_PACK8 = 1,
1075 VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2,
1076 VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3,
1077 VK_FORMAT_R5G6B5_UNORM_PACK16 = 4,
1078 VK_FORMAT_B5G6R5_UNORM_PACK16 = 5,
1079 VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6,
1080 VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7,
1081 VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8,
1082 VK_FORMAT_R8_UNORM = 9,
1083 VK_FORMAT_R8_SNORM = 10,
1084 VK_FORMAT_R8_USCALED = 11,
1085 VK_FORMAT_R8_SSCALED = 12,
1086 VK_FORMAT_R8_UINT = 13,
1087 VK_FORMAT_R8_SINT = 14,
1088 VK_FORMAT_R8_SRGB = 15,
1089 VK_FORMAT_R8G8_UNORM = 16,
1090 VK_FORMAT_R8G8_SNORM = 17,
1091 VK_FORMAT_R8G8_USCALED = 18,
1092 VK_FORMAT_R8G8_SSCALED = 19,
1093 VK_FORMAT_R8G8_UINT = 20,
1094 VK_FORMAT_R8G8_SINT = 21,
1095 VK_FORMAT_R8G8_SRGB = 22,
1096 VK_FORMAT_R8G8B8_UNORM = 23,
1097 VK_FORMAT_R8G8B8_SNORM = 24,
1098 VK_FORMAT_R8G8B8_USCALED = 25,
1099 VK_FORMAT_R8G8B8_SSCALED = 26,
1100 VK_FORMAT_R8G8B8_UINT = 27,
1101 VK_FORMAT_R8G8B8_SINT = 28,
1102 VK_FORMAT_R8G8B8_SRGB = 29,
1103 VK_FORMAT_B8G8R8_UNORM = 30,
1104 VK_FORMAT_B8G8R8_SNORM = 31,
1105 VK_FORMAT_B8G8R8_USCALED = 32,
1106 VK_FORMAT_B8G8R8_SSCALED = 33,
1107 VK_FORMAT_B8G8R8_UINT = 34,
1108 VK_FORMAT_B8G8R8_SINT = 35,
1109 VK_FORMAT_B8G8R8_SRGB = 36,
1110 VK_FORMAT_R8G8B8A8_UNORM = 37,
1111 VK_FORMAT_R8G8B8A8_SNORM = 38,
1112 VK_FORMAT_R8G8B8A8_USCALED = 39,
1113 VK_FORMAT_R8G8B8A8_SSCALED = 40,
1114 VK_FORMAT_R8G8B8A8_UINT = 41,
1115 VK_FORMAT_R8G8B8A8_SINT = 42,
1116 VK_FORMAT_R8G8B8A8_SRGB = 43,
1117 VK_FORMAT_B8G8R8A8_UNORM = 44,
1118 VK_FORMAT_B8G8R8A8_SNORM = 45,
1119 VK_FORMAT_B8G8R8A8_USCALED = 46,
1120 VK_FORMAT_B8G8R8A8_SSCALED = 47,
1121 VK_FORMAT_B8G8R8A8_UINT = 48,
1122 VK_FORMAT_B8G8R8A8_SINT = 49,
1123 VK_FORMAT_B8G8R8A8_SRGB = 50,
1124 VK_FORMAT_A8B8G8R8_UNORM_PACK32 = 51,
1125 VK_FORMAT_A8B8G8R8_SNORM_PACK32 = 52,
1126 VK_FORMAT_A8B8G8R8_USCALED_PACK32 = 53,
1127 VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54,
1128 VK_FORMAT_A8B8G8R8_UINT_PACK32 = 55,
1129 VK_FORMAT_A8B8G8R8_SINT_PACK32 = 56,
1130 VK_FORMAT_A8B8G8R8_SRGB_PACK32 = 57,
1131 VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58,
1132 VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59,
1133 VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 60,
1134 VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61,
1135 VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62,
1136 VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63,
1137 VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64,
1138 VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65,
1139 VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 66,
1140 VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67,
1141 VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68,
1142 VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69,
1143 VK_FORMAT_R16_UNORM = 70,
1144 VK_FORMAT_R16_SNORM = 71,
1145 VK_FORMAT_R16_USCALED = 72,
1146 VK_FORMAT_R16_SSCALED = 73,
1147 VK_FORMAT_R16_UINT = 74,
1148 VK_FORMAT_R16_SINT = 75,
1149 VK_FORMAT_R16_SFLOAT = 76,
1150 VK_FORMAT_R16G16_UNORM = 77,
1151 VK_FORMAT_R16G16_SNORM = 78,
1152 VK_FORMAT_R16G16_USCALED = 79,
1153 VK_FORMAT_R16G16_SSCALED = 80,
1154 VK_FORMAT_R16G16_UINT = 81,
1155 VK_FORMAT_R16G16_SINT = 82,
1156 VK_FORMAT_R16G16_SFLOAT = 83,
1157 VK_FORMAT_R16G16B16_UNORM = 84,
1158 VK_FORMAT_R16G16B16_SNORM = 85,
1159 VK_FORMAT_R16G16B16_USCALED = 86,
1160 VK_FORMAT_R16G16B16_SSCALED = 87,
1161 VK_FORMAT_R16G16B16_UINT = 88,
1162 VK_FORMAT_R16G16B16_SINT = 89,
1163 VK_FORMAT_R16G16B16_SFLOAT = 90,
1164 VK_FORMAT_R16G16B16A16_UNORM = 91,
1165 VK_FORMAT_R16G16B16A16_SNORM = 92,
1166 VK_FORMAT_R16G16B16A16_USCALED = 93,
1167 VK_FORMAT_R16G16B16A16_SSCALED = 94,
1168 VK_FORMAT_R16G16B16A16_UINT = 95,
1169 VK_FORMAT_R16G16B16A16_SINT = 96,
1170 VK_FORMAT_R16G16B16A16_SFLOAT = 97,
1171 VK_FORMAT_R32_UINT = 98,
1172 VK_FORMAT_R32_SINT = 99,
1173 VK_FORMAT_R32_SFLOAT = 100,
1174 VK_FORMAT_R32G32_UINT = 101,
1175 VK_FORMAT_R32G32_SINT = 102,
1176 VK_FORMAT_R32G32_SFLOAT = 103,
1177 VK_FORMAT_R32G32B32_UINT = 104,
1178 VK_FORMAT_R32G32B32_SINT = 105,
1179 VK_FORMAT_R32G32B32_SFLOAT = 106,
1180 VK_FORMAT_R32G32B32A32_UINT = 107,
1181 VK_FORMAT_R32G32B32A32_SINT = 108,
1182 VK_FORMAT_R32G32B32A32_SFLOAT = 109,
1183 VK_FORMAT_R64_UINT = 110,
1184 VK_FORMAT_R64_SINT = 111,
1185 VK_FORMAT_R64_SFLOAT = 112,
1186 VK_FORMAT_R64G64_UINT = 113,
1187 VK_FORMAT_R64G64_SINT = 114,
1188 VK_FORMAT_R64G64_SFLOAT = 115,
1189 VK_FORMAT_R64G64B64_UINT = 116,
1190 VK_FORMAT_R64G64B64_SINT = 117,
1191 VK_FORMAT_R64G64B64_SFLOAT = 118,
1192 VK_FORMAT_R64G64B64A64_UINT = 119,
1193 VK_FORMAT_R64G64B64A64_SINT = 120,
1194 VK_FORMAT_R64G64B64A64_SFLOAT = 121,
1195 VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122,
1196 VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123,
1197 VK_FORMAT_D16_UNORM = 124,
1198 VK_FORMAT_X8_D24_UNORM_PACK32 = 125,
1199 VK_FORMAT_D32_SFLOAT = 126,
1200 VK_FORMAT_S8_UINT = 127,
1201 VK_FORMAT_D16_UNORM_S8_UINT = 128,
1202 VK_FORMAT_D24_UNORM_S8_UINT = 129,
1203 VK_FORMAT_D32_SFLOAT_S8_UINT = 130,
1204 VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131,
1205 VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132,
1206 VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133,
1207 VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134,
1208 VK_FORMAT_BC2_UNORM_BLOCK = 135,
1209 VK_FORMAT_BC2_SRGB_BLOCK = 136,
1210 VK_FORMAT_BC3_UNORM_BLOCK = 137,
1211 VK_FORMAT_BC3_SRGB_BLOCK = 138,
1212 VK_FORMAT_BC4_UNORM_BLOCK = 139,
1213 VK_FORMAT_BC4_SNORM_BLOCK = 140,
1214 VK_FORMAT_BC5_UNORM_BLOCK = 141,
1215 VK_FORMAT_BC5_SNORM_BLOCK = 142,
1216 VK_FORMAT_BC6H_UFLOAT_BLOCK = 143,
1217 VK_FORMAT_BC6H_SFLOAT_BLOCK = 144,
1218 VK_FORMAT_BC7_UNORM_BLOCK = 145,
1219 VK_FORMAT_BC7_SRGB_BLOCK = 146,
1220 VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147,
1221 VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148,
1222 VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149,
1223 VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150,
1224 VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151,
1225 VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152,
1226 VK_FORMAT_EAC_R11_UNORM_BLOCK = 153,
1227 VK_FORMAT_EAC_R11_SNORM_BLOCK = 154,
1228 VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155,
1229 VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156,
1230 VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157,
1231 VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158,
1232 VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159,
1233 VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160,
1234 VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161,
1235 VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162,
1236 VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163,
1237 VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164,
1238 VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165,
1239 VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166,
1240 VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167,
1241 VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168,
1242 VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169,
1243 VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170,
1244 VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171,
1245 VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172,
1246 VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173,
1247 VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174,
1248 VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175,
1249 VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176,
1250 VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177,
1251 VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178,
1252 VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179,
1253 VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180,
1254 VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181,
1255 VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182,
1256 VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183,
1257 VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184,
1258 VK_FORMAT_G8B8G8R8_422_UNORM = 1000156000,
1259 VK_FORMAT_B8G8R8G8_422_UNORM = 1000156001,
1260 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM = 1000156002,
1261 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM = 1000156003,
1262 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM = 1000156004,
1263 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM = 1000156005,
1264 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM = 1000156006,
1265 VK_FORMAT_R10X6_UNORM_PACK16 = 1000156007,
1266 VK_FORMAT_R10X6G10X6_UNORM_2PACK16 = 1000156008,
1267 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 1000156009,
1268 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 1000156010,
1269 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 1000156011,
1270 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 1000156012,
1271 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 1000156013,
1272 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 1000156014,
1273 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 1000156015,
1274 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 1000156016,
1275 VK_FORMAT_R12X4_UNORM_PACK16 = 1000156017,
1276 VK_FORMAT_R12X4G12X4_UNORM_2PACK16 = 1000156018,
1277 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 1000156019,
1278 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 1000156020,
1279 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 1000156021,
1280 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 1000156022,
1281 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 1000156023,
1282 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 1000156024,
1283 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 1000156025,
1284 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 1000156026,
1285 VK_FORMAT_G16B16G16R16_422_UNORM = 1000156027,
1286 VK_FORMAT_B16G16R16G16_422_UNORM = 1000156028,
1287 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM = 1000156029,
1288 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM = 1000156030,
1289 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM = 1000156031,
1290 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM = 1000156032,
1291 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM = 1000156033,
1292 VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG = 1000054000,
1293 VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001,
1294 VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = 1000054002,
1295 VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG = 1000054003,
1296 VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG = 1000054004,
1297 VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005,
1298 VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006,
1299 VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007,
1300 VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT = 1000066000,
1301 VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT = 1000066001,
1302 VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT = 1000066002,
1303 VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT = 1000066003,
1304 VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT = 1000066004,
1305 VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT = 1000066005,
1306 VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT = 1000066006,
1307 VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT = 1000066007,
1308 VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT = 1000066008,
1309 VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT = 1000066009,
1310 VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT = 1000066010,
1311 VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT = 1000066011,
1312 VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT = 1000066012,
1313 VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT = 1000066013,
1314 VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT = 1000330000,
1315 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT = 1000330001,
1316 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT = 1000330002,
1317 VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT = 1000330003,
1318 VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT = 1000340000,
1319 VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT = 1000340001,
1320 VK_FORMAT_G8B8G8R8_422_UNORM_KHR = VK_FORMAT_G8B8G8R8_422_UNORM,
1321 VK_FORMAT_B8G8R8G8_422_UNORM_KHR = VK_FORMAT_B8G8R8G8_422_UNORM,
1322 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM,
1323 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM,
1324 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM,
1325 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM,
1326 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM,
1327 VK_FORMAT_R10X6_UNORM_PACK16_KHR = VK_FORMAT_R10X6_UNORM_PACK16,
1328 VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR = VK_FORMAT_R10X6G10X6_UNORM_2PACK16,
1329 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16,
1330 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16,
1331 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16,
1332 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16,
1333 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16,
1334 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16,
1335 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16,
1336 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16,
1337 VK_FORMAT_R12X4_UNORM_PACK16_KHR = VK_FORMAT_R12X4_UNORM_PACK16,
1338 VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR = VK_FORMAT_R12X4G12X4_UNORM_2PACK16,
1339 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16,
1340 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16,
1341 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16,
1342 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16,
1343 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16,
1344 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16,
1345 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16,
1346 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16,
1347 VK_FORMAT_G16B16G16R16_422_UNORM_KHR = VK_FORMAT_G16B16G16R16_422_UNORM,
1348 VK_FORMAT_B16G16R16G16_422_UNORM_KHR = VK_FORMAT_B16G16R16G16_422_UNORM,
1349 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM,
1350 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM,
1351 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM,
1352 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM,
1353 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM,
1354 VK_FORMAT_MAX_ENUM = 0x7FFFFFFF
1357 typedef enum VkImageTiling {
1358 VK_IMAGE_TILING_OPTIMAL = 0,
1359 VK_IMAGE_TILING_LINEAR = 1,
1360 VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT = 1000158000,
1361 VK_IMAGE_TILING_MAX_ENUM = 0x7FFFFFFF
1364 typedef enum VkImageType {
1365 VK_IMAGE_TYPE_1D = 0,
1366 VK_IMAGE_TYPE_2D = 1,
1367 VK_IMAGE_TYPE_3D = 2,
1368 VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF
1371 typedef enum VkPhysicalDeviceType {
1372 VK_PHYSICAL_DEVICE_TYPE_OTHER = 0,
1373 VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1,
1374 VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2,
1375 VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3,
1376 VK_PHYSICAL_DEVICE_TYPE_CPU = 4,
1377 VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM = 0x7FFFFFFF
1378 } VkPhysicalDeviceType;
1380 typedef enum VkQueryType {
1381 VK_QUERY_TYPE_OCCLUSION = 0,
1382 VK_QUERY_TYPE_PIPELINE_STATISTICS = 1,
1383 VK_QUERY_TYPE_TIMESTAMP = 2,
1384 #ifdef VK_ENABLE_BETA_EXTENSIONS
1385 VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR = 1000023000,
1387 #ifdef VK_ENABLE_BETA_EXTENSIONS
1388 VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR = 1000299000,
1390 VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT = 1000028004,
1391 VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR = 1000116000,
1392 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR = 1000150000,
1393 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR = 1000150001,
1394 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV = 1000165000,
1395 VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL = 1000210000,
1396 VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF
1399 typedef enum VkSharingMode {
1400 VK_SHARING_MODE_EXCLUSIVE = 0,
1401 VK_SHARING_MODE_CONCURRENT = 1,
1402 VK_SHARING_MODE_MAX_ENUM = 0x7FFFFFFF
1405 typedef enum VkComponentSwizzle {
1406 VK_COMPONENT_SWIZZLE_IDENTITY = 0,
1407 VK_COMPONENT_SWIZZLE_ZERO = 1,
1408 VK_COMPONENT_SWIZZLE_ONE = 2,
1409 VK_COMPONENT_SWIZZLE_R = 3,
1410 VK_COMPONENT_SWIZZLE_G = 4,
1411 VK_COMPONENT_SWIZZLE_B = 5,
1412 VK_COMPONENT_SWIZZLE_A = 6,
1413 VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF
1414 } VkComponentSwizzle;
1416 typedef enum VkImageViewType {
1417 VK_IMAGE_VIEW_TYPE_1D = 0,
1418 VK_IMAGE_VIEW_TYPE_2D = 1,
1419 VK_IMAGE_VIEW_TYPE_3D = 2,
1420 VK_IMAGE_VIEW_TYPE_CUBE = 3,
1421 VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4,
1422 VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5,
1423 VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6,
1424 VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7FFFFFFF
1427 typedef enum VkBlendFactor {
1428 VK_BLEND_FACTOR_ZERO = 0,
1429 VK_BLEND_FACTOR_ONE = 1,
1430 VK_BLEND_FACTOR_SRC_COLOR = 2,
1431 VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3,
1432 VK_BLEND_FACTOR_DST_COLOR = 4,
1433 VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5,
1434 VK_BLEND_FACTOR_SRC_ALPHA = 6,
1435 VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7,
1436 VK_BLEND_FACTOR_DST_ALPHA = 8,
1437 VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9,
1438 VK_BLEND_FACTOR_CONSTANT_COLOR = 10,
1439 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11,
1440 VK_BLEND_FACTOR_CONSTANT_ALPHA = 12,
1441 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13,
1442 VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14,
1443 VK_BLEND_FACTOR_SRC1_COLOR = 15,
1444 VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16,
1445 VK_BLEND_FACTOR_SRC1_ALPHA = 17,
1446 VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18,
1447 VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF
1450 typedef enum VkBlendOp {
1451 VK_BLEND_OP_ADD = 0,
1452 VK_BLEND_OP_SUBTRACT = 1,
1453 VK_BLEND_OP_REVERSE_SUBTRACT = 2,
1454 VK_BLEND_OP_MIN = 3,
1455 VK_BLEND_OP_MAX = 4,
1456 VK_BLEND_OP_ZERO_EXT = 1000148000,
1457 VK_BLEND_OP_SRC_EXT = 1000148001,
1458 VK_BLEND_OP_DST_EXT = 1000148002,
1459 VK_BLEND_OP_SRC_OVER_EXT = 1000148003,
1460 VK_BLEND_OP_DST_OVER_EXT = 1000148004,
1461 VK_BLEND_OP_SRC_IN_EXT = 1000148005,
1462 VK_BLEND_OP_DST_IN_EXT = 1000148006,
1463 VK_BLEND_OP_SRC_OUT_EXT = 1000148007,
1464 VK_BLEND_OP_DST_OUT_EXT = 1000148008,
1465 VK_BLEND_OP_SRC_ATOP_EXT = 1000148009,
1466 VK_BLEND_OP_DST_ATOP_EXT = 1000148010,
1467 VK_BLEND_OP_XOR_EXT = 1000148011,
1468 VK_BLEND_OP_MULTIPLY_EXT = 1000148012,
1469 VK_BLEND_OP_SCREEN_EXT = 1000148013,
1470 VK_BLEND_OP_OVERLAY_EXT = 1000148014,
1471 VK_BLEND_OP_DARKEN_EXT = 1000148015,
1472 VK_BLEND_OP_LIGHTEN_EXT = 1000148016,
1473 VK_BLEND_OP_COLORDODGE_EXT = 1000148017,
1474 VK_BLEND_OP_COLORBURN_EXT = 1000148018,
1475 VK_BLEND_OP_HARDLIGHT_EXT = 1000148019,
1476 VK_BLEND_OP_SOFTLIGHT_EXT = 1000148020,
1477 VK_BLEND_OP_DIFFERENCE_EXT = 1000148021,
1478 VK_BLEND_OP_EXCLUSION_EXT = 1000148022,
1479 VK_BLEND_OP_INVERT_EXT = 1000148023,
1480 VK_BLEND_OP_INVERT_RGB_EXT = 1000148024,
1481 VK_BLEND_OP_LINEARDODGE_EXT = 1000148025,
1482 VK_BLEND_OP_LINEARBURN_EXT = 1000148026,
1483 VK_BLEND_OP_VIVIDLIGHT_EXT = 1000148027,
1484 VK_BLEND_OP_LINEARLIGHT_EXT = 1000148028,
1485 VK_BLEND_OP_PINLIGHT_EXT = 1000148029,
1486 VK_BLEND_OP_HARDMIX_EXT = 1000148030,
1487 VK_BLEND_OP_HSL_HUE_EXT = 1000148031,
1488 VK_BLEND_OP_HSL_SATURATION_EXT = 1000148032,
1489 VK_BLEND_OP_HSL_COLOR_EXT = 1000148033,
1490 VK_BLEND_OP_HSL_LUMINOSITY_EXT = 1000148034,
1491 VK_BLEND_OP_PLUS_EXT = 1000148035,
1492 VK_BLEND_OP_PLUS_CLAMPED_EXT = 1000148036,
1493 VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT = 1000148037,
1494 VK_BLEND_OP_PLUS_DARKER_EXT = 1000148038,
1495 VK_BLEND_OP_MINUS_EXT = 1000148039,
1496 VK_BLEND_OP_MINUS_CLAMPED_EXT = 1000148040,
1497 VK_BLEND_OP_CONTRAST_EXT = 1000148041,
1498 VK_BLEND_OP_INVERT_OVG_EXT = 1000148042,
1499 VK_BLEND_OP_RED_EXT = 1000148043,
1500 VK_BLEND_OP_GREEN_EXT = 1000148044,
1501 VK_BLEND_OP_BLUE_EXT = 1000148045,
1502 VK_BLEND_OP_MAX_ENUM = 0x7FFFFFFF
1505 typedef enum VkCompareOp {
1506 VK_COMPARE_OP_NEVER = 0,
1507 VK_COMPARE_OP_LESS = 1,
1508 VK_COMPARE_OP_EQUAL = 2,
1509 VK_COMPARE_OP_LESS_OR_EQUAL = 3,
1510 VK_COMPARE_OP_GREATER = 4,
1511 VK_COMPARE_OP_NOT_EQUAL = 5,
1512 VK_COMPARE_OP_GREATER_OR_EQUAL = 6,
1513 VK_COMPARE_OP_ALWAYS = 7,
1514 VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF
1517 typedef enum VkDynamicState {
1518 VK_DYNAMIC_STATE_VIEWPORT = 0,
1519 VK_DYNAMIC_STATE_SCISSOR = 1,
1520 VK_DYNAMIC_STATE_LINE_WIDTH = 2,
1521 VK_DYNAMIC_STATE_DEPTH_BIAS = 3,
1522 VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4,
1523 VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5,
1524 VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6,
1525 VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7,
1526 VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8,
1527 VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV = 1000087000,
1528 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000,
1529 VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT = 1000143000,
1530 VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR = 1000347000,
1531 VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV = 1000164004,
1532 VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV = 1000164006,
1533 VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV = 1000205001,
1534 VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR = 1000226000,
1535 VK_DYNAMIC_STATE_LINE_STIPPLE_EXT = 1000259000,
1536 VK_DYNAMIC_STATE_CULL_MODE_EXT = 1000267000,
1537 VK_DYNAMIC_STATE_FRONT_FACE_EXT = 1000267001,
1538 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = 1000267002,
1539 VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT = 1000267003,
1540 VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT = 1000267004,
1541 VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT = 1000267005,
1542 VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT = 1000267006,
1543 VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT = 1000267007,
1544 VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT = 1000267008,
1545 VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT = 1000267009,
1546 VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT = 1000267010,
1547 VK_DYNAMIC_STATE_STENCIL_OP_EXT = 1000267011,
1548 VK_DYNAMIC_STATE_VERTEX_INPUT_EXT = 1000352000,
1549 VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT = 1000381000,
1550 VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF
1553 typedef enum VkFrontFace {
1554 VK_FRONT_FACE_COUNTER_CLOCKWISE = 0,
1555 VK_FRONT_FACE_CLOCKWISE = 1,
1556 VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF
1559 typedef enum VkVertexInputRate {
1560 VK_VERTEX_INPUT_RATE_VERTEX = 0,
1561 VK_VERTEX_INPUT_RATE_INSTANCE = 1,
1562 VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF
1563 } VkVertexInputRate;
1565 typedef enum VkPrimitiveTopology {
1566 VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0,
1567 VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1,
1568 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2,
1569 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3,
1570 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4,
1571 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5,
1572 VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6,
1573 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7,
1574 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8,
1575 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9,
1576 VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10,
1577 VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7FFFFFFF
1578 } VkPrimitiveTopology;
1580 typedef enum VkPolygonMode {
1581 VK_POLYGON_MODE_FILL = 0,
1582 VK_POLYGON_MODE_LINE = 1,
1583 VK_POLYGON_MODE_POINT = 2,
1584 VK_POLYGON_MODE_FILL_RECTANGLE_NV = 1000153000,
1585 VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF
1588 typedef enum VkStencilOp {
1589 VK_STENCIL_OP_KEEP = 0,
1590 VK_STENCIL_OP_ZERO = 1,
1591 VK_STENCIL_OP_REPLACE = 2,
1592 VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3,
1593 VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4,
1594 VK_STENCIL_OP_INVERT = 5,
1595 VK_STENCIL_OP_INCREMENT_AND_WRAP = 6,
1596 VK_STENCIL_OP_DECREMENT_AND_WRAP = 7,
1597 VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF
1600 typedef enum VkLogicOp {
1601 VK_LOGIC_OP_CLEAR = 0,
1602 VK_LOGIC_OP_AND = 1,
1603 VK_LOGIC_OP_AND_REVERSE = 2,
1604 VK_LOGIC_OP_COPY = 3,
1605 VK_LOGIC_OP_AND_INVERTED = 4,
1606 VK_LOGIC_OP_NO_OP = 5,
1607 VK_LOGIC_OP_XOR = 6,
1609 VK_LOGIC_OP_NOR = 8,
1610 VK_LOGIC_OP_EQUIVALENT = 9,
1611 VK_LOGIC_OP_INVERT = 10,
1612 VK_LOGIC_OP_OR_REVERSE = 11,
1613 VK_LOGIC_OP_COPY_INVERTED = 12,
1614 VK_LOGIC_OP_OR_INVERTED = 13,
1615 VK_LOGIC_OP_NAND = 14,
1616 VK_LOGIC_OP_SET = 15,
1617 VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF
1620 typedef enum VkBorderColor {
1621 VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0,
1622 VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1,
1623 VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2,
1624 VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3,
1625 VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4,
1626 VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5,
1627 VK_BORDER_COLOR_FLOAT_CUSTOM_EXT = 1000287003,
1628 VK_BORDER_COLOR_INT_CUSTOM_EXT = 1000287004,
1629 VK_BORDER_COLOR_MAX_ENUM = 0x7FFFFFFF
1632 typedef enum VkFilter {
1633 VK_FILTER_NEAREST = 0,
1634 VK_FILTER_LINEAR = 1,
1635 VK_FILTER_CUBIC_IMG = 1000015000,
1636 VK_FILTER_CUBIC_EXT = VK_FILTER_CUBIC_IMG,
1637 VK_FILTER_MAX_ENUM = 0x7FFFFFFF
1640 typedef enum VkSamplerAddressMode {
1641 VK_SAMPLER_ADDRESS_MODE_REPEAT = 0,
1642 VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1,
1643 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2,
1644 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3,
1645 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4,
1646 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE,
1647 VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = 0x7FFFFFFF
1648 } VkSamplerAddressMode;
1650 typedef enum VkSamplerMipmapMode {
1651 VK_SAMPLER_MIPMAP_MODE_NEAREST = 0,
1652 VK_SAMPLER_MIPMAP_MODE_LINEAR = 1,
1653 VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF
1654 } VkSamplerMipmapMode;
1656 typedef enum VkDescriptorType {
1657 VK_DESCRIPTOR_TYPE_SAMPLER = 0,
1658 VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1,
1659 VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2,
1660 VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3,
1661 VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4,
1662 VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5,
1663 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6,
1664 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7,
1665 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8,
1666 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9,
1667 VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10,
1668 VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT = 1000138000,
1669 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000,
1670 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000,
1671 VK_DESCRIPTOR_TYPE_MUTABLE_VALVE = 1000351000,
1672 VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF
1675 typedef enum VkAttachmentLoadOp {
1676 VK_ATTACHMENT_LOAD_OP_LOAD = 0,
1677 VK_ATTACHMENT_LOAD_OP_CLEAR = 1,
1678 VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2,
1679 VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7FFFFFFF
1680 } VkAttachmentLoadOp;
1682 typedef enum VkAttachmentStoreOp {
1683 VK_ATTACHMENT_STORE_OP_STORE = 0,
1684 VK_ATTACHMENT_STORE_OP_DONT_CARE = 1,
1685 VK_ATTACHMENT_STORE_OP_NONE_QCOM = 1000301000,
1686 VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF
1687 } VkAttachmentStoreOp;
1689 typedef enum VkPipelineBindPoint {
1690 VK_PIPELINE_BIND_POINT_GRAPHICS = 0,
1691 VK_PIPELINE_BIND_POINT_COMPUTE = 1,
1692 VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR = 1000165000,
1693 VK_PIPELINE_BIND_POINT_RAY_TRACING_NV = VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR,
1694 VK_PIPELINE_BIND_POINT_MAX_ENUM = 0x7FFFFFFF
1695 } VkPipelineBindPoint;
1697 typedef enum VkCommandBufferLevel {
1698 VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0,
1699 VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1,
1700 VK_COMMAND_BUFFER_LEVEL_MAX_ENUM = 0x7FFFFFFF
1701 } VkCommandBufferLevel;
1703 typedef enum VkIndexType {
1704 VK_INDEX_TYPE_UINT16 = 0,
1705 VK_INDEX_TYPE_UINT32 = 1,
1706 VK_INDEX_TYPE_NONE_KHR = 1000165000,
1707 VK_INDEX_TYPE_UINT8_EXT = 1000265000,
1708 VK_INDEX_TYPE_NONE_NV = VK_INDEX_TYPE_NONE_KHR,
1709 VK_INDEX_TYPE_MAX_ENUM = 0x7FFFFFFF
1712 typedef enum VkSubpassContents {
1713 VK_SUBPASS_CONTENTS_INLINE = 0,
1714 VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1,
1715 VK_SUBPASS_CONTENTS_MAX_ENUM = 0x7FFFFFFF
1716 } VkSubpassContents;
1718 typedef enum VkAccessFlagBits {
1719 VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001,
1720 VK_ACCESS_INDEX_READ_BIT = 0x00000002,
1721 VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004,
1722 VK_ACCESS_UNIFORM_READ_BIT = 0x00000008,
1723 VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 0x00000010,
1724 VK_ACCESS_SHADER_READ_BIT = 0x00000020,
1725 VK_ACCESS_SHADER_WRITE_BIT = 0x00000040,
1726 VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 0x00000080,
1727 VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100,
1728 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200,
1729 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400,
1730 VK_ACCESS_TRANSFER_READ_BIT = 0x00000800,
1731 VK_ACCESS_TRANSFER_WRITE_BIT = 0x00001000,
1732 VK_ACCESS_HOST_READ_BIT = 0x00002000,
1733 VK_ACCESS_HOST_WRITE_BIT = 0x00004000,
1734 VK_ACCESS_MEMORY_READ_BIT = 0x00008000,
1735 VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000,
1736 VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000,
1737 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000,
1738 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000,
1739 VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000,
1740 VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000,
1741 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000,
1742 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000,
1743 VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000,
1744 VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000,
1745 VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000,
1746 VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000,
1747 VK_ACCESS_NONE_KHR = 0,
1748 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR,
1749 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,
1750 VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV,
1751 VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1753 typedef VkFlags VkAccessFlags;
1755 typedef enum VkImageAspectFlagBits {
1756 VK_IMAGE_ASPECT_COLOR_BIT = 0x00000001,
1757 VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002,
1758 VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004,
1759 VK_IMAGE_ASPECT_METADATA_BIT = 0x00000008,
1760 VK_IMAGE_ASPECT_PLANE_0_BIT = 0x00000010,
1761 VK_IMAGE_ASPECT_PLANE_1_BIT = 0x00000020,
1762 VK_IMAGE_ASPECT_PLANE_2_BIT = 0x00000040,
1763 VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 0x00000080,
1764 VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 0x00000100,
1765 VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 0x00000200,
1766 VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = 0x00000400,
1767 VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = VK_IMAGE_ASPECT_PLANE_0_BIT,
1768 VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = VK_IMAGE_ASPECT_PLANE_1_BIT,
1769 VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = VK_IMAGE_ASPECT_PLANE_2_BIT,
1770 VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1771 } VkImageAspectFlagBits;
1772 typedef VkFlags VkImageAspectFlags;
1774 typedef enum VkFormatFeatureFlagBits {
1775 VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 0x00000001,
1776 VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 0x00000002,
1777 VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004,
1778 VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008,
1779 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 0x00000010,
1780 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020,
1781 VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 0x00000040,
1782 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 0x00000080,
1783 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100,
1784 VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200,
1785 VK_FORMAT_FEATURE_BLIT_SRC_BIT = 0x00000400,
1786 VK_FORMAT_FEATURE_BLIT_DST_BIT = 0x00000800,
1787 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000,
1788 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT = 0x00004000,
1789 VK_FORMAT_FEATURE_TRANSFER_DST_BIT = 0x00008000,
1790 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000,
1791 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000,
1792 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000,
1793 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000,
1794 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000,
1795 VK_FORMAT_FEATURE_DISJOINT_BIT = 0x00400000,
1796 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT = 0x00800000,
1797 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000,
1798 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = 0x00002000,
1799 #ifdef VK_ENABLE_BETA_EXTENSIONS
1800 VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x02000000,
1802 #ifdef VK_ENABLE_BETA_EXTENSIONS
1803 VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR = 0x04000000,
1805 #ifdef VK_ENABLE_BETA_EXTENSIONS
1806 VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000,
1808 #ifdef VK_ENABLE_BETA_EXTENSIONS
1809 VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000,
1811 VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000,
1812 VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000,
1813 VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000,
1814 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT,
1815 VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_DST_BIT,
1816 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT,
1817 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT,
1818 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT,
1819 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT,
1820 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT,
1821 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,
1822 VK_FORMAT_FEATURE_DISJOINT_BIT_KHR = VK_FORMAT_FEATURE_DISJOINT_BIT,
1823 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT,
1824 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG,
1825 VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1826 } VkFormatFeatureFlagBits;
1827 typedef VkFlags VkFormatFeatureFlags;
1829 typedef enum VkImageCreateFlagBits {
1830 VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 0x00000001,
1831 VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
1832 VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
1833 VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 0x00000008,
1834 VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 0x00000010,
1835 VK_IMAGE_CREATE_ALIAS_BIT = 0x00000400,
1836 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT = 0x00000040,
1837 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT = 0x00000020,
1838 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT = 0x00000080,
1839 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT = 0x00000100,
1840 VK_IMAGE_CREATE_PROTECTED_BIT = 0x00000800,
1841 VK_IMAGE_CREATE_DISJOINT_BIT = 0x00000200,
1842 VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 0x00002000,
1843 VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000,
1844 VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 0x00004000,
1845 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT,
1846 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT,
1847 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT,
1848 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT,
1849 VK_IMAGE_CREATE_DISJOINT_BIT_KHR = VK_IMAGE_CREATE_DISJOINT_BIT,
1850 VK_IMAGE_CREATE_ALIAS_BIT_KHR = VK_IMAGE_CREATE_ALIAS_BIT,
1851 VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1852 } VkImageCreateFlagBits;
1853 typedef VkFlags VkImageCreateFlags;
1855 typedef enum VkSampleCountFlagBits {
1856 VK_SAMPLE_COUNT_1_BIT = 0x00000001,
1857 VK_SAMPLE_COUNT_2_BIT = 0x00000002,
1858 VK_SAMPLE_COUNT_4_BIT = 0x00000004,
1859 VK_SAMPLE_COUNT_8_BIT = 0x00000008,
1860 VK_SAMPLE_COUNT_16_BIT = 0x00000010,
1861 VK_SAMPLE_COUNT_32_BIT = 0x00000020,
1862 VK_SAMPLE_COUNT_64_BIT = 0x00000040,
1863 VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1864 } VkSampleCountFlagBits;
1865 typedef VkFlags VkSampleCountFlags;
1867 typedef enum VkImageUsageFlagBits {
1868 VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 0x00000001,
1869 VK_IMAGE_USAGE_TRANSFER_DST_BIT = 0x00000002,
1870 VK_IMAGE_USAGE_SAMPLED_BIT = 0x00000004,
1871 VK_IMAGE_USAGE_STORAGE_BIT = 0x00000008,
1872 VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000010,
1873 VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000020,
1874 VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000040,
1875 VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0x00000080,
1876 #ifdef VK_ENABLE_BETA_EXTENSIONS
1877 VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00000400,
1879 #ifdef VK_ENABLE_BETA_EXTENSIONS
1880 VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00000800,
1882 #ifdef VK_ENABLE_BETA_EXTENSIONS
1883 VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR = 0x00001000,
1885 #ifdef VK_ENABLE_BETA_EXTENSIONS
1886 VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00002000,
1888 #ifdef VK_ENABLE_BETA_EXTENSIONS
1889 VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00004000,
1891 #ifdef VK_ENABLE_BETA_EXTENSIONS
1892 VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR = 0x00008000,
1894 VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = 0x00000100,
1895 VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x00000200,
1896 VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV,
1897 VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1898 } VkImageUsageFlagBits;
1899 typedef VkFlags VkImageUsageFlags;
1900 typedef VkFlags VkInstanceCreateFlags;
1902 typedef enum VkMemoryHeapFlagBits {
1903 VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0x00000001,
1904 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = 0x00000002,
1905 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT,
1906 VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1907 } VkMemoryHeapFlagBits;
1908 typedef VkFlags VkMemoryHeapFlags;
1910 typedef enum VkMemoryPropertyFlagBits {
1911 VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 0x00000001,
1912 VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 0x00000002,
1913 VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 0x00000004,
1914 VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 0x00000008,
1915 VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 0x00000010,
1916 VK_MEMORY_PROPERTY_PROTECTED_BIT = 0x00000020,
1917 VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD = 0x00000040,
1918 VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD = 0x00000080,
1919 VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1920 } VkMemoryPropertyFlagBits;
1921 typedef VkFlags VkMemoryPropertyFlags;
1923 typedef enum VkQueueFlagBits {
1924 VK_QUEUE_GRAPHICS_BIT = 0x00000001,
1925 VK_QUEUE_COMPUTE_BIT = 0x00000002,
1926 VK_QUEUE_TRANSFER_BIT = 0x00000004,
1927 VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008,
1928 VK_QUEUE_PROTECTED_BIT = 0x00000010,
1929 #ifdef VK_ENABLE_BETA_EXTENSIONS
1930 VK_QUEUE_VIDEO_DECODE_BIT_KHR = 0x00000020,
1932 #ifdef VK_ENABLE_BETA_EXTENSIONS
1933 VK_QUEUE_VIDEO_ENCODE_BIT_KHR = 0x00000040,
1935 VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1937 typedef VkFlags VkQueueFlags;
1938 typedef VkFlags VkDeviceCreateFlags;
1940 typedef enum VkDeviceQueueCreateFlagBits {
1941 VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT = 0x00000001,
1942 VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1943 } VkDeviceQueueCreateFlagBits;
1944 typedef VkFlags VkDeviceQueueCreateFlags;
1946 typedef enum VkPipelineStageFlagBits {
1947 VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 0x00000001,
1948 VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 0x00000002,
1949 VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 0x00000004,
1950 VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 0x00000008,
1951 VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010,
1952 VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020,
1953 VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 0x00000040,
1954 VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 0x00000080,
1955 VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 0x00000100,
1956 VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 0x00000200,
1957 VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400,
1958 VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 0x00000800,
1959 VK_PIPELINE_STAGE_TRANSFER_BIT = 0x00001000,
1960 VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 0x00002000,
1961 VK_PIPELINE_STAGE_HOST_BIT = 0x00004000,
1962 VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0x00008000,
1963 VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00010000,
1964 VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000,
1965 VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000,
1966 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000,
1967 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = 0x00200000,
1968 VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = 0x00400000,
1969 VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV = 0x00080000,
1970 VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV = 0x00100000,
1971 VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000,
1972 VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV = 0x00020000,
1973 VK_PIPELINE_STAGE_NONE_KHR = 0,
1974 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV = VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR,
1975 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
1976 VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV,
1977 VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1978 } VkPipelineStageFlagBits;
1979 typedef VkFlags VkPipelineStageFlags;
1980 typedef VkFlags VkMemoryMapFlags;
1982 typedef enum VkSparseMemoryBindFlagBits {
1983 VK_SPARSE_MEMORY_BIND_METADATA_BIT = 0x00000001,
1984 VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1985 } VkSparseMemoryBindFlagBits;
1986 typedef VkFlags VkSparseMemoryBindFlags;
1988 typedef enum VkSparseImageFormatFlagBits {
1989 VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 0x00000001,
1990 VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 0x00000002,
1991 VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 0x00000004,
1992 VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1993 } VkSparseImageFormatFlagBits;
1994 typedef VkFlags VkSparseImageFormatFlags;
1996 typedef enum VkFenceCreateFlagBits {
1997 VK_FENCE_CREATE_SIGNALED_BIT = 0x00000001,
1998 VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1999 } VkFenceCreateFlagBits;
2000 typedef VkFlags VkFenceCreateFlags;
2001 typedef VkFlags VkSemaphoreCreateFlags;
2003 typedef enum VkEventCreateFlagBits {
2004 VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR = 0x00000001,
2005 VK_EVENT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2006 } VkEventCreateFlagBits;
2007 typedef VkFlags VkEventCreateFlags;
2009 typedef enum VkQueryPipelineStatisticFlagBits {
2010 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 0x00000001,
2011 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 0x00000002,
2012 VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 0x00000004,
2013 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 0x00000008,
2014 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 0x00000010,
2015 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 0x00000020,
2016 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 0x00000040,
2017 VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 0x00000080,
2018 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 0x00000100,
2019 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 0x00000200,
2020 VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 0x00000400,
2021 VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2022 } VkQueryPipelineStatisticFlagBits;
2023 typedef VkFlags VkQueryPipelineStatisticFlags;
2024 typedef VkFlags VkQueryPoolCreateFlags;
2026 typedef enum VkQueryResultFlagBits {
2027 VK_QUERY_RESULT_64_BIT = 0x00000001,
2028 VK_QUERY_RESULT_WAIT_BIT = 0x00000002,
2029 VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004,
2030 VK_QUERY_RESULT_PARTIAL_BIT = 0x00000008,
2031 #ifdef VK_ENABLE_BETA_EXTENSIONS
2032 VK_QUERY_RESULT_WITH_STATUS_BIT_KHR = 0x00000010,
2034 VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2035 } VkQueryResultFlagBits;
2036 typedef VkFlags VkQueryResultFlags;
2038 typedef enum VkBufferCreateFlagBits {
2039 VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 0x00000001,
2040 VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
2041 VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
2042 VK_BUFFER_CREATE_PROTECTED_BIT = 0x00000008,
2043 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000010,
2044 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
2045 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
2046 VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2047 } VkBufferCreateFlagBits;
2048 typedef VkFlags VkBufferCreateFlags;
2050 typedef enum VkBufferUsageFlagBits {
2051 VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 0x00000001,
2052 VK_BUFFER_USAGE_TRANSFER_DST_BIT = 0x00000002,
2053 VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000004,
2054 VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 0x00000008,
2055 VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 0x00000010,
2056 VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 0x00000020,
2057 VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 0x00000040,
2058 VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 0x00000080,
2059 VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 0x00000100,
2060 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT = 0x00020000,
2061 #ifdef VK_ENABLE_BETA_EXTENSIONS
2062 VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00002000,
2064 #ifdef VK_ENABLE_BETA_EXTENSIONS
2065 VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00004000,
2067 #ifdef VK_ENABLE_BETA_EXTENSIONS
2068 VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00008000,
2070 #ifdef VK_ENABLE_BETA_EXTENSIONS
2071 VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00010000,
2073 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0x00000800,
2074 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000,
2075 VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200,
2076 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR = 0x00080000,
2077 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR = 0x00100000,
2078 VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR = 0x00000400,
2079 VK_BUFFER_USAGE_RAY_TRACING_BIT_NV = VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR,
2080 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
2081 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
2082 VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2083 } VkBufferUsageFlagBits;
2084 typedef VkFlags VkBufferUsageFlags;
2085 typedef VkFlags VkBufferViewCreateFlags;
2087 typedef enum VkImageViewCreateFlagBits {
2088 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT = 0x00000001,
2089 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT = 0x00000002,
2090 VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2091 } VkImageViewCreateFlagBits;
2092 typedef VkFlags VkImageViewCreateFlags;
2094 typedef enum VkShaderModuleCreateFlagBits {
2095 VK_SHADER_MODULE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2096 } VkShaderModuleCreateFlagBits;
2097 typedef VkFlags VkShaderModuleCreateFlags;
2099 typedef enum VkPipelineCacheCreateFlagBits {
2100 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT = 0x00000001,
2101 VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2102 } VkPipelineCacheCreateFlagBits;
2103 typedef VkFlags VkPipelineCacheCreateFlags;
2105 typedef enum VkColorComponentFlagBits {
2106 VK_COLOR_COMPONENT_R_BIT = 0x00000001,
2107 VK_COLOR_COMPONENT_G_BIT = 0x00000002,
2108 VK_COLOR_COMPONENT_B_BIT = 0x00000004,
2109 VK_COLOR_COMPONENT_A_BIT = 0x00000008,
2110 VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2111 } VkColorComponentFlagBits;
2112 typedef VkFlags VkColorComponentFlags;
2114 typedef enum VkPipelineCreateFlagBits {
2115 VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0x00000001,
2116 VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 0x00000002,
2117 VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0x00000004,
2118 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 0x00000008,
2119 VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 0x00000010,
2120 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 0x00004000,
2121 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 0x00008000,
2122 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 0x00010000,
2123 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR = 0x00020000,
2124 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR = 0x00001000,
2125 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR = 0x00002000,
2126 VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR = 0x00080000,
2127 VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV = 0x00000020,
2128 VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR = 0x00000040,
2129 VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 0x00000080,
2130 VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = 0x00040000,
2131 VK_PIPELINE_CREATE_LIBRARY_BIT_KHR = 0x00000800,
2132 VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = 0x00000100,
2133 VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = 0x00000200,
2134 VK_PIPELINE_CREATE_DISPATCH_BASE = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT,
2135 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT,
2136 VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = VK_PIPELINE_CREATE_DISPATCH_BASE,
2137 VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2138 } VkPipelineCreateFlagBits;
2139 typedef VkFlags VkPipelineCreateFlags;
2141 typedef enum VkPipelineShaderStageCreateFlagBits {
2142 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = 0x00000001,
2143 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = 0x00000002,
2144 VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2145 } VkPipelineShaderStageCreateFlagBits;
2146 typedef VkFlags VkPipelineShaderStageCreateFlags;
2148 typedef enum VkShaderStageFlagBits {
2149 VK_SHADER_STAGE_VERTEX_BIT = 0x00000001,
2150 VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 0x00000002,
2151 VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 0x00000004,
2152 VK_SHADER_STAGE_GEOMETRY_BIT = 0x00000008,
2153 VK_SHADER_STAGE_FRAGMENT_BIT = 0x00000010,
2154 VK_SHADER_STAGE_COMPUTE_BIT = 0x00000020,
2155 VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001F,
2156 VK_SHADER_STAGE_ALL = 0x7FFFFFFF,
2157 VK_SHADER_STAGE_RAYGEN_BIT_KHR = 0x00000100,
2158 VK_SHADER_STAGE_ANY_HIT_BIT_KHR = 0x00000200,
2159 VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR = 0x00000400,
2160 VK_SHADER_STAGE_MISS_BIT_KHR = 0x00000800,
2161 VK_SHADER_STAGE_INTERSECTION_BIT_KHR = 0x00001000,
2162 VK_SHADER_STAGE_CALLABLE_BIT_KHR = 0x00002000,
2163 VK_SHADER_STAGE_TASK_BIT_NV = 0x00000040,
2164 VK_SHADER_STAGE_MESH_BIT_NV = 0x00000080,
2165 VK_SHADER_STAGE_RAYGEN_BIT_NV = VK_SHADER_STAGE_RAYGEN_BIT_KHR,
2166 VK_SHADER_STAGE_ANY_HIT_BIT_NV = VK_SHADER_STAGE_ANY_HIT_BIT_KHR,
2167 VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV = VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR,
2168 VK_SHADER_STAGE_MISS_BIT_NV = VK_SHADER_STAGE_MISS_BIT_KHR,
2169 VK_SHADER_STAGE_INTERSECTION_BIT_NV = VK_SHADER_STAGE_INTERSECTION_BIT_KHR,
2170 VK_SHADER_STAGE_CALLABLE_BIT_NV = VK_SHADER_STAGE_CALLABLE_BIT_KHR,
2171 VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2172 } VkShaderStageFlagBits;
2174 typedef enum VkCullModeFlagBits {
2175 VK_CULL_MODE_NONE = 0,
2176 VK_CULL_MODE_FRONT_BIT = 0x00000001,
2177 VK_CULL_MODE_BACK_BIT = 0x00000002,
2178 VK_CULL_MODE_FRONT_AND_BACK = 0x00000003,
2179 VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2180 } VkCullModeFlagBits;
2181 typedef VkFlags VkCullModeFlags;
2182 typedef VkFlags VkPipelineVertexInputStateCreateFlags;
2183 typedef VkFlags VkPipelineInputAssemblyStateCreateFlags;
2184 typedef VkFlags VkPipelineTessellationStateCreateFlags;
2185 typedef VkFlags VkPipelineViewportStateCreateFlags;
2186 typedef VkFlags VkPipelineRasterizationStateCreateFlags;
2187 typedef VkFlags VkPipelineMultisampleStateCreateFlags;
2188 typedef VkFlags VkPipelineDepthStencilStateCreateFlags;
2189 typedef VkFlags VkPipelineColorBlendStateCreateFlags;
2190 typedef VkFlags VkPipelineDynamicStateCreateFlags;
2191 typedef VkFlags VkPipelineLayoutCreateFlags;
2192 typedef VkFlags VkShaderStageFlags;
2194 typedef enum VkSamplerCreateFlagBits {
2195 VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT = 0x00000001,
2196 VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT = 0x00000002,
2197 VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2198 } VkSamplerCreateFlagBits;
2199 typedef VkFlags VkSamplerCreateFlags;
2201 typedef enum VkDescriptorPoolCreateFlagBits {
2202 VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001,
2203 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT = 0x00000002,
2204 VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE = 0x00000004,
2205 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT,
2206 VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2207 } VkDescriptorPoolCreateFlagBits;
2208 typedef VkFlags VkDescriptorPoolCreateFlags;
2209 typedef VkFlags VkDescriptorPoolResetFlags;
2211 typedef enum VkDescriptorSetLayoutCreateFlagBits {
2212 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT = 0x00000002,
2213 VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = 0x00000001,
2214 VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE = 0x00000004,
2215 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT,
2216 VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2217 } VkDescriptorSetLayoutCreateFlagBits;
2218 typedef VkFlags VkDescriptorSetLayoutCreateFlags;
2220 typedef enum VkAttachmentDescriptionFlagBits {
2221 VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001,
2222 VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2223 } VkAttachmentDescriptionFlagBits;
2224 typedef VkFlags VkAttachmentDescriptionFlags;
2226 typedef enum VkDependencyFlagBits {
2227 VK_DEPENDENCY_BY_REGION_BIT = 0x00000001,
2228 VK_DEPENDENCY_DEVICE_GROUP_BIT = 0x00000004,
2229 VK_DEPENDENCY_VIEW_LOCAL_BIT = 0x00000002,
2230 VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR = VK_DEPENDENCY_VIEW_LOCAL_BIT,
2231 VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR = VK_DEPENDENCY_DEVICE_GROUP_BIT,
2232 VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2233 } VkDependencyFlagBits;
2234 typedef VkFlags VkDependencyFlags;
2236 typedef enum VkFramebufferCreateFlagBits {
2237 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT = 0x00000001,
2238 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR = VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT,
2239 VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2240 } VkFramebufferCreateFlagBits;
2241 typedef VkFlags VkFramebufferCreateFlags;
2243 typedef enum VkRenderPassCreateFlagBits {
2244 VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM = 0x00000002,
2245 VK_RENDER_PASS_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2246 } VkRenderPassCreateFlagBits;
2247 typedef VkFlags VkRenderPassCreateFlags;
2249 typedef enum VkSubpassDescriptionFlagBits {
2250 VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX = 0x00000001,
2251 VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 0x00000002,
2252 VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM = 0x00000004,
2253 VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM = 0x00000008,
2254 VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2255 } VkSubpassDescriptionFlagBits;
2256 typedef VkFlags VkSubpassDescriptionFlags;
2258 typedef enum VkCommandPoolCreateFlagBits {
2259 VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 0x00000001,
2260 VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002,
2261 VK_COMMAND_POOL_CREATE_PROTECTED_BIT = 0x00000004,
2262 VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2263 } VkCommandPoolCreateFlagBits;
2264 typedef VkFlags VkCommandPoolCreateFlags;
2266 typedef enum VkCommandPoolResetFlagBits {
2267 VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
2268 VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2269 } VkCommandPoolResetFlagBits;
2270 typedef VkFlags VkCommandPoolResetFlags;
2272 typedef enum VkCommandBufferUsageFlagBits {
2273 VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 0x00000001,
2274 VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 0x00000002,
2275 VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 0x00000004,
2276 VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2277 } VkCommandBufferUsageFlagBits;
2278 typedef VkFlags VkCommandBufferUsageFlags;
2280 typedef enum VkQueryControlFlagBits {
2281 VK_QUERY_CONTROL_PRECISE_BIT = 0x00000001,
2282 VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2283 } VkQueryControlFlagBits;
2284 typedef VkFlags VkQueryControlFlags;
2286 typedef enum VkCommandBufferResetFlagBits {
2287 VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
2288 VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2289 } VkCommandBufferResetFlagBits;
2290 typedef VkFlags VkCommandBufferResetFlags;
2292 typedef enum VkStencilFaceFlagBits {
2293 VK_STENCIL_FACE_FRONT_BIT = 0x00000001,
2294 VK_STENCIL_FACE_BACK_BIT = 0x00000002,
2295 VK_STENCIL_FACE_FRONT_AND_BACK = 0x00000003,
2296 VK_STENCIL_FRONT_AND_BACK = VK_STENCIL_FACE_FRONT_AND_BACK,
2297 VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2298 } VkStencilFaceFlagBits;
2299 typedef VkFlags VkStencilFaceFlags;
2300 typedef struct VkExtent2D {
2305 typedef struct VkExtent3D {
2311 typedef struct VkOffset2D {
2316 typedef struct VkOffset3D {
2322 typedef struct VkRect2D {
2327 typedef struct VkBaseInStructure {
2328 VkStructureType sType;
2329 const struct VkBaseInStructure* pNext;
2330 } VkBaseInStructure;
2332 typedef struct VkBaseOutStructure {
2333 VkStructureType sType;
2334 struct VkBaseOutStructure* pNext;
2335 } VkBaseOutStructure;
2337 typedef struct VkBufferMemoryBarrier {
2338 VkStructureType sType;
2340 VkAccessFlags srcAccessMask;
2341 VkAccessFlags dstAccessMask;
2342 deUint32 srcQueueFamilyIndex;
2343 deUint32 dstQueueFamilyIndex;
2345 VkDeviceSize offset;
2347 } VkBufferMemoryBarrier;
2349 typedef struct VkDispatchIndirectCommand {
2353 } VkDispatchIndirectCommand;
2355 typedef struct VkDrawIndexedIndirectCommand {
2356 deUint32 indexCount;
2357 deUint32 instanceCount;
2358 deUint32 firstIndex;
2359 deInt32 vertexOffset;
2360 deUint32 firstInstance;
2361 } VkDrawIndexedIndirectCommand;
2363 typedef struct VkDrawIndirectCommand {
2364 deUint32 vertexCount;
2365 deUint32 instanceCount;
2366 deUint32 firstVertex;
2367 deUint32 firstInstance;
2368 } VkDrawIndirectCommand;
2370 typedef struct VkImageSubresourceRange {
2371 VkImageAspectFlags aspectMask;
2372 deUint32 baseMipLevel;
2373 deUint32 levelCount;
2374 deUint32 baseArrayLayer;
2375 deUint32 layerCount;
2376 } VkImageSubresourceRange;
2378 typedef struct VkImageMemoryBarrier {
2379 VkStructureType sType;
2381 VkAccessFlags srcAccessMask;
2382 VkAccessFlags dstAccessMask;
2383 VkImageLayout oldLayout;
2384 VkImageLayout newLayout;
2385 deUint32 srcQueueFamilyIndex;
2386 deUint32 dstQueueFamilyIndex;
2388 VkImageSubresourceRange subresourceRange;
2389 } VkImageMemoryBarrier;
2391 typedef struct VkMemoryBarrier {
2392 VkStructureType sType;
2394 VkAccessFlags srcAccessMask;
2395 VkAccessFlags dstAccessMask;
2398 typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
2401 deUintptr alignment,
2402 VkSystemAllocationScope allocationScope);
2404 typedef void (VKAPI_PTR *PFN_vkFreeFunction)(
2408 typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(
2411 VkInternalAllocationType allocationType,
2412 VkSystemAllocationScope allocationScope);
2414 typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(
2417 VkInternalAllocationType allocationType,
2418 VkSystemAllocationScope allocationScope);
2420 typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
2424 deUintptr alignment,
2425 VkSystemAllocationScope allocationScope);
2427 typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
2428 typedef struct VkAllocationCallbacks {
2430 PFN_vkAllocationFunction pfnAllocation;
2431 PFN_vkReallocationFunction pfnReallocation;
2432 PFN_vkFreeFunction pfnFree;
2433 PFN_vkInternalAllocationNotification pfnInternalAllocation;
2434 PFN_vkInternalFreeNotification pfnInternalFree;
2435 } VkAllocationCallbacks;
2437 typedef struct VkApplicationInfo {
2438 VkStructureType sType;
2440 const char* pApplicationName;
2441 deUint32 applicationVersion;
2442 const char* pEngineName;
2443 deUint32 engineVersion;
2444 deUint32 apiVersion;
2445 } VkApplicationInfo;
2447 typedef struct VkFormatProperties {
2448 VkFormatFeatureFlags linearTilingFeatures;
2449 VkFormatFeatureFlags optimalTilingFeatures;
2450 VkFormatFeatureFlags bufferFeatures;
2451 } VkFormatProperties;
2453 typedef struct VkImageFormatProperties {
2454 VkExtent3D maxExtent;
2455 deUint32 maxMipLevels;
2456 deUint32 maxArrayLayers;
2457 VkSampleCountFlags sampleCounts;
2458 VkDeviceSize maxResourceSize;
2459 } VkImageFormatProperties;
2461 typedef struct VkInstanceCreateInfo {
2462 VkStructureType sType;
2464 VkInstanceCreateFlags flags;
2465 const VkApplicationInfo* pApplicationInfo;
2466 deUint32 enabledLayerCount;
2467 const char* const* ppEnabledLayerNames;
2468 deUint32 enabledExtensionCount;
2469 const char* const* ppEnabledExtensionNames;
2470 } VkInstanceCreateInfo;
2472 typedef struct VkMemoryHeap {
2474 VkMemoryHeapFlags flags;
2477 typedef struct VkMemoryType {
2478 VkMemoryPropertyFlags propertyFlags;
2482 typedef struct VkPhysicalDeviceFeatures {
2483 VkBool32 robustBufferAccess;
2484 VkBool32 fullDrawIndexUint32;
2485 VkBool32 imageCubeArray;
2486 VkBool32 independentBlend;
2487 VkBool32 geometryShader;
2488 VkBool32 tessellationShader;
2489 VkBool32 sampleRateShading;
2490 VkBool32 dualSrcBlend;
2492 VkBool32 multiDrawIndirect;
2493 VkBool32 drawIndirectFirstInstance;
2494 VkBool32 depthClamp;
2495 VkBool32 depthBiasClamp;
2496 VkBool32 fillModeNonSolid;
2497 VkBool32 depthBounds;
2499 VkBool32 largePoints;
2500 VkBool32 alphaToOne;
2501 VkBool32 multiViewport;
2502 VkBool32 samplerAnisotropy;
2503 VkBool32 textureCompressionETC2;
2504 VkBool32 textureCompressionASTC_LDR;
2505 VkBool32 textureCompressionBC;
2506 VkBool32 occlusionQueryPrecise;
2507 VkBool32 pipelineStatisticsQuery;
2508 VkBool32 vertexPipelineStoresAndAtomics;
2509 VkBool32 fragmentStoresAndAtomics;
2510 VkBool32 shaderTessellationAndGeometryPointSize;
2511 VkBool32 shaderImageGatherExtended;
2512 VkBool32 shaderStorageImageExtendedFormats;
2513 VkBool32 shaderStorageImageMultisample;
2514 VkBool32 shaderStorageImageReadWithoutFormat;
2515 VkBool32 shaderStorageImageWriteWithoutFormat;
2516 VkBool32 shaderUniformBufferArrayDynamicIndexing;
2517 VkBool32 shaderSampledImageArrayDynamicIndexing;
2518 VkBool32 shaderStorageBufferArrayDynamicIndexing;
2519 VkBool32 shaderStorageImageArrayDynamicIndexing;
2520 VkBool32 shaderClipDistance;
2521 VkBool32 shaderCullDistance;
2522 VkBool32 shaderFloat64;
2523 VkBool32 shaderInt64;
2524 VkBool32 shaderInt16;
2525 VkBool32 shaderResourceResidency;
2526 VkBool32 shaderResourceMinLod;
2527 VkBool32 sparseBinding;
2528 VkBool32 sparseResidencyBuffer;
2529 VkBool32 sparseResidencyImage2D;
2530 VkBool32 sparseResidencyImage3D;
2531 VkBool32 sparseResidency2Samples;
2532 VkBool32 sparseResidency4Samples;
2533 VkBool32 sparseResidency8Samples;
2534 VkBool32 sparseResidency16Samples;
2535 VkBool32 sparseResidencyAliased;
2536 VkBool32 variableMultisampleRate;
2537 VkBool32 inheritedQueries;
2538 } VkPhysicalDeviceFeatures;
2540 typedef struct VkPhysicalDeviceLimits {
2541 deUint32 maxImageDimension1D;
2542 deUint32 maxImageDimension2D;
2543 deUint32 maxImageDimension3D;
2544 deUint32 maxImageDimensionCube;
2545 deUint32 maxImageArrayLayers;
2546 deUint32 maxTexelBufferElements;
2547 deUint32 maxUniformBufferRange;
2548 deUint32 maxStorageBufferRange;
2549 deUint32 maxPushConstantsSize;
2550 deUint32 maxMemoryAllocationCount;
2551 deUint32 maxSamplerAllocationCount;
2552 VkDeviceSize bufferImageGranularity;
2553 VkDeviceSize sparseAddressSpaceSize;
2554 deUint32 maxBoundDescriptorSets;
2555 deUint32 maxPerStageDescriptorSamplers;
2556 deUint32 maxPerStageDescriptorUniformBuffers;
2557 deUint32 maxPerStageDescriptorStorageBuffers;
2558 deUint32 maxPerStageDescriptorSampledImages;
2559 deUint32 maxPerStageDescriptorStorageImages;
2560 deUint32 maxPerStageDescriptorInputAttachments;
2561 deUint32 maxPerStageResources;
2562 deUint32 maxDescriptorSetSamplers;
2563 deUint32 maxDescriptorSetUniformBuffers;
2564 deUint32 maxDescriptorSetUniformBuffersDynamic;
2565 deUint32 maxDescriptorSetStorageBuffers;
2566 deUint32 maxDescriptorSetStorageBuffersDynamic;
2567 deUint32 maxDescriptorSetSampledImages;
2568 deUint32 maxDescriptorSetStorageImages;
2569 deUint32 maxDescriptorSetInputAttachments;
2570 deUint32 maxVertexInputAttributes;
2571 deUint32 maxVertexInputBindings;
2572 deUint32 maxVertexInputAttributeOffset;
2573 deUint32 maxVertexInputBindingStride;
2574 deUint32 maxVertexOutputComponents;
2575 deUint32 maxTessellationGenerationLevel;
2576 deUint32 maxTessellationPatchSize;
2577 deUint32 maxTessellationControlPerVertexInputComponents;
2578 deUint32 maxTessellationControlPerVertexOutputComponents;
2579 deUint32 maxTessellationControlPerPatchOutputComponents;
2580 deUint32 maxTessellationControlTotalOutputComponents;
2581 deUint32 maxTessellationEvaluationInputComponents;
2582 deUint32 maxTessellationEvaluationOutputComponents;
2583 deUint32 maxGeometryShaderInvocations;
2584 deUint32 maxGeometryInputComponents;
2585 deUint32 maxGeometryOutputComponents;
2586 deUint32 maxGeometryOutputVertices;
2587 deUint32 maxGeometryTotalOutputComponents;
2588 deUint32 maxFragmentInputComponents;
2589 deUint32 maxFragmentOutputAttachments;
2590 deUint32 maxFragmentDualSrcAttachments;
2591 deUint32 maxFragmentCombinedOutputResources;
2592 deUint32 maxComputeSharedMemorySize;
2593 deUint32 maxComputeWorkGroupCount[3];
2594 deUint32 maxComputeWorkGroupInvocations;
2595 deUint32 maxComputeWorkGroupSize[3];
2596 deUint32 subPixelPrecisionBits;
2597 deUint32 subTexelPrecisionBits;
2598 deUint32 mipmapPrecisionBits;
2599 deUint32 maxDrawIndexedIndexValue;
2600 deUint32 maxDrawIndirectCount;
2601 float maxSamplerLodBias;
2602 float maxSamplerAnisotropy;
2603 deUint32 maxViewports;
2604 deUint32 maxViewportDimensions[2];
2605 float viewportBoundsRange[2];
2606 deUint32 viewportSubPixelBits;
2607 deUintptr minMemoryMapAlignment;
2608 VkDeviceSize minTexelBufferOffsetAlignment;
2609 VkDeviceSize minUniformBufferOffsetAlignment;
2610 VkDeviceSize minStorageBufferOffsetAlignment;
2611 deInt32 minTexelOffset;
2612 deUint32 maxTexelOffset;
2613 deInt32 minTexelGatherOffset;
2614 deUint32 maxTexelGatherOffset;
2615 float minInterpolationOffset;
2616 float maxInterpolationOffset;
2617 deUint32 subPixelInterpolationOffsetBits;
2618 deUint32 maxFramebufferWidth;
2619 deUint32 maxFramebufferHeight;
2620 deUint32 maxFramebufferLayers;
2621 VkSampleCountFlags framebufferColorSampleCounts;
2622 VkSampleCountFlags framebufferDepthSampleCounts;
2623 VkSampleCountFlags framebufferStencilSampleCounts;
2624 VkSampleCountFlags framebufferNoAttachmentsSampleCounts;
2625 deUint32 maxColorAttachments;
2626 VkSampleCountFlags sampledImageColorSampleCounts;
2627 VkSampleCountFlags sampledImageIntegerSampleCounts;
2628 VkSampleCountFlags sampledImageDepthSampleCounts;
2629 VkSampleCountFlags sampledImageStencilSampleCounts;
2630 VkSampleCountFlags storageImageSampleCounts;
2631 deUint32 maxSampleMaskWords;
2632 VkBool32 timestampComputeAndGraphics;
2633 float timestampPeriod;
2634 deUint32 maxClipDistances;
2635 deUint32 maxCullDistances;
2636 deUint32 maxCombinedClipAndCullDistances;
2637 deUint32 discreteQueuePriorities;
2638 float pointSizeRange[2];
2639 float lineWidthRange[2];
2640 float pointSizeGranularity;
2641 float lineWidthGranularity;
2642 VkBool32 strictLines;
2643 VkBool32 standardSampleLocations;
2644 VkDeviceSize optimalBufferCopyOffsetAlignment;
2645 VkDeviceSize optimalBufferCopyRowPitchAlignment;
2646 VkDeviceSize nonCoherentAtomSize;
2647 } VkPhysicalDeviceLimits;
2649 typedef struct VkPhysicalDeviceMemoryProperties {
2650 deUint32 memoryTypeCount;
2651 VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES];
2652 deUint32 memoryHeapCount;
2653 VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS];
2654 } VkPhysicalDeviceMemoryProperties;
2656 typedef struct VkPhysicalDeviceSparseProperties {
2657 VkBool32 residencyStandard2DBlockShape;
2658 VkBool32 residencyStandard2DMultisampleBlockShape;
2659 VkBool32 residencyStandard3DBlockShape;
2660 VkBool32 residencyAlignedMipSize;
2661 VkBool32 residencyNonResidentStrict;
2662 } VkPhysicalDeviceSparseProperties;
2664 typedef struct VkPhysicalDeviceProperties {
2665 deUint32 apiVersion;
2666 deUint32 driverVersion;
2669 VkPhysicalDeviceType deviceType;
2670 char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
2671 deUint8 pipelineCacheUUID[VK_UUID_SIZE];
2672 VkPhysicalDeviceLimits limits;
2673 VkPhysicalDeviceSparseProperties sparseProperties;
2674 } VkPhysicalDeviceProperties;
2676 typedef struct VkQueueFamilyProperties {
2677 VkQueueFlags queueFlags;
2678 deUint32 queueCount;
2679 deUint32 timestampValidBits;
2680 VkExtent3D minImageTransferGranularity;
2681 } VkQueueFamilyProperties;
2683 typedef struct VkDeviceQueueCreateInfo {
2684 VkStructureType sType;
2686 VkDeviceQueueCreateFlags flags;
2687 deUint32 queueFamilyIndex;
2688 deUint32 queueCount;
2689 const float* pQueuePriorities;
2690 } VkDeviceQueueCreateInfo;
2692 typedef struct VkDeviceCreateInfo {
2693 VkStructureType sType;
2695 VkDeviceCreateFlags flags;
2696 deUint32 queueCreateInfoCount;
2697 const VkDeviceQueueCreateInfo* pQueueCreateInfos;
2698 deUint32 enabledLayerCount;
2699 const char* const* ppEnabledLayerNames;
2700 deUint32 enabledExtensionCount;
2701 const char* const* ppEnabledExtensionNames;
2702 const VkPhysicalDeviceFeatures* pEnabledFeatures;
2703 } VkDeviceCreateInfo;
2705 typedef struct VkExtensionProperties {
2706 char extensionName[VK_MAX_EXTENSION_NAME_SIZE];
2707 deUint32 specVersion;
2708 } VkExtensionProperties;
2710 typedef struct VkLayerProperties {
2711 char layerName[VK_MAX_EXTENSION_NAME_SIZE];
2712 deUint32 specVersion;
2713 deUint32 implementationVersion;
2714 char description[VK_MAX_DESCRIPTION_SIZE];
2715 } VkLayerProperties;
2717 typedef struct VkSubmitInfo {
2718 VkStructureType sType;
2720 deUint32 waitSemaphoreCount;
2721 const VkSemaphore* pWaitSemaphores;
2722 const VkPipelineStageFlags* pWaitDstStageMask;
2723 deUint32 commandBufferCount;
2724 const VkCommandBuffer* pCommandBuffers;
2725 deUint32 signalSemaphoreCount;
2726 const VkSemaphore* pSignalSemaphores;
2729 typedef struct VkMappedMemoryRange {
2730 VkStructureType sType;
2732 VkDeviceMemory memory;
2733 VkDeviceSize offset;
2735 } VkMappedMemoryRange;
2737 typedef struct VkMemoryAllocateInfo {
2738 VkStructureType sType;
2740 VkDeviceSize allocationSize;
2741 deUint32 memoryTypeIndex;
2742 } VkMemoryAllocateInfo;
2744 typedef struct VkMemoryRequirements {
2746 VkDeviceSize alignment;
2747 deUint32 memoryTypeBits;
2748 } VkMemoryRequirements;
2750 typedef struct VkSparseMemoryBind {
2751 VkDeviceSize resourceOffset;
2753 VkDeviceMemory memory;
2754 VkDeviceSize memoryOffset;
2755 VkSparseMemoryBindFlags flags;
2756 } VkSparseMemoryBind;
2758 typedef struct VkSparseBufferMemoryBindInfo {
2761 const VkSparseMemoryBind* pBinds;
2762 } VkSparseBufferMemoryBindInfo;
2764 typedef struct VkSparseImageOpaqueMemoryBindInfo {
2767 const VkSparseMemoryBind* pBinds;
2768 } VkSparseImageOpaqueMemoryBindInfo;
2770 typedef struct VkImageSubresource {
2771 VkImageAspectFlags aspectMask;
2773 deUint32 arrayLayer;
2774 } VkImageSubresource;
2776 typedef struct VkSparseImageMemoryBind {
2777 VkImageSubresource subresource;
2780 VkDeviceMemory memory;
2781 VkDeviceSize memoryOffset;
2782 VkSparseMemoryBindFlags flags;
2783 } VkSparseImageMemoryBind;
2785 typedef struct VkSparseImageMemoryBindInfo {
2788 const VkSparseImageMemoryBind* pBinds;
2789 } VkSparseImageMemoryBindInfo;
2791 typedef struct VkBindSparseInfo {
2792 VkStructureType sType;
2794 deUint32 waitSemaphoreCount;
2795 const VkSemaphore* pWaitSemaphores;
2796 deUint32 bufferBindCount;
2797 const VkSparseBufferMemoryBindInfo* pBufferBinds;
2798 deUint32 imageOpaqueBindCount;
2799 const VkSparseImageOpaqueMemoryBindInfo* pImageOpaqueBinds;
2800 deUint32 imageBindCount;
2801 const VkSparseImageMemoryBindInfo* pImageBinds;
2802 deUint32 signalSemaphoreCount;
2803 const VkSemaphore* pSignalSemaphores;
2806 typedef struct VkSparseImageFormatProperties {
2807 VkImageAspectFlags aspectMask;
2808 VkExtent3D imageGranularity;
2809 VkSparseImageFormatFlags flags;
2810 } VkSparseImageFormatProperties;
2812 typedef struct VkSparseImageMemoryRequirements {
2813 VkSparseImageFormatProperties formatProperties;
2814 deUint32 imageMipTailFirstLod;
2815 VkDeviceSize imageMipTailSize;
2816 VkDeviceSize imageMipTailOffset;
2817 VkDeviceSize imageMipTailStride;
2818 } VkSparseImageMemoryRequirements;
2820 typedef struct VkFenceCreateInfo {
2821 VkStructureType sType;
2823 VkFenceCreateFlags flags;
2824 } VkFenceCreateInfo;
2826 typedef struct VkSemaphoreCreateInfo {
2827 VkStructureType sType;
2829 VkSemaphoreCreateFlags flags;
2830 } VkSemaphoreCreateInfo;
2832 typedef struct VkEventCreateInfo {
2833 VkStructureType sType;
2835 VkEventCreateFlags flags;
2836 } VkEventCreateInfo;
2838 typedef struct VkQueryPoolCreateInfo {
2839 VkStructureType sType;
2841 VkQueryPoolCreateFlags flags;
2842 VkQueryType queryType;
2843 deUint32 queryCount;
2844 VkQueryPipelineStatisticFlags pipelineStatistics;
2845 } VkQueryPoolCreateInfo;
2847 typedef struct VkBufferCreateInfo {
2848 VkStructureType sType;
2850 VkBufferCreateFlags flags;
2852 VkBufferUsageFlags usage;
2853 VkSharingMode sharingMode;
2854 deUint32 queueFamilyIndexCount;
2855 const deUint32* pQueueFamilyIndices;
2856 } VkBufferCreateInfo;
2858 typedef struct VkBufferViewCreateInfo {
2859 VkStructureType sType;
2861 VkBufferViewCreateFlags flags;
2864 VkDeviceSize offset;
2866 } VkBufferViewCreateInfo;
2868 typedef struct VkImageCreateInfo {
2869 VkStructureType sType;
2871 VkImageCreateFlags flags;
2872 VkImageType imageType;
2876 deUint32 arrayLayers;
2877 VkSampleCountFlagBits samples;
2878 VkImageTiling tiling;
2879 VkImageUsageFlags usage;
2880 VkSharingMode sharingMode;
2881 deUint32 queueFamilyIndexCount;
2882 const deUint32* pQueueFamilyIndices;
2883 VkImageLayout initialLayout;
2884 } VkImageCreateInfo;
2886 typedef struct VkSubresourceLayout {
2887 VkDeviceSize offset;
2889 VkDeviceSize rowPitch;
2890 VkDeviceSize arrayPitch;
2891 VkDeviceSize depthPitch;
2892 } VkSubresourceLayout;
2894 typedef struct VkComponentMapping {
2895 VkComponentSwizzle r;
2896 VkComponentSwizzle g;
2897 VkComponentSwizzle b;
2898 VkComponentSwizzle a;
2899 } VkComponentMapping;
2901 typedef struct VkImageViewCreateInfo {
2902 VkStructureType sType;
2904 VkImageViewCreateFlags flags;
2906 VkImageViewType viewType;
2908 VkComponentMapping components;
2909 VkImageSubresourceRange subresourceRange;
2910 } VkImageViewCreateInfo;
2912 typedef struct VkShaderModuleCreateInfo {
2913 VkStructureType sType;
2915 VkShaderModuleCreateFlags flags;
2917 const deUint32* pCode;
2918 } VkShaderModuleCreateInfo;
2920 typedef struct VkPipelineCacheCreateInfo {
2921 VkStructureType sType;
2923 VkPipelineCacheCreateFlags flags;
2924 deUintptr initialDataSize;
2925 const void* pInitialData;
2926 } VkPipelineCacheCreateInfo;
2928 typedef struct VkSpecializationMapEntry {
2929 deUint32 constantID;
2932 } VkSpecializationMapEntry;
2934 typedef struct VkSpecializationInfo {
2935 deUint32 mapEntryCount;
2936 const VkSpecializationMapEntry* pMapEntries;
2939 } VkSpecializationInfo;
2941 typedef struct VkPipelineShaderStageCreateInfo {
2942 VkStructureType sType;
2944 VkPipelineShaderStageCreateFlags flags;
2945 VkShaderStageFlagBits stage;
2946 VkShaderModule module;
2948 const VkSpecializationInfo* pSpecializationInfo;
2949 } VkPipelineShaderStageCreateInfo;
2951 typedef struct VkComputePipelineCreateInfo {
2952 VkStructureType sType;
2954 VkPipelineCreateFlags flags;
2955 VkPipelineShaderStageCreateInfo stage;
2956 VkPipelineLayout layout;
2957 VkPipeline basePipelineHandle;
2958 deInt32 basePipelineIndex;
2959 } VkComputePipelineCreateInfo;
2961 typedef struct VkVertexInputBindingDescription {
2964 VkVertexInputRate inputRate;
2965 } VkVertexInputBindingDescription;
2967 typedef struct VkVertexInputAttributeDescription {
2972 } VkVertexInputAttributeDescription;
2974 typedef struct VkPipelineVertexInputStateCreateInfo {
2975 VkStructureType sType;
2977 VkPipelineVertexInputStateCreateFlags flags;
2978 deUint32 vertexBindingDescriptionCount;
2979 const VkVertexInputBindingDescription* pVertexBindingDescriptions;
2980 deUint32 vertexAttributeDescriptionCount;
2981 const VkVertexInputAttributeDescription* pVertexAttributeDescriptions;
2982 } VkPipelineVertexInputStateCreateInfo;
2984 typedef struct VkPipelineInputAssemblyStateCreateInfo {
2985 VkStructureType sType;
2987 VkPipelineInputAssemblyStateCreateFlags flags;
2988 VkPrimitiveTopology topology;
2989 VkBool32 primitiveRestartEnable;
2990 } VkPipelineInputAssemblyStateCreateInfo;
2992 typedef struct VkPipelineTessellationStateCreateInfo {
2993 VkStructureType sType;
2995 VkPipelineTessellationStateCreateFlags flags;
2996 deUint32 patchControlPoints;
2997 } VkPipelineTessellationStateCreateInfo;
2999 typedef struct VkViewport {
3008 typedef struct VkPipelineViewportStateCreateInfo {
3009 VkStructureType sType;
3011 VkPipelineViewportStateCreateFlags flags;
3012 deUint32 viewportCount;
3013 const VkViewport* pViewports;
3014 deUint32 scissorCount;
3015 const VkRect2D* pScissors;
3016 } VkPipelineViewportStateCreateInfo;
3018 typedef struct VkPipelineRasterizationStateCreateInfo {
3019 VkStructureType sType;
3021 VkPipelineRasterizationStateCreateFlags flags;
3022 VkBool32 depthClampEnable;
3023 VkBool32 rasterizerDiscardEnable;
3024 VkPolygonMode polygonMode;
3025 VkCullModeFlags cullMode;
3026 VkFrontFace frontFace;
3027 VkBool32 depthBiasEnable;
3028 float depthBiasConstantFactor;
3029 float depthBiasClamp;
3030 float depthBiasSlopeFactor;
3032 } VkPipelineRasterizationStateCreateInfo;
3034 typedef struct VkPipelineMultisampleStateCreateInfo {
3035 VkStructureType sType;
3037 VkPipelineMultisampleStateCreateFlags flags;
3038 VkSampleCountFlagBits rasterizationSamples;
3039 VkBool32 sampleShadingEnable;
3040 float minSampleShading;
3041 const VkSampleMask* pSampleMask;
3042 VkBool32 alphaToCoverageEnable;
3043 VkBool32 alphaToOneEnable;
3044 } VkPipelineMultisampleStateCreateInfo;
3046 typedef struct VkStencilOpState {
3049 VkStencilOp depthFailOp;
3050 VkCompareOp compareOp;
3051 deUint32 compareMask;
3056 typedef struct VkPipelineDepthStencilStateCreateInfo {
3057 VkStructureType sType;
3059 VkPipelineDepthStencilStateCreateFlags flags;
3060 VkBool32 depthTestEnable;
3061 VkBool32 depthWriteEnable;
3062 VkCompareOp depthCompareOp;
3063 VkBool32 depthBoundsTestEnable;
3064 VkBool32 stencilTestEnable;
3065 VkStencilOpState front;
3066 VkStencilOpState back;
3067 float minDepthBounds;
3068 float maxDepthBounds;
3069 } VkPipelineDepthStencilStateCreateInfo;
3071 typedef struct VkPipelineColorBlendAttachmentState {
3072 VkBool32 blendEnable;
3073 VkBlendFactor srcColorBlendFactor;
3074 VkBlendFactor dstColorBlendFactor;
3075 VkBlendOp colorBlendOp;
3076 VkBlendFactor srcAlphaBlendFactor;
3077 VkBlendFactor dstAlphaBlendFactor;
3078 VkBlendOp alphaBlendOp;
3079 VkColorComponentFlags colorWriteMask;
3080 } VkPipelineColorBlendAttachmentState;
3082 typedef struct VkPipelineColorBlendStateCreateInfo {
3083 VkStructureType sType;
3085 VkPipelineColorBlendStateCreateFlags flags;
3086 VkBool32 logicOpEnable;
3088 deUint32 attachmentCount;
3089 const VkPipelineColorBlendAttachmentState* pAttachments;
3090 float blendConstants[4];
3091 } VkPipelineColorBlendStateCreateInfo;
3093 typedef struct VkPipelineDynamicStateCreateInfo {
3094 VkStructureType sType;
3096 VkPipelineDynamicStateCreateFlags flags;
3097 deUint32 dynamicStateCount;
3098 const VkDynamicState* pDynamicStates;
3099 } VkPipelineDynamicStateCreateInfo;
3101 typedef struct VkGraphicsPipelineCreateInfo {
3102 VkStructureType sType;
3104 VkPipelineCreateFlags flags;
3105 deUint32 stageCount;
3106 const VkPipelineShaderStageCreateInfo* pStages;
3107 const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
3108 const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState;
3109 const VkPipelineTessellationStateCreateInfo* pTessellationState;
3110 const VkPipelineViewportStateCreateInfo* pViewportState;
3111 const VkPipelineRasterizationStateCreateInfo* pRasterizationState;
3112 const VkPipelineMultisampleStateCreateInfo* pMultisampleState;
3113 const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState;
3114 const VkPipelineColorBlendStateCreateInfo* pColorBlendState;
3115 const VkPipelineDynamicStateCreateInfo* pDynamicState;
3116 VkPipelineLayout layout;
3117 VkRenderPass renderPass;
3119 VkPipeline basePipelineHandle;
3120 deInt32 basePipelineIndex;
3121 } VkGraphicsPipelineCreateInfo;
3123 typedef struct VkPushConstantRange {
3124 VkShaderStageFlags stageFlags;
3127 } VkPushConstantRange;
3129 typedef struct VkPipelineLayoutCreateInfo {
3130 VkStructureType sType;
3132 VkPipelineLayoutCreateFlags flags;
3133 deUint32 setLayoutCount;
3134 const VkDescriptorSetLayout* pSetLayouts;
3135 deUint32 pushConstantRangeCount;
3136 const VkPushConstantRange* pPushConstantRanges;
3137 } VkPipelineLayoutCreateInfo;
3139 typedef struct VkSamplerCreateInfo {
3140 VkStructureType sType;
3142 VkSamplerCreateFlags flags;
3145 VkSamplerMipmapMode mipmapMode;
3146 VkSamplerAddressMode addressModeU;
3147 VkSamplerAddressMode addressModeV;
3148 VkSamplerAddressMode addressModeW;
3150 VkBool32 anisotropyEnable;
3151 float maxAnisotropy;
3152 VkBool32 compareEnable;
3153 VkCompareOp compareOp;
3156 VkBorderColor borderColor;
3157 VkBool32 unnormalizedCoordinates;
3158 } VkSamplerCreateInfo;
3160 typedef struct VkCopyDescriptorSet {
3161 VkStructureType sType;
3163 VkDescriptorSet srcSet;
3164 deUint32 srcBinding;
3165 deUint32 srcArrayElement;
3166 VkDescriptorSet dstSet;
3167 deUint32 dstBinding;
3168 deUint32 dstArrayElement;
3169 deUint32 descriptorCount;
3170 } VkCopyDescriptorSet;
3172 typedef struct VkDescriptorBufferInfo {
3174 VkDeviceSize offset;
3176 } VkDescriptorBufferInfo;
3178 typedef struct VkDescriptorImageInfo {
3180 VkImageView imageView;
3181 VkImageLayout imageLayout;
3182 } VkDescriptorImageInfo;
3184 typedef struct VkDescriptorPoolSize {
3185 VkDescriptorType type;
3186 deUint32 descriptorCount;
3187 } VkDescriptorPoolSize;
3189 typedef struct VkDescriptorPoolCreateInfo {
3190 VkStructureType sType;
3192 VkDescriptorPoolCreateFlags flags;
3194 deUint32 poolSizeCount;
3195 const VkDescriptorPoolSize* pPoolSizes;
3196 } VkDescriptorPoolCreateInfo;
3198 typedef struct VkDescriptorSetAllocateInfo {
3199 VkStructureType sType;
3201 VkDescriptorPool descriptorPool;
3202 deUint32 descriptorSetCount;
3203 const VkDescriptorSetLayout* pSetLayouts;
3204 } VkDescriptorSetAllocateInfo;
3206 typedef struct VkDescriptorSetLayoutBinding {
3208 VkDescriptorType descriptorType;
3209 deUint32 descriptorCount;
3210 VkShaderStageFlags stageFlags;
3211 const VkSampler* pImmutableSamplers;
3212 } VkDescriptorSetLayoutBinding;
3214 typedef struct VkDescriptorSetLayoutCreateInfo {
3215 VkStructureType sType;
3217 VkDescriptorSetLayoutCreateFlags flags;
3218 deUint32 bindingCount;
3219 const VkDescriptorSetLayoutBinding* pBindings;
3220 } VkDescriptorSetLayoutCreateInfo;
3222 typedef struct VkWriteDescriptorSet {
3223 VkStructureType sType;
3225 VkDescriptorSet dstSet;
3226 deUint32 dstBinding;
3227 deUint32 dstArrayElement;
3228 deUint32 descriptorCount;
3229 VkDescriptorType descriptorType;
3230 const VkDescriptorImageInfo* pImageInfo;
3231 const VkDescriptorBufferInfo* pBufferInfo;
3232 const VkBufferView* pTexelBufferView;
3233 } VkWriteDescriptorSet;
3235 typedef struct VkAttachmentDescription {
3236 VkAttachmentDescriptionFlags flags;
3238 VkSampleCountFlagBits samples;
3239 VkAttachmentLoadOp loadOp;
3240 VkAttachmentStoreOp storeOp;
3241 VkAttachmentLoadOp stencilLoadOp;
3242 VkAttachmentStoreOp stencilStoreOp;
3243 VkImageLayout initialLayout;
3244 VkImageLayout finalLayout;
3245 } VkAttachmentDescription;
3247 typedef struct VkAttachmentReference {
3248 deUint32 attachment;
3249 VkImageLayout layout;
3250 } VkAttachmentReference;
3252 typedef struct VkFramebufferCreateInfo {
3253 VkStructureType sType;
3255 VkFramebufferCreateFlags flags;
3256 VkRenderPass renderPass;
3257 deUint32 attachmentCount;
3258 const VkImageView* pAttachments;
3262 } VkFramebufferCreateInfo;
3264 typedef struct VkSubpassDescription {
3265 VkSubpassDescriptionFlags flags;
3266 VkPipelineBindPoint pipelineBindPoint;
3267 deUint32 inputAttachmentCount;
3268 const VkAttachmentReference* pInputAttachments;
3269 deUint32 colorAttachmentCount;
3270 const VkAttachmentReference* pColorAttachments;
3271 const VkAttachmentReference* pResolveAttachments;
3272 const VkAttachmentReference* pDepthStencilAttachment;
3273 deUint32 preserveAttachmentCount;
3274 const deUint32* pPreserveAttachments;
3275 } VkSubpassDescription;
3277 typedef struct VkSubpassDependency {
3278 deUint32 srcSubpass;
3279 deUint32 dstSubpass;
3280 VkPipelineStageFlags srcStageMask;
3281 VkPipelineStageFlags dstStageMask;
3282 VkAccessFlags srcAccessMask;
3283 VkAccessFlags dstAccessMask;
3284 VkDependencyFlags dependencyFlags;
3285 } VkSubpassDependency;
3287 typedef struct VkRenderPassCreateInfo {
3288 VkStructureType sType;
3290 VkRenderPassCreateFlags flags;
3291 deUint32 attachmentCount;
3292 const VkAttachmentDescription* pAttachments;
3293 deUint32 subpassCount;
3294 const VkSubpassDescription* pSubpasses;
3295 deUint32 dependencyCount;
3296 const VkSubpassDependency* pDependencies;
3297 } VkRenderPassCreateInfo;
3299 typedef struct VkCommandPoolCreateInfo {
3300 VkStructureType sType;
3302 VkCommandPoolCreateFlags flags;
3303 deUint32 queueFamilyIndex;
3304 } VkCommandPoolCreateInfo;
3306 typedef struct VkCommandBufferAllocateInfo {
3307 VkStructureType sType;
3309 VkCommandPool commandPool;
3310 VkCommandBufferLevel level;
3311 deUint32 commandBufferCount;
3312 } VkCommandBufferAllocateInfo;
3314 typedef struct VkCommandBufferInheritanceInfo {
3315 VkStructureType sType;
3317 VkRenderPass renderPass;
3319 VkFramebuffer framebuffer;
3320 VkBool32 occlusionQueryEnable;
3321 VkQueryControlFlags queryFlags;
3322 VkQueryPipelineStatisticFlags pipelineStatistics;
3323 } VkCommandBufferInheritanceInfo;
3325 typedef struct VkCommandBufferBeginInfo {
3326 VkStructureType sType;
3328 VkCommandBufferUsageFlags flags;
3329 const VkCommandBufferInheritanceInfo* pInheritanceInfo;
3330 } VkCommandBufferBeginInfo;
3332 typedef struct VkBufferCopy {
3333 VkDeviceSize srcOffset;
3334 VkDeviceSize dstOffset;
3338 typedef struct VkImageSubresourceLayers {
3339 VkImageAspectFlags aspectMask;
3341 deUint32 baseArrayLayer;
3342 deUint32 layerCount;
3343 } VkImageSubresourceLayers;
3345 typedef struct VkBufferImageCopy {
3346 VkDeviceSize bufferOffset;
3347 deUint32 bufferRowLength;
3348 deUint32 bufferImageHeight;
3349 VkImageSubresourceLayers imageSubresource;
3350 VkOffset3D imageOffset;
3351 VkExtent3D imageExtent;
3352 } VkBufferImageCopy;
3354 typedef union VkClearColorValue {
3358 } VkClearColorValue;
3360 typedef struct VkClearDepthStencilValue {
3363 } VkClearDepthStencilValue;
3365 typedef union VkClearValue {
3366 VkClearColorValue color;
3367 VkClearDepthStencilValue depthStencil;
3370 typedef struct VkClearAttachment {
3371 VkImageAspectFlags aspectMask;
3372 deUint32 colorAttachment;
3373 VkClearValue clearValue;
3374 } VkClearAttachment;
3376 typedef struct VkClearRect {
3378 deUint32 baseArrayLayer;
3379 deUint32 layerCount;
3382 typedef struct VkImageBlit {
3383 VkImageSubresourceLayers srcSubresource;
3384 VkOffset3D srcOffsets[2];
3385 VkImageSubresourceLayers dstSubresource;
3386 VkOffset3D dstOffsets[2];
3389 typedef struct VkImageCopy {
3390 VkImageSubresourceLayers srcSubresource;
3391 VkOffset3D srcOffset;
3392 VkImageSubresourceLayers dstSubresource;
3393 VkOffset3D dstOffset;
3397 typedef struct VkImageResolve {
3398 VkImageSubresourceLayers srcSubresource;
3399 VkOffset3D srcOffset;
3400 VkImageSubresourceLayers dstSubresource;
3401 VkOffset3D dstOffset;
3405 typedef struct VkRenderPassBeginInfo {
3406 VkStructureType sType;
3408 VkRenderPass renderPass;
3409 VkFramebuffer framebuffer;
3410 VkRect2D renderArea;
3411 deUint32 clearValueCount;
3412 const VkClearValue* pClearValues;
3413 } VkRenderPassBeginInfo;
3415 typedef VkResult (VKAPI_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance);
3416 typedef void (VKAPI_PTR *PFN_vkDestroyInstance)(VkInstance instance, const VkAllocationCallbacks* pAllocator);
3417 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDevices)(VkInstance instance, deUint32* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices);
3418 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures);
3419 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties);
3420 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties);
3421 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties);
3422 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties);
3423 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties);
3424 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddr)(VkInstance instance, const char* pName);
3425 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetDeviceProcAddr)(VkDevice device, const char* pName);
3426 typedef VkResult (VKAPI_PTR *PFN_vkCreateDevice)(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice);
3427 typedef void (VKAPI_PTR *PFN_vkDestroyDevice)(VkDevice device, const VkAllocationCallbacks* pAllocator);
3428 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceExtensionProperties)(const char* pLayerName, deUint32* pPropertyCount, VkExtensionProperties* pProperties);
3429 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice physicalDevice, const char* pLayerName, deUint32* pPropertyCount, VkExtensionProperties* pProperties);
3430 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceLayerProperties)(deUint32* pPropertyCount, VkLayerProperties* pProperties);
3431 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkLayerProperties* pProperties);
3432 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue)(VkDevice device, deUint32 queueFamilyIndex, deUint32 queueIndex, VkQueue* pQueue);
3433 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit)(VkQueue queue, deUint32 submitCount, const VkSubmitInfo* pSubmits, VkFence fence);
3434 typedef VkResult (VKAPI_PTR *PFN_vkQueueWaitIdle)(VkQueue queue);
3435 typedef VkResult (VKAPI_PTR *PFN_vkDeviceWaitIdle)(VkDevice device);
3436 typedef VkResult (VKAPI_PTR *PFN_vkAllocateMemory)(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory);
3437 typedef void (VKAPI_PTR *PFN_vkFreeMemory)(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator);
3438 typedef VkResult (VKAPI_PTR *PFN_vkMapMemory)(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData);
3439 typedef void (VKAPI_PTR *PFN_vkUnmapMemory)(VkDevice device, VkDeviceMemory memory);
3440 typedef VkResult (VKAPI_PTR *PFN_vkFlushMappedMemoryRanges)(VkDevice device, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
3441 typedef VkResult (VKAPI_PTR *PFN_vkInvalidateMappedMemoryRanges)(VkDevice device, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
3442 typedef void (VKAPI_PTR *PFN_vkGetDeviceMemoryCommitment)(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes);
3443 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory)(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset);
3444 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory)(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset);
3445 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements)(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements);
3446 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements)(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements);
3447 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements)(VkDevice device, VkImage image, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
3448 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, deUint32* pPropertyCount, VkSparseImageFormatProperties* pProperties);
3449 typedef VkResult (VKAPI_PTR *PFN_vkQueueBindSparse)(VkQueue queue, deUint32 bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence);
3450 typedef VkResult (VKAPI_PTR *PFN_vkCreateFence)(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
3451 typedef void (VKAPI_PTR *PFN_vkDestroyFence)(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator);
3452 typedef VkResult (VKAPI_PTR *PFN_vkResetFences)(VkDevice device, deUint32 fenceCount, const VkFence* pFences);
3453 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceStatus)(VkDevice device, VkFence fence);
3454 typedef VkResult (VKAPI_PTR *PFN_vkWaitForFences)(VkDevice device, deUint32 fenceCount, const VkFence* pFences, VkBool32 waitAll, deUint64 timeout);
3455 typedef VkResult (VKAPI_PTR *PFN_vkCreateSemaphore)(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore);
3456 typedef void (VKAPI_PTR *PFN_vkDestroySemaphore)(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator);
3457 typedef VkResult (VKAPI_PTR *PFN_vkCreateEvent)(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent);
3458 typedef void (VKAPI_PTR *PFN_vkDestroyEvent)(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator);
3459 typedef VkResult (VKAPI_PTR *PFN_vkGetEventStatus)(VkDevice device, VkEvent event);
3460 typedef VkResult (VKAPI_PTR *PFN_vkSetEvent)(VkDevice device, VkEvent event);
3461 typedef VkResult (VKAPI_PTR *PFN_vkResetEvent)(VkDevice device, VkEvent event);
3462 typedef VkResult (VKAPI_PTR *PFN_vkCreateQueryPool)(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool);
3463 typedef void (VKAPI_PTR *PFN_vkDestroyQueryPool)(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator);
3464 typedef VkResult (VKAPI_PTR *PFN_vkGetQueryPoolResults)(VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, deUintptr dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags);
3465 typedef VkResult (VKAPI_PTR *PFN_vkCreateBuffer)(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer);
3466 typedef void (VKAPI_PTR *PFN_vkDestroyBuffer)(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator);
3467 typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferView)(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView);
3468 typedef void (VKAPI_PTR *PFN_vkDestroyBufferView)(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator);
3469 typedef VkResult (VKAPI_PTR *PFN_vkCreateImage)(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage);
3470 typedef void (VKAPI_PTR *PFN_vkDestroyImage)(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator);
3471 typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout)(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout);
3472 typedef VkResult (VKAPI_PTR *PFN_vkCreateImageView)(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView);
3473 typedef void (VKAPI_PTR *PFN_vkDestroyImageView)(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator);
3474 typedef VkResult (VKAPI_PTR *PFN_vkCreateShaderModule)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule);
3475 typedef void (VKAPI_PTR *PFN_vkDestroyShaderModule)(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator);
3476 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineCache)(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache);
3477 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineCache)(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator);
3478 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineCacheData)(VkDevice device, VkPipelineCache pipelineCache, deUintptr* pDataSize, void* pData);
3479 typedef VkResult (VKAPI_PTR *PFN_vkMergePipelineCaches)(VkDevice device, VkPipelineCache dstCache, deUint32 srcCacheCount, const VkPipelineCache* pSrcCaches);
3480 typedef VkResult (VKAPI_PTR *PFN_vkCreateGraphicsPipelines)(VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
3481 typedef VkResult (VKAPI_PTR *PFN_vkCreateComputePipelines)(VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
3482 typedef void (VKAPI_PTR *PFN_vkDestroyPipeline)(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator);
3483 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineLayout)(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout);
3484 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineLayout)(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator);
3485 typedef VkResult (VKAPI_PTR *PFN_vkCreateSampler)(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler);
3486 typedef void (VKAPI_PTR *PFN_vkDestroySampler)(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator);
3487 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorSetLayout)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout);
3488 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorSetLayout)(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator);
3489 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorPool)(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool);
3490 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator);
3491 typedef VkResult (VKAPI_PTR *PFN_vkResetDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags);
3492 typedef VkResult (VKAPI_PTR *PFN_vkAllocateDescriptorSets)(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets);
3493 typedef VkResult (VKAPI_PTR *PFN_vkFreeDescriptorSets)(VkDevice device, VkDescriptorPool descriptorPool, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets);
3494 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSets)(VkDevice device, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, deUint32 descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies);
3495 typedef VkResult (VKAPI_PTR *PFN_vkCreateFramebuffer)(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer);
3496 typedef void (VKAPI_PTR *PFN_vkDestroyFramebuffer)(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator);
3497 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass)(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
3498 typedef void (VKAPI_PTR *PFN_vkDestroyRenderPass)(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator);
3499 typedef void (VKAPI_PTR *PFN_vkGetRenderAreaGranularity)(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity);
3500 typedef VkResult (VKAPI_PTR *PFN_vkCreateCommandPool)(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool);
3501 typedef void (VKAPI_PTR *PFN_vkDestroyCommandPool)(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator);
3502 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags);
3503 typedef VkResult (VKAPI_PTR *PFN_vkAllocateCommandBuffers)(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers);
3504 typedef void (VKAPI_PTR *PFN_vkFreeCommandBuffers)(VkDevice device, VkCommandPool commandPool, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers);
3505 typedef VkResult (VKAPI_PTR *PFN_vkBeginCommandBuffer)(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo);
3506 typedef VkResult (VKAPI_PTR *PFN_vkEndCommandBuffer)(VkCommandBuffer commandBuffer);
3507 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandBuffer)(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags);
3508 typedef void (VKAPI_PTR *PFN_vkCmdBindPipeline)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline);
3509 typedef void (VKAPI_PTR *PFN_vkCmdSetViewport)(VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkViewport* pViewports);
3510 typedef void (VKAPI_PTR *PFN_vkCmdSetScissor)(VkCommandBuffer commandBuffer, deUint32 firstScissor, deUint32 scissorCount, const VkRect2D* pScissors);
3511 typedef void (VKAPI_PTR *PFN_vkCmdSetLineWidth)(VkCommandBuffer commandBuffer, float lineWidth);
3512 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias)(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor);
3513 typedef void (VKAPI_PTR *PFN_vkCmdSetBlendConstants)(VkCommandBuffer commandBuffer, const float blendConstants[4]);
3514 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBounds)(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds);
3515 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilCompareMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 compareMask);
3516 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilWriteMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 writeMask);
3517 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilReference)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 reference);
3518 typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorSets)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 firstSet, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets, deUint32 dynamicOffsetCount, const deUint32* pDynamicOffsets);
3519 typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType);
3520 typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets);
3521 typedef void (VKAPI_PTR *PFN_vkCmdDraw)(VkCommandBuffer commandBuffer, deUint32 vertexCount, deUint32 instanceCount, deUint32 firstVertex, deUint32 firstInstance);
3522 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexed)(VkCommandBuffer commandBuffer, deUint32 indexCount, deUint32 instanceCount, deUint32 firstIndex, deInt32 vertexOffset, deUint32 firstInstance);
3523 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride);
3524 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride);
3525 typedef void (VKAPI_PTR *PFN_vkCmdDispatch)(VkCommandBuffer commandBuffer, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ);
3526 typedef void (VKAPI_PTR *PFN_vkCmdDispatchIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset);
3527 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferCopy* pRegions);
3528 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageCopy* pRegions);
3529 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageBlit* pRegions, VkFilter filter);
3530 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkBufferImageCopy* pRegions);
3531 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferImageCopy* pRegions);
3532 typedef void (VKAPI_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData);
3533 typedef void (VKAPI_PTR *PFN_vkCmdFillBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, deUint32 data);
3534 typedef void (VKAPI_PTR *PFN_vkCmdClearColorImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, deUint32 rangeCount, const VkImageSubresourceRange* pRanges);
3535 typedef void (VKAPI_PTR *PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, deUint32 rangeCount, const VkImageSubresourceRange* pRanges);
3536 typedef void (VKAPI_PTR *PFN_vkCmdClearAttachments)(VkCommandBuffer commandBuffer, deUint32 attachmentCount, const VkClearAttachment* pAttachments, deUint32 rectCount, const VkClearRect* pRects);
3537 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageResolve* pRegions);
3538 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
3539 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
3540 typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents)(VkCommandBuffer commandBuffer, deUint32 eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, deUint32 memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, deUint32 bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, deUint32 imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers);
3541 typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier)(VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, deUint32 memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, deUint32 bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, deUint32 imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers);
3542 typedef void (VKAPI_PTR *PFN_vkCmdBeginQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, VkQueryControlFlags flags);
3543 typedef void (VKAPI_PTR *PFN_vkCmdEndQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query);
3544 typedef void (VKAPI_PTR *PFN_vkCmdResetQueryPool)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount);
3545 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, deUint32 query);
3546 typedef void (VKAPI_PTR *PFN_vkCmdCopyQueryPoolResults)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags);
3547 typedef void (VKAPI_PTR *PFN_vkCmdPushConstants)(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, deUint32 offset, deUint32 size, const void* pValues);
3548 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents);
3549 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass)(VkCommandBuffer commandBuffer, VkSubpassContents contents);
3550 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass)(VkCommandBuffer commandBuffer);
3551 typedef void (VKAPI_PTR *PFN_vkCmdExecuteCommands)(VkCommandBuffer commandBuffer, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers);
3553 #ifndef VK_NO_PROTOTYPES
3554 VKAPI_ATTR VkResult VKAPI_CALL vkCreateInstance(
3555 const VkInstanceCreateInfo* pCreateInfo,
3556 const VkAllocationCallbacks* pAllocator,
3557 VkInstance* pInstance);
3559 VKAPI_ATTR void VKAPI_CALL vkDestroyInstance(
3560 VkInstance instance,
3561 const VkAllocationCallbacks* pAllocator);
3563 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDevices(
3564 VkInstance instance,
3565 deUint32* pPhysicalDeviceCount,
3566 VkPhysicalDevice* pPhysicalDevices);
3568 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures(
3569 VkPhysicalDevice physicalDevice,
3570 VkPhysicalDeviceFeatures* pFeatures);
3572 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties(
3573 VkPhysicalDevice physicalDevice,
3575 VkFormatProperties* pFormatProperties);
3577 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties(
3578 VkPhysicalDevice physicalDevice,
3581 VkImageTiling tiling,
3582 VkImageUsageFlags usage,
3583 VkImageCreateFlags flags,
3584 VkImageFormatProperties* pImageFormatProperties);
3586 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties(
3587 VkPhysicalDevice physicalDevice,
3588 VkPhysicalDeviceProperties* pProperties);
3590 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties(
3591 VkPhysicalDevice physicalDevice,
3592 deUint32* pQueueFamilyPropertyCount,
3593 VkQueueFamilyProperties* pQueueFamilyProperties);
3595 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties(
3596 VkPhysicalDevice physicalDevice,
3597 VkPhysicalDeviceMemoryProperties* pMemoryProperties);
3599 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr(
3600 VkInstance instance,
3603 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr(
3607 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDevice(
3608 VkPhysicalDevice physicalDevice,
3609 const VkDeviceCreateInfo* pCreateInfo,
3610 const VkAllocationCallbacks* pAllocator,
3613 VKAPI_ATTR void VKAPI_CALL vkDestroyDevice(
3615 const VkAllocationCallbacks* pAllocator);
3617 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionProperties(
3618 const char* pLayerName,
3619 deUint32* pPropertyCount,
3620 VkExtensionProperties* pProperties);
3622 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceExtensionProperties(
3623 VkPhysicalDevice physicalDevice,
3624 const char* pLayerName,
3625 deUint32* pPropertyCount,
3626 VkExtensionProperties* pProperties);
3628 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties(
3629 deUint32* pPropertyCount,
3630 VkLayerProperties* pProperties);
3632 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceLayerProperties(
3633 VkPhysicalDevice physicalDevice,
3634 deUint32* pPropertyCount,
3635 VkLayerProperties* pProperties);
3637 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue(
3639 deUint32 queueFamilyIndex,
3640 deUint32 queueIndex,
3643 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit(
3645 deUint32 submitCount,
3646 const VkSubmitInfo* pSubmits,
3649 VKAPI_ATTR VkResult VKAPI_CALL vkQueueWaitIdle(
3652 VKAPI_ATTR VkResult VKAPI_CALL vkDeviceWaitIdle(
3655 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateMemory(
3657 const VkMemoryAllocateInfo* pAllocateInfo,
3658 const VkAllocationCallbacks* pAllocator,
3659 VkDeviceMemory* pMemory);
3661 VKAPI_ATTR void VKAPI_CALL vkFreeMemory(
3663 VkDeviceMemory memory,
3664 const VkAllocationCallbacks* pAllocator);
3666 VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory(
3668 VkDeviceMemory memory,
3669 VkDeviceSize offset,
3671 VkMemoryMapFlags flags,
3674 VKAPI_ATTR void VKAPI_CALL vkUnmapMemory(
3676 VkDeviceMemory memory);
3678 VKAPI_ATTR VkResult VKAPI_CALL vkFlushMappedMemoryRanges(
3680 deUint32 memoryRangeCount,
3681 const VkMappedMemoryRange* pMemoryRanges);
3683 VKAPI_ATTR VkResult VKAPI_CALL vkInvalidateMappedMemoryRanges(
3685 deUint32 memoryRangeCount,
3686 const VkMappedMemoryRange* pMemoryRanges);
3688 VKAPI_ATTR void VKAPI_CALL vkGetDeviceMemoryCommitment(
3690 VkDeviceMemory memory,
3691 VkDeviceSize* pCommittedMemoryInBytes);
3693 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory(
3696 VkDeviceMemory memory,
3697 VkDeviceSize memoryOffset);
3699 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory(
3702 VkDeviceMemory memory,
3703 VkDeviceSize memoryOffset);
3705 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements(
3708 VkMemoryRequirements* pMemoryRequirements);
3710 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements(
3713 VkMemoryRequirements* pMemoryRequirements);
3715 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements(
3718 deUint32* pSparseMemoryRequirementCount,
3719 VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
3721 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties(
3722 VkPhysicalDevice physicalDevice,
3725 VkSampleCountFlagBits samples,
3726 VkImageUsageFlags usage,
3727 VkImageTiling tiling,
3728 deUint32* pPropertyCount,
3729 VkSparseImageFormatProperties* pProperties);
3731 VKAPI_ATTR VkResult VKAPI_CALL vkQueueBindSparse(
3733 deUint32 bindInfoCount,
3734 const VkBindSparseInfo* pBindInfo,
3737 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFence(
3739 const VkFenceCreateInfo* pCreateInfo,
3740 const VkAllocationCallbacks* pAllocator,
3743 VKAPI_ATTR void VKAPI_CALL vkDestroyFence(
3746 const VkAllocationCallbacks* pAllocator);
3748 VKAPI_ATTR VkResult VKAPI_CALL vkResetFences(
3750 deUint32 fenceCount,
3751 const VkFence* pFences);
3753 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceStatus(
3757 VKAPI_ATTR VkResult VKAPI_CALL vkWaitForFences(
3759 deUint32 fenceCount,
3760 const VkFence* pFences,
3764 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSemaphore(
3766 const VkSemaphoreCreateInfo* pCreateInfo,
3767 const VkAllocationCallbacks* pAllocator,
3768 VkSemaphore* pSemaphore);
3770 VKAPI_ATTR void VKAPI_CALL vkDestroySemaphore(
3772 VkSemaphore semaphore,
3773 const VkAllocationCallbacks* pAllocator);
3775 VKAPI_ATTR VkResult VKAPI_CALL vkCreateEvent(
3777 const VkEventCreateInfo* pCreateInfo,
3778 const VkAllocationCallbacks* pAllocator,
3781 VKAPI_ATTR void VKAPI_CALL vkDestroyEvent(
3784 const VkAllocationCallbacks* pAllocator);
3786 VKAPI_ATTR VkResult VKAPI_CALL vkGetEventStatus(
3790 VKAPI_ATTR VkResult VKAPI_CALL vkSetEvent(
3794 VKAPI_ATTR VkResult VKAPI_CALL vkResetEvent(
3798 VKAPI_ATTR VkResult VKAPI_CALL vkCreateQueryPool(
3800 const VkQueryPoolCreateInfo* pCreateInfo,
3801 const VkAllocationCallbacks* pAllocator,
3802 VkQueryPool* pQueryPool);
3804 VKAPI_ATTR void VKAPI_CALL vkDestroyQueryPool(
3806 VkQueryPool queryPool,
3807 const VkAllocationCallbacks* pAllocator);
3809 VKAPI_ATTR VkResult VKAPI_CALL vkGetQueryPoolResults(
3811 VkQueryPool queryPool,
3812 deUint32 firstQuery,
3813 deUint32 queryCount,
3816 VkDeviceSize stride,
3817 VkQueryResultFlags flags);
3819 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBuffer(
3821 const VkBufferCreateInfo* pCreateInfo,
3822 const VkAllocationCallbacks* pAllocator,
3825 VKAPI_ATTR void VKAPI_CALL vkDestroyBuffer(
3828 const VkAllocationCallbacks* pAllocator);
3830 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferView(
3832 const VkBufferViewCreateInfo* pCreateInfo,
3833 const VkAllocationCallbacks* pAllocator,
3834 VkBufferView* pView);
3836 VKAPI_ATTR void VKAPI_CALL vkDestroyBufferView(
3838 VkBufferView bufferView,
3839 const VkAllocationCallbacks* pAllocator);
3841 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImage(
3843 const VkImageCreateInfo* pCreateInfo,
3844 const VkAllocationCallbacks* pAllocator,
3847 VKAPI_ATTR void VKAPI_CALL vkDestroyImage(
3850 const VkAllocationCallbacks* pAllocator);
3852 VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout(
3855 const VkImageSubresource* pSubresource,
3856 VkSubresourceLayout* pLayout);
3858 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImageView(
3860 const VkImageViewCreateInfo* pCreateInfo,
3861 const VkAllocationCallbacks* pAllocator,
3862 VkImageView* pView);
3864 VKAPI_ATTR void VKAPI_CALL vkDestroyImageView(
3866 VkImageView imageView,
3867 const VkAllocationCallbacks* pAllocator);
3869 VKAPI_ATTR VkResult VKAPI_CALL vkCreateShaderModule(
3871 const VkShaderModuleCreateInfo* pCreateInfo,
3872 const VkAllocationCallbacks* pAllocator,
3873 VkShaderModule* pShaderModule);
3875 VKAPI_ATTR void VKAPI_CALL vkDestroyShaderModule(
3877 VkShaderModule shaderModule,
3878 const VkAllocationCallbacks* pAllocator);
3880 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineCache(
3882 const VkPipelineCacheCreateInfo* pCreateInfo,
3883 const VkAllocationCallbacks* pAllocator,
3884 VkPipelineCache* pPipelineCache);
3886 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineCache(
3888 VkPipelineCache pipelineCache,
3889 const VkAllocationCallbacks* pAllocator);
3891 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineCacheData(
3893 VkPipelineCache pipelineCache,
3894 deUintptr* pDataSize,
3897 VKAPI_ATTR VkResult VKAPI_CALL vkMergePipelineCaches(
3899 VkPipelineCache dstCache,
3900 deUint32 srcCacheCount,
3901 const VkPipelineCache* pSrcCaches);
3903 VKAPI_ATTR VkResult VKAPI_CALL vkCreateGraphicsPipelines(
3905 VkPipelineCache pipelineCache,
3906 deUint32 createInfoCount,
3907 const VkGraphicsPipelineCreateInfo* pCreateInfos,
3908 const VkAllocationCallbacks* pAllocator,
3909 VkPipeline* pPipelines);
3911 VKAPI_ATTR VkResult VKAPI_CALL vkCreateComputePipelines(
3913 VkPipelineCache pipelineCache,
3914 deUint32 createInfoCount,
3915 const VkComputePipelineCreateInfo* pCreateInfos,
3916 const VkAllocationCallbacks* pAllocator,
3917 VkPipeline* pPipelines);
3919 VKAPI_ATTR void VKAPI_CALL vkDestroyPipeline(
3921 VkPipeline pipeline,
3922 const VkAllocationCallbacks* pAllocator);
3924 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineLayout(
3926 const VkPipelineLayoutCreateInfo* pCreateInfo,
3927 const VkAllocationCallbacks* pAllocator,
3928 VkPipelineLayout* pPipelineLayout);
3930 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineLayout(
3932 VkPipelineLayout pipelineLayout,
3933 const VkAllocationCallbacks* pAllocator);
3935 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSampler(
3937 const VkSamplerCreateInfo* pCreateInfo,
3938 const VkAllocationCallbacks* pAllocator,
3939 VkSampler* pSampler);
3941 VKAPI_ATTR void VKAPI_CALL vkDestroySampler(
3944 const VkAllocationCallbacks* pAllocator);
3946 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorSetLayout(
3948 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
3949 const VkAllocationCallbacks* pAllocator,
3950 VkDescriptorSetLayout* pSetLayout);
3952 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorSetLayout(
3954 VkDescriptorSetLayout descriptorSetLayout,
3955 const VkAllocationCallbacks* pAllocator);
3957 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorPool(
3959 const VkDescriptorPoolCreateInfo* pCreateInfo,
3960 const VkAllocationCallbacks* pAllocator,
3961 VkDescriptorPool* pDescriptorPool);
3963 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorPool(
3965 VkDescriptorPool descriptorPool,
3966 const VkAllocationCallbacks* pAllocator);
3968 VKAPI_ATTR VkResult VKAPI_CALL vkResetDescriptorPool(
3970 VkDescriptorPool descriptorPool,
3971 VkDescriptorPoolResetFlags flags);
3973 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateDescriptorSets(
3975 const VkDescriptorSetAllocateInfo* pAllocateInfo,
3976 VkDescriptorSet* pDescriptorSets);
3978 VKAPI_ATTR VkResult VKAPI_CALL vkFreeDescriptorSets(
3980 VkDescriptorPool descriptorPool,
3981 deUint32 descriptorSetCount,
3982 const VkDescriptorSet* pDescriptorSets);
3984 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSets(
3986 deUint32 descriptorWriteCount,
3987 const VkWriteDescriptorSet* pDescriptorWrites,
3988 deUint32 descriptorCopyCount,
3989 const VkCopyDescriptorSet* pDescriptorCopies);
3991 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFramebuffer(
3993 const VkFramebufferCreateInfo* pCreateInfo,
3994 const VkAllocationCallbacks* pAllocator,
3995 VkFramebuffer* pFramebuffer);
3997 VKAPI_ATTR void VKAPI_CALL vkDestroyFramebuffer(
3999 VkFramebuffer framebuffer,
4000 const VkAllocationCallbacks* pAllocator);
4002 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass(
4004 const VkRenderPassCreateInfo* pCreateInfo,
4005 const VkAllocationCallbacks* pAllocator,
4006 VkRenderPass* pRenderPass);
4008 VKAPI_ATTR void VKAPI_CALL vkDestroyRenderPass(
4010 VkRenderPass renderPass,
4011 const VkAllocationCallbacks* pAllocator);
4013 VKAPI_ATTR void VKAPI_CALL vkGetRenderAreaGranularity(
4015 VkRenderPass renderPass,
4016 VkExtent2D* pGranularity);
4018 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCommandPool(
4020 const VkCommandPoolCreateInfo* pCreateInfo,
4021 const VkAllocationCallbacks* pAllocator,
4022 VkCommandPool* pCommandPool);
4024 VKAPI_ATTR void VKAPI_CALL vkDestroyCommandPool(
4026 VkCommandPool commandPool,
4027 const VkAllocationCallbacks* pAllocator);
4029 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandPool(
4031 VkCommandPool commandPool,
4032 VkCommandPoolResetFlags flags);
4034 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateCommandBuffers(
4036 const VkCommandBufferAllocateInfo* pAllocateInfo,
4037 VkCommandBuffer* pCommandBuffers);
4039 VKAPI_ATTR void VKAPI_CALL vkFreeCommandBuffers(
4041 VkCommandPool commandPool,
4042 deUint32 commandBufferCount,
4043 const VkCommandBuffer* pCommandBuffers);
4045 VKAPI_ATTR VkResult VKAPI_CALL vkBeginCommandBuffer(
4046 VkCommandBuffer commandBuffer,
4047 const VkCommandBufferBeginInfo* pBeginInfo);
4049 VKAPI_ATTR VkResult VKAPI_CALL vkEndCommandBuffer(
4050 VkCommandBuffer commandBuffer);
4052 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandBuffer(
4053 VkCommandBuffer commandBuffer,
4054 VkCommandBufferResetFlags flags);
4056 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipeline(
4057 VkCommandBuffer commandBuffer,
4058 VkPipelineBindPoint pipelineBindPoint,
4059 VkPipeline pipeline);
4061 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewport(
4062 VkCommandBuffer commandBuffer,
4063 deUint32 firstViewport,
4064 deUint32 viewportCount,
4065 const VkViewport* pViewports);
4067 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissor(
4068 VkCommandBuffer commandBuffer,
4069 deUint32 firstScissor,
4070 deUint32 scissorCount,
4071 const VkRect2D* pScissors);
4073 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineWidth(
4074 VkCommandBuffer commandBuffer,
4077 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias(
4078 VkCommandBuffer commandBuffer,
4079 float depthBiasConstantFactor,
4080 float depthBiasClamp,
4081 float depthBiasSlopeFactor);
4083 VKAPI_ATTR void VKAPI_CALL vkCmdSetBlendConstants(
4084 VkCommandBuffer commandBuffer,
4085 const float blendConstants[4]);
4087 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBounds(
4088 VkCommandBuffer commandBuffer,
4089 float minDepthBounds,
4090 float maxDepthBounds);
4092 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilCompareMask(
4093 VkCommandBuffer commandBuffer,
4094 VkStencilFaceFlags faceMask,
4095 deUint32 compareMask);
4097 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilWriteMask(
4098 VkCommandBuffer commandBuffer,
4099 VkStencilFaceFlags faceMask,
4100 deUint32 writeMask);
4102 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilReference(
4103 VkCommandBuffer commandBuffer,
4104 VkStencilFaceFlags faceMask,
4105 deUint32 reference);
4107 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets(
4108 VkCommandBuffer commandBuffer,
4109 VkPipelineBindPoint pipelineBindPoint,
4110 VkPipelineLayout layout,
4112 deUint32 descriptorSetCount,
4113 const VkDescriptorSet* pDescriptorSets,
4114 deUint32 dynamicOffsetCount,
4115 const deUint32* pDynamicOffsets);
4117 VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer(
4118 VkCommandBuffer commandBuffer,
4120 VkDeviceSize offset,
4121 VkIndexType indexType);
4123 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers(
4124 VkCommandBuffer commandBuffer,
4125 deUint32 firstBinding,
4126 deUint32 bindingCount,
4127 const VkBuffer* pBuffers,
4128 const VkDeviceSize* pOffsets);
4130 VKAPI_ATTR void VKAPI_CALL vkCmdDraw(
4131 VkCommandBuffer commandBuffer,
4132 deUint32 vertexCount,
4133 deUint32 instanceCount,
4134 deUint32 firstVertex,
4135 deUint32 firstInstance);
4137 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexed(
4138 VkCommandBuffer commandBuffer,
4139 deUint32 indexCount,
4140 deUint32 instanceCount,
4141 deUint32 firstIndex,
4142 deInt32 vertexOffset,
4143 deUint32 firstInstance);
4145 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirect(
4146 VkCommandBuffer commandBuffer,
4148 VkDeviceSize offset,
4152 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirect(
4153 VkCommandBuffer commandBuffer,
4155 VkDeviceSize offset,
4159 VKAPI_ATTR void VKAPI_CALL vkCmdDispatch(
4160 VkCommandBuffer commandBuffer,
4161 deUint32 groupCountX,
4162 deUint32 groupCountY,
4163 deUint32 groupCountZ);
4165 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchIndirect(
4166 VkCommandBuffer commandBuffer,
4168 VkDeviceSize offset);
4170 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer(
4171 VkCommandBuffer commandBuffer,
4174 deUint32 regionCount,
4175 const VkBufferCopy* pRegions);
4177 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage(
4178 VkCommandBuffer commandBuffer,
4180 VkImageLayout srcImageLayout,
4182 VkImageLayout dstImageLayout,
4183 deUint32 regionCount,
4184 const VkImageCopy* pRegions);
4186 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage(
4187 VkCommandBuffer commandBuffer,
4189 VkImageLayout srcImageLayout,
4191 VkImageLayout dstImageLayout,
4192 deUint32 regionCount,
4193 const VkImageBlit* pRegions,
4196 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage(
4197 VkCommandBuffer commandBuffer,
4200 VkImageLayout dstImageLayout,
4201 deUint32 regionCount,
4202 const VkBufferImageCopy* pRegions);
4204 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer(
4205 VkCommandBuffer commandBuffer,
4207 VkImageLayout srcImageLayout,
4209 deUint32 regionCount,
4210 const VkBufferImageCopy* pRegions);
4212 VKAPI_ATTR void VKAPI_CALL vkCmdUpdateBuffer(
4213 VkCommandBuffer commandBuffer,
4215 VkDeviceSize dstOffset,
4216 VkDeviceSize dataSize,
4219 VKAPI_ATTR void VKAPI_CALL vkCmdFillBuffer(
4220 VkCommandBuffer commandBuffer,
4222 VkDeviceSize dstOffset,
4226 VKAPI_ATTR void VKAPI_CALL vkCmdClearColorImage(
4227 VkCommandBuffer commandBuffer,
4229 VkImageLayout imageLayout,
4230 const VkClearColorValue* pColor,
4231 deUint32 rangeCount,
4232 const VkImageSubresourceRange* pRanges);
4234 VKAPI_ATTR void VKAPI_CALL vkCmdClearDepthStencilImage(
4235 VkCommandBuffer commandBuffer,
4237 VkImageLayout imageLayout,
4238 const VkClearDepthStencilValue* pDepthStencil,
4239 deUint32 rangeCount,
4240 const VkImageSubresourceRange* pRanges);
4242 VKAPI_ATTR void VKAPI_CALL vkCmdClearAttachments(
4243 VkCommandBuffer commandBuffer,
4244 deUint32 attachmentCount,
4245 const VkClearAttachment* pAttachments,
4247 const VkClearRect* pRects);
4249 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage(
4250 VkCommandBuffer commandBuffer,
4252 VkImageLayout srcImageLayout,
4254 VkImageLayout dstImageLayout,
4255 deUint32 regionCount,
4256 const VkImageResolve* pRegions);
4258 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent(
4259 VkCommandBuffer commandBuffer,
4261 VkPipelineStageFlags stageMask);
4263 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent(
4264 VkCommandBuffer commandBuffer,
4266 VkPipelineStageFlags stageMask);
4268 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents(
4269 VkCommandBuffer commandBuffer,
4270 deUint32 eventCount,
4271 const VkEvent* pEvents,
4272 VkPipelineStageFlags srcStageMask,
4273 VkPipelineStageFlags dstStageMask,
4274 deUint32 memoryBarrierCount,
4275 const VkMemoryBarrier* pMemoryBarriers,
4276 deUint32 bufferMemoryBarrierCount,
4277 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
4278 deUint32 imageMemoryBarrierCount,
4279 const VkImageMemoryBarrier* pImageMemoryBarriers);
4281 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier(
4282 VkCommandBuffer commandBuffer,
4283 VkPipelineStageFlags srcStageMask,
4284 VkPipelineStageFlags dstStageMask,
4285 VkDependencyFlags dependencyFlags,
4286 deUint32 memoryBarrierCount,
4287 const VkMemoryBarrier* pMemoryBarriers,
4288 deUint32 bufferMemoryBarrierCount,
4289 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
4290 deUint32 imageMemoryBarrierCount,
4291 const VkImageMemoryBarrier* pImageMemoryBarriers);
4293 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQuery(
4294 VkCommandBuffer commandBuffer,
4295 VkQueryPool queryPool,
4297 VkQueryControlFlags flags);
4299 VKAPI_ATTR void VKAPI_CALL vkCmdEndQuery(
4300 VkCommandBuffer commandBuffer,
4301 VkQueryPool queryPool,
4304 VKAPI_ATTR void VKAPI_CALL vkCmdResetQueryPool(
4305 VkCommandBuffer commandBuffer,
4306 VkQueryPool queryPool,
4307 deUint32 firstQuery,
4308 deUint32 queryCount);
4310 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp(
4311 VkCommandBuffer commandBuffer,
4312 VkPipelineStageFlagBits pipelineStage,
4313 VkQueryPool queryPool,
4316 VKAPI_ATTR void VKAPI_CALL vkCmdCopyQueryPoolResults(
4317 VkCommandBuffer commandBuffer,
4318 VkQueryPool queryPool,
4319 deUint32 firstQuery,
4320 deUint32 queryCount,
4322 VkDeviceSize dstOffset,
4323 VkDeviceSize stride,
4324 VkQueryResultFlags flags);
4326 VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants(
4327 VkCommandBuffer commandBuffer,
4328 VkPipelineLayout layout,
4329 VkShaderStageFlags stageFlags,
4332 const void* pValues);
4334 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass(
4335 VkCommandBuffer commandBuffer,
4336 const VkRenderPassBeginInfo* pRenderPassBegin,
4337 VkSubpassContents contents);
4339 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass(
4340 VkCommandBuffer commandBuffer,
4341 VkSubpassContents contents);
4343 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass(
4344 VkCommandBuffer commandBuffer);
4346 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteCommands(
4347 VkCommandBuffer commandBuffer,
4348 deUint32 commandBufferCount,
4349 const VkCommandBuffer* pCommandBuffers);
4353 #define VK_VERSION_1_1 1
4354 // Vulkan 1.1 version number
4355 #define VK_API_VERSION_1_1 VK_MAKE_API_VERSION(0, 1, 1, 0)// Patch version should always be set to 0
4357 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion)
4358 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate)
4359 #define VK_MAX_DEVICE_GROUP_SIZE 32U
4360 #define VK_LUID_SIZE 8U
4361 #define VK_QUEUE_FAMILY_EXTERNAL (~1U)
4363 typedef enum VkPointClippingBehavior {
4364 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES = 0,
4365 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY = 1,
4366 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES,
4367 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY,
4368 VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF
4369 } VkPointClippingBehavior;
4371 typedef enum VkTessellationDomainOrigin {
4372 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT = 0,
4373 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT = 1,
4374 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT,
4375 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT,
4376 VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM = 0x7FFFFFFF
4377 } VkTessellationDomainOrigin;
4379 typedef enum VkSamplerYcbcrModelConversion {
4380 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY = 0,
4381 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY = 1,
4382 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 = 2,
4383 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 = 3,
4384 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 = 4,
4385 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY,
4386 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY,
4387 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709,
4388 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601,
4389 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020,
4390 VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM = 0x7FFFFFFF
4391 } VkSamplerYcbcrModelConversion;
4393 typedef enum VkSamplerYcbcrRange {
4394 VK_SAMPLER_YCBCR_RANGE_ITU_FULL = 0,
4395 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW = 1,
4396 VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_FULL,
4397 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW,
4398 VK_SAMPLER_YCBCR_RANGE_MAX_ENUM = 0x7FFFFFFF
4399 } VkSamplerYcbcrRange;
4401 typedef enum VkChromaLocation {
4402 VK_CHROMA_LOCATION_COSITED_EVEN = 0,
4403 VK_CHROMA_LOCATION_MIDPOINT = 1,
4404 VK_CHROMA_LOCATION_COSITED_EVEN_KHR = VK_CHROMA_LOCATION_COSITED_EVEN,
4405 VK_CHROMA_LOCATION_MIDPOINT_KHR = VK_CHROMA_LOCATION_MIDPOINT,
4406 VK_CHROMA_LOCATION_MAX_ENUM = 0x7FFFFFFF
4409 typedef enum VkDescriptorUpdateTemplateType {
4410 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET = 0,
4411 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR = 1,
4412 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,
4413 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM = 0x7FFFFFFF
4414 } VkDescriptorUpdateTemplateType;
4416 typedef enum VkSubgroupFeatureFlagBits {
4417 VK_SUBGROUP_FEATURE_BASIC_BIT = 0x00000001,
4418 VK_SUBGROUP_FEATURE_VOTE_BIT = 0x00000002,
4419 VK_SUBGROUP_FEATURE_ARITHMETIC_BIT = 0x00000004,
4420 VK_SUBGROUP_FEATURE_BALLOT_BIT = 0x00000008,
4421 VK_SUBGROUP_FEATURE_SHUFFLE_BIT = 0x00000010,
4422 VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = 0x00000020,
4423 VK_SUBGROUP_FEATURE_CLUSTERED_BIT = 0x00000040,
4424 VK_SUBGROUP_FEATURE_QUAD_BIT = 0x00000080,
4425 VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x00000100,
4426 VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4427 } VkSubgroupFeatureFlagBits;
4428 typedef VkFlags VkSubgroupFeatureFlags;
4430 typedef enum VkPeerMemoryFeatureFlagBits {
4431 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT = 0x00000001,
4432 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT = 0x00000002,
4433 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT = 0x00000004,
4434 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT = 0x00000008,
4435 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT,
4436 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_DST_BIT,
4437 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT,
4438 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT,
4439 VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4440 } VkPeerMemoryFeatureFlagBits;
4441 typedef VkFlags VkPeerMemoryFeatureFlags;
4443 typedef enum VkMemoryAllocateFlagBits {
4444 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT = 0x00000001,
4445 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT = 0x00000002,
4446 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000004,
4447 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT,
4448 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT,
4449 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
4450 VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4451 } VkMemoryAllocateFlagBits;
4452 typedef VkFlags VkMemoryAllocateFlags;
4453 typedef VkFlags VkCommandPoolTrimFlags;
4454 typedef VkFlags VkDescriptorUpdateTemplateCreateFlags;
4456 typedef enum VkExternalMemoryHandleTypeFlagBits {
4457 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
4458 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
4459 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
4460 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT = 0x00000008,
4461 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT = 0x00000010,
4462 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT = 0x00000020,
4463 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT = 0x00000040,
4464 VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT = 0x00000200,
4465 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID = 0x00000400,
4466 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 0x00000080,
4467 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 0x00000100,
4468 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA = 0x00000800,
4469 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT,
4470 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT,
4471 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
4472 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT,
4473 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT,
4474 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT,
4475 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT,
4476 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4477 } VkExternalMemoryHandleTypeFlagBits;
4478 typedef VkFlags VkExternalMemoryHandleTypeFlags;
4480 typedef enum VkExternalMemoryFeatureFlagBits {
4481 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT = 0x00000001,
4482 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT = 0x00000002,
4483 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT = 0x00000004,
4484 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT,
4485 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT,
4486 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT,
4487 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4488 } VkExternalMemoryFeatureFlagBits;
4489 typedef VkFlags VkExternalMemoryFeatureFlags;
4491 typedef enum VkExternalFenceHandleTypeFlagBits {
4492 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
4493 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
4494 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
4495 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000008,
4496 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT,
4497 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
4498 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
4499 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT,
4500 VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4501 } VkExternalFenceHandleTypeFlagBits;
4502 typedef VkFlags VkExternalFenceHandleTypeFlags;
4504 typedef enum VkExternalFenceFeatureFlagBits {
4505 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT = 0x00000001,
4506 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT = 0x00000002,
4507 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT,
4508 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT,
4509 VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4510 } VkExternalFenceFeatureFlagBits;
4511 typedef VkFlags VkExternalFenceFeatureFlags;
4513 typedef enum VkFenceImportFlagBits {
4514 VK_FENCE_IMPORT_TEMPORARY_BIT = 0x00000001,
4515 VK_FENCE_IMPORT_TEMPORARY_BIT_KHR = VK_FENCE_IMPORT_TEMPORARY_BIT,
4516 VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4517 } VkFenceImportFlagBits;
4518 typedef VkFlags VkFenceImportFlags;
4520 typedef enum VkSemaphoreImportFlagBits {
4521 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT = 0x00000001,
4522 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT,
4523 VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4524 } VkSemaphoreImportFlagBits;
4525 typedef VkFlags VkSemaphoreImportFlags;
4527 typedef enum VkExternalSemaphoreHandleTypeFlagBits {
4528 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
4529 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
4530 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
4531 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT = 0x00000008,
4532 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000010,
4533 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA = 0x00000080,
4534 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
4535 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT,
4536 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
4537 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
4538 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
4539 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT,
4540 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4541 } VkExternalSemaphoreHandleTypeFlagBits;
4542 typedef VkFlags VkExternalSemaphoreHandleTypeFlags;
4544 typedef enum VkExternalSemaphoreFeatureFlagBits {
4545 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT = 0x00000001,
4546 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT = 0x00000002,
4547 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT,
4548 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT,
4549 VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4550 } VkExternalSemaphoreFeatureFlagBits;
4551 typedef VkFlags VkExternalSemaphoreFeatureFlags;
4552 typedef struct VkPhysicalDeviceSubgroupProperties {
4553 VkStructureType sType;
4555 deUint32 subgroupSize;
4556 VkShaderStageFlags supportedStages;
4557 VkSubgroupFeatureFlags supportedOperations;
4558 VkBool32 quadOperationsInAllStages;
4559 } VkPhysicalDeviceSubgroupProperties;
4561 typedef struct VkBindBufferMemoryInfo {
4562 VkStructureType sType;
4565 VkDeviceMemory memory;
4566 VkDeviceSize memoryOffset;
4567 } VkBindBufferMemoryInfo;
4569 typedef struct VkBindImageMemoryInfo {
4570 VkStructureType sType;
4573 VkDeviceMemory memory;
4574 VkDeviceSize memoryOffset;
4575 } VkBindImageMemoryInfo;
4577 typedef struct VkPhysicalDevice16BitStorageFeatures {
4578 VkStructureType sType;
4580 VkBool32 storageBuffer16BitAccess;
4581 VkBool32 uniformAndStorageBuffer16BitAccess;
4582 VkBool32 storagePushConstant16;
4583 VkBool32 storageInputOutput16;
4584 } VkPhysicalDevice16BitStorageFeatures;
4586 typedef struct VkMemoryDedicatedRequirements {
4587 VkStructureType sType;
4589 VkBool32 prefersDedicatedAllocation;
4590 VkBool32 requiresDedicatedAllocation;
4591 } VkMemoryDedicatedRequirements;
4593 typedef struct VkMemoryDedicatedAllocateInfo {
4594 VkStructureType sType;
4598 } VkMemoryDedicatedAllocateInfo;
4600 typedef struct VkMemoryAllocateFlagsInfo {
4601 VkStructureType sType;
4603 VkMemoryAllocateFlags flags;
4604 deUint32 deviceMask;
4605 } VkMemoryAllocateFlagsInfo;
4607 typedef struct VkDeviceGroupRenderPassBeginInfo {
4608 VkStructureType sType;
4610 deUint32 deviceMask;
4611 deUint32 deviceRenderAreaCount;
4612 const VkRect2D* pDeviceRenderAreas;
4613 } VkDeviceGroupRenderPassBeginInfo;
4615 typedef struct VkDeviceGroupCommandBufferBeginInfo {
4616 VkStructureType sType;
4618 deUint32 deviceMask;
4619 } VkDeviceGroupCommandBufferBeginInfo;
4621 typedef struct VkDeviceGroupSubmitInfo {
4622 VkStructureType sType;
4624 deUint32 waitSemaphoreCount;
4625 const deUint32* pWaitSemaphoreDeviceIndices;
4626 deUint32 commandBufferCount;
4627 const deUint32* pCommandBufferDeviceMasks;
4628 deUint32 signalSemaphoreCount;
4629 const deUint32* pSignalSemaphoreDeviceIndices;
4630 } VkDeviceGroupSubmitInfo;
4632 typedef struct VkDeviceGroupBindSparseInfo {
4633 VkStructureType sType;
4635 deUint32 resourceDeviceIndex;
4636 deUint32 memoryDeviceIndex;
4637 } VkDeviceGroupBindSparseInfo;
4639 typedef struct VkBindBufferMemoryDeviceGroupInfo {
4640 VkStructureType sType;
4642 deUint32 deviceIndexCount;
4643 const deUint32* pDeviceIndices;
4644 } VkBindBufferMemoryDeviceGroupInfo;
4646 typedef struct VkBindImageMemoryDeviceGroupInfo {
4647 VkStructureType sType;
4649 deUint32 deviceIndexCount;
4650 const deUint32* pDeviceIndices;
4651 deUint32 splitInstanceBindRegionCount;
4652 const VkRect2D* pSplitInstanceBindRegions;
4653 } VkBindImageMemoryDeviceGroupInfo;
4655 typedef struct VkPhysicalDeviceGroupProperties {
4656 VkStructureType sType;
4658 deUint32 physicalDeviceCount;
4659 VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE];
4660 VkBool32 subsetAllocation;
4661 } VkPhysicalDeviceGroupProperties;
4663 typedef struct VkDeviceGroupDeviceCreateInfo {
4664 VkStructureType sType;
4666 deUint32 physicalDeviceCount;
4667 const VkPhysicalDevice* pPhysicalDevices;
4668 } VkDeviceGroupDeviceCreateInfo;
4670 typedef struct VkBufferMemoryRequirementsInfo2 {
4671 VkStructureType sType;
4674 } VkBufferMemoryRequirementsInfo2;
4676 typedef struct VkImageMemoryRequirementsInfo2 {
4677 VkStructureType sType;
4680 } VkImageMemoryRequirementsInfo2;
4682 typedef struct VkImageSparseMemoryRequirementsInfo2 {
4683 VkStructureType sType;
4686 } VkImageSparseMemoryRequirementsInfo2;
4688 typedef struct VkMemoryRequirements2 {
4689 VkStructureType sType;
4691 VkMemoryRequirements memoryRequirements;
4692 } VkMemoryRequirements2;
4694 typedef struct VkSparseImageMemoryRequirements2 {
4695 VkStructureType sType;
4697 VkSparseImageMemoryRequirements memoryRequirements;
4698 } VkSparseImageMemoryRequirements2;
4700 typedef struct VkPhysicalDeviceFeatures2 {
4701 VkStructureType sType;
4703 VkPhysicalDeviceFeatures features;
4704 } VkPhysicalDeviceFeatures2;
4706 typedef struct VkPhysicalDeviceProperties2 {
4707 VkStructureType sType;
4709 VkPhysicalDeviceProperties properties;
4710 } VkPhysicalDeviceProperties2;
4712 typedef struct VkFormatProperties2 {
4713 VkStructureType sType;
4715 VkFormatProperties formatProperties;
4716 } VkFormatProperties2;
4718 typedef struct VkImageFormatProperties2 {
4719 VkStructureType sType;
4721 VkImageFormatProperties imageFormatProperties;
4722 } VkImageFormatProperties2;
4724 typedef struct VkPhysicalDeviceImageFormatInfo2 {
4725 VkStructureType sType;
4729 VkImageTiling tiling;
4730 VkImageUsageFlags usage;
4731 VkImageCreateFlags flags;
4732 } VkPhysicalDeviceImageFormatInfo2;
4734 typedef struct VkQueueFamilyProperties2 {
4735 VkStructureType sType;
4737 VkQueueFamilyProperties queueFamilyProperties;
4738 } VkQueueFamilyProperties2;
4740 typedef struct VkPhysicalDeviceMemoryProperties2 {
4741 VkStructureType sType;
4743 VkPhysicalDeviceMemoryProperties memoryProperties;
4744 } VkPhysicalDeviceMemoryProperties2;
4746 typedef struct VkSparseImageFormatProperties2 {
4747 VkStructureType sType;
4749 VkSparseImageFormatProperties properties;
4750 } VkSparseImageFormatProperties2;
4752 typedef struct VkPhysicalDeviceSparseImageFormatInfo2 {
4753 VkStructureType sType;
4757 VkSampleCountFlagBits samples;
4758 VkImageUsageFlags usage;
4759 VkImageTiling tiling;
4760 } VkPhysicalDeviceSparseImageFormatInfo2;
4762 typedef struct VkPhysicalDevicePointClippingProperties {
4763 VkStructureType sType;
4765 VkPointClippingBehavior pointClippingBehavior;
4766 } VkPhysicalDevicePointClippingProperties;
4768 typedef struct VkInputAttachmentAspectReference {
4770 deUint32 inputAttachmentIndex;
4771 VkImageAspectFlags aspectMask;
4772 } VkInputAttachmentAspectReference;
4774 typedef struct VkRenderPassInputAttachmentAspectCreateInfo {
4775 VkStructureType sType;
4777 deUint32 aspectReferenceCount;
4778 const VkInputAttachmentAspectReference* pAspectReferences;
4779 } VkRenderPassInputAttachmentAspectCreateInfo;
4781 typedef struct VkImageViewUsageCreateInfo {
4782 VkStructureType sType;
4784 VkImageUsageFlags usage;
4785 } VkImageViewUsageCreateInfo;
4787 typedef struct VkPipelineTessellationDomainOriginStateCreateInfo {
4788 VkStructureType sType;
4790 VkTessellationDomainOrigin domainOrigin;
4791 } VkPipelineTessellationDomainOriginStateCreateInfo;
4793 typedef struct VkRenderPassMultiviewCreateInfo {
4794 VkStructureType sType;
4796 deUint32 subpassCount;
4797 const deUint32* pViewMasks;
4798 deUint32 dependencyCount;
4799 const deInt32* pViewOffsets;
4800 deUint32 correlationMaskCount;
4801 const deUint32* pCorrelationMasks;
4802 } VkRenderPassMultiviewCreateInfo;
4804 typedef struct VkPhysicalDeviceMultiviewFeatures {
4805 VkStructureType sType;
4808 VkBool32 multiviewGeometryShader;
4809 VkBool32 multiviewTessellationShader;
4810 } VkPhysicalDeviceMultiviewFeatures;
4812 typedef struct VkPhysicalDeviceMultiviewProperties {
4813 VkStructureType sType;
4815 deUint32 maxMultiviewViewCount;
4816 deUint32 maxMultiviewInstanceIndex;
4817 } VkPhysicalDeviceMultiviewProperties;
4819 typedef struct VkPhysicalDeviceVariablePointersFeatures {
4820 VkStructureType sType;
4822 VkBool32 variablePointersStorageBuffer;
4823 VkBool32 variablePointers;
4824 } VkPhysicalDeviceVariablePointersFeatures;
4826 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeatures;
4828 typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
4829 VkStructureType sType;
4831 VkBool32 protectedMemory;
4832 } VkPhysicalDeviceProtectedMemoryFeatures;
4834 typedef struct VkPhysicalDeviceProtectedMemoryProperties {
4835 VkStructureType sType;
4837 VkBool32 protectedNoFault;
4838 } VkPhysicalDeviceProtectedMemoryProperties;
4840 typedef struct VkDeviceQueueInfo2 {
4841 VkStructureType sType;
4843 VkDeviceQueueCreateFlags flags;
4844 deUint32 queueFamilyIndex;
4845 deUint32 queueIndex;
4846 } VkDeviceQueueInfo2;
4848 typedef struct VkProtectedSubmitInfo {
4849 VkStructureType sType;
4851 VkBool32 protectedSubmit;
4852 } VkProtectedSubmitInfo;
4854 typedef struct VkSamplerYcbcrConversionCreateInfo {
4855 VkStructureType sType;
4858 VkSamplerYcbcrModelConversion ycbcrModel;
4859 VkSamplerYcbcrRange ycbcrRange;
4860 VkComponentMapping components;
4861 VkChromaLocation xChromaOffset;
4862 VkChromaLocation yChromaOffset;
4863 VkFilter chromaFilter;
4864 VkBool32 forceExplicitReconstruction;
4865 } VkSamplerYcbcrConversionCreateInfo;
4867 typedef struct VkSamplerYcbcrConversionInfo {
4868 VkStructureType sType;
4870 VkSamplerYcbcrConversion conversion;
4871 } VkSamplerYcbcrConversionInfo;
4873 typedef struct VkBindImagePlaneMemoryInfo {
4874 VkStructureType sType;
4876 VkImageAspectFlagBits planeAspect;
4877 } VkBindImagePlaneMemoryInfo;
4879 typedef struct VkImagePlaneMemoryRequirementsInfo {
4880 VkStructureType sType;
4882 VkImageAspectFlagBits planeAspect;
4883 } VkImagePlaneMemoryRequirementsInfo;
4885 typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
4886 VkStructureType sType;
4888 VkBool32 samplerYcbcrConversion;
4889 } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
4891 typedef struct VkSamplerYcbcrConversionImageFormatProperties {
4892 VkStructureType sType;
4894 deUint32 combinedImageSamplerDescriptorCount;
4895 } VkSamplerYcbcrConversionImageFormatProperties;
4897 typedef struct VkDescriptorUpdateTemplateEntry {
4898 deUint32 dstBinding;
4899 deUint32 dstArrayElement;
4900 deUint32 descriptorCount;
4901 VkDescriptorType descriptorType;
4904 } VkDescriptorUpdateTemplateEntry;
4906 typedef struct VkDescriptorUpdateTemplateCreateInfo {
4907 VkStructureType sType;
4909 VkDescriptorUpdateTemplateCreateFlags flags;
4910 deUint32 descriptorUpdateEntryCount;
4911 const VkDescriptorUpdateTemplateEntry* pDescriptorUpdateEntries;
4912 VkDescriptorUpdateTemplateType templateType;
4913 VkDescriptorSetLayout descriptorSetLayout;
4914 VkPipelineBindPoint pipelineBindPoint;
4915 VkPipelineLayout pipelineLayout;
4917 } VkDescriptorUpdateTemplateCreateInfo;
4919 typedef struct VkExternalMemoryProperties {
4920 VkExternalMemoryFeatureFlags externalMemoryFeatures;
4921 VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes;
4922 VkExternalMemoryHandleTypeFlags compatibleHandleTypes;
4923 } VkExternalMemoryProperties;
4925 typedef struct VkPhysicalDeviceExternalImageFormatInfo {
4926 VkStructureType sType;
4928 VkExternalMemoryHandleTypeFlagBits handleType;
4929 } VkPhysicalDeviceExternalImageFormatInfo;
4931 typedef struct VkExternalImageFormatProperties {
4932 VkStructureType sType;
4934 VkExternalMemoryProperties externalMemoryProperties;
4935 } VkExternalImageFormatProperties;
4937 typedef struct VkPhysicalDeviceExternalBufferInfo {
4938 VkStructureType sType;
4940 VkBufferCreateFlags flags;
4941 VkBufferUsageFlags usage;
4942 VkExternalMemoryHandleTypeFlagBits handleType;
4943 } VkPhysicalDeviceExternalBufferInfo;
4945 typedef struct VkExternalBufferProperties {
4946 VkStructureType sType;
4948 VkExternalMemoryProperties externalMemoryProperties;
4949 } VkExternalBufferProperties;
4951 typedef struct VkPhysicalDeviceIDProperties {
4952 VkStructureType sType;
4954 deUint8 deviceUUID[VK_UUID_SIZE];
4955 deUint8 driverUUID[VK_UUID_SIZE];
4956 deUint8 deviceLUID[VK_LUID_SIZE];
4957 deUint32 deviceNodeMask;
4958 VkBool32 deviceLUIDValid;
4959 } VkPhysicalDeviceIDProperties;
4961 typedef struct VkExternalMemoryImageCreateInfo {
4962 VkStructureType sType;
4964 VkExternalMemoryHandleTypeFlags handleTypes;
4965 } VkExternalMemoryImageCreateInfo;
4967 typedef struct VkExternalMemoryBufferCreateInfo {
4968 VkStructureType sType;
4970 VkExternalMemoryHandleTypeFlags handleTypes;
4971 } VkExternalMemoryBufferCreateInfo;
4973 typedef struct VkExportMemoryAllocateInfo {
4974 VkStructureType sType;
4976 VkExternalMemoryHandleTypeFlags handleTypes;
4977 } VkExportMemoryAllocateInfo;
4979 typedef struct VkPhysicalDeviceExternalFenceInfo {
4980 VkStructureType sType;
4982 VkExternalFenceHandleTypeFlagBits handleType;
4983 } VkPhysicalDeviceExternalFenceInfo;
4985 typedef struct VkExternalFenceProperties {
4986 VkStructureType sType;
4988 VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes;
4989 VkExternalFenceHandleTypeFlags compatibleHandleTypes;
4990 VkExternalFenceFeatureFlags externalFenceFeatures;
4991 } VkExternalFenceProperties;
4993 typedef struct VkExportFenceCreateInfo {
4994 VkStructureType sType;
4996 VkExternalFenceHandleTypeFlags handleTypes;
4997 } VkExportFenceCreateInfo;
4999 typedef struct VkExportSemaphoreCreateInfo {
5000 VkStructureType sType;
5002 VkExternalSemaphoreHandleTypeFlags handleTypes;
5003 } VkExportSemaphoreCreateInfo;
5005 typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
5006 VkStructureType sType;
5008 VkExternalSemaphoreHandleTypeFlagBits handleType;
5009 } VkPhysicalDeviceExternalSemaphoreInfo;
5011 typedef struct VkExternalSemaphoreProperties {
5012 VkStructureType sType;
5014 VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes;
5015 VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes;
5016 VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures;
5017 } VkExternalSemaphoreProperties;
5019 typedef struct VkPhysicalDeviceMaintenance3Properties {
5020 VkStructureType sType;
5022 deUint32 maxPerSetDescriptors;
5023 VkDeviceSize maxMemoryAllocationSize;
5024 } VkPhysicalDeviceMaintenance3Properties;
5026 typedef struct VkDescriptorSetLayoutSupport {
5027 VkStructureType sType;
5030 } VkDescriptorSetLayoutSupport;
5032 typedef struct VkPhysicalDeviceShaderDrawParametersFeatures {
5033 VkStructureType sType;
5035 VkBool32 shaderDrawParameters;
5036 } VkPhysicalDeviceShaderDrawParametersFeatures;
5038 typedef VkPhysicalDeviceShaderDrawParametersFeatures VkPhysicalDeviceShaderDrawParameterFeatures;
5040 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceVersion)(deUint32* pApiVersion);
5041 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2)(VkDevice device, deUint32 bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
5042 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2)(VkDevice device, deUint32 bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
5043 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeatures)(VkDevice device, deUint32 heapIndex, deUint32 localDeviceIndex, deUint32 remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
5044 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMask)(VkCommandBuffer commandBuffer, deUint32 deviceMask);
5045 typedef void (VKAPI_PTR *PFN_vkCmdDispatchBase)(VkCommandBuffer commandBuffer, deUint32 baseGroupX, deUint32 baseGroupY, deUint32 baseGroupZ, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ);
5046 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroups)(VkInstance instance, deUint32* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
5047 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
5048 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
5049 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
5050 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
5051 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
5052 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
5053 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
5054 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2)(VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
5055 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
5056 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, deUint32* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
5057 typedef void (VKAPI_PTR *PFN_vkTrimCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
5058 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue2)(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue);
5059 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversion)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
5060 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversion)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
5061 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplate)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
5062 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplate)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
5063 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplate)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
5064 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
5065 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFenceProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
5066 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphoreProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
5067 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupport)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
5069 #ifndef VK_NO_PROTOTYPES
5070 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceVersion(
5071 deUint32* pApiVersion);
5073 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2(
5075 deUint32 bindInfoCount,
5076 const VkBindBufferMemoryInfo* pBindInfos);
5078 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2(
5080 deUint32 bindInfoCount,
5081 const VkBindImageMemoryInfo* pBindInfos);
5083 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeatures(
5086 deUint32 localDeviceIndex,
5087 deUint32 remoteDeviceIndex,
5088 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
5090 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMask(
5091 VkCommandBuffer commandBuffer,
5092 deUint32 deviceMask);
5094 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBase(
5095 VkCommandBuffer commandBuffer,
5096 deUint32 baseGroupX,
5097 deUint32 baseGroupY,
5098 deUint32 baseGroupZ,
5099 deUint32 groupCountX,
5100 deUint32 groupCountY,
5101 deUint32 groupCountZ);
5103 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroups(
5104 VkInstance instance,
5105 deUint32* pPhysicalDeviceGroupCount,
5106 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
5108 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2(
5110 const VkImageMemoryRequirementsInfo2* pInfo,
5111 VkMemoryRequirements2* pMemoryRequirements);
5113 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2(
5115 const VkBufferMemoryRequirementsInfo2* pInfo,
5116 VkMemoryRequirements2* pMemoryRequirements);
5118 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2(
5120 const VkImageSparseMemoryRequirementsInfo2* pInfo,
5121 deUint32* pSparseMemoryRequirementCount,
5122 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
5124 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2(
5125 VkPhysicalDevice physicalDevice,
5126 VkPhysicalDeviceFeatures2* pFeatures);
5128 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2(
5129 VkPhysicalDevice physicalDevice,
5130 VkPhysicalDeviceProperties2* pProperties);
5132 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2(
5133 VkPhysicalDevice physicalDevice,
5135 VkFormatProperties2* pFormatProperties);
5137 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2(
5138 VkPhysicalDevice physicalDevice,
5139 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
5140 VkImageFormatProperties2* pImageFormatProperties);
5142 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2(
5143 VkPhysicalDevice physicalDevice,
5144 deUint32* pQueueFamilyPropertyCount,
5145 VkQueueFamilyProperties2* pQueueFamilyProperties);
5147 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2(
5148 VkPhysicalDevice physicalDevice,
5149 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
5151 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2(
5152 VkPhysicalDevice physicalDevice,
5153 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
5154 deUint32* pPropertyCount,
5155 VkSparseImageFormatProperties2* pProperties);
5157 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPool(
5159 VkCommandPool commandPool,
5160 VkCommandPoolTrimFlags flags);
5162 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue2(
5164 const VkDeviceQueueInfo2* pQueueInfo,
5167 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversion(
5169 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
5170 const VkAllocationCallbacks* pAllocator,
5171 VkSamplerYcbcrConversion* pYcbcrConversion);
5173 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversion(
5175 VkSamplerYcbcrConversion ycbcrConversion,
5176 const VkAllocationCallbacks* pAllocator);
5178 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplate(
5180 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
5181 const VkAllocationCallbacks* pAllocator,
5182 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
5184 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplate(
5186 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
5187 const VkAllocationCallbacks* pAllocator);
5189 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplate(
5191 VkDescriptorSet descriptorSet,
5192 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
5195 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferProperties(
5196 VkPhysicalDevice physicalDevice,
5197 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
5198 VkExternalBufferProperties* pExternalBufferProperties);
5200 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFenceProperties(
5201 VkPhysicalDevice physicalDevice,
5202 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
5203 VkExternalFenceProperties* pExternalFenceProperties);
5205 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphoreProperties(
5206 VkPhysicalDevice physicalDevice,
5207 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
5208 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
5210 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupport(
5212 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
5213 VkDescriptorSetLayoutSupport* pSupport);
5217 #define VK_VERSION_1_2 1
5218 // Vulkan 1.2 version number
5219 #define VK_API_VERSION_1_2 VK_MAKE_API_VERSION(0, 1, 2, 0)// Patch version should always be set to 0
5221 #define VK_MAX_DRIVER_NAME_SIZE 256U
5222 #define VK_MAX_DRIVER_INFO_SIZE 256U
5224 typedef enum VkDriverId {
5225 VK_DRIVER_ID_AMD_PROPRIETARY = 1,
5226 VK_DRIVER_ID_AMD_OPEN_SOURCE = 2,
5227 VK_DRIVER_ID_MESA_RADV = 3,
5228 VK_DRIVER_ID_NVIDIA_PROPRIETARY = 4,
5229 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS = 5,
5230 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA = 6,
5231 VK_DRIVER_ID_IMAGINATION_PROPRIETARY = 7,
5232 VK_DRIVER_ID_QUALCOMM_PROPRIETARY = 8,
5233 VK_DRIVER_ID_ARM_PROPRIETARY = 9,
5234 VK_DRIVER_ID_GOOGLE_SWIFTSHADER = 10,
5235 VK_DRIVER_ID_GGP_PROPRIETARY = 11,
5236 VK_DRIVER_ID_BROADCOM_PROPRIETARY = 12,
5237 VK_DRIVER_ID_MESA_LLVMPIPE = 13,
5238 VK_DRIVER_ID_MOLTENVK = 14,
5239 VK_DRIVER_ID_COREAVI_PROPRIETARY = 15,
5240 VK_DRIVER_ID_AMD_PROPRIETARY_KHR = VK_DRIVER_ID_AMD_PROPRIETARY,
5241 VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = VK_DRIVER_ID_AMD_OPEN_SOURCE,
5242 VK_DRIVER_ID_MESA_RADV_KHR = VK_DRIVER_ID_MESA_RADV,
5243 VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR = VK_DRIVER_ID_NVIDIA_PROPRIETARY,
5244 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR = VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS,
5245 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR = VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA,
5246 VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR = VK_DRIVER_ID_IMAGINATION_PROPRIETARY,
5247 VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR = VK_DRIVER_ID_QUALCOMM_PROPRIETARY,
5248 VK_DRIVER_ID_ARM_PROPRIETARY_KHR = VK_DRIVER_ID_ARM_PROPRIETARY,
5249 VK_DRIVER_ID_GOOGLE_SWIFTSHADER_KHR = VK_DRIVER_ID_GOOGLE_SWIFTSHADER,
5250 VK_DRIVER_ID_GGP_PROPRIETARY_KHR = VK_DRIVER_ID_GGP_PROPRIETARY,
5251 VK_DRIVER_ID_BROADCOM_PROPRIETARY_KHR = VK_DRIVER_ID_BROADCOM_PROPRIETARY,
5252 VK_DRIVER_ID_MAX_ENUM = 0x7FFFFFFF
5255 typedef enum VkShaderFloatControlsIndependence {
5256 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY = 0,
5257 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL = 1,
5258 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE = 2,
5259 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY,
5260 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL,
5261 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE,
5262 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_MAX_ENUM = 0x7FFFFFFF
5263 } VkShaderFloatControlsIndependence;
5265 typedef enum VkSamplerReductionMode {
5266 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE = 0,
5267 VK_SAMPLER_REDUCTION_MODE_MIN = 1,
5268 VK_SAMPLER_REDUCTION_MODE_MAX = 2,
5269 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE,
5270 VK_SAMPLER_REDUCTION_MODE_MIN_EXT = VK_SAMPLER_REDUCTION_MODE_MIN,
5271 VK_SAMPLER_REDUCTION_MODE_MAX_EXT = VK_SAMPLER_REDUCTION_MODE_MAX,
5272 VK_SAMPLER_REDUCTION_MODE_MAX_ENUM = 0x7FFFFFFF
5273 } VkSamplerReductionMode;
5275 typedef enum VkSemaphoreType {
5276 VK_SEMAPHORE_TYPE_BINARY = 0,
5277 VK_SEMAPHORE_TYPE_TIMELINE = 1,
5278 VK_SEMAPHORE_TYPE_BINARY_KHR = VK_SEMAPHORE_TYPE_BINARY,
5279 VK_SEMAPHORE_TYPE_TIMELINE_KHR = VK_SEMAPHORE_TYPE_TIMELINE,
5280 VK_SEMAPHORE_TYPE_MAX_ENUM = 0x7FFFFFFF
5283 typedef enum VkResolveModeFlagBits {
5284 VK_RESOLVE_MODE_NONE = 0,
5285 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT = 0x00000001,
5286 VK_RESOLVE_MODE_AVERAGE_BIT = 0x00000002,
5287 VK_RESOLVE_MODE_MIN_BIT = 0x00000004,
5288 VK_RESOLVE_MODE_MAX_BIT = 0x00000008,
5289 VK_RESOLVE_MODE_NONE_KHR = VK_RESOLVE_MODE_NONE,
5290 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR = VK_RESOLVE_MODE_SAMPLE_ZERO_BIT,
5291 VK_RESOLVE_MODE_AVERAGE_BIT_KHR = VK_RESOLVE_MODE_AVERAGE_BIT,
5292 VK_RESOLVE_MODE_MIN_BIT_KHR = VK_RESOLVE_MODE_MIN_BIT,
5293 VK_RESOLVE_MODE_MAX_BIT_KHR = VK_RESOLVE_MODE_MAX_BIT,
5294 VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5295 } VkResolveModeFlagBits;
5296 typedef VkFlags VkResolveModeFlags;
5298 typedef enum VkDescriptorBindingFlagBits {
5299 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT = 0x00000001,
5300 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT = 0x00000002,
5301 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT = 0x00000004,
5302 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT = 0x00000008,
5303 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT,
5304 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT,
5305 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT = VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT,
5306 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT = VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT,
5307 VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5308 } VkDescriptorBindingFlagBits;
5309 typedef VkFlags VkDescriptorBindingFlags;
5311 typedef enum VkSemaphoreWaitFlagBits {
5312 VK_SEMAPHORE_WAIT_ANY_BIT = 0x00000001,
5313 VK_SEMAPHORE_WAIT_ANY_BIT_KHR = VK_SEMAPHORE_WAIT_ANY_BIT,
5314 VK_SEMAPHORE_WAIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5315 } VkSemaphoreWaitFlagBits;
5316 typedef VkFlags VkSemaphoreWaitFlags;
5317 typedef struct VkPhysicalDeviceVulkan11Features {
5318 VkStructureType sType;
5320 VkBool32 storageBuffer16BitAccess;
5321 VkBool32 uniformAndStorageBuffer16BitAccess;
5322 VkBool32 storagePushConstant16;
5323 VkBool32 storageInputOutput16;
5325 VkBool32 multiviewGeometryShader;
5326 VkBool32 multiviewTessellationShader;
5327 VkBool32 variablePointersStorageBuffer;
5328 VkBool32 variablePointers;
5329 VkBool32 protectedMemory;
5330 VkBool32 samplerYcbcrConversion;
5331 VkBool32 shaderDrawParameters;
5332 } VkPhysicalDeviceVulkan11Features;
5334 typedef struct VkPhysicalDeviceVulkan11Properties {
5335 VkStructureType sType;
5337 deUint8 deviceUUID[VK_UUID_SIZE];
5338 deUint8 driverUUID[VK_UUID_SIZE];
5339 deUint8 deviceLUID[VK_LUID_SIZE];
5340 deUint32 deviceNodeMask;
5341 VkBool32 deviceLUIDValid;
5342 deUint32 subgroupSize;
5343 VkShaderStageFlags subgroupSupportedStages;
5344 VkSubgroupFeatureFlags subgroupSupportedOperations;
5345 VkBool32 subgroupQuadOperationsInAllStages;
5346 VkPointClippingBehavior pointClippingBehavior;
5347 deUint32 maxMultiviewViewCount;
5348 deUint32 maxMultiviewInstanceIndex;
5349 VkBool32 protectedNoFault;
5350 deUint32 maxPerSetDescriptors;
5351 VkDeviceSize maxMemoryAllocationSize;
5352 } VkPhysicalDeviceVulkan11Properties;
5354 typedef struct VkPhysicalDeviceVulkan12Features {
5355 VkStructureType sType;
5357 VkBool32 samplerMirrorClampToEdge;
5358 VkBool32 drawIndirectCount;
5359 VkBool32 storageBuffer8BitAccess;
5360 VkBool32 uniformAndStorageBuffer8BitAccess;
5361 VkBool32 storagePushConstant8;
5362 VkBool32 shaderBufferInt64Atomics;
5363 VkBool32 shaderSharedInt64Atomics;
5364 VkBool32 shaderFloat16;
5365 VkBool32 shaderInt8;
5366 VkBool32 descriptorIndexing;
5367 VkBool32 shaderInputAttachmentArrayDynamicIndexing;
5368 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
5369 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
5370 VkBool32 shaderUniformBufferArrayNonUniformIndexing;
5371 VkBool32 shaderSampledImageArrayNonUniformIndexing;
5372 VkBool32 shaderStorageBufferArrayNonUniformIndexing;
5373 VkBool32 shaderStorageImageArrayNonUniformIndexing;
5374 VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
5375 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
5376 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
5377 VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
5378 VkBool32 descriptorBindingSampledImageUpdateAfterBind;
5379 VkBool32 descriptorBindingStorageImageUpdateAfterBind;
5380 VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
5381 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
5382 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
5383 VkBool32 descriptorBindingUpdateUnusedWhilePending;
5384 VkBool32 descriptorBindingPartiallyBound;
5385 VkBool32 descriptorBindingVariableDescriptorCount;
5386 VkBool32 runtimeDescriptorArray;
5387 VkBool32 samplerFilterMinmax;
5388 VkBool32 scalarBlockLayout;
5389 VkBool32 imagelessFramebuffer;
5390 VkBool32 uniformBufferStandardLayout;
5391 VkBool32 shaderSubgroupExtendedTypes;
5392 VkBool32 separateDepthStencilLayouts;
5393 VkBool32 hostQueryReset;
5394 VkBool32 timelineSemaphore;
5395 VkBool32 bufferDeviceAddress;
5396 VkBool32 bufferDeviceAddressCaptureReplay;
5397 VkBool32 bufferDeviceAddressMultiDevice;
5398 VkBool32 vulkanMemoryModel;
5399 VkBool32 vulkanMemoryModelDeviceScope;
5400 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
5401 VkBool32 shaderOutputViewportIndex;
5402 VkBool32 shaderOutputLayer;
5403 VkBool32 subgroupBroadcastDynamicId;
5404 } VkPhysicalDeviceVulkan12Features;
5406 typedef struct VkConformanceVersion {
5411 } VkConformanceVersion;
5413 typedef struct VkPhysicalDeviceVulkan12Properties {
5414 VkStructureType sType;
5416 VkDriverId driverID;
5417 char driverName[VK_MAX_DRIVER_NAME_SIZE];
5418 char driverInfo[VK_MAX_DRIVER_INFO_SIZE];
5419 VkConformanceVersion conformanceVersion;
5420 VkShaderFloatControlsIndependence denormBehaviorIndependence;
5421 VkShaderFloatControlsIndependence roundingModeIndependence;
5422 VkBool32 shaderSignedZeroInfNanPreserveFloat16;
5423 VkBool32 shaderSignedZeroInfNanPreserveFloat32;
5424 VkBool32 shaderSignedZeroInfNanPreserveFloat64;
5425 VkBool32 shaderDenormPreserveFloat16;
5426 VkBool32 shaderDenormPreserveFloat32;
5427 VkBool32 shaderDenormPreserveFloat64;
5428 VkBool32 shaderDenormFlushToZeroFloat16;
5429 VkBool32 shaderDenormFlushToZeroFloat32;
5430 VkBool32 shaderDenormFlushToZeroFloat64;
5431 VkBool32 shaderRoundingModeRTEFloat16;
5432 VkBool32 shaderRoundingModeRTEFloat32;
5433 VkBool32 shaderRoundingModeRTEFloat64;
5434 VkBool32 shaderRoundingModeRTZFloat16;
5435 VkBool32 shaderRoundingModeRTZFloat32;
5436 VkBool32 shaderRoundingModeRTZFloat64;
5437 deUint32 maxUpdateAfterBindDescriptorsInAllPools;
5438 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
5439 VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
5440 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
5441 VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
5442 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
5443 VkBool32 robustBufferAccessUpdateAfterBind;
5444 VkBool32 quadDivergentImplicitLod;
5445 deUint32 maxPerStageDescriptorUpdateAfterBindSamplers;
5446 deUint32 maxPerStageDescriptorUpdateAfterBindUniformBuffers;
5447 deUint32 maxPerStageDescriptorUpdateAfterBindStorageBuffers;
5448 deUint32 maxPerStageDescriptorUpdateAfterBindSampledImages;
5449 deUint32 maxPerStageDescriptorUpdateAfterBindStorageImages;
5450 deUint32 maxPerStageDescriptorUpdateAfterBindInputAttachments;
5451 deUint32 maxPerStageUpdateAfterBindResources;
5452 deUint32 maxDescriptorSetUpdateAfterBindSamplers;
5453 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffers;
5454 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
5455 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffers;
5456 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
5457 deUint32 maxDescriptorSetUpdateAfterBindSampledImages;
5458 deUint32 maxDescriptorSetUpdateAfterBindStorageImages;
5459 deUint32 maxDescriptorSetUpdateAfterBindInputAttachments;
5460 VkResolveModeFlags supportedDepthResolveModes;
5461 VkResolveModeFlags supportedStencilResolveModes;
5462 VkBool32 independentResolveNone;
5463 VkBool32 independentResolve;
5464 VkBool32 filterMinmaxSingleComponentFormats;
5465 VkBool32 filterMinmaxImageComponentMapping;
5466 deUint64 maxTimelineSemaphoreValueDifference;
5467 VkSampleCountFlags framebufferIntegerColorSampleCounts;
5468 } VkPhysicalDeviceVulkan12Properties;
5470 typedef struct VkImageFormatListCreateInfo {
5471 VkStructureType sType;
5473 deUint32 viewFormatCount;
5474 const VkFormat* pViewFormats;
5475 } VkImageFormatListCreateInfo;
5477 typedef struct VkAttachmentDescription2 {
5478 VkStructureType sType;
5480 VkAttachmentDescriptionFlags flags;
5482 VkSampleCountFlagBits samples;
5483 VkAttachmentLoadOp loadOp;
5484 VkAttachmentStoreOp storeOp;
5485 VkAttachmentLoadOp stencilLoadOp;
5486 VkAttachmentStoreOp stencilStoreOp;
5487 VkImageLayout initialLayout;
5488 VkImageLayout finalLayout;
5489 } VkAttachmentDescription2;
5491 typedef struct VkAttachmentReference2 {
5492 VkStructureType sType;
5494 deUint32 attachment;
5495 VkImageLayout layout;
5496 VkImageAspectFlags aspectMask;
5497 } VkAttachmentReference2;
5499 typedef struct VkSubpassDescription2 {
5500 VkStructureType sType;
5502 VkSubpassDescriptionFlags flags;
5503 VkPipelineBindPoint pipelineBindPoint;
5505 deUint32 inputAttachmentCount;
5506 const VkAttachmentReference2* pInputAttachments;
5507 deUint32 colorAttachmentCount;
5508 const VkAttachmentReference2* pColorAttachments;
5509 const VkAttachmentReference2* pResolveAttachments;
5510 const VkAttachmentReference2* pDepthStencilAttachment;
5511 deUint32 preserveAttachmentCount;
5512 const deUint32* pPreserveAttachments;
5513 } VkSubpassDescription2;
5515 typedef struct VkSubpassDependency2 {
5516 VkStructureType sType;
5518 deUint32 srcSubpass;
5519 deUint32 dstSubpass;
5520 VkPipelineStageFlags srcStageMask;
5521 VkPipelineStageFlags dstStageMask;
5522 VkAccessFlags srcAccessMask;
5523 VkAccessFlags dstAccessMask;
5524 VkDependencyFlags dependencyFlags;
5526 } VkSubpassDependency2;
5528 typedef struct VkRenderPassCreateInfo2 {
5529 VkStructureType sType;
5531 VkRenderPassCreateFlags flags;
5532 deUint32 attachmentCount;
5533 const VkAttachmentDescription2* pAttachments;
5534 deUint32 subpassCount;
5535 const VkSubpassDescription2* pSubpasses;
5536 deUint32 dependencyCount;
5537 const VkSubpassDependency2* pDependencies;
5538 deUint32 correlatedViewMaskCount;
5539 const deUint32* pCorrelatedViewMasks;
5540 } VkRenderPassCreateInfo2;
5542 typedef struct VkSubpassBeginInfo {
5543 VkStructureType sType;
5545 VkSubpassContents contents;
5546 } VkSubpassBeginInfo;
5548 typedef struct VkSubpassEndInfo {
5549 VkStructureType sType;
5553 typedef struct VkPhysicalDevice8BitStorageFeatures {
5554 VkStructureType sType;
5556 VkBool32 storageBuffer8BitAccess;
5557 VkBool32 uniformAndStorageBuffer8BitAccess;
5558 VkBool32 storagePushConstant8;
5559 } VkPhysicalDevice8BitStorageFeatures;
5561 typedef struct VkPhysicalDeviceDriverProperties {
5562 VkStructureType sType;
5564 VkDriverId driverID;
5565 char driverName[VK_MAX_DRIVER_NAME_SIZE];
5566 char driverInfo[VK_MAX_DRIVER_INFO_SIZE];
5567 VkConformanceVersion conformanceVersion;
5568 } VkPhysicalDeviceDriverProperties;
5570 typedef struct VkPhysicalDeviceShaderAtomicInt64Features {
5571 VkStructureType sType;
5573 VkBool32 shaderBufferInt64Atomics;
5574 VkBool32 shaderSharedInt64Atomics;
5575 } VkPhysicalDeviceShaderAtomicInt64Features;
5577 typedef struct VkPhysicalDeviceShaderFloat16Int8Features {
5578 VkStructureType sType;
5580 VkBool32 shaderFloat16;
5581 VkBool32 shaderInt8;
5582 } VkPhysicalDeviceShaderFloat16Int8Features;
5584 typedef struct VkPhysicalDeviceFloatControlsProperties {
5585 VkStructureType sType;
5587 VkShaderFloatControlsIndependence denormBehaviorIndependence;
5588 VkShaderFloatControlsIndependence roundingModeIndependence;
5589 VkBool32 shaderSignedZeroInfNanPreserveFloat16;
5590 VkBool32 shaderSignedZeroInfNanPreserveFloat32;
5591 VkBool32 shaderSignedZeroInfNanPreserveFloat64;
5592 VkBool32 shaderDenormPreserveFloat16;
5593 VkBool32 shaderDenormPreserveFloat32;
5594 VkBool32 shaderDenormPreserveFloat64;
5595 VkBool32 shaderDenormFlushToZeroFloat16;
5596 VkBool32 shaderDenormFlushToZeroFloat32;
5597 VkBool32 shaderDenormFlushToZeroFloat64;
5598 VkBool32 shaderRoundingModeRTEFloat16;
5599 VkBool32 shaderRoundingModeRTEFloat32;
5600 VkBool32 shaderRoundingModeRTEFloat64;
5601 VkBool32 shaderRoundingModeRTZFloat16;
5602 VkBool32 shaderRoundingModeRTZFloat32;
5603 VkBool32 shaderRoundingModeRTZFloat64;
5604 } VkPhysicalDeviceFloatControlsProperties;
5606 typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfo {
5607 VkStructureType sType;
5609 deUint32 bindingCount;
5610 const VkDescriptorBindingFlags* pBindingFlags;
5611 } VkDescriptorSetLayoutBindingFlagsCreateInfo;
5613 typedef struct VkPhysicalDeviceDescriptorIndexingFeatures {
5614 VkStructureType sType;
5616 VkBool32 shaderInputAttachmentArrayDynamicIndexing;
5617 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
5618 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
5619 VkBool32 shaderUniformBufferArrayNonUniformIndexing;
5620 VkBool32 shaderSampledImageArrayNonUniformIndexing;
5621 VkBool32 shaderStorageBufferArrayNonUniformIndexing;
5622 VkBool32 shaderStorageImageArrayNonUniformIndexing;
5623 VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
5624 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
5625 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
5626 VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
5627 VkBool32 descriptorBindingSampledImageUpdateAfterBind;
5628 VkBool32 descriptorBindingStorageImageUpdateAfterBind;
5629 VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
5630 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
5631 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
5632 VkBool32 descriptorBindingUpdateUnusedWhilePending;
5633 VkBool32 descriptorBindingPartiallyBound;
5634 VkBool32 descriptorBindingVariableDescriptorCount;
5635 VkBool32 runtimeDescriptorArray;
5636 } VkPhysicalDeviceDescriptorIndexingFeatures;
5638 typedef struct VkPhysicalDeviceDescriptorIndexingProperties {
5639 VkStructureType sType;
5641 deUint32 maxUpdateAfterBindDescriptorsInAllPools;
5642 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
5643 VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
5644 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
5645 VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
5646 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
5647 VkBool32 robustBufferAccessUpdateAfterBind;
5648 VkBool32 quadDivergentImplicitLod;
5649 deUint32 maxPerStageDescriptorUpdateAfterBindSamplers;
5650 deUint32 maxPerStageDescriptorUpdateAfterBindUniformBuffers;
5651 deUint32 maxPerStageDescriptorUpdateAfterBindStorageBuffers;
5652 deUint32 maxPerStageDescriptorUpdateAfterBindSampledImages;
5653 deUint32 maxPerStageDescriptorUpdateAfterBindStorageImages;
5654 deUint32 maxPerStageDescriptorUpdateAfterBindInputAttachments;
5655 deUint32 maxPerStageUpdateAfterBindResources;
5656 deUint32 maxDescriptorSetUpdateAfterBindSamplers;
5657 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffers;
5658 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
5659 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffers;
5660 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
5661 deUint32 maxDescriptorSetUpdateAfterBindSampledImages;
5662 deUint32 maxDescriptorSetUpdateAfterBindStorageImages;
5663 deUint32 maxDescriptorSetUpdateAfterBindInputAttachments;
5664 } VkPhysicalDeviceDescriptorIndexingProperties;
5666 typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfo {
5667 VkStructureType sType;
5669 deUint32 descriptorSetCount;
5670 const deUint32* pDescriptorCounts;
5671 } VkDescriptorSetVariableDescriptorCountAllocateInfo;
5673 typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupport {
5674 VkStructureType sType;
5676 deUint32 maxVariableDescriptorCount;
5677 } VkDescriptorSetVariableDescriptorCountLayoutSupport;
5679 typedef struct VkSubpassDescriptionDepthStencilResolve {
5680 VkStructureType sType;
5682 VkResolveModeFlagBits depthResolveMode;
5683 VkResolveModeFlagBits stencilResolveMode;
5684 const VkAttachmentReference2* pDepthStencilResolveAttachment;
5685 } VkSubpassDescriptionDepthStencilResolve;
5687 typedef struct VkPhysicalDeviceDepthStencilResolveProperties {
5688 VkStructureType sType;
5690 VkResolveModeFlags supportedDepthResolveModes;
5691 VkResolveModeFlags supportedStencilResolveModes;
5692 VkBool32 independentResolveNone;
5693 VkBool32 independentResolve;
5694 } VkPhysicalDeviceDepthStencilResolveProperties;
5696 typedef struct VkPhysicalDeviceScalarBlockLayoutFeatures {
5697 VkStructureType sType;
5699 VkBool32 scalarBlockLayout;
5700 } VkPhysicalDeviceScalarBlockLayoutFeatures;
5702 typedef struct VkImageStencilUsageCreateInfo {
5703 VkStructureType sType;
5705 VkImageUsageFlags stencilUsage;
5706 } VkImageStencilUsageCreateInfo;
5708 typedef struct VkSamplerReductionModeCreateInfo {
5709 VkStructureType sType;
5711 VkSamplerReductionMode reductionMode;
5712 } VkSamplerReductionModeCreateInfo;
5714 typedef struct VkPhysicalDeviceSamplerFilterMinmaxProperties {
5715 VkStructureType sType;
5717 VkBool32 filterMinmaxSingleComponentFormats;
5718 VkBool32 filterMinmaxImageComponentMapping;
5719 } VkPhysicalDeviceSamplerFilterMinmaxProperties;
5721 typedef struct VkPhysicalDeviceVulkanMemoryModelFeatures {
5722 VkStructureType sType;
5724 VkBool32 vulkanMemoryModel;
5725 VkBool32 vulkanMemoryModelDeviceScope;
5726 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
5727 } VkPhysicalDeviceVulkanMemoryModelFeatures;
5729 typedef struct VkPhysicalDeviceImagelessFramebufferFeatures {
5730 VkStructureType sType;
5732 VkBool32 imagelessFramebuffer;
5733 } VkPhysicalDeviceImagelessFramebufferFeatures;
5735 typedef struct VkFramebufferAttachmentImageInfo {
5736 VkStructureType sType;
5738 VkImageCreateFlags flags;
5739 VkImageUsageFlags usage;
5742 deUint32 layerCount;
5743 deUint32 viewFormatCount;
5744 const VkFormat* pViewFormats;
5745 } VkFramebufferAttachmentImageInfo;
5747 typedef struct VkFramebufferAttachmentsCreateInfo {
5748 VkStructureType sType;
5750 deUint32 attachmentImageInfoCount;
5751 const VkFramebufferAttachmentImageInfo* pAttachmentImageInfos;
5752 } VkFramebufferAttachmentsCreateInfo;
5754 typedef struct VkRenderPassAttachmentBeginInfo {
5755 VkStructureType sType;
5757 deUint32 attachmentCount;
5758 const VkImageView* pAttachments;
5759 } VkRenderPassAttachmentBeginInfo;
5761 typedef struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures {
5762 VkStructureType sType;
5764 VkBool32 uniformBufferStandardLayout;
5765 } VkPhysicalDeviceUniformBufferStandardLayoutFeatures;
5767 typedef struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures {
5768 VkStructureType sType;
5770 VkBool32 shaderSubgroupExtendedTypes;
5771 } VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures;
5773 typedef struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures {
5774 VkStructureType sType;
5776 VkBool32 separateDepthStencilLayouts;
5777 } VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures;
5779 typedef struct VkAttachmentReferenceStencilLayout {
5780 VkStructureType sType;
5782 VkImageLayout stencilLayout;
5783 } VkAttachmentReferenceStencilLayout;
5785 typedef struct VkAttachmentDescriptionStencilLayout {
5786 VkStructureType sType;
5788 VkImageLayout stencilInitialLayout;
5789 VkImageLayout stencilFinalLayout;
5790 } VkAttachmentDescriptionStencilLayout;
5792 typedef struct VkPhysicalDeviceHostQueryResetFeatures {
5793 VkStructureType sType;
5795 VkBool32 hostQueryReset;
5796 } VkPhysicalDeviceHostQueryResetFeatures;
5798 typedef struct VkPhysicalDeviceTimelineSemaphoreFeatures {
5799 VkStructureType sType;
5801 VkBool32 timelineSemaphore;
5802 } VkPhysicalDeviceTimelineSemaphoreFeatures;
5804 typedef struct VkPhysicalDeviceTimelineSemaphoreProperties {
5805 VkStructureType sType;
5807 deUint64 maxTimelineSemaphoreValueDifference;
5808 } VkPhysicalDeviceTimelineSemaphoreProperties;
5810 typedef struct VkSemaphoreTypeCreateInfo {
5811 VkStructureType sType;
5813 VkSemaphoreType semaphoreType;
5814 deUint64 initialValue;
5815 } VkSemaphoreTypeCreateInfo;
5817 typedef struct VkTimelineSemaphoreSubmitInfo {
5818 VkStructureType sType;
5820 deUint32 waitSemaphoreValueCount;
5821 const deUint64* pWaitSemaphoreValues;
5822 deUint32 signalSemaphoreValueCount;
5823 const deUint64* pSignalSemaphoreValues;
5824 } VkTimelineSemaphoreSubmitInfo;
5826 typedef struct VkSemaphoreWaitInfo {
5827 VkStructureType sType;
5829 VkSemaphoreWaitFlags flags;
5830 deUint32 semaphoreCount;
5831 const VkSemaphore* pSemaphores;
5832 const deUint64* pValues;
5833 } VkSemaphoreWaitInfo;
5835 typedef struct VkSemaphoreSignalInfo {
5836 VkStructureType sType;
5838 VkSemaphore semaphore;
5840 } VkSemaphoreSignalInfo;
5842 typedef struct VkPhysicalDeviceBufferDeviceAddressFeatures {
5843 VkStructureType sType;
5845 VkBool32 bufferDeviceAddress;
5846 VkBool32 bufferDeviceAddressCaptureReplay;
5847 VkBool32 bufferDeviceAddressMultiDevice;
5848 } VkPhysicalDeviceBufferDeviceAddressFeatures;
5850 typedef struct VkBufferDeviceAddressInfo {
5851 VkStructureType sType;
5854 } VkBufferDeviceAddressInfo;
5856 typedef struct VkBufferOpaqueCaptureAddressCreateInfo {
5857 VkStructureType sType;
5859 deUint64 opaqueCaptureAddress;
5860 } VkBufferOpaqueCaptureAddressCreateInfo;
5862 typedef struct VkMemoryOpaqueCaptureAddressAllocateInfo {
5863 VkStructureType sType;
5865 deUint64 opaqueCaptureAddress;
5866 } VkMemoryOpaqueCaptureAddressAllocateInfo;
5868 typedef struct VkDeviceMemoryOpaqueCaptureAddressInfo {
5869 VkStructureType sType;
5871 VkDeviceMemory memory;
5872 } VkDeviceMemoryOpaqueCaptureAddressInfo;
5874 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
5875 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
5876 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
5877 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo);
5878 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo);
5879 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo);
5880 typedef void (VKAPI_PTR *PFN_vkResetQueryPool)(VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount);
5881 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValue)(VkDevice device, VkSemaphore semaphore, deUint64* pValue);
5882 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphores)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, deUint64 timeout);
5883 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphore)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo);
5884 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
5885 typedef deUint64 (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
5886 typedef deUint64 (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddress)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
5888 #ifndef VK_NO_PROTOTYPES
5889 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCount(
5890 VkCommandBuffer commandBuffer,
5892 VkDeviceSize offset,
5893 VkBuffer countBuffer,
5894 VkDeviceSize countBufferOffset,
5895 deUint32 maxDrawCount,
5898 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCount(
5899 VkCommandBuffer commandBuffer,
5901 VkDeviceSize offset,
5902 VkBuffer countBuffer,
5903 VkDeviceSize countBufferOffset,
5904 deUint32 maxDrawCount,
5907 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2(
5909 const VkRenderPassCreateInfo2* pCreateInfo,
5910 const VkAllocationCallbacks* pAllocator,
5911 VkRenderPass* pRenderPass);
5913 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2(
5914 VkCommandBuffer commandBuffer,
5915 const VkRenderPassBeginInfo* pRenderPassBegin,
5916 const VkSubpassBeginInfo* pSubpassBeginInfo);
5918 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2(
5919 VkCommandBuffer commandBuffer,
5920 const VkSubpassBeginInfo* pSubpassBeginInfo,
5921 const VkSubpassEndInfo* pSubpassEndInfo);
5923 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2(
5924 VkCommandBuffer commandBuffer,
5925 const VkSubpassEndInfo* pSubpassEndInfo);
5927 VKAPI_ATTR void VKAPI_CALL vkResetQueryPool(
5929 VkQueryPool queryPool,
5930 deUint32 firstQuery,
5931 deUint32 queryCount);
5933 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValue(
5935 VkSemaphore semaphore,
5938 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphores(
5940 const VkSemaphoreWaitInfo* pWaitInfo,
5943 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphore(
5945 const VkSemaphoreSignalInfo* pSignalInfo);
5947 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddress(
5949 const VkBufferDeviceAddressInfo* pInfo);
5951 VKAPI_ATTR deUint64 VKAPI_CALL vkGetBufferOpaqueCaptureAddress(
5953 const VkBufferDeviceAddressInfo* pInfo);
5955 VKAPI_ATTR deUint64 VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddress(
5957 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
5961 #define VK_KHR_surface 1
5962 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR)
5963 #define VK_KHR_SURFACE_SPEC_VERSION 25
5964 #define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface"
5966 typedef enum VkPresentModeKHR {
5967 VK_PRESENT_MODE_IMMEDIATE_KHR = 0,
5968 VK_PRESENT_MODE_MAILBOX_KHR = 1,
5969 VK_PRESENT_MODE_FIFO_KHR = 2,
5970 VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3,
5971 VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR = 1000111000,
5972 VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = 1000111001,
5973 VK_PRESENT_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
5976 typedef enum VkColorSpaceKHR {
5977 VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0,
5978 VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = 1000104001,
5979 VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT = 1000104002,
5980 VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT = 1000104003,
5981 VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT = 1000104004,
5982 VK_COLOR_SPACE_BT709_LINEAR_EXT = 1000104005,
5983 VK_COLOR_SPACE_BT709_NONLINEAR_EXT = 1000104006,
5984 VK_COLOR_SPACE_BT2020_LINEAR_EXT = 1000104007,
5985 VK_COLOR_SPACE_HDR10_ST2084_EXT = 1000104008,
5986 VK_COLOR_SPACE_DOLBYVISION_EXT = 1000104009,
5987 VK_COLOR_SPACE_HDR10_HLG_EXT = 1000104010,
5988 VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT = 1000104011,
5989 VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT = 1000104012,
5990 VK_COLOR_SPACE_PASS_THROUGH_EXT = 1000104013,
5991 VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT = 1000104014,
5992 VK_COLOR_SPACE_DISPLAY_NATIVE_AMD = 1000213000,
5993 VK_COLORSPACE_SRGB_NONLINEAR_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
5994 VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT,
5995 VK_COLOR_SPACE_MAX_ENUM_KHR = 0x7FFFFFFF
5998 typedef enum VkSurfaceTransformFlagBitsKHR {
5999 VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 0x00000001,
6000 VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 0x00000002,
6001 VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 0x00000004,
6002 VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 0x00000008,
6003 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 0x00000010,
6004 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 0x00000020,
6005 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 0x00000040,
6006 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 0x00000080,
6007 VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 0x00000100,
6008 VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
6009 } VkSurfaceTransformFlagBitsKHR;
6011 typedef enum VkCompositeAlphaFlagBitsKHR {
6012 VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
6013 VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 0x00000002,
6014 VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 0x00000004,
6015 VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 0x00000008,
6016 VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
6017 } VkCompositeAlphaFlagBitsKHR;
6018 typedef VkFlags VkCompositeAlphaFlagsKHR;
6019 typedef VkFlags VkSurfaceTransformFlagsKHR;
6020 typedef struct VkSurfaceCapabilitiesKHR {
6021 deUint32 minImageCount;
6022 deUint32 maxImageCount;
6023 VkExtent2D currentExtent;
6024 VkExtent2D minImageExtent;
6025 VkExtent2D maxImageExtent;
6026 deUint32 maxImageArrayLayers;
6027 VkSurfaceTransformFlagsKHR supportedTransforms;
6028 VkSurfaceTransformFlagBitsKHR currentTransform;
6029 VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
6030 VkImageUsageFlags supportedUsageFlags;
6031 } VkSurfaceCapabilitiesKHR;
6033 typedef struct VkSurfaceFormatKHR {
6035 VkColorSpaceKHR colorSpace;
6036 } VkSurfaceFormatKHR;
6038 typedef void (VKAPI_PTR *PFN_vkDestroySurfaceKHR)(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator);
6039 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported);
6040 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
6041 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats);
6042 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pPresentModeCount, VkPresentModeKHR* pPresentModes);
6044 #ifndef VK_NO_PROTOTYPES
6045 VKAPI_ATTR void VKAPI_CALL vkDestroySurfaceKHR(
6046 VkInstance instance,
6047 VkSurfaceKHR surface,
6048 const VkAllocationCallbacks* pAllocator);
6050 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceSupportKHR(
6051 VkPhysicalDevice physicalDevice,
6052 deUint32 queueFamilyIndex,
6053 VkSurfaceKHR surface,
6054 VkBool32* pSupported);
6056 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilitiesKHR(
6057 VkPhysicalDevice physicalDevice,
6058 VkSurfaceKHR surface,
6059 VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
6061 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormatsKHR(
6062 VkPhysicalDevice physicalDevice,
6063 VkSurfaceKHR surface,
6064 deUint32* pSurfaceFormatCount,
6065 VkSurfaceFormatKHR* pSurfaceFormats);
6067 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModesKHR(
6068 VkPhysicalDevice physicalDevice,
6069 VkSurfaceKHR surface,
6070 deUint32* pPresentModeCount,
6071 VkPresentModeKHR* pPresentModes);
6075 #define VK_KHR_swapchain 1
6076 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR)
6077 #define VK_KHR_SWAPCHAIN_SPEC_VERSION 70
6078 #define VK_KHR_SWAPCHAIN_EXTENSION_NAME "VK_KHR_swapchain"
6080 typedef enum VkSwapchainCreateFlagBitsKHR {
6081 VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 0x00000001,
6082 VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR = 0x00000002,
6083 VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR = 0x00000004,
6084 VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
6085 } VkSwapchainCreateFlagBitsKHR;
6086 typedef VkFlags VkSwapchainCreateFlagsKHR;
6088 typedef enum VkDeviceGroupPresentModeFlagBitsKHR {
6089 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR = 0x00000001,
6090 VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR = 0x00000002,
6091 VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR = 0x00000004,
6092 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR = 0x00000008,
6093 VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
6094 } VkDeviceGroupPresentModeFlagBitsKHR;
6095 typedef VkFlags VkDeviceGroupPresentModeFlagsKHR;
6096 typedef struct VkSwapchainCreateInfoKHR {
6097 VkStructureType sType;
6099 VkSwapchainCreateFlagsKHR flags;
6100 VkSurfaceKHR surface;
6101 deUint32 minImageCount;
6102 VkFormat imageFormat;
6103 VkColorSpaceKHR imageColorSpace;
6104 VkExtent2D imageExtent;
6105 deUint32 imageArrayLayers;
6106 VkImageUsageFlags imageUsage;
6107 VkSharingMode imageSharingMode;
6108 deUint32 queueFamilyIndexCount;
6109 const deUint32* pQueueFamilyIndices;
6110 VkSurfaceTransformFlagBitsKHR preTransform;
6111 VkCompositeAlphaFlagBitsKHR compositeAlpha;
6112 VkPresentModeKHR presentMode;
6114 VkSwapchainKHR oldSwapchain;
6115 } VkSwapchainCreateInfoKHR;
6117 typedef struct VkPresentInfoKHR {
6118 VkStructureType sType;
6120 deUint32 waitSemaphoreCount;
6121 const VkSemaphore* pWaitSemaphores;
6122 deUint32 swapchainCount;
6123 const VkSwapchainKHR* pSwapchains;
6124 const deUint32* pImageIndices;
6128 typedef struct VkImageSwapchainCreateInfoKHR {
6129 VkStructureType sType;
6131 VkSwapchainKHR swapchain;
6132 } VkImageSwapchainCreateInfoKHR;
6134 typedef struct VkBindImageMemorySwapchainInfoKHR {
6135 VkStructureType sType;
6137 VkSwapchainKHR swapchain;
6138 deUint32 imageIndex;
6139 } VkBindImageMemorySwapchainInfoKHR;
6141 typedef struct VkAcquireNextImageInfoKHR {
6142 VkStructureType sType;
6144 VkSwapchainKHR swapchain;
6146 VkSemaphore semaphore;
6148 deUint32 deviceMask;
6149 } VkAcquireNextImageInfoKHR;
6151 typedef struct VkDeviceGroupPresentCapabilitiesKHR {
6152 VkStructureType sType;
6154 deUint32 presentMask[VK_MAX_DEVICE_GROUP_SIZE];
6155 VkDeviceGroupPresentModeFlagsKHR modes;
6156 } VkDeviceGroupPresentCapabilitiesKHR;
6158 typedef struct VkDeviceGroupPresentInfoKHR {
6159 VkStructureType sType;
6161 deUint32 swapchainCount;
6162 const deUint32* pDeviceMasks;
6163 VkDeviceGroupPresentModeFlagBitsKHR mode;
6164 } VkDeviceGroupPresentInfoKHR;
6166 typedef struct VkDeviceGroupSwapchainCreateInfoKHR {
6167 VkStructureType sType;
6169 VkDeviceGroupPresentModeFlagsKHR modes;
6170 } VkDeviceGroupSwapchainCreateInfoKHR;
6172 typedef VkResult (VKAPI_PTR *PFN_vkCreateSwapchainKHR)(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain);
6173 typedef void (VKAPI_PTR *PFN_vkDestroySwapchainKHR)(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator);
6174 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainImagesKHR)(VkDevice device, VkSwapchainKHR swapchain, deUint32* pSwapchainImageCount, VkImage* pSwapchainImages);
6175 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImageKHR)(VkDevice device, VkSwapchainKHR swapchain, deUint64 timeout, VkSemaphore semaphore, VkFence fence, deUint32* pImageIndex);
6176 typedef VkResult (VKAPI_PTR *PFN_vkQueuePresentKHR)(VkQueue queue, const VkPresentInfoKHR* pPresentInfo);
6177 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupPresentCapabilitiesKHR)(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
6178 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupSurfacePresentModesKHR)(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes);
6179 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDevicePresentRectanglesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pRectCount, VkRect2D* pRects);
6180 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImage2KHR)(VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, deUint32* pImageIndex);
6182 #ifndef VK_NO_PROTOTYPES
6183 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSwapchainKHR(
6185 const VkSwapchainCreateInfoKHR* pCreateInfo,
6186 const VkAllocationCallbacks* pAllocator,
6187 VkSwapchainKHR* pSwapchain);
6189 VKAPI_ATTR void VKAPI_CALL vkDestroySwapchainKHR(
6191 VkSwapchainKHR swapchain,
6192 const VkAllocationCallbacks* pAllocator);
6194 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainImagesKHR(
6196 VkSwapchainKHR swapchain,
6197 deUint32* pSwapchainImageCount,
6198 VkImage* pSwapchainImages);
6200 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImageKHR(
6202 VkSwapchainKHR swapchain,
6204 VkSemaphore semaphore,
6206 deUint32* pImageIndex);
6208 VKAPI_ATTR VkResult VKAPI_CALL vkQueuePresentKHR(
6210 const VkPresentInfoKHR* pPresentInfo);
6212 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupPresentCapabilitiesKHR(
6214 VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
6216 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupSurfacePresentModesKHR(
6218 VkSurfaceKHR surface,
6219 VkDeviceGroupPresentModeFlagsKHR* pModes);
6221 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDevicePresentRectanglesKHR(
6222 VkPhysicalDevice physicalDevice,
6223 VkSurfaceKHR surface,
6224 deUint32* pRectCount,
6227 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImage2KHR(
6229 const VkAcquireNextImageInfoKHR* pAcquireInfo,
6230 deUint32* pImageIndex);
6234 #define VK_KHR_display 1
6235 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR)
6236 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR)
6237 #define VK_KHR_DISPLAY_SPEC_VERSION 23
6238 #define VK_KHR_DISPLAY_EXTENSION_NAME "VK_KHR_display"
6239 typedef VkFlags VkDisplayModeCreateFlagsKHR;
6241 typedef enum VkDisplayPlaneAlphaFlagBitsKHR {
6242 VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
6243 VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR = 0x00000002,
6244 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR = 0x00000004,
6245 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = 0x00000008,
6246 VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
6247 } VkDisplayPlaneAlphaFlagBitsKHR;
6248 typedef VkFlags VkDisplayPlaneAlphaFlagsKHR;
6249 typedef VkFlags VkDisplaySurfaceCreateFlagsKHR;
6250 typedef struct VkDisplayModeParametersKHR {
6251 VkExtent2D visibleRegion;
6252 deUint32 refreshRate;
6253 } VkDisplayModeParametersKHR;
6255 typedef struct VkDisplayModeCreateInfoKHR {
6256 VkStructureType sType;
6258 VkDisplayModeCreateFlagsKHR flags;
6259 VkDisplayModeParametersKHR parameters;
6260 } VkDisplayModeCreateInfoKHR;
6262 typedef struct VkDisplayModePropertiesKHR {
6263 VkDisplayModeKHR displayMode;
6264 VkDisplayModeParametersKHR parameters;
6265 } VkDisplayModePropertiesKHR;
6267 typedef struct VkDisplayPlaneCapabilitiesKHR {
6268 VkDisplayPlaneAlphaFlagsKHR supportedAlpha;
6269 VkOffset2D minSrcPosition;
6270 VkOffset2D maxSrcPosition;
6271 VkExtent2D minSrcExtent;
6272 VkExtent2D maxSrcExtent;
6273 VkOffset2D minDstPosition;
6274 VkOffset2D maxDstPosition;
6275 VkExtent2D minDstExtent;
6276 VkExtent2D maxDstExtent;
6277 } VkDisplayPlaneCapabilitiesKHR;
6279 typedef struct VkDisplayPlanePropertiesKHR {
6280 VkDisplayKHR currentDisplay;
6281 deUint32 currentStackIndex;
6282 } VkDisplayPlanePropertiesKHR;
6284 typedef struct VkDisplayPropertiesKHR {
6285 VkDisplayKHR display;
6286 const char* displayName;
6287 VkExtent2D physicalDimensions;
6288 VkExtent2D physicalResolution;
6289 VkSurfaceTransformFlagsKHR supportedTransforms;
6290 VkBool32 planeReorderPossible;
6291 VkBool32 persistentContent;
6292 } VkDisplayPropertiesKHR;
6294 typedef struct VkDisplaySurfaceCreateInfoKHR {
6295 VkStructureType sType;
6297 VkDisplaySurfaceCreateFlagsKHR flags;
6298 VkDisplayModeKHR displayMode;
6299 deUint32 planeIndex;
6300 deUint32 planeStackIndex;
6301 VkSurfaceTransformFlagBitsKHR transform;
6303 VkDisplayPlaneAlphaFlagBitsKHR alphaMode;
6304 VkExtent2D imageExtent;
6305 } VkDisplaySurfaceCreateInfoKHR;
6307 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPropertiesKHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPropertiesKHR* pProperties);
6308 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties);
6309 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneSupportedDisplaysKHR)(VkPhysicalDevice physicalDevice, deUint32 planeIndex, deUint32* pDisplayCount, VkDisplayKHR* pDisplays);
6310 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModePropertiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, deUint32* pPropertyCount, VkDisplayModePropertiesKHR* pProperties);
6311 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayModeKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode);
6312 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, deUint32 planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities);
6313 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayPlaneSurfaceKHR)(VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
6315 #ifndef VK_NO_PROTOTYPES
6316 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPropertiesKHR(
6317 VkPhysicalDevice physicalDevice,
6318 deUint32* pPropertyCount,
6319 VkDisplayPropertiesKHR* pProperties);
6321 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlanePropertiesKHR(
6322 VkPhysicalDevice physicalDevice,
6323 deUint32* pPropertyCount,
6324 VkDisplayPlanePropertiesKHR* pProperties);
6326 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneSupportedDisplaysKHR(
6327 VkPhysicalDevice physicalDevice,
6328 deUint32 planeIndex,
6329 deUint32* pDisplayCount,
6330 VkDisplayKHR* pDisplays);
6332 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModePropertiesKHR(
6333 VkPhysicalDevice physicalDevice,
6334 VkDisplayKHR display,
6335 deUint32* pPropertyCount,
6336 VkDisplayModePropertiesKHR* pProperties);
6338 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayModeKHR(
6339 VkPhysicalDevice physicalDevice,
6340 VkDisplayKHR display,
6341 const VkDisplayModeCreateInfoKHR* pCreateInfo,
6342 const VkAllocationCallbacks* pAllocator,
6343 VkDisplayModeKHR* pMode);
6345 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilitiesKHR(
6346 VkPhysicalDevice physicalDevice,
6347 VkDisplayModeKHR mode,
6348 deUint32 planeIndex,
6349 VkDisplayPlaneCapabilitiesKHR* pCapabilities);
6351 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayPlaneSurfaceKHR(
6352 VkInstance instance,
6353 const VkDisplaySurfaceCreateInfoKHR* pCreateInfo,
6354 const VkAllocationCallbacks* pAllocator,
6355 VkSurfaceKHR* pSurface);
6359 #define VK_KHR_display_swapchain 1
6360 #define VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION 10
6361 #define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME "VK_KHR_display_swapchain"
6362 typedef struct VkDisplayPresentInfoKHR {
6363 VkStructureType sType;
6367 VkBool32 persistent;
6368 } VkDisplayPresentInfoKHR;
6370 typedef VkResult (VKAPI_PTR *PFN_vkCreateSharedSwapchainsKHR)(VkDevice device, deUint32 swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains);
6372 #ifndef VK_NO_PROTOTYPES
6373 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSharedSwapchainsKHR(
6375 deUint32 swapchainCount,
6376 const VkSwapchainCreateInfoKHR* pCreateInfos,
6377 const VkAllocationCallbacks* pAllocator,
6378 VkSwapchainKHR* pSwapchains);
6382 #define VK_KHR_sampler_mirror_clamp_to_edge 1
6383 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION 3
6384 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME "VK_KHR_sampler_mirror_clamp_to_edge"
6387 #define VK_KHR_multiview 1
6388 #define VK_KHR_MULTIVIEW_SPEC_VERSION 1
6389 #define VK_KHR_MULTIVIEW_EXTENSION_NAME "VK_KHR_multiview"
6390 typedef VkRenderPassMultiviewCreateInfo VkRenderPassMultiviewCreateInfoKHR;
6392 typedef VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeaturesKHR;
6394 typedef VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewPropertiesKHR;
6398 #define VK_KHR_get_physical_device_properties2 1
6399 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION 2
6400 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_physical_device_properties2"
6401 typedef VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2KHR;
6403 typedef VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2KHR;
6405 typedef VkFormatProperties2 VkFormatProperties2KHR;
6407 typedef VkImageFormatProperties2 VkImageFormatProperties2KHR;
6409 typedef VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2KHR;
6411 typedef VkQueueFamilyProperties2 VkQueueFamilyProperties2KHR;
6413 typedef VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2KHR;
6415 typedef VkSparseImageFormatProperties2 VkSparseImageFormatProperties2KHR;
6417 typedef VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2KHR;
6419 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
6420 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
6421 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2KHR)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
6422 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
6423 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)(VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
6424 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
6425 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, deUint32* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
6427 #ifndef VK_NO_PROTOTYPES
6428 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2KHR(
6429 VkPhysicalDevice physicalDevice,
6430 VkPhysicalDeviceFeatures2* pFeatures);
6432 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2KHR(
6433 VkPhysicalDevice physicalDevice,
6434 VkPhysicalDeviceProperties2* pProperties);
6436 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2KHR(
6437 VkPhysicalDevice physicalDevice,
6439 VkFormatProperties2* pFormatProperties);
6441 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2KHR(
6442 VkPhysicalDevice physicalDevice,
6443 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
6444 VkImageFormatProperties2* pImageFormatProperties);
6446 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2KHR(
6447 VkPhysicalDevice physicalDevice,
6448 deUint32* pQueueFamilyPropertyCount,
6449 VkQueueFamilyProperties2* pQueueFamilyProperties);
6451 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2KHR(
6452 VkPhysicalDevice physicalDevice,
6453 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
6455 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
6456 VkPhysicalDevice physicalDevice,
6457 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
6458 deUint32* pPropertyCount,
6459 VkSparseImageFormatProperties2* pProperties);
6463 #define VK_KHR_device_group 1
6464 #define VK_KHR_DEVICE_GROUP_SPEC_VERSION 4
6465 #define VK_KHR_DEVICE_GROUP_EXTENSION_NAME "VK_KHR_device_group"
6466 typedef VkPeerMemoryFeatureFlags VkPeerMemoryFeatureFlagsKHR;
6468 typedef VkPeerMemoryFeatureFlagBits VkPeerMemoryFeatureFlagBitsKHR;
6470 typedef VkMemoryAllocateFlags VkMemoryAllocateFlagsKHR;
6472 typedef VkMemoryAllocateFlagBits VkMemoryAllocateFlagBitsKHR;
6474 typedef VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfoKHR;
6476 typedef VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfoKHR;
6478 typedef VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfoKHR;
6480 typedef VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfoKHR;
6482 typedef VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfoKHR;
6484 typedef VkBindBufferMemoryDeviceGroupInfo VkBindBufferMemoryDeviceGroupInfoKHR;
6486 typedef VkBindImageMemoryDeviceGroupInfo VkBindImageMemoryDeviceGroupInfoKHR;
6488 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR)(VkDevice device, deUint32 heapIndex, deUint32 localDeviceIndex, deUint32 remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
6489 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMaskKHR)(VkCommandBuffer commandBuffer, deUint32 deviceMask);
6490 typedef void (VKAPI_PTR *PFN_vkCmdDispatchBaseKHR)(VkCommandBuffer commandBuffer, deUint32 baseGroupX, deUint32 baseGroupY, deUint32 baseGroupZ, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ);
6492 #ifndef VK_NO_PROTOTYPES
6493 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeaturesKHR(
6496 deUint32 localDeviceIndex,
6497 deUint32 remoteDeviceIndex,
6498 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
6500 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMaskKHR(
6501 VkCommandBuffer commandBuffer,
6502 deUint32 deviceMask);
6504 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBaseKHR(
6505 VkCommandBuffer commandBuffer,
6506 deUint32 baseGroupX,
6507 deUint32 baseGroupY,
6508 deUint32 baseGroupZ,
6509 deUint32 groupCountX,
6510 deUint32 groupCountY,
6511 deUint32 groupCountZ);
6515 #define VK_KHR_shader_draw_parameters 1
6516 #define VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION 1
6517 #define VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME "VK_KHR_shader_draw_parameters"
6520 #define VK_KHR_maintenance1 1
6521 #define VK_KHR_MAINTENANCE1_SPEC_VERSION 2
6522 #define VK_KHR_MAINTENANCE1_EXTENSION_NAME "VK_KHR_maintenance1"
6523 typedef VkCommandPoolTrimFlags VkCommandPoolTrimFlagsKHR;
6525 typedef void (VKAPI_PTR *PFN_vkTrimCommandPoolKHR)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
6527 #ifndef VK_NO_PROTOTYPES
6528 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPoolKHR(
6530 VkCommandPool commandPool,
6531 VkCommandPoolTrimFlags flags);
6535 #define VK_KHR_device_group_creation 1
6536 #define VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION 1
6537 #define VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME "VK_KHR_device_group_creation"
6538 #define VK_MAX_DEVICE_GROUP_SIZE_KHR VK_MAX_DEVICE_GROUP_SIZE
6539 typedef VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupPropertiesKHR;
6541 typedef VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfoKHR;
6543 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroupsKHR)(VkInstance instance, deUint32* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
6545 #ifndef VK_NO_PROTOTYPES
6546 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroupsKHR(
6547 VkInstance instance,
6548 deUint32* pPhysicalDeviceGroupCount,
6549 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
6553 #define VK_KHR_external_memory_capabilities 1
6554 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
6555 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_memory_capabilities"
6556 #define VK_LUID_SIZE_KHR VK_LUID_SIZE
6557 typedef VkExternalMemoryHandleTypeFlags VkExternalMemoryHandleTypeFlagsKHR;
6559 typedef VkExternalMemoryHandleTypeFlagBits VkExternalMemoryHandleTypeFlagBitsKHR;
6561 typedef VkExternalMemoryFeatureFlags VkExternalMemoryFeatureFlagsKHR;
6563 typedef VkExternalMemoryFeatureFlagBits VkExternalMemoryFeatureFlagBitsKHR;
6565 typedef VkExternalMemoryProperties VkExternalMemoryPropertiesKHR;
6567 typedef VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfoKHR;
6569 typedef VkExternalImageFormatProperties VkExternalImageFormatPropertiesKHR;
6571 typedef VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfoKHR;
6573 typedef VkExternalBufferProperties VkExternalBufferPropertiesKHR;
6575 typedef VkPhysicalDeviceIDProperties VkPhysicalDeviceIDPropertiesKHR;
6577 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
6579 #ifndef VK_NO_PROTOTYPES
6580 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferPropertiesKHR(
6581 VkPhysicalDevice physicalDevice,
6582 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
6583 VkExternalBufferProperties* pExternalBufferProperties);
6587 #define VK_KHR_external_memory 1
6588 #define VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION 1
6589 #define VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME "VK_KHR_external_memory"
6590 #define VK_QUEUE_FAMILY_EXTERNAL_KHR VK_QUEUE_FAMILY_EXTERNAL
6591 typedef VkExternalMemoryImageCreateInfo VkExternalMemoryImageCreateInfoKHR;
6593 typedef VkExternalMemoryBufferCreateInfo VkExternalMemoryBufferCreateInfoKHR;
6595 typedef VkExportMemoryAllocateInfo VkExportMemoryAllocateInfoKHR;
6599 #define VK_KHR_external_memory_fd 1
6600 #define VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION 1
6601 #define VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME "VK_KHR_external_memory_fd"
6602 typedef struct VkImportMemoryFdInfoKHR {
6603 VkStructureType sType;
6605 VkExternalMemoryHandleTypeFlagBits handleType;
6607 } VkImportMemoryFdInfoKHR;
6609 typedef struct VkMemoryFdPropertiesKHR {
6610 VkStructureType sType;
6612 deUint32 memoryTypeBits;
6613 } VkMemoryFdPropertiesKHR;
6615 typedef struct VkMemoryGetFdInfoKHR {
6616 VkStructureType sType;
6618 VkDeviceMemory memory;
6619 VkExternalMemoryHandleTypeFlagBits handleType;
6620 } VkMemoryGetFdInfoKHR;
6622 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdKHR)(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd);
6623 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdPropertiesKHR)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties);
6625 #ifndef VK_NO_PROTOTYPES
6626 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdKHR(
6628 const VkMemoryGetFdInfoKHR* pGetFdInfo,
6631 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdPropertiesKHR(
6633 VkExternalMemoryHandleTypeFlagBits handleType,
6635 VkMemoryFdPropertiesKHR* pMemoryFdProperties);
6639 #define VK_KHR_external_semaphore_capabilities 1
6640 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION 1
6641 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_semaphore_capabilities"
6642 typedef VkExternalSemaphoreHandleTypeFlags VkExternalSemaphoreHandleTypeFlagsKHR;
6644 typedef VkExternalSemaphoreHandleTypeFlagBits VkExternalSemaphoreHandleTypeFlagBitsKHR;
6646 typedef VkExternalSemaphoreFeatureFlags VkExternalSemaphoreFeatureFlagsKHR;
6648 typedef VkExternalSemaphoreFeatureFlagBits VkExternalSemaphoreFeatureFlagBitsKHR;
6650 typedef VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfoKHR;
6652 typedef VkExternalSemaphoreProperties VkExternalSemaphorePropertiesKHR;
6654 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
6656 #ifndef VK_NO_PROTOTYPES
6657 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(
6658 VkPhysicalDevice physicalDevice,
6659 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
6660 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
6664 #define VK_KHR_external_semaphore 1
6665 #define VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION 1
6666 #define VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME "VK_KHR_external_semaphore"
6667 typedef VkSemaphoreImportFlags VkSemaphoreImportFlagsKHR;
6669 typedef VkSemaphoreImportFlagBits VkSemaphoreImportFlagBitsKHR;
6671 typedef VkExportSemaphoreCreateInfo VkExportSemaphoreCreateInfoKHR;
6675 #define VK_KHR_external_semaphore_fd 1
6676 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION 1
6677 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME "VK_KHR_external_semaphore_fd"
6678 typedef struct VkImportSemaphoreFdInfoKHR {
6679 VkStructureType sType;
6681 VkSemaphore semaphore;
6682 VkSemaphoreImportFlags flags;
6683 VkExternalSemaphoreHandleTypeFlagBits handleType;
6685 } VkImportSemaphoreFdInfoKHR;
6687 typedef struct VkSemaphoreGetFdInfoKHR {
6688 VkStructureType sType;
6690 VkSemaphore semaphore;
6691 VkExternalSemaphoreHandleTypeFlagBits handleType;
6692 } VkSemaphoreGetFdInfoKHR;
6694 typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreFdKHR)(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
6695 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreFdKHR)(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd);
6697 #ifndef VK_NO_PROTOTYPES
6698 VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreFdKHR(
6700 const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
6702 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreFdKHR(
6704 const VkSemaphoreGetFdInfoKHR* pGetFdInfo,
6709 #define VK_KHR_push_descriptor 1
6710 #define VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION 2
6711 #define VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME "VK_KHR_push_descriptor"
6712 typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
6713 VkStructureType sType;
6715 deUint32 maxPushDescriptors;
6716 } VkPhysicalDevicePushDescriptorPropertiesKHR;
6718 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetKHR)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 set, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites);
6719 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplateKHR)(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, deUint32 set, const void* pData);
6721 #ifndef VK_NO_PROTOTYPES
6722 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetKHR(
6723 VkCommandBuffer commandBuffer,
6724 VkPipelineBindPoint pipelineBindPoint,
6725 VkPipelineLayout layout,
6727 deUint32 descriptorWriteCount,
6728 const VkWriteDescriptorSet* pDescriptorWrites);
6730 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplateKHR(
6731 VkCommandBuffer commandBuffer,
6732 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
6733 VkPipelineLayout layout,
6739 #define VK_KHR_shader_float16_int8 1
6740 #define VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION 1
6741 #define VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME "VK_KHR_shader_float16_int8"
6742 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceShaderFloat16Int8FeaturesKHR;
6744 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceFloat16Int8FeaturesKHR;
6748 #define VK_KHR_16bit_storage 1
6749 #define VK_KHR_16BIT_STORAGE_SPEC_VERSION 1
6750 #define VK_KHR_16BIT_STORAGE_EXTENSION_NAME "VK_KHR_16bit_storage"
6751 typedef VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeaturesKHR;
6755 #define VK_KHR_incremental_present 1
6756 #define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 2
6757 #define VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME "VK_KHR_incremental_present"
6758 typedef struct VkRectLayerKHR {
6764 typedef struct VkPresentRegionKHR {
6765 deUint32 rectangleCount;
6766 const VkRectLayerKHR* pRectangles;
6767 } VkPresentRegionKHR;
6769 typedef struct VkPresentRegionsKHR {
6770 VkStructureType sType;
6772 deUint32 swapchainCount;
6773 const VkPresentRegionKHR* pRegions;
6774 } VkPresentRegionsKHR;
6778 #define VK_KHR_descriptor_update_template 1
6779 typedef VkDescriptorUpdateTemplate VkDescriptorUpdateTemplateKHR;
6781 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION 1
6782 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME "VK_KHR_descriptor_update_template"
6783 typedef VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateTypeKHR;
6785 typedef VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlagsKHR;
6787 typedef VkDescriptorUpdateTemplateEntry VkDescriptorUpdateTemplateEntryKHR;
6789 typedef VkDescriptorUpdateTemplateCreateInfo VkDescriptorUpdateTemplateCreateInfoKHR;
6791 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplateKHR)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
6792 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplateKHR)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
6793 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplateKHR)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
6795 #ifndef VK_NO_PROTOTYPES
6796 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplateKHR(
6798 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
6799 const VkAllocationCallbacks* pAllocator,
6800 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
6802 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplateKHR(
6804 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
6805 const VkAllocationCallbacks* pAllocator);
6807 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplateKHR(
6809 VkDescriptorSet descriptorSet,
6810 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
6815 #define VK_KHR_imageless_framebuffer 1
6816 #define VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION 1
6817 #define VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME "VK_KHR_imageless_framebuffer"
6818 typedef VkPhysicalDeviceImagelessFramebufferFeatures VkPhysicalDeviceImagelessFramebufferFeaturesKHR;
6820 typedef VkFramebufferAttachmentsCreateInfo VkFramebufferAttachmentsCreateInfoKHR;
6822 typedef VkFramebufferAttachmentImageInfo VkFramebufferAttachmentImageInfoKHR;
6824 typedef VkRenderPassAttachmentBeginInfo VkRenderPassAttachmentBeginInfoKHR;
6828 #define VK_KHR_create_renderpass2 1
6829 #define VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION 1
6830 #define VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME "VK_KHR_create_renderpass2"
6831 typedef VkRenderPassCreateInfo2 VkRenderPassCreateInfo2KHR;
6833 typedef VkAttachmentDescription2 VkAttachmentDescription2KHR;
6835 typedef VkAttachmentReference2 VkAttachmentReference2KHR;
6837 typedef VkSubpassDescription2 VkSubpassDescription2KHR;
6839 typedef VkSubpassDependency2 VkSubpassDependency2KHR;
6841 typedef VkSubpassBeginInfo VkSubpassBeginInfoKHR;
6843 typedef VkSubpassEndInfo VkSubpassEndInfoKHR;
6845 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2KHR)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
6846 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo);
6847 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo);
6848 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo);
6850 #ifndef VK_NO_PROTOTYPES
6851 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2KHR(
6853 const VkRenderPassCreateInfo2* pCreateInfo,
6854 const VkAllocationCallbacks* pAllocator,
6855 VkRenderPass* pRenderPass);
6857 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2KHR(
6858 VkCommandBuffer commandBuffer,
6859 const VkRenderPassBeginInfo* pRenderPassBegin,
6860 const VkSubpassBeginInfo* pSubpassBeginInfo);
6862 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2KHR(
6863 VkCommandBuffer commandBuffer,
6864 const VkSubpassBeginInfo* pSubpassBeginInfo,
6865 const VkSubpassEndInfo* pSubpassEndInfo);
6867 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2KHR(
6868 VkCommandBuffer commandBuffer,
6869 const VkSubpassEndInfo* pSubpassEndInfo);
6873 #define VK_KHR_shared_presentable_image 1
6874 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION 1
6875 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME "VK_KHR_shared_presentable_image"
6876 typedef struct VkSharedPresentSurfaceCapabilitiesKHR {
6877 VkStructureType sType;
6879 VkImageUsageFlags sharedPresentSupportedUsageFlags;
6880 } VkSharedPresentSurfaceCapabilitiesKHR;
6882 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainStatusKHR)(VkDevice device, VkSwapchainKHR swapchain);
6884 #ifndef VK_NO_PROTOTYPES
6885 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainStatusKHR(
6887 VkSwapchainKHR swapchain);
6891 #define VK_KHR_external_fence_capabilities 1
6892 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION 1
6893 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_fence_capabilities"
6894 typedef VkExternalFenceHandleTypeFlags VkExternalFenceHandleTypeFlagsKHR;
6896 typedef VkExternalFenceHandleTypeFlagBits VkExternalFenceHandleTypeFlagBitsKHR;
6898 typedef VkExternalFenceFeatureFlags VkExternalFenceFeatureFlagsKHR;
6900 typedef VkExternalFenceFeatureFlagBits VkExternalFenceFeatureFlagBitsKHR;
6902 typedef VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfoKHR;
6904 typedef VkExternalFenceProperties VkExternalFencePropertiesKHR;
6906 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
6908 #ifndef VK_NO_PROTOTYPES
6909 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFencePropertiesKHR(
6910 VkPhysicalDevice physicalDevice,
6911 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
6912 VkExternalFenceProperties* pExternalFenceProperties);
6916 #define VK_KHR_external_fence 1
6917 #define VK_KHR_EXTERNAL_FENCE_SPEC_VERSION 1
6918 #define VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME "VK_KHR_external_fence"
6919 typedef VkFenceImportFlags VkFenceImportFlagsKHR;
6921 typedef VkFenceImportFlagBits VkFenceImportFlagBitsKHR;
6923 typedef VkExportFenceCreateInfo VkExportFenceCreateInfoKHR;
6927 #define VK_KHR_external_fence_fd 1
6928 #define VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION 1
6929 #define VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME "VK_KHR_external_fence_fd"
6930 typedef struct VkImportFenceFdInfoKHR {
6931 VkStructureType sType;
6934 VkFenceImportFlags flags;
6935 VkExternalFenceHandleTypeFlagBits handleType;
6937 } VkImportFenceFdInfoKHR;
6939 typedef struct VkFenceGetFdInfoKHR {
6940 VkStructureType sType;
6943 VkExternalFenceHandleTypeFlagBits handleType;
6944 } VkFenceGetFdInfoKHR;
6946 typedef VkResult (VKAPI_PTR *PFN_vkImportFenceFdKHR)(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
6947 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceFdKHR)(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd);
6949 #ifndef VK_NO_PROTOTYPES
6950 VKAPI_ATTR VkResult VKAPI_CALL vkImportFenceFdKHR(
6952 const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
6954 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceFdKHR(
6956 const VkFenceGetFdInfoKHR* pGetFdInfo,
6961 #define VK_KHR_performance_query 1
6962 #define VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION 1
6963 #define VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME "VK_KHR_performance_query"
6965 typedef enum VkPerformanceCounterUnitKHR {
6966 VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR = 0,
6967 VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR = 1,
6968 VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR = 2,
6969 VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR = 3,
6970 VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR = 4,
6971 VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR = 5,
6972 VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR = 6,
6973 VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR = 7,
6974 VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR = 8,
6975 VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR = 9,
6976 VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR = 10,
6977 VK_PERFORMANCE_COUNTER_UNIT_MAX_ENUM_KHR = 0x7FFFFFFF
6978 } VkPerformanceCounterUnitKHR;
6980 typedef enum VkPerformanceCounterScopeKHR {
6981 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR = 0,
6982 VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR = 1,
6983 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR = 2,
6984 VK_QUERY_SCOPE_COMMAND_BUFFER_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR,
6985 VK_QUERY_SCOPE_RENDER_PASS_KHR = VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR,
6986 VK_QUERY_SCOPE_COMMAND_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR,
6987 VK_PERFORMANCE_COUNTER_SCOPE_MAX_ENUM_KHR = 0x7FFFFFFF
6988 } VkPerformanceCounterScopeKHR;
6990 typedef enum VkPerformanceCounterStorageKHR {
6991 VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR = 0,
6992 VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR = 1,
6993 VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR = 2,
6994 VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR = 3,
6995 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR = 4,
6996 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR = 5,
6997 VK_PERFORMANCE_COUNTER_STORAGE_MAX_ENUM_KHR = 0x7FFFFFFF
6998 } VkPerformanceCounterStorageKHR;
7000 typedef enum VkPerformanceCounterDescriptionFlagBitsKHR {
7001 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR = 0x00000001,
7002 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR = 0x00000002,
7003 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR,
7004 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR,
7005 VK_PERFORMANCE_COUNTER_DESCRIPTION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7006 } VkPerformanceCounterDescriptionFlagBitsKHR;
7007 typedef VkFlags VkPerformanceCounterDescriptionFlagsKHR;
7009 typedef enum VkAcquireProfilingLockFlagBitsKHR {
7010 VK_ACQUIRE_PROFILING_LOCK_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7011 } VkAcquireProfilingLockFlagBitsKHR;
7012 typedef VkFlags VkAcquireProfilingLockFlagsKHR;
7013 typedef struct VkPhysicalDevicePerformanceQueryFeaturesKHR {
7014 VkStructureType sType;
7016 VkBool32 performanceCounterQueryPools;
7017 VkBool32 performanceCounterMultipleQueryPools;
7018 } VkPhysicalDevicePerformanceQueryFeaturesKHR;
7020 typedef struct VkPhysicalDevicePerformanceQueryPropertiesKHR {
7021 VkStructureType sType;
7023 VkBool32 allowCommandBufferQueryCopies;
7024 } VkPhysicalDevicePerformanceQueryPropertiesKHR;
7026 typedef struct VkPerformanceCounterKHR {
7027 VkStructureType sType;
7029 VkPerformanceCounterUnitKHR unit;
7030 VkPerformanceCounterScopeKHR scope;
7031 VkPerformanceCounterStorageKHR storage;
7032 deUint8 uuid[VK_UUID_SIZE];
7033 } VkPerformanceCounterKHR;
7035 typedef struct VkPerformanceCounterDescriptionKHR {
7036 VkStructureType sType;
7038 VkPerformanceCounterDescriptionFlagsKHR flags;
7039 char name[VK_MAX_DESCRIPTION_SIZE];
7040 char category[VK_MAX_DESCRIPTION_SIZE];
7041 char description[VK_MAX_DESCRIPTION_SIZE];
7042 } VkPerformanceCounterDescriptionKHR;
7044 typedef struct VkQueryPoolPerformanceCreateInfoKHR {
7045 VkStructureType sType;
7047 deUint32 queueFamilyIndex;
7048 deUint32 counterIndexCount;
7049 const deUint32* pCounterIndices;
7050 } VkQueryPoolPerformanceCreateInfoKHR;
7052 typedef union VkPerformanceCounterResultKHR {
7059 } VkPerformanceCounterResultKHR;
7061 typedef struct VkAcquireProfilingLockInfoKHR {
7062 VkStructureType sType;
7064 VkAcquireProfilingLockFlagsKHR flags;
7066 } VkAcquireProfilingLockInfoKHR;
7068 typedef struct VkPerformanceQuerySubmitInfoKHR {
7069 VkStructureType sType;
7071 deUint32 counterPassIndex;
7072 } VkPerformanceQuerySubmitInfoKHR;
7074 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR)(VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, deUint32* pCounterCount, VkPerformanceCounterKHR* pCounters, VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
7075 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR)(VkPhysicalDevice physicalDevice, const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, deUint32* pNumPasses);
7076 typedef VkResult (VKAPI_PTR *PFN_vkAcquireProfilingLockKHR)(VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo);
7077 typedef void (VKAPI_PTR *PFN_vkReleaseProfilingLockKHR)(VkDevice device);
7079 #ifndef VK_NO_PROTOTYPES
7080 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
7081 VkPhysicalDevice physicalDevice,
7082 deUint32 queueFamilyIndex,
7083 deUint32* pCounterCount,
7084 VkPerformanceCounterKHR* pCounters,
7085 VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
7087 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
7088 VkPhysicalDevice physicalDevice,
7089 const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo,
7090 deUint32* pNumPasses);
7092 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireProfilingLockKHR(
7094 const VkAcquireProfilingLockInfoKHR* pInfo);
7096 VKAPI_ATTR void VKAPI_CALL vkReleaseProfilingLockKHR(
7101 #define VK_KHR_maintenance2 1
7102 #define VK_KHR_MAINTENANCE2_SPEC_VERSION 1
7103 #define VK_KHR_MAINTENANCE2_EXTENSION_NAME "VK_KHR_maintenance2"
7104 typedef VkPointClippingBehavior VkPointClippingBehaviorKHR;
7106 typedef VkTessellationDomainOrigin VkTessellationDomainOriginKHR;
7108 typedef VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingPropertiesKHR;
7110 typedef VkRenderPassInputAttachmentAspectCreateInfo VkRenderPassInputAttachmentAspectCreateInfoKHR;
7112 typedef VkInputAttachmentAspectReference VkInputAttachmentAspectReferenceKHR;
7114 typedef VkImageViewUsageCreateInfo VkImageViewUsageCreateInfoKHR;
7116 typedef VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfoKHR;
7120 #define VK_KHR_get_surface_capabilities2 1
7121 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION 1
7122 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME "VK_KHR_get_surface_capabilities2"
7123 typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
7124 VkStructureType sType;
7126 VkSurfaceKHR surface;
7127 } VkPhysicalDeviceSurfaceInfo2KHR;
7129 typedef struct VkSurfaceCapabilities2KHR {
7130 VkStructureType sType;
7132 VkSurfaceCapabilitiesKHR surfaceCapabilities;
7133 } VkSurfaceCapabilities2KHR;
7135 typedef struct VkSurfaceFormat2KHR {
7136 VkStructureType sType;
7138 VkSurfaceFormatKHR surfaceFormat;
7139 } VkSurfaceFormat2KHR;
7141 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
7142 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormats2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, deUint32* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats);
7144 #ifndef VK_NO_PROTOTYPES
7145 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2KHR(
7146 VkPhysicalDevice physicalDevice,
7147 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
7148 VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
7150 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormats2KHR(
7151 VkPhysicalDevice physicalDevice,
7152 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
7153 deUint32* pSurfaceFormatCount,
7154 VkSurfaceFormat2KHR* pSurfaceFormats);
7158 #define VK_KHR_variable_pointers 1
7159 #define VK_KHR_VARIABLE_POINTERS_SPEC_VERSION 1
7160 #define VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME "VK_KHR_variable_pointers"
7161 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeaturesKHR;
7163 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointersFeaturesKHR;
7167 #define VK_KHR_get_display_properties2 1
7168 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION 1
7169 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_display_properties2"
7170 typedef struct VkDisplayProperties2KHR {
7171 VkStructureType sType;
7173 VkDisplayPropertiesKHR displayProperties;
7174 } VkDisplayProperties2KHR;
7176 typedef struct VkDisplayPlaneProperties2KHR {
7177 VkStructureType sType;
7179 VkDisplayPlanePropertiesKHR displayPlaneProperties;
7180 } VkDisplayPlaneProperties2KHR;
7182 typedef struct VkDisplayModeProperties2KHR {
7183 VkStructureType sType;
7185 VkDisplayModePropertiesKHR displayModeProperties;
7186 } VkDisplayModeProperties2KHR;
7188 typedef struct VkDisplayPlaneInfo2KHR {
7189 VkStructureType sType;
7191 VkDisplayModeKHR mode;
7192 deUint32 planeIndex;
7193 } VkDisplayPlaneInfo2KHR;
7195 typedef struct VkDisplayPlaneCapabilities2KHR {
7196 VkStructureType sType;
7198 VkDisplayPlaneCapabilitiesKHR capabilities;
7199 } VkDisplayPlaneCapabilities2KHR;
7201 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayProperties2KHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayProperties2KHR* pProperties);
7202 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPlaneProperties2KHR* pProperties);
7203 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModeProperties2KHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, deUint32* pPropertyCount, VkDisplayModeProperties2KHR* pProperties);
7204 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, VkDisplayPlaneCapabilities2KHR* pCapabilities);
7206 #ifndef VK_NO_PROTOTYPES
7207 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayProperties2KHR(
7208 VkPhysicalDevice physicalDevice,
7209 deUint32* pPropertyCount,
7210 VkDisplayProperties2KHR* pProperties);
7212 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlaneProperties2KHR(
7213 VkPhysicalDevice physicalDevice,
7214 deUint32* pPropertyCount,
7215 VkDisplayPlaneProperties2KHR* pProperties);
7217 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModeProperties2KHR(
7218 VkPhysicalDevice physicalDevice,
7219 VkDisplayKHR display,
7220 deUint32* pPropertyCount,
7221 VkDisplayModeProperties2KHR* pProperties);
7223 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilities2KHR(
7224 VkPhysicalDevice physicalDevice,
7225 const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo,
7226 VkDisplayPlaneCapabilities2KHR* pCapabilities);
7230 #define VK_KHR_dedicated_allocation 1
7231 #define VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION 3
7232 #define VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_KHR_dedicated_allocation"
7233 typedef VkMemoryDedicatedRequirements VkMemoryDedicatedRequirementsKHR;
7235 typedef VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfoKHR;
7239 #define VK_KHR_storage_buffer_storage_class 1
7240 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION 1
7241 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME "VK_KHR_storage_buffer_storage_class"
7244 #define VK_KHR_relaxed_block_layout 1
7245 #define VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION 1
7246 #define VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME "VK_KHR_relaxed_block_layout"
7249 #define VK_KHR_get_memory_requirements2 1
7250 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION 1
7251 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME "VK_KHR_get_memory_requirements2"
7252 typedef VkBufferMemoryRequirementsInfo2 VkBufferMemoryRequirementsInfo2KHR;
7254 typedef VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2KHR;
7256 typedef VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2KHR;
7258 typedef VkMemoryRequirements2 VkMemoryRequirements2KHR;
7260 typedef VkSparseImageMemoryRequirements2 VkSparseImageMemoryRequirements2KHR;
7262 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2KHR)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
7263 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2KHR)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
7264 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2KHR)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
7266 #ifndef VK_NO_PROTOTYPES
7267 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2KHR(
7269 const VkImageMemoryRequirementsInfo2* pInfo,
7270 VkMemoryRequirements2* pMemoryRequirements);
7272 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2KHR(
7274 const VkBufferMemoryRequirementsInfo2* pInfo,
7275 VkMemoryRequirements2* pMemoryRequirements);
7277 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2KHR(
7279 const VkImageSparseMemoryRequirementsInfo2* pInfo,
7280 deUint32* pSparseMemoryRequirementCount,
7281 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
7285 #define VK_KHR_image_format_list 1
7286 #define VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION 1
7287 #define VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME "VK_KHR_image_format_list"
7288 typedef VkImageFormatListCreateInfo VkImageFormatListCreateInfoKHR;
7292 #define VK_KHR_sampler_ycbcr_conversion 1
7293 typedef VkSamplerYcbcrConversion VkSamplerYcbcrConversionKHR;
7295 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION 14
7296 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME "VK_KHR_sampler_ycbcr_conversion"
7297 typedef VkSamplerYcbcrModelConversion VkSamplerYcbcrModelConversionKHR;
7299 typedef VkSamplerYcbcrRange VkSamplerYcbcrRangeKHR;
7301 typedef VkChromaLocation VkChromaLocationKHR;
7303 typedef VkSamplerYcbcrConversionCreateInfo VkSamplerYcbcrConversionCreateInfoKHR;
7305 typedef VkSamplerYcbcrConversionInfo VkSamplerYcbcrConversionInfoKHR;
7307 typedef VkBindImagePlaneMemoryInfo VkBindImagePlaneMemoryInfoKHR;
7309 typedef VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfoKHR;
7311 typedef VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR;
7313 typedef VkSamplerYcbcrConversionImageFormatProperties VkSamplerYcbcrConversionImageFormatPropertiesKHR;
7315 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversionKHR)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
7316 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversionKHR)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
7318 #ifndef VK_NO_PROTOTYPES
7319 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversionKHR(
7321 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
7322 const VkAllocationCallbacks* pAllocator,
7323 VkSamplerYcbcrConversion* pYcbcrConversion);
7325 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversionKHR(
7327 VkSamplerYcbcrConversion ycbcrConversion,
7328 const VkAllocationCallbacks* pAllocator);
7332 #define VK_KHR_bind_memory2 1
7333 #define VK_KHR_BIND_MEMORY_2_SPEC_VERSION 1
7334 #define VK_KHR_BIND_MEMORY_2_EXTENSION_NAME "VK_KHR_bind_memory2"
7335 typedef VkBindBufferMemoryInfo VkBindBufferMemoryInfoKHR;
7337 typedef VkBindImageMemoryInfo VkBindImageMemoryInfoKHR;
7339 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2KHR)(VkDevice device, deUint32 bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
7340 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2KHR)(VkDevice device, deUint32 bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
7342 #ifndef VK_NO_PROTOTYPES
7343 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2KHR(
7345 deUint32 bindInfoCount,
7346 const VkBindBufferMemoryInfo* pBindInfos);
7348 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2KHR(
7350 deUint32 bindInfoCount,
7351 const VkBindImageMemoryInfo* pBindInfos);
7355 #define VK_KHR_maintenance3 1
7356 #define VK_KHR_MAINTENANCE3_SPEC_VERSION 1
7357 #define VK_KHR_MAINTENANCE3_EXTENSION_NAME "VK_KHR_maintenance3"
7358 typedef VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3PropertiesKHR;
7360 typedef VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupportKHR;
7362 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupportKHR)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
7364 #ifndef VK_NO_PROTOTYPES
7365 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupportKHR(
7367 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
7368 VkDescriptorSetLayoutSupport* pSupport);
7372 #define VK_KHR_draw_indirect_count 1
7373 #define VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION 1
7374 #define VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_KHR_draw_indirect_count"
7375 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
7376 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
7378 #ifndef VK_NO_PROTOTYPES
7379 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountKHR(
7380 VkCommandBuffer commandBuffer,
7382 VkDeviceSize offset,
7383 VkBuffer countBuffer,
7384 VkDeviceSize countBufferOffset,
7385 deUint32 maxDrawCount,
7388 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountKHR(
7389 VkCommandBuffer commandBuffer,
7391 VkDeviceSize offset,
7392 VkBuffer countBuffer,
7393 VkDeviceSize countBufferOffset,
7394 deUint32 maxDrawCount,
7399 #define VK_KHR_shader_subgroup_extended_types 1
7400 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION 1
7401 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME "VK_KHR_shader_subgroup_extended_types"
7402 typedef VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR;
7406 #define VK_KHR_8bit_storage 1
7407 #define VK_KHR_8BIT_STORAGE_SPEC_VERSION 1
7408 #define VK_KHR_8BIT_STORAGE_EXTENSION_NAME "VK_KHR_8bit_storage"
7409 typedef VkPhysicalDevice8BitStorageFeatures VkPhysicalDevice8BitStorageFeaturesKHR;
7413 #define VK_KHR_shader_atomic_int64 1
7414 #define VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION 1
7415 #define VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME "VK_KHR_shader_atomic_int64"
7416 typedef VkPhysicalDeviceShaderAtomicInt64Features VkPhysicalDeviceShaderAtomicInt64FeaturesKHR;
7420 #define VK_KHR_shader_clock 1
7421 #define VK_KHR_SHADER_CLOCK_SPEC_VERSION 1
7422 #define VK_KHR_SHADER_CLOCK_EXTENSION_NAME "VK_KHR_shader_clock"
7423 typedef struct VkPhysicalDeviceShaderClockFeaturesKHR {
7424 VkStructureType sType;
7426 VkBool32 shaderSubgroupClock;
7427 VkBool32 shaderDeviceClock;
7428 } VkPhysicalDeviceShaderClockFeaturesKHR;
7432 #define VK_KHR_driver_properties 1
7433 #define VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION 1
7434 #define VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME "VK_KHR_driver_properties"
7435 #define VK_MAX_DRIVER_NAME_SIZE_KHR VK_MAX_DRIVER_NAME_SIZE
7436 #define VK_MAX_DRIVER_INFO_SIZE_KHR VK_MAX_DRIVER_INFO_SIZE
7437 typedef VkDriverId VkDriverIdKHR;
7439 typedef VkConformanceVersion VkConformanceVersionKHR;
7441 typedef VkPhysicalDeviceDriverProperties VkPhysicalDeviceDriverPropertiesKHR;
7445 #define VK_KHR_shader_float_controls 1
7446 #define VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION 4
7447 #define VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME "VK_KHR_shader_float_controls"
7448 typedef VkShaderFloatControlsIndependence VkShaderFloatControlsIndependenceKHR;
7450 typedef VkPhysicalDeviceFloatControlsProperties VkPhysicalDeviceFloatControlsPropertiesKHR;
7454 #define VK_KHR_depth_stencil_resolve 1
7455 #define VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION 1
7456 #define VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME "VK_KHR_depth_stencil_resolve"
7457 typedef VkResolveModeFlagBits VkResolveModeFlagBitsKHR;
7459 typedef VkResolveModeFlags VkResolveModeFlagsKHR;
7461 typedef VkSubpassDescriptionDepthStencilResolve VkSubpassDescriptionDepthStencilResolveKHR;
7463 typedef VkPhysicalDeviceDepthStencilResolveProperties VkPhysicalDeviceDepthStencilResolvePropertiesKHR;
7467 #define VK_KHR_swapchain_mutable_format 1
7468 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION 1
7469 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME "VK_KHR_swapchain_mutable_format"
7472 #define VK_KHR_timeline_semaphore 1
7473 #define VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION 2
7474 #define VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME "VK_KHR_timeline_semaphore"
7475 typedef VkSemaphoreType VkSemaphoreTypeKHR;
7477 typedef VkSemaphoreWaitFlagBits VkSemaphoreWaitFlagBitsKHR;
7479 typedef VkSemaphoreWaitFlags VkSemaphoreWaitFlagsKHR;
7481 typedef VkPhysicalDeviceTimelineSemaphoreFeatures VkPhysicalDeviceTimelineSemaphoreFeaturesKHR;
7483 typedef VkPhysicalDeviceTimelineSemaphoreProperties VkPhysicalDeviceTimelineSemaphorePropertiesKHR;
7485 typedef VkSemaphoreTypeCreateInfo VkSemaphoreTypeCreateInfoKHR;
7487 typedef VkTimelineSemaphoreSubmitInfo VkTimelineSemaphoreSubmitInfoKHR;
7489 typedef VkSemaphoreWaitInfo VkSemaphoreWaitInfoKHR;
7491 typedef VkSemaphoreSignalInfo VkSemaphoreSignalInfoKHR;
7493 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValueKHR)(VkDevice device, VkSemaphore semaphore, deUint64* pValue);
7494 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphoresKHR)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, deUint64 timeout);
7495 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphoreKHR)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo);
7497 #ifndef VK_NO_PROTOTYPES
7498 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValueKHR(
7500 VkSemaphore semaphore,
7503 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphoresKHR(
7505 const VkSemaphoreWaitInfo* pWaitInfo,
7508 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphoreKHR(
7510 const VkSemaphoreSignalInfo* pSignalInfo);
7514 #define VK_KHR_vulkan_memory_model 1
7515 #define VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION 3
7516 #define VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME "VK_KHR_vulkan_memory_model"
7517 typedef VkPhysicalDeviceVulkanMemoryModelFeatures VkPhysicalDeviceVulkanMemoryModelFeaturesKHR;
7521 #define VK_KHR_shader_terminate_invocation 1
7522 #define VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION 1
7523 #define VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME "VK_KHR_shader_terminate_invocation"
7524 typedef struct VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR {
7525 VkStructureType sType;
7527 VkBool32 shaderTerminateInvocation;
7528 } VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR;
7532 #define VK_KHR_fragment_shading_rate 1
7533 #define VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION 1
7534 #define VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME "VK_KHR_fragment_shading_rate"
7536 typedef enum VkFragmentShadingRateCombinerOpKHR {
7537 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR = 0,
7538 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR = 1,
7539 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR = 2,
7540 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR = 3,
7541 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR = 4,
7542 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_ENUM_KHR = 0x7FFFFFFF
7543 } VkFragmentShadingRateCombinerOpKHR;
7544 typedef struct VkFragmentShadingRateAttachmentInfoKHR {
7545 VkStructureType sType;
7547 const VkAttachmentReference2* pFragmentShadingRateAttachment;
7548 VkExtent2D shadingRateAttachmentTexelSize;
7549 } VkFragmentShadingRateAttachmentInfoKHR;
7551 typedef struct VkPipelineFragmentShadingRateStateCreateInfoKHR {
7552 VkStructureType sType;
7554 VkExtent2D fragmentSize;
7555 VkFragmentShadingRateCombinerOpKHR combinerOps[2];
7556 } VkPipelineFragmentShadingRateStateCreateInfoKHR;
7558 typedef struct VkPhysicalDeviceFragmentShadingRateFeaturesKHR {
7559 VkStructureType sType;
7561 VkBool32 pipelineFragmentShadingRate;
7562 VkBool32 primitiveFragmentShadingRate;
7563 VkBool32 attachmentFragmentShadingRate;
7564 } VkPhysicalDeviceFragmentShadingRateFeaturesKHR;
7566 typedef struct VkPhysicalDeviceFragmentShadingRatePropertiesKHR {
7567 VkStructureType sType;
7569 VkExtent2D minFragmentShadingRateAttachmentTexelSize;
7570 VkExtent2D maxFragmentShadingRateAttachmentTexelSize;
7571 deUint32 maxFragmentShadingRateAttachmentTexelSizeAspectRatio;
7572 VkBool32 primitiveFragmentShadingRateWithMultipleViewports;
7573 VkBool32 layeredShadingRateAttachments;
7574 VkBool32 fragmentShadingRateNonTrivialCombinerOps;
7575 VkExtent2D maxFragmentSize;
7576 deUint32 maxFragmentSizeAspectRatio;
7577 deUint32 maxFragmentShadingRateCoverageSamples;
7578 VkSampleCountFlagBits maxFragmentShadingRateRasterizationSamples;
7579 VkBool32 fragmentShadingRateWithShaderDepthStencilWrites;
7580 VkBool32 fragmentShadingRateWithSampleMask;
7581 VkBool32 fragmentShadingRateWithShaderSampleMask;
7582 VkBool32 fragmentShadingRateWithConservativeRasterization;
7583 VkBool32 fragmentShadingRateWithFragmentShaderInterlock;
7584 VkBool32 fragmentShadingRateWithCustomSampleLocations;
7585 VkBool32 fragmentShadingRateStrictMultiplyCombiner;
7586 } VkPhysicalDeviceFragmentShadingRatePropertiesKHR;
7588 typedef struct VkPhysicalDeviceFragmentShadingRateKHR {
7589 VkStructureType sType;
7591 VkSampleCountFlags sampleCounts;
7592 VkExtent2D fragmentSize;
7593 } VkPhysicalDeviceFragmentShadingRateKHR;
7595 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR)(VkPhysicalDevice physicalDevice, deUint32* pFragmentShadingRateCount, VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates);
7596 typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateKHR)(VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
7598 #ifndef VK_NO_PROTOTYPES
7599 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceFragmentShadingRatesKHR(
7600 VkPhysicalDevice physicalDevice,
7601 deUint32* pFragmentShadingRateCount,
7602 VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates);
7604 VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateKHR(
7605 VkCommandBuffer commandBuffer,
7606 const VkExtent2D* pFragmentSize,
7607 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
7611 #define VK_KHR_spirv_1_4 1
7612 #define VK_KHR_SPIRV_1_4_SPEC_VERSION 1
7613 #define VK_KHR_SPIRV_1_4_EXTENSION_NAME "VK_KHR_spirv_1_4"
7616 #define VK_KHR_surface_protected_capabilities 1
7617 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION 1
7618 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME "VK_KHR_surface_protected_capabilities"
7619 typedef struct VkSurfaceProtectedCapabilitiesKHR {
7620 VkStructureType sType;
7622 VkBool32 supportsProtected;
7623 } VkSurfaceProtectedCapabilitiesKHR;
7627 #define VK_KHR_separate_depth_stencil_layouts 1
7628 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION 1
7629 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME "VK_KHR_separate_depth_stencil_layouts"
7630 typedef VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR;
7632 typedef VkAttachmentReferenceStencilLayout VkAttachmentReferenceStencilLayoutKHR;
7634 typedef VkAttachmentDescriptionStencilLayout VkAttachmentDescriptionStencilLayoutKHR;
7638 #define VK_KHR_uniform_buffer_standard_layout 1
7639 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION 1
7640 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME "VK_KHR_uniform_buffer_standard_layout"
7641 typedef VkPhysicalDeviceUniformBufferStandardLayoutFeatures VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR;
7645 #define VK_KHR_buffer_device_address 1
7646 #define VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 1
7647 #define VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_KHR_buffer_device_address"
7648 typedef VkPhysicalDeviceBufferDeviceAddressFeatures VkPhysicalDeviceBufferDeviceAddressFeaturesKHR;
7650 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoKHR;
7652 typedef VkBufferOpaqueCaptureAddressCreateInfo VkBufferOpaqueCaptureAddressCreateInfoKHR;
7654 typedef VkMemoryOpaqueCaptureAddressAllocateInfo VkMemoryOpaqueCaptureAddressAllocateInfoKHR;
7656 typedef VkDeviceMemoryOpaqueCaptureAddressInfo VkDeviceMemoryOpaqueCaptureAddressInfoKHR;
7658 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
7659 typedef deUint64 (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
7660 typedef deUint64 (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
7662 #ifndef VK_NO_PROTOTYPES
7663 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressKHR(
7665 const VkBufferDeviceAddressInfo* pInfo);
7667 VKAPI_ATTR deUint64 VKAPI_CALL vkGetBufferOpaqueCaptureAddressKHR(
7669 const VkBufferDeviceAddressInfo* pInfo);
7671 VKAPI_ATTR deUint64 VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddressKHR(
7673 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
7677 #define VK_KHR_deferred_host_operations 1
7678 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeferredOperationKHR)
7679 #define VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION 4
7680 #define VK_KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME "VK_KHR_deferred_host_operations"
7681 typedef VkResult (VKAPI_PTR *PFN_vkCreateDeferredOperationKHR)(VkDevice device, const VkAllocationCallbacks* pAllocator, VkDeferredOperationKHR* pDeferredOperation);
7682 typedef void (VKAPI_PTR *PFN_vkDestroyDeferredOperationKHR)(VkDevice device, VkDeferredOperationKHR operation, const VkAllocationCallbacks* pAllocator);
7683 typedef deUint32 (VKAPI_PTR *PFN_vkGetDeferredOperationMaxConcurrencyKHR)(VkDevice device, VkDeferredOperationKHR operation);
7684 typedef VkResult (VKAPI_PTR *PFN_vkGetDeferredOperationResultKHR)(VkDevice device, VkDeferredOperationKHR operation);
7685 typedef VkResult (VKAPI_PTR *PFN_vkDeferredOperationJoinKHR)(VkDevice device, VkDeferredOperationKHR operation);
7687 #ifndef VK_NO_PROTOTYPES
7688 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDeferredOperationKHR(
7690 const VkAllocationCallbacks* pAllocator,
7691 VkDeferredOperationKHR* pDeferredOperation);
7693 VKAPI_ATTR void VKAPI_CALL vkDestroyDeferredOperationKHR(
7695 VkDeferredOperationKHR operation,
7696 const VkAllocationCallbacks* pAllocator);
7698 VKAPI_ATTR deUint32 VKAPI_CALL vkGetDeferredOperationMaxConcurrencyKHR(
7700 VkDeferredOperationKHR operation);
7702 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeferredOperationResultKHR(
7704 VkDeferredOperationKHR operation);
7706 VKAPI_ATTR VkResult VKAPI_CALL vkDeferredOperationJoinKHR(
7708 VkDeferredOperationKHR operation);
7712 #define VK_KHR_pipeline_executable_properties 1
7713 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION 1
7714 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME "VK_KHR_pipeline_executable_properties"
7716 typedef enum VkPipelineExecutableStatisticFormatKHR {
7717 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR = 0,
7718 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR = 1,
7719 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR = 2,
7720 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR = 3,
7721 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_MAX_ENUM_KHR = 0x7FFFFFFF
7722 } VkPipelineExecutableStatisticFormatKHR;
7723 typedef struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
7724 VkStructureType sType;
7726 VkBool32 pipelineExecutableInfo;
7727 } VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR;
7729 typedef struct VkPipelineInfoKHR {
7730 VkStructureType sType;
7732 VkPipeline pipeline;
7733 } VkPipelineInfoKHR;
7735 typedef struct VkPipelineExecutablePropertiesKHR {
7736 VkStructureType sType;
7738 VkShaderStageFlags stages;
7739 char name[VK_MAX_DESCRIPTION_SIZE];
7740 char description[VK_MAX_DESCRIPTION_SIZE];
7741 deUint32 subgroupSize;
7742 } VkPipelineExecutablePropertiesKHR;
7744 typedef struct VkPipelineExecutableInfoKHR {
7745 VkStructureType sType;
7747 VkPipeline pipeline;
7748 deUint32 executableIndex;
7749 } VkPipelineExecutableInfoKHR;
7751 typedef union VkPipelineExecutableStatisticValueKHR {
7756 } VkPipelineExecutableStatisticValueKHR;
7758 typedef struct VkPipelineExecutableStatisticKHR {
7759 VkStructureType sType;
7761 char name[VK_MAX_DESCRIPTION_SIZE];
7762 char description[VK_MAX_DESCRIPTION_SIZE];
7763 VkPipelineExecutableStatisticFormatKHR format;
7764 VkPipelineExecutableStatisticValueKHR value;
7765 } VkPipelineExecutableStatisticKHR;
7767 typedef struct VkPipelineExecutableInternalRepresentationKHR {
7768 VkStructureType sType;
7770 char name[VK_MAX_DESCRIPTION_SIZE];
7771 char description[VK_MAX_DESCRIPTION_SIZE];
7775 } VkPipelineExecutableInternalRepresentationKHR;
7777 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutablePropertiesKHR)(VkDevice device, const VkPipelineInfoKHR* pPipelineInfo, deUint32* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties);
7778 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableStatisticsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, deUint32* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics);
7779 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableInternalRepresentationsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, deUint32* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
7781 #ifndef VK_NO_PROTOTYPES
7782 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutablePropertiesKHR(
7784 const VkPipelineInfoKHR* pPipelineInfo,
7785 deUint32* pExecutableCount,
7786 VkPipelineExecutablePropertiesKHR* pProperties);
7788 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableStatisticsKHR(
7790 const VkPipelineExecutableInfoKHR* pExecutableInfo,
7791 deUint32* pStatisticCount,
7792 VkPipelineExecutableStatisticKHR* pStatistics);
7794 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableInternalRepresentationsKHR(
7796 const VkPipelineExecutableInfoKHR* pExecutableInfo,
7797 deUint32* pInternalRepresentationCount,
7798 VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
7802 #define VK_KHR_pipeline_library 1
7803 #define VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION 1
7804 #define VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME "VK_KHR_pipeline_library"
7805 typedef struct VkPipelineLibraryCreateInfoKHR {
7806 VkStructureType sType;
7808 deUint32 libraryCount;
7809 const VkPipeline* pLibraries;
7810 } VkPipelineLibraryCreateInfoKHR;
7814 #define VK_KHR_shader_non_semantic_info 1
7815 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION 1
7816 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME "VK_KHR_shader_non_semantic_info"
7819 #define VK_KHR_synchronization2 1
7820 typedef deUint64 VkFlags64;
7821 #define VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION 1
7822 #define VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME "VK_KHR_synchronization2"
7823 typedef VkFlags64 VkPipelineStageFlags2KHR;
7825 // Flag bits for VkPipelineStageFlagBits2KHR
7826 typedef VkFlags64 VkPipelineStageFlagBits2KHR;
7827 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_NONE_KHR = 0ULL;
7828 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR = 0x00000001ULL;
7829 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR = 0x00000002ULL;
7830 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR = 0x00000004ULL;
7831 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR = 0x00000008ULL;
7832 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR = 0x00000010ULL;
7833 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR = 0x00000020ULL;
7834 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR = 0x00000040ULL;
7835 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR = 0x00000080ULL;
7836 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR = 0x00000100ULL;
7837 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR = 0x00000200ULL;
7838 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR = 0x00000400ULL;
7839 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR = 0x00000800ULL;
7840 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR = 0x00001000ULL;
7841 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR = 0x00001000;
7842 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR = 0x00002000ULL;
7843 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_HOST_BIT_KHR = 0x00004000ULL;
7844 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR = 0x00008000ULL;
7845 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR = 0x00010000ULL;
7846 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COPY_BIT_KHR = 0x100000000ULL;
7847 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR = 0x200000000ULL;
7848 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_BLIT_BIT_KHR = 0x400000000ULL;
7849 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR = 0x800000000ULL;
7850 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR = 0x1000000000ULL;
7851 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR = 0x2000000000ULL;
7852 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR = 0x4000000000ULL;
7853 #ifdef VK_ENABLE_BETA_EXTENSIONS
7854 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR = 0x04000000ULL;
7856 #ifdef VK_ENABLE_BETA_EXTENSIONS
7857 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR = 0x08000000ULL;
7859 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000ULL;
7860 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000ULL;
7861 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV = 0x00020000ULL;
7862 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000ULL;
7863 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV = 0x00400000;
7864 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000ULL;
7865 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR = 0x00200000ULL;
7866 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV = 0x00200000;
7867 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 0x02000000;
7868 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000ULL;
7869 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV = 0x00080000ULL;
7870 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV = 0x00100000ULL;
7871 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_FLAG_BITS_2KHR_MAX_ENUM_KHR = 0x7FFFFFFFFFFFFFFFULL;
7873 typedef VkFlags64 VkAccessFlags2KHR;
7875 // Flag bits for VkAccessFlagBits2KHR
7876 typedef VkFlags64 VkAccessFlagBits2KHR;
7877 static const VkAccessFlagBits2KHR VK_ACCESS_2_NONE_KHR = 0ULL;
7878 static const VkAccessFlagBits2KHR VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR = 0x00000001ULL;
7879 static const VkAccessFlagBits2KHR VK_ACCESS_2_INDEX_READ_BIT_KHR = 0x00000002ULL;
7880 static const VkAccessFlagBits2KHR VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR = 0x00000004ULL;
7881 static const VkAccessFlagBits2KHR VK_ACCESS_2_UNIFORM_READ_BIT_KHR = 0x00000008ULL;
7882 static const VkAccessFlagBits2KHR VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR = 0x00000010ULL;
7883 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_READ_BIT_KHR = 0x00000020ULL;
7884 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_WRITE_BIT_KHR = 0x00000040ULL;
7885 static const VkAccessFlagBits2KHR VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR = 0x00000080ULL;
7886 static const VkAccessFlagBits2KHR VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR = 0x00000100ULL;
7887 static const VkAccessFlagBits2KHR VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR = 0x00000200ULL;
7888 static const VkAccessFlagBits2KHR VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR = 0x00000400ULL;
7889 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFER_READ_BIT_KHR = 0x00000800ULL;
7890 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR = 0x00001000ULL;
7891 static const VkAccessFlagBits2KHR VK_ACCESS_2_HOST_READ_BIT_KHR = 0x00002000ULL;
7892 static const VkAccessFlagBits2KHR VK_ACCESS_2_HOST_WRITE_BIT_KHR = 0x00004000ULL;
7893 static const VkAccessFlagBits2KHR VK_ACCESS_2_MEMORY_READ_BIT_KHR = 0x00008000ULL;
7894 static const VkAccessFlagBits2KHR VK_ACCESS_2_MEMORY_WRITE_BIT_KHR = 0x00010000ULL;
7895 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR = 0x100000000ULL;
7896 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR = 0x200000000ULL;
7897 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR = 0x400000000ULL;
7898 #ifdef VK_ENABLE_BETA_EXTENSIONS
7899 static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR = 0x800000000ULL;
7901 #ifdef VK_ENABLE_BETA_EXTENSIONS
7902 static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR = 0x1000000000ULL;
7904 #ifdef VK_ENABLE_BETA_EXTENSIONS
7905 static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR = 0x2000000000ULL;
7907 #ifdef VK_ENABLE_BETA_EXTENSIONS
7908 static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR = 0x4000000000ULL;
7910 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000ULL;
7911 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000ULL;
7912 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000ULL;
7913 static const VkAccessFlagBits2KHR VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000ULL;
7914 static const VkAccessFlagBits2KHR VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000ULL;
7915 static const VkAccessFlagBits2KHR VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000ULL;
7916 static const VkAccessFlagBits2KHR VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000ULL;
7917 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000;
7918 static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000ULL;
7919 static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000ULL;
7920 static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV = 0x00200000;
7921 static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 0x00400000;
7922 static const VkAccessFlagBits2KHR VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000ULL;
7923 static const VkAccessFlagBits2KHR VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000ULL;
7924 static const VkAccessFlagBits2KHR VK_ACCESS_FLAG_BITS_2KHR_MAX_ENUM_KHR = 0x7FFFFFFFFFFFFFFFULL;
7927 typedef enum VkSubmitFlagBitsKHR {
7928 VK_SUBMIT_PROTECTED_BIT_KHR = 0x00000001,
7929 VK_SUBMIT_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7930 } VkSubmitFlagBitsKHR;
7931 typedef VkFlags VkSubmitFlagsKHR;
7932 typedef struct VkMemoryBarrier2KHR {
7933 VkStructureType sType;
7935 VkPipelineStageFlags2KHR srcStageMask;
7936 VkAccessFlags2KHR srcAccessMask;
7937 VkPipelineStageFlags2KHR dstStageMask;
7938 VkAccessFlags2KHR dstAccessMask;
7939 } VkMemoryBarrier2KHR;
7941 typedef struct VkBufferMemoryBarrier2KHR {
7942 VkStructureType sType;
7944 VkPipelineStageFlags2KHR srcStageMask;
7945 VkAccessFlags2KHR srcAccessMask;
7946 VkPipelineStageFlags2KHR dstStageMask;
7947 VkAccessFlags2KHR dstAccessMask;
7948 deUint32 srcQueueFamilyIndex;
7949 deUint32 dstQueueFamilyIndex;
7951 VkDeviceSize offset;
7953 } VkBufferMemoryBarrier2KHR;
7955 typedef struct VkImageMemoryBarrier2KHR {
7956 VkStructureType sType;
7958 VkPipelineStageFlags2KHR srcStageMask;
7959 VkAccessFlags2KHR srcAccessMask;
7960 VkPipelineStageFlags2KHR dstStageMask;
7961 VkAccessFlags2KHR dstAccessMask;
7962 VkImageLayout oldLayout;
7963 VkImageLayout newLayout;
7964 deUint32 srcQueueFamilyIndex;
7965 deUint32 dstQueueFamilyIndex;
7967 VkImageSubresourceRange subresourceRange;
7968 } VkImageMemoryBarrier2KHR;
7970 typedef struct VkDependencyInfoKHR {
7971 VkStructureType sType;
7973 VkDependencyFlags dependencyFlags;
7974 deUint32 memoryBarrierCount;
7975 const VkMemoryBarrier2KHR* pMemoryBarriers;
7976 deUint32 bufferMemoryBarrierCount;
7977 const VkBufferMemoryBarrier2KHR* pBufferMemoryBarriers;
7978 deUint32 imageMemoryBarrierCount;
7979 const VkImageMemoryBarrier2KHR* pImageMemoryBarriers;
7980 } VkDependencyInfoKHR;
7982 typedef struct VkSemaphoreSubmitInfoKHR {
7983 VkStructureType sType;
7985 VkSemaphore semaphore;
7987 VkPipelineStageFlags2KHR stageMask;
7988 deUint32 deviceIndex;
7989 } VkSemaphoreSubmitInfoKHR;
7991 typedef struct VkCommandBufferSubmitInfoKHR {
7992 VkStructureType sType;
7994 VkCommandBuffer commandBuffer;
7995 deUint32 deviceMask;
7996 } VkCommandBufferSubmitInfoKHR;
7998 typedef struct VkSubmitInfo2KHR {
7999 VkStructureType sType;
8001 VkSubmitFlagsKHR flags;
8002 deUint32 waitSemaphoreInfoCount;
8003 const VkSemaphoreSubmitInfoKHR* pWaitSemaphoreInfos;
8004 deUint32 commandBufferInfoCount;
8005 const VkCommandBufferSubmitInfoKHR* pCommandBufferInfos;
8006 deUint32 signalSemaphoreInfoCount;
8007 const VkSemaphoreSubmitInfoKHR* pSignalSemaphoreInfos;
8010 typedef struct VkPhysicalDeviceSynchronization2FeaturesKHR {
8011 VkStructureType sType;
8013 VkBool32 synchronization2;
8014 } VkPhysicalDeviceSynchronization2FeaturesKHR;
8016 typedef struct VkQueueFamilyCheckpointProperties2NV {
8017 VkStructureType sType;
8019 VkPipelineStageFlags2KHR checkpointExecutionStageMask;
8020 } VkQueueFamilyCheckpointProperties2NV;
8022 typedef struct VkCheckpointData2NV {
8023 VkStructureType sType;
8025 VkPipelineStageFlags2KHR stage;
8026 void* pCheckpointMarker;
8027 } VkCheckpointData2NV;
8029 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfoKHR* pDependencyInfo);
8030 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2KHR stageMask);
8031 typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents2KHR)(VkCommandBuffer commandBuffer, deUint32 eventCount, const VkEvent* pEvents, const VkDependencyInfoKHR* pDependencyInfos);
8032 typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier2KHR)(VkCommandBuffer commandBuffer, const VkDependencyInfoKHR* pDependencyInfo);
8033 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2KHR)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2KHR stage, VkQueryPool queryPool, deUint32 query);
8034 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2KHR)(VkQueue queue, deUint32 submitCount, const VkSubmitInfo2KHR* pSubmits, VkFence fence);
8035 typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarker2AMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2KHR stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, deUint32 marker);
8036 typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointData2NV)(VkQueue queue, deUint32* pCheckpointDataCount, VkCheckpointData2NV* pCheckpointData);
8038 #ifndef VK_NO_PROTOTYPES
8039 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent2KHR(
8040 VkCommandBuffer commandBuffer,
8042 const VkDependencyInfoKHR* pDependencyInfo);
8044 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent2KHR(
8045 VkCommandBuffer commandBuffer,
8047 VkPipelineStageFlags2KHR stageMask);
8049 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents2KHR(
8050 VkCommandBuffer commandBuffer,
8051 deUint32 eventCount,
8052 const VkEvent* pEvents,
8053 const VkDependencyInfoKHR* pDependencyInfos);
8055 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier2KHR(
8056 VkCommandBuffer commandBuffer,
8057 const VkDependencyInfoKHR* pDependencyInfo);
8059 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp2KHR(
8060 VkCommandBuffer commandBuffer,
8061 VkPipelineStageFlags2KHR stage,
8062 VkQueryPool queryPool,
8065 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit2KHR(
8067 deUint32 submitCount,
8068 const VkSubmitInfo2KHR* pSubmits,
8071 VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarker2AMD(
8072 VkCommandBuffer commandBuffer,
8073 VkPipelineStageFlags2KHR stage,
8075 VkDeviceSize dstOffset,
8078 VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointData2NV(
8080 deUint32* pCheckpointDataCount,
8081 VkCheckpointData2NV* pCheckpointData);
8085 #define VK_KHR_zero_initialize_workgroup_memory 1
8086 #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION 1
8087 #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME "VK_KHR_zero_initialize_workgroup_memory"
8088 typedef struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR {
8089 VkStructureType sType;
8091 VkBool32 shaderZeroInitializeWorkgroupMemory;
8092 } VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR;
8096 #define VK_KHR_workgroup_memory_explicit_layout 1
8097 #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION 1
8098 #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME "VK_KHR_workgroup_memory_explicit_layout"
8099 typedef struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {
8100 VkStructureType sType;
8102 VkBool32 workgroupMemoryExplicitLayout;
8103 VkBool32 workgroupMemoryExplicitLayoutScalarBlockLayout;
8104 VkBool32 workgroupMemoryExplicitLayout8BitAccess;
8105 VkBool32 workgroupMemoryExplicitLayout16BitAccess;
8106 } VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR;
8110 #define VK_KHR_copy_commands2 1
8111 #define VK_KHR_COPY_COMMANDS_2_SPEC_VERSION 1
8112 #define VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME "VK_KHR_copy_commands2"
8113 typedef struct VkBufferCopy2KHR {
8114 VkStructureType sType;
8116 VkDeviceSize srcOffset;
8117 VkDeviceSize dstOffset;
8121 typedef struct VkCopyBufferInfo2KHR {
8122 VkStructureType sType;
8126 deUint32 regionCount;
8127 const VkBufferCopy2KHR* pRegions;
8128 } VkCopyBufferInfo2KHR;
8130 typedef struct VkImageCopy2KHR {
8131 VkStructureType sType;
8133 VkImageSubresourceLayers srcSubresource;
8134 VkOffset3D srcOffset;
8135 VkImageSubresourceLayers dstSubresource;
8136 VkOffset3D dstOffset;
8140 typedef struct VkCopyImageInfo2KHR {
8141 VkStructureType sType;
8144 VkImageLayout srcImageLayout;
8146 VkImageLayout dstImageLayout;
8147 deUint32 regionCount;
8148 const VkImageCopy2KHR* pRegions;
8149 } VkCopyImageInfo2KHR;
8151 typedef struct VkBufferImageCopy2KHR {
8152 VkStructureType sType;
8154 VkDeviceSize bufferOffset;
8155 deUint32 bufferRowLength;
8156 deUint32 bufferImageHeight;
8157 VkImageSubresourceLayers imageSubresource;
8158 VkOffset3D imageOffset;
8159 VkExtent3D imageExtent;
8160 } VkBufferImageCopy2KHR;
8162 typedef struct VkCopyBufferToImageInfo2KHR {
8163 VkStructureType sType;
8167 VkImageLayout dstImageLayout;
8168 deUint32 regionCount;
8169 const VkBufferImageCopy2KHR* pRegions;
8170 } VkCopyBufferToImageInfo2KHR;
8172 typedef struct VkCopyImageToBufferInfo2KHR {
8173 VkStructureType sType;
8176 VkImageLayout srcImageLayout;
8178 deUint32 regionCount;
8179 const VkBufferImageCopy2KHR* pRegions;
8180 } VkCopyImageToBufferInfo2KHR;
8182 typedef struct VkImageBlit2KHR {
8183 VkStructureType sType;
8185 VkImageSubresourceLayers srcSubresource;
8186 VkOffset3D srcOffsets[2];
8187 VkImageSubresourceLayers dstSubresource;
8188 VkOffset3D dstOffsets[2];
8191 typedef struct VkBlitImageInfo2KHR {
8192 VkStructureType sType;
8195 VkImageLayout srcImageLayout;
8197 VkImageLayout dstImageLayout;
8198 deUint32 regionCount;
8199 const VkImageBlit2KHR* pRegions;
8201 } VkBlitImageInfo2KHR;
8203 typedef struct VkImageResolve2KHR {
8204 VkStructureType sType;
8206 VkImageSubresourceLayers srcSubresource;
8207 VkOffset3D srcOffset;
8208 VkImageSubresourceLayers dstSubresource;
8209 VkOffset3D dstOffset;
8211 } VkImageResolve2KHR;
8213 typedef struct VkResolveImageInfo2KHR {
8214 VkStructureType sType;
8217 VkImageLayout srcImageLayout;
8219 VkImageLayout dstImageLayout;
8220 deUint32 regionCount;
8221 const VkImageResolve2KHR* pRegions;
8222 } VkResolveImageInfo2KHR;
8224 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2KHR* pCopyBufferInfo);
8225 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2KHR* pCopyImageInfo);
8226 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2KHR* pCopyBufferToImageInfo);
8227 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2KHR* pCopyImageToBufferInfo);
8228 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage2KHR)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2KHR* pBlitImageInfo);
8229 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage2KHR)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2KHR* pResolveImageInfo);
8231 #ifndef VK_NO_PROTOTYPES
8232 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer2KHR(
8233 VkCommandBuffer commandBuffer,
8234 const VkCopyBufferInfo2KHR* pCopyBufferInfo);
8236 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage2KHR(
8237 VkCommandBuffer commandBuffer,
8238 const VkCopyImageInfo2KHR* pCopyImageInfo);
8240 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage2KHR(
8241 VkCommandBuffer commandBuffer,
8242 const VkCopyBufferToImageInfo2KHR* pCopyBufferToImageInfo);
8244 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer2KHR(
8245 VkCommandBuffer commandBuffer,
8246 const VkCopyImageToBufferInfo2KHR* pCopyImageToBufferInfo);
8248 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage2KHR(
8249 VkCommandBuffer commandBuffer,
8250 const VkBlitImageInfo2KHR* pBlitImageInfo);
8252 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage2KHR(
8253 VkCommandBuffer commandBuffer,
8254 const VkResolveImageInfo2KHR* pResolveImageInfo);
8258 #define VK_EXT_debug_report 1
8259 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT)
8260 #define VK_EXT_DEBUG_REPORT_SPEC_VERSION 9
8261 #define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report"
8263 typedef enum VkDebugReportObjectTypeEXT {
8264 VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT = 0,
8265 VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT = 1,
8266 VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT = 2,
8267 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT = 3,
8268 VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT = 4,
8269 VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT = 5,
8270 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT = 6,
8271 VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT = 7,
8272 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT = 8,
8273 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT = 9,
8274 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT = 10,
8275 VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT = 11,
8276 VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT = 12,
8277 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT = 13,
8278 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT = 14,
8279 VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT = 15,
8280 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT = 16,
8281 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT = 17,
8282 VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT = 18,
8283 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT = 19,
8284 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT = 20,
8285 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT = 21,
8286 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT = 22,
8287 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT = 23,
8288 VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT = 24,
8289 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT = 25,
8290 VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = 26,
8291 VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = 27,
8292 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT = 28,
8293 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT = 29,
8294 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = 30,
8295 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT = 33,
8296 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT = 1000156000,
8297 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT = 1000085000,
8298 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT = 1000150000,
8299 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT = 1000165000,
8300 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT,
8301 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT,
8302 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT,
8303 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT,
8304 VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
8305 } VkDebugReportObjectTypeEXT;
8307 typedef enum VkDebugReportFlagBitsEXT {
8308 VK_DEBUG_REPORT_INFORMATION_BIT_EXT = 0x00000001,
8309 VK_DEBUG_REPORT_WARNING_BIT_EXT = 0x00000002,
8310 VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = 0x00000004,
8311 VK_DEBUG_REPORT_ERROR_BIT_EXT = 0x00000008,
8312 VK_DEBUG_REPORT_DEBUG_BIT_EXT = 0x00000010,
8313 VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
8314 } VkDebugReportFlagBitsEXT;
8315 typedef VkFlags VkDebugReportFlagsEXT;
8316 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugReportCallbackEXT)(
8317 VkDebugReportFlagsEXT flags,
8318 VkDebugReportObjectTypeEXT objectType,
8321 deInt32 messageCode,
8322 const char* pLayerPrefix,
8323 const char* pMessage,
8326 typedef struct VkDebugReportCallbackCreateInfoEXT {
8327 VkStructureType sType;
8329 VkDebugReportFlagsEXT flags;
8330 PFN_vkDebugReportCallbackEXT pfnCallback;
8332 } VkDebugReportCallbackCreateInfoEXT;
8334 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugReportCallbackEXT)(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback);
8335 typedef void (VKAPI_PTR *PFN_vkDestroyDebugReportCallbackEXT)(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator);
8336 typedef void (VKAPI_PTR *PFN_vkDebugReportMessageEXT)(VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, deUint64 object, deUintptr location, deInt32 messageCode, const char* pLayerPrefix, const char* pMessage);
8338 #ifndef VK_NO_PROTOTYPES
8339 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugReportCallbackEXT(
8340 VkInstance instance,
8341 const VkDebugReportCallbackCreateInfoEXT* pCreateInfo,
8342 const VkAllocationCallbacks* pAllocator,
8343 VkDebugReportCallbackEXT* pCallback);
8345 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugReportCallbackEXT(
8346 VkInstance instance,
8347 VkDebugReportCallbackEXT callback,
8348 const VkAllocationCallbacks* pAllocator);
8350 VKAPI_ATTR void VKAPI_CALL vkDebugReportMessageEXT(
8351 VkInstance instance,
8352 VkDebugReportFlagsEXT flags,
8353 VkDebugReportObjectTypeEXT objectType,
8356 deInt32 messageCode,
8357 const char* pLayerPrefix,
8358 const char* pMessage);
8362 #define VK_NV_glsl_shader 1
8363 #define VK_NV_GLSL_SHADER_SPEC_VERSION 1
8364 #define VK_NV_GLSL_SHADER_EXTENSION_NAME "VK_NV_glsl_shader"
8367 #define VK_EXT_depth_range_unrestricted 1
8368 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION 1
8369 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME "VK_EXT_depth_range_unrestricted"
8372 #define VK_IMG_filter_cubic 1
8373 #define VK_IMG_FILTER_CUBIC_SPEC_VERSION 1
8374 #define VK_IMG_FILTER_CUBIC_EXTENSION_NAME "VK_IMG_filter_cubic"
8377 #define VK_AMD_rasterization_order 1
8378 #define VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION 1
8379 #define VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME "VK_AMD_rasterization_order"
8381 typedef enum VkRasterizationOrderAMD {
8382 VK_RASTERIZATION_ORDER_STRICT_AMD = 0,
8383 VK_RASTERIZATION_ORDER_RELAXED_AMD = 1,
8384 VK_RASTERIZATION_ORDER_MAX_ENUM_AMD = 0x7FFFFFFF
8385 } VkRasterizationOrderAMD;
8386 typedef struct VkPipelineRasterizationStateRasterizationOrderAMD {
8387 VkStructureType sType;
8389 VkRasterizationOrderAMD rasterizationOrder;
8390 } VkPipelineRasterizationStateRasterizationOrderAMD;
8394 #define VK_AMD_shader_trinary_minmax 1
8395 #define VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION 1
8396 #define VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME "VK_AMD_shader_trinary_minmax"
8399 #define VK_AMD_shader_explicit_vertex_parameter 1
8400 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION 1
8401 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME "VK_AMD_shader_explicit_vertex_parameter"
8404 #define VK_EXT_debug_marker 1
8405 #define VK_EXT_DEBUG_MARKER_SPEC_VERSION 4
8406 #define VK_EXT_DEBUG_MARKER_EXTENSION_NAME "VK_EXT_debug_marker"
8407 typedef struct VkDebugMarkerObjectNameInfoEXT {
8408 VkStructureType sType;
8410 VkDebugReportObjectTypeEXT objectType;
8412 const char* pObjectName;
8413 } VkDebugMarkerObjectNameInfoEXT;
8415 typedef struct VkDebugMarkerObjectTagInfoEXT {
8416 VkStructureType sType;
8418 VkDebugReportObjectTypeEXT objectType;
8423 } VkDebugMarkerObjectTagInfoEXT;
8425 typedef struct VkDebugMarkerMarkerInfoEXT {
8426 VkStructureType sType;
8428 const char* pMarkerName;
8430 } VkDebugMarkerMarkerInfoEXT;
8432 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectTagEXT)(VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
8433 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectNameEXT)(VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
8434 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerBeginEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
8435 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerEndEXT)(VkCommandBuffer commandBuffer);
8436 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerInsertEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
8438 #ifndef VK_NO_PROTOTYPES
8439 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectTagEXT(
8441 const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
8443 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectNameEXT(
8445 const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
8447 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerBeginEXT(
8448 VkCommandBuffer commandBuffer,
8449 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
8451 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerEndEXT(
8452 VkCommandBuffer commandBuffer);
8454 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerInsertEXT(
8455 VkCommandBuffer commandBuffer,
8456 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
8460 #define VK_AMD_gcn_shader 1
8461 #define VK_AMD_GCN_SHADER_SPEC_VERSION 1
8462 #define VK_AMD_GCN_SHADER_EXTENSION_NAME "VK_AMD_gcn_shader"
8465 #define VK_NV_dedicated_allocation 1
8466 #define VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION 1
8467 #define VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_NV_dedicated_allocation"
8468 typedef struct VkDedicatedAllocationImageCreateInfoNV {
8469 VkStructureType sType;
8471 VkBool32 dedicatedAllocation;
8472 } VkDedicatedAllocationImageCreateInfoNV;
8474 typedef struct VkDedicatedAllocationBufferCreateInfoNV {
8475 VkStructureType sType;
8477 VkBool32 dedicatedAllocation;
8478 } VkDedicatedAllocationBufferCreateInfoNV;
8480 typedef struct VkDedicatedAllocationMemoryAllocateInfoNV {
8481 VkStructureType sType;
8485 } VkDedicatedAllocationMemoryAllocateInfoNV;
8489 #define VK_EXT_transform_feedback 1
8490 #define VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION 1
8491 #define VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME "VK_EXT_transform_feedback"
8492 typedef VkFlags VkPipelineRasterizationStateStreamCreateFlagsEXT;
8493 typedef struct VkPhysicalDeviceTransformFeedbackFeaturesEXT {
8494 VkStructureType sType;
8496 VkBool32 transformFeedback;
8497 VkBool32 geometryStreams;
8498 } VkPhysicalDeviceTransformFeedbackFeaturesEXT;
8500 typedef struct VkPhysicalDeviceTransformFeedbackPropertiesEXT {
8501 VkStructureType sType;
8503 deUint32 maxTransformFeedbackStreams;
8504 deUint32 maxTransformFeedbackBuffers;
8505 VkDeviceSize maxTransformFeedbackBufferSize;
8506 deUint32 maxTransformFeedbackStreamDataSize;
8507 deUint32 maxTransformFeedbackBufferDataSize;
8508 deUint32 maxTransformFeedbackBufferDataStride;
8509 VkBool32 transformFeedbackQueries;
8510 VkBool32 transformFeedbackStreamsLinesTriangles;
8511 VkBool32 transformFeedbackRasterizationStreamSelect;
8512 VkBool32 transformFeedbackDraw;
8513 } VkPhysicalDeviceTransformFeedbackPropertiesEXT;
8515 typedef struct VkPipelineRasterizationStateStreamCreateInfoEXT {
8516 VkStructureType sType;
8518 VkPipelineRasterizationStateStreamCreateFlagsEXT flags;
8519 deUint32 rasterizationStream;
8520 } VkPipelineRasterizationStateStreamCreateInfoEXT;
8522 typedef void (VKAPI_PTR *PFN_vkCmdBindTransformFeedbackBuffersEXT)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes);
8523 typedef void (VKAPI_PTR *PFN_vkCmdBeginTransformFeedbackEXT)(VkCommandBuffer commandBuffer, deUint32 firstCounterBuffer, deUint32 counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
8524 typedef void (VKAPI_PTR *PFN_vkCmdEndTransformFeedbackEXT)(VkCommandBuffer commandBuffer, deUint32 firstCounterBuffer, deUint32 counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
8525 typedef void (VKAPI_PTR *PFN_vkCmdBeginQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, VkQueryControlFlags flags, deUint32 index);
8526 typedef void (VKAPI_PTR *PFN_vkCmdEndQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, deUint32 index);
8527 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectByteCountEXT)(VkCommandBuffer commandBuffer, deUint32 instanceCount, deUint32 firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, deUint32 counterOffset, deUint32 vertexStride);
8529 #ifndef VK_NO_PROTOTYPES
8530 VKAPI_ATTR void VKAPI_CALL vkCmdBindTransformFeedbackBuffersEXT(
8531 VkCommandBuffer commandBuffer,
8532 deUint32 firstBinding,
8533 deUint32 bindingCount,
8534 const VkBuffer* pBuffers,
8535 const VkDeviceSize* pOffsets,
8536 const VkDeviceSize* pSizes);
8538 VKAPI_ATTR void VKAPI_CALL vkCmdBeginTransformFeedbackEXT(
8539 VkCommandBuffer commandBuffer,
8540 deUint32 firstCounterBuffer,
8541 deUint32 counterBufferCount,
8542 const VkBuffer* pCounterBuffers,
8543 const VkDeviceSize* pCounterBufferOffsets);
8545 VKAPI_ATTR void VKAPI_CALL vkCmdEndTransformFeedbackEXT(
8546 VkCommandBuffer commandBuffer,
8547 deUint32 firstCounterBuffer,
8548 deUint32 counterBufferCount,
8549 const VkBuffer* pCounterBuffers,
8550 const VkDeviceSize* pCounterBufferOffsets);
8552 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQueryIndexedEXT(
8553 VkCommandBuffer commandBuffer,
8554 VkQueryPool queryPool,
8556 VkQueryControlFlags flags,
8559 VKAPI_ATTR void VKAPI_CALL vkCmdEndQueryIndexedEXT(
8560 VkCommandBuffer commandBuffer,
8561 VkQueryPool queryPool,
8565 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectByteCountEXT(
8566 VkCommandBuffer commandBuffer,
8567 deUint32 instanceCount,
8568 deUint32 firstInstance,
8569 VkBuffer counterBuffer,
8570 VkDeviceSize counterBufferOffset,
8571 deUint32 counterOffset,
8572 deUint32 vertexStride);
8576 #define VK_NVX_image_view_handle 1
8577 #define VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION 2
8578 #define VK_NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME "VK_NVX_image_view_handle"
8579 typedef struct VkImageViewHandleInfoNVX {
8580 VkStructureType sType;
8582 VkImageView imageView;
8583 VkDescriptorType descriptorType;
8585 } VkImageViewHandleInfoNVX;
8587 typedef struct VkImageViewAddressPropertiesNVX {
8588 VkStructureType sType;
8590 VkDeviceAddress deviceAddress;
8592 } VkImageViewAddressPropertiesNVX;
8594 typedef deUint32 (VKAPI_PTR *PFN_vkGetImageViewHandleNVX)(VkDevice device, const VkImageViewHandleInfoNVX* pInfo);
8595 typedef VkResult (VKAPI_PTR *PFN_vkGetImageViewAddressNVX)(VkDevice device, VkImageView imageView, VkImageViewAddressPropertiesNVX* pProperties);
8597 #ifndef VK_NO_PROTOTYPES
8598 VKAPI_ATTR deUint32 VKAPI_CALL vkGetImageViewHandleNVX(
8600 const VkImageViewHandleInfoNVX* pInfo);
8602 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageViewAddressNVX(
8604 VkImageView imageView,
8605 VkImageViewAddressPropertiesNVX* pProperties);
8609 #define VK_AMD_draw_indirect_count 1
8610 #define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 2
8611 #define VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_AMD_draw_indirect_count"
8612 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
8613 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
8615 #ifndef VK_NO_PROTOTYPES
8616 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountAMD(
8617 VkCommandBuffer commandBuffer,
8619 VkDeviceSize offset,
8620 VkBuffer countBuffer,
8621 VkDeviceSize countBufferOffset,
8622 deUint32 maxDrawCount,
8625 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountAMD(
8626 VkCommandBuffer commandBuffer,
8628 VkDeviceSize offset,
8629 VkBuffer countBuffer,
8630 VkDeviceSize countBufferOffset,
8631 deUint32 maxDrawCount,
8636 #define VK_AMD_negative_viewport_height 1
8637 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION 1
8638 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME "VK_AMD_negative_viewport_height"
8641 #define VK_AMD_gpu_shader_half_float 1
8642 #define VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION 2
8643 #define VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME "VK_AMD_gpu_shader_half_float"
8646 #define VK_AMD_shader_ballot 1
8647 #define VK_AMD_SHADER_BALLOT_SPEC_VERSION 1
8648 #define VK_AMD_SHADER_BALLOT_EXTENSION_NAME "VK_AMD_shader_ballot"
8651 #define VK_AMD_texture_gather_bias_lod 1
8652 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION 1
8653 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME "VK_AMD_texture_gather_bias_lod"
8654 typedef struct VkTextureLODGatherFormatPropertiesAMD {
8655 VkStructureType sType;
8657 VkBool32 supportsTextureGatherLODBiasAMD;
8658 } VkTextureLODGatherFormatPropertiesAMD;
8662 #define VK_AMD_shader_info 1
8663 #define VK_AMD_SHADER_INFO_SPEC_VERSION 1
8664 #define VK_AMD_SHADER_INFO_EXTENSION_NAME "VK_AMD_shader_info"
8666 typedef enum VkShaderInfoTypeAMD {
8667 VK_SHADER_INFO_TYPE_STATISTICS_AMD = 0,
8668 VK_SHADER_INFO_TYPE_BINARY_AMD = 1,
8669 VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD = 2,
8670 VK_SHADER_INFO_TYPE_MAX_ENUM_AMD = 0x7FFFFFFF
8671 } VkShaderInfoTypeAMD;
8672 typedef struct VkShaderResourceUsageAMD {
8673 deUint32 numUsedVgprs;
8674 deUint32 numUsedSgprs;
8675 deUint32 ldsSizePerLocalWorkGroup;
8676 deUintptr ldsUsageSizeInBytes;
8677 deUintptr scratchMemUsageInBytes;
8678 } VkShaderResourceUsageAMD;
8680 typedef struct VkShaderStatisticsInfoAMD {
8681 VkShaderStageFlags shaderStageMask;
8682 VkShaderResourceUsageAMD resourceUsage;
8683 deUint32 numPhysicalVgprs;
8684 deUint32 numPhysicalSgprs;
8685 deUint32 numAvailableVgprs;
8686 deUint32 numAvailableSgprs;
8687 deUint32 computeWorkGroupSize[3];
8688 } VkShaderStatisticsInfoAMD;
8690 typedef VkResult (VKAPI_PTR *PFN_vkGetShaderInfoAMD)(VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, deUintptr* pInfoSize, void* pInfo);
8692 #ifndef VK_NO_PROTOTYPES
8693 VKAPI_ATTR VkResult VKAPI_CALL vkGetShaderInfoAMD(
8695 VkPipeline pipeline,
8696 VkShaderStageFlagBits shaderStage,
8697 VkShaderInfoTypeAMD infoType,
8698 deUintptr* pInfoSize,
8703 #define VK_AMD_shader_image_load_store_lod 1
8704 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION 1
8705 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME "VK_AMD_shader_image_load_store_lod"
8708 #define VK_NV_corner_sampled_image 1
8709 #define VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION 2
8710 #define VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME "VK_NV_corner_sampled_image"
8711 typedef struct VkPhysicalDeviceCornerSampledImageFeaturesNV {
8712 VkStructureType sType;
8714 VkBool32 cornerSampledImage;
8715 } VkPhysicalDeviceCornerSampledImageFeaturesNV;
8719 #define VK_IMG_format_pvrtc 1
8720 #define VK_IMG_FORMAT_PVRTC_SPEC_VERSION 1
8721 #define VK_IMG_FORMAT_PVRTC_EXTENSION_NAME "VK_IMG_format_pvrtc"
8724 #define VK_NV_external_memory_capabilities 1
8725 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
8726 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_NV_external_memory_capabilities"
8728 typedef enum VkExternalMemoryHandleTypeFlagBitsNV {
8729 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV = 0x00000001,
8730 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV = 0x00000002,
8731 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV = 0x00000004,
8732 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV = 0x00000008,
8733 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
8734 } VkExternalMemoryHandleTypeFlagBitsNV;
8735 typedef VkFlags VkExternalMemoryHandleTypeFlagsNV;
8737 typedef enum VkExternalMemoryFeatureFlagBitsNV {
8738 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV = 0x00000001,
8739 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV = 0x00000002,
8740 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV = 0x00000004,
8741 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
8742 } VkExternalMemoryFeatureFlagBitsNV;
8743 typedef VkFlags VkExternalMemoryFeatureFlagsNV;
8744 typedef struct VkExternalImageFormatPropertiesNV {
8745 VkImageFormatProperties imageFormatProperties;
8746 VkExternalMemoryFeatureFlagsNV externalMemoryFeatures;
8747 VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes;
8748 VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes;
8749 } VkExternalImageFormatPropertiesNV;
8751 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
8753 #ifndef VK_NO_PROTOTYPES
8754 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
8755 VkPhysicalDevice physicalDevice,
8758 VkImageTiling tiling,
8759 VkImageUsageFlags usage,
8760 VkImageCreateFlags flags,
8761 VkExternalMemoryHandleTypeFlagsNV externalHandleType,
8762 VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
8766 #define VK_NV_external_memory 1
8767 #define VK_NV_EXTERNAL_MEMORY_SPEC_VERSION 1
8768 #define VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME "VK_NV_external_memory"
8769 typedef struct VkExternalMemoryImageCreateInfoNV {
8770 VkStructureType sType;
8772 VkExternalMemoryHandleTypeFlagsNV handleTypes;
8773 } VkExternalMemoryImageCreateInfoNV;
8775 typedef struct VkExportMemoryAllocateInfoNV {
8776 VkStructureType sType;
8778 VkExternalMemoryHandleTypeFlagsNV handleTypes;
8779 } VkExportMemoryAllocateInfoNV;
8783 #define VK_EXT_validation_flags 1
8784 #define VK_EXT_VALIDATION_FLAGS_SPEC_VERSION 2
8785 #define VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME "VK_EXT_validation_flags"
8787 typedef enum VkValidationCheckEXT {
8788 VK_VALIDATION_CHECK_ALL_EXT = 0,
8789 VK_VALIDATION_CHECK_SHADERS_EXT = 1,
8790 VK_VALIDATION_CHECK_MAX_ENUM_EXT = 0x7FFFFFFF
8791 } VkValidationCheckEXT;
8792 typedef struct VkValidationFlagsEXT {
8793 VkStructureType sType;
8795 deUint32 disabledValidationCheckCount;
8796 const VkValidationCheckEXT* pDisabledValidationChecks;
8797 } VkValidationFlagsEXT;
8801 #define VK_EXT_shader_subgroup_ballot 1
8802 #define VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION 1
8803 #define VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME "VK_EXT_shader_subgroup_ballot"
8806 #define VK_EXT_shader_subgroup_vote 1
8807 #define VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION 1
8808 #define VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME "VK_EXT_shader_subgroup_vote"
8811 #define VK_EXT_texture_compression_astc_hdr 1
8812 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION 1
8813 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME "VK_EXT_texture_compression_astc_hdr"
8814 typedef struct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT {
8815 VkStructureType sType;
8817 VkBool32 textureCompressionASTC_HDR;
8818 } VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT;
8822 #define VK_EXT_astc_decode_mode 1
8823 #define VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION 1
8824 #define VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME "VK_EXT_astc_decode_mode"
8825 typedef struct VkImageViewASTCDecodeModeEXT {
8826 VkStructureType sType;
8828 VkFormat decodeMode;
8829 } VkImageViewASTCDecodeModeEXT;
8831 typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT {
8832 VkStructureType sType;
8834 VkBool32 decodeModeSharedExponent;
8835 } VkPhysicalDeviceASTCDecodeFeaturesEXT;
8839 #define VK_EXT_conditional_rendering 1
8840 #define VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION 2
8841 #define VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME "VK_EXT_conditional_rendering"
8843 typedef enum VkConditionalRenderingFlagBitsEXT {
8844 VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT = 0x00000001,
8845 VK_CONDITIONAL_RENDERING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
8846 } VkConditionalRenderingFlagBitsEXT;
8847 typedef VkFlags VkConditionalRenderingFlagsEXT;
8848 typedef struct VkConditionalRenderingBeginInfoEXT {
8849 VkStructureType sType;
8852 VkDeviceSize offset;
8853 VkConditionalRenderingFlagsEXT flags;
8854 } VkConditionalRenderingBeginInfoEXT;
8856 typedef struct VkPhysicalDeviceConditionalRenderingFeaturesEXT {
8857 VkStructureType sType;
8859 VkBool32 conditionalRendering;
8860 VkBool32 inheritedConditionalRendering;
8861 } VkPhysicalDeviceConditionalRenderingFeaturesEXT;
8863 typedef struct VkCommandBufferInheritanceConditionalRenderingInfoEXT {
8864 VkStructureType sType;
8866 VkBool32 conditionalRenderingEnable;
8867 } VkCommandBufferInheritanceConditionalRenderingInfoEXT;
8869 typedef void (VKAPI_PTR *PFN_vkCmdBeginConditionalRenderingEXT)(VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
8870 typedef void (VKAPI_PTR *PFN_vkCmdEndConditionalRenderingEXT)(VkCommandBuffer commandBuffer);
8872 #ifndef VK_NO_PROTOTYPES
8873 VKAPI_ATTR void VKAPI_CALL vkCmdBeginConditionalRenderingEXT(
8874 VkCommandBuffer commandBuffer,
8875 const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
8877 VKAPI_ATTR void VKAPI_CALL vkCmdEndConditionalRenderingEXT(
8878 VkCommandBuffer commandBuffer);
8882 #define VK_NV_clip_space_w_scaling 1
8883 #define VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION 1
8884 #define VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME "VK_NV_clip_space_w_scaling"
8885 typedef struct VkViewportWScalingNV {
8888 } VkViewportWScalingNV;
8890 typedef struct VkPipelineViewportWScalingStateCreateInfoNV {
8891 VkStructureType sType;
8893 VkBool32 viewportWScalingEnable;
8894 deUint32 viewportCount;
8895 const VkViewportWScalingNV* pViewportWScalings;
8896 } VkPipelineViewportWScalingStateCreateInfoNV;
8898 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingNV)(VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkViewportWScalingNV* pViewportWScalings);
8900 #ifndef VK_NO_PROTOTYPES
8901 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWScalingNV(
8902 VkCommandBuffer commandBuffer,
8903 deUint32 firstViewport,
8904 deUint32 viewportCount,
8905 const VkViewportWScalingNV* pViewportWScalings);
8909 #define VK_EXT_direct_mode_display 1
8910 #define VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION 1
8911 #define VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME "VK_EXT_direct_mode_display"
8912 typedef VkResult (VKAPI_PTR *PFN_vkReleaseDisplayEXT)(VkPhysicalDevice physicalDevice, VkDisplayKHR display);
8914 #ifndef VK_NO_PROTOTYPES
8915 VKAPI_ATTR VkResult VKAPI_CALL vkReleaseDisplayEXT(
8916 VkPhysicalDevice physicalDevice,
8917 VkDisplayKHR display);
8921 #define VK_EXT_display_surface_counter 1
8922 #define VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION 1
8923 #define VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME "VK_EXT_display_surface_counter"
8925 typedef enum VkSurfaceCounterFlagBitsEXT {
8926 VK_SURFACE_COUNTER_VBLANK_BIT_EXT = 0x00000001,
8927 VK_SURFACE_COUNTER_VBLANK_EXT = VK_SURFACE_COUNTER_VBLANK_BIT_EXT,
8928 VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
8929 } VkSurfaceCounterFlagBitsEXT;
8930 typedef VkFlags VkSurfaceCounterFlagsEXT;
8931 typedef struct VkSurfaceCapabilities2EXT {
8932 VkStructureType sType;
8934 deUint32 minImageCount;
8935 deUint32 maxImageCount;
8936 VkExtent2D currentExtent;
8937 VkExtent2D minImageExtent;
8938 VkExtent2D maxImageExtent;
8939 deUint32 maxImageArrayLayers;
8940 VkSurfaceTransformFlagsKHR supportedTransforms;
8941 VkSurfaceTransformFlagBitsKHR currentTransform;
8942 VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
8943 VkImageUsageFlags supportedUsageFlags;
8944 VkSurfaceCounterFlagsEXT supportedSurfaceCounters;
8945 } VkSurfaceCapabilities2EXT;
8947 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
8949 #ifndef VK_NO_PROTOTYPES
8950 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2EXT(
8951 VkPhysicalDevice physicalDevice,
8952 VkSurfaceKHR surface,
8953 VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
8957 #define VK_EXT_display_control 1
8958 #define VK_EXT_DISPLAY_CONTROL_SPEC_VERSION 1
8959 #define VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME "VK_EXT_display_control"
8961 typedef enum VkDisplayPowerStateEXT {
8962 VK_DISPLAY_POWER_STATE_OFF_EXT = 0,
8963 VK_DISPLAY_POWER_STATE_SUSPEND_EXT = 1,
8964 VK_DISPLAY_POWER_STATE_ON_EXT = 2,
8965 VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT = 0x7FFFFFFF
8966 } VkDisplayPowerStateEXT;
8968 typedef enum VkDeviceEventTypeEXT {
8969 VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT = 0,
8970 VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
8971 } VkDeviceEventTypeEXT;
8973 typedef enum VkDisplayEventTypeEXT {
8974 VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT = 0,
8975 VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
8976 } VkDisplayEventTypeEXT;
8977 typedef struct VkDisplayPowerInfoEXT {
8978 VkStructureType sType;
8980 VkDisplayPowerStateEXT powerState;
8981 } VkDisplayPowerInfoEXT;
8983 typedef struct VkDeviceEventInfoEXT {
8984 VkStructureType sType;
8986 VkDeviceEventTypeEXT deviceEvent;
8987 } VkDeviceEventInfoEXT;
8989 typedef struct VkDisplayEventInfoEXT {
8990 VkStructureType sType;
8992 VkDisplayEventTypeEXT displayEvent;
8993 } VkDisplayEventInfoEXT;
8995 typedef struct VkSwapchainCounterCreateInfoEXT {
8996 VkStructureType sType;
8998 VkSurfaceCounterFlagsEXT surfaceCounters;
8999 } VkSwapchainCounterCreateInfoEXT;
9001 typedef VkResult (VKAPI_PTR *PFN_vkDisplayPowerControlEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
9002 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDeviceEventEXT)(VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
9003 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDisplayEventEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
9004 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainCounterEXT)(VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, deUint64* pCounterValue);
9006 #ifndef VK_NO_PROTOTYPES
9007 VKAPI_ATTR VkResult VKAPI_CALL vkDisplayPowerControlEXT(
9009 VkDisplayKHR display,
9010 const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
9012 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDeviceEventEXT(
9014 const VkDeviceEventInfoEXT* pDeviceEventInfo,
9015 const VkAllocationCallbacks* pAllocator,
9018 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDisplayEventEXT(
9020 VkDisplayKHR display,
9021 const VkDisplayEventInfoEXT* pDisplayEventInfo,
9022 const VkAllocationCallbacks* pAllocator,
9025 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainCounterEXT(
9027 VkSwapchainKHR swapchain,
9028 VkSurfaceCounterFlagBitsEXT counter,
9029 deUint64* pCounterValue);
9033 #define VK_GOOGLE_display_timing 1
9034 #define VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION 1
9035 #define VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME "VK_GOOGLE_display_timing"
9036 typedef struct VkRefreshCycleDurationGOOGLE {
9037 deUint64 refreshDuration;
9038 } VkRefreshCycleDurationGOOGLE;
9040 typedef struct VkPastPresentationTimingGOOGLE {
9042 deUint64 desiredPresentTime;
9043 deUint64 actualPresentTime;
9044 deUint64 earliestPresentTime;
9045 deUint64 presentMargin;
9046 } VkPastPresentationTimingGOOGLE;
9048 typedef struct VkPresentTimeGOOGLE {
9050 deUint64 desiredPresentTime;
9051 } VkPresentTimeGOOGLE;
9053 typedef struct VkPresentTimesInfoGOOGLE {
9054 VkStructureType sType;
9056 deUint32 swapchainCount;
9057 const VkPresentTimeGOOGLE* pTimes;
9058 } VkPresentTimesInfoGOOGLE;
9060 typedef VkResult (VKAPI_PTR *PFN_vkGetRefreshCycleDurationGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
9061 typedef VkResult (VKAPI_PTR *PFN_vkGetPastPresentationTimingGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, deUint32* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings);
9063 #ifndef VK_NO_PROTOTYPES
9064 VKAPI_ATTR VkResult VKAPI_CALL vkGetRefreshCycleDurationGOOGLE(
9066 VkSwapchainKHR swapchain,
9067 VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
9069 VKAPI_ATTR VkResult VKAPI_CALL vkGetPastPresentationTimingGOOGLE(
9071 VkSwapchainKHR swapchain,
9072 deUint32* pPresentationTimingCount,
9073 VkPastPresentationTimingGOOGLE* pPresentationTimings);
9077 #define VK_NV_sample_mask_override_coverage 1
9078 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION 1
9079 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME "VK_NV_sample_mask_override_coverage"
9082 #define VK_NV_geometry_shader_passthrough 1
9083 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION 1
9084 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME "VK_NV_geometry_shader_passthrough"
9087 #define VK_NV_viewport_array2 1
9088 #define VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION 1
9089 #define VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME "VK_NV_viewport_array2"
9092 #define VK_NVX_multiview_per_view_attributes 1
9093 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION 1
9094 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME "VK_NVX_multiview_per_view_attributes"
9095 typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
9096 VkStructureType sType;
9098 VkBool32 perViewPositionAllComponents;
9099 } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
9103 #define VK_NV_viewport_swizzle 1
9104 #define VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION 1
9105 #define VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME "VK_NV_viewport_swizzle"
9107 typedef enum VkViewportCoordinateSwizzleNV {
9108 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV = 0,
9109 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV = 1,
9110 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV = 2,
9111 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV = 3,
9112 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV = 4,
9113 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV = 5,
9114 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV = 6,
9115 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV = 7,
9116 VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV = 0x7FFFFFFF
9117 } VkViewportCoordinateSwizzleNV;
9118 typedef VkFlags VkPipelineViewportSwizzleStateCreateFlagsNV;
9119 typedef struct VkViewportSwizzleNV {
9120 VkViewportCoordinateSwizzleNV x;
9121 VkViewportCoordinateSwizzleNV y;
9122 VkViewportCoordinateSwizzleNV z;
9123 VkViewportCoordinateSwizzleNV w;
9124 } VkViewportSwizzleNV;
9126 typedef struct VkPipelineViewportSwizzleStateCreateInfoNV {
9127 VkStructureType sType;
9129 VkPipelineViewportSwizzleStateCreateFlagsNV flags;
9130 deUint32 viewportCount;
9131 const VkViewportSwizzleNV* pViewportSwizzles;
9132 } VkPipelineViewportSwizzleStateCreateInfoNV;
9136 #define VK_EXT_discard_rectangles 1
9137 #define VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION 1
9138 #define VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME "VK_EXT_discard_rectangles"
9140 typedef enum VkDiscardRectangleModeEXT {
9141 VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT = 0,
9142 VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT = 1,
9143 VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
9144 } VkDiscardRectangleModeEXT;
9145 typedef VkFlags VkPipelineDiscardRectangleStateCreateFlagsEXT;
9146 typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
9147 VkStructureType sType;
9149 deUint32 maxDiscardRectangles;
9150 } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
9152 typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT {
9153 VkStructureType sType;
9155 VkPipelineDiscardRectangleStateCreateFlagsEXT flags;
9156 VkDiscardRectangleModeEXT discardRectangleMode;
9157 deUint32 discardRectangleCount;
9158 const VkRect2D* pDiscardRectangles;
9159 } VkPipelineDiscardRectangleStateCreateInfoEXT;
9161 typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEXT)(VkCommandBuffer commandBuffer, deUint32 firstDiscardRectangle, deUint32 discardRectangleCount, const VkRect2D* pDiscardRectangles);
9163 #ifndef VK_NO_PROTOTYPES
9164 VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEXT(
9165 VkCommandBuffer commandBuffer,
9166 deUint32 firstDiscardRectangle,
9167 deUint32 discardRectangleCount,
9168 const VkRect2D* pDiscardRectangles);
9172 #define VK_EXT_conservative_rasterization 1
9173 #define VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION 1
9174 #define VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME "VK_EXT_conservative_rasterization"
9176 typedef enum VkConservativeRasterizationModeEXT {
9177 VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT = 0,
9178 VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT = 1,
9179 VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT = 2,
9180 VK_CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
9181 } VkConservativeRasterizationModeEXT;
9182 typedef VkFlags VkPipelineRasterizationConservativeStateCreateFlagsEXT;
9183 typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT {
9184 VkStructureType sType;
9186 float primitiveOverestimationSize;
9187 float maxExtraPrimitiveOverestimationSize;
9188 float extraPrimitiveOverestimationSizeGranularity;
9189 VkBool32 primitiveUnderestimation;
9190 VkBool32 conservativePointAndLineRasterization;
9191 VkBool32 degenerateTrianglesRasterized;
9192 VkBool32 degenerateLinesRasterized;
9193 VkBool32 fullyCoveredFragmentShaderInputVariable;
9194 VkBool32 conservativeRasterizationPostDepthCoverage;
9195 } VkPhysicalDeviceConservativeRasterizationPropertiesEXT;
9197 typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT {
9198 VkStructureType sType;
9200 VkPipelineRasterizationConservativeStateCreateFlagsEXT flags;
9201 VkConservativeRasterizationModeEXT conservativeRasterizationMode;
9202 float extraPrimitiveOverestimationSize;
9203 } VkPipelineRasterizationConservativeStateCreateInfoEXT;
9207 #define VK_EXT_depth_clip_enable 1
9208 #define VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION 1
9209 #define VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME "VK_EXT_depth_clip_enable"
9210 typedef VkFlags VkPipelineRasterizationDepthClipStateCreateFlagsEXT;
9211 typedef struct VkPhysicalDeviceDepthClipEnableFeaturesEXT {
9212 VkStructureType sType;
9214 VkBool32 depthClipEnable;
9215 } VkPhysicalDeviceDepthClipEnableFeaturesEXT;
9217 typedef struct VkPipelineRasterizationDepthClipStateCreateInfoEXT {
9218 VkStructureType sType;
9220 VkPipelineRasterizationDepthClipStateCreateFlagsEXT flags;
9221 VkBool32 depthClipEnable;
9222 } VkPipelineRasterizationDepthClipStateCreateInfoEXT;
9226 #define VK_EXT_swapchain_colorspace 1
9227 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION 4
9228 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME "VK_EXT_swapchain_colorspace"
9231 #define VK_EXT_hdr_metadata 1
9232 #define VK_EXT_HDR_METADATA_SPEC_VERSION 2
9233 #define VK_EXT_HDR_METADATA_EXTENSION_NAME "VK_EXT_hdr_metadata"
9234 typedef struct VkXYColorEXT {
9239 typedef struct VkHdrMetadataEXT {
9240 VkStructureType sType;
9242 VkXYColorEXT displayPrimaryRed;
9243 VkXYColorEXT displayPrimaryGreen;
9244 VkXYColorEXT displayPrimaryBlue;
9245 VkXYColorEXT whitePoint;
9248 float maxContentLightLevel;
9249 float maxFrameAverageLightLevel;
9252 typedef void (VKAPI_PTR *PFN_vkSetHdrMetadataEXT)(VkDevice device, deUint32 swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata);
9254 #ifndef VK_NO_PROTOTYPES
9255 VKAPI_ATTR void VKAPI_CALL vkSetHdrMetadataEXT(
9257 deUint32 swapchainCount,
9258 const VkSwapchainKHR* pSwapchains,
9259 const VkHdrMetadataEXT* pMetadata);
9263 #define VK_EXT_external_memory_dma_buf 1
9264 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION 1
9265 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME "VK_EXT_external_memory_dma_buf"
9268 #define VK_EXT_queue_family_foreign 1
9269 #define VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION 1
9270 #define VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME "VK_EXT_queue_family_foreign"
9271 #define VK_QUEUE_FAMILY_FOREIGN_EXT (~2U)
9274 #define VK_EXT_debug_utils 1
9275 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugUtilsMessengerEXT)
9276 #define VK_EXT_DEBUG_UTILS_SPEC_VERSION 2
9277 #define VK_EXT_DEBUG_UTILS_EXTENSION_NAME "VK_EXT_debug_utils"
9278 typedef VkFlags VkDebugUtilsMessengerCallbackDataFlagsEXT;
9280 typedef enum VkDebugUtilsMessageSeverityFlagBitsEXT {
9281 VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT = 0x00000001,
9282 VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT = 0x00000010,
9283 VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT = 0x00000100,
9284 VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT = 0x00001000,
9285 VK_DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
9286 } VkDebugUtilsMessageSeverityFlagBitsEXT;
9288 typedef enum VkDebugUtilsMessageTypeFlagBitsEXT {
9289 VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT = 0x00000001,
9290 VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT = 0x00000002,
9291 VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT = 0x00000004,
9292 VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
9293 } VkDebugUtilsMessageTypeFlagBitsEXT;
9294 typedef VkFlags VkDebugUtilsMessageTypeFlagsEXT;
9295 typedef VkFlags VkDebugUtilsMessageSeverityFlagsEXT;
9296 typedef VkFlags VkDebugUtilsMessengerCreateFlagsEXT;
9297 typedef struct VkDebugUtilsLabelEXT {
9298 VkStructureType sType;
9300 const char* pLabelName;
9302 } VkDebugUtilsLabelEXT;
9304 typedef struct VkDebugUtilsObjectNameInfoEXT {
9305 VkStructureType sType;
9307 VkObjectType objectType;
9308 deUint64 objectHandle;
9309 const char* pObjectName;
9310 } VkDebugUtilsObjectNameInfoEXT;
9312 typedef struct VkDebugUtilsMessengerCallbackDataEXT {
9313 VkStructureType sType;
9315 VkDebugUtilsMessengerCallbackDataFlagsEXT flags;
9316 const char* pMessageIdName;
9317 deInt32 messageIdNumber;
9318 const char* pMessage;
9319 deUint32 queueLabelCount;
9320 const VkDebugUtilsLabelEXT* pQueueLabels;
9321 deUint32 cmdBufLabelCount;
9322 const VkDebugUtilsLabelEXT* pCmdBufLabels;
9323 deUint32 objectCount;
9324 const VkDebugUtilsObjectNameInfoEXT* pObjects;
9325 } VkDebugUtilsMessengerCallbackDataEXT;
9327 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)(
9328 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
9329 VkDebugUtilsMessageTypeFlagsEXT messageTypes,
9330 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData,
9333 typedef struct VkDebugUtilsMessengerCreateInfoEXT {
9334 VkStructureType sType;
9336 VkDebugUtilsMessengerCreateFlagsEXT flags;
9337 VkDebugUtilsMessageSeverityFlagsEXT messageSeverity;
9338 VkDebugUtilsMessageTypeFlagsEXT messageType;
9339 PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback;
9341 } VkDebugUtilsMessengerCreateInfoEXT;
9343 typedef struct VkDebugUtilsObjectTagInfoEXT {
9344 VkStructureType sType;
9346 VkObjectType objectType;
9347 deUint64 objectHandle;
9351 } VkDebugUtilsObjectTagInfoEXT;
9353 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectNameEXT)(VkDevice device, const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
9354 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectTagEXT)(VkDevice device, const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
9355 typedef void (VKAPI_PTR *PFN_vkQueueBeginDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
9356 typedef void (VKAPI_PTR *PFN_vkQueueEndDebugUtilsLabelEXT)(VkQueue queue);
9357 typedef void (VKAPI_PTR *PFN_vkQueueInsertDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
9358 typedef void (VKAPI_PTR *PFN_vkCmdBeginDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
9359 typedef void (VKAPI_PTR *PFN_vkCmdEndDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer);
9360 typedef void (VKAPI_PTR *PFN_vkCmdInsertDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
9361 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugUtilsMessengerEXT)(VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugUtilsMessengerEXT* pMessenger);
9362 typedef void (VKAPI_PTR *PFN_vkDestroyDebugUtilsMessengerEXT)(VkInstance instance, VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks* pAllocator);
9363 typedef void (VKAPI_PTR *PFN_vkSubmitDebugUtilsMessageEXT)(VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
9365 #ifndef VK_NO_PROTOTYPES
9366 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectNameEXT(
9368 const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
9370 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectTagEXT(
9372 const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
9374 VKAPI_ATTR void VKAPI_CALL vkQueueBeginDebugUtilsLabelEXT(
9376 const VkDebugUtilsLabelEXT* pLabelInfo);
9378 VKAPI_ATTR void VKAPI_CALL vkQueueEndDebugUtilsLabelEXT(
9381 VKAPI_ATTR void VKAPI_CALL vkQueueInsertDebugUtilsLabelEXT(
9383 const VkDebugUtilsLabelEXT* pLabelInfo);
9385 VKAPI_ATTR void VKAPI_CALL vkCmdBeginDebugUtilsLabelEXT(
9386 VkCommandBuffer commandBuffer,
9387 const VkDebugUtilsLabelEXT* pLabelInfo);
9389 VKAPI_ATTR void VKAPI_CALL vkCmdEndDebugUtilsLabelEXT(
9390 VkCommandBuffer commandBuffer);
9392 VKAPI_ATTR void VKAPI_CALL vkCmdInsertDebugUtilsLabelEXT(
9393 VkCommandBuffer commandBuffer,
9394 const VkDebugUtilsLabelEXT* pLabelInfo);
9396 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugUtilsMessengerEXT(
9397 VkInstance instance,
9398 const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo,
9399 const VkAllocationCallbacks* pAllocator,
9400 VkDebugUtilsMessengerEXT* pMessenger);
9402 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugUtilsMessengerEXT(
9403 VkInstance instance,
9404 VkDebugUtilsMessengerEXT messenger,
9405 const VkAllocationCallbacks* pAllocator);
9407 VKAPI_ATTR void VKAPI_CALL vkSubmitDebugUtilsMessageEXT(
9408 VkInstance instance,
9409 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
9410 VkDebugUtilsMessageTypeFlagsEXT messageTypes,
9411 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
9415 #define VK_EXT_sampler_filter_minmax 1
9416 #define VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION 2
9417 #define VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME "VK_EXT_sampler_filter_minmax"
9418 typedef VkSamplerReductionMode VkSamplerReductionModeEXT;
9420 typedef VkSamplerReductionModeCreateInfo VkSamplerReductionModeCreateInfoEXT;
9422 typedef VkPhysicalDeviceSamplerFilterMinmaxProperties VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
9426 #define VK_AMD_gpu_shader_int16 1
9427 #define VK_AMD_GPU_SHADER_INT16_SPEC_VERSION 2
9428 #define VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME "VK_AMD_gpu_shader_int16"
9431 #define VK_AMD_mixed_attachment_samples 1
9432 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION 1
9433 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME "VK_AMD_mixed_attachment_samples"
9436 #define VK_AMD_shader_fragment_mask 1
9437 #define VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION 1
9438 #define VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME "VK_AMD_shader_fragment_mask"
9441 #define VK_EXT_inline_uniform_block 1
9442 #define VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION 1
9443 #define VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME "VK_EXT_inline_uniform_block"
9444 typedef struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT {
9445 VkStructureType sType;
9447 VkBool32 inlineUniformBlock;
9448 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind;
9449 } VkPhysicalDeviceInlineUniformBlockFeaturesEXT;
9451 typedef struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT {
9452 VkStructureType sType;
9454 deUint32 maxInlineUniformBlockSize;
9455 deUint32 maxPerStageDescriptorInlineUniformBlocks;
9456 deUint32 maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
9457 deUint32 maxDescriptorSetInlineUniformBlocks;
9458 deUint32 maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
9459 } VkPhysicalDeviceInlineUniformBlockPropertiesEXT;
9461 typedef struct VkWriteDescriptorSetInlineUniformBlockEXT {
9462 VkStructureType sType;
9466 } VkWriteDescriptorSetInlineUniformBlockEXT;
9468 typedef struct VkDescriptorPoolInlineUniformBlockCreateInfoEXT {
9469 VkStructureType sType;
9471 deUint32 maxInlineUniformBlockBindings;
9472 } VkDescriptorPoolInlineUniformBlockCreateInfoEXT;
9476 #define VK_EXT_shader_stencil_export 1
9477 #define VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION 1
9478 #define VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME "VK_EXT_shader_stencil_export"
9481 #define VK_EXT_sample_locations 1
9482 #define VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION 1
9483 #define VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME "VK_EXT_sample_locations"
9484 typedef struct VkSampleLocationEXT {
9487 } VkSampleLocationEXT;
9489 typedef struct VkSampleLocationsInfoEXT {
9490 VkStructureType sType;
9492 VkSampleCountFlagBits sampleLocationsPerPixel;
9493 VkExtent2D sampleLocationGridSize;
9494 deUint32 sampleLocationsCount;
9495 const VkSampleLocationEXT* pSampleLocations;
9496 } VkSampleLocationsInfoEXT;
9498 typedef struct VkAttachmentSampleLocationsEXT {
9499 deUint32 attachmentIndex;
9500 VkSampleLocationsInfoEXT sampleLocationsInfo;
9501 } VkAttachmentSampleLocationsEXT;
9503 typedef struct VkSubpassSampleLocationsEXT {
9504 deUint32 subpassIndex;
9505 VkSampleLocationsInfoEXT sampleLocationsInfo;
9506 } VkSubpassSampleLocationsEXT;
9508 typedef struct VkRenderPassSampleLocationsBeginInfoEXT {
9509 VkStructureType sType;
9511 deUint32 attachmentInitialSampleLocationsCount;
9512 const VkAttachmentSampleLocationsEXT* pAttachmentInitialSampleLocations;
9513 deUint32 postSubpassSampleLocationsCount;
9514 const VkSubpassSampleLocationsEXT* pPostSubpassSampleLocations;
9515 } VkRenderPassSampleLocationsBeginInfoEXT;
9517 typedef struct VkPipelineSampleLocationsStateCreateInfoEXT {
9518 VkStructureType sType;
9520 VkBool32 sampleLocationsEnable;
9521 VkSampleLocationsInfoEXT sampleLocationsInfo;
9522 } VkPipelineSampleLocationsStateCreateInfoEXT;
9524 typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT {
9525 VkStructureType sType;
9527 VkSampleCountFlags sampleLocationSampleCounts;
9528 VkExtent2D maxSampleLocationGridSize;
9529 float sampleLocationCoordinateRange[2];
9530 deUint32 sampleLocationSubPixelBits;
9531 VkBool32 variableSampleLocations;
9532 } VkPhysicalDeviceSampleLocationsPropertiesEXT;
9534 typedef struct VkMultisamplePropertiesEXT {
9535 VkStructureType sType;
9537 VkExtent2D maxSampleLocationGridSize;
9538 } VkMultisamplePropertiesEXT;
9540 typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEXT)(VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
9541 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT)(VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT* pMultisampleProperties);
9543 #ifndef VK_NO_PROTOTYPES
9544 VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleLocationsEXT(
9545 VkCommandBuffer commandBuffer,
9546 const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
9548 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMultisamplePropertiesEXT(
9549 VkPhysicalDevice physicalDevice,
9550 VkSampleCountFlagBits samples,
9551 VkMultisamplePropertiesEXT* pMultisampleProperties);
9555 #define VK_EXT_blend_operation_advanced 1
9556 #define VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION 2
9557 #define VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME "VK_EXT_blend_operation_advanced"
9559 typedef enum VkBlendOverlapEXT {
9560 VK_BLEND_OVERLAP_UNCORRELATED_EXT = 0,
9561 VK_BLEND_OVERLAP_DISJOINT_EXT = 1,
9562 VK_BLEND_OVERLAP_CONJOINT_EXT = 2,
9563 VK_BLEND_OVERLAP_MAX_ENUM_EXT = 0x7FFFFFFF
9564 } VkBlendOverlapEXT;
9565 typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
9566 VkStructureType sType;
9568 VkBool32 advancedBlendCoherentOperations;
9569 } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
9571 typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT {
9572 VkStructureType sType;
9574 deUint32 advancedBlendMaxColorAttachments;
9575 VkBool32 advancedBlendIndependentBlend;
9576 VkBool32 advancedBlendNonPremultipliedSrcColor;
9577 VkBool32 advancedBlendNonPremultipliedDstColor;
9578 VkBool32 advancedBlendCorrelatedOverlap;
9579 VkBool32 advancedBlendAllOperations;
9580 } VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT;
9582 typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT {
9583 VkStructureType sType;
9585 VkBool32 srcPremultiplied;
9586 VkBool32 dstPremultiplied;
9587 VkBlendOverlapEXT blendOverlap;
9588 } VkPipelineColorBlendAdvancedStateCreateInfoEXT;
9592 #define VK_NV_fragment_coverage_to_color 1
9593 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION 1
9594 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME "VK_NV_fragment_coverage_to_color"
9595 typedef VkFlags VkPipelineCoverageToColorStateCreateFlagsNV;
9596 typedef struct VkPipelineCoverageToColorStateCreateInfoNV {
9597 VkStructureType sType;
9599 VkPipelineCoverageToColorStateCreateFlagsNV flags;
9600 VkBool32 coverageToColorEnable;
9601 deUint32 coverageToColorLocation;
9602 } VkPipelineCoverageToColorStateCreateInfoNV;
9606 #define VK_NV_framebuffer_mixed_samples 1
9607 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION 1
9608 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME "VK_NV_framebuffer_mixed_samples"
9610 typedef enum VkCoverageModulationModeNV {
9611 VK_COVERAGE_MODULATION_MODE_NONE_NV = 0,
9612 VK_COVERAGE_MODULATION_MODE_RGB_NV = 1,
9613 VK_COVERAGE_MODULATION_MODE_ALPHA_NV = 2,
9614 VK_COVERAGE_MODULATION_MODE_RGBA_NV = 3,
9615 VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV = 0x7FFFFFFF
9616 } VkCoverageModulationModeNV;
9617 typedef VkFlags VkPipelineCoverageModulationStateCreateFlagsNV;
9618 typedef struct VkPipelineCoverageModulationStateCreateInfoNV {
9619 VkStructureType sType;
9621 VkPipelineCoverageModulationStateCreateFlagsNV flags;
9622 VkCoverageModulationModeNV coverageModulationMode;
9623 VkBool32 coverageModulationTableEnable;
9624 deUint32 coverageModulationTableCount;
9625 const float* pCoverageModulationTable;
9626 } VkPipelineCoverageModulationStateCreateInfoNV;
9630 #define VK_NV_fill_rectangle 1
9631 #define VK_NV_FILL_RECTANGLE_SPEC_VERSION 1
9632 #define VK_NV_FILL_RECTANGLE_EXTENSION_NAME "VK_NV_fill_rectangle"
9635 #define VK_NV_shader_sm_builtins 1
9636 #define VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION 1
9637 #define VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME "VK_NV_shader_sm_builtins"
9638 typedef struct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV {
9639 VkStructureType sType;
9641 deUint32 shaderSMCount;
9642 deUint32 shaderWarpsPerSM;
9643 } VkPhysicalDeviceShaderSMBuiltinsPropertiesNV;
9645 typedef struct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV {
9646 VkStructureType sType;
9648 VkBool32 shaderSMBuiltins;
9649 } VkPhysicalDeviceShaderSMBuiltinsFeaturesNV;
9653 #define VK_EXT_post_depth_coverage 1
9654 #define VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION 1
9655 #define VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME "VK_EXT_post_depth_coverage"
9658 #define VK_EXT_image_drm_format_modifier 1
9659 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION 1
9660 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME "VK_EXT_image_drm_format_modifier"
9661 typedef struct VkDrmFormatModifierPropertiesEXT {
9662 deUint64 drmFormatModifier;
9663 deUint32 drmFormatModifierPlaneCount;
9664 VkFormatFeatureFlags drmFormatModifierTilingFeatures;
9665 } VkDrmFormatModifierPropertiesEXT;
9667 typedef struct VkDrmFormatModifierPropertiesListEXT {
9668 VkStructureType sType;
9670 deUint32 drmFormatModifierCount;
9671 VkDrmFormatModifierPropertiesEXT* pDrmFormatModifierProperties;
9672 } VkDrmFormatModifierPropertiesListEXT;
9674 typedef struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT {
9675 VkStructureType sType;
9677 deUint64 drmFormatModifier;
9678 VkSharingMode sharingMode;
9679 deUint32 queueFamilyIndexCount;
9680 const deUint32* pQueueFamilyIndices;
9681 } VkPhysicalDeviceImageDrmFormatModifierInfoEXT;
9683 typedef struct VkImageDrmFormatModifierListCreateInfoEXT {
9684 VkStructureType sType;
9686 deUint32 drmFormatModifierCount;
9687 const deUint64* pDrmFormatModifiers;
9688 } VkImageDrmFormatModifierListCreateInfoEXT;
9690 typedef struct VkImageDrmFormatModifierExplicitCreateInfoEXT {
9691 VkStructureType sType;
9693 deUint64 drmFormatModifier;
9694 deUint32 drmFormatModifierPlaneCount;
9695 const VkSubresourceLayout* pPlaneLayouts;
9696 } VkImageDrmFormatModifierExplicitCreateInfoEXT;
9698 typedef struct VkImageDrmFormatModifierPropertiesEXT {
9699 VkStructureType sType;
9701 deUint64 drmFormatModifier;
9702 } VkImageDrmFormatModifierPropertiesEXT;
9704 typedef VkResult (VKAPI_PTR *PFN_vkGetImageDrmFormatModifierPropertiesEXT)(VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties);
9706 #ifndef VK_NO_PROTOTYPES
9707 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageDrmFormatModifierPropertiesEXT(
9710 VkImageDrmFormatModifierPropertiesEXT* pProperties);
9714 #define VK_EXT_validation_cache 1
9715 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkValidationCacheEXT)
9716 #define VK_EXT_VALIDATION_CACHE_SPEC_VERSION 1
9717 #define VK_EXT_VALIDATION_CACHE_EXTENSION_NAME "VK_EXT_validation_cache"
9719 typedef enum VkValidationCacheHeaderVersionEXT {
9720 VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT = 1,
9721 VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT = 0x7FFFFFFF
9722 } VkValidationCacheHeaderVersionEXT;
9723 typedef VkFlags VkValidationCacheCreateFlagsEXT;
9724 typedef struct VkValidationCacheCreateInfoEXT {
9725 VkStructureType sType;
9727 VkValidationCacheCreateFlagsEXT flags;
9728 deUintptr initialDataSize;
9729 const void* pInitialData;
9730 } VkValidationCacheCreateInfoEXT;
9732 typedef struct VkShaderModuleValidationCacheCreateInfoEXT {
9733 VkStructureType sType;
9735 VkValidationCacheEXT validationCache;
9736 } VkShaderModuleValidationCacheCreateInfoEXT;
9738 typedef VkResult (VKAPI_PTR *PFN_vkCreateValidationCacheEXT)(VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache);
9739 typedef void (VKAPI_PTR *PFN_vkDestroyValidationCacheEXT)(VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator);
9740 typedef VkResult (VKAPI_PTR *PFN_vkMergeValidationCachesEXT)(VkDevice device, VkValidationCacheEXT dstCache, deUint32 srcCacheCount, const VkValidationCacheEXT* pSrcCaches);
9741 typedef VkResult (VKAPI_PTR *PFN_vkGetValidationCacheDataEXT)(VkDevice device, VkValidationCacheEXT validationCache, deUintptr* pDataSize, void* pData);
9743 #ifndef VK_NO_PROTOTYPES
9744 VKAPI_ATTR VkResult VKAPI_CALL vkCreateValidationCacheEXT(
9746 const VkValidationCacheCreateInfoEXT* pCreateInfo,
9747 const VkAllocationCallbacks* pAllocator,
9748 VkValidationCacheEXT* pValidationCache);
9750 VKAPI_ATTR void VKAPI_CALL vkDestroyValidationCacheEXT(
9752 VkValidationCacheEXT validationCache,
9753 const VkAllocationCallbacks* pAllocator);
9755 VKAPI_ATTR VkResult VKAPI_CALL vkMergeValidationCachesEXT(
9757 VkValidationCacheEXT dstCache,
9758 deUint32 srcCacheCount,
9759 const VkValidationCacheEXT* pSrcCaches);
9761 VKAPI_ATTR VkResult VKAPI_CALL vkGetValidationCacheDataEXT(
9763 VkValidationCacheEXT validationCache,
9764 deUintptr* pDataSize,
9769 #define VK_EXT_descriptor_indexing 1
9770 #define VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION 2
9771 #define VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME "VK_EXT_descriptor_indexing"
9772 typedef VkDescriptorBindingFlagBits VkDescriptorBindingFlagBitsEXT;
9774 typedef VkDescriptorBindingFlags VkDescriptorBindingFlagsEXT;
9776 typedef VkDescriptorSetLayoutBindingFlagsCreateInfo VkDescriptorSetLayoutBindingFlagsCreateInfoEXT;
9778 typedef VkPhysicalDeviceDescriptorIndexingFeatures VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
9780 typedef VkPhysicalDeviceDescriptorIndexingProperties VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
9782 typedef VkDescriptorSetVariableDescriptorCountAllocateInfo VkDescriptorSetVariableDescriptorCountAllocateInfoEXT;
9784 typedef VkDescriptorSetVariableDescriptorCountLayoutSupport VkDescriptorSetVariableDescriptorCountLayoutSupportEXT;
9788 #define VK_EXT_shader_viewport_index_layer 1
9789 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION 1
9790 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME "VK_EXT_shader_viewport_index_layer"
9793 #define VK_NV_shading_rate_image 1
9794 #define VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION 3
9795 #define VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME "VK_NV_shading_rate_image"
9797 typedef enum VkShadingRatePaletteEntryNV {
9798 VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV = 0,
9799 VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV = 1,
9800 VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV = 2,
9801 VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV = 3,
9802 VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV = 4,
9803 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV = 5,
9804 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV = 6,
9805 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV = 7,
9806 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV = 8,
9807 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV = 9,
9808 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV = 10,
9809 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV = 11,
9810 VK_SHADING_RATE_PALETTE_ENTRY_MAX_ENUM_NV = 0x7FFFFFFF
9811 } VkShadingRatePaletteEntryNV;
9813 typedef enum VkCoarseSampleOrderTypeNV {
9814 VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV = 0,
9815 VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV = 1,
9816 VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV = 2,
9817 VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV = 3,
9818 VK_COARSE_SAMPLE_ORDER_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
9819 } VkCoarseSampleOrderTypeNV;
9820 typedef struct VkShadingRatePaletteNV {
9821 deUint32 shadingRatePaletteEntryCount;
9822 const VkShadingRatePaletteEntryNV* pShadingRatePaletteEntries;
9823 } VkShadingRatePaletteNV;
9825 typedef struct VkPipelineViewportShadingRateImageStateCreateInfoNV {
9826 VkStructureType sType;
9828 VkBool32 shadingRateImageEnable;
9829 deUint32 viewportCount;
9830 const VkShadingRatePaletteNV* pShadingRatePalettes;
9831 } VkPipelineViewportShadingRateImageStateCreateInfoNV;
9833 typedef struct VkPhysicalDeviceShadingRateImageFeaturesNV {
9834 VkStructureType sType;
9836 VkBool32 shadingRateImage;
9837 VkBool32 shadingRateCoarseSampleOrder;
9838 } VkPhysicalDeviceShadingRateImageFeaturesNV;
9840 typedef struct VkPhysicalDeviceShadingRateImagePropertiesNV {
9841 VkStructureType sType;
9843 VkExtent2D shadingRateTexelSize;
9844 deUint32 shadingRatePaletteSize;
9845 deUint32 shadingRateMaxCoarseSamples;
9846 } VkPhysicalDeviceShadingRateImagePropertiesNV;
9848 typedef struct VkCoarseSampleLocationNV {
9852 } VkCoarseSampleLocationNV;
9854 typedef struct VkCoarseSampleOrderCustomNV {
9855 VkShadingRatePaletteEntryNV shadingRate;
9856 deUint32 sampleCount;
9857 deUint32 sampleLocationCount;
9858 const VkCoarseSampleLocationNV* pSampleLocations;
9859 } VkCoarseSampleOrderCustomNV;
9861 typedef struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV {
9862 VkStructureType sType;
9864 VkCoarseSampleOrderTypeNV sampleOrderType;
9865 deUint32 customSampleOrderCount;
9866 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders;
9867 } VkPipelineViewportCoarseSampleOrderStateCreateInfoNV;
9869 typedef void (VKAPI_PTR *PFN_vkCmdBindShadingRateImageNV)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout);
9870 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportShadingRatePaletteNV)(VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkShadingRatePaletteNV* pShadingRatePalettes);
9871 typedef void (VKAPI_PTR *PFN_vkCmdSetCoarseSampleOrderNV)(VkCommandBuffer commandBuffer, VkCoarseSampleOrderTypeNV sampleOrderType, deUint32 customSampleOrderCount, const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
9873 #ifndef VK_NO_PROTOTYPES
9874 VKAPI_ATTR void VKAPI_CALL vkCmdBindShadingRateImageNV(
9875 VkCommandBuffer commandBuffer,
9876 VkImageView imageView,
9877 VkImageLayout imageLayout);
9879 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportShadingRatePaletteNV(
9880 VkCommandBuffer commandBuffer,
9881 deUint32 firstViewport,
9882 deUint32 viewportCount,
9883 const VkShadingRatePaletteNV* pShadingRatePalettes);
9885 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoarseSampleOrderNV(
9886 VkCommandBuffer commandBuffer,
9887 VkCoarseSampleOrderTypeNV sampleOrderType,
9888 deUint32 customSampleOrderCount,
9889 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
9893 #define VK_NV_ray_tracing 1
9894 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureNV)
9895 #define VK_NV_RAY_TRACING_SPEC_VERSION 3
9896 #define VK_NV_RAY_TRACING_EXTENSION_NAME "VK_NV_ray_tracing"
9897 #define VK_SHADER_UNUSED_KHR (~0U)
9898 #define VK_SHADER_UNUSED_NV VK_SHADER_UNUSED_KHR
9900 typedef enum VkRayTracingShaderGroupTypeKHR {
9901 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR = 0,
9902 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR = 1,
9903 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR = 2,
9904 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR,
9905 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR,
9906 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR,
9907 VK_RAY_TRACING_SHADER_GROUP_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
9908 } VkRayTracingShaderGroupTypeKHR;
9909 typedef VkRayTracingShaderGroupTypeKHR VkRayTracingShaderGroupTypeNV;
9912 typedef enum VkGeometryTypeKHR {
9913 VK_GEOMETRY_TYPE_TRIANGLES_KHR = 0,
9914 VK_GEOMETRY_TYPE_AABBS_KHR = 1,
9915 VK_GEOMETRY_TYPE_INSTANCES_KHR = 2,
9916 VK_GEOMETRY_TYPE_TRIANGLES_NV = VK_GEOMETRY_TYPE_TRIANGLES_KHR,
9917 VK_GEOMETRY_TYPE_AABBS_NV = VK_GEOMETRY_TYPE_AABBS_KHR,
9918 VK_GEOMETRY_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
9919 } VkGeometryTypeKHR;
9920 typedef VkGeometryTypeKHR VkGeometryTypeNV;
9923 typedef enum VkAccelerationStructureTypeKHR {
9924 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR = 0,
9925 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR = 1,
9926 VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR = 2,
9927 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR,
9928 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR,
9929 VK_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
9930 } VkAccelerationStructureTypeKHR;
9931 typedef VkAccelerationStructureTypeKHR VkAccelerationStructureTypeNV;
9934 typedef enum VkCopyAccelerationStructureModeKHR {
9935 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR = 0,
9936 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR = 1,
9937 VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR = 2,
9938 VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR = 3,
9939 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR,
9940 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR,
9941 VK_COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
9942 } VkCopyAccelerationStructureModeKHR;
9943 typedef VkCopyAccelerationStructureModeKHR VkCopyAccelerationStructureModeNV;
9946 typedef enum VkAccelerationStructureMemoryRequirementsTypeNV {
9947 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV = 0,
9948 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV = 1,
9949 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV = 2,
9950 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
9951 } VkAccelerationStructureMemoryRequirementsTypeNV;
9953 typedef enum VkGeometryFlagBitsKHR {
9954 VK_GEOMETRY_OPAQUE_BIT_KHR = 0x00000001,
9955 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR = 0x00000002,
9956 VK_GEOMETRY_OPAQUE_BIT_NV = VK_GEOMETRY_OPAQUE_BIT_KHR,
9957 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV = VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR,
9958 VK_GEOMETRY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
9959 } VkGeometryFlagBitsKHR;
9960 typedef VkFlags VkGeometryFlagsKHR;
9961 typedef VkGeometryFlagsKHR VkGeometryFlagsNV;
9963 typedef VkGeometryFlagBitsKHR VkGeometryFlagBitsNV;
9966 typedef enum VkGeometryInstanceFlagBitsKHR {
9967 VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = 0x00000001,
9968 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = 0x00000002,
9969 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 0x00000004,
9970 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 0x00000008,
9971 VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR,
9972 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR,
9973 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR,
9974 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR,
9975 VK_GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
9976 } VkGeometryInstanceFlagBitsKHR;
9977 typedef VkFlags VkGeometryInstanceFlagsKHR;
9978 typedef VkGeometryInstanceFlagsKHR VkGeometryInstanceFlagsNV;
9980 typedef VkGeometryInstanceFlagBitsKHR VkGeometryInstanceFlagBitsNV;
9983 typedef enum VkBuildAccelerationStructureFlagBitsKHR {
9984 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR = 0x00000001,
9985 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR = 0x00000002,
9986 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR = 0x00000004,
9987 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR = 0x00000008,
9988 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR = 0x00000010,
9989 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR,
9990 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR,
9991 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR,
9992 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR,
9993 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR,
9994 VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
9995 } VkBuildAccelerationStructureFlagBitsKHR;
9996 typedef VkFlags VkBuildAccelerationStructureFlagsKHR;
9997 typedef VkBuildAccelerationStructureFlagsKHR VkBuildAccelerationStructureFlagsNV;
9999 typedef VkBuildAccelerationStructureFlagBitsKHR VkBuildAccelerationStructureFlagBitsNV;
10001 typedef struct VkRayTracingShaderGroupCreateInfoNV {
10002 VkStructureType sType;
10004 VkRayTracingShaderGroupTypeKHR type;
10005 deUint32 generalShader;
10006 deUint32 closestHitShader;
10007 deUint32 anyHitShader;
10008 deUint32 intersectionShader;
10009 } VkRayTracingShaderGroupCreateInfoNV;
10011 typedef struct VkRayTracingPipelineCreateInfoNV {
10012 VkStructureType sType;
10014 VkPipelineCreateFlags flags;
10015 deUint32 stageCount;
10016 const VkPipelineShaderStageCreateInfo* pStages;
10017 deUint32 groupCount;
10018 const VkRayTracingShaderGroupCreateInfoNV* pGroups;
10019 deUint32 maxRecursionDepth;
10020 VkPipelineLayout layout;
10021 VkPipeline basePipelineHandle;
10022 deInt32 basePipelineIndex;
10023 } VkRayTracingPipelineCreateInfoNV;
10025 typedef struct VkGeometryTrianglesNV {
10026 VkStructureType sType;
10028 VkBuffer vertexData;
10029 VkDeviceSize vertexOffset;
10030 deUint32 vertexCount;
10031 VkDeviceSize vertexStride;
10032 VkFormat vertexFormat;
10033 VkBuffer indexData;
10034 VkDeviceSize indexOffset;
10035 deUint32 indexCount;
10036 VkIndexType indexType;
10037 VkBuffer transformData;
10038 VkDeviceSize transformOffset;
10039 } VkGeometryTrianglesNV;
10041 typedef struct VkGeometryAABBNV {
10042 VkStructureType sType;
10047 VkDeviceSize offset;
10048 } VkGeometryAABBNV;
10050 typedef struct VkGeometryDataNV {
10051 VkGeometryTrianglesNV triangles;
10052 VkGeometryAABBNV aabbs;
10053 } VkGeometryDataNV;
10055 typedef struct VkGeometryNV {
10056 VkStructureType sType;
10058 VkGeometryTypeKHR geometryType;
10059 VkGeometryDataNV geometry;
10060 VkGeometryFlagsKHR flags;
10063 typedef struct VkAccelerationStructureInfoNV {
10064 VkStructureType sType;
10066 VkAccelerationStructureTypeNV type;
10067 VkBuildAccelerationStructureFlagsNV flags;
10068 deUint32 instanceCount;
10069 deUint32 geometryCount;
10070 const VkGeometryNV* pGeometries;
10071 } VkAccelerationStructureInfoNV;
10073 typedef struct VkAccelerationStructureCreateInfoNV {
10074 VkStructureType sType;
10076 VkDeviceSize compactedSize;
10077 VkAccelerationStructureInfoNV info;
10078 } VkAccelerationStructureCreateInfoNV;
10080 typedef struct VkBindAccelerationStructureMemoryInfoNV {
10081 VkStructureType sType;
10083 VkAccelerationStructureNV accelerationStructure;
10084 VkDeviceMemory memory;
10085 VkDeviceSize memoryOffset;
10086 deUint32 deviceIndexCount;
10087 const deUint32* pDeviceIndices;
10088 } VkBindAccelerationStructureMemoryInfoNV;
10090 typedef struct VkWriteDescriptorSetAccelerationStructureNV {
10091 VkStructureType sType;
10093 deUint32 accelerationStructureCount;
10094 const VkAccelerationStructureNV* pAccelerationStructures;
10095 } VkWriteDescriptorSetAccelerationStructureNV;
10097 typedef struct VkAccelerationStructureMemoryRequirementsInfoNV {
10098 VkStructureType sType;
10100 VkAccelerationStructureMemoryRequirementsTypeNV type;
10101 VkAccelerationStructureNV accelerationStructure;
10102 } VkAccelerationStructureMemoryRequirementsInfoNV;
10104 typedef struct VkPhysicalDeviceRayTracingPropertiesNV {
10105 VkStructureType sType;
10107 deUint32 shaderGroupHandleSize;
10108 deUint32 maxRecursionDepth;
10109 deUint32 maxShaderGroupStride;
10110 deUint32 shaderGroupBaseAlignment;
10111 deUint64 maxGeometryCount;
10112 deUint64 maxInstanceCount;
10113 deUint64 maxTriangleCount;
10114 deUint32 maxDescriptorSetAccelerationStructures;
10115 } VkPhysicalDeviceRayTracingPropertiesNV;
10117 typedef struct VkTransformMatrixKHR {
10118 float matrix[3][4];
10119 } VkTransformMatrixKHR;
10121 typedef VkTransformMatrixKHR VkTransformMatrixNV;
10123 typedef struct VkAabbPositionsKHR {
10130 } VkAabbPositionsKHR;
10132 typedef VkAabbPositionsKHR VkAabbPositionsNV;
10134 typedef struct VkAccelerationStructureInstanceKHR {
10135 VkTransformMatrixKHR transform;
10136 deUint32 instanceCustomIndex:24;
10138 deUint32 instanceShaderBindingTableRecordOffset:24;
10139 VkGeometryInstanceFlagsKHR flags:8;
10140 deUint64 accelerationStructureReference;
10141 } VkAccelerationStructureInstanceKHR;
10143 typedef VkAccelerationStructureInstanceKHR VkAccelerationStructureInstanceNV;
10145 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureNV)(VkDevice device, const VkAccelerationStructureCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureNV* pAccelerationStructure);
10146 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, const VkAllocationCallbacks* pAllocator);
10147 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureMemoryRequirementsNV)(VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements);
10148 typedef VkResult (VKAPI_PTR *PFN_vkBindAccelerationStructureMemoryNV)(VkDevice device, deUint32 bindInfoCount, const VkBindAccelerationStructureMemoryInfoNV* pBindInfos);
10149 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);
10150 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureNV)(VkCommandBuffer commandBuffer, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkCopyAccelerationStructureModeKHR mode);
10151 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, deUint32 width, deUint32 height, deUint32 depth);
10152 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesNV)(VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkRayTracingPipelineCreateInfoNV* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
10153 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, deUint32 firstGroup, deUint32 groupCount, deUintptr dataSize, void* pData);
10154 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesNV)(VkDevice device, VkPipeline pipeline, deUint32 firstGroup, deUint32 groupCount, deUintptr dataSize, void* pData);
10155 typedef VkResult (VKAPI_PTR *PFN_vkGetAccelerationStructureHandleNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, deUintptr dataSize, void* pData);
10156 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesNV)(VkCommandBuffer commandBuffer, deUint32 accelerationStructureCount, const VkAccelerationStructureNV* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, deUint32 firstQuery);
10157 typedef VkResult (VKAPI_PTR *PFN_vkCompileDeferredNV)(VkDevice device, VkPipeline pipeline, deUint32 shader);
10159 #ifndef VK_NO_PROTOTYPES
10160 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureNV(
10162 const VkAccelerationStructureCreateInfoNV* pCreateInfo,
10163 const VkAllocationCallbacks* pAllocator,
10164 VkAccelerationStructureNV* pAccelerationStructure);
10166 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureNV(
10168 VkAccelerationStructureNV accelerationStructure,
10169 const VkAllocationCallbacks* pAllocator);
10171 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureMemoryRequirementsNV(
10173 const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo,
10174 VkMemoryRequirements2KHR* pMemoryRequirements);
10176 VKAPI_ATTR VkResult VKAPI_CALL vkBindAccelerationStructureMemoryNV(
10178 deUint32 bindInfoCount,
10179 const VkBindAccelerationStructureMemoryInfoNV* pBindInfos);
10181 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructureNV(
10182 VkCommandBuffer commandBuffer,
10183 const VkAccelerationStructureInfoNV* pInfo,
10184 VkBuffer instanceData,
10185 VkDeviceSize instanceOffset,
10187 VkAccelerationStructureNV dst,
10188 VkAccelerationStructureNV src,
10190 VkDeviceSize scratchOffset);
10192 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureNV(
10193 VkCommandBuffer commandBuffer,
10194 VkAccelerationStructureNV dst,
10195 VkAccelerationStructureNV src,
10196 VkCopyAccelerationStructureModeKHR mode);
10198 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysNV(
10199 VkCommandBuffer commandBuffer,
10200 VkBuffer raygenShaderBindingTableBuffer,
10201 VkDeviceSize raygenShaderBindingOffset,
10202 VkBuffer missShaderBindingTableBuffer,
10203 VkDeviceSize missShaderBindingOffset,
10204 VkDeviceSize missShaderBindingStride,
10205 VkBuffer hitShaderBindingTableBuffer,
10206 VkDeviceSize hitShaderBindingOffset,
10207 VkDeviceSize hitShaderBindingStride,
10208 VkBuffer callableShaderBindingTableBuffer,
10209 VkDeviceSize callableShaderBindingOffset,
10210 VkDeviceSize callableShaderBindingStride,
10215 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesNV(
10217 VkPipelineCache pipelineCache,
10218 deUint32 createInfoCount,
10219 const VkRayTracingPipelineCreateInfoNV* pCreateInfos,
10220 const VkAllocationCallbacks* pAllocator,
10221 VkPipeline* pPipelines);
10223 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesKHR(
10225 VkPipeline pipeline,
10226 deUint32 firstGroup,
10227 deUint32 groupCount,
10228 deUintptr dataSize,
10231 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesNV(
10233 VkPipeline pipeline,
10234 deUint32 firstGroup,
10235 deUint32 groupCount,
10236 deUintptr dataSize,
10239 VKAPI_ATTR VkResult VKAPI_CALL vkGetAccelerationStructureHandleNV(
10241 VkAccelerationStructureNV accelerationStructure,
10242 deUintptr dataSize,
10245 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesNV(
10246 VkCommandBuffer commandBuffer,
10247 deUint32 accelerationStructureCount,
10248 const VkAccelerationStructureNV* pAccelerationStructures,
10249 VkQueryType queryType,
10250 VkQueryPool queryPool,
10251 deUint32 firstQuery);
10253 VKAPI_ATTR VkResult VKAPI_CALL vkCompileDeferredNV(
10255 VkPipeline pipeline,
10260 #define VK_NV_representative_fragment_test 1
10261 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION 2
10262 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME "VK_NV_representative_fragment_test"
10263 typedef struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV {
10264 VkStructureType sType;
10266 VkBool32 representativeFragmentTest;
10267 } VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV;
10269 typedef struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV {
10270 VkStructureType sType;
10272 VkBool32 representativeFragmentTestEnable;
10273 } VkPipelineRepresentativeFragmentTestStateCreateInfoNV;
10277 #define VK_EXT_filter_cubic 1
10278 #define VK_EXT_FILTER_CUBIC_SPEC_VERSION 3
10279 #define VK_EXT_FILTER_CUBIC_EXTENSION_NAME "VK_EXT_filter_cubic"
10280 typedef struct VkPhysicalDeviceImageViewImageFormatInfoEXT {
10281 VkStructureType sType;
10283 VkImageViewType imageViewType;
10284 } VkPhysicalDeviceImageViewImageFormatInfoEXT;
10286 typedef struct VkFilterCubicImageViewImageFormatPropertiesEXT {
10287 VkStructureType sType;
10289 VkBool32 filterCubic;
10290 VkBool32 filterCubicMinmax;
10291 } VkFilterCubicImageViewImageFormatPropertiesEXT;
10295 #define VK_QCOM_render_pass_shader_resolve 1
10296 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_SPEC_VERSION 4
10297 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_EXTENSION_NAME "VK_QCOM_render_pass_shader_resolve"
10300 #define VK_EXT_global_priority 1
10301 #define VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION 2
10302 #define VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME "VK_EXT_global_priority"
10304 typedef enum VkQueueGlobalPriorityEXT {
10305 VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT = 128,
10306 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT = 256,
10307 VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT = 512,
10308 VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT = 1024,
10309 VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_EXT = 0x7FFFFFFF
10310 } VkQueueGlobalPriorityEXT;
10311 typedef struct VkDeviceQueueGlobalPriorityCreateInfoEXT {
10312 VkStructureType sType;
10314 VkQueueGlobalPriorityEXT globalPriority;
10315 } VkDeviceQueueGlobalPriorityCreateInfoEXT;
10319 #define VK_EXT_external_memory_host 1
10320 #define VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION 1
10321 #define VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME "VK_EXT_external_memory_host"
10322 typedef struct VkImportMemoryHostPointerInfoEXT {
10323 VkStructureType sType;
10325 VkExternalMemoryHandleTypeFlagBits handleType;
10326 void* pHostPointer;
10327 } VkImportMemoryHostPointerInfoEXT;
10329 typedef struct VkMemoryHostPointerPropertiesEXT {
10330 VkStructureType sType;
10332 deUint32 memoryTypeBits;
10333 } VkMemoryHostPointerPropertiesEXT;
10335 typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
10336 VkStructureType sType;
10338 VkDeviceSize minImportedHostPointerAlignment;
10339 } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
10341 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryHostPointerPropertiesEXT)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
10343 #ifndef VK_NO_PROTOTYPES
10344 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryHostPointerPropertiesEXT(
10346 VkExternalMemoryHandleTypeFlagBits handleType,
10347 const void* pHostPointer,
10348 VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
10352 #define VK_AMD_buffer_marker 1
10353 #define VK_AMD_BUFFER_MARKER_SPEC_VERSION 1
10354 #define VK_AMD_BUFFER_MARKER_EXTENSION_NAME "VK_AMD_buffer_marker"
10355 typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarkerAMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, deUint32 marker);
10357 #ifndef VK_NO_PROTOTYPES
10358 VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarkerAMD(
10359 VkCommandBuffer commandBuffer,
10360 VkPipelineStageFlagBits pipelineStage,
10361 VkBuffer dstBuffer,
10362 VkDeviceSize dstOffset,
10367 #define VK_AMD_pipeline_compiler_control 1
10368 #define VK_AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION 1
10369 #define VK_AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME "VK_AMD_pipeline_compiler_control"
10371 typedef enum VkPipelineCompilerControlFlagBitsAMD {
10372 VK_PIPELINE_COMPILER_CONTROL_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF
10373 } VkPipelineCompilerControlFlagBitsAMD;
10374 typedef VkFlags VkPipelineCompilerControlFlagsAMD;
10375 typedef struct VkPipelineCompilerControlCreateInfoAMD {
10376 VkStructureType sType;
10378 VkPipelineCompilerControlFlagsAMD compilerControlFlags;
10379 } VkPipelineCompilerControlCreateInfoAMD;
10383 #define VK_EXT_calibrated_timestamps 1
10384 #define VK_EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION 1
10385 #define VK_EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME "VK_EXT_calibrated_timestamps"
10387 typedef enum VkTimeDomainEXT {
10388 VK_TIME_DOMAIN_DEVICE_EXT = 0,
10389 VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT = 1,
10390 VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT = 2,
10391 VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT = 3,
10392 VK_TIME_DOMAIN_MAX_ENUM_EXT = 0x7FFFFFFF
10394 typedef struct VkCalibratedTimestampInfoEXT {
10395 VkStructureType sType;
10397 VkTimeDomainEXT timeDomain;
10398 } VkCalibratedTimestampInfoEXT;
10400 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT)(VkPhysicalDevice physicalDevice, deUint32* pTimeDomainCount, VkTimeDomainEXT* pTimeDomains);
10401 typedef VkResult (VKAPI_PTR *PFN_vkGetCalibratedTimestampsEXT)(VkDevice device, deUint32 timestampCount, const VkCalibratedTimestampInfoEXT* pTimestampInfos, deUint64* pTimestamps, deUint64* pMaxDeviation);
10403 #ifndef VK_NO_PROTOTYPES
10404 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(
10405 VkPhysicalDevice physicalDevice,
10406 deUint32* pTimeDomainCount,
10407 VkTimeDomainEXT* pTimeDomains);
10409 VKAPI_ATTR VkResult VKAPI_CALL vkGetCalibratedTimestampsEXT(
10411 deUint32 timestampCount,
10412 const VkCalibratedTimestampInfoEXT* pTimestampInfos,
10413 deUint64* pTimestamps,
10414 deUint64* pMaxDeviation);
10418 #define VK_AMD_shader_core_properties 1
10419 #define VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION 2
10420 #define VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_AMD_shader_core_properties"
10421 typedef struct VkPhysicalDeviceShaderCorePropertiesAMD {
10422 VkStructureType sType;
10424 deUint32 shaderEngineCount;
10425 deUint32 shaderArraysPerEngineCount;
10426 deUint32 computeUnitsPerShaderArray;
10427 deUint32 simdPerComputeUnit;
10428 deUint32 wavefrontsPerSimd;
10429 deUint32 wavefrontSize;
10430 deUint32 sgprsPerSimd;
10431 deUint32 minSgprAllocation;
10432 deUint32 maxSgprAllocation;
10433 deUint32 sgprAllocationGranularity;
10434 deUint32 vgprsPerSimd;
10435 deUint32 minVgprAllocation;
10436 deUint32 maxVgprAllocation;
10437 deUint32 vgprAllocationGranularity;
10438 } VkPhysicalDeviceShaderCorePropertiesAMD;
10442 #define VK_AMD_memory_overallocation_behavior 1
10443 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION 1
10444 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME "VK_AMD_memory_overallocation_behavior"
10446 typedef enum VkMemoryOverallocationBehaviorAMD {
10447 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD = 0,
10448 VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD = 1,
10449 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD = 2,
10450 VK_MEMORY_OVERALLOCATION_BEHAVIOR_MAX_ENUM_AMD = 0x7FFFFFFF
10451 } VkMemoryOverallocationBehaviorAMD;
10452 typedef struct VkDeviceMemoryOverallocationCreateInfoAMD {
10453 VkStructureType sType;
10455 VkMemoryOverallocationBehaviorAMD overallocationBehavior;
10456 } VkDeviceMemoryOverallocationCreateInfoAMD;
10460 #define VK_EXT_vertex_attribute_divisor 1
10461 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 3
10462 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_EXT_vertex_attribute_divisor"
10463 typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
10464 VkStructureType sType;
10466 deUint32 maxVertexAttribDivisor;
10467 } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
10469 typedef struct VkVertexInputBindingDivisorDescriptionEXT {
10472 } VkVertexInputBindingDivisorDescriptionEXT;
10474 typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT {
10475 VkStructureType sType;
10477 deUint32 vertexBindingDivisorCount;
10478 const VkVertexInputBindingDivisorDescriptionEXT* pVertexBindingDivisors;
10479 } VkPipelineVertexInputDivisorStateCreateInfoEXT;
10481 typedef struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT {
10482 VkStructureType sType;
10484 VkBool32 vertexAttributeInstanceRateDivisor;
10485 VkBool32 vertexAttributeInstanceRateZeroDivisor;
10486 } VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT;
10490 #define VK_EXT_pipeline_creation_feedback 1
10491 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION 1
10492 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME "VK_EXT_pipeline_creation_feedback"
10494 typedef enum VkPipelineCreationFeedbackFlagBitsEXT {
10495 VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = 0x00000001,
10496 VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = 0x00000002,
10497 VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = 0x00000004,
10498 VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
10499 } VkPipelineCreationFeedbackFlagBitsEXT;
10500 typedef VkFlags VkPipelineCreationFeedbackFlagsEXT;
10501 typedef struct VkPipelineCreationFeedbackEXT {
10502 VkPipelineCreationFeedbackFlagsEXT flags;
10504 } VkPipelineCreationFeedbackEXT;
10506 typedef struct VkPipelineCreationFeedbackCreateInfoEXT {
10507 VkStructureType sType;
10509 VkPipelineCreationFeedbackEXT* pPipelineCreationFeedback;
10510 deUint32 pipelineStageCreationFeedbackCount;
10511 VkPipelineCreationFeedbackEXT* pPipelineStageCreationFeedbacks;
10512 } VkPipelineCreationFeedbackCreateInfoEXT;
10516 #define VK_NV_shader_subgroup_partitioned 1
10517 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION 1
10518 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME "VK_NV_shader_subgroup_partitioned"
10521 #define VK_NV_compute_shader_derivatives 1
10522 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION 1
10523 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME "VK_NV_compute_shader_derivatives"
10524 typedef struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV {
10525 VkStructureType sType;
10527 VkBool32 computeDerivativeGroupQuads;
10528 VkBool32 computeDerivativeGroupLinear;
10529 } VkPhysicalDeviceComputeShaderDerivativesFeaturesNV;
10533 #define VK_NV_mesh_shader 1
10534 #define VK_NV_MESH_SHADER_SPEC_VERSION 1
10535 #define VK_NV_MESH_SHADER_EXTENSION_NAME "VK_NV_mesh_shader"
10536 typedef struct VkPhysicalDeviceMeshShaderFeaturesNV {
10537 VkStructureType sType;
10539 VkBool32 taskShader;
10540 VkBool32 meshShader;
10541 } VkPhysicalDeviceMeshShaderFeaturesNV;
10543 typedef struct VkPhysicalDeviceMeshShaderPropertiesNV {
10544 VkStructureType sType;
10546 deUint32 maxDrawMeshTasksCount;
10547 deUint32 maxTaskWorkGroupInvocations;
10548 deUint32 maxTaskWorkGroupSize[3];
10549 deUint32 maxTaskTotalMemorySize;
10550 deUint32 maxTaskOutputCount;
10551 deUint32 maxMeshWorkGroupInvocations;
10552 deUint32 maxMeshWorkGroupSize[3];
10553 deUint32 maxMeshTotalMemorySize;
10554 deUint32 maxMeshOutputVertices;
10555 deUint32 maxMeshOutputPrimitives;
10556 deUint32 maxMeshMultiviewViewCount;
10557 deUint32 meshOutputPerVertexGranularity;
10558 deUint32 meshOutputPerPrimitiveGranularity;
10559 } VkPhysicalDeviceMeshShaderPropertiesNV;
10561 typedef struct VkDrawMeshTasksIndirectCommandNV {
10562 deUint32 taskCount;
10563 deUint32 firstTask;
10564 } VkDrawMeshTasksIndirectCommandNV;
10566 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksNV)(VkCommandBuffer commandBuffer, deUint32 taskCount, deUint32 firstTask);
10567 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride);
10568 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectCountNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
10570 #ifndef VK_NO_PROTOTYPES
10571 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksNV(
10572 VkCommandBuffer commandBuffer,
10573 deUint32 taskCount,
10574 deUint32 firstTask);
10576 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectNV(
10577 VkCommandBuffer commandBuffer,
10579 VkDeviceSize offset,
10580 deUint32 drawCount,
10583 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectCountNV(
10584 VkCommandBuffer commandBuffer,
10586 VkDeviceSize offset,
10587 VkBuffer countBuffer,
10588 VkDeviceSize countBufferOffset,
10589 deUint32 maxDrawCount,
10594 #define VK_NV_fragment_shader_barycentric 1
10595 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1
10596 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_NV_fragment_shader_barycentric"
10597 typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV {
10598 VkStructureType sType;
10600 VkBool32 fragmentShaderBarycentric;
10601 } VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV;
10605 #define VK_NV_shader_image_footprint 1
10606 #define VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION 2
10607 #define VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME "VK_NV_shader_image_footprint"
10608 typedef struct VkPhysicalDeviceShaderImageFootprintFeaturesNV {
10609 VkStructureType sType;
10611 VkBool32 imageFootprint;
10612 } VkPhysicalDeviceShaderImageFootprintFeaturesNV;
10616 #define VK_NV_scissor_exclusive 1
10617 #define VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION 1
10618 #define VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME "VK_NV_scissor_exclusive"
10619 typedef struct VkPipelineViewportExclusiveScissorStateCreateInfoNV {
10620 VkStructureType sType;
10622 deUint32 exclusiveScissorCount;
10623 const VkRect2D* pExclusiveScissors;
10624 } VkPipelineViewportExclusiveScissorStateCreateInfoNV;
10626 typedef struct VkPhysicalDeviceExclusiveScissorFeaturesNV {
10627 VkStructureType sType;
10629 VkBool32 exclusiveScissor;
10630 } VkPhysicalDeviceExclusiveScissorFeaturesNV;
10632 typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorNV)(VkCommandBuffer commandBuffer, deUint32 firstExclusiveScissor, deUint32 exclusiveScissorCount, const VkRect2D* pExclusiveScissors);
10634 #ifndef VK_NO_PROTOTYPES
10635 VKAPI_ATTR void VKAPI_CALL vkCmdSetExclusiveScissorNV(
10636 VkCommandBuffer commandBuffer,
10637 deUint32 firstExclusiveScissor,
10638 deUint32 exclusiveScissorCount,
10639 const VkRect2D* pExclusiveScissors);
10643 #define VK_NV_device_diagnostic_checkpoints 1
10644 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION 2
10645 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME "VK_NV_device_diagnostic_checkpoints"
10646 typedef struct VkQueueFamilyCheckpointPropertiesNV {
10647 VkStructureType sType;
10649 VkPipelineStageFlags checkpointExecutionStageMask;
10650 } VkQueueFamilyCheckpointPropertiesNV;
10652 typedef struct VkCheckpointDataNV {
10653 VkStructureType sType;
10655 VkPipelineStageFlagBits stage;
10656 void* pCheckpointMarker;
10657 } VkCheckpointDataNV;
10659 typedef void (VKAPI_PTR *PFN_vkCmdSetCheckpointNV)(VkCommandBuffer commandBuffer, const void* pCheckpointMarker);
10660 typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointDataNV)(VkQueue queue, deUint32* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData);
10662 #ifndef VK_NO_PROTOTYPES
10663 VKAPI_ATTR void VKAPI_CALL vkCmdSetCheckpointNV(
10664 VkCommandBuffer commandBuffer,
10665 const void* pCheckpointMarker);
10667 VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointDataNV(
10669 deUint32* pCheckpointDataCount,
10670 VkCheckpointDataNV* pCheckpointData);
10674 #define VK_INTEL_shader_integer_functions2 1
10675 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION 1
10676 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME "VK_INTEL_shader_integer_functions2"
10677 typedef struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
10678 VkStructureType sType;
10680 VkBool32 shaderIntegerFunctions2;
10681 } VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL;
10685 #define VK_INTEL_performance_query 1
10686 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPerformanceConfigurationINTEL)
10687 #define VK_INTEL_PERFORMANCE_QUERY_SPEC_VERSION 2
10688 #define VK_INTEL_PERFORMANCE_QUERY_EXTENSION_NAME "VK_INTEL_performance_query"
10690 typedef enum VkPerformanceConfigurationTypeINTEL {
10691 VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL = 0,
10692 VK_PERFORMANCE_CONFIGURATION_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
10693 } VkPerformanceConfigurationTypeINTEL;
10695 typedef enum VkQueryPoolSamplingModeINTEL {
10696 VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL = 0,
10697 VK_QUERY_POOL_SAMPLING_MODE_MAX_ENUM_INTEL = 0x7FFFFFFF
10698 } VkQueryPoolSamplingModeINTEL;
10700 typedef enum VkPerformanceOverrideTypeINTEL {
10701 VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL = 0,
10702 VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL = 1,
10703 VK_PERFORMANCE_OVERRIDE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
10704 } VkPerformanceOverrideTypeINTEL;
10706 typedef enum VkPerformanceParameterTypeINTEL {
10707 VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL = 0,
10708 VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL = 1,
10709 VK_PERFORMANCE_PARAMETER_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
10710 } VkPerformanceParameterTypeINTEL;
10712 typedef enum VkPerformanceValueTypeINTEL {
10713 VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL = 0,
10714 VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL = 1,
10715 VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL = 2,
10716 VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL = 3,
10717 VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL = 4,
10718 VK_PERFORMANCE_VALUE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
10719 } VkPerformanceValueTypeINTEL;
10720 typedef union VkPerformanceValueDataINTEL {
10724 VkBool32 valueBool;
10725 const char* valueString;
10726 } VkPerformanceValueDataINTEL;
10728 typedef struct VkPerformanceValueINTEL {
10729 VkPerformanceValueTypeINTEL type;
10730 VkPerformanceValueDataINTEL data;
10731 } VkPerformanceValueINTEL;
10733 typedef struct VkInitializePerformanceApiInfoINTEL {
10734 VkStructureType sType;
10737 } VkInitializePerformanceApiInfoINTEL;
10739 typedef struct VkQueryPoolPerformanceQueryCreateInfoINTEL {
10740 VkStructureType sType;
10742 VkQueryPoolSamplingModeINTEL performanceCountersSampling;
10743 } VkQueryPoolPerformanceQueryCreateInfoINTEL;
10745 typedef VkQueryPoolPerformanceQueryCreateInfoINTEL VkQueryPoolCreateInfoINTEL;
10747 typedef struct VkPerformanceMarkerInfoINTEL {
10748 VkStructureType sType;
10751 } VkPerformanceMarkerInfoINTEL;
10753 typedef struct VkPerformanceStreamMarkerInfoINTEL {
10754 VkStructureType sType;
10757 } VkPerformanceStreamMarkerInfoINTEL;
10759 typedef struct VkPerformanceOverrideInfoINTEL {
10760 VkStructureType sType;
10762 VkPerformanceOverrideTypeINTEL type;
10764 deUint64 parameter;
10765 } VkPerformanceOverrideInfoINTEL;
10767 typedef struct VkPerformanceConfigurationAcquireInfoINTEL {
10768 VkStructureType sType;
10770 VkPerformanceConfigurationTypeINTEL type;
10771 } VkPerformanceConfigurationAcquireInfoINTEL;
10773 typedef VkResult (VKAPI_PTR *PFN_vkInitializePerformanceApiINTEL)(VkDevice device, const VkInitializePerformanceApiInfoINTEL* pInitializeInfo);
10774 typedef void (VKAPI_PTR *PFN_vkUninitializePerformanceApiINTEL)(VkDevice device);
10775 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL* pMarkerInfo);
10776 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceStreamMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo);
10777 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceOverrideINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL* pOverrideInfo);
10778 typedef VkResult (VKAPI_PTR *PFN_vkAcquirePerformanceConfigurationINTEL)(VkDevice device, const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, VkPerformanceConfigurationINTEL* pConfiguration);
10779 typedef VkResult (VKAPI_PTR *PFN_vkReleasePerformanceConfigurationINTEL)(VkDevice device, VkPerformanceConfigurationINTEL configuration);
10780 typedef VkResult (VKAPI_PTR *PFN_vkQueueSetPerformanceConfigurationINTEL)(VkQueue queue, VkPerformanceConfigurationINTEL configuration);
10781 typedef VkResult (VKAPI_PTR *PFN_vkGetPerformanceParameterINTEL)(VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL* pValue);
10783 #ifndef VK_NO_PROTOTYPES
10784 VKAPI_ATTR VkResult VKAPI_CALL vkInitializePerformanceApiINTEL(
10786 const VkInitializePerformanceApiInfoINTEL* pInitializeInfo);
10788 VKAPI_ATTR void VKAPI_CALL vkUninitializePerformanceApiINTEL(
10791 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceMarkerINTEL(
10792 VkCommandBuffer commandBuffer,
10793 const VkPerformanceMarkerInfoINTEL* pMarkerInfo);
10795 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceStreamMarkerINTEL(
10796 VkCommandBuffer commandBuffer,
10797 const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo);
10799 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceOverrideINTEL(
10800 VkCommandBuffer commandBuffer,
10801 const VkPerformanceOverrideInfoINTEL* pOverrideInfo);
10803 VKAPI_ATTR VkResult VKAPI_CALL vkAcquirePerformanceConfigurationINTEL(
10805 const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo,
10806 VkPerformanceConfigurationINTEL* pConfiguration);
10808 VKAPI_ATTR VkResult VKAPI_CALL vkReleasePerformanceConfigurationINTEL(
10810 VkPerformanceConfigurationINTEL configuration);
10812 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSetPerformanceConfigurationINTEL(
10814 VkPerformanceConfigurationINTEL configuration);
10816 VKAPI_ATTR VkResult VKAPI_CALL vkGetPerformanceParameterINTEL(
10818 VkPerformanceParameterTypeINTEL parameter,
10819 VkPerformanceValueINTEL* pValue);
10823 #define VK_EXT_pci_bus_info 1
10824 #define VK_EXT_PCI_BUS_INFO_SPEC_VERSION 2
10825 #define VK_EXT_PCI_BUS_INFO_EXTENSION_NAME "VK_EXT_pci_bus_info"
10826 typedef struct VkPhysicalDevicePCIBusInfoPropertiesEXT {
10827 VkStructureType sType;
10829 deUint32 pciDomain;
10831 deUint32 pciDevice;
10832 deUint32 pciFunction;
10833 } VkPhysicalDevicePCIBusInfoPropertiesEXT;
10837 #define VK_AMD_display_native_hdr 1
10838 #define VK_AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION 1
10839 #define VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME "VK_AMD_display_native_hdr"
10840 typedef struct VkDisplayNativeHdrSurfaceCapabilitiesAMD {
10841 VkStructureType sType;
10843 VkBool32 localDimmingSupport;
10844 } VkDisplayNativeHdrSurfaceCapabilitiesAMD;
10846 typedef struct VkSwapchainDisplayNativeHdrCreateInfoAMD {
10847 VkStructureType sType;
10849 VkBool32 localDimmingEnable;
10850 } VkSwapchainDisplayNativeHdrCreateInfoAMD;
10852 typedef void (VKAPI_PTR *PFN_vkSetLocalDimmingAMD)(VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable);
10854 #ifndef VK_NO_PROTOTYPES
10855 VKAPI_ATTR void VKAPI_CALL vkSetLocalDimmingAMD(
10857 VkSwapchainKHR swapChain,
10858 VkBool32 localDimmingEnable);
10862 #define VK_EXT_fragment_density_map 1
10863 #define VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION 1
10864 #define VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME "VK_EXT_fragment_density_map"
10865 typedef struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT {
10866 VkStructureType sType;
10868 VkBool32 fragmentDensityMap;
10869 VkBool32 fragmentDensityMapDynamic;
10870 VkBool32 fragmentDensityMapNonSubsampledImages;
10871 } VkPhysicalDeviceFragmentDensityMapFeaturesEXT;
10873 typedef struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT {
10874 VkStructureType sType;
10876 VkExtent2D minFragmentDensityTexelSize;
10877 VkExtent2D maxFragmentDensityTexelSize;
10878 VkBool32 fragmentDensityInvocations;
10879 } VkPhysicalDeviceFragmentDensityMapPropertiesEXT;
10881 typedef struct VkRenderPassFragmentDensityMapCreateInfoEXT {
10882 VkStructureType sType;
10884 VkAttachmentReference fragmentDensityMapAttachment;
10885 } VkRenderPassFragmentDensityMapCreateInfoEXT;
10889 #define VK_EXT_scalar_block_layout 1
10890 #define VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION 1
10891 #define VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME "VK_EXT_scalar_block_layout"
10892 typedef VkPhysicalDeviceScalarBlockLayoutFeatures VkPhysicalDeviceScalarBlockLayoutFeaturesEXT;
10896 #define VK_GOOGLE_hlsl_functionality1 1
10897 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION 1
10898 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME "VK_GOOGLE_hlsl_functionality1"
10901 #define VK_GOOGLE_decorate_string 1
10902 #define VK_GOOGLE_DECORATE_STRING_SPEC_VERSION 1
10903 #define VK_GOOGLE_DECORATE_STRING_EXTENSION_NAME "VK_GOOGLE_decorate_string"
10906 #define VK_EXT_subgroup_size_control 1
10907 #define VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION 2
10908 #define VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME "VK_EXT_subgroup_size_control"
10909 typedef struct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT {
10910 VkStructureType sType;
10912 VkBool32 subgroupSizeControl;
10913 VkBool32 computeFullSubgroups;
10914 } VkPhysicalDeviceSubgroupSizeControlFeaturesEXT;
10916 typedef struct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT {
10917 VkStructureType sType;
10919 deUint32 minSubgroupSize;
10920 deUint32 maxSubgroupSize;
10921 deUint32 maxComputeWorkgroupSubgroups;
10922 VkShaderStageFlags requiredSubgroupSizeStages;
10923 } VkPhysicalDeviceSubgroupSizeControlPropertiesEXT;
10925 typedef struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT {
10926 VkStructureType sType;
10928 deUint32 requiredSubgroupSize;
10929 } VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT;
10933 #define VK_AMD_shader_core_properties2 1
10934 #define VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION 1
10935 #define VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME "VK_AMD_shader_core_properties2"
10937 typedef enum VkShaderCorePropertiesFlagBitsAMD {
10938 VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF
10939 } VkShaderCorePropertiesFlagBitsAMD;
10940 typedef VkFlags VkShaderCorePropertiesFlagsAMD;
10941 typedef struct VkPhysicalDeviceShaderCoreProperties2AMD {
10942 VkStructureType sType;
10944 VkShaderCorePropertiesFlagsAMD shaderCoreFeatures;
10945 deUint32 activeComputeUnitCount;
10946 } VkPhysicalDeviceShaderCoreProperties2AMD;
10950 #define VK_AMD_device_coherent_memory 1
10951 #define VK_AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION 1
10952 #define VK_AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME "VK_AMD_device_coherent_memory"
10953 typedef struct VkPhysicalDeviceCoherentMemoryFeaturesAMD {
10954 VkStructureType sType;
10956 VkBool32 deviceCoherentMemory;
10957 } VkPhysicalDeviceCoherentMemoryFeaturesAMD;
10961 #define VK_EXT_shader_image_atomic_int64 1
10962 #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION 1
10963 #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME "VK_EXT_shader_image_atomic_int64"
10964 typedef struct VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT {
10965 VkStructureType sType;
10967 VkBool32 shaderImageInt64Atomics;
10968 VkBool32 sparseImageInt64Atomics;
10969 } VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT;
10973 #define VK_EXT_memory_budget 1
10974 #define VK_EXT_MEMORY_BUDGET_SPEC_VERSION 1
10975 #define VK_EXT_MEMORY_BUDGET_EXTENSION_NAME "VK_EXT_memory_budget"
10976 typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT {
10977 VkStructureType sType;
10979 VkDeviceSize heapBudget[VK_MAX_MEMORY_HEAPS];
10980 VkDeviceSize heapUsage[VK_MAX_MEMORY_HEAPS];
10981 } VkPhysicalDeviceMemoryBudgetPropertiesEXT;
10985 #define VK_EXT_memory_priority 1
10986 #define VK_EXT_MEMORY_PRIORITY_SPEC_VERSION 1
10987 #define VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME "VK_EXT_memory_priority"
10988 typedef struct VkPhysicalDeviceMemoryPriorityFeaturesEXT {
10989 VkStructureType sType;
10991 VkBool32 memoryPriority;
10992 } VkPhysicalDeviceMemoryPriorityFeaturesEXT;
10994 typedef struct VkMemoryPriorityAllocateInfoEXT {
10995 VkStructureType sType;
10998 } VkMemoryPriorityAllocateInfoEXT;
11002 #define VK_NV_dedicated_allocation_image_aliasing 1
11003 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION 1
11004 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME "VK_NV_dedicated_allocation_image_aliasing"
11005 typedef struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
11006 VkStructureType sType;
11008 VkBool32 dedicatedAllocationImageAliasing;
11009 } VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV;
11013 #define VK_EXT_buffer_device_address 1
11014 #define VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 2
11015 #define VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_EXT_buffer_device_address"
11016 typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT {
11017 VkStructureType sType;
11019 VkBool32 bufferDeviceAddress;
11020 VkBool32 bufferDeviceAddressCaptureReplay;
11021 VkBool32 bufferDeviceAddressMultiDevice;
11022 } VkPhysicalDeviceBufferDeviceAddressFeaturesEXT;
11024 typedef VkPhysicalDeviceBufferDeviceAddressFeaturesEXT VkPhysicalDeviceBufferAddressFeaturesEXT;
11026 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoEXT;
11028 typedef struct VkBufferDeviceAddressCreateInfoEXT {
11029 VkStructureType sType;
11031 VkDeviceAddress deviceAddress;
11032 } VkBufferDeviceAddressCreateInfoEXT;
11034 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressEXT)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
11036 #ifndef VK_NO_PROTOTYPES
11037 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressEXT(
11039 const VkBufferDeviceAddressInfo* pInfo);
11043 #define VK_EXT_tooling_info 1
11044 #define VK_EXT_TOOLING_INFO_SPEC_VERSION 1
11045 #define VK_EXT_TOOLING_INFO_EXTENSION_NAME "VK_EXT_tooling_info"
11047 typedef enum VkToolPurposeFlagBitsEXT {
11048 VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = 0x00000001,
11049 VK_TOOL_PURPOSE_PROFILING_BIT_EXT = 0x00000002,
11050 VK_TOOL_PURPOSE_TRACING_BIT_EXT = 0x00000004,
11051 VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = 0x00000008,
11052 VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = 0x00000010,
11053 VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 0x00000020,
11054 VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 0x00000040,
11055 VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
11056 } VkToolPurposeFlagBitsEXT;
11057 typedef VkFlags VkToolPurposeFlagsEXT;
11058 typedef struct VkPhysicalDeviceToolPropertiesEXT {
11059 VkStructureType sType;
11061 char name[VK_MAX_EXTENSION_NAME_SIZE];
11062 char version[VK_MAX_EXTENSION_NAME_SIZE];
11063 VkToolPurposeFlagsEXT purposes;
11064 char description[VK_MAX_DESCRIPTION_SIZE];
11065 char layer[VK_MAX_EXTENSION_NAME_SIZE];
11066 } VkPhysicalDeviceToolPropertiesEXT;
11068 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceToolPropertiesEXT)(VkPhysicalDevice physicalDevice, deUint32* pToolCount, VkPhysicalDeviceToolPropertiesEXT* pToolProperties);
11070 #ifndef VK_NO_PROTOTYPES
11071 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceToolPropertiesEXT(
11072 VkPhysicalDevice physicalDevice,
11073 deUint32* pToolCount,
11074 VkPhysicalDeviceToolPropertiesEXT* pToolProperties);
11078 #define VK_EXT_separate_stencil_usage 1
11079 #define VK_EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION 1
11080 #define VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME "VK_EXT_separate_stencil_usage"
11081 typedef VkImageStencilUsageCreateInfo VkImageStencilUsageCreateInfoEXT;
11085 #define VK_EXT_validation_features 1
11086 #define VK_EXT_VALIDATION_FEATURES_SPEC_VERSION 4
11087 #define VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME "VK_EXT_validation_features"
11089 typedef enum VkValidationFeatureEnableEXT {
11090 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT = 0,
11091 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT = 1,
11092 VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT = 2,
11093 VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT = 3,
11094 VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT = 4,
11095 VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT = 0x7FFFFFFF
11096 } VkValidationFeatureEnableEXT;
11098 typedef enum VkValidationFeatureDisableEXT {
11099 VK_VALIDATION_FEATURE_DISABLE_ALL_EXT = 0,
11100 VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT = 1,
11101 VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT = 2,
11102 VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT = 3,
11103 VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT = 4,
11104 VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT = 5,
11105 VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT = 6,
11106 VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT = 0x7FFFFFFF
11107 } VkValidationFeatureDisableEXT;
11108 typedef struct VkValidationFeaturesEXT {
11109 VkStructureType sType;
11111 deUint32 enabledValidationFeatureCount;
11112 const VkValidationFeatureEnableEXT* pEnabledValidationFeatures;
11113 deUint32 disabledValidationFeatureCount;
11114 const VkValidationFeatureDisableEXT* pDisabledValidationFeatures;
11115 } VkValidationFeaturesEXT;
11119 #define VK_NV_cooperative_matrix 1
11120 #define VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION 1
11121 #define VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_NV_cooperative_matrix"
11123 typedef enum VkComponentTypeNV {
11124 VK_COMPONENT_TYPE_FLOAT16_NV = 0,
11125 VK_COMPONENT_TYPE_FLOAT32_NV = 1,
11126 VK_COMPONENT_TYPE_FLOAT64_NV = 2,
11127 VK_COMPONENT_TYPE_SINT8_NV = 3,
11128 VK_COMPONENT_TYPE_SINT16_NV = 4,
11129 VK_COMPONENT_TYPE_SINT32_NV = 5,
11130 VK_COMPONENT_TYPE_SINT64_NV = 6,
11131 VK_COMPONENT_TYPE_UINT8_NV = 7,
11132 VK_COMPONENT_TYPE_UINT16_NV = 8,
11133 VK_COMPONENT_TYPE_UINT32_NV = 9,
11134 VK_COMPONENT_TYPE_UINT64_NV = 10,
11135 VK_COMPONENT_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
11136 } VkComponentTypeNV;
11138 typedef enum VkScopeNV {
11139 VK_SCOPE_DEVICE_NV = 1,
11140 VK_SCOPE_WORKGROUP_NV = 2,
11141 VK_SCOPE_SUBGROUP_NV = 3,
11142 VK_SCOPE_QUEUE_FAMILY_NV = 5,
11143 VK_SCOPE_MAX_ENUM_NV = 0x7FFFFFFF
11145 typedef struct VkCooperativeMatrixPropertiesNV {
11146 VkStructureType sType;
11151 VkComponentTypeNV AType;
11152 VkComponentTypeNV BType;
11153 VkComponentTypeNV CType;
11154 VkComponentTypeNV DType;
11156 } VkCooperativeMatrixPropertiesNV;
11158 typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesNV {
11159 VkStructureType sType;
11161 VkBool32 cooperativeMatrix;
11162 VkBool32 cooperativeMatrixRobustBufferAccess;
11163 } VkPhysicalDeviceCooperativeMatrixFeaturesNV;
11165 typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesNV {
11166 VkStructureType sType;
11168 VkShaderStageFlags cooperativeMatrixSupportedStages;
11169 } VkPhysicalDeviceCooperativeMatrixPropertiesNV;
11171 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkCooperativeMatrixPropertiesNV* pProperties);
11173 #ifndef VK_NO_PROTOTYPES
11174 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(
11175 VkPhysicalDevice physicalDevice,
11176 deUint32* pPropertyCount,
11177 VkCooperativeMatrixPropertiesNV* pProperties);
11181 #define VK_NV_coverage_reduction_mode 1
11182 #define VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION 1
11183 #define VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME "VK_NV_coverage_reduction_mode"
11185 typedef enum VkCoverageReductionModeNV {
11186 VK_COVERAGE_REDUCTION_MODE_MERGE_NV = 0,
11187 VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV = 1,
11188 VK_COVERAGE_REDUCTION_MODE_MAX_ENUM_NV = 0x7FFFFFFF
11189 } VkCoverageReductionModeNV;
11190 typedef VkFlags VkPipelineCoverageReductionStateCreateFlagsNV;
11191 typedef struct VkPhysicalDeviceCoverageReductionModeFeaturesNV {
11192 VkStructureType sType;
11194 VkBool32 coverageReductionMode;
11195 } VkPhysicalDeviceCoverageReductionModeFeaturesNV;
11197 typedef struct VkPipelineCoverageReductionStateCreateInfoNV {
11198 VkStructureType sType;
11200 VkPipelineCoverageReductionStateCreateFlagsNV flags;
11201 VkCoverageReductionModeNV coverageReductionMode;
11202 } VkPipelineCoverageReductionStateCreateInfoNV;
11204 typedef struct VkFramebufferMixedSamplesCombinationNV {
11205 VkStructureType sType;
11207 VkCoverageReductionModeNV coverageReductionMode;
11208 VkSampleCountFlagBits rasterizationSamples;
11209 VkSampleCountFlags depthStencilSamples;
11210 VkSampleCountFlags colorSamples;
11211 } VkFramebufferMixedSamplesCombinationNV;
11213 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV)(VkPhysicalDevice physicalDevice, deUint32* pCombinationCount, VkFramebufferMixedSamplesCombinationNV* pCombinations);
11215 #ifndef VK_NO_PROTOTYPES
11216 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
11217 VkPhysicalDevice physicalDevice,
11218 deUint32* pCombinationCount,
11219 VkFramebufferMixedSamplesCombinationNV* pCombinations);
11223 #define VK_EXT_fragment_shader_interlock 1
11224 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION 1
11225 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME "VK_EXT_fragment_shader_interlock"
11226 typedef struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT {
11227 VkStructureType sType;
11229 VkBool32 fragmentShaderSampleInterlock;
11230 VkBool32 fragmentShaderPixelInterlock;
11231 VkBool32 fragmentShaderShadingRateInterlock;
11232 } VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT;
11236 #define VK_EXT_ycbcr_image_arrays 1
11237 #define VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION 1
11238 #define VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME "VK_EXT_ycbcr_image_arrays"
11239 typedef struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT {
11240 VkStructureType sType;
11242 VkBool32 ycbcrImageArrays;
11243 } VkPhysicalDeviceYcbcrImageArraysFeaturesEXT;
11247 #define VK_EXT_headless_surface 1
11248 #define VK_EXT_HEADLESS_SURFACE_SPEC_VERSION 1
11249 #define VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME "VK_EXT_headless_surface"
11250 typedef VkFlags VkHeadlessSurfaceCreateFlagsEXT;
11251 typedef struct VkHeadlessSurfaceCreateInfoEXT {
11252 VkStructureType sType;
11254 VkHeadlessSurfaceCreateFlagsEXT flags;
11255 } VkHeadlessSurfaceCreateInfoEXT;
11257 typedef VkResult (VKAPI_PTR *PFN_vkCreateHeadlessSurfaceEXT)(VkInstance instance, const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
11259 #ifndef VK_NO_PROTOTYPES
11260 VKAPI_ATTR VkResult VKAPI_CALL vkCreateHeadlessSurfaceEXT(
11261 VkInstance instance,
11262 const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo,
11263 const VkAllocationCallbacks* pAllocator,
11264 VkSurfaceKHR* pSurface);
11268 #define VK_EXT_line_rasterization 1
11269 #define VK_EXT_LINE_RASTERIZATION_SPEC_VERSION 1
11270 #define VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME "VK_EXT_line_rasterization"
11272 typedef enum VkLineRasterizationModeEXT {
11273 VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT = 0,
11274 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT = 1,
11275 VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT = 2,
11276 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT = 3,
11277 VK_LINE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
11278 } VkLineRasterizationModeEXT;
11279 typedef struct VkPhysicalDeviceLineRasterizationFeaturesEXT {
11280 VkStructureType sType;
11282 VkBool32 rectangularLines;
11283 VkBool32 bresenhamLines;
11284 VkBool32 smoothLines;
11285 VkBool32 stippledRectangularLines;
11286 VkBool32 stippledBresenhamLines;
11287 VkBool32 stippledSmoothLines;
11288 } VkPhysicalDeviceLineRasterizationFeaturesEXT;
11290 typedef struct VkPhysicalDeviceLineRasterizationPropertiesEXT {
11291 VkStructureType sType;
11293 deUint32 lineSubPixelPrecisionBits;
11294 } VkPhysicalDeviceLineRasterizationPropertiesEXT;
11296 typedef struct VkPipelineRasterizationLineStateCreateInfoEXT {
11297 VkStructureType sType;
11299 VkLineRasterizationModeEXT lineRasterizationMode;
11300 VkBool32 stippledLineEnable;
11301 deUint32 lineStippleFactor;
11302 deUint16 lineStipplePattern;
11303 } VkPipelineRasterizationLineStateCreateInfoEXT;
11305 typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleEXT)(VkCommandBuffer commandBuffer, deUint32 lineStippleFactor, deUint16 lineStipplePattern);
11307 #ifndef VK_NO_PROTOTYPES
11308 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleEXT(
11309 VkCommandBuffer commandBuffer,
11310 deUint32 lineStippleFactor,
11311 deUint16 lineStipplePattern);
11315 #define VK_EXT_shader_atomic_float 1
11316 #define VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION 1
11317 #define VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME "VK_EXT_shader_atomic_float"
11318 typedef struct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT {
11319 VkStructureType sType;
11321 VkBool32 shaderBufferFloat32Atomics;
11322 VkBool32 shaderBufferFloat32AtomicAdd;
11323 VkBool32 shaderBufferFloat64Atomics;
11324 VkBool32 shaderBufferFloat64AtomicAdd;
11325 VkBool32 shaderSharedFloat32Atomics;
11326 VkBool32 shaderSharedFloat32AtomicAdd;
11327 VkBool32 shaderSharedFloat64Atomics;
11328 VkBool32 shaderSharedFloat64AtomicAdd;
11329 VkBool32 shaderImageFloat32Atomics;
11330 VkBool32 shaderImageFloat32AtomicAdd;
11331 VkBool32 sparseImageFloat32Atomics;
11332 VkBool32 sparseImageFloat32AtomicAdd;
11333 } VkPhysicalDeviceShaderAtomicFloatFeaturesEXT;
11337 #define VK_EXT_host_query_reset 1
11338 #define VK_EXT_HOST_QUERY_RESET_SPEC_VERSION 1
11339 #define VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME "VK_EXT_host_query_reset"
11340 typedef VkPhysicalDeviceHostQueryResetFeatures VkPhysicalDeviceHostQueryResetFeaturesEXT;
11342 typedef void (VKAPI_PTR *PFN_vkResetQueryPoolEXT)(VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount);
11344 #ifndef VK_NO_PROTOTYPES
11345 VKAPI_ATTR void VKAPI_CALL vkResetQueryPoolEXT(
11347 VkQueryPool queryPool,
11348 deUint32 firstQuery,
11349 deUint32 queryCount);
11353 #define VK_EXT_index_type_uint8 1
11354 #define VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION 1
11355 #define VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_EXT_index_type_uint8"
11356 typedef struct VkPhysicalDeviceIndexTypeUint8FeaturesEXT {
11357 VkStructureType sType;
11359 VkBool32 indexTypeUint8;
11360 } VkPhysicalDeviceIndexTypeUint8FeaturesEXT;
11364 #define VK_EXT_extended_dynamic_state 1
11365 #define VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION 1
11366 #define VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_extended_dynamic_state"
11367 typedef struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT {
11368 VkStructureType sType;
11370 VkBool32 extendedDynamicState;
11371 } VkPhysicalDeviceExtendedDynamicStateFeaturesEXT;
11373 typedef void (VKAPI_PTR *PFN_vkCmdSetCullModeEXT)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode);
11374 typedef void (VKAPI_PTR *PFN_vkCmdSetFrontFaceEXT)(VkCommandBuffer commandBuffer, VkFrontFace frontFace);
11375 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveTopologyEXT)(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology);
11376 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWithCountEXT)(VkCommandBuffer commandBuffer, deUint32 viewportCount, const VkViewport* pViewports);
11377 typedef void (VKAPI_PTR *PFN_vkCmdSetScissorWithCountEXT)(VkCommandBuffer commandBuffer, deUint32 scissorCount, const VkRect2D* pScissors);
11378 typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers2EXT)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides);
11379 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable);
11380 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthWriteEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable);
11381 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthCompareOpEXT)(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp);
11382 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBoundsTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable);
11383 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable);
11384 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilOpEXT)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp);
11386 #ifndef VK_NO_PROTOTYPES
11387 VKAPI_ATTR void VKAPI_CALL vkCmdSetCullModeEXT(
11388 VkCommandBuffer commandBuffer,
11389 VkCullModeFlags cullMode);
11391 VKAPI_ATTR void VKAPI_CALL vkCmdSetFrontFaceEXT(
11392 VkCommandBuffer commandBuffer,
11393 VkFrontFace frontFace);
11395 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveTopologyEXT(
11396 VkCommandBuffer commandBuffer,
11397 VkPrimitiveTopology primitiveTopology);
11399 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWithCountEXT(
11400 VkCommandBuffer commandBuffer,
11401 deUint32 viewportCount,
11402 const VkViewport* pViewports);
11404 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissorWithCountEXT(
11405 VkCommandBuffer commandBuffer,
11406 deUint32 scissorCount,
11407 const VkRect2D* pScissors);
11409 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers2EXT(
11410 VkCommandBuffer commandBuffer,
11411 deUint32 firstBinding,
11412 deUint32 bindingCount,
11413 const VkBuffer* pBuffers,
11414 const VkDeviceSize* pOffsets,
11415 const VkDeviceSize* pSizes,
11416 const VkDeviceSize* pStrides);
11418 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthTestEnableEXT(
11419 VkCommandBuffer commandBuffer,
11420 VkBool32 depthTestEnable);
11422 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthWriteEnableEXT(
11423 VkCommandBuffer commandBuffer,
11424 VkBool32 depthWriteEnable);
11426 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthCompareOpEXT(
11427 VkCommandBuffer commandBuffer,
11428 VkCompareOp depthCompareOp);
11430 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBoundsTestEnableEXT(
11431 VkCommandBuffer commandBuffer,
11432 VkBool32 depthBoundsTestEnable);
11434 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilTestEnableEXT(
11435 VkCommandBuffer commandBuffer,
11436 VkBool32 stencilTestEnable);
11438 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilOpEXT(
11439 VkCommandBuffer commandBuffer,
11440 VkStencilFaceFlags faceMask,
11441 VkStencilOp failOp,
11442 VkStencilOp passOp,
11443 VkStencilOp depthFailOp,
11444 VkCompareOp compareOp);
11448 #define VK_EXT_shader_demote_to_helper_invocation 1
11449 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION 1
11450 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME "VK_EXT_shader_demote_to_helper_invocation"
11451 typedef struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT {
11452 VkStructureType sType;
11454 VkBool32 shaderDemoteToHelperInvocation;
11455 } VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT;
11459 #define VK_NV_device_generated_commands 1
11460 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutNV)
11461 #define VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION 3
11462 #define VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_NV_device_generated_commands"
11464 typedef enum VkIndirectCommandsTokenTypeNV {
11465 VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV = 0,
11466 VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV = 1,
11467 VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV = 2,
11468 VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV = 3,
11469 VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV = 4,
11470 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV = 5,
11471 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV = 6,
11472 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV = 7,
11473 VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
11474 } VkIndirectCommandsTokenTypeNV;
11476 typedef enum VkIndirectStateFlagBitsNV {
11477 VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV = 0x00000001,
11478 VK_INDIRECT_STATE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
11479 } VkIndirectStateFlagBitsNV;
11480 typedef VkFlags VkIndirectStateFlagsNV;
11482 typedef enum VkIndirectCommandsLayoutUsageFlagBitsNV {
11483 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV = 0x00000001,
11484 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV = 0x00000002,
11485 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV = 0x00000004,
11486 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
11487 } VkIndirectCommandsLayoutUsageFlagBitsNV;
11488 typedef VkFlags VkIndirectCommandsLayoutUsageFlagsNV;
11489 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
11490 VkStructureType sType;
11492 deUint32 maxGraphicsShaderGroupCount;
11493 deUint32 maxIndirectSequenceCount;
11494 deUint32 maxIndirectCommandsTokenCount;
11495 deUint32 maxIndirectCommandsStreamCount;
11496 deUint32 maxIndirectCommandsTokenOffset;
11497 deUint32 maxIndirectCommandsStreamStride;
11498 deUint32 minSequencesCountBufferOffsetAlignment;
11499 deUint32 minSequencesIndexBufferOffsetAlignment;
11500 deUint32 minIndirectCommandsBufferOffsetAlignment;
11501 } VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV;
11503 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
11504 VkStructureType sType;
11506 VkBool32 deviceGeneratedCommands;
11507 } VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV;
11509 typedef struct VkGraphicsShaderGroupCreateInfoNV {
11510 VkStructureType sType;
11512 deUint32 stageCount;
11513 const VkPipelineShaderStageCreateInfo* pStages;
11514 const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
11515 const VkPipelineTessellationStateCreateInfo* pTessellationState;
11516 } VkGraphicsShaderGroupCreateInfoNV;
11518 typedef struct VkGraphicsPipelineShaderGroupsCreateInfoNV {
11519 VkStructureType sType;
11521 deUint32 groupCount;
11522 const VkGraphicsShaderGroupCreateInfoNV* pGroups;
11523 deUint32 pipelineCount;
11524 const VkPipeline* pPipelines;
11525 } VkGraphicsPipelineShaderGroupsCreateInfoNV;
11527 typedef struct VkBindShaderGroupIndirectCommandNV {
11528 deUint32 groupIndex;
11529 } VkBindShaderGroupIndirectCommandNV;
11531 typedef struct VkBindIndexBufferIndirectCommandNV {
11532 VkDeviceAddress bufferAddress;
11534 VkIndexType indexType;
11535 } VkBindIndexBufferIndirectCommandNV;
11537 typedef struct VkBindVertexBufferIndirectCommandNV {
11538 VkDeviceAddress bufferAddress;
11541 } VkBindVertexBufferIndirectCommandNV;
11543 typedef struct VkSetStateFlagsIndirectCommandNV {
11545 } VkSetStateFlagsIndirectCommandNV;
11547 typedef struct VkIndirectCommandsStreamNV {
11549 VkDeviceSize offset;
11550 } VkIndirectCommandsStreamNV;
11552 typedef struct VkIndirectCommandsLayoutTokenNV {
11553 VkStructureType sType;
11555 VkIndirectCommandsTokenTypeNV tokenType;
11558 deUint32 vertexBindingUnit;
11559 VkBool32 vertexDynamicStride;
11560 VkPipelineLayout pushconstantPipelineLayout;
11561 VkShaderStageFlags pushconstantShaderStageFlags;
11562 deUint32 pushconstantOffset;
11563 deUint32 pushconstantSize;
11564 VkIndirectStateFlagsNV indirectStateFlags;
11565 deUint32 indexTypeCount;
11566 const VkIndexType* pIndexTypes;
11567 const deUint32* pIndexTypeValues;
11568 } VkIndirectCommandsLayoutTokenNV;
11570 typedef struct VkIndirectCommandsLayoutCreateInfoNV {
11571 VkStructureType sType;
11573 VkIndirectCommandsLayoutUsageFlagsNV flags;
11574 VkPipelineBindPoint pipelineBindPoint;
11575 deUint32 tokenCount;
11576 const VkIndirectCommandsLayoutTokenNV* pTokens;
11577 deUint32 streamCount;
11578 const deUint32* pStreamStrides;
11579 } VkIndirectCommandsLayoutCreateInfoNV;
11581 typedef struct VkGeneratedCommandsInfoNV {
11582 VkStructureType sType;
11584 VkPipelineBindPoint pipelineBindPoint;
11585 VkPipeline pipeline;
11586 VkIndirectCommandsLayoutNV indirectCommandsLayout;
11587 deUint32 streamCount;
11588 const VkIndirectCommandsStreamNV* pStreams;
11589 deUint32 sequencesCount;
11590 VkBuffer preprocessBuffer;
11591 VkDeviceSize preprocessOffset;
11592 VkDeviceSize preprocessSize;
11593 VkBuffer sequencesCountBuffer;
11594 VkDeviceSize sequencesCountOffset;
11595 VkBuffer sequencesIndexBuffer;
11596 VkDeviceSize sequencesIndexOffset;
11597 } VkGeneratedCommandsInfoNV;
11599 typedef struct VkGeneratedCommandsMemoryRequirementsInfoNV {
11600 VkStructureType sType;
11602 VkPipelineBindPoint pipelineBindPoint;
11603 VkPipeline pipeline;
11604 VkIndirectCommandsLayoutNV indirectCommandsLayout;
11605 deUint32 maxSequencesCount;
11606 } VkGeneratedCommandsMemoryRequirementsInfoNV;
11608 typedef void (VKAPI_PTR *PFN_vkGetGeneratedCommandsMemoryRequirementsNV)(VkDevice device, const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2* pMemoryRequirements);
11609 typedef void (VKAPI_PTR *PFN_vkCmdPreprocessGeneratedCommandsNV)(VkCommandBuffer commandBuffer, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
11610 typedef void (VKAPI_PTR *PFN_vkCmdExecuteGeneratedCommandsNV)(VkCommandBuffer commandBuffer, VkBool32 isPreprocessed, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
11611 typedef void (VKAPI_PTR *PFN_vkCmdBindPipelineShaderGroupNV)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline, deUint32 groupIndex);
11612 typedef VkResult (VKAPI_PTR *PFN_vkCreateIndirectCommandsLayoutNV)(VkDevice device, const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNV* pIndirectCommandsLayout);
11613 typedef void (VKAPI_PTR *PFN_vkDestroyIndirectCommandsLayoutNV)(VkDevice device, VkIndirectCommandsLayoutNV indirectCommandsLayout, const VkAllocationCallbacks* pAllocator);
11615 #ifndef VK_NO_PROTOTYPES
11616 VKAPI_ATTR void VKAPI_CALL vkGetGeneratedCommandsMemoryRequirementsNV(
11618 const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo,
11619 VkMemoryRequirements2* pMemoryRequirements);
11621 VKAPI_ATTR void VKAPI_CALL vkCmdPreprocessGeneratedCommandsNV(
11622 VkCommandBuffer commandBuffer,
11623 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
11625 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteGeneratedCommandsNV(
11626 VkCommandBuffer commandBuffer,
11627 VkBool32 isPreprocessed,
11628 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
11630 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipelineShaderGroupNV(
11631 VkCommandBuffer commandBuffer,
11632 VkPipelineBindPoint pipelineBindPoint,
11633 VkPipeline pipeline,
11634 deUint32 groupIndex);
11636 VKAPI_ATTR VkResult VKAPI_CALL vkCreateIndirectCommandsLayoutNV(
11638 const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo,
11639 const VkAllocationCallbacks* pAllocator,
11640 VkIndirectCommandsLayoutNV* pIndirectCommandsLayout);
11642 VKAPI_ATTR void VKAPI_CALL vkDestroyIndirectCommandsLayoutNV(
11644 VkIndirectCommandsLayoutNV indirectCommandsLayout,
11645 const VkAllocationCallbacks* pAllocator);
11649 #define VK_NV_inherited_viewport_scissor 1
11650 #define VK_NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION 1
11651 #define VK_NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME "VK_NV_inherited_viewport_scissor"
11652 typedef struct VkPhysicalDeviceInheritedViewportScissorFeaturesNV {
11653 VkStructureType sType;
11655 VkBool32 inheritedViewportScissor2D;
11656 } VkPhysicalDeviceInheritedViewportScissorFeaturesNV;
11658 typedef struct VkCommandBufferInheritanceViewportScissorInfoNV {
11659 VkStructureType sType;
11661 VkBool32 viewportScissor2D;
11662 deUint32 viewportDepthCount;
11663 const VkViewport* pViewportDepths;
11664 } VkCommandBufferInheritanceViewportScissorInfoNV;
11668 #define VK_EXT_texel_buffer_alignment 1
11669 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION 1
11670 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME "VK_EXT_texel_buffer_alignment"
11671 typedef struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT {
11672 VkStructureType sType;
11674 VkBool32 texelBufferAlignment;
11675 } VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT;
11677 typedef struct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT {
11678 VkStructureType sType;
11680 VkDeviceSize storageTexelBufferOffsetAlignmentBytes;
11681 VkBool32 storageTexelBufferOffsetSingleTexelAlignment;
11682 VkDeviceSize uniformTexelBufferOffsetAlignmentBytes;
11683 VkBool32 uniformTexelBufferOffsetSingleTexelAlignment;
11684 } VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT;
11688 #define VK_QCOM_render_pass_transform 1
11689 #define VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION 2
11690 #define VK_QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME "VK_QCOM_render_pass_transform"
11691 typedef struct VkRenderPassTransformBeginInfoQCOM {
11692 VkStructureType sType;
11694 VkSurfaceTransformFlagBitsKHR transform;
11695 } VkRenderPassTransformBeginInfoQCOM;
11697 typedef struct VkCommandBufferInheritanceRenderPassTransformInfoQCOM {
11698 VkStructureType sType;
11700 VkSurfaceTransformFlagBitsKHR transform;
11701 VkRect2D renderArea;
11702 } VkCommandBufferInheritanceRenderPassTransformInfoQCOM;
11706 #define VK_EXT_device_memory_report 1
11707 #define VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION 2
11708 #define VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME "VK_EXT_device_memory_report"
11710 typedef enum VkDeviceMemoryReportEventTypeEXT {
11711 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT = 0,
11712 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT = 1,
11713 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT = 2,
11714 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT = 3,
11715 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT = 4,
11716 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
11717 } VkDeviceMemoryReportEventTypeEXT;
11718 typedef VkFlags VkDeviceMemoryReportFlagsEXT;
11719 typedef struct VkPhysicalDeviceDeviceMemoryReportFeaturesEXT {
11720 VkStructureType sType;
11722 VkBool32 deviceMemoryReport;
11723 } VkPhysicalDeviceDeviceMemoryReportFeaturesEXT;
11725 typedef struct VkDeviceMemoryReportCallbackDataEXT {
11726 VkStructureType sType;
11728 VkDeviceMemoryReportFlagsEXT flags;
11729 VkDeviceMemoryReportEventTypeEXT type;
11730 deUint64 memoryObjectId;
11732 VkObjectType objectType;
11733 deUint64 objectHandle;
11734 deUint32 heapIndex;
11735 } VkDeviceMemoryReportCallbackDataEXT;
11737 typedef void (VKAPI_PTR *PFN_vkDeviceMemoryReportCallbackEXT)(
11738 const VkDeviceMemoryReportCallbackDataEXT* pCallbackData,
11741 typedef struct VkDeviceDeviceMemoryReportCreateInfoEXT {
11742 VkStructureType sType;
11744 VkDeviceMemoryReportFlagsEXT flags;
11745 PFN_vkDeviceMemoryReportCallbackEXT pfnUserCallback;
11747 } VkDeviceDeviceMemoryReportCreateInfoEXT;
11751 #define VK_EXT_robustness2 1
11752 #define VK_EXT_ROBUSTNESS_2_SPEC_VERSION 1
11753 #define VK_EXT_ROBUSTNESS_2_EXTENSION_NAME "VK_EXT_robustness2"
11754 typedef struct VkPhysicalDeviceRobustness2FeaturesEXT {
11755 VkStructureType sType;
11757 VkBool32 robustBufferAccess2;
11758 VkBool32 robustImageAccess2;
11759 VkBool32 nullDescriptor;
11760 } VkPhysicalDeviceRobustness2FeaturesEXT;
11762 typedef struct VkPhysicalDeviceRobustness2PropertiesEXT {
11763 VkStructureType sType;
11765 VkDeviceSize robustStorageBufferAccessSizeAlignment;
11766 VkDeviceSize robustUniformBufferAccessSizeAlignment;
11767 } VkPhysicalDeviceRobustness2PropertiesEXT;
11771 #define VK_EXT_custom_border_color 1
11772 #define VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION 12
11773 #define VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME "VK_EXT_custom_border_color"
11774 typedef struct VkSamplerCustomBorderColorCreateInfoEXT {
11775 VkStructureType sType;
11777 VkClearColorValue customBorderColor;
11779 } VkSamplerCustomBorderColorCreateInfoEXT;
11781 typedef struct VkPhysicalDeviceCustomBorderColorPropertiesEXT {
11782 VkStructureType sType;
11784 deUint32 maxCustomBorderColorSamplers;
11785 } VkPhysicalDeviceCustomBorderColorPropertiesEXT;
11787 typedef struct VkPhysicalDeviceCustomBorderColorFeaturesEXT {
11788 VkStructureType sType;
11790 VkBool32 customBorderColors;
11791 VkBool32 customBorderColorWithoutFormat;
11792 } VkPhysicalDeviceCustomBorderColorFeaturesEXT;
11796 #define VK_GOOGLE_user_type 1
11797 #define VK_GOOGLE_USER_TYPE_SPEC_VERSION 1
11798 #define VK_GOOGLE_USER_TYPE_EXTENSION_NAME "VK_GOOGLE_user_type"
11801 #define VK_EXT_private_data 1
11802 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPrivateDataSlotEXT)
11803 #define VK_EXT_PRIVATE_DATA_SPEC_VERSION 1
11804 #define VK_EXT_PRIVATE_DATA_EXTENSION_NAME "VK_EXT_private_data"
11806 typedef enum VkPrivateDataSlotCreateFlagBitsEXT {
11807 VK_PRIVATE_DATA_SLOT_CREATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
11808 } VkPrivateDataSlotCreateFlagBitsEXT;
11809 typedef VkFlags VkPrivateDataSlotCreateFlagsEXT;
11810 typedef struct VkPhysicalDevicePrivateDataFeaturesEXT {
11811 VkStructureType sType;
11813 VkBool32 privateData;
11814 } VkPhysicalDevicePrivateDataFeaturesEXT;
11816 typedef struct VkDevicePrivateDataCreateInfoEXT {
11817 VkStructureType sType;
11819 deUint32 privateDataSlotRequestCount;
11820 } VkDevicePrivateDataCreateInfoEXT;
11822 typedef struct VkPrivateDataSlotCreateInfoEXT {
11823 VkStructureType sType;
11825 VkPrivateDataSlotCreateFlagsEXT flags;
11826 } VkPrivateDataSlotCreateInfoEXT;
11828 typedef VkResult (VKAPI_PTR *PFN_vkCreatePrivateDataSlotEXT)(VkDevice device, const VkPrivateDataSlotCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlotEXT* pPrivateDataSlot);
11829 typedef void (VKAPI_PTR *PFN_vkDestroyPrivateDataSlotEXT)(VkDevice device, VkPrivateDataSlotEXT privateDataSlot, const VkAllocationCallbacks* pAllocator);
11830 typedef VkResult (VKAPI_PTR *PFN_vkSetPrivateDataEXT)(VkDevice device, VkObjectType objectType, deUint64 objectHandle, VkPrivateDataSlotEXT privateDataSlot, deUint64 data);
11831 typedef void (VKAPI_PTR *PFN_vkGetPrivateDataEXT)(VkDevice device, VkObjectType objectType, deUint64 objectHandle, VkPrivateDataSlotEXT privateDataSlot, deUint64* pData);
11833 #ifndef VK_NO_PROTOTYPES
11834 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePrivateDataSlotEXT(
11836 const VkPrivateDataSlotCreateInfoEXT* pCreateInfo,
11837 const VkAllocationCallbacks* pAllocator,
11838 VkPrivateDataSlotEXT* pPrivateDataSlot);
11840 VKAPI_ATTR void VKAPI_CALL vkDestroyPrivateDataSlotEXT(
11842 VkPrivateDataSlotEXT privateDataSlot,
11843 const VkAllocationCallbacks* pAllocator);
11845 VKAPI_ATTR VkResult VKAPI_CALL vkSetPrivateDataEXT(
11847 VkObjectType objectType,
11848 deUint64 objectHandle,
11849 VkPrivateDataSlotEXT privateDataSlot,
11852 VKAPI_ATTR void VKAPI_CALL vkGetPrivateDataEXT(
11854 VkObjectType objectType,
11855 deUint64 objectHandle,
11856 VkPrivateDataSlotEXT privateDataSlot,
11861 #define VK_EXT_pipeline_creation_cache_control 1
11862 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION 3
11863 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME "VK_EXT_pipeline_creation_cache_control"
11864 typedef struct VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT {
11865 VkStructureType sType;
11867 VkBool32 pipelineCreationCacheControl;
11868 } VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT;
11872 #define VK_NV_device_diagnostics_config 1
11873 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION 1
11874 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME "VK_NV_device_diagnostics_config"
11876 typedef enum VkDeviceDiagnosticsConfigFlagBitsNV {
11877 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV = 0x00000001,
11878 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV = 0x00000002,
11879 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV = 0x00000004,
11880 VK_DEVICE_DIAGNOSTICS_CONFIG_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
11881 } VkDeviceDiagnosticsConfigFlagBitsNV;
11882 typedef VkFlags VkDeviceDiagnosticsConfigFlagsNV;
11883 typedef struct VkPhysicalDeviceDiagnosticsConfigFeaturesNV {
11884 VkStructureType sType;
11886 VkBool32 diagnosticsConfig;
11887 } VkPhysicalDeviceDiagnosticsConfigFeaturesNV;
11889 typedef struct VkDeviceDiagnosticsConfigCreateInfoNV {
11890 VkStructureType sType;
11892 VkDeviceDiagnosticsConfigFlagsNV flags;
11893 } VkDeviceDiagnosticsConfigCreateInfoNV;
11897 #define VK_QCOM_render_pass_store_ops 1
11898 #define VK_QCOM_render_pass_store_ops_SPEC_VERSION 2
11899 #define VK_QCOM_render_pass_store_ops_EXTENSION_NAME "VK_QCOM_render_pass_store_ops"
11902 #define VK_NV_fragment_shading_rate_enums 1
11903 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION 1
11904 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME "VK_NV_fragment_shading_rate_enums"
11906 typedef enum VkFragmentShadingRateTypeNV {
11907 VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV = 0,
11908 VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV = 1,
11909 VK_FRAGMENT_SHADING_RATE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
11910 } VkFragmentShadingRateTypeNV;
11912 typedef enum VkFragmentShadingRateNV {
11913 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV = 0,
11914 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV = 1,
11915 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV = 4,
11916 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV = 5,
11917 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV = 6,
11918 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV = 9,
11919 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV = 10,
11920 VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV = 11,
11921 VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV = 12,
11922 VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV = 13,
11923 VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV = 14,
11924 VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV = 15,
11925 VK_FRAGMENT_SHADING_RATE_MAX_ENUM_NV = 0x7FFFFFFF
11926 } VkFragmentShadingRateNV;
11927 typedef struct VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV {
11928 VkStructureType sType;
11930 VkBool32 fragmentShadingRateEnums;
11931 VkBool32 supersampleFragmentShadingRates;
11932 VkBool32 noInvocationFragmentShadingRates;
11933 } VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV;
11935 typedef struct VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV {
11936 VkStructureType sType;
11938 VkSampleCountFlagBits maxFragmentShadingRateInvocationCount;
11939 } VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV;
11941 typedef struct VkPipelineFragmentShadingRateEnumStateCreateInfoNV {
11942 VkStructureType sType;
11944 VkFragmentShadingRateTypeNV shadingRateType;
11945 VkFragmentShadingRateNV shadingRate;
11946 VkFragmentShadingRateCombinerOpKHR combinerOps[2];
11947 } VkPipelineFragmentShadingRateEnumStateCreateInfoNV;
11949 typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateEnumNV)(VkCommandBuffer commandBuffer, VkFragmentShadingRateNV shadingRate, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
11951 #ifndef VK_NO_PROTOTYPES
11952 VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateEnumNV(
11953 VkCommandBuffer commandBuffer,
11954 VkFragmentShadingRateNV shadingRate,
11955 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
11959 #define VK_EXT_ycbcr_2plane_444_formats 1
11960 #define VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION 1
11961 #define VK_EXT_YCBCR_2PLANE_444_FORMATS_EXTENSION_NAME "VK_EXT_ycbcr_2plane_444_formats"
11962 typedef struct VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT {
11963 VkStructureType sType;
11965 VkBool32 ycbcr2plane444Formats;
11966 } VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT;
11970 #define VK_EXT_fragment_density_map2 1
11971 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION 1
11972 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME "VK_EXT_fragment_density_map2"
11973 typedef struct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT {
11974 VkStructureType sType;
11976 VkBool32 fragmentDensityMapDeferred;
11977 } VkPhysicalDeviceFragmentDensityMap2FeaturesEXT;
11979 typedef struct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT {
11980 VkStructureType sType;
11982 VkBool32 subsampledLoads;
11983 VkBool32 subsampledCoarseReconstructionEarlyAccess;
11984 deUint32 maxSubsampledArrayLayers;
11985 deUint32 maxDescriptorSetSubsampledSamplers;
11986 } VkPhysicalDeviceFragmentDensityMap2PropertiesEXT;
11990 #define VK_QCOM_rotated_copy_commands 1
11991 #define VK_QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION 0
11992 #define VK_QCOM_ROTATED_COPY_COMMANDS_EXTENSION_NAME "VK_QCOM_rotated_copy_commands"
11993 typedef struct VkCopyCommandTransformInfoQCOM {
11994 VkStructureType sType;
11996 VkSurfaceTransformFlagBitsKHR transform;
11997 } VkCopyCommandTransformInfoQCOM;
12001 #define VK_EXT_image_robustness 1
12002 #define VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION 1
12003 #define VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_image_robustness"
12004 typedef struct VkPhysicalDeviceImageRobustnessFeaturesEXT {
12005 VkStructureType sType;
12007 VkBool32 robustImageAccess;
12008 } VkPhysicalDeviceImageRobustnessFeaturesEXT;
12012 #define VK_EXT_4444_formats 1
12013 #define VK_EXT_4444_FORMATS_SPEC_VERSION 1
12014 #define VK_EXT_4444_FORMATS_EXTENSION_NAME "VK_EXT_4444_formats"
12015 typedef struct VkPhysicalDevice4444FormatsFeaturesEXT {
12016 VkStructureType sType;
12018 VkBool32 formatA4R4G4B4;
12019 VkBool32 formatA4B4G4R4;
12020 } VkPhysicalDevice4444FormatsFeaturesEXT;
12024 #define VK_NV_acquire_winrt_display 1
12025 #define VK_NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION 1
12026 #define VK_NV_ACQUIRE_WINRT_DISPLAY_EXTENSION_NAME "VK_NV_acquire_winrt_display"
12027 typedef VkResult (VKAPI_PTR *PFN_vkAcquireWinrtDisplayNV)(VkPhysicalDevice physicalDevice, VkDisplayKHR display);
12028 typedef VkResult (VKAPI_PTR *PFN_vkGetWinrtDisplayNV)(VkPhysicalDevice physicalDevice, deUint32 deviceRelativeId, VkDisplayKHR* pDisplay);
12030 #ifndef VK_NO_PROTOTYPES
12031 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireWinrtDisplayNV(
12032 VkPhysicalDevice physicalDevice,
12033 VkDisplayKHR display);
12035 VKAPI_ATTR VkResult VKAPI_CALL vkGetWinrtDisplayNV(
12036 VkPhysicalDevice physicalDevice,
12037 deUint32 deviceRelativeId,
12038 VkDisplayKHR* pDisplay);
12042 #define VK_VALVE_mutable_descriptor_type 1
12043 #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION 1
12044 #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME "VK_VALVE_mutable_descriptor_type"
12045 typedef struct VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE {
12046 VkStructureType sType;
12048 VkBool32 mutableDescriptorType;
12049 } VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE;
12051 typedef struct VkMutableDescriptorTypeListVALVE {
12052 deUint32 descriptorTypeCount;
12053 const VkDescriptorType* pDescriptorTypes;
12054 } VkMutableDescriptorTypeListVALVE;
12056 typedef struct VkMutableDescriptorTypeCreateInfoVALVE {
12057 VkStructureType sType;
12059 deUint32 mutableDescriptorTypeListCount;
12060 const VkMutableDescriptorTypeListVALVE* pMutableDescriptorTypeLists;
12061 } VkMutableDescriptorTypeCreateInfoVALVE;
12065 #define VK_EXT_vertex_input_dynamic_state 1
12066 #define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION 2
12067 #define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_vertex_input_dynamic_state"
12068 typedef struct VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT {
12069 VkStructureType sType;
12071 VkBool32 vertexInputDynamicState;
12072 } VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT;
12074 typedef struct VkVertexInputBindingDescription2EXT {
12075 VkStructureType sType;
12079 VkVertexInputRate inputRate;
12081 } VkVertexInputBindingDescription2EXT;
12083 typedef struct VkVertexInputAttributeDescription2EXT {
12084 VkStructureType sType;
12090 } VkVertexInputAttributeDescription2EXT;
12092 typedef void (VKAPI_PTR *PFN_vkCmdSetVertexInputEXT)(VkCommandBuffer commandBuffer, deUint32 vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, deUint32 vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions);
12094 #ifndef VK_NO_PROTOTYPES
12095 VKAPI_ATTR void VKAPI_CALL vkCmdSetVertexInputEXT(
12096 VkCommandBuffer commandBuffer,
12097 deUint32 vertexBindingDescriptionCount,
12098 const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions,
12099 deUint32 vertexAttributeDescriptionCount,
12100 const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions);
12104 #define VK_EXT_color_write_enable 1
12105 #define VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION 1
12106 #define VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME "VK_EXT_color_write_enable"
12107 typedef struct VkPhysicalDeviceColorWriteEnableFeaturesEXT {
12108 VkStructureType sType;
12110 VkBool32 colorWriteEnable;
12111 } VkPhysicalDeviceColorWriteEnableFeaturesEXT;
12113 typedef struct VkPipelineColorWriteCreateInfoEXT {
12114 VkStructureType sType;
12116 deUint32 attachmentCount;
12117 const VkBool32* pColorWriteEnables;
12118 } VkPipelineColorWriteCreateInfoEXT;
12120 typedef void (VKAPI_PTR *PFN_vkCmdSetColorWriteEnableEXT)(VkCommandBuffer commandBuffer, deUint32 attachmentCount, const VkBool32* pColorWriteEnables);
12122 #ifndef VK_NO_PROTOTYPES
12123 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorWriteEnableEXT(
12124 VkCommandBuffer commandBuffer,
12125 deUint32 attachmentCount,
12126 const VkBool32* pColorWriteEnables);
12130 #define VK_KHR_acceleration_structure 1
12131 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR)
12132 #define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 11
12133 #define VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME "VK_KHR_acceleration_structure"
12135 typedef enum VkBuildAccelerationStructureModeKHR {
12136 VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR = 0,
12137 VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR = 1,
12138 VK_BUILD_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
12139 } VkBuildAccelerationStructureModeKHR;
12141 typedef enum VkAccelerationStructureBuildTypeKHR {
12142 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR = 0,
12143 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR = 1,
12144 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR = 2,
12145 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
12146 } VkAccelerationStructureBuildTypeKHR;
12148 typedef enum VkAccelerationStructureCompatibilityKHR {
12149 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR = 0,
12150 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR = 1,
12151 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_MAX_ENUM_KHR = 0x7FFFFFFF
12152 } VkAccelerationStructureCompatibilityKHR;
12154 typedef enum VkAccelerationStructureCreateFlagBitsKHR {
12155 VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = 0x00000001,
12156 VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
12157 } VkAccelerationStructureCreateFlagBitsKHR;
12158 typedef VkFlags VkAccelerationStructureCreateFlagsKHR;
12159 typedef union VkDeviceOrHostAddressKHR {
12160 VkDeviceAddress deviceAddress;
12162 } VkDeviceOrHostAddressKHR;
12164 typedef union VkDeviceOrHostAddressConstKHR {
12165 VkDeviceAddress deviceAddress;
12166 const void* hostAddress;
12167 } VkDeviceOrHostAddressConstKHR;
12169 typedef struct VkAccelerationStructureBuildRangeInfoKHR {
12170 deUint32 primitiveCount;
12171 deUint32 primitiveOffset;
12172 deUint32 firstVertex;
12173 deUint32 transformOffset;
12174 } VkAccelerationStructureBuildRangeInfoKHR;
12176 typedef struct VkAccelerationStructureGeometryTrianglesDataKHR {
12177 VkStructureType sType;
12179 VkFormat vertexFormat;
12180 VkDeviceOrHostAddressConstKHR vertexData;
12181 VkDeviceSize vertexStride;
12182 deUint32 maxVertex;
12183 VkIndexType indexType;
12184 VkDeviceOrHostAddressConstKHR indexData;
12185 VkDeviceOrHostAddressConstKHR transformData;
12186 } VkAccelerationStructureGeometryTrianglesDataKHR;
12188 typedef struct VkAccelerationStructureGeometryAabbsDataKHR {
12189 VkStructureType sType;
12191 VkDeviceOrHostAddressConstKHR data;
12192 VkDeviceSize stride;
12193 } VkAccelerationStructureGeometryAabbsDataKHR;
12195 typedef struct VkAccelerationStructureGeometryInstancesDataKHR {
12196 VkStructureType sType;
12198 VkBool32 arrayOfPointers;
12199 VkDeviceOrHostAddressConstKHR data;
12200 } VkAccelerationStructureGeometryInstancesDataKHR;
12202 typedef union VkAccelerationStructureGeometryDataKHR {
12203 VkAccelerationStructureGeometryTrianglesDataKHR triangles;
12204 VkAccelerationStructureGeometryAabbsDataKHR aabbs;
12205 VkAccelerationStructureGeometryInstancesDataKHR instances;
12206 } VkAccelerationStructureGeometryDataKHR;
12208 typedef struct VkAccelerationStructureGeometryKHR {
12209 VkStructureType sType;
12211 VkGeometryTypeKHR geometryType;
12212 VkAccelerationStructureGeometryDataKHR geometry;
12213 VkGeometryFlagsKHR flags;
12214 } VkAccelerationStructureGeometryKHR;
12216 typedef struct VkAccelerationStructureBuildGeometryInfoKHR {
12217 VkStructureType sType;
12219 VkAccelerationStructureTypeKHR type;
12220 VkBuildAccelerationStructureFlagsKHR flags;
12221 VkBuildAccelerationStructureModeKHR mode;
12222 VkAccelerationStructureKHR srcAccelerationStructure;
12223 VkAccelerationStructureKHR dstAccelerationStructure;
12224 deUint32 geometryCount;
12225 const VkAccelerationStructureGeometryKHR* pGeometries;
12226 const VkAccelerationStructureGeometryKHR* const* ppGeometries;
12227 VkDeviceOrHostAddressKHR scratchData;
12228 } VkAccelerationStructureBuildGeometryInfoKHR;
12230 typedef struct VkAccelerationStructureCreateInfoKHR {
12231 VkStructureType sType;
12233 VkAccelerationStructureCreateFlagsKHR createFlags;
12235 VkDeviceSize offset;
12237 VkAccelerationStructureTypeKHR type;
12238 VkDeviceAddress deviceAddress;
12239 } VkAccelerationStructureCreateInfoKHR;
12241 typedef struct VkWriteDescriptorSetAccelerationStructureKHR {
12242 VkStructureType sType;
12244 deUint32 accelerationStructureCount;
12245 const VkAccelerationStructureKHR* pAccelerationStructures;
12246 } VkWriteDescriptorSetAccelerationStructureKHR;
12248 typedef struct VkPhysicalDeviceAccelerationStructureFeaturesKHR {
12249 VkStructureType sType;
12251 VkBool32 accelerationStructure;
12252 VkBool32 accelerationStructureCaptureReplay;
12253 VkBool32 accelerationStructureIndirectBuild;
12254 VkBool32 accelerationStructureHostCommands;
12255 VkBool32 descriptorBindingAccelerationStructureUpdateAfterBind;
12256 } VkPhysicalDeviceAccelerationStructureFeaturesKHR;
12258 typedef struct VkPhysicalDeviceAccelerationStructurePropertiesKHR {
12259 VkStructureType sType;
12261 deUint64 maxGeometryCount;
12262 deUint64 maxInstanceCount;
12263 deUint64 maxPrimitiveCount;
12264 deUint32 maxPerStageDescriptorAccelerationStructures;
12265 deUint32 maxPerStageDescriptorUpdateAfterBindAccelerationStructures;
12266 deUint32 maxDescriptorSetAccelerationStructures;
12267 deUint32 maxDescriptorSetUpdateAfterBindAccelerationStructures;
12268 deUint32 minAccelerationStructureScratchOffsetAlignment;
12269 } VkPhysicalDeviceAccelerationStructurePropertiesKHR;
12271 typedef struct VkAccelerationStructureDeviceAddressInfoKHR {
12272 VkStructureType sType;
12274 VkAccelerationStructureKHR accelerationStructure;
12275 } VkAccelerationStructureDeviceAddressInfoKHR;
12277 typedef struct VkAccelerationStructureVersionInfoKHR {
12278 VkStructureType sType;
12280 const deUint8* pVersionData;
12281 } VkAccelerationStructureVersionInfoKHR;
12283 typedef struct VkCopyAccelerationStructureToMemoryInfoKHR {
12284 VkStructureType sType;
12286 VkAccelerationStructureKHR src;
12287 VkDeviceOrHostAddressKHR dst;
12288 VkCopyAccelerationStructureModeKHR mode;
12289 } VkCopyAccelerationStructureToMemoryInfoKHR;
12291 typedef struct VkCopyMemoryToAccelerationStructureInfoKHR {
12292 VkStructureType sType;
12294 VkDeviceOrHostAddressConstKHR src;
12295 VkAccelerationStructureKHR dst;
12296 VkCopyAccelerationStructureModeKHR mode;
12297 } VkCopyMemoryToAccelerationStructureInfoKHR;
12299 typedef struct VkCopyAccelerationStructureInfoKHR {
12300 VkStructureType sType;
12302 VkAccelerationStructureKHR src;
12303 VkAccelerationStructureKHR dst;
12304 VkCopyAccelerationStructureModeKHR mode;
12305 } VkCopyAccelerationStructureInfoKHR;
12307 typedef struct VkAccelerationStructureBuildSizesInfoKHR {
12308 VkStructureType sType;
12310 VkDeviceSize accelerationStructureSize;
12311 VkDeviceSize updateScratchSize;
12312 VkDeviceSize buildScratchSize;
12313 } VkAccelerationStructureBuildSizesInfoKHR;
12315 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureKHR)(VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure);
12316 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureKHR)(VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator);
12317 typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructuresKHR)(VkCommandBuffer commandBuffer, deUint32 infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
12318 typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructuresIndirectKHR)(VkCommandBuffer commandBuffer, deUint32 infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkDeviceAddress* pIndirectDeviceAddresses, const deUint32* pIndirectStrides, const deUint32* const* ppMaxPrimitiveCounts);
12319 typedef VkResult (VKAPI_PTR *PFN_vkBuildAccelerationStructuresKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, deUint32 infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
12320 typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureInfoKHR* pInfo);
12321 typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureToMemoryKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
12322 typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
12323 typedef VkResult (VKAPI_PTR *PFN_vkWriteAccelerationStructuresPropertiesKHR)(VkDevice device, deUint32 accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, deUintptr dataSize, void* pData, deUintptr stride);
12324 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureInfoKHR* pInfo);
12325 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureToMemoryKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
12326 typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
12327 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetAccelerationStructureDeviceAddressKHR)(VkDevice device, const VkAccelerationStructureDeviceAddressInfoKHR* pInfo);
12328 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesKHR)(VkCommandBuffer commandBuffer, deUint32 accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, deUint32 firstQuery);
12329 typedef void (VKAPI_PTR *PFN_vkGetDeviceAccelerationStructureCompatibilityKHR)(VkDevice device, const VkAccelerationStructureVersionInfoKHR* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility);
12330 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureBuildSizesKHR)(VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo, const deUint32* pMaxPrimitiveCounts, VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo);
12332 #ifndef VK_NO_PROTOTYPES
12333 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureKHR(
12335 const VkAccelerationStructureCreateInfoKHR* pCreateInfo,
12336 const VkAllocationCallbacks* pAllocator,
12337 VkAccelerationStructureKHR* pAccelerationStructure);
12339 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureKHR(
12341 VkAccelerationStructureKHR accelerationStructure,
12342 const VkAllocationCallbacks* pAllocator);
12344 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresKHR(
12345 VkCommandBuffer commandBuffer,
12346 deUint32 infoCount,
12347 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
12348 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
12350 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresIndirectKHR(
12351 VkCommandBuffer commandBuffer,
12352 deUint32 infoCount,
12353 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
12354 const VkDeviceAddress* pIndirectDeviceAddresses,
12355 const deUint32* pIndirectStrides,
12356 const deUint32* const* ppMaxPrimitiveCounts);
12358 VKAPI_ATTR VkResult VKAPI_CALL vkBuildAccelerationStructuresKHR(
12360 VkDeferredOperationKHR deferredOperation,
12361 deUint32 infoCount,
12362 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
12363 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
12365 VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureKHR(
12367 VkDeferredOperationKHR deferredOperation,
12368 const VkCopyAccelerationStructureInfoKHR* pInfo);
12370 VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureToMemoryKHR(
12372 VkDeferredOperationKHR deferredOperation,
12373 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
12375 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToAccelerationStructureKHR(
12377 VkDeferredOperationKHR deferredOperation,
12378 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
12380 VKAPI_ATTR VkResult VKAPI_CALL vkWriteAccelerationStructuresPropertiesKHR(
12382 deUint32 accelerationStructureCount,
12383 const VkAccelerationStructureKHR* pAccelerationStructures,
12384 VkQueryType queryType,
12385 deUintptr dataSize,
12389 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureKHR(
12390 VkCommandBuffer commandBuffer,
12391 const VkCopyAccelerationStructureInfoKHR* pInfo);
12393 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureToMemoryKHR(
12394 VkCommandBuffer commandBuffer,
12395 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
12397 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToAccelerationStructureKHR(
12398 VkCommandBuffer commandBuffer,
12399 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
12401 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetAccelerationStructureDeviceAddressKHR(
12403 const VkAccelerationStructureDeviceAddressInfoKHR* pInfo);
12405 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesKHR(
12406 VkCommandBuffer commandBuffer,
12407 deUint32 accelerationStructureCount,
12408 const VkAccelerationStructureKHR* pAccelerationStructures,
12409 VkQueryType queryType,
12410 VkQueryPool queryPool,
12411 deUint32 firstQuery);
12413 VKAPI_ATTR void VKAPI_CALL vkGetDeviceAccelerationStructureCompatibilityKHR(
12415 const VkAccelerationStructureVersionInfoKHR* pVersionInfo,
12416 VkAccelerationStructureCompatibilityKHR* pCompatibility);
12418 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureBuildSizesKHR(
12420 VkAccelerationStructureBuildTypeKHR buildType,
12421 const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo,
12422 const deUint32* pMaxPrimitiveCounts,
12423 VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo);
12427 #define VK_KHR_ray_tracing_pipeline 1
12428 #define VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION 1
12429 #define VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME "VK_KHR_ray_tracing_pipeline"
12431 typedef enum VkShaderGroupShaderKHR {
12432 VK_SHADER_GROUP_SHADER_GENERAL_KHR = 0,
12433 VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR = 1,
12434 VK_SHADER_GROUP_SHADER_ANY_HIT_KHR = 2,
12435 VK_SHADER_GROUP_SHADER_INTERSECTION_KHR = 3,
12436 VK_SHADER_GROUP_SHADER_MAX_ENUM_KHR = 0x7FFFFFFF
12437 } VkShaderGroupShaderKHR;
12438 typedef struct VkRayTracingShaderGroupCreateInfoKHR {
12439 VkStructureType sType;
12441 VkRayTracingShaderGroupTypeKHR type;
12442 deUint32 generalShader;
12443 deUint32 closestHitShader;
12444 deUint32 anyHitShader;
12445 deUint32 intersectionShader;
12446 const void* pShaderGroupCaptureReplayHandle;
12447 } VkRayTracingShaderGroupCreateInfoKHR;
12449 typedef struct VkRayTracingPipelineInterfaceCreateInfoKHR {
12450 VkStructureType sType;
12452 deUint32 maxPipelineRayPayloadSize;
12453 deUint32 maxPipelineRayHitAttributeSize;
12454 } VkRayTracingPipelineInterfaceCreateInfoKHR;
12456 typedef struct VkRayTracingPipelineCreateInfoKHR {
12457 VkStructureType sType;
12459 VkPipelineCreateFlags flags;
12460 deUint32 stageCount;
12461 const VkPipelineShaderStageCreateInfo* pStages;
12462 deUint32 groupCount;
12463 const VkRayTracingShaderGroupCreateInfoKHR* pGroups;
12464 deUint32 maxPipelineRayRecursionDepth;
12465 const VkPipelineLibraryCreateInfoKHR* pLibraryInfo;
12466 const VkRayTracingPipelineInterfaceCreateInfoKHR* pLibraryInterface;
12467 const VkPipelineDynamicStateCreateInfo* pDynamicState;
12468 VkPipelineLayout layout;
12469 VkPipeline basePipelineHandle;
12470 deInt32 basePipelineIndex;
12471 } VkRayTracingPipelineCreateInfoKHR;
12473 typedef struct VkPhysicalDeviceRayTracingPipelineFeaturesKHR {
12474 VkStructureType sType;
12476 VkBool32 rayTracingPipeline;
12477 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplay;
12478 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplayMixed;
12479 VkBool32 rayTracingPipelineTraceRaysIndirect;
12480 VkBool32 rayTraversalPrimitiveCulling;
12481 } VkPhysicalDeviceRayTracingPipelineFeaturesKHR;
12483 typedef struct VkPhysicalDeviceRayTracingPipelinePropertiesKHR {
12484 VkStructureType sType;
12486 deUint32 shaderGroupHandleSize;
12487 deUint32 maxRayRecursionDepth;
12488 deUint32 maxShaderGroupStride;
12489 deUint32 shaderGroupBaseAlignment;
12490 deUint32 shaderGroupHandleCaptureReplaySize;
12491 deUint32 maxRayDispatchInvocationCount;
12492 deUint32 shaderGroupHandleAlignment;
12493 deUint32 maxRayHitAttributeSize;
12494 } VkPhysicalDeviceRayTracingPipelinePropertiesKHR;
12496 typedef struct VkStridedDeviceAddressRegionKHR {
12497 VkDeviceAddress deviceAddress;
12498 VkDeviceSize stride;
12500 } VkStridedDeviceAddressRegionKHR;
12502 typedef struct VkTraceRaysIndirectCommandKHR {
12506 } VkTraceRaysIndirectCommandKHR;
12508 typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysKHR)(VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, deUint32 width, deUint32 height, deUint32 depth);
12509 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
12510 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, deUint32 firstGroup, deUint32 groupCount, deUintptr dataSize, void* pData);
12511 typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysIndirectKHR)(VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, VkDeviceAddress indirectDeviceAddress);
12512 typedef VkDeviceSize (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupStackSizeKHR)(VkDevice device, VkPipeline pipeline, deUint32 group, VkShaderGroupShaderKHR groupShader);
12513 typedef void (VKAPI_PTR *PFN_vkCmdSetRayTracingPipelineStackSizeKHR)(VkCommandBuffer commandBuffer, deUint32 pipelineStackSize);
12515 #ifndef VK_NO_PROTOTYPES
12516 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysKHR(
12517 VkCommandBuffer commandBuffer,
12518 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable,
12519 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable,
12520 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable,
12521 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable,
12526 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesKHR(
12528 VkDeferredOperationKHR deferredOperation,
12529 VkPipelineCache pipelineCache,
12530 deUint32 createInfoCount,
12531 const VkRayTracingPipelineCreateInfoKHR* pCreateInfos,
12532 const VkAllocationCallbacks* pAllocator,
12533 VkPipeline* pPipelines);
12535 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
12537 VkPipeline pipeline,
12538 deUint32 firstGroup,
12539 deUint32 groupCount,
12540 deUintptr dataSize,
12543 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysIndirectKHR(
12544 VkCommandBuffer commandBuffer,
12545 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable,
12546 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable,
12547 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable,
12548 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable,
12549 VkDeviceAddress indirectDeviceAddress);
12551 VKAPI_ATTR VkDeviceSize VKAPI_CALL vkGetRayTracingShaderGroupStackSizeKHR(
12553 VkPipeline pipeline,
12555 VkShaderGroupShaderKHR groupShader);
12557 VKAPI_ATTR void VKAPI_CALL vkCmdSetRayTracingPipelineStackSizeKHR(
12558 VkCommandBuffer commandBuffer,
12559 deUint32 pipelineStackSize);
12563 #define VK_KHR_ray_query 1
12564 #define VK_KHR_RAY_QUERY_SPEC_VERSION 1
12565 #define VK_KHR_RAY_QUERY_EXTENSION_NAME "VK_KHR_ray_query"
12566 typedef struct VkPhysicalDeviceRayQueryFeaturesKHR {
12567 VkStructureType sType;
12570 } VkPhysicalDeviceRayQueryFeaturesKHR;