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 149
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_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT = 1000340000,
598 VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT = 1000346000,
599 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
600 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
601 VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
602 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO,
603 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES,
604 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,
605 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2,
606 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2,
607 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2,
608 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2,
609 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2,
610 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2,
611 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2,
612 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2,
613 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2,
614 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO,
615 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO,
616 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO,
617 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO,
618 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO,
619 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO,
620 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO,
621 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES,
622 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO,
623 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO,
624 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES,
625 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO,
626 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES,
627 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES,
628 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO,
629 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO,
630 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO,
631 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO,
632 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES,
633 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO,
634 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
635 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
636 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES,
637 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO,
638 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT,
639 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES,
640 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO,
641 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO,
642 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO,
643 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2,
644 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2,
645 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2,
646 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2,
647 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2,
648 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO,
649 VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_END_INFO,
650 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO,
651 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES,
652 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO,
653 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES,
654 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO,
655 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO,
656 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO,
657 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
658 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR,
659 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS,
660 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO,
661 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES,
662 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO,
663 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2,
664 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2,
665 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2,
666 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2,
667 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2,
668 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO,
669 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO,
670 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO,
671 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO,
672 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO,
673 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,
674 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,
675 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO,
676 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO,
677 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO,
678 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES,
679 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES,
680 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO,
681 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT,
682 VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV = VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_KHR,
683 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR,
684 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,
685 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT,
686 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES,
687 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES,
688 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES,
689 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES,
690 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES,
691 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES,
692 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE,
693 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES,
694 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES,
695 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO,
696 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO,
697 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO,
698 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO,
699 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL = VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL,
700 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES,
701 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES,
702 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES,
703 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT,
704 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT,
705 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT,
706 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
707 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO,
708 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES,
709 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES,
710 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
711 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO,
712 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO,
713 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO,
714 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES,
715 VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF
718 typedef enum VkImageLayout {
719 VK_IMAGE_LAYOUT_UNDEFINED = 0,
720 VK_IMAGE_LAYOUT_GENERAL = 1,
721 VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2,
722 VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3,
723 VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4,
724 VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5,
725 VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6,
726 VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7,
727 VK_IMAGE_LAYOUT_PREINITIALIZED = 8,
728 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL = 1000117000,
729 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL = 1000117001,
730 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL = 1000241000,
731 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL = 1000241001,
732 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL = 1000241002,
733 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL = 1000241003,
734 VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002,
735 VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR = 1000111000,
736 VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = 1000164003,
737 VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000,
738 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,
739 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,
740 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
741 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
742 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL,
743 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL,
744 VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF
747 typedef enum VkObjectType {
748 VK_OBJECT_TYPE_UNKNOWN = 0,
749 VK_OBJECT_TYPE_INSTANCE = 1,
750 VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2,
751 VK_OBJECT_TYPE_DEVICE = 3,
752 VK_OBJECT_TYPE_QUEUE = 4,
753 VK_OBJECT_TYPE_SEMAPHORE = 5,
754 VK_OBJECT_TYPE_COMMAND_BUFFER = 6,
755 VK_OBJECT_TYPE_FENCE = 7,
756 VK_OBJECT_TYPE_DEVICE_MEMORY = 8,
757 VK_OBJECT_TYPE_BUFFER = 9,
758 VK_OBJECT_TYPE_IMAGE = 10,
759 VK_OBJECT_TYPE_EVENT = 11,
760 VK_OBJECT_TYPE_QUERY_POOL = 12,
761 VK_OBJECT_TYPE_BUFFER_VIEW = 13,
762 VK_OBJECT_TYPE_IMAGE_VIEW = 14,
763 VK_OBJECT_TYPE_SHADER_MODULE = 15,
764 VK_OBJECT_TYPE_PIPELINE_CACHE = 16,
765 VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17,
766 VK_OBJECT_TYPE_RENDER_PASS = 18,
767 VK_OBJECT_TYPE_PIPELINE = 19,
768 VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20,
769 VK_OBJECT_TYPE_SAMPLER = 21,
770 VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22,
771 VK_OBJECT_TYPE_DESCRIPTOR_SET = 23,
772 VK_OBJECT_TYPE_FRAMEBUFFER = 24,
773 VK_OBJECT_TYPE_COMMAND_POOL = 25,
774 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION = 1000156000,
775 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE = 1000085000,
776 VK_OBJECT_TYPE_SURFACE_KHR = 1000000000,
777 VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000,
778 VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000,
779 VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001,
780 VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000,
781 VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000,
782 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR = 1000165000,
783 VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000,
784 VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL = 1000210000,
785 VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR = 1000268000,
786 VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV = 1000277000,
787 VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = 1000295000,
788 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,
789 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,
790 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV = VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR,
791 VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF
794 typedef enum VkVendorId {
795 VK_VENDOR_ID_VIV = 0x10001,
796 VK_VENDOR_ID_VSI = 0x10002,
797 VK_VENDOR_ID_KAZAN = 0x10003,
798 VK_VENDOR_ID_CODEPLAY = 0x10004,
799 VK_VENDOR_ID_MESA = 0x10005,
800 VK_VENDOR_ID_MAX_ENUM = 0x7FFFFFFF
803 typedef enum VkPipelineCacheHeaderVersion {
804 VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1,
805 VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF
806 } VkPipelineCacheHeaderVersion;
808 typedef enum VkSystemAllocationScope {
809 VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0,
810 VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1,
811 VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2,
812 VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3,
813 VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4,
814 VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = 0x7FFFFFFF
815 } VkSystemAllocationScope;
817 typedef enum VkInternalAllocationType {
818 VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0,
819 VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM = 0x7FFFFFFF
820 } VkInternalAllocationType;
822 typedef enum VkFormat {
823 VK_FORMAT_UNDEFINED = 0,
824 VK_FORMAT_R4G4_UNORM_PACK8 = 1,
825 VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2,
826 VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3,
827 VK_FORMAT_R5G6B5_UNORM_PACK16 = 4,
828 VK_FORMAT_B5G6R5_UNORM_PACK16 = 5,
829 VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6,
830 VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7,
831 VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8,
832 VK_FORMAT_R8_UNORM = 9,
833 VK_FORMAT_R8_SNORM = 10,
834 VK_FORMAT_R8_USCALED = 11,
835 VK_FORMAT_R8_SSCALED = 12,
836 VK_FORMAT_R8_UINT = 13,
837 VK_FORMAT_R8_SINT = 14,
838 VK_FORMAT_R8_SRGB = 15,
839 VK_FORMAT_R8G8_UNORM = 16,
840 VK_FORMAT_R8G8_SNORM = 17,
841 VK_FORMAT_R8G8_USCALED = 18,
842 VK_FORMAT_R8G8_SSCALED = 19,
843 VK_FORMAT_R8G8_UINT = 20,
844 VK_FORMAT_R8G8_SINT = 21,
845 VK_FORMAT_R8G8_SRGB = 22,
846 VK_FORMAT_R8G8B8_UNORM = 23,
847 VK_FORMAT_R8G8B8_SNORM = 24,
848 VK_FORMAT_R8G8B8_USCALED = 25,
849 VK_FORMAT_R8G8B8_SSCALED = 26,
850 VK_FORMAT_R8G8B8_UINT = 27,
851 VK_FORMAT_R8G8B8_SINT = 28,
852 VK_FORMAT_R8G8B8_SRGB = 29,
853 VK_FORMAT_B8G8R8_UNORM = 30,
854 VK_FORMAT_B8G8R8_SNORM = 31,
855 VK_FORMAT_B8G8R8_USCALED = 32,
856 VK_FORMAT_B8G8R8_SSCALED = 33,
857 VK_FORMAT_B8G8R8_UINT = 34,
858 VK_FORMAT_B8G8R8_SINT = 35,
859 VK_FORMAT_B8G8R8_SRGB = 36,
860 VK_FORMAT_R8G8B8A8_UNORM = 37,
861 VK_FORMAT_R8G8B8A8_SNORM = 38,
862 VK_FORMAT_R8G8B8A8_USCALED = 39,
863 VK_FORMAT_R8G8B8A8_SSCALED = 40,
864 VK_FORMAT_R8G8B8A8_UINT = 41,
865 VK_FORMAT_R8G8B8A8_SINT = 42,
866 VK_FORMAT_R8G8B8A8_SRGB = 43,
867 VK_FORMAT_B8G8R8A8_UNORM = 44,
868 VK_FORMAT_B8G8R8A8_SNORM = 45,
869 VK_FORMAT_B8G8R8A8_USCALED = 46,
870 VK_FORMAT_B8G8R8A8_SSCALED = 47,
871 VK_FORMAT_B8G8R8A8_UINT = 48,
872 VK_FORMAT_B8G8R8A8_SINT = 49,
873 VK_FORMAT_B8G8R8A8_SRGB = 50,
874 VK_FORMAT_A8B8G8R8_UNORM_PACK32 = 51,
875 VK_FORMAT_A8B8G8R8_SNORM_PACK32 = 52,
876 VK_FORMAT_A8B8G8R8_USCALED_PACK32 = 53,
877 VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54,
878 VK_FORMAT_A8B8G8R8_UINT_PACK32 = 55,
879 VK_FORMAT_A8B8G8R8_SINT_PACK32 = 56,
880 VK_FORMAT_A8B8G8R8_SRGB_PACK32 = 57,
881 VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58,
882 VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59,
883 VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 60,
884 VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61,
885 VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62,
886 VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63,
887 VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64,
888 VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65,
889 VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 66,
890 VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67,
891 VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68,
892 VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69,
893 VK_FORMAT_R16_UNORM = 70,
894 VK_FORMAT_R16_SNORM = 71,
895 VK_FORMAT_R16_USCALED = 72,
896 VK_FORMAT_R16_SSCALED = 73,
897 VK_FORMAT_R16_UINT = 74,
898 VK_FORMAT_R16_SINT = 75,
899 VK_FORMAT_R16_SFLOAT = 76,
900 VK_FORMAT_R16G16_UNORM = 77,
901 VK_FORMAT_R16G16_SNORM = 78,
902 VK_FORMAT_R16G16_USCALED = 79,
903 VK_FORMAT_R16G16_SSCALED = 80,
904 VK_FORMAT_R16G16_UINT = 81,
905 VK_FORMAT_R16G16_SINT = 82,
906 VK_FORMAT_R16G16_SFLOAT = 83,
907 VK_FORMAT_R16G16B16_UNORM = 84,
908 VK_FORMAT_R16G16B16_SNORM = 85,
909 VK_FORMAT_R16G16B16_USCALED = 86,
910 VK_FORMAT_R16G16B16_SSCALED = 87,
911 VK_FORMAT_R16G16B16_UINT = 88,
912 VK_FORMAT_R16G16B16_SINT = 89,
913 VK_FORMAT_R16G16B16_SFLOAT = 90,
914 VK_FORMAT_R16G16B16A16_UNORM = 91,
915 VK_FORMAT_R16G16B16A16_SNORM = 92,
916 VK_FORMAT_R16G16B16A16_USCALED = 93,
917 VK_FORMAT_R16G16B16A16_SSCALED = 94,
918 VK_FORMAT_R16G16B16A16_UINT = 95,
919 VK_FORMAT_R16G16B16A16_SINT = 96,
920 VK_FORMAT_R16G16B16A16_SFLOAT = 97,
921 VK_FORMAT_R32_UINT = 98,
922 VK_FORMAT_R32_SINT = 99,
923 VK_FORMAT_R32_SFLOAT = 100,
924 VK_FORMAT_R32G32_UINT = 101,
925 VK_FORMAT_R32G32_SINT = 102,
926 VK_FORMAT_R32G32_SFLOAT = 103,
927 VK_FORMAT_R32G32B32_UINT = 104,
928 VK_FORMAT_R32G32B32_SINT = 105,
929 VK_FORMAT_R32G32B32_SFLOAT = 106,
930 VK_FORMAT_R32G32B32A32_UINT = 107,
931 VK_FORMAT_R32G32B32A32_SINT = 108,
932 VK_FORMAT_R32G32B32A32_SFLOAT = 109,
933 VK_FORMAT_R64_UINT = 110,
934 VK_FORMAT_R64_SINT = 111,
935 VK_FORMAT_R64_SFLOAT = 112,
936 VK_FORMAT_R64G64_UINT = 113,
937 VK_FORMAT_R64G64_SINT = 114,
938 VK_FORMAT_R64G64_SFLOAT = 115,
939 VK_FORMAT_R64G64B64_UINT = 116,
940 VK_FORMAT_R64G64B64_SINT = 117,
941 VK_FORMAT_R64G64B64_SFLOAT = 118,
942 VK_FORMAT_R64G64B64A64_UINT = 119,
943 VK_FORMAT_R64G64B64A64_SINT = 120,
944 VK_FORMAT_R64G64B64A64_SFLOAT = 121,
945 VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122,
946 VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123,
947 VK_FORMAT_D16_UNORM = 124,
948 VK_FORMAT_X8_D24_UNORM_PACK32 = 125,
949 VK_FORMAT_D32_SFLOAT = 126,
950 VK_FORMAT_S8_UINT = 127,
951 VK_FORMAT_D16_UNORM_S8_UINT = 128,
952 VK_FORMAT_D24_UNORM_S8_UINT = 129,
953 VK_FORMAT_D32_SFLOAT_S8_UINT = 130,
954 VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131,
955 VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132,
956 VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133,
957 VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134,
958 VK_FORMAT_BC2_UNORM_BLOCK = 135,
959 VK_FORMAT_BC2_SRGB_BLOCK = 136,
960 VK_FORMAT_BC3_UNORM_BLOCK = 137,
961 VK_FORMAT_BC3_SRGB_BLOCK = 138,
962 VK_FORMAT_BC4_UNORM_BLOCK = 139,
963 VK_FORMAT_BC4_SNORM_BLOCK = 140,
964 VK_FORMAT_BC5_UNORM_BLOCK = 141,
965 VK_FORMAT_BC5_SNORM_BLOCK = 142,
966 VK_FORMAT_BC6H_UFLOAT_BLOCK = 143,
967 VK_FORMAT_BC6H_SFLOAT_BLOCK = 144,
968 VK_FORMAT_BC7_UNORM_BLOCK = 145,
969 VK_FORMAT_BC7_SRGB_BLOCK = 146,
970 VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147,
971 VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148,
972 VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149,
973 VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150,
974 VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151,
975 VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152,
976 VK_FORMAT_EAC_R11_UNORM_BLOCK = 153,
977 VK_FORMAT_EAC_R11_SNORM_BLOCK = 154,
978 VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155,
979 VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156,
980 VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157,
981 VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158,
982 VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159,
983 VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160,
984 VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161,
985 VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162,
986 VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163,
987 VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164,
988 VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165,
989 VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166,
990 VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167,
991 VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168,
992 VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169,
993 VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170,
994 VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171,
995 VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172,
996 VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173,
997 VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174,
998 VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175,
999 VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176,
1000 VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177,
1001 VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178,
1002 VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179,
1003 VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180,
1004 VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181,
1005 VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182,
1006 VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183,
1007 VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184,
1008 VK_FORMAT_G8B8G8R8_422_UNORM = 1000156000,
1009 VK_FORMAT_B8G8R8G8_422_UNORM = 1000156001,
1010 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM = 1000156002,
1011 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM = 1000156003,
1012 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM = 1000156004,
1013 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM = 1000156005,
1014 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM = 1000156006,
1015 VK_FORMAT_R10X6_UNORM_PACK16 = 1000156007,
1016 VK_FORMAT_R10X6G10X6_UNORM_2PACK16 = 1000156008,
1017 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 1000156009,
1018 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 1000156010,
1019 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 1000156011,
1020 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 1000156012,
1021 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 1000156013,
1022 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 1000156014,
1023 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 1000156015,
1024 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 1000156016,
1025 VK_FORMAT_R12X4_UNORM_PACK16 = 1000156017,
1026 VK_FORMAT_R12X4G12X4_UNORM_2PACK16 = 1000156018,
1027 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 1000156019,
1028 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 1000156020,
1029 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 1000156021,
1030 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 1000156022,
1031 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 1000156023,
1032 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 1000156024,
1033 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 1000156025,
1034 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 1000156026,
1035 VK_FORMAT_G16B16G16R16_422_UNORM = 1000156027,
1036 VK_FORMAT_B16G16R16G16_422_UNORM = 1000156028,
1037 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM = 1000156029,
1038 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM = 1000156030,
1039 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM = 1000156031,
1040 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM = 1000156032,
1041 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM = 1000156033,
1042 VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG = 1000054000,
1043 VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001,
1044 VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = 1000054002,
1045 VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG = 1000054003,
1046 VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG = 1000054004,
1047 VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005,
1048 VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006,
1049 VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007,
1050 VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT = 1000066000,
1051 VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT = 1000066001,
1052 VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT = 1000066002,
1053 VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT = 1000066003,
1054 VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT = 1000066004,
1055 VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT = 1000066005,
1056 VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT = 1000066006,
1057 VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT = 1000066007,
1058 VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT = 1000066008,
1059 VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT = 1000066009,
1060 VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT = 1000066010,
1061 VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT = 1000066011,
1062 VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT = 1000066012,
1063 VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT = 1000066013,
1064 VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT = 1000340000,
1065 VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT = 1000340001,
1066 VK_FORMAT_G8B8G8R8_422_UNORM_KHR = VK_FORMAT_G8B8G8R8_422_UNORM,
1067 VK_FORMAT_B8G8R8G8_422_UNORM_KHR = VK_FORMAT_B8G8R8G8_422_UNORM,
1068 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM,
1069 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM,
1070 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM,
1071 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM,
1072 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM,
1073 VK_FORMAT_R10X6_UNORM_PACK16_KHR = VK_FORMAT_R10X6_UNORM_PACK16,
1074 VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR = VK_FORMAT_R10X6G10X6_UNORM_2PACK16,
1075 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16,
1076 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16,
1077 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16,
1078 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16,
1079 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16,
1080 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16,
1081 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16,
1082 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16,
1083 VK_FORMAT_R12X4_UNORM_PACK16_KHR = VK_FORMAT_R12X4_UNORM_PACK16,
1084 VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR = VK_FORMAT_R12X4G12X4_UNORM_2PACK16,
1085 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16,
1086 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16,
1087 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16,
1088 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16,
1089 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16,
1090 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16,
1091 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16,
1092 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16,
1093 VK_FORMAT_G16B16G16R16_422_UNORM_KHR = VK_FORMAT_G16B16G16R16_422_UNORM,
1094 VK_FORMAT_B16G16R16G16_422_UNORM_KHR = VK_FORMAT_B16G16R16G16_422_UNORM,
1095 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM,
1096 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM,
1097 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM,
1098 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM,
1099 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM,
1100 VK_FORMAT_MAX_ENUM = 0x7FFFFFFF
1103 typedef enum VkImageTiling {
1104 VK_IMAGE_TILING_OPTIMAL = 0,
1105 VK_IMAGE_TILING_LINEAR = 1,
1106 VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT = 1000158000,
1107 VK_IMAGE_TILING_MAX_ENUM = 0x7FFFFFFF
1110 typedef enum VkImageType {
1111 VK_IMAGE_TYPE_1D = 0,
1112 VK_IMAGE_TYPE_2D = 1,
1113 VK_IMAGE_TYPE_3D = 2,
1114 VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF
1117 typedef enum VkPhysicalDeviceType {
1118 VK_PHYSICAL_DEVICE_TYPE_OTHER = 0,
1119 VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1,
1120 VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2,
1121 VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3,
1122 VK_PHYSICAL_DEVICE_TYPE_CPU = 4,
1123 VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM = 0x7FFFFFFF
1124 } VkPhysicalDeviceType;
1126 typedef enum VkQueryType {
1127 VK_QUERY_TYPE_OCCLUSION = 0,
1128 VK_QUERY_TYPE_PIPELINE_STATISTICS = 1,
1129 VK_QUERY_TYPE_TIMESTAMP = 2,
1130 VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT = 1000028004,
1131 VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR = 1000116000,
1132 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR = 1000165000,
1133 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR = 1000150000,
1134 VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL = 1000210000,
1135 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV = VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR,
1136 VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF
1139 typedef enum VkSharingMode {
1140 VK_SHARING_MODE_EXCLUSIVE = 0,
1141 VK_SHARING_MODE_CONCURRENT = 1,
1142 VK_SHARING_MODE_MAX_ENUM = 0x7FFFFFFF
1145 typedef enum VkComponentSwizzle {
1146 VK_COMPONENT_SWIZZLE_IDENTITY = 0,
1147 VK_COMPONENT_SWIZZLE_ZERO = 1,
1148 VK_COMPONENT_SWIZZLE_ONE = 2,
1149 VK_COMPONENT_SWIZZLE_R = 3,
1150 VK_COMPONENT_SWIZZLE_G = 4,
1151 VK_COMPONENT_SWIZZLE_B = 5,
1152 VK_COMPONENT_SWIZZLE_A = 6,
1153 VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF
1154 } VkComponentSwizzle;
1156 typedef enum VkImageViewType {
1157 VK_IMAGE_VIEW_TYPE_1D = 0,
1158 VK_IMAGE_VIEW_TYPE_2D = 1,
1159 VK_IMAGE_VIEW_TYPE_3D = 2,
1160 VK_IMAGE_VIEW_TYPE_CUBE = 3,
1161 VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4,
1162 VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5,
1163 VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6,
1164 VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7FFFFFFF
1167 typedef enum VkBlendFactor {
1168 VK_BLEND_FACTOR_ZERO = 0,
1169 VK_BLEND_FACTOR_ONE = 1,
1170 VK_BLEND_FACTOR_SRC_COLOR = 2,
1171 VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3,
1172 VK_BLEND_FACTOR_DST_COLOR = 4,
1173 VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5,
1174 VK_BLEND_FACTOR_SRC_ALPHA = 6,
1175 VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7,
1176 VK_BLEND_FACTOR_DST_ALPHA = 8,
1177 VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9,
1178 VK_BLEND_FACTOR_CONSTANT_COLOR = 10,
1179 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11,
1180 VK_BLEND_FACTOR_CONSTANT_ALPHA = 12,
1181 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13,
1182 VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14,
1183 VK_BLEND_FACTOR_SRC1_COLOR = 15,
1184 VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16,
1185 VK_BLEND_FACTOR_SRC1_ALPHA = 17,
1186 VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18,
1187 VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF
1190 typedef enum VkBlendOp {
1191 VK_BLEND_OP_ADD = 0,
1192 VK_BLEND_OP_SUBTRACT = 1,
1193 VK_BLEND_OP_REVERSE_SUBTRACT = 2,
1194 VK_BLEND_OP_MIN = 3,
1195 VK_BLEND_OP_MAX = 4,
1196 VK_BLEND_OP_ZERO_EXT = 1000148000,
1197 VK_BLEND_OP_SRC_EXT = 1000148001,
1198 VK_BLEND_OP_DST_EXT = 1000148002,
1199 VK_BLEND_OP_SRC_OVER_EXT = 1000148003,
1200 VK_BLEND_OP_DST_OVER_EXT = 1000148004,
1201 VK_BLEND_OP_SRC_IN_EXT = 1000148005,
1202 VK_BLEND_OP_DST_IN_EXT = 1000148006,
1203 VK_BLEND_OP_SRC_OUT_EXT = 1000148007,
1204 VK_BLEND_OP_DST_OUT_EXT = 1000148008,
1205 VK_BLEND_OP_SRC_ATOP_EXT = 1000148009,
1206 VK_BLEND_OP_DST_ATOP_EXT = 1000148010,
1207 VK_BLEND_OP_XOR_EXT = 1000148011,
1208 VK_BLEND_OP_MULTIPLY_EXT = 1000148012,
1209 VK_BLEND_OP_SCREEN_EXT = 1000148013,
1210 VK_BLEND_OP_OVERLAY_EXT = 1000148014,
1211 VK_BLEND_OP_DARKEN_EXT = 1000148015,
1212 VK_BLEND_OP_LIGHTEN_EXT = 1000148016,
1213 VK_BLEND_OP_COLORDODGE_EXT = 1000148017,
1214 VK_BLEND_OP_COLORBURN_EXT = 1000148018,
1215 VK_BLEND_OP_HARDLIGHT_EXT = 1000148019,
1216 VK_BLEND_OP_SOFTLIGHT_EXT = 1000148020,
1217 VK_BLEND_OP_DIFFERENCE_EXT = 1000148021,
1218 VK_BLEND_OP_EXCLUSION_EXT = 1000148022,
1219 VK_BLEND_OP_INVERT_EXT = 1000148023,
1220 VK_BLEND_OP_INVERT_RGB_EXT = 1000148024,
1221 VK_BLEND_OP_LINEARDODGE_EXT = 1000148025,
1222 VK_BLEND_OP_LINEARBURN_EXT = 1000148026,
1223 VK_BLEND_OP_VIVIDLIGHT_EXT = 1000148027,
1224 VK_BLEND_OP_LINEARLIGHT_EXT = 1000148028,
1225 VK_BLEND_OP_PINLIGHT_EXT = 1000148029,
1226 VK_BLEND_OP_HARDMIX_EXT = 1000148030,
1227 VK_BLEND_OP_HSL_HUE_EXT = 1000148031,
1228 VK_BLEND_OP_HSL_SATURATION_EXT = 1000148032,
1229 VK_BLEND_OP_HSL_COLOR_EXT = 1000148033,
1230 VK_BLEND_OP_HSL_LUMINOSITY_EXT = 1000148034,
1231 VK_BLEND_OP_PLUS_EXT = 1000148035,
1232 VK_BLEND_OP_PLUS_CLAMPED_EXT = 1000148036,
1233 VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT = 1000148037,
1234 VK_BLEND_OP_PLUS_DARKER_EXT = 1000148038,
1235 VK_BLEND_OP_MINUS_EXT = 1000148039,
1236 VK_BLEND_OP_MINUS_CLAMPED_EXT = 1000148040,
1237 VK_BLEND_OP_CONTRAST_EXT = 1000148041,
1238 VK_BLEND_OP_INVERT_OVG_EXT = 1000148042,
1239 VK_BLEND_OP_RED_EXT = 1000148043,
1240 VK_BLEND_OP_GREEN_EXT = 1000148044,
1241 VK_BLEND_OP_BLUE_EXT = 1000148045,
1242 VK_BLEND_OP_MAX_ENUM = 0x7FFFFFFF
1245 typedef enum VkCompareOp {
1246 VK_COMPARE_OP_NEVER = 0,
1247 VK_COMPARE_OP_LESS = 1,
1248 VK_COMPARE_OP_EQUAL = 2,
1249 VK_COMPARE_OP_LESS_OR_EQUAL = 3,
1250 VK_COMPARE_OP_GREATER = 4,
1251 VK_COMPARE_OP_NOT_EQUAL = 5,
1252 VK_COMPARE_OP_GREATER_OR_EQUAL = 6,
1253 VK_COMPARE_OP_ALWAYS = 7,
1254 VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF
1257 typedef enum VkDynamicState {
1258 VK_DYNAMIC_STATE_VIEWPORT = 0,
1259 VK_DYNAMIC_STATE_SCISSOR = 1,
1260 VK_DYNAMIC_STATE_LINE_WIDTH = 2,
1261 VK_DYNAMIC_STATE_DEPTH_BIAS = 3,
1262 VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4,
1263 VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5,
1264 VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6,
1265 VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7,
1266 VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8,
1267 VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV = 1000087000,
1268 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000,
1269 VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT = 1000143000,
1270 VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV = 1000164004,
1271 VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV = 1000164006,
1272 VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV = 1000205001,
1273 VK_DYNAMIC_STATE_LINE_STIPPLE_EXT = 1000259000,
1274 VK_DYNAMIC_STATE_CULL_MODE_EXT = 1000267000,
1275 VK_DYNAMIC_STATE_FRONT_FACE_EXT = 1000267001,
1276 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = 1000267002,
1277 VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT = 1000267003,
1278 VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT = 1000267004,
1279 VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT = 1000267005,
1280 VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT = 1000267006,
1281 VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT = 1000267007,
1282 VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT = 1000267008,
1283 VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT = 1000267009,
1284 VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT = 1000267010,
1285 VK_DYNAMIC_STATE_STENCIL_OP_EXT = 1000267011,
1286 VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF
1289 typedef enum VkFrontFace {
1290 VK_FRONT_FACE_COUNTER_CLOCKWISE = 0,
1291 VK_FRONT_FACE_CLOCKWISE = 1,
1292 VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF
1295 typedef enum VkVertexInputRate {
1296 VK_VERTEX_INPUT_RATE_VERTEX = 0,
1297 VK_VERTEX_INPUT_RATE_INSTANCE = 1,
1298 VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF
1299 } VkVertexInputRate;
1301 typedef enum VkPrimitiveTopology {
1302 VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0,
1303 VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1,
1304 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2,
1305 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3,
1306 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4,
1307 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5,
1308 VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6,
1309 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7,
1310 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8,
1311 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9,
1312 VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10,
1313 VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7FFFFFFF
1314 } VkPrimitiveTopology;
1316 typedef enum VkPolygonMode {
1317 VK_POLYGON_MODE_FILL = 0,
1318 VK_POLYGON_MODE_LINE = 1,
1319 VK_POLYGON_MODE_POINT = 2,
1320 VK_POLYGON_MODE_FILL_RECTANGLE_NV = 1000153000,
1321 VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF
1324 typedef enum VkStencilOp {
1325 VK_STENCIL_OP_KEEP = 0,
1326 VK_STENCIL_OP_ZERO = 1,
1327 VK_STENCIL_OP_REPLACE = 2,
1328 VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3,
1329 VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4,
1330 VK_STENCIL_OP_INVERT = 5,
1331 VK_STENCIL_OP_INCREMENT_AND_WRAP = 6,
1332 VK_STENCIL_OP_DECREMENT_AND_WRAP = 7,
1333 VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF
1336 typedef enum VkLogicOp {
1337 VK_LOGIC_OP_CLEAR = 0,
1338 VK_LOGIC_OP_AND = 1,
1339 VK_LOGIC_OP_AND_REVERSE = 2,
1340 VK_LOGIC_OP_COPY = 3,
1341 VK_LOGIC_OP_AND_INVERTED = 4,
1342 VK_LOGIC_OP_NO_OP = 5,
1343 VK_LOGIC_OP_XOR = 6,
1345 VK_LOGIC_OP_NOR = 8,
1346 VK_LOGIC_OP_EQUIVALENT = 9,
1347 VK_LOGIC_OP_INVERT = 10,
1348 VK_LOGIC_OP_OR_REVERSE = 11,
1349 VK_LOGIC_OP_COPY_INVERTED = 12,
1350 VK_LOGIC_OP_OR_INVERTED = 13,
1351 VK_LOGIC_OP_NAND = 14,
1352 VK_LOGIC_OP_SET = 15,
1353 VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF
1356 typedef enum VkBorderColor {
1357 VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0,
1358 VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1,
1359 VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2,
1360 VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3,
1361 VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4,
1362 VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5,
1363 VK_BORDER_COLOR_FLOAT_CUSTOM_EXT = 1000287003,
1364 VK_BORDER_COLOR_INT_CUSTOM_EXT = 1000287004,
1365 VK_BORDER_COLOR_MAX_ENUM = 0x7FFFFFFF
1368 typedef enum VkFilter {
1369 VK_FILTER_NEAREST = 0,
1370 VK_FILTER_LINEAR = 1,
1371 VK_FILTER_CUBIC_IMG = 1000015000,
1372 VK_FILTER_CUBIC_EXT = VK_FILTER_CUBIC_IMG,
1373 VK_FILTER_MAX_ENUM = 0x7FFFFFFF
1376 typedef enum VkSamplerAddressMode {
1377 VK_SAMPLER_ADDRESS_MODE_REPEAT = 0,
1378 VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1,
1379 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2,
1380 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3,
1381 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4,
1382 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE,
1383 VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = 0x7FFFFFFF
1384 } VkSamplerAddressMode;
1386 typedef enum VkSamplerMipmapMode {
1387 VK_SAMPLER_MIPMAP_MODE_NEAREST = 0,
1388 VK_SAMPLER_MIPMAP_MODE_LINEAR = 1,
1389 VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF
1390 } VkSamplerMipmapMode;
1392 typedef enum VkDescriptorType {
1393 VK_DESCRIPTOR_TYPE_SAMPLER = 0,
1394 VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1,
1395 VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2,
1396 VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3,
1397 VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4,
1398 VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5,
1399 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6,
1400 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7,
1401 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8,
1402 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9,
1403 VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10,
1404 VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT = 1000138000,
1405 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR = 1000165000,
1406 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV = VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR,
1407 VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF
1410 typedef enum VkAttachmentLoadOp {
1411 VK_ATTACHMENT_LOAD_OP_LOAD = 0,
1412 VK_ATTACHMENT_LOAD_OP_CLEAR = 1,
1413 VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2,
1414 VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7FFFFFFF
1415 } VkAttachmentLoadOp;
1417 typedef enum VkAttachmentStoreOp {
1418 VK_ATTACHMENT_STORE_OP_STORE = 0,
1419 VK_ATTACHMENT_STORE_OP_DONT_CARE = 1,
1420 VK_ATTACHMENT_STORE_OP_NONE_QCOM = 1000301000,
1421 VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF
1422 } VkAttachmentStoreOp;
1424 typedef enum VkPipelineBindPoint {
1425 VK_PIPELINE_BIND_POINT_GRAPHICS = 0,
1426 VK_PIPELINE_BIND_POINT_COMPUTE = 1,
1427 VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR = 1000165000,
1428 VK_PIPELINE_BIND_POINT_RAY_TRACING_NV = VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR,
1429 VK_PIPELINE_BIND_POINT_MAX_ENUM = 0x7FFFFFFF
1430 } VkPipelineBindPoint;
1432 typedef enum VkCommandBufferLevel {
1433 VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0,
1434 VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1,
1435 VK_COMMAND_BUFFER_LEVEL_MAX_ENUM = 0x7FFFFFFF
1436 } VkCommandBufferLevel;
1438 typedef enum VkIndexType {
1439 VK_INDEX_TYPE_UINT16 = 0,
1440 VK_INDEX_TYPE_UINT32 = 1,
1441 VK_INDEX_TYPE_NONE_KHR = 1000165000,
1442 VK_INDEX_TYPE_UINT8_EXT = 1000265000,
1443 VK_INDEX_TYPE_NONE_NV = VK_INDEX_TYPE_NONE_KHR,
1444 VK_INDEX_TYPE_MAX_ENUM = 0x7FFFFFFF
1447 typedef enum VkSubpassContents {
1448 VK_SUBPASS_CONTENTS_INLINE = 0,
1449 VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1,
1450 VK_SUBPASS_CONTENTS_MAX_ENUM = 0x7FFFFFFF
1451 } VkSubpassContents;
1453 typedef enum VkAccessFlagBits {
1454 VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001,
1455 VK_ACCESS_INDEX_READ_BIT = 0x00000002,
1456 VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004,
1457 VK_ACCESS_UNIFORM_READ_BIT = 0x00000008,
1458 VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 0x00000010,
1459 VK_ACCESS_SHADER_READ_BIT = 0x00000020,
1460 VK_ACCESS_SHADER_WRITE_BIT = 0x00000040,
1461 VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 0x00000080,
1462 VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100,
1463 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200,
1464 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400,
1465 VK_ACCESS_TRANSFER_READ_BIT = 0x00000800,
1466 VK_ACCESS_TRANSFER_WRITE_BIT = 0x00001000,
1467 VK_ACCESS_HOST_READ_BIT = 0x00002000,
1468 VK_ACCESS_HOST_WRITE_BIT = 0x00004000,
1469 VK_ACCESS_MEMORY_READ_BIT = 0x00008000,
1470 VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000,
1471 VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000,
1472 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000,
1473 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000,
1474 VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000,
1475 VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000,
1476 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000,
1477 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000,
1478 VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000,
1479 VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000,
1480 VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000,
1481 VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000,
1482 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR,
1483 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,
1484 VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1486 typedef VkFlags VkAccessFlags;
1488 typedef enum VkImageAspectFlagBits {
1489 VK_IMAGE_ASPECT_COLOR_BIT = 0x00000001,
1490 VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002,
1491 VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004,
1492 VK_IMAGE_ASPECT_METADATA_BIT = 0x00000008,
1493 VK_IMAGE_ASPECT_PLANE_0_BIT = 0x00000010,
1494 VK_IMAGE_ASPECT_PLANE_1_BIT = 0x00000020,
1495 VK_IMAGE_ASPECT_PLANE_2_BIT = 0x00000040,
1496 VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 0x00000080,
1497 VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 0x00000100,
1498 VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 0x00000200,
1499 VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = 0x00000400,
1500 VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = VK_IMAGE_ASPECT_PLANE_0_BIT,
1501 VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = VK_IMAGE_ASPECT_PLANE_1_BIT,
1502 VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = VK_IMAGE_ASPECT_PLANE_2_BIT,
1503 VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1504 } VkImageAspectFlagBits;
1505 typedef VkFlags VkImageAspectFlags;
1507 typedef enum VkFormatFeatureFlagBits {
1508 VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 0x00000001,
1509 VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 0x00000002,
1510 VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004,
1511 VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008,
1512 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 0x00000010,
1513 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020,
1514 VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 0x00000040,
1515 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 0x00000080,
1516 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100,
1517 VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200,
1518 VK_FORMAT_FEATURE_BLIT_SRC_BIT = 0x00000400,
1519 VK_FORMAT_FEATURE_BLIT_DST_BIT = 0x00000800,
1520 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000,
1521 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT = 0x00004000,
1522 VK_FORMAT_FEATURE_TRANSFER_DST_BIT = 0x00008000,
1523 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000,
1524 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000,
1525 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000,
1526 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000,
1527 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000,
1528 VK_FORMAT_FEATURE_DISJOINT_BIT = 0x00400000,
1529 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT = 0x00800000,
1530 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000,
1531 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = 0x00002000,
1532 VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000,
1533 VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000,
1534 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT,
1535 VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_DST_BIT,
1536 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT,
1537 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT,
1538 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT,
1539 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT,
1540 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT,
1541 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,
1542 VK_FORMAT_FEATURE_DISJOINT_BIT_KHR = VK_FORMAT_FEATURE_DISJOINT_BIT,
1543 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT,
1544 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG,
1545 VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1546 } VkFormatFeatureFlagBits;
1547 typedef VkFlags VkFormatFeatureFlags;
1549 typedef enum VkImageCreateFlagBits {
1550 VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 0x00000001,
1551 VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
1552 VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
1553 VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 0x00000008,
1554 VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 0x00000010,
1555 VK_IMAGE_CREATE_ALIAS_BIT = 0x00000400,
1556 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT = 0x00000040,
1557 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT = 0x00000020,
1558 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT = 0x00000080,
1559 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT = 0x00000100,
1560 VK_IMAGE_CREATE_PROTECTED_BIT = 0x00000800,
1561 VK_IMAGE_CREATE_DISJOINT_BIT = 0x00000200,
1562 VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 0x00002000,
1563 VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000,
1564 VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 0x00004000,
1565 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT,
1566 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT,
1567 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT,
1568 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT,
1569 VK_IMAGE_CREATE_DISJOINT_BIT_KHR = VK_IMAGE_CREATE_DISJOINT_BIT,
1570 VK_IMAGE_CREATE_ALIAS_BIT_KHR = VK_IMAGE_CREATE_ALIAS_BIT,
1571 VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1572 } VkImageCreateFlagBits;
1573 typedef VkFlags VkImageCreateFlags;
1575 typedef enum VkSampleCountFlagBits {
1576 VK_SAMPLE_COUNT_1_BIT = 0x00000001,
1577 VK_SAMPLE_COUNT_2_BIT = 0x00000002,
1578 VK_SAMPLE_COUNT_4_BIT = 0x00000004,
1579 VK_SAMPLE_COUNT_8_BIT = 0x00000008,
1580 VK_SAMPLE_COUNT_16_BIT = 0x00000010,
1581 VK_SAMPLE_COUNT_32_BIT = 0x00000020,
1582 VK_SAMPLE_COUNT_64_BIT = 0x00000040,
1583 VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1584 } VkSampleCountFlagBits;
1585 typedef VkFlags VkSampleCountFlags;
1587 typedef enum VkImageUsageFlagBits {
1588 VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 0x00000001,
1589 VK_IMAGE_USAGE_TRANSFER_DST_BIT = 0x00000002,
1590 VK_IMAGE_USAGE_SAMPLED_BIT = 0x00000004,
1591 VK_IMAGE_USAGE_STORAGE_BIT = 0x00000008,
1592 VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000010,
1593 VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000020,
1594 VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000040,
1595 VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0x00000080,
1596 VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = 0x00000100,
1597 VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x00000200,
1598 VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1599 } VkImageUsageFlagBits;
1600 typedef VkFlags VkImageUsageFlags;
1601 typedef VkFlags VkInstanceCreateFlags;
1603 typedef enum VkMemoryHeapFlagBits {
1604 VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0x00000001,
1605 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = 0x00000002,
1606 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT,
1607 VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1608 } VkMemoryHeapFlagBits;
1609 typedef VkFlags VkMemoryHeapFlags;
1611 typedef enum VkMemoryPropertyFlagBits {
1612 VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 0x00000001,
1613 VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 0x00000002,
1614 VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 0x00000004,
1615 VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 0x00000008,
1616 VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 0x00000010,
1617 VK_MEMORY_PROPERTY_PROTECTED_BIT = 0x00000020,
1618 VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD = 0x00000040,
1619 VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD = 0x00000080,
1620 VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1621 } VkMemoryPropertyFlagBits;
1622 typedef VkFlags VkMemoryPropertyFlags;
1624 typedef enum VkQueueFlagBits {
1625 VK_QUEUE_GRAPHICS_BIT = 0x00000001,
1626 VK_QUEUE_COMPUTE_BIT = 0x00000002,
1627 VK_QUEUE_TRANSFER_BIT = 0x00000004,
1628 VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008,
1629 VK_QUEUE_PROTECTED_BIT = 0x00000010,
1630 VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1632 typedef VkFlags VkQueueFlags;
1633 typedef VkFlags VkDeviceCreateFlags;
1635 typedef enum VkDeviceQueueCreateFlagBits {
1636 VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT = 0x00000001,
1637 VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1638 } VkDeviceQueueCreateFlagBits;
1639 typedef VkFlags VkDeviceQueueCreateFlags;
1641 typedef enum VkPipelineStageFlagBits {
1642 VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 0x00000001,
1643 VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 0x00000002,
1644 VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 0x00000004,
1645 VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 0x00000008,
1646 VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010,
1647 VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020,
1648 VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 0x00000040,
1649 VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 0x00000080,
1650 VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 0x00000100,
1651 VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 0x00000200,
1652 VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400,
1653 VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 0x00000800,
1654 VK_PIPELINE_STAGE_TRANSFER_BIT = 0x00001000,
1655 VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 0x00002000,
1656 VK_PIPELINE_STAGE_HOST_BIT = 0x00004000,
1657 VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0x00008000,
1658 VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00010000,
1659 VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000,
1660 VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000,
1661 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = 0x00200000,
1662 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000,
1663 VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = 0x00400000,
1664 VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV = 0x00080000,
1665 VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV = 0x00100000,
1666 VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000,
1667 VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV = 0x00020000,
1668 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV = VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR,
1669 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
1670 VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1671 } VkPipelineStageFlagBits;
1672 typedef VkFlags VkPipelineStageFlags;
1673 typedef VkFlags VkMemoryMapFlags;
1675 typedef enum VkSparseMemoryBindFlagBits {
1676 VK_SPARSE_MEMORY_BIND_METADATA_BIT = 0x00000001,
1677 VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1678 } VkSparseMemoryBindFlagBits;
1679 typedef VkFlags VkSparseMemoryBindFlags;
1681 typedef enum VkSparseImageFormatFlagBits {
1682 VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 0x00000001,
1683 VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 0x00000002,
1684 VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 0x00000004,
1685 VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1686 } VkSparseImageFormatFlagBits;
1687 typedef VkFlags VkSparseImageFormatFlags;
1689 typedef enum VkFenceCreateFlagBits {
1690 VK_FENCE_CREATE_SIGNALED_BIT = 0x00000001,
1691 VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1692 } VkFenceCreateFlagBits;
1693 typedef VkFlags VkFenceCreateFlags;
1694 typedef VkFlags VkSemaphoreCreateFlags;
1695 typedef VkFlags VkEventCreateFlags;
1697 typedef enum VkQueryPipelineStatisticFlagBits {
1698 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 0x00000001,
1699 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 0x00000002,
1700 VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 0x00000004,
1701 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 0x00000008,
1702 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 0x00000010,
1703 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 0x00000020,
1704 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 0x00000040,
1705 VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 0x00000080,
1706 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 0x00000100,
1707 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 0x00000200,
1708 VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 0x00000400,
1709 VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1710 } VkQueryPipelineStatisticFlagBits;
1711 typedef VkFlags VkQueryPipelineStatisticFlags;
1712 typedef VkFlags VkQueryPoolCreateFlags;
1714 typedef enum VkQueryResultFlagBits {
1715 VK_QUERY_RESULT_64_BIT = 0x00000001,
1716 VK_QUERY_RESULT_WAIT_BIT = 0x00000002,
1717 VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004,
1718 VK_QUERY_RESULT_PARTIAL_BIT = 0x00000008,
1719 VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1720 } VkQueryResultFlagBits;
1721 typedef VkFlags VkQueryResultFlags;
1723 typedef enum VkBufferCreateFlagBits {
1724 VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 0x00000001,
1725 VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
1726 VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
1727 VK_BUFFER_CREATE_PROTECTED_BIT = 0x00000008,
1728 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000010,
1729 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
1730 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
1731 VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1732 } VkBufferCreateFlagBits;
1733 typedef VkFlags VkBufferCreateFlags;
1735 typedef enum VkBufferUsageFlagBits {
1736 VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 0x00000001,
1737 VK_BUFFER_USAGE_TRANSFER_DST_BIT = 0x00000002,
1738 VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000004,
1739 VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 0x00000008,
1740 VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 0x00000010,
1741 VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 0x00000020,
1742 VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 0x00000040,
1743 VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 0x00000080,
1744 VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 0x00000100,
1745 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT = 0x00020000,
1746 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0x00000800,
1747 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000,
1748 VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200,
1749 VK_BUFFER_USAGE_RAY_TRACING_BIT_KHR = 0x00000400,
1750 VK_BUFFER_USAGE_RAY_TRACING_BIT_NV = VK_BUFFER_USAGE_RAY_TRACING_BIT_KHR,
1751 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
1752 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
1753 VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1754 } VkBufferUsageFlagBits;
1755 typedef VkFlags VkBufferUsageFlags;
1756 typedef VkFlags VkBufferViewCreateFlags;
1758 typedef enum VkImageViewCreateFlagBits {
1759 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT = 0x00000001,
1760 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT = 0x00000002,
1761 VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1762 } VkImageViewCreateFlagBits;
1763 typedef VkFlags VkImageViewCreateFlags;
1765 typedef enum VkShaderModuleCreateFlagBits {
1766 VK_SHADER_MODULE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1767 } VkShaderModuleCreateFlagBits;
1768 typedef VkFlags VkShaderModuleCreateFlags;
1770 typedef enum VkPipelineCacheCreateFlagBits {
1771 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT = 0x00000001,
1772 VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1773 } VkPipelineCacheCreateFlagBits;
1774 typedef VkFlags VkPipelineCacheCreateFlags;
1776 typedef enum VkColorComponentFlagBits {
1777 VK_COLOR_COMPONENT_R_BIT = 0x00000001,
1778 VK_COLOR_COMPONENT_G_BIT = 0x00000002,
1779 VK_COLOR_COMPONENT_B_BIT = 0x00000004,
1780 VK_COLOR_COMPONENT_A_BIT = 0x00000008,
1781 VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1782 } VkColorComponentFlagBits;
1783 typedef VkFlags VkColorComponentFlags;
1785 typedef enum VkPipelineCreateFlagBits {
1786 VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0x00000001,
1787 VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 0x00000002,
1788 VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0x00000004,
1789 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 0x00000008,
1790 VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 0x00000010,
1791 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 0x00004000,
1792 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 0x00008000,
1793 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 0x00010000,
1794 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR = 0x00020000,
1795 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR = 0x00001000,
1796 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR = 0x00002000,
1797 VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV = 0x00000020,
1798 VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR = 0x00000040,
1799 VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 0x00000080,
1800 VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = 0x00040000,
1801 VK_PIPELINE_CREATE_LIBRARY_BIT_KHR = 0x00000800,
1802 VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = 0x00000100,
1803 VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = 0x00000200,
1804 VK_PIPELINE_CREATE_DISPATCH_BASE = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT,
1805 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT,
1806 VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = VK_PIPELINE_CREATE_DISPATCH_BASE,
1807 VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1808 } VkPipelineCreateFlagBits;
1809 typedef VkFlags VkPipelineCreateFlags;
1811 typedef enum VkPipelineShaderStageCreateFlagBits {
1812 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = 0x00000001,
1813 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = 0x00000002,
1814 VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1815 } VkPipelineShaderStageCreateFlagBits;
1816 typedef VkFlags VkPipelineShaderStageCreateFlags;
1818 typedef enum VkShaderStageFlagBits {
1819 VK_SHADER_STAGE_VERTEX_BIT = 0x00000001,
1820 VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 0x00000002,
1821 VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 0x00000004,
1822 VK_SHADER_STAGE_GEOMETRY_BIT = 0x00000008,
1823 VK_SHADER_STAGE_FRAGMENT_BIT = 0x00000010,
1824 VK_SHADER_STAGE_COMPUTE_BIT = 0x00000020,
1825 VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001F,
1826 VK_SHADER_STAGE_ALL = 0x7FFFFFFF,
1827 VK_SHADER_STAGE_RAYGEN_BIT_KHR = 0x00000100,
1828 VK_SHADER_STAGE_ANY_HIT_BIT_KHR = 0x00000200,
1829 VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR = 0x00000400,
1830 VK_SHADER_STAGE_MISS_BIT_KHR = 0x00000800,
1831 VK_SHADER_STAGE_INTERSECTION_BIT_KHR = 0x00001000,
1832 VK_SHADER_STAGE_CALLABLE_BIT_KHR = 0x00002000,
1833 VK_SHADER_STAGE_TASK_BIT_NV = 0x00000040,
1834 VK_SHADER_STAGE_MESH_BIT_NV = 0x00000080,
1835 VK_SHADER_STAGE_RAYGEN_BIT_NV = VK_SHADER_STAGE_RAYGEN_BIT_KHR,
1836 VK_SHADER_STAGE_ANY_HIT_BIT_NV = VK_SHADER_STAGE_ANY_HIT_BIT_KHR,
1837 VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV = VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR,
1838 VK_SHADER_STAGE_MISS_BIT_NV = VK_SHADER_STAGE_MISS_BIT_KHR,
1839 VK_SHADER_STAGE_INTERSECTION_BIT_NV = VK_SHADER_STAGE_INTERSECTION_BIT_KHR,
1840 VK_SHADER_STAGE_CALLABLE_BIT_NV = VK_SHADER_STAGE_CALLABLE_BIT_KHR,
1841 VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1842 } VkShaderStageFlagBits;
1844 typedef enum VkCullModeFlagBits {
1845 VK_CULL_MODE_NONE = 0,
1846 VK_CULL_MODE_FRONT_BIT = 0x00000001,
1847 VK_CULL_MODE_BACK_BIT = 0x00000002,
1848 VK_CULL_MODE_FRONT_AND_BACK = 0x00000003,
1849 VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1850 } VkCullModeFlagBits;
1851 typedef VkFlags VkCullModeFlags;
1852 typedef VkFlags VkPipelineVertexInputStateCreateFlags;
1853 typedef VkFlags VkPipelineInputAssemblyStateCreateFlags;
1854 typedef VkFlags VkPipelineTessellationStateCreateFlags;
1855 typedef VkFlags VkPipelineViewportStateCreateFlags;
1856 typedef VkFlags VkPipelineRasterizationStateCreateFlags;
1857 typedef VkFlags VkPipelineMultisampleStateCreateFlags;
1858 typedef VkFlags VkPipelineDepthStencilStateCreateFlags;
1859 typedef VkFlags VkPipelineColorBlendStateCreateFlags;
1860 typedef VkFlags VkPipelineDynamicStateCreateFlags;
1861 typedef VkFlags VkPipelineLayoutCreateFlags;
1862 typedef VkFlags VkShaderStageFlags;
1864 typedef enum VkSamplerCreateFlagBits {
1865 VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT = 0x00000001,
1866 VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT = 0x00000002,
1867 VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1868 } VkSamplerCreateFlagBits;
1869 typedef VkFlags VkSamplerCreateFlags;
1871 typedef enum VkDescriptorPoolCreateFlagBits {
1872 VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001,
1873 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT = 0x00000002,
1874 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT,
1875 VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1876 } VkDescriptorPoolCreateFlagBits;
1877 typedef VkFlags VkDescriptorPoolCreateFlags;
1878 typedef VkFlags VkDescriptorPoolResetFlags;
1880 typedef enum VkDescriptorSetLayoutCreateFlagBits {
1881 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT = 0x00000002,
1882 VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = 0x00000001,
1883 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT,
1884 VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1885 } VkDescriptorSetLayoutCreateFlagBits;
1886 typedef VkFlags VkDescriptorSetLayoutCreateFlags;
1888 typedef enum VkAttachmentDescriptionFlagBits {
1889 VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001,
1890 VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1891 } VkAttachmentDescriptionFlagBits;
1892 typedef VkFlags VkAttachmentDescriptionFlags;
1894 typedef enum VkDependencyFlagBits {
1895 VK_DEPENDENCY_BY_REGION_BIT = 0x00000001,
1896 VK_DEPENDENCY_DEVICE_GROUP_BIT = 0x00000004,
1897 VK_DEPENDENCY_VIEW_LOCAL_BIT = 0x00000002,
1898 VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR = VK_DEPENDENCY_VIEW_LOCAL_BIT,
1899 VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR = VK_DEPENDENCY_DEVICE_GROUP_BIT,
1900 VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1901 } VkDependencyFlagBits;
1902 typedef VkFlags VkDependencyFlags;
1904 typedef enum VkFramebufferCreateFlagBits {
1905 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT = 0x00000001,
1906 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR = VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT,
1907 VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1908 } VkFramebufferCreateFlagBits;
1909 typedef VkFlags VkFramebufferCreateFlags;
1911 typedef enum VkRenderPassCreateFlagBits {
1912 VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM = 0x00000002,
1913 VK_RENDER_PASS_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1914 } VkRenderPassCreateFlagBits;
1915 typedef VkFlags VkRenderPassCreateFlags;
1917 typedef enum VkSubpassDescriptionFlagBits {
1918 VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX = 0x00000001,
1919 VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 0x00000002,
1920 VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM = 0x00000004,
1921 VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM = 0x00000008,
1922 VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1923 } VkSubpassDescriptionFlagBits;
1924 typedef VkFlags VkSubpassDescriptionFlags;
1926 typedef enum VkCommandPoolCreateFlagBits {
1927 VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 0x00000001,
1928 VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002,
1929 VK_COMMAND_POOL_CREATE_PROTECTED_BIT = 0x00000004,
1930 VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1931 } VkCommandPoolCreateFlagBits;
1932 typedef VkFlags VkCommandPoolCreateFlags;
1934 typedef enum VkCommandPoolResetFlagBits {
1935 VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
1936 VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1937 } VkCommandPoolResetFlagBits;
1938 typedef VkFlags VkCommandPoolResetFlags;
1940 typedef enum VkCommandBufferUsageFlagBits {
1941 VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 0x00000001,
1942 VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 0x00000002,
1943 VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 0x00000004,
1944 VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1945 } VkCommandBufferUsageFlagBits;
1946 typedef VkFlags VkCommandBufferUsageFlags;
1948 typedef enum VkQueryControlFlagBits {
1949 VK_QUERY_CONTROL_PRECISE_BIT = 0x00000001,
1950 VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1951 } VkQueryControlFlagBits;
1952 typedef VkFlags VkQueryControlFlags;
1954 typedef enum VkCommandBufferResetFlagBits {
1955 VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
1956 VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1957 } VkCommandBufferResetFlagBits;
1958 typedef VkFlags VkCommandBufferResetFlags;
1960 typedef enum VkStencilFaceFlagBits {
1961 VK_STENCIL_FACE_FRONT_BIT = 0x00000001,
1962 VK_STENCIL_FACE_BACK_BIT = 0x00000002,
1963 VK_STENCIL_FACE_FRONT_AND_BACK = 0x00000003,
1964 VK_STENCIL_FRONT_AND_BACK = VK_STENCIL_FACE_FRONT_AND_BACK,
1965 VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1966 } VkStencilFaceFlagBits;
1967 typedef VkFlags VkStencilFaceFlags;
1968 typedef struct VkExtent2D {
1973 typedef struct VkExtent3D {
1979 typedef struct VkOffset2D {
1984 typedef struct VkOffset3D {
1990 typedef struct VkRect2D {
1995 typedef struct VkBaseInStructure {
1996 VkStructureType sType;
1997 const struct VkBaseInStructure* pNext;
1998 } VkBaseInStructure;
2000 typedef struct VkBaseOutStructure {
2001 VkStructureType sType;
2002 struct VkBaseOutStructure* pNext;
2003 } VkBaseOutStructure;
2005 typedef struct VkBufferMemoryBarrier {
2006 VkStructureType sType;
2008 VkAccessFlags srcAccessMask;
2009 VkAccessFlags dstAccessMask;
2010 deUint32 srcQueueFamilyIndex;
2011 deUint32 dstQueueFamilyIndex;
2013 VkDeviceSize offset;
2015 } VkBufferMemoryBarrier;
2017 typedef struct VkDispatchIndirectCommand {
2021 } VkDispatchIndirectCommand;
2023 typedef struct VkDrawIndexedIndirectCommand {
2024 deUint32 indexCount;
2025 deUint32 instanceCount;
2026 deUint32 firstIndex;
2027 deInt32 vertexOffset;
2028 deUint32 firstInstance;
2029 } VkDrawIndexedIndirectCommand;
2031 typedef struct VkDrawIndirectCommand {
2032 deUint32 vertexCount;
2033 deUint32 instanceCount;
2034 deUint32 firstVertex;
2035 deUint32 firstInstance;
2036 } VkDrawIndirectCommand;
2038 typedef struct VkImageSubresourceRange {
2039 VkImageAspectFlags aspectMask;
2040 deUint32 baseMipLevel;
2041 deUint32 levelCount;
2042 deUint32 baseArrayLayer;
2043 deUint32 layerCount;
2044 } VkImageSubresourceRange;
2046 typedef struct VkImageMemoryBarrier {
2047 VkStructureType sType;
2049 VkAccessFlags srcAccessMask;
2050 VkAccessFlags dstAccessMask;
2051 VkImageLayout oldLayout;
2052 VkImageLayout newLayout;
2053 deUint32 srcQueueFamilyIndex;
2054 deUint32 dstQueueFamilyIndex;
2056 VkImageSubresourceRange subresourceRange;
2057 } VkImageMemoryBarrier;
2059 typedef struct VkMemoryBarrier {
2060 VkStructureType sType;
2062 VkAccessFlags srcAccessMask;
2063 VkAccessFlags dstAccessMask;
2066 typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
2069 deUintptr alignment,
2070 VkSystemAllocationScope allocationScope);
2072 typedef void (VKAPI_PTR *PFN_vkFreeFunction)(
2076 typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(
2079 VkInternalAllocationType allocationType,
2080 VkSystemAllocationScope allocationScope);
2082 typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(
2085 VkInternalAllocationType allocationType,
2086 VkSystemAllocationScope allocationScope);
2088 typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
2092 deUintptr alignment,
2093 VkSystemAllocationScope allocationScope);
2095 typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
2096 typedef struct VkAllocationCallbacks {
2098 PFN_vkAllocationFunction pfnAllocation;
2099 PFN_vkReallocationFunction pfnReallocation;
2100 PFN_vkFreeFunction pfnFree;
2101 PFN_vkInternalAllocationNotification pfnInternalAllocation;
2102 PFN_vkInternalFreeNotification pfnInternalFree;
2103 } VkAllocationCallbacks;
2105 typedef struct VkApplicationInfo {
2106 VkStructureType sType;
2108 const char* pApplicationName;
2109 deUint32 applicationVersion;
2110 const char* pEngineName;
2111 deUint32 engineVersion;
2112 deUint32 apiVersion;
2113 } VkApplicationInfo;
2115 typedef struct VkFormatProperties {
2116 VkFormatFeatureFlags linearTilingFeatures;
2117 VkFormatFeatureFlags optimalTilingFeatures;
2118 VkFormatFeatureFlags bufferFeatures;
2119 } VkFormatProperties;
2121 typedef struct VkImageFormatProperties {
2122 VkExtent3D maxExtent;
2123 deUint32 maxMipLevels;
2124 deUint32 maxArrayLayers;
2125 VkSampleCountFlags sampleCounts;
2126 VkDeviceSize maxResourceSize;
2127 } VkImageFormatProperties;
2129 typedef struct VkInstanceCreateInfo {
2130 VkStructureType sType;
2132 VkInstanceCreateFlags flags;
2133 const VkApplicationInfo* pApplicationInfo;
2134 deUint32 enabledLayerCount;
2135 const char* const* ppEnabledLayerNames;
2136 deUint32 enabledExtensionCount;
2137 const char* const* ppEnabledExtensionNames;
2138 } VkInstanceCreateInfo;
2140 typedef struct VkMemoryHeap {
2142 VkMemoryHeapFlags flags;
2145 typedef struct VkMemoryType {
2146 VkMemoryPropertyFlags propertyFlags;
2150 typedef struct VkPhysicalDeviceFeatures {
2151 VkBool32 robustBufferAccess;
2152 VkBool32 fullDrawIndexUint32;
2153 VkBool32 imageCubeArray;
2154 VkBool32 independentBlend;
2155 VkBool32 geometryShader;
2156 VkBool32 tessellationShader;
2157 VkBool32 sampleRateShading;
2158 VkBool32 dualSrcBlend;
2160 VkBool32 multiDrawIndirect;
2161 VkBool32 drawIndirectFirstInstance;
2162 VkBool32 depthClamp;
2163 VkBool32 depthBiasClamp;
2164 VkBool32 fillModeNonSolid;
2165 VkBool32 depthBounds;
2167 VkBool32 largePoints;
2168 VkBool32 alphaToOne;
2169 VkBool32 multiViewport;
2170 VkBool32 samplerAnisotropy;
2171 VkBool32 textureCompressionETC2;
2172 VkBool32 textureCompressionASTC_LDR;
2173 VkBool32 textureCompressionBC;
2174 VkBool32 occlusionQueryPrecise;
2175 VkBool32 pipelineStatisticsQuery;
2176 VkBool32 vertexPipelineStoresAndAtomics;
2177 VkBool32 fragmentStoresAndAtomics;
2178 VkBool32 shaderTessellationAndGeometryPointSize;
2179 VkBool32 shaderImageGatherExtended;
2180 VkBool32 shaderStorageImageExtendedFormats;
2181 VkBool32 shaderStorageImageMultisample;
2182 VkBool32 shaderStorageImageReadWithoutFormat;
2183 VkBool32 shaderStorageImageWriteWithoutFormat;
2184 VkBool32 shaderUniformBufferArrayDynamicIndexing;
2185 VkBool32 shaderSampledImageArrayDynamicIndexing;
2186 VkBool32 shaderStorageBufferArrayDynamicIndexing;
2187 VkBool32 shaderStorageImageArrayDynamicIndexing;
2188 VkBool32 shaderClipDistance;
2189 VkBool32 shaderCullDistance;
2190 VkBool32 shaderFloat64;
2191 VkBool32 shaderInt64;
2192 VkBool32 shaderInt16;
2193 VkBool32 shaderResourceResidency;
2194 VkBool32 shaderResourceMinLod;
2195 VkBool32 sparseBinding;
2196 VkBool32 sparseResidencyBuffer;
2197 VkBool32 sparseResidencyImage2D;
2198 VkBool32 sparseResidencyImage3D;
2199 VkBool32 sparseResidency2Samples;
2200 VkBool32 sparseResidency4Samples;
2201 VkBool32 sparseResidency8Samples;
2202 VkBool32 sparseResidency16Samples;
2203 VkBool32 sparseResidencyAliased;
2204 VkBool32 variableMultisampleRate;
2205 VkBool32 inheritedQueries;
2206 } VkPhysicalDeviceFeatures;
2208 typedef struct VkPhysicalDeviceLimits {
2209 deUint32 maxImageDimension1D;
2210 deUint32 maxImageDimension2D;
2211 deUint32 maxImageDimension3D;
2212 deUint32 maxImageDimensionCube;
2213 deUint32 maxImageArrayLayers;
2214 deUint32 maxTexelBufferElements;
2215 deUint32 maxUniformBufferRange;
2216 deUint32 maxStorageBufferRange;
2217 deUint32 maxPushConstantsSize;
2218 deUint32 maxMemoryAllocationCount;
2219 deUint32 maxSamplerAllocationCount;
2220 VkDeviceSize bufferImageGranularity;
2221 VkDeviceSize sparseAddressSpaceSize;
2222 deUint32 maxBoundDescriptorSets;
2223 deUint32 maxPerStageDescriptorSamplers;
2224 deUint32 maxPerStageDescriptorUniformBuffers;
2225 deUint32 maxPerStageDescriptorStorageBuffers;
2226 deUint32 maxPerStageDescriptorSampledImages;
2227 deUint32 maxPerStageDescriptorStorageImages;
2228 deUint32 maxPerStageDescriptorInputAttachments;
2229 deUint32 maxPerStageResources;
2230 deUint32 maxDescriptorSetSamplers;
2231 deUint32 maxDescriptorSetUniformBuffers;
2232 deUint32 maxDescriptorSetUniformBuffersDynamic;
2233 deUint32 maxDescriptorSetStorageBuffers;
2234 deUint32 maxDescriptorSetStorageBuffersDynamic;
2235 deUint32 maxDescriptorSetSampledImages;
2236 deUint32 maxDescriptorSetStorageImages;
2237 deUint32 maxDescriptorSetInputAttachments;
2238 deUint32 maxVertexInputAttributes;
2239 deUint32 maxVertexInputBindings;
2240 deUint32 maxVertexInputAttributeOffset;
2241 deUint32 maxVertexInputBindingStride;
2242 deUint32 maxVertexOutputComponents;
2243 deUint32 maxTessellationGenerationLevel;
2244 deUint32 maxTessellationPatchSize;
2245 deUint32 maxTessellationControlPerVertexInputComponents;
2246 deUint32 maxTessellationControlPerVertexOutputComponents;
2247 deUint32 maxTessellationControlPerPatchOutputComponents;
2248 deUint32 maxTessellationControlTotalOutputComponents;
2249 deUint32 maxTessellationEvaluationInputComponents;
2250 deUint32 maxTessellationEvaluationOutputComponents;
2251 deUint32 maxGeometryShaderInvocations;
2252 deUint32 maxGeometryInputComponents;
2253 deUint32 maxGeometryOutputComponents;
2254 deUint32 maxGeometryOutputVertices;
2255 deUint32 maxGeometryTotalOutputComponents;
2256 deUint32 maxFragmentInputComponents;
2257 deUint32 maxFragmentOutputAttachments;
2258 deUint32 maxFragmentDualSrcAttachments;
2259 deUint32 maxFragmentCombinedOutputResources;
2260 deUint32 maxComputeSharedMemorySize;
2261 deUint32 maxComputeWorkGroupCount[3];
2262 deUint32 maxComputeWorkGroupInvocations;
2263 deUint32 maxComputeWorkGroupSize[3];
2264 deUint32 subPixelPrecisionBits;
2265 deUint32 subTexelPrecisionBits;
2266 deUint32 mipmapPrecisionBits;
2267 deUint32 maxDrawIndexedIndexValue;
2268 deUint32 maxDrawIndirectCount;
2269 float maxSamplerLodBias;
2270 float maxSamplerAnisotropy;
2271 deUint32 maxViewports;
2272 deUint32 maxViewportDimensions[2];
2273 float viewportBoundsRange[2];
2274 deUint32 viewportSubPixelBits;
2275 deUintptr minMemoryMapAlignment;
2276 VkDeviceSize minTexelBufferOffsetAlignment;
2277 VkDeviceSize minUniformBufferOffsetAlignment;
2278 VkDeviceSize minStorageBufferOffsetAlignment;
2279 deInt32 minTexelOffset;
2280 deUint32 maxTexelOffset;
2281 deInt32 minTexelGatherOffset;
2282 deUint32 maxTexelGatherOffset;
2283 float minInterpolationOffset;
2284 float maxInterpolationOffset;
2285 deUint32 subPixelInterpolationOffsetBits;
2286 deUint32 maxFramebufferWidth;
2287 deUint32 maxFramebufferHeight;
2288 deUint32 maxFramebufferLayers;
2289 VkSampleCountFlags framebufferColorSampleCounts;
2290 VkSampleCountFlags framebufferDepthSampleCounts;
2291 VkSampleCountFlags framebufferStencilSampleCounts;
2292 VkSampleCountFlags framebufferNoAttachmentsSampleCounts;
2293 deUint32 maxColorAttachments;
2294 VkSampleCountFlags sampledImageColorSampleCounts;
2295 VkSampleCountFlags sampledImageIntegerSampleCounts;
2296 VkSampleCountFlags sampledImageDepthSampleCounts;
2297 VkSampleCountFlags sampledImageStencilSampleCounts;
2298 VkSampleCountFlags storageImageSampleCounts;
2299 deUint32 maxSampleMaskWords;
2300 VkBool32 timestampComputeAndGraphics;
2301 float timestampPeriod;
2302 deUint32 maxClipDistances;
2303 deUint32 maxCullDistances;
2304 deUint32 maxCombinedClipAndCullDistances;
2305 deUint32 discreteQueuePriorities;
2306 float pointSizeRange[2];
2307 float lineWidthRange[2];
2308 float pointSizeGranularity;
2309 float lineWidthGranularity;
2310 VkBool32 strictLines;
2311 VkBool32 standardSampleLocations;
2312 VkDeviceSize optimalBufferCopyOffsetAlignment;
2313 VkDeviceSize optimalBufferCopyRowPitchAlignment;
2314 VkDeviceSize nonCoherentAtomSize;
2315 } VkPhysicalDeviceLimits;
2317 typedef struct VkPhysicalDeviceMemoryProperties {
2318 deUint32 memoryTypeCount;
2319 VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES];
2320 deUint32 memoryHeapCount;
2321 VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS];
2322 } VkPhysicalDeviceMemoryProperties;
2324 typedef struct VkPhysicalDeviceSparseProperties {
2325 VkBool32 residencyStandard2DBlockShape;
2326 VkBool32 residencyStandard2DMultisampleBlockShape;
2327 VkBool32 residencyStandard3DBlockShape;
2328 VkBool32 residencyAlignedMipSize;
2329 VkBool32 residencyNonResidentStrict;
2330 } VkPhysicalDeviceSparseProperties;
2332 typedef struct VkPhysicalDeviceProperties {
2333 deUint32 apiVersion;
2334 deUint32 driverVersion;
2337 VkPhysicalDeviceType deviceType;
2338 char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
2339 deUint8 pipelineCacheUUID[VK_UUID_SIZE];
2340 VkPhysicalDeviceLimits limits;
2341 VkPhysicalDeviceSparseProperties sparseProperties;
2342 } VkPhysicalDeviceProperties;
2344 typedef struct VkQueueFamilyProperties {
2345 VkQueueFlags queueFlags;
2346 deUint32 queueCount;
2347 deUint32 timestampValidBits;
2348 VkExtent3D minImageTransferGranularity;
2349 } VkQueueFamilyProperties;
2351 typedef struct VkDeviceQueueCreateInfo {
2352 VkStructureType sType;
2354 VkDeviceQueueCreateFlags flags;
2355 deUint32 queueFamilyIndex;
2356 deUint32 queueCount;
2357 const float* pQueuePriorities;
2358 } VkDeviceQueueCreateInfo;
2360 typedef struct VkDeviceCreateInfo {
2361 VkStructureType sType;
2363 VkDeviceCreateFlags flags;
2364 deUint32 queueCreateInfoCount;
2365 const VkDeviceQueueCreateInfo* pQueueCreateInfos;
2366 deUint32 enabledLayerCount;
2367 const char* const* ppEnabledLayerNames;
2368 deUint32 enabledExtensionCount;
2369 const char* const* ppEnabledExtensionNames;
2370 const VkPhysicalDeviceFeatures* pEnabledFeatures;
2371 } VkDeviceCreateInfo;
2373 typedef struct VkExtensionProperties {
2374 char extensionName[VK_MAX_EXTENSION_NAME_SIZE];
2375 deUint32 specVersion;
2376 } VkExtensionProperties;
2378 typedef struct VkLayerProperties {
2379 char layerName[VK_MAX_EXTENSION_NAME_SIZE];
2380 deUint32 specVersion;
2381 deUint32 implementationVersion;
2382 char description[VK_MAX_DESCRIPTION_SIZE];
2383 } VkLayerProperties;
2385 typedef struct VkSubmitInfo {
2386 VkStructureType sType;
2388 deUint32 waitSemaphoreCount;
2389 const VkSemaphore* pWaitSemaphores;
2390 const VkPipelineStageFlags* pWaitDstStageMask;
2391 deUint32 commandBufferCount;
2392 const VkCommandBuffer* pCommandBuffers;
2393 deUint32 signalSemaphoreCount;
2394 const VkSemaphore* pSignalSemaphores;
2397 typedef struct VkMappedMemoryRange {
2398 VkStructureType sType;
2400 VkDeviceMemory memory;
2401 VkDeviceSize offset;
2403 } VkMappedMemoryRange;
2405 typedef struct VkMemoryAllocateInfo {
2406 VkStructureType sType;
2408 VkDeviceSize allocationSize;
2409 deUint32 memoryTypeIndex;
2410 } VkMemoryAllocateInfo;
2412 typedef struct VkMemoryRequirements {
2414 VkDeviceSize alignment;
2415 deUint32 memoryTypeBits;
2416 } VkMemoryRequirements;
2418 typedef struct VkSparseMemoryBind {
2419 VkDeviceSize resourceOffset;
2421 VkDeviceMemory memory;
2422 VkDeviceSize memoryOffset;
2423 VkSparseMemoryBindFlags flags;
2424 } VkSparseMemoryBind;
2426 typedef struct VkSparseBufferMemoryBindInfo {
2429 const VkSparseMemoryBind* pBinds;
2430 } VkSparseBufferMemoryBindInfo;
2432 typedef struct VkSparseImageOpaqueMemoryBindInfo {
2435 const VkSparseMemoryBind* pBinds;
2436 } VkSparseImageOpaqueMemoryBindInfo;
2438 typedef struct VkImageSubresource {
2439 VkImageAspectFlags aspectMask;
2441 deUint32 arrayLayer;
2442 } VkImageSubresource;
2444 typedef struct VkSparseImageMemoryBind {
2445 VkImageSubresource subresource;
2448 VkDeviceMemory memory;
2449 VkDeviceSize memoryOffset;
2450 VkSparseMemoryBindFlags flags;
2451 } VkSparseImageMemoryBind;
2453 typedef struct VkSparseImageMemoryBindInfo {
2456 const VkSparseImageMemoryBind* pBinds;
2457 } VkSparseImageMemoryBindInfo;
2459 typedef struct VkBindSparseInfo {
2460 VkStructureType sType;
2462 deUint32 waitSemaphoreCount;
2463 const VkSemaphore* pWaitSemaphores;
2464 deUint32 bufferBindCount;
2465 const VkSparseBufferMemoryBindInfo* pBufferBinds;
2466 deUint32 imageOpaqueBindCount;
2467 const VkSparseImageOpaqueMemoryBindInfo* pImageOpaqueBinds;
2468 deUint32 imageBindCount;
2469 const VkSparseImageMemoryBindInfo* pImageBinds;
2470 deUint32 signalSemaphoreCount;
2471 const VkSemaphore* pSignalSemaphores;
2474 typedef struct VkSparseImageFormatProperties {
2475 VkImageAspectFlags aspectMask;
2476 VkExtent3D imageGranularity;
2477 VkSparseImageFormatFlags flags;
2478 } VkSparseImageFormatProperties;
2480 typedef struct VkSparseImageMemoryRequirements {
2481 VkSparseImageFormatProperties formatProperties;
2482 deUint32 imageMipTailFirstLod;
2483 VkDeviceSize imageMipTailSize;
2484 VkDeviceSize imageMipTailOffset;
2485 VkDeviceSize imageMipTailStride;
2486 } VkSparseImageMemoryRequirements;
2488 typedef struct VkFenceCreateInfo {
2489 VkStructureType sType;
2491 VkFenceCreateFlags flags;
2492 } VkFenceCreateInfo;
2494 typedef struct VkSemaphoreCreateInfo {
2495 VkStructureType sType;
2497 VkSemaphoreCreateFlags flags;
2498 } VkSemaphoreCreateInfo;
2500 typedef struct VkEventCreateInfo {
2501 VkStructureType sType;
2503 VkEventCreateFlags flags;
2504 } VkEventCreateInfo;
2506 typedef struct VkQueryPoolCreateInfo {
2507 VkStructureType sType;
2509 VkQueryPoolCreateFlags flags;
2510 VkQueryType queryType;
2511 deUint32 queryCount;
2512 VkQueryPipelineStatisticFlags pipelineStatistics;
2513 } VkQueryPoolCreateInfo;
2515 typedef struct VkBufferCreateInfo {
2516 VkStructureType sType;
2518 VkBufferCreateFlags flags;
2520 VkBufferUsageFlags usage;
2521 VkSharingMode sharingMode;
2522 deUint32 queueFamilyIndexCount;
2523 const deUint32* pQueueFamilyIndices;
2524 } VkBufferCreateInfo;
2526 typedef struct VkBufferViewCreateInfo {
2527 VkStructureType sType;
2529 VkBufferViewCreateFlags flags;
2532 VkDeviceSize offset;
2534 } VkBufferViewCreateInfo;
2536 typedef struct VkImageCreateInfo {
2537 VkStructureType sType;
2539 VkImageCreateFlags flags;
2540 VkImageType imageType;
2544 deUint32 arrayLayers;
2545 VkSampleCountFlagBits samples;
2546 VkImageTiling tiling;
2547 VkImageUsageFlags usage;
2548 VkSharingMode sharingMode;
2549 deUint32 queueFamilyIndexCount;
2550 const deUint32* pQueueFamilyIndices;
2551 VkImageLayout initialLayout;
2552 } VkImageCreateInfo;
2554 typedef struct VkSubresourceLayout {
2555 VkDeviceSize offset;
2557 VkDeviceSize rowPitch;
2558 VkDeviceSize arrayPitch;
2559 VkDeviceSize depthPitch;
2560 } VkSubresourceLayout;
2562 typedef struct VkComponentMapping {
2563 VkComponentSwizzle r;
2564 VkComponentSwizzle g;
2565 VkComponentSwizzle b;
2566 VkComponentSwizzle a;
2567 } VkComponentMapping;
2569 typedef struct VkImageViewCreateInfo {
2570 VkStructureType sType;
2572 VkImageViewCreateFlags flags;
2574 VkImageViewType viewType;
2576 VkComponentMapping components;
2577 VkImageSubresourceRange subresourceRange;
2578 } VkImageViewCreateInfo;
2580 typedef struct VkShaderModuleCreateInfo {
2581 VkStructureType sType;
2583 VkShaderModuleCreateFlags flags;
2585 const deUint32* pCode;
2586 } VkShaderModuleCreateInfo;
2588 typedef struct VkPipelineCacheCreateInfo {
2589 VkStructureType sType;
2591 VkPipelineCacheCreateFlags flags;
2592 deUintptr initialDataSize;
2593 const void* pInitialData;
2594 } VkPipelineCacheCreateInfo;
2596 typedef struct VkSpecializationMapEntry {
2597 deUint32 constantID;
2600 } VkSpecializationMapEntry;
2602 typedef struct VkSpecializationInfo {
2603 deUint32 mapEntryCount;
2604 const VkSpecializationMapEntry* pMapEntries;
2607 } VkSpecializationInfo;
2609 typedef struct VkPipelineShaderStageCreateInfo {
2610 VkStructureType sType;
2612 VkPipelineShaderStageCreateFlags flags;
2613 VkShaderStageFlagBits stage;
2614 VkShaderModule module;
2616 const VkSpecializationInfo* pSpecializationInfo;
2617 } VkPipelineShaderStageCreateInfo;
2619 typedef struct VkComputePipelineCreateInfo {
2620 VkStructureType sType;
2622 VkPipelineCreateFlags flags;
2623 VkPipelineShaderStageCreateInfo stage;
2624 VkPipelineLayout layout;
2625 VkPipeline basePipelineHandle;
2626 deInt32 basePipelineIndex;
2627 } VkComputePipelineCreateInfo;
2629 typedef struct VkVertexInputBindingDescription {
2632 VkVertexInputRate inputRate;
2633 } VkVertexInputBindingDescription;
2635 typedef struct VkVertexInputAttributeDescription {
2640 } VkVertexInputAttributeDescription;
2642 typedef struct VkPipelineVertexInputStateCreateInfo {
2643 VkStructureType sType;
2645 VkPipelineVertexInputStateCreateFlags flags;
2646 deUint32 vertexBindingDescriptionCount;
2647 const VkVertexInputBindingDescription* pVertexBindingDescriptions;
2648 deUint32 vertexAttributeDescriptionCount;
2649 const VkVertexInputAttributeDescription* pVertexAttributeDescriptions;
2650 } VkPipelineVertexInputStateCreateInfo;
2652 typedef struct VkPipelineInputAssemblyStateCreateInfo {
2653 VkStructureType sType;
2655 VkPipelineInputAssemblyStateCreateFlags flags;
2656 VkPrimitiveTopology topology;
2657 VkBool32 primitiveRestartEnable;
2658 } VkPipelineInputAssemblyStateCreateInfo;
2660 typedef struct VkPipelineTessellationStateCreateInfo {
2661 VkStructureType sType;
2663 VkPipelineTessellationStateCreateFlags flags;
2664 deUint32 patchControlPoints;
2665 } VkPipelineTessellationStateCreateInfo;
2667 typedef struct VkViewport {
2676 typedef struct VkPipelineViewportStateCreateInfo {
2677 VkStructureType sType;
2679 VkPipelineViewportStateCreateFlags flags;
2680 deUint32 viewportCount;
2681 const VkViewport* pViewports;
2682 deUint32 scissorCount;
2683 const VkRect2D* pScissors;
2684 } VkPipelineViewportStateCreateInfo;
2686 typedef struct VkPipelineRasterizationStateCreateInfo {
2687 VkStructureType sType;
2689 VkPipelineRasterizationStateCreateFlags flags;
2690 VkBool32 depthClampEnable;
2691 VkBool32 rasterizerDiscardEnable;
2692 VkPolygonMode polygonMode;
2693 VkCullModeFlags cullMode;
2694 VkFrontFace frontFace;
2695 VkBool32 depthBiasEnable;
2696 float depthBiasConstantFactor;
2697 float depthBiasClamp;
2698 float depthBiasSlopeFactor;
2700 } VkPipelineRasterizationStateCreateInfo;
2702 typedef struct VkPipelineMultisampleStateCreateInfo {
2703 VkStructureType sType;
2705 VkPipelineMultisampleStateCreateFlags flags;
2706 VkSampleCountFlagBits rasterizationSamples;
2707 VkBool32 sampleShadingEnable;
2708 float minSampleShading;
2709 const VkSampleMask* pSampleMask;
2710 VkBool32 alphaToCoverageEnable;
2711 VkBool32 alphaToOneEnable;
2712 } VkPipelineMultisampleStateCreateInfo;
2714 typedef struct VkStencilOpState {
2717 VkStencilOp depthFailOp;
2718 VkCompareOp compareOp;
2719 deUint32 compareMask;
2724 typedef struct VkPipelineDepthStencilStateCreateInfo {
2725 VkStructureType sType;
2727 VkPipelineDepthStencilStateCreateFlags flags;
2728 VkBool32 depthTestEnable;
2729 VkBool32 depthWriteEnable;
2730 VkCompareOp depthCompareOp;
2731 VkBool32 depthBoundsTestEnable;
2732 VkBool32 stencilTestEnable;
2733 VkStencilOpState front;
2734 VkStencilOpState back;
2735 float minDepthBounds;
2736 float maxDepthBounds;
2737 } VkPipelineDepthStencilStateCreateInfo;
2739 typedef struct VkPipelineColorBlendAttachmentState {
2740 VkBool32 blendEnable;
2741 VkBlendFactor srcColorBlendFactor;
2742 VkBlendFactor dstColorBlendFactor;
2743 VkBlendOp colorBlendOp;
2744 VkBlendFactor srcAlphaBlendFactor;
2745 VkBlendFactor dstAlphaBlendFactor;
2746 VkBlendOp alphaBlendOp;
2747 VkColorComponentFlags colorWriteMask;
2748 } VkPipelineColorBlendAttachmentState;
2750 typedef struct VkPipelineColorBlendStateCreateInfo {
2751 VkStructureType sType;
2753 VkPipelineColorBlendStateCreateFlags flags;
2754 VkBool32 logicOpEnable;
2756 deUint32 attachmentCount;
2757 const VkPipelineColorBlendAttachmentState* pAttachments;
2758 float blendConstants[4];
2759 } VkPipelineColorBlendStateCreateInfo;
2761 typedef struct VkPipelineDynamicStateCreateInfo {
2762 VkStructureType sType;
2764 VkPipelineDynamicStateCreateFlags flags;
2765 deUint32 dynamicStateCount;
2766 const VkDynamicState* pDynamicStates;
2767 } VkPipelineDynamicStateCreateInfo;
2769 typedef struct VkGraphicsPipelineCreateInfo {
2770 VkStructureType sType;
2772 VkPipelineCreateFlags flags;
2773 deUint32 stageCount;
2774 const VkPipelineShaderStageCreateInfo* pStages;
2775 const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
2776 const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState;
2777 const VkPipelineTessellationStateCreateInfo* pTessellationState;
2778 const VkPipelineViewportStateCreateInfo* pViewportState;
2779 const VkPipelineRasterizationStateCreateInfo* pRasterizationState;
2780 const VkPipelineMultisampleStateCreateInfo* pMultisampleState;
2781 const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState;
2782 const VkPipelineColorBlendStateCreateInfo* pColorBlendState;
2783 const VkPipelineDynamicStateCreateInfo* pDynamicState;
2784 VkPipelineLayout layout;
2785 VkRenderPass renderPass;
2787 VkPipeline basePipelineHandle;
2788 deInt32 basePipelineIndex;
2789 } VkGraphicsPipelineCreateInfo;
2791 typedef struct VkPushConstantRange {
2792 VkShaderStageFlags stageFlags;
2795 } VkPushConstantRange;
2797 typedef struct VkPipelineLayoutCreateInfo {
2798 VkStructureType sType;
2800 VkPipelineLayoutCreateFlags flags;
2801 deUint32 setLayoutCount;
2802 const VkDescriptorSetLayout* pSetLayouts;
2803 deUint32 pushConstantRangeCount;
2804 const VkPushConstantRange* pPushConstantRanges;
2805 } VkPipelineLayoutCreateInfo;
2807 typedef struct VkSamplerCreateInfo {
2808 VkStructureType sType;
2810 VkSamplerCreateFlags flags;
2813 VkSamplerMipmapMode mipmapMode;
2814 VkSamplerAddressMode addressModeU;
2815 VkSamplerAddressMode addressModeV;
2816 VkSamplerAddressMode addressModeW;
2818 VkBool32 anisotropyEnable;
2819 float maxAnisotropy;
2820 VkBool32 compareEnable;
2821 VkCompareOp compareOp;
2824 VkBorderColor borderColor;
2825 VkBool32 unnormalizedCoordinates;
2826 } VkSamplerCreateInfo;
2828 typedef struct VkCopyDescriptorSet {
2829 VkStructureType sType;
2831 VkDescriptorSet srcSet;
2832 deUint32 srcBinding;
2833 deUint32 srcArrayElement;
2834 VkDescriptorSet dstSet;
2835 deUint32 dstBinding;
2836 deUint32 dstArrayElement;
2837 deUint32 descriptorCount;
2838 } VkCopyDescriptorSet;
2840 typedef struct VkDescriptorBufferInfo {
2842 VkDeviceSize offset;
2844 } VkDescriptorBufferInfo;
2846 typedef struct VkDescriptorImageInfo {
2848 VkImageView imageView;
2849 VkImageLayout imageLayout;
2850 } VkDescriptorImageInfo;
2852 typedef struct VkDescriptorPoolSize {
2853 VkDescriptorType type;
2854 deUint32 descriptorCount;
2855 } VkDescriptorPoolSize;
2857 typedef struct VkDescriptorPoolCreateInfo {
2858 VkStructureType sType;
2860 VkDescriptorPoolCreateFlags flags;
2862 deUint32 poolSizeCount;
2863 const VkDescriptorPoolSize* pPoolSizes;
2864 } VkDescriptorPoolCreateInfo;
2866 typedef struct VkDescriptorSetAllocateInfo {
2867 VkStructureType sType;
2869 VkDescriptorPool descriptorPool;
2870 deUint32 descriptorSetCount;
2871 const VkDescriptorSetLayout* pSetLayouts;
2872 } VkDescriptorSetAllocateInfo;
2874 typedef struct VkDescriptorSetLayoutBinding {
2876 VkDescriptorType descriptorType;
2877 deUint32 descriptorCount;
2878 VkShaderStageFlags stageFlags;
2879 const VkSampler* pImmutableSamplers;
2880 } VkDescriptorSetLayoutBinding;
2882 typedef struct VkDescriptorSetLayoutCreateInfo {
2883 VkStructureType sType;
2885 VkDescriptorSetLayoutCreateFlags flags;
2886 deUint32 bindingCount;
2887 const VkDescriptorSetLayoutBinding* pBindings;
2888 } VkDescriptorSetLayoutCreateInfo;
2890 typedef struct VkWriteDescriptorSet {
2891 VkStructureType sType;
2893 VkDescriptorSet dstSet;
2894 deUint32 dstBinding;
2895 deUint32 dstArrayElement;
2896 deUint32 descriptorCount;
2897 VkDescriptorType descriptorType;
2898 const VkDescriptorImageInfo* pImageInfo;
2899 const VkDescriptorBufferInfo* pBufferInfo;
2900 const VkBufferView* pTexelBufferView;
2901 } VkWriteDescriptorSet;
2903 typedef struct VkAttachmentDescription {
2904 VkAttachmentDescriptionFlags flags;
2906 VkSampleCountFlagBits samples;
2907 VkAttachmentLoadOp loadOp;
2908 VkAttachmentStoreOp storeOp;
2909 VkAttachmentLoadOp stencilLoadOp;
2910 VkAttachmentStoreOp stencilStoreOp;
2911 VkImageLayout initialLayout;
2912 VkImageLayout finalLayout;
2913 } VkAttachmentDescription;
2915 typedef struct VkAttachmentReference {
2916 deUint32 attachment;
2917 VkImageLayout layout;
2918 } VkAttachmentReference;
2920 typedef struct VkFramebufferCreateInfo {
2921 VkStructureType sType;
2923 VkFramebufferCreateFlags flags;
2924 VkRenderPass renderPass;
2925 deUint32 attachmentCount;
2926 const VkImageView* pAttachments;
2930 } VkFramebufferCreateInfo;
2932 typedef struct VkSubpassDescription {
2933 VkSubpassDescriptionFlags flags;
2934 VkPipelineBindPoint pipelineBindPoint;
2935 deUint32 inputAttachmentCount;
2936 const VkAttachmentReference* pInputAttachments;
2937 deUint32 colorAttachmentCount;
2938 const VkAttachmentReference* pColorAttachments;
2939 const VkAttachmentReference* pResolveAttachments;
2940 const VkAttachmentReference* pDepthStencilAttachment;
2941 deUint32 preserveAttachmentCount;
2942 const deUint32* pPreserveAttachments;
2943 } VkSubpassDescription;
2945 typedef struct VkSubpassDependency {
2946 deUint32 srcSubpass;
2947 deUint32 dstSubpass;
2948 VkPipelineStageFlags srcStageMask;
2949 VkPipelineStageFlags dstStageMask;
2950 VkAccessFlags srcAccessMask;
2951 VkAccessFlags dstAccessMask;
2952 VkDependencyFlags dependencyFlags;
2953 } VkSubpassDependency;
2955 typedef struct VkRenderPassCreateInfo {
2956 VkStructureType sType;
2958 VkRenderPassCreateFlags flags;
2959 deUint32 attachmentCount;
2960 const VkAttachmentDescription* pAttachments;
2961 deUint32 subpassCount;
2962 const VkSubpassDescription* pSubpasses;
2963 deUint32 dependencyCount;
2964 const VkSubpassDependency* pDependencies;
2965 } VkRenderPassCreateInfo;
2967 typedef struct VkCommandPoolCreateInfo {
2968 VkStructureType sType;
2970 VkCommandPoolCreateFlags flags;
2971 deUint32 queueFamilyIndex;
2972 } VkCommandPoolCreateInfo;
2974 typedef struct VkCommandBufferAllocateInfo {
2975 VkStructureType sType;
2977 VkCommandPool commandPool;
2978 VkCommandBufferLevel level;
2979 deUint32 commandBufferCount;
2980 } VkCommandBufferAllocateInfo;
2982 typedef struct VkCommandBufferInheritanceInfo {
2983 VkStructureType sType;
2985 VkRenderPass renderPass;
2987 VkFramebuffer framebuffer;
2988 VkBool32 occlusionQueryEnable;
2989 VkQueryControlFlags queryFlags;
2990 VkQueryPipelineStatisticFlags pipelineStatistics;
2991 } VkCommandBufferInheritanceInfo;
2993 typedef struct VkCommandBufferBeginInfo {
2994 VkStructureType sType;
2996 VkCommandBufferUsageFlags flags;
2997 const VkCommandBufferInheritanceInfo* pInheritanceInfo;
2998 } VkCommandBufferBeginInfo;
3000 typedef struct VkBufferCopy {
3001 VkDeviceSize srcOffset;
3002 VkDeviceSize dstOffset;
3006 typedef struct VkImageSubresourceLayers {
3007 VkImageAspectFlags aspectMask;
3009 deUint32 baseArrayLayer;
3010 deUint32 layerCount;
3011 } VkImageSubresourceLayers;
3013 typedef struct VkBufferImageCopy {
3014 VkDeviceSize bufferOffset;
3015 deUint32 bufferRowLength;
3016 deUint32 bufferImageHeight;
3017 VkImageSubresourceLayers imageSubresource;
3018 VkOffset3D imageOffset;
3019 VkExtent3D imageExtent;
3020 } VkBufferImageCopy;
3022 typedef union VkClearColorValue {
3026 } VkClearColorValue;
3028 typedef struct VkClearDepthStencilValue {
3031 } VkClearDepthStencilValue;
3033 typedef union VkClearValue {
3034 VkClearColorValue color;
3035 VkClearDepthStencilValue depthStencil;
3038 typedef struct VkClearAttachment {
3039 VkImageAspectFlags aspectMask;
3040 deUint32 colorAttachment;
3041 VkClearValue clearValue;
3042 } VkClearAttachment;
3044 typedef struct VkClearRect {
3046 deUint32 baseArrayLayer;
3047 deUint32 layerCount;
3050 typedef struct VkImageBlit {
3051 VkImageSubresourceLayers srcSubresource;
3052 VkOffset3D srcOffsets[2];
3053 VkImageSubresourceLayers dstSubresource;
3054 VkOffset3D dstOffsets[2];
3057 typedef struct VkImageCopy {
3058 VkImageSubresourceLayers srcSubresource;
3059 VkOffset3D srcOffset;
3060 VkImageSubresourceLayers dstSubresource;
3061 VkOffset3D dstOffset;
3065 typedef struct VkImageResolve {
3066 VkImageSubresourceLayers srcSubresource;
3067 VkOffset3D srcOffset;
3068 VkImageSubresourceLayers dstSubresource;
3069 VkOffset3D dstOffset;
3073 typedef struct VkRenderPassBeginInfo {
3074 VkStructureType sType;
3076 VkRenderPass renderPass;
3077 VkFramebuffer framebuffer;
3078 VkRect2D renderArea;
3079 deUint32 clearValueCount;
3080 const VkClearValue* pClearValues;
3081 } VkRenderPassBeginInfo;
3083 typedef VkResult (VKAPI_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance);
3084 typedef void (VKAPI_PTR *PFN_vkDestroyInstance)(VkInstance instance, const VkAllocationCallbacks* pAllocator);
3085 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDevices)(VkInstance instance, deUint32* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices);
3086 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures);
3087 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties);
3088 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties);
3089 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties);
3090 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties);
3091 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties);
3092 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddr)(VkInstance instance, const char* pName);
3093 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetDeviceProcAddr)(VkDevice device, const char* pName);
3094 typedef VkResult (VKAPI_PTR *PFN_vkCreateDevice)(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice);
3095 typedef void (VKAPI_PTR *PFN_vkDestroyDevice)(VkDevice device, const VkAllocationCallbacks* pAllocator);
3096 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceExtensionProperties)(const char* pLayerName, deUint32* pPropertyCount, VkExtensionProperties* pProperties);
3097 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice physicalDevice, const char* pLayerName, deUint32* pPropertyCount, VkExtensionProperties* pProperties);
3098 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceLayerProperties)(deUint32* pPropertyCount, VkLayerProperties* pProperties);
3099 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkLayerProperties* pProperties);
3100 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue)(VkDevice device, deUint32 queueFamilyIndex, deUint32 queueIndex, VkQueue* pQueue);
3101 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit)(VkQueue queue, deUint32 submitCount, const VkSubmitInfo* pSubmits, VkFence fence);
3102 typedef VkResult (VKAPI_PTR *PFN_vkQueueWaitIdle)(VkQueue queue);
3103 typedef VkResult (VKAPI_PTR *PFN_vkDeviceWaitIdle)(VkDevice device);
3104 typedef VkResult (VKAPI_PTR *PFN_vkAllocateMemory)(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory);
3105 typedef void (VKAPI_PTR *PFN_vkFreeMemory)(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator);
3106 typedef VkResult (VKAPI_PTR *PFN_vkMapMemory)(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData);
3107 typedef void (VKAPI_PTR *PFN_vkUnmapMemory)(VkDevice device, VkDeviceMemory memory);
3108 typedef VkResult (VKAPI_PTR *PFN_vkFlushMappedMemoryRanges)(VkDevice device, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
3109 typedef VkResult (VKAPI_PTR *PFN_vkInvalidateMappedMemoryRanges)(VkDevice device, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
3110 typedef void (VKAPI_PTR *PFN_vkGetDeviceMemoryCommitment)(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes);
3111 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory)(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset);
3112 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory)(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset);
3113 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements)(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements);
3114 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements)(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements);
3115 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements)(VkDevice device, VkImage image, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
3116 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, deUint32* pPropertyCount, VkSparseImageFormatProperties* pProperties);
3117 typedef VkResult (VKAPI_PTR *PFN_vkQueueBindSparse)(VkQueue queue, deUint32 bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence);
3118 typedef VkResult (VKAPI_PTR *PFN_vkCreateFence)(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
3119 typedef void (VKAPI_PTR *PFN_vkDestroyFence)(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator);
3120 typedef VkResult (VKAPI_PTR *PFN_vkResetFences)(VkDevice device, deUint32 fenceCount, const VkFence* pFences);
3121 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceStatus)(VkDevice device, VkFence fence);
3122 typedef VkResult (VKAPI_PTR *PFN_vkWaitForFences)(VkDevice device, deUint32 fenceCount, const VkFence* pFences, VkBool32 waitAll, deUint64 timeout);
3123 typedef VkResult (VKAPI_PTR *PFN_vkCreateSemaphore)(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore);
3124 typedef void (VKAPI_PTR *PFN_vkDestroySemaphore)(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator);
3125 typedef VkResult (VKAPI_PTR *PFN_vkCreateEvent)(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent);
3126 typedef void (VKAPI_PTR *PFN_vkDestroyEvent)(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator);
3127 typedef VkResult (VKAPI_PTR *PFN_vkGetEventStatus)(VkDevice device, VkEvent event);
3128 typedef VkResult (VKAPI_PTR *PFN_vkSetEvent)(VkDevice device, VkEvent event);
3129 typedef VkResult (VKAPI_PTR *PFN_vkResetEvent)(VkDevice device, VkEvent event);
3130 typedef VkResult (VKAPI_PTR *PFN_vkCreateQueryPool)(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool);
3131 typedef void (VKAPI_PTR *PFN_vkDestroyQueryPool)(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator);
3132 typedef VkResult (VKAPI_PTR *PFN_vkGetQueryPoolResults)(VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, deUintptr dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags);
3133 typedef VkResult (VKAPI_PTR *PFN_vkCreateBuffer)(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer);
3134 typedef void (VKAPI_PTR *PFN_vkDestroyBuffer)(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator);
3135 typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferView)(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView);
3136 typedef void (VKAPI_PTR *PFN_vkDestroyBufferView)(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator);
3137 typedef VkResult (VKAPI_PTR *PFN_vkCreateImage)(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage);
3138 typedef void (VKAPI_PTR *PFN_vkDestroyImage)(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator);
3139 typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout)(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout);
3140 typedef VkResult (VKAPI_PTR *PFN_vkCreateImageView)(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView);
3141 typedef void (VKAPI_PTR *PFN_vkDestroyImageView)(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator);
3142 typedef VkResult (VKAPI_PTR *PFN_vkCreateShaderModule)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule);
3143 typedef void (VKAPI_PTR *PFN_vkDestroyShaderModule)(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator);
3144 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineCache)(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache);
3145 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineCache)(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator);
3146 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineCacheData)(VkDevice device, VkPipelineCache pipelineCache, deUintptr* pDataSize, void* pData);
3147 typedef VkResult (VKAPI_PTR *PFN_vkMergePipelineCaches)(VkDevice device, VkPipelineCache dstCache, deUint32 srcCacheCount, const VkPipelineCache* pSrcCaches);
3148 typedef VkResult (VKAPI_PTR *PFN_vkCreateGraphicsPipelines)(VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
3149 typedef VkResult (VKAPI_PTR *PFN_vkCreateComputePipelines)(VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
3150 typedef void (VKAPI_PTR *PFN_vkDestroyPipeline)(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator);
3151 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineLayout)(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout);
3152 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineLayout)(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator);
3153 typedef VkResult (VKAPI_PTR *PFN_vkCreateSampler)(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler);
3154 typedef void (VKAPI_PTR *PFN_vkDestroySampler)(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator);
3155 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorSetLayout)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout);
3156 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorSetLayout)(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator);
3157 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorPool)(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool);
3158 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator);
3159 typedef VkResult (VKAPI_PTR *PFN_vkResetDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags);
3160 typedef VkResult (VKAPI_PTR *PFN_vkAllocateDescriptorSets)(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets);
3161 typedef VkResult (VKAPI_PTR *PFN_vkFreeDescriptorSets)(VkDevice device, VkDescriptorPool descriptorPool, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets);
3162 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSets)(VkDevice device, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, deUint32 descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies);
3163 typedef VkResult (VKAPI_PTR *PFN_vkCreateFramebuffer)(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer);
3164 typedef void (VKAPI_PTR *PFN_vkDestroyFramebuffer)(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator);
3165 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass)(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
3166 typedef void (VKAPI_PTR *PFN_vkDestroyRenderPass)(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator);
3167 typedef void (VKAPI_PTR *PFN_vkGetRenderAreaGranularity)(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity);
3168 typedef VkResult (VKAPI_PTR *PFN_vkCreateCommandPool)(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool);
3169 typedef void (VKAPI_PTR *PFN_vkDestroyCommandPool)(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator);
3170 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags);
3171 typedef VkResult (VKAPI_PTR *PFN_vkAllocateCommandBuffers)(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers);
3172 typedef void (VKAPI_PTR *PFN_vkFreeCommandBuffers)(VkDevice device, VkCommandPool commandPool, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers);
3173 typedef VkResult (VKAPI_PTR *PFN_vkBeginCommandBuffer)(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo);
3174 typedef VkResult (VKAPI_PTR *PFN_vkEndCommandBuffer)(VkCommandBuffer commandBuffer);
3175 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandBuffer)(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags);
3176 typedef void (VKAPI_PTR *PFN_vkCmdBindPipeline)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline);
3177 typedef void (VKAPI_PTR *PFN_vkCmdSetViewport)(VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkViewport* pViewports);
3178 typedef void (VKAPI_PTR *PFN_vkCmdSetScissor)(VkCommandBuffer commandBuffer, deUint32 firstScissor, deUint32 scissorCount, const VkRect2D* pScissors);
3179 typedef void (VKAPI_PTR *PFN_vkCmdSetLineWidth)(VkCommandBuffer commandBuffer, float lineWidth);
3180 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias)(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor);
3181 typedef void (VKAPI_PTR *PFN_vkCmdSetBlendConstants)(VkCommandBuffer commandBuffer, const float blendConstants[4]);
3182 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBounds)(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds);
3183 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilCompareMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 compareMask);
3184 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilWriteMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 writeMask);
3185 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilReference)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 reference);
3186 typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorSets)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 firstSet, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets, deUint32 dynamicOffsetCount, const deUint32* pDynamicOffsets);
3187 typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType);
3188 typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets);
3189 typedef void (VKAPI_PTR *PFN_vkCmdDraw)(VkCommandBuffer commandBuffer, deUint32 vertexCount, deUint32 instanceCount, deUint32 firstVertex, deUint32 firstInstance);
3190 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexed)(VkCommandBuffer commandBuffer, deUint32 indexCount, deUint32 instanceCount, deUint32 firstIndex, deInt32 vertexOffset, deUint32 firstInstance);
3191 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride);
3192 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride);
3193 typedef void (VKAPI_PTR *PFN_vkCmdDispatch)(VkCommandBuffer commandBuffer, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ);
3194 typedef void (VKAPI_PTR *PFN_vkCmdDispatchIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset);
3195 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferCopy* pRegions);
3196 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageCopy* pRegions);
3197 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageBlit* pRegions, VkFilter filter);
3198 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkBufferImageCopy* pRegions);
3199 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferImageCopy* pRegions);
3200 typedef void (VKAPI_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData);
3201 typedef void (VKAPI_PTR *PFN_vkCmdFillBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, deUint32 data);
3202 typedef void (VKAPI_PTR *PFN_vkCmdClearColorImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, deUint32 rangeCount, const VkImageSubresourceRange* pRanges);
3203 typedef void (VKAPI_PTR *PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, deUint32 rangeCount, const VkImageSubresourceRange* pRanges);
3204 typedef void (VKAPI_PTR *PFN_vkCmdClearAttachments)(VkCommandBuffer commandBuffer, deUint32 attachmentCount, const VkClearAttachment* pAttachments, deUint32 rectCount, const VkClearRect* pRects);
3205 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageResolve* pRegions);
3206 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
3207 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
3208 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);
3209 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);
3210 typedef void (VKAPI_PTR *PFN_vkCmdBeginQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, VkQueryControlFlags flags);
3211 typedef void (VKAPI_PTR *PFN_vkCmdEndQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query);
3212 typedef void (VKAPI_PTR *PFN_vkCmdResetQueryPool)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount);
3213 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, deUint32 query);
3214 typedef void (VKAPI_PTR *PFN_vkCmdCopyQueryPoolResults)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags);
3215 typedef void (VKAPI_PTR *PFN_vkCmdPushConstants)(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, deUint32 offset, deUint32 size, const void* pValues);
3216 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents);
3217 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass)(VkCommandBuffer commandBuffer, VkSubpassContents contents);
3218 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass)(VkCommandBuffer commandBuffer);
3219 typedef void (VKAPI_PTR *PFN_vkCmdExecuteCommands)(VkCommandBuffer commandBuffer, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers);
3221 #ifndef VK_NO_PROTOTYPES
3222 VKAPI_ATTR VkResult VKAPI_CALL vkCreateInstance(
3223 const VkInstanceCreateInfo* pCreateInfo,
3224 const VkAllocationCallbacks* pAllocator,
3225 VkInstance* pInstance);
3227 VKAPI_ATTR void VKAPI_CALL vkDestroyInstance(
3228 VkInstance instance,
3229 const VkAllocationCallbacks* pAllocator);
3231 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDevices(
3232 VkInstance instance,
3233 deUint32* pPhysicalDeviceCount,
3234 VkPhysicalDevice* pPhysicalDevices);
3236 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures(
3237 VkPhysicalDevice physicalDevice,
3238 VkPhysicalDeviceFeatures* pFeatures);
3240 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties(
3241 VkPhysicalDevice physicalDevice,
3243 VkFormatProperties* pFormatProperties);
3245 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties(
3246 VkPhysicalDevice physicalDevice,
3249 VkImageTiling tiling,
3250 VkImageUsageFlags usage,
3251 VkImageCreateFlags flags,
3252 VkImageFormatProperties* pImageFormatProperties);
3254 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties(
3255 VkPhysicalDevice physicalDevice,
3256 VkPhysicalDeviceProperties* pProperties);
3258 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties(
3259 VkPhysicalDevice physicalDevice,
3260 deUint32* pQueueFamilyPropertyCount,
3261 VkQueueFamilyProperties* pQueueFamilyProperties);
3263 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties(
3264 VkPhysicalDevice physicalDevice,
3265 VkPhysicalDeviceMemoryProperties* pMemoryProperties);
3267 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr(
3268 VkInstance instance,
3271 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr(
3275 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDevice(
3276 VkPhysicalDevice physicalDevice,
3277 const VkDeviceCreateInfo* pCreateInfo,
3278 const VkAllocationCallbacks* pAllocator,
3281 VKAPI_ATTR void VKAPI_CALL vkDestroyDevice(
3283 const VkAllocationCallbacks* pAllocator);
3285 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionProperties(
3286 const char* pLayerName,
3287 deUint32* pPropertyCount,
3288 VkExtensionProperties* pProperties);
3290 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceExtensionProperties(
3291 VkPhysicalDevice physicalDevice,
3292 const char* pLayerName,
3293 deUint32* pPropertyCount,
3294 VkExtensionProperties* pProperties);
3296 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties(
3297 deUint32* pPropertyCount,
3298 VkLayerProperties* pProperties);
3300 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceLayerProperties(
3301 VkPhysicalDevice physicalDevice,
3302 deUint32* pPropertyCount,
3303 VkLayerProperties* pProperties);
3305 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue(
3307 deUint32 queueFamilyIndex,
3308 deUint32 queueIndex,
3311 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit(
3313 deUint32 submitCount,
3314 const VkSubmitInfo* pSubmits,
3317 VKAPI_ATTR VkResult VKAPI_CALL vkQueueWaitIdle(
3320 VKAPI_ATTR VkResult VKAPI_CALL vkDeviceWaitIdle(
3323 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateMemory(
3325 const VkMemoryAllocateInfo* pAllocateInfo,
3326 const VkAllocationCallbacks* pAllocator,
3327 VkDeviceMemory* pMemory);
3329 VKAPI_ATTR void VKAPI_CALL vkFreeMemory(
3331 VkDeviceMemory memory,
3332 const VkAllocationCallbacks* pAllocator);
3334 VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory(
3336 VkDeviceMemory memory,
3337 VkDeviceSize offset,
3339 VkMemoryMapFlags flags,
3342 VKAPI_ATTR void VKAPI_CALL vkUnmapMemory(
3344 VkDeviceMemory memory);
3346 VKAPI_ATTR VkResult VKAPI_CALL vkFlushMappedMemoryRanges(
3348 deUint32 memoryRangeCount,
3349 const VkMappedMemoryRange* pMemoryRanges);
3351 VKAPI_ATTR VkResult VKAPI_CALL vkInvalidateMappedMemoryRanges(
3353 deUint32 memoryRangeCount,
3354 const VkMappedMemoryRange* pMemoryRanges);
3356 VKAPI_ATTR void VKAPI_CALL vkGetDeviceMemoryCommitment(
3358 VkDeviceMemory memory,
3359 VkDeviceSize* pCommittedMemoryInBytes);
3361 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory(
3364 VkDeviceMemory memory,
3365 VkDeviceSize memoryOffset);
3367 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory(
3370 VkDeviceMemory memory,
3371 VkDeviceSize memoryOffset);
3373 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements(
3376 VkMemoryRequirements* pMemoryRequirements);
3378 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements(
3381 VkMemoryRequirements* pMemoryRequirements);
3383 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements(
3386 deUint32* pSparseMemoryRequirementCount,
3387 VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
3389 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties(
3390 VkPhysicalDevice physicalDevice,
3393 VkSampleCountFlagBits samples,
3394 VkImageUsageFlags usage,
3395 VkImageTiling tiling,
3396 deUint32* pPropertyCount,
3397 VkSparseImageFormatProperties* pProperties);
3399 VKAPI_ATTR VkResult VKAPI_CALL vkQueueBindSparse(
3401 deUint32 bindInfoCount,
3402 const VkBindSparseInfo* pBindInfo,
3405 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFence(
3407 const VkFenceCreateInfo* pCreateInfo,
3408 const VkAllocationCallbacks* pAllocator,
3411 VKAPI_ATTR void VKAPI_CALL vkDestroyFence(
3414 const VkAllocationCallbacks* pAllocator);
3416 VKAPI_ATTR VkResult VKAPI_CALL vkResetFences(
3418 deUint32 fenceCount,
3419 const VkFence* pFences);
3421 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceStatus(
3425 VKAPI_ATTR VkResult VKAPI_CALL vkWaitForFences(
3427 deUint32 fenceCount,
3428 const VkFence* pFences,
3432 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSemaphore(
3434 const VkSemaphoreCreateInfo* pCreateInfo,
3435 const VkAllocationCallbacks* pAllocator,
3436 VkSemaphore* pSemaphore);
3438 VKAPI_ATTR void VKAPI_CALL vkDestroySemaphore(
3440 VkSemaphore semaphore,
3441 const VkAllocationCallbacks* pAllocator);
3443 VKAPI_ATTR VkResult VKAPI_CALL vkCreateEvent(
3445 const VkEventCreateInfo* pCreateInfo,
3446 const VkAllocationCallbacks* pAllocator,
3449 VKAPI_ATTR void VKAPI_CALL vkDestroyEvent(
3452 const VkAllocationCallbacks* pAllocator);
3454 VKAPI_ATTR VkResult VKAPI_CALL vkGetEventStatus(
3458 VKAPI_ATTR VkResult VKAPI_CALL vkSetEvent(
3462 VKAPI_ATTR VkResult VKAPI_CALL vkResetEvent(
3466 VKAPI_ATTR VkResult VKAPI_CALL vkCreateQueryPool(
3468 const VkQueryPoolCreateInfo* pCreateInfo,
3469 const VkAllocationCallbacks* pAllocator,
3470 VkQueryPool* pQueryPool);
3472 VKAPI_ATTR void VKAPI_CALL vkDestroyQueryPool(
3474 VkQueryPool queryPool,
3475 const VkAllocationCallbacks* pAllocator);
3477 VKAPI_ATTR VkResult VKAPI_CALL vkGetQueryPoolResults(
3479 VkQueryPool queryPool,
3480 deUint32 firstQuery,
3481 deUint32 queryCount,
3484 VkDeviceSize stride,
3485 VkQueryResultFlags flags);
3487 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBuffer(
3489 const VkBufferCreateInfo* pCreateInfo,
3490 const VkAllocationCallbacks* pAllocator,
3493 VKAPI_ATTR void VKAPI_CALL vkDestroyBuffer(
3496 const VkAllocationCallbacks* pAllocator);
3498 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferView(
3500 const VkBufferViewCreateInfo* pCreateInfo,
3501 const VkAllocationCallbacks* pAllocator,
3502 VkBufferView* pView);
3504 VKAPI_ATTR void VKAPI_CALL vkDestroyBufferView(
3506 VkBufferView bufferView,
3507 const VkAllocationCallbacks* pAllocator);
3509 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImage(
3511 const VkImageCreateInfo* pCreateInfo,
3512 const VkAllocationCallbacks* pAllocator,
3515 VKAPI_ATTR void VKAPI_CALL vkDestroyImage(
3518 const VkAllocationCallbacks* pAllocator);
3520 VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout(
3523 const VkImageSubresource* pSubresource,
3524 VkSubresourceLayout* pLayout);
3526 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImageView(
3528 const VkImageViewCreateInfo* pCreateInfo,
3529 const VkAllocationCallbacks* pAllocator,
3530 VkImageView* pView);
3532 VKAPI_ATTR void VKAPI_CALL vkDestroyImageView(
3534 VkImageView imageView,
3535 const VkAllocationCallbacks* pAllocator);
3537 VKAPI_ATTR VkResult VKAPI_CALL vkCreateShaderModule(
3539 const VkShaderModuleCreateInfo* pCreateInfo,
3540 const VkAllocationCallbacks* pAllocator,
3541 VkShaderModule* pShaderModule);
3543 VKAPI_ATTR void VKAPI_CALL vkDestroyShaderModule(
3545 VkShaderModule shaderModule,
3546 const VkAllocationCallbacks* pAllocator);
3548 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineCache(
3550 const VkPipelineCacheCreateInfo* pCreateInfo,
3551 const VkAllocationCallbacks* pAllocator,
3552 VkPipelineCache* pPipelineCache);
3554 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineCache(
3556 VkPipelineCache pipelineCache,
3557 const VkAllocationCallbacks* pAllocator);
3559 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineCacheData(
3561 VkPipelineCache pipelineCache,
3562 deUintptr* pDataSize,
3565 VKAPI_ATTR VkResult VKAPI_CALL vkMergePipelineCaches(
3567 VkPipelineCache dstCache,
3568 deUint32 srcCacheCount,
3569 const VkPipelineCache* pSrcCaches);
3571 VKAPI_ATTR VkResult VKAPI_CALL vkCreateGraphicsPipelines(
3573 VkPipelineCache pipelineCache,
3574 deUint32 createInfoCount,
3575 const VkGraphicsPipelineCreateInfo* pCreateInfos,
3576 const VkAllocationCallbacks* pAllocator,
3577 VkPipeline* pPipelines);
3579 VKAPI_ATTR VkResult VKAPI_CALL vkCreateComputePipelines(
3581 VkPipelineCache pipelineCache,
3582 deUint32 createInfoCount,
3583 const VkComputePipelineCreateInfo* pCreateInfos,
3584 const VkAllocationCallbacks* pAllocator,
3585 VkPipeline* pPipelines);
3587 VKAPI_ATTR void VKAPI_CALL vkDestroyPipeline(
3589 VkPipeline pipeline,
3590 const VkAllocationCallbacks* pAllocator);
3592 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineLayout(
3594 const VkPipelineLayoutCreateInfo* pCreateInfo,
3595 const VkAllocationCallbacks* pAllocator,
3596 VkPipelineLayout* pPipelineLayout);
3598 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineLayout(
3600 VkPipelineLayout pipelineLayout,
3601 const VkAllocationCallbacks* pAllocator);
3603 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSampler(
3605 const VkSamplerCreateInfo* pCreateInfo,
3606 const VkAllocationCallbacks* pAllocator,
3607 VkSampler* pSampler);
3609 VKAPI_ATTR void VKAPI_CALL vkDestroySampler(
3612 const VkAllocationCallbacks* pAllocator);
3614 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorSetLayout(
3616 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
3617 const VkAllocationCallbacks* pAllocator,
3618 VkDescriptorSetLayout* pSetLayout);
3620 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorSetLayout(
3622 VkDescriptorSetLayout descriptorSetLayout,
3623 const VkAllocationCallbacks* pAllocator);
3625 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorPool(
3627 const VkDescriptorPoolCreateInfo* pCreateInfo,
3628 const VkAllocationCallbacks* pAllocator,
3629 VkDescriptorPool* pDescriptorPool);
3631 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorPool(
3633 VkDescriptorPool descriptorPool,
3634 const VkAllocationCallbacks* pAllocator);
3636 VKAPI_ATTR VkResult VKAPI_CALL vkResetDescriptorPool(
3638 VkDescriptorPool descriptorPool,
3639 VkDescriptorPoolResetFlags flags);
3641 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateDescriptorSets(
3643 const VkDescriptorSetAllocateInfo* pAllocateInfo,
3644 VkDescriptorSet* pDescriptorSets);
3646 VKAPI_ATTR VkResult VKAPI_CALL vkFreeDescriptorSets(
3648 VkDescriptorPool descriptorPool,
3649 deUint32 descriptorSetCount,
3650 const VkDescriptorSet* pDescriptorSets);
3652 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSets(
3654 deUint32 descriptorWriteCount,
3655 const VkWriteDescriptorSet* pDescriptorWrites,
3656 deUint32 descriptorCopyCount,
3657 const VkCopyDescriptorSet* pDescriptorCopies);
3659 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFramebuffer(
3661 const VkFramebufferCreateInfo* pCreateInfo,
3662 const VkAllocationCallbacks* pAllocator,
3663 VkFramebuffer* pFramebuffer);
3665 VKAPI_ATTR void VKAPI_CALL vkDestroyFramebuffer(
3667 VkFramebuffer framebuffer,
3668 const VkAllocationCallbacks* pAllocator);
3670 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass(
3672 const VkRenderPassCreateInfo* pCreateInfo,
3673 const VkAllocationCallbacks* pAllocator,
3674 VkRenderPass* pRenderPass);
3676 VKAPI_ATTR void VKAPI_CALL vkDestroyRenderPass(
3678 VkRenderPass renderPass,
3679 const VkAllocationCallbacks* pAllocator);
3681 VKAPI_ATTR void VKAPI_CALL vkGetRenderAreaGranularity(
3683 VkRenderPass renderPass,
3684 VkExtent2D* pGranularity);
3686 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCommandPool(
3688 const VkCommandPoolCreateInfo* pCreateInfo,
3689 const VkAllocationCallbacks* pAllocator,
3690 VkCommandPool* pCommandPool);
3692 VKAPI_ATTR void VKAPI_CALL vkDestroyCommandPool(
3694 VkCommandPool commandPool,
3695 const VkAllocationCallbacks* pAllocator);
3697 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandPool(
3699 VkCommandPool commandPool,
3700 VkCommandPoolResetFlags flags);
3702 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateCommandBuffers(
3704 const VkCommandBufferAllocateInfo* pAllocateInfo,
3705 VkCommandBuffer* pCommandBuffers);
3707 VKAPI_ATTR void VKAPI_CALL vkFreeCommandBuffers(
3709 VkCommandPool commandPool,
3710 deUint32 commandBufferCount,
3711 const VkCommandBuffer* pCommandBuffers);
3713 VKAPI_ATTR VkResult VKAPI_CALL vkBeginCommandBuffer(
3714 VkCommandBuffer commandBuffer,
3715 const VkCommandBufferBeginInfo* pBeginInfo);
3717 VKAPI_ATTR VkResult VKAPI_CALL vkEndCommandBuffer(
3718 VkCommandBuffer commandBuffer);
3720 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandBuffer(
3721 VkCommandBuffer commandBuffer,
3722 VkCommandBufferResetFlags flags);
3724 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipeline(
3725 VkCommandBuffer commandBuffer,
3726 VkPipelineBindPoint pipelineBindPoint,
3727 VkPipeline pipeline);
3729 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewport(
3730 VkCommandBuffer commandBuffer,
3731 deUint32 firstViewport,
3732 deUint32 viewportCount,
3733 const VkViewport* pViewports);
3735 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissor(
3736 VkCommandBuffer commandBuffer,
3737 deUint32 firstScissor,
3738 deUint32 scissorCount,
3739 const VkRect2D* pScissors);
3741 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineWidth(
3742 VkCommandBuffer commandBuffer,
3745 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias(
3746 VkCommandBuffer commandBuffer,
3747 float depthBiasConstantFactor,
3748 float depthBiasClamp,
3749 float depthBiasSlopeFactor);
3751 VKAPI_ATTR void VKAPI_CALL vkCmdSetBlendConstants(
3752 VkCommandBuffer commandBuffer,
3753 const float blendConstants[4]);
3755 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBounds(
3756 VkCommandBuffer commandBuffer,
3757 float minDepthBounds,
3758 float maxDepthBounds);
3760 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilCompareMask(
3761 VkCommandBuffer commandBuffer,
3762 VkStencilFaceFlags faceMask,
3763 deUint32 compareMask);
3765 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilWriteMask(
3766 VkCommandBuffer commandBuffer,
3767 VkStencilFaceFlags faceMask,
3768 deUint32 writeMask);
3770 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilReference(
3771 VkCommandBuffer commandBuffer,
3772 VkStencilFaceFlags faceMask,
3773 deUint32 reference);
3775 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets(
3776 VkCommandBuffer commandBuffer,
3777 VkPipelineBindPoint pipelineBindPoint,
3778 VkPipelineLayout layout,
3780 deUint32 descriptorSetCount,
3781 const VkDescriptorSet* pDescriptorSets,
3782 deUint32 dynamicOffsetCount,
3783 const deUint32* pDynamicOffsets);
3785 VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer(
3786 VkCommandBuffer commandBuffer,
3788 VkDeviceSize offset,
3789 VkIndexType indexType);
3791 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers(
3792 VkCommandBuffer commandBuffer,
3793 deUint32 firstBinding,
3794 deUint32 bindingCount,
3795 const VkBuffer* pBuffers,
3796 const VkDeviceSize* pOffsets);
3798 VKAPI_ATTR void VKAPI_CALL vkCmdDraw(
3799 VkCommandBuffer commandBuffer,
3800 deUint32 vertexCount,
3801 deUint32 instanceCount,
3802 deUint32 firstVertex,
3803 deUint32 firstInstance);
3805 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexed(
3806 VkCommandBuffer commandBuffer,
3807 deUint32 indexCount,
3808 deUint32 instanceCount,
3809 deUint32 firstIndex,
3810 deInt32 vertexOffset,
3811 deUint32 firstInstance);
3813 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirect(
3814 VkCommandBuffer commandBuffer,
3816 VkDeviceSize offset,
3820 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirect(
3821 VkCommandBuffer commandBuffer,
3823 VkDeviceSize offset,
3827 VKAPI_ATTR void VKAPI_CALL vkCmdDispatch(
3828 VkCommandBuffer commandBuffer,
3829 deUint32 groupCountX,
3830 deUint32 groupCountY,
3831 deUint32 groupCountZ);
3833 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchIndirect(
3834 VkCommandBuffer commandBuffer,
3836 VkDeviceSize offset);
3838 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer(
3839 VkCommandBuffer commandBuffer,
3842 deUint32 regionCount,
3843 const VkBufferCopy* pRegions);
3845 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage(
3846 VkCommandBuffer commandBuffer,
3848 VkImageLayout srcImageLayout,
3850 VkImageLayout dstImageLayout,
3851 deUint32 regionCount,
3852 const VkImageCopy* pRegions);
3854 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage(
3855 VkCommandBuffer commandBuffer,
3857 VkImageLayout srcImageLayout,
3859 VkImageLayout dstImageLayout,
3860 deUint32 regionCount,
3861 const VkImageBlit* pRegions,
3864 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage(
3865 VkCommandBuffer commandBuffer,
3868 VkImageLayout dstImageLayout,
3869 deUint32 regionCount,
3870 const VkBufferImageCopy* pRegions);
3872 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer(
3873 VkCommandBuffer commandBuffer,
3875 VkImageLayout srcImageLayout,
3877 deUint32 regionCount,
3878 const VkBufferImageCopy* pRegions);
3880 VKAPI_ATTR void VKAPI_CALL vkCmdUpdateBuffer(
3881 VkCommandBuffer commandBuffer,
3883 VkDeviceSize dstOffset,
3884 VkDeviceSize dataSize,
3887 VKAPI_ATTR void VKAPI_CALL vkCmdFillBuffer(
3888 VkCommandBuffer commandBuffer,
3890 VkDeviceSize dstOffset,
3894 VKAPI_ATTR void VKAPI_CALL vkCmdClearColorImage(
3895 VkCommandBuffer commandBuffer,
3897 VkImageLayout imageLayout,
3898 const VkClearColorValue* pColor,
3899 deUint32 rangeCount,
3900 const VkImageSubresourceRange* pRanges);
3902 VKAPI_ATTR void VKAPI_CALL vkCmdClearDepthStencilImage(
3903 VkCommandBuffer commandBuffer,
3905 VkImageLayout imageLayout,
3906 const VkClearDepthStencilValue* pDepthStencil,
3907 deUint32 rangeCount,
3908 const VkImageSubresourceRange* pRanges);
3910 VKAPI_ATTR void VKAPI_CALL vkCmdClearAttachments(
3911 VkCommandBuffer commandBuffer,
3912 deUint32 attachmentCount,
3913 const VkClearAttachment* pAttachments,
3915 const VkClearRect* pRects);
3917 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage(
3918 VkCommandBuffer commandBuffer,
3920 VkImageLayout srcImageLayout,
3922 VkImageLayout dstImageLayout,
3923 deUint32 regionCount,
3924 const VkImageResolve* pRegions);
3926 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent(
3927 VkCommandBuffer commandBuffer,
3929 VkPipelineStageFlags stageMask);
3931 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent(
3932 VkCommandBuffer commandBuffer,
3934 VkPipelineStageFlags stageMask);
3936 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents(
3937 VkCommandBuffer commandBuffer,
3938 deUint32 eventCount,
3939 const VkEvent* pEvents,
3940 VkPipelineStageFlags srcStageMask,
3941 VkPipelineStageFlags dstStageMask,
3942 deUint32 memoryBarrierCount,
3943 const VkMemoryBarrier* pMemoryBarriers,
3944 deUint32 bufferMemoryBarrierCount,
3945 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
3946 deUint32 imageMemoryBarrierCount,
3947 const VkImageMemoryBarrier* pImageMemoryBarriers);
3949 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier(
3950 VkCommandBuffer commandBuffer,
3951 VkPipelineStageFlags srcStageMask,
3952 VkPipelineStageFlags dstStageMask,
3953 VkDependencyFlags dependencyFlags,
3954 deUint32 memoryBarrierCount,
3955 const VkMemoryBarrier* pMemoryBarriers,
3956 deUint32 bufferMemoryBarrierCount,
3957 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
3958 deUint32 imageMemoryBarrierCount,
3959 const VkImageMemoryBarrier* pImageMemoryBarriers);
3961 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQuery(
3962 VkCommandBuffer commandBuffer,
3963 VkQueryPool queryPool,
3965 VkQueryControlFlags flags);
3967 VKAPI_ATTR void VKAPI_CALL vkCmdEndQuery(
3968 VkCommandBuffer commandBuffer,
3969 VkQueryPool queryPool,
3972 VKAPI_ATTR void VKAPI_CALL vkCmdResetQueryPool(
3973 VkCommandBuffer commandBuffer,
3974 VkQueryPool queryPool,
3975 deUint32 firstQuery,
3976 deUint32 queryCount);
3978 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp(
3979 VkCommandBuffer commandBuffer,
3980 VkPipelineStageFlagBits pipelineStage,
3981 VkQueryPool queryPool,
3984 VKAPI_ATTR void VKAPI_CALL vkCmdCopyQueryPoolResults(
3985 VkCommandBuffer commandBuffer,
3986 VkQueryPool queryPool,
3987 deUint32 firstQuery,
3988 deUint32 queryCount,
3990 VkDeviceSize dstOffset,
3991 VkDeviceSize stride,
3992 VkQueryResultFlags flags);
3994 VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants(
3995 VkCommandBuffer commandBuffer,
3996 VkPipelineLayout layout,
3997 VkShaderStageFlags stageFlags,
4000 const void* pValues);
4002 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass(
4003 VkCommandBuffer commandBuffer,
4004 const VkRenderPassBeginInfo* pRenderPassBegin,
4005 VkSubpassContents contents);
4007 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass(
4008 VkCommandBuffer commandBuffer,
4009 VkSubpassContents contents);
4011 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass(
4012 VkCommandBuffer commandBuffer);
4014 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteCommands(
4015 VkCommandBuffer commandBuffer,
4016 deUint32 commandBufferCount,
4017 const VkCommandBuffer* pCommandBuffers);
4021 #define VK_VERSION_1_1 1
4022 // Vulkan 1.1 version number
4023 #define VK_API_VERSION_1_1 VK_MAKE_VERSION(1, 1, 0)// Patch version should always be set to 0
4025 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion)
4026 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate)
4027 #define VK_MAX_DEVICE_GROUP_SIZE 32
4028 #define VK_LUID_SIZE 8
4029 #define VK_QUEUE_FAMILY_EXTERNAL (~0U-1)
4031 typedef enum VkPointClippingBehavior {
4032 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES = 0,
4033 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY = 1,
4034 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES,
4035 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY,
4036 VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF
4037 } VkPointClippingBehavior;
4039 typedef enum VkTessellationDomainOrigin {
4040 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT = 0,
4041 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT = 1,
4042 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT,
4043 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT,
4044 VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM = 0x7FFFFFFF
4045 } VkTessellationDomainOrigin;
4047 typedef enum VkSamplerYcbcrModelConversion {
4048 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY = 0,
4049 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY = 1,
4050 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 = 2,
4051 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 = 3,
4052 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 = 4,
4053 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY,
4054 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY,
4055 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709,
4056 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601,
4057 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020,
4058 VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM = 0x7FFFFFFF
4059 } VkSamplerYcbcrModelConversion;
4061 typedef enum VkSamplerYcbcrRange {
4062 VK_SAMPLER_YCBCR_RANGE_ITU_FULL = 0,
4063 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW = 1,
4064 VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_FULL,
4065 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW,
4066 VK_SAMPLER_YCBCR_RANGE_MAX_ENUM = 0x7FFFFFFF
4067 } VkSamplerYcbcrRange;
4069 typedef enum VkChromaLocation {
4070 VK_CHROMA_LOCATION_COSITED_EVEN = 0,
4071 VK_CHROMA_LOCATION_MIDPOINT = 1,
4072 VK_CHROMA_LOCATION_COSITED_EVEN_KHR = VK_CHROMA_LOCATION_COSITED_EVEN,
4073 VK_CHROMA_LOCATION_MIDPOINT_KHR = VK_CHROMA_LOCATION_MIDPOINT,
4074 VK_CHROMA_LOCATION_MAX_ENUM = 0x7FFFFFFF
4077 typedef enum VkDescriptorUpdateTemplateType {
4078 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET = 0,
4079 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR = 1,
4080 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,
4081 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM = 0x7FFFFFFF
4082 } VkDescriptorUpdateTemplateType;
4084 typedef enum VkSubgroupFeatureFlagBits {
4085 VK_SUBGROUP_FEATURE_BASIC_BIT = 0x00000001,
4086 VK_SUBGROUP_FEATURE_VOTE_BIT = 0x00000002,
4087 VK_SUBGROUP_FEATURE_ARITHMETIC_BIT = 0x00000004,
4088 VK_SUBGROUP_FEATURE_BALLOT_BIT = 0x00000008,
4089 VK_SUBGROUP_FEATURE_SHUFFLE_BIT = 0x00000010,
4090 VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = 0x00000020,
4091 VK_SUBGROUP_FEATURE_CLUSTERED_BIT = 0x00000040,
4092 VK_SUBGROUP_FEATURE_QUAD_BIT = 0x00000080,
4093 VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x00000100,
4094 VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4095 } VkSubgroupFeatureFlagBits;
4096 typedef VkFlags VkSubgroupFeatureFlags;
4098 typedef enum VkPeerMemoryFeatureFlagBits {
4099 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT = 0x00000001,
4100 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT = 0x00000002,
4101 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT = 0x00000004,
4102 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT = 0x00000008,
4103 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT,
4104 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_DST_BIT,
4105 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT,
4106 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT,
4107 VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4108 } VkPeerMemoryFeatureFlagBits;
4109 typedef VkFlags VkPeerMemoryFeatureFlags;
4111 typedef enum VkMemoryAllocateFlagBits {
4112 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT = 0x00000001,
4113 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT = 0x00000002,
4114 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000004,
4115 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT,
4116 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT,
4117 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
4118 VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4119 } VkMemoryAllocateFlagBits;
4120 typedef VkFlags VkMemoryAllocateFlags;
4121 typedef VkFlags VkCommandPoolTrimFlags;
4122 typedef VkFlags VkDescriptorUpdateTemplateCreateFlags;
4124 typedef enum VkExternalMemoryHandleTypeFlagBits {
4125 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
4126 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
4127 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
4128 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT = 0x00000008,
4129 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT = 0x00000010,
4130 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT = 0x00000020,
4131 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT = 0x00000040,
4132 VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT = 0x00000200,
4133 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID = 0x00000400,
4134 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 0x00000080,
4135 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 0x00000100,
4136 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT,
4137 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT,
4138 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
4139 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT,
4140 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT,
4141 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT,
4142 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT,
4143 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4144 } VkExternalMemoryHandleTypeFlagBits;
4145 typedef VkFlags VkExternalMemoryHandleTypeFlags;
4147 typedef enum VkExternalMemoryFeatureFlagBits {
4148 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT = 0x00000001,
4149 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT = 0x00000002,
4150 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT = 0x00000004,
4151 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT,
4152 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT,
4153 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT,
4154 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4155 } VkExternalMemoryFeatureFlagBits;
4156 typedef VkFlags VkExternalMemoryFeatureFlags;
4158 typedef enum VkExternalFenceHandleTypeFlagBits {
4159 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
4160 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
4161 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
4162 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000008,
4163 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT,
4164 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
4165 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
4166 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT,
4167 VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4168 } VkExternalFenceHandleTypeFlagBits;
4169 typedef VkFlags VkExternalFenceHandleTypeFlags;
4171 typedef enum VkExternalFenceFeatureFlagBits {
4172 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT = 0x00000001,
4173 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT = 0x00000002,
4174 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT,
4175 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT,
4176 VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4177 } VkExternalFenceFeatureFlagBits;
4178 typedef VkFlags VkExternalFenceFeatureFlags;
4180 typedef enum VkFenceImportFlagBits {
4181 VK_FENCE_IMPORT_TEMPORARY_BIT = 0x00000001,
4182 VK_FENCE_IMPORT_TEMPORARY_BIT_KHR = VK_FENCE_IMPORT_TEMPORARY_BIT,
4183 VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4184 } VkFenceImportFlagBits;
4185 typedef VkFlags VkFenceImportFlags;
4187 typedef enum VkSemaphoreImportFlagBits {
4188 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT = 0x00000001,
4189 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT,
4190 VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4191 } VkSemaphoreImportFlagBits;
4192 typedef VkFlags VkSemaphoreImportFlags;
4194 typedef enum VkExternalSemaphoreHandleTypeFlagBits {
4195 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
4196 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
4197 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
4198 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT = 0x00000008,
4199 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000010,
4200 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
4201 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT,
4202 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
4203 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
4204 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
4205 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT,
4206 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4207 } VkExternalSemaphoreHandleTypeFlagBits;
4208 typedef VkFlags VkExternalSemaphoreHandleTypeFlags;
4210 typedef enum VkExternalSemaphoreFeatureFlagBits {
4211 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT = 0x00000001,
4212 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT = 0x00000002,
4213 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT,
4214 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT,
4215 VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4216 } VkExternalSemaphoreFeatureFlagBits;
4217 typedef VkFlags VkExternalSemaphoreFeatureFlags;
4218 typedef struct VkPhysicalDeviceSubgroupProperties {
4219 VkStructureType sType;
4221 deUint32 subgroupSize;
4222 VkShaderStageFlags supportedStages;
4223 VkSubgroupFeatureFlags supportedOperations;
4224 VkBool32 quadOperationsInAllStages;
4225 } VkPhysicalDeviceSubgroupProperties;
4227 typedef struct VkBindBufferMemoryInfo {
4228 VkStructureType sType;
4231 VkDeviceMemory memory;
4232 VkDeviceSize memoryOffset;
4233 } VkBindBufferMemoryInfo;
4235 typedef struct VkBindImageMemoryInfo {
4236 VkStructureType sType;
4239 VkDeviceMemory memory;
4240 VkDeviceSize memoryOffset;
4241 } VkBindImageMemoryInfo;
4243 typedef struct VkPhysicalDevice16BitStorageFeatures {
4244 VkStructureType sType;
4246 VkBool32 storageBuffer16BitAccess;
4247 VkBool32 uniformAndStorageBuffer16BitAccess;
4248 VkBool32 storagePushConstant16;
4249 VkBool32 storageInputOutput16;
4250 } VkPhysicalDevice16BitStorageFeatures;
4252 typedef struct VkMemoryDedicatedRequirements {
4253 VkStructureType sType;
4255 VkBool32 prefersDedicatedAllocation;
4256 VkBool32 requiresDedicatedAllocation;
4257 } VkMemoryDedicatedRequirements;
4259 typedef struct VkMemoryDedicatedAllocateInfo {
4260 VkStructureType sType;
4264 } VkMemoryDedicatedAllocateInfo;
4266 typedef struct VkMemoryAllocateFlagsInfo {
4267 VkStructureType sType;
4269 VkMemoryAllocateFlags flags;
4270 deUint32 deviceMask;
4271 } VkMemoryAllocateFlagsInfo;
4273 typedef struct VkDeviceGroupRenderPassBeginInfo {
4274 VkStructureType sType;
4276 deUint32 deviceMask;
4277 deUint32 deviceRenderAreaCount;
4278 const VkRect2D* pDeviceRenderAreas;
4279 } VkDeviceGroupRenderPassBeginInfo;
4281 typedef struct VkDeviceGroupCommandBufferBeginInfo {
4282 VkStructureType sType;
4284 deUint32 deviceMask;
4285 } VkDeviceGroupCommandBufferBeginInfo;
4287 typedef struct VkDeviceGroupSubmitInfo {
4288 VkStructureType sType;
4290 deUint32 waitSemaphoreCount;
4291 const deUint32* pWaitSemaphoreDeviceIndices;
4292 deUint32 commandBufferCount;
4293 const deUint32* pCommandBufferDeviceMasks;
4294 deUint32 signalSemaphoreCount;
4295 const deUint32* pSignalSemaphoreDeviceIndices;
4296 } VkDeviceGroupSubmitInfo;
4298 typedef struct VkDeviceGroupBindSparseInfo {
4299 VkStructureType sType;
4301 deUint32 resourceDeviceIndex;
4302 deUint32 memoryDeviceIndex;
4303 } VkDeviceGroupBindSparseInfo;
4305 typedef struct VkBindBufferMemoryDeviceGroupInfo {
4306 VkStructureType sType;
4308 deUint32 deviceIndexCount;
4309 const deUint32* pDeviceIndices;
4310 } VkBindBufferMemoryDeviceGroupInfo;
4312 typedef struct VkBindImageMemoryDeviceGroupInfo {
4313 VkStructureType sType;
4315 deUint32 deviceIndexCount;
4316 const deUint32* pDeviceIndices;
4317 deUint32 splitInstanceBindRegionCount;
4318 const VkRect2D* pSplitInstanceBindRegions;
4319 } VkBindImageMemoryDeviceGroupInfo;
4321 typedef struct VkPhysicalDeviceGroupProperties {
4322 VkStructureType sType;
4324 deUint32 physicalDeviceCount;
4325 VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE];
4326 VkBool32 subsetAllocation;
4327 } VkPhysicalDeviceGroupProperties;
4329 typedef struct VkDeviceGroupDeviceCreateInfo {
4330 VkStructureType sType;
4332 deUint32 physicalDeviceCount;
4333 const VkPhysicalDevice* pPhysicalDevices;
4334 } VkDeviceGroupDeviceCreateInfo;
4336 typedef struct VkBufferMemoryRequirementsInfo2 {
4337 VkStructureType sType;
4340 } VkBufferMemoryRequirementsInfo2;
4342 typedef struct VkImageMemoryRequirementsInfo2 {
4343 VkStructureType sType;
4346 } VkImageMemoryRequirementsInfo2;
4348 typedef struct VkImageSparseMemoryRequirementsInfo2 {
4349 VkStructureType sType;
4352 } VkImageSparseMemoryRequirementsInfo2;
4354 typedef struct VkMemoryRequirements2 {
4355 VkStructureType sType;
4357 VkMemoryRequirements memoryRequirements;
4358 } VkMemoryRequirements2;
4360 typedef struct VkSparseImageMemoryRequirements2 {
4361 VkStructureType sType;
4363 VkSparseImageMemoryRequirements memoryRequirements;
4364 } VkSparseImageMemoryRequirements2;
4366 typedef struct VkPhysicalDeviceFeatures2 {
4367 VkStructureType sType;
4369 VkPhysicalDeviceFeatures features;
4370 } VkPhysicalDeviceFeatures2;
4372 typedef struct VkPhysicalDeviceProperties2 {
4373 VkStructureType sType;
4375 VkPhysicalDeviceProperties properties;
4376 } VkPhysicalDeviceProperties2;
4378 typedef struct VkFormatProperties2 {
4379 VkStructureType sType;
4381 VkFormatProperties formatProperties;
4382 } VkFormatProperties2;
4384 typedef struct VkImageFormatProperties2 {
4385 VkStructureType sType;
4387 VkImageFormatProperties imageFormatProperties;
4388 } VkImageFormatProperties2;
4390 typedef struct VkPhysicalDeviceImageFormatInfo2 {
4391 VkStructureType sType;
4395 VkImageTiling tiling;
4396 VkImageUsageFlags usage;
4397 VkImageCreateFlags flags;
4398 } VkPhysicalDeviceImageFormatInfo2;
4400 typedef struct VkQueueFamilyProperties2 {
4401 VkStructureType sType;
4403 VkQueueFamilyProperties queueFamilyProperties;
4404 } VkQueueFamilyProperties2;
4406 typedef struct VkPhysicalDeviceMemoryProperties2 {
4407 VkStructureType sType;
4409 VkPhysicalDeviceMemoryProperties memoryProperties;
4410 } VkPhysicalDeviceMemoryProperties2;
4412 typedef struct VkSparseImageFormatProperties2 {
4413 VkStructureType sType;
4415 VkSparseImageFormatProperties properties;
4416 } VkSparseImageFormatProperties2;
4418 typedef struct VkPhysicalDeviceSparseImageFormatInfo2 {
4419 VkStructureType sType;
4423 VkSampleCountFlagBits samples;
4424 VkImageUsageFlags usage;
4425 VkImageTiling tiling;
4426 } VkPhysicalDeviceSparseImageFormatInfo2;
4428 typedef struct VkPhysicalDevicePointClippingProperties {
4429 VkStructureType sType;
4431 VkPointClippingBehavior pointClippingBehavior;
4432 } VkPhysicalDevicePointClippingProperties;
4434 typedef struct VkInputAttachmentAspectReference {
4436 deUint32 inputAttachmentIndex;
4437 VkImageAspectFlags aspectMask;
4438 } VkInputAttachmentAspectReference;
4440 typedef struct VkRenderPassInputAttachmentAspectCreateInfo {
4441 VkStructureType sType;
4443 deUint32 aspectReferenceCount;
4444 const VkInputAttachmentAspectReference* pAspectReferences;
4445 } VkRenderPassInputAttachmentAspectCreateInfo;
4447 typedef struct VkImageViewUsageCreateInfo {
4448 VkStructureType sType;
4450 VkImageUsageFlags usage;
4451 } VkImageViewUsageCreateInfo;
4453 typedef struct VkPipelineTessellationDomainOriginStateCreateInfo {
4454 VkStructureType sType;
4456 VkTessellationDomainOrigin domainOrigin;
4457 } VkPipelineTessellationDomainOriginStateCreateInfo;
4459 typedef struct VkRenderPassMultiviewCreateInfo {
4460 VkStructureType sType;
4462 deUint32 subpassCount;
4463 const deUint32* pViewMasks;
4464 deUint32 dependencyCount;
4465 const deInt32* pViewOffsets;
4466 deUint32 correlationMaskCount;
4467 const deUint32* pCorrelationMasks;
4468 } VkRenderPassMultiviewCreateInfo;
4470 typedef struct VkPhysicalDeviceMultiviewFeatures {
4471 VkStructureType sType;
4474 VkBool32 multiviewGeometryShader;
4475 VkBool32 multiviewTessellationShader;
4476 } VkPhysicalDeviceMultiviewFeatures;
4478 typedef struct VkPhysicalDeviceMultiviewProperties {
4479 VkStructureType sType;
4481 deUint32 maxMultiviewViewCount;
4482 deUint32 maxMultiviewInstanceIndex;
4483 } VkPhysicalDeviceMultiviewProperties;
4485 typedef struct VkPhysicalDeviceVariablePointersFeatures {
4486 VkStructureType sType;
4488 VkBool32 variablePointersStorageBuffer;
4489 VkBool32 variablePointers;
4490 } VkPhysicalDeviceVariablePointersFeatures;
4492 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeatures;
4494 typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
4495 VkStructureType sType;
4497 VkBool32 protectedMemory;
4498 } VkPhysicalDeviceProtectedMemoryFeatures;
4500 typedef struct VkPhysicalDeviceProtectedMemoryProperties {
4501 VkStructureType sType;
4503 VkBool32 protectedNoFault;
4504 } VkPhysicalDeviceProtectedMemoryProperties;
4506 typedef struct VkDeviceQueueInfo2 {
4507 VkStructureType sType;
4509 VkDeviceQueueCreateFlags flags;
4510 deUint32 queueFamilyIndex;
4511 deUint32 queueIndex;
4512 } VkDeviceQueueInfo2;
4514 typedef struct VkProtectedSubmitInfo {
4515 VkStructureType sType;
4517 VkBool32 protectedSubmit;
4518 } VkProtectedSubmitInfo;
4520 typedef struct VkSamplerYcbcrConversionCreateInfo {
4521 VkStructureType sType;
4524 VkSamplerYcbcrModelConversion ycbcrModel;
4525 VkSamplerYcbcrRange ycbcrRange;
4526 VkComponentMapping components;
4527 VkChromaLocation xChromaOffset;
4528 VkChromaLocation yChromaOffset;
4529 VkFilter chromaFilter;
4530 VkBool32 forceExplicitReconstruction;
4531 } VkSamplerYcbcrConversionCreateInfo;
4533 typedef struct VkSamplerYcbcrConversionInfo {
4534 VkStructureType sType;
4536 VkSamplerYcbcrConversion conversion;
4537 } VkSamplerYcbcrConversionInfo;
4539 typedef struct VkBindImagePlaneMemoryInfo {
4540 VkStructureType sType;
4542 VkImageAspectFlagBits planeAspect;
4543 } VkBindImagePlaneMemoryInfo;
4545 typedef struct VkImagePlaneMemoryRequirementsInfo {
4546 VkStructureType sType;
4548 VkImageAspectFlagBits planeAspect;
4549 } VkImagePlaneMemoryRequirementsInfo;
4551 typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
4552 VkStructureType sType;
4554 VkBool32 samplerYcbcrConversion;
4555 } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
4557 typedef struct VkSamplerYcbcrConversionImageFormatProperties {
4558 VkStructureType sType;
4560 deUint32 combinedImageSamplerDescriptorCount;
4561 } VkSamplerYcbcrConversionImageFormatProperties;
4563 typedef struct VkDescriptorUpdateTemplateEntry {
4564 deUint32 dstBinding;
4565 deUint32 dstArrayElement;
4566 deUint32 descriptorCount;
4567 VkDescriptorType descriptorType;
4570 } VkDescriptorUpdateTemplateEntry;
4572 typedef struct VkDescriptorUpdateTemplateCreateInfo {
4573 VkStructureType sType;
4575 VkDescriptorUpdateTemplateCreateFlags flags;
4576 deUint32 descriptorUpdateEntryCount;
4577 const VkDescriptorUpdateTemplateEntry* pDescriptorUpdateEntries;
4578 VkDescriptorUpdateTemplateType templateType;
4579 VkDescriptorSetLayout descriptorSetLayout;
4580 VkPipelineBindPoint pipelineBindPoint;
4581 VkPipelineLayout pipelineLayout;
4583 } VkDescriptorUpdateTemplateCreateInfo;
4585 typedef struct VkExternalMemoryProperties {
4586 VkExternalMemoryFeatureFlags externalMemoryFeatures;
4587 VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes;
4588 VkExternalMemoryHandleTypeFlags compatibleHandleTypes;
4589 } VkExternalMemoryProperties;
4591 typedef struct VkPhysicalDeviceExternalImageFormatInfo {
4592 VkStructureType sType;
4594 VkExternalMemoryHandleTypeFlagBits handleType;
4595 } VkPhysicalDeviceExternalImageFormatInfo;
4597 typedef struct VkExternalImageFormatProperties {
4598 VkStructureType sType;
4600 VkExternalMemoryProperties externalMemoryProperties;
4601 } VkExternalImageFormatProperties;
4603 typedef struct VkPhysicalDeviceExternalBufferInfo {
4604 VkStructureType sType;
4606 VkBufferCreateFlags flags;
4607 VkBufferUsageFlags usage;
4608 VkExternalMemoryHandleTypeFlagBits handleType;
4609 } VkPhysicalDeviceExternalBufferInfo;
4611 typedef struct VkExternalBufferProperties {
4612 VkStructureType sType;
4614 VkExternalMemoryProperties externalMemoryProperties;
4615 } VkExternalBufferProperties;
4617 typedef struct VkPhysicalDeviceIDProperties {
4618 VkStructureType sType;
4620 deUint8 deviceUUID[VK_UUID_SIZE];
4621 deUint8 driverUUID[VK_UUID_SIZE];
4622 deUint8 deviceLUID[VK_LUID_SIZE];
4623 deUint32 deviceNodeMask;
4624 VkBool32 deviceLUIDValid;
4625 } VkPhysicalDeviceIDProperties;
4627 typedef struct VkExternalMemoryImageCreateInfo {
4628 VkStructureType sType;
4630 VkExternalMemoryHandleTypeFlags handleTypes;
4631 } VkExternalMemoryImageCreateInfo;
4633 typedef struct VkExternalMemoryBufferCreateInfo {
4634 VkStructureType sType;
4636 VkExternalMemoryHandleTypeFlags handleTypes;
4637 } VkExternalMemoryBufferCreateInfo;
4639 typedef struct VkExportMemoryAllocateInfo {
4640 VkStructureType sType;
4642 VkExternalMemoryHandleTypeFlags handleTypes;
4643 } VkExportMemoryAllocateInfo;
4645 typedef struct VkPhysicalDeviceExternalFenceInfo {
4646 VkStructureType sType;
4648 VkExternalFenceHandleTypeFlagBits handleType;
4649 } VkPhysicalDeviceExternalFenceInfo;
4651 typedef struct VkExternalFenceProperties {
4652 VkStructureType sType;
4654 VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes;
4655 VkExternalFenceHandleTypeFlags compatibleHandleTypes;
4656 VkExternalFenceFeatureFlags externalFenceFeatures;
4657 } VkExternalFenceProperties;
4659 typedef struct VkExportFenceCreateInfo {
4660 VkStructureType sType;
4662 VkExternalFenceHandleTypeFlags handleTypes;
4663 } VkExportFenceCreateInfo;
4665 typedef struct VkExportSemaphoreCreateInfo {
4666 VkStructureType sType;
4668 VkExternalSemaphoreHandleTypeFlags handleTypes;
4669 } VkExportSemaphoreCreateInfo;
4671 typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
4672 VkStructureType sType;
4674 VkExternalSemaphoreHandleTypeFlagBits handleType;
4675 } VkPhysicalDeviceExternalSemaphoreInfo;
4677 typedef struct VkExternalSemaphoreProperties {
4678 VkStructureType sType;
4680 VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes;
4681 VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes;
4682 VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures;
4683 } VkExternalSemaphoreProperties;
4685 typedef struct VkPhysicalDeviceMaintenance3Properties {
4686 VkStructureType sType;
4688 deUint32 maxPerSetDescriptors;
4689 VkDeviceSize maxMemoryAllocationSize;
4690 } VkPhysicalDeviceMaintenance3Properties;
4692 typedef struct VkDescriptorSetLayoutSupport {
4693 VkStructureType sType;
4696 } VkDescriptorSetLayoutSupport;
4698 typedef struct VkPhysicalDeviceShaderDrawParametersFeatures {
4699 VkStructureType sType;
4701 VkBool32 shaderDrawParameters;
4702 } VkPhysicalDeviceShaderDrawParametersFeatures;
4704 typedef VkPhysicalDeviceShaderDrawParametersFeatures VkPhysicalDeviceShaderDrawParameterFeatures;
4706 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceVersion)(deUint32* pApiVersion);
4707 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2)(VkDevice device, deUint32 bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
4708 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2)(VkDevice device, deUint32 bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
4709 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeatures)(VkDevice device, deUint32 heapIndex, deUint32 localDeviceIndex, deUint32 remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
4710 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMask)(VkCommandBuffer commandBuffer, deUint32 deviceMask);
4711 typedef void (VKAPI_PTR *PFN_vkCmdDispatchBase)(VkCommandBuffer commandBuffer, deUint32 baseGroupX, deUint32 baseGroupY, deUint32 baseGroupZ, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ);
4712 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroups)(VkInstance instance, deUint32* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
4713 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
4714 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
4715 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
4716 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
4717 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
4718 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
4719 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
4720 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2)(VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
4721 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
4722 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, deUint32* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
4723 typedef void (VKAPI_PTR *PFN_vkTrimCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
4724 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue2)(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue);
4725 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversion)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
4726 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversion)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
4727 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplate)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
4728 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplate)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
4729 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplate)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
4730 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
4731 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFenceProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
4732 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphoreProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
4733 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupport)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
4735 #ifndef VK_NO_PROTOTYPES
4736 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceVersion(
4737 deUint32* pApiVersion);
4739 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2(
4741 deUint32 bindInfoCount,
4742 const VkBindBufferMemoryInfo* pBindInfos);
4744 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2(
4746 deUint32 bindInfoCount,
4747 const VkBindImageMemoryInfo* pBindInfos);
4749 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeatures(
4752 deUint32 localDeviceIndex,
4753 deUint32 remoteDeviceIndex,
4754 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
4756 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMask(
4757 VkCommandBuffer commandBuffer,
4758 deUint32 deviceMask);
4760 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBase(
4761 VkCommandBuffer commandBuffer,
4762 deUint32 baseGroupX,
4763 deUint32 baseGroupY,
4764 deUint32 baseGroupZ,
4765 deUint32 groupCountX,
4766 deUint32 groupCountY,
4767 deUint32 groupCountZ);
4769 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroups(
4770 VkInstance instance,
4771 deUint32* pPhysicalDeviceGroupCount,
4772 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
4774 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2(
4776 const VkImageMemoryRequirementsInfo2* pInfo,
4777 VkMemoryRequirements2* pMemoryRequirements);
4779 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2(
4781 const VkBufferMemoryRequirementsInfo2* pInfo,
4782 VkMemoryRequirements2* pMemoryRequirements);
4784 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2(
4786 const VkImageSparseMemoryRequirementsInfo2* pInfo,
4787 deUint32* pSparseMemoryRequirementCount,
4788 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
4790 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2(
4791 VkPhysicalDevice physicalDevice,
4792 VkPhysicalDeviceFeatures2* pFeatures);
4794 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2(
4795 VkPhysicalDevice physicalDevice,
4796 VkPhysicalDeviceProperties2* pProperties);
4798 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2(
4799 VkPhysicalDevice physicalDevice,
4801 VkFormatProperties2* pFormatProperties);
4803 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2(
4804 VkPhysicalDevice physicalDevice,
4805 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
4806 VkImageFormatProperties2* pImageFormatProperties);
4808 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2(
4809 VkPhysicalDevice physicalDevice,
4810 deUint32* pQueueFamilyPropertyCount,
4811 VkQueueFamilyProperties2* pQueueFamilyProperties);
4813 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2(
4814 VkPhysicalDevice physicalDevice,
4815 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
4817 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2(
4818 VkPhysicalDevice physicalDevice,
4819 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
4820 deUint32* pPropertyCount,
4821 VkSparseImageFormatProperties2* pProperties);
4823 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPool(
4825 VkCommandPool commandPool,
4826 VkCommandPoolTrimFlags flags);
4828 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue2(
4830 const VkDeviceQueueInfo2* pQueueInfo,
4833 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversion(
4835 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
4836 const VkAllocationCallbacks* pAllocator,
4837 VkSamplerYcbcrConversion* pYcbcrConversion);
4839 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversion(
4841 VkSamplerYcbcrConversion ycbcrConversion,
4842 const VkAllocationCallbacks* pAllocator);
4844 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplate(
4846 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
4847 const VkAllocationCallbacks* pAllocator,
4848 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
4850 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplate(
4852 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
4853 const VkAllocationCallbacks* pAllocator);
4855 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplate(
4857 VkDescriptorSet descriptorSet,
4858 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
4861 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferProperties(
4862 VkPhysicalDevice physicalDevice,
4863 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
4864 VkExternalBufferProperties* pExternalBufferProperties);
4866 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFenceProperties(
4867 VkPhysicalDevice physicalDevice,
4868 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
4869 VkExternalFenceProperties* pExternalFenceProperties);
4871 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphoreProperties(
4872 VkPhysicalDevice physicalDevice,
4873 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
4874 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
4876 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupport(
4878 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
4879 VkDescriptorSetLayoutSupport* pSupport);
4883 #define VK_VERSION_1_2 1
4884 // Vulkan 1.2 version number
4885 #define VK_API_VERSION_1_2 VK_MAKE_VERSION(1, 2, 0)// Patch version should always be set to 0
4887 #define VK_MAX_DRIVER_NAME_SIZE 256
4888 #define VK_MAX_DRIVER_INFO_SIZE 256
4890 typedef enum VkDriverId {
4891 VK_DRIVER_ID_AMD_PROPRIETARY = 1,
4892 VK_DRIVER_ID_AMD_OPEN_SOURCE = 2,
4893 VK_DRIVER_ID_MESA_RADV = 3,
4894 VK_DRIVER_ID_NVIDIA_PROPRIETARY = 4,
4895 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS = 5,
4896 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA = 6,
4897 VK_DRIVER_ID_IMAGINATION_PROPRIETARY = 7,
4898 VK_DRIVER_ID_QUALCOMM_PROPRIETARY = 8,
4899 VK_DRIVER_ID_ARM_PROPRIETARY = 9,
4900 VK_DRIVER_ID_GOOGLE_SWIFTSHADER = 10,
4901 VK_DRIVER_ID_GGP_PROPRIETARY = 11,
4902 VK_DRIVER_ID_BROADCOM_PROPRIETARY = 12,
4903 VK_DRIVER_ID_MESA_LLVMPIPE = 13,
4904 VK_DRIVER_ID_MOLTENVK = 14,
4905 VK_DRIVER_ID_AMD_PROPRIETARY_KHR = VK_DRIVER_ID_AMD_PROPRIETARY,
4906 VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = VK_DRIVER_ID_AMD_OPEN_SOURCE,
4907 VK_DRIVER_ID_MESA_RADV_KHR = VK_DRIVER_ID_MESA_RADV,
4908 VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR = VK_DRIVER_ID_NVIDIA_PROPRIETARY,
4909 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR = VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS,
4910 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR = VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA,
4911 VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR = VK_DRIVER_ID_IMAGINATION_PROPRIETARY,
4912 VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR = VK_DRIVER_ID_QUALCOMM_PROPRIETARY,
4913 VK_DRIVER_ID_ARM_PROPRIETARY_KHR = VK_DRIVER_ID_ARM_PROPRIETARY,
4914 VK_DRIVER_ID_GOOGLE_SWIFTSHADER_KHR = VK_DRIVER_ID_GOOGLE_SWIFTSHADER,
4915 VK_DRIVER_ID_GGP_PROPRIETARY_KHR = VK_DRIVER_ID_GGP_PROPRIETARY,
4916 VK_DRIVER_ID_BROADCOM_PROPRIETARY_KHR = VK_DRIVER_ID_BROADCOM_PROPRIETARY,
4917 VK_DRIVER_ID_MAX_ENUM = 0x7FFFFFFF
4920 typedef enum VkShaderFloatControlsIndependence {
4921 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY = 0,
4922 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL = 1,
4923 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE = 2,
4924 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY,
4925 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL,
4926 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE,
4927 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_MAX_ENUM = 0x7FFFFFFF
4928 } VkShaderFloatControlsIndependence;
4930 typedef enum VkSamplerReductionMode {
4931 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE = 0,
4932 VK_SAMPLER_REDUCTION_MODE_MIN = 1,
4933 VK_SAMPLER_REDUCTION_MODE_MAX = 2,
4934 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE,
4935 VK_SAMPLER_REDUCTION_MODE_MIN_EXT = VK_SAMPLER_REDUCTION_MODE_MIN,
4936 VK_SAMPLER_REDUCTION_MODE_MAX_EXT = VK_SAMPLER_REDUCTION_MODE_MAX,
4937 VK_SAMPLER_REDUCTION_MODE_MAX_ENUM = 0x7FFFFFFF
4938 } VkSamplerReductionMode;
4940 typedef enum VkSemaphoreType {
4941 VK_SEMAPHORE_TYPE_BINARY = 0,
4942 VK_SEMAPHORE_TYPE_TIMELINE = 1,
4943 VK_SEMAPHORE_TYPE_BINARY_KHR = VK_SEMAPHORE_TYPE_BINARY,
4944 VK_SEMAPHORE_TYPE_TIMELINE_KHR = VK_SEMAPHORE_TYPE_TIMELINE,
4945 VK_SEMAPHORE_TYPE_MAX_ENUM = 0x7FFFFFFF
4948 typedef enum VkResolveModeFlagBits {
4949 VK_RESOLVE_MODE_NONE = 0,
4950 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT = 0x00000001,
4951 VK_RESOLVE_MODE_AVERAGE_BIT = 0x00000002,
4952 VK_RESOLVE_MODE_MIN_BIT = 0x00000004,
4953 VK_RESOLVE_MODE_MAX_BIT = 0x00000008,
4954 VK_RESOLVE_MODE_NONE_KHR = VK_RESOLVE_MODE_NONE,
4955 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR = VK_RESOLVE_MODE_SAMPLE_ZERO_BIT,
4956 VK_RESOLVE_MODE_AVERAGE_BIT_KHR = VK_RESOLVE_MODE_AVERAGE_BIT,
4957 VK_RESOLVE_MODE_MIN_BIT_KHR = VK_RESOLVE_MODE_MIN_BIT,
4958 VK_RESOLVE_MODE_MAX_BIT_KHR = VK_RESOLVE_MODE_MAX_BIT,
4959 VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4960 } VkResolveModeFlagBits;
4961 typedef VkFlags VkResolveModeFlags;
4963 typedef enum VkDescriptorBindingFlagBits {
4964 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT = 0x00000001,
4965 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT = 0x00000002,
4966 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT = 0x00000004,
4967 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT = 0x00000008,
4968 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT,
4969 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT,
4970 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT = VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT,
4971 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT = VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT,
4972 VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4973 } VkDescriptorBindingFlagBits;
4974 typedef VkFlags VkDescriptorBindingFlags;
4976 typedef enum VkSemaphoreWaitFlagBits {
4977 VK_SEMAPHORE_WAIT_ANY_BIT = 0x00000001,
4978 VK_SEMAPHORE_WAIT_ANY_BIT_KHR = VK_SEMAPHORE_WAIT_ANY_BIT,
4979 VK_SEMAPHORE_WAIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4980 } VkSemaphoreWaitFlagBits;
4981 typedef VkFlags VkSemaphoreWaitFlags;
4982 typedef struct VkPhysicalDeviceVulkan11Features {
4983 VkStructureType sType;
4985 VkBool32 storageBuffer16BitAccess;
4986 VkBool32 uniformAndStorageBuffer16BitAccess;
4987 VkBool32 storagePushConstant16;
4988 VkBool32 storageInputOutput16;
4990 VkBool32 multiviewGeometryShader;
4991 VkBool32 multiviewTessellationShader;
4992 VkBool32 variablePointersStorageBuffer;
4993 VkBool32 variablePointers;
4994 VkBool32 protectedMemory;
4995 VkBool32 samplerYcbcrConversion;
4996 VkBool32 shaderDrawParameters;
4997 } VkPhysicalDeviceVulkan11Features;
4999 typedef struct VkPhysicalDeviceVulkan11Properties {
5000 VkStructureType sType;
5002 deUint8 deviceUUID[VK_UUID_SIZE];
5003 deUint8 driverUUID[VK_UUID_SIZE];
5004 deUint8 deviceLUID[VK_LUID_SIZE];
5005 deUint32 deviceNodeMask;
5006 VkBool32 deviceLUIDValid;
5007 deUint32 subgroupSize;
5008 VkShaderStageFlags subgroupSupportedStages;
5009 VkSubgroupFeatureFlags subgroupSupportedOperations;
5010 VkBool32 subgroupQuadOperationsInAllStages;
5011 VkPointClippingBehavior pointClippingBehavior;
5012 deUint32 maxMultiviewViewCount;
5013 deUint32 maxMultiviewInstanceIndex;
5014 VkBool32 protectedNoFault;
5015 deUint32 maxPerSetDescriptors;
5016 VkDeviceSize maxMemoryAllocationSize;
5017 } VkPhysicalDeviceVulkan11Properties;
5019 typedef struct VkPhysicalDeviceVulkan12Features {
5020 VkStructureType sType;
5022 VkBool32 samplerMirrorClampToEdge;
5023 VkBool32 drawIndirectCount;
5024 VkBool32 storageBuffer8BitAccess;
5025 VkBool32 uniformAndStorageBuffer8BitAccess;
5026 VkBool32 storagePushConstant8;
5027 VkBool32 shaderBufferInt64Atomics;
5028 VkBool32 shaderSharedInt64Atomics;
5029 VkBool32 shaderFloat16;
5030 VkBool32 shaderInt8;
5031 VkBool32 descriptorIndexing;
5032 VkBool32 shaderInputAttachmentArrayDynamicIndexing;
5033 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
5034 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
5035 VkBool32 shaderUniformBufferArrayNonUniformIndexing;
5036 VkBool32 shaderSampledImageArrayNonUniformIndexing;
5037 VkBool32 shaderStorageBufferArrayNonUniformIndexing;
5038 VkBool32 shaderStorageImageArrayNonUniformIndexing;
5039 VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
5040 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
5041 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
5042 VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
5043 VkBool32 descriptorBindingSampledImageUpdateAfterBind;
5044 VkBool32 descriptorBindingStorageImageUpdateAfterBind;
5045 VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
5046 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
5047 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
5048 VkBool32 descriptorBindingUpdateUnusedWhilePending;
5049 VkBool32 descriptorBindingPartiallyBound;
5050 VkBool32 descriptorBindingVariableDescriptorCount;
5051 VkBool32 runtimeDescriptorArray;
5052 VkBool32 samplerFilterMinmax;
5053 VkBool32 scalarBlockLayout;
5054 VkBool32 imagelessFramebuffer;
5055 VkBool32 uniformBufferStandardLayout;
5056 VkBool32 shaderSubgroupExtendedTypes;
5057 VkBool32 separateDepthStencilLayouts;
5058 VkBool32 hostQueryReset;
5059 VkBool32 timelineSemaphore;
5060 VkBool32 bufferDeviceAddress;
5061 VkBool32 bufferDeviceAddressCaptureReplay;
5062 VkBool32 bufferDeviceAddressMultiDevice;
5063 VkBool32 vulkanMemoryModel;
5064 VkBool32 vulkanMemoryModelDeviceScope;
5065 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
5066 VkBool32 shaderOutputViewportIndex;
5067 VkBool32 shaderOutputLayer;
5068 VkBool32 subgroupBroadcastDynamicId;
5069 } VkPhysicalDeviceVulkan12Features;
5071 typedef struct VkConformanceVersion {
5076 } VkConformanceVersion;
5078 typedef struct VkPhysicalDeviceVulkan12Properties {
5079 VkStructureType sType;
5081 VkDriverId driverID;
5082 char driverName[VK_MAX_DRIVER_NAME_SIZE];
5083 char driverInfo[VK_MAX_DRIVER_INFO_SIZE];
5084 VkConformanceVersion conformanceVersion;
5085 VkShaderFloatControlsIndependence denormBehaviorIndependence;
5086 VkShaderFloatControlsIndependence roundingModeIndependence;
5087 VkBool32 shaderSignedZeroInfNanPreserveFloat16;
5088 VkBool32 shaderSignedZeroInfNanPreserveFloat32;
5089 VkBool32 shaderSignedZeroInfNanPreserveFloat64;
5090 VkBool32 shaderDenormPreserveFloat16;
5091 VkBool32 shaderDenormPreserveFloat32;
5092 VkBool32 shaderDenormPreserveFloat64;
5093 VkBool32 shaderDenormFlushToZeroFloat16;
5094 VkBool32 shaderDenormFlushToZeroFloat32;
5095 VkBool32 shaderDenormFlushToZeroFloat64;
5096 VkBool32 shaderRoundingModeRTEFloat16;
5097 VkBool32 shaderRoundingModeRTEFloat32;
5098 VkBool32 shaderRoundingModeRTEFloat64;
5099 VkBool32 shaderRoundingModeRTZFloat16;
5100 VkBool32 shaderRoundingModeRTZFloat32;
5101 VkBool32 shaderRoundingModeRTZFloat64;
5102 deUint32 maxUpdateAfterBindDescriptorsInAllPools;
5103 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
5104 VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
5105 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
5106 VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
5107 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
5108 VkBool32 robustBufferAccessUpdateAfterBind;
5109 VkBool32 quadDivergentImplicitLod;
5110 deUint32 maxPerStageDescriptorUpdateAfterBindSamplers;
5111 deUint32 maxPerStageDescriptorUpdateAfterBindUniformBuffers;
5112 deUint32 maxPerStageDescriptorUpdateAfterBindStorageBuffers;
5113 deUint32 maxPerStageDescriptorUpdateAfterBindSampledImages;
5114 deUint32 maxPerStageDescriptorUpdateAfterBindStorageImages;
5115 deUint32 maxPerStageDescriptorUpdateAfterBindInputAttachments;
5116 deUint32 maxPerStageUpdateAfterBindResources;
5117 deUint32 maxDescriptorSetUpdateAfterBindSamplers;
5118 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffers;
5119 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
5120 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffers;
5121 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
5122 deUint32 maxDescriptorSetUpdateAfterBindSampledImages;
5123 deUint32 maxDescriptorSetUpdateAfterBindStorageImages;
5124 deUint32 maxDescriptorSetUpdateAfterBindInputAttachments;
5125 VkResolveModeFlags supportedDepthResolveModes;
5126 VkResolveModeFlags supportedStencilResolveModes;
5127 VkBool32 independentResolveNone;
5128 VkBool32 independentResolve;
5129 VkBool32 filterMinmaxSingleComponentFormats;
5130 VkBool32 filterMinmaxImageComponentMapping;
5131 deUint64 maxTimelineSemaphoreValueDifference;
5132 VkSampleCountFlags framebufferIntegerColorSampleCounts;
5133 } VkPhysicalDeviceVulkan12Properties;
5135 typedef struct VkImageFormatListCreateInfo {
5136 VkStructureType sType;
5138 deUint32 viewFormatCount;
5139 const VkFormat* pViewFormats;
5140 } VkImageFormatListCreateInfo;
5142 typedef struct VkAttachmentDescription2 {
5143 VkStructureType sType;
5145 VkAttachmentDescriptionFlags flags;
5147 VkSampleCountFlagBits samples;
5148 VkAttachmentLoadOp loadOp;
5149 VkAttachmentStoreOp storeOp;
5150 VkAttachmentLoadOp stencilLoadOp;
5151 VkAttachmentStoreOp stencilStoreOp;
5152 VkImageLayout initialLayout;
5153 VkImageLayout finalLayout;
5154 } VkAttachmentDescription2;
5156 typedef struct VkAttachmentReference2 {
5157 VkStructureType sType;
5159 deUint32 attachment;
5160 VkImageLayout layout;
5161 VkImageAspectFlags aspectMask;
5162 } VkAttachmentReference2;
5164 typedef struct VkSubpassDescription2 {
5165 VkStructureType sType;
5167 VkSubpassDescriptionFlags flags;
5168 VkPipelineBindPoint pipelineBindPoint;
5170 deUint32 inputAttachmentCount;
5171 const VkAttachmentReference2* pInputAttachments;
5172 deUint32 colorAttachmentCount;
5173 const VkAttachmentReference2* pColorAttachments;
5174 const VkAttachmentReference2* pResolveAttachments;
5175 const VkAttachmentReference2* pDepthStencilAttachment;
5176 deUint32 preserveAttachmentCount;
5177 const deUint32* pPreserveAttachments;
5178 } VkSubpassDescription2;
5180 typedef struct VkSubpassDependency2 {
5181 VkStructureType sType;
5183 deUint32 srcSubpass;
5184 deUint32 dstSubpass;
5185 VkPipelineStageFlags srcStageMask;
5186 VkPipelineStageFlags dstStageMask;
5187 VkAccessFlags srcAccessMask;
5188 VkAccessFlags dstAccessMask;
5189 VkDependencyFlags dependencyFlags;
5191 } VkSubpassDependency2;
5193 typedef struct VkRenderPassCreateInfo2 {
5194 VkStructureType sType;
5196 VkRenderPassCreateFlags flags;
5197 deUint32 attachmentCount;
5198 const VkAttachmentDescription2* pAttachments;
5199 deUint32 subpassCount;
5200 const VkSubpassDescription2* pSubpasses;
5201 deUint32 dependencyCount;
5202 const VkSubpassDependency2* pDependencies;
5203 deUint32 correlatedViewMaskCount;
5204 const deUint32* pCorrelatedViewMasks;
5205 } VkRenderPassCreateInfo2;
5207 typedef struct VkSubpassBeginInfo {
5208 VkStructureType sType;
5210 VkSubpassContents contents;
5211 } VkSubpassBeginInfo;
5213 typedef struct VkSubpassEndInfo {
5214 VkStructureType sType;
5218 typedef struct VkPhysicalDevice8BitStorageFeatures {
5219 VkStructureType sType;
5221 VkBool32 storageBuffer8BitAccess;
5222 VkBool32 uniformAndStorageBuffer8BitAccess;
5223 VkBool32 storagePushConstant8;
5224 } VkPhysicalDevice8BitStorageFeatures;
5226 typedef struct VkPhysicalDeviceDriverProperties {
5227 VkStructureType sType;
5229 VkDriverId driverID;
5230 char driverName[VK_MAX_DRIVER_NAME_SIZE];
5231 char driverInfo[VK_MAX_DRIVER_INFO_SIZE];
5232 VkConformanceVersion conformanceVersion;
5233 } VkPhysicalDeviceDriverProperties;
5235 typedef struct VkPhysicalDeviceShaderAtomicInt64Features {
5236 VkStructureType sType;
5238 VkBool32 shaderBufferInt64Atomics;
5239 VkBool32 shaderSharedInt64Atomics;
5240 } VkPhysicalDeviceShaderAtomicInt64Features;
5242 typedef struct VkPhysicalDeviceShaderFloat16Int8Features {
5243 VkStructureType sType;
5245 VkBool32 shaderFloat16;
5246 VkBool32 shaderInt8;
5247 } VkPhysicalDeviceShaderFloat16Int8Features;
5249 typedef struct VkPhysicalDeviceFloatControlsProperties {
5250 VkStructureType sType;
5252 VkShaderFloatControlsIndependence denormBehaviorIndependence;
5253 VkShaderFloatControlsIndependence roundingModeIndependence;
5254 VkBool32 shaderSignedZeroInfNanPreserveFloat16;
5255 VkBool32 shaderSignedZeroInfNanPreserveFloat32;
5256 VkBool32 shaderSignedZeroInfNanPreserveFloat64;
5257 VkBool32 shaderDenormPreserveFloat16;
5258 VkBool32 shaderDenormPreserveFloat32;
5259 VkBool32 shaderDenormPreserveFloat64;
5260 VkBool32 shaderDenormFlushToZeroFloat16;
5261 VkBool32 shaderDenormFlushToZeroFloat32;
5262 VkBool32 shaderDenormFlushToZeroFloat64;
5263 VkBool32 shaderRoundingModeRTEFloat16;
5264 VkBool32 shaderRoundingModeRTEFloat32;
5265 VkBool32 shaderRoundingModeRTEFloat64;
5266 VkBool32 shaderRoundingModeRTZFloat16;
5267 VkBool32 shaderRoundingModeRTZFloat32;
5268 VkBool32 shaderRoundingModeRTZFloat64;
5269 } VkPhysicalDeviceFloatControlsProperties;
5271 typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfo {
5272 VkStructureType sType;
5274 deUint32 bindingCount;
5275 const VkDescriptorBindingFlags* pBindingFlags;
5276 } VkDescriptorSetLayoutBindingFlagsCreateInfo;
5278 typedef struct VkPhysicalDeviceDescriptorIndexingFeatures {
5279 VkStructureType sType;
5281 VkBool32 shaderInputAttachmentArrayDynamicIndexing;
5282 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
5283 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
5284 VkBool32 shaderUniformBufferArrayNonUniformIndexing;
5285 VkBool32 shaderSampledImageArrayNonUniformIndexing;
5286 VkBool32 shaderStorageBufferArrayNonUniformIndexing;
5287 VkBool32 shaderStorageImageArrayNonUniformIndexing;
5288 VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
5289 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
5290 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
5291 VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
5292 VkBool32 descriptorBindingSampledImageUpdateAfterBind;
5293 VkBool32 descriptorBindingStorageImageUpdateAfterBind;
5294 VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
5295 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
5296 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
5297 VkBool32 descriptorBindingUpdateUnusedWhilePending;
5298 VkBool32 descriptorBindingPartiallyBound;
5299 VkBool32 descriptorBindingVariableDescriptorCount;
5300 VkBool32 runtimeDescriptorArray;
5301 } VkPhysicalDeviceDescriptorIndexingFeatures;
5303 typedef struct VkPhysicalDeviceDescriptorIndexingProperties {
5304 VkStructureType sType;
5306 deUint32 maxUpdateAfterBindDescriptorsInAllPools;
5307 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
5308 VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
5309 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
5310 VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
5311 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
5312 VkBool32 robustBufferAccessUpdateAfterBind;
5313 VkBool32 quadDivergentImplicitLod;
5314 deUint32 maxPerStageDescriptorUpdateAfterBindSamplers;
5315 deUint32 maxPerStageDescriptorUpdateAfterBindUniformBuffers;
5316 deUint32 maxPerStageDescriptorUpdateAfterBindStorageBuffers;
5317 deUint32 maxPerStageDescriptorUpdateAfterBindSampledImages;
5318 deUint32 maxPerStageDescriptorUpdateAfterBindStorageImages;
5319 deUint32 maxPerStageDescriptorUpdateAfterBindInputAttachments;
5320 deUint32 maxPerStageUpdateAfterBindResources;
5321 deUint32 maxDescriptorSetUpdateAfterBindSamplers;
5322 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffers;
5323 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
5324 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffers;
5325 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
5326 deUint32 maxDescriptorSetUpdateAfterBindSampledImages;
5327 deUint32 maxDescriptorSetUpdateAfterBindStorageImages;
5328 deUint32 maxDescriptorSetUpdateAfterBindInputAttachments;
5329 } VkPhysicalDeviceDescriptorIndexingProperties;
5331 typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfo {
5332 VkStructureType sType;
5334 deUint32 descriptorSetCount;
5335 const deUint32* pDescriptorCounts;
5336 } VkDescriptorSetVariableDescriptorCountAllocateInfo;
5338 typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupport {
5339 VkStructureType sType;
5341 deUint32 maxVariableDescriptorCount;
5342 } VkDescriptorSetVariableDescriptorCountLayoutSupport;
5344 typedef struct VkSubpassDescriptionDepthStencilResolve {
5345 VkStructureType sType;
5347 VkResolveModeFlagBits depthResolveMode;
5348 VkResolveModeFlagBits stencilResolveMode;
5349 const VkAttachmentReference2* pDepthStencilResolveAttachment;
5350 } VkSubpassDescriptionDepthStencilResolve;
5352 typedef struct VkPhysicalDeviceDepthStencilResolveProperties {
5353 VkStructureType sType;
5355 VkResolveModeFlags supportedDepthResolveModes;
5356 VkResolveModeFlags supportedStencilResolveModes;
5357 VkBool32 independentResolveNone;
5358 VkBool32 independentResolve;
5359 } VkPhysicalDeviceDepthStencilResolveProperties;
5361 typedef struct VkPhysicalDeviceScalarBlockLayoutFeatures {
5362 VkStructureType sType;
5364 VkBool32 scalarBlockLayout;
5365 } VkPhysicalDeviceScalarBlockLayoutFeatures;
5367 typedef struct VkImageStencilUsageCreateInfo {
5368 VkStructureType sType;
5370 VkImageUsageFlags stencilUsage;
5371 } VkImageStencilUsageCreateInfo;
5373 typedef struct VkSamplerReductionModeCreateInfo {
5374 VkStructureType sType;
5376 VkSamplerReductionMode reductionMode;
5377 } VkSamplerReductionModeCreateInfo;
5379 typedef struct VkPhysicalDeviceSamplerFilterMinmaxProperties {
5380 VkStructureType sType;
5382 VkBool32 filterMinmaxSingleComponentFormats;
5383 VkBool32 filterMinmaxImageComponentMapping;
5384 } VkPhysicalDeviceSamplerFilterMinmaxProperties;
5386 typedef struct VkPhysicalDeviceVulkanMemoryModelFeatures {
5387 VkStructureType sType;
5389 VkBool32 vulkanMemoryModel;
5390 VkBool32 vulkanMemoryModelDeviceScope;
5391 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
5392 } VkPhysicalDeviceVulkanMemoryModelFeatures;
5394 typedef struct VkPhysicalDeviceImagelessFramebufferFeatures {
5395 VkStructureType sType;
5397 VkBool32 imagelessFramebuffer;
5398 } VkPhysicalDeviceImagelessFramebufferFeatures;
5400 typedef struct VkFramebufferAttachmentImageInfo {
5401 VkStructureType sType;
5403 VkImageCreateFlags flags;
5404 VkImageUsageFlags usage;
5407 deUint32 layerCount;
5408 deUint32 viewFormatCount;
5409 const VkFormat* pViewFormats;
5410 } VkFramebufferAttachmentImageInfo;
5412 typedef struct VkFramebufferAttachmentsCreateInfo {
5413 VkStructureType sType;
5415 deUint32 attachmentImageInfoCount;
5416 const VkFramebufferAttachmentImageInfo* pAttachmentImageInfos;
5417 } VkFramebufferAttachmentsCreateInfo;
5419 typedef struct VkRenderPassAttachmentBeginInfo {
5420 VkStructureType sType;
5422 deUint32 attachmentCount;
5423 const VkImageView* pAttachments;
5424 } VkRenderPassAttachmentBeginInfo;
5426 typedef struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures {
5427 VkStructureType sType;
5429 VkBool32 uniformBufferStandardLayout;
5430 } VkPhysicalDeviceUniformBufferStandardLayoutFeatures;
5432 typedef struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures {
5433 VkStructureType sType;
5435 VkBool32 shaderSubgroupExtendedTypes;
5436 } VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures;
5438 typedef struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures {
5439 VkStructureType sType;
5441 VkBool32 separateDepthStencilLayouts;
5442 } VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures;
5444 typedef struct VkAttachmentReferenceStencilLayout {
5445 VkStructureType sType;
5447 VkImageLayout stencilLayout;
5448 } VkAttachmentReferenceStencilLayout;
5450 typedef struct VkAttachmentDescriptionStencilLayout {
5451 VkStructureType sType;
5453 VkImageLayout stencilInitialLayout;
5454 VkImageLayout stencilFinalLayout;
5455 } VkAttachmentDescriptionStencilLayout;
5457 typedef struct VkPhysicalDeviceHostQueryResetFeatures {
5458 VkStructureType sType;
5460 VkBool32 hostQueryReset;
5461 } VkPhysicalDeviceHostQueryResetFeatures;
5463 typedef struct VkPhysicalDeviceTimelineSemaphoreFeatures {
5464 VkStructureType sType;
5466 VkBool32 timelineSemaphore;
5467 } VkPhysicalDeviceTimelineSemaphoreFeatures;
5469 typedef struct VkPhysicalDeviceTimelineSemaphoreProperties {
5470 VkStructureType sType;
5472 deUint64 maxTimelineSemaphoreValueDifference;
5473 } VkPhysicalDeviceTimelineSemaphoreProperties;
5475 typedef struct VkSemaphoreTypeCreateInfo {
5476 VkStructureType sType;
5478 VkSemaphoreType semaphoreType;
5479 deUint64 initialValue;
5480 } VkSemaphoreTypeCreateInfo;
5482 typedef struct VkTimelineSemaphoreSubmitInfo {
5483 VkStructureType sType;
5485 deUint32 waitSemaphoreValueCount;
5486 const deUint64* pWaitSemaphoreValues;
5487 deUint32 signalSemaphoreValueCount;
5488 const deUint64* pSignalSemaphoreValues;
5489 } VkTimelineSemaphoreSubmitInfo;
5491 typedef struct VkSemaphoreWaitInfo {
5492 VkStructureType sType;
5494 VkSemaphoreWaitFlags flags;
5495 deUint32 semaphoreCount;
5496 const VkSemaphore* pSemaphores;
5497 const deUint64* pValues;
5498 } VkSemaphoreWaitInfo;
5500 typedef struct VkSemaphoreSignalInfo {
5501 VkStructureType sType;
5503 VkSemaphore semaphore;
5505 } VkSemaphoreSignalInfo;
5507 typedef struct VkPhysicalDeviceBufferDeviceAddressFeatures {
5508 VkStructureType sType;
5510 VkBool32 bufferDeviceAddress;
5511 VkBool32 bufferDeviceAddressCaptureReplay;
5512 VkBool32 bufferDeviceAddressMultiDevice;
5513 } VkPhysicalDeviceBufferDeviceAddressFeatures;
5515 typedef struct VkBufferDeviceAddressInfo {
5516 VkStructureType sType;
5519 } VkBufferDeviceAddressInfo;
5521 typedef struct VkBufferOpaqueCaptureAddressCreateInfo {
5522 VkStructureType sType;
5524 deUint64 opaqueCaptureAddress;
5525 } VkBufferOpaqueCaptureAddressCreateInfo;
5527 typedef struct VkMemoryOpaqueCaptureAddressAllocateInfo {
5528 VkStructureType sType;
5530 deUint64 opaqueCaptureAddress;
5531 } VkMemoryOpaqueCaptureAddressAllocateInfo;
5533 typedef struct VkDeviceMemoryOpaqueCaptureAddressInfo {
5534 VkStructureType sType;
5536 VkDeviceMemory memory;
5537 } VkDeviceMemoryOpaqueCaptureAddressInfo;
5539 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
5540 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
5541 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
5542 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo);
5543 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo);
5544 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo);
5545 typedef void (VKAPI_PTR *PFN_vkResetQueryPool)(VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount);
5546 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValue)(VkDevice device, VkSemaphore semaphore, deUint64* pValue);
5547 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphores)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, deUint64 timeout);
5548 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphore)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo);
5549 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
5550 typedef deUint64 (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
5551 typedef deUint64 (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddress)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
5553 #ifndef VK_NO_PROTOTYPES
5554 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCount(
5555 VkCommandBuffer commandBuffer,
5557 VkDeviceSize offset,
5558 VkBuffer countBuffer,
5559 VkDeviceSize countBufferOffset,
5560 deUint32 maxDrawCount,
5563 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCount(
5564 VkCommandBuffer commandBuffer,
5566 VkDeviceSize offset,
5567 VkBuffer countBuffer,
5568 VkDeviceSize countBufferOffset,
5569 deUint32 maxDrawCount,
5572 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2(
5574 const VkRenderPassCreateInfo2* pCreateInfo,
5575 const VkAllocationCallbacks* pAllocator,
5576 VkRenderPass* pRenderPass);
5578 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2(
5579 VkCommandBuffer commandBuffer,
5580 const VkRenderPassBeginInfo* pRenderPassBegin,
5581 const VkSubpassBeginInfo* pSubpassBeginInfo);
5583 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2(
5584 VkCommandBuffer commandBuffer,
5585 const VkSubpassBeginInfo* pSubpassBeginInfo,
5586 const VkSubpassEndInfo* pSubpassEndInfo);
5588 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2(
5589 VkCommandBuffer commandBuffer,
5590 const VkSubpassEndInfo* pSubpassEndInfo);
5592 VKAPI_ATTR void VKAPI_CALL vkResetQueryPool(
5594 VkQueryPool queryPool,
5595 deUint32 firstQuery,
5596 deUint32 queryCount);
5598 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValue(
5600 VkSemaphore semaphore,
5603 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphores(
5605 const VkSemaphoreWaitInfo* pWaitInfo,
5608 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphore(
5610 const VkSemaphoreSignalInfo* pSignalInfo);
5612 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddress(
5614 const VkBufferDeviceAddressInfo* pInfo);
5616 VKAPI_ATTR deUint64 VKAPI_CALL vkGetBufferOpaqueCaptureAddress(
5618 const VkBufferDeviceAddressInfo* pInfo);
5620 VKAPI_ATTR deUint64 VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddress(
5622 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
5626 #define VK_KHR_surface 1
5627 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR)
5628 #define VK_KHR_SURFACE_SPEC_VERSION 25
5629 #define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface"
5631 typedef enum VkPresentModeKHR {
5632 VK_PRESENT_MODE_IMMEDIATE_KHR = 0,
5633 VK_PRESENT_MODE_MAILBOX_KHR = 1,
5634 VK_PRESENT_MODE_FIFO_KHR = 2,
5635 VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3,
5636 VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR = 1000111000,
5637 VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = 1000111001,
5638 VK_PRESENT_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
5641 typedef enum VkColorSpaceKHR {
5642 VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0,
5643 VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = 1000104001,
5644 VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT = 1000104002,
5645 VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT = 1000104003,
5646 VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT = 1000104004,
5647 VK_COLOR_SPACE_BT709_LINEAR_EXT = 1000104005,
5648 VK_COLOR_SPACE_BT709_NONLINEAR_EXT = 1000104006,
5649 VK_COLOR_SPACE_BT2020_LINEAR_EXT = 1000104007,
5650 VK_COLOR_SPACE_HDR10_ST2084_EXT = 1000104008,
5651 VK_COLOR_SPACE_DOLBYVISION_EXT = 1000104009,
5652 VK_COLOR_SPACE_HDR10_HLG_EXT = 1000104010,
5653 VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT = 1000104011,
5654 VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT = 1000104012,
5655 VK_COLOR_SPACE_PASS_THROUGH_EXT = 1000104013,
5656 VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT = 1000104014,
5657 VK_COLOR_SPACE_DISPLAY_NATIVE_AMD = 1000213000,
5658 VK_COLORSPACE_SRGB_NONLINEAR_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
5659 VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT,
5660 VK_COLOR_SPACE_MAX_ENUM_KHR = 0x7FFFFFFF
5663 typedef enum VkSurfaceTransformFlagBitsKHR {
5664 VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 0x00000001,
5665 VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 0x00000002,
5666 VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 0x00000004,
5667 VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 0x00000008,
5668 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 0x00000010,
5669 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 0x00000020,
5670 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 0x00000040,
5671 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 0x00000080,
5672 VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 0x00000100,
5673 VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
5674 } VkSurfaceTransformFlagBitsKHR;
5676 typedef enum VkCompositeAlphaFlagBitsKHR {
5677 VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
5678 VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 0x00000002,
5679 VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 0x00000004,
5680 VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 0x00000008,
5681 VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
5682 } VkCompositeAlphaFlagBitsKHR;
5683 typedef VkFlags VkCompositeAlphaFlagsKHR;
5684 typedef VkFlags VkSurfaceTransformFlagsKHR;
5685 typedef struct VkSurfaceCapabilitiesKHR {
5686 deUint32 minImageCount;
5687 deUint32 maxImageCount;
5688 VkExtent2D currentExtent;
5689 VkExtent2D minImageExtent;
5690 VkExtent2D maxImageExtent;
5691 deUint32 maxImageArrayLayers;
5692 VkSurfaceTransformFlagsKHR supportedTransforms;
5693 VkSurfaceTransformFlagBitsKHR currentTransform;
5694 VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
5695 VkImageUsageFlags supportedUsageFlags;
5696 } VkSurfaceCapabilitiesKHR;
5698 typedef struct VkSurfaceFormatKHR {
5700 VkColorSpaceKHR colorSpace;
5701 } VkSurfaceFormatKHR;
5703 typedef void (VKAPI_PTR *PFN_vkDestroySurfaceKHR)(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator);
5704 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported);
5705 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
5706 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats);
5707 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pPresentModeCount, VkPresentModeKHR* pPresentModes);
5709 #ifndef VK_NO_PROTOTYPES
5710 VKAPI_ATTR void VKAPI_CALL vkDestroySurfaceKHR(
5711 VkInstance instance,
5712 VkSurfaceKHR surface,
5713 const VkAllocationCallbacks* pAllocator);
5715 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceSupportKHR(
5716 VkPhysicalDevice physicalDevice,
5717 deUint32 queueFamilyIndex,
5718 VkSurfaceKHR surface,
5719 VkBool32* pSupported);
5721 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilitiesKHR(
5722 VkPhysicalDevice physicalDevice,
5723 VkSurfaceKHR surface,
5724 VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
5726 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormatsKHR(
5727 VkPhysicalDevice physicalDevice,
5728 VkSurfaceKHR surface,
5729 deUint32* pSurfaceFormatCount,
5730 VkSurfaceFormatKHR* pSurfaceFormats);
5732 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModesKHR(
5733 VkPhysicalDevice physicalDevice,
5734 VkSurfaceKHR surface,
5735 deUint32* pPresentModeCount,
5736 VkPresentModeKHR* pPresentModes);
5740 #define VK_KHR_swapchain 1
5741 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR)
5742 #define VK_KHR_SWAPCHAIN_SPEC_VERSION 70
5743 #define VK_KHR_SWAPCHAIN_EXTENSION_NAME "VK_KHR_swapchain"
5745 typedef enum VkSwapchainCreateFlagBitsKHR {
5746 VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 0x00000001,
5747 VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR = 0x00000002,
5748 VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR = 0x00000004,
5749 VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
5750 } VkSwapchainCreateFlagBitsKHR;
5751 typedef VkFlags VkSwapchainCreateFlagsKHR;
5753 typedef enum VkDeviceGroupPresentModeFlagBitsKHR {
5754 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR = 0x00000001,
5755 VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR = 0x00000002,
5756 VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR = 0x00000004,
5757 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR = 0x00000008,
5758 VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
5759 } VkDeviceGroupPresentModeFlagBitsKHR;
5760 typedef VkFlags VkDeviceGroupPresentModeFlagsKHR;
5761 typedef struct VkSwapchainCreateInfoKHR {
5762 VkStructureType sType;
5764 VkSwapchainCreateFlagsKHR flags;
5765 VkSurfaceKHR surface;
5766 deUint32 minImageCount;
5767 VkFormat imageFormat;
5768 VkColorSpaceKHR imageColorSpace;
5769 VkExtent2D imageExtent;
5770 deUint32 imageArrayLayers;
5771 VkImageUsageFlags imageUsage;
5772 VkSharingMode imageSharingMode;
5773 deUint32 queueFamilyIndexCount;
5774 const deUint32* pQueueFamilyIndices;
5775 VkSurfaceTransformFlagBitsKHR preTransform;
5776 VkCompositeAlphaFlagBitsKHR compositeAlpha;
5777 VkPresentModeKHR presentMode;
5779 VkSwapchainKHR oldSwapchain;
5780 } VkSwapchainCreateInfoKHR;
5782 typedef struct VkPresentInfoKHR {
5783 VkStructureType sType;
5785 deUint32 waitSemaphoreCount;
5786 const VkSemaphore* pWaitSemaphores;
5787 deUint32 swapchainCount;
5788 const VkSwapchainKHR* pSwapchains;
5789 const deUint32* pImageIndices;
5793 typedef struct VkImageSwapchainCreateInfoKHR {
5794 VkStructureType sType;
5796 VkSwapchainKHR swapchain;
5797 } VkImageSwapchainCreateInfoKHR;
5799 typedef struct VkBindImageMemorySwapchainInfoKHR {
5800 VkStructureType sType;
5802 VkSwapchainKHR swapchain;
5803 deUint32 imageIndex;
5804 } VkBindImageMemorySwapchainInfoKHR;
5806 typedef struct VkAcquireNextImageInfoKHR {
5807 VkStructureType sType;
5809 VkSwapchainKHR swapchain;
5811 VkSemaphore semaphore;
5813 deUint32 deviceMask;
5814 } VkAcquireNextImageInfoKHR;
5816 typedef struct VkDeviceGroupPresentCapabilitiesKHR {
5817 VkStructureType sType;
5819 deUint32 presentMask[VK_MAX_DEVICE_GROUP_SIZE];
5820 VkDeviceGroupPresentModeFlagsKHR modes;
5821 } VkDeviceGroupPresentCapabilitiesKHR;
5823 typedef struct VkDeviceGroupPresentInfoKHR {
5824 VkStructureType sType;
5826 deUint32 swapchainCount;
5827 const deUint32* pDeviceMasks;
5828 VkDeviceGroupPresentModeFlagBitsKHR mode;
5829 } VkDeviceGroupPresentInfoKHR;
5831 typedef struct VkDeviceGroupSwapchainCreateInfoKHR {
5832 VkStructureType sType;
5834 VkDeviceGroupPresentModeFlagsKHR modes;
5835 } VkDeviceGroupSwapchainCreateInfoKHR;
5837 typedef VkResult (VKAPI_PTR *PFN_vkCreateSwapchainKHR)(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain);
5838 typedef void (VKAPI_PTR *PFN_vkDestroySwapchainKHR)(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator);
5839 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainImagesKHR)(VkDevice device, VkSwapchainKHR swapchain, deUint32* pSwapchainImageCount, VkImage* pSwapchainImages);
5840 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImageKHR)(VkDevice device, VkSwapchainKHR swapchain, deUint64 timeout, VkSemaphore semaphore, VkFence fence, deUint32* pImageIndex);
5841 typedef VkResult (VKAPI_PTR *PFN_vkQueuePresentKHR)(VkQueue queue, const VkPresentInfoKHR* pPresentInfo);
5842 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupPresentCapabilitiesKHR)(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
5843 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupSurfacePresentModesKHR)(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes);
5844 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDevicePresentRectanglesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pRectCount, VkRect2D* pRects);
5845 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImage2KHR)(VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, deUint32* pImageIndex);
5847 #ifndef VK_NO_PROTOTYPES
5848 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSwapchainKHR(
5850 const VkSwapchainCreateInfoKHR* pCreateInfo,
5851 const VkAllocationCallbacks* pAllocator,
5852 VkSwapchainKHR* pSwapchain);
5854 VKAPI_ATTR void VKAPI_CALL vkDestroySwapchainKHR(
5856 VkSwapchainKHR swapchain,
5857 const VkAllocationCallbacks* pAllocator);
5859 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainImagesKHR(
5861 VkSwapchainKHR swapchain,
5862 deUint32* pSwapchainImageCount,
5863 VkImage* pSwapchainImages);
5865 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImageKHR(
5867 VkSwapchainKHR swapchain,
5869 VkSemaphore semaphore,
5871 deUint32* pImageIndex);
5873 VKAPI_ATTR VkResult VKAPI_CALL vkQueuePresentKHR(
5875 const VkPresentInfoKHR* pPresentInfo);
5877 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupPresentCapabilitiesKHR(
5879 VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
5881 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupSurfacePresentModesKHR(
5883 VkSurfaceKHR surface,
5884 VkDeviceGroupPresentModeFlagsKHR* pModes);
5886 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDevicePresentRectanglesKHR(
5887 VkPhysicalDevice physicalDevice,
5888 VkSurfaceKHR surface,
5889 deUint32* pRectCount,
5892 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImage2KHR(
5894 const VkAcquireNextImageInfoKHR* pAcquireInfo,
5895 deUint32* pImageIndex);
5899 #define VK_KHR_display 1
5900 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR)
5901 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR)
5902 #define VK_KHR_DISPLAY_SPEC_VERSION 23
5903 #define VK_KHR_DISPLAY_EXTENSION_NAME "VK_KHR_display"
5904 typedef VkFlags VkDisplayModeCreateFlagsKHR;
5906 typedef enum VkDisplayPlaneAlphaFlagBitsKHR {
5907 VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
5908 VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR = 0x00000002,
5909 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR = 0x00000004,
5910 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = 0x00000008,
5911 VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
5912 } VkDisplayPlaneAlphaFlagBitsKHR;
5913 typedef VkFlags VkDisplayPlaneAlphaFlagsKHR;
5914 typedef VkFlags VkDisplaySurfaceCreateFlagsKHR;
5915 typedef struct VkDisplayModeParametersKHR {
5916 VkExtent2D visibleRegion;
5917 deUint32 refreshRate;
5918 } VkDisplayModeParametersKHR;
5920 typedef struct VkDisplayModeCreateInfoKHR {
5921 VkStructureType sType;
5923 VkDisplayModeCreateFlagsKHR flags;
5924 VkDisplayModeParametersKHR parameters;
5925 } VkDisplayModeCreateInfoKHR;
5927 typedef struct VkDisplayModePropertiesKHR {
5928 VkDisplayModeKHR displayMode;
5929 VkDisplayModeParametersKHR parameters;
5930 } VkDisplayModePropertiesKHR;
5932 typedef struct VkDisplayPlaneCapabilitiesKHR {
5933 VkDisplayPlaneAlphaFlagsKHR supportedAlpha;
5934 VkOffset2D minSrcPosition;
5935 VkOffset2D maxSrcPosition;
5936 VkExtent2D minSrcExtent;
5937 VkExtent2D maxSrcExtent;
5938 VkOffset2D minDstPosition;
5939 VkOffset2D maxDstPosition;
5940 VkExtent2D minDstExtent;
5941 VkExtent2D maxDstExtent;
5942 } VkDisplayPlaneCapabilitiesKHR;
5944 typedef struct VkDisplayPlanePropertiesKHR {
5945 VkDisplayKHR currentDisplay;
5946 deUint32 currentStackIndex;
5947 } VkDisplayPlanePropertiesKHR;
5949 typedef struct VkDisplayPropertiesKHR {
5950 VkDisplayKHR display;
5951 const char* displayName;
5952 VkExtent2D physicalDimensions;
5953 VkExtent2D physicalResolution;
5954 VkSurfaceTransformFlagsKHR supportedTransforms;
5955 VkBool32 planeReorderPossible;
5956 VkBool32 persistentContent;
5957 } VkDisplayPropertiesKHR;
5959 typedef struct VkDisplaySurfaceCreateInfoKHR {
5960 VkStructureType sType;
5962 VkDisplaySurfaceCreateFlagsKHR flags;
5963 VkDisplayModeKHR displayMode;
5964 deUint32 planeIndex;
5965 deUint32 planeStackIndex;
5966 VkSurfaceTransformFlagBitsKHR transform;
5968 VkDisplayPlaneAlphaFlagBitsKHR alphaMode;
5969 VkExtent2D imageExtent;
5970 } VkDisplaySurfaceCreateInfoKHR;
5972 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPropertiesKHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPropertiesKHR* pProperties);
5973 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties);
5974 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneSupportedDisplaysKHR)(VkPhysicalDevice physicalDevice, deUint32 planeIndex, deUint32* pDisplayCount, VkDisplayKHR* pDisplays);
5975 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModePropertiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, deUint32* pPropertyCount, VkDisplayModePropertiesKHR* pProperties);
5976 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayModeKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode);
5977 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, deUint32 planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities);
5978 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayPlaneSurfaceKHR)(VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
5980 #ifndef VK_NO_PROTOTYPES
5981 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPropertiesKHR(
5982 VkPhysicalDevice physicalDevice,
5983 deUint32* pPropertyCount,
5984 VkDisplayPropertiesKHR* pProperties);
5986 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlanePropertiesKHR(
5987 VkPhysicalDevice physicalDevice,
5988 deUint32* pPropertyCount,
5989 VkDisplayPlanePropertiesKHR* pProperties);
5991 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneSupportedDisplaysKHR(
5992 VkPhysicalDevice physicalDevice,
5993 deUint32 planeIndex,
5994 deUint32* pDisplayCount,
5995 VkDisplayKHR* pDisplays);
5997 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModePropertiesKHR(
5998 VkPhysicalDevice physicalDevice,
5999 VkDisplayKHR display,
6000 deUint32* pPropertyCount,
6001 VkDisplayModePropertiesKHR* pProperties);
6003 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayModeKHR(
6004 VkPhysicalDevice physicalDevice,
6005 VkDisplayKHR display,
6006 const VkDisplayModeCreateInfoKHR* pCreateInfo,
6007 const VkAllocationCallbacks* pAllocator,
6008 VkDisplayModeKHR* pMode);
6010 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilitiesKHR(
6011 VkPhysicalDevice physicalDevice,
6012 VkDisplayModeKHR mode,
6013 deUint32 planeIndex,
6014 VkDisplayPlaneCapabilitiesKHR* pCapabilities);
6016 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayPlaneSurfaceKHR(
6017 VkInstance instance,
6018 const VkDisplaySurfaceCreateInfoKHR* pCreateInfo,
6019 const VkAllocationCallbacks* pAllocator,
6020 VkSurfaceKHR* pSurface);
6024 #define VK_KHR_display_swapchain 1
6025 #define VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION 10
6026 #define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME "VK_KHR_display_swapchain"
6027 typedef struct VkDisplayPresentInfoKHR {
6028 VkStructureType sType;
6032 VkBool32 persistent;
6033 } VkDisplayPresentInfoKHR;
6035 typedef VkResult (VKAPI_PTR *PFN_vkCreateSharedSwapchainsKHR)(VkDevice device, deUint32 swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains);
6037 #ifndef VK_NO_PROTOTYPES
6038 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSharedSwapchainsKHR(
6040 deUint32 swapchainCount,
6041 const VkSwapchainCreateInfoKHR* pCreateInfos,
6042 const VkAllocationCallbacks* pAllocator,
6043 VkSwapchainKHR* pSwapchains);
6047 #define VK_KHR_sampler_mirror_clamp_to_edge 1
6048 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION 3
6049 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME "VK_KHR_sampler_mirror_clamp_to_edge"
6052 #define VK_KHR_multiview 1
6053 #define VK_KHR_MULTIVIEW_SPEC_VERSION 1
6054 #define VK_KHR_MULTIVIEW_EXTENSION_NAME "VK_KHR_multiview"
6055 typedef VkRenderPassMultiviewCreateInfo VkRenderPassMultiviewCreateInfoKHR;
6057 typedef VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeaturesKHR;
6059 typedef VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewPropertiesKHR;
6063 #define VK_KHR_get_physical_device_properties2 1
6064 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION 2
6065 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_physical_device_properties2"
6066 typedef VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2KHR;
6068 typedef VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2KHR;
6070 typedef VkFormatProperties2 VkFormatProperties2KHR;
6072 typedef VkImageFormatProperties2 VkImageFormatProperties2KHR;
6074 typedef VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2KHR;
6076 typedef VkQueueFamilyProperties2 VkQueueFamilyProperties2KHR;
6078 typedef VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2KHR;
6080 typedef VkSparseImageFormatProperties2 VkSparseImageFormatProperties2KHR;
6082 typedef VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2KHR;
6084 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
6085 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
6086 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2KHR)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
6087 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
6088 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)(VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
6089 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
6090 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, deUint32* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
6092 #ifndef VK_NO_PROTOTYPES
6093 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2KHR(
6094 VkPhysicalDevice physicalDevice,
6095 VkPhysicalDeviceFeatures2* pFeatures);
6097 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2KHR(
6098 VkPhysicalDevice physicalDevice,
6099 VkPhysicalDeviceProperties2* pProperties);
6101 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2KHR(
6102 VkPhysicalDevice physicalDevice,
6104 VkFormatProperties2* pFormatProperties);
6106 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2KHR(
6107 VkPhysicalDevice physicalDevice,
6108 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
6109 VkImageFormatProperties2* pImageFormatProperties);
6111 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2KHR(
6112 VkPhysicalDevice physicalDevice,
6113 deUint32* pQueueFamilyPropertyCount,
6114 VkQueueFamilyProperties2* pQueueFamilyProperties);
6116 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2KHR(
6117 VkPhysicalDevice physicalDevice,
6118 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
6120 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
6121 VkPhysicalDevice physicalDevice,
6122 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
6123 deUint32* pPropertyCount,
6124 VkSparseImageFormatProperties2* pProperties);
6128 #define VK_KHR_device_group 1
6129 #define VK_KHR_DEVICE_GROUP_SPEC_VERSION 4
6130 #define VK_KHR_DEVICE_GROUP_EXTENSION_NAME "VK_KHR_device_group"
6131 typedef VkPeerMemoryFeatureFlags VkPeerMemoryFeatureFlagsKHR;
6133 typedef VkPeerMemoryFeatureFlagBits VkPeerMemoryFeatureFlagBitsKHR;
6135 typedef VkMemoryAllocateFlags VkMemoryAllocateFlagsKHR;
6137 typedef VkMemoryAllocateFlagBits VkMemoryAllocateFlagBitsKHR;
6139 typedef VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfoKHR;
6141 typedef VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfoKHR;
6143 typedef VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfoKHR;
6145 typedef VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfoKHR;
6147 typedef VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfoKHR;
6149 typedef VkBindBufferMemoryDeviceGroupInfo VkBindBufferMemoryDeviceGroupInfoKHR;
6151 typedef VkBindImageMemoryDeviceGroupInfo VkBindImageMemoryDeviceGroupInfoKHR;
6153 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR)(VkDevice device, deUint32 heapIndex, deUint32 localDeviceIndex, deUint32 remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
6154 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMaskKHR)(VkCommandBuffer commandBuffer, deUint32 deviceMask);
6155 typedef void (VKAPI_PTR *PFN_vkCmdDispatchBaseKHR)(VkCommandBuffer commandBuffer, deUint32 baseGroupX, deUint32 baseGroupY, deUint32 baseGroupZ, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ);
6157 #ifndef VK_NO_PROTOTYPES
6158 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeaturesKHR(
6161 deUint32 localDeviceIndex,
6162 deUint32 remoteDeviceIndex,
6163 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
6165 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMaskKHR(
6166 VkCommandBuffer commandBuffer,
6167 deUint32 deviceMask);
6169 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBaseKHR(
6170 VkCommandBuffer commandBuffer,
6171 deUint32 baseGroupX,
6172 deUint32 baseGroupY,
6173 deUint32 baseGroupZ,
6174 deUint32 groupCountX,
6175 deUint32 groupCountY,
6176 deUint32 groupCountZ);
6180 #define VK_KHR_shader_draw_parameters 1
6181 #define VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION 1
6182 #define VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME "VK_KHR_shader_draw_parameters"
6185 #define VK_KHR_maintenance1 1
6186 #define VK_KHR_MAINTENANCE1_SPEC_VERSION 2
6187 #define VK_KHR_MAINTENANCE1_EXTENSION_NAME "VK_KHR_maintenance1"
6188 typedef VkCommandPoolTrimFlags VkCommandPoolTrimFlagsKHR;
6190 typedef void (VKAPI_PTR *PFN_vkTrimCommandPoolKHR)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
6192 #ifndef VK_NO_PROTOTYPES
6193 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPoolKHR(
6195 VkCommandPool commandPool,
6196 VkCommandPoolTrimFlags flags);
6200 #define VK_KHR_device_group_creation 1
6201 #define VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION 1
6202 #define VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME "VK_KHR_device_group_creation"
6203 #define VK_MAX_DEVICE_GROUP_SIZE_KHR VK_MAX_DEVICE_GROUP_SIZE
6204 typedef VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupPropertiesKHR;
6206 typedef VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfoKHR;
6208 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroupsKHR)(VkInstance instance, deUint32* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
6210 #ifndef VK_NO_PROTOTYPES
6211 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroupsKHR(
6212 VkInstance instance,
6213 deUint32* pPhysicalDeviceGroupCount,
6214 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
6218 #define VK_KHR_external_memory_capabilities 1
6219 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
6220 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_memory_capabilities"
6221 #define VK_LUID_SIZE_KHR VK_LUID_SIZE
6222 typedef VkExternalMemoryHandleTypeFlags VkExternalMemoryHandleTypeFlagsKHR;
6224 typedef VkExternalMemoryHandleTypeFlagBits VkExternalMemoryHandleTypeFlagBitsKHR;
6226 typedef VkExternalMemoryFeatureFlags VkExternalMemoryFeatureFlagsKHR;
6228 typedef VkExternalMemoryFeatureFlagBits VkExternalMemoryFeatureFlagBitsKHR;
6230 typedef VkExternalMemoryProperties VkExternalMemoryPropertiesKHR;
6232 typedef VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfoKHR;
6234 typedef VkExternalImageFormatProperties VkExternalImageFormatPropertiesKHR;
6236 typedef VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfoKHR;
6238 typedef VkExternalBufferProperties VkExternalBufferPropertiesKHR;
6240 typedef VkPhysicalDeviceIDProperties VkPhysicalDeviceIDPropertiesKHR;
6242 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
6244 #ifndef VK_NO_PROTOTYPES
6245 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferPropertiesKHR(
6246 VkPhysicalDevice physicalDevice,
6247 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
6248 VkExternalBufferProperties* pExternalBufferProperties);
6252 #define VK_KHR_external_memory 1
6253 #define VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION 1
6254 #define VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME "VK_KHR_external_memory"
6255 #define VK_QUEUE_FAMILY_EXTERNAL_KHR VK_QUEUE_FAMILY_EXTERNAL
6256 typedef VkExternalMemoryImageCreateInfo VkExternalMemoryImageCreateInfoKHR;
6258 typedef VkExternalMemoryBufferCreateInfo VkExternalMemoryBufferCreateInfoKHR;
6260 typedef VkExportMemoryAllocateInfo VkExportMemoryAllocateInfoKHR;
6264 #define VK_KHR_external_memory_fd 1
6265 #define VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION 1
6266 #define VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME "VK_KHR_external_memory_fd"
6267 typedef struct VkImportMemoryFdInfoKHR {
6268 VkStructureType sType;
6270 VkExternalMemoryHandleTypeFlagBits handleType;
6272 } VkImportMemoryFdInfoKHR;
6274 typedef struct VkMemoryFdPropertiesKHR {
6275 VkStructureType sType;
6277 deUint32 memoryTypeBits;
6278 } VkMemoryFdPropertiesKHR;
6280 typedef struct VkMemoryGetFdInfoKHR {
6281 VkStructureType sType;
6283 VkDeviceMemory memory;
6284 VkExternalMemoryHandleTypeFlagBits handleType;
6285 } VkMemoryGetFdInfoKHR;
6287 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdKHR)(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd);
6288 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdPropertiesKHR)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties);
6290 #ifndef VK_NO_PROTOTYPES
6291 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdKHR(
6293 const VkMemoryGetFdInfoKHR* pGetFdInfo,
6296 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdPropertiesKHR(
6298 VkExternalMemoryHandleTypeFlagBits handleType,
6300 VkMemoryFdPropertiesKHR* pMemoryFdProperties);
6304 #define VK_KHR_external_semaphore_capabilities 1
6305 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION 1
6306 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_semaphore_capabilities"
6307 typedef VkExternalSemaphoreHandleTypeFlags VkExternalSemaphoreHandleTypeFlagsKHR;
6309 typedef VkExternalSemaphoreHandleTypeFlagBits VkExternalSemaphoreHandleTypeFlagBitsKHR;
6311 typedef VkExternalSemaphoreFeatureFlags VkExternalSemaphoreFeatureFlagsKHR;
6313 typedef VkExternalSemaphoreFeatureFlagBits VkExternalSemaphoreFeatureFlagBitsKHR;
6315 typedef VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfoKHR;
6317 typedef VkExternalSemaphoreProperties VkExternalSemaphorePropertiesKHR;
6319 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
6321 #ifndef VK_NO_PROTOTYPES
6322 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(
6323 VkPhysicalDevice physicalDevice,
6324 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
6325 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
6329 #define VK_KHR_external_semaphore 1
6330 #define VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION 1
6331 #define VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME "VK_KHR_external_semaphore"
6332 typedef VkSemaphoreImportFlags VkSemaphoreImportFlagsKHR;
6334 typedef VkSemaphoreImportFlagBits VkSemaphoreImportFlagBitsKHR;
6336 typedef VkExportSemaphoreCreateInfo VkExportSemaphoreCreateInfoKHR;
6340 #define VK_KHR_external_semaphore_fd 1
6341 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION 1
6342 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME "VK_KHR_external_semaphore_fd"
6343 typedef struct VkImportSemaphoreFdInfoKHR {
6344 VkStructureType sType;
6346 VkSemaphore semaphore;
6347 VkSemaphoreImportFlags flags;
6348 VkExternalSemaphoreHandleTypeFlagBits handleType;
6350 } VkImportSemaphoreFdInfoKHR;
6352 typedef struct VkSemaphoreGetFdInfoKHR {
6353 VkStructureType sType;
6355 VkSemaphore semaphore;
6356 VkExternalSemaphoreHandleTypeFlagBits handleType;
6357 } VkSemaphoreGetFdInfoKHR;
6359 typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreFdKHR)(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
6360 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreFdKHR)(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd);
6362 #ifndef VK_NO_PROTOTYPES
6363 VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreFdKHR(
6365 const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
6367 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreFdKHR(
6369 const VkSemaphoreGetFdInfoKHR* pGetFdInfo,
6374 #define VK_KHR_push_descriptor 1
6375 #define VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION 2
6376 #define VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME "VK_KHR_push_descriptor"
6377 typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
6378 VkStructureType sType;
6380 deUint32 maxPushDescriptors;
6381 } VkPhysicalDevicePushDescriptorPropertiesKHR;
6383 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetKHR)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 set, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites);
6384 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplateKHR)(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, deUint32 set, const void* pData);
6386 #ifndef VK_NO_PROTOTYPES
6387 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetKHR(
6388 VkCommandBuffer commandBuffer,
6389 VkPipelineBindPoint pipelineBindPoint,
6390 VkPipelineLayout layout,
6392 deUint32 descriptorWriteCount,
6393 const VkWriteDescriptorSet* pDescriptorWrites);
6395 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplateKHR(
6396 VkCommandBuffer commandBuffer,
6397 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
6398 VkPipelineLayout layout,
6404 #define VK_KHR_shader_float16_int8 1
6405 #define VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION 1
6406 #define VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME "VK_KHR_shader_float16_int8"
6407 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceShaderFloat16Int8FeaturesKHR;
6409 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceFloat16Int8FeaturesKHR;
6413 #define VK_KHR_16bit_storage 1
6414 #define VK_KHR_16BIT_STORAGE_SPEC_VERSION 1
6415 #define VK_KHR_16BIT_STORAGE_EXTENSION_NAME "VK_KHR_16bit_storage"
6416 typedef VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeaturesKHR;
6420 #define VK_KHR_incremental_present 1
6421 #define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 1
6422 #define VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME "VK_KHR_incremental_present"
6423 typedef struct VkRectLayerKHR {
6429 typedef struct VkPresentRegionKHR {
6430 deUint32 rectangleCount;
6431 const VkRectLayerKHR* pRectangles;
6432 } VkPresentRegionKHR;
6434 typedef struct VkPresentRegionsKHR {
6435 VkStructureType sType;
6437 deUint32 swapchainCount;
6438 const VkPresentRegionKHR* pRegions;
6439 } VkPresentRegionsKHR;
6443 #define VK_KHR_descriptor_update_template 1
6444 typedef VkDescriptorUpdateTemplate VkDescriptorUpdateTemplateKHR;
6446 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION 1
6447 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME "VK_KHR_descriptor_update_template"
6448 typedef VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateTypeKHR;
6450 typedef VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlagsKHR;
6452 typedef VkDescriptorUpdateTemplateEntry VkDescriptorUpdateTemplateEntryKHR;
6454 typedef VkDescriptorUpdateTemplateCreateInfo VkDescriptorUpdateTemplateCreateInfoKHR;
6456 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplateKHR)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
6457 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplateKHR)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
6458 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplateKHR)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
6460 #ifndef VK_NO_PROTOTYPES
6461 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplateKHR(
6463 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
6464 const VkAllocationCallbacks* pAllocator,
6465 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
6467 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplateKHR(
6469 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
6470 const VkAllocationCallbacks* pAllocator);
6472 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplateKHR(
6474 VkDescriptorSet descriptorSet,
6475 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
6480 #define VK_KHR_imageless_framebuffer 1
6481 #define VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION 1
6482 #define VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME "VK_KHR_imageless_framebuffer"
6483 typedef VkPhysicalDeviceImagelessFramebufferFeatures VkPhysicalDeviceImagelessFramebufferFeaturesKHR;
6485 typedef VkFramebufferAttachmentsCreateInfo VkFramebufferAttachmentsCreateInfoKHR;
6487 typedef VkFramebufferAttachmentImageInfo VkFramebufferAttachmentImageInfoKHR;
6489 typedef VkRenderPassAttachmentBeginInfo VkRenderPassAttachmentBeginInfoKHR;
6493 #define VK_KHR_create_renderpass2 1
6494 #define VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION 1
6495 #define VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME "VK_KHR_create_renderpass2"
6496 typedef VkRenderPassCreateInfo2 VkRenderPassCreateInfo2KHR;
6498 typedef VkAttachmentDescription2 VkAttachmentDescription2KHR;
6500 typedef VkAttachmentReference2 VkAttachmentReference2KHR;
6502 typedef VkSubpassDescription2 VkSubpassDescription2KHR;
6504 typedef VkSubpassDependency2 VkSubpassDependency2KHR;
6506 typedef VkSubpassBeginInfo VkSubpassBeginInfoKHR;
6508 typedef VkSubpassEndInfo VkSubpassEndInfoKHR;
6510 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2KHR)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
6511 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo);
6512 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo);
6513 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo);
6515 #ifndef VK_NO_PROTOTYPES
6516 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2KHR(
6518 const VkRenderPassCreateInfo2* pCreateInfo,
6519 const VkAllocationCallbacks* pAllocator,
6520 VkRenderPass* pRenderPass);
6522 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2KHR(
6523 VkCommandBuffer commandBuffer,
6524 const VkRenderPassBeginInfo* pRenderPassBegin,
6525 const VkSubpassBeginInfo* pSubpassBeginInfo);
6527 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2KHR(
6528 VkCommandBuffer commandBuffer,
6529 const VkSubpassBeginInfo* pSubpassBeginInfo,
6530 const VkSubpassEndInfo* pSubpassEndInfo);
6532 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2KHR(
6533 VkCommandBuffer commandBuffer,
6534 const VkSubpassEndInfo* pSubpassEndInfo);
6538 #define VK_KHR_shared_presentable_image 1
6539 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION 1
6540 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME "VK_KHR_shared_presentable_image"
6541 typedef struct VkSharedPresentSurfaceCapabilitiesKHR {
6542 VkStructureType sType;
6544 VkImageUsageFlags sharedPresentSupportedUsageFlags;
6545 } VkSharedPresentSurfaceCapabilitiesKHR;
6547 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainStatusKHR)(VkDevice device, VkSwapchainKHR swapchain);
6549 #ifndef VK_NO_PROTOTYPES
6550 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainStatusKHR(
6552 VkSwapchainKHR swapchain);
6556 #define VK_KHR_external_fence_capabilities 1
6557 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION 1
6558 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_fence_capabilities"
6559 typedef VkExternalFenceHandleTypeFlags VkExternalFenceHandleTypeFlagsKHR;
6561 typedef VkExternalFenceHandleTypeFlagBits VkExternalFenceHandleTypeFlagBitsKHR;
6563 typedef VkExternalFenceFeatureFlags VkExternalFenceFeatureFlagsKHR;
6565 typedef VkExternalFenceFeatureFlagBits VkExternalFenceFeatureFlagBitsKHR;
6567 typedef VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfoKHR;
6569 typedef VkExternalFenceProperties VkExternalFencePropertiesKHR;
6571 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
6573 #ifndef VK_NO_PROTOTYPES
6574 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFencePropertiesKHR(
6575 VkPhysicalDevice physicalDevice,
6576 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
6577 VkExternalFenceProperties* pExternalFenceProperties);
6581 #define VK_KHR_external_fence 1
6582 #define VK_KHR_EXTERNAL_FENCE_SPEC_VERSION 1
6583 #define VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME "VK_KHR_external_fence"
6584 typedef VkFenceImportFlags VkFenceImportFlagsKHR;
6586 typedef VkFenceImportFlagBits VkFenceImportFlagBitsKHR;
6588 typedef VkExportFenceCreateInfo VkExportFenceCreateInfoKHR;
6592 #define VK_KHR_external_fence_fd 1
6593 #define VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION 1
6594 #define VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME "VK_KHR_external_fence_fd"
6595 typedef struct VkImportFenceFdInfoKHR {
6596 VkStructureType sType;
6599 VkFenceImportFlags flags;
6600 VkExternalFenceHandleTypeFlagBits handleType;
6602 } VkImportFenceFdInfoKHR;
6604 typedef struct VkFenceGetFdInfoKHR {
6605 VkStructureType sType;
6608 VkExternalFenceHandleTypeFlagBits handleType;
6609 } VkFenceGetFdInfoKHR;
6611 typedef VkResult (VKAPI_PTR *PFN_vkImportFenceFdKHR)(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
6612 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceFdKHR)(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd);
6614 #ifndef VK_NO_PROTOTYPES
6615 VKAPI_ATTR VkResult VKAPI_CALL vkImportFenceFdKHR(
6617 const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
6619 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceFdKHR(
6621 const VkFenceGetFdInfoKHR* pGetFdInfo,
6626 #define VK_KHR_performance_query 1
6627 #define VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION 1
6628 #define VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME "VK_KHR_performance_query"
6630 typedef enum VkPerformanceCounterUnitKHR {
6631 VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR = 0,
6632 VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR = 1,
6633 VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR = 2,
6634 VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR = 3,
6635 VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR = 4,
6636 VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR = 5,
6637 VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR = 6,
6638 VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR = 7,
6639 VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR = 8,
6640 VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR = 9,
6641 VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR = 10,
6642 VK_PERFORMANCE_COUNTER_UNIT_MAX_ENUM_KHR = 0x7FFFFFFF
6643 } VkPerformanceCounterUnitKHR;
6645 typedef enum VkPerformanceCounterScopeKHR {
6646 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR = 0,
6647 VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR = 1,
6648 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR = 2,
6649 VK_QUERY_SCOPE_COMMAND_BUFFER_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR,
6650 VK_QUERY_SCOPE_RENDER_PASS_KHR = VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR,
6651 VK_QUERY_SCOPE_COMMAND_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR,
6652 VK_PERFORMANCE_COUNTER_SCOPE_MAX_ENUM_KHR = 0x7FFFFFFF
6653 } VkPerformanceCounterScopeKHR;
6655 typedef enum VkPerformanceCounterStorageKHR {
6656 VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR = 0,
6657 VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR = 1,
6658 VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR = 2,
6659 VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR = 3,
6660 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR = 4,
6661 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR = 5,
6662 VK_PERFORMANCE_COUNTER_STORAGE_MAX_ENUM_KHR = 0x7FFFFFFF
6663 } VkPerformanceCounterStorageKHR;
6665 typedef enum VkPerformanceCounterDescriptionFlagBitsKHR {
6666 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR = 0x00000001,
6667 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR = 0x00000002,
6668 VK_PERFORMANCE_COUNTER_DESCRIPTION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
6669 } VkPerformanceCounterDescriptionFlagBitsKHR;
6670 typedef VkFlags VkPerformanceCounterDescriptionFlagsKHR;
6672 typedef enum VkAcquireProfilingLockFlagBitsKHR {
6673 VK_ACQUIRE_PROFILING_LOCK_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
6674 } VkAcquireProfilingLockFlagBitsKHR;
6675 typedef VkFlags VkAcquireProfilingLockFlagsKHR;
6676 typedef struct VkPhysicalDevicePerformanceQueryFeaturesKHR {
6677 VkStructureType sType;
6679 VkBool32 performanceCounterQueryPools;
6680 VkBool32 performanceCounterMultipleQueryPools;
6681 } VkPhysicalDevicePerformanceQueryFeaturesKHR;
6683 typedef struct VkPhysicalDevicePerformanceQueryPropertiesKHR {
6684 VkStructureType sType;
6686 VkBool32 allowCommandBufferQueryCopies;
6687 } VkPhysicalDevicePerformanceQueryPropertiesKHR;
6689 typedef struct VkPerformanceCounterKHR {
6690 VkStructureType sType;
6692 VkPerformanceCounterUnitKHR unit;
6693 VkPerformanceCounterScopeKHR scope;
6694 VkPerformanceCounterStorageKHR storage;
6695 deUint8 uuid[VK_UUID_SIZE];
6696 } VkPerformanceCounterKHR;
6698 typedef struct VkPerformanceCounterDescriptionKHR {
6699 VkStructureType sType;
6701 VkPerformanceCounterDescriptionFlagsKHR flags;
6702 char name[VK_MAX_DESCRIPTION_SIZE];
6703 char category[VK_MAX_DESCRIPTION_SIZE];
6704 char description[VK_MAX_DESCRIPTION_SIZE];
6705 } VkPerformanceCounterDescriptionKHR;
6707 typedef struct VkQueryPoolPerformanceCreateInfoKHR {
6708 VkStructureType sType;
6710 deUint32 queueFamilyIndex;
6711 deUint32 counterIndexCount;
6712 const deUint32* pCounterIndices;
6713 } VkQueryPoolPerformanceCreateInfoKHR;
6715 typedef union VkPerformanceCounterResultKHR {
6722 } VkPerformanceCounterResultKHR;
6724 typedef struct VkAcquireProfilingLockInfoKHR {
6725 VkStructureType sType;
6727 VkAcquireProfilingLockFlagsKHR flags;
6729 } VkAcquireProfilingLockInfoKHR;
6731 typedef struct VkPerformanceQuerySubmitInfoKHR {
6732 VkStructureType sType;
6734 deUint32 counterPassIndex;
6735 } VkPerformanceQuerySubmitInfoKHR;
6737 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR)(VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, deUint32* pCounterCount, VkPerformanceCounterKHR* pCounters, VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
6738 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR)(VkPhysicalDevice physicalDevice, const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, deUint32* pNumPasses);
6739 typedef VkResult (VKAPI_PTR *PFN_vkAcquireProfilingLockKHR)(VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo);
6740 typedef void (VKAPI_PTR *PFN_vkReleaseProfilingLockKHR)(VkDevice device);
6742 #ifndef VK_NO_PROTOTYPES
6743 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
6744 VkPhysicalDevice physicalDevice,
6745 deUint32 queueFamilyIndex,
6746 deUint32* pCounterCount,
6747 VkPerformanceCounterKHR* pCounters,
6748 VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
6750 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
6751 VkPhysicalDevice physicalDevice,
6752 const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo,
6753 deUint32* pNumPasses);
6755 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireProfilingLockKHR(
6757 const VkAcquireProfilingLockInfoKHR* pInfo);
6759 VKAPI_ATTR void VKAPI_CALL vkReleaseProfilingLockKHR(
6764 #define VK_KHR_maintenance2 1
6765 #define VK_KHR_MAINTENANCE2_SPEC_VERSION 1
6766 #define VK_KHR_MAINTENANCE2_EXTENSION_NAME "VK_KHR_maintenance2"
6767 typedef VkPointClippingBehavior VkPointClippingBehaviorKHR;
6769 typedef VkTessellationDomainOrigin VkTessellationDomainOriginKHR;
6771 typedef VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingPropertiesKHR;
6773 typedef VkRenderPassInputAttachmentAspectCreateInfo VkRenderPassInputAttachmentAspectCreateInfoKHR;
6775 typedef VkInputAttachmentAspectReference VkInputAttachmentAspectReferenceKHR;
6777 typedef VkImageViewUsageCreateInfo VkImageViewUsageCreateInfoKHR;
6779 typedef VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfoKHR;
6783 #define VK_KHR_get_surface_capabilities2 1
6784 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION 1
6785 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME "VK_KHR_get_surface_capabilities2"
6786 typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
6787 VkStructureType sType;
6789 VkSurfaceKHR surface;
6790 } VkPhysicalDeviceSurfaceInfo2KHR;
6792 typedef struct VkSurfaceCapabilities2KHR {
6793 VkStructureType sType;
6795 VkSurfaceCapabilitiesKHR surfaceCapabilities;
6796 } VkSurfaceCapabilities2KHR;
6798 typedef struct VkSurfaceFormat2KHR {
6799 VkStructureType sType;
6801 VkSurfaceFormatKHR surfaceFormat;
6802 } VkSurfaceFormat2KHR;
6804 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
6805 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormats2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, deUint32* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats);
6807 #ifndef VK_NO_PROTOTYPES
6808 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2KHR(
6809 VkPhysicalDevice physicalDevice,
6810 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
6811 VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
6813 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormats2KHR(
6814 VkPhysicalDevice physicalDevice,
6815 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
6816 deUint32* pSurfaceFormatCount,
6817 VkSurfaceFormat2KHR* pSurfaceFormats);
6821 #define VK_KHR_variable_pointers 1
6822 #define VK_KHR_VARIABLE_POINTERS_SPEC_VERSION 1
6823 #define VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME "VK_KHR_variable_pointers"
6824 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeaturesKHR;
6826 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointersFeaturesKHR;
6830 #define VK_KHR_get_display_properties2 1
6831 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION 1
6832 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_display_properties2"
6833 typedef struct VkDisplayProperties2KHR {
6834 VkStructureType sType;
6836 VkDisplayPropertiesKHR displayProperties;
6837 } VkDisplayProperties2KHR;
6839 typedef struct VkDisplayPlaneProperties2KHR {
6840 VkStructureType sType;
6842 VkDisplayPlanePropertiesKHR displayPlaneProperties;
6843 } VkDisplayPlaneProperties2KHR;
6845 typedef struct VkDisplayModeProperties2KHR {
6846 VkStructureType sType;
6848 VkDisplayModePropertiesKHR displayModeProperties;
6849 } VkDisplayModeProperties2KHR;
6851 typedef struct VkDisplayPlaneInfo2KHR {
6852 VkStructureType sType;
6854 VkDisplayModeKHR mode;
6855 deUint32 planeIndex;
6856 } VkDisplayPlaneInfo2KHR;
6858 typedef struct VkDisplayPlaneCapabilities2KHR {
6859 VkStructureType sType;
6861 VkDisplayPlaneCapabilitiesKHR capabilities;
6862 } VkDisplayPlaneCapabilities2KHR;
6864 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayProperties2KHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayProperties2KHR* pProperties);
6865 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPlaneProperties2KHR* pProperties);
6866 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModeProperties2KHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, deUint32* pPropertyCount, VkDisplayModeProperties2KHR* pProperties);
6867 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, VkDisplayPlaneCapabilities2KHR* pCapabilities);
6869 #ifndef VK_NO_PROTOTYPES
6870 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayProperties2KHR(
6871 VkPhysicalDevice physicalDevice,
6872 deUint32* pPropertyCount,
6873 VkDisplayProperties2KHR* pProperties);
6875 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlaneProperties2KHR(
6876 VkPhysicalDevice physicalDevice,
6877 deUint32* pPropertyCount,
6878 VkDisplayPlaneProperties2KHR* pProperties);
6880 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModeProperties2KHR(
6881 VkPhysicalDevice physicalDevice,
6882 VkDisplayKHR display,
6883 deUint32* pPropertyCount,
6884 VkDisplayModeProperties2KHR* pProperties);
6886 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilities2KHR(
6887 VkPhysicalDevice physicalDevice,
6888 const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo,
6889 VkDisplayPlaneCapabilities2KHR* pCapabilities);
6893 #define VK_KHR_dedicated_allocation 1
6894 #define VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION 3
6895 #define VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_KHR_dedicated_allocation"
6896 typedef VkMemoryDedicatedRequirements VkMemoryDedicatedRequirementsKHR;
6898 typedef VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfoKHR;
6902 #define VK_KHR_storage_buffer_storage_class 1
6903 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION 1
6904 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME "VK_KHR_storage_buffer_storage_class"
6907 #define VK_KHR_relaxed_block_layout 1
6908 #define VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION 1
6909 #define VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME "VK_KHR_relaxed_block_layout"
6912 #define VK_KHR_get_memory_requirements2 1
6913 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION 1
6914 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME "VK_KHR_get_memory_requirements2"
6915 typedef VkBufferMemoryRequirementsInfo2 VkBufferMemoryRequirementsInfo2KHR;
6917 typedef VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2KHR;
6919 typedef VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2KHR;
6921 typedef VkMemoryRequirements2 VkMemoryRequirements2KHR;
6923 typedef VkSparseImageMemoryRequirements2 VkSparseImageMemoryRequirements2KHR;
6925 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2KHR)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
6926 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2KHR)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
6927 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2KHR)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
6929 #ifndef VK_NO_PROTOTYPES
6930 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2KHR(
6932 const VkImageMemoryRequirementsInfo2* pInfo,
6933 VkMemoryRequirements2* pMemoryRequirements);
6935 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2KHR(
6937 const VkBufferMemoryRequirementsInfo2* pInfo,
6938 VkMemoryRequirements2* pMemoryRequirements);
6940 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2KHR(
6942 const VkImageSparseMemoryRequirementsInfo2* pInfo,
6943 deUint32* pSparseMemoryRequirementCount,
6944 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
6948 #define VK_KHR_image_format_list 1
6949 #define VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION 1
6950 #define VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME "VK_KHR_image_format_list"
6951 typedef VkImageFormatListCreateInfo VkImageFormatListCreateInfoKHR;
6955 #define VK_KHR_sampler_ycbcr_conversion 1
6956 typedef VkSamplerYcbcrConversion VkSamplerYcbcrConversionKHR;
6958 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION 14
6959 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME "VK_KHR_sampler_ycbcr_conversion"
6960 typedef VkSamplerYcbcrModelConversion VkSamplerYcbcrModelConversionKHR;
6962 typedef VkSamplerYcbcrRange VkSamplerYcbcrRangeKHR;
6964 typedef VkChromaLocation VkChromaLocationKHR;
6966 typedef VkSamplerYcbcrConversionCreateInfo VkSamplerYcbcrConversionCreateInfoKHR;
6968 typedef VkSamplerYcbcrConversionInfo VkSamplerYcbcrConversionInfoKHR;
6970 typedef VkBindImagePlaneMemoryInfo VkBindImagePlaneMemoryInfoKHR;
6972 typedef VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfoKHR;
6974 typedef VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR;
6976 typedef VkSamplerYcbcrConversionImageFormatProperties VkSamplerYcbcrConversionImageFormatPropertiesKHR;
6978 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversionKHR)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
6979 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversionKHR)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
6981 #ifndef VK_NO_PROTOTYPES
6982 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversionKHR(
6984 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
6985 const VkAllocationCallbacks* pAllocator,
6986 VkSamplerYcbcrConversion* pYcbcrConversion);
6988 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversionKHR(
6990 VkSamplerYcbcrConversion ycbcrConversion,
6991 const VkAllocationCallbacks* pAllocator);
6995 #define VK_KHR_bind_memory2 1
6996 #define VK_KHR_BIND_MEMORY_2_SPEC_VERSION 1
6997 #define VK_KHR_BIND_MEMORY_2_EXTENSION_NAME "VK_KHR_bind_memory2"
6998 typedef VkBindBufferMemoryInfo VkBindBufferMemoryInfoKHR;
7000 typedef VkBindImageMemoryInfo VkBindImageMemoryInfoKHR;
7002 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2KHR)(VkDevice device, deUint32 bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
7003 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2KHR)(VkDevice device, deUint32 bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
7005 #ifndef VK_NO_PROTOTYPES
7006 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2KHR(
7008 deUint32 bindInfoCount,
7009 const VkBindBufferMemoryInfo* pBindInfos);
7011 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2KHR(
7013 deUint32 bindInfoCount,
7014 const VkBindImageMemoryInfo* pBindInfos);
7018 #define VK_KHR_maintenance3 1
7019 #define VK_KHR_MAINTENANCE3_SPEC_VERSION 1
7020 #define VK_KHR_MAINTENANCE3_EXTENSION_NAME "VK_KHR_maintenance3"
7021 typedef VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3PropertiesKHR;
7023 typedef VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupportKHR;
7025 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupportKHR)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
7027 #ifndef VK_NO_PROTOTYPES
7028 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupportKHR(
7030 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
7031 VkDescriptorSetLayoutSupport* pSupport);
7035 #define VK_KHR_draw_indirect_count 1
7036 #define VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION 1
7037 #define VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_KHR_draw_indirect_count"
7038 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
7039 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
7041 #ifndef VK_NO_PROTOTYPES
7042 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountKHR(
7043 VkCommandBuffer commandBuffer,
7045 VkDeviceSize offset,
7046 VkBuffer countBuffer,
7047 VkDeviceSize countBufferOffset,
7048 deUint32 maxDrawCount,
7051 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountKHR(
7052 VkCommandBuffer commandBuffer,
7054 VkDeviceSize offset,
7055 VkBuffer countBuffer,
7056 VkDeviceSize countBufferOffset,
7057 deUint32 maxDrawCount,
7062 #define VK_KHR_shader_subgroup_extended_types 1
7063 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION 1
7064 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME "VK_KHR_shader_subgroup_extended_types"
7065 typedef VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR;
7069 #define VK_KHR_8bit_storage 1
7070 #define VK_KHR_8BIT_STORAGE_SPEC_VERSION 1
7071 #define VK_KHR_8BIT_STORAGE_EXTENSION_NAME "VK_KHR_8bit_storage"
7072 typedef VkPhysicalDevice8BitStorageFeatures VkPhysicalDevice8BitStorageFeaturesKHR;
7076 #define VK_KHR_shader_atomic_int64 1
7077 #define VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION 1
7078 #define VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME "VK_KHR_shader_atomic_int64"
7079 typedef VkPhysicalDeviceShaderAtomicInt64Features VkPhysicalDeviceShaderAtomicInt64FeaturesKHR;
7083 #define VK_KHR_shader_clock 1
7084 #define VK_KHR_SHADER_CLOCK_SPEC_VERSION 1
7085 #define VK_KHR_SHADER_CLOCK_EXTENSION_NAME "VK_KHR_shader_clock"
7086 typedef struct VkPhysicalDeviceShaderClockFeaturesKHR {
7087 VkStructureType sType;
7089 VkBool32 shaderSubgroupClock;
7090 VkBool32 shaderDeviceClock;
7091 } VkPhysicalDeviceShaderClockFeaturesKHR;
7095 #define VK_KHR_driver_properties 1
7096 #define VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION 1
7097 #define VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME "VK_KHR_driver_properties"
7098 #define VK_MAX_DRIVER_NAME_SIZE_KHR VK_MAX_DRIVER_NAME_SIZE
7099 #define VK_MAX_DRIVER_INFO_SIZE_KHR VK_MAX_DRIVER_INFO_SIZE
7100 typedef VkDriverId VkDriverIdKHR;
7102 typedef VkConformanceVersion VkConformanceVersionKHR;
7104 typedef VkPhysicalDeviceDriverProperties VkPhysicalDeviceDriverPropertiesKHR;
7108 #define VK_KHR_shader_float_controls 1
7109 #define VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION 4
7110 #define VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME "VK_KHR_shader_float_controls"
7111 typedef VkShaderFloatControlsIndependence VkShaderFloatControlsIndependenceKHR;
7113 typedef VkPhysicalDeviceFloatControlsProperties VkPhysicalDeviceFloatControlsPropertiesKHR;
7117 #define VK_KHR_depth_stencil_resolve 1
7118 #define VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION 1
7119 #define VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME "VK_KHR_depth_stencil_resolve"
7120 typedef VkResolveModeFlagBits VkResolveModeFlagBitsKHR;
7122 typedef VkResolveModeFlags VkResolveModeFlagsKHR;
7124 typedef VkSubpassDescriptionDepthStencilResolve VkSubpassDescriptionDepthStencilResolveKHR;
7126 typedef VkPhysicalDeviceDepthStencilResolveProperties VkPhysicalDeviceDepthStencilResolvePropertiesKHR;
7130 #define VK_KHR_swapchain_mutable_format 1
7131 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION 1
7132 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME "VK_KHR_swapchain_mutable_format"
7135 #define VK_KHR_timeline_semaphore 1
7136 #define VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION 2
7137 #define VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME "VK_KHR_timeline_semaphore"
7138 typedef VkSemaphoreType VkSemaphoreTypeKHR;
7140 typedef VkSemaphoreWaitFlagBits VkSemaphoreWaitFlagBitsKHR;
7142 typedef VkSemaphoreWaitFlags VkSemaphoreWaitFlagsKHR;
7144 typedef VkPhysicalDeviceTimelineSemaphoreFeatures VkPhysicalDeviceTimelineSemaphoreFeaturesKHR;
7146 typedef VkPhysicalDeviceTimelineSemaphoreProperties VkPhysicalDeviceTimelineSemaphorePropertiesKHR;
7148 typedef VkSemaphoreTypeCreateInfo VkSemaphoreTypeCreateInfoKHR;
7150 typedef VkTimelineSemaphoreSubmitInfo VkTimelineSemaphoreSubmitInfoKHR;
7152 typedef VkSemaphoreWaitInfo VkSemaphoreWaitInfoKHR;
7154 typedef VkSemaphoreSignalInfo VkSemaphoreSignalInfoKHR;
7156 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValueKHR)(VkDevice device, VkSemaphore semaphore, deUint64* pValue);
7157 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphoresKHR)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, deUint64 timeout);
7158 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphoreKHR)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo);
7160 #ifndef VK_NO_PROTOTYPES
7161 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValueKHR(
7163 VkSemaphore semaphore,
7166 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphoresKHR(
7168 const VkSemaphoreWaitInfo* pWaitInfo,
7171 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphoreKHR(
7173 const VkSemaphoreSignalInfo* pSignalInfo);
7177 #define VK_KHR_vulkan_memory_model 1
7178 #define VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION 3
7179 #define VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME "VK_KHR_vulkan_memory_model"
7180 typedef VkPhysicalDeviceVulkanMemoryModelFeatures VkPhysicalDeviceVulkanMemoryModelFeaturesKHR;
7184 #define VK_KHR_spirv_1_4 1
7185 #define VK_KHR_SPIRV_1_4_SPEC_VERSION 1
7186 #define VK_KHR_SPIRV_1_4_EXTENSION_NAME "VK_KHR_spirv_1_4"
7189 #define VK_KHR_surface_protected_capabilities 1
7190 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION 1
7191 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME "VK_KHR_surface_protected_capabilities"
7192 typedef struct VkSurfaceProtectedCapabilitiesKHR {
7193 VkStructureType sType;
7195 VkBool32 supportsProtected;
7196 } VkSurfaceProtectedCapabilitiesKHR;
7200 #define VK_KHR_separate_depth_stencil_layouts 1
7201 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION 1
7202 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME "VK_KHR_separate_depth_stencil_layouts"
7203 typedef VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR;
7205 typedef VkAttachmentReferenceStencilLayout VkAttachmentReferenceStencilLayoutKHR;
7207 typedef VkAttachmentDescriptionStencilLayout VkAttachmentDescriptionStencilLayoutKHR;
7211 #define VK_KHR_uniform_buffer_standard_layout 1
7212 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION 1
7213 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME "VK_KHR_uniform_buffer_standard_layout"
7214 typedef VkPhysicalDeviceUniformBufferStandardLayoutFeatures VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR;
7218 #define VK_KHR_buffer_device_address 1
7219 #define VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 1
7220 #define VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_KHR_buffer_device_address"
7221 typedef VkPhysicalDeviceBufferDeviceAddressFeatures VkPhysicalDeviceBufferDeviceAddressFeaturesKHR;
7223 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoKHR;
7225 typedef VkBufferOpaqueCaptureAddressCreateInfo VkBufferOpaqueCaptureAddressCreateInfoKHR;
7227 typedef VkMemoryOpaqueCaptureAddressAllocateInfo VkMemoryOpaqueCaptureAddressAllocateInfoKHR;
7229 typedef VkDeviceMemoryOpaqueCaptureAddressInfo VkDeviceMemoryOpaqueCaptureAddressInfoKHR;
7231 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
7232 typedef deUint64 (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
7233 typedef deUint64 (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
7235 #ifndef VK_NO_PROTOTYPES
7236 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressKHR(
7238 const VkBufferDeviceAddressInfo* pInfo);
7240 VKAPI_ATTR deUint64 VKAPI_CALL vkGetBufferOpaqueCaptureAddressKHR(
7242 const VkBufferDeviceAddressInfo* pInfo);
7244 VKAPI_ATTR deUint64 VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddressKHR(
7246 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
7250 #define VK_KHR_pipeline_executable_properties 1
7251 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION 1
7252 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME "VK_KHR_pipeline_executable_properties"
7254 typedef enum VkPipelineExecutableStatisticFormatKHR {
7255 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR = 0,
7256 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR = 1,
7257 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR = 2,
7258 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR = 3,
7259 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_MAX_ENUM_KHR = 0x7FFFFFFF
7260 } VkPipelineExecutableStatisticFormatKHR;
7261 typedef struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
7262 VkStructureType sType;
7264 VkBool32 pipelineExecutableInfo;
7265 } VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR;
7267 typedef struct VkPipelineInfoKHR {
7268 VkStructureType sType;
7270 VkPipeline pipeline;
7271 } VkPipelineInfoKHR;
7273 typedef struct VkPipelineExecutablePropertiesKHR {
7274 VkStructureType sType;
7276 VkShaderStageFlags stages;
7277 char name[VK_MAX_DESCRIPTION_SIZE];
7278 char description[VK_MAX_DESCRIPTION_SIZE];
7279 deUint32 subgroupSize;
7280 } VkPipelineExecutablePropertiesKHR;
7282 typedef struct VkPipelineExecutableInfoKHR {
7283 VkStructureType sType;
7285 VkPipeline pipeline;
7286 deUint32 executableIndex;
7287 } VkPipelineExecutableInfoKHR;
7289 typedef union VkPipelineExecutableStatisticValueKHR {
7294 } VkPipelineExecutableStatisticValueKHR;
7296 typedef struct VkPipelineExecutableStatisticKHR {
7297 VkStructureType sType;
7299 char name[VK_MAX_DESCRIPTION_SIZE];
7300 char description[VK_MAX_DESCRIPTION_SIZE];
7301 VkPipelineExecutableStatisticFormatKHR format;
7302 VkPipelineExecutableStatisticValueKHR value;
7303 } VkPipelineExecutableStatisticKHR;
7305 typedef struct VkPipelineExecutableInternalRepresentationKHR {
7306 VkStructureType sType;
7308 char name[VK_MAX_DESCRIPTION_SIZE];
7309 char description[VK_MAX_DESCRIPTION_SIZE];
7313 } VkPipelineExecutableInternalRepresentationKHR;
7315 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutablePropertiesKHR)(VkDevice device, const VkPipelineInfoKHR* pPipelineInfo, deUint32* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties);
7316 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableStatisticsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, deUint32* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics);
7317 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableInternalRepresentationsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, deUint32* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
7319 #ifndef VK_NO_PROTOTYPES
7320 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutablePropertiesKHR(
7322 const VkPipelineInfoKHR* pPipelineInfo,
7323 deUint32* pExecutableCount,
7324 VkPipelineExecutablePropertiesKHR* pProperties);
7326 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableStatisticsKHR(
7328 const VkPipelineExecutableInfoKHR* pExecutableInfo,
7329 deUint32* pStatisticCount,
7330 VkPipelineExecutableStatisticKHR* pStatistics);
7332 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableInternalRepresentationsKHR(
7334 const VkPipelineExecutableInfoKHR* pExecutableInfo,
7335 deUint32* pInternalRepresentationCount,
7336 VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
7340 #define VK_KHR_shader_non_semantic_info 1
7341 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION 1
7342 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME "VK_KHR_shader_non_semantic_info"
7345 #define VK_EXT_debug_report 1
7346 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT)
7347 #define VK_EXT_DEBUG_REPORT_SPEC_VERSION 9
7348 #define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report"
7350 typedef enum VkDebugReportObjectTypeEXT {
7351 VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT = 0,
7352 VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT = 1,
7353 VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT = 2,
7354 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT = 3,
7355 VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT = 4,
7356 VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT = 5,
7357 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT = 6,
7358 VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT = 7,
7359 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT = 8,
7360 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT = 9,
7361 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT = 10,
7362 VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT = 11,
7363 VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT = 12,
7364 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT = 13,
7365 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT = 14,
7366 VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT = 15,
7367 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT = 16,
7368 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT = 17,
7369 VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT = 18,
7370 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT = 19,
7371 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT = 20,
7372 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT = 21,
7373 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT = 22,
7374 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT = 23,
7375 VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT = 24,
7376 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT = 25,
7377 VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = 26,
7378 VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = 27,
7379 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT = 28,
7380 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT = 29,
7381 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = 30,
7382 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT = 33,
7383 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT = 1000156000,
7384 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT = 1000085000,
7385 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT = 1000165000,
7386 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT,
7387 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT,
7388 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT,
7389 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT,
7390 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT,
7391 VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
7392 } VkDebugReportObjectTypeEXT;
7394 typedef enum VkDebugReportFlagBitsEXT {
7395 VK_DEBUG_REPORT_INFORMATION_BIT_EXT = 0x00000001,
7396 VK_DEBUG_REPORT_WARNING_BIT_EXT = 0x00000002,
7397 VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = 0x00000004,
7398 VK_DEBUG_REPORT_ERROR_BIT_EXT = 0x00000008,
7399 VK_DEBUG_REPORT_DEBUG_BIT_EXT = 0x00000010,
7400 VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
7401 } VkDebugReportFlagBitsEXT;
7402 typedef VkFlags VkDebugReportFlagsEXT;
7403 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugReportCallbackEXT)(
7404 VkDebugReportFlagsEXT flags,
7405 VkDebugReportObjectTypeEXT objectType,
7408 deInt32 messageCode,
7409 const char* pLayerPrefix,
7410 const char* pMessage,
7413 typedef struct VkDebugReportCallbackCreateInfoEXT {
7414 VkStructureType sType;
7416 VkDebugReportFlagsEXT flags;
7417 PFN_vkDebugReportCallbackEXT pfnCallback;
7419 } VkDebugReportCallbackCreateInfoEXT;
7421 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugReportCallbackEXT)(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback);
7422 typedef void (VKAPI_PTR *PFN_vkDestroyDebugReportCallbackEXT)(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator);
7423 typedef void (VKAPI_PTR *PFN_vkDebugReportMessageEXT)(VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, deUint64 object, deUintptr location, deInt32 messageCode, const char* pLayerPrefix, const char* pMessage);
7425 #ifndef VK_NO_PROTOTYPES
7426 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugReportCallbackEXT(
7427 VkInstance instance,
7428 const VkDebugReportCallbackCreateInfoEXT* pCreateInfo,
7429 const VkAllocationCallbacks* pAllocator,
7430 VkDebugReportCallbackEXT* pCallback);
7432 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugReportCallbackEXT(
7433 VkInstance instance,
7434 VkDebugReportCallbackEXT callback,
7435 const VkAllocationCallbacks* pAllocator);
7437 VKAPI_ATTR void VKAPI_CALL vkDebugReportMessageEXT(
7438 VkInstance instance,
7439 VkDebugReportFlagsEXT flags,
7440 VkDebugReportObjectTypeEXT objectType,
7443 deInt32 messageCode,
7444 const char* pLayerPrefix,
7445 const char* pMessage);
7449 #define VK_NV_glsl_shader 1
7450 #define VK_NV_GLSL_SHADER_SPEC_VERSION 1
7451 #define VK_NV_GLSL_SHADER_EXTENSION_NAME "VK_NV_glsl_shader"
7454 #define VK_EXT_depth_range_unrestricted 1
7455 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION 1
7456 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME "VK_EXT_depth_range_unrestricted"
7459 #define VK_IMG_filter_cubic 1
7460 #define VK_IMG_FILTER_CUBIC_SPEC_VERSION 1
7461 #define VK_IMG_FILTER_CUBIC_EXTENSION_NAME "VK_IMG_filter_cubic"
7464 #define VK_AMD_rasterization_order 1
7465 #define VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION 1
7466 #define VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME "VK_AMD_rasterization_order"
7468 typedef enum VkRasterizationOrderAMD {
7469 VK_RASTERIZATION_ORDER_STRICT_AMD = 0,
7470 VK_RASTERIZATION_ORDER_RELAXED_AMD = 1,
7471 VK_RASTERIZATION_ORDER_MAX_ENUM_AMD = 0x7FFFFFFF
7472 } VkRasterizationOrderAMD;
7473 typedef struct VkPipelineRasterizationStateRasterizationOrderAMD {
7474 VkStructureType sType;
7476 VkRasterizationOrderAMD rasterizationOrder;
7477 } VkPipelineRasterizationStateRasterizationOrderAMD;
7481 #define VK_AMD_shader_trinary_minmax 1
7482 #define VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION 1
7483 #define VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME "VK_AMD_shader_trinary_minmax"
7486 #define VK_AMD_shader_explicit_vertex_parameter 1
7487 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION 1
7488 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME "VK_AMD_shader_explicit_vertex_parameter"
7491 #define VK_EXT_debug_marker 1
7492 #define VK_EXT_DEBUG_MARKER_SPEC_VERSION 4
7493 #define VK_EXT_DEBUG_MARKER_EXTENSION_NAME "VK_EXT_debug_marker"
7494 typedef struct VkDebugMarkerObjectNameInfoEXT {
7495 VkStructureType sType;
7497 VkDebugReportObjectTypeEXT objectType;
7499 const char* pObjectName;
7500 } VkDebugMarkerObjectNameInfoEXT;
7502 typedef struct VkDebugMarkerObjectTagInfoEXT {
7503 VkStructureType sType;
7505 VkDebugReportObjectTypeEXT objectType;
7510 } VkDebugMarkerObjectTagInfoEXT;
7512 typedef struct VkDebugMarkerMarkerInfoEXT {
7513 VkStructureType sType;
7515 const char* pMarkerName;
7517 } VkDebugMarkerMarkerInfoEXT;
7519 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectTagEXT)(VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
7520 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectNameEXT)(VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
7521 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerBeginEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
7522 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerEndEXT)(VkCommandBuffer commandBuffer);
7523 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerInsertEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
7525 #ifndef VK_NO_PROTOTYPES
7526 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectTagEXT(
7528 const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
7530 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectNameEXT(
7532 const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
7534 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerBeginEXT(
7535 VkCommandBuffer commandBuffer,
7536 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
7538 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerEndEXT(
7539 VkCommandBuffer commandBuffer);
7541 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerInsertEXT(
7542 VkCommandBuffer commandBuffer,
7543 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
7547 #define VK_AMD_gcn_shader 1
7548 #define VK_AMD_GCN_SHADER_SPEC_VERSION 1
7549 #define VK_AMD_GCN_SHADER_EXTENSION_NAME "VK_AMD_gcn_shader"
7552 #define VK_NV_dedicated_allocation 1
7553 #define VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION 1
7554 #define VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_NV_dedicated_allocation"
7555 typedef struct VkDedicatedAllocationImageCreateInfoNV {
7556 VkStructureType sType;
7558 VkBool32 dedicatedAllocation;
7559 } VkDedicatedAllocationImageCreateInfoNV;
7561 typedef struct VkDedicatedAllocationBufferCreateInfoNV {
7562 VkStructureType sType;
7564 VkBool32 dedicatedAllocation;
7565 } VkDedicatedAllocationBufferCreateInfoNV;
7567 typedef struct VkDedicatedAllocationMemoryAllocateInfoNV {
7568 VkStructureType sType;
7572 } VkDedicatedAllocationMemoryAllocateInfoNV;
7576 #define VK_EXT_transform_feedback 1
7577 #define VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION 1
7578 #define VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME "VK_EXT_transform_feedback"
7579 typedef VkFlags VkPipelineRasterizationStateStreamCreateFlagsEXT;
7580 typedef struct VkPhysicalDeviceTransformFeedbackFeaturesEXT {
7581 VkStructureType sType;
7583 VkBool32 transformFeedback;
7584 VkBool32 geometryStreams;
7585 } VkPhysicalDeviceTransformFeedbackFeaturesEXT;
7587 typedef struct VkPhysicalDeviceTransformFeedbackPropertiesEXT {
7588 VkStructureType sType;
7590 deUint32 maxTransformFeedbackStreams;
7591 deUint32 maxTransformFeedbackBuffers;
7592 VkDeviceSize maxTransformFeedbackBufferSize;
7593 deUint32 maxTransformFeedbackStreamDataSize;
7594 deUint32 maxTransformFeedbackBufferDataSize;
7595 deUint32 maxTransformFeedbackBufferDataStride;
7596 VkBool32 transformFeedbackQueries;
7597 VkBool32 transformFeedbackStreamsLinesTriangles;
7598 VkBool32 transformFeedbackRasterizationStreamSelect;
7599 VkBool32 transformFeedbackDraw;
7600 } VkPhysicalDeviceTransformFeedbackPropertiesEXT;
7602 typedef struct VkPipelineRasterizationStateStreamCreateInfoEXT {
7603 VkStructureType sType;
7605 VkPipelineRasterizationStateStreamCreateFlagsEXT flags;
7606 deUint32 rasterizationStream;
7607 } VkPipelineRasterizationStateStreamCreateInfoEXT;
7609 typedef void (VKAPI_PTR *PFN_vkCmdBindTransformFeedbackBuffersEXT)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes);
7610 typedef void (VKAPI_PTR *PFN_vkCmdBeginTransformFeedbackEXT)(VkCommandBuffer commandBuffer, deUint32 firstCounterBuffer, deUint32 counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
7611 typedef void (VKAPI_PTR *PFN_vkCmdEndTransformFeedbackEXT)(VkCommandBuffer commandBuffer, deUint32 firstCounterBuffer, deUint32 counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
7612 typedef void (VKAPI_PTR *PFN_vkCmdBeginQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, VkQueryControlFlags flags, deUint32 index);
7613 typedef void (VKAPI_PTR *PFN_vkCmdEndQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, deUint32 index);
7614 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectByteCountEXT)(VkCommandBuffer commandBuffer, deUint32 instanceCount, deUint32 firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, deUint32 counterOffset, deUint32 vertexStride);
7616 #ifndef VK_NO_PROTOTYPES
7617 VKAPI_ATTR void VKAPI_CALL vkCmdBindTransformFeedbackBuffersEXT(
7618 VkCommandBuffer commandBuffer,
7619 deUint32 firstBinding,
7620 deUint32 bindingCount,
7621 const VkBuffer* pBuffers,
7622 const VkDeviceSize* pOffsets,
7623 const VkDeviceSize* pSizes);
7625 VKAPI_ATTR void VKAPI_CALL vkCmdBeginTransformFeedbackEXT(
7626 VkCommandBuffer commandBuffer,
7627 deUint32 firstCounterBuffer,
7628 deUint32 counterBufferCount,
7629 const VkBuffer* pCounterBuffers,
7630 const VkDeviceSize* pCounterBufferOffsets);
7632 VKAPI_ATTR void VKAPI_CALL vkCmdEndTransformFeedbackEXT(
7633 VkCommandBuffer commandBuffer,
7634 deUint32 firstCounterBuffer,
7635 deUint32 counterBufferCount,
7636 const VkBuffer* pCounterBuffers,
7637 const VkDeviceSize* pCounterBufferOffsets);
7639 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQueryIndexedEXT(
7640 VkCommandBuffer commandBuffer,
7641 VkQueryPool queryPool,
7643 VkQueryControlFlags flags,
7646 VKAPI_ATTR void VKAPI_CALL vkCmdEndQueryIndexedEXT(
7647 VkCommandBuffer commandBuffer,
7648 VkQueryPool queryPool,
7652 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectByteCountEXT(
7653 VkCommandBuffer commandBuffer,
7654 deUint32 instanceCount,
7655 deUint32 firstInstance,
7656 VkBuffer counterBuffer,
7657 VkDeviceSize counterBufferOffset,
7658 deUint32 counterOffset,
7659 deUint32 vertexStride);
7663 #define VK_NVX_image_view_handle 1
7664 #define VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION 2
7665 #define VK_NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME "VK_NVX_image_view_handle"
7666 typedef struct VkImageViewHandleInfoNVX {
7667 VkStructureType sType;
7669 VkImageView imageView;
7670 VkDescriptorType descriptorType;
7672 } VkImageViewHandleInfoNVX;
7674 typedef struct VkImageViewAddressPropertiesNVX {
7675 VkStructureType sType;
7677 VkDeviceAddress deviceAddress;
7679 } VkImageViewAddressPropertiesNVX;
7681 typedef deUint32 (VKAPI_PTR *PFN_vkGetImageViewHandleNVX)(VkDevice device, const VkImageViewHandleInfoNVX* pInfo);
7682 typedef VkResult (VKAPI_PTR *PFN_vkGetImageViewAddressNVX)(VkDevice device, VkImageView imageView, VkImageViewAddressPropertiesNVX* pProperties);
7684 #ifndef VK_NO_PROTOTYPES
7685 VKAPI_ATTR deUint32 VKAPI_CALL vkGetImageViewHandleNVX(
7687 const VkImageViewHandleInfoNVX* pInfo);
7689 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageViewAddressNVX(
7691 VkImageView imageView,
7692 VkImageViewAddressPropertiesNVX* pProperties);
7696 #define VK_AMD_draw_indirect_count 1
7697 #define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 2
7698 #define VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_AMD_draw_indirect_count"
7699 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
7700 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
7702 #ifndef VK_NO_PROTOTYPES
7703 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountAMD(
7704 VkCommandBuffer commandBuffer,
7706 VkDeviceSize offset,
7707 VkBuffer countBuffer,
7708 VkDeviceSize countBufferOffset,
7709 deUint32 maxDrawCount,
7712 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountAMD(
7713 VkCommandBuffer commandBuffer,
7715 VkDeviceSize offset,
7716 VkBuffer countBuffer,
7717 VkDeviceSize countBufferOffset,
7718 deUint32 maxDrawCount,
7723 #define VK_AMD_negative_viewport_height 1
7724 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION 1
7725 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME "VK_AMD_negative_viewport_height"
7728 #define VK_AMD_gpu_shader_half_float 1
7729 #define VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION 2
7730 #define VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME "VK_AMD_gpu_shader_half_float"
7733 #define VK_AMD_shader_ballot 1
7734 #define VK_AMD_SHADER_BALLOT_SPEC_VERSION 1
7735 #define VK_AMD_SHADER_BALLOT_EXTENSION_NAME "VK_AMD_shader_ballot"
7738 #define VK_AMD_texture_gather_bias_lod 1
7739 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION 1
7740 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME "VK_AMD_texture_gather_bias_lod"
7741 typedef struct VkTextureLODGatherFormatPropertiesAMD {
7742 VkStructureType sType;
7744 VkBool32 supportsTextureGatherLODBiasAMD;
7745 } VkTextureLODGatherFormatPropertiesAMD;
7749 #define VK_AMD_shader_info 1
7750 #define VK_AMD_SHADER_INFO_SPEC_VERSION 1
7751 #define VK_AMD_SHADER_INFO_EXTENSION_NAME "VK_AMD_shader_info"
7753 typedef enum VkShaderInfoTypeAMD {
7754 VK_SHADER_INFO_TYPE_STATISTICS_AMD = 0,
7755 VK_SHADER_INFO_TYPE_BINARY_AMD = 1,
7756 VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD = 2,
7757 VK_SHADER_INFO_TYPE_MAX_ENUM_AMD = 0x7FFFFFFF
7758 } VkShaderInfoTypeAMD;
7759 typedef struct VkShaderResourceUsageAMD {
7760 deUint32 numUsedVgprs;
7761 deUint32 numUsedSgprs;
7762 deUint32 ldsSizePerLocalWorkGroup;
7763 deUintptr ldsUsageSizeInBytes;
7764 deUintptr scratchMemUsageInBytes;
7765 } VkShaderResourceUsageAMD;
7767 typedef struct VkShaderStatisticsInfoAMD {
7768 VkShaderStageFlags shaderStageMask;
7769 VkShaderResourceUsageAMD resourceUsage;
7770 deUint32 numPhysicalVgprs;
7771 deUint32 numPhysicalSgprs;
7772 deUint32 numAvailableVgprs;
7773 deUint32 numAvailableSgprs;
7774 deUint32 computeWorkGroupSize[3];
7775 } VkShaderStatisticsInfoAMD;
7777 typedef VkResult (VKAPI_PTR *PFN_vkGetShaderInfoAMD)(VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, deUintptr* pInfoSize, void* pInfo);
7779 #ifndef VK_NO_PROTOTYPES
7780 VKAPI_ATTR VkResult VKAPI_CALL vkGetShaderInfoAMD(
7782 VkPipeline pipeline,
7783 VkShaderStageFlagBits shaderStage,
7784 VkShaderInfoTypeAMD infoType,
7785 deUintptr* pInfoSize,
7790 #define VK_AMD_shader_image_load_store_lod 1
7791 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION 1
7792 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME "VK_AMD_shader_image_load_store_lod"
7795 #define VK_NV_corner_sampled_image 1
7796 #define VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION 2
7797 #define VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME "VK_NV_corner_sampled_image"
7798 typedef struct VkPhysicalDeviceCornerSampledImageFeaturesNV {
7799 VkStructureType sType;
7801 VkBool32 cornerSampledImage;
7802 } VkPhysicalDeviceCornerSampledImageFeaturesNV;
7806 #define VK_IMG_format_pvrtc 1
7807 #define VK_IMG_FORMAT_PVRTC_SPEC_VERSION 1
7808 #define VK_IMG_FORMAT_PVRTC_EXTENSION_NAME "VK_IMG_format_pvrtc"
7811 #define VK_NV_external_memory_capabilities 1
7812 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
7813 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_NV_external_memory_capabilities"
7815 typedef enum VkExternalMemoryHandleTypeFlagBitsNV {
7816 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV = 0x00000001,
7817 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV = 0x00000002,
7818 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV = 0x00000004,
7819 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV = 0x00000008,
7820 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
7821 } VkExternalMemoryHandleTypeFlagBitsNV;
7822 typedef VkFlags VkExternalMemoryHandleTypeFlagsNV;
7824 typedef enum VkExternalMemoryFeatureFlagBitsNV {
7825 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV = 0x00000001,
7826 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV = 0x00000002,
7827 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV = 0x00000004,
7828 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
7829 } VkExternalMemoryFeatureFlagBitsNV;
7830 typedef VkFlags VkExternalMemoryFeatureFlagsNV;
7831 typedef struct VkExternalImageFormatPropertiesNV {
7832 VkImageFormatProperties imageFormatProperties;
7833 VkExternalMemoryFeatureFlagsNV externalMemoryFeatures;
7834 VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes;
7835 VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes;
7836 } VkExternalImageFormatPropertiesNV;
7838 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
7840 #ifndef VK_NO_PROTOTYPES
7841 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
7842 VkPhysicalDevice physicalDevice,
7845 VkImageTiling tiling,
7846 VkImageUsageFlags usage,
7847 VkImageCreateFlags flags,
7848 VkExternalMemoryHandleTypeFlagsNV externalHandleType,
7849 VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
7853 #define VK_NV_external_memory 1
7854 #define VK_NV_EXTERNAL_MEMORY_SPEC_VERSION 1
7855 #define VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME "VK_NV_external_memory"
7856 typedef struct VkExternalMemoryImageCreateInfoNV {
7857 VkStructureType sType;
7859 VkExternalMemoryHandleTypeFlagsNV handleTypes;
7860 } VkExternalMemoryImageCreateInfoNV;
7862 typedef struct VkExportMemoryAllocateInfoNV {
7863 VkStructureType sType;
7865 VkExternalMemoryHandleTypeFlagsNV handleTypes;
7866 } VkExportMemoryAllocateInfoNV;
7870 #define VK_EXT_validation_flags 1
7871 #define VK_EXT_VALIDATION_FLAGS_SPEC_VERSION 2
7872 #define VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME "VK_EXT_validation_flags"
7874 typedef enum VkValidationCheckEXT {
7875 VK_VALIDATION_CHECK_ALL_EXT = 0,
7876 VK_VALIDATION_CHECK_SHADERS_EXT = 1,
7877 VK_VALIDATION_CHECK_MAX_ENUM_EXT = 0x7FFFFFFF
7878 } VkValidationCheckEXT;
7879 typedef struct VkValidationFlagsEXT {
7880 VkStructureType sType;
7882 deUint32 disabledValidationCheckCount;
7883 const VkValidationCheckEXT* pDisabledValidationChecks;
7884 } VkValidationFlagsEXT;
7888 #define VK_EXT_shader_subgroup_ballot 1
7889 #define VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION 1
7890 #define VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME "VK_EXT_shader_subgroup_ballot"
7893 #define VK_EXT_shader_subgroup_vote 1
7894 #define VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION 1
7895 #define VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME "VK_EXT_shader_subgroup_vote"
7898 #define VK_EXT_texture_compression_astc_hdr 1
7899 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION 1
7900 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME "VK_EXT_texture_compression_astc_hdr"
7901 typedef struct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT {
7902 VkStructureType sType;
7904 VkBool32 textureCompressionASTC_HDR;
7905 } VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT;
7909 #define VK_EXT_astc_decode_mode 1
7910 #define VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION 1
7911 #define VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME "VK_EXT_astc_decode_mode"
7912 typedef struct VkImageViewASTCDecodeModeEXT {
7913 VkStructureType sType;
7915 VkFormat decodeMode;
7916 } VkImageViewASTCDecodeModeEXT;
7918 typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT {
7919 VkStructureType sType;
7921 VkBool32 decodeModeSharedExponent;
7922 } VkPhysicalDeviceASTCDecodeFeaturesEXT;
7926 #define VK_EXT_conditional_rendering 1
7927 #define VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION 2
7928 #define VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME "VK_EXT_conditional_rendering"
7930 typedef enum VkConditionalRenderingFlagBitsEXT {
7931 VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT = 0x00000001,
7932 VK_CONDITIONAL_RENDERING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
7933 } VkConditionalRenderingFlagBitsEXT;
7934 typedef VkFlags VkConditionalRenderingFlagsEXT;
7935 typedef struct VkConditionalRenderingBeginInfoEXT {
7936 VkStructureType sType;
7939 VkDeviceSize offset;
7940 VkConditionalRenderingFlagsEXT flags;
7941 } VkConditionalRenderingBeginInfoEXT;
7943 typedef struct VkPhysicalDeviceConditionalRenderingFeaturesEXT {
7944 VkStructureType sType;
7946 VkBool32 conditionalRendering;
7947 VkBool32 inheritedConditionalRendering;
7948 } VkPhysicalDeviceConditionalRenderingFeaturesEXT;
7950 typedef struct VkCommandBufferInheritanceConditionalRenderingInfoEXT {
7951 VkStructureType sType;
7953 VkBool32 conditionalRenderingEnable;
7954 } VkCommandBufferInheritanceConditionalRenderingInfoEXT;
7956 typedef void (VKAPI_PTR *PFN_vkCmdBeginConditionalRenderingEXT)(VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
7957 typedef void (VKAPI_PTR *PFN_vkCmdEndConditionalRenderingEXT)(VkCommandBuffer commandBuffer);
7959 #ifndef VK_NO_PROTOTYPES
7960 VKAPI_ATTR void VKAPI_CALL vkCmdBeginConditionalRenderingEXT(
7961 VkCommandBuffer commandBuffer,
7962 const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
7964 VKAPI_ATTR void VKAPI_CALL vkCmdEndConditionalRenderingEXT(
7965 VkCommandBuffer commandBuffer);
7969 #define VK_NV_clip_space_w_scaling 1
7970 #define VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION 1
7971 #define VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME "VK_NV_clip_space_w_scaling"
7972 typedef struct VkViewportWScalingNV {
7975 } VkViewportWScalingNV;
7977 typedef struct VkPipelineViewportWScalingStateCreateInfoNV {
7978 VkStructureType sType;
7980 VkBool32 viewportWScalingEnable;
7981 deUint32 viewportCount;
7982 const VkViewportWScalingNV* pViewportWScalings;
7983 } VkPipelineViewportWScalingStateCreateInfoNV;
7985 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingNV)(VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkViewportWScalingNV* pViewportWScalings);
7987 #ifndef VK_NO_PROTOTYPES
7988 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWScalingNV(
7989 VkCommandBuffer commandBuffer,
7990 deUint32 firstViewport,
7991 deUint32 viewportCount,
7992 const VkViewportWScalingNV* pViewportWScalings);
7996 #define VK_EXT_direct_mode_display 1
7997 #define VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION 1
7998 #define VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME "VK_EXT_direct_mode_display"
7999 typedef VkResult (VKAPI_PTR *PFN_vkReleaseDisplayEXT)(VkPhysicalDevice physicalDevice, VkDisplayKHR display);
8001 #ifndef VK_NO_PROTOTYPES
8002 VKAPI_ATTR VkResult VKAPI_CALL vkReleaseDisplayEXT(
8003 VkPhysicalDevice physicalDevice,
8004 VkDisplayKHR display);
8008 #define VK_EXT_display_surface_counter 1
8009 #define VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION 1
8010 #define VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME "VK_EXT_display_surface_counter"
8012 typedef enum VkSurfaceCounterFlagBitsEXT {
8013 VK_SURFACE_COUNTER_VBLANK_EXT = 0x00000001,
8014 VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
8015 } VkSurfaceCounterFlagBitsEXT;
8016 typedef VkFlags VkSurfaceCounterFlagsEXT;
8017 typedef struct VkSurfaceCapabilities2EXT {
8018 VkStructureType sType;
8020 deUint32 minImageCount;
8021 deUint32 maxImageCount;
8022 VkExtent2D currentExtent;
8023 VkExtent2D minImageExtent;
8024 VkExtent2D maxImageExtent;
8025 deUint32 maxImageArrayLayers;
8026 VkSurfaceTransformFlagsKHR supportedTransforms;
8027 VkSurfaceTransformFlagBitsKHR currentTransform;
8028 VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
8029 VkImageUsageFlags supportedUsageFlags;
8030 VkSurfaceCounterFlagsEXT supportedSurfaceCounters;
8031 } VkSurfaceCapabilities2EXT;
8033 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
8035 #ifndef VK_NO_PROTOTYPES
8036 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2EXT(
8037 VkPhysicalDevice physicalDevice,
8038 VkSurfaceKHR surface,
8039 VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
8043 #define VK_EXT_display_control 1
8044 #define VK_EXT_DISPLAY_CONTROL_SPEC_VERSION 1
8045 #define VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME "VK_EXT_display_control"
8047 typedef enum VkDisplayPowerStateEXT {
8048 VK_DISPLAY_POWER_STATE_OFF_EXT = 0,
8049 VK_DISPLAY_POWER_STATE_SUSPEND_EXT = 1,
8050 VK_DISPLAY_POWER_STATE_ON_EXT = 2,
8051 VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT = 0x7FFFFFFF
8052 } VkDisplayPowerStateEXT;
8054 typedef enum VkDeviceEventTypeEXT {
8055 VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT = 0,
8056 VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
8057 } VkDeviceEventTypeEXT;
8059 typedef enum VkDisplayEventTypeEXT {
8060 VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT = 0,
8061 VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
8062 } VkDisplayEventTypeEXT;
8063 typedef struct VkDisplayPowerInfoEXT {
8064 VkStructureType sType;
8066 VkDisplayPowerStateEXT powerState;
8067 } VkDisplayPowerInfoEXT;
8069 typedef struct VkDeviceEventInfoEXT {
8070 VkStructureType sType;
8072 VkDeviceEventTypeEXT deviceEvent;
8073 } VkDeviceEventInfoEXT;
8075 typedef struct VkDisplayEventInfoEXT {
8076 VkStructureType sType;
8078 VkDisplayEventTypeEXT displayEvent;
8079 } VkDisplayEventInfoEXT;
8081 typedef struct VkSwapchainCounterCreateInfoEXT {
8082 VkStructureType sType;
8084 VkSurfaceCounterFlagsEXT surfaceCounters;
8085 } VkSwapchainCounterCreateInfoEXT;
8087 typedef VkResult (VKAPI_PTR *PFN_vkDisplayPowerControlEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
8088 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDeviceEventEXT)(VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
8089 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDisplayEventEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
8090 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainCounterEXT)(VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, deUint64* pCounterValue);
8092 #ifndef VK_NO_PROTOTYPES
8093 VKAPI_ATTR VkResult VKAPI_CALL vkDisplayPowerControlEXT(
8095 VkDisplayKHR display,
8096 const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
8098 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDeviceEventEXT(
8100 const VkDeviceEventInfoEXT* pDeviceEventInfo,
8101 const VkAllocationCallbacks* pAllocator,
8104 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDisplayEventEXT(
8106 VkDisplayKHR display,
8107 const VkDisplayEventInfoEXT* pDisplayEventInfo,
8108 const VkAllocationCallbacks* pAllocator,
8111 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainCounterEXT(
8113 VkSwapchainKHR swapchain,
8114 VkSurfaceCounterFlagBitsEXT counter,
8115 deUint64* pCounterValue);
8119 #define VK_GOOGLE_display_timing 1
8120 #define VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION 1
8121 #define VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME "VK_GOOGLE_display_timing"
8122 typedef struct VkRefreshCycleDurationGOOGLE {
8123 deUint64 refreshDuration;
8124 } VkRefreshCycleDurationGOOGLE;
8126 typedef struct VkPastPresentationTimingGOOGLE {
8128 deUint64 desiredPresentTime;
8129 deUint64 actualPresentTime;
8130 deUint64 earliestPresentTime;
8131 deUint64 presentMargin;
8132 } VkPastPresentationTimingGOOGLE;
8134 typedef struct VkPresentTimeGOOGLE {
8136 deUint64 desiredPresentTime;
8137 } VkPresentTimeGOOGLE;
8139 typedef struct VkPresentTimesInfoGOOGLE {
8140 VkStructureType sType;
8142 deUint32 swapchainCount;
8143 const VkPresentTimeGOOGLE* pTimes;
8144 } VkPresentTimesInfoGOOGLE;
8146 typedef VkResult (VKAPI_PTR *PFN_vkGetRefreshCycleDurationGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
8147 typedef VkResult (VKAPI_PTR *PFN_vkGetPastPresentationTimingGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, deUint32* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings);
8149 #ifndef VK_NO_PROTOTYPES
8150 VKAPI_ATTR VkResult VKAPI_CALL vkGetRefreshCycleDurationGOOGLE(
8152 VkSwapchainKHR swapchain,
8153 VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
8155 VKAPI_ATTR VkResult VKAPI_CALL vkGetPastPresentationTimingGOOGLE(
8157 VkSwapchainKHR swapchain,
8158 deUint32* pPresentationTimingCount,
8159 VkPastPresentationTimingGOOGLE* pPresentationTimings);
8163 #define VK_NV_sample_mask_override_coverage 1
8164 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION 1
8165 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME "VK_NV_sample_mask_override_coverage"
8168 #define VK_NV_geometry_shader_passthrough 1
8169 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION 1
8170 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME "VK_NV_geometry_shader_passthrough"
8173 #define VK_NV_viewport_array2 1
8174 #define VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION 1
8175 #define VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME "VK_NV_viewport_array2"
8178 #define VK_NVX_multiview_per_view_attributes 1
8179 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION 1
8180 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME "VK_NVX_multiview_per_view_attributes"
8181 typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
8182 VkStructureType sType;
8184 VkBool32 perViewPositionAllComponents;
8185 } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
8189 #define VK_NV_viewport_swizzle 1
8190 #define VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION 1
8191 #define VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME "VK_NV_viewport_swizzle"
8193 typedef enum VkViewportCoordinateSwizzleNV {
8194 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV = 0,
8195 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV = 1,
8196 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV = 2,
8197 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV = 3,
8198 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV = 4,
8199 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV = 5,
8200 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV = 6,
8201 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV = 7,
8202 VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV = 0x7FFFFFFF
8203 } VkViewportCoordinateSwizzleNV;
8204 typedef VkFlags VkPipelineViewportSwizzleStateCreateFlagsNV;
8205 typedef struct VkViewportSwizzleNV {
8206 VkViewportCoordinateSwizzleNV x;
8207 VkViewportCoordinateSwizzleNV y;
8208 VkViewportCoordinateSwizzleNV z;
8209 VkViewportCoordinateSwizzleNV w;
8210 } VkViewportSwizzleNV;
8212 typedef struct VkPipelineViewportSwizzleStateCreateInfoNV {
8213 VkStructureType sType;
8215 VkPipelineViewportSwizzleStateCreateFlagsNV flags;
8216 deUint32 viewportCount;
8217 const VkViewportSwizzleNV* pViewportSwizzles;
8218 } VkPipelineViewportSwizzleStateCreateInfoNV;
8222 #define VK_EXT_discard_rectangles 1
8223 #define VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION 1
8224 #define VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME "VK_EXT_discard_rectangles"
8226 typedef enum VkDiscardRectangleModeEXT {
8227 VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT = 0,
8228 VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT = 1,
8229 VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
8230 } VkDiscardRectangleModeEXT;
8231 typedef VkFlags VkPipelineDiscardRectangleStateCreateFlagsEXT;
8232 typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
8233 VkStructureType sType;
8235 deUint32 maxDiscardRectangles;
8236 } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
8238 typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT {
8239 VkStructureType sType;
8241 VkPipelineDiscardRectangleStateCreateFlagsEXT flags;
8242 VkDiscardRectangleModeEXT discardRectangleMode;
8243 deUint32 discardRectangleCount;
8244 const VkRect2D* pDiscardRectangles;
8245 } VkPipelineDiscardRectangleStateCreateInfoEXT;
8247 typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEXT)(VkCommandBuffer commandBuffer, deUint32 firstDiscardRectangle, deUint32 discardRectangleCount, const VkRect2D* pDiscardRectangles);
8249 #ifndef VK_NO_PROTOTYPES
8250 VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEXT(
8251 VkCommandBuffer commandBuffer,
8252 deUint32 firstDiscardRectangle,
8253 deUint32 discardRectangleCount,
8254 const VkRect2D* pDiscardRectangles);
8258 #define VK_EXT_conservative_rasterization 1
8259 #define VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION 1
8260 #define VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME "VK_EXT_conservative_rasterization"
8262 typedef enum VkConservativeRasterizationModeEXT {
8263 VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT = 0,
8264 VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT = 1,
8265 VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT = 2,
8266 VK_CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
8267 } VkConservativeRasterizationModeEXT;
8268 typedef VkFlags VkPipelineRasterizationConservativeStateCreateFlagsEXT;
8269 typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT {
8270 VkStructureType sType;
8272 float primitiveOverestimationSize;
8273 float maxExtraPrimitiveOverestimationSize;
8274 float extraPrimitiveOverestimationSizeGranularity;
8275 VkBool32 primitiveUnderestimation;
8276 VkBool32 conservativePointAndLineRasterization;
8277 VkBool32 degenerateTrianglesRasterized;
8278 VkBool32 degenerateLinesRasterized;
8279 VkBool32 fullyCoveredFragmentShaderInputVariable;
8280 VkBool32 conservativeRasterizationPostDepthCoverage;
8281 } VkPhysicalDeviceConservativeRasterizationPropertiesEXT;
8283 typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT {
8284 VkStructureType sType;
8286 VkPipelineRasterizationConservativeStateCreateFlagsEXT flags;
8287 VkConservativeRasterizationModeEXT conservativeRasterizationMode;
8288 float extraPrimitiveOverestimationSize;
8289 } VkPipelineRasterizationConservativeStateCreateInfoEXT;
8293 #define VK_EXT_depth_clip_enable 1
8294 #define VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION 1
8295 #define VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME "VK_EXT_depth_clip_enable"
8296 typedef VkFlags VkPipelineRasterizationDepthClipStateCreateFlagsEXT;
8297 typedef struct VkPhysicalDeviceDepthClipEnableFeaturesEXT {
8298 VkStructureType sType;
8300 VkBool32 depthClipEnable;
8301 } VkPhysicalDeviceDepthClipEnableFeaturesEXT;
8303 typedef struct VkPipelineRasterizationDepthClipStateCreateInfoEXT {
8304 VkStructureType sType;
8306 VkPipelineRasterizationDepthClipStateCreateFlagsEXT flags;
8307 VkBool32 depthClipEnable;
8308 } VkPipelineRasterizationDepthClipStateCreateInfoEXT;
8312 #define VK_EXT_swapchain_colorspace 1
8313 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION 4
8314 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME "VK_EXT_swapchain_colorspace"
8317 #define VK_EXT_hdr_metadata 1
8318 #define VK_EXT_HDR_METADATA_SPEC_VERSION 2
8319 #define VK_EXT_HDR_METADATA_EXTENSION_NAME "VK_EXT_hdr_metadata"
8320 typedef struct VkXYColorEXT {
8325 typedef struct VkHdrMetadataEXT {
8326 VkStructureType sType;
8328 VkXYColorEXT displayPrimaryRed;
8329 VkXYColorEXT displayPrimaryGreen;
8330 VkXYColorEXT displayPrimaryBlue;
8331 VkXYColorEXT whitePoint;
8334 float maxContentLightLevel;
8335 float maxFrameAverageLightLevel;
8338 typedef void (VKAPI_PTR *PFN_vkSetHdrMetadataEXT)(VkDevice device, deUint32 swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata);
8340 #ifndef VK_NO_PROTOTYPES
8341 VKAPI_ATTR void VKAPI_CALL vkSetHdrMetadataEXT(
8343 deUint32 swapchainCount,
8344 const VkSwapchainKHR* pSwapchains,
8345 const VkHdrMetadataEXT* pMetadata);
8349 #define VK_EXT_external_memory_dma_buf 1
8350 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION 1
8351 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME "VK_EXT_external_memory_dma_buf"
8354 #define VK_EXT_queue_family_foreign 1
8355 #define VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION 1
8356 #define VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME "VK_EXT_queue_family_foreign"
8357 #define VK_QUEUE_FAMILY_FOREIGN_EXT (~0U-2)
8360 #define VK_EXT_debug_utils 1
8361 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugUtilsMessengerEXT)
8362 #define VK_EXT_DEBUG_UTILS_SPEC_VERSION 2
8363 #define VK_EXT_DEBUG_UTILS_EXTENSION_NAME "VK_EXT_debug_utils"
8364 typedef VkFlags VkDebugUtilsMessengerCallbackDataFlagsEXT;
8366 typedef enum VkDebugUtilsMessageSeverityFlagBitsEXT {
8367 VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT = 0x00000001,
8368 VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT = 0x00000010,
8369 VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT = 0x00000100,
8370 VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT = 0x00001000,
8371 VK_DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
8372 } VkDebugUtilsMessageSeverityFlagBitsEXT;
8374 typedef enum VkDebugUtilsMessageTypeFlagBitsEXT {
8375 VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT = 0x00000001,
8376 VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT = 0x00000002,
8377 VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT = 0x00000004,
8378 VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
8379 } VkDebugUtilsMessageTypeFlagBitsEXT;
8380 typedef VkFlags VkDebugUtilsMessageTypeFlagsEXT;
8381 typedef VkFlags VkDebugUtilsMessageSeverityFlagsEXT;
8382 typedef VkFlags VkDebugUtilsMessengerCreateFlagsEXT;
8383 typedef struct VkDebugUtilsLabelEXT {
8384 VkStructureType sType;
8386 const char* pLabelName;
8388 } VkDebugUtilsLabelEXT;
8390 typedef struct VkDebugUtilsObjectNameInfoEXT {
8391 VkStructureType sType;
8393 VkObjectType objectType;
8394 deUint64 objectHandle;
8395 const char* pObjectName;
8396 } VkDebugUtilsObjectNameInfoEXT;
8398 typedef struct VkDebugUtilsMessengerCallbackDataEXT {
8399 VkStructureType sType;
8401 VkDebugUtilsMessengerCallbackDataFlagsEXT flags;
8402 const char* pMessageIdName;
8403 deInt32 messageIdNumber;
8404 const char* pMessage;
8405 deUint32 queueLabelCount;
8406 const VkDebugUtilsLabelEXT* pQueueLabels;
8407 deUint32 cmdBufLabelCount;
8408 const VkDebugUtilsLabelEXT* pCmdBufLabels;
8409 deUint32 objectCount;
8410 const VkDebugUtilsObjectNameInfoEXT* pObjects;
8411 } VkDebugUtilsMessengerCallbackDataEXT;
8413 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)(
8414 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
8415 VkDebugUtilsMessageTypeFlagsEXT messageTypes,
8416 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData,
8419 typedef struct VkDebugUtilsMessengerCreateInfoEXT {
8420 VkStructureType sType;
8422 VkDebugUtilsMessengerCreateFlagsEXT flags;
8423 VkDebugUtilsMessageSeverityFlagsEXT messageSeverity;
8424 VkDebugUtilsMessageTypeFlagsEXT messageType;
8425 PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback;
8427 } VkDebugUtilsMessengerCreateInfoEXT;
8429 typedef struct VkDebugUtilsObjectTagInfoEXT {
8430 VkStructureType sType;
8432 VkObjectType objectType;
8433 deUint64 objectHandle;
8437 } VkDebugUtilsObjectTagInfoEXT;
8439 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectNameEXT)(VkDevice device, const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
8440 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectTagEXT)(VkDevice device, const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
8441 typedef void (VKAPI_PTR *PFN_vkQueueBeginDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
8442 typedef void (VKAPI_PTR *PFN_vkQueueEndDebugUtilsLabelEXT)(VkQueue queue);
8443 typedef void (VKAPI_PTR *PFN_vkQueueInsertDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
8444 typedef void (VKAPI_PTR *PFN_vkCmdBeginDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
8445 typedef void (VKAPI_PTR *PFN_vkCmdEndDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer);
8446 typedef void (VKAPI_PTR *PFN_vkCmdInsertDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
8447 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugUtilsMessengerEXT)(VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugUtilsMessengerEXT* pMessenger);
8448 typedef void (VKAPI_PTR *PFN_vkDestroyDebugUtilsMessengerEXT)(VkInstance instance, VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks* pAllocator);
8449 typedef void (VKAPI_PTR *PFN_vkSubmitDebugUtilsMessageEXT)(VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
8451 #ifndef VK_NO_PROTOTYPES
8452 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectNameEXT(
8454 const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
8456 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectTagEXT(
8458 const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
8460 VKAPI_ATTR void VKAPI_CALL vkQueueBeginDebugUtilsLabelEXT(
8462 const VkDebugUtilsLabelEXT* pLabelInfo);
8464 VKAPI_ATTR void VKAPI_CALL vkQueueEndDebugUtilsLabelEXT(
8467 VKAPI_ATTR void VKAPI_CALL vkQueueInsertDebugUtilsLabelEXT(
8469 const VkDebugUtilsLabelEXT* pLabelInfo);
8471 VKAPI_ATTR void VKAPI_CALL vkCmdBeginDebugUtilsLabelEXT(
8472 VkCommandBuffer commandBuffer,
8473 const VkDebugUtilsLabelEXT* pLabelInfo);
8475 VKAPI_ATTR void VKAPI_CALL vkCmdEndDebugUtilsLabelEXT(
8476 VkCommandBuffer commandBuffer);
8478 VKAPI_ATTR void VKAPI_CALL vkCmdInsertDebugUtilsLabelEXT(
8479 VkCommandBuffer commandBuffer,
8480 const VkDebugUtilsLabelEXT* pLabelInfo);
8482 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugUtilsMessengerEXT(
8483 VkInstance instance,
8484 const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo,
8485 const VkAllocationCallbacks* pAllocator,
8486 VkDebugUtilsMessengerEXT* pMessenger);
8488 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugUtilsMessengerEXT(
8489 VkInstance instance,
8490 VkDebugUtilsMessengerEXT messenger,
8491 const VkAllocationCallbacks* pAllocator);
8493 VKAPI_ATTR void VKAPI_CALL vkSubmitDebugUtilsMessageEXT(
8494 VkInstance instance,
8495 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
8496 VkDebugUtilsMessageTypeFlagsEXT messageTypes,
8497 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
8501 #define VK_EXT_sampler_filter_minmax 1
8502 #define VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION 2
8503 #define VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME "VK_EXT_sampler_filter_minmax"
8504 typedef VkSamplerReductionMode VkSamplerReductionModeEXT;
8506 typedef VkSamplerReductionModeCreateInfo VkSamplerReductionModeCreateInfoEXT;
8508 typedef VkPhysicalDeviceSamplerFilterMinmaxProperties VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
8512 #define VK_AMD_gpu_shader_int16 1
8513 #define VK_AMD_GPU_SHADER_INT16_SPEC_VERSION 2
8514 #define VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME "VK_AMD_gpu_shader_int16"
8517 #define VK_AMD_mixed_attachment_samples 1
8518 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION 1
8519 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME "VK_AMD_mixed_attachment_samples"
8522 #define VK_AMD_shader_fragment_mask 1
8523 #define VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION 1
8524 #define VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME "VK_AMD_shader_fragment_mask"
8527 #define VK_EXT_inline_uniform_block 1
8528 #define VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION 1
8529 #define VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME "VK_EXT_inline_uniform_block"
8530 typedef struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT {
8531 VkStructureType sType;
8533 VkBool32 inlineUniformBlock;
8534 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind;
8535 } VkPhysicalDeviceInlineUniformBlockFeaturesEXT;
8537 typedef struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT {
8538 VkStructureType sType;
8540 deUint32 maxInlineUniformBlockSize;
8541 deUint32 maxPerStageDescriptorInlineUniformBlocks;
8542 deUint32 maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
8543 deUint32 maxDescriptorSetInlineUniformBlocks;
8544 deUint32 maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
8545 } VkPhysicalDeviceInlineUniformBlockPropertiesEXT;
8547 typedef struct VkWriteDescriptorSetInlineUniformBlockEXT {
8548 VkStructureType sType;
8552 } VkWriteDescriptorSetInlineUniformBlockEXT;
8554 typedef struct VkDescriptorPoolInlineUniformBlockCreateInfoEXT {
8555 VkStructureType sType;
8557 deUint32 maxInlineUniformBlockBindings;
8558 } VkDescriptorPoolInlineUniformBlockCreateInfoEXT;
8562 #define VK_EXT_shader_stencil_export 1
8563 #define VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION 1
8564 #define VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME "VK_EXT_shader_stencil_export"
8567 #define VK_EXT_sample_locations 1
8568 #define VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION 1
8569 #define VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME "VK_EXT_sample_locations"
8570 typedef struct VkSampleLocationEXT {
8573 } VkSampleLocationEXT;
8575 typedef struct VkSampleLocationsInfoEXT {
8576 VkStructureType sType;
8578 VkSampleCountFlagBits sampleLocationsPerPixel;
8579 VkExtent2D sampleLocationGridSize;
8580 deUint32 sampleLocationsCount;
8581 const VkSampleLocationEXT* pSampleLocations;
8582 } VkSampleLocationsInfoEXT;
8584 typedef struct VkAttachmentSampleLocationsEXT {
8585 deUint32 attachmentIndex;
8586 VkSampleLocationsInfoEXT sampleLocationsInfo;
8587 } VkAttachmentSampleLocationsEXT;
8589 typedef struct VkSubpassSampleLocationsEXT {
8590 deUint32 subpassIndex;
8591 VkSampleLocationsInfoEXT sampleLocationsInfo;
8592 } VkSubpassSampleLocationsEXT;
8594 typedef struct VkRenderPassSampleLocationsBeginInfoEXT {
8595 VkStructureType sType;
8597 deUint32 attachmentInitialSampleLocationsCount;
8598 const VkAttachmentSampleLocationsEXT* pAttachmentInitialSampleLocations;
8599 deUint32 postSubpassSampleLocationsCount;
8600 const VkSubpassSampleLocationsEXT* pPostSubpassSampleLocations;
8601 } VkRenderPassSampleLocationsBeginInfoEXT;
8603 typedef struct VkPipelineSampleLocationsStateCreateInfoEXT {
8604 VkStructureType sType;
8606 VkBool32 sampleLocationsEnable;
8607 VkSampleLocationsInfoEXT sampleLocationsInfo;
8608 } VkPipelineSampleLocationsStateCreateInfoEXT;
8610 typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT {
8611 VkStructureType sType;
8613 VkSampleCountFlags sampleLocationSampleCounts;
8614 VkExtent2D maxSampleLocationGridSize;
8615 float sampleLocationCoordinateRange[2];
8616 deUint32 sampleLocationSubPixelBits;
8617 VkBool32 variableSampleLocations;
8618 } VkPhysicalDeviceSampleLocationsPropertiesEXT;
8620 typedef struct VkMultisamplePropertiesEXT {
8621 VkStructureType sType;
8623 VkExtent2D maxSampleLocationGridSize;
8624 } VkMultisamplePropertiesEXT;
8626 typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEXT)(VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
8627 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT)(VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT* pMultisampleProperties);
8629 #ifndef VK_NO_PROTOTYPES
8630 VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleLocationsEXT(
8631 VkCommandBuffer commandBuffer,
8632 const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
8634 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMultisamplePropertiesEXT(
8635 VkPhysicalDevice physicalDevice,
8636 VkSampleCountFlagBits samples,
8637 VkMultisamplePropertiesEXT* pMultisampleProperties);
8641 #define VK_EXT_blend_operation_advanced 1
8642 #define VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION 2
8643 #define VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME "VK_EXT_blend_operation_advanced"
8645 typedef enum VkBlendOverlapEXT {
8646 VK_BLEND_OVERLAP_UNCORRELATED_EXT = 0,
8647 VK_BLEND_OVERLAP_DISJOINT_EXT = 1,
8648 VK_BLEND_OVERLAP_CONJOINT_EXT = 2,
8649 VK_BLEND_OVERLAP_MAX_ENUM_EXT = 0x7FFFFFFF
8650 } VkBlendOverlapEXT;
8651 typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
8652 VkStructureType sType;
8654 VkBool32 advancedBlendCoherentOperations;
8655 } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
8657 typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT {
8658 VkStructureType sType;
8660 deUint32 advancedBlendMaxColorAttachments;
8661 VkBool32 advancedBlendIndependentBlend;
8662 VkBool32 advancedBlendNonPremultipliedSrcColor;
8663 VkBool32 advancedBlendNonPremultipliedDstColor;
8664 VkBool32 advancedBlendCorrelatedOverlap;
8665 VkBool32 advancedBlendAllOperations;
8666 } VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT;
8668 typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT {
8669 VkStructureType sType;
8671 VkBool32 srcPremultiplied;
8672 VkBool32 dstPremultiplied;
8673 VkBlendOverlapEXT blendOverlap;
8674 } VkPipelineColorBlendAdvancedStateCreateInfoEXT;
8678 #define VK_NV_fragment_coverage_to_color 1
8679 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION 1
8680 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME "VK_NV_fragment_coverage_to_color"
8681 typedef VkFlags VkPipelineCoverageToColorStateCreateFlagsNV;
8682 typedef struct VkPipelineCoverageToColorStateCreateInfoNV {
8683 VkStructureType sType;
8685 VkPipelineCoverageToColorStateCreateFlagsNV flags;
8686 VkBool32 coverageToColorEnable;
8687 deUint32 coverageToColorLocation;
8688 } VkPipelineCoverageToColorStateCreateInfoNV;
8692 #define VK_NV_framebuffer_mixed_samples 1
8693 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION 1
8694 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME "VK_NV_framebuffer_mixed_samples"
8696 typedef enum VkCoverageModulationModeNV {
8697 VK_COVERAGE_MODULATION_MODE_NONE_NV = 0,
8698 VK_COVERAGE_MODULATION_MODE_RGB_NV = 1,
8699 VK_COVERAGE_MODULATION_MODE_ALPHA_NV = 2,
8700 VK_COVERAGE_MODULATION_MODE_RGBA_NV = 3,
8701 VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV = 0x7FFFFFFF
8702 } VkCoverageModulationModeNV;
8703 typedef VkFlags VkPipelineCoverageModulationStateCreateFlagsNV;
8704 typedef struct VkPipelineCoverageModulationStateCreateInfoNV {
8705 VkStructureType sType;
8707 VkPipelineCoverageModulationStateCreateFlagsNV flags;
8708 VkCoverageModulationModeNV coverageModulationMode;
8709 VkBool32 coverageModulationTableEnable;
8710 deUint32 coverageModulationTableCount;
8711 const float* pCoverageModulationTable;
8712 } VkPipelineCoverageModulationStateCreateInfoNV;
8716 #define VK_NV_fill_rectangle 1
8717 #define VK_NV_FILL_RECTANGLE_SPEC_VERSION 1
8718 #define VK_NV_FILL_RECTANGLE_EXTENSION_NAME "VK_NV_fill_rectangle"
8721 #define VK_NV_shader_sm_builtins 1
8722 #define VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION 1
8723 #define VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME "VK_NV_shader_sm_builtins"
8724 typedef struct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV {
8725 VkStructureType sType;
8727 deUint32 shaderSMCount;
8728 deUint32 shaderWarpsPerSM;
8729 } VkPhysicalDeviceShaderSMBuiltinsPropertiesNV;
8731 typedef struct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV {
8732 VkStructureType sType;
8734 VkBool32 shaderSMBuiltins;
8735 } VkPhysicalDeviceShaderSMBuiltinsFeaturesNV;
8739 #define VK_EXT_post_depth_coverage 1
8740 #define VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION 1
8741 #define VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME "VK_EXT_post_depth_coverage"
8744 #define VK_EXT_image_drm_format_modifier 1
8745 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION 1
8746 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME "VK_EXT_image_drm_format_modifier"
8747 typedef struct VkDrmFormatModifierPropertiesEXT {
8748 deUint64 drmFormatModifier;
8749 deUint32 drmFormatModifierPlaneCount;
8750 VkFormatFeatureFlags drmFormatModifierTilingFeatures;
8751 } VkDrmFormatModifierPropertiesEXT;
8753 typedef struct VkDrmFormatModifierPropertiesListEXT {
8754 VkStructureType sType;
8756 deUint32 drmFormatModifierCount;
8757 VkDrmFormatModifierPropertiesEXT* pDrmFormatModifierProperties;
8758 } VkDrmFormatModifierPropertiesListEXT;
8760 typedef struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT {
8761 VkStructureType sType;
8763 deUint64 drmFormatModifier;
8764 VkSharingMode sharingMode;
8765 deUint32 queueFamilyIndexCount;
8766 const deUint32* pQueueFamilyIndices;
8767 } VkPhysicalDeviceImageDrmFormatModifierInfoEXT;
8769 typedef struct VkImageDrmFormatModifierListCreateInfoEXT {
8770 VkStructureType sType;
8772 deUint32 drmFormatModifierCount;
8773 const deUint64* pDrmFormatModifiers;
8774 } VkImageDrmFormatModifierListCreateInfoEXT;
8776 typedef struct VkImageDrmFormatModifierExplicitCreateInfoEXT {
8777 VkStructureType sType;
8779 deUint64 drmFormatModifier;
8780 deUint32 drmFormatModifierPlaneCount;
8781 const VkSubresourceLayout* pPlaneLayouts;
8782 } VkImageDrmFormatModifierExplicitCreateInfoEXT;
8784 typedef struct VkImageDrmFormatModifierPropertiesEXT {
8785 VkStructureType sType;
8787 deUint64 drmFormatModifier;
8788 } VkImageDrmFormatModifierPropertiesEXT;
8790 typedef VkResult (VKAPI_PTR *PFN_vkGetImageDrmFormatModifierPropertiesEXT)(VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties);
8792 #ifndef VK_NO_PROTOTYPES
8793 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageDrmFormatModifierPropertiesEXT(
8796 VkImageDrmFormatModifierPropertiesEXT* pProperties);
8800 #define VK_EXT_validation_cache 1
8801 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkValidationCacheEXT)
8802 #define VK_EXT_VALIDATION_CACHE_SPEC_VERSION 1
8803 #define VK_EXT_VALIDATION_CACHE_EXTENSION_NAME "VK_EXT_validation_cache"
8805 typedef enum VkValidationCacheHeaderVersionEXT {
8806 VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT = 1,
8807 VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT = 0x7FFFFFFF
8808 } VkValidationCacheHeaderVersionEXT;
8809 typedef VkFlags VkValidationCacheCreateFlagsEXT;
8810 typedef struct VkValidationCacheCreateInfoEXT {
8811 VkStructureType sType;
8813 VkValidationCacheCreateFlagsEXT flags;
8814 deUintptr initialDataSize;
8815 const void* pInitialData;
8816 } VkValidationCacheCreateInfoEXT;
8818 typedef struct VkShaderModuleValidationCacheCreateInfoEXT {
8819 VkStructureType sType;
8821 VkValidationCacheEXT validationCache;
8822 } VkShaderModuleValidationCacheCreateInfoEXT;
8824 typedef VkResult (VKAPI_PTR *PFN_vkCreateValidationCacheEXT)(VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache);
8825 typedef void (VKAPI_PTR *PFN_vkDestroyValidationCacheEXT)(VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator);
8826 typedef VkResult (VKAPI_PTR *PFN_vkMergeValidationCachesEXT)(VkDevice device, VkValidationCacheEXT dstCache, deUint32 srcCacheCount, const VkValidationCacheEXT* pSrcCaches);
8827 typedef VkResult (VKAPI_PTR *PFN_vkGetValidationCacheDataEXT)(VkDevice device, VkValidationCacheEXT validationCache, deUintptr* pDataSize, void* pData);
8829 #ifndef VK_NO_PROTOTYPES
8830 VKAPI_ATTR VkResult VKAPI_CALL vkCreateValidationCacheEXT(
8832 const VkValidationCacheCreateInfoEXT* pCreateInfo,
8833 const VkAllocationCallbacks* pAllocator,
8834 VkValidationCacheEXT* pValidationCache);
8836 VKAPI_ATTR void VKAPI_CALL vkDestroyValidationCacheEXT(
8838 VkValidationCacheEXT validationCache,
8839 const VkAllocationCallbacks* pAllocator);
8841 VKAPI_ATTR VkResult VKAPI_CALL vkMergeValidationCachesEXT(
8843 VkValidationCacheEXT dstCache,
8844 deUint32 srcCacheCount,
8845 const VkValidationCacheEXT* pSrcCaches);
8847 VKAPI_ATTR VkResult VKAPI_CALL vkGetValidationCacheDataEXT(
8849 VkValidationCacheEXT validationCache,
8850 deUintptr* pDataSize,
8855 #define VK_EXT_descriptor_indexing 1
8856 #define VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION 2
8857 #define VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME "VK_EXT_descriptor_indexing"
8858 typedef VkDescriptorBindingFlagBits VkDescriptorBindingFlagBitsEXT;
8860 typedef VkDescriptorBindingFlags VkDescriptorBindingFlagsEXT;
8862 typedef VkDescriptorSetLayoutBindingFlagsCreateInfo VkDescriptorSetLayoutBindingFlagsCreateInfoEXT;
8864 typedef VkPhysicalDeviceDescriptorIndexingFeatures VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
8866 typedef VkPhysicalDeviceDescriptorIndexingProperties VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
8868 typedef VkDescriptorSetVariableDescriptorCountAllocateInfo VkDescriptorSetVariableDescriptorCountAllocateInfoEXT;
8870 typedef VkDescriptorSetVariableDescriptorCountLayoutSupport VkDescriptorSetVariableDescriptorCountLayoutSupportEXT;
8874 #define VK_EXT_shader_viewport_index_layer 1
8875 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION 1
8876 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME "VK_EXT_shader_viewport_index_layer"
8879 #define VK_NV_shading_rate_image 1
8880 #define VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION 3
8881 #define VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME "VK_NV_shading_rate_image"
8883 typedef enum VkShadingRatePaletteEntryNV {
8884 VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV = 0,
8885 VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV = 1,
8886 VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV = 2,
8887 VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV = 3,
8888 VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV = 4,
8889 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV = 5,
8890 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV = 6,
8891 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV = 7,
8892 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV = 8,
8893 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV = 9,
8894 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV = 10,
8895 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV = 11,
8896 VK_SHADING_RATE_PALETTE_ENTRY_MAX_ENUM_NV = 0x7FFFFFFF
8897 } VkShadingRatePaletteEntryNV;
8899 typedef enum VkCoarseSampleOrderTypeNV {
8900 VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV = 0,
8901 VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV = 1,
8902 VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV = 2,
8903 VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV = 3,
8904 VK_COARSE_SAMPLE_ORDER_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
8905 } VkCoarseSampleOrderTypeNV;
8906 typedef struct VkShadingRatePaletteNV {
8907 deUint32 shadingRatePaletteEntryCount;
8908 const VkShadingRatePaletteEntryNV* pShadingRatePaletteEntries;
8909 } VkShadingRatePaletteNV;
8911 typedef struct VkPipelineViewportShadingRateImageStateCreateInfoNV {
8912 VkStructureType sType;
8914 VkBool32 shadingRateImageEnable;
8915 deUint32 viewportCount;
8916 const VkShadingRatePaletteNV* pShadingRatePalettes;
8917 } VkPipelineViewportShadingRateImageStateCreateInfoNV;
8919 typedef struct VkPhysicalDeviceShadingRateImageFeaturesNV {
8920 VkStructureType sType;
8922 VkBool32 shadingRateImage;
8923 VkBool32 shadingRateCoarseSampleOrder;
8924 } VkPhysicalDeviceShadingRateImageFeaturesNV;
8926 typedef struct VkPhysicalDeviceShadingRateImagePropertiesNV {
8927 VkStructureType sType;
8929 VkExtent2D shadingRateTexelSize;
8930 deUint32 shadingRatePaletteSize;
8931 deUint32 shadingRateMaxCoarseSamples;
8932 } VkPhysicalDeviceShadingRateImagePropertiesNV;
8934 typedef struct VkCoarseSampleLocationNV {
8938 } VkCoarseSampleLocationNV;
8940 typedef struct VkCoarseSampleOrderCustomNV {
8941 VkShadingRatePaletteEntryNV shadingRate;
8942 deUint32 sampleCount;
8943 deUint32 sampleLocationCount;
8944 const VkCoarseSampleLocationNV* pSampleLocations;
8945 } VkCoarseSampleOrderCustomNV;
8947 typedef struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV {
8948 VkStructureType sType;
8950 VkCoarseSampleOrderTypeNV sampleOrderType;
8951 deUint32 customSampleOrderCount;
8952 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders;
8953 } VkPipelineViewportCoarseSampleOrderStateCreateInfoNV;
8955 typedef void (VKAPI_PTR *PFN_vkCmdBindShadingRateImageNV)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout);
8956 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportShadingRatePaletteNV)(VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkShadingRatePaletteNV* pShadingRatePalettes);
8957 typedef void (VKAPI_PTR *PFN_vkCmdSetCoarseSampleOrderNV)(VkCommandBuffer commandBuffer, VkCoarseSampleOrderTypeNV sampleOrderType, deUint32 customSampleOrderCount, const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
8959 #ifndef VK_NO_PROTOTYPES
8960 VKAPI_ATTR void VKAPI_CALL vkCmdBindShadingRateImageNV(
8961 VkCommandBuffer commandBuffer,
8962 VkImageView imageView,
8963 VkImageLayout imageLayout);
8965 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportShadingRatePaletteNV(
8966 VkCommandBuffer commandBuffer,
8967 deUint32 firstViewport,
8968 deUint32 viewportCount,
8969 const VkShadingRatePaletteNV* pShadingRatePalettes);
8971 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoarseSampleOrderNV(
8972 VkCommandBuffer commandBuffer,
8973 VkCoarseSampleOrderTypeNV sampleOrderType,
8974 deUint32 customSampleOrderCount,
8975 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
8979 #define VK_NV_ray_tracing 1
8980 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR)
8981 typedef VkAccelerationStructureKHR VkAccelerationStructureNV;
8983 #define VK_NV_RAY_TRACING_SPEC_VERSION 3
8984 #define VK_NV_RAY_TRACING_EXTENSION_NAME "VK_NV_ray_tracing"
8985 #define VK_SHADER_UNUSED_KHR (~0U)
8986 #define VK_SHADER_UNUSED_NV VK_SHADER_UNUSED_KHR
8988 typedef enum VkRayTracingShaderGroupTypeKHR {
8989 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR = 0,
8990 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR = 1,
8991 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR = 2,
8992 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR,
8993 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR,
8994 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR,
8995 VK_RAY_TRACING_SHADER_GROUP_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
8996 } VkRayTracingShaderGroupTypeKHR;
8997 typedef VkRayTracingShaderGroupTypeKHR VkRayTracingShaderGroupTypeNV;
9000 typedef enum VkGeometryTypeKHR {
9001 VK_GEOMETRY_TYPE_TRIANGLES_KHR = 0,
9002 VK_GEOMETRY_TYPE_AABBS_KHR = 1,
9003 VK_GEOMETRY_TYPE_INSTANCES_KHR = 1000150000,
9004 VK_GEOMETRY_TYPE_TRIANGLES_NV = VK_GEOMETRY_TYPE_TRIANGLES_KHR,
9005 VK_GEOMETRY_TYPE_AABBS_NV = VK_GEOMETRY_TYPE_AABBS_KHR,
9006 VK_GEOMETRY_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
9007 } VkGeometryTypeKHR;
9008 typedef VkGeometryTypeKHR VkGeometryTypeNV;
9011 typedef enum VkAccelerationStructureTypeKHR {
9012 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR = 0,
9013 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR = 1,
9014 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR,
9015 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR,
9016 VK_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
9017 } VkAccelerationStructureTypeKHR;
9018 typedef VkAccelerationStructureTypeKHR VkAccelerationStructureTypeNV;
9021 typedef enum VkCopyAccelerationStructureModeKHR {
9022 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR = 0,
9023 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR = 1,
9024 VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR = 2,
9025 VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR = 3,
9026 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR,
9027 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR,
9028 VK_COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
9029 } VkCopyAccelerationStructureModeKHR;
9030 typedef VkCopyAccelerationStructureModeKHR VkCopyAccelerationStructureModeNV;
9033 typedef enum VkAccelerationStructureMemoryRequirementsTypeKHR {
9034 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_KHR = 0,
9035 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_KHR = 1,
9036 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_KHR = 2,
9037 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV = VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_KHR,
9038 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV = VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_KHR,
9039 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV = VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_KHR,
9040 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
9041 } VkAccelerationStructureMemoryRequirementsTypeKHR;
9042 typedef VkAccelerationStructureMemoryRequirementsTypeKHR VkAccelerationStructureMemoryRequirementsTypeNV;
9045 typedef enum VkGeometryFlagBitsKHR {
9046 VK_GEOMETRY_OPAQUE_BIT_KHR = 0x00000001,
9047 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR = 0x00000002,
9048 VK_GEOMETRY_OPAQUE_BIT_NV = VK_GEOMETRY_OPAQUE_BIT_KHR,
9049 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV = VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR,
9050 VK_GEOMETRY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
9051 } VkGeometryFlagBitsKHR;
9052 typedef VkFlags VkGeometryFlagsKHR;
9053 typedef VkGeometryFlagsKHR VkGeometryFlagsNV;
9055 typedef VkGeometryFlagBitsKHR VkGeometryFlagBitsNV;
9058 typedef enum VkGeometryInstanceFlagBitsKHR {
9059 VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = 0x00000001,
9060 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = 0x00000002,
9061 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 0x00000004,
9062 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 0x00000008,
9063 VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR,
9064 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR,
9065 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR,
9066 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR,
9067 VK_GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
9068 } VkGeometryInstanceFlagBitsKHR;
9069 typedef VkFlags VkGeometryInstanceFlagsKHR;
9070 typedef VkGeometryInstanceFlagsKHR VkGeometryInstanceFlagsNV;
9072 typedef VkGeometryInstanceFlagBitsKHR VkGeometryInstanceFlagBitsNV;
9075 typedef enum VkBuildAccelerationStructureFlagBitsKHR {
9076 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR = 0x00000001,
9077 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR = 0x00000002,
9078 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR = 0x00000004,
9079 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR = 0x00000008,
9080 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR = 0x00000010,
9081 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR,
9082 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR,
9083 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR,
9084 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR,
9085 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR,
9086 VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
9087 } VkBuildAccelerationStructureFlagBitsKHR;
9088 typedef VkFlags VkBuildAccelerationStructureFlagsKHR;
9089 typedef VkBuildAccelerationStructureFlagsKHR VkBuildAccelerationStructureFlagsNV;
9091 typedef VkBuildAccelerationStructureFlagBitsKHR VkBuildAccelerationStructureFlagBitsNV;
9093 typedef struct VkRayTracingShaderGroupCreateInfoNV {
9094 VkStructureType sType;
9096 VkRayTracingShaderGroupTypeKHR type;
9097 deUint32 generalShader;
9098 deUint32 closestHitShader;
9099 deUint32 anyHitShader;
9100 deUint32 intersectionShader;
9101 } VkRayTracingShaderGroupCreateInfoNV;
9103 typedef struct VkRayTracingPipelineCreateInfoNV {
9104 VkStructureType sType;
9106 VkPipelineCreateFlags flags;
9107 deUint32 stageCount;
9108 const VkPipelineShaderStageCreateInfo* pStages;
9109 deUint32 groupCount;
9110 const VkRayTracingShaderGroupCreateInfoNV* pGroups;
9111 deUint32 maxRecursionDepth;
9112 VkPipelineLayout layout;
9113 VkPipeline basePipelineHandle;
9114 deInt32 basePipelineIndex;
9115 } VkRayTracingPipelineCreateInfoNV;
9117 typedef struct VkGeometryTrianglesNV {
9118 VkStructureType sType;
9120 VkBuffer vertexData;
9121 VkDeviceSize vertexOffset;
9122 deUint32 vertexCount;
9123 VkDeviceSize vertexStride;
9124 VkFormat vertexFormat;
9126 VkDeviceSize indexOffset;
9127 deUint32 indexCount;
9128 VkIndexType indexType;
9129 VkBuffer transformData;
9130 VkDeviceSize transformOffset;
9131 } VkGeometryTrianglesNV;
9133 typedef struct VkGeometryAABBNV {
9134 VkStructureType sType;
9139 VkDeviceSize offset;
9142 typedef struct VkGeometryDataNV {
9143 VkGeometryTrianglesNV triangles;
9144 VkGeometryAABBNV aabbs;
9147 typedef struct VkGeometryNV {
9148 VkStructureType sType;
9150 VkGeometryTypeKHR geometryType;
9151 VkGeometryDataNV geometry;
9152 VkGeometryFlagsKHR flags;
9155 typedef struct VkAccelerationStructureInfoNV {
9156 VkStructureType sType;
9158 VkAccelerationStructureTypeNV type;
9159 VkBuildAccelerationStructureFlagsNV flags;
9160 deUint32 instanceCount;
9161 deUint32 geometryCount;
9162 const VkGeometryNV* pGeometries;
9163 } VkAccelerationStructureInfoNV;
9165 typedef struct VkAccelerationStructureCreateInfoNV {
9166 VkStructureType sType;
9168 VkDeviceSize compactedSize;
9169 VkAccelerationStructureInfoNV info;
9170 } VkAccelerationStructureCreateInfoNV;
9172 typedef struct VkBindAccelerationStructureMemoryInfoKHR {
9173 VkStructureType sType;
9175 VkAccelerationStructureKHR accelerationStructure;
9176 VkDeviceMemory memory;
9177 VkDeviceSize memoryOffset;
9178 deUint32 deviceIndexCount;
9179 const deUint32* pDeviceIndices;
9180 } VkBindAccelerationStructureMemoryInfoKHR;
9182 typedef VkBindAccelerationStructureMemoryInfoKHR VkBindAccelerationStructureMemoryInfoNV;
9184 typedef struct VkWriteDescriptorSetAccelerationStructureKHR {
9185 VkStructureType sType;
9187 deUint32 accelerationStructureCount;
9188 const VkAccelerationStructureKHR* pAccelerationStructures;
9189 } VkWriteDescriptorSetAccelerationStructureKHR;
9191 typedef VkWriteDescriptorSetAccelerationStructureKHR VkWriteDescriptorSetAccelerationStructureNV;
9193 typedef struct VkAccelerationStructureMemoryRequirementsInfoNV {
9194 VkStructureType sType;
9196 VkAccelerationStructureMemoryRequirementsTypeNV type;
9197 VkAccelerationStructureNV accelerationStructure;
9198 } VkAccelerationStructureMemoryRequirementsInfoNV;
9200 typedef struct VkPhysicalDeviceRayTracingPropertiesNV {
9201 VkStructureType sType;
9203 deUint32 shaderGroupHandleSize;
9204 deUint32 maxRecursionDepth;
9205 deUint32 maxShaderGroupStride;
9206 deUint32 shaderGroupBaseAlignment;
9207 deUint64 maxGeometryCount;
9208 deUint64 maxInstanceCount;
9209 deUint64 maxTriangleCount;
9210 deUint32 maxDescriptorSetAccelerationStructures;
9211 } VkPhysicalDeviceRayTracingPropertiesNV;
9213 typedef struct VkTransformMatrixKHR {
9215 } VkTransformMatrixKHR;
9217 typedef VkTransformMatrixKHR VkTransformMatrixNV;
9219 typedef struct VkAabbPositionsKHR {
9226 } VkAabbPositionsKHR;
9228 typedef VkAabbPositionsKHR VkAabbPositionsNV;
9230 typedef struct VkAccelerationStructureInstanceKHR {
9231 VkTransformMatrixKHR transform;
9232 deUint32 instanceCustomIndex:24;
9234 deUint32 instanceShaderBindingTableRecordOffset:24;
9235 VkGeometryInstanceFlagsKHR flags:8;
9236 deUint64 accelerationStructureReference;
9237 } VkAccelerationStructureInstanceKHR;
9239 typedef VkAccelerationStructureInstanceKHR VkAccelerationStructureInstanceNV;
9241 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureNV)(VkDevice device, const VkAccelerationStructureCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureNV* pAccelerationStructure);
9242 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureKHR)(VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator);
9243 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureNV)(VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator);
9244 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureMemoryRequirementsNV)(VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements);
9245 typedef VkResult (VKAPI_PTR *PFN_vkBindAccelerationStructureMemoryKHR)(VkDevice device, deUint32 bindInfoCount, const VkBindAccelerationStructureMemoryInfoKHR* pBindInfos);
9246 typedef VkResult (VKAPI_PTR *PFN_vkBindAccelerationStructureMemoryNV)(VkDevice device, deUint32 bindInfoCount, const VkBindAccelerationStructureMemoryInfoKHR* pBindInfos);
9247 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);
9248 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureNV)(VkCommandBuffer commandBuffer, VkAccelerationStructureKHR dst, VkAccelerationStructureKHR src, VkCopyAccelerationStructureModeKHR mode);
9249 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);
9250 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesNV)(VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkRayTracingPipelineCreateInfoNV* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
9251 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, deUint32 firstGroup, deUint32 groupCount, deUintptr dataSize, void* pData);
9252 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesNV)(VkDevice device, VkPipeline pipeline, deUint32 firstGroup, deUint32 groupCount, deUintptr dataSize, void* pData);
9253 typedef VkResult (VKAPI_PTR *PFN_vkGetAccelerationStructureHandleNV)(VkDevice device, VkAccelerationStructureKHR accelerationStructure, deUintptr dataSize, void* pData);
9254 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesKHR)(VkCommandBuffer commandBuffer, deUint32 accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, deUint32 firstQuery);
9255 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesNV)(VkCommandBuffer commandBuffer, deUint32 accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, deUint32 firstQuery);
9256 typedef VkResult (VKAPI_PTR *PFN_vkCompileDeferredNV)(VkDevice device, VkPipeline pipeline, deUint32 shader);
9258 #ifndef VK_NO_PROTOTYPES
9259 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureNV(
9261 const VkAccelerationStructureCreateInfoNV* pCreateInfo,
9262 const VkAllocationCallbacks* pAllocator,
9263 VkAccelerationStructureNV* pAccelerationStructure);
9265 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureKHR(
9267 VkAccelerationStructureKHR accelerationStructure,
9268 const VkAllocationCallbacks* pAllocator);
9270 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureNV(
9272 VkAccelerationStructureKHR accelerationStructure,
9273 const VkAllocationCallbacks* pAllocator);
9275 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureMemoryRequirementsNV(
9277 const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo,
9278 VkMemoryRequirements2KHR* pMemoryRequirements);
9280 VKAPI_ATTR VkResult VKAPI_CALL vkBindAccelerationStructureMemoryKHR(
9282 deUint32 bindInfoCount,
9283 const VkBindAccelerationStructureMemoryInfoKHR* pBindInfos);
9285 VKAPI_ATTR VkResult VKAPI_CALL vkBindAccelerationStructureMemoryNV(
9287 deUint32 bindInfoCount,
9288 const VkBindAccelerationStructureMemoryInfoKHR* pBindInfos);
9290 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructureNV(
9291 VkCommandBuffer commandBuffer,
9292 const VkAccelerationStructureInfoNV* pInfo,
9293 VkBuffer instanceData,
9294 VkDeviceSize instanceOffset,
9296 VkAccelerationStructureKHR dst,
9297 VkAccelerationStructureKHR src,
9299 VkDeviceSize scratchOffset);
9301 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureNV(
9302 VkCommandBuffer commandBuffer,
9303 VkAccelerationStructureKHR dst,
9304 VkAccelerationStructureKHR src,
9305 VkCopyAccelerationStructureModeKHR mode);
9307 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysNV(
9308 VkCommandBuffer commandBuffer,
9309 VkBuffer raygenShaderBindingTableBuffer,
9310 VkDeviceSize raygenShaderBindingOffset,
9311 VkBuffer missShaderBindingTableBuffer,
9312 VkDeviceSize missShaderBindingOffset,
9313 VkDeviceSize missShaderBindingStride,
9314 VkBuffer hitShaderBindingTableBuffer,
9315 VkDeviceSize hitShaderBindingOffset,
9316 VkDeviceSize hitShaderBindingStride,
9317 VkBuffer callableShaderBindingTableBuffer,
9318 VkDeviceSize callableShaderBindingOffset,
9319 VkDeviceSize callableShaderBindingStride,
9324 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesNV(
9326 VkPipelineCache pipelineCache,
9327 deUint32 createInfoCount,
9328 const VkRayTracingPipelineCreateInfoNV* pCreateInfos,
9329 const VkAllocationCallbacks* pAllocator,
9330 VkPipeline* pPipelines);
9332 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesKHR(
9334 VkPipeline pipeline,
9335 deUint32 firstGroup,
9336 deUint32 groupCount,
9340 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesNV(
9342 VkPipeline pipeline,
9343 deUint32 firstGroup,
9344 deUint32 groupCount,
9348 VKAPI_ATTR VkResult VKAPI_CALL vkGetAccelerationStructureHandleNV(
9350 VkAccelerationStructureKHR accelerationStructure,
9354 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesKHR(
9355 VkCommandBuffer commandBuffer,
9356 deUint32 accelerationStructureCount,
9357 const VkAccelerationStructureKHR* pAccelerationStructures,
9358 VkQueryType queryType,
9359 VkQueryPool queryPool,
9360 deUint32 firstQuery);
9362 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesNV(
9363 VkCommandBuffer commandBuffer,
9364 deUint32 accelerationStructureCount,
9365 const VkAccelerationStructureKHR* pAccelerationStructures,
9366 VkQueryType queryType,
9367 VkQueryPool queryPool,
9368 deUint32 firstQuery);
9370 VKAPI_ATTR VkResult VKAPI_CALL vkCompileDeferredNV(
9372 VkPipeline pipeline,
9377 #define VK_NV_representative_fragment_test 1
9378 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION 2
9379 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME "VK_NV_representative_fragment_test"
9380 typedef struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV {
9381 VkStructureType sType;
9383 VkBool32 representativeFragmentTest;
9384 } VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV;
9386 typedef struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV {
9387 VkStructureType sType;
9389 VkBool32 representativeFragmentTestEnable;
9390 } VkPipelineRepresentativeFragmentTestStateCreateInfoNV;
9394 #define VK_EXT_filter_cubic 1
9395 #define VK_EXT_FILTER_CUBIC_SPEC_VERSION 3
9396 #define VK_EXT_FILTER_CUBIC_EXTENSION_NAME "VK_EXT_filter_cubic"
9397 typedef struct VkPhysicalDeviceImageViewImageFormatInfoEXT {
9398 VkStructureType sType;
9400 VkImageViewType imageViewType;
9401 } VkPhysicalDeviceImageViewImageFormatInfoEXT;
9403 typedef struct VkFilterCubicImageViewImageFormatPropertiesEXT {
9404 VkStructureType sType;
9406 VkBool32 filterCubic;
9407 VkBool32 filterCubicMinmax;
9408 } VkFilterCubicImageViewImageFormatPropertiesEXT;
9412 #define VK_QCOM_render_pass_shader_resolve 1
9413 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_SPEC_VERSION 4
9414 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_EXTENSION_NAME "VK_QCOM_render_pass_shader_resolve"
9417 #define VK_EXT_global_priority 1
9418 #define VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION 2
9419 #define VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME "VK_EXT_global_priority"
9421 typedef enum VkQueueGlobalPriorityEXT {
9422 VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT = 128,
9423 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT = 256,
9424 VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT = 512,
9425 VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT = 1024,
9426 VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_EXT = 0x7FFFFFFF
9427 } VkQueueGlobalPriorityEXT;
9428 typedef struct VkDeviceQueueGlobalPriorityCreateInfoEXT {
9429 VkStructureType sType;
9431 VkQueueGlobalPriorityEXT globalPriority;
9432 } VkDeviceQueueGlobalPriorityCreateInfoEXT;
9436 #define VK_EXT_external_memory_host 1
9437 #define VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION 1
9438 #define VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME "VK_EXT_external_memory_host"
9439 typedef struct VkImportMemoryHostPointerInfoEXT {
9440 VkStructureType sType;
9442 VkExternalMemoryHandleTypeFlagBits handleType;
9444 } VkImportMemoryHostPointerInfoEXT;
9446 typedef struct VkMemoryHostPointerPropertiesEXT {
9447 VkStructureType sType;
9449 deUint32 memoryTypeBits;
9450 } VkMemoryHostPointerPropertiesEXT;
9452 typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
9453 VkStructureType sType;
9455 VkDeviceSize minImportedHostPointerAlignment;
9456 } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
9458 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryHostPointerPropertiesEXT)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
9460 #ifndef VK_NO_PROTOTYPES
9461 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryHostPointerPropertiesEXT(
9463 VkExternalMemoryHandleTypeFlagBits handleType,
9464 const void* pHostPointer,
9465 VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
9469 #define VK_AMD_buffer_marker 1
9470 #define VK_AMD_BUFFER_MARKER_SPEC_VERSION 1
9471 #define VK_AMD_BUFFER_MARKER_EXTENSION_NAME "VK_AMD_buffer_marker"
9472 typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarkerAMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, deUint32 marker);
9474 #ifndef VK_NO_PROTOTYPES
9475 VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarkerAMD(
9476 VkCommandBuffer commandBuffer,
9477 VkPipelineStageFlagBits pipelineStage,
9479 VkDeviceSize dstOffset,
9484 #define VK_AMD_pipeline_compiler_control 1
9485 #define VK_AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION 1
9486 #define VK_AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME "VK_AMD_pipeline_compiler_control"
9488 typedef enum VkPipelineCompilerControlFlagBitsAMD {
9489 VK_PIPELINE_COMPILER_CONTROL_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF
9490 } VkPipelineCompilerControlFlagBitsAMD;
9491 typedef VkFlags VkPipelineCompilerControlFlagsAMD;
9492 typedef struct VkPipelineCompilerControlCreateInfoAMD {
9493 VkStructureType sType;
9495 VkPipelineCompilerControlFlagsAMD compilerControlFlags;
9496 } VkPipelineCompilerControlCreateInfoAMD;
9500 #define VK_EXT_calibrated_timestamps 1
9501 #define VK_EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION 1
9502 #define VK_EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME "VK_EXT_calibrated_timestamps"
9504 typedef enum VkTimeDomainEXT {
9505 VK_TIME_DOMAIN_DEVICE_EXT = 0,
9506 VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT = 1,
9507 VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT = 2,
9508 VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT = 3,
9509 VK_TIME_DOMAIN_MAX_ENUM_EXT = 0x7FFFFFFF
9511 typedef struct VkCalibratedTimestampInfoEXT {
9512 VkStructureType sType;
9514 VkTimeDomainEXT timeDomain;
9515 } VkCalibratedTimestampInfoEXT;
9517 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT)(VkPhysicalDevice physicalDevice, deUint32* pTimeDomainCount, VkTimeDomainEXT* pTimeDomains);
9518 typedef VkResult (VKAPI_PTR *PFN_vkGetCalibratedTimestampsEXT)(VkDevice device, deUint32 timestampCount, const VkCalibratedTimestampInfoEXT* pTimestampInfos, deUint64* pTimestamps, deUint64* pMaxDeviation);
9520 #ifndef VK_NO_PROTOTYPES
9521 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(
9522 VkPhysicalDevice physicalDevice,
9523 deUint32* pTimeDomainCount,
9524 VkTimeDomainEXT* pTimeDomains);
9526 VKAPI_ATTR VkResult VKAPI_CALL vkGetCalibratedTimestampsEXT(
9528 deUint32 timestampCount,
9529 const VkCalibratedTimestampInfoEXT* pTimestampInfos,
9530 deUint64* pTimestamps,
9531 deUint64* pMaxDeviation);
9535 #define VK_AMD_shader_core_properties 1
9536 #define VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION 2
9537 #define VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_AMD_shader_core_properties"
9538 typedef struct VkPhysicalDeviceShaderCorePropertiesAMD {
9539 VkStructureType sType;
9541 deUint32 shaderEngineCount;
9542 deUint32 shaderArraysPerEngineCount;
9543 deUint32 computeUnitsPerShaderArray;
9544 deUint32 simdPerComputeUnit;
9545 deUint32 wavefrontsPerSimd;
9546 deUint32 wavefrontSize;
9547 deUint32 sgprsPerSimd;
9548 deUint32 minSgprAllocation;
9549 deUint32 maxSgprAllocation;
9550 deUint32 sgprAllocationGranularity;
9551 deUint32 vgprsPerSimd;
9552 deUint32 minVgprAllocation;
9553 deUint32 maxVgprAllocation;
9554 deUint32 vgprAllocationGranularity;
9555 } VkPhysicalDeviceShaderCorePropertiesAMD;
9559 #define VK_AMD_memory_overallocation_behavior 1
9560 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION 1
9561 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME "VK_AMD_memory_overallocation_behavior"
9563 typedef enum VkMemoryOverallocationBehaviorAMD {
9564 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD = 0,
9565 VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD = 1,
9566 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD = 2,
9567 VK_MEMORY_OVERALLOCATION_BEHAVIOR_MAX_ENUM_AMD = 0x7FFFFFFF
9568 } VkMemoryOverallocationBehaviorAMD;
9569 typedef struct VkDeviceMemoryOverallocationCreateInfoAMD {
9570 VkStructureType sType;
9572 VkMemoryOverallocationBehaviorAMD overallocationBehavior;
9573 } VkDeviceMemoryOverallocationCreateInfoAMD;
9577 #define VK_EXT_vertex_attribute_divisor 1
9578 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 3
9579 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_EXT_vertex_attribute_divisor"
9580 typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
9581 VkStructureType sType;
9583 deUint32 maxVertexAttribDivisor;
9584 } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
9586 typedef struct VkVertexInputBindingDivisorDescriptionEXT {
9589 } VkVertexInputBindingDivisorDescriptionEXT;
9591 typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT {
9592 VkStructureType sType;
9594 deUint32 vertexBindingDivisorCount;
9595 const VkVertexInputBindingDivisorDescriptionEXT* pVertexBindingDivisors;
9596 } VkPipelineVertexInputDivisorStateCreateInfoEXT;
9598 typedef struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT {
9599 VkStructureType sType;
9601 VkBool32 vertexAttributeInstanceRateDivisor;
9602 VkBool32 vertexAttributeInstanceRateZeroDivisor;
9603 } VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT;
9607 #define VK_EXT_pipeline_creation_feedback 1
9608 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION 1
9609 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME "VK_EXT_pipeline_creation_feedback"
9611 typedef enum VkPipelineCreationFeedbackFlagBitsEXT {
9612 VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = 0x00000001,
9613 VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = 0x00000002,
9614 VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = 0x00000004,
9615 VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
9616 } VkPipelineCreationFeedbackFlagBitsEXT;
9617 typedef VkFlags VkPipelineCreationFeedbackFlagsEXT;
9618 typedef struct VkPipelineCreationFeedbackEXT {
9619 VkPipelineCreationFeedbackFlagsEXT flags;
9621 } VkPipelineCreationFeedbackEXT;
9623 typedef struct VkPipelineCreationFeedbackCreateInfoEXT {
9624 VkStructureType sType;
9626 VkPipelineCreationFeedbackEXT* pPipelineCreationFeedback;
9627 deUint32 pipelineStageCreationFeedbackCount;
9628 VkPipelineCreationFeedbackEXT* pPipelineStageCreationFeedbacks;
9629 } VkPipelineCreationFeedbackCreateInfoEXT;
9633 #define VK_NV_shader_subgroup_partitioned 1
9634 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION 1
9635 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME "VK_NV_shader_subgroup_partitioned"
9638 #define VK_NV_compute_shader_derivatives 1
9639 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION 1
9640 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME "VK_NV_compute_shader_derivatives"
9641 typedef struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV {
9642 VkStructureType sType;
9644 VkBool32 computeDerivativeGroupQuads;
9645 VkBool32 computeDerivativeGroupLinear;
9646 } VkPhysicalDeviceComputeShaderDerivativesFeaturesNV;
9650 #define VK_NV_mesh_shader 1
9651 #define VK_NV_MESH_SHADER_SPEC_VERSION 1
9652 #define VK_NV_MESH_SHADER_EXTENSION_NAME "VK_NV_mesh_shader"
9653 typedef struct VkPhysicalDeviceMeshShaderFeaturesNV {
9654 VkStructureType sType;
9656 VkBool32 taskShader;
9657 VkBool32 meshShader;
9658 } VkPhysicalDeviceMeshShaderFeaturesNV;
9660 typedef struct VkPhysicalDeviceMeshShaderPropertiesNV {
9661 VkStructureType sType;
9663 deUint32 maxDrawMeshTasksCount;
9664 deUint32 maxTaskWorkGroupInvocations;
9665 deUint32 maxTaskWorkGroupSize[3];
9666 deUint32 maxTaskTotalMemorySize;
9667 deUint32 maxTaskOutputCount;
9668 deUint32 maxMeshWorkGroupInvocations;
9669 deUint32 maxMeshWorkGroupSize[3];
9670 deUint32 maxMeshTotalMemorySize;
9671 deUint32 maxMeshOutputVertices;
9672 deUint32 maxMeshOutputPrimitives;
9673 deUint32 maxMeshMultiviewViewCount;
9674 deUint32 meshOutputPerVertexGranularity;
9675 deUint32 meshOutputPerPrimitiveGranularity;
9676 } VkPhysicalDeviceMeshShaderPropertiesNV;
9678 typedef struct VkDrawMeshTasksIndirectCommandNV {
9681 } VkDrawMeshTasksIndirectCommandNV;
9683 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksNV)(VkCommandBuffer commandBuffer, deUint32 taskCount, deUint32 firstTask);
9684 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride);
9685 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectCountNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
9687 #ifndef VK_NO_PROTOTYPES
9688 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksNV(
9689 VkCommandBuffer commandBuffer,
9691 deUint32 firstTask);
9693 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectNV(
9694 VkCommandBuffer commandBuffer,
9696 VkDeviceSize offset,
9700 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectCountNV(
9701 VkCommandBuffer commandBuffer,
9703 VkDeviceSize offset,
9704 VkBuffer countBuffer,
9705 VkDeviceSize countBufferOffset,
9706 deUint32 maxDrawCount,
9711 #define VK_NV_fragment_shader_barycentric 1
9712 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1
9713 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_NV_fragment_shader_barycentric"
9714 typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV {
9715 VkStructureType sType;
9717 VkBool32 fragmentShaderBarycentric;
9718 } VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV;
9722 #define VK_NV_shader_image_footprint 1
9723 #define VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION 2
9724 #define VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME "VK_NV_shader_image_footprint"
9725 typedef struct VkPhysicalDeviceShaderImageFootprintFeaturesNV {
9726 VkStructureType sType;
9728 VkBool32 imageFootprint;
9729 } VkPhysicalDeviceShaderImageFootprintFeaturesNV;
9733 #define VK_NV_scissor_exclusive 1
9734 #define VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION 1
9735 #define VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME "VK_NV_scissor_exclusive"
9736 typedef struct VkPipelineViewportExclusiveScissorStateCreateInfoNV {
9737 VkStructureType sType;
9739 deUint32 exclusiveScissorCount;
9740 const VkRect2D* pExclusiveScissors;
9741 } VkPipelineViewportExclusiveScissorStateCreateInfoNV;
9743 typedef struct VkPhysicalDeviceExclusiveScissorFeaturesNV {
9744 VkStructureType sType;
9746 VkBool32 exclusiveScissor;
9747 } VkPhysicalDeviceExclusiveScissorFeaturesNV;
9749 typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorNV)(VkCommandBuffer commandBuffer, deUint32 firstExclusiveScissor, deUint32 exclusiveScissorCount, const VkRect2D* pExclusiveScissors);
9751 #ifndef VK_NO_PROTOTYPES
9752 VKAPI_ATTR void VKAPI_CALL vkCmdSetExclusiveScissorNV(
9753 VkCommandBuffer commandBuffer,
9754 deUint32 firstExclusiveScissor,
9755 deUint32 exclusiveScissorCount,
9756 const VkRect2D* pExclusiveScissors);
9760 #define VK_NV_device_diagnostic_checkpoints 1
9761 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION 2
9762 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME "VK_NV_device_diagnostic_checkpoints"
9763 typedef struct VkQueueFamilyCheckpointPropertiesNV {
9764 VkStructureType sType;
9766 VkPipelineStageFlags checkpointExecutionStageMask;
9767 } VkQueueFamilyCheckpointPropertiesNV;
9769 typedef struct VkCheckpointDataNV {
9770 VkStructureType sType;
9772 VkPipelineStageFlagBits stage;
9773 void* pCheckpointMarker;
9774 } VkCheckpointDataNV;
9776 typedef void (VKAPI_PTR *PFN_vkCmdSetCheckpointNV)(VkCommandBuffer commandBuffer, const void* pCheckpointMarker);
9777 typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointDataNV)(VkQueue queue, deUint32* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData);
9779 #ifndef VK_NO_PROTOTYPES
9780 VKAPI_ATTR void VKAPI_CALL vkCmdSetCheckpointNV(
9781 VkCommandBuffer commandBuffer,
9782 const void* pCheckpointMarker);
9784 VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointDataNV(
9786 deUint32* pCheckpointDataCount,
9787 VkCheckpointDataNV* pCheckpointData);
9791 #define VK_INTEL_shader_integer_functions2 1
9792 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION 1
9793 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME "VK_INTEL_shader_integer_functions2"
9794 typedef struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
9795 VkStructureType sType;
9797 VkBool32 shaderIntegerFunctions2;
9798 } VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL;
9802 #define VK_INTEL_performance_query 1
9803 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPerformanceConfigurationINTEL)
9804 #define VK_INTEL_PERFORMANCE_QUERY_SPEC_VERSION 2
9805 #define VK_INTEL_PERFORMANCE_QUERY_EXTENSION_NAME "VK_INTEL_performance_query"
9807 typedef enum VkPerformanceConfigurationTypeINTEL {
9808 VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL = 0,
9809 VK_PERFORMANCE_CONFIGURATION_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
9810 } VkPerformanceConfigurationTypeINTEL;
9812 typedef enum VkQueryPoolSamplingModeINTEL {
9813 VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL = 0,
9814 VK_QUERY_POOL_SAMPLING_MODE_MAX_ENUM_INTEL = 0x7FFFFFFF
9815 } VkQueryPoolSamplingModeINTEL;
9817 typedef enum VkPerformanceOverrideTypeINTEL {
9818 VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL = 0,
9819 VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL = 1,
9820 VK_PERFORMANCE_OVERRIDE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
9821 } VkPerformanceOverrideTypeINTEL;
9823 typedef enum VkPerformanceParameterTypeINTEL {
9824 VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL = 0,
9825 VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL = 1,
9826 VK_PERFORMANCE_PARAMETER_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
9827 } VkPerformanceParameterTypeINTEL;
9829 typedef enum VkPerformanceValueTypeINTEL {
9830 VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL = 0,
9831 VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL = 1,
9832 VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL = 2,
9833 VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL = 3,
9834 VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL = 4,
9835 VK_PERFORMANCE_VALUE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
9836 } VkPerformanceValueTypeINTEL;
9837 typedef union VkPerformanceValueDataINTEL {
9842 const char* valueString;
9843 } VkPerformanceValueDataINTEL;
9845 typedef struct VkPerformanceValueINTEL {
9846 VkPerformanceValueTypeINTEL type;
9847 VkPerformanceValueDataINTEL data;
9848 } VkPerformanceValueINTEL;
9850 typedef struct VkInitializePerformanceApiInfoINTEL {
9851 VkStructureType sType;
9854 } VkInitializePerformanceApiInfoINTEL;
9856 typedef struct VkQueryPoolPerformanceQueryCreateInfoINTEL {
9857 VkStructureType sType;
9859 VkQueryPoolSamplingModeINTEL performanceCountersSampling;
9860 } VkQueryPoolPerformanceQueryCreateInfoINTEL;
9862 typedef VkQueryPoolPerformanceQueryCreateInfoINTEL VkQueryPoolCreateInfoINTEL;
9864 typedef struct VkPerformanceMarkerInfoINTEL {
9865 VkStructureType sType;
9868 } VkPerformanceMarkerInfoINTEL;
9870 typedef struct VkPerformanceStreamMarkerInfoINTEL {
9871 VkStructureType sType;
9874 } VkPerformanceStreamMarkerInfoINTEL;
9876 typedef struct VkPerformanceOverrideInfoINTEL {
9877 VkStructureType sType;
9879 VkPerformanceOverrideTypeINTEL type;
9882 } VkPerformanceOverrideInfoINTEL;
9884 typedef struct VkPerformanceConfigurationAcquireInfoINTEL {
9885 VkStructureType sType;
9887 VkPerformanceConfigurationTypeINTEL type;
9888 } VkPerformanceConfigurationAcquireInfoINTEL;
9890 typedef VkResult (VKAPI_PTR *PFN_vkInitializePerformanceApiINTEL)(VkDevice device, const VkInitializePerformanceApiInfoINTEL* pInitializeInfo);
9891 typedef void (VKAPI_PTR *PFN_vkUninitializePerformanceApiINTEL)(VkDevice device);
9892 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL* pMarkerInfo);
9893 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceStreamMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo);
9894 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceOverrideINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL* pOverrideInfo);
9895 typedef VkResult (VKAPI_PTR *PFN_vkAcquirePerformanceConfigurationINTEL)(VkDevice device, const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, VkPerformanceConfigurationINTEL* pConfiguration);
9896 typedef VkResult (VKAPI_PTR *PFN_vkReleasePerformanceConfigurationINTEL)(VkDevice device, VkPerformanceConfigurationINTEL configuration);
9897 typedef VkResult (VKAPI_PTR *PFN_vkQueueSetPerformanceConfigurationINTEL)(VkQueue queue, VkPerformanceConfigurationINTEL configuration);
9898 typedef VkResult (VKAPI_PTR *PFN_vkGetPerformanceParameterINTEL)(VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL* pValue);
9900 #ifndef VK_NO_PROTOTYPES
9901 VKAPI_ATTR VkResult VKAPI_CALL vkInitializePerformanceApiINTEL(
9903 const VkInitializePerformanceApiInfoINTEL* pInitializeInfo);
9905 VKAPI_ATTR void VKAPI_CALL vkUninitializePerformanceApiINTEL(
9908 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceMarkerINTEL(
9909 VkCommandBuffer commandBuffer,
9910 const VkPerformanceMarkerInfoINTEL* pMarkerInfo);
9912 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceStreamMarkerINTEL(
9913 VkCommandBuffer commandBuffer,
9914 const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo);
9916 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceOverrideINTEL(
9917 VkCommandBuffer commandBuffer,
9918 const VkPerformanceOverrideInfoINTEL* pOverrideInfo);
9920 VKAPI_ATTR VkResult VKAPI_CALL vkAcquirePerformanceConfigurationINTEL(
9922 const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo,
9923 VkPerformanceConfigurationINTEL* pConfiguration);
9925 VKAPI_ATTR VkResult VKAPI_CALL vkReleasePerformanceConfigurationINTEL(
9927 VkPerformanceConfigurationINTEL configuration);
9929 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSetPerformanceConfigurationINTEL(
9931 VkPerformanceConfigurationINTEL configuration);
9933 VKAPI_ATTR VkResult VKAPI_CALL vkGetPerformanceParameterINTEL(
9935 VkPerformanceParameterTypeINTEL parameter,
9936 VkPerformanceValueINTEL* pValue);
9940 #define VK_EXT_pci_bus_info 1
9941 #define VK_EXT_PCI_BUS_INFO_SPEC_VERSION 2
9942 #define VK_EXT_PCI_BUS_INFO_EXTENSION_NAME "VK_EXT_pci_bus_info"
9943 typedef struct VkPhysicalDevicePCIBusInfoPropertiesEXT {
9944 VkStructureType sType;
9949 deUint32 pciFunction;
9950 } VkPhysicalDevicePCIBusInfoPropertiesEXT;
9954 #define VK_AMD_display_native_hdr 1
9955 #define VK_AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION 1
9956 #define VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME "VK_AMD_display_native_hdr"
9957 typedef struct VkDisplayNativeHdrSurfaceCapabilitiesAMD {
9958 VkStructureType sType;
9960 VkBool32 localDimmingSupport;
9961 } VkDisplayNativeHdrSurfaceCapabilitiesAMD;
9963 typedef struct VkSwapchainDisplayNativeHdrCreateInfoAMD {
9964 VkStructureType sType;
9966 VkBool32 localDimmingEnable;
9967 } VkSwapchainDisplayNativeHdrCreateInfoAMD;
9969 typedef void (VKAPI_PTR *PFN_vkSetLocalDimmingAMD)(VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable);
9971 #ifndef VK_NO_PROTOTYPES
9972 VKAPI_ATTR void VKAPI_CALL vkSetLocalDimmingAMD(
9974 VkSwapchainKHR swapChain,
9975 VkBool32 localDimmingEnable);
9979 #define VK_EXT_fragment_density_map 1
9980 #define VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION 1
9981 #define VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME "VK_EXT_fragment_density_map"
9982 typedef struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT {
9983 VkStructureType sType;
9985 VkBool32 fragmentDensityMap;
9986 VkBool32 fragmentDensityMapDynamic;
9987 VkBool32 fragmentDensityMapNonSubsampledImages;
9988 } VkPhysicalDeviceFragmentDensityMapFeaturesEXT;
9990 typedef struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT {
9991 VkStructureType sType;
9993 VkExtent2D minFragmentDensityTexelSize;
9994 VkExtent2D maxFragmentDensityTexelSize;
9995 VkBool32 fragmentDensityInvocations;
9996 } VkPhysicalDeviceFragmentDensityMapPropertiesEXT;
9998 typedef struct VkRenderPassFragmentDensityMapCreateInfoEXT {
9999 VkStructureType sType;
10001 VkAttachmentReference fragmentDensityMapAttachment;
10002 } VkRenderPassFragmentDensityMapCreateInfoEXT;
10006 #define VK_EXT_scalar_block_layout 1
10007 #define VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION 1
10008 #define VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME "VK_EXT_scalar_block_layout"
10009 typedef VkPhysicalDeviceScalarBlockLayoutFeatures VkPhysicalDeviceScalarBlockLayoutFeaturesEXT;
10013 #define VK_GOOGLE_hlsl_functionality1 1
10014 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION 1
10015 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME "VK_GOOGLE_hlsl_functionality1"
10018 #define VK_GOOGLE_decorate_string 1
10019 #define VK_GOOGLE_DECORATE_STRING_SPEC_VERSION 1
10020 #define VK_GOOGLE_DECORATE_STRING_EXTENSION_NAME "VK_GOOGLE_decorate_string"
10023 #define VK_EXT_subgroup_size_control 1
10024 #define VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION 2
10025 #define VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME "VK_EXT_subgroup_size_control"
10026 typedef struct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT {
10027 VkStructureType sType;
10029 VkBool32 subgroupSizeControl;
10030 VkBool32 computeFullSubgroups;
10031 } VkPhysicalDeviceSubgroupSizeControlFeaturesEXT;
10033 typedef struct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT {
10034 VkStructureType sType;
10036 deUint32 minSubgroupSize;
10037 deUint32 maxSubgroupSize;
10038 deUint32 maxComputeWorkgroupSubgroups;
10039 VkShaderStageFlags requiredSubgroupSizeStages;
10040 } VkPhysicalDeviceSubgroupSizeControlPropertiesEXT;
10042 typedef struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT {
10043 VkStructureType sType;
10045 deUint32 requiredSubgroupSize;
10046 } VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT;
10050 #define VK_AMD_shader_core_properties2 1
10051 #define VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION 1
10052 #define VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME "VK_AMD_shader_core_properties2"
10054 typedef enum VkShaderCorePropertiesFlagBitsAMD {
10055 VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF
10056 } VkShaderCorePropertiesFlagBitsAMD;
10057 typedef VkFlags VkShaderCorePropertiesFlagsAMD;
10058 typedef struct VkPhysicalDeviceShaderCoreProperties2AMD {
10059 VkStructureType sType;
10061 VkShaderCorePropertiesFlagsAMD shaderCoreFeatures;
10062 deUint32 activeComputeUnitCount;
10063 } VkPhysicalDeviceShaderCoreProperties2AMD;
10067 #define VK_AMD_device_coherent_memory 1
10068 #define VK_AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION 1
10069 #define VK_AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME "VK_AMD_device_coherent_memory"
10070 typedef struct VkPhysicalDeviceCoherentMemoryFeaturesAMD {
10071 VkStructureType sType;
10073 VkBool32 deviceCoherentMemory;
10074 } VkPhysicalDeviceCoherentMemoryFeaturesAMD;
10078 #define VK_EXT_memory_budget 1
10079 #define VK_EXT_MEMORY_BUDGET_SPEC_VERSION 1
10080 #define VK_EXT_MEMORY_BUDGET_EXTENSION_NAME "VK_EXT_memory_budget"
10081 typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT {
10082 VkStructureType sType;
10084 VkDeviceSize heapBudget[VK_MAX_MEMORY_HEAPS];
10085 VkDeviceSize heapUsage[VK_MAX_MEMORY_HEAPS];
10086 } VkPhysicalDeviceMemoryBudgetPropertiesEXT;
10090 #define VK_EXT_memory_priority 1
10091 #define VK_EXT_MEMORY_PRIORITY_SPEC_VERSION 1
10092 #define VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME "VK_EXT_memory_priority"
10093 typedef struct VkPhysicalDeviceMemoryPriorityFeaturesEXT {
10094 VkStructureType sType;
10096 VkBool32 memoryPriority;
10097 } VkPhysicalDeviceMemoryPriorityFeaturesEXT;
10099 typedef struct VkMemoryPriorityAllocateInfoEXT {
10100 VkStructureType sType;
10103 } VkMemoryPriorityAllocateInfoEXT;
10107 #define VK_NV_dedicated_allocation_image_aliasing 1
10108 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION 1
10109 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME "VK_NV_dedicated_allocation_image_aliasing"
10110 typedef struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
10111 VkStructureType sType;
10113 VkBool32 dedicatedAllocationImageAliasing;
10114 } VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV;
10118 #define VK_EXT_buffer_device_address 1
10119 #define VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 2
10120 #define VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_EXT_buffer_device_address"
10121 typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT {
10122 VkStructureType sType;
10124 VkBool32 bufferDeviceAddress;
10125 VkBool32 bufferDeviceAddressCaptureReplay;
10126 VkBool32 bufferDeviceAddressMultiDevice;
10127 } VkPhysicalDeviceBufferDeviceAddressFeaturesEXT;
10129 typedef VkPhysicalDeviceBufferDeviceAddressFeaturesEXT VkPhysicalDeviceBufferAddressFeaturesEXT;
10131 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoEXT;
10133 typedef struct VkBufferDeviceAddressCreateInfoEXT {
10134 VkStructureType sType;
10136 VkDeviceAddress deviceAddress;
10137 } VkBufferDeviceAddressCreateInfoEXT;
10139 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressEXT)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
10141 #ifndef VK_NO_PROTOTYPES
10142 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressEXT(
10144 const VkBufferDeviceAddressInfo* pInfo);
10148 #define VK_EXT_tooling_info 1
10149 #define VK_EXT_TOOLING_INFO_SPEC_VERSION 1
10150 #define VK_EXT_TOOLING_INFO_EXTENSION_NAME "VK_EXT_tooling_info"
10152 typedef enum VkToolPurposeFlagBitsEXT {
10153 VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = 0x00000001,
10154 VK_TOOL_PURPOSE_PROFILING_BIT_EXT = 0x00000002,
10155 VK_TOOL_PURPOSE_TRACING_BIT_EXT = 0x00000004,
10156 VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = 0x00000008,
10157 VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = 0x00000010,
10158 VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 0x00000020,
10159 VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 0x00000040,
10160 VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
10161 } VkToolPurposeFlagBitsEXT;
10162 typedef VkFlags VkToolPurposeFlagsEXT;
10163 typedef struct VkPhysicalDeviceToolPropertiesEXT {
10164 VkStructureType sType;
10166 char name[VK_MAX_EXTENSION_NAME_SIZE];
10167 char version[VK_MAX_EXTENSION_NAME_SIZE];
10168 VkToolPurposeFlagsEXT purposes;
10169 char description[VK_MAX_DESCRIPTION_SIZE];
10170 char layer[VK_MAX_EXTENSION_NAME_SIZE];
10171 } VkPhysicalDeviceToolPropertiesEXT;
10173 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceToolPropertiesEXT)(VkPhysicalDevice physicalDevice, deUint32* pToolCount, VkPhysicalDeviceToolPropertiesEXT* pToolProperties);
10175 #ifndef VK_NO_PROTOTYPES
10176 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceToolPropertiesEXT(
10177 VkPhysicalDevice physicalDevice,
10178 deUint32* pToolCount,
10179 VkPhysicalDeviceToolPropertiesEXT* pToolProperties);
10183 #define VK_EXT_separate_stencil_usage 1
10184 #define VK_EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION 1
10185 #define VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME "VK_EXT_separate_stencil_usage"
10186 typedef VkImageStencilUsageCreateInfo VkImageStencilUsageCreateInfoEXT;
10190 #define VK_EXT_validation_features 1
10191 #define VK_EXT_VALIDATION_FEATURES_SPEC_VERSION 3
10192 #define VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME "VK_EXT_validation_features"
10194 typedef enum VkValidationFeatureEnableEXT {
10195 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT = 0,
10196 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT = 1,
10197 VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT = 2,
10198 VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT = 3,
10199 VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT = 0x7FFFFFFF
10200 } VkValidationFeatureEnableEXT;
10202 typedef enum VkValidationFeatureDisableEXT {
10203 VK_VALIDATION_FEATURE_DISABLE_ALL_EXT = 0,
10204 VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT = 1,
10205 VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT = 2,
10206 VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT = 3,
10207 VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT = 4,
10208 VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT = 5,
10209 VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT = 6,
10210 VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT = 0x7FFFFFFF
10211 } VkValidationFeatureDisableEXT;
10212 typedef struct VkValidationFeaturesEXT {
10213 VkStructureType sType;
10215 deUint32 enabledValidationFeatureCount;
10216 const VkValidationFeatureEnableEXT* pEnabledValidationFeatures;
10217 deUint32 disabledValidationFeatureCount;
10218 const VkValidationFeatureDisableEXT* pDisabledValidationFeatures;
10219 } VkValidationFeaturesEXT;
10223 #define VK_NV_cooperative_matrix 1
10224 #define VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION 1
10225 #define VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_NV_cooperative_matrix"
10227 typedef enum VkComponentTypeNV {
10228 VK_COMPONENT_TYPE_FLOAT16_NV = 0,
10229 VK_COMPONENT_TYPE_FLOAT32_NV = 1,
10230 VK_COMPONENT_TYPE_FLOAT64_NV = 2,
10231 VK_COMPONENT_TYPE_SINT8_NV = 3,
10232 VK_COMPONENT_TYPE_SINT16_NV = 4,
10233 VK_COMPONENT_TYPE_SINT32_NV = 5,
10234 VK_COMPONENT_TYPE_SINT64_NV = 6,
10235 VK_COMPONENT_TYPE_UINT8_NV = 7,
10236 VK_COMPONENT_TYPE_UINT16_NV = 8,
10237 VK_COMPONENT_TYPE_UINT32_NV = 9,
10238 VK_COMPONENT_TYPE_UINT64_NV = 10,
10239 VK_COMPONENT_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
10240 } VkComponentTypeNV;
10242 typedef enum VkScopeNV {
10243 VK_SCOPE_DEVICE_NV = 1,
10244 VK_SCOPE_WORKGROUP_NV = 2,
10245 VK_SCOPE_SUBGROUP_NV = 3,
10246 VK_SCOPE_QUEUE_FAMILY_NV = 5,
10247 VK_SCOPE_MAX_ENUM_NV = 0x7FFFFFFF
10249 typedef struct VkCooperativeMatrixPropertiesNV {
10250 VkStructureType sType;
10255 VkComponentTypeNV AType;
10256 VkComponentTypeNV BType;
10257 VkComponentTypeNV CType;
10258 VkComponentTypeNV DType;
10260 } VkCooperativeMatrixPropertiesNV;
10262 typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesNV {
10263 VkStructureType sType;
10265 VkBool32 cooperativeMatrix;
10266 VkBool32 cooperativeMatrixRobustBufferAccess;
10267 } VkPhysicalDeviceCooperativeMatrixFeaturesNV;
10269 typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesNV {
10270 VkStructureType sType;
10272 VkShaderStageFlags cooperativeMatrixSupportedStages;
10273 } VkPhysicalDeviceCooperativeMatrixPropertiesNV;
10275 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkCooperativeMatrixPropertiesNV* pProperties);
10277 #ifndef VK_NO_PROTOTYPES
10278 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(
10279 VkPhysicalDevice physicalDevice,
10280 deUint32* pPropertyCount,
10281 VkCooperativeMatrixPropertiesNV* pProperties);
10285 #define VK_NV_coverage_reduction_mode 1
10286 #define VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION 1
10287 #define VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME "VK_NV_coverage_reduction_mode"
10289 typedef enum VkCoverageReductionModeNV {
10290 VK_COVERAGE_REDUCTION_MODE_MERGE_NV = 0,
10291 VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV = 1,
10292 VK_COVERAGE_REDUCTION_MODE_MAX_ENUM_NV = 0x7FFFFFFF
10293 } VkCoverageReductionModeNV;
10294 typedef VkFlags VkPipelineCoverageReductionStateCreateFlagsNV;
10295 typedef struct VkPhysicalDeviceCoverageReductionModeFeaturesNV {
10296 VkStructureType sType;
10298 VkBool32 coverageReductionMode;
10299 } VkPhysicalDeviceCoverageReductionModeFeaturesNV;
10301 typedef struct VkPipelineCoverageReductionStateCreateInfoNV {
10302 VkStructureType sType;
10304 VkPipelineCoverageReductionStateCreateFlagsNV flags;
10305 VkCoverageReductionModeNV coverageReductionMode;
10306 } VkPipelineCoverageReductionStateCreateInfoNV;
10308 typedef struct VkFramebufferMixedSamplesCombinationNV {
10309 VkStructureType sType;
10311 VkCoverageReductionModeNV coverageReductionMode;
10312 VkSampleCountFlagBits rasterizationSamples;
10313 VkSampleCountFlags depthStencilSamples;
10314 VkSampleCountFlags colorSamples;
10315 } VkFramebufferMixedSamplesCombinationNV;
10317 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV)(VkPhysicalDevice physicalDevice, deUint32* pCombinationCount, VkFramebufferMixedSamplesCombinationNV* pCombinations);
10319 #ifndef VK_NO_PROTOTYPES
10320 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
10321 VkPhysicalDevice physicalDevice,
10322 deUint32* pCombinationCount,
10323 VkFramebufferMixedSamplesCombinationNV* pCombinations);
10327 #define VK_EXT_fragment_shader_interlock 1
10328 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION 1
10329 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME "VK_EXT_fragment_shader_interlock"
10330 typedef struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT {
10331 VkStructureType sType;
10333 VkBool32 fragmentShaderSampleInterlock;
10334 VkBool32 fragmentShaderPixelInterlock;
10335 VkBool32 fragmentShaderShadingRateInterlock;
10336 } VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT;
10340 #define VK_EXT_ycbcr_image_arrays 1
10341 #define VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION 1
10342 #define VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME "VK_EXT_ycbcr_image_arrays"
10343 typedef struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT {
10344 VkStructureType sType;
10346 VkBool32 ycbcrImageArrays;
10347 } VkPhysicalDeviceYcbcrImageArraysFeaturesEXT;
10351 #define VK_EXT_headless_surface 1
10352 #define VK_EXT_HEADLESS_SURFACE_SPEC_VERSION 1
10353 #define VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME "VK_EXT_headless_surface"
10354 typedef VkFlags VkHeadlessSurfaceCreateFlagsEXT;
10355 typedef struct VkHeadlessSurfaceCreateInfoEXT {
10356 VkStructureType sType;
10358 VkHeadlessSurfaceCreateFlagsEXT flags;
10359 } VkHeadlessSurfaceCreateInfoEXT;
10361 typedef VkResult (VKAPI_PTR *PFN_vkCreateHeadlessSurfaceEXT)(VkInstance instance, const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
10363 #ifndef VK_NO_PROTOTYPES
10364 VKAPI_ATTR VkResult VKAPI_CALL vkCreateHeadlessSurfaceEXT(
10365 VkInstance instance,
10366 const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo,
10367 const VkAllocationCallbacks* pAllocator,
10368 VkSurfaceKHR* pSurface);
10372 #define VK_EXT_line_rasterization 1
10373 #define VK_EXT_LINE_RASTERIZATION_SPEC_VERSION 1
10374 #define VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME "VK_EXT_line_rasterization"
10376 typedef enum VkLineRasterizationModeEXT {
10377 VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT = 0,
10378 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT = 1,
10379 VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT = 2,
10380 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT = 3,
10381 VK_LINE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
10382 } VkLineRasterizationModeEXT;
10383 typedef struct VkPhysicalDeviceLineRasterizationFeaturesEXT {
10384 VkStructureType sType;
10386 VkBool32 rectangularLines;
10387 VkBool32 bresenhamLines;
10388 VkBool32 smoothLines;
10389 VkBool32 stippledRectangularLines;
10390 VkBool32 stippledBresenhamLines;
10391 VkBool32 stippledSmoothLines;
10392 } VkPhysicalDeviceLineRasterizationFeaturesEXT;
10394 typedef struct VkPhysicalDeviceLineRasterizationPropertiesEXT {
10395 VkStructureType sType;
10397 deUint32 lineSubPixelPrecisionBits;
10398 } VkPhysicalDeviceLineRasterizationPropertiesEXT;
10400 typedef struct VkPipelineRasterizationLineStateCreateInfoEXT {
10401 VkStructureType sType;
10403 VkLineRasterizationModeEXT lineRasterizationMode;
10404 VkBool32 stippledLineEnable;
10405 deUint32 lineStippleFactor;
10406 deUint16 lineStipplePattern;
10407 } VkPipelineRasterizationLineStateCreateInfoEXT;
10409 typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleEXT)(VkCommandBuffer commandBuffer, deUint32 lineStippleFactor, deUint16 lineStipplePattern);
10411 #ifndef VK_NO_PROTOTYPES
10412 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleEXT(
10413 VkCommandBuffer commandBuffer,
10414 deUint32 lineStippleFactor,
10415 deUint16 lineStipplePattern);
10419 #define VK_EXT_shader_atomic_float 1
10420 #define VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION 1
10421 #define VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME "VK_EXT_shader_atomic_float"
10422 typedef struct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT {
10423 VkStructureType sType;
10425 VkBool32 shaderBufferFloat32Atomics;
10426 VkBool32 shaderBufferFloat32AtomicAdd;
10427 VkBool32 shaderBufferFloat64Atomics;
10428 VkBool32 shaderBufferFloat64AtomicAdd;
10429 VkBool32 shaderSharedFloat32Atomics;
10430 VkBool32 shaderSharedFloat32AtomicAdd;
10431 VkBool32 shaderSharedFloat64Atomics;
10432 VkBool32 shaderSharedFloat64AtomicAdd;
10433 VkBool32 shaderImageFloat32Atomics;
10434 VkBool32 shaderImageFloat32AtomicAdd;
10435 VkBool32 sparseImageFloat32Atomics;
10436 VkBool32 sparseImageFloat32AtomicAdd;
10437 } VkPhysicalDeviceShaderAtomicFloatFeaturesEXT;
10441 #define VK_EXT_host_query_reset 1
10442 #define VK_EXT_HOST_QUERY_RESET_SPEC_VERSION 1
10443 #define VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME "VK_EXT_host_query_reset"
10444 typedef VkPhysicalDeviceHostQueryResetFeatures VkPhysicalDeviceHostQueryResetFeaturesEXT;
10446 typedef void (VKAPI_PTR *PFN_vkResetQueryPoolEXT)(VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount);
10448 #ifndef VK_NO_PROTOTYPES
10449 VKAPI_ATTR void VKAPI_CALL vkResetQueryPoolEXT(
10451 VkQueryPool queryPool,
10452 deUint32 firstQuery,
10453 deUint32 queryCount);
10457 #define VK_EXT_index_type_uint8 1
10458 #define VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION 1
10459 #define VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_EXT_index_type_uint8"
10460 typedef struct VkPhysicalDeviceIndexTypeUint8FeaturesEXT {
10461 VkStructureType sType;
10463 VkBool32 indexTypeUint8;
10464 } VkPhysicalDeviceIndexTypeUint8FeaturesEXT;
10468 #define VK_EXT_extended_dynamic_state 1
10469 #define VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION 1
10470 #define VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_extended_dynamic_state"
10471 typedef struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT {
10472 VkStructureType sType;
10474 VkBool32 extendedDynamicState;
10475 } VkPhysicalDeviceExtendedDynamicStateFeaturesEXT;
10477 typedef void (VKAPI_PTR *PFN_vkCmdSetCullModeEXT)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode);
10478 typedef void (VKAPI_PTR *PFN_vkCmdSetFrontFaceEXT)(VkCommandBuffer commandBuffer, VkFrontFace frontFace);
10479 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveTopologyEXT)(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology);
10480 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWithCountEXT)(VkCommandBuffer commandBuffer, deUint32 viewportCount, const VkViewport* pViewports);
10481 typedef void (VKAPI_PTR *PFN_vkCmdSetScissorWithCountEXT)(VkCommandBuffer commandBuffer, deUint32 scissorCount, const VkRect2D* pScissors);
10482 typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers2EXT)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides);
10483 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable);
10484 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthWriteEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable);
10485 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthCompareOpEXT)(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp);
10486 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBoundsTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable);
10487 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable);
10488 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilOpEXT)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp);
10490 #ifndef VK_NO_PROTOTYPES
10491 VKAPI_ATTR void VKAPI_CALL vkCmdSetCullModeEXT(
10492 VkCommandBuffer commandBuffer,
10493 VkCullModeFlags cullMode);
10495 VKAPI_ATTR void VKAPI_CALL vkCmdSetFrontFaceEXT(
10496 VkCommandBuffer commandBuffer,
10497 VkFrontFace frontFace);
10499 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveTopologyEXT(
10500 VkCommandBuffer commandBuffer,
10501 VkPrimitiveTopology primitiveTopology);
10503 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWithCountEXT(
10504 VkCommandBuffer commandBuffer,
10505 deUint32 viewportCount,
10506 const VkViewport* pViewports);
10508 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissorWithCountEXT(
10509 VkCommandBuffer commandBuffer,
10510 deUint32 scissorCount,
10511 const VkRect2D* pScissors);
10513 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers2EXT(
10514 VkCommandBuffer commandBuffer,
10515 deUint32 firstBinding,
10516 deUint32 bindingCount,
10517 const VkBuffer* pBuffers,
10518 const VkDeviceSize* pOffsets,
10519 const VkDeviceSize* pSizes,
10520 const VkDeviceSize* pStrides);
10522 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthTestEnableEXT(
10523 VkCommandBuffer commandBuffer,
10524 VkBool32 depthTestEnable);
10526 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthWriteEnableEXT(
10527 VkCommandBuffer commandBuffer,
10528 VkBool32 depthWriteEnable);
10530 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthCompareOpEXT(
10531 VkCommandBuffer commandBuffer,
10532 VkCompareOp depthCompareOp);
10534 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBoundsTestEnableEXT(
10535 VkCommandBuffer commandBuffer,
10536 VkBool32 depthBoundsTestEnable);
10538 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilTestEnableEXT(
10539 VkCommandBuffer commandBuffer,
10540 VkBool32 stencilTestEnable);
10542 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilOpEXT(
10543 VkCommandBuffer commandBuffer,
10544 VkStencilFaceFlags faceMask,
10545 VkStencilOp failOp,
10546 VkStencilOp passOp,
10547 VkStencilOp depthFailOp,
10548 VkCompareOp compareOp);
10552 #define VK_EXT_shader_demote_to_helper_invocation 1
10553 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION 1
10554 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME "VK_EXT_shader_demote_to_helper_invocation"
10555 typedef struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT {
10556 VkStructureType sType;
10558 VkBool32 shaderDemoteToHelperInvocation;
10559 } VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT;
10563 #define VK_NV_device_generated_commands 1
10564 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutNV)
10565 #define VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION 3
10566 #define VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_NV_device_generated_commands"
10568 typedef enum VkIndirectCommandsTokenTypeNV {
10569 VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV = 0,
10570 VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV = 1,
10571 VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV = 2,
10572 VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV = 3,
10573 VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV = 4,
10574 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV = 5,
10575 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV = 6,
10576 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV = 7,
10577 VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
10578 } VkIndirectCommandsTokenTypeNV;
10580 typedef enum VkIndirectStateFlagBitsNV {
10581 VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV = 0x00000001,
10582 VK_INDIRECT_STATE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
10583 } VkIndirectStateFlagBitsNV;
10584 typedef VkFlags VkIndirectStateFlagsNV;
10586 typedef enum VkIndirectCommandsLayoutUsageFlagBitsNV {
10587 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV = 0x00000001,
10588 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV = 0x00000002,
10589 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV = 0x00000004,
10590 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
10591 } VkIndirectCommandsLayoutUsageFlagBitsNV;
10592 typedef VkFlags VkIndirectCommandsLayoutUsageFlagsNV;
10593 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
10594 VkStructureType sType;
10596 deUint32 maxGraphicsShaderGroupCount;
10597 deUint32 maxIndirectSequenceCount;
10598 deUint32 maxIndirectCommandsTokenCount;
10599 deUint32 maxIndirectCommandsStreamCount;
10600 deUint32 maxIndirectCommandsTokenOffset;
10601 deUint32 maxIndirectCommandsStreamStride;
10602 deUint32 minSequencesCountBufferOffsetAlignment;
10603 deUint32 minSequencesIndexBufferOffsetAlignment;
10604 deUint32 minIndirectCommandsBufferOffsetAlignment;
10605 } VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV;
10607 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
10608 VkStructureType sType;
10610 VkBool32 deviceGeneratedCommands;
10611 } VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV;
10613 typedef struct VkGraphicsShaderGroupCreateInfoNV {
10614 VkStructureType sType;
10616 deUint32 stageCount;
10617 const VkPipelineShaderStageCreateInfo* pStages;
10618 const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
10619 const VkPipelineTessellationStateCreateInfo* pTessellationState;
10620 } VkGraphicsShaderGroupCreateInfoNV;
10622 typedef struct VkGraphicsPipelineShaderGroupsCreateInfoNV {
10623 VkStructureType sType;
10625 deUint32 groupCount;
10626 const VkGraphicsShaderGroupCreateInfoNV* pGroups;
10627 deUint32 pipelineCount;
10628 const VkPipeline* pPipelines;
10629 } VkGraphicsPipelineShaderGroupsCreateInfoNV;
10631 typedef struct VkBindShaderGroupIndirectCommandNV {
10632 deUint32 groupIndex;
10633 } VkBindShaderGroupIndirectCommandNV;
10635 typedef struct VkBindIndexBufferIndirectCommandNV {
10636 VkDeviceAddress bufferAddress;
10638 VkIndexType indexType;
10639 } VkBindIndexBufferIndirectCommandNV;
10641 typedef struct VkBindVertexBufferIndirectCommandNV {
10642 VkDeviceAddress bufferAddress;
10645 } VkBindVertexBufferIndirectCommandNV;
10647 typedef struct VkSetStateFlagsIndirectCommandNV {
10649 } VkSetStateFlagsIndirectCommandNV;
10651 typedef struct VkIndirectCommandsStreamNV {
10653 VkDeviceSize offset;
10654 } VkIndirectCommandsStreamNV;
10656 typedef struct VkIndirectCommandsLayoutTokenNV {
10657 VkStructureType sType;
10659 VkIndirectCommandsTokenTypeNV tokenType;
10662 deUint32 vertexBindingUnit;
10663 VkBool32 vertexDynamicStride;
10664 VkPipelineLayout pushconstantPipelineLayout;
10665 VkShaderStageFlags pushconstantShaderStageFlags;
10666 deUint32 pushconstantOffset;
10667 deUint32 pushconstantSize;
10668 VkIndirectStateFlagsNV indirectStateFlags;
10669 deUint32 indexTypeCount;
10670 const VkIndexType* pIndexTypes;
10671 const deUint32* pIndexTypeValues;
10672 } VkIndirectCommandsLayoutTokenNV;
10674 typedef struct VkIndirectCommandsLayoutCreateInfoNV {
10675 VkStructureType sType;
10677 VkIndirectCommandsLayoutUsageFlagsNV flags;
10678 VkPipelineBindPoint pipelineBindPoint;
10679 deUint32 tokenCount;
10680 const VkIndirectCommandsLayoutTokenNV* pTokens;
10681 deUint32 streamCount;
10682 const deUint32* pStreamStrides;
10683 } VkIndirectCommandsLayoutCreateInfoNV;
10685 typedef struct VkGeneratedCommandsInfoNV {
10686 VkStructureType sType;
10688 VkPipelineBindPoint pipelineBindPoint;
10689 VkPipeline pipeline;
10690 VkIndirectCommandsLayoutNV indirectCommandsLayout;
10691 deUint32 streamCount;
10692 const VkIndirectCommandsStreamNV* pStreams;
10693 deUint32 sequencesCount;
10694 VkBuffer preprocessBuffer;
10695 VkDeviceSize preprocessOffset;
10696 VkDeviceSize preprocessSize;
10697 VkBuffer sequencesCountBuffer;
10698 VkDeviceSize sequencesCountOffset;
10699 VkBuffer sequencesIndexBuffer;
10700 VkDeviceSize sequencesIndexOffset;
10701 } VkGeneratedCommandsInfoNV;
10703 typedef struct VkGeneratedCommandsMemoryRequirementsInfoNV {
10704 VkStructureType sType;
10706 VkPipelineBindPoint pipelineBindPoint;
10707 VkPipeline pipeline;
10708 VkIndirectCommandsLayoutNV indirectCommandsLayout;
10709 deUint32 maxSequencesCount;
10710 } VkGeneratedCommandsMemoryRequirementsInfoNV;
10712 typedef void (VKAPI_PTR *PFN_vkGetGeneratedCommandsMemoryRequirementsNV)(VkDevice device, const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2* pMemoryRequirements);
10713 typedef void (VKAPI_PTR *PFN_vkCmdPreprocessGeneratedCommandsNV)(VkCommandBuffer commandBuffer, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
10714 typedef void (VKAPI_PTR *PFN_vkCmdExecuteGeneratedCommandsNV)(VkCommandBuffer commandBuffer, VkBool32 isPreprocessed, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
10715 typedef void (VKAPI_PTR *PFN_vkCmdBindPipelineShaderGroupNV)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline, deUint32 groupIndex);
10716 typedef VkResult (VKAPI_PTR *PFN_vkCreateIndirectCommandsLayoutNV)(VkDevice device, const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNV* pIndirectCommandsLayout);
10717 typedef void (VKAPI_PTR *PFN_vkDestroyIndirectCommandsLayoutNV)(VkDevice device, VkIndirectCommandsLayoutNV indirectCommandsLayout, const VkAllocationCallbacks* pAllocator);
10719 #ifndef VK_NO_PROTOTYPES
10720 VKAPI_ATTR void VKAPI_CALL vkGetGeneratedCommandsMemoryRequirementsNV(
10722 const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo,
10723 VkMemoryRequirements2* pMemoryRequirements);
10725 VKAPI_ATTR void VKAPI_CALL vkCmdPreprocessGeneratedCommandsNV(
10726 VkCommandBuffer commandBuffer,
10727 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
10729 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteGeneratedCommandsNV(
10730 VkCommandBuffer commandBuffer,
10731 VkBool32 isPreprocessed,
10732 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
10734 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipelineShaderGroupNV(
10735 VkCommandBuffer commandBuffer,
10736 VkPipelineBindPoint pipelineBindPoint,
10737 VkPipeline pipeline,
10738 deUint32 groupIndex);
10740 VKAPI_ATTR VkResult VKAPI_CALL vkCreateIndirectCommandsLayoutNV(
10742 const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo,
10743 const VkAllocationCallbacks* pAllocator,
10744 VkIndirectCommandsLayoutNV* pIndirectCommandsLayout);
10746 VKAPI_ATTR void VKAPI_CALL vkDestroyIndirectCommandsLayoutNV(
10748 VkIndirectCommandsLayoutNV indirectCommandsLayout,
10749 const VkAllocationCallbacks* pAllocator);
10753 #define VK_EXT_texel_buffer_alignment 1
10754 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION 1
10755 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME "VK_EXT_texel_buffer_alignment"
10756 typedef struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT {
10757 VkStructureType sType;
10759 VkBool32 texelBufferAlignment;
10760 } VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT;
10762 typedef struct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT {
10763 VkStructureType sType;
10765 VkDeviceSize storageTexelBufferOffsetAlignmentBytes;
10766 VkBool32 storageTexelBufferOffsetSingleTexelAlignment;
10767 VkDeviceSize uniformTexelBufferOffsetAlignmentBytes;
10768 VkBool32 uniformTexelBufferOffsetSingleTexelAlignment;
10769 } VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT;
10773 #define VK_QCOM_render_pass_transform 1
10774 #define VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION 1
10775 #define VK_QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME "VK_QCOM_render_pass_transform"
10776 typedef struct VkRenderPassTransformBeginInfoQCOM {
10777 VkStructureType sType;
10779 VkSurfaceTransformFlagBitsKHR transform;
10780 } VkRenderPassTransformBeginInfoQCOM;
10782 typedef struct VkCommandBufferInheritanceRenderPassTransformInfoQCOM {
10783 VkStructureType sType;
10785 VkSurfaceTransformFlagBitsKHR transform;
10786 VkRect2D renderArea;
10787 } VkCommandBufferInheritanceRenderPassTransformInfoQCOM;
10791 #define VK_EXT_robustness2 1
10792 #define VK_EXT_ROBUSTNESS_2_SPEC_VERSION 1
10793 #define VK_EXT_ROBUSTNESS_2_EXTENSION_NAME "VK_EXT_robustness2"
10794 typedef struct VkPhysicalDeviceRobustness2FeaturesEXT {
10795 VkStructureType sType;
10797 VkBool32 robustBufferAccess2;
10798 VkBool32 robustImageAccess2;
10799 VkBool32 nullDescriptor;
10800 } VkPhysicalDeviceRobustness2FeaturesEXT;
10802 typedef struct VkPhysicalDeviceRobustness2PropertiesEXT {
10803 VkStructureType sType;
10805 VkDeviceSize robustStorageBufferAccessSizeAlignment;
10806 VkDeviceSize robustUniformBufferAccessSizeAlignment;
10807 } VkPhysicalDeviceRobustness2PropertiesEXT;
10811 #define VK_EXT_custom_border_color 1
10812 #define VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION 12
10813 #define VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME "VK_EXT_custom_border_color"
10814 typedef struct VkSamplerCustomBorderColorCreateInfoEXT {
10815 VkStructureType sType;
10817 VkClearColorValue customBorderColor;
10819 } VkSamplerCustomBorderColorCreateInfoEXT;
10821 typedef struct VkPhysicalDeviceCustomBorderColorPropertiesEXT {
10822 VkStructureType sType;
10824 deUint32 maxCustomBorderColorSamplers;
10825 } VkPhysicalDeviceCustomBorderColorPropertiesEXT;
10827 typedef struct VkPhysicalDeviceCustomBorderColorFeaturesEXT {
10828 VkStructureType sType;
10830 VkBool32 customBorderColors;
10831 VkBool32 customBorderColorWithoutFormat;
10832 } VkPhysicalDeviceCustomBorderColorFeaturesEXT;
10836 #define VK_GOOGLE_user_type 1
10837 #define VK_GOOGLE_USER_TYPE_SPEC_VERSION 1
10838 #define VK_GOOGLE_USER_TYPE_EXTENSION_NAME "VK_GOOGLE_user_type"
10841 #define VK_EXT_private_data 1
10842 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPrivateDataSlotEXT)
10843 #define VK_EXT_PRIVATE_DATA_SPEC_VERSION 1
10844 #define VK_EXT_PRIVATE_DATA_EXTENSION_NAME "VK_EXT_private_data"
10846 typedef enum VkPrivateDataSlotCreateFlagBitsEXT {
10847 VK_PRIVATE_DATA_SLOT_CREATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
10848 } VkPrivateDataSlotCreateFlagBitsEXT;
10849 typedef VkFlags VkPrivateDataSlotCreateFlagsEXT;
10850 typedef struct VkPhysicalDevicePrivateDataFeaturesEXT {
10851 VkStructureType sType;
10853 VkBool32 privateData;
10854 } VkPhysicalDevicePrivateDataFeaturesEXT;
10856 typedef struct VkDevicePrivateDataCreateInfoEXT {
10857 VkStructureType sType;
10859 deUint32 privateDataSlotRequestCount;
10860 } VkDevicePrivateDataCreateInfoEXT;
10862 typedef struct VkPrivateDataSlotCreateInfoEXT {
10863 VkStructureType sType;
10865 VkPrivateDataSlotCreateFlagsEXT flags;
10866 } VkPrivateDataSlotCreateInfoEXT;
10868 typedef VkResult (VKAPI_PTR *PFN_vkCreatePrivateDataSlotEXT)(VkDevice device, const VkPrivateDataSlotCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlotEXT* pPrivateDataSlot);
10869 typedef void (VKAPI_PTR *PFN_vkDestroyPrivateDataSlotEXT)(VkDevice device, VkPrivateDataSlotEXT privateDataSlot, const VkAllocationCallbacks* pAllocator);
10870 typedef VkResult (VKAPI_PTR *PFN_vkSetPrivateDataEXT)(VkDevice device, VkObjectType objectType, deUint64 objectHandle, VkPrivateDataSlotEXT privateDataSlot, deUint64 data);
10871 typedef void (VKAPI_PTR *PFN_vkGetPrivateDataEXT)(VkDevice device, VkObjectType objectType, deUint64 objectHandle, VkPrivateDataSlotEXT privateDataSlot, deUint64* pData);
10873 #ifndef VK_NO_PROTOTYPES
10874 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePrivateDataSlotEXT(
10876 const VkPrivateDataSlotCreateInfoEXT* pCreateInfo,
10877 const VkAllocationCallbacks* pAllocator,
10878 VkPrivateDataSlotEXT* pPrivateDataSlot);
10880 VKAPI_ATTR void VKAPI_CALL vkDestroyPrivateDataSlotEXT(
10882 VkPrivateDataSlotEXT privateDataSlot,
10883 const VkAllocationCallbacks* pAllocator);
10885 VKAPI_ATTR VkResult VKAPI_CALL vkSetPrivateDataEXT(
10887 VkObjectType objectType,
10888 deUint64 objectHandle,
10889 VkPrivateDataSlotEXT privateDataSlot,
10892 VKAPI_ATTR void VKAPI_CALL vkGetPrivateDataEXT(
10894 VkObjectType objectType,
10895 deUint64 objectHandle,
10896 VkPrivateDataSlotEXT privateDataSlot,
10901 #define VK_EXT_pipeline_creation_cache_control 1
10902 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION 3
10903 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME "VK_EXT_pipeline_creation_cache_control"
10904 typedef struct VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT {
10905 VkStructureType sType;
10907 VkBool32 pipelineCreationCacheControl;
10908 } VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT;
10912 #define VK_NV_device_diagnostics_config 1
10913 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION 1
10914 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME "VK_NV_device_diagnostics_config"
10916 typedef enum VkDeviceDiagnosticsConfigFlagBitsNV {
10917 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV = 0x00000001,
10918 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV = 0x00000002,
10919 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV = 0x00000004,
10920 VK_DEVICE_DIAGNOSTICS_CONFIG_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
10921 } VkDeviceDiagnosticsConfigFlagBitsNV;
10922 typedef VkFlags VkDeviceDiagnosticsConfigFlagsNV;
10923 typedef struct VkPhysicalDeviceDiagnosticsConfigFeaturesNV {
10924 VkStructureType sType;
10926 VkBool32 diagnosticsConfig;
10927 } VkPhysicalDeviceDiagnosticsConfigFeaturesNV;
10929 typedef struct VkDeviceDiagnosticsConfigCreateInfoNV {
10930 VkStructureType sType;
10932 VkDeviceDiagnosticsConfigFlagsNV flags;
10933 } VkDeviceDiagnosticsConfigCreateInfoNV;
10937 #define VK_QCOM_render_pass_store_ops 1
10938 #define VK_QCOM_render_pass_store_ops_SPEC_VERSION 2
10939 #define VK_QCOM_render_pass_store_ops_EXTENSION_NAME "VK_QCOM_render_pass_store_ops"
10942 #define VK_EXT_fragment_density_map2 1
10943 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION 1
10944 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME "VK_EXT_fragment_density_map2"
10945 typedef struct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT {
10946 VkStructureType sType;
10948 VkBool32 fragmentDensityMapDeferred;
10949 } VkPhysicalDeviceFragmentDensityMap2FeaturesEXT;
10951 typedef struct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT {
10952 VkStructureType sType;
10954 VkBool32 subsampledLoads;
10955 VkBool32 subsampledCoarseReconstructionEarlyAccess;
10956 deUint32 maxSubsampledArrayLayers;
10957 deUint32 maxDescriptorSetSubsampledSamplers;
10958 } VkPhysicalDeviceFragmentDensityMap2PropertiesEXT;
10962 #define VK_EXT_image_robustness 1
10963 #define VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION 1
10964 #define VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_image_robustness"
10965 typedef struct VkPhysicalDeviceImageRobustnessFeaturesEXT {
10966 VkStructureType sType;
10968 VkBool32 robustImageAccess;
10969 } VkPhysicalDeviceImageRobustnessFeaturesEXT;
10973 #define VK_EXT_4444_formats 1
10974 #define VK_EXT_4444_FORMATS_SPEC_VERSION 1
10975 #define VK_EXT_4444_FORMATS_EXTENSION_NAME "VK_EXT_4444_formats"
10976 typedef struct VkPhysicalDevice4444FormatsFeaturesEXT {
10977 VkStructureType sType;
10979 VkBool32 formatA4R4G4B4;
10980 VkBool32 formatA4B4G4R4;
10981 } VkPhysicalDevice4444FormatsFeaturesEXT;