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 #if !defined(VK_DEFINE_NON_DISPATCHABLE_HANDLE)
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_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object;
35 #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef deUint64 object;
39 #define VK_MAKE_VERSION(major, minor, patch) \
40 ((((deUint32)(major)) << 22) | (((deUint32)(minor)) << 12) | ((deUint32)(patch)))
42 // 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.
43 //#define VK_API_VERSION VK_MAKE_VERSION(1, 0, 0) // Patch version should always be set to 0
45 // Vulkan 1.0 version number
46 #define VK_API_VERSION_1_0 VK_MAKE_VERSION(1, 0, 0)// Patch version should always be set to 0
48 // Version of this file
49 #define VK_HEADER_VERSION 170
51 // Complete version of this file
52 #define VK_HEADER_VERSION_COMPLETE VK_MAKE_VERSION(1, 2, VK_HEADER_VERSION)
54 #define VK_VERSION_MAJOR(version) ((deUint32)(version) >> 22)
55 #define VK_VERSION_MINOR(version) (((deUint32)(version) >> 12) & 0x3ff)
56 #define VK_VERSION_PATCH(version) ((deUint32)(version) & 0xfff)
58 #define VK_NULL_HANDLE 0
60 typedef deUint32 VkBool32;
61 typedef deUint64 VkDeviceAddress;
62 typedef deUint64 VkDeviceSize;
63 typedef deUint32 VkFlags;
64 typedef deUint32 VkSampleMask;
65 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer)
66 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage)
67 VK_DEFINE_HANDLE(VkInstance)
68 VK_DEFINE_HANDLE(VkPhysicalDevice)
69 VK_DEFINE_HANDLE(VkDevice)
70 VK_DEFINE_HANDLE(VkQueue)
71 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphore)
72 VK_DEFINE_HANDLE(VkCommandBuffer)
73 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFence)
74 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeviceMemory)
75 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkEvent)
76 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkQueryPool)
77 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferView)
78 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImageView)
79 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderModule)
80 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache)
81 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineLayout)
82 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipeline)
83 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass)
84 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout)
85 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSampler)
86 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSet)
87 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool)
88 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer)
89 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool)
90 #define VK_ATTACHMENT_UNUSED (~0U)
92 #define VK_LOD_CLAMP_NONE 1000.0f
93 #define VK_QUEUE_FAMILY_IGNORED (~0U)
94 #define VK_REMAINING_ARRAY_LAYERS (~0U)
95 #define VK_REMAINING_MIP_LEVELS (~0U)
96 #define VK_SUBPASS_EXTERNAL (~0U)
98 #define VK_WHOLE_SIZE (~0ULL)
99 #define VK_MAX_MEMORY_TYPES 32
100 #define VK_MAX_MEMORY_HEAPS 16
101 #define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE 256
102 #define VK_UUID_SIZE 16
103 #define VK_MAX_EXTENSION_NAME_SIZE 256
104 #define VK_MAX_DESCRIPTION_SIZE 256
106 typedef enum VkResult {
113 VK_ERROR_OUT_OF_HOST_MEMORY = -1,
114 VK_ERROR_OUT_OF_DEVICE_MEMORY = -2,
115 VK_ERROR_INITIALIZATION_FAILED = -3,
116 VK_ERROR_DEVICE_LOST = -4,
117 VK_ERROR_MEMORY_MAP_FAILED = -5,
118 VK_ERROR_LAYER_NOT_PRESENT = -6,
119 VK_ERROR_EXTENSION_NOT_PRESENT = -7,
120 VK_ERROR_FEATURE_NOT_PRESENT = -8,
121 VK_ERROR_INCOMPATIBLE_DRIVER = -9,
122 VK_ERROR_TOO_MANY_OBJECTS = -10,
123 VK_ERROR_FORMAT_NOT_SUPPORTED = -11,
124 VK_ERROR_FRAGMENTED_POOL = -12,
125 VK_ERROR_UNKNOWN = -13,
126 VK_ERROR_OUT_OF_POOL_MEMORY = -1000069000,
127 VK_ERROR_INVALID_EXTERNAL_HANDLE = -1000072003,
128 VK_ERROR_FRAGMENTATION = -1000161000,
129 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS = -1000257000,
130 VK_ERROR_SURFACE_LOST_KHR = -1000000000,
131 VK_ERROR_NATIVE_WINDOW_IN_USE_KHR = -1000000001,
132 VK_SUBOPTIMAL_KHR = 1000001003,
133 VK_ERROR_OUT_OF_DATE_KHR = -1000001004,
134 VK_ERROR_INCOMPATIBLE_DISPLAY_KHR = -1000003001,
135 VK_ERROR_VALIDATION_FAILED_EXT = -1000011001,
136 VK_ERROR_INVALID_SHADER_NV = -1000012000,
137 VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT = -1000158000,
138 VK_ERROR_NOT_PERMITTED_EXT = -1000174001,
139 VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT = -1000255000,
140 VK_THREAD_IDLE_KHR = 1000268000,
141 VK_THREAD_DONE_KHR = 1000268001,
142 VK_OPERATION_DEFERRED_KHR = 1000268002,
143 VK_OPERATION_NOT_DEFERRED_KHR = 1000268003,
144 VK_PIPELINE_COMPILE_REQUIRED_EXT = 1000297000,
145 VK_ERROR_OUT_OF_POOL_MEMORY_KHR = VK_ERROR_OUT_OF_POOL_MEMORY,
146 VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = VK_ERROR_INVALID_EXTERNAL_HANDLE,
147 VK_ERROR_FRAGMENTATION_EXT = VK_ERROR_FRAGMENTATION,
148 VK_ERROR_INVALID_DEVICE_ADDRESS_EXT = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS,
149 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS,
150 VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT = VK_PIPELINE_COMPILE_REQUIRED_EXT,
151 VK_RESULT_MAX_ENUM = 0x7FFFFFFF
154 typedef enum VkStructureType {
155 VK_STRUCTURE_TYPE_APPLICATION_INFO = 0,
156 VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = 1,
157 VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO = 2,
158 VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO = 3,
159 VK_STRUCTURE_TYPE_SUBMIT_INFO = 4,
160 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO = 5,
161 VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = 6,
162 VK_STRUCTURE_TYPE_BIND_SPARSE_INFO = 7,
163 VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = 8,
164 VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO = 9,
165 VK_STRUCTURE_TYPE_EVENT_CREATE_INFO = 10,
166 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO = 11,
167 VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = 12,
168 VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO = 13,
169 VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = 14,
170 VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO = 15,
171 VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO = 16,
172 VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO = 17,
173 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO = 18,
174 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO = 19,
175 VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO = 20,
176 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO = 21,
177 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO = 22,
178 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO = 23,
179 VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO = 24,
180 VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO = 25,
181 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO = 26,
182 VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO = 27,
183 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO = 28,
184 VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO = 29,
185 VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO = 30,
186 VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO = 31,
187 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO = 32,
188 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO = 33,
189 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO = 34,
190 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = 35,
191 VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = 36,
192 VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO = 37,
193 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO = 38,
194 VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO = 39,
195 VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO = 40,
196 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO = 41,
197 VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO = 42,
198 VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = 43,
199 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER = 44,
200 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = 45,
201 VK_STRUCTURE_TYPE_MEMORY_BARRIER = 46,
202 VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO = 47,
203 VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO = 48,
204 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES = 1000094000,
205 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO = 1000157000,
206 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO = 1000157001,
207 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES = 1000083000,
208 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS = 1000127000,
209 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO = 1000127001,
210 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO = 1000060000,
211 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO = 1000060003,
212 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO = 1000060004,
213 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO = 1000060005,
214 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO = 1000060006,
215 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO = 1000060013,
216 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO = 1000060014,
217 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES = 1000070000,
218 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO = 1000070001,
219 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 = 1000146000,
220 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 = 1000146001,
221 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 = 1000146002,
222 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 = 1000146003,
223 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 = 1000146004,
224 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 = 1000059000,
225 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 = 1000059001,
226 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 = 1000059002,
227 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 = 1000059003,
228 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 = 1000059004,
229 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 = 1000059005,
230 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 = 1000059006,
231 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 = 1000059007,
232 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 = 1000059008,
233 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES = 1000117000,
234 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO = 1000117001,
235 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO = 1000117002,
236 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO = 1000117003,
237 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO = 1000053000,
238 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES = 1000053001,
239 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES = 1000053002,
240 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES = 1000120000,
241 VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO = 1000145000,
242 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES = 1000145001,
243 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES = 1000145002,
244 VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 = 1000145003,
245 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO = 1000156000,
246 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO = 1000156001,
247 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO = 1000156002,
248 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO = 1000156003,
249 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES = 1000156004,
250 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES = 1000156005,
251 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO = 1000085000,
252 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO = 1000071000,
253 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES = 1000071001,
254 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO = 1000071002,
255 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES = 1000071003,
256 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES = 1000071004,
257 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO = 1000072000,
258 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO = 1000072001,
259 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO = 1000072002,
260 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO = 1000112000,
261 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES = 1000112001,
262 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO = 1000113000,
263 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO = 1000077000,
264 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO = 1000076000,
265 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES = 1000076001,
266 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES = 1000168000,
267 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT = 1000168001,
268 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES = 1000063000,
269 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES = 49,
270 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES = 50,
271 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES = 51,
272 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES = 52,
273 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO = 1000147000,
274 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 = 1000109000,
275 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 = 1000109001,
276 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 = 1000109002,
277 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 = 1000109003,
278 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 = 1000109004,
279 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO = 1000109005,
280 VK_STRUCTURE_TYPE_SUBPASS_END_INFO = 1000109006,
281 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES = 1000177000,
282 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES = 1000196000,
283 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES = 1000180000,
284 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES = 1000082000,
285 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES = 1000197000,
286 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO = 1000161000,
287 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES = 1000161001,
288 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES = 1000161002,
289 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO = 1000161003,
290 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT = 1000161004,
291 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES = 1000199000,
292 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE = 1000199001,
293 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES = 1000221000,
294 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO = 1000246000,
295 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES = 1000130000,
296 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO = 1000130001,
297 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES = 1000211000,
298 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES = 1000108000,
299 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO = 1000108001,
300 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO = 1000108002,
301 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO = 1000108003,
302 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES = 1000253000,
303 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES = 1000175000,
304 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES = 1000241000,
305 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT = 1000241001,
306 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT = 1000241002,
307 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES = 1000261000,
308 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES = 1000207000,
309 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES = 1000207001,
310 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO = 1000207002,
311 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO = 1000207003,
312 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO = 1000207004,
313 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO = 1000207005,
314 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES = 1000257000,
315 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO = 1000244001,
316 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO = 1000257002,
317 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO = 1000257003,
318 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO = 1000257004,
319 VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR = 1000001000,
320 VK_STRUCTURE_TYPE_PRESENT_INFO_KHR = 1000001001,
321 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR = 1000060007,
322 VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR = 1000060008,
323 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR = 1000060009,
324 VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR = 1000060010,
325 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR = 1000060011,
326 VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR = 1000060012,
327 VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR = 1000002000,
328 VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR = 1000002001,
329 VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR = 1000003000,
330 VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR = 1000004000,
331 VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR = 1000005000,
332 VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR = 1000006000,
333 VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR = 1000008000,
334 VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR = 1000009000,
335 VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT = 1000011000,
336 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD = 1000018000,
337 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT = 1000022000,
338 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT = 1000022001,
339 VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT = 1000022002,
340 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000,
341 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001,
342 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV = 1000026002,
343 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT = 1000028000,
344 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT = 1000028001,
345 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT = 1000028002,
346 VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX = 1000030000,
347 VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX = 1000030001,
348 VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000,
349 VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP = 1000049000,
350 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV = 1000050000,
351 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = 1000056000,
352 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV = 1000056001,
353 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057000,
354 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057001,
355 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV = 1000058000,
356 VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT = 1000061000,
357 VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN = 1000062000,
358 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT = 1000066000,
359 VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT = 1000067000,
360 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT = 1000067001,
361 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073000,
362 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073001,
363 VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR = 1000073002,
364 VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR = 1000073003,
365 VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR = 1000074000,
366 VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR = 1000074001,
367 VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR = 1000074002,
368 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR = 1000075000,
369 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078000,
370 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078001,
371 VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR = 1000078002,
372 VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR = 1000078003,
373 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR = 1000079000,
374 VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR = 1000079001,
375 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR = 1000080000,
376 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT = 1000081000,
377 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT = 1000081001,
378 VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT = 1000081002,
379 VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR = 1000084000,
380 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV = 1000087000,
381 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT = 1000090000,
382 VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT = 1000091000,
383 VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT = 1000091001,
384 VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT = 1000091002,
385 VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT = 1000091003,
386 VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE = 1000092000,
387 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX = 1000097000,
388 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV = 1000098000,
389 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT = 1000099000,
390 VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT = 1000099001,
391 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT = 1000101000,
392 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT = 1000101001,
393 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT = 1000102000,
394 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT = 1000102001,
395 VK_STRUCTURE_TYPE_HDR_METADATA_EXT = 1000105000,
396 VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR = 1000111000,
397 VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114000,
398 VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114001,
399 VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR = 1000114002,
400 VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR = 1000115000,
401 VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR = 1000115001,
402 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR = 1000116000,
403 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR = 1000116001,
404 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR = 1000116002,
405 VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR = 1000116003,
406 VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR = 1000116004,
407 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR = 1000116005,
408 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR = 1000116006,
409 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR = 1000119000,
410 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR = 1000119001,
411 VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR = 1000119002,
412 VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR = 1000121000,
413 VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR = 1000121001,
414 VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR = 1000121002,
415 VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR = 1000121003,
416 VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR = 1000121004,
417 VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK = 1000122000,
418 VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK = 1000123000,
419 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT = 1000128000,
420 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT = 1000128001,
421 VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT = 1000128002,
422 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT = 1000128003,
423 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT = 1000128004,
424 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID = 1000129000,
425 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID = 1000129001,
426 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID = 1000129002,
427 VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129003,
428 VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129004,
429 VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID = 1000129005,
430 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT = 1000138000,
431 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT = 1000138001,
432 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT = 1000138002,
433 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT = 1000138003,
434 VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT = 1000143000,
435 VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT = 1000143001,
436 VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT = 1000143002,
437 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT = 1000143003,
438 VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT = 1000143004,
439 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT = 1000148000,
440 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT = 1000148001,
441 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT = 1000148002,
442 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV = 1000149000,
443 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR = 1000150007,
444 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR = 1000150000,
445 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR = 1000150002,
446 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR = 1000150003,
447 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR = 1000150004,
448 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR = 1000150005,
449 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR = 1000150006,
450 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR = 1000150009,
451 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR = 1000150010,
452 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR = 1000150011,
453 VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR = 1000150012,
454 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR = 1000150013,
455 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR = 1000150014,
456 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR = 1000150017,
457 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR = 1000150020,
458 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR = 1000347000,
459 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR = 1000347001,
460 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR = 1000150015,
461 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR = 1000150016,
462 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR = 1000150018,
463 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR = 1000348013,
464 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV = 1000152000,
465 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV = 1000154000,
466 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV = 1000154001,
467 VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT = 1000158000,
468 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT = 1000158002,
469 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT = 1000158003,
470 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT = 1000158004,
471 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT = 1000158005,
472 VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160000,
473 VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160001,
474 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR = 1000163000,
475 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR = 1000163001,
476 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV = 1000164000,
477 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV = 1000164001,
478 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV = 1000164002,
479 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV = 1000164005,
480 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV = 1000165000,
481 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV = 1000165001,
482 VK_STRUCTURE_TYPE_GEOMETRY_NV = 1000165003,
483 VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV = 1000165004,
484 VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV = 1000165005,
485 VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV = 1000165006,
486 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV = 1000165007,
487 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV = 1000165008,
488 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV = 1000165009,
489 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV = 1000165011,
490 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV = 1000165012,
491 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV = 1000166000,
492 VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV = 1000166001,
493 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT = 1000170000,
494 VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT = 1000170001,
495 VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = 1000174000,
496 VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT = 1000178000,
497 VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT = 1000178001,
498 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT = 1000178002,
499 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR = 1000181000,
500 VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD = 1000183000,
501 VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT = 1000184000,
502 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD = 1000185000,
503 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD = 1000189000,
504 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT = 1000190000,
505 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT = 1000190001,
506 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT = 1000190002,
507 VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP = 1000191000,
508 VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT = 1000192000,
509 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV = 1000201000,
510 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV = 1000202000,
511 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV = 1000202001,
512 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV = 1000203000,
513 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV = 1000204000,
514 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV = 1000205000,
515 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV = 1000205002,
516 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV = 1000206000,
517 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV = 1000206001,
518 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL = 1000209000,
519 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL = 1000210000,
520 VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL = 1000210001,
521 VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL = 1000210002,
522 VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL = 1000210003,
523 VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL = 1000210004,
524 VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL = 1000210005,
525 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT = 1000212000,
526 VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD = 1000213000,
527 VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD = 1000213001,
528 VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA = 1000214000,
529 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR = 1000215000,
530 VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT = 1000217000,
531 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT = 1000218000,
532 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT = 1000218001,
533 VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT = 1000218002,
534 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT = 1000225000,
535 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = 1000225001,
536 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT = 1000225002,
537 VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000226000,
538 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR = 1000226001,
539 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR = 1000226002,
540 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR = 1000226003,
541 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR = 1000226004,
542 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD = 1000227000,
543 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD = 1000229000,
544 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT = 1000234000,
545 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT = 1000237000,
546 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT = 1000238000,
547 VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT = 1000238001,
548 VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR = 1000239000,
549 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV = 1000240000,
550 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT = 1000244000,
551 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT = 1000244002,
552 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT = 1000245000,
553 VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT = 1000247000,
554 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV = 1000249000,
555 VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249001,
556 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249002,
557 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV = 1000250000,
558 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV = 1000250001,
559 VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV = 1000250002,
560 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT = 1000251000,
561 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT = 1000252000,
562 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT = 1000255000,
563 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT = 1000255002,
564 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT = 1000255001,
565 VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT = 1000256000,
566 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT = 1000259000,
567 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT = 1000259001,
568 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT = 1000259002,
569 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT = 1000260000,
570 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT = 1000265000,
571 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT = 1000267000,
572 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR = 1000269000,
573 VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR = 1000269001,
574 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR = 1000269002,
575 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR = 1000269003,
576 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR = 1000269004,
577 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR = 1000269005,
578 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = 1000276000,
579 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV = 1000277000,
580 VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV = 1000277001,
581 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV = 1000277002,
582 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV = 1000277003,
583 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV = 1000277004,
584 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV = 1000277005,
585 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV = 1000277006,
586 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV = 1000277007,
587 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT = 1000281000,
588 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT = 1000281001,
589 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM = 1000282000,
590 VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM = 1000282001,
591 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT = 1000284000,
592 VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT = 1000284001,
593 VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT = 1000284002,
594 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT = 1000286000,
595 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT = 1000286001,
596 VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT = 1000287000,
597 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT = 1000287001,
598 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT = 1000287002,
599 VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR = 1000290000,
600 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT = 1000295000,
601 VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT = 1000295001,
602 VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT = 1000295002,
603 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT = 1000297000,
604 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV = 1000300000,
605 VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV = 1000300001,
606 VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR = 1000314000,
607 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR = 1000314001,
608 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR = 1000314002,
609 VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR = 1000314003,
610 VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR = 1000314004,
611 VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR = 1000314005,
612 VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR = 1000314006,
613 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR = 1000314007,
614 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV = 1000314008,
615 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV = 1000314009,
616 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = 1000325000,
617 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV = 1000326000,
618 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV = 1000326001,
619 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV = 1000326002,
620 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT = 1000332000,
621 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT = 1000332001,
622 VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM = 1000333000,
623 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT = 1000335000,
624 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR = 1000336000,
625 VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR = 1000337000,
626 VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR = 1000337001,
627 VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR = 1000337002,
628 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR = 1000337003,
629 VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR = 1000337004,
630 VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR = 1000337005,
631 VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR = 1000337006,
632 VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR = 1000337007,
633 VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR = 1000337008,
634 VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR = 1000337009,
635 VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR = 1000337010,
636 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT = 1000340000,
637 VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT = 1000346000,
638 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE = 1000351000,
639 VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE = 1000351002,
640 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
641 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
642 VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
643 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO,
644 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES,
645 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,
646 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2,
647 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2,
648 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2,
649 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2,
650 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2,
651 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2,
652 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2,
653 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2,
654 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2,
655 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO,
656 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO,
657 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO,
658 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO,
659 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO,
660 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO,
661 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO,
662 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES,
663 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO,
664 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO,
665 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES,
666 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO,
667 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES,
668 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES,
669 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO,
670 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO,
671 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO,
672 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO,
673 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES,
674 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO,
675 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
676 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
677 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES,
678 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO,
679 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT,
680 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES,
681 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO,
682 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO,
683 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO,
684 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2,
685 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2,
686 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2,
687 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2,
688 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2,
689 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO,
690 VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_END_INFO,
691 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO,
692 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES,
693 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO,
694 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES,
695 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO,
696 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO,
697 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO,
698 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
699 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR,
700 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS,
701 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO,
702 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES,
703 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO,
704 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2,
705 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2,
706 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2,
707 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2,
708 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2,
709 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO,
710 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO,
711 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO,
712 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO,
713 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO,
714 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,
715 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,
716 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO,
717 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO,
718 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO,
719 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES,
720 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES,
721 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO,
722 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT,
723 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,
724 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT,
725 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES,
726 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES,
727 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES,
728 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES,
729 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES,
730 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES,
731 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE,
732 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES,
733 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES,
734 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO,
735 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO,
736 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO,
737 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO,
738 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL = VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL,
739 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES,
740 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES,
741 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES,
742 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT,
743 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT,
744 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT,
745 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
746 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO,
747 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES,
748 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES,
749 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
750 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO,
751 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO,
752 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO,
753 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES,
754 VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF
757 typedef enum VkImageLayout {
758 VK_IMAGE_LAYOUT_UNDEFINED = 0,
759 VK_IMAGE_LAYOUT_GENERAL = 1,
760 VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2,
761 VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3,
762 VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4,
763 VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5,
764 VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6,
765 VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7,
766 VK_IMAGE_LAYOUT_PREINITIALIZED = 8,
767 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL = 1000117000,
768 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL = 1000117001,
769 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL = 1000241000,
770 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL = 1000241001,
771 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL = 1000241002,
772 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL = 1000241003,
773 VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002,
774 VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR = 1000111000,
775 VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = 1000164003,
776 VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000,
777 VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = 1000314000,
778 VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = 1000314001,
779 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,
780 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,
781 VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV,
782 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
783 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
784 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL,
785 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL,
786 VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF
789 typedef enum VkObjectType {
790 VK_OBJECT_TYPE_UNKNOWN = 0,
791 VK_OBJECT_TYPE_INSTANCE = 1,
792 VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2,
793 VK_OBJECT_TYPE_DEVICE = 3,
794 VK_OBJECT_TYPE_QUEUE = 4,
795 VK_OBJECT_TYPE_SEMAPHORE = 5,
796 VK_OBJECT_TYPE_COMMAND_BUFFER = 6,
797 VK_OBJECT_TYPE_FENCE = 7,
798 VK_OBJECT_TYPE_DEVICE_MEMORY = 8,
799 VK_OBJECT_TYPE_BUFFER = 9,
800 VK_OBJECT_TYPE_IMAGE = 10,
801 VK_OBJECT_TYPE_EVENT = 11,
802 VK_OBJECT_TYPE_QUERY_POOL = 12,
803 VK_OBJECT_TYPE_BUFFER_VIEW = 13,
804 VK_OBJECT_TYPE_IMAGE_VIEW = 14,
805 VK_OBJECT_TYPE_SHADER_MODULE = 15,
806 VK_OBJECT_TYPE_PIPELINE_CACHE = 16,
807 VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17,
808 VK_OBJECT_TYPE_RENDER_PASS = 18,
809 VK_OBJECT_TYPE_PIPELINE = 19,
810 VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20,
811 VK_OBJECT_TYPE_SAMPLER = 21,
812 VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22,
813 VK_OBJECT_TYPE_DESCRIPTOR_SET = 23,
814 VK_OBJECT_TYPE_FRAMEBUFFER = 24,
815 VK_OBJECT_TYPE_COMMAND_POOL = 25,
816 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION = 1000156000,
817 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE = 1000085000,
818 VK_OBJECT_TYPE_SURFACE_KHR = 1000000000,
819 VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000,
820 VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000,
821 VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001,
822 VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000,
823 VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000,
824 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000,
825 VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000,
826 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000,
827 VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL = 1000210000,
828 VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR = 1000268000,
829 VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV = 1000277000,
830 VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = 1000295000,
831 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,
832 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,
833 VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF
836 typedef enum VkVendorId {
837 VK_VENDOR_ID_VIV = 0x10001,
838 VK_VENDOR_ID_VSI = 0x10002,
839 VK_VENDOR_ID_KAZAN = 0x10003,
840 VK_VENDOR_ID_CODEPLAY = 0x10004,
841 VK_VENDOR_ID_MESA = 0x10005,
842 VK_VENDOR_ID_POCL = 0x10006,
843 VK_VENDOR_ID_MAX_ENUM = 0x7FFFFFFF
846 typedef enum VkPipelineCacheHeaderVersion {
847 VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1,
848 VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF
849 } VkPipelineCacheHeaderVersion;
851 typedef enum VkSystemAllocationScope {
852 VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0,
853 VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1,
854 VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2,
855 VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3,
856 VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4,
857 VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = 0x7FFFFFFF
858 } VkSystemAllocationScope;
860 typedef enum VkInternalAllocationType {
861 VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0,
862 VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM = 0x7FFFFFFF
863 } VkInternalAllocationType;
865 typedef enum VkFormat {
866 VK_FORMAT_UNDEFINED = 0,
867 VK_FORMAT_R4G4_UNORM_PACK8 = 1,
868 VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2,
869 VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3,
870 VK_FORMAT_R5G6B5_UNORM_PACK16 = 4,
871 VK_FORMAT_B5G6R5_UNORM_PACK16 = 5,
872 VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6,
873 VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7,
874 VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8,
875 VK_FORMAT_R8_UNORM = 9,
876 VK_FORMAT_R8_SNORM = 10,
877 VK_FORMAT_R8_USCALED = 11,
878 VK_FORMAT_R8_SSCALED = 12,
879 VK_FORMAT_R8_UINT = 13,
880 VK_FORMAT_R8_SINT = 14,
881 VK_FORMAT_R8_SRGB = 15,
882 VK_FORMAT_R8G8_UNORM = 16,
883 VK_FORMAT_R8G8_SNORM = 17,
884 VK_FORMAT_R8G8_USCALED = 18,
885 VK_FORMAT_R8G8_SSCALED = 19,
886 VK_FORMAT_R8G8_UINT = 20,
887 VK_FORMAT_R8G8_SINT = 21,
888 VK_FORMAT_R8G8_SRGB = 22,
889 VK_FORMAT_R8G8B8_UNORM = 23,
890 VK_FORMAT_R8G8B8_SNORM = 24,
891 VK_FORMAT_R8G8B8_USCALED = 25,
892 VK_FORMAT_R8G8B8_SSCALED = 26,
893 VK_FORMAT_R8G8B8_UINT = 27,
894 VK_FORMAT_R8G8B8_SINT = 28,
895 VK_FORMAT_R8G8B8_SRGB = 29,
896 VK_FORMAT_B8G8R8_UNORM = 30,
897 VK_FORMAT_B8G8R8_SNORM = 31,
898 VK_FORMAT_B8G8R8_USCALED = 32,
899 VK_FORMAT_B8G8R8_SSCALED = 33,
900 VK_FORMAT_B8G8R8_UINT = 34,
901 VK_FORMAT_B8G8R8_SINT = 35,
902 VK_FORMAT_B8G8R8_SRGB = 36,
903 VK_FORMAT_R8G8B8A8_UNORM = 37,
904 VK_FORMAT_R8G8B8A8_SNORM = 38,
905 VK_FORMAT_R8G8B8A8_USCALED = 39,
906 VK_FORMAT_R8G8B8A8_SSCALED = 40,
907 VK_FORMAT_R8G8B8A8_UINT = 41,
908 VK_FORMAT_R8G8B8A8_SINT = 42,
909 VK_FORMAT_R8G8B8A8_SRGB = 43,
910 VK_FORMAT_B8G8R8A8_UNORM = 44,
911 VK_FORMAT_B8G8R8A8_SNORM = 45,
912 VK_FORMAT_B8G8R8A8_USCALED = 46,
913 VK_FORMAT_B8G8R8A8_SSCALED = 47,
914 VK_FORMAT_B8G8R8A8_UINT = 48,
915 VK_FORMAT_B8G8R8A8_SINT = 49,
916 VK_FORMAT_B8G8R8A8_SRGB = 50,
917 VK_FORMAT_A8B8G8R8_UNORM_PACK32 = 51,
918 VK_FORMAT_A8B8G8R8_SNORM_PACK32 = 52,
919 VK_FORMAT_A8B8G8R8_USCALED_PACK32 = 53,
920 VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54,
921 VK_FORMAT_A8B8G8R8_UINT_PACK32 = 55,
922 VK_FORMAT_A8B8G8R8_SINT_PACK32 = 56,
923 VK_FORMAT_A8B8G8R8_SRGB_PACK32 = 57,
924 VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58,
925 VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59,
926 VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 60,
927 VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61,
928 VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62,
929 VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63,
930 VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64,
931 VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65,
932 VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 66,
933 VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67,
934 VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68,
935 VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69,
936 VK_FORMAT_R16_UNORM = 70,
937 VK_FORMAT_R16_SNORM = 71,
938 VK_FORMAT_R16_USCALED = 72,
939 VK_FORMAT_R16_SSCALED = 73,
940 VK_FORMAT_R16_UINT = 74,
941 VK_FORMAT_R16_SINT = 75,
942 VK_FORMAT_R16_SFLOAT = 76,
943 VK_FORMAT_R16G16_UNORM = 77,
944 VK_FORMAT_R16G16_SNORM = 78,
945 VK_FORMAT_R16G16_USCALED = 79,
946 VK_FORMAT_R16G16_SSCALED = 80,
947 VK_FORMAT_R16G16_UINT = 81,
948 VK_FORMAT_R16G16_SINT = 82,
949 VK_FORMAT_R16G16_SFLOAT = 83,
950 VK_FORMAT_R16G16B16_UNORM = 84,
951 VK_FORMAT_R16G16B16_SNORM = 85,
952 VK_FORMAT_R16G16B16_USCALED = 86,
953 VK_FORMAT_R16G16B16_SSCALED = 87,
954 VK_FORMAT_R16G16B16_UINT = 88,
955 VK_FORMAT_R16G16B16_SINT = 89,
956 VK_FORMAT_R16G16B16_SFLOAT = 90,
957 VK_FORMAT_R16G16B16A16_UNORM = 91,
958 VK_FORMAT_R16G16B16A16_SNORM = 92,
959 VK_FORMAT_R16G16B16A16_USCALED = 93,
960 VK_FORMAT_R16G16B16A16_SSCALED = 94,
961 VK_FORMAT_R16G16B16A16_UINT = 95,
962 VK_FORMAT_R16G16B16A16_SINT = 96,
963 VK_FORMAT_R16G16B16A16_SFLOAT = 97,
964 VK_FORMAT_R32_UINT = 98,
965 VK_FORMAT_R32_SINT = 99,
966 VK_FORMAT_R32_SFLOAT = 100,
967 VK_FORMAT_R32G32_UINT = 101,
968 VK_FORMAT_R32G32_SINT = 102,
969 VK_FORMAT_R32G32_SFLOAT = 103,
970 VK_FORMAT_R32G32B32_UINT = 104,
971 VK_FORMAT_R32G32B32_SINT = 105,
972 VK_FORMAT_R32G32B32_SFLOAT = 106,
973 VK_FORMAT_R32G32B32A32_UINT = 107,
974 VK_FORMAT_R32G32B32A32_SINT = 108,
975 VK_FORMAT_R32G32B32A32_SFLOAT = 109,
976 VK_FORMAT_R64_UINT = 110,
977 VK_FORMAT_R64_SINT = 111,
978 VK_FORMAT_R64_SFLOAT = 112,
979 VK_FORMAT_R64G64_UINT = 113,
980 VK_FORMAT_R64G64_SINT = 114,
981 VK_FORMAT_R64G64_SFLOAT = 115,
982 VK_FORMAT_R64G64B64_UINT = 116,
983 VK_FORMAT_R64G64B64_SINT = 117,
984 VK_FORMAT_R64G64B64_SFLOAT = 118,
985 VK_FORMAT_R64G64B64A64_UINT = 119,
986 VK_FORMAT_R64G64B64A64_SINT = 120,
987 VK_FORMAT_R64G64B64A64_SFLOAT = 121,
988 VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122,
989 VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123,
990 VK_FORMAT_D16_UNORM = 124,
991 VK_FORMAT_X8_D24_UNORM_PACK32 = 125,
992 VK_FORMAT_D32_SFLOAT = 126,
993 VK_FORMAT_S8_UINT = 127,
994 VK_FORMAT_D16_UNORM_S8_UINT = 128,
995 VK_FORMAT_D24_UNORM_S8_UINT = 129,
996 VK_FORMAT_D32_SFLOAT_S8_UINT = 130,
997 VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131,
998 VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132,
999 VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133,
1000 VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134,
1001 VK_FORMAT_BC2_UNORM_BLOCK = 135,
1002 VK_FORMAT_BC2_SRGB_BLOCK = 136,
1003 VK_FORMAT_BC3_UNORM_BLOCK = 137,
1004 VK_FORMAT_BC3_SRGB_BLOCK = 138,
1005 VK_FORMAT_BC4_UNORM_BLOCK = 139,
1006 VK_FORMAT_BC4_SNORM_BLOCK = 140,
1007 VK_FORMAT_BC5_UNORM_BLOCK = 141,
1008 VK_FORMAT_BC5_SNORM_BLOCK = 142,
1009 VK_FORMAT_BC6H_UFLOAT_BLOCK = 143,
1010 VK_FORMAT_BC6H_SFLOAT_BLOCK = 144,
1011 VK_FORMAT_BC7_UNORM_BLOCK = 145,
1012 VK_FORMAT_BC7_SRGB_BLOCK = 146,
1013 VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147,
1014 VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148,
1015 VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149,
1016 VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150,
1017 VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151,
1018 VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152,
1019 VK_FORMAT_EAC_R11_UNORM_BLOCK = 153,
1020 VK_FORMAT_EAC_R11_SNORM_BLOCK = 154,
1021 VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155,
1022 VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156,
1023 VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157,
1024 VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158,
1025 VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159,
1026 VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160,
1027 VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161,
1028 VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162,
1029 VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163,
1030 VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164,
1031 VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165,
1032 VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166,
1033 VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167,
1034 VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168,
1035 VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169,
1036 VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170,
1037 VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171,
1038 VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172,
1039 VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173,
1040 VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174,
1041 VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175,
1042 VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176,
1043 VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177,
1044 VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178,
1045 VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179,
1046 VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180,
1047 VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181,
1048 VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182,
1049 VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183,
1050 VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184,
1051 VK_FORMAT_G8B8G8R8_422_UNORM = 1000156000,
1052 VK_FORMAT_B8G8R8G8_422_UNORM = 1000156001,
1053 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM = 1000156002,
1054 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM = 1000156003,
1055 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM = 1000156004,
1056 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM = 1000156005,
1057 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM = 1000156006,
1058 VK_FORMAT_R10X6_UNORM_PACK16 = 1000156007,
1059 VK_FORMAT_R10X6G10X6_UNORM_2PACK16 = 1000156008,
1060 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 1000156009,
1061 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 1000156010,
1062 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 1000156011,
1063 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 1000156012,
1064 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 1000156013,
1065 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 1000156014,
1066 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 1000156015,
1067 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 1000156016,
1068 VK_FORMAT_R12X4_UNORM_PACK16 = 1000156017,
1069 VK_FORMAT_R12X4G12X4_UNORM_2PACK16 = 1000156018,
1070 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 1000156019,
1071 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 1000156020,
1072 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 1000156021,
1073 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 1000156022,
1074 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 1000156023,
1075 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 1000156024,
1076 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 1000156025,
1077 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 1000156026,
1078 VK_FORMAT_G16B16G16R16_422_UNORM = 1000156027,
1079 VK_FORMAT_B16G16R16G16_422_UNORM = 1000156028,
1080 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM = 1000156029,
1081 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM = 1000156030,
1082 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM = 1000156031,
1083 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM = 1000156032,
1084 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM = 1000156033,
1085 VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG = 1000054000,
1086 VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001,
1087 VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = 1000054002,
1088 VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG = 1000054003,
1089 VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG = 1000054004,
1090 VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005,
1091 VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006,
1092 VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007,
1093 VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT = 1000066000,
1094 VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT = 1000066001,
1095 VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT = 1000066002,
1096 VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT = 1000066003,
1097 VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT = 1000066004,
1098 VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT = 1000066005,
1099 VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT = 1000066006,
1100 VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT = 1000066007,
1101 VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT = 1000066008,
1102 VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT = 1000066009,
1103 VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT = 1000066010,
1104 VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT = 1000066011,
1105 VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT = 1000066012,
1106 VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT = 1000066013,
1107 VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT = 1000340000,
1108 VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT = 1000340001,
1109 VK_FORMAT_G8B8G8R8_422_UNORM_KHR = VK_FORMAT_G8B8G8R8_422_UNORM,
1110 VK_FORMAT_B8G8R8G8_422_UNORM_KHR = VK_FORMAT_B8G8R8G8_422_UNORM,
1111 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM,
1112 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM,
1113 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM,
1114 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM,
1115 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM,
1116 VK_FORMAT_R10X6_UNORM_PACK16_KHR = VK_FORMAT_R10X6_UNORM_PACK16,
1117 VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR = VK_FORMAT_R10X6G10X6_UNORM_2PACK16,
1118 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16,
1119 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16,
1120 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16,
1121 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16,
1122 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16,
1123 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16,
1124 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16,
1125 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16,
1126 VK_FORMAT_R12X4_UNORM_PACK16_KHR = VK_FORMAT_R12X4_UNORM_PACK16,
1127 VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR = VK_FORMAT_R12X4G12X4_UNORM_2PACK16,
1128 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16,
1129 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16,
1130 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16,
1131 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16,
1132 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16,
1133 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16,
1134 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16,
1135 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16,
1136 VK_FORMAT_G16B16G16R16_422_UNORM_KHR = VK_FORMAT_G16B16G16R16_422_UNORM,
1137 VK_FORMAT_B16G16R16G16_422_UNORM_KHR = VK_FORMAT_B16G16R16G16_422_UNORM,
1138 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM,
1139 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM,
1140 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM,
1141 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM,
1142 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM,
1143 VK_FORMAT_MAX_ENUM = 0x7FFFFFFF
1146 typedef enum VkImageTiling {
1147 VK_IMAGE_TILING_OPTIMAL = 0,
1148 VK_IMAGE_TILING_LINEAR = 1,
1149 VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT = 1000158000,
1150 VK_IMAGE_TILING_MAX_ENUM = 0x7FFFFFFF
1153 typedef enum VkImageType {
1154 VK_IMAGE_TYPE_1D = 0,
1155 VK_IMAGE_TYPE_2D = 1,
1156 VK_IMAGE_TYPE_3D = 2,
1157 VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF
1160 typedef enum VkPhysicalDeviceType {
1161 VK_PHYSICAL_DEVICE_TYPE_OTHER = 0,
1162 VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1,
1163 VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2,
1164 VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3,
1165 VK_PHYSICAL_DEVICE_TYPE_CPU = 4,
1166 VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM = 0x7FFFFFFF
1167 } VkPhysicalDeviceType;
1169 typedef enum VkQueryType {
1170 VK_QUERY_TYPE_OCCLUSION = 0,
1171 VK_QUERY_TYPE_PIPELINE_STATISTICS = 1,
1172 VK_QUERY_TYPE_TIMESTAMP = 2,
1173 VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT = 1000028004,
1174 VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR = 1000116000,
1175 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR = 1000150000,
1176 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR = 1000150001,
1177 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV = 1000165000,
1178 VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL = 1000210000,
1179 VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF
1182 typedef enum VkSharingMode {
1183 VK_SHARING_MODE_EXCLUSIVE = 0,
1184 VK_SHARING_MODE_CONCURRENT = 1,
1185 VK_SHARING_MODE_MAX_ENUM = 0x7FFFFFFF
1188 typedef enum VkComponentSwizzle {
1189 VK_COMPONENT_SWIZZLE_IDENTITY = 0,
1190 VK_COMPONENT_SWIZZLE_ZERO = 1,
1191 VK_COMPONENT_SWIZZLE_ONE = 2,
1192 VK_COMPONENT_SWIZZLE_R = 3,
1193 VK_COMPONENT_SWIZZLE_G = 4,
1194 VK_COMPONENT_SWIZZLE_B = 5,
1195 VK_COMPONENT_SWIZZLE_A = 6,
1196 VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF
1197 } VkComponentSwizzle;
1199 typedef enum VkImageViewType {
1200 VK_IMAGE_VIEW_TYPE_1D = 0,
1201 VK_IMAGE_VIEW_TYPE_2D = 1,
1202 VK_IMAGE_VIEW_TYPE_3D = 2,
1203 VK_IMAGE_VIEW_TYPE_CUBE = 3,
1204 VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4,
1205 VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5,
1206 VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6,
1207 VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7FFFFFFF
1210 typedef enum VkBlendFactor {
1211 VK_BLEND_FACTOR_ZERO = 0,
1212 VK_BLEND_FACTOR_ONE = 1,
1213 VK_BLEND_FACTOR_SRC_COLOR = 2,
1214 VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3,
1215 VK_BLEND_FACTOR_DST_COLOR = 4,
1216 VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5,
1217 VK_BLEND_FACTOR_SRC_ALPHA = 6,
1218 VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7,
1219 VK_BLEND_FACTOR_DST_ALPHA = 8,
1220 VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9,
1221 VK_BLEND_FACTOR_CONSTANT_COLOR = 10,
1222 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11,
1223 VK_BLEND_FACTOR_CONSTANT_ALPHA = 12,
1224 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13,
1225 VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14,
1226 VK_BLEND_FACTOR_SRC1_COLOR = 15,
1227 VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16,
1228 VK_BLEND_FACTOR_SRC1_ALPHA = 17,
1229 VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18,
1230 VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF
1233 typedef enum VkBlendOp {
1234 VK_BLEND_OP_ADD = 0,
1235 VK_BLEND_OP_SUBTRACT = 1,
1236 VK_BLEND_OP_REVERSE_SUBTRACT = 2,
1237 VK_BLEND_OP_MIN = 3,
1238 VK_BLEND_OP_MAX = 4,
1239 VK_BLEND_OP_ZERO_EXT = 1000148000,
1240 VK_BLEND_OP_SRC_EXT = 1000148001,
1241 VK_BLEND_OP_DST_EXT = 1000148002,
1242 VK_BLEND_OP_SRC_OVER_EXT = 1000148003,
1243 VK_BLEND_OP_DST_OVER_EXT = 1000148004,
1244 VK_BLEND_OP_SRC_IN_EXT = 1000148005,
1245 VK_BLEND_OP_DST_IN_EXT = 1000148006,
1246 VK_BLEND_OP_SRC_OUT_EXT = 1000148007,
1247 VK_BLEND_OP_DST_OUT_EXT = 1000148008,
1248 VK_BLEND_OP_SRC_ATOP_EXT = 1000148009,
1249 VK_BLEND_OP_DST_ATOP_EXT = 1000148010,
1250 VK_BLEND_OP_XOR_EXT = 1000148011,
1251 VK_BLEND_OP_MULTIPLY_EXT = 1000148012,
1252 VK_BLEND_OP_SCREEN_EXT = 1000148013,
1253 VK_BLEND_OP_OVERLAY_EXT = 1000148014,
1254 VK_BLEND_OP_DARKEN_EXT = 1000148015,
1255 VK_BLEND_OP_LIGHTEN_EXT = 1000148016,
1256 VK_BLEND_OP_COLORDODGE_EXT = 1000148017,
1257 VK_BLEND_OP_COLORBURN_EXT = 1000148018,
1258 VK_BLEND_OP_HARDLIGHT_EXT = 1000148019,
1259 VK_BLEND_OP_SOFTLIGHT_EXT = 1000148020,
1260 VK_BLEND_OP_DIFFERENCE_EXT = 1000148021,
1261 VK_BLEND_OP_EXCLUSION_EXT = 1000148022,
1262 VK_BLEND_OP_INVERT_EXT = 1000148023,
1263 VK_BLEND_OP_INVERT_RGB_EXT = 1000148024,
1264 VK_BLEND_OP_LINEARDODGE_EXT = 1000148025,
1265 VK_BLEND_OP_LINEARBURN_EXT = 1000148026,
1266 VK_BLEND_OP_VIVIDLIGHT_EXT = 1000148027,
1267 VK_BLEND_OP_LINEARLIGHT_EXT = 1000148028,
1268 VK_BLEND_OP_PINLIGHT_EXT = 1000148029,
1269 VK_BLEND_OP_HARDMIX_EXT = 1000148030,
1270 VK_BLEND_OP_HSL_HUE_EXT = 1000148031,
1271 VK_BLEND_OP_HSL_SATURATION_EXT = 1000148032,
1272 VK_BLEND_OP_HSL_COLOR_EXT = 1000148033,
1273 VK_BLEND_OP_HSL_LUMINOSITY_EXT = 1000148034,
1274 VK_BLEND_OP_PLUS_EXT = 1000148035,
1275 VK_BLEND_OP_PLUS_CLAMPED_EXT = 1000148036,
1276 VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT = 1000148037,
1277 VK_BLEND_OP_PLUS_DARKER_EXT = 1000148038,
1278 VK_BLEND_OP_MINUS_EXT = 1000148039,
1279 VK_BLEND_OP_MINUS_CLAMPED_EXT = 1000148040,
1280 VK_BLEND_OP_CONTRAST_EXT = 1000148041,
1281 VK_BLEND_OP_INVERT_OVG_EXT = 1000148042,
1282 VK_BLEND_OP_RED_EXT = 1000148043,
1283 VK_BLEND_OP_GREEN_EXT = 1000148044,
1284 VK_BLEND_OP_BLUE_EXT = 1000148045,
1285 VK_BLEND_OP_MAX_ENUM = 0x7FFFFFFF
1288 typedef enum VkCompareOp {
1289 VK_COMPARE_OP_NEVER = 0,
1290 VK_COMPARE_OP_LESS = 1,
1291 VK_COMPARE_OP_EQUAL = 2,
1292 VK_COMPARE_OP_LESS_OR_EQUAL = 3,
1293 VK_COMPARE_OP_GREATER = 4,
1294 VK_COMPARE_OP_NOT_EQUAL = 5,
1295 VK_COMPARE_OP_GREATER_OR_EQUAL = 6,
1296 VK_COMPARE_OP_ALWAYS = 7,
1297 VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF
1300 typedef enum VkDynamicState {
1301 VK_DYNAMIC_STATE_VIEWPORT = 0,
1302 VK_DYNAMIC_STATE_SCISSOR = 1,
1303 VK_DYNAMIC_STATE_LINE_WIDTH = 2,
1304 VK_DYNAMIC_STATE_DEPTH_BIAS = 3,
1305 VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4,
1306 VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5,
1307 VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6,
1308 VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7,
1309 VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8,
1310 VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV = 1000087000,
1311 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000,
1312 VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT = 1000143000,
1313 VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR = 1000347000,
1314 VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV = 1000164004,
1315 VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV = 1000164006,
1316 VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV = 1000205001,
1317 VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR = 1000226000,
1318 VK_DYNAMIC_STATE_LINE_STIPPLE_EXT = 1000259000,
1319 VK_DYNAMIC_STATE_CULL_MODE_EXT = 1000267000,
1320 VK_DYNAMIC_STATE_FRONT_FACE_EXT = 1000267001,
1321 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = 1000267002,
1322 VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT = 1000267003,
1323 VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT = 1000267004,
1324 VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT = 1000267005,
1325 VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT = 1000267006,
1326 VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT = 1000267007,
1327 VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT = 1000267008,
1328 VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT = 1000267009,
1329 VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT = 1000267010,
1330 VK_DYNAMIC_STATE_STENCIL_OP_EXT = 1000267011,
1331 VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF
1334 typedef enum VkFrontFace {
1335 VK_FRONT_FACE_COUNTER_CLOCKWISE = 0,
1336 VK_FRONT_FACE_CLOCKWISE = 1,
1337 VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF
1340 typedef enum VkVertexInputRate {
1341 VK_VERTEX_INPUT_RATE_VERTEX = 0,
1342 VK_VERTEX_INPUT_RATE_INSTANCE = 1,
1343 VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF
1344 } VkVertexInputRate;
1346 typedef enum VkPrimitiveTopology {
1347 VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0,
1348 VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1,
1349 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2,
1350 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3,
1351 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4,
1352 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5,
1353 VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6,
1354 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7,
1355 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8,
1356 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9,
1357 VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10,
1358 VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7FFFFFFF
1359 } VkPrimitiveTopology;
1361 typedef enum VkPolygonMode {
1362 VK_POLYGON_MODE_FILL = 0,
1363 VK_POLYGON_MODE_LINE = 1,
1364 VK_POLYGON_MODE_POINT = 2,
1365 VK_POLYGON_MODE_FILL_RECTANGLE_NV = 1000153000,
1366 VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF
1369 typedef enum VkStencilOp {
1370 VK_STENCIL_OP_KEEP = 0,
1371 VK_STENCIL_OP_ZERO = 1,
1372 VK_STENCIL_OP_REPLACE = 2,
1373 VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3,
1374 VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4,
1375 VK_STENCIL_OP_INVERT = 5,
1376 VK_STENCIL_OP_INCREMENT_AND_WRAP = 6,
1377 VK_STENCIL_OP_DECREMENT_AND_WRAP = 7,
1378 VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF
1381 typedef enum VkLogicOp {
1382 VK_LOGIC_OP_CLEAR = 0,
1383 VK_LOGIC_OP_AND = 1,
1384 VK_LOGIC_OP_AND_REVERSE = 2,
1385 VK_LOGIC_OP_COPY = 3,
1386 VK_LOGIC_OP_AND_INVERTED = 4,
1387 VK_LOGIC_OP_NO_OP = 5,
1388 VK_LOGIC_OP_XOR = 6,
1390 VK_LOGIC_OP_NOR = 8,
1391 VK_LOGIC_OP_EQUIVALENT = 9,
1392 VK_LOGIC_OP_INVERT = 10,
1393 VK_LOGIC_OP_OR_REVERSE = 11,
1394 VK_LOGIC_OP_COPY_INVERTED = 12,
1395 VK_LOGIC_OP_OR_INVERTED = 13,
1396 VK_LOGIC_OP_NAND = 14,
1397 VK_LOGIC_OP_SET = 15,
1398 VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF
1401 typedef enum VkBorderColor {
1402 VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0,
1403 VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1,
1404 VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2,
1405 VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3,
1406 VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4,
1407 VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5,
1408 VK_BORDER_COLOR_FLOAT_CUSTOM_EXT = 1000287003,
1409 VK_BORDER_COLOR_INT_CUSTOM_EXT = 1000287004,
1410 VK_BORDER_COLOR_MAX_ENUM = 0x7FFFFFFF
1413 typedef enum VkFilter {
1414 VK_FILTER_NEAREST = 0,
1415 VK_FILTER_LINEAR = 1,
1416 VK_FILTER_CUBIC_IMG = 1000015000,
1417 VK_FILTER_CUBIC_EXT = VK_FILTER_CUBIC_IMG,
1418 VK_FILTER_MAX_ENUM = 0x7FFFFFFF
1421 typedef enum VkSamplerAddressMode {
1422 VK_SAMPLER_ADDRESS_MODE_REPEAT = 0,
1423 VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1,
1424 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2,
1425 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3,
1426 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4,
1427 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE,
1428 VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = 0x7FFFFFFF
1429 } VkSamplerAddressMode;
1431 typedef enum VkSamplerMipmapMode {
1432 VK_SAMPLER_MIPMAP_MODE_NEAREST = 0,
1433 VK_SAMPLER_MIPMAP_MODE_LINEAR = 1,
1434 VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF
1435 } VkSamplerMipmapMode;
1437 typedef enum VkDescriptorType {
1438 VK_DESCRIPTOR_TYPE_SAMPLER = 0,
1439 VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1,
1440 VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2,
1441 VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3,
1442 VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4,
1443 VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5,
1444 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6,
1445 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7,
1446 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8,
1447 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9,
1448 VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10,
1449 VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT = 1000138000,
1450 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000,
1451 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000,
1452 VK_DESCRIPTOR_TYPE_MUTABLE_VALVE = 1000351000,
1453 VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF
1456 typedef enum VkAttachmentLoadOp {
1457 VK_ATTACHMENT_LOAD_OP_LOAD = 0,
1458 VK_ATTACHMENT_LOAD_OP_CLEAR = 1,
1459 VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2,
1460 VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7FFFFFFF
1461 } VkAttachmentLoadOp;
1463 typedef enum VkAttachmentStoreOp {
1464 VK_ATTACHMENT_STORE_OP_STORE = 0,
1465 VK_ATTACHMENT_STORE_OP_DONT_CARE = 1,
1466 VK_ATTACHMENT_STORE_OP_NONE_QCOM = 1000301000,
1467 VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF
1468 } VkAttachmentStoreOp;
1470 typedef enum VkPipelineBindPoint {
1471 VK_PIPELINE_BIND_POINT_GRAPHICS = 0,
1472 VK_PIPELINE_BIND_POINT_COMPUTE = 1,
1473 VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR = 1000165000,
1474 VK_PIPELINE_BIND_POINT_RAY_TRACING_NV = VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR,
1475 VK_PIPELINE_BIND_POINT_MAX_ENUM = 0x7FFFFFFF
1476 } VkPipelineBindPoint;
1478 typedef enum VkCommandBufferLevel {
1479 VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0,
1480 VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1,
1481 VK_COMMAND_BUFFER_LEVEL_MAX_ENUM = 0x7FFFFFFF
1482 } VkCommandBufferLevel;
1484 typedef enum VkIndexType {
1485 VK_INDEX_TYPE_UINT16 = 0,
1486 VK_INDEX_TYPE_UINT32 = 1,
1487 VK_INDEX_TYPE_NONE_KHR = 1000165000,
1488 VK_INDEX_TYPE_UINT8_EXT = 1000265000,
1489 VK_INDEX_TYPE_NONE_NV = VK_INDEX_TYPE_NONE_KHR,
1490 VK_INDEX_TYPE_MAX_ENUM = 0x7FFFFFFF
1493 typedef enum VkSubpassContents {
1494 VK_SUBPASS_CONTENTS_INLINE = 0,
1495 VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1,
1496 VK_SUBPASS_CONTENTS_MAX_ENUM = 0x7FFFFFFF
1497 } VkSubpassContents;
1499 typedef enum VkAccessFlagBits {
1500 VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001,
1501 VK_ACCESS_INDEX_READ_BIT = 0x00000002,
1502 VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004,
1503 VK_ACCESS_UNIFORM_READ_BIT = 0x00000008,
1504 VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 0x00000010,
1505 VK_ACCESS_SHADER_READ_BIT = 0x00000020,
1506 VK_ACCESS_SHADER_WRITE_BIT = 0x00000040,
1507 VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 0x00000080,
1508 VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100,
1509 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200,
1510 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400,
1511 VK_ACCESS_TRANSFER_READ_BIT = 0x00000800,
1512 VK_ACCESS_TRANSFER_WRITE_BIT = 0x00001000,
1513 VK_ACCESS_HOST_READ_BIT = 0x00002000,
1514 VK_ACCESS_HOST_WRITE_BIT = 0x00004000,
1515 VK_ACCESS_MEMORY_READ_BIT = 0x00008000,
1516 VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000,
1517 VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000,
1518 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000,
1519 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000,
1520 VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000,
1521 VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000,
1522 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000,
1523 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000,
1524 VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000,
1525 VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000,
1526 VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000,
1527 VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000,
1528 VK_ACCESS_NONE_KHR = 0,
1529 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR,
1530 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,
1531 VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV,
1532 VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1534 typedef VkFlags VkAccessFlags;
1536 typedef enum VkImageAspectFlagBits {
1537 VK_IMAGE_ASPECT_COLOR_BIT = 0x00000001,
1538 VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002,
1539 VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004,
1540 VK_IMAGE_ASPECT_METADATA_BIT = 0x00000008,
1541 VK_IMAGE_ASPECT_PLANE_0_BIT = 0x00000010,
1542 VK_IMAGE_ASPECT_PLANE_1_BIT = 0x00000020,
1543 VK_IMAGE_ASPECT_PLANE_2_BIT = 0x00000040,
1544 VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 0x00000080,
1545 VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 0x00000100,
1546 VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 0x00000200,
1547 VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = 0x00000400,
1548 VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = VK_IMAGE_ASPECT_PLANE_0_BIT,
1549 VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = VK_IMAGE_ASPECT_PLANE_1_BIT,
1550 VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = VK_IMAGE_ASPECT_PLANE_2_BIT,
1551 VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1552 } VkImageAspectFlagBits;
1553 typedef VkFlags VkImageAspectFlags;
1555 typedef enum VkFormatFeatureFlagBits {
1556 VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 0x00000001,
1557 VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 0x00000002,
1558 VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004,
1559 VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008,
1560 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 0x00000010,
1561 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020,
1562 VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 0x00000040,
1563 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 0x00000080,
1564 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100,
1565 VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200,
1566 VK_FORMAT_FEATURE_BLIT_SRC_BIT = 0x00000400,
1567 VK_FORMAT_FEATURE_BLIT_DST_BIT = 0x00000800,
1568 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000,
1569 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT = 0x00004000,
1570 VK_FORMAT_FEATURE_TRANSFER_DST_BIT = 0x00008000,
1571 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000,
1572 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000,
1573 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000,
1574 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000,
1575 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000,
1576 VK_FORMAT_FEATURE_DISJOINT_BIT = 0x00400000,
1577 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT = 0x00800000,
1578 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000,
1579 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = 0x00002000,
1580 VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000,
1581 VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000,
1582 VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000,
1583 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT,
1584 VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_DST_BIT,
1585 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT,
1586 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT,
1587 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT,
1588 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT,
1589 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT,
1590 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,
1591 VK_FORMAT_FEATURE_DISJOINT_BIT_KHR = VK_FORMAT_FEATURE_DISJOINT_BIT,
1592 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT,
1593 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG,
1594 VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1595 } VkFormatFeatureFlagBits;
1596 typedef VkFlags VkFormatFeatureFlags;
1598 typedef enum VkImageCreateFlagBits {
1599 VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 0x00000001,
1600 VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
1601 VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
1602 VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 0x00000008,
1603 VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 0x00000010,
1604 VK_IMAGE_CREATE_ALIAS_BIT = 0x00000400,
1605 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT = 0x00000040,
1606 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT = 0x00000020,
1607 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT = 0x00000080,
1608 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT = 0x00000100,
1609 VK_IMAGE_CREATE_PROTECTED_BIT = 0x00000800,
1610 VK_IMAGE_CREATE_DISJOINT_BIT = 0x00000200,
1611 VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 0x00002000,
1612 VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000,
1613 VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 0x00004000,
1614 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT,
1615 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT,
1616 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT,
1617 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT,
1618 VK_IMAGE_CREATE_DISJOINT_BIT_KHR = VK_IMAGE_CREATE_DISJOINT_BIT,
1619 VK_IMAGE_CREATE_ALIAS_BIT_KHR = VK_IMAGE_CREATE_ALIAS_BIT,
1620 VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1621 } VkImageCreateFlagBits;
1622 typedef VkFlags VkImageCreateFlags;
1624 typedef enum VkSampleCountFlagBits {
1625 VK_SAMPLE_COUNT_1_BIT = 0x00000001,
1626 VK_SAMPLE_COUNT_2_BIT = 0x00000002,
1627 VK_SAMPLE_COUNT_4_BIT = 0x00000004,
1628 VK_SAMPLE_COUNT_8_BIT = 0x00000008,
1629 VK_SAMPLE_COUNT_16_BIT = 0x00000010,
1630 VK_SAMPLE_COUNT_32_BIT = 0x00000020,
1631 VK_SAMPLE_COUNT_64_BIT = 0x00000040,
1632 VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1633 } VkSampleCountFlagBits;
1634 typedef VkFlags VkSampleCountFlags;
1636 typedef enum VkImageUsageFlagBits {
1637 VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 0x00000001,
1638 VK_IMAGE_USAGE_TRANSFER_DST_BIT = 0x00000002,
1639 VK_IMAGE_USAGE_SAMPLED_BIT = 0x00000004,
1640 VK_IMAGE_USAGE_STORAGE_BIT = 0x00000008,
1641 VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000010,
1642 VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000020,
1643 VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000040,
1644 VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0x00000080,
1645 VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = 0x00000100,
1646 VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x00000200,
1647 VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV,
1648 VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1649 } VkImageUsageFlagBits;
1650 typedef VkFlags VkImageUsageFlags;
1651 typedef VkFlags VkInstanceCreateFlags;
1653 typedef enum VkMemoryHeapFlagBits {
1654 VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0x00000001,
1655 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = 0x00000002,
1656 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT,
1657 VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1658 } VkMemoryHeapFlagBits;
1659 typedef VkFlags VkMemoryHeapFlags;
1661 typedef enum VkMemoryPropertyFlagBits {
1662 VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 0x00000001,
1663 VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 0x00000002,
1664 VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 0x00000004,
1665 VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 0x00000008,
1666 VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 0x00000010,
1667 VK_MEMORY_PROPERTY_PROTECTED_BIT = 0x00000020,
1668 VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD = 0x00000040,
1669 VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD = 0x00000080,
1670 VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1671 } VkMemoryPropertyFlagBits;
1672 typedef VkFlags VkMemoryPropertyFlags;
1674 typedef enum VkQueueFlagBits {
1675 VK_QUEUE_GRAPHICS_BIT = 0x00000001,
1676 VK_QUEUE_COMPUTE_BIT = 0x00000002,
1677 VK_QUEUE_TRANSFER_BIT = 0x00000004,
1678 VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008,
1679 VK_QUEUE_PROTECTED_BIT = 0x00000010,
1680 VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1682 typedef VkFlags VkQueueFlags;
1683 typedef VkFlags VkDeviceCreateFlags;
1685 typedef enum VkDeviceQueueCreateFlagBits {
1686 VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT = 0x00000001,
1687 VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1688 } VkDeviceQueueCreateFlagBits;
1689 typedef VkFlags VkDeviceQueueCreateFlags;
1691 typedef enum VkPipelineStageFlagBits {
1692 VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 0x00000001,
1693 VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 0x00000002,
1694 VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 0x00000004,
1695 VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 0x00000008,
1696 VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010,
1697 VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020,
1698 VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 0x00000040,
1699 VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 0x00000080,
1700 VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 0x00000100,
1701 VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 0x00000200,
1702 VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400,
1703 VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 0x00000800,
1704 VK_PIPELINE_STAGE_TRANSFER_BIT = 0x00001000,
1705 VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 0x00002000,
1706 VK_PIPELINE_STAGE_HOST_BIT = 0x00004000,
1707 VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0x00008000,
1708 VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00010000,
1709 VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000,
1710 VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000,
1711 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000,
1712 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = 0x00200000,
1713 VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = 0x00400000,
1714 VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV = 0x00080000,
1715 VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV = 0x00100000,
1716 VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000,
1717 VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV = 0x00020000,
1718 VK_PIPELINE_STAGE_NONE_KHR = 0,
1719 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV = VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR,
1720 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
1721 VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV,
1722 VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1723 } VkPipelineStageFlagBits;
1724 typedef VkFlags VkPipelineStageFlags;
1725 typedef VkFlags VkMemoryMapFlags;
1727 typedef enum VkSparseMemoryBindFlagBits {
1728 VK_SPARSE_MEMORY_BIND_METADATA_BIT = 0x00000001,
1729 VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1730 } VkSparseMemoryBindFlagBits;
1731 typedef VkFlags VkSparseMemoryBindFlags;
1733 typedef enum VkSparseImageFormatFlagBits {
1734 VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 0x00000001,
1735 VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 0x00000002,
1736 VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 0x00000004,
1737 VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1738 } VkSparseImageFormatFlagBits;
1739 typedef VkFlags VkSparseImageFormatFlags;
1741 typedef enum VkFenceCreateFlagBits {
1742 VK_FENCE_CREATE_SIGNALED_BIT = 0x00000001,
1743 VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1744 } VkFenceCreateFlagBits;
1745 typedef VkFlags VkFenceCreateFlags;
1746 typedef VkFlags VkSemaphoreCreateFlags;
1748 typedef enum VkEventCreateFlagBits {
1749 VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR = 0x00000001,
1750 VK_EVENT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1751 } VkEventCreateFlagBits;
1752 typedef VkFlags VkEventCreateFlags;
1754 typedef enum VkQueryPipelineStatisticFlagBits {
1755 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 0x00000001,
1756 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 0x00000002,
1757 VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 0x00000004,
1758 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 0x00000008,
1759 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 0x00000010,
1760 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 0x00000020,
1761 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 0x00000040,
1762 VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 0x00000080,
1763 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 0x00000100,
1764 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 0x00000200,
1765 VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 0x00000400,
1766 VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1767 } VkQueryPipelineStatisticFlagBits;
1768 typedef VkFlags VkQueryPipelineStatisticFlags;
1769 typedef VkFlags VkQueryPoolCreateFlags;
1771 typedef enum VkQueryResultFlagBits {
1772 VK_QUERY_RESULT_64_BIT = 0x00000001,
1773 VK_QUERY_RESULT_WAIT_BIT = 0x00000002,
1774 VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004,
1775 VK_QUERY_RESULT_PARTIAL_BIT = 0x00000008,
1776 VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1777 } VkQueryResultFlagBits;
1778 typedef VkFlags VkQueryResultFlags;
1780 typedef enum VkBufferCreateFlagBits {
1781 VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 0x00000001,
1782 VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
1783 VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
1784 VK_BUFFER_CREATE_PROTECTED_BIT = 0x00000008,
1785 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000010,
1786 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
1787 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
1788 VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1789 } VkBufferCreateFlagBits;
1790 typedef VkFlags VkBufferCreateFlags;
1792 typedef enum VkBufferUsageFlagBits {
1793 VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 0x00000001,
1794 VK_BUFFER_USAGE_TRANSFER_DST_BIT = 0x00000002,
1795 VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000004,
1796 VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 0x00000008,
1797 VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 0x00000010,
1798 VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 0x00000020,
1799 VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 0x00000040,
1800 VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 0x00000080,
1801 VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 0x00000100,
1802 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT = 0x00020000,
1803 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0x00000800,
1804 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000,
1805 VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200,
1806 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR = 0x00080000,
1807 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR = 0x00100000,
1808 VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR = 0x00000400,
1809 VK_BUFFER_USAGE_RAY_TRACING_BIT_NV = VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR,
1810 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
1811 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
1812 VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1813 } VkBufferUsageFlagBits;
1814 typedef VkFlags VkBufferUsageFlags;
1815 typedef VkFlags VkBufferViewCreateFlags;
1817 typedef enum VkImageViewCreateFlagBits {
1818 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT = 0x00000001,
1819 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT = 0x00000002,
1820 VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1821 } VkImageViewCreateFlagBits;
1822 typedef VkFlags VkImageViewCreateFlags;
1824 typedef enum VkShaderModuleCreateFlagBits {
1825 VK_SHADER_MODULE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1826 } VkShaderModuleCreateFlagBits;
1827 typedef VkFlags VkShaderModuleCreateFlags;
1829 typedef enum VkPipelineCacheCreateFlagBits {
1830 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT = 0x00000001,
1831 VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1832 } VkPipelineCacheCreateFlagBits;
1833 typedef VkFlags VkPipelineCacheCreateFlags;
1835 typedef enum VkColorComponentFlagBits {
1836 VK_COLOR_COMPONENT_R_BIT = 0x00000001,
1837 VK_COLOR_COMPONENT_G_BIT = 0x00000002,
1838 VK_COLOR_COMPONENT_B_BIT = 0x00000004,
1839 VK_COLOR_COMPONENT_A_BIT = 0x00000008,
1840 VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1841 } VkColorComponentFlagBits;
1842 typedef VkFlags VkColorComponentFlags;
1844 typedef enum VkPipelineCreateFlagBits {
1845 VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0x00000001,
1846 VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 0x00000002,
1847 VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0x00000004,
1848 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 0x00000008,
1849 VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 0x00000010,
1850 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 0x00004000,
1851 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 0x00008000,
1852 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 0x00010000,
1853 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR = 0x00020000,
1854 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR = 0x00001000,
1855 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR = 0x00002000,
1856 VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR = 0x00080000,
1857 VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV = 0x00000020,
1858 VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR = 0x00000040,
1859 VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 0x00000080,
1860 VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = 0x00040000,
1861 VK_PIPELINE_CREATE_LIBRARY_BIT_KHR = 0x00000800,
1862 VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = 0x00000100,
1863 VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = 0x00000200,
1864 VK_PIPELINE_CREATE_DISPATCH_BASE = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT,
1865 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT,
1866 VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = VK_PIPELINE_CREATE_DISPATCH_BASE,
1867 VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1868 } VkPipelineCreateFlagBits;
1869 typedef VkFlags VkPipelineCreateFlags;
1871 typedef enum VkPipelineShaderStageCreateFlagBits {
1872 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = 0x00000001,
1873 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = 0x00000002,
1874 VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1875 } VkPipelineShaderStageCreateFlagBits;
1876 typedef VkFlags VkPipelineShaderStageCreateFlags;
1878 typedef enum VkShaderStageFlagBits {
1879 VK_SHADER_STAGE_VERTEX_BIT = 0x00000001,
1880 VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 0x00000002,
1881 VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 0x00000004,
1882 VK_SHADER_STAGE_GEOMETRY_BIT = 0x00000008,
1883 VK_SHADER_STAGE_FRAGMENT_BIT = 0x00000010,
1884 VK_SHADER_STAGE_COMPUTE_BIT = 0x00000020,
1885 VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001F,
1886 VK_SHADER_STAGE_ALL = 0x7FFFFFFF,
1887 VK_SHADER_STAGE_RAYGEN_BIT_KHR = 0x00000100,
1888 VK_SHADER_STAGE_ANY_HIT_BIT_KHR = 0x00000200,
1889 VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR = 0x00000400,
1890 VK_SHADER_STAGE_MISS_BIT_KHR = 0x00000800,
1891 VK_SHADER_STAGE_INTERSECTION_BIT_KHR = 0x00001000,
1892 VK_SHADER_STAGE_CALLABLE_BIT_KHR = 0x00002000,
1893 VK_SHADER_STAGE_TASK_BIT_NV = 0x00000040,
1894 VK_SHADER_STAGE_MESH_BIT_NV = 0x00000080,
1895 VK_SHADER_STAGE_RAYGEN_BIT_NV = VK_SHADER_STAGE_RAYGEN_BIT_KHR,
1896 VK_SHADER_STAGE_ANY_HIT_BIT_NV = VK_SHADER_STAGE_ANY_HIT_BIT_KHR,
1897 VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV = VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR,
1898 VK_SHADER_STAGE_MISS_BIT_NV = VK_SHADER_STAGE_MISS_BIT_KHR,
1899 VK_SHADER_STAGE_INTERSECTION_BIT_NV = VK_SHADER_STAGE_INTERSECTION_BIT_KHR,
1900 VK_SHADER_STAGE_CALLABLE_BIT_NV = VK_SHADER_STAGE_CALLABLE_BIT_KHR,
1901 VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1902 } VkShaderStageFlagBits;
1904 typedef enum VkCullModeFlagBits {
1905 VK_CULL_MODE_NONE = 0,
1906 VK_CULL_MODE_FRONT_BIT = 0x00000001,
1907 VK_CULL_MODE_BACK_BIT = 0x00000002,
1908 VK_CULL_MODE_FRONT_AND_BACK = 0x00000003,
1909 VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1910 } VkCullModeFlagBits;
1911 typedef VkFlags VkCullModeFlags;
1912 typedef VkFlags VkPipelineVertexInputStateCreateFlags;
1913 typedef VkFlags VkPipelineInputAssemblyStateCreateFlags;
1914 typedef VkFlags VkPipelineTessellationStateCreateFlags;
1915 typedef VkFlags VkPipelineViewportStateCreateFlags;
1916 typedef VkFlags VkPipelineRasterizationStateCreateFlags;
1917 typedef VkFlags VkPipelineMultisampleStateCreateFlags;
1918 typedef VkFlags VkPipelineDepthStencilStateCreateFlags;
1919 typedef VkFlags VkPipelineColorBlendStateCreateFlags;
1920 typedef VkFlags VkPipelineDynamicStateCreateFlags;
1921 typedef VkFlags VkPipelineLayoutCreateFlags;
1922 typedef VkFlags VkShaderStageFlags;
1924 typedef enum VkSamplerCreateFlagBits {
1925 VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT = 0x00000001,
1926 VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT = 0x00000002,
1927 VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1928 } VkSamplerCreateFlagBits;
1929 typedef VkFlags VkSamplerCreateFlags;
1931 typedef enum VkDescriptorPoolCreateFlagBits {
1932 VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001,
1933 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT = 0x00000002,
1934 VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE = 0x00000004,
1935 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT,
1936 VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1937 } VkDescriptorPoolCreateFlagBits;
1938 typedef VkFlags VkDescriptorPoolCreateFlags;
1939 typedef VkFlags VkDescriptorPoolResetFlags;
1941 typedef enum VkDescriptorSetLayoutCreateFlagBits {
1942 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT = 0x00000002,
1943 VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = 0x00000001,
1944 VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE = 0x00000004,
1945 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT,
1946 VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1947 } VkDescriptorSetLayoutCreateFlagBits;
1948 typedef VkFlags VkDescriptorSetLayoutCreateFlags;
1950 typedef enum VkAttachmentDescriptionFlagBits {
1951 VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001,
1952 VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1953 } VkAttachmentDescriptionFlagBits;
1954 typedef VkFlags VkAttachmentDescriptionFlags;
1956 typedef enum VkDependencyFlagBits {
1957 VK_DEPENDENCY_BY_REGION_BIT = 0x00000001,
1958 VK_DEPENDENCY_DEVICE_GROUP_BIT = 0x00000004,
1959 VK_DEPENDENCY_VIEW_LOCAL_BIT = 0x00000002,
1960 VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR = VK_DEPENDENCY_VIEW_LOCAL_BIT,
1961 VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR = VK_DEPENDENCY_DEVICE_GROUP_BIT,
1962 VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1963 } VkDependencyFlagBits;
1964 typedef VkFlags VkDependencyFlags;
1966 typedef enum VkFramebufferCreateFlagBits {
1967 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT = 0x00000001,
1968 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR = VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT,
1969 VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1970 } VkFramebufferCreateFlagBits;
1971 typedef VkFlags VkFramebufferCreateFlags;
1973 typedef enum VkRenderPassCreateFlagBits {
1974 VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM = 0x00000002,
1975 VK_RENDER_PASS_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1976 } VkRenderPassCreateFlagBits;
1977 typedef VkFlags VkRenderPassCreateFlags;
1979 typedef enum VkSubpassDescriptionFlagBits {
1980 VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX = 0x00000001,
1981 VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 0x00000002,
1982 VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM = 0x00000004,
1983 VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM = 0x00000008,
1984 VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1985 } VkSubpassDescriptionFlagBits;
1986 typedef VkFlags VkSubpassDescriptionFlags;
1988 typedef enum VkCommandPoolCreateFlagBits {
1989 VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 0x00000001,
1990 VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002,
1991 VK_COMMAND_POOL_CREATE_PROTECTED_BIT = 0x00000004,
1992 VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1993 } VkCommandPoolCreateFlagBits;
1994 typedef VkFlags VkCommandPoolCreateFlags;
1996 typedef enum VkCommandPoolResetFlagBits {
1997 VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
1998 VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1999 } VkCommandPoolResetFlagBits;
2000 typedef VkFlags VkCommandPoolResetFlags;
2002 typedef enum VkCommandBufferUsageFlagBits {
2003 VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 0x00000001,
2004 VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 0x00000002,
2005 VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 0x00000004,
2006 VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2007 } VkCommandBufferUsageFlagBits;
2008 typedef VkFlags VkCommandBufferUsageFlags;
2010 typedef enum VkQueryControlFlagBits {
2011 VK_QUERY_CONTROL_PRECISE_BIT = 0x00000001,
2012 VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2013 } VkQueryControlFlagBits;
2014 typedef VkFlags VkQueryControlFlags;
2016 typedef enum VkCommandBufferResetFlagBits {
2017 VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
2018 VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2019 } VkCommandBufferResetFlagBits;
2020 typedef VkFlags VkCommandBufferResetFlags;
2022 typedef enum VkStencilFaceFlagBits {
2023 VK_STENCIL_FACE_FRONT_BIT = 0x00000001,
2024 VK_STENCIL_FACE_BACK_BIT = 0x00000002,
2025 VK_STENCIL_FACE_FRONT_AND_BACK = 0x00000003,
2026 VK_STENCIL_FRONT_AND_BACK = VK_STENCIL_FACE_FRONT_AND_BACK,
2027 VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2028 } VkStencilFaceFlagBits;
2029 typedef VkFlags VkStencilFaceFlags;
2030 typedef struct VkExtent2D {
2035 typedef struct VkExtent3D {
2041 typedef struct VkOffset2D {
2046 typedef struct VkOffset3D {
2052 typedef struct VkRect2D {
2057 typedef struct VkBaseInStructure {
2058 VkStructureType sType;
2059 const struct VkBaseInStructure* pNext;
2060 } VkBaseInStructure;
2062 typedef struct VkBaseOutStructure {
2063 VkStructureType sType;
2064 struct VkBaseOutStructure* pNext;
2065 } VkBaseOutStructure;
2067 typedef struct VkBufferMemoryBarrier {
2068 VkStructureType sType;
2070 VkAccessFlags srcAccessMask;
2071 VkAccessFlags dstAccessMask;
2072 deUint32 srcQueueFamilyIndex;
2073 deUint32 dstQueueFamilyIndex;
2075 VkDeviceSize offset;
2077 } VkBufferMemoryBarrier;
2079 typedef struct VkDispatchIndirectCommand {
2083 } VkDispatchIndirectCommand;
2085 typedef struct VkDrawIndexedIndirectCommand {
2086 deUint32 indexCount;
2087 deUint32 instanceCount;
2088 deUint32 firstIndex;
2089 deInt32 vertexOffset;
2090 deUint32 firstInstance;
2091 } VkDrawIndexedIndirectCommand;
2093 typedef struct VkDrawIndirectCommand {
2094 deUint32 vertexCount;
2095 deUint32 instanceCount;
2096 deUint32 firstVertex;
2097 deUint32 firstInstance;
2098 } VkDrawIndirectCommand;
2100 typedef struct VkImageSubresourceRange {
2101 VkImageAspectFlags aspectMask;
2102 deUint32 baseMipLevel;
2103 deUint32 levelCount;
2104 deUint32 baseArrayLayer;
2105 deUint32 layerCount;
2106 } VkImageSubresourceRange;
2108 typedef struct VkImageMemoryBarrier {
2109 VkStructureType sType;
2111 VkAccessFlags srcAccessMask;
2112 VkAccessFlags dstAccessMask;
2113 VkImageLayout oldLayout;
2114 VkImageLayout newLayout;
2115 deUint32 srcQueueFamilyIndex;
2116 deUint32 dstQueueFamilyIndex;
2118 VkImageSubresourceRange subresourceRange;
2119 } VkImageMemoryBarrier;
2121 typedef struct VkMemoryBarrier {
2122 VkStructureType sType;
2124 VkAccessFlags srcAccessMask;
2125 VkAccessFlags dstAccessMask;
2128 typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
2131 deUintptr alignment,
2132 VkSystemAllocationScope allocationScope);
2134 typedef void (VKAPI_PTR *PFN_vkFreeFunction)(
2138 typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(
2141 VkInternalAllocationType allocationType,
2142 VkSystemAllocationScope allocationScope);
2144 typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(
2147 VkInternalAllocationType allocationType,
2148 VkSystemAllocationScope allocationScope);
2150 typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
2154 deUintptr alignment,
2155 VkSystemAllocationScope allocationScope);
2157 typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
2158 typedef struct VkAllocationCallbacks {
2160 PFN_vkAllocationFunction pfnAllocation;
2161 PFN_vkReallocationFunction pfnReallocation;
2162 PFN_vkFreeFunction pfnFree;
2163 PFN_vkInternalAllocationNotification pfnInternalAllocation;
2164 PFN_vkInternalFreeNotification pfnInternalFree;
2165 } VkAllocationCallbacks;
2167 typedef struct VkApplicationInfo {
2168 VkStructureType sType;
2170 const char* pApplicationName;
2171 deUint32 applicationVersion;
2172 const char* pEngineName;
2173 deUint32 engineVersion;
2174 deUint32 apiVersion;
2175 } VkApplicationInfo;
2177 typedef struct VkFormatProperties {
2178 VkFormatFeatureFlags linearTilingFeatures;
2179 VkFormatFeatureFlags optimalTilingFeatures;
2180 VkFormatFeatureFlags bufferFeatures;
2181 } VkFormatProperties;
2183 typedef struct VkImageFormatProperties {
2184 VkExtent3D maxExtent;
2185 deUint32 maxMipLevels;
2186 deUint32 maxArrayLayers;
2187 VkSampleCountFlags sampleCounts;
2188 VkDeviceSize maxResourceSize;
2189 } VkImageFormatProperties;
2191 typedef struct VkInstanceCreateInfo {
2192 VkStructureType sType;
2194 VkInstanceCreateFlags flags;
2195 const VkApplicationInfo* pApplicationInfo;
2196 deUint32 enabledLayerCount;
2197 const char* const* ppEnabledLayerNames;
2198 deUint32 enabledExtensionCount;
2199 const char* const* ppEnabledExtensionNames;
2200 } VkInstanceCreateInfo;
2202 typedef struct VkMemoryHeap {
2204 VkMemoryHeapFlags flags;
2207 typedef struct VkMemoryType {
2208 VkMemoryPropertyFlags propertyFlags;
2212 typedef struct VkPhysicalDeviceFeatures {
2213 VkBool32 robustBufferAccess;
2214 VkBool32 fullDrawIndexUint32;
2215 VkBool32 imageCubeArray;
2216 VkBool32 independentBlend;
2217 VkBool32 geometryShader;
2218 VkBool32 tessellationShader;
2219 VkBool32 sampleRateShading;
2220 VkBool32 dualSrcBlend;
2222 VkBool32 multiDrawIndirect;
2223 VkBool32 drawIndirectFirstInstance;
2224 VkBool32 depthClamp;
2225 VkBool32 depthBiasClamp;
2226 VkBool32 fillModeNonSolid;
2227 VkBool32 depthBounds;
2229 VkBool32 largePoints;
2230 VkBool32 alphaToOne;
2231 VkBool32 multiViewport;
2232 VkBool32 samplerAnisotropy;
2233 VkBool32 textureCompressionETC2;
2234 VkBool32 textureCompressionASTC_LDR;
2235 VkBool32 textureCompressionBC;
2236 VkBool32 occlusionQueryPrecise;
2237 VkBool32 pipelineStatisticsQuery;
2238 VkBool32 vertexPipelineStoresAndAtomics;
2239 VkBool32 fragmentStoresAndAtomics;
2240 VkBool32 shaderTessellationAndGeometryPointSize;
2241 VkBool32 shaderImageGatherExtended;
2242 VkBool32 shaderStorageImageExtendedFormats;
2243 VkBool32 shaderStorageImageMultisample;
2244 VkBool32 shaderStorageImageReadWithoutFormat;
2245 VkBool32 shaderStorageImageWriteWithoutFormat;
2246 VkBool32 shaderUniformBufferArrayDynamicIndexing;
2247 VkBool32 shaderSampledImageArrayDynamicIndexing;
2248 VkBool32 shaderStorageBufferArrayDynamicIndexing;
2249 VkBool32 shaderStorageImageArrayDynamicIndexing;
2250 VkBool32 shaderClipDistance;
2251 VkBool32 shaderCullDistance;
2252 VkBool32 shaderFloat64;
2253 VkBool32 shaderInt64;
2254 VkBool32 shaderInt16;
2255 VkBool32 shaderResourceResidency;
2256 VkBool32 shaderResourceMinLod;
2257 VkBool32 sparseBinding;
2258 VkBool32 sparseResidencyBuffer;
2259 VkBool32 sparseResidencyImage2D;
2260 VkBool32 sparseResidencyImage3D;
2261 VkBool32 sparseResidency2Samples;
2262 VkBool32 sparseResidency4Samples;
2263 VkBool32 sparseResidency8Samples;
2264 VkBool32 sparseResidency16Samples;
2265 VkBool32 sparseResidencyAliased;
2266 VkBool32 variableMultisampleRate;
2267 VkBool32 inheritedQueries;
2268 } VkPhysicalDeviceFeatures;
2270 typedef struct VkPhysicalDeviceLimits {
2271 deUint32 maxImageDimension1D;
2272 deUint32 maxImageDimension2D;
2273 deUint32 maxImageDimension3D;
2274 deUint32 maxImageDimensionCube;
2275 deUint32 maxImageArrayLayers;
2276 deUint32 maxTexelBufferElements;
2277 deUint32 maxUniformBufferRange;
2278 deUint32 maxStorageBufferRange;
2279 deUint32 maxPushConstantsSize;
2280 deUint32 maxMemoryAllocationCount;
2281 deUint32 maxSamplerAllocationCount;
2282 VkDeviceSize bufferImageGranularity;
2283 VkDeviceSize sparseAddressSpaceSize;
2284 deUint32 maxBoundDescriptorSets;
2285 deUint32 maxPerStageDescriptorSamplers;
2286 deUint32 maxPerStageDescriptorUniformBuffers;
2287 deUint32 maxPerStageDescriptorStorageBuffers;
2288 deUint32 maxPerStageDescriptorSampledImages;
2289 deUint32 maxPerStageDescriptorStorageImages;
2290 deUint32 maxPerStageDescriptorInputAttachments;
2291 deUint32 maxPerStageResources;
2292 deUint32 maxDescriptorSetSamplers;
2293 deUint32 maxDescriptorSetUniformBuffers;
2294 deUint32 maxDescriptorSetUniformBuffersDynamic;
2295 deUint32 maxDescriptorSetStorageBuffers;
2296 deUint32 maxDescriptorSetStorageBuffersDynamic;
2297 deUint32 maxDescriptorSetSampledImages;
2298 deUint32 maxDescriptorSetStorageImages;
2299 deUint32 maxDescriptorSetInputAttachments;
2300 deUint32 maxVertexInputAttributes;
2301 deUint32 maxVertexInputBindings;
2302 deUint32 maxVertexInputAttributeOffset;
2303 deUint32 maxVertexInputBindingStride;
2304 deUint32 maxVertexOutputComponents;
2305 deUint32 maxTessellationGenerationLevel;
2306 deUint32 maxTessellationPatchSize;
2307 deUint32 maxTessellationControlPerVertexInputComponents;
2308 deUint32 maxTessellationControlPerVertexOutputComponents;
2309 deUint32 maxTessellationControlPerPatchOutputComponents;
2310 deUint32 maxTessellationControlTotalOutputComponents;
2311 deUint32 maxTessellationEvaluationInputComponents;
2312 deUint32 maxTessellationEvaluationOutputComponents;
2313 deUint32 maxGeometryShaderInvocations;
2314 deUint32 maxGeometryInputComponents;
2315 deUint32 maxGeometryOutputComponents;
2316 deUint32 maxGeometryOutputVertices;
2317 deUint32 maxGeometryTotalOutputComponents;
2318 deUint32 maxFragmentInputComponents;
2319 deUint32 maxFragmentOutputAttachments;
2320 deUint32 maxFragmentDualSrcAttachments;
2321 deUint32 maxFragmentCombinedOutputResources;
2322 deUint32 maxComputeSharedMemorySize;
2323 deUint32 maxComputeWorkGroupCount[3];
2324 deUint32 maxComputeWorkGroupInvocations;
2325 deUint32 maxComputeWorkGroupSize[3];
2326 deUint32 subPixelPrecisionBits;
2327 deUint32 subTexelPrecisionBits;
2328 deUint32 mipmapPrecisionBits;
2329 deUint32 maxDrawIndexedIndexValue;
2330 deUint32 maxDrawIndirectCount;
2331 float maxSamplerLodBias;
2332 float maxSamplerAnisotropy;
2333 deUint32 maxViewports;
2334 deUint32 maxViewportDimensions[2];
2335 float viewportBoundsRange[2];
2336 deUint32 viewportSubPixelBits;
2337 deUintptr minMemoryMapAlignment;
2338 VkDeviceSize minTexelBufferOffsetAlignment;
2339 VkDeviceSize minUniformBufferOffsetAlignment;
2340 VkDeviceSize minStorageBufferOffsetAlignment;
2341 deInt32 minTexelOffset;
2342 deUint32 maxTexelOffset;
2343 deInt32 minTexelGatherOffset;
2344 deUint32 maxTexelGatherOffset;
2345 float minInterpolationOffset;
2346 float maxInterpolationOffset;
2347 deUint32 subPixelInterpolationOffsetBits;
2348 deUint32 maxFramebufferWidth;
2349 deUint32 maxFramebufferHeight;
2350 deUint32 maxFramebufferLayers;
2351 VkSampleCountFlags framebufferColorSampleCounts;
2352 VkSampleCountFlags framebufferDepthSampleCounts;
2353 VkSampleCountFlags framebufferStencilSampleCounts;
2354 VkSampleCountFlags framebufferNoAttachmentsSampleCounts;
2355 deUint32 maxColorAttachments;
2356 VkSampleCountFlags sampledImageColorSampleCounts;
2357 VkSampleCountFlags sampledImageIntegerSampleCounts;
2358 VkSampleCountFlags sampledImageDepthSampleCounts;
2359 VkSampleCountFlags sampledImageStencilSampleCounts;
2360 VkSampleCountFlags storageImageSampleCounts;
2361 deUint32 maxSampleMaskWords;
2362 VkBool32 timestampComputeAndGraphics;
2363 float timestampPeriod;
2364 deUint32 maxClipDistances;
2365 deUint32 maxCullDistances;
2366 deUint32 maxCombinedClipAndCullDistances;
2367 deUint32 discreteQueuePriorities;
2368 float pointSizeRange[2];
2369 float lineWidthRange[2];
2370 float pointSizeGranularity;
2371 float lineWidthGranularity;
2372 VkBool32 strictLines;
2373 VkBool32 standardSampleLocations;
2374 VkDeviceSize optimalBufferCopyOffsetAlignment;
2375 VkDeviceSize optimalBufferCopyRowPitchAlignment;
2376 VkDeviceSize nonCoherentAtomSize;
2377 } VkPhysicalDeviceLimits;
2379 typedef struct VkPhysicalDeviceMemoryProperties {
2380 deUint32 memoryTypeCount;
2381 VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES];
2382 deUint32 memoryHeapCount;
2383 VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS];
2384 } VkPhysicalDeviceMemoryProperties;
2386 typedef struct VkPhysicalDeviceSparseProperties {
2387 VkBool32 residencyStandard2DBlockShape;
2388 VkBool32 residencyStandard2DMultisampleBlockShape;
2389 VkBool32 residencyStandard3DBlockShape;
2390 VkBool32 residencyAlignedMipSize;
2391 VkBool32 residencyNonResidentStrict;
2392 } VkPhysicalDeviceSparseProperties;
2394 typedef struct VkPhysicalDeviceProperties {
2395 deUint32 apiVersion;
2396 deUint32 driverVersion;
2399 VkPhysicalDeviceType deviceType;
2400 char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
2401 deUint8 pipelineCacheUUID[VK_UUID_SIZE];
2402 VkPhysicalDeviceLimits limits;
2403 VkPhysicalDeviceSparseProperties sparseProperties;
2404 } VkPhysicalDeviceProperties;
2406 typedef struct VkQueueFamilyProperties {
2407 VkQueueFlags queueFlags;
2408 deUint32 queueCount;
2409 deUint32 timestampValidBits;
2410 VkExtent3D minImageTransferGranularity;
2411 } VkQueueFamilyProperties;
2413 typedef struct VkDeviceQueueCreateInfo {
2414 VkStructureType sType;
2416 VkDeviceQueueCreateFlags flags;
2417 deUint32 queueFamilyIndex;
2418 deUint32 queueCount;
2419 const float* pQueuePriorities;
2420 } VkDeviceQueueCreateInfo;
2422 typedef struct VkDeviceCreateInfo {
2423 VkStructureType sType;
2425 VkDeviceCreateFlags flags;
2426 deUint32 queueCreateInfoCount;
2427 const VkDeviceQueueCreateInfo* pQueueCreateInfos;
2428 deUint32 enabledLayerCount;
2429 const char* const* ppEnabledLayerNames;
2430 deUint32 enabledExtensionCount;
2431 const char* const* ppEnabledExtensionNames;
2432 const VkPhysicalDeviceFeatures* pEnabledFeatures;
2433 } VkDeviceCreateInfo;
2435 typedef struct VkExtensionProperties {
2436 char extensionName[VK_MAX_EXTENSION_NAME_SIZE];
2437 deUint32 specVersion;
2438 } VkExtensionProperties;
2440 typedef struct VkLayerProperties {
2441 char layerName[VK_MAX_EXTENSION_NAME_SIZE];
2442 deUint32 specVersion;
2443 deUint32 implementationVersion;
2444 char description[VK_MAX_DESCRIPTION_SIZE];
2445 } VkLayerProperties;
2447 typedef struct VkSubmitInfo {
2448 VkStructureType sType;
2450 deUint32 waitSemaphoreCount;
2451 const VkSemaphore* pWaitSemaphores;
2452 const VkPipelineStageFlags* pWaitDstStageMask;
2453 deUint32 commandBufferCount;
2454 const VkCommandBuffer* pCommandBuffers;
2455 deUint32 signalSemaphoreCount;
2456 const VkSemaphore* pSignalSemaphores;
2459 typedef struct VkMappedMemoryRange {
2460 VkStructureType sType;
2462 VkDeviceMemory memory;
2463 VkDeviceSize offset;
2465 } VkMappedMemoryRange;
2467 typedef struct VkMemoryAllocateInfo {
2468 VkStructureType sType;
2470 VkDeviceSize allocationSize;
2471 deUint32 memoryTypeIndex;
2472 } VkMemoryAllocateInfo;
2474 typedef struct VkMemoryRequirements {
2476 VkDeviceSize alignment;
2477 deUint32 memoryTypeBits;
2478 } VkMemoryRequirements;
2480 typedef struct VkSparseMemoryBind {
2481 VkDeviceSize resourceOffset;
2483 VkDeviceMemory memory;
2484 VkDeviceSize memoryOffset;
2485 VkSparseMemoryBindFlags flags;
2486 } VkSparseMemoryBind;
2488 typedef struct VkSparseBufferMemoryBindInfo {
2491 const VkSparseMemoryBind* pBinds;
2492 } VkSparseBufferMemoryBindInfo;
2494 typedef struct VkSparseImageOpaqueMemoryBindInfo {
2497 const VkSparseMemoryBind* pBinds;
2498 } VkSparseImageOpaqueMemoryBindInfo;
2500 typedef struct VkImageSubresource {
2501 VkImageAspectFlags aspectMask;
2503 deUint32 arrayLayer;
2504 } VkImageSubresource;
2506 typedef struct VkSparseImageMemoryBind {
2507 VkImageSubresource subresource;
2510 VkDeviceMemory memory;
2511 VkDeviceSize memoryOffset;
2512 VkSparseMemoryBindFlags flags;
2513 } VkSparseImageMemoryBind;
2515 typedef struct VkSparseImageMemoryBindInfo {
2518 const VkSparseImageMemoryBind* pBinds;
2519 } VkSparseImageMemoryBindInfo;
2521 typedef struct VkBindSparseInfo {
2522 VkStructureType sType;
2524 deUint32 waitSemaphoreCount;
2525 const VkSemaphore* pWaitSemaphores;
2526 deUint32 bufferBindCount;
2527 const VkSparseBufferMemoryBindInfo* pBufferBinds;
2528 deUint32 imageOpaqueBindCount;
2529 const VkSparseImageOpaqueMemoryBindInfo* pImageOpaqueBinds;
2530 deUint32 imageBindCount;
2531 const VkSparseImageMemoryBindInfo* pImageBinds;
2532 deUint32 signalSemaphoreCount;
2533 const VkSemaphore* pSignalSemaphores;
2536 typedef struct VkSparseImageFormatProperties {
2537 VkImageAspectFlags aspectMask;
2538 VkExtent3D imageGranularity;
2539 VkSparseImageFormatFlags flags;
2540 } VkSparseImageFormatProperties;
2542 typedef struct VkSparseImageMemoryRequirements {
2543 VkSparseImageFormatProperties formatProperties;
2544 deUint32 imageMipTailFirstLod;
2545 VkDeviceSize imageMipTailSize;
2546 VkDeviceSize imageMipTailOffset;
2547 VkDeviceSize imageMipTailStride;
2548 } VkSparseImageMemoryRequirements;
2550 typedef struct VkFenceCreateInfo {
2551 VkStructureType sType;
2553 VkFenceCreateFlags flags;
2554 } VkFenceCreateInfo;
2556 typedef struct VkSemaphoreCreateInfo {
2557 VkStructureType sType;
2559 VkSemaphoreCreateFlags flags;
2560 } VkSemaphoreCreateInfo;
2562 typedef struct VkEventCreateInfo {
2563 VkStructureType sType;
2565 VkEventCreateFlags flags;
2566 } VkEventCreateInfo;
2568 typedef struct VkQueryPoolCreateInfo {
2569 VkStructureType sType;
2571 VkQueryPoolCreateFlags flags;
2572 VkQueryType queryType;
2573 deUint32 queryCount;
2574 VkQueryPipelineStatisticFlags pipelineStatistics;
2575 } VkQueryPoolCreateInfo;
2577 typedef struct VkBufferCreateInfo {
2578 VkStructureType sType;
2580 VkBufferCreateFlags flags;
2582 VkBufferUsageFlags usage;
2583 VkSharingMode sharingMode;
2584 deUint32 queueFamilyIndexCount;
2585 const deUint32* pQueueFamilyIndices;
2586 } VkBufferCreateInfo;
2588 typedef struct VkBufferViewCreateInfo {
2589 VkStructureType sType;
2591 VkBufferViewCreateFlags flags;
2594 VkDeviceSize offset;
2596 } VkBufferViewCreateInfo;
2598 typedef struct VkImageCreateInfo {
2599 VkStructureType sType;
2601 VkImageCreateFlags flags;
2602 VkImageType imageType;
2606 deUint32 arrayLayers;
2607 VkSampleCountFlagBits samples;
2608 VkImageTiling tiling;
2609 VkImageUsageFlags usage;
2610 VkSharingMode sharingMode;
2611 deUint32 queueFamilyIndexCount;
2612 const deUint32* pQueueFamilyIndices;
2613 VkImageLayout initialLayout;
2614 } VkImageCreateInfo;
2616 typedef struct VkSubresourceLayout {
2617 VkDeviceSize offset;
2619 VkDeviceSize rowPitch;
2620 VkDeviceSize arrayPitch;
2621 VkDeviceSize depthPitch;
2622 } VkSubresourceLayout;
2624 typedef struct VkComponentMapping {
2625 VkComponentSwizzle r;
2626 VkComponentSwizzle g;
2627 VkComponentSwizzle b;
2628 VkComponentSwizzle a;
2629 } VkComponentMapping;
2631 typedef struct VkImageViewCreateInfo {
2632 VkStructureType sType;
2634 VkImageViewCreateFlags flags;
2636 VkImageViewType viewType;
2638 VkComponentMapping components;
2639 VkImageSubresourceRange subresourceRange;
2640 } VkImageViewCreateInfo;
2642 typedef struct VkShaderModuleCreateInfo {
2643 VkStructureType sType;
2645 VkShaderModuleCreateFlags flags;
2647 const deUint32* pCode;
2648 } VkShaderModuleCreateInfo;
2650 typedef struct VkPipelineCacheCreateInfo {
2651 VkStructureType sType;
2653 VkPipelineCacheCreateFlags flags;
2654 deUintptr initialDataSize;
2655 const void* pInitialData;
2656 } VkPipelineCacheCreateInfo;
2658 typedef struct VkSpecializationMapEntry {
2659 deUint32 constantID;
2662 } VkSpecializationMapEntry;
2664 typedef struct VkSpecializationInfo {
2665 deUint32 mapEntryCount;
2666 const VkSpecializationMapEntry* pMapEntries;
2669 } VkSpecializationInfo;
2671 typedef struct VkPipelineShaderStageCreateInfo {
2672 VkStructureType sType;
2674 VkPipelineShaderStageCreateFlags flags;
2675 VkShaderStageFlagBits stage;
2676 VkShaderModule module;
2678 const VkSpecializationInfo* pSpecializationInfo;
2679 } VkPipelineShaderStageCreateInfo;
2681 typedef struct VkComputePipelineCreateInfo {
2682 VkStructureType sType;
2684 VkPipelineCreateFlags flags;
2685 VkPipelineShaderStageCreateInfo stage;
2686 VkPipelineLayout layout;
2687 VkPipeline basePipelineHandle;
2688 deInt32 basePipelineIndex;
2689 } VkComputePipelineCreateInfo;
2691 typedef struct VkVertexInputBindingDescription {
2694 VkVertexInputRate inputRate;
2695 } VkVertexInputBindingDescription;
2697 typedef struct VkVertexInputAttributeDescription {
2702 } VkVertexInputAttributeDescription;
2704 typedef struct VkPipelineVertexInputStateCreateInfo {
2705 VkStructureType sType;
2707 VkPipelineVertexInputStateCreateFlags flags;
2708 deUint32 vertexBindingDescriptionCount;
2709 const VkVertexInputBindingDescription* pVertexBindingDescriptions;
2710 deUint32 vertexAttributeDescriptionCount;
2711 const VkVertexInputAttributeDescription* pVertexAttributeDescriptions;
2712 } VkPipelineVertexInputStateCreateInfo;
2714 typedef struct VkPipelineInputAssemblyStateCreateInfo {
2715 VkStructureType sType;
2717 VkPipelineInputAssemblyStateCreateFlags flags;
2718 VkPrimitiveTopology topology;
2719 VkBool32 primitiveRestartEnable;
2720 } VkPipelineInputAssemblyStateCreateInfo;
2722 typedef struct VkPipelineTessellationStateCreateInfo {
2723 VkStructureType sType;
2725 VkPipelineTessellationStateCreateFlags flags;
2726 deUint32 patchControlPoints;
2727 } VkPipelineTessellationStateCreateInfo;
2729 typedef struct VkViewport {
2738 typedef struct VkPipelineViewportStateCreateInfo {
2739 VkStructureType sType;
2741 VkPipelineViewportStateCreateFlags flags;
2742 deUint32 viewportCount;
2743 const VkViewport* pViewports;
2744 deUint32 scissorCount;
2745 const VkRect2D* pScissors;
2746 } VkPipelineViewportStateCreateInfo;
2748 typedef struct VkPipelineRasterizationStateCreateInfo {
2749 VkStructureType sType;
2751 VkPipelineRasterizationStateCreateFlags flags;
2752 VkBool32 depthClampEnable;
2753 VkBool32 rasterizerDiscardEnable;
2754 VkPolygonMode polygonMode;
2755 VkCullModeFlags cullMode;
2756 VkFrontFace frontFace;
2757 VkBool32 depthBiasEnable;
2758 float depthBiasConstantFactor;
2759 float depthBiasClamp;
2760 float depthBiasSlopeFactor;
2762 } VkPipelineRasterizationStateCreateInfo;
2764 typedef struct VkPipelineMultisampleStateCreateInfo {
2765 VkStructureType sType;
2767 VkPipelineMultisampleStateCreateFlags flags;
2768 VkSampleCountFlagBits rasterizationSamples;
2769 VkBool32 sampleShadingEnable;
2770 float minSampleShading;
2771 const VkSampleMask* pSampleMask;
2772 VkBool32 alphaToCoverageEnable;
2773 VkBool32 alphaToOneEnable;
2774 } VkPipelineMultisampleStateCreateInfo;
2776 typedef struct VkStencilOpState {
2779 VkStencilOp depthFailOp;
2780 VkCompareOp compareOp;
2781 deUint32 compareMask;
2786 typedef struct VkPipelineDepthStencilStateCreateInfo {
2787 VkStructureType sType;
2789 VkPipelineDepthStencilStateCreateFlags flags;
2790 VkBool32 depthTestEnable;
2791 VkBool32 depthWriteEnable;
2792 VkCompareOp depthCompareOp;
2793 VkBool32 depthBoundsTestEnable;
2794 VkBool32 stencilTestEnable;
2795 VkStencilOpState front;
2796 VkStencilOpState back;
2797 float minDepthBounds;
2798 float maxDepthBounds;
2799 } VkPipelineDepthStencilStateCreateInfo;
2801 typedef struct VkPipelineColorBlendAttachmentState {
2802 VkBool32 blendEnable;
2803 VkBlendFactor srcColorBlendFactor;
2804 VkBlendFactor dstColorBlendFactor;
2805 VkBlendOp colorBlendOp;
2806 VkBlendFactor srcAlphaBlendFactor;
2807 VkBlendFactor dstAlphaBlendFactor;
2808 VkBlendOp alphaBlendOp;
2809 VkColorComponentFlags colorWriteMask;
2810 } VkPipelineColorBlendAttachmentState;
2812 typedef struct VkPipelineColorBlendStateCreateInfo {
2813 VkStructureType sType;
2815 VkPipelineColorBlendStateCreateFlags flags;
2816 VkBool32 logicOpEnable;
2818 deUint32 attachmentCount;
2819 const VkPipelineColorBlendAttachmentState* pAttachments;
2820 float blendConstants[4];
2821 } VkPipelineColorBlendStateCreateInfo;
2823 typedef struct VkPipelineDynamicStateCreateInfo {
2824 VkStructureType sType;
2826 VkPipelineDynamicStateCreateFlags flags;
2827 deUint32 dynamicStateCount;
2828 const VkDynamicState* pDynamicStates;
2829 } VkPipelineDynamicStateCreateInfo;
2831 typedef struct VkGraphicsPipelineCreateInfo {
2832 VkStructureType sType;
2834 VkPipelineCreateFlags flags;
2835 deUint32 stageCount;
2836 const VkPipelineShaderStageCreateInfo* pStages;
2837 const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
2838 const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState;
2839 const VkPipelineTessellationStateCreateInfo* pTessellationState;
2840 const VkPipelineViewportStateCreateInfo* pViewportState;
2841 const VkPipelineRasterizationStateCreateInfo* pRasterizationState;
2842 const VkPipelineMultisampleStateCreateInfo* pMultisampleState;
2843 const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState;
2844 const VkPipelineColorBlendStateCreateInfo* pColorBlendState;
2845 const VkPipelineDynamicStateCreateInfo* pDynamicState;
2846 VkPipelineLayout layout;
2847 VkRenderPass renderPass;
2849 VkPipeline basePipelineHandle;
2850 deInt32 basePipelineIndex;
2851 } VkGraphicsPipelineCreateInfo;
2853 typedef struct VkPushConstantRange {
2854 VkShaderStageFlags stageFlags;
2857 } VkPushConstantRange;
2859 typedef struct VkPipelineLayoutCreateInfo {
2860 VkStructureType sType;
2862 VkPipelineLayoutCreateFlags flags;
2863 deUint32 setLayoutCount;
2864 const VkDescriptorSetLayout* pSetLayouts;
2865 deUint32 pushConstantRangeCount;
2866 const VkPushConstantRange* pPushConstantRanges;
2867 } VkPipelineLayoutCreateInfo;
2869 typedef struct VkSamplerCreateInfo {
2870 VkStructureType sType;
2872 VkSamplerCreateFlags flags;
2875 VkSamplerMipmapMode mipmapMode;
2876 VkSamplerAddressMode addressModeU;
2877 VkSamplerAddressMode addressModeV;
2878 VkSamplerAddressMode addressModeW;
2880 VkBool32 anisotropyEnable;
2881 float maxAnisotropy;
2882 VkBool32 compareEnable;
2883 VkCompareOp compareOp;
2886 VkBorderColor borderColor;
2887 VkBool32 unnormalizedCoordinates;
2888 } VkSamplerCreateInfo;
2890 typedef struct VkCopyDescriptorSet {
2891 VkStructureType sType;
2893 VkDescriptorSet srcSet;
2894 deUint32 srcBinding;
2895 deUint32 srcArrayElement;
2896 VkDescriptorSet dstSet;
2897 deUint32 dstBinding;
2898 deUint32 dstArrayElement;
2899 deUint32 descriptorCount;
2900 } VkCopyDescriptorSet;
2902 typedef struct VkDescriptorBufferInfo {
2904 VkDeviceSize offset;
2906 } VkDescriptorBufferInfo;
2908 typedef struct VkDescriptorImageInfo {
2910 VkImageView imageView;
2911 VkImageLayout imageLayout;
2912 } VkDescriptorImageInfo;
2914 typedef struct VkDescriptorPoolSize {
2915 VkDescriptorType type;
2916 deUint32 descriptorCount;
2917 } VkDescriptorPoolSize;
2919 typedef struct VkDescriptorPoolCreateInfo {
2920 VkStructureType sType;
2922 VkDescriptorPoolCreateFlags flags;
2924 deUint32 poolSizeCount;
2925 const VkDescriptorPoolSize* pPoolSizes;
2926 } VkDescriptorPoolCreateInfo;
2928 typedef struct VkDescriptorSetAllocateInfo {
2929 VkStructureType sType;
2931 VkDescriptorPool descriptorPool;
2932 deUint32 descriptorSetCount;
2933 const VkDescriptorSetLayout* pSetLayouts;
2934 } VkDescriptorSetAllocateInfo;
2936 typedef struct VkDescriptorSetLayoutBinding {
2938 VkDescriptorType descriptorType;
2939 deUint32 descriptorCount;
2940 VkShaderStageFlags stageFlags;
2941 const VkSampler* pImmutableSamplers;
2942 } VkDescriptorSetLayoutBinding;
2944 typedef struct VkDescriptorSetLayoutCreateInfo {
2945 VkStructureType sType;
2947 VkDescriptorSetLayoutCreateFlags flags;
2948 deUint32 bindingCount;
2949 const VkDescriptorSetLayoutBinding* pBindings;
2950 } VkDescriptorSetLayoutCreateInfo;
2952 typedef struct VkWriteDescriptorSet {
2953 VkStructureType sType;
2955 VkDescriptorSet dstSet;
2956 deUint32 dstBinding;
2957 deUint32 dstArrayElement;
2958 deUint32 descriptorCount;
2959 VkDescriptorType descriptorType;
2960 const VkDescriptorImageInfo* pImageInfo;
2961 const VkDescriptorBufferInfo* pBufferInfo;
2962 const VkBufferView* pTexelBufferView;
2963 } VkWriteDescriptorSet;
2965 typedef struct VkAttachmentDescription {
2966 VkAttachmentDescriptionFlags flags;
2968 VkSampleCountFlagBits samples;
2969 VkAttachmentLoadOp loadOp;
2970 VkAttachmentStoreOp storeOp;
2971 VkAttachmentLoadOp stencilLoadOp;
2972 VkAttachmentStoreOp stencilStoreOp;
2973 VkImageLayout initialLayout;
2974 VkImageLayout finalLayout;
2975 } VkAttachmentDescription;
2977 typedef struct VkAttachmentReference {
2978 deUint32 attachment;
2979 VkImageLayout layout;
2980 } VkAttachmentReference;
2982 typedef struct VkFramebufferCreateInfo {
2983 VkStructureType sType;
2985 VkFramebufferCreateFlags flags;
2986 VkRenderPass renderPass;
2987 deUint32 attachmentCount;
2988 const VkImageView* pAttachments;
2992 } VkFramebufferCreateInfo;
2994 typedef struct VkSubpassDescription {
2995 VkSubpassDescriptionFlags flags;
2996 VkPipelineBindPoint pipelineBindPoint;
2997 deUint32 inputAttachmentCount;
2998 const VkAttachmentReference* pInputAttachments;
2999 deUint32 colorAttachmentCount;
3000 const VkAttachmentReference* pColorAttachments;
3001 const VkAttachmentReference* pResolveAttachments;
3002 const VkAttachmentReference* pDepthStencilAttachment;
3003 deUint32 preserveAttachmentCount;
3004 const deUint32* pPreserveAttachments;
3005 } VkSubpassDescription;
3007 typedef struct VkSubpassDependency {
3008 deUint32 srcSubpass;
3009 deUint32 dstSubpass;
3010 VkPipelineStageFlags srcStageMask;
3011 VkPipelineStageFlags dstStageMask;
3012 VkAccessFlags srcAccessMask;
3013 VkAccessFlags dstAccessMask;
3014 VkDependencyFlags dependencyFlags;
3015 } VkSubpassDependency;
3017 typedef struct VkRenderPassCreateInfo {
3018 VkStructureType sType;
3020 VkRenderPassCreateFlags flags;
3021 deUint32 attachmentCount;
3022 const VkAttachmentDescription* pAttachments;
3023 deUint32 subpassCount;
3024 const VkSubpassDescription* pSubpasses;
3025 deUint32 dependencyCount;
3026 const VkSubpassDependency* pDependencies;
3027 } VkRenderPassCreateInfo;
3029 typedef struct VkCommandPoolCreateInfo {
3030 VkStructureType sType;
3032 VkCommandPoolCreateFlags flags;
3033 deUint32 queueFamilyIndex;
3034 } VkCommandPoolCreateInfo;
3036 typedef struct VkCommandBufferAllocateInfo {
3037 VkStructureType sType;
3039 VkCommandPool commandPool;
3040 VkCommandBufferLevel level;
3041 deUint32 commandBufferCount;
3042 } VkCommandBufferAllocateInfo;
3044 typedef struct VkCommandBufferInheritanceInfo {
3045 VkStructureType sType;
3047 VkRenderPass renderPass;
3049 VkFramebuffer framebuffer;
3050 VkBool32 occlusionQueryEnable;
3051 VkQueryControlFlags queryFlags;
3052 VkQueryPipelineStatisticFlags pipelineStatistics;
3053 } VkCommandBufferInheritanceInfo;
3055 typedef struct VkCommandBufferBeginInfo {
3056 VkStructureType sType;
3058 VkCommandBufferUsageFlags flags;
3059 const VkCommandBufferInheritanceInfo* pInheritanceInfo;
3060 } VkCommandBufferBeginInfo;
3062 typedef struct VkBufferCopy {
3063 VkDeviceSize srcOffset;
3064 VkDeviceSize dstOffset;
3068 typedef struct VkImageSubresourceLayers {
3069 VkImageAspectFlags aspectMask;
3071 deUint32 baseArrayLayer;
3072 deUint32 layerCount;
3073 } VkImageSubresourceLayers;
3075 typedef struct VkBufferImageCopy {
3076 VkDeviceSize bufferOffset;
3077 deUint32 bufferRowLength;
3078 deUint32 bufferImageHeight;
3079 VkImageSubresourceLayers imageSubresource;
3080 VkOffset3D imageOffset;
3081 VkExtent3D imageExtent;
3082 } VkBufferImageCopy;
3084 typedef union VkClearColorValue {
3088 } VkClearColorValue;
3090 typedef struct VkClearDepthStencilValue {
3093 } VkClearDepthStencilValue;
3095 typedef union VkClearValue {
3096 VkClearColorValue color;
3097 VkClearDepthStencilValue depthStencil;
3100 typedef struct VkClearAttachment {
3101 VkImageAspectFlags aspectMask;
3102 deUint32 colorAttachment;
3103 VkClearValue clearValue;
3104 } VkClearAttachment;
3106 typedef struct VkClearRect {
3108 deUint32 baseArrayLayer;
3109 deUint32 layerCount;
3112 typedef struct VkImageBlit {
3113 VkImageSubresourceLayers srcSubresource;
3114 VkOffset3D srcOffsets[2];
3115 VkImageSubresourceLayers dstSubresource;
3116 VkOffset3D dstOffsets[2];
3119 typedef struct VkImageCopy {
3120 VkImageSubresourceLayers srcSubresource;
3121 VkOffset3D srcOffset;
3122 VkImageSubresourceLayers dstSubresource;
3123 VkOffset3D dstOffset;
3127 typedef struct VkImageResolve {
3128 VkImageSubresourceLayers srcSubresource;
3129 VkOffset3D srcOffset;
3130 VkImageSubresourceLayers dstSubresource;
3131 VkOffset3D dstOffset;
3135 typedef struct VkRenderPassBeginInfo {
3136 VkStructureType sType;
3138 VkRenderPass renderPass;
3139 VkFramebuffer framebuffer;
3140 VkRect2D renderArea;
3141 deUint32 clearValueCount;
3142 const VkClearValue* pClearValues;
3143 } VkRenderPassBeginInfo;
3145 typedef VkResult (VKAPI_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance);
3146 typedef void (VKAPI_PTR *PFN_vkDestroyInstance)(VkInstance instance, const VkAllocationCallbacks* pAllocator);
3147 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDevices)(VkInstance instance, deUint32* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices);
3148 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures);
3149 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties);
3150 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties);
3151 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties);
3152 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties);
3153 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties);
3154 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddr)(VkInstance instance, const char* pName);
3155 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetDeviceProcAddr)(VkDevice device, const char* pName);
3156 typedef VkResult (VKAPI_PTR *PFN_vkCreateDevice)(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice);
3157 typedef void (VKAPI_PTR *PFN_vkDestroyDevice)(VkDevice device, const VkAllocationCallbacks* pAllocator);
3158 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceExtensionProperties)(const char* pLayerName, deUint32* pPropertyCount, VkExtensionProperties* pProperties);
3159 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice physicalDevice, const char* pLayerName, deUint32* pPropertyCount, VkExtensionProperties* pProperties);
3160 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceLayerProperties)(deUint32* pPropertyCount, VkLayerProperties* pProperties);
3161 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkLayerProperties* pProperties);
3162 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue)(VkDevice device, deUint32 queueFamilyIndex, deUint32 queueIndex, VkQueue* pQueue);
3163 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit)(VkQueue queue, deUint32 submitCount, const VkSubmitInfo* pSubmits, VkFence fence);
3164 typedef VkResult (VKAPI_PTR *PFN_vkQueueWaitIdle)(VkQueue queue);
3165 typedef VkResult (VKAPI_PTR *PFN_vkDeviceWaitIdle)(VkDevice device);
3166 typedef VkResult (VKAPI_PTR *PFN_vkAllocateMemory)(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory);
3167 typedef void (VKAPI_PTR *PFN_vkFreeMemory)(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator);
3168 typedef VkResult (VKAPI_PTR *PFN_vkMapMemory)(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData);
3169 typedef void (VKAPI_PTR *PFN_vkUnmapMemory)(VkDevice device, VkDeviceMemory memory);
3170 typedef VkResult (VKAPI_PTR *PFN_vkFlushMappedMemoryRanges)(VkDevice device, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
3171 typedef VkResult (VKAPI_PTR *PFN_vkInvalidateMappedMemoryRanges)(VkDevice device, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
3172 typedef void (VKAPI_PTR *PFN_vkGetDeviceMemoryCommitment)(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes);
3173 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory)(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset);
3174 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory)(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset);
3175 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements)(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements);
3176 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements)(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements);
3177 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements)(VkDevice device, VkImage image, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
3178 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, deUint32* pPropertyCount, VkSparseImageFormatProperties* pProperties);
3179 typedef VkResult (VKAPI_PTR *PFN_vkQueueBindSparse)(VkQueue queue, deUint32 bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence);
3180 typedef VkResult (VKAPI_PTR *PFN_vkCreateFence)(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
3181 typedef void (VKAPI_PTR *PFN_vkDestroyFence)(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator);
3182 typedef VkResult (VKAPI_PTR *PFN_vkResetFences)(VkDevice device, deUint32 fenceCount, const VkFence* pFences);
3183 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceStatus)(VkDevice device, VkFence fence);
3184 typedef VkResult (VKAPI_PTR *PFN_vkWaitForFences)(VkDevice device, deUint32 fenceCount, const VkFence* pFences, VkBool32 waitAll, deUint64 timeout);
3185 typedef VkResult (VKAPI_PTR *PFN_vkCreateSemaphore)(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore);
3186 typedef void (VKAPI_PTR *PFN_vkDestroySemaphore)(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator);
3187 typedef VkResult (VKAPI_PTR *PFN_vkCreateEvent)(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent);
3188 typedef void (VKAPI_PTR *PFN_vkDestroyEvent)(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator);
3189 typedef VkResult (VKAPI_PTR *PFN_vkGetEventStatus)(VkDevice device, VkEvent event);
3190 typedef VkResult (VKAPI_PTR *PFN_vkSetEvent)(VkDevice device, VkEvent event);
3191 typedef VkResult (VKAPI_PTR *PFN_vkResetEvent)(VkDevice device, VkEvent event);
3192 typedef VkResult (VKAPI_PTR *PFN_vkCreateQueryPool)(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool);
3193 typedef void (VKAPI_PTR *PFN_vkDestroyQueryPool)(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator);
3194 typedef VkResult (VKAPI_PTR *PFN_vkGetQueryPoolResults)(VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, deUintptr dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags);
3195 typedef VkResult (VKAPI_PTR *PFN_vkCreateBuffer)(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer);
3196 typedef void (VKAPI_PTR *PFN_vkDestroyBuffer)(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator);
3197 typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferView)(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView);
3198 typedef void (VKAPI_PTR *PFN_vkDestroyBufferView)(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator);
3199 typedef VkResult (VKAPI_PTR *PFN_vkCreateImage)(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage);
3200 typedef void (VKAPI_PTR *PFN_vkDestroyImage)(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator);
3201 typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout)(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout);
3202 typedef VkResult (VKAPI_PTR *PFN_vkCreateImageView)(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView);
3203 typedef void (VKAPI_PTR *PFN_vkDestroyImageView)(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator);
3204 typedef VkResult (VKAPI_PTR *PFN_vkCreateShaderModule)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule);
3205 typedef void (VKAPI_PTR *PFN_vkDestroyShaderModule)(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator);
3206 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineCache)(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache);
3207 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineCache)(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator);
3208 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineCacheData)(VkDevice device, VkPipelineCache pipelineCache, deUintptr* pDataSize, void* pData);
3209 typedef VkResult (VKAPI_PTR *PFN_vkMergePipelineCaches)(VkDevice device, VkPipelineCache dstCache, deUint32 srcCacheCount, const VkPipelineCache* pSrcCaches);
3210 typedef VkResult (VKAPI_PTR *PFN_vkCreateGraphicsPipelines)(VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
3211 typedef VkResult (VKAPI_PTR *PFN_vkCreateComputePipelines)(VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
3212 typedef void (VKAPI_PTR *PFN_vkDestroyPipeline)(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator);
3213 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineLayout)(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout);
3214 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineLayout)(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator);
3215 typedef VkResult (VKAPI_PTR *PFN_vkCreateSampler)(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler);
3216 typedef void (VKAPI_PTR *PFN_vkDestroySampler)(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator);
3217 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorSetLayout)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout);
3218 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorSetLayout)(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator);
3219 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorPool)(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool);
3220 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator);
3221 typedef VkResult (VKAPI_PTR *PFN_vkResetDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags);
3222 typedef VkResult (VKAPI_PTR *PFN_vkAllocateDescriptorSets)(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets);
3223 typedef VkResult (VKAPI_PTR *PFN_vkFreeDescriptorSets)(VkDevice device, VkDescriptorPool descriptorPool, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets);
3224 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSets)(VkDevice device, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, deUint32 descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies);
3225 typedef VkResult (VKAPI_PTR *PFN_vkCreateFramebuffer)(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer);
3226 typedef void (VKAPI_PTR *PFN_vkDestroyFramebuffer)(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator);
3227 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass)(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
3228 typedef void (VKAPI_PTR *PFN_vkDestroyRenderPass)(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator);
3229 typedef void (VKAPI_PTR *PFN_vkGetRenderAreaGranularity)(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity);
3230 typedef VkResult (VKAPI_PTR *PFN_vkCreateCommandPool)(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool);
3231 typedef void (VKAPI_PTR *PFN_vkDestroyCommandPool)(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator);
3232 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags);
3233 typedef VkResult (VKAPI_PTR *PFN_vkAllocateCommandBuffers)(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers);
3234 typedef void (VKAPI_PTR *PFN_vkFreeCommandBuffers)(VkDevice device, VkCommandPool commandPool, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers);
3235 typedef VkResult (VKAPI_PTR *PFN_vkBeginCommandBuffer)(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo);
3236 typedef VkResult (VKAPI_PTR *PFN_vkEndCommandBuffer)(VkCommandBuffer commandBuffer);
3237 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandBuffer)(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags);
3238 typedef void (VKAPI_PTR *PFN_vkCmdBindPipeline)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline);
3239 typedef void (VKAPI_PTR *PFN_vkCmdSetViewport)(VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkViewport* pViewports);
3240 typedef void (VKAPI_PTR *PFN_vkCmdSetScissor)(VkCommandBuffer commandBuffer, deUint32 firstScissor, deUint32 scissorCount, const VkRect2D* pScissors);
3241 typedef void (VKAPI_PTR *PFN_vkCmdSetLineWidth)(VkCommandBuffer commandBuffer, float lineWidth);
3242 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias)(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor);
3243 typedef void (VKAPI_PTR *PFN_vkCmdSetBlendConstants)(VkCommandBuffer commandBuffer, const float blendConstants[4]);
3244 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBounds)(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds);
3245 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilCompareMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 compareMask);
3246 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilWriteMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 writeMask);
3247 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilReference)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 reference);
3248 typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorSets)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 firstSet, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets, deUint32 dynamicOffsetCount, const deUint32* pDynamicOffsets);
3249 typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType);
3250 typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets);
3251 typedef void (VKAPI_PTR *PFN_vkCmdDraw)(VkCommandBuffer commandBuffer, deUint32 vertexCount, deUint32 instanceCount, deUint32 firstVertex, deUint32 firstInstance);
3252 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexed)(VkCommandBuffer commandBuffer, deUint32 indexCount, deUint32 instanceCount, deUint32 firstIndex, deInt32 vertexOffset, deUint32 firstInstance);
3253 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride);
3254 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride);
3255 typedef void (VKAPI_PTR *PFN_vkCmdDispatch)(VkCommandBuffer commandBuffer, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ);
3256 typedef void (VKAPI_PTR *PFN_vkCmdDispatchIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset);
3257 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferCopy* pRegions);
3258 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageCopy* pRegions);
3259 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageBlit* pRegions, VkFilter filter);
3260 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkBufferImageCopy* pRegions);
3261 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferImageCopy* pRegions);
3262 typedef void (VKAPI_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData);
3263 typedef void (VKAPI_PTR *PFN_vkCmdFillBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, deUint32 data);
3264 typedef void (VKAPI_PTR *PFN_vkCmdClearColorImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, deUint32 rangeCount, const VkImageSubresourceRange* pRanges);
3265 typedef void (VKAPI_PTR *PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, deUint32 rangeCount, const VkImageSubresourceRange* pRanges);
3266 typedef void (VKAPI_PTR *PFN_vkCmdClearAttachments)(VkCommandBuffer commandBuffer, deUint32 attachmentCount, const VkClearAttachment* pAttachments, deUint32 rectCount, const VkClearRect* pRects);
3267 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageResolve* pRegions);
3268 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
3269 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
3270 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);
3271 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);
3272 typedef void (VKAPI_PTR *PFN_vkCmdBeginQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, VkQueryControlFlags flags);
3273 typedef void (VKAPI_PTR *PFN_vkCmdEndQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query);
3274 typedef void (VKAPI_PTR *PFN_vkCmdResetQueryPool)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount);
3275 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, deUint32 query);
3276 typedef void (VKAPI_PTR *PFN_vkCmdCopyQueryPoolResults)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags);
3277 typedef void (VKAPI_PTR *PFN_vkCmdPushConstants)(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, deUint32 offset, deUint32 size, const void* pValues);
3278 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents);
3279 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass)(VkCommandBuffer commandBuffer, VkSubpassContents contents);
3280 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass)(VkCommandBuffer commandBuffer);
3281 typedef void (VKAPI_PTR *PFN_vkCmdExecuteCommands)(VkCommandBuffer commandBuffer, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers);
3283 #ifndef VK_NO_PROTOTYPES
3284 VKAPI_ATTR VkResult VKAPI_CALL vkCreateInstance(
3285 const VkInstanceCreateInfo* pCreateInfo,
3286 const VkAllocationCallbacks* pAllocator,
3287 VkInstance* pInstance);
3289 VKAPI_ATTR void VKAPI_CALL vkDestroyInstance(
3290 VkInstance instance,
3291 const VkAllocationCallbacks* pAllocator);
3293 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDevices(
3294 VkInstance instance,
3295 deUint32* pPhysicalDeviceCount,
3296 VkPhysicalDevice* pPhysicalDevices);
3298 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures(
3299 VkPhysicalDevice physicalDevice,
3300 VkPhysicalDeviceFeatures* pFeatures);
3302 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties(
3303 VkPhysicalDevice physicalDevice,
3305 VkFormatProperties* pFormatProperties);
3307 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties(
3308 VkPhysicalDevice physicalDevice,
3311 VkImageTiling tiling,
3312 VkImageUsageFlags usage,
3313 VkImageCreateFlags flags,
3314 VkImageFormatProperties* pImageFormatProperties);
3316 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties(
3317 VkPhysicalDevice physicalDevice,
3318 VkPhysicalDeviceProperties* pProperties);
3320 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties(
3321 VkPhysicalDevice physicalDevice,
3322 deUint32* pQueueFamilyPropertyCount,
3323 VkQueueFamilyProperties* pQueueFamilyProperties);
3325 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties(
3326 VkPhysicalDevice physicalDevice,
3327 VkPhysicalDeviceMemoryProperties* pMemoryProperties);
3329 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr(
3330 VkInstance instance,
3333 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr(
3337 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDevice(
3338 VkPhysicalDevice physicalDevice,
3339 const VkDeviceCreateInfo* pCreateInfo,
3340 const VkAllocationCallbacks* pAllocator,
3343 VKAPI_ATTR void VKAPI_CALL vkDestroyDevice(
3345 const VkAllocationCallbacks* pAllocator);
3347 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionProperties(
3348 const char* pLayerName,
3349 deUint32* pPropertyCount,
3350 VkExtensionProperties* pProperties);
3352 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceExtensionProperties(
3353 VkPhysicalDevice physicalDevice,
3354 const char* pLayerName,
3355 deUint32* pPropertyCount,
3356 VkExtensionProperties* pProperties);
3358 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties(
3359 deUint32* pPropertyCount,
3360 VkLayerProperties* pProperties);
3362 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceLayerProperties(
3363 VkPhysicalDevice physicalDevice,
3364 deUint32* pPropertyCount,
3365 VkLayerProperties* pProperties);
3367 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue(
3369 deUint32 queueFamilyIndex,
3370 deUint32 queueIndex,
3373 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit(
3375 deUint32 submitCount,
3376 const VkSubmitInfo* pSubmits,
3379 VKAPI_ATTR VkResult VKAPI_CALL vkQueueWaitIdle(
3382 VKAPI_ATTR VkResult VKAPI_CALL vkDeviceWaitIdle(
3385 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateMemory(
3387 const VkMemoryAllocateInfo* pAllocateInfo,
3388 const VkAllocationCallbacks* pAllocator,
3389 VkDeviceMemory* pMemory);
3391 VKAPI_ATTR void VKAPI_CALL vkFreeMemory(
3393 VkDeviceMemory memory,
3394 const VkAllocationCallbacks* pAllocator);
3396 VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory(
3398 VkDeviceMemory memory,
3399 VkDeviceSize offset,
3401 VkMemoryMapFlags flags,
3404 VKAPI_ATTR void VKAPI_CALL vkUnmapMemory(
3406 VkDeviceMemory memory);
3408 VKAPI_ATTR VkResult VKAPI_CALL vkFlushMappedMemoryRanges(
3410 deUint32 memoryRangeCount,
3411 const VkMappedMemoryRange* pMemoryRanges);
3413 VKAPI_ATTR VkResult VKAPI_CALL vkInvalidateMappedMemoryRanges(
3415 deUint32 memoryRangeCount,
3416 const VkMappedMemoryRange* pMemoryRanges);
3418 VKAPI_ATTR void VKAPI_CALL vkGetDeviceMemoryCommitment(
3420 VkDeviceMemory memory,
3421 VkDeviceSize* pCommittedMemoryInBytes);
3423 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory(
3426 VkDeviceMemory memory,
3427 VkDeviceSize memoryOffset);
3429 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory(
3432 VkDeviceMemory memory,
3433 VkDeviceSize memoryOffset);
3435 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements(
3438 VkMemoryRequirements* pMemoryRequirements);
3440 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements(
3443 VkMemoryRequirements* pMemoryRequirements);
3445 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements(
3448 deUint32* pSparseMemoryRequirementCount,
3449 VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
3451 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties(
3452 VkPhysicalDevice physicalDevice,
3455 VkSampleCountFlagBits samples,
3456 VkImageUsageFlags usage,
3457 VkImageTiling tiling,
3458 deUint32* pPropertyCount,
3459 VkSparseImageFormatProperties* pProperties);
3461 VKAPI_ATTR VkResult VKAPI_CALL vkQueueBindSparse(
3463 deUint32 bindInfoCount,
3464 const VkBindSparseInfo* pBindInfo,
3467 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFence(
3469 const VkFenceCreateInfo* pCreateInfo,
3470 const VkAllocationCallbacks* pAllocator,
3473 VKAPI_ATTR void VKAPI_CALL vkDestroyFence(
3476 const VkAllocationCallbacks* pAllocator);
3478 VKAPI_ATTR VkResult VKAPI_CALL vkResetFences(
3480 deUint32 fenceCount,
3481 const VkFence* pFences);
3483 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceStatus(
3487 VKAPI_ATTR VkResult VKAPI_CALL vkWaitForFences(
3489 deUint32 fenceCount,
3490 const VkFence* pFences,
3494 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSemaphore(
3496 const VkSemaphoreCreateInfo* pCreateInfo,
3497 const VkAllocationCallbacks* pAllocator,
3498 VkSemaphore* pSemaphore);
3500 VKAPI_ATTR void VKAPI_CALL vkDestroySemaphore(
3502 VkSemaphore semaphore,
3503 const VkAllocationCallbacks* pAllocator);
3505 VKAPI_ATTR VkResult VKAPI_CALL vkCreateEvent(
3507 const VkEventCreateInfo* pCreateInfo,
3508 const VkAllocationCallbacks* pAllocator,
3511 VKAPI_ATTR void VKAPI_CALL vkDestroyEvent(
3514 const VkAllocationCallbacks* pAllocator);
3516 VKAPI_ATTR VkResult VKAPI_CALL vkGetEventStatus(
3520 VKAPI_ATTR VkResult VKAPI_CALL vkSetEvent(
3524 VKAPI_ATTR VkResult VKAPI_CALL vkResetEvent(
3528 VKAPI_ATTR VkResult VKAPI_CALL vkCreateQueryPool(
3530 const VkQueryPoolCreateInfo* pCreateInfo,
3531 const VkAllocationCallbacks* pAllocator,
3532 VkQueryPool* pQueryPool);
3534 VKAPI_ATTR void VKAPI_CALL vkDestroyQueryPool(
3536 VkQueryPool queryPool,
3537 const VkAllocationCallbacks* pAllocator);
3539 VKAPI_ATTR VkResult VKAPI_CALL vkGetQueryPoolResults(
3541 VkQueryPool queryPool,
3542 deUint32 firstQuery,
3543 deUint32 queryCount,
3546 VkDeviceSize stride,
3547 VkQueryResultFlags flags);
3549 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBuffer(
3551 const VkBufferCreateInfo* pCreateInfo,
3552 const VkAllocationCallbacks* pAllocator,
3555 VKAPI_ATTR void VKAPI_CALL vkDestroyBuffer(
3558 const VkAllocationCallbacks* pAllocator);
3560 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferView(
3562 const VkBufferViewCreateInfo* pCreateInfo,
3563 const VkAllocationCallbacks* pAllocator,
3564 VkBufferView* pView);
3566 VKAPI_ATTR void VKAPI_CALL vkDestroyBufferView(
3568 VkBufferView bufferView,
3569 const VkAllocationCallbacks* pAllocator);
3571 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImage(
3573 const VkImageCreateInfo* pCreateInfo,
3574 const VkAllocationCallbacks* pAllocator,
3577 VKAPI_ATTR void VKAPI_CALL vkDestroyImage(
3580 const VkAllocationCallbacks* pAllocator);
3582 VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout(
3585 const VkImageSubresource* pSubresource,
3586 VkSubresourceLayout* pLayout);
3588 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImageView(
3590 const VkImageViewCreateInfo* pCreateInfo,
3591 const VkAllocationCallbacks* pAllocator,
3592 VkImageView* pView);
3594 VKAPI_ATTR void VKAPI_CALL vkDestroyImageView(
3596 VkImageView imageView,
3597 const VkAllocationCallbacks* pAllocator);
3599 VKAPI_ATTR VkResult VKAPI_CALL vkCreateShaderModule(
3601 const VkShaderModuleCreateInfo* pCreateInfo,
3602 const VkAllocationCallbacks* pAllocator,
3603 VkShaderModule* pShaderModule);
3605 VKAPI_ATTR void VKAPI_CALL vkDestroyShaderModule(
3607 VkShaderModule shaderModule,
3608 const VkAllocationCallbacks* pAllocator);
3610 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineCache(
3612 const VkPipelineCacheCreateInfo* pCreateInfo,
3613 const VkAllocationCallbacks* pAllocator,
3614 VkPipelineCache* pPipelineCache);
3616 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineCache(
3618 VkPipelineCache pipelineCache,
3619 const VkAllocationCallbacks* pAllocator);
3621 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineCacheData(
3623 VkPipelineCache pipelineCache,
3624 deUintptr* pDataSize,
3627 VKAPI_ATTR VkResult VKAPI_CALL vkMergePipelineCaches(
3629 VkPipelineCache dstCache,
3630 deUint32 srcCacheCount,
3631 const VkPipelineCache* pSrcCaches);
3633 VKAPI_ATTR VkResult VKAPI_CALL vkCreateGraphicsPipelines(
3635 VkPipelineCache pipelineCache,
3636 deUint32 createInfoCount,
3637 const VkGraphicsPipelineCreateInfo* pCreateInfos,
3638 const VkAllocationCallbacks* pAllocator,
3639 VkPipeline* pPipelines);
3641 VKAPI_ATTR VkResult VKAPI_CALL vkCreateComputePipelines(
3643 VkPipelineCache pipelineCache,
3644 deUint32 createInfoCount,
3645 const VkComputePipelineCreateInfo* pCreateInfos,
3646 const VkAllocationCallbacks* pAllocator,
3647 VkPipeline* pPipelines);
3649 VKAPI_ATTR void VKAPI_CALL vkDestroyPipeline(
3651 VkPipeline pipeline,
3652 const VkAllocationCallbacks* pAllocator);
3654 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineLayout(
3656 const VkPipelineLayoutCreateInfo* pCreateInfo,
3657 const VkAllocationCallbacks* pAllocator,
3658 VkPipelineLayout* pPipelineLayout);
3660 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineLayout(
3662 VkPipelineLayout pipelineLayout,
3663 const VkAllocationCallbacks* pAllocator);
3665 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSampler(
3667 const VkSamplerCreateInfo* pCreateInfo,
3668 const VkAllocationCallbacks* pAllocator,
3669 VkSampler* pSampler);
3671 VKAPI_ATTR void VKAPI_CALL vkDestroySampler(
3674 const VkAllocationCallbacks* pAllocator);
3676 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorSetLayout(
3678 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
3679 const VkAllocationCallbacks* pAllocator,
3680 VkDescriptorSetLayout* pSetLayout);
3682 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorSetLayout(
3684 VkDescriptorSetLayout descriptorSetLayout,
3685 const VkAllocationCallbacks* pAllocator);
3687 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorPool(
3689 const VkDescriptorPoolCreateInfo* pCreateInfo,
3690 const VkAllocationCallbacks* pAllocator,
3691 VkDescriptorPool* pDescriptorPool);
3693 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorPool(
3695 VkDescriptorPool descriptorPool,
3696 const VkAllocationCallbacks* pAllocator);
3698 VKAPI_ATTR VkResult VKAPI_CALL vkResetDescriptorPool(
3700 VkDescriptorPool descriptorPool,
3701 VkDescriptorPoolResetFlags flags);
3703 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateDescriptorSets(
3705 const VkDescriptorSetAllocateInfo* pAllocateInfo,
3706 VkDescriptorSet* pDescriptorSets);
3708 VKAPI_ATTR VkResult VKAPI_CALL vkFreeDescriptorSets(
3710 VkDescriptorPool descriptorPool,
3711 deUint32 descriptorSetCount,
3712 const VkDescriptorSet* pDescriptorSets);
3714 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSets(
3716 deUint32 descriptorWriteCount,
3717 const VkWriteDescriptorSet* pDescriptorWrites,
3718 deUint32 descriptorCopyCount,
3719 const VkCopyDescriptorSet* pDescriptorCopies);
3721 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFramebuffer(
3723 const VkFramebufferCreateInfo* pCreateInfo,
3724 const VkAllocationCallbacks* pAllocator,
3725 VkFramebuffer* pFramebuffer);
3727 VKAPI_ATTR void VKAPI_CALL vkDestroyFramebuffer(
3729 VkFramebuffer framebuffer,
3730 const VkAllocationCallbacks* pAllocator);
3732 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass(
3734 const VkRenderPassCreateInfo* pCreateInfo,
3735 const VkAllocationCallbacks* pAllocator,
3736 VkRenderPass* pRenderPass);
3738 VKAPI_ATTR void VKAPI_CALL vkDestroyRenderPass(
3740 VkRenderPass renderPass,
3741 const VkAllocationCallbacks* pAllocator);
3743 VKAPI_ATTR void VKAPI_CALL vkGetRenderAreaGranularity(
3745 VkRenderPass renderPass,
3746 VkExtent2D* pGranularity);
3748 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCommandPool(
3750 const VkCommandPoolCreateInfo* pCreateInfo,
3751 const VkAllocationCallbacks* pAllocator,
3752 VkCommandPool* pCommandPool);
3754 VKAPI_ATTR void VKAPI_CALL vkDestroyCommandPool(
3756 VkCommandPool commandPool,
3757 const VkAllocationCallbacks* pAllocator);
3759 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandPool(
3761 VkCommandPool commandPool,
3762 VkCommandPoolResetFlags flags);
3764 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateCommandBuffers(
3766 const VkCommandBufferAllocateInfo* pAllocateInfo,
3767 VkCommandBuffer* pCommandBuffers);
3769 VKAPI_ATTR void VKAPI_CALL vkFreeCommandBuffers(
3771 VkCommandPool commandPool,
3772 deUint32 commandBufferCount,
3773 const VkCommandBuffer* pCommandBuffers);
3775 VKAPI_ATTR VkResult VKAPI_CALL vkBeginCommandBuffer(
3776 VkCommandBuffer commandBuffer,
3777 const VkCommandBufferBeginInfo* pBeginInfo);
3779 VKAPI_ATTR VkResult VKAPI_CALL vkEndCommandBuffer(
3780 VkCommandBuffer commandBuffer);
3782 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandBuffer(
3783 VkCommandBuffer commandBuffer,
3784 VkCommandBufferResetFlags flags);
3786 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipeline(
3787 VkCommandBuffer commandBuffer,
3788 VkPipelineBindPoint pipelineBindPoint,
3789 VkPipeline pipeline);
3791 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewport(
3792 VkCommandBuffer commandBuffer,
3793 deUint32 firstViewport,
3794 deUint32 viewportCount,
3795 const VkViewport* pViewports);
3797 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissor(
3798 VkCommandBuffer commandBuffer,
3799 deUint32 firstScissor,
3800 deUint32 scissorCount,
3801 const VkRect2D* pScissors);
3803 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineWidth(
3804 VkCommandBuffer commandBuffer,
3807 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias(
3808 VkCommandBuffer commandBuffer,
3809 float depthBiasConstantFactor,
3810 float depthBiasClamp,
3811 float depthBiasSlopeFactor);
3813 VKAPI_ATTR void VKAPI_CALL vkCmdSetBlendConstants(
3814 VkCommandBuffer commandBuffer,
3815 const float blendConstants[4]);
3817 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBounds(
3818 VkCommandBuffer commandBuffer,
3819 float minDepthBounds,
3820 float maxDepthBounds);
3822 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilCompareMask(
3823 VkCommandBuffer commandBuffer,
3824 VkStencilFaceFlags faceMask,
3825 deUint32 compareMask);
3827 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilWriteMask(
3828 VkCommandBuffer commandBuffer,
3829 VkStencilFaceFlags faceMask,
3830 deUint32 writeMask);
3832 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilReference(
3833 VkCommandBuffer commandBuffer,
3834 VkStencilFaceFlags faceMask,
3835 deUint32 reference);
3837 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets(
3838 VkCommandBuffer commandBuffer,
3839 VkPipelineBindPoint pipelineBindPoint,
3840 VkPipelineLayout layout,
3842 deUint32 descriptorSetCount,
3843 const VkDescriptorSet* pDescriptorSets,
3844 deUint32 dynamicOffsetCount,
3845 const deUint32* pDynamicOffsets);
3847 VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer(
3848 VkCommandBuffer commandBuffer,
3850 VkDeviceSize offset,
3851 VkIndexType indexType);
3853 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers(
3854 VkCommandBuffer commandBuffer,
3855 deUint32 firstBinding,
3856 deUint32 bindingCount,
3857 const VkBuffer* pBuffers,
3858 const VkDeviceSize* pOffsets);
3860 VKAPI_ATTR void VKAPI_CALL vkCmdDraw(
3861 VkCommandBuffer commandBuffer,
3862 deUint32 vertexCount,
3863 deUint32 instanceCount,
3864 deUint32 firstVertex,
3865 deUint32 firstInstance);
3867 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexed(
3868 VkCommandBuffer commandBuffer,
3869 deUint32 indexCount,
3870 deUint32 instanceCount,
3871 deUint32 firstIndex,
3872 deInt32 vertexOffset,
3873 deUint32 firstInstance);
3875 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirect(
3876 VkCommandBuffer commandBuffer,
3878 VkDeviceSize offset,
3882 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirect(
3883 VkCommandBuffer commandBuffer,
3885 VkDeviceSize offset,
3889 VKAPI_ATTR void VKAPI_CALL vkCmdDispatch(
3890 VkCommandBuffer commandBuffer,
3891 deUint32 groupCountX,
3892 deUint32 groupCountY,
3893 deUint32 groupCountZ);
3895 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchIndirect(
3896 VkCommandBuffer commandBuffer,
3898 VkDeviceSize offset);
3900 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer(
3901 VkCommandBuffer commandBuffer,
3904 deUint32 regionCount,
3905 const VkBufferCopy* pRegions);
3907 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage(
3908 VkCommandBuffer commandBuffer,
3910 VkImageLayout srcImageLayout,
3912 VkImageLayout dstImageLayout,
3913 deUint32 regionCount,
3914 const VkImageCopy* pRegions);
3916 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage(
3917 VkCommandBuffer commandBuffer,
3919 VkImageLayout srcImageLayout,
3921 VkImageLayout dstImageLayout,
3922 deUint32 regionCount,
3923 const VkImageBlit* pRegions,
3926 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage(
3927 VkCommandBuffer commandBuffer,
3930 VkImageLayout dstImageLayout,
3931 deUint32 regionCount,
3932 const VkBufferImageCopy* pRegions);
3934 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer(
3935 VkCommandBuffer commandBuffer,
3937 VkImageLayout srcImageLayout,
3939 deUint32 regionCount,
3940 const VkBufferImageCopy* pRegions);
3942 VKAPI_ATTR void VKAPI_CALL vkCmdUpdateBuffer(
3943 VkCommandBuffer commandBuffer,
3945 VkDeviceSize dstOffset,
3946 VkDeviceSize dataSize,
3949 VKAPI_ATTR void VKAPI_CALL vkCmdFillBuffer(
3950 VkCommandBuffer commandBuffer,
3952 VkDeviceSize dstOffset,
3956 VKAPI_ATTR void VKAPI_CALL vkCmdClearColorImage(
3957 VkCommandBuffer commandBuffer,
3959 VkImageLayout imageLayout,
3960 const VkClearColorValue* pColor,
3961 deUint32 rangeCount,
3962 const VkImageSubresourceRange* pRanges);
3964 VKAPI_ATTR void VKAPI_CALL vkCmdClearDepthStencilImage(
3965 VkCommandBuffer commandBuffer,
3967 VkImageLayout imageLayout,
3968 const VkClearDepthStencilValue* pDepthStencil,
3969 deUint32 rangeCount,
3970 const VkImageSubresourceRange* pRanges);
3972 VKAPI_ATTR void VKAPI_CALL vkCmdClearAttachments(
3973 VkCommandBuffer commandBuffer,
3974 deUint32 attachmentCount,
3975 const VkClearAttachment* pAttachments,
3977 const VkClearRect* pRects);
3979 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage(
3980 VkCommandBuffer commandBuffer,
3982 VkImageLayout srcImageLayout,
3984 VkImageLayout dstImageLayout,
3985 deUint32 regionCount,
3986 const VkImageResolve* pRegions);
3988 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent(
3989 VkCommandBuffer commandBuffer,
3991 VkPipelineStageFlags stageMask);
3993 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent(
3994 VkCommandBuffer commandBuffer,
3996 VkPipelineStageFlags stageMask);
3998 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents(
3999 VkCommandBuffer commandBuffer,
4000 deUint32 eventCount,
4001 const VkEvent* pEvents,
4002 VkPipelineStageFlags srcStageMask,
4003 VkPipelineStageFlags dstStageMask,
4004 deUint32 memoryBarrierCount,
4005 const VkMemoryBarrier* pMemoryBarriers,
4006 deUint32 bufferMemoryBarrierCount,
4007 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
4008 deUint32 imageMemoryBarrierCount,
4009 const VkImageMemoryBarrier* pImageMemoryBarriers);
4011 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier(
4012 VkCommandBuffer commandBuffer,
4013 VkPipelineStageFlags srcStageMask,
4014 VkPipelineStageFlags dstStageMask,
4015 VkDependencyFlags dependencyFlags,
4016 deUint32 memoryBarrierCount,
4017 const VkMemoryBarrier* pMemoryBarriers,
4018 deUint32 bufferMemoryBarrierCount,
4019 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
4020 deUint32 imageMemoryBarrierCount,
4021 const VkImageMemoryBarrier* pImageMemoryBarriers);
4023 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQuery(
4024 VkCommandBuffer commandBuffer,
4025 VkQueryPool queryPool,
4027 VkQueryControlFlags flags);
4029 VKAPI_ATTR void VKAPI_CALL vkCmdEndQuery(
4030 VkCommandBuffer commandBuffer,
4031 VkQueryPool queryPool,
4034 VKAPI_ATTR void VKAPI_CALL vkCmdResetQueryPool(
4035 VkCommandBuffer commandBuffer,
4036 VkQueryPool queryPool,
4037 deUint32 firstQuery,
4038 deUint32 queryCount);
4040 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp(
4041 VkCommandBuffer commandBuffer,
4042 VkPipelineStageFlagBits pipelineStage,
4043 VkQueryPool queryPool,
4046 VKAPI_ATTR void VKAPI_CALL vkCmdCopyQueryPoolResults(
4047 VkCommandBuffer commandBuffer,
4048 VkQueryPool queryPool,
4049 deUint32 firstQuery,
4050 deUint32 queryCount,
4052 VkDeviceSize dstOffset,
4053 VkDeviceSize stride,
4054 VkQueryResultFlags flags);
4056 VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants(
4057 VkCommandBuffer commandBuffer,
4058 VkPipelineLayout layout,
4059 VkShaderStageFlags stageFlags,
4062 const void* pValues);
4064 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass(
4065 VkCommandBuffer commandBuffer,
4066 const VkRenderPassBeginInfo* pRenderPassBegin,
4067 VkSubpassContents contents);
4069 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass(
4070 VkCommandBuffer commandBuffer,
4071 VkSubpassContents contents);
4073 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass(
4074 VkCommandBuffer commandBuffer);
4076 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteCommands(
4077 VkCommandBuffer commandBuffer,
4078 deUint32 commandBufferCount,
4079 const VkCommandBuffer* pCommandBuffers);
4083 #define VK_VERSION_1_1 1
4084 // Vulkan 1.1 version number
4085 #define VK_API_VERSION_1_1 VK_MAKE_VERSION(1, 1, 0)// Patch version should always be set to 0
4087 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion)
4088 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate)
4089 #define VK_MAX_DEVICE_GROUP_SIZE 32
4090 #define VK_LUID_SIZE 8
4091 #define VK_QUEUE_FAMILY_EXTERNAL (~0U-1)
4093 typedef enum VkPointClippingBehavior {
4094 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES = 0,
4095 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY = 1,
4096 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES,
4097 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY,
4098 VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF
4099 } VkPointClippingBehavior;
4101 typedef enum VkTessellationDomainOrigin {
4102 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT = 0,
4103 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT = 1,
4104 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT,
4105 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT,
4106 VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM = 0x7FFFFFFF
4107 } VkTessellationDomainOrigin;
4109 typedef enum VkSamplerYcbcrModelConversion {
4110 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY = 0,
4111 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY = 1,
4112 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 = 2,
4113 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 = 3,
4114 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 = 4,
4115 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY,
4116 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY,
4117 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709,
4118 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601,
4119 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020,
4120 VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM = 0x7FFFFFFF
4121 } VkSamplerYcbcrModelConversion;
4123 typedef enum VkSamplerYcbcrRange {
4124 VK_SAMPLER_YCBCR_RANGE_ITU_FULL = 0,
4125 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW = 1,
4126 VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_FULL,
4127 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW,
4128 VK_SAMPLER_YCBCR_RANGE_MAX_ENUM = 0x7FFFFFFF
4129 } VkSamplerYcbcrRange;
4131 typedef enum VkChromaLocation {
4132 VK_CHROMA_LOCATION_COSITED_EVEN = 0,
4133 VK_CHROMA_LOCATION_MIDPOINT = 1,
4134 VK_CHROMA_LOCATION_COSITED_EVEN_KHR = VK_CHROMA_LOCATION_COSITED_EVEN,
4135 VK_CHROMA_LOCATION_MIDPOINT_KHR = VK_CHROMA_LOCATION_MIDPOINT,
4136 VK_CHROMA_LOCATION_MAX_ENUM = 0x7FFFFFFF
4139 typedef enum VkDescriptorUpdateTemplateType {
4140 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET = 0,
4141 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR = 1,
4142 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,
4143 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM = 0x7FFFFFFF
4144 } VkDescriptorUpdateTemplateType;
4146 typedef enum VkSubgroupFeatureFlagBits {
4147 VK_SUBGROUP_FEATURE_BASIC_BIT = 0x00000001,
4148 VK_SUBGROUP_FEATURE_VOTE_BIT = 0x00000002,
4149 VK_SUBGROUP_FEATURE_ARITHMETIC_BIT = 0x00000004,
4150 VK_SUBGROUP_FEATURE_BALLOT_BIT = 0x00000008,
4151 VK_SUBGROUP_FEATURE_SHUFFLE_BIT = 0x00000010,
4152 VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = 0x00000020,
4153 VK_SUBGROUP_FEATURE_CLUSTERED_BIT = 0x00000040,
4154 VK_SUBGROUP_FEATURE_QUAD_BIT = 0x00000080,
4155 VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x00000100,
4156 VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4157 } VkSubgroupFeatureFlagBits;
4158 typedef VkFlags VkSubgroupFeatureFlags;
4160 typedef enum VkPeerMemoryFeatureFlagBits {
4161 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT = 0x00000001,
4162 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT = 0x00000002,
4163 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT = 0x00000004,
4164 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT = 0x00000008,
4165 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT,
4166 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_DST_BIT,
4167 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT,
4168 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT,
4169 VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4170 } VkPeerMemoryFeatureFlagBits;
4171 typedef VkFlags VkPeerMemoryFeatureFlags;
4173 typedef enum VkMemoryAllocateFlagBits {
4174 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT = 0x00000001,
4175 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT = 0x00000002,
4176 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000004,
4177 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT,
4178 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT,
4179 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
4180 VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4181 } VkMemoryAllocateFlagBits;
4182 typedef VkFlags VkMemoryAllocateFlags;
4183 typedef VkFlags VkCommandPoolTrimFlags;
4184 typedef VkFlags VkDescriptorUpdateTemplateCreateFlags;
4186 typedef enum VkExternalMemoryHandleTypeFlagBits {
4187 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
4188 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
4189 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
4190 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT = 0x00000008,
4191 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT = 0x00000010,
4192 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT = 0x00000020,
4193 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT = 0x00000040,
4194 VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT = 0x00000200,
4195 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID = 0x00000400,
4196 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 0x00000080,
4197 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 0x00000100,
4198 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT,
4199 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT,
4200 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
4201 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT,
4202 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT,
4203 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT,
4204 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT,
4205 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4206 } VkExternalMemoryHandleTypeFlagBits;
4207 typedef VkFlags VkExternalMemoryHandleTypeFlags;
4209 typedef enum VkExternalMemoryFeatureFlagBits {
4210 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT = 0x00000001,
4211 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT = 0x00000002,
4212 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT = 0x00000004,
4213 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT,
4214 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT,
4215 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT,
4216 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4217 } VkExternalMemoryFeatureFlagBits;
4218 typedef VkFlags VkExternalMemoryFeatureFlags;
4220 typedef enum VkExternalFenceHandleTypeFlagBits {
4221 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
4222 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
4223 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
4224 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000008,
4225 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT,
4226 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
4227 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
4228 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT,
4229 VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4230 } VkExternalFenceHandleTypeFlagBits;
4231 typedef VkFlags VkExternalFenceHandleTypeFlags;
4233 typedef enum VkExternalFenceFeatureFlagBits {
4234 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT = 0x00000001,
4235 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT = 0x00000002,
4236 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT,
4237 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT,
4238 VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4239 } VkExternalFenceFeatureFlagBits;
4240 typedef VkFlags VkExternalFenceFeatureFlags;
4242 typedef enum VkFenceImportFlagBits {
4243 VK_FENCE_IMPORT_TEMPORARY_BIT = 0x00000001,
4244 VK_FENCE_IMPORT_TEMPORARY_BIT_KHR = VK_FENCE_IMPORT_TEMPORARY_BIT,
4245 VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4246 } VkFenceImportFlagBits;
4247 typedef VkFlags VkFenceImportFlags;
4249 typedef enum VkSemaphoreImportFlagBits {
4250 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT = 0x00000001,
4251 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT,
4252 VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4253 } VkSemaphoreImportFlagBits;
4254 typedef VkFlags VkSemaphoreImportFlags;
4256 typedef enum VkExternalSemaphoreHandleTypeFlagBits {
4257 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
4258 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
4259 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
4260 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT = 0x00000008,
4261 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000010,
4262 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
4263 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT,
4264 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
4265 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
4266 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
4267 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT,
4268 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4269 } VkExternalSemaphoreHandleTypeFlagBits;
4270 typedef VkFlags VkExternalSemaphoreHandleTypeFlags;
4272 typedef enum VkExternalSemaphoreFeatureFlagBits {
4273 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT = 0x00000001,
4274 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT = 0x00000002,
4275 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT,
4276 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT,
4277 VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4278 } VkExternalSemaphoreFeatureFlagBits;
4279 typedef VkFlags VkExternalSemaphoreFeatureFlags;
4280 typedef struct VkPhysicalDeviceSubgroupProperties {
4281 VkStructureType sType;
4283 deUint32 subgroupSize;
4284 VkShaderStageFlags supportedStages;
4285 VkSubgroupFeatureFlags supportedOperations;
4286 VkBool32 quadOperationsInAllStages;
4287 } VkPhysicalDeviceSubgroupProperties;
4289 typedef struct VkBindBufferMemoryInfo {
4290 VkStructureType sType;
4293 VkDeviceMemory memory;
4294 VkDeviceSize memoryOffset;
4295 } VkBindBufferMemoryInfo;
4297 typedef struct VkBindImageMemoryInfo {
4298 VkStructureType sType;
4301 VkDeviceMemory memory;
4302 VkDeviceSize memoryOffset;
4303 } VkBindImageMemoryInfo;
4305 typedef struct VkPhysicalDevice16BitStorageFeatures {
4306 VkStructureType sType;
4308 VkBool32 storageBuffer16BitAccess;
4309 VkBool32 uniformAndStorageBuffer16BitAccess;
4310 VkBool32 storagePushConstant16;
4311 VkBool32 storageInputOutput16;
4312 } VkPhysicalDevice16BitStorageFeatures;
4314 typedef struct VkMemoryDedicatedRequirements {
4315 VkStructureType sType;
4317 VkBool32 prefersDedicatedAllocation;
4318 VkBool32 requiresDedicatedAllocation;
4319 } VkMemoryDedicatedRequirements;
4321 typedef struct VkMemoryDedicatedAllocateInfo {
4322 VkStructureType sType;
4326 } VkMemoryDedicatedAllocateInfo;
4328 typedef struct VkMemoryAllocateFlagsInfo {
4329 VkStructureType sType;
4331 VkMemoryAllocateFlags flags;
4332 deUint32 deviceMask;
4333 } VkMemoryAllocateFlagsInfo;
4335 typedef struct VkDeviceGroupRenderPassBeginInfo {
4336 VkStructureType sType;
4338 deUint32 deviceMask;
4339 deUint32 deviceRenderAreaCount;
4340 const VkRect2D* pDeviceRenderAreas;
4341 } VkDeviceGroupRenderPassBeginInfo;
4343 typedef struct VkDeviceGroupCommandBufferBeginInfo {
4344 VkStructureType sType;
4346 deUint32 deviceMask;
4347 } VkDeviceGroupCommandBufferBeginInfo;
4349 typedef struct VkDeviceGroupSubmitInfo {
4350 VkStructureType sType;
4352 deUint32 waitSemaphoreCount;
4353 const deUint32* pWaitSemaphoreDeviceIndices;
4354 deUint32 commandBufferCount;
4355 const deUint32* pCommandBufferDeviceMasks;
4356 deUint32 signalSemaphoreCount;
4357 const deUint32* pSignalSemaphoreDeviceIndices;
4358 } VkDeviceGroupSubmitInfo;
4360 typedef struct VkDeviceGroupBindSparseInfo {
4361 VkStructureType sType;
4363 deUint32 resourceDeviceIndex;
4364 deUint32 memoryDeviceIndex;
4365 } VkDeviceGroupBindSparseInfo;
4367 typedef struct VkBindBufferMemoryDeviceGroupInfo {
4368 VkStructureType sType;
4370 deUint32 deviceIndexCount;
4371 const deUint32* pDeviceIndices;
4372 } VkBindBufferMemoryDeviceGroupInfo;
4374 typedef struct VkBindImageMemoryDeviceGroupInfo {
4375 VkStructureType sType;
4377 deUint32 deviceIndexCount;
4378 const deUint32* pDeviceIndices;
4379 deUint32 splitInstanceBindRegionCount;
4380 const VkRect2D* pSplitInstanceBindRegions;
4381 } VkBindImageMemoryDeviceGroupInfo;
4383 typedef struct VkPhysicalDeviceGroupProperties {
4384 VkStructureType sType;
4386 deUint32 physicalDeviceCount;
4387 VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE];
4388 VkBool32 subsetAllocation;
4389 } VkPhysicalDeviceGroupProperties;
4391 typedef struct VkDeviceGroupDeviceCreateInfo {
4392 VkStructureType sType;
4394 deUint32 physicalDeviceCount;
4395 const VkPhysicalDevice* pPhysicalDevices;
4396 } VkDeviceGroupDeviceCreateInfo;
4398 typedef struct VkBufferMemoryRequirementsInfo2 {
4399 VkStructureType sType;
4402 } VkBufferMemoryRequirementsInfo2;
4404 typedef struct VkImageMemoryRequirementsInfo2 {
4405 VkStructureType sType;
4408 } VkImageMemoryRequirementsInfo2;
4410 typedef struct VkImageSparseMemoryRequirementsInfo2 {
4411 VkStructureType sType;
4414 } VkImageSparseMemoryRequirementsInfo2;
4416 typedef struct VkMemoryRequirements2 {
4417 VkStructureType sType;
4419 VkMemoryRequirements memoryRequirements;
4420 } VkMemoryRequirements2;
4422 typedef struct VkSparseImageMemoryRequirements2 {
4423 VkStructureType sType;
4425 VkSparseImageMemoryRequirements memoryRequirements;
4426 } VkSparseImageMemoryRequirements2;
4428 typedef struct VkPhysicalDeviceFeatures2 {
4429 VkStructureType sType;
4431 VkPhysicalDeviceFeatures features;
4432 } VkPhysicalDeviceFeatures2;
4434 typedef struct VkPhysicalDeviceProperties2 {
4435 VkStructureType sType;
4437 VkPhysicalDeviceProperties properties;
4438 } VkPhysicalDeviceProperties2;
4440 typedef struct VkFormatProperties2 {
4441 VkStructureType sType;
4443 VkFormatProperties formatProperties;
4444 } VkFormatProperties2;
4446 typedef struct VkImageFormatProperties2 {
4447 VkStructureType sType;
4449 VkImageFormatProperties imageFormatProperties;
4450 } VkImageFormatProperties2;
4452 typedef struct VkPhysicalDeviceImageFormatInfo2 {
4453 VkStructureType sType;
4457 VkImageTiling tiling;
4458 VkImageUsageFlags usage;
4459 VkImageCreateFlags flags;
4460 } VkPhysicalDeviceImageFormatInfo2;
4462 typedef struct VkQueueFamilyProperties2 {
4463 VkStructureType sType;
4465 VkQueueFamilyProperties queueFamilyProperties;
4466 } VkQueueFamilyProperties2;
4468 typedef struct VkPhysicalDeviceMemoryProperties2 {
4469 VkStructureType sType;
4471 VkPhysicalDeviceMemoryProperties memoryProperties;
4472 } VkPhysicalDeviceMemoryProperties2;
4474 typedef struct VkSparseImageFormatProperties2 {
4475 VkStructureType sType;
4477 VkSparseImageFormatProperties properties;
4478 } VkSparseImageFormatProperties2;
4480 typedef struct VkPhysicalDeviceSparseImageFormatInfo2 {
4481 VkStructureType sType;
4485 VkSampleCountFlagBits samples;
4486 VkImageUsageFlags usage;
4487 VkImageTiling tiling;
4488 } VkPhysicalDeviceSparseImageFormatInfo2;
4490 typedef struct VkPhysicalDevicePointClippingProperties {
4491 VkStructureType sType;
4493 VkPointClippingBehavior pointClippingBehavior;
4494 } VkPhysicalDevicePointClippingProperties;
4496 typedef struct VkInputAttachmentAspectReference {
4498 deUint32 inputAttachmentIndex;
4499 VkImageAspectFlags aspectMask;
4500 } VkInputAttachmentAspectReference;
4502 typedef struct VkRenderPassInputAttachmentAspectCreateInfo {
4503 VkStructureType sType;
4505 deUint32 aspectReferenceCount;
4506 const VkInputAttachmentAspectReference* pAspectReferences;
4507 } VkRenderPassInputAttachmentAspectCreateInfo;
4509 typedef struct VkImageViewUsageCreateInfo {
4510 VkStructureType sType;
4512 VkImageUsageFlags usage;
4513 } VkImageViewUsageCreateInfo;
4515 typedef struct VkPipelineTessellationDomainOriginStateCreateInfo {
4516 VkStructureType sType;
4518 VkTessellationDomainOrigin domainOrigin;
4519 } VkPipelineTessellationDomainOriginStateCreateInfo;
4521 typedef struct VkRenderPassMultiviewCreateInfo {
4522 VkStructureType sType;
4524 deUint32 subpassCount;
4525 const deUint32* pViewMasks;
4526 deUint32 dependencyCount;
4527 const deInt32* pViewOffsets;
4528 deUint32 correlationMaskCount;
4529 const deUint32* pCorrelationMasks;
4530 } VkRenderPassMultiviewCreateInfo;
4532 typedef struct VkPhysicalDeviceMultiviewFeatures {
4533 VkStructureType sType;
4536 VkBool32 multiviewGeometryShader;
4537 VkBool32 multiviewTessellationShader;
4538 } VkPhysicalDeviceMultiviewFeatures;
4540 typedef struct VkPhysicalDeviceMultiviewProperties {
4541 VkStructureType sType;
4543 deUint32 maxMultiviewViewCount;
4544 deUint32 maxMultiviewInstanceIndex;
4545 } VkPhysicalDeviceMultiviewProperties;
4547 typedef struct VkPhysicalDeviceVariablePointersFeatures {
4548 VkStructureType sType;
4550 VkBool32 variablePointersStorageBuffer;
4551 VkBool32 variablePointers;
4552 } VkPhysicalDeviceVariablePointersFeatures;
4554 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeatures;
4556 typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
4557 VkStructureType sType;
4559 VkBool32 protectedMemory;
4560 } VkPhysicalDeviceProtectedMemoryFeatures;
4562 typedef struct VkPhysicalDeviceProtectedMemoryProperties {
4563 VkStructureType sType;
4565 VkBool32 protectedNoFault;
4566 } VkPhysicalDeviceProtectedMemoryProperties;
4568 typedef struct VkDeviceQueueInfo2 {
4569 VkStructureType sType;
4571 VkDeviceQueueCreateFlags flags;
4572 deUint32 queueFamilyIndex;
4573 deUint32 queueIndex;
4574 } VkDeviceQueueInfo2;
4576 typedef struct VkProtectedSubmitInfo {
4577 VkStructureType sType;
4579 VkBool32 protectedSubmit;
4580 } VkProtectedSubmitInfo;
4582 typedef struct VkSamplerYcbcrConversionCreateInfo {
4583 VkStructureType sType;
4586 VkSamplerYcbcrModelConversion ycbcrModel;
4587 VkSamplerYcbcrRange ycbcrRange;
4588 VkComponentMapping components;
4589 VkChromaLocation xChromaOffset;
4590 VkChromaLocation yChromaOffset;
4591 VkFilter chromaFilter;
4592 VkBool32 forceExplicitReconstruction;
4593 } VkSamplerYcbcrConversionCreateInfo;
4595 typedef struct VkSamplerYcbcrConversionInfo {
4596 VkStructureType sType;
4598 VkSamplerYcbcrConversion conversion;
4599 } VkSamplerYcbcrConversionInfo;
4601 typedef struct VkBindImagePlaneMemoryInfo {
4602 VkStructureType sType;
4604 VkImageAspectFlagBits planeAspect;
4605 } VkBindImagePlaneMemoryInfo;
4607 typedef struct VkImagePlaneMemoryRequirementsInfo {
4608 VkStructureType sType;
4610 VkImageAspectFlagBits planeAspect;
4611 } VkImagePlaneMemoryRequirementsInfo;
4613 typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
4614 VkStructureType sType;
4616 VkBool32 samplerYcbcrConversion;
4617 } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
4619 typedef struct VkSamplerYcbcrConversionImageFormatProperties {
4620 VkStructureType sType;
4622 deUint32 combinedImageSamplerDescriptorCount;
4623 } VkSamplerYcbcrConversionImageFormatProperties;
4625 typedef struct VkDescriptorUpdateTemplateEntry {
4626 deUint32 dstBinding;
4627 deUint32 dstArrayElement;
4628 deUint32 descriptorCount;
4629 VkDescriptorType descriptorType;
4632 } VkDescriptorUpdateTemplateEntry;
4634 typedef struct VkDescriptorUpdateTemplateCreateInfo {
4635 VkStructureType sType;
4637 VkDescriptorUpdateTemplateCreateFlags flags;
4638 deUint32 descriptorUpdateEntryCount;
4639 const VkDescriptorUpdateTemplateEntry* pDescriptorUpdateEntries;
4640 VkDescriptorUpdateTemplateType templateType;
4641 VkDescriptorSetLayout descriptorSetLayout;
4642 VkPipelineBindPoint pipelineBindPoint;
4643 VkPipelineLayout pipelineLayout;
4645 } VkDescriptorUpdateTemplateCreateInfo;
4647 typedef struct VkExternalMemoryProperties {
4648 VkExternalMemoryFeatureFlags externalMemoryFeatures;
4649 VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes;
4650 VkExternalMemoryHandleTypeFlags compatibleHandleTypes;
4651 } VkExternalMemoryProperties;
4653 typedef struct VkPhysicalDeviceExternalImageFormatInfo {
4654 VkStructureType sType;
4656 VkExternalMemoryHandleTypeFlagBits handleType;
4657 } VkPhysicalDeviceExternalImageFormatInfo;
4659 typedef struct VkExternalImageFormatProperties {
4660 VkStructureType sType;
4662 VkExternalMemoryProperties externalMemoryProperties;
4663 } VkExternalImageFormatProperties;
4665 typedef struct VkPhysicalDeviceExternalBufferInfo {
4666 VkStructureType sType;
4668 VkBufferCreateFlags flags;
4669 VkBufferUsageFlags usage;
4670 VkExternalMemoryHandleTypeFlagBits handleType;
4671 } VkPhysicalDeviceExternalBufferInfo;
4673 typedef struct VkExternalBufferProperties {
4674 VkStructureType sType;
4676 VkExternalMemoryProperties externalMemoryProperties;
4677 } VkExternalBufferProperties;
4679 typedef struct VkPhysicalDeviceIDProperties {
4680 VkStructureType sType;
4682 deUint8 deviceUUID[VK_UUID_SIZE];
4683 deUint8 driverUUID[VK_UUID_SIZE];
4684 deUint8 deviceLUID[VK_LUID_SIZE];
4685 deUint32 deviceNodeMask;
4686 VkBool32 deviceLUIDValid;
4687 } VkPhysicalDeviceIDProperties;
4689 typedef struct VkExternalMemoryImageCreateInfo {
4690 VkStructureType sType;
4692 VkExternalMemoryHandleTypeFlags handleTypes;
4693 } VkExternalMemoryImageCreateInfo;
4695 typedef struct VkExternalMemoryBufferCreateInfo {
4696 VkStructureType sType;
4698 VkExternalMemoryHandleTypeFlags handleTypes;
4699 } VkExternalMemoryBufferCreateInfo;
4701 typedef struct VkExportMemoryAllocateInfo {
4702 VkStructureType sType;
4704 VkExternalMemoryHandleTypeFlags handleTypes;
4705 } VkExportMemoryAllocateInfo;
4707 typedef struct VkPhysicalDeviceExternalFenceInfo {
4708 VkStructureType sType;
4710 VkExternalFenceHandleTypeFlagBits handleType;
4711 } VkPhysicalDeviceExternalFenceInfo;
4713 typedef struct VkExternalFenceProperties {
4714 VkStructureType sType;
4716 VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes;
4717 VkExternalFenceHandleTypeFlags compatibleHandleTypes;
4718 VkExternalFenceFeatureFlags externalFenceFeatures;
4719 } VkExternalFenceProperties;
4721 typedef struct VkExportFenceCreateInfo {
4722 VkStructureType sType;
4724 VkExternalFenceHandleTypeFlags handleTypes;
4725 } VkExportFenceCreateInfo;
4727 typedef struct VkExportSemaphoreCreateInfo {
4728 VkStructureType sType;
4730 VkExternalSemaphoreHandleTypeFlags handleTypes;
4731 } VkExportSemaphoreCreateInfo;
4733 typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
4734 VkStructureType sType;
4736 VkExternalSemaphoreHandleTypeFlagBits handleType;
4737 } VkPhysicalDeviceExternalSemaphoreInfo;
4739 typedef struct VkExternalSemaphoreProperties {
4740 VkStructureType sType;
4742 VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes;
4743 VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes;
4744 VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures;
4745 } VkExternalSemaphoreProperties;
4747 typedef struct VkPhysicalDeviceMaintenance3Properties {
4748 VkStructureType sType;
4750 deUint32 maxPerSetDescriptors;
4751 VkDeviceSize maxMemoryAllocationSize;
4752 } VkPhysicalDeviceMaintenance3Properties;
4754 typedef struct VkDescriptorSetLayoutSupport {
4755 VkStructureType sType;
4758 } VkDescriptorSetLayoutSupport;
4760 typedef struct VkPhysicalDeviceShaderDrawParametersFeatures {
4761 VkStructureType sType;
4763 VkBool32 shaderDrawParameters;
4764 } VkPhysicalDeviceShaderDrawParametersFeatures;
4766 typedef VkPhysicalDeviceShaderDrawParametersFeatures VkPhysicalDeviceShaderDrawParameterFeatures;
4768 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceVersion)(deUint32* pApiVersion);
4769 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2)(VkDevice device, deUint32 bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
4770 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2)(VkDevice device, deUint32 bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
4771 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeatures)(VkDevice device, deUint32 heapIndex, deUint32 localDeviceIndex, deUint32 remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
4772 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMask)(VkCommandBuffer commandBuffer, deUint32 deviceMask);
4773 typedef void (VKAPI_PTR *PFN_vkCmdDispatchBase)(VkCommandBuffer commandBuffer, deUint32 baseGroupX, deUint32 baseGroupY, deUint32 baseGroupZ, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ);
4774 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroups)(VkInstance instance, deUint32* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
4775 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
4776 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
4777 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
4778 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
4779 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
4780 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
4781 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
4782 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2)(VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
4783 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
4784 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, deUint32* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
4785 typedef void (VKAPI_PTR *PFN_vkTrimCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
4786 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue2)(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue);
4787 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversion)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
4788 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversion)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
4789 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplate)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
4790 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplate)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
4791 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplate)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
4792 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
4793 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFenceProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
4794 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphoreProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
4795 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupport)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
4797 #ifndef VK_NO_PROTOTYPES
4798 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceVersion(
4799 deUint32* pApiVersion);
4801 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2(
4803 deUint32 bindInfoCount,
4804 const VkBindBufferMemoryInfo* pBindInfos);
4806 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2(
4808 deUint32 bindInfoCount,
4809 const VkBindImageMemoryInfo* pBindInfos);
4811 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeatures(
4814 deUint32 localDeviceIndex,
4815 deUint32 remoteDeviceIndex,
4816 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
4818 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMask(
4819 VkCommandBuffer commandBuffer,
4820 deUint32 deviceMask);
4822 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBase(
4823 VkCommandBuffer commandBuffer,
4824 deUint32 baseGroupX,
4825 deUint32 baseGroupY,
4826 deUint32 baseGroupZ,
4827 deUint32 groupCountX,
4828 deUint32 groupCountY,
4829 deUint32 groupCountZ);
4831 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroups(
4832 VkInstance instance,
4833 deUint32* pPhysicalDeviceGroupCount,
4834 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
4836 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2(
4838 const VkImageMemoryRequirementsInfo2* pInfo,
4839 VkMemoryRequirements2* pMemoryRequirements);
4841 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2(
4843 const VkBufferMemoryRequirementsInfo2* pInfo,
4844 VkMemoryRequirements2* pMemoryRequirements);
4846 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2(
4848 const VkImageSparseMemoryRequirementsInfo2* pInfo,
4849 deUint32* pSparseMemoryRequirementCount,
4850 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
4852 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2(
4853 VkPhysicalDevice physicalDevice,
4854 VkPhysicalDeviceFeatures2* pFeatures);
4856 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2(
4857 VkPhysicalDevice physicalDevice,
4858 VkPhysicalDeviceProperties2* pProperties);
4860 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2(
4861 VkPhysicalDevice physicalDevice,
4863 VkFormatProperties2* pFormatProperties);
4865 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2(
4866 VkPhysicalDevice physicalDevice,
4867 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
4868 VkImageFormatProperties2* pImageFormatProperties);
4870 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2(
4871 VkPhysicalDevice physicalDevice,
4872 deUint32* pQueueFamilyPropertyCount,
4873 VkQueueFamilyProperties2* pQueueFamilyProperties);
4875 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2(
4876 VkPhysicalDevice physicalDevice,
4877 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
4879 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2(
4880 VkPhysicalDevice physicalDevice,
4881 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
4882 deUint32* pPropertyCount,
4883 VkSparseImageFormatProperties2* pProperties);
4885 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPool(
4887 VkCommandPool commandPool,
4888 VkCommandPoolTrimFlags flags);
4890 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue2(
4892 const VkDeviceQueueInfo2* pQueueInfo,
4895 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversion(
4897 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
4898 const VkAllocationCallbacks* pAllocator,
4899 VkSamplerYcbcrConversion* pYcbcrConversion);
4901 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversion(
4903 VkSamplerYcbcrConversion ycbcrConversion,
4904 const VkAllocationCallbacks* pAllocator);
4906 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplate(
4908 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
4909 const VkAllocationCallbacks* pAllocator,
4910 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
4912 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplate(
4914 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
4915 const VkAllocationCallbacks* pAllocator);
4917 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplate(
4919 VkDescriptorSet descriptorSet,
4920 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
4923 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferProperties(
4924 VkPhysicalDevice physicalDevice,
4925 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
4926 VkExternalBufferProperties* pExternalBufferProperties);
4928 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFenceProperties(
4929 VkPhysicalDevice physicalDevice,
4930 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
4931 VkExternalFenceProperties* pExternalFenceProperties);
4933 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphoreProperties(
4934 VkPhysicalDevice physicalDevice,
4935 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
4936 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
4938 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupport(
4940 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
4941 VkDescriptorSetLayoutSupport* pSupport);
4945 #define VK_VERSION_1_2 1
4946 // Vulkan 1.2 version number
4947 #define VK_API_VERSION_1_2 VK_MAKE_VERSION(1, 2, 0)// Patch version should always be set to 0
4949 #define VK_MAX_DRIVER_NAME_SIZE 256
4950 #define VK_MAX_DRIVER_INFO_SIZE 256
4952 typedef enum VkDriverId {
4953 VK_DRIVER_ID_AMD_PROPRIETARY = 1,
4954 VK_DRIVER_ID_AMD_OPEN_SOURCE = 2,
4955 VK_DRIVER_ID_MESA_RADV = 3,
4956 VK_DRIVER_ID_NVIDIA_PROPRIETARY = 4,
4957 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS = 5,
4958 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA = 6,
4959 VK_DRIVER_ID_IMAGINATION_PROPRIETARY = 7,
4960 VK_DRIVER_ID_QUALCOMM_PROPRIETARY = 8,
4961 VK_DRIVER_ID_ARM_PROPRIETARY = 9,
4962 VK_DRIVER_ID_GOOGLE_SWIFTSHADER = 10,
4963 VK_DRIVER_ID_GGP_PROPRIETARY = 11,
4964 VK_DRIVER_ID_BROADCOM_PROPRIETARY = 12,
4965 VK_DRIVER_ID_MESA_LLVMPIPE = 13,
4966 VK_DRIVER_ID_MOLTENVK = 14,
4967 VK_DRIVER_ID_AMD_PROPRIETARY_KHR = VK_DRIVER_ID_AMD_PROPRIETARY,
4968 VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = VK_DRIVER_ID_AMD_OPEN_SOURCE,
4969 VK_DRIVER_ID_MESA_RADV_KHR = VK_DRIVER_ID_MESA_RADV,
4970 VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR = VK_DRIVER_ID_NVIDIA_PROPRIETARY,
4971 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR = VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS,
4972 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR = VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA,
4973 VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR = VK_DRIVER_ID_IMAGINATION_PROPRIETARY,
4974 VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR = VK_DRIVER_ID_QUALCOMM_PROPRIETARY,
4975 VK_DRIVER_ID_ARM_PROPRIETARY_KHR = VK_DRIVER_ID_ARM_PROPRIETARY,
4976 VK_DRIVER_ID_GOOGLE_SWIFTSHADER_KHR = VK_DRIVER_ID_GOOGLE_SWIFTSHADER,
4977 VK_DRIVER_ID_GGP_PROPRIETARY_KHR = VK_DRIVER_ID_GGP_PROPRIETARY,
4978 VK_DRIVER_ID_BROADCOM_PROPRIETARY_KHR = VK_DRIVER_ID_BROADCOM_PROPRIETARY,
4979 VK_DRIVER_ID_MAX_ENUM = 0x7FFFFFFF
4982 typedef enum VkShaderFloatControlsIndependence {
4983 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY = 0,
4984 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL = 1,
4985 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE = 2,
4986 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY,
4987 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL,
4988 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE,
4989 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_MAX_ENUM = 0x7FFFFFFF
4990 } VkShaderFloatControlsIndependence;
4992 typedef enum VkSamplerReductionMode {
4993 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE = 0,
4994 VK_SAMPLER_REDUCTION_MODE_MIN = 1,
4995 VK_SAMPLER_REDUCTION_MODE_MAX = 2,
4996 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE,
4997 VK_SAMPLER_REDUCTION_MODE_MIN_EXT = VK_SAMPLER_REDUCTION_MODE_MIN,
4998 VK_SAMPLER_REDUCTION_MODE_MAX_EXT = VK_SAMPLER_REDUCTION_MODE_MAX,
4999 VK_SAMPLER_REDUCTION_MODE_MAX_ENUM = 0x7FFFFFFF
5000 } VkSamplerReductionMode;
5002 typedef enum VkSemaphoreType {
5003 VK_SEMAPHORE_TYPE_BINARY = 0,
5004 VK_SEMAPHORE_TYPE_TIMELINE = 1,
5005 VK_SEMAPHORE_TYPE_BINARY_KHR = VK_SEMAPHORE_TYPE_BINARY,
5006 VK_SEMAPHORE_TYPE_TIMELINE_KHR = VK_SEMAPHORE_TYPE_TIMELINE,
5007 VK_SEMAPHORE_TYPE_MAX_ENUM = 0x7FFFFFFF
5010 typedef enum VkResolveModeFlagBits {
5011 VK_RESOLVE_MODE_NONE = 0,
5012 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT = 0x00000001,
5013 VK_RESOLVE_MODE_AVERAGE_BIT = 0x00000002,
5014 VK_RESOLVE_MODE_MIN_BIT = 0x00000004,
5015 VK_RESOLVE_MODE_MAX_BIT = 0x00000008,
5016 VK_RESOLVE_MODE_NONE_KHR = VK_RESOLVE_MODE_NONE,
5017 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR = VK_RESOLVE_MODE_SAMPLE_ZERO_BIT,
5018 VK_RESOLVE_MODE_AVERAGE_BIT_KHR = VK_RESOLVE_MODE_AVERAGE_BIT,
5019 VK_RESOLVE_MODE_MIN_BIT_KHR = VK_RESOLVE_MODE_MIN_BIT,
5020 VK_RESOLVE_MODE_MAX_BIT_KHR = VK_RESOLVE_MODE_MAX_BIT,
5021 VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5022 } VkResolveModeFlagBits;
5023 typedef VkFlags VkResolveModeFlags;
5025 typedef enum VkDescriptorBindingFlagBits {
5026 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT = 0x00000001,
5027 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT = 0x00000002,
5028 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT = 0x00000004,
5029 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT = 0x00000008,
5030 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT,
5031 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT,
5032 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT = VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT,
5033 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT = VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT,
5034 VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5035 } VkDescriptorBindingFlagBits;
5036 typedef VkFlags VkDescriptorBindingFlags;
5038 typedef enum VkSemaphoreWaitFlagBits {
5039 VK_SEMAPHORE_WAIT_ANY_BIT = 0x00000001,
5040 VK_SEMAPHORE_WAIT_ANY_BIT_KHR = VK_SEMAPHORE_WAIT_ANY_BIT,
5041 VK_SEMAPHORE_WAIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5042 } VkSemaphoreWaitFlagBits;
5043 typedef VkFlags VkSemaphoreWaitFlags;
5044 typedef struct VkPhysicalDeviceVulkan11Features {
5045 VkStructureType sType;
5047 VkBool32 storageBuffer16BitAccess;
5048 VkBool32 uniformAndStorageBuffer16BitAccess;
5049 VkBool32 storagePushConstant16;
5050 VkBool32 storageInputOutput16;
5052 VkBool32 multiviewGeometryShader;
5053 VkBool32 multiviewTessellationShader;
5054 VkBool32 variablePointersStorageBuffer;
5055 VkBool32 variablePointers;
5056 VkBool32 protectedMemory;
5057 VkBool32 samplerYcbcrConversion;
5058 VkBool32 shaderDrawParameters;
5059 } VkPhysicalDeviceVulkan11Features;
5061 typedef struct VkPhysicalDeviceVulkan11Properties {
5062 VkStructureType sType;
5064 deUint8 deviceUUID[VK_UUID_SIZE];
5065 deUint8 driverUUID[VK_UUID_SIZE];
5066 deUint8 deviceLUID[VK_LUID_SIZE];
5067 deUint32 deviceNodeMask;
5068 VkBool32 deviceLUIDValid;
5069 deUint32 subgroupSize;
5070 VkShaderStageFlags subgroupSupportedStages;
5071 VkSubgroupFeatureFlags subgroupSupportedOperations;
5072 VkBool32 subgroupQuadOperationsInAllStages;
5073 VkPointClippingBehavior pointClippingBehavior;
5074 deUint32 maxMultiviewViewCount;
5075 deUint32 maxMultiviewInstanceIndex;
5076 VkBool32 protectedNoFault;
5077 deUint32 maxPerSetDescriptors;
5078 VkDeviceSize maxMemoryAllocationSize;
5079 } VkPhysicalDeviceVulkan11Properties;
5081 typedef struct VkPhysicalDeviceVulkan12Features {
5082 VkStructureType sType;
5084 VkBool32 samplerMirrorClampToEdge;
5085 VkBool32 drawIndirectCount;
5086 VkBool32 storageBuffer8BitAccess;
5087 VkBool32 uniformAndStorageBuffer8BitAccess;
5088 VkBool32 storagePushConstant8;
5089 VkBool32 shaderBufferInt64Atomics;
5090 VkBool32 shaderSharedInt64Atomics;
5091 VkBool32 shaderFloat16;
5092 VkBool32 shaderInt8;
5093 VkBool32 descriptorIndexing;
5094 VkBool32 shaderInputAttachmentArrayDynamicIndexing;
5095 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
5096 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
5097 VkBool32 shaderUniformBufferArrayNonUniformIndexing;
5098 VkBool32 shaderSampledImageArrayNonUniformIndexing;
5099 VkBool32 shaderStorageBufferArrayNonUniformIndexing;
5100 VkBool32 shaderStorageImageArrayNonUniformIndexing;
5101 VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
5102 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
5103 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
5104 VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
5105 VkBool32 descriptorBindingSampledImageUpdateAfterBind;
5106 VkBool32 descriptorBindingStorageImageUpdateAfterBind;
5107 VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
5108 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
5109 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
5110 VkBool32 descriptorBindingUpdateUnusedWhilePending;
5111 VkBool32 descriptorBindingPartiallyBound;
5112 VkBool32 descriptorBindingVariableDescriptorCount;
5113 VkBool32 runtimeDescriptorArray;
5114 VkBool32 samplerFilterMinmax;
5115 VkBool32 scalarBlockLayout;
5116 VkBool32 imagelessFramebuffer;
5117 VkBool32 uniformBufferStandardLayout;
5118 VkBool32 shaderSubgroupExtendedTypes;
5119 VkBool32 separateDepthStencilLayouts;
5120 VkBool32 hostQueryReset;
5121 VkBool32 timelineSemaphore;
5122 VkBool32 bufferDeviceAddress;
5123 VkBool32 bufferDeviceAddressCaptureReplay;
5124 VkBool32 bufferDeviceAddressMultiDevice;
5125 VkBool32 vulkanMemoryModel;
5126 VkBool32 vulkanMemoryModelDeviceScope;
5127 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
5128 VkBool32 shaderOutputViewportIndex;
5129 VkBool32 shaderOutputLayer;
5130 VkBool32 subgroupBroadcastDynamicId;
5131 } VkPhysicalDeviceVulkan12Features;
5133 typedef struct VkConformanceVersion {
5138 } VkConformanceVersion;
5140 typedef struct VkPhysicalDeviceVulkan12Properties {
5141 VkStructureType sType;
5143 VkDriverId driverID;
5144 char driverName[VK_MAX_DRIVER_NAME_SIZE];
5145 char driverInfo[VK_MAX_DRIVER_INFO_SIZE];
5146 VkConformanceVersion conformanceVersion;
5147 VkShaderFloatControlsIndependence denormBehaviorIndependence;
5148 VkShaderFloatControlsIndependence roundingModeIndependence;
5149 VkBool32 shaderSignedZeroInfNanPreserveFloat16;
5150 VkBool32 shaderSignedZeroInfNanPreserveFloat32;
5151 VkBool32 shaderSignedZeroInfNanPreserveFloat64;
5152 VkBool32 shaderDenormPreserveFloat16;
5153 VkBool32 shaderDenormPreserveFloat32;
5154 VkBool32 shaderDenormPreserveFloat64;
5155 VkBool32 shaderDenormFlushToZeroFloat16;
5156 VkBool32 shaderDenormFlushToZeroFloat32;
5157 VkBool32 shaderDenormFlushToZeroFloat64;
5158 VkBool32 shaderRoundingModeRTEFloat16;
5159 VkBool32 shaderRoundingModeRTEFloat32;
5160 VkBool32 shaderRoundingModeRTEFloat64;
5161 VkBool32 shaderRoundingModeRTZFloat16;
5162 VkBool32 shaderRoundingModeRTZFloat32;
5163 VkBool32 shaderRoundingModeRTZFloat64;
5164 deUint32 maxUpdateAfterBindDescriptorsInAllPools;
5165 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
5166 VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
5167 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
5168 VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
5169 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
5170 VkBool32 robustBufferAccessUpdateAfterBind;
5171 VkBool32 quadDivergentImplicitLod;
5172 deUint32 maxPerStageDescriptorUpdateAfterBindSamplers;
5173 deUint32 maxPerStageDescriptorUpdateAfterBindUniformBuffers;
5174 deUint32 maxPerStageDescriptorUpdateAfterBindStorageBuffers;
5175 deUint32 maxPerStageDescriptorUpdateAfterBindSampledImages;
5176 deUint32 maxPerStageDescriptorUpdateAfterBindStorageImages;
5177 deUint32 maxPerStageDescriptorUpdateAfterBindInputAttachments;
5178 deUint32 maxPerStageUpdateAfterBindResources;
5179 deUint32 maxDescriptorSetUpdateAfterBindSamplers;
5180 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffers;
5181 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
5182 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffers;
5183 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
5184 deUint32 maxDescriptorSetUpdateAfterBindSampledImages;
5185 deUint32 maxDescriptorSetUpdateAfterBindStorageImages;
5186 deUint32 maxDescriptorSetUpdateAfterBindInputAttachments;
5187 VkResolveModeFlags supportedDepthResolveModes;
5188 VkResolveModeFlags supportedStencilResolveModes;
5189 VkBool32 independentResolveNone;
5190 VkBool32 independentResolve;
5191 VkBool32 filterMinmaxSingleComponentFormats;
5192 VkBool32 filterMinmaxImageComponentMapping;
5193 deUint64 maxTimelineSemaphoreValueDifference;
5194 VkSampleCountFlags framebufferIntegerColorSampleCounts;
5195 } VkPhysicalDeviceVulkan12Properties;
5197 typedef struct VkImageFormatListCreateInfo {
5198 VkStructureType sType;
5200 deUint32 viewFormatCount;
5201 const VkFormat* pViewFormats;
5202 } VkImageFormatListCreateInfo;
5204 typedef struct VkAttachmentDescription2 {
5205 VkStructureType sType;
5207 VkAttachmentDescriptionFlags flags;
5209 VkSampleCountFlagBits samples;
5210 VkAttachmentLoadOp loadOp;
5211 VkAttachmentStoreOp storeOp;
5212 VkAttachmentLoadOp stencilLoadOp;
5213 VkAttachmentStoreOp stencilStoreOp;
5214 VkImageLayout initialLayout;
5215 VkImageLayout finalLayout;
5216 } VkAttachmentDescription2;
5218 typedef struct VkAttachmentReference2 {
5219 VkStructureType sType;
5221 deUint32 attachment;
5222 VkImageLayout layout;
5223 VkImageAspectFlags aspectMask;
5224 } VkAttachmentReference2;
5226 typedef struct VkSubpassDescription2 {
5227 VkStructureType sType;
5229 VkSubpassDescriptionFlags flags;
5230 VkPipelineBindPoint pipelineBindPoint;
5232 deUint32 inputAttachmentCount;
5233 const VkAttachmentReference2* pInputAttachments;
5234 deUint32 colorAttachmentCount;
5235 const VkAttachmentReference2* pColorAttachments;
5236 const VkAttachmentReference2* pResolveAttachments;
5237 const VkAttachmentReference2* pDepthStencilAttachment;
5238 deUint32 preserveAttachmentCount;
5239 const deUint32* pPreserveAttachments;
5240 } VkSubpassDescription2;
5242 typedef struct VkSubpassDependency2 {
5243 VkStructureType sType;
5245 deUint32 srcSubpass;
5246 deUint32 dstSubpass;
5247 VkPipelineStageFlags srcStageMask;
5248 VkPipelineStageFlags dstStageMask;
5249 VkAccessFlags srcAccessMask;
5250 VkAccessFlags dstAccessMask;
5251 VkDependencyFlags dependencyFlags;
5253 } VkSubpassDependency2;
5255 typedef struct VkRenderPassCreateInfo2 {
5256 VkStructureType sType;
5258 VkRenderPassCreateFlags flags;
5259 deUint32 attachmentCount;
5260 const VkAttachmentDescription2* pAttachments;
5261 deUint32 subpassCount;
5262 const VkSubpassDescription2* pSubpasses;
5263 deUint32 dependencyCount;
5264 const VkSubpassDependency2* pDependencies;
5265 deUint32 correlatedViewMaskCount;
5266 const deUint32* pCorrelatedViewMasks;
5267 } VkRenderPassCreateInfo2;
5269 typedef struct VkSubpassBeginInfo {
5270 VkStructureType sType;
5272 VkSubpassContents contents;
5273 } VkSubpassBeginInfo;
5275 typedef struct VkSubpassEndInfo {
5276 VkStructureType sType;
5280 typedef struct VkPhysicalDevice8BitStorageFeatures {
5281 VkStructureType sType;
5283 VkBool32 storageBuffer8BitAccess;
5284 VkBool32 uniformAndStorageBuffer8BitAccess;
5285 VkBool32 storagePushConstant8;
5286 } VkPhysicalDevice8BitStorageFeatures;
5288 typedef struct VkPhysicalDeviceDriverProperties {
5289 VkStructureType sType;
5291 VkDriverId driverID;
5292 char driverName[VK_MAX_DRIVER_NAME_SIZE];
5293 char driverInfo[VK_MAX_DRIVER_INFO_SIZE];
5294 VkConformanceVersion conformanceVersion;
5295 } VkPhysicalDeviceDriverProperties;
5297 typedef struct VkPhysicalDeviceShaderAtomicInt64Features {
5298 VkStructureType sType;
5300 VkBool32 shaderBufferInt64Atomics;
5301 VkBool32 shaderSharedInt64Atomics;
5302 } VkPhysicalDeviceShaderAtomicInt64Features;
5304 typedef struct VkPhysicalDeviceShaderFloat16Int8Features {
5305 VkStructureType sType;
5307 VkBool32 shaderFloat16;
5308 VkBool32 shaderInt8;
5309 } VkPhysicalDeviceShaderFloat16Int8Features;
5311 typedef struct VkPhysicalDeviceFloatControlsProperties {
5312 VkStructureType sType;
5314 VkShaderFloatControlsIndependence denormBehaviorIndependence;
5315 VkShaderFloatControlsIndependence roundingModeIndependence;
5316 VkBool32 shaderSignedZeroInfNanPreserveFloat16;
5317 VkBool32 shaderSignedZeroInfNanPreserveFloat32;
5318 VkBool32 shaderSignedZeroInfNanPreserveFloat64;
5319 VkBool32 shaderDenormPreserveFloat16;
5320 VkBool32 shaderDenormPreserveFloat32;
5321 VkBool32 shaderDenormPreserveFloat64;
5322 VkBool32 shaderDenormFlushToZeroFloat16;
5323 VkBool32 shaderDenormFlushToZeroFloat32;
5324 VkBool32 shaderDenormFlushToZeroFloat64;
5325 VkBool32 shaderRoundingModeRTEFloat16;
5326 VkBool32 shaderRoundingModeRTEFloat32;
5327 VkBool32 shaderRoundingModeRTEFloat64;
5328 VkBool32 shaderRoundingModeRTZFloat16;
5329 VkBool32 shaderRoundingModeRTZFloat32;
5330 VkBool32 shaderRoundingModeRTZFloat64;
5331 } VkPhysicalDeviceFloatControlsProperties;
5333 typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfo {
5334 VkStructureType sType;
5336 deUint32 bindingCount;
5337 const VkDescriptorBindingFlags* pBindingFlags;
5338 } VkDescriptorSetLayoutBindingFlagsCreateInfo;
5340 typedef struct VkPhysicalDeviceDescriptorIndexingFeatures {
5341 VkStructureType sType;
5343 VkBool32 shaderInputAttachmentArrayDynamicIndexing;
5344 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
5345 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
5346 VkBool32 shaderUniformBufferArrayNonUniformIndexing;
5347 VkBool32 shaderSampledImageArrayNonUniformIndexing;
5348 VkBool32 shaderStorageBufferArrayNonUniformIndexing;
5349 VkBool32 shaderStorageImageArrayNonUniformIndexing;
5350 VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
5351 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
5352 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
5353 VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
5354 VkBool32 descriptorBindingSampledImageUpdateAfterBind;
5355 VkBool32 descriptorBindingStorageImageUpdateAfterBind;
5356 VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
5357 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
5358 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
5359 VkBool32 descriptorBindingUpdateUnusedWhilePending;
5360 VkBool32 descriptorBindingPartiallyBound;
5361 VkBool32 descriptorBindingVariableDescriptorCount;
5362 VkBool32 runtimeDescriptorArray;
5363 } VkPhysicalDeviceDescriptorIndexingFeatures;
5365 typedef struct VkPhysicalDeviceDescriptorIndexingProperties {
5366 VkStructureType sType;
5368 deUint32 maxUpdateAfterBindDescriptorsInAllPools;
5369 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
5370 VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
5371 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
5372 VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
5373 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
5374 VkBool32 robustBufferAccessUpdateAfterBind;
5375 VkBool32 quadDivergentImplicitLod;
5376 deUint32 maxPerStageDescriptorUpdateAfterBindSamplers;
5377 deUint32 maxPerStageDescriptorUpdateAfterBindUniformBuffers;
5378 deUint32 maxPerStageDescriptorUpdateAfterBindStorageBuffers;
5379 deUint32 maxPerStageDescriptorUpdateAfterBindSampledImages;
5380 deUint32 maxPerStageDescriptorUpdateAfterBindStorageImages;
5381 deUint32 maxPerStageDescriptorUpdateAfterBindInputAttachments;
5382 deUint32 maxPerStageUpdateAfterBindResources;
5383 deUint32 maxDescriptorSetUpdateAfterBindSamplers;
5384 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffers;
5385 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
5386 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffers;
5387 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
5388 deUint32 maxDescriptorSetUpdateAfterBindSampledImages;
5389 deUint32 maxDescriptorSetUpdateAfterBindStorageImages;
5390 deUint32 maxDescriptorSetUpdateAfterBindInputAttachments;
5391 } VkPhysicalDeviceDescriptorIndexingProperties;
5393 typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfo {
5394 VkStructureType sType;
5396 deUint32 descriptorSetCount;
5397 const deUint32* pDescriptorCounts;
5398 } VkDescriptorSetVariableDescriptorCountAllocateInfo;
5400 typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupport {
5401 VkStructureType sType;
5403 deUint32 maxVariableDescriptorCount;
5404 } VkDescriptorSetVariableDescriptorCountLayoutSupport;
5406 typedef struct VkSubpassDescriptionDepthStencilResolve {
5407 VkStructureType sType;
5409 VkResolveModeFlagBits depthResolveMode;
5410 VkResolveModeFlagBits stencilResolveMode;
5411 const VkAttachmentReference2* pDepthStencilResolveAttachment;
5412 } VkSubpassDescriptionDepthStencilResolve;
5414 typedef struct VkPhysicalDeviceDepthStencilResolveProperties {
5415 VkStructureType sType;
5417 VkResolveModeFlags supportedDepthResolveModes;
5418 VkResolveModeFlags supportedStencilResolveModes;
5419 VkBool32 independentResolveNone;
5420 VkBool32 independentResolve;
5421 } VkPhysicalDeviceDepthStencilResolveProperties;
5423 typedef struct VkPhysicalDeviceScalarBlockLayoutFeatures {
5424 VkStructureType sType;
5426 VkBool32 scalarBlockLayout;
5427 } VkPhysicalDeviceScalarBlockLayoutFeatures;
5429 typedef struct VkImageStencilUsageCreateInfo {
5430 VkStructureType sType;
5432 VkImageUsageFlags stencilUsage;
5433 } VkImageStencilUsageCreateInfo;
5435 typedef struct VkSamplerReductionModeCreateInfo {
5436 VkStructureType sType;
5438 VkSamplerReductionMode reductionMode;
5439 } VkSamplerReductionModeCreateInfo;
5441 typedef struct VkPhysicalDeviceSamplerFilterMinmaxProperties {
5442 VkStructureType sType;
5444 VkBool32 filterMinmaxSingleComponentFormats;
5445 VkBool32 filterMinmaxImageComponentMapping;
5446 } VkPhysicalDeviceSamplerFilterMinmaxProperties;
5448 typedef struct VkPhysicalDeviceVulkanMemoryModelFeatures {
5449 VkStructureType sType;
5451 VkBool32 vulkanMemoryModel;
5452 VkBool32 vulkanMemoryModelDeviceScope;
5453 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
5454 } VkPhysicalDeviceVulkanMemoryModelFeatures;
5456 typedef struct VkPhysicalDeviceImagelessFramebufferFeatures {
5457 VkStructureType sType;
5459 VkBool32 imagelessFramebuffer;
5460 } VkPhysicalDeviceImagelessFramebufferFeatures;
5462 typedef struct VkFramebufferAttachmentImageInfo {
5463 VkStructureType sType;
5465 VkImageCreateFlags flags;
5466 VkImageUsageFlags usage;
5469 deUint32 layerCount;
5470 deUint32 viewFormatCount;
5471 const VkFormat* pViewFormats;
5472 } VkFramebufferAttachmentImageInfo;
5474 typedef struct VkFramebufferAttachmentsCreateInfo {
5475 VkStructureType sType;
5477 deUint32 attachmentImageInfoCount;
5478 const VkFramebufferAttachmentImageInfo* pAttachmentImageInfos;
5479 } VkFramebufferAttachmentsCreateInfo;
5481 typedef struct VkRenderPassAttachmentBeginInfo {
5482 VkStructureType sType;
5484 deUint32 attachmentCount;
5485 const VkImageView* pAttachments;
5486 } VkRenderPassAttachmentBeginInfo;
5488 typedef struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures {
5489 VkStructureType sType;
5491 VkBool32 uniformBufferStandardLayout;
5492 } VkPhysicalDeviceUniformBufferStandardLayoutFeatures;
5494 typedef struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures {
5495 VkStructureType sType;
5497 VkBool32 shaderSubgroupExtendedTypes;
5498 } VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures;
5500 typedef struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures {
5501 VkStructureType sType;
5503 VkBool32 separateDepthStencilLayouts;
5504 } VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures;
5506 typedef struct VkAttachmentReferenceStencilLayout {
5507 VkStructureType sType;
5509 VkImageLayout stencilLayout;
5510 } VkAttachmentReferenceStencilLayout;
5512 typedef struct VkAttachmentDescriptionStencilLayout {
5513 VkStructureType sType;
5515 VkImageLayout stencilInitialLayout;
5516 VkImageLayout stencilFinalLayout;
5517 } VkAttachmentDescriptionStencilLayout;
5519 typedef struct VkPhysicalDeviceHostQueryResetFeatures {
5520 VkStructureType sType;
5522 VkBool32 hostQueryReset;
5523 } VkPhysicalDeviceHostQueryResetFeatures;
5525 typedef struct VkPhysicalDeviceTimelineSemaphoreFeatures {
5526 VkStructureType sType;
5528 VkBool32 timelineSemaphore;
5529 } VkPhysicalDeviceTimelineSemaphoreFeatures;
5531 typedef struct VkPhysicalDeviceTimelineSemaphoreProperties {
5532 VkStructureType sType;
5534 deUint64 maxTimelineSemaphoreValueDifference;
5535 } VkPhysicalDeviceTimelineSemaphoreProperties;
5537 typedef struct VkSemaphoreTypeCreateInfo {
5538 VkStructureType sType;
5540 VkSemaphoreType semaphoreType;
5541 deUint64 initialValue;
5542 } VkSemaphoreTypeCreateInfo;
5544 typedef struct VkTimelineSemaphoreSubmitInfo {
5545 VkStructureType sType;
5547 deUint32 waitSemaphoreValueCount;
5548 const deUint64* pWaitSemaphoreValues;
5549 deUint32 signalSemaphoreValueCount;
5550 const deUint64* pSignalSemaphoreValues;
5551 } VkTimelineSemaphoreSubmitInfo;
5553 typedef struct VkSemaphoreWaitInfo {
5554 VkStructureType sType;
5556 VkSemaphoreWaitFlags flags;
5557 deUint32 semaphoreCount;
5558 const VkSemaphore* pSemaphores;
5559 const deUint64* pValues;
5560 } VkSemaphoreWaitInfo;
5562 typedef struct VkSemaphoreSignalInfo {
5563 VkStructureType sType;
5565 VkSemaphore semaphore;
5567 } VkSemaphoreSignalInfo;
5569 typedef struct VkPhysicalDeviceBufferDeviceAddressFeatures {
5570 VkStructureType sType;
5572 VkBool32 bufferDeviceAddress;
5573 VkBool32 bufferDeviceAddressCaptureReplay;
5574 VkBool32 bufferDeviceAddressMultiDevice;
5575 } VkPhysicalDeviceBufferDeviceAddressFeatures;
5577 typedef struct VkBufferDeviceAddressInfo {
5578 VkStructureType sType;
5581 } VkBufferDeviceAddressInfo;
5583 typedef struct VkBufferOpaqueCaptureAddressCreateInfo {
5584 VkStructureType sType;
5586 deUint64 opaqueCaptureAddress;
5587 } VkBufferOpaqueCaptureAddressCreateInfo;
5589 typedef struct VkMemoryOpaqueCaptureAddressAllocateInfo {
5590 VkStructureType sType;
5592 deUint64 opaqueCaptureAddress;
5593 } VkMemoryOpaqueCaptureAddressAllocateInfo;
5595 typedef struct VkDeviceMemoryOpaqueCaptureAddressInfo {
5596 VkStructureType sType;
5598 VkDeviceMemory memory;
5599 } VkDeviceMemoryOpaqueCaptureAddressInfo;
5601 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
5602 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
5603 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
5604 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo);
5605 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo);
5606 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo);
5607 typedef void (VKAPI_PTR *PFN_vkResetQueryPool)(VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount);
5608 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValue)(VkDevice device, VkSemaphore semaphore, deUint64* pValue);
5609 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphores)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, deUint64 timeout);
5610 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphore)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo);
5611 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
5612 typedef deUint64 (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
5613 typedef deUint64 (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddress)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
5615 #ifndef VK_NO_PROTOTYPES
5616 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCount(
5617 VkCommandBuffer commandBuffer,
5619 VkDeviceSize offset,
5620 VkBuffer countBuffer,
5621 VkDeviceSize countBufferOffset,
5622 deUint32 maxDrawCount,
5625 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCount(
5626 VkCommandBuffer commandBuffer,
5628 VkDeviceSize offset,
5629 VkBuffer countBuffer,
5630 VkDeviceSize countBufferOffset,
5631 deUint32 maxDrawCount,
5634 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2(
5636 const VkRenderPassCreateInfo2* pCreateInfo,
5637 const VkAllocationCallbacks* pAllocator,
5638 VkRenderPass* pRenderPass);
5640 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2(
5641 VkCommandBuffer commandBuffer,
5642 const VkRenderPassBeginInfo* pRenderPassBegin,
5643 const VkSubpassBeginInfo* pSubpassBeginInfo);
5645 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2(
5646 VkCommandBuffer commandBuffer,
5647 const VkSubpassBeginInfo* pSubpassBeginInfo,
5648 const VkSubpassEndInfo* pSubpassEndInfo);
5650 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2(
5651 VkCommandBuffer commandBuffer,
5652 const VkSubpassEndInfo* pSubpassEndInfo);
5654 VKAPI_ATTR void VKAPI_CALL vkResetQueryPool(
5656 VkQueryPool queryPool,
5657 deUint32 firstQuery,
5658 deUint32 queryCount);
5660 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValue(
5662 VkSemaphore semaphore,
5665 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphores(
5667 const VkSemaphoreWaitInfo* pWaitInfo,
5670 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphore(
5672 const VkSemaphoreSignalInfo* pSignalInfo);
5674 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddress(
5676 const VkBufferDeviceAddressInfo* pInfo);
5678 VKAPI_ATTR deUint64 VKAPI_CALL vkGetBufferOpaqueCaptureAddress(
5680 const VkBufferDeviceAddressInfo* pInfo);
5682 VKAPI_ATTR deUint64 VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddress(
5684 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
5688 #define VK_KHR_surface 1
5689 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR)
5690 #define VK_KHR_SURFACE_SPEC_VERSION 25
5691 #define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface"
5693 typedef enum VkPresentModeKHR {
5694 VK_PRESENT_MODE_IMMEDIATE_KHR = 0,
5695 VK_PRESENT_MODE_MAILBOX_KHR = 1,
5696 VK_PRESENT_MODE_FIFO_KHR = 2,
5697 VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3,
5698 VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR = 1000111000,
5699 VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = 1000111001,
5700 VK_PRESENT_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
5703 typedef enum VkColorSpaceKHR {
5704 VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0,
5705 VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = 1000104001,
5706 VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT = 1000104002,
5707 VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT = 1000104003,
5708 VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT = 1000104004,
5709 VK_COLOR_SPACE_BT709_LINEAR_EXT = 1000104005,
5710 VK_COLOR_SPACE_BT709_NONLINEAR_EXT = 1000104006,
5711 VK_COLOR_SPACE_BT2020_LINEAR_EXT = 1000104007,
5712 VK_COLOR_SPACE_HDR10_ST2084_EXT = 1000104008,
5713 VK_COLOR_SPACE_DOLBYVISION_EXT = 1000104009,
5714 VK_COLOR_SPACE_HDR10_HLG_EXT = 1000104010,
5715 VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT = 1000104011,
5716 VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT = 1000104012,
5717 VK_COLOR_SPACE_PASS_THROUGH_EXT = 1000104013,
5718 VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT = 1000104014,
5719 VK_COLOR_SPACE_DISPLAY_NATIVE_AMD = 1000213000,
5720 VK_COLORSPACE_SRGB_NONLINEAR_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
5721 VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT,
5722 VK_COLOR_SPACE_MAX_ENUM_KHR = 0x7FFFFFFF
5725 typedef enum VkSurfaceTransformFlagBitsKHR {
5726 VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 0x00000001,
5727 VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 0x00000002,
5728 VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 0x00000004,
5729 VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 0x00000008,
5730 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 0x00000010,
5731 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 0x00000020,
5732 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 0x00000040,
5733 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 0x00000080,
5734 VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 0x00000100,
5735 VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
5736 } VkSurfaceTransformFlagBitsKHR;
5738 typedef enum VkCompositeAlphaFlagBitsKHR {
5739 VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
5740 VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 0x00000002,
5741 VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 0x00000004,
5742 VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 0x00000008,
5743 VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
5744 } VkCompositeAlphaFlagBitsKHR;
5745 typedef VkFlags VkCompositeAlphaFlagsKHR;
5746 typedef VkFlags VkSurfaceTransformFlagsKHR;
5747 typedef struct VkSurfaceCapabilitiesKHR {
5748 deUint32 minImageCount;
5749 deUint32 maxImageCount;
5750 VkExtent2D currentExtent;
5751 VkExtent2D minImageExtent;
5752 VkExtent2D maxImageExtent;
5753 deUint32 maxImageArrayLayers;
5754 VkSurfaceTransformFlagsKHR supportedTransforms;
5755 VkSurfaceTransformFlagBitsKHR currentTransform;
5756 VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
5757 VkImageUsageFlags supportedUsageFlags;
5758 } VkSurfaceCapabilitiesKHR;
5760 typedef struct VkSurfaceFormatKHR {
5762 VkColorSpaceKHR colorSpace;
5763 } VkSurfaceFormatKHR;
5765 typedef void (VKAPI_PTR *PFN_vkDestroySurfaceKHR)(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator);
5766 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported);
5767 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
5768 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats);
5769 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pPresentModeCount, VkPresentModeKHR* pPresentModes);
5771 #ifndef VK_NO_PROTOTYPES
5772 VKAPI_ATTR void VKAPI_CALL vkDestroySurfaceKHR(
5773 VkInstance instance,
5774 VkSurfaceKHR surface,
5775 const VkAllocationCallbacks* pAllocator);
5777 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceSupportKHR(
5778 VkPhysicalDevice physicalDevice,
5779 deUint32 queueFamilyIndex,
5780 VkSurfaceKHR surface,
5781 VkBool32* pSupported);
5783 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilitiesKHR(
5784 VkPhysicalDevice physicalDevice,
5785 VkSurfaceKHR surface,
5786 VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
5788 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormatsKHR(
5789 VkPhysicalDevice physicalDevice,
5790 VkSurfaceKHR surface,
5791 deUint32* pSurfaceFormatCount,
5792 VkSurfaceFormatKHR* pSurfaceFormats);
5794 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModesKHR(
5795 VkPhysicalDevice physicalDevice,
5796 VkSurfaceKHR surface,
5797 deUint32* pPresentModeCount,
5798 VkPresentModeKHR* pPresentModes);
5802 #define VK_KHR_swapchain 1
5803 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR)
5804 #define VK_KHR_SWAPCHAIN_SPEC_VERSION 70
5805 #define VK_KHR_SWAPCHAIN_EXTENSION_NAME "VK_KHR_swapchain"
5807 typedef enum VkSwapchainCreateFlagBitsKHR {
5808 VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 0x00000001,
5809 VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR = 0x00000002,
5810 VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR = 0x00000004,
5811 VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
5812 } VkSwapchainCreateFlagBitsKHR;
5813 typedef VkFlags VkSwapchainCreateFlagsKHR;
5815 typedef enum VkDeviceGroupPresentModeFlagBitsKHR {
5816 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR = 0x00000001,
5817 VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR = 0x00000002,
5818 VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR = 0x00000004,
5819 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR = 0x00000008,
5820 VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
5821 } VkDeviceGroupPresentModeFlagBitsKHR;
5822 typedef VkFlags VkDeviceGroupPresentModeFlagsKHR;
5823 typedef struct VkSwapchainCreateInfoKHR {
5824 VkStructureType sType;
5826 VkSwapchainCreateFlagsKHR flags;
5827 VkSurfaceKHR surface;
5828 deUint32 minImageCount;
5829 VkFormat imageFormat;
5830 VkColorSpaceKHR imageColorSpace;
5831 VkExtent2D imageExtent;
5832 deUint32 imageArrayLayers;
5833 VkImageUsageFlags imageUsage;
5834 VkSharingMode imageSharingMode;
5835 deUint32 queueFamilyIndexCount;
5836 const deUint32* pQueueFamilyIndices;
5837 VkSurfaceTransformFlagBitsKHR preTransform;
5838 VkCompositeAlphaFlagBitsKHR compositeAlpha;
5839 VkPresentModeKHR presentMode;
5841 VkSwapchainKHR oldSwapchain;
5842 } VkSwapchainCreateInfoKHR;
5844 typedef struct VkPresentInfoKHR {
5845 VkStructureType sType;
5847 deUint32 waitSemaphoreCount;
5848 const VkSemaphore* pWaitSemaphores;
5849 deUint32 swapchainCount;
5850 const VkSwapchainKHR* pSwapchains;
5851 const deUint32* pImageIndices;
5855 typedef struct VkImageSwapchainCreateInfoKHR {
5856 VkStructureType sType;
5858 VkSwapchainKHR swapchain;
5859 } VkImageSwapchainCreateInfoKHR;
5861 typedef struct VkBindImageMemorySwapchainInfoKHR {
5862 VkStructureType sType;
5864 VkSwapchainKHR swapchain;
5865 deUint32 imageIndex;
5866 } VkBindImageMemorySwapchainInfoKHR;
5868 typedef struct VkAcquireNextImageInfoKHR {
5869 VkStructureType sType;
5871 VkSwapchainKHR swapchain;
5873 VkSemaphore semaphore;
5875 deUint32 deviceMask;
5876 } VkAcquireNextImageInfoKHR;
5878 typedef struct VkDeviceGroupPresentCapabilitiesKHR {
5879 VkStructureType sType;
5881 deUint32 presentMask[VK_MAX_DEVICE_GROUP_SIZE];
5882 VkDeviceGroupPresentModeFlagsKHR modes;
5883 } VkDeviceGroupPresentCapabilitiesKHR;
5885 typedef struct VkDeviceGroupPresentInfoKHR {
5886 VkStructureType sType;
5888 deUint32 swapchainCount;
5889 const deUint32* pDeviceMasks;
5890 VkDeviceGroupPresentModeFlagBitsKHR mode;
5891 } VkDeviceGroupPresentInfoKHR;
5893 typedef struct VkDeviceGroupSwapchainCreateInfoKHR {
5894 VkStructureType sType;
5896 VkDeviceGroupPresentModeFlagsKHR modes;
5897 } VkDeviceGroupSwapchainCreateInfoKHR;
5899 typedef VkResult (VKAPI_PTR *PFN_vkCreateSwapchainKHR)(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain);
5900 typedef void (VKAPI_PTR *PFN_vkDestroySwapchainKHR)(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator);
5901 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainImagesKHR)(VkDevice device, VkSwapchainKHR swapchain, deUint32* pSwapchainImageCount, VkImage* pSwapchainImages);
5902 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImageKHR)(VkDevice device, VkSwapchainKHR swapchain, deUint64 timeout, VkSemaphore semaphore, VkFence fence, deUint32* pImageIndex);
5903 typedef VkResult (VKAPI_PTR *PFN_vkQueuePresentKHR)(VkQueue queue, const VkPresentInfoKHR* pPresentInfo);
5904 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupPresentCapabilitiesKHR)(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
5905 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupSurfacePresentModesKHR)(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes);
5906 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDevicePresentRectanglesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pRectCount, VkRect2D* pRects);
5907 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImage2KHR)(VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, deUint32* pImageIndex);
5909 #ifndef VK_NO_PROTOTYPES
5910 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSwapchainKHR(
5912 const VkSwapchainCreateInfoKHR* pCreateInfo,
5913 const VkAllocationCallbacks* pAllocator,
5914 VkSwapchainKHR* pSwapchain);
5916 VKAPI_ATTR void VKAPI_CALL vkDestroySwapchainKHR(
5918 VkSwapchainKHR swapchain,
5919 const VkAllocationCallbacks* pAllocator);
5921 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainImagesKHR(
5923 VkSwapchainKHR swapchain,
5924 deUint32* pSwapchainImageCount,
5925 VkImage* pSwapchainImages);
5927 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImageKHR(
5929 VkSwapchainKHR swapchain,
5931 VkSemaphore semaphore,
5933 deUint32* pImageIndex);
5935 VKAPI_ATTR VkResult VKAPI_CALL vkQueuePresentKHR(
5937 const VkPresentInfoKHR* pPresentInfo);
5939 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupPresentCapabilitiesKHR(
5941 VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
5943 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupSurfacePresentModesKHR(
5945 VkSurfaceKHR surface,
5946 VkDeviceGroupPresentModeFlagsKHR* pModes);
5948 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDevicePresentRectanglesKHR(
5949 VkPhysicalDevice physicalDevice,
5950 VkSurfaceKHR surface,
5951 deUint32* pRectCount,
5954 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImage2KHR(
5956 const VkAcquireNextImageInfoKHR* pAcquireInfo,
5957 deUint32* pImageIndex);
5961 #define VK_KHR_display 1
5962 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR)
5963 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR)
5964 #define VK_KHR_DISPLAY_SPEC_VERSION 23
5965 #define VK_KHR_DISPLAY_EXTENSION_NAME "VK_KHR_display"
5966 typedef VkFlags VkDisplayModeCreateFlagsKHR;
5968 typedef enum VkDisplayPlaneAlphaFlagBitsKHR {
5969 VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
5970 VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR = 0x00000002,
5971 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR = 0x00000004,
5972 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = 0x00000008,
5973 VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
5974 } VkDisplayPlaneAlphaFlagBitsKHR;
5975 typedef VkFlags VkDisplayPlaneAlphaFlagsKHR;
5976 typedef VkFlags VkDisplaySurfaceCreateFlagsKHR;
5977 typedef struct VkDisplayModeParametersKHR {
5978 VkExtent2D visibleRegion;
5979 deUint32 refreshRate;
5980 } VkDisplayModeParametersKHR;
5982 typedef struct VkDisplayModeCreateInfoKHR {
5983 VkStructureType sType;
5985 VkDisplayModeCreateFlagsKHR flags;
5986 VkDisplayModeParametersKHR parameters;
5987 } VkDisplayModeCreateInfoKHR;
5989 typedef struct VkDisplayModePropertiesKHR {
5990 VkDisplayModeKHR displayMode;
5991 VkDisplayModeParametersKHR parameters;
5992 } VkDisplayModePropertiesKHR;
5994 typedef struct VkDisplayPlaneCapabilitiesKHR {
5995 VkDisplayPlaneAlphaFlagsKHR supportedAlpha;
5996 VkOffset2D minSrcPosition;
5997 VkOffset2D maxSrcPosition;
5998 VkExtent2D minSrcExtent;
5999 VkExtent2D maxSrcExtent;
6000 VkOffset2D minDstPosition;
6001 VkOffset2D maxDstPosition;
6002 VkExtent2D minDstExtent;
6003 VkExtent2D maxDstExtent;
6004 } VkDisplayPlaneCapabilitiesKHR;
6006 typedef struct VkDisplayPlanePropertiesKHR {
6007 VkDisplayKHR currentDisplay;
6008 deUint32 currentStackIndex;
6009 } VkDisplayPlanePropertiesKHR;
6011 typedef struct VkDisplayPropertiesKHR {
6012 VkDisplayKHR display;
6013 const char* displayName;
6014 VkExtent2D physicalDimensions;
6015 VkExtent2D physicalResolution;
6016 VkSurfaceTransformFlagsKHR supportedTransforms;
6017 VkBool32 planeReorderPossible;
6018 VkBool32 persistentContent;
6019 } VkDisplayPropertiesKHR;
6021 typedef struct VkDisplaySurfaceCreateInfoKHR {
6022 VkStructureType sType;
6024 VkDisplaySurfaceCreateFlagsKHR flags;
6025 VkDisplayModeKHR displayMode;
6026 deUint32 planeIndex;
6027 deUint32 planeStackIndex;
6028 VkSurfaceTransformFlagBitsKHR transform;
6030 VkDisplayPlaneAlphaFlagBitsKHR alphaMode;
6031 VkExtent2D imageExtent;
6032 } VkDisplaySurfaceCreateInfoKHR;
6034 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPropertiesKHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPropertiesKHR* pProperties);
6035 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties);
6036 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneSupportedDisplaysKHR)(VkPhysicalDevice physicalDevice, deUint32 planeIndex, deUint32* pDisplayCount, VkDisplayKHR* pDisplays);
6037 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModePropertiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, deUint32* pPropertyCount, VkDisplayModePropertiesKHR* pProperties);
6038 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayModeKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode);
6039 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, deUint32 planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities);
6040 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayPlaneSurfaceKHR)(VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
6042 #ifndef VK_NO_PROTOTYPES
6043 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPropertiesKHR(
6044 VkPhysicalDevice physicalDevice,
6045 deUint32* pPropertyCount,
6046 VkDisplayPropertiesKHR* pProperties);
6048 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlanePropertiesKHR(
6049 VkPhysicalDevice physicalDevice,
6050 deUint32* pPropertyCount,
6051 VkDisplayPlanePropertiesKHR* pProperties);
6053 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneSupportedDisplaysKHR(
6054 VkPhysicalDevice physicalDevice,
6055 deUint32 planeIndex,
6056 deUint32* pDisplayCount,
6057 VkDisplayKHR* pDisplays);
6059 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModePropertiesKHR(
6060 VkPhysicalDevice physicalDevice,
6061 VkDisplayKHR display,
6062 deUint32* pPropertyCount,
6063 VkDisplayModePropertiesKHR* pProperties);
6065 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayModeKHR(
6066 VkPhysicalDevice physicalDevice,
6067 VkDisplayKHR display,
6068 const VkDisplayModeCreateInfoKHR* pCreateInfo,
6069 const VkAllocationCallbacks* pAllocator,
6070 VkDisplayModeKHR* pMode);
6072 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilitiesKHR(
6073 VkPhysicalDevice physicalDevice,
6074 VkDisplayModeKHR mode,
6075 deUint32 planeIndex,
6076 VkDisplayPlaneCapabilitiesKHR* pCapabilities);
6078 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayPlaneSurfaceKHR(
6079 VkInstance instance,
6080 const VkDisplaySurfaceCreateInfoKHR* pCreateInfo,
6081 const VkAllocationCallbacks* pAllocator,
6082 VkSurfaceKHR* pSurface);
6086 #define VK_KHR_display_swapchain 1
6087 #define VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION 10
6088 #define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME "VK_KHR_display_swapchain"
6089 typedef struct VkDisplayPresentInfoKHR {
6090 VkStructureType sType;
6094 VkBool32 persistent;
6095 } VkDisplayPresentInfoKHR;
6097 typedef VkResult (VKAPI_PTR *PFN_vkCreateSharedSwapchainsKHR)(VkDevice device, deUint32 swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains);
6099 #ifndef VK_NO_PROTOTYPES
6100 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSharedSwapchainsKHR(
6102 deUint32 swapchainCount,
6103 const VkSwapchainCreateInfoKHR* pCreateInfos,
6104 const VkAllocationCallbacks* pAllocator,
6105 VkSwapchainKHR* pSwapchains);
6109 #define VK_KHR_sampler_mirror_clamp_to_edge 1
6110 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION 3
6111 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME "VK_KHR_sampler_mirror_clamp_to_edge"
6114 #define VK_KHR_multiview 1
6115 #define VK_KHR_MULTIVIEW_SPEC_VERSION 1
6116 #define VK_KHR_MULTIVIEW_EXTENSION_NAME "VK_KHR_multiview"
6117 typedef VkRenderPassMultiviewCreateInfo VkRenderPassMultiviewCreateInfoKHR;
6119 typedef VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeaturesKHR;
6121 typedef VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewPropertiesKHR;
6125 #define VK_KHR_get_physical_device_properties2 1
6126 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION 2
6127 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_physical_device_properties2"
6128 typedef VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2KHR;
6130 typedef VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2KHR;
6132 typedef VkFormatProperties2 VkFormatProperties2KHR;
6134 typedef VkImageFormatProperties2 VkImageFormatProperties2KHR;
6136 typedef VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2KHR;
6138 typedef VkQueueFamilyProperties2 VkQueueFamilyProperties2KHR;
6140 typedef VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2KHR;
6142 typedef VkSparseImageFormatProperties2 VkSparseImageFormatProperties2KHR;
6144 typedef VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2KHR;
6146 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
6147 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
6148 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2KHR)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
6149 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
6150 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)(VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
6151 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
6152 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, deUint32* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
6154 #ifndef VK_NO_PROTOTYPES
6155 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2KHR(
6156 VkPhysicalDevice physicalDevice,
6157 VkPhysicalDeviceFeatures2* pFeatures);
6159 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2KHR(
6160 VkPhysicalDevice physicalDevice,
6161 VkPhysicalDeviceProperties2* pProperties);
6163 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2KHR(
6164 VkPhysicalDevice physicalDevice,
6166 VkFormatProperties2* pFormatProperties);
6168 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2KHR(
6169 VkPhysicalDevice physicalDevice,
6170 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
6171 VkImageFormatProperties2* pImageFormatProperties);
6173 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2KHR(
6174 VkPhysicalDevice physicalDevice,
6175 deUint32* pQueueFamilyPropertyCount,
6176 VkQueueFamilyProperties2* pQueueFamilyProperties);
6178 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2KHR(
6179 VkPhysicalDevice physicalDevice,
6180 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
6182 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
6183 VkPhysicalDevice physicalDevice,
6184 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
6185 deUint32* pPropertyCount,
6186 VkSparseImageFormatProperties2* pProperties);
6190 #define VK_KHR_device_group 1
6191 #define VK_KHR_DEVICE_GROUP_SPEC_VERSION 4
6192 #define VK_KHR_DEVICE_GROUP_EXTENSION_NAME "VK_KHR_device_group"
6193 typedef VkPeerMemoryFeatureFlags VkPeerMemoryFeatureFlagsKHR;
6195 typedef VkPeerMemoryFeatureFlagBits VkPeerMemoryFeatureFlagBitsKHR;
6197 typedef VkMemoryAllocateFlags VkMemoryAllocateFlagsKHR;
6199 typedef VkMemoryAllocateFlagBits VkMemoryAllocateFlagBitsKHR;
6201 typedef VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfoKHR;
6203 typedef VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfoKHR;
6205 typedef VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfoKHR;
6207 typedef VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfoKHR;
6209 typedef VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfoKHR;
6211 typedef VkBindBufferMemoryDeviceGroupInfo VkBindBufferMemoryDeviceGroupInfoKHR;
6213 typedef VkBindImageMemoryDeviceGroupInfo VkBindImageMemoryDeviceGroupInfoKHR;
6215 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR)(VkDevice device, deUint32 heapIndex, deUint32 localDeviceIndex, deUint32 remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
6216 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMaskKHR)(VkCommandBuffer commandBuffer, deUint32 deviceMask);
6217 typedef void (VKAPI_PTR *PFN_vkCmdDispatchBaseKHR)(VkCommandBuffer commandBuffer, deUint32 baseGroupX, deUint32 baseGroupY, deUint32 baseGroupZ, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ);
6219 #ifndef VK_NO_PROTOTYPES
6220 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeaturesKHR(
6223 deUint32 localDeviceIndex,
6224 deUint32 remoteDeviceIndex,
6225 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
6227 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMaskKHR(
6228 VkCommandBuffer commandBuffer,
6229 deUint32 deviceMask);
6231 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBaseKHR(
6232 VkCommandBuffer commandBuffer,
6233 deUint32 baseGroupX,
6234 deUint32 baseGroupY,
6235 deUint32 baseGroupZ,
6236 deUint32 groupCountX,
6237 deUint32 groupCountY,
6238 deUint32 groupCountZ);
6242 #define VK_KHR_shader_draw_parameters 1
6243 #define VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION 1
6244 #define VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME "VK_KHR_shader_draw_parameters"
6247 #define VK_KHR_maintenance1 1
6248 #define VK_KHR_MAINTENANCE1_SPEC_VERSION 2
6249 #define VK_KHR_MAINTENANCE1_EXTENSION_NAME "VK_KHR_maintenance1"
6250 typedef VkCommandPoolTrimFlags VkCommandPoolTrimFlagsKHR;
6252 typedef void (VKAPI_PTR *PFN_vkTrimCommandPoolKHR)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
6254 #ifndef VK_NO_PROTOTYPES
6255 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPoolKHR(
6257 VkCommandPool commandPool,
6258 VkCommandPoolTrimFlags flags);
6262 #define VK_KHR_device_group_creation 1
6263 #define VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION 1
6264 #define VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME "VK_KHR_device_group_creation"
6265 #define VK_MAX_DEVICE_GROUP_SIZE_KHR VK_MAX_DEVICE_GROUP_SIZE
6266 typedef VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupPropertiesKHR;
6268 typedef VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfoKHR;
6270 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroupsKHR)(VkInstance instance, deUint32* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
6272 #ifndef VK_NO_PROTOTYPES
6273 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroupsKHR(
6274 VkInstance instance,
6275 deUint32* pPhysicalDeviceGroupCount,
6276 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
6280 #define VK_KHR_external_memory_capabilities 1
6281 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
6282 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_memory_capabilities"
6283 #define VK_LUID_SIZE_KHR VK_LUID_SIZE
6284 typedef VkExternalMemoryHandleTypeFlags VkExternalMemoryHandleTypeFlagsKHR;
6286 typedef VkExternalMemoryHandleTypeFlagBits VkExternalMemoryHandleTypeFlagBitsKHR;
6288 typedef VkExternalMemoryFeatureFlags VkExternalMemoryFeatureFlagsKHR;
6290 typedef VkExternalMemoryFeatureFlagBits VkExternalMemoryFeatureFlagBitsKHR;
6292 typedef VkExternalMemoryProperties VkExternalMemoryPropertiesKHR;
6294 typedef VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfoKHR;
6296 typedef VkExternalImageFormatProperties VkExternalImageFormatPropertiesKHR;
6298 typedef VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfoKHR;
6300 typedef VkExternalBufferProperties VkExternalBufferPropertiesKHR;
6302 typedef VkPhysicalDeviceIDProperties VkPhysicalDeviceIDPropertiesKHR;
6304 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
6306 #ifndef VK_NO_PROTOTYPES
6307 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferPropertiesKHR(
6308 VkPhysicalDevice physicalDevice,
6309 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
6310 VkExternalBufferProperties* pExternalBufferProperties);
6314 #define VK_KHR_external_memory 1
6315 #define VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION 1
6316 #define VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME "VK_KHR_external_memory"
6317 #define VK_QUEUE_FAMILY_EXTERNAL_KHR VK_QUEUE_FAMILY_EXTERNAL
6318 typedef VkExternalMemoryImageCreateInfo VkExternalMemoryImageCreateInfoKHR;
6320 typedef VkExternalMemoryBufferCreateInfo VkExternalMemoryBufferCreateInfoKHR;
6322 typedef VkExportMemoryAllocateInfo VkExportMemoryAllocateInfoKHR;
6326 #define VK_KHR_external_memory_fd 1
6327 #define VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION 1
6328 #define VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME "VK_KHR_external_memory_fd"
6329 typedef struct VkImportMemoryFdInfoKHR {
6330 VkStructureType sType;
6332 VkExternalMemoryHandleTypeFlagBits handleType;
6334 } VkImportMemoryFdInfoKHR;
6336 typedef struct VkMemoryFdPropertiesKHR {
6337 VkStructureType sType;
6339 deUint32 memoryTypeBits;
6340 } VkMemoryFdPropertiesKHR;
6342 typedef struct VkMemoryGetFdInfoKHR {
6343 VkStructureType sType;
6345 VkDeviceMemory memory;
6346 VkExternalMemoryHandleTypeFlagBits handleType;
6347 } VkMemoryGetFdInfoKHR;
6349 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdKHR)(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd);
6350 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdPropertiesKHR)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties);
6352 #ifndef VK_NO_PROTOTYPES
6353 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdKHR(
6355 const VkMemoryGetFdInfoKHR* pGetFdInfo,
6358 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdPropertiesKHR(
6360 VkExternalMemoryHandleTypeFlagBits handleType,
6362 VkMemoryFdPropertiesKHR* pMemoryFdProperties);
6366 #define VK_KHR_external_semaphore_capabilities 1
6367 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION 1
6368 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_semaphore_capabilities"
6369 typedef VkExternalSemaphoreHandleTypeFlags VkExternalSemaphoreHandleTypeFlagsKHR;
6371 typedef VkExternalSemaphoreHandleTypeFlagBits VkExternalSemaphoreHandleTypeFlagBitsKHR;
6373 typedef VkExternalSemaphoreFeatureFlags VkExternalSemaphoreFeatureFlagsKHR;
6375 typedef VkExternalSemaphoreFeatureFlagBits VkExternalSemaphoreFeatureFlagBitsKHR;
6377 typedef VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfoKHR;
6379 typedef VkExternalSemaphoreProperties VkExternalSemaphorePropertiesKHR;
6381 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
6383 #ifndef VK_NO_PROTOTYPES
6384 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(
6385 VkPhysicalDevice physicalDevice,
6386 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
6387 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
6391 #define VK_KHR_external_semaphore 1
6392 #define VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION 1
6393 #define VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME "VK_KHR_external_semaphore"
6394 typedef VkSemaphoreImportFlags VkSemaphoreImportFlagsKHR;
6396 typedef VkSemaphoreImportFlagBits VkSemaphoreImportFlagBitsKHR;
6398 typedef VkExportSemaphoreCreateInfo VkExportSemaphoreCreateInfoKHR;
6402 #define VK_KHR_external_semaphore_fd 1
6403 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION 1
6404 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME "VK_KHR_external_semaphore_fd"
6405 typedef struct VkImportSemaphoreFdInfoKHR {
6406 VkStructureType sType;
6408 VkSemaphore semaphore;
6409 VkSemaphoreImportFlags flags;
6410 VkExternalSemaphoreHandleTypeFlagBits handleType;
6412 } VkImportSemaphoreFdInfoKHR;
6414 typedef struct VkSemaphoreGetFdInfoKHR {
6415 VkStructureType sType;
6417 VkSemaphore semaphore;
6418 VkExternalSemaphoreHandleTypeFlagBits handleType;
6419 } VkSemaphoreGetFdInfoKHR;
6421 typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreFdKHR)(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
6422 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreFdKHR)(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd);
6424 #ifndef VK_NO_PROTOTYPES
6425 VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreFdKHR(
6427 const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
6429 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreFdKHR(
6431 const VkSemaphoreGetFdInfoKHR* pGetFdInfo,
6436 #define VK_KHR_push_descriptor 1
6437 #define VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION 2
6438 #define VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME "VK_KHR_push_descriptor"
6439 typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
6440 VkStructureType sType;
6442 deUint32 maxPushDescriptors;
6443 } VkPhysicalDevicePushDescriptorPropertiesKHR;
6445 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetKHR)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 set, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites);
6446 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplateKHR)(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, deUint32 set, const void* pData);
6448 #ifndef VK_NO_PROTOTYPES
6449 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetKHR(
6450 VkCommandBuffer commandBuffer,
6451 VkPipelineBindPoint pipelineBindPoint,
6452 VkPipelineLayout layout,
6454 deUint32 descriptorWriteCount,
6455 const VkWriteDescriptorSet* pDescriptorWrites);
6457 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplateKHR(
6458 VkCommandBuffer commandBuffer,
6459 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
6460 VkPipelineLayout layout,
6466 #define VK_KHR_shader_float16_int8 1
6467 #define VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION 1
6468 #define VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME "VK_KHR_shader_float16_int8"
6469 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceShaderFloat16Int8FeaturesKHR;
6471 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceFloat16Int8FeaturesKHR;
6475 #define VK_KHR_16bit_storage 1
6476 #define VK_KHR_16BIT_STORAGE_SPEC_VERSION 1
6477 #define VK_KHR_16BIT_STORAGE_EXTENSION_NAME "VK_KHR_16bit_storage"
6478 typedef VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeaturesKHR;
6482 #define VK_KHR_incremental_present 1
6483 #define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 1
6484 #define VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME "VK_KHR_incremental_present"
6485 typedef struct VkRectLayerKHR {
6491 typedef struct VkPresentRegionKHR {
6492 deUint32 rectangleCount;
6493 const VkRectLayerKHR* pRectangles;
6494 } VkPresentRegionKHR;
6496 typedef struct VkPresentRegionsKHR {
6497 VkStructureType sType;
6499 deUint32 swapchainCount;
6500 const VkPresentRegionKHR* pRegions;
6501 } VkPresentRegionsKHR;
6505 #define VK_KHR_descriptor_update_template 1
6506 typedef VkDescriptorUpdateTemplate VkDescriptorUpdateTemplateKHR;
6508 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION 1
6509 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME "VK_KHR_descriptor_update_template"
6510 typedef VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateTypeKHR;
6512 typedef VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlagsKHR;
6514 typedef VkDescriptorUpdateTemplateEntry VkDescriptorUpdateTemplateEntryKHR;
6516 typedef VkDescriptorUpdateTemplateCreateInfo VkDescriptorUpdateTemplateCreateInfoKHR;
6518 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplateKHR)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
6519 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplateKHR)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
6520 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplateKHR)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
6522 #ifndef VK_NO_PROTOTYPES
6523 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplateKHR(
6525 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
6526 const VkAllocationCallbacks* pAllocator,
6527 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
6529 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplateKHR(
6531 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
6532 const VkAllocationCallbacks* pAllocator);
6534 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplateKHR(
6536 VkDescriptorSet descriptorSet,
6537 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
6542 #define VK_KHR_imageless_framebuffer 1
6543 #define VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION 1
6544 #define VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME "VK_KHR_imageless_framebuffer"
6545 typedef VkPhysicalDeviceImagelessFramebufferFeatures VkPhysicalDeviceImagelessFramebufferFeaturesKHR;
6547 typedef VkFramebufferAttachmentsCreateInfo VkFramebufferAttachmentsCreateInfoKHR;
6549 typedef VkFramebufferAttachmentImageInfo VkFramebufferAttachmentImageInfoKHR;
6551 typedef VkRenderPassAttachmentBeginInfo VkRenderPassAttachmentBeginInfoKHR;
6555 #define VK_KHR_create_renderpass2 1
6556 #define VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION 1
6557 #define VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME "VK_KHR_create_renderpass2"
6558 typedef VkRenderPassCreateInfo2 VkRenderPassCreateInfo2KHR;
6560 typedef VkAttachmentDescription2 VkAttachmentDescription2KHR;
6562 typedef VkAttachmentReference2 VkAttachmentReference2KHR;
6564 typedef VkSubpassDescription2 VkSubpassDescription2KHR;
6566 typedef VkSubpassDependency2 VkSubpassDependency2KHR;
6568 typedef VkSubpassBeginInfo VkSubpassBeginInfoKHR;
6570 typedef VkSubpassEndInfo VkSubpassEndInfoKHR;
6572 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2KHR)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
6573 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo);
6574 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo);
6575 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo);
6577 #ifndef VK_NO_PROTOTYPES
6578 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2KHR(
6580 const VkRenderPassCreateInfo2* pCreateInfo,
6581 const VkAllocationCallbacks* pAllocator,
6582 VkRenderPass* pRenderPass);
6584 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2KHR(
6585 VkCommandBuffer commandBuffer,
6586 const VkRenderPassBeginInfo* pRenderPassBegin,
6587 const VkSubpassBeginInfo* pSubpassBeginInfo);
6589 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2KHR(
6590 VkCommandBuffer commandBuffer,
6591 const VkSubpassBeginInfo* pSubpassBeginInfo,
6592 const VkSubpassEndInfo* pSubpassEndInfo);
6594 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2KHR(
6595 VkCommandBuffer commandBuffer,
6596 const VkSubpassEndInfo* pSubpassEndInfo);
6600 #define VK_KHR_shared_presentable_image 1
6601 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION 1
6602 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME "VK_KHR_shared_presentable_image"
6603 typedef struct VkSharedPresentSurfaceCapabilitiesKHR {
6604 VkStructureType sType;
6606 VkImageUsageFlags sharedPresentSupportedUsageFlags;
6607 } VkSharedPresentSurfaceCapabilitiesKHR;
6609 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainStatusKHR)(VkDevice device, VkSwapchainKHR swapchain);
6611 #ifndef VK_NO_PROTOTYPES
6612 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainStatusKHR(
6614 VkSwapchainKHR swapchain);
6618 #define VK_KHR_external_fence_capabilities 1
6619 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION 1
6620 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_fence_capabilities"
6621 typedef VkExternalFenceHandleTypeFlags VkExternalFenceHandleTypeFlagsKHR;
6623 typedef VkExternalFenceHandleTypeFlagBits VkExternalFenceHandleTypeFlagBitsKHR;
6625 typedef VkExternalFenceFeatureFlags VkExternalFenceFeatureFlagsKHR;
6627 typedef VkExternalFenceFeatureFlagBits VkExternalFenceFeatureFlagBitsKHR;
6629 typedef VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfoKHR;
6631 typedef VkExternalFenceProperties VkExternalFencePropertiesKHR;
6633 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
6635 #ifndef VK_NO_PROTOTYPES
6636 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFencePropertiesKHR(
6637 VkPhysicalDevice physicalDevice,
6638 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
6639 VkExternalFenceProperties* pExternalFenceProperties);
6643 #define VK_KHR_external_fence 1
6644 #define VK_KHR_EXTERNAL_FENCE_SPEC_VERSION 1
6645 #define VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME "VK_KHR_external_fence"
6646 typedef VkFenceImportFlags VkFenceImportFlagsKHR;
6648 typedef VkFenceImportFlagBits VkFenceImportFlagBitsKHR;
6650 typedef VkExportFenceCreateInfo VkExportFenceCreateInfoKHR;
6654 #define VK_KHR_external_fence_fd 1
6655 #define VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION 1
6656 #define VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME "VK_KHR_external_fence_fd"
6657 typedef struct VkImportFenceFdInfoKHR {
6658 VkStructureType sType;
6661 VkFenceImportFlags flags;
6662 VkExternalFenceHandleTypeFlagBits handleType;
6664 } VkImportFenceFdInfoKHR;
6666 typedef struct VkFenceGetFdInfoKHR {
6667 VkStructureType sType;
6670 VkExternalFenceHandleTypeFlagBits handleType;
6671 } VkFenceGetFdInfoKHR;
6673 typedef VkResult (VKAPI_PTR *PFN_vkImportFenceFdKHR)(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
6674 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceFdKHR)(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd);
6676 #ifndef VK_NO_PROTOTYPES
6677 VKAPI_ATTR VkResult VKAPI_CALL vkImportFenceFdKHR(
6679 const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
6681 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceFdKHR(
6683 const VkFenceGetFdInfoKHR* pGetFdInfo,
6688 #define VK_KHR_performance_query 1
6689 #define VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION 1
6690 #define VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME "VK_KHR_performance_query"
6692 typedef enum VkPerformanceCounterUnitKHR {
6693 VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR = 0,
6694 VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR = 1,
6695 VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR = 2,
6696 VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR = 3,
6697 VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR = 4,
6698 VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR = 5,
6699 VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR = 6,
6700 VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR = 7,
6701 VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR = 8,
6702 VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR = 9,
6703 VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR = 10,
6704 VK_PERFORMANCE_COUNTER_UNIT_MAX_ENUM_KHR = 0x7FFFFFFF
6705 } VkPerformanceCounterUnitKHR;
6707 typedef enum VkPerformanceCounterScopeKHR {
6708 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR = 0,
6709 VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR = 1,
6710 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR = 2,
6711 VK_QUERY_SCOPE_COMMAND_BUFFER_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR,
6712 VK_QUERY_SCOPE_RENDER_PASS_KHR = VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR,
6713 VK_QUERY_SCOPE_COMMAND_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR,
6714 VK_PERFORMANCE_COUNTER_SCOPE_MAX_ENUM_KHR = 0x7FFFFFFF
6715 } VkPerformanceCounterScopeKHR;
6717 typedef enum VkPerformanceCounterStorageKHR {
6718 VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR = 0,
6719 VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR = 1,
6720 VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR = 2,
6721 VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR = 3,
6722 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR = 4,
6723 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR = 5,
6724 VK_PERFORMANCE_COUNTER_STORAGE_MAX_ENUM_KHR = 0x7FFFFFFF
6725 } VkPerformanceCounterStorageKHR;
6727 typedef enum VkPerformanceCounterDescriptionFlagBitsKHR {
6728 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR = 0x00000001,
6729 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR = 0x00000002,
6730 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR,
6731 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR,
6732 VK_PERFORMANCE_COUNTER_DESCRIPTION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
6733 } VkPerformanceCounterDescriptionFlagBitsKHR;
6734 typedef VkFlags VkPerformanceCounterDescriptionFlagsKHR;
6736 typedef enum VkAcquireProfilingLockFlagBitsKHR {
6737 VK_ACQUIRE_PROFILING_LOCK_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
6738 } VkAcquireProfilingLockFlagBitsKHR;
6739 typedef VkFlags VkAcquireProfilingLockFlagsKHR;
6740 typedef struct VkPhysicalDevicePerformanceQueryFeaturesKHR {
6741 VkStructureType sType;
6743 VkBool32 performanceCounterQueryPools;
6744 VkBool32 performanceCounterMultipleQueryPools;
6745 } VkPhysicalDevicePerformanceQueryFeaturesKHR;
6747 typedef struct VkPhysicalDevicePerformanceQueryPropertiesKHR {
6748 VkStructureType sType;
6750 VkBool32 allowCommandBufferQueryCopies;
6751 } VkPhysicalDevicePerformanceQueryPropertiesKHR;
6753 typedef struct VkPerformanceCounterKHR {
6754 VkStructureType sType;
6756 VkPerformanceCounterUnitKHR unit;
6757 VkPerformanceCounterScopeKHR scope;
6758 VkPerformanceCounterStorageKHR storage;
6759 deUint8 uuid[VK_UUID_SIZE];
6760 } VkPerformanceCounterKHR;
6762 typedef struct VkPerformanceCounterDescriptionKHR {
6763 VkStructureType sType;
6765 VkPerformanceCounterDescriptionFlagsKHR flags;
6766 char name[VK_MAX_DESCRIPTION_SIZE];
6767 char category[VK_MAX_DESCRIPTION_SIZE];
6768 char description[VK_MAX_DESCRIPTION_SIZE];
6769 } VkPerformanceCounterDescriptionKHR;
6771 typedef struct VkQueryPoolPerformanceCreateInfoKHR {
6772 VkStructureType sType;
6774 deUint32 queueFamilyIndex;
6775 deUint32 counterIndexCount;
6776 const deUint32* pCounterIndices;
6777 } VkQueryPoolPerformanceCreateInfoKHR;
6779 typedef union VkPerformanceCounterResultKHR {
6786 } VkPerformanceCounterResultKHR;
6788 typedef struct VkAcquireProfilingLockInfoKHR {
6789 VkStructureType sType;
6791 VkAcquireProfilingLockFlagsKHR flags;
6793 } VkAcquireProfilingLockInfoKHR;
6795 typedef struct VkPerformanceQuerySubmitInfoKHR {
6796 VkStructureType sType;
6798 deUint32 counterPassIndex;
6799 } VkPerformanceQuerySubmitInfoKHR;
6801 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR)(VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, deUint32* pCounterCount, VkPerformanceCounterKHR* pCounters, VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
6802 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR)(VkPhysicalDevice physicalDevice, const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, deUint32* pNumPasses);
6803 typedef VkResult (VKAPI_PTR *PFN_vkAcquireProfilingLockKHR)(VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo);
6804 typedef void (VKAPI_PTR *PFN_vkReleaseProfilingLockKHR)(VkDevice device);
6806 #ifndef VK_NO_PROTOTYPES
6807 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
6808 VkPhysicalDevice physicalDevice,
6809 deUint32 queueFamilyIndex,
6810 deUint32* pCounterCount,
6811 VkPerformanceCounterKHR* pCounters,
6812 VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
6814 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
6815 VkPhysicalDevice physicalDevice,
6816 const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo,
6817 deUint32* pNumPasses);
6819 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireProfilingLockKHR(
6821 const VkAcquireProfilingLockInfoKHR* pInfo);
6823 VKAPI_ATTR void VKAPI_CALL vkReleaseProfilingLockKHR(
6828 #define VK_KHR_maintenance2 1
6829 #define VK_KHR_MAINTENANCE2_SPEC_VERSION 1
6830 #define VK_KHR_MAINTENANCE2_EXTENSION_NAME "VK_KHR_maintenance2"
6831 typedef VkPointClippingBehavior VkPointClippingBehaviorKHR;
6833 typedef VkTessellationDomainOrigin VkTessellationDomainOriginKHR;
6835 typedef VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingPropertiesKHR;
6837 typedef VkRenderPassInputAttachmentAspectCreateInfo VkRenderPassInputAttachmentAspectCreateInfoKHR;
6839 typedef VkInputAttachmentAspectReference VkInputAttachmentAspectReferenceKHR;
6841 typedef VkImageViewUsageCreateInfo VkImageViewUsageCreateInfoKHR;
6843 typedef VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfoKHR;
6847 #define VK_KHR_get_surface_capabilities2 1
6848 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION 1
6849 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME "VK_KHR_get_surface_capabilities2"
6850 typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
6851 VkStructureType sType;
6853 VkSurfaceKHR surface;
6854 } VkPhysicalDeviceSurfaceInfo2KHR;
6856 typedef struct VkSurfaceCapabilities2KHR {
6857 VkStructureType sType;
6859 VkSurfaceCapabilitiesKHR surfaceCapabilities;
6860 } VkSurfaceCapabilities2KHR;
6862 typedef struct VkSurfaceFormat2KHR {
6863 VkStructureType sType;
6865 VkSurfaceFormatKHR surfaceFormat;
6866 } VkSurfaceFormat2KHR;
6868 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
6869 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormats2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, deUint32* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats);
6871 #ifndef VK_NO_PROTOTYPES
6872 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2KHR(
6873 VkPhysicalDevice physicalDevice,
6874 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
6875 VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
6877 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormats2KHR(
6878 VkPhysicalDevice physicalDevice,
6879 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
6880 deUint32* pSurfaceFormatCount,
6881 VkSurfaceFormat2KHR* pSurfaceFormats);
6885 #define VK_KHR_variable_pointers 1
6886 #define VK_KHR_VARIABLE_POINTERS_SPEC_VERSION 1
6887 #define VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME "VK_KHR_variable_pointers"
6888 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeaturesKHR;
6890 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointersFeaturesKHR;
6894 #define VK_KHR_get_display_properties2 1
6895 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION 1
6896 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_display_properties2"
6897 typedef struct VkDisplayProperties2KHR {
6898 VkStructureType sType;
6900 VkDisplayPropertiesKHR displayProperties;
6901 } VkDisplayProperties2KHR;
6903 typedef struct VkDisplayPlaneProperties2KHR {
6904 VkStructureType sType;
6906 VkDisplayPlanePropertiesKHR displayPlaneProperties;
6907 } VkDisplayPlaneProperties2KHR;
6909 typedef struct VkDisplayModeProperties2KHR {
6910 VkStructureType sType;
6912 VkDisplayModePropertiesKHR displayModeProperties;
6913 } VkDisplayModeProperties2KHR;
6915 typedef struct VkDisplayPlaneInfo2KHR {
6916 VkStructureType sType;
6918 VkDisplayModeKHR mode;
6919 deUint32 planeIndex;
6920 } VkDisplayPlaneInfo2KHR;
6922 typedef struct VkDisplayPlaneCapabilities2KHR {
6923 VkStructureType sType;
6925 VkDisplayPlaneCapabilitiesKHR capabilities;
6926 } VkDisplayPlaneCapabilities2KHR;
6928 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayProperties2KHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayProperties2KHR* pProperties);
6929 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPlaneProperties2KHR* pProperties);
6930 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModeProperties2KHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, deUint32* pPropertyCount, VkDisplayModeProperties2KHR* pProperties);
6931 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, VkDisplayPlaneCapabilities2KHR* pCapabilities);
6933 #ifndef VK_NO_PROTOTYPES
6934 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayProperties2KHR(
6935 VkPhysicalDevice physicalDevice,
6936 deUint32* pPropertyCount,
6937 VkDisplayProperties2KHR* pProperties);
6939 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlaneProperties2KHR(
6940 VkPhysicalDevice physicalDevice,
6941 deUint32* pPropertyCount,
6942 VkDisplayPlaneProperties2KHR* pProperties);
6944 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModeProperties2KHR(
6945 VkPhysicalDevice physicalDevice,
6946 VkDisplayKHR display,
6947 deUint32* pPropertyCount,
6948 VkDisplayModeProperties2KHR* pProperties);
6950 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilities2KHR(
6951 VkPhysicalDevice physicalDevice,
6952 const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo,
6953 VkDisplayPlaneCapabilities2KHR* pCapabilities);
6957 #define VK_KHR_dedicated_allocation 1
6958 #define VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION 3
6959 #define VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_KHR_dedicated_allocation"
6960 typedef VkMemoryDedicatedRequirements VkMemoryDedicatedRequirementsKHR;
6962 typedef VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfoKHR;
6966 #define VK_KHR_storage_buffer_storage_class 1
6967 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION 1
6968 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME "VK_KHR_storage_buffer_storage_class"
6971 #define VK_KHR_relaxed_block_layout 1
6972 #define VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION 1
6973 #define VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME "VK_KHR_relaxed_block_layout"
6976 #define VK_KHR_get_memory_requirements2 1
6977 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION 1
6978 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME "VK_KHR_get_memory_requirements2"
6979 typedef VkBufferMemoryRequirementsInfo2 VkBufferMemoryRequirementsInfo2KHR;
6981 typedef VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2KHR;
6983 typedef VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2KHR;
6985 typedef VkMemoryRequirements2 VkMemoryRequirements2KHR;
6987 typedef VkSparseImageMemoryRequirements2 VkSparseImageMemoryRequirements2KHR;
6989 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2KHR)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
6990 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2KHR)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
6991 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2KHR)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
6993 #ifndef VK_NO_PROTOTYPES
6994 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2KHR(
6996 const VkImageMemoryRequirementsInfo2* pInfo,
6997 VkMemoryRequirements2* pMemoryRequirements);
6999 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2KHR(
7001 const VkBufferMemoryRequirementsInfo2* pInfo,
7002 VkMemoryRequirements2* pMemoryRequirements);
7004 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2KHR(
7006 const VkImageSparseMemoryRequirementsInfo2* pInfo,
7007 deUint32* pSparseMemoryRequirementCount,
7008 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
7012 #define VK_KHR_image_format_list 1
7013 #define VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION 1
7014 #define VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME "VK_KHR_image_format_list"
7015 typedef VkImageFormatListCreateInfo VkImageFormatListCreateInfoKHR;
7019 #define VK_KHR_sampler_ycbcr_conversion 1
7020 typedef VkSamplerYcbcrConversion VkSamplerYcbcrConversionKHR;
7022 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION 14
7023 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME "VK_KHR_sampler_ycbcr_conversion"
7024 typedef VkSamplerYcbcrModelConversion VkSamplerYcbcrModelConversionKHR;
7026 typedef VkSamplerYcbcrRange VkSamplerYcbcrRangeKHR;
7028 typedef VkChromaLocation VkChromaLocationKHR;
7030 typedef VkSamplerYcbcrConversionCreateInfo VkSamplerYcbcrConversionCreateInfoKHR;
7032 typedef VkSamplerYcbcrConversionInfo VkSamplerYcbcrConversionInfoKHR;
7034 typedef VkBindImagePlaneMemoryInfo VkBindImagePlaneMemoryInfoKHR;
7036 typedef VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfoKHR;
7038 typedef VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR;
7040 typedef VkSamplerYcbcrConversionImageFormatProperties VkSamplerYcbcrConversionImageFormatPropertiesKHR;
7042 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversionKHR)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
7043 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversionKHR)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
7045 #ifndef VK_NO_PROTOTYPES
7046 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversionKHR(
7048 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
7049 const VkAllocationCallbacks* pAllocator,
7050 VkSamplerYcbcrConversion* pYcbcrConversion);
7052 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversionKHR(
7054 VkSamplerYcbcrConversion ycbcrConversion,
7055 const VkAllocationCallbacks* pAllocator);
7059 #define VK_KHR_bind_memory2 1
7060 #define VK_KHR_BIND_MEMORY_2_SPEC_VERSION 1
7061 #define VK_KHR_BIND_MEMORY_2_EXTENSION_NAME "VK_KHR_bind_memory2"
7062 typedef VkBindBufferMemoryInfo VkBindBufferMemoryInfoKHR;
7064 typedef VkBindImageMemoryInfo VkBindImageMemoryInfoKHR;
7066 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2KHR)(VkDevice device, deUint32 bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
7067 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2KHR)(VkDevice device, deUint32 bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
7069 #ifndef VK_NO_PROTOTYPES
7070 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2KHR(
7072 deUint32 bindInfoCount,
7073 const VkBindBufferMemoryInfo* pBindInfos);
7075 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2KHR(
7077 deUint32 bindInfoCount,
7078 const VkBindImageMemoryInfo* pBindInfos);
7082 #define VK_KHR_maintenance3 1
7083 #define VK_KHR_MAINTENANCE3_SPEC_VERSION 1
7084 #define VK_KHR_MAINTENANCE3_EXTENSION_NAME "VK_KHR_maintenance3"
7085 typedef VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3PropertiesKHR;
7087 typedef VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupportKHR;
7089 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupportKHR)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
7091 #ifndef VK_NO_PROTOTYPES
7092 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupportKHR(
7094 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
7095 VkDescriptorSetLayoutSupport* pSupport);
7099 #define VK_KHR_draw_indirect_count 1
7100 #define VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION 1
7101 #define VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_KHR_draw_indirect_count"
7102 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
7103 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
7105 #ifndef VK_NO_PROTOTYPES
7106 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountKHR(
7107 VkCommandBuffer commandBuffer,
7109 VkDeviceSize offset,
7110 VkBuffer countBuffer,
7111 VkDeviceSize countBufferOffset,
7112 deUint32 maxDrawCount,
7115 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountKHR(
7116 VkCommandBuffer commandBuffer,
7118 VkDeviceSize offset,
7119 VkBuffer countBuffer,
7120 VkDeviceSize countBufferOffset,
7121 deUint32 maxDrawCount,
7126 #define VK_KHR_shader_subgroup_extended_types 1
7127 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION 1
7128 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME "VK_KHR_shader_subgroup_extended_types"
7129 typedef VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR;
7133 #define VK_KHR_8bit_storage 1
7134 #define VK_KHR_8BIT_STORAGE_SPEC_VERSION 1
7135 #define VK_KHR_8BIT_STORAGE_EXTENSION_NAME "VK_KHR_8bit_storage"
7136 typedef VkPhysicalDevice8BitStorageFeatures VkPhysicalDevice8BitStorageFeaturesKHR;
7140 #define VK_KHR_shader_atomic_int64 1
7141 #define VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION 1
7142 #define VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME "VK_KHR_shader_atomic_int64"
7143 typedef VkPhysicalDeviceShaderAtomicInt64Features VkPhysicalDeviceShaderAtomicInt64FeaturesKHR;
7147 #define VK_KHR_shader_clock 1
7148 #define VK_KHR_SHADER_CLOCK_SPEC_VERSION 1
7149 #define VK_KHR_SHADER_CLOCK_EXTENSION_NAME "VK_KHR_shader_clock"
7150 typedef struct VkPhysicalDeviceShaderClockFeaturesKHR {
7151 VkStructureType sType;
7153 VkBool32 shaderSubgroupClock;
7154 VkBool32 shaderDeviceClock;
7155 } VkPhysicalDeviceShaderClockFeaturesKHR;
7159 #define VK_KHR_driver_properties 1
7160 #define VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION 1
7161 #define VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME "VK_KHR_driver_properties"
7162 #define VK_MAX_DRIVER_NAME_SIZE_KHR VK_MAX_DRIVER_NAME_SIZE
7163 #define VK_MAX_DRIVER_INFO_SIZE_KHR VK_MAX_DRIVER_INFO_SIZE
7164 typedef VkDriverId VkDriverIdKHR;
7166 typedef VkConformanceVersion VkConformanceVersionKHR;
7168 typedef VkPhysicalDeviceDriverProperties VkPhysicalDeviceDriverPropertiesKHR;
7172 #define VK_KHR_shader_float_controls 1
7173 #define VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION 4
7174 #define VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME "VK_KHR_shader_float_controls"
7175 typedef VkShaderFloatControlsIndependence VkShaderFloatControlsIndependenceKHR;
7177 typedef VkPhysicalDeviceFloatControlsProperties VkPhysicalDeviceFloatControlsPropertiesKHR;
7181 #define VK_KHR_depth_stencil_resolve 1
7182 #define VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION 1
7183 #define VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME "VK_KHR_depth_stencil_resolve"
7184 typedef VkResolveModeFlagBits VkResolveModeFlagBitsKHR;
7186 typedef VkResolveModeFlags VkResolveModeFlagsKHR;
7188 typedef VkSubpassDescriptionDepthStencilResolve VkSubpassDescriptionDepthStencilResolveKHR;
7190 typedef VkPhysicalDeviceDepthStencilResolveProperties VkPhysicalDeviceDepthStencilResolvePropertiesKHR;
7194 #define VK_KHR_swapchain_mutable_format 1
7195 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION 1
7196 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME "VK_KHR_swapchain_mutable_format"
7199 #define VK_KHR_timeline_semaphore 1
7200 #define VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION 2
7201 #define VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME "VK_KHR_timeline_semaphore"
7202 typedef VkSemaphoreType VkSemaphoreTypeKHR;
7204 typedef VkSemaphoreWaitFlagBits VkSemaphoreWaitFlagBitsKHR;
7206 typedef VkSemaphoreWaitFlags VkSemaphoreWaitFlagsKHR;
7208 typedef VkPhysicalDeviceTimelineSemaphoreFeatures VkPhysicalDeviceTimelineSemaphoreFeaturesKHR;
7210 typedef VkPhysicalDeviceTimelineSemaphoreProperties VkPhysicalDeviceTimelineSemaphorePropertiesKHR;
7212 typedef VkSemaphoreTypeCreateInfo VkSemaphoreTypeCreateInfoKHR;
7214 typedef VkTimelineSemaphoreSubmitInfo VkTimelineSemaphoreSubmitInfoKHR;
7216 typedef VkSemaphoreWaitInfo VkSemaphoreWaitInfoKHR;
7218 typedef VkSemaphoreSignalInfo VkSemaphoreSignalInfoKHR;
7220 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValueKHR)(VkDevice device, VkSemaphore semaphore, deUint64* pValue);
7221 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphoresKHR)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, deUint64 timeout);
7222 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphoreKHR)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo);
7224 #ifndef VK_NO_PROTOTYPES
7225 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValueKHR(
7227 VkSemaphore semaphore,
7230 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphoresKHR(
7232 const VkSemaphoreWaitInfo* pWaitInfo,
7235 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphoreKHR(
7237 const VkSemaphoreSignalInfo* pSignalInfo);
7241 #define VK_KHR_vulkan_memory_model 1
7242 #define VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION 3
7243 #define VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME "VK_KHR_vulkan_memory_model"
7244 typedef VkPhysicalDeviceVulkanMemoryModelFeatures VkPhysicalDeviceVulkanMemoryModelFeaturesKHR;
7248 #define VK_KHR_shader_terminate_invocation 1
7249 #define VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION 1
7250 #define VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME "VK_KHR_shader_terminate_invocation"
7251 typedef struct VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR {
7252 VkStructureType sType;
7254 VkBool32 shaderTerminateInvocation;
7255 } VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR;
7259 #define VK_KHR_fragment_shading_rate 1
7260 #define VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION 1
7261 #define VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME "VK_KHR_fragment_shading_rate"
7263 typedef enum VkFragmentShadingRateCombinerOpKHR {
7264 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR = 0,
7265 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR = 1,
7266 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR = 2,
7267 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR = 3,
7268 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR = 4,
7269 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_ENUM_KHR = 0x7FFFFFFF
7270 } VkFragmentShadingRateCombinerOpKHR;
7271 typedef struct VkFragmentShadingRateAttachmentInfoKHR {
7272 VkStructureType sType;
7274 const VkAttachmentReference2* pFragmentShadingRateAttachment;
7275 VkExtent2D shadingRateAttachmentTexelSize;
7276 } VkFragmentShadingRateAttachmentInfoKHR;
7278 typedef struct VkPipelineFragmentShadingRateStateCreateInfoKHR {
7279 VkStructureType sType;
7281 VkExtent2D fragmentSize;
7282 VkFragmentShadingRateCombinerOpKHR combinerOps[2];
7283 } VkPipelineFragmentShadingRateStateCreateInfoKHR;
7285 typedef struct VkPhysicalDeviceFragmentShadingRateFeaturesKHR {
7286 VkStructureType sType;
7288 VkBool32 pipelineFragmentShadingRate;
7289 VkBool32 primitiveFragmentShadingRate;
7290 VkBool32 attachmentFragmentShadingRate;
7291 } VkPhysicalDeviceFragmentShadingRateFeaturesKHR;
7293 typedef struct VkPhysicalDeviceFragmentShadingRatePropertiesKHR {
7294 VkStructureType sType;
7296 VkExtent2D minFragmentShadingRateAttachmentTexelSize;
7297 VkExtent2D maxFragmentShadingRateAttachmentTexelSize;
7298 deUint32 maxFragmentShadingRateAttachmentTexelSizeAspectRatio;
7299 VkBool32 primitiveFragmentShadingRateWithMultipleViewports;
7300 VkBool32 layeredShadingRateAttachments;
7301 VkBool32 fragmentShadingRateNonTrivialCombinerOps;
7302 VkExtent2D maxFragmentSize;
7303 deUint32 maxFragmentSizeAspectRatio;
7304 deUint32 maxFragmentShadingRateCoverageSamples;
7305 VkSampleCountFlagBits maxFragmentShadingRateRasterizationSamples;
7306 VkBool32 fragmentShadingRateWithShaderDepthStencilWrites;
7307 VkBool32 fragmentShadingRateWithSampleMask;
7308 VkBool32 fragmentShadingRateWithShaderSampleMask;
7309 VkBool32 fragmentShadingRateWithConservativeRasterization;
7310 VkBool32 fragmentShadingRateWithFragmentShaderInterlock;
7311 VkBool32 fragmentShadingRateWithCustomSampleLocations;
7312 VkBool32 fragmentShadingRateStrictMultiplyCombiner;
7313 } VkPhysicalDeviceFragmentShadingRatePropertiesKHR;
7315 typedef struct VkPhysicalDeviceFragmentShadingRateKHR {
7316 VkStructureType sType;
7318 VkSampleCountFlags sampleCounts;
7319 VkExtent2D fragmentSize;
7320 } VkPhysicalDeviceFragmentShadingRateKHR;
7322 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR)(VkPhysicalDevice physicalDevice, deUint32* pFragmentShadingRateCount, VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates);
7323 typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateKHR)(VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
7325 #ifndef VK_NO_PROTOTYPES
7326 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceFragmentShadingRatesKHR(
7327 VkPhysicalDevice physicalDevice,
7328 deUint32* pFragmentShadingRateCount,
7329 VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates);
7331 VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateKHR(
7332 VkCommandBuffer commandBuffer,
7333 const VkExtent2D* pFragmentSize,
7334 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
7338 #define VK_KHR_spirv_1_4 1
7339 #define VK_KHR_SPIRV_1_4_SPEC_VERSION 1
7340 #define VK_KHR_SPIRV_1_4_EXTENSION_NAME "VK_KHR_spirv_1_4"
7343 #define VK_KHR_surface_protected_capabilities 1
7344 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION 1
7345 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME "VK_KHR_surface_protected_capabilities"
7346 typedef struct VkSurfaceProtectedCapabilitiesKHR {
7347 VkStructureType sType;
7349 VkBool32 supportsProtected;
7350 } VkSurfaceProtectedCapabilitiesKHR;
7354 #define VK_KHR_separate_depth_stencil_layouts 1
7355 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION 1
7356 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME "VK_KHR_separate_depth_stencil_layouts"
7357 typedef VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR;
7359 typedef VkAttachmentReferenceStencilLayout VkAttachmentReferenceStencilLayoutKHR;
7361 typedef VkAttachmentDescriptionStencilLayout VkAttachmentDescriptionStencilLayoutKHR;
7365 #define VK_KHR_uniform_buffer_standard_layout 1
7366 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION 1
7367 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME "VK_KHR_uniform_buffer_standard_layout"
7368 typedef VkPhysicalDeviceUniformBufferStandardLayoutFeatures VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR;
7372 #define VK_KHR_buffer_device_address 1
7373 #define VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 1
7374 #define VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_KHR_buffer_device_address"
7375 typedef VkPhysicalDeviceBufferDeviceAddressFeatures VkPhysicalDeviceBufferDeviceAddressFeaturesKHR;
7377 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoKHR;
7379 typedef VkBufferOpaqueCaptureAddressCreateInfo VkBufferOpaqueCaptureAddressCreateInfoKHR;
7381 typedef VkMemoryOpaqueCaptureAddressAllocateInfo VkMemoryOpaqueCaptureAddressAllocateInfoKHR;
7383 typedef VkDeviceMemoryOpaqueCaptureAddressInfo VkDeviceMemoryOpaqueCaptureAddressInfoKHR;
7385 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
7386 typedef deUint64 (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
7387 typedef deUint64 (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
7389 #ifndef VK_NO_PROTOTYPES
7390 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressKHR(
7392 const VkBufferDeviceAddressInfo* pInfo);
7394 VKAPI_ATTR deUint64 VKAPI_CALL vkGetBufferOpaqueCaptureAddressKHR(
7396 const VkBufferDeviceAddressInfo* pInfo);
7398 VKAPI_ATTR deUint64 VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddressKHR(
7400 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
7404 #define VK_KHR_deferred_host_operations 1
7405 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeferredOperationKHR)
7406 #define VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION 4
7407 #define VK_KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME "VK_KHR_deferred_host_operations"
7408 typedef VkResult (VKAPI_PTR *PFN_vkCreateDeferredOperationKHR)(VkDevice device, const VkAllocationCallbacks* pAllocator, VkDeferredOperationKHR* pDeferredOperation);
7409 typedef void (VKAPI_PTR *PFN_vkDestroyDeferredOperationKHR)(VkDevice device, VkDeferredOperationKHR operation, const VkAllocationCallbacks* pAllocator);
7410 typedef deUint32 (VKAPI_PTR *PFN_vkGetDeferredOperationMaxConcurrencyKHR)(VkDevice device, VkDeferredOperationKHR operation);
7411 typedef VkResult (VKAPI_PTR *PFN_vkGetDeferredOperationResultKHR)(VkDevice device, VkDeferredOperationKHR operation);
7412 typedef VkResult (VKAPI_PTR *PFN_vkDeferredOperationJoinKHR)(VkDevice device, VkDeferredOperationKHR operation);
7414 #ifndef VK_NO_PROTOTYPES
7415 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDeferredOperationKHR(
7417 const VkAllocationCallbacks* pAllocator,
7418 VkDeferredOperationKHR* pDeferredOperation);
7420 VKAPI_ATTR void VKAPI_CALL vkDestroyDeferredOperationKHR(
7422 VkDeferredOperationKHR operation,
7423 const VkAllocationCallbacks* pAllocator);
7425 VKAPI_ATTR deUint32 VKAPI_CALL vkGetDeferredOperationMaxConcurrencyKHR(
7427 VkDeferredOperationKHR operation);
7429 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeferredOperationResultKHR(
7431 VkDeferredOperationKHR operation);
7433 VKAPI_ATTR VkResult VKAPI_CALL vkDeferredOperationJoinKHR(
7435 VkDeferredOperationKHR operation);
7439 #define VK_KHR_pipeline_executable_properties 1
7440 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION 1
7441 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME "VK_KHR_pipeline_executable_properties"
7443 typedef enum VkPipelineExecutableStatisticFormatKHR {
7444 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR = 0,
7445 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR = 1,
7446 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR = 2,
7447 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR = 3,
7448 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_MAX_ENUM_KHR = 0x7FFFFFFF
7449 } VkPipelineExecutableStatisticFormatKHR;
7450 typedef struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
7451 VkStructureType sType;
7453 VkBool32 pipelineExecutableInfo;
7454 } VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR;
7456 typedef struct VkPipelineInfoKHR {
7457 VkStructureType sType;
7459 VkPipeline pipeline;
7460 } VkPipelineInfoKHR;
7462 typedef struct VkPipelineExecutablePropertiesKHR {
7463 VkStructureType sType;
7465 VkShaderStageFlags stages;
7466 char name[VK_MAX_DESCRIPTION_SIZE];
7467 char description[VK_MAX_DESCRIPTION_SIZE];
7468 deUint32 subgroupSize;
7469 } VkPipelineExecutablePropertiesKHR;
7471 typedef struct VkPipelineExecutableInfoKHR {
7472 VkStructureType sType;
7474 VkPipeline pipeline;
7475 deUint32 executableIndex;
7476 } VkPipelineExecutableInfoKHR;
7478 typedef union VkPipelineExecutableStatisticValueKHR {
7483 } VkPipelineExecutableStatisticValueKHR;
7485 typedef struct VkPipelineExecutableStatisticKHR {
7486 VkStructureType sType;
7488 char name[VK_MAX_DESCRIPTION_SIZE];
7489 char description[VK_MAX_DESCRIPTION_SIZE];
7490 VkPipelineExecutableStatisticFormatKHR format;
7491 VkPipelineExecutableStatisticValueKHR value;
7492 } VkPipelineExecutableStatisticKHR;
7494 typedef struct VkPipelineExecutableInternalRepresentationKHR {
7495 VkStructureType sType;
7497 char name[VK_MAX_DESCRIPTION_SIZE];
7498 char description[VK_MAX_DESCRIPTION_SIZE];
7502 } VkPipelineExecutableInternalRepresentationKHR;
7504 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutablePropertiesKHR)(VkDevice device, const VkPipelineInfoKHR* pPipelineInfo, deUint32* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties);
7505 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableStatisticsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, deUint32* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics);
7506 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableInternalRepresentationsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, deUint32* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
7508 #ifndef VK_NO_PROTOTYPES
7509 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutablePropertiesKHR(
7511 const VkPipelineInfoKHR* pPipelineInfo,
7512 deUint32* pExecutableCount,
7513 VkPipelineExecutablePropertiesKHR* pProperties);
7515 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableStatisticsKHR(
7517 const VkPipelineExecutableInfoKHR* pExecutableInfo,
7518 deUint32* pStatisticCount,
7519 VkPipelineExecutableStatisticKHR* pStatistics);
7521 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableInternalRepresentationsKHR(
7523 const VkPipelineExecutableInfoKHR* pExecutableInfo,
7524 deUint32* pInternalRepresentationCount,
7525 VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
7529 #define VK_KHR_pipeline_library 1
7530 #define VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION 1
7531 #define VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME "VK_KHR_pipeline_library"
7532 typedef struct VkPipelineLibraryCreateInfoKHR {
7533 VkStructureType sType;
7535 deUint32 libraryCount;
7536 const VkPipeline* pLibraries;
7537 } VkPipelineLibraryCreateInfoKHR;
7541 #define VK_KHR_shader_non_semantic_info 1
7542 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION 1
7543 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME "VK_KHR_shader_non_semantic_info"
7546 #define VK_KHR_synchronization2 1
7547 typedef deUint64 VkFlags64;
7548 #define VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION 1
7549 #define VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME "VK_KHR_synchronization2"
7550 typedef VkFlags64 VkPipelineStageFlags2KHR;
7552 // Flag bits for VkPipelineStageFlags2KHR
7553 static const VkPipelineStageFlags2KHR VK_PIPELINE_STAGE_2_NONE_KHR = 0;
7554 static const VkPipelineStageFlags2KHR VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR = 0x00000001;
7555 static const VkPipelineStageFlags2KHR VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR = 0x00000002;
7556 static const VkPipelineStageFlags2KHR VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR = 0x00000004;
7557 static const VkPipelineStageFlags2KHR VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR = 0x00000008;
7558 static const VkPipelineStageFlags2KHR VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR = 0x00000010;
7559 static const VkPipelineStageFlags2KHR VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR = 0x00000020;
7560 static const VkPipelineStageFlags2KHR VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR = 0x00000040;
7561 static const VkPipelineStageFlags2KHR VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR = 0x00000080;
7562 static const VkPipelineStageFlags2KHR VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR = 0x00000100;
7563 static const VkPipelineStageFlags2KHR VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR = 0x00000200;
7564 static const VkPipelineStageFlags2KHR VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR = 0x00000400;
7565 static const VkPipelineStageFlags2KHR VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR = 0x00000800;
7566 static const VkPipelineStageFlags2KHR VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR = 0x00001000;
7567 static const VkPipelineStageFlags2KHR VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR = 0x00001000;
7568 static const VkPipelineStageFlags2KHR VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR = 0x00002000;
7569 static const VkPipelineStageFlags2KHR VK_PIPELINE_STAGE_2_HOST_BIT_KHR = 0x00004000;
7570 static const VkPipelineStageFlags2KHR VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR = 0x00008000;
7571 static const VkPipelineStageFlags2KHR VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR = 0x00010000;
7572 static const VkPipelineStageFlags2KHR VK_PIPELINE_STAGE_2_COPY_BIT_KHR = 0x100000000ULL;
7573 static const VkPipelineStageFlags2KHR VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR = 0x200000000ULL;
7574 static const VkPipelineStageFlags2KHR VK_PIPELINE_STAGE_2_BLIT_BIT_KHR = 0x400000000ULL;
7575 static const VkPipelineStageFlags2KHR VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR = 0x800000000ULL;
7576 static const VkPipelineStageFlags2KHR VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR = 0x1000000000ULL;
7577 static const VkPipelineStageFlags2KHR VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR = 0x2000000000ULL;
7578 static const VkPipelineStageFlags2KHR VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR = 0x4000000000ULL;
7579 static const VkPipelineStageFlags2KHR VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000;
7580 static const VkPipelineStageFlags2KHR VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000;
7581 static const VkPipelineStageFlags2KHR VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV = 0x00020000;
7582 static const VkPipelineStageFlags2KHR VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000;
7583 static const VkPipelineStageFlags2KHR VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV = 0x00400000;
7584 static const VkPipelineStageFlags2KHR VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000;
7585 static const VkPipelineStageFlags2KHR VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR = 0x00200000;
7586 static const VkPipelineStageFlags2KHR VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV = 0x00200000;
7587 static const VkPipelineStageFlags2KHR VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 0x02000000;
7588 static const VkPipelineStageFlags2KHR VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000;
7589 static const VkPipelineStageFlags2KHR VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV = 0x00080000;
7590 static const VkPipelineStageFlags2KHR VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV = 0x00100000;
7592 typedef VkFlags64 VkAccessFlags2KHR;
7594 // Flag bits for VkAccessFlags2KHR
7595 static const VkAccessFlags2KHR VK_ACCESS_2_NONE_KHR = 0;
7596 static const VkAccessFlags2KHR VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR = 0x00000001;
7597 static const VkAccessFlags2KHR VK_ACCESS_2_INDEX_READ_BIT_KHR = 0x00000002;
7598 static const VkAccessFlags2KHR VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR = 0x00000004;
7599 static const VkAccessFlags2KHR VK_ACCESS_2_UNIFORM_READ_BIT_KHR = 0x00000008;
7600 static const VkAccessFlags2KHR VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR = 0x00000010;
7601 static const VkAccessFlags2KHR VK_ACCESS_2_SHADER_READ_BIT_KHR = 0x00000020;
7602 static const VkAccessFlags2KHR VK_ACCESS_2_SHADER_WRITE_BIT_KHR = 0x00000040;
7603 static const VkAccessFlags2KHR VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR = 0x00000080;
7604 static const VkAccessFlags2KHR VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR = 0x00000100;
7605 static const VkAccessFlags2KHR VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR = 0x00000200;
7606 static const VkAccessFlags2KHR VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR = 0x00000400;
7607 static const VkAccessFlags2KHR VK_ACCESS_2_TRANSFER_READ_BIT_KHR = 0x00000800;
7608 static const VkAccessFlags2KHR VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR = 0x00001000;
7609 static const VkAccessFlags2KHR VK_ACCESS_2_HOST_READ_BIT_KHR = 0x00002000;
7610 static const VkAccessFlags2KHR VK_ACCESS_2_HOST_WRITE_BIT_KHR = 0x00004000;
7611 static const VkAccessFlags2KHR VK_ACCESS_2_MEMORY_READ_BIT_KHR = 0x00008000;
7612 static const VkAccessFlags2KHR VK_ACCESS_2_MEMORY_WRITE_BIT_KHR = 0x00010000;
7613 static const VkAccessFlags2KHR VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR = 0x100000000ULL;
7614 static const VkAccessFlags2KHR VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR = 0x200000000ULL;
7615 static const VkAccessFlags2KHR VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR = 0x400000000ULL;
7616 static const VkAccessFlags2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000;
7617 static const VkAccessFlags2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000;
7618 static const VkAccessFlags2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000;
7619 static const VkAccessFlags2KHR VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000;
7620 static const VkAccessFlags2KHR VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000;
7621 static const VkAccessFlags2KHR VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000;
7622 static const VkAccessFlags2KHR VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000;
7623 static const VkAccessFlags2KHR VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000;
7624 static const VkAccessFlags2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000;
7625 static const VkAccessFlags2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000;
7626 static const VkAccessFlags2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV = 0x00200000;
7627 static const VkAccessFlags2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 0x00400000;
7628 static const VkAccessFlags2KHR VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000;
7629 static const VkAccessFlags2KHR VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000;
7632 typedef enum VkSubmitFlagBitsKHR {
7633 VK_SUBMIT_PROTECTED_BIT_KHR = 0x00000001,
7634 VK_SUBMIT_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7635 } VkSubmitFlagBitsKHR;
7636 typedef VkFlags VkSubmitFlagsKHR;
7637 typedef struct VkMemoryBarrier2KHR {
7638 VkStructureType sType;
7640 VkPipelineStageFlags2KHR srcStageMask;
7641 VkAccessFlags2KHR srcAccessMask;
7642 VkPipelineStageFlags2KHR dstStageMask;
7643 VkAccessFlags2KHR dstAccessMask;
7644 } VkMemoryBarrier2KHR;
7646 typedef struct VkBufferMemoryBarrier2KHR {
7647 VkStructureType sType;
7649 VkPipelineStageFlags2KHR srcStageMask;
7650 VkAccessFlags2KHR srcAccessMask;
7651 VkPipelineStageFlags2KHR dstStageMask;
7652 VkAccessFlags2KHR dstAccessMask;
7653 deUint32 srcQueueFamilyIndex;
7654 deUint32 dstQueueFamilyIndex;
7656 VkDeviceSize offset;
7658 } VkBufferMemoryBarrier2KHR;
7660 typedef struct VkImageMemoryBarrier2KHR {
7661 VkStructureType sType;
7663 VkPipelineStageFlags2KHR srcStageMask;
7664 VkAccessFlags2KHR srcAccessMask;
7665 VkPipelineStageFlags2KHR dstStageMask;
7666 VkAccessFlags2KHR dstAccessMask;
7667 VkImageLayout oldLayout;
7668 VkImageLayout newLayout;
7669 deUint32 srcQueueFamilyIndex;
7670 deUint32 dstQueueFamilyIndex;
7672 VkImageSubresourceRange subresourceRange;
7673 } VkImageMemoryBarrier2KHR;
7675 typedef struct VkDependencyInfoKHR {
7676 VkStructureType sType;
7678 VkDependencyFlags dependencyFlags;
7679 deUint32 memoryBarrierCount;
7680 const VkMemoryBarrier2KHR* pMemoryBarriers;
7681 deUint32 bufferMemoryBarrierCount;
7682 const VkBufferMemoryBarrier2KHR* pBufferMemoryBarriers;
7683 deUint32 imageMemoryBarrierCount;
7684 const VkImageMemoryBarrier2KHR* pImageMemoryBarriers;
7685 } VkDependencyInfoKHR;
7687 typedef struct VkSemaphoreSubmitInfoKHR {
7688 VkStructureType sType;
7690 VkSemaphore semaphore;
7692 VkPipelineStageFlags2KHR stageMask;
7693 deUint32 deviceIndex;
7694 } VkSemaphoreSubmitInfoKHR;
7696 typedef struct VkCommandBufferSubmitInfoKHR {
7697 VkStructureType sType;
7699 VkCommandBuffer commandBuffer;
7700 deUint32 deviceMask;
7701 } VkCommandBufferSubmitInfoKHR;
7703 typedef struct VkSubmitInfo2KHR {
7704 VkStructureType sType;
7706 VkSubmitFlagsKHR flags;
7707 deUint32 waitSemaphoreInfoCount;
7708 const VkSemaphoreSubmitInfoKHR* pWaitSemaphoreInfos;
7709 deUint32 commandBufferInfoCount;
7710 const VkCommandBufferSubmitInfoKHR* pCommandBufferInfos;
7711 deUint32 signalSemaphoreInfoCount;
7712 const VkSemaphoreSubmitInfoKHR* pSignalSemaphoreInfos;
7715 typedef struct VkPhysicalDeviceSynchronization2FeaturesKHR {
7716 VkStructureType sType;
7718 VkBool32 synchronization2;
7719 } VkPhysicalDeviceSynchronization2FeaturesKHR;
7721 typedef struct VkQueueFamilyCheckpointProperties2NV {
7722 VkStructureType sType;
7724 VkPipelineStageFlags2KHR checkpointExecutionStageMask;
7725 } VkQueueFamilyCheckpointProperties2NV;
7727 typedef struct VkCheckpointData2NV {
7728 VkStructureType sType;
7730 VkPipelineStageFlags2KHR stage;
7731 void* pCheckpointMarker;
7732 } VkCheckpointData2NV;
7734 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfoKHR* pDependencyInfo);
7735 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2KHR stageMask);
7736 typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents2KHR)(VkCommandBuffer commandBuffer, deUint32 eventCount, const VkEvent* pEvents, const VkDependencyInfoKHR* pDependencyInfos);
7737 typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier2KHR)(VkCommandBuffer commandBuffer, const VkDependencyInfoKHR* pDependencyInfo);
7738 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2KHR)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2KHR stage, VkQueryPool queryPool, deUint32 query);
7739 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2KHR)(VkQueue queue, deUint32 submitCount, const VkSubmitInfo2KHR* pSubmits, VkFence fence);
7740 typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarker2AMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2KHR stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, deUint32 marker);
7741 typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointData2NV)(VkQueue queue, deUint32* pCheckpointDataCount, VkCheckpointData2NV* pCheckpointData);
7743 #ifndef VK_NO_PROTOTYPES
7744 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent2KHR(
7745 VkCommandBuffer commandBuffer,
7747 const VkDependencyInfoKHR* pDependencyInfo);
7749 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent2KHR(
7750 VkCommandBuffer commandBuffer,
7752 VkPipelineStageFlags2KHR stageMask);
7754 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents2KHR(
7755 VkCommandBuffer commandBuffer,
7756 deUint32 eventCount,
7757 const VkEvent* pEvents,
7758 const VkDependencyInfoKHR* pDependencyInfos);
7760 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier2KHR(
7761 VkCommandBuffer commandBuffer,
7762 const VkDependencyInfoKHR* pDependencyInfo);
7764 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp2KHR(
7765 VkCommandBuffer commandBuffer,
7766 VkPipelineStageFlags2KHR stage,
7767 VkQueryPool queryPool,
7770 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit2KHR(
7772 deUint32 submitCount,
7773 const VkSubmitInfo2KHR* pSubmits,
7776 VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarker2AMD(
7777 VkCommandBuffer commandBuffer,
7778 VkPipelineStageFlags2KHR stage,
7780 VkDeviceSize dstOffset,
7783 VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointData2NV(
7785 deUint32* pCheckpointDataCount,
7786 VkCheckpointData2NV* pCheckpointData);
7790 #define VK_KHR_zero_initialize_workgroup_memory 1
7791 #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION 1
7792 #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME "VK_KHR_zero_initialize_workgroup_memory"
7793 typedef struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR {
7794 VkStructureType sType;
7796 VkBool32 shaderZeroInitializeWorkgroupMemory;
7797 } VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR;
7801 #define VK_KHR_workgroup_memory_explicit_layout 1
7802 #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION 1
7803 #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME "VK_KHR_workgroup_memory_explicit_layout"
7804 typedef struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {
7805 VkStructureType sType;
7807 VkBool32 workgroupMemoryExplicitLayout;
7808 VkBool32 workgroupMemoryExplicitLayoutScalarBlockLayout;
7809 VkBool32 workgroupMemoryExplicitLayout8BitAccess;
7810 VkBool32 workgroupMemoryExplicitLayout16BitAccess;
7811 } VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR;
7815 #define VK_KHR_copy_commands2 1
7816 #define VK_KHR_COPY_COMMANDS_2_SPEC_VERSION 1
7817 #define VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME "VK_KHR_copy_commands2"
7818 typedef struct VkBufferCopy2KHR {
7819 VkStructureType sType;
7821 VkDeviceSize srcOffset;
7822 VkDeviceSize dstOffset;
7826 typedef struct VkCopyBufferInfo2KHR {
7827 VkStructureType sType;
7831 deUint32 regionCount;
7832 const VkBufferCopy2KHR* pRegions;
7833 } VkCopyBufferInfo2KHR;
7835 typedef struct VkImageCopy2KHR {
7836 VkStructureType sType;
7838 VkImageSubresourceLayers srcSubresource;
7839 VkOffset3D srcOffset;
7840 VkImageSubresourceLayers dstSubresource;
7841 VkOffset3D dstOffset;
7845 typedef struct VkCopyImageInfo2KHR {
7846 VkStructureType sType;
7849 VkImageLayout srcImageLayout;
7851 VkImageLayout dstImageLayout;
7852 deUint32 regionCount;
7853 const VkImageCopy2KHR* pRegions;
7854 } VkCopyImageInfo2KHR;
7856 typedef struct VkBufferImageCopy2KHR {
7857 VkStructureType sType;
7859 VkDeviceSize bufferOffset;
7860 deUint32 bufferRowLength;
7861 deUint32 bufferImageHeight;
7862 VkImageSubresourceLayers imageSubresource;
7863 VkOffset3D imageOffset;
7864 VkExtent3D imageExtent;
7865 } VkBufferImageCopy2KHR;
7867 typedef struct VkCopyBufferToImageInfo2KHR {
7868 VkStructureType sType;
7872 VkImageLayout dstImageLayout;
7873 deUint32 regionCount;
7874 const VkBufferImageCopy2KHR* pRegions;
7875 } VkCopyBufferToImageInfo2KHR;
7877 typedef struct VkCopyImageToBufferInfo2KHR {
7878 VkStructureType sType;
7881 VkImageLayout srcImageLayout;
7883 deUint32 regionCount;
7884 const VkBufferImageCopy2KHR* pRegions;
7885 } VkCopyImageToBufferInfo2KHR;
7887 typedef struct VkImageBlit2KHR {
7888 VkStructureType sType;
7890 VkImageSubresourceLayers srcSubresource;
7891 VkOffset3D srcOffsets[2];
7892 VkImageSubresourceLayers dstSubresource;
7893 VkOffset3D dstOffsets[2];
7896 typedef struct VkBlitImageInfo2KHR {
7897 VkStructureType sType;
7900 VkImageLayout srcImageLayout;
7902 VkImageLayout dstImageLayout;
7903 deUint32 regionCount;
7904 const VkImageBlit2KHR* pRegions;
7906 } VkBlitImageInfo2KHR;
7908 typedef struct VkImageResolve2KHR {
7909 VkStructureType sType;
7911 VkImageSubresourceLayers srcSubresource;
7912 VkOffset3D srcOffset;
7913 VkImageSubresourceLayers dstSubresource;
7914 VkOffset3D dstOffset;
7916 } VkImageResolve2KHR;
7918 typedef struct VkResolveImageInfo2KHR {
7919 VkStructureType sType;
7922 VkImageLayout srcImageLayout;
7924 VkImageLayout dstImageLayout;
7925 deUint32 regionCount;
7926 const VkImageResolve2KHR* pRegions;
7927 } VkResolveImageInfo2KHR;
7929 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2KHR* pCopyBufferInfo);
7930 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2KHR* pCopyImageInfo);
7931 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2KHR* pCopyBufferToImageInfo);
7932 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2KHR* pCopyImageToBufferInfo);
7933 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage2KHR)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2KHR* pBlitImageInfo);
7934 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage2KHR)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2KHR* pResolveImageInfo);
7936 #ifndef VK_NO_PROTOTYPES
7937 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer2KHR(
7938 VkCommandBuffer commandBuffer,
7939 const VkCopyBufferInfo2KHR* pCopyBufferInfo);
7941 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage2KHR(
7942 VkCommandBuffer commandBuffer,
7943 const VkCopyImageInfo2KHR* pCopyImageInfo);
7945 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage2KHR(
7946 VkCommandBuffer commandBuffer,
7947 const VkCopyBufferToImageInfo2KHR* pCopyBufferToImageInfo);
7949 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer2KHR(
7950 VkCommandBuffer commandBuffer,
7951 const VkCopyImageToBufferInfo2KHR* pCopyImageToBufferInfo);
7953 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage2KHR(
7954 VkCommandBuffer commandBuffer,
7955 const VkBlitImageInfo2KHR* pBlitImageInfo);
7957 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage2KHR(
7958 VkCommandBuffer commandBuffer,
7959 const VkResolveImageInfo2KHR* pResolveImageInfo);
7962 #define VK_EXT_debug_report 1
7963 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT)
7964 #define VK_EXT_DEBUG_REPORT_SPEC_VERSION 9
7965 #define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report"
7967 typedef enum VkDebugReportObjectTypeEXT {
7968 VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT = 0,
7969 VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT = 1,
7970 VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT = 2,
7971 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT = 3,
7972 VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT = 4,
7973 VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT = 5,
7974 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT = 6,
7975 VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT = 7,
7976 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT = 8,
7977 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT = 9,
7978 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT = 10,
7979 VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT = 11,
7980 VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT = 12,
7981 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT = 13,
7982 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT = 14,
7983 VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT = 15,
7984 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT = 16,
7985 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT = 17,
7986 VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT = 18,
7987 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT = 19,
7988 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT = 20,
7989 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT = 21,
7990 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT = 22,
7991 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT = 23,
7992 VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT = 24,
7993 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT = 25,
7994 VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = 26,
7995 VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = 27,
7996 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT = 28,
7997 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT = 29,
7998 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = 30,
7999 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT = 33,
8000 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT = 1000156000,
8001 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT = 1000085000,
8002 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT = 1000150000,
8003 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT = 1000165000,
8004 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT,
8005 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT,
8006 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT,
8007 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT,
8008 VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
8009 } VkDebugReportObjectTypeEXT;
8011 typedef enum VkDebugReportFlagBitsEXT {
8012 VK_DEBUG_REPORT_INFORMATION_BIT_EXT = 0x00000001,
8013 VK_DEBUG_REPORT_WARNING_BIT_EXT = 0x00000002,
8014 VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = 0x00000004,
8015 VK_DEBUG_REPORT_ERROR_BIT_EXT = 0x00000008,
8016 VK_DEBUG_REPORT_DEBUG_BIT_EXT = 0x00000010,
8017 VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
8018 } VkDebugReportFlagBitsEXT;
8019 typedef VkFlags VkDebugReportFlagsEXT;
8020 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugReportCallbackEXT)(
8021 VkDebugReportFlagsEXT flags,
8022 VkDebugReportObjectTypeEXT objectType,
8025 deInt32 messageCode,
8026 const char* pLayerPrefix,
8027 const char* pMessage,
8030 typedef struct VkDebugReportCallbackCreateInfoEXT {
8031 VkStructureType sType;
8033 VkDebugReportFlagsEXT flags;
8034 PFN_vkDebugReportCallbackEXT pfnCallback;
8036 } VkDebugReportCallbackCreateInfoEXT;
8038 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugReportCallbackEXT)(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback);
8039 typedef void (VKAPI_PTR *PFN_vkDestroyDebugReportCallbackEXT)(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator);
8040 typedef void (VKAPI_PTR *PFN_vkDebugReportMessageEXT)(VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, deUint64 object, deUintptr location, deInt32 messageCode, const char* pLayerPrefix, const char* pMessage);
8042 #ifndef VK_NO_PROTOTYPES
8043 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugReportCallbackEXT(
8044 VkInstance instance,
8045 const VkDebugReportCallbackCreateInfoEXT* pCreateInfo,
8046 const VkAllocationCallbacks* pAllocator,
8047 VkDebugReportCallbackEXT* pCallback);
8049 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugReportCallbackEXT(
8050 VkInstance instance,
8051 VkDebugReportCallbackEXT callback,
8052 const VkAllocationCallbacks* pAllocator);
8054 VKAPI_ATTR void VKAPI_CALL vkDebugReportMessageEXT(
8055 VkInstance instance,
8056 VkDebugReportFlagsEXT flags,
8057 VkDebugReportObjectTypeEXT objectType,
8060 deInt32 messageCode,
8061 const char* pLayerPrefix,
8062 const char* pMessage);
8066 #define VK_NV_glsl_shader 1
8067 #define VK_NV_GLSL_SHADER_SPEC_VERSION 1
8068 #define VK_NV_GLSL_SHADER_EXTENSION_NAME "VK_NV_glsl_shader"
8071 #define VK_EXT_depth_range_unrestricted 1
8072 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION 1
8073 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME "VK_EXT_depth_range_unrestricted"
8076 #define VK_IMG_filter_cubic 1
8077 #define VK_IMG_FILTER_CUBIC_SPEC_VERSION 1
8078 #define VK_IMG_FILTER_CUBIC_EXTENSION_NAME "VK_IMG_filter_cubic"
8081 #define VK_AMD_rasterization_order 1
8082 #define VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION 1
8083 #define VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME "VK_AMD_rasterization_order"
8085 typedef enum VkRasterizationOrderAMD {
8086 VK_RASTERIZATION_ORDER_STRICT_AMD = 0,
8087 VK_RASTERIZATION_ORDER_RELAXED_AMD = 1,
8088 VK_RASTERIZATION_ORDER_MAX_ENUM_AMD = 0x7FFFFFFF
8089 } VkRasterizationOrderAMD;
8090 typedef struct VkPipelineRasterizationStateRasterizationOrderAMD {
8091 VkStructureType sType;
8093 VkRasterizationOrderAMD rasterizationOrder;
8094 } VkPipelineRasterizationStateRasterizationOrderAMD;
8098 #define VK_AMD_shader_trinary_minmax 1
8099 #define VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION 1
8100 #define VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME "VK_AMD_shader_trinary_minmax"
8103 #define VK_AMD_shader_explicit_vertex_parameter 1
8104 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION 1
8105 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME "VK_AMD_shader_explicit_vertex_parameter"
8108 #define VK_EXT_debug_marker 1
8109 #define VK_EXT_DEBUG_MARKER_SPEC_VERSION 4
8110 #define VK_EXT_DEBUG_MARKER_EXTENSION_NAME "VK_EXT_debug_marker"
8111 typedef struct VkDebugMarkerObjectNameInfoEXT {
8112 VkStructureType sType;
8114 VkDebugReportObjectTypeEXT objectType;
8116 const char* pObjectName;
8117 } VkDebugMarkerObjectNameInfoEXT;
8119 typedef struct VkDebugMarkerObjectTagInfoEXT {
8120 VkStructureType sType;
8122 VkDebugReportObjectTypeEXT objectType;
8127 } VkDebugMarkerObjectTagInfoEXT;
8129 typedef struct VkDebugMarkerMarkerInfoEXT {
8130 VkStructureType sType;
8132 const char* pMarkerName;
8134 } VkDebugMarkerMarkerInfoEXT;
8136 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectTagEXT)(VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
8137 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectNameEXT)(VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
8138 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerBeginEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
8139 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerEndEXT)(VkCommandBuffer commandBuffer);
8140 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerInsertEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
8142 #ifndef VK_NO_PROTOTYPES
8143 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectTagEXT(
8145 const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
8147 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectNameEXT(
8149 const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
8151 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerBeginEXT(
8152 VkCommandBuffer commandBuffer,
8153 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
8155 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerEndEXT(
8156 VkCommandBuffer commandBuffer);
8158 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerInsertEXT(
8159 VkCommandBuffer commandBuffer,
8160 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
8164 #define VK_AMD_gcn_shader 1
8165 #define VK_AMD_GCN_SHADER_SPEC_VERSION 1
8166 #define VK_AMD_GCN_SHADER_EXTENSION_NAME "VK_AMD_gcn_shader"
8169 #define VK_NV_dedicated_allocation 1
8170 #define VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION 1
8171 #define VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_NV_dedicated_allocation"
8172 typedef struct VkDedicatedAllocationImageCreateInfoNV {
8173 VkStructureType sType;
8175 VkBool32 dedicatedAllocation;
8176 } VkDedicatedAllocationImageCreateInfoNV;
8178 typedef struct VkDedicatedAllocationBufferCreateInfoNV {
8179 VkStructureType sType;
8181 VkBool32 dedicatedAllocation;
8182 } VkDedicatedAllocationBufferCreateInfoNV;
8184 typedef struct VkDedicatedAllocationMemoryAllocateInfoNV {
8185 VkStructureType sType;
8189 } VkDedicatedAllocationMemoryAllocateInfoNV;
8193 #define VK_EXT_transform_feedback 1
8194 #define VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION 1
8195 #define VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME "VK_EXT_transform_feedback"
8196 typedef VkFlags VkPipelineRasterizationStateStreamCreateFlagsEXT;
8197 typedef struct VkPhysicalDeviceTransformFeedbackFeaturesEXT {
8198 VkStructureType sType;
8200 VkBool32 transformFeedback;
8201 VkBool32 geometryStreams;
8202 } VkPhysicalDeviceTransformFeedbackFeaturesEXT;
8204 typedef struct VkPhysicalDeviceTransformFeedbackPropertiesEXT {
8205 VkStructureType sType;
8207 deUint32 maxTransformFeedbackStreams;
8208 deUint32 maxTransformFeedbackBuffers;
8209 VkDeviceSize maxTransformFeedbackBufferSize;
8210 deUint32 maxTransformFeedbackStreamDataSize;
8211 deUint32 maxTransformFeedbackBufferDataSize;
8212 deUint32 maxTransformFeedbackBufferDataStride;
8213 VkBool32 transformFeedbackQueries;
8214 VkBool32 transformFeedbackStreamsLinesTriangles;
8215 VkBool32 transformFeedbackRasterizationStreamSelect;
8216 VkBool32 transformFeedbackDraw;
8217 } VkPhysicalDeviceTransformFeedbackPropertiesEXT;
8219 typedef struct VkPipelineRasterizationStateStreamCreateInfoEXT {
8220 VkStructureType sType;
8222 VkPipelineRasterizationStateStreamCreateFlagsEXT flags;
8223 deUint32 rasterizationStream;
8224 } VkPipelineRasterizationStateStreamCreateInfoEXT;
8226 typedef void (VKAPI_PTR *PFN_vkCmdBindTransformFeedbackBuffersEXT)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes);
8227 typedef void (VKAPI_PTR *PFN_vkCmdBeginTransformFeedbackEXT)(VkCommandBuffer commandBuffer, deUint32 firstCounterBuffer, deUint32 counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
8228 typedef void (VKAPI_PTR *PFN_vkCmdEndTransformFeedbackEXT)(VkCommandBuffer commandBuffer, deUint32 firstCounterBuffer, deUint32 counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
8229 typedef void (VKAPI_PTR *PFN_vkCmdBeginQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, VkQueryControlFlags flags, deUint32 index);
8230 typedef void (VKAPI_PTR *PFN_vkCmdEndQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, deUint32 index);
8231 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectByteCountEXT)(VkCommandBuffer commandBuffer, deUint32 instanceCount, deUint32 firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, deUint32 counterOffset, deUint32 vertexStride);
8233 #ifndef VK_NO_PROTOTYPES
8234 VKAPI_ATTR void VKAPI_CALL vkCmdBindTransformFeedbackBuffersEXT(
8235 VkCommandBuffer commandBuffer,
8236 deUint32 firstBinding,
8237 deUint32 bindingCount,
8238 const VkBuffer* pBuffers,
8239 const VkDeviceSize* pOffsets,
8240 const VkDeviceSize* pSizes);
8242 VKAPI_ATTR void VKAPI_CALL vkCmdBeginTransformFeedbackEXT(
8243 VkCommandBuffer commandBuffer,
8244 deUint32 firstCounterBuffer,
8245 deUint32 counterBufferCount,
8246 const VkBuffer* pCounterBuffers,
8247 const VkDeviceSize* pCounterBufferOffsets);
8249 VKAPI_ATTR void VKAPI_CALL vkCmdEndTransformFeedbackEXT(
8250 VkCommandBuffer commandBuffer,
8251 deUint32 firstCounterBuffer,
8252 deUint32 counterBufferCount,
8253 const VkBuffer* pCounterBuffers,
8254 const VkDeviceSize* pCounterBufferOffsets);
8256 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQueryIndexedEXT(
8257 VkCommandBuffer commandBuffer,
8258 VkQueryPool queryPool,
8260 VkQueryControlFlags flags,
8263 VKAPI_ATTR void VKAPI_CALL vkCmdEndQueryIndexedEXT(
8264 VkCommandBuffer commandBuffer,
8265 VkQueryPool queryPool,
8269 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectByteCountEXT(
8270 VkCommandBuffer commandBuffer,
8271 deUint32 instanceCount,
8272 deUint32 firstInstance,
8273 VkBuffer counterBuffer,
8274 VkDeviceSize counterBufferOffset,
8275 deUint32 counterOffset,
8276 deUint32 vertexStride);
8280 #define VK_NVX_image_view_handle 1
8281 #define VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION 2
8282 #define VK_NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME "VK_NVX_image_view_handle"
8283 typedef struct VkImageViewHandleInfoNVX {
8284 VkStructureType sType;
8286 VkImageView imageView;
8287 VkDescriptorType descriptorType;
8289 } VkImageViewHandleInfoNVX;
8291 typedef struct VkImageViewAddressPropertiesNVX {
8292 VkStructureType sType;
8294 VkDeviceAddress deviceAddress;
8296 } VkImageViewAddressPropertiesNVX;
8298 typedef deUint32 (VKAPI_PTR *PFN_vkGetImageViewHandleNVX)(VkDevice device, const VkImageViewHandleInfoNVX* pInfo);
8299 typedef VkResult (VKAPI_PTR *PFN_vkGetImageViewAddressNVX)(VkDevice device, VkImageView imageView, VkImageViewAddressPropertiesNVX* pProperties);
8301 #ifndef VK_NO_PROTOTYPES
8302 VKAPI_ATTR deUint32 VKAPI_CALL vkGetImageViewHandleNVX(
8304 const VkImageViewHandleInfoNVX* pInfo);
8306 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageViewAddressNVX(
8308 VkImageView imageView,
8309 VkImageViewAddressPropertiesNVX* pProperties);
8313 #define VK_AMD_draw_indirect_count 1
8314 #define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 2
8315 #define VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_AMD_draw_indirect_count"
8316 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
8317 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
8319 #ifndef VK_NO_PROTOTYPES
8320 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountAMD(
8321 VkCommandBuffer commandBuffer,
8323 VkDeviceSize offset,
8324 VkBuffer countBuffer,
8325 VkDeviceSize countBufferOffset,
8326 deUint32 maxDrawCount,
8329 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountAMD(
8330 VkCommandBuffer commandBuffer,
8332 VkDeviceSize offset,
8333 VkBuffer countBuffer,
8334 VkDeviceSize countBufferOffset,
8335 deUint32 maxDrawCount,
8340 #define VK_AMD_negative_viewport_height 1
8341 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION 1
8342 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME "VK_AMD_negative_viewport_height"
8345 #define VK_AMD_gpu_shader_half_float 1
8346 #define VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION 2
8347 #define VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME "VK_AMD_gpu_shader_half_float"
8350 #define VK_AMD_shader_ballot 1
8351 #define VK_AMD_SHADER_BALLOT_SPEC_VERSION 1
8352 #define VK_AMD_SHADER_BALLOT_EXTENSION_NAME "VK_AMD_shader_ballot"
8355 #define VK_AMD_texture_gather_bias_lod 1
8356 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION 1
8357 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME "VK_AMD_texture_gather_bias_lod"
8358 typedef struct VkTextureLODGatherFormatPropertiesAMD {
8359 VkStructureType sType;
8361 VkBool32 supportsTextureGatherLODBiasAMD;
8362 } VkTextureLODGatherFormatPropertiesAMD;
8366 #define VK_AMD_shader_info 1
8367 #define VK_AMD_SHADER_INFO_SPEC_VERSION 1
8368 #define VK_AMD_SHADER_INFO_EXTENSION_NAME "VK_AMD_shader_info"
8370 typedef enum VkShaderInfoTypeAMD {
8371 VK_SHADER_INFO_TYPE_STATISTICS_AMD = 0,
8372 VK_SHADER_INFO_TYPE_BINARY_AMD = 1,
8373 VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD = 2,
8374 VK_SHADER_INFO_TYPE_MAX_ENUM_AMD = 0x7FFFFFFF
8375 } VkShaderInfoTypeAMD;
8376 typedef struct VkShaderResourceUsageAMD {
8377 deUint32 numUsedVgprs;
8378 deUint32 numUsedSgprs;
8379 deUint32 ldsSizePerLocalWorkGroup;
8380 deUintptr ldsUsageSizeInBytes;
8381 deUintptr scratchMemUsageInBytes;
8382 } VkShaderResourceUsageAMD;
8384 typedef struct VkShaderStatisticsInfoAMD {
8385 VkShaderStageFlags shaderStageMask;
8386 VkShaderResourceUsageAMD resourceUsage;
8387 deUint32 numPhysicalVgprs;
8388 deUint32 numPhysicalSgprs;
8389 deUint32 numAvailableVgprs;
8390 deUint32 numAvailableSgprs;
8391 deUint32 computeWorkGroupSize[3];
8392 } VkShaderStatisticsInfoAMD;
8394 typedef VkResult (VKAPI_PTR *PFN_vkGetShaderInfoAMD)(VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, deUintptr* pInfoSize, void* pInfo);
8396 #ifndef VK_NO_PROTOTYPES
8397 VKAPI_ATTR VkResult VKAPI_CALL vkGetShaderInfoAMD(
8399 VkPipeline pipeline,
8400 VkShaderStageFlagBits shaderStage,
8401 VkShaderInfoTypeAMD infoType,
8402 deUintptr* pInfoSize,
8407 #define VK_AMD_shader_image_load_store_lod 1
8408 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION 1
8409 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME "VK_AMD_shader_image_load_store_lod"
8412 #define VK_NV_corner_sampled_image 1
8413 #define VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION 2
8414 #define VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME "VK_NV_corner_sampled_image"
8415 typedef struct VkPhysicalDeviceCornerSampledImageFeaturesNV {
8416 VkStructureType sType;
8418 VkBool32 cornerSampledImage;
8419 } VkPhysicalDeviceCornerSampledImageFeaturesNV;
8423 #define VK_IMG_format_pvrtc 1
8424 #define VK_IMG_FORMAT_PVRTC_SPEC_VERSION 1
8425 #define VK_IMG_FORMAT_PVRTC_EXTENSION_NAME "VK_IMG_format_pvrtc"
8428 #define VK_NV_external_memory_capabilities 1
8429 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
8430 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_NV_external_memory_capabilities"
8432 typedef enum VkExternalMemoryHandleTypeFlagBitsNV {
8433 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV = 0x00000001,
8434 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV = 0x00000002,
8435 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV = 0x00000004,
8436 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV = 0x00000008,
8437 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
8438 } VkExternalMemoryHandleTypeFlagBitsNV;
8439 typedef VkFlags VkExternalMemoryHandleTypeFlagsNV;
8441 typedef enum VkExternalMemoryFeatureFlagBitsNV {
8442 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV = 0x00000001,
8443 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV = 0x00000002,
8444 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV = 0x00000004,
8445 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
8446 } VkExternalMemoryFeatureFlagBitsNV;
8447 typedef VkFlags VkExternalMemoryFeatureFlagsNV;
8448 typedef struct VkExternalImageFormatPropertiesNV {
8449 VkImageFormatProperties imageFormatProperties;
8450 VkExternalMemoryFeatureFlagsNV externalMemoryFeatures;
8451 VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes;
8452 VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes;
8453 } VkExternalImageFormatPropertiesNV;
8455 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
8457 #ifndef VK_NO_PROTOTYPES
8458 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
8459 VkPhysicalDevice physicalDevice,
8462 VkImageTiling tiling,
8463 VkImageUsageFlags usage,
8464 VkImageCreateFlags flags,
8465 VkExternalMemoryHandleTypeFlagsNV externalHandleType,
8466 VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
8470 #define VK_NV_external_memory 1
8471 #define VK_NV_EXTERNAL_MEMORY_SPEC_VERSION 1
8472 #define VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME "VK_NV_external_memory"
8473 typedef struct VkExternalMemoryImageCreateInfoNV {
8474 VkStructureType sType;
8476 VkExternalMemoryHandleTypeFlagsNV handleTypes;
8477 } VkExternalMemoryImageCreateInfoNV;
8479 typedef struct VkExportMemoryAllocateInfoNV {
8480 VkStructureType sType;
8482 VkExternalMemoryHandleTypeFlagsNV handleTypes;
8483 } VkExportMemoryAllocateInfoNV;
8487 #define VK_EXT_validation_flags 1
8488 #define VK_EXT_VALIDATION_FLAGS_SPEC_VERSION 2
8489 #define VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME "VK_EXT_validation_flags"
8491 typedef enum VkValidationCheckEXT {
8492 VK_VALIDATION_CHECK_ALL_EXT = 0,
8493 VK_VALIDATION_CHECK_SHADERS_EXT = 1,
8494 VK_VALIDATION_CHECK_MAX_ENUM_EXT = 0x7FFFFFFF
8495 } VkValidationCheckEXT;
8496 typedef struct VkValidationFlagsEXT {
8497 VkStructureType sType;
8499 deUint32 disabledValidationCheckCount;
8500 const VkValidationCheckEXT* pDisabledValidationChecks;
8501 } VkValidationFlagsEXT;
8505 #define VK_EXT_shader_subgroup_ballot 1
8506 #define VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION 1
8507 #define VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME "VK_EXT_shader_subgroup_ballot"
8510 #define VK_EXT_shader_subgroup_vote 1
8511 #define VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION 1
8512 #define VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME "VK_EXT_shader_subgroup_vote"
8515 #define VK_EXT_texture_compression_astc_hdr 1
8516 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION 1
8517 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME "VK_EXT_texture_compression_astc_hdr"
8518 typedef struct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT {
8519 VkStructureType sType;
8521 VkBool32 textureCompressionASTC_HDR;
8522 } VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT;
8526 #define VK_EXT_astc_decode_mode 1
8527 #define VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION 1
8528 #define VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME "VK_EXT_astc_decode_mode"
8529 typedef struct VkImageViewASTCDecodeModeEXT {
8530 VkStructureType sType;
8532 VkFormat decodeMode;
8533 } VkImageViewASTCDecodeModeEXT;
8535 typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT {
8536 VkStructureType sType;
8538 VkBool32 decodeModeSharedExponent;
8539 } VkPhysicalDeviceASTCDecodeFeaturesEXT;
8543 #define VK_EXT_conditional_rendering 1
8544 #define VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION 2
8545 #define VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME "VK_EXT_conditional_rendering"
8547 typedef enum VkConditionalRenderingFlagBitsEXT {
8548 VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT = 0x00000001,
8549 VK_CONDITIONAL_RENDERING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
8550 } VkConditionalRenderingFlagBitsEXT;
8551 typedef VkFlags VkConditionalRenderingFlagsEXT;
8552 typedef struct VkConditionalRenderingBeginInfoEXT {
8553 VkStructureType sType;
8556 VkDeviceSize offset;
8557 VkConditionalRenderingFlagsEXT flags;
8558 } VkConditionalRenderingBeginInfoEXT;
8560 typedef struct VkPhysicalDeviceConditionalRenderingFeaturesEXT {
8561 VkStructureType sType;
8563 VkBool32 conditionalRendering;
8564 VkBool32 inheritedConditionalRendering;
8565 } VkPhysicalDeviceConditionalRenderingFeaturesEXT;
8567 typedef struct VkCommandBufferInheritanceConditionalRenderingInfoEXT {
8568 VkStructureType sType;
8570 VkBool32 conditionalRenderingEnable;
8571 } VkCommandBufferInheritanceConditionalRenderingInfoEXT;
8573 typedef void (VKAPI_PTR *PFN_vkCmdBeginConditionalRenderingEXT)(VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
8574 typedef void (VKAPI_PTR *PFN_vkCmdEndConditionalRenderingEXT)(VkCommandBuffer commandBuffer);
8576 #ifndef VK_NO_PROTOTYPES
8577 VKAPI_ATTR void VKAPI_CALL vkCmdBeginConditionalRenderingEXT(
8578 VkCommandBuffer commandBuffer,
8579 const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
8581 VKAPI_ATTR void VKAPI_CALL vkCmdEndConditionalRenderingEXT(
8582 VkCommandBuffer commandBuffer);
8586 #define VK_NV_clip_space_w_scaling 1
8587 #define VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION 1
8588 #define VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME "VK_NV_clip_space_w_scaling"
8589 typedef struct VkViewportWScalingNV {
8592 } VkViewportWScalingNV;
8594 typedef struct VkPipelineViewportWScalingStateCreateInfoNV {
8595 VkStructureType sType;
8597 VkBool32 viewportWScalingEnable;
8598 deUint32 viewportCount;
8599 const VkViewportWScalingNV* pViewportWScalings;
8600 } VkPipelineViewportWScalingStateCreateInfoNV;
8602 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingNV)(VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkViewportWScalingNV* pViewportWScalings);
8604 #ifndef VK_NO_PROTOTYPES
8605 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWScalingNV(
8606 VkCommandBuffer commandBuffer,
8607 deUint32 firstViewport,
8608 deUint32 viewportCount,
8609 const VkViewportWScalingNV* pViewportWScalings);
8613 #define VK_EXT_direct_mode_display 1
8614 #define VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION 1
8615 #define VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME "VK_EXT_direct_mode_display"
8616 typedef VkResult (VKAPI_PTR *PFN_vkReleaseDisplayEXT)(VkPhysicalDevice physicalDevice, VkDisplayKHR display);
8618 #ifndef VK_NO_PROTOTYPES
8619 VKAPI_ATTR VkResult VKAPI_CALL vkReleaseDisplayEXT(
8620 VkPhysicalDevice physicalDevice,
8621 VkDisplayKHR display);
8625 #define VK_EXT_display_surface_counter 1
8626 #define VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION 1
8627 #define VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME "VK_EXT_display_surface_counter"
8629 typedef enum VkSurfaceCounterFlagBitsEXT {
8630 VK_SURFACE_COUNTER_VBLANK_BIT_EXT = 0x00000001,
8631 VK_SURFACE_COUNTER_VBLANK_EXT = VK_SURFACE_COUNTER_VBLANK_BIT_EXT,
8632 VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
8633 } VkSurfaceCounterFlagBitsEXT;
8634 typedef VkFlags VkSurfaceCounterFlagsEXT;
8635 typedef struct VkSurfaceCapabilities2EXT {
8636 VkStructureType sType;
8638 deUint32 minImageCount;
8639 deUint32 maxImageCount;
8640 VkExtent2D currentExtent;
8641 VkExtent2D minImageExtent;
8642 VkExtent2D maxImageExtent;
8643 deUint32 maxImageArrayLayers;
8644 VkSurfaceTransformFlagsKHR supportedTransforms;
8645 VkSurfaceTransformFlagBitsKHR currentTransform;
8646 VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
8647 VkImageUsageFlags supportedUsageFlags;
8648 VkSurfaceCounterFlagsEXT supportedSurfaceCounters;
8649 } VkSurfaceCapabilities2EXT;
8651 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
8653 #ifndef VK_NO_PROTOTYPES
8654 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2EXT(
8655 VkPhysicalDevice physicalDevice,
8656 VkSurfaceKHR surface,
8657 VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
8661 #define VK_EXT_display_control 1
8662 #define VK_EXT_DISPLAY_CONTROL_SPEC_VERSION 1
8663 #define VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME "VK_EXT_display_control"
8665 typedef enum VkDisplayPowerStateEXT {
8666 VK_DISPLAY_POWER_STATE_OFF_EXT = 0,
8667 VK_DISPLAY_POWER_STATE_SUSPEND_EXT = 1,
8668 VK_DISPLAY_POWER_STATE_ON_EXT = 2,
8669 VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT = 0x7FFFFFFF
8670 } VkDisplayPowerStateEXT;
8672 typedef enum VkDeviceEventTypeEXT {
8673 VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT = 0,
8674 VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
8675 } VkDeviceEventTypeEXT;
8677 typedef enum VkDisplayEventTypeEXT {
8678 VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT = 0,
8679 VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
8680 } VkDisplayEventTypeEXT;
8681 typedef struct VkDisplayPowerInfoEXT {
8682 VkStructureType sType;
8684 VkDisplayPowerStateEXT powerState;
8685 } VkDisplayPowerInfoEXT;
8687 typedef struct VkDeviceEventInfoEXT {
8688 VkStructureType sType;
8690 VkDeviceEventTypeEXT deviceEvent;
8691 } VkDeviceEventInfoEXT;
8693 typedef struct VkDisplayEventInfoEXT {
8694 VkStructureType sType;
8696 VkDisplayEventTypeEXT displayEvent;
8697 } VkDisplayEventInfoEXT;
8699 typedef struct VkSwapchainCounterCreateInfoEXT {
8700 VkStructureType sType;
8702 VkSurfaceCounterFlagsEXT surfaceCounters;
8703 } VkSwapchainCounterCreateInfoEXT;
8705 typedef VkResult (VKAPI_PTR *PFN_vkDisplayPowerControlEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
8706 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDeviceEventEXT)(VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
8707 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDisplayEventEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
8708 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainCounterEXT)(VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, deUint64* pCounterValue);
8710 #ifndef VK_NO_PROTOTYPES
8711 VKAPI_ATTR VkResult VKAPI_CALL vkDisplayPowerControlEXT(
8713 VkDisplayKHR display,
8714 const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
8716 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDeviceEventEXT(
8718 const VkDeviceEventInfoEXT* pDeviceEventInfo,
8719 const VkAllocationCallbacks* pAllocator,
8722 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDisplayEventEXT(
8724 VkDisplayKHR display,
8725 const VkDisplayEventInfoEXT* pDisplayEventInfo,
8726 const VkAllocationCallbacks* pAllocator,
8729 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainCounterEXT(
8731 VkSwapchainKHR swapchain,
8732 VkSurfaceCounterFlagBitsEXT counter,
8733 deUint64* pCounterValue);
8737 #define VK_GOOGLE_display_timing 1
8738 #define VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION 1
8739 #define VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME "VK_GOOGLE_display_timing"
8740 typedef struct VkRefreshCycleDurationGOOGLE {
8741 deUint64 refreshDuration;
8742 } VkRefreshCycleDurationGOOGLE;
8744 typedef struct VkPastPresentationTimingGOOGLE {
8746 deUint64 desiredPresentTime;
8747 deUint64 actualPresentTime;
8748 deUint64 earliestPresentTime;
8749 deUint64 presentMargin;
8750 } VkPastPresentationTimingGOOGLE;
8752 typedef struct VkPresentTimeGOOGLE {
8754 deUint64 desiredPresentTime;
8755 } VkPresentTimeGOOGLE;
8757 typedef struct VkPresentTimesInfoGOOGLE {
8758 VkStructureType sType;
8760 deUint32 swapchainCount;
8761 const VkPresentTimeGOOGLE* pTimes;
8762 } VkPresentTimesInfoGOOGLE;
8764 typedef VkResult (VKAPI_PTR *PFN_vkGetRefreshCycleDurationGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
8765 typedef VkResult (VKAPI_PTR *PFN_vkGetPastPresentationTimingGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, deUint32* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings);
8767 #ifndef VK_NO_PROTOTYPES
8768 VKAPI_ATTR VkResult VKAPI_CALL vkGetRefreshCycleDurationGOOGLE(
8770 VkSwapchainKHR swapchain,
8771 VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
8773 VKAPI_ATTR VkResult VKAPI_CALL vkGetPastPresentationTimingGOOGLE(
8775 VkSwapchainKHR swapchain,
8776 deUint32* pPresentationTimingCount,
8777 VkPastPresentationTimingGOOGLE* pPresentationTimings);
8781 #define VK_NV_sample_mask_override_coverage 1
8782 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION 1
8783 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME "VK_NV_sample_mask_override_coverage"
8786 #define VK_NV_geometry_shader_passthrough 1
8787 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION 1
8788 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME "VK_NV_geometry_shader_passthrough"
8791 #define VK_NV_viewport_array2 1
8792 #define VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION 1
8793 #define VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME "VK_NV_viewport_array2"
8796 #define VK_NVX_multiview_per_view_attributes 1
8797 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION 1
8798 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME "VK_NVX_multiview_per_view_attributes"
8799 typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
8800 VkStructureType sType;
8802 VkBool32 perViewPositionAllComponents;
8803 } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
8807 #define VK_NV_viewport_swizzle 1
8808 #define VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION 1
8809 #define VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME "VK_NV_viewport_swizzle"
8811 typedef enum VkViewportCoordinateSwizzleNV {
8812 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV = 0,
8813 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV = 1,
8814 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV = 2,
8815 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV = 3,
8816 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV = 4,
8817 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV = 5,
8818 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV = 6,
8819 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV = 7,
8820 VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV = 0x7FFFFFFF
8821 } VkViewportCoordinateSwizzleNV;
8822 typedef VkFlags VkPipelineViewportSwizzleStateCreateFlagsNV;
8823 typedef struct VkViewportSwizzleNV {
8824 VkViewportCoordinateSwizzleNV x;
8825 VkViewportCoordinateSwizzleNV y;
8826 VkViewportCoordinateSwizzleNV z;
8827 VkViewportCoordinateSwizzleNV w;
8828 } VkViewportSwizzleNV;
8830 typedef struct VkPipelineViewportSwizzleStateCreateInfoNV {
8831 VkStructureType sType;
8833 VkPipelineViewportSwizzleStateCreateFlagsNV flags;
8834 deUint32 viewportCount;
8835 const VkViewportSwizzleNV* pViewportSwizzles;
8836 } VkPipelineViewportSwizzleStateCreateInfoNV;
8840 #define VK_EXT_discard_rectangles 1
8841 #define VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION 1
8842 #define VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME "VK_EXT_discard_rectangles"
8844 typedef enum VkDiscardRectangleModeEXT {
8845 VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT = 0,
8846 VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT = 1,
8847 VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
8848 } VkDiscardRectangleModeEXT;
8849 typedef VkFlags VkPipelineDiscardRectangleStateCreateFlagsEXT;
8850 typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
8851 VkStructureType sType;
8853 deUint32 maxDiscardRectangles;
8854 } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
8856 typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT {
8857 VkStructureType sType;
8859 VkPipelineDiscardRectangleStateCreateFlagsEXT flags;
8860 VkDiscardRectangleModeEXT discardRectangleMode;
8861 deUint32 discardRectangleCount;
8862 const VkRect2D* pDiscardRectangles;
8863 } VkPipelineDiscardRectangleStateCreateInfoEXT;
8865 typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEXT)(VkCommandBuffer commandBuffer, deUint32 firstDiscardRectangle, deUint32 discardRectangleCount, const VkRect2D* pDiscardRectangles);
8867 #ifndef VK_NO_PROTOTYPES
8868 VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEXT(
8869 VkCommandBuffer commandBuffer,
8870 deUint32 firstDiscardRectangle,
8871 deUint32 discardRectangleCount,
8872 const VkRect2D* pDiscardRectangles);
8876 #define VK_EXT_conservative_rasterization 1
8877 #define VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION 1
8878 #define VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME "VK_EXT_conservative_rasterization"
8880 typedef enum VkConservativeRasterizationModeEXT {
8881 VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT = 0,
8882 VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT = 1,
8883 VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT = 2,
8884 VK_CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
8885 } VkConservativeRasterizationModeEXT;
8886 typedef VkFlags VkPipelineRasterizationConservativeStateCreateFlagsEXT;
8887 typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT {
8888 VkStructureType sType;
8890 float primitiveOverestimationSize;
8891 float maxExtraPrimitiveOverestimationSize;
8892 float extraPrimitiveOverestimationSizeGranularity;
8893 VkBool32 primitiveUnderestimation;
8894 VkBool32 conservativePointAndLineRasterization;
8895 VkBool32 degenerateTrianglesRasterized;
8896 VkBool32 degenerateLinesRasterized;
8897 VkBool32 fullyCoveredFragmentShaderInputVariable;
8898 VkBool32 conservativeRasterizationPostDepthCoverage;
8899 } VkPhysicalDeviceConservativeRasterizationPropertiesEXT;
8901 typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT {
8902 VkStructureType sType;
8904 VkPipelineRasterizationConservativeStateCreateFlagsEXT flags;
8905 VkConservativeRasterizationModeEXT conservativeRasterizationMode;
8906 float extraPrimitiveOverestimationSize;
8907 } VkPipelineRasterizationConservativeStateCreateInfoEXT;
8911 #define VK_EXT_depth_clip_enable 1
8912 #define VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION 1
8913 #define VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME "VK_EXT_depth_clip_enable"
8914 typedef VkFlags VkPipelineRasterizationDepthClipStateCreateFlagsEXT;
8915 typedef struct VkPhysicalDeviceDepthClipEnableFeaturesEXT {
8916 VkStructureType sType;
8918 VkBool32 depthClipEnable;
8919 } VkPhysicalDeviceDepthClipEnableFeaturesEXT;
8921 typedef struct VkPipelineRasterizationDepthClipStateCreateInfoEXT {
8922 VkStructureType sType;
8924 VkPipelineRasterizationDepthClipStateCreateFlagsEXT flags;
8925 VkBool32 depthClipEnable;
8926 } VkPipelineRasterizationDepthClipStateCreateInfoEXT;
8930 #define VK_EXT_swapchain_colorspace 1
8931 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION 4
8932 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME "VK_EXT_swapchain_colorspace"
8935 #define VK_EXT_hdr_metadata 1
8936 #define VK_EXT_HDR_METADATA_SPEC_VERSION 2
8937 #define VK_EXT_HDR_METADATA_EXTENSION_NAME "VK_EXT_hdr_metadata"
8938 typedef struct VkXYColorEXT {
8943 typedef struct VkHdrMetadataEXT {
8944 VkStructureType sType;
8946 VkXYColorEXT displayPrimaryRed;
8947 VkXYColorEXT displayPrimaryGreen;
8948 VkXYColorEXT displayPrimaryBlue;
8949 VkXYColorEXT whitePoint;
8952 float maxContentLightLevel;
8953 float maxFrameAverageLightLevel;
8956 typedef void (VKAPI_PTR *PFN_vkSetHdrMetadataEXT)(VkDevice device, deUint32 swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata);
8958 #ifndef VK_NO_PROTOTYPES
8959 VKAPI_ATTR void VKAPI_CALL vkSetHdrMetadataEXT(
8961 deUint32 swapchainCount,
8962 const VkSwapchainKHR* pSwapchains,
8963 const VkHdrMetadataEXT* pMetadata);
8967 #define VK_EXT_external_memory_dma_buf 1
8968 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION 1
8969 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME "VK_EXT_external_memory_dma_buf"
8972 #define VK_EXT_queue_family_foreign 1
8973 #define VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION 1
8974 #define VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME "VK_EXT_queue_family_foreign"
8975 #define VK_QUEUE_FAMILY_FOREIGN_EXT (~0U-2)
8978 #define VK_EXT_debug_utils 1
8979 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugUtilsMessengerEXT)
8980 #define VK_EXT_DEBUG_UTILS_SPEC_VERSION 2
8981 #define VK_EXT_DEBUG_UTILS_EXTENSION_NAME "VK_EXT_debug_utils"
8982 typedef VkFlags VkDebugUtilsMessengerCallbackDataFlagsEXT;
8984 typedef enum VkDebugUtilsMessageSeverityFlagBitsEXT {
8985 VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT = 0x00000001,
8986 VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT = 0x00000010,
8987 VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT = 0x00000100,
8988 VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT = 0x00001000,
8989 VK_DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
8990 } VkDebugUtilsMessageSeverityFlagBitsEXT;
8992 typedef enum VkDebugUtilsMessageTypeFlagBitsEXT {
8993 VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT = 0x00000001,
8994 VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT = 0x00000002,
8995 VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT = 0x00000004,
8996 VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
8997 } VkDebugUtilsMessageTypeFlagBitsEXT;
8998 typedef VkFlags VkDebugUtilsMessageTypeFlagsEXT;
8999 typedef VkFlags VkDebugUtilsMessageSeverityFlagsEXT;
9000 typedef VkFlags VkDebugUtilsMessengerCreateFlagsEXT;
9001 typedef struct VkDebugUtilsLabelEXT {
9002 VkStructureType sType;
9004 const char* pLabelName;
9006 } VkDebugUtilsLabelEXT;
9008 typedef struct VkDebugUtilsObjectNameInfoEXT {
9009 VkStructureType sType;
9011 VkObjectType objectType;
9012 deUint64 objectHandle;
9013 const char* pObjectName;
9014 } VkDebugUtilsObjectNameInfoEXT;
9016 typedef struct VkDebugUtilsMessengerCallbackDataEXT {
9017 VkStructureType sType;
9019 VkDebugUtilsMessengerCallbackDataFlagsEXT flags;
9020 const char* pMessageIdName;
9021 deInt32 messageIdNumber;
9022 const char* pMessage;
9023 deUint32 queueLabelCount;
9024 const VkDebugUtilsLabelEXT* pQueueLabels;
9025 deUint32 cmdBufLabelCount;
9026 const VkDebugUtilsLabelEXT* pCmdBufLabels;
9027 deUint32 objectCount;
9028 const VkDebugUtilsObjectNameInfoEXT* pObjects;
9029 } VkDebugUtilsMessengerCallbackDataEXT;
9031 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)(
9032 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
9033 VkDebugUtilsMessageTypeFlagsEXT messageTypes,
9034 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData,
9037 typedef struct VkDebugUtilsMessengerCreateInfoEXT {
9038 VkStructureType sType;
9040 VkDebugUtilsMessengerCreateFlagsEXT flags;
9041 VkDebugUtilsMessageSeverityFlagsEXT messageSeverity;
9042 VkDebugUtilsMessageTypeFlagsEXT messageType;
9043 PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback;
9045 } VkDebugUtilsMessengerCreateInfoEXT;
9047 typedef struct VkDebugUtilsObjectTagInfoEXT {
9048 VkStructureType sType;
9050 VkObjectType objectType;
9051 deUint64 objectHandle;
9055 } VkDebugUtilsObjectTagInfoEXT;
9057 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectNameEXT)(VkDevice device, const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
9058 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectTagEXT)(VkDevice device, const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
9059 typedef void (VKAPI_PTR *PFN_vkQueueBeginDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
9060 typedef void (VKAPI_PTR *PFN_vkQueueEndDebugUtilsLabelEXT)(VkQueue queue);
9061 typedef void (VKAPI_PTR *PFN_vkQueueInsertDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
9062 typedef void (VKAPI_PTR *PFN_vkCmdBeginDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
9063 typedef void (VKAPI_PTR *PFN_vkCmdEndDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer);
9064 typedef void (VKAPI_PTR *PFN_vkCmdInsertDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
9065 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugUtilsMessengerEXT)(VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugUtilsMessengerEXT* pMessenger);
9066 typedef void (VKAPI_PTR *PFN_vkDestroyDebugUtilsMessengerEXT)(VkInstance instance, VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks* pAllocator);
9067 typedef void (VKAPI_PTR *PFN_vkSubmitDebugUtilsMessageEXT)(VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
9069 #ifndef VK_NO_PROTOTYPES
9070 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectNameEXT(
9072 const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
9074 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectTagEXT(
9076 const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
9078 VKAPI_ATTR void VKAPI_CALL vkQueueBeginDebugUtilsLabelEXT(
9080 const VkDebugUtilsLabelEXT* pLabelInfo);
9082 VKAPI_ATTR void VKAPI_CALL vkQueueEndDebugUtilsLabelEXT(
9085 VKAPI_ATTR void VKAPI_CALL vkQueueInsertDebugUtilsLabelEXT(
9087 const VkDebugUtilsLabelEXT* pLabelInfo);
9089 VKAPI_ATTR void VKAPI_CALL vkCmdBeginDebugUtilsLabelEXT(
9090 VkCommandBuffer commandBuffer,
9091 const VkDebugUtilsLabelEXT* pLabelInfo);
9093 VKAPI_ATTR void VKAPI_CALL vkCmdEndDebugUtilsLabelEXT(
9094 VkCommandBuffer commandBuffer);
9096 VKAPI_ATTR void VKAPI_CALL vkCmdInsertDebugUtilsLabelEXT(
9097 VkCommandBuffer commandBuffer,
9098 const VkDebugUtilsLabelEXT* pLabelInfo);
9100 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugUtilsMessengerEXT(
9101 VkInstance instance,
9102 const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo,
9103 const VkAllocationCallbacks* pAllocator,
9104 VkDebugUtilsMessengerEXT* pMessenger);
9106 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugUtilsMessengerEXT(
9107 VkInstance instance,
9108 VkDebugUtilsMessengerEXT messenger,
9109 const VkAllocationCallbacks* pAllocator);
9111 VKAPI_ATTR void VKAPI_CALL vkSubmitDebugUtilsMessageEXT(
9112 VkInstance instance,
9113 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
9114 VkDebugUtilsMessageTypeFlagsEXT messageTypes,
9115 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
9119 #define VK_EXT_sampler_filter_minmax 1
9120 #define VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION 2
9121 #define VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME "VK_EXT_sampler_filter_minmax"
9122 typedef VkSamplerReductionMode VkSamplerReductionModeEXT;
9124 typedef VkSamplerReductionModeCreateInfo VkSamplerReductionModeCreateInfoEXT;
9126 typedef VkPhysicalDeviceSamplerFilterMinmaxProperties VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
9130 #define VK_AMD_gpu_shader_int16 1
9131 #define VK_AMD_GPU_SHADER_INT16_SPEC_VERSION 2
9132 #define VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME "VK_AMD_gpu_shader_int16"
9135 #define VK_AMD_mixed_attachment_samples 1
9136 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION 1
9137 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME "VK_AMD_mixed_attachment_samples"
9140 #define VK_AMD_shader_fragment_mask 1
9141 #define VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION 1
9142 #define VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME "VK_AMD_shader_fragment_mask"
9145 #define VK_EXT_inline_uniform_block 1
9146 #define VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION 1
9147 #define VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME "VK_EXT_inline_uniform_block"
9148 typedef struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT {
9149 VkStructureType sType;
9151 VkBool32 inlineUniformBlock;
9152 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind;
9153 } VkPhysicalDeviceInlineUniformBlockFeaturesEXT;
9155 typedef struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT {
9156 VkStructureType sType;
9158 deUint32 maxInlineUniformBlockSize;
9159 deUint32 maxPerStageDescriptorInlineUniformBlocks;
9160 deUint32 maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
9161 deUint32 maxDescriptorSetInlineUniformBlocks;
9162 deUint32 maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
9163 } VkPhysicalDeviceInlineUniformBlockPropertiesEXT;
9165 typedef struct VkWriteDescriptorSetInlineUniformBlockEXT {
9166 VkStructureType sType;
9170 } VkWriteDescriptorSetInlineUniformBlockEXT;
9172 typedef struct VkDescriptorPoolInlineUniformBlockCreateInfoEXT {
9173 VkStructureType sType;
9175 deUint32 maxInlineUniformBlockBindings;
9176 } VkDescriptorPoolInlineUniformBlockCreateInfoEXT;
9180 #define VK_EXT_shader_stencil_export 1
9181 #define VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION 1
9182 #define VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME "VK_EXT_shader_stencil_export"
9185 #define VK_EXT_sample_locations 1
9186 #define VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION 1
9187 #define VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME "VK_EXT_sample_locations"
9188 typedef struct VkSampleLocationEXT {
9191 } VkSampleLocationEXT;
9193 typedef struct VkSampleLocationsInfoEXT {
9194 VkStructureType sType;
9196 VkSampleCountFlagBits sampleLocationsPerPixel;
9197 VkExtent2D sampleLocationGridSize;
9198 deUint32 sampleLocationsCount;
9199 const VkSampleLocationEXT* pSampleLocations;
9200 } VkSampleLocationsInfoEXT;
9202 typedef struct VkAttachmentSampleLocationsEXT {
9203 deUint32 attachmentIndex;
9204 VkSampleLocationsInfoEXT sampleLocationsInfo;
9205 } VkAttachmentSampleLocationsEXT;
9207 typedef struct VkSubpassSampleLocationsEXT {
9208 deUint32 subpassIndex;
9209 VkSampleLocationsInfoEXT sampleLocationsInfo;
9210 } VkSubpassSampleLocationsEXT;
9212 typedef struct VkRenderPassSampleLocationsBeginInfoEXT {
9213 VkStructureType sType;
9215 deUint32 attachmentInitialSampleLocationsCount;
9216 const VkAttachmentSampleLocationsEXT* pAttachmentInitialSampleLocations;
9217 deUint32 postSubpassSampleLocationsCount;
9218 const VkSubpassSampleLocationsEXT* pPostSubpassSampleLocations;
9219 } VkRenderPassSampleLocationsBeginInfoEXT;
9221 typedef struct VkPipelineSampleLocationsStateCreateInfoEXT {
9222 VkStructureType sType;
9224 VkBool32 sampleLocationsEnable;
9225 VkSampleLocationsInfoEXT sampleLocationsInfo;
9226 } VkPipelineSampleLocationsStateCreateInfoEXT;
9228 typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT {
9229 VkStructureType sType;
9231 VkSampleCountFlags sampleLocationSampleCounts;
9232 VkExtent2D maxSampleLocationGridSize;
9233 float sampleLocationCoordinateRange[2];
9234 deUint32 sampleLocationSubPixelBits;
9235 VkBool32 variableSampleLocations;
9236 } VkPhysicalDeviceSampleLocationsPropertiesEXT;
9238 typedef struct VkMultisamplePropertiesEXT {
9239 VkStructureType sType;
9241 VkExtent2D maxSampleLocationGridSize;
9242 } VkMultisamplePropertiesEXT;
9244 typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEXT)(VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
9245 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT)(VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT* pMultisampleProperties);
9247 #ifndef VK_NO_PROTOTYPES
9248 VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleLocationsEXT(
9249 VkCommandBuffer commandBuffer,
9250 const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
9252 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMultisamplePropertiesEXT(
9253 VkPhysicalDevice physicalDevice,
9254 VkSampleCountFlagBits samples,
9255 VkMultisamplePropertiesEXT* pMultisampleProperties);
9259 #define VK_EXT_blend_operation_advanced 1
9260 #define VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION 2
9261 #define VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME "VK_EXT_blend_operation_advanced"
9263 typedef enum VkBlendOverlapEXT {
9264 VK_BLEND_OVERLAP_UNCORRELATED_EXT = 0,
9265 VK_BLEND_OVERLAP_DISJOINT_EXT = 1,
9266 VK_BLEND_OVERLAP_CONJOINT_EXT = 2,
9267 VK_BLEND_OVERLAP_MAX_ENUM_EXT = 0x7FFFFFFF
9268 } VkBlendOverlapEXT;
9269 typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
9270 VkStructureType sType;
9272 VkBool32 advancedBlendCoherentOperations;
9273 } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
9275 typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT {
9276 VkStructureType sType;
9278 deUint32 advancedBlendMaxColorAttachments;
9279 VkBool32 advancedBlendIndependentBlend;
9280 VkBool32 advancedBlendNonPremultipliedSrcColor;
9281 VkBool32 advancedBlendNonPremultipliedDstColor;
9282 VkBool32 advancedBlendCorrelatedOverlap;
9283 VkBool32 advancedBlendAllOperations;
9284 } VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT;
9286 typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT {
9287 VkStructureType sType;
9289 VkBool32 srcPremultiplied;
9290 VkBool32 dstPremultiplied;
9291 VkBlendOverlapEXT blendOverlap;
9292 } VkPipelineColorBlendAdvancedStateCreateInfoEXT;
9296 #define VK_NV_fragment_coverage_to_color 1
9297 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION 1
9298 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME "VK_NV_fragment_coverage_to_color"
9299 typedef VkFlags VkPipelineCoverageToColorStateCreateFlagsNV;
9300 typedef struct VkPipelineCoverageToColorStateCreateInfoNV {
9301 VkStructureType sType;
9303 VkPipelineCoverageToColorStateCreateFlagsNV flags;
9304 VkBool32 coverageToColorEnable;
9305 deUint32 coverageToColorLocation;
9306 } VkPipelineCoverageToColorStateCreateInfoNV;
9310 #define VK_NV_framebuffer_mixed_samples 1
9311 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION 1
9312 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME "VK_NV_framebuffer_mixed_samples"
9314 typedef enum VkCoverageModulationModeNV {
9315 VK_COVERAGE_MODULATION_MODE_NONE_NV = 0,
9316 VK_COVERAGE_MODULATION_MODE_RGB_NV = 1,
9317 VK_COVERAGE_MODULATION_MODE_ALPHA_NV = 2,
9318 VK_COVERAGE_MODULATION_MODE_RGBA_NV = 3,
9319 VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV = 0x7FFFFFFF
9320 } VkCoverageModulationModeNV;
9321 typedef VkFlags VkPipelineCoverageModulationStateCreateFlagsNV;
9322 typedef struct VkPipelineCoverageModulationStateCreateInfoNV {
9323 VkStructureType sType;
9325 VkPipelineCoverageModulationStateCreateFlagsNV flags;
9326 VkCoverageModulationModeNV coverageModulationMode;
9327 VkBool32 coverageModulationTableEnable;
9328 deUint32 coverageModulationTableCount;
9329 const float* pCoverageModulationTable;
9330 } VkPipelineCoverageModulationStateCreateInfoNV;
9334 #define VK_NV_fill_rectangle 1
9335 #define VK_NV_FILL_RECTANGLE_SPEC_VERSION 1
9336 #define VK_NV_FILL_RECTANGLE_EXTENSION_NAME "VK_NV_fill_rectangle"
9339 #define VK_NV_shader_sm_builtins 1
9340 #define VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION 1
9341 #define VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME "VK_NV_shader_sm_builtins"
9342 typedef struct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV {
9343 VkStructureType sType;
9345 deUint32 shaderSMCount;
9346 deUint32 shaderWarpsPerSM;
9347 } VkPhysicalDeviceShaderSMBuiltinsPropertiesNV;
9349 typedef struct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV {
9350 VkStructureType sType;
9352 VkBool32 shaderSMBuiltins;
9353 } VkPhysicalDeviceShaderSMBuiltinsFeaturesNV;
9357 #define VK_EXT_post_depth_coverage 1
9358 #define VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION 1
9359 #define VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME "VK_EXT_post_depth_coverage"
9362 #define VK_EXT_image_drm_format_modifier 1
9363 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION 1
9364 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME "VK_EXT_image_drm_format_modifier"
9365 typedef struct VkDrmFormatModifierPropertiesEXT {
9366 deUint64 drmFormatModifier;
9367 deUint32 drmFormatModifierPlaneCount;
9368 VkFormatFeatureFlags drmFormatModifierTilingFeatures;
9369 } VkDrmFormatModifierPropertiesEXT;
9371 typedef struct VkDrmFormatModifierPropertiesListEXT {
9372 VkStructureType sType;
9374 deUint32 drmFormatModifierCount;
9375 VkDrmFormatModifierPropertiesEXT* pDrmFormatModifierProperties;
9376 } VkDrmFormatModifierPropertiesListEXT;
9378 typedef struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT {
9379 VkStructureType sType;
9381 deUint64 drmFormatModifier;
9382 VkSharingMode sharingMode;
9383 deUint32 queueFamilyIndexCount;
9384 const deUint32* pQueueFamilyIndices;
9385 } VkPhysicalDeviceImageDrmFormatModifierInfoEXT;
9387 typedef struct VkImageDrmFormatModifierListCreateInfoEXT {
9388 VkStructureType sType;
9390 deUint32 drmFormatModifierCount;
9391 const deUint64* pDrmFormatModifiers;
9392 } VkImageDrmFormatModifierListCreateInfoEXT;
9394 typedef struct VkImageDrmFormatModifierExplicitCreateInfoEXT {
9395 VkStructureType sType;
9397 deUint64 drmFormatModifier;
9398 deUint32 drmFormatModifierPlaneCount;
9399 const VkSubresourceLayout* pPlaneLayouts;
9400 } VkImageDrmFormatModifierExplicitCreateInfoEXT;
9402 typedef struct VkImageDrmFormatModifierPropertiesEXT {
9403 VkStructureType sType;
9405 deUint64 drmFormatModifier;
9406 } VkImageDrmFormatModifierPropertiesEXT;
9408 typedef VkResult (VKAPI_PTR *PFN_vkGetImageDrmFormatModifierPropertiesEXT)(VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties);
9410 #ifndef VK_NO_PROTOTYPES
9411 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageDrmFormatModifierPropertiesEXT(
9414 VkImageDrmFormatModifierPropertiesEXT* pProperties);
9418 #define VK_EXT_validation_cache 1
9419 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkValidationCacheEXT)
9420 #define VK_EXT_VALIDATION_CACHE_SPEC_VERSION 1
9421 #define VK_EXT_VALIDATION_CACHE_EXTENSION_NAME "VK_EXT_validation_cache"
9423 typedef enum VkValidationCacheHeaderVersionEXT {
9424 VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT = 1,
9425 VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT = 0x7FFFFFFF
9426 } VkValidationCacheHeaderVersionEXT;
9427 typedef VkFlags VkValidationCacheCreateFlagsEXT;
9428 typedef struct VkValidationCacheCreateInfoEXT {
9429 VkStructureType sType;
9431 VkValidationCacheCreateFlagsEXT flags;
9432 deUintptr initialDataSize;
9433 const void* pInitialData;
9434 } VkValidationCacheCreateInfoEXT;
9436 typedef struct VkShaderModuleValidationCacheCreateInfoEXT {
9437 VkStructureType sType;
9439 VkValidationCacheEXT validationCache;
9440 } VkShaderModuleValidationCacheCreateInfoEXT;
9442 typedef VkResult (VKAPI_PTR *PFN_vkCreateValidationCacheEXT)(VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache);
9443 typedef void (VKAPI_PTR *PFN_vkDestroyValidationCacheEXT)(VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator);
9444 typedef VkResult (VKAPI_PTR *PFN_vkMergeValidationCachesEXT)(VkDevice device, VkValidationCacheEXT dstCache, deUint32 srcCacheCount, const VkValidationCacheEXT* pSrcCaches);
9445 typedef VkResult (VKAPI_PTR *PFN_vkGetValidationCacheDataEXT)(VkDevice device, VkValidationCacheEXT validationCache, deUintptr* pDataSize, void* pData);
9447 #ifndef VK_NO_PROTOTYPES
9448 VKAPI_ATTR VkResult VKAPI_CALL vkCreateValidationCacheEXT(
9450 const VkValidationCacheCreateInfoEXT* pCreateInfo,
9451 const VkAllocationCallbacks* pAllocator,
9452 VkValidationCacheEXT* pValidationCache);
9454 VKAPI_ATTR void VKAPI_CALL vkDestroyValidationCacheEXT(
9456 VkValidationCacheEXT validationCache,
9457 const VkAllocationCallbacks* pAllocator);
9459 VKAPI_ATTR VkResult VKAPI_CALL vkMergeValidationCachesEXT(
9461 VkValidationCacheEXT dstCache,
9462 deUint32 srcCacheCount,
9463 const VkValidationCacheEXT* pSrcCaches);
9465 VKAPI_ATTR VkResult VKAPI_CALL vkGetValidationCacheDataEXT(
9467 VkValidationCacheEXT validationCache,
9468 deUintptr* pDataSize,
9473 #define VK_EXT_descriptor_indexing 1
9474 #define VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION 2
9475 #define VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME "VK_EXT_descriptor_indexing"
9476 typedef VkDescriptorBindingFlagBits VkDescriptorBindingFlagBitsEXT;
9478 typedef VkDescriptorBindingFlags VkDescriptorBindingFlagsEXT;
9480 typedef VkDescriptorSetLayoutBindingFlagsCreateInfo VkDescriptorSetLayoutBindingFlagsCreateInfoEXT;
9482 typedef VkPhysicalDeviceDescriptorIndexingFeatures VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
9484 typedef VkPhysicalDeviceDescriptorIndexingProperties VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
9486 typedef VkDescriptorSetVariableDescriptorCountAllocateInfo VkDescriptorSetVariableDescriptorCountAllocateInfoEXT;
9488 typedef VkDescriptorSetVariableDescriptorCountLayoutSupport VkDescriptorSetVariableDescriptorCountLayoutSupportEXT;
9492 #define VK_EXT_shader_viewport_index_layer 1
9493 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION 1
9494 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME "VK_EXT_shader_viewport_index_layer"
9497 #define VK_NV_shading_rate_image 1
9498 #define VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION 3
9499 #define VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME "VK_NV_shading_rate_image"
9501 typedef enum VkShadingRatePaletteEntryNV {
9502 VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV = 0,
9503 VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV = 1,
9504 VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV = 2,
9505 VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV = 3,
9506 VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV = 4,
9507 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV = 5,
9508 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV = 6,
9509 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV = 7,
9510 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV = 8,
9511 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV = 9,
9512 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV = 10,
9513 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV = 11,
9514 VK_SHADING_RATE_PALETTE_ENTRY_MAX_ENUM_NV = 0x7FFFFFFF
9515 } VkShadingRatePaletteEntryNV;
9517 typedef enum VkCoarseSampleOrderTypeNV {
9518 VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV = 0,
9519 VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV = 1,
9520 VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV = 2,
9521 VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV = 3,
9522 VK_COARSE_SAMPLE_ORDER_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
9523 } VkCoarseSampleOrderTypeNV;
9524 typedef struct VkShadingRatePaletteNV {
9525 deUint32 shadingRatePaletteEntryCount;
9526 const VkShadingRatePaletteEntryNV* pShadingRatePaletteEntries;
9527 } VkShadingRatePaletteNV;
9529 typedef struct VkPipelineViewportShadingRateImageStateCreateInfoNV {
9530 VkStructureType sType;
9532 VkBool32 shadingRateImageEnable;
9533 deUint32 viewportCount;
9534 const VkShadingRatePaletteNV* pShadingRatePalettes;
9535 } VkPipelineViewportShadingRateImageStateCreateInfoNV;
9537 typedef struct VkPhysicalDeviceShadingRateImageFeaturesNV {
9538 VkStructureType sType;
9540 VkBool32 shadingRateImage;
9541 VkBool32 shadingRateCoarseSampleOrder;
9542 } VkPhysicalDeviceShadingRateImageFeaturesNV;
9544 typedef struct VkPhysicalDeviceShadingRateImagePropertiesNV {
9545 VkStructureType sType;
9547 VkExtent2D shadingRateTexelSize;
9548 deUint32 shadingRatePaletteSize;
9549 deUint32 shadingRateMaxCoarseSamples;
9550 } VkPhysicalDeviceShadingRateImagePropertiesNV;
9552 typedef struct VkCoarseSampleLocationNV {
9556 } VkCoarseSampleLocationNV;
9558 typedef struct VkCoarseSampleOrderCustomNV {
9559 VkShadingRatePaletteEntryNV shadingRate;
9560 deUint32 sampleCount;
9561 deUint32 sampleLocationCount;
9562 const VkCoarseSampleLocationNV* pSampleLocations;
9563 } VkCoarseSampleOrderCustomNV;
9565 typedef struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV {
9566 VkStructureType sType;
9568 VkCoarseSampleOrderTypeNV sampleOrderType;
9569 deUint32 customSampleOrderCount;
9570 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders;
9571 } VkPipelineViewportCoarseSampleOrderStateCreateInfoNV;
9573 typedef void (VKAPI_PTR *PFN_vkCmdBindShadingRateImageNV)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout);
9574 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportShadingRatePaletteNV)(VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkShadingRatePaletteNV* pShadingRatePalettes);
9575 typedef void (VKAPI_PTR *PFN_vkCmdSetCoarseSampleOrderNV)(VkCommandBuffer commandBuffer, VkCoarseSampleOrderTypeNV sampleOrderType, deUint32 customSampleOrderCount, const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
9577 #ifndef VK_NO_PROTOTYPES
9578 VKAPI_ATTR void VKAPI_CALL vkCmdBindShadingRateImageNV(
9579 VkCommandBuffer commandBuffer,
9580 VkImageView imageView,
9581 VkImageLayout imageLayout);
9583 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportShadingRatePaletteNV(
9584 VkCommandBuffer commandBuffer,
9585 deUint32 firstViewport,
9586 deUint32 viewportCount,
9587 const VkShadingRatePaletteNV* pShadingRatePalettes);
9589 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoarseSampleOrderNV(
9590 VkCommandBuffer commandBuffer,
9591 VkCoarseSampleOrderTypeNV sampleOrderType,
9592 deUint32 customSampleOrderCount,
9593 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
9597 #define VK_NV_ray_tracing 1
9598 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureNV)
9599 #define VK_NV_RAY_TRACING_SPEC_VERSION 3
9600 #define VK_NV_RAY_TRACING_EXTENSION_NAME "VK_NV_ray_tracing"
9601 #define VK_SHADER_UNUSED_KHR (~0U)
9602 #define VK_SHADER_UNUSED_NV VK_SHADER_UNUSED_KHR
9604 typedef enum VkRayTracingShaderGroupTypeKHR {
9605 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR = 0,
9606 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR = 1,
9607 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR = 2,
9608 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR,
9609 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR,
9610 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR,
9611 VK_RAY_TRACING_SHADER_GROUP_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
9612 } VkRayTracingShaderGroupTypeKHR;
9613 typedef VkRayTracingShaderGroupTypeKHR VkRayTracingShaderGroupTypeNV;
9616 typedef enum VkGeometryTypeKHR {
9617 VK_GEOMETRY_TYPE_TRIANGLES_KHR = 0,
9618 VK_GEOMETRY_TYPE_AABBS_KHR = 1,
9619 VK_GEOMETRY_TYPE_INSTANCES_KHR = 2,
9620 VK_GEOMETRY_TYPE_TRIANGLES_NV = VK_GEOMETRY_TYPE_TRIANGLES_KHR,
9621 VK_GEOMETRY_TYPE_AABBS_NV = VK_GEOMETRY_TYPE_AABBS_KHR,
9622 VK_GEOMETRY_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
9623 } VkGeometryTypeKHR;
9624 typedef VkGeometryTypeKHR VkGeometryTypeNV;
9627 typedef enum VkAccelerationStructureTypeKHR {
9628 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR = 0,
9629 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR = 1,
9630 VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR = 2,
9631 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR,
9632 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR,
9633 VK_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
9634 } VkAccelerationStructureTypeKHR;
9635 typedef VkAccelerationStructureTypeKHR VkAccelerationStructureTypeNV;
9638 typedef enum VkCopyAccelerationStructureModeKHR {
9639 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR = 0,
9640 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR = 1,
9641 VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR = 2,
9642 VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR = 3,
9643 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR,
9644 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR,
9645 VK_COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
9646 } VkCopyAccelerationStructureModeKHR;
9647 typedef VkCopyAccelerationStructureModeKHR VkCopyAccelerationStructureModeNV;
9650 typedef enum VkAccelerationStructureMemoryRequirementsTypeNV {
9651 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV = 0,
9652 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV = 1,
9653 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV = 2,
9654 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
9655 } VkAccelerationStructureMemoryRequirementsTypeNV;
9657 typedef enum VkGeometryFlagBitsKHR {
9658 VK_GEOMETRY_OPAQUE_BIT_KHR = 0x00000001,
9659 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR = 0x00000002,
9660 VK_GEOMETRY_OPAQUE_BIT_NV = VK_GEOMETRY_OPAQUE_BIT_KHR,
9661 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV = VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR,
9662 VK_GEOMETRY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
9663 } VkGeometryFlagBitsKHR;
9664 typedef VkFlags VkGeometryFlagsKHR;
9665 typedef VkGeometryFlagsKHR VkGeometryFlagsNV;
9667 typedef VkGeometryFlagBitsKHR VkGeometryFlagBitsNV;
9670 typedef enum VkGeometryInstanceFlagBitsKHR {
9671 VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = 0x00000001,
9672 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = 0x00000002,
9673 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 0x00000004,
9674 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 0x00000008,
9675 VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR,
9676 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR,
9677 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR,
9678 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR,
9679 VK_GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
9680 } VkGeometryInstanceFlagBitsKHR;
9681 typedef VkFlags VkGeometryInstanceFlagsKHR;
9682 typedef VkGeometryInstanceFlagsKHR VkGeometryInstanceFlagsNV;
9684 typedef VkGeometryInstanceFlagBitsKHR VkGeometryInstanceFlagBitsNV;
9687 typedef enum VkBuildAccelerationStructureFlagBitsKHR {
9688 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR = 0x00000001,
9689 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR = 0x00000002,
9690 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR = 0x00000004,
9691 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR = 0x00000008,
9692 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR = 0x00000010,
9693 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR,
9694 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR,
9695 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR,
9696 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR,
9697 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR,
9698 VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
9699 } VkBuildAccelerationStructureFlagBitsKHR;
9700 typedef VkFlags VkBuildAccelerationStructureFlagsKHR;
9701 typedef VkBuildAccelerationStructureFlagsKHR VkBuildAccelerationStructureFlagsNV;
9703 typedef VkBuildAccelerationStructureFlagBitsKHR VkBuildAccelerationStructureFlagBitsNV;
9705 typedef struct VkRayTracingShaderGroupCreateInfoNV {
9706 VkStructureType sType;
9708 VkRayTracingShaderGroupTypeKHR type;
9709 deUint32 generalShader;
9710 deUint32 closestHitShader;
9711 deUint32 anyHitShader;
9712 deUint32 intersectionShader;
9713 } VkRayTracingShaderGroupCreateInfoNV;
9715 typedef struct VkRayTracingPipelineCreateInfoNV {
9716 VkStructureType sType;
9718 VkPipelineCreateFlags flags;
9719 deUint32 stageCount;
9720 const VkPipelineShaderStageCreateInfo* pStages;
9721 deUint32 groupCount;
9722 const VkRayTracingShaderGroupCreateInfoNV* pGroups;
9723 deUint32 maxRecursionDepth;
9724 VkPipelineLayout layout;
9725 VkPipeline basePipelineHandle;
9726 deInt32 basePipelineIndex;
9727 } VkRayTracingPipelineCreateInfoNV;
9729 typedef struct VkGeometryTrianglesNV {
9730 VkStructureType sType;
9732 VkBuffer vertexData;
9733 VkDeviceSize vertexOffset;
9734 deUint32 vertexCount;
9735 VkDeviceSize vertexStride;
9736 VkFormat vertexFormat;
9738 VkDeviceSize indexOffset;
9739 deUint32 indexCount;
9740 VkIndexType indexType;
9741 VkBuffer transformData;
9742 VkDeviceSize transformOffset;
9743 } VkGeometryTrianglesNV;
9745 typedef struct VkGeometryAABBNV {
9746 VkStructureType sType;
9751 VkDeviceSize offset;
9754 typedef struct VkGeometryDataNV {
9755 VkGeometryTrianglesNV triangles;
9756 VkGeometryAABBNV aabbs;
9759 typedef struct VkGeometryNV {
9760 VkStructureType sType;
9762 VkGeometryTypeKHR geometryType;
9763 VkGeometryDataNV geometry;
9764 VkGeometryFlagsKHR flags;
9767 typedef struct VkAccelerationStructureInfoNV {
9768 VkStructureType sType;
9770 VkAccelerationStructureTypeNV type;
9771 VkBuildAccelerationStructureFlagsNV flags;
9772 deUint32 instanceCount;
9773 deUint32 geometryCount;
9774 const VkGeometryNV* pGeometries;
9775 } VkAccelerationStructureInfoNV;
9777 typedef struct VkAccelerationStructureCreateInfoNV {
9778 VkStructureType sType;
9780 VkDeviceSize compactedSize;
9781 VkAccelerationStructureInfoNV info;
9782 } VkAccelerationStructureCreateInfoNV;
9784 typedef struct VkBindAccelerationStructureMemoryInfoNV {
9785 VkStructureType sType;
9787 VkAccelerationStructureNV accelerationStructure;
9788 VkDeviceMemory memory;
9789 VkDeviceSize memoryOffset;
9790 deUint32 deviceIndexCount;
9791 const deUint32* pDeviceIndices;
9792 } VkBindAccelerationStructureMemoryInfoNV;
9794 typedef struct VkWriteDescriptorSetAccelerationStructureNV {
9795 VkStructureType sType;
9797 deUint32 accelerationStructureCount;
9798 const VkAccelerationStructureNV* pAccelerationStructures;
9799 } VkWriteDescriptorSetAccelerationStructureNV;
9801 typedef struct VkAccelerationStructureMemoryRequirementsInfoNV {
9802 VkStructureType sType;
9804 VkAccelerationStructureMemoryRequirementsTypeNV type;
9805 VkAccelerationStructureNV accelerationStructure;
9806 } VkAccelerationStructureMemoryRequirementsInfoNV;
9808 typedef struct VkPhysicalDeviceRayTracingPropertiesNV {
9809 VkStructureType sType;
9811 deUint32 shaderGroupHandleSize;
9812 deUint32 maxRecursionDepth;
9813 deUint32 maxShaderGroupStride;
9814 deUint32 shaderGroupBaseAlignment;
9815 deUint64 maxGeometryCount;
9816 deUint64 maxInstanceCount;
9817 deUint64 maxTriangleCount;
9818 deUint32 maxDescriptorSetAccelerationStructures;
9819 } VkPhysicalDeviceRayTracingPropertiesNV;
9821 typedef struct VkTransformMatrixKHR {
9823 } VkTransformMatrixKHR;
9825 typedef VkTransformMatrixKHR VkTransformMatrixNV;
9827 typedef struct VkAabbPositionsKHR {
9834 } VkAabbPositionsKHR;
9836 typedef VkAabbPositionsKHR VkAabbPositionsNV;
9838 typedef struct VkAccelerationStructureInstanceKHR {
9839 VkTransformMatrixKHR transform;
9840 deUint32 instanceCustomIndex:24;
9842 deUint32 instanceShaderBindingTableRecordOffset:24;
9843 VkGeometryInstanceFlagsKHR flags:8;
9844 deUint64 accelerationStructureReference;
9845 } VkAccelerationStructureInstanceKHR;
9847 typedef VkAccelerationStructureInstanceKHR VkAccelerationStructureInstanceNV;
9849 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureNV)(VkDevice device, const VkAccelerationStructureCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureNV* pAccelerationStructure);
9850 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, const VkAllocationCallbacks* pAllocator);
9851 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureMemoryRequirementsNV)(VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements);
9852 typedef VkResult (VKAPI_PTR *PFN_vkBindAccelerationStructureMemoryNV)(VkDevice device, deUint32 bindInfoCount, const VkBindAccelerationStructureMemoryInfoNV* pBindInfos);
9853 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);
9854 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureNV)(VkCommandBuffer commandBuffer, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkCopyAccelerationStructureModeKHR mode);
9855 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);
9856 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesNV)(VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkRayTracingPipelineCreateInfoNV* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
9857 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, deUint32 firstGroup, deUint32 groupCount, deUintptr dataSize, void* pData);
9858 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesNV)(VkDevice device, VkPipeline pipeline, deUint32 firstGroup, deUint32 groupCount, deUintptr dataSize, void* pData);
9859 typedef VkResult (VKAPI_PTR *PFN_vkGetAccelerationStructureHandleNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, deUintptr dataSize, void* pData);
9860 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesNV)(VkCommandBuffer commandBuffer, deUint32 accelerationStructureCount, const VkAccelerationStructureNV* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, deUint32 firstQuery);
9861 typedef VkResult (VKAPI_PTR *PFN_vkCompileDeferredNV)(VkDevice device, VkPipeline pipeline, deUint32 shader);
9863 #ifndef VK_NO_PROTOTYPES
9864 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureNV(
9866 const VkAccelerationStructureCreateInfoNV* pCreateInfo,
9867 const VkAllocationCallbacks* pAllocator,
9868 VkAccelerationStructureNV* pAccelerationStructure);
9870 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureNV(
9872 VkAccelerationStructureNV accelerationStructure,
9873 const VkAllocationCallbacks* pAllocator);
9875 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureMemoryRequirementsNV(
9877 const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo,
9878 VkMemoryRequirements2KHR* pMemoryRequirements);
9880 VKAPI_ATTR VkResult VKAPI_CALL vkBindAccelerationStructureMemoryNV(
9882 deUint32 bindInfoCount,
9883 const VkBindAccelerationStructureMemoryInfoNV* pBindInfos);
9885 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructureNV(
9886 VkCommandBuffer commandBuffer,
9887 const VkAccelerationStructureInfoNV* pInfo,
9888 VkBuffer instanceData,
9889 VkDeviceSize instanceOffset,
9891 VkAccelerationStructureNV dst,
9892 VkAccelerationStructureNV src,
9894 VkDeviceSize scratchOffset);
9896 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureNV(
9897 VkCommandBuffer commandBuffer,
9898 VkAccelerationStructureNV dst,
9899 VkAccelerationStructureNV src,
9900 VkCopyAccelerationStructureModeKHR mode);
9902 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysNV(
9903 VkCommandBuffer commandBuffer,
9904 VkBuffer raygenShaderBindingTableBuffer,
9905 VkDeviceSize raygenShaderBindingOffset,
9906 VkBuffer missShaderBindingTableBuffer,
9907 VkDeviceSize missShaderBindingOffset,
9908 VkDeviceSize missShaderBindingStride,
9909 VkBuffer hitShaderBindingTableBuffer,
9910 VkDeviceSize hitShaderBindingOffset,
9911 VkDeviceSize hitShaderBindingStride,
9912 VkBuffer callableShaderBindingTableBuffer,
9913 VkDeviceSize callableShaderBindingOffset,
9914 VkDeviceSize callableShaderBindingStride,
9919 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesNV(
9921 VkPipelineCache pipelineCache,
9922 deUint32 createInfoCount,
9923 const VkRayTracingPipelineCreateInfoNV* pCreateInfos,
9924 const VkAllocationCallbacks* pAllocator,
9925 VkPipeline* pPipelines);
9927 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesKHR(
9929 VkPipeline pipeline,
9930 deUint32 firstGroup,
9931 deUint32 groupCount,
9935 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesNV(
9937 VkPipeline pipeline,
9938 deUint32 firstGroup,
9939 deUint32 groupCount,
9943 VKAPI_ATTR VkResult VKAPI_CALL vkGetAccelerationStructureHandleNV(
9945 VkAccelerationStructureNV accelerationStructure,
9949 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesNV(
9950 VkCommandBuffer commandBuffer,
9951 deUint32 accelerationStructureCount,
9952 const VkAccelerationStructureNV* pAccelerationStructures,
9953 VkQueryType queryType,
9954 VkQueryPool queryPool,
9955 deUint32 firstQuery);
9957 VKAPI_ATTR VkResult VKAPI_CALL vkCompileDeferredNV(
9959 VkPipeline pipeline,
9964 #define VK_NV_representative_fragment_test 1
9965 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION 2
9966 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME "VK_NV_representative_fragment_test"
9967 typedef struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV {
9968 VkStructureType sType;
9970 VkBool32 representativeFragmentTest;
9971 } VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV;
9973 typedef struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV {
9974 VkStructureType sType;
9976 VkBool32 representativeFragmentTestEnable;
9977 } VkPipelineRepresentativeFragmentTestStateCreateInfoNV;
9981 #define VK_EXT_filter_cubic 1
9982 #define VK_EXT_FILTER_CUBIC_SPEC_VERSION 3
9983 #define VK_EXT_FILTER_CUBIC_EXTENSION_NAME "VK_EXT_filter_cubic"
9984 typedef struct VkPhysicalDeviceImageViewImageFormatInfoEXT {
9985 VkStructureType sType;
9987 VkImageViewType imageViewType;
9988 } VkPhysicalDeviceImageViewImageFormatInfoEXT;
9990 typedef struct VkFilterCubicImageViewImageFormatPropertiesEXT {
9991 VkStructureType sType;
9993 VkBool32 filterCubic;
9994 VkBool32 filterCubicMinmax;
9995 } VkFilterCubicImageViewImageFormatPropertiesEXT;
9999 #define VK_QCOM_render_pass_shader_resolve 1
10000 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_SPEC_VERSION 4
10001 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_EXTENSION_NAME "VK_QCOM_render_pass_shader_resolve"
10004 #define VK_EXT_global_priority 1
10005 #define VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION 2
10006 #define VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME "VK_EXT_global_priority"
10008 typedef enum VkQueueGlobalPriorityEXT {
10009 VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT = 128,
10010 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT = 256,
10011 VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT = 512,
10012 VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT = 1024,
10013 VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_EXT = 0x7FFFFFFF
10014 } VkQueueGlobalPriorityEXT;
10015 typedef struct VkDeviceQueueGlobalPriorityCreateInfoEXT {
10016 VkStructureType sType;
10018 VkQueueGlobalPriorityEXT globalPriority;
10019 } VkDeviceQueueGlobalPriorityCreateInfoEXT;
10023 #define VK_EXT_external_memory_host 1
10024 #define VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION 1
10025 #define VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME "VK_EXT_external_memory_host"
10026 typedef struct VkImportMemoryHostPointerInfoEXT {
10027 VkStructureType sType;
10029 VkExternalMemoryHandleTypeFlagBits handleType;
10030 void* pHostPointer;
10031 } VkImportMemoryHostPointerInfoEXT;
10033 typedef struct VkMemoryHostPointerPropertiesEXT {
10034 VkStructureType sType;
10036 deUint32 memoryTypeBits;
10037 } VkMemoryHostPointerPropertiesEXT;
10039 typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
10040 VkStructureType sType;
10042 VkDeviceSize minImportedHostPointerAlignment;
10043 } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
10045 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryHostPointerPropertiesEXT)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
10047 #ifndef VK_NO_PROTOTYPES
10048 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryHostPointerPropertiesEXT(
10050 VkExternalMemoryHandleTypeFlagBits handleType,
10051 const void* pHostPointer,
10052 VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
10056 #define VK_AMD_buffer_marker 1
10057 #define VK_AMD_BUFFER_MARKER_SPEC_VERSION 1
10058 #define VK_AMD_BUFFER_MARKER_EXTENSION_NAME "VK_AMD_buffer_marker"
10059 typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarkerAMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, deUint32 marker);
10061 #ifndef VK_NO_PROTOTYPES
10062 VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarkerAMD(
10063 VkCommandBuffer commandBuffer,
10064 VkPipelineStageFlagBits pipelineStage,
10065 VkBuffer dstBuffer,
10066 VkDeviceSize dstOffset,
10071 #define VK_AMD_pipeline_compiler_control 1
10072 #define VK_AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION 1
10073 #define VK_AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME "VK_AMD_pipeline_compiler_control"
10075 typedef enum VkPipelineCompilerControlFlagBitsAMD {
10076 VK_PIPELINE_COMPILER_CONTROL_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF
10077 } VkPipelineCompilerControlFlagBitsAMD;
10078 typedef VkFlags VkPipelineCompilerControlFlagsAMD;
10079 typedef struct VkPipelineCompilerControlCreateInfoAMD {
10080 VkStructureType sType;
10082 VkPipelineCompilerControlFlagsAMD compilerControlFlags;
10083 } VkPipelineCompilerControlCreateInfoAMD;
10087 #define VK_EXT_calibrated_timestamps 1
10088 #define VK_EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION 1
10089 #define VK_EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME "VK_EXT_calibrated_timestamps"
10091 typedef enum VkTimeDomainEXT {
10092 VK_TIME_DOMAIN_DEVICE_EXT = 0,
10093 VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT = 1,
10094 VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT = 2,
10095 VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT = 3,
10096 VK_TIME_DOMAIN_MAX_ENUM_EXT = 0x7FFFFFFF
10098 typedef struct VkCalibratedTimestampInfoEXT {
10099 VkStructureType sType;
10101 VkTimeDomainEXT timeDomain;
10102 } VkCalibratedTimestampInfoEXT;
10104 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT)(VkPhysicalDevice physicalDevice, deUint32* pTimeDomainCount, VkTimeDomainEXT* pTimeDomains);
10105 typedef VkResult (VKAPI_PTR *PFN_vkGetCalibratedTimestampsEXT)(VkDevice device, deUint32 timestampCount, const VkCalibratedTimestampInfoEXT* pTimestampInfos, deUint64* pTimestamps, deUint64* pMaxDeviation);
10107 #ifndef VK_NO_PROTOTYPES
10108 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(
10109 VkPhysicalDevice physicalDevice,
10110 deUint32* pTimeDomainCount,
10111 VkTimeDomainEXT* pTimeDomains);
10113 VKAPI_ATTR VkResult VKAPI_CALL vkGetCalibratedTimestampsEXT(
10115 deUint32 timestampCount,
10116 const VkCalibratedTimestampInfoEXT* pTimestampInfos,
10117 deUint64* pTimestamps,
10118 deUint64* pMaxDeviation);
10122 #define VK_AMD_shader_core_properties 1
10123 #define VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION 2
10124 #define VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_AMD_shader_core_properties"
10125 typedef struct VkPhysicalDeviceShaderCorePropertiesAMD {
10126 VkStructureType sType;
10128 deUint32 shaderEngineCount;
10129 deUint32 shaderArraysPerEngineCount;
10130 deUint32 computeUnitsPerShaderArray;
10131 deUint32 simdPerComputeUnit;
10132 deUint32 wavefrontsPerSimd;
10133 deUint32 wavefrontSize;
10134 deUint32 sgprsPerSimd;
10135 deUint32 minSgprAllocation;
10136 deUint32 maxSgprAllocation;
10137 deUint32 sgprAllocationGranularity;
10138 deUint32 vgprsPerSimd;
10139 deUint32 minVgprAllocation;
10140 deUint32 maxVgprAllocation;
10141 deUint32 vgprAllocationGranularity;
10142 } VkPhysicalDeviceShaderCorePropertiesAMD;
10146 #define VK_AMD_memory_overallocation_behavior 1
10147 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION 1
10148 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME "VK_AMD_memory_overallocation_behavior"
10150 typedef enum VkMemoryOverallocationBehaviorAMD {
10151 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD = 0,
10152 VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD = 1,
10153 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD = 2,
10154 VK_MEMORY_OVERALLOCATION_BEHAVIOR_MAX_ENUM_AMD = 0x7FFFFFFF
10155 } VkMemoryOverallocationBehaviorAMD;
10156 typedef struct VkDeviceMemoryOverallocationCreateInfoAMD {
10157 VkStructureType sType;
10159 VkMemoryOverallocationBehaviorAMD overallocationBehavior;
10160 } VkDeviceMemoryOverallocationCreateInfoAMD;
10164 #define VK_EXT_vertex_attribute_divisor 1
10165 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 3
10166 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_EXT_vertex_attribute_divisor"
10167 typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
10168 VkStructureType sType;
10170 deUint32 maxVertexAttribDivisor;
10171 } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
10173 typedef struct VkVertexInputBindingDivisorDescriptionEXT {
10176 } VkVertexInputBindingDivisorDescriptionEXT;
10178 typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT {
10179 VkStructureType sType;
10181 deUint32 vertexBindingDivisorCount;
10182 const VkVertexInputBindingDivisorDescriptionEXT* pVertexBindingDivisors;
10183 } VkPipelineVertexInputDivisorStateCreateInfoEXT;
10185 typedef struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT {
10186 VkStructureType sType;
10188 VkBool32 vertexAttributeInstanceRateDivisor;
10189 VkBool32 vertexAttributeInstanceRateZeroDivisor;
10190 } VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT;
10194 #define VK_EXT_pipeline_creation_feedback 1
10195 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION 1
10196 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME "VK_EXT_pipeline_creation_feedback"
10198 typedef enum VkPipelineCreationFeedbackFlagBitsEXT {
10199 VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = 0x00000001,
10200 VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = 0x00000002,
10201 VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = 0x00000004,
10202 VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
10203 } VkPipelineCreationFeedbackFlagBitsEXT;
10204 typedef VkFlags VkPipelineCreationFeedbackFlagsEXT;
10205 typedef struct VkPipelineCreationFeedbackEXT {
10206 VkPipelineCreationFeedbackFlagsEXT flags;
10208 } VkPipelineCreationFeedbackEXT;
10210 typedef struct VkPipelineCreationFeedbackCreateInfoEXT {
10211 VkStructureType sType;
10213 VkPipelineCreationFeedbackEXT* pPipelineCreationFeedback;
10214 deUint32 pipelineStageCreationFeedbackCount;
10215 VkPipelineCreationFeedbackEXT* pPipelineStageCreationFeedbacks;
10216 } VkPipelineCreationFeedbackCreateInfoEXT;
10220 #define VK_NV_shader_subgroup_partitioned 1
10221 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION 1
10222 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME "VK_NV_shader_subgroup_partitioned"
10225 #define VK_NV_compute_shader_derivatives 1
10226 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION 1
10227 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME "VK_NV_compute_shader_derivatives"
10228 typedef struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV {
10229 VkStructureType sType;
10231 VkBool32 computeDerivativeGroupQuads;
10232 VkBool32 computeDerivativeGroupLinear;
10233 } VkPhysicalDeviceComputeShaderDerivativesFeaturesNV;
10237 #define VK_NV_mesh_shader 1
10238 #define VK_NV_MESH_SHADER_SPEC_VERSION 1
10239 #define VK_NV_MESH_SHADER_EXTENSION_NAME "VK_NV_mesh_shader"
10240 typedef struct VkPhysicalDeviceMeshShaderFeaturesNV {
10241 VkStructureType sType;
10243 VkBool32 taskShader;
10244 VkBool32 meshShader;
10245 } VkPhysicalDeviceMeshShaderFeaturesNV;
10247 typedef struct VkPhysicalDeviceMeshShaderPropertiesNV {
10248 VkStructureType sType;
10250 deUint32 maxDrawMeshTasksCount;
10251 deUint32 maxTaskWorkGroupInvocations;
10252 deUint32 maxTaskWorkGroupSize[3];
10253 deUint32 maxTaskTotalMemorySize;
10254 deUint32 maxTaskOutputCount;
10255 deUint32 maxMeshWorkGroupInvocations;
10256 deUint32 maxMeshWorkGroupSize[3];
10257 deUint32 maxMeshTotalMemorySize;
10258 deUint32 maxMeshOutputVertices;
10259 deUint32 maxMeshOutputPrimitives;
10260 deUint32 maxMeshMultiviewViewCount;
10261 deUint32 meshOutputPerVertexGranularity;
10262 deUint32 meshOutputPerPrimitiveGranularity;
10263 } VkPhysicalDeviceMeshShaderPropertiesNV;
10265 typedef struct VkDrawMeshTasksIndirectCommandNV {
10266 deUint32 taskCount;
10267 deUint32 firstTask;
10268 } VkDrawMeshTasksIndirectCommandNV;
10270 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksNV)(VkCommandBuffer commandBuffer, deUint32 taskCount, deUint32 firstTask);
10271 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride);
10272 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectCountNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
10274 #ifndef VK_NO_PROTOTYPES
10275 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksNV(
10276 VkCommandBuffer commandBuffer,
10277 deUint32 taskCount,
10278 deUint32 firstTask);
10280 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectNV(
10281 VkCommandBuffer commandBuffer,
10283 VkDeviceSize offset,
10284 deUint32 drawCount,
10287 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectCountNV(
10288 VkCommandBuffer commandBuffer,
10290 VkDeviceSize offset,
10291 VkBuffer countBuffer,
10292 VkDeviceSize countBufferOffset,
10293 deUint32 maxDrawCount,
10298 #define VK_NV_fragment_shader_barycentric 1
10299 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1
10300 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_NV_fragment_shader_barycentric"
10301 typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV {
10302 VkStructureType sType;
10304 VkBool32 fragmentShaderBarycentric;
10305 } VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV;
10309 #define VK_NV_shader_image_footprint 1
10310 #define VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION 2
10311 #define VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME "VK_NV_shader_image_footprint"
10312 typedef struct VkPhysicalDeviceShaderImageFootprintFeaturesNV {
10313 VkStructureType sType;
10315 VkBool32 imageFootprint;
10316 } VkPhysicalDeviceShaderImageFootprintFeaturesNV;
10320 #define VK_NV_scissor_exclusive 1
10321 #define VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION 1
10322 #define VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME "VK_NV_scissor_exclusive"
10323 typedef struct VkPipelineViewportExclusiveScissorStateCreateInfoNV {
10324 VkStructureType sType;
10326 deUint32 exclusiveScissorCount;
10327 const VkRect2D* pExclusiveScissors;
10328 } VkPipelineViewportExclusiveScissorStateCreateInfoNV;
10330 typedef struct VkPhysicalDeviceExclusiveScissorFeaturesNV {
10331 VkStructureType sType;
10333 VkBool32 exclusiveScissor;
10334 } VkPhysicalDeviceExclusiveScissorFeaturesNV;
10336 typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorNV)(VkCommandBuffer commandBuffer, deUint32 firstExclusiveScissor, deUint32 exclusiveScissorCount, const VkRect2D* pExclusiveScissors);
10338 #ifndef VK_NO_PROTOTYPES
10339 VKAPI_ATTR void VKAPI_CALL vkCmdSetExclusiveScissorNV(
10340 VkCommandBuffer commandBuffer,
10341 deUint32 firstExclusiveScissor,
10342 deUint32 exclusiveScissorCount,
10343 const VkRect2D* pExclusiveScissors);
10347 #define VK_NV_device_diagnostic_checkpoints 1
10348 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION 2
10349 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME "VK_NV_device_diagnostic_checkpoints"
10350 typedef struct VkQueueFamilyCheckpointPropertiesNV {
10351 VkStructureType sType;
10353 VkPipelineStageFlags checkpointExecutionStageMask;
10354 } VkQueueFamilyCheckpointPropertiesNV;
10356 typedef struct VkCheckpointDataNV {
10357 VkStructureType sType;
10359 VkPipelineStageFlagBits stage;
10360 void* pCheckpointMarker;
10361 } VkCheckpointDataNV;
10363 typedef void (VKAPI_PTR *PFN_vkCmdSetCheckpointNV)(VkCommandBuffer commandBuffer, const void* pCheckpointMarker);
10364 typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointDataNV)(VkQueue queue, deUint32* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData);
10366 #ifndef VK_NO_PROTOTYPES
10367 VKAPI_ATTR void VKAPI_CALL vkCmdSetCheckpointNV(
10368 VkCommandBuffer commandBuffer,
10369 const void* pCheckpointMarker);
10371 VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointDataNV(
10373 deUint32* pCheckpointDataCount,
10374 VkCheckpointDataNV* pCheckpointData);
10378 #define VK_INTEL_shader_integer_functions2 1
10379 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION 1
10380 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME "VK_INTEL_shader_integer_functions2"
10381 typedef struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
10382 VkStructureType sType;
10384 VkBool32 shaderIntegerFunctions2;
10385 } VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL;
10389 #define VK_INTEL_performance_query 1
10390 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPerformanceConfigurationINTEL)
10391 #define VK_INTEL_PERFORMANCE_QUERY_SPEC_VERSION 2
10392 #define VK_INTEL_PERFORMANCE_QUERY_EXTENSION_NAME "VK_INTEL_performance_query"
10394 typedef enum VkPerformanceConfigurationTypeINTEL {
10395 VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL = 0,
10396 VK_PERFORMANCE_CONFIGURATION_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
10397 } VkPerformanceConfigurationTypeINTEL;
10399 typedef enum VkQueryPoolSamplingModeINTEL {
10400 VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL = 0,
10401 VK_QUERY_POOL_SAMPLING_MODE_MAX_ENUM_INTEL = 0x7FFFFFFF
10402 } VkQueryPoolSamplingModeINTEL;
10404 typedef enum VkPerformanceOverrideTypeINTEL {
10405 VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL = 0,
10406 VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL = 1,
10407 VK_PERFORMANCE_OVERRIDE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
10408 } VkPerformanceOverrideTypeINTEL;
10410 typedef enum VkPerformanceParameterTypeINTEL {
10411 VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL = 0,
10412 VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL = 1,
10413 VK_PERFORMANCE_PARAMETER_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
10414 } VkPerformanceParameterTypeINTEL;
10416 typedef enum VkPerformanceValueTypeINTEL {
10417 VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL = 0,
10418 VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL = 1,
10419 VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL = 2,
10420 VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL = 3,
10421 VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL = 4,
10422 VK_PERFORMANCE_VALUE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
10423 } VkPerformanceValueTypeINTEL;
10424 typedef union VkPerformanceValueDataINTEL {
10428 VkBool32 valueBool;
10429 const char* valueString;
10430 } VkPerformanceValueDataINTEL;
10432 typedef struct VkPerformanceValueINTEL {
10433 VkPerformanceValueTypeINTEL type;
10434 VkPerformanceValueDataINTEL data;
10435 } VkPerformanceValueINTEL;
10437 typedef struct VkInitializePerformanceApiInfoINTEL {
10438 VkStructureType sType;
10441 } VkInitializePerformanceApiInfoINTEL;
10443 typedef struct VkQueryPoolPerformanceQueryCreateInfoINTEL {
10444 VkStructureType sType;
10446 VkQueryPoolSamplingModeINTEL performanceCountersSampling;
10447 } VkQueryPoolPerformanceQueryCreateInfoINTEL;
10449 typedef VkQueryPoolPerformanceQueryCreateInfoINTEL VkQueryPoolCreateInfoINTEL;
10451 typedef struct VkPerformanceMarkerInfoINTEL {
10452 VkStructureType sType;
10455 } VkPerformanceMarkerInfoINTEL;
10457 typedef struct VkPerformanceStreamMarkerInfoINTEL {
10458 VkStructureType sType;
10461 } VkPerformanceStreamMarkerInfoINTEL;
10463 typedef struct VkPerformanceOverrideInfoINTEL {
10464 VkStructureType sType;
10466 VkPerformanceOverrideTypeINTEL type;
10468 deUint64 parameter;
10469 } VkPerformanceOverrideInfoINTEL;
10471 typedef struct VkPerformanceConfigurationAcquireInfoINTEL {
10472 VkStructureType sType;
10474 VkPerformanceConfigurationTypeINTEL type;
10475 } VkPerformanceConfigurationAcquireInfoINTEL;
10477 typedef VkResult (VKAPI_PTR *PFN_vkInitializePerformanceApiINTEL)(VkDevice device, const VkInitializePerformanceApiInfoINTEL* pInitializeInfo);
10478 typedef void (VKAPI_PTR *PFN_vkUninitializePerformanceApiINTEL)(VkDevice device);
10479 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL* pMarkerInfo);
10480 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceStreamMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo);
10481 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceOverrideINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL* pOverrideInfo);
10482 typedef VkResult (VKAPI_PTR *PFN_vkAcquirePerformanceConfigurationINTEL)(VkDevice device, const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, VkPerformanceConfigurationINTEL* pConfiguration);
10483 typedef VkResult (VKAPI_PTR *PFN_vkReleasePerformanceConfigurationINTEL)(VkDevice device, VkPerformanceConfigurationINTEL configuration);
10484 typedef VkResult (VKAPI_PTR *PFN_vkQueueSetPerformanceConfigurationINTEL)(VkQueue queue, VkPerformanceConfigurationINTEL configuration);
10485 typedef VkResult (VKAPI_PTR *PFN_vkGetPerformanceParameterINTEL)(VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL* pValue);
10487 #ifndef VK_NO_PROTOTYPES
10488 VKAPI_ATTR VkResult VKAPI_CALL vkInitializePerformanceApiINTEL(
10490 const VkInitializePerformanceApiInfoINTEL* pInitializeInfo);
10492 VKAPI_ATTR void VKAPI_CALL vkUninitializePerformanceApiINTEL(
10495 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceMarkerINTEL(
10496 VkCommandBuffer commandBuffer,
10497 const VkPerformanceMarkerInfoINTEL* pMarkerInfo);
10499 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceStreamMarkerINTEL(
10500 VkCommandBuffer commandBuffer,
10501 const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo);
10503 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceOverrideINTEL(
10504 VkCommandBuffer commandBuffer,
10505 const VkPerformanceOverrideInfoINTEL* pOverrideInfo);
10507 VKAPI_ATTR VkResult VKAPI_CALL vkAcquirePerformanceConfigurationINTEL(
10509 const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo,
10510 VkPerformanceConfigurationINTEL* pConfiguration);
10512 VKAPI_ATTR VkResult VKAPI_CALL vkReleasePerformanceConfigurationINTEL(
10514 VkPerformanceConfigurationINTEL configuration);
10516 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSetPerformanceConfigurationINTEL(
10518 VkPerformanceConfigurationINTEL configuration);
10520 VKAPI_ATTR VkResult VKAPI_CALL vkGetPerformanceParameterINTEL(
10522 VkPerformanceParameterTypeINTEL parameter,
10523 VkPerformanceValueINTEL* pValue);
10527 #define VK_EXT_pci_bus_info 1
10528 #define VK_EXT_PCI_BUS_INFO_SPEC_VERSION 2
10529 #define VK_EXT_PCI_BUS_INFO_EXTENSION_NAME "VK_EXT_pci_bus_info"
10530 typedef struct VkPhysicalDevicePCIBusInfoPropertiesEXT {
10531 VkStructureType sType;
10533 deUint32 pciDomain;
10535 deUint32 pciDevice;
10536 deUint32 pciFunction;
10537 } VkPhysicalDevicePCIBusInfoPropertiesEXT;
10541 #define VK_AMD_display_native_hdr 1
10542 #define VK_AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION 1
10543 #define VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME "VK_AMD_display_native_hdr"
10544 typedef struct VkDisplayNativeHdrSurfaceCapabilitiesAMD {
10545 VkStructureType sType;
10547 VkBool32 localDimmingSupport;
10548 } VkDisplayNativeHdrSurfaceCapabilitiesAMD;
10550 typedef struct VkSwapchainDisplayNativeHdrCreateInfoAMD {
10551 VkStructureType sType;
10553 VkBool32 localDimmingEnable;
10554 } VkSwapchainDisplayNativeHdrCreateInfoAMD;
10556 typedef void (VKAPI_PTR *PFN_vkSetLocalDimmingAMD)(VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable);
10558 #ifndef VK_NO_PROTOTYPES
10559 VKAPI_ATTR void VKAPI_CALL vkSetLocalDimmingAMD(
10561 VkSwapchainKHR swapChain,
10562 VkBool32 localDimmingEnable);
10566 #define VK_EXT_fragment_density_map 1
10567 #define VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION 1
10568 #define VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME "VK_EXT_fragment_density_map"
10569 typedef struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT {
10570 VkStructureType sType;
10572 VkBool32 fragmentDensityMap;
10573 VkBool32 fragmentDensityMapDynamic;
10574 VkBool32 fragmentDensityMapNonSubsampledImages;
10575 } VkPhysicalDeviceFragmentDensityMapFeaturesEXT;
10577 typedef struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT {
10578 VkStructureType sType;
10580 VkExtent2D minFragmentDensityTexelSize;
10581 VkExtent2D maxFragmentDensityTexelSize;
10582 VkBool32 fragmentDensityInvocations;
10583 } VkPhysicalDeviceFragmentDensityMapPropertiesEXT;
10585 typedef struct VkRenderPassFragmentDensityMapCreateInfoEXT {
10586 VkStructureType sType;
10588 VkAttachmentReference fragmentDensityMapAttachment;
10589 } VkRenderPassFragmentDensityMapCreateInfoEXT;
10593 #define VK_EXT_scalar_block_layout 1
10594 #define VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION 1
10595 #define VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME "VK_EXT_scalar_block_layout"
10596 typedef VkPhysicalDeviceScalarBlockLayoutFeatures VkPhysicalDeviceScalarBlockLayoutFeaturesEXT;
10600 #define VK_GOOGLE_hlsl_functionality1 1
10601 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION 1
10602 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME "VK_GOOGLE_hlsl_functionality1"
10605 #define VK_GOOGLE_decorate_string 1
10606 #define VK_GOOGLE_DECORATE_STRING_SPEC_VERSION 1
10607 #define VK_GOOGLE_DECORATE_STRING_EXTENSION_NAME "VK_GOOGLE_decorate_string"
10610 #define VK_EXT_subgroup_size_control 1
10611 #define VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION 2
10612 #define VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME "VK_EXT_subgroup_size_control"
10613 typedef struct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT {
10614 VkStructureType sType;
10616 VkBool32 subgroupSizeControl;
10617 VkBool32 computeFullSubgroups;
10618 } VkPhysicalDeviceSubgroupSizeControlFeaturesEXT;
10620 typedef struct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT {
10621 VkStructureType sType;
10623 deUint32 minSubgroupSize;
10624 deUint32 maxSubgroupSize;
10625 deUint32 maxComputeWorkgroupSubgroups;
10626 VkShaderStageFlags requiredSubgroupSizeStages;
10627 } VkPhysicalDeviceSubgroupSizeControlPropertiesEXT;
10629 typedef struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT {
10630 VkStructureType sType;
10632 deUint32 requiredSubgroupSize;
10633 } VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT;
10637 #define VK_AMD_shader_core_properties2 1
10638 #define VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION 1
10639 #define VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME "VK_AMD_shader_core_properties2"
10641 typedef enum VkShaderCorePropertiesFlagBitsAMD {
10642 VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF
10643 } VkShaderCorePropertiesFlagBitsAMD;
10644 typedef VkFlags VkShaderCorePropertiesFlagsAMD;
10645 typedef struct VkPhysicalDeviceShaderCoreProperties2AMD {
10646 VkStructureType sType;
10648 VkShaderCorePropertiesFlagsAMD shaderCoreFeatures;
10649 deUint32 activeComputeUnitCount;
10650 } VkPhysicalDeviceShaderCoreProperties2AMD;
10654 #define VK_AMD_device_coherent_memory 1
10655 #define VK_AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION 1
10656 #define VK_AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME "VK_AMD_device_coherent_memory"
10657 typedef struct VkPhysicalDeviceCoherentMemoryFeaturesAMD {
10658 VkStructureType sType;
10660 VkBool32 deviceCoherentMemory;
10661 } VkPhysicalDeviceCoherentMemoryFeaturesAMD;
10665 #define VK_EXT_shader_image_atomic_int64 1
10666 #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION 1
10667 #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME "VK_EXT_shader_image_atomic_int64"
10668 typedef struct VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT {
10669 VkStructureType sType;
10671 VkBool32 shaderImageInt64Atomics;
10672 VkBool32 sparseImageInt64Atomics;
10673 } VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT;
10677 #define VK_EXT_memory_budget 1
10678 #define VK_EXT_MEMORY_BUDGET_SPEC_VERSION 1
10679 #define VK_EXT_MEMORY_BUDGET_EXTENSION_NAME "VK_EXT_memory_budget"
10680 typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT {
10681 VkStructureType sType;
10683 VkDeviceSize heapBudget[VK_MAX_MEMORY_HEAPS];
10684 VkDeviceSize heapUsage[VK_MAX_MEMORY_HEAPS];
10685 } VkPhysicalDeviceMemoryBudgetPropertiesEXT;
10689 #define VK_EXT_memory_priority 1
10690 #define VK_EXT_MEMORY_PRIORITY_SPEC_VERSION 1
10691 #define VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME "VK_EXT_memory_priority"
10692 typedef struct VkPhysicalDeviceMemoryPriorityFeaturesEXT {
10693 VkStructureType sType;
10695 VkBool32 memoryPriority;
10696 } VkPhysicalDeviceMemoryPriorityFeaturesEXT;
10698 typedef struct VkMemoryPriorityAllocateInfoEXT {
10699 VkStructureType sType;
10702 } VkMemoryPriorityAllocateInfoEXT;
10706 #define VK_NV_dedicated_allocation_image_aliasing 1
10707 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION 1
10708 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME "VK_NV_dedicated_allocation_image_aliasing"
10709 typedef struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
10710 VkStructureType sType;
10712 VkBool32 dedicatedAllocationImageAliasing;
10713 } VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV;
10717 #define VK_EXT_buffer_device_address 1
10718 #define VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 2
10719 #define VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_EXT_buffer_device_address"
10720 typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT {
10721 VkStructureType sType;
10723 VkBool32 bufferDeviceAddress;
10724 VkBool32 bufferDeviceAddressCaptureReplay;
10725 VkBool32 bufferDeviceAddressMultiDevice;
10726 } VkPhysicalDeviceBufferDeviceAddressFeaturesEXT;
10728 typedef VkPhysicalDeviceBufferDeviceAddressFeaturesEXT VkPhysicalDeviceBufferAddressFeaturesEXT;
10730 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoEXT;
10732 typedef struct VkBufferDeviceAddressCreateInfoEXT {
10733 VkStructureType sType;
10735 VkDeviceAddress deviceAddress;
10736 } VkBufferDeviceAddressCreateInfoEXT;
10738 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressEXT)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
10740 #ifndef VK_NO_PROTOTYPES
10741 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressEXT(
10743 const VkBufferDeviceAddressInfo* pInfo);
10747 #define VK_EXT_tooling_info 1
10748 #define VK_EXT_TOOLING_INFO_SPEC_VERSION 1
10749 #define VK_EXT_TOOLING_INFO_EXTENSION_NAME "VK_EXT_tooling_info"
10751 typedef enum VkToolPurposeFlagBitsEXT {
10752 VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = 0x00000001,
10753 VK_TOOL_PURPOSE_PROFILING_BIT_EXT = 0x00000002,
10754 VK_TOOL_PURPOSE_TRACING_BIT_EXT = 0x00000004,
10755 VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = 0x00000008,
10756 VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = 0x00000010,
10757 VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 0x00000020,
10758 VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 0x00000040,
10759 VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
10760 } VkToolPurposeFlagBitsEXT;
10761 typedef VkFlags VkToolPurposeFlagsEXT;
10762 typedef struct VkPhysicalDeviceToolPropertiesEXT {
10763 VkStructureType sType;
10765 char name[VK_MAX_EXTENSION_NAME_SIZE];
10766 char version[VK_MAX_EXTENSION_NAME_SIZE];
10767 VkToolPurposeFlagsEXT purposes;
10768 char description[VK_MAX_DESCRIPTION_SIZE];
10769 char layer[VK_MAX_EXTENSION_NAME_SIZE];
10770 } VkPhysicalDeviceToolPropertiesEXT;
10772 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceToolPropertiesEXT)(VkPhysicalDevice physicalDevice, deUint32* pToolCount, VkPhysicalDeviceToolPropertiesEXT* pToolProperties);
10774 #ifndef VK_NO_PROTOTYPES
10775 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceToolPropertiesEXT(
10776 VkPhysicalDevice physicalDevice,
10777 deUint32* pToolCount,
10778 VkPhysicalDeviceToolPropertiesEXT* pToolProperties);
10782 #define VK_EXT_separate_stencil_usage 1
10783 #define VK_EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION 1
10784 #define VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME "VK_EXT_separate_stencil_usage"
10785 typedef VkImageStencilUsageCreateInfo VkImageStencilUsageCreateInfoEXT;
10789 #define VK_EXT_validation_features 1
10790 #define VK_EXT_VALIDATION_FEATURES_SPEC_VERSION 4
10791 #define VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME "VK_EXT_validation_features"
10793 typedef enum VkValidationFeatureEnableEXT {
10794 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT = 0,
10795 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT = 1,
10796 VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT = 2,
10797 VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT = 3,
10798 VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT = 4,
10799 VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT = 0x7FFFFFFF
10800 } VkValidationFeatureEnableEXT;
10802 typedef enum VkValidationFeatureDisableEXT {
10803 VK_VALIDATION_FEATURE_DISABLE_ALL_EXT = 0,
10804 VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT = 1,
10805 VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT = 2,
10806 VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT = 3,
10807 VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT = 4,
10808 VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT = 5,
10809 VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT = 6,
10810 VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT = 0x7FFFFFFF
10811 } VkValidationFeatureDisableEXT;
10812 typedef struct VkValidationFeaturesEXT {
10813 VkStructureType sType;
10815 deUint32 enabledValidationFeatureCount;
10816 const VkValidationFeatureEnableEXT* pEnabledValidationFeatures;
10817 deUint32 disabledValidationFeatureCount;
10818 const VkValidationFeatureDisableEXT* pDisabledValidationFeatures;
10819 } VkValidationFeaturesEXT;
10823 #define VK_NV_cooperative_matrix 1
10824 #define VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION 1
10825 #define VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_NV_cooperative_matrix"
10827 typedef enum VkComponentTypeNV {
10828 VK_COMPONENT_TYPE_FLOAT16_NV = 0,
10829 VK_COMPONENT_TYPE_FLOAT32_NV = 1,
10830 VK_COMPONENT_TYPE_FLOAT64_NV = 2,
10831 VK_COMPONENT_TYPE_SINT8_NV = 3,
10832 VK_COMPONENT_TYPE_SINT16_NV = 4,
10833 VK_COMPONENT_TYPE_SINT32_NV = 5,
10834 VK_COMPONENT_TYPE_SINT64_NV = 6,
10835 VK_COMPONENT_TYPE_UINT8_NV = 7,
10836 VK_COMPONENT_TYPE_UINT16_NV = 8,
10837 VK_COMPONENT_TYPE_UINT32_NV = 9,
10838 VK_COMPONENT_TYPE_UINT64_NV = 10,
10839 VK_COMPONENT_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
10840 } VkComponentTypeNV;
10842 typedef enum VkScopeNV {
10843 VK_SCOPE_DEVICE_NV = 1,
10844 VK_SCOPE_WORKGROUP_NV = 2,
10845 VK_SCOPE_SUBGROUP_NV = 3,
10846 VK_SCOPE_QUEUE_FAMILY_NV = 5,
10847 VK_SCOPE_MAX_ENUM_NV = 0x7FFFFFFF
10849 typedef struct VkCooperativeMatrixPropertiesNV {
10850 VkStructureType sType;
10855 VkComponentTypeNV AType;
10856 VkComponentTypeNV BType;
10857 VkComponentTypeNV CType;
10858 VkComponentTypeNV DType;
10860 } VkCooperativeMatrixPropertiesNV;
10862 typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesNV {
10863 VkStructureType sType;
10865 VkBool32 cooperativeMatrix;
10866 VkBool32 cooperativeMatrixRobustBufferAccess;
10867 } VkPhysicalDeviceCooperativeMatrixFeaturesNV;
10869 typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesNV {
10870 VkStructureType sType;
10872 VkShaderStageFlags cooperativeMatrixSupportedStages;
10873 } VkPhysicalDeviceCooperativeMatrixPropertiesNV;
10875 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkCooperativeMatrixPropertiesNV* pProperties);
10877 #ifndef VK_NO_PROTOTYPES
10878 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(
10879 VkPhysicalDevice physicalDevice,
10880 deUint32* pPropertyCount,
10881 VkCooperativeMatrixPropertiesNV* pProperties);
10885 #define VK_NV_coverage_reduction_mode 1
10886 #define VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION 1
10887 #define VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME "VK_NV_coverage_reduction_mode"
10889 typedef enum VkCoverageReductionModeNV {
10890 VK_COVERAGE_REDUCTION_MODE_MERGE_NV = 0,
10891 VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV = 1,
10892 VK_COVERAGE_REDUCTION_MODE_MAX_ENUM_NV = 0x7FFFFFFF
10893 } VkCoverageReductionModeNV;
10894 typedef VkFlags VkPipelineCoverageReductionStateCreateFlagsNV;
10895 typedef struct VkPhysicalDeviceCoverageReductionModeFeaturesNV {
10896 VkStructureType sType;
10898 VkBool32 coverageReductionMode;
10899 } VkPhysicalDeviceCoverageReductionModeFeaturesNV;
10901 typedef struct VkPipelineCoverageReductionStateCreateInfoNV {
10902 VkStructureType sType;
10904 VkPipelineCoverageReductionStateCreateFlagsNV flags;
10905 VkCoverageReductionModeNV coverageReductionMode;
10906 } VkPipelineCoverageReductionStateCreateInfoNV;
10908 typedef struct VkFramebufferMixedSamplesCombinationNV {
10909 VkStructureType sType;
10911 VkCoverageReductionModeNV coverageReductionMode;
10912 VkSampleCountFlagBits rasterizationSamples;
10913 VkSampleCountFlags depthStencilSamples;
10914 VkSampleCountFlags colorSamples;
10915 } VkFramebufferMixedSamplesCombinationNV;
10917 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV)(VkPhysicalDevice physicalDevice, deUint32* pCombinationCount, VkFramebufferMixedSamplesCombinationNV* pCombinations);
10919 #ifndef VK_NO_PROTOTYPES
10920 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
10921 VkPhysicalDevice physicalDevice,
10922 deUint32* pCombinationCount,
10923 VkFramebufferMixedSamplesCombinationNV* pCombinations);
10927 #define VK_EXT_fragment_shader_interlock 1
10928 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION 1
10929 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME "VK_EXT_fragment_shader_interlock"
10930 typedef struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT {
10931 VkStructureType sType;
10933 VkBool32 fragmentShaderSampleInterlock;
10934 VkBool32 fragmentShaderPixelInterlock;
10935 VkBool32 fragmentShaderShadingRateInterlock;
10936 } VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT;
10940 #define VK_EXT_ycbcr_image_arrays 1
10941 #define VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION 1
10942 #define VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME "VK_EXT_ycbcr_image_arrays"
10943 typedef struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT {
10944 VkStructureType sType;
10946 VkBool32 ycbcrImageArrays;
10947 } VkPhysicalDeviceYcbcrImageArraysFeaturesEXT;
10951 #define VK_EXT_headless_surface 1
10952 #define VK_EXT_HEADLESS_SURFACE_SPEC_VERSION 1
10953 #define VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME "VK_EXT_headless_surface"
10954 typedef VkFlags VkHeadlessSurfaceCreateFlagsEXT;
10955 typedef struct VkHeadlessSurfaceCreateInfoEXT {
10956 VkStructureType sType;
10958 VkHeadlessSurfaceCreateFlagsEXT flags;
10959 } VkHeadlessSurfaceCreateInfoEXT;
10961 typedef VkResult (VKAPI_PTR *PFN_vkCreateHeadlessSurfaceEXT)(VkInstance instance, const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
10963 #ifndef VK_NO_PROTOTYPES
10964 VKAPI_ATTR VkResult VKAPI_CALL vkCreateHeadlessSurfaceEXT(
10965 VkInstance instance,
10966 const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo,
10967 const VkAllocationCallbacks* pAllocator,
10968 VkSurfaceKHR* pSurface);
10972 #define VK_EXT_line_rasterization 1
10973 #define VK_EXT_LINE_RASTERIZATION_SPEC_VERSION 1
10974 #define VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME "VK_EXT_line_rasterization"
10976 typedef enum VkLineRasterizationModeEXT {
10977 VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT = 0,
10978 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT = 1,
10979 VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT = 2,
10980 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT = 3,
10981 VK_LINE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
10982 } VkLineRasterizationModeEXT;
10983 typedef struct VkPhysicalDeviceLineRasterizationFeaturesEXT {
10984 VkStructureType sType;
10986 VkBool32 rectangularLines;
10987 VkBool32 bresenhamLines;
10988 VkBool32 smoothLines;
10989 VkBool32 stippledRectangularLines;
10990 VkBool32 stippledBresenhamLines;
10991 VkBool32 stippledSmoothLines;
10992 } VkPhysicalDeviceLineRasterizationFeaturesEXT;
10994 typedef struct VkPhysicalDeviceLineRasterizationPropertiesEXT {
10995 VkStructureType sType;
10997 deUint32 lineSubPixelPrecisionBits;
10998 } VkPhysicalDeviceLineRasterizationPropertiesEXT;
11000 typedef struct VkPipelineRasterizationLineStateCreateInfoEXT {
11001 VkStructureType sType;
11003 VkLineRasterizationModeEXT lineRasterizationMode;
11004 VkBool32 stippledLineEnable;
11005 deUint32 lineStippleFactor;
11006 deUint16 lineStipplePattern;
11007 } VkPipelineRasterizationLineStateCreateInfoEXT;
11009 typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleEXT)(VkCommandBuffer commandBuffer, deUint32 lineStippleFactor, deUint16 lineStipplePattern);
11011 #ifndef VK_NO_PROTOTYPES
11012 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleEXT(
11013 VkCommandBuffer commandBuffer,
11014 deUint32 lineStippleFactor,
11015 deUint16 lineStipplePattern);
11019 #define VK_EXT_shader_atomic_float 1
11020 #define VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION 1
11021 #define VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME "VK_EXT_shader_atomic_float"
11022 typedef struct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT {
11023 VkStructureType sType;
11025 VkBool32 shaderBufferFloat32Atomics;
11026 VkBool32 shaderBufferFloat32AtomicAdd;
11027 VkBool32 shaderBufferFloat64Atomics;
11028 VkBool32 shaderBufferFloat64AtomicAdd;
11029 VkBool32 shaderSharedFloat32Atomics;
11030 VkBool32 shaderSharedFloat32AtomicAdd;
11031 VkBool32 shaderSharedFloat64Atomics;
11032 VkBool32 shaderSharedFloat64AtomicAdd;
11033 VkBool32 shaderImageFloat32Atomics;
11034 VkBool32 shaderImageFloat32AtomicAdd;
11035 VkBool32 sparseImageFloat32Atomics;
11036 VkBool32 sparseImageFloat32AtomicAdd;
11037 } VkPhysicalDeviceShaderAtomicFloatFeaturesEXT;
11041 #define VK_EXT_host_query_reset 1
11042 #define VK_EXT_HOST_QUERY_RESET_SPEC_VERSION 1
11043 #define VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME "VK_EXT_host_query_reset"
11044 typedef VkPhysicalDeviceHostQueryResetFeatures VkPhysicalDeviceHostQueryResetFeaturesEXT;
11046 typedef void (VKAPI_PTR *PFN_vkResetQueryPoolEXT)(VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount);
11048 #ifndef VK_NO_PROTOTYPES
11049 VKAPI_ATTR void VKAPI_CALL vkResetQueryPoolEXT(
11051 VkQueryPool queryPool,
11052 deUint32 firstQuery,
11053 deUint32 queryCount);
11057 #define VK_EXT_index_type_uint8 1
11058 #define VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION 1
11059 #define VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_EXT_index_type_uint8"
11060 typedef struct VkPhysicalDeviceIndexTypeUint8FeaturesEXT {
11061 VkStructureType sType;
11063 VkBool32 indexTypeUint8;
11064 } VkPhysicalDeviceIndexTypeUint8FeaturesEXT;
11068 #define VK_EXT_extended_dynamic_state 1
11069 #define VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION 1
11070 #define VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_extended_dynamic_state"
11071 typedef struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT {
11072 VkStructureType sType;
11074 VkBool32 extendedDynamicState;
11075 } VkPhysicalDeviceExtendedDynamicStateFeaturesEXT;
11077 typedef void (VKAPI_PTR *PFN_vkCmdSetCullModeEXT)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode);
11078 typedef void (VKAPI_PTR *PFN_vkCmdSetFrontFaceEXT)(VkCommandBuffer commandBuffer, VkFrontFace frontFace);
11079 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveTopologyEXT)(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology);
11080 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWithCountEXT)(VkCommandBuffer commandBuffer, deUint32 viewportCount, const VkViewport* pViewports);
11081 typedef void (VKAPI_PTR *PFN_vkCmdSetScissorWithCountEXT)(VkCommandBuffer commandBuffer, deUint32 scissorCount, const VkRect2D* pScissors);
11082 typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers2EXT)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides);
11083 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable);
11084 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthWriteEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable);
11085 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthCompareOpEXT)(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp);
11086 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBoundsTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable);
11087 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable);
11088 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilOpEXT)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp);
11090 #ifndef VK_NO_PROTOTYPES
11091 VKAPI_ATTR void VKAPI_CALL vkCmdSetCullModeEXT(
11092 VkCommandBuffer commandBuffer,
11093 VkCullModeFlags cullMode);
11095 VKAPI_ATTR void VKAPI_CALL vkCmdSetFrontFaceEXT(
11096 VkCommandBuffer commandBuffer,
11097 VkFrontFace frontFace);
11099 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveTopologyEXT(
11100 VkCommandBuffer commandBuffer,
11101 VkPrimitiveTopology primitiveTopology);
11103 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWithCountEXT(
11104 VkCommandBuffer commandBuffer,
11105 deUint32 viewportCount,
11106 const VkViewport* pViewports);
11108 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissorWithCountEXT(
11109 VkCommandBuffer commandBuffer,
11110 deUint32 scissorCount,
11111 const VkRect2D* pScissors);
11113 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers2EXT(
11114 VkCommandBuffer commandBuffer,
11115 deUint32 firstBinding,
11116 deUint32 bindingCount,
11117 const VkBuffer* pBuffers,
11118 const VkDeviceSize* pOffsets,
11119 const VkDeviceSize* pSizes,
11120 const VkDeviceSize* pStrides);
11122 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthTestEnableEXT(
11123 VkCommandBuffer commandBuffer,
11124 VkBool32 depthTestEnable);
11126 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthWriteEnableEXT(
11127 VkCommandBuffer commandBuffer,
11128 VkBool32 depthWriteEnable);
11130 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthCompareOpEXT(
11131 VkCommandBuffer commandBuffer,
11132 VkCompareOp depthCompareOp);
11134 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBoundsTestEnableEXT(
11135 VkCommandBuffer commandBuffer,
11136 VkBool32 depthBoundsTestEnable);
11138 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilTestEnableEXT(
11139 VkCommandBuffer commandBuffer,
11140 VkBool32 stencilTestEnable);
11142 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilOpEXT(
11143 VkCommandBuffer commandBuffer,
11144 VkStencilFaceFlags faceMask,
11145 VkStencilOp failOp,
11146 VkStencilOp passOp,
11147 VkStencilOp depthFailOp,
11148 VkCompareOp compareOp);
11152 #define VK_EXT_shader_demote_to_helper_invocation 1
11153 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION 1
11154 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME "VK_EXT_shader_demote_to_helper_invocation"
11155 typedef struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT {
11156 VkStructureType sType;
11158 VkBool32 shaderDemoteToHelperInvocation;
11159 } VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT;
11163 #define VK_NV_device_generated_commands 1
11164 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutNV)
11165 #define VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION 3
11166 #define VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_NV_device_generated_commands"
11168 typedef enum VkIndirectCommandsTokenTypeNV {
11169 VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV = 0,
11170 VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV = 1,
11171 VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV = 2,
11172 VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV = 3,
11173 VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV = 4,
11174 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV = 5,
11175 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV = 6,
11176 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV = 7,
11177 VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
11178 } VkIndirectCommandsTokenTypeNV;
11180 typedef enum VkIndirectStateFlagBitsNV {
11181 VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV = 0x00000001,
11182 VK_INDIRECT_STATE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
11183 } VkIndirectStateFlagBitsNV;
11184 typedef VkFlags VkIndirectStateFlagsNV;
11186 typedef enum VkIndirectCommandsLayoutUsageFlagBitsNV {
11187 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV = 0x00000001,
11188 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV = 0x00000002,
11189 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV = 0x00000004,
11190 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
11191 } VkIndirectCommandsLayoutUsageFlagBitsNV;
11192 typedef VkFlags VkIndirectCommandsLayoutUsageFlagsNV;
11193 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
11194 VkStructureType sType;
11196 deUint32 maxGraphicsShaderGroupCount;
11197 deUint32 maxIndirectSequenceCount;
11198 deUint32 maxIndirectCommandsTokenCount;
11199 deUint32 maxIndirectCommandsStreamCount;
11200 deUint32 maxIndirectCommandsTokenOffset;
11201 deUint32 maxIndirectCommandsStreamStride;
11202 deUint32 minSequencesCountBufferOffsetAlignment;
11203 deUint32 minSequencesIndexBufferOffsetAlignment;
11204 deUint32 minIndirectCommandsBufferOffsetAlignment;
11205 } VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV;
11207 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
11208 VkStructureType sType;
11210 VkBool32 deviceGeneratedCommands;
11211 } VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV;
11213 typedef struct VkGraphicsShaderGroupCreateInfoNV {
11214 VkStructureType sType;
11216 deUint32 stageCount;
11217 const VkPipelineShaderStageCreateInfo* pStages;
11218 const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
11219 const VkPipelineTessellationStateCreateInfo* pTessellationState;
11220 } VkGraphicsShaderGroupCreateInfoNV;
11222 typedef struct VkGraphicsPipelineShaderGroupsCreateInfoNV {
11223 VkStructureType sType;
11225 deUint32 groupCount;
11226 const VkGraphicsShaderGroupCreateInfoNV* pGroups;
11227 deUint32 pipelineCount;
11228 const VkPipeline* pPipelines;
11229 } VkGraphicsPipelineShaderGroupsCreateInfoNV;
11231 typedef struct VkBindShaderGroupIndirectCommandNV {
11232 deUint32 groupIndex;
11233 } VkBindShaderGroupIndirectCommandNV;
11235 typedef struct VkBindIndexBufferIndirectCommandNV {
11236 VkDeviceAddress bufferAddress;
11238 VkIndexType indexType;
11239 } VkBindIndexBufferIndirectCommandNV;
11241 typedef struct VkBindVertexBufferIndirectCommandNV {
11242 VkDeviceAddress bufferAddress;
11245 } VkBindVertexBufferIndirectCommandNV;
11247 typedef struct VkSetStateFlagsIndirectCommandNV {
11249 } VkSetStateFlagsIndirectCommandNV;
11251 typedef struct VkIndirectCommandsStreamNV {
11253 VkDeviceSize offset;
11254 } VkIndirectCommandsStreamNV;
11256 typedef struct VkIndirectCommandsLayoutTokenNV {
11257 VkStructureType sType;
11259 VkIndirectCommandsTokenTypeNV tokenType;
11262 deUint32 vertexBindingUnit;
11263 VkBool32 vertexDynamicStride;
11264 VkPipelineLayout pushconstantPipelineLayout;
11265 VkShaderStageFlags pushconstantShaderStageFlags;
11266 deUint32 pushconstantOffset;
11267 deUint32 pushconstantSize;
11268 VkIndirectStateFlagsNV indirectStateFlags;
11269 deUint32 indexTypeCount;
11270 const VkIndexType* pIndexTypes;
11271 const deUint32* pIndexTypeValues;
11272 } VkIndirectCommandsLayoutTokenNV;
11274 typedef struct VkIndirectCommandsLayoutCreateInfoNV {
11275 VkStructureType sType;
11277 VkIndirectCommandsLayoutUsageFlagsNV flags;
11278 VkPipelineBindPoint pipelineBindPoint;
11279 deUint32 tokenCount;
11280 const VkIndirectCommandsLayoutTokenNV* pTokens;
11281 deUint32 streamCount;
11282 const deUint32* pStreamStrides;
11283 } VkIndirectCommandsLayoutCreateInfoNV;
11285 typedef struct VkGeneratedCommandsInfoNV {
11286 VkStructureType sType;
11288 VkPipelineBindPoint pipelineBindPoint;
11289 VkPipeline pipeline;
11290 VkIndirectCommandsLayoutNV indirectCommandsLayout;
11291 deUint32 streamCount;
11292 const VkIndirectCommandsStreamNV* pStreams;
11293 deUint32 sequencesCount;
11294 VkBuffer preprocessBuffer;
11295 VkDeviceSize preprocessOffset;
11296 VkDeviceSize preprocessSize;
11297 VkBuffer sequencesCountBuffer;
11298 VkDeviceSize sequencesCountOffset;
11299 VkBuffer sequencesIndexBuffer;
11300 VkDeviceSize sequencesIndexOffset;
11301 } VkGeneratedCommandsInfoNV;
11303 typedef struct VkGeneratedCommandsMemoryRequirementsInfoNV {
11304 VkStructureType sType;
11306 VkPipelineBindPoint pipelineBindPoint;
11307 VkPipeline pipeline;
11308 VkIndirectCommandsLayoutNV indirectCommandsLayout;
11309 deUint32 maxSequencesCount;
11310 } VkGeneratedCommandsMemoryRequirementsInfoNV;
11312 typedef void (VKAPI_PTR *PFN_vkGetGeneratedCommandsMemoryRequirementsNV)(VkDevice device, const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2* pMemoryRequirements);
11313 typedef void (VKAPI_PTR *PFN_vkCmdPreprocessGeneratedCommandsNV)(VkCommandBuffer commandBuffer, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
11314 typedef void (VKAPI_PTR *PFN_vkCmdExecuteGeneratedCommandsNV)(VkCommandBuffer commandBuffer, VkBool32 isPreprocessed, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
11315 typedef void (VKAPI_PTR *PFN_vkCmdBindPipelineShaderGroupNV)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline, deUint32 groupIndex);
11316 typedef VkResult (VKAPI_PTR *PFN_vkCreateIndirectCommandsLayoutNV)(VkDevice device, const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNV* pIndirectCommandsLayout);
11317 typedef void (VKAPI_PTR *PFN_vkDestroyIndirectCommandsLayoutNV)(VkDevice device, VkIndirectCommandsLayoutNV indirectCommandsLayout, const VkAllocationCallbacks* pAllocator);
11319 #ifndef VK_NO_PROTOTYPES
11320 VKAPI_ATTR void VKAPI_CALL vkGetGeneratedCommandsMemoryRequirementsNV(
11322 const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo,
11323 VkMemoryRequirements2* pMemoryRequirements);
11325 VKAPI_ATTR void VKAPI_CALL vkCmdPreprocessGeneratedCommandsNV(
11326 VkCommandBuffer commandBuffer,
11327 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
11329 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteGeneratedCommandsNV(
11330 VkCommandBuffer commandBuffer,
11331 VkBool32 isPreprocessed,
11332 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
11334 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipelineShaderGroupNV(
11335 VkCommandBuffer commandBuffer,
11336 VkPipelineBindPoint pipelineBindPoint,
11337 VkPipeline pipeline,
11338 deUint32 groupIndex);
11340 VKAPI_ATTR VkResult VKAPI_CALL vkCreateIndirectCommandsLayoutNV(
11342 const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo,
11343 const VkAllocationCallbacks* pAllocator,
11344 VkIndirectCommandsLayoutNV* pIndirectCommandsLayout);
11346 VKAPI_ATTR void VKAPI_CALL vkDestroyIndirectCommandsLayoutNV(
11348 VkIndirectCommandsLayoutNV indirectCommandsLayout,
11349 const VkAllocationCallbacks* pAllocator);
11353 #define VK_EXT_texel_buffer_alignment 1
11354 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION 1
11355 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME "VK_EXT_texel_buffer_alignment"
11356 typedef struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT {
11357 VkStructureType sType;
11359 VkBool32 texelBufferAlignment;
11360 } VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT;
11362 typedef struct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT {
11363 VkStructureType sType;
11365 VkDeviceSize storageTexelBufferOffsetAlignmentBytes;
11366 VkBool32 storageTexelBufferOffsetSingleTexelAlignment;
11367 VkDeviceSize uniformTexelBufferOffsetAlignmentBytes;
11368 VkBool32 uniformTexelBufferOffsetSingleTexelAlignment;
11369 } VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT;
11373 #define VK_QCOM_render_pass_transform 1
11374 #define VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION 1
11375 #define VK_QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME "VK_QCOM_render_pass_transform"
11376 typedef struct VkRenderPassTransformBeginInfoQCOM {
11377 VkStructureType sType;
11379 VkSurfaceTransformFlagBitsKHR transform;
11380 } VkRenderPassTransformBeginInfoQCOM;
11382 typedef struct VkCommandBufferInheritanceRenderPassTransformInfoQCOM {
11383 VkStructureType sType;
11385 VkSurfaceTransformFlagBitsKHR transform;
11386 VkRect2D renderArea;
11387 } VkCommandBufferInheritanceRenderPassTransformInfoQCOM;
11391 #define VK_EXT_device_memory_report 1
11392 #define VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION 2
11393 #define VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME "VK_EXT_device_memory_report"
11395 typedef enum VkDeviceMemoryReportEventTypeEXT {
11396 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT = 0,
11397 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT = 1,
11398 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT = 2,
11399 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT = 3,
11400 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT = 4,
11401 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
11402 } VkDeviceMemoryReportEventTypeEXT;
11403 typedef VkFlags VkDeviceMemoryReportFlagsEXT;
11404 typedef struct VkPhysicalDeviceDeviceMemoryReportFeaturesEXT {
11405 VkStructureType sType;
11407 VkBool32 deviceMemoryReport;
11408 } VkPhysicalDeviceDeviceMemoryReportFeaturesEXT;
11410 typedef struct VkDeviceMemoryReportCallbackDataEXT {
11411 VkStructureType sType;
11413 VkDeviceMemoryReportFlagsEXT flags;
11414 VkDeviceMemoryReportEventTypeEXT type;
11415 deUint64 memoryObjectId;
11417 VkObjectType objectType;
11418 deUint64 objectHandle;
11419 deUint32 heapIndex;
11420 } VkDeviceMemoryReportCallbackDataEXT;
11422 typedef void (VKAPI_PTR *PFN_vkDeviceMemoryReportCallbackEXT)(
11423 const VkDeviceMemoryReportCallbackDataEXT* pCallbackData,
11426 typedef struct VkDeviceDeviceMemoryReportCreateInfoEXT {
11427 VkStructureType sType;
11429 VkDeviceMemoryReportFlagsEXT flags;
11430 PFN_vkDeviceMemoryReportCallbackEXT pfnUserCallback;
11432 } VkDeviceDeviceMemoryReportCreateInfoEXT;
11436 #define VK_EXT_robustness2 1
11437 #define VK_EXT_ROBUSTNESS_2_SPEC_VERSION 1
11438 #define VK_EXT_ROBUSTNESS_2_EXTENSION_NAME "VK_EXT_robustness2"
11439 typedef struct VkPhysicalDeviceRobustness2FeaturesEXT {
11440 VkStructureType sType;
11442 VkBool32 robustBufferAccess2;
11443 VkBool32 robustImageAccess2;
11444 VkBool32 nullDescriptor;
11445 } VkPhysicalDeviceRobustness2FeaturesEXT;
11447 typedef struct VkPhysicalDeviceRobustness2PropertiesEXT {
11448 VkStructureType sType;
11450 VkDeviceSize robustStorageBufferAccessSizeAlignment;
11451 VkDeviceSize robustUniformBufferAccessSizeAlignment;
11452 } VkPhysicalDeviceRobustness2PropertiesEXT;
11456 #define VK_EXT_custom_border_color 1
11457 #define VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION 12
11458 #define VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME "VK_EXT_custom_border_color"
11459 typedef struct VkSamplerCustomBorderColorCreateInfoEXT {
11460 VkStructureType sType;
11462 VkClearColorValue customBorderColor;
11464 } VkSamplerCustomBorderColorCreateInfoEXT;
11466 typedef struct VkPhysicalDeviceCustomBorderColorPropertiesEXT {
11467 VkStructureType sType;
11469 deUint32 maxCustomBorderColorSamplers;
11470 } VkPhysicalDeviceCustomBorderColorPropertiesEXT;
11472 typedef struct VkPhysicalDeviceCustomBorderColorFeaturesEXT {
11473 VkStructureType sType;
11475 VkBool32 customBorderColors;
11476 VkBool32 customBorderColorWithoutFormat;
11477 } VkPhysicalDeviceCustomBorderColorFeaturesEXT;
11481 #define VK_GOOGLE_user_type 1
11482 #define VK_GOOGLE_USER_TYPE_SPEC_VERSION 1
11483 #define VK_GOOGLE_USER_TYPE_EXTENSION_NAME "VK_GOOGLE_user_type"
11486 #define VK_EXT_private_data 1
11487 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPrivateDataSlotEXT)
11488 #define VK_EXT_PRIVATE_DATA_SPEC_VERSION 1
11489 #define VK_EXT_PRIVATE_DATA_EXTENSION_NAME "VK_EXT_private_data"
11491 typedef enum VkPrivateDataSlotCreateFlagBitsEXT {
11492 VK_PRIVATE_DATA_SLOT_CREATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
11493 } VkPrivateDataSlotCreateFlagBitsEXT;
11494 typedef VkFlags VkPrivateDataSlotCreateFlagsEXT;
11495 typedef struct VkPhysicalDevicePrivateDataFeaturesEXT {
11496 VkStructureType sType;
11498 VkBool32 privateData;
11499 } VkPhysicalDevicePrivateDataFeaturesEXT;
11501 typedef struct VkDevicePrivateDataCreateInfoEXT {
11502 VkStructureType sType;
11504 deUint32 privateDataSlotRequestCount;
11505 } VkDevicePrivateDataCreateInfoEXT;
11507 typedef struct VkPrivateDataSlotCreateInfoEXT {
11508 VkStructureType sType;
11510 VkPrivateDataSlotCreateFlagsEXT flags;
11511 } VkPrivateDataSlotCreateInfoEXT;
11513 typedef VkResult (VKAPI_PTR *PFN_vkCreatePrivateDataSlotEXT)(VkDevice device, const VkPrivateDataSlotCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlotEXT* pPrivateDataSlot);
11514 typedef void (VKAPI_PTR *PFN_vkDestroyPrivateDataSlotEXT)(VkDevice device, VkPrivateDataSlotEXT privateDataSlot, const VkAllocationCallbacks* pAllocator);
11515 typedef VkResult (VKAPI_PTR *PFN_vkSetPrivateDataEXT)(VkDevice device, VkObjectType objectType, deUint64 objectHandle, VkPrivateDataSlotEXT privateDataSlot, deUint64 data);
11516 typedef void (VKAPI_PTR *PFN_vkGetPrivateDataEXT)(VkDevice device, VkObjectType objectType, deUint64 objectHandle, VkPrivateDataSlotEXT privateDataSlot, deUint64* pData);
11518 #ifndef VK_NO_PROTOTYPES
11519 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePrivateDataSlotEXT(
11521 const VkPrivateDataSlotCreateInfoEXT* pCreateInfo,
11522 const VkAllocationCallbacks* pAllocator,
11523 VkPrivateDataSlotEXT* pPrivateDataSlot);
11525 VKAPI_ATTR void VKAPI_CALL vkDestroyPrivateDataSlotEXT(
11527 VkPrivateDataSlotEXT privateDataSlot,
11528 const VkAllocationCallbacks* pAllocator);
11530 VKAPI_ATTR VkResult VKAPI_CALL vkSetPrivateDataEXT(
11532 VkObjectType objectType,
11533 deUint64 objectHandle,
11534 VkPrivateDataSlotEXT privateDataSlot,
11537 VKAPI_ATTR void VKAPI_CALL vkGetPrivateDataEXT(
11539 VkObjectType objectType,
11540 deUint64 objectHandle,
11541 VkPrivateDataSlotEXT privateDataSlot,
11546 #define VK_EXT_pipeline_creation_cache_control 1
11547 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION 3
11548 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME "VK_EXT_pipeline_creation_cache_control"
11549 typedef struct VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT {
11550 VkStructureType sType;
11552 VkBool32 pipelineCreationCacheControl;
11553 } VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT;
11557 #define VK_NV_device_diagnostics_config 1
11558 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION 1
11559 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME "VK_NV_device_diagnostics_config"
11561 typedef enum VkDeviceDiagnosticsConfigFlagBitsNV {
11562 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV = 0x00000001,
11563 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV = 0x00000002,
11564 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV = 0x00000004,
11565 VK_DEVICE_DIAGNOSTICS_CONFIG_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
11566 } VkDeviceDiagnosticsConfigFlagBitsNV;
11567 typedef VkFlags VkDeviceDiagnosticsConfigFlagsNV;
11568 typedef struct VkPhysicalDeviceDiagnosticsConfigFeaturesNV {
11569 VkStructureType sType;
11571 VkBool32 diagnosticsConfig;
11572 } VkPhysicalDeviceDiagnosticsConfigFeaturesNV;
11574 typedef struct VkDeviceDiagnosticsConfigCreateInfoNV {
11575 VkStructureType sType;
11577 VkDeviceDiagnosticsConfigFlagsNV flags;
11578 } VkDeviceDiagnosticsConfigCreateInfoNV;
11582 #define VK_QCOM_render_pass_store_ops 1
11583 #define VK_QCOM_render_pass_store_ops_SPEC_VERSION 2
11584 #define VK_QCOM_render_pass_store_ops_EXTENSION_NAME "VK_QCOM_render_pass_store_ops"
11587 #define VK_NV_fragment_shading_rate_enums 1
11588 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION 1
11589 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME "VK_NV_fragment_shading_rate_enums"
11591 typedef enum VkFragmentShadingRateTypeNV {
11592 VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV = 0,
11593 VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV = 1,
11594 VK_FRAGMENT_SHADING_RATE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
11595 } VkFragmentShadingRateTypeNV;
11597 typedef enum VkFragmentShadingRateNV {
11598 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV = 0,
11599 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV = 1,
11600 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV = 4,
11601 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV = 5,
11602 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV = 6,
11603 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV = 9,
11604 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV = 10,
11605 VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV = 11,
11606 VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV = 12,
11607 VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV = 13,
11608 VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV = 14,
11609 VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV = 15,
11610 VK_FRAGMENT_SHADING_RATE_MAX_ENUM_NV = 0x7FFFFFFF
11611 } VkFragmentShadingRateNV;
11612 typedef struct VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV {
11613 VkStructureType sType;
11615 VkBool32 fragmentShadingRateEnums;
11616 VkBool32 supersampleFragmentShadingRates;
11617 VkBool32 noInvocationFragmentShadingRates;
11618 } VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV;
11620 typedef struct VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV {
11621 VkStructureType sType;
11623 VkSampleCountFlagBits maxFragmentShadingRateInvocationCount;
11624 } VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV;
11626 typedef struct VkPipelineFragmentShadingRateEnumStateCreateInfoNV {
11627 VkStructureType sType;
11629 VkFragmentShadingRateTypeNV shadingRateType;
11630 VkFragmentShadingRateNV shadingRate;
11631 VkFragmentShadingRateCombinerOpKHR combinerOps[2];
11632 } VkPipelineFragmentShadingRateEnumStateCreateInfoNV;
11634 typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateEnumNV)(VkCommandBuffer commandBuffer, VkFragmentShadingRateNV shadingRate, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
11636 #ifndef VK_NO_PROTOTYPES
11637 VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateEnumNV(
11638 VkCommandBuffer commandBuffer,
11639 VkFragmentShadingRateNV shadingRate,
11640 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
11644 #define VK_EXT_fragment_density_map2 1
11645 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION 1
11646 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME "VK_EXT_fragment_density_map2"
11647 typedef struct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT {
11648 VkStructureType sType;
11650 VkBool32 fragmentDensityMapDeferred;
11651 } VkPhysicalDeviceFragmentDensityMap2FeaturesEXT;
11653 typedef struct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT {
11654 VkStructureType sType;
11656 VkBool32 subsampledLoads;
11657 VkBool32 subsampledCoarseReconstructionEarlyAccess;
11658 deUint32 maxSubsampledArrayLayers;
11659 deUint32 maxDescriptorSetSubsampledSamplers;
11660 } VkPhysicalDeviceFragmentDensityMap2PropertiesEXT;
11664 #define VK_QCOM_rotated_copy_commands 1
11665 #define VK_QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION 0
11666 #define VK_QCOM_ROTATED_COPY_COMMANDS_EXTENSION_NAME "VK_QCOM_rotated_copy_commands"
11667 typedef struct VkCopyCommandTransformInfoQCOM {
11668 VkStructureType sType;
11670 VkSurfaceTransformFlagBitsKHR transform;
11671 } VkCopyCommandTransformInfoQCOM;
11675 #define VK_EXT_image_robustness 1
11676 #define VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION 1
11677 #define VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_image_robustness"
11678 typedef struct VkPhysicalDeviceImageRobustnessFeaturesEXT {
11679 VkStructureType sType;
11681 VkBool32 robustImageAccess;
11682 } VkPhysicalDeviceImageRobustnessFeaturesEXT;
11686 #define VK_EXT_4444_formats 1
11687 #define VK_EXT_4444_FORMATS_SPEC_VERSION 1
11688 #define VK_EXT_4444_FORMATS_EXTENSION_NAME "VK_EXT_4444_formats"
11689 typedef struct VkPhysicalDevice4444FormatsFeaturesEXT {
11690 VkStructureType sType;
11692 VkBool32 formatA4R4G4B4;
11693 VkBool32 formatA4B4G4R4;
11694 } VkPhysicalDevice4444FormatsFeaturesEXT;
11698 #define VK_NV_acquire_winrt_display 1
11699 #define VK_NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION 1
11700 #define VK_NV_ACQUIRE_WINRT_DISPLAY_EXTENSION_NAME "VK_NV_acquire_winrt_display"
11701 typedef VkResult (VKAPI_PTR *PFN_vkAcquireWinrtDisplayNV)(VkPhysicalDevice physicalDevice, VkDisplayKHR display);
11702 typedef VkResult (VKAPI_PTR *PFN_vkGetWinrtDisplayNV)(VkPhysicalDevice physicalDevice, deUint32 deviceRelativeId, VkDisplayKHR* pDisplay);
11704 #ifndef VK_NO_PROTOTYPES
11705 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireWinrtDisplayNV(
11706 VkPhysicalDevice physicalDevice,
11707 VkDisplayKHR display);
11709 VKAPI_ATTR VkResult VKAPI_CALL vkGetWinrtDisplayNV(
11710 VkPhysicalDevice physicalDevice,
11711 deUint32 deviceRelativeId,
11712 VkDisplayKHR* pDisplay);
11716 #define VK_VALVE_mutable_descriptor_type 1
11717 #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION 1
11718 #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME "VK_VALVE_mutable_descriptor_type"
11719 typedef struct VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE {
11720 VkStructureType sType;
11722 VkBool32 mutableDescriptorType;
11723 } VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE;
11725 typedef struct VkMutableDescriptorTypeListVALVE {
11726 deUint32 descriptorTypeCount;
11727 const VkDescriptorType* pDescriptorTypes;
11728 } VkMutableDescriptorTypeListVALVE;
11730 typedef struct VkMutableDescriptorTypeCreateInfoVALVE {
11731 VkStructureType sType;
11733 deUint32 mutableDescriptorTypeListCount;
11734 const VkMutableDescriptorTypeListVALVE* pMutableDescriptorTypeLists;
11735 } VkMutableDescriptorTypeCreateInfoVALVE;
11739 #define VK_KHR_acceleration_structure 1
11740 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR)
11741 #define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 11
11742 #define VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME "VK_KHR_acceleration_structure"
11744 typedef enum VkBuildAccelerationStructureModeKHR {
11745 VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR = 0,
11746 VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR = 1,
11747 VK_BUILD_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
11748 } VkBuildAccelerationStructureModeKHR;
11750 typedef enum VkAccelerationStructureBuildTypeKHR {
11751 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR = 0,
11752 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR = 1,
11753 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR = 2,
11754 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
11755 } VkAccelerationStructureBuildTypeKHR;
11757 typedef enum VkAccelerationStructureCompatibilityKHR {
11758 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR = 0,
11759 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR = 1,
11760 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_MAX_ENUM_KHR = 0x7FFFFFFF
11761 } VkAccelerationStructureCompatibilityKHR;
11763 typedef enum VkAccelerationStructureCreateFlagBitsKHR {
11764 VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = 0x00000001,
11765 VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
11766 } VkAccelerationStructureCreateFlagBitsKHR;
11767 typedef VkFlags VkAccelerationStructureCreateFlagsKHR;
11768 typedef union VkDeviceOrHostAddressKHR {
11769 VkDeviceAddress deviceAddress;
11771 } VkDeviceOrHostAddressKHR;
11773 typedef union VkDeviceOrHostAddressConstKHR {
11774 VkDeviceAddress deviceAddress;
11775 const void* hostAddress;
11776 } VkDeviceOrHostAddressConstKHR;
11778 typedef struct VkAccelerationStructureBuildRangeInfoKHR {
11779 deUint32 primitiveCount;
11780 deUint32 primitiveOffset;
11781 deUint32 firstVertex;
11782 deUint32 transformOffset;
11783 } VkAccelerationStructureBuildRangeInfoKHR;
11785 typedef struct VkAccelerationStructureGeometryTrianglesDataKHR {
11786 VkStructureType sType;
11788 VkFormat vertexFormat;
11789 VkDeviceOrHostAddressConstKHR vertexData;
11790 VkDeviceSize vertexStride;
11791 deUint32 maxVertex;
11792 VkIndexType indexType;
11793 VkDeviceOrHostAddressConstKHR indexData;
11794 VkDeviceOrHostAddressConstKHR transformData;
11795 } VkAccelerationStructureGeometryTrianglesDataKHR;
11797 typedef struct VkAccelerationStructureGeometryAabbsDataKHR {
11798 VkStructureType sType;
11800 VkDeviceOrHostAddressConstKHR data;
11801 VkDeviceSize stride;
11802 } VkAccelerationStructureGeometryAabbsDataKHR;
11804 typedef struct VkAccelerationStructureGeometryInstancesDataKHR {
11805 VkStructureType sType;
11807 VkBool32 arrayOfPointers;
11808 VkDeviceOrHostAddressConstKHR data;
11809 } VkAccelerationStructureGeometryInstancesDataKHR;
11811 typedef union VkAccelerationStructureGeometryDataKHR {
11812 VkAccelerationStructureGeometryTrianglesDataKHR triangles;
11813 VkAccelerationStructureGeometryAabbsDataKHR aabbs;
11814 VkAccelerationStructureGeometryInstancesDataKHR instances;
11815 } VkAccelerationStructureGeometryDataKHR;
11817 typedef struct VkAccelerationStructureGeometryKHR {
11818 VkStructureType sType;
11820 VkGeometryTypeKHR geometryType;
11821 VkAccelerationStructureGeometryDataKHR geometry;
11822 VkGeometryFlagsKHR flags;
11823 } VkAccelerationStructureGeometryKHR;
11825 typedef struct VkAccelerationStructureBuildGeometryInfoKHR {
11826 VkStructureType sType;
11828 VkAccelerationStructureTypeKHR type;
11829 VkBuildAccelerationStructureFlagsKHR flags;
11830 VkBuildAccelerationStructureModeKHR mode;
11831 VkAccelerationStructureKHR srcAccelerationStructure;
11832 VkAccelerationStructureKHR dstAccelerationStructure;
11833 deUint32 geometryCount;
11834 const VkAccelerationStructureGeometryKHR* pGeometries;
11835 const VkAccelerationStructureGeometryKHR* const* ppGeometries;
11836 VkDeviceOrHostAddressKHR scratchData;
11837 } VkAccelerationStructureBuildGeometryInfoKHR;
11839 typedef struct VkAccelerationStructureCreateInfoKHR {
11840 VkStructureType sType;
11842 VkAccelerationStructureCreateFlagsKHR createFlags;
11844 VkDeviceSize offset;
11846 VkAccelerationStructureTypeKHR type;
11847 VkDeviceAddress deviceAddress;
11848 } VkAccelerationStructureCreateInfoKHR;
11850 typedef struct VkWriteDescriptorSetAccelerationStructureKHR {
11851 VkStructureType sType;
11853 deUint32 accelerationStructureCount;
11854 const VkAccelerationStructureKHR* pAccelerationStructures;
11855 } VkWriteDescriptorSetAccelerationStructureKHR;
11857 typedef struct VkPhysicalDeviceAccelerationStructureFeaturesKHR {
11858 VkStructureType sType;
11860 VkBool32 accelerationStructure;
11861 VkBool32 accelerationStructureCaptureReplay;
11862 VkBool32 accelerationStructureIndirectBuild;
11863 VkBool32 accelerationStructureHostCommands;
11864 VkBool32 descriptorBindingAccelerationStructureUpdateAfterBind;
11865 } VkPhysicalDeviceAccelerationStructureFeaturesKHR;
11867 typedef struct VkPhysicalDeviceAccelerationStructurePropertiesKHR {
11868 VkStructureType sType;
11870 deUint64 maxGeometryCount;
11871 deUint64 maxInstanceCount;
11872 deUint64 maxPrimitiveCount;
11873 deUint32 maxPerStageDescriptorAccelerationStructures;
11874 deUint32 maxPerStageDescriptorUpdateAfterBindAccelerationStructures;
11875 deUint32 maxDescriptorSetAccelerationStructures;
11876 deUint32 maxDescriptorSetUpdateAfterBindAccelerationStructures;
11877 deUint32 minAccelerationStructureScratchOffsetAlignment;
11878 } VkPhysicalDeviceAccelerationStructurePropertiesKHR;
11880 typedef struct VkAccelerationStructureDeviceAddressInfoKHR {
11881 VkStructureType sType;
11883 VkAccelerationStructureKHR accelerationStructure;
11884 } VkAccelerationStructureDeviceAddressInfoKHR;
11886 typedef struct VkAccelerationStructureVersionInfoKHR {
11887 VkStructureType sType;
11889 const deUint8* pVersionData;
11890 } VkAccelerationStructureVersionInfoKHR;
11892 typedef struct VkCopyAccelerationStructureToMemoryInfoKHR {
11893 VkStructureType sType;
11895 VkAccelerationStructureKHR src;
11896 VkDeviceOrHostAddressKHR dst;
11897 VkCopyAccelerationStructureModeKHR mode;
11898 } VkCopyAccelerationStructureToMemoryInfoKHR;
11900 typedef struct VkCopyMemoryToAccelerationStructureInfoKHR {
11901 VkStructureType sType;
11903 VkDeviceOrHostAddressConstKHR src;
11904 VkAccelerationStructureKHR dst;
11905 VkCopyAccelerationStructureModeKHR mode;
11906 } VkCopyMemoryToAccelerationStructureInfoKHR;
11908 typedef struct VkCopyAccelerationStructureInfoKHR {
11909 VkStructureType sType;
11911 VkAccelerationStructureKHR src;
11912 VkAccelerationStructureKHR dst;
11913 VkCopyAccelerationStructureModeKHR mode;
11914 } VkCopyAccelerationStructureInfoKHR;
11916 typedef struct VkAccelerationStructureBuildSizesInfoKHR {
11917 VkStructureType sType;
11919 VkDeviceSize accelerationStructureSize;
11920 VkDeviceSize updateScratchSize;
11921 VkDeviceSize buildScratchSize;
11922 } VkAccelerationStructureBuildSizesInfoKHR;
11924 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureKHR)(VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure);
11925 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureKHR)(VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator);
11926 typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructuresKHR)(VkCommandBuffer commandBuffer, deUint32 infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
11927 typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructuresIndirectKHR)(VkCommandBuffer commandBuffer, deUint32 infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkDeviceAddress* pIndirectDeviceAddresses, const deUint32* pIndirectStrides, const deUint32* const* ppMaxPrimitiveCounts);
11928 typedef VkResult (VKAPI_PTR *PFN_vkBuildAccelerationStructuresKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, deUint32 infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
11929 typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureInfoKHR* pInfo);
11930 typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureToMemoryKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
11931 typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
11932 typedef VkResult (VKAPI_PTR *PFN_vkWriteAccelerationStructuresPropertiesKHR)(VkDevice device, deUint32 accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, deUintptr dataSize, void* pData, deUintptr stride);
11933 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureInfoKHR* pInfo);
11934 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureToMemoryKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
11935 typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
11936 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetAccelerationStructureDeviceAddressKHR)(VkDevice device, const VkAccelerationStructureDeviceAddressInfoKHR* pInfo);
11937 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesKHR)(VkCommandBuffer commandBuffer, deUint32 accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, deUint32 firstQuery);
11938 typedef void (VKAPI_PTR *PFN_vkGetDeviceAccelerationStructureCompatibilityKHR)(VkDevice device, const VkAccelerationStructureVersionInfoKHR* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility);
11939 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureBuildSizesKHR)(VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo, const deUint32* pMaxPrimitiveCounts, VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo);
11941 #ifndef VK_NO_PROTOTYPES
11942 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureKHR(
11944 const VkAccelerationStructureCreateInfoKHR* pCreateInfo,
11945 const VkAllocationCallbacks* pAllocator,
11946 VkAccelerationStructureKHR* pAccelerationStructure);
11948 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureKHR(
11950 VkAccelerationStructureKHR accelerationStructure,
11951 const VkAllocationCallbacks* pAllocator);
11953 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresKHR(
11954 VkCommandBuffer commandBuffer,
11955 deUint32 infoCount,
11956 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
11957 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
11959 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresIndirectKHR(
11960 VkCommandBuffer commandBuffer,
11961 deUint32 infoCount,
11962 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
11963 const VkDeviceAddress* pIndirectDeviceAddresses,
11964 const deUint32* pIndirectStrides,
11965 const deUint32* const* ppMaxPrimitiveCounts);
11967 VKAPI_ATTR VkResult VKAPI_CALL vkBuildAccelerationStructuresKHR(
11969 VkDeferredOperationKHR deferredOperation,
11970 deUint32 infoCount,
11971 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
11972 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
11974 VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureKHR(
11976 VkDeferredOperationKHR deferredOperation,
11977 const VkCopyAccelerationStructureInfoKHR* pInfo);
11979 VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureToMemoryKHR(
11981 VkDeferredOperationKHR deferredOperation,
11982 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
11984 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToAccelerationStructureKHR(
11986 VkDeferredOperationKHR deferredOperation,
11987 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
11989 VKAPI_ATTR VkResult VKAPI_CALL vkWriteAccelerationStructuresPropertiesKHR(
11991 deUint32 accelerationStructureCount,
11992 const VkAccelerationStructureKHR* pAccelerationStructures,
11993 VkQueryType queryType,
11994 deUintptr dataSize,
11998 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureKHR(
11999 VkCommandBuffer commandBuffer,
12000 const VkCopyAccelerationStructureInfoKHR* pInfo);
12002 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureToMemoryKHR(
12003 VkCommandBuffer commandBuffer,
12004 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
12006 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToAccelerationStructureKHR(
12007 VkCommandBuffer commandBuffer,
12008 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
12010 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetAccelerationStructureDeviceAddressKHR(
12012 const VkAccelerationStructureDeviceAddressInfoKHR* pInfo);
12014 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesKHR(
12015 VkCommandBuffer commandBuffer,
12016 deUint32 accelerationStructureCount,
12017 const VkAccelerationStructureKHR* pAccelerationStructures,
12018 VkQueryType queryType,
12019 VkQueryPool queryPool,
12020 deUint32 firstQuery);
12022 VKAPI_ATTR void VKAPI_CALL vkGetDeviceAccelerationStructureCompatibilityKHR(
12024 const VkAccelerationStructureVersionInfoKHR* pVersionInfo,
12025 VkAccelerationStructureCompatibilityKHR* pCompatibility);
12027 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureBuildSizesKHR(
12029 VkAccelerationStructureBuildTypeKHR buildType,
12030 const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo,
12031 const deUint32* pMaxPrimitiveCounts,
12032 VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo);
12036 #define VK_KHR_ray_tracing_pipeline 1
12037 #define VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION 1
12038 #define VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME "VK_KHR_ray_tracing_pipeline"
12040 typedef enum VkShaderGroupShaderKHR {
12041 VK_SHADER_GROUP_SHADER_GENERAL_KHR = 0,
12042 VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR = 1,
12043 VK_SHADER_GROUP_SHADER_ANY_HIT_KHR = 2,
12044 VK_SHADER_GROUP_SHADER_INTERSECTION_KHR = 3,
12045 VK_SHADER_GROUP_SHADER_MAX_ENUM_KHR = 0x7FFFFFFF
12046 } VkShaderGroupShaderKHR;
12047 typedef struct VkRayTracingShaderGroupCreateInfoKHR {
12048 VkStructureType sType;
12050 VkRayTracingShaderGroupTypeKHR type;
12051 deUint32 generalShader;
12052 deUint32 closestHitShader;
12053 deUint32 anyHitShader;
12054 deUint32 intersectionShader;
12055 const void* pShaderGroupCaptureReplayHandle;
12056 } VkRayTracingShaderGroupCreateInfoKHR;
12058 typedef struct VkRayTracingPipelineInterfaceCreateInfoKHR {
12059 VkStructureType sType;
12061 deUint32 maxPipelineRayPayloadSize;
12062 deUint32 maxPipelineRayHitAttributeSize;
12063 } VkRayTracingPipelineInterfaceCreateInfoKHR;
12065 typedef struct VkRayTracingPipelineCreateInfoKHR {
12066 VkStructureType sType;
12068 VkPipelineCreateFlags flags;
12069 deUint32 stageCount;
12070 const VkPipelineShaderStageCreateInfo* pStages;
12071 deUint32 groupCount;
12072 const VkRayTracingShaderGroupCreateInfoKHR* pGroups;
12073 deUint32 maxPipelineRayRecursionDepth;
12074 const VkPipelineLibraryCreateInfoKHR* pLibraryInfo;
12075 const VkRayTracingPipelineInterfaceCreateInfoKHR* pLibraryInterface;
12076 const VkPipelineDynamicStateCreateInfo* pDynamicState;
12077 VkPipelineLayout layout;
12078 VkPipeline basePipelineHandle;
12079 deInt32 basePipelineIndex;
12080 } VkRayTracingPipelineCreateInfoKHR;
12082 typedef struct VkPhysicalDeviceRayTracingPipelineFeaturesKHR {
12083 VkStructureType sType;
12085 VkBool32 rayTracingPipeline;
12086 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplay;
12087 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplayMixed;
12088 VkBool32 rayTracingPipelineTraceRaysIndirect;
12089 VkBool32 rayTraversalPrimitiveCulling;
12090 } VkPhysicalDeviceRayTracingPipelineFeaturesKHR;
12092 typedef struct VkPhysicalDeviceRayTracingPipelinePropertiesKHR {
12093 VkStructureType sType;
12095 deUint32 shaderGroupHandleSize;
12096 deUint32 maxRayRecursionDepth;
12097 deUint32 maxShaderGroupStride;
12098 deUint32 shaderGroupBaseAlignment;
12099 deUint32 shaderGroupHandleCaptureReplaySize;
12100 deUint32 maxRayDispatchInvocationCount;
12101 deUint32 shaderGroupHandleAlignment;
12102 deUint32 maxRayHitAttributeSize;
12103 } VkPhysicalDeviceRayTracingPipelinePropertiesKHR;
12105 typedef struct VkStridedDeviceAddressRegionKHR {
12106 VkDeviceAddress deviceAddress;
12107 VkDeviceSize stride;
12109 } VkStridedDeviceAddressRegionKHR;
12111 typedef struct VkTraceRaysIndirectCommandKHR {
12115 } VkTraceRaysIndirectCommandKHR;
12117 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);
12118 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
12119 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, deUint32 firstGroup, deUint32 groupCount, deUintptr dataSize, void* pData);
12120 typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysIndirectKHR)(VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, VkDeviceAddress indirectDeviceAddress);
12121 typedef VkDeviceSize (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupStackSizeKHR)(VkDevice device, VkPipeline pipeline, deUint32 group, VkShaderGroupShaderKHR groupShader);
12122 typedef void (VKAPI_PTR *PFN_vkCmdSetRayTracingPipelineStackSizeKHR)(VkCommandBuffer commandBuffer, deUint32 pipelineStackSize);
12124 #ifndef VK_NO_PROTOTYPES
12125 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysKHR(
12126 VkCommandBuffer commandBuffer,
12127 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable,
12128 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable,
12129 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable,
12130 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable,
12135 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesKHR(
12137 VkDeferredOperationKHR deferredOperation,
12138 VkPipelineCache pipelineCache,
12139 deUint32 createInfoCount,
12140 const VkRayTracingPipelineCreateInfoKHR* pCreateInfos,
12141 const VkAllocationCallbacks* pAllocator,
12142 VkPipeline* pPipelines);
12144 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
12146 VkPipeline pipeline,
12147 deUint32 firstGroup,
12148 deUint32 groupCount,
12149 deUintptr dataSize,
12152 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysIndirectKHR(
12153 VkCommandBuffer commandBuffer,
12154 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable,
12155 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable,
12156 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable,
12157 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable,
12158 VkDeviceAddress indirectDeviceAddress);
12160 VKAPI_ATTR VkDeviceSize VKAPI_CALL vkGetRayTracingShaderGroupStackSizeKHR(
12162 VkPipeline pipeline,
12164 VkShaderGroupShaderKHR groupShader);
12166 VKAPI_ATTR void VKAPI_CALL vkCmdSetRayTracingPipelineStackSizeKHR(
12167 VkCommandBuffer commandBuffer,
12168 deUint32 pipelineStackSize);
12172 #define VK_KHR_ray_query 1
12173 #define VK_KHR_RAY_QUERY_SPEC_VERSION 1
12174 #define VK_KHR_RAY_QUERY_EXTENSION_NAME "VK_KHR_ray_query"
12175 typedef struct VkPhysicalDeviceRayQueryFeaturesKHR {
12176 VkStructureType sType;
12179 } VkPhysicalDeviceRayQueryFeaturesKHR;