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